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

Image processing device, image processing method and program Download PDF

Info

Publication number
JP7439410B2
JP7439410B2 JP2019145441A JP2019145441A JP7439410B2 JP 7439410 B2 JP7439410 B2 JP 7439410B2 JP 2019145441 A JP2019145441 A JP 2019145441A JP 2019145441 A JP2019145441 A JP 2019145441A JP 7439410 B2 JP7439410 B2 JP 7439410B2
Authority
JP
Japan
Prior art keywords
orientation
image processing
workpiece
model
offset amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019145441A
Other languages
Japanese (ja)
Other versions
JP2021024052A (en
Inventor
豊男 飯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to 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

Images

Landscapes

  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Description

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

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

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

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

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

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

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

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

上述の開示において、1以上の軸の各々について、当該軸の方向および当該軸上における平面の位置の少なくとも一方は可変である。 In the above disclosure, for each of the one or more axes, at least one of the direction of the axis and the position of a plane on the axis is variable.

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

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

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

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

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

この開示によれば、ユーザは、ワークモデルに対する移動操作を行なうことにより、オフセット量を容易に指定することができる。 According to this disclosure, the user can easily specify the offset amount by performing a movement operation on the workpiece model.

上述の開示において、解析部は、表示装置に表示されているモデルをオフセット量だけ移動させる。 In the above disclosure, the analysis unit moves the model displayed on the display device by an offset amount.

この開示によれば、ユーザは、表示装置に表示されているワークモデルの移動量を確認することにより、オフセット量の大きさを視覚的に認識できる。 According to this disclosure, the user can visually recognize the magnitude of the offset amount by checking the amount of movement of the workpiece model displayed on the display device.

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

本開示の一例によれば、プログラムは、上記の方法をコンピュータに実行させる。これらの開示によっても、ユーザは、対象物の位置姿勢の検出精度を確認しやすくなる。 According to an example of the present disclosure, a program causes a computer to perform the above method. These disclosures also make it easier for the user to confirm the detection accuracy of the position and orientation of the target object.

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

実施の形態に係る制御システムの全体構成を示す概略図である。1 is a schematic diagram showing the overall configuration of a control system according to an embodiment. 制御システムを構成する各部材の座標系の対応関係を示す図である。FIG. 3 is a diagram showing the correspondence of coordinate systems of each member constituting the control system. ワークモデルと、当該ワークモデルを把持するエンドエフェクタモデルとの位置関係を示す図である。FIG. 3 is a diagram showing the positional relationship between a workpiece model and an end effector model that grips the workpiece model. 三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの一例を示す図である。FIG. 3 is a diagram showing an example of a measurement surface indicated by three-dimensional point group data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point group data. 三次元点群データで示される計測表面と、当該三次元点群データから検出されたワークの位置姿勢に配置されたワークモデルとの別の例を示す図である。FIG. 7 is a diagram showing another example of a measurement surface indicated by three-dimensional point group data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point group data. ワークの位置姿勢の検出結果を確認するための解析画面の一例を示す図である。FIG. 6 is a diagram showing an example of an analysis screen for checking the detection result of the position and orientation of the workpiece. 図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。2 is a schematic diagram showing an example of the hardware configuration of the image processing device shown in FIG. 1. FIG. 図1に示す画像処理装置の機能構成の一例を示すブロック図である。2 is a block diagram showing an example of a functional configuration of the image processing device shown in FIG. 1. FIG. 図8に示す解析部によって表示される解析画面の一例を示す図である。9 is a diagram showing an example of an analysis screen displayed by the analysis section shown in FIG. 8. FIG. ドラッグ操作によりオフセット量の回転成分の入力を受け付けるときの画面例を示す図である。FIG. 7 is a diagram illustrating an example of a screen when accepting input of a rotational component of an offset amount by a drag operation. オフセット量の第1の設定例を示す図である。FIG. 3 is a diagram showing a first setting example of an offset amount. 検出された位置姿勢に配置したワークモデルとワークとの並進ずれの一例を示す図である。FIG. 7 is a diagram illustrating an example of translational deviation between a workpiece and a workpiece model placed in a detected position/orientation. 検出された位置姿勢に配置したワークモデルとワークとの回転ずれの一例を示す図である。FIG. 6 is a diagram illustrating an example of rotational deviation between a workpiece model and a workpiece placed in a detected position/orientation. オフセット量の第2の設定例を示す図である。FIG. 7 is a diagram showing a second setting example of an offset amount. 解析モード時の画像処理装置の処理の流れを示すフローチャートである。3 is a flowchart showing the flow of processing of the image processing device in analysis mode. 通常モード時の画像処理装置の処理の流れを示すフローチャートである。3 is a flowchart showing the flow of processing of the image processing apparatus in normal mode.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the figures are given the same reference numerals and the description thereof will not be repeated.

§1 適用例
まず、図1~図6を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、コンテナ2に収容された対象物(以下、「ワーク1」と称する。)に対するピッキングの制御を行なう。ワーク1は、コンテナ2内にバラ積みされる。そのため、コンテナ2内でのワーク1の位置姿勢はランダムである。
§1 Application Example First, an example of a situation where the present invention is applied will be described with reference to FIGS. 1 to 6. FIG. 1 is a schematic diagram showing the overall configuration of a control system according to an embodiment. The control system SYS illustrated in FIG. 1 is installed in a production line, etc., and controls picking of objects (hereinafter referred to as "work 1") stored in a container 2. Works 1 are stacked in bulk in a container 2. Therefore, the position and orientation of the workpiece 1 within the container 2 is 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. 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 workpiece 1, a multi-joint arm 31 for changing the position and orientation of the end effector 30, and a base 32 that supports the multi-joint arm 31. The operation of robot 300 is controlled by 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 grips the workpiece 1 using the two claws 33. Note that the claws 33 are portions that come into contact with the workpiece 1 when gripping the workpiece 1, and are also referred to as "fingers." The method of holding the workpiece 1 is not limited to gripping using two claws. For example, the end effector 30 may grip the workpiece using three or more claws, or may suction the workpiece 1 using a suction pad.

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

計測ヘッド400は、コンテナ2およびコンテナ2に収容されたワーク1が被写体となるように設置され、当該被写体を撮像する。計測ヘッド400は、投影部401と撮像部402とを備える。投影部401は、画像処理装置100からの指示に従って任意の投影パターン光を被写体に投影する。投影パターンは、例えば照射面内の所定方向に沿って明るさが周期的に変化するパターンである。撮像部402は、投影パターン光が投影された状態の被写体を撮像する。 The measurement head 400 is installed so that the container 2 and the workpiece 1 housed in the container 2 serve as objects, and images the objects. The measurement head 400 includes a projection section 401 and an imaging section 402. The projection unit 401 projects arbitrary projection pattern light onto a subject according to instructions from the image processing device 100. The projection pattern is, for example, a pattern in which the brightness changes periodically along a predetermined direction within the irradiation surface. The imaging unit 402 images the subject onto which 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 disposed 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 according to a command from the image processing device 100. The projection unit 401 may have a configuration using a liquid crystal or a DMD (Digital Mirror Device) and a light source (such as an LED or a laser light source).

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

画像処理装置100は、計測ヘッド400から受けた画像に基づいて、コンテナ2に収容されたワーク1の位置姿勢を検出する。画像処理装置100は、検出したワーク1の位置姿勢に基づいて、エンドエフェクタ30のピッキング動作を決定する。画像処理装置100は、決定したピッキング動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する。ロボットコントローラ200は、動作指令に従って、画像処理装置100によって決定されたピッキング動作をロボット300に実行させる。 The image processing device 100 detects the position and orientation of the workpiece 1 accommodated 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 workpiece 1 . The image processing device 100 generates a motion command corresponding to the determined picking motion, and outputs the generated motion command to the robot controller 200. The robot controller 200 causes the robot 300 to perform the picking operation determined by the image processing device 100 in accordance with the operation command.

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

図2および図3を参照して、画像処理装置100によるピッキング動作の決定方法について説明する。図2は、制御システムを構成する各部材の座標系の対応関係を示す図である。図3は、ワークモデルと、当該ワークモデルを把持するエンドエフェクタモデルとの位置関係を示す図である。 A method for 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 of the coordinate systems of each member constituting the control system. FIG. 3 is a diagram showing the positional relationship between a workpiece model and an end effector model that grips the workpiece model.

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

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

座標変換行列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 ...Formula (1)
In equation (1), the coordinate transformation matrix B H C is a matrix that transforms the base coordinate system B into the camera coordinate system C. The coordinate transformation matrix B H C represents the components of the base vector of the camera coordinate system C in the base coordinate system B and the position of the origin. The coordinate transformation matrix T H W is a matrix that transforms the tool coordinate system T into the workpiece coordinate system W. The coordinate transformation matrix T H W represents the component of the basis vector of the workpiece coordinate system W in the tool coordinate system T and the position of the origin.

本実施の形態では、計測ヘッド400は、コンテナ2全体を撮像可能な位置に固定される。そのため、式(1)の座標変換行列BCは、固定値で表され、事前に実行されるキャリブレーションによって求められる。キャリブレーションとして、例えば、ロボット300のフランジ面にマーカを取り付け、ロボット300を動作させながら計測ヘッド400の撮像部402でマーカを撮像するハンドアイキャリブレーションが採用され得る。 In this 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 in Equation (1) is expressed as a fixed value and is determined by calibration performed in advance. As the calibration, for example, hand-eye calibration may be employed in which a marker is attached to the flange surface of the robot 300 and an image of the marker is captured by the imaging unit 402 of the measurement head 400 while the robot 300 is operated.

ワーク1を把持するときのエンドエフェクタ30の位置姿勢(把持点)は、ワーク1の三次元形状を示すモデル(以下、「ワークモデル1M」と称する。)とエンドエフェクタ30の三次元形状を示すモデル(以下、エンドエフェクタモデル30M」と称する。)とを用いて予め登録される。 The position and orientation (gripping point) of the end effector 30 when gripping the workpiece 1 is determined by a model representing the three-dimensional shape of the workpiece 1 (hereinafter referred to as "workpiece model 1M") and a three-dimensional shape of the end effector 30. 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 creates a workpiece model 1M and an end effector model in virtual space so that the relative position and orientation of the end effector 30 with respect to the workpiece 1 when the end effector 30 grips the workpiece 1 match. Place 30M. In this way, a coordinate transformation matrix TM H WM indicating the relative position and orientation of the workpiece 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 grasping 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 component of the base vector and the position of the origin of the coordinate system WM of the workpiece model 1M in the coordinate system TM based on the surface on the multi-joint arm side of the end effector model 30M. The base vector and origin of the coordinate system TM are set to match the base vector and origin of the tool coordinate system T (see FIG. 2), respectively, when the end effector model 30M is attached to the flange surface of the multi-joint arm 31. Set. The base vector and origin of the workpiece model 1M are set so that, when the workpiece model 1M is superimposed on the workpiece 1, they coincide with the base vector and origin of the workpiece coordinate system W (see FIG. 2), respectively.

画像処理装置100は、式(1)の座標変換行列TWに予め登録された把持点データ(座標変換行列TMWM)を入力する。これにより、画像処理装置100は、以下の式(2)に従って、計測ヘッド400から受けた画像に基づいて検出されたワーク1を把持するときのエンドエフェクタ30の位置姿勢を示す座標変換行列BTを算出する。
BT=(TMWM-1BCCW ・・・式(2)
画像処理装置100は、算出した座標変換行列BTに従って、ロボットコントローラ200への動作指令を生成すればよい。
The image processing device 100 inputs grip point data (coordinate transformation matrix TM H WM ) registered in advance into the coordinate transformation matrix TH W of Equation (1). Thereby, the image processing device 100 generates a coordinate transformation matrix B Calculate T.
B H T = ( TM H WM ) -1B H CC H W ...Formula (2)
The image processing device 100 may generate an operation command to the robot controller 200 according to the calculated coordinate transformation matrix BHT .

画像処理装置100によるワーク1の位置姿勢の検出は、三次元サーチを用いて実行される。三次元サーチは、計測ヘッド400から受けた画像に基づいて生成される三次元点群データの中から、ワーク1の三次元形状を示すワークモデルと一致または近似する特徴点を抽出し、抽出した特徴点に基づいてワーク1の位置姿勢を検出する処理である。三次元点群データは、計測ヘッド400から受けた画像から計測される、視野領域内に存在する物体表面(以下、「計測表面」と称する。)を示す。三次元サーチは、公知の検出アルゴリズム(「認識アルゴリズム」とも称される。)を用いて実行される。 Detection of the position and orientation of the workpiece 1 by the image processing device 100 is performed using a three-dimensional search. In the 3D search, feature points that match or approximate the workpiece model representing the 3D shape of the workpiece 1 are extracted from the 3D 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 workpiece 1 based on feature points. The three-dimensional point group data indicates an object surface (hereinafter referred to as a "measurement surface") existing within the visual field that 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 indicated by three-dimensional point cloud data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point cloud data. FIG. 5 is a diagram showing another example of a measurement surface indicated by three-dimensional point cloud data and a workpiece model placed at the position and orientation of the workpiece detected from the three-dimensional point cloud data.

図4および図5に示されるように、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71は、三次元点群データで示される計測表面70に対して常に一定方向に並進または回転し得る。図4に示す例では、ワークモデル71は、計測表面70に対して+Z方向にずれている。図5に示す例では、ワークモデル71は、計測表面70に対してY軸を中心とする回転方向にずれている。ただし、計測表面70に対するワークモデル71の並進ずれおよび回転ずれの方向は、検出アルゴリズムの癖に依存し、図4および図5に例示する方向に限定されない。 As shown in FIGS. 4 and 5, due to a quirk of the detection algorithm, the workpiece model 71 placed in the detected position and orientation is always translated or It can rotate. In the example shown in FIG. 4, the workpiece model 71 is offset from the measurement surface 70 in the +Z direction. In the example shown in FIG. 5, the workpiece model 71 is displaced from the measurement surface 70 in the rotational direction around the Y-axis. However, the directions of the translational shift and rotational shift of the workpiece model 71 with respect to the measurement surface 70 depend on the peculiarities of the detection algorithm, and are not limited to the directions illustrated in FIGS. 4 and 5.

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

図6は、ワークの位置姿勢の検出結果を確認するための解析画面の一例を示す図である。図6に例示される解析画面50は、画像処理装置100によって表示装置150(図1参照)に表示される。 FIG. 6 is a diagram showing an example of an analysis screen for checking the detection result of the position and orientation of the workpiece. The analysis screen 50 illustrated in FIG. 6 is displayed on the display device 150 (see FIG. 1) by the 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 areas 51, 61-62. In the area 51, a distance image represented by three-dimensional point group data measured using the measurement head 400 is displayed. The distance image is expressed as a color map, and the Z coordinate (height) of each pixel on the XY plane is indicated by color or density. The range of Z coordinates that the distance image can take is indicated by a color bar 52. Note that 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 area 51, an outline 71d of an area obtained by projecting the workpiece model 71 placed in the position and orientation detected by the three-dimensional search in the Z-axis direction is displayed superimposed on the distance image. In the example shown in FIG. 6, the positions and orientations of a plurality of workpieces 1 are detected from three-dimensional point cloud data by three-dimensional search. Therefore, a plurality of outlines 71d are displayed.

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

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

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

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

このように、画像処理装置100は、X,Y,Z軸の各々について、検出された位置姿勢に配置されたワークモデル71における当該軸に直交する平面との交差部分と、計測表面70における当該平面との交差部分とを表示装置150に重畳表示させる。ユーザは、X,Y,Z軸の各々に直交する平面上での2つの交差部分のずれを確認することができる。当該ずれは、三次元サーチによるワークの位置姿勢の検出精度に依存する。そのため、ユーザは、三次元サーチによるワークの位置姿勢の検出精度を確認しやすくなる。 In this way, the image processing device 100 determines, for each of the X, Y, and Z axes, the intersection of the workpiece model 71 placed at the detected position and orientation with a plane perpendicular to the axes, and the corresponding part of the measurement surface 70. The intersection portion with the plane is displayed in a superimposed manner on the display device 150. The user can confirm the displacement 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 workpiece by three-dimensional search. Therefore, the user can easily confirm the detection accuracy of the position and orientation of the workpiece by three-dimensional search.

§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
§2 Specific Example Next, a specific example of the control system according to the present embodiment will be described.

<A.画像処理装置のハードウェア構成例>
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
<A. Example of hardware configuration of image processing device>
The image processing device 100 is typically a computer having a general-purpose architecture, and executes the image processing according to the present embodiment by executing a program (instruction code) installed in advance. . Such programs are typically distributed in a state stored in various recording media 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, in addition to the application for executing the image processing according to this embodiment, an OS (Operating System) for executing the basic processing of the computer is installed. may have been done. In this case, the program according to the present embodiment may call necessary modules at a predetermined timing in a predetermined sequence among the program modules provided as part of the OS to execute processing. good. That is, the program itself according to this embodiment does not include the above-mentioned modules, and the processing may be executed in cooperation with the OS. The program according to this embodiment may be in a form that does not include some of these modules.

さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。 Furthermore, the program according to this embodiment may be provided by being incorporated into a part of another program. Even in that case, the program itself does not include modules included in other programs to be combined as described above, and processing is executed in cooperation with the other programs. That is, the program according to this embodiment may be incorporated into such another program. Note that part or all of the functions provided by executing the program may be implemented as a dedicated hardware circuit.

図7は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図7に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、計測ヘッドインターフェース116と、入力インターフェース118と、表示コントローラ120と、通信インターフェース124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。 FIG. 7 is a schematic diagram showing an example of the hardware configuration of the image processing apparatus shown in FIG. As shown in FIG. 7, the image processing device 100 includes a CPU (Central Processing Unit) 110 as 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. These units are connected to each other via a bus 128 so as to be able to communicate data.

CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、計測ヘッド400によって取得された画像などを保持する。さらに、ハードディスク114には、後述するような各種データなどが格納される。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。 The CPU 110 deploys programs (codes) installed on the hard disk 114 into the main memory 112 and executes them in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory), and holds images acquired by the measurement head 400 in addition to programs read from the hard disk 114. do. Furthermore, the hard disk 114 stores various types of data as will be described later. Note that in addition to or in place of the hard disk 114, a semiconductor storage device such as a flash memory may be employed.

計測ヘッドインターフェース116は、CPU110と計測ヘッド400との間のデータ伝送を仲介する。すなわち、計測ヘッドインターフェース116は、計測ヘッド400と接続される。計測ヘッドインターフェース116は、CPU110が発生した内部コマンドに従って、計測ヘッド400に対して投影コマンドおよび撮像コマンドを与える。計測ヘッドインターフェース116は、計測ヘッド400からの画像を一時的に蓄積するための画像バッファ116aを含む。計測ヘッドインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。 Measurement head interface 116 mediates data transmission between CPU 110 and measurement head 400. That is, the measurement head interface 116 is connected to the measurement head 400. Measurement head interface 116 provides projection commands and imaging commands to measurement head 400 in accordance with internal commands generated by CPU 110. Measurement head interface 116 includes an image buffer 116a for temporarily storing images from measurement head 400. When a predetermined number 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に入力した入力情報を受付ける。 Input interface 118 mediates data transmission between CPU 110 and input device 160. That is, the input interface 118 receives input information input by the user into 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 processing results in the CPU 110 and the like.

通信インターフェース124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェース124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。 Communication interface 124 mediates data transmission between CPU 110 and external devices such as robot controller 200. The communication interface 124 typically includes 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)などの光学記憶媒体等からなる。 Data reader/writer 126 mediates data transmission between CPU 110 and memory card 106, which is a recording medium. That is, the memory card 106 stores and distributes programs to be executed by the image processing apparatus 100, and the data reader/writer 126 reads the programs from the memory card 106. Furthermore, the data reader/writer 126 writes the image captured by the measurement head 400 and/or the processing results in the image processing device 100 to the memory card 106 in response to an internal command from the CPU 110 . Note that the memory card 106 may be a general-purpose semiconductor storage device such as an 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). Consists of 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. Functional configuration example of image processing device>
FIG. 8 is a block diagram showing an example of the functional configuration of the image processing apparatus shown in FIG. 1. As shown in FIG. 8, the image processing apparatus 100 includes a head control section 10, a storage section 11, an image processing section 12, and a UI (User Interface) processing section 13. The head control unit 10 is realized by a CPU 110 and a measurement head interface 116 shown in FIG. The storage unit 11 is realized by the main memory 112 and hard disk 114 shown in FIG. The image processing section 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, input interface 118, and display controller 120 shown in FIG.

