JPWO2018142582A1 - 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム - Google Patents
変換係数算出装置、変換係数算出方法及び変換係数算出プログラム Download PDFInfo
- Publication number
- JPWO2018142582A1 JPWO2018142582A1 JP2017536596A JP2017536596A JPWO2018142582A1 JP WO2018142582 A1 JPWO2018142582 A1 JP WO2018142582A1 JP 2017536596 A JP2017536596 A JP 2017536596A JP 2017536596 A JP2017536596 A JP 2017536596A JP WO2018142582 A1 JPWO2018142582 A1 JP WO2018142582A1
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- sensor
- conversion coefficient
- coefficient calculation
- 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.)
- Granted
Links
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
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
Description
また、ロボットシステムは、物体及びロボットハンドの周辺を計測するセンサを備えており、センサにより計測されたセンサ情報を用いて、ロボットアーム及びロボットハンドの位置及び姿勢を制御するようにしている。
センサ座標系は、センサを中心とする座標系であり、ロボット座標系は、ロボットを中心とするロボット座標系である。
この変換係数算出装置は、カメラにより撮影された映像内のマーカのセンサ座標系(カメラ座標系)での位置と、ロボットハンドにより把持されているマーカのロボット座標系での位置とから、センサであるカメラとロボットとの相対的な位置関係を示すパラメータを算出する。
センサであるカメラとロボットとの相対的な位置関係を示すパラメータは、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる座標の変換係数に相当する。
この変換係数算出装置は、カメラとロボットとの相対的な位置関係を示すパラメータを算出すると、以降、相対的な位置関係を示すパラメータを用いて、センサにより計測されたセンサ情報が示す物体等の3次元位置をロボット座標系の3次元位置に変換する。
図1はこの発明の実施の形態1による変換係数算出装置4を実装しているロボットシステムを示す構成図である。
図1において、ロボットハンド1はロボットアームの先端等に取り付けられており、例えば、加工対象等の物体10が固定されている。
ロボットアームは、少なくとも1つ以上の関節を備えており、1つ以上の関節が制御されることで、ロボットハンド1の位置又は姿勢が切り替えられる。
ロボットハンド1は、物体10を把持する機能を有している。ただし、ロボットハンド1は、物体10を固定することができればよく、物体10を把持する方式は問わない。例えば、多数の指を開閉することで物体10を挟み込む方式、磁力又は吸引によって物体10を把持する方式などがある。
センサ3はロボットハンド1により把持されている物体10を計測するレーザスキャナなどの3次元センサであり、物体10の計測結果を示すセンサ情報を出力する。
センサ3から出力されるセンサ情報は、空間中の物体10の表面の3次元座標(X, Y, Z)の集合である。センサ3による物体10の計測方法として、ステレオビジョンに基づく方法、Time−of−Flight法などが知られている。
図2はこの発明の実施の形態1による変換係数算出装置4を示すハードウェア構成図である。
位置姿勢情報取得部11は例えば図2に示す位置姿勢情報取得回路21で実現されるものであり、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での3次元位置を特定する処理を実施する。
センサ情報取得部12は例えば図2に示すセンサ情報取得回路22で実現されるものであり、センサ3から物体10のセンサ座標系での3次元位置を示すセンサ情報を取得する処理を実施する。
なお、センサ座標系は、センサ3を中心とする座標系であり、ロボット座標系は、ロボットハンド1を中心とするロボット座標系である。
変換係数算出部13はロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部11により特定されたロボット座標系での3次元位置とセンサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置との組を保持する記憶部13aを備えている。
変換係数算出部13は、記憶部13aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部13は、ロボット座標系での3次元位置とセンサ座標系での3次元位置との組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
座標変換部14は変換係数算出部13により算出された変換係数である回転行列R及び並進ベクトルtを用いて、センサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置をロボット座標系での3次元位置に変換する処理を実施する。
ここで、変換係数算出部13が備えている記憶部13aは、例えば記憶処理回路で実現される。
この記憶処理回路は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性又は揮発性の半導体メモリや、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)などが該当する。
また、位置姿勢情報取得回路21、センサ情報取得回路22、変換係数算出回路23及び座標変換回路24は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)、または、これらを組み合わせたものが該当する。
ソフトウェア又はファームウェアはプログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)などが該当する。
図3は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合、変換係数算出部13が備えている記憶部13aをコンピュータのメモリ31上に構成するとともに、位置姿勢情報取得部11の位置姿勢情報取得処理手順、センサ情報取得部12のセンサ情報取得処理手順、変換係数算出部13の変換係数算出処理手順及び座標変換部14の座標変換処理手順をコンピュータに実行させるための変換係数算出プログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されているプログラムを実行するようにすればよい。
表示装置34は例えば液晶ディスプレイで実現されるものであり、プロセッサ32の処理の様子などを表示する。
図4は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。
ロボットハンド1は、物体10を把持している。この実施の形態1では、一例として、球体の物体10を把持しているものとする。
ロボット制御部2は、ロボットアーム又はロボットハンド1の関節を制御することで、ロボットハンド1の位置又は姿勢を切り替える。
この実施の形態1では、ロボット制御部2が、変換係数算出部13から出力される制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置又は姿勢を切り替えるものとする。
また、この実施の形態1では、説明の便宜上、N(Nは3以上の整数)回、ロボットアーム又はロボットハンド1の関節を制御するものとする。
位置Pr nは、以下の式(1)に示すように、ロボット座標系のX軸における座標Xr、Y軸における座標Yr、Z軸における座標Zrで表される。
式(1)において、Tは転置を表す記号であり、例えば、xTはベクトルxの転置である。
位置姿勢情報からロボット座標系での3次元位置Pr nを特定する処理は公知の技術であるため詳細な説明を省略するが、例えば、以下に示すような処理で3次元位置Pr nを特定することができる。
例えば、ロボットハンド1の位置及び姿勢と、ロボットハンド1により把持されている物体10の3次元位置Pr nとの対応関係を示すテーブルを事前に用意し、位置姿勢情報取得部11が、テーブルを参照することで、位置姿勢情報が示す位置及び姿勢に対応する3次元位置Pr nを特定する。
この実施の形態1では、センサ3から出力されるセンサ情報は、物体10の表面におけるM点の位置を示す3次元点群データp1 n,p2 n,・・・,pM nである。
Mは1以上の整数であり、M=1の場合、Ps n=p1 nである。
M≧2の場合、センサ情報取得部12は、物体10の形状を示す形状データを用いて、3次元点群データp1 n,p2 n,・・・,pM nから物体10のセンサ座標系での3次元位置Ps nを算出する。
この実施の形態1では、ロボットハンド1が球体の物体10を把持しているため、3次元点群データp1 n,p2 n,・・・,pM nは、球体の表面上のいずれかの点である。
このため、センサ情報取得部12は、物体10の形状を示す形状データとして、球体の形状を表す球の方程式を使用し、3次元点群データp1 n,p2 n,・・・,pM nに球の方程式をフィッティングすることで、物体10の中心の位置(X0,Y0,Z0)として、3次元位置Ps nを得ることができる。
まず、球の方程式は、以下の式(3)で表されるものとする。
式(3)において、rは球体の半径である。
このとき、M点の3次元点群データp1 n,p2 n,・・・,pM nの二乗誤差は、以下の式(4)で表される。
式(4)において、||x||はベクトルxのノルムを表す記号である。
センサ情報取得部12は、式(4)で表される二乗誤差が最小となるPs nをセンサ座標系での3次元位置Ps nとして算出する。
この実施の形態1では、球体が真球である例を説明しているが、物体10が真球ではない楕円体であってもよく、この場合は、楕円体の形状を表す方程式を使用するようにすればよい。
[非特許文献1]
David Eberly著、“Least Squares Fitting of Data,”1999年7月15日発行、https://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf
この場合には、M点の3次元点群データp1 n,p2 n,・・・,pM nの中から、不要な位置の計測結果を除去する必要がある。不要な位置の計測結果の除去は、人手によって除去するようにしてもよいが、例えば、以下の非特許文献2に記載されている方法を用いて、除去するようにしてもよい。
非特許文献2には、M点の3次元点群データp1 n,p2 n,・・・,pM nの中から、ロボットハンド1により把持されている物体10の領域の計測結果を自動的に抽出する方法が記載されている。
[非特許文献2]
Anas Abuzainaら著、“Sphere Detection in Kinect Point Clouds via the 3D Hough Transform,” Computer Analysis of Images and Patterns, vol. 8048, pp. 290〜297, Springer, 2013年発行
変換係数算出部13は、ロボット座標系での3次元位置Pr nとセンサ座標系での3次元位置Ps nとの組を記憶部13aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図4のステップST5)。
この実施の形態1では、Nは3以上の整数であり、この段階では、n=1であるため、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定される。
変換係数算出部13からロボットハンド1の位置又は姿勢の切り替えを指示する制御信号が出力されると、ステップST1〜ST5の処理が繰り返される。
これにより、ロボットハンド1により把持されている物体10は、ロボット座標系でPr nの位置に移動される(図4のステップST1)。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが2であれば、ロボット座標系でPr 2の位置に移動される。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが3であれば、ロボット座標系でPr 3の位置に移動される。
位置姿勢情報取得部11は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での3次元位置Pr nを特定する(図4のステップST2)。
センサ情報取得部12は、センサ3から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での3次元位置Ps nを特定する(図4のステップST3)。
変換係数算出部13は、位置姿勢情報取得部11により特定された物体10のロボット座標系での3次元位置Pr nと、センサ情報取得部12により特定された物体10のセンサ座標系での3次元位置Ps nとを取得し、ロボット座標系での3次元位置Pr nとセンサ座標系での3次元位置Ps nとの組を記憶部13aに保存する(図4のステップST4)。
変換係数算出部13は、ロボット座標系での3次元位置Pr nとセンサ座標系での3次元位置Ps nとの組を記憶部13aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図4のステップST5)。
センサ座標系での3次元位置Ps nをロボット座標系での3次元位置Pr nに変換する際の剛体変換は、回転行列R及び並進ベクトルtを用いると、以下の式(5)で表される。
以下、変換係数算出部13による回転行列R及び並進ベクトルtの算出処理を具体的に説明する。
即ち、変換係数算出部13は、以下に示すように、ロボット座標系での3次元位置Pr nとセンサ座標系での3次元位置Ps nとの組をN個取得する。n=1,2,・・・,Nである。
Pr 1−Ps 1の組
Pr 2−Ps 2の組
:
Pr N−Ps Nの組
N個の組から回転行列Rを算出する方法として、例えば、以下の非特許文献3に記載されている方法を用いることができる。
非特許文献3に記載されている方法は、N個の組における3次元位置Pr nと3次元位置Ps nを出来る限り近づける方法である。
即ち、非特許文献3に記載されている方法は、以下の式(6)を最小にする回転行列Rを算出する方法である。
[非特許文献3]
八木康史ら編、「コンピュータビジョン最先端ガイド3」、アドコム・メディア株式会社、2010年12月8日発行、p.36〜37
式(7)において、μrはロボット座標系での物体10の観測点の重心座標であり、以下の式(8)で表される。
μsはセンサ座標系での物体10の観測点の重心座標であり、以下の式(9)で表される。
式(10)において、U,Vはユニタリ行列であり、ユニタリ行列U,Vは共分散行列Aを特異値分解することで得られる。
変換係数算出部13は、以下の式(11)に示すように、ユニタリ行列U,Vを用いて、回転行列Rを算出する。
式(11)において、det(X)は行列Xの行列式を表している。
変換係数算出部13は、回転行列Rを算出すると、以下の式(12)に示すように、回転行列Rと、物体10の観測点の重心座標μr,μsとを用いて、並進ベクトルtを算出する。
その後、座標変換部14は、センサ情報取得部12からセンサ情報を受けると、記憶している回転行列R及び並進ベクトルtと、そのセンサ情報が示す物体10のセンサ座標系での3次元位置Psを以下の式(13)に代入することで、物体10のセンサ座標系での3次元位置Psをロボット座標系での3次元位置Prに変換する(図4のステップST8)。
上記実施の形態1では、ロボットハンド1により把持されている物体10が球体である例を示したが、この実施の形態2では、ロボットハンド1により把持されている物体10が平板である例を説明する。
センサ5はロボットハンド1により把持されている物体10を計測するレーザスキャナなどの3次元センサであり、物体10の計測結果を示すセンサ情報を出力する。
センサ5から出力されるセンサ情報は、空間中の物体10の表面である平面のパラメータ(以下、「平面パラメータ」と称する)の集合である。センサ5による物体10の計測方法として、ステレオビジョンに基づく方法、Time−of−Flight法などが知られている。
なお、センサ5は、平面パラメータの集合であるセンサ情報を出力するほか、図1のセンサ3と同様に、物体10の表面の3次元座標(X, Y, Z)の集合であるセンサ情報を出力する。
図6はこの発明の実施の形態2による変換係数算出装置6を示すハードウェア構成図である。
位置姿勢情報取得部41は例えば図6に示す位置姿勢情報取得回路51で実現されるものであり、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での平面パラメータを特定する処理を実施する。
センサ情報取得部42は例えば図6に示すセンサ情報取得回路52で実現されるものであり、センサ5から物体10のセンサ座標系での平面パラメータを示すセンサ情報を取得する処理を実施する。
変換係数算出部43はロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持する記憶部43aを備えている。
変換係数算出部43は、記憶部43aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部43は、ロボット座標系での平面パラメータとセンサ座標系での平面パラメータとの組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
座標変換部44は変換係数算出部43により算出された変換係数である回転行列R及び並進ベクトルtを用いて、センサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での3次元位置をロボット座標系での3次元位置に変換する処理を実施する。
しかし、変換係数算出装置6の構成要素は、専用のハードウェアで実現されるものに限るものではなく、変換係数算出装置6がソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
変換係数算出装置6がソフトウェア又はファームウェアなどで実現される場合、変換係数算出部45が備えている記憶部45aを図3に示すコンピュータのメモリ31上に構成するとともに、位置姿勢情報取得部41の位置姿勢情報取得処理手順、センサ情報取得部42のセンサ情報取得処理手順、変換係数算出部43の変換係数算出処理手順及び座標変換部44の座標変換処理手順をコンピュータに実行させるための変換係数算出プログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されているプログラムを実行するようにすればよい。
図7は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。
この実施の形態2では、物体10である平板は、ロボット座標系で無限に広がる平面であるものと仮定し、平板の平面は、以下の式(14)が示す平面パラメータπrで表されるものとする。
式(14)において、nrは平面の法線ベクトル、drはロボット座標系の原点から平面までの距離である。ロボット座標系の原点は、例えばロボットハンド1の中心位置である。
ロボット制御部2は、ロボットアーム又はロボットハンド1の関節を制御することで、ロボットハンド1の位置又は姿勢を切り替える。
この実施の形態2でも、上記実施の形態1と同様に、ロボット制御部2が、制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置又は姿勢を切り替えるものとする。
また、この実施の形態2では、説明の便宜上、N(Nは3以上の整数)回、ロボットアーム又はロボットハンド1の関節を制御するものとする。
位置姿勢情報からロボット座標系での平面パラメータπr nを特定する処理は公知の技術であるため詳細な説明を省略するが、例えば、以下に示すような処理で平面パラメータπr nを特定することができる。
例えば、ロボットハンド1の位置及び姿勢と、ロボットハンド1により把持されている物体10の平面パラメータπr nとの対応関係を示すテーブルを事前に用意し、位置姿勢情報取得部41が、テーブルを参照することで、位置姿勢情報が示す位置及び姿勢に対応する平面パラメータπr nを特定する。
この実施の形態2では、センサ5から出力されるセンサ情報は、物体10の表面におけるM点の平面パラメータを示す3次元点群データp1 n,p2 n,・・・,pM nである。
Mは1以上の整数であり、M=1の場合、πs n=p1 nである。
M≧2の場合、センサ情報取得部42は、物体10の形状を示す形状データを用いて、3次元点群データp1 n,p2 n,・・・,pM nから物体10のセンサ座標系での平面パラメータπs nを算出する。
この実施の形態2では、ロボットハンド1が平板の物体10を把持しているため、3次元点群データp1 n,p2 n,・・・,pM nは、平板の表面上のいずれかの点である。
このため、センサ情報取得部42は、物体10の形状を示す形状データとして、平板の形状を表す平面の方程式を使用し、3次元点群データp1 n,p2 n,・・・,pM nに平面の方程式をフィッティングすることで、物体10のセンサ座標系での平面パラメータπs nを得ることができる。
式(17)において、(a,b,c)は平面の法線ベクトルである。
変換係数算出部43は、ロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの組を記憶部43aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図7のステップST15)。
この実施の形態2では、Nは3以上の整数であり、この段階では、n=1であるため、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定される。
変換係数算出部43からロボットハンド1の位置又は姿勢の切り替えを指示する制御信号が出力されると、ステップST11〜ST15の処理が繰り返される。
これにより、ロボットハンド1により把持されている物体10の平面は、平面パラメータπr nで表される平面となる(図7のステップST11)。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが2であれば、物体10の平面が平面パラメータπr 2で表される平面となる、例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが3であれば、物体10の平面が平面パラメータπr 3で表される平面となる。
位置姿勢情報取得部41は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での平面パラメータπr nを特定する(図7のステップST12)。
センサ情報取得部42は、センサ5から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での平面パラメータπs nを特定する(図7のステップST13)。
変換係数算出部43は、位置姿勢情報取得部41により特定された物体10のロボット座標系での平面パラメータπr nと、センサ情報取得部42により特定された物体10のセンサ座標系での平面パラメータπs nとを取得し、ロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの組を記憶部43aに保存する(図7のステップST14)。
変換係数算出部43は、ロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの組を記憶部43aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図7のステップST15)。
ロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの関係は、回転行列R及び並進ベクトルtを用いると、以下の式(18)で表される。
以下、変換係数算出部13による回転行列R及び並進ベクトルtの算出処理を具体的に説明する。
即ち、変換係数算出部43は、以下に示すように、ロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの組をN個取得する。n=1,2,・・・,Nである。
πr 1−πs 1の組
πr 2−πs 2の組
:
πr N−πs Nの組
N個の組から回転行列Rを算出する方法として、例えば、以下の非特許文献4に記載されている方法を用いることができる。
非特許文献4に記載されている方法では、以下の式(19)を最小にする回転行列Rを算出する方法である。
[非特許文献4]
Yuichi Taguchiら著、“Point-Plane SLAM for Hand-Held 3D Sensors,” Proceedings of IEEE International Conference on Robotics and Automation, pp. 5182-5189, 2013年発行
その後、座標変換部44は、センサ情報取得部12から物体10のセンサ座標系での3次元位置Psを示すセンサ情報を受けると、記憶している回転行列R及び並進ベクトルtと、センサ情報が示す3次元位置Psとを以下の式(21)に代入することで、物体10のセンサ座標系での3次元位置Psをロボット座標系での3次元位置Prに変換する(図7のステップST18)。
上記実施の形態1では、ロボットハンド1により把持されている物体10が球体である例を示し、上記実施の形態2では、ロボットハンド1により把持されている物体10が平板である例をしている。ロボットハンド1により把持されている物体10は、球体や平板に限るものではない。
例えば、角などを有する立方体のように、形状に特徴がある物体10は、形状を3次元モデルで表すことができる。また、センサ情報が示す3次元点群データから、角などの特徴がある点を抽出することができる。
3次元モデルとしては、ロボットハンド1により把持される物体10のCADモデル又はポリゴンデータなどを使用することができる。
したがって、この実施の形態3では、センサ情報取得部12は、物体10の形状を示す形状データとして、物体10の3次元モデルを使用し、物体10の角などの特徴がある点の位置を示す3次元点群データp1 n,p2 n,・・・,pM nに物体10の3次元モデルをフィッティングすることで、物体10の中心の位置として、3次元位置Ps nを得ることができる。
その他は、上記実施の形態1と同様であるため詳細な説明を省略する。
上記実施の形態1,2では、変換係数算出部13又は変換係数算出部43が、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数を算出する例を示している。
しかし、ロボットハンド1により把持される物体10の姿勢によっては、センサ3又はセンサ5の計測結果に大きな誤差が含まれてしまうことがある。センサ3又はセンサ5の計測結果に大きな誤差が含まれていれば、センサ3又はセンサ5から大きな誤差を含むセンサ情報が変換係数算出部13又は変換係数算出部43に出力されるため、変換係数算出部13又は変換係数算出部43により算出される変換係数の精度が劣化する。
例えば、物体10が平板である場合、平板がセンサ5と正対している状況と、平板がセンサ5と正対していない状況とを比べてみると、正対していない状況で計測されたセンサ情報の方が大きな誤差を含んでいる。
ただし、形状や材質などの物体10の特性によっては、物体10の姿勢が変わっても、センサ情報に含まれる誤差に変化がない場合もある。
この実施の形態4では、物体10の姿勢によって、変換係数算出部13又は変換係数算出部43により算出される変換係数の精度が劣化する状況を回避することができる例を説明する。
図9はこの発明の実施の形態4による変換係数算出装置6を示すハードウェア構成図である。図9において、図6と同一符号は同一または相当部分を示している。
変換係数算出装置6は、位置姿勢情報取得部41、センサ情報取得部42、変換係数算出部45、座標変換部44及び位置姿勢調整部46を備えている。
変換係数算出部45は図5の変換係数算出部43と同様に、ロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持する記憶部45aを備えている。
変換係数算出部45は図5の変換係数算出部43と同様に、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部45は図5の変換係数算出部43と同様に、ロボット座標系での平面パラメータとセンサ座標系での平面パラメータとの組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
また、変換係数算出部45は、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを再度算出する処理を実施する。
位置姿勢調整部46は例えば図9に示す位置姿勢調整回路56で実現される。
位置姿勢調整部46は変換係数算出部45により最初に変換係数が算出された後、ロボット制御部2を制御することで、ロボットハンド1の位置又は姿勢を調整する。
図1の変換係数算出装置4に適用される場合、変換係数算出部45は、図1の変換係数算出部13と同様に、位置姿勢情報取得部11により特定されたロボット座標系での3次元位置とセンサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置との組を保持する。
また、変換係数算出部45は、図1の変換係数算出部13と同様に、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する。
しかし、変換係数算出装置6の構成要素は、専用のハードウェアで実現されるものに限るものではなく、変換係数算出装置6がソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
変換係数算出装置6がソフトウェア又はファームウェアなどで実現される場合、変換係数算出部45が備えている記憶部45aを図3に示すコンピュータのメモリ31上に構成するとともに、位置姿勢情報取得部41の位置姿勢情報取得処理手順、センサ情報取得部42のセンサ情報取得処理手順、変換係数算出部45の変換係数算出処理手順、座標変換部44の座標変換処理手順及び位置姿勢調整部46の処理手順をコンピュータに実行させるための変換係数算出プログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されているプログラムを実行するようにすればよい。
この実施の形態4では、物体10が平板である例を説明する。
変換係数算出部45は、上記実施の形態2における図5の変換係数算出部43と同様に、図7のステップST11〜ST17を実行することにより、変換係数として、回転行列R及び並進ベクトルtを算出する。
即ち、変換係数算出部45は、センサ5の光軸を表すベクトルnaと、平板の物体10における平面の法線ベクトルnrとのなす角が例えば5度以内になり、かつ、ロボット座標系の原点から平面までの距離drがセンサ5の測距可能範囲内になるようなセンサ座標系での平面パラメータπs=(ns,ds)を設定する。
位置姿勢調整部46は、物体10の平面が、変換係数算出部45により変換された平面パラメータπr=(nr,dr)で表される平面となるように、ロボット制御部2を制御することで、ロボットハンド1の位置又は姿勢を調整する。
変換係数算出部45は、記憶部45aからロボット座標系での平面パラメータπr nとセンサ座標系での平面パラメータπs nとの組をN個取得し、N個の組から回転行列Rを再度算出する。
変換係数算出部45は、回転行列Rを再度算出すると、その回転行列Rを用いて、並進ベクトルtを再度算出する。
Claims (9)
- 物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得部と、
前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得部と、
前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出部と
を備えた変換係数算出装置。 - 前記変換係数算出部により算出された変換係数を用いて、前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置を前記ロボット座標系での位置に変換する座標変換部を備えたことを特徴とする請求項1記載の変換係数算出装置。
- 前記変換係数算出部は、前記センサ情報取得部により取得されたセンサ情報が、前記物体の表面における複数の位置又は複数の平面パラメータを示す3次元点群データであれば、前記物体の形状を示す形状データを用いて、前記3次元点群データから前記物体のセンサ座標系での位置又は平面パラメータを算出することを特徴とする請求項1記載の変換係数算出装置。
- 前記変換係数算出部は、前記物体が球体であれば、前記物体の形状を示す形状データとして、前記球体の形状を表す球の方程式を用いることを特徴とする請求項3記載の変換係数算出装置。
- 前記変換係数算出部は、前記物体が平板であれば、前記物体の形状を示す形状データとして、前記平板の形状を表す平面の方程式を用いることを特徴とする請求項3記載の変換係数算出装置。
- 前記変換係数算出部は、前記物体の形状が3次元モデルで表される形状であれば、前記物体の形状を示す形状データとして、前記3次元モデルを用いることを特徴とする請求項3記載の変換係数算出装置。
- 前記変換係数算出部により変換係数が算出された後、前記ロボットハンドの位置又は姿勢を調整する位置姿勢調整部を備え、
前記変換係数算出部は、前記位置姿勢調整部によりロボットハンドの位置又は姿勢が調整された後、再度、前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出することを特徴とする請求項1記載の変換係数算出装置。 - 位置姿勢情報取得部が、物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定し、
センサ情報取得部が、前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得し、
変換係数算出部が、前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する
変換係数算出方法。 - 物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得処理手順と、
前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得処理手順と、
前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得処理手順により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得処理手順により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出処理手順と
をコンピュータに実行させるための変換係数算出プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/004006 WO2018142582A1 (ja) | 2017-02-03 | 2017-02-03 | 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6275345B1 JP6275345B1 (ja) | 2018-02-07 |
JPWO2018142582A1 true JPWO2018142582A1 (ja) | 2019-02-07 |
Family
ID=61158391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017536596A Expired - Fee Related JP6275345B1 (ja) | 2017-02-03 | 2017-02-03 | 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6275345B1 (ja) |
CN (1) | CN110267771A (ja) |
TW (1) | TW201830272A (ja) |
WO (1) | WO2018142582A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112229385B (zh) * | 2020-10-04 | 2024-08-20 | 山东理工大学 | 一种用3个三维平面基元直接求解扫描点云地理化参数的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3104448B2 (ja) * | 1992-12-25 | 2000-10-30 | 三菱電機株式会社 | 視覚センサ付きロボットの座標系の設定方法 |
JP4218952B2 (ja) * | 2003-09-30 | 2009-02-04 | キヤノン株式会社 | データ変換方法及び装置 |
JP2007061979A (ja) * | 2005-09-01 | 2007-03-15 | Sharp Corp | ロボットアームの視覚センサ補正方法およびコンピュータプログラム |
JP4967858B2 (ja) * | 2007-06-29 | 2012-07-04 | 日産自動車株式会社 | カメラとロボット間のキャリブレーション方法及びその装置 |
CN101419070B (zh) * | 2008-12-03 | 2010-11-10 | 南京航空航天大学 | 基于激光测距成像仪的相对位姿确定方法 |
DE112011105151B4 (de) * | 2011-04-14 | 2018-09-13 | Mitsubishi Electric Corp. | Roboterkontrollvorrichtung |
JP6108860B2 (ja) * | 2013-02-14 | 2017-04-05 | キヤノン株式会社 | ロボットシステム及びロボットシステムの制御方法 |
JP2014180720A (ja) * | 2013-03-19 | 2014-09-29 | Yaskawa Electric Corp | ロボットシステム及びキャリブレーション方法 |
CN103337066B (zh) * | 2013-05-27 | 2016-05-18 | 清华大学 | 3d获取系统的校准方法 |
JP6415190B2 (ja) * | 2014-09-03 | 2018-10-31 | キヤノン株式会社 | ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法 |
JP6573354B2 (ja) * | 2014-11-28 | 2019-09-11 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
-
2017
- 2017-02-03 CN CN201780084839.XA patent/CN110267771A/zh not_active Withdrawn
- 2017-02-03 JP JP2017536596A patent/JP6275345B1/ja not_active Expired - Fee Related
- 2017-02-03 WO PCT/JP2017/004006 patent/WO2018142582A1/ja active Application Filing
- 2017-05-31 TW TW106117839A patent/TW201830272A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2018142582A1 (ja) | 2018-08-09 |
CN110267771A (zh) | 2019-09-20 |
JP6275345B1 (ja) | 2018-02-07 |
TW201830272A (zh) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102458415B1 (ko) | 로봇 모션 용 비전 시스템의 자동 핸드-아이 캘리브레이션을 위한 시스템 및 방법 | |
JP5850962B2 (ja) | ビジュアルフィードバックを利用したロボットシステム | |
EP2981397B1 (en) | A robot system and method for calibration | |
JP7027299B2 (ja) | ビジョンベース操作システムのキャリブレーション及びオペレーション | |
EP2543482B1 (en) | Information processing apparatus and information processing method | |
JP4021413B2 (ja) | 計測装置 | |
JP6324025B2 (ja) | 情報処理装置、情報処理方法 | |
CN111801198A (zh) | 一种手眼标定方法、系统及计算机存储介质 | |
KR20140008262A (ko) | 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 | |
CN111612794A (zh) | 基于多2d视觉的零部件高精度三维位姿估计方法及系统 | |
JP2019089188A (ja) | 作動システムおよびプログラム | |
JP2014169990A (ja) | 位置姿勢計測装置及び方法 | |
US20220383547A1 (en) | Hand-eye calibration of camera-guided apparatuses | |
WO2023134237A1 (zh) | 用于机器人的坐标系标定方法、装置、系统以及介质 | |
CN116766194A (zh) | 基于双目视觉的盘类工件定位与抓取系统和方法 | |
JP6275345B1 (ja) | 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム | |
US12098911B2 (en) | Measurement device, measurement method, and computer-readable storage medium storing a measurement program | |
CN117817671B (zh) | 基于视觉引导的机器人系统及机器人系统校准方法 | |
US12128571B2 (en) | 3D computer-vision system with variable spatial resolution | |
Korak et al. | Optical tracking system | |
US20230123629A1 (en) | 3d computer-vision system with variable spatial resolution | |
JP6548789B2 (ja) | 位置姿勢計測装置及び方法 | |
Hu et al. | Simultaneous hand-eye-workspace and camera calibration using laser beam projection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170710 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170710 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170710 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171010 |
|
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: 20171212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6275345 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |