JP7439410B2 - Image processing device, image processing method and program - Google Patents
Image processing device, image processing method and program Download PDFInfo
- Publication number
- JP7439410B2 JP7439410B2 JP2019145441A JP2019145441A JP7439410B2 JP 7439410 B2 JP7439410 B2 JP 7439410B2 JP 2019145441 A JP2019145441 A JP 2019145441A JP 2019145441 A JP2019145441 A JP 2019145441A JP 7439410 B2 JP7439410 B2 JP 7439410B2
- Authority
- JP
- Japan
- Prior art keywords
- orientation
- image processing
- workpiece
- model
- offset amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 106
- 238000003672 processing method Methods 0.000 title claims description 12
- 238000004458 analytical method Methods 0.000 claims description 91
- 238000001514 detection method Methods 0.000 claims description 57
- 230000033001 locomotion Effects 0.000 claims description 31
- 238000003384 imaging method Methods 0.000 claims description 28
- 230000000007 visual effect Effects 0.000 claims description 17
- 238000005259 measurement Methods 0.000 description 87
- 239000012636 effector Substances 0.000 description 39
- 239000011159 matrix material Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 28
- 238000000034 method Methods 0.000 description 28
- 230000009466 transformation Effects 0.000 description 28
- 238000011960 computer-aided design Methods 0.000 description 14
- 210000000078 claw Anatomy 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005484 gravity Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000010363 phase shift Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910052736 halogen Inorganic materials 0.000 description 1
- 150000002367 halogens Chemical class 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Description
本技術は、画像処理装置、画像処理方法およびプログラムに関する。 The present technology relates to an image processing device, an image processing method, and a program.
従来、視覚センサを用いて、バラ積みされた対象物であるワークの位置姿勢を検出し、検出結果に基づいてロボットによるワークのピッキング動作を制御する画像処理装置が知られている。 2. Description of the Related Art Conventionally, an image processing apparatus is known that uses a visual sensor to detect the position and orientation of workpieces, which are objects stacked in bulk, and controls the picking operation of the workpieces by a robot based on the detection results.
特開2018-146347号公報(特許文献1)には、三次元計測により取得した三次元計測データに対して、ワークモデルを用いた三次元サーチ処理を実行し、ワークの位置姿勢を特定する画像処理装置が開示されている。特許文献1に開示の画像処理装置は、ワークのバラ積み状態を示す高さ画像に対し、ワークモデルの特徴点を三次元サーチ処理の結果として重畳表示する。
Japanese Unexamined Patent Publication No. 2018-146347 (Patent Document 1) describes an image in which a three-dimensional search process using a workpiece model is executed on three-dimensional measurement data obtained by three-dimensional measurement to specify the position and orientation of the workpiece. A processing device is disclosed. The image processing device disclosed in
しかしながら、高さ画像に対してワークモデルの特徴点が重畳表示された画面だけでは、ワークの位置姿勢の検出精度を十分に把握することができない。 However, it is not possible to sufficiently grasp the detection accuracy of the position and orientation of the workpiece only from a screen in which the feature points of the workpiece model are displayed superimposed on the height image.
本発明は、上記の問題に鑑みてなされたものであり、その目的は、ユーザが対象物の位置姿勢の検出精度を確認しやすい画像処理装置、画像処理方法およびプログラムを提供することである。 The present invention has been made in view of the above problems, and an object thereof is to provide an image processing device, an image processing method, and a program that allow a user to easily confirm the detection accuracy of the position and orientation of an object.
本開示の一例によれば、画像処理装置は、生成部と、検出部と、解析部とを備える。生成部は、対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、視野領域の三次元点群データを生成する。検出部は、三次元点群データと対象物の三次元形状を示すモデルとに基づいて対象物の位置姿勢を検出する。解析部は、1以上の軸の各々について、検出部によって検出された位置姿勢に配置されたモデルにおける当該軸に直交する平面との第1交差部分と、三次元点群データで示される面における平面との第2交差部分とを表示装置に重畳表示させる。 According to an example of the present disclosure, an image processing device includes a generation section, a detection section, and an analysis section. The generation unit generates three-dimensional point group data of the viewing area based on an image obtained from an imaging device installed such that the object is included in the viewing area. The detection unit detects the position and orientation of the object based on the three-dimensional point group data and a model representing the three-dimensional shape of the object. For each of the one or more axes, the analysis unit calculates the first intersection of the model placed in the position and orientation detected by the detection unit with a plane orthogonal to the axis, and the plane indicated by the three-dimensional point cloud data. The second intersection with the plane is displayed in a superimposed manner on the display device.
この開示によれば、ユーザは、各軸に直交する仮想平面上での第1交差部分と第2交差部分とのずれを確認することができる。当該ずれは、検出部によるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、検出部によるワークの位置姿勢の検出精度を確認しやすくなる。 According to this disclosure, the user can confirm the shift between the first intersection and the second intersection on the virtual plane orthogonal to each axis. The deviation depends on the accuracy with which the detection unit detects the position and orientation of the workpiece. Therefore, the user can easily check the detection accuracy of the position and orientation of the workpiece by the detection unit.
上述の開示において、1以上の軸の各々について、当該軸の方向および当該軸上における平面の位置の少なくとも一方は可変である。 In the above disclosure, for each of the one or more axes, at least one of the direction of the axis and the position of a plane on the axis is variable.
この開示によれば、ユーザは、所望の位置に仮想平面を移動し、当該仮想平面上の第1交差部分と第2交差部分とを確認できる。 According to this disclosure, the user can move the virtual plane to a desired position and check the first intersection and second intersection on the virtual plane.
上述の開示において、1以上の軸は、互いに直交する3つの軸を含む。この開示によれば、ユーザは、互いに直交する3つの軸にそれぞれ直交する3つの仮想平面の各々における第1交差部分と第2交差部分とを確認できる。その結果、ユーザは、検出部によるワークの位置姿勢の様々な方向における検出精度を確認できる。 In the above disclosure, the one or more axes include three mutually orthogonal axes. According to this disclosure, the user can confirm the first intersecting portion and the second intersecting portion in each of three virtual planes that are orthogonal to three axes that are orthogonal to each other. As a result, the user can confirm the accuracy with which the detection unit detects the position and orientation of the workpiece in various directions.
上述の開示において、画像処理装置は、検出された位置姿勢に対するオフセット量を設定する設定部と、検出された位置姿勢からオフセット量だけ移動させた位置姿勢に応じて、対象物をピッキングするロボットの動作を決定する決定部とをさらに備える。 In the above disclosure, the image processing device includes a setting unit that sets an offset amount for the detected position and orientation, and a robot that picks a target object according to the position and orientation that is moved by the offset amount from the detected position and orientation. The apparatus further includes a determining section that determines the operation.
この開示によれば、ユーザは、オフセット量を指定することにより、ロボットの動作を適宜調整できる。なお、オフセット量は、並進成分および回転成分の少なくとも一方を含む。 According to this disclosure, the user can appropriately adjust the operation of the robot by specifying the offset amount. Note that the offset amount includes at least one of a translational component and a rotational component.
上述の開示において、設定部は、表示装置に表示されたモデルに対する移動操作に従って、オフセット量を設定する。 In the above disclosure, the setting unit sets the offset amount according to a movement operation on the model displayed on the display device.
この開示によれば、ユーザは、ワークモデルに対する移動操作を行なうことにより、オフセット量を容易に指定することができる。 According to this disclosure, the user can easily specify the offset amount by performing a movement operation on the workpiece model.
上述の開示において、解析部は、表示装置に表示されているモデルをオフセット量だけ移動させる。 In the above disclosure, the analysis unit moves the model displayed on the display device by an offset amount.
この開示によれば、ユーザは、表示装置に表示されているワークモデルの移動量を確認することにより、オフセット量の大きさを視覚的に認識できる。 According to this disclosure, the user can visually recognize the magnitude of the offset amount by checking the amount of movement of the workpiece model displayed on the display device.
本開示の一例によれば、画像処理方法は、第1~第3のステップを備える。第1のステップは、対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、視野領域の三次元点群データを生成するステップである。第2のステップは、三次元点群データと対象物の三次元形状を示すモデルとに基づいて対象物の位置姿勢を検出するステップである。第3のステップは、1以上の軸の各々について、検出された位置姿勢に配置されたモデルにおける当該軸に直交する平面との第1交差部分と、三次元点群データで示される面における平面との第2交差部分とを表示装置に重畳表示させるステップである。 According to an example of the present disclosure, an image processing method includes first to third steps. The first step is to generate three-dimensional point group data of the visual field based on an image obtained from an imaging device installed such that the object is included in the visual field. The second step is a step of detecting the position and orientation of the object based on three-dimensional point group data and a model representing the three-dimensional shape of the object. The third step is to identify, for each of the one or more axes, the first intersection with a plane perpendicular to the axis in the model placed in the detected position and orientation, and the plane in the plane indicated by the three-dimensional point cloud data. This is a step of superimposing and displaying the second intersection with the second intersection on the display device.
本開示の一例によれば、プログラムは、上記の方法をコンピュータに実行させる。これらの開示によっても、ユーザは、対象物の位置姿勢の検出精度を確認しやすくなる。 According to an example of the present disclosure, a program causes a computer to perform the above method. These disclosures also make it easier for the user to confirm the detection accuracy of the position and orientation of the target object.
本開示によれば、ユーザは、対象物の位置姿勢の検出精度を確認しやすくなる。 According to the present disclosure, a user can easily check the detection accuracy of the position and orientation of a target object.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the figures are given the same reference numerals and the description thereof will not be repeated.
§1 適用例
まず、図1~図6を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、コンテナ2に収容された対象物(以下、「ワーク1」と称する。)に対するピッキングの制御を行なう。ワーク1は、コンテナ2内にバラ積みされる。そのため、コンテナ2内でのワーク1の位置姿勢はランダムである。
§1 Application Example First, an example of a situation where the present invention is applied will be described with reference to FIGS. 1 to 6. FIG. 1 is a schematic diagram showing the overall configuration of a control system according to an embodiment. The control system SYS illustrated in FIG. 1 is installed in a production line, etc., and controls picking of objects (hereinafter referred to as "
図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300と、計測ヘッド400とを備える。画像処理装置100には、表示装置150および入力装置160が接続されている。入力装置160は、例えばキーボードおよびマウスを含む。
The control system SYS illustrated in FIG. 1 includes an
ロボット300は、ワーク1のピッキングを行なう。ロボット300は、ワーク1を保持するエンドエフェクタ30と、エンドエフェクタ30の位置姿勢を変更するための多関節アーム31と、多関節アーム31を支持するベース32とを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。
The
図1に例示されるエンドエフェクタ30は、2つの爪33を有し、2つの爪33を用いてワーク1を把持する。なお、爪33は、ワーク1を把持する際に、ワーク1に接触する部位であり、「指」とも称される。ワーク1の保持方法は、2つの爪を用いた把持に限定されない。例えば、エンドエフェクタ30は、3つ以上の爪を用いてワークを把持してもよいし、吸着パッドを用いてワーク1を吸着してもよい。
The
ロボットコントローラ200は、画像処理装置100からの動作指令を受けて、ロボット300の多関節アーム31を制御する。具体的には、ロボットコントローラ200は、エンドエフェクタ30がワーク1に対するピッキング動作を行なうように多関節アーム31を制御する。
The
計測ヘッド400は、コンテナ2およびコンテナ2に収容されたワーク1が被写体となるように設置され、当該被写体を撮像する。計測ヘッド400は、投影部401と撮像部402とを備える。投影部401は、画像処理装置100からの指示に従って任意の投影パターン光を被写体に投影する。投影パターンは、例えば照射面内の所定方向に沿って明るさが周期的に変化するパターンである。撮像部402は、投影パターン光が投影された状態の被写体を撮像する。
The
投影部401は、主要なコンポーネントとして、例えば、LED(Light Emitting Diode)やハロゲンランプなどの光源と、投影部401の照射面の側に配置されたフィルタとを含む。フィルタは、後述するような三次元形状の計測に必要な投影パターン光を発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。投影部401は、液晶またはやDMD(Digital Mirror Device)と光源(LEDまたはレーザ光源など)とを用いた構成であってもよい。
The
撮像部402は、主要なコンポーネントとして、例えば、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。
The
画像処理装置100は、計測ヘッド400から受けた画像に基づいて、コンテナ2に収容されたワーク1の位置姿勢を検出する。画像処理装置100は、検出したワーク1の位置姿勢に基づいて、エンドエフェクタ30のピッキング動作を決定する。画像処理装置100は、決定したピッキング動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する。ロボットコントローラ200は、動作指令に従って、画像処理装置100によって決定されたピッキング動作をロボット300に実行させる。
The
具体的には、画像処理装置100は、検出したワーク1の位置姿勢に応じて、当該ワーク1を把持するときのエンドエフェクタ30の取るべき位置姿勢(以下、「把持点」とも称する。)を決定する。画像処理装置100は、待機位置から把持点まで移動し、ワーク1を把持してから目的位置(ワーク1のプレース位置)まで移動するピッキング動作を決定する。
Specifically, the
図2および図3を参照して、画像処理装置100によるピッキング動作の決定方法について説明する。図2は、制御システムを構成する各部材の座標系の対応関係を示す図である。図3は、ワークモデルと、当該ワークモデルを把持するエンドエフェクタモデルとの位置関係を示す図である。
A method for determining a picking operation by the
図2において、「ベース座標系B」は、ロボット300のベース32を基準とする座標系である。「ツール座標系T」は、ロボット300の多関節アーム31の先端面(エンドエフェクタ30が取り付けられるフランジ面)に設定される座標系である。フランジ面の位置姿勢は、エンドエフェクタ30の位置姿勢を定義付ける。「カメラ座標系C」は、計測ヘッド400の撮像部402を基準とする座標系である。「ワーク座標系W」は、ワーク1を基準とする座標系である。
In FIG. 2, "base coordinate system B" is a coordinate system based on the
計測ヘッド400から受けた画像に基づいて検出されるワーク1の位置姿勢は、例えばカメラ座標系Cをワーク座標系Wに変換する座標変換行列CHWによって示される。座標変換行列CHWは、カメラ座標系Cにおけるワーク座標系Wの基底ベクトルの成分および原点の位置を表す。
The position and orientation of the
一方、画像処理装置100からロボットコントローラ200に出力される動作指令は、例えばベース座標系Bをツール座標系Tに変換する座標変換行列BHTによって示される。座標変換行列BHTは、ベース座標系Bにおけるツール座標系Tの基底ベクトルの成分および原点の位置を表す。
On the other hand, an operation command output from the
座標変換行列CHW,BHTは、以下の式(1)を満たす。
BHC・CHW=BHT・THW ・・・式(1)
式(1)において、座標変換行列BHCは、ベース座標系Bをカメラ座標系Cに変換する行列である。座標変換行列BHCは、ベース座標系Bにおけるカメラ座標系Cの基底ベクトルの成分および原点の位置を表す。座標変換行列THWは、ツール座標系Tをワーク座標系Wに変換する行列である。座標変換行列THWは、ツール座標系Tにおけるワーク座標系Wの基底ベクトルの成分および原点の位置を表す。
The coordinate transformation matrices C H W and B H T satisfy the following equation (1).
B H C・C H W = B H T・T H W ...Formula (1)
In equation (1), the coordinate transformation matrix B H C is a matrix that transforms the base coordinate system B into the camera coordinate system C. The coordinate transformation matrix B H C represents the components of the base vector of the camera coordinate system C in the base coordinate system B and the position of the origin. The coordinate transformation matrix T H W is a matrix that transforms the tool coordinate system T into the workpiece coordinate system W. The coordinate transformation matrix T H W represents the component of the basis vector of the workpiece coordinate system W in the tool coordinate system T and the position of the origin.
本実施の形態では、計測ヘッド400は、コンテナ2全体を撮像可能な位置に固定される。そのため、式(1)の座標変換行列BHCは、固定値で表され、事前に実行されるキャリブレーションによって求められる。キャリブレーションとして、例えば、ロボット300のフランジ面にマーカを取り付け、ロボット300を動作させながら計測ヘッド400の撮像部402でマーカを撮像するハンドアイキャリブレーションが採用され得る。
In this embodiment, the
ワーク1を把持するときのエンドエフェクタ30の位置姿勢(把持点)は、ワーク1の三次元形状を示すモデル(以下、「ワークモデル1M」と称する。)とエンドエフェクタ30の三次元形状を示すモデル(以下、エンドエフェクタモデル30M」と称する。)とを用いて予め登録される。
The position and orientation (gripping point) of the
図3に示されるように、ユーザは、ワーク1をエンドエフェクタ30が把持するときのワーク1に対するエンドエフェクタ30の相対位置姿勢と一致するように、仮想空間上において、ワークモデル1Mとエンドエフェクタモデル30Mとを配置する。このようにして仮想空間上に配置されたエンドエフェクタモデル30Mに対するワークモデル1Mの相対位置姿勢を示す座標変換行列TMHWMが算出される。算出された座標変換行列TMHWMは、把持点データとして画像処理装置100に予め登録される。
As shown in FIG. 3, the user creates a
座標変換行列TMHWMは、エンドエフェクタモデル30Mの多関節アーム側の面を基準とする座標系TMにおけるワークモデル1Mの座標系WMの基底ベクトルの成分および原点の位置を表す。座標系TMの基底ベクトルおよび原点は、エンドエフェクタモデル30Mを多関節アーム31のフランジ面に取り付けたと仮定したときに、ツール座標系T(図2参照)の基底ベクトルおよび原点とそれぞれ一致するように設定される。ワークモデル1Mの基底ベクトルおよび原点は、ワークモデル1Mをワーク1と重ね合わせたときに、ワーク座標系W(図2参照)の基底ベクトルおよび原点とそれぞれ一致するように設定される。
The coordinate transformation matrix TM H WM represents the component of the base vector and the position of the origin of the coordinate system WM of the
画像処理装置100は、式(1)の座標変換行列THWに予め登録された把持点データ(座標変換行列TMHWM)を入力する。これにより、画像処理装置100は、以下の式(2)に従って、計測ヘッド400から受けた画像に基づいて検出されたワーク1を把持するときのエンドエフェクタ30の位置姿勢を示す座標変換行列BHTを算出する。
BHT=(TMHWM)-1・BHC・CHW ・・・式(2)
画像処理装置100は、算出した座標変換行列BHTに従って、ロボットコントローラ200への動作指令を生成すればよい。
The
B H T = ( TM H WM ) -1・B H C・C H W ...Formula (2)
The
画像処理装置100によるワーク1の位置姿勢の検出は、三次元サーチを用いて実行される。三次元サーチは、計測ヘッド400から受けた画像に基づいて生成される三次元点群データの中から、ワーク1の三次元形状を示すワークモデルと一致または近似する特徴点を抽出し、抽出した特徴点に基づいてワーク1の位置姿勢を検出する処理である。三次元点群データは、計測ヘッド400から受けた画像から計測される、視野領域内に存在する物体表面(以下、「計測表面」と称する。)を示す。三次元サーチは、公知の検出アルゴリズム(「認識アルゴリズム」とも称される。)を用いて実行される。
Detection of the position and orientation of the
図4は、三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの一例を示す図である。図5は、三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの別の例を示す図である。 FIG. 4 is a diagram showing an example of a measurement surface indicated by three-dimensional point cloud data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point cloud data. FIG. 5 is a diagram showing another example of a measurement surface indicated by three-dimensional point cloud data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point cloud data.
図4および図5に示されるように、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71は、三次元点群データで示される計測表面70に対して常に一定方向に並進または回転し得る。図4に示す例では、ワークモデル71は、計測表面70に対して+Z方向にずれている。図5に示す例では、ワークモデル71は、計測表面70に対してY軸を中心とする回転方向にずれている。ただし、計測表面70に対するワークモデル71の並進ずれおよび回転ずれの方向は、検出アルゴリズムの癖に依存し、図4および図5に例示する方向に限定されない。
As shown in FIGS. 4 and 5, due to a quirk of the detection algorithm, the
従来、図4および図5に示されるような検出ずれをユーザが十分に確認できなかった。そのため、本実施の形態に係る画像処理装置100は、ワーク1の位置姿勢の検出精度を確認するための解析画面をユーザに提示する。
Conventionally, a user has not been able to sufficiently confirm detection deviations as shown in FIGS. 4 and 5. Therefore, the
図6は、ワークの位置姿勢の検出結果を確認するための解析画面の一例を示す図である。図6に例示される解析画面50は、画像処理装置100によって表示装置150(図1参照)に表示される。
FIG. 6 is a diagram showing an example of an analysis screen for checking the detection result of the position and orientation of the workpiece. The analysis screen 50 illustrated in FIG. 6 is displayed on the display device 150 (see FIG. 1) by the
図6に示されるように、解析画面50は、領域51,61~62を含む。領域51には、計測ヘッド400を用いて計測された三次元点群データで示される距離画像が表示される。距離画像は、カラーマップで表現され、XY平面上の各画素についてZ座標(高さ)を色または濃度によって示す。距離画像が取りうるZ座標の範囲は、カラーバー52によって示される。なお、X軸、Y軸およびZ軸は互いに直交する。Z軸は、撮像部402の光軸と平行である。
As shown in FIG. 6, the analysis screen 50 includes areas 51, 61-62. In the area 51, a distance image represented by three-dimensional point group data measured using the
領域51には、三次元サーチによって検出された位置姿勢に配置されたワークモデル71をZ軸方向に投影した領域の輪郭71dが距離画像に重畳して表示される。図6に示す例では、三次元サーチにより三次元点群データから複数のワーク1の位置姿勢が検出されている。そのため、複数の輪郭71dが表示されている。
In the area 51, an outline 71d of an area obtained by projecting the
さらに、領域51には、X軸に直交する仮想平面(以下、「第1仮想平面」と称する。)の位置を指定するためのライン53と、Y軸に直交する仮想平面(以下、「第2仮想平面」と称する。)の位置を指定するためのライン54とが表示される。カラーバー52には、Z軸に直交する仮想平面(以下、「第3仮想平面」と称する。)の位置を指定するためのライン55が表示される。ライン53,54,55の位置は、入力装置160に対する操作に応じて可変である。
Further, in the area 51, a line 53 for specifying the position of a virtual plane perpendicular to the A line 54 for specifying the position of the virtual plane (referred to as "2 virtual plane") is displayed. A line 55 for specifying the position of a virtual plane (hereinafter referred to as "third virtual plane") perpendicular to the Z-axis is displayed on the color bar 52. The positions of the lines 53, 54, and 55 are variable depending on the operation on the
領域60には、検出された位置姿勢に配置されたワークモデル71における第1仮想平面との交差部分71aと、計測表面70における第1仮想平面との交差部分70aとが重畳表示される。
In the area 60, an intersection 71a of the
領域61には、検出された位置姿勢に配置されたワークモデル71における第2仮想平面との交差部分71bと、計測表面70における第2仮想平面との交差部分70bとが重畳表示される。
In the
領域62には、検出された位置姿勢に配置されたワークモデル71における第3仮想平面との交差部分71cと、計測表面70における第3仮想平面との交差部分70cとが重畳表示される。
In the area 62, an intersection 71c of the
このように、画像処理装置100は、X,Y,Z軸の各々について、検出された位置姿勢に配置されたワークモデル71における当該軸に直交する平面との交差部分と、計測表面70における当該平面との交差部分とを表示装置150に重畳表示させる。ユーザは、X,Y,Z軸の各々に直交する平面上での2つの交差部分のずれを確認することができる。当該ずれは、三次元サーチによるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、三次元サーチによるワークの位置姿勢の検出精度を確認しやすくなる。
In this way, the
§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
§2 Specific Example Next, a specific example of the control system according to the present embodiment will be described.
<A.画像処理装置のハードウェア構成例>
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
<A. Example of hardware configuration of image processing device>
The
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る画像処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。 When using such a general-purpose computer, in addition to the application for executing the image processing according to this embodiment, an OS (Operating System) for executing the basic processing of the computer is installed. may have been done. In this case, the program according to the present embodiment may call necessary modules at a predetermined timing in a predetermined sequence among the program modules provided as part of the OS to execute processing. good. That is, the program itself according to this embodiment does not include the above-mentioned modules, and the processing may be executed in cooperation with the OS. The program according to this embodiment may be in a form that does not include some of these modules.
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。 Furthermore, the program according to this embodiment may be provided by being incorporated into a part of another program. Even in that case, the program itself does not include modules included in other programs to be combined as described above, and processing is executed in cooperation with the other programs. That is, the program according to this embodiment may be incorporated into such another program. Note that part or all of the functions provided by executing the program may be implemented as a dedicated hardware circuit.
図7は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図7に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、計測ヘッドインターフェース116と、入力インターフェース118と、表示コントローラ120と、通信インターフェース124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
FIG. 7 is a schematic diagram showing an example of the hardware configuration of the image processing apparatus shown in FIG. As shown in FIG. 7, the
CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、計測ヘッド400によって取得された画像などを保持する。さらに、ハードディスク114には、後述するような各種データなどが格納される。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
The
計測ヘッドインターフェース116は、CPU110と計測ヘッド400との間のデータ伝送を仲介する。すなわち、計測ヘッドインターフェース116は、計測ヘッド400と接続される。計測ヘッドインターフェース116は、CPU110が発生した内部コマンドに従って、計測ヘッド400に対して投影コマンドおよび撮像コマンドを与える。計測ヘッドインターフェース116は、計測ヘッド400からの画像を一時的に蓄積するための画像バッファ116aを含む。計測ヘッドインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。
入力インターフェース118は、CPU110と入力装置160との間のデータ伝送を仲介する。すなわち、入力インターフェース118は、ユーザが入力装置160に入力した入力情報を受付ける。
表示コントローラ120は、表示装置150と接続され、CPU110における処理結果などをユーザに通知するように表示装置150の表示を制御する。
The
通信インターフェース124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェース124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読出す。また、データリーダ/ライタ126は、CPU110の内部指令に応答して、計測ヘッド400によって撮像された画像および/または画像処理装置100における処理結果などをメモリカード106へ書込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
Data reader/
<B.画像処理装置の機能構成例>
図8は、図1に示す画像処理装置の機能構成の一例を示すブロック図である。図8に示されるように、画像処理装置100は、ヘッド制御部10と、記憶部11と、画像処理部12と、UI(User Interface)処理部13とを備える。ヘッド制御部10は、図7に示すCPU110および計測ヘッドインターフェース116によって実現される。記憶部11は、図7に示すメインメモリ112およびハードディスク114によって実現される。画像処理部12は、図7に示すCPU110および通信インターフェース124によって実現される。UI処理部13は、図7に示すCPU110、入力インターフェース118および表示コントローラ120によって実現される。
<B. Functional configuration example of image processing device>
FIG. 8 is a block diagram showing an example of the functional configuration of the image processing apparatus shown in FIG. 1. As shown in FIG. 8, the
画像処理装置100は、動作モードとして通常モードおよび解析モードを有する。通常モードが選択された場合、ヘッド制御部10および画像処理部12が動作する。解析モードが選択された場合、ヘッド制御部10、画像処理部12およびUI処理部13が動作する。解析モードは、例えば生産ラインの立ち上げ時および定期的なメンテナンス時に選択される。
The
ヘッド制御部10は、計測ヘッド400の動作を制御する。ヘッド制御部10は、予め定められた投影パターン光の投影を指示する投影コマンドを計測ヘッド400に出力する。ヘッド制御部10は、投影パターン光が投影されている状態で撮像コマンドを計測ヘッド400に出力する。ヘッド制御部10は、計測ヘッド400から取得した画像データ11aを記憶部11に格納する。
The
記憶部11には、計測ヘッド400の撮像により得られた画像データ11aが格納される。さらに、記憶部11には、ワーク1の三次元形状を示すCAD(Computer Aided Design)データ11bと、ワーク1を把持するときのエンドエフェクタ30の位置姿勢を示す把持点データ11cとが予め格納される。さらに、記憶部11には、三次元サーチによって検出された位置姿勢に対する補正量(以下、「オフセット量」と称する。)を示すオフセットデータ11dも格納される。オフセットデータ11dは、UI処理部13によって生成される。オフセットデータ11dの詳細については後述する。
The
画像処理部12は、計測ヘッド400の撮像により得られた画像データ11aに対する処理を行なう。図8に示されるように、画像処理部12は、3D画像生成部14と、検出部15と、動作指令決定部16と、通信部17とを含む。
The
3D画像生成部14は、画像データ11aに基づいて、計測ヘッド400の視野領域における三次元計測を行ない、三次元点群データを生成する。三次元点群データは、計測ヘッド400の視野領域に存在する物体表面(計測表面)上の各点の三次元座標を示す。
The 3D
三次元点群データは、例えば、計測表面上のM×N個の点の三次元座標(x1,y1,z1),・・・,(xM、y1,zM),(x1,y2、zM+1),・・・,(xM,y2、z2M),・・・,(xM,yN,zNM)を示す。点(x1,y1),・・・,(xM、yN)は、撮像部402の光軸に直交するXY平面上にマトリクス状に配置されたM×N個の点を表す。なお、撮像部402が透視投影によって画像データ11aを生成する場合、当該画像データ11aに基づいて生成される三次元点群データで示される点群は、通常、XY平面上に投影したときにマトリクス状に配置されない。このような場合、3D画像生成部14は、XY平面上に投影したときにマトリクス状に配置されたM×N個の点群に対応するように三次元点群データの座標値を適宜補間し、三次元点群データで示される点群を再配置すればよい。
The three-dimensional point group data is, for example, three-dimensional coordinates (x 1 , y 1 , z 1 ), ..., (x M , y 1 , z M ), ( x 1 , y 2 , z M+1 ), ..., (x M , y 2 , z 2M ), ..., (x M , y N , z NM ). The points (x 1 , y 1 ), . . . , (x M , y N ) represent M×N points arranged in a matrix on the XY plane orthogonal to the optical axis of the
三次元計測処理として、例えば三角測距方式、同軸方式が採用され得る。三角測距方式は、撮像と投光との光軸を基線長分だけ離間させ、視差を距離に変換する方式である。三角測距方式には、アクティブ法とパッシブ法とが含まれる。アクティブ法には、構造化照明法、位相シフト法、空間コード法が含まれる。同軸方式は、撮像と測距手段との光軸を同一に設定する方式である。測距手段として、焦点方式が含まれる。また、同軸に近い方式としてTOF(Time of Flight)方式も含まれる。3D画像生成部14は、これらの方式のいずれかを用いて三次元計測処理を実行すればよい。例えば位相シフト法を用いて三次元計測処理が行なわれる。
As the three-dimensional measurement process, for example, a triangulation method or a coaxial method may be adopted. The triangular distance measurement method is a method in which the optical axes of imaging and light projection are separated by a base line length, and parallax is converted into distance. Triangulation methods include active methods and passive methods. Active methods include structured illumination methods, phase shift methods, and spatial code methods. The coaxial method is a method in which the optical axes of the imaging means and the distance measuring means are set to be the same. The distance measuring means includes a focusing method. Furthermore, a TOF (Time of Flight) method is also included as a method similar to coaxial. The 3D
位相シフト法は、正弦波状に濃淡を変化させた投影パターン光を被写体に投影した状態で撮像された画像(正弦波投影画像)を用いる方法である。濃淡の変化周期や位相を異ならせた投影パターンが複数用意され、計測ヘッド400の投影部401は、撮像部402の視野領域に対して、複数の投影パターン光を順次照射する。3D画像生成部14は、複数の投影パターンが投影されたときにそれぞれ撮像される画像データ11aの群(正弦波投影画像群)を記憶部11から読み出す。そして、3D画像生成部14は、これらの画像データ11a間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。
The phase shift method is a method that uses an image (sinusoidal projection image) that is captured while projecting a projection pattern of light whose density changes in a sinusoidal manner onto a subject. A plurality of projection patterns having different gradation cycles and phases are prepared, and the
検出部15は、三次元サーチによってワーク1の位置姿勢を検出する。具体的には、検出部15は、予め作成された複数のテンプレートデータと三次元点群データとを照合し、三次元点群データの中からテンプレートと類似するデータを抽出する。テンプレートデータは、CADデータ11bに基づいて予め作成される。典型的には、仮想空間上にCADデータ11bで示されるワークモデルと複数の仮想視点とを配置し、複数の仮想視点の各々から見たときのワークモデルの表面上の点の座標を示すテンプレートデータが作成される。検出部15は、三次元点群データの中から抽出した、テンプレートと類似するデータに基づいて、ワーク1の位置姿勢を検出する。検出部15によって検出されるワーク1の位置姿勢は、計測ヘッド400の撮像部402の座標系(カメラ座標系C(図2参照))で示される。なお、検出部15は、公知の検出アルゴリズムを用いて、ワーク1の位置姿勢を検出すればよい。
The
なお、検出部15は、複数のワーク1の位置姿勢を検出した場合、予め定められた選択基準に従って、当該複数のワーク1のうちの1つをピッキング対象として選択する。
Note that when detecting the positions and orientations of a plurality of
動作指令決定部16は、ピッキング対象のワーク1の位置姿勢に応じて、エンドエフェクタ30の動作を決定する。具体的には、動作指令決定部16は、検出部15によって検出された位置姿勢を示す座標変換行列CHWと、事前のキャリブレーションによって算出された座標変換行列BHCと、把持点データ11cで示される座標変換行列TMHWMとを上記の式(2)に代入することにより、座標変換行列BHTを算出する。画像処理装置100は、算出した座標変換行列BHTに従って、ロボットコントローラ200への動作指令を生成する。
The operation
ただし、動作指令決定部16は、記憶部11にオフセットデータ11dが格納されている場合、検出部15によって検出された位置姿勢を示す座標変換行列CHWをオフセットデータ11dが示すオフセット量だけ補正する。動作指令決定部16は、補正後の座標変換行列CHWを上記の式(2)に代入する。
However, if the offset
通信部17は、ロボットコントローラ200と通信可能であり、動作指令決定部16によって生成された動作指令をロボットコントローラ200に送信する。
The
UI処理部13は、画像処理装置100の動作およびロボット300の動作に関する情報をユーザに提供する処理を実行する。図8に示されるように、UI処理部13は、解析部18と設定部19とを含む。
The
解析部18は、3D画像生成部14によって生成された直近の三次元点群データと、当該三次元点群データに対する検出部15の検出結果(ワーク1の位置姿勢)とを取得する。解析部18は、取得した三次元点群データおよび検出結果に対する解析処理を実行し、解析結果を示す解析画面を表示装置150に表示する。解析画面の詳細については後述する。
The
設定部19は、三次元サーチによって検出された位置姿勢に対するオフセット量を設定する。後述するように解析部18によって表示装置150に表示される解析画面には、オフセット量を設定するための入力欄が設けられる。設定部19は、当該入力欄への入力に従ってオフセット量を設定する。設定部19は、設定したオフセット量を示すオフセットデータ11dを生成し、生成したオフセットデータ11dを記憶部11に格納する。
The setting
<C.解析画面>
図9は、図8に示す解析部によって表示装置に表示される解析画面の一例を示す図である。図9に例示される解析画面50aは、図6に示す解析画面50と同様に、領域51,60~62を含む。解析画面50aは、さらに、検出された位置姿勢に配置された1つのワークモデルを選択するための入力欄63と、オフセット量を入力するための入力欄64,65と、オフセット量を設定するためのOKボタン68とを含む。
<C. Analysis screen>
FIG. 9 is a diagram showing an example of an analysis screen displayed on a display device by the analysis section shown in FIG. 8. The analysis screen 50a illustrated in FIG. 9 includes areas 51, 60 to 62, similar to the analysis screen 50 illustrated in FIG. The analysis screen 50a further includes an input field 63 for selecting one workpiece model placed in the detected position/orientation, input fields 64 and 65 for inputting the offset amount, and input fields 64 and 65 for setting the offset amount. OK button 68.
解析部18は、3D画像生成部14から取得した三次元点群データで示される距離画像を領域51に表示する。さらに、解析部18は、検出部15から取得した検出結果で示されるワーク1の位置姿勢に配置したワークモデル71をXY平面に投影した領域の輪郭71dを距離画像に重畳表示する。具体的には、解析部18は、検出結果で示される位置姿勢と一致するようCADデータ11bの座標を変換する。ワークモデル71は、座標変換されたCADデータ11bによって示される。
The
解析部18は、距離画像上のライン53のX座標=x0に基づいて、X軸に直交する第1仮想平面を決定する。具体的には、解析部18は、x=x0で示される平面を第1仮想平面として決定する。
The
解析部18は、ワークモデル71における第1仮想平面との交差部分71aを領域60に表示する。上述したように、ワークモデル71は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される。解析部18は、座標変換されたCADデータ11bによって示される面要素(三角メッシュなど)と第1仮想平面との交線を交差部分71aとして表示させる。
The
さらに、解析部18は、三次元点群データで示される計測表面70における第1仮想平面との交差部分70aを領域60に表示する。すなわち、解析部18は、交差部分70aと交差部分71aとを重畳表示させる。
Furthermore, the
三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、ライン53のX座標は、所定ピッチΔx間隔のx1,・・・,xMのいずれかのみを取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第1仮想平面と同じX座標(=x0)を有する点の座標を抽出し、抽出した座標に基づいて、交差部分70aを領域60に表示させる。
When the three-dimensional point group data indicates the coordinates of M×N points on the measurement surface (x 1 , y 1 , z 1 ), ..., (x M , y N , z NM ), the line 53 The X coordinate may be set so that it can take only one of x 1 , . . . , x M at a predetermined pitch Δx interval. In this case, the
ライン53のX座標は、x1,・・・,xMだけでなく、他の値も取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第1仮想平面を挟み込む2つの点からなるペアをN個抽出する。ペアは、X軸方向に沿った距離が所定ピッチΔx以下となる2点からなる。例えば、第1仮想平面のX座標x0がxk-1<x0<xkである場合、N個のペアは、点(xk-1,yi,z(i-1)M+k-1)と点(xk,yi,z(i-1)M+k)とからなるペア(iは1~Nの整数)である。解析部18は、N個のペアの各々について、当該ペアを構成する2つの点の座標を用いた補間演算により、三次元点群データで示される計測表面と第1仮想平面との交線上の点の座標を求める。例えば、解析部18は、座標(xk-1,y1,zk-1)と座標(xk,y1,zk)とを用いて、計測表面と第1仮想平面との交線上の点の座標(x0,y1,{(xk-x0)zk-1+(x0-xk-1)zk}/(xk-xk-1))を演算する。
The X coordinate of the line 53 may be set to take not only x 1 , . . . , x M but also other values. In this case, the
解析部18は、ライン53の位置が変更されるたびに、変更後のライン53の位置に応じて領域60に表示される交差部分70a,71aを更新する。これにより、ユーザは、ライン53の位置を変更することにより、所望の位置の第1仮想平面上の交差部分70a,71aの相対位置関係を確認できる。
Every time the position of the line 53 is changed, the
解析部18は、距離画像上のライン54のY座標=y0に基づいて、Y軸に直交する第2仮想平面を決定する。具体的には、解析部18は、y=y0で示される平面を第2仮想平面として決定する。
The
解析部18は、ワークモデル71における第2仮想平面との交差部分71bを領域61に表示する。解析部18は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される面要素と第2仮想平面との交線を交差部分71bとして表示させる。
The
さらに、解析部18は、三次元点群データで示される計測表面70における第2仮想平面との交差部分70bを領域61に表示する。すなわち、解析部18は、交差部分70bと交差部分71bとを重畳表示させる。
Furthermore, the
三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、ライン54のY座標は、所定ピッチΔy間隔のy1,・・・,yNのいずれかのみを取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第2仮想平面と同じY座標(=y0)を有する点の座標を抽出し、抽出した座標に基づいて、交差部分70bを領域61に表示させる。
When the three-dimensional point group data indicates the coordinates (x 1 , y 1 , z 1 ), ..., (x M , y N , z NM ) of M×N points on the measurement surface, the line 54 The Y coordinate may be set so that it can take only one of y 1 , . . . , y N at a predetermined pitch Δy interval. In this case, the
ライン54のY座標は、y1,・・・,yNだけでなく、他の値も取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第2仮想平面を挟み込む2つの点からなるペアをM個抽出する。ペアは、Y軸方向に沿った距離が所定ピッチΔy以下となる2点からなる。例えば、第2仮想平面のY座標y0がyk-1<y0<ykである場合、M個のペアは、点(xj,yk-1,z(k-1)M+j)と点(xj,yk,zkM+j)とからなるペア(jは1~Mの整数)である。解析部18は、M個のペアの各々について、当該ペアを構成する2つの点の座標を用いた補間演算により、三次元点群データで示される計測表面と第1仮想平面との交線上の点の座標を求める。例えば、解析部18は、座標(x1,yk-1,z(k-1)M+1)と座標(x1,yk,zkM+1)とを用いて、計測表面と第2仮想平面との交線上の点の座標(x1,y0,{(yk-y0)z(k-1)M+1+(y0-yk-1)zkM+1}/(yk-yk-1))を演算する。
The Y coordinate of the line 54 may be set to take not only y 1 , . . . , y N but also other values. In this case, the
解析部18は、ライン54の位置が変更されるたびに、変更後のライン54の位置に応じて領域61に表示される交差部分70b,71bを更新する。これにより、ユーザは、ライン54の位置を変更することにより、所望の位置の第2仮想平面上の交差部分70b,71bの相対位置関係を確認できる。
Every time the position of the line 54 is changed, the
解析部18は、カラーバー52上のライン55のZ座標=z0に基づいて、Z軸に直交する第3仮想平面を決定する。具体的には、解析部18は、z=z0で示される平面を第3仮想平面として決定する。
The
解析部18は、ワークモデル71における第3仮想平面との交差部分71cを領域62に表示する。解析部18は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される面要素と第3仮想平面との交線を交差部分71cとして表示させる。
The
さらに、解析部18は、三次元点群データで示される計測表面70における第3仮想平面との交差部分70cを領域62に表示する。すなわち、解析部18は、交差部分70cと交差部分71cとを重畳表示させる。
Furthermore, the
三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、解析部18は、三次元点群データから、第3仮想平面を挟み込む2つの点からなるペアを抽出する。ペアは、X軸方向に沿った距離が所定ピッチΔx以下となる2点、または、Y軸方向に沿った距離が所定ピッチΔy以下となる2点からなる。解析部18は、各ペアについて、当該ペアを構成する2つの点の座標を用いた補間演算により、三次元点群データで示される計測表面と第3仮想平面との交線上の点の座標を求める。例えば、解析部18は、1つのペアを構成する2つの点の座標(x1,y1,z1),(x2,y1,z2)(ただし、z1およびz2は、z1<z0<z2またはz2<z0<z1を満たす)を用いて、計測表面と第3仮想平面との交線上の点の座標({(|z2-z0|)x1+(|z0-z1|)x2}/(|z2-z1|),y1,z0)を演算する。同様に、解析部18は、1つのペアを構成する2つの点の座標(x1,y1,z1),(x1,y2,zM+1)(ただし、z1およびzM+1は、z1<z0<zM+1またはzM+1<z0<z1を満たす)を用いて、計測表面と第3仮想平面との交線上の点の座標(x1,{(|zM+1-z0|)y1+(|z0-z1|)y2}/(|zM+1-z1|),z0)を演算する。
When the three-dimensional point group data indicates the coordinates (x 1 , y 1 , z 1 ), ..., (x M , y N , z NM ) of M×N points on the measurement surface, the
解析部18は、ライン55の位置が変更されるたびに、変更後のライン55の位置に応じて領域62に表示される交差部分70c,71cを更新する。これにより、ユーザは、ライン55の位置を変更することにより、所望の位置の第3仮想平面上の交差部分70b,71bの相対位置関係を確認できる。
Every time the position of the line 55 is changed, the
解析部18は、検出部15から取得した検出結果で示される1以上のワーク1の位置姿勢の各々に対してユニークな識別番号を付与する。
The
入力欄63には、オフセット量を設定するために用いる1つのワークモデル71に対応する識別番号が入力される。解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71に対応する輪郭71dおよび交差部分71a~71cを領域51,60~62においてそれぞれ強調表示させる。図9に例示される解析画面50aでは、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71に対応する輪郭71d_sおよび交差部分71a_s~71c_sが太線で表示されている。
In the input field 63, an identification number corresponding to one
入力欄64には、オフセット量の並進成分(X軸、Y軸およびZ軸の各々の並進成分)が入力される。入力欄64にオフセット量の並進成分が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s~71c_sを当該並進成分だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。
In the input field 64, translational components of the offset amount (translational components of each of the X-axis, Y-axis, and Z-axis) are input. When the translational component of the offset amount is input into the input field 64, the
入力欄65には、オフセット量の回転成分(X軸、Y軸およびZ軸の各々の並進成分)が入力される。入力欄65は、回転中心を設定するためのラジオボタン群66を含む。ラジオボタン群66は、クリック位置を回転中心に設定するためのラジオボタンと、ワークモデル71の重心を回転中心に設定するためのラジオボタンと、ワークモデル71を示す座標変換後のCADデータ11bの原点を回転中心に設定するためのラジオボタンとを含む。
In the input field 65, rotational components (translational components of each of the X-axis, Y-axis, and Z-axis) of the offset amount are input. The input field 65 includes a radio button group 66 for setting the rotation center. The radio button group 66 includes a radio button for setting the click position to the center of rotation, a radio button for setting the center of gravity of the
さらに、入力欄65は、回転角度を入力するための入力欄67を含む。入力欄67に回転角度が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s~71c_sを当該回転角度だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。このとき、解析部18は、ラジオボタン群66においてチェックされたラジオボタンに対応する位置を回転中心とする。
Furthermore, the input field 65 includes an input field 67 for inputting a rotation angle. When a rotation angle is input in the input field 67, the
設定部19は、OKボタン68が操作されると、入力欄64,65への入力に従って、オフセット量を設定する。設定部19は、設定したオフセット量を示すオフセットデータ11dを生成する。オフセットデータ11dは、座標変換行列で表される。図9に示す解析画面50aは入力欄64,65の両方を含む。これにより、設定部19は、オフセット量の回転成分および並進成分の両方を設定できる。しかしながら、入力欄64,65の一方が省略されてもよい。この場合、設定部19は、オフセット量の回転成分および並進成分の一方のみ設定すればよい。
When the OK button 68 is operated, the setting
設定部19は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s~71c_sに対する移動操作(ドラッグ操作)を受け付けてもよい。設定部19は、ドラッグ操作に応じて入力欄64,65の数値を変更してもよい。すなわち、設定部19は、ワークモデル71_sの交差部分71a_s~71c_sに対する移動操作に従って、オフセット量を設定してもよい。
The setting
例えば、領域60に表示されている交差部分71a_sに対する並進移動操作により、設定部19は、オフセット量のY軸方向およびZ軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。領域61に表示されている交差部分71b_sに対する並進移動により、設定部19は、オフセット量のX軸方向およびZ軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。領域62に表示されている交差部分71c_sに対する並進移動により、設定部19は、オフセット量のX軸方向およびY軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。
For example, the setting
また、領域60に表示されている交差部分71a_sに対する回転移動操作により、設定部19は、X軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域61に表示されている交差部分71b_sに対する回転移動操作により、設定部19は、Y軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域62に表示されている交差部分71c_sに対する回転移動操作により、設定部19は、Z軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。
Further, by performing a rotational movement operation on the intersection portion 71a_s displayed in the area 60, the setting
図10は、ドラッグ操作によりオフセット量の回転成分の入力を受け付けるときの画面例を示す図である。図10には、Y軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けるときの画面例が示される。図10に示されるように、設定部19は、回転中心を示すマーク72を表示させる。マーク72の位置は、ラジオボタン群66においてチェックされたラジオボタンに対応する。設定部19は、交差部分71b_sに対するドラッグ操作(矢印73の方向のドラッグ操作)に応じて、Y軸に平行な軸を中心とする回転角度の入力を受け付ける。
FIG. 10 is a diagram showing an example of a screen when receiving input of a rotational component of an offset amount by a drag operation. FIG. 10 shows an example of a screen when accepting input of a rotational component of an offset amount about an axis parallel to the Y-axis. As shown in FIG. 10, the setting
<D.オフセット量の第1の設定例>
図4および図5を用いて上述したように、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71は、三次元点群データで示される計測表面70に対して常に一定方向に並進または回転し得る。ユーザは、図8に例示される解析画面50aを確認することにより、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれを確認できる。このようなずれが確認されたことに応じて、ユーザは、例えば検出アルゴリズムを見直す対応を取ることができる。しかしながら、一般に検出アルゴリズムは複雑であり、ユーザは、このような対応を簡単に取ることができない。そこで、ユーザは、このようなずれを解消するためのオフセット量を入力すればよい。
<D. First setting example of offset amount>
As described above using FIGS. 4 and 5, due to a quirk of the detection algorithm, the
図11は、オフセット量の第1の設定例を示す図である。図11において、(a)にはオフセット量を設定する前の状態が示され、(b)にはオフセット量を設定した後の状態が示される。図11において、下部には、検出された位置姿勢に配置したワークモデル71と計測表面70が示され、上部には、ワーク1とワーク1を把持するときのエンドエフェクタ30とが示される。
FIG. 11 is a diagram showing a first setting example of the offset amount. In FIG. 11, (a) shows the state before setting the offset amount, and (b) shows the state after setting the offset amount. In FIG. 11, the
図11には、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71が計測表面70に対して-Z方向に並進している例が示される。この場合、(a)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)よりも-Z方向に移動する。その結果、例えば爪33が他のワーク1と衝突する可能性が高くなる。
FIG. 11 shows an example in which a
そのため、ユーザは、ワークモデル71と計測表面70とのずれが小さくなるようにオフセット量を入力する。具体的には、ユーザは、+Z方向の並進成分を入力する。これにより、(b)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)に近づく。その結果、例えば爪33が他のワーク1と衝突する可能性を低減できる。
Therefore, the user inputs an offset amount so that the deviation between the
<E.オフセット量の第2の設定例>
上述したように、動作指令決定部16は、上記の式(2)を用いて動作指令を生成する。式(2)において、座標変換行列BHCには、キャリブレーションの誤差に起因する成分が含まれる。座標変換行列CHWには、ワーク1の実際の寸法とCADデータ11bで示されるワークモデルの寸法との誤差(製造公差、ワーク1の製造装置の経年変化による誤差などを含む)に起因する成分が含まれる。さらに、上記の式(2)を用いて算出した座標変換行列BHTに従って動作指令を生成したとしても、ロボット300の経年変化、ロボット300の周囲の温度の影響により、動作指令とロボット300の実際の動作とに誤差が生じ得る。これらの原因により、ワークモデル71と計測表面70とのずれが小さい場合であっても、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)と一致しないことがある。
<E. Second setting example of offset amount>
As described above, the motion
図12は、検出された位置姿勢に配置したワークモデルとワークとの並進ずれの一例を示す図である。図12に示す例では、ワーク1の実際の位置は、ワークモデル71の位置よりも-Z方向にずれている。そのため、エンドエフェクタ30によってワーク1が把持されない可能性がある。
FIG. 12 is a diagram illustrating an example of a translational shift between a workpiece model and a workpiece placed in the detected position and orientation. In the example shown in FIG. 12, the actual position of the
図13は、検出された位置姿勢に配置したワークモデルとワークとの回転ずれの一例を示す図である。ワーク1が細長い形状を有している場合、ワーク1の長手方向とXY平面とのなす角度が少し異なっていても、計測ヘッド400の撮像部402から見たときのワーク1の形状の変化が小さい。そのため、図13に示されるように、ワーク1の長手方向とXY平面との実際のなす角度は、ワークモデル71の長手方向とXY平面とのなす角度からずれ得る。そのため、エンドエフェクタ30によってワーク1が把持されない可能性がある。
FIG. 13 is a diagram illustrating an example of rotational deviation between a workpiece model and a workpiece placed in the detected position and orientation. When the
このようなケースであっても、ユーザは、図8に解析画面50aにおいてオフセット量を入力することができる。ユーザは、エンドエフェクタ30がワーク1を把持するときの状態を確認し、当該状態に応じてオフセット量を入力すればよい。
Even in such a case, the user can input the offset amount on the analysis screen 50a shown in FIG. The user only has to check the state in which the
図14は、オフセット量の第2の設定例を示す図である。図11と同様に、(a)にはオフセット量を設定する前の状態が示され、(b)にはオフセット量を設定した後の状態が示される。下部には、検出された位置姿勢に配置したワークモデル71と計測表面70が示され、上部には、ワーク1とエンドエフェクタ30との相対位置関係が示される。
FIG. 14 is a diagram showing a second setting example of the offset amount. Similar to FIG. 11, (a) shows the state before setting the offset amount, and (b) shows the state after setting the offset amount. In the lower part, the
図14には、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれが小さい例が示される。しかしながら、(a)の上部に示されるように、上記の原因により、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)よりも+Z方向に移動している。そのため、ワーク1を把持できない可能性がある。
FIG. 14 shows an example in which the deviation between the
このような場合、ユーザは、エンドエフェクタ30がワーク1を把持できるようにオフセット量を入力すればよい。具体的には、ユーザは、-Z方向の並進成分を入力する。このとき、ワークモデル71と計測表面70とのずれ量は、オフセット量に対応する。そのため、ユーザは、解析画面50aに表示される計測表面70を参考にしながら適切なオフセット量を入力することができる。適切なオフセット量が設定されることにより、(b)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)に近づく。その結果、エンドエフェクタ30は、ワーク1を正確に把持できる。
In such a case, the user may input an offset amount so that the
<F.解析モード時の画像処理装置の処理の流れ>
図15は、解析モード時の画像処理装置の処理の流れを示すフローチャートである。まず、CPU110は、計測ヘッド400から取得した画像データ11aに基づいて、視野領域の物体表面(計測表面)を示す三次元点群データを生成する(ステップS1)。CPU110は、三次元点群データとワーク1の三次元形状を示すモデル(CADデータ11bで示されるワークモデル)とに基づいて、ワーク1の位置姿勢を検出する(ステップS2)。
<F. Processing flow of the image processing device in analysis mode>
FIG. 15 is a flowchart showing the process flow of the image processing apparatus in the analysis mode. First, the
CPU110は、X軸、Y軸およびZ軸の各々について、検出された位置姿勢に配置されたワークモデル71における当該軸に直交する平面との交差部分と、三次元点群データで示される計測表面における当該平面との交差部分とを表示装置150に重畳表示する(ステップS3)。具体的には、図8に示すような解析画面50aが表示装置150に表示される。CPU110は、解析画面50aへの入力に従って、検出された位置姿勢に対するオフセット量を設定する(ステップS4)。ステップS4の後、画像処理装置100は、解析モードの処理を終了する。
For each of the X-axis, Y-axis, and Z-axis, the
<G.通常モード時の画像処理装置の処理の流れ>
図16は、通常モード時の画像処理装置の処理の流れを示すフローチャートである。まず、CPU110は、計測ヘッド400から取得した画像データ11aに基づいて、視野領域の物体表面(計測表面)を示す三次元点群データを生成する(ステップS11)。CPU110は、三次元点群データとワーク1の三次元形状を示すモデル(CADデータ11bで示されるワークモデル)とに基づいて、ワーク1の位置姿勢を検出する(ステップS12)。
<G. Processing flow of the image processing device in normal mode>
FIG. 16 is a flowchart showing the flow of processing of the image processing apparatus in normal mode. First, the
CPU110は、解析モードにおいて設定されたオフセット量だけ、検出されたワーク1の位置姿勢を補正する(ステップS13)。CPU110は、補正された位置姿勢に応じて、ワーク1をピッキングするロボット300の動作を決定する(ステップS14)。CPU110は、決定した動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する(ステップS15)。ステップS15の後、画像処理装置100は、通常モードの処理を終了する。
The
<H.変形例>
上記の説明では、解析画面50,50aの領域60~62には、X,Y,Z軸に直交する仮想平面と、ワークモデル71および計測表面70との交差部分がそれぞれ表示される。しかしながら、仮想平面を定義付ける1以上の軸は、X,Y,Z軸に限定されず、例えば、X,Y,Z軸から所定角度だけ傾斜した、互いに直交する3つの軸であってもよい。また、仮想平面を定義付ける軸の方向は、ユーザの操作によって可変であってもよい。これにより、ユーザは、確認したい方向に軸を適宜変更することができる。
<H. Modified example>
In the above description, the areas 60 to 62 of the analysis screens 50 and 50a display the intersections of virtual planes perpendicular to the X, Y, and Z axes, and the
<I.作用・効果>
以上のように、本実施の形態に係る画像処理装置100は、3D画像生成部14と、検出部15と、解析部18とを備える。3D画像生成部14は、ワーク1が視野領域に含まれるように設置された撮像部402から得られる画像に基づいて、視野領域の三次元点群データを生成する。検出部15は、三次元点群データとワーク1の三次元形状を示すワークモデルとに基づいてワーク1の位置姿勢を検出する。解析部18は、1以上の軸の各々について、検出部15によって検出された位置姿勢に配置されたワークモデルにおける当該軸に直交する仮想平面との交差部分と、三次元点群データで示される計測表面における仮想平面との交差部分とを表示装置150に重畳表示させる。
<I. Action/Effect>
As described above, the
上記の構成によれば、ユーザは、各軸に直交する仮想平面上での2つの交差部分のずれを確認することができる。当該ずれは、三次元サーチによるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、三次元サーチによるワークの位置姿勢の検出精度を確認しやすくなる。 According to the above configuration, the user can check the displacement of two intersections on the virtual plane orthogonal to each axis. The deviation depends on the detection accuracy of the position and orientation of the workpiece by three-dimensional search. Therefore, the user can easily confirm the detection accuracy of the position and orientation of the workpiece by three-dimensional search.
1以上の軸の各々について、当該軸の方向および当該軸上における仮想平面の位置の少なくとも一方は可変である。これにより、ユーザは、所望の位置に仮想平面を移動し、当該仮想平面とワークモデル71および計測表面70との交差部分を確認できる。
For each of the one or more axes, at least one of the direction of the axis and the position of the virtual plane on the axis is variable. Thereby, the user can move the virtual plane to a desired position and check the intersection of the virtual plane,
1以上の軸は、互いに直交する3つの軸を含む。これにより、ユーザは、互いに直交する3つの軸にそれぞれ直交する3つの仮想平面とワークモデル71および計測表面70との交差部分を同時に確認できる。
The one or more axes include three mutually orthogonal axes. This allows the user to simultaneously confirm the intersections of the
画像処理装置100は、設定部19と、動作指令決定部16とをさらに備える。設定部19は、検出された位置姿勢に対するオフセット量を設定する。動作指令決定部16は、検出された位置姿勢からオフセット量だけ移動させた位置姿勢に応じて、ワーク1をピッキングするロボット300の動作を決定する。これにより、ユーザは、オフセット量を指定することにより、ロボットの動作を適宜調整できる。なお、オフセット量は、並進成分および回転成分の少なくとも一方を含む。
The
設定部19は、表示装置150に表示されたワークモデルに対する移動操作に従って、オフセット量を設定する。これにより、ユーザは、ワークモデルに対する移動操作を行なうことにより、オフセット量を容易に指定することができる。
The setting
解析部18は、表示装置150に表示されているワークモデルをオフセット量だけ移動させる。これにより、ユーザは、表示装置150に表示されているワークモデルの移動量を確認することにより、オフセット量の大きさを視覚的に認識できる。
The
<J.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
<J. Additional notes>
As described above, the present embodiment and the modified examples include the following disclosures.
(構成1)
画像処理装置(100)であって、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成する生成部(110,14)と、
前記三次元点群データと前記対象物(1)の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出する検出部(110,15)と、
1以上の軸の各々について、前記検出部(110,15)によって検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させる解析部(110,18)とを備える、画像処理装置(100)。
(Configuration 1)
An image processing device (100),
a generation unit (110, 14) that generates three-dimensional point cloud data of the visual field based on an image obtained from an imaging device (400, 402) installed such that the object (1) is included in the visual field; and,
a detection unit (110, 15) that detects the position and orientation of the object (1) based on the three-dimensional point group data and a model indicating the three-dimensional shape of the object (1);
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the position and orientation detected by the detection unit (110, 15) and the three-dimensional point group data. An image processing device (100) comprising an analysis unit (110, 18) that causes a display device (150) to display a second intersecting portion of the shown plane with the plane in a superimposed manner.
(構成2)
前記1以上の軸の各々について、当該軸の方向および当該軸上における前記平面の位置の少なくとも一方は可変である、構成1に記載の画像処理装置(100)。
(Configuration 2)
The image processing device (100) according to
(構成3)
前記1以上の軸は、互いに直交する3つの軸を含む、構成1または2に記載の画像処理装置(100)。
(Configuration 3)
The image processing device (100) according to
(構成4)
前記検出された位置姿勢に対するオフセット量を設定する設定部(110,19)と、
前記検出された位置姿勢から前記オフセット量だけ移動させた位置姿勢に応じて、前記対象物をピッキングするロボットの動作を決定する決定部(110,16)とをさらに備える、構成1から3のいずれかに記載の画像処理装置(100)。
(Configuration 4)
a setting unit (110, 19) that sets an offset amount for the detected position and orientation;
Any one of
(構成5)
前記設定部(110,19)は、前記表示装置(150)に表示された前記モデルに対する移動操作に従って、前記オフセット量を設定する、構成4に記載の画像処理装置(100)。
(Configuration 5)
The image processing device (100) according to configuration 4, wherein the setting unit (110, 19) sets the offset amount according to a movement operation for the model displayed on the display device (150).
(構成6)
前記解析部(110,19)は、前記表示装置(150)に表示されている前記モデルを前記オフセット量だけ移動させる、構成4に記載の画像処理装置(100)。
(Configuration 6)
The image processing device (100) according to configuration 4, wherein the analysis unit (110, 19) moves the model displayed on the display device (150) by the offset amount.
(構成7)
前記オフセット量は、並進成分および回転成分の少なくとも一方を含む、構成4から6のいずれかに記載の画像処理装置(100)。
(Configuration 7)
The image processing device (100) according to any one of configurations 4 to 6, wherein the offset amount includes at least one of a translational component and a rotational component.
(構成8)
画像処理方法であって、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させるステップとを備える、画像処理方法。
(Configuration 8)
An image processing method, comprising:
generating three-dimensional point cloud data of the visual field based on images obtained from imaging devices (400, 402) installed such that the object (1) is included in the visual field;
detecting the position and orientation of the object (1) based on the three-dimensional point group data and a model indicating the three-dimensional shape of the object;
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the detected position and orientation, and a first intersection with the plane in the plane indicated by the three-dimensional point group data. An image processing method comprising the step of superimposing and displaying the two intersections on a display device (150).
(構成9)
画像処理方法をコンピュータに実行させるプログラムであって、
前記画像処理方法は、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物(1)の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させるステップとを備える、プログラム。
(Configuration 9)
A program that causes a computer to execute an image processing method,
The image processing method includes:
generating three-dimensional point cloud data of the visual field based on images obtained from imaging devices (400, 402) installed such that the object (1) is included in the visual field;
detecting the position and orientation of the object (1) based on the three-dimensional point group data and a model representing the three-dimensional shape of the object (1);
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the detected position and orientation, and a first intersection with the plane in the plane indicated by the three-dimensional point group data. A program comprising: displaying the two intersections in a superimposed manner on a display device (150).
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although the embodiments of the present invention have been described, the embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims, and it is intended that all changes within the meaning and range equivalent to the claims are included.
1 ワーク、1M,71 ワークモデル、2 コンテナ、10 ヘッド制御部、11 記憶部、11a 画像データ、11b CADデータ、11c 把持点データ、11d オフセットデータ、12 画像処理部、13 UI処理部、14 3D画像生成部、15 検出部、16 動作指令決定部、17 通信部、18 解析部、19 設定部、30 エンドエフェクタ、30M エンドエフェクタモデル、31 多関節アーム、32 ベース、33 爪、50,50a 解析画面、51,60,61,62 領域、52 カラーバー、53,54,55 ライン、63,64,65,67 入力欄、66 ラジオボタン群、68 OKボタン、70 計測表面、70a,70b,70c,71a,71b,71c 交差部分、71d 輪郭、72 マーク、73 矢印、100 画像処理装置、106 メモリカード、110 CPU、112 メインメモリ、114 ハードディスク、116 計測ヘッドインターフェース、116a 画像バッファ、118 入力インターフェース、120 表示コントローラ、124 通信インターフェース、126 データリーダ/ライタ、128 バス、150 表示装置、160 入力装置、200 ロボットコントローラ、300 ロボット、400 計測ヘッド、401 投影部、402 撮像部、SYS 制御システム。 1 workpiece, 1M, 71 work model, 2 container, 10 head control unit, 11 storage unit, 11a image data, 11b CAD data, 11c grip point data, 11d offset data, 12 image processing unit, 13 UI processing unit, 14 3D Image generation section, 15 Detection section, 16 Operation command determination section, 17 Communication section, 18 Analysis section, 19 Setting section, 30 End effector, 30M End effector model, 31 Multi-joint arm, 32 Base, 33 Claw, 50, 50a Analysis Screen, 51, 60, 61, 62 Area, 52 Color bar, 53, 54, 55 Line, 63, 64, 65, 67 Input field, 66 Radio button group, 68 OK button, 70 Measurement surface, 70a, 70b, 70c , 71a, 71b, 71c intersection, 71d contour, 72 mark, 73 arrow, 100 image processing device, 106 memory card, 110 CPU, 112 main memory, 114 hard disk, 116 measurement head interface, 116a image buffer, 118 input interface, 120 display controller, 124 communication interface, 126 data reader/writer, 128 bus, 150 display device, 160 input device, 200 robot controller, 300 robot, 400 measurement head, 401 projection unit, 402 imaging unit, SYS control system.
Claims (9)
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成する生成部と、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出する検出部と、
1以上の軸の各々について、前記検出部によって検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させる解析部と、
前記検出された位置姿勢に対するオフセット量を設定する設定部とを備える、画像処理装置。 An image processing device,
a generation unit that generates three-dimensional point group data of the visual field based on an image obtained from an imaging device installed such that the target object is included in the visual field;
a detection unit that detects the position and orientation of the object based on the three-dimensional point group data and a model indicating the three-dimensional shape of the object;
For each of one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the position and orientation detected by the detection unit, and an analysis unit that displays a second intersection with the plane in a superimposed manner on a display device ;
An image processing apparatus, comprising : a setting section that sets an offset amount for the detected position and orientation .
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させるステップと、
前記検出された位置姿勢に対するオフセット量を設定するステップとを備える、画像処理方法。 An image processing method, comprising:
generating three-dimensional point cloud data of the viewing area based on an image obtained from an imaging device installed such that the object is included in the viewing area;
detecting the position and orientation of the object based on the three-dimensional point group data and a model representing the three-dimensional shape of the object;
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the detected position and orientation, and a first intersection with the plane in the plane indicated by the three-dimensional point group data. displaying the two intersections in a superimposed manner on a display device ;
An image processing method, comprising : setting an offset amount for the detected position and orientation .
前記画像処理方法は、
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させるステップと、
前記検出された位置姿勢に対するオフセット量を設定するステップとを備える、プログラム。 A program that causes a computer to execute an image processing method,
The image processing method includes:
generating three-dimensional point cloud data of the viewing area based on an image obtained from an imaging device installed such that the object is included in the viewing area;
detecting the position and orientation of the object based on the three-dimensional point group data and a model representing the three-dimensional shape of the object;
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the detected position and orientation, and a first intersection with the plane in the plane indicated by the three-dimensional point group data. displaying the two intersections in a superimposed manner on a display device ;
A program comprising: setting an offset amount for the detected position and orientation .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019145441A JP7439410B2 (en) | 2019-08-07 | 2019-08-07 | Image processing device, image processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019145441A JP7439410B2 (en) | 2019-08-07 | 2019-08-07 | Image processing device, image processing method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021024052A JP2021024052A (en) | 2021-02-22 |
JP7439410B2 true JP7439410B2 (en) | 2024-02-28 |
Family
ID=74664251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019145441A Active JP7439410B2 (en) | 2019-08-07 | 2019-08-07 | Image processing device, image processing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7439410B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240269845A1 (en) * | 2021-05-28 | 2024-08-15 | Kyocera Corporation | Hold position determination device and hold position determination method |
CN116611963B (en) * | 2023-05-23 | 2024-05-24 | 中建安装集团有限公司 | Engineering data monitoring and analyzing system and method based on Internet of things |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045587A (en) | 2016-09-16 | 2018-03-22 | 株式会社トプコン | Image processing device, image processing method, and image processing program |
JP2018126862A (en) | 2018-05-14 | 2018-08-16 | キヤノン株式会社 | Interference determination apparatus, interference determination method, and computer program |
JP2018144160A (en) | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | Robot setting device, robot setting method, robot setting program, computer-readable recording medium, and recorded device |
-
2019
- 2019-08-07 JP JP2019145441A patent/JP7439410B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045587A (en) | 2016-09-16 | 2018-03-22 | 株式会社トプコン | Image processing device, image processing method, and image processing program |
JP2018144160A (en) | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | Robot setting device, robot setting method, robot setting program, computer-readable recording medium, and recorded device |
JP2018126862A (en) | 2018-05-14 | 2018-08-16 | キヤノン株式会社 | Interference determination apparatus, interference determination method, and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP2021024052A (en) | 2021-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6180087B2 (en) | Information processing apparatus and information processing method | |
EP2636493B1 (en) | Information processing apparatus and information processing method | |
JP6427972B2 (en) | Robot, robot system and control device | |
JP6271953B2 (en) | Image processing apparatus and image processing method | |
EP1413850B1 (en) | Optical sensor for measuring position and orientation of an object in three dimensions | |
KR20140008262A (en) | Robot system, robot, robot control device, robot control method, and robot control program | |
WO2020217878A1 (en) | Device, method, and program for detecting position and orientation of object | |
JP6892286B2 (en) | Image processing equipment, image processing methods, and computer programs | |
JP6703812B2 (en) | 3D object inspection device | |
JP2017118396A (en) | Program, device and method for calculating internal parameter of depth camera | |
JP2004062758A (en) | Information processor and information processing method | |
JP7180783B2 (en) | CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD | |
JP7331527B2 (en) | Apparatus, method and program for determining robot motion | |
JP7439410B2 (en) | Image processing device, image processing method and program | |
JP5858773B2 (en) | Three-dimensional measurement method, three-dimensional measurement program, and robot apparatus | |
US11158080B2 (en) | Information processing method, information processing device, object detection apparatus, and robot system | |
JP7454132B2 (en) | Robot system control device, robot system control method, computer control program, and robot system | |
JP2019098409A (en) | Robot system and calibration method | |
JP7564327B2 (en) | Teaching Device | |
JP2009175012A (en) | Measurement device and measurement method | |
JP7249221B2 (en) | SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD | |
CN113597362A (en) | Method and control device for determining a relation between a robot coordinate system and a movable device coordinate system | |
JP7502343B2 (en) | Image Processing System | |
JP7423387B2 (en) | Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device | |
JP7533265B2 (en) | Support system, image processing device, support method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231212 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7439410 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |