JP2022152845A - ロボット制御用のキャリブレーション装置 - Google Patents
ロボット制御用のキャリブレーション装置 Download PDFInfo
- Publication number
- JP2022152845A JP2022152845A JP2021055774A JP2021055774A JP2022152845A JP 2022152845 A JP2022152845 A JP 2022152845A JP 2021055774 A JP2021055774 A JP 2021055774A JP 2021055774 A JP2021055774 A JP 2021055774A JP 2022152845 A JP2022152845 A JP 2022152845A
- Authority
- JP
- Japan
- Prior art keywords
- posture
- unit
- robot
- marker
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000036544 posture Effects 0.000 claims abstract description 493
- 239000003550 marker Substances 0.000 claims abstract description 182
- 238000003384 imaging method Methods 0.000 claims abstract description 139
- 238000000605 extraction Methods 0.000 claims abstract description 131
- 238000011156 evaluation Methods 0.000 claims description 70
- 230000009466 transformation Effects 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 48
- 239000000284 extract Substances 0.000 claims description 25
- 238000009434 installation Methods 0.000 claims description 16
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 61
- 239000011159 matrix material Substances 0.000 description 84
- 238000012545 processing Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 25
- 238000013461 design Methods 0.000 description 22
- 238000010276 construction Methods 0.000 description 14
- 230000007613 environmental effect Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000006440 Open Bite Diseases 0.000 description 1
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
Description
一般に、ロボットの周辺や撮像部の周辺にロボット以外のものが存在する場合、あるいは、ロボットに付随する部品のうちマーカ以外の部分がマーカと撮像部との間に介在する場合は、撮像部から見てマーカが遮蔽される可能性がある。また、マーカの遮蔽が生じないようにマーカの移動空間を規定し、ロボットの姿勢集合を教示するには膨大な工数を要する。
本願は、上記課題を解決する手段を複数含んでいるが、その一つを挙げるならば、予め定められた位置から撮像する撮像部と、ロボットに取り付けられ、ロボットの動作にしたがって変位するマーカと、撮像部によってマーカを撮像可能とするためのロボットの複数の姿勢を含む姿勢集合を生成する姿勢集合生成部と、姿勢集合生成部によって生成された姿勢集合の中から、マーカの遮蔽が生じない複数の姿勢を抽出する非遮蔽姿勢抽出部と、非遮蔽姿勢抽出部によって抽出された複数の姿勢に基づいて、ロボットの座標系と撮像部の座標系を変換するための座標変換パラメータを推定するキャリブレーション実行部と、を備えるロボット制御用キャリブレーション装置である。
上記した以外の課題、構成および効果は、以下の実施形態の説明によって明らかにされる。
図1は、第1実施形態に係るロボット制御用のキャリブレーション装置の構成例を示す図である。本実施形態では、ロボットが行う作業内容の一例として、ワークを所定の位置へと移動させるピッキング作業を想定する。また、本実施形態では、制御対象のロボットの一例として、関節型ロボットであるロボットアーム(以下、単に「ロボット」ともいう。)を想定する。また、本実施形態では、ロボットに取り付けられるマーカの一例として、平面上の治具に寸法が既知の模様を印刷したキャリブレーションボードを想定する。また、本実施形態では、撮像部の一例として、単眼カメラを想定する。また、本実施形態では、ロボットの周辺や撮像部の周辺に設置される環境設置物の一例として、壁およびコンベアを想定する。ただし、本実施形態で想定する内容は、あくまで一例であって、ロボット制御用のキャリブレーション装置の構成は、本実施形態で想定した例に限定されない。
制御装置1は、キャリブレーション装置2全体を統括的に制御する。また、制御装置1は、現実装置2Aにおけるロボット30の動作や撮像部32の動作を制御する。なお、図1においては、制御装置1とキャリブレーション制御装置2Bを別々に表記しているが、キャリブレーション制御装置2Bの機能は、制御装置1のコンピュータハードウェア資源によって実現することが可能である。
図2は、本実施形態における制御装置1の構成例を示すブロック図である。
図2に示すように、制御装置1は、キャリブレーション装置2全体を統括的に制御するためのコンピュータハードウェア資源として、CPU11と、CPU11の指令を伝達するバス12と、ROM13と、RAM14と、記憶装置15と、ネットワークI/F(I/Fはインターフェースの略、以下同じ)16と、撮像部32を接続するための撮像I/F17と、画面出力を行うための画面表示I/F18と、外部入力を行うための入力I/F19と、を有する。すなわち、制御装置1は、一般的なコンピュータ装置によって構成することができる。
本実施形態において、ロボット30は、ピッキング作業を行うピッキングロボットである。一般に、ピッキングロボットは多関節ロボットによって構成される。ただし、ロボット30は、複数の関節を有するロボットであれば、ロボットの種類を問わない。また、ロボット30は、単軸スライダー上に設置し、この単軸スライダーによってロボット30の移動の自由度を増加させることで、広い空間を対象に作業を実行することができる。
マーカ31としては、平面上の治具に、寸法が既知の模様を印刷したキャリブレーションボードを使用する。このようなマーカ31を使用した場合は、撮像部32によって計測したデータを解析することで、三次元空間におけるマーカ31の位置を特定することができる。ただし、撮像部32によって計測したデータにより、マーカ31の三次元位置を特定可能であれば、たとえば球状の治具や特殊な形状の治具などをマーカ31として使用することができる。
マーカ31は、ロボットアームからなるロボット30のアーム先端に取り付けられている。ただし、マーカ31の取り付け位置は、ロボット30の動作にしたがってマーカ31が変位するという条件を満たす位置であれば、アーム先端に限らず、ロボットアーム上であればよい。
図3は、本実施形態における現実装置2Aの座標系と座標変換を示す図である。
現実装置2Aの座標系には、ロボット30のアーム基部を原点とする基部座標系C1と、ロボット30のアーム先端を原点とするアーム座標系C2と、マーカ31の中心を原点とするマーカ座標系C3と、撮像部32の光学中心を原点とするカメラ座標系C4とがある。各々の座標系は、それぞれ三次元の座標系である。
基部・カメラ変換行列M1は、現実装置2Aにおける設計値の1つとして求めることができる。ただし、設計値として求めた基部・カメラ変換行列M1を適用してロボット30を動作させた場合に、ロボット30の位置に誤差が生じることがある。このような誤差が生じる原因の1つとして、たとえば、現実装置2Aにおける撮像部32の取り付け位置のズレが考えられる。具体的には、撮像部32の光軸(z軸)が鉛直方向と平行になるように撮像部32の取り付け位置が設計されていても、実際の取り付け時には僅かな位置ズレが生じることがある。キャリブレーションは、このような位置ズレによってロボット30の位置に誤差が生じないよう、基部・カメラ変換行列Mを正確に求めるために行われる。
事前知識21は、下記(1)~(11)のパラメータを有するデータベースである。
(1)基部・カメラ変換行列M1の設計値。
(2)アーム・マーカ変換行列M4の設計値。
(3)ロボット30の形状情報を含む三次元モデル。
(4)ロボット30の関節角の上限値などを規定する仕様データ。
(5)マーカ31の種類やサイズを含む形状データ。
(6)撮像部32のカメラパラメータや光学ブラー、解像度、画角などの情報を含む仕様データ。
(7)撮像部32の歪み評価値。
(8)ロボット30の作業空間を規定する情報。
(9)現実装置2Aの設計情報。
(10)環境設置物33の形状と配置を規定する情報。
(11)各機能部で用いる閾値。
なお、本実施形態では、上記の事前知識21を用いた機能について説明するが、一部のみを使用し機能を実装してもよい。
姿勢集合生成部23は、事前知識21から取得したパラメータと生成パラメータ22から取得したパラメータとに基づいてロボット30の姿勢集合を生成する。また、姿勢集合生成部23は、生成した姿勢集合を制御装置1に保存する。
図4に示すように、姿勢集合生成部23は、パラメータ取得部231と、教示空間生成部232と、教示位置生成部233と、教示姿勢生成部234と、座標系変換部235と、姿勢集合保存部236と、を備えている。
図5に示すように、パラメータ取得部231が取得するパラメータには、基部・カメラ変換行列M1の設計値(回転行列Rca、並進行列tca)、撮像部32の計測範囲(画角、解像度、光学ブラー)、撮像部32の歪み情報(歪み評価)、ロボット30の作業空間(三次元空間情報)、マーカ31の形状(ボード、球体、サイズ)、姿勢集合の各軸方向の分解能(X1,Y1,Z1)が含まれる。
まず、パラメータ取得部231は、基部・カメラ変換行列M1の設計値を事前知識21から取得する(ステップS1)。このとき、パラメータ取得部231は、基部・カメラ変換行列M1の設計値として、回転行列Rcaおよび並進行列tcaを取得する。
次に、パラメータ取得部231は、マーカ31の形状データを取得する(ステップS4)。このとき、パラメータ取得部231は、マーカ31の形状データとして、マーカ31の種類(ボード、球体)とサイズのデータを取得する。
次に、パラメータ取得部231は、姿勢集合の各軸方向の分解能(X1,Y1,Z1)を生成パラメータ22から取得する(ステップS5)。具体的には、カメラ座標系C4を基準に、各軸において姿勢を作る個数(X1,Y1,Z1)を、各軸方向の分解能を定めるパラメータとして取得する。この場合、各軸において姿勢を作る個数が多いほど(X1,Y1,Z1の各値が大きいほど)、各軸方向の分解能が高くなる。つまり、パラメータX1,Y1,Z1は、姿勢集合に含まれる姿勢の数と密度を決定するパラメータに相当する。
図7に示すように、まず、教示空間生成部232は、マーカ31を配置する教示空間を生成する(ステップS6)。このとき、教示空間生成部232が生成する教示空間は、カメラ座標系C4を基準とする三次元空間である。
次に、教示姿勢生成部234は、マーカ31が撮像部32に正対するように、各教示位置におけるマーカ31の教示姿勢を初期設定する(ステップS9)。以降の説明では、初期設定したマーカ31の教示姿勢を初期姿勢という。
次に、教示姿勢生成部234は、各小空間に付与されたインデックスに基づくルールベースもしくはランダムに、初期姿勢からカメラ座標系C4の各軸方向に0度から±θ(閾値)度だけマーカ31の姿勢を回転させることにより、マーカ31の教示姿勢を生成する(ステップS10)。これにより、マーカ31の教示姿勢が小空間の個数分だけ生成される。
次に、姿勢集合保存部236は、上記ステップS10で教示姿勢生成部234により生成されたマーカ31の姿勢集合(複数の教示姿勢)、および、上記ステップS11で座標系変換部235により生成されたロボット30の姿勢集合(複数の教示姿勢)を、制御装置1に保存する(ステップS12)。これにより、制御装置1には、カメラ座標系C4を基準とするマーカ31の姿勢集合と、基部座標系C1を基準とするロボット30の姿勢集合とが保存される。
まず、教示空間は、ロボット30が作業する空間と撮像部32が精度よく撮影可能(計測可能)な空間とが重なり合う、両空間の共通領域とする。
図8においては、カメラ座標系C4を基準にロボット30の作業空間を決定している。作業空間の決定方法としては、たとえば、ロボット30が行う作業がピッキング作業である場合は、ロボット30がワーク(図示せず)を把持する作業を行うときにマーカ31が位置する空間として事前に定めることができる。ロボット30の作業空間を教示空間T1に用いる理由は次の通りである。ロボット30を移動させる場合は、ロボット30の製造誤差などに伴う移動誤差が系統的に生じる。ただし、移動誤差の出方は空間の位置によって異なる。そのため、キャリブレーション時にロボット30が取る姿勢を作業時の姿勢と同様にすることにより、移動誤差の出方が作業時と同じデータをキャリブレーションに使用することができる。
以上の方法により、教示空間T1が生成される。
教示空間を分割する場合は、姿勢集合の各軸方向の分解能として与えられるパラメータX1,Y1,Z1を用いる。具体的には、上記ステップS6で生成した教示空間T1を、カメラ座標系C4を基準として、x軸方向ではX1個に分割し、y軸方向ではY1個に分割し、z軸方向ではZ1個に分割する。図9の例では、X1=3、Y1=3、Z1=3として、教示空間T1を分割している。このため、教示空間T1は、合計27個の小空間に分割される。このように教示空間T1を複数の小空間に分割したら、各小空間にインデックス(X,Y,Z)を割り振る。インデックス(X,Y,Z)は、座標軸に基づいて割り振られる。たとえば、x軸については図9の右側から左側に向かってX=1、X=2、X=3のインデックスが割り振られ、y軸については図9の手前から奥側に向かってY=1、Y=2、Y=3のインデックスが割り振られ、z軸については図9の上側から下側に向かってZ=1、Z=2、Z=3のインデックスが割り振られる。そうした場合、図9の右下に位置する小空間には、インデックス(X,Y,Z)=(1,1,3)が付与される。
まず、1つの例として、インデックス(X,Y,Z)=(1,1,3)が付与された小空間における教示位置については、この小空間の上面の中心位置から、法線方向に小空間の高さの半分だけ移動した位置、すなわちインデックス(1,1,3)が付与された小空間の中心位置を教示位置として生成することができる。この点は、他のインデックスが付与された小空間についても同様である。
まず、ステップS9の処理内容について説明すると、教示姿勢生成部234は、マーカ31が撮像部32に正対するように、教示姿勢の初期値を設定する。
図11は、各小空間の教示位置にマーカを初期姿勢で配置した場合のマーカの見え方を示す図である。
図11においては、教示空間生成部232で生成した複数の小空間のうち、インデックス(X,Y,Z)=(1,1,1)(1,2,1)(1,3,1)(2,1,1)(2,2,1)(2,3,1)(3,1,1)(3,2,1)(3,3,1)の各小空間について、教示位置生成部233が生成した教示位置に仮にマーカ31を配置し、かつ撮像部32に対してマーカ31が正対するように配置した場合の、マーカ31の見え方を示している。初期姿勢のもとでは、いずれの小空間においても、カメラ座標系C4のZ軸がマーカ座標系C3のZ軸に対して真逆を向くように、マーカ31が配置される。したがって、すべての小空間でマーカ31の見え方は同じである。
教示姿勢生成部234は、上記ステップS9で設定した初期姿勢から、マーカ31の姿勢をマーカ座標系C3の各軸方向に回転させることで、教示姿勢を生成する。
図12は、教示姿勢生成部234が生成したマーカ31の教示姿勢を示す図である。なお、図12における各小空間のインデックス(X,Y,Z)は、上記図11における各小空間のインデックス(X,Y,Z)に対応している。例として、インデックス(3,3,1)の小空間におけるマーカ31の教示姿勢は、初期姿勢に対してマーカ座標系C3のx軸まわりにマーカ31を回転させることで生成される。各軸の回転角の大きさは、0度から±θ(閾値)度までとし、インデックスに基づきルールベースもしくはランダムに決定する。本実施形態では、インデックスが(1,1,1)(1,3,1)(3,1,1)の小空間では初期姿勢と同様の姿勢を教示姿勢として用い、他のインデックスの小空間では軸まわりに回転させた姿勢を教示姿勢として用いる。このように、教示姿勢生成部234が生成する複数の姿勢である姿勢集合は、マーカ31が様々な向きとなるよう回転させた姿勢と、マーカ31の向きは同じで並進のみが異なる姿勢との組み合わせによって構成されている。これにより、マーカ31の姿勢をすべてランダムに変えた場合(マーカ31の向きがすべてのインデックスで異なる場合)に比べて、キャリブレーションの推定時の精度を向上させることができる。
シミュレータ構築部24は、事前知識21に基づきシミュレータを構築することで、仮想的にロボット30を動作させ、撮像部32による撮像画像(撮影画像)を生成する機能を有する。
図13は、シミュレータ構築部24によって構築されるシミュレータの一例を示す図である。
図13においては、現実装置2Aの設計情報を含む三次元モデル、仕様、配置などの情報を事前知識21から取得し、取得した情報を基にロボット30、マーカ31、撮像部32および環境設置物33を仮想的にシミュレータ上に配置している。
ロボット30については、事前知識21から取得した情報である、ロボット30の形状情報として各リンクの長さや仕様として得られる関節の情報を用いることで、仮想的にロボット30を動作させることが可能である。また、仮想的にロボット30を動作させることで、実機にて使用する軌道計画のアルゴリズムを適用することが可能である。
図14は、非物理干渉姿勢抽出部25の処理手順を示すフローチャートである。
非物理干渉姿勢抽出部25は、姿勢集合生成部23が生成した姿勢集合の中から、現実装置2Aの各部が互いに物理干渉しない姿勢(非物理干渉姿勢)を抽出する。また、非物理干渉姿勢抽出部25は、シミュレータ構築部24が構築するシミュレータを活用することにより、上記物理干渉しない姿勢を抽出する。物理干渉とは、現実装置2Aにおいて、ロボット30やマーカ31が、ロボット30や撮像部32、環境設置物33等に接触することをいう。
次に、非物理干渉姿勢抽出部25は、上記の姿勢集合に含まれる姿勢の数N1を取得する(ステップS14)。
次に、非物理干渉姿勢抽出部25は、変数iを初期値(i=1)に設定する(ステップS15)。
次に、非物理干渉姿勢抽出部25は、シミュレータ上でロボット30をi番目の姿勢へと移動するよう軌道計画を指示する(ステップS16)。
次に、非物理干渉姿勢抽出部25は、上記ステップS16で指示した軌道計画が成功したか否かを判定する(ステップS17)。具体的には、非物理干渉姿勢抽出部25は、指示した軌道計画でロボット30を動作させたときに、ロボット30とマーカ31が現実装置2A内のいずれの部分にも物理干渉しない場合は軌道計画が成功したと判定し、物理干渉する場合は軌道計画が失敗したと判定する。
以上述べた非物理干渉姿勢抽出部25の処理により、姿勢集合のうち、現実装置2Aが互いに物理干渉しない姿勢のみを抽出することができる。
図15は、ロボット30が実際にピッキング作業を行うときの姿勢を上から俯瞰した図である。
図15に示すように、マーカ31を移動先1に移動させる場合は、ロボット30が現実装置2Aのいずれの部分にも物理干渉しない。このため、マーカ31を移動先1に移動させるよう軌道計画を指示した場合は、軌道計画が成功して成功パターンの姿勢となる。これに対して、マーカ31を移動先2に移動させる場合は、ロボット30が環境設置物33(壁33A)に物理干渉するため、軌道計画が失敗する。
物理干渉の有無を判定する方法については、たとえば、軌道計画により生成された軌道の候補について、その軌道に従いロボット30が動作した際に、環境設置物33等とロボット30との三次元上の位置が重なるか否かで判定することができる。
図16に示すように、マーカ31を移動先3に移動させる場合は、ロボット30が現実装置2Aのいずれの部分にも物理干渉しない。このため、マーカ31を移動先3に移動させるよう軌道計画を指示した場合は、軌道計画が成功して成功パターンの姿勢となる。これに対して、マーカ31を移動先4に移動させる場合は、ロボット30が環境設置物33(コンベア33B)に物理干渉するため、軌道計画が失敗する。
図17は、非遮蔽姿勢抽出部26の処理手順を示すフローチャートである。
非遮蔽姿勢抽出部26は、姿勢集合生成部23が生成し、且つ、非物理干渉姿勢抽出部25が抽出した姿勢集合の中から、マーカ31と撮像部32との間でマーカ31の遮蔽が発生しない姿勢(非遮蔽姿勢)を抽出する。また、非遮蔽姿勢抽出部26は、シミュレータ構築部24が構築するシミュレータを活用することにより、マーカ31の遮蔽が発生しない姿勢を抽出する。
次に、非遮蔽姿勢抽出部26は、上記の姿勢集合に含まれる姿勢の数N2を取得する(ステップS24)。
次に、非遮蔽姿勢抽出部26は、変数iを初期値(i=1)に設定する(ステップS25)。
次に、非遮蔽姿勢抽出部26は、シミュレータ上でロボット30をi番目の姿勢へと移動するよう軌道計画を指示する(ステップS26)。
次に、非遮蔽姿勢抽出部26は、シミュレータ上の撮像部32による仮想的な撮影画像を生成する(ステップS27)。
すなわち、非遮蔽姿勢抽出部26は、i番目の姿勢にロボット30を移動させたときに撮像部32によって得られる撮影画像を仮想的に生成する。
以上述べた非遮蔽姿勢抽出部26の処理により、姿勢集合のうち、マーカ31と撮像部32との間でマーカ31の遮蔽が発生しない姿勢のみを抽出することができる。
まず、ステップS28においては、マーカ31の一部が遮蔽により隠れた場合でも、マーカ・カメラ変換行列M2を推定可能な場合がある。しかし、この場合は、マーカ31の全部が撮影画像に映っている場合に比べて、マーカ・カメラ変換行列M2の推定精度が低い可能性がある。マーカ・カメラ変換行列M2の推定精度が低い姿勢をキャリブレーションに使用することは望ましくない。
図18の左側に一点鎖線で示す枠線内には、上記ステップS23で制御装置1のメモリ上にロードした姿勢集合の一部を示している。また、図18の右側に一点鎖線で示す枠線内には、非遮蔽姿勢抽出部26によって抽出された、遮蔽(オクルージョン)判定後の姿勢集合の一部を示している。本例では、シミュレータ上で撮像部32が撮影した画像の上下および左を覆うように環境設置物33が配置されている。
また、図18の撮影画像I3に示す姿勢では、撮像部32の画角内にマーカ31が配置されているが、環境設置物33によってマーカ31の一部が遮蔽されている。このため、マーカ31の位置姿勢の推定が失敗する可能性がある。また、撮影画像I3にはマーカ31上の黒丸の総数12個のうち9個が映っているため、仮にマーカ31の位置姿勢の推定が可能であった場合は、信頼度の計算が行われる。その際、非遮蔽姿勢抽出部26は、たとえば上述したように、撮影画像を解析したときに得られるマーカ31上の特徴点の個数と、特徴点の総数との割合を、推定の信頼度として算出する。黒丸の中心を特徴点とする場合は、総数12個の特徴点のうち、画像解析で得られる特徴点の個数は9個となり、推定の信頼度は75%と算出される。また、信頼度と比較される閾値を予め90%と設定した場合は、撮影画像I3における信頼度は閾値未満となる。
また、非遮蔽姿勢抽出部26は、ロボット30を各姿勢(変数i=1~N2に対応する姿勢)へと移動させたときに撮像部32によって得られる撮影画像を仮想的に生成するとともに、生成した撮影画像を解析することによってマーカ31の三次元位置を推定し、推定に成功したか否かによってマーカ31の遮蔽の有無を判断する。具体的には、推定に成功した場合はマーカ31の遮蔽が無しと判定し、推定に失敗した場合はマーカ31の遮蔽が有りと判定する。これにより、マーカ31の遮蔽が生じない姿勢を抽出することができる。
また、非遮蔽姿勢抽出部26は、マーカ31の三次元位置の推定に成功した場合に、推定の信頼度を求め、信頼度が閾値以上であるか否かによってマーカ31の遮蔽の有無を判定する。具体的には、推定の信頼度が閾値以上であれば、マーカ31の遮蔽が無しと判定し、推定の信頼度が閾値未満であれば、マーカ31の遮蔽が有りと判定する。これにより、マーカ31の三次元位置の推定に成功した姿勢のうち、推定の信頼度が閾値以上に高い姿勢のみを、マーカ31の遮蔽が生じない姿勢として抽出することができる。
姿勢集合評価部27は、姿勢集合生成部23により生成され、且つ、非物理干渉姿勢抽出部25および非遮蔽姿勢抽出部26により抽出された姿勢集合を用いて、所定値以上に高精度なキャリブレーションが見込めるか否かを判定する。また、姿勢集合評価部27は、所定値以上に高精度なキャリブレーションが見込める場合は、キャリブレーション実行部29にキャリブレーションの実行を指示する。また、姿勢集合評価部27は、所定値以上に高精度なキャリブレーションが見込めない場合は、姿勢集合生成部23に対して、姿勢集合を追加する指示、および/または、生成パラメータの値を変更して姿勢集合を再度生成する指示を行う。
図19に示すように、姿勢集合評価部27は、姿勢数評価部271と、姿勢集合抽出部272と、キャリブレーション評価部273と、インデックス評価部274と、を備えている。
姿勢集合抽出部272は、姿勢集合に含まれる姿勢の数が所定数以内に収まっていないと姿勢数評価部271が判定した場合に、姿勢集合に含まれる複数の姿勢のうち、一部の姿勢であるサブセットを抽出する。たとえば、姿勢集合に合計100個の姿勢が含まれる場合は、100個の姿勢のうち20個の姿勢をサブセットとして抽出する。
インデックス評価部274は、たとえば姿勢数の不足などにより、所定値以上に高いキャリブレーション精度が見込めないとキャリブレーション評価部273が判定した場合に、姿勢集合生成部23に対して姿勢集合を追加もしくは再度生成するよう指示する。
まず、姿勢数評価部271は、姿勢集合に含まれる姿勢の数が事前知識21などで定めた閾値より多い場合に、その姿勢集合の中から一部の姿勢、すなわちサブセットを抽出するよう姿勢集合抽出部272に指示する。また、姿勢数評価部271は、姿勢集合抽出部272が抽出したサブセットにて所定値以上の高いキャリブレーション精度が見込めるか否かをキャリブレーション評価部273に判定させる。このように、姿勢集合の中から姿勢の一部をサブセットとして取り出すことにより、姿勢集合に含まれる姿勢の数が多い場合に、キャリブレーションの所要時間が長くなることを抑制し、効率よくキャリブレーション精度を評価することができる。
実際に現実装置2Aでキャリブレーションを実行する場合は、ノイズなどによる誤差が観測データに乗る。このため、上述したようにマーカ・カメラ変換行列M2とアーム・基部変換行列M3に誤差を加えることにより、実機に近い条件でキャリブレーション評価を行うことができる。
また、本実施形態においては、姿勢集合抽出部272の処理に適用するルールとして、各小空間に付与されたインデックスが平均的に出現するルールを例示したが、これに限らず、たとえば姿勢集合からランダムに一部の姿勢を抽出してもよい。
キャリブレーション実行部29は、現実装置2Aが有するロボット30と撮像部32を制御し、姿勢集合の各姿勢へとロボット30を移動させたときのマーカ・カメラ変換行列M2とアーム・基部変換行列M3とを取得する。さらに、キャリブレーション実行部29は、取得したマーカ・カメラ変換行列M2とアーム・基部変換行列M3との座標変換パラメータにより、基部・カメラ変換行列M1を推定する。
次に、キャリブレーション実行部29は、上記の姿勢集合に含まれる姿勢の数N3を取得する(ステップS38)。
次に、キャリブレーション実行部29は、変数iを初期値(i=1)に設定する(ステップS39)。
次に、キャリブレーション実行部29は、現実装置2Aにおいて実際にロボット30をi番目の姿勢へと移動させる(ステップS40)。
次に、キャリブレーション実行部29は、ロボット30の作業空間を撮像部32によって撮影する(ステップS41)。
次に、キャリブレーション実行部29は、撮像部32によって得られる撮影画像を解析することにより、マーカ・カメラ変換行列M2を推定する(ステップS42)。
ステップS47において最適化問題を解くことが、最適化処理に相当する。この最適化処理によって基部・カメラ変換行列M1を推定する手法としては、下記の参考文献に示す公知技術を用いることができる。
「Simultaneous Robot-World and Hand-Eye Calibration」F.Dornaika,R.Horaud,Aug1998.
この参考文献に開示された公知技術を概説すると、次のようになる。
ロボット基部とアーム先端の座標変換パラメータ(変換行列)をAA、アーム先端とマーカの座標変換パラメータをBBとすると、ロボット基部からマーカへの座標変換はAA×BBとなる。一方、ロボット基部とカメラの座標変換パラメータをCC、カメラとマーカの座標変換パラメータをDDとすると、ロボット基部からマーカへの座標変換はCC×DDとなる。つまり、AA×BB=CC×DDの条件が成立する。ここで、座標変換パラメータAAはロボットエンコーダ値により既知のパラメータ、座標変換パラメータBBおよびCCはそれぞれ未知のパラメータ、座標変換パラメータDDは画像解析によって既知のパラメータとなる。そこで最適化処理では、それぞれ既知のパラメータである多数の座標変換パラメータAAおよびDDから、AA×BB=CC×DDの条件を満たす座標変換パラメータBBおよびCCを数値計算によって推定する。
以上述べたキャリブレーション実行部29の処理により、現実装置2Aにおける基部・カメラ変換行列M1を推定することができる。
図21は、第2実施形態に係るロボット制御用のキャリブレーション装置の構成例を示す図である。
図21に示すように、キャリブレーション装置2-1は、制御装置1と、現実装置2Cと、キャリブレーション制御装置2Dと、を備えている。
(1)マーカ31が撮像装置32Bの教示空間内に含まれていること。
(2)マーカ31と撮像装置32Bの回転行列が、事前に設定した閾値の範囲内に収まっていること。
(3)非遮蔽姿勢抽出部26-1の機能にてオクルージョンが発生しないと判定できること。
本実施形態においては、複数の撮像装置32A,32Bで共通に使用可能な複数の姿勢を共通姿勢抽出部201が抽出し、抽出した複数の姿勢を適用してキャリブレーション実行部29-1がキャリブレーションを実行する。このため、撮像部32を複数の撮像装置32A,32Bによって構成した場合でも、ロボット30の姿勢集合の教示およびキャリブレーションに要する工数を削減しつつ、キャリブレーションを実行することが可能となる。
なお、本発明は、上述した実施形態に限定されるものではなく、様々な変形例を含む。たとえば、上述した実施形態では、本発明の内容を理解しやすいように詳細に説明しているが、本発明は、上述した実施形態で説明したすべての構成を必ずしも備えるものに限定されない。また、ある実施形態の構成の一部を、他の実施形態の構成に置き換えることが可能である。また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、これを削除し、または他の構成を追加し、あるいは他の構成に置換することも可能である。
Claims (8)
- 予め定められた位置から撮像する撮像部と、
ロボットに取り付けられ、前記ロボットの動作にしたがって変位するマーカと、
前記撮像部によって前記マーカを撮像可能とするための前記ロボットの複数の姿勢を含む姿勢集合を生成する姿勢集合生成部と、
前記姿勢集合生成部によって生成された前記姿勢集合の中から、前記マーカの遮蔽が生じない複数の姿勢を抽出する非遮蔽姿勢抽出部と、
前記非遮蔽姿勢抽出部によって抽出された前記複数の姿勢に基づいて、前記ロボットの座標系と前記撮像部の座標系を変換するための座標変換パラメータを推定するキャリブレーション実行部と、
を備えるロボット制御用のキャリブレーション装置。 - 前記撮像部は、複数の撮像装置によって構成され、
前記姿勢集合生成部は、前記複数の撮像装置の各々について、前記撮像装置によって前記マーカを撮像可能とするための前記ロボットの姿勢集合を個別に生成し、
前記姿勢集合生成部が前記撮像装置ごとに個別に生成した前記ロボットの姿勢集合の中から、前記複数の撮像装置で共通に使用可能な複数の姿勢を抽出する共通姿勢抽出部をさらに備え、
前記キャリブレーション実行部は、前記共通姿勢抽出部によって抽出された複数の姿勢を適用して前記座標変換パラメータを推定する
請求項1に記載のロボット制御用のキャリブレーション装置。 - 前記姿勢集合生成部によって生成された前記姿勢集合の中から、前記ロボットと前記マーカが、前記ロボットおよび環境設置物を含む現実装置内のいずれの部分にも物理干渉しない複数の姿勢を抽出する非物理干渉姿勢抽出部をさらに備え、
前記非遮蔽姿勢抽出部は、前記非物理干渉姿勢抽出部によって抽出された前記複数の姿勢を含む姿勢集合の中から、前記マーカの遮蔽が生じない姿勢を抽出する
請求項1に記載のロボット制御用のキャリブレーション装置。 - 前記非遮蔽姿勢抽出部によって抽出された前記複数の姿勢を含む姿勢集合を用いて、所定値以上に高精度なキャリブレーションが見込めるか否かを判定する姿勢集合評価部をさらに備え、
前記キャリブレーション実行部は、前記所定値以上に高精度なキャリブレーションが見込めると前記姿勢集合評価部が判定した場合に、前記座標変換パラメータを推定する
請求項1に記載のロボット制御用のキャリブレーション装置。 - 前記姿勢集合評価部は、前記所定値以上に高精度なキャリブレーションが見込めない場合に、前記姿勢集合生成部に対して追加で姿勢を生成するよう指示する
請求項4に記載のロボット制御用のキャリブレーション装置。 - 前記所定値以上に高精度なキャリブレーションが見込めないと前記姿勢集合評価部が判定した場合に、前記姿勢集合生成部が前記姿勢集合の生成に用いるパラメータの値を変更するパラメータ更新部をさらに備える
請求項4に記載のロボット制御用のキャリブレーション装置。 - 前記非遮蔽姿勢抽出部は、前記ロボットを各姿勢へと移動させたときに前記撮像部によって得られる撮影画像を仮想的に生成するとともに、生成した前記撮影画像を解析することによって前記マーカの三次元位置を推定し、前記推定に成功したか否かによって前記マーカの遮蔽の有無を判定する
請求項1に記載のロボット制御用のキャリブレーション装置。 - 前記非遮蔽姿勢抽出部は、前記推定に成功した場合に、前記推定の信頼度を求め、前記信頼度が閾値以上であるか否かによって前記マーカの遮蔽の有無を判定する
請求項7に記載のロボット制御用のキャリブレーション装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021055774A JP7437343B2 (ja) | 2021-03-29 | 2021-03-29 | ロボット制御用のキャリブレーション装置 |
PCT/JP2021/040394 WO2022208963A1 (ja) | 2021-03-29 | 2021-11-02 | ロボット制御用のキャリブレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021055774A JP7437343B2 (ja) | 2021-03-29 | 2021-03-29 | ロボット制御用のキャリブレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022152845A true JP2022152845A (ja) | 2022-10-12 |
JP7437343B2 JP7437343B2 (ja) | 2024-02-22 |
Family
ID=83458339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021055774A Active JP7437343B2 (ja) | 2021-03-29 | 2021-03-29 | ロボット制御用のキャリブレーション装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7437343B2 (ja) |
WO (1) | WO2022208963A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL2034853A (en) * | 2022-11-01 | 2024-05-23 | Univ Guilin Technology | Automatic hand-eye calibration method based on neural architecture search calibration board detection |
WO2024106610A1 (ko) * | 2022-11-15 | 2024-05-23 | 한양대학교 에리카산학협력단 | 다중 연산을 이용한 핸드-아이 캘리브레이션 방법 및 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2981397B1 (en) | 2013-04-05 | 2017-06-14 | ABB Schweiz AG | A robot system and method for calibration |
JP6429473B2 (ja) | 2014-03-20 | 2018-11-28 | キヤノン株式会社 | ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体 |
JP7070127B2 (ja) | 2018-06-15 | 2022-05-18 | オムロン株式会社 | ロボット制御システム |
US11254019B2 (en) | 2019-03-05 | 2022-02-22 | The Boeing Company | Automatic calibration for a robot optical sensor |
JP7326911B2 (ja) | 2019-06-20 | 2023-08-16 | オムロン株式会社 | 制御システムおよび制御方法 |
-
2021
- 2021-03-29 JP JP2021055774A patent/JP7437343B2/ja active Active
- 2021-11-02 WO PCT/JP2021/040394 patent/WO2022208963A1/ja active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL2034853A (en) * | 2022-11-01 | 2024-05-23 | Univ Guilin Technology | Automatic hand-eye calibration method based on neural architecture search calibration board detection |
WO2024106610A1 (ko) * | 2022-11-15 | 2024-05-23 | 한양대학교 에리카산학협력단 | 다중 연산을 이용한 핸드-아이 캘리브레이션 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP7437343B2 (ja) | 2024-02-22 |
WO2022208963A1 (ja) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9616569B2 (en) | Method for calibrating an articulated end effector employing a remote digital camera | |
CN106873550B (zh) | 模拟装置以及模拟方法 | |
US11338435B2 (en) | Gripping system with machine learning | |
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
US9727053B2 (en) | Information processing apparatus, control method for information processing apparatus, and recording medium | |
US11498220B2 (en) | Control system and control method | |
JP6271953B2 (ja) | 画像処理装置、画像処理方法 | |
WO2022208963A1 (ja) | ロボット制御用のキャリブレーション装置 | |
US20150125034A1 (en) | Information processing apparatus, information processing method, and storage medium | |
WO2021218542A1 (zh) | 基于视觉感知设备的机器人本体坐标系的空间标定方法、装置和存储介质 | |
JP2012141962A (ja) | 位置姿勢計測装置及び位置姿勢計測方法 | |
CN111360821A (zh) | 一种采摘控制方法、装置、设备及计算机刻度存储介质 | |
JP2015212629A (ja) | 検出装置およびこの装置を具えたマニプレータの動作制御 | |
CN113379849A (zh) | 基于深度相机的机器人自主识别智能抓取方法及系统 | |
JP6973444B2 (ja) | 制御システム、情報処理装置および制御方法 | |
WO2019059343A1 (ja) | ワーク情報処理装置およびワークの認識方法 | |
US20190255706A1 (en) | Simulation device that simulates operation of robot | |
EP3578321A1 (de) | Verfahren zum verwenden mit einer maschine zum erstellen einer erweiterte-realität-anzeigeumgebung | |
CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
KR101972432B1 (ko) | 레이저비전 센서 및 그 보정방법 | |
KR102438490B1 (ko) | 단일 체커보드를 이용하는 이종 센서 캘리브레이션 방법 및 장치 | |
Motai et al. | SmartView: hand-eye robotic calibration for active viewpoint generation and object grasping | |
CN110900606B (zh) | 一种基于小型机械臂手眼联动系统及其控制方法 | |
JP2022006427A (ja) | 撮像システム構築装置 | |
JP2021010994A (ja) | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240105 |
|
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: 20240130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7437343 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |