(57)【要約】【課題】作業者に負担を強いたり、事前の煩わしい設定・調整をしたりせずに、低コスト・短時間で自動的にロボットの機械パラメータ誤差を校正できる方法を提供する。【解決手段】  １台のカメラの撮像面に設定された仮想基準点とロボットの先端に取り付けたマーカのイメージとが重なるようにロボットを位置決めし、そのときのロボット各軸の動作量と仮想基準点のイメージ座標系での位置とをもとにカメラパラメータの同定精度に関する評価値を計算し、その評価値が最小となるようにする。【選択図】図２
2006110705.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの機械パラメータの誤差を校正するキャリブレーション方法において、
前記ロボットにマーカを取り付け、前記マーカが撮像できる位置にカメラを１台設置する第１のステップと、
前記マーカの移動範囲かつ前記カメラの撮像範囲である３次元空間上に複数の基準点を設定する第２のステップと、
前記ロボットを操作して前記マーカを各々の前記基準点に位置決めする第３のステップと、
位置決め時の前記ロボットの各関節軸の動作量（以降、各軸動作量という）と前記カメラの撮像面における前記マーカのイメージの位置（以降、撮像面座標値という）とを取得する第４のステップと、
前記各軸動作量と前記撮像面座標値とをもとに前記ロボットの機械パラメータの誤差を校正する第５のステップからなることを特徴とするロボットのキャリブレーション方法。
【請求項２】
前記第３のステップにおいて、
前記カメラの撮像面に前記基準点を仮想的に投影した仮想基準点を表示し、
前記カメラの撮像面において前記仮想基準点と前記マーカイメージとが重なるように前記ロボットを操作して、前記マーカを前記基準点に位置決めすることを特徴とする請求項１に記載のロボットのキャリブレーション方法。
【請求項３】
前記第３のステップにおいて、
前記カメラの撮像面に仮想基準点を表示し、
前記カメラの撮像面において前記仮想基準点と前記マーカイメージとが重なるように前記ロボットを位置決めし、その時の前記マーカの３次元空間上の位置を前記第２のステップにおける基準点とすることを特徴とする請求項１に記載のロボットのキャリブレーション方法。
【請求項４】
前記第５のステップにおいて、
前記各軸動作量と前記撮像面座標値とをもとに前記カメラのカメラパラメータの同定精度に関する評価値を計算し、前記評価値が最小となるように
前記ロボットの機械パラメータの誤差を校正することを特徴とする請求項１乃至３に記載のロボットのキャリブレーション方法。
【請求項５】
前記各軸動作量と前記機械パラメータとをもとに前記マーカの直交座標値を計算し、
前記マーカの直交座標値と前記仮想基準点の位置の設定値をもとに前記カメラパラメータを同定し、
前記同定されたカメラパラメータと前記マーカの直交座標値とをもとに
前記カメラの撮像面における前記仮想基準点の位置を計算し、
前記カメラの撮像面における前記仮想基準点の設定値と計算値との偏差に基づいて前記評価値を計算することを特徴とする請求項４に記載のロボットのキャリブレーション方法。
【請求項６】
前記第３のステップにおいて、
前記機械パラメータの誤差による前記マーカの直交座標値の微小変化が前記撮像面座標値の変化に反映されるように前記ツールの姿勢を制御することを特徴とする請求項１乃至５に記載のロボットのキャリブレーション方法。
【請求項７】
前記第３のステップにおいて、
前記ロボットの運動自由度のうち、１つ以上を所定範囲に拘束し、前記仮想基準点と前記撮像面座標値との偏差をもとに、他の運動自由度の動作を制御することによってロボットの前記位置決め処理を自動化することを特徴とする請求項２乃至６に記載のロボットのキャリブレーション方法。
【請求項８】
前記第３のステップにおいて、
前記カメラの撮像面における前記マーカイメージの面積に応じて、前記ロボットの運動自由度のうち、１つ以上を所定範囲に拘束することを特徴とする請求項７に記載のロボットのキャリブレーション方法。
【請求項９】
前記第１のステップまたは前記第２のステップにおいて、
前記カメラの撮像面における前記マーカイメージの面積に応じて、前記カメラと前記基準点との距離を調整することを特徴とする請求項１乃至８に記載のロボットのキャリブレーション方法。
【請求項１０】
適当な順序で３次元空間上の前記複数の基準点に位置決めするロボットの動作プログラムを予め作成し、
前記第３のステップにおいて、前記動作プログラムをプレイバックし、
前記第４のステップにおいて、
前記カメラの撮像範囲に前記マーカが写った場合に、前記ロボットの各軸動作量と前記マーカイメージの撮像面座標値とを取得することを特徴とする請求項１、４、５、６、８または９のいずれかに記載のロボットのキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの各関節軸原点やリンク寸法、ツール寸法など、キネマティクス演算に必要な機械パラメータの誤差を校正するキャリブレーション方法に関するものである。
【背景技術】
【０００２】
ロボットのキャリブレーションは、
[１]ロボット内部の機械パラメータ（各間接軸原点パルスやリンク寸法、ツール寸法など）誤差の校正
[２]ロボットのベース座標系とカメラなどセンサ座標系間の相対位置（姿勢を含む）誤差の校正
[３]移動するロボットと作業ステーションとの相対位置（自己位置）誤差の校正
などに大別できる。
上記[１]はロボット先端のツールの絶対位置決め精度を高めるためのものであり、例えば特許文献１の方式がある。上記[２]はカメラなどの視覚センサで計測した物体位置情報をもとにロボットの動作に補正をかけるシステムに関するものであり、特許文献２および特許文献３の方式がある。また、上記[３]を移動するロボットに拡張した上記[３]に関して、特許文献４の方式がある。また、上記[１]に関して、非特許文献１にて従来技術の概要が解説されている。
本発明は特許文献１や非特許文献１と同様に上述した[１]に関するものである。本発明と従来技術の差異を明確に示すため、特許文献１と非特許文献１について、以下により詳細に説明する。
【０００３】
特許文献１では、その第８頁の第３図に示すように３次元空間上の一点（同図の４：教示点）に対して、ツール先端をその姿勢を変えながら複数回位置決めし、そのときの各関節軸の回転角度θをもとに、同文献の式(１)〜(5)にしたがって機械パラメータ誤差（ツールオフセットも含む）を求めている。式(1)は各軸の回転角度θからツール先端の直交座標値を求める順キネマティクス演算式である。この式を（１次の項まで）テーラー展開することによって、機械パラメータ誤差がある場合の直交座標値 ( xi, yi, zi ) が式(3)のように求まる。その座標値と基準点（教示点）座標値 ( X, Y, Z ) との偏差（式(2)）の二乗和を最小とする条件を最小二乗法の原理にしたがって式(4)のように導出し、それを整理して式(5)の連立方程式を得ている。
【０００４】
一方、非特許文献１では、ロボットの機械パラメータのキャリブレーション原理が、同文献の式(1)と図３に基づいて説明されている。ここで説明されているキャリブレーション原理と、特許文献１の式(1)〜(5)のキャリブレーション原理は、一見、異なるように見えるが、本質的には等価である。特許文献１に示された式(1)〜(5)を一般化すると、非特許文献１の式(1)に基づいたキャリブレーション原理に集約される。そこで、非特許文献１の式(1)に基づいて、従来のキャリブレーション原理について詳述する。
ロボットの各関節軸の回転角度（ベクトル）をθ、各軸原点やリンク寸法など機械パラメータ（ベクトル）の公称値をｑと表す。ロボット座標（直交座標XYZ）から見た計算上のツール先端の位置ベクトルをφとすると、
【０００５】
φ ＝ f(θ, ｑ)                                  (1)
【０００６】
が成り立つ。これは順キネマティクスの演算式に相当する。ここで機械パラメータｑは公称値であり、その値には誤差△ｑが含まれるため、計算上のツール先端位置φと実際のツール先端位置（絶対位置）ｐ間には誤差が含まれる。φとｐの関係式は、
【０００７】
ｐ ＝ φ ＋ Jq(θ, ｑ) △ｑ                       (2)
【０００８】
となる。ここで、Jq(θ,ｑ) は f(θ,ｑ) をｑに関して偏微分したものであり、拡張ヤコビ行列と呼ばれる。また、上記の式(2)は非特許文献１の式(1)に相当する。
ロボットの機械パラメータ誤差のキャリブレーションとは、△ｑを求めることに他ならない。複数の教示点でθとφとｐの組を複数計測し、式(2)に代入して整理すると、以下に示す形式の連立方程式が得られる。
【０００９】
Ａ △ｑ ＝ ｂ                                   (3)
【００１０】
ここで、Ａは行列、ｂはベクトルである。計測（教示）回数をＮ（Ｎ：自然数）、ベクトル△ｑの要素数をＭ（Ｍ：自然数）とすると、ＡのサイズはＮ×Ｍであり、ｂのサイズはＮ×１となる。式(3)の連立方程式は、
【００１１】
△ｑ ＝ (ＡT Ａ)-1 ＡT ｂ                       (4)
【００１２】
の行列演算によって解くことができる。ただし、Ｎ≧Ｍである必要がある。
【００１３】
特許文献１では、３次元空間上の同一の基準点ｐに対してツール先端をその姿勢を変えながら複数回教示（位置決め）し、そのときのθとφを計測している。ツール先端位置は同一（ｐ）であるが、その姿勢を変えているので計測したθとφは姿勢毎に異なる値となる。また、基準点ｐの絶対座標値は未知であるが、ｐは固定なので複数の式(2)からｐを消去することによって連立方程式(3)を導出できる。
ツール先端を同一の基準点に位置決めする際、位置決め誤差が発生する。また、θを計測する際にも量子化などの誤差が発生する。このように計測値には必ず誤差が含まれるので、厳密な意味で式(3)の連立方程式を満足する△ｑは求められない。式(4)に基づいて△ｑを求めることは、
【００１４】
Ｇ ＝ (Ａ △ｑ − ｂ)T (Ａ △ｑ − ｂ)          (5)
【００１５】
を最小とする△ｑを求めることに等価であり、これは最小二乗法に他ならない。したがって、特許文献１のキャリブレーション原理は、上述したキャリブレーション原理（非特許文献１）と本質的に等価となる。また、測定点数Ｎを大きくすることによって、測定誤差が△ｑに与える影響を小さくすることができる。
【００１６】
【特許文献１】第２６４０３３９号公報（式(1)〜(5)、第３図）
【特許文献２】第２７００９６５号公報（請求項１、第３頁（ハ））
【特許文献３】特開平１０−３４０１１２号公報（請求項１）
【特許文献４】特開平１０−１１１４６号公報（請求項１、請求項２、第１図）
【非特許文献１】中村，「ロボットの機械誤差キャリブレーション技術と生産ラインにおける現状」、日本ロボット学会誌 Vol.15, No.2, pp.178-182, 1997（式(1)、図３）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、特許文献１の方法では、その第８頁の第３図に示すようにツール先端を手動で基準点（３次元空間上の任意の一点）に何回も位置合わせしなければならず、時間がかかる上、目視でツール先端を基準点（通常は機械的なピン）にぎりぎりまで近づけた状態にするので、作業者に負担を強いるという問題がある。
また、特許文献２および特許文献３は、ロボットの基準動作を予め登録しておくことにより、キャリブレーションの自動化と時間短縮を目的としたものであるが、エンドエフェクタの絶対位置決め精度が保証されている（上記[１]のキャリブレーションは済んでいる）ことを前提としている。しかし、エンドエフェクタの絶対値決め精度保証方法については何ら言及しておらず、特許文献２および３の方式によってロボット内部の機械パラメータ誤差を自動的に短時間でキャリブレーションすることはできないという問題がある。
さらに特許文献２および３の方式には、予め教示したロボットの基準動作がカメラの視野内に収まるようにカメラの設置位置を調整するか、ロボットの動作を教示するといった煩わしい設定が必要という問題もある。
【００１８】
さらに、特許文献２では、３次元のキャリブレーションのためには３台のカメラを必要としており、コストがかかる上、カメラの台数分だけ作業時間が長くなるという問題もある。
特許文献４でも１台のカメラに２軸の傾斜角センサ（ジャイロセンサ）を併用して３次元に対応しており同様の問題を抱えている。特許文献３に至っては平面内の動作に限定しており、３次元のキャリブレーションには対応できない。
【００１９】
本発明は、このような問題点に鑑みてなされたものであり、作業者に負担を強いたり、事前の煩わしい設定・調整をしたりせずに、低コスト・短時間で自動的にロボットの機械パラメータ誤差を校正できる方法を提供することを目的としている。
【課題を解決するための手段】
【００２０】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、ロボットの機械パラメータの誤差を校正するキャリブレーション方法において、前記ロボットにマーカを取り付け、前記マーカが撮像できる位置にカメラを１台設置する第１のステップと、前記マーカの移動範囲かつ前記カメラの撮像範囲である３次元空間上に複数の基準点を設定する第２のステップと、前記ロボットを操作して前記マーカを各々の前記基準点に位置決めする第３のステップと、位置決め時の前記ロボットの各関節軸の動作量（以降、各軸動作量という）と前記カメラの撮像面における前記マーカのイメージの位置（以降、撮像面座標値という）とを取得する第４のステップと、
前記各軸動作量と前記撮像面座標値とをもとに前記ロボットの機械パラメータの誤差を校正する第５のステップからなることを特徴とする。
請求項２に記載の発明は、前記第３のステップにおいて、前記カメラの撮像面に前記基準点を仮想的に投影した仮想基準点を表示し、前記カメラの撮像面において前記仮想基準点と前記マーカイメージとが重なるように前記ロボットを操作して、前記マーカを前記基準点に位置決めすることを特徴とする。
請求項３に記載の発明は、前記第３のステップにおいて、前記カメラの撮像面に仮想基準点を表示し、前記カメラの撮像面において前記仮想基準点と前記マーカイメージとが重なるように前記ロボットを位置決めし、その時の前記マーカの３次元空間上の位置を前記第２のステップにおける基準点とすることを特徴とする。
請求項４に記載の発明は、前記第５のステップにおいて、前記各軸動作量と前記撮像面座標値とをもとに前記カメラのカメラパラメータの同定精度に関する評価値を計算し、前記評価値が最小となるように前記ロボットの機械パラメータの誤差を校正することを特徴とする。
請求項５に記載の発明は、前記各軸動作量と前記機械パラメータとをもとに前記マーカの直交座標値を計算し、前記マーカの直交座標値と前記仮想基準点の位置の設定値をもとに前記カメラパラメータを同定し、前記同定されたカメラパラメータと前記マーカの直交座標値とをもとに前記カメラの撮像面における前記仮想基準点の位置を計算し、前記カメラの撮像面における前記仮想基準点の設定値と計算値との偏差に基づいて前記評価値を計算することを特徴とする。
請求項６に記載の発明は、前記第３のステップにおいて、前記機械パラメータの誤差による前記マーカの直交座標値の微小変化が前記撮像面座標値の変化に反映されるように前記ツールの姿勢を制御することを特徴とする。
請求項７に記載の発明は、前記第３のステップにおいて、前記ロボットの運動自由度のうち、１つ以上を所定範囲に拘束し、前記仮想基準点と前記撮像面座標値との偏差をもとに、他の運動自由度の動作を制御することによってロボットの前記位置決め処理を自動化することを特徴とする。
請求項８に記載の発明は、前記第３のステップにおいて、前記カメラの撮像面における前記マーカイメージの面積に応じて、前記ロボットの運動自由度のうち、１つ以上を所定範囲に拘束することを特徴とする。
請求項９に記載の発明は、前記第１のステップまたは前記第２のステップにおいて、前記カメラの撮像面における前記マーカイメージの面積に応じて、前記カメラと前記基準点との距離を調整することを特徴とする。
請求項１０に記載の発明は、適当な順序で３次元空間上の前記複数の基準点に位置決めするロボットの動作プログラムを予め作成し、前記第３のステップにおいて、前記動作プログラムをプレイバックし、前記第４のステップにおいて、前記カメラの撮像範囲に前記マーカが写った場合に、前記ロボットの各軸動作量と前記マーカイメージの撮像面座標値とを取得することを特徴とする。
【発明の効果】
【００２１】
請求項１乃至６に記載の発明によると、ロボットのツールに取り付けたマーカの撮像イメージと１台のカメラの撮像面に仮想的に投影された仮想基準点とが重なるように、ツール姿勢を変えながらロボットを位置決めすることによって、ロボットの機械パラメータを修正できるので、キャリブレーション用装置のコスト増加や作業者への負担を強いることなく、また事前の煩わしい設定・調整をせずとも、ロボットの機械パラメータ誤差を校正できる。
また、請求項７に記載の発明によると、ロボットの運動自由度のうち、１つ以上を所定範囲に拘束し、カメラの撮像面における仮想基準点とマーカとの偏差をもとに、他の運動自由度の動作を制御することによって上記のロボットの位置決め処理を自動化できるので、ロボットの機械パラメータ誤差の校正の作業を短時間化かつ省力化できる。
また、請求項８乃至９に記載の発明によると、カメラの撮像面におけるマーカイメージの面積を利用することによって、カメラからマーカまでの距離を所定範囲に拘束することができるので、キャリブレーション精度を一定に保つことができる。
また、請求項１０に記載の発明によると、適当な順序で３次元空間上の複数の基準点に位置決めするロボットの動作プログラムを予め作成し、動作プログラムをプレイバックすることによって第３のステップの処理を自動化できるので、少ない情報通信量でロボットの機械パラメータ誤差の校正作業を短時間化かつ省力化できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２３】
図１は、本発明のキャリブレーション方法を適用する装置の構成図である。
図１において、１０１はキャリブレーション対象となる多関節ロボットである。１０２は多関節ロボット１０１の先端に取り付けられたキャリブレーション用ツールである。ツール１０２の先端にはマーカ１０３を取り付ける。マーカとしては、LEDを使用したLEDマーカや、反射テープや反射塗料を使用した反射マーカなどが利用できる。多関節ロボット１０１本体はロボット制御装置１０４に接続されており、ツール１０２に取り付けられたマーカ１０３の位置を操作端末１０５を介して操作することができる。ロボット制御装置１０４内には動作指令生成部１０４ａとサーボ処理部１０４ｂが含まれ、主にこれらの働きにより多関節ロボット１０１の動作制御が実現される。また、１０６は多関節ロボット１０１のベース座標系Σｒである。
【００２４】
続いて多関節ロボット１０１の近傍にカメラ１０７を１台設置する。カメラの設置位置についてはツール１０２の動作に伴い移動するマーカ１０３が撮像できる場所であればよく、精度管理することなく適当に設置してよい。また、カメラ１０７としては、具体的にはＣＣＤカメラが最も一般的であるがマーカ１０３を撮像できる装置であればよく、これに限ったものではない。また、１０９はカメラ座標系である。
カメラ１０７が撮影した画像信号は画像処理装置１０８に送られ、その画像表示部１０８ａに表示される。画像処理装置１０８内の校正演算部１０８ｂは、本発明のキャリブレーション方法をプログラムとして実装したものである。画像処理装置１０８としてはパソコンやワークステーション等が適当である。ただし、本実施例では校正演算部を画像処理装置１０８内に実装したが、本発明は校正演算部の実装個所に囚われるものではなく、校正演算部はロボット制御装置１０４内に実装してもよい。
【００２５】
図２は、本発明のキャリブレーション方法の処理手順を示したフローチャートである。
フローチャートに従い、キャリブレーション方法の手順を述べる。図２において、S201の初期設定処理では、まず校正するロボットの機械パラメータｑの初期値ｑoの設定や、後述する仮想基準点の個数Ｎ（Ｎ：２以上の自然数）の設定を行う。機械パラメータとは、具体的には各関節軸の原点位置や関節間のリンク寸法などである。
S202の仮想基準点設定処理では、図３に示すようにカメラ１０７の撮像面３０２上に仮想基準点３０１をＮ個設定し、カメラ１０７の撮影した画像と併せ画像表示部１０８ａに表示する。図３はＮ＝８の例であり、仮想基準点を“＋”で表示している。
以降、ｋ番目の仮想基準点を仮想基準点ｋとし、その座標値を ( Uk, Vk ) と表す (k=1,2, …, N)。この座標値は、カメラの撮像面３０２上のイメージ座標系３０３を基準に設定する。また、イメージ座標系３０３とカメラ座標系１０９は、理想的には図３に示すような位置関係にあり、両座標系の原点間の距離はカメラ１０７のレンズの焦点距離ｆとなる。
【００２６】
続いてS203のロボット関節角取得処理では、図４に示すように、カメラの撮像面３０２上に写るマーカ１０３のイメージ４０１の重心４０２が仮想基準点ｋと重なるよう、作業者が多関節ロボット１０１を操作し、そのときの各関節角度（関節角ベクトル）θkを取得する。Ｎ個の各仮想基準点に対し同様にしてθkを取得する。ここで仮想基準点について説明する。仮想基準点とは、３次元空間上の基準点（実際に目に見えなくてもよい）を撮像面３０２上に仮想的に投影したイメージであり、上述したように、マーカイメージ４０１が仮想基準点３０１に重なるようロボットを操作することによって、マーカ１０３は３次元空間上の基準点に位置決めされる。
重心４０２は画像処理装置１０８によって求める。画像処理装置１０８は、イメージ４０１を２値化処理してその重心座標を計算し、画像表示部１０８ａに重心４０２をスーパーインポーズする。作業者は図４のように画像表示部１０８ａに表示された画像データを見ながら操作端末１０５を使って多関節ロボット１０１を操作すればよい。図４では重心４０２を“＋”で表示している。
【００２７】
S204は、評価値に基づいた停止判断処理である。評価値の詳細については後述する。
S205の機械パラメータ修正候補生成処理では、機械パラメータの現在値ｑc（最初に処理されるときは初期値ｑo）を基準にその修正候補値をＬ個作成する（Ｌ：自然数）。ここではその候補値をｑr_j ( j=1,2, …, L ) と表す。２次元の機械パラメータの空間Σqを例にとると、図５に示すように、機械パラメータの現在値ｑc（５０１）の近傍５０２に修正候補値５０３a〜５０３hを生成する。
例えば、修正量をε（近傍５０２の半径）とし、各パラメータについて、−ε，０，＋εのように３通りの修正の仕方を考えると、機械パラメータの要素数がＭ（機械パラメータの空間の次元）の場合は、Ｌ＝３Ｍ−１通りの修正候補値が得られる。２次元の機械パラメータの空間（Ｍ＝２）の場合はＬ＝８、３次元の機械パラメータ空間（Ｍ＝３）の場合はＬ＝２６となる（４次元以上の機械パラメータ空間に対しても同様にできるが修正候補値を図示できない）。図５はこの例に基づき修正候補値を８個生成した例であるが、これに囚われることなく任意個数生成することができる。例えば、半径εの近傍（球）の表面上に適当な間隔で修正候補値を設定すればよい。
S206-1からS206-7は、S205で複数生成した機械パラメータ修正候補値ｑr_jそれぞれに対する繰り返し処理であり、j=1からＬまでの繰り返し処理を行う。
S206-2のマーカ直交座標値計算処理では、機械パラメータ修正候補値ｑr_jを使用し、S203で取得したロボットの関節角ベクトルθk (k=1,2, …, N) に対して次式のように順キネマティクス演算し、多関節ロボット１０１のベース座標系１０６におけるツール１０２先端のマーカ１０３の計算上の直交座標値φk = ( Xk, Yk, Zk ) を求める。
【００２８】
φk = f( θk, ｑr_j )   （ただしｋ＝１，２，・・・，Ｎ） (6)
【００２９】
S206-3のカメラパラメータ同定処理では、S202で設定した仮想基準点ｋの座標値 ( Uk, Vk ) とS206-2で求めたマーカ１０３の直交座標値φk = ( Xk, Yk, Zk ) (k=1,2, …, N) とをもとに、次の式(7)に示すカメラパラメータc1〜c11を同定する。式(7)は理想的なカメラ（ピンホールカメラ）モデルに関する直交座標系からイメージ座標系３０３への座標変換式であり、透視変換と呼ばれる。また、ｍはスケールファクタである（ｍ：実数）。
【００３０】
【数１】
2006110705.tif 000003
【００３１】
具体的にカメラパラメータc1〜c11を同定するには、c1からc11を未知数とし、Uk, Vk, Xk, Yk, Zkを既知としたk=1からNまでの連立方程式を解く。式(7)からスケールファクタｍを消去して整理すると次式が得られる。
【００３２】
【数２】
2006110705.tif 000004
【００３３】
式(8)に示すように、一つの仮想基準点ｋから連立方程式が２本得られる。未知数の数は１１個（c1〜c11）であるから、Ｎが６以上であれば連立方程式の本数が未知数以上となり、全てのカメラパラメータを同定できる。なお、同定したカメラパラメータをc1〜c11と表す。
続いてS206-4の仮想基準点座標値計算処理では、S206-3で同定したカメラパラメータc1〜c11とS206-2で求めたマーカ１０３の直交座標値φk = ( Xk, Yk, Zk ) を使用して、仮想基準点ｋの座標値を次式に基づいてk=1からＮについて計算（逆算）する。このようにして計算した仮想基準点ｋのイメージ座標系３０３に基づく座標値を ( Uk, Vk ) と表す。
【００３４】
【数３】
2006110705.tif 000005
【００３５】
S206-5の評価値計算処理では、S202で設定した仮想基準点ｋの座標値 ( Uk, Vk ) と、S206-4にて計算した仮想基準点ｋの座標値 ( Uk, Vk ) との偏差の二乗和を次式のように計算し、その値を評価値Ｅとする。
【００３６】
【数４】
2006110705.tif 000006
【００３７】
S206-6の候補値・評価値保存処理では、機械パラメータ修正候補値ｑr_jと評価値Ｅを画像処理装置１０８内のバッファ（図示せず）に保存する。
S206-7はループ処理の終端であり、jに１を加算してS206-1に戻る。jがＬに達してS206-1〜S206-7のループが終了すると、S205で生成した機械パラメータの修正候補値に対するそれぞれの評価値Ｅがバッファに保存された状態になる。
S207の機械パラメータ修正処理では、バッファに保存されたそれぞれの評価値Ｅを比較し、図６に示すように評価値Ｅが最小となる修正候補値ｑr_min（図６の例では５０３b）を検索し、現在値ｑc（図６の例では５０１）をｑr_minに置き換える。また、その評価値を現在値Ｅcとして保存する。
S207の機械パラメータの修正（現在値ｑcの更新）が終了すると、S204の停止判断処理に戻る。
【００３８】
S204では、S207で保存したＥcとその前回値Ｅp（S207でＥcを保存する前に、その前回値をＥpとして保存しておく）とを比較し、その偏差Ｅp−Ｅcが予め定めた値以下の場合にはS204 以降の処理をせず、S208にて現在の機械パラメータｑcを校正完了値として取得して全ての処理を終了する。偏差Ｅp−Ｅcが予め定めた値以上の場合には再びS205を実行し、更新された機械パラメータ現在値ｑcに対して、上述したS206 およびS207の処理を繰り返す。
なおS207では、バッファに保存された評価値Ｅの最小値が現在値Ｅcより大きくなる場合は、機械パラメータ現在値ｑcを更新せず、図５および６に示した近傍５０２の半径εを小さくする。
図９は、バッファに保存された評価値Ｅの最小値が現在値Ｅcより大きくなった状況を、１次元の機械パラメータ空間について示している。同図に示すように、機械パラメータの修正候補値５０３ａと５０３ｂで評価値が最小となるものは５０３ｂであるが、その評価値（15）は現在値（10）より大きくなってしまっている。これは、近傍５０２の半径εを大きく設定しすぎたため、半径εの内側にＥが最小となる最適値９０１が存在するからである。このような場合には、例えばεを半分にして、修正候補値５０３ａと５０３ｂを再生成することによって、機械パラメータの現在値は次第にその最適値９０１に近づいていく。
【００３９】
以上、本発明の処理を説明したが、以下では本発明の校正の原理について説明する。
S206-2において式(6)に基づいて計算したマーカの直交座標値φkは、与えた機械パラメータｑr_jが適切でなく、真値から大きくずれている場合、マーカの直交座標値の絶対位置ｐkから大きくずれることになる。そのため、S206-3において誤差の大きなφkに基づいて同定したカメラパラメータc1〜c11にも誤差が含まれることになる。したがって、S206-4で式(9)に基づいて計算した仮想基準点の座標値 ( Uk, Vk ) とその設定値 ( Uk, Vk ) には偏差が生じる。式(10)に示した仮想基準点の偏差の二乗和Ｅは、カメラパラメータの同定精度に関する評価指標となるが、これは同時に、計算上のマーカの直交座標値φkとその絶対位置ｐkとの誤差の大きさを間接的に示している。すなわち、式(10)の評価値Ｅが小さいほど、φkとｐkの誤差は平均的に（二乗平均の意味で）小さくなる。
【００４０】
本発明は、この知見に基づき、評価値Ｅが小さくなる方向にロボットの機械パラメータｑの値を修正することを繰り返し、Ｅを最小化することによって最適な機械パラメータｑを求めるものであり、従来技術のように式(2)に基づく連立方程式を解かずに△ｑを求めるという方法である。
ただし、校正しようとする機械パラメータの微小変化によるマーカの直交座標値の微小変化が、イメージ座標系３０３でのマーカイメージ４０１の位置変化に反映されないと最適化できない。そこで、S203にて多関節ロボット１０１を操作してマーカイメージ重心４０２を仮想基準点に位置決めする際には、仮想基準点ごとにツール１０２の姿勢角を適切に変更する。
また、式(7)のカメラパラメータを同定するためには、上述のようにＮは６以上である必要があり、さらにマーカの直交座標値φkが全て同一平面上にあってはならない。したがって、カメラ１０７からマーカ１０３までの距離も仮想基準点ごとに適切に変更する。
なお、ツール１０２の姿勢角やカメラ１０７との距離は適切に制御する必要があるが、カメラ１０７自体の設置位置に関しては適当でよく、精度管理する必要はない。したがってカメラの設置や調整に時間を要することはない。さらに必要なカメラは１台のみのため装置のコストも低く抑えられる。また、マーカ１０３を３次元空間上の基準点に位置決めする際に、基準点に位置決めされているかどうかを３方向から確認する必要は無く、カメラ撮像面３０２上でマーカイメージ重心４０２を仮想基準点に重ね合わせる平面的な確認だけで済むので作業者の負担を軽減できる。
【００４１】
以上説明したように、第１実施例によれば、カメラ１台の撮像面に設定された仮想基準点にツール１０２に取り付けたマーカ１０３のイメージが重なるように、多関節ロボット１０１をそのツール姿勢を変えながら位置決めし、そのときのロボット各軸の動作量と仮想基準点のイメージ座標系での位置とをもとにカメラパラメータの同定精度に関する評価値を計算し、その評価値が最小となるようにすることで機械パラメータが修正できるので、装置のコストや作業者への負担をかけず、事前の煩わしい設定・調整なしに多関節ロボットの機械パラメータ誤差を校正できるのである。
ここでは、仮想基準点を先に定めてカメラ撮像面３０２に表示し、マーカイメージ重心４０２が仮想基準点に重なるようにロボット１０１を操作したときの３次元空間上のマーカ１０３の座標値を基準点としたが、３次元空間上の基準点の座標値を先に定め、基準点にマーカ１０３を位置決めしたときのカメラ撮像面３０２におけるマーカイメージ重心４０２の座標値を仮想基準点としてよい。すなわち本発明においては基準点と仮想基準点の設定順序に囚われずどちらから先に設定してもよい。
【実施例２】
【００４２】
図４に示したようにカメラの撮像面３０２上でマーカイメージ重心４０２を仮想基準点３０１に重ね合わせる際、マーカ１０３の３次元空間における絶対位置はカメラ１０７の撮像面の分解能とカメラ１０７からマーカ１０３までの距離に応じてばらつくことになる。ばらつき量が大きいと、機械パラメータの校正精度が悪化してしまう。
校正精度の悪化を防ぐためには、カメラ１０７からマーカ１０３までの距離を十分小さくしてバラツキ量を小さくするとともに、仮想基準点の数Ｎを大きくする必要がある。
一方、仮想基準点数が増えると、図１に示す操作端末１０５を介して手動で多関節ロボット１０１を操作していたのでは、全ての仮想基準点に対してマーカを位置決めするための時間が増大する。
そこで、第２実施例として上記の多関節ロボット１０１の操作（図２のS203に対応）を自動化した実施形態を示す。
【００４３】
図７は、図２のS203のロボット関節角取得処理を自動化した処理手順のフローチャートである。同図において、S701からS706までは画像処理装置１０８内での処理、S708-1からS708-7まではロボット制御装置１０４内での処理である。
S701の変換行列設定処理では、多関節ロボット１０１のベース座標系１０６とイメージ座標系３０３間の座標変換行列を設定する。ただし、厳密な変換行列を導出して設定する必要はなく、座標軸の方向の対応関係を±１および０で表現したもので構わない。
例えば、両座標系が図８に示すような位置関係にある場合、変換行列を次式のように設定する。式(11)は、Ｕiの正方向がＹrの正方向にほぼ一致し、Ｖiの負方向がＺrの正方向にほぼ一致し、Ｘr軸はカメラの撮像面に対してほぼ垂直であることを示している。
【００４４】
【数５】
2006110705.tif 000007
【００４５】
S702の仮想基準点選択処理では、Ｎ個の仮想基準点の中から１つの仮想基準点ｋを選択する。
S703の拘束座標値・ツール姿勢設定処理では、マーカ１０３の直交座標値 (Xr, Yr, Zr ) の内、拘束する自由度を式(11)の変換行列から決定しその値を設定する。
また、ツール１０２の姿勢角についても設定する。式(11)の変換行列の例では、ロボットがXr軸方向に動作しても( Ui, Vi ) の値はほとんど変化しないので、Xrを拘束自由度とする。
S704の拘束座標値・ツール姿勢送信処理では、S703で設定した拘束自由度座標値とツール姿勢角が画像処理装置１０８からロボット制御装置１０４に送信される。ロボット制御装置１０４側では、受信した拘束座標値とツール姿勢角に基づき動作制御がなされる。
Ｘrの拘束座標値は、カメラ１０７からマーカ１０３までの距離を基準に設定する。例えば、カメラ１０７からマーカ１０３までの距離を２００ｍｍ程度にしたいとする（この値はカメラ撮像面の分解能、使用しているレンズ、マーカの大きさ、周囲の照明状態により異なってくる）。このマーカまでの距離が２００ｍｍ程度になるようにＸrを例えば４００ｍｍという具合に決定する。
このようにＸrの拘束座標値を適当に設定すればよいのでカメラ設定位置の精度管理が不要になる。また、マーカ１０３の３次元座標値のうちＸrを４００ｍｍに拘束したとき、マーカ１０３はＹr-Ｚr平面上を動作することになる。図１０に示すように、以降、Ｘr ＝ ４００ｍｍとしたＹr-Ｚr平面を平面Ａ（１００１）と表す。
S705-1からS705-7は画像処理のループである。一般的なＣＣＤカメラによる画像処理装置の場合、ビデオレート（３３ｍｓ周期）でループが動作する。
S705-2のマーカイメージ重心計算処理では、図４に示したようにマーカイメージ４０１の重心４０２の（イメージ座標３０３から見た）座標値を画像処理によって取得し、カメラ１０７の撮影した画像と併せ画像表示部１０８ａに表示する。
【００４６】
S705-3のイメージ座標偏差計算処理では、図８に示すように、S702で選択した仮想基準点３０１の座標値とマーカイメージ重心４０２の（イメージ座標系３０３から見た）偏差ベクトル８０１を計算する。イメージ座標での偏差ベクトル８０１を Ierr = ( Uerr, Verr ) と表す。
S705-4のロボット速度指令計算処理では、S705-3で計算したイメージ座標偏差IerrとS701で設定した変換行列をもとに次式のように多関節ロボット１０１への速度指令ベクトル Vref = ( Vref_x, Vref_y, Vref_z ) を計算する。ここで、αはゲインを表す正数である。また、式(12)の例では、Ｘr方向の速度指令Ｖref_xは常にゼロとなる。したがって、マーカ１０３はＹr-Ｚr平面上で動作する。
【００４７】
【数６】
2006110705.tif 000008
【００４８】
S705-5のロボット速度指令送信処理では、S705-4で計算した速度指令ベクトルVrefが画像処理装置１０８からロボット制御装置１０４に送信される。ロボット制御装置１０４側では、受信した速度指令に基づき動作制御がなされる。
S705-6の整定確認処理では、イメージ座標偏差Ierrを監視し、偏差がゼロになったら整定完了と判断し、S706にて整定時の多関節ロボット１０１の関節角ベクトルθkを取得し、S702の仮想基準点選択処理に戻る。偏差Ierrがゼロでない場合は、画像処理ループの先頭（S705-1）に戻って同様の処理を繰り返す。
【００４９】
一方、ロボット制御装置１０４の動作指令生成部１０４ａでは、S708-1からS708-7の動作指令生成ループが動作している。S708-2の軌道生成処理では、S704から送信された拘束自由度座標値とツール姿勢角やS705-5から送信された速度指令Vrefをもとにロボットの動作軌道を生成する。
S708-3の動作範囲チェック処理では、多関節ロボット１０１のツール先端や各関節角度が動作範囲リミットに達したかどうかを監視し、リミットに達した場合は、S703に戻り拘束自由度の座標値やツール姿勢角を修正する。リミットに達していない場合は、S708-4にてS708-2で生成された軌道データをサーボ処理部１０４ｂに払い出す。
S708-5の整定確認処理では、S705-5から送信された速度指令Vrefと実機ロボットの速度フィードバックを監視し、その両者ともゼロになった場合に整定完了と判断し、S708-6にて整定時の多関節ロボット１０１の関節角ベクトルθkを画像処理装置１０８に送信する。画像処理装置１０８側では、上述したようにS706で送信されたθkを取得する。整定が完了しない場合は、動作指令生成ループの先頭（S708-1）に戻って同様の処理を繰り返す。
図７に示したフィードバック処理を繰り返すと、ロボット１０１のマーカ１０３は、図１０に示すように、カメラ座標系１０９の原点とカメラ撮像面３０２上の仮想基準点３０１を通る直線１００２が平面Ａ（１００１）と交わる点１００３に整定する。交点１００３は、マーカ１０３が実際に位置決めされる点なので基準点ということができる。これは、いわゆるビジュアルサーボ技術（公知の技術）であり、カメラ撮像面上の偏差情報を変換してロボットの動作にフィードバックする処理を十分短い周期で繰り返し、かつαを十分小さい値に設定することによって、式(12)の変換行列が座標軸の方向のみを反映した±１や０のような大まかな値であっても、マーカ１０３は平面Ａ上の基準点１００３に整定するのである。
【００５０】
以上説明したように、第２実施例によれば、校正対象となる多関節ロボットの運動自由度のうち、１つ以上を所定値に拘束して、カメラの撮像面における仮想基準点とマーカイメージとの偏差をもとに、その他の運動自由度の動作を制御することによってロボットの位置決め処理を自動化できるので、短時間で多関節ロボットの機械パラメータ誤差を校正できる。
【実施例３】
【００５１】
上記の第２実施例ではロボットの位置決め処理を自動化した実施例を示した。第２実施例には、カメラを適当に設置してもキャリブレーションができるのでカメラ配置の精度管理が不要となり手軽に作業ができるというメリットがある。しかし、その反面カメラの奥行き（光軸）方向に最も沿うロボットの自由度（Xr座標値）を一定値に拘束していたので、図１１に示すように、カメラ光軸（Zc）とロボットの拘束座標（Xr）軸のズレが大きくなると、基準点によってカメラからの距離が大きく異なり、校正演算精度を保証することが難しくなるというデメリットもある。
そこで、第３の実施例では、カメラと基準点（マーカ）間の距離を精度よく管理できる実施の形態を示す。
まず、ロボットに球状のマーカを取り付ける。マーカに対して照明を多方向から均一に照射すると、カメラが撮像したマーカイメージは円形となる。球状マーカの直径や断面積、レンズ焦点距離は既知であるから、マーカイメージの面積を制御することによって、カメラとマーカとの距離を間接的に制御できる。
図８に示したイメージ座標３０３の座標軸UiからViへの外積方向に３つめの座標軸Wi（光軸）を設ける。これに伴い、式(11)に示した変換行列を下記の式(13)ように拡張する。
【００５２】
【数７】
2006110705.tif 000009
【００５３】
また、式(12)に示した速度指令の演算式も下記の式(14)のように拡張する。
【００５４】
【数８】
2006110705.tif 000010
【００５５】
ここで、マーカイメージの面積をＳcurとし、マーカイメージの面積の目標値をＳtgtとする。これら面積情報をもとに、式(14)に示したWi方向の偏差を下記の式(15)のように計算する。
【００５６】
Ｗerr ＝ Ｓtgt − Ｓcur                                      (15)
【００５７】
上記の拡張以外は、第２実施例と同様に図７に示したフローチャートにしたがって、多関節ロボット１０１を位置決め処理すればよい。ただし、図７に示したイメージ座標偏差計算処理（S705-3）では、式(15)に示した面積偏差も併せて計算する。また、マーカイメージ重心計算処理（S705-2）の前あるいは後でマーカイメージの面積Scurを計算する。
式(14)(15)に示した処理を追加することによって、マーカイメージ重心４０２を仮想基準点に自動で合わせることができるだけでなく、マーカイメージの面積も所定値に自動で合わせることができる。それによって、図１２に示すように、カメラ１０７とマーカ１０３との距離を一定に保ち基準点を球面に拘束することができる。同図の１２０１は基準点が拘束される球面の例を示している。
【００５８】
以上説明したように、第３実施例によれば、カメラ撮像面上でのマーカイメージ位置の偏差情報に加えて、マーカイメージの面積偏差情報に基づいてロボットの運動自由度を制御するので、カメラ光軸の方向がロボット座標系の座標軸から大きくずれている場合でも、カメラ１０７とマーカ（基準点１００３）との距離を正確に指定することができ、校正演算精度を保証することができるという効果がある。
【実施例４】
【００５９】
第２実施例および第３実施例では、画像処理装置からロボット制御装置にビデオレート（３３ｍｓ周期）で速度指令を送信している。しかしながら、産業用のロボット制御装置の中には、速度指令を周期的に受信できるインターフェイスを備えていないものもあり、上記の実施例を簡単に実現できない場合がある。
そこで、第４実施例では、ビデオレートで速度指令を送受信するような密な情報通信をすることなく、キャリブレーションを自動化する実施の形態を示す。
【００６０】
図１３は本発明の第４実施例の処理手順の一部を示したフローチャートである。同図のフローチャートに従い、第４実施例のキャリブレーション手順と方法を説明する。
S1301の初期設定処理では、ロボット１０１を予め設定した初期位置に位置決めし、マーカ１０３の近傍にカメラ１０７を設置する。その際、図１４に示すように、マーカイメージが撮像面上にスーパーインポーズされた円１４０１に重なるよう、すなわち位置と面積が所望の値になるようにカメラ１０７の設置位置を調整するか、あるいはロボット１０１を操作してマーカ位置を調整する。また、カメラ光軸方向（図１４のＺc）とロボット座標系１０６のいずれかの座標軸（図１４の例ではＸr軸）の方向がほぼ一致するようにカメラ設置位置を調整する。
S1302の基準点設定処理では、図１５に示すようにS1301後のマーカ位置を基準にして、基準点を複数設定する。図１５において、Ｐ１、Ｐ２、・・・Ｐ９は設定した基準点の例を示している。
【００６１】
S1303のロボット動作プログラム作成処理では、S1302で設定した基準点情報をもとに多関節ロボット１０１のマーカ１０３を各基準点に適当な順序で位置決めさせる動作プログラムを生成する。
図１６に動作プログラムの一部を示す。各行の左端の２桁の数字は行番号を表し、その右側の文言は命令を表す。01行目の「NOP」は動作プログラムの最初の行に付けられる命令で、「NO Operation」を意味し何の動作もしない命令である。続く01行目の「DOUT ALL OFF」はIO出力に関する命令であり、IO出力のすべてのチャンネルからLow信号を出力する。
02行目、05行目、08行目は移動命令であり、多関節ロボット１０１をそれぞれP1、P2、P3にて指定された位置へと移動させる。本実施例だと、図１５に示す基準点Ｐ１、Ｐ２、Ｐ３に移動する。03行目、06行目、09行目は01行目と同様のIO出力命令であり、それぞれ出力チャンネル01、02、03からHigh信号を出力する。04行目、07行目、10行目は待機命令であり、指定されたIO入力から入力があるまで動作プログラムの進行を一時停止させる。本実施例では、04行目、07行目、10行目の各行にてそれぞれIO入力のチャンネル01、チャンネル02、チャンネル03からの入力を待つ。
S1304のロボット動作プログラム設定処理では、S1303で作成した多関節ロボット１０１の動作プログラムをロボット制御装置１０４にロードし、S1305の動作プログラム開始処理で動作プログラムが実行に移される。詳細には、動作プログラムに従って図１３のS1305-1からS1305-6までの処理がロボット制御装置１０４内で実行される。
【００６２】
一方、S1303の後、画像処理装置１０８側では、S1306の計測開始処理で基準点などの計測処理に移る。詳細には、S1306-1からS1306-5までの処理が画像処理装置内で実行される。以降、S1305-1からS1305-6までの処理と、S1306-1からS1306-5までの処理を対比させながら、処理手順を説明する。
S1305-1とS1305-2では、まず図１６に示す動作プログラムの02行目の移動命令「MOV P1 PL=0」が実行され、マーカ１０３が基準点Ｐ１に位置決めを完了するまで多関節ロボット１０１が動作する。位置決め完了後、S1305-3のOUT TRG処理では、図１６の動作プログラムの03行目のIO命令「DOUT OT#01 ON」が実行され、IO出力のチャンネル01からHigh信号が出力される。
ロボット制御装置から出力されたIO出力信号は画像処理装置側に入力され、S1306-1のWAIT TRG処理で検出される。ロボット制御装置からのHigh信号がS1306-1で検出されると、S1306-2に移り、カメラ撮像面３０２に写ったマーカイメージ４０１の重心位置が計測される。マーカイメージ重心４０２が正しく計測された場合は、S1306-3に移り、そのときの多関節ロボット１０１の各関節角度を取得する。マーカ１０３がカメラ視野内から外れて重心位置が計測できなかった場合は、S1306-3の処理はスキップされ、その基準点は校正演算の対象から除外される。
S1306-4のOUT TRG処理では、画像処理装置１０８からロボット制御装置にIO信号が出力され、ロボット制御装置のS1305-4で検出される。これは、図１６の動作プログラム内のIO命令「WAIT IN#01 = ON」に相当する。
S1306-5で、画像処理装置１０８からのIO信号が検出されると、S1305-5の移動継続判断処理に移り、動作プログラムの実行を継続するか終了するか（動作プログラムの最後まできたか、上位からの割り込みがないか、など）が判断される。実行を継続する場合は、S1305-6で次の基準点Ｐ２が目標位置に設定され、同様の処理が繰り返される。
【００６３】
以上説明したロボット制御装置１０４内での動作プログラム実行と画像処理装置１０８内での計測処理が終了すると、図２のS204以降の校正演算処理に移る。これについては、第１実施例と同様である。
以上説明したように、第４実施例によれば、ロボット制御装置と画像処理装置間でIO信号の送受信によるインタロックを行う疎な情報通信だけでキャリブレーション作業を自動化できるという効果がある。
【産業上の利用可能性】
【００６４】
本発明は、産業用ロボットだけでなく、ロボット一般の機械パラメータを簡便に校正する方法として広く適用できる。
【図面の簡単な説明】
【００６５】
【図１】本発明のキャリブレーション方法を適用する装置の構成図
【図２】本発明のキャリブレーション方法の処理手順を示したフローチャート
【図３】撮像面上の仮想基準点を示した図
【図４】撮像面上でマーカイメージ重心を仮想基準点へ位置合わせする様子を示した図
【図５】機械パラメータ現在値とその修正候補値の位置関係を示す図
【図６】機械パラメータ現在値の更新の様子を示す図
【図７】第２実施例におけるロボット関節角取得処理の手順を示したフローチャート
【図８】イメージ座標偏差ベクトルを示した図
【図９】近傍の半径εが適切でない状況を示した図
【図１０】仮想基準点と基準点の関係を示した図
【図１１】カメラから基準点までの距離が異なる様子を示した図
【図１２】カメラから基準点までの距離を一定に保った様子を示した図
【図１３】第４実施例における計測処理の手順を示したフローチャート
【図１４】カメラとマーカの位置関係の調整方法を示した図
【図１５】基準点の設定例を示した図
【図１６】ロボットの動作プログラムの例を示した図
【符号の説明】
【００６６】
１０１    ロボット
１０２    ツール
１０３    マーカ
１０４    ロボット制御装置
１０４ａ  動作指令生成部
１０４ｂ  サーボ処理部
１０５    操作端末
１０６    ロボット座標系
１０７    カメラ
１０８    画像処理装置
１０８ａ  画像表示部
１０８ｂ  校正演算部
１０９    カメラ座標系
３０１    仮想基準点
３０２    カメラ撮像面
３０３    イメージ座標系
４０１    マーカイメージ
４０２    マーカイメージ重心
５０１    機械パラメータ現在値
５０２    近傍
５０３ａ〜５０３ｈ    機械パラメータ修正候補値
８０１    イメージ座標偏差ベクトル
９０１    機械パラメータの最適値
１００１  平面Ａ
１００２  基準線（カメラ座標系原点と仮想基準点を通る直線）
１００３  基準点
１２０１  球面Ａ
１４０１  撮像平面上にスーパーインポーズされた円
【図１】
2006110705.tif 000011
【図２】
2006110705.tif 000012
【図３】
2006110705.tif 000013
【図４】
2006110705.tif 000014
【図５】
2006110705.tif 000015
【図６】
2006110705.tif 000016
【図７】
2006110705.tif 000017
【図８】
2006110705.tif 000018
【図９】
2006110705.tif 000019
【図１０】
2006110705.tif 000020
【図１１】
2006110705.tif 000021
【図１２】
2006110705.tif 000022
【図１３】
2006110705.tif 000023
【図１４】
2006110705.tif 000024
【図１５】
2006110705.tif 000025
【図１６】
2006110705.tif 000026