JP2019155556A - ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法 - Google Patents

ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法 Download PDF

Info

Publication number
JP2019155556A
JP2019155556A JP2018047377A JP2018047377A JP2019155556A JP 2019155556 A JP2019155556 A JP 2019155556A JP 2018047377 A JP2018047377 A JP 2018047377A JP 2018047377 A JP2018047377 A JP 2018047377A JP 2019155556 A JP2019155556 A JP 2019155556A
Authority
JP
Japan
Prior art keywords
coordinate system
camera
calibration
robot
coordinate
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.)
Granted
Application number
JP2018047377A
Other languages
English (en)
Other versions
JP7035657B2 (ja
Inventor
稲積 満広
Mitsuhiro Inazumi
満広 稲積
貴彦 野田
Takahiko Noda
貴彦 野田
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/ja
Publication of JP2019155556A publication Critical patent/JP2019155556A/ja
Application granted granted Critical
Publication of JP7035657B2 publication Critical patent/JP7035657B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】ロボットのアームに設置されたカメラの校正を容易に行うことのできる技術を提供する。【解決手段】アーム制御部は、アームを動作させ、ロボットのロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心としてカメラを回転させて複数の回転位置で停止させる。カメラ制御部は、複数の回転位置において校正ジグの校正パターンをカメラに撮像させる。カメラ校正実行部は、複数の回転位置で撮像された校正パターン画像を用いて、校正ジグの校正ジグ座標系における座標と基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて外部パラメーターを決定する。【選択図】図5

Description

本発明は、ロボットのカメラの校正に関するものである。
ロボットに高度な処理を行わせるために、ロボットにカメラを設置して眼の機能を持たせる場合がある。カメラの設置方法として、カメラをロボットアームとは独立して設置する方法と、カメラをロボットアームに設置する方法とがある。ロボットアームに設定されたカメラは、「ハンドアイ」と呼ばれている。ハンドアイは、より広い視野を得ることができ、また作業する手先部の視野が確保できるなどの利点がある。
特許文献1には、アームに設置されたカメラを利用したロボットシステムにおける座標系の校正方法が記載されている。特許文献1にも記載されているように、アームに設置されたカメラを利用する場合には、カメラ座標系とロボット座標系の間の未知の変換行列Xに関していわゆるAX=XB問題を解く必要があり、カメラの校正が困難であるという課題がある。AX=XB問題の解法には、非線形最適化処理が必要であり、また、最適解が与えられる保証がない。AX=XB問題を回避するため、特許文献1では、ロボットの動きに制限を加えることにより、座標系の変換行列を求める問題を線形化する技術が記載されている。
特開2012−91280号公報
しかしながら、上記特許文献1に記載された技術では、処理結果として得られる変換行列が、画像を用いた校正ジグの位置推定の精度に依存するという課題がある。すなわち、校正ジグの位置推定の精度を上げるためには、ロボットの動きが大きい方が有利であるが、ロボットの大きな動きは、動きの精度が低くなるという問題がある。一方、ロボットの動きの精度を上げようとすれば、動きを小さくするのが好ましいが、この場合は画像を用いた校正パターンの位置推定の精度が低くなるという問題がある。そこで、特許文献1とは異なる方法で、アームに設置されたカメラの校正を容易に行うことのできる技術が望まれている。
本発明の一形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させる。前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させる。前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。
ロボットシステムの概念図。 複数のプロセッサーを有する制御装置の一例を示す概念図。 複数のプロセッサーを有する制御装置の他の例を示す概念図。 ロボットと制御装置の機能を示すブロック図。 ロボットの座標系を示す説明図。 ハンドアイの校正処理で使用するロボットの座標系を示す説明図。 ハンドアイの校正処理の手順を示すフローチャート。 ハンドアイを複数の回転位置に回転させた状態を示す説明図。 複数の回転位置で撮影された校正パターン画像の例を示す説明図。 回転行列推定処理の詳細手順を示すフローチャート。 並進ベクトルの推定に使用するベクトルdを示す説明図。 並進ベクトル推定処理の詳細手順を示すフローチャート。
A. ロボットシステムの構成
図1は、一実施形態におけるロボットシステムの概念図である。このロボットシステムは、ロボット100と、ロボット100に接続された制御装置200とを備えている。このロボット100は、カメラで作業対象を認識し、自在に力を加減して、自律的に判断しながら作業を行える自律型ロボットである。また、ロボット100は、予め作成された教示データに従って作業を実行するティーチングプレイバックロボットとして動作することも可能である。
ロボット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」とも呼ぶ。
アーム160L,160Rの手首部には、更に、力覚センサー190L,190Rが設けられている。力覚センサー190L,190Rは、ハンド180L,180Rがワークに及ぼしている力に対する反力やモーメントを検出するセンサーである。力覚センサー190L,190Rとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサー190L,190Rは省略可能である。
アーム160L,160Rと、カメラ170L,170Rと、ハンドアイ175L、175Rと、ハンド180L,180Rと、力覚センサー190L,190Rの符号の末尾に付された「L」「R」の文字は、それぞれ「左」「右」を意味する。これらの区別が不要の場合には、「L」「R」の文字を省略した符号を使用して説明する。
制御装置200は、プロセッサー210と、メインメモリー220と、不揮発性メモリー230と、表示制御部240と、表示部250と、I/Oインターフェース260とを有している。これらの各部は、バスを介して接続されている。プロセッサー210は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置200は、I/Oインターフェース260を介してロボット100に接続される。なお、制御装置200をロボット100の内部に収納してもよい。
制御装置200の構成としては、図1に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー210とメインメモリー220を図1の制御装置200から削除し、この制御装置200と通信可能に接続された他の装置にプロセッサー210とメインメモリー220を設けるようにしてもよい。この場合には、当該他の装置と制御装置200とを合わせた装置全体が、ロボット100の制御装置として機能する。他の実施形態では、制御装置200は、2つ以上のプロセッサー210を有していてもよい。更に他の実施形態では、制御装置200は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置200は、1つ以上のプロセッサー210を備える装置又は装置群として構成される。
図2は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100及びその制御装置200の他に、パーソナルコンピューター510,520と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター510,520は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス500においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
図3は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット100の制御装置200が、ロボット100の中に格納されている点が図2と異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
図4は、ロボット100と制御装置200の機能を示すブロック図である。制御装置200のプロセッサー210は、不揮発性メモリー230に予め格納された各種のプログラム命令231を実行することにより、アーム制御部211と、カメラ制御部212と、カメラ校正実行部213との機能をそれぞれ実現する。カメラ校正実行部213は、変換行列推定部214を有している。但し、これらの各部211〜214の機能の一部又は全部をハ―ドウェア回路で実現しても良い。これらの各部211〜214の機能については後述する。
不揮発性メモリー230には、プログラム命令231の他に、カメラ内部パラメーター232とカメラ外部パラメーター233とが格納される。これらのパラメーター232,233は、固定カメラ170のパラメーターと、ハンドアイ175のパラメーターをそれぞれ含んでいる。なお、本実施形態では、固定カメラ170の内部パラメーターと外部パラメーターは制御装置200にとって既知であるものと仮定する。また、ハンドアイ175の内部パラメーターは既知であり、外部パラメーターは未知であるものと仮定する。後述する校正処理では、ハンドアイ175の外部パラメーターが生成される。内部パラメーター232と外部パラメーター233の内容については更に後述する。
B. ロボットの座標系と座標変換
図5は、ロボット100のアーム160の構成と各種の座標系を示す説明図である。2つのアーム160L,160Rのそれぞれには、7つの関節J1〜J7が設けられている。関節J1,J3,J5,J7はねじり関節であり、関節J2,J4,J6は曲げ関節である。なお、図1の胴部120と肩部130の間にはねじり関節が設けられているが、図5では図示が省略されている。個々の関節には、それらを動作させるためのアクチュエーターと、回転角度を検出するための位置検出器とが設けられている。
アーム160の手先には、ツール中心点TCP(Tool Center Point)が設定されている。典型的には、ロボット100の制御は、ツール中心点TCPの位置姿勢を制御するために実行される。なお、位置姿勢(position and orientation)とは、3次元の座標系における3つ座標値と、各座標軸回りの回転とで規定される状態を意味する。
アーム160L,160Rには、校正ジグ400を予め定めた設置状態で設置可能である。図5の例では、左アーム160Lのハンドアイ175の校正に使用される校正ジグ400が、右アーム160Rの手先部に固定されている。校正ジグ400を右アーム160Rに取り付ける際には、右アーム160Rのハンド180Rを取り外すようにしてもよい。左アーム160Lのハンド180Lも同様である。後述するように、校正ジグ400をアーム160に取り付ける必要は無く、床面等に設置してもよい。但し、校正ジグ400をアーム160のハンド180に取り付られるようにすれば、ハンドアイ175やカメラ170の校正が容易になるという利点がある。
実施形態におけるハンドアイ175の校正は、ハンドアイ175の内部パラメーターと外部パラメーターのうち、外部パラメーターを推定する処理である。内部パラメーターは、ハンドアイ175及びそのレンズ系の固有のパラメーターであり、例えば射影変換パラメーターや歪パラメーターなどを含んでいる。ハンドアイ175の内部パラメーターは、校正ジグ400を複数の位置姿勢で撮影して得られる複数の校正パターン画像を用いて、カメラの校正を行う標準的なソフトウェアであるOpenCVやMATLABのカメラキャリブレーション関数を用いて実行可能である。以下では、ハンドアイ175の内部パラメーターは予め決定されているものと仮定する。ハンドアイ175の外部パラメーターは、ハンドアイ175のカメラ座標系ΣCとロボット100のロボット座標系ΣRの間の相対的な位置姿勢を計算する際に使用されるパラメーターである。
図5には、ロボット100に関する座標系として、以下の座標系が描かれている。
(1)ロボット座標系ΣR:ロボット100の基準点を座標原点とする座標系
(2)手首座標系ΣW:アーム160の手首を座標原点とする座標系
(3)校正ジグ座標系ΣJ:校正ジグ400上の所定の位置を座標原点とする座標系
(4)カメラ座標系ΣC:ハンドアイ175に設定された座標系
なお、本明細書で使用する各座標系は、直交する3つの座標軸を有する直交座標系である。
手首座標系ΣWは、アーム160のうちでハンドアイ175が設置されたアーム部分の座標系である。但し、ハンドアイ175は、アーム160の手首部以外の部分に設置してもよい。また、ハンドアイ175は、アーム160に着脱可能な状態で設置されていてもよい。ハンドアイ175が設定されているアーム部分を「カメラ設置部位」とも呼ぶ。手首座標系ΣWは、アーム160のカメラ設置部位に設定されたカメラ設置部位座標系の一種である。手首座標系ΣWとカメラ座標系ΣCは、2つのハンドアイ175L,175Rにそれぞれ別個に設定される。以下の説明では、左アーム160Lのハンドアイ175Lを校正対象とするので、手首座標系ΣW及びカメラ座標系ΣCとして左アーム160L用の座標系を使用する。なお、図5では、図示の便宜上、校正ジグ座標系ΣJの原点が実際の位置からずれた位置に描かれている。
一般に、或る座標系ΣAから他の座標系ΣBへの変換、又は、これらの座標系での位置姿勢の変換は、以下に示す同次変換行列AΣB(Homogeneous transformation matrix)で表現される。
ここで、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の基底ベクトルの成分と原点位置を表すものと考えることも可能である。
変換AΣBの逆行列AΣB -1(=BΣA)は、次式で与えられる。
回転行列Rは、以下の重要な性質を有する。
<回転行列Rの性質1>
回転行列Rは正規直交行列であり、その逆行列R-1は転置行列RTに等しい。
<回転行列Rの性質2>
回転行列Rの3つの列成分Rx,Ry,Rzは、元の座標系ΣAで見た回転後の座標系ΣBの3つの基底ベクトルの成分に等しい。
或る座標系ΣAに変換AΣBBΣCを順次施す場合に、合成された変換AΣCは各変換AΣBBΣCを順次右側に乗じたものとなる。
また、回転行列Rに関しても(3)式と同様の関係が成立する。
C. 座標変換のAX=XB問題
図5において、座標系ΣR,ΣW,ΣC,ΣJの間には、以下の変換が成立する。
(1)変換RΣW:ロボット座標系ΣRから手首座標系ΣWへの変換
(2)変換WΣC:手首座標系ΣWからカメラ座標系ΣCへの変換
(3)変換CΣJ:カメラ座標系ΣCから校正ジグ座標系ΣJへの変換
(4)変換JΣR:校正ジグ座標系ΣJからロボット座標系ΣRへの変換
1番目の変換RΣWは、ロボット座標系ΣRから手首座標系ΣWへの変換である。通常、ロボット座標系ΣRに対するアームの各部位の位置姿勢を求める処理はフォワードキネマティクスと呼ばれ、アーム160の幾何学的な形状と各関節の動作量である回転角度が定まれば計算できる。つまり、この変換RΣWは計算可能な変換である。
2番目の変換WΣCは、手首座標系ΣWからカメラ座標系ΣCへの変換である。この変換WΣCは未知であり、この変換WΣCを求めることがハンドアイ175の校正に相当する。一般には、カメラ設置部位座標系とカメラ座標系ΣCの間の変換行列を求めることが、ハンドアイ175の校正に相当する。
3番目の変換CΣJは、カメラ座標系ΣCから校正ジグ座標系ΣJへの変換である。この変換CΣJは、ハンドアイ175によって校正ジグ400を撮影して校正パターン画像を取得し、その校正パターン画像に対して画像処理を行うことによって推定できる。この変換CΣJを推定する処理は、カメラの校正を行うための標準的なソフトウェアであるOpenCVやMATLABのカメラキャリブレーション関数を用いて実行可能である。
4番目の変換JΣRは、校正ジグ座標系ΣJからロボット座標系ΣRへの変換である。この変換JΣRは未知である。
上記の変換RΣWWΣCCΣJJΣRを順に辿れば最初のロボット座標系ΣRに戻るので、恒等変換Iを用いて以下の式が成立する。
(5)式の両辺に、左から各変換の逆行列RΣW -1 , WΣC -1 , CΣJ -1 を順に乗算すれば次式が得られる。
(6)式において、変換CΣJはカメラキャリブレーション関数を用いて推定でき、変換RΣWは計算可能である。従って、変換WΣCが既知であれば、右辺は計算可能であり、左辺の変換JΣRを知ることができる。
一方、変換WΣCが未知であれば、(6)式の右辺は計算できず、別の処理が必要となる。例えば、図5において左アーム160Lの2つの姿勢i,jを考えれば、それぞれにおいて上記(5)式が成立し、次式となる。
(7a),(7b)式の両辺にそれぞれ右から変換JΣRの逆行列JΣR -1 を乗算すれば次式が得られる。
(8a),(8b)式の右辺は未知ではあるが同じ変換なので、次式が成立する。
(9)式の両辺に、左からRΣW (j)−1を、右からCΣJ(i)−1を乗算すると次式となる。
ここで、(10)式の左辺と右辺の中括弧{ }の中の変換の積をそれぞれA,Bと書き、未知の変換WΣCをXと書くと、次式が得られる。
これは、AX=XB問題として良く知られた処理であり、未知の行列Xを解くためには非線形の最適化処理が必要となる。しかし、この非線形最適化処理には、最適な解に収束する保証が無いと言う問題がある。
以下に詳述するように、実施形態では、ハンドアイ175が設置されたアーム160を任意に制御可能であることを利用し、ハンドアイ175を特定の基準座標系の座標軸回りに回転させた複数の回転位置において校正ジグ400をハンドアイ175で撮影して複数の校正パターン画像を取得し、これらの複数の校正パターン画像を用いてハンドアイ175の外部パラメーターを推定する。
図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をロボットアームで保持する必要はなく、任意の場所に設置可能である。
図6に示した座標系間の変換に関しては、恒等変換Iを用いて以下の式が成立する。
上記(12)式の右辺のうち、カメラ座標系ΣCと、カメラ設置部位座標系としての手首座標系ΣWの間の変換CΣWが、校正で求めるべきハンドアイ175の外部パラメーターである。(12)式は以下のように変形できる。
上記(13)式の右辺の変換のうちで、校正ジグ座標系ΣJと基準座標系ΣBの間の変換JΣBのみが未知であり、他の変換は既知又は推定可能である。そこで、以下で説明するハンドアイ175の校正処理では、この変換JΣBを求め、上記(13)式に従ってハンドアイ175の外部パラメーターである変換CΣWを決定する。
D. 実施形態の校正処理手順
図7は、ハンドアイ175の校正処理の手順を示すフローチャートである。以下で説明する校正処理は、図4に示したアーム制御部211と、カメラ制御部212と、カメラ校正実行部213とが協調して実行される。すなわち、ハンドアイ175を複数の位置姿勢に変更する動作は、アーム制御部211がアーム160を制御することによって実現される。また、ハンドアイ175による撮像は、カメラ制御部212によって制御される。ハンドアイ175の外部パラメーターは、カメラ校正実行部213によって決定される。また、ハンドアイ175の外部パラメーターの決定において、各種の行列やベクトルの推定は、変換行列推定部214によって行われる。なお、ハンドアイ175の内部パラメーターは、図7の校正処理の前に予め決定されているものと仮定する。
ステップS120では、アーム160を用いて、ハンドアイ175を基準座標系ΣBの座標原点を回転中心として3つの座標軸の回りにそれぞれ回転させた複数の回転位置で停止させ、複数の回転位置において校正ジグ400をハンドアイ175で撮影する。以下では、校正ジグ400をハンドアイ175で撮像して得られた画像を「校正パターン画像」と呼ぶ。
図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)も同様に算出可能である。
図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つの座標軸における基本回転位置は、同一としてもよい。
なお、基本回転位置は、少なくとも1つ設定すれば良いが、ハンドアイ175の撮像範囲のほぼ全体にわたるように複数の基本回転位置を設定することが好ましい。こうすれば、ハンドアイ175の撮像範囲に亘ってその外部パラメーターをより正確に決定することが可能である。基本回転位置を複数設定する場合には、各基本回転位置における校正パターン画像と、各基本回転位置から3つの座標軸X,Y,Zの回りにそれぞれ回転させた複数の回転位置における複数の校正パターン画像とがそれぞれ撮像される。
校正ジグ400は、例えば、黒丸を格子状に配置した校正パターンを有する。但し、校正ジグ400は、図9のように白丸を格子状に配置した校正パターンを使用してもよいし、チェッカーボードパターンのような他の校正パターンを使用してもよい。校正ジグ座標系ΣJの座標原点は、校正ジグ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を求める。
図10は、図7のステップS140における回転行列JRBの推定処理の詳細手順を示すフローチャートである。図8及び図9で説明したように、ステップS140の前には、基準座標系ΣBの3つの座標軸のそれぞれについて、基本回転位置での校正パターン画像と、1つ以上の他の回転位置での校正パターン画像とが取得されている。
ステップS141では、基準座標系ΣBの3つの座標軸について、ステップS142〜S146の処理がすべて終了したか否かが判定される。終了した場合には後述するステップS147に進み、終了していなければ処理対象とする座標軸を選択してステップS142に進む。
ステップS142では、処理対象とする座標軸回りの複数の回転位置のうち、基本回転位置におけるカメラ座標系ΣCと校正ジグ座標系ΣJの変換CΣJ(0)を求める。この変換CΣJ(0)の括弧内の「0」は回転角度を示す。この変換CΣJ(0)は、基本回転位置における校正パターン画像から、カメラの外部パラメーターを推定する標準的なソフトウェアであるOpenCVの関数「FindExtrinsicCameraParams2」等を用いて推定することが可能である。
ステップS143では、処理対象とする座標軸について、ステップS144〜S146の処理がすべて終了したか否かが判定される。終了していればステップS141に戻り、終了していなければ処理対象とする回転角度φjを選択してステップS144に進む。以下では主として基準座標系ΣBのX軸を処理対象とした場合についてステップS144〜S146の処理を説明する。
ステップS144では、回転角度φjにおける変換CΣJ(φj)を求める。この変換CΣJ(φj)も、回転角度φjにおける校正パターン画像から、カメラの外部パラメーターを推定する標準的なソフトウェアを用いて推定することが可能である。
ステップS145では、ステップS142,S144で得られた2つの変換CΣJ(0),CΣJ(φj)を用いて、次式に従って回転行列R(φj)を推定する。
上記(14a)式において、CRJ(0),CRJ(φj)は変換CΣJ(0),CΣJ(φj)の回転行列成分である。また、回転行列R(φj)は、基本回転位置からφjだけ座標系を回転させる回転行列である。(14b)式に示すように、回転行列R(φj)は、基本回転位置における回転行列CRJ(0)の逆行列CRJ(0)-1と、基本回転位置からφjだけ回転させた位置における回転行列CRJ(φj)との積として計算できる。
ステップS146では、回転行列R(φj)から、校正ジグ座標系ΣJから見た基準座標系ΣBのX軸の方向を示す座標軸ベクトル[n0,n1,n2]Tを求める。この計算は、以下のように行われる。
一般に、座標系の3つの軸回りの任意の回転は、回転行列や3つのオイラー角で表現する場合が多いが、その代わりに、1つの回転軸と、その回転軸回りの回転角度とで表現することも可能である。後者の表現を利用すると、回転行列R(φj)は、次式で与えられる回転ベクトルRod(φj)に変換できる。
ここで、n0,n1,n2は、回転軸の方向を示す単位ベクトルを表す3軸のベクトル成分である。すなわち、「回転ベクトルRod」は、回転軸の方向をベクトル方向とし、回転の角度をベクトル長さとするベクトルである。回転行列R(φj)から回転ベクトルRod(φj)への変換は、例えば、OpenCVの関数「Rodrigues2」を用いて実行することが可能である。
上述したように、回転行列R(φj)は、基本回転位置から基準座標系ΣBのX軸の回りにφjだけ座標系を回転させることを表す行列である。従って、回転行列R(φj)と等価な回転ベクトルRod(φj)のベクトル方向は、回転軸の方向、すなわち、校正ジグ座標系ΣJから見た基準座標系ΣBのX軸の方向を示している。
ステップS143〜ステップS146を繰り返すことにより、各座標軸回りの回転を表す回転ベクトルRodX(φj),RodY(φj),RodZ(φj)を得ることができる。これらの回転ベクトルRodX(φj),RodY(φj),RodZ(φj)は、次式に示すように、校正ジグ座標系ΣJから見た基準座標系ΣBの座標軸X,Y,Zの方向を示す座標軸ベクトル[nX0,nX1,nX2]T,[nY0,nY1,nY2]T,[nZ0,nZ1,nZ2]Tで表現される。
ステップS147では、次式に示すように、座標軸X,Y,Zの方向を示す座標軸ベクトルを列成分として配列することによって、校正ジグ座標系ΣJから基準座標系ΣBへの回転行列JRBを得ることができる。
なお、回転行列JRBの逆変換BRJは、回転行列JRBの転置行列に等しい。従って、座標軸ベクトル[nX0,nX1,nX2]T,[nY0,nY1,nY2]T,[nZ0,nZ1,nZ2]Tを列成分として配列する代わりに、行成分として配列すれば、基準座標系ΣBから校正ジグ座標系ΣJへの回転行列BRJを得ることが可能である。
ステップS148では、ステップS147で得られた回転行列JRBを正規直交化する。正規直交化を行う理由は、ステップS143〜S146で得られた3つの座標軸ベクトルは独立に推定されたものであり、また推定には誤差が発生するので、ステップS147で求めた回転行列JRBが正規直交していることが保証されていないからである。一方、回転行列は正規直交行列であることが要求されるので、ステップS147で求めた回転行列JRBが正規直交となるように補正をすることが好ましい。正規直交化を行う方法としては、Gram-Schmidt直交化法やFrobenius法などの任意の方法を用いることが可能である。但し、ステップS147で求められた回転行列JRBが正規直交に十分近いものである場合には、ステップS148は省略可能である。
以上のように、図10に示した回転行列推定処理では、基準座標軸ΣBの3つの座標軸のそれぞれを回転中心としてハンドアイ175をそれぞれ回転させた複数の回転位置で撮影された複数の校正パターン画像を用いて、校正ジグ座標系ΣJと基準座標系ΣBの変換行列JΣBの成分である回転行列JRBを得ることが可能である。特に、図10の回転行列推定処理では、複数の回転位置で撮像された校正パターン画像から、基準座標系ΣBの各座標軸の方向をベクトル方向とし回転の角度をベクトル長さとする3つの回転ベクトルを推定し、これらの3つの回転ベクトルを行成分又は列成分として配列することによって回転行列JRBを決定する。従って、複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系ΣJと基準座標系ΣBの間の回転行列JRBを容易に求めることが可能である。
図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)を用いて次式で与えられる。
図12は、図7のステップS160における並進ベクトルJTBの推定処理の詳細手順を示すフローチャートである。
ステップS161では、基準座標系ΣBの3つの座標軸について、ステップS162〜S167の処理がすべて終了したか否かが判定される。終了した場合には後述するステップS168に進み、終了していなければ処理対象とする座標軸を選択してステップS162に進む。
ステップS162では、処理対象とする座標軸回りの複数の回転位置のうち、基本回転位置におけるカメラ座標系ΣBと校正ジグ座標系ΣJの変換CΣJ(0)を取得する。この変換CΣJ(0)は、図10のステップS142で求められていたものと同じである。
ステップS163では、処理対象とする座標軸について、ステップS164〜S167の処理がすべて終了したか否かが判定される。終了していればステップS161に戻り、終了していなければ処理対象とする回転角度φjを選択してステップS164に進む。以下では主として基準座標系ΣBのX軸を処理対象とした場合についてステップS164〜S167の処理を説明する。
ステップS164では、回転角度φjにおける変換CΣJ(φj)を取得する。この変換CΣJ(φj)は、図10のステップS162で求められていたものと同じである。
ステップS166では、ステップS162,S164で取得された変換CΣJ(0),CΣJ(φj)の並進ベクトル成分を使用して、上述した(18)式に従って差ベクトルdを求める。
ステップS167では、差ベクトルdの非直交成分を補正する。図11に示すように、差ベクトルdは、基準座標系ΣBのYZ平面上にある。従って、図10で説明した回転行列の推定処理で求められた座標軸Xの回転軸ベクトル[nX0,nX1,nX2]Tと、差ベクトルdは直交しているはずである。しかし、誤差などの状況により、実際には両者は直交していない可能性がある。そのため、ステップS165で得られた差ベクトルdの非直交成分を補正することが好ましい。この補正は、次式で与えられる。
ここで、ベクトルd*は非直交成分の補正後の差ベクトルdを示し、ベクトルnは回転軸ベクトルを示す。
但し、差ベクトルdと回転軸ベクトルが十分に直交している場合には、ステップS166は省略可能である。
ステップS167では、差ベクトルdと回転角φj から、i番目の座標軸に直交する平面に投影した座標間距離Li を求める。図11の例では、i番目の座標軸はX軸であり、X軸に直交する平面はYZ平面である。「座標間距離Li 」とは、基準座標系ΣBの座標原点と校正ジグ座標系ΣJの座標原点の間の距離を意味する。座標間距離Li は、次式で算出できる。
ステップS163〜ステップS167を繰り返すことにより、基準座標系ΣBの3つの座標軸をそれぞれ中心に回転したときの座標間距離L0,L1,L2が得られる。
ステップS168では、こうして得られた座標間距離L0,L1,L2を用いて、校正ジグ座標系ΣJと基準座標系ΣBの並進ベクトルJTBの成分r0,r1,r2を算出する。この演算は、次式で与えられる。
ステップS169では、ステップS168で得られた並進ベクトルJTBの成分r0,r1,r2の正負符号を決定する。ステップS168では並進ベクトルJTBの成分r0,r1,r2の絶対値が得られたが、それらの正負符号については任意性がある。3つの成分r0,r1,r2の符号を決定するための方法はいくつか考えられる。例えば、3つの成分r0,r1,r2に対してプラス又はマイナスを設定する組み合わせは全部で8通り存在する。そこで、この8通りの組み合わせを全て試行し、その中で最適な組み合わせを選択することが可能である。この際の最適化の判断方法としては、種々の方法を使用可能である。例えば、図11に示した差ベクトルdの向きと、回転角φ1から符号を決めることができる。或いは、複数の校正パターン画像から得られるカメラ座標系ΣCと手首座標系ΣWの変換CΣWの並進ベクトル成分の分散又は標準偏差が最小となる符号を選択するという方法も使用可能である。後者の方法は、適切な符号の組み合わせを確実に選択できるので、安定性が高いと言う利点がある。
以上のように、図12に示した並進ベクトル推定処理では、基準座標軸ΣBの3つの座標軸のそれぞれを回転中心としてハンドアイ175をそれぞれ回転させた複数の回転位置で撮影された複数の校正パターン画像を用いて、校正ジグ座標系ΣJと基準座標系ΣBの変換行列JΣBの成分である並進ベクトルJTBを得ることが可能である。
特に、図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を容易に求めることが可能である。
こうして並進ベクトルJTBが得られると、この並進ベクトルJTBと図7のステップS140で得られた回転行列JRBとステップS160とを組み合わせることによって、上記(1a)式で与えられる変換行列JΣBを求めることが可能である。また、この変換行列JΣBを用いて、上記(13)式に従ってハンドアイ175の外部パラメーターである変換行列CΣWを決定することができる。
以上のように、本実施形態では、基準座標系ΣBの3つの座標軸の各座標軸を回転中心としてハンドアイ175をそれぞれ回転させて複数の回転位置で停止させるようにアーム160を動作させ、これらの複数の回転位置において校正ジグ400の校正パターン画像を取得し、複数の回転位置で撮像された校正パターン画像を用いてハンドアイ175の外部パラメーターとしての変換行列CΣWを決定することが可能である。この結果、カメラ座標系ΣCとロボット座標系ΣBの間の座標変換を計算可能なカメラの外部パラメーターが得られるので、ハンドアイ175を用いた対象物の位置検出を行うことが可能となる。
E. 他の形態
本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本発明は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)本発明の第1形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、前記アームを制御するアーム制御部と;前記カメラを制御するカメラ制御部と;前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と;を備える。前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させる。前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させる。前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。
この制御装置によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(2)上記制御装置において、前記カメラ校正実行部は、(i)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の回転を示す回転行列を推定する回転行列推定処理と、(ii)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを推定する並進ベクトル推定処理と、を実行し、(iii)推定された前記回転行列と前記並進ベクトルとを組み合わせることによって、前記校正ジグ座標系の座標と前記基準座標系の座標を相互に変換する座標変換行列を求めるようにしても良い。
この制御装置によれば、基準座標系の各座標軸を中心とした回転における複数の回転位置で撮像されたパターン画像から、校正ジグ座標系と基準座標系の間の回転行列と並進ベクトルをそれぞれ推定するので、それらを組み合わせることによって座標変換回転を容易に求めることが可能である。
(3)上記制御装置において、前記カメラ校正実行部は、前記回転行列推定処理において、前記複数の回転位置で撮像された前記校正パターン画像から、前記基準座標系の各座標軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、前記3つの回転ベクトルを行成分又は列成分として配列することによって前記回転行列を決定するものとしてもよい。
この制御装置によれば、基準座標系の各座標軸を中心とした回転における複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系と基準座標系の間の回転行列を容易に求めることが可能である。
(4)上記制御装置において、前記カメラ校正実行部は、前記基準座標系の各座標軸に関して、(a)前記複数の回転位置のうちの第1回転位置と第2回転位置において撮像された前記校正パターン画像から前記カメラ座標系の座標と前記校正ジグ座標系の座標を相互に変換する変換行列をそれぞれ推定し、(b)前記第1回転位置と前記第2回転位置に関して推定された前記変換行列の並進ベクトル成分の差から、前記カメラ座標系から見た前記第1回転位置と前記第2回転位置における前記校正ジグ座標系の座標原点の差を表す差ベクトルを求め、(c)前記差ベクトルから、回転中心として用いた座標軸に直交する平面に前記基準座標系と前記校正ジグ座標系を投影したときの前記基準座標系と前記校正ジグ座標系の座標原点の間の距離を求め、(d)前記基準座標系の3つの座標軸について得られた前記基準座標系と前記校正ジグ座標系の座標原点の間の前記距離から、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを算出するものとしてもよい。
この制御装置によれば、複数の回転位置で撮像された校正パターン画像から、校正ジグ座標系と基準座標系の間の並進ベクトルを容易に求めることが可能である。
(5)本発明の第2形態によれば、カメラが設置されたアームを有するロボットを制御する制御装置が提供される。この制御装置は、プロセッサーを備える。前記プロセッサーは;前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ;前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ;前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記カメラの外部パラメーターを決定する。
この制御装置によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
(6)本発明の第3形態によれば、上記制御装置に接続されたロボットが提供される。
このロボットによれば、カメラ座標系と基準座標系の間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(7)本発明の第4形態によれば、ロボットと、前記ロボットに接続された上記制御装置と、を備えるロボットシステムが提供される。
このロボットシステムによれば、カメラ座標系と基準座標系の間の座標変換を行って、カメラを用いた対象物の位置検出を行うことが可能となる。
(8)本発明の第5形態によれば、カメラが設置されたアームを有するロボットを備えるロボットシステムにおいて前記カメラの外部パラメーターを決定するため校正を行う方法が提供される。この方法は、前記ロボットの前記アームを動作させ、前記ロボットのロボット座標系に対して、前記ロボットシステムにとって既知である相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ;前記複数の回転位置において校正ジグの校正パターンを前記カメラに撮像させ;前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する。
この方法によれば、基準座標系の各座標軸回りの回転における複数の回転位置で撮影された校正パターン画像を用いて、校正ジグ座標系と基準座標系の間の座標変換行列を決定でき、これを用いてカメラの外部パラメーターを決定できる。この結果、カメラ座標系とロボット座標系の間の座標変換を計算可能なカメラの外部パラメーターが得られるので、カメラを用いた対象物の位置検出を行うことが可能となる。
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…パーソナルコンピューター

