JP6973444B2 - Control system, information processing device and control method - Google Patents

Control system, information processing device and control method Download PDF

Info

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
Application number
JP2019082776A
Other languages
Japanese (ja)
Other versions
JP2020179441A (en
Inventor
豊男 飯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019082776A priority Critical patent/JP6973444B2/en
Publication of JP2020179441A publication Critical patent/JP2020179441A/en
Application granted granted Critical
Publication of JP6973444B2 publication Critical patent/JP6973444B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2018−144166号公報Japanese Unexamined Patent Publication No. 2018-144166

一般的に、エンドエフェクタは、対象ワークをピッキングするための可動部を有する。しかしながら、三次元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 Patent Document 1, although an additional model can be added to the end effector model, the end effector model itself cannot be changed. Therefore, if the position of the movable portion when picking the target work and the position of the portion corresponding to the movable portion in the end effector model are different, the interference determination cannot be performed accurately.

画像処理装置に三次元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.

実施の形態に係る制御システムの全体構成を示す概略図である。It is a schematic diagram which shows the whole structure of the control system which concerns on embodiment. 三次元CADデータで示されるエンドエフェクタモデルと、対象ワークをピッキングするときのエンドエフェクタとの一例を示す図である。It is a figure which shows an example of the end effector model shown by 3D CAD data, and the end effector when picking a target work. 図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。It is a schematic diagram which shows an example of the hardware configuration of the image processing apparatus shown in FIG. 図1に示す画像処理装置の機能構成の一例を示すブロック図である。It is a block diagram which shows an example of the functional structure of the image processing apparatus shown in FIG. 第1CADデータの内部表現の例を示す図である。It is a figure which shows the example of the internal representation of the 1st CAD data. 実施の形態に係るユーザインターフェースに表示されるUI画面の一例を示す図である。It is a figure which shows an example of the UI screen displayed in the user interface which concerns on embodiment. 移動量入力欄に移動量が入力されたときのUI画面の一例を示す図である。It is a figure which shows an example of the UI screen when the movement amount is input in the movement amount input field. ワーク表示ボタンが操作されたときのUI画面の一例を示す図である。It is a figure which shows an example of the UI screen when a work display button is operated. 支持部モデルに対するワークモデルの相対位置姿勢を示す座標変換行列の一例を示す図である。It is a figure which shows an example of the coordinate transformation matrix which shows the relative position and orientation of a work model with respect to a support part model. 対象ワークを把持するときにエンドエフェクタの支持部が取るべき位置姿勢の決定方法を示す図である。It is a figure which shows the method of determining the position | posture which the support part of an end effector should take when gripping a target work. モデル変更部によって座標変換されたエンドエフェクタモデルの一例を示す図である。It is a figure which shows an example of the end effector model which coordinate-transformed by a model change part. エンドエフェクタと対象ワーク以外のワークとが干渉している例を示す図である。It is a figure which shows the example which the end effector and the work other than the target work interfere with each other. エンドエフェクタとコンテナとが干渉している例を示す図である。It is a figure which shows the example which the end effector and a container interfere with each other. 実施の形態に係る画像処理装置によって実行される事前設定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the preset process which is executed by the image processing apparatus which concerns on embodiment. 実施の形態に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the search process of the picking position executed by the image processing apparatus which concerns on embodiment. 変形例1に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the search process of the picking position executed by the image processing apparatus which concerns on modification 1. FIG. 形状およびサイズにばらつきのあるワークを把持するときのエンドエフェクタを示す図である。It is a figure which shows the end effector when gripping a workpiece which varies in shape and size. 変形例3に係る画像処理装置の機能構成を示すブロック図である。It is a block diagram which shows the functional structure of the image processing apparatus which concerns on modification 3. 変形例3に係るユーザインターフェースに表示されるUI画面の一例を示す図である。It is a figure which shows an example of the UI screen displayed in the user interface which concerns on modification 3. FIG. 変形例3に係る画像処理装置の選択部の処理を示す図である。It is a figure which shows the processing of the selection part of the image processing apparatus which concerns on modification 3. 変形例3に係る画像処理装置によって実行される事前設定処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the preset process executed by the image processing apparatus which concerns on modification 3. FIG. 変形例3に係る画像処理装置によって実行されるピッキング位置の探索処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the picking position search processing executed by the image processing apparatus which concerns on modification 3. FIG. 図22のステップS52のサブルーチンの処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the processing flow of the subroutine of step S52 of FIG. 変形例4に係る画像処理装置の機能構成の一例を示すブロック図である。It is a block diagram which shows an example of the functional structure of the image processing apparatus which concerns on modification 4.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 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 work 1 which is an object bulkly piled up in a container 5 is picked one by one. Although FIG. 1 illustrates a case where only two works 1 exist in the container 5 for easy understanding, a large number of works 1 may be arranged in an overlapping state.

図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300とを備える。画像処理装置100には、プロジェクタ(照明装置)7、撮像装置8およびユーザインターフェース9が接続されている。 The control system SYS exemplified in FIG. 1 includes an image processing device 100, a robot controller 200, and a robot 300. A projector (lighting device) 7, an image pickup device 8, and a user interface 9 are connected to the image processing device 100.

ロボット300は、ワーク1をピッキングする動作を行なう。ロボット300は、ワーク1を把持するエンドエフェクタ30と、一端においてエンドエフェクタ30を支持する多関節アーム33と、多関節アーム33の他端を支持するベース34とを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。 The robot 300 performs an operation of picking the work 1. The robot 300 includes an end effector 30 that grips the work 1, an articulated arm 33 that supports the end effector 30 at one end, and a base 34 that supports the other end of the articulated arm 33. The operation of the robot 300 is controlled by the robot controller 200.

ロボットコントローラ200は、画像処理装置100から、エンドエフェクタ30が取るべき位置姿勢を示す位置姿勢情報を受ける。ロボットコントローラ200は、当該位置姿勢情報に基づいて、ロボット300のエンドエフェクタ30を適切な位置姿勢に位置決めするための指令を生成し、ロボット300へ出力する。この指令に応答して、ロボット300は、ワーク1のピッキング動作(図1に示す例では把持動作)を開始する。 The robot controller 200 receives position / orientation information indicating the position / orientation to be taken by the end effector 30 from the image processing device 100. The robot controller 200 generates a command for positioning the end effector 30 of the robot 300 in an appropriate position / posture based on the position / posture information, and outputs the command to the robot 300. In response to this command, the robot 300 starts a picking operation (grasping operation in the example shown in FIG. 1) of the work 1.

プロジェクタ7は、一種の面光源として機能するとともに、画像処理装置100からの指示に従って任意の濃淡パターンの照明光を所定位置(ワーク1を含むコンテナ5が配置される位置)に投影できるものとする。この任意の濃淡パターンは、照射面内で明るさが均一であるパターンおよび照射面内の所定方向に沿って明るさが周期的に変化するパターンを含む。 The projector 7 functions as a kind of surface light source, and can project illumination light of an arbitrary shading pattern to a predetermined position (a position where the container 5 including the work 1 is arranged) according to an instruction from the image processing device 100. .. This arbitrary shading pattern includes a pattern in which the brightness is uniform in the irradiation surface and a pattern in which the brightness changes periodically along a predetermined direction in the irradiation surface.

プロジェクタ7は、主要なコンポーネントとして、LED(Light Emitting Diode)やハロゲンランプなどの光源と、プロジェクタ7の照射面の側に配置されたフィルタとを含む。また、フィルタは、後述するような三次元形状の計測に必要な濃淡パターンを発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。なお、フィルタの代わりに、液晶ディスプレイやデジタルミラーデバイスを用いて濃淡パターンを発生させてもよい。液晶ディスプレイやデジタルミラーデバイスを用いることにより任意の濃淡パターンを発生できる。 The projector 7 includes, as main components, a light source such as an LED (Light Emitting Diode) or a halogen lamp, and a filter arranged on the side of the irradiation surface of the projector 7. Further, the filter generates a shading pattern necessary for measuring a three-dimensional shape as described later, and can arbitrarily change the in-plane light transmittance according to a command from the image processing apparatus 100. Instead of the filter, a liquid crystal display or a digital mirror device may be used to generate a shading pattern. Any shade pattern can be generated by using a liquid crystal display or a digital mirror device.

撮像装置8は、視野領域にコンテナ5が含まれるように設置され、プロジェクタ7によって照射された照明光がワーク1の表面で反射した光を撮像する。撮像装置8は、撮像により得られた画像を画像処理装置100に出力する。 The image pickup apparatus 8 is installed so that the container 5 is included in the visual field region, and the illumination light emitted by the projector 7 captures the light reflected on the surface of the work 1. The image pickup device 8 outputs the image obtained by the image pickup to the image processing device 100.

撮像装置8は、主要なコンポーネントとして、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。 The image pickup device 8 includes an optical system such as a lens and an image pickup element such as a CCD (Coupled Charged Device) or a CMOS (Complementary Metal Oxide Semiconductor) sensor as main components.

画像処理装置100は、撮像装置8から受けた画像に基づいて、コンテナ5内の複数のワーク1の中の1つを対象ワーク2として選択し、対象ワーク2を把持するためのエンドエフェクタ30の位置姿勢を決定する。画像処理装置100は、決定した位置姿勢を示す位置姿勢情報を生成し、生成した位置姿勢情報をロボットコントローラ200に出力する。ロボットコントローラ200は、画像処理装置100から受けた位置姿勢情報に従ってロボット300を制御する。 The image processing device 100 selects one of the plurality of works 1 in the container 5 as the target work 2 based on the image received from the image pickup device 8, and the end effector 30 for gripping the target work 2. Position Position Determine the posture. The image processing device 100 generates position / posture information indicating the determined position / posture, and outputs the generated position / posture information to the robot controller 200. The robot controller 200 controls the robot 300 according to the position / orientation information received from the image processing device 100.

具体的には、画像処理装置100は、撮像装置8から受けた画像に基づいて、撮像装置8の視野領域の三次元形状を計測する。視野領域にはコンテナ5が含まれるため、コンテナ5にばら積みされた複数のワーク1の三次元形状が計測される。 Specifically, the image processing device 100 measures the three-dimensional shape of the visual field region of the image pickup device 8 based on the image received from the image pickup device 8. Since the field of view region includes the container 5, the three-dimensional shapes of the plurality of works 1 bulkly stacked in the container 5 are measured.

画像処理装置100は、計測した三次元形状に基づいて、複数のワーク1の中の1つを把持対象となる対象ワーク2として選択するとともに、当該対象ワーク2を把持するときのエンドエフェクタ30の位置姿勢候補を選択する。 The image processing apparatus 100 selects one of the plurality of works 1 as the target work 2 to be gripped based on the measured three-dimensional shape, and the end effector 30 when gripping the target work 2. Select a position / posture candidate.

選択された位置姿勢候補の状態のエンドエフェクタ30は、対象ワーク2以外の物体(他のワーク1およびコンテナ5を含む)と干渉する可能性がある。このような干渉が生じた場合、エンドエフェクタ30または対象ワーク2以外の物体に破損が生じる可能性がある。そこで、画像処理装置100は、このような干渉を避けるため、エンドエフェクタ30の三次元形状を示す三次元CADデータを用いて、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を行なう。具体的には、三次元CADデータで示され、かつ、選択された位置姿勢候補に存在するエンドエフェクタモデルをエンドエフェクタ30とみなし、エンドエフェクタモデルと対象ワーク2以外の物体との干渉判定を行なう。 The end effector 30 in the selected position / orientation candidate state may interfere with an object other than the target work 2 (including the other work 1 and the container 5). When such interference occurs, the end effector 30 or an object other than the target work 2 may be damaged. Therefore, in order to avoid such interference, the image processing apparatus 100 uses the three-dimensional CAD data indicating the three-dimensional shape of the end effector 30 to determine the interference between the end effector 30 and an object other than the target work 2. Specifically, the end effector model shown by the three-dimensional CAD data and existing in the selected position / orientation candidate is regarded as the end effector 30, and the interference determination between the end effector model and the object other than the target work 2 is performed. ..

図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 end effector 30 includes a right claw portion 31R and a left claw portion 31L, which are movable portions, and a support portion 32 that movably supports the right claw portion 31R and the left claw portion 31L. including. Specifically, the support portion 32 supports the right claw portion 31R and the left claw portion 31L so as to be able to translate so that the distance (interval) between the right claw portion 31R and the left claw portion 31L is variable. ..

対象ワーク2を把持するためには、当該対象ワーク2のサイズに応じた開き幅Wだけ右爪部31Rと左爪部31Lとの間隔を広げる必要がある。しかしながら、エンドエフェクタ30の三次元形状を示す三次元形状データは、右爪部31Rおよび左爪部31Lが定状態(図2に示す例では閉状態)であるときのエンドエフェクタ30全体の三次元形状に基づいて作成される。そのため、図2の左側に例示されるように、エンドエフェクタモデル35の形状は、実際に対象ワーク2をピッキングするときのエンドエフェクタ30の形状と一致しない。 In order to grip the target work 2, it is necessary to widen the distance between the right claw portion 31R and the left claw portion 31L by the opening width W according to the size of the target work 2. However, the three-dimensional shape data showing the three-dimensional shape of the end effector 30 is the three-dimensional shape of the entire end effector 30 when the right claw portion 31R and the left claw portion 31L are in a constant state (closed state in the example shown in FIG. 2). Created based on shape. Therefore, as illustrated on the left side of FIG. 2, the shape of the end effector model 35 does not match the shape of the end effector 30 when the target work 2 is actually picked.

また、三次元CADデータは、通常、エンドエフェクタ30全体の三次元形状のみを示し、右爪部31R、左爪部31Lおよび支持部32がどの部分に該当するのかを示す属性情報を含まない。そのため、三次元CADデータのみを用いて、対象ワーク2をピッキングするときのエンドエフェクタ30の形状に一致させるように、エンドエフェクタモデル35の形状を変更することもできない。 Further, the three-dimensional CAD data usually shows only the three-dimensional shape of the entire end effector 30, and does not include attribute information indicating which portion the right claw portion 31R, the left claw portion 31L, and the support portion 32 correspond to. Therefore, it is not possible to change the shape of the end effector model 35 so as to match the shape of the end effector 30 when picking the target work 2 using only the three-dimensional CAD data.

以上から、エンドエフェクタモデル35をそのまま用いた場合、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができない。そこで、画像処理装置100は、以下のようにして干渉判定を行なう。 From the above, when the end effector model 35 is used as it is, it is not possible to accurately determine the interference between the end effector 30 and an object other than the target work 2. Therefore, the image processing device 100 performs the interference determination as follows.

画像処理装置100は、三次元CADデータで示されるエンドエフェクタモデル35をユーザインターフェース9に表示させる。そして、画像処理装置100は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35のうち可動部に対応する可動部モデルと可動部モデルの可動方向とを設定する。図2に示す例では、エンドエフェクタモデル35のうち右爪部31Rおよび左爪部31Lにそれぞれ対応する右爪部モデル36Rおよび左爪部モデル36Lが設定される。さらに、右爪部モデル36Rおよび左爪部モデル36Lの可動方向は、それぞれ+Y方向、−Y方向に設定される。 The image processing device 100 causes the user interface 9 to display the end effector model 35 represented by the three-dimensional CAD data. Then, the image processing device 100 sets the movable portion model corresponding to the movable portion of the end effector model 35 and the movable direction of the movable portion model based on the information input to the user interface 9. In the example shown in FIG. 2, the right claw portion model 36R and the left claw portion model 36L corresponding to the right claw portion 31R and the left claw portion 31L are set in the end effector model 35, respectively. Further, the movable directions of the right claw model 36R and the left claw model 36L are set to the + Y direction and the −Y direction, respectively.

画像処理装置100は、エンドエフェクタモデル35において、設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向に移動させた状態で干渉判定を行なう。 The image processing device 100 makes an interference determination in the end effector model 35 in a state where the right claw model 36R and the left claw model 36L are moved in the movable direction by a set amount of movement.

本実施の形態によれば、対象ワーク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 target work 2, the shape of the end effector model 35 so as to match the shape of the end effector 30 when actually picking the target work 2. Can be changed. In the example shown in FIG. 2, 1/2 of the opening width W may be set as the movement amount. Then, by using the changed end effector model 35, it is possible to accurately determine the interference between the end effector 30 and an object other than the target work 2.

§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 image processing device 100 is typically a computer having a general-purpose architecture, and executes image processing according to the present embodiment by executing a pre-installed program (instruction code). .. Such a program is typically distributed in a state of being stored in various recording media or the like, or is installed in the image processing apparatus 100 via a network or the like.

このような汎用的なコンピュータを利用する場合には、本実施の形態に係る画像処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するための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 image processing device 100 includes a CPU (Central Processing Unit) 110 which is an arithmetic processing unit, a main memory 112 and a hard disk 114 as a storage unit, a camera interface 116, an input interface 118, and the like. It includes a display controller 120, a projector interface 122, a communication interface 124, and a data reader / writer 126. Each of these parts is connected to each other via a bus 128 so as to be capable of data communication.

CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、撮像装置8によって取得された画像、キャリブレーションデータ、計測結果に関する情報などを保持する。さらに、ハードディスク114には、各種設定値などが格納されてもよい。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。 The CPU 110 expands the programs (codes) installed in the hard disk 114 into the main memory 112 and executes them in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory), and in addition to the program read from the hard disk 114, the image acquired by the image pickup device 8 and the calibration. Holds data, information about measurement results, etc. Further, various setting values and the like may be stored in the hard disk 114. In addition to the hard disk 114, or instead of the hard disk 114, a semiconductor storage device such as a flash memory may be adopted.

カメラインターフェース116は、CPU110と撮像装置8との間のデータ伝送を仲介する。すなわち、カメラインターフェース116は、撮像装置8と接続される。カメラインターフェース116は、撮像装置8からの画像を一時的に蓄積するための画像バッファ116aを含む。そして、カメラインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。また、カメラインターフェース116は、CPU110が発生した内部コマンドに従って、撮像装置8に対して撮像コマンドを与える。 The camera interface 116 mediates data transmission between the CPU 110 and the image pickup apparatus 8. That is, the camera interface 116 is connected to the image pickup device 8. The camera interface 116 includes an image buffer 116a for temporarily storing an image from the image pickup apparatus 8. Then, when the image of a predetermined number of frames is accumulated in the image buffer 116a, the camera interface 116 transfers the accumulated image to the main memory 112. Further, the camera interface 116 gives an image pickup command to the image pickup apparatus 8 according to an internal command generated by the CPU 110.

入力インターフェース118は、CPU110とユーザインターフェース9を構成するタッチパネル90、マウス、キーボードなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェース118は、ユーザが入力部を操作することで与えられる操作指令を受付ける。 The input interface 118 mediates data transmission between the CPU 110 and an input unit such as a touch panel 90, a mouse, and a keyboard constituting the user interface 9. That is, the input interface 118 receives an operation command given by the user operating the input unit.

表示コントローラ120は、ユーザインターフェース9を構成するディスプレイ92と接続され、CPU110における処理結果などをユーザに通知する。すなわち、表示コントローラ120は、ディスプレイ92に接続され、当該ディスプレイ92での表示を制御する。 The display controller 120 is connected to the display 92 constituting the user interface 9 and notifies the user of the processing result of the CPU 110 and the like. That is, the display controller 120 is connected to the display 92 and controls the display on the display 92.

プロジェクタインターフェース122は、CPU110とプロジェクタ7との間のデータ伝送を仲介する。より具体的には、プロジェクタインターフェース122は、CPU110が発生した内部コマンドに従って、プロジェクタ7に対して照明コマンドを与える。 The projector interface 122 mediates data transmission between the CPU 110 and the projector 7. More specifically, the projector interface 122 gives a lighting command to the projector 7 according to an internal command generated by the CPU 110.

通信インターフェース124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェース124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。 The communication interface 124 mediates data transmission between the CPU 110 and an external device such as the robot controller 200. The communication interface 124 typically comprises Ethernet (registered trademark), USB (Universal Serial Bus), or the like.

データリーダ/ライタ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 / writer 126 mediates data transmission between the CPU 110 and the memory card 106, which is a recording medium. That is, the memory card 106 is distributed in a state in which a program or the like executed by the image processing device 100 is stored, and the data reader / writer 126 reads the program from the memory card 106. Further, the data reader / writer 126 writes the input image acquired by the image pickup apparatus 8 and / or the processing result in the image processing apparatus 100 to the memory card 106 in response to the internal command of the CPU 110. The memory card 106 may be a general-purpose semiconductor storage device such as SD (Secure Digital), a magnetic storage medium such as a flexible disk, or an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory). Etc.

<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 image processing device 100 includes a first storage unit 10, a second storage unit 11, a CAD reading unit 12, a parts setting unit 13, a movement amount setting unit 14, and a relative position setting. It includes a unit 15, a 3D measurement unit 20, a container detection unit 21, a selection unit 22, a model change unit 26, an interference determination unit 27, and a grip position output unit 28. The first storage unit 10 and the second storage unit 11 are realized by the hard disk 114 shown in FIG. CAD reading unit 12, parts setting unit 13, movement amount setting unit 14, relative position setting unit 15, 3D measurement unit 20, container detection unit 21, selection unit 22, model change unit 26, interference determination unit 27, and grip position output unit. 28 is realized by the CPU 110 executing a program.

CAD読込部12、パーツ設定部13、移動量設定部14および相対位置設定部15は、ワーク1をピッキングする前の事前設定処理を実行するブロックである。3D計測部20、コンテナ検出部21、選択部22、モデル変更部26、干渉判定部27および把持位置出力部28は、ワーク1のピッキング位置を探索する探索処理を実行するブロックである。 The CAD reading unit 12, the parts setting unit 13, the movement amount setting unit 14, and the relative position setting unit 15 are blocks that execute preset processing before picking the work 1. The 3D measurement unit 20, the container detection unit 21, the selection unit 22, the model change unit 26, the interference determination unit 27, and the grip position output unit 28 are blocks that execute a search process for searching the picking position of the work 1.

第1記憶部10は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを記憶する。第1CADデータ10aは、エンドエフェクタ30全体の三次元形状のみを示し、右爪部31R、左爪部31Lおよび支持部32がどの部分に該当するのかを示す属性情報を含まない。第2記憶部11は、ワーク1の三次元形状を示す第2CADデータ11aを記憶する。 The first storage unit 10 stores the first CAD data 10a showing the three-dimensional shape of the end effector 30. The first CAD data 10a shows only the three-dimensional shape of the entire end effector 30, and does not include attribute information indicating which portion the right claw portion 31R, the left claw portion 31L, and the support portion 32 correspond to. The second storage unit 11 stores the second CAD data 11a showing the three-dimensional shape of the work 1.

CAD読込部12は、第1記憶部10から第1CADデータ10aを読み込むことにより、第1CADデータ10aを取得する。さらに、CAD読込部12は、第2記憶部11から第2CADデータ11aを読み込むことにより、第2CADデータ11aを取得する。 The CAD reading unit 12 acquires the first CAD data 10a by reading the first CAD data 10a from the first storage unit 10. Further, the CAD reading unit 12 acquires the second CAD data 11a by reading the second CAD data 11a from the second storage unit 11.

CAD読込部12は、読み込んだCADデータを内部表現(処理用の表現)に変換する。図5は、第1CADデータの内部表現の例を示す図である。第1CADデータ10aは、複数の要素の集合として変換される。すなわち、第1CADデータ10aで示されるエンドエフェクタモデル35は、複数の要素の集合によって構成される。図5に示されるように、要素は、例えば、ボックス、断面、三角メッシュ、点のいずれかである。 The CAD reading unit 12 converts the read CAD data into an internal representation (expression for processing). FIG. 5 is a diagram showing an example of the internal representation of the first CAD data. The first CAD data 10a is converted as a set of a plurality of elements. That is, the end effector model 35 represented by the first CAD data 10a is composed of a set of a plurality of elements. As shown in FIG. 5, the element is, for example, a box, a cross section, a triangular mesh, or a point.

図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 parts setting unit 13 causes the user interface 9 to display the end effector model 35 represented by the first CAD data 10a. The parts setting unit 13 sets the right claw portion model 36R and the left claw portion model 36L (see FIG. 2) based on the information input to the user interface 9. Further, the parts setting unit 13 sets the movable directions of the right claw portion model 36R and the left claw portion model 36L based on the information input to the user interface 9. Further, the parts setting unit 13 sets the support unit model 37 (see FIG. 2), which is a portion corresponding to the support unit 32 in the end effector model 35, based on the information input to the user interface 9.

パーツ設定部13は、エンドエフェクタモデル35を構成する各要素(図5に示すボックス、断面、三角メッシュ、または点)について、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37のいずれに属するかを示す属性情報を付与する。 The parts setting unit 13 has a right claw model 36R, a left claw model 36L, or a support model 37 for each element (box, cross section, triangular mesh, or point shown in FIG. 5) constituting the end effector model 35. Attribute information indicating whether it belongs to is given.

移動量設定部14は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35が第2CADデータ11aで示されるワークモデルを把持するときに必要な右爪部モデル36Rおよび左爪部モデル36Lの各々の移動量を設定する。 The movement amount setting unit 14 has a right claw model 36R and a left claw model necessary for the end effector model 35 to grip the work model shown by the second CAD data 11a based on the information input to the user interface 9. Each movement amount of 36L is set.

相対位置設定部15は、ユーザインターフェース9に入力された情報に基づいて、エンドエフェクタモデル35がワークモデルを把持するときの、支持部モデル37に対するワークモデルの相対位置姿勢を設定する。 The relative position setting unit 15 sets the relative position / orientation of the work model with respect to the support model 37 when the end effector model 35 grips the work model based on the information input to the user interface 9.

3D計測部20は、撮像装置8から取得した画像に基づいて、撮像装置8の視野領域の三次元形状を計測する。計測された三次元形状は、例えば三次元点群データで表現される。三次元点群データは、視野領域に存在する物体の撮像装置8側の表面を構成する複数の点の各々の三次元座標を示す。 The 3D measurement unit 20 measures the three-dimensional shape of the visual field region of the image pickup device 8 based on the image acquired from the image pickup device 8. The measured three-dimensional shape is represented by, for example, three-dimensional point cloud data. The three-dimensional point cloud data shows the three-dimensional coordinates of each of the plurality of points constituting the surface of the object existing in the visual field region on the image pickup device 8 side.

コンテナ検出部21は、コンテナ5の三次元形状を示す情報を予め記憶しており、当該情報と3D計測部20の計測結果である三次元点群データとに基づいて、コンテナ5の位置姿勢を検出する。コンテナ5内には複数のワーク1が積まれているため、撮像装置8から見たとき、コンテナ5の側壁の上端面が観察される。そのため、コンテナ検出部21は、三次元点群データの中からコンテナ5の側壁の上端面に対応する点のデータを抽出し、抽出したデータとコンテナ5の三次元形状を示す情報とから、コンテナ5の位置姿勢を計算すればよい。 The container detection unit 21 stores information indicating the three-dimensional shape of the container 5 in advance, and determines the position and orientation of the container 5 based on the information and the three-dimensional point cloud data which is the measurement result of the 3D measurement unit 20. To detect. Since a plurality of works 1 are stacked in the container 5, the upper end surface of the side wall of the container 5 is observed when viewed from the image pickup apparatus 8. Therefore, the container detection unit 21 extracts the point data corresponding to the upper end surface of the side wall of the container 5 from the three-dimensional point cloud data, and from the extracted data and the information indicating the three-dimensional shape of the container 5, the container The position and orientation of 5 may be calculated.

選択部22は、3D計測部20の計測結果に基づいて、対象ワーク2をピッキングするときのエンドエフェクタ30の1または複数の位置姿勢候補を選択する。図4に示されるように、選択部22は、ワーク検出部23と、対象ワーク選択部24と、位置姿勢決定部25とを含む。 The selection unit 22 selects one or a plurality of position / orientation candidates of the end effector 30 when picking the target work 2 based on the measurement result of the 3D measurement unit 20. As shown in FIG. 4, the selection unit 22 includes a work detection unit 23, a target work selection unit 24, and a position / orientation determination unit 25.

ワーク検出部23は、テンプレートマッチングを用いて、撮像装置8の視野領域の中からワーク1を探索し、探索されたワーク1の位置姿勢を検出する。 The work detection unit 23 searches for the work 1 from the visual field area of the image pickup apparatus 8 by using template matching, and detects the position and orientation of the searched work 1.

対象ワーク選択部24は、ワーク検出部23によって検出されたワーク1の位置姿勢に基づいて、ピッキングの対象となる対象ワーク2を選択する。例えば、対象ワーク選択部24は、ワーク検出部23によって探索されたワーク1のうち、高さが上位所定数のワーク1を対象ワーク2として選択する。 The target work selection unit 24 selects the target work 2 to be picked based on the position and orientation of the work 1 detected by the work detection unit 23. For example, the target work selection unit 24 selects the work 1 having a predetermined number of heights higher than the work 1 searched by the work detection unit 23 as the target work 2.

位置姿勢決定部25は、対象ワーク2を把持するときにエンドエフェクタ30の支持部32が取るべき位置姿勢を決定する。上述したように、エンドエフェクタモデル35がワークモデルを把持するときの支持部モデル37に対するワークモデルの相対位置姿勢が相対位置設定部15によって設定されている。そのため、位置姿勢決定部25は、支持部32に対する対象ワーク2の相対位置姿勢が相対位置設定部15によって設定された相対位置姿勢と一致するように、支持部32が取るべき位置姿勢を決定すればよい。 The position / posture determining unit 25 determines the position / posture to be taken by the support portion 32 of the end effector 30 when gripping the target work 2. As described above, the relative position / orientation of the work model with respect to the support model 37 when the end effector model 35 grips the work model is set by the relative position setting unit 15. Therefore, the position / posture determining unit 25 determines the position / posture to be taken by the support unit 32 so that the relative position / posture of the target work 2 with respect to the support unit 32 matches the relative position / posture set by the relative position setting unit 15. Just do it.

モデル変更部26は、対象ワーク2を把持するときのエンドエフェクタ30の状態に一致するようにエンドエフェクタモデル35を変更する。モデル変更部26は、エンドエフェクタモデル35を構成する複数の要素の各々の座標を変換することにより、エンドエフェクタモデル35を変更する。 The model changing unit 26 changes the end effector model 35 so as to match the state of the end effector 30 when gripping the target work 2. The model change unit 26 changes the end effector model 35 by converting the coordinates of each of the plurality of elements constituting the end effector model 35.

具体的には、モデル変更部26は、支持部モデル37の位置姿勢が位置姿勢決定部25によって決定された位置姿勢に一致するように、エンドエフェクタモデル35を構成する各要素の座標を変換する。さらに、モデル変更部26は、移動量設定部14によって設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動するように、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標を変換する。 Specifically, the model changing unit 26 converts the coordinates of each element constituting the end effector model 35 so that the position / orientation of the support unit model 37 matches the position / orientation determined by the position / orientation determining unit 25. .. Further, the model changing unit 26 moves the right claw unit model 36R and the left claw unit model 36L in the movable direction by the amount of movement set by the movement amount setting unit 14, respectively, so that the right claw unit model 36R and the left claw unit 26 move. The coordinates of each element constituting the model 36L are converted.

干渉判定部27は、モデル変更部26によって変更されたエンドエフェクタモデル35と対象ワーク2以外の物体(対象ワーク2以外のワーク1およびコンテナ5)との干渉判定を行なう。 The interference determination unit 27 determines interference between the end effector model 35 changed by the model change unit 26 and an object other than the target work 2 (work 1 other than the target work 2 and the container 5).

把持位置出力部28は、干渉判定部27の判定結果に基づいて、エンドエフェクタ30の位置姿勢を決定し、決定した位置姿勢を示す位置姿勢情報を生成する。把持位置出力部28は、生成した位置姿勢情報をロボットコントローラ200に出力する。 The gripping position output unit 28 determines the position / posture of the end effector 30 based on the determination result of the interference determination unit 27, and generates position / posture information indicating the determined position / posture. The gripping position output unit 28 outputs the generated position / posture information to the robot controller 200.

<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 parts setting unit 13, the movement amount setting unit 14, and the relative position setting unit 15 will be described in detail.

図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 screen 40 shown in FIG. 6 is displayed on the display 92 of the user interface 9 according to the processing result of the CPU 110 (see FIG. 3).

UI画面40は、表示領域41と、支持部選択ボタン45と、右爪部選択ボタン46と、左爪部選択ボタン47と、右爪用の可動方向入力欄48と、左爪用の可動方向入力欄49と、移動量入力欄50と、ワーク表示ボタン51と、OKボタン52と、キャンセルボタン53とを含む。 The UI screen 40 has a display area 41, a support portion selection button 45, a right claw portion selection button 46, a left claw portion selection button 47, a movable direction input field 48 for the right claw, and a movable direction for the left claw. It includes an input field 49, a movement amount input field 50, a work display button 51, an OK button 52, and a cancel button 53.

表示領域41には、第1CADデータ10aで示されるエンドエフェクタモデル35が表示される。表示領域41には、第1CADデータ10aの座標系(以下、「CAD座標系」と称する。)に対応する座標軸も表示される。 The end effector model 35 represented by the first CAD data 10a is displayed in the display area 41. In the display area 41, the coordinate axes corresponding to the coordinate system of the first CAD data 10a (hereinafter, referred to as “CAD coordinate system”) are also displayed.

パーツ設定部13は、ユーザインターフェース9を介して、表示領域41に表示されるエンドエフェクタモデル35をヨー、ロールおよびピッチのいずれかの方向に回転させる操作入力を受け付ける。加えて、パーツ設定部13は、ユーザインターフェース9を介して、エンドエフェクタモデル35の並進および拡大/縮小の操作入力も受け付ける。パーツ設定部13は、ユーザインターフェース9への操作入力に応じて、表示領域41に表示されるエンドエフェクタモデル35の位置姿勢およびサイズを変更する。これにより、作業者は、エンドエフェクタモデル35における支持部32、右爪部31Rおよび左爪部31Lにそれぞれ対応する部分が互いに重ならないように、エンドエフェクタモデル35の姿勢を変更できる。 The parts setting unit 13 receives an operation input for rotating the end effector model 35 displayed in the display area 41 in any of the yaw, roll, and pitch directions via the user interface 9. In addition, the parts setting unit 13 also accepts translation and enlargement / reduction operation inputs of the end effector model 35 via the user interface 9. The parts setting unit 13 changes the position / orientation and size of the end effector model 35 displayed in the display area 41 according to the operation input to the user interface 9. As a result, the operator can change the posture of the end effector model 35 so that the portions corresponding to the support portion 32, the right claw portion 31R, and the left claw portion 31L of the end effector model 35 do not overlap each other.

表示領域41には、エンドエフェクタモデル35のうち支持部32に対応する部分である支持部モデル37を設定するための枠線42が表示される。作業者は、ユーザインターフェース9のタッチパネル90に対する操作を行なうことにより、枠線42の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、支持部選択ボタン45が操作されたときに枠線42内に位置する要素に対して、支持部モデル37を示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線42内に支持部32に対応する部分が含まれるように枠線42の位置姿勢およびサイズを適宜変更することにより、支持部モデル37を設定できる。 In the display area 41, a frame line 42 for setting the support portion model 37, which is a portion of the end effector model 35 corresponding to the support portion 32, is displayed. The operator changes the position / posture and size of the frame line 42 by operating the touch panel 90 of the user interface 9. The parts setting unit 13 indicates attribute information indicating the support unit model 37 with respect to the element located in the frame line 42 when the support unit selection button 45 is operated among the plurality of elements constituting the end effector model 35. Is given. As a result, the operator appropriately changes the position, posture, and size of the frame line 42 so that the portion corresponding to the support portion 32 is included in the frame line 42 while viewing the image of the display area 41. The model 37 can be set.

表示領域41には、エンドエフェクタモデル35のうち右爪部31Rに対応する部分である右爪部モデル36Rを設定するための枠線43が表示される。作業者は、タッチパネル90に対する操作を行なうことにより、枠線43の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、右爪部選択ボタン46が操作されたときに枠線43内に位置する要素に対して、右爪部モデル36Rを示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線43内に右爪部31Rに対応する部分が含まれるように枠線43の位置姿勢およびサイズを適宜変更することにより、右爪部モデル36Rを設定できる。 In the display area 41, a frame line 43 for setting the right claw portion model 36R, which is a portion of the end effector model 35 corresponding to the right claw portion 31R, is displayed. The operator changes the position / posture and size of the frame line 43 by operating the touch panel 90. The parts setting unit 13 indicates the right claw portion model 36R with respect to the element located within the frame line 43 when the right claw portion selection button 46 is operated among the plurality of elements constituting the end effector model 35. Add attribute information. As a result, the operator can appropriately change the position and orientation and size of the frame line 43 so that the portion corresponding to the right claw portion 31R is included in the frame line 43 while viewing the image of the display area 41. The claw model 36R can be set.

表示領域41には、エンドエフェクタモデル35のうち左爪部31Lに対応する部分である左爪部モデル36Lを設定するための枠線44が表示される。作業者は、タッチパネル90に対する操作を行なうことにより、枠線44の位置姿勢およびサイズを変更する。パーツ設定部13は、エンドエフェクタモデル35を構成する複数の要素のうち、左爪部選択ボタン47が操作されたときに枠線44内に位置する要素に対して、左爪部モデル36Lを示す属性情報を付与する。これにより、作業者は、表示領域41の画像を見ながら、枠線44内に左爪部31Lに対応する部分が含まれるように枠線44の位置姿勢およびサイズを適宜変更することにより、左爪部モデル36Lを設定できる。 In the display area 41, a frame line 44 for setting the left claw portion model 36L, which is a portion of the end effector model 35 corresponding to the left claw portion 31L, is displayed. The operator changes the position / posture and size of the frame line 44 by operating the touch panel 90. The parts setting unit 13 indicates the left claw portion model 36L with respect to the element located within the frame line 44 when the left claw portion selection button 47 is operated among the plurality of elements constituting the end effector model 35. Add attribute information. As a result, the operator appropriately changes the position, posture, and size of the frame line 44 so that the portion corresponding to the left claw portion 31L is included in the frame line 44 while looking at the image of the display area 41. The claw model 36L can be set.

作業者は、右爪部選択ボタン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 claw portion model 36R set by operating the right claw portion selection button 46 in the movable direction input field 48. Similarly, the operator inputs the movable direction of the left claw portion model 36L set by operating the left claw portion selection button 47 in the movable direction input field 49. Vectors indicating the movable direction are input to the movable direction input fields 48 and 49. In the example shown in FIG. 6, a vector (0, 1, 0) indicating the + Y direction in the CAD coordinate system is input as the movable direction of the right claw portion model 36R. Further, as the movable direction of the left claw portion model 36L, a vector (0, -1, 0) indicating the −Y direction is input. The parts setting unit 13 sets the movable direction of the right claw model 36R according to the vector input in the movable direction input field 48, and the movable direction of the left claw model 36L according to the vector input in the movable direction input field 49. To set.

作業者は、右爪部モデル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 claw portion model 36R and the left claw portion model 36L in the movement amount input field 50. The amount of movement of the right claw model 36R indicates the amount of movement of the right claw model 36R in the movable direction from the reference position of the right claw model 36R. The reference position of the right claw portion model 36R is a position specified by the coordinates of the element to which the attribute information indicating the right claw portion model 36R is given in the first CAD data 10a. Similarly, the amount of movement of the left claw model 36L indicates the amount of movement of the left claw model 36L in the movable direction from the reference position of the left claw model 36L. The reference position of the left claw model 36L is a position specified by the coordinates of the element to which the attribute information indicating the left claw model 36L is given in the first CAD data 10a.

移動量入力欄50に移動量が入力されると、移動量設定部14は、表示領域41に表示されているエンドエフェクタモデル35において、右爪部モデル36Rおよび左爪部モデル36Lを入力された移動量だけ可動方向にそれぞれ移動させる。これにより、作業者は、表示領域41を確認することにより、右爪部モデル36Rおよび左爪部モデル36Lの移動後のエンドエフェクタモデル35の状態を把握することができる。 When the movement amount was input to the movement amount input field 50, the movement amount setting unit 14 input the right claw part model 36R and the left claw part model 36L in the end effector model 35 displayed in the display area 41. Move each by the amount of movement in the movable direction. Thereby, the operator can grasp the state of the end effector model 35 after the movement of the right claw portion model 36R and the left claw portion model 36L by confirming the display area 41.

図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 end effector model 35 displayed in the display area 41, the right claw model 36R and the left claw model 36L are input to the movement amount input field 50 from the state shown in FIG. It is moving by the amount of movement.

ワーク表示ボタン51が操作されると、相対位置設定部15は、CAD読込部12によって読み込まれた第2CADデータ11aで示されるワークモデルを表示領域41に表示させる。このとき、相対位置設定部15は、ワークモデルとエンドエフェクタモデルとが表示領域41内に表示されるように、ワークモデルの表示位置を適宜変更する。 When the work display button 51 is operated, the relative position setting unit 15 causes the display area 41 to display the work model indicated by the second CAD data 11a read by the CAD reading unit 12. At this time, the relative position setting unit 15 appropriately changes the display position of the work model so that the work model and the end effector model are displayed in the display area 41.

図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 work model 3 is displayed in the display area 41.

相対位置設定部15は、ユーザインターフェース9を介して、表示領域41に表示されるワークモデル3を並進移動または回転移動させる操作入力を受け付ける。相対位置設定部15は、ユーザインターフェース9への操作入力に応じて、ワークモデル3の座標変換を行ない、表示領域41に表示されるワークモデル3の位置姿勢を変更する。また、上述したように、パーツ設定部13は、エンドエフェクタモデル35を回転移動させる操作に応じて、表示領域41に表示されるエンドエフェクタモデル35の姿勢を変更する。 The relative position setting unit 15 receives an operation input for translating or rotating the work model 3 displayed in the display area 41 via the user interface 9. The relative position setting unit 15 performs coordinate conversion of the work model 3 in response to an operation input to the user interface 9, and changes the position and orientation of the work model 3 displayed in the display area 41. Further, as described above, the parts setting unit 13 changes the posture of the end effector model 35 displayed in the display area 41 in response to the operation of rotating and moving the end effector model 35.

作業者は、ユーザインターフェース9を操作して、ワークモデル3をエンドエフェクタモデル35が把持可能なように、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量を適宜変更する。 The operator operates the user interface 9 so that the work model 3 can be gripped by the end effector model 35, the position and posture of the work model 3, the posture of the end effector model 35, and the right claw model 36R and the left. The amount of movement of the claw model 36L is appropriately changed.

相対位置設定部15は、表示領域41に表示されている位置姿勢のワークモデル3と、表示領域41に表示されている姿勢を有し、現在入力されている移動量だけ移動された右爪部モデル36Rおよび左爪部モデル36Lを有するエンドエフェクタモデル35との干渉判定を行なってもよい。そして、相対位置設定部15は、干渉判定結果を表示領域41に表示してもよい。 The relative position setting unit 15 has a work model 3 of the position and orientation displayed in the display area 41 and a posture displayed in the display area 41, and the right claw unit moved by the amount of movement currently input. Interference determination with the end effector model 35 having the model 36R and the left claw model 36L may be performed. Then, the relative position setting unit 15 may display the interference determination result in the display area 41.

図8に示す例では、ワークモデル3において、エンドエフェクタモデル35と干渉する部分が太線54で表示されている。太線54は、視認しやすいように赤色で表示されてもよい。これにより、作業者は、右爪部モデル36Rおよび左爪部モデル36Lとの間にわずかな隙間だけ空けてワークモデル3が位置するように、太線54の表示を確認しながら、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量を適切に調整できる。 In the example shown in FIG. 8, in the work model 3, the portion that interferes with the end effector model 35 is indicated by a thick line 54. The thick line 54 may be displayed in red for easy viewing. As a result, the operator can check the display of the thick line 54 so that the work model 3 is located with a slight gap between the right claw model 36R and the left claw model 36L, while checking the display of the work model 3. The position posture, the posture of the end effector model 35, and the amount of movement of the right claw model 36R and the left claw model 36L can be appropriately adjusted.

作業者は、ワークモデル3をエンドエフェクタモデル35が把持可能なように、ワークモデル3の位置姿勢、エンドエフェクタモデル35の姿勢、および、右爪部モデル36Rおよび左爪部モデル36Lの移動量の調整が終了すると、OKボタン52を操作する。 The operator can grip the work model 3 by the end effector model 35 in terms of the position and posture of the work model 3, the posture of the end effector model 35, and the amount of movement of the right claw model 36R and the left claw model 36L. When the adjustment is completed, the OK button 52 is operated.

移動量設定部14は、OKボタン52が操作されたときに移動量入力欄50に入力されている移動量を、ワークモデル3をエンドエフェクタモデル35が把持するときに必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量として設定する。 The movement amount setting unit 14 is a right claw model 36R required when the end effector model 35 grips the movement amount input to the movement amount input field 50 when the OK button 52 is operated. And it is set as the movement amount of the left claw model 36L.

移動量設定部14は、設定した移動量だけ右爪部モデル36Rの可動方向に平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14は、設定した移動量だけ左爪部モデル36Lの可動方向に平行移動させるための座標変換行列HMLを計算する。 The movement amount setting unit 14 calculates the coordinate transformation matrix H MR for translating the right claw portion model 36R by the set movement amount in the movable direction. Further, the movement amount setting unit 14 calculates a coordinate transformation matrix H ML for translating the left claw portion model 36L by the set movement amount in the movable direction.

相対位置設定部15は、OKボタン52が操作されたときに表示領域41に表示されているワークモデル3および支持部モデル37の位置姿勢に基づいて、支持部モデル37に対するワークモデル3の相対位置姿勢を設定する。当該相対位置姿勢は、ワークモデル3をエンドエフェクタモデル35が把持するときの状態に対応する。 The relative position setting unit 15 is the relative position of the work model 3 with respect to the support model 37 based on the position and orientation of the work model 3 and the support model 37 displayed in the display area 41 when the OK button 52 is operated. Set the posture. The relative position / orientation corresponds to the state when the end effector model 35 grips the work model 3.

支持部モデル37に対するワークモデル3の相対位置姿勢は、支持部モデル37を基準とする座標系(以下、「支持部モデル座標系」と称する。)を、ワークモデル3を基準とする座標系(以下、「ワークモデル座標系」と称する。)に変換する座標変換行列tMwMで示される。支持部モデル座標系は、ロボット300のツール座標系(フランジ面に設定される座標系)に一致するように設定されている。そこで、相対位置設定部15は、支持部モデル37に対するワークモデル3の相対位置姿勢を示す情報として座標変換行列tMwMを計算する。 The relative position and orientation of the work model 3 with respect to the support model 37 is such that the coordinate system based on the support model 37 (hereinafter referred to as “support model coordinate system”) is used as the coordinate system based on the work model 3 (hereinafter referred to as “support model coordinate system”). Hereinafter, it is referred to as a “work model coordinate system”) and is shown by a coordinate conversion matrix tM H wM. The support model coordinate system is set to match the tool coordinate system (coordinate system set on the flange surface) of the robot 300. Therefore, the relative position setting unit 15 calculates the coordinate transformation matrix tM H w M as information indicating the relative position / orientation of the work model 3 with respect to the support unit model 37.

図9は、支持部モデルに対するワークモデルの相対位置姿勢を示す座標変換行列tMwMの一例を示す図である。図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 parallelepiped support model 37 and a work model 3 which is a T-shaped tube.

図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 support part model 37 is the origin and the three specific directions 37v1 to 37v3 in the support part model 37 are the base vectors. The relative position setting unit 15 may select any one point (for example, the center of the upper surface of the support model 37) included in the plurality of elements constituting the support model 37 as the reference position of the support model 37. Further, the relative position setting unit 15 may select any three directions in the support unit model 37 as specific directions 37v1 to 37v3. The specific direction 37v1 is, for example, a direction from the upper surface to the lower surface of the support model 37. The specific direction 37v2 is, for example, a direction orthogonal to a pair of side surfaces facing each other in the support model 37. The specific direction 37v3 is, for example, a direction orthogonal to the remaining pair of side surfaces in the support model 37.

ワークモデル座標系は、ワークモデル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 work model 3 is the origin and the three specific directions 3v1 to 3v3 in the work model 3 are the basis vectors. The reference points 3o and the specific directions 3v1 to 3v3 of the work model 3 are predetermined. The reference point 3o of the work model 3 is predetermined, for example, at a branch point in the T-shaped officer. The specific direction 3v1 is defined as, for example, one of the flow path directions in the T-shaped tube. The specific direction 3v2 is defined, for example, in another flow path direction in the T-shaped tube. The specific direction 3v3 is defined, for example, in a direction orthogonal to the specific directions 3v1 and 3v2.

相対位置設定部15は、支持部モデル座標系をワークモデル座標系に変換する座標変換行列tMwMを計算する。座標変換行列tMwMは、支持部モデル座標系における、ワークモデル座標系の基底ベクトル3v1〜3v3の成分および原点3oの位置を表している。 The relative position setting unit 15 calculates a coordinate transformation matrix tM H w M that transforms the support model coordinate system into the work model coordinate system. The coordinate transformation matrix tM H wM represents the components of the basis vectors 3v1 to 3v3 of the work model coordinate system and the positions of the origin 3o in the support model coordinate system.

<D.三次元計測>
次に、3D計測部20による三次元形状の計測処理の詳細について説明する。3D計測部20は、公知の三次元計測処理を用いて、撮像装置8の視野領域に存在する物体表面上の各点の三次元座標を示す三次元点群データを生成する。
<D. 3D measurement>
Next, the details of the three-dimensional shape measurement process by the 3D measurement unit 20 will be described. The 3D measurement unit 20 uses a known three-dimensional measurement process to generate three-dimensional point cloud data indicating the three-dimensional coordinates of each point on the surface of an object existing in the visual field region of the image pickup apparatus 8.

三次元計測処理の具体例として、例えば位相シフト法が採用される。この位相シフト法は、照射面内において正弦波状に濃淡を変化させたパターンを有する照明光を照射した状態で撮像された画像(正弦波投影画像)を用いる方法である。照射面内の濃淡の変化周期や位相を異ならせたパターンが複数用意され、プロジェクタ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 projector 7 sequentially irradiates the visual field region of the image pickup apparatus 8 with the plurality of patterns. The 3D measurement unit 20 acquires images captured when a plurality of patterns are irradiated as a sine wave projection image group. Then, the 3D measuring unit 20 calculates the three-dimensional coordinates based on the change in the brightness (brightness and brightness) of the corresponding portion between these sinusoidal projected images.

<E.ワークの検出方法>
次に、ワーク検出部23によるワーク1の検出方法について説明する。ワーク検出部23は、第2CADデータ11aで示されるワークモデルを様々な視点から見た姿勢ごとのテンプレートを予め記憶している。ワーク検出部23は、各テンプレートと3D計測部20の計測結果である三次元点群データとを照合し、三次元点群データの中からテンプレートと類似するデータを抽出する。ワーク検出部23は、抽出したデータに基づいて、撮像装置8の視野領域に存在するワーク1の位置姿勢を検出する。
<E. Work detection method>
Next, a method of detecting the work 1 by the work detection unit 23 will be described. The work detection unit 23 stores in advance templates for each posture when the work model shown in the second CAD data 11a is viewed from various viewpoints. The work detection unit 23 collates each template with the three-dimensional point cloud data which is the measurement result of the 3D measurement unit 20, and extracts data similar to the template from the three-dimensional point cloud data. The work detection unit 23 detects the position and orientation of the work 1 existing in the visual field region of the image pickup apparatus 8 based on the extracted data.

3D計測部20の計測結果である三次元点群データは、撮像装置8の撮像により得られる画像の座標系(以下、「カメラ座標系」と称する。)で示される。そのため、ワーク検出部23によって検出されたワーク1(対象ワーク2を含む)の位置姿勢は、カメラ座標系で示される。 The three-dimensional point cloud data, which is the measurement result of the 3D measurement unit 20, is represented by the coordinate system of the image obtained by the image pickup of the image pickup apparatus 8 (hereinafter, referred to as “camera coordinate system”). Therefore, the position and orientation of the work 1 (including the target work 2) detected by the work detection unit 23 is indicated by the camera coordinate system.

<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において、座標変換行列Cwは、カメラ座標系を、対象ワーク2を基準とする座標系(以下、「対象ワーク座標系」と称する。)に変換するための行列である。対象ワーク座標系は、対象ワーク2の基準点2oを原点とし、対象ワーク2における3つの特定方向2v1〜2v3を基底ベクトルとする座標系である。対象ワーク2の基準点2oおよび特定方向2v1〜2v3は、上述したワークモデル3の基準点3oおよび特定方向3v1〜3v3(図9参照)とそれぞれ対応するように定められる。座標変換行列Cwは、カメラ座標系における、対象ワーク座標系の基底ベクトル2v1〜2v3の成分および原点2oの位置を表している。対象ワーク座標系の基底ベクトル2v1〜2v3の成分および原点2oの位置は、対象ワーク2の位置姿勢を示している。そのため、カメラ座標系における対象ワーク2の位置姿勢は、座標変換行列Cwによって示される。 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 target work 2 is the origin and the three specific directions 2v1 to 2v3 in the target work 2 are the base vectors. The reference point 2o and the specific direction 2v1 to 2v3 of the target work 2 are defined to correspond to the reference point 3o and the specific direction 3v1 to 3v3 (see FIG. 9) of the work model 3 described above, respectively. The coordinate transformation matrix C H w represents the components of the basis vectors 2v1 to 2v3 of the target work coordinate system and the position of the origin 2o in the camera coordinate system. The components of the basis vectors 2v1 to 2v3 and the position of the origin 2o in the target work coordinate system indicate the position and orientation of the target work 2. Therefore, the position and orientation of the target work 2 in the camera coordinate system is indicated by the coordinate transformation matrix C H w.

