トップ :: B 処理操作 運輸 :: B25 手工具;可搬型動力工具;手工具用の柄;作業場設備;マニプレ−タ

【発明の名称】 計測装置及びキャリブレーション方法
【発明者】 【氏名】伴 一訓

【氏名】滝澤 克俊

【氏名】沈 崗

【要約】 【課題】比較的小型かつ安価な測定装置を使用し、高精度かつ自動的に機構パラメータの誤差を求めて機構パラメータを補正するための計測装置及びキャリブレーション方法を提供する。

【構成】カメラ4の受光面上において、ターゲット6のマーク画像7aを表す楕円とマーク7の形状を表す円との中心位置の差及び長軸長と直径との差が所定の誤差以内となるようにロボットを移動させる処理が、複数の計測位置について自動的に実行される。
【特許請求の範囲】
【請求項1】
受光デバイスと、計測すべきターゲット及び前記受光デバイスが相対移動可能となるように構成された多関節ロボットとを有する計測装置であって、
前記ターゲットが前記受光デバイスの視野内に含まれる、前記ロボットの複数の計測位置及び姿勢を規定する計測位置姿勢規定手段と、
前記ロボットを前記計測位置姿勢規定手段で規定された複数の計測位置姿勢に順次位置決めする手段と、
前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値を検出するターゲット検出手段と、
前記複数の計測位置姿勢の各々を起点として、前記ターゲットの形状の幾何学的特徴値が前記受光デバイスの受光面上で所定の条件を満足するように前記ロボットを移動するロボット移動手段と、
前記ロボット移動手段によって移動した前記ロボットの位置及び姿勢を、前記起点の各々に関連付けられた終点として記憶するロボット終点記憶手段と、
前記ロボット終点記憶手段に記憶された複数の前記終点での前記ロボットの位置及び姿勢に基づいて、前記ロボットの機構パラメータの誤差を求める計算手段と、を備えることを特徴とする計測装置。
【請求項2】
前記計測位置姿勢規定手段は、前記受光デバイスと前記ターゲットの所定点との距離が一定でかつ該所定点を通る前記受光デバイスの視線の傾きが異なる複数の計測位置姿勢を規定する、請求項1に記載の計測装置。
【請求項3】
前記計測位置姿勢規定手段は、前記ターゲットの所定点を通る前記受光デバイスの視線の姿勢が一定でかつ前記受光デバイスと前記ターゲットの該所定点との距離が異なる複数の計測位置姿勢を規定する、請求項1に記載の計測装置。
【請求項4】
前記計測位置姿勢規定手段は、前記複数の計測位置及び姿勢を自動的に生成する、請求項1に記載の計測装置。
【請求項5】
前記ターゲットが複数配置される、請求項1〜4のいずれか1項に記載の計測装置。
【請求項6】
前記受光デバイスを複数有する、請求項1〜5のいずれか1項に記載の計測装置。
【請求項7】
前記計算手段は、ニュートンラプソン法、遺伝的アルゴリズム及びニューラルネットワークを含む非線形問題の最適化法を用いて前記ロボットの機構パラメータの誤差を求める、請求項1〜6のいずれか1項に記載の計測装置。
【請求項8】
前記受光デバイスは2次元画像を撮像するCCDカメラである、請求項1〜7のいずれか1項に記載の計測装置。
【請求項9】
前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値は、前記受光面上での前記形状の位置及び前記受光デバイスと前記ターゲットとの相対距離を表す情報を含む、請求項8に記載の計測装置。
【請求項10】
前記ターゲットは円形形状を有し、前記情報は前記受光デバイスの受光面に結像した楕円の長軸長を含む、請求項9に記載の計測装置。
【請求項11】
前記受光デバイスは受光量分布の重心を求めるPSDである、請求項1〜7のいずれか1項に記載の計測装置。
【請求項12】
前記ターゲットは発光体である、請求項11に記載の計測装置。
【請求項13】
受光デバイスと、計測すべきターゲット及び前記受光デバイスが相対移動可能となるように構成された多関節ロボットとを有する計測装置を用いた該多関節ロボットのキャリブレーション方法であって、
前記ターゲットが前記受光デバイスの視野内に含まれる、前記ロボットの複数の計測位置姿勢を規定するステップと、
前記ロボットを前記複数の計測姿勢に順次位置決めするステップと、
前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値を検出するステップと、
前記複数の計測姿勢の各々を起点として、前記ターゲットの形状の幾何学的特徴値が前記受光デバイスの受光面上で所定の条件を満足するように前記ロボットを移動するステップと、
移動した前記ロボットの位置及び姿勢を、前記起点の各々に関連付けられた終点として記憶するステップと、
記憶された複数の前記終点での前記ロボットの位置及び姿勢に基づいて、前記ロボットの機構パラメータの誤差を求めるステップと、を備えることを特徴とするキャリブレーション方法。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、産業用の多関節ロボットの機構パラメータのキャリブレーション方法及び該方法を自動的に行うための計測装置に関し、特には、被計測対象物すなわちターゲットを認識する受光デバイスを用いてロボットの先端位置と制御可能な駆動軸の変位との関係を自動的に測定し、さらに機構部の寸法誤差とその弾性変形量等の定式化可能な誤差を求める装置及び方法に関する。
【背景技術】
【0002】
ロボットの先端を所望の位置に位置決めするためには、各ロボット軸の角変位とロボットの手先の位置及び姿勢(ハンド基準点、例えばフェイスプレートに設定されたフェイスプレート座標の位置及び姿勢)との関係を規定する諸パラメータの値を知る必要がある。しかし、加工時又は組立時に、これらのパラメータに誤差が生じることは避けられず、さらに組立てられたロボットにおけるこれらのパラメータを直接計測することも困難である。このため、産業界では、ロボットの入力変位と出力変位との関係を測定して、その測定結果に基づいてパラメータの最適値を推定しかつ補正する方法、すなわちいわゆるキャリブレーションがよく用いられる。
【0003】
キャリブレーションに関しては種々の装置又は方法が知られている。例えば特許文献1には、3次元測定機を静止座標系に固定してロボット先端の位置を測定する校正方法が開示されている。また特許文献2には、ロボットのツール先端を3次元空間の任意の1点に教示する自動補正方法が開示されている。また特許文献3には、ロボットの先端に3次元測定装置を取付け、3次元空間での任意の1点との距離を測定する補正方法が開示されている。さらに特許文献4には、複数のカメラ位置・姿勢で、ある点をカメラの視野の中心で捕らえるように教示するロボットカメラのキャリブレーション方法が開示されている。またさらに特許文献5には、ロボットの先端に撮像装置を取付け、複数の異なる姿勢で、ある固定点を撮像し、画像上の撮像結果が理論値との差に基づいて、ロボット機構部すべてのリンク要素の誤差を求める自動測定方法が開示されている。
【0004】
【特許文献1】特開2001−38662号公報
【特許文献2】特許第2640339号公報
【特許文献3】特開平4−259007号公報
【特許文献4】特許第3252870号公報
【特許文献5】特許第2682763号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来のキャリブレーションにおいて高精度な結果を得るためには高い計測精度が必要とされるが、一方でキャリブレーション作業の容易性も要求される。特許文献1の測定装置は、一般的に大型であるために、狭い作業環境での適用が困難である。また特許文献2の場合は測定装置を使わず手動操作で教示を行うために、教示誤差が生じる虞がある。
【0006】
一方特許文献3及び4の装置は小型ではあるが、計測時のロボット姿勢の教示は手動で行われる。さらに特許文献4の場合ではカメラの2次元の視線方向のみを合わせるため、1回の計測で得られるデータが3次元測定機を使用した場合より少なく、故により多い計測姿勢が必要となる。また特許文献2及び4では作業者による計測姿勢の教示が必要となるため、計測結果が作業者の技量に依存することになり、さらに教示誤差の影響を低減するためには、多く教示点が必要となってしまい、作業者の負担が重くなってしまう。
【0007】
さらに、特許文献5の計測精度は、撮像装置の誤差、例えばレンズ歪等に依存する。また自動計測を実現するためには計測する固定点の位置は既知でなければならないが、そのための治具作成や取付け作業が必要となる。
【0008】
そこで本発明は、上記課題を解決するために、比較的小型かつ安価な測定装置を使用し、高精度かつ自動的に機構パラメータの誤差を求めて機構パラメータを補正するための計測装置及びキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、請求項1に記載の発明は、受光デバイスと、計測すべきターゲット及び前記受光デバイスが相対移動可能となるように構成された多関節ロボットとを有する計測装置であって、前記ターゲットが前記受光デバイスの視野内に含まれる、前記ロボットの複数の計測位置及び姿勢を規定する計測位置姿勢規定手段と、前記ロボットを前記計測位置姿勢規定手段で規定された複数の計測位置姿勢に順次位置決めする手段と、前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値を検出するターゲット検出手段と、前記複数の計測位置姿勢の各々を起点として、前記ターゲットの形状の幾何学的特徴値が前記受光デバイスの受光面上で所定の条件を満足するように前記ロボットを移動するロボット移動手段と、前記ロボット移動手段によって移動した前記ロボットの位置及び姿勢を、前記起点の各々に関連付けられた終点として記憶するロボット終点記憶手段と、前記ロボット終点記憶手段に記憶された複数の前記終点での前記ロボットの位置及び姿勢に基づいて、前記ロボットの機構パラメータの誤差を求める計算手段と、を備えることを特徴とする計測装置を提供する。
【0010】
請求項2に記載の発明は、請求項1に記載の計測装置において、前記計測位置姿勢規定手段は、前記受光デバイスと前記ターゲットの所定点との距離が一定でかつ該所定点を通る前記受光デバイスの視線の傾きが異なる複数の計測位置姿勢を規定する、計測装置を提供する。
【0011】
請求項3に記載の発明は、請求項1に記載の計測装置において、前記計測位置姿勢規定手段は、前記ターゲットの所定点を通る前記受光デバイスの視線の姿勢が一定でかつ前記受光デバイスと前記ターゲットの該所定点との距離が異なる複数の計測位置姿勢を規定する、計測装置を提供する。
【0012】
請求項4に記載の発明は、請求項1に記載の計測装置において、前記計測位置姿勢規定手段は、前記複数の計測位置及び姿勢を自動的に生成する、計測装置を提供する。
【0013】
請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の計測装置において、前記ターゲットが複数配置される、計測装置を提供する。
【0014】
請求項6に記載の発明は、請求項1〜5のいずれか1項に記載の計測装置において、前記受光デバイスを複数有する、計測装置を提供する。
【0015】
請求項7に記載の発明は、請求項1〜6のいずれか1項に記載の計測装置において、前記計算手段は、ニュートンラプソン法、遺伝的アルゴリズム及びニューラルネットワークを含む非線形問題の最適化法を用いて前記ロボットの機構パラメータの誤差を求める、計測装置を提供する。
【0016】
請求項8に記載の発明は、請求項1〜7のいずれか1項に記載の計測装置において、前記受光デバイスは2次元画像を撮像するCCDカメラである、計測装置を提供する。
【0017】
請求項9に記載の発明は、請求項8に記載の計測装置において、前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値は、前記受光面上での前記形状の位置及び前記受光デバイスと前記ターゲットとの相対距離を表す情報を含む、計測装置を提供する。
【0018】
請求項10に記載の発明は、請求項9に記載の計測装置において、前記ターゲットは円形形状を有し、前記情報は前記受光デバイスの受光面に結像した楕円の長軸長を含む、計測装置を提供する。
【0019】
請求項11に記載の発明は、請求項1〜7のいずれか1項に記載の計測装置において、前記受光デバイスは受光量分布の重心を求めるPSDである、計測装置を提供する。
【0020】
請求項12に記載の発明は、請求項11に記載の計測装置において、前記ターゲットは発光体である、計測装置を提供する。
【0021】
請求項13に記載の発明は、受光デバイスと、計測すべきターゲット及び前記受光デバイスが相対移動可能となるように構成された多関節ロボットとを有する計測装置を用いた該多関節ロボットのキャリブレーション方法であって、前記ターゲットが前記受光デバイスの視野内に含まれる、前記ロボットの複数の計測位置姿勢を規定するステップと、前記ロボットを前記複数の計測位置姿勢に順次位置決めするステップと、前記受光デバイスの受光面上に結像した前記ターゲットの形状の幾何学的特徴値を検出するステップと、前記複数の計測位置姿勢の各々を起点として、前記ターゲットの形状の幾何学的特徴値が前記受光デバイスの受光面上で所定の条件を満足するように前記ロボットを移動するステップと、移動した前記ロボットの位置及び姿勢を、前記起点の各々に関連付けられた終点として記憶するステップと、記憶された複数の前記終点での前記ロボットの位置及び姿勢に基づいて、前記ロボットの機構パラメータの誤差を求めるステップと、を備えることを特徴とするキャリブレーション方法を提供する。
【発明の効果】
【0022】
本発明によれば、ロボットによるキャリブレーションを実行する際に、計測動作がカメラ等の非接触式の受光デバイスによって自動的に行われるので、より多い計測位置姿勢での高精度な計測が作業者の負担を減らしつつ可能になる。さらに、2次元の計測装置で3次元の計測を可能にし、1回の計測での計測情報がより多くなる。結果的に作業者の技量に依存せず広い作業領域で精度の高い計測ができるようになる。
【発明を実施するための最良の形態】
【0023】
以下、図面を参照して本発明の実施形態について説明する。先ず図1は、本発明の一実施形態に係る計測装置の概略構成を示す図である。図1に示すように、ロボット1は、公知の典型的なロボットでよく、ロボット1を制御するロボット制御装置5に接続され、アーム部1a及びベース部1bを有する。アーム1aの先端部すなわちツール取付面32には、カメラ4が取り付けられる。ロボット1には、ロボットのベース部1bに固定されたロボット座標系Σbと、ツール取付面32に固定されたメカニカルインターフェイス座標系Σfとが設定される。ロボット制御装置5は、随時、メカニカルインターフェイス座標系Σfの原点の位置及び姿勢(現在位置)を知ることができる。また、周知の手動操作キーを備えた教示操作盤18がロボット制御装置5に接続され、作業者はその手動操作キーを操作することにより、ロボット1を操作することができる。
【0024】
カメラ4は例えばCCDカメラであり、撮像により2次元画像を受光面(CCDアレイ面上)で検出する機能を持つ周知の受光デバイスである。カメラ4は、LCD、CRT等からなるモニタ3を備えた画像処理装置2に接続される。本実施形態では、カメラ4はロボット座標系Σbで表わされる空間内に固定されているターゲット6上のマーク7を撮像する。
【0025】
また他の好適な実施形態として、図2に示すように、ターゲット6をツール取付面32すなわちメカニカルインターフェイス座標系Σfに固定し、カメラ4をロボット座標系Σbで表される空間内に固定することも可能である。このように受光デバイス及びターゲットの設置は自由度が高く、また両者の相対位置関係は後述するように自動的かつ高精度に修正されるので、受光デバイスやターゲットの設置に関する精度管理は不要である。図2の構成による計測手順は図1のものと同様に考えられるので、以降の説明は図1の形態について行う。
【0026】
ロボット制御装置5は図3に示した周知のブロック構成を有する。すなわち、メインCPU(以下、単にCPUと称する)11に接続されたバス17に、RAM、ROM、不揮発性メモリ等からなるメモリ12、教示操作盤用インターフェイス13、外部装置用の入出力インターフェイス16、サーボ制御部15及び通信インターフェイス14が並列に接続されている。
【0027】
教示操作盤用インターフェイス13に接続される教示操作盤18は、通常のディスプレイ機能付のものであり、作業者は、この教示操作盤18のマニュアル操作を通して、ロボットの動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。ロボット及びロボット制御装置の基本機能を支えるシステムプログラムは、メモリ12のROMに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラム及び関連する設定データは、メモリ12の不揮発性メモリに格納される。また、後述する諸処理(機構パラメータを求めることに関連したロボット移動及びそのための画像処理装置との通信等のための処理)のためのプログラム、パラメータ等のデータもメモリ12の不揮発性メモリに格納される。
【0028】
メモリ12のRAMは、CPU11が行なう各種演算処理におけるデータの一時記憶の記憶領域に使用される。サーボ制御部15はサーボ制御器#1〜#n(nはロボットの総軸数であり、ここではn=6とする)を備え、ロボット制御のための演算処理(軌道計画作成とそれに基づく補間、逆変換など)によって作成された移動指令を受け、各軸に付属したパルスコーダ(図示省略)から受け取るフィードバック信号と併せてサーボアンプA1〜Anにトルク指令を出力する。各サーボアンプA1〜Anは、各トルク指令に基づいて各軸のサーボモータに電流を供給してそれらを駆動する。通信インターフェイス14は、画像処理装置2(図1参照)に接続されており、この通信インターフェイス14を介して、後述する計測に関連する指令、計測結果データ等の授受がロボット制御装置との間で行なわれる。
【0029】
画像処理装置2は、図4に示した周知のブロック構成を有する。すなわち、画像処理装置2はマイクロプロセッサからなるCPU20を有し、CPU20には、バスライン30を介してROM21、画像処理プロセッサ22、カメラインターフェイス23、モニタインターフェイス24、入出力機器(I/O)25、フレームメモリ(画像メモリ)26、不揮発性メモリ27、RAM28及び通信インターフェイス29が各々接続される。
【0030】
カメラインターフェイス23には、撮像手段であるカメラ(ここではCCDカメラ)が接続される。カメラインターフェイス23を介して撮影指令が送られたときに、カメラに設定された電子シャッタ機能により撮影が実行され、カメラインターフェイス23を介して映像信号がグレイスケール信号の形でフレームメモリ26に格納される。モニタインターフェイス24にはモニタ(図1参照)としてCRT、LCD等のディスプレイが接続され、カメラが撮影中の画像、フレームメモリ26に格納された過去の画像、画像処理プロセッサ22による処理を受けた画像等が必要に応じて表示される。
【0031】
図1に示すように、カメラ4はロボット座標系Σbで表わされる空間内に固定されているターゲット6上のマーク7を撮像する。フレームメモリ26に格納されたマーク7の映像信号は、画像処理プロセッサ22を利用して解析され、その2次元位置及び大きさ等が求められる(詳細は後述)。なお、そのためのプログラム、パラメータ等は不揮発性メモリ27に格納されている。また、RAM28はCPU20が実行する各種処理に必要なデータの一時記憶に利用される。通信インターフェイス29は、前述したロボット制御装置側の通信インターフェイス14を介してロボット制御装置に接続される。
【0032】
また図1に示すカメラ4の視線40は、カメラ4の代表点(例えばカメラレンズの中心)からターゲット6に向かう直線である。視線40に関連して、図1に示す座標系Σvは、カメラ4の代表点(例えばカメラレンズの中心)からターゲット6に向かう視線40を表わす座標系であり、その原点は視線40上に位置し、1つの座標軸(例えばZ軸)が視線40に一致しているものとする。なおメカニカルインターフェイス座標系Σfは、既述の通りツール取付面32の位置及び姿勢を代表する座標系であるが、同時にここでは、「ロボット1の位置及び姿勢を代表する座標系」でもある。すなわち、特に断わりのない限り、「ロボット位置」とは「ロボット座標系Σb上での、メカニカルインターフェイス座標系Σfの原点の位置」であり、姿勢を含めて考える時には、「ロボット座標系Σb上での、メカニカルインターフェイス座標系Σfの原点の位置及び姿勢」を指すものとする。
【0033】
次に、図1の構成による本発明のキャリブレーションの手順を、図5のフローチャートを参照しつつ説明する。但し通常、一連の処理を開始する前はロボット、ターゲット及びカメラ間の相対位置関係は未知であるので、画像上のターゲットを意図する方向に意図する距離だけ移動させるためにはロボットをどう動かせばよいかという、画像上の移動方向及び移動距離とロボットの移動方向及び移動距離との関係を事前に求めておく必要がある。例えば、図1におけるΣfのXYZの任意方向にロボットを複数回動かし、その都度、受光面上に結像したマーク7の図形の特徴値を検出し、ロボットの各軸の移動方向及び移動距離と前記特徴値の変化との関係を求める方法が可能である。このような手法により移動方向及び移動距離の関係を求めること自体は周知であるから、詳細な説明は省略する。ここまでの準備は、以下に述べるステップの前に済んでいるものとする。
【0034】
ステップT1
本発明では、ターゲット及びカメラを正確な位置に設置する必要はなく、カメラ4の視野内にマーク7が入っていればよい。ステップT1では、カメラ4の視野内にマーク7が入る(具体的には例えば画像処理装置2のモニタ3にマーク7が映る)ように作業者がロボットを移動させる。
【0035】
ステップT2
ステップT2では、カメラを使用して、メカニカルインターフェイス座標系Σfでのカメラの注視点31の位置、及びロボット座標系Σbでのマーク7の所定点の位置を自動的に算出する。このための方法としては、例えば本願出願人による特開2005−201824号公報に記載されているものが好適である。この方法では、カメラの注視点をロボット座標系Σbでのマーク7の所定点に複数の方向から(複数のロボット姿勢で)計測を行い、Σfでのカメラの注視点31の位置と、ロボット座標系Σbでのマーク7の所定点の位置とを算出する。これは従来、ロボットのメカニカルインターフェイス座標系Σfに装着されたツールの先端点(TCP;Tool Center Point)を、ロボット座標系Σbの所定点に複数方向から機械的にタッチアップして、TCP及び該所定点の位置を算出していた方法と類似であるので、詳細な説明は省略する。なおこの段階では、カメラ及びターゲットの位置は高精度に計算する必要はない。すなわち、注視点をターゲットの所定点に一致させた状態で注視点周りにロボットの姿勢を変化させたときに、ターゲットがカメラの視野から外れない程度であれば十分である。
【0036】
ステップT3
ステップT3では、算出されたメカニカルインターフェイス座標系Σfでのカメラの注視点31の位置とロボット座標系Σbでのマーク7の所定点の位置とに基づいて、ロボットの動作範囲内に含まれる複数の計測位置及び姿勢を規定すなわち自動算出してメモリ装置に記録する。複数の計測位置姿勢の具体例としては、カメラ4とマーク7上の所定点(例えば中心)との距離が一定でかつその所定点を通る視線の傾きが異なる複数の計測位置姿勢、或いは、マーク7上の所定点を通る視線の姿勢が一定でかつカメラ4とその所定点との距離が異なる複数の計測位置姿勢等がある。図6は、前者すなわちカメラ4とマーク7上の所定点との距離が一定かつ所定点を通る視線の傾きが異なる3つの計測位置姿勢を規定した例を示している。
【0037】
ここで、計測位置姿勢の自動算出の具体的方法としては、先ずステップT2でカメラの注視点31とマーク7上の所定点の位置とを合わせて得られたロボットの位置姿勢を基本位置姿勢とし、次にカメラの注視点の位置を一定とした上でカメラの姿勢角に規定値を加えて、ロボットの動作範囲内に含まれる複数の計測位置姿勢を自動的に生成する方法がある。或いは、カメラの注視点の位置を一定とした上でロボットの動作範囲内でとり得るカメラの姿勢角の範囲を算出し、その姿勢角の範囲に含まれるいくつかの角度について(例えば等角度間隔に分割して)、複数の計測位置姿勢を生成する方法も可能である。
【0038】
ステップT4、T5
ステップT4では、T3で規定し記録された各計測位置姿勢を起点として以下に述べる「自動タッチアップ処理」を行い、受光面上に結像したマーク7の図形の幾何学的特徴値が所定条件を満足するようにロボットを移動させ、ロボットの移動が終了した時点のロボット位置をメモリに記憶させる(ステップT5)。つまり複数の計測位置姿勢の起点に対応した、複数のロボット位置及び姿勢が終点としてメモリに記憶される。
【0039】
ここで図7〜図9を参照して、ステップT4の自動タッチアップ処理の詳細を説明する。本発明におけるキャリブレーションは、複数の異なるロボット位置について、受光面上に結像したマーク7の形状の幾何学的特徴を示す値又はパラメータが所定の条件を満足するように、ロボットを移動させることが基本となる。一般に、カメラによる計測を行うときは、カメラキャリブレーションと呼ばれる事前作業が行われ、カメラの計測精度はカメラキャリブレーションの精度に依存する。本発明では、マーク7を受光面上に比較的小さく結像させ、その受光面上でのマーク7の幾何学的特徴値が所定の状態を満足するようにロボットを移動させることによってカメラキャリブレーションを不要とする。後述する実施形態では、マーク7として中心を示す十字線を有する円形状を使用し、その場合の幾何学的特徴値は円の中心位置及び直径とする。
【0040】
まず1つの計測位置姿勢について、カメラ4の受光面上に結像したマーク7の形状の幾何学的特徴値が所定の条件を満足するようにロボットを移動させる処理を説明する。ここでは、マーク7の形状は図1に示す円とその中心を指す十字線とから構成されたものとする。受光面上に結像されたマーク7の画像7aの幾何学的特徴値は、図7及び図8に示すような楕円(一般にカメラ4の受光面とマーク7とは正対しないので、受光面上のマーク形状すなわち画像7aは楕円形状となる)の中心位置及び長軸長とする。図7及び図8は、画像上の楕円の中心を所定点(ここでは受光面の中心M)に移動させ、さらに楕円の長軸長を所定値(ここではマーク7の直径)に一致させる作業を、カメラ4及びターゲット6の相対位置関係の変化と併せて示している。図7では、結像された画像すなわち楕円7aが所定点Mからずれている上に、楕円の長軸長もマーク7の直径より短い。ここで図8に示すように、ロボット1を移動させることによってカメラ4とターゲット6との相対位置関係を変化させ、結果として楕円の中心が所定点Mと一致し、かつその長軸長がマーク7の直径と一致するようにする。具体的には、受光面上において楕円と円との中心位置の差及び長軸長と直径との差が所定の誤差以内となるような処理を自動的に実行する。受光面上では画像処理(周知の様々な方法が利用できるため、ここではその詳細は省略する)によって楕円の特徴値が検出でき、それと所定値との差が計算できる。
【0041】
図9は、ステップT4すなわちカメラ4によって撮像されたマーク7の画像7aを画像上の所定点Mに移動させかつ所定の大きさに合わせる処理の詳細を示すフローチャートである。各ステップの要点を以下に説明する。
ステップS1
マーク7の撮像を行なう。これにより、例えば図7に示すような像7aが得られる。
ステップS2
画像上でのマーク7の図形の位置及び大きさ(例えば図7に示す画像7aの中心の画面上での位置、及び像7aの長軸長)を画像処理装置2によって検出する。
ステップS3
ステップS2で求めた位置及び大きさが、画像上での所定点(ここでは受光面の中心点M)及び所定長(ここではマーク7の直径)にそれぞれ一致しているか否かを判断する。具体的には、画像上での誤差すなわち閾距離δimageを予め設定しておき、点Mと像7aの中心との距離、及び像7aの長軸長とマーク7の直径との差がいずれもδimage以下であれば「一致」と判断し、処理を終了する。上記差が一方でもδimageを上回っていれば「不一致」と判断し、ステップS4へ進む。なお、画像上での距離は、例えばその距離が正方形の「画素」の何個分に相当するか等の基準により測ることができる。
ステップS4
マーク7の画像7aを画像上で所定点Mに移動させ、さらに像7aの長軸長が所定値に一致するようなロボット並進指令を作成する。ここで、ロボット並進指令とは、ロボットの姿勢、すなわち座標系Σfの姿勢をロボット座標系Σb(空間内に固定)上で一定に保つような移動指令を意味する。
ステップS5
ステップS4で算出したロボット並進指令に基づいてロボット1を移動させる。移動が完了したらステップS1へ戻る。以下、同様に、ステップS2で「一致」の判断が出されるまで、上述の処理サイクルを繰り返す。
【0042】
以上が、結像された像7aの幾何学的特徴値が所定の条件を満足するようにロボットを移動させる処理である。図8に示すように、結像された図形の幾何学的特徴値が所定の条件を満足したときは、円の中心は必ず受光面中心を通過する視線40上に位置し、またそのときの円の中心に対するカメラの相対位置は常に一定値となる。但し、ターゲットに対するカメラの異なる相対姿勢によって、結像された楕円の長短軸の方向及び比は異なる。この受光面中心と交わる視線40上の点を注視点31とする。
【0043】
ここでカメラ4はメカニカルインターフェイスΣfに固定されているので、注視点31もメカニカルインターフェイスΣfに固定されている。すなわち、結像された楕円の中心を受光面の中心に移動させ、さらに楕円の長軸長を所定値に合わせた結果と、注視点31をマーク7の所定点に合わせた結果は等しくなる。この注視点を実際のピン等に置き換えれば、この位置合わせ処理は、従来、ロボットの先端にピンを取付けて人手でロボットの位置を合わせる作業(タッチアップ)と同等と言える。以下、この処理を「自動タッチアップ処理」を呼ぶことにする。本実施形態では、受光面上に結像したマーク7の図形の幾何学的特徴値は楕円の中心位置及び長軸長であるが、十字を構成する2本の直線の角度や円形の長短軸の比なども所定図形の幾何学的特徴値とすることができる。ただしこの場合、ステップS4で算出される移動指令には、並進だけでなく姿勢の変化も含まれることになる。また注視点は特定の一点ではなく、特定視線上の任意点とすることもできる。
【0044】
ステップT6
ステップT5で記憶された「自動タッチアップ処理」終了時点の複数ロボット位置を用いて、ロボットの機構パラメータを同定計算する。本発明で補正しようとするロボットの機構パラメータとは、ロボット制御時に使用するロボットの各駆動軸の変位(入力)とロボットの先端位置(出力)との相関関係を定める関係式の中で用いられるパラメータを指す。このパラメータの代表例は、リンク長さや各駆動軸の原点位置である。また軸の回転方向によって生じるバックラッシや、リンクの弾性変形、減速機の弾性変形量等も挙げられる。本発明では、同定計算する機構パラメータの種類は特に限定されるものではなく、定式化が可能でかつ互いに従属でないものであればよい。
【0045】
次に、全ての計測位置姿勢においてカメラ4の注視点31とマーク7上の所定点とが一致していることを前提として、ロボットの機構パラメータを計算する方法について説明する。ここではnp個の機構パラメータPk,0=[Pk,0,1,Pk,0,2,...,Pk,0,np]の誤差と、Σfでの注視点31の位置Ps=[Xs,Ys,Zs]の誤差と、Σbでのマーク7上の所定点の位置Pm=[Xm,Ym,Zm]の誤差とを同定計算する機構パラメータの誤差をPID=[ΔPk,ΔPs,ΔPm]とする。理想状態、すなわちPIDの全ての成分がゼロの場合は、記録されたi番目の計測位置姿勢に対応する「自動タッチアップ処理」終了時のロボット位置及びΣfでの注視点31の位置Psの双方を使用して算出するΣbにおける注視点31の位置Piと、Σbでのマーク7上の所定点の位置Pmとが完全に一致するはずである。しかし通常は、機構パラメータの誤差を含むPIDの誤差によってPiとPmとの間に式(1)で表す位置誤差eiが生じる。
【数1】