画像処理装置100は、動作モードとして通常モードおよび解析モードを有する。通常モードが選択された場合、ヘッド制御部10および画像処理部12が動作する。解析モードが選択された場合、ヘッド制御部10、画像処理部12およびUI処理部13が動作する。解析モードは、例えば生産ラインの立ち上げ時および定期的なメンテナンス時に選択される。 The image processing device 100 has a normal mode and an analysis mode as operating modes. When the normal mode is selected, the head control section 10 and the image processing section 12 operate. When the analysis mode is selected, the head control section 10, image processing section 12, and UI processing section 13 operate. The analysis mode is selected, for example, when starting up a production line or during 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 to the measurement head 400 to instruct projection of a predetermined projection pattern of light. The head control unit 10 outputs an imaging command to the measurement head 400 while the projection pattern light is being projected. The head control unit 10 stores 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 image data 11a obtained by imaging with 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 workpiece 1 and gripping point data 11c indicating the position and orientation of the end effector 30 when gripping the workpiece 1. Ru. Furthermore, the storage unit 11 also stores offset data 11d indicating a correction amount (hereinafter referred to as "offset amount") for the position and orientation detected by the three-dimensional search. The offset data 11d is generated by the UI processing unit 13. 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 image data 11a obtained by imaging with the measurement head 400. As shown in FIG. 8, the image processing section 12 includes a 3D image generation section 14, a detection section 15, an operation command determination section 16, and a communication section 17.

3D画像生成部14は、画像データ11aに基づいて、計測ヘッド400の視野領域における三次元計測を行ない、三次元点群データを生成する。三次元点群データは、計測ヘッド400の視野領域に存在する物体表面(計測表面)上の各点の三次元座標を示す。 The 3D image generation unit 14 performs three-dimensional measurement in the visual field of the measurement head 400 based on the image data 11a, and generates three-dimensional point group data. The three-dimensional point group data indicates the three-dimensional coordinates of each point on the object surface (measurement surface) existing in the field of view 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 group data is, for example, three-dimensional coordinates (x 1 , y 1 , z 1 ), ..., (x M , y 1 , z M ), ( x 1 , y 2 , z M+1 ), ..., (x M , y 2 , z 2M ), ..., (x M , y N , z NM ). The points (x 1 , y 1 ), . . . , (x M , y N ) represent M×N points arranged in a matrix on the XY plane orthogonal to the optical axis of the imaging unit 402. Note that when the imaging unit 402 generates the image data 11a by perspective projection, the point cloud represented by the three-dimensional point cloud data generated based on the image data 11a usually forms a matrix when projected onto the XY plane. are not arranged in the same way. In such a case, the 3D image generation unit 14 appropriately interpolates the coordinate values of the three-dimensional point group data so that it corresponds to the M×N point group arranged in a matrix when projected onto 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 triangulation method or a coaxial method may be adopted. The triangular distance measurement method is a method in which the optical axes of imaging and light projection are separated by a base line length, and parallax is converted into distance. Triangulation methods include active methods and passive methods. Active methods include structured illumination methods, phase shift methods, and spatial code methods. The coaxial method is a method in which the optical axes of the imaging means and the distance measuring means are set to be the same. The distance measuring means includes a focusing method. Furthermore, a TOF (Time of Flight) method is also included as a method similar to coaxial. The 3D image generation unit 14 may execute the three-dimensional measurement process using any of these methods. For example, three-dimensional measurement processing is performed using a phase shift method.

位相シフト法は、正弦波状に濃淡を変化させた投影パターン光を被写体に投影した状態で撮像された画像(正弦波投影画像)を用いる方法である。濃淡の変化周期や位相を異ならせた投影パターンが複数用意され、計測ヘッド400の投影部401は、撮像部402の視野領域に対して、複数の投影パターン光を順次照射する。3D画像生成部14は、複数の投影パターンが投影されたときにそれぞれ撮像される画像データ11aの群(正弦波投影画像群)を記憶部11から読み出す。そして、3D画像生成部14は、これらの画像データ11a間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。 The phase shift method is a method that uses an image (sinusoidal projection image) that is captured while projecting a projection pattern of light whose density changes in a sinusoidal manner onto a subject. A plurality of projection patterns having different gradation cycles and phases are prepared, and the projection section 401 of the measurement head 400 sequentially irradiates the viewing area of the imaging section 402 with the plurality of projection pattern lights. The 3D image generation unit 14 reads out from the storage unit 11 a group of image data 11a (a sine wave projection image group) that are respectively captured when a plurality of projection patterns are projected. Then, the 3D image generation unit 14 calculates three-dimensional coordinates based on changes in brightness (brightness or lightness) of corresponding portions between these 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 workpiece 1 by three-dimensional search. Specifically, the detection unit 15 compares the three-dimensional point group data with a plurality of template data created in advance, and extracts data similar to the template from the three-dimensional point group data. The template data is created in advance based on the CAD data 11b. Typically, a work model indicated by CAD data 11b and a plurality of virtual viewpoints are arranged in a virtual space, and a template is provided that indicates the coordinates of a point on the surface of the work model when viewed from each of the plurality of virtual viewpoints. Data is created. The detection unit 15 detects the position and orientation of the workpiece 1 based on data similar to the template extracted from the three-dimensional point group data. The position and orientation of the workpiece 1 detected by the detection unit 15 is indicated by the coordinate system of the imaging unit 402 of the measurement head 400 (camera coordinate system C (see FIG. 2)). Note that the detection unit 15 may detect the position and orientation of the workpiece 1 using a known detection algorithm.

なお、検出部15は、複数のワーク1の位置姿勢を検出した場合、予め定められた選択基準に従って、当該複数のワーク1のうちの1つをピッキング対象として選択する。 Note that when detecting the positions and orientations of a plurality of works 1, the detection unit 15 selects one of the plurality of works 1 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 workpiece 1 to be picked. Specifically, the motion command determination unit 16 uses the coordinate transformation matrix C H W indicating the position and orientation detected by the detection unit 15, the coordinate transformation matrix B H C calculated by prior calibration, and the grip point data. By substituting the coordinate transformation matrix TM H WM shown by 11c into the above equation (2), the coordinate transformation matrix B H T is calculated. The image processing device 100 generates an operation command to the robot controller 200 according to the calculated coordinate transformation matrix BHT .

ただし、動作指令決定部16は、記憶部11にオフセットデータ11dが格納されている場合、検出部15によって検出された位置姿勢を示す座標変換行列CWをオフセットデータ11dが示すオフセット量だけ補正する。動作指令決定部16は、補正後の座標変換行列CWを上記の式(2)に代入する。 However, if the offset data 11d is stored in the storage unit 11, the motion command determination unit 16 corrects the coordinate transformation matrix C H W indicating the position and orientation detected by the detection unit 15 by the offset amount indicated by the offset data 11d. do. The motion 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 is capable of communicating 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 processing for providing the user with information regarding the operations of the image processing device 100 and the operations of the robot 300. As shown in FIG. 8, the UI processing section 13 includes an analysis section 18 and a setting section 19.

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

設定部19は、三次元サーチによって検出された位置姿勢に対するオフセット量を設定する。後述するように解析部18によって表示装置150に表示される解析画面には、オフセット量を設定するための入力欄が設けられる。設定部19は、当該入力欄への入力に従ってオフセット量を設定する。設定部19は、設定したオフセット量を示すオフセットデータ11dを生成し、生成したオフセットデータ11dを記憶部11に格納する。 The setting unit 19 sets an offset amount for the position and 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 a display device by the analysis section shown in FIG. 8. The analysis screen 50a illustrated in FIG. 9 includes areas 51, 60 to 62, similar to the analysis screen 50 illustrated in FIG. The analysis screen 50a further includes an input field 63 for selecting one workpiece model placed in the detected position/orientation, input fields 64 and 65 for inputting the offset amount, and input fields 64 and 65 for setting the offset amount. OK button 68.

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

解析部18は、距離画像上のライン53のX座標=x0に基づいて、X軸に直交する第1仮想平面を決定する。具体的には、解析部18は、x=x0で示される平面を第1仮想平面として決定する。 The analysis unit 18 determines a first virtual plane perpendicular 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 indicated 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 portion 71a of the workpiece model 71 with the first virtual plane in the area 60. As described above, the workpiece model 71 is indicated by the CAD data 11b whose coordinates have been transformed so as to match the position and orientation indicated by the detection results. The analysis unit 18 displays the intersection line between the surface element (triangular mesh, etc.) indicated by the coordinate-converted CAD data 11b and the first virtual plane as an intersection portion 71a.

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

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

ライン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 to take not only x 1 , . . . , x M but also other values. In this case, the analysis unit 18 extracts N pairs of two points sandwiching the first virtual plane from the three-dimensional point group data. A pair consists of two points whose distance along the X-axis direction is equal to or less than a predetermined pitch Δx. For example, if the X coordinate x0 of the first virtual plane is x k-1 < x0 < x k , the N pairs are the point 1 ) and a point (x k , y i , z (i-1)M+k ) (i is an integer from 1 to N). For each of the N pairs, the analysis unit 18 performs an interpolation calculation using the coordinates of the two points constituting the pair to find a point on the intersection line between the measurement surface indicated by the three-dimensional point group data and the first virtual plane. Find the coordinates of a 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 ) to locate a point on the intersection line between the measurement surface and the first virtual plane. The coordinates (x0, y 1 , {(x k -x0)z k-1 + (x0 - x k-1 )z k }/(x k -x k-1 )) of the point are calculated.

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

解析部18は、距離画像上のライン54のY座標=y0に基づいて、Y軸に直交する第2仮想平面を決定する。具体的には、解析部18は、y=y0で示される平面を第2仮想平面として決定する。 The analysis unit 18 determines a second virtual plane perpendicular 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 indicated 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 portion 71b of the workpiece model 71 with the second virtual plane in the area 61. The analysis unit 18 displays the intersection line between the second virtual plane and the surface element indicated by the CAD data 11b whose coordinates have been transformed so as to match the position and orientation indicated by the detection result, as an intersection portion 71b.

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

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

ライン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 to take not only y 1 , . . . , y N but also other values. In this case, the analysis unit 18 extracts M pairs of two points sandwiching the second virtual plane from the three-dimensional point group data. A pair consists of two points whose distance along the Y-axis direction is equal to or less than a predetermined pitch Δy. For example, if the Y coordinate y0 of the second virtual plane is y k-1 < y0 < y k , the M pairs are the points (x j , y k-1 , z (k-1)M+j ) and a point (x j , y k , z kM+j ) (j is an integer from 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 to find a point on the intersection line between the measurement surface indicated by the three-dimensional point group data and the first virtual plane. Find the coordinates of a 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 2. Coordinates of a point on the line of intersection with the virtual plane k −y k-1 )).

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

解析部18は、カラーバー52上のライン55のZ座標=z0に基づいて、Z軸に直交する第3仮想平面を決定する。具体的には、解析部18は、z=z0で示される平面を第3仮想平面として決定する。 The analysis unit 18 determines a third virtual plane perpendicular 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 indicated 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 portion 71c of the workpiece model 71 with the third virtual plane in the area 62. The analysis unit 18 displays the intersection line between the surface element indicated by the CAD data 11b whose coordinates have been transformed so as to match the position and orientation indicated by the detection result and the third virtual plane as an intersection portion 71c.

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

三次元点群データが計測表面上のM×N個の点の座標(x1,y1,z1),・・・,(xM,yN,zNM)を示す場合、解析部18は、三次元点群データから、第3仮想平面を挟み込む2つの点からなるペアを抽出する。ペアは、X軸方向に沿った距離が所定ピッチΔx以下となる2点、または、Y軸方向に沿った距離が所定ピッチΔy以下となる2点からなる。解析部18は、各ペアについて、当該ペアを構成する2つの点の座標を用いた補間演算により、三次元点群データで示される計測表面と第3仮想平面との交線上の点の座標を求める。例えば、解析部18は、1つのペアを構成する2つの点の座標(x1,y1,z1),(x2,y1,z2)(ただし、z1およびz2は、z1<z0<z2またはz2<z0<z1を満たす)を用いて、計測表面と第3仮想平面との交線上の点の座標({(|z2-z0|)x1+(|z0-z1|)x2}/(|z2-z1|),y1,z0)を演算する。同様に、解析部18は、1つのペアを構成する2つの点の座標(x1,y1,z1),(x1,y2,zM+1)(ただし、z1およびzM+1は、z1<z0<zM+1またはzM+1<z0<z1を満たす)を用いて、計測表面と第3仮想平面との交線上の点の座標(x1,{(|zM+1-z0|)y1+(|z0-z1|)y2}/(|zM+1-z1|),z0)を演算する。 When the three-dimensional point group data indicates the coordinates (x 1 , y 1 , z 1 ), ..., (x M , y N , z NM ) of M×N points on the measurement surface, the analysis unit 18 extracts a pair of two points sandwiching the third virtual plane from the three-dimensional point group data. A pair consists of two points whose distance along the X-axis direction is equal to or less than a predetermined pitch Δx, or two points whose distance along the Y-axis direction is equal to or less than a predetermined pitch Δy. For each pair, the analysis unit 18 calculates the coordinates of a point on the intersection line between the measurement surface and the third virtual plane, which are indicated by the three-dimensional point group data, by performing an interpolation calculation using the coordinates of the two points constituting the pair. demand. For example, the analysis unit 18 calculates the coordinates (x 1 , y 1 , z 1 ), (x 2 , y 1 , z 2 ) of two points constituting one pair (where z 1 and z 2 are 1 < z 0 < z 2 or z 2 < z 0 < z 1 ), and calculate the coordinates of the point on the intersection line of the measurement surface and the third virtual plane ({(|z 2 - z0|) x 1 + ( |z0−z 1 |)x 2 }/(|z 2 −z 1 |), y 1 , z0) is calculated. Similarly, the analysis unit 18 calculates the coordinates (x 1 , y 1 , z 1 ), (x 1 , y 2 , z M+1 ) of two points constituting one pair (where z 1 and z M +1 is the coordinate ( x 1 , { (|z M+1 −z0|)y 1 +(|z0−z 1 |)y 2 }/(|z M+1 −z 1 |), z0) is calculated.

解析部18は、ライン55の位置が変更されるたびに、変更後のライン55の位置に応じて領域62に表示される交差部分70c,71cを更新する。これにより、ユーザは、ライン55の位置を変更することにより、所望の位置の第3仮想平面上の交差部分70b,71bの相対位置関係を確認できる。 Every 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. Thereby, by changing the position of the line 55, the user can confirm the relative positional relationship between the intersecting portions 70b and 71b on the third virtual plane at a desired position.

解析部18は、検出部15から取得した検出結果で示される1以上のワーク1の位置姿勢の各々に対してユニークな識別番号を付与する。 The analysis unit 18 assigns a unique identification number to each of the positions and orientations of the one or more workpieces 1 indicated by the detection results obtained 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 outline 71d and intersecting portions 71a to 71c corresponding to the workpiece model 71 placed 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, a contour 71d_s and intersections 71a_s to 71c_s corresponding to the workpiece model 71 placed in the position and orientation of the identification number input in the input field 63 are displayed as thick lines.

入力欄64には、オフセット量の並進成分(X軸、Y軸およびZ軸の各々の並進成分)が入力される。入力欄64にオフセット量の並進成分が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s~71c_sを当該並進成分だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。 In the input field 64, translational components of the offset amount (translational components of each of the X-axis, Y-axis, and Z-axis) are input. When the translational component of the offset amount is input into the input field 64, the analysis unit 18 converts the intersection portions 71a_s to 71c_s of the workpiece model 71_s placed in the position and orientation of the identification number input into the input field 63 by the translational component. move it. This allows the user to visually recognize the magnitude of the offset amount.

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

さらに、入力欄65は、回転角度を入力するための入力欄67を含む。入力欄67に回転角度が入力されると、解析部18は、入力欄63に入力された識別番号の位置姿勢に配置されたワークモデル71_sの交差部分71a_s~71c_sを当該回転角度だけ移動させる。これにより、ユーザは、オフセット量の大きさを視覚的に認識できる。このとき、解析部18は、ラジオボタン群66においてチェックされたラジオボタンに対応する位置を回転中心とする。 Furthermore, the input field 65 includes an input field 67 for inputting a rotation angle. When a rotation angle is input in the input field 67, the analysis unit 18 moves the intersecting portions 71a_s to 71c_s of the workpiece model 71_s placed in the position and orientation of the identification number input in the input field 63 by the rotation angle. This allows the user to visually recognize the magnitude of the offset amount. At this time, the analysis unit 18 sets the position corresponding to the checked radio button 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 inputs 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. Thereby, the setting unit 19 can set both the rotational component and the translational 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 rotational component and the translational 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 intersection portions 71a_s to 71c_s of the work model 71_s placed in 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 intersection portions 71a_s to 71c_s of the workpiece 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 receive an input of a translational component of the offset amount in at least one of the Y-axis direction and the Z-axis direction by a translational movement operation on the intersection portion 71a_s displayed in the area 60. The setting unit 19 may receive an input of a translational component of the offset amount in at least one of the X-axis direction and the Z-axis direction by the translational movement with respect to the intersection portion 71b_s displayed in the area 61. The setting unit 19 may receive an input of a translational component of the offset amount in at least one of the X-axis direction and the Y-axis direction by the translational movement with respect to the intersection portion 71c_s displayed in the area 62.

また、領域60に表示されている交差部分71a_sに対する回転移動操作により、設定部19は、X軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域61に表示されている交差部分71b_sに対する回転移動操作により、設定部19は、Y軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。領域62に表示されている交差部分71c_sに対する回転移動操作により、設定部19は、Z軸に平行な軸を中心とするオフセット量の回転成分の入力を受け付けてもよい。 Further, by performing a rotational movement operation on the intersection portion 71a_s displayed in the area 60, the setting unit 19 may receive an input of a rotational component of an offset amount about an axis parallel to the X-axis. By performing a rotational movement operation on the intersection portion 71b_s displayed in the area 61, the setting unit 19 may receive an input of a rotational component of an offset amount about an axis parallel to the Y-axis. By performing a rotational movement operation on the intersection portion 71c_s displayed in the area 62, the setting unit 19 may receive an input of a rotational component of an offset amount about an 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 input of a rotational component of an offset amount by a drag operation. FIG. 10 shows an example of a screen when accepting input of a rotational component of an offset amount about an axis parallel to the Y-axis. As shown in FIG. 10, the setting unit 19 displays a mark 72 indicating the center of rotation. The position of the mark 72 corresponds to the checked radio button in the radio button group 66. The setting unit 19 receives an input of a rotation angle about an axis parallel to the Y-axis in response to a drag operation (drag operation in the direction of the arrow 73) on the intersection portion 71b_s.

<D.オフセット量の第1の設定例>
図4および図5を用いて上述したように、検出アルゴリズムの癖によって、検出された位置姿勢に配置したワークモデル71は、三次元点群データで示される計測表面70に対して常に一定方向に並進または回転し得る。ユーザは、図8に例示される解析画面50aを確認することにより、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれを確認できる。このようなずれが確認されたことに応じて、ユーザは、例えば検出アルゴリズムを見直す対応を取ることができる。しかしながら、一般に検出アルゴリズムは複雑であり、ユーザは、このような対応を簡単に取ることができない。そこで、ユーザは、このようなずれを解消するためのオフセット量を入力すればよい。
<D. First setting example of offset amount>
As described above using FIGS. 4 and 5, due to a quirk of the detection algorithm, the workpiece model 71 placed at the detected position and orientation is always oriented 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 checking the analysis screen 50a illustrated in FIG. 8, the user can check the deviation between the workpiece model 71 placed in the detected position and orientation and the measurement surface 70. In response to confirmation of such a shift, the user can take action, for example, by reviewing the detection algorithm. However, detection algorithms are generally complex, and users cannot easily take such measures. Therefore, the user only needs to input an offset amount to eliminate such a shift.

図11は、オフセット量の第1の設定例を示す図である。図11において、(a)にはオフセット量を設定する前の状態が示され、(b)にはオフセット量を設定した後の状態が示される。図11において、下部には、検出された位置姿勢に配置したワークモデル71と計測表面70が示され、上部には、ワーク1とワーク1を把持するときのエンドエフェクタ30とが示される。 FIG. 11 is a diagram showing a first setting example of the offset amount. In FIG. 11, (a) shows the state before setting the offset amount, and (b) shows the state after setting the offset amount. In FIG. 11, the workpiece model 71 and the measurement surface 70 arranged in the detected position and orientation are shown in the lower part, and the workpiece 1 and the end effector 30 when gripping the workpiece 1 are shown in the upper part.

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

そのため、ユーザは、ワークモデル71と計測表面70とのずれが小さくなるようにオフセット量を入力する。具体的には、ユーザは、+Z方向の並進成分を入力する。これにより、(b)の上部に示されるように、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)に近づく。その結果、例えば爪33が他のワーク1と衝突する可能性を低減できる。 Therefore, the user inputs an offset amount so that the deviation between the workpiece model 71 and the measurement surface 70 becomes smaller. 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 workpiece 1 approaches the relative position of the end effector model 30M with respect to the workpiece model 1M (see FIG. 3), which is indicated by the gripping point data 11c. . As a result, for example, the possibility that the claw 33 will collide with another workpiece 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 motion command determination unit 16 generates the motion command using the above equation (2). In equation (2), the coordinate transformation matrix B H C includes a component due to a calibration error. The coordinate transformation matrix C H W contains errors caused by errors between the actual dimensions of the work 1 and the dimensions of the work model indicated by the CAD data 11b (including manufacturing tolerances, errors due to aging of the manufacturing equipment for the work 1, etc.). Contains ingredients. Furthermore, even if the motion command is generated according to the coordinate transformation matrix B H T calculated using the above equation (2), the motion command and the robot 300 may differ due to aging of the robot 300 and the influence of the temperature around the robot 300. Errors may occur in actual operation. Due to these causes, even if the deviation between the workpiece model 71 and the measurement surface 70 is small, the gripping position of the end effector 30 with respect to the workpiece 1 is the same as that of the end effector model 30M with respect to the workpiece model 1M indicated by the gripping point data 11c. The relative position (see FIG. 3) may not match.

図12は、検出された位置姿勢に配置したワークモデルとワークとの並進ずれの一例を示す図である。図12に示す例では、ワーク1の実際の位置は、ワークモデル71の位置よりも-Z方向にずれている。そのため、エンドエフェクタ30によってワーク1が把持されない可能性がある。 FIG. 12 is a diagram illustrating an example of a translational shift between a workpiece model and a workpiece placed in the detected position and orientation. In the example shown in FIG. 12, the actual position of the workpiece 1 is shifted from the position of the workpiece model 71 in the −Z direction. Therefore, the workpiece 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 illustrating an example of rotational deviation between a workpiece model and a workpiece placed in the detected position and orientation. When the workpiece 1 has an elongated shape, even if the angle between the longitudinal direction of the workpiece 1 and the XY plane is slightly different, the shape of the workpiece 1 when viewed from the imaging section 402 of the measurement head 400 will change. small. Therefore, as shown in FIG. 13, the actual angle between the longitudinal direction of the workpiece 1 and the XY plane may deviate from the angle between the longitudinal direction of the workpiece model 71 and the XY plane. Therefore, the workpiece 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 shown in FIG. The user only has to check the state in which the end effector 30 grips the workpiece 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. In the lower part, the workpiece model 71 and the measurement surface 70 arranged in the detected position and orientation are shown, and in the upper part, the relative positional relationship between the workpiece 1 and the end effector 30 is shown.

図14には、検出された位置姿勢に配置したワークモデル71と計測表面70とのずれが小さい例が示される。しかしながら、(a)の上部に示されるように、上記の原因により、ワーク1に対するエンドエフェクタ30の把持位置は、把持点データ11cで示されるワークモデル1Mに対するエンドエフェクタモデル30Mの相対位置(図3参照)よりも+Z方向に移動している。そのため、ワーク1を把持できない可能性がある。 FIG. 14 shows an example in which the deviation between the workpiece model 71 placed in the detected position and orientation and the measurement surface 70 is small. However, as shown in the upper part of FIG. (see) in the +Z direction. Therefore, there is a possibility that the workpiece 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 an offset amount so that the end effector 30 can grip the workpiece 1. Specifically, the user inputs a translation component in the −Z direction. At this time, the amount of deviation between the workpiece model 71 and the measurement surface 70 corresponds to the amount of offset. 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 workpiece 1 can be adjusted relative to the end effector model 30M with respect to the workpiece model 1M indicated by the gripping point data 11c. position (see Figure 3). As a result, the end effector 30 can accurately grip the workpiece 1.

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

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

<G.通常モード時の画像処理装置の処理の流れ>
図16は、通常モード時の画像処理装置の処理の流れを示すフローチャートである。まず、CPU110は、計測ヘッド400から取得した画像データ11aに基づいて、視野領域の物体表面(計測表面)を示す三次元点群データを生成する(ステップS11)。CPU110は、三次元点群データとワーク1の三次元形状を示すモデル(CADデータ11bで示されるワークモデル)とに基づいて、ワーク1の位置姿勢を検出する(ステップS12)。
<G. Processing flow of the image processing device in normal mode>
FIG. 16 is a flowchart showing the flow of processing of the image processing apparatus in normal mode. First, the CPU 110 generates three-dimensional point group data indicating the object surface (measurement surface) in the visual field 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 group data and a model indicating the three-dimensional shape of the work 1 (work model indicated 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 workpiece 1 by the offset amount set in the analysis mode (step S13). The CPU 110 determines the operation of the robot 300 for picking the workpiece 1 according to the corrected position and orientation (step S14). The CPU 110 generates a motion command corresponding to the determined motion, and outputs the generated motion command to the robot controller 200 (step S15). After step S15, the image processing apparatus 100 ends the normal mode processing.

<H.変形例>
上記の説明では、解析画面50,50aの領域60~62には、X,Y,Z軸に直交する仮想平面と、ワークモデル71および計測表面70との交差部分がそれぞれ表示される。しかしながら、仮想平面を定義付ける1以上の軸は、X,Y,Z軸に限定されず、例えば、X,Y,Z軸から所定角度だけ傾斜した、互いに直交する3つの軸であってもよい。また、仮想平面を定義付ける軸の方向は、ユーザの操作によって可変であってもよい。これにより、ユーザは、確認したい方向に軸を適宜変更することができる。
<H. Modified example>
In the above description, the areas 60 to 62 of the analysis screens 50 and 50a display the intersections of virtual planes perpendicular to the X, Y, and Z axes, and the workpiece model 71 and the measurement surface 70, 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 mutually perpendicular axes that are inclined at a predetermined angle from the X, Y, and Z axes. Furthermore, the direction of the axis that defines the virtual plane may be variable according to a user's operation. This allows the user to appropriately change the axis in the direction he or she wants to check.

<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 device 100 according to the present embodiment includes the 3D image generation section 14, the detection section 15, and the analysis section 18. The 3D image generation unit 14 generates three-dimensional point group data of the visual field based on an image obtained from the imaging unit 402 installed so that the work 1 is included in the visual field. The detection unit 15 detects the position and orientation of the workpiece 1 based on three-dimensional point group data and a workpiece model indicating the three-dimensional shape of the workpiece 1. The analysis unit 18 calculates, for each of the one or more axes, the intersection of the work model placed at the position and orientation detected by the detection unit 15 with a virtual plane perpendicular to the axis, and three-dimensional point group data. The intersecting portion of the measurement surface with the virtual plane is displayed in a superimposed manner on the display device 150.

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

1以上の軸の各々について、当該軸の方向および当該軸上における仮想平面の位置の少なくとも一方は可変である。これにより、ユーザは、所望の位置に仮想平面を移動し、当該仮想平面とワークモデル71および計測表面70との交差部分を確認できる。 For each of the one or more axes, at least one of the direction of the axis and the position of the virtual plane on the axis is variable. Thereby, the user can move the virtual plane to a desired position and check the intersection of the virtual plane, work model 71, and measurement surface 70.

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

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

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

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

<J.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
<J. Additional notes>
As described above, the present embodiment and the modified examples include the following disclosures.

(構成1)
画像処理装置(100)であって、
対象物(1)が視野領域に含まれるように設置された撮像装置(400,402)から得られる画像に基づいて、前記視野領域の三次元点群データを生成する生成部(110,14)と、
前記三次元点群データと前記対象物(1)の三次元形状を示すモデルとに基づいて前記対象物(1)の位置姿勢を検出する検出部(110,15)と、
1以上の軸の各々について、前記検出部(110,15)によって検出された位置姿勢に配置された前記モデルにおける当該軸に直交する平面との第1交差部分と、前記三次元点群データで示される面における前記平面との第2交差部分とを表示装置(150)に重畳表示させる解析部(110,18)とを備える、画像処理装置(100)。
(Configuration 1)
An image processing device (100),
a generation unit (110, 14) that generates three-dimensional point cloud data of the visual field based on an image obtained from an imaging device (400, 402) installed such that the object (1) is included in the visual field; and,
a detection unit (110, 15) that detects the position and orientation of the object (1) based on the three-dimensional point group data and a model indicating the three-dimensional shape of the object (1);
For each of the one or more axes, a first intersection with a plane orthogonal to the axis in the model placed in the position and orientation detected by the detection unit (110, 15) and the three-dimensional point group data. An image processing device (100) comprising an analysis unit (110, 18) that causes a display device (150) to display a second intersecting portion of the shown plane with the plane in a superimposed manner.

(構成2)
前記1以上の軸の各々について、当該軸の方向および当該軸上における前記平面の位置の少なくとも一方は可変である、構成1に記載の画像処理装置(100)。
(Configuration 2)
The image processing device (100) according to configuration 1, wherein 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.

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

(構成4)
前記検出された位置姿勢に対するオフセット量を設定する設定部(110,19)と、
前記検出された位置姿勢から前記オフセット量だけ移動させた位置姿勢に応じて、前記対象物をピッキングするロボットの動作を決定する決定部(110,16)とをさらに備える、構成1から3のいずれかに記載の画像処理装置(100)。
(Configuration 4)
a setting unit (110, 19) that sets an offset amount for the detected position and orientation;
Any one of configurations 1 to 3, further comprising a determining unit (110, 16) that determines an operation of the robot that picks the target object according to a position and orientation that is moved by the offset amount from the detected position and orientation. An image processing device (100) according to claim 1.

(構成5)
前記設定部(110,19)は、前記表示装置(150)に表示された前記モデルに対する移動操作に従って、前記オフセット量を設定する、構成4に記載の画像処理装置(100)。
(Configuration 5)
The image processing device (100) according to configuration 4, wherein the setting unit (110, 19) sets the offset amount according to a movement operation for the model displayed on the display device (150).

(構成6)
前記解析部(110,19)は、前記表示装置(150)に表示されている前記モデルを前記オフセット量だけ移動させる、構成4に記載の画像処理装置(100)。
(Configuration 6)
The image processing device (100) according to configuration 4, wherein the analysis unit (110, 19) moves the model displayed on the display device (150) by the offset amount.

(構成7)
前記オフセット量は、並進成分および回転成分の少なくとも一方を含む、構成4から6のいずれかに記載の画像処理装置(100)。
(Configuration 7)
The image processing device (100) according to any one of configurations 4 to 6, wherein the offset amount includes at least one of a translational component and a rotational component.

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

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

本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although the embodiments of the present invention have been described, the embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims, and it is intended that all changes within the meaning and range equivalent to the claims are included.

1 ワーク、1M,71 ワークモデル、2 コンテナ、10 ヘッド制御部、11 記憶部、11a 画像データ、11b CADデータ、11c 把持点データ、11d オフセットデータ、12 画像処理部、13 UI処理部、14 3D画像生成部、15 検出部、16 動作指令決定部、17 通信部、18 解析部、19 設定部、30 エンドエフェクタ、30M エンドエフェクタモデル、31 多関節アーム、32 ベース、33 爪、50,50a 解析画面、51,60,61,62 領域、52 カラーバー、53,54,55 ライン、63,64,65,67 入力欄、66 ラジオボタン群、68 OKボタン、70 計測表面、70a,70b,70c,71a,71b,71c 交差部分、71d 輪郭、72 マーク、73 矢印、100 画像処理装置、106 メモリカード、110 CPU、112 メインメモリ、114 ハードディスク、116 計測ヘッドインターフェース、116a 画像バッファ、118 入力インターフェース、120 表示コントローラ、124 通信インターフェース、126 データリーダ/ライタ、128 バス、150 表示装置、160 入力装置、200 ロボットコントローラ、300 ロボット、400 計測ヘッド、401 投影部、402 撮像部、SYS 制御システム。 1 workpiece, 1M, 71 work model, 2 container, 10 head control unit, 11 storage unit, 11a image data, 11b CAD data, 11c grip point data, 11d offset data, 12 image processing unit, 13 UI processing unit, 14 3D Image generation section, 15 Detection section, 16 Operation command determination section, 17 Communication section, 18 Analysis section, 19 Setting section, 30 End effector, 30M End effector model, 31 Multi-joint arm, 32 Base, 33 Claw, 50, 50a Analysis Screen, 51, 60, 61, 62 Area, 52 Color bar, 53, 54, 55 Line, 63, 64, 65, 67 Input field, 66 Radio button group, 68 OK button, 70 Measurement surface, 70a, 70b, 70c , 71a, 71b, 71c intersection, 71d contour, 72 mark, 73 arrow, 100 image processing device, 106 memory card, 110 CPU, 112 main memory, 114 hard disk, 116 measurement head interface, 116a image buffer, 118 input interface, 120 display controller, 124 communication interface, 126 data reader/writer, 128 bus, 150 display device, 160 input device, 200 robot controller, 300 robot, 400 measurement head, 401 projection unit, 402 imaging unit, SYS control system.

Claims (9)

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

Family

ID=74664251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019145441A Active JP7439410B2 (en) 2019-08-07 2019-08-07 Image processing device, image processing method and program

Country Status (1)

Country Link
JP (1) JP7439410B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240269845A1 (en) * 2021-05-28 2024-08-15 Kyocera Corporation Hold position determination device and hold position determination method
CN116611963B (en) * 2023-05-23 2024-05-24 中建安装集团有限公司 Engineering data monitoring and analyzing system and method based on Internet of things

Citations (3)

* 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

Also Published As

Publication number Publication date
JP2021024052A (en) 2021-02-22

Similar Documents

Publication Publication Date Title
JP6180087B2 (en) Information processing apparatus and information processing method
EP2636493B1 (en) Information processing apparatus and information processing method
JP6427972B2 (en) Robot, robot system and control device
JP6271953B2 (en) Image processing apparatus and image processing method
EP1413850B1 (en) Optical sensor for measuring position and orientation of an object in three dimensions
KR20140008262A (en) Robot system, robot, robot control device, robot control method, and robot control program
WO2020217878A1 (en) Device, method, and program for detecting position and orientation of object
JP6892286B2 (en) Image processing equipment, image processing methods, and computer programs
JP6703812B2 (en) 3D object inspection device
JP2017118396A (en) Program, device and method for calculating internal parameter of depth camera
JP2004062758A (en) Information processor and information processing method
JP7180783B2 (en) CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD
JP7331527B2 (en) Apparatus, method and program for determining robot motion
JP7439410B2 (en) Image processing device, image processing method and program
JP5858773B2 (en) Three-dimensional measurement method, three-dimensional measurement program, and robot apparatus
US11158080B2 (en) Information processing method, information processing device, object detection apparatus, and robot system
JP7454132B2 (en) Robot system control device, robot system control method, computer control program, and robot system
JP2019098409A (en) Robot system and calibration method
JP7564327B2 (en) Teaching Device
JP2009175012A (en) Measurement device and measurement method
JP7249221B2 (en) SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD
CN113597362A (en) Method and control device for determining a relation between a robot coordinate system and a movable device coordinate system
JP7502343B2 (en) Image Processing System
JP7423387B2 (en) Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device
JP7533265B2 (en) Support system, image processing device, support method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240129

R150 Certificate of patent or registration of utility model

Ref document number: 7439410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150