JP7035657B2 - Robot control device, robot, robot system, and camera calibration method - Google Patents
Robot control device, robot, robot system, and camera calibration method Download PDFInfo
- Publication number
- JP7035657B2 JP7035657B2 JP2018047377A JP2018047377A JP7035657B2 JP 7035657 B2 JP7035657 B2 JP 7035657B2 JP 2018047377 A JP2018047377 A JP 2018047377A JP 2018047377 A JP2018047377 A JP 2018047377A JP 7035657 B2 JP7035657 B2 JP 7035657B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- camera
- rotation
- calibration
- robot
- 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
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、ロボットのカメラの校正に関するものである。 The present invention relates to the calibration of a robot camera.
ロボットに高度な処理を行わせるために、ロボットにカメラを設置して眼の機能を持たせる場合がある。カメラの設置方法として、カメラをロボットアームとは独立して設置する方法と、カメラをロボットアームに設置する方法とがある。ロボットアームに設定されたカメラは、「ハンドアイ」と呼ばれている。ハンドアイは、より広い視野を得ることができ、また作業する手先部の視野が確保できるなどの利点がある。 In order to make the robot perform advanced processing, a camera may be installed in the robot to have eye functions. As a method of installing the camera, there are a method of installing the camera independently of the robot arm and a method of installing the camera on the robot arm. The camera set on the robot arm is called a "hand eye". The hand eye has advantages such as being able to obtain a wider field of view and ensuring a field of view of the hand part to be worked on.
特許文献1には、アームに設置されたカメラを利用したロボットシステムにおける座標系の校正方法が記載されている。特許文献1にも記載されているように、アームに設置されたカメラを利用する場合には、カメラ座標系とロボット座標系の間の未知の変換行列Xに関していわゆるAX=XB問題を解く必要があり、カメラの校正が困難であるという課題がある。AX=XB問題の解法には、非線形最適化処理が必要であり、また、最適解が与えられる保証がない。AX=XB問題を回避するため、特許文献1では、ロボットの動きに制限を加えることにより、座標系の変換行列を求める問題を線形化する技術が記載されている。
しかしながら、上記特許文献1に記載された技術では、処理結果として得られる変換行列が、画像を用いた校正ジグの位置推定の精度に依存するという課題がある。すなわち、校正ジグの位置推定の精度を上げるためには、ロボットの動きが大きい方が有利であるが、ロボットの大きな動きは、動きの精度が低くなるという問題がある。一方、ロボットの動きの精度を上げようとすれば、動きを小さくするのが好ましいが、この場合は画像を用いた校正パターンの位置推定の精度が低くなるという問題がある。そこで、特許文献1とは異なる方法で、アームに設置されたカメラの校正を容易に行うことのできる技術が望まれている。
However, the technique described in
本発明の一形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて、各座標軸廻りにそれぞれ複数の回転位置で停止させる。前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させる。前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。 According to one embodiment of the present invention, there is provided a control device for controlling a robot having an arm on which a camera is installed. This control device performs an arm control unit that controls the arm; a camera control unit that controls the camera; and a coordinate conversion that mutually converts the coordinates in the robot coordinate system of the robot and the coordinates in the camera coordinate system of the camera. It includes a camera calibration execution unit that determines external parameters of the camera for calculation. The arm control unit operates the arm and rotates the camera around each coordinate axis of each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system. Stop at multiple rotation positions. The camera control unit causes the camera to image the calibration pattern of the calibration jig at the plurality of rotation positions. The camera calibration execution unit estimates a coordinate transformation matrix that mutually converts the coordinates in the calibration jig coordinate system of the calibration jig and the coordinates in the reference coordinate system using the calibration pattern images captured at the plurality of rotation positions. Then, the external parameters are determined using the coordinate transformation matrix.
A. ロボットシステムの構成
図1は、一実施形態におけるロボットシステムの概念図である。このロボットシステムは、ロボット100と、ロボット100に接続された制御装置200とを備えている。このロボット100は、カメラで作業対象を認識し、自在に力を加減して、自律的に判断しながら作業を行える自律型ロボットである。また、ロボット100は、予め作成された教示データに従って作業を実行するティーチングプレイバックロボットとして動作することも可能である。
A. Robot system configuration
FIG. 1 is a conceptual diagram of a robot system according to an embodiment. This robot system includes a
ロボット100は、基台110と、胴部120と、肩部130と、首部140と、頭部150と、2つのアーム160L,160Rとを備えている。アーム160L,160Rには、ハンド180L,180Rが着脱可能に取り付けられている。これらのハンド180L,180Rは、ワークや道具を把持するエンドエフェクターである。頭部150には、カメラ170L,170Rが設置されている。これらのカメラ170L,170Rは、アーム160L,160Rとは独立して設けられており、その位置姿勢が変化しない固定カメラである。アーム160L,160Rの手首部には、カメラとしてのハンドアイ175L,175Rが設けられている。アーム160L,160Rには、カメラ170L,170Rやハンドアイ175L,175Rの校正ジグ400を設置可能である。以下では、ハンドアイ175L,175Rと区別するために、頭部150に設けられたカメラ170L,170Rを「固定カメラ170L,170R」とも呼ぶ。
The
アーム160L,160Rの手首部には、更に、力覚センサー190L,190Rが設けられている。力覚センサー190L,190Rは、ハンド180L,180Rがワークに及ぼしている力に対する反力やモーメントを検出するセンサーである。力覚センサー190L,190Rとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサー190L,190Rは省略可能である。
アーム160L,160Rと、カメラ170L,170Rと、ハンドアイ175L、175Rと、ハンド180L,180Rと、力覚センサー190L,190Rの符号の末尾に付された「L」「R」の文字は、それぞれ「左」「右」を意味する。これらの区別が不要の場合には、「L」「R」の文字を省略した符号を使用して説明する。
The letters "L" and "R" at the end of the codes of the
制御装置200は、プロセッサー210と、メインメモリー220と、不揮発性メモリー230と、表示制御部240と、表示部250と、I/Oインターフェース260とを有している。これらの各部は、バスを介して接続されている。プロセッサー210は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置200は、I/Oインターフェース260を介してロボット100に接続される。なお、制御装置200をロボット100の内部に収納してもよい。
The
制御装置200の構成としては、図1に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー210とメインメモリー220を図1の制御装置200から削除し、この制御装置200と通信可能に接続された他の装置にプロセッサー210とメインメモリー220を設けるようにしてもよい。この場合には、当該他の装置と制御装置200とを合わせた装置全体が、ロボット100の制御装置として機能する。他の実施形態では、制御装置200は、2つ以上のプロセッサー210を有していてもよい。更に他の実施形態では、制御装置200は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置200は、1つ以上のプロセッサー210を備える装置又は装置群として構成される。
As the configuration of the
図2は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100及びその制御装置200の他に、パーソナルコンピューター510,520と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター510,520は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス500においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
FIG. 2 is a conceptual diagram showing an example in which a robot control device is configured by a plurality of processors. In this example, in addition to the
図3は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット100の制御装置200が、ロボット100の中に格納されている点が図2と異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
FIG. 3 is a conceptual diagram showing another example in which a robot control device is configured by a plurality of processors. This example differs from FIG. 2 in that the
図4は、ロボット100と制御装置200の機能を示すブロック図である。制御装置200のプロセッサー210は、不揮発性メモリー230に予め格納された各種のプログラム命令231を実行することにより、アーム制御部211と、カメラ制御部212と、カメラ校正実行部213との機能をそれぞれ実現する。カメラ校正実行部213は、変換行列推定部214を有している。但し、これらの各部211~214の機能の一部又は全部をハ―ドウェア回路で実現しても良い。これらの各部211~214の機能については後述する。
FIG. 4 is a block diagram showing the functions of the
不揮発性メモリー230には、プログラム命令231の他に、カメラ内部パラメーター232とカメラ外部パラメーター233とが格納される。これらのパラメーター232,233は、固定カメラ170のパラメーターと、ハンドアイ175のパラメーターをそれぞれ含んでいる。なお、本実施形態では、固定カメラ170の内部パラメーターと外部パラメーターは制御装置200にとって既知であるものと仮定する。また、ハンドアイ175の内部パラメーターは既知であり、外部パラメーターは未知であるものと仮定する。後述する校正処理では、ハンドアイ175の外部パラメーターが生成される。内部パラメーター232と外部パラメーター233の内容については更に後述する。
In addition to the
B. ロボットの座標系と座標変換
図5は、ロボット100のアーム160の構成と各種の座標系を示す説明図である。2つのアーム160L,160Rのそれぞれには、7つの関節J1~J7が設けられている。関節J1,J3,J5,J7はねじり関節であり、関節J2,J4,J6は曲げ関節である。なお、図1の胴部120と肩部130の間にはねじり関節が設けられているが、図5では図示が省略されている。個々の関節には、それらを動作させるためのアクチュエーターと、回転角度を検出するための位置検出器とが設けられている。
B. Robot coordinate system and coordinate transformation
FIG. 5 is an explanatory diagram showing the configuration of the
アーム160の手先には、ツール中心点TCP(Tool Center Point)が設定されている。典型的には、ロボット100の制御は、ツール中心点TCPの位置姿勢を制御するために実行される。なお、位置姿勢(position and orientation)とは、3次元の座標系における3つ座標値と、各座標軸回りの回転とで規定される状態を意味する。
A tool center point TCP (Tool Center Point) is set at the hand of the
アーム160L,160Rには、校正ジグ400を予め定めた設置状態で設置可能である。図5の例では、左アーム160Lのハンドアイ175の校正に使用される校正ジグ400が、右アーム160Rの手先部に固定されている。校正ジグ400を右アーム160Rに取り付ける際には、右アーム160Rのハンド180Rを取り外すようにしてもよい。左アーム160Lのハンド180Lも同様である。後述するように、校正ジグ400をアーム160に取り付ける必要は無く、床面等に設置してもよい。但し、校正ジグ400をアーム160のハンド180に取り付られるようにすれば、ハンドアイ175やカメラ170の校正が容易になるという利点がある。
The
実施形態におけるハンドアイ175の校正は、ハンドアイ175の内部パラメーターと外部パラメーターのうち、外部パラメーターを推定する処理である。内部パラメーターは、ハンドアイ175及びそのレンズ系の固有のパラメーターであり、例えば射影変換パラメーターや歪パラメーターなどを含んでいる。ハンドアイ175の内部パラメーターは、校正ジグ400を複数の位置姿勢で撮影して得られる複数の校正パターン画像を用いて、カメラの校正を行う標準的なソフトウェアであるOpenCVやMATLABのカメラキャリブレーション関数を用いて実行可能である。以下では、ハンドアイ175の内部パラメーターは予め決定されているものと仮定する。ハンドアイ175の外部パラメーターは、ハンドアイ175のカメラ座標系ΣCとロボット100のロボット座標系ΣRの間の相対的な位置姿勢を計算する際に使用されるパラメーターである。
The calibration of the
図5には、ロボット100に関する座標系として、以下の座標系が描かれている。
(1)ロボット座標系ΣR:ロボット100の基準点を座標原点とする座標系
(2)手首座標系ΣW:アーム160の手首を座標原点とする座標系
(3)校正ジグ座標系ΣJ:校正ジグ400上の所定の位置を座標原点とする座標系
(4)カメラ座標系ΣC:ハンドアイ175に設定された座標系
なお、本明細書で使用する各座標系は、直交する3つの座標軸を有する直交座標系である。
In FIG. 5, the following coordinate system is drawn as the coordinate system for the
(1) Robot coordinate system Σ R : Coordinate system with the reference point of the
手首座標系ΣWは、アーム160のうちでハンドアイ175が設置されたアーム部分の座標系である。但し、ハンドアイ175は、アーム160の手首部以外の部分に設置してもよい。また、ハンドアイ175は、アーム160に着脱可能な状態で設置されていてもよい。ハンドアイ175が設定されているアーム部分を「カメラ設置部位」とも呼ぶ。手首座標系ΣWは、アーム160のカメラ設置部位に設定されたカメラ設置部位座標系の一種である。手首座標系ΣWとカメラ座標系ΣCは、2つのハンドアイ175L,175Rにそれぞれ別個に設定される。以下の説明では、左アーム160Lのハンドアイ175Lを校正対象とするので、手首座標系ΣW及びカメラ座標系ΣCとして左アーム160L用の座標系を使用する。なお、図5では、図示の便宜上、校正ジグ座標系ΣJの原点が実際の位置からずれた位置に描かれている。
The wrist coordinate system Σ W is the coordinate system of the arm portion of the
一般に、或る座標系ΣAから他の座標系ΣBへの変換、又は、これらの座標系での位置姿勢の変換は、以下に示す同次変換行列AΣB(Homogeneous transformation matrix)で表現される。
変換AΣBの逆行列AΣB
-1(=BΣA)は、次式で与えられる。
回転行列Rは、以下の重要な性質を有する。
<回転行列Rの性質1>
回転行列Rは正規直交行列であり、その逆行列R-1は転置行列RTに等しい。
<回転行列Rの性質2>
回転行列Rの3つの列成分Rx,Ry,Rzは、元の座標系ΣAで見た回転後の座標系ΣBの3つの基底ベクトルの成分に等しい。
The rotation matrix R has the following important properties.
<
The rotation matrix R is an orthonormal matrix, and its inverse matrix R -1 is equal to the transposed matrix R T.
<
The three column components R x , R y , and R z of the rotation matrix R are equal to the components of the three basis vectors of the rotated coordinate system Σ B as seen in the original coordinate system Σ A.
或る座標系ΣAに変換AΣB,BΣCを順次施す場合に、合成された変換AΣCは各変換AΣB,BΣCを順次右側に乗じたものとなる。
また、回転行列Rに関しても(3)式と同様の関係が成立する。
C. 座標変換のAX=XB問題
図5において、座標系ΣR,ΣW,ΣC,ΣJの間には、以下の変換が成立する。
(1)変換RΣW:ロボット座標系ΣRから手首座標系ΣWへの変換
(2)変換WΣC:手首座標系ΣWからカメラ座標系ΣCへの変換
(3)変換CΣJ:カメラ座標系ΣCから校正ジグ座標系ΣJへの変換
(4)変換JΣR:校正ジグ座標系ΣJからロボット座標系ΣRへの変換
C. AX = XB problem of coordinate conversion
In FIG. 5, the following transformation holds between the coordinate systems Σ R , Σ W , Σ C , and Σ J.
(1) Conversion R Σ W : Robot coordinate system Σ R to wrist coordinate system Σ W (2) Conversion W Σ C : Wrist coordinate system Σ W to camera coordinate system Σ C (3) Conversion C Σ J : Conversion from camera coordinate system Σ C to calibration jig coordinate system Σ J (4) Conversion J Σ R : Conversion from calibration jig coordinate system Σ J to robot coordinate system Σ R
1番目の変換RΣWは、ロボット座標系ΣRから手首座標系ΣWへの変換である。通常、ロボット座標系ΣRに対するアームの各部位の位置姿勢を求める処理はフォワードキネマティクスと呼ばれ、アーム160の幾何学的な形状と各関節の動作量である回転角度が定まれば計算できる。つまり、この変換RΣWは計算可能な変換である。
The first transformation R Σ W is the transformation from the robot coordinate system Σ R to the wrist coordinate system Σ W. Normally, the process of finding the position and orientation of each part of the arm with respect to the robot coordinate system Σ R is called forward kinematics, and it can be calculated if the geometric shape of the
2番目の変換WΣCは、手首座標系ΣWからカメラ座標系ΣCへの変換である。この変換WΣCは未知であり、この変換WΣCを求めることがハンドアイ175の校正に相当する。一般には、カメラ設置部位座標系とカメラ座標系ΣCの間の変換行列を求めることが、ハンドアイ175の校正に相当する。
The second transformation W Σ C is the transformation from the wrist coordinate system Σ W to the camera coordinate system Σ C. This conversion W Σ C is unknown, and finding this conversion W Σ C corresponds to the calibration of the
3番目の変換CΣJは、カメラ座標系ΣCから校正ジグ座標系ΣJへの変換である。この変換CΣJは、ハンドアイ175によって校正ジグ400を撮影して校正パターン画像を取得し、その校正パターン画像に対して画像処理を行うことによって推定できる。この変換CΣJを推定する処理は、カメラの校正を行うための標準的なソフトウェアであるOpenCVやMATLABのカメラキャリブレーション関数を用いて実行可能である。
The third transformation C Σ J is the transformation from the camera coordinate system Σ C to the calibration jig coordinate system Σ J. This conversion C Σ J can be estimated by photographing the
4番目の変換JΣRは、校正ジグ座標系ΣJからロボット座標系ΣRへの変換である。この変換JΣRは未知である。 The fourth transformation J Σ R is the transformation from the calibration jig coordinate system Σ J to the robot coordinate system Σ R. This transformation J Σ R is unknown.
上記の変換RΣW,WΣC,CΣJ,JΣRを順に辿れば最初のロボット座標系ΣRに戻るので、恒等変換Iを用いて以下の式が成立する。
(5)式の両辺に、左から各変換の逆行列RΣW
-1 , WΣC
-1 , CΣJ
-1 を順に乗算すれば次式が得られる。
(6)式において、変換CΣJはカメラキャリブレーション関数を用いて推定でき、変換RΣWは計算可能である。従って、変換WΣCが既知であれば、右辺は計算可能であり、左辺の変換JΣRを知ることができる。 In equation (6), the transformation C Σ J can be estimated using the camera calibration function, and the transformation R Σ W can be calculated. Therefore, if the conversion W Σ C is known, the right side can be calculated and the conversion J Σ R on the left side can be known.
一方、変換WΣCが未知であれば、(6)式の右辺は計算できず、別の処理が必要となる。例えば、図5において左アーム160Lの2つの姿勢i,jを考えれば、それぞれにおいて上記(5)式が成立し、次式となる。
(7a),(7b)式の両辺にそれぞれ右から変換JΣRの逆行列JΣR
-1 を乗算すれば次式が得られる。
(8a),(8b)式の右辺は未知ではあるが同じ変換なので、次式が成立する。
(9)式の両辺に、左からRΣW (j)-1を、右からCΣJ(i)-1を乗算すると次式となる。
ここで、(10)式の左辺と右辺の中括弧{ }の中の変換の積をそれぞれA,Bと書き、未知の変換WΣCをXと書くと、次式が得られる。
これは、AX=XB問題として良く知られた処理であり、未知の行列Xを解くためには非線形の最適化処理が必要となる。しかし、この非線形最適化処理には、最適な解に収束する保証が無いと言う問題がある。 This is a process well known as the AX = XB problem, and a non-linear optimization process is required to solve the unknown matrix X. However, this nonlinear optimization process has a problem that there is no guarantee that it will converge to the optimum solution.
以下に詳述するように、実施形態では、ハンドアイ175が設置されたアーム160を任意に制御可能であることを利用し、ハンドアイ175を特定の基準座標系の座標軸回りに回転させた複数の回転位置において校正ジグ400をハンドアイ175で撮影して複数の校正パターン画像を取得し、これらの複数の校正パターン画像を用いてハンドアイ175の外部パラメーターを推定する。
As described in detail below, in the embodiment, the
図6は、実施形態の校正処理で使用する座標系を示している。ここでは、1本のアーム160のみを簡略化して描いている。実施形態では、ロボット座標系ΣRに対して、制御装置200にとって既知である相対位置姿勢を有する基準座標系ΣBを使用する。この基準座標系ΣBは、ハンドアイ175の校正を行うために便宜的に設定する座標系であり、ロボット座標系ΣRに対して既知の相対位置姿勢を有する限り、どのような位置に設定してもよい。例えば、ロボット座標系ΣRそのものを基準座標系ΣBとして使用してもよい。後述するように、ハンドアイ175の校正処理において、ハンドアイ175が基準座標系ΣBの各座標軸を回転中心として回転した複数の回転位置を取るようにアーム160が制御され、それぞれの回転位置において校正ジグ400の校正パターン画像が取得される。このため、基準座標系ΣBは、ロボット座標系ΣRと異なる位置に設ける方が便利である。以下の説明では、基準座標系ΣBをロボット座標系ΣRと異なる位置に設定した例について説明する。但し、基準座標系ΣBをロボット座標系ΣRと同じ座標系としても、処理内容は同一である。なお、図6から理解できるように、以下で説明する実施形態は、双腕ロボットに限らず、単腕ロボットにも適用可能である。また、校正ジグ400を移動させる必要が無いので、校正ジグ400をロボットアームで保持する必要はなく、任意の場所に設置可能である。
FIG. 6 shows a coordinate system used in the calibration process of the embodiment. Here, only one
図6に示した座標系間の変換に関しては、恒等変換Iを用いて以下の式が成立する。
上記(12)式の右辺のうち、カメラ座標系ΣCと、カメラ設置部位座標系としての手首座標系ΣWの間の変換CΣWが、校正で求めるべきハンドアイ175の外部パラメーターである。(12)式は以下のように変形できる。
上記(13)式の右辺の変換のうちで、校正ジグ座標系ΣJと基準座標系ΣBの間の変換JΣBのみが未知であり、他の変換は既知又は推定可能である。そこで、以下で説明するハンドアイ175の校正処理では、この変換JΣBを求め、上記(13)式に従ってハンドアイ175の外部パラメーターである変換CΣWを決定する。
Of the transformations on the right-hand side of equation (13), only the transformation J Σ B between the calibration jig coordinate system Σ J and the reference coordinate system Σ B is unknown, and other transformations are known or estimable. Therefore, in the calibration process of the
D. 実施形態の校正処理手順
図7は、ハンドアイ175の校正処理の手順を示すフローチャートである。以下で説明する校正処理は、図4に示したアーム制御部211と、カメラ制御部212と、カメラ校正実行部213とが協調して実行される。すなわち、ハンドアイ175を複数の位置姿勢に変更する動作は、アーム制御部211がアーム160を制御することによって実現される。また、ハンドアイ175による撮像は、カメラ制御部212によって制御される。ハンドアイ175の外部パラメーターは、カメラ校正実行部213によって決定される。また、ハンドアイ175の外部パラメーターの決定において、各種の行列やベクトルの推定は、変換行列推定部214によって行われる。なお、ハンドアイ175の内部パラメーターは、図7の校正処理の前に予め決定されているものと仮定する。
D. Calibration processing procedure of the embodiment
FIG. 7 is a flowchart showing the procedure of the calibration process of the
ステップS120では、アーム160を用いて、ハンドアイ175を基準座標系ΣBの座標原点を回転中心として3つの座標軸の回りにそれぞれ回転させた複数の回転位置で停止させ、複数の回転位置において校正ジグ400をハンドアイ175で撮影する。以下では、校正ジグ400をハンドアイ175で撮像して得られた画像を「校正パターン画像」と呼ぶ。
In step S120, the
図8は、ステップS120において、ハンドアイ175を複数の回転位置に回転させた状態を示す説明図であり、図9は各回転位置においてハンドアイ175で撮影された校正パターン画像を示す説明図である。図8では、基準座標系ΣBの3つの座標軸をX軸,Y軸,Z軸としており、座標軸Xの回りにハンドアイ175を回転させることによって、3つの回転位置で静止するようにアーム160が制御されている。3つの回転位置のうちの中央の位置は基本回転位置であり、他の2つの回転位置は基本回転位置から回転角度φ1及びφ2だけ回転した位置である。なお、基本回転位置における回転角はゼロと定義する。基本回転位置における基準座標系ΣBと手首座標系ΣWの間の変換BΣW(0)は、フォワードキネマティクスから算出可能である。他の回転位置における変換BΣW(φ1),変換BΣW(φ2)も同様に算出可能である。
FIG. 8 is an explanatory diagram showing a state in which the
図8において、基本回転位置からの回転角度φ1,φ2は、例えば+5度及び-5度に設定されている。但し、回転角度φ1,φ2としては、0度でない任意の角度を採用可能である。但し、回転角度φ1,φ2が過度に小さいと、回転による校正パターン画像の違いが識別し難くなり、回転角度φ1,φ2が過度に大きいと校正パターン画像から校正ジグ座標系ΣJを推定し難くなる。これらの点を考慮すると、回転角度φ1,φ2は、例えば3度以上30度以下の範囲に設定することが好ましい。なお、図8の例ではX軸回りの回転位置を3つ設定しているが、回転位置としては、各座標軸について、基本回転位置と1つ以上の他の回転位置とが設定されていれば良い。Y軸及びZ軸についても、X軸と同様に、それぞれの軸を回転中心としてハンドアイ175を回転させた複数の回転位置において校正ジグ400を撮影することによって校正パターン画像を取得する。なお、3つの座標軸における基本回転位置は、同一としてもよい。
In FIG. 8, the rotation angles φ 1 and φ 2 from the basic rotation position are set to, for example, +5 degrees and −5 degrees. However, as the rotation angles φ 1 and φ 2 , any angle other than 0 degrees can be adopted. However, if the rotation angles φ 1 and φ 2 are excessively small, it becomes difficult to distinguish the difference in the calibration pattern image due to rotation, and if the rotation angles φ 1 and φ 2 are excessively large, the calibration jig coordinate system Σ J from the calibration pattern image. Is difficult to estimate. Considering these points, it is preferable to set the rotation angles φ 1 and φ 2 in the range of, for example, 3 degrees or more and 30 degrees or less. In the example of FIG. 8, three rotation positions around the X axis are set, but as the rotation position, if a basic rotation position and one or more other rotation positions are set for each coordinate axis. good. Similar to the X-axis, the Y-axis and the Z-axis also acquire calibration pattern images by photographing the
なお、基本回転位置は、少なくとも1つ設定すれば良いが、ハンドアイ175の撮像範囲のほぼ全体にわたるように複数の基本回転位置を設定することが好ましい。こうすれば、ハンドアイ175の撮像範囲に亘ってその外部パラメーターをより正確に決定することが可能である。基本回転位置を複数設定する場合には、各基本回転位置における校正パターン画像と、各基本回転位置から3つの座標軸X,Y,Zの回りにそれぞれ回転させた複数の回転位置における複数の校正パターン画像とがそれぞれ撮像される。
Although at least one basic rotation position may be set, it is preferable to set a plurality of basic rotation positions so as to cover almost the entire imaging range of the
校正ジグ400は、例えば、黒丸を格子状に配置した校正パターンを有する。但し、校正ジグ400は、図9のように白丸を格子状に配置した校正パターンを使用してもよいし、チェッカーボードパターンのような他の校正パターンを使用してもよい。校正ジグ座標系ΣJの座標原点は、校正ジグ400上の予め定められた位置にある。
The
ステップS140~ステップS180は、変換行列推定部214が、ステップS120で撮像された複数の校正パターン画像を用いて、校正ジグ座標系ΣJと基準座標系ΣBの間の変換JΣBを推定する処理である。すなわち、ステップS140では変換JΣBを構成する回転行列JRBを推定し、ステップS160では変換JΣBを構成する並進ベクトルJTBを推定し、ステップS180では回転行列JRBと並進ベクトルJTBを組み合わせて変換JΣBを求める。ステップS140,S160の詳細手順については後述する。ステップS200では変換行列推定部214が、ステップS180で得られた変換JΣBを用い、上記(13)式に従ってハンドアイ175の外部パラメーターである変換CΣWを求める。
In steps S140 to S180, the transformation
図10は、図7のステップS140における回転行列JRBの推定処理の詳細手順を示すフローチャートである。図8及び図9で説明したように、ステップS140の前には、基準座標系ΣBの3つの座標軸のそれぞれについて、基本回転位置での校正パターン画像と、1つ以上の他の回転位置での校正パターン画像とが取得されている。 FIG. 10 is a flowchart showing a detailed procedure of the estimation process of the rotation matrix JRB in step S140 of FIG. As described in FIGS. 8 and 9, prior to step S140, for each of the three axes of reference frame Σ B , at the calibration pattern image at the basic rotation position and at one or more other rotation positions. The calibration pattern image of is acquired.
ステップS141では、基準座標系ΣBの3つの座標軸について、ステップS142~S146の処理がすべて終了したか否かが判定される。終了した場合には後述するステップS147に進み、終了していなければ処理対象とする座標軸を選択してステップS142に進む。 In step S141, it is determined whether or not all the processes of steps S142 to S146 have been completed for the three coordinate axes of the reference coordinate system Σ B. If it is completed, the process proceeds to step S147 described later, and if it is not completed, the coordinate axis to be processed is selected and the process proceeds to step S142.
ステップS142では、処理対象とする座標軸回りの複数の回転位置のうち、基本回転位置におけるカメラ座標系ΣCと校正ジグ座標系ΣJの変換CΣJ(0)を求める。この変換CΣJ(0)の括弧内の「0」は回転角度を示す。この変換CΣJ(0)は、基本回転位置における校正パターン画像から、カメラの外部パラメーターを推定する標準的なソフトウェアであるOpenCVの関数「FindExtrinsicCameraParams2」等を用いて推定することが可能である。 In step S142, the conversion C Σ J (0) between the camera coordinate system Σ C and the calibration jig coordinate system Σ J at the basic rotation position is obtained from the plurality of rotation positions around the coordinate axis to be processed. The "0" in parentheses of this transformation C Σ J (0) indicates the rotation angle. This transformation C Σ J (0) can be estimated from the calibration pattern image at the basic rotation position using the OpenCV function "FindExtrinsicCameraParams2", which is standard software for estimating the external parameters of the camera.
ステップS143では、処理対象とする座標軸について、ステップS144~S146の処理がすべて終了したか否かが判定される。終了していればステップS141に戻り、終了していなければ処理対象とする回転角度φjを選択してステップS144に進む。以下では主として基準座標系ΣBのX軸を処理対象とした場合についてステップS144~S146の処理を説明する。 In step S143, it is determined whether or not all the processes of steps S144 to S146 have been completed for the coordinate axes to be processed. If it is completed, the process returns to step S141, and if it is not completed, the rotation angle φj to be processed is selected and the process proceeds to step S144. Hereinafter, the processing of steps S144 to S146 will be described mainly when the X-axis of the reference coordinate system Σ B is the processing target.
ステップS144では、回転角度φjにおける変換CΣJ(φj)を求める。この変換CΣJ(φj)も、回転角度φjにおける校正パターン画像から、カメラの外部パラメーターを推定する標準的なソフトウェアを用いて推定することが可能である。 In step S144, the conversion C Σ J (φj) at the rotation angle φj is obtained. This transformation C Σ J (φj) can also be estimated from the calibration pattern image at the rotation angle φj using standard software that estimates the external parameters of the camera.
ステップS145では、ステップS142,S144で得られた2つの変換CΣJ(0),CΣJ(φj)を用いて、次式に従って回転行列R(φj)を推定する。
上記(14a)式において、CRJ(0),CRJ(φj)は変換CΣJ(0),CΣJ(φj)の回転行列成分である。また、回転行列R(φj)は、基本回転位置からφjだけ座標系を回転させる回転行列である。(14b)式に示すように、回転行列R(φj)は、基本回転位置における回転行列CRJ(0)の逆行列CRJ(0)-1と、基本回転位置からφjだけ回転させた位置における回転行列CRJ(φj)との積として計算できる。 In the above equation (14a), C R J (0) and C R J (φj) are rotation matrix components of the transformation C Σ J (0) and C Σ J (φj). The rotation matrix R (φj) is a rotation matrix that rotates the coordinate system by φj from the basic rotation position. As shown in Eq. (14b), the rotation matrix R (φj) is rotated by φj from the basic rotation position with the inverse matrix C R J (0) -1 of the rotation matrix C R J (0) at the basic rotation position. It can be calculated as the product of the rotation matrix C R J (φj) at the above position.
ステップS146では、回転行列R(φj)から、校正ジグ座標系ΣJから見た基準座標系ΣBのX軸の方向を示す座標軸ベクトル[n0,n1,n2]Tを求める。この計算は、以下のように行われる。 In step S146, the coordinate axis vector [n 0 , n 1 , n 2 ] T indicating the direction of the X axis of the reference coordinate system Σ B as seen from the calibration jig coordinate system Σ J is obtained from the rotation matrix R (φj). This calculation is performed as follows.
一般に、座標系の3つの軸回りの任意の回転は、回転行列や3つのオイラー角で表現する場合が多いが、その代わりに、1つの回転軸と、その回転軸回りの回転角度とで表現することも可能である。後者の表現を利用すると、回転行列R(φj)は、次式で与えられる回転ベクトルRod(φj)に変換できる。
上述したように、回転行列R(φj)は、基本回転位置から基準座標系ΣBのX軸の回りにφjだけ座標系を回転させることを表す行列である。従って、回転行列R(φj)と等価な回転ベクトルRod(φj)のベクトル方向は、回転軸の方向、すなわち、校正ジグ座標系ΣJから見た基準座標系ΣBのX軸の方向を示している。 As described above, the rotation matrix R (φj) is a matrix representing the rotation of the coordinate system by φj from the basic rotation position around the X axis of the reference coordinate system Σ B. Therefore, the vector direction of the rotation vector Rod (φj) equivalent to the rotation matrix R (φj) indicates the direction of the rotation axis, that is, the direction of the X axis of the reference coordinate system Σ B as seen from the calibration jig coordinate system Σ J. ing.
ステップS143~ステップS146を繰り返すことにより、各座標軸回りの回転を表す回転ベクトルRodX(φj),RodY(φj),RodZ(φj)を得ることができる。これらの回転ベクトルRodX(φj),RodY(φj),RodZ(φj)は、次式に示すように、校正ジグ座標系ΣJから見た基準座標系ΣBの座標軸X,Y,Zの方向を示す座標軸ベクトル[nX0,nX1,nX2]T,[nY0,nY1,nY2]T,[nZ0,nZ1,nZ2]Tで表現される。
ステップS147では、次式に示すように、座標軸X,Y,Zの方向を示す座標軸ベクトルを列成分として配列することによって、校正ジグ座標系ΣJから基準座標系ΣBへの回転行列JRBを得ることができる。
なお、回転行列JRBの逆変換BRJは、回転行列JRBの転置行列に等しい。従って、座標軸ベクトル[nX0,nX1,nX2]T,[nY0,nY1,nY2]T,[nZ0,nZ1,nZ2]Tを列成分として配列する代わりに、行成分として配列すれば、基準座標系ΣBから校正ジグ座標系ΣJへの回転行列BRJを得ることが可能である。 The inverse transformation B R J of the rotation matrix J R B is equal to the transposed matrix of the rotation matrix J R B. Therefore, instead of arranging the coordinate axis vectors [n X0 , n X1 , n X2 ] T , [n Y0 , n Y1 , n Y2 ] T , [n Z0 , n Z1 , n Z2 ] T as column components, the row component. By arranging as, it is possible to obtain the rotation matrix B R J from the reference coordinate system Σ B to the calibration jig coordinate system Σ J.
ステップS148では、ステップS147で得られた回転行列JRBを正規直交化する。正規直交化を行う理由は、ステップS143~S146で得られた3つの座標軸ベクトルは独立に推定されたものであり、また推定には誤差が発生するので、ステップS147で求めた回転行列JRBが正規直交していることが保証されていないからである。一方、回転行列は正規直交行列であることが要求されるので、ステップS147で求めた回転行列JRBが正規直交となるように補正をすることが好ましい。正規直交化を行う方法としては、Gram-Schmidt直交化法やFrobenius法などの任意の方法を用いることが可能である。但し、ステップS147で求められた回転行列JRBが正規直交に十分近いものである場合には、ステップS148は省略可能である。 In step S148, the rotation matrix J R B obtained in step S147 is orthonormalized. The reason for performing orthonormalization is that the three coordinate axis vectors obtained in steps S143 to S146 are estimated independently, and an error occurs in the estimation. Therefore, the rotation matrix obtained in step S147 is J R B. Is not guaranteed to be orthonormal. On the other hand, since the rotation matrix is required to be an orthonormal matrix, it is preferable to correct the rotation matrix J R B obtained in step S147 so that it is orthonormal. As a method for performing orthonormalization, any method such as the Gram-Schmidt orthogonalization method or the Frobenius method can be used. However, if the rotation matrix J R B obtained in step S147 is sufficiently close to orthonormal, step S148 can be omitted.
以上のように、図10に示した回転行列推定処理では、基準座標軸ΣBの3つの座標軸のそれぞれを回転中心としてハンドアイ175をそれぞれ回転させた複数の回転位置で撮影された複数の校正パターン画像を用いて、校正ジグ座標系ΣJと基準座標系ΣBの変換行列JΣBの成分である回転行列JRBを得ることが可能である。特に、図10の回転行列推定処理では、複数の回転位置で撮像された校正パターン画像から、基準座標系ΣBの各座標軸の方向をベクトル方向とし回転の角度をベクトル長さとする3つの回転ベクトルを推定し、これらの3つの回転ベクトルを行成分又は列成分として配列することによって回転行列JRBを決定する。従って、複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系ΣJと基準座標系ΣBの間の回転行列JRBを容易に求めることが可能である。
As described above, in the rotation matrix estimation process shown in FIG. 10, a plurality of calibration patterns taken at a plurality of rotation positions in which the
図11は、図7のステップS160における並進ベクトルJTBの推定に使用するベクトルdを示す説明図である。ここでは、図8に示した基本回転位置おける基準座標系ΣB(0)と校正ジグ座標系ΣJ(0)を実線で示し、基本回転位置から回転角φ1だけ回転させた回転位置における基準座標系ΣB(φ1)と校正ジグ座標系ΣJ(φ1)を示している。但し、これらの座標系は、ハンドアイ175を固定した視点で見た状態を示している。これらの2つの回転位置におけるカメラ座標系ΣCと校正ジグ座標系ΣJの間の変換をCΣJ(0), CΣJ(φ1)とし、これらの変換CΣJ(0), CΣJ(φ1)の並進ベクトル成分をCTJ(0), CTJ(φ1)とする。このとき、2つの回転位置における校正ジグ座標系ΣJ(0),ΣJ(φ1)の座標原点の差を表す差ベクトルdは、2つの並進ベクトルCTJ(0), CTJ(φ1)を用いて次式で与えられる。
図12は、図7のステップS160における並進ベクトルJTBの推定処理の詳細手順を示すフローチャートである。 FIG. 12 is a flowchart showing a detailed procedure of the estimation process of the translation vector JTB in step S160 of FIG.
ステップS161では、基準座標系ΣBの3つの座標軸について、ステップS162~S167の処理がすべて終了したか否かが判定される。終了した場合には後述するステップS168に進み、終了していなければ処理対象とする座標軸を選択してステップS162に進む。 In step S161, it is determined whether or not all the processes of steps S162 to S167 have been completed for the three coordinate axes of the reference coordinate system ΣB . If it is completed, the process proceeds to step S168 described later, and if it is not completed, the coordinate axis to be processed is selected and the process proceeds to step S162.
ステップS162では、処理対象とする座標軸回りの複数の回転位置のうち、基本回転位置におけるカメラ座標系ΣBと校正ジグ座標系ΣJの変換CΣJ(0)を取得する。この変換CΣJ(0)は、図10のステップS142で求められていたものと同じである。 In step S162, among a plurality of rotation positions around the coordinate axis to be processed, the conversion C Σ J (0) of the camera coordinate system Σ B and the calibration jig coordinate system Σ J at the basic rotation position is acquired. This conversion C Σ J (0) is the same as that obtained in step S142 of FIG.
ステップS163では、処理対象とする座標軸について、ステップS164~S167の処理がすべて終了したか否かが判定される。終了していればステップS161に戻り、終了していなければ処理対象とする回転角度φjを選択してステップS164に進む。以下では主として基準座標系ΣBのX軸を処理対象とした場合についてステップS164~S167の処理を説明する。 In step S163, it is determined whether or not all the processes of steps S164 to S167 have been completed for the coordinate axes to be processed. If it is completed, the process returns to step S161, and if it is not completed, the rotation angle φj to be processed is selected and the process proceeds to step S164. Hereinafter, the processing of steps S164 to S167 will be described mainly when the X-axis of the reference coordinate system Σ B is the processing target.
ステップS164では、回転角度φjにおける変換CΣJ(φj)を取得する。この変換CΣJ(φj)は、図10のステップS162で求められていたものと同じである。 In step S164, the conversion C Σ J (φj) at the rotation angle φj is acquired. This conversion C Σ J (φj) is the same as that obtained in step S162 of FIG.
ステップS166では、ステップS162,S164で取得された変換CΣJ(0),CΣJ(φj)の並進ベクトル成分を使用して、上述した(18)式に従って差ベクトルdを求める。 In step S166, the difference vector d is obtained according to the above equation (18) using the translation vector components of the transformations C Σ J (0) and C Σ J (φj) acquired in steps S162 and S164.
ステップS167では、差ベクトルdの非直交成分を補正する。図11に示すように、差ベクトルdは、基準座標系ΣBのYZ平面上にある。従って、図10で説明した回転行列の推定処理で求められた座標軸Xの回転軸ベクトル[nX0,nX1,nX2]Tと、差ベクトルdは直交しているはずである。しかし、誤差などの状況により、実際には両者は直交していない可能性がある。そのため、ステップS165で得られた差ベクトルdの非直交成分を補正することが好ましい。この補正は、次式で与えられる。
但し、差ベクトルdと回転軸ベクトルが十分に直交している場合には、ステップS166は省略可能である。 However, if the difference vector d and the rotation axis vector are sufficiently orthogonal to each other, step S166 can be omitted.
ステップS167では、差ベクトルdと回転角φj から、i番目の座標軸に直交する平面に投影した座標間距離Li を求める。図11の例では、i番目の座標軸はX軸であり、X軸に直交する平面はYZ平面である。「座標間距離Li 」とは、基準座標系ΣBの座標原点と校正ジグ座標系ΣJの座標原点の間の距離を意味する。座標間距離Li は、次式で算出できる。
ステップS163~ステップS167を繰り返すことにより、基準座標系ΣBの3つの座標軸をそれぞれ中心に回転したときの座標間距離L0,L1,L2が得られる。 By repeating steps S163 to S167, the inter-coordinate distances L 0 , L 1 , and L 2 when the three coordinate axes of the reference coordinate system Σ B are rotated around each of them can be obtained.
ステップS168では、こうして得られた座標間距離L0,L1,L2を用いて、校正ジグ座標系ΣJと基準座標系ΣBの並進ベクトルJTBの成分r0,r1,r2を算出する。この演算は、次式で与えられる。
ステップS169では、ステップS168で得られた並進ベクトルJTBの成分r0,r1,r2の正負符号を決定する。ステップS168では並進ベクトルJTBの成分r0,r1,r2の絶対値が得られたが、それらの正負符号については任意性がある。3つの成分r0,r1,r2の符号を決定するための方法はいくつか考えられる。例えば、3つの成分r0,r1,r2に対してプラス又はマイナスを設定する組み合わせは全部で8通り存在する。そこで、この8通りの組み合わせを全て試行し、その中で最適な組み合わせを選択することが可能である。この際の最適化の判断方法としては、種々の方法を使用可能である。例えば、図11に示した差ベクトルdの向きと、回転角φ1から符号を決めることができる。或いは、複数の校正パターン画像から得られるカメラ座標系ΣCと手首座標系ΣWの変換CΣWの並進ベクトル成分の分散又は標準偏差が最小となる符号を選択するという方法も使用可能である。後者の方法は、適切な符号の組み合わせを確実に選択できるので、安定性が高いと言う利点がある。 In step S169 , the positive and negative signs of the components r 0 , r 1 , and r 2 of the translation vector JTB obtained in step S168 are determined. In step S168, the absolute values of the components r 0 , r 1 , and r 2 of the translation vector J T B were obtained, but their positive and negative signs are arbitrary. There are several possible ways to determine the sign of the three components r 0 , r 1 , and r 2 . For example, there are a total of eight combinations that set plus or minus for the three components r 0 , r 1 , and r 2 . Therefore, it is possible to try all of these eight combinations and select the optimum combination among them. As a method for determining optimization at this time, various methods can be used. For example, the sign can be determined from the direction of the difference vector d shown in FIG. 11 and the rotation angle φ1. Alternatively, it is also possible to use a method of selecting the sign that minimizes the variance or standard deviation of the translational vector component of the conversion C Σ W of the camera coordinate system Σ C and the wrist coordinate system Σ W obtained from a plurality of calibration pattern images. .. The latter method has the advantage of high stability because an appropriate combination of codes can be reliably selected.
以上のように、図12に示した並進ベクトル推定処理では、基準座標軸ΣBの3つの座標軸のそれぞれを回転中心としてハンドアイ175をそれぞれ回転させた複数の回転位置で撮影された複数の校正パターン画像を用いて、校正ジグ座標系ΣJと基準座標系ΣBの変換行列JΣBの成分である並進ベクトルJTBを得ることが可能である。
As described above, in the translation vector estimation process shown in FIG. 12, a plurality of calibration patterns taken at a plurality of rotation positions in which the
特に、図12の並進ベクトル推定処理では、基準座標系ΣBの各座標軸に関して以下の(a)~(d)の処理を順次実行している。すなわち、まず、(a)複数の回転位置のうちの2つの回転位置において撮像された2つの校正パターン画像からカメラ座標系ΣCと校正ジグ座標系ΣJの間の変換行列CΣJをそれぞれ推定する。次に、(b)2つの回転位置に関して推定された変換行列CΣJの並進ベクトル成分の差から、カメラ座標系ΣCから見た2つの回転位置における校正ジグ座標系ΣJの座標原点の差を表す差ベクトルdを求める。また、(c)差ベクトルdから、回転中心として用いた座標軸に直交する平面に基準座標系ΣBと校正ジグ座標系ΣJを投影したときの基準座標系ΣBと校正ジグ座標系ΣJの座標原点の間の距離Liを求める。そして、(d)基準座標系ΣBの3つの座標軸について得られた基準座標系ΣBと校正ジグ座標系ΣJの座標原点の間の距離L0,L1,L2から、校正ジグ座標系ΣJと基準座標系ΣBの間の並進ベクトルJTBを算出する。この結果、複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系ΣJと基準座標系ΣBの間の並進ベクトルJTBを容易に求めることが可能である。 In particular, in the translational vector estimation process of FIG. 12, the following processes (a) to (d) are sequentially executed for each coordinate axis of the reference coordinate system ΣB . That is, first, (a) the transformation matrix C Σ J between the camera coordinate system Σ C and the calibration jig coordinate system Σ J is obtained from the two calibration pattern images captured at the two rotation positions among the plurality of rotation positions. presume. Next, (b) the coordinate origin of the calibration jig coordinate system Σ J at the two rotation positions seen from the camera coordinate system Σ C from the difference in the translation vector components of the transformation matrix C Σ J estimated for the two rotation positions. The difference vector d representing the difference is obtained. Further, (c) the reference coordinate system Σ B and the calibration jig coordinate system Σ J when the reference coordinate system Σ B and the calibration jig coordinate system Σ J are projected onto the plane orthogonal to the coordinate axis used as the center of rotation from the difference vector d. Find the distance L i between the coordinate origins of. Then, (d) the calibration jig coordinates are obtained from the distances L 0 , L 1 , L 2 between the reference coordinate system Σ B obtained for the three coordinate axes of the reference coordinate system Σ B and the coordinate origins of the calibration jig coordinate system Σ J. Calculate the translation vector J T B between the system Σ J and the reference coordinate system Σ B. As a result, it is possible to easily obtain the translation vector J T B between the calibration jig coordinate system Σ J and the reference coordinate system Σ B from the calibration pattern images captured at a plurality of rotation positions.
こうして並進ベクトルJTBが得られると、この並進ベクトルJTBと図7のステップS140で得られた回転行列JRBとステップS160とを組み合わせることによって、上記(1a)式で与えられる変換行列JΣBを求めることが可能である。また、この変換行列JΣBを用いて、上記(13)式に従ってハンドアイ175の外部パラメーターである変換行列CΣWを決定することができる。
When the translation vector J T B is obtained in this way, the transformation given by the above equation (1a) is given by combining the translation vector J T B with the rotation matrix J R B obtained in step S 140 in FIG. 7 and step
以上のように、本実施形態では、基準座標系ΣBの3つの座標軸の各座標軸を回転中心としてハンドアイ175をそれぞれ回転させて複数の回転位置で停止させるようにアーム160を動作させ、これらの複数の回転位置において校正ジグ400の校正パターン画像を取得し、複数の回転位置で撮像された校正パターン画像を用いてハンドアイ175の外部パラメーターとしての変換行列CΣWを決定することが可能である。この結果、カメラ座標系ΣCとロボット座標系ΣBの間の座標変換を計算可能なカメラの外部パラメーターが得られるので、ハンドアイ175を用いた対象物の位置検出を行うことが可能となる。
As described above, in the present embodiment, the
E. 他の形態
本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本発明は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
E. Other forms
The present invention is not limited to the above-described embodiment, and can be realized in various forms without departing from the spirit of the present invention. For example, the present invention can also be realized by the following aspect. The technical features in the above embodiments corresponding to the technical features in each of the embodiments described below are for solving some or all of the problems of the present invention, or part or all of the effects of the present invention. It is possible to replace or combine as appropriate to achieve the above. Further, if the technical feature is not described as essential in the present specification, it can be appropriately deleted.
(1)本発明の第1形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させる。前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させる。前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。
この制御装置によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(1) According to the first aspect of the present invention, there is provided a control device for controlling a robot having an arm on which a camera is installed. This control device performs an arm control unit that controls the arm; a camera control unit that controls the camera; and a coordinate conversion that mutually converts the coordinates in the robot coordinate system of the robot and the coordinates in the camera coordinate system of the camera. It includes a camera calibration execution unit that determines external parameters of the camera for calculation. The arm control unit operates the arm and rotates the camera around each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system to rotate the camera to a plurality of rotation positions. Stop at. The camera control unit causes the camera to image the calibration pattern of the calibration jig at the plurality of rotation positions. The camera calibration execution unit estimates a coordinate transformation matrix that mutually converts the coordinates in the calibration jig coordinate system of the calibration jig and the coordinates in the reference coordinate system using the calibration pattern images captured at the plurality of rotation positions. Then, the external parameters are determined using the coordinate transformation matrix.
According to this control device, the coordinate conversion matrix between the calibration jig coordinate system and the reference coordinate system can be determined by using the calibration pattern images taken at multiple rotation positions in the rotation around each coordinate axis of the reference coordinate system. This can be used to determine the external parameters of the camera. As a result, since the external parameters of the camera that can calculate the coordinate transformation between the camera coordinate system and the robot coordinate system are obtained, it is possible to detect the position of the object using the camera.
(2)上記制御装置において、前記カメラ校正実行部は、(i)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の回転を示す回転行列を推定する回転行列推定処理と、(ii)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを推定する並進ベクトル推定処理と、を実行し、(iii)推定された前記回転行列と前記並進ベクトルとを組み合わせることによって、前記校正ジグ座標系の座標と前記基準座標系の座標を相互に変換する座標変換行列を求めるようにしても良い。
この制御装置によれば、基準座標系の各座標軸を中心とした回転における複数の回転位置で撮像されたパターン画像から、校正ジグ座標系と基準座標系の間の回転行列と並進ベクトルをそれぞれ推定するので、それらを組み合わせることによって座標変換回転を容易に求めることが可能である。
(2) In the control device, the camera calibration execution unit (i) uses the calibration pattern images captured at the plurality of rotation positions to rotate the calibration jig coordinate system and the reference coordinate system. Using the rotation matrix estimation process for estimating the matrix and (ii) the calibration pattern images captured at the plurality of rotation positions, a translation vector indicating the translational movement of the calibration jig coordinate system and the reference coordinate system is estimated. Coordinate transformation that mutually converts the coordinates of the calibration jig coordinate system and the coordinates of the reference coordinate system by executing the translation vector estimation process and (iii) combining the estimated rotation matrix and the translation vector. You may ask for a matrix.
According to this control device, the rotation matrix and translation vector between the calibration jig coordinate system and the reference coordinate system are estimated from the pattern images captured at multiple rotation positions in the rotation around each coordinate axis of the reference coordinate system. Therefore, it is possible to easily obtain the coordinate conversion rotation by combining them.
(3)上記制御装置において、前記カメラ校正実行部は、前記回転行列推定処理において、前記複数の回転位置で撮像された前記校正パターン画像から、前記基準座標系の各座標軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、前記3つの回転ベクトルを行成分又は列成分として配列することによって前記回転行列を決定するものとしてもよい。
この制御装置によれば、基準座標系の各座標軸を中心とした回転における複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系と基準座標系の間の回転行列を容易に求めることが可能である。
(3) In the control device, the camera calibration execution unit sets the direction of each coordinate axis of the reference coordinate system as a vector direction from the calibration pattern images captured at the plurality of rotation positions in the rotation matrix estimation process. The rotation matrix may be determined by estimating three rotation vectors whose vector length is the angle of rotation and arranging the three rotation vectors as row components or column components.
According to this control device, the rotation matrix between the calibration jig coordinate system and the reference coordinate system can be easily obtained from the calibration pattern images captured at a plurality of rotation positions in the rotation around each coordinate axis of the reference coordinate system. Is possible.
(4)上記制御装置において、前記カメラ校正実行部は、前記基準座標系の各座標軸に関して、(a)前記複数の回転位置のうちの第1回転位置と第2回転位置において撮像された前記校正パターン画像から前記カメラ座標系の座標と前記校正ジグ座標系の座標を相互に変換する変換行列をそれぞれ推定し、(b)前記第1回転位置と前記第2回転位置に関して推定された前記変換行列の並進ベクトル成分の差から、前記カメラ座標系から見た前記第1回転位置と前記第2回転位置における前記校正ジグ座標系の座標原点の差を表す差ベクトルを求め、(c)前記差ベクトルから、回転中心として用いた座標軸に直交する平面に前記基準座標系と前記校正ジグ座標系を投影したときの前記基準座標系と前記校正ジグ座標系の座標原点の間の距離を求め、(d)前記基準座標系の3つの座標軸について得られた前記基準座標系と前記校正ジグ座標系の座標原点の間の前記距離から、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを算出するものとしてもよい。
この制御装置によれば、複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系と基準座標系の間の並進ベクトルを容易に求めることが可能である。
(4) In the control device, the camera calibration execution unit has (a) the calibration imaged at the first rotation position and the second rotation position among the plurality of rotation positions with respect to each coordinate axis of the reference coordinate system. From the pattern image, a conversion matrix that mutually converts the coordinates of the camera coordinate system and the coordinates of the calibration jig coordinate system is estimated, and (b) the conversion matrix estimated for the first rotation position and the second rotation position. From the difference in the translational vector components of, the difference vector representing the difference between the coordinate origin of the calibration jig coordinate system at the first rotation position and the second rotation position as seen from the camera coordinate system is obtained, and (c) the difference vector. From, the distance between the reference coordinate system and the coordinate origin of the calibration jig coordinate system when the reference coordinate system and the calibration jig coordinate system are projected onto a plane orthogonal to the coordinate axis used as the center of rotation is obtained (d). ) A translation vector indicating the translational movement of the calibration jig coordinate system and the reference coordinate system from the distance between the coordinate origins of the reference coordinate system and the calibration jig coordinate system obtained for the three coordinate axes of the reference coordinate system. May be calculated.
According to this control device, it is possible to easily obtain a translational vector between the calibration jig coordinate system and the reference coordinate system from the calibration pattern images captured at a plurality of rotation positions.
(5)本発明の第2形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、プロセッサーを備える。前記プロセッサーは;前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ;前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ;前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記カメラの外部パラメーターを決定する。
この制御装置によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(5) According to the second aspect of the present invention, there is provided a control device for controlling a robot having an arm on which a camera is installed. This control unit comprises a processor. The processor; operates the arm of the robot and rotates the camera around each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system to rotate the camera to a plurality of rotation positions. The camera is made to capture the calibration pattern of the calibration jig at the plurality of rotation positions; the coordinates of the calibration jig in the calibration jig coordinate system and the said using the calibration pattern images captured at the plurality of rotation positions. A coordinate transformation matrix that mutually transforms the coordinates in the reference coordinate system is estimated, and the external parameters of the camera are determined using the coordinate transformation matrix.
According to this control device, the coordinate conversion matrix between the calibration jig coordinate system and the reference coordinate system can be determined by using the calibration pattern images taken at multiple rotation positions in the rotation around each coordinate axis of the reference coordinate system. This can be used to determine the external parameters of the camera. As a result, since the external parameters of the camera that can calculate the coordinate transformation between the camera coordinate system and the robot coordinate system are obtained, it is possible to detect the position of the object using the camera.
(6)本発明の第3形態によれば、上記制御装置に接続されたロボットが提供される。
このロボットによれば、カメラ座標系と基準座標系の間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(6) According to the third aspect of the present invention, a robot connected to the control device is provided.
According to this robot, it is possible to perform coordinate transformation between the camera coordinate system and the reference coordinate system to detect the position of an object using the camera.
(7)本発明の第4形態によれば、ロボットと、前記ロボットに接続された上記制御装置と、を備えるロボットシステムが提供される。
このロボットシステムによれば、カメラ座標系と基準座標系の間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(7) According to the fourth aspect of the present invention, there is provided a robot system including a robot and the control device connected to the robot.
According to this robot system, it is possible to perform coordinate transformation between the camera coordinate system and the reference coordinate system to detect the position of an object using the camera.
(8)本発明の第5形態によれば、カメラが設置されたアームを有するロボットを備えるロボットシステムにおいて前記カメラの外部パラメーターを決定するため校正を行う方法が提供される。この方法は、前記ロボットの前記アームを動作させ、前記ロボットのロボット座標系に対して、前記ロボットシステムにとって既知である相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ;前記複数の回転位置において校正ジグの校正パターンを前記カメラに撮像させ;前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。
この方法によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(8) According to the fifth aspect of the present invention, there is provided a method of performing calibration for determining an external parameter of the camera in a robot system including a robot having an arm on which the camera is installed. In this method, the arm of the robot is operated, and the coordinate axes of the three coordinate axes of the reference coordinate system having a relative position and orientation known to the robot system with respect to the robot coordinate system of the robot are set as rotation centers. The camera is rotated and stopped at a plurality of rotation positions; the calibration pattern of the calibration jig is imaged by the camera at the plurality of rotation positions; the calibration pattern image captured at the plurality of rotation positions is used to capture the calibration jig. The coordinate transformation matrix that mutually transforms the coordinates in the calibration jig coordinate system and the coordinates in the reference coordinate system is estimated, and the external parameters are determined using the coordinate transformation matrix.
According to this method, the coordinate conversion matrix between the calibration jig coordinate system and the reference coordinate system can be determined by using the calibration pattern images taken at multiple rotation positions in the rotation around each coordinate axis of the reference coordinate system. Can be used to determine the external parameters of the camera. As a result, since the external parameters of the camera that can calculate the coordinate transformation between the camera coordinate system and the robot coordinate system are obtained, it is possible to detect the position of the object using the camera.
100…ロボット、110…基台、120…胴部、130…肩部、140…首部、150…頭部、160…アーム、175…ハンドアイ、180…ハンド、190…力覚センサー、200…制御装置、210…プロセッサー、211…アーム制御部、212…カメラ制御部、213…カメラ校正実行部、214…変換行列推定部、220…メインメモリー、230…不揮発性メモリー、231…プログラム命令、232…カメラ内部パラメーター、233…カメラ外部パラメーター、240…表示制御部、250…表示部、260…I/Oインターフェース、400…校正ジグ、500…クラウドサービス、510,520…パーソナルコンピューター 100 ... robot, 110 ... base, 120 ... body, 130 ... shoulder, 140 ... neck, 150 ... head, 160 ... arm, 175 ... hand eye, 180 ... hand, 190 ... force sensor, 200 ... control Device, 210 ... Processor, 211 ... Arm control unit, 212 ... Camera control unit, 213 ... Camera calibration execution unit, 214 ... Conversion matrix estimation unit, 220 ... Main memory, 230 ... Non-volatile memory, 231 ... Program instruction, 232 ... Camera internal parameters, 233 ... camera external parameters, 240 ... display control unit, 250 ... display unit, 260 ... I / O interface, 400 ... calibration jig, 500 ... cloud service, 510, 520 ... personal computer
Claims (8)
前記アームを制御するアーム制御部と、
前記カメラを制御するカメラ制御部と、
前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と、
を備え、
前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて、各座標軸廻りにそれぞれ複数の回転位置で停止させ、
前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ、
前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する、制御装置。 A control device that controls a robot with an arm on which a camera is installed.
An arm control unit that controls the arm and
A camera control unit that controls the camera,
A camera calibration execution unit that determines external parameters of the camera for calculating a coordinate transformation that mutually transforms the coordinates in the robot coordinate system of the robot and the coordinates in the camera coordinate system of the camera.
Equipped with
The arm control unit operates the arm and rotates the camera around each coordinate axis of each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system. Stop at multiple rotation positions, respectively ,
The camera control unit causes the camera to image the calibration pattern of the calibration jig at the plurality of rotation positions.
The camera calibration execution unit estimates a coordinate transformation matrix that mutually converts the coordinates in the calibration jig coordinate system of the calibration jig and the coordinates in the reference coordinate system using the calibration pattern images captured at the plurality of rotation positions. A control device that determines the external parameters using the coordinate transformation matrix.
前記カメラ校正実行部は、
(i)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の回転を示す回転行列を推定する回転行列推定処理と、
(ii)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを推定する並進ベクトル推定処理と、
を実行し、
(iii)推定された前記回転行列と前記並進ベクトルとを組み合わせることによって、前記校正ジグ座標系の座標と前記基準座標系の座標を相互に変換する座標変換行列を求める、
制御装置。 The control device according to claim 1.
The camera calibration execution unit is
(I) A rotation matrix estimation process for estimating a rotation matrix indicating rotation of the calibration jig coordinate system and the reference coordinate system using the calibration pattern images captured at the plurality of rotation positions.
(Ii) A translation vector estimation process for estimating a translation vector indicating translational movement between the calibration jig coordinate system and the reference coordinate system using the calibration pattern images captured at the plurality of rotation positions.
And run
(Iii) By combining the estimated rotation matrix and the translation vector, a coordinate transformation matrix that mutually transforms the coordinates of the calibration jig coordinate system and the coordinates of the reference coordinate system is obtained.
Control device.
前記カメラ校正実行部は、前記回転行列推定処理において、
前記複数の回転位置で撮像された前記校正パターン画像から、前記基準座標系の各座標軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、
前記3つの回転ベクトルを行成分又は列成分として配列することによって前記回転行列を決定する、
制御装置。 The control device according to claim 2.
The camera calibration execution unit is in the rotation matrix estimation process.
From the calibration pattern images captured at the plurality of rotation positions, three rotation vectors having the direction of each coordinate axis of the reference coordinate system as the vector direction and the angle of rotation as the vector length are estimated.
The rotation matrix is determined by arranging the three rotation vectors as row components or column components.
Control device.
前記カメラ校正実行部は、前記基準座標系の各座標軸に関して、
(a)前記複数の回転位置のうちの第1回転位置と第2回転位置において撮像された前記校正パターン画像から前記カメラ座標系の座標と前記校正ジグ座標系の座標を相互に変換する変換行列をそれぞれ推定し、
(b)前記第1回転位置と前記第2回転位置に関して推定された前記変換行列の並進ベクトル成分の差から、前記カメラ座標系から見た前記第1回転位置と前記第2回転位置における前記校正ジグ座標系の座標原点の差を表す差ベクトルを求め、
(c)前記差ベクトルから、回転中心として用いた座標軸に直交する平面に前記基準座標系と前記校正ジグ座標系を投影したときの前記基準座標系と前記校正ジグ座標系の座標原点の間の距離を求め、
(d)前記基準座標系の3つの座標軸について得られた前記基準座標系と前記校正ジグ座標系の座標原点の間の前記距離から、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを算出する、制御装置。 The control device according to claim 2 or 3.
The camera calibration execution unit relates to each coordinate axis of the reference coordinate system.
(A) A conversion matrix that mutually converts the coordinates of the camera coordinate system and the coordinates of the calibration jig coordinate system from the calibration pattern images captured at the first rotation position and the second rotation position among the plurality of rotation positions. Estimate each
(B) The calibration at the first rotation position and the second rotation position as seen from the camera coordinate system from the difference between the translational vector components of the transformation matrix estimated for the first rotation position and the second rotation position. Find the difference vector that represents the difference between the coordinate origins of the jig coordinate system.
(C) Between the reference coordinate system and the coordinate origin of the calibration jig coordinate system when the reference coordinate system and the calibration jig coordinate system are projected onto a plane orthogonal to the coordinate axis used as the center of rotation from the difference vector. Find the distance,
(D) From the distance between the reference coordinate system and the coordinate origin of the calibration jig coordinate system obtained for the three coordinate axes of the reference coordinate system, the translational movement of the calibration jig coordinate system and the reference coordinate system is shown. A control device that calculates translational vectors.
プロセッサーを備え、
前記プロセッサーは、
前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて、各座標軸廻りにそれぞれ複数の回転位置で停止させ、
前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ、
前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記カメラの外部パラメーターを決定する、制御装置。 A control device that controls a robot with an arm on which a camera is installed.
Equipped with a processor
The processor
By operating the arm of the robot and rotating the camera around each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system, the camera is rotated around each coordinate axis . Stop at the rotation position,
The camera is made to image the calibration pattern of the calibration jig at the plurality of rotation positions.
Using the calibration pattern images captured at the plurality of rotation positions, a coordinate transformation matrix that mutually converts the coordinates in the calibration jig coordinate system of the calibration jig and the coordinates in the reference coordinate system is estimated, and the coordinate transformation matrix is obtained. A control device that is used to determine the external parameters of the camera.
前記ロボットに接続された請求項1~5のいずれか一項に記載の制御装置と、
を備えるロボットシステム。 With a robot
The control device according to any one of claims 1 to 5 connected to the robot, and the control device.
A robot system equipped with.
前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて、各座標軸廻りにそれぞれ複数の回転位置で停止させ、
前記複数の回転位置において校正ジグの校正パターンを前記カメラに撮像させ、
前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する、方法。 A method of calibrating to determine external parameters of a camera in a robot system comprising a robot with an arm on which the camera is installed.
By operating the arm of the robot and rotating the camera around each of the three coordinate axes of the reference coordinate system having a known relative position and orientation with respect to the robot coordinate system, the camera is rotated around each coordinate axis . Stop at the rotation position,
The camera is made to image the calibration pattern of the calibration jig at the plurality of rotation positions.
Using the calibration pattern images captured at the plurality of rotation positions, a coordinate transformation matrix that mutually converts the coordinates in the calibration jig coordinate system of the calibration jig and the coordinates in the reference coordinate system is estimated, and the coordinate transformation matrix is obtained. A method of determining the external parameters using.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047377A JP7035657B2 (en) | 2018-03-15 | 2018-03-15 | Robot control device, robot, robot system, and camera calibration method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047377A JP7035657B2 (en) | 2018-03-15 | 2018-03-15 | Robot control device, robot, robot system, and camera calibration method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019155556A JP2019155556A (en) | 2019-09-19 |
JP7035657B2 true JP7035657B2 (en) | 2022-03-15 |
Family
ID=67993822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018047377A Active JP7035657B2 (en) | 2018-03-15 | 2018-03-15 | Robot control device, robot, robot system, and camera calibration method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7035657B2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111203881B (en) * | 2020-01-16 | 2022-02-08 | 河北工业大学 | On-line feedback hand-eye calibration method based on weighted least square method |
CN111482963B (en) * | 2020-04-08 | 2022-11-25 | 江西理工大学 | Calibration method of robot |
JP7389237B2 (en) * | 2020-04-14 | 2023-11-29 | ファナック株式会社 | Coordinate system setting system and position/orientation measurement system |
CN112022355B (en) * | 2020-09-27 | 2022-06-10 | 平安科技(深圳)有限公司 | Hand-eye calibration method and device based on computer vision and storage medium |
US20220134566A1 (en) | 2020-11-04 | 2022-05-05 | X Development Llc | Optimizing calibration with constraints between different coordinate frames |
CN112743548B (en) * | 2020-12-30 | 2022-06-07 | 上海媒智科技有限公司 | Method, system and terminal for unifying hand-eye calibration of two mechanical arms |
CN113119120B (en) * | 2021-03-30 | 2022-06-07 | 深圳市优必选科技股份有限公司 | Robot control method and device and robot |
CN115810052A (en) * | 2021-09-16 | 2023-03-17 | 梅卡曼德(北京)机器人科技有限公司 | Camera calibration method and device, electronic equipment and storage medium |
CN114043087B (en) * | 2021-12-03 | 2022-10-04 | 厦门大学 | Three-dimensional trajectory laser welding seam tracking attitude planning method |
CN115091456A (en) * | 2022-07-01 | 2022-09-23 | 武汉理工大学 | Robot hand-eye calibration method based on matrix solution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012091280A (en) | 2010-10-27 | 2012-05-17 | Mitsubishi Electric Corp | Coordinate system calibration method and robot system |
JP2015062991A (en) | 2013-08-28 | 2015-04-09 | キヤノン株式会社 | Coordinate system calibration method, robot system, program, and recording medium |
-
2018
- 2018-03-15 JP JP2018047377A patent/JP7035657B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012091280A (en) | 2010-10-27 | 2012-05-17 | Mitsubishi Electric Corp | Coordinate system calibration method and robot system |
JP2015062991A (en) | 2013-08-28 | 2015-04-09 | キヤノン株式会社 | Coordinate system calibration method, robot system, program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2019155556A (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7035657B2 (en) | Robot control device, robot, robot system, and camera calibration method | |
JP7003463B2 (en) | Robot control device, robot system, and camera calibration method | |
CN109227532B (en) | Robot control device and system thereof, robot and camera correction method | |
JP6966582B2 (en) | Systems and methods for automatic hand-eye calibration of vision systems for robot motion | |
JP5365379B2 (en) | Robot system and robot system calibration method | |
JP5850962B2 (en) | Robot system using visual feedback | |
CN108994876B (en) | Teaching position correction device and teaching position correction method | |
JP6429473B2 (en) | Robot system, robot system calibration method, program, and computer-readable recording medium | |
JP4844453B2 (en) | Robot teaching apparatus and teaching method | |
JP5949242B2 (en) | Robot system, robot, robot control apparatus, robot control method, and robot control program | |
JP5815761B2 (en) | Visual sensor data creation system and detection simulation system | |
US20140288710A1 (en) | Robot system and calibration method | |
JP7062911B2 (en) | Robot system | |
JP7111114B2 (en) | Information processing device, information processing method, and information processing system | |
CN105643619B (en) | A kind of industrial robot instrument posture control method of use framework description | |
JP5450242B2 (en) | Manipulator calibration method and robot control system | |
JP6410411B2 (en) | Pattern matching apparatus and pattern matching method | |
WO2020010625A1 (en) | Method and system for optimizing kinematic model of robot, and storage device. | |
Nammoto et al. | Model-based compliant motion control scheme for assembly tasks using vision and force information | |
JP2021091070A (en) | Robot control device | |
JP2022181810A (en) | robot system | |
Rajkumar et al. | Coupled differential motion of ABB-IRB120 manipulator for kinematic calibration in image acquisition | |
JP2023153555A (en) | Position estimation method of imaging device | |
Liu et al. | Development and experiment of CSM-based industrial robot servoing control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220112 |
|
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: 20220201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7035657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |