JP6489776B2 - 座標系校正方法、ロボットシステム、プログラム及び記録媒体 - Google Patents

座標系校正方法、ロボットシステム、プログラム及び記録媒体 Download PDF

Info

Publication number
JP6489776B2
JP6489776B2 JP2014170040A JP2014170040A JP6489776B2 JP 6489776 B2 JP6489776 B2 JP 6489776B2 JP 2014170040 A JP2014170040 A JP 2014170040A JP 2014170040 A JP2014170040 A JP 2014170040A JP 6489776 B2 JP6489776 B2 JP 6489776B2
Authority
JP
Japan
Prior art keywords
robot
teaching point
calibrator
obstacle
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014170040A
Other languages
English (en)
Other versions
JP2015062991A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014170040A priority Critical patent/JP6489776B2/ja
Publication of JP2015062991A publication Critical patent/JP2015062991A/ja
Application granted granted Critical
Publication of JP6489776B2 publication Critical patent/JP6489776B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボットを基準とした座標系と視覚センサを基準とした座標系との校正を行う座標系校正方法、ロボットシステム、プログラム及び記録媒体に関する。
近年、工場の生産ラインにおいて、作業の自動化・省人化を図るために、ロボットによる自動組立が多くなってきた。そこでは、ロボットと視覚センサとを組合せたロボットシステムが利用されている。特に最近では、作業対象物となるワークを、視覚センサを用いて3次元計測する必要性が高くなっている。
ロボットは、ロボットアームと、ロボットアームの先端に取り付けられたロボットハンドとを有している。視覚センサは、ロボットまたはロボットの周囲にある枠体に固定されている。
視覚センサを用いてワークの位置姿勢を計測し、それに基づいてロボットの動作を補正する場合、視覚センサを用いて計測した、ビジョン座標系におけるワークの位置姿勢データを、ロボットが動作する座標系のデータに変換する必要がある。ここで、ロボットの座標系には、ロボットアームを基準とするロボット座標系と、ロボットハンドを基準とするツール座標系とがある。ゆえに、ビジョン座標系と、ロボット座標系又はツール座標系との間の関係を予め求めておかなければならない。これら座標系間の校正を、一般的にはハンドアイキャリブレーションと呼ぶ。
ハンドアイキャリブレーションを行う方法として、正確な設計データが明らかな特別な校正器を用いる方法がある(特許文献1参照)。校正器は、視覚センサを用いて計測可能なマーカと、マーカが固定される校正治具とを有して構成される。ここでいうマーカは、視覚センサにとって計測精度が高いワークのことである。マーカは校正治具に対して、どこに固定されているかは正確な設計データがあり、明らかなものを用いる。また、校正治具がロボットに対して、どこに固定されているかも正確な設計データがあり、明らかなものを用いる。校正器の位置姿勢を、視覚センサを用いて計測することによって、座標系間の関係が明らかとなり、ビジョン座標系とロボット座標系(又はツール座標系)との相対位置姿勢を求めることができる。
この特許文献1の方法では、正確な設計データが明らかな特別な校正治具を必要としており、コストアップとなるため、正確な設計データが明らかな特別な校正治具を用いない方法も提案されている(特許文献2参照)。
特許文献2の方法では、視覚センサを用いて計測可能なマーカは必要であるが、マーカが校正治具のどこに固定されているかは明らかでなくて良い。代わりに、校正点近傍でロボットを動作させることでマーカと視覚センサとの相対位置姿勢を3点以上取得し、各点でマーカを、視覚センサを用いて計測する。各点で得られたロボット座標系とツール座標系(ハンド座標系)との相対位置姿勢と、ビジョン座標系とマーカ座標系との相対位置姿勢から連立方程式を立てる。それを最適化計算で解くことによって、ビジョン座標系とロボット座標系との相対位置姿勢を求めることができる。
特許第2700965号公報 特許第3644991号公報
しかしながら、特許文献1,2においては、教示点が予め教示されているのが前提であり、ロボット、或いはロボットに支持された校正器又は視覚センサが、障害物と干渉することを考慮していない。実際にはロボットの周辺には固定治具類等の障害物があり、ロボットの動作により、障害物との干渉が発生するおそれがある。そのため、ユーザは、障害物との干渉が生じない、校正に用いることができる教示点を試行錯誤で探索する必要があり、その探索作業が煩雑であったので、教示点を決定することが困難であった。
そこで、本発明は、ロボットと、校正器及び視覚センサのうちロボットに支持されたいずれか一方の部材とが障害物に干渉しない教示点を、ユーザが試行錯誤で探索する必要がなくなるようにすることを目的とする。
本発明は、ロボットが校正器及び視覚センサのうちいずれか一方の部材を支持し、制御部により前記ロボットを教示点で教示された位置姿勢に動作させて、前記視覚センサに前記校正器を撮像させ、撮像画像の処理結果に基づいて、前記ロボットを基準とした座標系と前記視覚センサを基準とした座標系との校正を行う座標系校正方法において、前記制御部が、前記教示点として、少なくとも、前記視覚センサの設計上の光軸を法線とする第1平面上に前記校正器の表面が位置し、かつ前記校正器の位置姿勢が互いに異なるよう前記ロボットを動作させる第1教示点及び第2教示点と、前記第1平面に対して交差する第2平面上に前記校正器の表面が位置するように前記ロボットを動作させる第3教示点と、を設定する設定工程と、前記制御部が、少なくとも前記ロボット、前記一方の部材、及び前記ロボットの動作の障害となり得る障害物に関する立体形状データを用いて、前記第1教示点及び前記第2教示点に前記ロボットを仮想的に動作させ、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断する干渉判断工程と、前記制御部が、前記干渉判断工程において、前記第1教示点及び前記第2教示点のうち少なくとも一方の教示点に前記ロボットを仮想的に動作させた際に前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記第1教示点に前記ロボットを動作させた際の前記校正器と、前記第2教示点に前記ロボットを動作させた際の前記校正器との間の相対的な位置姿勢を維持しながら、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索する探索工程と、前記制御部が、前記探索工程において探索した、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢に基づき、前記第1教示点及び前記第2教示点を再設定する再設定工程と、を備えたことを特徴とする。
本発明によれば、ロボットと、校正器及び視覚センサのうちロボットに支持されたいずれか一方の部材とが障害物に干渉しない教示点を、自動で探索することで、ユーザが試行錯誤で探索する必要がなくなり、ユーザの負担が軽減する。
第1実施形態に係るロボットシステムの概略構成を示す説明図である。 第1実施形態に係るロボットシステムの構成を示すブロック図である。 マーカの表面を示す模式図である。 第1実施形態に係る座標系校正方法のフローチャートである。 第1実施形態で用いるカメラと校正器との相対位置姿勢および教示点を例示した模式図である。 ロボットが障害物と干渉する場合の教示点の再設定方法を例示した模式図である。 第2実施形態に係るロボットシステムの概略構成を示す説明図である。 第2実施形態に係る座標系校正方法のフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボットシステムの概略構成を示す説明図である。ロボットシステム10は、ロボット300、制御装置400、視覚センサとしてのカメラ500、架台20、及び枠体30を備えている。制御装置400は、ロボット制御装置100と、画像処理装置200とで構成されている。
ロボット300は、多関節(例えば6関節)のロボットアーム301と、ロボットアーム301の先端に取り付けられたエンドエフェクタとしてのロボットハンド302とを有している。ロボットアーム301の基端は、架台20上に固定されている。
ロボットハンド302は、ワーク等の物体を把持することが可能に構成されており、例えば複数のフィンガーを有し、複数のフィンガーの開閉動作により、物体の把持と把持解放とが可能となっている。
枠体30は、例えば直方体状の骨組み構造であり、例えば架台20上に固定されている。図1では、枠体30の天部を図示している。
カメラ500は、枠体30の天部に固定された固定カメラである。カメラ500は、光軸が鉛直下方向を向くように固定されている。カメラ500は、例えばCMOSイメージセンサやCCDイメージセンサ等の固体撮像素子を有するデジタルカメラである。視覚センサとしてのカメラ500は、第1実施形態では単眼カメラを用いているが、視覚センサが、複眼カメラ、レーザレンジファインダ、あるいは、それらの組合せでも良い。
カメラ500と画像処理装置200とは例えばケーブル等で接続されており、画像処理装置200は、ケーブルを介してカメラ500から画像信号を取得することができる。なお、カメラ500と画像処理装置200とを無線接続して、画像処理装置200が無線によりカメラ500から画像信号を取得するように構成してもよい。
ロボット300とロボット制御装置100とは例えばケーブル等で接続されており、ロボット制御装置100によりロボット300の動作が制御される。また、画像処理装置200とロボット制御装置100とは例えばケーブル等で接続されており、ロボット制御装置100は、画像処理装置200から処理結果を受信可能に構成されている。
画像処理装置200は、カメラ500から取得した画像信号を、濃淡グレイスケールによる明暗信号に変換した上でフレームメモリに格納する。また、フレームメモリに格納された画像を処理し、対象物の識別、位置姿勢を計測する。さらに、処理した対象物の識別結果、および位置姿勢の情報をロボット制御装置100に送信する。
なお、画像処理装置200には、照明(不図示)が接続されていても良い。そのとき、画像処理装置200は照明の制御も行う。
ここで、ロボット300には、ロボット300の動作に用いられる座標系が定義されている。具体的に説明すると、ロボットアーム301を基準とするロボット座標系Cと、ロボットハンド302を基準とするツール座標系Cとが定義されている。また、カメラ500には、カメラ500により撮像された撮像画像に写り込んだワークの位置姿勢を計測する際に用いられる、カメラ500を基準とするビジョン座標系Cが定義されている。
ワークをロボット300のロボットハンド302に把持させる場合やワークに加工を施す場合には、ワークをカメラ500により撮像して、ビジョン座標系Cでワークの位置姿勢を計測し、計測結果に基づいて、ロボット300の動作を補正する。したがって、製造工程を開始するに先立って、ロボット座標系Cとビジョン座標系Cとの間の校正データ(相対位置姿勢のデータ)を求める必要がある。
そこで、第1実施形態では、カメラ500がロボット300以外の枠体30に固定されているので、校正に用いる校正器40をロボット300に支持させている。
つまり、ロボット300は、校正器40及びカメラ500のうちいずれか一方の部材として、校正器40を支持している。そして、ロボット制御装置100は、カメラ500と校正器40との相対位置姿勢に基づいて、ロボット座標系Cとビジョン座標系Cとの間の校正データを求める。
校正器40は、平板状に形成されたマーカ41と、マーカ41が固定された校正治具42とを有している。校正治具42は、ロボットハンド302により把持可能に構成されており、校正治具42がロボットハンド302に把持されることにより、校正器40がロボット300に支持されることとなる。図1に示すように、校正器40を基準とした座標系をマーカ座標系Cとする。なお、校正器40は、ロボットハンド302又はロボットアーム301に固定してもよい。ここで、校正治具42に対して、マーカ41がどこに固定されているかは既知でなくともよい。また、校正器40が、マーカ41と、マーカ41が固定される校正治具42とからなる場合について説明したが、校正治具に直接マーカのパターンが形成されていてもよい。
図2は、ロボットシステム10の構成を示すブロック図である。ここで、図1では図示を省略しているが、ロボットシステム10は、表示装置としてのモニタ600と、入力装置としてのキーボード700とを備えている。
ロボット制御装置100は、コンピュータで構成されており、制御部(演算部)としてのCPU(Central Processing Unit)101を備えている。また、ロボット制御装置100は、記憶部として、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104を備えている。また、ロボット制御装置100は、記録ディスクドライブ105及び各種のインタフェース107〜110を備えている。
CPU101には、ROM102、RAM103、HDD104、記録ディスクドライブ105及び各種のインタフェース107〜110が、バス106を介して接続されている。ROM102には、BIOS等の基本プログラムが格納されている。
RAM103には、ロボット動作や画像処理装置200への指令送信、画像処理装置200からの画像処理結果の受信等を制御するプログラム、関連設定値が一時的に格納される。さらに、RAM103は、CPU101による演算実行時の一時記憶用のメモリや必要に応じて設定されるレジスタ領域としても使用される。
HDD104は、CPU101の演算処理結果や外部から取得した各種データ等を記憶すると共に、CPU101に、システム全体10を制御するプログラムや、座標系校正方法の各工程を実行させるためのプログラム120を記録するものである。CPU101は、HDD104に記録(格納)されたプログラム120に基づいて各種演算処理(座標系校正方法の各工程)を実行する。
HDD104には、ロボット300、カメラ500、校正器40、及び固定治具などのロボット周辺に配置され、ロボット300の動作の障害となり得る障害物60(図1)を含むシステム全体の3次元形状データ(CADデータ)が格納されている。
記録ディスクドライブ105は、記録ディスク800に記録された各種データやプログラム等を読み出すことができる。
インタフェース107には、画像処理装置200が接続されており、CPU101は、画像処理装置200から受信した位置姿勢の情報等を取得することができる。また、CPU101は、インタフェース107及び画像処理装置200を介してカメラ500に撮像タイミングを示すトリガ信号を出力する。
インタフェース108には、ロボット300(具体的には、ロボット300の各軸を制御するサーボ回路)が接続されており、CPU101は、教示された教示点に基づきロボット300の動作を制御することができる。インタフェース109には、モニタ600が接続されており、CPU101は、モニタ600に画像を表示させることができる。インタフェース110には、入力装置であるキーボード700が接続されており、CPU101は、キーボード700からの入力を受けることにより、各種の設定を行う。なお、ロボット制御装置100には、不図示の、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置や、オフラインプログラミング装置、教示を行う教示装置等が接続されていてもよい。
図3は、マーカ41の表面を示す模式図である。マーカ41の表面には、複数のドット43がパターンとして付され、ドット43間の位置は予め画像処理装置200に設定値として格納されている。それにより、画像処理装置200は校正器40の位置姿勢を計測することができる。
また、マーカ41に付された三角形のマーク44により校正器40の姿勢を一意に求めることができる。なお、校正器40のマーカ41は、カメラ500により撮像された撮像画像に写り込んでいるときに、画像処理装置200にて校正器40の位置姿勢が計測できればよく、平板状でなく立体的なものであってもよい。
校正する際のロボット300の動作は、ロボット制御装置100のメモリに格納されたプログラム120によって制御される。ロボット300を動作させることにより、校正器40をロボット300の動作範囲内の任意の位置姿勢で位置決めすることができる。
以下、ロボットシステム10において、ハンドアイキャリブレーションを行う方法について述べる。第1実施形態では、ロボット300に校正器が支持され、カメラ500が固定されているので、ロボット座標系Cとビジョン座標系Cとを校正する必要がある。
前提条件として、校正治具42に対して、マーカ41がどこに固定されているかは既知で無い場合を考える。その場合、一般的に、カメラ500と校正器40との相対位置姿勢において、少なくとも3点以上の異なる相対位置姿勢を取らせる。それぞれの点でロボット座標系Cとツール座標系Cとの相対位置姿勢と、ビジョン座標系Cとマーカ座標系Cとの相対位置姿勢を得る必要がある。それにより、校正すべきロボット座標系Cとビジョン座標系Cと相対位置姿勢を求めることができる。
図4は、第1実施形態に係る座標系校正方法のフローチャートである。CPU101は、HDD104に格納されたプログラム120を読み出して実行することにより、図4に示すアルゴリズムにより、校正で用いる教示点を自動設定する。教示点は、6つのパラメータ、即ち3次元の教示位置を示す3つのパラメータと、3次元の教示姿勢を示す3つのパラメータとからなる。そして、CPU101は、ロボット300(例えばロボット300の先端、つまりロボットハンド302)を複数の教示点で教示された位置姿勢に動作させて、カメラ500に校正器40を撮像させる。次いで、CPU101は、画像処理装置200における撮像画像の処理結果に基づいて、ロボット座標系Cとビジョン座標系Cとの校正を行う。
以下、図4のフローチャートに沿って詳細に説明する。まずCPU101は、校正する領域の最大範囲に分布する校正のための複数の教示点を生成する(S1)。即ち、ステップS1では、CPU101は、複数の教示点として、少なくとも3つの教示点を設定する(設定工程、設定処理)。このステップS1では、CPU101は、外部の教示装置(不図示)から教示点を取得して、設定(つまり後の制御で使用可能にメモリ等に格納)してもよいし、予め決められたプログラムにより自動生成して設定してもよい。ここでは、校正で用いる教示点は3点とする。その3点の教示点の設定方法を述べる。
図5は、第1実施形態で用いるカメラ500と校正器40との相対位置姿勢および教示点を例示した模式図である。図5(a)には、各教示点にロボット300を動作させた際の校正器40(マーカ41)の中心と校正範囲を示し、図5(b)には、カメラ500と校正器40との相対位置姿勢を示す。ここで、図5に示す平面Aは、カメラ500の画角の範囲の内側に設定されたカメラ500の光軸を法線とする平面であり、この平面はロボット座標系Cとビジョン座標系Cとの校正領域を示している。校正領域Aの範囲は、後述する校正器40上のマーカ41が計測できる範囲であり、校正器40の中心がロボット300の動作によって取り得る範囲を示している。
図5(b)に示すように、1点目の教示点(第1教示点)Pは、カメラ500の設計上の光軸(カメラ光軸)Lを法線とする平面M上(第1平面上)に校正器40の表面が位置するようにロボット300を動作させる教示点とする。ここで、カメラ500の設計上の光軸Lとしたのは、校正前であるため、CPU101において、カメラ500の実際の光軸が未知であるためである。
校正器40の表面とは、第1実施形態ではマーカ41においてドット43等のパターンが形成された表面である。なお、校正治具42の表面に直接ドット等のパターンが形成されている場合は、校正器40の表面とは、校正治具42の表面である。即ち、校正器40の表面とは、ドット等の特徴点が形成された面のことである。
2点目の教示点(第2教示点)Pは、教示点Pに対して、校正器40がカメラ光軸Lと平行な軸Lまわりに、ユーザが予め指定した相対角度αを取り、かつ平面Mの面方向(xy方向)に並進させるようロボット300を動作させる教示点である。つまり、教示点Pと教示点Pとは、校正器40の表面が平面M上に位置し、かつ校正器40の位置姿勢が互いに異なるようロボット300を動作させる教示点である。なお、上述の軸Lは、カメラ光軸Lと平行か軸の傾きが±2degの範囲であれば良い。また、上述の軸Lは、前述の相対角度αを取ったとき、校正器40の中心Oがカメラ500の画角の範囲内に入るように設定される。
相対角度αは、90degが最も適しているが、0deg<α<180degの範囲でユーザが選択可能となっているのが好ましい。ここで、相対角度αの指定は、例えばユーザがキーボード700を用いて行ってもよいし、予めプログラム120に設定されていてもよい。
3点目の教示点(第3教示点)Pは、カメラ光軸L以外の2軸、即ちビジョン座標系におけるxy軸まわりにユーザが予め指定した角度を取り、かつ、校正器40が教示点P,Pとも異なる位置姿勢を取るように設定された教示点である。具体的に説明すると、教示点Pは、平面Mに対して交差する平面M上(第2平面上)に校正器40の表面が位置するようにロボット300を動作させる教示点である。つまり、校正器40の表面が平面M上にないように教示点Pを取る。
ここでユーザが指定する角度は5〜10deg程度でよい。また、この角度は、予めプログラム120に設定しておいてもよい。
なお、3つの教示点P,P,Pは、それぞれの校正器40の中心O,O,Oがカメラ光軸Lを法線とする平面M上でそれぞれ異なる位置姿勢になるように配置し、かつ校正する範囲最大になるように配置することが望ましい。第1実施形態では、図5(a)に示すように、校正領域Aの隅に2点、校正領域Aの対角線上の中点に1点を配置している。
次に、CPU101は、HDD104に格納されたCADデータ(立体形状データ)を、HDD104から読み出す(S2)。つまり、CPU101は、HDD104からCADデータを取得する(取得工程、取得処理)。CADデータには、ロボット300、カメラ500、校正器40、固定治具などの障害物60の形状データが含まれる。このCADデータは、予めHDD104に格納させていたが、外部機器から取得するようにしてもよい。
そして、CPU101は、ステップS1で設定した教示点がロボット300(具体的にはロボットアーム301の各関節)の可動範囲内にあるか否かを判断する(S3)。判断する際には、CPU101が読み出したCADデータを用いる。
CPU101は、ステップS3の判断の結果、設定した各教示点がロボット300の可動範囲内にあると判断した場合(S3:Yes)、ステップS4の干渉判断処理(干渉判断工程)を実行する。
CPU101は、ステップS4では、取得したCADデータを用いて、各教示点P、P,Pにロボット300を仮想的に動作させる演算を行い、ロボット300又は校正器40が障害物60に干渉するか否かを判断する。
CPU101は、ステップS4における判断の結果、設定した各教示点P〜Pに基づくロボット300の動作によりロボット300及び校正器40が障害物60に干渉しないと判断した場合(S4:No)、ステップS5の処理を実行する。
CPU101は、ステップS5では、実際に校正で用いる教示点P〜Pを決定する。決定した教示点P〜Pはロボット動作プログラムとして、ロボット制御装置100の記憶部(例えばHDD104)に格納される。
次に、CPU101は、ステップS5で決定した教示点P〜Pを用いてハンドアイキャリブレーションを実行する(S6)。ステップS6の処理について具体的に説明すると、まず、CPU101は、ステップS5で決定した教示点P〜Pに基づいてロボット300を動作させ、各教示点P〜Pに動作させた位置姿勢において、カメラ500に校正器40を撮像させる。画像処理装置200は、撮像画像を取り込み、撮像画像に写り込んだ校正器40の画像から、校正器40の位置姿勢を計測し、その計測結果(撮像画像の処理結果)をロボット制御装置100に送信する。
ここで、ロボット座標系Cとツール座標系Cとの相対位置姿勢は、教示点P〜Pの位置姿勢と同義なので、ロボット制御装置100から得られる。また、ビジョン座標系Cとマーカ座標系Cと相対位置姿勢は、校正器40を計測することにより得られるので、画像処理装置200から取得される。
相対位置姿勢を並進成分とオイラー角で表すと、(X,Y,Z,R,R,R)となる。それを同次変換行列Hの形で次式のように定義する。
Figure 0006489776
ただし、Rotx,Roty,Rotzは、それぞれx,y,z軸まわりの回転を表す3×3の回転行列である。
ロボット座標系Cとビジョン座標系Cとの相対位置姿勢を同次変換行列Hrv,ツール座標系Cとマーカ座標系Cとの相対位置姿勢を同次変換行列Htpとする。また、3点それぞれの教示点P〜Pにおけるロボット座標系Cとツール座標系Cとの相対位置姿勢を同次変換行列Hrt1,Hrt2,Hrt3とする。また、ビジョン座標系Cとマーカ座標系Cとの相対位置姿勢を同次変換行列Hvp1,Hvp2,Hvp3とすると、次式で示す連立方程式が得られる。
Figure 0006489776
式(2)をHrvとHtpについて最適化計算を解くことによって、ハンドアイキャリブレーションすべきロボット座標系Cとビジョン座標系Cとの相対位置姿勢Hrvを求めることができる。最適化計算においては、それに限らないが、最小二乗法などで解けることが知られている。
CPU101は、求めたロボット座標系Cとビジョン座標系Cとの相対位置姿勢Hrvを、ロボット制御装置100の記憶装置としてのHDD104等に出力して設定値として格納(更新)させる(S7)。これにより、校正処理は終了する。
一方、CPU101は、ステップS3において、設定した教示点P〜Pがロボット300(ロボットアーム301の各関節)の可動範囲内にないと判断した場合(S3:No)、ステップS8の探索処理(探索工程)を実行する。また、CPU101は、ステップS4において、教示点P及び/又は教示点Pにロボット300を仮想的に動作させた際にロボット300又は校正器40が障害物60に干渉すると判断したときには、ステップS8の処理を実行する。更にまた、CPU101は、ステップS4において、教示点Pにロボット300を仮想的に動作させた際にロボット300又は校正器40が障害物60に干渉すると判断したときも、ステップS8の処理を実行する。つまり、CPU101は、ステップS4において、Yesと判断した場合には、ステップS8の処理を実行する。
CPU101は、ステップS8では、ロボット300の可動範囲内に無い、或いは障害物60と干渉する教示点が、設計上のカメラ500の光軸Lと平行な第1軸まわりに回転可能か否かを判定する。
判定する際には、ロボット制御装置100に予め設定された、設計上のカメラ500の光軸Lと平行な第1軸まわりの回転範囲を用いる。回転範囲は−180deg〜180degの範囲程度で所定の刻み幅(角度)で探索する。所定の刻み幅は、例えば5deg、或いは10deg程度である。また、教示点が既に取っているカメラ500の光軸と平行な軸まわりの回転角度は、この回転範囲からは除外される。
ここで、ステップS3,S4にて判定された教示点が、教示点P及び/又は教示点Pの場合は、以下のように探索する。即ちCPU101は、CADデータに基づき、教示点P,Pに基づいて動作するロボット300に位置決めされる校正器40を、カメラ500に対して第1軸まわりに仮想的に相対回転させる演算を行う。その際、CPU101は、教示点Pにロボット300を動作させた際の校正器40と、教示点Pにロボット300を動作させた際の校正器40との間の相対的な位置姿勢を維持しながら校正器40を回転させる演算を行う。つまり、CPU101は、CADデータにおいて、校正器40をカメラ500に対して相対的に所定の刻み幅(角度)で回転させて、ロボット300及び校正器40が障害物60に干渉しない第1回転角度を探索する。
ステップS3,S4にて判定された教示点が教示点Pの場合は、以下のように探索する。即ちCPU101は、CADデータに基づき、教示点Pに基づいて動作するロボット300に位置決めされる校正器40を、カメラ500に対して第1軸まわりに仮想的に相対回転させる。その際に、CPU101は、校正器40をカメラ500に対して相対的に所定の刻み幅(角度)で回転させて、ロボット300及び校正器40が障害物60に干渉しない第1回転角度を探索する。
なお、第1実施形態では、カメラ500が固定されているので、校正器40を回転させることとなる。このように、校正器40とカメラ500とを相対的に回転させて探索しているので、相対的に平行移動させる場合よりも、狭い範囲で探索することが可能である。
CPU101は、ステップS8における探索の結果、教示点がカメラ光軸Lと平行な第1軸まわりに回転可能である場合(S8:Yes)、即ち第1回転角度を探し当てた場合、ステップS9の再設定処理(再設定工程)を実行する。
CPU101は、ステップS9では、ステップS8で判定した教示点をカメラ光軸Lと平行な第1軸まわりに回転し、再設定する。即ちCPU101は、第1回転角度を探し当てた場合には、校正器40がカメラ500に対して第1軸まわりに第1回転角度で相対的に回転するように教示点P,P又は教示点Pを再設定する。
図6は、ロボット300が障害物60と干渉する場合の教示点の再設定方法を例示した模式図である。回転する量は、ステップS8で探索した回転範囲内の第1回転角度に従う。ただし、回転する教示点が教示点P,Pの場合、図6に示すように、校正器40の(教示点P,P)の相対角度αを維持するように回転させる。
なお、カメラ光軸を法線とする同一平面に対して傾きを持つ教示点Pの場合、カメラ光軸を法線とする同一平面上にある2つの教示点P,Pの相対角度は特に考慮せず、カメラ光軸と平行な第1軸まわりに回転し、再設定する。回転する量は、同様にステップS8で用いた回転範囲に従う。教示点の再設定が完了すると、ステップS3に戻る。
一方、CPU101は、ステップS8において、設定した教示点がカメラ光軸と平行な軸まわりに回転可能でないと判定された場合(S8:No)、ステップS10の探索処理(探索工程)を実行する。
CPU101は、ステップS10では、ステップS8でカメラ光軸と平行な第1軸まわりに回転可能でないと判定した教示点がカメラ光軸を法線とする同一平面上にないように移動可能か否かを判断する。即ち、CPU101は、ステップS8の探索で第1回転角度がない場合には、第1軸に交差する第2軸まわりに校正器40をカメラ500に対して仮想的に相対的に回転させる。その際、第2軸として、ロボット制御装置100に予め設定されたカメラ光軸以外の2軸とし、2軸まわりの回転範囲を用いる。回転範囲は−45deg〜45degの範囲程度で決まった所定の刻み幅(角度)で探索する。所定の刻み幅(角度)は、例えば、5deg,あるいは10deg程度である。また、教示点が既に取っているカメラ光軸以外の2軸まわりの回転角度は、この回転範囲からは除外される。以上の動作で、ロボット300及び校正器40が障害物60に干渉しない第2回転角度を探索する。このステップS10においても、ステップS8と同様に、教示点P,Pの場合は、相対角度αを維持しながら探索する。
CPU101は、ステップS10の判定の結果、教示点がカメラ光軸を法線とする同一平面上にないように移動可能である場合(S10:Yes)、ステップS11の再設定処理(再設定工程)を実行する。
CPU101は、ステップS11では、ステップS10で判定した教示点についてカメラ光軸を法線とする同一平面上にないように移動し、再設定する。即ち、CPU101は、第2回転角度を探し当てた場合には、校正器40がカメラ500に対して第2軸まわりに第2回転角度で相対的に回転するように教示点P,Pを再設定する。回転する量は、ステップS10で用いた回転範囲に従う。教示点の再設定が完了すると、ステップS3に進む。
以上、ステップS8,S10にてCPU101は、教示点Pの校正器40と、教示点Pの校正器40との間の相対的な位置姿勢を維持しながら、ロボット300及び校正器40が障害物60に干渉しないロボット300の位置姿勢を探索する。そして、ステップS8,S10においてロボット300及び校正器40が障害物60に干渉しないロボット300の位置姿勢を探し当てた場合には、ステップS9,S11を実行する。即ちCPU101は、ステップS8,S10にて探し当てたロボット300の位置姿勢に基づき、教示点P,Pを再設定する。これらステップS8,S10においては、ステップS3の判定により、ロボット300の位置姿勢(つまり、ロボットアーム301の各関節)が可動範囲内となる条件の下で探索が行われる。
一方、CPU101は、ステップS10において、カメラ光軸を法線とする同一平面上にないように移動可能でないと判定された場合(S10:No)、所定の校正精度を満足する教示点の探索範囲がないことを、モニタ600に表示させる(S12)。これにより、教示点の探索範囲がないことが、ユーザに通知される。その後、処理を終了する。
以上のステップS3〜S5,S8〜S11の処理は、CPU101が、CADデータを用いて行う演算(シミュレーション)であり、実際のロボット300を動作させずに行っているものである。一方、ステップS6は、実際にロボット300を教示点P〜Pに基づいて動作させて、校正を行っている。即ち、ステップS3〜S5,S8〜S11の処理は、校正する際に用いる教示点P〜Pを求める演算処理である。
以上より、カメラ500と校正器40を用いたハンドアイキャリブレーションにおいて、正確な設計データが明らかな特別な治具を必要とせず、かつ、より狭い位置での高精度な校正が可能となる。さらに、校正用教示点について障害物60と干渉しない点を自動で探索可能となる。そして、ロボット300及び校正器40が障害物60に干渉しない教示点を、自動で探索することで、ユーザが試行錯誤で探索する必要がなくなり、ユーザの負担が軽減する。
特に、校正器40のマーカ41(即ち、ドット43等の特徴点)の位置がCPU101において未知の場合には、3つの教示点P〜Pが必要であり、教示点Pと教示点Pとの相対的な位置姿勢を維持しながら探索する必要がある。第1実施形態では、この探索作業が自動で行われるため、ユーザが試行錯誤で探索する煩雑な必要がなくなり、ユーザの負担が効果的に軽減する。
[第2実施形態]
次に、本発明の第2実施形態に係るロボットシステムについて説明する。図7は、本発明の第2実施形態に係るロボットシステムの概略構成を示す説明図である。なお、第2実施形態において、上記第1実施形態と同様の構成については、同一符号を付して説明を省略する。
上記第1実施形態では、校正器がロボットに支持される場合について説明したが、第2実施形態では、視覚センサがロボットに支持される場合について説明する。即ち、上記第1実施形態では、視覚センサを固定し、視覚センサに対して校正器を回転させたが、第2実施形態では、校正器を固定し、校正器に対して視覚センサを回転させている。したがって、第1,第2実施形態では、視覚センサと校正器との間で相対回転させている点では同じである。
また、上記第1実施形態では、ロボットの座標系としてロボットアームのロボット座標系と、視覚センサのビジョン座標系との間で校正を行った。第2実施形態では、ロボットの座標系としてロボットハンドのツール座標系と、視覚センサのビジョン座標系との間で校正を行う。
ロボットシステム10Aは、上記第1実施形態のカメラ500の代わりに、視覚センサとしてのカメラ500Aを備えている。カメラ500Aは、ロボット300(具体的には、ロボットアーム301の先端)に支持され、ロボット300を動作させることにより、ロボット300の動作範囲内の任意の位置姿勢で位置決めすることができる。カメラ500Aは、画像処理装置200に接続されている。また、校正器40は、ロボット300でなく架台20、即ちロボット座標系Cと固定位置にあるように設置される。
画像処理装置200は、カメラ500Aを介して取り込んだ画像信号を、濃淡グレイスケールによる明暗信号に変換した上でフレームメモリに格納する。また、フレームメモリに格納された画像を処理し、対象物の識別、位置姿勢を計測し、処理した対象物の識別結果、および位置姿勢をロボット制御装置100に送信する。この機能は、上記第1実施形態と同様である。
カメラ500Aは、校正器40等の対象物を撮像し、画像処理装置200に画像信号を送信する。カメラ500Aは、単眼カメラを用いているが、3次元の位置姿勢を計測できる視覚センサであれば良く、複眼カメラ、レーザレンジファインダ、あるいは、それらの組合せでも良い。
以下、ロボットシステム10Aにおいて、ハンドアイキャリブレーションを行う方法について述べる。
図8は、第2実施形態に係る座標系校正方法のフローチャートである。制御部としてのCPU101(図2)は、HDD104に格納されたプログラム120を読み出して実行することにより、図8に示すアルゴリズムにより、校正で用いる教示点を自動設定する。CPU101は、ロボット300(例えばロボット300の先端、つまりロボットハンド302)を複数の教示点で教示された位置姿勢に動作させて、カメラ500Aに校正器40を撮像させる。次いで、CPU101は、画像処理装置200における撮像画像の処理結果に基づいて、ツール座標系Cとビジョン座標系Cとの校正を行う。以下、上記第1実施形態との差異について述べる。
まず、CPU101は、校正で用いる3つの教示点を生成し、設定する(S1’)。上記第1実施形態では、ロボット300の動作により、校正器40の位置姿勢を変更させていたのに対し、第2実施形態では、カメラ500Aの位置姿勢を変更させる。そのとき、カメラ500Aと校正器40の相対位置姿勢は、図5に示すような位置関係になるように教示点P〜Pを設定する。設定の方法は上記第1実施形態と同様である。
ステップS8では、CPU101は、CADデータに基づき、設計上の光軸Lと平行な第1軸まわりに校正器40をカメラ500Aに対して仮想的に相対的に回転させる。第2実施形態では、校正器40が固定されているので、カメラ500Aを仮想的に回転させている。そして、CPU101は、カメラ500Aを、所定の刻み幅(角度)で回転させて、ロボット300及びカメラ500Aが障害物60に干渉しない第1回転角度を探索する。
そして、第1回転角度を探し当てた場合、ステップS9では、CPU101は、校正器40がカメラ500Aに対して第1軸まわりに第1回転角度で相対的に回転するように教示点P,P又は教示点Pを再設定する。つまり、CPU101は、カメラ500Aが第1軸まわりに第1回転角度で回転するように教示点P,P又は教示点Pを再設定する。ステップS10,S11についても同様である。
次に、CPU101は、ステップS6’において、ステップS5で決定した3つの教示点P〜Pにロボット300を動作させる。そして、CPU101は、それぞれの教示点P〜Pにおいてロボット座標系Cとツール座標系Cの相対位置姿勢と、ビジョン座標系Cとマーカ座標系Cの相対位置姿勢を得る。
ここで、ツール座標系Cとビジョン座標系Cとの相対位置姿勢を同次変換行列Htv,ロボット座標系Cとマーカ座標系Cとの相対位置姿勢を同次変換行列Hrpとする。また、3点それぞれの教示点における、ロボット座標系Cとツール座標系Cと相対位置姿勢を同次変換行列Hrt1,Hrt2,Hrt3とする。また、ビジョン座標系Cとマーカ座標系Cとの相対位置姿勢を同次変換行列Hvp1,Hvp2,Hvp3とすると、次式で示す連立方程式が得られる。
Figure 0006489776
式(3)をHtvとHrpについて最適化計算を解くことによって、ハンドアイキャリブレーションすべきツール座標系Cとビジョン座標系Cとの相対位置姿勢Htvを求めることができる。そして、CPU101は、求めたツール座標系Cとビジョン座標系Cの相対位置姿勢Htvをロボット制御装置100に設定値として更新する(S7’)。これにより、処理は終了する。なお、ステップS2〜S5、S8〜S12は、上記第1実施形態と略同様の処理を実行する。
以上より、カメラ500と校正器40を用いたハンドアイキャリブレーションにおいて、正確な設計データが明らかな特別な治具を必要とせず、かつ、より狭い位置での高精度な校正が可能となる。さらに、校正用教示点について障害物60と干渉しない点を自動で探索可能となる。そして、ロボット300及び校正器40が障害物60に干渉しない教示点を、自動で探索することで、ユーザが試行錯誤で探索する必要がなくなり、ユーザの負担が軽減する。
特に、校正器40のマーカ41(即ち、ドット43等の特徴点)の位置がCPU101において未知の場合には、3つの教示点P〜Pが必要であり、教示点Pと教示点Pとの相対的な位置姿勢を維持しながら探索する必要がある。第2実施形態では、この探索作業が自動で行われるため、ユーザが試行錯誤で探索する煩雑な必要がなくなり、ユーザの負担が効果的に軽減する。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
第1、第2実施形態では、校正で用いる教示点が、3つの教示点のみの場合について説明したが、これら3つの教示点以外に更に別の教示点が含まれていてもよい。即ち、上記条件を満たす3点を含んでいれば、3点に限定されるものでなく、3点以上設定してもよい。そのとき、それらの点で式(2)又は式(3)の関係を立て、その式を最小二乗法などの最適化計算を解くことで、ハンドアイキャリブレーションすべきロボット座標系又はツール座標系と、ビジョン座標系との相対位置姿勢を求めることができる。
また、ステップS8において、校正領域Aが長方形である場合、干渉しない教示点として校正領域Aの他の頂点が選択できる場合は、ステップS9において、教示点を再設定することも手段として取り得る。
さらに、ステップS12において、ユーザの判断で校正精度を犠牲にすることで、教示点を校正領域Aの内側に再設定することも手段として取り得る。
また、ステップS8,S10において、CADデータに基づき校正器40(又はカメラ500A)を回転操作して教示点を探索したが、回転に限らず、並進させてもよい。その際、教示点P,Pを再設定する場合には、カメラ500,500Aから見た校正器40の相対角度αを維持しながら並進させればよい。
また、上記第1、第2実施形態では、校正器のマークの位置が未知の場合について説明したが、制御部であるCPUにおいて、校正器のマークの位置が既知の場合についても本発明は適用可能である。その際、校正に用いる教示点は1つであってもよい。
上記実施形態の各処理動作は具体的には制御部としてのCPU101により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置に供給し、制御装置のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD104であり、HDD104にプログラム120が格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図2に示すROM102、記録ディスク800、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、書き換え可能な不揮発性のメモリ(例えばUSBメモリ)、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
また、上記実施形態では、コンピュータがHDD等の記録媒体に記録されたプログラムを実行することにより、処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する演算部の一部又は全部の機能をASICやFPGA等の専用LSIで構成してもよい。なお、ASICはApplication Specific Integrated Circuit、FPGAはField-Programmable Gate Arrayの頭字語である。
10…ロボットシステム、40…校正器、60…障害物、101…CPU(制御部)、120…プログラム、300…ロボット、500…カメラ(視覚センサ)

Claims (10)

  1. ロボットが校正器及び視覚センサのうちいずれか一方の部材を支持し、制御部により前記ロボットを教示点で教示された位置姿勢に動作させて、前記視覚センサに前記校正器を撮像させ、撮像画像の処理結果に基づいて、前記ロボットを基準とした座標系と前記視覚センサを基準とした座標系との校正を行う座標系校正方法において、
    前記制御部が、前記教示点として、少なくとも、前記視覚センサの設計上の光軸を法線とする第1平面上に前記校正器の表面が位置し、かつ前記校正器の位置姿勢が互いに異なるよう前記ロボットを動作させる第1教示点及び第2教示点と、前記第1平面に対して交差する第2平面上に前記校正器の表面が位置するように前記ロボットを動作させる第3教示点と、を設定する設定工程と、
    前記制御部が、少なくとも前記ロボット、前記一方の部材、及び前記ロボットの動作の障害となり得る障害物に関する立体形状データを用いて、前記第1教示点及び前記第2教示点に前記ロボットを仮想的に動作させ、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断する干渉判断工程と、
    前記制御部が、前記干渉判断工程において、前記第1教示点及び前記第2教示点のうち少なくとも一方の教示点に前記ロボットを仮想的に動作させた際に前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記第1教示点に前記ロボットを動作させた際の前記校正器と、前記第2教示点に前記ロボットを動作させた際の前記校正器との間の相対的な位置姿勢を維持しながら、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索する探索工程と、
    前記制御部が、前記探索工程において探索した、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢に基づき、前記第1教示点及び前記第2教示点を再設定する再設定工程と、を備えたことを特徴とする座標系校正方法。
  2. 前記探索工程では、前記制御部が、前記立体形状データに基づき、前記設計上の光軸と平行な第1軸まわりに前記校正器を前記視覚センサに対して仮想的に相対的に回転させた際に前記ロボット及び前記一方の部材が前記障害物に干渉しない第1回転角度を探索し、
    前記再設定工程では、前記制御部が、前記第1回転角度を探し当てた場合には前記校正器が前記視覚センサに対して前記第1軸まわりに前記第1回転角度で相対的に回転するように前記第1教示点及び前記第2教示点を再設定する、
    ことを特徴とする請求項に記載の座標系校正方法。
  3. 前記探索工程では、前記制御部が、前記第1回転角度がない場合には、前記第1軸に交差する第2軸まわりに前記校正器を前記視覚センサに対して仮想的に相対的に回転させた際に前記ロボット及び前記一方の部材が前記障害物に干渉しない第2回転角度を探索し、
    前記再設定工程では、前記制御部が、前記第2回転角度を探し当てた場合には前記校正器が前記視覚センサに対して前記第2軸まわりに前記第2回転角度で相対的に回転するように前記第1教示点及び前記第2教示点を再設定する、
    ことを特徴とする請求項に記載の座標系校正方法。
  4. 前記干渉判断工程では、前記制御部が、前記立体形状データを用いて、前記第3教示点に前記ロボットを仮想的に動作させる演算を行い、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断し、
    前記探索工程では、前記制御部が、前記干渉判断工程において、前記第3教示点に前記ロボットを動作させた際に前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索し、
    前記再設定工程では、前記制御部が、前記探索工程により、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探し当てた場合には、探し当てた前記ロボットの位置姿勢に基づき、前記第3教示点を再設定することを特徴とする請求項乃至のいずれか1項に記載の座標系校正方法。
  5. 前記探索工程では、前記制御部が、前記ロボットが可動範囲内となる条件の下で、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索することを特徴とする請求項1乃至のいずれか1項に記載の座標系校正方法。
  6. ロボットが校正器及び視覚センサのうちいずれか一方の部材を支持し、制御部により前記ロボットを教示点で教示された位置姿勢に動作させて、前記視覚センサに前記校正器を撮像させ、撮像画像の処理結果に基づいて、前記ロボットを基準とした座標系と前記視覚センサを基準とした座標系との校正を行う座標系校正方法において、
    前記制御部が、前記教示点として、少なくとも、第1教示点と第2教示点と、を設定する設定工程と、
    前記制御部が、少なくとも、前記ロボット、前記一方の部材、及び前記ロボットの動作の障害となり得る障害物、に関する立体形状データを用いて、前記第1教示点及び前記第2教示点に前記ロボットを仮想的に動作させ、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断する干渉判断工程と、
    前記制御部が、前記干渉判断工程において、前記第1教示点及び前記第2教示点のうち少なくとも一方の教示点に前記ロボットを仮想的に動作させた際に、前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記第1教示点に前記ロボットを動作させた際の前記校正器と、前記第2教示点に前記ロボットを動作させた際の前記校正器との相対的な位置姿勢を維持しながら、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索する探索工程と、
    前記制御部が、前記探索工程において探索した、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢に基づき、前記第1教示点及び前記第2教示点を再設定する再設定工程と、を備えたことを特徴とする座標系校正方法。
  7. 校正器を撮像する視覚センサと、
    前記校正器及び前記視覚センサのうちいずれか一方の部材を支持するロボットと、
    前記ロボットを教示点で教示された位置姿勢に動作させて、前記視覚センサに前記校正器を撮像させ、撮像画像の処理結果に基づいて前記ロボットを基準とした座標系と前記視覚センサを基準とした座標系との校正を行う制御部と、を備え、
    前記制御部は、
    前記教示点として、少なくとも、前記視覚センサの設計上の光軸を法線とする第1平面上に前記校正器の表面が位置し、かつ前記校正器の位置姿勢が互いに異なるよう前記ロボットを動作させる第1教示点及び第2教示点と、前記第1平面に対して交差する第2平面上に前記校正器の表面が位置するように前記ロボットを動作させる第3教示点と、を設定する設定処理と、
    少なくとも前記ロボット、前記一方の部材、及び前記ロボットの動作の障害となり得る障害物に関する立体形状データを用いて、前記第1教示点及び前記第2教示点に前記ロボットを仮想的に動作させ、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断する干渉判断処理と、
    前記干渉判断処理において、前記第1教示点及び前記第2教示点のうち少なくとも一方の教示点に前記ロボットを仮想的に動作させた際に前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記第1教示点に前記ロボットを動作させた際の前記校正器と、前記第2教示点に前記ロボットを動作させた際の前記校正器との相対的な位置姿勢を維持しながら、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索する探索処理と、
    前記探索処理において探索した、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢に基づき、前記第1教示点及び前記第2教示点を再設定する再設定処理と、を実行することを特徴とするロボットシステム。
  8. 校正器を撮像する視覚センサと、
    前記校正器及び前記視覚センサのうちいずれか一方の部材を支持するロボットと、
    前記ロボットを教示点で教示された位置姿勢に動作させて、前記視覚センサに前記校正器を撮像させ、撮像画像の処理結果に基づいて前記ロボットを基準とした座標系と前記視覚センサを基準とした座標系との校正を行う制御部と、を備え、
    前記制御部は、
    前記教示点として、少なくとも、第1教示点と第2教示点と、を設定する設定処理と、
    少なくとも、前記ロボット、前記一方の部材、及び前記ロボットの動作の障害となり得る障害物、に関する立体形状データを用いて、前記第1教示点及び前記第2教示点に前記ロボットを仮想的に動作させ、前記ロボット又は前記一方の部材が前記障害物に干渉するか否かを判断する干渉判断処理と、
    前記干渉判断処理において、前記第1教示点及び前記第2教示点のうち少なくとも一方の教示点に前記ロボットを仮想的に動作させた際に、前記ロボット又は前記一方の部材が前記障害物に干渉すると判断したときには、前記第1教示点に前記ロボットを動作させた際の前記校正器と、前記第2教示点に前記ロボットを動作させた際の前記校正器との相対的な位置姿勢を維持しながら、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢を探索する探索処理と、
    前記探索処理において探索した、前記ロボット及び前記一方の部材が前記障害物に干渉しない前記ロボットの位置姿勢に基づき、前記第1教示点及び前記第2教示点を再設定する再設定処理と、実行することを特徴とするロボットシステム。
  9. コンピュータに、請求項1乃至6のいずれか1項に記載の座標系校正方法の各工程を実行させるためのプログラム。
  10. 請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2014170040A 2013-08-28 2014-08-25 座標系校正方法、ロボットシステム、プログラム及び記録媒体 Active JP6489776B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014170040A JP6489776B2 (ja) 2013-08-28 2014-08-25 座標系校正方法、ロボットシステム、プログラム及び記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013176979 2013-08-28
JP2013176979 2013-08-28
JP2014170040A JP6489776B2 (ja) 2013-08-28 2014-08-25 座標系校正方法、ロボットシステム、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2015062991A JP2015062991A (ja) 2015-04-09
JP6489776B2 true JP6489776B2 (ja) 2019-03-27

Family

ID=52831334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014170040A Active JP6489776B2 (ja) 2013-08-28 2014-08-25 座標系校正方法、ロボットシステム、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP6489776B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6812095B2 (ja) * 2015-10-22 2021-01-13 キヤノン株式会社 制御方法、プログラム、記録媒体、ロボット装置、及び物品の製造方法
JP6390014B2 (ja) * 2016-09-02 2018-09-19 株式会社プロドローン ロボットアームおよびこれを備える無人航空機
JP6371959B2 (ja) * 2016-09-02 2018-08-15 株式会社プロドローン ロボットアームおよびこれを備える無人航空機
JP6735208B2 (ja) * 2016-10-21 2020-08-05 株式会社アマダ キャリブレーション治具、板金搬入システム、及びキャリブレーション方法
JP6420296B2 (ja) * 2016-12-01 2018-11-07 ファナック株式会社 ロボットの干渉領域を自動で設定するロボット制御装置
JP6603289B2 (ja) 2017-10-27 2019-11-06 ファナック株式会社 ロボット、ロボットシステム、およびロボットの座標系設定方法
JP7035657B2 (ja) * 2018-03-15 2022-03-15 セイコーエプソン株式会社 ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法
JP6810116B2 (ja) * 2018-10-24 2021-01-06 ファナック株式会社 レーザ加工ロボットのキャリブレーション方法および制御装置
JP6832408B1 (ja) * 2019-10-09 2021-02-24 Dmg森精機株式会社 生産システム
KR102498985B1 (ko) * 2020-09-29 2023-02-17 (주)씨씨엘소프트 선박 중앙단면 최적화 설계 시스템 및 그 방법
CN114310868B (zh) * 2020-09-29 2023-08-01 台达电子工业股份有限公司 机器手臂的坐标系校正设备及校正方法
TW202218836A (zh) 2020-11-02 2022-05-16 日商發那科股份有限公司 機器人控制裝置及機器人系統
CN113561182A (zh) * 2021-08-11 2021-10-29 航天智造(上海)科技有限责任公司 一种可配置的手眼标定方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2700965B2 (ja) * 1991-07-04 1998-01-21 ファナック株式会社 自動キャリブレーション方式
JP3644991B2 (ja) * 1994-11-08 2005-05-11 ファナック株式会社 ロボット−センサシステムにおける座標系結合方法
JPH08328632A (ja) * 1995-05-26 1996-12-13 Matsushita Electric Works Ltd ロボット動作のシミュレーション方法
JP4298757B2 (ja) * 2007-02-05 2009-07-22 ファナック株式会社 ロボット機構のキャリブレーション装置及び方法
JP5371927B2 (ja) * 2010-10-27 2013-12-18 三菱電機株式会社 座標系校正方法及びロボットシステム
WO2012076038A1 (en) * 2010-12-06 2012-06-14 Abb Research Ltd. A method for calibrating a robot unit, a computer unit, a robot unit and use of a robot unit

