説明

視覚センサを有するマニピュレータのセンサキャリブレーション方法及びロボット制御システム

【課題】
視覚センサを持つマニピュレータのキャリブレーションをどこでも簡単に行うことができ、作業工数を大幅に削減でき、特別な治具が準備できない環境でも即座にキャリブレーションを行うことを可能とする。
【解決手段】
マニピュレータMの周囲に配置された治具Gの直線部上の点を複数の観測位置姿勢毎にレーザ変位センサLSによりそれぞれ検出する。次にリンクパラメータと、レーザ変位センサLSが検出した値から直線部上の検出点であるロボット座標系の座標を、観測位置姿勢毎にそれぞれ求める。検出点の2つを一組として複数の組からロボット座標系を基準とした直線部の単位方向ベクトルを複数算出する。算出した直線部の単位方向ベクトルと、ロボット座標系のベクトル変数で表される直線部の単位方向ベクトルから連立方程式を作り、最小二乗法により較正値を求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視覚センサを有するマニピュレータのセンサキャリブレーション方法及びロボット制御システムに関するものである。
【背景技術】
【0002】
近年、手先カメラと呼ばれるセンサ装置をマニピュレータの先端に取り付け、センサから得られる情報により、マニピュレータの動作を制御する制御手法が開発されてきている。しかし、センサとマニピュレータの取り付け位置姿勢情報が正確に把握されていなければ、マニピュレータの正確な制御はできない。このため、マニピュレータの先端の座標系を基準としたセンサの位置姿勢情報を正確に導出する、つまりキャリブレーションを行うことが必要になる。
【0003】
ここで、手先カメラを持つマニピュレータのセンサキャリブレーションとしては、特許文献1がある。特許文献1では、マニピュレータの手先にCCDカメラを取り付け、所定位置に被写点を固定し、マニピュレータ及びカメラを様々に関節動作させ、撮像する。その後、実際のカメラの2次元画像上における被写点の位置と論理的に算出される被写点の位置のずれを複数個求め、マニピュレータのリンク要素のパラメータの補正値を変数として、ずれが最小になるように最小二乗法により補正値を演算する手法である。特許文献1では、各リンク長さを実際に測定することや、マニピュレータを実際にある一点に移動させる手間を省くことができ、作業工程が大幅に短縮できる利点がある。
【0004】
特許文献2では、手先カメラのキャリブレーションではないが、マニピュレータの先端に、特徴点を有する治具を取付けるとともに、マニピュレータを支持するロボット本体に固定した撮像用、照準用のセンサにより前記特徴点を持つ治具を観測して、三次元位置センサのキャリブレーションを行う方法が提案されている。特許文献2では、基準座標系における前記特徴点の三次元位置と、撮像用、照準用であるセンサ部の2つのカメラの撮像面における前記特徴点の位置との組み合せを複数求め、これらから三角測量の原理で2つのカメラ(センサ)の三次元位置をキャリブレーションするようにしている。この方法は、人手でセンサを動かさなくてもよいところから、作業者の目にレーザが当たる危険性を回避することができ、手間も少なくてすむ利点がある。
【0005】
又、特許文献3では、先端に視覚センサが取り付けられたロボットアームを姿勢変化させ、変化の前後それぞれにおいて、視覚センサにより取得されるワーク画像の変化と、カメラの取り付け位置姿勢の仮の値からワークの位置変化を求める。この際、仮の値を複数用意し、ワークの位置変化が最小となるものを選択することで、カメラの取り付け位置を決定することができる。
【0006】
特許文献3では、ワークの置き場所を自由に設定でき、実際の作業に近い状態でキャリブレーションができる利点がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第2682763号公報
【特許文献2】特開平11−33962号公報
【特許文献3】特開2007−61979号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、特許文献1、特許文献3にみられるように、現在、手先カメラのキャリブレーション手法はいくつか提案されている。しかし、それらはキャリブレーションの実行の際に特別な冶具が必要となっている。すなわち、特許文献1、特許文献3では専用のキャリブレーション用の装置、治具が必要となり、キャリブレーションのために多くの時間とコストが必要となる問題がある。特許文献2は、手先カメラではないが、マニピュレータ先端の位置を観測するためのカメラのキャリブレーションであるとともに、マニピュレータに取付する専用の治具が必要となる。
【0009】
本発明の目的は、直線部を有するだけの簡単な構成の治具により、視覚センサを持つマニピュレータのキャリブレーションをどこでも簡単に行うことができるとともに、前記治具の準備などの作業工数を大幅に削減できるばかりか、特別な治具が準備できない環境でも即座にキャリブレーションを行うことが可能であり、マニピュレータに求められる本来の作業を行うための不必要な待ち時間や工数が削減できる視覚センサを有するマニピュレータのセンサキャリブレーション方法を提供することにある。
【0010】
又、本発明の他の目的は、上記のセンサキャリブレーション方法を実行するロボット制御システムを提供することにある。
【課題を解決するための手段】
【0011】
上記問題点を解決するために、請求項1に記載の発明は、マニピュレータ先端に設けられた視覚センサのセンサ座標系の原点位置姿勢であって、前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を較正値として求めるマニピュレータのセンサキャリブレーション方法において、前記マニピュレータの周囲に配置された治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢毎に、前記視覚センサによりそれぞれ検出する第1ステップと、前記マニピュレータのリンクパラメータと、前記視覚センサが検出した値とから、前記較正値を未知変数とした関数であって、前記直線部上の点(以下、検出点という)である基準座標系座標を、前記観測位置姿勢毎にそれぞれ求める第2ステップと、前記観測位置姿勢毎に求めた前記直線部上の検出点の2つを一組としたとき、複数の組から前記関数を要素とするとともに、前記基準座標系を基準とした前記直線部の単位方向ベクトルを複数算出し、算出した前記直線部の単位方向ベクトルと、基準座標系のベクトル変数で表される前記直線部の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により前記較正値を求める第3ステップを含む視覚センサを有するマニピュレータのセンサキャリブレーション方法を要旨としている。
【0012】
請求項2の発明は、請求項1において、前記連立方程式は、線形化して一次近似式にしたものであることを特徴とする。
請求項3の発明は、請求項2において、前記較正値を、近似値と同次変換行列の誤差の積で表わすとともに、予め得られている前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を前記近似値の初期値とし、前記第3ステップにおいて、前記較正値が得られたとき、前記近似値を該得られた較正値に更新した後、前記誤差に含まれる変数の値が予め定められた閾値以下になるまで前記第3ステップの処理を繰り返すことを特徴とする。
【0013】
請求項4の発明は、請求項1乃至請求項3のうちいずれか1項において、前記治具は、複数の面と面間に設けられた複数の稜線を有し、前記直線部は、前記複数の稜線のうち、1つの稜線であることを特徴とする。
【0014】
請求項5の発明は、マニピュレータ先端に設けられた視覚センサのセンサ座標系の原点位置姿勢であって、前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を較正値として求めてマニピュレータのセンサキャリブレーションを行うロボット制御システムにおいて、前記マニピュレータの周囲に配置された治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢をとらせる制御手段と、前記視覚センサが前記治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢毎に、それぞれ検出した値を記憶する記憶手段と、前記マニピュレータのリンクパラメータと、前記視覚センサが検出した値とから、前記較正値を未知変数とした関数であって、前記直線部上の点(以下、検出点という)である基準座標系座標を、前記観測位置姿勢毎にそれぞれ求める検出点座標算出手段と、前記観測位置姿勢毎に求めた前記直線部上の検出点の2つを一組としたとき、複数の組から前記関数を要素とするとともに、前記基準座標系を基準とした前記直線部の単位方向ベクトルを複数算出するとともに、前記算出された前記直線部の単位方向ベクトルと、基準座標系のベクトル変数で表される前記直線部の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により前記較正値を求める処理を行う較正値算出手段を含むロボット制御システムを要旨としている。
【0015】
請求項6の発明は、請求項において、前記較正値算出手段は、前記連立方程式を、線形化して一次近似式にした上で前記較正値を算出するものであることを特徴とする。
請求項7の発明は、請求項6において、前記較正値算出手段は、前記較正値を、近似値と同次変換行列の誤差の積で表わすとともに、予め得られている前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を前記近似値の初期値とし、前記較正値を得たとき、前記近似値を前記得た較正値に更新した後、前記誤差に含まれる変数の値が予め定められた閾値以下になるまで前記処理を繰り返すことを特徴とする。
【発明の効果】
【0016】
請求項1の発明によれば、直線部を有するだけの簡単な構成の治具により、視覚センサを持つマニピュレータのキャリブレーションをどこでも簡単に行うことができる。又、請求項1の発明によれば、治具の準備などの作業工数を大幅に削減できるばかりか、特別な治具が準備できない環境でも即座にキャリブレーションを行うことが可能であり、マニピュレータに求められる本来の作業を行うための不必要な待ち時間や工数が削減できる。
【0017】
請求項2の発明によれば、連立方程式が線形化して一次近似式にされているため、第3ステップの処理で行う計算を簡便化でき、線形化して一次近似式にしない場合に比して、演算に係る時間を短くできる効果がある。
【0018】
請求項3の発明によれば、前記連立方程式を線形化すると誤差が生じるが、この誤差を閾値以下にすることができ、較正値の精度を保障することができる。
請求項4の発明によれば、治具の稜線を直線部としているため、特別な治具が必要でなくなり、直方体、立方体等の直線部を面間に有する既存の治具を使用することができ、或いは単純な形状の治具で良くなり、キャリブレーションのための特別な形状の治具を必要としない。
【0019】
請求項5の発明によれば、上記のセンサキャリブレーション方法を実行するロボット制御システムを提供できる。
請求項6の発明によれば、較正値算出手段は連立方程式が線形化して一次近似式にするため、第3ステップの処理で行う計算を簡便化でき、線形化して一次近似式にしない場合に比して、演算に係る時間を短くできるセンサキャリブレーション方法を実行するロボット制御システムを提供できる。
【0020】
請求項7の発明によれば、前記連立方程式を線形化すると誤差が生じるが、この誤差を閾値以下にすることができ、較正値の精度を保障することができるセンサキャリブレーション方法を実行するロボット制御システムを提供できる。
【図面の簡単な説明】
【0021】
【図1】一実施形態のロボット制御システムの構成を示すブロック図。
【図2】レーザ変位センサLSが治具に対して観測位置姿勢を変化させた状態を示す説明図。
【図3】実施形態で使用する座標系の説明図。
【発明を実施するための形態】
【0022】
以下、本発明を具体化した視覚センサを有するマニピュレータのセンサキャリブレーション方法及びロボット制御システムを具体化した一実施形態を図1〜3を参照して説明する。
【0023】
図1はロボット制御システム10の構成を示すブロック図である。ロボット制御システム10は、ワーク(作業対象物)に対して、特定の作業を行うように制御するものである。ロボット制御システム10は、前記作業を行うマニピュレータMと、マニピュレータMを制御するロボット制御装置RCと、ワークの形状を検出する視覚センサ及びレーザセンサとしてのレーザ変位センサLSとを備える。
【0024】
マニピュレータMは、フロア等に固定されるベース部材12と、複数の回転軸を介して連結された複数のアーム13とを備える。本実施形態のロボットは、6軸のロボットである。最も先端側に位置するアーム13先端(すなわち、マニピュレータM先端)には、前記特定の作業を行うためのツール(図示しない)、例えば、溶接トーチ、塗装ガン、ロボットハンド等が設けられる。
【0025】
ロボット制御装置RCは、コンピュータからなる。すなわち、ロボット制御装置RCはCPU(中央処理装置)20、マニピュレータMを制御するための各種プログラムを記憶する書き換え可能なROM21や、作業メモリとなるRAM22、各種データを記憶する書換可能な不揮発性メモリからなる記憶部23を備える。CPU20は、制御手段、検出点座標算出手段、及び較正値算出手段に相当する。又、記憶部23は記憶手段に相当する前記ROM21には、センサキャリブレーション、及び、前記ツールの特定の作業を行わせるための各種のロボット制御プログラムが記憶されている。そして、前記プログラムに従って前記CPU20が、各アーム13間に設けられた図示しないモータを制御駆動することにより、前記ツールの位置姿勢及びレーザ変位センサLSの観測位置姿勢が変化する。
【0026】
レーザ変位センサLSは、前記ツールと併設されるようにアーム13先端(すなわち、マニピュレータ先端)にブラケットBrを介して取付されている(図3参照)。そして、本実施形態では、このマニピュレータM先端において、任意の一点を基準とするセンサ座標系の原点位置姿勢を後述する較正値Cとして求めるようにしている。なお、本実施形態では、マニピュレータM先端において、前記ブラケットの取付部位を前記任意の一点としているが、限定するものではなく、マニピュレータM先端の特定の位置を任意の一点とすればよい。
【0027】
レーザ変位センサLSは、二次元レーザセンサであって、レーザの発光及び受光によりワークWまでの距離を測定する走査型のレーザ変位センサであり、図2に示すようにレーザ照射部Lsaから扇形の検出範囲を有する。前記レーザ変位センサLSは、レーザを照射するレーザ照射部Lsaと、ワーク等の作業対象物で反射したレーザを受光する受光部(図示しない)等を備える。レーザ変位センサLSが検出した値は、図1に示すセンサインターフェイスユニット24を介してロボット制御装置RCに出力され、記憶部23に格納される。
【0028】
上記のように構成されたロボット制御システム10を使用して、レーザ変位センサLSのセンサキャリブレーションの方法を説明する。
(作業手順)
まず、本実施形態のセンサキャリブレーションの作業手順について説明する。
【0029】
マニピュレータM先端に対して、レーザ変位センサLSをブラケットBrを介して取り付ける。このとき、マニピュレータM先端からレーザ照射部Lsaまでの位置姿勢Caを測定し、あるいは、ブラケットBr及びレーザ変位センサLSのカタログ値に基づいて得ておき、このCaを較正値Cの近似値として、予め図示しないティーチペンダント、或いはパーソナルコンピュータ等の入力装置を介して、ロボット制御装置RCの記憶部23に格納しておく。なお、近似値Caの詳細については、後述する。
【0030】
又、テーブル30上に治具Gを配置する。なお、治具Gの配置はテーブル30上に限定するものではなく、床面に直接配置して、動かないようにしてもよい。治具Gは、本実施形態では、複数の面、及び互いに隣接する面間には直線を有する稜線を有する。又、本実施形態では、治具Gは図2に示すように平板、或いは直方体に形成され、上面の長手方向に延びる上面の稜線が直線部32とされている。すなわち、治具Gは複数の平面を有しているとともに複数の稜線を有しており、この複数の稜線のうち、上面の縁部に設けられた1つの稜線を直線部32としている。
【0031】
次に、前記ROM21に格納したセンサキャリブレーションの算出プログラムをCPU20が実行することにより、CPU20は図示しないマニピュレータMの各回転軸のモータを駆動制御する。このCPU20のマニピュレータMの制御により、検出点の検出のための観測位置姿勢、すなわち、マニピュレータM先端の観測位置姿勢を異ならしめて、すなわち、これらの複数の観測位置姿勢(図2では、姿勢1、姿勢2、姿勢3で示す。)のもとで、レーザ変位センサLSにより治具Gに設けられた直線部32上の異なる複数の点を測定する。観測位置姿勢の数は、少なくとも3点以上が必要である。この処理は第1ステップに相当する。
【0032】
次に、ロボット制御装置RCは、レーザ変位センサLSでそれぞれ測定した点(以下、検出点という)における検出値をセンサインターフェイスユニット24を介して取り込み、記憶部23に記憶する。図2では、前記検出点は、姿勢1〜姿勢3において、それぞれ測定した検出点をK1〜K3で示している。
【0033】
この後、ロボット制御装置RCのCPU20は、前記検出値と、予め記憶部23に記憶されている、マニピュレータMのリンクパラメータの値を使用して、レーザ変位センサLSの取付誤差、すなわち、較正値を求める。なお、リンクパラメータは、例えば、デナビット・ハーテンバーグ法(Denavit-Hartenbergmethod)により、マニピュレータMを構成している各アーム寸法と各回転軸の配置を定義したものであり、公知であるため、説明を省略する。
【0034】
(較正値の算出)
次に、CPU20が実行する較正値の算出方法について説明する。
まず、本実施形態において、基本要素となる座標系、座標変換行列(同次変換行列)及びベクトルの定義を図3を参照して説明する。なお、本実施形態で説明する各座標系は右手直交系である。
【0035】
図3中、Tiは、姿勢i(i=1,2,3……)におけるロボット座標系を基準としたマニピュレータM先端のJ6基準座標系の原点位置姿勢であって観測により求めることができる。なお、J6は、マニピュレータMの回転軸をベース部材12側から順に数えて第6番目を表している。従って、J6基準座標系とは、第6番目の回転軸を基準とした座標系のことである。
【0036】
又、ロボット座標系は、図3に示すようにベース部材12の特定点を原点とする座標系であり、基準座標系に相当する。前記特定点は、ベース部材12上の任意の点でよい。
Cは、マニピュレータM先端のJ6基準座標系を基準としたレーザ照射部Lsaの座標系の原点位置姿勢であって未知数であり、本実施形態において算出する較正値である。ここで、レーザ照射部Lsaの座標系は、センサ座標系に相当する。センサ座標系は、レーザの照射方向をx軸(+)方向とした右手直交系である。
【0037】
は、姿勢iにおけるレーザ照射部Lsaの座標系(センサ座標系)を基準とした検出点の位置であり、レーザ変位センサLSの出力(すなわち、検出値)により求めることができる。
【0038】
は、姿勢iにおけるロボット座標系(基準座標)を基準とした検出点の位置であり、T、C、Fから求めることができる。
なお、P,Pは、マニピュレータMのリンクパラメータと、視覚センサが検出した値とから、較正値Cを未知変数とした関数に相当する。
【0039】
Lは、ロボット座標系を基準とした直線部32の単位方向ベクトルであって、未知数である。なお、T、Cは4×4の同次変換行列であり、F、P及びLは4次元ベクトルである。
【0040】
次に、前記各基本要素についてCPU20が行う算出について説明する。
前記Tは、下記のようにして、CPU20により算出される。
マニピュレータMにおいて、姿勢iにおけるj−1軸先端の座標系を基準としたj軸先端の座標系の原点位置姿勢の同次変換行列をAijとする。Aijを併進とロール・ピッチ・ヨーのパラメータ(x,y,z,yaw,pitch,roll)=(xaj,yaj,zaj,αaj,βaj,γaij)で表すと式(1)となる。ここで、xaj,yaj,zaj,αaj,βajはロボット毎に決定される定数であって、リンクパラメータが含まれている。又、γaijは、マニピュレータMの各回転軸を駆動するモータに設けられたロータリーエンコーダのエンコーダ値より求められる。
【0041】
【数1】

