JP6643000B2 - Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus - Google Patents
Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus Download PDFInfo
- Publication number
- JP6643000B2 JP6643000B2 JP2015156175A JP2015156175A JP6643000B2 JP 6643000 B2 JP6643000 B2 JP 6643000B2 JP 2015156175 A JP2015156175 A JP 2015156175A JP 2015156175 A JP2015156175 A JP 2015156175A JP 6643000 B2 JP6643000 B2 JP 6643000B2
- Authority
- JP
- Japan
- Prior art keywords
- environment
- information
- virtual environment
- robot
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
本発明は、生産装置の設置環境に設置された物体の3Dモデルを生成して3D仮想環境に配置する仮想環境作成方法、ロボット装置の制御方法、ロボットシステム、および情報処理装置に関する。 The present invention relates to a virtual environment creation method for generating a 3D model of an object installed in an installation environment of a production apparatus and arranging the 3D model in a 3D virtual environment, a control method of a robot apparatus , a robot system , and an information processing apparatus .
近年、工業生産の分野で、人間の手のように複雑で高速な物品の製造作業を実現できる多関節のロボット装置(以下ロボット装置という)を利用した生産(製造)装置が普及しつつある。この種のロボット装置で組立を行う場合、ロボットの動作プログラムを作成する必要がある。この際、コンピュータグラフィックを用いた3D仮想環境を用いて動作プログラムを作成することがある。 2. Description of the Related Art In recent years, in the field of industrial production, a production (manufacturing) apparatus using a multi-joint robot apparatus (hereinafter, referred to as a robot apparatus) capable of realizing a complex and high-speed article manufacturing operation like a human hand is becoming popular. When assembling with this type of robot device, it is necessary to create a robot operation program. At this time, an operation program may be created using a 3D virtual environment using computer graphics.
このようなロボットプログラミング(教示)のための3D仮想環境は、CAD(Computer aided design)ツールで作成したロボット装置や被作業物(ワーク)などの仮想的な3Dモデルを配置して構築される。このような3D仮想環境をディスプレイに表示し、例えばGUI(Graphical user interface)上で動作を確認しながら動作プログラム作成を行うことができる。3D仮想環境をGUIで操作するよう構成されたロボットプログラミング環境は、直感的な操作が可能である利点がある。 Such a 3D virtual environment for robot programming (teaching) is constructed by arranging a virtual 3D model such as a robot device or a work (work) created by a CAD (Computer aided design) tool. Such a 3D virtual environment can be displayed on a display, and an operation program can be created while confirming the operation on, for example, a GUI (Graphical user interface). A robot programming environment configured to operate a 3D virtual environment with a GUI has an advantage that intuitive operation is possible.
上記のような3D仮想環境を構築する場合、通常、ロボット装置および被作業物(ワーク)に関しては、予め設計情報(サイズ、形状、ジオメトリ)が既知であることが多い。従って、仮想環境中に配置する空間情報として、設計情報に基きCAD処理などによって構築された3Dモデルを用意できることが多い。 When constructing the 3D virtual environment as described above, usually, design information (size, shape, geometry) of the robot device and the work (work) is often known in advance. Therefore, a 3D model constructed by CAD processing or the like based on design information can often be prepared as spatial information to be arranged in a virtual environment.
しかしながら、設計情報のみを用いてCAD上で作成した空間情報は、実環境上の物体とサイズや設置位置が微妙に異なる場合がある。実環境上の物体(ロボット装置や被作業物)には、公差や部品製作誤差が存在するためである。 However, spatial information created on CAD using only design information may be slightly different in size and installation position from objects in the real environment. This is because an object (a robot device or a work) in the real environment has a tolerance or a part manufacturing error.
このため、従来では、仮想環境上で作成したロボット装置の動作プログラムは、実環境で用いる前に実環境上での動作確認などを経て調整する作業が行われる。例えば、実環境に設置されたロボット装置、あるいはさらに被作業物を用いて1ステップずつ確認動作を行わせる。そして、例えば実環境と整合しない部分をティーチングペンダントのような操作端末を用いて修正する。しかしながら、近年ではロボット装置を用いた組立工程が複雑化しつつあり、このような実環境で行う調整作業の工数や所要時間が膨大になる傾向がある。 For this reason, conventionally, an operation program for a robot device created in a virtual environment is adjusted through an operation check in a real environment before being used in a real environment. For example, a confirmation operation is performed one step at a time using a robot device installed in a real environment or an object to be worked. Then, for example, a portion that does not match the real environment is corrected using an operation terminal such as a teaching pendant. However, in recent years, assembling processes using a robot apparatus have become more complicated, and the number of man-hours and time required for adjustment work performed in such a real environment tend to be enormous.
上記のような事情に鑑み、カメラなどの撮像装置を用いて実環境を撮影し、仮想環境上に反映させる技術が提案されている。例えば、ロボット装置の先端に撮像装置を設け、ワークを撮像することで実環境上の空間情報を取得し、取得した被作業物の空間情報を仮想環境上にする技術が提案されている(例えば下記の特許文献1)。また、CTスキャナのような撮像装置により得られた空間情報と、設計情報から得た空間情報を比較し、寸法補正などを行う技術も提案されている(例えば下記の特許文献2)。
In view of the circumstances described above, a technique has been proposed in which an image of a real environment is captured using an imaging device such as a camera, and the captured image is reflected on a virtual environment. For example, a technology has been proposed in which an imaging device is provided at the tip of a robot device to acquire spatial information in a real environment by imaging a workpiece, and to convert the acquired spatial information of a work object to a virtual environment (for example,
しかしながら、上記特許文献1では、撮像対象は被作業物に限定されており、被作業物以外を撮像して空間情報を取得するようなことは行っていない。また、CAD等で予め設計情報から作成した空間情報が存在する場合や、そのような空間情報の取り扱いには言及されていない。また、上記特許文献2では、予め作成した空間情報と撮像により得られた空間情報との比較を行うものの、両空間情報に存在する物体に差異がある場合や、物体が両空間情報の一方のみに存在している場合などの取り扱いには言及されていない。
However, in
実際には、撮像装置などを用いて環境認識によって得られた空間情報と、予め作成した空間情報に差分があることは稀ではない。例えば、ケーブルのような柔軟物は実環境でどのように配置されるか、設計情報ないしはそれに基づきCAD処理された3Dモデル上では予め決定することが困難である。 Actually, it is not rare that there is a difference between spatial information obtained by environment recognition using an imaging device and the like and spatial information created in advance. For example, it is difficult to determine in advance how a flexible object such as a cable is arranged in a real environment on a design information or a 3D model CAD-processed based on the design information.
例えば、ケーブルのような柔軟物がロボット装置の設置環境に配置されることは決して珍しくない。例えば、ロボット装置と制御装置を接続したり、被作業物(ワーク)どうしがケーブルで接続されていることがある。このような場合、ロボットアームやその先端のエンドエフェクタがケーブルと緩衝しないようにロボット装置の動作プログラムを作成する必要がある。しかしながら、従来では、ケーブルのような柔軟物の場合は、実際の占有領域と比べ大きめの空間を配置領域として仮想環境上に登録し、ロボットの侵入禁止領域とするような取り扱いが行われていた。このため、ロボット装置を必ずしも効率的に動作させることができない場合があり、実工程のタクトタイムが増大する問題があった。 For example, it is not uncommon for a flexible object such as a cable to be placed in an installation environment of a robot device. For example, a robot device and a control device may be connected, or workpieces (workpieces) may be connected by a cable. In such a case, it is necessary to create an operation program of the robot device so that the robot arm and the end effector at the tip thereof do not buffer the cable. However, conventionally, in the case of a flexible object such as a cable, a space larger than the actual occupied area is registered on the virtual environment as a placement area, and the handling is performed as a robot intrusion prohibited area. . For this reason, the robot device may not always be able to operate efficiently, and there is a problem that the tact time of the actual process increases.
また、ロボット装置の設置現場では、ケーブルのような物体は必要に応じて増設されたり、取り回しが変更されたりする可能性がある。このため、ロボット装置の設置環境を3D撮像装置などにより撮像した時、ケーブルのような物体は、予め設計情報から作成した仮想環境中には対応する空間情報が存在しない状態となっていることもある。このような場合、撮像された物体の空間情報を新たに仮想環境に反映させるか否かを自動で判断することが難しいという問題があった。 Further, at the installation site of the robot device, there is a possibility that an object such as a cable may be added as necessary or the handling may be changed. For this reason, when the installation environment of the robot apparatus is imaged by a 3D imaging device or the like, an object such as a cable may be in a state where the corresponding spatial information does not exist in the virtual environment created from the design information in advance. is there. In such a case, there is a problem that it is difficult to automatically determine whether or not to reflect the spatial information of the imaged object in the virtual environment.
本発明の課題は、3Dデータ取得装置によって得られた空間情報(3Dデータ)から、実環境に近い状態を適切に3D仮想環境上に再現できるようにすることにある。 An object of the present invention is to enable a state close to a real environment to be appropriately reproduced on a 3D virtual environment from spatial information (3D data) obtained by a 3D data acquisition device.
上記課題を解決するため、本発明においては、生産装置の設置環境から3Dデータ取得装置によって取得した3Dデータを用いて制御装置が前記設置環境に設置された物体の3Dモデルを生成して前記生産装置の設置環境に対応する3D仮想環境に配置する仮想環境作成方法において、
前記制御装置が、前記3Dデータ取得装置によって取得した3Dデータと、前記設置環境に配置される物体の形状情報を含む第1の辞書データと、を照合する第1の照合工程と、前記制御装置が、前記3Dデータ取得装置によって取得した3Dデータと、前記設置環境に配置される物体へ接続される柔軟物に関する情報を含む第2の辞書データと、を照合する第2の照合工程と、前記制御装置が、前記第1または第2の照合工程に基づき、前記設置環境に配置されている物体の3Dモデルを生成して前記3D仮想環境に配置する出力処理工程と、を含み、前記第2の辞書データは、前記設置環境に配置される物体に対して前記柔軟物が接続される位置または方向の少なくとも一つを有する接続特性情報を含み、前記制御装置は、前記第2の照合工程において、前記3Dデータ取得装置によって取得した3Dデータと、前記接続特性情報と、を照合する構成を特徴とする。
In order to solve the above problems, in the present invention, the control device generates a 3D model of an object installed in the installation environment by using 3D data acquired by the 3D data acquisition device from the installation environment of the production device, In a virtual environment creation method for arranging in a 3D virtual environment corresponding to an installation environment of a device,
A first matching step in which the control device matches 3D data acquired by the 3D data acquisition device with first dictionary data including shape information of an object placed in the installation environment; A second collation step of collating 3D data acquired by the 3D data acquisition device with second dictionary data including information on a flexible object connected to an object placed in the installation environment; controller, based on the first or second verification process, look including an output processing step, which generates a 3D model of the object being disposed in the installation environment to place the 3D virtual environment, said first The second dictionary data includes connection characteristic information including at least one of a position and a direction in which the flexible object is connected to the object arranged in the installation environment, and the control device includes the second illumination device. In step, characterized the 3D data acquired by the 3D data acquisition device, a configuration for matching, and the connection characteristic information.
本発明によれば、生産装置の設置環境から3Dデータ取得装置によって得られた空間情報(3Dデータ)と、設置環境に配置される物体の形状情報から予め生成された第1の辞書データと、を照合する。また、設置環境に配置される可能性のある物体の特徴情報から予め生成された第2の辞書データと、を照合する。そして、3Dデータ中で第1または第2の辞書データに該当する物体の3Dモデルを生成して3D仮想環境に配置する。例えば、生産装置(ロボット装置など)それ自体や、被作業物(ワーク)などのように設置環境に配置される物体は第1の辞書データと照合することにより同定される。また、例えばケーブルのように変形する可能性があり設置環境に配置される可能性のある物体は、第2の辞書データと照合することにより同定される。従って、例えばケーブルのように変形する可能性があって、第1の辞書データに形状データを用意できない物体についても第2の辞書データとの照合によって同定できる。このため、実環境から3Dデータ取得装置によって得られた空間情報(3Dデータ)を用いて、その実環境に存在する各物体の3Dデータを適切に3D仮想環境上に再現することができる。 According to the present invention, spatial information (3D data) obtained by a 3D data acquisition device from an installation environment of a production device, first dictionary data generated in advance from shape information of an object placed in the installation environment, Collate. In addition, collation is performed with second dictionary data generated in advance from feature information of an object that may be placed in the installation environment. Then, a 3D model of the object corresponding to the first or second dictionary data in the 3D data is generated and arranged in the 3D virtual environment. For example, an object placed in the installation environment, such as a production device (robot device or the like) itself or a work (work), is identified by collating with the first dictionary data. Also, for example, an object such as a cable that may be deformed and may be placed in the installation environment is identified by collating with the second dictionary data. Therefore, an object that may be deformed, such as a cable, for which shape data cannot be prepared in the first dictionary data can be identified by collation with the second dictionary data. For this reason, using the spatial information (3D data) obtained by the 3D data acquisition device from the real environment, the 3D data of each object existing in the real environment can be appropriately reproduced on the 3D virtual environment.
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、以下の説明で取り上げる数値は、参考数値であって、本発明を限定するものではない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to embodiments shown in the accompanying drawings. It should be noted that the following embodiments are merely examples, and for example, those skilled in the art can appropriately change the detailed configuration without departing from the spirit of the present invention. Numerical values taken in the following description are reference numerical values, and do not limit the present invention.
図1は、本発明を適用可能なロボットシステム全体の概略的な機能構成を示している。図1において、環境認識装置500は、本実施例の仮想環境の作成方法を実施できるよう構成されている。環境認識装置500は、記録ディスク522から予め作成した空間情報520を入力する。この空間情報520は、後述の空間情報700(第1の辞書データ:図7)に相当する。環境認識装置500は、ロボット動作プログラム作成装置550で利用可能な仮想環境用空間情報530(3D仮想環境)を後述する手法によって作成し、記録ディスク532に出力する。
FIG. 1 shows a schematic functional configuration of the entire robot system to which the present invention can be applied. In FIG. 1, an
ロボット動作プログラム作成装置550は、環境認識装置500で作成された仮想環境用空間情報530(3D仮想環境)を入力として、ロボット動作プログラム570を作成し、記録ディスク580に出力する。ロボット装置100は記録ディスク580のロボット動作プログラム570を入力し、ロボットアームを動作させる。
The robot operation
図2は、本発明の実施例1に係るロボット装置の概略構成を示している。図2のロボット装置100は、例えば多関節構成のロボットアーム200と、このロボットアーム200を制御するロボット制御装置300と、を備えている。
FIG. 2 illustrates a schematic configuration of the robot apparatus according to the first embodiment of the present invention. The
また、ロボット装置100は、ロボット制御装置300に複数の教示点のデータを送信する教示装置としてのティーチングペンダント400を備えている。このティーチングペンダント400は、作業者によって操作され、ロボットアーム200やロボット制御装置300の動作を指定するのに用いられる。
In addition, the
ロボットアーム200は、本実施例1では、6関節(6軸)のロボットアームである。ロボットアーム200は、各関節J1〜J6を各関節軸A1〜A6廻りにそれぞれ回転駆動する複数(6つ)のアクチュエータ201〜206を有している。
In the first embodiment, the
ロボットアーム200は、可動範囲の中であれば任意の3次元位置で任意の3方向の姿勢に手先(ロボットアーム200の先端)を向けることができる。一般に、ロボットアーム200の位置と姿勢は、3次元(XYZ)座標系で表現することができる。
The
図2中の符号Toは、ロボットアーム200の台座を基準(原点)として配置された3次元座標系を、また、Teはロボットアーム200の手先の所定部位を基準(原点)として配置された3次元座標系を示している。
Reference symbol To in FIG. 2 denotes a three-dimensional coordinate system arranged with the base of the
本実施例1では、アクチュエータ201〜206は、電動モータ211〜216と電動モータ211〜216に接続された減速機221〜226とから構成される。なお、これらアクチュエータ201〜206の構成は、上記の構成に限定されるものではなく、例えば人工筋肉等であってもよい。
In the first embodiment, the actuators 201 to 206 include the
本実施例1では、各関節J1〜J6が回転関節である場合について説明する。この場合、「関節の位置」とは、当該関節に定められた基準角度からの関節軸の回転角度を意味する。なお、各関節が直動関節の場合であってよい。その場合、「関節の位置」とは、直動関節の当該関節に定められた基準位置からの位置情報である。 In the first embodiment, a case where each of the joints J1 to J6 is a rotating joint will be described. In this case, the “position of the joint” means a rotation angle of the joint axis from a reference angle defined for the joint. Note that each joint may be a linear joint. In this case, the “joint position” is position information of a linear joint from a reference position defined for the joint.
ロボットアーム200は、更に、アクチュエータ201〜206の電動モータ211〜216を駆動制御する駆動制御部としてのサーボ制御装置230を有している。
The
サーボ制御装置230は、入力した位置指令(目標位置)に基づき、各関節J1〜J6の位置が位置指令に追従するよう、各電動モータ211〜216に電流を出力し、各電動モータ211〜216の動作を制御する。
The
ロボット制御装置300は、ティーチングペンダント400から複数の教示点(教示点列)の入力を受ける。
The
ロボット制御装置300は、ロボットアーム200の各関節J1〜J6が、複数の教示点を順次辿って動作するよう、教示点に基づき、サーボ制御装置230に所定時間間隔で出力する位置指令を生成し、所定時間間隔で位置指令を出力する。
The
教示点は、各関節(6つの関節)J1〜J6の教示位置をベクトル成分として含むベクトル(教示点ベクトル)である。また、ロボット制御装置300において最終的に求められる位置指令は、各関節(6つの関節)J1〜J6の目標位置をベクトル成分として含むベクトルである。即ち、ロボット制御装置300は、入力した教示点から軌道の計算をして軌道に沿った多数の位置指令を生成し、これら位置指令を所定時間間隔でサーボ制御装置230に出力する。
The teaching point is a vector (teaching point vector) including the teaching positions of the joints (six joints) J1 to J6 as vector components. The position command finally obtained by the
ここで、教示によるロボットアーム200の位置姿勢を制御する制御方式として、主に次の2種類が考えられる。
Here, the following two types are mainly considered as control methods for controlling the position and orientation of the
(1)関節空間移動(Motion in configuration space)
ロボットの関節角度を変位とする座標系を関節空間という。この関節空間移動方式は、上記関節空間でロボットアーム200の教示点を指定し、指定した教示点で決定される軌道に沿ってロボットを動かす方式である。
(1) Motion in configuration space
A coordinate system that uses the joint angle of the robot as a displacement is called a joint space. This joint space moving method is a method in which a teaching point of the
(2)タスク空間移動(Motion in task space)
三次元的な位置と姿勢で表す座標系をタスク空間という。このタスク空間移動方式は、上記タスク空間で教示点を指定し、指定した教示点とロボットアーム200の手先で決定される軌道に沿ってロボットアーム200を動かす方式である。
(2) Motion in task space
A coordinate system represented by a three-dimensional position and orientation is called a task space. This task space moving method is a method in which a teaching point is designated in the task space, and the
図2では、4つの教示点p1,p2,p3,p4を模式的に図示している。いずれの場合でもロボットアーム200は、教示点で決まる軌道に沿って動くよう制御される。なお、教示点p1,p2,p3,p4とともに示される矢印は、ロボットアーム200の手先に配置された上述の3次元座標系Teに相当する。
FIG. 2 schematically illustrates four teaching points p1, p2, p3, and p4. In any case, the
図2の教示点p1,p2,p3,p4のデータ表現は、必ずしも3次元空間内の座標情報であるとは限らない。例えば上記の関節空間移動(1)の場合では、教示点は全関節J1〜J6の関節角度(各モータの回転角度)によって表現される。 The data representation of the teaching points p1, p2, p3, and p4 in FIG. 2 is not necessarily coordinate information in a three-dimensional space. For example, in the case of the above joint space movement (1), the teaching point is represented by the joint angles of all the joints J1 to J6 (the rotation angles of the respective motors).
一方、上記のタスク空間移動(2)の場合では、教示点は、ロボットアーム200の手先部位の3次元空間の位置、姿勢に相当し、これは図2のように、p1,p2,p3,p4を座標系として表現される。
On the other hand, in the case of the task space movement (2) described above, the teaching point corresponds to the position and posture of the hand part of the
本明細書の各実施例では、ロボットプログラミング(教示)において、上記の(1)、(2)のいずれの位置姿勢制御方式を用いても構わない。 In each embodiment of this specification, any of the above-described position and orientation control methods (1) and (2) may be used in robot programming (teaching).
図3は、ロボット制御装置300の構成を示している。本実施例1では、ロボット制御装置300は、図3に示すように、演算部としてのCPU301を備えたコンピュータ装置として構成されている。
FIG. 3 shows a configuration of the
図3において、ロボット制御装置300は、記憶部としてROM302、RAM303、HDD304を備えている。また、ロボット制御装置300は、記録ディスクドライブfおよび各種のインターフェース306〜309を備えている。
3, the
図3において、CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305および各種のインターフェース306〜309が、バス310を介して接続されている。ROM302には、BIOS等の基本プログラムが格納されている。
3, a
RAM303は、CPU301の演算処理結果を一時的に記憶する記憶部である。HDD304は、演算処理結果である各種のデータを記憶するための記憶部であると共に、プログラム330が格納されている。
The
このプログラム330は、CPU301に各種演算処理を実行させるためのプログラムである。CPU301は、HDD304に格納されたプログラム330に基づいて各種演算処理を実行する。
The
ティーチングペンダント400はインターフェース306に接続されており、CPU301はインターフェース306およびバス310を介してティーチングペンダント400からの教示点のデータや補間方法の指定の入力を受ける。
The
HDD304には、CPU301による演算結果を示すデータ(位置指令のデータ)等がCPU301の指令の下で記憶される。
In the
ロボットアーム200のサーボ制御装置230は、インターフェース309に接続されており、CPU301は、位置指令のデータを所定時間間隔でバス310およびインターフェース309を介してサーボ制御装置230に出力する。
The
インターフェース307には、モニタ321が接続されている(図2では不図示)。モニタ321は、ロボットアーム200の現在の状態などを表現する各種画像やテキストデータの表示に用いられる。
The
インターフェース308には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置322を接続できるよう構成されている。記録ディスクドライブ305は、記録ディスク580に対して、各種データやプログラム等の読み出し、あるいは書き込みを行うことができる。
The
図4は、本実施例1に係る環境認識装置500の概略図である。この環境認識装置500は、環境入力装置501と環境認識処理装置502からなり、予めロボットアーム200およびワークなどの設計情報に基づき作成された空間情報520を記録ディスク522から入力する。
FIG. 4 is a schematic diagram of the
環境入力装置501は、ロボットアーム200の設置環境の3次元の空間情報を取得するための3Dカメラのような3Dデータ取得装置から構成される。3Dカメラの撮影方式はステレオ撮影方式に限らず、任意の撮影方式で構成してよい。また、機構的に可能であれば、多数のプローブ(触針)を配置した形状測定装置などを用いることも考えられる。環境入力装置501は、環境認識処理装置502に対して、各種パラレル(あるいはシリアル)インターフェースなどを介して接続される。環境入力装置501によって、ロボットアーム200の設置環境から取得された3次元空間情報は環境認識処理装置502に入力される。
The
環境認識処理装置502は、設計情報に基づき作成された空間情報520と、環境入力装置501によりロボットアーム200の設置環境から取得された3次元空間情報は環境認識処理装置502を用いて仮想環境用空間情報530を作成する。仮想環境用空間情報530は、例えば記録ディスク532に対して出力することができる。
The environment
環境認識処理装置502は、環境入力装置501から得られた空間情報を処理するコンピュータでありモニタ、キーボード、記録ドライブを備えている。環境認識処理装置502は、図4にノートパソコン様の形状で図示してある通り、(ロボット制御装置300と同様に)例えば既成のPC(Personal Computer)のハードウェアを利用して成るコンピュータ装置である。
The environment
環境認識処理装置502の具体的な構成は、例えば図3の構成からロボットアーム関係のブロック、例えばティーチングペンダント400、サーボ制御装置230、電動モータ211〜216、インターフェース306、309などを除く部分とほぼ同等である。以下では、環境認識処理装置502の(同等の)構成部材として図3中のCPU301、ROM302、RAM303やHDD304などに言及することがある。
The specific configuration of the environment
図4において、環境認識処理装置502の機能として、環境認識部510が示されている。環境認識部510は、コンピュータ(図3のCPU301)のハードウェアおよびそのソフトウェアにより実装される。特に、後述するコンピュータ(CPU301)が実行する制御手順に相当する仮想環境作成プログラムは、例えば図3中のROM302やHDD304に格納される。これらのROM302やHDD304のような記憶手段は、当然ながらコンピュータ読み取り可能な記録媒体である。これらの例えばROM302やHDD304のようなコンピュータ読み取り可能な記録媒体(の一部)は、着脱可能なフラッシュメモリデバイスや磁気/光ディスクによって構成されていてもよい。また、環境認識処理装置502のソフトウェアは、ネットワークなどを経由してダウンロードされ、例えばHDD304のような記録媒体に導入したり、あるいは導入済みのソフトウェアを更新するような構成も考えられる。なお、ロボット動作プログラム作成装置550のソフトウェアや、ロボット制御装置300のソフトウェア(ロボット制御プログラム)の格納先や、導入、更新などのための構成についても、上記と同様である。
FIG. 4 shows an
環境認識部510は、環境認識情報入力部511、平面抽出部512、物体分離部513、照合部514、空間情報作成部515の各機能ブロックを含む。
The
予め作成した空間情報520は、ロボットアーム200やそれにより操作されるワークなどの設計情報からCAD等で作成した空間情報であり、例えば記録ディスク522を介して環境認識処理装置502に入力される。
The
環境認識処理装置502の環境認識部510は、後述する認識処理によって、環境入力装置501で得られた3次元空間情報、および予め設計情報から作成された空間情報520に基づき、仮想環境用空間情報530を作成する。作成された仮想環境用空間情報530は、記録ディスク532に格納される。
The
環境認識処理装置502の環境認識部510は、例えばロボット設置環境から環境入力装置501により得た3次元空間情報と、予め設計情報から作成されたロボットアーム200やワークに相当する3Dモデルである空間情報520を照合する。そして、環境入力装置501により得た3次元空間情報中の物体で、空間情報520に該当する空間情報を仮想環境用空間情報530に配置(登録)する。
The
予め設計情報から作成 されたロボットアーム200やワークに相当する空間情報520は、環境認識部510が用いる、環境認識のための第1の辞書データ、と考えてよい。
The
しかしながら、実際のロボット設置環境から環境入力装置501で得られた3次元空間情報中には、予め設計情報から作成された空間情報520(第1の辞書データ)と照合しても該当しない物体の空間情報が含まれていることがある。また、予め設計情報から作成された空間情報520(第1の辞書データ)の中には、実際のロボット設置環境に配置されるべき必須の物体が含まれることがある。そして、例えば配置忘れなどによって、実際のロボット設置環境に配置されるべき必須の該当の物体の空間情報が環境入力装置501で得られた3次元空間情報中に含まれていない可能性もある。
However, in the three-dimensional spatial information obtained by the
また、特に、ケーブルのような柔軟物は実環境でどのように配置されるか、設計情報ないしはそれに基づきCAD処理された3Dモデル上では予め決定することが困難である。 In particular, it is difficult to determine in advance how to place a flexible object such as a cable in a real environment on a design information or a 3D model CAD-processed based on the design information.
本実施例1では、ケーブルのような柔軟物を介して接続された物体(例えばワーク:被作業物)が配置されているようなケースに対処するため、後述の処理では、空間情報520(第1の辞書データ)とは異なる第2の辞書データを用いる。 In the first embodiment, in order to cope with a case where an object (for example, a work: an object to be worked) connected via a flexible object such as a cable is arranged, the space information 520 (the Second dictionary data different from the first dictionary data) is used.
図5は、本実施例1のロボット動作プログラム作成装置550の概略構成を示している。
FIG. 5 shows a schematic configuration of the robot operation
ロボット動作プログラム作成装置550は、記録ディスク532に格納された仮想環境用空間情報530を入力するコンピュータであり、モニタ、キーボード、記録ドライブを備えている。このロボット動作プログラム作成装置550も、環境認識処理装置502と同様、例えば既成のPC(Personal Computer)のハードウェアを利用して成るコンピュータ装置である。
The robot operation
ロボット動作プログラム作成装置550の具体的な構成は、例えば図3の構成とほぼ同等である。ただし、ロボット動作プログラム作成装置550の場合、ロボットアーム関係のブロック、例えばティーチングペンダント400、サーボ制御装置230、電動モータ211〜216、インターフェース306、309などは不要である。以下では、ロボット動作プログラム作成装置550の構成部材についても、図3中のCPU301、ROM302、RAM303やHDD304などに言及することがある。
The specific configuration of the robot operation
なお、ロボット動作プログラム作成装置550と、環境認識処理装置502は、同一のPCハードウェア上にそれぞれのためのソフトウェアをインストールすることによって実装することも可能である。その場合、仮想環境用空間情報530は、同一のPCハードウェア上で授受すればよく、記録ディスク532は用いず、コンピュータ上のメモリやHDDなどを介して仮想環境用空間情報530を授受すればよい。
Note that the robot operation
ロボット動作プログラム作成装置550の機能ブロックは、図5の右側に示す通り、ロボット動作プログラム作成用シミュレータ部560から成る。ロボット動作プログラム作成用シミュレータ部560は、仮想環境表示部561およびロボット動作作成部562からなる。これらの機能ブロック(560:561、562)は、コンピュータ(図3のCPU301)のハードウェアおよびそのソフトウェア(予め作成され、図3のROM302やHDD304に格納される)により実装される。
The functional blocks of the robot operation
ロボット動作プログラム作成用シミュレータ部560は、具体的には、PCのモニタ上に構築されたGUI上で動作する。このGUIには、環境認識処理装置502から受信した仮想環境用空間情報530を用いて、ロボットアーム200およびその設置環境内の物体を表現した仮想環境を表示する(仮想環境表示部561)。また、ロボット動作作成部562は、ポインティングデバイスやキーボードといったユーザーインターフェース手段を介して仮想環境(仮想環境表示部561)内に表示された物体の仮想表現を操作できるよう構成される。ユーザーインターフェースのポインティングデバイスには、例えば、マウスやトラックパッド、トラックボールなどを利用できる他、モニタ上に配置されたタッチパネルなどから構成することもできる。このようなユーザ操作を介して、例えばロボットアーム200に所望の位置姿勢を取るよう動作させるための動作プログラムを作成することができる(ロボット動作作成部562)。
Specifically, the robot operation
ロボット動作プログラム作成装置550上でユーザが作成したロボット動作プログラム570をロボット制御装置300に送り、このロボット動作プログラム570に応じてロボットアーム200を動作させることができる。ロボット動作プログラム570は、例えば記録ディスク580に格納し、ロボット制御装置300の記録ディスクドライブ305を介してロボット制御装置300に送ることができる。なお、ロボット動作プログラム作成装置550から、ロボット制御装置300へロボット動作プログラム570を転送するには、記録ディスクドライブ305を用いる他、ネットワーク通信を利用しても構わない。
The
以下、ロボットアーム200、およびその設置環境をより具体的に示しながら本実施例1について説明する。
Hereinafter, the first embodiment will be described while more specifically showing the
図6は、実際の設置環境600に配置されたロボットアーム200、被作業物610、治工具611〜612を示している。被作業物610は、例えばロボットアーム200が組立に用いるフィクスチャ、治工具611〜612は、ロボットアーム200が組立に用いる用具である。また、図6において、接続物620〜621は、ケーブルであり、被作業物610〜612やロボットアーム200と接続されている。設置面650は、被作業物610〜612やロボットアーム200などの組立に必要な物体を設置する平面である。
FIG. 6 shows the
一方、図7は、予め作成された空間情報700(第1の辞書データ)を模式的に表している。この空間情報700(第1の辞書データ)は、ロボット設置環境に配置される物体の設計情報に基づき、CADツールなどによって、3Dデータの形で形状データを予め作成される。また、図7の空間情報700(第1の辞書データ)は、図1、図4の空間情報520に相当し、記録ディスク522などを介して環境認識装置500に入力される。
On the other hand, FIG. 7 schematically shows space information 700 (first dictionary data) created in advance. This spatial information 700 (first dictionary data) is created in advance in the form of 3D data by a CAD tool or the like, based on design information of an object placed in the robot installation environment. The space information 700 (first dictionary data) in FIG. 7 corresponds to the
図7において、ロボットアーム701は、実環境上のロボットアーム200に対応した空間情報(3Dモデル)、また、被作業物710〜712は実環境上の被作業物610〜612に対応する空間情報(3Dモデル)である。また、平面750は実環境上の設置面650に対応した空間情報(3Dモデル)である。これらの空間情報(3Dモデル)については、各部の形状や寸法などに関する数値化された設計情報が存在し、CADツールなどを用いて予め自動的に生成することができる。
In FIG. 7, a
図6の実環境と異なり、図7の空間情報700では、ケーブルなどの接続物620〜621はどのように配置するか事前に決めることが困難であるため、図7には対応する空間情報が存在しない。
Unlike the real environment in FIG. 6, it is difficult to determine in advance how to arrange the
さらに、図8は環境認識装置500で環境認識した空間情報800を模式的に示している。図8は、環境入力装置501により図6の設置環境600(実環境)から取得した3Dデータと、図7の空間情報700および後述の接続リスト900(第2の辞書データ)と、を用いて環境認識処理装置502が空間環境認識した結果を示している。
FIG. 8 schematically shows
図8において、被作業物810〜812は図6の実環境の被作業物610〜612の環境認識結果である。ロボットアーム801は、図6の実環境のロボットアーム200の環境認識結果である。また、接続物820〜821は、図6の実環境の接続物620〜621の環境認識結果、平面850は、実環境の設置面650の環境認識結果に相当する。
8, work objects 810 to 812 are the environment recognition results of the work objects 610 to 612 in the real environment in FIG. The
以下、図9〜図14を参照して、図8に示すように生成された仮想環境(空間情報800)を取得するための情報処理につき詳細に説明する。 Hereinafter, information processing for acquiring the virtual environment (spatial information 800) generated as shown in FIG. 8 will be described in detail with reference to FIGS.
図9(a)は、図7の設計情報から得た空間情報700を上方から俯瞰した状態で示している。図9(a)では、簡略化のため高さ情報は省略し、XY平面のみを示している。同図において、物体A,B(901、902)およびC(903)が図7の被作業物710〜712に対応し、D(904)がロボットアーム701に対応している。これらA、B、C、D…は、便宜上の物体のIDで、本実施例では主に空間情報中における各物体を識別するのに用いる。
FIG. 9A shows the
図9(a)において、物体AとB、CとDをそれぞれ結ぶ曲線(破線)は、ケーブル(図6の620、621)による物体間の接続を概念的に表現したものである。この例では、ケーブル(図6の620、621)は、実際はどのように配置されるか不明な接続物であり、図7の設計情報から得た空間情報700には直接含まれていない。
In FIG. 9A, curves (broken lines) connecting the objects A and B and C and D respectively conceptually represent connections between the objects by cables (620 and 621 in FIG. 6). In this example, the cables (620 and 621 in FIG. 6) are actually unknown connections, and are not directly included in the
しかしながら、本実施例1では、設置平面(650)に配置された被作業物610や治工具611〜612(図6)が、図6や図9(a)のようにケーブル(図6の620、621)によって接続される(可能性が高い)ことが予め判明しているものとする。即ち、ケーブルのような柔軟物によって「接続」される物体A、B、C、Dが用いられることが予め判明している。
However, in the first embodiment, the
このような場合、図9(b)に示すような、接続リスト900(第2の辞書データ)を用意しておくことにより、環境認識処理装置502により高速かつ確実に図8のような空間情報800(環境認識結果)を生成することができる。
In such a case, by preparing a connection list 900 (second dictionary data) as shown in FIG. 9B, the environment
図9(b)の接続リスト900(第2の辞書データ)は、ケーブルのような柔軟物によって「接続」される物体A、B、C、Dの特徴情報をリスト化したものである。この接続リスト900(第2の辞書データ)は、例えば、環境認識処理装置502が用いるメモリ領域(例えばROM302やRAM303)に配置される。あるいは、接続リスト900は、メモリ領域(ROM302やRAM303)に展開される前はHDD304などに格納されていてもよい。接続リスト900(第2の辞書データ)の記録形式は任意であり、例えばメモリ領域ではテーブルメモリや配列などの格納形式を用いることができる。また、HDD304上では、テーブルメモリや配列などの形式に展開可能なフォーマットで任意のファイル形式を用いて接続リスト900(第2の辞書データ)を格納してよい。
A connection list 900 (second dictionary data) in FIG. 9B is a list of feature information of objects A, B, C, and D that are “connected” by a flexible object such as a cable. The connection list 900 (second dictionary data) is arranged, for example, in a memory area (for example, the
ケーブルのような物体(柔軟物)の場合、予め判明している形状や寸法情報は、せいぜい直径や全長程度であることが多い。また、ケーブルのような柔軟物は、配置された時の形状なども予め予測することができない。 In the case of an object (flexible object) such as a cable, the shape and dimensional information known in advance is often at most about the diameter or the entire length. In addition, a flexible object such as a cable cannot be predicted in advance when it is arranged.
このため、本実施例の接続リスト900(第2の辞書データ)は、ケーブルのような柔軟物によって「接続」される物体A、B、C、Dの「接続」が生じる位置および方向、のような特徴情報をリスト(テーブルメモリ)化している。 For this reason, the connection list 900 (second dictionary data) of the present embodiment includes the position and the direction of the occurrence of the “connection” of the objects A, B, C, and D “connected” by a flexible object such as a cable. Such characteristic information is listed (table memory).
即ち、ロボットアーム200(701)や被作業物にケーブルを接続する場合、通常、その接続のためのコネクタ(あるいはケーブルが直出しされる透孔)の位置は判明している。あるいは、そのようなケーブルの接続位置を意図して設計することは可能である。 That is, when a cable is connected to the robot arm 200 (701) or the work, the position of the connector (or the through hole from which the cable is directly led) for the connection is usually known. Alternatively, it is possible to design the connection position of such a cable.
図9(a)の物体A、Bで言えば、物体Aからはケーブルは右(right)出し、物体Bからはケーブルは左(left)出し、となっている。物体C、Dの場合は、物体からはケーブルは上(top)出し、物体Bからはケーブルは下(bottom)出し、となっている。なお、右(right)、左(left)、上(top)、下(bottom)の接続方向は、図9の平面表示上に便宜的に選んだ表示に過ぎず、接続リスト900(第2の辞書データ)のメモリ上の表現形式は任意である。また、ここでは簡略化のために4方向のみの分類で済ませているが、接続リスト900(第2の辞書データ)で、更に細分化して方向を表現できるような表現形式を用意しておくことができる。 In the case of the objects A and B in FIG. 9A, the cable comes out of the object A right, and the cable comes out of the object B left. In the case of the objects C and D, the cable comes out from the object (top), and the cable comes out from the object B (bottom). Note that the connection directions of right (right), left (left), top (top), and bottom (bottom) are merely display selected for convenience on the planar display of FIG. The expression format of the dictionary data) on the memory is arbitrary. Here, for simplicity, classification is performed only in four directions. However, in the connection list 900 (second dictionary data), an expression format that can be further subdivided to express directions is prepared. Can be.
また、図9(a)では、ケーブルの接続位置は、設置面650に相当する平面をa×bのグリッドに区切っている。そして、本実施例の接続リスト900(第2の辞書データ:図9(b))では、各物体A〜Dをこのグリッド上にマッピングし、その位置によって各物体のケーブル接続位置を定義している。なお、ここでaとbは任意の整数であり、図9(a)では6×4のグリッドを用いている。
In FIG. 9A, the connection position of the cable divides a plane corresponding to the
このように、空間認識を行う空間をグリッドで(粗く)区切って取り扱うことにより、CPU(301)による演算(の一部)が簡略化され、処理の負荷を軽減することができる。 In this way, by treating the space for which space recognition is performed by partitioning (coarsely) with the grid, (part of) the calculation by the CPU (301) is simplified, and the processing load can be reduced.
本実施例では、以上のように構成した接続リスト900(第2の辞書データ:図9(b))を用意しておく。そして、環境認識処理装置502の照合部514(図4)によって、環境入力装置501で図6のような設置環境600から得た空間情報と、接続リスト900(第2の辞書データ:図9(b))を照合する。
In this embodiment, a connection list 900 (second dictionary data: FIG. 9B) configured as described above is prepared. Then, the collating unit 514 (FIG. 4) of the environment
そして、照合部514による照合の結果、該当する物体の空間情報(3Dモデル)を配置することにより、図8の空間情報800のような環境認識結果を得ることができる。この時、環境認識装置500は、例えば、照合部514によって接続リスト900に該当すると判定した物体の空間情報(3Dモデル)を生成する。そして、図7の設計情報などに基づき予め作成された空間情報700と組み合わせる(または空間情報700に追加する)ことにより、図8の空間情報800のような環境認識結果を得ることができる。
Then, as a result of the matching by the
本実施例の接続リスト900(第2の辞書データ:図9(b))は、例えば上記のケーブルのように公差や部品製作誤差といった要因により実環境と認識した空間情報の位置や形状は厳密には一致しない物体(接続媒体)の特徴情報を利用して構成している。この特徴情報は、例えば上記のケーブルのような物体の場合、上記のように接続方向や接続位置である。また、接続リスト900(第2の辞書データ:図9(b))の特徴情報は、設置空間のグリッド分割上の接続位置や、接続方向のような表現を用いているため、設置時の位置や形状の誤差を吸収して照合部514での照合を行うことができる。
According to the connection list 900 (second dictionary data: FIG. 9B) of the present embodiment, the position and shape of the spatial information recognized as the real environment due to factors such as tolerances and component manufacturing errors, such as the above-described cable, are strict. Are configured using the feature information of an object (connection medium) that does not match the. For example, in the case of the object such as the above-mentioned cable, the characteristic information is the connection direction and the connection position as described above. Further, since the characteristic information of the connection list 900 (second dictionary data: FIG. 9B) uses expressions such as connection positions on the grid division of the installation space and connection directions, the position at the time of installation is used. The matching in the
なお、前述のように、図9(a)、(b)の特徴情報の例では簡易化のため高さ情報を省略しているが、接続リスト900(第2の辞書データ:図9(b))では、高さ情報を加味して、a×b×cの3次元グリッドを用いて接続位置を定義することができる。 As described above, in the example of the characteristic information in FIGS. 9A and 9B, height information is omitted for simplification, but the connection list 900 (second dictionary data: FIG. In)), the connection position can be defined using an a × b × c three-dimensional grid in consideration of height information.
図9(b)のように、接続リスト900には、各物体のID(A、B、C、D)に関連づけて、接続位置情報(905)、および接続方向に関する情報(906)などの特徴情報が記録される。これらの特徴情報は(905、906)は、例えば、ロボット設置環境に配置され接続物を介して相互に接続される可能性のある物体に関しては、当該物体と前記接続媒体との接続位置、および接続方向を表現した接続特性情報となっている。
As shown in FIG. 9B, in the
本実施例における接続リスト900(第2の辞書データ)における特徴情報(特に接続物で接続される物体に関しては接続特性情報)は、設計情報から作成した空間情報700(第1の辞書データ)のように、3Dデータのような形状情報を含まない。 The feature information (especially connection characteristic information for an object connected by a connection object) in the connection list 900 (second dictionary data) in the present embodiment is the same as the space information 700 (first dictionary data) created from the design information. Thus, it does not include shape information such as 3D data.
この点で、これら特徴情報ないし接続特性情報は、環境入力装置501で設置環境600から得た空間情報と、照合する場合、CPU(301)の演算のための負荷は小さくて済む。周知のように、実環境から得た空間情報(3Dデータ)と、空間情報700(第1の辞書データ)の3Dデータ(例えばCADデータ)のような空間情報との照合の場合は、複雑なマッチング過程を行わなければならない場合がある。ところが、本実施例の接続リスト900(第2の辞書データ)の特徴情報は、例えば接続位置や接続方向で記述された接続特性情報であって、実環境から得た空間情報(3Dデータ)との照合は小さな演算コストで実行できる。また、本実施例の接続リスト900(第2の辞書データ)の特徴情報は、例えば接続位置や接続方向のような緩やかな特性定義で構成されている。このため、ケーブルのような柔軟物の物体と照合する場合に、変形があっても確実にその物体を捉えることができる。
In this regard, when the characteristic information or the connection characteristic information is collated with the space information obtained from the
図9(b)の接続リスト900の接続位置情報(905)には、位置X、位置Yが含まれ、これらは図9(a)中のグリッドの番号によって表現されている。なお、図9(b)でも上記のように高さ方向(Z)の位置は簡略化のため省略しているが、接続位置情報(905)に高さ方向(Z)の情報を記録して照合するためには、例えば位置Zのフィールドが追加される。この高さ方向(Z)の情報も、Z座標により表現される空間を粗くグリッドで区切ったセルの番号により表現すればよい。
The connection position information (905) of the
また、接続リスト900の接続方向に関する情報(906)は、上記の通り右(right)、左(left)、上(top)、下(bottom)のようなニーモニックにより表現されている。接続方向に関する情報(906)には、その他に、東(E)、西(W)、南(N)、北(N)のような任意のニーモニックを用いることも考えられる。
The information (906) regarding the connection direction of the
図10は、本実施例において、仮想環境に係る情報処理を用いてロボット装置100の動作を教示(プログラミング)する処理の全体の流れを示している。図10の制御手順は、環境認識装置500、およびロボット動作プログラム作成装置550によって実行される。この処理では、環境認識装置500によって作成された仮想環境を用いて、ロボット動作プログラム作成装置550を介してロボット動作の教示を行うことができる。
FIG. 10 shows an overall flow of a process of teaching (programming) the operation of the
特に環境認識装置500による仮想環境の認識処理においては、予め設計情報から作成した空間情報700(図7:第1の辞書データ)、および接続リスト900(図9(a)、(b):第2の辞書データ)が用いられる。
In particular, in the virtual environment recognition process performed by the
図10のステップS901では、環境認識結果入力処理を行う。ここでは、ロボット装置100の設置環境600(図6)から環境入力装置501を介して得られた空間情報を環境認識情報入力部511に入力する。環境入力装置501が例えば3D(ステレオ)カメラのように3D画像を取得する装置であれば、空間情報は3D画像データの形式である。
In step S901 in FIG. 10, an environment recognition result input process is performed. Here, the space information obtained from the installation environment 600 (FIG. 6) of the
ここで、ロボット装置100の設置環境600には、図6に示すように、ロボットアーム200の他、被作業物610や治工具611〜612(図6)が配置されているものとする。また、被作業物610と治工具611、ロボットアーム200と治工具612は、ケーブル(620、621)によって接続されているものとする。
Here, in the
ステップS902では、環境入力装置501から入力された空間情報に対して平面上物体抽出処理を実行する。この平面上物体抽出処理は、平面抽出部512で行う。この処理は、環境入力装置501から入力された空間情報からロボット装置100の設置平面上に存在する物体を抽出する処理である。この処理は、物体の抽出処理であるが、一面においては平面の除去処理であるといってもよい。
In step S902, a planar object extraction process is performed on the spatial information input from the
次に、ステップS903で物体分離および照合処理を行う。このうち物体分離処理は物体分離部513で行う。この物体分離処理は、環境入力装置501から入力された空間情報の輪郭検出や、画素値の連続性を解析するなどの公知の手法によって行われる。この物体分離処理が終了した段階では、分離された物体は、例えばそれがロボット装置であるかワークであるかなどはまだ同定されていない。しかしながら、さらにステップS903において、予め設計情報から作成した空間情報700(図7:第1の辞書データ)との照合(マッチング)を行う。これにより、環境入力装置501から取得した空間情報中で、空間情報700(図7:第1の辞書データ)に含まれている物体が同定される。
Next, object separation and collation processing are performed in step S903. The object separation processing is performed by the
図7の例では、ロボットアーム701、被作業物710、治工具711、712が含まれており、これらは予め設計情報から作成した空間情報700(図7:第1の辞書データ)とステップS903の照合で該当判定され、同定される。
In the example of FIG. 7, a
また、ステップS903において用いられる設計情報から作成した空間情報700(第1の辞書データ)には、図7のようにロボットアーム701、被作業物710、治工具711、712が含まれているが、ケーブルの情報は含まれていない。しかしながらケーブルに関しては、図9(a)、(b)で説明した接続リスト900(第2の辞書データ)が用意されている。
The space information 700 (first dictionary data) created from the design information used in step S903 includes the
ステップS903で、分離後の物体群には、ケーブル(620、621)の空間情報が含まれている。ケーブル(620、621)の空間情報は、予め作成した空間情報700に存在しない物体に相当する。
In step S903, the separated object group includes the spatial information of the cable (620, 621). The spatial information of the cable (620, 621) corresponds to an object that does not exist in the
このように、予め作成した空間情報700に存在しない物体が抽出されている場合を想定して、ステップS904の接続リスト照合処理を実行する。この接続リスト照合処理は照合部514で行う。ステップS904の接続リスト照合処理では、設計情報から作成した空間情報700に存在しない物体(ケーブルのような接続物620、621など)と、接続リスト900(第2の辞書データ:図9(b))と、が照合される。そして、接続位置や方向に相当する接続特性情報(905、906)が一致した物体(接続物)がこの照合で該当判定され、同定される。
As described above, the connection list matching processing in step S904 is executed on the assumption that an object that does not exist in the previously created
続くステップS905(仮想環境用空間情報出力処理:出力処理工程)では、ステップS903、S904の照合(それぞれ第1の照合処理、第2の照合処理)で該当判定され、同定された物体の3Dモデルを生成する。そして、仮想環境用空間情報530(3D仮想環境)に登録する。 In the subsequent step S905 (virtual environment space information output processing: output processing step), the 3D model of the object that has been determined to be relevant in the matching in steps S903 and S904 (first matching processing and second matching processing, respectively) and is identified. Generate Then, it is registered in the virtual environment space information 530 (3D virtual environment).
即ち、ステップS903で空間情報700(図7:第1の辞書データ)に該当した物体については、それらの物体に相当する3Dモデルを生成して仮想環境用空間情報530に登録する。この場合、空間情報700(図7:第1の辞書データ)は、設計情報などから生成されたCAD情報などであるから、例えば空間情報700中の当該物体に相当するCAD情報を仮想環境用空間情報530に配置することで、3D仮想環境への登録が完了する。
That is, for objects corresponding to the space information 700 (FIG. 7: first dictionary data) in step S903, a 3D model corresponding to those objects is generated and registered in the virtual
また、ステップS904の照合の結果、環境入力装置501から入力された空間情報中で、接続リスト900(第2の辞書データ:図9(b))に該当する物体については、その物体の空間情報(3Dモデル)を生成して仮想環境用空間情報530に登録する。
Also, as a result of the collation in step S904, in the spatial information input from the
ここで、接続リスト900(第2の辞書データ:図9(b))の作成ポリシーの1つとしては、例えば次のようなものがある。接続リスト900の作成ポリシーの1つは、接続リスト900(第2の辞書データ:図9(b))が、例えばロボット動作プログラム作成時に用いられる可能性があり仮想環境用空間情報530中に存在すべき物体(のみ)を含むよう構成するものである。この場合は、上記のように接続リスト900(第2の辞書データ:図9(b))に該当する物体が存在する場合は、その全ての物体の空間情報を生成して仮想環境用空間情報530に登録すればよい。
Here, as one of the creation policies of the connection list 900 (second dictionary data: FIG. 9B), for example, there is the following. One of the creation policies of the
また、接続リスト900(第2の辞書データ:図9(b))の異なる作成ポリシーとしては、仮想環境用空間情報530中に存在すべき物体と、存在すべきではない物体の双方を含むよう構成するものがある。この場合は、仮想環境用空間情報530中に存在すべき物体と、存在すべきではない物体は、両者を識別するフラグ(不図示)とともに接続リスト900に登録する。このようなポリシーで接続リスト900が構成されている場合には、接続リスト900中のフラグを参照して仮想環境用空間情報530中に存在すべき物体のみについて空間情報を生成して仮想環境用空間情報530に登録すればよい。
The different creation policies of the connection list 900 (second dictionary data: FIG. 9B) include both objects that should exist in the virtual
なお、ケーブル(620、621)のような物体は、例えば仮想環境用空間情報530中に存在すべき物体として取り扱う必要がある。例えば、仮想環境を用いたロボット動作プログラム作成時には、ケーブル(620、621)のような柔軟物は、形状が不定である。従って、ケーブル(620、621)のような柔軟物が占有する可能性のある空間は、仮想環境用空間情報530をディスプレイ上に表示する時、ロボットアームの侵入禁止領域として明示的に表示する必要がある。このようにケーブル(620、621)のような柔軟物が占める空間を生成し、仮想環境へ登録する手法の詳細については、後で別途、説明する。
An object such as the cable (620, 621) needs to be handled as an object that should exist in the virtual
以上のようにして、環境入力装置501から入力された空間情報に存在する物体のうち、設計情報から予め作成した空間情報700(第1の辞書データ)との照合の結果、該当する物体が仮想環境用空間情報530に登録される。また、環境入力装置501から入力された空間情報に存在する物体のうち、接続リスト900(第2の辞書データ:図9(b))との照合の結果、該当する物体が仮想環境用空間情報530に登録される。
As described above, of the objects existing in the spatial information input from the
図10の制御手順は、環境入力装置501から入力された3Dデータと、空間情報700(第1の辞書データ)および接続リスト900(第2の辞書データ)との照合を行う第1および第2の照合処理(S903、S904)を含む。そして、第1および第2の照合処理(S903、S904)で、空間情報700(第1の辞書データ)および接続リスト900(第2の辞書データ)に該当する物体については、入力3Dデータから3Dモデルを生成して3D仮想環境に登録する。即ち、図10の仮想環境用空間情報出力処理(S905)において、この3Dモデルの生成および、3D仮想環境(仮想環境用空間情報530)への配置を行う。この仮想環境用空間情報出力処理(S905)は空間情報作成部515で行うことができる。
The control procedure in FIG. 10 includes first and second collation of 3D data input from the
さらに、図10のステップS906において、上記のようにして生成した仮想環境用空間情報530をロボット動作プログラム作成装置550に入力する。そして、ロボット動作プログラム作成装置550では、仮想環境用空間情報530に基づき、仮想環境表示部561(図5)によってモニタに環境認識した仮想環境を表示することができる。
Further, in step S906 in FIG. 10, the virtual
ここで、ユーザは、ロボット動作作成部562のユーザーインターフェースを用いて、仮想環境表示部561の仮想環境表示(図8の空間情報800と同等)を操作できる。この時、上述のように各種のポインティングデバイス、タッチパネルなどから構成されたロボット動作作成部562のユーザーインターフェースを用いることができる。これにより、仮想環境表示(図8の空間情報800と同等)中の物体を直接操作するかのような直観的なユーザーインターフェース提供できる。
Here, the user can operate the virtual environment display (equivalent to the
このようにして、仮想環境表示部561に例えば3D表示された仮想環境を用いてロボット動作プログラム570の作成のためのユーザーインターフェースを提供できる。ユーザは、仮想環境中の物体を直接操作する(例えばロボットアーム801を曲げる、など)直観的なユーザーインターフェースを介して、容易かつ手早くロボット装置100の動作をプログラム(教示)することができる。
In this way, a user interface for creating the
図10のステップS907では、以上のようにして作成したロボット動作プログラム570を、ロボット制御装置300に入力し、ロボット動作プログラム570に従ってロボットアーム200を動作させる(実機動作処理)。
In step S907 of FIG. 10, the
以下、図10の制御手順によって行われる情報処理につき、図11〜図14を参照して説明する。以下では、各ステップの情報処理の詳細な構成ないし変形例についても併せて説明する。 Hereinafter, information processing performed by the control procedure of FIG. 10 will be described with reference to FIGS. Hereinafter, a detailed configuration or a modified example of the information processing in each step will also be described.
図11(a)、(b)、(c)は、図10の環境認識結果入力処理(S901)、平面上物体抽出処理(S902)、物体分離および照合処理(S903)のそれぞれのステップで処理される空間情報を模式的に示している。ここで、図11(a)〜(c)の処理対象は、主に環境入力装置501から入力された空間情報である。
FIGS. 11A, 11B, and 11C show processes of the environment recognition result input process (S901), the planar object extraction process (S902), and the object separation and matching process (S903) of FIG. Schematically shows spatial information to be obtained. Here, the processing target in FIGS. 11A to 11C is mainly the spatial information input from the
図11(a)は、環境認識結果入力処理(図10のS901)時に環境入力装置501から入力された空間情報(800)で、同図では便宜上、図8の空間情報(800:環境認識結果)と同じ参照符号(800)を用いている。同図の平面850は、実環境の設置面650の環境認識結果である。
FIG. 11A shows spatial information (800) input from the
図11(b)は、図11(a)の空間情報800に平面上物体抽出処理(図10のS902)を加えた後の空間情報800aを示しており、図11(a)と比較すると平面850が除去されていることが判る。また、図11(b)の空間情報800aでは、複数の物体が点線(860)で囲んで示す認識物体群のように、1つの塊として認識されている。
FIG. 11B shows
図11(c)は、図11(b)の空間情報800aに物体分離および照合処理(図10の903)を加えた後の空間情報800bを示しており、点線で囲まれている単位で分離した物体(870〜875)として分離されている。なお、図11(c)において各物体の距離が離れているのは説明の簡略化のためであり、実際に各空間情報が移動したわけではない。
FIG. 11C shows
図12(a)、(b)は、物体分離および照合処理(図10のS903)の詳細を模式的に示している。図12(a)では、設計情報から予め作成した空間情報700(第1の辞書データ)に存在する物体(701、710〜712)が破線で示されている。物体分離および照合処理(図10のS903)において、空間情報700(第1の辞書データ)と照合することにより、これらの物体(701、710〜712)が分離される。 FIGS. 12A and 12B schematically show details of the object separation and collation processing (S903 in FIG. 10). In FIG. 12A, objects (701, 710 to 712) existing in the space information 700 (first dictionary data) created in advance from the design information are indicated by broken lines. In the object separation and matching process (S903 in FIG. 10), these objects (701, 710 to 712) are separated by matching with the spatial information 700 (first dictionary data).
ただし、この例では、実線で示す2本のケーブルと、被作業物710から成る認識物体群860が空間情報700(第1の辞書データ)との照合で該当せず、まだ認識されていない。例えば被作業物710が、空間情報700(第1の辞書データ)上の設置位置と多少ずれた位置に置かれているような場合には、単純に空間情報700(第1の辞書データ)と照合するだけではヒットしない。
However, in this example, the two cables indicated by solid lines and the
このような場合を想定して、空間情報700(第1の辞書データ)との照合を行う場合には、図12(b)に示すように許容範囲を含めたマッチング(照合)処理を行うことができる。図12(b)は、空間情報800中の被作業物710と認識物体群860のXY平面における形状を示している。
Assuming such a case, when matching with the spatial information 700 (first dictionary data), matching (matching) processing including an allowable range as shown in FIG. Can be. FIG. 12B illustrates shapes of the
図12(b)では、被作業物710および認識物体群860は、矢印で示すようにXY方向の位置がずれている。このような場合でも、例えば、空間情報700(第1の辞書データ)と輪郭で比較を行い、輪郭の法線方向の距離が予め定めた閾値以下の場合は、予め作成された空間情報に存在する物体と判断することができる。もちろん、空間情報700(第1の辞書データ)中に対応する物体が存在しない場合は、該当なし、と判断する。なお、上記のような許容範囲を含めた輪郭比較によるマッチング(照合)処理の閾値は、ユーザが予め数値入力などにより指定しておくことができる。
In FIG. 12B, the position of the
なお、図12(b)では、XY平面における輪郭比較によるマッチング(照合)処理を示しているが、もちろん同様のマッチング(照合)処理はZX平面、ZY平面などについても実施できる。その場合、上記同様に許容範囲を含んでのマッチング(照合)処理を行うことができるのはいうまでもない。 Although FIG. 12B shows the matching (collation) processing based on the contour comparison on the XY plane, the same matching (collation) processing can be performed for the ZX plane, the ZY plane, and the like. In this case, it goes without saying that the matching (collation) processing including the allowable range can be performed as described above.
図13(a)、(b)は、接続リスト照合処理(図10のS904)の詳細例を示している。接続リスト照合処理(図10のS904)は、物体分離および照合処理(同S903)後に、接続リスト900(第2の辞書データ:図9(b))を用いて行う環境認識処理である。上述のように、接続リスト900(第2の辞書データ:図9(b))は、図8の接続物(ケーブル:820、821)のように空間情報700(第1の辞書データ)に含まれない物体を環境認識することを想定して作成されている。 FIGS. 13A and 13B show a detailed example of the connection list collation processing (S904 in FIG. 10). The connection list matching process (S904 in FIG. 10) is an environment recognition process performed using the connection list 900 (second dictionary data: FIG. 9B) after the object separation and matching process (S903 in FIG. 10). As described above, the connection list 900 (second dictionary data: FIG. 9B) is included in the spatial information 700 (first dictionary data) like the connection object (cable: 820, 821) in FIG. It is created assuming that the unrecognized object is recognized in the environment.
図13(a)は図9(a)と同様に、物体分離および照合処理(S903)において、空間情報800中の物体群(820、821)を示している。空間情報800中の環境認識すべき領域は6×4のグリッドに区画されている。
FIG. 13A shows an object group (820, 821) in the
一方、図13(b)の820a、821aは、図9(b)に例示した接続リスト900(第2の辞書データ:図9(b))中で接続位置(905)および接続方向(906)の定義に該当する接続物(ケーブル:820、821)の配置領域である。配置領域820aおよび821aは、接続位置および接続方向(905、906)の定義に応じて接続物(ケーブル:820、821)が存在しうるグリッド中の領域となっている。
On the other hand,
具体的には、配置領域820aおよび821aは、接続位置(905)のセルの、接続方向(906)に関して隣接するセルの並びとなっている。例えば、図9(b)の物体A〜Bを結ぶ接続物(ケーブル)の場合、セル(2、3)の左側、およびセル(4、2)の右側に並んだセル(3、3)およびセル(3、2)が配置領域820aとなる。
Specifically, the
このような接続物(ケーブル:820、821)が存在しうる配置領域820aおよび821aは、接続位置および接続方向(905、906)の定義に応じてCPU(301)が予め計算によって作成しておくことができる。あるいは、CPU(301)の処理能力が充分あれば、接続リスト900(第2の辞書データ:図9(b))との照合を行う際にリアルタイムで配置領域820aおよび821aを生成してもよい。
The
そして、空間情報800中の物体と、接続リスト900(第2の辞書データ)とを照合(S904)する際、接続位置(905)および接続方向(906)だけではなく、配置領域820aおよび821aにおける物体の存在およびその連続性を判断する。これにより、その物体(820、821)が仮想環境用空間情報530に登録すべき空間情報か否かを自動的かつ確実に判定することができる。
Then, when the object in the
なお、図13では、XY平面における配置領域820aおよび821aしか示していないが、例えば、YZ、XZのような平面についても、ケーブルのような物体の配置領域を定義できる。例えば、図9に関連して述べたように、接続リスト900に接続位置情報(905)に高さ方向(Z)の情報を記録しておく。そして、この高さ方向(Z)の情報を利用して上記同様に高さ方向(Z)を含んだ空間におけるケーブルのような物体の配置領域を定義し、仮想環境用空間情報530に登録することができる。
Although FIG. 13 shows only the
このように、本実施例の接続リスト900(第2の辞書データ:図9(b))を用いることにより、ケーブルのような物体の配置領域の定義を3次元(XYZ)の空間として定義できる。なお、3次元(XYZ)の空間の配置領域を例えば侵入禁止領域として定義する例については、後に図14で説明する。 As described above, by using the connection list 900 (second dictionary data: FIG. 9B) of the present embodiment, the definition of the arrangement area of an object such as a cable can be defined as a three-dimensional (XYZ) space. . An example in which a three-dimensional (XYZ) space arrangement area is defined as, for example, an intrusion prohibition area will be described later with reference to FIG.
図13の例では、物体(820、821)は接続リスト900(第2の辞書データ:図9(b))に含まれた接続物(ケーブル)であると判定され、接続物(ケーブル)を確実に仮想環境用空間情報530に登録することができる。
In the example of FIG. 13, the object (820, 821) is determined to be a connected object (cable) included in the connection list 900 (second dictionary data: FIG. 9B), and the connected object (cable) is determined. It can be reliably registered in the virtual
以上のように、本実施例によれば、環境入力装置501で図6のような設置環境600から得た空間情報において、予め設計情報から作成した空間情報700(図7:第1の辞書データ)に該当した物体を仮想環境用空間情報530に登録することができる。のみならず、例えばケーブルのような接続物を対象として用意した接続リスト900(第2の辞書データ:図9(b))に該当した物体も仮想環境用空間情報530に登録することができる。
As described above, according to the present embodiment, in the spatial information obtained from the
そして、ロボット動作プログラム作成装置550により、仮想環境用空間情報530を用いて仮想環境をGUI表示し、GUIを介してロボットアームやワークを操作させ、その操作を介してロボット教示を行わせることができる。このため、ユーザは、仮想環境中の物体を直接操作するかのような快適かつ直観的なユーザーインターフェースを介して、迅速かつ確実にロボット装置100の動作をプログラム(教示)することができる。
Then, the virtual environment is displayed on the GUI using the virtual
このロボット教示時に用いられる仮想環境は、実際に環境入力装置501を用いて設置環境(図6の600)から得た空間情報に基づいて作成される。このため、実際に動作させるロボット装置およびその設置環境に即して正確に再現された仮想環境のGUI表示を生成することができ、誤差の少ない、正確な仮想環境を利用したロボットプログラミングを行うことができる。
The virtual environment used at the time of teaching the robot is created based on spatial information actually obtained from the installation environment (600 in FIG. 6) using the
ただし、仮想環境用空間情報530は、上記のようなユーザのインタラクティブな操作を介したロボットプログラミングのみに利用するものである必要はない。例えば、仮想環境用空間情報530を用いたロボット動作プログラム作成処理は、ユーザ操作を行うことなく、CPUによる何らかのアルゴリズムに基づき自動的に行われてもよい。
However, the virtual
以上のように、本実施例1によれば、予め設計情報から作成した空間情報700(図7:第1の辞書データ)と、の照合処理のみならず、接続リスト900(第2の辞書データ:図9(b))との照合処理(接続リスト照合処理:図10のS904)も行なう。 As described above, according to the first embodiment, not only the collation processing with the spatial information 700 (FIG. 7: first dictionary data) created in advance from the design information, but also the connection list 900 (second dictionary data) 9 (b)) (connection list matching process: S904 in FIG. 10).
即ち、環境入力装置501で得た空間情報1300(3Dデータ)と、空間情報700(第1の辞書データ)、接続リスト900(第2の辞書データ)との照合をそれぞれ試行する第1および第2の照合工程(S903、S904)を含む。そして、これら第1ないし第2の照合工程において、3Dデータ中で第1または第2の辞書データに該当する物体の3Dモデルを生成して3D仮想環境に配置する(出力処理工程:仮想環境用空間情報出力処理(S905))。
That is, the first and second trials of trying to match the spatial information 1300 (3D data) obtained by the
このため、予め作成した空間情報700(図7)に存在せず、環境認識した空間情報800(図8)に存在するケーブルのような接続物があった場合でも、その物体はCPUの自動的な処理によって、仮想環境用空間情報530に登録することができる。
For this reason, even if there is a connection object such as a cable that does not exist in the pre-created space information 700 (FIG. 7) but exists in the environment-recognized space information 800 (FIG. 8), the object will With such a simple process, the virtual
ここで、図14を用いて本実施例1の作用効果の一例を説明する。図14(a)〜(c)は、ロボットアーム200が設置された実環境の設置面650を示している。
Here, an example of the operation and effect of the first embodiment will be described with reference to FIG. FIGS. 14A to 14C show the
従来技術では、本実施例の接続リスト900(第2の辞書データ:図9(b))は用いられておらず、設計情報に基づき、CAD処理などにより、ロボットプログラミングのための仮想環境を作成していた。 In the related art, the connection list 900 (second dictionary data: FIG. 9B) of the present embodiment is not used, and a virtual environment for robot programming is created by CAD processing or the like based on design information. Was.
上述のように、ケーブル等の接続物は、実際の配置形状などの予測が困難であり、CADなどによって空間情報を生成するのが難しい。このため、従来では、接続物(ケーブルなど)の物体については、ユーザが仮想環境上に図14(a)に示すように、仮想的障害物1000のような大きめの侵入禁止領域を登録することが行われていた。
As described above, it is difficult to predict the actual arrangement shape and the like of a connection object such as a cable, and it is difficult to generate spatial information by CAD or the like. For this reason, conventionally, for an object such as a connection object (such as a cable), a user registers a large intrusion prohibited area such as a
ここで、図14(a)の仮想的障害物1000のような大きめの侵入禁止領域を登録すると、教示点p1からp2にロボットの手先を移動させる場合を考える。これら教示点は、例えばロボットアーム200の手先などに設定された基準位置(部位)の位置姿勢として定義される。
Here, it is assumed that, when a large intrusion prohibition area such as the
図14(a)に対応する仮想環境をGUI表示してロボット教示を行う場合、教示点p1からp2の間には、大きめに取られた仮想的障害物1000がある。仮想的障害物1000を回避させるためには、ユーザは教示点p1からp2の間に、教示点p3のような高い位置にある教示点を置く必要がある。教示点p1からp2の間に、教示点p3をプログラムすることにより、同図に1001で示すような手先の軌道が生成される。
When performing the robot teaching by displaying the virtual environment corresponding to FIG. 14A on the GUI, there is a
これに対して、本実施例1では、図14(b)のような実環境に近い空間情報をユーザに提示できる。本実施例の接続リスト900(第2の辞書データ:図9(b))を用いる構成によれば、上述のようにケーブルのような物体の配置領域の定義を3次元(XYZ)の空間として定義できる。この3次元空間の配置領域を侵入禁止領域として仮想環境用空間情報530に登録することができる。
On the other hand, in the first embodiment, spatial information close to the real environment as shown in FIG. 14B can be presented to the user. According to the configuration using the connection list 900 (second dictionary data: FIG. 9B) of the present embodiment, as described above, the definition of the arrangement area of an object such as a cable is defined as a three-dimensional (XYZ) space. Can be defined. The arrangement area of this three-dimensional space can be registered in the virtual
上述のように、接続リスト900(第2の辞書データ:図9(b))は、例えばケーブルの引き出し位置やコネクタ位置に基づき生成されている。このため、図13などに示したセル単位の空間演算によって、ごく現実的な最小の体積の3次元空間の配置領域を侵入禁止領域として仮想環境用空間情報530に登録することができる。
As described above, the connection list 900 (second dictionary data: FIG. 9B) is generated based on, for example, a cable pull-out position and a connector position. Therefore, by the spatial calculation in units of cells shown in FIG. 13 and the like, it is possible to register an extremely realistic three-dimensional space arrangement area having the smallest volume in the virtual
図14(b)の仮想的障害物1002は、上記のようにして接続リスト900(第2の辞書データ:図9(b))を用いて生成したものである。図14(b)の仮想的障害物1002は、図14(a)の仮想的障害物1000よりも小さな空間を占めるものとして生成できる。このため、ロボットアーム200の回避動作を定義する教示点p3は、図14(a)に比べて低い位置に設定することが可能となり、その結果として1003のような手先の軌道を得る。
The
このように、本実施例によれば、ロボットアーム200の手先を移動させるために、従来よりも短い軌道を作成することが可能となるため、ロボットの動作時間を短縮することができる。もし、本実施例のロボット装置が物品の製造(生産)環境に利用される場合には、本実施例の仮想環境プログラミングを利用することにより、タクトタイムの短縮が可能となり、効率的に工業製品などの物品の製造(生産)が可能となる。本実施例は、ケーブルのような物体が長く、どのように配置されるか不明で、特にロボットアーム200の進入禁止領域を大きく設定しなければいけないケースでの効果が高い、と考えられる。
As described above, according to the present embodiment, it is possible to create a shorter trajectory than in the related art in order to move the hand of the
例えば、図14(a)と図14(b)の比較では、設計での想定より実際はケーブルが低い位置に配置されたため、ロボットの動作時間は図15のように約8%程度、短縮できると考えられる。図15において、縦軸は特定のロボット動作に要する時間で、1501は従来(図14(a))方式による動作時間、1502は本実施例(図14(b))方式による動作時間に相当する。 For example, a comparison between FIG. 14A and FIG. 14B shows that the operation time of the robot can be shortened by about 8% as shown in FIG. Conceivable. In FIG. 15, the vertical axis represents the time required for a specific robot operation, 1501 corresponds to the operation time in the conventional (FIG. 14A) method, and 1502 corresponds to the operation time in the method of the present embodiment (FIG. 14B). .
なお、図14(b)では、侵入禁止領域を直方体で記述しているが、認識した接続物を太らせて、図14(c)の仮想障害物1004のような侵入禁止領域を生成することが考えられる。仮想障害物1004は、例えば環境入力装置501を用いて設置環境(図6の600)から得た空間情報中の物体(ケーブルのような接続物620)の輪郭を増幅(太く)することによって生成することができる。
In FIG. 14B, the intrusion prohibition area is described as a rectangular parallelepiped, but the recognized connection object is fattened to generate an intrusion prohibition area such as the
上記実施例1の図14(b)において、仮想的障害物1002は、接続リスト900(第2の辞書データ:図9(b))を用いて生成するものとして説明した。
In FIG. 14B of the first embodiment, the
しかしながら、環境入力装置501が3Dカメラなどから構成されている場合、実際に設置環境(図6の600)から得た空間情報を用いて、3Dモデルを生成することができる。例えばこの3Dモデルの生成は、物体分離および照合処理(S903)によって分離した物体の空間情報を用いて行うことができる。
However, when the
これにより、環境入力装置501で実際に設置環境(図6の600)から得た空間情報を用いて、接続物(例えばケーブル:図6の620、621)のような物体の現状の3Dモデルを生成できる。ここで、接続物(例えばケーブル)は接続リスト900(第2の辞書データ)のみに登録されており、形状情報は接続リスト900(第2の辞書データ)には含まれていない。
Thus, the current 3D model of an object such as a connected object (for example, a cable: 620 or 621 in FIG. 6) is created by using the space information actually obtained from the installation environment (600 in FIG. 6) by the
一方、ロボットアームや被作業物や治工具(図7の710〜712)については、設計情報(CADデータなど)から作成した空間情報700(図7:第1の辞書データ)を用いて物体の現状の3Dモデルを生成できる。 On the other hand, with respect to the robot arm, the work, and the jigs and tools (710 to 712 in FIG. 7), the space information 700 (FIG. 7: first dictionary data) created from the design information (CAD data and the like) is used for the object. A current 3D model can be generated.
その場合、特に問題となるのは、被作業物や治工具(図7の710〜712)の位置が、作業規約や設計仕様と多少、異なる位置に配置されることに伴って、変形するケーブル(図6の620、621)に関する処理である。 In this case, a particular problem is that the cable that is deformed as the position of the workpiece or the jig (710 to 712 in FIG. 7) is arranged at a position slightly different from the work protocol or the design specification. (620 and 621 in FIG. 6).
本実施例2では、変形するケーブルのような物体の配置空間を仮想的障害物として取り扱う場合の処理例を示す。 In the second embodiment, an example of processing in a case where an arrangement space of an object such as a deformable cable is treated as a virtual obstacle will be described.
図16(a)、(b)は、実環境のロボットアームの設置面650において、それぞれ異なる位置に配置された被作業物1100と、被作業物1101、および接続物(例えばケーブル)1102を示している。図16(a)、(b)では、被作業物1100がそれぞれ異なる位置に配置されており、これに伴なって接続物(例えばケーブル)1102が異なる形状に変形している。これに伴ない、仮想的障害物1103、1104として取り扱うべき、例えば直方体の接続物1102の配置空間の形状が異なったものとなっている。
FIGS. 16A and 16B show a
このように、2つの異なるケースが生じる例としては、次のような状況が考えられる。例えば、図16(a)、(b)の仮想的障害物1103、1104の一方、例えば仮想的障害物1103(図16(a))が接続リスト900(第2の辞書データ:図9(b))を用いて図示のような形状で生成されているとする。
As an example in which two different cases occur, the following situation can be considered. For example, one of the
ところが、環境入力装置501で実際に得た空間情報を用いて、接続物(例えばケーブル)1102の3Dデータを生成すると、図16(b)のような形状であり、これに応じて仮想的障害物1104を図示のような形状で生成される。
However, when the 3D data of the connected object (for example, a cable) 1102 is generated using the spatial information actually obtained by the
また、何らかの事情で、2回(以上)、環境入力装置501で実際に得た空間情報を用いて、接続物(例えばケーブル)1102の3Dデータを生成し、その間に被作業物1100が移動されている場合にも、上記のような齟齬が生じる。
Also, for some reason, the 3D data of the connected object (for example, a cable) 1102 is generated twice (or more) using the spatial information actually obtained by the
これら仮想的障害物1103、1104は、接続物(例えばケーブル)1102の占有空間であって、いずれも例えばケーブルの配置空間のXYZ方向の大きさを有する直方体形状として生成することができる。このような接続物(ケーブル)1102の占有空間、即ちロボット制御に関しては仮想的障害物(1103ないし1104)に相当する空間の3Dモデル生成は、図10の仮想環境用空間情報出力処理(S905)で実行することができる。
These
そして、もし、上記のように仮想環境用空間情報出力処理(S905)で、接続物(ケーブル)1102の変形の前後で、異なる占有空間(仮想的障害物1103ないし1104)が生成されていた場合、CPU(301)は、さらに次のような処理を行う。
If the occupied space (
図16(c)は、上記のようにして生成された接続物(例えばケーブル)1102の異なる仮想的障害物1103、1104を統合して新たな仮想的障害物1105を生成する処理の一例を示している。ここでは、CPU(301)は、接続物1102の変形の前後において接続物1102が占有している空間(1103、1104)を統合して得た占有空間の3Dモデルを生成する。そして、この統合により得た空間仮想的障害物1105として3D仮想環境(仮想環境用空間情報530)に配置する。
FIG. 16C illustrates an example of a process of generating a new
図16(c)の3次元形状に係る処理では、直方体形状の仮想的障害物1103、1104のX、Y、Z軸方向の(最大)サイズの最大値を用いて仮想的障害物1105の形状(直方体)を生成している。同様の形状演算による統合処理はCPU(301)によって、対象の仮想的障害物が3つ以上存在する場合にも適用することができる。
In the processing related to the three-dimensional shape in FIG. 16C, the shape of the
以上のように、接続物(例えばケーブル)1102の配置空間から複数の仮想的障害物1103、1104が生成された場合、例えば上記の3次元サイズの最大値演算などを利用して、それらを統合し仮想的障害物1105を生成することができる。生成した仮想的障害物1105は、侵入禁止領域として、仮想環境用空間情報530に登録することができる。このため、経時的に、あるいは接続リスト900(第2の辞書データ:図9(b))の作成時との状況の違いによって、接続物が変形する(可能性がある)場合にも対応できる。これにより、ロボットアームの侵入禁止領域を適切に設定することが可能となる。すなわち、本実施例によれば、環境入力装置501で実際に得た空間情報を統合することによって、より信頼性の高い仮想環境用空間情報530を生成して、ロボットプログラミングに用いることができる。本実施例2によれば、妥当性の高い仮想環境用空間情報530を生成することができ、ロボットアームの干渉などを生じることなく、信頼性の高いロボット制御を行える。
As described above, when a plurality of
実施例1の図6に実環境のロボットアームの設置環境600の一例を示した。配置は、図7のように設計情報に基づき生成された空間情報700(図7:第1の辞書データ)と(接続物620、621を除き)一致している。図6では、ロボットアーム200の他、被作業物610や治工具611〜612(図6)がほぼ空間情報700(図7:第1の辞書データ)を照合すれば該当する位置に配置されている。
FIG. 6 of the first embodiment shows an example of a robot
ところが、実際の設置環境(1200)では、図17に示すように、置き忘れ、作業ミスなどによって、図7の空間情報700(図7:第1の辞書データ)に存在する物体が欠けていることがある。このような置き忘れ、作業ミスは、被作業物が多い場合に設置忘れなどで起きがちである。 However, in the actual installation environment (1200), as shown in FIG. 17, an object existing in the spatial information 700 (FIG. 7: first dictionary data) in FIG. There is. Such misplacement and work mistakes tend to occur due to forgetting to install when there are many work pieces.
図17は、図8と同様に、環境入力装置501で実際に得た空間情報から環境認識した空間情報1200を示している。図8との違いは、被作業物812(図8)に対応する物体が存在しないことである。被作業物(812)は、置き忘れ、作業ミスなどによって、配置されておらず、空間情報1200には欠落している。図17では環境認識で測定されなかったこの物体を被作業物1212(破線)として示している。
FIG. 17 shows the
また、図17のように環境認識された空間情報1200は、図7の空間情報700(図7:第1の辞書データ)に基づき、生成されたものである。また、図17では、接続リスト900(第2の辞書データ)により処理されるケーブルは不図示の状態である。
The
本実施例3は、図17のように、図7の空間情報700(図7:第1の辞書データ)を用いて環境認識を行なった場合に、生成された空間情報1200で、空間情報700にある物体が欠落していた場合の情報処理に関するものである。 In the third embodiment, as shown in FIG. 17, when environment recognition is performed using the spatial information 700 (FIG. 7: first dictionary data) in FIG. Related to information processing when an object is missing.
図17の状態は、図7の空間情報700に存在する被作業物712が、実環境に配置されておらず、欠落している状態である。このような状態を想定して、図18に示すような制御手順が考えられる。
The state in FIG. 17 is a state in which the
図18は、実施例1の図10の制御手順の変形例に相当し、図8との違いは設置漏れ判定(S908)、設置漏れ警告処理(S909)が、物体分離および照合処理(S903)と接続リスト照合処理(S904)の間に挿入してある点である。この設置漏れ判定(S908)および設置漏れ警告処理(S909)以外のステップは図10と同様であるため、以下では詳細な説明は省略する。 FIG. 18 corresponds to a modification of the control procedure of FIG. 10 of the first embodiment. The difference from FIG. 8 is that the installation omission determination (S908) and the installation omission warning process (S909) are the object separation and collation processing (S903). And the connection list collation processing (S904). Steps other than the installation omission determination (S908) and the installation omission warning process (S909) are the same as those in FIG. 10, and a detailed description thereof will be omitted below.
図18のステップS901〜S903では、図10と同様に環境入力装置501で実際に得た空間情報に対する環境認識を行う。特に、物体分離および照合処理(S903)では、環境入力装置501で実際に得た空間情報の物体分離を行い、さらに空間情報700(第1の辞書データ)を用いて、ロボットアームの設置面650に現状で設置されている物体の空間情報が生成される。
In steps S901 to S903 in FIG. 18, environment recognition is performed on the spatial information actually obtained by the
図18の設置漏れ判定(S908)では、物体分離および照合処理(S903)の結果を評価する。ここでは、物体分離および照合処理(S903)によって、空間情報700(第1の辞書データ)に含まれている物体が全て同定されているか否かを判定する。具体的には、物体分離および照合処理(S903)で物体毎に分離、照合し、環境認識(同定)した結果である空間情報1200(図17)と、予め作成した空間情報700を比較する。そして、予め作成した空間情報700に存在し、環境認識した空間情報1200に存在しない物体があるか否かを判定する。
In the installation omission determination (S908) of FIG. 18, the result of the object separation and collation processing (S903) is evaluated. Here, it is determined whether or not all the objects included in the spatial information 700 (first dictionary data) have been identified by the object separation and collation processing (S903). Specifically, spatial information 1200 (FIG. 17), which is a result of separation and collation for each object in the object separation and collation processing (S903) and environment recognition (identification), is compared with
図7の状態では、空間情報700に存在する被作業物712が、実環境に配置されていないため、設置漏れ警告処理(S909)実行されることになる。空間情報700に存在する被作業物712が、実環境に漏れなく配置されている場合には、ステップS908からS904へそのまま移行する。
In the state of FIG. 7, since the
設置漏れ警告処理(S909)では、文字情報表示や、音声表示によって、空間情報700(図7:第1の辞書データ)に存在し、環境認識した空間情報1200に存在しない物体がある、即ち設置漏れがある旨の警告情報をユーザに通知する。この時、例えば環境認識装置500に設けられているモニタ(ディスプレイ)などの表示出力装置や、音声出力装置を用いることができる。この時の表示ないし音声による警告メッセージとしては「被作業物xxxが設置されていません。ご確認願います」などが考えられる。また、この時、警告メッセージと同時に当該の物体近傍の画像や、空間情報から生成した当該の物体の3D画像などを表示してもよい。このようなダイアログを実行することにより、ユーザは置き忘れの被作業物や工具などを除去する、といった作業を行うことができる。
In the installation omission warning process (S909), there is an object that exists in the space information 700 (FIG. 7: first dictionary data) and does not exist in the environment-recognized
以上のように、本実施例3によれば、予め作成した空間情報700(図7:第1の辞書データ)に存在し、環境認識した空間情報1200に存在しない物体があった場合に、ユーザに警告を与えることによって、設置漏れを回避することができる。即ち、予め作成した空間情報700(図7:第1の辞書データ)に含まれている物体が3Dデータ取得装置によって取得した3Dデータ中に存在しなかった場合、ユーザにその旨を警告する警告情報を通知する。これにより、仮想環境用空間情報530への登録漏れが回避され、プログラミング時に存在すべき物体を欠いたまま、実用できないロボット教示データが作成されてしまう、などの障害を回避することができる。
As described above, according to the third embodiment, when there is an object that exists in the spatial information 700 (FIG. 7: first dictionary data) created in advance and does not exist in the environment-recognized
本実施例4では、実施例3とは逆に、作成した空間情報700(図7:第1の辞書データ)に存在しない物体が環境認識した空間情報に存在している場合の処理につき述べる。 Fourth Embodiment In a fourth embodiment, processing that is performed in a case where an object that does not exist in the created spatial information 700 (FIG. 7: first dictionary data) exists in the environment-recognized spatial information, contrary to the third embodiment, will be described.
図19は、図8と同様に、環境入力装置501で実際に得た空間情報から環境認識した空間情報1300を示している。図8との違いは、(ハンマーのような)物体1313が存在することである。
FIG. 19 shows
ここで、図7の空間情報700(図7:第1の辞書データ)には、物体1313は含まれていないものとする。一方、図19の空間情報1300は、図7の空間情報700(図7:第1の辞書データ)との照合により、設置面1350に配置されたロボットアーム1301、被作業物1310〜1312の3Dデータが生成されている。同時に、図19の空間情報1300では、物体分離処理(図10のS903)で分離された物体のうち未照合の(照合により同定できなかった)物体1313の空間情報が含まれている。
Here, it is assumed that the
また、この図19の(ハンマーのような)物体1313は、実施例1の接続物(ケーブルなど)とは異なり、接続リスト900(第2の辞書データ)にも含まれていない。このようなケースは組立環境に置き忘れの工具があった場合や、もしくは事前の設計では想定していない新しい被作業物が追加された場合などで生じることがある。 The object 1313 (such as a hammer) in FIG. 19 is not included in the connection list 900 (second dictionary data), unlike the connection object (such as a cable) in the first embodiment. Such a case may occur when there is a misplaced tool in the assembly environment, or when a new work piece that is not assumed in the prior design is added.
本実施例4は、図19のように、空間情報700(図7:第1の辞書データ)、および接続リスト900(図9:第2の辞書データ)のいずれにも含まれていない物体が存在する場合の情報処理に関するものである。このような状態を想定して、図20に示すような制御手順が考えられる。 In the fourth embodiment, as shown in FIG. 19, an object that is not included in any of the spatial information 700 (FIG. 7: first dictionary data) and the connection list 900 (FIG. 9: second dictionary data) It relates to information processing when it exists. Assuming such a state, a control procedure as shown in FIG. 20 can be considered.
図20は、実施例1の図10の制御手順の変形例に相当し、図8との違いは障害物判定(S910)および障害物警告処理(S911)が接続リスト照合処理(S904)と仮想環境用空間情報出力処理(S905)の間に挿入してある点である。この接続リスト照合処理(S904)と仮想環境用空間情報出力処理(S905)以外のステップは図10と同様であるため、以下では詳細な説明は省略する。 FIG. 20 corresponds to a modified example of the control procedure of FIG. 10 of the first embodiment. The difference from FIG. 8 is that the obstacle determination (S910) and the obstacle warning process (S911) are virtually the same as the connection list matching process (S904). This is a point inserted during the environment space information output processing (S905). Steps other than the connection list collation processing (S904) and the virtual environment space information output processing (S905) are the same as those in FIG. 10, and a detailed description thereof will be omitted below.
図10に関して述べたように、図20のステップS901〜S904では、CPU(301)は、環境入力装置501で実際に得た空間情報を空間情報700(図7:第1の辞書データ)、および接続リスト900(図9:第2の辞書データ)と照合する。
As described with reference to FIG. 10, in steps S901 to S904 in FIG. 20, the CPU (301) converts the spatial information actually obtained by the
そして、障害物判定(S910)では、環境入力装置501で得た空間情報(1300)に、空間情報700(図7:第1の辞書データ)、接続リスト900(図9:第2の辞書データ)のいずれにも含まれていない物体(障害物)が存在するか否かを判定する。もし、環境入力装置501で得た空間情報1300にこのような物体が存在する場合には、それは障害物であるとして障害物警告処理(S911)に移行し、存在しない場合にはそのまま仮想環境用空間情報出力処理(S905)に移行する。
In the obstacle determination (S910), the spatial information (1300) obtained by the
障害物警告処理(S911)では、文字情報表示や、音声表示によって、空間情報700にも、接続リスト900にも存在しない物体が環境認識した空間情報1300に存在する、即ち障害物がある旨の警告情報をユーザに通知する。この時、例えば環境認識装置500に設けられているモニタ(ディスプレイ)などの表示出力装置や、音声出力装置を用いることができる。この時の表示ないし音声による警告メッセージとしては「未確認の物体(環境認識できない物体)があります。ご確認願います」などが考えられる。また、より明示的に「障害物があります」、あるいはさらに「障害物があります。除去して下さい」といった作業指示を含む警告メッセージを発生してもよい。これに応じて、ユーザは、表示された障害物が組み立て環境に不要な物であれば取り除く、などの作業を行うことができる。
In the obstacle warning process (S911), an object that does not exist in neither the
なお、本実施例の処理は、上記実施例3の設置忘れの処理と両立できる。即ち、図18と図20のフローは組合せることができ、ステップS908、S909およびS910、S911の両方を同じ制御手順の中に実装することができる。 Note that the processing of the present embodiment can be compatible with the processing of forgetting to install in the third embodiment. That is, the flows of FIG. 18 and FIG. 20 can be combined, and both steps S908, S909 and S910, S911 can be implemented in the same control procedure.
以上のように、本実施例4によれば、空間情報700にも、接続リスト900にも存在しない物体1313が環境入力装置501で得た空間情報1300に存在する、即ち障害物がある場合には、その旨の警告情報を発生できる。
As described above, according to the fourth embodiment, when an
即ち、本実施例4によれば、環境入力装置501で得た空間情報1300(3Dデータ)と、空間情報700(第1の辞書データ)、接続リスト900(第2の辞書データ)と、の照合をそれぞれ試行する第1および第2の照合工程を含む。そして、これらの工程で、環境入力装置501で得た空間情報1300(3Dデータ)中に前記第1および第2の辞書データのいずれにも該当しない未照合の物体が含まれている場合、ユーザにその旨を警告する警告情報を通知する。
That is, according to the fourth embodiment, the spatial information 1300 (3D data) obtained by the
これにより、ユーザに(おそらくは)障害物である物体を現場から除去させることができ、仮想環境用空間情報530に登録した空間情報のみを用いてロボット教示を行っても、ロボットアームと当該の物体が干渉する、などの障害を回避できる。
This allows the user to remove an object that is (probably) an obstacle from the site. Even if the robot teaching is performed using only the spatial information registered in the spatial information for
上記の実施例4では、設計情報などから作成された空間情報700にも、接続リスト900にも存在しない物体が環境入力装置501で得た空間情報1300に存在する、即ち障害物がある場合には、警告情報を発生する例を示した。
In the fourth embodiment, when an object that is neither present in the
実施例4の制御は、空間情報700にも、接続リスト900にも存在しない物体は障害物である、という認識に基づく。しかしながら、作業規約の変更や仕様変更などによって、事前の設計では想定していない新しい被作業物が追加される場合などがあり、一方、そのような変更に対応して空間情報700(あるいは接続リスト900)が更新されていない場合もあり得る。
The control according to the fourth embodiment is based on the recognition that an object that does not exist in neither the
このような事態まで想定すると、空間情報700にも、接続リスト900にも存在しない物体を直ちに(除去すべき)障害物である、と判定して警告するだけでは、充分ではない場合もあり得る。
Assuming such a situation, it may not be sufficient to determine that an object that does not exist in neither the
そこで、作業規約の変更や仕様変更などによる被作業物などの物体の追加と、空間情報700(あるいは接続リスト900)の更新が同期していないようなケースまで想定すると、そのような場合にはユーザへ問い合せるのが望ましい場合も考えられる。その場合、例えば、少なくともその物体を仮想環境用空間情報530に登録するか否かをユーザに問い合せる制御を行う。
Therefore, assuming a case in which the addition of an object such as a work object due to a change in a work protocol or a change in specifications and the update of the spatial information 700 (or the connection list 900) are not synchronized, in such a case, It may be desirable to contact the user. In this case, for example, control is performed to inquire the user whether or not to register at least the object in the virtual
図21は、図19と同様に環境認識した空間情報1400を示している。図19との違いは、物体1313の代わりに物体1414が存在することである。本実施例の物体1414は(置き忘れのハンマーのような)物体1313ではなく、例えば作業規約の変更や仕様変更などによって追加された被作業物(ワークなど)である。
FIG. 21 shows
ここで、図7の空間情報700(図7:第1の辞書データ)は、例えば物体1414の追加に伴う更新が追いついておらず、空間情報700には物体1414は含まれていないものとする。一方、図21の空間情報1400は、図7の空間情報700(図7:第1の辞書データ)との照合により、設置面1450に配置されたロボットアーム1401、被作業物1410〜1412の3Dデータが生成されている。同時に、図21の空間情報1400では、物体分離処理(図10のS903)で分離された物体のうち未照合の物体1414の空間情報が含まれている。
Here, it is assumed that the spatial information 700 (FIG. 7: first dictionary data) in FIG. 7 does not keep up with the update due to the addition of the
また、この図21の物体1414は、実施例1の接続物(ケーブルなど)とは異なり、接続リスト900(第2の辞書データ)にも含まれていない。
The
しかしながら、物体1414は、単なる置き忘れの工具などではなく、上記のようにロボットアーム1401で行う作業工程で必要な被作業物である場合も想定される。従って、そのような場合も想定すれば、物体1414の空間情報が認識された場合には、ユーザへ問い合せるのが望ましい。
However, the
このような物体1414に関するユーザへの問い合せを行うには、例えば上記実施例4の図20の制御手順を次のように修正すればよい(以下で説明する以外のステップについては、上述同様であるから、それらについては上記実施例4を参照されたい)。
In order to inquire the user about such an
上記のような物体1414は、空間情報700にも、接続リスト900にも存在しない物体であるから、図20のステップS910の判定は「障害物有」の結果となり、ステップS911への分岐が生じる。
Since the
本実施例5の場合には、ステップS911の障害物警告処理では、単に障害物の存在(あるいはその除去の示唆など)を警告するに留まることなく、例えば仮想環境用空間情報530への登録を行うか否かを問い合せる。その場合、例えば環境認識装置500のモニタ(ディスプレイ)などの表示出力装置や、音声出力装置を用いて、仮想環境用空間情報530への登録を行うか否かを問い合せるダイアログを実行し、ユーザ応答を取得する。その場合のダイアログメッセージとしては、「未確認の物体(環境認識できない物体)があります。ロボット教示のための仮想環境に登録しますか?」のようなものが考えられる。
In the case of the fifth embodiment, in the obstacle warning process of step S 911, the registration to the virtual
また、「ロボット教示のための仮想環境に登録する場合はOKボタンを、登録せず物体を除去する場合はNOボタンを操作してください」のようなダイアログメッセージを用いてもよい。その場合、マウスなどのポインティングデバイス(あるいはキーボード)によりユーザに応答操作を行わせることになる。 Alternatively, a dialog message such as “Operate the OK button when registering in the virtual environment for teaching robots, or the NO button when removing an object without registering” may be used. In this case, the user performs a response operation using a pointing device (or a keyboard) such as a mouse.
ステップS911において、以上のようなユーザーインターフェースを実施することにより、ユーザはダイアログ応答によって、物体1414を仮想環境用空間情報530への登録を行うか否かを決定できる。その他の制御、および変形例などについては上記実施例4と同様であり、ここでは説明を省略する。
In step S911, by performing the above-described user interface, the user can determine whether or not to register the
以上のように、本実施例5によれば、空間情報700にも、接続リスト900にも存在しない物体1414が環境入力装置501で得た空間情報1400(3Dデータ)に存在する場合、問い合せを行うことができる。この問い合せでは、例えば、仮想環境用空間情報530への登録を行うか否かを問い合せる。
As described above, according to the fifth embodiment, when an
即ち、本実施例5によれば、空間情報700(第1の辞書データ)、接続リスト900(第2の辞書データ)との照合をそれぞれ試行する第1および第2の3Dモデル生成工程を含む。そして、これらの工程で、環境入力装置501で得た空間情報1400(3Dデータ)中に前記第1および第2の辞書データのいずれにも該当しない未照合の物体が含まれている場合、ユーザに問い合せのユーザーインターフェース工程を実行する。このユーザーインターフェース工程では、未照合の物体の3Dモデルを生成して3D仮想環境(仮想環境用空間情報530)へ配置するか否かをユーザに問い合せる。
That is, according to the fifth embodiment, the method includes the first and second 3D model generation steps of trying to match the spatial information 700 (first dictionary data) with the connection list 900 (second dictionary data). . In these steps, when the spatial information 1400 (3D data) obtained by the
これにより、未照合の物体1414がロボット作業に必要な、例えば被作業物であれば、ユーザは仮想環境用空間情報530に物体1414の空間情報を追加し、それを用いて必要なロボット教示を行える。また、物体1414が例えば置き忘れの工具などであれば、上記実施例4と同様に、例えば設置面1450から除去させる作業を促すことができる。
Accordingly, if the
なお、以上では、ステップS911において実施するダイアログは、仮想環境用空間情報530への登録を行うか否かを問い合せるものとして説明した。これに加えて、あるいはさらに環境入力装置501で得た物体1414の空間情報から必要な情報を抽出して、空間情報700(あるいは接続リスト900)に追加登録する制御を行うことも考えられる。そのような追加登録を実施するか否かを問い合せるユーザーインターフェースは上記と同様に実施することができる。
In the above description, the dialog performed in step S911 is described as inquiring whether to register the virtual
本実施例では、上記実施例1の図9(b)で説明した接続リスト900の異なる構成(図22(b)の900a)を示す。
In the present embodiment, a different configuration (900a in FIG. 22B) of the
図22(a)、(b)は、実施例1の図9(a)、(b)と同等の様式の図示である。図22(a)は、図9(a)と同等で、図7の設計情報から得た空間情報700を上方から俯瞰した状態で示したものである。図22(a)の物体A〜D(901〜904)は、図9(a)と同等で、物体A,B(901、902)およびC(903)が図7の被作業物710〜712に対応し、D(904)がロボットアーム701に対応している。また、破線で示すように、物体A,B(901、902)間、および物体C,D(903、904)間を接続するケーブルの接続態様も図9(a)と同等である。
FIGS. 22 (a) and 22 (b) are illustrations of a mode equivalent to FIGS. 9 (a) and 9 (b) of the first embodiment. FIG. 22 (a) is equivalent to FIG. 9 (a), and shows the
上記のようなロボット設置環境において、図22(a)では、さらに(ハンマー様の)障害物1500が配置されている状態が図示されている。図22(a)の障害物1500は、図示のように物体C,D(903、904)間を接続するケーブル上に重ねて配置されている。
In the robot installation environment as described above, FIG. 22A illustrates a state in which an obstacle (like a hammer) 1500 is further arranged. The
実施例1で説明した接続リスト900(図9(b))は、上述のように、主として接続位置情報(905)、および接続方向に関する情報(906)によって構成されており、接続物(ケーブルなど)の形状ないしサイズに関する情報を含まない。 As described above, the connection list 900 (FIG. 9B) described in the first embodiment mainly includes the connection position information (905) and the information on the connection direction (906). ) Does not include information on the shape or size.
このため、図22(a)の障害物1500のように、物体の伸びる方向や姿勢が接続位置情報(905)や接続方向に関する情報(906)に類似していると、誤認識の可能性は否めない。
For this reason, as in the case of the
例えば図22(a)のような姿勢で障害物1500が接続物(破線:ケーブル)と重なっているような場合を考える。その場合、図9(b)の接続位置情報(905)および接続方向に関する情報(906)と照合すると、同図の2ライン目の物体C、Dを接続する接続物に該当してしまう可能性がある。
For example, consider a case where the
このようなケースを考慮して、図22(b)のような接続リスト900aの構成が考えられる。図22(b)の接続リスト900aは、図9(b)の接続位置情報(905)および接続方向に関する情報(906)に加えて物体の体積に関する情報907、および物体のアスペクト比に関する情報908が追加されている。
In consideration of such a case, a configuration of the
図22(b)の接続リスト900aは、図22(a)の接続物(ケーブル)を定義したもので、接続位置情報(905)および接続方向に関する情報(906)の値は図9(b)のものと同等である。
The
物体の体積に関する情報907、および物体のアスペクト比に関する情報908は、設置環境に配置される接続物(ケーブル)の寸法やサイズに応じて決定されている。物体の体積に関する情報907は、同図中の左側のフィールドにm3(メートル3乗)の単位で定義されている。また、物体のアスペクト比に関する情報908は、同図中の左側の3つのフィールドに例えば各座標軸方向のサイズの比率(X/Y、X/Z、Y/Z:単位なし)によって定義されている。また、これらの情報907、908の右側のフィールドには、体積値およびサイズ比率に関する許容誤差が定義されている。
図22(b)の物体の体積に関する情報907、および物体のアスペクト比に関する情報908の各フィールドの値は、接続物(ケーブル)のような物体の表現である。これらの情報907、908の値は、接続物(ケーブル)のような物体を同定でき、一方、例えば(ハンマー様の)障害物1500とは一致(照合該当)しないよう考慮されている。
The value of each field of the
図22(b)の接続リスト900aとの照合は、図10(実施例1)または図20(実施例4、5)の接続リスト照合処理(S904)で行うことができる。その場合、照合には、物体分離処理(図10のS903)で分離されたもののうち未照合の物体(1500)の空間情報(3Dデータ)が用いられる。接続位置(905)、および接続方向(906)の情報との照合は、CPU(301)によって、実施例1で述べたのと同様に実行される。
Collation with the
また、同様に物体(1500)の空間情報(3Dデータ)から、CPU(301)は、その物体の体積および各軸方向のアスペクト比を計算する。そして、算出された物体(1500)の体積および各軸方向のアスペクト比と、物体の体積に関する情報907、および物体のアスペクト比に関する情報908を比較する。この比較では、情報907、908に定義されている許容範囲内の差異は許容される。
Similarly, from the spatial information (3D data) of the object (1500), the CPU (301) calculates the volume of the object and the aspect ratio in each axis direction. Then, the calculated volume of the object (1500) and the aspect ratio in each axial direction are compared with
そして、情報(905、906、907および908)の照合が全て該当している場合に、接続リスト照合処理(S904)は検索成功(ヒット:該当)と判断する。なお、図10(実施例1)または図20(実施例4、5)における他のステップは、前述同様に実行することができる。
If all of the information (905, 906, 907, and 908) matches, the connection list matching process (S904) determines that the search is successful (hit: applicable). The other steps in FIG. 10 (Embodiment 1) or FIG. 20 (
上記の通り、図22(b)のように接続リスト900aを構成しておき、上記のような照合処理(図10、図20のS904)を行う。これにより図22(a)のように接続物(ケーブル)の中央に重なって配置されているような障害物1500が誤認識されてしまうのを防止できる。従って、接続リスト900aによって、意図したケーブルのような接続物のみを照合該当あり、として仮想環境用空間情報530に登録させることができる。
As described above, the
また、接続リスト900aとの照合(S904)で該当なし、と判定された場合は、実施例4、5の構成であれば、上述の障害物に関する警告ないし問い合せ処理を確実に実行することができる。
If it is determined that there is no match in the comparison with the
以上のようにして、本実施例6によれば、接続リスト900a(第2の辞書データ)に、設置環境に配置される可能性のある接続物のような物体に関して、その物体の形状ないしサイズ情報を含めている。特に、設置環境に配置される可能性のある接続物のような物体に関して、その物体の体積または、アスペクト比、あるいは、これらに関する許容誤差情報を含めている。このため、接続物(ケーブル)の中央に重なって配置されているような障害物(1500)が誤認識されてしまうのを防止できる。従って、接続リスト900a(第2の辞書データ)によって、意図したケーブルのような接続物のみを照合該当あり、として仮想環境用空間情報530に登録させることができる。
As described above, according to the sixth embodiment, for the
このため、本実施例6によれば、実際のロボット設置環境を高信頼度で再現した仮想環境用空間情報530を得ることができ、これを用いて正確かつ確実なロボット教示(プログラミング)を行うことができる。
Therefore, according to the sixth embodiment, it is possible to obtain the virtual
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program for realizing one or more functions of the above-described embodiments to a system or an apparatus via a network or a storage medium, and one or more processors in a computer of the system or the apparatus read and execute the program. This processing can be realized. Further, it can also be realized by a circuit (for example, an ASIC) that realizes one or more functions.
100…ロボット装置、200…ロボットアーム(多関節ロボット)、201〜206…アクチュエータ、211〜216…電動モータ、221〜226…減速機、230…サーボ制御装置(駆動制御部)、300…ロボット制御装置、330…プログラム、500…環境認識装置、501…環境入力装置、520…空間情報、522…記録ディスク(記録媒体)、530…仮想環境用空間情報、532…記録ディスク(記録媒体)、550…ロボット動作プログラム作成装置、570…ロボット動作プログラム、580…記録ディスク(記録媒体)。
100: Robot device, 200: Robot arm (articulated robot), 201 to 206: Actuator, 211 to 216: Electric motor, 221 to 226: Reduction gear, 230: Servo control device (drive control unit), 300: Robot control Device, 330: program, 500: environment recognition device, 501: environment input device, 520: space information, 522: recording disk (recording medium), 530: space information for virtual environment, 532: recording disk (recording medium), 550 ... Robot operation
Claims (17)
前記制御装置が、前記3Dデータ取得装置によって取得した3Dデータと、前記設置環境に配置される物体の形状情報を含む第1の辞書データと、を照合する第1の照合工程と、
前記制御装置が、前記3Dデータ取得装置によって取得した3Dデータと、前記設置環境に配置される物体へ接続される柔軟物に関する情報を含む第2の辞書データと、を照合する第2の照合工程と、
前記制御装置が、前記第1または第2の照合工程に基づき、前記設置環境に配置されている物体の3Dモデルを生成して前記3D仮想環境に配置する出力処理工程と、を含み、
前記第2の辞書データは、前記設置環境に配置される物体に対して前記柔軟物が接続される位置または方向の少なくとも一つを有する接続特性情報を含み、前記制御装置は、前記第2の照合工程において、前記3Dデータ取得装置によって取得した3Dデータと、前記接続特性情報と、を照合することを特徴とする仮想環境作成方法。 The control device generates a 3D model of the object installed in the installation environment using the 3D data acquired by the 3D data acquisition device from the installation environment of the production device, and arranges the 3D model in a 3D virtual environment corresponding to the installation environment of the production device. Virtual environment creation method
A first matching step in which the control device matches 3D data acquired by the 3D data acquisition device with first dictionary data including shape information of an object placed in the installation environment;
A second collation step in which the control device collates the 3D data acquired by the 3D data acquisition device with second dictionary data including information on a flexible object connected to an object placed in the installation environment. When,
Wherein the controller, based on the first or second verification process, look including an output processing step, which generates a 3D model of the object being disposed in the installation environment to place the 3D virtual environment,
The second dictionary data includes connection characteristic information including at least one of a position and a direction in which the flexible object is connected to an object placed in the installation environment, and the control device includes: A virtual environment creation method , wherein in the collation step, the 3D data acquired by the 3D data acquisition device is collated with the connection characteristic information .
前記生産装置の設置環境から3Dデータ取得装置によって3Dデータを取得する取得手段と、
取得された前記3Dデータと、前記設置環境に配置される物体の形状情報を含む第1の辞書データと、を照合する第1の照合手段と、
前記3Dデータ取得装置によって取得した3Dデータと、前記設置環境に配置される物体へ接続される柔軟物に関する情報を含む第2の辞書データと、を照合する第2の照合手段と、
前記第1または第2の照合手段による照合結果に基づき、前記設置環境に配置されている物体の配置を示す3D仮想環境を前記表示装置に出力する出力手段と、を含み、
前記第2の辞書データは、前記設置環境に配置される物体に対して前記柔軟物が接続される位置または方向の少なくとも一つを有する接続特性情報を含み、前記第2の照合手段は、前記3Dデータ取得装置によって取得した3Dデータと、前記接続特性情報と、を照合することを特徴とする情報処理装置。 An information processing apparatus for generating a 3D virtual environment corresponding to an installation environment of a production device and displaying the 3D virtual environment on a display device,
Acquiring means for acquiring 3D data from a setting environment of the production device by a 3D data acquiring device;
First matching means for matching the acquired 3D data with first dictionary data including shape information of an object placed in the installation environment;
A second matching unit that matches the 3D data acquired by the 3D data acquisition device with second dictionary data including information on a flexible object connected to an object placed in the installation environment;
Based on the comparison result by said first or second comparing means, seen including output means, the outputting of the 3D virtual environment showing the arrangement of the object being disposed in the installation environment on said display device,
The second dictionary data includes connection characteristic information including at least one of a position and a direction in which the flexible object is connected to an object arranged in the installation environment, and the second collation unit includes: An information processing apparatus for collating 3D data acquired by a 3D data acquisition apparatus with the connection characteristic information .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015156175A JP6643000B2 (en) | 2015-08-06 | 2015-08-06 | Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015156175A JP6643000B2 (en) | 2015-08-06 | 2015-08-06 | Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017035739A JP2017035739A (en) | 2017-02-16 |
JP2017035739A5 JP2017035739A5 (en) | 2018-11-22 |
JP6643000B2 true JP6643000B2 (en) | 2020-02-12 |
Family
ID=58048696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015156175A Active JP6643000B2 (en) | 2015-08-06 | 2015-08-06 | Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6643000B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107263449B (en) * | 2017-07-05 | 2020-01-10 | 中国科学院自动化研究所 | Robot remote teaching system based on virtual reality |
CN109255813B (en) * | 2018-09-06 | 2021-03-26 | 大连理工大学 | Man-machine cooperation oriented hand-held object pose real-time detection method |
WO2021122562A1 (en) * | 2019-12-18 | 2021-06-24 | Carl Zeiss Meditec Ag | Personalized patient interface for ophthalmic devices |
EP4126474A1 (en) * | 2020-03-27 | 2023-02-08 | ABB Schweiz AG | Method and system for programming a robot |
JP2022186476A (en) * | 2021-06-04 | 2022-12-15 | パナソニックIpマネジメント株式会社 | Information processing device, information processing method, and computer program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11296218A (en) * | 1998-04-09 | 1999-10-29 | Hitachi Ltd | Method for off line teaching of robot |
JP5448326B2 (en) * | 2007-10-29 | 2014-03-19 | キヤノン株式会社 | Gripping device and gripping device control method |
-
2015
- 2015-08-06 JP JP2015156175A patent/JP6643000B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017035739A (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643000B2 (en) | Virtual environment creation method, robot apparatus control method, robot system, and information processing apparatus | |
US20200338730A1 (en) | Trajectory planning device, trajectory planning method and program | |
EP3166084B1 (en) | Method and system for determining a configuration of a virtual robot in a virtual environment | |
CN106873550B (en) | Simulation device and simulation method | |
US8879822B2 (en) | Robot control system, robot system and program | |
US11135720B2 (en) | Method and system for programming a cobot for a plurality of industrial cells | |
Pang et al. | Assembly feature design in an augmented reality environment | |
JP7376268B2 (en) | 3D data generation device and robot control system | |
JP2014024162A (en) | Robot system, robot control device, robot control method and robot control program | |
JP5113666B2 (en) | Robot teaching system and display method of robot operation simulation result | |
US20240075629A1 (en) | Autonomous welding robots | |
JP2015071206A (en) | Control device, robot, teaching data generation method, and program | |
Gu et al. | Automated assembly skill acquisition and implementation through human demonstration | |
US10406688B2 (en) | Offline programming apparatus and method having workpiece position detection program generation function using contact sensor | |
CN111745639B (en) | Information processing method and device, object detection device and robot system | |
US20180250827A1 (en) | Robot system, and control method | |
WO2016017501A1 (en) | Method and device for generating robot control program | |
US20230141971A1 (en) | Method and device for collision avoidance during workpiece processing by a multi-axis processing machine | |
JP2017213672A (en) | Collision prevention in robotic manufacturing environment | |
KR20180076966A (en) | Method for detecting workpiece welding line by welding robot | |
Li et al. | Digital twin model-based smart assembly strategy design and precision evaluation for PCB kit-box build | |
JP2015085450A (en) | Robot control system, robot, program and robot control method | |
CN114845843A (en) | Program generation device, program generation method, and generation program | |
US11941846B2 (en) | Device and method for ascertaining the pose of an object | |
CN117881370A (en) | Method and system for determining joints in a virtual kinematic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190718 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190906 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200106 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6643000 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |