JP2021024052A - Image processing device, image processing method and program - Google Patents

Image processing device, image processing method and program Download PDF

Info

Publication number
JP2021024052A
JP2021024052A JP2019145441A JP2019145441A JP2021024052A JP 2021024052 A JP2021024052 A JP 2021024052A JP 2019145441 A JP2019145441 A JP 2019145441A JP 2019145441 A JP2019145441 A JP 2019145441A JP 2021024052 A JP2021024052 A JP 2021024052A
Authority
JP
Japan
Prior art keywords
image processing
orientation
work
point cloud
cloud data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019145441A
Other languages
Japanese (ja)
Other versions
JP7439410B2 (en
Inventor
豊男 飯田
Toyoo Iida
豊男 飯田
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2019145441A priority Critical patent/JP7439410B2/en
Publication of JP2021024052A publication Critical patent/JP2021024052A/en
Application granted granted Critical
Publication of JP7439410B2 publication Critical patent/JP7439410B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

To provide an image processing device which allows a user to easily confirm the detection accuracy of a position attitude of an object.SOLUTION: An image processing device comprises a generation unit, a detection unit and an analysis unit. The generation unit generates three-dimensional point cloud data of a visual area on the basis of an image obtained from an imaging device installed such that an object is included in the visual area. The detection unit detects the position attitude of the object on the basis of the three-dimensional point cloud data and a model indicating the three-dimensional shape of the object. The analysis unit displays on a display device a first intersection portion with a plane orthogonal to an axis in the model arranged in the position attitude detected by the detection unit for each of one or more axes and a second intersection portion with a plane on a surface indicated by the three-dimensional point cloud data in a superimposed manner.SELECTED DRAWING: Figure 6

Description

本技術は、画像処理装置、画像処理方法およびプログラムに関する。 The present technology relates to image processing devices, image processing methods and programs.

従来、視覚センサを用いて、バラ積みされた対象物であるワークの位置姿勢を検出し、検出結果に基づいてロボットによるワークのピッキング動作を制御する画像処理装置が知られている。 Conventionally, there is known an image processing device that uses a visual sensor to detect the position and orientation of workpieces that are piled up separately and controls the picking operation of the workpiece by a robot based on the detection result.

特開2018−146347号公報(特許文献1)には、三次元計測により取得した三次元計測データに対して、ワークモデルを用いた三次元サーチ処理を実行し、ワークの位置姿勢を特定する画像処理装置が開示されている。特許文献1に開示の画像処理装置は、ワークのバラ積み状態を示す高さ画像に対し、ワークモデルの特徴点を三次元サーチ処理の結果として重畳表示する。 Japanese Patent Laying-Open No. 2018-146347 (Patent Document 1) describes an image in which a three-dimensional search process using a work model is executed on three-dimensional measurement data acquired by three-dimensional measurement to specify the position and orientation of the work. The processing apparatus is disclosed. The image processing apparatus disclosed in Patent Document 1 superimposes and displays the feature points of the work model as a result of the three-dimensional search processing on the height image showing the loosely stacked state of the works.

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

しかしながら、高さ画像に対してワークモデルの特徴点が重畳表示された画面だけでは、ワークの位置姿勢の検出精度を十分に把握することができない。 However, the detection accuracy of the position and orientation of the work cannot be sufficiently grasped only by the screen in which the feature points of the work model are superimposed and displayed on the height image.

本発明は、上記の問題に鑑みてなされたものであり、その目的は、ユーザが対象物の位置姿勢の検出精度を確認しやすい画像処理装置、画像処理方法およびプログラムを提供することである。 The present invention has been made in view of the above problems, and an object of the present invention is to provide an image processing device, an image processing method, and a program that make it easy for a user to confirm the detection accuracy of the position and orientation of an object.

本開示の一例によれば、画像処理装置は、生成部と、検出部と、解析部とを備える。生成部は、対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、視野領域の三次元点群データを生成する。検出部は、三次元点群データと対象物の三次元形状を示すモデルとに基づいて対象物の位置姿勢を検出する。解析部は、1以上の軸の各々について、検出部によって検出された位置姿勢に配置されたモデルにおける当該軸に直交する平面との第1交差部分と、三次元点群データで示される面における平面との第2交差部分とを表示装置に重畳表示させる。 According to an example of the present disclosure, the image processing apparatus includes a generation unit, a detection unit, and an analysis unit. The generation unit generates three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup device installed so that the object is included in the visual field region. The detection unit detects the position and orientation of the object based on the three-dimensional point cloud data and the model showing the three-dimensional shape of the object. For each of the one or more axes, the analysis unit is located at the first intersection with the plane orthogonal to the axis in the model arranged in the position and orientation detected by the detection unit, and on the surface indicated by the three-dimensional point cloud data. The second intersection with the plane is superimposed and displayed on the display device.

この開示によれば、ユーザは、各軸に直交する仮想平面上での第1交差部分と第2交差部分とのずれを確認することができる。当該ずれは、検出部によるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、検出部によるワークの位置姿勢の検出精度を確認しやすくなる。 According to this disclosure, the user can confirm the deviation between the first intersection portion and the second intersection portion on the virtual plane orthogonal to each axis. The deviation depends on the detection accuracy of the position and orientation of the work by the detection unit. Therefore, the user can easily confirm the detection accuracy of the position and orientation of the work 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 the plane on the axis is variable.

この開示によれば、ユーザは、所望の位置に仮想平面を移動し、当該仮想平面上の第1交差部分と第2交差部分とを確認できる。 According to this disclosure, the user can move the virtual plane to a desired position and confirm the first intersection portion and the second intersection portion on the virtual plane.

上述の開示において、1以上の軸は、互いに直交する3つの軸を含む。この開示によれば、ユーザは、互いに直交する3つの軸にそれぞれ直交する3つの仮想平面の各々における第1交差部分と第2交差部分とを確認できる。その結果、ユーザは、検出部によるワークの位置姿勢の様々な方向における検出精度を確認できる。 In the above disclosure, one or more axes include three axes that are orthogonal to each other. According to this disclosure, the user can confirm the first intersection portion and the second intersection portion in each of the three virtual planes orthogonal to the three axes orthogonal to each other. As a result, the user can confirm the detection accuracy of the position and orientation of the work by the detection unit in various directions.

上述の開示において、画像処理装置は、検出された位置姿勢に対するオフセット量を設定する設定部と、検出された位置姿勢からオフセット量だけ移動させた位置姿勢に応じて、対象物をピッキングするロボットの動作を決定する決定部とをさらに備える。 In the above disclosure, the image processing device is a setting unit that sets an offset amount with respect to the detected position / orientation, and a robot that picks an object according to the position / orientation moved by the offset amount from the detected position / orientation. It further includes a determination unit that determines the operation.

この開示によれば、ユーザは、オフセット量を指定することにより、ロボットの動作を適宜調整できる。なお、オフセット量は、並進成分および回転成分の少なくとも一方を含む。 According to this disclosure, the user can appropriately adjust the operation of the robot by specifying the offset amount. The offset amount includes at least one of a translational component and a rotation component.

上述の開示において、設定部は、表示装置に表示されたモデルに対する移動操作に従って、オフセット量を設定する。 In the above disclosure, the setting unit sets the offset amount according to the movement operation with respect to 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 work 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 movement amount of the work model displayed on the display device.

本開示の一例によれば、画像処理方法は、第1〜第3のステップを備える。第1のステップは、対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、視野領域の三次元点群データを生成するステップである。第2のステップは、三次元点群データと対象物の三次元形状を示すモデルとに基づいて対象物の位置姿勢を検出するステップである。第3のステップは、1以上の軸の各々について、検出された位置姿勢に配置されたモデルにおける当該軸に直交する平面との第1交差部分と、三次元点群データで示される面における平面との第2交差部分とを表示装置に重畳表示させるステップである。 According to an example of the present disclosure, the image processing method includes first to third steps. The first step is a step of generating three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup device installed so that the object is included in the visual field region. The second step is a step of detecting the position and orientation of the object based on the three-dimensional point cloud data and the model showing the three-dimensional shape of the object. The third step is, for each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model placed in the detected position and orientation, and the plane on the plane indicated by the 3D point cloud data. This is a step of superimposing and displaying the second intersection portion with and on the display device.

本開示の一例によれば、プログラムは、上記の方法をコンピュータに実行させる。これらの開示によっても、ユーザは、対象物の位置姿勢の検出精度を確認しやすくなる。 According to an example of the present disclosure, the 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 object.

本開示によれば、ユーザは、対象物の位置姿勢の検出精度を確認しやすくなる。 According to the present disclosure, the user can easily confirm the detection accuracy of the position and orientation of the object.

実施の形態に係る制御システムの全体構成を示す概略図である。It is the schematic which shows the whole structure of the control system which concerns on embodiment. 制御システムを構成する各部材の座標系の対応関係を示す図である。It is a figure which shows the correspondence | correspondence of the coordinate system of each member which constitutes a control system. ワークモデルと、当該ワークモデルを把持するエンドエフェクタモデルとの位置関係を示す図である。It is a figure which shows the positional relationship between a work model and an end effector model which holds the work model. 三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの一例を示す図である。It is a figure which shows an example of the measurement surface shown by 3D point cloud data, and the work model arranged in the position and orientation of the work detected from the 3D point cloud data. 三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの別の例を示す図である。It is a figure which shows another example of the measurement surface shown by 3D point cloud data, and the work model arranged in the position and orientation of the work detected from the 3D point cloud data. ワークの位置姿勢の検出結果を確認するための解析画面の一例を示す図である。It is a figure which shows an example of the analysis screen for confirming the detection result of the position and orientation of a work. 図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。It is the schematic 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. 図8に示す解析部によって表示される解析画面の一例を示す図である。It is a figure which shows an example of the analysis screen displayed by the analysis unit shown in FIG. ドラッグ操作によりオフセット量の回転成分の入力を受け付けるときの画面例を示す図である。It is a figure which shows the screen example at the time of accepting the input of the rotation component of an offset amount by a drag operation. オフセット量の第1の設定例を示す図である。It is a figure which shows the 1st setting example of the offset amount. 検出された位置姿勢に配置したワークモデルとワークとの並進ずれの一例を示す図である。It is a figure which shows an example of the translational deviation between the work model arranged in the detected position and posture, and the work. 検出された位置姿勢に配置したワークモデルとワークとの回転ずれの一例を示す図である。It is a figure which shows an example of the rotation deviation between a work model arranged in the detected position and posture, and a work. オフセット量の第2の設定例を示す図である。It is a figure which shows the 2nd setting example of the offset amount. 解析モード時の画像処理装置の処理の流れを示すフローチャートである。It is a flowchart which shows the processing flow of the image processing apparatus in the analysis mode. 通常モード時の画像処理装置の処理の流れを示すフローチャートである。It is a flowchart which shows the processing flow of the image processing apparatus in a normal mode.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 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〜図6を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、コンテナ2に収容された対象物(以下、「ワーク1」と称する。)に対するピッキングの制御を行なう。ワーク1は、コンテナ2内にバラ積みされる。そのため、コンテナ2内でのワーク1の位置姿勢はランダムである。
§1 Application example First, an example of a situation in which the present invention is applied will be described with reference to FIGS. 1 to 6. FIG. 1 is a schematic view showing an overall configuration of a control system according to an embodiment. The control system SYS illustrated in FIG. 1 is incorporated in a production line or the like and controls picking of an object (hereinafter, referred to as “work 1”) housed in the container 2. The work 1 is separately stacked in the container 2. Therefore, the position and orientation of the work 1 in the container 2 are random.

図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300と、計測ヘッド400とを備える。画像処理装置100には、表示装置150および入力装置160が接続されている。入力装置160は、例えばキーボードおよびマウスを含む。 The control system SYS illustrated in FIG. 1 includes an image processing device 100, a robot controller 200, a robot 300, and a measurement head 400. A display device 150 and an input device 160 are connected to the image processing device 100. The input device 160 includes, for example, a keyboard and a mouse.

ロボット300は、ワーク1のピッキングを行なう。ロボット300は、ワーク1を保持するエンドエフェクタ30と、エンドエフェクタ30の位置姿勢を変更するための多関節アーム31と、多関節アーム31を支持するベース32とを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。 The robot 300 picks the work 1. The robot 300 includes an end effector 30 that holds the work 1, an articulated arm 31 for changing the position and orientation of the end effector 30, and a base 32 that supports the articulated arm 31. The operation of the robot 300 is controlled by the robot controller 200.

図1に例示されるエンドエフェクタ30は、2つの爪33を有し、2つの爪33を用いてワーク1を把持する。なお、爪33は、ワーク1を把持する際に、ワーク1に接触する部位であり、「指」とも称される。ワーク1の保持方法は、2つの爪を用いた把持に限定されない。例えば、エンドエフェクタ30は、3つ以上の爪を用いてワークを把持してもよいし、吸着パッドを用いてワーク1を吸着してもよい。 The end effector 30 illustrated in FIG. 1 has two claws 33, and the work 1 is gripped by using the two claws 33. The claw 33 is a portion that comes into contact with the work 1 when gripping the work 1, and is also referred to as a “finger”. The method of holding the work 1 is not limited to gripping with two claws. For example, the end effector 30 may grip the work with three or more claws, or may suck the work 1 with a suction pad.

ロボットコントローラ200は、画像処理装置100からの動作指令を受けて、ロボット300の多関節アーム31を制御する。具体的には、ロボットコントローラ200は、エンドエフェクタ30がワーク1に対するピッキング動作を行なうように多関節アーム31を制御する。 The robot controller 200 controls the articulated arm 31 of the robot 300 in response to an operation command from the image processing device 100. Specifically, the robot controller 200 controls the articulated arm 31 so that the end effector 30 performs a picking operation on the work 1.

計測ヘッド400は、コンテナ2およびコンテナ2に収容されたワーク1が被写体となるように設置され、当該被写体を撮像する。計測ヘッド400は、投影部401と撮像部402とを備える。投影部401は、画像処理装置100からの指示に従って任意の投影パターン光を被写体に投影する。投影パターンは、例えば照射面内の所定方向に沿って明るさが周期的に変化するパターンである。撮像部402は、投影パターン光が投影された状態の被写体を撮像する。 The measurement head 400 is installed so that the container 2 and the work 1 housed in the container 2 are the subjects, and images the subject. The measuring head 400 includes a projection unit 401 and an imaging unit 402. The projection unit 401 projects an arbitrary projection pattern light onto the subject according to an instruction from the image processing device 100. The projection pattern is, for example, a pattern in which the brightness periodically changes along a predetermined direction in the irradiation surface. The imaging unit 402 images a subject in a state where the projection pattern light is projected.

投影部401は、主要なコンポーネントとして、例えば、LED(Light Emitting Diode)やハロゲンランプなどの光源と、投影部401の照射面の側に配置されたフィルタとを含む。フィルタは、後述するような三次元形状の計測に必要な投影パターン光を発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。投影部401は、液晶またはやDMD(Digital Mirror Device)と光源(LEDまたはレーザ光源など)とを用いた構成であってもよい。 The projection unit 401 includes, as main components, a light source such as an LED (Light Emitting Diode) or a halogen lamp, and a filter arranged on the irradiation surface side of the projection unit 401. The filter generates projection pattern light necessary for measuring a three-dimensional shape as described later, and can arbitrarily change the in-plane light transmittance in accordance with a command from the image processing device 100. The projection unit 401 may be configured by using a liquid crystal or a DMD (Digital Mirror Device) and a light source (LED, laser light source, etc.).

撮像部402は、主要なコンポーネントとして、例えば、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。 The image pickup unit 402 includes, for example, 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は、計測ヘッド400から受けた画像に基づいて、コンテナ2に収容されたワーク1の位置姿勢を検出する。画像処理装置100は、検出したワーク1の位置姿勢に基づいて、エンドエフェクタ30のピッキング動作を決定する。画像処理装置100は、決定したピッキング動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する。ロボットコントローラ200は、動作指令に従って、画像処理装置100によって決定されたピッキング動作をロボット300に実行させる。 The image processing device 100 detects the position and orientation of the work 1 housed in the container 2 based on the image received from the measurement head 400. The image processing device 100 determines the picking operation of the end effector 30 based on the detected position and orientation of the work 1. The image processing device 100 generates an operation command corresponding to the determined picking operation, and outputs the generated operation command to the robot controller 200. The robot controller 200 causes the robot 300 to perform a picking operation determined by the image processing device 100 according to an operation command.

具体的には、画像処理装置100は、検出したワーク1の位置姿勢に応じて、当該ワーク1を把持するときのエンドエフェクタ30の取るべき位置姿勢(以下、「把持点」とも称する。)を決定する。画像処理装置100は、待機位置から把持点まで移動し、ワーク1を把持してから目的位置(ワーク1のプレース位置)まで移動するピッキング動作を決定する。 Specifically, the image processing device 100 determines the position and orientation (hereinafter, also referred to as “grasping point”) to be taken by the end effector 30 when gripping the work 1 according to the detected position and orientation of the work 1. decide. The image processing device 100 determines a picking operation that moves from the standby position to the gripping point, grips the work 1, and then moves to the target position (place position of the work 1).

図2および図3を参照して、画像処理装置100によるピッキング動作の決定方法について説明する。図2は、制御システムを構成する各部材の座標系の対応関係を示す図である。図3は、ワークモデルと、当該ワークモデルを把持するエンドエフェクタモデルとの位置関係を示す図である。 A method of determining a picking operation by the image processing apparatus 100 will be described with reference to FIGS. 2 and 3. FIG. 2 is a diagram showing the correspondence between the coordinate systems of the members constituting the control system. FIG. 3 is a diagram showing the positional relationship between the work model and the end effector model that grips the work model.

図2において、「ベース座標系B」は、ロボット300のベース32を基準とする座標系である。「ツール座標系T」は、ロボット300の多関節アーム31の先端面(エンドエフェクタ30が取り付けられるフランジ面)に設定される座標系である。フランジ面の位置姿勢は、エンドエフェクタ30の位置姿勢を定義付ける。「カメラ座標系C」は、計測ヘッド400の撮像部402を基準とする座標系である。「ワーク座標系W」は、ワーク1を基準とする座標系である。 In FIG. 2, the “base coordinate system B” is a coordinate system based on the base 32 of the robot 300. The "tool coordinate system T" is a coordinate system set on the tip surface (flange surface to which the end effector 30 is attached) of the articulated arm 31 of the robot 300. The position and orientation of the flange surface defines the position and orientation of the end effector 30. The "camera coordinate system C" is a coordinate system based on the image pickup unit 402 of the measurement head 400. The "work coordinate system W" is a coordinate system based on the work 1.

計測ヘッド400から受けた画像に基づいて検出されるワーク1の位置姿勢は、例えばカメラ座標系Cをワーク座標系Wに変換する座標変換行列CWによって示される。座標変換行列CWは、カメラ座標系Cにおけるワーク座標系Wの基底ベクトルの成分および原点の位置を表す。 The position and orientation of the work 1 detected based on the image received from the measurement head 400 is indicated by, for example, a coordinate transformation matrix C H W that converts the camera coordinate system C into the work coordinate system W. The coordinate transformation matrix C H W represents the components of the basis vector of the work coordinate system W and the position of the origin in the camera coordinate system C.

一方、画像処理装置100からロボットコントローラ200に出力される動作指令は、例えばベース座標系Bをツール座標系Tに変換する座標変換行列BTによって示される。座標変換行列BTは、ベース座標系Bにおけるツール座標系Tの基底ベクトルの成分および原点の位置を表す。 On the other hand, it is the operation command outputted from the image processing apparatus 100 to the robot controller 200, for example, indicated by the coordinate transformation matrix B H T to convert the base coordinate system B to the tool coordinate system T. The coordinate transformation matrix B H T represents the components of the basis vector of the tool coordinate system T and the position of the origin in the base coordinate system B.

座標変換行列CWBTは、以下の式(1)を満たす。
BCCWBTTW ・・・式(1)
式(1)において、座標変換行列BCは、ベース座標系Bをカメラ座標系Cに変換する行列である。座標変換行列BCは、ベース座標系Bにおけるカメラ座標系Cの基底ベクトルの成分および原点の位置を表す。座標変換行列TWは、ツール座標系Tをワーク座標系Wに変換する行列である。座標変換行列TWは、ツール座標系Tにおけるワーク座標系Wの基底ベクトルの成分および原点の位置を表す。
The coordinate transformation matrices C H W and B H T satisfy the following equation (1).
B H CC H W = B H TT H W・ ・ ・ Equation (1)
In the 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 basis vector of the camera coordinate system C and the position of the origin in the base coordinate system B. The coordinate transformation matrix T H W is a matrix that transforms the tool coordinate system T into the work coordinate system W. The coordinate transformation matrix T H W represents the component of the basis vector of the work coordinate system W and the position of the origin in the tool coordinate system T.

本実施の形態では、計測ヘッド400は、コンテナ2全体を撮像可能な位置に固定される。そのため、式(1)の座標変換行列BCは、固定値で表され、事前に実行されるキャリブレーションによって求められる。キャリブレーションとして、例えば、ロボット300のフランジ面にマーカを取り付け、ロボット300を動作させながら計測ヘッド400の撮像部402でマーカを撮像するハンドアイキャリブレーションが採用され得る。 In the present embodiment, the measurement head 400 is fixed at a position where the entire container 2 can be imaged. Therefore, the coordinate transformation matrix B H C of the formula (1) is represented by a fixed value, determined by the calibration to be performed in advance. As the calibration, for example, a hand-eye calibration in which a marker is attached to the flange surface of the robot 300 and the marker is imaged by the imaging unit 402 of the measuring head 400 while operating the robot 300 can be adopted.

ワーク1を把持するときのエンドエフェクタ30の位置姿勢(把持点)は、ワーク1の三次元形状を示すモデル(以下、「ワークモデル1M」と称する。)とエンドエフェクタ30の三次元形状を示すモデル(以下、エンドエフェクタモデル30M」と称する。)とを用いて予め登録される。 The positional posture (grip point) of the end effector 30 when gripping the work 1 indicates a model showing the three-dimensional shape of the work 1 (hereinafter, referred to as “work model 1M”) and the three-dimensional shape of the end effector 30. It is registered in advance using a model (hereinafter referred to as "end effector model 30M").

図3に示されるように、ユーザは、ワーク1をエンドエフェクタ30が把持するときのワーク1に対するエンドエフェクタ30の相対位置姿勢と一致するように、仮想空間上において、ワークモデル1Mとエンドエフェクタモデル30Mとを配置する。このようにして仮想空間上に配置されたエンドエフェクタモデル30Mに対するワークモデル1Mの相対位置姿勢を示す座標変換行列TMWMが算出される。算出された座標変換行列TMWMは、把持点データとして画像処理装置100に予め登録される。 As shown in FIG. 3, the user can use the work model 1M and the end effector model in the virtual space so as to match the relative position and orientation of the end effector 30 with respect to the work 1 when the work 1 is gripped by the end effector 30. 30M and so on. In this way, the coordinate transformation matrix TM H WM indicating the relative position and orientation of the work model 1M with respect to the end effector model 30M arranged in the virtual space is calculated. The calculated coordinate transformation matrix TM H WM is registered in advance in the image processing device 100 as grip point data.

座標変換行列TMWMは、エンドエフェクタモデル30Mの多関節アーム側の面を基準とする座標系TMにおけるワークモデル1Mの座標系WMの基底ベクトルの成分および原点の位置を表す。座標系TMの基底ベクトルおよび原点は、エンドエフェクタモデル30Mを多関節アーム31のフランジ面に取り付けたと仮定したときに、ツール座標系T(図2参照)の基底ベクトルおよび原点とそれぞれ一致するように設定される。ワークモデル1Mの基底ベクトルおよび原点は、ワークモデル1Mをワーク1と重ね合わせたときに、ワーク座標系W(図2参照)の基底ベクトルおよび原点とそれぞれ一致するように設定される。 The coordinate transformation matrix TM H WM represents the components of the basis vector and the position of the origin of the coordinate system WM of the work model 1M in the coordinate system TM with respect to the surface on the articulated arm side of the end effector model 30M. The basis vector and origin of the coordinate system TM should match the basis vector and origin of the tool coordinate system T (see FIG. 2), respectively, assuming that the end effector model 30M is attached to the flange surface of the articulated arm 31. Set. The basis vector and origin of the work model 1M are set so as to coincide with the basis vector and origin of the work coordinate system W (see FIG. 2) when the work model 1M is superposed on the work 1.

画像処理装置100は、式(1)の座標変換行列TWに予め登録された把持点データ(座標変換行列TMWM)を入力する。これにより、画像処理装置100は、以下の式(2)に従って、計測ヘッド400から受けた画像に基づいて検出されたワーク1を把持するときのエンドエフェクタ30の位置姿勢を示す座標変換行列BTを算出する。
BT=(TMWM-1BCCW ・・・式(2)
画像処理装置100は、算出した座標変換行列BTに従って、ロボットコントローラ200への動作指令を生成すればよい。
The image processing apparatus 100 inputs the gripping point data (coordinate transformation matrix TM H WM ) registered in advance in the coordinate transformation matrix T H W of the equation (1). Thus, the image processing apparatus 100 according to the following equation (2), the coordinate transformation matrix B H representing the position and orientation of the end effector 30 at the time of holding the workpiece 1 that is detected based on the image received from the measurement head 400 Calculate T.
B H T = ( TM H WM ) -1B H CC H W・ ・ ・ Equation (2)
The image processing apparatus 100, in accordance with the calculated coordinate conversion matrix B H T has may generate an operation command to the robot controller 200.

画像処理装置100によるワーク1の位置姿勢の検出は、三次元サーチを用いて実行される。三次元サーチは、計測ヘッド400から受けた画像に基づいて生成される三次元点群データの中から、ワーク1の三次元形状を示すワークモデルと一致または近似する特徴点を抽出し、抽出した特徴点に基づいてワーク1の位置姿勢を検出する処理である。三次元点群データは、計測ヘッド400から受けた画像から計測される、視野領域内に存在する物体表面(以下、「計測表面」と称する。)を示す。三次元サーチは、公知の検出アルゴリズム(「認識アルゴリズム」とも称される。)を用いて実行される。 The detection of the position and orientation of the work 1 by the image processing device 100 is executed by using a three-dimensional search. In the three-dimensional search, feature points that match or approximate the work model showing the three-dimensional shape of the work 1 are extracted and extracted from the three-dimensional point cloud data generated based on the image received from the measurement head 400. This is a process of detecting the position and orientation of the work 1 based on the feature points. The three-dimensional point cloud data indicates an object surface (hereinafter, referred to as “measurement surface”) existing in the visual field region, which is measured from an image received from the measurement head 400. The three-dimensional search is performed using a known detection algorithm (also referred to as a "recognition algorithm").

図4は、三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの一例を示す図である。図5は、三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの別の例を示す図である。 FIG. 4 is a diagram showing an example of a measurement surface shown by the three-dimensional point cloud data and a work model arranged in the position and orientation of the work detected from the three-dimensional point cloud data. FIG. 5 is a diagram showing another example of the measurement surface shown by the three-dimensional point cloud data and the work model arranged in the position and orientation of the work 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 the habit of the detection algorithm, the work model 71 placed in the detected position / orientation is always translated or translated in a fixed direction with respect to the measurement surface 70 indicated by the three-dimensional point cloud data. Can rotate. In the example shown in FIG. 4, the work model 71 is displaced in the + Z direction with respect to the measurement surface 70. In the example shown in FIG. 5, the work model 71 is deviated from the measurement surface 70 in the rotation direction about the Y axis. However, the directions of translational deviation and rotational deviation of the work model 71 with respect to the measurement surface 70 depend on the habit of the detection algorithm and are not limited to the directions illustrated in FIGS. 4 and 5.

従来、図4および図5に示されるような検出ずれをユーザが十分に確認できなかった。そのため、本実施の形態に係る画像処理装置100は、ワーク1の位置姿勢の検出精度を確認するための解析画面をユーザに提示する。 Conventionally, the user has not been able to sufficiently confirm the detection deviation as shown in FIGS. 4 and 5. Therefore, the image processing device 100 according to the present embodiment presents to the user an analysis screen for confirming the detection accuracy of the position and orientation of the work 1.

図6は、ワークの位置姿勢の検出結果を確認するための解析画面の一例を示す図である。図6に例示される解析画面50は、画像処理装置100によって表示装置150(図1参照)に表示される。 FIG. 6 is a diagram showing an example of an analysis screen for confirming the detection result of the position and orientation of the work. The analysis screen 50 illustrated in FIG. 6 is displayed on the display device 150 (see FIG. 1) by the image processing device 100.

図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 regions 51, 61-62. In the area 51, a distance image indicated by three-dimensional point cloud data measured using the measurement head 400 is displayed. The distance image is represented by a color map, and the Z coordinate (height) is indicated by color or density for each pixel on the XY plane. The range of Z coordinates that the distance image can take is indicated by the color bar 52. The X-axis, Y-axis, and Z-axis are orthogonal to each other. The Z-axis is parallel to the optical axis of the imaging unit 402.

領域51には、三次元サーチによって検出された位置姿勢に配置されたワークモデル71をZ軸方向に投影した領域の輪郭71dが距離画像に重畳して表示される。図6に示す例では、三次元サーチにより三次元点群データから複数のワーク1の位置姿勢が検出されている。そのため、複数の輪郭71dが表示されている。 In the region 51, the contour 71d of the region in which the work model 71 arranged in the position and orientation detected by the three-dimensional search is projected in the Z-axis direction is superimposed and displayed on the distance image. In the example shown in FIG. 6, the positions and orientations of the plurality of works 1 are detected from the three-dimensional point cloud data by the three-dimensional search. Therefore, a plurality of contours 71d are displayed.

さらに、領域51には、X軸に直交する仮想平面(以下、「第1仮想平面」と称する。)の位置を指定するためのライン53と、Y軸に直交する仮想平面(以下、「第2仮想平面」と称する。)の位置を指定するためのライン54とが表示される。カラーバー52には、Z軸に直交する仮想平面(以下、「第3仮想平面」と称する。)の位置を指定するためのライン55が表示される。ライン53,54,55の位置は、入力装置160に対する操作に応じて可変である。 Further, in the region 51, a line 53 for designating the position of the virtual plane orthogonal to the X axis (hereinafter, referred to as “first virtual plane”) and the virtual plane orthogonal to the Y axis (hereinafter, “third virtual plane”). A line 54 for designating the position of (referred to as "2 virtual plane") is displayed. On the color bar 52, a line 55 for designating the position of the virtual plane (hereinafter, referred to as “third virtual plane”) orthogonal to the Z axis is displayed. The positions of lines 53, 54, 55 are variable depending on the operation with respect to the input device 160.

領域60には、検出された位置姿勢に配置されたワークモデル71における第1仮想平面との交差部分71aと、計測表面70における第1仮想平面との交差部分70aとが重畳表示される。 In the region 60, the intersection portion 71a with the first virtual plane in the work model 71 arranged in the detected position and orientation and the intersection portion 70a with the first virtual plane on the measurement surface 70 are superimposed and displayed.

領域61には、検出された位置姿勢に配置されたワークモデル71における第2仮想平面との交差部分71bと、計測表面70における第2仮想平面との交差部分70bとが重畳表示される。 In the region 61, the intersection portion 71b with the second virtual plane in the work model 71 arranged in the detected position and orientation and the intersection portion 70b with the second virtual plane on the measurement surface 70 are superimposed and displayed.

領域62には、検出された位置姿勢に配置されたワークモデル71における第3仮想平面との交差部分71cと、計測表面70における第3仮想平面との交差部分70cとが重畳表示される。 In the region 62, the intersection 71c with the third virtual plane in the work model 71 arranged in the detected position and orientation and the intersection 70c with the third virtual plane on the measurement surface 70 are superimposed and displayed.

このように、画像処理装置100は、X,Y,Z軸の各々について、検出された位置姿勢に配置されたワークモデル71における当該軸に直交する平面との交差部分と、計測表面70における当該平面との交差部分とを表示装置150に重畳表示させる。ユーザは、X,Y,Z軸の各々に直交する平面上での2つの交差部分のずれを確認することができる。当該ずれは、三次元サーチによるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、三次元サーチによるワークの位置姿勢の検出精度を確認しやすくなる。 As described above, the image processing apparatus 100 has the intersection of the X, Y, and Z axes with the plane orthogonal to the axis in the work model 71 arranged in the detected position and orientation, and the measurement surface 70. The intersection with the plane is superimposed and displayed on the display device 150. The user can confirm the deviation of the two intersections on the plane orthogonal to each of the X, Y, and Z axes. The deviation depends on the detection accuracy of the position and orientation of the work by the three-dimensional search. Therefore, the user can easily confirm the detection accuracy of the position and orientation of the work by the three-dimensional search.

§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 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 the basic processing of the computer is installed in addition to the application for executing the 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 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.

図7は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図7に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、計測ヘッドインターフェース116と、入力インターフェース118と、表示コントローラ120と、通信インターフェース124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。 FIG. 7 is a schematic view showing an example of the hardware configuration of the image processing apparatus shown in FIG. As shown in FIG. 7, 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 storage units, a measurement head interface 116, and an input interface 118. , A display controller 120, 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から読み出されたプログラムに加えて、計測ヘッド400によって取得された画像などを保持する。さらに、ハードディスク114には、後述するような各種データなどが格納される。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。 The CPU 110 expands the programs (codes) installed on the hard disk 114 into the main memory 112 and executes them in a predetermined order to perform various operations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory), and holds an image acquired by the measurement head 400 in addition to a program read from the hard disk 114. To do. Further, the hard disk 114 stores various data and the like as will be described later. 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と計測ヘッド400との間のデータ伝送を仲介する。すなわち、計測ヘッドインターフェース116は、計測ヘッド400と接続される。計測ヘッドインターフェース116は、CPU110が発生した内部コマンドに従って、計測ヘッド400に対して投影コマンドおよび撮像コマンドを与える。計測ヘッドインターフェース116は、計測ヘッド400からの画像を一時的に蓄積するための画像バッファ116aを含む。計測ヘッドインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。 The measurement head interface 116 mediates data transmission between the CPU 110 and the measurement head 400. That is, the measurement head interface 116 is connected to the measurement head 400. The measurement head interface 116 gives a projection command and an imaging command to the measurement head 400 according to an internal command generated by the CPU 110. The measurement head interface 116 includes an image buffer 116a for temporarily storing an image from the measurement head 400. When a predetermined number of frames of images are accumulated in the image buffer 116a, the measurement head interface 116 transfers the accumulated images to the main memory 112.

入力インターフェース118は、CPU110と入力装置160との間のデータ伝送を仲介する。すなわち、入力インターフェース118は、ユーザが入力装置160に入力した入力情報を受付ける。 The input interface 118 mediates data transmission between the CPU 110 and the input device 160. That is, the input interface 118 receives the input information input by the user to the input device 160.

表示コントローラ120は、表示装置150と接続され、CPU110における処理結果などをユーザに通知するように表示装置150の表示を制御する。 The display controller 120 is connected to the display device 150 and controls the display of the display device 150 so as to notify the user of the processing result of the CPU 110 and the like.

通信インターフェース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の内部指令に応答して、計測ヘッド400によって撮像された画像および/または画像処理装置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 image captured by the measurement head 400 and / or the processing result in the image processing device 100 to the memory card 106 in response to the internal command of the CPU 110. The memory card 106 is 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.画像処理装置の機能構成例>
図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. Function 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. As shown in FIG. 8, the image processing device 100 includes a head control unit 10, a storage unit 11, an image processing unit 12, and a UI (User Interface) processing unit 13. The head control unit 10 is realized by the CPU 110 and the measurement head interface 116 shown in FIG. 7. The storage unit 11 is realized by the main memory 112 and the hard disk 114 shown in FIG. 7. The image processing unit 12 is realized by the CPU 110 and the communication interface 124 shown in FIG. The UI processing unit 13 is realized by the CPU 110, the input interface 118, and the display controller 120 shown in FIG. 7.

画像処理装置100は、動作モードとして通常モードおよび解析モードを有する。通常モードが選択された場合、ヘッド制御部10および画像処理部12が動作する。解析モードが選択された場合、ヘッド制御部10、画像処理部12およびUI処理部13が動作する。解析モードは、例えば生産ラインの立ち上げ時および定期的なメンテナンス時に選択される。 The image processing device 100 has a normal mode and an analysis mode as operation modes. When the normal mode is selected, the head control unit 10 and the image processing unit 12 operate. When the analysis mode is selected, the head control unit 10, the image processing unit 12, and the UI processing unit 13 operate. The analysis mode is selected, for example, at the start-up of the production line and at regular maintenance.

ヘッド制御部10は、計測ヘッド400の動作を制御する。ヘッド制御部10は、予め定められた投影パターン光の投影を指示する投影コマンドを計測ヘッド400に出力する。ヘッド制御部10は、投影パターン光が投影されている状態で撮像コマンドを計測ヘッド400に出力する。ヘッド制御部10は、計測ヘッド400から取得した画像データ11aを記憶部11に格納する。 The head control unit 10 controls the operation of the measurement head 400. The head control unit 10 outputs a projection command instructing the projection of a predetermined projection pattern light to the measurement head 400. The head control unit 10 outputs an imaging command to the measurement head 400 in a state where the projection pattern light is projected. The head control unit 10 stores the image data 11a acquired from the measurement head 400 in the storage unit 11.

記憶部11には、計測ヘッド400の撮像により得られた画像データ11aが格納される。さらに、記憶部11には、ワーク1の三次元形状を示すCAD(Computer Aided Design)データ11bと、ワーク1を把持するときのエンドエフェクタ30の位置姿勢を示す把持点データ11cとが予め格納される。さらに、記憶部11には、三次元サーチによって検出された位置姿勢に対する補正量(以下、「オフセット量」と称する。)を示すオフセットデータ11dも格納される。オフセットデータ11dは、UI処理部13によって生成される。オフセットデータ11dの詳細については後述する。 The storage unit 11 stores the image data 11a obtained by imaging the measurement head 400. Further, the storage unit 11 stores in advance CAD (Computer Aided Design) data 11b indicating the three-dimensional shape of the work 1 and gripping point data 11c indicating the position and orientation of the end effector 30 when gripping the work 1. To. Further, the storage unit 11 also stores offset data 11d indicating a correction amount (hereinafter, referred to as “offset amount”) for the position / orientation detected by the three-dimensional search. The offset data 11d is generated by the UI processing unit 13. The details of the offset data 11d will be described later.

画像処理部12は、計測ヘッド400の撮像により得られた画像データ11aに対する処理を行なう。図8に示されるように、画像処理部12は、3D画像生成部14と、検出部15と、動作指令決定部16と、通信部17とを含む。 The image processing unit 12 processes the image data 11a obtained by imaging the measurement head 400. As shown in FIG. 8, the image processing unit 12 includes a 3D image generation unit 14, a detection unit 15, an operation command determination unit 16, and a communication unit 17.

3D画像生成部14は、画像データ11aに基づいて、計測ヘッド400の視野領域における三次元計測を行ない、三次元点群データを生成する。三次元点群データは、計測ヘッド400の視野領域に存在する物体表面(計測表面)上の各点の三次元座標を示す。 The 3D image generation unit 14 performs three-dimensional measurement in the visual field region of the measurement head 400 based on the image data 11a, and generates three-dimensional point cloud data. The three-dimensional point cloud data indicates the three-dimensional coordinates of each point on the object surface (measurement surface) existing in the visual field region of the measurement head 400.

三次元点群データは、例えば、計測表面上の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 cloud data is, for example, the three-dimensional coordinates (x 1 , y 1 , z 1 ), ..., (x M , y 1 , z M ), (x M, y 1, z M) of M × N points on the measurement surface. x 1 , y 2 , z M + 1 ), ···, (x M , y 2 , z 2M ), ···, (x M , y N , z NM ) are shown. 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 imaging unit 402. When the image pickup unit 402 generates the image data 11a by perspective projection, the point cloud indicated by the three-dimensional point cloud data generated based on the image data 11a is usually a matrix when projected on the XY plane. Not arranged in a shape. In such a case, the 3D image generation unit 14 appropriately interpolates the coordinate values of the three-dimensional point cloud data so as to correspond to the M × N point clouds arranged in a matrix when projected on the XY plane. , The point cloud indicated by the three-dimensional point cloud data may be rearranged.

三次元計測処理として、例えば三角測距方式、同軸方式が採用され得る。三角測距方式は、撮像と投光との光軸を基線長分だけ離間させ、視差を距離に変換する方式である。三角測距方式には、アクティブ法とパッシブ法とが含まれる。アクティブ法には、構造化照明法、位相シフト法、空間コード法が含まれる。同軸方式は、撮像と測距手段との光軸を同一に設定する方式である。測距手段として、焦点方式が含まれる。また、同軸に近い方式としてTOF(Time of Flight)方式も含まれる。3D画像生成部14は、これらの方式のいずれかを用いて三次元計測処理を実行すればよい。例えば位相シフト法を用いて三次元計測処理が行なわれる。 As the three-dimensional measurement process, for example, a triangular ranging method or a coaxial method can be adopted. The triangular ranging method is a method in which the optical axes of imaging and projection are separated by the length of the baseline, and the parallax is converted into a distance. The triangular ranging method includes an active method and a passive method. Active methods include structured illumination methods, phase shift methods, and spatial coding methods. The coaxial method is a method in which the optical axes of the imaging and the distance measuring means are set to be the same. The focusing method is included as the distance measuring means. In addition, a TOF (Time of Flight) method is also included as a method close to coaxial. The 3D image generation unit 14 may execute the three-dimensional measurement process by using any of these methods. For example, a three-dimensional measurement process is performed using a phase shift method.

位相シフト法は、正弦波状に濃淡を変化させた投影パターン光を被写体に投影した状態で撮像された画像(正弦波投影画像)を用いる方法である。濃淡の変化周期や位相を異ならせた投影パターンが複数用意され、計測ヘッド400の投影部401は、撮像部402の視野領域に対して、複数の投影パターン光を順次照射する。3D画像生成部14は、複数の投影パターンが投影されたときにそれぞれ撮像される画像データ11aの群(正弦波投影画像群)を記憶部11から読み出す。そして、3D画像生成部14は、これらの画像データ11a間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。 The phase shift method is a method using an image (sinusoidal projection image) captured in a state where a projection pattern light whose shading is changed in a sinusoidal shape is projected onto a subject. A plurality of projection patterns having different shade change periods and phases are prepared, and the projection unit 401 of the measurement head 400 sequentially irradiates the visual field region of the imaging unit 402 with the plurality of projection pattern lights. The 3D image generation unit 14 reads out a group of image data 11a (sine wave projection image group) to be imaged when a plurality of projection patterns are projected from the storage unit 11. Then, the 3D image generation unit 14 calculates the three-dimensional coordinates based on the change in the brightness (brightness and brightness) of the corresponding portion between the image data 11a.

検出部15は、三次元サーチによってワーク1の位置姿勢を検出する。具体的には、検出部15は、予め作成された複数のテンプレートデータと三次元点群データとを照合し、三次元点群データの中からテンプレートと類似するデータを抽出する。テンプレートデータは、CADデータ11bに基づいて予め作成される。典型的には、仮想空間上にCADデータ11bで示されるワークモデルと複数の仮想視点とを配置し、複数の仮想視点の各々から見たときのワークモデルの表面上の点の座標を示すテンプレートデータが作成される。検出部15は、三次元点群データの中から抽出した、テンプレートと類似するデータに基づいて、ワーク1の位置姿勢を検出する。検出部15によって検出されるワーク1の位置姿勢は、計測ヘッド400の撮像部402の座標系(カメラ座標系C(図2参照))で示される。なお、検出部15は、公知の検出アルゴリズムを用いて、ワーク1の位置姿勢を検出すればよい。 The detection unit 15 detects the position and orientation of the work 1 by a three-dimensional search. Specifically, the detection unit 15 collates a plurality of template data created in advance with the three-dimensional point cloud data, and extracts data similar to the template from the three-dimensional point cloud data. The template data is created in advance based on the CAD data 11b. Typically, a template in which a work model shown by CAD data 11b and a plurality of virtual viewpoints are arranged in a virtual space, and the coordinates of points on the surface of the work model when viewed from each of the plurality of virtual viewpoints are shown. The data is created. The detection unit 15 detects the position and orientation of the work 1 based on data similar to the template extracted from the three-dimensional point cloud data. The position and orientation of the work 1 detected by the detection unit 15 are indicated by the coordinate system (camera coordinate system C (see FIG. 2)) of the image pickup unit 402 of the measurement head 400. The detection unit 15 may detect the position and orientation of the work 1 by using a known detection algorithm.

なお、検出部15は、複数のワーク1の位置姿勢を検出した場合、予め定められた選択基準に従って、当該複数のワーク1のうちの1つをピッキング対象として選択する。 When the detection unit 15 detects the position and orientation of the plurality of works 1, one of the plurality of works 1 is selected as a picking target according to a predetermined selection criterion.

動作指令決定部16は、ピッキング対象のワーク1の位置姿勢に応じて、エンドエフェクタ30の動作を決定する。具体的には、動作指令決定部16は、検出部15によって検出された位置姿勢を示す座標変換行列CWと、事前のキャリブレーションによって算出された座標変換行列BCと、把持点データ11cで示される座標変換行列TMWMとを上記の式(2)に代入することにより、座標変換行列BTを算出する。画像処理装置100は、算出した座標変換行列BTに従って、ロボットコントローラ200への動作指令を生成する。 The operation command determination unit 16 determines the operation of the end effector 30 according to the position and orientation of the work 1 to be picked. Specifically, the operation command determination unit 16 includes a coordinate transformation matrix C H W indicating the position / orientation detected by the detection unit 15, a coordinate transformation matrix B H C calculated by prior calibration, and grip point data. By substituting the coordinate transformation matrix TM H WM represented by 11c into the above equation (2), the coordinate transformation matrix B H T is calculated. The image processing apparatus 100, in accordance with the calculated coordinate conversion matrix B H T has to generate an operation command to the robot controller 200.

ただし、動作指令決定部16は、記憶部11にオフセットデータ11dが格納されている場合、検出部15によって検出された位置姿勢を示す座標変換行列CWをオフセットデータ11dが示すオフセット量だけ補正する。動作指令決定部16は、補正後の座標変換行列CWを上記の式(2)に代入する。 However, when the offset data 11d is stored in the storage unit 11, the operation command determination unit 16 corrects the coordinate transformation matrix C H W indicating the position / orientation detected by the detection unit 15 by the offset amount indicated by the offset data 11d. To do. The operation command determination unit 16 substitutes the corrected coordinate transformation matrix C H W into the above equation (2).

通信部17は、ロボットコントローラ200と通信可能であり、動作指令決定部16によって生成された動作指令をロボットコントローラ200に送信する。 The communication unit 17 can communicate with the robot controller 200, and transmits the operation command generated by the operation command determination unit 16 to the robot controller 200.

UI処理部13は、画像処理装置100の動作およびロボット300の動作に関する情報をユーザに提供する処理を実行する。図8に示されるように、UI処理部13は、解析部18と設定部19とを含む。 The UI processing unit 13 executes a process of providing the user with information regarding the operation of the image processing device 100 and the operation of the robot 300. As shown in FIG. 8, the UI processing unit 13 includes an analysis unit 18 and a setting unit 19.

解析部18は、3D画像生成部14によって生成された直近の三次元点群データと、当該三次元点群データに対する検出部15の検出結果(ワーク1の位置姿勢)とを取得する。解析部18は、取得した三次元点群データおよび検出結果に対する解析処理を実行し、解析結果を示す解析画面を表示装置150に表示する。解析画面の詳細については後述する。 The analysis unit 18 acquires the latest three-dimensional point cloud data generated by the 3D image generation unit 14 and the detection result (position and orientation of the work 1) of the detection unit 15 for the three-dimensional point cloud data. The analysis unit 18 executes analysis processing on the acquired three-dimensional point cloud data and the detection result, and displays an analysis screen showing the analysis result on the display device 150. The details of the analysis screen will be described later.

設定部19は、三次元サーチによって検出された位置姿勢に対するオフセット量を設定する。後述するように解析部18によって表示装置150に表示される解析画面には、オフセット量を設定するための入力欄が設けられる。設定部19は、当該入力欄への入力に従ってオフセット量を設定する。設定部19は、設定したオフセット量を示すオフセットデータ11dを生成し、生成したオフセットデータ11dを記憶部11に格納する。 The setting unit 19 sets the offset amount with respect to the position / orientation detected by the three-dimensional search. As will be described later, the analysis screen displayed on the display device 150 by the analysis unit 18 is provided with an input field for setting the offset amount. The setting unit 19 sets the offset amount according to the input to the input field. The setting unit 19 generates offset data 11d indicating the set offset amount, and stores the generated offset data 11d in the storage unit 11.

<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 the display device by the analysis unit shown in FIG. The analysis screen 50a illustrated in FIG. 9 includes regions 51, 60 to 62, similar to the analysis screen 50 shown in FIG. The analysis screen 50a further sets an input field 63 for selecting one work model arranged in the detected position and orientation, input fields 64 and 65 for inputting an offset amount, and an offset amount. Includes OK button 68 and.

解析部18は、3D画像生成部14から取得した三次元点群データで示される距離画像を領域51に表示する。さらに、解析部18は、検出部15から取得した検出結果で示されるワーク1の位置姿勢に配置したワークモデル71をXY平面に投影した領域の輪郭71dを距離画像に重畳表示する。具体的には、解析部18は、検出結果で示される位置姿勢と一致するようCADデータ11bの座標を変換する。ワークモデル71は、座標変換されたCADデータ11bによって示される。 The analysis unit 18 displays the distance image represented by the three-dimensional point cloud data acquired from the 3D image generation unit 14 in the area 51. Further, the analysis unit 18 superimposes and displays the contour 71d of the region where the work model 71 arranged in the position and orientation of the work 1 indicated by the detection result acquired from the detection unit 15 is projected on the XY plane on the distance image. Specifically, the analysis unit 18 converts the coordinates of the CAD data 11b so as to match the position and orientation indicated by the detection result. The work model 71 is represented by the coordinate-transformed CAD data 11b.

解析部18は、距離画像上のライン53のX座標=x0に基づいて、X軸に直交する第1仮想平面を決定する。具体的には、解析部18は、x=x0で示される平面を第1仮想平面として決定する。 The analysis unit 18 determines a first virtual plane orthogonal to the X axis based on the X coordinate = x0 of the line 53 on the distance image. Specifically, the analysis unit 18 determines the plane represented by x = x0 as the first virtual plane.

解析部18は、ワークモデル71における第1仮想平面との交差部分71aを領域60に表示する。上述したように、ワークモデル71は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される。解析部18は、座標変換されたCADデータ11bによって示される面要素(三角メッシュなど)と第1仮想平面との交線を交差部分71aとして表示させる。 The analysis unit 18 displays the intersection 71a with the first virtual plane in the work model 71 in the area 60. As described above, the work model 71 is indicated by the CAD data 11b whose coordinates have been transformed so as to match the position and orientation indicated in the detection result. The analysis unit 18 displays the line of intersection between the surface element (triangular mesh or the like) indicated by the coordinate-transformed CAD data 11b and the first virtual plane as the intersection portion 71a.

さらに、解析部18は、三次元点群データで示される計測表面70における第1仮想平面との交差部分70aを領域60に表示する。すなわち、解析部18は、交差部分70aと交差部分71aとを重畳表示させる。 Further, the analysis unit 18 displays the intersection 70a with the first virtual plane on the measurement surface 70 represented by the three-dimensional point cloud data in the region 60. That is, the analysis unit 18 superimposes and displays the intersection portion 70a and the intersection portion 71a.

三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、ライン53のX座標は、所定ピッチΔx間隔のx1,・・・,xMのいずれかのみを取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第1仮想平面と同じX座標(=x0)を有する点の座標を抽出し、抽出した座標に基づいて、交差部分70aを領域60に表示させる。 When the three-dimensional point cloud data shows the coordinates (x 1 , y 1 , z 1 ), ..., (X M , y N , z NM ) of M × N points on the measurement surface, the line 53 The X coordinate may be set so that only one of x 1, ..., X M of a predetermined pitch Δx interval can be taken. In this case, the analysis unit 18 extracts the coordinates of the points having the same X coordinates (= x0) as the first virtual plane from the three-dimensional point cloud data, and based on the extracted coordinates, sets the intersection portion 70a into the region 60. Display it.

ライン53のX座標は、x1,・・・,xMだけでなく、他の値も取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第1仮想平面を挟み込む2つの点からなるペアをN個抽出する。ペアは、X軸方向に沿った距離が所定ピッチΔx以下となる2点からなる。例えば、第1仮想平面のX座標x0がxk-1<x0<xである場合、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 so that not only x 1 , ..., X M but also other values can be taken. In this case, the analysis unit 18 extracts N pairs consisting of two points sandwiching the first virtual plane from the three-dimensional point cloud data. The pair consists of two points whose distance along the X-axis direction is equal to or less than a predetermined pitch Δx. For example, when the X coordinate x0 of the first virtual plane is x k-1 <x 0 <x k, the N pairs are points (x k-1 , y i , z (i-1) M + k-. It is a pair (i is an integer of 1 to N) consisting of 1) and a point (x k , y i , z (i-1) M + k). For each of the N pairs, the analysis unit 18 performs an interpolation calculation using the coordinates of the two points constituting the pair on the intersection line between the measurement surface indicated by the three-dimensional point cloud data and the first virtual plane. Find the coordinates of the point. For example, the analysis unit 18 uses the coordinates (x k-1 , y 1 , z k-1 ) and the coordinates (x k , y 1 , z k ) on the intersection line between the measurement surface and the first virtual plane. point of coordinates (x0, y 1, {( x k -x0) z k-1 + (x0-x k-1) z k} / (x k -x k-1)) for calculating a.

解析部18は、ライン53の位置が変更されるたびに、変更後のライン53の位置に応じて領域60に表示される交差部分70a,71aを更新する。これにより、ユーザは、ライン53の位置を変更することにより、所望の位置の第1仮想平面上の交差部分70a,71aの相対位置関係を確認できる。 Each time the position of the line 53 is changed, the analysis unit 18 updates the intersecting portions 70a and 71a displayed in the area 60 according to the changed position of the line 53. As a result, the user can confirm the relative positional relationship between the intersecting portions 70a and 71a on the first virtual plane at the desired position by changing the position of the line 53.

解析部18は、距離画像上のライン54のY座標=y0に基づいて、Y軸に直交する第2仮想平面を決定する。具体的には、解析部18は、y=y0で示される平面を第2仮想平面として決定する。 The analysis unit 18 determines a second virtual plane orthogonal to the Y axis based on the Y coordinate = y0 of the line 54 on the distance image. Specifically, the analysis unit 18 determines the plane represented by y = y0 as the second virtual plane.

解析部18は、ワークモデル71における第2仮想平面との交差部分71bを領域61に表示する。解析部18は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される面要素と第2仮想平面との交線を交差部分71bとして表示させる。 The analysis unit 18 displays the intersection 71b with the second virtual plane in the work model 71 in the area 61. The analysis unit 18 displays the line of intersection between the surface element and the second virtual plane indicated by the CAD data 11b coordinate-transformed so as to match the position and orientation indicated by the detection result as the intersection portion 71b.

さらに、解析部18は、三次元点群データで示される計測表面70における第2仮想平面との交差部分70bを領域61に表示する。すなわち、解析部18は、交差部分70bと交差部分71bとを重畳表示させる。 Further, the analysis unit 18 displays the intersection 70b with the second virtual plane on the measurement surface 70 indicated by the three-dimensional point cloud data in the region 61. That is, the analysis unit 18 superimposes and displays the intersection portion 70b and the intersection portion 71b.

三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、ライン54のY座標は、所定ピッチΔy間隔のy1,・・・,yNのいずれかのみを取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第2仮想平面と同じY座標(=y0)を有する点の座標を抽出し、抽出した座標に基づいて、交差部分70bを領域61に表示させる。 When the three-dimensional point cloud data shows 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 only one of y 1, ..., Y N at a predetermined pitch Δy interval can be taken. In this case, the analysis unit 18 extracts the coordinates of the points having the same Y coordinates (= y0) as the second virtual plane from the three-dimensional point cloud data, and based on the extracted coordinates, sets the intersecting portion 70b into the region 61. Display it.

ライン54のY座標は、y1,・・・,yNだけでなく、他の値も取り得るように設定されていてもよい。この場合、解析部18は、三次元点群データから、第2仮想平面を挟み込む2つの点からなるペアをM個抽出する。ペアは、Y軸方向に沿った距離が所定ピッチΔy以下となる2点からなる。例えば、第2仮想平面のY座標y0がyk-1<y0<yである場合、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 so that not only y 1 , ..., Y N but also other values can be taken. In this case, the analysis unit 18 extracts M pairs consisting of two points sandwiching the second virtual plane from the three-dimensional point cloud data. The pair consists of two points whose distance along the Y-axis direction is equal to or less than a predetermined pitch Δy. For example, when the Y coordinate y0 of the second virtual plane is y k-1 <y0 <y k , the M pairs are points (x j , y k-1 , z (k-1) M + j ). It is a pair consisting of a point (x j , y k , z kM + j ) (j is an integer of 1 to M). For each of the M pairs, the analysis unit 18 performs an interpolation calculation using the coordinates of the two points constituting the pair on the intersection of the measurement surface represented by the three-dimensional point cloud data and the first virtual plane. Find the coordinates of the point. For example, the analysis unit 18 uses the coordinates (x 1 , y k-1 , z (k-1) M + 1 ) and the coordinates (x 1 , y k , z kM + 1 ) to make the measurement surface and the first. 2 Coordinates of points on the intersection with the virtual plane (x 1 , y0, {(y k − y0) z (k-1) M + 1 + (y0 − y k-1 ) z kM + 1 } / (y) k -y k-1)) to calculate the.

解析部18は、ライン54の位置が変更されるたびに、変更後のライン54の位置に応じて領域61に表示される交差部分70b,71bを更新する。これにより、ユーザは、ライン54の位置を変更することにより、所望の位置の第2仮想平面上の交差部分70b,71bの相対位置関係を確認できる。 Each time the position of the line 54 is changed, the analysis unit 18 updates the intersecting portions 70b and 71b displayed in the area 61 according to the changed position of the line 54. As a result, the user can confirm the relative positional relationship between the intersecting portions 70b and 71b on the second virtual plane at the desired position by changing the position of the line 54.

解析部18は、カラーバー52上のライン55のZ座標=z0に基づいて、Z軸に直交する第3仮想平面を決定する。具体的には、解析部18は、z=z0で示される平面を第3仮想平面として決定する。 The analysis unit 18 determines a third virtual plane orthogonal to the Z axis based on the Z coordinate = z0 of the line 55 on the color bar 52. Specifically, the analysis unit 18 determines the plane represented by z = z0 as the third virtual plane.

解析部18は、ワークモデル71における第3仮想平面との交差部分71cを領域62に表示する。解析部18は、検出結果で示される位置姿勢と一致するように座標変換されたCADデータ11bによって示される面要素と第3仮想平面との交線を交差部分71cとして表示させる。 The analysis unit 18 displays the intersection 71c with the third virtual plane in the work model 71 in the area 62. The analysis unit 18 displays the line of intersection between the surface element and the third virtual plane indicated by the CAD data 11b coordinate-transformed so as to match the position and orientation indicated by the detection result as the intersection portion 71c.

さらに、解析部18は、三次元点群データで示される計測表面70における第3仮想平面との交差部分70cを領域62に表示する。すなわち、解析部18は、交差部分70cと交差部分71cとを重畳表示させる。 Further, the analysis unit 18 displays the intersection 70c with the third virtual plane on the measurement surface 70 indicated by the three-dimensional point cloud data in the region 62. That is, the analysis unit 18 superimposes and displays the intersection portion 70c and the intersection portion 71c.

三次元点群データが計測表面上の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 cloud data shows the coordinates (x 1 , y 1 , z 1 ), ..., (X M , y N , z NM ) of M × N points on the measurement surface, the analysis unit 18 Extracts a pair consisting of two points sandwiching the third virtual plane from the three-dimensional point cloud data. The pair consists of two points where the distance along the X-axis direction is equal to or less than the predetermined pitch Δx, or two points where the distance along the Y-axis direction is equal to or less than the predetermined pitch Δy. For each pair, the analysis unit 18 performs an interpolation calculation using the coordinates of the two points constituting the pair to obtain the coordinates of the points on the intersection line between the measurement surface and the third virtual plane indicated by the three-dimensional point cloud data. Ask. For example, the analysis unit 18 has coordinates (x 1 , y 1 , z 1 ), (x 2 , y 1 , z 2 ) (where z 1 and z 2 are z) of two points constituting one pair. 1 <z0 <z 2 or z 2 <z0 with <satisfy z 1), the measuring surface and the third point on the intersection line between the virtual plane coordinates ({(| z 2 -z0 | ) x 1 + ( | Z0-z 1 |) x 2 } / (| z 2- z 1 |), y 1 , z0) is calculated. Similarly, the analysis unit 18 has coordinates (x 1 , y 1 , z 1 ), (x 1 , y 2 , z M + 1 ) (where z 1 and z M + 1) of two points constituting one pair. +1 uses z 1 <z 0 <z M + 1 or z M + 1 <z 0 <z 1 to satisfy the coordinates of points on the intersection of the measurement surface and the third virtual plane (x 1 , { (| z M + 1 -z0 | ) y 1 + (| z0-z 1 |) y 2} / (| z M + 1 -z 1 |), z0) calculates a.

解析部18は、ライン55の位置が変更されるたびに、変更後のライン55の位置に応じて領域62に表示される交差部分70c,71cを更新する。これにより、ユーザは、ライン55の位置を変更することにより、所望の位置の第3仮想平面上の交差部分70b,71bの相対位置関係を確認できる。 Each time the position of the line 55 is changed, the analysis unit 18 updates the intersecting portions 70c and 71c displayed in the area 62 according to the changed position of the line 55. As a result, the user can confirm the relative positional relationship of the intersecting portions 70b and 71b on the third virtual plane at the desired position by changing the position of the line 55.

解析部18は、検出部15から取得した検出結果で示される1以上のワーク1の位置姿勢の各々に対してユニークな識別番号を付与する。 The analysis unit 18 assigns a unique identification number to each of the positions and orientations of one or more work 1s indicated by the detection results acquired from the detection unit 15.

入力欄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 work model 71 used for setting the offset amount is input. The analysis unit 18 highlights the contours 71d and the intersecting portions 71a to 71c corresponding to the work model 71 arranged in the position and orientation of the identification number input in the input field 63 in the areas 51 and 60 to 62, respectively. In the analysis screen 50a illustrated in FIG. 9, the contour 71d_s and the intersecting portions 71a_s to 71c_s corresponding to the work model 71 arranged in the position and orientation of the identification number input in the input field 63 are displayed by thick lines.

入力欄64には、オフセット量の並進成分(X軸、Y軸およびZ軸の各々の並進成分)が入力される。入力欄64にオフセット量の並進成分が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s〜71c_sを当該並進成分だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。 A translational component of the offset amount (translational component of each of the X-axis, Y-axis, and Z-axis) is input to the input field 64. When the translational component of the offset amount is input to the input field 64, the analysis unit 18 uses only the translational component of the intersecting portions 71a_s to 71c_s of the work model 71_s arranged at the position and orientation of the identification number input to the input field 63. Move. As a result, the user can visually recognize the magnitude of the offset amount.

入力欄65には、オフセット量の回転成分(X軸、Y軸およびZ軸の各々の並進成分)が入力される。入力欄65は、回転中心を設定するためのラジオボタン群66を含む。ラジオボタン群66は、クリック位置を回転中心に設定するためのラジオボタンと、ワークモデル71の重心を回転中心に設定するためのラジオボタンと、ワークモデル71を示す座標変換後のCADデータ11bの原点を回転中心に設定するためのラジオボタンとを含む。 In the input field 65, the rotation component of the offset amount (translational component of each of the X-axis, Y-axis, and Z-axis) is input. The input field 65 includes a radio button group 66 for setting the center of rotation. The radio button group 66 includes a radio button for setting the click position at the center of rotation, a radio button for setting the center of gravity of the work model 71 at the center of rotation, and CAD data 11b after coordinate conversion indicating the work model 71. Includes a radio button to set the origin to the center of rotation.

さらに、入力欄65は、回転角度を入力するための入力欄67を含む。入力欄67に回転角度が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s〜71c_sを当該回転角度だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。このとき、解析部18は、ラジオボタン群66においてチェックされたラジオボタンに対応する位置を回転中心とする。 Further, the input field 65 includes an input field 67 for inputting a rotation angle. When the rotation angle is input to the input field 67, the analysis unit 18 moves the intersecting portions 71a_s to 71c_s of the work model 71_s arranged at the position and orientation of the identification number input in the input field 63 by the rotation angle. As a result, the user can visually recognize the magnitude of the offset amount. At this time, the analysis unit 18 sets the position corresponding to the radio button checked in the radio button group 66 as the center of rotation.

設定部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 unit 19 sets the offset amount according to the input to the input fields 64 and 65. The setting unit 19 generates offset data 11d indicating the set offset amount. The offset data 11d is represented by a coordinate transformation matrix. The analysis screen 50a shown in FIG. 9 includes both input fields 64 and 65. As a result, the setting unit 19 can set both the rotation component and the translation component of the offset amount. However, one of the input fields 64 and 65 may be omitted. In this case, the setting unit 19 only needs to set one of the rotation component and the translation component of the offset amount.

設定部19は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s〜71c_sに対する移動操作(ドラッグ操作)を受け付けてもよい。設定部19は、ドラッグ操作に応じて入力欄64,65の数値を変更してもよい。すなわち、設定部19は、ワークモデル71_sの交差部分71a_s〜71c_sに対する移動操作に従って、オフセット量を設定してもよい。 The setting unit 19 may accept a movement operation (drag operation) for the intersecting portions 71a_s to 71c_s of the work model 71_s arranged at the position and orientation of the identification number input in the input field 63. The setting unit 19 may change the numerical values in the input fields 64 and 65 according to the drag operation. That is, the setting unit 19 may set the offset amount according to the movement operation for the intersecting portions 71a_s to 71c_s of the work model 71_s.

例えば、領域60に表示されている交差部分71a_sに対する並進移動操作により、設定部19は、オフセット量のY軸方向およびZ軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。領域61に表示されている交差部分71b_sに対する並進移動により、設定部19は、オフセット量のX軸方向およびZ軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。領域62に表示されている交差部分71c_sに対する並進移動により、設定部19は、オフセット量のX軸方向およびY軸方向の少なくとも一方の並進成分の入力を受け付けてもよい。 For example, the setting unit 19 may accept the input of at least one translation component in the Y-axis direction and the Z-axis direction of the offset amount by the translation movement operation with respect to the intersection portion 71a_s displayed in the area 60. Due to the translational movement with respect to the intersecting portion 71b_s displayed in the region 61, the setting unit 19 may accept the input of at least one translational component of the offset amount in the X-axis direction and the Z-axis direction. Due to the translational movement with respect to the intersecting portion 71c_s displayed in the region 62, the setting unit 19 may accept the input of at least one translational component in the X-axis direction and the Y-axis direction of the offset amount.

また、領域60に表示されている交差部分71a_sに対する回転移動操作により、設定部19は、X軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域61に表示されている交差部分71b_sに対する回転移動操作により、設定部19は、Y軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域62に表示されている交差部分71c_sに対する回転移動操作により、設定部19は、Z軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。 Further, the setting unit 19 may accept the input of the rotation component of the offset amount about the axis parallel to the X axis by the rotation movement operation with respect to the intersection portion 71a_s displayed in the area 60. By the rotation movement operation with respect to the intersection portion 71b_s displayed in the area 61, the setting unit 19 may accept the input of the rotation component of the offset amount about the axis parallel to the Y axis. By the rotation movement operation with respect to the intersection portion 71c_s displayed in the area 62, the setting unit 19 may accept the input of the rotation component of the offset amount about the axis parallel to the Z axis.

図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 an input of a rotation component of an offset amount by a drag operation. FIG. 10 shows an example of a screen when receiving an input of a rotation component having an offset amount centered on an axis parallel to the Y axis. As shown in FIG. 10, the setting unit 19 displays a mark 72 indicating the center of rotation. The position of the mark 72 corresponds to the radio button checked in the radio button group 66. The setting unit 19 receives an input of a rotation angle centered on an axis parallel to the Y axis in response to a drag operation (drag operation in the direction of the arrow 73) with respect to the intersecting portion 71b_s.

<D.オフセット量の第1の設定例>
図4および図5を用いて上述したように、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71は、三次元点群データで示される計測表面70に対して常に一定方向に並進または回転し得る。ユーザは、図8に例示される解析画面50aを確認することにより、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれを確認できる。このようなずれが確認されたことに応じて、ユーザは、例えば検出アルゴリズムを見直す対応を取ることができる。しかしながら、一般に検出アルゴリズムは複雑であり、ユーザは、このような対応を簡単に取ることができない。そこで、ユーザは、このようなずれを解消するためのオフセット量を入力すればよい。
<D. First setting example of offset amount>
As described above with reference to FIGS. 4 and 5, the work model 71 arranged in the detected position / orientation due to the habit of the detection algorithm is always in a fixed direction with respect to the measurement surface 70 indicated by the three-dimensional point cloud data. Can be translated or rotated. By confirming the analysis screen 50a illustrated in FIG. 8, the user can confirm the deviation between the work model 71 arranged in the detected position and orientation and the measurement surface 70. Depending on the confirmation of such a deviation, the user can take measures such as reviewing the detection algorithm. However, the detection algorithm is generally complicated, and the user cannot easily take such a measure. Therefore, the user may input an offset amount for eliminating such a deviation.

図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 a state before setting the offset amount, and (b) shows a state after setting the offset amount. In FIG. 11, the lower part shows the work model 71 and the measurement surface 70 arranged in the detected position and orientation, and the upper part shows the work 1 and the end effector 30 when gripping the work 1.

図11には、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71が計測表面70に対して−Z方向に並進している例が示される。この場合、(a)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)よりも−Z方向に移動する。その結果、例えば爪33が他のワーク1と衝突する可能性が高くなる。 FIG. 11 shows an example in which the work model 71 arranged in the detected position and orientation is translated in the −Z direction with respect to the measurement surface 70 due to the habit of the detection algorithm. In this case, as shown in the upper part of (a), the gripping position of the end effector 30 with respect to the work 1 is larger than the relative position of the end effector model 30M with respect to the work model 1M shown in the gripping point data 11c (see FIG. 3). Move in the −Z direction. As a result, for example, the possibility that the claw 33 collides with the other work 1 increases.

そのため、ユーザは、ワークモデル71と計測表面70とのずれが小さくなるようにオフセット量を入力する。具体的には、ユーザは、+Z方向の並進成分を入力する。これにより、(b)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)に近づく。その結果、例えば爪33が他のワーク1と衝突する可能性を低減できる。 Therefore, the user inputs the offset amount so that the deviation between the work model 71 and the measurement surface 70 becomes small. Specifically, the user inputs a translational component in the + Z direction. As a result, as shown in the upper part of (b), the gripping position of the end effector 30 with respect to the work 1 approaches the relative position (see FIG. 3) of the end effector model 30M with respect to the work model 1M shown in the gripping point data 11c. .. As a result, for example, the possibility that the claw 33 collides with another work 1 can be reduced.

<E.オフセット量の第2の設定例>
上述したように、動作指令決定部16は、上記の式(2)を用いて動作指令を生成する。式(2)において、座標変換行列BCには、キャリブレーションの誤差に起因する成分が含まれる。座標変換行列CWには、ワーク1の実際の寸法とCADデータ11bで示されるワークモデルの寸法との誤差(製造公差、ワーク1の製造装置の経年変化による誤差などを含む)に起因する成分が含まれる。さらに、上記の式(2)を用いて算出した座標変換行列BTに従って動作指令を生成したとしても、ロボット300の経年変化、ロボット300の周囲の温度の影響により、動作指令とロボット300の実際の動作とに誤差が生じ得る。これらの原因により、ワークモデル71と計測表面70とのずれが小さい場合であっても、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)と一致しないことがある。
<E. Second setting example of offset amount>
As described above, the operation command determination unit 16 generates an operation command using the above equation (2). In the equation (2), the coordinate transformation matrix B H C contains a component due to a calibration error. The coordinate transformation matrix C H W is caused by an error between the actual dimensions of the work 1 and the dimensions of the work model shown in the CAD data 11b (including manufacturing tolerances, errors due to aging of the manufacturing equipment of the work 1). Contains ingredients. Furthermore, even when generating an operation command according to the coordinate transformation matrix B H T calculated using the above equation (2), aging of the robot 300, due to the influence of ambient temperature of the robot 300, the operation command and the robot 300 There may be an error with the actual operation. Due to these causes, even when the deviation between the work model 71 and the measurement surface 70 is small, the gripping position of the end effector 30 with respect to the work 1 is the gripping position of the end effector model 30M with respect to the work model 1M shown by the gripping point data 11c. It may not match the relative position (see FIG. 3).

図12は、検出された位置姿勢に配置したワークモデルとワークとの並進ずれの一例を示す図である。図12に示す例では、ワーク1の実際の位置は、ワークモデル71の位置よりも−Z方向にずれている。そのため、エンドエフェクタ30によってワーク1が把持されない可能性がある。 FIG. 12 is a diagram showing an example of translational deviation between the work model and the work arranged in the detected position and orientation. In the example shown in FIG. 12, the actual position of the work 1 is deviated from the position of the work model 71 in the −Z direction. Therefore, the work 1 may not be gripped by the end effector 30.

図13は、検出された位置姿勢に配置したワークモデルとワークとの回転ずれの一例を示す図である。ワーク1が細長い形状を有している場合、ワーク1の長手方向とXY平面とのなす角度が少し異なっていても、計測ヘッド400の撮像部402から見たときのワーク1の形状の変化が小さい。そのため、図13に示されるように、ワーク1の長手方向とXY平面との実際のなす角度は、ワークモデル71の長手方向とXY平面とのなす角度からずれ得る。そのため、エンドエフェクタ30によってワーク1が把持されない可能性がある。 FIG. 13 is a diagram showing an example of rotational deviation between the work model arranged in the detected position and orientation and the work. When the work 1 has an elongated shape, even if the angle formed by the longitudinal direction of the work 1 and the XY plane is slightly different, the shape of the work 1 changes when viewed from the imaging unit 402 of the measuring head 400. small. Therefore, as shown in FIG. 13, the actual angle formed by the longitudinal direction of the work 1 and the XY plane may deviate from the angle formed by the longitudinal direction of the work model 71 and the XY plane. Therefore, the work 1 may not be gripped by the end effector 30.

このようなケースであっても、ユーザは、図8に解析画面50aにおいてオフセット量を入力することができる。ユーザは、エンドエフェクタ30がワーク1を把持するときの状態を確認し、当該状態に応じてオフセット量を入力すればよい。 Even in such a case, the user can input the offset amount on the analysis screen 50a in FIG. The user may confirm the state when the end effector 30 grips the work 1 and input the offset amount according to the state.

図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. The lower part shows the work model 71 and the measurement surface 70 arranged in the detected position and orientation, and the upper part shows the relative positional relationship between the work 1 and the end effector 30.

図14には、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれが小さい例が示される。しかしながら、(a)の上部に示されるように、上記の原因により、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)よりも+Z方向に移動している。そのため、ワーク1を把持できない可能性がある。 FIG. 14 shows an example in which the deviation between the work model 71 arranged in the detected position and orientation and the measurement surface 70 is small. However, as shown in the upper part of (a), due to the above cause, the gripping position of the end effector 30 with respect to the work 1 is the relative position of the end effector model 30M with respect to the work model 1M shown in the gripping point data 11c (FIG. 3). (See) is moving in the + Z direction. Therefore, there is a possibility that the work 1 cannot be gripped.

このような場合、ユーザは、エンドエフェクタ30がワーク1を把持できるようにオフセット量を入力すればよい。具体的には、ユーザは、−Z方向の並進成分を入力する。このとき、ワークモデル71と計測表面70とのずれ量は、オフセット量に対応する。そのため、ユーザは、解析画面50aに表示される計測表面70を参考にしながら適切なオフセット量を入力することができる。適切なオフセット量が設定されることにより、(b)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)に近づく。その結果、エンドエフェクタ30は、ワーク1を正確に把持できる。 In such a case, the user may input the offset amount so that the end effector 30 can grip the work 1. Specifically, the user inputs a translational component in the −Z direction. At this time, the amount of deviation between the work model 71 and the measurement surface 70 corresponds to the offset amount. Therefore, the user can input an appropriate offset amount while referring to the measurement surface 70 displayed on the analysis screen 50a. By setting an appropriate offset amount, as shown in the upper part of (b), the gripping position of the end effector 30 with respect to the work 1 is relative to the end effector model 30M with respect to the work model 1M shown in the gripping point data 11c. Approach the position (see FIG. 3). As a result, the end effector 30 can accurately grip the work 1.

<F.解析モード時の画像処理装置の処理の流れ>
図15は、解析モード時の画像処理装置の処理の流れを示すフローチャートである。まず、CPU110は、計測ヘッド400から取得した画像データ11aに基づいて、視野領域の物体表面(計測表面)を示す三次元点群データを生成する(ステップS1)。CPU110は、三次元点群データとワーク1の三次元形状を示すモデル(CADデータ11bで示されるワークモデル)とに基づいて、ワーク1の位置姿勢を検出する(ステップS2)。
<F. Processing flow of the image processing device in the analysis mode>
FIG. 15 is a flowchart showing a processing flow of the image processing apparatus in the analysis mode. First, the CPU 110 generates three-dimensional point cloud data indicating an object surface (measurement surface) in the visual field region based on the image data 11a acquired from the measurement head 400 (step S1). The CPU 110 detects the position and orientation of the work 1 based on the three-dimensional point cloud data and the model showing the three-dimensional shape of the work 1 (the work model shown by the CAD data 11b) (step S2).

CPU110は、X軸、Y軸およびZ軸の各々について、検出された位置姿勢に配置されたワークモデル71における当該軸に直交する平面との交差部分と、三次元点群データで示される計測表面における当該平面との交差部分とを表示装置150に重畳表示する(ステップS3)。具体的には、図8に示すような解析画面50aが表示装置150に表示される。CPU110は、解析画面50aへの入力に従って、検出された位置姿勢に対するオフセット量を設定する(ステップS4)。ステップS4の後、画像処理装置100は、解析モードの処理を終了する。 The CPU 110 has, for each of the X-axis, the Y-axis, and the Z-axis, the intersection with the plane orthogonal to the axis in the work model 71 arranged in the detected position and orientation, and the measurement surface indicated by the three-dimensional point cloud data. The intersection with the plane in the above is superimposed and displayed on the display device 150 (step S3). Specifically, the analysis screen 50a as shown in FIG. 8 is displayed on the display device 150. The CPU 110 sets the offset amount with respect to the detected position / orientation according to the input to the analysis screen 50a (step S4). After step S4, the image processing apparatus 100 ends the processing in the analysis mode.

<G.通常モード時の画像処理装置の処理の流れ>
図16は、通常モード時の画像処理装置の処理の流れを示すフローチャートである。まず、CPU110は、計測ヘッド400から取得した画像データ11aに基づいて、視野領域の物体表面(計測表面)を示す三次元点群データを生成する(ステップS11)。CPU110は、三次元点群データとワーク1の三次元形状を示すモデル(CADデータ11bで示されるワークモデル)とに基づいて、ワーク1の位置姿勢を検出する(ステップS12)。
<G. Processing flow of image processing device in normal mode>
FIG. 16 is a flowchart showing a processing flow of the image processing apparatus in the normal mode. First, the CPU 110 generates three-dimensional point cloud data indicating an object surface (measurement surface) in the visual field region based on the image data 11a acquired from the measurement head 400 (step S11). The CPU 110 detects the position and orientation of the work 1 based on the three-dimensional point cloud data and the model showing the three-dimensional shape of the work 1 (the work model shown by the CAD data 11b) (step S12).

CPU110は、解析モードにおいて設定されたオフセット量だけ、検出されたワーク1の位置姿勢を補正する(ステップS13)。CPU110は、補正された位置姿勢に応じて、ワーク1をピッキングするロボット300の動作を決定する(ステップS14)。CPU110は、決定した動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する(ステップS15)。ステップS15の後、画像処理装置100は、通常モードの処理を終了する。 The CPU 110 corrects the detected position and orientation of the work 1 by the offset amount set in the analysis mode (step S13). The CPU 110 determines the operation of the robot 300 that picks the work 1 according to the corrected position / orientation (step S14). The CPU 110 generates an operation command corresponding to the determined operation, and outputs the generated operation command to the robot controller 200 (step S15). After step S15, the image processing apparatus 100 ends the processing in the normal mode.

<H.変形例>
上記の説明では、解析画面50,50aの領域60〜62には、X,Y,Z軸に直交する仮想平面と、ワークモデル71および計測表面70との交差部分がそれぞれ表示される。しかしながら、仮想平面を定義付ける1以上の軸は、X,Y,Z軸に限定されず、例えば、X,Y,Z軸から所定角度だけ傾斜した、互いに直交する3つの軸であってもよい。また、仮想平面を定義付ける軸の方向は、ユーザの操作によって可変であってもよい。これにより、ユーザは、確認したい方向に軸を適宜変更することができる。
<H. Modification example>
In the above description, in the regions 60 to 62 of the analysis screens 50 and 50a, the intersections of the virtual plane orthogonal to the X, Y, and Z axes and the work model 71 and the measurement surface 70 are displayed, respectively. However, the one or more axes that define the virtual plane are not limited to the X, Y, and Z axes, and may be, for example, three axes that are orthogonal to each other and are inclined by a predetermined angle from the X, Y, and Z axes. Further, the direction of the axis that defines the virtual plane may be variable by the operation of the user. As a result, the user can appropriately change the axis in the desired direction.

<I.作用・効果>
以上のように、本実施の形態に係る画像処理装置100は、3D画像生成部14と、検出部15と、解析部18とを備える。3D画像生成部14は、ワーク1が視野領域に含まれるように設置された撮像部402から得られる画像に基づいて、視野領域の三次元点群データを生成する。検出部15は、三次元点群データとワーク1の三次元形状を示すワークモデルとに基づいてワーク1の位置姿勢を検出する。解析部18は、1以上の軸の各々について、検出部15によって検出された位置姿勢に配置されたワークモデルにおける当該軸に直交する仮想平面との交差部分と、三次元点群データで示される計測表面における仮想平面との交差部分とを表示装置150に重畳表示させる。
<I. Action / effect>
As described above, the image processing apparatus 100 according to the present embodiment includes a 3D image generation unit 14, a detection unit 15, and an analysis unit 18. The 3D image generation unit 14 generates the three-dimensional point cloud data of the visual field region based on the image obtained from the image pickup unit 402 installed so that the work 1 is included in the visual field region. The detection unit 15 detects the position and orientation of the work 1 based on the three-dimensional point cloud data and the work model showing the three-dimensional shape of the work 1. The analysis unit 18 is indicated by three-dimensional point cloud data and an intersection with a virtual plane orthogonal to the axis in the work model arranged in the position and orientation detected by the detection unit 15 for each of the one or more axes. The intersection with the virtual plane on the measurement surface is superimposed and displayed on the display device 150.

上記の構成によれば、ユーザは、各軸に直交する仮想平面上での2つの交差部分のずれを確認することができる。当該ずれは、三次元サーチによるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、三次元サーチによるワークの位置姿勢の検出精度を確認しやすくなる。 According to the above configuration, the user can confirm the deviation of the two intersections on the virtual plane orthogonal to each axis. The deviation depends on the detection accuracy of the position and orientation of the work by the three-dimensional search. Therefore, the user can easily confirm the detection accuracy of the position and orientation of the work by the 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. As a result, the user can move the virtual plane to a desired position and confirm the intersection of the virtual plane with the work model 71 and the measurement surface 70.

1以上の軸は、互いに直交する3つの軸を含む。これにより、ユーザは、互いに直交する3つの軸にそれぞれ直交する3つの仮想平面とワークモデル71および計測表面70との交差部分を同時に確認できる。 One or more axes include three axes that are orthogonal to each other. As a result, the user can simultaneously confirm the intersections of the three virtual planes orthogonal to the three axes orthogonal to each other and the work model 71 and the measurement surface 70.

