(57)【要約】  運動学的ロボット・モデル・パラメータ決定によって多関節ロボットにおいて改善された精度を提供する方法及びシステムが、開示される。本発明は、ロボット・モデル・パラメータにおける偏差の関数としての、基準物体の基準点の計算された姿勢における偏差についての、ヤコビアン微分における微分のチェーン・ルールを使用することによって、多関節ロボットを較正する。本発明は、長さスケールを確定し、その結果、ロボットの１つのリンク長を知る必要を回避するために、２つのそのような基準物体と、それらの間の既知の距離も使用する。加えて、本発明は、結果のモデル・パラメータの最善された精度についての最適解を見出すために、反復的方法を利用する。更に、本発明は、ツール取付け機構フレームを定義するパラメータを含む、ロボットの最終関節パラメータの決定を提供し、それが、その後の較正なしに、ツールの交換を可能にする。
2008522836.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットにおいて改善された姿勢精度を提供する方法であって、
各々が、既知の幾何学的形状をもち、未知の姿勢の一意の拘束点を定義する、１対の基準物体を提供するステップであって、前記基準物体からの拘束点の間の距離が、既知の拘束距離を形成する、ステップと、
前記ロボットに効果器物体を提供するステップであって、前記効果器物体は、前記ロボットによって、少なくとも２つの軸において動かされることができ、前記基準物体の少なくとも一方との遭遇を知らせるように構成される、ステップと、
前記効果器物体の、前記基準物体との複数の遭遇を提供するステップと、
前記遭遇の各々について前記ロボットの関節値を決定するステップと、
前記基準物体の第１のものとの少なくとも４回の前記遭遇から決定される前記関節値から、第１の基準点の第１の姿勢を計算するステップであって、前記第１の姿勢は、前記第１の基準物体の前記拘束点の第１の計算された姿勢に対応する、ステップと、
前記基準物体の第２のものとの少なくとも４回の前記遭遇から決定される前記関節値から、第２の基準点の第２の姿勢を計算するステップであって、前記第２の姿勢は、前記第２の基準物体の前記拘束点の第２の計算された姿勢に対応する、ステップと、
前記第１又は第２の姿勢と、前記第１又は第２の基準物体についての前記拘束点のトライアル姿勢との間の第１の差をそれぞれ計算するステップと、
計算された拘束距離と前記既知の拘束距離との間の第２の差を計算するステップであって、前記計算された拘束距離は、前記１対の基準物体の前記拘束点の前記トライアル姿勢の間の距離である、ステップと、
前記第１及び第２の差を最小化する、前記ロボット・モデルの運動学的モデル・パラメータと、前記１対の基準物体の前記拘束点の前記トライアル姿勢とを識別するステップと、
前記多関節ロボットにおける改善された姿勢精度のために前記識別された運動学的モデル・パラメータを使用するステップと、
を含む方法。
【請求項２】
請求項１に記載の方法であって、運動学的モデル・パラメータを識別するステップが、前記ロボット・モデル・パラメータにおける偏差の関数としての、少なくとも前記第１の基準点の計算された姿勢における偏差についての、ヤコビアン微分（Ｊａｃｏｂｉａｎ  ｄｅｒｉｖａｔｉｏｎ）における微分のチェーン・ルールを使用して達成される、方法。
【請求項３】
請求項１に記載の方法であって、前記効果器物体が、球状先端を有するオフセット接触プローブである、方法。
【請求項４】
請求項１に記載の方法であって、前記基準点が、前記効果器物体の前記基準物体との遭遇を表す点の間に形成される線分を垂直に２等分する平面の交点を使用して計算される、方法。
【請求項５】
請求項１に記載の方法であって、前記基準物体が、球である、方法。
【請求項６】
請求項１に記載の方法であって、前記計算された姿勢と前記トライアル姿勢が、部分的姿勢である、方法。
【請求項７】
請求項１に記載の方法であって、前記関節値を決定するステップが、前記基準物体の少なくとも一方に対する前記効果器物体の姿勢を測定する外部測定装置を使用して達成される、方法。
【請求項８】
請求項１に記載の方法であって、前記関節値を決定するステップが、前記基準物体の少なくとも一方に対する前記効果器物体の姿勢を測定する外部測定装置を使用して達成され、前記外部測定装置は、線形変位測定装置であり、補間が、前記基準物体の前記少なくとも一方との遭遇を定義するために、２つの指令された姿勢の間で使用され、逆運動学が、前記関節値を見出すために使用される、方法。
【請求項９】
請求項１に記載の方法であって、前記関節値を決定するステップが、前記ロボットのコントローラを使用して達成される、方法。
【請求項１０】
請求項１に記載の方法であって、前記第１及び第２の差を最小化する前記ロボット・モデルの運動学的モデル・パラメータを識別するステップが、前記対応するトライアル姿勢の周りでの前記第１及び第２の基準点の前記計算された姿勢の集団におけるばらつきを最小化する、前記モデル・パラメータと前記トライアル姿勢の両方についての最良適合値を使用して達成される、方法。
【請求項１１】
請求項１に記載の方法であって、
前記ロボット・モデルから前記効果器物体の方位と寸法を分離するステップを、
更に含む方法。
【請求項１２】
請求項１に記載の方法であって、
行列の積によって前記効果器物体の方位と寸法を前記ロボットのツール取付け機構の方位と寸法だけ変形し、正味の方位と寸法を取り出すことによって、前記ロボット・モデルから前記効果器物体の前記方位と寸法を分離するステップを、
更に含む方法。
【請求項１３】
多関節アームを有するロボットにおいて改善された姿勢精度を提供するシステムであって、前記システムが、
３次元空間内の座標を解釈し、前記多関節アームを前記座標に対応する前記３次元空間内の位置まで移動し、前記多関節アーム内の各関節の関節値を決定するように構成されるコントローラと、
各々が、前記３次元空間内に配置される既知の幾何学的形状をもつ１対の基準物体であって、各前記基準物体が、未知の姿勢の一意の拘束点を定義し、前記基準物体からの拘束点の間の距離が、それらの間の既知の拘束距離を形成する、１対の基準物体と、
前記多関節アーム上に提供される効果器物体であって、前記効果器物体が、前記基準物体の少なくとも一方との遭遇を知らせるように構成される効果器物体と、
パラメータ識別を実行するように構成されるプロセッサと、を備え、
前記コントローラが、
前記効果器物体の、前記基準物体との複数の遭遇を提供するように構成され、
前記コントローラが、前記プロセッサから成り、そのプロセッサが、
前記遭遇の各々について前記多関節アームの関節値を決定し、
前記基準物体の第１のものとの少なくとも４回の前記遭遇から決定される前記関節値から、第１の基準点の第１の姿勢を計算し、前記第１の姿勢は、前記第１の基準物体の前記拘束点の第１の計算された姿勢に対応し、
前記基準物体の第２のものとの少なくとも４回の前記遭遇から決定される前記関節値から、第２の基準点の第２の姿勢を計算し、前記第２の姿勢は、前記第２の基準物体の前記拘束点の第２の計算された姿勢に対応し、
前記第１又は第２の姿勢と、前記第１又は第２の基準物体についての前記拘束点のトライアル姿勢との間の第１の差をそれぞれ計算し、
計算された拘束距離と前記既知の拘束距離との間の第２の差を計算し、前記計算された拘束距離は、前記１対の基準物体の前記拘束点の前記トライアル姿勢の間の距離であり、
前記第１及び第２の差を最小化する、前記ロボット・モデルの運動学的モデル・パラメータと、前記１対の基準物体の前記拘束点の前記トライアル姿勢とを識別するように構成され、
前記コントローラが、多関節ロボットにおける改善された姿勢精度のために前記識別された運動学的モデル・パラメータを使用するように構成される、システム。
【請求項１４】
請求項１３に記載のシステムであって、前記計算された姿勢と前記トライアル姿勢が、部分的姿勢である、システム。
【請求項１５】
請求項１３に記載のシステムであって、前記効果器物体が、球状先端を有するオフセット接触プローブである、システム。
【請求項１６】
請求項１３に記載のシステムであって、前記基準点が、前記効果器物体の前記基準物体との遭遇を表す点の間に形成される線分を垂直に２等分する平面の交点を使用して計算される、システム。
【請求項１７】
請求項１３に記載のシステムであって、前記基準物体が、球である、システム。
【請求項１８】
請求項１３に記載のシステムであって、前記プロセッサが、前記対応するトライアル姿勢の周りでの前記第１及び第２の基準点の計算された姿勢の集団におけるばらつきを最小化する、前記モデル・パラメータと前記トライアル姿勢の両方についての最良適合値を使用するように構成されることによって、前記第１及び第２の差を最小化する前記ロボット・モデルの前記運動学的モデル・パラメータを識別するように構成される、システム。
【請求項１９】
請求項１３に記載のシステムであって、
前記プロセッサが、前記多関節アームのツール取付け機構の方位と寸法を表すツール取付けフレームから、前記効果器物体の方位と寸法を表す効果器物体フレームを減算することによって、前記ロボット・モデルから前記効果器物体の前記方位と寸法を除去するように更に構成される、システム。
【請求項２０】
請求項１３に記載のシステムであって、
前記プロセッサが、行列の積によって前記効果器物体の方位と寸法を前記ロボットのツール取付け機構の方位と寸法だけ変形し、正味の方位と寸法を取り出すことによって、前記ロボット・モデルから前記効果器物体の前記方位と寸法を分離するように更に構成される、システム。
【請求項２１】
請求項１３に記載のシステムであって、運動学的モデル・パラメータを識別することが、前記ロボット・モデル・パラメータにおける偏差の関数としての、少なくとも前記第１の基準点の計算された姿勢における偏差についての、ヤコビアン微分における微分のチェーン・ルールを使用することによって達成される、システム。
【請求項２２】
請求項１３に記載のシステムであって、前記プロセッサが、前記ロボットの前記コントローラから分離されている、システム。
【請求項２３】
請求項１３に記載のシステムであって、
前記効果器物体が取り付けられる線形変位装置を、
更に備え、
前記プロセッサが、補間によって前記基準物体に対する前記効果器物体の姿勢を決定するために、前記線形変位装置からの入力を使用するように更に構成され、前記決定された姿勢は、逆運動学によって関節値を決定するために、前記プロセッサによって使用され、前記関節値は、前記運動学的モデル・パラメータを識別するために、前記プロセッサによって使用される、システム。
【請求項２４】
請求項２３に記載のシステムであって、前記プロセッサが、前記ロボットの前記コントローラから分離されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ロボット工学に関し、より詳細には、運動学的ロボット・モデル・パラメータ決定（ｋｉｎｅｍａｔｉｃ  ｒｏｂｏｔ  ｍｏｄｅｌ  ｐａｒａｍｅｔｅｒｓ  ｄｅｔｅｒｍｉｎａｔｉｏｎ）によって多関節ロボット（ｍｕｌｔｉ−ｊｏｉｎｔｅｄ  ｒｏｂｏｔ）において改善された精度を提供する方法及びシステムに関する。
【背景技術】
【０００２】
工業によって使用される多関節ロボットは、一般に、あまり正確ではないと考えられている。実際、そのような工業用多関節ロボットは、引用精度仕様（ｑｕｏｔｅｄ  ａｃｃｕｒａｃｙ  ｓｐｅｃｉｆｉｃａｔｉｏｎ）をもっていないことさえある。一方で、これらのロボットは、反復可能であるために購入され、それは、±０．００１６インチ（約０．０４ｍｍ）のオーダであることができる。反復可能性（ｒｅｐｅａｔａｂｉｌｉｔｙ）は、与えられた空間位置に何回も戻るロボットの能力であり、反復測定値の集合についてのツール先端の平均位置の周りにおける、実際のツール先端の空間位置のばらつき（ｓｃａｔｔｅｒ）の広がり又は程度によって定量化される。精度（ａｃｃｕｒａｃｙ）は、指令された空間位置にツール先端を位置付けるロボットの能力であり、実際の指令位置と比較された実際の先端位置における誤差によって定量化される。
【０００３】
一般に、多関節ロボットは、所望の運動を通してロボットを「小刻みに動か（ｊｏｇ）」しながら、その道筋の位置を捕捉することによって、何をすべきかを手動で教えられる。これらの捕捉点は、無限に反復され得る運動パターンを生み出すために使用され、ロボットは、その機能を一律に完璧に実行する。しかし、工業界は、青写真又はＣＡＤファイルからのプログラミングへと移りつつあるので、ロボット・プログラミングを「教え且つ学ぶ」ことに頼ることなく、機能を実行するようにプログラムされ得る、正確なロボットに対する必要性が、存在する。このステップは、ロボットの精度によって制限され、従って、現在は、非常に特殊な応用例と、高価なロボットに限られる。
【０００４】
更に、ロボット較正は、「どこにあるか」と「どこにあるべきか」との間の差であるロボット誤差を、多数の姿勢（ｐｏｓｅ）において測定し、それに続いて、最適化ルーチンが、これらの測定誤差を最小化するための、ロボット・モデル・パラメータの最良の組を見つけることを必要とする。本明細書で使用される「姿勢」という用語は、空間におけるロボットツールの位置と方位を含む。ロボット較正のための従来技術の一方法は、ロボットの実際の姿勢を見出すために、外部測定装置を使用する。誤差は、ロボットの指令された姿勢から実際の姿勢を減算することによって、計算される。残念ながら、そのような外部測定装置は、非常に高価であり、今度は、それ自体の慎重な較正を必要とする。一般に、そのような装置は、許容可能な結果を生み出すために、高度な技能をもつ操作者も必要とする。
【発明の開示】
【課題を解決するための手段】
【０００５】
上記の背景に対抗して、本発明は、運動学的ロボット・モデル・パラメータ決定によって多関節ロボットにおいて改善された精度を提供する方法及びシステムを提供する。具体的には、モデル・パラメータは、ロボット精度の較正を簡単にするために、ロボットの末端効果器（ｅｎｄ−ｅｆｆｅｃｔｏｒ）ツールの運動を制御するロボット・コントローラにおいて決定され、使用される。このようにして、本発明は、安価な多関節ロボットが、高価な多関節ロボットに匹敵する精度を達成することを可能にし、この動作モードに移るためのより多くの機会を、さらなる工業に与える。例えば、本発明は、ロボット運動パターンが、所望の運動を通してロボットが手動で「小刻みに動か」されて、運動パターンの点を決定する、「教え且つ学ぶ」方法によって生成されるのではなく、これらのパターンが、青写真又はＣＡＤファイルから生成されることを可能にする。本発明は、ロボット・パラメータを再較正する必要なく、ツールが交換されることも可能にする。
【０００６】
本発明は、パラメータ識別（ｐａｒａｍｅｔｅｒ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を実行して、位置と方位の精度を高めるために、幾何学的拘束（ｇｅｏｍｅｔｒｉｃ  ｃｏｎｓｔｒａｉｎｔ）を利用する。ツール又は効果器物体が、幾何学的拘束に遭遇（ｅｎｃｏｕｎｔｅｒ）した場合、実際のロボット姿勢（又は部分的姿勢、例えば、位置）が、較正物体の幾何学的形状と効果器物体の幾何学的形状とによって定義される。各遭遇において、その遭遇についてのロボットの関節の相対的配置を定義する、ロボットの関節値（ｊｏｉｎｔ  ｖａｌｕｅ）が、保存される。誤差が、測定された関節角と現在のロボット・モデルとから導かれる計算された姿勢（若しくは部分的姿勢）、又はその他のメトリックと、幾何学的拘束によって定義される幾何学的形状との間の差から、計算される。パラメータ識別は、これらの誤差を最小化するロボット・モデル・パラメータを見つけるように設計された最適化ルーチンによって、達成される。
【０００７】
一実施形態では、本発明は、入力信号の受信時に、機械的「フィードホールド（ｆｅｅｄｈｏｌｄ）」と、姿勢捕捉とを可能にする、改良ロボット・コントローラを使用する。この信号は、ツールに統合された接触又はトリガ・プローブによって供給される。ツール先端が、較正物体に遭遇したとき、姿勢（即ち、関節の相対的配置）を読み取り、制御された仕方でロボットの運動を止めるために、信号が、コントローラに送信される。本発明は、ロボット用の運動学的モデル・パラメータを見出し、それを用いて、ロボットの末端効果器の姿勢（位置と方位）の精度を高める。具体的には、本発明は、「効果器」物体が基準物体（ｒｅｆｅｒｅｎｃｅ  ｏｂｊｅｃｔ）に遭遇したときに関節値を獲得することによって、ロボット・モデル・パラメータを見出す。本発明は、ロボットの運動学的モデルと、基準物体及び効果器物体の幾何学的形状と一緒に、多数の遭遇からの関節値を使用して、ロボット用のモデル・パラメータを見出すために最適化ルーチンで使用される数学的式を作り出す。効果器物体は、球状先端を有するオフセット接触プローブであり、基準物体は、球である。接触プローブは、球との遭遇中に先端の変位（ｄｅｆｌｅｃｔｉｏｎ）が生じたときに、トリガを提供する。間の距離が既知である２つの球が、長さモデル・パラメータを決定するための長さスケール（ｌｅｎｇｔｈ  ｓｃａｌｅ）を提供するために、使用される。
【０００８】
別の実施形態では、本発明は、ロボットの末端効果器の位置と方位を測定するために、外部測定装置を利用する。この実施形態と上述の実施形態は、実際の姿勢と、不正確なモデル・パラメータを使用したときにモデルが計算した不正確な姿勢との間の差を利用することを理解されたい。この手法は、関節値を記録することを必要とせずに、幾何学的拘束に補間を行うために、安価な「変位測定装置（ｄｉｓｐｌａｃｅｍｅｎｔ−ｍｅａｓｕｒｉｎｇ  ｄｅｖｉｃｅ）」を使用する。その結果、この手法は、ロボット・コントローラに内蔵される又はロボット・コントローラとインタフェースをとる、特殊なハードウェア又はソフトウェアを必要としない。一方で、この手法は、外部測定装置（変位測定装置）を必要とするが、この装置は、幾何学的拘束に補間を行うために使用される安価な機器である。
【０００９】
なお、本発明の実施形態についての以下の詳細な説明は、添付の図面と併せて読まれるときに、最も良く理解されることができ、図面において、同様の構造は、同様の参照番号を用いて指示される。
【発明を実施するための最良の形態】
【００１０】
標準的な自動電動多関節ロボットは、デカルト座標系（Ｃａｒｔｅｓｉａｎ  ｃｏｏｒｄｉｎａｔｅ  ｆｒａｍｅ）において、ロボット・エンベロープ（ｒｏｂｏｔ  ｅｎｖｅｌｏｐｅ）内の所望点まで末端効果器を動かすときの動作を制御するために、ロボットのコンピュータ・モデルを利用する。図１は、リンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇを接続する６つの回転関節（ｒｏｔａｒｙ  ｊｏｉｎｔ）１、２、３、４、５、６を有する、符号１０で示される６軸電動ロボットを示している（Ｇは、関節６とツール先端の間のリンクを示す）。６つの回転関節１、２、３、４、５、６とリンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇは、一緒になって、全体として符号８として示される多関節ロボット・アームを形成する。ロボット・モデルは、ロボット寸法と、リンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇについての関節オフセット（ｊｏｉｎｔ  ｏｆｆｓｅｔ）とについての正確な知識を必要とする。これらのパラメータの公称値は、幾つかの応用例にとっては十分かもしれないが、高度且つ進化した応用例は、ロボット末端効果器のより正確な位置付けを必要とする。これらのケースでは、実際の完成状態のロボット寸法と、リンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇについての関節オフセットとを知ることが重要である。一実施形態では、これらの寸法と、リンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇについての関節オフセットとは、良く知られたデナビット−ハーテンバーグ・モデル・パラメータ（Ｄｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇ  ｍｏｄｅｌ  ｐａｒａｍｅｔｅｒ）によって定義される。例えば、Ｄｅｎａｖｉｔ，Ｊ．及びＨａｒｔｅｎｂｕｒｇ，Ｒ．Ｓ．、「Ａ  Ｋｉｎｅｍａｔｉｃ  Ｎｏｔａｔｉｏｎ  ｆｏｒ  Ｌｏｗｅｒ−Ｐａｉｒ  Ｍｅｃｈａｎｉｓｍｓ  Ｂａｓｅｄ  ｏｎ  Ｍａｔｒｉｃｅｓ」、ＡＳＭＥ，Ｊｏｕｒｎａｌ  ｏｆ  Ａｐｐｌｉｅｄ  Ｍｅｃｈａｎｉｃｓ，ｖｏｌ．２２，Ｔｒａｎｓａｃｔｉｏｎｓ  ＡＳＭＥ，ｖｏｌ．７７、１９５５年、２１５〜２２１ページを参照されたい。同文献の題材の一部が、本明細書で論じられ、同文献の開示は、参照により本明細書に組み込まれる。本明細書で開示される例示的な実施形態では、ロボット関節１、２、３、４、５、６、及びツール先端の間の各リンクＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇは、４つのパラメータによって定義され、そのうちの２つは、長さであり、もう２つは、角度である。その他の実施形態では、その他の任意のロボット・モデルが、本発明とともに使用されてよい。
【００１１】
示されるように、本発明は、球１２などの基準物体と、ロボット１０のリンクＦの末端に備えられた、ロボット末端効果器又はツール取付け機構１６に取り付けられる、オフセット接触プローブ（ｏｆｆｓｅｔ  ｔｏｕｃｈ  ｐｒｏｂｅ）１４などの精密面検出装置（ａｃｃｕｒａｔｅ  ｓｕｒｆａｃｅ  ｄｅｔｅｃｔｉｏｎ  ｄｅｖｉｃｅ）と、を使用する。オフセット接触プローブ１４の使用は、ロボット・アーム８の最終関節６のパラメータに関する情報が、獲得されることを可能にする。後のセクションで説明されるように、ツールの交換を可能にするため、追加のステップが、オフセット接触プローブ１４（又はツール取付け機構１６）のパラメータをロボット・アーム８のパラメータから分離するために実行される。
【００１２】
図１に示されるように、関節１、２、３、４、５、６は、接続され、コントローラ２０によって制御される。この実施形態では、コントローラ２０は、プロセッサ２１と、測定制御プログラム２２と、パラメータ識別プログラム２４と、機構制御プログラム２６と、ロボット・モデル３７とを含む。コントローラ２０は、例えば、様々な表面点で基準物体１２に接触するなど、必要とされるタスクを実行するようにロボット１０に指令する。具体的には、コントローラ２０は、座標を解釈し、座標に対応する３次元空間内の位置までロボット・アーム８を動かすことができる。コントローラ２０は、測定制御プログラム２２を使用して、ロボット・アーム８内の各関節１、２、３、４、５、６の軸位置を読み取ることもできる。測定制御プログラム２２は、ツールがどちらかの球の表面に遭遇したとき、ロボット・アーム８の関節位置をコントローラ２０に読み取らせる。コントローラ２０は、機構制御プログラム２６を使用して、ロボット・アーム８の動きを制御する。プロセッサ２１は、本明細書で説明されるように、コントローラ２０によって見出され、プロセッサ２１に伝えられた関節オフセットを使用しながら、またやはりプロセッサ内に保存されたロボット・モデル３７を使用しながら、パラメータ識別プログラム２４を使用して、較正パラメータを識別する。
【００１３】
図１の例示的な実施形態では、既知の長さ基準２８は、１対の球１２ａ及び１２ｂの中心間の既知の距離によって表される。示されるように、２つの球１２ａ及び１２ｂは、短い支柱３０に取り付けられ、短い支柱３０は、それぞれが横棒３２のどちらかの末端に取り付けられる。横棒３２は、ロボット作業空間内に安定して位置付けられ得る、基台などの据付設備（ｍｏｕｎｔｉｎｇ  ｆｉｘｔｕｒｅ）３４に取り付けられる。長さ基準２８用の球１２ａ及び１２ｂの中心間の距離は、この距離を所望許容範囲内で正確に測定することができるその他の任意の装置（例えば、座標測定機械）を用いて、独立に決定される。
【００１４】
球１２ａ及び１２ｂの真球度と、長さ基準２８の測定距離の許容範囲は、較正用に必要とされる精度よりも、一般には１桁だけ良くなければならないことを理解されたい。例えば、球間の距離は、ロボット・モデル・パラメータに長さスケールを提供する。この距離の百分率誤差（ｐｅｒｃｅｎｔａｇｅ  ｅｒｒｏｒ）は、等しい百分率誤差をモデル長さにおいて直接に生じさせ、対応する百分率誤差をツール先端の位置付けにおいて生み出す。従って、結果のロボット精度に対する要件は、球間の距離と球の必要な真球度の独立測定の、必要な許容範囲を左右する。ロボット精度要件が、非常に厳しい場合、較正組立装置は、温度に対して安定（与えられた温度範囲にわたって長さが一定）であることが必要な場合もあることに留意されたい。
【００１５】
本発明における基準物体の幾何学的形状は、球であるが、球の中心（即ち、点）を見つけることは、真の幾何学的点拘束（ｔｒｕｅ  ｇｅｏｍｅｔｒｉｃ  ｐｏｉｎｔ  ｃｏｎｓｔｒａｉｎｔ）であり、幾つかの従来技術に見出されるような、拡張された拘束幾何学（ｅｘｔｅｎｄｅｄ  ｃｏｎｓｔｒａｉｎｔ  ｇｅｏｍｅｔｒｙ）ではない。
【００１６】
述べられたように、本発明は、２つの球１２ａ及び１２ｂを使用して、ロボット１０とは独立の長さスケールを見出す。これは、幾何学的拘束手法が、絶対長さ寸法を決定せず、長さ寸法の比を決定するに過ぎないために必要とされる。図１の例示的な実施形態では、球１２ａ及び１２ｂ各々の座標は、ヤコビの式（Ｊａｃｏｂｉａｎ  ｅｑｕａｔｉｏｎ）内の未知数のベクトルの一部とされ、このことは、後のセクションでより詳しく説明される。本発明は、長さスケール（即ち、ロボット・リンク長の１つ）を仮定し、既知の長さ基準２８に等しい２つの球の中心間の測定距離を作るように、このスケールを調整する。
【００１７】
接触プローブ１４は、ロボットの末端効果器１６に機械的に取り付けられるのに加えて、コントローラ２０に遭遇を知らせるために、コントローラと電子的にインタフェースされる。遭遇は、接触プローブ１４のスタイラス又は先端１８が移動されて球１２と接触したために、球１２ａ及び１２ｂの一方によって先端が偏向されたときに、検出される。一実施形態では、先端１８は、球形先端であり、他の実施形態では、その他の任意のタイプのスタイラス先端であってよい。
【００１８】
１つの適切な接触プローブは、市販されているＲｅｎｉｓｈａｗ（登録商標）オフセット・プローブであり、このプローブは、±０．００００４インチ（約０．００１ｍｍ）のオーダの反復性仕様を有する。接触プローブ１４の寸法は、プローブの装着面に対する接触プローブのスタイラス先端１８の位置を正確に測定することができるその他の任意の装置（例えば、座標測定機械）を用いて、独立に決定される。接触プローブ寸法の許容範囲は、結果のツール先端位置精度に影響を与える。従って、これらの独立測定の精度は、ロボットの必要とされる精度よりも、一般には１桁だけ良くなければならない。
【００１９】
本発明を用いた場合、関節軸位置は、接触プローブ１４が球１２に接触したときに、コントローラ２０によって獲得されることを理解されたい。その後、接触プローブとの遭遇によって決定された、球１２ａ及び１２ｂ各々の表面上の様々な点についての関節軸位置を入力として使用して、ロボット・モデル・パラメータを最適化するために、後のセクションでより詳しく説明される数学的な較正式が、プロセッサ２１によって利用される。この記録における誤差は、結果のロボット・パラメータ最適化に影響を与えるが、様々な誤差減少方法が、利用されることができる。例えば、測定姿勢の数を増やすことは、ランダム誤差（ｒａｎｄｏｍ  ｅｒｒｏｒ）の影響を低減し、対称的な仕方で球１２に接触することは、系統誤差（ｓｙｓｔｅｍａｔｉｃ  ｅｒｒｏｒ）の影響を低減する。
【００２０】
本発明では、ロボット１０をデジタル的に表現するロボット・モデル３７は、プロセッサ２１によって利用される。プローブ先端１８の理想デカルト座標（ｉｄｅａｌ  Ｃａｒｔｅｓｉａｎ  ｃｏｏｒｄｉｎａｔｅ）は、モデル・パラメータの公称値を使用して、このモデルから計算される。再び図１を参照すると、実際のロボット・モデル・パラメータを決定するため、ロボット・アーム８は、多数の位置的姿勢において、接触プローブ１４を球１２ａ及び１２ｂの各々に向かって動かす一連のパターンを実行するようにコントローラ２０によって指令される。接触プローブ先端１８が球１２ａ及び１２ｂの各表面に遭遇したときに記録された、ロボット・アーム８の関節軸位置は、与えられた座標系、例えば、デカルト座標系において、各球の表面上の点の理想座標を計算するために、使用される。球面上の２点が知られている場合、それらの２点を接続する直線分が、計算されることができる。追加の２点が見つかった場合、（全部で３本の線分となるように）更に２本の線分が、決定されることができる。３本の線分のうちの異なる１本をそれぞれが垂直に２等分する３つの平面は、球の中心で交差する。第１の線分を垂直に２等分する第１の平面と、第２の線分を垂直に２等分する第２の平面と、第３の線分を垂直に２等分する第３の平面とを数学的に計算することによって、各球の中心のデカルト座標が、決定される。球の中心間の距離は、ロボットとは独立の長さスケール２８を提供し、これは、その他の何らかの方法で、ロボット・リンク長の１つを測定しなくても済むようにする。
【００２１】
上で述べられたように、接触プローブ１４が球１２ａ及び１２ｂの一方の表面と接触する各姿勢において、ロボット・アーム８の関節軸位置が、記録される。その後、これらの記録値を用いて、図２によって示される複数の計算が、プロセッサ２１によって実行される。一般に、後のセクションでより詳しく説明されるように、ステップ１００において、プロセッサ２１は、関節軸の値とモデル・パラメータ（例えば、リンク長と関節オフセット）とを入力として使用して、接触プローブ先端のデカルト座標（即ち、Ｘ、Ｙ、Ｚ）を計算するために、モデル３７を使用する。次にステップ１１０において、プロセッサ２１は、各球の表面上の選択された４点のデカルト座標を入力として使用して、各球１２ａ及び１２ｂの中心のデカルト座標を計算する。ステップ１２０において、プロセッサ２１は、最適化プロセスが実際の中心を見つけるまで、トライアル値（ｔｒｉａｌ  ｖａｌｕｅ）を使用して、ステップ１１０で計算された球の中心の座標における、実際の球の中心からの偏差（ｄｅｖｉａｔｉｏｎ）を計算する。
【００２２】
次にステップ１３０において、プロセッサ２１は、球の表面上の４点のデカルト座標における偏差（ｖａｒｉａｔｉｏｎ）の関数として、計算された球の中心のデカルト座標における偏差を計算する。ステップ１４０において、プロセッサ２１は、モデルのパラメータにおける偏差の関数として、接触プローブ先端の座標における偏差を計算する。ステップ１５０において、プロセッサ２１は、ステップ１３０及び１４０の結果からのモデルのパラメータにおける偏差の関数として、計算された球の中心の座標における偏差を計算する。ステップ１６０において、プロセッサ２１は、球の中心における誤差を最小化することによって、また計算された球間の距離を既知の長さ基準１８に拘束することによって、ロボットのモデル・パラメータを最適化する。プロセッサ２１は、入力として、ステップ１２０及び１５０の結果と、ロボット・アームの異なる位置的姿勢における球上の多数の測定に関する、２つの球各々の表面上の点についての関節軸位置とを使用する。実際のロボット・モデル・パラメータが、これらのパラメータについての公称値と異なる場合、球の計算された「理想」座標は、ロボット姿勢ごとに異なる。本発明は、この方法で計算された球の中心の集団（ｃｌｕｓｔｅｒ）におけるばらつきを最小化する、実際のモデル・パラメータについての最良適合値（ｂｅｓｔ−ｆｉｔ  ｖａｌｕｅ）を決定し、実際に公称モデル・パラメータ値を補正することを理解されたい。
【００２３】
別の実施形態では、本発明は、接触プローブの寸法をロボット・モデル・パラメータから分離する。ツール取付け機構１６の装着面板（ｍｏｕｎｔｉｎｇ  ｆａｃｅｐｌａｔｅ）３６に関するダイアル・インジケータ３５からの測定値は、装着面板の傾きと変位とが決定されることを可能にする。これらの測定値と接触プローブ１４の寸法とを使用して、プロセッサ２１は、最終関節についてのロボット・モデル・パラメータを計算し、取付け機構１６の装着面板３６に関連する接触プローブの変位と方位（即ち、ヨー、ピッチ、及びロール）とを除去する。
【００２４】
補正モデル・パラメータが、ロボット・コントローラ２０に入力されると、本発明は、取付け装着面板３６に取り付けられた任意の新しいツールの正確な位置付けを可能にする。ツールの寸法は、例えば、座標測定機械を用いて、独立に測定される。装着面板の変位と方位は、ロボットの終端のフレームとして実施されるか、又は行列の積によって、装着面板の変位と方位だけツールの寸法と方位を変形して、正味の寸法と方位を取り出すことによって実施される。装着面板の変位と方位が、ロボットのフレームとして入力される場合、ツール・フレームは、装着面板に関するフレームとして実施されなければならない。
【００２５】
更に別の実施形態では、本発明は、ロボット基台（ｒｏｂｏｔ  ｂａｓｅ）から最も遠い関節とツール取付け機構１６のためのツール・フレームとについてのモデル・パラメータを、決定する。この実施形態では、プロセッサ２１は、オフセット接触プローブ１４と、接触プローブ寸法と、図３Ａ及び図３Ｂによって示される取付け機構基準平板４０とを使用して、図２を参照して上で説明されたロボット・モデル・パラメータ最適化の結果の、多数の追加計算を実行する。取付け機構基準平板４０は、従来のツール装着固定具（ｔｏｏｌ−ｍｏｕｎｔｉｎｇ  ｆｉｘｔｕｒｅ）４４を備える平板４２から成る。平板４２は、平らに機械加工され、ツール装着固定具４４の嵌合面（ｍａｔｉｎｇ  ｓｕｒｆａｃｅ）４８と平行な前面４６を作るように、シム（ｓｈｉｍ）を入れられる。平行度の許容範囲は、較正用に必要とされる精度よりも、一般には１桁だけ良くなければならない。四角平板の辺の長さは、決定的には重要でないが、寸法は、大きくなるほど、（平行度が維持されると仮定して）ツール取付け機構１６のフレームのヨーとピッチのより良い測定値を生み出す。取付け機構１６に取り付けられた取付け機構基準平板４０から取られた測定値は、ロボット上に見出されるツール取付け機構１６と一致する座標系を確立するために使用される。ロボット・アーム８に装着された基準平板４０の面外変位（ｏｕｔ−ｏｆ−ｐｌａｎｅ  ｄｉｓｐｌａｃｅｍｅｎｔ）と、軸方向変位（ａｘｉａｌ  ｄｉｓｐｌａｃｅｍｅｎｔ）と、ねじれの測定値が、ダイアル・インジケータ又はその他の測定装置を使用することによって、見出される。プロセッサ２１は、上で説明された測定値と基準平板４０のねじれ測定値とから、ツール取付け機構１６の装着面３６についてのヨーと、ピッチと、ロールの他に、線形オフセットも計算する。
【００２６】
上で述べられたように、コントローラが接触プローブ信号を受信したときに記録される、ロボットの関節値が、各球の表面上の点の理想デカルト座標を計算するために、プロセッサ２１によって使用される。その後、コントローラは、球の表面上の４点の組のデカルト座標から、各球の中心の理想デカルト座標を計算する。これらのステップが、次により詳しく説明される。
【００２７】
図４は、関節ｉと関節ｉ＋１の間のリンク用のデナビット−ハーテンバーグ・モデル・パラメータａｉ、ｄｉ、αｉ、及びθｉを定義する。回転関節の場合、各ｚ軸は、関節の回転軸によって定義される。関節の直線的移動（ｌｉｎｅａｒ  ｔｒａｎｓｌａｔｉｏｎ）を提供する直動関節（ｐｒｉｓｍａｔｉｃ  ｊｏｉｎｔ）の場合、各ｚ軸は、移動方向によって定義される。Ｄ−Ｈパラメータａｉは、ｚｉ−１とｚｉの両方に直交する線分の長さによって定義される。ｘ軸ｘｉは、図に示されるように、この線分を延長することによって定義される。ｙ軸ｙｉは、ｘｉとｚｉに直交する。Ｄ−Ｈパラメータｄｉは、ｘｉ−１とｘｉの間のｚｉ−１に沿った長さである。ねじれＤ−Ｈパラメータ（ｔｗｉｓｔ  Ｄ−Ｈ  ｐａｒａｍｅｔｅｒ）αｉは、ｚｉ−１とｚｉの間の角度によって定義される。回転Ｄ−Ｈパラメータ（ｒｏｔａｔｉｏｎ  Ｄ−Ｈ  ｐａｒａｍｅｔｅｒ）θｉは、関節角（ｊｏｉｎｔ  ａｎｇｌｅ）とも呼ばれ、ｘｉ−１とｘｉの間の角度として定義される。２つのＤ−Ｈパラメータａｉ及びαｉは、一定である。回転関節の場合、ｄｉは、一定であり、θｉは、関節が操作されるにつれて変化する。直動関節の場合、θｉは、一定であり、ｄｉは、関節が操作されるにつれて変化する。
【００２８】
デナビット−ハーテンバーグ・モデルでは、２つの関節の間の与えられたリンクに関する平行移動と回転を、それぞれａｉ、ｄｉ、αｉ、及びθｉによって説明するために、同次変換行列（ｈｏｍｏｇｅｎｅｏｕｓ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）が、構成される。同次変換行列は、３次元における回転と平行移動の両方を行列の乗算によって説明する、４×４行列である。
【００２９】
通常の回転行列は、同次変換行列の左上の３×３行列であり、平行移動ベクトルは、右端の列の上３つの要素に含まれる。同次変換行列の右下の要素は、本明細書で説明される分析の目的で、値１を有する。ｘｉ−１、ｙｉ−１、及びｚｉ−１軸によって定義されるフレームｉ−１から、ｘｉ、ｙｉ、及びｚｉ軸によって定義されるフレームｉまでの、変換行列Ｍｉ−１，ｉは、４つの行列の積によって与えられ、４つの行列は、右から左に、ｘ軸の周りのαｉの回転、ｘ軸に沿ったａｉの平行移動、ｚ軸の周りのθｉの回転、及びｚ軸に沿ったｄｉだけの平行移動を表す。
【００３０】
【数１】
2008522836.tif 000003
【００３１】
完全なロボット・モデル（即ち、図１のモデル３７）は、基部関節（ｂａｓｅ  ｊｏｉｎｔ）からツール先端までのロボットのすべてのリンクに対応する変換行列（例えば、Ｍ０，１、Ｍ１，２、Ｍ２，３、…、ＭＮ−１，Ｎ、ここで、Ｎは、リンクの数であり、最終関節からツール先端までのリンクを含む）の積から成る。デカルト座標とオイラー角（Ｅｕｌｅｒ  ａｎｇｌｅ）は、本発明によって、完全なロボット・モデル変換行列から引き出される。デカルト座標平行移動は、完全なロボット・モデル変換行列の第４列の上３つの要素において見出され、一方、回転は、左上の３×３部分行列において見出され、この行列は、オイラー角を引き出すために、一般の回転行列Ｒと比較されることができる。
【００３２】
一般の回転行列Ｒは、行列形式で書き表されることができ、
【００３３】
【数２】
2008522836.tif 000004
【００３４】
ここで、αは、ｚの周りのヨー回転であり、βは、ｙ’の周りのピッチ回転であり、γは、ｘ”の周りのロール回転である。
図５に示されるように、オイラー角は、（ａ）ｚ軸の周りの回転であるヨーα、それに続く、（ｂ）新しいｙ軸の周りの回転であるピッチβ、それに続く、（ｃ）新しいｘ軸の周りの回転であるロールγとして定義される。ツール先端のフレームのデカルト座標は、（ｄ）それぞれｘ、ｙ、及びｚ方向での、ロボット基台フレーム座標に沿った平行移動Δｘ、Δｙ、及びΔｚである。
【００３５】
本発明は、この行列を使用して、Ｒで座標ベクトルを乗じることによって、基台フレーム（プライムなし）から回転されたフレーム（プライム付き）に座標を変換し、
【００３６】
【数３】
2008522836.tif 000005
【００３７】
ここで、
【００３８】
【数４】
2008522836.tif 000006
【００３９】
は、プライムなし座標における任意のベクトル
【００４０】
【数５】
2008522836.tif 000007
【００４１】
であり、
【００４２】
【数６】
2008522836.tif 000008
【００４３】
は、回転フレームにおける同じベクトル
【００４４】
【数７】
2008522836.tif 000009
【００４５】
である。しかし、その他のオイラー角規約（Ｅｕｌｅｒ  ａｎｇｌｅ  ｃｏｎｖｅｎｔｉｏｎ）も可能であり、本発明とともに使用されてもよいことを理解されたい。
対称性は、球の中心が、球面の任意の２点を結ぶ線分を垂直に２等分する任意の平面内に存在するようにする。球面上の２点が、図６に示されるように、Ｐ１及びＰ２によって識別される場合、垂直２等分面の式は、以下の内積と後続の式の操作によって与えられ、
【００４６】
【数８】
2008522836.tif 000010
【００４７】
ここで、
【００４８】
【数９】
2008522836.tif 000011
【００４９】
は、Ｐ１とＰ２の間のベクトルであり、
【００５０】
【数１０】
2008522836.tif 000012
【００５１】
は、線分の中点のベクトルであり、
【００５２】
【数１１】
2008522836.tif 000013
【００５３】
は、垂直２等分面上の点の位置を定義するベクトルである（即ち、
【００５４】
【数１２】
2008522836.tif 000014
【００５５】
は、平面上の点の集まりを定義する）。球面上の４つの同一面上にない点は、３つの線分を構成するために使用されることができる。球の中心は、これらの線分を垂直に２等分する３つの平面の交点である。３つの平面に関する式は、１つの行列の式に組み合わされることができる。
【００５６】
【数１３】
2008522836.tif 000015
【００５７】
この式は、複数の方法で（例えば、逆行列、クラーメルの法則など）、
【００５８】
【数１４】
2008522836.tif 000016
【００５９】
について解かれることができる。球面上の点の適切な選択は、３つの平面が互いにほぼ直角になることを保証することによって、計算誤差を最小化する。本発明では、面接触点は、球の中心を計算するために使用される４つの点からなる組にグループ化される。球の半径と接触プローブのスタイラス先端の半径が知られている場合、球の中心を定義するには、面上の３つの点で十分であるが、接触プローブがパルスを発生させるのに必要とされる偏向の量に不確実性が存在する。これは、球の中心と接触プローブのスタイラス先端の中心の間の実効距離（ｅｆｆｅｃｔｉｖｅ  ｄｉｓｔａｎｃｅ）に、ランダム誤差と系統誤差の両方を導入する。球の中心を見つけるために４つの点を使用することが、この次元における任意の系統誤差を除去する。
【００６０】
実際のロボット・モデル・パラメータが、公称モデル・パラメータとは異なる場合、球の中心の計算された「理想」座標は、４つの接触点の組ごとに異なる。本発明は、この方法で計算された球の中心の集団におけるばらつきを最小化する、モデル・パラメータについての最良適合値を決定し、実際に公称モデル・パラメータ値を補正する。
【００６１】
本発明は、モデル・パラメータにおける偏差が、計算された球の中心の座標に有する影響を定量化する、ロボット・モデル３７の線形化である、ヤコビの式を使用する。ヤコビの式は、球の表面上の接触点を表す関節値に基づいて、空間内点拘束（ｐｏｉｎｔ−ｉｎ−ｓｐａｃｅ  ｃｏｎｓｔｒａｉｎｔ）（即ち、球の中心）について、構成される。ヤコビの式を解くことは、モデル・パラメータの最小２乗最良適合組（ｌｅａｓｔ−ｓｑｕａｒｅｓ  ｂｅｓｔ−ｆｉｔ  ｓｅｔ）について解く方法である。本発明は、実際の球の中心と、不正確なモデル・パラメータと記録された関節値から計算された球の中心との間の差から、パラメータ空間内における最小値を見つける。パラメータは、パラメータの最良適合組を用いたヤコビアンのより良い推定である、後続のヤコビアンを用いた各反復において、より良く推定されるので、本発明は、反復的である。拘束点の座標に対する補正が、ゼロに接近したときに、本発明のルーチンは、その最良適合に収束したと見なされる。
【００６２】
本発明の最小化アルゴリズムは、モデル・パラメータにおける変化の関数としての、接触プローブ・スタイラス先端１８のデカルト座標における変化を反映する、ヤコビ行列を使用する。一般に、ヤコビアンＪは、以下のように定義される。
【００６３】
【数１５】
2008522836.tif 000017
【００６４】
ここで、
【００６５】
【数１６】
2008522836.tif 000018
【００６６】
は、接触プローブ先端位置を表すベクトルであり、
【００６７】
【数１７】
2008522836.tif 000019
【００６８】
は、モデル・パラメータを表すベクトルであり、Ｋは、モデル・パラメータの数である。ヤコビアンは、ロボット１０の関節位置（即ち、姿勢）の関数であり、モデルについての行列方程式から直接計算されることができる。４つの「点」ヤコビアンＪＰ１、ＪＰ２、ＪＰ３、ＪＰ４は、球の表面上の４つの接触点ごとに、このようにして決定される。別のヤコビアンは、球面上の４点の組から、球の中心の計算のために決定される。この「中心」ヤコビアンＪｃは、球面上の４点のデカルト座標における変化の関数としての、計算された球の中心のデカルト座標における変化を反映する。
【００６９】
【数１８】
2008522836.tif 000020
【００７０】
ここで、ｘｃ、ｙｃ、及びｚｃは、球の中心の座標であり、ｘ１、ｙ１、及びｚ１は、球面上の第１の点の座標であり、ｘ２、ｙ２、及びｚ２は、球面上の第２の点の座標であり、以下も同様である。Ｊｃと、４つの点ヤコビアンから構成される行列との積である、新しいヤコビアンが、定義される。
【００７１】
【数１９】
2008522836.tif 000021
【００７２】
新しいヤコビアン
【００７３】
【数２０】
2008522836.tif 000022
【００７４】
は、行列形式の微分のチェーン・ルール（ｃｈａｉｎ  ｒｕｌｅ）を反映し、ロボット・モデル・パラメータにおける変化の関数としての、球の中心のデカルト座標における変化を定量化する。
【００７５】
多数の球の中心と、対応する行列
【００７６】
【数２１】
2008522836.tif 000023
【００７７】
とが、様々なロボット姿勢について、球ごとに、このようにして決定される。姿勢は、関節ごとの動きの範囲を最大化するように選択され、これは、モデル・パラメータ結果の適用性のエンベロープ（ｅｎｖｅｌｏｐｅ）を最大化する。その後、これらの姿勢についてのヤコビアン
【００７８】
【数２２】
2008522836.tif 000024
【００７９】
は、組み合わされ、ボール・イン・ソケット機構（ｂａｌｌ−ｉｎ−ｓｏｃｋｅｔ  ｍｅｃｈａｎｉｓｍ）の手順から一般化された方法で処理される。Ｍａｒｃｏ  Ａｎｔｏｎｉｏ  Ｍｅｇｇｉｏｌａｒｏ、「Ａｃｈｉｅｖｉｎｇ  Ｆｉｎｅ  Ａｂｓｏｌｕｔｅ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ａｃｃｕｒａｃｙ  ｉｎ  Ｌａｒｇｅ  Ｐｏｗｅｒｆｕｌ  Ｍａｎｉｐｕｌａｔｏｒｓ」、Ｄｏｃｔｏｒａｌ  Ｔｈｅｓｉｓ、ＭＩＴ、２０００年９月を参照されたい。同文献は、参照により本明細書に組み込まれる。
【００８０】
ロボットの末端効果器でボール・イン・ソケット機構を使用することが知られている。ボールの中心は、静止しており、ロボットの姿勢とは独立である。この制約は、ロボットが、それ自体の較正で使用されることを可能にするが、しかし、ボール・イン・ソケット機構は、電動ロボットで実施するのが難しい。不正確なモデル・パラメータが原因のロボット位置付け誤差は、ロボットが異なる姿勢に動かされるときに、ロボット内に応力を生み出す。製造企業で普通に使用されるタイプの大型で強力なロボットの場合、ロボットの本来的な不正確性は、ボール・イン・ソケット機構を分解（ｔｅａｒ  ａｐａｒｔ）させがちであり、又は少なくとも、ロボット関節において不自然な応力を引き起こしがちである。本発明は、各球の中心における静止点を計算するために、２つの球各々の表面上の測定された点を使用することによって、この問題を克服する。
【００８１】
その後、これらの姿勢についてのヤコビアン
【００８２】
【数２３】
2008522836.tif 000025
【００８３】
は、以下で説明されるように、組み合わされる。表面の接触から決定された球の中心についてのデカルト座標と、球の実際の中心との間の差を含む列ベクトル
【００８４】
【数２４】
2008522836.tif 000026
【００８５】
が、生成され、これらの３次元ベクトル（ｔｈｅｓｅ  ｔｈｒｅｅ−ｖｅｃｔｏｒｓ）が、列ベクトルを生成するために、積み上げられる。本明細書で使用される添字「ｃ」は、球表面の接触から決定される中心の座標を示す。更に、添字「ｃ」には、中心のインデックスが後続し、ここで、Ｌは、計算される中心（即ち、４つの接触点の組）の総数であり、その半分は、第１の球についてであり（ベクトル内の水平線の上）、もう半分は、第２の球についてである（線の下）。また、本明細書で使用される添字「ａ１」及び「ａ２」は、それぞれ２つの球についての実際の球の中心の座標であり、これらは、未知である。ベクトルは、以下のようになる。
【００８６】
【数２５】
2008522836.tif 000027
【００８７】
最良適合解を見つけるため、以下の式が、解かれなければならず、
【００８８】
【数２６】
2008522836.tif 000028
【００８９】
ここで、
【００９０】
【数２７】
2008522836.tif 000029
【００９１】
は、モデル・パラメータに関する誤差又は補正のベクトルであり、各
【００９２】
【数２８】
2008522836.tif 000030
【００９３】
の添字は、球の中心についてのインデックスであり、各ヤコビアンは、４つの接触点の組ごとに評価される。
この式は、プロセッサ２１が、モデル・パラメータが計算されるのと同時に、各球の実際の中心を計算することが可能なように修正される。本発明は、これを、第１の球の中心を計算するときには、各ヤコビアン
【００９４】
【数２９】
2008522836.tif 000031
【００９５】
の右側に、３×３単位行列Ｉと、その後に３×３零行列Ｏとを追加することによって、又は第２の球の中心を計算するときには、３×３零行列と、その後に３×３単位行列とを追加することによって、２つの球について達成する。次に、これらの修正行列は、新しいヤコビアン
【００９６】
【数３０】
2008522836.tif 000032
【００９７】
を生成するために、上で説明されたように、積み上げられる。これら最後の２つのステップは、以下の式に示されている。
【００９８】
【数３１】
2008522836.tif 000033
【００９９】
本発明は、この時点で、実際の球の中心を、トライアル用の球の中心と、補正項とに分割し、
【０１００】
【数３２】
2008522836.tif 000034
【０１０１】
ここで、プライムは、解法の各反復において調整されるトライアル用の値を示し、δ値は、補正項を表す。左端の式は、解明のために（ｆｏｒ  ｃｌａｒｉｆｉｃａｔｉｏｎ）上から繰り返される。次の式は、実際の球の中心の、トライアル項と補正項への分割を示す。次の式は、補正ベクトルが、その他のベクトルからどのように分離されるかを示し、最後の式は、結果を便利な形式で書き表している。
その後、最良適合式は、以下のように変形され、
【０１０２】
【数３３】
2008522836.tif 000035
【０１０３】
ここで、第１行は、元の最良適合式を再び示しており、第２行は、補正ベクトル
【０１０４】
【数３４】
2008522836.tif 000036
【０１０５】
が、一般化誤差ベクトル
【０１０６】
【数３５】
2008522836.tif 000037
【０１０７】
にどのように組み込まれるかを示しており、最後の式は、結果の行列方程式をより簡潔な記法で示している。最後の行列方程式は、方程式の両辺を
【０１０８】
【数３６】
2008522836.tif 000038
【０１０９】
の擬似逆行列で乗じることによって、
【０１１０】
【数３７】
2008522836.tif 000039
【０１１１】
と解くことができ、ここで、
【０１１２】
【数３８】
2008522836.tif 000040
【０１１３】
は、
【０１１４】
【数３９】
2008522836.tif 000041
【０１１５】
の擬似逆行列
【０１１６】
【数４０】
2008522836.tif 000042
【０１１７】
であり、
【０１１８】
【数４１】
2008522836.tif 000043
【０１１９】
は、
【０１２０】
【数４２】
2008522836.tif 000044
【０１２１】
の転置である。解は、モデル・パラメータ
【０１２２】
【数４３】
2008522836.tif 000045
【０１２３】
と、球の中心のトライアル用のデカルト座標（δｘａ１、δｙａ１、δｚａ１）及び（δｘａ２、δｙａ２、δｚａ２）とに関する補正の組である。
これらの補正を、モデルとトライアル用の球の中心の両方に組み入れ返すことは、プロセスが反復されることを可能にし、最終的に、測定値のこの組についての最小２乗最良適合モデル・パラメータをもたらす。ヤコビの公式は、実際のロボットの線形化であるので、反復が、必要である。モデル・パラメータとトライアル用の球の中心とが、それらの実際値に近づけば近づくほど、結果の計算は、より良くなる。反復は、モデル・パラメータと球の中心とが、それらの実際値に接近することを可能にし、このことが、反復のたびに漸進的に良くなっていくヤコビの公式をもたらす。結果の最適化モデル・パラメータと球の中心とは、球の表面上に見出される点について、各球の中心のばらつきを最小化する。言い換えると、この手法は、実際の球の中心と、最適化モデル・パラメータ及び球面上で獲得された関節の値から決定される中心との間の差を最小化する。
【０１２４】
独立ではない幾つかのモデル・パラメータが、一般に存在し、そのようなモデル・パラメータの１つの解法は、擬似逆行列を実行する前に、ヤコビアンから適切に選択された列を取り除くことである。誤差ベクトル
【０１２５】
【数４４】
2008522836.tif 000046
【０１２６】
の対応する要素も、取り除かれなければならない。更に、アルゴリズムにおいて、選択されたリンク長を制約するステップが取られない場合、「最適化」モデル・パラメータは、公称値に等しいことが見出され、「実際の」球の中心は、ロボット基台フレームの原点に存在すると決定される。
【０１２７】
上で述べられたように、２つの球１２ａ及び１２ｂの間の既知の距離は、長さスケール２８を提供する（図１）。本明細書で説明される本発明は、最初に、ロボットの選択されたリンク長に関連する、ヤコビ行列の列と、誤差ベクトルの対応する要素とを取り除くことによって、スケーリングを実施し、そのことが、このリンク長を最適化に支配されない独立変数にする。プロセッサ２１は、球間の結果の距離を用いて、最良適合モデル・パラメータと、２つの球についての中心位置とを計算するために、上で説明された最良適合ルーチンを使用する。その後、選択されたリンク長は、プロセッサ２１によって調整され、プロセッサは、２つの球の間の計算された距離が既知の距離と一致するまで、再び最良適合ルーチンを実行する。結果は、球の間の正しい距離を提供する最適化モデル・パラメータの組である。
【０１２８】
ロボット較正に関する上で説明された手法及びその他の手法は、ロボット・ベースから最も遠い関節、即ち「最終関節」の場合、モデル・パラメータを決定する際に困難を有する。これまで説明された本発明の方法は、ロボットの統合部分（即ち、最終関節の部分）であるかのように接触プローブを含む、モデル・パラメータを提供する。その後、さらなるステップが、プロセッサ２１によって使用されて、ロボット・モデル・パラメータから接触プローブの寸法を分離する。これは、本発明がツール変更のたびのロボット再較正を必要としないことが可能になるので、ツールの交換を必要とする応用例にとって有益である。
【０１２９】
上で説明された平板実施形態では、接触オフセット先端についての角オフセットを除去（又は明らかに）する他、その他の取付け機構パラメータも明らかにする、取付け機構のためのフレームが、定義されるならば、やはり上で説明された最適化方式から決定される最終関節角オフセット（ｅｎｄ  ｊｏｉｎｔ  ａｎｇｕｌａｒ  ｏｆｆｓｅｔ）は、ロボットのための最終関節オフセットとして使用される。最終関節が回転され、操作されたときに、プロセッサ２１によって記録される、ツール取付け機構と基準平板の追加の測定値は、この装着面の傾きと変位が決定されることを可能にする。これらの測定値は、接触プローブ寸法と、上で説明されたヤコビの方法からの出力と一緒に、最終関節についての残りのロボット・モデル・パラメータと、最終関節に関係する取付け機構についての追加のパラメータとを計算するために、プロセッサ２１によって使用される。これらの最終ステップが、以下で説明される。
【０１３０】
再び図１を参照すると、上で説明されたように、モデル・パラメータ最適化ルーチンが、プロセッサ２１によって実行されると、ロボット基台フレームに対する接触プローブ先端の座標が、知られ、接触プローブは、ロボットから除去される。その後、基準平板４０（図３）が、ロボット・アーム１０の終端に装着される。上で見出された適切なロボット・モデル・パラメータが、コントローラ２０に入力され、ロボット・アーム８が、基準平板４０の追加の測定のために、便利な場所と方位（例えば、ヨー、ピッチ、及びロールの各々が０度）に位置付けられる。最終関節６が、３６０度にわたって角間隔を置いて回転されながら、基準平板４０の面外振れ測定値（ｏｕｔ−ｏｆ−ｐｌａｎｅ  ｒｕｎ−ｏｕｔ  ｍｅａｓｕｒｅｍｅｎｔ）が、例えば、ダイアル・インジケータ３５を使用して取られる。その後、これらの測定値の大きさと位相が、正弦関数を収集されたデータに適合（ｆｉｔ）させることによって決定される。基準平板４０の傾き角（従って、取付け機構面３６の傾き角）μは、振れ又は面外傾き測定値の大きさｄと、振れ測定が行われた半径ｒ（即ち、最終関節の回転軸からの半径）とを使用して、見出される。
μ＝ｔａｎ−１（ｄ／ｒ）
正弦関数の位相は、基準平板４０に対する法線がその周りで傾けられる軸を定義するために使用される。傾き軸は、最終関節６の軸と直交し、最終関節軸の周りの、傾き軸の回転角νによって指定され、ここで、νは、傾きと、傾き角（μ）と、傾き軸と、傾き軸の角（ν）とを図示した図７によって示されるように、位相に等しい。示されるように、ｘ、ｙ、及びｚ軸は、最終関節のフレームを定義する。単位ベクトルνは、基準平板に対する法線を表す。この法線は、図に示された回転軸の周りで角μだけｘ軸（即ち、最終関節の回転軸）から傾けられる。回転の傾き軸は、ｙ−ｚ平面内にあり、ｘ軸の周りで角νだけ回転される。ｔｘと、ｔｙと、ｔｚは、最終関節フレームにおけるνの成分である。
【０１３１】
傾き角と、傾き軸の角は、最終関節フレーム座標における基準平板４０に対する単位法線ベクトル（ｔｘ，ｔｙ，ｔｚ）について解くのに十分である。
ｔｘ＝ｃｏｓ（μ）
ｔｙ＝ｓｉｎ（μ）ｃｏｓ（ν）
ｔｚ＝ｓｉｎ（μ）ｓｉｎ（ν）
ヨー（α）と、ピッチ（γ）は、簡単な三角関数計算を用いて、法線ベクトルから取り出されることができる。
γ＝ｓｉｎ−１（−ｔｚ）
α＝ｔａｎ−１（ｔｙ／ｔｚ）
ロールは、以下で説明される追加のステップを用いて、決定されなければならない。
【０１３２】
最終関節６の回転軸に直交する平面内での取付け機構面板３６の変位の決定は、今度は、取付け機構１６に一般に見出される円筒面の外部での、同様の振れ測定を用いて達成される。この円筒面は、ツール位置合わせを提供するために、取付け機構１６の中心に合わされる。変位は、最終関節角の関数としてプロットされ、正弦関数が、データに適合される。この正弦関数の大きさは、変位の大きさを確定し、位相は、最終関節の回転軸の周りでのその変位の角度を与える。ロールは、次のステップで決定される。
【０１３３】
この時点で、プローブがあたかもロボット・アーム８の部分であるかのように、接触プローブ１４を含む、ロボット・パラメータが、決定される。これらのモデル・パラメータが、コントローラ２０に入力され、ロボット・アーム８が、ある与えられた方位で位置付けられると、接触プローブ先端１８は（それがロボットに装着されているならば）、ロボット座標系に対して、知られた位置と方位にある。例えば、ロボットのヨーと、ピッチと、ロールの各々が０度である場合、プローブ１４は、プローブ先端オフセット３８が、ロボット基台フレームに対して、例えばｚ方向にあるように方位付けされる。接触プローブ先端１８のオフセット３８は、特定の方位において取付け機構１６と位置合わせされないので、これらのロボット・モデル・パラメータは、当然ながら、取付け機構をロボットに位置合わせせず、このことは、ツールの交換を必要とする応用例にとって重要である。このステップにおける本発明は、取付け機構フレーム（そのローカルｚ軸）をロボットのｚ軸と位置合わせするロール角を見出す。ロボット・アーム８が垂直に上下に動かされたときに取られた、基準平板４０の縁のダイアル・インジケータ測定値は、最終関節６の回転軸の周りでこの縁がロボット垂直軸と作るねじれ角を示す。
【０１３４】
平板４０の縁のオフライン測定値は、取付け機構フレームに対する縁のねじれを示すことを理解されたい。一実施形態では、本発明は、基準平板４０に備えられた従来のツール装着固定具４４に結合されるツール取付け機構を使用する。使用されるツール取付け機構は、ロボット最終関節６に見出される機構と同じである。この装着固定具組立体は、座標測定機械（ＣＭＭ）によって測定される、取付け機構の装着面に対する測定値のための座標系を定義する。ｙ−ｚ平面は、取付け機構の水平嵌合面と位置合わせされ、ｘ軸は、この機構に見出される位置合わせ円筒の軸に中心が合わされる。ｚ軸は、位置合わせピンなど、取付け機構の何らかの特徴と位置合わせされる。ロボット取付け機構のロールは、ロボット上で測定された基準平板のねじれ角と、装着固定具に対する基準平板上で測定されたねじれ角との差である。
【０１３５】
これらの結果を取付け機構用のフレームに組み込むことは、最終関節フレームに対する取付け機構面板のオフセットと方位を計算することを必要とする。方位（ヨー、ピッチ、ロール）は、上で概略が示されたステップから直接得られる。ｙ及びｚ軸におけるオフセットは、軸外変位（ｏｆｆ−ａｘｉｓ  ｄｉｓｐｌａｃｅｍｅｎｔ）の大きさに、変位角の正弦又は余弦をそれぞれ乗じたものに等しい。ｘ軸におけるオフセットΔｘは、接触プローブ寸法を埋め込んだ、先に見出されたロボット・モデル・パラメータから導かれる。Δｘは、最終関節フレームの原点から取付け機構の装着面に向かう、最終関節の回転軸に沿った長さである。プローブ先端までの長さと、接触プローブ寸法と、取付け機構の方位及びオフセットとからΔｘを計算するために、数学的変換が、プロセッサ２１によって実行される。この変換は、以下の式をもたらし、
Δｘ＝ｄ−｛ｘｐｃｏｓ（α）ｃｏｓ（β）＋ｙｐ［−ｓｉｎ（α）ｃｏｓ（γ）＋ｃｏｓ（α）ｓｉｎ（β）ｓｉｎ（γ）］＋ｚｐ［ｓｉｎ（α）ｓｉｎ（γ）＋ｃｏｓ（α）ｓｉｎ（β）ｃｏｓ（γ）］｝−Δｘ０
ここで、ｄは、モデル・パラメータ最適化ルーチンから見出された、最終関節の回転軸に沿った接触プローブ先端までの長さであり、Δｘ０は、最終関節の回転軸に沿った（取付け機構なしの）ロボット最終関節面板までの距離についての、ロボット・コントローラに保存された公称オフセットであり、ｘｐ、ｙｐ、及びｚｐは、装着固定具に対する、測定によって決定された接触プローブ先端オフセットである。その他のすべてのシンボルは、先に上で定義されている。やはり、この式は、ヨーと、ピッチと、ロールとを有する一般化された回転についての行列の積に、座標（ｘｐ，ｙｐ，ｚｐ）を有するベクトルを乗じたものから導かれる。
【０１３６】
補正モデル・パラメータが、コントローラ２０に入力されると、本発明は、取付け機構に装着された任意の新しいツールの正確な位置付けを提供する。ツールの寸法は、装着固定具に対して、座標測定機械を用いて、独立に測定されてよい。取付け機構の変位と方位は、ロボットの終端のフレームとして実施されるか、又は取付け機構の変位と方位だけツールの寸法と方位を変形することによって実施される。この後者のステップは、取付け機構のフレームとツールのフレームとをそれぞれ表す同次変換行列の積によって達成され、ツール／取付け機構の組み合わせの正味の寸法と方位は、結果の変換行列から取り出される。代替として、取付け機構の変位と方位が、ロボット上の別々のフレームとして入力された場合、ツール・フレームは、取付け機構フレームに対するフレームとして、実施されなければならない。各方法は、数学的に等価であり、どの方法を使用するかの決定は、使用されるコントローラの能力によって制約される（即ち、コントローラ・ソフトウェアは、相対ツール・フレームを許容できないかもしれない）。
【０１３７】
図８Ａ、図８Ｂ、及び図８Ｃは、公称モデル・パラメータを使用してツールを位置付けたときに生じ得るツール位置への影響を、本発明によって提供されるモデル・パラメータの最適組を使用した場合と比較して示している。補償は、一般に、ユーザ・フレーム（ｕｓｅｒ  ｆｒａｍｅ）を使用して、ツール先端位置における系統誤差又はシフトに対して行われることができる。姿勢に依存する誤差は、最適モデル・パラメータを使用してのみ、除去されることができる。任意の姿勢に対する全体的なロボット精度は、ロボット反復性より良くなることはできないことに留意されたい。
【０１３８】
図８Ａ、図８Ｂ、及び図８Ｃにおける各散布図（ｓｃａｔｔｅｒ  ｐｌｏｔ）は、様々な姿勢におけるロボットを用いた、球面上の接触から決定された、球の中心についてのデカルト座標を示している。球の中心を見つけるプロセスは、上で説明された。示されているデータ点は、単一の球についてのものなので、データ点は、実際の球の中心の位置の周りに群がるべきである。モデル・パラメータの不正確な組を使用した場合、球の中心の座標（及び等価的にツール先端位置）は、ロボットの姿勢に劇的に依存する。この場合、公称モデル・パラメータは、図８Ａ、図８Ｂ、及び図８Ｃにそれぞれ示されているように、測定された中心について、大きなばらつき２００、２１０、２２０を生み出した。一方、最適モデル・パラメータは、やはり図８Ａ、図８Ｂ、及び図８Ｃにそれぞれ示されているように、位置についての密接なクラスタリング２３０、２４０、２５０を生み出した。公称モデル・パラメータは、最適モデル・パラメータと比べて、点についての大きなクラスタリングを与えることに留意されたい。また、公称モデル・パラメータは、最適モデル・パラメータ・データから離れた、測定値の重心（ｃｅｎｔｒｏｉｄ）において、比較的大きな系統シフトを生み出すことにも留意されたい。これらの図は、ロボット位置付け精度について正確なモデル・パラメータを使用することの重要性を立証する。同じ結論は、向きの精度についても当てはまる。
【０１３９】
一実験的試験では、システムの位置的精度は、０．０１０インチ（約０．２５４ｍｍ）のオーダにあることが必要とされた。デモンストレーションは、サウスカロライナ州ダンカンのＳｔａｕｂｌｉ  Ｃｏｒｐｏｒａｔｉｏｎから市販され、Ｍｏｄｅｌ  ＲＸとして販売されている、図１に示されたロボット１０などの６軸回転関節ロボットで行われ、関節角オフセットは、ゼロに設定された。ロボット１０は、±０．００１６インチ（±０．０４ｍｍ）の引用反復性を有する。較正用設備（ｃａｌｉｂｒａｔｉｏｎ  ｆｉｘｔｕｒｅ）は、±０．０００２インチ（約０．００５１ｍｍ）の真球度を有する、市販の２インチ直径の球１２ａ及び１２ｂを使用した。関節角位置が、全部で８６４回の接触プローブの球への接触によって、２１６個の計算された球の中心の値のための、各球の表面上の４点の１０８組について収集された。モデル・パラメータの最適値と、球の中心の実際の座標とが、計算された。モデル・パラメータの公称値を使用して、球の中心についての（球の接触から）「測定された」座標と、これらの中心の平均との間の差の標準偏差は、それぞれ座標について、ｘが０．０３９インチ（約０．９９ｍｍ）、ｙが０．０６５インチ（約１．６５ｍｍ）、ｚが０．０７８インチ（約１．９８ｍｍ）であることが見出された。
【０１４０】
図９は、最適化を施さない場合の、異なる姿勢についての、平均中心位置の周りの球の中心の散布図を示している。パラメータの完全な組に対する最適化の結果として、中心残差（ｃｅｎｔｅｒ  ｒｅｓｉｄｕａｌ）（最適化パラメータを使用して「測定された」中心と、最適化中に見出された実際の球の中心との間の差）の標準偏差は、それぞれの座標について、ｘが０．００１９インチ（約０．０４８ｍｍ）、ｙが０．００１５インチ（約０．０３８ｍｍ）、ｚが０．００２４インチ（約０．０６１ｍｍ）であり、少なくとも２０倍の改善であることが見出された。最適化パラメータの完全な組は、独立パラメータの組から成る。従属パラメータは、この方法では、解決されることができない。
【０１４１】
図１０は、測定値の同じ組を使用した、パラメータの完全な組に対する最適化の後の、中心位置の散布図を示している。最適化された実行についての中心残差の標準偏差は、各球の表面上の４点の組から決定される、計算された球の中心における不確定性（ｕｎｃｅｒｔａｉｎｔｙ）を表すことが留意されるべきである。より適切であるためには、中心ヤコビ行列から計算され得る、プローブ先端の位置付けにおいて、不確定性がどれだけであるか（即ち、プローブ位置付け誤差又は不確定性）を知ることが重要であり、
【０１４２】
【数４５】
2008522836.tif 000047
【０１４３】
ここで、Δｘｃは、球の中心のｘ座標における不確定性であり、ｘｃは、ｘ軸中心座標であり、ｘ１，ｙ１，．．．ｚ４は、それぞれ関連する不確定性Δｘ１，Δｙ１，．．．Δｚ４を有する、球面上の４つの接触点の座標であり、Ｊｃ  １，ｉは、球面に関する第ｉの座標（それぞれｘ１，ｙ１，．．．ｚ４に対して、ｉ＝１，２，３，４，５，．．．１２）における偏差から生じる、ｘｃにおける偏差である。プローブ先端の不確定性（Δｘ１，Δｙ１，Δｚ１，Δｘ２，Δｙ２，．．．Δｚ４）が、すべて等しく、この不確定性が、Δによって表されると仮定すると、以下が、成り立たなければならない。
（Δｘｃ）２＝Ｊｃ２  １，１Δ２＋Ｊｃ２  １，２Δ２＋．．．＋Ｊｃ２  １，１２Δ２
＝（Ｊｃ２  １，１＋Ｊｃ２  １，２＋．．．＋Ｊ２  １，１２）Δ２
この式は、Δについて解くために、逆にされることができる。
（Δ）２＝（Δｘｃ）２／（Ｊ２  １，１＋Ｊ２  １，２＋．．．＋Ｊ２  １，１２）
同様の式が、ｙ及びｚ成分についても導かれることができる。各中心残差（実際の球の中心と計算された球の中心の間の差）は、Δｘｃの推定を提供し、それから、Δ２についての推定が、行われる。すべてのΔ２は、プローブ位置付け誤差についての全分散（ｔｏｔａｌ  ｖａｒｉａｎｃｅ）に到達するために平均されることができる。すべての姿勢とすべての方向（ｘ、ｙ、ｚ）とからのプーリング・データ（ｐｏｏｌｉｎｇ  ｄａｔａ）は、図１０における測定値に対して、０．００１７インチ（約０．０４３ｍｍ）の、プローブ先端位置付け誤差についての標準偏差を与える。
【０１４４】
別の実施形態では、本発明は、モデル・パラメータのサブセットで実行され、電動ロボットは、逆運動学計算（ｒｅｖｅｒｓｅ−ｋｉｎｅｍａｔｉｃｓ  ｃａｌｃｕｌａｔｉｏｎ）を実行できなければならないので、このことは、有益である。逆運動学は、公称上非ゼロのリンク長と関節オフセットだけが最適化され、その他のすべてのパラメータは固定されたままである場合、はるかに簡単になる。しかし、この場合、最適化されないパラメータにおける実際の誤差は、最適化されているパラメータに組み入れられることがある。最適化は、とられる測定値についての（即ち、接触プローブについての）位置付け誤差を縮小するが、接触プローブとは異なる寸法のツールを使用する場合、さらなる位置的誤差を生み出し得る方位誤差（ｏｒｉｅｎｔａｔｉｏｎ  ｅｒｒｏｒ）が、存在することがある。
【０１４５】
先の実験的試験からの上記の測定値を使用するプロセッサ２１を用いた一実験的試験では、プロセッサ２１は、モデル・パラメータの縮小された組を最適化し、中心残差の標準偏差は、それぞれ座標について、ｘが０．００２６インチ（約０．０６６ｍｍ）、ｙが０．００３５インチ（約０．０８９ｍｍ）、ｚが０．００４０インチ（約０．１０２ｍｍ）になった。同様に、プローブ先端位置付け誤差は、０．００３１インチ（約０．０７９ｍｍ）であることが見出された。図１１は、パラメータの部分的な組に対する最適化の後の、異なる姿勢についての、球の中心の散布図を示している。明らかに、パラメータの部分セットについての最適化は、誤差を最小化する点で、図１０によって示されたパラメータの完全な組についての最適化ほど上手くいかないが、しかし、それでも、図９によって示された補正なしの場合に対しては、大きな改善がある。
【０１４６】
実験的試験では、本発明は、中心の最大偏差についての情報も提供した。公称パラメータの場合、測定された中心の平均中心からの最大絶対偏差は、ｘが０．０９９インチ（約２．５１ｍｍ）、ｙが０．１３９インチ（約３．５３ｍｍ）、ｚが０．１６２インチ（約４．１１ｍｍ）であることが見出された。最適化パラメータの完全な組の場合、最大絶対偏差は、ｘが０．００７３インチ（約０．１８５ｍｍ）、ｙが０．００４３インチ（約０．１０９ｍｍ）、ｚが０．００６０インチ（約０．１５２ｍｍ）であることが見出された。最適化パラメータの部分的な組の場合、最大偏差は、ｘが０．００８３インチ（約０．２１１ｍｍ）、ｙが０．０１０インチ（約０．２５４ｍｍ）、ｚが０．０１２インチ（約０．３０５ｍｍ）であることが見出された。やはり、このメトリックに関して、最適化パラメータの完全な組が、最も良く働くが、しかし、パラメータの部分的な組を使用した場合でも、無補正データに対しては、著しい改善がある。この試験は、明らかに、精度較正の利点を例証している。
【０１４７】
本発明の別の実験的試験では、ロボット用に獲得されたモデル・パラメータの部分的な組が、取付け機構フレームの測定のためのコントローラ・ソフトウェアに入力された。パラメータの部分的な組は、実際的には、完全なパラメータ最適化から見出されたパラメータ値の完全な組の部分集合であった。部分的な最適化は、使用されなかった。接触プローブは、ＣＭＭ据付設備（ＣＭＭ  ｍｏｕｎｔｉｎｇ  ｆｉｘｔｕｒｅ）を利用するＣＭＭに寸法が示された。取付け機構基準平板のねじれも、ＣＭＭと据付設備を使用して決定された。面外振れ測定が、最終関節６（図１）が３６０度にわたって回転されながら、ロボットに装着されたツール取付け機構基準平板上の１２の点で、ダイアル・インジケータを用いて行われた（ダイアル・インジケータの面外変位が、関節の回転角の関数である、図１２を参照）。変位測定も、やはり最終関節６が３６０度にわたって回転されながら、取付け機構の円筒面の外側の１２の点で行われた（ダイアル・インジケータの軸方向変位が、関節の回転角の関数である、図１３を参照）。ねじれ測定値が、ロボット・アームが０．９インチ（約２．３ｃｍ）の増分で下方に８回移動されながら、取付け機構基準平板の辺上で取られた（ダイアル・インジケータの変位が、基準平板の縁沿いの位置の関数である、図１４を参照）。この最後のプロットには、ＣＭＭ据付設備上で測定された取付け機構に対する基準平板のねじれに起因する基準平板の縁沿いの期待変位も、示されている（０．３１５度ねじれ）。
【０１４８】
このデータのすべてを用いて、プロセッサ２１は、取付け機構についてのフレームを計算した。この取付け機構フレームは、ツール・フレームとして、ロボット・コントローラにロードされた。その後、面外振れ測定値が、ロボットが３６０度にわたってロールするように操作されながら、取付け機構基準平板上の１２の点で取られた（ダイアル・インジケータの面外変位が、回転角の関数である、図１５を参照）。これは、取付け機構面の平面内でロボットを回転させるために実行された。振れ測定値は、相当に小さくなり、プロセスが適切に働いていることを示している。同様に、変位測定が、ロボットが３６０度にわたってロールするように操作されながら、取付け機構円筒面の外側で行われた（ダイアル・インジケータの軸方向変位が、ロール角の関数である、図１６を参照）。やはり、これは、ロボットを取付け機構の中心軸の周りで回転させるべきであり、測定値は、相当に小さくなり、プロセスが適切に働いていることを示している。最後に、ロールが、ロボットを垂直に操作することによって、取付け機構基準平板の縁の変位を測定するダイアル・インジケータを用いて調査された（ダイアル・インジケータの変位が、ロボットのＺ方向での移動の関数である、図１７を参照。基準平板の縁は、ＣＭＭによって測定された取付け機構に対してねじられているので、破線の対角線が、やはり期待変位を示していることに留意されたい）。データ点は、破線に適合し、プロセスが適切に働いていることを示している。
【０１４９】
実験的試験では、取付け機構の初期測定は、基準平板の傾きが、３．７５インチ（約９．５３ｃｍ）の測定半径において、０．００５５インチ（約０．１４ｍｍ）であることを示した。これは、０．０８４度の角度である。計算されたフレームに対して調整した後、傾きは、同じ３．７５インチの半径において、０．０００９インチ（約０．０２３ｍｍ）と測定され、０．０１５度の角度に相当する。２０インチ（約５０．８ｃｍ）長のツールの場合、このフレームについての先端変位は、０．００５インチ（約０．１２７ｍｍ）理想から異なるに過ぎず、無補正変位の６分の１である。初期軸外変位測定値は、中心から０．０１１３インチ（約０．２８７ｍｍ）シフトされた取付け機構を示した。補正を入力した後、変位は、０．００２６インチ（約０．０６６ｍｍ）と測定された。最後に、基準平板の辺上で測定された初期ねじれ角は、０度に近かったが、ＣＭＭを用いて測定された基準平板のねじれは、０．３１５度であった。ロールへの補正を入力した後、基準平板のねじれは、ＣＭＭを用いて測定されて、０．２６２度であることが見出され、理想から０．０５３度の異なりであった。これら３つの測定値は、取付け機構誤差についての著しい改善を示している。従って、上述された実験的試験は、測定された球の中心の縮小されたばらつき、並びにツールの縮小された傾き、ねじれ、及び変位に反映された、改善された精度を生じるモデル・パラメータと取付け機構フレームを見出す際の、本発明の価値を示している。
【０１５０】
図１８、図１９、及び図２０によって示される別の実施形態では、本発明は、上で定義された２つの手法の混成であり、両方の利点をもち、それらの短所はもたない。この実施形態は、関節値を記録することを必要とせずに、幾何学的拘束に補間を行うために、安価な「変位測定装置」を使用する。その結果、この実施形態は、ロボット・コントローラに内蔵される又はロボット・コントローラとインタフェースをとる、特殊なハードウェア又はソフトウェアを必要としない。一方で、この実施形態は、装置６０などの外部測定装置（変位測定装置）を必要とするが、この装置は、幾何学的拘束に補間を行うために使用される安価な機器である。
【０１５１】
図１８は、変位測定装置６０の簡単な実施を示している。この実施形態では、球状較正物体６２（図１及び図２０の１２ａ及び１２ｂと同一物）と、線形変位測定装置６６の終端に装着される球状効果器物体６４とが、使用される。示されるように、線形変位測定装置６６は、シンボルＡ及びＢによって指示される２つの僅かに異なる指令された姿勢で示されており、それらの姿勢において、変位測定装置は、２つの異なる変位を示す。図１９は、変位の関数としての線形変位測定装置６６の出力の仮定のプロットを示している。この例では、出力は、図１８の２つの指令された姿勢Ａ及びＢからのものである。
【０１５２】
この実施形態では、２つの指令された姿勢Ａ及びＢは、事前設定された「拘束変位（ｃｏｎｓｔｒａｉｎｔ  ｄｉｓｐｌａｃｅｍｅｎｔ）」を挟むように選択される。補間係数は、姿勢Ａから拘束変位までの変位の、姿勢Ａから姿勢Ｂの変位までの変位に対する比として計算される。出力が、変位と線形である場合、補間係数は、姿勢Ａと事前設定された拘束変位の間の出力差の、姿勢Ａと姿勢Ｂの間の出力差に対する比と等価である。出力が、変位に線形に比例しない場合、その他の関係が、モデル化されることができる。出力が、変位と線形に変化する場合、変位測定装置は、較正される必要がないかもしれない。
【０１５３】
補間係数は、「拘束姿勢（ｃｏｎｓｔｒａｉｎｔ  ｐｏｓｅ）」を決定するために、デカルト座標において、指令された姿勢Ａと姿勢Ｂの間を補間するために使用される。この拘束姿勢についての関節値は、公称の又は現在のロボット・モデル・パラメータを使用して、逆運動学（ｉｎｖｅｒｓｅ  ｋｉｎｅｍａｔｉｃｓ）によって決定される。この時点で、パラメータ識別は、拘束姿勢と修正された幾何学的拘束の計算された関節の相対的配置を使用する、任意の適切な幾何学的拘束較正方法によって規定されたように、続行することができる。幾何学的拘束の修正は、以下のように説明されることができる。
【０１５４】
変位測定装置が、較正物体の表面に垂直な変位を測定するように方位付けされる場合、拘束姿勢は、較正物体との初期接触点を越える、ツール先端の事前設定された一定の変位を表す。この拘束姿勢は、実際上、較正物体の表面との、ツール先端の接触プローブの遭遇（及び姿勢捕捉）と等価であるが、実際のツール先端長より小さい有効ツール先端長を用いており、事前設定された拘束変位距離だけより小さい。例えば、拘束変位が、０．２５インチ（約６．３５ｍｍ）に設定された場合、拘束姿勢は、較正用の球上でのより短いツールの接触プローブとの遭遇に対応し、ツールは、実際のツール長より０．２５インチより短い。拘束変位を可能にするために幾何学的拘束に適切な調整を施すこと、及び拘束姿勢から決定される計算された関節の相対的配置を使用することは、幾何学的拘束ルーチンが、関節の相対的配置を読み取ることなく、またコントローラへの関連ハードウェア及びソフトウェア修正並びに／又はインタフェースを用いずに、実施されることを可能にする。幾何学的拘束手法に基づいたロボット較正は、較正されるロボットにもたらされた、スタンドアロン・システムで実施されることができる。
【０１５５】
この実施形態を実施するため、線形変位が、異なる方向で測定され得るように、ツール先端は、回転点の周りで回転（ｓｗｉｖｅｌ）することが必要である。これは、回転点からツール先端までの半径から拘束変位を差し引いたものに等しい、有効ツール先端半径を生み出す。
【０１５６】
ツールと基準物体の間の遭遇の関節角を見出すために、補間と逆運動学を用いる線形変位測定装置を使用することは、遭遇が生じたときに、コントローラによるロボットの関節角の捕捉を必要としない点で、（本発明の接触プローブを含む）トリガ・プローブの使用にまさる利点である。これは、今度は、プロセッサが、ロボット・コントローラから分離されること（即ち、スタンドアロン）、及び測定制御プログラムが、プロセッサ内に存在することを可能にする。更に、そのような実施形態では、本発明は、本当の幾何学的拘束を用いず指令された姿勢から誤差を測定するために使用される線形測定装置ではなく、（幾何学的拘束の要件と一致するように遭遇のロボット姿勢を強制するために、ロボット・モデル・パラメータを調整する）パラメータ識別のための幾何学的拘束が、使用されることを可能にする。ロボット・モデル・パラメータは、（関節値から計算される）指令された各姿勢のデカルト座標を、これらの姿勢が測定された線形変位測定装置の読み取りを生み出すように変更するために、パラメータ識別において調整される。
【０１５７】
図２０は、本発明による、６つの回転関節と、それらに接続され、また２つの基準物体を使用する構成可能な変位測定ツールとを有する、６軸電動自動ロボットを示す概略図である。以下の例外を除いて、番号を付された項目はすべて、図１の同じ項目に対応する。この実施形態では、コントローラ２０は、ロボット・モデル３７と、機構制御プログラム２６だけを含む。機構制御プログラム２６は、ツール先端を多数の指令された姿勢の組まで移動するように設計された簡単な機械的パターンであり、ここで、各組は、ツール先端を接触に到らせ、ツール先端を異なる量だけ変位させる、２つの姿勢から成る。プロセッサ２１は、パラメータ識別プログラム２４と、ロボット・モデル３７と、測定制御プログラム２２とを含む。測定制御プログラム２２は、変位測定装置からの変位を測定し、変位測定が行われた２つの指令された位置の間の補間を使用して拘束変位におけるツールのデカルト座標を計算し、その後、逆運動学を使用して、これらのツール座標についての関節角を計算する。コントローラ２０とプロセッサ２１とは、もはや接続されない。ケーブル３９は、プロセッサ２１をツール１４に接続する。ツール１４は、回転するように示されており、線形変位測定装置６６を含む。ツールは、依然としてオフセット３８を含むように示されている。
【０１５８】
図２０の実施形態を実施するため、指令された姿勢対の系列が、構成される。姿勢の各対は、適切な補間係数が計算されるように、拘束変位を挟むように設計される。一実施形態では、補間係数は、非負且つ１以下であり、その他の実施形態では、ルーチンは、補間係数がこの許容範囲から大きく逸脱しない限り、かなり良く働くことが想定される。補間係数がその許容範囲を超えた場合、ルーチンは、補間の代わりに補外を行うが、誤差は、係数が補間範囲を超えるほど大きくなる。
【０１５９】
各対内の指令された姿勢の間の距離は、補間誤差を最小化するのに役立つほど小さくあるべきであることを理解されたい。対内の各姿勢には、誤差が、存在するが、僅かに間隔を置かれた姿勢の場合、これらの誤差は、ほとんど同じであるべきである。指令された姿勢における誤差が、同じである場合、補間された姿勢における誤差も、基本的に同じである。これは、補間された拘束姿勢から計算された関節値が、ロボットが実際に拘束姿勢で姿勢を取った場合に見出される関節値を正確に表すことを意味する。
【０１６０】
指令された姿勢対の構成された系列は、較正物体が、異なるロボットの相対的配置から測定されることを可能にする。一実施形態では、これらの姿勢は、おそらく手動で入力される較正物体の近似的位置を使用して、オフラインで構成され、その後、構成された系列は、動きと休止のパターンとして、ロボット・コントローラに適宜ロードされる。休止は、ロボット設定時間の余裕を与え、後続の変位測定が、行われることを可能にする。一実施形態では、変位測定は、出力信号内の設定によってトリガされる。その後、変位測定値のファイルが、さらなる処理のために、適切な指令された姿勢対と照合される。データ獲得が完了すると、別のルーチンが、拘束姿勢の関節角を計算する。その後、拘束姿勢の関節値は、実施される幾何学的拘束方法に従って誤差を最小化するために、モデル・パラメータの最良の組を計算する、パラメータ識別アルゴリズムに供給される。
【０１６１】
本発明が、特性方程式（ｃｈａｒａｃｔｅｒｉｓｔｉｃ  ｅｑｕａｔｉｏｎ）を構成しないことによって、姿勢精度の計算を簡単化することを理解されたい。特に、本発明では、慣性モーメント（ｍｏｍｅｎｔ  ｏｆ  ｉｎｅｒｔｉａ）の計算、又は特性方程式の解として固有値について解くための方法が、存在しない。最も急激な低下の方法という意味で、パラメータ空間の検索が、存在しない。更に、幾何学的拘束としての点の使用は、関節角決定のために使用されるロボット・エンベロープの容積にわたる姿勢の範囲についての関連する要件を有するロボットの作業エンベロープにわたって延びる直線及び平面などの拘束としての、拡張された拘束幾何学の使用を回避する。
【０１６２】
更に、ボール・イン・ソケットは、使用されない。一実施形態では、ボール・イン・ソケット機構は、複数の姿勢におけるボール・イン・ソケット・ツールの運動中に、ロボット・モデルにおける誤差によって誘起される応力のために、電動ロボットでは実用的ではないので、遭遇を知らせるツールと、ツールと基準物体の間の遭遇の関節角を読み取るコントローラの使用は、ボール・イン・ソケット方法の使用にまさる利点である。更に、本発明とは異なり、ボール・イン・ソケット機構は、末端効果器のパラメータが、ロボット・モデルから除去されることを可能にしない。更に、別の実施形態では、ツールと基準物体の間の遭遇の関節角を見出すために補間と逆運動学を用いる線形変位測定装置の使用は、ボール・イン・ソケット機構とは異なり、複数の姿勢におけるツールの運動中に、ロボット・モデルにおける誤差によって誘起される機械的応力を生じさせない。
【０１６３】
しかし、添付の特許請求の範囲で説明される本発明のより広範な主旨と範囲から逸脱することなく、様々な修正と変更が、施され得ることは理解されよう。従って、本明細書と図面は、限定的な意味ではなく、むしろ説明的な意味で見られるべきである。
【図面の簡単な説明】
【０１６４】
【図１】本発明による、６つの回転関節と、それらに接続され、また２つの基準物体を使用する接触プローブとを有する、６軸電動自動ロボットを示す概略図である。
【図２】本発明による、プロセッサによって実行される複数の計算のプロセス・フローである。
【図３】図３Ａは、本発明による、ツール装着固定具に取り付けられる平らな板から成るツール取付け機構基準平板組立体の概略図である。図３Ｂは、本発明による、ツール装着固定具に取り付けられる平らな板から成るツール取付け機構基準平板組立体の概略図である。
【図４】関節ｉと関節ｉ＋１の間のリンクについてのデナビット−ハーテンバーグ（Ｄ−Ｈ）・モデル・パラメータａｉ、ｄｉ、αｉ、及びθｉの定義を示す３つのそれぞれの関節の図である。
【図５】本発明による、ロボット末端効果器上のツール・フレームを表す変換フレームのデカルト座標位置とオイラー角規約例の図である。
【図６】球の表面上の点から球の中心を通る平面の式を見出すための基本原理の図である。
【図７】傾きの角とこの傾き角の回転軸を示す基準平板に直角なベクトルの図である。
【図８】図８Ａは、公称モデル・パラメータと、本発明に従って決定された最適化モデル・パラメータとについての、デカルト座標における計算された球の中心位置を示す散布図である。図８Ｂは、公称モデル・パラメータと、本発明に従って決定された最適化モデル・パラメータとについての、デカルト座標における計算された球の中心位置を示す散布図である。図８Ｃは、公称モデル・パラメータと、本発明に従って決定された最適化モデル・パラメータとについての、デカルト座標における計算された球の中心位置を示す散布図である。
【図９】公称モデル・パラメータ値を使用した（最適化なし）、平均中心位置の周りの中心位置の散布図である。
【図１０】本発明による、モデル・パラメータの完全な組に対する最適化の結果としての中心位置の散布図である。
【図１１】本発明による、モデル・パラメータの部分的な組に対する最適化の結果としての中心位置の散布図である。
【図１２】関節の回転角の関数としてのダイアル・インジケータの変位を用いた、取付け機構基準平板面の面外測定値のプロットの図である。
【図１３】関節の回転角の関数としてのダイアル・インジケータの変位を用いた、ロボットの取付け機構円筒の軸方向変位のプロットの図である。
【図１４】ロボットのＺ方向での移動の関数としてのダイアル・インジケータの変位を用いた、取付け機構フレームのねじれを測定する基準平板の縁沿いの変位のプロットの図である。
【図１５】補正後の図１２の取付け機構基準平板面の面外測定値のプロットの図である。
【図１６】補正後の図１３の取付け機構円筒の軸方向変位のプロットの図である。
【図１７】補正後の図１４の取付け機構フレームのねじれを測定する基準平板の縁沿いの変位のプロットの図である。
【図１８】２つの異なる姿勢における変位測定装置の概略図である。
【図１９】２つの姿勢における図１８の変位測定装置の出力を示す、変位測定装置出力対変位のプロット例の図である。
【図２０】本発明による、６つの回転関節と、それらに接続され、また２つの基準物体を使用する構成可能な変位測定ツールとを有する、６軸電動自動ロボットを示す概略図である。
【図１】
2008522836.tif 000048
【図２】
2008522836.tif 000049
【図３Ａ】
2008522836.tif 000050
【図３Ｂ】
2008522836.tif 000051
【図４】
2008522836.tif 000052
【図５】
2008522836.tif 000053
【図６】
2008522836.tif 000054
【図７】
2008522836.tif 000055
【図８】
2008522836.tif 000056
【図９】
2008522836.tif 000057
【図１０】
2008522836.tif 000058
【図１１】
2008522836.tif 000059
【図１２】
2008522836.tif 000060
【図１３】
2008522836.tif 000061
【図１４】
2008522836.tif 000062
【図１５】
2008522836.tif 000063
【図１６】
2008522836.tif 000064
【図１７】
2008522836.tif 000065
【図１８】
2008522836.tif 000066
【図１９】
2008522836.tif 000067
【図２０】
2008522836.tif 000068
【国際調査報告】
2008522836.tif 000069
2008522836.tif 000070