JP7035657B2 - Robot control device, robot, robot system, and camera calibration method - Google Patents

Robot control device, robot, robot system, and camera calibration method Download PDF

Info

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
Application number
JP2018047377A
Other languages
Japanese (ja)
Other versions
JP2019155556A (en
Inventor
満広 稲積
貴彦 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018047377A priority Critical patent/JP7035657B2/en
Publication of JP2019155556A publication Critical patent/JP2019155556A/en
Application granted granted Critical
Publication of JP7035657B2 publication Critical patent/JP7035657B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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では、ロボットの動きに制限を加えることにより、座標系の変換行列を求める問題を線形化する技術が記載されている。 Patent Document 1 describes a method of calibrating a coordinate system in a robot system using a camera installed on an arm. As described in Patent Document 1, when using a camera installed on an arm, it is necessary to solve the so-called AX = XB problem with respect to an unknown transformation matrix X between the camera coordinate system and the robot coordinate system. There is a problem that it is difficult to calibrate the camera. The solution of the AX = XB problem requires a non-linear optimization process, and there is no guarantee that the optimum solution will be given. In order to avoid the AX = XB problem, Patent Document 1 describes a technique for linearizing the problem of finding a transformation matrix of a coordinate system by limiting the movement of a robot.

特開2012-91280号公報Japanese Unexamined Patent Publication No. 2012-21280

しかしながら、上記特許文献1に記載された技術では、処理結果として得られる変換行列が、画像を用いた校正ジグの位置推定の精度に依存するという課題がある。すなわち、校正ジグの位置推定の精度を上げるためには、ロボットの動きが大きい方が有利であるが、ロボットの大きな動きは、動きの精度が低くなるという問題がある。一方、ロボットの動きの精度を上げようとすれば、動きを小さくするのが好ましいが、この場合は画像を用いた校正パターンの位置推定の精度が低くなるという問題がある。そこで、特許文献1とは異なる方法で、アームに設置されたカメラの校正を容易に行うことのできる技術が望まれている。 However, the technique described in Patent Document 1 has a problem that the transformation matrix obtained as a processing result depends on the accuracy of position estimation of the calibration jig using an image. That is, in order to improve the accuracy of the position estimation of the calibration jig, it is advantageous that the movement of the robot is large, but the large movement of the robot has a problem that the accuracy of the movement is low. On the other hand, if the accuracy of the movement of the robot is to be improved, it is preferable to reduce the movement, but in this case, there is a problem that the accuracy of the position estimation of the calibration pattern using the image is lowered. Therefore, there is a demand for a technique capable of easily calibrating a camera installed on an arm by a method different from that of Patent Document 1.

本発明の一形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の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.

ロボットシステムの概念図。Conceptual diagram of a robot system. 複数のプロセッサーを有する制御装置の一例を示す概念図。The conceptual diagram which shows an example of the control device which has a plurality of processors. 複数のプロセッサーを有する制御装置の他の例を示す概念図。A conceptual diagram showing another example of a control unit having multiple processors. ロボットと制御装置の機能を示すブロック図。A block diagram showing the functions of a robot and a control device. ロボットの座標系を示す説明図。Explanatory diagram showing the coordinate system of the robot. ハンドアイの校正処理で使用するロボットの座標系を示す説明図。An explanatory diagram showing the coordinate system of the robot used in the hand-eye calibration process. ハンドアイの校正処理の手順を示すフローチャート。A flowchart showing the procedure of the hand eye calibration process. ハンドアイを複数の回転位置に回転させた状態を示す説明図。Explanatory drawing which shows the state which the hand eye was rotated to a plurality of rotation positions. 複数の回転位置で撮影された校正パターン画像の例を示す説明図。Explanatory drawing which shows an example of the calibration pattern image taken at a plurality of rotation positions. 回転行列推定処理の詳細手順を示すフローチャート。A flowchart showing a detailed procedure of the rotation matrix estimation process. 並進ベクトルの推定に使用するベクトルdを示す説明図。Explanatory drawing which shows the vector d used for the estimation of a translation vector. 並進ベクトル推定処理の詳細手順を示すフローチャート。A flowchart showing a detailed procedure of translation vector estimation processing.

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 robot 100 and a control device 200 connected to the robot 100. The robot 100 is an autonomous robot that can recognize a work target with a camera, freely adjust the force, and perform work while making an autonomous judgment. Further, the robot 100 can also operate as a teaching playback robot that executes work according to teaching data created in advance.

ロボット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 robot 100 includes a base 110, a body 120, a shoulder 130, a neck 140, a head 150, and two arms 160L and 160R. Hands 180L and 180R are detachably attached to the arms 160L and 160R. These hands 180L and 180R are end effectors that grip workpieces and tools. Cameras 170L and 170R are installed on the head 150. These cameras 170L and 170R are fixed cameras that are provided independently of the arms 160L and 160R and whose position and posture do not change. Hand eyes 175L and 175R as cameras are provided on the wrists of the arms 160L and 160R. Cameras 170L, 170R and hand eye 175L, 175R calibration jigs 400 can be installed on the arms 160L and 160R. Hereinafter, the cameras 170L and 170R provided on the head 150 are also referred to as “fixed cameras 170L and 170R” in order to distinguish them from the hand eyes 175L and 175R.

アーム160L,160Rの手首部には、更に、力覚センサー190L,190Rが設けられている。力覚センサー190L,190Rは、ハンド180L,180Rがワークに及ぼしている力に対する反力やモーメントを検出するセンサーである。力覚センサー190L,190Rとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサー190L,190Rは省略可能である。 Force sensors 190L and 190R are further provided on the wrists of the arms 160L and 160R. The force sense sensors 190L and 190R are sensors that detect reaction forces and moments with respect to the force exerted by the hands 180L and 180R on the work. As the force sensor 190L and 190R, for example, a 6-axis force sensor capable of simultaneously detecting 6 components of a force component in the translational 3-axis direction and a moment component around the rotation 3-axis can be used. The force sensors 190L and 190R can be omitted.

アーム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 arms 160L, 160R, the cameras 170L, 170R, the hand eyes 175L, 175R, the hands 180L, 180R, and the force sensor 190L, 190R, respectively. It means "left" and "right". When these distinctions are not necessary, reference numerals will be given by omitting the letters "L" and "R".

制御装置200は、プロセッサー210と、メインメモリー220と、不揮発性メモリー230と、表示制御部240と、表示部250と、I/Oインターフェース260とを有している。これらの各部は、バスを介して接続されている。プロセッサー210は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置200は、I/Oインターフェース260を介してロボット100に接続される。なお、制御装置200をロボット100の内部に収納してもよい。 The control device 200 includes a processor 210, a main memory 220, a non-volatile memory 230, a display control unit 240, a display unit 250, and an I / O interface 260. Each of these parts is connected via a bus. The processor 210 is, for example, a microprocessor or a processor circuit. The control device 200 is connected to the robot 100 via the I / O interface 260. The control device 200 may be housed inside the robot 100.

制御装置200の構成としては、図1に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー210とメインメモリー220を図1の制御装置200から削除し、この制御装置200と通信可能に接続された他の装置にプロセッサー210とメインメモリー220を設けるようにしてもよい。この場合には、当該他の装置と制御装置200とを合わせた装置全体が、ロボット100の制御装置として機能する。他の実施形態では、制御装置200は、2つ以上のプロセッサー210を有していてもよい。更に他の実施形態では、制御装置200は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置200は、1つ以上のプロセッサー210を備える装置又は装置群として構成される。 As the configuration of the control device 200, various configurations other than the configuration shown in FIG. 1 can be adopted. For example, the processor 210 and the main memory 220 may be deleted from the control device 200 of FIG. 1, and the processor 210 and the main memory 220 may be provided in another device communicably connected to the control device 200. In this case, the entire device including the other device and the control device 200 functions as the control device of the robot 100. In another embodiment, the control device 200 may have two or more processors 210. In yet another embodiment, the control device 200 may be implemented by a plurality of devices communicably connected to each other. In these various embodiments, the control device 200 is configured as a device or group of devices comprising one or more processors 210.

図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 robot 100 and its control device 200, personal computers 510 and 520 and a cloud service 500 provided via a network environment such as a LAN are depicted. The personal computers 510 and 520 each include a processor and a memory. The processor and memory can also be used in the cloud service 500. It is possible to realize the control device of the robot 100 by utilizing a part or all of these plurality of processors.

図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 control device 200 of the robot 100 is housed in the robot 100. Also in this example, it is possible to realize the control device of the robot 100 by using a part or all of a plurality of processors.

図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 robot 100 and the control device 200. The processor 210 of the control device 200 executes the functions of the arm control unit 211, the camera control unit 212, and the camera calibration execution unit 213 by executing various program instructions 231 stored in advance in the non-volatile memory 230, respectively. Realize. The camera calibration execution unit 213 has a transformation matrix estimation unit 214. However, a part or all of the functions of each of these parts 211 to 214 may be realized by a hardware circuit. The functions of each of these parts 211 to 214 will be described later.

不揮発性メモリー230には、プログラム命令231の他に、カメラ内部パラメーター232とカメラ外部パラメーター233とが格納される。これらのパラメーター232,233は、固定カメラ170のパラメーターと、ハンドアイ175のパラメーターをそれぞれ含んでいる。なお、本実施形態では、固定カメラ170の内部パラメーターと外部パラメーターは制御装置200にとって既知であるものと仮定する。また、ハンドアイ175の内部パラメーターは既知であり、外部パラメーターは未知であるものと仮定する。後述する校正処理では、ハンドアイ175の外部パラメーターが生成される。内部パラメーター232と外部パラメーター233の内容については更に後述する。 In addition to the program instruction 231, the non-volatile memory 230 stores the camera internal parameter 232 and the camera external parameter 233. These parameters 232 and 233 include the parameters of the fixed camera 170 and the parameters of the hand eye 175, respectively. In this embodiment, it is assumed that the internal parameters and the external parameters of the fixed camera 170 are known to the control device 200. It is also assumed that the internal parameters of the hand eye 175 are known and the external parameters are unknown. In the calibration process described later, the external parameters of the hand eye 175 are generated. The contents of the internal parameter 232 and the external parameter 233 will be described later.

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 arm 160 of the robot 100 and various coordinate systems. Seven joints J1 to J7 are provided on each of the two arms 160L and 160R. The joints J1, J3, J5 and J7 are torsion joints, and the joints J2, J4 and J6 are bending joints. A torsion joint is provided between the body portion 120 and the shoulder portion 130 in FIG. 1, but the illustration is omitted in FIG. Each joint is provided with an actuator for operating them and a position detector for detecting the rotation angle.

アーム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 arm 160. Typically, the control of the robot 100 is performed to control the position and orientation of the tool center point TCP. The position and orientation means a state defined by three coordinate values in a three-dimensional coordinate system and rotation around each coordinate axis.

アーム160L,160Rには、校正ジグ400を予め定めた設置状態で設置可能である。図5の例では、左アーム160Lのハンドアイ175の校正に使用される校正ジグ400が、右アーム160Rの手先部に固定されている。校正ジグ400を右アーム160Rに取り付ける際には、右アーム160Rのハンド180Rを取り外すようにしてもよい。左アーム160Lのハンド180Lも同様である。後述するように、校正ジグ400をアーム160に取り付ける必要は無く、床面等に設置してもよい。但し、校正ジグ400をアーム160のハンド180に取り付られるようにすれば、ハンドアイ175やカメラ170の校正が容易になるという利点がある。 The calibration jig 400 can be installed on the arms 160L and 160R in a predetermined installation state. In the example of FIG. 5, the calibration jig 400 used for calibrating the hand eye 175 of the left arm 160L is fixed to the hand portion of the right arm 160R. When attaching the calibration jig 400 to the right arm 160R, the hand 180R of the right arm 160R may be removed. The same applies to the hand 180L of the left arm 160L. As will be described later, it is not necessary to attach the calibration jig 400 to the arm 160, and the calibration jig 400 may be installed on the floor or the like. However, if the calibration jig 400 is attached to the hand 180 of the arm 160, there is an advantage that the hand eye 175 and the camera 170 can be easily calibrated.

実施形態におけるハンドアイ175の校正は、ハンドアイ175の内部パラメーターと外部パラメーターのうち、外部パラメーターを推定する処理である。内部パラメーターは、ハンドアイ175及びそのレンズ系の固有のパラメーターであり、例えば射影変換パラメーターや歪パラメーターなどを含んでいる。ハンドアイ175の内部パラメーターは、校正ジグ400を複数の位置姿勢で撮影して得られる複数の校正パターン画像を用いて、カメラの校正を行う標準的なソフトウェアであるOpenCVやMATLABのカメラキャリブレーション関数を用いて実行可能である。以下では、ハンドアイ175の内部パラメーターは予め決定されているものと仮定する。ハンドアイ175の外部パラメーターは、ハンドアイ175のカメラ座標系ΣCとロボット100のロボット座標系ΣRの間の相対的な位置姿勢を計算する際に使用されるパラメーターである。 The calibration of the hand eye 175 in the embodiment is a process of estimating an external parameter among the internal parameter and the external parameter of the hand eye 175. The internal parameters are specific parameters of the hand eye 175 and its lens system, and include, for example, a projective transformation parameter and a distortion parameter. The internal parameters of the hand eye 175 are the camera calibration functions of OpenCV and MATLAB, which are standard software for calibrating the camera, using multiple calibration pattern images obtained by shooting the calibration jig 400 in multiple positions and postures. Is feasible using. In the following, it is assumed that the internal parameters of the hand eye 175 are predetermined. The external parameter of the hand eye 175 is a parameter used when calculating the relative position and orientation between the camera coordinate system Σ C of the hand eye 175 and the robot coordinate system Σ R of the robot 100.

図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 robot 100.
(1) Robot coordinate system Σ R : Coordinate system with the reference point of the robot 100 as the coordinate origin (2) Wrist coordinate system Σ W : Coordinate system with the wrist of the arm 160 as the coordinate origin (3) Calibration jig coordinate system Σ J : Coordinate system with a predetermined position on the calibration jig 400 as the coordinate origin (4) Camera coordinate system Σ C : Coordinate system set in the hand eye 175 Note that the coordinate systems used in this specification are orthogonal to each other. It is an orthogonal coordinate system with two coordinate axes.

手首座標系Σ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 arm 160 in which the hand eye 175 is installed. However, the hand eye 175 may be installed on a portion other than the wrist portion of the arm 160. Further, the hand eye 175 may be installed on the arm 160 in a detachable state. The arm portion where the hand eye 175 is set is also referred to as a "camera installation site". The wrist coordinate system Σ W is a kind of camera installation site coordinate system set in the camera installation site of the arm 160. The wrist coordinate system Σ W and the camera coordinate system Σ C are set separately for the two hand eyes 175L and 175R, respectively. In the following description, since the hand eye 175L of the left arm 160L is the calibration target, the coordinate system for the left arm 160L is used as the wrist coordinate system Σ W and the camera coordinate system Σ C. In FIG. 5, for convenience of illustration, the origin of the calibration jig coordinate system Σ J is drawn at a position deviated from the actual position.

一般に、或る座標系ΣAから他の座標系ΣBへの変換、又は、これらの座標系での位置姿勢の変換は、以下に示す同次変換行列AΣB(Homogeneous transformation matrix)で表現される。

Figure 0007035657000001
ここで、Rは回転行列(Rotation matrix)、Tは並進ベクトル(Translation vector)、Rx,Ry,Rzは回転行列Rの列成分である。以下では、同次変換行列AΣBを「座標変換行列AΣB」、「変換行列AΣB」又は、単に「変換AΣB」とも呼ぶ。変換の符号「AΣB」の左側の上付き文字「A」は変換前の座標系を示し、右側の下付き文字「B」は変換後の座標系を示す。なお、変換AΣBは、座標系ΣAで見た座標系ΣBの基底ベクトルの成分と原点位置を表すものと考えることも可能である。 In general, the transformation from one coordinate system Σ A to another coordinate system Σ B , or the transformation of the position and orientation in these coordinate systems, is expressed by the homogeneous transformation matrix A Σ B (Homogeneous transformation matrix) shown below. Will be done.
Figure 0007035657000001
Here, R is a rotation matrix, T is a translation vector, and R x , R y , and R z are column components of the rotation matrix R. Hereinafter, the same-order transformation matrix A Σ B is also referred to as “coordinate transformation matrix A Σ B ”, “transformation matrix A Σ B ”, or simply “transformation A Σ B ”. The superscript " A " on the left side of the conversion sign " A Σ B " indicates the coordinate system before conversion, and the subscript " B " on the right side indicates the coordinate system after conversion. It is also possible to think that the transformation A Σ B represents the component and the origin position of the basis vector of the coordinate system Σ B as seen in the coordinate system Σ A.

変換AΣBの逆行列AΣB -1(=BΣA)は、次式で与えられる。

Figure 0007035657000002
The inverse matrix A Σ B -1 (= B Σ A ) of the transformation A Σ B is given by the following equation.
Figure 0007035657000002

回転行列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.
<Characteristic 1 of rotation matrix R>
The rotation matrix R is an orthonormal matrix, and its inverse matrix R -1 is equal to the transposed matrix R T.
<Property 2 of rotation matrix R>
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ΣBBΣCを順次施す場合に、合成された変換AΣCは各変換AΣBBΣCを順次右側に乗じたものとなる。

Figure 0007035657000003
When the transformations A Σ B and B Σ C are sequentially applied to a certain coordinate system Σ A , the synthesized transformation A Σ C is obtained by multiplying each transformation A Σ B and B Σ C sequentially to the right side.
Figure 0007035657000003

また、回転行列Rに関しても(3)式と同様の関係が成立する。

Figure 0007035657000004
Further, the same relationship as in Eq. (3) is established for the rotation matrix R.
Figure 0007035657000004

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 arm 160 and the rotation angle, which is the amount of movement of each joint, are determined. .. In other words, this transformation R Σ W is a computable transformation.

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 hand eye 175. In general, finding the transformation matrix between the camera installation site coordinate system and the camera coordinate system Σ C corresponds to the calibration of the hand eye 175.

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 calibration jig 400 with the hand eye 175, acquiring a calibration pattern image, and performing image processing on the calibration pattern image. The process of estimating this transformation C Σ J can be performed using the camera calibration functions of OpenCV and MATLAB, which are standard software for calibrating cameras.

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ΣWWΣCCΣJJΣRを順に辿れば最初のロボット座標系ΣRに戻るので、恒等変換Iを用いて以下の式が成立する。

Figure 0007035657000005
If the above transformations R Σ W , W Σ C , C Σ J , and J Σ R are followed in order, the first robot coordinate system Σ R is returned, so the following equation holds using the identity transformation I.
Figure 0007035657000005

(5)式の両辺に、左から各変換の逆行列RΣW -1 , WΣC -1 , CΣJ -1 を順に乗算すれば次式が得られる。

Figure 0007035657000006
The following equation is obtained by multiplying both sides of equation (5) in order from the left by the inverse matrices R Σ W -1 , W Σ C -1 , and C Σ J -1 of each transmutation.
Figure 0007035657000006

(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)式が成立し、次式となる。

Figure 0007035657000007
On the other hand, if the conversion W Σ C is unknown, the right-hand side of Eq. (6) cannot be calculated, and another process is required. For example, considering the two postures i and j of the left arm 160L in FIG. 5, the above equation (5) holds in each of them, and the following equation is obtained.
Figure 0007035657000007

(7a),(7b)式の両辺にそれぞれ右から変換JΣRの逆行列JΣR -1 を乗算すれば次式が得られる。

Figure 0007035657000008
The following equation is obtained by multiplying both sides of equations (7a) and (7b) from the right by the inverse matrix J Σ R -1 of the transformation J Σ R.
Figure 0007035657000008

(8a),(8b)式の右辺は未知ではあるが同じ変換なので、次式が成立する。

Figure 0007035657000009
Although the right-hand side of equations (8a) and (8b) is unknown, they are the same transformation, so the following equation holds.
Figure 0007035657000009

(9)式の両辺に、左からRΣW (j)-1を、右からCΣJ(i)-1を乗算すると次式となる。

Figure 0007035657000010
Multiplying both sides of equation (9) by R Σ W (j) -1 from the left and C Σ J (i) -1 from the right gives the following equation.
Figure 0007035657000010

ここで、(10)式の左辺と右辺の中括弧{ }の中の変換の積をそれぞれA,Bと書き、未知の変換WΣCをXと書くと、次式が得られる。

Figure 0007035657000011
Here, if the product of the transformations in the curly braces {} on the left and right sides of equation (10) is written as A and B, respectively, and the unknown transformation W Σ C is written as X, the following equation is obtained.
Figure 0007035657000011

これは、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 hand eye 175 is rotated around the coordinate axis of a specific reference coordinate system by utilizing the fact that the arm 160 in which the hand eye 175 is installed can be arbitrarily controlled. The calibration jig 400 is photographed with the hand eye 175 at the rotation position of the above to acquire a plurality of calibration pattern images, and the external parameters of the hand eye 175 are estimated using these plurality of calibration pattern images.

図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 arm 160 is simplified and drawn. In the embodiment, a reference coordinate system Σ B having a relative position and orientation known to the control device 200 is used with respect to the robot coordinate system Σ R. This reference coordinate system Σ B is a coordinate system that is conveniently set for calibrating the hand eye 175, and is set at any position as long as it has a known relative position and orientation with respect to the robot coordinate system Σ R. You may. For example, the robot coordinate system Σ R itself may be used as the reference coordinate system Σ B. As will be described later, in the calibration process of the hand eye 175, the arm 160 is controlled so that the hand eye 175 takes a plurality of rotation positions rotated around each coordinate axis of the reference coordinate system Σ B , and at each rotation position. The calibration pattern image of the calibration jig 400 is acquired. Therefore, it is more convenient to provide the reference coordinate system Σ B at a position different from that of the robot coordinate system Σ R. In the following description, an example in which the reference coordinate system Σ B is set at a position different from that of the robot coordinate system Σ R will be described. However, even if the reference coordinate system Σ B is the same coordinate system as the robot coordinate system Σ R , the processing contents are the same. As can be understood from FIG. 6, the embodiment described below is applicable not only to the dual-arm robot but also to the single-arm robot. Further, since it is not necessary to move the calibration jig 400, it is not necessary to hold the calibration jig 400 by the robot arm, and the calibration jig 400 can be installed at any place.

図6に示した座標系間の変換に関しては、恒等変換Iを用いて以下の式が成立する。

Figure 0007035657000012
For the transformation between the coordinate systems shown in FIG. 6, the following equation holds using the identity transformation I.
Figure 0007035657000012

上記(12)式の右辺のうち、カメラ座標系ΣCと、カメラ設置部位座標系としての手首座標系ΣWの間の変換CΣWが、校正で求めるべきハンドアイ175の外部パラメーターである。(12)式は以下のように変形できる。

Figure 0007035657000013
Of the right side of the above equation (12), the conversion C Σ W between the camera coordinate system Σ C and the wrist coordinate system Σ W as the camera installation site coordinate system is the external parameter of the hand eye 175 to be obtained by calibration. .. Equation (12) can be modified as follows.
Figure 0007035657000013

上記(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 hand eye 175 described below, this conversion J Σ B is obtained, and the conversion C Σ W , which is an external parameter of the hand eye 175, is determined according to the above equation (13).

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 hand eye 175. The calibration process described below is executed in cooperation with the arm control unit 211, the camera control unit 212, and the camera calibration execution unit 213 shown in FIG. That is, the operation of changing the hand eye 175 to a plurality of positions and postures is realized by the arm control unit 211 controlling the arm 160. Further, the image pickup by the hand eye 175 is controlled by the camera control unit 212. The external parameters of the hand eye 175 are determined by the camera calibration execution unit 213. Further, in determining the external parameters of the hand eye 175, estimation of various matrices and vectors is performed by the transformation matrix estimation unit 214. It is assumed that the internal parameters of the hand eye 175 are predetermined before the calibration process of FIG. 7.

ステップS120では、アーム160を用いて、ハンドアイ175を基準座標系ΣBの座標原点を回転中心として3つの座標軸の回りにそれぞれ回転させた複数の回転位置で停止させ、複数の回転位置において校正ジグ400をハンドアイ175で撮影する。以下では、校正ジグ400をハンドアイ175で撮像して得られた画像を「校正パターン画像」と呼ぶ。 In step S120, the arm 160 is used to stop the hand eye 175 at a plurality of rotation positions rotated around the three coordinate axes with the coordinate origin of the reference coordinate system Σ B as the rotation center, and calibrate at the plurality of rotation positions. The jig 400 is photographed with the hand eye 175. Hereinafter, the image obtained by imaging the calibration jig 400 with the hand eye 175 is referred to as a “calibration pattern image”.

図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ΣW1),変換BΣW2)も同様に算出可能である。 FIG. 8 is an explanatory diagram showing a state in which the hand eye 175 is rotated to a plurality of rotation positions in step S120, and FIG. 9 is an explanatory diagram showing a calibration pattern image taken by the hand eye 175 at each rotation position. be. In FIG. 8, the three coordinate axes of the reference coordinate system Σ B are the X axis, the Y axis, and the Z axis, and by rotating the hand eye 175 around the coordinate axis X, the arm 160 is stationary at the three rotation positions. Is controlled. The central position of the three rotation positions is the basic rotation position, and the other two rotation positions are the positions rotated by the rotation angles φ1 and φ2 from the basic rotation position. The rotation angle at the basic rotation position is defined as zero. The transformation B Σ W (0) between the reference coordinate system Σ B and the wrist coordinate system Σ W at the basic rotation position can be calculated from forward kinematics. The transformation B Σ W1 ) and the transformation B Σ W2 ) at other rotation positions can be calculated in the same manner.

図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 calibration jig 400 at a plurality of rotation positions in which the hand eye 175 is rotated around each axis. The basic rotation positions on the three coordinate axes may be the same.

なお、基本回転位置は、少なくとも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 hand eye 175. In this way, it is possible to more accurately determine the external parameters of the hand eye 175 over the imaging range. When setting multiple basic rotation positions, a calibration pattern image at each basic rotation position and a plurality of calibration patterns at multiple rotation positions rotated around each of the three coordinate axes X, Y, Z from each basic rotation position. Each image is captured.

校正ジグ400は、例えば、黒丸を格子状に配置した校正パターンを有する。但し、校正ジグ400は、図9のように白丸を格子状に配置した校正パターンを使用してもよいし、チェッカーボードパターンのような他の校正パターンを使用してもよい。校正ジグ座標系ΣJの座標原点は、校正ジグ400上の予め定められた位置にある。 The calibration jig 400 has, for example, a calibration pattern in which black circles are arranged in a grid pattern. However, the calibration jig 400 may use a calibration pattern in which white circles are arranged in a grid pattern as shown in FIG. 9, or another calibration pattern such as a checkerboard pattern may be used. The coordinate origin of the calibration jig coordinate system Σ J is at a predetermined position on the calibration jig 400.

ステップ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 matrix estimation unit 214 estimates the transformation J Σ B between the calibration jig coordinate system Σ J and the reference coordinate system Σ B using the plurality of calibration pattern images captured in step S120. It is a process to do. That is, in step S140, the rotation matrix J R B constituting the transformation J Σ B is estimated, in step S160 the translation vector J T B constituting the transformation J Σ B is estimated, and in step S180, the rotation matrix J R B is translated. Find the transformation J Σ B by combining the vectors J T B. The detailed procedure of steps S140 and S160 will be described later. In step S200, the transformation matrix estimation unit 214 uses the transformation J Σ B obtained in step S180 to obtain the transformation C Σ W , which is an external parameter of the hand eye 175, according to the above equation (13).

図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)を推定する。

Figure 0007035657000014
In step S145, the rotation matrix R (φj) is estimated according to the following equation using the two transformations C Σ J (0) and C Σ J (φj) obtained in steps S142 and S144.
Figure 0007035657000014

上記(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)に変換できる。

Figure 0007035657000015
ここで、n0,n1,n2は、回転軸の方向を示す単位ベクトルを表す3軸のベクトル成分である。すなわち、「回転ベクトルRod」は、回転軸の方向をベクトル方向とし、回転の角度をベクトル長さとするベクトルである。回転行列R(φj)から回転ベクトルRod(φj)への変換は、例えば、OpenCVの関数「Rodrigues2」を用いて実行することが可能である。 In general, arbitrary rotation around three axes of the coordinate system is often expressed by a rotation matrix or three Euler angles, but instead, it is expressed by one rotation axis and the rotation angle around the rotation axis. It is also possible to do. Using the latter expression, the rotation matrix R (φj) can be transformed into the rotation vector Rod (φj) given by the following equation.
Figure 0007035657000015
Here, n 0 , n 1 , and n 2 are three-axis vector components representing a unit vector indicating the direction of the rotation axis. That is, the "rotation vector Rod" is a vector whose rotation axis direction is the vector direction and the rotation angle is the vector length. The conversion from the rotation matrix R (φj) to the rotation vector Rod (φj) can be performed, for example, by using the OpenCV function “Rodrigues2”.

上述したように、回転行列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で表現される。

Figure 0007035657000016
By repeating steps S143 to S146, rotation vectors Rod X (φj), Rod Y (φj), and Rod Z (φj) representing rotations around each axis can be obtained. These rotation vectors Rod X (φj), Rod Y (φj), Rod Z (φj) are the coordinate axes X, Y, of the reference coordinate system Σ B seen from the calibration jig coordinate system Σ J , as shown in the following equation. It is expressed by 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 indicating the direction of Z.
Figure 0007035657000016

ステップS147では、次式に示すように、座標軸X,Y,Zの方向を示す座標軸ベクトルを列成分として配列することによって、校正ジグ座標系ΣJから基準座標系ΣBへの回転行列JRBを得ることができる。

Figure 0007035657000017
In step S147, as shown in the following equation, the rotation matrix JR from the calibration jig coordinate system Σ J to the reference coordinate system Σ B is arranged by arranging the coordinate axis vectors indicating the directions of the coordinate axes X, Y, Z as column components. You can get B.
Figure 0007035657000017

なお、回転行列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 hand eye 175 is rotated around each of the three coordinate axes of the reference coordinate axis Σ B as the rotation center. Using images, it is possible to obtain the rotation matrix J R B , which is a component of the conversion matrix J Σ B of the calibration jig coordinate system Σ J and the reference coordinate system Σ B. In particular, in the rotation matrix estimation process of FIG. 10, three rotation vectors having the direction of each coordinate axis of the reference coordinate system Σ B as the vector direction and the rotation angle as the vector length from the calibration pattern images captured at a plurality of rotation positions. Is estimated, and the rotation matrix J R B is determined by arranging these three rotation vectors as row components or column components. Therefore, it is possible to easily obtain the rotation matrix J R 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.

図11は、図7のステップS160における並進ベクトルJTBの推定に使用するベクトルdを示す説明図である。ここでは、図8に示した基本回転位置おける基準座標系ΣB(0)と校正ジグ座標系ΣJ(0)を実線で示し、基本回転位置から回転角φ1だけ回転させた回転位置における基準座標系ΣB1)と校正ジグ座標系ΣJ1)を示している。但し、これらの座標系は、ハンドアイ175を固定した視点で見た状態を示している。これらの2つの回転位置におけるカメラ座標系ΣCと校正ジグ座標系ΣJの間の変換をCΣJ(0), CΣJ1)とし、これらの変換CΣJ(0), CΣJ1)の並進ベクトル成分をCTJ(0), CTJ1)とする。このとき、2つの回転位置における校正ジグ座標系ΣJ(0),ΣJ1)の座標原点の差を表す差ベクトルdは、2つの並進ベクトルCTJ(0), CTJ1)を用いて次式で与えられる。

Figure 0007035657000018
FIG. 11 is an explanatory diagram showing a vector d used for estimating the translation vector J T B in step S160 of FIG. 7. Here, the reference coordinate system Σ B (0) and the calibration jig coordinate system Σ J (0) at the basic rotation position shown in FIG. 8 are shown by solid lines at the rotation position rotated by the rotation angle φ 1 from the basic rotation position. The reference coordinate system Σ B1 ) and the calibration jig coordinate system Σ J1 ) are shown. However, these coordinate systems show a state in which the hand eye 175 is viewed from a fixed viewpoint. The transformation between the camera coordinate system Σ C and the calibration jig coordinate system Σ J at these two rotation positions is C Σ J (0), C Σ J1 ), and these transformations C Σ J (0), Let the translational vector components of C Σ J1 ) be C T J (0), C T J1 ). At this time, the difference vector d representing the difference between the coordinate origins of the calibration jig coordinate systems Σ J (0) and Σ J1 ) at the two rotation positions is the two translation vectors C T J (0), C T J. It is given by the following equation using (φ 1 ).
Figure 0007035657000018

図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の非直交成分を補正することが好ましい。この補正は、次式で与えられる。

Figure 0007035657000019
ここで、ベクトルd*は非直交成分の補正後の差ベクトルdを示し、ベクトルnは回転軸ベクトルを示す。 In step S167, the non-orthogonal component of the difference vector d is corrected. As shown in FIG. 11, the difference vector d is on the YZ plane of the reference coordinate system Σ B. Therefore, the rotation axis vector [n X0 , n X1 , n X2 ] T of the coordinate axis X obtained by the rotation matrix estimation process described with reference to FIG. 10 should be orthogonal to the difference vector d. However, depending on the situation such as error, the two may not actually be orthogonal to each other. Therefore, it is preferable to correct the non-orthogonal component of the difference vector d obtained in step S165. This correction is given by the following equation.
Figure 0007035657000019
Here, the vector d * indicates the difference vector d after the correction of the non-orthogonal component, and the vector n indicates the rotation axis vector.

但し、差ベクトル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 は、次式で算出できる。

Figure 0007035657000020
In step S167, the inter-coordinate distance Li projected onto the plane orthogonal to the i-th coordinate axis is obtained from the difference vector d and the rotation angle φ j . In the example of FIG. 11, the i-th coordinate axis is the X axis, and the plane orthogonal to the X axis is the YZ plane. “Coordinate distance Li” means the distance between the coordinate origin of the reference coordinate system Σ B and the coordinate origin of the calibration jig coordinate system Σ J. The distance between coordinates Li can be calculated by the following equation.
Figure 0007035657000020

ステップ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を算出する。この演算は、次式で与えられる。

Figure 0007035657000021
In step S168, the components r 0 , r 1 , r of the translational vectors J T B of the calibration jig coordinate system Σ J and the reference coordinate system Σ B are used using the coordinate distances L 0 , L 1 , and L 2 thus obtained. Calculate 2 . This operation is given by the following equation.
Figure 0007035657000021

ステップ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 hand eye 175 is rotated around each of the three coordinate axes of the reference coordinate axis Σ B as the rotation center. Using the image, it is possible to obtain the translation vector J T B , which is a component of the transformation matrix J Σ B of the calibration jig coordinate system Σ J and the reference coordinate system Σ B.

特に、図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 S 160. It is possible to find the matrix J Σ B. Further, using this transformation matrix J Σ B , the transformation matrix C Σ W , which is an external parameter of the hand eye 175, can be determined according to the above equation (13).

以上のように、本実施形態では、基準座標系ΣBの3つの座標軸の各座標軸を回転中心としてハンドアイ175をそれぞれ回転させて複数の回転位置で停止させるようにアーム160を動作させ、これらの複数の回転位置において校正ジグ400の校正パターン画像を取得し、複数の回転位置で撮像された校正パターン画像を用いてハンドアイ175の外部パラメーターとしての変換行列CΣWを決定することが可能である。この結果、カメラ座標系ΣCとロボット座標系ΣBの間の座標変換を計算可能なカメラの外部パラメーターが得られるので、ハンドアイ175を用いた対象物の位置検出を行うことが可能となる。 As described above, in the present embodiment, the arm 160 is operated so as to rotate the hand eye 175 around each of the three coordinate axes of the reference coordinate system Σ B as the rotation center and stop at a plurality of rotation positions. It is possible to acquire the calibration pattern image of the calibration jig 400 at multiple rotation positions and determine the conversion matrix C Σ W as an external parameter of the hand eye 175 using the calibration pattern images captured at multiple rotation positions. Is. As a result, since the external parameters of the camera that can calculate the coordinate transformation between the camera coordinate system Σ C and the robot coordinate system Σ B can be obtained, it is possible to detect the position of the object using the hand eye 175. ..

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.
請求項1に記載の制御装置であって、
前記カメラ校正実行部は、
(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.
請求項2に記載の制御装置であって、
前記カメラ校正実行部は、前記回転行列推定処理において、
前記複数の回転位置で撮像された前記校正パターン画像から、前記基準座標系の各座標軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする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.
請求項2又は3に記載の制御装置であって、
前記カメラ校正実行部は、前記基準座標系の各座標軸に関して、
(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のいずれか一項に記載の制御装置に接続されたロボット。 A robot connected to the control device according to any one of claims 1 to 5. ロボットと、
前記ロボットに接続された請求項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.
JP2018047377A 2018-03-15 2018-03-15 Robot control device, robot, robot system, and camera calibration method Active JP7035657B2 (en)

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)

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

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

Patent Citations (2)

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