画像処理装置100は、設定部19と、動作指令決定部16とをさらに備える。設定部19は、検出された位置姿勢に対するオフセット量を設定する。動作指令決定部16は、検出された位置姿勢からオフセット量だけ移動させた位置姿勢に応じて、ワーク1をピッキングするロボット300の動作を決定する。これにより、ユーザは、オフセット量を指定することにより、ロボットの動作を適宜調整できる。なお、オフセット量は、並進成分および回転成分の少なくとも一方を含む。 The image processing device 100 further includes a setting unit 19 and an operation command determination unit 16. The setting unit 19 sets the offset amount with respect to the detected position / orientation. The operation command determination unit 16 determines the operation of the robot 300 that picks the work 1 according to the position / orientation moved from the detected position / orientation by an offset amount. As a result, the user can appropriately adjust the operation of the robot by specifying the offset amount. The offset amount includes at least one of a translational component and a rotation component.

設定部19は、表示装置150に表示されたワークモデルに対する移動操作に従って、オフセット量を設定する。これにより、ユーザは、ワークモデルに対する移動操作を行なうことにより、オフセット量を容易に指定することができる。 The setting unit 19 sets the offset amount according to the movement operation for the work model displayed on the display device 150. As a result, the user can easily specify the offset amount by performing the movement operation on the work model.

解析部18は、表示装置150に表示されているワークモデルをオフセット量だけ移動させる。これにより、ユーザは、表示装置150に表示されているワークモデルの移動量を確認することにより、オフセット量の大きさを視覚的に認識できる。 The analysis unit 18 moves the work model displayed on the display device 150 by an offset amount. As a result, the user can visually recognize the magnitude of the offset amount by checking the movement amount of the work model displayed on the display device 150.

<J.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
<J. Addendum>
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)。
(Structure 1)
Image processing device (100)
Generation unit (110, 14) that generates three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup apparatus (400, 402) installed so that the object (1) is included in the visual field region. When,
A detection unit (110, 15) that detects the position and orientation of the object (1) based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object (1).
For each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model arranged in the position and orientation detected by the detection unit (110, 15) and the three-dimensional point group data. An image processing device (100) including an analysis unit (110, 18) for superimposing and displaying a second intersection portion with the plane on the surface shown on the display device (150).

(構成2)
前記1以上の軸の各々について、当該軸の方向および当該軸上における前記平面の位置の少なくとも一方は可変である、構成1に記載の画像処理装置(100)。
(Structure 2)
The image processing apparatus (100) according to configuration 1, wherein at least one of the direction of the axis and the position of the plane on the axis is variable for each of the one or more axes.

(構成3)
前記1以上の軸は、互いに直交する3つの軸を含む、構成1または2に記載の画像処理装置(100)。
(Structure 3)
The image processing apparatus (100) according to the configuration 1 or 2, wherein the one or more axes include three axes orthogonal to each other.

(構成4)
前記検出された位置姿勢に対するオフセット量を設定する設定部(110,19)と、
前記検出された位置姿勢から前記オフセット量だけ移動させた位置姿勢に応じて、前記対象物をピッキングするロボットの動作を決定する決定部(110,16)とをさらに備える、構成1から3のいずれかに記載の画像処理装置(100)。
(Structure 4)
Setting units (110, 19) for setting the offset amount with respect to the detected position / orientation, and
Any of the configurations 1 to 3 further comprising a determination unit (110, 16) for determining the operation of the robot picking the object according to the position / orientation moved from the detected position / orientation by the offset amount. The image processing apparatus (100) described in the above.

(構成5)
前記設定部(110,19)は、前記表示装置(150)に表示された前記モデルに対する移動操作に従って、前記オフセット量を設定する、構成4に記載の画像処理装置(100)。
(Structure 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 with respect to the model displayed on the display device (150).

(構成6)
前記解析部(110,19)は、前記表示装置(150)に表示されている前記モデルを前記オフセット量だけ移動させる、構成4に記載の画像処理装置(100)。
(Structure 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)。
(Structure 7)
The image processing apparatus (100) according to any one of configurations 4 to 6, wherein the offset amount includes at least one of a translational component and a rotation component.

(構成8)
画像処理方法であって、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させるステップとを備える、画像処理方法。
(Structure 8)
It is an image processing method
A step of generating three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup apparatus (400, 402) installed so that the object (1) is included in the visual field region.
A step of detecting the position and orientation of the object (1) based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object, and
For each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model arranged in the detected position and orientation, and the plane on the plane indicated by the three-dimensional point cloud data. An image processing method comprising a step of superimposing and displaying two intersecting portions on a display device (150).

(構成9)
画像処理方法をコンピュータに実行させるプログラムであって、
前記画像処理方法は、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物(1)の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させるステップとを備える、プログラム。
(Structure 9)
A program that causes a computer to execute an image processing method.
The image processing method is
A step of generating three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup apparatus (400, 402) installed so that the object (1) is included in the visual field region.
A step of detecting the position and orientation of the object (1) based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object (1).
For each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model arranged in the detected position and orientation, and the plane on the plane indicated by the three-dimensional point cloud data. A program including a step of superimposing and displaying two intersecting portions on a display device (150).

本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although embodiments of the present invention have been described, it should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. 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 ワーク、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 work, 1M, 71 work model, 2 containers, 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 unit, 15 detection unit, 16 operation command determination unit, 17 communication unit, 18 analysis unit, 19 setting unit, 30 end effector, 30M end effector model, 31 articulated arm, 32 base, 33 claws, 50, 50a analysis Screen, 51, 60, 61, 62 areas, 52 color bars, 53, 54, 55 lines, 63, 64, 65, 67 input fields, 66 radio buttons, 68 OK buttons, 70 measurement surfaces, 70a, 70b, 70c , 71a, 71b, 71c intersection, 71d contour, 72 mark, 73 arrow, 100 image processor, 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 measuring head, 401 projection unit, 402 imaging unit, SYS control system.

Claims (9)

画像処理装置であって、
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成する生成部と、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出する検出部と、
1以上の軸の各々について、前記検出部によって検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させる解析部とを備える、画像処理装置。
It is an image processing device
A generator that generates three-dimensional point cloud data in the visual field region based on an image obtained from an image pickup device installed so that the object is included in the visual field region.
A detection unit that detects the position and orientation of the object based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object.
For each of the one or more axes, the first intersecting portion with the plane orthogonal to the axis in the model arranged in the position and orientation detected by the detection unit, and the plane indicated by the three-dimensional point group data. An image processing device including an analysis unit that superimposes and displays a second intersection with a plane on a display device.
前記1以上の軸の各々について、当該軸の方向および当該軸上における前記平面の位置の少なくとも一方は可変である、請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein at least one of the direction of the axis and the position of the plane on the axis is variable for each of the one or more axes. 前記1以上の軸は、互いに直交する3つの軸を含む、請求項1または2に記載の画像処理装置。 The image processing apparatus according to claim 1 or 2, wherein the one or more axes include three axes orthogonal to each other. 前記検出された位置姿勢に対するオフセット量を設定する設定部と、
前記検出された位置姿勢から前記オフセット量だけ移動させた位置姿勢に応じて、前記対象物をピッキングするロボットの動作を決定する決定部とをさらに備える、請求項1から3のいずれか1項に記載の画像処理装置。
A setting unit that sets the offset amount with respect to the detected position / orientation, and
The present invention according to any one of claims 1 to 3, further comprising a determination unit that determines the operation of the robot that picks the object according to the position / orientation moved from the detected position / orientation by the offset amount. The image processing apparatus described.
前記設定部は、前記表示装置に表示された前記モデルに対する移動操作に従って、前記オフセット量を設定する、請求項4に記載の画像処理装置。 The image processing device according to claim 4, wherein the setting unit sets the offset amount according to a movement operation with respect to the model displayed on the display device. 前記解析部は、前記表示装置に表示されている前記モデルを前記オフセット量だけ移動させる、請求項4に記載の画像処理装置。 The image processing device according to claim 4, wherein the analysis unit moves the model displayed on the display device by the offset amount. 前記オフセット量は、並進成分および回転成分の少なくとも一方を含む、請求項4から6のいずれか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 4 to 6, wherein the offset amount includes at least one of a translational component and a rotation component. 画像処理方法であって、
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させるステップとを備える、画像処理方法。
It is an image processing method
A step of generating three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup device installed so that the object is included in the visual field region.
A step of detecting the position and orientation of the object based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object, and
For each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model arranged in the detected position and orientation, and the plane on the plane indicated by the three-dimensional point cloud data. An image processing method including a step of superimposing and displaying two intersecting portions on a display device.
画像処理方法をコンピュータに実行させるプログラムであって、
前記画像処理方法は、
対象物が視野領域に含まれるように設置された撮像装置から得られる画像に基づいて、前記視野領域の三次元点群データを生成するステップと、
前記三次元点群データと前記対象物の三次元形状を示すモデルとに基づいて前記対象物の位置姿勢を検出するステップと、
1以上の軸の各々について、検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置に重畳表示させるステップとを備える、プログラム。
A program that causes a computer to execute an image processing method.
The image processing method is
A step of generating three-dimensional point cloud data of the visual field region based on an image obtained from an image pickup device installed so that the object is included in the visual field region.
A step of detecting the position and orientation of the object based on the three-dimensional point cloud data and a model showing the three-dimensional shape of the object, and
For each of the one or more axes, the first intersection with the plane orthogonal to the axis in the model arranged in the detected position and orientation, and the plane on the plane indicated by the three-dimensional point cloud data. A program including a step of superimposing and displaying two intersections on a display device.
JP2019145441A 2019-08-07 2019-08-07 Image processing device, image processing method and program Active JP7439410B2 (en)

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 true JP2021024052A (en) 2021-02-22
JP7439410B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022250152A1 (en) * 2021-05-28 2022-12-01 京セラ株式会社 Hold position determination device and hold position determination method
CN116611963A (en) * 2023-05-23 2023-08-18 中建安装集团有限公司 Engineering data monitoring and analyzing system and method based on Internet of things

Citations (3)

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

Patent Citations (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022250152A1 (en) * 2021-05-28 2022-12-01 京セラ株式会社 Hold position determination device and hold position determination method
CN116611963A (en) * 2023-05-23 2023-08-18 中建安装集团有限公司 Engineering data monitoring and analyzing system and method based on Internet of things

Also Published As

Publication number Publication date
JP7439410B2 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
JP6427972B2 (en) Robot, robot system and control device
JP6465789B2 (en) Program, apparatus and method for calculating internal parameters of depth camera
JP5469216B2 (en) A device for picking up bulk items by robot
JP6180087B2 (en) Information processing apparatus and information processing method
JP6271953B2 (en) Image processing apparatus and image processing method
EP2636493B1 (en) Information processing apparatus and information processing method
JP5624394B2 (en) Position / orientation measurement apparatus, measurement processing method thereof, and program
JP5852364B2 (en) Information processing apparatus, information processing apparatus control method, and program
KR20140008262A (en) Robot system, robot, robot control device, robot control method, and robot control program
JP6370038B2 (en) Position and orientation measurement apparatus and method
JP6984633B2 (en) Devices, methods and programs that detect the position and orientation of an object
JP2014002033A (en) Image process device and image process method
JP7439410B2 (en) Image processing device, image processing method and program
JP2019098409A (en) Robot system and calibration method
JPWO2018043524A1 (en) Robot system, robot system control apparatus, and robot system control method
JP7331527B2 (en) Apparatus, method and program for determining robot motion
JP5858773B2 (en) Three-dimensional measurement method, three-dimensional measurement program, and robot apparatus
JP6973444B2 (en) Control system, information processing device and control method
US11158080B2 (en) Information processing method, information processing device, object detection apparatus, and robot system
JP7180783B2 (en) CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD
JP2021115693A (en) Control device of robot system, control method of robot system, computer control program and robot system
CN116867619A (en) Teaching device
JP7249221B2 (en) SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD
JP2022163836A (en) Method for displaying robot image, computer program, and method for displaying robot image
CN114902281A (en) Image processing system

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