JP7591938B2 - Control device - Google Patents
Control device Download PDFInfo
- Publication number
- JP7591938B2 JP7591938B2 JP2021020016A JP2021020016A JP7591938B2 JP 7591938 B2 JP7591938 B2 JP 7591938B2 JP 2021020016 A JP2021020016 A JP 2021020016A JP 2021020016 A JP2021020016 A JP 2021020016A JP 7591938 B2 JP7591938 B2 JP 7591938B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinates
- robot
- robot hand
- workpiece
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 142
- 230000008569 process Effects 0.000 claims description 104
- 238000005259 measurement Methods 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 27
- 230000008859 change Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000032258 transport Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 210000000078 claw Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005305 interferometry Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100451306 Caenorhabditis elegans hnd-1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000002366 time-of-flight method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボットを制御する制御装置に関する。 The present invention relates to a control device for controlling a robot.
従来、ロボットと、ロボットハンドに固定された三次元カメラとを組み合わせた、いわゆるハンドアイと呼ばれる方式のロボットシステムが知られている(例えば、特許文献1参照)。この種のロボットシステムでは、運用前に、カメラ座標をロボットハンドのロボット座標に変換するためのキャリブレーションが必要である。特許文献1では、ロボット座標系に一つのキャリブレーション用マークを配置し、三次元カメラをキャリブレーション用マークに向けたままで平行移動させた複数の観測箇所と、これら観測箇所とは異なる方向からキャリブレーション用マークを臨む複数の観測箇所とでキャリブレーション用マークの観測を行い、各観測箇所で得られたマーク位置認識データと、ロボットハンドの姿勢データとを対応付けることによってキャリブレーションデータを取得するようにしている。
Conventionally, a so-called hand-eye type robot system has been known that combines a robot with a three-dimensional camera fixed to the robot hand (see, for example, Patent Document 1). This type of robot system requires calibration before operation to convert the camera coordinates into the robot coordinates of the robot hand. In
ところで、特許文献1では、キャリブレーションを行う際にキャリブレーション用マークを用意する必要がある。キャリブレーション用マークは、ロボットシステムの運用時にピッキングするワークとは材質、形状、大きさなどが異なっているので、カメラの撮像用パラメータ(露光時間、ゲインなど)や、ピント位置などをワークの撮像時とは変えてキャリブレーション用マークの撮像を行う必要がある。つまり、運用時と異なるパラメータでキャリブレーションを行うことになるので、運用に最適な状態のキャリブレーションとは言い難い。
In
そこで、キャリブレーション用マークでなく、ワークをキャリブレーション用マークとして使用することが考えられる。ところが、カメラ座標をロボット座標に変換するためのパラメータを求める際には、ロボットハンドを回転させる動作が必要であり、特にロボットハンドを大きく回転させることで、原理上、より正確性が増すので、キャリブレーション時にはロボットハンドを大きく回転させたいという要求がある。 One solution is to use the workpiece as the calibration mark instead of the calibration mark. However, when determining the parameters for converting the camera coordinates into the robot coordinates, it is necessary to rotate the robot hand. In particular, rotating the robot hand more widely increases accuracy in principle, so there is a demand to rotate the robot hand more widely during calibration.
しかしながら、カメラの視野やワークはロボットハンドの可動範囲に対して小さいので、ロボットハンドを大きく回転させると、ワークがカメラの視野の外に出てしまい、キャリブレーションデータが取得できなくなる。 However, the camera's field of view and the workpiece are small compared to the range of motion of the robot hand, so if the robot hand is rotated significantly, the workpiece will go outside the camera's field of view, making it impossible to obtain calibration data.
また、ロボットハンドを回転させたときにワークがカメラの視野から出ない場合であっても、ワークの一部しか撮像できない場合には、正確なキャリブレーションに足るデータが取得できない。 Even if the workpiece does not leave the camera's field of view when the robot hand is rotated, if only a portion of the workpiece is imaged, sufficient data for accurate calibration cannot be obtained.
さらに、一般的に三次元カメラの視野周辺部は中央部近傍に比べて測定精度が劣るが、ロボットハンドを大きく回転させると、三次元カメラの視野周辺部のデータを使ってキャリブレーションを行うことになり、この点でも正確なキャリブレーションが期待できなくなるおそれがあった。 Furthermore, generally speaking, measurement accuracy is lower in the peripheral areas of a 3D camera's field of view than in the area near the center. If the robot hand is rotated significantly, calibration will be performed using data from the peripheral areas of the 3D camera's field of view, and in this respect too, there is a risk that accurate calibration will not be possible.
本開示は、かかる点に鑑みたものであり、その目的とするところは、ワークを使用してキャリブレーションを実行する場合に正確なキャリブレーションデータを取得できるようにすることにある。 The present disclosure has been made in consideration of these points, and its purpose is to make it possible to obtain accurate calibration data when performing calibration using a workpiece.
上記目的を達成するために、本開示の第1の側面では、ロボットハンドに固定された三次元カメラを用いてワークの形状を測定し、測定されたワークの形状データに基づいて、前記三次元カメラのカメラ座標を前記ロボットハンドのロボット座標に変換するためのキャリブレーションを実行する制御装置を前提とすることができる。制御装置は、通常キャリブレーション処理と、高精度キャリブレーション処理とを実行可能なキャリブレーション実行部を備えている。 To achieve the above object, a first aspect of the present disclosure can be based on a control device that measures the shape of a workpiece using a three-dimensional camera fixed to a robot hand, and performs calibration to convert the camera coordinates of the three-dimensional camera into the robot coordinates of the robot hand based on the measured shape data of the workpiece. The control device includes a calibration execution unit that can perform normal calibration processing and high-precision calibration processing.
前記通常キャリブレーション処理では、前記ロボットハンドをXYZ方向へ移動させる動作と、前記ロボットハンドを所定の軸周りに複数回回転させる動作とを繰り返し実行し、各動作後、前記ロボットハンドの停止位置で前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、前記カメラ座標における位置をロボット座標上の位置に変換するためのパラメータを算出することができる。 In the normal calibration process, the robot hand is moved in the XYZ directions and rotated multiple times around a predetermined axis. After each operation, the workpiece is measured by the three-dimensional camera at the stop position of the robot hand, and workpiece coordinates are detected based on the shape data obtained. The robot coordinates at the time the workpiece coordinates are obtained are also obtained. Based on the multiple pairs of workpiece coordinates and robot coordinates obtained, parameters for converting the position in the camera coordinates to a position in the robot coordinates can be calculated.
一方、前記高精度キャリブレーション処理では、前記通常キャリブレーション処理により求められた前記ロボットハンドのツール中心と前記三次元カメラの相対位置に基づいて、暫定回転中心を決定し、該暫定回転中心周りに前記ロボットハンドを複数回回転させた各位置で、前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、前記ロボットハンドの最終的な回転中心を決定することができる。 On the other hand, in the high-precision calibration process, a provisional rotation center is determined based on the relative position between the tool center of the robot hand and the three-dimensional camera obtained by the normal calibration process, and the robot hand is rotated multiple times around the provisional rotation center. At each position, the workpiece is measured by the three-dimensional camera to detect workpiece coordinates based on shape data obtained, and the robot coordinates at the time the workpiece coordinates are obtained are obtained. The final rotation center of the robot hand can be determined based on the multiple pairs of workpiece coordinates and robot coordinates obtained.
この構成では、ワークの三次元形状を測定する三次元カメラがロボットハンドに固定されたロボットシステムを前提とすることができるので、ロボットシステムの運用時には、ロボットハンドを大きく退避させることなく、三次元カメラによってワークの位置を測定することが可能になるとともに、測定対象のワークに近いところから当該ワークの三次元形状を測定することができ、測定精度が向上する。尚、本発明の対象は、ロボットシステムであってもよいし、ロボットの制御装置(ロボットコントローラ)であってもよい。 This configuration can be based on a robot system in which a three-dimensional camera that measures the three-dimensional shape of the workpiece is fixed to the robot hand. Therefore, when the robot system is in operation, the position of the workpiece can be measured by the three-dimensional camera without having to significantly retract the robot hand, and the three-dimensional shape of the workpiece can be measured from close to the workpiece to be measured, improving measurement accuracy. The subject of the present invention may be a robot system or a robot control device (robot controller).
三次元カメラがロボットハンドに固定されている場合には、三次元カメラのカメラ座標をロボットハンドのロボット座標に変換するためのキャリブレーションを実行する必要があり、本構成では、運用時にピッキングするワークを使用して複数段階のキャリブレーション処理を実行する。 When the three-dimensional camera is fixed to the robot hand, it is necessary to perform calibration to convert the camera coordinates of the three-dimensional camera into the robot coordinates of the robot hand. In this configuration, a multi-stage calibration process is performed using the work to be picked during operation.
すなわち、はじめに、通常キャリブレーション処理として、ロボットハンドをXYZ方向へ移動させる動作と、回転動作とを繰り返し、各動作後のワークを三次元カメラにより測定してワーク座標を検出するとともに、そのワーク座標を得た時のロボット座標も取得する。これにより取得した複数のワーク座標とロボット座標の組に基づいて、カメラ座標における位置をロボット座標上の位置に変換するためのパラメータを算出し、ロボットハンドのツール中心と三次元カメラの相対位置関係が求められる。 That is, first, as a normal calibration process, the robot hand is repeatedly moved in the XYZ directions and rotated, and the workpiece after each operation is measured with a three-dimensional camera to detect the workpiece coordinates, and the robot coordinates at the time the workpiece coordinates are obtained are also obtained. Based on the multiple pairs of workpiece coordinates and robot coordinates obtained in this way, parameters are calculated to convert the position in the camera coordinates to a position in the robot coordinates, and the relative positional relationship between the tool center of the robot hand and the three-dimensional camera is found.
ロボットハンドのツール中心と三次元カメラの相対位置関係を求めた後、高精度キャリブレーション処理を実行する。まず、上記のようにして求めたロボットハンドのツール中心と三次元カメラの相対位置に基づいて、ロボットハンドの暫定回転中心を決定する。この暫定回転中心は、仮に設定した回転中心である。暫定回転中心周りにロボットハンドを複数回回転させることで、三次元カメラの視野の外にワークが出ないようにすること、ワークの全体が三次元カメラの視野に入るようにすること、及び三次元カメラの視野中央部近傍にワークを置くことが可能になる。そして、各位置で、ワークを三次元カメラにより測定してワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、ロボットハンドの最終的な回転中心を高精度に決定することができる。 After determining the relative positional relationship between the tool center of the robot hand and the three-dimensional camera, a high-precision calibration process is performed. First, a provisional rotation center of the robot hand is determined based on the relative position between the tool center of the robot hand and the three-dimensional camera determined as described above. This provisional rotation center is a rotation center that is temporarily set. By rotating the robot hand multiple times around the provisional rotation center, it is possible to prevent the workpiece from going outside the field of view of the three-dimensional camera, to ensure that the entire workpiece is in the field of view of the three-dimensional camera, and to place the workpiece near the center of the field of view of the three-dimensional camera. Then, at each position, the workpiece is measured by the three-dimensional camera to detect the workpiece coordinates, and the robot coordinates when the workpiece coordinates are obtained are obtained. Based on the multiple pairs of workpiece coordinates and robot coordinates obtained, the final rotation center of the robot hand can be determined with high precision.
ワーク座標を得た時のロボット座標は、例えば、ロボットハンドの動作状態に基づいて取得することや、ロボットを制御するロボットコントローラなどから取得することが可能である。 The robot coordinates when the workpiece coordinates are obtained can be obtained, for example, based on the operating state of the robot hand, or from a robot controller that controls the robot.
本開示の第2の側面では、前記キャリブレーション実行部が、前記高精度キャリブレーション処理において前記暫定回転中心周りに回転させる前記ロボットハンドの回転角度を、前記通常キャリブレーション処理において所定の軸周りに回転させる前記ロボットハンドの回転角度よりも大きな回転角度とするものである。 In a second aspect of the present disclosure, the calibration execution unit rotates the robot hand around the provisional rotation center in the high-precision calibration process to a rotation angle that is greater than the rotation angle of the robot hand around a predetermined axis in the normal calibration process.
この構成によれば、高精度キャリブレーション処理でロボットハンドの回転角度を大きくすることで、得られるキャリブレーションデータの正確性が増す。高精度キャリブレーション処理では、ロボットハンドを暫定回転中心周りに回転させるので、上記のように回転角度を大きくしたとしても、ワークの全部または一部が三次元カメラの視野の外に出る可能性が低くなる。 According to this configuration, by increasing the rotation angle of the robot hand in the high-precision calibration process, the accuracy of the calibration data obtained is increased. In the high-precision calibration process, the robot hand is rotated around the temporary rotation center, so even if the rotation angle is increased as described above, there is a low possibility that all or part of the workpiece will fall outside the field of view of the 3D camera.
本開示の第3の側面では、前記キャリブレーション実行部は、前記高精度キャリブレーション処理において前記複数のワーク座標と前記ロボット座標の組に基づいて前記ロボットハンドの回転中心を求める第1処理と、第1処理で求めた回転中心を次の回転中心として、前記ロボットハンドを複数回回転させた各位置で、前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、前記ロボットハンドの回転中心を求める第2処理とを実行してから、前記ロボットハンドの最終的な回転中心を決定することができる。 In a third aspect of the present disclosure, the calibration execution unit executes a first process in the high-precision calibration process to determine the center of rotation of the robot hand based on a set of the multiple workpiece coordinates and the robot coordinates, and a second process in which, using the center of rotation determined in the first process as the next center of rotation, the robot hand is rotated multiple times, and at each position, workpiece coordinates are detected based on shape data obtained by measuring the workpiece with the three-dimensional camera, and the robot coordinates at the time the workpiece coordinates were obtained are obtained, and the final center of rotation of the robot hand is determined, based on the obtained sets of multiple workpiece coordinates and robot coordinates.
すなわち、暫定回転中心は、最終的に回転中心とされるべき中心からずれている場合があるので、この暫定回転中心に基づいて最終的な回転中心を直接決定するのではなく、第1処理で求めた回転中心を次の回転中心としてロボットハンドの回転中心を新たに求める第2処理を実行し、第2処理で新たに求めた回転中心を次の回転中心としてロボットハンドを回転させてロボットハンドの最終的な回転中心を決定することで、最終的な回転中心の誤差を少なくすることができる。 In other words, since the provisional center of rotation may deviate from the center that should ultimately be the center of rotation, instead of directly determining the final center of rotation based on this provisional center of rotation, a second process is executed to determine a new center of rotation for the robot hand using the center of rotation determined in the first process as the next center of rotation, and the robot hand is rotated using the newly determined center of rotation in the second process as the next center of rotation to determine the final center of rotation for the robot hand, thereby reducing the error in the final center of rotation.
本開示の第4の側面では、前記第2処理で求めた回転中心を前記次の回転中心として前記ロボットハンドの回転中心を求める処理と、当該処理で求めた回転中心を前記次の回転中心として前記ロボットハンドの回転中心を求める処理とを繰り返し実行してから、前記ロボットハンドの最終的な回転中心を決定することができる。 In a fourth aspect of the present disclosure, a process of determining the rotation center of the robot hand using the rotation center determined in the second process as the next rotation center, and a process of determining the rotation center of the robot hand using the rotation center determined in the first process as the next rotation center are repeatedly performed, and then the final rotation center of the robot hand can be determined.
この構成によれば、最終的な回転中心を決定するまでに、回転中心を求める処理を複数回繰り返すことができるので、誤差が少ない回転中心に収束させることができる。 With this configuration, the process of finding the rotation center can be repeated multiple times before the final rotation center is determined, allowing the center to converge to a rotation center with less error.
本開示の第5の側面では、前記キャリブレーション実行部は、前記高精度キャリブレーション処理を繰り返し実行して前記ロボットハンドの回転中心を複数取得し、取得された複数の回転中心に基づいて、最終的な回転中心を決定することができる。 In a fifth aspect of the present disclosure, the calibration execution unit can repeatedly execute the high-precision calibration process to obtain multiple rotation centers of the robot hand, and determine a final rotation center based on the multiple rotation centers obtained.
すなわち、高精度キャリブレーション処理を1回だけで終了した場合、決定された最終的な回転中心が何らかの要因で正確でないおそれがあるが、本構成のように高精度キャリブレーション処理を複数回実行して取得した複数の回転中心に基づいて最終的な回転中心を決定することで、正確な回転中心を取得できる。最終的な回転中心を決定する際には、例えば複数の回転中心の平均処理などを実行すればよい。 In other words, if the high-precision calibration process is completed only once, there is a risk that the final rotation center determined may not be accurate due to some factor, but by determining the final rotation center based on multiple rotation centers obtained by performing the high-precision calibration process multiple times as in this configuration, an accurate rotation center can be obtained. When determining the final rotation center, for example, an averaging process of the multiple rotation centers may be performed.
本開示の第6の側面では、前記キャリブレーション実行部は、前記高精度キャリブレーション処理を繰り返し実行して取得された複数の回転中心が予め定められた所定の収束条件を満たすか否かを判定し、所定の収束条件を満たすと判定した場合には、前記高精度キャリブレーション処理を終了することができる。 In a sixth aspect of the present disclosure, the calibration execution unit determines whether the multiple rotation centers obtained by repeatedly executing the high-precision calibration process satisfy a predetermined convergence condition, and when it is determined that the predetermined convergence condition is satisfied, the high-precision calibration process can be terminated.
すなわち、高精度キャリブレーション処理を繰り返し実行して取得された複数の回転中心が収束しなければ、取得した回転中心は正確でないおそれがある。本構成では、所定の収束条件を満たすまで高精度キャリブレーション処理を実行するので、正確な回転中心を取得できる。所定の収束条件としては、例えば高精度キャリブレーション処理によって取得された回転中心の誤差の変化分が一定以下であることを挙げることができる。 In other words, if the multiple rotation centers obtained by repeatedly executing the high-precision calibration process do not converge, the obtained rotation center may not be accurate. In this configuration, the high-precision calibration process is executed until a predetermined convergence condition is satisfied, so an accurate rotation center can be obtained. An example of the predetermined convergence condition is that the change in error of the rotation center obtained by the high-precision calibration process is equal to or less than a certain amount.
本開示の第7の側面では、前記キャリブレーション実行部は、前記高精度キャリブレーション処理において前記ロボットハンドを暫定回転中心周りに所定角度回転させるとともに、当該所定角度回動後の前記ワークが前記三次元カメラの視野に入るように前記ロボットハンドを移動させることができる。 In a seventh aspect of the present disclosure, the calibration execution unit can rotate the robot hand by a predetermined angle around a temporary rotation center during the high-precision calibration process, and can move the robot hand so that the workpiece after the predetermined angle rotation is within the field of view of the three-dimensional camera.
すなわち、ロボットハンドを暫定回転中心周りに所定角度回転させる際に、ワークの位置や大きさによっては所定角度回動後にワークが三次元カメラの視野の外に出てしまうおそれがあるが、本構成では、所定角度回動後においてもワークが三次元カメラの視野に入っているので、正確なキャリブレーションデータを取得できる。 In other words, when the robot hand is rotated a specified angle around the temporary center of rotation, depending on the position and size of the workpiece, there is a risk that the workpiece will go out of the field of view of the 3D camera after the specified angle of rotation. However, with this configuration, the workpiece remains within the field of view of the 3D camera even after the specified angle of rotation, so accurate calibration data can be obtained.
本開示の第8の側面では、前記キャリブレーション実行部は、前記ワークを前記三次元カメラにより測定して得られた三次元の形状データに基づいて前記ワークの代表点のXYZ座標を求め、求めた前記代表点のXYZ座標をワーク座標とすることができる。 In an eighth aspect of the present disclosure, the calibration execution unit can determine the XYZ coordinates of a representative point of the work based on three-dimensional shape data obtained by measuring the work with the three-dimensional camera, and the determined XYZ coordinates of the representative point can be set as work coordinates.
本開示の第9の側面では、前記キャリブレーション実行部は、前記ワークを前記三次元カメラにより測定して得られた二次元の形状データに基づいて前記ワークの代表点のXY座標を求めるとともに、平面式から前記代表点をZ座標を求め、求めた前記代表点のXYZ座標をワーク座標とすることができる。 In a ninth aspect of the present disclosure, the calibration execution unit determines the XY coordinates of a representative point of the work based on two-dimensional shape data obtained by measuring the work using the three-dimensional camera, and determines the Z coordinate of the representative point from a plane equation, and can set the determined XYZ coordinates of the representative point as work coordinates.
本開示の第10の側面では、前記キャリブレーション実行部は、前記ロボットハンドを第1の位置に移動させて前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、前記ロボットハンドをZ座標が異なる第2の位置に移動させて前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出し、前記第1の位置で検出したワーク座標と、前記第2の位置で検出したワーク座標とを前記三次元カメラの画角に非依存の画素位置に換算することができる。 In a tenth aspect of the present disclosure, the calibration execution unit detects work coordinates based on shape data obtained by measuring the work with the three-dimensional camera after moving the robot hand to a first position, and detects work coordinates based on shape data obtained by measuring the work with the three-dimensional camera after moving the robot hand to a second position having a different Z coordinate, and converts the work coordinates detected at the first position and the work coordinates detected at the second position into pixel positions independent of the angle of view of the three-dimensional camera.
すなわち、ロボットハンドが第1の位置にあるときと、ロボットハンドが第2の位置にあるときとでは、三次元カメラのZ方向の位置が異なるので、カメラの画角によってワーク座標のX座標が異なり、正確なキャリブレーションデータが得られなくなることがある。本構成では、三次元カメラのZ方向の位置が異なっていても、ワーク座標を三次元カメラの画角に非依存の画素位置に換算することができるので、正確なキャリブレーションデータが得られる。 In other words, because the Z-direction position of the three-dimensional camera differs when the robot hand is in the first position from when it is in the second position, the X-coordinate of the workpiece coordinates differs depending on the camera's angle of view, and accurate calibration data may not be obtained. With this configuration, even if the Z-direction position of the three-dimensional camera differs, the workpiece coordinates can be converted into pixel positions that are independent of the three-dimensional camera's angle of view, so accurate calibration data can be obtained.
本開示の第11の側面では、キャリブレーションを実行するキャリブレーションモードの選択が可能に構成されており、前記キャリブレーション実行部は、前記キャリブレーションモードが選択されたことを検出すると、前記通常キャリブレーション処理と前記高精度キャリブレーション処理とを順に連続的に実行するものである。 In an eleventh aspect of the present disclosure, a calibration mode for performing calibration is configured to be selectable, and when the calibration execution unit detects that the calibration mode has been selected, the calibration execution unit sequentially executes the normal calibration process and the high-precision calibration process.
この構成によれば、例えば運用モードとキャリブレーションモードとが搭載されている場合、運用モードの前にキャリブレーションモードが選択されると、はじめに通常キャリブレーション処理が実行され、その後に高精度キャリブレーション処理が実行されるので、通常キャリブレーション処理から高精度キャリブレーション処理へのユーザによる切替操作が不要になる。 According to this configuration, for example, if an operational mode and a calibration mode are installed, when the calibration mode is selected before the operational mode, the normal calibration process is executed first, and then the high-precision calibration process is executed, eliminating the need for the user to switch from the normal calibration process to the high-precision calibration process.
本開示の第12の側面では、前記キャリブレーション実行部は、前記高精度キャリブレーション処理で検出された前記ワーク座標の検出結果と、回転中心の収束値とを更新表示可能な表示領域を有するユーザインタフェースを生成する。前記制御装置は、前記キャリブレーション実行部で生成された前記ユーザインタフェースを表示する表示部を備えているので、収束値の変化をユーザに提示することができる。 In a twelfth aspect of the present disclosure, the calibration execution unit generates a user interface having a display area capable of updating and displaying the detection results of the work coordinates detected in the high-precision calibration process and the convergence value of the rotation center. The control device includes a display unit that displays the user interface generated by the calibration execution unit, and is therefore capable of presenting the change in the convergence value to the user.
以上説明したように、通常キャリブレーション処理により求めたロボットハンドのツール中心と三次元カメラの相対位置に基づいて暫定回転中心を決定し、該暫定回転中心周りにロボットハンドを複数回回転させて取得した複数のワーク座標とロボット座標の組に基づいてロボットハンドの最終的な回転中心を高精度に決定することができる。これにより、ワークを使用してキャリブレーションを実行する場合に正確なキャリブレーションデータを取得できる。 As described above, a provisional rotation center is determined based on the relative position of the tool center of the robot hand and the three-dimensional camera obtained by normal calibration processing, and the final rotation center of the robot hand can be determined with high precision based on multiple pairs of work coordinates and robot coordinates obtained by rotating the robot hand multiple times around the provisional rotation center. This makes it possible to obtain accurate calibration data when performing calibration using a workpiece.
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。 The following describes in detail an embodiment of the present invention with reference to the drawings. Note that the following description of the preferred embodiment is essentially merely an example and is not intended to limit the present invention, its applications, or its uses.
図1は、本発明の実施形態に係る制御装置100を備えたロボットシステム1000の構成例を示す模式図である。この図1は、各種製品の製造工場等にある作業空間に配置された複数のワークWKを、ロボットRBTに1つずつ把持させ、所定の場所に設置されているステージSTGまで搬送して該ステージSTG上に載置するばら積みピッキングを行う例について示している。
Figure 1 is a schematic diagram showing an example of the configuration of a
ロボットシステム1000は、ロボットRBTと、ロボットRBTを制御するロボットコントローラ6とを備えている。ロボットRBTは、産業用の汎用ロボットであり、ベース部が工場等の床面に対して固定されている。ロボットRBTは、例えばマニピュレータ等とも呼ばれており、6軸制御が可能に構成されている。このロボットRBTは、ベース部から延びるアーム部ARMと、アーム部ARMの先端部に設けられたロボットハンドHNDとを備えている。アーム部ARMは、可動部としての関節部を複数備えた多関節型に構成することができる。アーム部ARMの各関節部の動作及びアーム部ARM自体の回転動作によってロボットハンドHNDを可動範囲内の所望の位置まで移動させることができる。
The
ロボットハンドHNDは、ワークWKを把持することが可能に構成されており、その構造は特に限定されるものではない。例えば、ロボットハンドHNDは、図4Aに示すようにワークWKの外側を挟み込んで把持する構造のロボットハンドHND1、図4Bに示すように空洞部を有するワークWK2の内部に爪部を挿入して拡開させることによって保持する構造のロボットハンドHND2、図4Cに示すように板状のワークWK3を吸引して保持するロボットハンドHND3等があり、いずれのロボットハンドも使用することができる。また、本明細書で「把持」とは、図4Aに示すワークWKの外側を挟み込む方法、空洞部に爪部を挿入して拡開させる方法、吸引する方法等の全ての例を含む意味で使用する。 The robot hand HND is configured to be able to grasp the workpiece WK, and its structure is not particularly limited. For example, the robot hand HND may be a robot hand HND1 having a structure for pinching and grasping the outside of the workpiece WK as shown in FIG. 4A, a robot hand HND2 having a structure for holding the workpiece WK2 by inserting a claw into the inside of the workpiece WK2 having a hollow portion and spreading it as shown in FIG. 4B, or a robot hand HND3 for sucking and holding a plate-shaped workpiece WK3 as shown in FIG. 4C, and any of these robot hands may be used. In this specification, the term "hold" is used to include all examples, such as the method of pinching the outside of the workpiece WK shown in FIG. 4A, the method of inserting a claw into the hollow portion and spreading it, and the method of sucking.
ロボットコントローラ6はアーム部ARMの動作やロボットハンドHNDの開閉動作(把持動作)等を制御する。またロボットコントローラ6は図2に示す制御装置100から、ロボットRBTの制御に必要な情報を取得する。例えば、図1に示す容器BXに無作為に投入された多数の部品であるワークWKの位置姿勢を、三次元カメラ2を使用して取得し、制御装置100でワークWKの位置や姿勢を検出して、その情報をロボットコントローラ6が取得する。
The
ロボットシステム1000の機能ブロック図を図2に示す。この図に示すロボットシステム1000は、ロボットRBT及びロボットコントローラ6の他に、制御装置100と、操作部4と、ロボット操作具7とを備える。ロボットシステム1000は、表示部3も備えている。ロボットコントローラ6が制御装置100を備えていてもよいし、制御装置100が単独で構成されていて、ロボットコントローラ6に接続されていてもよい。また、制御装置100が操作部4やロボット操作具7を備えていてもよい。
A functional block diagram of the
操作部4は各種設定を行うための部分である。また、制御装置100は、測定部20を備えており、測定部20は、ワークWKを撮像してワークWKの位置姿勢等を測定する。さらにユーザは、表示部3で、各種設定や、ロボットRBTの動作状態の確認、制御装置100の動作状態の確認、後述するキャリブレーションの確認等を行うことができる。表示部3は、制御装置100の一部とすることもできる。
The
一方、ロボットコントローラ6は制御装置100から出力される信号に従い、ロボットRBTの制御を行うように構成された周知の部材である。またロボット操作具7は、ロボットRBTの動作設定を行う。なお、図2の例では操作部4とロボット操作具7を別個の部材としているが、これらを共通の部材としてもよい。
On the other hand, the
三次元カメラ2は、ロボットビジョンなどと呼ばれる、作業空間やワークWKを撮像する部材である。三次元カメラ2は、ロボットハンドHNDに固定されていて、三次元カメラ2とロボットハンドHNDとの相対的な位置関係が変化しないようになっている。従って、本実施形態のロボットシステム1000は、ハンドアイと呼ばれる方式のロボットシステムである。
The three-
三次元カメラ2の撮像対象物には、少なくともワークWKが含まれており、撮像対象物には容器BXが含まれていてもよい。ワークWKにもよるが、ロボットハンドHNDが下にあるワークWKをピッキングする位置姿勢となったときに、三次元カメラ2が下を撮像可能となるように当該三次元カメラ2の光軸の向きを設定することができる。
The objects to be imaged by the three-
三次元カメラ2で撮像された画像から、ワークWKの三次元形状を示す三次元形状データ(画像データ)を取得することが可能になる。容器BXの三次元形状を示す三次元形状データも、三次元カメラ2で撮像された画像から取得することができる。また、三次元カメラ2で撮像された画像から、ワークWKの二次元形状を示す二次元形状データを取得することも可能である。三次元カメラ2は、ワークWKを撮像したカラー画像や白黒画像を出力することもできる。
It is possible to obtain three-dimensional shape data (image data) showing the three-dimensional shape of the workpiece WK from the images captured by the three-
尚、ワークWKや容器BXの三次元形状を取得する方法は、例えば、パターン投影法、ステレオ法、レンズ焦点法、光切断法、光レーダ法、干渉法(白色干渉法)、TOF方式などがあり、これらの方法のうち、どの方法を用いてもよい。各方法は、従来から周知であるため、詳細な説明は省略する。本実施形態においては、パターン投影法のうち、周期的な照度分布を有するパターン光を撮像対象物に照射し、撮像対象物の表面で反射した光を受光する位相シフト法を用いている。 Methods for acquiring the three-dimensional shape of the workpiece WK or container BX include, for example, the pattern projection method, stereo method, lens focusing method, light section method, optical radar method, interferometry (white light interferometry), and TOF method, and any of these methods may be used. Each method is well known in the art, so detailed explanations are omitted. In this embodiment, of the pattern projection methods, the phase shift method is used, in which pattern light having a periodic illuminance distribution is irradiated onto the object to be imaged and the light reflected from the surface of the object to be imaged is received.
三次元カメラ2と形状測定処理部200とにより、測定部20が構成されている。形状測定処理部200は三次元カメラ2の一部に含むこともできる。形状測定処理部200は、三次元カメラ2で取得した画像データに基づいてワークWKの位置姿勢、形状、各部の寸法だけでなく、容器BXの位置、形状や寸法も測定することができる。形状測定処理部200は、制御装置100の一部とすることができるが、別部材として構成することもできる。
The
測定部20は、X方向及びY方向に加えてZ方向(高さ方向)を含む三次元の測定を行うことが可能な三次元測定部である。測定部20が備える三次元カメラ2の具体的な構成は、三次元形状の計測技術に応じて決定される。この例では、三次元カメラ2は、カメラ、照明又はプロジェクタ等を備えている。例えば位相シフト法でワークWKの三次元形状を計測する場合は、三次元カメラ2として図3に示すように、プロジェクタ(投光部)PRJと、複数のカメラ(受光部)CME1、CME2、CME3、CME4とを備える。プロジェクタPRJは、ワークWKに光を照射する部材である。カメラCME1、CME2、CME3、CME4は、プロジェクタPRJにより投光されてワークWKの表面で反射した光を受光する撮像素子を有する部材である。投光部の光源は、例えば複数の発光ダイオード、液晶パネル、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することができる。三次元カメラ2が有するカメラや照明の数は、特に限定されない。また、三次元カメラ2やロボットRBT、ロボットコントローラ6との接続は、有線接続に限られず、周知の無線接続としてもよい。
The measuring
三次元カメラ2は、カメラCME1、CME2、CME3、CME4やプロジェクタPRJといった複数の部材で構成する他、これらを一体的に構成してもよい。例えばカメラCME1、CME2、CME3、CME4やプロジェクタPRJを統合してヘッド状とした3D撮像ヘッドを、三次元カメラ2とすることができる。
The three-
また三次元形状データの生成自体を三次元カメラ2で行うこともできる。この場合、三次元カメラ2に三次元形状データの生成機能を実現する画像処理IC等を設ける。あるいは、三次元形状データの生成を、形状測定処理部200側で行わず、三次元カメラ2で撮像した生画像を、制御装置100の別の部分で画像処理して三次元画像等の三次元形状データを生成する構成としてもよい。
The three-dimensional shape data itself can also be generated by the three-
制御装置100は、測定部20で得られたワークWKの位置姿勢等の三次元形状データに基づいて、三次元サーチ、干渉判定、把持解算出等を行う。この制御装置100は、専用の画像処理プログラムをインストールした汎用のコンピュータや、専用に設計された画像処理コントローラ、専用のハードウェアで構成することができる。また、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像処理プログラムをインストールした構成とすることもできる。
The
尚、図2の例では、測定部20が備える三次元カメラ2と形状測定処理部200とを別個の部材で構成する例を示しているが、本発明はこの構成に限られず、例えば三次元カメラ2と形状測定処理部200とを一体化したり、あるいは三次元カメラ2の一部を形状測定処理部200に組み込んだり、形状測定処理部200の一部を三次元カメラ2に組み込むこともできる。このように、図2に示す部材の区分けは一例であって、複数の部材を統合させたり、1つの部材を分けることもできる。例えば操作部4とロボット操作具7とを共通の部材としてもよい。
In the example of FIG. 2, the three-
表示部3は、例えば、液晶モニタや有機ELディスプレイ、CRT等を利用できる。操作部4は、各種シミュレーションや画像処理等の各種設定を行うための部材であり、キーボードやマウス等の入力デバイスが利用できる。また表示部3をタッチパネルとすることで、操作部4と表示部3を一体化することもできる。
The
例えば制御装置100を、画像処理プログラムをインストールしたコンピュータで構成した場合、後述するように、表示部3上には画像処理プログラムを実行することによって生成されるグラフィカルユーザインターフェース(GUI)画面が表示される。表示部3上に表示されたGUI上から各種の設定を行うことができ、また処理結果等を表示させることができる。この場合、表示部3を各種の設定を行うための設定部や入力部としても利用でき、設定部や入力部には操作部4が含まれていてもよい。
For example, if the
ロボットコントローラ6は、例えば三次元カメラ2で撮像した情報や制御装置100から出力される情報等に基づいてロボットの動作を制御する。またロボット操作具7は、ロボットRBTの動作設定を行うための部材であり、いわゆるペンダントなどが利用できる。
The
ロボットコントローラ6は、三次元カメラ2で得られたワークWKの三次元形状に基づいて、複数のワークWKの内から、把持対象のワークWKを特定して、このワークWKを把持するよう、ロボットRBTを制御する。そして、ワークWKを把持位置で把持したまま、アーム部ARMを動作させて予め定められた載置位置、例えばステージSTG上まで移動させ、所定の姿勢でワークWKを載置する。いいかえると、ロボットコントローラ6は、三次元カメラ2及び制御装置100で特定されたピッキング対象(把持対象)のワークWKをロボットハンドHNDで把持して、把持したワークWKを所定の基準姿勢にて、載置場所(ステージSTG)に載置してロボットハンドHNDを開放するようにロボットRBTの動作を制御する。ステージSTGは、例えばコンベアベルト上やパレット等を挙げることができる。また、把持動作のことをピッキングということもでき、把持位置はピッキング位置ということもできる。また、載置動作のことをプレースということもでき、載置位置はプレース位置ということもできる。
Based on the three-dimensional shape of the workpiece WK obtained by the three-
ここで、本実施形態が対象とするピッキングは、ばら積みピッキングに限られるものではなく、どのように載置されたワークWKであってもロボットRBTによって搬送することが可能である。本明細書において、ばら積みピッキングとは、容器BXに入れられて無作為に積み上げられたワークWKを、ロボットRBTで把持して、所定の位置に載置する他、容器を用いずに所定の領域に積み上げられたワークWKに対して把持、載置を行う例、あるいは所定の姿勢で並べられて積み上げられたワークWKを順次把持、載置する例も含む意味で使用する。また、必ずしもワークWK同士が積み重ねられている状態であることは要さず、ワークWK同士の重なりがない状態で平面上にランダムに置かれたワークWKについても、本明細書においてはばら積みと呼ぶ(順次ピッキングされていき、ピッキングの終盤でワークWK同士の重なりがない状態となった場合でも依然としてばら積みピッキングと呼ばれるのと同じ理由である)。なお、本発明はばら積みピッキングに必ずしも限定されるものでなく、ばら積みされていないワークWKをピックアップする用途にも適用できる。 Here, the picking targeted by this embodiment is not limited to bulk picking, and the robot RBT can transport the workpieces WK regardless of how they are placed. In this specification, bulk picking is used to mean not only the case where the workpieces WK that are randomly stacked in a container BX are grasped by the robot RBT and placed in a predetermined position, but also the case where the workpieces WK that are stacked in a predetermined area without using a container are grasped and placed, or the case where the workpieces WK that are arranged and stacked in a predetermined posture are grasped and placed one by one. In addition, the workpieces WK do not necessarily have to be stacked on top of each other, and the workpieces WK that are randomly placed on a plane without overlapping each other are also called bulk picking in this specification (this is the same reason why the workpieces WK are still called bulk picking even when they are picked one by one and there is no overlapping at the end of the picking). Note that the present invention is not necessarily limited to bulk picking, and can also be applied to the application of picking up workpieces WK that are not stacked.
ロボットシステム1000でばら積みピッキング動作を行うにあたり、予めばら積みピッキング動作を行わせるための設定を含めたティーチングを行うこともできる。具体的には、ワークWKのどの部位を、ロボットハンドHNDがどのような姿勢で把持するのか、把持位置及び把持時の姿勢などの登録や、載置位置及び載置時の姿勢などの登録を行うことができる。このような設定は、ペンダント等のロボット操作具7で行うことができる。また、実際のロボットRBTを操作せずに、ビジョン空間上で設定を行うこともできる。
When performing bulk picking operations with the
表示部3は、ワークWKの三次元形状を仮想的に表現するワークモデルや、ロボットハンドHNDの三次元形状を仮想的に表現する、三次元CADデータで構成されたロボットハンドモデルを、仮想的な三次元空間上でそれぞれ三次元状に表示させる。さらにこの表示部3は、ワークモデルの基本方向画像を六面図として表示させることもできる。これにより、ワークモデルの各姿勢を六面図で表示させて把持位置の設定作業を行えるようになる。
The
(設定手順)
図5は、サーチモデルの設定の手順を示すフローチャートである。ステップSB1では、ワークWKのサーチモデルを登録する。ワークWKのサーチモデルとは、後述するサーチ処理を実行する際に使用されるワークWKの形状を表したモデルである。ステップSB1でワークWKのサーチモデルを登録する際には、ワークWKの三次元CADデータ(CADモデル)を読み込んで、制御装置100が有する記憶装置42に一旦記憶させておく。CADデータは、ワークWKのサーチモデルのデータであり、従来から一般的に用いられているフォーマットのデータを使用することができる。
(Settings Procedure)
5 is a flowchart showing the procedure for setting the search model. In step SB1, a search model of the workpiece WK is registered. The search model of the workpiece WK is a model that represents the shape of the workpiece WK used when performing the search process described later. When registering the search model of the workpiece WK in step SB1, three-dimensional CAD data (CAD model) of the workpiece WK is read and temporarily stored in the
また、ワークWKのサーチモデルとしては、例えばある面から見たサーフェス形状をもとに生成した干渉判定モデル(後述する干渉判定部25で使用される)であってもよい。また、ワークWKのサーチモデルとしては、CADデータのフォーマットとして最もシンプルなSTL形式を用いることができる。
The search model for the workpiece WK may be, for example, an interference detection model (used in the
ステップSB1でワークWKのサーチモデルのCADデータを読み込んだ後、ステップSB2に進み、ワークWKのサーチモデルの確認及び登録を行う。 After loading the CAD data of the search model of the workpiece WK in step SB1, proceed to step SB2 to confirm and register the search model of the workpiece WK.
また、ステップSB1で読み込んだCADモデルの六面の各方向から見た高さ画像データをステップSB2で生成する。まず、CADモデルの平面図、底面図、左側面図、右側面図、正面図、背面図となるように、6つの高さ画像データを生成する。この高さ画像データから高さ画像が得られる。ワークWKのCADデータが無い場合には、ワークWKのサーチモデルを異なる方向から見た複数の高さ画像データをサーチモデルとして登録するようにしてもよい。すなわち、登録したい面を上向きにしたワークWKを平面上に置き、三次元計測を行う。この三次元計測は、ロボットシステム1000の三次元カメラ2及び形状測定処理部200を利用して行うことができる。形状測定処理部200による三次元計測で得られた計測データは形状測定処理部200から出力され、計測データに基づいて、ワークWKの登録したい面の高さ画像データを得ることができる。高さ画像を得た後、その高さ画像をサーチモデルとして登録する。
In addition, in step SB2, height image data viewed from each direction of the six faces of the CAD model read in step SB1 is generated. First, six height image data are generated so as to provide a plan view, bottom view, left side view, right side view, front view, and back view of the CAD model. A height image is obtained from this height image data. If there is no CAD data for the workpiece WK, multiple height image data viewed from different directions of the search model of the workpiece WK may be registered as a search model. That is, the workpiece WK is placed on a plane with the face to be registered facing up, and three-dimensional measurement is performed. This three-dimensional measurement can be performed using the three-
図5に示すフローチャートのステップSB3では、サーチ条件を設定する。サーチ条件には、例えば、サーチ時に検出可能なワークWKの数、サーチモデルとワークWKとの相関値の下限、特徴抽出条件(エッジ抽出の閾値等)等が含まれている。サーチ条件は使用者が設定することで、設定部21により受け付けられる。
In step SB3 of the flowchart shown in FIG. 5, search conditions are set. The search conditions include, for example, the number of workpieces WK that can be detected during a search, a lower limit of the correlation value between the search model and the workpieces WK, feature extraction conditions (edge extraction threshold value, etc.), etc. The search conditions are set by the user and are accepted by the setting
次に、図6に示すハンドモデル及び把持位置の設定の手順を示すフローチャートについて説明する。開始後のステップSC1では、現場で使用されるロボットRBTに関する各種情報を規定するロボットモデルを登録する。 Next, the flowchart showing the procedure for setting the hand model and gripping position shown in FIG. 6 will be described. In step SC1 after the start, a robot model that specifies various information related to the robot RBT to be used at the site is registered.
ステップSC1でロボットモデルを登録した後、ステップSC2に進み、ロボットハンドモデルを登録する。ロボットハンドモデルとは、ロボットハンドの形状を表したモデルであり、例えばロボットハンドのポリゴンデータ(CADデータ)を読み込む。 After registering the robot model in step SC1, proceed to step SC2 to register the robot hand model. The robot hand model is a model that represents the shape of the robot hand, and for example, polygon data (CAD data) of the robot hand is read in.
その後、ステップSC3に進み、ステップSC2で登録したロボットハンドモデルと、そのロボットハンドモデルが装着されるロボットモデル(ステップSC1で登録済み)のフランジ面との相対的な位置及び姿勢を定義する。具体的には、ロボットハンドモデルにおける取付面と、ロボットモデルのフランジ面とが一致するように、両者の位置関係を定義しておく。 Then, proceed to step SC3, where you define the relative position and orientation between the robot hand model registered in step SC2 and the flange surface of the robot model (already registered in step SC1) to which the robot hand model will be attached. Specifically, you define the positional relationship between the mounting surface of the robot hand model and the flange surface of the robot model so that they coincide with each other.
ステップSC3に続くステップSC4では、ロボットモデルのフランジ面に装着された状態にあるロボットハンドモデルの先端座標を指定する。この先端座標は、ロボットコントローラ6から取得することも可能であるが、ユーザが設定することも可能である。その後、ステップSC5では、ロボットハンドモデルの登録完了確認を行う。
In step SC4 following step SC3, the tip coordinates of the robot hand model attached to the flange surface of the robot model are specified. These tip coordinates can be obtained from the
その後、ステップSC6では、ハンドモデルで把持するサーチモデルの面を選択する。サーチモデルの面は、図5に示すフローチャートで登録した高さ画像で表すことができ、登録されている複数の高さ画像の中から、ロボットハンドモデルで把持することが可能な面に対応した高さ画像をユーザが選択する。 Then, in step SC6, a surface of the search model to be grasped by the hand model is selected. The surface of the search model can be represented by a height image registered in the flowchart shown in FIG. 5, and the user selects a height image corresponding to a surface that can be grasped by the robot hand model from among the multiple registered height images.
ステップSC6で高さ画像を選択した後、ステップSC7に進み、ステップSC6で選択した面を把持する時のロボットハンドHNDの位置及び姿勢を登録する。ワークWKの把持候補位置及びロボットハンドHNDの姿勢を示す把持情報は、サーチモデルと対応付けられた状態で制御装置100が有する記憶装置42の把持情報記憶部42a(図2に示す)に記憶することができる。
After selecting the height image in step SC6, proceed to step SC7 and register the position and posture of the robot hand HND when gripping the surface selected in step SC6. The gripping information indicating the candidate gripping positions of the workpiece WK and the posture of the robot hand HND can be stored in the gripping
実際のロボットハンドHNDでワークWKをピッキングする際には、三次元カメラ2でワークWKを撮像した三次元空間(ビジョン空間)の座標であるビジョン座標から、ロボットコントローラ6がロボットRBTを実際に動作させる際に用いるロボット座標に変換する必要がある。尚、座標はロボット座標(XYZ、RxRyRz)で与えることもできるが、アーム部ARMの軸角度(joint angle)で与えることもできる。また、制御装置100内で把持位置等のロボット座標から、軸角度を求め、その軸角度をロボットコントローラ6側に伝えることもできるようになっている。
When picking up the workpiece WK with the actual robot hand HND, it is necessary to convert the vision coordinates, which are the coordinates of the three-dimensional space (vision space) in which the workpiece WK is imaged by the three-
具体的には、ワークWKのサーチモデルの位置及び姿勢は、ビジョン空間における位置と姿勢で求められる。また、これを把持するロボットハンドモデルの姿勢についても、同様に制御装置100の仮想三次元空間における位置と姿勢として求められる。このようなビジョン空間における位置及び姿勢に基づいて、ロボットコントローラ6がロボットRBTを動作させるには、これらをロボット空間における位置と姿勢に変換する必要がある。この表示される座標系で算出された位置及び姿勢を、ロボットコントローラ6がロボットハンドHNDを動作させる座標系の位置及び姿勢に座標変換するための変換式を算出する処理は、従来から周知の手法で行うことができる。
Specifically, the position and orientation of the search model of the workpiece WK are obtained as a position and orientation in the vision space. Similarly, the orientation of the robot hand model that grasps it is obtained as a position and orientation in the virtual three-dimensional space of the
図6に示すフローチャートのステップSC8では、必要数の把持候補位置を登録できたか否かを判定する。ステップSC8でNOと判定して必要数の把持候補位置を登録できていない場合には、ステップSC6を経てステップSC7に進み、他の把持候補位置を設定し、登録する。一方、ステップSC8でYESと判定した場合には、ステップSC9に進む。 In step SC8 of the flowchart shown in FIG. 6, it is determined whether the required number of gripping candidate positions have been registered. If the determination in step SC8 is NO and the required number of gripping candidate positions have not been registered, the process proceeds to step SC7 via step SC6, where other gripping candidate positions are set and registered. On the other hand, if the determination in step SC8 is YES, the process proceeds to step SC9.
ステップSC9では、開始位置と、把持したワークWKを載置する載置位置とを登録する。ここでの開始位置は、ロボットハンドHNDによってワークWKの把持を行う位置であり、搬送開始位置に相当する。開始位置は、容器内にばら積みされているワークWKの把持候補位置とすることができる。開始位置は、ワークWKが容器内のどこに存在しているかによって異なることになるが、これは三次元サーチによって取得することができる。一方、載置位置は、ロボットハンドHNDによりワークWKが載置される位置であり、例えば図1に示すステージSTG上に設定することができる。 In step SC9, the start position and the placement position where the grasped workpiece WK is placed are registered. The start position here is the position where the robot hand HND grasps the workpiece WK, and corresponds to the transfer start position. The start position can be a candidate gripping position for the workpiece WK bulk-stacked in the container. The start position will differ depending on where the workpiece WK is located in the container, but this can be obtained by a three-dimensional search. On the other hand, the placement position is the position where the workpiece WK is placed by the robot hand HND, and can be set, for example, on the stage STG shown in FIG. 1.
ステップSC10では、ワークWKを把持位置から載置位置へ移動する間に経由する経由点を登録する。経由点が登録された場合、ロボットハンドHNDがワークWKを把持して開始位置から載置位置へ搬送する途中で、ロボットハンドHNDの一部またはワークWKの一部が経由点を通過するように、アーム部ARM及びロボットハンドHNDの動作が設定される。 In step SC10, the waypoints through which the workpiece WK will be moved from the gripping position to the placement position are registered. When the waypoints are registered, the operation of the arm unit ARM and the robot hand HND is set so that part of the robot hand HND or part of the workpiece WK passes through the waypoints while the robot hand HND grips the workpiece WK and transports it from the starting position to the placement position.
(ロボットの基本制御)
図7は、ロボットRBTの基本制御のフローチャートの一例を示す図である。スタート後のステップSD1では、測定部20がワークWKを撮像してワークWKの位置姿勢を測定し、ステップSD2で実行されるサーチ処理用データ(高さ画像データ)を生成する。測定部20によって三次元計測が可能であるため、サーチ処理用データには高さ情報を含むことができる。
(Basic robot control)
7 is a diagram showing an example of a flowchart of the basic control of the robot RBT. In step SD1 after starting, the
その後、ステップSD2に進み、ステップSD1で生成されたサーチ処理用データに対し、ワークWKの位置及び姿勢を検出するサーチ処理を実行する。具体的には、登録されたワークWKのサーチモデルを用いて、ワークWKの姿勢と位置を特定するのであるが、まずサーチモデルの各特徴点が、最も一致する状態の位置及び姿勢を、サーチ処理用データの中から探索する。 Then, proceed to step SD2, and execute a search process to detect the position and orientation of the workpiece WK from the search process data generated in step SD1. Specifically, the registered search model of the workpiece WK is used to identify the position and orientation of the workpiece WK. First, the search process data is searched for the position and orientation that best matches each feature point of the search model.
登録されたサーチモデルが存在するか否かをサーチした結果、サーチ処理用データ中に、サーチモデルが存在しない場合、即ちワークWKを検出できない場合には、このフローチャートを終了する。 If, as a result of searching to see whether a registered search model exists, the search model does not exist in the search processing data, i.e., the work WK cannot be detected, this flowchart ends.
また、ステップSD2では、図2に示す位置決定処理部22が、測定部20による測定結果と、把持情報記憶部42aに記憶された把持情報とに基づいて、作業空間に配置されたワークWKのロボットハンドHNDによる把持位置を決定する。さらに、位置決定処理部22は、把持位置を決定した後、当該把持位置を把持するためのロボットハンドHNDの移動目標座標を算出するように構成されている。
In addition, in step SD2, the position
このとき図2に示す干渉判定部25の判定結果を使用することができる。干渉判定部25は、ロボットハンドHNDと障害物との干渉判定を行う部分である。例えば、図6に示すフローチャートに示す処理で登録されたロボットハンドHNDのモデルが容器BXの壁等の障害物に接触するか否かを判定することができる。
At this time, the judgment result of the
また、ステップSD3では、図2に示す経路生成部23が、ロボットハンドHNDで把持したワークWKをプレース位置まで搬送する搬送経路を生成する。ステップSD4では、出力部24が、把持位置、載置位置、経由点等の座標及びステップSD2で算出した移動目標座標をロボットコントローラ6に出力する。ロボットコントローラ6は、出力部24から出力された把持位置、載置位置、経由点等の座標を受け取って制御信号を生成し、生成した制御信号をロボットRBTに出力する。その後、ステップSD5では、ロボットRBTが制御信号に従って動作してワークWKを所定の経路で搬送する。
In addition, in step SD3, the
(キャリブレーション)
図7に示すフローチャートに従ってロボットシステム1000を運用することができるが、本ロボットシステム1000は、ハンドアイ方式のロボットシステムであることから、運用前には、三次元カメラ2のカメラ座標をロボットハンドHNDのロボット座標に変換するためのキャリブレーション、いわゆるhand-eyeキャリブレーションを実行する必要がある。
(calibration)
The
キャリブレーションを実行する際には、上記特許文献1に開示されているようにキャリブレーション用マークやキャリブレーションボード等を使用する場合があるが、キャリブレーション用マークやキャリブレーションボードと、上記ワークWKとは、材質、形状、大きさなどが異なっているので、三次元カメラ2の撮像用パラメータや、ピント位置などを実際のワークWKの撮像時とは変えてキャリブレーション用マークやキャリブレーションボードの撮像を行う必要がある。つまり、ロボットシステム1000の運用時と異なる撮像用パラメータでキャリブレーションを行うことになるので、運用に最適な状態のキャリブレーション結果が得られるとは言い難い。
When performing calibration, calibration marks and a calibration board may be used as disclosed in the above-mentioned
そこで、本実施形態では運用時に実際にピッキングされるワークWKをキャリブレーションに使用する。そして、制御装置100は、ロボットハンドHNDに固定された三次元カメラ2を用いてワークWKの形状を測定し、測定されたワークWKの形状データに基づいて複数段階のキャリブレーションを実行するように構成されている。
Therefore, in this embodiment, the workpiece WK that is actually picked during operation is used for calibration. The
キャリブレーションの手順は、大きく分けると、図8に示すように第1~第3ステップSE1~SE3で構成されている。スタート後の第1ステップSE1では、ロボットハンドHNDと三次元カメラ2とをXYZ方向へ平行移動させ、ロボットハンドHNDと三次元カメラ2の移動を停止したときのカメラ座標とロボット座標を取得し、カメラ座標とロボット座標の対応関係を求める。第2ステップSE2では、ロボットハンドHNDと三次元カメラ2とを所定の軸周りに複数回回動させ、ロボットハンドHNDと三次元カメラ2の移動を停止したときのカメラ座標とロボット座標を取得し、回転中心と三次元カメラ2の位置との暫定的な対応関係を求める。第3ステップSE3では、第2ステップSE2で求めた暫定的な対応関係を元に、ロボットハンドHNDと三次元カメラ2と回転させ、回転中心の補正値を得る。得られた補正値を元に、第2ステップSE2で求めた暫定的な回転中心を補正する。
The calibration procedure is roughly divided into the first to third steps SE1 to SE3 as shown in FIG. 8. In the first step SE1 after starting, the robot hand HND and the three-
図8に示すフローチャートでは、第1ステップSE1と第2ステップSE2とを分けて別ステップとして示しているが、これに限らず、第1ステップSE1における処理内容と、第2ステップSE2における処理内容とを1つのステップで実行してもよい。また、第2ステップSE2では、回転中心と三次元カメラ2の位置との暫定的な対応関係を求めているが、この関係が設計値で予め定まっている場合には、第2ステップSE2を省略し、設計値の読み込みで代用できる。
In the flowchart shown in FIG. 8, the first step SE1 and the second step SE2 are shown as separate steps, but this is not limiting, and the processing content in the first step SE1 and the processing content in the second step SE2 may be executed in a single step. Also, in the second step SE2, a provisional correspondence relationship between the center of rotation and the position of the three-
また、第1ステップSE1及び第2ステップSE2は、カメラ座標における位置をロボット座標上の位置に変換するためのパラメータを算出し、回転中心と三次元カメラ2の位置との暫定的な対応関係を求めるためのステップであることから、通常キャリブレーション処理と定義する。第3ステップSE3は、第2ステップSE2で求めた暫定的な回転中心を補正して精度を高めるステップであることから、高精度キャリブレーション処理と定義する。通常キャリブレーション処理及び高精度キャリブレーション処理は、図2に示すキャリブレーション実行部26が実行する。
The first step SE1 and the second step SE2 are defined as normal calibration processes because they are steps for calculating parameters for converting a position in the camera coordinates to a position in the robot coordinates and for determining a provisional correspondence between the center of rotation and the position of the three-
制御装置100は、上述したロボットシステム1000を運用する際に選択される運用モードと、キャリブレーションを実行する際に選択されるキャリブレーションモードとを実行可能に構成されている。ユーザがロボットシステム1000の運用前にキャリブレーションを実行するキャリブレーションモードを選択すると、キャリブレーション実行部26は、制御装置100でキャリブレーションモードが選択されたことを検出する。キャリブレーション実行部26は、キャリブレーションモードが選択されたことを検出すると、通常キャリブレーション処理と高精度キャリブレーション処理とを順に連続的に実行する。「連続的に実行する」とは、通常キャリブレーション処理の終了後に、ユーザが特別な操作を行わなくても、通常キャリブレーション処理の結果を用いて高精度キャリブレーション処理を開始することであり、これにより、ユーザの負担を軽減できる。尚、通常キャリブレーション処理と高精度キャリブレーション処理とを連続的に実行することなく、通常キャリブレーション処理の終了後に、ユーザからの指示を待って高精度キャリブレーション処理を開始するようにしてもよい。以下、第1~第3ステップSE1~SE3の各ステップの詳細について説明する。
The
(第1ステップの詳細)
図9は、上記図8に示す第1ステップSE1の詳細手順を示すフローチャートである。第1ステップSE1が開始されると、キャリブレーション実行部26は、図10に示すような画像からなるキャリブレーション用ユーザインタフェース50を生成して表示部3に表示させる。キャリブレーション用ユーザインタフェース50には、三次元カメラ2で撮像したワークWKのカラー画像を表示する二次元画像表示領域51と、三次元カメラ2で撮像された画像から取得した三次元形状データに基づく高さ画像を表示する三次元画像表示領域52とが設けられている。実際には、三次元画像表示領域52に、高さに応じて異なる色に着色されたワーク画像が表示されるが、本例の図では着色を省略している。
(Details of the first step)
9 is a flowchart showing a detailed procedure of the first step SE1 shown in FIG. 8. When the first step SE1 is started, the
さらに、キャリブレーション用ユーザインタフェース50には、キャリブレーションモードであるか否かを表示するモード表示領域53と、ロボットハンドHNDの移動量を表示する移動量表示領域54と、回転中心誤差を表示する誤差表示領域55と、通常キャリブレーション処理時におけるロボットハンドHNDの移動量を設定する移動量設定領域56とが設けられている。移動量表示領域54には、ロボットハンドHNDのX方向の移動量(X)、Y方向の移動量(Y)、Z方向の移動量(Z)、X軸周りの回転量(Rx)、Y軸周りの回転量(Ry)及びZ軸周りの回転量(Rz)が表示される。X方向の移動量(X)、Y方向の移動量(Y)、Z方向の移動量(Z)の単位はmmであり、X軸周りの回転量(Rx)、Y軸周りの回転量(Ry)及びZ軸周りの回転量(Rz)の単位はdegである。
The
移動量設定領域56にも移動量表示領域54と同様なX方向の移動量(X)、Y方向の移動量(Y)、Z方向の移動量(Z)、X軸周りの回転量(Rx)、Y軸周りの回転量(Ry)及びZ軸周りの回転量(Rz)が表示されており、ユーザが各値を個別に入力することが可能になっている。移動量設定領域56の各値は、予め決められた値が入力されていてもよく、その入力されている値をユーザが変更可能であってもよい。各値の入力や変更は操作部4をユーザが操作することによって可能である。
The movement
図9に示すフローチャートのステップSF1では、ロボットハンドHNDをキャリブレーションの開始位置に移動させる。開始位置に移動させると、ステップSF2に進み、図11に示すように、ロボットハンドHNDを、開始位置を中心に、縦3点×横3点×高さ3点(計27点)の格子状に平行移動させる。このときの移動量は、図10に示すキャリブレーション用ユーザインタフェース50の移動量設定領域56に入力されたX方向の移動量(X)、Y方向の移動量(Y)、Z方向の移動量(Z)である。
In step SF1 of the flowchart shown in FIG. 9, the robot hand HND is moved to the start position of the calibration. After being moved to the start position, the process proceeds to step SF2, where the robot hand HND is translated in parallel in a grid pattern of 3 vertical points x 3 horizontal points x 3 vertical points (total of 27 points) with the start position as the center, as shown in FIG. 11. The amount of movement at this time is the amount of movement in the X direction (X), the amount of movement in the Y direction (Y), and the amount of movement in the Z direction (Z) input in the movement
このステップSF1では、ロボットハンドHNDは回転させずに、X方向、Y方向、Z方向に沿う方向へのみ移動させる。つまり、ロボットハンドHNDの姿勢(θx,θy,θz)は変えずに、θx,θy,θzは一定の値を保ったままにする。これは、ツール中心と三次元カメラ2の位置との関係を崩さないようにするためである。尚、縦とはY方向であり、横とはX方向であり、高さとはZ方向である。X方向の複数点の間隔、Y方向の複数点の間隔、Z方向の複数点の間隔は全て同じにすることができる。また、本実施形態では、計27点移動させているが、これは一例であり、移動点の数は27より少なくてもよいし、多くてもよい。また、ロボットハンドHNDは、必ずしもX方向、Y方向、Z方向に沿う方向へ移動させなくてもよく、X方向に対して所定の傾斜角を持って直線移動させてもよいし、XY向に対して所定の傾斜角を持って直線移動させてもよいし、Z方向に対して所定の傾斜角を持って直線移動させてもよい。
In this step SF1, the robot hand HND is not rotated, but is moved only in the directions along the X, Y, and Z directions. In other words, the posture (θx, θy, θz) of the robot hand HND is not changed, and θx, θy, and θz are kept constant. This is to avoid breaking the relationship between the tool center and the position of the three-
各動作後、ロボットハンドHNDの停止位置でワークWKを三次元カメラ2で撮像する。図12は、ロボットハンドHNDを1点目の位置に移動させた場合に表示されるキャリブレーション用ユーザインタフェース50の例を示す図である。また、図13は、ロボットハンドHNDを27点目の位置に移動させた場合に表示されるキャリブレーション用ユーザインタフェース50の例を示す図である。1点目と27点目とでは、三次元カメラ2のワークWKに対する位置が変わっているので、図12の三次元画像表示領域52と、図13に示す三次元画像表示領域52とには、異なる角度及び位置から見たワークWKの三次元画像が表示されている。1点目~27点目までの各点で撮像されたワークWKの三次元画像が三次元画像表示領域52に順次表示されるようにしてもよいし、ワークWKの三次元画像を表示しなくてもよい。図12及び図13に示すように、1点目~27点目までの各点で撮像を開始すると、キャリブレーション用ユーザインタフェース50には、オプション表示領域57が表示される。オプション表示領域57には、位置公差、法線公差、角度公差等が表示される。尚、公差は、キャリブレーション時には関係なく、運用時に適用されるものである。
After each operation, the workpiece WK is imaged by the three-
キャリブレーション実行部26は、三次元カメラ2で測定して得られた三次元形状データに基づいてワーク座標を検出するとともに、当該ワーク座標に対応するロボット座標を取得する。ワーク座標に対応するロボット座標とは、ワーク座標を得た時のロボット座標である。これを27点全て実行し、各点のワーク座標及びロボット座標を組(27の組)にして記憶装置42等に保持しておく。
The
各点でのワークWKの位置の特定方法としては、例えば、三次元カメラ2で取得された三次元の形状をサーチし、その代表点(中心位置など)のXYZを検出座標とする特定法法や、二次元の形状をサーチし、その代表点のXY座標を代表点とし、別途求めた平面式からその代表点のZを求める特定方法などがある。本実施形態では、後者の特定方法を採用しており、画角に依るワークWKの見え方の変化に追従するように、多点のエッジ検出した後、円の中心座標を最小二乗法で算出している。代表点の座標は、ワークWKの特徴的な部分の座標として求めてもよい。例えばワークWKの中央に穴がある場合、その穴の中心を代表点としてもよい。
Methods for identifying the position of the workpiece WK at each point include, for example, a method of searching the three-dimensional shape captured by the three-
その後、図9に示すフローチャートのステップSF3に進む。ステップSF3では、三次元カメラ2の画角を補正する補正処理を行う。三次元カメラ2の画角が補正されている場合には、このステップSF3は省略できる。また、本実施形態で使用される三次元カメラ2はレンズ交換式であり、画角補正がカメラ側ではなされないように構成されているが、レンズを交換した際に画角補正がカメラ側または制御装置100内でなされるように構成されていてもよい。本実施形態においてレンズ非交換式のカメラを用いてもよい。
Then, proceed to step SF3 in the flowchart shown in FIG. 9. In step SF3, a correction process is performed to correct the angle of view of the three-
ここで、三次元カメラ2でワークWKを撮像した時の視野に対するワークWKの見え方について説明する。上記ステップSF1では三次元カメラ2が固定されているロボットハンドHNDを縦、横、高さ方向に平行移動させるため、ワークWKの位置が三次元カメラ2の視野に対し相対的にずれる。画角の補正がされない三次元カメラ2の場合は、三次元カメラ2からの距離が変わると、視野に占めるワークWKの面積も変わることになる。画角の補正がされない三次元カメラ2では、Z方向はmm単位、XY方向は画素単位ということができ、画角の補正がされる三次元カメラ2では、XY方向もmm単位といえる。
Here, we will explain how the workpiece WK appears in the field of view when the workpiece WK is imaged by the three-
このことを図14A及び図14Bに基づいて説明する。図14Aは、第1ステップで1点目~27点目まで測定している時のワークWKと三次元カメラ2とが取り得る位置関係を示す側面図である。面S1は、ワークWKの天面を水平方向に延長した面である。面S2は、三次元カメラ2が基準位置、即ち中段位置(第1の位置)にある時の受光素子(またはレンズの受光面)を通る水平面である。面S3は、三次元カメラ2が上段位置(第2の位置)にある時の受光素子(またはレンズの受光面)を通る水平面である。ワークWKの代表点を点P1とすると、点P1の物理的な座標は、基準位置では(X,Z)で表すことができ、上段位置では(X,Z’)で表すことができる。
This will be explained based on Figures 14A and 14B. Figure 14A is a side view showing the possible positional relationship between the workpiece WK and the three-
直線L1は三次元カメラ2の光軸を示しており、Z方向に沿っている。2本の直線L2、L2は、三次元カメラ2が基準位置にある時の当該三次元カメラ2の視野範囲を示している。また、2本の直線L3、L3は、三次元カメラ2が上段位置にある時の当該三次元カメラ2の視野範囲を示している。
The straight line L1 indicates the optical axis of the three-
図14Bにおける符号2Aで示す矩形は、三次元カメラ2で撮像した時の視野範囲を示している。三次元カメラ2が基準位置にある時に撮像されたワークWKを実線で、三次元カメラ2が上段位置にある時に撮像されたワークWKを破線でそれぞれ示している。三次元カメラ2が基準位置にある時に撮像されたワークWKの代表点P1の座標は(xp,Z)であり、三次元カメラ2が上段位置にある時に撮像されたワークWKの代表点P1の座標は(xp’,Z’)である。
The rectangle indicated by the
図14Aと図14Bに示す関係を表で表すと図15に示すようになる。すなわち、三次元カメラ2の中央(光軸L1)からワークWKの代表点P1までの水平距離は、画素距離で示すと中段位置の時にxpとなり、上段位置の時にxp’となり、これらxp,xp’は検出された代表点であることから既知である。また、三次元カメラ2からワークWKの代表点P1までの垂直距離(Z方向の距離)は、物理距離で示すと中段位置の時にZとなり、上段位置の時にZ’となり、これらZ,Z’は検出された代表点であることから既知である。三次元カメラ2の中央(光軸L1)からワークWKの代表点P1までの水平距離のうち、物理距離Xは未知であるが、幾何関係Z’:Z=xp:xp’が成り立つ。
The relationship shown in FIG. 14A and FIG. 14B can be expressed in a table as shown in FIG. 15. That is, the horizontal distance from the center (optical axis L1) of the three-
三次元カメラ2が上段位置にあるときの画素位置xp’は、画角によって、物理的な大きさ(位置)Xと三次元カメラ2からの距離Z’との関係で求まるが、このままでは、カメラ座標自体が高さに依存してしまうため、キャリブレーションに使いにくい。そこで、本実施形態のキャリブレーション実行部26は、上記関係を、カメラの画角に非依存の(すなわちテレセントリックレンズを使った場合の)画素位置に換算する。xcpとXとは比例関係、すなわち、補正後画素位置xcpはXに依存する関係にある。この関係から以下の式1(基準面での相当画素位置を求める式)でxcpを求めることができる。尚、レンズの歪みを考慮する場合などでは、他の算出方法を採用することもできるので、式1を使った算出方法に限定されるものではない。
When the three-
xcp=xp’*(Z’/Z) … 式1
xcp=xp’*(Z’/Z) …
以上が図9に示すフローチャートのステップSF3で実行される補正処理である。その後、ステップSF4に進み、カメラ座標からロボット座標への対応関係をAffine変換行列として最小二乗法で求める。具体的には、本例では27点でワークWKの測定を行っているので、27点のロボット位置Prと、カメラ座標の位置Pcとの関係から、最小二乗法によりAffine変換行列を求めることができる。ここで、Pcは補正後のカメラ位置となる。補正後のカメラ位置Pcは、XYZがmm単位でなくともよい。本例ではXYが画素単位座標、Zがmm座標としており、XYZ座標が均等な空間であれば、計算に使用することが可能である。 The above is the correction process executed in step SF3 of the flowchart shown in FIG. 9. Then, proceed to step SF4, where the correspondence from the camera coordinates to the robot coordinates is found as an affine transformation matrix using the least squares method. Specifically, in this example, the workpiece WK is measured at 27 points, so the affine transformation matrix can be found using the least squares method from the relationship between the 27 robot positions Pr and the camera coordinate position Pc. Here, Pc is the corrected camera position. The corrected camera position Pc does not need to have X, Y and Z in mm units. In this example, X and Y are pixel unit coordinates, and Z is mm coordinates, and as long as the X, Y and Z coordinates are in a uniform space, they can be used for calculation.
ステップSF4を経ることで図8に示すフローチャートの第1ステップSE1が完了する。図16は、第1ステップSE1が完了した時に表示部3に表示されるキャリブレーション用ユーザインタフェース50である。このキャリブレーション用ユーザインタフェース50には、キャリブレーション結果表示領域58が設けられている。キャリブレーション結果表示領域58には、第1ステップSE1によって求められた三次元カメラ2の視野、画素分解能、座標軸角度、座標軸回転角度、回転中心位置等が表示される。
Through step SF4, the first step SE1 of the flowchart shown in FIG. 8 is completed. FIG. 16 shows a
(第2ステップの詳細)
図17は、上記図8に示す第2ステップSE2の詳細手順を示すフローチャートである。第2ステップSE2が開始されると、キャリブレーション実行部26は、図18に示すキャリブレーション用ユーザインタフェース50を生成して表示部3に表示させる。第2ステップSE2で表示されるキャリブレーション用ユーザインタフェース50には、モード表示領域53に回転中心算出モードであることが表示される。
(Details of the second step)
Fig. 17 is a flow chart showing the detailed procedure of the second step SE2 shown in Fig. 8. When the second step SE2 is started, the
図17に示すフローチャートのステップSG1では、ロボットハンドHNDをキャリブレーションの開始位置に移動させる。開始位置に移動させると、ステップSG2に進み、ツール中心座標に対し、開始位置、±θx,±θy,±θzだけずらした各点(計7点)でロボットハンドHNDを停止させ、ロボットハンドHNDの停止位置でワークWKを三次元カメラ2で撮像する。三次元カメラ2で測定して得られた三次元形状データに基づいてワーク座標を検出するとともに、当該ワーク座標に対応するロボット座標を取得する。各点のワーク座標及びロボット座標を組にして記憶装置42等に保持しておく。その後、ステップSG3に進み、ロボット座標を基準とした暫定的な回転中心を求める。
In step SG1 of the flowchart shown in FIG. 17, the robot hand HND is moved to the start position of the calibration. After being moved to the start position, the process proceeds to step SG2, where the robot hand HND is stopped at each point (seven points in total) that is shifted by the start position, ±θx, ±θy, and ±θz relative to the tool center coordinates, and the workpiece WK is imaged by the three-
具体的には、7点の検出座標から回転中心を求める際には、球面の方程式を利用した最小二乗法を採用することができる。本例では点の数を7つとしているが、4つ以上であれば三次元で回転中心を求めることは可能である。点数が多い方が求めた結果が良好になる。 Specifically, when finding the center of rotation from the detected coordinates of seven points, the least squares method using the equation of a sphere can be used. In this example, the number of points is seven, but it is possible to find the center of rotation in three dimensions if there are four or more points. The more points there are, the better the results will be.
球面の方程式を利用することなく、回転中心を幾何的に求めることもできる。例えば、ズレベクトルの二等分線・二等分面を複数求め、それら交点から回転中心を推定でき、また、ズレの距離とずらした角度の関係からarctanで中心位置の距離が分かり、これらの複数の関係から、中央座標を求めることも可能である。 The center of rotation can also be found geometrically without using the equation of a sphere. For example, multiple bisectors and bisectors of the displacement vector can be found, and the center of rotation can be estimated from their intersection point. The distance to the center can be found using arctan from the relationship between the displacement distance and the angle of the displacement, and the central coordinates can be found from these multiple relationships.
以上がキャリブレーションの第2ステップSE2であるが、原理的に、ロボットハンドHNDの回転動作を大きくしないと回転中心が正確に求まりにくい。ところが、図19に示すように、ロボットハンドHNDの回転動作を大きくすると、ワークWKが視野に収まりきらず、代表点P1の検出が不安定になる。図19における3つの符号2Aは、三次元カメラ2の視野を示しており、右の視野2Aは回転前の視野、中央の視野2A及び左の視野2Aは回転後の視野をそれぞれ示している。
The above is the second calibration step SE2, but in principle, it is difficult to accurately determine the center of rotation unless the rotational movement of the robot hand HND is large. However, as shown in FIG. 19, if the rotational movement of the robot hand HND is large, the workpiece WK does not fit into the field of view, and detection of the representative point P1 becomes unstable. The three
第2ステップが完了すると、図20に示すようなキャリブレーション用ユーザインタフェース50が表示され、上記図8に示す第3ステップSE3が開始される。
When the second step is completed, a
(第3ステップの詳細)
図21は、上記図8に示す第3ステップSE3の詳細手順を示すフローチャートである。第3ステップSE3では、図22に示すキャリブレーション用ユーザインタフェース50に設けられている高精度キャリブレーション設定領域60で設定された移動量でロボットハンドHNDを移動させる。図22に示すキャリブレーション用ユーザインタフェース50は、第1ステップSE1を開始する前に表示部3に表示させて各値を入力可能にしてもよいし、第2ステップSE2が完了した後に表示部3に表示させて各値を入力可能にしてもよい。高精度キャリブレーション設定領域60で設定される移動量は、予め所定決定された値であってもよい。
(Details of the third step)
Fig. 21 is a flow chart showing a detailed procedure of the third step SE3 shown in Fig. 8. In the third step SE3, the robot hand HND is moved by a movement amount set in a high-precision
図21に示すフローチャートのステップSH1では、上記通常キャリブレーション処理により求められたロボットハンドHNDのツール中心と三次元カメラ2の相対位置に基づいて、暫定的な回転中心(暫定回転中心)を決定する。決定した暫定回転中心を原回転中心として記憶装置42等に保持する。その後、ステップSH2に進み、ワークWKの代表点P1が安定的に求まる位置(開始位置)にロボットハンドHNDを移動させる。
In step SH1 of the flowchart shown in FIG. 21, a provisional rotation center (provisional rotation center) is determined based on the relative position of the tool center of the robot hand HND and the three-
次いで、ステップSH3に進み、カメラ位置と原回転中心位置との関係を用い、開始位置でロボットハンドHND(三次元カメラ3)を回転させ、開始位置、±θx,±θy,±θzだけずらした各点(計7点)でロボットハンドHNDを停止させ、ロボットハンドHNDの停止位置でワークWKを三次元カメラ2で撮像する。三次元カメラ2で測定して得られた三次元形状データに基づいてワーク座標(代表点P1の座標)を検出するとともに、当該ワーク座標に対応するロボット座標を取得する。各点のワーク座標及びロボット座標を組にして記憶装置42等に保持しておく。
Next, proceed to step SH3, and using the relationship between the camera position and the original rotation center position, rotate the robot hand HND (three-dimensional camera 3) at the starting position, stop the robot hand HND at each point (seven points in total) shifted from the starting position by ±θx, ±θy, ±θz, and capture an image of the workpiece WK with the three-
回転角度を設定する際、キャリブレーション実行部26は、高精度キャリブレーション処理において暫定回転中心周りに回転させるロボットハンドHNDの回転角度(θx,θy,θz)を、通常キャリブレーション処理においてXYZ軸周りに回転させるロボットハンドHNDの回転角度よりも大きな回転角度とする。尚、高精度キャリブレーション処理と、通常キャリブレーション処理とで、ロボットハンドHNDの回転角度を同じにしてもよい。
When setting the rotation angle, the
ステップSH3では、上記通常キャリブレーション処理によりツール中心とカメラ位置との暫定的な位置関係を求めているので、その位置関係を利用してワークWKの代表点P1が安定的に求まるようにワークWKを視野に入れつつ、ロボットハンドHNDを回転させることができる。すなわち、図23Aに示すように、単純に暫定回転中心周りにロボットハンドHNDを回転させると、回転後の視野2AからワークWKの一部が出てしまい、その結果、代表点P1が視野2A外に位置し、測定不可になる。一方、図23Bに示すように、キャリブレーション実行部26が、本高精度キャリブレーション処理においてロボットハンドHNDを暫定回転中心周りに所定角度回転させるとともに、当該所定角度回動後のワークWKが三次元カメラ2の視野2Aに入るようにロボットハンドHNDを移動させるので、ワークWKの全体が視野2A内に位置し、その結果、代表点P1を視野2A内に位置付けることができる。
In step SH3, the provisional positional relationship between the tool center and the camera position is obtained by the normal calibration process, and the robot hand HND can be rotated while the workpiece WK is in the field of view so that the representative point P1 of the workpiece WK can be stably obtained by using the provisional positional relationship. That is, as shown in FIG. 23A, if the robot hand HND is simply rotated around the provisional rotation center, a part of the workpiece WK will be out of the field of
つまり、所定角度回転させた場合に予想される移動量を、原回転中心に基づき計算し、その移動量を使ってロボットハンドHNDを移動または回転させて三次元カメラ2で撮像する。そこから求めた代表点から、本来求めたかった代表点の位置を求めることができる。具体的には、通常キャリブレーション処理で暫定回転中心が求まっていて、回転による移動後の位置を推定できるので、その移動ベクトルの逆方向にツール中心を移動させる制御を行うことで、カメラ位置の移動を相殺することができる。これにより、ワークWKの代表点を安定的に検出しつつ、ロボットハンドHNDを大きく回転させることが可能となる。
In other words, the expected amount of movement when rotated a specified angle is calculated based on the original center of rotation, and the robot hand HND is moved or rotated using this amount of movement to capture an image with the three-
例えば、図24に示すように原回転中心と真の回転中心位置のずれが生じている場合、以下のようにしてずれを求めることができる。尚、p,c,dはベクトル、Qは回転行列である。原点回転中心をcとし、代表点pの検出ズレをdとすると以下の関係が成立する。 For example, if there is a deviation between the original rotation center and the true rotation center position as shown in Figure 24, the deviation can be found as follows. Note that p, c, and d are vectors, and Q is a rotation matrix. If the origin rotation center is c and the detected deviation of the representative point p is d, the following relationship holds.
Q(p-c)+d+c … 式2
Q(p-(c+x))+(c+x) … 式3
Q(pc)+d+c...
Q(p-(c+x))+(c+x)...
式2と式3とは等価であるという関係から、中心のズレx、真の回転中心c+xを求めることができる。尚、Iは単位ベクトルである。
Since
d=-Qx+x
d=(I-Q)x
x=(I-Q)^-1d
d = -Qx + x
d = (I-Q) x
x=(I-Q)^-1d
二次元の場合は、(I-Q)の逆行列が安定的に求まる。また、三次元の場合は、上記の関係だけではランク落ちするため、関係式を増やし、最小二乗法で求める。そのために、θx,θy,θzをそれぞれ±方向で振る。 In the case of two dimensions, the inverse matrix (I-Q) can be found reliably. In the case of three dimensions, the above relationship alone will result in a rank loss, so the number of equations is increased and the solution is found using the least squares method. To achieve this, θx, θy, and θz are each deflected in the ± direction.
その後、図21に示すフローチャートのステップSH4~SH6に進み、ステップSH3で保持した各点のワーク座標及びロボット座標の組に基づいてロボットハンドHNDの最終的な回転中心を決定する。具体的に説明すると、まず、ステップSH4では、ステップSH3で保持した各点のワーク座標及びロボット座標の組に基づいて回転中心を再計算(補正)する。再計算後の値を保存し、この値を次の原回転中心として上書きする。ステップSH2~SH4は、N回繰り返し、各回の回転中心の値を保存する。例えば、1回目のループを第1処理、2回目のループを第2処理と呼ぶことができ、キャリブレーション実行部26は、少なくとも第1処理と第2処理とを経た後に、ロボットハンドHNDの最終的な回転中心を決定することができる。
Then, proceed to steps SH4 to SH6 of the flowchart shown in FIG. 21, and determine the final rotation center of the robot hand HND based on the pair of work coordinates and robot coordinates of each point held in step SH3. To be more specific, first, in step SH4, the rotation center is recalculated (corrected) based on the pair of work coordinates and robot coordinates of each point held in step SH3. The recalculated value is saved, and this value is overwritten as the next original rotation center. Steps SH2 to SH4 are repeated N times, and the value of the rotation center for each loop is saved. For example, the first loop can be called the first process, and the second loop can be called the second process, and the
ステップSH2~SH4をN回繰り返した後、ステップSH5に進む。ステップSH5では、N個の回転中心の値の平均を算出する。そして、平均から所定の閾値以上離れた回転中心を異常値除去するためにマークしておく。 After steps SH2 to SH4 are repeated N times, proceed to step SH5. In step SH5, the average of the N rotation center values is calculated. Rotation centers that deviate from the average by a predetermined threshold or more are marked in order to remove outliers.
その後、ステップSH6に進み、ステップSH5でマークされなかった回転中心のみを使って平均算出し、得られた平均を最終の回転中心とする。 Then, proceed to step SH6, calculate the average using only the rotation centers that were not marked in step SH5, and use the resulting average as the final rotation center.
このフローチャートでは、原回転中心をループ(ステップSH2~4で構成されるループ)ごとに更新している。原回転中心をループごとに更新する場合の概念図を図25に示す。図25では、最初の原回転中心を通常キャリブレーション処理で求めた暫定回転中心としており、矢印で示すように、上記ループを経るごとに回転中心が更新される。この例に示すように、回転中心が平均から大きく外れることもある。回転中心が大きく外れた場合、その回転中心は異常値であると推定できるので、原回転中心を更新する際には、異常値を除去する処理を実行してもよい。具体的には、このフローでは、上記ループをN回経ることで回転中心をN個算出した後で、算出した回転中心の中で平均から所定の閾値以上ずれているものを省いているが、他の方法として、ループごとの補正量に対し、閾値を引き、誤差の多い回転中心を省くこともできる。この処理もキャリブレーション実行部26で行うことができる。
In this flow chart, the original rotation center is updated for each loop (a loop consisting of steps SH2 to SH4). A conceptual diagram of updating the original rotation center for each loop is shown in FIG. 25. In FIG. 25, the initial original rotation center is the provisional rotation center obtained by the normal calibration process, and as shown by the arrow, the rotation center is updated for each loop. As shown in this example, the rotation center may deviate significantly from the average. If the rotation center deviates significantly, it can be estimated that the rotation center is an abnormal value, so when updating the original rotation center, a process of removing the abnormal value may be performed. Specifically, in this flow, after calculating N rotation centers by going through the above loop N times, those calculated rotation centers that deviate from the average by a predetermined threshold value or more are eliminated. Alternatively, a threshold value can be subtracted from the correction amount for each loop to eliminate rotation centers with a large error. This process can also be performed by the
原回転中心をループごとに更新していくと、得られた回転中心が次第に真の回転中心に近づいていき、得られた回転中心が収束していく。本実施形態では、例えば図20に示すキャリブレーション用ユーザインタフェース50に収束値表示領域62を設けている。収束値表示領域62には、回転中心が収束していく様子を表示することができる。その表示の一例として、回転中心の収束値(単位mm)を表示している。例えば、3回目のループで得られた回転中心の収束値は2回目で得られた回転中心の収束値よりも小さな値が表示され、ループの回数が増えるごとに収束値表示領域62に表示される収束値が小さくなっていく。したがって、ユーザは、収束値表示領域62に表示される収束値を見ることで、得られた回転中心が次第に真の回転中心に近づいていっていることを把握できる。ループの回数は2回であってもよい。
When the original rotation center is updated for each loop, the obtained rotation center gradually approaches the true rotation center, and the obtained rotation center converges. In this embodiment, for example, a convergence
ループの回数を増やしても収束値が所定以上変化しなければ、その時点で高精度キャリブレーション処理を終了させることができる。具体的には、キャリブレーション実行部26は、高精度キャリブレーション処理を繰り返し実行して取得された複数の回転中心が予め定められた所定の収束条件を満たすか否かを判定する。キャリブレーション実行部26は、所定の収束条件を満たすと判定した場合には、高精度キャリブレーション処理を終了する一方、所定の収束条件を満たさないと判定した場合には、高精度キャリブレーション処理を継続するように構成できる。所定の収束条件としては、例えば高精度キャリブレーション処理によって取得された回転中心の誤差の変化分が一定以下であることを挙げることができる。回転中心の誤差の変化分が一定以下である場合が、複数回(例えば3回)続いたら、所定の収束条件を満たすと判定してもよい。所定の収束条件は、予め決められていてもよいし、ユーザが任意に設定できるようにしてもよい。
If the convergence value does not change by a predetermined amount even if the number of loops is increased, the high-precision calibration process can be terminated at that point. Specifically, the
高精度キャリブレーション処理が完了して最終の回転中心が決定されると、キャリブレーション実行部26は、図26に示すキャリブレーション用ユーザインタフェース50を生成して表示部3に表示させるとともに、ユーザに対して高精度キャリブレーション処理が完了したことを報知する。高精度キャリブレーション処理完了後に表示されるキャリブレーション用ユーザインタフェース50には、キャリブレーション結果表示領域61が設けられている。キャリブレーション結果表示領域61には、通常キャリブレーション処理及び高精度キャリブレーション処理の両処理を経て取得された三次元カメラ2の視野、画素分解能、座標軸角度、座標軸回転角度、最終の回転中心位置等が表示される。
When the high-precision calibration process is completed and the final center of rotation is determined, the
(実施形態の作用効果)
以上説明したように、この実施形態によれば、三次元カメラ2がロボットハンドHNDに固定されているので、ロボットシステム1000の運用時には、ロボットハンドHNDを大きく退避させることなく、三次元カメラ2によってワークWKの位置を測定することが可能になるとともに、測定対象のワークWKに近いところから当該ワークWKの三次元形状を測定することができ、測定精度が向上する。
(Effects of the embodiment)
As described above, according to this embodiment, the three-
また、キャリブレーション時には、キャリブレーション用マークやキャリブレーションボード等を使用することなく、ワークWKを使用することができる。このとき、はじめに通常キャリブレーション処理によってカメラ座標における位置をロボット座標上の位置に変換するためのパラメータを算出することができるので、ロボットハンドHNDのツール中心と三次元カメラ2の相対位置関係を求めることができる。その後、ロボットハンドHNDの暫定回転中心を決定し、暫定回転中心周りにロボットハンドHNDを複数回回転させることで、三次元カメラ2の視野の外にワークWKが出ないようにすること、ワークWKの全体が三次元カメラ2の視野に入るようにすること、及び三次元カメラ2の視野中央部近傍にワークWKを置くことが可能になる。そして、各位置で、ワークWKを三次元カメラ2により測定してワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、ロボットハンドHNDの最終的な回転中心を高精度に決定することができる。
In addition, during calibration, the workpiece WK can be used without using a calibration mark or a calibration board. At this time, since the parameters for converting the position in the camera coordinates to the position on the robot coordinates can be calculated by the normal calibration process first, the relative positional relationship between the tool center of the robot hand HND and the three-
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。 The above-described embodiments are merely illustrative in all respects and should not be interpreted as limiting. Furthermore, all modifications and variations within the scope of the claims are within the scope of the present invention.
以上説明したように、本発明に係る制御装置は、ロボットシステムに適用することができる。 As described above, the control device according to the present invention can be applied to a robot system.
2 三次元カメラ
3 表示部
26 キャリブレーション実行部
50 キャリブレーション用ユーザインタフェース
100 制御装置
HND ロボットハンド
RBT ロボット
WK ワーク
2 Three-
Claims (10)
前記ロボットハンドをXYZ方向へ移動させる動作を実行し、前記ロボットハンドの停止位置で前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、前記カメラ座標における位置をロボット座標上の位置に変換するためのパラメータを算出する第1の通常キャリブレーション処理と、
前記ロボットハンドを所定の軸周りに回転させる動作を実行し、前記ロボットハンドの停止位置で前記ロボットハンドの回転に伴って回転した前記三次元カメラにより前記ワークを測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて、ロボット座標を基準とした前記ロボットハンドの暫定回転中心を決定する第2の通常キャリブレーション処理と、
前記暫定回転中心を前記ロボットハンドの原回転中心とし、当該原回転中心周りに前記ロボットハンドを回転させる動作を実行し、前記ロボットハンドの回転に伴って回転した前記三次元カメラにより前記ロボットハンドの停止位置で前記ワークを測定して得られた形状データに基づいてワーク座標を検出するとともに、当該ワーク座標を得た時のロボット座標を取得し、取得した複数のワーク座標とロボット座標の組に基づいて次の回転中心を求め、前記ロボットハンドの原回転中心を当該次の回転中心に更新し、更新された各原回転中心周りに前記ロボットハンドを回転させる動作を繰り返し、前記ロボットハンドの最終的な回転中心を決定する高精度キャリブレーション処理と、
を実行するキャリブレーション実行部を備え、
前記キャリブレーション実行部は、前記高精度キャリブレーション処理において、原回転中心に基づいて推定した前記ロボットハンドが回転した後のワーク座標と、前記三次元カメラによる測定に基づいて検出した前記ロボットハンドが回転した後のワーク座標とのずれに基づいて当該原回転中心に対応する前記次の回転中心を求める制御装置。 A control device that measures a shape of a workpiece using a three-dimensional camera fixed to a robot hand, and performs calibration to convert camera coordinates of the three-dimensional camera into robot coordinates of the robot hand based on measured shape data of the workpiece,
a first normal calibration process for executing an operation of moving the robot hand in X, Y and Z directions, detecting workpiece coordinates based on shape data obtained by measuring the workpiece with the three-dimensional camera at a stop position of the robot hand, acquiring robot coordinates at the time when the workpiece coordinates are obtained, and calculating parameters for converting a position in the camera coordinates to a position on the robot coordinates based on a plurality of pairs of the acquired workpiece coordinates and robot coordinates;
a second normal calibration process for executing an operation of rotating the robot hand around a predetermined axis, detecting workpiece coordinates based on shape data obtained by measuring the workpiece with the three-dimensional camera rotated in conjunction with the rotation of the robot hand at a stop position of the robot hand, acquiring robot coordinates at the time when the workpiece coordinates were obtained, and determining a provisional rotation center of the robot hand based on the robot coordinates based on the acquired pairs of multiple workpiece coordinates and robot coordinates;
a high-precision calibration process in which the provisional rotation center is set as the original rotation center of the robot hand, an operation is performed to rotate the robot hand around the original rotation center, work coordinates are detected based on shape data obtained by measuring the work at the stop position of the robot hand using the three-dimensional camera that rotates in conjunction with the rotation of the robot hand, the robot coordinates at the time the work coordinates are obtained are obtained, a next rotation center is determined based on the obtained pairs of multiple work coordinates and robot coordinates, the original rotation center of the robot hand is updated to the next rotation center, and the operation of rotating the robot hand around each updated original rotation center is repeated to determine a final rotation center of the robot hand;
A calibration execution unit that executes the following :
The calibration execution unit is a control device that, during the high-precision calibration process, determines the next rotation center corresponding to the original rotation center based on the deviation between the work coordinates after the robot hand has rotated, which are estimated based on the original rotation center, and the work coordinates after the robot hand has rotated, which are detected based on measurements by the three-dimensional camera.
前記キャリブレーション実行部は、前記高精度キャリブレーション処理において前記原回転中心周りに回転させる前記ロボットハンドの回転角度を、前記第2の通常キャリブレーション処理において前記所定の軸周りに回転させる前記ロボットハンドの回転角度よりも大きな回転角度とする制御装置。 2. The control device according to claim 1,
The calibration execution unit is a control device that sets the rotation angle of the robot hand rotated around the original rotation center in the high-precision calibration process to a rotation angle larger than the rotation angle of the robot hand rotated around the specified axis in the second normal calibration process.
前記キャリブレーション実行部は、前記更新された各原回転中心に対応する次の回転中心を求める処理を繰り返し実行して前記ロボットハンドの回転中心を複数取得し、取得された複数の回転中心に基づいて、前記最終的な回転中心を決定する制御装置。 3. The control device according to claim 1 ,
The calibration execution unit repeatedly executes a process of determining a next rotation center corresponding to each of the updated original rotation centers to obtain multiple rotation centers of the robot hand, and determines the final rotation center based on the multiple rotation centers obtained.
前記キャリブレーション実行部は、前記繰り返しを実行して取得された複数の前記回転中心が予め定められた所定の収束条件を満たすか否かを判定し、前記所定の収束条件を満たすと判定した場合には、前記繰り返しを終了する制御装置。 4. The control device according to claim 3 ,
The calibration execution unit determines whether the multiple rotation centers obtained by executing the repetition satisfy a predetermined convergence condition, and terminates the repetition when it is determined that the predetermined convergence condition is satisfied.
前記キャリブレーション実行部は、前記高精度キャリブレーション処理において前記ロボットハンドを前記原回転中心周りに所定角度回転させるとともに、当該所定角度回転後の前記ワークが前記三次元カメラの視野に入るように前記ロボットハンドを移動させる制御装置。 5. The control device according to claim 1,
The calibration execution unit is a control device that rotates the robot hand a predetermined angle around the original rotation center during the high-precision calibration process and moves the robot hand so that the workpiece after rotation by the predetermined angle is within the field of view of the three-dimensional camera.
前記キャリブレーション実行部は、前記ワークを前記三次元カメラにより測定して得られた三次元の形状データに基づいて前記ワークの代表点のXYZ座標を求め、求めた前記代表点のXYZ座標をワーク座標とする制御装置。 6. The control device according to claim 1,
The calibration execution unit is a control device that calculates the XYZ coordinates of a representative point of the work based on three-dimensional shape data obtained by measuring the work using the three-dimensional camera, and defines the calculated XYZ coordinates of the representative point as work coordinates.
前記キャリブレーション実行部は、前記ワークを前記三次元カメラにより測定して得られた二次元の形状データに基づいて前記ワークの代表点のXY座標を求めるとともに、平面式から前記代表点のZ座標を求め、求めた前記代表点のXYZ座標をワーク座標とする制御装置。 7. The control device according to claim 1,
The calibration execution unit is a control device that calculates the XY coordinates of a representative point of the work based on two-dimensional shape data obtained by measuring the work using the three-dimensional camera, and calculates the Z coordinate of the representative point from a planar equation, and sets the calculated XYZ coordinates of the representative point as work coordinates.
前記キャリブレーション実行部は、前記ロボットハンドを第1の位置に移動させて前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出するとともに、前記ロボットハンドを前記第1の位置とZ座標が異なる第2の位置に移動させて前記ワークを前記三次元カメラにより測定して得られた形状データに基づいてワーク座標を検出し、前記第1の位置で検出したワーク座標と、前記第2の位置で検出したワーク座標と、を前記三次元カメラの画角に非依存の画素位置に換算する制御装置。 8. The control device according to claim 1,
The calibration execution unit detects work coordinates based on shape data obtained by moving the robot hand to a first position and measuring the work with the three-dimensional camera, and detects work coordinates based on shape data obtained by moving the robot hand to a second position having a Z coordinate different from the first position and measuring the work with the three-dimensional camera, and converts the work coordinates detected at the first position and the work coordinates detected at the second position into pixel positions independent of the angle of view of the three-dimensional camera.
キャリブレーションを実行するキャリブレーションモードの選択が可能に構成されており、
前記キャリブレーション実行部は、前記キャリブレーションモードが選択されたことを検出すると、前記第1の通常キャリブレーション処理と前記第2の通常キャリブレーション処理と前記高精度キャリブレーション処理とを順に連続的に実行する制御装置。 9. The control device according to claim 1,
It is configured to allow selection of the calibration mode in which calibration is performed,
The calibration execution unit is a control device that, when detecting that the calibration mode has been selected, successively executes the first normal calibration process, the second normal calibration process, and the high-precision calibration process in that order.
前記キャリブレーション実行部は、前記高精度キャリブレーション処理で検出された前記ワーク座標の検出結果と、前記回転中心の収束値とを更新表示可能な表示領域を有するユーザインタフェースを生成し、前記キャリブレーション実行部で生成された前記ユーザインタフェースを表示する表示部を備えている制御装置。 10. The control device according to claim 1,
The calibration execution unit generates a user interface having a display area capable of updating and displaying the detection results of the work coordinates detected in the high-precision calibration process and the convergence value of the rotation center, and is equipped with a display unit that displays the user interface generated by the calibration execution unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021020016A JP7591938B2 (en) | 2021-02-10 | 2021-02-10 | Control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021020016A JP7591938B2 (en) | 2021-02-10 | 2021-02-10 | Control device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022122648A JP2022122648A (en) | 2022-08-23 |
| JP7591938B2 true JP7591938B2 (en) | 2024-11-29 |
Family
ID=82939629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021020016A Active JP7591938B2 (en) | 2021-02-10 | 2021-02-10 | Control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7591938B2 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115488878B (en) * | 2022-08-29 | 2025-08-29 | 上海智能制造功能平台有限公司 | Hand-eye calibration method, system, terminal and medium for robot vision system |
| CN115713563B (en) * | 2022-11-21 | 2026-01-02 | 杭州海康机器人股份有限公司 | A method, apparatus, electronic device, and storage medium for camera calibration. |
| WO2024202042A1 (en) * | 2023-03-31 | 2024-10-03 | 株式会社ニコン | Computing device, robot control method, processing method, display method, computer program, recording medium, path generation method, and conveyance method |
| DE102023116771B3 (en) * | 2023-06-26 | 2024-06-06 | Neura Robotics GmbH | Method for operating a collaborative robot and collaborative robot for carrying out this method |
| CN121925331A (en) * | 2023-09-28 | 2026-04-24 | 株式会社尼康 | Control device, control system, robot system, control method, and computer program |
| KR102726140B1 (en) * | 2024-05-31 | 2024-11-05 | 엔케이알 주식회사 | Calibration system and method using the same |
| CN119567315B (en) * | 2024-11-26 | 2026-03-31 | 广州晓云智慧科技有限公司 | A robotic arm operation and positioning method |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015136770A (en) | 2014-01-23 | 2015-07-30 | ファナック株式会社 | Data creation system of visual sensor, and detection simulation system |
| JP2015174191A (en) | 2014-03-17 | 2015-10-05 | 株式会社安川電機 | Robot system, calibration method of robot system and position correction method of robot system |
| JP2019028773A (en) | 2017-07-31 | 2019-02-21 | 株式会社キーエンス | Robot simulation device and robot simulation method |
| JP2019217571A (en) | 2018-06-15 | 2019-12-26 | オムロン株式会社 | Robot control system |
| JP2020040796A (en) | 2018-09-12 | 2020-03-19 | 富士電機株式会社 | Picking system |
| WO2020121399A1 (en) | 2018-12-11 | 2020-06-18 | 株式会社Fuji | Robot control system and robot control method |
| JP2022065714A (en) | 2020-10-16 | 2022-04-28 | オムロン株式会社 | Calibration device and automatic setting method for calibration |
-
2021
- 2021-02-10 JP JP2021020016A patent/JP7591938B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015136770A (en) | 2014-01-23 | 2015-07-30 | ファナック株式会社 | Data creation system of visual sensor, and detection simulation system |
| JP2015174191A (en) | 2014-03-17 | 2015-10-05 | 株式会社安川電機 | Robot system, calibration method of robot system and position correction method of robot system |
| JP2019028773A (en) | 2017-07-31 | 2019-02-21 | 株式会社キーエンス | Robot simulation device and robot simulation method |
| JP2019217571A (en) | 2018-06-15 | 2019-12-26 | オムロン株式会社 | Robot control system |
| JP2020040796A (en) | 2018-09-12 | 2020-03-19 | 富士電機株式会社 | Picking system |
| WO2020121399A1 (en) | 2018-12-11 | 2020-06-18 | 株式会社Fuji | Robot control system and robot control method |
| JP2022065714A (en) | 2020-10-16 | 2022-04-28 | オムロン株式会社 | Calibration device and automatic setting method for calibration |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022122648A (en) | 2022-08-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7591938B2 (en) | Control device | |
| JP5922572B2 (en) | Practical 3D vision system apparatus and method | |
| JP6180087B2 (en) | Information processing apparatus and information processing method | |
| US12002240B2 (en) | Vision system for a robotic machine | |
| JP6970551B2 (en) | Shape measuring device and shape measuring method | |
| JP6685199B2 (en) | System and method for combining machine vision coordinate spaces in a guided assembly environment | |
| JP4976402B2 (en) | Method and apparatus for practical 3D vision system | |
| JP6427972B2 (en) | Robot, robot system and control device | |
| US20210291376A1 (en) | System and method for three-dimensional calibration of a vision system | |
| EP2636493A2 (en) | Information processing apparatus and information processing method | |
| JP7535400B2 (en) | Image Processing Device | |
| JP7180783B2 (en) | CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD | |
| CN102294695A (en) | Robot calibration method and calibration system | |
| US11230011B2 (en) | Robot system calibration | |
| US11826919B2 (en) | Work coordinate generation device | |
| JP7519222B2 (en) | Image Processing Device | |
| JP7202966B2 (en) | Three-dimensional measuring device and three-dimensional measuring method | |
| US20240246237A1 (en) | Robot control device, robot control system, and robot control method | |
| JP7660686B2 (en) | ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD | |
| JP7583942B2 (en) | ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD | |
| JP7164451B2 (en) | Three-dimensional measuring device | |
| Wieghardt et al. | Self-calibration of a mobile manipulator using structured light | |
| JP2005186193A (en) | Robot calibration method and three-dimensional position measurement method | |
| JP2017170552A (en) | Position control system | |
| US20250001594A1 (en) | Robot control device, robot control system, and robot control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231211 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240628 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240702 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240827 |
|
| 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: 20241029 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241119 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7591938 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |