JP2005186193A - Calibration method and three-dimensional position measuring method for robot - Google Patents
Calibration method and three-dimensional position measuring method for robot Download PDFInfo
- Publication number
- JP2005186193A JP2005186193A JP2003428953A JP2003428953A JP2005186193A JP 2005186193 A JP2005186193 A JP 2005186193A JP 2003428953 A JP2003428953 A JP 2003428953A JP 2003428953 A JP2003428953 A JP 2003428953A JP 2005186193 A JP2005186193 A JP 2005186193A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- coordinates
- measurement object
- measurement
- monitor
- 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.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、ステレオ法を用いたキャリブレーション方法および対象物の三次元位置計測方法に関し、特に、ロボット等の産業機械によってワークピースを取り出す所謂ビンピッキング作業に適用される技術に関する。 The present invention relates to a calibration method using a stereo method and a method for measuring a three-dimensional position of an object, and more particularly to a technique applied to a so-called bin picking operation in which a workpiece is taken out by an industrial machine such as a robot.
ビンピッキングシステムは対象物の位置姿勢を画像計測装置で検出し、その情報を元にロボットアームにて対象物をハンドリングするシステムである。このシステムにおいて使用される画像計測装置では、例えば、入力画像から得られる対象物の輪郭、凹凸、模様等の特徴を直線、円弧等で近似したデータであるとともに三次元位置データを有する特徴データと、対象物のモデルの三次元位置データを有する特徴データとのマッチングをとることにより、対象物の三次元位置姿勢を得るようにしている。 The bin picking system is a system in which the position and orientation of an object is detected by an image measuring device, and the object is handled by a robot arm based on the information. In the image measuring device used in this system, for example, the feature data having the three-dimensional position data and the data obtained by approximating the features such as the contour, unevenness, and pattern of the object obtained from the input image with straight lines, arcs, etc. The three-dimensional position and orientation of the target object is obtained by matching with the feature data having the three-dimensional position data of the model of the target object.
三次元位置データを得るための三次元位置計測方法としては、従来からステレオ法が採用されている。ステレオ法は、2台のカメラを用いて、三角測量の原理を用いて対象物の三次元形状を求めるものである。このステレオ法を用いた三次元位置計測方法は、例えば特許文献1や特許文献2に開示されている。このうち特許文献1に係る方法は、撮像装置間のレンズ光軸のなす角度等におよび各撮像面における位置データに基づいて、基準面からの高さを求めるというものである。また、特許文献2に係る方法は、モニタ座標系における複数点で形成される各曲面の曲面多項式に基づいて、補間により計測点のワールド座標を求めるというものである。
しかし、前述した特許文献1に係る方法では、あらかじめ撮像装置間の位置関係を求めておく必要がある。また、この方法では、レンズ光軸のなす角度を正確に求めることは困難である。一方、前述した特許文献2に係る方法では、複数パターンが描かれたキャリブレーションプレートを用意しておく必要があるが、複数パターンは位置または距離及び方向が既知でなければならず、一般に対象物により視野(撮像範囲)は変わるので、曲面を高精度に近似するためには視野に応じたキャリブレーションプレートが多種必要となってくる。
However, in the method according to
本発明は係る従来技術の問題点を解決するためになされたものであり、その第1の目的は、レンズ光軸のなす角度を求めたりキャリブレーションプレートを使用したりすることのないロボットのキャリブレーション方法を提供することである。また、本発明の第2の目的は、係るロボットのキャリブレーション方法を適用したロボットの三次元位置計測方法を提供することである。 The present invention has been made to solve the problems of the related art, and a first object of the invention is to calibrate a robot without obtaining an angle formed by a lens optical axis or using a calibration plate. Is to provide an alternative method. A second object of the present invention is to provide a robot three-dimensional position measurement method to which the robot calibration method is applied.
前述した第1の目的を達成するために、請求項1に係る発明では、ロボットのアーム先端に取り付けられた2台のカメラにより計測対象物の三次元位置を計測するようにされたロボットにおいて、以下の方法によるキャリブレーション方法を提供するようにした。
In order to achieve the first object described above, in the invention according to
すなわち、まず、第1段階として、ロボットを動作させることによりロボット座標のXY平面上に設定した3つ以上の異なる計測点(P0、P1、・・・、Pi)において計測対象物を撮影し、この撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)を計測し、この計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)および前記計測点(P0、P1、・・・、Pi)に基づいて、モニタ座標からロボット座標へ変換するための変換式における変換係数を算出する。 That is, first, as a first step, the object to be measured is placed at three or more different measurement points (P 0 , P 1 ,..., P i ) set on the XY plane of the robot coordinates by operating the robot. By photographing and processing the captured image, the monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,. ), And the monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,..., I Ri ) of the measurement object and the measurement points (P 0 , P 1 , ..., P i ), a conversion coefficient in a conversion equation for converting from monitor coordinates to robot coordinates is calculated.
次いで、第2段階として、ロボットを動作させることによりロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)において計測対象物を撮影し、この撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を計測し、この計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を前記変換係数が算出された変換式に代入することにより計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)を算出し、この計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)および前記ロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)に基づいて、2台のカメラのロボット座標(WLC、WRC)を算出するようにした。 Next, as a second stage, the object to be measured is photographed at two or more different measurement points (Q 0 , Q 1 ,..., Q i ) set on the Z axis of the robot coordinates by operating the robot. Then, the monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,. Measure, and substitute the monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,..., I ZRi ) of the measurement object into the conversion formula in which the conversion coefficient is calculated. robot coordinate of the measurement object by (W ZL0, W ZL1, ··· , W ZLi, W ZR0, W ZR1, ···, W ZRi) calculates the robot coordinates of the measurement object (W ZL0, ZL1, ···, W ZLi, W ZR0, W ZR1, ···, W ZRi) and the two or more different measuring points set on the Z axis of the robot coordinate (Q 0, Q 1, ··· , Q i ), the robot coordinates (W LC , W RC ) of the two cameras are calculated.
また、前述した第2の目的を達成するために、請求項2に係る発明では、ロボットのアーム先端に取り付けられた2台のカメラにより計測対象物の三次元位置を計測するようにされたロボットにおいて、以下の方法による三次元位置計測方法を提供するようにした。 In order to achieve the second object described above, in the invention according to claim 2, a robot configured to measure a three-dimensional position of an object to be measured by two cameras attached to the robot arm tip. In the above, a three-dimensional position measurement method by the following method is provided.
すなわち、この三次元位置計測方法においては、第1段階から第3段階まであるが、第1段階から第2段階までは前述した請求項1に係る手段における第1段階から第2段階までと同一である。第3段階としては、ロボットを動作させることにより第2段階において算出したロボット座標(WLC、WRC)に2台のカメラを配置した後、計測対象物を撮影し、この撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標を計測し、この計測対象物のモニタ座標を変換係数が算出された変換式に代入することにより計測対象物のロボット座標(WLM、WRM)を算出し、この計測対象物のロボット座標(WLM、WRM)および前記2台のカメラのロボット座標(WLC、WRC)に基づいて、計測対象物の三次元位置を計測するようにした。
That is, in this three-dimensional position measurement method, there are the first stage to the third stage, but the first stage to the second stage are the same as the first stage to the second stage in the means according to
本発明では、3つ以上の異なる計測点にロボットを移動させることによりキャリブレーションを行うので、従来技術のようにレンズ光軸のなす角度等の未知量の計算を行う必要がない。また、キャリブレーションの際には計測対象物自体を使用しているので、従来技術のように特別なキャリブレーションボードを準備する必要がない。したがって、カメラを搭載したロボットが通常有する機能を用いることにより、簡単にロボットに搭載されたカメラのキャリブレーションや計測対象物の三次元位置を計測することができるものとなった。 In the present invention, since the calibration is performed by moving the robot to three or more different measurement points, it is not necessary to calculate an unknown amount such as an angle formed by the lens optical axis as in the prior art. Further, since the measurement object itself is used for calibration, it is not necessary to prepare a special calibration board as in the prior art. Therefore, by using the function that a robot equipped with a camera normally has, it becomes possible to easily measure the camera mounted on the robot and measure the three-dimensional position of the measurement object.
以下、本発明を実施するための最良の形態について、図面を参照して説明する。図1は、本実施形態に係るロボットのキャリブレーション方法および三次元位置計測方法が適用されるビンピッキングシステムの一例を示す構成図である。図1において、1は垂直多関節構造を有するロボットである。2は、ロボット1のアーム先端のフランジ面に取り付けられた連結部材である。3は、計測対象物6を取り出すためのハンドであり、連結部材2に取り付けられている。4および5は、三次元位置計測などを行うために必要な画像を撮影する第1および第2のカメラであり、連結部材2に取り付けられている。これら第1カメラ4および第2カメラ5は、ステレオ法により2つの角度からの撮像を得るために、互いの光軸方向が異なるようにして設置されている。
The best mode for carrying out the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram illustrating an example of a bin picking system to which a robot calibration method and a three-dimensional position measurement method according to the present embodiment are applied. In FIG. 1,
図2は、本実施形態に係るロボットのキャリブレーション方法および三次元位置計測方法を実施するためのロボット制御装置の一例を示すブロック図である。ロボット制御装置は、ロボット1の各関節軸を動作させるサーボモータを駆動するサーボアンプ、サーボアンプのインターフェース1、各種の演算処理を行うCPU、動作プログラム、パラメータ、撮像データなどの各種データを格納するメモリ(RAM−ROMや補助記憶装置)、カメラ4,5から取得した撮像データを処理する画像処理ボードなどにより構成される。さらに、ロボット制御装置は、インターフェースを介して、キーボード、ディスプレイ、マウスに接続されることにより、外部とのデータ交換を可能にしている。なお、前述した画像処理ボードは、カメラなどの撮像装置から入力したビデオ信号をディジタル化し、メモリ上に画像データを形成するものである。
FIG. 2 is a block diagram illustrating an example of a robot control apparatus for carrying out the robot calibration method and the three-dimensional position measurement method according to the present embodiment. The robot controller stores various data such as a servo amplifier that drives a servo motor that operates each joint axis of the
図3は、第1カメラ4および第2カメラ5より撮影される計測対象物6の画像の一例を示したものである。図3に示す撮像画像の一例は、暗い背景にドーナッツ形状の計測対象物6を撮像した画像を示している。
FIG. 3 shows an example of an image of the
次に、本実施形態に係るキャリブレーション方法の処理手順について説明する。図4は、本実施形態に係るロボットのキャリブレーション方法の処理手順における計測の状態について示す説明図である。また、図5は、本実施形態に係るロボットのキャリブレーション方法の処理手順について示したフローチャートである。なお、このフローチャートに示した「S*」(*は整数)の表記はステップ番号を示しており、以下の説明文中の「S*」(*は整数)の表記と対応するものである。本実施例においては第1カメラ4および第2カメラ5はロボットのアーム先端に固定されているので、第1カメラ4および第2カメラ5はロボットのアーム動作とともにロボット座標上をロボットと同じように移動することになる。
Next, a processing procedure of the calibration method according to the present embodiment will be described. FIG. 4 is an explanatory diagram showing a measurement state in the processing procedure of the robot calibration method according to the present embodiment. FIG. 5 is a flowchart showing the processing procedure of the robot calibration method according to this embodiment. The notation of “S *” (* is an integer) shown in this flowchart indicates a step number and corresponds to the notation of “S *” (* is an integer) in the following description. In this embodiment, since the
本実施例では、ロボット座標上の任意の位置を原点として、各カメラ4、5のロボット座標を求めることになる。
In this embodiment, the robot coordinates of the
まず、図5に示すフローチャートの左側の処理すなわちS1〜S8により、仮想結像面上の位置すなわちモニタ座標からロボット座標への変換式(1)における変換係数を求める。 First, the conversion coefficient in the conversion formula (1) from the position on the virtual imaging plane, that is, the monitor coordinates to the robot coordinates, is obtained by the processing on the left side of the flowchart shown in FIG.
図5に示すフローチャートにおいて、「n」はカメラ番号である。図5に示すフローチャートにおいては、まず第1カメラ4に関する処理を行い、しかる後に第2カメラ5に関する処理を行うようにしているので、まずカメラ番号nを1にする(S1)。さらに、座標点の番号iを0に初期化する(S2)。
In the flowchart shown in FIG. 5, “n” is a camera number. In the flowchart shown in FIG. 5, since the process related to the
第1カメラ4および第2カメラ5にて計測対象物6を撮影できる任意の位置を基準位置(原点)P0とし、この基準位置P0にロボット1を移動させる。そして、このロボット座標上の点P0において第1カメラ4により計測対象物6を撮影し、このときの仮想結像面についてのモニタ座標上の基準位置IL0を画像処理により計測する(S3)。
An arbitrary position where the
次いで、座標点の番号iを1加算する(S4)。よって、この時点でiは1になる。 Next, 1 is added to the coordinate point number i (S4). Therefore, i becomes 1 at this time.
次に、ロボット1をXY平面上で移動させる(S5)。例えば、ロボット1を図4に示すX軸上の点P1へ移動させる。そして、このロボット座標上の点P1において第1カメラ4により計測対象物6を撮影し、このときの仮想結像面についてのモニタ座標上の位置IL1を画像処理により計測する(S6)。
Next, the
次に、座標点の番号iがNと等しいか否かを判定する(S7)。ところで、変換式(1)における変換係数を求める場合は、XY平面上で最低でも3つの計測点が必要なので、本実施例では基準点P0を含めて3つの計測点を設定することとし、よってS7におけるNは2としている。本実施例では、現時点では座標点の番号iは1であるから、処理はS4に戻ることになる。 Next, it is determined whether or not the coordinate point number i is equal to N (S7). By the way, when obtaining the conversion coefficient in the conversion formula (1), since at least three measurement points are necessary on the XY plane, in this embodiment, three measurement points including the reference point P 0 are set. Therefore, N in S7 is set to 2. In this embodiment, since the coordinate point number i is 1 at this time, the process returns to S4.
すなわち、S4に戻って、座標点の番号iを1加算し、この時点でiは2になる。 That is, returning to S4, the coordinate point number i is incremented by 1, and i becomes 2 at this point.
S5においては、前述と同様に、ロボット1をXY平面上で移動させる。例えば、ロボット1を図4に示すY軸上の点P2へ移動させる。そして、このロボット座標上の点P2において第1カメラ4により計測対象物6を撮影し、このときの仮想結像面についてのモニタ座標上の位置IL2を画像処理により計測する(S6)。
In S5, the
次に、iがNと等しいか否かを判定する(S7)。この時点ではiは2でありNと等しくなるから、処理はS8に進むことになる。 Next, it is determined whether i is equal to N (S7). At this time, i is 2 and equals N, so the process proceeds to S8.
ところで、仮想結像面上の位置すなわちモニタ座標からロボット座標への変換式は式(1)で表わすことができる。 By the way, the conversion formula from the position on the virtual imaging plane, that is, the monitor coordinate to the robot coordinate can be expressed by the following equation (1).
この式(1)において、Pはロボット座標、Iはモニタ座標、θは座標空間の回転角度、Kは座標空間のせん断、Aはアスペクト比、Sは座標空間のスケーリング、Tはモニタ座標空間からロボット座標空間への移動ベクトルである。 In this equation (1), P is the robot coordinate, I is the monitor coordinate, θ is the rotation angle of the coordinate space, K is the shear of the coordinate space, A is the aspect ratio, S is the scaling of the coordinate space, and T is the monitor coordinate space. It is a movement vector to the robot coordinate space.
そこで、S8においては、S7までの処理において求められた仮想結像面上の3つの位置IL0、IL1、IL2、およびこれら仮想結像面上の位置IL0、IL1、IL2、のそれぞれを計測した際の第1カメラ4のロボット座標P0、P1、P2に基づいて、式(1)における変換係数、すなわち座標空間の回転角度θ、座標空間のせん断K、アスペクト比A、座標空間のスケーリングS、およびモニタ座標空間からロボット座標空間への移動ベクトルTを計算する。
Therefore, in S8, the three positions I L0 , I L1 , I L2 on the virtual imaging plane obtained in the processing up to S7, and the positions I L0 , I L1 , I L2 on the virtual imaging plane, Based on the robot coordinates P 0 , P 1 , P 2 of the
ここでは、図7を参照して、前述した変換係数の算出方法について説明する。図7は、前述したS1〜S7の処理結果を図示したものである。図7において、モニタ座標空間は0−Xi−Yiで定義される。また、ロボット座標空間はP0−X−Yで定義される。座標空間P0−X′−Y′は、モニタ座標をその原点0からロボット座標原点P0へ平行移動した座標空間である。また、座標空間P0−X−Y″は、点P0を中心に座標空間P0−X′−Y′を角度θだけ回転させた座標空間である。
Here, the conversion coefficient calculation method described above will be described with reference to FIG. FIG. 7 illustrates the processing results of S1 to S7 described above. In FIG. 7, the monitor coordinate space is defined by 0-X i -Y i . The robot coordinate space is defined by P 0 -XY. The coordinate space P 0 -X′-Y ′ is a coordinate space obtained by translating the monitor coordinates from the
ここで、各ロボット座標P0、P1、P2をそれぞれp0(xw0、yw0)、p1(xw1、yw1)、p2(xw2、yw2)とし、これら各ロボット座標P0、P1、P2において計測対象物6が計測されたモニタ座標をそれぞれp0(xi0、yi0)、p1(xi1、yi1)、p2(xi2、yi2)とすると、座標空間のスケーリングに関する関係式は式(2)および式(3)で表わすことができる。
Here, the robot coordinates P 0 , P 1 , P 2 are p 0 (xw 0 , yw 0 ), p 1 (xw 1 , yw 1 ), p 2 (xw 2 , yw 2 ), respectively. The monitor coordinates at which the
これら式(2)および式(3)において、Sxは座標空間のX軸スケーリング、Syは座標空間のY軸スケーリングである。これら式(2)および式(3)を解くことにより、座標空間のスケーリングS(=Sx)およびアスペクト比A(=Sy/Sx)を求めることができる。 In these equations (2) and (3), Sx is the X-axis scaling of the coordinate space, and Sy is the Y-axis scaling of the coordinate space. By solving these equations (2) and (3), the scaling S (= Sx) and the aspect ratio A (= Sy / Sx) of the coordinate space can be obtained.
また、モニタ座標空間からロボット座標空間への移動ベクトルTは、前述の式(2)および式(3)により算出された座標空間のスケーリングS、およびロボット座標P0において計測対象物6が計測されたモニタ座標p0(xi0、yi0)に基づいて、式(4)により求めることができる。
The moving vector T from the monitor coordinate space to the robot coordinate space, scaling S coordinate space calculated by the aforementioned equation (2) and (3), and the
また、座標空間の回転角度θは、前述の式(2)および式(3)により算出された座標空間のスケーリングS、およびロボット座標P0、P1において計測対象物6が計測されたモニタ座標p0(xi0、yi0)、p1(xi1、yi1)に基づいて、式(5)により求めることができる。
In addition, the rotation angle θ of the coordinate space is determined by the coordinate space scaling S calculated by the above equations (2) and (3), and the monitor coordinates at which the
さらに、座標空間のせん断Kは、座標空間の回転角度θ、前述の式(2)および式(3)により算出された座標空間のスケーリングS、およびロボット座標P0、P1において計測対象物6が計測されたモニタ座標p0(xi0、yi0)、p1(xi1、yi1)に基づいて、式(6)により求めることができる。
Furthermore, the shear K of the coordinate space is the
以上により、仮想結像面上の位置すなわちモニタ座標からロボット座標への変換式(1)における変換係数がすべて求まる。 As described above, all the conversion coefficients in the conversion equation (1) from the position on the virtual imaging plane, that is, the monitor coordinates to the robot coordinates are obtained.
なお、ここでは、例として簡単な線形変換について説明したが、一般的に仮想結像面は非線形であるので、前記サンプル点を増やし、多項式変換を最小二乗近似により求めるようにしてもよい。式(7)は多項式の一般式である。 Although a simple linear transformation has been described here as an example, since the virtual imaging plane is generally nonlinear, the sample points may be increased and the polynomial transformation may be obtained by least square approximation. Expression (7) is a general expression of a polynomial.
この式(7)において、Px、Pyはロボット座標、Ix、Iyはモニタ座標、nは多項式の次数、aij、bijは多項式の係数である。 In this equation (7), P x and P y are robot coordinates, I x and I y are monitor coordinates, n is a polynomial degree, and a ij and b ij are polynomial coefficients.
次に、図5に示すフローチャートの右側の処理すなわちS9〜S18により、各カメラ4、5のロボット座標を求める。
Next, the robot coordinates of the
まず、座標点の番号jを0に初期化する(S9)。 First, the coordinate point number j is initialized to 0 (S9).
次に、ロボット1を前述したXY平面上の基準座標P0に移動させる(S10)。
Next, move the
次に、ロボット1をZ軸上で移動させる(S11)。具体的には、図4に示すように、ロボット1を基準座標P0からZ軸上の点Q1へ移動させる。
Next, the
この点Q1において、第1カメラ4により、仮想結像面についてのモニタ座標上の位置ILZ1を画像処理により計測する(S12)。
In this respect Q 1, the
そして、S8において変換係数が求められている前述の変換式(1)を用いることにより、S12により求められたモニタ座標上の位置ILZ1をロボット座標WLZ1に変換する(S13)。 Then, the position I LZ1 on the monitor coordinates obtained in S12 is converted into the robot coordinates W LZ1 by using the above-described conversion equation (1) in which the conversion coefficient is obtained in S8 (S13).
次いで、座標点の番号jを1加算する(S14)。よって、この時点でjは1になる。 Next, 1 is added to the coordinate point number j (S14). Therefore, j becomes 1 at this time.
次に、座標点の番号jがMと等しいか否かを判定する(S15)。ところで、各カメラ4、5のロボット座標を求める場合は、最低でも2つの計測点が必要なので、本実施例では2つの計測点を設定することとし、よってMは2としている。本実施例では、現時点では座標点の番号jは1であるから、処理はS11に戻ることになる。
Next, it is determined whether or not the coordinate point number j is equal to M (S15). By the way, when obtaining the robot coordinates of each of the
S11〜S13における処理は前述と同様である。すなわち、ロボット1を前述のZ軸上の点Q1からZ軸上の点Q2へZ軸上を移動させ(S11)、この点Q2において、第1カメラ4により、仮想結像面についてのモニタ座標上の位置ILZ2を画像処理により計測し(S12)、前述の変換式(1)を用いることにより、S12により求められた仮想結像面についてのモニタ座標上の位置ILZ2をロボット座標WLZ2に変換する(S13)。
The processing in S11 to S13 is the same as described above. That is, the
次いで、座標点の番号jを1加算する(S14)。よって、この時点でjは2になる。 Next, 1 is added to the coordinate point number j (S14). Therefore, j becomes 2 at this time.
次に、jがMと等しいか否かを判定する(S15)。この時点ではjは2でありMと等しくなるから、処理はS16に進むことになる。 Next, it is determined whether j is equal to M (S15). Since j is 2 and equal to M at this time, the process proceeds to S16.
S16においては、前述のS13において求められた、仮想結像面についての2つのロボット座標WLZ1、WLZ2に基づいて、第1カメラ4のロボット座標WLCを算出する。このロボット座標WLCの算出については、以下の手順で行うことができる。
In S16, obtained in S13 in the foregoing, based on two robot coordinate W LZ1, W LZ2 of the virtual image plane, and calculates the robot coordinate W LC of the
すなわち、前述した実施例ではロボット1をZ座標上で移動させることにより計測対象物6を計測するようにしたが、これは図6に示すようにロボット1を静止させた状態で計測対象物6がロボット1のZ座標上を移動したことと同じであると考えることができる。このように考えると、算出すべき第1カメラ4のロボット座標WLCは、直線WLZ1Q1とWLZ2Q2との交点として求まることになる。実際には直線WLZ1Q1およびWLZ2Q2は同一平面上にない場合が多く、この場合は互いの位置関係はねじれとなるので、2つの直線が最接近する位置を求め、この位置を算出すべき第1カメラ4のロボット座標WLCとすることにする。そこで、これら2つの直線間の距離が最小となる条件を考えると、この条件は、pq⊥daかつpq⊥dbとなる(「⊥」は互いに直交関係にあることを示す)。ここで、daは直線WLZ1Q1の方向ベクトル、dbは直線WLZ2Q2の方向ベクトル、pは直線WLZ1Q1上の任意の点、qは直線WLZ2Q2上の任意の点である。したがって、直線の方向ベクトルの内積を0とすれば、2つの直線が最接近する位置すなわち算出すべき第1カメラ4のロボット座標WLCは、連立方程式の解として求めることができる。
That is, in the above-described embodiment, the
次に、カメラ番号nを1加算する(S17)。よって、この時点でnは2になる。 Next, 1 is added to the camera number n (S17). Therefore, n becomes 2 at this time.
次に、nが3と等しいか否かを判定する(S18)。本実施形態では、カメラは左右1台ずつ設置しているので、これら2台のカメラにおける処理が終了した場合、すなわちnが3になった場合は、一連の処理を終了する(END)。しかし、この時点では第1カメラ4の処理のみが終了し第2カメラ5の処理は終了しておらず、nは2であるから、処理はS2に戻ることになり、以降は前述した第1カメラ4の処理と同様に第2カメラ5の処理を行うことになる。なお、第2カメラ5の処理に関しては、前述した実施例の説明において「L」を「R」に置き換えればよい。
Next, it is determined whether n is equal to 3 (S18). In the present embodiment, since one camera is installed on each of the left and right cameras, when the processing in these two cameras is completed, that is, when n is 3, a series of processing is terminated (END). However, at this point in time, only the processing of the
以上のようにして、ロボット座標上の任意の位置を原点としたときの各カメラ4、5のロボット座標、すなわち第1のカメラ4のロボット座標WLCおよび第2のカメラ5のロボット座標WRCが求めら、これにより各カメラ4、5のキャリブレーションが終了することになる。
As described above, any robot coordinate of each
次に、計測対象物6の3次元位置を計測する処理手順について説明する。計測対象物6の3次元位置を正確に求めるためには、計測に先立って2つのカメラ4、5のキャリブレーションを行う必要がある。すなわち、第1のカメラ4および第2のカメラ5を、それぞれ前述のカメラのロボット座標WLCおよびWRCに設置するか、もしくは、前述の手順により、設置した第1のカメラ4および第2のカメラ5のそれぞれのロボット座標WLCおよびWRCを予め求めておく。次いで、空間上の任意の位置にある計測対象物6を第1のカメラ4および第2のカメラ5で撮影し、撮影画像を画像処理することにより計測対象物6のモニタ座標を求め、このモニタ座標を前述した変換式(1)により変換することにより、計測対象物6のロボット座標すなわち計測点ロボット座標を得る。すなわち、第1のカメラ4にて計測点ロボット座標WLMを得、第2のカメラ5にて計測点ロボット座標WRMを得る。最後に、第1のカメラ4にて得られた計測点ロボット座標WLMと第1のカメラ4のロボット座標WLCとを結ぶ直線、および第2のカメラ5にて得られた計測点ロボット座標WRMと第2のカメラ5のロボット座標WRCとを結ぶ直線について、これら2つの直線の交点を前述した方法などにより求める。この2つの直線の交点を計測対象物6の3次元位置とする。
Next, a processing procedure for measuring the three-dimensional position of the
以上、本発明の一実施形態について説明した。なお、前述した実施形態においては変換係数を求める際の計測点の数Nを2としていたが、本発明はこれに限定されるものではない。すなわち、前述したようにXY平面上で最低でも3つの計測点が必要であるわけであるから、計測点の数Nを3以上に設定してもよく、この数を多く設定すれば処理時間は長くなるが変換係数の算出精度は高くなる。 The embodiment of the present invention has been described above. In the above-described embodiment, the number N of measurement points when obtaining the conversion coefficient is set to 2, but the present invention is not limited to this. That is, since at least three measurement points are necessary on the XY plane as described above, the number N of measurement points may be set to 3 or more, and if this number is set large, the processing time is reduced. Although it becomes longer, the calculation accuracy of the conversion coefficient becomes higher.
同様に、前述した実施形態においては仮想結像面についてのロボット座標変換を求める際の計測点の数Mを2としていたが、本発明はこれに限定されるものではない。すなわち、前述したようにカメラのロボット座標を求めるには最低でも2つの直線が必要となるので最低でも2つの計測点が必要となるわけであるが、計測点の数Mを3以上に設定してもよく、この数を多く設定すれば処理時間は長くなるがカメラのロボット座標の算出精度は高くなる。なお、計測点の数Mを3以上に設定した場合は、最小二乗近似により直線間の距離が最小となる位置すなわちカメラのロボット座標を求めるようにしてもよい。 Similarly, in the above-described embodiment, the number M of measurement points when obtaining the robot coordinate transformation for the virtual imaging plane is set to 2, but the present invention is not limited to this. That is, as described above, in order to obtain the robot coordinates of the camera, at least two straight lines are required, so at least two measurement points are required. However, the number M of measurement points is set to 3 or more. However, if this number is set to a large value, the processing time becomes longer, but the calculation accuracy of the robot coordinates of the camera becomes higher. When the number M of measurement points is set to 3 or more, the position where the distance between the straight lines is minimum, that is, the robot coordinates of the camera may be obtained by least square approximation.
また、前述した実施形態においては、互いの光軸が異なるようにして2台のカメラを配置していたが、本発明は係る形態に限定されるものではない。すなわち、本実施形態ではロボットの同一位置において2つの角度から計測対象物6を撮影できればよいので、例えば、連結部材2にはカメラを一台だけ取り付け、連結部材2が取り付けられたロボットの手首軸のみ動作させることにより、1台のカメラにより2つの角度からの撮像を得るようにしてもよい。
In the above-described embodiment, two cameras are arranged such that their optical axes are different from each other. However, the present invention is not limited to such a form. That is, in this embodiment, it is only necessary to photograph the
本実施形態では、3つ以上の異なる計測点にロボットを移動させることによりキャリブレーションを行うので、従来技術のようにレンズ光軸のなす角度等の未知量の計算を行う必要がない。また、キャリブレーションの際には計測対象物自体を使用しているので、従来技術のように特別なキャリブレーションボードを準備する必要がない。したがって、カメラを搭載したロボットが通常有する機能を用いることにより、簡単にロボットに搭載されたカメラのキャリブレーションや計測対象物の三次元位置を計測することができるものとなる。 In this embodiment, calibration is performed by moving the robot to three or more different measurement points, so that it is not necessary to calculate an unknown amount such as an angle formed by the lens optical axis as in the prior art. Further, since the measurement object itself is used for calibration, it is not necessary to prepare a special calibration board as in the prior art. Therefore, by using the function that a robot equipped with a camera normally has, the camera mounted on the robot can be easily calibrated and the three-dimensional position of the measurement object can be measured.
1 多関節型ロボット
2 連結部材
3 ハンド
4 カメラ1
5 カメラ2
6 計測対象物
1 Articulated Robot 2
5 Camera 2
6 Measurement object
Claims (2)
ロボットを動作させることによりロボット座標のXY平面上に設定した3つ以上の異なる計測点(P0、P1、・・・、Pi)において計測対象物を撮影し、
該撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)を計測し、
該計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)および前記計測点(P0、P1、・・・、Pi)に基づいて、モニタ座標からロボット座標へ変換するための変換式における変換係数を算出し、
ロボットを動作させることによりロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)において計測対象物を撮影し、
該撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を計測し、
該計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を前記変換係数が算出された変換式に代入することにより計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)を算出し、
該計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)および前記ロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)に基づいて、前記2台のカメラのロボット座標(WLC、WRC)を算出するようにしたことを特徴とするロボットのキャリブレーション方法。 In a robot calibration method in which the three-dimensional position of a measurement object is measured by two cameras attached to the tip of a robot arm,
By photographing the measurement object at three or more different measurement points (P 0 , P 1 ,..., P i ) set on the XY plane of the robot coordinates by operating the robot,
The monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,..., I Ri ) of the measurement object with respect to the virtual imaging plane are measured by processing the captured image. And
Monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,..., I Ri ) of the measurement object and the measurement points (P 0 , P 1 ,..., P Based on i ), a conversion coefficient in a conversion formula for converting from monitor coordinates to robot coordinates is calculated,
By photographing the measurement object at two or more different measurement points (Q 0 , Q 1 ,..., Q i ) set on the Z axis of the robot coordinates by operating the robot,
The captured image is processed to measure monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,..., I ZRi ) about the virtual imaging plane. And
Measurement is performed by substituting the monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,. Calculate the robot coordinates (W ZL0 , W ZL1 ,..., W ZLi , W ZR0 , W ZR1 ,..., W ZRi ) of the object ,
The robot coordinates (W ZL0 , W ZL1 ,..., W ZLi , W ZR0 , W ZR1 ,..., W ZRi ) of the measurement object and two or more different values set on the Z axis of the robot coordinates Calibration of the robot characterized in that the robot coordinates (W LC , W RC ) of the two cameras are calculated based on the measurement points (Q 0 , Q 1 ,..., Q i ). Method.
ロボットを動作させることによりロボット座標のXY平面上に設定した3つ以上の異なる計測点(P0、P1、・・・、Pi)において計測対象物を撮影し、
該撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)を計測し、
該計測対象物のモニタ座標(IL0、IL1、・・・、ILi、IR0、IR1、・・・、IRi)および前記計測点(P0、P1、・・・、Pi)に基づいて、モニタ座標からロボット座標へ変換するための変換式における変換係数を算出し、
ロボットを動作させることによりロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)において計測対象物を撮影し、
該撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を計測し、
該計測対象物のモニタ座標(IZL0、IZL1、・・・、IZLi、IZR0、IZR1、・・・、IZRi)を前記変換係数が算出された変換式に代入することにより計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)を算出し、
該計測対象物のロボット座標(WZL0、WZL1、・・・、WZLi、WZR0、WZR1、・・・、WZRi)および前記ロボット座標のZ軸上に設定した2つ以上の異なる計測点(Q0、Q1、・・・、Qi)に基づいて、前記2台のカメラのロボット座標(WLC、WRC)を算出し、
ロボットを動作させることにより前記ロボット座標(WLC、WRC)に前記2台のカメラを配置した後に計測対象物を撮影し、
該撮影画像を画像処理することにより仮想結像面についての計測対象物のモニタ座標を計測し、
該計測対象物のモニタ座標を前記変換係数が算出された変換式に代入することにより計測対象物のロボット座標(WLM、WRM)を算出し、
該計測対象物のロボット座標(WLM、WRM)および前記2台のカメラのロボット座標(WLC、WRC)に基づいて、計測対象物の三次元位置を計測するようにしたことを特徴とするロボットの三次元位置計測方法。 In the three-dimensional position measurement method for a robot that is configured to measure the three-dimensional position of an object to be measured by two cameras attached to the robot arm tip,
By photographing the measurement object at three or more different measurement points (P 0 , P 1 ,..., P i ) set on the XY plane of the robot coordinates by operating the robot,
The monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,..., I Ri ) of the measurement object with respect to the virtual imaging plane are measured by processing the captured image. And
Monitor coordinates (I L0 , I L1 ,..., I Li , I R0 , I R1 ,..., I Ri ) of the measurement object and the measurement points (P 0 , P 1 ,..., P Based on i ), a conversion coefficient in a conversion formula for converting from monitor coordinates to robot coordinates is calculated,
By photographing the measurement object at two or more different measurement points (Q 0 , Q 1 ,..., Q i ) set on the Z axis of the robot coordinates by operating the robot,
The monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,..., I ZRi ) of the measurement object with respect to the virtual imaging plane are measured by image processing the captured image. And
Measurement is performed by substituting the monitor coordinates (I ZL0 , I ZL1 ,..., I ZLi , I ZR0 , I ZR1 ,. Calculate the robot coordinates (W ZL0 , W ZL1 ,..., W ZLi , W ZR0 , W ZR1 ,..., W ZRi ) of the object ,
The robot coordinates (W ZL0 , W ZL1 ,..., W ZLi , W ZR0 , W ZR1 ,..., W ZRi ) of the measurement object and two or more different values set on the Z axis of the robot coordinates Based on the measurement points (Q 0 , Q 1 ,..., Q i ), the robot coordinates (W LC , W RC ) of the two cameras are calculated,
After the two cameras are arranged at the robot coordinates (W LC , W RC ) by operating the robot, the measurement object is photographed,
By measuring the captured image, the monitor coordinates of the measurement object about the virtual imaging plane are measured,
The robot coordinates (W LM , W RM ) of the measurement object are calculated by substituting the monitor coordinates of the measurement object into the conversion formula in which the conversion coefficient is calculated,
The three-dimensional position of the measurement object is measured based on the robot coordinates (W LM , W RM ) of the measurement object and the robot coordinates (W LC , W RC ) of the two cameras. A three-dimensional position measurement method for robots.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003428953A JP2005186193A (en) | 2003-12-25 | 2003-12-25 | Calibration method and three-dimensional position measuring method for robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003428953A JP2005186193A (en) | 2003-12-25 | 2003-12-25 | Calibration method and three-dimensional position measuring method for robot |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005186193A true JP2005186193A (en) | 2005-07-14 |
Family
ID=34787759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003428953A Pending JP2005186193A (en) | 2003-12-25 | 2003-12-25 | Calibration method and three-dimensional position measuring method for robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005186193A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009006452A (en) * | 2007-06-29 | 2009-01-15 | Nissan Motor Co Ltd | Method for calibrating between camera and robot, and device therefor |
KR100926783B1 (en) * | 2008-02-15 | 2009-11-13 | 한국과학기술연구원 | Method for self-localization of a robot based on object recognition and environment information around the recognized object |
JP2011036975A (en) * | 2009-08-18 | 2011-02-24 | Honda Motor Co Ltd | Control method for robot |
CN102785046A (en) * | 2011-05-17 | 2012-11-21 | 发那科株式会社 | Robot and spot welding robot with learning control function |
JP2012240142A (en) * | 2011-05-17 | 2012-12-10 | Fanuc Ltd | Spot welding robot provided with learning control function |
CN105619411A (en) * | 2016-03-22 | 2016-06-01 | 中国船舶重工集团公司第七一六研究所 | Stacking method for six-axis industrial robot |
CN106064379A (en) * | 2016-07-21 | 2016-11-02 | 深圳众为兴技术股份有限公司 | A kind of robot calculates the method for actual brachium automatically |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6257892A (en) * | 1985-09-04 | 1987-03-13 | 松下電器産業株式会社 | Camera coordinate calibrating method of robot with visual sense |
JPH02183102A (en) * | 1989-01-10 | 1990-07-17 | Fanuc Ltd | Automatic calibration adjusting system for visual sensor |
JPH02194302A (en) * | 1989-01-23 | 1990-07-31 | Omron Tateisi Electron Co | Method for calibrating coordinate system of visual robot and displacement measuring instrument for coordinate calibration used for the method |
JPH0538688A (en) * | 1991-07-30 | 1993-02-19 | Nok Corp | Coordinate system calibrating method for industrial robot system |
JPH06137840A (en) * | 1992-10-22 | 1994-05-20 | Toyota Central Res & Dev Lab Inc | Automatic calibration device for visual sensor |
JPH0847881A (en) * | 1994-08-05 | 1996-02-20 | Ishikawajima Harima Heavy Ind Co Ltd | Method of remotely controlling robot |
-
2003
- 2003-12-25 JP JP2003428953A patent/JP2005186193A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6257892A (en) * | 1985-09-04 | 1987-03-13 | 松下電器産業株式会社 | Camera coordinate calibrating method of robot with visual sense |
JPH02183102A (en) * | 1989-01-10 | 1990-07-17 | Fanuc Ltd | Automatic calibration adjusting system for visual sensor |
JPH02194302A (en) * | 1989-01-23 | 1990-07-31 | Omron Tateisi Electron Co | Method for calibrating coordinate system of visual robot and displacement measuring instrument for coordinate calibration used for the method |
JPH0538688A (en) * | 1991-07-30 | 1993-02-19 | Nok Corp | Coordinate system calibrating method for industrial robot system |
JPH06137840A (en) * | 1992-10-22 | 1994-05-20 | Toyota Central Res & Dev Lab Inc | Automatic calibration device for visual sensor |
JPH0847881A (en) * | 1994-08-05 | 1996-02-20 | Ishikawajima Harima Heavy Ind Co Ltd | Method of remotely controlling robot |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009006452A (en) * | 2007-06-29 | 2009-01-15 | Nissan Motor Co Ltd | Method for calibrating between camera and robot, and device therefor |
KR100926783B1 (en) * | 2008-02-15 | 2009-11-13 | 한국과학기술연구원 | Method for self-localization of a robot based on object recognition and environment information around the recognized object |
JP2011036975A (en) * | 2009-08-18 | 2011-02-24 | Honda Motor Co Ltd | Control method for robot |
CN102785046A (en) * | 2011-05-17 | 2012-11-21 | 发那科株式会社 | Robot and spot welding robot with learning control function |
JP2012240142A (en) * | 2011-05-17 | 2012-12-10 | Fanuc Ltd | Spot welding robot provided with learning control function |
US8886359B2 (en) | 2011-05-17 | 2014-11-11 | Fanuc Corporation | Robot and spot welding robot with learning control function |
CN102785046B (en) * | 2011-05-17 | 2015-05-13 | 发那科株式会社 | Robot and spot welding robot with learning control function |
CN105619411A (en) * | 2016-03-22 | 2016-06-01 | 中国船舶重工集团公司第七一六研究所 | Stacking method for six-axis industrial robot |
CN106064379A (en) * | 2016-07-21 | 2016-11-02 | 深圳众为兴技术股份有限公司 | A kind of robot calculates the method for actual brachium automatically |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
JP6180086B2 (en) | Information processing apparatus and information processing method | |
JP5850962B2 (en) | Robot system using visual feedback | |
CN108965690B (en) | Image processing system, image processing apparatus, and computer-readable storage medium | |
JP4021413B2 (en) | Measuring device | |
JP2020116734A (en) | System and method for automatic hand-eye calibration of vision system for robot motion | |
JP4492654B2 (en) | 3D measuring method and 3D measuring apparatus | |
JP6324025B2 (en) | Information processing apparatus and information processing method | |
KR20140008262A (en) | Robot system, robot, robot control device, robot control method, and robot control program | |
WO2018143263A1 (en) | Photographing control device, photographing control method, and program | |
JP2005300230A (en) | Measuring instrument | |
JP2017118396A (en) | Program, device and method for calculating internal parameter of depth camera | |
JP2013036988A (en) | Information processing apparatus and information processing method | |
JP2008254150A (en) | Teaching method and teaching device of robot | |
CN111801198A (en) | Hand-eye calibration method, system and computer storage medium | |
JP5858773B2 (en) | Three-dimensional measurement method, three-dimensional measurement program, and robot apparatus | |
JP5698815B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP2005186193A (en) | Calibration method and three-dimensional position measuring method for robot | |
KR20130075712A (en) | A laser-vision sensor and calibration method thereof | |
JP2015005093A (en) | Pattern matching device and pattern matching method | |
JP2015135333A (en) | Information processing device, control method for information processing device, and program | |
WO2023013740A1 (en) | Robot control device, robot control system, and robot control method | |
KR20140099622A (en) | Robot localization detecting system using a multi-view image and method thereof | |
JP6892462B2 (en) | Machine control device | |
KR100784734B1 (en) | Error compensation method for the elliptical trajectory of industrial robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100518 |