幾何学的関係から分かるように、ロボットの各駆動軸の値を一定値に固定して考えた場合は、PiはPIDの関数となる。従ってeiもPIDの関数となる。
【0046】
本実施例では、ニュートンラプソン法を用いて、ns個の計測位置姿勢におけるΣbでの注視点31の位置PiとΣbでのマーク7上の所定点の位置Pmとの誤差E=[e1,e2,...,ens]が最小になるようなPIDを求める。この計算では、先ず次式のようにeiのJ番目の同定パラメータPID,Jに対する微分値gi,jを求める。
【数2】


ここでe'i,jは、PID,jに微小誤差量ΔPID,jを加えたときの、i番目の計測位置姿勢におけるΣbでの注視点31の位置P'iと、Σbでのマーク7上の所定点の位置Pmとの誤差である。
【0047】
上記の式(2)を使用して、求められたgi,jを以下の式(3)のように行列[G]で表すことができる。
【数3】


【0048】
上記行列[G]を用いることにより、誤差関係は以下の線形式(4)で表すことができる。
【数4】


【0049】
従ってPIDは、以下の式(5)から求めることができる。
【数5】


ただし[G]+は[G]の擬似逆行列であり、以下の式(6)により求められる。
【数6】


【0050】
以上から、機構パラメータPk,lは次の式(7)により求められる。
【数7】