又、Tiはベース部材12から6つ目のアームであるAi6先端の座標なので式(2)で表される。
【0042】
【数2】

又、レーザ変位センサLSを取り付けるブラケットBrとレーザ変位センサLS自身の形から、較正値Cの併進とロール・ピッチ・ヨーのパラメータの近似値(x,y,z,yaw,pitch,roll)=(x,y,z,α,β,γ)が得られるとすると、マニピュレータM先端のJ6基準座標系を基準としたレーザ照射部Lsaの同次変換行列の近似値Caは式(3)となる。近似値Caは、前述したように、予め、記憶部23に格納されている。
【0043】
【数3】

ここで、ΔCaを較正値Cと近似値Ca の誤差を示す同次変換行列とすると、較正値C は式(4)のようにΔCaと近似値Caの積で表される。
【0044】
【数4】

ここで、ΔCaは誤差なので各要素は微少と仮定できる。従って、ΔCaは併進とロール・ピッチ・ヨーの微少な未知パラメータ(x,y,z,yaw,pitch,roll)=(Δxc,Δyc,Δzc,Δαc,Δβc,Δγc)を使い式(5)で表すことができる。
【0045】
【数5】

レーザ照射部Lsaの座標系(センサ座標系)を基準とした姿勢iにおける検出点の位置Fiは式(6)で表される。ここでyfi,zfi はレーザ変位センサLSにより取得される値である。なお、式(6)式及び式(7)中の「T」は転置行列を表している。
【0046】
【数6】

ロボット座標系(基準座標系)を基準とした直線部32の単位方向ベクトルLは式(7)で表される。ここでxl,yl,zlは未知数であって、ベクトル変数である。
【0047】
【数7】

そして、CPU20は、ロボット座標系(基準座標系)を基準とした姿勢iにおける検出点の位置Pを式(8)で算出する。
【0048】
【数8】

この式(8)の計算処理は、第2ステップに相当する。
【0049】
(拘束条件、及び較正値のCPU20による算出)
上記のように検出点は全て直線部32上であるため、i番目の検出点からj番目の検出点に向かうベクトルは直線部32の方向ベクトルとなる。この方向ベクトルは正規化すると単位方向ベクトルとなり、ロボット座標系を基準とした直線部32の単位方向ベクトルLに等しくなる。式(9)中、左辺において、分子は方向ベクトルを示し、分母は正規化していることを示している。
【0050】
【数9】

なお、前記式(9)は四次元のベクトル式であるが、四次元目が全て0であるため、実質はΔCaとLに含まれる未知数を変数とした関数を要素とする3次元ベクトルであり、要素ごとの3つの方程式が成り立つ。又、検出点の検出、すなわち、観測位置姿勢の組の総数を考慮すると、ΔCaとLに含まれる未知数を変数とした方程式は、取得した観測位置姿勢の数をnとすると、3×(n(n−1)))/2個取得できる。例えば、観測位置姿勢nが3の場合、9個の方程式を取得できる。
【0051】
CPU20は、これらの方程式を生成して、すなわち連立方程式を生成して、最小二乗法を使用することにより、未知数を求める。すなわち、較正値Cを求める。なお、CPU20のここでの処理は第3ステップに相当する。
【0052】
(CPU20による線形化と繰り返し演算)
本実施形態では、前記方程式の解を得るために、CPU20により、前記方程式をマクローリン展開により線形化を行い、計算を簡単にしている。マクローリン展開とは元関数をn次微分し、原点近傍の超平面の傾きを算出することで、原点周辺のn次の近似式を求める方法である。本実施形態では1次近似を行っているため、非常に簡単な式で記述できる。すなわち、式(9)を式(10)のように表すと、マクローリン展開の1次近似の式は式(11)にすることができる。
【0053】
【数10】

【0054】
【数11】

又、本実施形態では、CPU20は、様々な検出点i,jの組により、式(11)式から、最小二乗法により全ての未知数を求める、すなわち、較正値Cを算出する。なお、算出した結果である較正値Cには線形化により誤差が生じるため、CPU20は、C(=ΔCa Ca)を新たな近似値Caとして更新した後、始めから計算を行う。
【0055】
そして、誤差ΔCaを構成している各変数Δxc,Δyc,Δzc,Δαc,Δβc,Δγcの大きさが下記の式(12)、式(13)を満足する迄、繰り返す。このことにより、最終的に求められる較正値Cの精度を保障している。式(12)、式(13)は、CPU20が行う閾値S,及び閾値θとの比較処理である。閾値S、閾値θはそれぞれ、位置及び姿勢の閾値である。
【0056】
【数12】

【0057】
【数13】

さて、本実施形態によれば、以下のような特徴がある。
【0058】
(1) 本実施形態のセンサキャリブレーション方法は、第1ステップとして、マニピュレータMの周囲に配置された治具Gの直線部32上の点を、マニピュレータMの互いに異なる複数の観測位置姿勢毎に、レーザ変位センサLSによりそれぞれ検出する。また、第2ステップとして、マニピュレータMのリンクパラメータと、レーザ変位センサLSが検出した値とから、較正値Cを未知変数とした関数P,Pであって、直線部32上の検出点であるロボット座標系の座標を、観測位置姿勢毎にそれぞれ求める。又、第3ステップとして、前記観測位置姿勢毎に求めた直線部32上の検出点の2つを一組とし、複数の組から前記関数を要素とするとともに、ロボット座標系を基準とした直線部32の単位方向ベクトルを複数算出する。そして、算出した直線部32の単位方向ベクトルと、ロボット座標系のベクトル変数(xl,yl,zl)で表される直線部32の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により較正値Cを求めるようにした。
【0059】
この結果、直線部32を有するという簡単な構成の治具Gにより、レーザ変位センサLSを持つマニピュレータMのキャリブレーションをどこでも簡単に行うことができる。又、本実施形態の方法によれば、治具の準備などの作業工数を大幅に削減できるばかりか、特別な治具が準備できない環境でも即座にキャリブレーションを行うことが可能であり、マニピュレータMに求められる本来の作業を行うための不必要な待ち時間や工数が削減できる。
【0060】
(2) 本実施形態のセンサキャリブレーション方法では、連立方程式が線形化して一次近似式にされているため、第3ステップの処理で行う計算を簡便化でき、線形化して一次近似式にしない場合に比して、演算に係る時間を短くできる。
【0061】
(3)本実施形態のセンサキャリブレーション方法は、較正値Cを、近似値Caと同次変換行列の誤差ΔCaの積で表わすとともに、予め得られているマニピュレータM先端を基準とするレーザ照射部Lsaの座標系(センサ座標系)の原点位置姿勢を近似値Caの初期値とする。そして、第3ステップにおいて、較正値が得られたとき、前記近似値を、該得られた較正値に更新した後、誤差ΔCaに含まれる変数の値が予め定められた閾値以下になるまで第3ステップの処理を繰り返すようにした。この結果、本実施形態によれば、連立方程式を線形化すると誤差が生じるが、この誤差を閾値以下にすることができ、較正値の精度を保障することができる。
【0062】
(4) 本実施形態のセンサキャリブレーション方法では、治具Gは、複数の面と面間に設けられた複数の稜線を有し、直線部32を複数の稜線のうち、1つの稜線で構成している。この結果、治具Gの稜線を直線部32としているため、特別な治具が必要でなくなり、直方体、平板等の直線部を面間に有する既存の治具を使用することができ、或いは単純な形状の治具で良くなり、キャリブレーションのための特別な形状の治具を必要としない。
【0063】
(5) 本実施形態のロボット制御システム10は、ロボット制御装置RCのCPU20が、制御手段として、治具Gの直線部32上の点を、マニピュレータMの互いに異なる複数の観測位置姿勢をとらせる。又、ロボット制御装置RCの記憶部23は記憶手段として、レーザ変位センサLSが治具Gの直線部32上の点を、マニピュレータM先端の互いに異なる複数の観測位置姿勢毎に、それぞれ検出した値を記憶するようにした。又、CPU20は、検出点座標算出手段として、マニピュレータMのリンクパラメータと、レーザ変位センサLSが検出した値とから、較正値Cを未知変数とした関数Pi,Pjであって、直線部32上の検出点であるロボット座標系座標を、観測位置姿勢毎にそれぞれ求める。又、CPU20は、較正値算出手段として、観測位置姿勢毎に求めた直線部32上の検出点の2つを一組としたとき、複数の組から関数Pi,Pjを要素とするとともに、ロボット座標系を基準とした直線部32の単位方向ベクトルを複数算出する。さらに、CPU20は、算出された直線部32の単位方向ベクトルと、ロボット座標系のベクトル変数(xl,yl,zl)で表される直線部32の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により較正値Cを求める処理を行う。
【0064】
この結果、本実施形態のロボット制御システム10は、前記(1)のセンサキャリブレーション方法を実行するロボット制御システムを提供することができる。
(6) 本実施形態のロボット制御システム10は、CPU20(較正値算出手段)は、前記連立方程式を、線形化して一次近似式にした上で較正値Cを算出するようにした。この結果、ロボット制御システム10は、第3ステップの処理で行う計算を簡便化でき、線形化して一次近似式にしない場合に比して、演算に係る時間を短くできるセンサキャリブレーション方法を実行するロボット制御システムを提供することができる。
【0065】
(7) 本実施形態のロボット制御システム10は、CPU20(較正値算出手段)は、較正値Cを得たとき、近似値を、前記得た較正値Cに更新した後、誤差ΔCaに含まれる変数の値が予め定められた閾値以下になるまで第3ステップの処理を繰り返す。この結果、本実施形態のロボット制御システム10は、連立方程式を線形化すると誤差が生じるが、この誤差を閾値以下にすることができ、較正値の精度を保障することができるセンサキャリブレーション方法を実行するロボット制御システムを提供できる。
【0066】
(8) なお、従来技術は、2次元画像情報や三次元センサなどを対象にしたものが多く2次元レーザセンサを対象にしたセンサキャリブレーションは提案されていない。前記特許文献1〜3は、CCDカメラを利用したキャリブレーションの方法であり、これらの方法では、センサ原点に対しY軸とそれに対応するZ軸の1点しか取得できないレーザセンサではキャリブレーションが実現できない。これに対して、本実施形態の方法及びロボット制御システム10は二次元レーザセンサのセンサキャリブレーションができる。
【0067】
なお、本発明は前記実施形態に限定されるものではなく、下記のように構成してもよい。
・ 前記実施形態では、視覚センサを二次元レーザセンサとしたが、二次元レーザセンサに限定されるものではなく、CCDカメラ等の撮像手段であってもよい。この場合、撮像手段が取得して得られた画像中において、任意の画素を基準として、例えば撮像した画像の中心位置を前記基準として、該中心位置に最も近位の直線部の画素の点を検出点とすれば、以下、前記実施形態と同様にキャリブレーションを行うことができる。
【0068】
・ 前記実施形態では、治具Gを平板、或いは直方体の稜線を直線部としたが、治具Gは、平板、或いは直方体に限定されるものではなく、立方体でもよい。或いは、稜線が直線となるものであれば、治具Gの形状は限定されるものではない。前記直線となった稜線を直線部とすることもできる。
【0069】
・ 又、直線部は、稜線に限定されるものではない、例えば、平面を有する一側面、例えば、上面、或いは上面に隣接する側面に対して凹設された直線上の溝を直線状に形成して直線部としてもよい。前記溝は、レーザ変位センサLSで検出できる深さを有している。さらに、直線部32は、溝に限定されるものではなく、前記上面に突出されるとともに直線上に上面に沿って位置方向に延出された突条であってもよい。この場合、突条は、レーザ変位センサLSにより、上面からの高さが検出できる高さを有するものとする。
【0070】
又、直線部32が設けられる治具Gの面は、上面に限定されるものではなく、上面に隣接する側面であってもよい。
・ 又、治具Gの上面の一部に対して、上方に高さを有する段部を設け、前記上面に沿って前記段部が一方向に直線状に延びるように形成して、その直線状の部分を直線部としてもよい。
【0071】
・ 前記実施形態では、6軸ロボットで説明したが、6軸ロボットに限定されるものではない。前記方法、及びロボット制御システムは、6軸よりも少ない5軸、4軸等の軸数が少ないロボット、或いは、7軸以上のロボットにも変更してもよい。
【0072】
この場合、前記実施形態の式(2)において、マニピュレータM先端の座標系を、変更後の軸数に応じて変更すればよい。例えば、7軸ロボットのときは、Tiはベース部材12から7つ目のアームであるAi7先端の座標となるように変更し、
T7=Ai1i2i3i4i5i6i7
とすればよい。
【0073】
・ 前記実施形態では、連立方程式をマクローリン展開により線形化を行い、計算を簡単にしたが、マクローリン展開せずに、非線形のままで前記連立方程式の解を求めても良い。
【符号の説明】
【0074】
M…マニピュレータ、G…治具、RC…ロボット制御装置、
LS…レーザ変位センサ(視覚センサ)、
10…ロボット制御システム、
20…CPU(制御手段、検出点座標算出手段、較正値算出手段)、
21…ROM、23…記憶部(記憶手段)、32…直線部。

