(57)【特許請求の範囲】
【請求項１】
制御対象の機械的な基準位置を示す基準位置データを記憶するための基準値記憶部と、
前記制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存する基準取得部と、
前記位置データと前記基準位置データとに基づいて制御上の座標系を設定する第１座標系設定部と、
前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存する相対値取得部と、
前記基準位置データが消失したか否かを判断する判断部と、
前記判断部により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データとに基づいて、前記制御上の座標系を再現する第２座標系設定部と、
を備える、
ことを特徴とする制御装置。
【請求項２】
前記相対値取得部が前記相対データの取得及び保存を複数回行った場合において、ユーザの入力又は所定の条件に基づいて、最新の相対データ及びそれよりも前に保存された相対データの中から、前記制御上の座標系の再現に用いる相対データを選択する相対データ選択部を備え、
前記第２座標系設定部は、前記相対データ選択部で選択された相対データに基づいて、前記制御上の座標系を再現する、
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記相対データ選択部は、前記運動軸を前記検出位置に変位させるための機構に異常が生じた場合に、前記制御上の座標系の再現に用いる相対データとして、該異常が生じる前に保存された相対データを選択する、
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記検出位置はメカエンドであり、前記運動軸を前記検出位置に変位させるための機構は、メカニカルストッパから構成され、
前記相対データ選択部は、前記メカニカルストッパの位置が前記メカエンドから位置ずれした場合に、前記制御上の座標系の再現に用いる相対データとして、該位置ずれが生じる前に保存された相対データを選択する、
ことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記運動軸を前記検出位置に変位させるための機構は、オーバートラベル検出器から構成され、
前記相対データ選択部は、前記オーバートラベル検出器が位置ずれした場合に、前記制御上の座標系の再現に用いる相対データとして、該位置ずれが生じる前に保存された相対データを選択する、
ことを特徴とする請求項３に記載の制御装置。
【請求項６】
前記基準取得部を第１基準取得部、前記位置データを第１位置データ、前記検出位置を第１検出位置、前記相対値取得部を第１相対値取得部、前記相対データを第１相対データとすると、
前記制御対象の前記運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、第２検出位置についての第２位置データを取得し、それを保存する第２基準取得部と、
前記基準位置データと前記第２位置データとの相対的な関係を示す第２相対データを取得し、それを保存する第２相対値取得部と、
前記制御上の座標系の再現に、前記第１位置データ及び前記第２位置データのいずれを用いるかを、ユーザの入力又は所定の条件に基づき選択する位置データ選択部と、
を備え、
前記第２座標系設定部は、前記位置データ選択部で選択された位置データ及びそれに対応する相対データに基づいて、前記制御上の座標系を再現する、
ことを特徴とする請求項１乃至５のいずれか一項に記載の制御装置。
【請求項７】
前記第１検出位置及び前記第２検出位置は両端のメカエンドであり、前記運動軸を前記第１検出位置及び前記第２検出位置に変位させるための機構は、メカニカルストッパから構成される、
ことを特徴とする請求項６に記載の制御装置。
【請求項８】
前記運動軸を前記第１検出位置に変位させるための機構は、メカニカルストッパから構成され、前記運動軸を前記第２検出位置に変位させるための機構は、センサから構成される、
ことを特徴とする請求項６に記載の制御装置。
【請求項９】
前記検出位置はメカエンドであり、前記運動軸を前記検出位置に変位させるための機構は、メカニカルストッパから構成される、
ことを特徴とする請求項１乃至３のいずれか一項に記載の制御装置。
【請求項１０】
前記運動軸を前記検出位置に変位させるための機構は、センサから構成される、
ことを特徴とする請求項１乃至３のいずれか一項に記載の制御装置。
【請求項１１】
前記センサは、オーバートラベル検出器である、
ことを特徴とする請求項１０に記載の制御装置。
【請求項１２】
前記判断部は、前記運動軸を駆動するためのモータが交換された時に、前記判断を実行する、
ことを特徴とする請求項１乃至１１のいずれか一項に記載の制御装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の制御装置と、
ロボット本体と、
を備える、
ことを特徴とする産業用ロボット。
【請求項１４】
前記運動軸を前記検出位置に変位させるための機構は、前記ロボット本体の外部の干渉物である、
ことを特徴とする請求項１３に記載の産業用ロボット。
【請求項１５】
前記運動軸を前記検出位置に変位させるための機構は、可動干渉物から構成される、
ことを特徴とする請求項１３又は１４に記載の産業用ロボット。
【請求項１６】
制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存することと、
予め所定の記憶装置に記憶された、前記制御対象の機械的な基準位置を示す基準位置データと前記保存された位置データとに基づいて制御上の座標系を設定することと、
前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存することと、
前記基準位置データが消失したか否かを判断することと、
前記判断により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データに基づいて、前記制御上の座標系を再現することと、
を含む、
ことを特徴とする座標系の再現方法。
【請求項１７】
コンピュータを、
制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存する手段、
予め所定の記憶装置に記憶された、前記制御対象の機械的な基準位置を示す基準位置データと前記保存された位置データとに基づいて制御上の座標系を設定する手段、
前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存する手段、
前記基準位置データが消失したか否かを判断する手段、
前記判断により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データとに基づいて、前記制御上の座標系を再現する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標系を設定してその座標系に基づいて制御対象を制御する制御装置、制御装置を有する産業用ロボット、座標系を設定することができなくなった場合に以前の座標系を再現する方法及びプログラムに関する。
【背景技術】
【０００２】
多関節型ロボット、直交型ロボット、又は単軸ロボットなど、多くの産業用ロボットは、各運動軸について位置検出器を有する。そして、位置検出器としては、アブソリュートタイプのエンコーダ（以下、ＡＢＳエンコーダという）が用いられることが多い。この場合、産業用ロボットの制御装置は、ＡＢＳエンコーダによる検出値を順逆変換してツールの位置及び姿勢を制御することができる。そこで、こうしたロボットの制御においては、制御上の位置（ＡＢＳエンコーダによる検出位置）と現実の位置（各運動軸の機械的な位置）とを対応させるべく、座標系の設定（定義）がなされる。
【０００３】
座標系を設定する方法の一例が、特許文献１に開示されている。この方法では、専用の測定器や治工具などを使用して、各運動軸の機械的な位置を示す基準位置データを取得し、この基準位置データを基準にして、制御で用いる座標系の設定がなされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３２９７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、いったん座標系が設定されれば、それ以降はその座標系が使用される。しかしながら、モータ交換前におけるエンコーダの組み付け位置をモータ交換後に再現することは困難であるため、モータ交換後においては、基準位置データに基づいて再び座標系の設定が行われる。しかしこのとき、基準位置データが消失してしまっていることがある。この場合、専用の測定器や治工具などを使用して、基準位置データを再取得することも考えられるが、こうした手法では、手間がかかり、コストや作業時間の面で不利になる。また、状況によっては、専用の測定器や治工具を装着できない場合もある。この場合は、元の基準位置データを取得した位置とは異なる位置で基準位置データを取得することも考えられるが、こうした手法では、データを取得する位置が異なるため、元の基準位置データに基づく座標系と新たな基準位置データに基づく座標系との間で歪み（位置ずれ）が生じることが懸念される。さらに、座標系の歪みに起因して、ティーチング位置がずれるおそれもある。
【０００６】
本発明は、こうした実情に鑑みてなされたものであり、座標系を設定した後にその座標系の設定に用いた基準位置データが消失した場合にも、容易にその座標系を再現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係る制御装置は、制御対象の機械的な基準位置を示す基準位置データを記憶するための基準値記憶部と、前記制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存する基準取得部と、前記位置データと前記基準位置データとに基づいて制御上の座標系を設定する第１座標系設定部と、前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存する相対値取得部と、前記基準位置データが消失したか否かを判断する判断部と、前記判断部により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データとに基づいて、前記制御上の座標系を再現する第２座標系設定部と、を備える。
【０００８】
前記相対値取得部が前記相対データの取得及び保存を複数回行った場合において、ユーザの入力又は所定の条件に基づいて、最新の相対データ及びそれよりも前に保存された相対データの中から、前記制御上の座標系の再現に用いる相対データを選択する相対データ選択部を備え、前記第２座標系設定部が、前記相対データ選択部で選択された相対データに基づいて、前記制御上の座標系を再現する、制御装置であってもよい。
【０００９】
前記相対データ選択部が、前記運動軸を前記検出位置に変位させるための機構に異常が生じた場合に、前記制御上の座標系の再現に用いる相対データとして、該異常が生じる前に保存された相対データを選択する、制御装置であってもよい。
【００１０】
前記検出位置がメカエンドであり、前記運動軸を前記検出位置に変位させるための機構が、メカニカルストッパから構成され、前記相対データ選択部が、前記メカニカルストッパの位置が前記メカエンドから位置ずれした場合に、前記制御上の座標系の再現に用いる相対データとして、該位置ずれが生じる前に保存された相対データを選択する、制御装置であってもよい。
【００１１】
前記運動軸を前記検出位置に変位させるための機構が、オーバートラベル検出器から構成され、前記相対データ選択部が、前記オーバートラベル検出器が位置ずれした場合に、前記制御上の座標系の再現に用いる相対データとして、該位置ずれが生じる前に保存された相対データを選択する、制御装置であってもよい。
【００１２】
前記基準取得部を第１基準取得部、前記位置データを第１位置データ、前記検出位置を第１検出位置、前記相対値取得部を第１相対値取得部、前記相対データを第１相対データとすると、前記制御対象の前記運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、第２検出位置についての第２位置データを取得し、それを保存する第２基準取得部と、前記基準位置データと前記第２位置データとの相対的な関係を示す第２相対データを取得し、それを保存する第２相対値取得部と、前記制御上の座標系の再現に、前記第１位置データ及び前記第２位置データのいずれを用いるかを、ユーザの入力又は所定の条件に基づき選択する位置データ選択部と、を備え、前記第２座標系設定部は、前記位置データ選択部で選択された位置データ及びそれに対応する相対データに基づいて、前記制御上の座標系を再現する、制御装置であってもよい。
【００１３】
前記第１検出位置及び前記第２検出位置が両端のメカエンドであり、前記運動軸を前記第１検出位置及び前記第２検出位置に変位させるための機構が、メカニカルストッパから構成される、制御装置であってもよい。
【００１４】
前記運動軸を前記第１検出位置に変位させるための機構が、メカニカルストッパから構成され、前記運動軸を前記第２検出位置に変位させるための機構が、センサから構成される、制御装置であってもよい。
【００１５】
前記検出位置がメカエンドであり、前記運動軸を前記検出位置に変位させるための機構が、メカニカルストッパから構成される、制御装置であってもよい。
【００１６】
前記運動軸を前記検出位置に変位させるための機構が、センサから構成される、制御装置であってもよい。
【００１７】
前記センサが、オーバートラベル検出器である、制御装置であってもよい。
【００１８】
本発明の第２の観点に係る産業用ロボットは、前記制御装置と、ロボット本体と、を備える。
【００１９】
前記運動軸を前記検出位置に変位させるための機構は、前記ロボット本体の外部の干渉物であってもよい。
【００２０】
前記運動軸を前記検出位置に変位させるための機構は、可動干渉物から構成されていてもよい。
【００２１】
前記判断部は、前記運動軸を駆動するためのモータが交換された時に、前記判断を実行してもよい。
【００２２】
本発明の第３の観点に係る座標系の再現方法は、制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存することと、予め所定の記憶装置に記憶された、前記制御対象の機械的な基準位置を示す基準位置データと前記保存された位置データとに基づいて制御上の座標系を設定することと、前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存することと、前記基準位置データが消失したか否かを判断することと、前記判断により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データに基づいて、前記制御上の座標系を再現することと、を含む。
【００２３】
本発明の第４の観点に係るプログラムは、コンピュータを、制御対象の所定の運動軸を所定の位置に変位させた状態で位置の検出を行うことにより、その検出位置についての位置データを取得し、それを保存する手段、予め所定の記憶装置に記憶された、前記制御対象の機械的な基準位置を示す基準位置データと前記保存された位置データとに基づいて制御上の座標系を設定する手段、前記基準位置データと前記位置データとの相対的な関係を示す相対データを取得し、それを保存する手段、前記基準位置データが消失したか否かを判断する手段、前記判断により前記基準位置データが消失したと判断された場合に、新たに前記検出を行うことにより前記検出位置についての位置データを取得し、該取得した位置データと前記保存された相対データとに基づいて、前記制御上の座標系を再現する手段、として機能させる。
【００２４】
なお、各構成要素の重複する機能に関しては、構成要素ごとに別々にその機能を実現する手段を設けてもよいが、１つの手段を複数の構成要素で共用するように構成すれば、全体の構成を簡素にすることができる。
【発明の効果】
【００２５】
本発明によれば、座標系を設定した後にその座標系の設定に用いた基準位置データが消失した場合にも、容易にその座標系を再現することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態１に係る産業用ロボット、及びその産業用ロボットに用いられる制御装置の概略構成を示すブロック図である。
【図２】実施形態１に係る産業用ロボットに用いられるロボット本体の概略構成を示す図である。
【図３Ａ】図２に示すロボット本体の第２アームの内部構造を示す図である。
【図３Ｂ】図３Ａに示す第２アームの回転運動のメカニカルストッパの構造を示す図である。
【図４】実施形態１に係る制御装置が実行する座標系設定処理の概要を示すフローチャートである。
【図５】図４の座標系設定処理において、第１位置データを取得し保存する処理の概要を示すフローチャートである。
【図６Ａ】直線運動の第１メカエンドへの押付け動作を説明するための図である。
【図６Ｂ】回転運動の第１メカエンドへの押付け動作を説明するための図である。
【図７】図４の座標系設定処理において、第２位置データを取得し保存する処理の概要を示すフローチャートである。
【図８Ａ】直線運動の第２メカエンドへの押付け動作を説明するための図である。
【図８Ｂ】回転運動の第２メカエンドへの押付け動作を説明するための図である。
【図９】実施形態１に係る制御装置が実行する座標系再現処理の概要を示すフローチャートである。
【図１０】本発明の実施形態２に係る産業用ロボット、及びその産業用ロボットに用いられる制御装置の概略構成を示すブロック図である。
【図１１】実施形態２に係る制御装置が実行する座標系設定処理の概要を示すフローチャートである。
【図１２】実施形態２に係る制御装置が実行する座標系再現処理の概要を示すフローチャートである。
【図１３】実施形態３に係る制御装置が実行する座標系再現処理の概要を示すフローチャートである。
【図１４】本発明の実施形態４に係る産業用ロボットの概略構成を示す図である。
【図１５】本発明の実施形態４に係る産業用ロボットの一例を示す図である。
【図１６】外部の物体（干渉物）をメカニカルストッパとして利用した産業用ロボットの一例を示す図である。
【図１７】図１６に示した産業用ロボットの動作を説明するための図である。
【図１８Ａ】可動干渉物を回転運動のメカニカルストッパとして利用した産業用ロボットの一例を示す図である。
【図１８Ｂ】可動干渉物を直線運動のメカニカルストッパとして利用した産業用ロボットの一例を示す図である。
【図１９】ロボット本体のベースの内部構造の一例を示す図である。
【図２０】ロボット本体の第２アームの内部構造の一例を示す図である。
【図２１】多関節型ロボットの全ての関節部の運動軸の各運動についてそれぞれ、本発明の実施形態１に係る座標系の設定及び再現を行う制御装置の一例を示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について説明する。
【００２８】
（実施形態１）
本実施形態の産業用ロボット１０００は、図１に示すように、制御装置１０と、ロボット本体２０と、を有する。本実施形態では、ロボット本体２０の動きが、制御装置１０によって制御される。産業用ロボット１０００は、例えば多関節型ロボットである。ただしこれに限定されず、産業用ロボット１０００は、他の産業用ロボットであってもよい。
【００２９】
制御装置１０は、基準値記憶部１０ａと、制御部１１と、第１座標系設定部１２と、第１基準取得部１２ａと、第１記憶部１２ｂと、第１座標記憶部１２ｃと、第２座標系設定部１３と、第２基準取得部１３ａと、第２記憶部１３ｂと、判断部１３ｃと、再現値記憶部１３ｄと、を有する。
【００３０】
このうち、制御部１１、第１座標系設定部１２、第１基準取得部１２ａ、第２座標系設定部１３、第２基準取得部１３ａ、及び判断部１３ｃは、例えばマイクロコンピュータ、すなわちＣＰＵ（Central Processing Unit）、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、及びＲＯＭ等に記憶されたプログラムなどから構成される。ここで、ＲＯＭは、各種処理を実行するためのプログラムやデータを記憶する。ＲＡＭは、データを一時的に記憶する。また、ＣＰＵは、ＲＯＭやＲＡＭ等からプログラムやデータを読み出して、プログラムの実行やデータ処理等を行う。
【００３１】
また、基準値記憶部１０ａ、第１記憶部１２ｂ、第１座標記憶部１２ｃ、第２記憶部１３ｂ、及び再現値記憶部１３ｄは、例えばハードディスクや不揮発性メモリなど、電源を切っても記憶内容を保持することができる記憶装置の一部又は全部の記憶領域として設けられる。また、新たにデータを格納しないもの、例えば本実施形態では基準値記憶部１０ａは、書き込み不能なＲＯＭ等の記憶領域として設けてもよい。なお、これらの記憶部は、同一の記憶装置において、異なる記憶領域として設けることもできるし、各々を異なる記憶装置の記憶領域として設けることもできる。さらには、１つの記憶部が、複数の記憶装置にわたって設けられていてもよい。
【００３２】
基準値記憶部１０ａには、予め基準位置データが記憶されている。この基準位置データは、直線運動（Ｚ方向）及び回転運動（回転軸：Ｚ軸）の各々について専用の測定器や治工具などを使用して得た精度の高い位置データ（特定の機械的な基準位置）である。
【００３３】
制御部１１は、ロボット本体２０が有する第１モータ２１及び第２モータ２２の回転運動を制御する。通常動作においては、制御部１１は、第１モータ２１、第２モータ２２の回転位置をそれぞれ示す第１エンコーダ２１ａ、第２エンコーダ２２ａの各信号に基づいて、フィードバック制御を行っている。すなわち、任意のタイミングで発せられるユーザの指令に基づいて回転運動に係るパラメータの目標値が決定されると、第１モータ２１及び第２モータ２２は、各パラメータをその目標値に近づけるように駆動される。一方、後述の座標系設定処理及び座標系再現処理においては、制御部１１は、第１座標系設定部１２等からの要求に基づき、第１モータ２１及び第２モータ２２の回転運動を制御する。
【００３４】
第１座標系設定部１２、第１基準取得部１２ａ、第２座標系設定部１３、第２基準取得部１３ａ、及び判断部１３ｃは、制御上の座標系を設定（定義）又は再現するために用いられる。なお、これらの機能及び動作については、後述の座標系設定処理及び座標系再現処理の説明において詳述する（図４〜図９参照）。
【００３５】
ロボット本体２０は、図２に示すように、ベース１０１と、第１アーム１０２と、第２アーム２００と、を有する。ベース１０１はストッパ１０１ａを有し、第１アーム１０２はストッパ１０２ａを有し、第２アーム２００は軸２３ｃを有する。ベース１０１と第２アーム２００とは、蛇腹菅１０３を介して、互いに連結されている。蛇腹菅１０３の中には、例えば第２アーム２００の電源ケーブル等が収容される。
【００３６】
ベース１０１と第１アーム１０２とは、例えばネジ等により、相対回動可能に互いに連結されている。また、第１アーム１０２と第２アーム２００とは、例えばネジ等により、相対回動可能に互いに連結されている。
【００３７】
ロボット本体２０は、３つの運動軸Ｌ１〜Ｌ３について運動をする。詳しくは、運動軸Ｌ１を回転軸として第１アーム１０２がベース１０１に対して順逆双方向の回転運動をし、運動軸Ｌ２を回転軸として第２アーム２００が第１アーム１０２に対して順逆双方向の回転運動をする。また、第２アーム２００の軸２３ｃは、運動軸Ｌ３に沿って往復運動（直線運動）するとともに、運動軸Ｌ３を回転軸として順逆双方向の回転運動をする。第２アーム２００の回転運動はストッパ１０２ａで規制され、第１アーム１０２及び第２アーム２００の回転運動はストッパ１０１ａで規制される。
【００３８】
第２アーム２００は、図３Ａに示すように、筐体２０１と、第１モータ２１と、第２モータ２２と、ボールねじ・スプライン２３と、ベルト２４ａ、２４ｂと、ストッパ２５ａ、２５ｂと、を有する。
【００３９】
ボールねじ・スプライン２３は、サポートベアリング２３ａ、２３ｂと、軸２３ｃと、から構成される。軸２３ｃには、Ｚ１側から順に、ストッパ２５ａ、サポートベアリング２３ａ、２３ｂ、ストッパ２５ｂが取り付けられている。軸２３ｃには、ボールねじ溝とボールスプライン溝とがクロスして設けられており、さらにサポートベアリング２３ａ、２３ｂが取り付けられていることにより、１軸で、回転運動、直線運動、及びスパイラル運動が可能となる。
【００４０】
サポートベアリング２３ａはボールねじナットを介して軸２３ｃに取り付けられ、サポートベアリング２３ｂはスプライン外筒を介して軸２３ｃに取り付けられる。これらサポートベアリング２３ａ、２３ｂの各々は、ボールねじナット又はスプライン外筒のほか、例えばボール、リテーナ、外輪、シール、及びシムプレート等によって構成される。なお、この種のベアリングの構造は公知の構造であるため詳細については説明を割愛する。
【００４１】
第１モータ２１は、第１エンコーダ２１ａと、出力軸２１ｂと、を有する。第１モータ２１は、例えばサーボモータである。第１モータ２１で得られる回転運動は、出力軸２１ｂに出力される。出力軸２１ｂは、ベルト２４ａを介して、ボールねじ・スプライン２３のサポートベアリング２３ａと接続される。これにより、出力軸２１ｂの回転力がサポートベアリング２３ａに伝達され、サポートベアリング２３ａが出力軸２１ｂと連動して回転することになる。そして、サポートベアリング２３ａでベルト２４ａの回転運動が軸２３ｃの直線運動（Ｚ方向）に変換される。すなわち、第１モータ２１により、ボールねじ・スプライン２３の軸２３ｃを上下（Ｚ１側又はＺ２側）に直線駆動することができる。
【００４２】
また、第１モータ２１の出力軸２１ｂには、回転センサとしての第１エンコーダ２１ａが取り付けられている。第１モータ２１（出力軸２１ｂ）の回転位置、回転量、又は回転速度等は、第１エンコーダ２１ａにより検出することができる。第１エンコーダ２１ａは、例えば光学式又は磁気式のアブソリュートタイプのエンコーダ（以下、ＡＢＳエンコーダという）である。
【００４３】
第２モータ２２は、第２エンコーダ２２ａと、出力軸２２ｂと、減速器２２ｃと、を有する。第２モータ２２は、例えばサーボモータである。第２モータ２２の回転運動は、減速器２２ｃによって所定の減速比で減速され、出力軸２２ｂに出力される。出力軸２２ｂは、ベルト２４ｂを介して、ボールねじ・スプライン２３のサポートベアリング２３ｂと接続される。これにより、出力軸２２ｂの回転力がサポートベアリング２３ｂに伝達され、サポートベアリング２３ｂが出力軸２２ｂと連動して回転することになる。さらに、そのサポートベアリング２３ｂの回転運動は軸２３ｃに伝達され、軸２３ｃも出力軸２２ｂと連動して回転することになる。すなわち、第２モータ２２により、ボールねじ・スプライン２３の軸２３ｃを回転駆動することができる。本実施形態では、Ｚ軸が、その回転運動の回転軸となる。
【００４４】
また、第２モータ２２の出力軸２２ｂには、回転センサとしての第２エンコーダ２２ａが取り付けられている。第２モータ２２（出力軸２２ｂ）の回転位置、回転量、又は回転速度等は、第２エンコーダ２２ａにより検出することができる。第２エンコーダ２２ａは、例えば光学式又は磁気式のＡＢＳエンコーダである。
【００４５】
ストッパ２５ａ、２５ｂは、リング状の外形を有する。すなわち、ストッパ２５ａ、２５ｂの真ん中には穴が形成されており、その穴には軸２３ｃが挿入される。そして、ストッパ２５ａ、２５ｂは、軸２３ｃの所定の位置に機械的又は化学的に固定される。本実施形態では、ストッパ２５ａ、２５ｂが、軸２３ｃの端部に固定される。これにより、ストッパ２５ａ、２５ｂは、軸２３ｃと一体に移動することになる。
【００４６】
このため、ボールねじ・スプライン２３の軸２３ｃがＺ１側へ移動すると、Ｚ１側へ移動するほどストッパ２５ｂが筐体２０１に近づき、ついにはストッパ２５ｂの内側面２５ｄ（Ｚ１側の面）と筐体２０１の表面２０１ｂ（Ｚ２側の面）とが当接し、それ以上移動できなくなる。他方、ボールねじ・スプライン２３の軸２３ｃがＺ２側へ移動すると、Ｚ２側へ移動するほどストッパ２５ａが筐体２０１に近づき、ついにはストッパ２５ａの内側面２５ｃ（Ｚ２側の面）と筐体２０１の表面２０１ａ（Ｚ１側の面）とが当接し、それ以上移動できなくなる。このように、第２アーム２００において、ボールねじ・スプライン２３の軸２３ｃが上下する場合、Ｚ１側への運動はストッパ２５ｂで規制され、Ｚ２側への運動はストッパ２５ａで規制される。したがって、本実施形態の第２アーム２００では、軸２３ｃの直線運動（Ｚ方向）についての機械的な可動範囲が、ストッパ２５ａ、２５ｂの位置によって決まる。ストッパ２５ａ、２５ｂは、メカニカルストッパに相当する。また、ストッパ２５ａ、２５ｂが筐体２０１と当接する位置は、それぞれ第１メカエンド、第２メカエンドに相当する。
【００４７】
また、図３Ｂに示すように、本実施形態では、軸２３ｃに、ストッパピン２６を有する円板２６ａが取り付けられている。円板２６ａは、軸２３ｃと同心円状に、且つ、一体に組み付けられ、軸２３ｃと共に回転する。そして、ストッパピン２６は、円板２６ａと共に回転する。円板２６ａの近傍には、ストッパブロック２７ａ、２７ｂが配置される。ストッパブロック２７ａ、２７ｂは、例えば筐体２０１などに固定され、軸２３ｃとは連動しない。したがって、軸２３ｃが回転すると、ストッパピン２６とストッパブロック２７ａ、２７ｂとは、相対的に変位し、所定の回転位置で、ストッパピン２６がストッパブロック２７ａ、２７ｂに当たる。これにより、円板２６ａ、ひいては軸２３ｃの回転運動が規制される。
【００４８】
具体的には、ボールねじ・スプライン２３の軸２３ｃがθ１側（例えばＣＷ方向）へ回転すると、θ１側へ回転するほどストッパピン２６がストッパブロック２７ａに近づき、ついには当接し、それ以上回転できなくなる。他方、ボールねじ・スプライン２３の軸２３ｃがθ２側（例えばＣＣＷ方向）へ回転すると、θ２側へ回転するほどストッパピン２６がストッパブロック２７ｂに近づき、ついには当接し、それ以上回転できなくなる。このように、第２アーム２００において、ボールねじ・スプライン２３の軸２３ｃが回転する場合、θ１側への運動はストッパブロック２７ａで規制され、θ２側への運動はストッパブロック２７ｂで規制される。したがって、本実施形態の第２アーム２００では、軸２３ｃの回転運動（回転軸：Ｚ軸）についての機械的な可動範囲が、ストッパブロック２７ａ、２７ｂの位置によって決まる。ストッパピン２６及びストッパブロック２７ａ、２７ｂは、メカニカルストッパに相当する。また、ストッパブロック２７ａ、２７ｂがストッパピン２６と当接する回転位置は、それぞれ第１メカエンド、第２メカエンドに相当する。
【００４９】
なお、円板２６ａ及びストッパピン２６は、第２モータ２２の出力軸２２ｂに取り付けてもよい。
【００５０】
以下、産業用ロボット１０００の動作について説明する。制御装置１０は、例えば図４及び図９に示すような処理、すなわち座標系設定処理及び座標系再現処理を実行する。これらの処理は、例えばＲＯＭ内のプログラムをＣＰＵが実行することで、開始され又は進行する。
【００５１】
図４の処理（座標系設定処理）は、例えば産業用ロボット１０００の起動ごとに実行される。ただし、図４の処理の実行タイミングは基本的には任意であり、例えば産業用ロボット１０００の起動後、周期的に図４の処理を実行してもよいし、繰り返し実行する必要がなければ産業用ロボット１０００の最初の起動時に１回だけ図４の処理を実行してもよい。あるいは、ユーザが好きなタイミングで図４の処理を実行できるようにしてもよい。
【００５２】
ステップＳ１１では、第１座標系設定機構に基づいて、第１位置データを取得する。具体的には、第１基準取得部１２ａが、制御部１１と協働して、図５に示す処理を実行する。なお、本実施形態では、ストッパ２５ｂによる運動規制機構と、ストッパブロック２７ａ及びストッパピン２６による運動規制機構と、第１エンコーダ２１ａ及び第２エンコーダ２２ａとが、第１座標系設定機構に相当する。
【００５３】
図５のステップＳ２１では、第１メカエンドへの押付け動作を実行する。詳しくは、図６Ａに示すように、ストッパ２５ｂの内側面２５ｄが筐体２０１の表面２０１ｂに当接するまで、ボールねじ・スプライン２３の軸２３ｃをＺ１側へ変位させる。また、図６Ｂに示すように、ストッパピン２６がストッパブロック２７ａに当接するまで、ボールねじ・スプライン２３の軸２３ｃをθ１側へ回転（変位）させる。
【００５４】
本実施形態では、モータ駆動により第１メカエンドへの押付けを実行しているが、これは手動（手押し）で行ってもよい。また、第１メカエンドへの押付けを、モータ駆動及び手動のいずれで行うかを、ユーザが選択できるようにしてもよい。
【００５５】
続けて、図５のステップＳ２２では、上記押付け動作をしたままの状態（図６Ａ、図６Ｂ）で、第１エンコーダ２１ａ、第２エンコーダ２２ａの値を読み込み、それを第１記憶部１２ｂの所定の記憶領域に格納する。なお、図４の処理が繰り返し実行されることによって第１記憶部１２ｂに記憶されるエンコーダ値は更新されるが、少なくとも初期値は（必要があれば前回値なども）、最新値とは別に保存しておくことが好ましい。こうすることで、ストッパ２５ｂ、ストッパピン２６、又はストッパブロック２７ａが初期の位置からずれるなどして、第１メカエンドが移動した場合に、初期値と最新値との差から、それを検知することができる。また、メカエンドのずれを検知する手法としては、最新値と前回値との差を求める処理を実行することも有効である。
【００５６】
続けて、図５のステップＳ２３では、第１メカエンドへの押付け動作を解除する。
【００５７】
ここでは、直線運動の第１位置データの取得と回転運動の第１位置データの取得とを同時に行う例を示したが、いずれか一方の第１位置データを取得してから、他方の第１位置データを取得してもよい。すなわち、例えば直線運動について図５の処理を行って第１位置データを取得した後、再度図５の処理を行って、回転運動ついての第１位置データを取得してもよい。
【００５８】
続けて、図４のステップＳ１２では、第２座標系設定機構に基づいて、第２位置データを取得する。具体的には、第２基準取得部１３ａが、制御部１１と協働して、図７に示す処理を実行する。なお、本実施形態では、ストッパ２５ａによる運動規制機構と、ストッパブロック２７ｂ及びストッパピン２６による運動規制機構と、第１エンコーダ２１ａ及び第２エンコーダ２２ａとが、第２座標系設定機構に相当する。
【００５９】
図７のステップＳ３１では、第２メカエンドへの押付け動作を実行する。詳しくは、図８Ａに示すように、ストッパ２５ａの内側面２５ｃが筐体２０１の表面２０１ａに当接するまで、ボールねじ・スプライン２３の軸２３ｃをＺ２側へ変位させる。また、図８Ｂに示すように、ストッパピン２６がストッパブロック２７ｂに当接するまで、ボールねじ・スプライン２３の軸２３ｃをθ２側へ回転（変位）させる。
【００６０】
本実施形態では、モータ駆動により第２メカエンドへの押付けを実行しているが、これは手動（手押し）で行ってもよい。また、第２メカエンドへの押付けを、モータ駆動及び手動のいずれで行うかを、ユーザが選択できるようにしてもよい。
【００６１】
続けて、図７のステップＳ３２では、上記押付け動作をしたままの状態（図８Ａ、図８Ｂ）で、第１エンコーダ２１ａ、第２エンコーダ２２ａの値を読み込み、それを第２記憶部１３ｂの所定の記憶領域に格納する。なお、図４の処理が繰り返し実行されることによって第２記憶部１３ｂに記憶されるエンコーダ値は更新されるが、少なくとも初期値は（必要があれば前回値なども）は、最新値とは別に保存しておくことが好ましい。こうすることで、ストッパ２５ａ、ストッパピン２６、又はストッパブロック２７ｂが初期の位置からずれるなどして、第２メカエンドが移動した場合に、初期値と最新値との差から、それを検知することができるからである。また、メカエンドのずれを検知する手法としては、最新値と前回値との差を求める処理を実行することも有効である。
【００６２】
続けて、図７のステップＳ３３では、第２メカエンドへの押付け動作を解除する。
【００６３】
ここでは、直線運動の第２位置データの取得と回転運動の第２位置データの取得とを同時に行う例を示したが、いずれか一方の第２位置データを取得してから、他方の第２位置データを取得してもよい。すなわち、例えば直線運動について図７の処理を行って第２位置データを取得した後、再度図７の処理を行って、回転運動ついての第２位置データを取得してもよい。
【００６４】
続けて、図４のステップＳ１３では、第１座標系設定部１２が、直線運動（Ｚ方向）及び回転運動（回転軸：Ｚ軸）の各々について専用の測定器や治工具などを使用して得た基準位置データを、基準値記憶部１０ａから読み出す。
【００６５】
続けて、図４のステップＳ１４では、第１座標系設定部１２が、第１位置データ（ステップＳ１１）と基準位置データ（ステップＳ１３）とに基づいて第１座標データを算出し、それを第１記憶部１２ｂの所定の記憶領域に格納する。また、第１座標系設定部１２は、第２位置データ（ステップＳ１２）と基準位置データ（ステップＳ１３）とに基づいて第２座標データを算出し、それを第２記憶部１３ｂの所定の記憶領域に格納する。そして、ステップＳ１５で、第１座標系設定部１２は、それらの座標データのうち、いずれか一方の座標データを、第１座標記憶部１２ｃの所定の記憶領域に格納する。これにより、その座標データが、第１座標系として設定される。第１位置データ及び第２位置データのどちらに基づく第１座標系を用いるかは、例えば予めユーザが任意に設定し、任意のタイミングで変更することができることとする。
【００６６】
ここで、第１座標系の座標Ａａは、第１位置データ又は第２位置データ（エンコーダ位置）をＡｅ、ギア比をＢ、基準位置データ（原点プリセット値）をＣとすると、Ａａ＝Ａｅ×Ｂ＋Ｃという式により求められる。第１座標系設定部１２は、こうした式より、第１座標系の各座標を算出し、それを第１記憶部１２ｂの所定の記憶領域に格納する（ステップＳ１４）。そして、ユーザが選んだ方の座標データが、第１座標系設定部１２により第１座標記憶部１２ｃに格納され、第１座標系として設定される（ステップＳ１５）。これにより、制御部１１は、以後その第１座標系に基づいて、第１モータ２１及び第２モータ２２を制御するようになる。
【００６７】
なお、上記式中のギア比Ｂは定数であるため、ステップＳ１４で算出される第１座標系の座標データは、第１位置データ又は第２位置データと基準位置データとの相対的な関係を示す情報であり、基準位置データに対する第１位置データ又は第２位置データの相対データに相当する。したがって、第１位置データ又は第２位置データと基準位置データとのいずれか一方が不明であっても、他方が分かっていれば、相対データからその不明な方のデータを導き出すことができる。本実施形態では、第１位置データ又は第２位置データ（Ａｅ）と基準位置データ（Ｃ）との相対データとして、上記式Ａａ＝Ａｅ×Ｂ＋Ｃにより得られる第１座標系の座標データ（Ａａ）を保存することとしているが、これに限定されず、両者の差や比などを相対データとして保存してもよい。相対データは、両者の相対的な関係を示す情報であれば任意である。
【００６８】
上記ステップＳ１５をもって、図４の一連の処理は終了する。
【００６９】
図９の処理（座標系再現処理）は、上記図４の処理で第１座標系を設定することができない場合、具体的には基準位置データが消失した場合に、他の方法で第１座標系を再現する処理である。以下、図４の処理で設定された第１座標系と区別するため、図９の処理で再現された座標系を、第２座標系という。
【００７０】
なお、図９の処理は、例えばモータの交換時に実行される。ただし、図９の処理の実行タイミングは基本的には任意である。例えば産業用ロボット１０００の起動後、最初に図４の処理が終了することによって開始され、その後周期的に実行してもよい。また、産業用ロボット１０００の起動ごとに図９の処理を実行してもよい。あるいは、モータ以外の部品に交換や異常があった場合、あるいは長期にわたって産業用ロボット１０００を使用（起動）しなかった場合に、図９の処理を実行してもよい。さらには、ユーザが好きなタイミングで図９の処理を実行できるようにしてもよい。
【００７１】
ステップＳ４１では、判断部１３ｃが、基準値記憶部１０ａに記憶されていた基準位置データが消失していないかどうかを判断する。基準位置データの有無は、判断部１３ｃが、基準値記憶部１０ａにアクセスして直接的に判断しても、あるいはステップＳ１４で算出された座標データ等を見て間接的に判断してもよい。
【００７２】
ステップＳ４１で基準位置データが消失していないと判断された場合（ステップＳ４１：ＮＯ）には、ステップＳ４２〜Ｓ４８の処理は行わずに、図９の一連の処理を終了する。この場合、制御部１１は、図４の処理で設定された第１座標系（ステップＳ１５）に基づいて、第１モータ２１及び第２モータ２２を制御することになる。
【００７３】
他方、ステップＳ４１で基準位置データが消失したと判断された場合（ステップＳ４１：ＹＥＳ）には、第２座標系設定部１３が、続くステップＳ４２〜Ｓ４８で、制御部１１及び第１座標系設定部１２と協働して、座標系再現処理を実行する。
【００７４】
ステップＳ４２では、ユーザが、第１位置データ、第２位置データのどちらを使って座標系再現処理を行うかを選ぶ。具体的には、例えば第２座標系設定部１３が、ユーザに対して入力を要求する画面を所定のモニタに表示して待機し、ユーザはそれを見て、所定の入力装置（例えばキーボード、マウス、又はタッチパネル等）を通じて、いずれの位置データを使用するかを入力する。
【００７５】
本実施形態では、座標系の再現に用いる位置データ（第１位置データ又は第２位置データ）をユーザが選ぶようにしているが、これに限定されない。例えば所定の条件に従って、いずれかの位置データが自動的に選択されるようにしてもよい。具体的には、例えば故障等により、第１座標系設定機構及び第２座標系設定機構のいずれか一方の機構が使用できなくなっている場合には、自動的に他方の機構に基づく位置データを使用することなどが有効である。
【００７６】
続けて、ステップＳ４３、Ｓ４４では、図５のステップＳ２１、Ｓ２２又は図７のステップＳ３１、Ｓ３２と同様、ステップＳ４２で選択された位置データに対応するメカエンド（第１メカエンド又は第２メカエンド）への押付け動作及びエンコーダ値の読み込みを実行する。そして、得られたエンコーダ値は、図５又は図７の処理で得たエンコーダ値とは区別して、第１記憶部１２ｂ又は第２記憶部１３ｂの所定の記憶領域に格納する。
【００７７】
続けて、第２座標系設定部１３は、ステップＳ４５において、図４のステップＳ１４で算出し保存した第１座標系の座標データのうち、ステップＳ４２で選択された位置データに対応する座標データ（第１座標データ又は第２座標データ）を第１記憶部１２ｂ又は第２記憶部１３ｂから読み出す。本実施形態では、座標データの最新値を使用する。なお、ここで読み出される座標データは、前述したように、相対データに相当する。
【００７８】
続けて、第２座標系設定部１３は、ステップＳ４６において、ステップＳ４４で得たエンコーダ値と、ステップＳ４５で得た座標データ（相対データ）とに基づいて、原点プリセット値を算出する。原点プリセット値は、第２座標系の基準値に相当するものであり、高い精度で第１座標系を再現するためには、ここで算出される原点プリセット値が基準位置データに近いことが好ましい。
【００７９】
具体的には、ステップＳ４４で得たエンコーダ値をＡｅ’、ギア比をＢとすると、メカエンド（ステップＳ４３）の位置Ｄ’は、Ｄ’＝Ａｅ’×Ｂという式により求められる。このメカエンドの位置Ｄ’（現在の位置）は、図４の処理で検出したときから大きくは変わっていないと考えられる。特に本実施形態では、検出データの最新値（ステップＳ４５）を使用しているため、両者はよく一致すると考えられる。
【００８０】
一方、図４の処理で検出したときのメカエンド（図５のステップＳ２１又は図７のステップＳ３１）の位置Ｄは、Ｄ＝Ａｅ×Ｂで表される。そして、ステップＳ４５で得た相対データ（座標Ａａ）は、メカエンドの位置Ｄに、基準位置データＣを足したもの（Ａａ＝Ａｅ×Ｂ＋Ｃ）である。すなわち、ＡａからＤ’を減算することによって、基準位置データＣを再現する原点プリセット値Ｃ’が得られる。これを式に表すと、Ｃ’＝Ａａ−Ｄ’＝（Ａｅ−Ａｅ’）×Ｂ＋Ｃとなる。
【００８１】
続けて、第２座標系設定部１３は、ステップＳ４７において、ステップＳ４６で算出した原点プリセット値に基づき、第２座標系の座標データを算出する。具体的には、第２座標系の座標Ａａ’は、ステップＳ４４で得たエンコーダ値をＡｅ’、ギア比をＢ、ステップＳ４６で算出した原点プリセット値をＣ’とすると、Ａａ’＝Ａｅ’×Ｂ＋Ｃ’という式により求められる。第２座標系設定部１３は、こうした式より、第２座標系の各座標を算出する。そして、算出した座標データを再現値記憶部１３ｄの所定の記憶領域に格納する。これにより、その座標データが、第２座標系として設定される。その結果、制御部１１は、以後その第２座標系に基づいて、第１モータ２１及び第２モータ２２を制御するようになる。
【００８２】
本実施形態の産業用ロボット１０００（特に制御装置１０）は、座標系の基準となる基準位置データを記憶するための基準値記憶部１０ａと、制御対象（ロボット本体２０）の所定の運動軸（直線運動の運動軸Ｌ３、回転軸としての運動軸Ｌ３）を所定の位置（第１メカエンド）に変位させた状態で位置の検出を行うことにより、第１検出位置についての第１位置データを取得し、それを保存する第１基準取得部１２ａと、制御対象の上記運動軸を所定の位置（第２メカエンド）に変位させた状態で位置の検出を行うことにより、第２検出位置についての第２位置データを取得し、それを保存する第２基準取得部１３ａと、位置データと基準位置データとに基づいて座標系（第１座標系）を設定する第１座標系設定部１２と、を備える。
【００８３】
本実施形態では、第１座標系設定部１２が、基準位置データに対する第１位置データの第１相対データを取得しそれを保存する第１相対値取得部、及び、基準位置データに対する第２位置データの第２相対データを取得しそれを保存する第２相対値取得部として機能する。
【００８４】
さらに、本実施形態の産業用ロボット１０００（特に制御装置１０）は、基準位置データが消失したか否かを判断する判断部１３ｃと、判断部１３ｃにより基準位置データが消失したと判断された場合に、上記検出を行うことにより検出位置についての位置データ（第１位置データ又は第２位置データ）を取得し、その取得した位置データと上記保存された相対データ（第１相対データ又は第２相対データ）とに基づいて、座標系（第１座標系）を再現する第２座標系設定部１３と、を備える。
【００８５】
また、第２座標系設定部１３は、座標系の再現に、第１位置データ及び第２位置データのいずれを用いるかを、ユーザの入力又は所定の条件に基づき選択し、その選択された位置データ及びそれに対応する相対データに基づいて、座標系を再現する。すなわち、本実施形態では、第２座標系設定部１３が位置データ選択部として機能する。
【００８６】
上記構成により、本実施形態の産業用ロボット１０００は、各運動軸のＡＢＳエンコーダからのフィードバックデータと運動軸の機械的な位置とを、複数の関係により（例えば１対３で）関連付けることができる。詳しくは、偶発的な原因により定義済みの座標系を消失してしまう前に、所定の機械的な位置（例えば元の基準データを取得した位置とは異なる位置）でフィードバックデータを取得し、基準データとの差分データ（歪量）を保存しておくことができる。そして、偶発的な原因により定義済みの座標系を消失した場合は、上記所定の機械的な位置において同じ要領でフィードバックデータを取得し、保存しておいた差分データとの関係により、元の基準データを取得した位置に相当するデータに変換して新たな基準データとすることができる。これにより、座標系消失前と同じ位置でのデータによって新たな座標系を定義し直すことができる。その結果、高い精度で座標系を再現することができる。
【００８７】
具体的には、本実施形態の産業用ロボット１０００では、予め基準位置データに対する第１位置データ、第２位置データの相対データ（第１相対データ、第２相対データ）を保存しておき、その相対データを用いて、基準位置データ、ひいては座標系を再現するようにしている。このため、専用の測定器や治工具などを使用せずとも、容易に座標系を再現することができる。
【００８８】
このように、本実施形態の産業用ロボット１０００によれば、基準位置データに基づいて座標系を設定することができなくなった場合でも、容易にその座標系を再現することが可能になる。
【００８９】
本実施形態では、第１位置データ及び第２位置データの両方について、基準位置データとの相対データを取得し、ユーザの入力又は所定の条件に基づき選択できるようにしている。こうすることで、何らかの理由で第１座標系設定機構及び第２座標系設定機構のいずれか一方の機構が使用できなくなった場合などにも、座標系を再現することが可能になる。
【００９０】
本実施形態では、第１検出位置及び第２検出位置が両端のメカエンド（第１メカエンド、第２メカエンド）であり、上記運動軸を第１検出位置及び第２検出位置に変位させるための機構は、メカニカルストッパから構成される。こうした構成であれば、正確な位置データを容易に取得することが可能になる。
【００９１】
本実施形態では、運動軸を駆動するための第１モータ２１又は第２モータ２２が交換された時に図９の処理が実行され、判断部１３ｃにより上記判断（ステップＳ４１）が実行される。これにより、モータの交換を円滑に行うことが可能になる。
【００９２】
（実施形態２）
本発明の実施形態２について、上記実施形態１との相違点を中心に説明する。なおここでは、上記図１等に示した要素と同一の要素には各々同一の符号を付し、既に説明した共通の部分、すなわち説明が重複する部分については、便宜上、その説明を割愛することとする。
【００９３】
本実施形態の産業用ロボット１０００も、基本的には、実施形態１の産業用ロボット１０００と同様の構成を有する。ただし、図１０に示すように、本実施形態の制御装置１０は、第２基準取得部１３ａと、第２記憶部１３ｂと、を有さない。そして、図４、図９の処理に代えて、図１１、図１２の処理を実行する。図１１の処理ではステップＳ１２の処理が、また、図１２の処理ではステップＳ４２の処理が、それぞれ割愛されている。すなわち、本実施形態では、第２位置データを取得せず、第１位置データのみを用いて、座標系再現処理を行う。なお、図１１、図１２の処理は、上記処理が割愛されていることを除けば図４、図９の処理と同様であるため、その詳細については説明を割愛することとする。
【００９４】
以上説明した本実施形態の産業用ロボット１０００によっても、実施形態１の産業用ロボット１０００と同様、基準位置データに基づいて座標系を設定することができなくなった場合に、容易にその座標系を再現することが可能になる。
【００９５】
また、実施形態１の産業用ロボット１０００よりも簡素な構成になるため、コスト面等で有利になる。
【００９６】
（実施形態３）
本発明の実施形態３について、上記実施形態２との相違点を中心に説明する。なおここでは、上記図１０等に示した要素と同一の要素には各々同一の符号を付し、既に説明した共通の部分、すなわち説明が重複する部分については、便宜上、その説明を割愛することとする。
【００９７】
本実施形態の産業用ロボット１０００も、基本的には、実施形態２の産業用ロボット１０００と同様の構成を有する。ただし、本実施形態では、図１３に示すように、ステップＳ４４とステップＳ４５との間において、第１座標系の再現に用いる相対データを選択するようにしている（ステップＳ４５０）。以下、このステップＳ４５０の処理について、詳しく説明する。
【００９８】
本実施形態では、図１１の処理が産業用ロボット１０００の起動ごとに実行される。これにより、第１座標系設定部１２により相対データの取得及び保存が複数回行われる。そして、図１３のステップＳ４５０において、ユーザが、第１記憶部１２ｂに保存された複数の相対データのうち、最新値、前回値、及び初期値のいずれを使って座標系再現処理を行うかを選ぶ。具体的には、例えば第２座標系設定部１３が、ユーザに対して入力を要求する画面を所定のモニタに表示して待機し、ユーザはそれを見て、例えば所定の入力装置（例えばキーボード、マウス、又はタッチパネル等）を通じて、上記相対データのいずれかを入力する。
【００９９】
本実施形態では、座標系の再現に用いる相対データを、最新値、前回値、又は初期値の中から選ぶようにしているが、選択肢の数も、種類も、これには限られない。例えば前々回値や第２保存値などを、上記選択肢に加えてもよい。
【０１００】
本実施形態では、座標系の再現に用いる相対データをユーザが選ぶようにしているが、これに限定されない。例えば所定の条件に従って、いずれかの相対データが自動的に選択されるようにしてもよい。具体的には、例えばメカニカルストッパ（ストッパ２５ｂ、ストッパブロック２７ａ、又はストッパピン２６等）の位置が第１メカエンドから位置ずれしたかどうかをセンサ等により検出するようにして、位置ずれが検出された場合に、その位置ずれが生じる前に保存された相対データが自動的に選択されるようにしてもよい。このように、メカニカルストッパ（運動軸を検出位置に変位させるための機構）に異常が生じた場合に、座標系の再現に用いる相対データとして、その異常が生じる前に保存された相対データを選択することで、より確実に正確な相対データを得ることが可能になる。
【０１０１】
ステップＳ４５０が設けられたことによって、続くステップＳ４５では、第２座標系設定部１３が、ステップＳ４５０で選択された相対データ（座標データ）を第１記憶部１２ｂから読み出し、続くステップＳ４６、Ｓ４７において、その相対データに基づいて、座標系を再現することになる。
【０１０２】
以上説明した本実施形態の産業用ロボット１０００によっても、実施形態２の産業用ロボット１０００と同様、基準位置データに基づいて座標系を設定することができなくなった場合に、容易にその座標系を再現することが可能になる。
【０１０３】
また、本実施形態の産業用ロボット１０００では、第１座標系設定部１２（相対値取得部）が、相対データの取得及び保存を複数回行う。そして、第２座標系設定部１３が、ユーザの入力又は所定の条件に基づいて、最新の相対データ及びそれよりも前に保存された相対データの中から、座標系（第１座標系）の再現に用いる相対データを選択する。すなわち、本実施形態では、第２座標系設定部１３が、相対データ選択部として機能する。
【０１０４】
このため、本実施形態の産業用ロボット１０００によれば、メカニカルストッパの位置ずれなどに起因して、メカエンドの位置Ｄ’（現在の位置）が、図１１の処理で検出したとき（最新値取得時）から変わってしまった場合にも、過去の相対データを用いて、より正確に座標系を再現することが可能になる。
【０１０５】
（実施形態４）
本発明の実施形態４について、上記実施形態１との相違点を中心に説明する。なおここでは、上記図１等に示した要素と同一の要素には各々同一の符号を付し、既に説明した共通の部分、すなわち説明が重複する部分については、便宜上、その説明を割愛することとする。
【０１０６】
本実施形態の産業用ロボット１０００も、基本的には、実施形態１の産業用ロボット１０００と同様の構成を有する。ただし、本実施形態では、図１４に示すように、メカニカルストッパ及びエンコーダに代えて、直接的に軸２３ｃの位置（Ｚ座標又は回転角度）を検出するセンサ２８を、第２座標系設定機構として利用する。すなわち、本実施形態では、直線運動（Ｚ方向）及び回転運動（回転軸：Ｚ軸）の各々について、それぞれセンサ２８を配置し、第１位置データ（図４のステップＳ１１）は、前述のメカニカルストッパ及びエンコーダ（第１座標系設定機構）によって取得し、第２位置データ（図４のステップＳ１２）は、センサ２８（第２座標系設定機構）によって取得する。
【０１０７】
より具体的には、多関節型産業用ロボットなどにおいては、ロボットの過度の動作（オーバートラベル）を抑制するため、例えば図１５に示すように、メカニカルストッパの手前に、オーバートラベル検出器としてのセンサ２８が設けられることが多い。そこで、オーバートラベル検出器を第２座標系設定機構として用いることが有効である。図１５の例では、軸２３ｃにドグ２８ａが取り付けられ、軸２３ｃと一体に回転する。これにより、ストッパピン２６がストッパブロック２７ａに当たる前に、ドグ２８ａがセンサ２８に検知され、軸２３ｃの回転運動が停止することになる。その結果、ロボットのオーバートラベルが抑制される。オーバートラベル検出器（センサ２８）としては、例えばリミットスイッチや近接センサ等を用いることができる。
【０１０８】
なお、図１５には、回転運動についてのオーバートラベル検出器を例示したが、一般に、直線運動についても、オーバートラベル検出器は使用されている。このため、直線運動及び回転運動の両方について、オーバートラベル検出器を第２座標系設定機構として用いることもできる。もっとも、オーバートラベル検出器に限られず、任意のセンサを第２座標系設定機構として用いることができる。
【０１０９】
以上説明した本実施形態の産業用ロボット１０００によっても、実施形態１の産業用ロボット１０００と同様、基準位置データに基づいて座標系を設定することができなくなった場合に、容易にその座標系を再現することが可能になる。
【０１１０】
また、本実施形態では、運動軸を第１検出位置に変位させるための機構をメカニカルストッパで構成し、運動軸を第２検出位置に変位させるための機構をセンサで構成している。これにより、多様な機構で位置データを取得することが可能になるため、制御の自由度が高まる。その結果、検出精度の向上や、フェイルセーフの強化が容易になる。
【０１１１】
なお、本実施形態では、第２座標系設定機構のみにセンサ２８を用いているが、これに限られず、例えば第１座標系設定機構及び第２座標系設定機構の両方について、直接的に軸２３ｃの位置（Ｚ座標又は回転角度）を検出する各種センサを用いてもよい。
【０１１２】
（他の実施形態）
ロボット本体２０内の部品以外、すなわち外部の物体（干渉物）をメカニカルストッパとして利用してもよい。例えば図１６に示すように、ストッパ２５ａ、２５ｂに代えて、外部の干渉物３０をメカニカルストッパとして利用してもよい。この例では、軸２３ｃがＺ１側へ移動すると、Ｚ１側へ移動するほど軸２３ｃが干渉物３０に近づき、ついには図１７に示すように、軸２３ｃの端面２３ｄ（Ｚ１側の頂面）と干渉物３０の表面３０ａとが当接し、それ以上移動できなくなる。すなわち、軸２３ｃのＺ１側への運動は干渉物３０で規制される。
【０１１３】
また、固定された干渉物以外、すなわちロボット本体２０内外の可動干渉物をメカニカルストッパとして利用してもよい。例えば図１８Ａ及び図１８Ｂに示すように、ストッパ２５ａ、２５ｂ又はストッパブロック２７ａ、２７ｂに代えて、可動干渉物４０をメカニカルストッパとして利用してもよい。これら図１８Ａ、図１８Ｂの例において、可動干渉物４０は、ストッパピン２６又は軸２３ｃと干渉しない位置に移動することもできるし、ストッパピン２６又は軸２３ｃと干渉する位置（図中の二点鎖線参照）に移動することもできる。こうした構成では、第１位置データ、第２位置データを取得する時（図４のステップＳ１１、Ｓ１２）に可動干渉物４０をストッパピン２６又は軸２３ｃと干渉する位置に移動させ、第１位置データ、第２位置データを取得した後、可動干渉物４０を干渉しない位置に戻すことで、通常運転時においては、ロボット本体２０の動作は可動干渉物４０によって妨げられない。
【０１１４】
上記各実施形態では、運動軸のＡＢＳエンコーダからのフィードバックデータと運動軸の機械的な位置とを、複数の関係（基準位置データ、第１相対データ、第２相対データ）により、１対２又は１対３で、関連付けるようにしたが、より多くの相対データを取得するようにして、１対４、１対５など、より多くの関連付けを行ってもよい。
【０１１５】
上記各実施形態では、運動軸Ｌ３の直線運動及び回転運動の両方について座標系の設定及び再現を行っているが、運動軸Ｌ３の直線運動及び回転運動のいずれか一方のみについて、上述の座標系の設定及び再現を行うようにしてもよい。また、より多くの運動軸について、上述の座標系の設定及び再現を行うようにしてもよい。座標系の設定及び再現に係る運動軸は、基本的には任意であり、軸２３ｃ以外の物体の運動、さらには直線運動、回転運動以外の運動について、上述の座標系の設定及び再現を行うようにしてもよい。
【０１１６】
以下、多関節型ロボットの全ての関節部の運動軸の各運動についてそれぞれ、実施形態１に係る座標系の設定及び再現を行う産業用ロボットの一例について説明する。
【０１１７】
図２に示したロボット本体２０のベース１０１には、運動軸Ｌ１について回転運動するため、例えば図１９に示すように、第３モータ５１が内蔵される。また、ロボット本体２０の第２アーム２００には、運動軸Ｌ２について回転運動するため、例えば図２０に示すように、第４モータ５２が内蔵される。ここで、第３モータ５１は、第３エンコーダ５１ａと、出力軸５１ｂと、を有し、第４モータ５２は、第４エンコーダ５２ａと、出力軸５２ｂと、を有する。また、第３エンコーダ５１ａ及び第４エンコーダ５２ａの各々は、例えばＡＢＳエンコーダである。
【０１１８】
各モータの出力軸５１ｂ、５２ｂは、それぞれ第１アーム１０２と連結される。これにより、出力軸５１ｂの回転に応じて第１アーム１０２がベース１０１に対して相対的に回転し、出力軸５２ｂの回転に応じて第２アーム２００が第１アーム１０２に対して相対的に回転することになる。
【０１１９】
こうしたロボット本体２０は、例えば図２１に示す制御装置１０により制御してもよい。この制御装置１０によれば、運動軸Ｌ３（図２）の直線運動（第１モータ２１）及び回転運動（第２モータ２２）だけではなく、運動軸Ｌ１及びＬ２（図２）の回転運動（第３モータ５１及び第４モータ５２）についても、上述の座標系の設定及び再現を行うことができる。こうした産業用ロボットでは、多関節型ロボットの全ての関節部の運動軸の各運動についてそれぞれ、上述の座標系の設定及び再現を行うことが可能になるため、ロボット全体の保守性が格段に向上する。
【０１２０】
産業用ロボット１０００は、多関節型ロボットに限定されず任意である。例えば産業用ロボット１０００は、直交型ロボット、又は単軸ロボットであってもよい。また、上記各実施形態の制御装置１０は、産業用ロボット以外の分野に適用してもよい。
【０１２１】
上記各実施形態におけるプログラムは、フレキシブルディスク（磁気記録ディスク等）、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等の記録媒体（コンピュータで読み取り可能な記録媒体）に格納されて配布可能にされたものであってもよい。この場合、そのプログラムを所定のコンピュータにインストールすることにより、上述の処理を実行することができる。また、上記各実施形態のプログラムは、通信ネットワーク（例えばインターネットやイントラネット等）上に設けられたサーバの記憶装置（ハードディスク等）に格納され、例えば搬送波に重畳されてローカルコンピュータにダウンロードされるものであっても、又は随時サーバから読み出されてローカルコンピュータで起動実行されるものであってもよい。なお、機能の一部をＯＳ（Operating System）が担う場合には、ＯＳが担う機能以外の部分のみを配布又は転送するようにしてもよい。
【０１２２】
制御装置１０の各機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を専用のハードウェア（回路等）によって実現するようにしてもよい。
【０１２３】
上記各実施形態において、制御装置１０及びロボット本体２０の構成（構成要素、寸法、形状、又は配置等）は、本発明の趣旨を逸脱しない範囲において任意に変更することができる。
【０１２４】
上記各実施形態やその変形例等は、任意に組み合わせることができる。用途等に応じて適切な組み合わせを選ぶことが好ましい。
【０１２５】
例えば図２１には、多関節型ロボットの全ての関節部の運動軸の各運動についてそれぞれ実施形態１に係る座標系の設定及び再現を行う制御装置を例示しているが、これに限定されない。多関節型ロボットの全ての関節部の運動軸の各運動についてそれぞれ、他の実施形態（実施形態２〜４のいずれか）又は変形例（図１６〜図１８Ｂ）に係る座標系の設定及び再現を行うようにしてもよい。
【０１２６】
また、例えば図９の処理（実施形態１）におけるステップＳ４４とステップＳ４５との間に、図１３の処理（実施形態３）におけるステップＳ４５０を設けてもよい。
【０１２７】
また、実施形態２、３において、運動軸を検出位置に変位させるための機構を、実施形態４で示したようなセンサ（例えばオーバートラベル検出器）で構成してもよい。この場合、図１３のステップＳ４５０（実施形態３）において、オーバートラベル検出器が位置ずれした場合に、座標系の再現に用いる相対データとして、その位置ずれが生じる前に保存された相対データを選択するようにしてもよい。
【０１２８】
以上、本発明の実施形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、「請求項」に記載されている発明や「発明を実施するための形態」に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。
【産業上の利用可能性】
【０１２９】
本発明の制御装置、座標系の再現方法、及びプログラムは、例えば産業用ロボットの制御において、座標系を設定することができなくなった場合に以前の座標系を再現するために用いることが有益である。本発明の産業用ロボットは、例えば機械装置や半導体装置の生産ライン等において用いることが有益である。
【符号の説明】
【０１３０】
１０  制御装置
１０ａ  基準値記憶部
１１  制御部
１２  第１座標系設定部
１２ａ  第１基準取得部
１２ｂ  第１記憶部
１２ｃ  第１座標記憶部
１３  第２座標系設定部
１３ａ  第２基準取得部
１３ｂ  第２記憶部
１３ｃ  判断部
１３ｄ  再現値記憶部
２０  ロボット本体
２１  第１モータ
２１ａ  第１エンコーダ
２１ｂ  出力軸
２２  第２モータ
２２ａ  第２エンコーダ
２２ｂ  出力軸
２２ｃ  減速器
２３  スプライン
２３ａ、２３ｂ  サポートベアリング
２３ｃ  軸
２３ｄ  端面
２４ａ、２４ｂ  ベルト
２５ａ、２５ｂ  ストッパ
２５ｃ、２５ｄ  内側面
２６  ストッパピン
２６ａ  円板
２７ａ、２７ｂ  ストッパブロック
２８  センサ
２８ａ  ドグ
３０  干渉物
３０ａ  表面
４０  可動干渉物
５１  第３モータ
５１ａ  第３エンコーダ
５１ｂ  出力軸
５２  第４モータ
５２ａ  第４エンコーダ
５２ｂ  出力軸
１０１  ベース
１０２  第１アーム
１０３  蛇腹菅
２００  第２アーム
２０１  筐体
２０１ａ、２０１ｂ  表面
１０００  産業用ロボット
【図１】
0005629528.tif 000002
【図２】
0005629528.tif 000003
【図３Ａ】
0005629528.tif 000004
【図３Ｂ】
0005629528.tif 000005
【図４】
0005629528.tif 000006
【図５】
0005629528.tif 000007
【図６Ａ】
0005629528.tif 000008
【図６Ｂ】
0005629528.tif 000009
【図７】
0005629528.tif 000010
【図８Ａ】
0005629528.tif 000011
【図８Ｂ】
0005629528.tif 000012
【図９】
0005629528.tif 000013
【図１０】
0005629528.tif 000014
【図１１】
0005629528.tif 000015
【図１２】
0005629528.tif 000016
【図１３】
0005629528.tif 000017
【図１４】
0005629528.tif 000018
【図１５】
0005629528.tif 000019
【図１６】
0005629528.tif 000020
【図１７】
0005629528.tif 000021
【図１８Ａ】
0005629528.tif 000022
【図１８Ｂ】
0005629528.tif 000023
【図１９】
0005629528.tif 000024
【図２０】
0005629528.tif 000025
【図２１】
0005629528.tif 000026