JP6973444B2 - Control system, information processing device and control method - Google Patents
Control system, information processing device and control method Download PDFInfo
- Publication number
- JP6973444B2 JP6973444B2 JP2019082776A JP2019082776A JP6973444B2 JP 6973444 B2 JP6973444 B2 JP 6973444B2 JP 2019082776 A JP2019082776 A JP 2019082776A JP 2019082776 A JP2019082776 A JP 2019082776A JP 6973444 B2 JP6973444 B2 JP 6973444B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- end effector
- unit
- movable
- work
- 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
- Manipulator (AREA)
Description
本技術は、制御システム、情報処理装置および制御方法に関する。 The present technology relates to control systems, information processing devices and control methods.
従来、複数の物体の中から対象物をピッキングするエンドエフェクタを有するロボットが知られている。このようなピッキングでは、エンドエフェクタが対象ワークの周囲に存在する障害物(他のワークやコンテナなど)と干渉する可能性がある。このような干渉を避けるために、ピッキングするときのエンドエフェクタの位置を計算して周囲の物体との干渉判定を行なう技術が知られている。 Conventionally, a robot having an end effector that picks an object from a plurality of objects is known. In such picking, the end effector may interfere with obstacles (such as other workpieces and containers) existing around the target workpiece. In order to avoid such interference, a technique is known in which the position of the end effector at the time of picking is calculated to determine the interference with surrounding objects.
例えば、特開2018−144166号公報(特許文献1)には、エンドエフェクタモデル登録部と、追加モデル作成部と、干渉判定部とを備える画像処理装置が開示されている。エンドエフェクタモデル登録部は、三次元CAD(Computer Aided Design)データであるエンドエフェクタモデルを登録する。追加モデル作成部は、予め規定された一以上の立体的な図形で表現した追加領域を、エンドエフェクタモデルの表面に追加した追加モデルを作成する。干渉判定部は、エンドエフェクタモデル登録部で登録されたエンドエフェクタモデルと追加モデル作成部で作成された追加モデルが、ワークモデルに対する把持動作を妨げる可能性のある他の物体と干渉するか否かを判定する。 For example, Japanese Patent Application Laid-Open No. 2018-144166 (Patent Document 1) discloses an image processing apparatus including an end effector model registration unit, an additional model creation unit, and an interference determination unit. The end effector model registration unit registers an end effector model that is three-dimensional CAD (Computer Aided Design) data. The additional model creation unit creates an additional model in which an additional area represented by one or more predetermined three-dimensional figures is added to the surface of the end effector model. The interference determination unit determines whether the end effector model registered in the end effector model registration unit and the additional model created in the additional model creation unit interfere with other objects that may interfere with the gripping motion of the work model. Is determined.
一般的に、エンドエフェクタは、対象ワークをピッキングするための可動部を有する。しかしながら、三次元CADデータは、可動部が定位置にあるときのエンドエフェクタモデルを示している。特許文献1に記載の技術では、エンドエフェクタモデルに追加モデルを追加できるものの、エンドエフェクタモデル自体を変更することができない。そのため、対象ワークをピッキングするときの可動部の位置とエンドエフェクタモデルにおける可動部に対応する部分の位置とが異なる場合、精度良く干渉判定を行なうことができない。
Generally, the end effector has a movable part for picking the target work. However, the 3D CAD data shows an end effector model when the moving part is in place. In the technique described in
画像処理装置に三次元CADデータの編集ソフトを組み込むことにより、対象ワークをピッキングするときの可動部の位置に応じてエンドエフェクタモデルを編集することができる。しかしながら、三次元CADデータは品質に直接影響を及ぼす情報であり、通常、製造現場の作業者は、三次元CADモデルを編集する権限を持たない。そのため、画像処理装置に編集ソフトを組み込むことは現実的ではない。 By incorporating 3D CAD data editing software into the image processing device, it is possible to edit the end effector model according to the position of the movable portion when picking the target work. However, 3D CAD data is information that directly affects quality, and workers at the manufacturing site usually do not have the authority to edit the 3D CAD model. Therefore, it is not realistic to incorporate editing software into an image processing device.
本発明は、上記の問題に鑑みてなされたものであり、その目的は、エンドエフェクタと物体との干渉判定を精度良く行なうことが可能な制御システム、情報処理装置および制御方法を提供することである。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a control system, an information processing device, and a control method capable of accurately determining interference between an end effector and an object. be.
本開示の一例によれば、制御システムは、複数の物体の中の1つの物体を対象物としてピッキングするエンドエフェクタを有するロボットを制御する。エンドエフェクタは、可動部と、可動部を移動可能に支持する支持部とを含む。制御システムは、取得部と、ユーザインターフェースと、第1設定部と、計測部と、選択部と、判定部とを備える。取得部は、エンドエフェクタの三次元形状を示す第1形状データを取得する。第1設定部は、第1形状データで示されるエンドエフェクタモデルをユーザインターフェースに表示させ、ユーザインターフェースに入力された情報に基づいて、エンドエフェクタモデルのうち可動部に対応する可動部モデルと可動部モデルの可動方向とを設定する。計測部は、複数の物体を含む視野領域の三次元形状を計測する。選択部は、計測部の計測結果に基づいて、対象物をピッキングするときのエンドエフェクタの位置姿勢候補を選択する。判定部は、選択部によって選択された位置姿勢候補のエンドエフェクタモデルと対象物以外の物体との干渉判定を行なう。判定部は、エンドエフェクタモデルにおいて、設定された移動量だけ可動部モデルを可動方向に移動させた状態で干渉判定を行なう。 According to one example of the present disclosure, the control system controls a robot having an end effector that picks one object among a plurality of objects as an object. The end effector includes a movable portion and a support portion that movably supports the movable portion. The control system includes an acquisition unit, a user interface, a first setting unit, a measurement unit, a selection unit, and a determination unit. The acquisition unit acquires first shape data indicating the three-dimensional shape of the end effector. The first setting unit displays the end effector model indicated by the first shape data on the user interface, and based on the information input to the user interface, the movable part model and the movable part corresponding to the movable part of the end effector model. Set the movable direction of the model. The measuring unit measures the three-dimensional shape of the visual field region including a plurality of objects. The selection unit selects the position / orientation candidate of the end effector when picking the object based on the measurement result of the measurement unit. The determination unit determines interference between the end effector model of the position / orientation candidate selected by the selection unit and an object other than the object. In the end effector model, the determination unit makes an interference determination in a state where the movable unit model is moved in the movable direction by a set amount of movement.
この開示によれば、対象物のサイズに応じた移動量が適宜設定されることにより、実際に対象物をピッキングするときのエンドエフェクタの形状に合うようにエンドエフェクタモデルの形状を変更できる。そのため、変更後のエンドエフェクタモデルを用いることにより、エンドエフェクタと対象物以外の物体との干渉判定を精度良く行なうことができる。 According to this disclosure, the shape of the end effector model can be changed so as to match the shape of the end effector when actually picking the object by appropriately setting the movement amount according to the size of the object. Therefore, by using the modified end effector model, it is possible to accurately determine the interference between the end effector and an object other than the object.
上述の開示において、取得部は、対象物の三次元形状を示す第2形状データをさらに取得する。制御システムは、さらに、第2形状データで示される対象物モデルをエンドエフェクタモデルがピッキングするために必要な可動部モデルの移動量を設定する第2設定部を備える。判定部は、第2設定部によって設定された移動量だけ可動部モデルを移動させる。 In the above disclosure, the acquisition unit further acquires the second shape data indicating the three-dimensional shape of the object. The control system further includes a second setting unit that sets the amount of movement of the movable part model required for the end effector model to pick the object model indicated by the second shape data. The determination unit moves the movable unit model by the amount of movement set by the second setting unit.
この開示によれば、対象物モデルとエンドエフェクタモデルとを用いることにより、ピッキングに必要な可動部モデルの移動量を適切に設定できる。 According to this disclosure, by using the object model and the end effector model, the amount of movement of the movable part model required for picking can be appropriately set.
上述の開示において、複数の物体は、互いに形状およびサイズの少なくとも一方の異なる複数種類の物体を含む。取得部は、複数種類の物体の各々について、当該物体の三次元形状を示す第2形状データをさらに取得する。制御システムは、さらに、複数種類の物体の各々に対して、第2形状データで示される物体モデルをエンドエフェクタモデルがピッキングするために必要な可動部モデルの移動量を設定する第2設定部を備える。選択部は、計測部の計測結果に基づいて対象物の種類を識別し、識別結果に応じて位置姿勢候補を選択する。判定部は、選択部によって識別された種類に対して第2設定部によって設定された移動量だけ可動部モデルを移動させる。 In the above disclosure, the plurality of objects include a plurality of types of objects having at least one of different shapes and sizes from each other. The acquisition unit further acquires the second shape data indicating the three-dimensional shape of the object for each of the plurality of types of objects. The control system further provides a second setting unit for each of the plurality of types of objects to set the amount of movement of the movable part model required for the end effector model to pick the object model indicated by the second shape data. Be prepared. The selection unit identifies the type of the object based on the measurement result of the measurement unit, and selects a position / posture candidate according to the identification result. The determination unit moves the movable unit model by the amount of movement set by the second setting unit with respect to the type identified by the selection unit.
この開示によれば、複数種類の物体が存在していたとしても、対象物の種類に応じた移動量が設定される。当該移動量に応じて変更されたエンドエフェクタモデルを用いることにより、エンドエフェクタと対象物以外の物体との干渉判定をより精度良く行なうことができる。 According to this disclosure, even if a plurality of types of objects exist, the amount of movement is set according to the type of the object. By using the end effector model changed according to the movement amount, it is possible to more accurately determine the interference between the end effector and an object other than the object.
上述の開示において、制御システムは、視野領域の三次元形状に基づいて、対象物をピッキングするために必要な可動部モデルの移動量を設定する第2設定部をさらに備える。判定部は、第2設定部によって設定された移動量だけ可動部モデルを移動させる。 In the above disclosure, the control system further comprises a second setting unit that sets the amount of movement of the movable unit model required to pick the object based on the three-dimensional shape of the visual field region. The determination unit moves the movable unit model by the amount of movement set by the second setting unit.
この開示によれば、対象物の三次元形状を示すデータが存在しない場合であっても、対象物をピッキングするために必要な可動部モデルの移動量が設定される。当該移動量に応じて変更されたエンドエフェクタモデルを用いることにより、エンドエフェクタと対象物以外の物体との干渉判定をより精度良く行なうことができる。 According to this disclosure, even when there is no data indicating the three-dimensional shape of the object, the amount of movement of the movable part model required for picking the object is set. By using the end effector model changed according to the movement amount, it is possible to more accurately determine the interference between the end effector and an object other than the object.
上述の開示において、支持部は、平行移動および回転移動の少なくとも一方が可能なように可動部を支持する。この開示によれば、様々なタイプのエンドエフェクタに適用することができる。 In the above disclosure, the support supports the movable part so that at least one of translation and rotational movement is possible. According to this disclosure, it can be applied to various types of end effectors.
上述の開示において、可動部は複数の爪部を有し、支持部は、複数の爪部間の距離が可変となるように、複数の爪部をそれぞれ平行移動可能に支持してもよい。 In the above disclosure, the movable portion has a plurality of claw portions, and the support portion may support the plurality of claw portions so as to be able to move in parallel so that the distance between the plurality of claw portions is variable.
この開示によれば、エンドエフェクタモデルを構成するパーツの個数が少ないため、作業者は、ユーザインターフェースを用いて、可動部モデルを容易に設定することができる。 According to this disclosure, since the number of parts constituting the end effector model is small, the operator can easily set the movable part model by using the user interface.
上述の開示において、可動部は、複数の爪部を有する。第2設定部は、視野領域の三次元形状の中から最も高い位置を抽出する。第2設定部は、視野領域のうち、抽出された位置との高度差が規定値以下となる領域をラベリングする。第2設定部は、複数の爪部がラベリングされた1つの領域の周囲に位置し、かつ、複数の爪部がラベリングされた他の領域と重ならないように、複数の爪部の各々の移動量を設定する。 In the above disclosure, the movable portion has a plurality of claw portions. The second setting unit extracts the highest position from the three-dimensional shape of the visual field region. The second setting unit labels the area of the visual field area where the altitude difference from the extracted position is equal to or less than the specified value. The second setting unit is a movement of each of the plurality of claws so that the plurality of claws are located around one labeled area and the plurality of claws do not overlap with the other labeled areas. Set the amount.
この開示によれば、ラベリングされた領域は、計測された三次元形状における凸部に対応する。対象物は、当該凸部に位置する。そのため、対象物の三次元形状を示すデータが存在しない場合であっても、計測された三次元形状の凹部に位置し、かつ、複数の爪部が対象物の周囲に位置するときの可動部モデルの移動量が設定される。当該移動量に応じて変更されたエンドエフェクタモデルを用いることにより、エンドエフェクタと対象物以外の物体との干渉判定をより精度良く行なうことができる。 According to this disclosure, the labeled region corresponds to a convex part in the measured three-dimensional shape. The object is located on the convex portion. Therefore, even if there is no data indicating the three-dimensional shape of the object, the movable part is located in the concave portion of the measured three-dimensional shape and when a plurality of claws are located around the object. The amount of movement of the model is set. By using the end effector model changed according to the movement amount, it is possible to more accurately determine the interference between the end effector and an object other than the object.
本開示の一例によれば、情報処理装置は、ユーザインターフェースを用いて、対象物をピッキングするエンドエフェクタの三次元形状を示す形状データに対する情報処理を行なう。エンドエフェクタは、可動部と、可動部を移動可能に支持する支持部とを含む。情報処理装置は、エンドエフェクタの三次元形状を示す形状データを取得する取得部と、形状データで示されるエンドエフェクタモデルをユーザインターフェースに表示させ、ユーザインターフェースに入力された情報に基づいて、エンドエフェクタモデルのうち可動部に対応する可動部モデルと可動部モデルの可動方向とを設定する設定部とを備える。 According to an example of the present disclosure, the information processing apparatus uses a user interface to process information on shape data indicating a three-dimensional shape of an end effector that picks an object. The end effector includes a movable portion and a support portion that movably supports the movable portion. The information processing device displays an acquisition unit that acquires shape data indicating the three-dimensional shape of the end effector and an end effector model indicated by the shape data on the user interface, and based on the information input to the user interface, the end effector. Among the models, a movable part model corresponding to the movable part and a setting part for setting the movable direction of the movable part model are provided.
本開示の一例によれば、制御方法は、複数の物体の中から1つの物体を対象物としてピッキングするエンドエフェクタを有するロボットを制御する方法である。エンドエフェクタは、可動部と、可動部を移動可能に支持する支持部とを含む。制御方法は、第1〜第5のステップを備える。第1のステップは、エンドエフェクタの三次元形状を示す形状データを取得するステップである。第2のステップは、形状データで示されるエンドエフェクタモデルをユーザインターフェースに表示させ、ユーザインターフェースに入力された情報に基づいて、エンドエフェクタモデルのうち可動部に対応する可動部モデルと可動部モデルの可動方向とを設定するステップである。第3のステップは、複数の物体を含む視野領域の三次元形状を計測するステップである。第4スのステップは、計測結果に基づいて、対象物をピッキングするときのエンドエフェクタの位置姿勢候補を選択するステップである。第5のステップは、選択された位置姿勢候補のエンドエフェクタモデルと対象物以外の物体との干渉判定を行なうステップである。干渉判定を行なうステップは、エンドエフェクタモデルにおいて、設定された移動量だけ可動部モデルを可動方向に移動させるステップを含む。 According to one example of the present disclosure, the control method is a method of controlling a robot having an end effector that picks one object from a plurality of objects as an object. The end effector includes a movable portion and a support portion that movably supports the movable portion. The control method includes the first to fifth steps. The first step is a step of acquiring shape data indicating the three-dimensional shape of the end effector. The second step is to display the end effector model indicated by the shape data on the user interface, and based on the information input to the user interface, the movable part model and the movable part model corresponding to the movable part of the end effector model. It is a step to set the movable direction. The third step is to measure the three-dimensional shape of the visual field region including a plurality of objects. The fourth step is a step of selecting a position / orientation candidate of the end effector when picking an object based on the measurement result. The fifth step is a step of determining interference between the selected position / orientation candidate end effector model and an object other than the object. The step of determining the interference includes a step of moving the movable portion model in the movable direction by a set amount of movement in the end effector model.
これらの開示によっても、エンドエフェクタと物体との干渉判定を精度良く行なうことができる。 Even with these disclosures, it is possible to accurately determine the interference between the end effector and the object.
本開示によれば、エンドエフェクタと物体との干渉判定を精度良く行なうことができる。 According to the present disclosure, it is possible to accurately determine the interference between the end effector and the object.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are designated by the same reference numerals and the description thereof will not be repeated.
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、コンテナ5にばら積みされた物体であるワーク1を1個ずつピッキングするような制御を行う。なお、図1には、理解を容易にするため、コンテナ5内に2つのワーク1のみが存在する場合を図示するが、多数のワーク1が重なった状態で配置されていてもよい。
§1 Application example First, an example of a situation in which the present invention is applied will be described with reference to FIG. FIG. 1 is a schematic diagram showing an overall configuration of a control system according to an embodiment. The control system SYS exemplified in FIG. 1 is incorporated in a production line or the like, and controls such that
図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300とを備える。画像処理装置100には、プロジェクタ(照明装置)7、撮像装置8およびユーザインターフェース9が接続されている。
The control system SYS exemplified in FIG. 1 includes an
ロボット300は、ワーク1をピッキングする動作を行なう。ロボット300は、ワーク1を把持するエンドエフェクタ30と、一端においてエンドエフェクタ30を支持する多関節アーム33と、多関節アーム33の他端を支持するベース34とを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。
The
ロボットコントローラ200は、画像処理装置100から、エンドエフェクタ30が取るべき位置姿勢を示す位置姿勢情報を受ける。ロボットコントローラ200は、当該位置姿勢情報に基づいて、ロボット300のエンドエフェクタ30を適切な位置姿勢に位置決めするための指令を生成し、ロボット300へ出力する。この指令に応答して、ロボット300は、ワーク1のピッキング動作(図1に示す例では把持動作)を開始する。
The
プロジェクタ7は、一種の面光源として機能するとともに、画像処理装置100からの指示に従って任意の濃淡パターンの照明光を所定位置(ワーク1を含むコンテナ5が配置される位置)に投影できるものとする。この任意の濃淡パターンは、照射面内で明るさが均一であるパターンおよび照射面内の所定方向に沿って明るさが周期的に変化するパターンを含む。
The
プロジェクタ7は、主要なコンポーネントとして、LED(Light Emitting Diode)やハロゲンランプなどの光源と、プロジェクタ7の照射面の側に配置されたフィルタとを含む。また、フィルタは、後述するような三次元形状の計測に必要な濃淡パターンを発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。なお、フィルタの代わりに、液晶ディスプレイやデジタルミラーデバイスを用いて濃淡パターンを発生させてもよい。液晶ディスプレイやデジタルミラーデバイスを用いることにより任意の濃淡パターンを発生できる。
The
撮像装置8は、視野領域にコンテナ5が含まれるように設置され、プロジェクタ7によって照射された照明光がワーク1の表面で反射した光を撮像する。撮像装置8は、撮像により得られた画像を画像処理装置100に出力する。
The
撮像装置8は、主要なコンポーネントとして、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。
The
画像処理装置100は、撮像装置8から受けた画像に基づいて、コンテナ5内の複数のワーク1の中の1つを対象ワーク2として選択し、対象ワーク2を把持するためのエンドエフェクタ30の位置姿勢を決定する。画像処理装置100は、決定した位置姿勢を示す位置姿勢情報を生成し、生成した位置姿勢情報をロボットコントローラ200に出力する。ロボットコントローラ200は、画像処理装置100から受けた位置姿勢情報に従ってロボット300を制御する。
The
具体的には、画像処理装置100は、撮像装置8から受けた画像に基づいて、撮像装置8の視野領域の三次元形状を計測する。視野領域にはコンテナ5が含まれるため、コンテナ5にばら積みされた複数のワーク1の三次元形状が計測される。
Specifically, the
画像処理装置100は、計測した三次元形状に基づいて、複数のワーク1の中の1つを把持対象となる対象ワーク2として選択するとともに、当該対象ワーク2を把持するときのエンドエフェクタ30の位置姿勢候補を選択する。
The
選択された位置姿勢候補の状態のエンドエフェクタ30は、対象ワーク2以外の物体(他のワーク1およびコンテナ5を含む)と干渉する可能性がある。このような干渉が生じた場合、エンドエフェクタ30または対象ワーク2以外の物体に破損が生じる可能性がある。そこで、画像処理装置100は、このような干渉を避けるため、エンドエフェクタ30の三次元形状を示す三次元CADデータを用いて、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を行なう。具体的には、三次元CADデータで示され、かつ、選択された位置姿勢候補に存在するエンドエフェクタモデルをエンドエフェクタ30とみなし、エンドエフェクタモデルと対象ワーク2以外の物体との干渉判定を行なう。
The
図2は、三次元CADデータで示されるエンドエフェクタモデルと、対象ワークをピッキングするときのエンドエフェクタとの一例を示す図である。図2の右側に例示されるように、エンドエフェクタ30は、可動部である右爪部31Rおよび左爪部31Lと、右爪部31Rおよび左爪部31Lを移動可能に支持する支持部32とを含む。具体的には、支持部32は、右爪部31Rと左爪部31Lとの間の距離(間隔)が可変となるように、右爪部31Rおよび左爪部31Lを平行移動可能に支持する。
FIG. 2 is a diagram showing an example of an end effector model shown by three-dimensional CAD data and an end effector when picking a target work. As illustrated on the right side of FIG. 2, the
対象ワーク2を把持するためには、当該対象ワーク2のサイズに応じた開き幅Wだけ右爪部31Rと左爪部31Lとの間隔を広げる必要がある。しかしながら、エンドエフェクタ30の三次元形状を示す三次元形状データは、右爪部31Rおよび左爪部31Lが定状態(図2に示す例では閉状態)であるときのエンドエフェクタ30全体の三次元形状に基づいて作成される。そのため、図2の左側に例示されるように、エンドエフェクタモデル35の形状は、実際に対象ワーク2をピッキングするときのエンドエフェクタ30の形状と一致しない。
In order to grip the
また、三次元CADデータは、通常、エンドエフェクタ30全体の三次元形状のみを示し、右爪部31R、左爪部31Lおよび支持部32がどの部分に該当するのかを示す属性情報を含まない。そのため、三次元CADデータのみを用いて、対象ワーク2をピッキングするときのエンドエフェクタ30の形状に一致させるように、エンドエフェクタモデル35の形状を変更することもできない。
Further, the three-dimensional CAD data usually shows only the three-dimensional shape of the
以上から、エンドエフェクタモデル35をそのまま用いた場合、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができない。そこで、画像処理装置100は、以下のようにして干渉判定を行なう。
From the above, when the
画像処理装置100は、三次元CADデータで示されるエンドエフェクタモデル35をユーザインターフェース9に表示させる。そして、画像処理装置100は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35のうち可動部に対応する可動部モデルと可動部モデルの可動方向とを設定する。図2に示す例では、エンドエフェクタモデル35のうち右爪部31Rおよび左爪部31Lにそれぞれ対応する右爪部モデル36Rおよび左爪部モデル36Lが設定される。さらに、右爪部モデル36Rおよび左爪部モデル36Lの可動方向は、それぞれ+Y方向、−Y方向に設定される。
The
画像処理装置100は、エンドエフェクタモデル35において、設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向に移動させた状態で干渉判定を行なう。
The
本実施の形態によれば、対象ワーク2のサイズに応じて適宜移動量を設定することにより、実際に対象ワーク2をピッキングするときのエンドエフェクタ30の形状に合うようにエンドエフェクタモデル35の形状を変更できる。図2に示す例では、開き幅Wの1/2を移動量として設定すればよい。そして、変更後のエンドエフェクタモデル35を用いることにより、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができる。
According to the present embodiment, by appropriately setting the movement amount according to the size of the
§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
§2 Specific example Next, a specific example of the control system according to the present embodiment will be described.
<A.画像処理装置のハードウェア構成例>
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
<A. Image processing device hardware configuration example>
The
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る画像処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。 When using such a general-purpose computer, an OS (Operating System) for executing basic computer processing is installed in addition to the application for executing image processing according to the present embodiment. It may have been done. In this case, the program according to the present embodiment may call the necessary modules in a predetermined array at a predetermined timing among the program modules provided as a part of the OS to execute the process. good. That is, the program itself according to the present embodiment does not include the module as described above, and the process may be executed in cooperation with the OS. The program according to the present embodiment may be in a form that does not include such a part of the modules.
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。 Further, the program according to the present embodiment may be provided by being incorporated into a part of another program. Even in that case, the program itself does not include the modules included in the other programs to be combined as described above, and the processing is executed in cooperation with the other programs. That is, the program according to the present embodiment may be a form incorporated in such another program. Note that some or all of the functions provided by executing the program may be implemented as a dedicated hardware circuit.
図3は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図3に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、カメラインターフェース116と、入力インターフェース118と、表示コントローラ120と、プロジェクタインターフェース122と、通信インターフェース124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
FIG. 3 is a schematic view showing an example of the hardware configuration of the image processing apparatus shown in FIG. As shown in FIG. 3, the
CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、撮像装置8によって取得された画像、キャリブレーションデータ、計測結果に関する情報などを保持する。さらに、ハードディスク114には、各種設定値などが格納されてもよい。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
The
カメラインターフェース116は、CPU110と撮像装置8との間のデータ伝送を仲介する。すなわち、カメラインターフェース116は、撮像装置8と接続される。カメラインターフェース116は、撮像装置8からの画像を一時的に蓄積するための画像バッファ116aを含む。そして、カメラインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。また、カメラインターフェース116は、CPU110が発生した内部コマンドに従って、撮像装置8に対して撮像コマンドを与える。
The
入力インターフェース118は、CPU110とユーザインターフェース9を構成するタッチパネル90、マウス、キーボードなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェース118は、ユーザが入力部を操作することで与えられる操作指令を受付ける。
The
表示コントローラ120は、ユーザインターフェース9を構成するディスプレイ92と接続され、CPU110における処理結果などをユーザに通知する。すなわち、表示コントローラ120は、ディスプレイ92に接続され、当該ディスプレイ92での表示を制御する。
The
プロジェクタインターフェース122は、CPU110とプロジェクタ7との間のデータ伝送を仲介する。より具体的には、プロジェクタインターフェース122は、CPU110が発生した内部コマンドに従って、プロジェクタ7に対して照明コマンドを与える。
The
通信インターフェース124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェース124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
The
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読出す。また、データリーダ/ライタ126は、CPU110の内部指令に応答して、撮像装置8によって取得された入力画像および/または画像処理装置100における処理結果などをメモリカード106へ書込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
The data reader /
<B.画像処理装置の機能構成例>
図4は、図1に示す画像処理装置の機能構成の一例を示すブロック図である。図4に示されるように、画像処理装置100は、第1記憶部10と、第2記憶部11と、CAD読込部12と、パーツ設定部13と、移動量設定部14と、相対位置設定部15と、3D計測部20と、コンテナ検出部21と、選択部22と、モデル変更部26と、干渉判定部27と、把持位置出力部28とを備える。第1記憶部10および第2記憶部11は、図3に示すハードディスク114によって実現される。CAD読込部12、パーツ設定部13、移動量設定部14、相対位置設定部15、3D計測部20、コンテナ検出部21、選択部22、モデル変更部26、干渉判定部27および把持位置出力部28は、CPU110がプログラムを実行することにより実現される。
<B. Function configuration example of image processing device>
FIG. 4 is a block diagram showing an example of the functional configuration of the image processing apparatus shown in FIG. As shown in FIG. 4, the
CAD読込部12、パーツ設定部13、移動量設定部14および相対位置設定部15は、ワーク1をピッキングする前の事前設定処理を実行するブロックである。3D計測部20、コンテナ検出部21、選択部22、モデル変更部26、干渉判定部27および把持位置出力部28は、ワーク1のピッキング位置を探索する探索処理を実行するブロックである。
The
第1記憶部10は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを記憶する。第1CADデータ10aは、エンドエフェクタ30全体の三次元形状のみを示し、右爪部31R、左爪部31Lおよび支持部32がどの部分に該当するのかを示す属性情報を含まない。第2記憶部11は、ワーク1の三次元形状を示す第2CADデータ11aを記憶する。
The
CAD読込部12は、第1記憶部10から第1CADデータ10aを読み込むことにより、第1CADデータ10aを取得する。さらに、CAD読込部12は、第2記憶部11から第2CADデータ11aを読み込むことにより、第2CADデータ11aを取得する。
The
CAD読込部12は、読み込んだCADデータを内部表現(処理用の表現)に変換する。図5は、第1CADデータの内部表現の例を示す図である。第1CADデータ10aは、複数の要素の集合として変換される。すなわち、第1CADデータ10aで示されるエンドエフェクタモデル35は、複数の要素の集合によって構成される。図5に示されるように、要素は、例えば、ボックス、断面、三角メッシュ、点のいずれかである。
The
図4に戻って、パーツ設定部13は、第1CADデータ10aで示されるエンドエフェクタモデル35をユーザインターフェース9に表示させる。パーツ設定部13は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36L(図2参照)を設定する。さらに、パーツ設定部13は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36Lの各々の可動方向を設定する。さらに、パーツ設定部13は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35のうちの支持部32に対応する部分である支持部モデル37(図2参照)を設定する。
Returning to FIG. 4, the
パーツ設定部13は、エンドエフェクタモデル35を構成する各要素(図5に示すボックス、断面、三角メッシュ、または点)について、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37のいずれに属するかを示す属性情報を付与する。
The
移動量設定部14は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35が第2CADデータ11aで示されるワークモデルを把持するときに必要な右爪部モデル36Rおよび左爪部モデル36Lの各々の移動量を設定する。
The movement
相対位置設定部15は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35がワークモデルを把持するときの、支持部モデル37に対するワークモデルの相対位置姿勢を設定する。
The relative
3D計測部20は、撮像装置8から取得した画像に基づいて、撮像装置8の視野領域の三次元形状を計測する。計測された三次元形状は、例えば三次元点群データで表現される。三次元点群データは、視野領域に存在する物体の撮像装置8側の表面を構成する複数の点の各々の三次元座標を示す。
The
コンテナ検出部21は、コンテナ5の三次元形状を示す情報を予め記憶しており、当該情報と3D計測部20の計測結果である三次元点群データとに基づいて、コンテナ5の位置姿勢を検出する。コンテナ5内には複数のワーク1が積まれているため、撮像装置8から見たとき、コンテナ5の側壁の上端面が観察される。そのため、コンテナ検出部21は、三次元点群データの中からコンテナ5の側壁の上端面に対応する点のデータを抽出し、抽出したデータとコンテナ5の三次元形状を示す情報とから、コンテナ5の位置姿勢を計算すればよい。
The
選択部22は、3D計測部20の計測結果に基づいて、対象ワーク2をピッキングするときのエンドエフェクタ30の1または複数の位置姿勢候補を選択する。図4に示されるように、選択部22は、ワーク検出部23と、対象ワーク選択部24と、位置姿勢決定部25とを含む。
The
ワーク検出部23は、テンプレートマッチングを用いて、撮像装置8の視野領域の中からワーク1を探索し、探索されたワーク1の位置姿勢を検出する。
The
対象ワーク選択部24は、ワーク検出部23によって検出されたワーク1の位置姿勢に基づいて、ピッキングの対象となる対象ワーク2を選択する。例えば、対象ワーク選択部24は、ワーク検出部23によって探索されたワーク1のうち、高さが上位所定数のワーク1を対象ワーク2として選択する。
The target
位置姿勢決定部25は、対象ワーク2を把持するときにエンドエフェクタ30の支持部32が取るべき位置姿勢を決定する。上述したように、エンドエフェクタモデル35がワークモデルを把持するときの支持部モデル37に対するワークモデルの相対位置姿勢が相対位置設定部15によって設定されている。そのため、位置姿勢決定部25は、支持部32に対する対象ワーク2の相対位置姿勢が相対位置設定部15によって設定された相対位置姿勢と一致するように、支持部32が取るべき位置姿勢を決定すればよい。
The position /
モデル変更部26は、対象ワーク2を把持するときのエンドエフェクタ30の状態に一致するようにエンドエフェクタモデル35を変更する。モデル変更部26は、エンドエフェクタモデル35を構成する複数の要素の各々の座標を変換することにより、エンドエフェクタモデル35を変更する。
The
具体的には、モデル変更部26は、支持部モデル37の位置姿勢が位置姿勢決定部25によって決定された位置姿勢に一致するように、エンドエフェクタモデル35を構成する各要素の座標を変換する。さらに、モデル変更部26は、移動量設定部14によって設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動するように、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標を変換する。
Specifically, the
干渉判定部27は、モデル変更部26によって変更されたエンドエフェクタモデル35と対象ワーク2以外の物体(対象ワーク2以外のワーク1およびコンテナ5)との干渉判定を行なう。
The
把持位置出力部28は、干渉判定部27の判定結果に基づいて、エンドエフェクタ30の位置姿勢を決定し、決定した位置姿勢を示す位置姿勢情報を生成する。把持位置出力部28は、生成した位置姿勢情報をロボットコントローラ200に出力する。
The gripping
<C.パーツ設定部、移動量設定部および相対位置設定部による設定方法>
図6〜9を参照して、パーツ設定部13、移動量設定部14および相対位置設定部15による各種情報を設定方法の詳細について説明する。
<C. Setting method by parts setting part, movement amount setting part and relative position setting part>
With reference to FIGS. 6 to 9, various information set by the
図6は、実施の形態に係るユーザインターフェースに表示されるUI画面の一例を示す図である。図6に示すUI画面40は、CPU110(図3参照)の処理結果に従ってユーザインターフェース9のディスプレイ92に表示される。
FIG. 6 is a diagram showing an example of a UI screen displayed on the user interface according to the embodiment. The
UI画面40は、表示領域41と、支持部選択ボタン45と、右爪部選択ボタン46と、左爪部選択ボタン47と、右爪用の可動方向入力欄48と、左爪用の可動方向入力欄49と、移動量入力欄50と、ワーク表示ボタン51と、OKボタン52と、キャンセルボタン53とを含む。
The
表示領域41には、第1CADデータ10aで示されるエンドエフェクタモデル35が表示される。表示領域41には、第1CADデータ10aの座標系(以下、「CAD座標系」と称する。)に対応する座標軸も表示される。
The
パーツ設定部13は、ユーザインターフェース9を介して、表示領域41に表示されるエンドエフェクタモデル35をヨー、ロールおよびピッチのいずれかの方向に回転させる操作入力を受け付ける。加えて、パーツ設定部13は、ユーザインターフェース9を介して、エンドエフェクタモデル35の並進および拡大/縮小の操作入力も受け付ける。パーツ設定部13は、ユーザインターフェース9への操作入力に応じて、表示領域41に表示されるエンドエフェクタモデル35の位置姿勢およびサイズを変更する。これにより、作業者は、エンドエフェクタモデル35における支持部32、右爪部31Rおよび左爪部31Lにそれぞれ対応する部分が互いに重ならないように、エンドエフェクタモデル35の姿勢を変更できる。
The
表示領域41には、エンドエフェクタモデル35のうち支持部32に対応する部分である支持部モデル37を設定するための枠線42が表示される。作業者は、ユーザインターフェース9のタッチパネル90に対する操作を行なうことにより、枠線42の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、支持部選択ボタン45が操作されたときに枠線42内に位置する要素に対して、支持部モデル37を示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線42内に支持部32に対応する部分が含まれるように枠線42の位置姿勢およびサイズを適宜変更することにより、支持部モデル37を設定できる。
In the
表示領域41には、エンドエフェクタモデル35のうち右爪部31Rに対応する部分である右爪部モデル36Rを設定するための枠線43が表示される。作業者は、タッチパネル90に対する操作を行なうことにより、枠線43の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、右爪部選択ボタン46が操作されたときに枠線43内に位置する要素に対して、右爪部モデル36Rを示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線43内に右爪部31Rに対応する部分が含まれるように枠線43の位置姿勢およびサイズを適宜変更することにより、右爪部モデル36Rを設定できる。
In the
表示領域41には、エンドエフェクタモデル35のうち左爪部31Lに対応する部分である左爪部モデル36Lを設定するための枠線44が表示される。作業者は、タッチパネル90に対する操作を行なうことにより、枠線44の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、左爪部選択ボタン47が操作されたときに枠線44内に位置する要素に対して、左爪部モデル36Lを示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線44内に左爪部31Lに対応する部分が含まれるように枠線44の位置姿勢およびサイズを適宜変更することにより、左爪部モデル36Lを設定できる。
In the
作業者は、右爪部選択ボタン46を操作することにより設定した右爪部モデル36Rの可動方向を可動方向入力欄48に入力できる。同様に、作業者は、左爪部選択ボタン47を操作することにより設定した左爪部モデル36Lの可動方向を可動方向入力欄49に入力する。可動方向入力欄48,49には、可動方向を示すベクトルが入力される。図6に示す例では、右爪部モデル36Rの可動方向として、CAD座標系における+Y方向を示すベクトル(0,1,0)が入力されている。また、左爪部モデル36Lの可動方向として、−Y方向を示すベクトル(0,−1,0)が入力されている。パーツ設定部13は、可動方向入力欄48に入力されたベクトルに従って、右爪部モデル36Rの可動方向を設定し、可動方向入力欄49に入力されたベクトルに従って、左爪部モデル36Lの可動方向を設定する。
The operator can input the movable direction of the right
作業者は、右爪部モデル36Rおよび左爪部モデル36Lの移動量を移動量入力欄50に入力できる。右爪部モデル36Rの移動量は、右爪部モデル36Rの基準位置から、右爪部モデル36Rの可動方向への移動量を示す。右爪部モデル36Rの基準位置は、第1CADデータ10aにおいて、右爪部モデル36Rを示す属性情報が付与された要素の座標によって特定される位置である。同様に、左爪部モデル36Lの移動量は、左爪部モデル36Lの基準位置から、左爪部モデル36Lの可動方向への移動量を示す。左爪部モデル36Lの基準位置は、第1CADデータ10aにおいて、左爪部モデル36Lを示す属性情報が付与された要素の座標によって特定される位置である。
The operator can input the movement amount of the right
移動量入力欄50に移動量が入力されると、移動量設定部14は、表示領域41に表示されているエンドエフェクタモデル35において、右爪部モデル36Rおよび左爪部モデル36Lを入力された移動量だけ可動方向にそれぞれ移動させる。これにより、作業者は、表示領域41を確認することにより、右爪部モデル36Rおよび左爪部モデル36Lの移動後のエンドエフェクタモデル35の状態を把握することができる。
When the movement amount was input to the movement
図7は、移動量入力欄に移動量が入力されたときのUI画面の一例を示す図である。図7に示されるように、表示領域41内に表示されているエンドエフェクタモデル35において、右爪部モデル36Rおよび左爪部モデル36Lは、図6に示す状態から移動量入力欄50に入力された移動量だけ移動している。
FIG. 7 is a diagram showing an example of a UI screen when a movement amount is input in the movement amount input field. As shown in FIG. 7, in the
ワーク表示ボタン51が操作されると、相対位置設定部15は、CAD読込部12によって読み込まれた第2CADデータ11aで示されるワークモデルを表示領域41に表示させる。このとき、相対位置設定部15は、ワークモデルとエンドエフェクタモデルとが表示領域41内に表示されるように、ワークモデルの表示位置を適宜変更する。
When the
図8は、ワーク表示ボタンが操作されたときのUI画面の一例を示す図である。図8に示されるように、表示領域41にワークモデル3が表示されている。
FIG. 8 is a diagram showing an example of a UI screen when the work display button is operated. As shown in FIG. 8, the
相対位置設定部15は、ユーザインターフェース9を介して、表示領域41に表示されるワークモデル3を並進移動または回転移動させる操作入力を受け付ける。相対位置設定部15は、ユーザインターフェース9への操作入力に応じて、ワークモデル3の座標変換を行ない、表示領域41に表示されるワークモデル3の位置姿勢を変更する。また、上述したように、パーツ設定部13は、エンドエフェクタモデル35を回転移動させる操作に応じて、表示領域41に表示されるエンドエフェクタモデル35の姿勢を変更する。
The relative
作業者は、ユーザインターフェース9を操作して、ワークモデル3をエンドエフェクタモデル35が把持可能なように、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量を適宜変更する。
The operator operates the
相対位置設定部15は、表示領域41に表示されている位置姿勢のワークモデル3と、表示領域41に表示されている姿勢を有し、現在入力されている移動量だけ移動された右爪部モデル36Rおよび左爪部モデル36Lを有するエンドエフェクタモデル35との干渉判定を行なってもよい。そして、相対位置設定部15は、干渉判定結果を表示領域41に表示してもよい。
The relative
図8に示す例では、ワークモデル3において、エンドエフェクタモデル35と干渉する部分が太線54で表示されている。太線54は、視認しやすいように赤色で表示されてもよい。これにより、作業者は、右爪部モデル36Rおよび左爪部モデル36Lとの間にわずかな隙間だけ空けてワークモデル3が位置するように、太線54の表示を確認しながら、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量を適切に調整できる。
In the example shown in FIG. 8, in the
作業者は、ワークモデル3をエンドエフェクタモデル35が把持可能なように、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量の調整が終了すると、OKボタン52を操作する。
The operator can grip the
移動量設定部14は、OKボタン52が操作されたときに移動量入力欄50に入力されている移動量を、ワークモデル3をエンドエフェクタモデル35が把持するときに必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量として設定する。
The movement
移動量設定部14は、設定した移動量だけ右爪部モデル36Rの可動方向に平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14は、設定した移動量だけ左爪部モデル36Lの可動方向に平行移動させるための座標変換行列HMLを計算する。
The movement
相対位置設定部15は、OKボタン52が操作されたときに表示領域41に表示されているワークモデル3および支持部モデル37の位置姿勢に基づいて、支持部モデル37に対するワークモデル3の相対位置姿勢を設定する。当該相対位置姿勢は、ワークモデル3をエンドエフェクタモデル35が把持するときの状態に対応する。
The relative
支持部モデル37に対するワークモデル3の相対位置姿勢は、支持部モデル37を基準とする座標系(以下、「支持部モデル座標系」と称する。)を、ワークモデル3を基準とする座標系(以下、「ワークモデル座標系」と称する。)に変換する座標変換行列tMHwMで示される。支持部モデル座標系は、ロボット300のツール座標系(フランジ面に設定される座標系)に一致するように設定されている。そこで、相対位置設定部15は、支持部モデル37に対するワークモデル3の相対位置姿勢を示す情報として座標変換行列tMHwMを計算する。
The relative position and orientation of the
図9は、支持部モデルに対するワークモデルの相対位置姿勢を示す座標変換行列tMHwMの一例を示す図である。図9には、直方体状の支持部モデル37と、T字管であるワークモデル3とが示される。
FIG. 9 is a diagram showing an example of the coordinate transformation matrix tM H w M showing the relative position and orientation of the work model with respect to the support portion model. FIG. 9 shows a rectangular
図9に示す例では、支持部モデル座標系は、支持部モデル37の基準点37oを原点とし、支持部モデル37における3つの特定方向37v1〜37v3を基底ベクトルとする座標系である。相対位置設定部15は、支持部モデル37の基準位置として、支持部モデル37を構成する複数の要素に含まれる任意の一点(例えば支持部モデル37の上面の中心)を選択すればよい。さらに、相対位置設定部15は、支持部モデル37における任意の3つの方向を特定方向37v1〜37v3として選択すればよい。特定方向37v1は、例えば、支持部モデル37の上面から下面に向かう方向である。特定方向37v2は、例えば、支持部モデル37における互いに対向する一対の側面に直交する方向である。特定方向37v3は、例えば、支持部モデル37における残りの一対の側面に直交する方向である。
In the example shown in FIG. 9, the support part model coordinate system is a coordinate system in which the reference point 37o of the
ワークモデル座標系は、ワークモデル3の基準点3oを原点とし、ワークモデル3における3つの特定方向3v1〜3v3を基底ベクトルとする座標系である。ワークモデル3の基準点3oおよび特定方向3v1〜3v3は、予め定められている。ワークモデル3の基準点3oは、例えば、T字官における分岐点に予め定められている。特定方向3v1は、例えば、T字管における流路方向の1つに定められている。特定方向3v2は、例えば、T字管における別の流路方向に定められている。特定方向3v3は、例えば特定方向3v1,3v2に直交する方向に定められている。
The work model coordinate system is a coordinate system in which the reference point 3o of the
相対位置設定部15は、支持部モデル座標系をワークモデル座標系に変換する座標変換行列tMHwMを計算する。座標変換行列tMHwMは、支持部モデル座標系における、ワークモデル座標系の基底ベクトル3v1〜3v3の成分および原点3oの位置を表している。
The relative
<D.三次元計測>
次に、3D計測部20による三次元形状の計測処理の詳細について説明する。3D計測部20は、公知の三次元計測処理を用いて、撮像装置8の視野領域に存在する物体表面上の各点の三次元座標を示す三次元点群データを生成する。
<D. 3D measurement>
Next, the details of the three-dimensional shape measurement process by the
三次元計測処理の具体例として、例えば位相シフト法が採用される。この位相シフト法は、照射面内において正弦波状に濃淡を変化させたパターンを有する照明光を照射した状態で撮像された画像(正弦波投影画像)を用いる方法である。照射面内の濃淡の変化周期や位相を異ならせたパターンが複数用意され、プロジェクタ7は、撮像装置8の視野領域に対して、当該複数のパターンを順次照射する。3D計測部20は、複数のパターンが照射されたときにそれぞれ撮像される画像を正弦波投影画像群として取得する。そして、3D計測部20は、これらの正弦波投影画像間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。
As a specific example of the three-dimensional measurement process, for example, a phase shift method is adopted. This phase shift method is a method using an image (sinusoidal wave projection image) taken in a state of being irradiated with illumination light having a pattern in which the shading is changed in a sinusoidal shape in the irradiation surface. A plurality of patterns having different shade change cycles and phases in the irradiation surface are prepared, and the
<E.ワークの検出方法>
次に、ワーク検出部23によるワーク1の検出方法について説明する。ワーク検出部23は、第2CADデータ11aで示されるワークモデルを様々な視点から見た姿勢ごとのテンプレートを予め記憶している。ワーク検出部23は、各テンプレートと3D計測部20の計測結果である三次元点群データとを照合し、三次元点群データの中からテンプレートと類似するデータを抽出する。ワーク検出部23は、抽出したデータに基づいて、撮像装置8の視野領域に存在するワーク1の位置姿勢を検出する。
<E. Work detection method>
Next, a method of detecting the
3D計測部20の計測結果である三次元点群データは、撮像装置8の撮像により得られる画像の座標系(以下、「カメラ座標系」と称する。)で示される。そのため、ワーク検出部23によって検出されたワーク1(対象ワーク2を含む)の位置姿勢は、カメラ座標系で示される。
The three-dimensional point cloud data, which is the measurement result of the
<F.位置姿勢決定部およびモデル変更部の処理方法>
次に、図10および図11を参照して、位置姿勢決定部およびモデル変更部の処理方法の詳細について説明する。
<F. Processing method of position / orientation determination part and model change part>
Next, with reference to FIGS. 10 and 11, details of the processing method of the position / orientation determination unit and the model change unit will be described.
図10は、対象ワークを把持するときにエンドエフェクタの支持部が取るべき位置姿勢の決定方法を示す図である。 FIG. 10 is a diagram showing a method of determining the position and posture that the support portion of the end effector should take when gripping the target work.
図10において、座標変換行列CHwは、カメラ座標系を、対象ワーク2を基準とする座標系(以下、「対象ワーク座標系」と称する。)に変換するための行列である。対象ワーク座標系は、対象ワーク2の基準点2oを原点とし、対象ワーク2における3つの特定方向2v1〜2v3を基底ベクトルとする座標系である。対象ワーク2の基準点2oおよび特定方向2v1〜2v3は、上述したワークモデル3の基準点3oおよび特定方向3v1〜3v3(図9参照)とそれぞれ対応するように定められる。座標変換行列CHwは、カメラ座標系における、対象ワーク座標系の基底ベクトル2v1〜2v3の成分および原点2oの位置を表している。対象ワーク座標系の基底ベクトル2v1〜2v3の成分および原点2oの位置は、対象ワーク2の位置姿勢を示している。そのため、カメラ座標系における対象ワーク2の位置姿勢は、座標変換行列CHwによって示される。
In FIG. 10, the coordinate transformation matrix C H w is a matrix for transforming the camera coordinate system into a coordinate system based on the target work 2 (hereinafter, referred to as “target work coordinate system”). The target work coordinate system is a coordinate system in which the reference point 2o of the
上述したように、ワークモデル3をエンドエフェクタモデル35が把持するときの、支持部モデル37に対するワークモデル3の相対位置姿勢は、座標変換行列tMHwMで示される。そこで、位置姿勢決定部25は、対象ワーク2をワークモデル3とみなし、以下の式(1)に従って、カメラ座標系における、対象ワーク2を把持するときの支持部モデル37の位置姿勢を示す座標変換行列CHtMを計算する。
CHtM=CHw・(tMHwM)-1 ・・・式(1)
座標変換行列CHtMは、カメラ座標系における、対象ワーク2を把持するときにエンドエフェクタ30の支持部32が取るべき位置姿勢を示している。
As described above, the relative position and orientation of the
C H tM = C H w・ ( tM H wM ) -1・ ・ ・ Equation (1)
The coordinate transformation matrix C H tM indicates the position and orientation that the
モデル変更部26は、対象ワーク2を把持するときのエンドエフェクタ30の形状に合うようにエンドエフェクタモデル35を変更する。具体的には、モデル変更部26は、エンドエフェクタモデル35を構成する各要素の座標を変換する。
The
まず、モデル変更部26は、支持部モデル37の位置姿勢が位置姿勢決定部25によって決定された位置姿勢に一致するように、支持部モデル37を構成する各要素の座標を変換する。すなわち、モデル変更部26は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を変換する。
First, the
第1CADデータ10aは、CAD座標系における座標値を示す。また、位置姿勢決定部25によって決定された位置姿勢は,カメラ座標系において支持部32が取るべき位置姿勢であり、上記の座標変換行列CHtMで示される。そのため、モデル変更部26は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を、座標変換行列CHtM=CHw・(tMHwM)-1を用いて変換する。これにより、支持部モデル37の位置姿勢は、カメラ座標系において、対象ワーク2を把持するときのエンドエフェクタ30の支持部32が取るべき位置姿勢と一致する。
The
ここで、第1CADデータ10aにおいて右爪部モデル36Rおよび左爪部モデル36Lを示す属性情報が付与された座標についても、同じ座標変換行列CHtM=CHw・(tMHwM)-1を用いて変換する場合を想定する。この場合、右爪部モデル36Rおよび左爪部モデル36Lは定状態(例えば閉状態)となる。そのため、図10に示されるように、右爪部モデル36Rおよび左爪部モデル36Lの位置姿勢は、対象ワーク2を把持するときに右爪部31Rおよび左爪部31Lが取るべき位置姿勢と一致しない。
Here, the same coordinate transformation matrix C H tM = C H w · ( tM H wM ) -1 for the coordinates to which the attribute information indicating the
そのため、モデル変更部26は、移動量設定部14によって設定された移動量だけ、右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動させる。具体的には、モデル変更部26は、座標変換行列CHtM=CHw・(tMHwM)-1に加えて、移動量設定部14によって計算された座標変換行列HMR,HMLを用いる。すなわち、モデル変更部26は、第1CADデータ10aにおいて右爪部モデル36Rを示す属性情報が付与された座標を、座標変換行列CHw・(tMHwM)-1・HMRを用いて変換する。モデル変更部26は、第1CADデータ10aにおいて左爪部モデル36Lを示す属性情報が付与された座標を、座標変換行列CHw・(tMHwM)-1・HMLを用いて変換する。
Therefore, the
図11は、モデル変更部によって座標変換されたエンドエフェクタモデルの一例を示す図である。図11に示されるように、座標変換行列HMRを用いることにより、右爪部モデル36Rの位置姿勢は、対象ワーク2を把持するときのエンドエフェクタ30の右爪部31Rが取るべき位置姿勢と一致する。同様に、座標変換行列HMLを用いることにより、左爪部モデル36Lの位置姿勢は、対象ワーク2を把持するときのエンドエフェクタ30の左爪部31Lが取るべき位置姿勢と一致する。これにより、モデル変更部26により変更されたエンドエフェクタモデル35を用いることにより、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができる。
FIG. 11 is a diagram showing an example of an end effector model whose coordinates have been transformed by the model change unit. As shown in FIG. 11, by using the coordinate transformation matrix H MR, the position and orientation of the right
<G.干渉判定の処理方法>
次に、干渉判定部27による干渉判定の処理方法の詳細について説明する。上述したように、位置姿勢決定部25は、対象ワーク2を把持するときの支持部32が取るべき位置姿勢候補を決定する。そのため、当該位置姿勢候補に支持部32を配置したとき、エンドエフェクタ30は、対象ワーク2以外のワーク1またはコンテナを干渉する可能性がある。
<G. Interference judgment processing method>
Next, the details of the interference determination processing method by the
図12は、エンドエフェクタと対象ワーク以外のワークとが干渉している例を示す図である。図13は、エンドエフェクタとコンテナとが干渉している例を示す図である。 FIG. 12 is a diagram showing an example in which an end effector and a work other than the target work interfere with each other. FIG. 13 is a diagram showing an example in which the end effector and the container interfere with each other.
このような干渉を避けるため、干渉判定部27は、モデル変更部26によって変更されたエンドエフェクタモデル35と対象ワーク2以外の物体と干渉判定を行なう。3D計測部20の計測結果である三次元点群データは、カメラ座標系で示される。また、上述の方法に従ってモデル変更部26によって変更されたエンドエフェクタモデル35もカメラ座標系で示される。そのため、干渉判定部27は、カメラ座標系において、エンドエフェクタモデル35と対象ワーク2以外の物体との干渉判定を行なえばよい。なお、干渉判定部27は、ロボット300のベース34を基準とする座標系(以下、「ベース座標系」という)で干渉判定を行なってもよい。この場合、ベース座標系をカメラ座標系に変換するための座標変換行列BHCを用いて適宜座標を変換した上で、干渉判定を行なえばよい。
In order to avoid such interference, the
干渉判定部27は、三次元点群データの中から対象ワーク2に対応する点群データを消去する。干渉判定部27は、モデル変更部26によって変更されたエンドエフェクタモデル35を構成する要素の座標と残りの三次元点群データの座標とを比較することにより、エンドエフェクタモデル35と対象ワーク2以外のワーク1との干渉判定を行なう。
The
また、干渉判定部27は、変更されたエンドエフェクタモデル35を構成する要素の座標とコンテナ検出部21によって検出されたコンテナ5の位置姿勢を示す座標とを比較することにより、エンドエフェクタモデル35とコンテナ5との干渉判定を行なう。
Further, the
例えば、エンドエフェクタモデル35を構成する要素がボックスである場合、干渉判定部27は、エンドエフェクタモデル35を構成するいずれかのボックスの内側に計測点が含まれるときに干渉有りと判定する。
For example, when the element constituting the
エンドエフェクタモデル35を構成する要素が断面である場合、干渉判定部27は、エンドエフェクタモデル35を構成するいずれかの断面上に計測点が含まれるときとき、もしくは、隣り合う2つの断面間に計測点が含まれる場合に干渉有りと判定する。
When the element constituting the
エンドエフェクタモデル35を構成する要素が三角メッシュである場合、干渉判定部27は、三次元点群データに属する各計測点と各三角メッシュとの距離を計算する。距離は、計測点が三角メッシュの法線方向側に位置する場合に正の値となり、計測点が三角メッシュの法線方向の反対側に位置する場合に負の値となる。干渉判定部27は、計測点と三角メッシュとの距離が負である場合に干渉有りと判定する。
When the element constituting the
エンドエフェクタモデル35を構成する要素が点である場合、干渉判定部27は、エンドエフェクタモデル35を構成する複数の点のうち計測点を取り囲む点群が存在するときに干渉有りと判定する。
When the element constituting the
<H.把持位置出力部による位置姿勢情報の生成方法>
次に、把持位置出力部28による位置姿勢情報の生成方法の詳細について説明する。把持位置出力部28は、干渉判定部27による干渉無しと判定された位置姿勢候補の1つを示す位置姿勢情報を生成する。
<H. Method of generating position / posture information by gripping position output unit>
Next, the details of the method of generating the position / posture information by the gripping
対象ワーク選択部24によって複数の対象ワーク2が選択された場合、位置姿勢決定部25は、当該複数の対象ワーク2の各々について位置姿勢候補を選択する。そのため、選択部22は、複数の位置姿勢候補を選択する。干渉判定部27は、当該複数の位置姿勢候補の各々について干渉判定を行なう。この場合、複数の位置姿勢候補について干渉無しと判定される可能性がある。干渉無しと判定された位置姿勢候補が複数である場合、把持位置出力部28は、予め定められた抽出手法に従って、複数の位置姿勢候補の中の1つを抽出する。例えば、把持位置出力部28は、現在のエンドエフェクタ30の位置から最も近い位置姿勢候補を抽出する。把持位置出力部28は、抽出した1つの位置姿勢候補を示す位置姿勢情報を生成する。
When a plurality of target works 2 are selected by the target
上述したように、位置姿勢候補はカメラ座標系で示される。これに対し、ロボットコントローラ200は、異なる座標系でロボット300を制御する。例えば、ロボットコントローラ200は、ロボット300のベース34を基準とする座標系(以下、「ベース座標系」という)でロボット300を制御する。このような場合、把持位置出力部28は、ベース座標系で示される位置姿勢情報を生成することが好ましい。そこで、把持位置出力部28は、ベース座標系をカメラ座標系に変換するための座標変換行列BHCを用いて、ベース座標系で示される位置姿勢情報を生成する。具体的には、把持位置出力部28は、(BHC)-1を用いて位置姿勢候補を座標変換することにより位置姿勢情報を生成する。
As mentioned above, the position and orientation candidates are shown in the camera coordinate system. On the other hand, the
<I.事前設定処理の流れ>
図14を参照して、画像処理装置100による事前設定処理の流れについて説明する。図14は、実施の形態に係る画像処理装置によって実行される事前設定処理の流れを示すフローチャートである。
<I. Flow of preset processing >
The flow of the preset processing by the
まず、画像処理装置100のCPU110は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを読み込む(ステップS1)。CPU110は、読み込んだ第1CADデータ10aを内部表現(ボックス、断面、三角メッシュ、点などの要素の集合)に変換する(ステップS2)。
First, the
CPU110は、第1CADデータ10aで示されるエンドエフェクタモデル35の画像を含むUI画面40(図6参照)をユーザインターフェース9に表示する。そして、CPU110は、ユーザインターフェース9に入力された情報に基づいて、可動部モデル(右爪部モデル36R、左爪部モデル36L)および支持部モデル37を設定する(ステップS3)。CPU110は、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37に設定された要素に対して、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37のいずれかを示す属性情報をそれぞれ保存する(ステップS4)。
The
CPU110は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36Lの各々の可動方向を設定する(ステップS5)。
The
UI画面40においてワーク表示ボタン51が操作されると、CPU110は、ワーク1の三次元形状を示す第2CADデータ11aを読み込み、第2CADデータ11aで示されるワークモデル3の画像をUI画面40に表示する(ステップS6)。
When the
移動量入力欄50に移動量が入力されると、CPU110は、UI画面40に表示しているエンドエフェクタモデル35において、入力された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動させる(ステップS7)。
When the movement amount is input to the movement
エンドエフェクタモデル35を回転させる操作がユーザインターフェース9に入力されると、CPU110は、当該操作入力に応じて、UI画面40に表示しているエンドエフェクタモデル35の姿勢を変更する。また、ワークモデル3を並進移動または回転移動させる操作がユーザインターフェース9に入力されると、CPU110は、当該操作入力に応じて、UI画面40に表示しているワークモデル3の位置姿勢を変更する(ステップS8)。
When an operation for rotating the
次に、CPU110は、UI画面40に表示されている状態のエンドエフェクタモデル35とワークモデル3との干渉判定を行ない、判定結果を表示する(ステップS9)。
Next, the
次に、CPU110は、UI画面40においてOKボタン52が操作されたか否かを判定する(ステップS10)。OKボタンが操作されていない場合(ステップS10でNO)、事前設定処理はステップS7に戻る。
Next, the
OKボタンが操作された場合(ステップS10でYES)、CPU110は、移動量入力欄50に現在入力されている移動量を、ワークモデル3を把持するために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量として設定する(ステップS11)。具体的には、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRと左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLとが設定される。
When the OK button is operated (YES in step S10), the
次に、CPU110は、エンドエフェクタモデル35がワークモデル3を把持するときの、支持部モデル37に対するワークモデル3の相対位置姿勢を設定する(ステップS12)。具体的には、当該相対位置姿勢を示す座標変換行列tMHwMが設定される。
Next, the
<J.ピッキング位置の探索処理の流れ>
次に、図15を参照して、画像処理装置100によるエンドエフェクタ30のピッキング位置の探索処理の流れについて説明する。図15は、実施の形態に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。
<J. Flow of picking position search process>
Next, with reference to FIG. 15, the flow of the search process for the picking position of the
まず、CPU110は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを読み込む(ステップS21)。CPU110は、ステップS4で保存された属性情報を読み込む(ステップS22)。CPU110は、ワーク1の複数の姿勢にそれぞれ対応する複数のテンプレートを読み込む(ステップS23)。さらに、CPU110は、ステップS11で設定された移動量に対応する座標変換行列HMR,HMLを読み込む(ステップS24)。
First, the
次に、CPU110は、撮像装置8から受けた画像に基づいて、撮像装置8の視野領域に存在する物体(ワーク1およびコンテナ5)の表面の三次元形状を計測する(ステップS25)。
Next, the
次に、CPU110は、計測結果である三次元点群データとステップS23で読み込んだ複数のテンプレートとを照合し、ワーク1の位置姿勢を検出する(ステップS26)。ワーク1の位置姿勢は、カメラ座標系におけるワーク1の基準点および特定方向を示す座標変換行列CHWで示される。
Next, the
さらに、CPU110は、計測結果である三次元点群データと予め記憶しているコンテナ5の形状情報とを照合し、コンテナ5の位置姿勢を検出する(ステップS27)。
Further, the
CPU110は、位置姿勢が検出されたワーク1の中から所定数のワーク1を対象ワーク2として選択するとともに、選択された所定数の対象ワーク2の各々について、当該対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を決定する。CPU110は、決定した所定数の位置姿勢候補のリストを作成する(ステップS28)。位置姿勢候補は、対象ワーク2の位置姿勢を示す座標変換行列CHWとステップS12で設定された座標変換行列tMHwMの逆行列(tMHwM)-1との積である座標変換行列CHW・(tMHwM)-1で示される。
When the
CPU110は、位置姿勢候補のリストの中から1つの位置姿勢候補を選択する(ステップS29)。
The
CPU110は、選択された位置姿勢候補で示される位置姿勢に合うように、支持部モデル37を構成する各要素の座標を変換する(ステップS30)。具体的には、CPU110は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を、座標変換行列CHW・(tMHwM)-1を用いて変換する。
The
さらに、CPU110は、ステップS24で読み込んだ座標変換行列HMR,HMLを用いて、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標を変換する(ステップS31)。具体的には、CPU110は、第1CADデータ10aにおいて右爪部モデル36Rを示す属性情報が付与された座標を、座標変換行列CHW・(tMHwM)-1・HMRを用いて変換する。CPU110は、第1CADデータ10aにおいて左爪部モデル36Lを示す属性情報が付与された座標を、座標変換行列CHW・(tMHwM)-1・HMLを用いて変換する。
Further, the
次に、CPU110は、ステップS29,S30において座標変換されたエンドエフェクタモデル35と、ステップS26において検出された位置姿勢のワーク1(ただし、ステップS29で選択された位置姿勢候補に対応する対象ワーク2を除く)との干渉判定を行なう(ステップS32)。
Next, the
さらに、CPU110は、ステップS29,S30において座標変換されたエンドエフェクタモデル35と、ステップS27において検出された位置姿勢のコンテナ5との干渉判定を行なう(ステップS33)。
Further, the
次に、CPU110は、ステップS28で作成された位置姿勢候補のリストのうち未選択の位置姿勢候補があるか否かを判定する(ステップS34)。未選択の位置姿勢候補がある場合(ステップS34でYES)、探索処理はステップS29に戻る。これにより、位置姿勢候補ごとに干渉判定が行なわれる。
Next, the
未選択の位置姿勢候補がない場合(ステップS34でNO)、CPU110は、干渉無しと判定された位置姿勢候補を所定条件に従ってソートする(ステップS35)。所定条件は、例えば、現状のエンドエフェクタ30の支持部32の位置姿勢に近い順である。その他、所定条件は、ワーク検出時における適合度の高い順、エンドエフェクタの回転量の少ない順、アプローチ角度が鉛直方向に近い順、露出度の高い順(重なり度の低い順)であってもよい。
When there is no unselected position / orientation candidate (NO in step S34), the
CPU110は、最上位の位置姿勢候補を示す位置姿勢情報を生成し、生成した位置姿勢情報をロボットコントローラ200に出力する(ステップS36)。これにより、エンドエフェクタ30のピッキング位置の探索処理は終了する。
The
<K.作用・効果>
以上のように、本実施の形態に係る制御システムSYSは、CAD読込部12と、ユーザインターフェース9と、パーツ設定部13と、3D計測部20と、選択部22と、モデル変更部26および干渉判定部27とを備える。CAD読込部12は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを取得する。パーツ設定部13は、第1CADデータ10aで示されるエンドエフェクタモデル35をユーザインターフェース9に表示させる。パーツ設定部13は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35のうち右爪部および左爪部にそれぞれ対応する右爪部モデル36Rおよび左爪部モデル36Lと、右爪部モデル36Rおよび左爪部モデル36Lの可動方向とを設定する。3D計測部20は、複数のワーク1を含む視野領域の三次元形状を計測する。選択部22は、3D計測部20の計測結果に基づいて、対象ワーク2をピッキングするときのエンドエフェクタ30(具体的には支持部32)の位置姿勢候補を選択する。干渉判定部27は、選択部22によって選択された位置姿勢候補のエンドエフェクタモデル35と対象ワーク2以外の物体との干渉判定を行なう。ただし、干渉判定部27は、エンドエフェクタモデル35において、設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動させた状態で干渉判定を行なう。
<K. Action / effect>
As described above, the control system SYS according to the present embodiment includes the
上記の構成によれば、対象ワーク2のサイズに応じて適宜移動量を設定することにより、実際に対象ワーク2をピッキングするときのエンドエフェクタ30の形状に合うようにエンドエフェクタモデル35の形状を変更できる。そのため、変更後のエンドエフェクタモデル35を用いることにより、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができる。
According to the above configuration, by appropriately setting the movement amount according to the size of the
CAD読込部12は、対象ワーク2の三次元形状を示す第2CADデータ11aをさらに取得する。制御システムSYSは、第2CADデータ11aで示されるワークモデル3をエンドエフェクタモデル35がピッキングするために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する移動量設定部14を備える。モデル変更部26は、移動量設定部14によって設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを移動させる。
The
上記の構成によれば、ワークモデル3とエンドエフェクタモデル35とを用いることにより、ピッキングに必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を適切に設定できる。
According to the above configuration, by using the
支持部32は、右爪部31Rと左爪部31Lとの間の距離(間隔)が可変となるように、右爪部31Rと左爪部31Lをそれぞれ平行移動可能に支持する。この場合、エンドエフェクタモデル35を構成するパーツの個数が少ないため、作業者は、ユーザインターフェース9を用いて、可動部モデル(右爪部モデル36Rおよび左爪部モデル36L)を容易に設定することができる。
The
<L.変形例1>
上記の説明では、コンテナ5内に形状およびサイズが同一の1種類のワーク1がばら積みされるものとした。しかしながら、コンテナ5内には、形状およびサイズの少なくとも一方が異なる複数種類のワークがばら積みされてもよい。
<
In the above description, it is assumed that one type of
コンテナ5に複数種類のワークがばら積みされる場合、CAD読込部12は、第2記憶部11から、複数種類のワークの各々の三次元形状を示すCADデータを読み込む。
When a plurality of types of workpieces are stacked in bulk in the
移動量設定部14は、複数種類のワークの各々について、当該ワークを把持するために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。つまり、移動量設定部14は、複数種類のワークの各々について、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14は、複数種類のワークの各々について、左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLを計算する。
The movement
相対位置設定部15は、複数種類のワークの各々について、当該ワークを把持するときの支持部モデル37に対するワークモデルの相対位置姿勢を示す座標変換行列tMHwMを設定する。
The relative position setting unit 15 sets a coordinate transformation matrix tM H w M indicating the relative position / orientation of the work model with respect to the
図14に示す事前設定処理は、複数種類のワークの各々について実行される。これにより、複数種類のワークごとに座標変換行列HMR,HML,tMHwMが設定される。 The preset processing shown in FIG. 14 is executed for each of the plurality of types of workpieces. As a result, the coordinate transformation matrices H MR , H ML , and tM H wM are set for each of a plurality of types of works.
選択部22は、3D計測部20の計測結果に基づいて、撮像装置8の視野領域に存在するワークの種類を識別し、識別結果に応じて、ワークを把持するときの支持部32が取るべき位置姿勢候補を選択する。
The
モデル変更部26は、位置姿勢候補に対応するワークの種類に応じて設定した移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを移動させる。
The
図16は、変形例1に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。図16に示すフローチャートは、図15に示すフローチャートと比較して、ステップS23,S24,S26の代わりにステップS37〜S40を含む点で相違する。 FIG. 16 is a flowchart showing the flow of the picking position search process executed by the image processing apparatus according to the first modification. The flowchart shown in FIG. 16 is different from the flowchart shown in FIG. 15 in that steps S37 to S40 are included instead of steps S23, S24, and S26.
ステップS37において、CPU110は、複数種類のワークの各々について、複数の姿勢にそれぞれ対応する複数のテンプレートを読み込む。
In step S37, the
ステップS38において、CPU110は、ステップS25の計測結果である三次元点群データとステップS37で読み込んだ複数のテンプレートとを照合して、撮像装置8の視野領域に存在するワークの種類を識別するとともに、当該ワークの位置姿勢を検出する。
In step S38, the
ステップS39において、CPU110は、位置姿勢が検出されたワークの中から所定数のワークを対象ワーク2として選択するとともに、選択された所定数の対象ワーク2の各々について、当該対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を決定する。CPU110は、ワークに種類に応じた座標変換行列tMHwMを用いて、位置姿勢候補を決定する。CPU110は、決定した所定数の位置姿勢候補のリストを作成する。
In step S39, the
ステップS40において、CPU110は、各位置姿勢候補に対応する種類のワークに対して設定された移動量だけ移動させるための座標変換行列HMR,HMLを読み込む。
In step S40, the
ステップS40の後、図15と同様のステップS29〜S36が実行される。ただし、ステップS30では、選択される位置姿勢候補に対応するワークの種類に応じて設定された座標変換行列tMHwMを用いて、支持部モデル37を構成する各要素の座標が変換される。また、ステップS31では、選択される位置姿勢候補に対応するワークの種類に応じて設定された座標変換行列HMR,HMLを用いて、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標が変換される。
After step S40, the same steps S29 to S36 as in FIG. 15 are executed. However, in step S30, the coordinates of each element constituting the
<M.変形例2>
上記の説明では、干渉判定部27は、3D計測部20の計測結果である三次元点群データに基づいて検出されたコンテナ5とエンドエフェクタモデル35との干渉判定を行なうものとした。しかしながら、コンテナ5は、ばら積みされたワークに隠され、撮像装置8の撮像により得られる画像に含まれない可能性がある。この場合、コンテナ検出部21は、三次元点群データからコンテナ5の位置姿勢を検出できない。
<
In the above description, the
コンテナ5は、通常、定位置に配置される。そのため、画像処理装置100は、定位置に配置されたコンテナ5が示す空間の座標を示すコンテナ情報を予め記憶しておいてもよい。干渉判定部27は、当該コンテナ情報に基づいて、エンドエフェクタモデル35とコンテナ5との干渉判定を行なえばよい。
The
なお、コンテナ情報は、カメラ座標系で示されてもよいし、ベース座標系で示されてもよい。コンテナ情報がベース座標系で示される場合、干渉判定部27は、ベース座標系をカメラ座標系に変換するための座標変換行列BHCを用いてコンテナ情報を変換し、変換後のコンテナ情報を用いて干渉判定を行なえばよい。もしくは、干渉判定部27は、変更後のエンドエフェクタモデル35の座標を座標変換行列(BHC)-1に従って変換し、ベース座標系においてエンドエフェクタモデル35とコンテナ5との干渉判定を行なってもよい。
The container information may be shown in the camera coordinate system or in the base coordinate system. If the container information is indicated by the base coordinate system, the
<N.変形例3>
上記の説明では、形状およびサイズが予め定まっているワーク1がコンテナ5にばら積みされるものとした。しかしながら、形状およびサイズにばらつきのあるワーク1がコンテナ5にばら積みされてもよい。
<
In the above description, it is assumed that the
図17は、形状およびサイズにばらつきのあるワーク1を把持するときのエンドエフェクタを示す図である。ワーク1の形状およびサイズにばらつきがあったとしても、以下の条件a,bを満たす場合に対象ワーク2を把持することができる。
条件a:右爪部31Rおよび左爪部31Lの両下端を通る平面と対象ワーク2の最も高い点との距離が、ワーク1の形状およびサイズのばらつきを考慮して予め定められた閾値dh以上である。
条件b:右爪部31Rおよび左爪部31Lが対象ワーク2以外の物体と干渉しない。
FIG. 17 is a diagram showing an end effector when gripping a
Condition a: The distance between the plane passing through both lower ends of the
Condition b: The
変形例3に係る画像処理装置は、撮像装置8の視野領域の三次元形状に基づいて、条件a,bを満たすように支持部32の位置姿勢候補を選択するとともに、右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。
The image processing device according to the third modification selects the position / orientation candidate of the
(N−1.機能構成)
図18は、変形例3に係る画像処理装置の機能構成を示すブロック図である。図18に示されるように、変形例3に係る画像処理装置100Aは、図4に示す画像処理装置100と比較して、第2記憶部11および相対位置設定部15を備えない点で相違する。さらに、画像処理装置100Aは、図4に示す画像処理装置100と比較して、移動量設定部14、コンテナ検出部21、選択部22、モデル変更部26および干渉判定部27の代わりに範囲設定部16、コンテナ情報記憶部21A、選択部22Aおよび干渉判定部27Aを備える点で相違する。選択部22Aは、図4に示す選択部22と比較して、ワーク検出部23、対象ワーク選択部24および位置姿勢決定部25の代わりに、凹部検出部29、位置姿勢決定部25Aおよび移動量設定部14Aを含む点で相違する。なお、変形例3では、変形例2のようにコンテナ5が定位置に配置されるものとする。
(N-1. Functional configuration)
FIG. 18 is a block diagram showing a functional configuration of the image processing apparatus according to the modified example 3. As shown in FIG. 18, the
範囲設定部16は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36Lの移動量の設定可能範囲およびステップ数を設定する。
The
図19は、変形例3に係るユーザインターフェースに表示されるUI画面の一例を示す図である。図19に示すUI画面40Aは、図6に示すUI画面40と比較して、ワーク表示ボタン51および移動量入力欄50の代わりに範囲入力欄55,56およびステップ数入力欄57を含む点で相違する。
FIG. 19 is a diagram showing an example of a UI screen displayed on the user interface according to the modified example 3. Compared to the
範囲設定部16は、範囲入力欄55に入力された値(最小値)から範囲入力欄56に入力された値(最大値)までを移動量の設定可能範囲として設定する。範囲設定部16は、ステップ数入力欄57に入力された値を移動量のステップ数として設定する。
The
図18に戻って、コンテナ情報記憶部21Aは、定位置に配置されたコンテナ5の三次元座標を示すコンテナ情報を記憶している。
Returning to FIG. 18, the container
選択部22Aは、撮像装置8の視野領域の三次元形状に基づいて、ワークをピッキングするときの支持部の位置姿勢候補を選択するとともに、ワークをピッキングするために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。
The
図20を参照しながら、選択部22Aの凹部検出部29、移動量設定部14Aおよび位置姿勢決定部25Aの処理について説明する。図20は、変形例3に係る画像処理装置の選択部の処理を示す図である。図20には、3D計測部20によって計測された三次元形状を上方からみたときの図が示される。
With reference to FIG. 20, the processing of the
凹部検出部29は、3D計測部20の計測結果である三次元点群データに基づいて、撮像装置8の視野領域の三次元形状における凹部を検出する。具体的には、凹部検出部29は、三次元点群データの中から最高点のデータを抽出する。最高点のZ座標値をz_maxとする。凹部検出部29は、三次元点群データにおいて、Z座標値がz_max−dh未満の点群データ(z<z_max−dh)をマスクする。凹部検出部29は、Z座標がz_max−dhの平面上において、残った領域をラベリングする。図20において、領域60,61は、ラベリングされた領域を示している。領域60は、三次元形状における最高点からZ座標がz_max−dhの平面に投影した点を含む領域である。領域60,61以外の領域が三次元形状における凹部に対応する。
The
移動量設定部14Aは、範囲設定部16によって設定された移動量範囲の最小値から最大値まで順に移動量を選択する。移動量設定部14Aは、移動量範囲の最大値と最小値との差を(ステップ数−1)で割った量をステップ幅とし、ステップ幅だけ間隔をあけて移動量を順に選択する。
The movement
移動量設定部14Aは、選択した移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向に移動させたときに、以下の条件(i)(ii)の両方を満たすか否かを判定する。
条件(i):右爪部モデル36Rおよび左爪部モデル36Lが領域60の周囲に位置する(領域60を挟むように位置する)
条件(ii):右爪部モデル36Rおよび左爪部モデル36Lが凹部に位置する。
条件(i)(ii)の両方を満たす場合に、移動量設定部14Aは、選択した移動量を、領域60に存在する対象ワーク2を把持するときに必要な移動量として設定する。
The movement
Condition (i): The
Condition (ii): The
When both the conditions (i) and (ii) are satisfied, the movement
例えば、右爪部モデル36Rおよび左爪部モデル36Lの可動方向が互いに逆方向に設定され、かつ、右爪部モデル36Rと左爪部モデル36Lとが可動方向に沿って並んで配置される場合、以下のようにして移動量が設定される。
For example, when the movable directions of the
図20に示されるように、移動量設定部14Aは、領域60の重心Gの座標値を計算する。さらに、移動量設定部14Aは、右爪部モデル36Rおよび左爪部モデル36Lを可動方向に選択された移動量だけそれぞれ移動させたときの右爪部モデル36Rと左爪部モデル36Lとの間隔(開き幅W)を計算する。移動量設定部14Aは、重心Gを中心とし、計算した開き幅Wを内径、開き幅Wにαを加算した値を外径とするリング状領域64を特定する。αは、右爪部モデル36Rおよび左爪部モデル36Lにおける支持部モデル37とは反対側の端面(以下、「下端面」と称する。)の可動方向に沿った長さの合計に所定マージンを加えた値である。
As shown in FIG. 20, the movement
移動量設定部14Aは、重心Gを通る所定数の直線の各々について、当該直線とリング状領域64とが交わる2か所に、当該直線が可動方向と一致するように右爪部モデル36Rの下端面63Rと左爪部モデル36Lの下端面63Lとを配置するシミュレーションを行なう。所定数の直線の各々と基準方向(例えばX方向)とのなす角度は予め定められる。図20には、所定数の直線のうち直線65が選択されたときの例が示される。移動量設定部14Aは、下端面63R,63Lが領域60,61と重なるか否かを判定する。下端面63R,63Lが領域60,61と重ならない場合に、移動量設定部14Aは、選択した移動量を、領域60に存在する対象ワーク2を把持可能な移動量として設定すればよい。
The movement
移動量設定部14Aは、上記の移動量設定部14と同様に、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14Aは、左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLを計算する。
Similar to the above-mentioned movement
移動量設定部14Aは、領域60に存在する対象ワーク2を把持可能な移動量を設定した場合、下端面63R,63Lが領域60,61と重ならないと判定した直線の方向および重心Gの座標を位置姿勢決定部25Aに出力する。
When the movement
なお、移動量設定部14Aは、下端面63R,63Lが領域60,61と重ならないと判定した直線が複数存在する場合、当該複数の直線の全ての方向を位置姿勢決定部25Aに出力する。
When there are a plurality of straight lines determined that the
位置姿勢決定部25Aは、領域60に存在する対象ワーク2を把持するときの支持部32が取るべき位置姿勢を決定する。具体的には、位置姿勢決定部25Aは、以下の条件(1)〜(3)を満たすようにエンドエフェクタモデル35を配置したときの、カメラ座標系における支持部モデル37の位置姿勢を計算する。当該位置姿勢は、カメラ座標系を支持部モデル座標系に変換する座標変換行列CHtMで示される。座標変換行列CHtMは、カメラ座標系における、支持部モデル座標系の基底ベクトル37v1〜37v3の成分および原点37oの位置を表している(図10参照)。位置姿勢決定部25Aは、座標変換行列CHtMを、対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を示す情報として計算する。
条件(1):Z座標がz_max−dhの平面上に右爪部モデル36Rの下端面63Rおよび左爪部モデル36Lの下端面63Lが位置する。
条件(2):右爪部モデル36Rの下端面63Rの中心と左爪部モデル36Lの下端面63Lの中心との中間点が、移動量設定部14Aから受けた重心Gと一致する。
条件(3):右爪部モデル36Rおよび左爪部モデル36Lの可動方向が、移動量設定部14Aから受けた直線の方向と一致する。
The position /
Condition (1): The
Condition (2): The midpoint between the center of the
Condition (3): The movable direction of the right
干渉判定部27Aは、コンテナ情報記憶部21Aが記憶するコンテナ情報に基づいて、エンドエフェクタモデル35とコンテナ5との干渉判定を行なう。
The
(N−2.事前設定処理の流れ)
図21は、変形例3に係る画像処理装置によって実行される事前設定処理の流れを示すフローチャートである。図21に示すフローチャートは、図14に示すフローチャートと比較して、ステップS7〜S9が省略され、ステップS11,S12の代わりにステップS41,S42を含む点で相違する。
(N-2. Flow of preset processing)
FIG. 21 is a flowchart showing the flow of the preset processing executed by the image processing apparatus according to the
OKボタンが操作されると(ステップS10でYES)、ステップS41において、CPU110は、範囲入力欄55,56に現在入力されている値を移動量の設定可能範囲の最小値,最大値としてそれぞれ設定する。さらに、ステップS42において、CPU110は、ステップ数入力欄57に現在入力されている値をステップ数として設定する。
When the OK button is operated (YES in step S10), in step S41, the
(N−3.ピッキング位置の探索処理の流れ)
次に、図22および図23を参照して、変形例3に係る画像処理装置100Aによるエンドエフェクタ30のピッキング位置の探索処理の流れについて説明する。図22は、変形例3に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。図23は、図22のステップS52のサブルーチンの処理の流れの一例を示すフローチャートである。図22に示すフローチャートは、図15に示すフローチャートと比較して、ステップS23,S24が省略された点、ステップS26〜S27の代わりにステップS51〜S55を含む点、および、ステップS32,S33の代わりにステップS56を含む点で相違する。
(N-3. Flow of picking position search process)
Next, with reference to FIGS. 22 and 23, the flow of the search process for the picking position of the
ステップS51において、CPU110は、ステップS41で設定された設定可能範囲の最小の移動量を選択する。
In step S51, the
次にステップS52において、CPU110は、選択された移動量だけ右爪部31Rおよび左爪部31Lを可動方向に移動させたときに、対象ワーク2を把持可能な支持部32の位置姿勢候補を抽出する。
Next, in step S52, the
例えば、ステップS52において図23に示すステップS521〜S527が実行される。 For example, in step S52, steps S521 to S527 shown in FIG. 23 are executed.
ステップS521において、CPU110は、3D計測部20によって計測された三次元点群データの中から最高点のデータ(x,y,z_max)を抽出する。ステップS522において、CPU110は、三次元点群データにおいて、Z座標値がz_max−dh未満の点群データ(z<z_max−dh)をマスクする。ステップS523において、CPU110は、Z座標がz_max−dhの平面上において、残った領域をラベリングし、各領域の重心座標を計算する。
In step S521, the
ステップS524において、CPU110は、最高点に対応する領域の重心を中心と、選択された移動量に対応する開き幅Wを内径、開き幅Wにαを加算した値を外径とするリング状領域64を特定する(図20参照)。
In step S524, the
ステップS525において、CPU110は、特定したリング状領域64とラベリングされた領域60,61とに基づいて、対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を抽出する。具体的には、CPU110は、リング状領域64内において、右爪部モデル36Rの下端面63Rと左爪部モデル36Lの下端面63Lとが領域60,61と重ならないときの支持部モデル37の位置姿勢を、支持部32が取るべき位置姿勢候補として決定する。支持部32が取るべき位置姿勢候補は、上述したように、座標変換行列CHtMで示される。
In step S525, the
図24に戻ってステップS52の後、ステップS53において、CPU110は、少なくとも1つの位置姿勢候補が抽出されたか否かを判定する。少なくとも1つの位置姿勢候補が抽出されなかった場合(ステップS53でNO)、ステップS54において、CPU110は、現在選択されている移動量から、ステップS41で設定されたステップ数に応じて計算されるステップ幅だけ大きい移動量を選択する。ステップS54の後、探索処理はステップS52に戻り、位置姿勢候補の抽出処理が実行される。
Returning to FIG. 24, after step S52, in step S53, the
少なくとも1つの位置姿勢候補が抽出された場合(ステップS53でYES)、ステップS55において、CPU110は、選択されている移動量を、対象ワーク2を把持可能な移動量として設定する。具体的には、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRと左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLとが設定される。
When at least one position / posture candidate is extracted (YES in step S53), in step S55, the
その後、図15で説明したステップS28〜S31が実行される。ステップS30では、支持部モデル37を示す属性情報が付与された座標が、座標変換行列CHtMを用いて変換される。ただし、座標変換行列CHtMは、ステップS525で決定されている。また、ステップS31では、座標変換行列HMR,HMLを用いて、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標が変換される。ただし、座標変換行列HMR,HMLは、ステップS55で設定されている。
After that, steps S28 to S31 described with reference to FIG. 15 are executed. In step S30, the coordinates to which the attribute information indicating the
次にステップS56において、CPU110は、座標変換されたエンドエフェクタモデル35と、コンテナ情報記憶部21Aに記憶されたコンテナ情報で示される位置姿勢のコンテナ5との干渉判定を行なう。その後、図15で説明したステップS34〜S36が実行される。
Next, in step S56, the
<O.変形例4>
上記の説明では、作業者は、ユーザインターフェース9に表示されたエンドエフェクタモデル35において、枠線42〜44を用いて右爪部31R、左爪部31Lおよび支持部32にそれぞれ対応する部分を指定する。このとき、画像処理装置は、エンドエフェクタモデル35の形状から右爪部31R、左爪部31Lおよび支持部32にそれぞれ対応する部分を推定し、推定結果に応じて枠線42〜44のデフォルトの位置姿勢およびサイズを決定してもよい。これにより、作業者は、枠線42〜44に対する操作を簡略化できる。
<O. Modification 4>
In the above description, the operator specifies the parts corresponding to the
図24は、変形例4に係る画像処理装置の機能構成の一例を示すブロック図である。変形例4に係る画像処理装置100Bは、図4に示す画像処理装置100と比較して、CAD読込部12の代わりに第1CAD読込部12Aおよび第2CAD読込部12Bを備え、学習用データベース17と、学習機18と、識別機19とをさらに備える点で相違する。
FIG. 24 is a block diagram showing an example of the functional configuration of the image processing apparatus according to the modified example 4. Compared with the
第1CAD読込部12Aは、第1記憶部10から第1CADデータ10aを読み込む。第1CAD読込部12Aは、読み込んだ第1CADデータ10aを内部表現(ボックス、断面、三角メッシュ、点などの要素の集合)に変換する。第2CAD読込部12Bは、第2記憶部11から第2CADデータ11aを読み込む。
The first
学習用データベース17は、学習用データセット17aを記憶する。学習用データセット17aは、様々な形状のエンドエフェクタを様々な方向から射影した複数の画像の各々が学習用データを含む。学習用データは、画像の各画素に、支持部および可動部にいずれに対応するかを示す属性情報を付与した訓練データである。
The
学習機18は、学習用データセット17aを用いて、学習済モデルの学習を実行する。学習機18は、生成した学習済モデルを識別機19に出力する。学習機18は、例えばSegnet(http://mi.eng.cam.ac.uk/projects/segnet)などのセグメンテーション手法を用いて学習済モデルを生成する。
The learning
学習済モデルは、エンドエフェクタの画像データの入力を受けて、当該画像データで示される画像を構成する各画素について、当該画素が支持部に対応する部分である可能性を示すスコア(以下、「第1スコア」と称する。)を計算する。さらに、学習済モデルは、各画素について、当該要素が可動部に対応する部分である可能性を示すスコア(以下、「第2スコア」と称する。)を計算する。 The trained model receives the input of the image data of the end effector, and for each pixel constituting the image shown by the image data, the score indicating the possibility that the pixel corresponds to the support portion (hereinafter, "" It is referred to as "first score"). Further, the trained model calculates a score (hereinafter, referred to as “second score”) indicating the possibility that the element corresponds to a movable portion for each pixel.
学習済モデルは、例えば、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)に分類される前処理ネットワークと、中間層と、出力層に相当する活性化関数と、Softmax関数とを含む。 The trained model includes, for example, a preprocessing network classified as CNN (Convolutional Neural Network), an intermediate layer, an activation function corresponding to an output layer, and a Softmax function.
識別機19は、学習済モデルを用いて、UI画面40の表示領域41に表示される画像の各画素について、第1スコアおよび第2スコアを計算する。識別機19は、第1スコアが第2スコアよりも大きくかつ第1スコアが規定閾値以上である画素を支持部モデル37に対応する画素として識別する。識別機19は、第2スコアが第1スコアよりも大きくかつ第2スコアが規定閾値以上である画素を可動部モデルに対応する画素として識別する。識別機19は、第1スコアおよび第2スコアが規定閾値未満である画素を背景画素として識別する。なお、可動部モデルに対応する複数の画素が2つの集合にラベリングされる場合、識別機19は、当該2つの集合のうちの一方に属する画素を右爪部モデル36Rに対応する画素と識別し、他方に属する画素を左爪部モデル36Lに対応する画素として識別する。
The
パーツ設定部13は、識別機19による識別結果に従って、枠線42〜44のデフォルトの位置姿勢およびサイズを決定する。これにより、識別機19の識別結果が正しい場合、作業者は、枠線42〜44に対する操作を省略できる。識別機19の識別結果に誤りがある場合、作業者は、枠線42〜44の位置姿勢およびサイズを適宜修正すればよい。
The
<P.変形例5>
上記の実施の形態および変形例では、エンドエフェクタ30が平行移動する2つの爪部を可動部として有する例について説明した。しかしながら、エンドエフェクタ30は、平行移動する3つ以上の爪部を可動部として有してもよい。例えば、N個の爪部の中心点を通るN個の直線に沿って当該N個の爪部がそれぞれ移動する多指ハンドであってもよい。多指ハンドでは、N個の爪部が互いに近づくように移動することにより対象ワーク2を把持できる。このような多指ハンドであれば、形状およびサイズが予め定まっているワーク1であっても、上記の変形例3と同様の方法により、爪部の移動量を設定できる。
<
In the above-described embodiments and modifications, an example in which the
もしくは、エンドエフェクタ30は、回転移動する可動部を有していてもよい。回転移動する可動部を有する場合、パーツ設定部13は、当該可動部に対応する可動部モデルについて、可動方向として回転中心軸および回転方向を設定すればよい。
Alternatively, the
エンドエフェクタ30による対象ワーク2のピッキングは、上記の把持動作に限定されない。例えば、ピッキングは、対象ワーク2を吸着することにより行なわれてもよい。
The picking of the
<Q.変形例6>
上記の実施の形態では、画像処理装置100は、事前設定処理と、ピッキング位置を探索する探索処理とを両方を行なうものとした。しかしながら、事前設定処理は、画像処理装置100とは別の情報処理装置で実行されてもよい。情報処理装置は、汎用のコンピュータで構成され、画像処理装置と同様のハードウェア構成(図3)を備える。そして、情報処理装置は、第1記憶部10と、第2記憶部11と、CAD読込部12と、パーツ設定部13と、移動量設定部14と、相対位置設定部15とを備えればよい。
<Q. Modification 6>
In the above embodiment, the
<R.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
<R. Addendum>
As described above, the present embodiment and modifications include the following disclosures.
(構成1)
複数の物体(1)の中の1つの物体を対象物(2)としてピッキングするエンドエフェクタ(30)を有するロボット(300)を制御する制御システム(SYS)であって、
前記エンドエフェクタ(30)は、可動部(31R,31L)と、前記可動部(31R,31L)を移動可能に支持する支持部(32)とを含み、
前記制御システム(SYS))は、
前記エンドエフェクタ(30)の三次元形状を示す第1形状データを取得する取得部(12,12A)と、
ユーザインターフェース(9)と、
前記第1形状データで示されるエンドエフェクタモデル(35)を前記ユーザインターフェース(9)に表示させ、前記ユーザインターフェース(9)に入力された情報に基づいて、前記エンドエフェクタモデル(35)のうち前記可動部(31R,31L)に対応する可動部モデル(36R,36L)と前記可動部モデル(36R,36L)の可動方向とを設定する第1設定部(13)と、
前記複数の物体を含む視野領域の三次元形状を計測する計測部(20)と、
前記計測部(20)の計測結果に基づいて、前記対象物をピッキングするときの前記エンドエフェクタ(30)の位置姿勢候補を選択する選択部(22,22A)と、
前記選択部(22,22A)によって選択された位置姿勢候補の前記エンドエフェクタモデル(35)と前記対象物以外の物体との干渉判定を行なう判定部(27,27A)とを備え、
前記判定部(26,27,27A)は、前記エンドエフェクタモデル(35)において、設定された移動量だけ前記可動部モデル(36R,36L)を前記可動方向に移動させた状態で前記干渉判定を行なう、制御システム(SYS)。
(Structure 1)
A control system (SYS) that controls a robot (300) having an end effector (30) that picks one object among a plurality of objects (1) as an object (2).
The end effector (30) includes a movable portion (31R, 31L) and a support portion (32) that movably supports the movable portion (31R, 31L).
The control system (SYS))
The acquisition unit (12, 12A) for acquiring the first shape data indicating the three-dimensional shape of the end effector (30), and
User interface (9) and
The end effector model (35) shown in the first shape data is displayed on the user interface (9), and the end effector model (35) of the end effector model (35) is described based on the information input to the user interface (9). A first setting unit (13) that sets the movable portion model (36R, 36L) corresponding to the movable portion (31R, 31L) and the movable direction of the movable portion model (36R, 36L), and
The measuring unit (20) that measures the three-dimensional shape of the visual field region including the plurality of objects, and
A selection unit (22, 22A) that selects a position / posture candidate of the end effector (30) when picking the object based on the measurement result of the measurement unit (20).
The end effector model (35) of the position / posture candidate selected by the selection unit (22, 22A) is provided with a determination unit (27, 27A) for determining interference with an object other than the object.
The determination unit (26, 27, 27A) determines the interference in the end effector model (35) in a state where the movable unit model (36R, 36L) is moved in the movable direction by a set amount of movement. Control system (SYS) to perform.
(構成2)
前記取得部(12,12B)は、前記対象物の三次元形状を示す第2形状データをさらに取得し、
前記制御システム(SYS)は、さらに、
前記第2形状データで示される対象物モデル(3)を前記エンドエフェクタモデル(35)がピッキングするために必要な前記可動部モデル(36R,36L)の移動量を設定する第2設定部(14)を備え、
前記判定部(26,27)は、前記第2設定部(14)によって設定された移動量だけ前記可動部モデル(36R,36L)を移動させる、構成1に記載の制御システム(SYS)。
(Structure 2)
The acquisition unit (12, 12B) further acquires the second shape data indicating the three-dimensional shape of the object, and further acquires the second shape data.
The control system (SYS) further
The second setting unit (14) that sets the movement amount of the movable part model (36R, 36L) required for the end effector model (35) to pick the object model (3) shown by the second shape data. )
The control system (SYS) according to
(構成3)
前記複数の物体は、互いに形状およびサイズの少なくとも一方の異なる複数種類の物体を含み、
前記取得部(12,12B)は、前記複数種類の物体の各々について、当該物体の三次元形状を示す第2形状データをさらに取得し、
前記制御システム(SYS)は、さらに、
前記複数種類の物体の各々に対して、前記第2形状データで示される物体モデルを前記エンドエフェクタモデルがピッキングするために必要な前記可動部モデル(36R,36L)の移動量を設定する第2設定部(14)を備え、
前記選択部(22)は、前記計測部(20)の計測結果に基づいて前記対象物の種類を識別し、識別結果に応じて前記位置姿勢候補を選択し、
前記判定部(26,27)は、前記選択部(22)によって識別された種類に対して前記第2設定部(14)によって設定された移動量だけ前記可動部モデル(36R,36L)を移動させる、構成1に記載の制御システム(SYS)。
(Structure 3)
The plurality of objects include a plurality of types of objects having at least one different shape and size from each other.
The acquisition unit (12, 12B) further acquires second shape data indicating the three-dimensional shape of the object for each of the plurality of types of objects.
The control system (SYS) further
For each of the plurality of types of objects, the second movement amount of the movable part model (36R, 36L) required for the end effector model to pick the object model indicated by the second shape data is set. Equipped with a setting unit (14)
The selection unit (22) identifies the type of the object based on the measurement result of the measurement unit (20), selects the position / posture candidate according to the identification result, and selects the position / posture candidate.
The determination unit (26, 27) moves the movable unit model (36R, 36L) by the amount of movement set by the second setting unit (14) with respect to the type identified by the selection unit (22). The control system (SYS) according to the
(構成4)
前記視野領域の三次元形状に基づいて、前記対象物をピッキングするために必要な前記可動部モデル(36R,36L)の移動量を設定する第2設定部(14A)をさらに備え、
前記判定部(26,27A)は、前記第2設定部(14A)によって設定された移動量だけ前記可動部モデル(36R,36L)を移動させる、構成1に記載の制御システム(SYS)。
(Structure 4)
A second setting unit (14A) for setting the amount of movement of the movable unit model (36R, 36L) required for picking the object based on the three-dimensional shape of the visual field region is further provided.
The control system (SYS) according to
(構成5)
前記支持部(32)は、平行移動および回転移動の少なくとも一方が可能なように前記可動部(31R,31L)を支持する、構成1から4のいずれかに記載の制御システム(SYS)。
(Structure 5)
The control system (SYS) according to any one of
(構成6)
前記可動部(31R,31L)は、複数の爪部(31R,31L)を有し、
前記支持部(32)は、前記複数の爪部(31R,31L)間の距離が可変となるように、前記複数の爪部(31R,31L)をそれぞれ平行移動可能に支持する、構成1から4のいずれかに記載の制御システム(SYS)。
(Structure 6)
The movable portion (31R, 31L) has a plurality of claw portions (31R, 31L).
From
(構成7)
前記可動部(31R,31L)は、複数の爪部(31R,31L)を有し、
前記第2設定部(14A)は、
前記視野領域の三次元形状の中から最も高い位置を抽出し、
前記視野領域のうち、抽出された位置との高度差が規定値以下となる領域をラベリングし、
前記複数の爪部(31R,31L)がラベリングされた1つの領域の周囲に位置し、かつ、前記複数の爪部(31R,31L)がラベリングされた他の領域と重ならないように、前記複数の爪部(31R,31L)の各々の移動量を設定する、構成4に記載の制御システム(SYS)。
(Structure 7)
The movable portion (31R, 31L) has a plurality of claw portions (31R, 31L).
The second setting unit (14A) is
The highest position is extracted from the three-dimensional shape of the visual field region, and
Of the visual field areas, the area where the altitude difference from the extracted position is equal to or less than the specified value is labeled.
The plurality of claws (31R, 31L) are located around one labeled region, and the plurality of claws (31R, 31L) do not overlap with the other labeled regions. The control system (SYS) according to the configuration 4, which sets the movement amount of each of the claw portions (31R, 31L).
(構成8)
ユーザインターフェース(9)を用いて、対象物(2)をピッキングするエンドエフェクタ(30)の三次元形状を示す形状データに対する情報処理を行なう情報処理装置(100)であって、
前記エンドエフェクタ(30)は、可動部(31R,31L)と、前記可動部(31R,31L)を移動可能に支持する支持部(32)とを含み、
前記情報処理装置(100)は、
前記エンドエフェクタ(30)の三次元形状を示す形状データを取得する取得部(12,12A)と、
前記形状データで示されるエンドエフェクタモデル(35)を前記ユーザインターフェース(9)に表示させ、前記ユーザインターフェース(9)に入力された情報に基づいて、前記エンドエフェクタモデル(35)のうち前記可動部(31R,31L)に対応する可動部モデル(36R,36L)と前記可動部モデル(36R,36L)の可動方向とを設定する設定部(14,14A)とを備える、情報処理装置(100)。
(Structure 8)
An information processing device (100) that processes information on shape data indicating a three-dimensional shape of an end effector (30) that picks an object (2) using a user interface (9).
The end effector (30) includes a movable portion (31R, 31L) and a support portion (32) that movably supports the movable portion (31R, 31L).
The information processing device (100) is
The acquisition unit (12, 12A) for acquiring shape data indicating the three-dimensional shape of the end effector (30), and
The end effector model (35) indicated by the shape data is displayed on the user interface (9), and the movable portion of the end effector model (35) is based on the information input to the user interface (9). An information processing apparatus (100) including a movable portion model (36R, 36L) corresponding to (31R, 31L) and a setting unit (14, 14A) for setting a movable direction of the movable portion model (36R, 36L). ..
(構成9)
複数の物体(1)の中から1つの物体を対象物(2)としてピッキングするエンドエフェクタ(30)を有するロボット(300)を制御する制御方法であって、
前記エンドエフェクタ(30)は、可動部(31R,31L)と、前記可動部(31R,31L)を移動可能に支持する支持部(32)とを含み、
前記制御方法は、
前記エンドエフェクタ(30)の三次元形状を示す形状データを取得するステップと、
前記形状データで示されるエンドエフェクタモデル(35)をユーザインターフェース(9)に表示させ、前記ユーザインターフェース(9)に入力された情報に基づいて、前記エンドエフェクタモデル(35)のうち前記可動部(31R,31L)に対応する可動部モデル(36R,36L)と前記可動部モデル(36R,36L)の可動方向とを設定するステップと、
前記複数の物体を含む視野領域の三次元形状を計測するステップと、
計測結果に基づいて、前記対象物(2)をピッキングするときの前記エンドエフェクタ(30)の位置姿勢候補を選択するステップと、
選択された位置姿勢候補の前記エンドエフェクタモデル(35)と前記対象物(2)以外の物体との干渉判定を行なうステップとを備え、
前記干渉判定を行なうステップは、前記エンドエフェクタモデル(35)において、設定された移動量だけ前記可動部モデル(36R,36Lを前記可動方向に移動させるステップを含む、制御方法。
(Structure 9)
It is a control method for controlling a robot (300) having an end effector (30) that picks one object from a plurality of objects (1) as an object (2).
The end effector (30) includes a movable portion (31R, 31L) and a support portion (32) that movably supports the movable portion (31R, 31L).
The control method is
A step of acquiring shape data indicating the three-dimensional shape of the end effector (30), and
The end effector model (35) indicated by the shape data is displayed on the user interface (9), and based on the information input to the user interface (9), the movable part (35) of the end effector model (35) is displayed. A step of setting the movable part model (36R, 36L) corresponding to 31R, 31L) and the movable direction of the movable part model (36R, 36L), and
The step of measuring the three-dimensional shape of the visual field region including the plurality of objects, and
A step of selecting a position / orientation candidate of the end effector (30) when picking the object (2) based on the measurement result, and a step of selecting the position / orientation candidate.
A step of determining interference between the end effector model (35) of the selected position / orientation candidate and an object other than the object (2) is provided.
The step of performing the interference determination is a control method including a step of moving the movable portion model (36R, 36L in the movable direction) by a set movement amount in the end effector model (35).
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although embodiments of the present invention have been described, the embodiments disclosed herein should be considered to be exemplary and not restrictive in all respects. The scope of the present invention is indicated by the scope of claims and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
1 ワーク、2 対象ワーク、2o,3o,37o 基準点(原点)、2v1,2v3,3v1,3v3,3v2,37v3,37v2,37v1 特定方向(基底ベクトル)、3 ワークモデル、5 コンテナ、7 プロジェクタ、8 撮像装置、9 ユーザインターフェース、10 第1記憶部、10a 第1CADデータ、11 第2記憶部、11a 第2CADデータ、12 CAD読込部、12A 第1CAD読込部、12B 第2CAD読込部、13 パーツ設定部、14,14A 移動量設定部、15 相対位置設定部、16 範囲設定部、17 学習用データベース、17a 学習用データセット、18 学習機、19 識別機、20 3D計測部、21 コンテナ検出部、21A コンテナ情報記憶部、22,22A 選択部、23 ワーク検出部、24 対象ワーク選択部、25,25A 位置姿勢決定部、26 モデル変更部、27,27A 干渉判定部、28 把持位置出力部、29 凹部検出部、30 エンドエフェクタ、31L 左爪部、31R 右爪部、32 支持部、33 多関節アーム、34 ベース、35 エンドエフェクタモデル、36L 左爪部モデル、36R 右爪部モデル、37 支持部モデル、40,40A UI画面、41 表示領域、42,43,44 枠線、45 支持部選択ボタン、46 右爪部選択ボタン、47 左爪部選択ボタン、48,49 可動方向入力欄、50 移動量入力欄、51 ワーク表示ボタン、52 OKボタン、53 キャンセルボタン、54 太線、55,56 範囲入力欄、57 ステップ数入力欄、60,61 領域、63L,63R 下端面、64 リング状領域、65 直線、90 タッチパネル、92 ディスプレイ、100,100A,100B 画像処理装置、106 メモリカード、110 CPU、112 メインメモリ、114 ハードディスク、116 カメラインターフェース、116a 画像バッファ、118 入力インターフェース、120 表示コントローラ、122 プロジェクタインターフェース、124 通信インターフェース、126 データリーダ/ライタ、128 バス、200 ロボットコントローラ、300 ロボット、SYS 制御システム。 1 work, 2 target work, 2o, 3o, 37o reference point (origin), 2v1, 2v3, 3v1, 3v3, 3v2, 37v3, 37v2, 37v1 specific direction (base vector), 3 work model, 5 container, 7 projector, 8 Image pickup device, 9 User interface, 10 1st storage unit, 10a 1st CAD data, 11 2nd storage unit, 11a 2nd CAD data, 12 CAD reading unit, 12A 1st CAD reading unit, 12B 2nd CAD reading unit, 13 parts setting Unit, 14, 14A Movement amount setting unit, 15 Relative position setting unit, 16 Range setting unit, 17 Learning database, 17a Learning data set, 18 Learning machine, 19 Identification machine, 20 3D measurement unit, 21 Container detection unit, 21A container information storage unit, 22,22A selection unit, 23 work detection unit, 24 target work selection unit, 25,25A position / orientation determination unit, 26 model change unit, 27,27A interference determination unit, 28 grip position output unit, 29. Recess detection part, 30 end effector, 31L left claw part, 31R right claw part, 32 support part, 33 articulated arm, 34 base, 35 end effector model, 36L left claw part model, 36R right claw part model, 37 support part Model, 40,40A UI screen, 41 display area, 42,43,44 frame line, 45 support part selection button, 46 right claw part selection button, 47 left claw part selection button, 48,49 movable direction input field, 50 movement Amount input field, 51 work display button, 52 OK button, 53 cancel button, 54 thick line, 55,56 range input field, 57 step number input field, 60,61 area, 63L, 63R bottom surface, 64 ring-shaped area, 65 Straight line, 90 touch panel, 92 display, 100, 100A, 100B image processing device, 106 memory card, 110 CPU, 112 main memory, 114 hard disk, 116 camera interface, 116a image buffer, 118 input interface, 120 display controller, 122 projector interface , 124 communication interface, 126 data reader / writer, 128 bus, 200 robot controller, 300 Robot, SYS control system.
Claims (9)
前記エンドエフェクタは、可動部と、前記可動部を移動可能に支持する支持部とを含み、
前記制御システムは、
前記エンドエフェクタの三次元形状を示す第1形状データを取得する取得部と、
ユーザインターフェースと、
前記第1形状データで示されるエンドエフェクタモデルを前記ユーザインターフェースに表示させ、前記ユーザインターフェースに入力された情報に基づいて、前記エンドエフェクタモデルのうち前記可動部に対応する可動部モデルと前記可動部モデルの可動方向とを設定する第1設定部と、
前記複数の物体を含む視野領域の三次元形状を計測する計測部と、
前記計測部の計測結果に基づいて、前記対象物をピッキングするときの前記エンドエフェクタの位置姿勢候補を選択する選択部と、
前記選択部によって選択された位置姿勢候補の前記エンドエフェクタモデルと前記対象物以外の物体との干渉判定を行なう判定部とを備え、
前記判定部は、前記エンドエフェクタモデルにおいて、設定された移動量だけ前記可動部モデルを前記可動方向に移動させた状態で前記干渉判定を行なう、制御システム。 A control system that controls a robot having an end effector that picks one object among a plurality of objects as an object.
The end effector includes a movable portion and a support portion that movably supports the movable portion.
The control system is
An acquisition unit that acquires first shape data indicating the three-dimensional shape of the end effector, and
With the user interface
The end effector model represented by the first shape data is displayed on the user interface, and based on the information input to the user interface, the movable part model corresponding to the movable part and the movable part of the end effector model are displayed. The first setting unit that sets the movable direction of the model,
A measuring unit that measures the three-dimensional shape of the visual field region containing a plurality of objects,
A selection unit that selects a position / orientation candidate for the end effector when picking the object based on the measurement result of the measurement unit.
A determination unit for determining interference between the end effector model of the position / orientation candidate selected by the selection unit and an object other than the object is provided.
The determination unit is a control system that performs the interference determination in a state where the movable unit model is moved in the movable direction by a set amount of movement in the end effector model.
前記制御システムは、さらに、
前記第2形状データで示される対象物モデルを前記エンドエフェクタモデルがピッキングするために必要な前記可動部モデルの移動量を設定する第2設定部を備え、
前記判定部は、前記第2設定部によって設定された移動量だけ前記可動部モデルを移動させる、請求項1に記載の制御システム。 The acquisition unit further acquires the second shape data indicating the three-dimensional shape of the object, and further acquires the second shape data.
The control system further
A second setting unit for setting the movement amount of the movable unit model required for the end effector model to pick the object model indicated by the second shape data is provided.
The control system according to claim 1, wherein the determination unit moves the movable unit model by a movement amount set by the second setting unit.
前記取得部は、前記複数種類の物体の各々について、当該物体の三次元形状を示す第2形状データをさらに取得し、
前記制御システムは、さらに、
前記複数種類の物体の各々に対して、前記第2形状データで示される物体モデルを前記エンドエフェクタモデルがピッキングするために必要な前記可動部モデルの移動量を設定する第2設定部を備え、
前記選択部は、前記計測部の計測結果に基づいて前記対象物の種類を識別し、識別結果に応じて前記位置姿勢候補を選択し、
前記判定部は、前記選択部によって識別された種類に対して前記第2設定部によって設定された移動量だけ前記可動部モデルを移動させる、請求項1に記載の制御システム。 The plurality of objects include a plurality of types of objects having at least one different shape and size from each other.
The acquisition unit further acquires second shape data indicating the three-dimensional shape of the object for each of the plurality of types of objects.
The control system further
For each of the plurality of types of objects, a second setting unit for setting the movement amount of the movable portion model required for the end effector model to pick the object model indicated by the second shape data is provided.
The selection unit identifies the type of the object based on the measurement result of the measurement unit, selects the position / posture candidate according to the identification result, and selects the position / posture candidate.
The control system according to claim 1, wherein the determination unit moves the movable unit model by a movement amount set by the second setting unit with respect to the type identified by the selection unit.
前記判定部は、前記第2設定部によって設定された移動量だけ前記可動部モデルを移動させる、請求項1に記載の制御システム。 Further provided with a second setting unit for setting the amount of movement of the movable unit model required for picking the object based on the three-dimensional shape of the visual field region.
The control system according to claim 1, wherein the determination unit moves the movable unit model by a movement amount set by the second setting unit.
前記支持部は、前記複数の爪部間の距離が可変となるように、前記複数の爪部をそれぞれ平行移動可能に支持する、請求項1から4のいずれか1項に記載の制御システム。 The movable portion has a plurality of claw portions and has a plurality of claw portions.
The control system according to any one of claims 1 to 4, wherein the support portion supports the plurality of claw portions so that the distance between the plurality of claw portions is variable so that the plurality of claw portions can be translated.
前記第2設定部は、
前記視野領域の三次元形状の中から最も高い位置を抽出し、
前記視野領域のうち、抽出された位置との高度差が規定値以下となる領域をラベリングし、
前記複数の爪部がラベリングされた1つの領域の周囲に位置し、かつ、前記複数の爪部がラベリングされた他の領域と重ならないように、前記複数の爪部の各々の移動量を設定する、請求項4に記載の制御システム。 The movable portion has a plurality of claw portions and has a plurality of claw portions.
The second setting unit is
The highest position is extracted from the three-dimensional shape of the visual field region, and
Of the visual field areas, the area where the altitude difference from the extracted position is equal to or less than the specified value is labeled.
The movement amount of each of the plurality of claws is set so that the plurality of claws are located around one labeled region and the plurality of claws do not overlap with the other labeled regions. The control system according to claim 4.
前記エンドエフェクタは、可動部と、前記可動部を移動可能に支持する支持部とを含み、
前記情報処理装置は、
前記エンドエフェクタの三次元形状を示す形状データを取得する取得部と、
前記形状データで示されるエンドエフェクタモデルを前記ユーザインターフェースに表示させ、前記ユーザインターフェースに入力された情報に基づいて、前記エンドエフェクタモデルのうち前記可動部に対応する可動部モデルと前記可動部モデルの可動方向とを設定する設定部とを備える、情報処理装置。 An information processing device that uses a user interface to process information about shape data that indicates the three-dimensional shape of an end effector that picks an object.
The end effector includes a movable portion and a support portion that movably supports the movable portion.
The information processing device is
An acquisition unit that acquires shape data indicating the three-dimensional shape of the end effector, and
The end effector model indicated by the shape data is displayed on the user interface, and based on the information input to the user interface, the movable part model corresponding to the movable part and the movable part model of the end effector model An information processing device provided with a setting unit for setting the movable direction.
前記エンドエフェクタは、可動部と、前記可動部を移動可能に支持する支持部とを含み、
前記制御方法は、
前記エンドエフェクタの三次元形状を示す形状データを取得するステップと、
前記形状データで示されるエンドエフェクタモデルをユーザインターフェースに表示させ、前記ユーザインターフェースに入力された情報に基づいて、前記エンドエフェクタモデルのうち前記可動部に対応する可動部モデルと前記可動部モデルの可動方向とを設定するステップと、
前記複数の物体を含む視野領域の三次元形状を計測するステップと、
計測結果に基づいて、前記対象物をピッキングするときの前記エンドエフェクタの位置姿勢候補を選択するステップと、
選択された位置姿勢候補の前記エンドエフェクタモデルと前記対象物以外の物体との干渉判定を行なうステップとを備え、
前記干渉判定を行なうステップは、前記エンドエフェクタモデルにおいて、設定された移動量だけ前記可動部モデルを前記可動方向に移動させるステップを含む、制御方法。 It is a control method for controlling a robot having an end effector that picks one object from a plurality of objects as an object.
The end effector includes a movable portion and a support portion that movably supports the movable portion.
The control method is
A step of acquiring shape data indicating the three-dimensional shape of the end effector, and
The end effector model indicated by the shape data is displayed on the user interface, and the movable part model corresponding to the movable part and the movable part model of the movable part of the end effector model are movable based on the information input to the user interface. Steps to set the direction and
The step of measuring the three-dimensional shape of the visual field region including the plurality of objects, and
Based on the measurement results, a step of selecting a position / orientation candidate of the end effector when picking the object, and a step of selecting the position / orientation candidate.
A step of determining interference between the end effector model of the selected position / orientation candidate and an object other than the object is provided.
The step of performing the interference determination is a control method including a step of moving the movable portion model in the movable direction by a set amount of movement in the end effector model.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019082776A JP6973444B2 (en) | 2019-04-24 | 2019-04-24 | Control system, information processing device and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019082776A JP6973444B2 (en) | 2019-04-24 | 2019-04-24 | Control system, information processing device and control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020179441A JP2020179441A (en) | 2020-11-05 |
JP6973444B2 true JP6973444B2 (en) | 2021-11-24 |
Family
ID=73022895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019082776A Active JP6973444B2 (en) | 2019-04-24 | 2019-04-24 | Control system, information processing device and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6973444B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022101324A (en) * | 2020-12-24 | 2022-07-06 | 株式会社前川製作所 | Tool check device for robot arm, tool check program, and tool check method |
TW202233370A (en) * | 2021-02-18 | 2022-09-01 | 日商發那科股份有限公司 | Robot system, and control device |
WO2023013042A1 (en) | 2021-08-06 | 2023-02-09 | ファナック株式会社 | Interference check device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5788460B2 (en) * | 2013-11-05 | 2015-09-30 | ファナック株式会社 | Apparatus and method for picking up loosely stacked articles by robot |
JP6571616B2 (en) * | 2016-09-05 | 2019-09-04 | ファナック株式会社 | Robot simulation device |
JP6910049B2 (en) * | 2017-03-07 | 2021-07-28 | 株式会社 神崎高級工機製作所 | Dressing method and dresser set for external gear-shaped whetstone |
-
2019
- 2019-04-24 JP JP2019082776A patent/JP6973444B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020179441A (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200284573A1 (en) | Position and orientation measuring apparatus, information processing apparatus and information processing method | |
JP6004809B2 (en) | Position / orientation estimation apparatus, information processing apparatus, and information processing method | |
JP6973444B2 (en) | Control system, information processing device and control method | |
JP5671281B2 (en) | Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus | |
Khalfaoui et al. | An efficient method for fully automatic 3D digitization of unknown objects | |
KR20140008262A (en) | Robot system, robot, robot control device, robot control method, and robot control program | |
CN114419147A (en) | Rescue robot intelligent remote human-computer interaction control method and system | |
JP2016109669A (en) | Information processing device, information processing method, program | |
CN108303094A (en) | The Position Fixing Navigation System and its positioning navigation method of array are merged based on multiple vision sensor | |
Gratal et al. | Visual servoing on unknown objects | |
CN104574357A (en) | System and method for locating fiducials with known shape | |
JP2020180914A (en) | Device, method, and program for detecting position attitude of object | |
KR20100062320A (en) | Generating method of robot motion data using image data and generating apparatus using the same | |
CN109445599A (en) | Interaction pen detection method and 3D interactive system | |
CN116619358A (en) | Self-adaptive positioning optimization and mapping method for autonomous mining robot | |
JP2009216503A (en) | Three-dimensional position and attitude measuring method and system | |
Gulde et al. | RoPose: CNN-based 2D pose estimation of industrial robots | |
EP0380513B1 (en) | An adaptive vision-based controller | |
Ruan et al. | Feature-based autonomous target recognition and grasping of industrial robots | |
WO2021095521A1 (en) | Setting device, setting method, and program | |
KR20130075712A (en) | A laser-vision sensor and calibration method thereof | |
JP2009216480A (en) | Three-dimensional position and attitude measuring method and system | |
JP2021024052A (en) | Image processing device, image processing method and program | |
Sun et al. | Sparse pointcloud map fusion of multi-robot system | |
JP2003141511A (en) | Method, apparatus and program for recognizing three- dimensional configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201215 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210928 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6973444 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |