(57)【要約】      （修正有）【課題】シミュレーション用ロボットに対して用いられる最適な誤差パラメータおよびその値を同定できるようにする。【解決手段】シミュレーション用ロボットの複数の代表的な姿勢からなるチューニングパス候補を作成し、このチューニングパス候補を基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を演算し、その誤差を小さくするために必要な誤差パラメータとその値とを演算し、誤差が大きいと評価された評価パスに対して影響度の大きな誤差パラメータを選定し、選定した誤差パラメータを微小変動させた場合に、シミュレーション用ロボットのロボット機構モデルの動きに大きな影響を与えるチューニングパス候補の中から選定し、選定した誤差パラメータを追加し、選定したチューニングパスに対して誤差を演算する段階からチューニングパス姿勢を選定する段階までの処理を繰り返す。【選択図】図２
2004326732.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーション用ロボットの複数の代表的な姿勢からなるチューニングパス候補を作成するチューニングパス候補作成段階と、
作成されたチューニングパス候補を、基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を演算する誤差演算段階と、
前記誤差を小さくするために必要な誤差パラメータと当該誤差パラメータの値とを演算する誤差パラメータ演算段階と、
前記シミュレーション用ロボットの前記チューニングパス候補とは異なる複数の姿勢からなる評価パスを、演算された誤差パラメータと当該誤差パラメータの値を加味して前記基準ロボットのロボット機構モデルと前記シミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を評価する誤差評価段階と、
前記誤差が大きいと評価された評価パス姿勢に対して、誤差パラメータを微小変動させた場合に、前記シミュレーション用ロボットのロボット機構モデルの動きに与える影響度の大きな誤差パラメータを選定する誤差パラメータ選定段階と、
前記シミュレーション用ロボットのロボット機構モデルの動きに大きな影響を与えるチューニングパス姿勢を、選定した誤差パラメータの影響度が大きいチューニングパス候補の中から選定するチューニングパス姿勢選定段階と、
選定した誤差パラメータを追加し、選定したチューニングパス姿勢に対して前記誤差演算段階から前記チューニングパス姿勢選定段階までの処理を繰り返す誤差パラメータ同定段階と、
を含むことを特徴とするシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項２】
前記チューニングパス候補作成段階は、
前記ロボットを構成する各軸の動作レンジと当該動作レンジの分割数を入力する段階と、
前記各軸の動作レンジを前記分割数で分割して指定角を演算する段階と、
各軸の指定角を組み合わせて前記チューニングパスの候補を作成する段階と、
を含むことを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項３】
前記チューニングパスの候補を作成する段階は、
各軸１度使用した指定角は使用せずに複数の姿勢を作成する段階と、
作成した複数の姿勢から前記周辺設備との干渉が予想される姿勢を除外する段階と、
を含むことを特徴とする請求項２に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項４】
前記誤差演算段階では、最初、すべての誤差パラメータの値が０に設定されることを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項５】
両ロボット機構モデル間の誤差は、両ロボット機構モデルの手先位置に基づいて演算することを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項６】
前記チューニングパス候補作成段階から前記誤差パラメータ演算段階までの間に、それぞれの誤差パラメータを微小変動させた場合の、各チューニングパス姿勢および各評価パス姿勢における前記シミュレーション用ロボットのロボット機構モデルの動きに与える影響度を演算する影響度演算段階をさらに有し、
誤差パラメータ演算段階では、当該影響度に基づいて必要な誤差パラメータと当該誤差パラメータの値とを演算することを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項７】
前記影響度演算段階は、
それぞれの誤差パラメータの値を微小変動させた場合に、前記シミュレーション用ロボットのロボット機構モデルの動きの変化量をそれぞれのチューニングパス姿勢および評価パス姿勢について演算する段階と、
前記変化量の最大値を誤差パラメータごとに抽出する段階と、
抽出した誤差パラメータごとの最大値でそれぞれの誤差パラメータの変化量を割ることにより前記影響度を演算する段階と、
を含むことを特徴とする請求項６に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項８】
前記評価パスは、過去の生産に使用された姿勢、現在の生産に使用されている姿勢、または将来の生産に使用されるであろう姿勢のいずれかであることを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項９】
前記誤差パラメータ選定段階は、
前記誤差が大きいと評価された評価パス姿勢に対して、それぞれの誤差パラメータの値を微小変動させた場合の、前記シミュレーション用ロボットのロボット機構モデルの動きに与える影響度を演算する段階と、
前記影響度の平均値を誤差パラメータごとに演算する段階と、
前記平均値の最も大きな誤差パラメータを抽出する段階と、
を含むことを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【請求項１０】
前記誤差パラメータ同定段階は、
前記誤差評価段階において両ロボット機構モデル間の誤差が目標値に入るまで前記誤差演算段階から前記チューニングパス姿勢選定段階までの処理を繰り返すことを特徴とする請求項１に記載のシミュレーション用ロボットの誤差パラメータ同定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実機ロボットとシミュレーション用ロボットとの間の誤差を補正するために、シミュレーション用ロボットに対して用いる誤差パラメータの同定方法に関する。
【背景技術】
【０００２】
近年、ロボットの動作確認はシミュレーションにより行われることが多くなった。シミュレーションは、ロボットとワーク・治具を含めた周辺設備との三次元モデルをグラフィックディスプレイ上に表示し、それらの配置を検討したり、ロボットの作業性・到達性・干渉の有無・サイクルタイムなどの観点から設備の成立性を検討したり、ロボットの動作プログラムを作成したりするために行われる。
【０００３】
シミュレーションにおいてディスプレイ上に配置されるロボットや周辺設備は、すべて設計データであるＣＡＤデータに基づいて作成されるため、実際にライン上に配置されるロボットや周辺設備とは必ずしも一致しない。たとえば、実機ロボットの設置位置がディスプレイ上のロボットの設置位置とは一致しない場合があり、同様に、ロボットのツール形状や周辺設備の設置位置、形状も一致しない場合がある。さらに、細かい部分では、ロボットのアームの位置を検出するエンコーダーのゼロ点位置のずれやワーク把持時のアームの撓みの影響によって、シミュレーション時の教示位置に誤差が生じることもある。
【０００４】
以上のことから、シミュレーションによって動作するロボットの動きと実機のロボットの動きは若干異なってしまう。このため、従来、下記特許文献１に示されるように、シミュレーションによって作成された教示データに基づいてディスプレイ上のロボットと実機のロボットとを動かして両ロボットの動きの誤差を測定し、測定された誤差がなくなるようにディスプレイ上のロボットの動きを補正することによって、ディスプレイ上のロボットが実機のロボットと同じ動きになるようにしている。
【特許文献１】特開２００２−３６１５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のような従来の方法において、シミュレーション時のロボットと実機のロボットとの間に生じている手先位置誤差を小さくするためには、その誤差の縮小化に有意性のある誤差パラメータをより多くのロボット機構モデルに対して用意しておく必要がある。
【０００６】
ところが、誤差パラメータの選定は人間の勘と経験により行われるため、有意性のない誤差パラメータを選定してしまうことがあり、簡単には誤差を小さくすることができない。また、パラメータの数やロボット機構モデルが多くなると、誤差の縮小化の検証にかかる作業時間が指数関数的に長くなってしまう。
【０００７】
さらに誤差パラメータの同定は、入力となる姿勢データ群に対して手先位置誤差の総和が最小になるように行われるが、同定の入力姿勢からかけ離れた姿勢で手先位置を評価すると、必ずしも良い精度が得られない。また、精度を向上するためにより多くの入力姿勢を与えると、事前の測定時間がかかりすぎる。
【０００８】
本発明は、以上のような従来の技術の問題点を解消するために成されたものであり、実機ロボットとシミュレーション用ロボットとの間の誤差を補正するためにシミュレーション用ロボットに対して用いられる最適な誤差パラメータを同定することが可能な、シミュレーション用ロボットの誤差パラメータ同定方法の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決し、目的を達成するため、本発明にかかるシミュレーション用ロボットの誤差パラメータ同定方法は、シミュレーション用ロボットの複数の代表的な姿勢からなるチューニングパス候補を作成し、作成されたチューニングパス候補を、基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を演算し、前記誤差を小さくするために必要な誤差パラメータと当該誤差パラメータの値とを演算し、前記シミュレーション用ロボットの前記チューニングパス候補とは異なる複数の姿勢からなる評価パスを、演算された誤差パラメータと当該誤差パラメータの値を加味して前記基準ロボットのロボット機構モデルと前記シミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を評価し、前記誤差が大きいと評価された評価パス姿勢に対して、誤差パラメータを微小変動させた場合に、前記シミュレーション用ロボットのロボット機構モデルの動きに与える影響度の大きな誤差パラメータを選定し、前記シミュレーション用ロボットのロボット機構モデルの動きに大きな影響を与えるチューニングパス姿勢を、選定した誤差パラメータの影響度が大きいチューニングパス候補の中から選定し、選定した誤差パラメータを追加し、選定したチューニングパス姿勢に対して前記誤差演算段階から前記チューニングパス姿勢選定段階までの処理を繰り返すことを特徴とする。
【発明の効果】
【００１０】
本発明のシミュレーション用ロボットの誤差パラメータ同定方法によれば、誤差パラメータおよびその値は、基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとの間に生じた誤差に基づいて自動的に選定されるので、有意性のない誤差パラメータが選定されてしまうことはなく、シミュレーション用ロボットの動きを現場のロボットの動きに容易に近づけることができるようになる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明にかかるシミュレーション用ロボットの誤差パラメータ同定方法における最良の実施の形態を詳細に説明する。
【００１２】
図１は、本発明にかかる方法を実行するロボット設備の概略構成を示すブロック図である。
【００１３】
ロボット設備は、ロボット１０、コントローラ２０、端末装置３０、ディスプレイ４０、ＣＡＤ装置５０から構成される。ロボット設備は、シミュレーションを行ってシミュレーション用ロボットに数多くの誤差パラメータを設定したり、誤差パラメータ値を同定したり、教示データを作成したり、その教示データに基づいてロボット１０をプレイバック動作させたりする。
【００１４】
ロボット１０は、生産現場に実際に配置されているたとえば６軸の実機ロボットである。コントローラ２０は、ロボット１０に対応するシミュレーション用ロボットの誤差パラメータの設定、その誤差パラメータの値の同定、シミュレーションによるロボット１０の教示データの作成、作成した教示データを用いたロボット１０のプレイバック動作などを行う。コントローラ２０には、基準ロボットのロボット機構モデル、シミュレーション用ロボットのロボット機構モデル、それぞれのロボット機構モデルに固有の誤差パラメータ、誤差パラメータの値、評価パスが記憶されている。
【００１５】
ここで、基準ロボットとは、ディスプレイ上で動く仮想のロボットであり、実際に現場で動作している実機ロボットに限りなく近い動きをするようにキャリブレーションが行われたロボットである。また、シミュレーション用ロボットとは、基準ロボットと同様にディスプレイ上で動く仮想のロボットであり、現場に配置された実機のロボットに近い動きをさせるためのロボットである。シミュレーションを行う際には基準ロボットの機種とシミュレーション用ロボットの機種は同一の機種とする。本発明方法では、シミュレーション用ロボットの動きが基準ロボットの動きと同じくなるように、使用する誤差パラメータとその誤差パラメータの値を決めるが、前述のように、基準ロボットは実際に現場で動作している実機ロボットに限りなく近い動きをするロボットであるので、シミュレーション用ロボットの動きを基準ロボットの動きにあわせると、結果的にシミュレーション用ロボットの動きが実際に現場で動作している実機ロボットの動きに近いものとなる。
【００１６】
端末装置３０は、本発明方法の処理に必要な操作を行ったり、ロボット１０のプレイバック動作を指示したりする。ディスプレイ４０は、基準ロボットとシミュレーション用ロボットを表示したり、ロボット１０のプレイバック動作に必要な指示内容を表示したりする。ＣＡＤ装置５０は、ロボット１０、ロボット１０の構成要素（アーム、ハンド）の形状データ、配置データ、ロボット１０が配置される現場の周辺設備の形状データ、配置データを記憶している。したがって、ＣＡＤ装置５０のこれらのデータはシミュレーション用ロボットのシミュレーションを行うときにコントローラ２０によって使用される。
【００１７】
図２は、本発明にかかるシミュレーション用ロボットの誤差パラメータ同定方法の手順を示すメインフローチャートである。本発明にかかる方法はコントローラ２０によって実行される。まず、図２に基づいて本発明にかかる方法の概略の処理手順を説明する。
【００１８】
最初に、シミュレーション用ロボットの複数の代表的な姿勢からなるチューニングパス候補を作成する。このチューニングパス候補は、端末装置３０を操作することによって行われ、たとえばｍ個のシミュレーション用ロボットの姿勢が作成される。シミュレーション用ロボットはさまざまな姿勢をとることができるが、その姿勢のうちの代表的な姿勢（ロボット１０が行う作業で使用されそうな姿勢）を作成する（Ｓ１０）。
【００１９】
次に、作成されたチューニングパス候補のそれぞれの姿勢について、シミュレーション用ロボットを構成するそれぞれのアームを微小量動かしたときにそのシミュレーション用ロボットの手先位置にどの程度の影響を与える（影響度）のかを算出する。すなわち、それぞれの誤差パラメータの微小変動が各チューニングパス姿勢の動きに与える影響度を演算する（Ｓ２０）。そして、シミュレーション用ロボットの誤差パラメータを同定するために使用するチューニングパス姿勢を作成する（最初は姿勢数０で初期化する）（Ｓ２５）。
【００２０】
次に、作成されたチューニングパス候補を、代表的な特性を有する基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとに適用して、両ロボット機構モデル間の誤差を演算し、作成されたチューニングパス候補とは異なる、シミュレーション用ロボットの複数の姿勢からなる評価パスを、求められた誤差を加味して、前記基準ロボットのロボット機構モデルと前記シミュレーション用ロボットのロボット機構モデルとに適用し、両ロボット機構モデル間の誤差を評価する（Ｓ３０）。
【００２１】
チューニングパスの評価において算出された評価値が、あらかじめ設定されている目標最大誤差以内にあるか否かを判断し（Ｓ４０）、目標最大誤差以内にあれば（Ｓ４０：ＹＥＳ）、ロボットキャリブレーションを実行する処理に移行し、目標最大誤差以内になければ（Ｓ４０：ＮＯ）、誤差パラメータの影響を大きく受ける評価値の大きい姿勢に対して影響度の大きい誤差パラメータを選定し、選定した誤差パラメータの影響度が大きいチューニングパス姿勢をチューニングパスに追加する（Ｓ５０）。
【００２２】
なお、上記の手順では、チューニングパス候補の作成（Ｓ１０）や、各チューニングパスにおける誤差パラメータ候補姿勢の影響度の算出（Ｓ２０）を、チューニングパスの評価（Ｓ３０）を行う前に実施しているが、Ｓ１０、Ｓ２０の処理は、Ｓ３０の処理と並行して行うようにしても良い。
【００２３】
図３は、図２に示したＳ１０の詳細な処理手順を示すフローチャートである。このフローチャートはチューニングパス候補作成段階を構成するものである。この手順の内容を図４及び図５を参照しながら詳細に説明する。
【００２４】
作業者は、端末装置３０から動作レンジの分割数ｍを入力する（Ｓ１１）。さらに、各軸の動作レンジ（ｍｉｎ、ｍａｘ）を入力する（Ｓ１２）。たとえば、図４に示すように、軸ＪＶ１〜軸ＪＶ６までが図に示すような動作レンジを動くことができるときには、それぞれの軸の動作レンジの最小値と最大値を入力する。
【００２５】
コントローラ２０は、入力された分割数ｍで各軸の動作レンジを図４に示すように分割して指定角を演算する（Ｓ１３）。コントローラ２０は、各軸の指定角を組み合わせてチューニングパスの候補である初期の姿勢行列を作成する（Ｓ１４）。たとえば、図４に示すように、軸ＪＶ１が姿勢３の位置、軸ＪＶ２が姿勢４の位置、軸ＪＶ３が姿勢２の位置、軸ＪＶ４が姿勢７の位置、軸ＪＶ５が姿勢６の位置、軸ＪＶ６が姿勢８の位置に設定される場合を１つのチューニングパスの候補とすると、初期の姿勢行列は、図５に示すような姿勢行列となる。
【００２６】
コントローラ２０は、ＣＡＤ装置５０から、ロボット１０、ロボット１０の構成要素（アーム、ハンド）の形状データ、配置データ、ロボット１０が配置される現場の周辺設備の形状データ、配置データを取り出し、作成した姿勢行列の姿勢で、そのシミュレーション用ロボットが周辺設備と干渉するか否かをチェックする（Ｓ１５）。その初期の姿勢で周辺設備との干渉を起こさなければ（Ｓ１６：ＮＯ）、各軸の指定角の組み合わせを変更して次の姿勢行列を作成する。なお、姿勢行列は、各軸１度使用した指定角は使用せずにシミュレーション用ロボットの複数の姿勢を作成する（Ｓ１７）。たとえば、初期の姿勢で使用された動作レンジは除いて、図５に示すような、次の姿勢行列（軸ＪＶ１が指定角４の位置、軸ＪＶ２が指定角３の位置、軸ＪＶ３が指定角１の位置、軸ＪＶ４が指定角６の位置、軸ＪＶ５が指定角５の位置、軸ＪＶ６が指定角６の位置に設定される）を作成する。この作成された姿勢もＳ１５の処理で周辺設備との干渉がチェックされる。
【００２７】
各軸の動作レンジをｍ分割しているので、指定角の組み合わせの数としては非常に多くの組み合わせが作成できるが、本実施の形態の場合、それぞれの軸で同一の指定角を使用しないようにし、また、周辺設備と干渉が予想される姿勢は除き、実際に作業に使用される可能性のある姿勢の中から代表的なものを選択し、最終的に得られる姿勢の数としてｍ（具体的な数としては１０から２０位）になるようにしている。代表的な姿勢の選択を行うアルゴリズムは、一般的に用いられている遺伝的アルゴリズム、最適化アルゴリズムを用いる。つまり、図３のフローチャートが実行されることによって、最終的に、周辺設備と干渉することのないチューニングパス候補がｍ個選択されることになる。
【００２８】
図６は、図２に示したＳ２０の詳細な処理手順を示すフローチャートである。このフローチャートは影響度演算段階を構成するものである。この手順の内容を、図７〜図９を参照しながら詳細に説明する。
【００２９】
チューニングパス候補がｍ個作成されると、次に、コントローラ２０は、シミュレーション用ロボットのロボット機構モデルに各チューニングパス候補の姿勢を適用し、シミュレーション用ロボットの誤差パラメータ（ｑ１〜ｑｎ）が微小変動したときの手先位置の変位量を算出する（Ｓ２１）。シミュレーション用ロボットの誤差パラメータ（ｑ１〜ｑｎ）には最適な値を選定し、あらかじめテーブルとして用意しておく。なお、シミュレーション用ロボットの誤差パラメータを微小変位させるということは、シミュレーション用ロボットにある姿勢をさせておいて、１つの軸だけをその軸の動作可能方向に微小距離動かすということである。図７に示すように、ｍ個のチューニングパス候補の姿勢がそれぞれＸ１〜Ｘｍであるとし、各チューニングパス姿勢に対してシミュレーション用ロボットの誤差パラメータｑ１〜ｑｎを微小変動させると、その微小変動に対して手先位置が変わる。たとえば、シミュレーション用ロボットの誤差パラメータｑ１を微小変動させたときには、チューニングパス姿勢Ｘ１が０．５３、チューニングパス姿勢Ｘ２が２．５６、チューニングパス姿勢Ｘ３が３．５２、チューニングパス姿勢Ｘｍが１．０１となる。また、シミュレーション用ロボットの誤差パラメータｑｎを微小変動させたときには、チューニングパス姿勢Ｘ１が１．２３、チューニングパス姿勢Ｘ２が３．０１、チューニングパス姿勢Ｘ３が３．６７、チューニングパス姿勢Ｘｍが１．２５となる。
【００３０】
次に、コントローラ２０は、各誤差パラメータに対して変位量の最大値を求める（Ｓ２２）。上記のように、シミュレーション用ロボットの誤差パラメータｑ１〜ｑｎを微小変動させてシミュレーション用ロボットの手先位置の変位量を各チューニングパス候補の姿勢について求めた数値が図８に示すようなものであったとすると、シミュレーション用ロボットの誤差パラメータｑ１に対する手先位置の変位量の最大値が３．５２、ｑ２に対するそれが３．２１、ｑ３に対するそれが２．４１、ｑｎに対するそれが３．６７となる。
【００３１】
そして、コントローラ２０は、各誤差パラメータの変位量の最大値に基づいてそれぞれの変位量を正規化する（Ｓ２３）。この正規化は次のようにして行われる。たとえば、シミュレーション用ロボットの誤差パラメータｑ１に対する手先位置の変位量の最大値が５．００であったとすると、シミュレーション用ロボットの誤差パラメータｑ１に対する各チューニングパス姿勢Ｘ１〜Ｘｍの手先位置の変位量をこの５．００で割る。また、シミュレーション用ロボットの誤差パラメータｑ２に対する手先位置の変位量の最大値が４．００であったとすると、シミュレーション用ロボットの誤差パラメータｑ２に対する各チューニングパス姿勢Ｘ１〜Ｘｍの手先位置の変位量をこの４．００で割る。シミュレーション用ロボットの誤差パラメータｑ３以降も同様に、各誤差パラメータの手先位置の変位量の最大値で各誤差パラメータの手先位置の変位量を割る。
【００３２】
この正規化を行うと、たとえば、図９に示すように、各誤差パラメータの手先位置の変位に与える影響の大きさがチューニングパス姿勢ごとに数値化されることになる。正規化された数値は影響度を表している。たとえば、シミュレーション用ロボットの誤差パラメータｑ１は、チューニングパス姿勢Ｘ３に対してシミュレーション用ロボットの手先位置の変位に大きく影響を与えるが、チューニングパス姿勢Ｘ１に対してはあまり影響しないことがわかる。
【００３３】
図１０は、図２に示したＳ３０の詳細な処理手順を示すフローチャートである。このフローチャートは誤差パラメータ演算段階と誤差評価段階を構成するものである。この手順の内容を、図１１を参照しながら詳細に説明する。
【００３４】
まず、コントローラ２０は、シミュレーション用ロボットのチューニングパスを初期化する。つまり、すべての誤差パラメータの値を０に設定する（Ｓ３１）。次に、コントローラ２０は、このチューニングパスを基準ロボットとシミュレーション用ロボットに適用して両ロボットを動作させる（Ｓ３２）。コントローラ２０内には、図１１に示すように、基準ロボットのロボット機構モデルが存在する。ここで、基準ロボットとは、実際に現場で動作している実機ロボットに限りなく近い動きをするようにキャリブレーションが行われたロボットである。また、シミュレーション用ロボットとは、現場に配置された実機のロボット１０に近い動きをさせるためのＡ号機のロボットである。基準ロボットの機種とＡ号機のロボットの機種は同一の機種である。
【００３５】
コントローラ２０は、チューニングパスを用いて動作させた結果から、基準ロボットに対するＡ号機ロボットの手先位置誤差を求める（Ｓ３３）。つまり、シミュレーションによって動作させた、基準ロボットの手先位置とシミュレーション用ロボットであるＡ号機のロボットの手先位置との誤差を求める。そして、コントローラ２０は、この誤差を小さくするために必要な誤差パラメータと誤差パラメータの値とを演算し、自身が有している記憶装置に記憶させる（Ｓ３４）。
【００３６】
以上までの処理で、チューニングパスを基準ロボットに適用した場合の手先位置とそれをシミュレーション用ロボットであるＡ号機のロボットに適用した場合の手先位置と、両ロボット間の手先位置の誤差が求められる。簡単に言うと、ある姿勢を取らせた時に、シミュレーション用ロボットが現場に配置されている実機のロボットに対してどの程度の誤差を持っているかがわかる。なお、Ｓ３２とＳ３３のステップの処理は誤差演算段階を、Ｓ３４のステップの処理は誤差パラメータ演算段階をそれぞれ構成する。
【００３７】
さらに、コントローラ２０は、図１１に示すように、シミュレーション用ロボットのチューニングパスとは異なる複数の姿勢からなる評価パスを、演算された誤差パラメータの値を加味して基準ロボットのロボット機構モデルとシミュレーション用ロボットのロボット機構モデルとに適用して両ロボットを動作させる（Ｓ３５）。評価パスは、過去の生産に使用された姿勢、現在の生産に使用されている姿勢、または将来の生産に使用されるであろう姿勢のいずれかである。コントローラ２０は、評価パスを用いて動作させた結果から、基準ロボットに対するＡ号機ロボットの手先位置誤差を求める（Ｓ３６）。本来は、チューニングパスにより基準ロボットとシミュレーション用ロボットであるＡ号機のロボットが全く同じ手先位置となる誤差を勘案しているのであるから、その誤差を用いてＡ号機のロボットを動かす限り、基準ロボットの手先位置と全く同じくなるはずである。ところが、シミュレーション用ロボットの姿勢が異なると手先位置が微妙に異なってくる。コントローラ２０は、評価パスに対する手先位置誤差の最大値を評価値とする（Ｓ３７）。
【００３８】
図１２は、図２に示したＳ５０の詳細な処理手順を示すフローチャートである。このフローチャートは誤差パラメータ選定段階、チューニングパス姿勢選定段階を構成するものである。この手順の内容を図１３から図１８を参照しながら詳細に説明する。
【００３９】
コントローラ２０は、図２のＳ４０のステップにおいて、評価値が目標最大誤差を超えると評価された評価パス姿勢を取り出す（Ｓ５１）。その評価パス姿勢が３個である場合、たとえば図１３に示すように、ＸＴ１、ＸＴ２、ＸＴ３とする。次に、コントローラは、取り出した評価パス姿勢において、シミュレーション用ロボットの誤差パラメータ（ｑ１〜ｑｎ）が微小変動したときの手先位置の変位量を算出する。この処理は、図６のＳ２１の処理と同一の処理である（Ｓ５２）。そして、図１４に示すように、各誤差パラメータの変化量を正規化して影響度を求める。この処理は図６のＳ２３の処理とほぼ同一の処理である（Ｓ５３）。さらに、コントローラ２０は、図１５に示すように、各誤差パラメータに対して影響度の平均値を求める。この平均値は、すべての評価パス姿勢（Ｘ１〜ＸＴ３）に対する平均値である（Ｓ５４）。
【００４０】
次に、コントローラ２０は、影響度の平均値が大きいシミュレーション用ロボットの誤差パラメータを３つ選択する。たとえば、図１６に示すように、影響度の平均値の大きいものは、０．７４、０．３７、０．２であるので、シミュレーション用ロボットの誤差パラメータとしては、ｑ３、ｑ１、ｑｎが選択される（Ｓ５５）。
【００４１】
コントローラ２０は、図２のＳ１０の処理で求めたｍ個のチューニングパス候補の中から、選定した誤差パラメータの同定に適したチューニングパス姿勢を選択する。この選択は、ワークスペース内のチューニングパス候補において誤差パラメータの影響度が高いチューニングパス候補から検索を開始し、その誤差パラメータに関係する関節角度分布（チューニングパス内の姿勢に対する分布）度数の少ない区分に入るチューニングパス姿勢を選定することによって行う。たとえば、影響度の平均値が最も大きいシミュレーション用ロボットの誤差パラメータはｑ３であったので、この誤差パラメータｑ３が最も影響を与えるチューニングパス姿勢を選択すると、図９に示すようにＸｍであるから、このチューニングパス姿勢Ｘｍを、図１８に示すように、チューニングパスに加える。さらに、影響度の平均値が次に大きいシミュレーション用ロボットの誤差パラメータはｑ１であったので、この誤差パラメータｑ１が最も影響を与えるチューニングパス姿勢を選択すると、Ｘ３であるから、この姿勢Ｘ３を、図１８に示すように、チューニングパスに加える。
【００４２】
このように、誤差の大きな評価パスを判定し、その評価パスの動きに大きな影響を与える誤差パラメータを求め、その誤差パラメータに対して影響度の大きなチューニングパス姿勢を再度チューニングパスに加え、さらに、評価パスに大きな影響を与える誤差パラメータを加えると、シミュレーション用ロボットがどのような姿勢を取った場合でも、その姿勢における手先位置の誤差を小さくするための誤差パラメータの値が作成されることになるので、基準ロボット、換言すれば実機のロボットに対して誤差のない動きが再現できるようになり、プレイバック時にその姿勢における手先位置の誤差を最小化することができる。
【００４３】
以上のように、あるチューニングパスで同定したシミュレーション用ロボットのモデルを評価し、精度の悪い姿勢を判定し、その姿勢での手先位置の精度に最も影響を与えるシミュレーション用ロボットの誤差パラメータを選定できるようにしたので、その誤差パラメータの最適な値を設定することによって確実にシミュレーション用ロボットの手先位置誤差を小さくすることができる。また、目標精度を達成する必要最小限の数の誤差パラメータが選定されるため、その誤差パラメータを同定するための姿勢の数も少なくてよくなり、現場での計測作業が容易になる。
【００４４】
また、あらかじめシミュレーション用ロボットのワークスペース内において取り得るさまざまな姿勢を作成しておき、この中からシミュレーション用ロボット誤差パラメータを同定するために適した姿勢を選択するようにしたので、その誤差パラメータに起因する誤差を確実に小さくすることができる。本発明の方法で作成するチューニングパスはシミュレーション用ロボットの誤差パラメータを同定するために必要な最低限の数の姿勢としているので、現場での計測時間を短縮できる。
【００４５】
さらに、さまざまな姿勢における手先位置に誤差パラメータが与える影響度を算出し、誤差パラメータとそれらの姿勢との関係を行列式として作成するようにしたので、誤差パラメータが各姿勢で手先位置に与える影響度を定量化することができ、その姿勢で誤差を補正するための最適な誤差パラメータを選定することができる。また、シミュレーション用ロボットの誤差パラメータを同定するための姿勢をすばやく求めることができる。
【００４６】
さらに、シミュレーション用ロボットが各軸の可動範囲内にあり、周辺設備と干渉しない任意の姿勢行列を生成できるようにしたので、干渉を確認するための人間の作業が不要になる。
【産業上の利用可能性】
【００４７】
シミュレーション用ロボットの動きを現場のロボットの動きに容易に近づけるための技術として利用できる。
【図面の簡単な説明】
【００４８】
【図１】本発明にかかる方法を実施するロボット制御装置の概略構成を示すブロック図である。
【図２】本発明にかかるロボットの誤差パラメータの作成方法の処理手順を示すメインフローチャートである。
【図３】図２に示したＳ１０の詳細な処理手順を示すフローチャートである。
【図４】図３のフローチャートの処理手順の説明に供する図である。
【図５】図３のフローチャートの処理手順の説明に供する図である。
【図６】図２に示したＳ２０の詳細な処理手順を示すフローチャートである。
【図７】図６のフローチャートの処理手順の説明に供する図である。
【図８】図６のフローチャートの処理手順の説明に供する図である。
【図９】図６のフローチャートの処理手順の説明に供する図である。
【図１０】図２に示したＳ３０の詳細な処理手順を示すフローチャートである。
【図１１】図１０のフローチャートの処理手順の説明に供する図である。
【図１２】図１２は、図２に示したＳ５０の詳細な処理手順を示すフローチャートである。
【図１３】図１２のフローチャートの処理手順の説明に供する図である。
【図１４】図１２のフローチャートの処理手順の説明に供する図である。
【図１５】図１２のフローチャートの処理手順の説明に供する図である。
【図１６】図１２のフローチャートの処理手順の説明に供する図である。
【図１７】図１２のフローチャートの処理手順の説明に供する図である。
【図１８】図１２のフローチャートの処理手順の説明に供する図である。
【符号の説明】
【００４９】
１０    ロボット、
２０    コントローラ、
３０    端末装置、
４０    ディスプレイ、
５０    ＣＡＤ装置。
【図１】
2004326732.tif 000003
【図２】
2004326732.tif 000004
【図３】
2004326732.tif 000005
【図４】
2004326732.tif 000006
【図５】
2004326732.tif 000007
【図６】
2004326732.tif 000008
【図７】
2004326732.tif 000009
【図８】
2004326732.tif 000010
【図９】
2004326732.tif 000011
【図１０】
2004326732.tif 000012
【図１１】
2004326732.tif 000013
【図１２】
2004326732.tif 000014
【図１３】
2004326732.tif 000015
【図１４】
2004326732.tif 000016
【図１５】
2004326732.tif 000017
【図１６】
2004326732.tif 000018
【図１７】
2004326732.tif 000019
【図１８】
2004326732.tif 000020