JPWO2018142582A1 - 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム - Google Patents

変換係数算出装置、変換係数算出方法及び変換係数算出プログラム Download PDF

Info

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
Application number
JP2017536596A
Other languages
English (en)
Other versions
JP6275345B1 (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6275345B1 publication Critical patent/JP6275345B1/ja
Publication of JPWO2018142582A1 publication Critical patent/JPWO2018142582A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-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

変換係数算出部(13)が、ロボットハンド(1)の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部(11)により特定されたロボット座標系での位置とセンサ情報取得部(12)により取得されたセンサ情報が示すセンサ座標系での位置との組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出する。

Description

この発明は、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出装置、変換係数算出方法及び変換係数算出プログラムに関するものである。
ロボットシステムは、例えば、加工対象等の物体を把持するロボットハンドが取り付けられているロボットアームなどを備えているシステムである。
また、ロボットシステムは、物体及びロボットハンドの周辺を計測するセンサを備えており、センサにより計測されたセンサ情報を用いて、ロボットアーム及びロボットハンドの位置及び姿勢を制御するようにしている。
ただし、センサにより計測されたセンサ情報は、物体等のセンサ座標系での3次元位置を示す情報である。このため、ロボットシステムが、ロボットアーム等の位置及び姿勢の制御を行う際、センサ情報を用いることができるようにするには、センサ情報が示す3次元位置をセンサ座標系からロボット座標系に変換する必要がある。
センサ座標系は、センサを中心とする座標系であり、ロボット座標系は、ロボットを中心とするロボット座標系である。
以下の特許文献1には、ロボットハンドが画像認識用のマーカを把持し、センサであるカメラがマーカを撮影することで、座標の変換係数を算出する変換係数算出装置が開示されている。
この変換係数算出装置は、カメラにより撮影された映像内のマーカのセンサ座標系(カメラ座標系)での位置と、ロボットハンドにより把持されているマーカのロボット座標系での位置とから、センサであるカメラとロボットとの相対的な位置関係を示すパラメータを算出する。
センサであるカメラとロボットとの相対的な位置関係を示すパラメータは、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる座標の変換係数に相当する。
この変換係数算出装置は、カメラとロボットとの相対的な位置関係を示すパラメータを算出すると、以降、相対的な位置関係を示すパラメータを用いて、センサにより計測されたセンサ情報が示す物体等の3次元位置をロボット座標系の3次元位置に変換する。
特開2014−180720号公報
従来の変換係数算出装置は以上のように構成されているので、センサがカメラであり、ロボットハンドがマーカを把持するようにすれば、センサであるカメラとロボットとの相対的な位置関係を示すパラメータを算出することができる。しかし、センサが、例えば、レーザスキャナなどの3次元センサである場合、マーカを撮影することができないため、センサとロボットとの相対的な位置関係を示すパラメータを算出することができないという課題があった。
この発明は上記のような課題を解決するためになされたもので、センサがレーザスキャナなどの3次元センサであっても、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出することができる変換係数算出装置、変換係数算出方法及び変換係数算出プログラムを得ることを目的とする。
この発明に係る変換係数算出装置は、物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体のロボット座標系での位置又は物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得部と、ロボットハンドに固定されている物体を計測するセンサから、物体のセンサ座標系での位置又は物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得部とを設け、変換係数算出部が、ロボットハンドの位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータとセンサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出するようにしたものである。
この発明によれば、変換係数算出部が、ロボットハンドの位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータとセンサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出するように構成したので、センサがレーザスキャナなどの3次元センサであっても、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出することができる効果がある。
この発明の実施の形態1による変換係数算出装置4を実装しているロボットシステムを示す構成図である。 この発明の実施の形態1による変換係数算出装置4を示すハードウェア構成図である。 変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。 変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。 この発明の実施の形態2による変換係数算出装置6を実装しているロボットシステムを示す構成図である。 この発明の実施の形態2による変換係数算出装置6を示すハードウェア構成図である。 変換係数算出装置6がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。 この発明の実施の形態4による変換係数算出装置6を実装しているロボットシステムを示す構成図である。 この発明の実施の形態4による変換係数算出装置6を示すハードウェア構成図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1はこの発明の実施の形態1による変換係数算出装置4を実装しているロボットシステムを示す構成図である。
図1において、ロボットハンド1はロボットアームの先端等に取り付けられており、例えば、加工対象等の物体10が固定されている。
ロボットアームは、少なくとも1つ以上の関節を備えており、1つ以上の関節が制御されることで、ロボットハンド1の位置又は姿勢が切り替えられる。
ロボットハンド1は、物体10を把持する機能を有している。ただし、ロボットハンド1は、物体10を固定することができればよく、物体10を把持する方式は問わない。例えば、多数の指を開閉することで物体10を挟み込む方式、磁力又は吸引によって物体10を把持する方式などがある。
ロボット制御部2はロボットアーム又はロボットハンド1の関節を制御することで、ロボットハンド1の位置又は姿勢を切り替える制御装置である。ロボットハンド1の姿勢は、例えば、ロボットが置かれている面に対する角度などが該当する。
センサ3はロボットハンド1により把持されている物体10を計測するレーザスキャナなどの3次元センサであり、物体10の計測結果を示すセンサ情報を出力する。
センサ3から出力されるセンサ情報は、空間中の物体10の表面の3次元座標(X, Y, Z)の集合である。センサ3による物体10の計測方法として、ステレオビジョンに基づく方法、Time−of−Flight法などが知られている。
変換係数算出装置4は、位置姿勢情報取得部11、センサ情報取得部12、変換係数算出部13及び座標変換部14を備えている。
図2はこの発明の実施の形態1による変換係数算出装置4を示すハードウェア構成図である。
位置姿勢情報取得部11は例えば図2に示す位置姿勢情報取得回路21で実現されるものであり、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での3次元位置を特定する処理を実施する。
センサ情報取得部12は例えば図2に示すセンサ情報取得回路22で実現されるものであり、センサ3から物体10のセンサ座標系での3次元位置を示すセンサ情報を取得する処理を実施する。
なお、センサ座標系は、センサ3を中心とする座標系であり、ロボット座標系は、ロボットハンド1を中心とするロボット座標系である。
変換係数算出部13は例えば図2に示す変換係数算出回路23で実現される。
変換係数算出部13はロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部11により特定されたロボット座標系での3次元位置とセンサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置との組を保持する記憶部13aを備えている。
変換係数算出部13は、記憶部13aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部13は、ロボット座標系での3次元位置とセンサ座標系での3次元位置との組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
座標変換部14は例えば図2に示す座標変換回路24で実現される。
座標変換部14は変換係数算出部13により算出された変換係数である回転行列R及び並進ベクトルtを用いて、センサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置をロボット座標系での3次元位置に変換する処理を実施する。
図1では、変換係数算出装置4の構成要素である位置姿勢情報取得部11、センサ情報取得部12、変換係数算出部13及び座標変換部14のそれぞれが、図2に示すような専用のハードウェア、即ち、位置姿勢情報取得回路21、センサ情報取得回路22、変換係数算出回路23及び座標変換回路24で実現されるものを想定している。
ここで、変換係数算出部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)、または、これらを組み合わせたものが該当する。
変換係数算出装置4の構成要素は、専用のハードウェアで実現されるものに限るものではなく、変換係数算出装置4がソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
ソフトウェア又はファームウェアはプログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)などが該当する。
図3は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合、変換係数算出部13が備えている記憶部13aをコンピュータのメモリ31上に構成するとともに、位置姿勢情報取得部11の位置姿勢情報取得処理手順、センサ情報取得部12のセンサ情報取得処理手順、変換係数算出部13の変換係数算出処理手順及び座標変換部14の座標変換処理手順をコンピュータに実行させるための変換係数算出プログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されているプログラムを実行するようにすればよい。
図3において、通信回路33はロボットハンド1から位置姿勢情報を受信するとともに、センサ3からセンサ情報を受信し、また、制御信号をロボット制御部2に出力する回路である。
表示装置34は例えば液晶ディスプレイで実現されるものであり、プロセッサ32の処理の様子などを表示する。
図4は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。
次に動作について説明する。
ロボットハンド1は、物体10を把持している。この実施の形態1では、一例として、球体の物体10を把持しているものとする。
ロボット制御部2は、ロボットアーム又はロボットハンド1の関節を制御することで、ロボットハンド1の位置又は姿勢を切り替える。
この実施の形態1では、ロボット制御部2が、変換係数算出部13から出力される制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置又は姿勢を切り替えるものとする。
また、この実施の形態1では、説明の便宜上、N(Nは3以上の整数)回、ロボットアーム又はロボットハンド1の関節を制御するものとする。
ロボットハンド1により把持されている物体10は、ロボット制御部2によってロボットアーム又はロボットハンド1の関節が制御されることで、n(n=1,2,・・・,N)回目の制御では、ロボット座標系でP の位置に移動される(図4のステップST1)。この段階では、n=1であるため、ロボット座標系でP の位置に移動される。
位置P は、以下の式(1)に示すように、ロボット座標系のX軸における座標X、Y軸における座標Y、Z軸における座標Zで表される。
Figure 2018142582
式(1)において、Tは転置を表す記号であり、例えば、xはベクトルxの転置である。
位置姿勢情報取得部11は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での3次元位置P を特定する(図4のステップST2)。
位置姿勢情報からロボット座標系での3次元位置P を特定する処理は公知の技術であるため詳細な説明を省略するが、例えば、以下に示すような処理で3次元位置P を特定することができる。
例えば、ロボットハンド1の位置及び姿勢と、ロボットハンド1により把持されている物体10の3次元位置P との対応関係を示すテーブルを事前に用意し、位置姿勢情報取得部11が、テーブルを参照することで、位置姿勢情報が示す位置及び姿勢に対応する3次元位置P を特定する。
センサ3は、ロボット制御部2によって、ロボット座標系でP (n=1,2,・・・,N)の位置に移動された物体10を計測し、物体10の計測結果として、物体10のセンサ座標系での3次元位置P (n=1,2,・・・,N)を示すセンサ情報を出力する。
Figure 2018142582
この実施の形態1では、センサ3から出力されるセンサ情報は、物体10の表面におけるM点の位置を示す3次元点群データp ,p ,・・・,p である。
センサ情報取得部12は、センサ3から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での3次元位置P (n=1,2,・・・,N)を特定する(図4のステップST3)。
Mは1以上の整数であり、M=1の場合、P =p である。
M≧2の場合、センサ情報取得部12は、物体10の形状を示す形状データを用いて、3次元点群データp ,p ,・・・,p から物体10のセンサ座標系での3次元位置P を算出する。
この実施の形態1では、ロボットハンド1が球体の物体10を把持しているため、3次元点群データp ,p ,・・・,p は、球体の表面上のいずれかの点である。
このため、センサ情報取得部12は、物体10の形状を示す形状データとして、球体の形状を表す球の方程式を使用し、3次元点群データp ,p ,・・・,p に球の方程式をフィッティングすることで、物体10の中心の位置(X,Y,Z)として、3次元位置P を得ることができる。
3次元点群データp ,p ,・・・,p に球の方程式をフィッティングする方法としては、複数の方法が考えられるが、ここでは、一例として、最小二乗法によるフィッティング方法を説明する。
まず、球の方程式は、以下の式(3)で表されるものとする。
Figure 2018142582
式(3)において、rは球体の半径である。
このとき、M点の3次元点群データp ,p ,・・・,p の二乗誤差は、以下の式(4)で表される。
Figure 2018142582
式(4)において、||x||はベクトルxのノルムを表す記号である。
センサ情報取得部12は、式(4)で表される二乗誤差が最小となるP をセンサ座標系での3次元位置P として算出する。
式(4)で表される二乗誤差が最小となるP を算出する方法も複数存在するが、例えば、非特許文献1に開示されている「Direct Least Squares Algorithm」などの方法を用いることができる。
この実施の形態1では、球体が真球である例を説明しているが、物体10が真球ではない楕円体であってもよく、この場合は、楕円体の形状を表す方程式を使用するようにすればよい。
[非特許文献1]
David Eberly著、“Least Squares Fitting of Data,”1999年7月15日発行、https://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf
なお、M点の3次元点群データp ,p ,・・・,p の中には、ロボットハンド1により把持されている物体10の3次元位置以外の不要な位置の計測結果も含まれる場合がある。
この場合には、M点の3次元点群データp ,p ,・・・,p の中から、不要な位置の計測結果を除去する必要がある。不要な位置の計測結果の除去は、人手によって除去するようにしてもよいが、例えば、以下の非特許文献2に記載されている方法を用いて、除去するようにしてもよい。
非特許文献2には、M点の3次元点群データp ,p ,・・・,p の中から、ロボットハンド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は、位置姿勢情報取得部11により特定された物体10のロボット座標系での3次元位置P と、センサ情報取得部12により特定された物体10のセンサ座標系での3次元位置P とを取得し、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組を記憶部13aに保存する(図4のステップST4)。
変換係数算出部13は、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組を記憶部13aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図4のステップST5)。
この実施の形態1では、Nは3以上の整数であり、この段階では、n=1であるため、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定される。
変換係数算出部13は、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定すると(図4のステップST5:NOの場合)、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する(図4のステップST6)。
変換係数算出部13からロボットハンド1の位置又は姿勢の切り替えを指示する制御信号が出力されると、ステップST1〜ST5の処理が繰り返される。
即ち、ロボット制御部2は、変換係数算出部13から制御信号を受けると、その制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置及び姿勢を切り替える制御を行う。
これにより、ロボットハンド1により把持されている物体10は、ロボット座標系でP の位置に移動される(図4のステップST1)。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが2であれば、ロボット座標系でP の位置に移動される。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが3であれば、ロボット座標系でP の位置に移動される。
位置姿勢情報取得部11は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での3次元位置P を特定する(図4のステップST2)。
センサ3は、ロボット制御部2によって、ロボット座標系でP の位置に移動された物体10を計測し、物体10の計測結果として、物体10のセンサ座標系での3次元位置P を示すセンサ情報を出力する。
センサ情報取得部12は、センサ3から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での3次元位置P を特定する(図4のステップST3)。
変換係数算出部13は、位置姿勢情報取得部11により特定された物体10のロボット座標系での3次元位置P と、センサ情報取得部12により特定された物体10のセンサ座標系での3次元位置P とを取得し、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組を記憶部13aに保存する(図4のステップST4)。
変換係数算出部13は、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組を記憶部13aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図4のステップST5)。
変換係数算出部13は、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していると判定すると(図4のステップST5:YESの場合)、変換係数として回転行列R及び並進ベクトルtを算出する(図4のステップST7)。
センサ座標系での3次元位置P をロボット座標系での3次元位置P に変換する際の剛体変換は、回転行列R及び並進ベクトルtを用いると、以下の式(5)で表される。
Figure 2018142582
以下、変換係数算出部13による回転行列R及び並進ベクトルtの算出処理を具体的に説明する。
変換係数算出部13は、記憶部13aに保持されているN個の組を取得する。
即ち、変換係数算出部13は、以下に示すように、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組をN個取得する。n=1,2,・・・,Nである。
−P の組
−P の組

−P の組
変換係数算出部13は、ロボット座標系での3次元位置P とセンサ座標系での3次元位置P との組をN個取得すると、以下に示すように、N個の組から回転行列R及び並進ベクトルtを算出する。
N個の組から回転行列Rを算出する方法として、例えば、以下の非特許文献3に記載されている方法を用いることができる。
非特許文献3に記載されている方法は、N個の組における3次元位置P と3次元位置P を出来る限り近づける方法である。
即ち、非特許文献3に記載されている方法は、以下の式(6)を最小にする回転行列Rを算出する方法である。
Figure 2018142582
[非特許文献3]
八木康史ら編、「コンピュータビジョン最先端ガイド3」、アドコム・メディア株式会社、2010年12月8日発行、p.36〜37
変換係数算出部13は、式(6)を最小にする回転行列Rを算出するため、まず、以下の式(7)で表される共分散行列Aを算出する。
Figure 2018142582
式(7)において、μはロボット座標系での物体10の観測点の重心座標であり、以下の式(8)で表される。
μはセンサ座標系での物体10の観測点の重心座標であり、以下の式(9)で表される。
Figure 2018142582

Figure 2018142582
変換係数算出部13は、共分散行列Aを算出すると、以下の式(10)に示すように、共分散行列Aを特異値分解する。
Figure 2018142582
式(10)において、U,Vはユニタリ行列であり、ユニタリ行列U,Vは共分散行列Aを特異値分解することで得られる。
変換係数算出部13は、以下の式(11)に示すように、ユニタリ行列U,Vを用いて、回転行列Rを算出する。
Figure 2018142582
式(11)において、det(X)は行列Xの行列式を表している。
変換係数算出部13は、回転行列Rを算出すると、以下の式(12)に示すように、回転行列Rと、物体10の観測点の重心座標μ,μとを用いて、並進ベクトルtを算出する。
Figure 2018142582
座標変換部14は、変換係数算出部13により算出された回転行列R及び並進ベクトルtを取得し、回転行列R及び並進ベクトルtを記憶する。
その後、座標変換部14は、センサ情報取得部12からセンサ情報を受けると、記憶している回転行列R及び並進ベクトルtと、そのセンサ情報が示す物体10のセンサ座標系での3次元位置Pを以下の式(13)に代入することで、物体10のセンサ座標系での3次元位置Pをロボット座標系での3次元位置Pに変換する(図4のステップST8)。
Figure 2018142582
以上で明らかなように、この実施の形態1によれば、変換係数算出部13が、ロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部11により特定されたロボット座標系での位置とセンサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での位置との組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出するように構成したので、センサ3がレーザスキャナなどの3次元センサであっても、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出することができる効果を奏する。
実施の形態2.
上記実施の形態1では、ロボットハンド1により把持されている物体10が球体である例を示したが、この実施の形態2では、ロボットハンド1により把持されている物体10が平板である例を説明する。
図5はこの発明の実施の形態2による変換係数算出装置6を実装しているロボットシステムを示す構成図である。図5において、図1と同一符号は同一または相当部分を示すので説明を省略する。
センサ5はロボットハンド1により把持されている物体10を計測するレーザスキャナなどの3次元センサであり、物体10の計測結果を示すセンサ情報を出力する。
センサ5から出力されるセンサ情報は、空間中の物体10の表面である平面のパラメータ(以下、「平面パラメータ」と称する)の集合である。センサ5による物体10の計測方法として、ステレオビジョンに基づく方法、Time−of−Flight法などが知られている。
なお、センサ5は、平面パラメータの集合であるセンサ情報を出力するほか、図1のセンサ3と同様に、物体10の表面の3次元座標(X, Y, Z)の集合であるセンサ情報を出力する。
変換係数算出装置6は、位置姿勢情報取得部41、センサ情報取得部42、変換係数算出部43及び座標変換部44を備えている。
図6はこの発明の実施の形態2による変換係数算出装置6を示すハードウェア構成図である。
位置姿勢情報取得部41は例えば図6に示す位置姿勢情報取得回路51で実現されるものであり、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での平面パラメータを特定する処理を実施する。
センサ情報取得部42は例えば図6に示すセンサ情報取得回路52で実現されるものであり、センサ5から物体10のセンサ座標系での平面パラメータを示すセンサ情報を取得する処理を実施する。
変換係数算出部43は例えば図6に示す変換係数算出回路53で実現される。
変換係数算出部43はロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持する記憶部43aを備えている。
変換係数算出部43は、記憶部43aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部43は、ロボット座標系での平面パラメータとセンサ座標系での平面パラメータとの組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
座標変換部44は例えば図6に示す座標変換回路54で実現される。
座標変換部44は変換係数算出部43により算出された変換係数である回転行列R及び並進ベクトルtを用いて、センサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での3次元位置をロボット座標系での3次元位置に変換する処理を実施する。
図5では、変換係数算出装置6の構成要素が専用のハードウェアで実現されるものを想定している。
しかし、変換係数算出装置6の構成要素は、専用のハードウェアで実現されるものに限るものではなく、変換係数算出装置6がソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
変換係数算出装置6がソフトウェア又はファームウェアなどで実現される場合、変換係数算出部45が備えている記憶部45aを図3に示すコンピュータのメモリ31上に構成するとともに、位置姿勢情報取得部41の位置姿勢情報取得処理手順、センサ情報取得部42のセンサ情報取得処理手順、変換係数算出部43の変換係数算出処理手順及び座標変換部44の座標変換処理手順をコンピュータに実行させるための変換係数算出プログラムをメモリ31に格納し、コンピュータのプロセッサ32がメモリ31に格納されているプログラムを実行するようにすればよい。
図7は変換係数算出装置4がソフトウェア又はファームウェアなどで実現される場合の処理手順に相当する変換係数算出方法を示すフローチャートである。
次に動作について説明する。
この実施の形態2では、物体10である平板は、ロボット座標系で無限に広がる平面であるものと仮定し、平板の平面は、以下の式(14)が示す平面パラメータπで表されるものとする。
Figure 2018142582
式(14)において、nは平面の法線ベクトル、dはロボット座標系の原点から平面までの距離である。ロボット座標系の原点は、例えばロボットハンド1の中心位置である。
ロボットハンド1は、平板の物体10を把持している。
ロボット制御部2は、ロボットアーム又はロボットハンド1の関節を制御することで、ロボットハンド1の位置又は姿勢を切り替える。
この実施の形態2でも、上記実施の形態1と同様に、ロボット制御部2が、制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置又は姿勢を切り替えるものとする。
また、この実施の形態2では、説明の便宜上、N(Nは3以上の整数)回、ロボットアーム又はロボットハンド1の関節を制御するものとする。
ロボットハンド1により把持されている物体10の平面は、ロボット制御部2によってロボットアーム又はロボットハンド1の関節が制御されることで、n(n=1,2,・・・,N)回目の制御では、以下の式(15)に示す平面パラメータπ で表される平面となる(図7のステップST11)。この段階では、n=1であるため、物体10の平面が平面パラメータπ で表される平面となる。
Figure 2018142582
位置姿勢情報取得部41は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での平面パラメータπ を特定する(図7のステップST12)。
位置姿勢情報からロボット座標系での平面パラメータπ を特定する処理は公知の技術であるため詳細な説明を省略するが、例えば、以下に示すような処理で平面パラメータπ を特定することができる。
例えば、ロボットハンド1の位置及び姿勢と、ロボットハンド1により把持されている物体10の平面パラメータπ との対応関係を示すテーブルを事前に用意し、位置姿勢情報取得部41が、テーブルを参照することで、位置姿勢情報が示す位置及び姿勢に対応する平面パラメータπ を特定する。
センサ5は、ロボット制御部2によって、位置又は姿勢が切り替えられたロボットハンド1に把持されている物体10のセンサ座標系での平面パラメータπ (n=1,2,・・・,N)を示すセンサ情報を出力する。
Figure 2018142582
この実施の形態2では、センサ5から出力されるセンサ情報は、物体10の表面におけるM点の平面パラメータを示す3次元点群データp ,p ,・・・,p である。
センサ情報取得部42は、センサ5から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での平面パラメータπ (n=1,2,・・・,N)を特定する(図7のステップST13)。
Mは1以上の整数であり、M=1の場合、π =p である。
M≧2の場合、センサ情報取得部42は、物体10の形状を示す形状データを用いて、3次元点群データp ,p ,・・・,p から物体10のセンサ座標系での平面パラメータπ を算出する。
この実施の形態2では、ロボットハンド1が平板の物体10を把持しているため、3次元点群データp ,p ,・・・,p は、平板の表面上のいずれかの点である。
このため、センサ情報取得部42は、物体10の形状を示す形状データとして、平板の形状を表す平面の方程式を使用し、3次元点群データp ,p ,・・・,p に平面の方程式をフィッティングすることで、物体10のセンサ座標系での平面パラメータπ を得ることができる。
3次元点群データp ,p ,・・・,p に平面の方程式をフィッティングする方法としては、複数の方法が考えられるが、上記実施の形態1と同様に、最小二乗法によるフィッティング方法を用いることができる。平面の方程式は、例えば、以下の式(17)で表される。
Figure 2018142582
式(17)において、(a,b,c)は平面の法線ベクトルである。
変換係数算出部43は、位置姿勢情報取得部41により特定された物体10のロボット座標系での平面パラメータπ と、センサ情報取得部42により特定された物体10のセンサ座標系での平面パラメータπ とを取得し、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組を記憶部43aに保存する(図7のステップST14)。
変換係数算出部43は、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組を記憶部43aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図7のステップST15)。
この実施の形態2では、Nは3以上の整数であり、この段階では、n=1であるため、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定される。
変換係数算出部43は、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していないと判定すると(図7のステップST15:NOの場合)、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する(図7のステップST16)。
変換係数算出部43からロボットハンド1の位置又は姿勢の切り替えを指示する制御信号が出力されると、ステップST11〜ST15の処理が繰り返される。
即ち、ロボット制御部2は、変換係数算出部43から制御信号を受けると、その制御信号に従ってロボットアーム又はロボットハンド1の関節の角度を変えることで、ロボットハンド1の位置及び姿勢を切り替える制御を行う。
これにより、ロボットハンド1により把持されている物体10の平面は、平面パラメータπ で表される平面となる(図7のステップST11)。例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが2であれば、物体10の平面が平面パラメータπ で表される平面となる、例えば、ロボットアーム又はロボットハンド1の関節を制御した回数nが3であれば、物体10の平面が平面パラメータπ で表される平面となる。
位置姿勢情報取得部41は、ロボットハンド1の位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体10のロボット座標系での平面パラメータπ を特定する(図7のステップST12)。
センサ5は、ロボット制御部2によって、位置又は姿勢が切り替えられたロボットハンド1に把持されている物体10のセンサ座標系での平面パラメータπ (n=1,2,・・・,N)を示すセンサ情報を出力する。
センサ情報取得部42は、センサ5から出力されたセンサ情報を取得し、センサ情報から物体10のセンサ座標系での平面パラメータπ を特定する(図7のステップST13)。
変換係数算出部43は、位置姿勢情報取得部41により特定された物体10のロボット座標系での平面パラメータπ と、センサ情報取得部42により特定された物体10のセンサ座標系での平面パラメータπ とを取得し、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組を記憶部43aに保存する(図7のステップST14)。
変換係数算出部43は、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組を記憶部43aに保存すると、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達したか否かを判定する(図7のステップST15)。
変換係数算出部43は、ロボットアーム又はロボットハンド1の関節を制御した回数nがN回に到達していると判定すると(図7のステップST15:YESの場合)、変換係数として回転行列R及び並進ベクトルtを算出する(図7のステップST17)。
ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との関係は、回転行列R及び並進ベクトルtを用いると、以下の式(18)で表される。
Figure 2018142582
以下、変換係数算出部13による回転行列R及び並進ベクトルtの算出処理を具体的に説明する。
変換係数算出部43は、記憶部43aに保持されているN個の組を取得する。
即ち、変換係数算出部43は、以下に示すように、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組をN個取得する。n=1,2,・・・,Nである。
π −π の組
π −π の組

π −π の組
変換係数算出部43は、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組をN個取得すると、以下に示すように、N個の組から回転行列R及び並進ベクトルtを算出する。
N個の組から回転行列Rを算出する方法として、例えば、以下の非特許文献4に記載されている方法を用いることができる。
非特許文献4に記載されている方法では、以下の式(19)を最小にする回転行列Rを算出する方法である。
Figure 2018142582
[非特許文献4]
Yuichi Taguchiら著、“Point-Plane SLAM for Hand-Held 3D Sensors,” Proceedings of IEEE International Conference on Robotics and Automation, pp. 5182-5189, 2013年発行
変換係数算出部43は、回転行列Rを算出すると、以下の式(20)に示す連立1次方程式を解くことで、並進ベクトルtを求める。
Figure 2018142582
座標変換部44は、変換係数算出部43により算出された回転行列R及び並進ベクトルtを取得し、回転行列R及び並進ベクトルtを記憶する。
その後、座標変換部44は、センサ情報取得部12から物体10のセンサ座標系での3次元位置Pを示すセンサ情報を受けると、記憶している回転行列R及び並進ベクトルtと、センサ情報が示す3次元位置Pとを以下の式(21)に代入することで、物体10のセンサ座標系での3次元位置Pをロボット座標系での3次元位置Pに変換する(図7のステップST18)。
Figure 2018142582
以上で明らかなように、この実施の形態2によれば、変換係数算出部43が、ロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出するように構成したので、センサ5がレーザスキャナなどの3次元センサであっても、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出することができる効果を奏する。
実施の形態3.
上記実施の形態1では、ロボットハンド1により把持されている物体10が球体である例を示し、上記実施の形態2では、ロボットハンド1により把持されている物体10が平板である例をしている。ロボットハンド1により把持されている物体10は、球体や平板に限るものではない。
この実施の形態3では、物体10の形状が3次元モデルで表される形状であれば、物体10の形状を示す形状データとして、3次元モデルを用いる。
例えば、角などを有する立方体のように、形状に特徴がある物体10は、形状を3次元モデルで表すことができる。また、センサ情報が示す3次元点群データから、角などの特徴がある点を抽出することができる。
3次元モデルとしては、ロボットハンド1により把持される物体10のCADモデル又はポリゴンデータなどを使用することができる。
上記実施の形態1では、センサ情報取得部12が、物体10のセンサ座標系での3次元位置P を算出する際、物体10の形状を示す形状データとして、球体の形状を表す球の方程式を使用するのに対して、この実施の形態3では、物体10の3次元モデルを使用する点で相違している。
したがって、この実施の形態3では、センサ情報取得部12は、物体10の形状を示す形状データとして、物体10の3次元モデルを使用し、物体10の角などの特徴がある点の位置を示す3次元点群データp ,p ,・・・,p に物体10の3次元モデルをフィッティングすることで、物体10の中心の位置として、3次元位置P を得ることができる。
その他は、上記実施の形態1と同様であるため詳細な説明を省略する。
実施の形態4.
上記実施の形態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により算出される変換係数の精度が劣化する状況を回避することができる例を説明する。
図8はこの発明の実施の形態4による変換係数算出装置6を実装しているロボットシステムを示す構成図である。図8において、図5と同一符号は同一または相当部分を示している。
図9はこの発明の実施の形態4による変換係数算出装置6を示すハードウェア構成図である。図9において、図6と同一符号は同一または相当部分を示している。
変換係数算出装置6は、位置姿勢情報取得部41、センサ情報取得部42、変換係数算出部45、座標変換部44及び位置姿勢調整部46を備えている。
変換係数算出部45は例えば図9に示す変換係数算出回路55で実現される。
変換係数算出部45は図5の変換係数算出部43と同様に、ロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持する記憶部45aを備えている。
変換係数算出部45は図5の変換係数算出部43と同様に、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する処理を実施する。
また、変換係数算出部45は図5の変換係数算出部43と同様に、ロボット座標系での平面パラメータとセンサ座標系での平面パラメータとの組を保持する毎に、ロボットハンド1の位置又は姿勢の切り替えを指示する制御信号をロボット制御部2に出力する処理を実施する。
変換係数算出部45は図5の変換係数算出部43と異なり、位置姿勢調整部46によりロボットハンド1の位置又は姿勢が調整されると、その後、ロボット制御部2によりロボットハンド1の位置又は姿勢が切り替えられる毎に、ロボット座標系での平面パラメータとセンサ座標系での平面パラメータとの組を記憶部45aに保持する。
また、変換係数算出部45は、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを再度算出する処理を実施する。
位置姿勢調整部46は例えば図9に示す位置姿勢調整回路56で実現される。
位置姿勢調整部46は変換係数算出部45により最初に変換係数が算出された後、ロボット制御部2を制御することで、ロボットハンド1の位置又は姿勢を調整する。
この実施の形態4では、図5の変換係数算出装置6に変換係数算出部45及び位置姿勢調整部46が適用されている例を説明するが、図1の変換係数算出装置4に適用されているものであってもよい。
図1の変換係数算出装置4に適用される場合、変換係数算出部45は、図1の変換係数算出部13と同様に、位置姿勢情報取得部11により特定されたロボット座標系での3次元位置とセンサ情報取得部12により取得されたセンサ情報が示すセンサ座標系での3次元位置との組を保持する。
また、変換係数算出部45は、図1の変換係数算出部13と同様に、記憶部45aに保持されている複数の組から、センサ座標系での3次元位置をロボット座標系での3次元位置に変換する際に用いる変換係数として、剛体変換における回転行列R及び並進ベクトルtを算出する。
図8では、変換係数算出装置6の構成要素が専用のハードウェアで実現されるものを想定している。
しかし、変換係数算出装置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は、回転行列R及び並進ベクトルtを算出した後、平板が概ねセンサ5と正対している状況となる平面パラメータπ=(n,d)を設定する。
即ち、変換係数算出部45は、センサ5の光軸を表すベクトルnと、平板の物体10における平面の法線ベクトルnとのなす角が例えば5度以内になり、かつ、ロボット座標系の原点から平面までの距離dがセンサ5の測距可能範囲内になるようなセンサ座標系での平面パラメータπ=(n,d)を設定する。
変換係数算出部45は、既に算出している回転行列R及び並進ベクトルtを用いて、設定したセンサ座標系での平面パラメータπ=(n,d)をロボット座標系での平面パラメータπ=(n,d)に変換する。
位置姿勢調整部46は、物体10の平面が、変換係数算出部45により変換された平面パラメータπ=(n,d)で表される平面となるように、ロボット制御部2を制御することで、ロボットハンド1の位置又は姿勢を調整する。
変換係数算出部45は、位置姿勢調整部46によりロボットハンド1の位置又は姿勢が調整されると、その後、図7のステップST11〜ST15をN回実行することにより、ロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組をそれぞれ記憶部45aに保持する。
変換係数算出部45は、記憶部45aからロボット座標系での平面パラメータπ とセンサ座標系での平面パラメータπ との組をN個取得し、N個の組から回転行列Rを再度算出する。
変換係数算出部45は、回転行列Rを再度算出すると、その回転行列Rを用いて、並進ベクトルtを再度算出する。
以上で明らかなように、この実施の形態4によれば、変換係数算出部45により変換係数が算出された後、ロボットハンド1の位置又は姿勢を調整する位置姿勢調整部46を備え、変換係数算出部45は、位置姿勢調整部46によりロボットハンド1の位置又は姿勢が調整された後、再度、ロボットハンド1の位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部41により特定されたロボット座標系での平面パラメータとセンサ情報取得部42により取得されたセンサ情報が示すセンサ座標系での平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出するように構成したので、物体10の姿勢によって、変換係数算出部45により算出される変換係数の精度が劣化する状況を回避することができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
この発明は、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出装置、変換係数算出方法及び変換係数算出プログラムに適している。
1 ロボットハンド、2 ロボット制御部、3,5 センサ、4,6 変換係数算出装置、10 物体、11 位置姿勢情報取得部、12 センサ情報取得部、13 変換係数算出部、13a 記憶部、14 座標変換部、21 位置姿勢情報取得回路、22 センサ情報取得回路、23 変換係数算出回路、24 座標変換回路、31 メモリ、32 プロセッサ、33 通信回路、34 表示装置、41 位置姿勢情報取得部、42 センサ情報取得部、43 変換係数算出部、43a 記憶部、44 座標変換部、45 変換係数算出部、45a 記憶部、46 位置姿勢調整部、51 位置姿勢情報取得回路、52 センサ情報取得回路、53 変換係数算出回路、54 座標変換回路、55 変換係数算出回路、56 位置姿勢調整回路。
この発明に係る変換係数算出装置は、物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体のロボット座標系での位置又は物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得部と、ロボットハンドに固定されている物体を計測するセンサから、物体のセンサ座標系での位置又は物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得部とを設け、変換係数算出部が、ロボットハンドの位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータとセンサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出し、センサ情報取得部により取得されたセンサ情報が、物体の表面における複数の位置又は複数の平面パラメータを示す3次元点群データであれば、物体の形状を示す形状データを用いて、3次元点群データから物体のセンサ座標系での位置又は平面パラメータを算出するようにしたものである。
この発明によれば、変換係数算出部が、ロボットハンドの位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータとセンサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出し、センサ情報取得部により取得されたセンサ情報が、物体の表面における複数の位置又は複数の平面パラメータを示す3次元点群データであれば、物体の形状を示す形状データを用いて、3次元点群データから物体のセンサ座標系での位置又は平面パラメータを算出するように構成したので、センサがレーザスキャナなどの3次元センサであっても、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出することができる効果がある。
この発明に係る変換係数算出装置は、物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、位置姿勢情報から物体のロボット座標系での位置又は物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得部と、ロボットハンドに固定されている物体を計測するセンサから、物体のセンサ座標系での位置を示すセンサ情報又は物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得部とを設け、変換係数算出部が、ロボットハンドの位置又は姿勢が切り替えられる毎に、位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータとセンサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、保持している複数の組から、センサ座標系での位置をロボット座標系での位置に変換する際に用いる変換係数を算出し、センサ情報取得部により取得されたセンサ情報が、物体の表面における複数の位置又は複数の平面パラメータを示す3次元点群データであれば、物体の形状を示す形状データを用いて、3次元点群データから物体のセンサ座標系での位置又は平面パラメータを算出するようにしたものである。

Claims (9)

  1. 物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得部と、
    前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得部と、
    前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出部と
    を備えた変換係数算出装置。
  2. 前記変換係数算出部により算出された変換係数を用いて、前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置を前記ロボット座標系での位置に変換する座標変換部を備えたことを特徴とする請求項1記載の変換係数算出装置。
  3. 前記変換係数算出部は、前記センサ情報取得部により取得されたセンサ情報が、前記物体の表面における複数の位置又は複数の平面パラメータを示す3次元点群データであれば、前記物体の形状を示す形状データを用いて、前記3次元点群データから前記物体のセンサ座標系での位置又は平面パラメータを算出することを特徴とする請求項1記載の変換係数算出装置。
  4. 前記変換係数算出部は、前記物体が球体であれば、前記物体の形状を示す形状データとして、前記球体の形状を表す球の方程式を用いることを特徴とする請求項3記載の変換係数算出装置。
  5. 前記変換係数算出部は、前記物体が平板であれば、前記物体の形状を示す形状データとして、前記平板の形状を表す平面の方程式を用いることを特徴とする請求項3記載の変換係数算出装置。
  6. 前記変換係数算出部は、前記物体の形状が3次元モデルで表される形状であれば、前記物体の形状を示す形状データとして、前記3次元モデルを用いることを特徴とする請求項3記載の変換係数算出装置。
  7. 前記変換係数算出部により変換係数が算出された後、前記ロボットハンドの位置又は姿勢を調整する位置姿勢調整部を備え、
    前記変換係数算出部は、前記位置姿勢調整部によりロボットハンドの位置又は姿勢が調整された後、再度、前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出することを特徴とする請求項1記載の変換係数算出装置。
  8. 位置姿勢情報取得部が、物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定し、
    センサ情報取得部が、前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得し、
    変換係数算出部が、前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得部により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得部により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する
    変換係数算出方法。
  9. 物体が固定されているロボットハンドの位置及び姿勢を示す位置姿勢情報を取得し、前記位置姿勢情報から前記物体のロボット座標系での位置又は前記物体のロボット座標系での平面のパラメータである平面パラメータを特定する位置姿勢情報取得処理手順と、
    前記ロボットハンドに固定されている物体を計測するセンサから、前記物体のセンサ座標系での位置又は前記物体のセンサ座標系での平面のパラメータである平面パラメータを示すセンサ情報を取得するセンサ情報取得処理手順と、
    前記ロボットハンドの位置又は姿勢が切り替えられる毎に、前記位置姿勢情報取得処理手順により特定されたロボット座標系での位置又は平面パラメータと前記センサ情報取得処理手順により取得されたセンサ情報が示すセンサ座標系での位置又は平面パラメータとの組を保持し、前記保持している複数の組から、前記センサ座標系での位置を前記ロボット座標系での位置に変換する際に用いる変換係数を算出する変換係数算出処理手順と
    をコンピュータに実行させるための変換係数算出プログラム。
JP2017536596A 2017-02-03 2017-02-03 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム Expired - Fee Related JP6275345B1 (ja)

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)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Also Published As

Publication number Publication date
JP6275345B1 (ja) 2018-02-07
CN110267771A (zh) 2019-09-20
WO2018142582A1 (ja) 2018-08-09
TW201830272A (zh) 2018-08-16

Similar Documents

Publication Publication Date Title
KR102532072B1 (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) 情報処理装置、情報処理方法
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
CN111801198A (zh) 一种手眼标定方法、系统及计算机存储介质
JP2014169990A (ja) 位置姿勢計測装置及び方法
CN111612794A (zh) 基于多2d视觉的零部件高精度三维位姿估计方法及系统
WO2023134237A1 (zh) 用于机器人的坐标系标定方法、装置、系统以及介质
US20220383547A1 (en) Hand-eye calibration of camera-guided apparatuses
CN116766194A (zh) 基于双目视觉的盘类工件定位与抓取系统和方法
JP6275345B1 (ja) 変換係数算出装置、変換係数算出方法及び変換係数算出プログラム
CN113811740B (zh) 计测装置、计测方法以及计测程序
JP2005186193A (ja) ロボットのキャリブレーション方法および三次元位置計測方法
Korak et al. Optical tracking system
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
JP6766229B2 (ja) 位置姿勢計測装置及び方法
Hu et al. Simultaneous hand-eye-workspace and camera calibration using laser beam projection
CN117817671A (zh) 基于视觉引导的机器人系统及机器人系统校准方法
JP2021091070A (ja) ロボット制御装置

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