上述したように、ワークモデル3をエンドエフェクタモデル35が把持するときの、支持部モデル37に対するワークモデル3の相対位置姿勢は、座標変換行列tMwMで示される。そこで、位置姿勢決定部25は、対象ワーク2をワークモデル3とみなし、以下の式(1)に従って、カメラ座標系における、対象ワーク2を把持するときの支持部モデル37の位置姿勢を示す座標変換行列CtMを計算する。
CtMCw・(tMwM-1 ・・・式(1)
座標変換行列CtMは、カメラ座標系における、対象ワーク2を把持するときにエンドエフェクタ30の支持部32が取るべき位置姿勢を示している。
As described above, the relative position and orientation of the work model 3 with respect to the support model 37 when the end effector model 35 grips the work model 3 is indicated by the coordinate transformation matrix tM H w M. Therefore, the position / orientation determination unit 25 regards the target work 2 as the work model 3, and according to the following equation (1), coordinates indicating the position / orientation of the support unit model 37 when gripping the target work 2 in the camera coordinate system. Calculate the transformation matrix C H t M.
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 support portion 32 of the end effector 30 should take when gripping the target work 2 in the camera coordinate system.

モデル変更部26は、対象ワーク2を把持するときのエンドエフェクタ30の形状に合うようにエンドエフェクタモデル35を変更する。具体的には、モデル変更部26は、エンドエフェクタモデル35を構成する各要素の座標を変換する。 The model changing unit 26 changes the end effector model 35 so as to match the shape of the end effector 30 when gripping the target work 2. Specifically, the model change unit 26 converts the coordinates of each element constituting the end effector model 35.

まず、モデル変更部26は、支持部モデル37の位置姿勢が位置姿勢決定部25によって決定された位置姿勢に一致するように、支持部モデル37を構成する各要素の座標を変換する。すなわち、モデル変更部26は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を変換する。 First, the model changing unit 26 converts the coordinates of each element constituting the support unit model 37 so that the position / orientation of the support unit model 37 matches the position / orientation determined by the position / attitude determination unit 25. That is, the model change unit 26 converts the coordinates to which the attribute information indicating the support unit model 37 is added in the first CAD data 10a.

第1CADデータ10aは、CAD座標系における座標値を示す。また、位置姿勢決定部25によって決定された位置姿勢は,カメラ座標系において支持部32が取るべき位置姿勢であり、上記の座標変換行列CtMで示される。そのため、モデル変更部26は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を、座標変換行列CtMCw・(tMwM-1を用いて変換する。これにより、支持部モデル37の位置姿勢は、カメラ座標系において、対象ワーク2を把持するときのエンドエフェクタ30の支持部32が取るべき位置姿勢と一致する。 The first CAD data 10a shows coordinate values in the CAD coordinate system. Further, the position / orientation determined by the position / orientation determination unit 25 is the position / orientation to be taken by the support unit 32 in the camera coordinate system, and is shown by the coordinate transformation matrix C H tM described above. Therefore, the model change unit 26 converts the coordinates to which the attribute information indicating the support unit model 37 is given in the first CAD data 10a by using the coordinate transformation matrix C H tM = C H w · ( tM H wM ) -1. do. As a result, the position and orientation of the support portion model 37 coincides with the position and orientation that the support portion 32 of the end effector 30 should take when gripping the target work 2 in the camera coordinate system.

ここで、第1CADデータ10aにおいて右爪部モデル36Rおよび左爪部モデル36Lを示す属性情報が付与された座標についても、同じ座標変換行列CtMCw・(tMwM-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 right claw model 36R and the left claw model 36L is given in the first CAD data 10a. It is assumed that the conversion is performed using. In this case, the right claw model 36R and the left claw model 36L are in a constant state (for example, a closed state). Therefore, as shown in FIG. 10, the positions and postures of the right claw model 36R and the left claw model 36L coincide with the positions and postures that the right claw portion 31R and the left claw portion 31L should take when gripping the target work 2. do not.

そのため、モデル変更部26は、移動量設定部14によって設定された移動量だけ、右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動させる。具体的には、モデル変更部26は、座標変換行列CtMCw・(tMwM-1に加えて、移動量設定部14によって計算された座標変換行列HMR,MLを用いる。すなわち、モデル変更部26は、第1CADデータ10aにおいて右爪部モデル36Rを示す属性情報が付与された座標を、座標変換行列Cw・(tMwM-1・HMRを用いて変換する。モデル変更部26は、第1CADデータ10aにおいて左爪部モデル36Lを示す属性情報が付与された座標を、座標変換行列Cw・(tMwM-1・HMLを用いて変換する。 Therefore, the model changing unit 26 moves the right claw portion model 36R and the left claw portion model 36L in the movable direction by the amount of movement set by the movement amount setting unit 14. Specifically, the model change unit 26 includes the coordinate transformation matrix C H tM = C H w · ( tM H wM ) -1 , and the coordinate transformation matrix H MR, H M L calculated by the movement amount setting unit 14. Is used. That is, the model changing unit 26 converts the coordinates to which the attribute information indicating the right claw part model 36R is added in the first CAD data 10a by using the coordinate transformation matrix C H w · ( tM H wM ) -1 · H MR. do. The model changing unit 26 converts the coordinates to which the attribute information indicating the left claw portion model 36L is added in the first CAD data 10a by using the coordinate transformation matrix C H w · ( tM H wM ) -1 · H ML .

図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 claw portions model 36R includes a position and orientation to be taken by the right claw portion 31R of the end effector 30 when grasping the target work 2 Match. Similarly, by using the coordinate transformation matrix H ML , the position and orientation of the left claw portion model 36L coincide with the position and orientation that the left claw portion 31L of the end effector 30 should take when gripping the target work 2. As a result, by using the end effector model 35 changed by the model changing unit 26, it is possible to accurately determine the interference between the end effector 30 and an object other than the target work 2.

<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 interference determination unit 27 will be described. As described above, the position / posture determination unit 25 determines the position / posture candidate to be taken by the support unit 32 when gripping the target work 2. Therefore, when the support portion 32 is arranged in the position / posture candidate, the end effector 30 may interfere with the work 1 or the container other than the target work 2.

図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を基準とする座標系(以下、「ベース座標系」という)で干渉判定を行なってもよい。この場合、ベース座標系をカメラ座標系に変換するための座標変換行列BCを用いて適宜座標を変換した上で、干渉判定を行なえばよい。 In order to avoid such interference, the interference determination unit 27 determines interference with an object other than the end effector model 35 and the target work 2 changed by the model change unit 26. The three-dimensional point cloud data, which is the measurement result of the 3D measurement unit 20, is shown in the camera coordinate system. The end effector model 35 modified by the model modification unit 26 according to the above method is also shown in the camera coordinate system. Therefore, the interference determination unit 27 may determine interference between the end effector model 35 and an object other than the target work 2 in the camera coordinate system. The interference determination unit 27 may perform interference determination in a coordinate system based on the base 34 of the robot 300 (hereinafter, referred to as “base coordinate system”). In this case, in order to convert the appropriate coordinates using the coordinate transformation matrix B H C to convert the base coordinate system to the camera coordinate system, it may be performed interference determination.

干渉判定部27は、三次元点群データの中から対象ワーク2に対応する点群データを消去する。干渉判定部27は、モデル変更部26によって変更されたエンドエフェクタモデル35を構成する要素の座標と残りの三次元点群データの座標とを比較することにより、エンドエフェクタモデル35と対象ワーク2以外のワーク1との干渉判定を行なう。 The interference determination unit 27 deletes the point cloud data corresponding to the target work 2 from the three-dimensional point cloud data. The interference determination unit 27 compares the coordinates of the elements constituting the end effector model 35 changed by the model change unit 26 with the coordinates of the remaining three-dimensional point cloud data, and thereby other than the end effector model 35 and the target work 2. Interference with the work 1 is determined.

また、干渉判定部27は、変更されたエンドエフェクタモデル35を構成する要素の座標とコンテナ検出部21によって検出されたコンテナ5の位置姿勢を示す座標とを比較することにより、エンドエフェクタモデル35とコンテナ5との干渉判定を行なう。 Further, the interference determination unit 27 and the end effector model 35 by comparing the coordinates of the elements constituting the modified end effector model 35 with the coordinates indicating the position and orientation of the container 5 detected by the container detection unit 21. The interference with the container 5 is determined.

例えば、エンドエフェクタモデル35を構成する要素がボックスである場合、干渉判定部27は、エンドエフェクタモデル35を構成するいずれかのボックスの内側に計測点が含まれるときに干渉有りと判定する。 For example, when the element constituting the end effector model 35 is a box, the interference determination unit 27 determines that there is interference when the measurement point is included inside any of the boxes constituting the end effector model 35.

エンドエフェクタモデル35を構成する要素が断面である場合、干渉判定部27は、エンドエフェクタモデル35を構成するいずれかの断面上に計測点が含まれるときとき、もしくは、隣り合う2つの断面間に計測点が含まれる場合に干渉有りと判定する。 When the element constituting the end effector model 35 is a cross section, the interference determination unit 27 is used when a measurement point is included on any of the cross sections constituting the end effector model 35, or between two adjacent cross sections. When the measurement point is included, it is judged that there is interference.

エンドエフェクタモデル35を構成する要素が三角メッシュである場合、干渉判定部27は、三次元点群データに属する各計測点と各三角メッシュとの距離を計算する。距離は、計測点が三角メッシュの法線方向側に位置する場合に正の値となり、計測点が三角メッシュの法線方向の反対側に位置する場合に負の値となる。干渉判定部27は、計測点と三角メッシュとの距離が負である場合に干渉有りと判定する。 When the element constituting the end effector model 35 is a triangular mesh, the interference determination unit 27 calculates the distance between each measurement point belonging to the three-dimensional point cloud data and each triangular mesh. The distance has a positive value when the measurement point is located on the normal side of the triangular mesh, and a negative value when the measurement point is located on the opposite side of the normal direction of the triangular mesh. The interference determination unit 27 determines that there is interference when the distance between the measurement point and the triangular mesh is negative.

エンドエフェクタモデル35を構成する要素が点である場合、干渉判定部27は、エンドエフェクタモデル35を構成する複数の点のうち計測点を取り囲む点群が存在するときに干渉有りと判定する。 When the element constituting the end effector model 35 is a point, the interference determination unit 27 determines that there is interference when there is a point cloud surrounding the measurement point among the plurality of points constituting the end effector model 35.

<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 position output unit 28 will be described. The gripping position output unit 28 generates position / posture information indicating one of the position / posture candidates determined to have no interference by the interference determination unit 27.

対象ワーク選択部24によって複数の対象ワーク2が選択された場合、位置姿勢決定部25は、当該複数の対象ワーク2の各々について位置姿勢候補を選択する。そのため、選択部22は、複数の位置姿勢候補を選択する。干渉判定部27は、当該複数の位置姿勢候補の各々について干渉判定を行なう。この場合、複数の位置姿勢候補について干渉無しと判定される可能性がある。干渉無しと判定された位置姿勢候補が複数である場合、把持位置出力部28は、予め定められた抽出手法に従って、複数の位置姿勢候補の中の1つを抽出する。例えば、把持位置出力部28は、現在のエンドエフェクタ30の位置から最も近い位置姿勢候補を抽出する。把持位置出力部28は、抽出した1つの位置姿勢候補を示す位置姿勢情報を生成する。 When a plurality of target works 2 are selected by the target work selection unit 24, the position / posture determination unit 25 selects a position / posture candidate for each of the plurality of target works 2. Therefore, the selection unit 22 selects a plurality of position / posture candidates. The interference determination unit 27 makes an interference determination for each of the plurality of position / posture candidates. In this case, it may be determined that there is no interference for a plurality of position / orientation candidates. When there are a plurality of position / posture candidates determined to have no interference, the gripping position output unit 28 extracts one of the plurality of position / posture candidates according to a predetermined extraction method. For example, the gripping position output unit 28 extracts the closest position / posture candidate from the current position of the end effector 30. The gripping position output unit 28 generates position / orientation information indicating one extracted position / orientation candidate.

上述したように、位置姿勢候補はカメラ座標系で示される。これに対し、ロボットコントローラ200は、異なる座標系でロボット300を制御する。例えば、ロボットコントローラ200は、ロボット300のベース34を基準とする座標系(以下、「ベース座標系」という)でロボット300を制御する。このような場合、把持位置出力部28は、ベース座標系で示される位置姿勢情報を生成することが好ましい。そこで、把持位置出力部28は、ベース座標系をカメラ座標系に変換するための座標変換行列BCを用いて、ベース座標系で示される位置姿勢情報を生成する。具体的には、把持位置出力部28は、(BC-1を用いて位置姿勢候補を座標変換することにより位置姿勢情報を生成する。 As mentioned above, the position and orientation candidates are shown in the camera coordinate system. On the other hand, the robot controller 200 controls the robot 300 in a different coordinate system. For example, the robot controller 200 controls the robot 300 in a coordinate system based on the base 34 of the robot 300 (hereinafter, referred to as “base coordinate system”). In such a case, the gripping position output unit 28 preferably generates the position / orientation information indicated by the base coordinate system. Therefore, the grip position output unit 28, using the coordinate transformation matrix B H C to convert the base coordinate system to the camera coordinate system, and generates the position and orientation information represented by the base coordinate system. Specifically, the grip position output section 28 generates a position and orientation information by coordinate converting the position and orientation candidates with (B H C) -1.

<I.事前設定処理の流れ>
図14を参照して、画像処理装置100による事前設定処理の流れについて説明する。図14は、実施の形態に係る画像処理装置によって実行される事前設定処理の流れを示すフローチャートである。
<I. Flow of preset processing >
The flow of the preset processing by the image processing apparatus 100 will be described with reference to FIG. FIG. 14 is a flowchart showing the flow of the preset processing executed by the image processing apparatus according to the embodiment.

まず、画像処理装置100のCPU110は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを読み込む(ステップS1)。CPU110は、読み込んだ第1CADデータ10aを内部表現(ボックス、断面、三角メッシュ、点などの要素の集合)に変換する(ステップS2)。 First, the CPU 110 of the image processing apparatus 100 reads the first CAD data 10a showing the three-dimensional shape of the end effector 30 (step S1). The CPU 110 converts the read first CAD data 10a into an internal representation (a set of elements such as a box, a cross section, a triangular mesh, and a point) (step S2).

CPU110は、第1CADデータ10aで示されるエンドエフェクタモデル35の画像を含むUI画面40(図6参照)をユーザインターフェース9に表示する。そして、CPU110は、ユーザインターフェース9に入力された情報に基づいて、可動部モデル(右爪部モデル36R、左爪部モデル36L)および支持部モデル37を設定する(ステップS3)。CPU110は、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37に設定された要素に対して、右爪部モデル36R、左爪部モデル36Lおよび支持部モデル37のいずれかを示す属性情報をそれぞれ保存する(ステップS4)。 The CPU 110 displays a UI screen 40 (see FIG. 6) including an image of the end effector model 35 shown in the first CAD data 10a on the user interface 9. Then, the CPU 110 sets the movable portion model (right claw portion model 36R, left claw portion model 36L) and the support portion model 37 based on the information input to the user interface 9 (step S3). The CPU 110 has an attribute indicating any one of the right claw model 36R, the left claw model 36L, and the support model 37 with respect to the elements set in the right claw model 36R, the left claw model 36L, and the support model 37. Each of the information is saved (step S4).

CPU110は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36Lの各々の可動方向を設定する(ステップS5)。 The CPU 110 sets the movable directions of the right claw model 36R and the left claw model 36L based on the information input to the user interface 9 (step S5).

UI画面40においてワーク表示ボタン51が操作されると、CPU110は、ワーク1の三次元形状を示す第2CADデータ11aを読み込み、第2CADデータ11aで示されるワークモデル3の画像をUI画面40に表示する(ステップS6)。 When the work display button 51 is operated on the UI screen 40, the CPU 110 reads the second CAD data 11a showing the three-dimensional shape of the work 1 and displays the image of the work model 3 shown by the second CAD data 11a on the UI screen 40. (Step S6).

移動量入力欄50に移動量が入力されると、CPU110は、UI画面40に表示しているエンドエフェクタモデル35において、入力された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向にそれぞれ移動させる(ステップS7)。 When the movement amount is input to the movement amount input field 50, the CPU 110 moves the right claw part model 36R and the left claw part model 36L by the input movement amount in the end effector model 35 displayed on the UI screen 40. They are moved in each direction (step S7).

エンドエフェクタモデル35を回転させる操作がユーザインターフェース9に入力されると、CPU110は、当該操作入力に応じて、UI画面40に表示しているエンドエフェクタモデル35の姿勢を変更する。また、ワークモデル3を並進移動または回転移動させる操作がユーザインターフェース9に入力されると、CPU110は、当該操作入力に応じて、UI画面40に表示しているワークモデル3の位置姿勢を変更する(ステップS8)。 When an operation for rotating the end effector model 35 is input to the user interface 9, the CPU 110 changes the posture of the end effector model 35 displayed on the UI screen 40 in response to the operation input. Further, when an operation for translating or rotating the work model 3 is input to the user interface 9, the CPU 110 changes the position and orientation of the work model 3 displayed on the UI screen 40 in response to the operation input. (Step S8).

次に、CPU110は、UI画面40に表示されている状態のエンドエフェクタモデル35とワークモデル3との干渉判定を行ない、判定結果を表示する(ステップS9)。 Next, the CPU 110 determines the interference between the end effector model 35 and the work model 3 displayed on the UI screen 40, and displays the determination result (step S9).

次に、CPU110は、UI画面40においてOKボタン52が操作されたか否かを判定する(ステップS10)。OKボタンが操作されていない場合(ステップS10でNO)、事前設定処理はステップS7に戻る。 Next, the CPU 110 determines whether or not the OK button 52 has been operated on the UI screen 40 (step S10). If the OK button is not operated (NO in step S10), the preset processing returns to step S7.

OKボタンが操作された場合(ステップS10でYES)、CPU110は、移動量入力欄50に現在入力されている移動量を、ワークモデル3を把持するために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量として設定する(ステップS11)。具体的には、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRと左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLとが設定される。 When the OK button is operated (YES in step S10), the CPU 110 uses the right claw model 36R and the left claw required to grip the work model 3 for the movement amount currently input to the movement amount input field 50. It is set as the movement amount of the unit model 36L (step S11). Specifically, the coordinate transformation matrix H MR for moving in parallel by the amount of movement set in the movable direction of the right claw model 36R and the coordinates for moving in parallel by the amount of movement set in the movable direction of the left claw model 36L. The transformation matrix H ML is set.

次に、CPU110は、エンドエフェクタモデル35がワークモデル3を把持するときの、支持部モデル37に対するワークモデル3の相対位置姿勢を設定する(ステップS12)。具体的には、当該相対位置姿勢を示す座標変換行列tMwMが設定される。 Next, the CPU 110 sets the relative position and orientation of the work model 3 with respect to the support model 37 when the end effector model 35 grips the work model 3 (step S12). Specifically, a coordinate transformation matrix tM H w M indicating the relative position / orientation is set.

<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 end effector 30 by the image processing device 100 will be described. FIG. 15 is a flowchart showing the flow of the picking position search process executed by the image processing apparatus according to the embodiment.

まず、CPU110は、エンドエフェクタ30の三次元形状を示す第1CADデータ10aを読み込む(ステップS21)。CPU110は、ステップS4で保存された属性情報を読み込む(ステップS22)。CPU110は、ワーク1の複数の姿勢にそれぞれ対応する複数のテンプレートを読み込む(ステップS23)。さらに、CPU110は、ステップS11で設定された移動量に対応する座標変換行列HMR,HMLを読み込む(ステップS24)。 First, the CPU 110 reads the first CAD data 10a showing the three-dimensional shape of the end effector 30 (step S21). The CPU 110 reads the attribute information saved in step S4 (step S22). The CPU 110 reads a plurality of templates corresponding to the plurality of postures of the work 1 (step S23). Further, the CPU 110 reads the coordinate transformation matrices H MR and H ML corresponding to the movement amount set in step S11 (step S24).

次に、CPU110は、撮像装置8から受けた画像に基づいて、撮像装置8の視野領域に存在する物体(ワーク1およびコンテナ5)の表面の三次元形状を計測する(ステップS25)。 Next, the CPU 110 measures the three-dimensional shape of the surface of the object (work 1 and container 5) existing in the visual field region of the image pickup device 8 based on the image received from the image pickup device 8 (step S25).

次に、CPU110は、計測結果である三次元点群データとステップS23で読み込んだ複数のテンプレートとを照合し、ワーク1の位置姿勢を検出する(ステップS26)。ワーク1の位置姿勢は、カメラ座標系におけるワーク1の基準点および特定方向を示す座標変換行列CWで示される。 Next, the CPU 110 collates the three-dimensional point cloud data, which is the measurement result, with the plurality of templates read in step S23, and detects the position and orientation of the work 1 (step S26). The position and orientation of the work 1 are indicated by a coordinate transformation matrix C H W indicating the reference point and the specific direction of the work 1 in the camera coordinate system.

さらに、CPU110は、計測結果である三次元点群データと予め記憶しているコンテナ5の形状情報とを照合し、コンテナ5の位置姿勢を検出する(ステップS27)。 Further, the CPU 110 collates the three-dimensional point cloud data, which is the measurement result, with the shape information of the container 5 stored in advance, and detects the position and orientation of the container 5 (step S27).

CPU110は、位置姿勢が検出されたワーク1の中から所定数のワーク1を対象ワーク2として選択するとともに、選択された所定数の対象ワーク2の各々について、当該対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を決定する。CPU110は、決定した所定数の位置姿勢候補のリストを作成する(ステップS28)。位置姿勢候補は、対象ワーク2の位置姿勢を示す座標変換行列CWとステップS12で設定された座標変換行列tMwMの逆行列(tMwM-1との積である座標変換行列CW・(tMwM-1で示される。 When the CPU 110 selects a predetermined number of work 1s as the target work 2 from the work 1 whose position and posture are detected, and grips the target work 2 for each of the selected predetermined number of target work 2. The position / posture candidate to be taken by the support portion 32 is determined. The CPU 110 creates a list of a predetermined number of determined position / posture candidates (step S28). The position / orientation candidate is a coordinate transformation matrix that is the product of the coordinate transformation matrix C H W indicating the position / orientation of the target work 2 and the inverse matrix ( tM H wM ) -1 of the coordinate transformation matrix tM H wM set in step S12. C H W · ( tM H wM ) -1 .

CPU110は、位置姿勢候補のリストの中から1つの位置姿勢候補を選択する(ステップS29)。 The CPU 110 selects one position / posture candidate from the list of position / posture candidates (step S29).

CPU110は、選択された位置姿勢候補で示される位置姿勢に合うように、支持部モデル37を構成する各要素の座標を変換する(ステップS30)。具体的には、CPU110は、第1CADデータ10aにおいて支持部モデル37を示す属性情報が付与された座標を、座標変換行列CW・(tMwM-1を用いて変換する。 The CPU 110 converts the coordinates of each element constituting the support model 37 so as to match the position / orientation indicated by the selected position / orientation candidate (step S30). Specifically, the CPU 110 converts the coordinates to which the attribute information indicating the support portion model 37 is added in the first CAD data 10a by using the coordinate transformation matrix C H W · ( tM H wM ) -1 .

さらに、CPU110は、ステップS24で読み込んだ座標変換行列HMR,HMLを用いて、右爪部モデル36Rおよび左爪部モデル36Lを構成する各要素の座標を変換する(ステップS31)。具体的には、CPU110は、第1CADデータ10aにおいて右爪部モデル36Rを示す属性情報が付与された座標を、座標変換行列CW・(tMwM-1・HMRを用いて変換する。CPU110は、第1CADデータ10aにおいて左爪部モデル36Lを示す属性情報が付与された座標を、座標変換行列CW・(tMwM-1・HMLを用いて変換する。 Further, the CPU 110 converts the coordinates of each element constituting the right claw portion model 36R and the left claw portion model 36L by using the coordinate transformation matrices H MR and H ML read in step S24 (step S31). Specifically, the CPU 110 converts the coordinates to which the attribute information indicating the right claw model 36R is added in the first CAD data 10a by using the coordinate transformation matrix C H W · ( tM H wM ) -1 · H MR. do. The CPU 110 converts the coordinates to which the attribute information indicating the left claw portion model 36L is added in the first CAD data 10a by using the coordinate transformation matrix C H W · ( tM H wM ) -1 · H ML .

次に、CPU110は、ステップS29,S30において座標変換されたエンドエフェクタモデル35と、ステップS26において検出された位置姿勢のワーク1(ただし、ステップS29で選択された位置姿勢候補に対応する対象ワーク2を除く)との干渉判定を行なう(ステップS32)。 Next, the CPU 110 has the end effector model 35 whose coordinates have been converted in steps S29 and S30, and the work 1 of the position and orientation detected in step S26 (however, the target work 2 corresponding to the position and orientation candidate selected in step S29). (Excluding)) and the interference determination (step S32).

さらに、CPU110は、ステップS29,S30において座標変換されたエンドエフェクタモデル35と、ステップS27において検出された位置姿勢のコンテナ5との干渉判定を行なう(ステップS33)。 Further, the CPU 110 determines the interference between the end effector model 35 whose coordinates have been transformed in steps S29 and S30 and the container 5 in the position and orientation detected in step S27 (step S33).

次に、CPU110は、ステップS28で作成された位置姿勢候補のリストのうち未選択の位置姿勢候補があるか否かを判定する(ステップS34)。未選択の位置姿勢候補がある場合(ステップS34でYES)、探索処理はステップS29に戻る。これにより、位置姿勢候補ごとに干渉判定が行なわれる。 Next, the CPU 110 determines whether or not there is an unselected position / posture candidate in the list of position / posture candidates created in step S28 (step S34). If there is an unselected position / orientation candidate (YES in step S34), the search process returns to step S29. As a result, the interference determination is performed for each position / posture candidate.

未選択の位置姿勢候補がない場合(ステップS34でNO)、CPU110は、干渉無しと判定された位置姿勢候補を所定条件に従ってソートする(ステップS35)。所定条件は、例えば、現状のエンドエフェクタ30の支持部32の位置姿勢に近い順である。その他、所定条件は、ワーク検出時における適合度の高い順、エンドエフェクタの回転量の少ない順、アプローチ角度が鉛直方向に近い順、露出度の高い順(重なり度の低い順)であってもよい。 When there is no unselected position / orientation candidate (NO in step S34), the CPU 110 sorts the position / orientation candidates determined to have no interference according to a predetermined condition (step S35). The predetermined conditions are, for example, in the order close to the position and orientation of the support portion 32 of the current end effector 30. In addition, even if the predetermined conditions are in descending order of goodness of fit at the time of workpiece detection, in order of decreasing amount of rotation of the end effector, in order of approach angle closer to the vertical direction, and in order of higher degree of exposure (order of lower degree of overlap). good.

CPU110は、最上位の位置姿勢候補を示す位置姿勢情報を生成し、生成した位置姿勢情報をロボットコントローラ200に出力する(ステップS36)。これにより、エンドエフェクタ30のピッキング位置の探索処理は終了する。 The CPU 110 generates position / posture information indicating the highest position / posture candidate, and outputs the generated position / posture information to the robot controller 200 (step S36). As a result, the search process for the picking position of the end effector 30 is completed.

<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 CAD reading unit 12, the user interface 9, the parts setting unit 13, the 3D measurement unit 20, the selection unit 22, the model change unit 26, and the interference. A determination unit 27 is provided. The CAD reading unit 12 acquires the first CAD data 10a showing the three-dimensional shape of the end effector 30. The parts setting unit 13 causes the user interface 9 to display the end effector model 35 represented by the first CAD data 10a. Based on the information input to the user interface 9, the parts setting unit 13 includes the right claw model 36R and the left claw model 36L corresponding to the right claw and the left claw of the end effector model 35, and the right claw. The movable direction of the portion model 36R and the left claw portion model 36L is set. The 3D measurement unit 20 measures the three-dimensional shape of the visual field region including the plurality of workpieces 1. The selection unit 22 selects a position / posture candidate of the end effector 30 (specifically, the support unit 32) when picking the target work 2 based on the measurement result of the 3D measurement unit 20. The interference determination unit 27 determines interference between the end effector model 35 of the position / orientation candidate selected by the selection unit 22 and an object other than the target work 2. However, the interference determination unit 27 performs interference determination in the end effector model 35 in a state where the right claw model 36R and the left claw model 36L are each moved in the movable direction by a set amount of movement.

上記の構成によれば、対象ワーク2のサイズに応じて適宜移動量を設定することにより、実際に対象ワーク2をピッキングするときのエンドエフェクタ30の形状に合うようにエンドエフェクタモデル35の形状を変更できる。そのため、変更後のエンドエフェクタモデル35を用いることにより、エンドエフェクタ30と対象ワーク2以外の物体との干渉判定を精度良く行なうことができる。 According to the above configuration, by appropriately setting the movement amount according to the size of the target work 2, the shape of the end effector model 35 is adjusted to match the shape of the end effector 30 when actually picking the target work 2. Can be changed. Therefore, by using the modified end effector model 35, it is possible to accurately determine the interference between the end effector 30 and an object other than the target work 2.

CAD読込部12は、対象ワーク2の三次元形状を示す第2CADデータ11aをさらに取得する。制御システムSYSは、第2CADデータ11aで示されるワークモデル3をエンドエフェクタモデル35がピッキングするために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する移動量設定部14を備える。モデル変更部26は、移動量設定部14によって設定された移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを移動させる。 The CAD reading unit 12 further acquires the second CAD data 11a showing the three-dimensional shape of the target work 2. The control system SYS has a movement amount setting unit 14 that sets the movement amount of the right claw part model 36R and the left claw part model 36L necessary for the end effector model 35 to pick the work model 3 shown by the second CAD data 11a. Be prepared. The model changing unit 26 moves the right claw portion model 36R and the left claw portion model 36L by the movement amount set by the movement amount setting unit 14.

上記の構成によれば、ワークモデル3とエンドエフェクタモデル35とを用いることにより、ピッキングに必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を適切に設定できる。 According to the above configuration, by using the work model 3 and the end effector model 35, the movement amounts of the right claw portion model 36R and the left claw portion model 36L required for picking can be appropriately set.

支持部32は、右爪部31Rと左爪部31Lとの間の距離(間隔)が可変となるように、右爪部31Rと左爪部31Lをそれぞれ平行移動可能に支持する。この場合、エンドエフェクタモデル35を構成するパーツの個数が少ないため、作業者は、ユーザインターフェース9を用いて、可動部モデル(右爪部モデル36Rおよび左爪部モデル36L)を容易に設定することができる。 The support portion 32 supports the right claw portion 31R and the left claw portion 31L so as to be able to translate, respectively, so that the distance (interval) between the right claw portion 31R and the left claw portion 31L is variable. In this case, since the number of parts constituting the end effector model 35 is small, the operator can easily set the movable part model (right claw part model 36R and left claw part model 36L) by using the user interface 9. Can be done.

<L.変形例1>
上記の説明では、コンテナ5内に形状およびサイズが同一の1種類のワーク1がばら積みされるものとした。しかしながら、コンテナ5内には、形状およびサイズの少なくとも一方が異なる複数種類のワークがばら積みされてもよい。
<L. Modification 1>
In the above description, it is assumed that one type of work 1 having the same shape and size is bulk-loaded in the container 5. However, in the container 5, a plurality of types of workpieces having different shapes and sizes may be stacked in bulk.

コンテナ5に複数種類のワークがばら積みされる場合、CAD読込部12は、第2記憶部11から、複数種類のワークの各々の三次元形状を示すCADデータを読み込む。 When a plurality of types of workpieces are stacked in bulk in the container 5, the CAD reading unit 12 reads CAD data indicating the three-dimensional shape of each of the plurality of types of workpieces from the second storage unit 11.

移動量設定部14は、複数種類のワークの各々について、当該ワークを把持するために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。つまり、移動量設定部14は、複数種類のワークの各々について、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14は、複数種類のワークの各々について、左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLを計算する。 The movement amount setting unit 14 sets the movement amount of the right claw portion model 36R and the left claw portion model 36L necessary for gripping the work for each of the plurality of types of workpieces. That is, the movement amount setting unit 14 calculates the coordinate transformation matrix H MR for translating each of the plurality of types of workpieces by the movement amount set in the movable direction of the right claw portion model 36R. Further, the movement amount setting unit 14 calculates a coordinate transformation matrix H ML for translating each of the plurality of types of workpieces by the movement amount set in the movable direction of the left claw portion model 36L.

相対位置設定部15は、複数種類のワークの各々について、当該ワークを把持するときの支持部モデル37に対するワークモデルの相対位置姿勢を示す座標変換行列tMwMを設定する。 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 support model 37 when gripping the work for each of the plurality of types of works.

図14に示す事前設定処理は、複数種類のワークの各々について実行される。これにより、複数種類のワークごとに座標変換行列HMR,HMLtMwMが設定される。 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 selection unit 22 identifies the type of the work existing in the visual field region of the image pickup apparatus 8 based on the measurement result of the 3D measurement unit 20, and the support unit 32 when gripping the work should be taken according to the identification result. Select a position / posture candidate.

モデル変更部26は、位置姿勢候補に対応するワークの種類に応じて設定した移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを移動させる。 The model changing unit 26 moves the right claw portion model 36R and the left claw portion model 36L by a set amount of movement according to the type of work corresponding to the position / posture candidate.

図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 CPU 110 reads a plurality of templates corresponding to the plurality of postures for each of the plurality of types of workpieces.

ステップS38において、CPU110は、ステップS25の計測結果である三次元点群データとステップS37で読み込んだ複数のテンプレートとを照合して、撮像装置8の視野領域に存在するワークの種類を識別するとともに、当該ワークの位置姿勢を検出する。 In step S38, the CPU 110 collates the three-dimensional point cloud data, which is the measurement result of step S25, with the plurality of templates read in step S37, and identifies the type of work existing in the visual field region of the image pickup apparatus 8. , Detects the position and orientation of the work.

ステップS39において、CPU110は、位置姿勢が検出されたワークの中から所定数のワークを対象ワーク2として選択するとともに、選択された所定数の対象ワーク2の各々について、当該対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を決定する。CPU110は、ワークに種類に応じた座標変換行列tMwMを用いて、位置姿勢候補を決定する。CPU110は、決定した所定数の位置姿勢候補のリストを作成する。 In step S39, the CPU 110 selects a predetermined number of works as the target work 2 from the works whose position and posture are detected, and grips the target work 2 for each of the selected predetermined number of target works 2. Occasionally, the support unit 32 determines a position / posture candidate to be taken. The CPU 110 determines a position / orientation candidate by using a coordinate transformation matrix tM H wM according to the type of the work. The CPU 110 creates a list of a predetermined number of determined position / posture candidates.

ステップS40において、CPU110は、各位置姿勢候補に対応する種類のワークに対して設定された移動量だけ移動させるための座標変換行列HMR,HMLを読み込む。 In step S40, the CPU 110 reads the coordinate transformation matrices H MR and H ML for moving the work by the set amount of movement for the type of work corresponding to each position / orientation candidate.

ステップS40の後、図15と同様のステップS29〜S36が実行される。ただし、ステップS30では、選択される位置姿勢候補に対応するワークの種類に応じて設定された座標変換行列tMwMを用いて、支持部モデル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 support model 37 are converted by using the coordinate transformation matrix tM H wM set according to the type of the work corresponding to the selected position / orientation candidate. Further, in step S31, the right claw portion model 36R and the left claw portion model 36L are configured by using the coordinate transformation matrices H MR and H ML set according to the type of the work corresponding to the selected position / orientation candidate. The coordinates of each element are transformed.

<M.変形例2>
上記の説明では、干渉判定部27は、3D計測部20の計測結果である三次元点群データに基づいて検出されたコンテナ5とエンドエフェクタモデル35との干渉判定を行なうものとした。しかしながら、コンテナ5は、ばら積みされたワークに隠され、撮像装置8の撮像により得られる画像に含まれない可能性がある。この場合、コンテナ検出部21は、三次元点群データからコンテナ5の位置姿勢を検出できない。
<M. Modification 2>
In the above description, the interference determination unit 27 determines the interference between the container 5 and the end effector model 35 detected based on the three-dimensional point cloud data which is the measurement result of the 3D measurement unit 20. However, the container 5 is hidden in the work piled up in bulk and may not be included in the image obtained by the image pickup of the image pickup apparatus 8. In this case, the container detection unit 21 cannot detect the position and orientation of the container 5 from the three-dimensional point cloud data.

コンテナ5は、通常、定位置に配置される。そのため、画像処理装置100は、定位置に配置されたコンテナ5が示す空間の座標を示すコンテナ情報を予め記憶しておいてもよい。干渉判定部27は、当該コンテナ情報に基づいて、エンドエフェクタモデル35とコンテナ5との干渉判定を行なえばよい。 The container 5 is usually placed in place. Therefore, the image processing apparatus 100 may store in advance container information indicating the coordinates of the space indicated by the container 5 arranged at a fixed position. The interference determination unit 27 may determine interference between the end effector model 35 and the container 5 based on the container information.

なお、コンテナ情報は、カメラ座標系で示されてもよいし、ベース座標系で示されてもよい。コンテナ情報がベース座標系で示される場合、干渉判定部27は、ベース座標系をカメラ座標系に変換するための座標変換行列BCを用いてコンテナ情報を変換し、変換後のコンテナ情報を用いて干渉判定を行なえばよい。もしくは、干渉判定部27は、変更後のエンドエフェクタモデル35の座標を座標変換行列(BC-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 interference determination unit 27 converts the container information using the coordinate transformation matrix B H C to convert the base coordinate system to the camera coordinate system, the container information after conversion It may be used to make an interference determination. Or, the interference determination unit 27 converts the coordinates of the end effector model 35 after the change according to the coordinate transformation matrix (B H C) -1, performs a collision determination of the end effector model 35 and the container 5 in the base coordinate system May be good.

<N.変形例3>
上記の説明では、形状およびサイズが予め定まっているワーク1がコンテナ5にばら積みされるものとした。しかしながら、形状およびサイズにばらつきのあるワーク1がコンテナ5にばら積みされてもよい。
<N. Modification 3>
In the above description, it is assumed that the work 1 having a predetermined shape and size is bulk-loaded in the container 5. However, the workpieces 1 having variations in shape and size may be bulk-loaded in the container 5.

図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 work 1 having variations in shape and size. Even if the shape and size of the work 1 vary, the target work 2 can be gripped if the following conditions a and b are satisfied.
Condition a: The distance between the plane passing through both lower ends of the right claw portion 31R and the left claw portion 31L and the highest point of the target work 2 is equal to or larger than a predetermined threshold value dh in consideration of variations in the shape and size of the work 1. Is.
Condition b: The right claw portion 31R and the left claw portion 31L do not interfere with an object other than the target work 2.

変形例3に係る画像処理装置は、撮像装置8の視野領域の三次元形状に基づいて、条件a,bを満たすように支持部32の位置姿勢候補を選択するとともに、右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。 The image processing device according to the third modification selects the position / orientation candidate of the support portion 32 so as to satisfy the conditions a and b based on the three-dimensional shape of the visual field region of the image pickup device 8, and also selects the position / orientation candidate of the support portion 32 and the right claw portion model 36R and the right claw portion model 36R. Set the movement amount of the left claw model 36L.

(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 image processing device 100A according to the modification 3 is different from the image processing device 100 shown in FIG. 4 in that it does not include the second storage unit 11 and the relative position setting unit 15. .. Further, the image processing device 100A sets a range instead of the movement amount setting unit 14, the container detection unit 21, the selection unit 22, the model change unit 26, and the interference determination unit 27, as compared with the image processing device 100 shown in FIG. The difference is that a unit 16, a container information storage unit 21A, a selection unit 22A, and an interference determination unit 27A are provided. Compared with the selection unit 22 shown in FIG. 4, the selection unit 22A has a recess detection unit 29, a position / orientation determination unit 25A, and a movement amount instead of the work detection unit 23, the target work selection unit 24, and the position / orientation determination unit 25. The difference is that the setting unit 14A is included. In the modified example 3, the container 5 is arranged at a fixed position as in the modified example 2.

範囲設定部16は、ユーザインターフェース9に入力された情報に基づいて、右爪部モデル36Rおよび左爪部モデル36Lの移動量の設定可能範囲およびステップ数を設定する。 The range setting unit 16 sets the settable range and the number of steps of the movement amount of the right claw portion model 36R and the left claw portion model 36L based on the information input to the user interface 9.

図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 UI screen 40 shown in FIG. 6, the UI screen 40A shown in FIG. 19 includes range input fields 55 and 56 and a step number input field 57 instead of the work display button 51 and the movement amount input field 50. It's different.

範囲設定部16は、範囲入力欄55に入力された値(最小値)から範囲入力欄56に入力された値(最大値)までを移動量の設定可能範囲として設定する。範囲設定部16は、ステップ数入力欄57に入力された値を移動量のステップ数として設定する。 The range setting unit 16 sets a range from the value (minimum value) input in the range input field 55 to the value (maximum value) input in the range input field 56 as the range in which the movement amount can be set. The range setting unit 16 sets the value input in the step number input field 57 as the number of steps of the movement amount.

図18に戻って、コンテナ情報記憶部21Aは、定位置に配置されたコンテナ5の三次元座標を示すコンテナ情報を記憶している。 Returning to FIG. 18, the container information storage unit 21A stores container information indicating the three-dimensional coordinates of the container 5 arranged at a fixed position.

選択部22Aは、撮像装置8の視野領域の三次元形状に基づいて、ワークをピッキングするときの支持部の位置姿勢候補を選択するとともに、ワークをピッキングするために必要な右爪部モデル36Rおよび左爪部モデル36Lの移動量を設定する。 The selection unit 22A selects the position / orientation candidate of the support portion when picking the work based on the three-dimensional shape of the visual field region of the image pickup device 8, and also selects the right claw model 36R and the right claw part model 36R necessary for picking the work. Set the movement amount of the left claw model 36L.

図20を参照しながら、選択部22Aの凹部検出部29、移動量設定部14Aおよび位置姿勢決定部25Aの処理について説明する。図20は、変形例3に係る画像処理装置の選択部の処理を示す図である。図20には、3D計測部20によって計測された三次元形状を上方からみたときの図が示される。 With reference to FIG. 20, the processing of the recess detection unit 29, the movement amount setting unit 14A, and the position / orientation determination unit 25A of the selection unit 22A will be described. FIG. 20 is a diagram showing processing of a selection unit of the image processing apparatus according to the modified example 3. FIG. 20 shows a view of the three-dimensional shape measured by the 3D measuring unit 20 when viewed from above.

凹部検出部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 recess detection unit 29 detects a recess in the three-dimensional shape of the visual field region of the image pickup apparatus 8 based on the three-dimensional point cloud data which is the measurement result of the 3D measurement unit 20. Specifically, the recess detection unit 29 extracts the highest point data from the three-dimensional point cloud data. Let z_max be the Z coordinate value of the highest point. The recess detection unit 29 masks the point cloud data (z <z_max−dh) whose Z coordinate value is less than z_max−dh in the three-dimensional point cloud data. The recess detection unit 29 labels the remaining region on a plane having a Z coordinate of z_max−dh. In FIG. 20, regions 60 and 61 indicate labeled regions. The region 60 is a region including a point projected onto a plane whose Z coordinate is z_max−dh from the highest point in the three-dimensional shape. Regions other than the regions 60 and 61 correspond to the recesses in the three-dimensional shape.

移動量設定部14Aは、範囲設定部16によって設定された移動量範囲の最小値から最大値まで順に移動量を選択する。移動量設定部14Aは、移動量範囲の最大値と最小値との差を(ステップ数−1)で割った量をステップ幅とし、ステップ幅だけ間隔をあけて移動量を順に選択する。 The movement amount setting unit 14A selects the movement amount in order from the minimum value to the maximum value of the movement amount range set by the range setting unit 16. The movement amount setting unit 14A sets the amount obtained by dividing the difference between the maximum value and the minimum value of the movement amount range by (number of steps-1) as the step width, and sequentially selects the movement amount at intervals of the step width.

移動量設定部14Aは、選択した移動量だけ右爪部モデル36Rおよび左爪部モデル36Lを可動方向に移動させたときに、以下の条件(i)(ii)の両方を満たすか否かを判定する。
条件(i):右爪部モデル36Rおよび左爪部モデル36Lが領域60の周囲に位置する(領域60を挟むように位置する)
条件(ii):右爪部モデル36Rおよび左爪部モデル36Lが凹部に位置する。
条件(i)(ii)の両方を満たす場合に、移動量設定部14Aは、選択した移動量を、領域60に存在する対象ワーク2を把持するときに必要な移動量として設定する。
The movement amount setting unit 14A determines whether or not both of the following conditions (i) and (ii) are satisfied when the right claw portion model 36R and the left claw portion model 36L are moved in the movable direction by the selected movement amount. judge.
Condition (i): The right claw model 36R and the left claw model 36L are located around the region 60 (positioned so as to sandwich the region 60).
Condition (ii): The right claw model 36R and the left claw model 36L are located in the recess.
When both the conditions (i) and (ii) are satisfied, the movement amount setting unit 14A sets the selected movement amount as the movement amount required when gripping the target work 2 existing in the area 60.

例えば、右爪部モデル36Rおよび左爪部モデル36Lの可動方向が互いに逆方向に設定され、かつ、右爪部モデル36Rと左爪部モデル36Lとが可動方向に沿って並んで配置される場合、以下のようにして移動量が設定される。 For example, when the movable directions of the right claw model 36R and the left claw model 36L are set to be opposite to each other, and the right claw model 36R and the left claw model 36L are arranged side by side along the movable direction. , The movement amount is set as follows.

図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 amount setting unit 14A calculates the coordinate value of the center of gravity G of the region 60. Further, the movement amount setting unit 14A moves the distance between the right claw part model 36R and the left claw part model 36L when the right claw part model 36R and the left claw part model 36L are moved by the movement amount selected in the movable direction, respectively. (Opening width W) is calculated. The movement amount setting unit 14A specifies a ring-shaped region 64 centered on the center of gravity G and having the calculated opening width W as the inner diameter and the value obtained by adding α to the opening width W as the outer diameter. α provides a predetermined margin to the total length of the end faces (hereinafter referred to as “lower end faces”) on the opposite side of the support model 37 in the right claw model 36R and the left claw model 36L along the movable direction. The added value.

移動量設定部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 amount setting unit 14A of the right claw portion model 36R so that the straight line coincides with the movable direction at two places where the straight line and the ring-shaped region 64 intersect for each of a predetermined number of straight lines passing through the center of gravity G. A simulation is performed in which the lower end surface 63R and the lower end surface 63L of the left claw model 36L are arranged. The angle formed by each of a predetermined number of straight lines and the reference direction (for example, the X direction) is predetermined. FIG. 20 shows an example when a straight line 65 is selected from a predetermined number of straight lines. The movement amount setting unit 14A determines whether or not the lower end surfaces 63R and 63L overlap with the areas 60 and 61. When the lower end surfaces 63R and 63L do not overlap with the areas 60 and 61, the movement amount setting unit 14A may set the selected movement amount as the movement amount that can grip the target work 2 existing in the area 60.

移動量設定部14Aは、上記の移動量設定部14と同様に、右爪部モデル36Rの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMRを計算する。さらに、移動量設定部14Aは、左爪部モデル36Lの可動方向に設定した移動量だけ平行移動させるための座標変換行列HMLを計算する。 Similar to the above-mentioned movement amount setting unit 14, the movement amount setting unit 14A calculates the coordinate transformation matrix H MR for translating the movement amount set in the movable direction of the right claw portion model 36R. Further, the movement amount setting unit 14A calculates a coordinate transformation matrix H ML for parallel movement by the movement amount set in the movable direction of the left claw portion model 36L.

移動量設定部14Aは、領域60に存在する対象ワーク2を把持可能な移動量を設定した場合、下端面63R,63Lが領域60,61と重ならないと判定した直線の方向および重心Gの座標を位置姿勢決定部25Aに出力する。 When the movement amount setting unit 14A sets the movement amount capable of gripping the target work 2 existing in the area 60, the direction of the straight line and the coordinates of the center of gravity G determined that the lower end surfaces 63R and 63L do not overlap with the areas 60 and 61. Is output to the position / orientation determination unit 25A.

なお、移動量設定部14Aは、下端面63R,63Lが領域60,61と重ならないと判定した直線が複数存在する場合、当該複数の直線の全ての方向を位置姿勢決定部25Aに出力する。 When there are a plurality of straight lines determined that the lower end surfaces 63R and 63L do not overlap with the regions 60 and 61, the movement amount setting unit 14A outputs all the directions of the plurality of straight lines to the position / posture determination unit 25A.

位置姿勢決定部25Aは、領域60に存在する対象ワーク2を把持するときの支持部32が取るべき位置姿勢を決定する。具体的には、位置姿勢決定部25Aは、以下の条件(1)〜(3)を満たすようにエンドエフェクタモデル35を配置したときの、カメラ座標系における支持部モデル37の位置姿勢を計算する。当該位置姿勢は、カメラ座標系を支持部モデル座標系に変換する座標変換行列CtMで示される。座標変換行列CtMは、カメラ座標系における、支持部モデル座標系の基底ベクトル37v1〜37v3の成分および原点37oの位置を表している(図10参照)。位置姿勢決定部25Aは、座標変換行列CtMを、対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を示す情報として計算する。
条件(1):Z座標がz_max−dhの平面上に右爪部モデル36Rの下端面63Rおよび左爪部モデル36Lの下端面63Lが位置する。
条件(2):右爪部モデル36Rの下端面63Rの中心と左爪部モデル36Lの下端面63Lの中心との中間点が、移動量設定部14Aから受けた重心Gと一致する。
条件(3):右爪部モデル36Rおよび左爪部モデル36Lの可動方向が、移動量設定部14Aから受けた直線の方向と一致する。
The position / posture determining unit 25A determines the position / posture to be taken by the support unit 32 when gripping the target work 2 existing in the region 60. Specifically, the position / orientation determination unit 25A calculates the position / orientation of the support unit model 37 in the camera coordinate system when the end effector model 35 is arranged so as to satisfy the following conditions (1) to (3). .. The position and orientation are shown by the coordinate transformation matrix C H tM that transforms the camera coordinate system into the support model coordinate system. The coordinate transformation matrix C H tM represents the components of the basis vectors 37v1 to 37v3 of the support model coordinate system and the position of the origin 37o in the camera coordinate system (see FIG. 10). The position / posture determination unit 25A calculates the coordinate transformation matrix C H tM as information indicating a position / posture candidate to be taken by the support unit 32 when gripping the target work 2.
Condition (1): The lower end surface 63R of the right claw model 36R and the lower end surface 63L of the left claw model 36L are located on a plane whose Z coordinate is z_max-dh.
Condition (2): The midpoint between the center of the lower end surface 63R of the right claw model 36R and the center of the lower end surface 63L of the left claw model 36L coincides with the center of gravity G received from the movement amount setting unit 14A.
Condition (3): The movable direction of the right claw portion model 36R and the left claw portion model 36L coincides with the direction of the straight line received from the movement amount setting unit 14A.

干渉判定部27Aは、コンテナ情報記憶部21Aが記憶するコンテナ情報に基づいて、エンドエフェクタモデル35とコンテナ5との干渉判定を行なう。 The interference determination unit 27A determines the interference between the end effector model 35 and the container 5 based on the container information stored in the container information storage unit 21A.

(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 modification 3. The flowchart shown in FIG. 21 is different from the flowchart shown in FIG. 14 in that steps S7 to S9 are omitted and steps S41 and S42 are included instead of steps S11 and S12.

OKボタンが操作されると(ステップS10でYES)、ステップS41において、CPU110は、範囲入力欄55,56に現在入力されている値を移動量の設定可能範囲の最小値,最大値としてそれぞれ設定する。さらに、ステップS42において、CPU110は、ステップ数入力欄57に現在入力されている値をステップ数として設定する。 When the OK button is operated (YES in step S10), in step S41, the CPU 110 sets the values currently input in the range input fields 55 and 56 as the minimum value and the maximum value of the settable range of the movement amount, respectively. do. Further, in step S42, the CPU 110 sets the value currently input in the step number input field 57 as the number of steps.

(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 end effector 30 by the image processing apparatus 100A according to the modification 3 will be described. FIG. 22 is a flowchart showing the flow of the picking position search process executed by the image processing apparatus according to the modified example 3. FIG. 23 is a flowchart showing an example of the processing flow of the subroutine in step S52 of FIG. The flowchart shown in FIG. 22 is a point in which steps S23 and S24 are omitted, a point in which steps S51 to S55 are included instead of steps S26 to S27, and a point in which steps S32 and S33 are substituted, as compared with the flowchart shown in FIG. Is different in that it includes step S56.

ステップS51において、CPU110は、ステップS41で設定された設定可能範囲の最小の移動量を選択する。 In step S51, the CPU 110 selects the minimum movement amount in the settable range set in step S41.

次にステップS52において、CPU110は、選択された移動量だけ右爪部31Rおよび左爪部31Lを可動方向に移動させたときに、対象ワーク2を把持可能な支持部32の位置姿勢候補を抽出する。 Next, in step S52, the CPU 110 extracts a position / posture candidate of the support portion 32 capable of gripping the target work 2 when the right claw portion 31R and the left claw portion 31L are moved in the movable direction by the selected movement amount. do.

例えば、ステップ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 CPU 110 extracts the highest point data (x, y, z_max) from the three-dimensional point cloud data measured by the 3D measuring unit 20. In step S522, the CPU 110 masks the point cloud data (z <z_max-dh) whose Z coordinate value is less than z_max-dh in the three-dimensional point cloud data. In step S523, the CPU 110 labels the remaining regions on the plane whose Z coordinate is z_max-dh, and calculates the coordinates of the center of gravity of each region.

ステップS524において、CPU110は、最高点に対応する領域の重心を中心と、選択された移動量に対応する開き幅Wを内径、開き幅Wにαを加算した値を外径とするリング状領域64を特定する(図20参照)。 In step S524, the CPU 110 has a ring-shaped region whose inner diameter is the opening width W corresponding to the selected movement amount and whose outer diameter is the value obtained by adding α to the opening width W, centered on the center of gravity of the region corresponding to the highest point. 64 is specified (see FIG. 20).

ステップS525において、CPU110は、特定したリング状領域64とラベリングされた領域60,61とに基づいて、対象ワーク2を把持するときに支持部32が取るべき位置姿勢候補を抽出する。具体的には、CPU110は、リング状領域64内において、右爪部モデル36Rの下端面63Rと左爪部モデル36Lの下端面63Lとが領域60,61と重ならないときの支持部モデル37の位置姿勢を、支持部32が取るべき位置姿勢候補として決定する。支持部32が取るべき位置姿勢候補は、上述したように、座標変換行列CtMで示される。 In step S525, the CPU 110 extracts a position / posture candidate to be taken by the support portion 32 when gripping the target work 2 based on the specified ring-shaped region 64 and the labeled regions 60 and 61. Specifically, the CPU 110 is a support portion model 37 when the lower end surface 63R of the right claw portion model 36R and the lower end surface 63L of the left claw portion model 36L do not overlap with the regions 60 and 61 in the ring-shaped region 64. The position / posture is determined as a position / posture candidate to be taken by the support portion 32. As described above, the position and orientation candidates to be taken by the support portion 32 are indicated by the coordinate transformation matrix C H tM.

図24に戻ってステップS52の後、ステップS53において、CPU110は、少なくとも1つの位置姿勢候補が抽出されたか否かを判定する。少なくとも1つの位置姿勢候補が抽出されなかった場合(ステップS53でNO)、ステップS54において、CPU110は、現在選択されている移動量から、ステップS41で設定されたステップ数に応じて計算されるステップ幅だけ大きい移動量を選択する。ステップS54の後、探索処理はステップS52に戻り、位置姿勢候補の抽出処理が実行される。 Returning to FIG. 24, after step S52, in step S53, the CPU 110 determines whether or not at least one position / posture candidate has been extracted. When at least one position / posture candidate is not extracted (NO in step S53), in step S54, the CPU 110 is calculated from the currently selected movement amount according to the number of steps set in step S41. Select a movement amount that is larger by the width. After step S54, the search process returns to step S52, and the position / posture candidate extraction process is executed.

少なくとも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 CPU 110 sets the selected movement amount as the movement amount that can grip the target work 2. Specifically, the coordinate transformation matrix H MR for moving in parallel by the amount of movement set in the movable direction of the right claw model 36R and the coordinates for moving in parallel by the amount of movement set in the movable direction of the left claw model 36L. The transformation matrix H ML is set.

その後、図15で説明したステップS28〜S31が実行される。ステップS30では、支持部モデル37を示す属性情報が付与された座標が、座標変換行列CtMを用いて変換される。ただし、座標変換行列CtMは、ステップ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 support portion model 37 is added are transformed using the coordinate transformation matrix C H tM. However, the coordinate transformation matrix C H tM is determined in step S525. Further, in step S31, the coordinates of each element constituting the right claw portion model 36R and the left claw portion model 36L are converted using the coordinate transformation matrices H MR and H ML. However, the coordinate transformation matrices H MR and H ML are set in step S55.

次にステップS56において、CPU110は、座標変換されたエンドエフェクタモデル35と、コンテナ情報記憶部21Aに記憶されたコンテナ情報で示される位置姿勢のコンテナ5との干渉判定を行なう。その後、図15で説明したステップS34〜S36が実行される。 Next, in step S56, the CPU 110 determines the interference between the coordinate-converted end effector model 35 and the container 5 having the position and orientation indicated by the container information stored in the container information storage unit 21A. After that, steps S34 to S36 described with reference to FIG. 15 are executed.

<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 right claw portion 31R, the left claw portion 31L, and the support portion 32, respectively, by using the frame lines 42 to 44 in the end effector model 35 displayed on the user interface 9. do. At this time, the image processing device estimates the portions corresponding to the right claw portion 31R, the left claw portion 31L, and the support portion 32 from the shape of the end effector model 35, and the default frame lines 42 to 44 are estimated according to the estimation result. Positional orientation and size may be determined. As a result, the operator can simplify the operation for the frame lines 42 to 44.

図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 image processing device 100 shown in FIG. 4, the image processing device 100B according to the modified example 4 includes a first CAD reading unit 12A and a second CAD reading unit 12B instead of the CAD reading unit 12, and has a learning database 17 and a learning database 17. , The learning machine 18 and the discriminating machine 19 are further provided.

第1CAD読込部12Aは、第1記憶部10から第1CADデータ10aを読み込む。第1CAD読込部12Aは、読み込んだ第1CADデータ10aを内部表現(ボックス、断面、三角メッシュ、点などの要素の集合)に変換する。第2CAD読込部12Bは、第2記憶部11から第2CADデータ11aを読み込む。 The first CAD reading unit 12A reads the first CAD data 10a from the first storage unit 10. The first CAD reading unit 12A converts the read first CAD data 10a into an internal representation (a set of elements such as a box, a cross section, a triangular mesh, and a point). The second CAD reading unit 12B reads the second CAD data 11a from the second storage unit 11.

学習用データベース17は、学習用データセット17aを記憶する。学習用データセット17aは、様々な形状のエンドエフェクタを様々な方向から射影した複数の画像の各々が学習用データを含む。学習用データは、画像の各画素に、支持部および可動部にいずれに対応するかを示す属性情報を付与した訓練データである。 The learning database 17 stores the learning data set 17a. In the training data set 17a, each of a plurality of images obtained by projecting end effectors of various shapes from various directions contains training data. The training data is training data in which attribute information indicating which of the support portion and the movable portion corresponds to each pixel of the image is added.

学習機18は、学習用データセット17aを用いて、学習済モデルの学習を実行する。学習機18は、生成した学習済モデルを識別機19に出力する。学習機18は、例えばSegnet(http://mi.eng.cam.ac.uk/projects/segnet)などのセグメンテーション手法を用いて学習済モデルを生成する。 The learning machine 18 executes training of the trained model using the training data set 17a. The learning machine 18 outputs the generated trained model to the identification machine 19. The learning machine 18 generates a trained model by using a segmentation method such as Segnet (http://mi.eng.cam.ac.uk/projects/segnet).

学習済モデルは、エンドエフェクタの画像データの入力を受けて、当該画像データで示される画像を構成する各画素について、当該画素が支持部に対応する部分である可能性を示すスコア(以下、「第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 discriminator 19 calculates the first score and the second score for each pixel of the image displayed in the display area 41 of the UI screen 40 by using the trained model. The discriminator 19 identifies pixels having a first score larger than the second score and having a first score equal to or higher than a predetermined threshold value as pixels corresponding to the support unit model 37. The discriminator 19 identifies pixels having a second score larger than the first score and having a second score equal to or higher than a predetermined threshold value as pixels corresponding to the movable portion model. The discriminator 19 identifies pixels whose first score and second score are less than a specified threshold value as background pixels. When a plurality of pixels corresponding to the movable portion model are labeled in two sets, the discriminator 19 identifies the pixel belonging to one of the two sets as the pixel corresponding to the right claw portion model 36R. , The pixel belonging to the other is identified as the pixel corresponding to the left claw model 36L.

パーツ設定部13は、識別機19による識別結果に従って、枠線42〜44のデフォルトの位置姿勢およびサイズを決定する。これにより、識別機19の識別結果が正しい場合、作業者は、枠線42〜44に対する操作を省略できる。識別機19の識別結果に誤りがある場合、作業者は、枠線42〜44の位置姿勢およびサイズを適宜修正すればよい。 The parts setting unit 13 determines the default position / orientation and size of the frame lines 42 to 44 according to the identification result by the identification machine 19. As a result, if the identification result of the identification machine 19 is correct, the operator can omit the operation for the frame lines 42 to 44. If there is an error in the identification result of the identification machine 19, the operator may appropriately correct the position / orientation and size of the frame lines 42 to 44.

<P.変形例5>
上記の実施の形態および変形例では、エンドエフェクタ30が平行移動する2つの爪部を可動部として有する例について説明した。しかしながら、エンドエフェクタ30は、平行移動する3つ以上の爪部を可動部として有してもよい。例えば、N個の爪部の中心点を通るN個の直線に沿って当該N個の爪部がそれぞれ移動する多指ハンドであってもよい。多指ハンドでは、N個の爪部が互いに近づくように移動することにより対象ワーク2を把持できる。このような多指ハンドであれば、形状およびサイズが予め定まっているワーク1であっても、上記の変形例3と同様の方法により、爪部の移動量を設定できる。
<P. Modification 5>
In the above-described embodiments and modifications, an example in which the end effector 30 has two claws that move in parallel as movable portions has been described. However, the end effector 30 may have three or more claws that move in parallel as movable portions. For example, it may be a multi-finger hand in which the N claws move along N straight lines passing through the center points of the N claws. In the multi-fingered hand, the target work 2 can be gripped by moving the N claws so as to approach each other. With such a multi-fingered hand, even if the work 1 has a predetermined shape and size, the amount of movement of the claw portion can be set by the same method as in the above-mentioned modification 3.

もしくは、エンドエフェクタ30は、回転移動する可動部を有していてもよい。回転移動する可動部を有する場合、パーツ設定部13は、当該可動部に対応する可動部モデルについて、可動方向として回転中心軸および回転方向を設定すればよい。 Alternatively, the end effector 30 may have a movable portion that rotates and moves. When having a movable portion that rotates and moves, the parts setting unit 13 may set the rotation center axis and the rotation direction as the movable direction for the movable portion model corresponding to the movable portion.

エンドエフェクタ30による対象ワーク2のピッキングは、上記の把持動作に限定されない。例えば、ピッキングは、対象ワーク2を吸着することにより行なわれてもよい。 The picking of the target work 2 by the end effector 30 is not limited to the above-mentioned gripping operation. For example, picking may be performed by adsorbing the target work 2.

<Q.変形例6>
上記の実施の形態では、画像処理装置100は、事前設定処理と、ピッキング位置を探索する探索処理とを両方を行なうものとした。しかしながら、事前設定処理は、画像処理装置100とは別の情報処理装置で実行されてもよい。情報処理装置は、汎用のコンピュータで構成され、画像処理装置と同様のハードウェア構成(図3)を備える。そして、情報処理装置は、第1記憶部10と、第2記憶部11と、CAD読込部12と、パーツ設定部13と、移動量設定部14と、相対位置設定部15とを備えればよい。
<Q. Modification 6>
In the above embodiment, the image processing apparatus 100 performs both the preset processing and the search processing for searching the picking position. However, the preset processing may be executed by an information processing device different from the image processing device 100. The information processing device is composed of a general-purpose computer and has a hardware configuration (FIG. 3) similar to that of the image processing device. If the information processing device includes a first storage unit 10, a second storage unit 11, a CAD reading unit 12, a parts setting unit 13, a movement amount setting unit 14, and a relative position setting unit 15. good.

<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 configuration 1, wherein the determination unit (26, 27) moves the movable unit model (36R, 36L) by a movement amount set by the second setting unit (14).

(構成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 configuration 1.

(構成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 configuration 1, wherein the determination unit (26, 27A) moves the movable unit model (36R, 36L) by a movement amount set by the second setting unit (14A).

(構成5)
前記支持部(32)は、平行移動および回転移動の少なくとも一方が可能なように前記可動部(31R,31L)を支持する、構成1から4のいずれかに記載の制御システム(SYS)。
(Structure 5)
The control system (SYS) according to any one of configurations 1 to 4, wherein the support portion (32) supports the movable portion (31R, 31L) so that at least one of translation and rotational movement is possible.

(構成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 configuration 1, the support portion (32) supports the plurality of claw portions (31R, 31L) so as to be able to translate, respectively, so that the distance between the plurality of claw portions (31R, 31L) is variable. 4. The control system (SYS) according to any one of 4.

(構成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形状データで示されるエンドエフェクタモデルを前記ユーザインターフェースに表示させ、前記ユーザインターフェースに入力された情報に基づいて、前記エンドエフェクタモデルのうち前記可動部に対応する可動部モデルと前記可動部モデルの可動方向とを設定する第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設定部を備え、
前記判定部は、前記第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設定部をさらに備え、
前記判定部は、前記第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 control system according to any one of claims 1 to 4, wherein the support portion supports the movable portion so that at least one of translation and rotational movement is possible. 前記可動部は、複数の爪部を有し、
前記支持部は、前記複数の爪部間の距離が可変となるように、前記複数の爪部をそれぞれ平行移動可能に支持する、請求項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.
複数の物体の中から1つの物体を対象物としてピッキングするエンドエフェクタを有するロボットを制御する制御方法であって、
前記エンドエフェクタは、可動部と、前記可動部を移動可能に支持する支持部とを含み、
前記制御方法は、
前記エンドエフェクタの三次元形状を示す形状データを取得するステップと、
前記形状データで示されるエンドエフェクタモデルをユーザインターフェースに表示させ、前記ユーザインターフェースに入力された情報に基づいて、前記エンドエフェクタモデルのうち前記可動部に対応する可動部モデルと前記可動部モデルの可動方向とを設定するステップと、
前記複数の物体を含む視野領域の三次元形状を計測するステップと、
計測結果に基づいて、前記対象物をピッキングするときの前記エンドエフェクタの位置姿勢候補を選択するステップと、
選択された位置姿勢候補の前記エンドエフェクタモデルと前記対象物以外の物体との干渉判定を行なうステップとを備え、
前記干渉判定を行なうステップは、前記エンドエフェクタモデルにおいて、設定された移動量だけ前記可動部モデルを前記可動方向に移動させるステップを含む、制御方法。
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.
JP2019082776A 2019-04-24 2019-04-24 Control system, information processing device and control method Active JP6973444B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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