(57)【要約】 【課題】ロボットの各軸値による教示に対してもロボットの位置決めを精度高く制御することができるロボット制御装置を提供する。【解決手段】制御部１１は、入力部１３によって入力された教示データがロボット２０の各駆動軸の回転量を示す各軸値のとき、その各軸値を順変換して、直交座標系におけるロボット２０のアーム先端の位置およびロボット２０の姿勢を示す位置姿勢値である変換指令値を求める。次にロボット２０の固有の誤差に基づいて、求めた変換指令値を補正する。さらに補正した変換指令値を、各軸値に逆変換し、逆変換した各軸値をロボット２０のアクチュエータ２１に指示する。ロボット２０の固有の誤差は、たとえばたわみ、加工誤差、および組立誤差などに基づく機構誤差、据付誤差、ならびに各軸原点誤差である。【選択図】      図１
2006159361.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアームの各駆動軸の回転量を示す各軸値を入力する入力手段と、
前記入力手段によって入力された各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換する順変換手段と、
前記順変換手段によって順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正手段と、
前記補正手段によって補正された位置姿勢値を、各軸値に逆変換する逆変換手段と、
前記逆変換手段によって逆変換された各軸値をロボットに指示する指示手段とを含むことを特徴とするロボット制御装置。
【請求項２】
前記入力手段は、位置姿勢値をさらに入力し、
前記補正手段は、前記入力手段によって入力された位置姿勢値および前記順変換手段によって順変換された位置姿勢値のうちのどちらか１つを、予め定められた条件によって選択して補正することを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
ロボットが計測した各駆動軸の各軸値を取得する取得手段と、
前記取得手段によって取得された各軸値を位置姿勢値に順変換し、順変換した位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正する逆補正手段と、
前記逆補正手段によって補正された位置姿勢値を出力する出力手段とをさらに含むことを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記逆補正手段によって補正された位置姿勢値を、前記各軸値に逆変換する第２の逆変換手段をさらに含み、
前記出力手段は、前記第２の逆変換手段によって逆変換された各軸値をさらに出力することを特徴とする請求項３に記載のロボット制御装置。
【請求項５】
ロボットのアームの各駆動軸の回転量を示す各軸値と、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値とを入力する入力手段と、
前記入力手段によって入力された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正手段と、
前記補正手段によって補正された位置姿勢値を、各軸値に逆変換する逆変換手段と、
前記入力手段によって入力された各軸値および前記逆変換手段によって逆変換された各軸値のうちのどちらか１つを、予め定められた条件によって選択してロボットに指示する指示手段とを含むことを特徴とするロボット制御装置。
【請求項６】
前記入力手段によって入力された各軸値を、位置姿勢値に順変換する順変換手段をさらに含み、
前記補正手段は、前記入力手段によって入力された位置姿勢値および前記順変換手段によって順変換された位置姿勢値のうちのどちらか１つを、予め定められた条件によって選択して補正することを特徴とする請求項５に記載のロボット制御装置。
【請求項７】
ロボットが計測した各駆動軸の各軸値を取得する取得手段と、
前記取得手段によって取得された各軸値を出力する出力手段とをさらに含むことを特徴とする請求項５または６に記載のロボット制御装置。
【請求項８】
前記取得手段によって取得された各軸値を位置姿勢値に順変換し、順変換した位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正する逆補正手段をさらに含み、
前記出力手段は、前記逆補正手段によって補正された位置姿勢値をさらに出力することを特徴とする請求項７に記載のロボット制御装置。
【請求項９】
前記逆補正手段によって補正された位置姿勢値を、各軸値に逆変換する第２の逆変換手段をさらに含み、
前記出力手段は、前記第２の逆変換手段によって逆変換された各軸値をさらに出力することを特徴とする請求項８に記載のロボット制御装置。
【請求項１０】
前記取得手段によって取得された各軸値を記憶する記憶手段をさらに含み、
前記指示手段は、前記入力手段によって入力された各軸値および前記記憶手段に記憶された各軸値のうちのどちらか１つを、予め定められた条件によって選択してロボットに指示することを特徴とする請求項７に記載のロボット制御装置。
【請求項１１】
ロボットのアームの各駆動軸の回転量を示す各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換する順変換工程と、
前記順変換工程で順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正工程と、
前記補正工程で補正された位置姿勢値を、各軸値に逆変換する逆変換工程と、
前記逆変換工程で逆変換された各軸値をロボットに指示する指示工程とを含むことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのアームの位置決めを制御するロボット制御装置に関する。
【背景技術】
【０００２】
産業用ロボットは、スポット溶接、穴あけ、アーク溶接、レーザ加工など幅広い用途に用いられるロボットであり、たとえば６軸多関節型ロボットのように基台およびアームを含んで構成される。産業用ロボット（以下、ロボットという）は、作業を行う前に、教示点および各教示点におけるロボットのアーム先端の位置とロボットの姿勢とが教示される。教示点は、アーム先端に取り付けたツールによって、作業対象であるワークに対して作業を行う位置である。
【０００３】
ロボットに対する教示には、たとえばオフラインによる教示と人間による直接教示とがある。オフラインによる教示は、ロボットを制御するロボット制御装置とは別のコンピュータなどによって作成された教示データを、ロボット制御装置に入力するものである。教示データは、教示点および各教示点におけるロボットのアーム先端の位置とロボットの姿勢（以下、ロボットの位置および姿勢ともいう）を教示するためのデータである。人間による直接教示は、たとえばロボット制御装置のティーチペンダントなどの入力装置を用いて、人間が直接教示するものである。
【０００４】
ロボットの位置および姿勢は、直交座標系における位置および姿勢を示す位置姿勢値、またはロボットのアームの各駆動軸の回転量である各軸値によって表わされる。教示データが直交座標系における位置姿勢値によって表わされるとき、ロボット制御装置は、教示された直交座標系における位置姿勢値を、各軸値に逆変換して、ロボットに指示する。
【０００５】
ロボットには、たわみ、加工誤差、組立誤差、および各軸の座標系の原点誤差などの誤差があるために、ロボットが実際に位置付く位置および姿勢は、ロボットに指示された位置および姿勢とは、異なった位置および姿勢になる。ロボットを目的の位置および姿勢に位置付かせるためには、誤差による位置ずれを考慮した位置および姿勢、つまり誤差による位置ずれを補正した位置および姿勢をロボットに指示する必要がある。
【０００６】
位置ずれを補正するための第１の従来技術として、ロボットに対する動作指令データを補正して位置決めする産業用ロボットの動作位置決め誤差補正装置がある。この誤差補正装置は、オフラインによる動作指令データつまり教示データを、予め測定しておいた三次元誤差データに基づいて補正するものである。三次元誤差データは、具体的には三次元の座標系の各位置における位置ずれ量をマップ化した三次元マップである（たとえば特許文献１参照）。
【０００７】
位置ずれを補正するための第２の従来技術として、ロボットの直交座標系での位置決め指令を補正して位置決めする産業用ロボットの位置決め補正方式がある。この位置決め補正方式は、オフラインによる位置決め指令つまり教示データを、ロボットのアームの各駆動軸の回転量に変換する際に、予め設定記憶しておいたロボット固有の誤差量に基づいて補正するものである。ロボット固有の誤差は、たとえば座標系の位置ずれ誤差およびアーム長誤差などである（たとえば特許文献２参照）。
【０００８】
位置ずれを補正するための第３の従来技術として、加工誤差および組立誤差などに基づく機構誤差、据付誤差、ならびに各軸原点誤差などによる位置ずれを補正する誤差補正方式がある。この誤差補正方式は、ハンドの位置ずれ量を測定し、測定した位置ずれ量から線形近似を行うことによって、ロボットの誤差量を推定し、推定した誤差量に基づいてハンドの位置および姿勢を補正するものである（たとえば非特許文献１参照）。
【０００９】
【特許文献１】特開昭６０−２０５７１３号公報
【特許文献２】特開平２−１９８７８３号公報
【非特許文献１】岡田拓史、他１名、「多関節ロボット機構誤差補正方式」、日本機械学会論文集（Ｃ編）、日本機械学会、昭６０−２、第５１巻、第４６２号、ｐ．３２４−３３１
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、オフラインによる教示は、各軸値によっても行われることがある。上述したいずれの従来技術も、位置姿勢値に対して、予め求めておいたロボット固有の誤差に基づいて補正するものであって、各軸値に対して、補正を行うものではない。
【００１１】
たとえば直交座標系における位置姿勢値は、同じ位置姿勢値に対して複数の各軸値を取り得ることがあるので、ロボットの姿勢が一意に決まらないことがあり、ロボットの姿勢を一意に指定するため、各軸値による教示が行われる。しかし、上述したいずれの従来技術も、各軸値による教示に対して、補正を行うことができないために、高い精度の位置決めを行うことができないという問題がある。
【００１２】
さらにオフラインによる教示が、位置姿勢値であっても、ロボットのアームの動作範囲の限界近くでは、誤差に基づく補正量が適正でないことがあるために、あるいはオフラインでの教示データ作成のときに回避すべきケーブルなどのデータが漏れているために、一部の教示データに対して、人間による直接教示によって、教示データの修正が行われることがある。
【００１３】
すなわち教示データは、オフラインでの教示データと、人間による直接教示の教示データとが、混在することになる。しかしながら、上述した従来技術は、補正が必要な教示データと、補正が必要でない教示データとが混在した教示データを扱うことができないために、高い精度の位置決めを行うことができないという問題がある。
【００１４】
さらにまた、ロボットは、位置決め装置としてだけでなく、３次元測定器として利用されることがある。たとえばワークなどの作業対象が、ロボットの直交座標系のどの位置にあるかを計測するために、ワークあるいはワークを固定する治具の基準となる位置に、ティーチペンダントを使用するなどして、ロボットのアーム先端つまり手先を合わせて、ロボットが計測した各軸値を取得し、取得した各軸値をもとに直交座標系での位置姿勢値を計算で求めることが行われる。
【００１５】
しかしながらロボットが計測した各軸値は、そのロボット固有の誤差による位置ずれが補正された各軸値であるために、その各軸値から計算で求めた位置姿勢値を、他のロボット、たとえば故障したロボットと交換したロボットなどに使用すると、高い精度の位置決めを行うことができないという問題がある。
【００１６】
本発明の目的は、ロボットの各軸値による教示に対してもロボットの位置決めを精度高く制御することができるロボット制御装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、ロボットのアームの各駆動軸の回転量を示す各軸値を入力する入力手段と、
前記入力手段によって入力された各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換する順変換手段と、
前記順変換手段によって順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正手段と、
前記補正手段によって補正された位置姿勢値を、各軸値に逆変換する逆変換手段と、
前記逆変換手段によって逆変換された各軸値をロボットに指示する指示手段とを含むことを特徴とするロボット制御装置である。
【００１８】
本発明に従えば、入力手段によって、ロボットのアームの各駆動軸の回転量を示す各軸値が入力され、順変換手段によって、前記入力手段によって入力された各軸値が、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換され、補正手段によって、前記順変換手段によって順変換された位置姿勢値が、ロボット固有の誤差に基づいて補正され、逆変換手段によって、前記補正手段によって補正された位置姿勢値が、各軸値に逆変換され、指示手段によって、前記逆変換手段によって逆変換された各軸値がロボットに指示される。
【００１９】
このように、指令値として入力された各軸値を位置姿勢値に順変換することによって、ロボット固有の誤差による位置ずれを補正することができる。
【００２０】
また本発明は、前記入力手段は、位置姿勢値をさらに入力し、
前記補正手段は、前記入力手段によって入力された位置姿勢値および前記順変換手段によって順変換された位置姿勢値のうちのどちらか１つを、予め定められた条件によって選択して補正することを特徴とする。
【００２１】
本発明に従えば、直交座標系における位置姿勢値も入力することができるので、オフラインの教示データが、直交座標系における位置姿勢値および各軸値のうちどちらであっても、ロボット固有の誤差による位置ずれを補正することができる。
【００２２】
また本発明は、ロボットが計測した各駆動軸の各軸値を取得する取得手段と、
前記取得手段によって取得された各軸値を位置姿勢値に順変換し、順変換した位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正する逆補正手段と、
前記逆補正手段によって補正された位置姿勢値を出力する出力手段とをさらに含むことを特徴とする。
【００２３】
本発明に従えば、ロボットが計測した各駆動軸の各軸値を取得して、位置姿勢値に順変換し、順変換した位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正して出力するので、オフラインの教示データが各軸値であっても、ロボット固有の誤差による位置ずれがない位置姿勢値を出力することができる。
【００２４】
また本発明は、前記逆補正手段によって補正された位置姿勢値を、前記各軸値に逆変換する第２の逆変換手段をさらに含み、
前記出力手段は、前記第２の逆変換手段によって逆変換された各軸値をさらに出力することを特徴とする。
【００２５】
本発明に従えば、順変換された位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正した後、各軸値に逆変換して出力するので、オフラインの教示データが直交座標系における位置姿勢値であっても、ロボット固有の誤差による位置ずれがない各軸値を出力することができる。
【００２６】
また本発明は、ロボットのアームの各駆動軸の回転量を示す各軸値と、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値とを入力する入力手段と、
前記入力手段によって入力された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正手段と、
前記補正手段によって補正された位置姿勢値を、各軸値に逆変換する逆変換手段と、
前記入力手段によって入力された各軸値および前記逆変換手段によって逆変換された各軸値のうちのどちらか１つを、予め定められた条件によって選択してロボットに指示する指示手段とを含むことを特徴とするロボット制御装置である。
【００２７】
本発明に従えば、入力手段によって、ロボットのアームの各駆動軸の回転量を示す各軸値と、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値とが入力され、補正手段によって、前記入力手段によって入力された位置姿勢値が、ロボット固有の誤差に基づいて補正され、逆変換手段によって、前記補正手段によって補正された位置姿勢値が、各軸値に逆変換され、指示手段によって、前記入力手段によって入力された各軸値および前記逆変換手段によって逆変換された各軸値のうちのどちらか１つが、予め定められた条件によって選択されてロボットに指示される。
【００２８】
このように、位置姿勢値を補正した後逆変換した各軸値および入力された各軸値のうちのどちらか１つをロボットに指示することができるので、補正が必要な位置姿勢値と、補正が必要でない各軸値との混在データを指令値として用いることができる。
【００２９】
また本発明は、前記入力手段によって入力された各軸値を、位置姿勢値に順変換する順変換手段をさらに含み、
前記補正手段は、前記入力手段によって入力された位置姿勢値および前記順変換手段によって順変換された位置姿勢値のうちのどちらか１つを、予め定められた条件によって選択して補正することを特徴とする。
【００３０】
本発明に従えば、入力された各軸値を位置姿勢値に順変換することができるので、各軸値に対しても、ロボット固有の誤差による位置ずれを補正することができる。
【００３１】
また本発明は、ロボットが計測した各駆動軸の各軸値を取得する取得手段と、
前記取得手段によって取得された各軸値を出力する出力手段とをさらに含むことを特徴とする。
【００３２】
本発明に従えば、取得手段によって、ロボットが計測した各駆動軸の各軸値が取得され、出力手段によって、取得手段によって取得された各軸値が出力されるので、ロボット固有の誤差によるずれ量が補正された各軸値を出力することができる。
【００３３】
また本発明は、前記取得手段によって取得された各軸値を位置姿勢値に順変換し、順変換した位置姿勢値を、ロボット固有の誤差による位置ずれがない位置姿勢値に補正する逆補正手段をさらに含み、
前記出力手段は、前記逆補正手段によって補正された位置姿勢値をさらに出力することを特徴とする。
【００３４】
本発明に従えば、逆補正手段によって、取得手段によって取得された各軸値が位置姿勢値に順変換され、順変換された位置姿勢値が、ロボット固有の誤差による位置ずれがない位置姿勢値に補正され、出力手段によって、逆補正手段によって補正された位置姿勢値が出力されるので、ロボット固有の誤差による位置ずれがない位置を示す位置姿勢値、つまり誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す位置姿勢値を出力することができる。
【００３５】
また本発明は、前記逆補正手段によって補正された位置姿勢値を、各軸値に逆変換する第２の逆変換手段をさらに含み、
前記出力手段は、前記第２の逆変換手段によって逆変換された各軸値をさらに出力することを特徴とする。
【００３６】
本発明に従えば、第２の逆変換手段によって、逆補正手段によって補正された位置姿勢値を各軸値に逆変換し、出力手段によって、第２の逆変換手段によって逆変換された各軸値が出力されるので、人間が直接教示した各軸値を指令値として用いても、ロボット固有の誤差による位置ずれがない各軸値を出力することができる。
【００３７】
また本発明は、前記取得手段によって取得された各軸値を記憶する記憶手段をさらに含み、
前記指示手段は、前記入力手段によって入力された各軸値および前記記憶手段に記憶された各軸値のうちのどちらか１つを、予め定められた条件によって選択してロボットに指示することを特徴とする。
【００３８】
本発明に従えば、記憶手段によって、取得手段によって取得した各軸値が記憶され、指示手段によって、入力手段によって入力された各軸値または記憶手段に記憶された各軸値が、ロボットに指示されるので、ロボットが計測した各軸値を記憶して、記憶した各軸値を指令値として用いることができる。
【００３９】
また本発明は、ロボットのアームの各駆動軸の回転量を示す各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換する順変換工程と、
前記順変換工程で順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正工程と、
前記補正工程で補正された位置姿勢値を、各軸値に逆変換する逆変換工程と、
前記逆変換工程で逆変換された各軸値をロボットに指示する指示工程とを含むことを特徴とするロボット制御方法である。
【００４０】
本発明に従えば、順変換工程で、ロボットのアームの各駆動軸の回転量を示す各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換し、補正工程で、前記順変換工程で順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正し、逆変換工程で、前記補正工程で補正された位置姿勢値を、各軸値に逆変換し、指示工程で、前記逆変換工程で逆変換された各軸値をロボットに指示する。
【００４１】
このように、指令値として入力された各軸値を位置姿勢値に順変換することによって、ロボット固有の誤差による位置ずれを補正することができる。
【発明の効果】
【００４２】
本発明によれば、指令値として入力された各軸値を位置姿勢値に順変換することによって、ロボット固有の誤差による位置ずれを補正することができるので、オフラインの教示データが各軸値であっても、ロボットの位置決めを精度高く制御することができる。
【００４３】
また本発明によれば、オフラインの教示データが、直交座標系における位置姿勢値および各軸値のうちどちらであっても、ロボット固有の誤差による位置ずれを補正することができるので、どちらの教示データに対しても、ロボットの位置決めを精度高く制御することができる。
【００４４】
また本発明によれば、オフラインの教示データが各軸値であっても、ロボット固有の誤差による位置ずれがない位置姿勢値を出力することができるので、出力された位置姿勢値は、位置姿勢値を補正することができる他のロボットへの指令値として用いることができる。
【００４５】
また本発明によれば、オフラインの教示データが直交座標系における位置姿勢値であっても、ロボット固有の誤差による位置ずれがない各軸値を出力することができるので、出力された各軸値を、各軸値を補正することができる他のロボットへの指令値とすれば、他のロボットを精度よく、かつ姿勢を一意に位置付けすることができる。
【００４６】
また本発明によれば、補正が必要な位置姿勢値と、補正が必要でない各軸値との混在データを指令値として用いることができるので、オフラインの教示データが人間による教示によって修正を加えられても、ロボットの位置決めを精度高く制御することができる。
【００４７】
また本発明によれば、各軸値に対しても、ロボット固有の誤差による位置ずれを補正することができるので、オフラインの教示データが、直交座標系における位置姿勢値および各軸値のうちどちらであっても、ロボットの位置決めを精度高く制御することができる。
【００４８】
また本発明によれば、ロボット固有の誤差によるずれ量が補正された各軸値を出力することができるので、出力された各軸値をそのロボットへの指令値として用いるときは、指令値を補正せずにロボットに指示することができる。したがって、たとえば人間が直接教示した各軸値が出力されたとき、出力された各軸値を補正せずに同じロボットに指示すると、人間が直接教示した教示位置へ確実に位置付けることができる。
【００４９】
また本発明によれば、ロボット固有の誤差による位置ずれがない位置姿勢値、つまり誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す位置姿勢値を出力することができるので、出力された位置姿勢値は、他のロボットへの指令値として用いることができる。たとえば人間が直接教示した各軸値を、誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す位置姿勢値に変換して出力することができるので、ロボットを用いたツールのキャリブレーションおよびワーク座標系の計算を実施する場合に精度がよくなり、特にロボットを３次元測定器として利用するときは、精度の高い位置を測定することができる。
【００５０】
また本発明によれば、人間が直接教示した各軸値であっても、ロボット固有の誤差による位置ずれがない各軸値を出力することができるので、出力された各軸値を他のロボットへの指令値として用いれば、他のロボットを精度よく、かつ姿勢を一意に位置付けすることができる。
【００５１】
また本発明によれば、ロボットが計測した各軸値を記憶して、記憶した各軸値を指令値として用いることができるので、人間が直接教示した教示位置へ確実に位置付けることができる。
【００５２】
また本発明によれば、指令値として入力された各軸値を位置姿勢値に順変換することによって、ロボット固有の誤差による位置ずれを補正することができるので、オフラインの教示データが各軸値であっても、ロボットの位置決めを精度高く制御することができる。
【発明を実施するための最良の形態】
【００５３】
図１は、本発明の実施の一形態であるロボット制御装置１０の構成を示す図である。ロボット制御装置１０は、制御部１１、記憶部１２、入力部１３、および出力部１４を含んで構成される。
【００５４】
制御部１１は、たとえばＣＰＵ（Central Processing Unit）で実現され、ロボット制御装置１０全体およびロボット２０を制御する。記憶部１２は、たとえば半導体メモリまたは磁気ディスク装置などの記憶装置で実現され、たとえば制御部１１で実行されるプログラムおよび教示データなどを記憶する。
【００５５】
入力部１３は、たとえばオフラインで作成された教示データおよび人手による教示データなどを入力する入力装置である。出力装置１４は、たとえばロボットが実際に位置付いたときの各軸値などを、液晶ディスプレイなどの液晶画面に出力する出力装置である。入力部１３および出力部１４は、たとえばティーチペンダントのように一体になったものでもよい。
【００５６】
ロボット２０は、たとえば６軸多関節型ロボットであり、図示しない基台、図示しないアーム、そのアームを駆動するアクチュエータ２１、および各アームの駆動軸の回転量を計測する図示しない角度センサを含む。
【００５７】
制御部１１は、入力部１３によって入力された教示データがロボット２０のアームの各駆動軸の回転量を示す各軸値のとき、その各軸値を順変換して、直交座標系におけるロボット２０のアーム先端の位置およびロボット２０の姿勢を示す位置姿勢値である変換指令値を求める。次にロボット２０の固有の誤差に基づいて、その誤差による位置ずれを無くすために、求めた変換指令値を補正する。さらに補正した変換指令値を、各軸値に逆変換し、逆変換した各軸値をロボット２０のアクチュエータ２１に指示する。ロボット２０の固有の誤差は、たとえばたわみ、加工誤差、および組立誤差などに基づく機構誤差、据付誤差、ならびに各軸原点誤差である。
【００５８】
変換指令値に対する補正は、たとえば日本機械学会論文集（Ｃ編）５１巻４６２号（昭６０−２）「多関節ロボット機構誤差補正方式」に記載されている誤差補正方式を用いて補正することによって実現することができる。具体的には、ロボット２０の手先の位置および姿勢のずれ量を予め測定し、測定したずれ量からロボット２０の固有の誤差量を推定し、推定した誤差量に基づいて、変換指令値を補正することによって実現する。以下、この誤差補正方式による補正を、高精度ロボットモデルによる補正という。
【００５９】
このようにして、ロボット２０への各軸値による教示に対しても、位置ずれを補正することができるので、ロボット２０の位置決めを精度高く制御することができる。
【００６０】
制御部１１は、入力された変換指令値を補正および逆変換して、アクチュエータ２１に指示することも、入力された各軸値を、そのままアクチュエータ２１に指示することもできるが、これらについては、後述する。
【００６１】
さらに制御部１１は、ロボット２０のアームの各駆動軸について、ロボット２０が実際の回転量を計測した各軸値を、ロボット２０から取得し、取得した各軸値を直交座標系の位置姿勢値に順変換する。次に順変換した位置姿勢値を、ロボット２０の誤差による位置ずれがない位置姿勢値に逆補正し、逆補正された位置姿勢値を各軸値に逆変換し、逆変換した各軸値を出力部１４に出力させる。逆補正は、ロボット２０の誤差による位置ずれが補正されている位置姿勢値から、ロボット２０の誤差による位置ずれがない位置姿勢値への補正のことをいう。すなわち他のロボットの指令値として流用可能な位置姿勢値への補正であり、ロボット２０にとっては、ロボット２０の誤差による補正が必要な位置姿勢値への補正になる。
【００６２】
制御部１１は、さらに逆補正された位置姿勢値を出力部１４に出力させることも、ロボット２０から取得した各軸値をそのまま出力部１４に出力させることもできるが、これらについては後述する。
【００６３】
入力手段は、たとえば入力部１３で実現され、順変換手段、補正手段、逆変換手段、指示手段、逆補正手段、取得手段、および第２の逆変換手段は、たとえば制御部１１で実行されるプログラムによって実現され、出力手段は、たとえば出力部１４で実現される。
【００６４】
図２は、図１に示した制御部１１が行う順変換および逆変換を説明するための図である。図２は、ロボット２０の一つのアームＡを２次元で表した図である。ロボット２０は複数のアームを有するが、わかりやすく説明するために、１つのアームに着目して説明する。アームＡは、アームＡの回転軸、つまり直交座標系ＸＹの原点Ｏを中心に、Ｘ軸に対して、角度θの各軸値である。
【００６５】
アームＡの長さをｋとすると、直交座標系ＸＹにおけるアームＡの先端の位置（ｘ，ｙ）は、ｘ＝ｋｃｏｓθ、ｙ＝ｋｓｉｎθの関係にある。各軸値θから位置（ｘ，ｙ）を求めることを順変換、位置（ｘ，ｙ）から各軸値θの値を求めることを逆変換という。
【００６６】
図３は、図１に示した制御部１１が行う位置ずれの補正を説明するための図である。図２に示したアームＡに対して、オフラインで作成された教示データが示す位置が（ｘ，ｙ）である。アームＡの先端が位置（ｘ，ｙ）に位置付くように指示すべき位置を、位置（ｘ１，ｙ１）とすると、位置（ｘ，ｙ）と位置（ｘ１，ｙ１）との差がロボット２０の位置ずれ量（Δｘ，Δｙ）である。
【００６７】
位置付くべき位置（ｘ，ｙ）に対して、位置ずれ量（Δｘ，Δｙ）を考慮して、指示すべき位置（ｘ１，ｙ１）を求めることを補正するという。アームＡが位置（ｘ，ｙ）に実際に位置付いているとき、ロボット２０が計測した位置（ｘ１，ｙ１）に対して、位置ずれ量（Δｘ，Δｙ）を考慮して、ロボット２０の誤差による位置ずれのない位置（ｘ，ｙ）を求めることを逆補正という。
【００６８】
図４は、図１に示したロボット制御装置１０の第１の機能関連図である。ロボット２０に対する教示データとして、各軸値による指令値である各軸指令値が指示されたときの各機能の関連を示したものである。ブロック３０は、ロボット制御装置１０に入力された各軸指令値を、位置姿勢値による指令値である位置姿勢指令値に順変換し、次のブロック３１に出力する。ブロック３０では、ロボット２０を理想ロボットと仮定して、つまりロボット２０は誤差が無く、補正する必要がないと仮定して、順変換する。
【００６９】
ブロック３１は、ブロック３０からの位置姿勢指令値を、ロボット２０の誤差に基づいて補正し、たとえば高精度ロボットモデルによって補正し、補正した位置姿勢指令値をブロック３２に出力する。ブロック３２は、ブロック３１からの位置姿勢指令値を、理想ロボットを仮定して、各軸指令値に逆変換し、逆変換された各軸指令値をアクチュエータ２１に指示する。
【００７０】
ブロック３０〜ブロック３２の機能は、制御部１１で実行されるプログラムによって実現される。順変換手段は、たとえばブロック３０の機能であり、補正手段は、たとえばブロック３１の機能であり、逆変換手段は、たとえばブロック３２の機能である。
【００７１】
図５は、図４に示した第１の機能関連図の機能を実行する制御部１１の処理の一例を示すフローチャートである。入力部１３から各軸指令値が入力されたとき、ステップＳ１に移る。図５は、本発明の実施の他の形態であるロボット制御方法の処理を、たとえば制御部１１が実行するときのフローチャートでもある。
【００７２】
ステップＳ１では、入力された各軸指令値を、直交座標系の変換指令値に順変換する。ステップＳ２では、順変換によって求めた変換指令値を、ロボット２０の誤差に基づいて補正する。ステップＳ３では、補正された変換指令値を各軸指令値に逆変換する。ステップＳ４では、逆変換によって求めた各軸指令値を、アクチュエータ２１に指示して、終了する。変換指令値は、たとえば直交座標系での位置姿勢指令値である。
【００７３】
このように、入力された各軸指令値に対して、位置ずれ量を補正することができるので、ロボット２０のアーム先端を精度高く位置決めすることができる。すなわち、指令値として入力された各軸値を位置姿勢値に順変換することによって、ロボット固有の誤差による位置ずれを補正することができるので、オフラインの教示データが各軸値であっても、ロボットの位置決めを精度高く制御することができる。
【００７４】
図６は、図１に示したロボット制御装置１０の第２の機能関連図である。この第２の機能関連図は、図５に示したブロック３０とブロック３１の間にスイッチ４０を設け、変換指令値、たとえば直交座標系での位置姿勢指令値を入力可能としたものである。入力が各軸指令値のとき、スイッチ４０はブロック３０からの出力をブロック３１に入力するように接続される。入力が変換指令値のとき、スイッチ４０は入力された変換指令値をブロック３１に入力するように接続される。
【００７５】
図６に示したスイッチ４０は、入力された変換指令値をブロック３１に入力するように接続されている。ブロック３１は、入力された変換指令値を、ロボット２０の誤差に基づいて補正し、補正した位置姿勢指令値を、ブロック３２に出力する。ブロック３２は、ブロック３１からの補正された位置姿勢指令値を、各軸指令値に逆変換し、逆変換した各軸指令値をアクチュエータ２１に指示する。スイッチ４０の切り替えは、たとえば入力部１３からの指示によって切り替える。
【００７６】
このように、入力された教示データが、各軸指令値であっても、変換指令値であっても、ロボット２０の誤差に基づいて補正された各軸指令値が、アクチュエータ２１に出力されるので、ロボットの位置決めを精度高く制御することができる。すなわち、オフラインの教示データが、直交座標系における位置姿勢値および各軸値のうちどちらであっても、ロボット固有の誤差による位置ずれを補正することができるので、どちらの教示データに対しても、ロボットの位置決めを精度高く制御することができる。
【００７７】
図７は、図１に示したロボット制御装置１０の第３の機能関連図である。この第３の機能関連図は、図５に示したブロック３２とアクチュエータ２１との間にスイッチ４１を設け、ブロック３２で逆変換された各軸指令値、または入力された各軸指令値を、アクチュエータ２１に指示可能としたものである。図７に示したスイッチ４１は、ブロック３２で逆変換された各軸指令値をアクチュエータ２１に指示するように接続されている。スイッチ４１の切り替えは、たとえば入力部１３からの指示によって切り替える。
【００７８】
入力された各軸指令値を直接アクチュエータ２１に指示するように、スイッチ４１を接続すると、ロボットの誤差による位置ずれが考慮された各軸値、つまり補正する必要がない各軸値を、直接アクチュエータ２１に指示することができる。具体的には、入力部１３、たとえばティーチペンダントを使用して直接ロボット２０を目的の位置および姿勢に移動して教示し、あるいは直接ロボット２１のアームを人間が把持して目的の位置および姿勢に移動して教示し、教示した位置および姿勢を計測した各軸値を指令値とする場合などがある。
【００７９】
このように、補正する必要がない各軸値を指令値として入力することができるので、ロボットの誤差による位置ずれが考慮された各軸値を、指令値として用いることができる。また、入力された各軸指令値を直接アクチュエータに指示する場合、各駆動軸のメカストッパおよびソフトリミットが指示通りに作用するので、各軸の動作領域の限界を確実に把握したい場合に有効である。
【００８０】
さらに、入力された変換指令値を補正した後、逆変換した各軸指令値と、入力された各軸指令値とを、選択してアクチュエータ２１に指示することができるので、補正が必要な変換指令値と、補正が必要でない各軸指令値とが混在した指令値を扱うことができる。補正が必要とは、たとえばロボットの誤差によって位置ずれが発生するので、その位置ずれを補正する必要があるということである。
【００８１】
たとえばロボットの動作範囲の限界近くで誤差に基づく補正量が適正でないために、あるいはオフラインでの教示データ作成のときに回避すべきケーブルなどのデータが漏れていたために、一部の教示データに対して、人間による直接教示が行われることがある。オフラインによる教示データが、人間によって修正されると、オフラインによる教示データと、人間による直接教示の教示データとが混在することになる。
【００８２】
補正が必要な位置姿勢値と、補正が必要でない各軸値との混在データを指令値として用いることができるので、オフラインの教示データが人間による教示によって修正を加えられても、ロボットの位置決めを精度高く制御することができる。
【００８３】
図７には、図６に示したブロック３０およびスイッチ４０は記載されていないが、図６と同様に、ブロック３０とスイッチ４０とをブロック３１の前段に設けて、入力された各軸指令値を、ブロック３０で順変換した後、ブロック３１で補正するようにしてもよい。補正する必要がない各軸値と、補正する必要がある各軸値とを、選択して入力することができる。
【００８４】
図８は、図６および図７に示した機能関連図に関連する指令値指示処理の一例を示すフローチャートである。この指令値指示処理は、制御部１１によって実行される。ロボット制御装置１０に、各軸指令値および変換指令値のうちいずれか１つが入力されたとき、ステップＴ１に移る。ステップＴ１では、入力された指令値が、変換指令値であるか否かを判断する。入力された指令値が変換指令値でないとき、ステップＴ５に進み、入力された指令値が変換指令値であるとき、ステップＴ２に進む。
【００８５】
ステップＴ２では、入力された変換指令値または順変換された変換指令値を、ロボット固有の誤差に基づいて、たとえば高精度ロボットモデルによって補正する。ステップＴ３では、補正された変換指令値を各軸指令値に逆変換する。ステップＴ４では、逆変換された各軸指令値または入力された各軸指令値をアクチュエータ２１に指示して終了する。
【００８６】
ステップＴ５では、入力された指令値が、補正が必要な各軸指令値であるか否かを判断する。入力された指令値が、補正が必要な各軸指令値であるとき、ステップＴ６に進み、入力された指令値が、補正が必要な各軸指令値でないとき、ステップＴ４に進む。ステップＴ６では、入力された各軸指令値を、直交座標系の変換指令値に順変換して、ステップＴ２に進む。
【００８７】
このように、各軸値に対しても、ロボット固有の誤差による位置ずれを補正することができるので、オフラインの教示データが、直交座標系における位置姿勢値および各軸値のうちどちらであっても、ロボットの位置決めを精度高く制御することができる。すなわち、ロボット固有の誤差による位置ずれに対して、補正が必要な変換指令値、および補正が必要な各軸指令値について補正を行い、補正が必要でない各軸指令値について補正を行わないので、いずれの指令値についても、ロボットの位置決めを精度高く制御することができる。
【００８８】
図９は、図１に示したロボット制御装置１０の第４の機能関連図である。この第４の機能関連図は、図６に示した第２の機能関連図に対して、アクチュエータ２１の各軸値を計測し、計測した各軸値を、ロボット固有の誤差による位置ずれがない変換値出力およびロボット固有の誤差による位置ずれがない各軸値出力を出力するようにしたものである。アクチュエータ２１は、アームの各駆動軸に設けられている図示しない角度センサによって、各駆動軸の軸値を計測する。
【００８９】
ブロック３３は、アクチュエータ２１が計測した各軸値を、位置姿勢値に順変換し、順変換された位置姿勢値を、ロボット２０の誤差に基づいて逆補正して、たとえば高精度ロボットモデルによって逆補正して、変換値出力として出力する。ブロック３４は、ブロック３３の出力である変換値出力を、各軸値出力に逆変換して出力する。ブロック３４では、理想ロボットを仮定して、つまりロボット２０は誤差がないと仮定して、変換値出力を各軸値出力に逆変換する。出力は、たとえば入力部１３からの指示によって、どちらかを選択して出力してもよいし、両方を出力してもよい。
【００９０】
ブロック３３およびブロック３４の機能は、制御部１１で実行されるプログラムによって実現される。逆補正手段が、たとえばブロック３３の機能であり、第２の逆変換手段は、たとえばブロック３４の機能である。
【００９１】
このように、出力された変換値出力は、ロボット２０の誤差による位置ずれがない位置を示す出力、つまり誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す出力であるので、この変換値出力は、各軸値の入力を補正することができない他のロボットへの指令値として用いることができる。すなわち、オフラインの教示データが各軸値であっても、ロボット固有の誤差による位置ずれがない位置姿勢値を出力することができるので、この出力された位置姿勢値は、位置姿勢値を補正することができる他のロボットへの指令値として用いることができる。
【００９２】
さらに、入力が直交座標系における位置姿勢値であっても、他のロボットに指令値として用いることができる各軸値を出力することができるので、他のロボットを精度よく、かつ姿勢を一意に位置付けすることができる。すなわち、オフラインの教示データが直交座標系における位置姿勢値であっても、ロボット固有の誤差による位置ずれがない各軸値を出力することができるので、出力された各軸値を、各軸値を補正することができる他のロボットへの指令値とすれば、他のロボットを精度よく、かつ姿勢を一意に位置付けすることができる。
【００９３】
図１０は、図１に示したロボット制御装置１０の第５の機能関連図である。この第５の機能関連図は、図７に示した第３の機能関連図に対して、アクチュエータ２１の各軸値を計測し、計測した各軸値を、ロボット２０の誤差による位置ずれがない変換値出力およびロボット２０の誤差によるずれ量が補正されている各軸値出力を出力するようにしたものである。
【００９４】
ロボット制御装置１０は、アクチュエータ２１が計測した各軸値を、各軸値出力としてそのまま出力する。さらにブロック３３は、アクチュエータ２１が計測した各軸値を、位置姿勢値に順変換し、順変換された位置姿勢値を、ロボット２０の誤差に基づいて、たとえば高精度ロボットモデルによって逆補正して、変換値出力として出力する。出力は、たとえば入力部１３からの指示によって、どちらかを選択して出力してもよいし、両方を出力してもよい。
【００９５】
このように、ロボット固有の誤差によるずれ量が補正された各軸値を出力することができるので、出力された各軸値をそのロボットへの指令値として用いるときは、指令値を補正せずに指示することができる。したがって、たとえば人間が直接教示した各軸値が出力されたとき、出力された各軸値を補正せずに同じロボットに指示すると、人間が直接教示した教示位置へ確実に位置付けることができる。
【００９６】
さらにロボット固有の誤差による位置ずれがない位置姿勢値、つまり誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す位置姿勢値を出力することができるので、出力された位置姿勢値は、他のロボットへの指令値として用いることができる。
【００９７】
図１０には、図９に示したブロック３４は記載されていないが、図９と同様に、ブロック３４をブロック３３の後段に設けて、ブロック３３の出力である変換値出力を逆変換して各軸値出力として出力してもよい。出力は、たとえば入力部１３からの指示によって、どれかを選択して出力してもよいし、すべてを出力してもよい。
【００９８】
各軸値出力として、ロボット２０の誤差による位置ずれがない各軸値出力およびロボット２０の誤差によるずれ量が補正された各軸値出力を出力するので、それぞれ、他のロボットへの各軸指令値およびロボット２０への各軸指令値として用いることができる。
【００９９】
図１１は、図９および図１０に示した機能関連図に関連する計測値出力処理の一例を示すフローチャートである。この計測値出力処理は、制御部１１によって実行される。ロボット２０の各駆動軸の回転量を計測して出力するとき、ステップＵ１に移る。ステップＵ１では、アクチュエータ２１が計測した各軸値をロボット２０から取得する。
【０１００】
ステップＵ２では、取得した各軸値を逆補正するか否かを判断する。逆補正するときは、ステップＵ３に進み、逆補正しないときは、ステップＵ６に進む。ステップＵ３では、取得した各軸値を位置姿勢値に順変換し、順変換された位置姿勢値をロボット２０の固有の誤差に基づいて、たとえば高精度ロボットモデルによって逆補正する。つまりロボット２０の誤差による位置ずれがない位置姿勢値を求める。
【０１０１】
ステップＵ４では、各軸値として出力するか否かを判断する。各軸値として出力するとき、ステップＵ７に進み、各軸値として出力しないとき、ステップＵ５に進む。ステップＵ５では、逆補正された位置姿勢値を変換値出力として出力して終了する。ステップＵ６では、取得した各軸値を各軸値出力として出力して終了する。ステップＵ７では、逆補正された位置姿勢値を、各軸値に逆変換する。ステップＵ８では、逆変換された各軸値を、各軸値出力として出力して終了する。
【０１０２】
このように、ロボット２０から取得した各軸値が示す位置は、ロボット２０の誤差による位置ずれがない位置に対して、ロボット２０の固有の誤差による位置ずれが補正された位置である。したがって、ロボット制御装置１０への指令値が、オフラインの教示データであっても、人間が直接指示した教示データであっても、ロボット２０の誤差による位置ずれが補正された各軸値を出力することができる。
【０１０３】
さらに、ロボット２０の誤差による位置ずれが補正された各軸値を、誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す各軸値または位置姿勢値に変換して出力することができる。この変換されて出力された各軸値または位置姿勢値は、他のロボット、たとえば故障したロボットと交換したロボットなどにも使用することができる。特に変換されて出力された各軸値は、人間が直接教示した各軸値であっても、他のロボットを精度よく、かつ姿勢を一意に位置付けすることができる。
【０１０４】
さらに、たとえば人間が直接教示した各軸値を、誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す位置姿勢値または各軸値に変換して出力することができるので、ロボットを用いたツールのキャリブレーションおよびワーク座標系の計算を実施する場合に精度がよくなり、特にロボットを３次元測定器として利用するときは、精度の高い位置を測定することができる。
【０１０５】
具体的には、ワークなどの作業対象が、ロボットの直交座標系のどの位置にあるかを計測するために、ワークあるいはワークを固定する治具の基準となる位置に、ティーチペンダントを使用するなどして、ロボットのアーム先端つまり手先を合わせ、ロボットの姿勢を指示する。
【０１０６】
ロボット制御装置１０は、教示されたアーム先端の位置とロボットの姿勢を示すロボットの各軸値を、ロボット２０から取得する。ロボット制御装置１０は、取得した各軸値、つまりロボット２０の誤差による位置ずれが補正された各軸値を、誤差がないロボットのアーム先端の位置とそのロボットの姿勢を示す各軸値または位置姿勢値に変換して出力する。したがって、ロボットを３次元測定器として利用したとき、精度の高い位置を測定することができる。
【０１０７】
図１２は、図１に示したロボット制御装置１０にオフラインティーチデータ５０が入力されたときの動作を説明するための図である。図１２に示したロボット制御装置１０は、図７に示したロボット制御装置１０に対して、ブロック３０とスイッチ４０とをブロック３１の前段に設けたものである。
【０１０８】
オフラインの教示データであるオフラインティーチデータ５０は、アーム先端の位置およびロボットの姿勢を、ロボットに教示するための教示データである。オフラインティーチデータ５０は、ロボット制御装置１０とは別のコンピュータなどによって作成され、ロボット制御装置１０に入力される。オフラインティーチデータ５０には、ロボット２０のアームの各駆動軸の回転量を表す各軸指令値と、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を表す変換指令値とがある。
【０１０９】
変換指令値のオフラインティーチデータ５０が入力されるとき、スイッチ４０は変換指令値側と接続される。各軸指令値のオフラインティーチデータ５０が入力されるとき、スイッチ４０はブロック３０の出力側と接続される。オフラインティーチデータ５０は、ロボット固有の誤差による位置ずれがない位置を示す指令値であり、指令値が変換指令値であっても、指令値が各軸指令値であっても、ロボット固有の誤差に基づく補正が必要であり、その補正はブロック３１で行われる。
【０１１０】
オフラインティーチデータ５０が入力されるときは、ロボット固有の誤差に基づく補正が必要であり、スイッチ４１は、ブロック３２の出力側に接続される。ブロック３２の出力は、アクチュエータ２１に指示される。
【０１１１】
このように、オフラインティーチデータ５０が、各軸指令値であっても、変換指令値であっても、ロボット固有の誤差による位置ずれを補正することができ、ロボット２０のアーム先端を精度高く位置決めすることができる。
【０１１２】
図１３は、図１に示したロボット制御装置１０が教示点で計測された各軸値を出力するときの動作を説明するための図である。たとえばオフラインティーチデータ５０を用いずに、たとえばティーチペンダントなどの入力部１３を使用して、あるいは人間が直接ロボットのアームを把持して、ロボットのアーム先端を目的の教示点に位置付けて、アーム先端の位置とロボットの姿勢を教示する場合に適用される。
【０１１３】
スイッチ４１は、入力された各軸指令値が、直接アクチュエータ２１に入力されるように接続される。入力された各軸指令値は、アクチュエータ２１に指示される。ロボット制御装置１０は、アクチュエータ２１が計測した各軸値を取得して、各軸値出力として出力する。出力された各軸値出力は、たとえば記憶装置５０に記憶される。
【０１１４】
図１４は、図１３に示したロボット制御装置１０が出力した各軸値を指令値とするときの動作を説明するための図である。ロボット制御装置１０は、リピート時、つまり実際に作業を行う時、記憶装置５０に記憶されている各軸値出力を、各軸指令値として用いる。スイッチ４１が、入力された各軸指令値をアクチュエータ２１に指示するように接続されているので、記憶装置５０から読み出された各軸値出力は、各軸指令値としてアクチュエータ２１に指示される。
【０１１５】
記憶装置５０は、各軸値出力を記憶するために、ロボット制御装置１０とは独立の記憶装置を用いたが、ロボット制御装置１０の記憶部１２に記憶して、リピート時に、記憶部１２から読み出して指令値としてもよい。
【０１１６】
このように、ロボット２０に直接教示された各軸値を、アクチュエータ２１から取得して記憶し、リピート時に記憶した各軸値を指令値として用いることができるので、教示された位置に位置付けることができる。すなわち、ロボットが計測した各軸値を記憶して、記憶した各軸値を指令値として用いることができるので、人間が直接教示した教示位置へ確実に位置付けることができる。
【０１１７】
図１３および図１４に示したロボット制御装置１０では、アクチュエータ２１から取得した各軸値を記憶装置５０に記憶したが、取得した各軸値を位置姿勢値に順変換し、順変換された位置姿勢値を、ロボット２０の誤差に基づいて、たとえば高精度ロボットモデルによって逆補正した変換値出力を記憶装置５０記憶してもよいし、逆補正した変換値出力を逆変換した各軸値出力を記憶してもよい。記憶装置５０に記憶された変換値出力および各軸値出力は、それぞれスイッチ４０への変換指令値およびブロック３０への各軸指令値として用いる。
【０１１８】
ロボット２０の固有の誤差に基づいて、たとえば高精度モデルによって逆補正された後、逆変換されて出力された各軸値出力、つまりロボット２０の誤差による位置ずれがない各軸値を指令値として用いるときは、順変換した後補正し、補正した後逆変換した各軸値をロボット２０に指示すればよい。
【０１１９】
ロボット２０の固有の誤差に基づいて、たとえば高精度モデルによって逆補正されて出力された変換値出力、つまりロボット２０の誤差による位置ずれがない位置姿勢値を指令値として用いるときは、補正した後逆変換した各軸値をロボット２０に指示すればよい。
【０１２０】
上述した実施の形態では、ロボット固有の誤差による位置ずれを補正するとき、直交座標系における位置および姿勢を示す位置座標値の補正を、高精度ロボットモデルを用いた誤差補正方式によって補正したが、他の方式を用いて補正してもよい。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施の一形態であるロボット制御装置１０の構成を示す図である。
【図２】図１に示した制御部１１が行う順変換および逆変換を説明するための図である。
【図３】図１に示した制御部１１が行う位置ずれの補正を説明するための図である。
【図４】図１に示したロボット制御装置１０の第１の機能関連図である。
【図５】図４に示した第１の機能関連図の機能を実行する制御部１１の処理の一例を示すフローチャートである。
【図６】図１に示したロボット制御装置１０の第２の機能関連図である。
【図７】図１に示したロボット制御装置１０の第３の機能関連図である。
【図８】図６および図７に示した機能関連図に関連する指令値指示処理の一例を示すフローチャートである。
【図９】図１に示したロボット制御装置１０の第４の機能関連図である。
【図１０】図１に示したロボット制御装置１０の第５の機能関連図である。
【図１１】図９および図１０に示した機能関連図に関連する計測値出力処理の一例を示すフローチャートである。
【図１２】図１に示したロボット制御装置１０にオフラインティーチデータ５０が入力されたときの動作を説明するための図である。
【図１３】図１に示したロボット制御装置１０が教示点で計測された各軸値を出力するときの動作を説明するための図である。
【図１４】図１３に示したロボット制御装置１０が出力した各軸値を指令値とするときの動作を説明するための図である。
【符号の説明】
【０１２２】
１０  ロボット制御装置
１１  制御部
１２  記憶部
１３  入力部
１４  出力部
２０  ロボット
２１  アクチュエータ
５０  記憶装置
【図１】
2006159361.tif 000003
【図２】
2006159361.tif 000004
【図３】
2006159361.tif 000005
【図４】
2006159361.tif 000006
【図５】
2006159361.tif 000007
【図６】
2006159361.tif 000008
【図７】
2006159361.tif 000009
【図８】
2006159361.tif 000010
【図９】
2006159361.tif 000011
【図１０】
2006159361.tif 000012
【図１１】
2006159361.tif 000013
【図１２】
2006159361.tif 000014
【図１３】
2006159361.tif 000015
【図１４】
2006159361.tif 000016