Claims (8)

  1. カメラが設置されたアームを有するロボットを制御する制御装置であって、
    前記アームを制御するアーム制御部と、
    前記カメラを制御するカメラ制御部と、
    前記ロボットのロボット座標系における座標と前記カメラのカメラ座標系における座標を相互に変換する座標変換を計算するための前記カメラの外部パラメーターを決定するカメラ校正実行部と、
    を備え、
    前記アーム制御部は、前記アームを動作させ、前記ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ、
    前記カメラ制御部は、前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ、
    前記カメラ校正実行部は、前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する、制御装置。
  2. 請求項1に記載の制御装置であって、
    前記カメラ校正実行部は、
    (i)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の回転を示す回転行列を推定する回転行列推定処理と、
    (ii)前記複数の回転位置で撮像された前記校正パターン画像を用いて、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを推定する並進ベクトル推定処理と、
    を実行し、
    (iii)推定された前記回転行列と前記並進ベクトルとを組み合わせることによって、前記校正ジグ座標系の座標と前記基準座標系の座標を相互に変換する座標変換行列を求める、
    制御装置。
  3. 請求項2に記載の制御装置であって、
    前記カメラ校正実行部は、前記回転行列推定処理において、
    前記複数の回転位置で撮像された前記校正パターン画像から、前記基準座標系の各座標軸の方向をベクトル方向とし前記回転の角度をベクトル長さとする3つの回転ベクトルを推定し、
    前記3つの回転ベクトルを行成分又は列成分として配列することによって前記回転行列を決定する、
    制御装置。
  4. 請求項2又は3に記載の制御装置であって、
    前記カメラ校正実行部は、前記基準座標系の各座標軸に関して、
    (a)前記複数の回転位置のうちの第1回転位置と第2回転位置において撮像された前記校正パターン画像から前記カメラ座標系の座標と前記校正ジグ座標系の座標を相互に変換する変換行列をそれぞれ推定し、
    (b)前記第1回転位置と前記第2回転位置に関して推定された前記変換行列の並進ベクトル成分の差から、前記カメラ座標系から見た前記第1回転位置と前記第2回転位置における前記校正ジグ座標系の座標原点の差を表す差ベクトルを求め、
    (c)前記差ベクトルから、回転中心として用いた座標軸に直交する平面に前記基準座標系と前記校正ジグ座標系を投影したときの前記基準座標系と前記校正ジグ座標系の座標原点の間の距離を求め、
    (d)前記基準座標系の3つの座標軸について得られた前記基準座標系と前記校正ジグ座標系の座標原点の間の前記距離から、前記校正ジグ座標系と前記基準座標系の並進移動を示す並進ベクトルを算出する、制御装置。
  5. カメラが設置されたアームを有するロボットを制御する制御装置であって、
    プロセッサーを備え、
    前記プロセッサーは、
    前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ、
    前記複数の回転位置における校正ジグの校正パターンを前記カメラに撮像させ、
    前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記カメラの外部パラメーターを決定する、制御装置。
  6. 請求項1〜5のいずれか一項に記載の制御装置に接続されたロボット。
  7. ロボットと、
    前記ロボットに接続された請求項1〜5のいずれか一項に記載の制御装置と、
    を備えるロボットシステム。
  8. カメラが設置されたアームを有するロボットを備えるロボットシステムにおいて前記カメラの外部パラメーターを決定するための校正を行う方法であって、
    前記ロボットの前記アームを動作させ、ロボット座標系に対して既知の相対位置姿勢を有する基準座標系の3つの座標軸の各座標軸を回転中心として前記カメラを回転させて複数の回転位置で停止させ、
    前記複数の回転位置において校正ジグの校正パターンを前記カメラに撮像させ、
    前記複数の回転位置で撮像された校正パターン画像を用いて、前記校正ジグの校正ジグ座標系における座標と前記基準座標系における座標を相互に変換する座標変換行列を推定し、前記座標変換行列を用いて前記外部パラメーターを決定する、方法。
JP2018047377A 2018-03-15 2018-03-15 ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法 Active JP7035657B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018047377A JP7035657B2 (ja) 2018-03-15 2018-03-15 ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018047377A JP7035657B2 (ja) 2018-03-15 2018-03-15 ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法

Publications (2)

Publication Number Publication Date
JP2019155556A true JP2019155556A (ja) 2019-09-19
JP7035657B2 JP7035657B2 (ja) 2022-03-15

Family

ID=67993822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018047377A Active JP7035657B2 (ja) 2018-03-15 2018-03-15 ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法

Country Status (1)

Country Link
JP (1) JP7035657B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203881A (zh) * 2020-01-16 2020-05-29 河北工业大学 一种基于加权最小二乘法的在线反馈手眼标定方法
CN111482963A (zh) * 2020-04-08 2020-08-04 江西理工大学 一种机器人的标定方法
CN112743548A (zh) * 2020-12-30 2021-05-04 上海媒智科技有限公司 一种统一两种机械臂手眼标定的方法及系统、终端
CN113119120A (zh) * 2021-03-30 2021-07-16 深圳市优必选科技股份有限公司 一种机器人的控制方法、装置及机器人
WO2021210540A1 (ja) * 2020-04-14 2021-10-21 ファナック株式会社 座標系設定システム及び位置姿勢計測システム
CN114043087A (zh) * 2021-12-03 2022-02-15 厦门大学 一种三维轨迹激光焊接焊缝跟踪姿态规划方法
WO2022062464A1 (zh) * 2020-09-27 2022-03-31 平安科技(深圳)有限公司 基于计算机视觉的手眼标定方法及装置、存储介质
WO2023040095A1 (zh) * 2021-09-16 2023-03-23 梅卡曼德(北京)机器人科技有限公司 相机的标定方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012091280A (ja) * 2010-10-27 2012-05-17 Mitsubishi Electric Corp 座標系校正方法及びロボットシステム
JP2015062991A (ja) * 2013-08-28 2015-04-09 キヤノン株式会社 座標系校正方法、ロボットシステム、プログラム及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012091280A (ja) * 2010-10-27 2012-05-17 Mitsubishi Electric Corp 座標系校正方法及びロボットシステム
JP2015062991A (ja) * 2013-08-28 2015-04-09 キヤノン株式会社 座標系校正方法、ロボットシステム、プログラム及び記録媒体

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203881A (zh) * 2020-01-16 2020-05-29 河北工业大学 一种基于加权最小二乘法的在线反馈手眼标定方法
CN111203881B (zh) * 2020-01-16 2022-02-08 河北工业大学 一种基于加权最小二乘法的在线反馈手眼标定方法
CN111482963A (zh) * 2020-04-08 2020-08-04 江西理工大学 一种机器人的标定方法
CN111482963B (zh) * 2020-04-08 2022-11-25 江西理工大学 一种机器人的标定方法
WO2021210540A1 (ja) * 2020-04-14 2021-10-21 ファナック株式会社 座標系設定システム及び位置姿勢計測システム
WO2022062464A1 (zh) * 2020-09-27 2022-03-31 平安科技(深圳)有限公司 基于计算机视觉的手眼标定方法及装置、存储介质
CN112743548A (zh) * 2020-12-30 2021-05-04 上海媒智科技有限公司 一种统一两种机械臂手眼标定的方法及系统、终端
CN113119120A (zh) * 2021-03-30 2021-07-16 深圳市优必选科技股份有限公司 一种机器人的控制方法、装置及机器人
CN113119120B (zh) * 2021-03-30 2022-06-07 深圳市优必选科技股份有限公司 一种机器人的控制方法、装置及机器人
WO2023040095A1 (zh) * 2021-09-16 2023-03-23 梅卡曼德(北京)机器人科技有限公司 相机的标定方法、装置、电子设备及存储介质
CN114043087A (zh) * 2021-12-03 2022-02-15 厦门大学 一种三维轨迹激光焊接焊缝跟踪姿态规划方法

Also Published As

Publication number Publication date
JP7035657B2 (ja) 2022-03-15

Similar Documents

Publication Publication Date Title
JP7003463B2 (ja) ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法
JP7035657B2 (ja) ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法
CN109227532B (zh) 机器人的控制装置及其系统、机器人及摄像机的校正方法
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP5365379B2 (ja) ロボットシステム及びロボットシステムのキャリブレーション方法
US20140288710A1 (en) Robot system and calibration method
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
EP3470182B1 (en) Robot system
JP7111114B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
CN111801198A (zh) 一种手眼标定方法、系统及计算机存储介质
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2011235400A (ja) マニピュレータのキャリブレーション方法及びロボット制御システム
US20220395981A1 (en) System and method for improving accuracy of 3d eye-to-hand coordination of a robotic system
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
JP6410411B2 (ja) パターンマッチング装置及びパターンマッチング方法
WO2018119642A1 (zh) 一种工业机器人的工具坐标系原点的标定方法及装置
Li et al. A SLAM-integrated kinematic calibration method for industrial manipulators with RGB-D cameras
US20220301209A1 (en) Device and method for training a neural network for controlling a robot
JP2021091070A (ja) ロボット制御装置
WO2022168634A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2022181810A (ja) ロボットシステム
JP2023153555A (ja) 撮像装置の位置推定方法

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