【0051】
IDとPiとの関係には非線形性が存在しているため、式(7)で求めたPk,lはまだ誤差を含む。そこでニュートンラプソン法に基づき、Pk,lをPk,0の代わりに使用して、PIDの全ての成分が微小になるまで、式(1)から式(7)の計算を繰り返して行う。実際には、PIDの各成分が所定の閾値以下になるまで上記計算を繰り返して行う。キャリブレーションに使用される他の計算方法としては、遺伝的アルゴリズム、ニューラルネットワーク等の非線形問題の最適化法があるが、いずれも周知の方法であるので説明は省略する。
【0052】
ステップT7
ステップT7では、ロボットの制御に反映させるため、求められたロボットの機構パラメータをロボットコントローラに記憶されている従来のものに上書きする。
【0053】
なお本実施形態ではターゲットのマーク形状を円形としたが、他の文字や図形等も無論使用可能である。但し円形を利用した場合は、カメラによるマーク画像は視線の方向に関わらず楕円となるため、演算処理がいくらか単純にできるという利点がある。また本実施形態では受光デバイスは2次元画像を撮影するCCDカメラであるが、同等の機能を持つ別のデバイス(CMOSカメラなど)であってもよい。
【0054】
またターゲット6は発光体等の点光源とみなせるものに置換してもよく、その場合には受光デバイスとして受光量の重心位置(2次元位置)を求める2次元PSD(Position Sensitive Detector)を用いることができる。但し、PSDを使用する場合は、画像処理装置2もそれに応じて適合する装置に置き換えられることは言うまでもない。例えばPSDを採用する場合、その出力信号を処理して受光量の重心位置(2次元位置)を求める機能を備えた処理装置が使用される。
【0055】
本発明に係る上述のキャリブレーション手順は一例であり、計測システムの構成によっては手順の変形もあり得る。例えば、実際のロボットの誤差については、一様な定式化、すなわちロボットの全動作領域に対して有効な定式化を行うことは困難な場合もある。そこで、ロボットの全動作範囲での精度向上を実現するために、複数のターゲットを設置して複数回の計測を行うことが考えられる。一例として、図10に示すような複数のターゲットについて計測を行うことが挙げられる。図10では、ロボットの座標系内に2つのターゲット6a及び6bが配置されている。この場合の計測手順では、先ず図5のステップT1で作業者によってそれぞれのターゲットをカメラ視野に入れる教示を行い、次にステップT2からT5までの一連の作業を2回繰り返して、その後T6及びT7を実行することになる。また1つのターゲットに対し複数のカメラを設置することにより、1回の計測での精度を向上させることもできる。
【図面の簡単な説明】
【0056】
【図1】本発明の一実施形態の全体構成の概略を示した図である。
【図2】本発明の他の実施形態の全体構成の概略を示した図である。
【図3】実施形態で用いるロボット制御装置のブロック構成を示した図である。
【図4】実施形態で用いる画像処理装置のブロック構成を示した図である。
【図5】本実施形態で実行される処理全体の概略を示すフローチャートである。
【図6】図5のフローチャートのステップT3の処理に関連する説明図である。
【図7】カメラ及びターゲットの相対位置関係並びにモニタ画面を示す図である。
【図8】図7の状態からターゲットを所定位置に合わせた状態を示す図である。
【図9】図5のフローチャートのステップT4に関する手順を示すフローチャートである。
【図10】本発明の他の実施形態の全体構成の概略を示した図である。
【符号の説明】
【0057】
1 ロボット
2 画像処理装置
3 モニタ
4 カメラ
5 ロボット制御装置
6 ターゲット
7 マーク
7a マーク画像
11 メインCPU
12 メモリ
13 教示操作盤用インターフェイス
14 通信インターフェイス(ロボット制御装置側)
15 サーボ制御部
16 外部装置用インターフェイス
17 バス
18 教示操作盤
20 CPU
21 ROM
22 画像処理プロセッサ
23 カメラインターフェイス
24 モニタインターフェイス
25 入力機器
26 フレームメモリ
27 不揮発性メモリ
28 RAM
29 通信インターフェイス(画像処理装置側)
30 ツール
31 カメラ注視点
32 ツール取付面
40 視線
【出願人】 【識別番号】390008235
【氏名又は名称】ファナック株式会社
【出願日】 平成18年7月3日(2006.7.3)
【代理人】 【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤

【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一

【識別番号】100102819
【弁理士】
【氏名又は名称】島田 哲郎

【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹


【公開番号】 特開2008−12604(P2008−12604A)
【公開日】 平成20年1月24日(2008.1.24)
【出願番号】 特願2006−183375(P2006−183375)