【特許請求の範囲】
【請求項1】
マニピュレータ先端に設けられた視覚センサのセンサ座標系の原点位置姿勢であって、前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を較正値として求める視覚センサを有するマニピュレータのセンサキャリブレーション方法において、前記マニピュレータの周囲に配置された治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢毎に、前記視覚センサによりそれぞれ検出する第1ステップと、前記マニピュレータのリンクパラメータと、前記視覚センサが検出した値とから、前記較正値を未知変数とした関数であって、前記直線部上の点(以下、検出点という)である基準座標系座標を、前記観測位置姿勢毎にそれぞれ求める第2ステップと、前記観測位置姿勢毎に求めた前記直線部上の検出点の2つを一組としたとき、複数の組から前記関数を要素とするとともに、前記基準座標系を基準とした前記直線部の単位方向ベクトルを複数算出し、算出した前記直線部の単位方向ベクトルと、基準座標系のベクトル変数で表される前記直線部の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により前記較正値を求める第3ステップを含む
ことを特徴とする視覚センサを有するマニピュレータのセンサキャリブレーション方法。
【請求項2】
前記連立方程式は、線形化して一次近似式にしたものであることを特徴とする請求項1に記載の視覚センサを有するマニピュレータのセンサキャリブレーション方法。
【請求項3】
前記較正値を、近似値と同次変換行列の誤差の積で表わすとともに、予め得られている前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を前記近似値の初期値とし、
前記第3ステップにおいて、前記較正値が得られたとき、前記近似値を該得られた較正値に更新した後、前記誤差に含まれる変数の値が予め定められた閾値以下になるまで前記第3ステップの処理を繰り返すことを特徴とする請求項2に記載の視覚センサを有するマニピュレータのセンサキャリブレーション方法。
【請求項4】
前記治具は、複数の面と面間に設けられた複数の稜線を有し、
前記直線部は、複数の稜線のうち、1つの稜線であることを特徴とする請求項1乃至請求項3のうちいずれか1項に記載の視覚センサを有するマニピュレータのセンサキャリブレーション方法。
【請求項5】
マニピュレータ先端に設けられた視覚センサのセンサ座標系の原点位置姿勢であって、前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を較正値として求めてマニピュレータのセンサキャリブレーションを行うロボット制御システムにおいて、
前記マニピュレータの周囲に配置された治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢をとらせる制御手段と、
前記視覚センサが前記治具の直線部上の点を、前記マニピュレータの互いに異なる複数の観測位置姿勢毎に、それぞれ検出した値を記憶する記憶手段と、
前記マニピュレータのリンクパラメータと、前記視覚センサが検出した値とから、前記較正値を未知変数とした関数であって、前記直線部上の点(以下、検出点という)である基準座標系座標を、前記観測位置姿勢毎にそれぞれ求める検出点座標算出手段と、
前記観測位置姿勢毎に求めた前記直線部上の検出点の2つを一組としたとき、複数の組から前記関数を要素とするとともに、前記基準座標系を基準とした前記直線部の単位方向ベクトルを複数算出するとともに、前記算出された前記直線部の単位方向ベクトルと、基準座標系のベクトル変数で表される前記直線部の単位方向ベクトルが等しいことを利用して連立方程式を作り、最小二乗法により前記較正値を求める処理を行う較正値算出手段を含むロボット制御システム。
【請求項6】
前記較正値算出手段は、前記連立方程式を、線形化して一次近似式にした上で前記較正値を算出するものである請求項5に記載のロボット制御システム。
【請求項7】
前記較正値算出手段は、前記較正値を、近似値と同次変換行列の誤差の積で表わすとともに、予め得られている前記マニピュレータ先端を基準とするセンサ座標系の原点位置姿勢を前記近似値の初期値とし、前記較正値を得たとき、前記近似値を前記得た較正値に更新した後、前記誤差に含まれる変数の値が予め定められた閾値以下になるまで前記処理を繰り返すことを特徴とする請求項6に記載のロボット制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−230249(P2011−230249A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−103677(P2010−103677)
【出願日】平成22年4月28日(2010.4.28)
【出願人】(000000262)株式会社ダイヘン (990)
【Fターム(参考)】