Also Published As

Publication number Publication date
JP2015062991A (ja) 2015-04-09

Similar Documents

Publication Publication Date Title
JP6489776B2 (ja) 座標系校正方法、ロボットシステム、プログラム及び記録媒体
JP6468741B2 (ja) ロボットシステム及びロボットシステムの校正方法
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP7237483B2 (ja) ロボットシステムの制御方法、制御プログラム、記録媒体、制御装置、ロボットシステム、物品の製造方法
TWI672206B (zh) 機械手臂非接觸式工具中心點校正裝置及其方法以及具有校正功能的機械手臂系統
JP4021413B2 (ja) 計測装置
US9221176B2 (en) Robot system and method for controlling the same
JP4191080B2 (ja) 計測装置
JP6657469B2 (ja) ロボットシステムの自動較正方法
JP6335460B2 (ja) ロボットシステムの制御装置及び指令値生成方法、並びにロボットシステムの制御方法
JP4267005B2 (ja) 計測装置及びキャリブレーション方法
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP5670416B2 (ja) ロボットシステム表示装置
JP5523392B2 (ja) キャリブレーション装置及びキャリブレーション方法
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2018202608A (ja) ロボット装置、ロボット装置の制御方法、プログラムおよび記録媒体
JP6855491B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP6869159B2 (ja) ロボットシステム
US11577400B2 (en) Method and apparatus for managing robot system
CN109531604B (zh) 进行校准的机器人控制装置、测量系统以及校准方法
JP5573537B2 (ja) ロボットのティーチングシステム
JP7509918B2 (ja) 画像処理システム及び画像処理方法
JP7414850B2 (ja) ロボットシステム
JP7481432B2 (ja) ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

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: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190226

R151 Written notification of patent or utility model registration

Ref document number: 6489776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151