(57)【要約】【課題】大型の検査装置等を設置したりする必要がなく、ロボットの手先軸の原点位置を適切に較正できるロボットの手先軸原点位置較正方法、ロボットの制御装置を提供する。【解決手段】手先軸原点位置較正方法では、第１工程としてツールを第１位置に位置させた後（Ｓ１）、第２工程として測定板までの距離を第１位置における第１距離Ｌ１として測定し（Ｓ２）、第３工程としてツールを１８０°回転させるとともに（Ｓ３）、駆動対象軸を回転させることで測定板を第２位置に位置させた後（Ｓ４）、第４工程として測定板までの距離を第２距離Ｌ２として測定する（Ｓ５）。そして、第５工程として角度誤差ΔＡを求め（Ｓ６）、パルス誤差ΔＰを求め（Ｓ７）、補正ＣＡＬＳＥＴ値（補正値）を求めた後（Ｓ８）、第６工程として補正ＣＡＬＳＥＴ値を用いて手先軸の原点位置を較正する（Ｓ９）。【選択図】図５
2015047672.tif 000002
【特許請求の範囲】
【請求項１】
ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備え、各軸のモータに設けられている角度検出器から出力される前記モータの回転位置に対応したパルス信号数に基づいて姿勢が制御されるロボットに対し、前記駆動対象軸の較正が完了している状態で、前記手先軸の原点位置を較正するためのロボットの手先軸原点位置較正方法であって、
前記ロボットを、測定板を取り付けた前記手先軸の軸心と前記駆動対象軸の軸心とが互いに垂直であって、且つ、前記駆動対象軸の軸心と前記測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、前記手先軸の回転位置を前記測定板が前記測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第１位置に位置させる第１工程と、
前記距離測定手段により、前記第１位置における前記測定板までの距離を第１距離Ｌ１として測定する第２工程と、
前記手先軸の回転位置を前記垂直位置から１８０°となる位置に設定するとともに、前記駆動対象軸を回転させ、前記測定板を、前記手先軸の軸心から前記測定軸までの距離が前記第１位置のときと一致した状態で前記測定軸上の第２位置に位置させる第３工程と、
前記第２位置における前記測定板までの距離を第２距離Ｌ２として測定する第４工程と、
前記距離測定手段の前記測定軸から前記手先軸の軸心までの距離であるツール長さＬ３と、前記第１距離Ｌ１および前記第２距離Ｌ２の距離差とに基づいて、前記手先軸の前記垂直位置からのずれを表す角度誤差ΔＡを求め、
前記角度誤差ΔＡと、前記手先軸に設けられている前記角度検出器のビット数Ｎと、前記手先軸のギア比Ｇとに基づいて前記角度誤差ΔＡに対応するパルス信号数であるパルス誤差ΔＰを求め、
前記パルス誤差ΔＰと、前記垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、前記測定板が前記測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求める第５工程と、
前記補正後の設定値を用いて、前記手先軸の原点位置を較正する第６工程と、
を含むことを特徴とするロボットの手先軸原点位置較正方法。
【請求項２】
前記角度誤差ΔＡを、以下の式
ΔＡ＝（１８０×（Ｌ１−Ｌ２））÷（２×Ｌ３×π）
により求め、
パルス誤差ΔＰを、以下の式
ΔＰ＝（ΔＡ×２＾Ｎ×Ｇ）÷３６０
により求め、
補正後の設定値を、以下の式
補正後の設定値＝初期設定値−ΔＰ
により求めることを特徴とする請求項１記載のロボットの手先軸原点位置較正方法。
【請求項３】
前記距離測定手段を、その測定軸が地面に対して垂直になるように設置し、
前記駆動対象軸を、その軸心が地面に対して垂直となるようにすることを特徴とする請求項１または２記載のロボットの手先軸原点位置較正方法。
【請求項４】
前記距離測定手段を、前記駆動対象軸の軸心と当該駆動対象軸の回転位置において予め設定されている基準位置とを結ぶ仮想的な直線の延長線上に設置し、
前記測定板を前記第１位置または前記第２位置に位置させる際、前記駆動対象軸を前記仮想的な直線に対して対称な角度で回転させることを特徴とする請求項１から３のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項５】
前記ロボットは、１軸の軸心が当該ロボットの設置面と直交し、２軸の軸心が１軸の軸心と直交し、２軸の軸心と３軸の軸心と５軸の軸心とが互いに平行で、５軸の軸心が４軸の軸心および６軸の軸心と同一点で直交するように構成された６軸ロボットであり、
前記手先軸は、前記６軸であり、
前記対象軸は、前記４軸であることを特徴とする請求項１から４のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項６】
前記ロボットは、１軸の軸心が当該ロボットの設置面と直交し、２軸の軸心が１軸の軸心と直交し、２軸の軸心と３軸の軸心と５軸の軸心とが互いに平行で、５軸の軸心が４軸の軸心および６軸の軸心と同一点で直交するように構成された６軸ロボットであり、
前記手先軸は、前記６軸であり、
前記対象軸は、前記１軸であることを特徴とする請求項１から４のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項７】
前記ロボットは、１軸の軸心が当該ロボットの設置面と直交し、２軸の軸心が１軸の軸心と直交し、２軸の軸心と３軸の軸心と５軸の軸心とが互いに平行で、５軸の軸心が４軸の軸心および６軸の軸心と同一点で直交するように構成された６軸ロボットであり、
前記手先軸は、前記６軸であり、
前記対象軸は、前記１軸および前記４軸の双方であることを特徴とする請求項１から４のいずれか一項記載のロボットの手先軸原点位置較正方法。
【請求項８】
ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備えたロボットを、各軸のモータに設けられている角度検出器から出力される前記モータの回転位置に対応したパルス信号数に基づいて制御を行うロボットの制御装置であって、
測定板を取り付けた前記手先軸の軸心と前記駆動対象軸の軸心とが互いに垂直であって、且つ、前記駆動対象軸の軸心と前記測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、前記手先軸の回転位置を前記測定板が前記測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第１位置に位置させる制御、ならびに、前記手先軸の回転位置を前記垂直位置から１８０°の位置に設定するとともに、前記駆動対象軸を回転させ、前記測定板を、前記手先軸の軸心から前記測定軸までの距離が前記第１位置のときと一致した状態で前記測定軸上の第２位置に位置させる制御を行う制御手段と、
前記距離測定手段により測定された前記第１位置における前記測定板までの距離である第１距離Ｌ１と、前記第２位置における前記測定板までの距離である第２距離Ｌ２と、前記手先軸の軸心から前記距離測定手段の軸心までの距離であるツール長さＬ３とに基づいて、前記垂直位置からのずれを表す角度誤差ΔＡを求め、
前記角度誤差ΔＡと、前記手先軸に設けられている前記角度検出器のビット数Ｎと、前記手先軸のギア比Ｇとに基づいて前記角度誤差ΔＡに対応するパルス信号数であるパルス誤差ΔＰを求め、
前記パルス誤差ΔＰと、前記垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、前記測定板が前記測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求める設定値取得手段と、
前記補正後の設定値を用いて、前記手先軸の原点位置を較正する較正手段と、
を備えることを特徴とするロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの手先軸原点位置較正方法、ロボットの制御装置に関する。
【背景技術】
【０００２】
例えば６軸ロボットなどの多関節型ロボットにおける各軸の原点位置の較正は、基本的には工場出荷時等の段階で行われ、工場から出荷されて設置先に設置された後ではモータなどの交換により原点位置が変更された場合に設置先にて行われることも考えられる。各軸の原点位置を較正する方法としては、大型の検査装置を設置したりする方法や（例えば特許文献１参照）、検出用の特殊センサを追加する方法（例えば特許文献１、２参照）がある。また、特許文献３から５には、６軸ロボットについて大型の検査装置を設置することなく、５軸、３軸、２軸の原点位置を較正する方法や装置が開示されている。
【特許文献１】特開平６−３０４８９３公報
【特許文献２】特開２００３−２２０５８７号公報
【特許文献３】特開２００９−２７４１８６号公報
【特許文献４】特開２００９−２７４１８７号公報
【特許文献５】特開２００９−２７４１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、大型の検査装置を設置する方法については設置するスペースを確保することが困難となるおそれがある。また、検出用の特殊センサを追加する方法についてはコストアップの原因になるので、実施を避けたいという事情がある。そして、これらの事情を考慮した上でロボットの手先軸に原点位置を較正する方法については、従来提案されていなかった。
本発明は、上記事情に鑑みてなされたものであり、その目的は、大型の検査装置等を設置したりする必要がなく、ロボットの手先軸の原点位置を適切に較正できるロボットの手先軸原点位置較正方法、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００４】
請求項１記載の手先軸原点位置較正方法によれば、ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を取り得る軸心を有する駆動対象軸とを少なくとも備え、各軸のモータに設けられている角度検出器から出力されるモータの回転位置に対応したパルス信号数に基づいて姿勢が制御されるロボットにおいて、当該ロボットを、測定板を取り付けた手先軸の軸心と駆動対象軸の軸心とが互いに垂直であって、且つ、駆動対象軸の軸心と測定板までの距離を測定する距離測定手段の測定軸とが互いに平行となる姿勢に制御するとともに、手先軸の回転位置を測定板が測定軸に対して設計上垂直となる位置である垂直位置に設定した状態で、当該測定板を前記測定軸上の第１位置に位置させ（第１工程）、その第１位置において、測定板までの距離を第１距離Ｌ１として測定する（第２工程）。
【０００５】
続いて、手先軸の回転位置を垂直位置から１８０°の位置に設定するとともに、駆動対象軸を回転させ、測定板を、手先軸の軸心から測定軸までの距離が第１位置のときと一致した状態で測定軸上の第２位置に位置させ（第３工程）、第２位置における測定板までの距離を第２距離Ｌ２として測定する（第４工程）。
【０００６】
この場合、駆動対象軸の原点位置の較正は完了していることから、測定板を第１位置から第２位置まで移動させるために駆動対象軸を回転させたとしても、駆動対象軸の回転が第１距離Ｌ１および第２距離Ｌ２の測定結果に影響を与えることはない。換言すると、仮に第１距離Ｌ１と第２距離Ｌ２とに距離差が生じた場合、その距離差は、手先軸の回転に起因するものであると考えることができる。つまり、手先軸の回転に起因する距離差は、手先軸の垂直位置（測定軸に対して設計上、垂直になるはずの位置）が、実際のロボットではずれていたことにより生じたものであると考えられる。そして、第１位置と第２位置とでは手先軸を１８０°回転させていることから、距離差は、測定板と垂直位置とのずれ角度（後述する角度誤差ΔＡ）に応じた値となっている。
【０００７】
そこで、第１距離Ｌ１および第２距離Ｌ２の距離差と、測定板までの距離を測定した際の距離測定手段の測定軸から軸心までの距離であるツール長さＬ３とに基づいて、手先軸の原点位置からのずれを表す角度誤差ΔＡを求める。そして、角度誤差ΔＡと、手先軸に設けられている角度検出器のビット数Ｎと、手先軸のギア比Ｇとに基づいて、角度誤差ΔＡに対応するパルス信号数であるパルス誤差ΔＰを求めた後、そのパルス誤差ΔＰと、垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、実際のロボットにおいて測定板が測定軸に対して垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求め（第５工程）、補正後の設定値を用いて手先軸の原点位置を較正する（第６工程）。
【０００８】
このように、手先軸の軸心と距離測定手段の測定軸とが垂直となる状態を維持しつつ駆動対象軸のみを回転させ、手先軸の角度誤差ΔＡの影響のみが現れる２つの姿勢（第１位置、第２位置に対応する姿勢）を作り出し、その２つの姿勢における距離差から角度誤差ΔＡを求めることにより、補正後の設定値、すなわち、手先軸の原点位置を較正するための設定値を求めることができる。
【０００９】
このとき、較正に必要なのは、ロボット本体と、距離測定手段、および距離測定手段を設置するスペースだけであり、大きな測定スペースを設ける必要はない。また、距離を測定するだけであるので、検出用の特殊センサを追加する必要もない。したがって、大型の検査装置等を設置したりする必要がなく、手先軸の原点位置を適切に較正することができる。
また、駆動対象軸が較正済みであれば手先軸の原点位置を較正することができるため、較正作業を行う際において、各軸の較正状況の進捗に応じて作業順序を入れ替えることができる等、作業の自由度を向上させることができる。
【００１０】
請求項２記載の手先軸原点位置較正方法によれば、角度誤差ΔＡを、ΔＡ＝（１８０×（Ｌ１−Ｌ２））÷（２×Ｌ３×π）の式により求め、その角度誤差ΔＡに対応するパルス誤差ΔＰをΔＰ＝（ΔＡ×２＾Ｎ×Ｇ）÷３６０の式により求め、補正後の設定値を、補正後の設定値＝初期設定値−ΔＰの式により求める。
手先軸の軸心方向から視た場合、検出された距離差ΔＬは、角度誤差ΔＡ×２を頂角とする二等辺三角形の底辺の長さに相当する。このため、距離差ΔＬを測定すれば、ツール長さＬ３を既知として三角関数を用いて角度誤差ΔＡを求めることができる。
【００１１】
ただし、実際のロボットの場合、組立精度が極めて高いことから、角度誤差ΔＡはごく僅かなものであると考えられる。そのため、角度誤差ΔＡに起因する距離差ΔＬ（底辺の長さ）は、半径をツール長Ｌ３とした仮想的な円における円弧の長さとほぼ近似した値となる。そのため、角度誤差ΔＡは、円周の長さと距離差ΔＬとの比から簡便に求めることができる。そして、角度誤差ΔＡが求まればパルス誤差ΔＰが求まり、そのパルス誤差ΔＰを初期設定値から差し引くことにより、補正後の設定値を求めることができる。
【００１２】
請求項３記載の手先軸原点位置較正方法によれば、距離測定手段を、その測定軸が地面に対して垂直になるように設置し、駆動対象軸を、その軸心が地面に対して垂直となるようにする。一般にロボットの設置面と地面とは平行であることが多いため、距離測定手段を設置面に設置すればよいことから、距離測定手段の測定軸と駆動対象軸の軸心とを容易に平行にすることができる。また、駆動対象軸の軸心が重力の向きに沿った状態となっていることから、第１位置と第２位置とにおいて、測定板に加わる重力が同一方向となる。このため、距離差を求めることで重力による影響が相殺されるようになり、測定板に加わる重力の影響を排除した状態で角度誤差ΔＡを求めることができる。
【００１３】
請求項４記載の手先軸原点位置較正方法によれば、距離測定手段を駆動対象軸の軸心と当該駆動対象軸の回転位置において予め設定されている基準位置とを結ぶ仮想的な直線の延長線上に設置し、測定板を第１位置または第２位置に位置させる際、駆動対象軸を仮想的な直線に対して対称な角度で回転させる。すなわち、駆動対象軸を、その軸心と測定軸とを結ぶ仮想的な直線に対して、対称となるように回転させる。
【００１４】
駆動対象軸を回転させることによって測定板を第１位置と第２位置とに位置させる場合、角度誤差ΔＡを正確に求めるためには、双方の位置にてツール長さＬ３を一致させる必要がある。そこで、駆動対象軸を上記した仮想的な直線に対して対称となるように回転させる。これにより、第１位置における手先軸の軸心の向きと第２位置における手先軸の軸心の向きとが仮想的な直線に対して対称な位置関係となり、手先軸の軸心から測定軸までの距離が第１位置と第２位置とで同一となる。すなわち、第１位置と第２位置とにおいて、ツール長さＬ３を一致させることができる。したがって、角度誤差ΔＡを正確に求めることができる。
【００１５】
請求項５、６、７記載の手先軸原点位置較正方法によれば、６軸ロボットにおいて手先軸に対応する６軸の原点位置を、駆動対象軸（４軸、１軸、あるいはその双方）を回転させることにより較正することができる。このとき、６軸ロボットのような複数の軸を有する多関節ロボットであったとしても、請求項５の場合には４軸のみが較正済みであればよく、請求項６の場合には１軸のみが較正済みであればよく、請求項７の場合には１軸と４軸のみが較正済みであればよいため、較正対称となる軸が複数存在する６軸ロボットに対して手先軸（６軸）の原点位置を較正する際、他の軸の進捗状況に応じて較正する軸の作業順序を入れ替える等、作業時の自由度を向上させることができる。
【００１６】
請求項８記載の制御装置によれば、制御手段により測定板を上記した第１位置および第２位置に位置させる制御を行い、設定値取得手段により、第１距離Ｌ１および第２距離Ｌ２の距離差とツール長さＬ３とに基づいて手先軸の原点位置からのずれを表す角度誤差ΔＡを求め、その角度誤差ΔＡと手先軸に設けられている角度検出器のビット数Ｎと手先軸のギア比Ｇとに基づいて角度誤差ΔＡに対応するパルス信号数であるパルス誤差ΔＰを求め、そのパルス誤差ΔＰと垂直位置に対応するパルス信号数として予め設定されている初期設定値とに基づいて、測定板が測定軸に対して実際に垂直となる位置である実垂直位置に対応するパルス信号数である補正後の設定値を求めている。そして、較正手段により補正後の設定値を用いて手先軸の原点位置を較正する。これにより、上記した請求項１と同様の効果を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態におけるロボットの各軸の関係を模式的に示すとともに、原点位置を較正する際のロボットの姿勢をモデル化した図
【図２】制御装置の電気的構成を模式的に示す図
【図３】原点のずれが生じていない場合において、６軸を１８０°回転させた状態を模式的に示す図
【図４】原点のずれが生じている場合において、６軸を１８０°回転させた状態を模式的に示す図
【図５】原点位置較正処理を示すフローチャート
【図６】４軸の軸心とレーザ距離計の設置位置との関係を模式的に示す図
【図７】４軸を対駆動象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、（Ａ）はツールを第１位置に保持している状態、（Ｂ）は６軸を１８０°回転させた状態、（Ｃ）はツールを第２位置に保持している状態を示す図
【図８】第２実施形態における、１軸および４軸の軸心とレーザ距離計の設置位置との関係を模式的に示す図
【図９】１軸を駆動対象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、（Ａ）はツールを第１位置に保持している状態、（Ｂ）は６軸を１８０°回転させた状態、（Ｃ）はツールを第２位置に保持している状態を示す図
【図１０】第３実施形態における、１軸および４軸の双方を駆動対象軸とした場合におけるロボットの姿勢の変化を外観図とモデルとにより示す図で、（Ａ）はツールを第１位置に保持している状態、（Ｂ）は６軸を１８０°回転させた状態、（Ｃ）はツールを第２位置に保持している状態を示す図
【図１１】その他の実施形態における、原点位置を較正する際のロボットの姿勢の一例を示す図
【発明を実施するための形態】
【００１８】
以下、本発明の複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に共通する部分については、詳細な説明は省略する。
（第１実施形態）
以下、第１実施形態について図１から図７を参照して説明する。
図１の外観図に示すように、ロボット装置１は、ロボット２と、ロボット２の動作を制御する制御装置３と、制御装置３に接続されるティーチングペンダント４とを備えて構成されている。
【００１９】
ロボット２は、いわゆる垂直多関節型ロボットであり、設置面に設置されるベース５と、ベース５に水平方向に旋回可能に支持されているショルダ部６と、ショルダ部６に上下方向に旋回可能に支持されている下アーム７と、下アーム７に上下方向に旋回可能に支持されている第１の上アーム８と、第１の上アーム８の先端部に捻り回転可能に支持されている第２の上アーム９と、第２の上アーム９に上下方向に回転可能に支持されている手首１０と、手首１０に回転（捻り動作）可能に支持されているフランジ１１とを備えて構成されている。本実施形態の場合、ロボット２が設置される設置面は地面と水平となっている。
【００２０】
上記したベース５を含め、ショルダ部６、下アーム７、第１の上アーム８、第２の上アーム９、手首１０及びフランジ１１は、ロボット２のリンクとして機能し、ベース５を除く各リンクは、下段のリンクに対して回転関節により回転可能に連結されている。最先端のリンクであるフランジ１１は、ツール１２やワークを把持するためのハンド（エンドエフェクタとも称される。図示は省略する）等が取付け可能になっている。また、リンク同士を連結する回転関節には前段のリンク側に固定されているモータ２６の回転を減速して次段のリンクに伝達する減速機構が設けられている。
【００２１】
本実施形態では、第１のリンクであるベース５と第２のリンクであるショルダ部６との間を連結する回転関節の関節軸を１軸（Ｊ１）、第２のリンクであるショルダ部６と第３のリンクである下アーム７との間を連結する回転関節の関節軸を２軸（Ｊ２）、第３のリンクである下アーム７と第４のリンクである第１の上アーム８との間を連結する回転関節の関節軸を３軸（Ｊ３）、第４のリンクである第１の上アーム８と第５のリンクである第２の上アーム９との間を連結する回転関節の関節軸を４軸（Ｊ４）、第５のリンクである第２の上アーム９と第６のリンクである手首１０との間を連結する回転関節の関節軸を５軸（Ｊ５）、第６のリンクである手首１０と第７のリンクであるフランジ１１との間を連結する回転関節の関節軸を６軸（Ｊ６）としている。
【００２２】
すなわち、ロボット２は、図１のモデル図に示すように、１軸の軸心がロボット２の設置面と直交し、２軸の軸心が１軸の軸心と直交し、２軸の軸心と３軸の軸心と５軸の軸心とが互いに平行で、５軸の軸心が４軸の軸心および６軸の軸心と同一点で直交する構成となっている。この場合、４軸の軸心と５軸の軸心とは互いに直交しているとともに、１軸の軸心と５軸の軸心とは、図１の場合にはねじれの位置にて互いに垂直となっている。そして、本実施形態では、これらの各軸のうち、手先軸は、ロボット２の最先端側に位置し、ツール１２が取り付けられる６軸であり、駆動対象軸は、６軸の軸心に垂直となる位置関係を取り得る軸心を有する４軸である。なお、「垂直となる位置関係を取り得る軸心」とは、６軸に対する５軸のように常に両者の軸心が直交している（あるいは、２軸や３軸のように垂直となっている）に限らず、例えば４軸や１軸のように、５軸等を回転させることによりその軸心が６軸の軸心と直交あるいは垂直となることが可能なものであればよい。
【００２３】
また、詳細は後述するが、手先軸である６軸の原点位置を較正する際には、フランジ１１にツール１２（測定板に相当する）が取り付けられ、駆動対象軸である４軸が設置面に対して垂直となるようにロボット２の姿勢が制御されるとともに、距離測定手段としてのレーザ距離計１３は、ロボット２の設置面に設置されることで、その測定軸が４軸の軸心と平行な状態とされている。
【００２４】
ロボット２は、制御装置３によってその動作や姿勢が制御される。図２に示すように、ＣＰＵ２０、ＲＯＭ２１およびＲＡＭ２２等により構成された制御部２３（制御手段、設定値取得手段、較正手段に相当する）、駆動回路２４および位置検出回路２５を備えている。制御部２３は、ＲＯＭ２１に記憶されているシステムプログラムやプログラムを作成するためのロボット言語などに基づいて、周知のようにロボット２全体を制御する。駆動回路２４は、ロボット２の各軸に設けられているモータ２６を駆動する駆動信号を生成する。なお、図２では１つのモータ２６のみを示しているが、実際には、各軸それぞれにモータ２６が設けられている。
【００２５】
位置検出回路２５は、モータ２６の回転位置を検出するロータリエンコーダ２７（角度検出器に相当する）に接続されており、ロータリエンコーダ２７から出力されるパルス信号数に基づいて、各モータ２６の回転位置を検出する。より具体的には、位置検出回路２５は、ショルダ部６、各アーム７〜９、手首１０及びフランジ１１の位置を、各ロータリエンコーダ２７から出力された検出信号に基づいて、ベース５に対するショルダ部６の回転角度、ショルダ部６に対する下アーム７の回転角度、下アーム７に対する第１の上アーム８の回転角度、第１の上アーム８に対する第２の上アーム９の回転角度、第２の上アーム９に対する手首１０の回転角度、手首１０に対するフランジ１１の回転角度を検出し、それら検出した位置検出情報を制御部２３に出力する。そして、制御部２３は、動作プログラムに基づいてショルダ部６、各アーム７〜９、手首１０及びフランジ１１を動作させる際に、位置検出回路２５から入力する位置検出情報をフィードバック信号としてそれらの動作、つまり、ロボット２の姿勢を制御する。
【００２６】
次に、上記した構成の作用について説明する。
まず、原点位置を較正する原理について概略を説明する。なお、６軸の原点位置の較正時には、駆動対象軸である４軸の原点位置の較正は既に完了しているものとする。つまり、６軸の原点位置を較正する際には、駆動対象軸を回転させたことに起因する誤差を考慮しなくても良い状態となっている。
【００２７】
図３に示すように、６軸に対応するフランジ１１の回転軸（つまり、６軸の軸心）には、測定板としてのツール１２が取り付けられる。このツール１２は、概ね長方形の薄板状に形成されており、その板厚方向の中心線ＣＬ１が６軸の軸心から６軸の原点位置に沿って状態で、フランジ１１つまりは６軸に取り付けられている。図３の場合、６軸の軸心が設置面に対して平行となった状態を示している。また、設計上の６軸の原点位置（Ｊ６＝０°の位置）は、図示右方向つまり設置面に平行となる向きとなっている。この状態で、ロボット２は、ツール１２を取り付けた６の軸心と４軸の軸心とが互いに垂直であって、且つ、４軸の軸心とレーザ距離計１３の測定軸とが互いに平行となる姿勢に制御されているとともに、６軸の回転位置が、測定軸に対して設計上垂直となる位置である垂直位置に設定された状態となっている。また、レーザ距離計１３は、その測定軸と６軸の軸心との水平距離（図３に示す６軸の軸心方向から視た状態において、測定軸と６軸の軸心との双方に直交する線分の長さ。つまり、測定軸と６軸との最短距離）が、図３に示すようにツール長Ｌ３となる位置に設置されている。
【００２８】
このツール１２は、剛性を有する材料で自重による変形を抑制するように形成されているとともに、レーザ距離計１３から照射されるレーザ光１４をその表面で反射する。なお、図３に示すツール１２の形状は一例であり、例えば６軸の軸心から反対方向に伸びて形成されていてもよい。
以下、図３の左側に示す位置関係のように、６軸の回転位置が原点位置に設定されている状態でツール１２がレーザ距離計１３の測定軸上に存在する位置関係を第１位置と称する。また、図３の右側に示す位置関係のように、６軸の回転位置を１８０°に設定した状態で（本実施形態では、図３において反時計回りを６軸の正回転方向とする）、ツール１２が再びレーザ距離計１３の測定軸上に存在する位置関係を第２位置と称する。なお、詳細は後述するが、使用するレーザ距離計１３は１台であり、その設置位置は変化していない。すなわち、６軸の回転位置を０°に設定した状態と、６軸の回転位置を１８０°に設定した状態とでは、駆動対象軸（４軸等）のみを回転させることで、ツール１２を単一のレーザ距離計１３の測定軸上に位置させている。
【００２９】
さて、原点位置にずれが生じていない場合、ツール１２は、第１位置（Ｊ６＝０°の状態）に位置している状態ではその中心線ＣＬ１が設置面に対して水平となっている。そのため、６軸を回転させてツール１２を第２位置（Ｊ６＝１８０°の状態）に位置させたとしても、その中心線ＣＬ１は設置面に対して水平となる。つまり、原点位置にずれが生じていない場合には、第１位置において測定したツール１２までの距離である第１距離Ｌ１と、第２位置において測定したツール１２までの距離である第２距離Ｌ２は、互いに一致する。すなわち、距離差ΔＬ＝Ｌ１−Ｌ２とすると、ΔＬ＝０となる。
【００３０】
一方、図４に示すように、仮に原点位置が正回転方向にずれていたとすると、第１位置ではツール１２の中心線ＣＬ１が水平から若干上方に向かうとともに、第２位置では中心線ＣＬ１が水平から若干下方にずれることになる。このため、原点位置がずれている場合には、距離差ΔＬ≠０となる。そして、６軸を１８０°回転させていることから、第１位置においてツール１２の中心線ＣＬ１と水平線とのなす角（原点位置からのずれを表す角度で、角度誤差ΔＡに相当する）は、第２位置においてツール１２の中心線ＣＬ１と水平線とがなす角と一致する。
【００３１】
すなわち、第１距離Ｌ１と第２距離Ｌ２との距離差ΔＬは、ツール１２が設計上測定軸に対して垂直となるはずの垂直位置が、ロボット２において実際の垂直となる位置（実垂直位置）からずれている場合に生じるものであり、原点位置からのずれを表す角度誤差ΔＡに対応した値として測定される。このため、距離差ΔＬが求まれば、後述するように角度誤差ΔＡを求めることができる。なお、この図４は距離差ΔＬを説明するために原点位置からのずれを意図的に大きく示した模式図であり、実際のロボット２においてこのような大きなずれが生じることは殆ど無いと考えられる。
【００３２】
さて、第１距離Ｌ１および第２距離Ｌ２は、ツール１２の板厚が加わった値として測定されている。このため、ツール１２の板厚をＤとし、第１位置における中心線ＣＬ１までの距離をＬ１０とし、第２位置における中心線ＣＬ１までの距離をＬ２０とすると、
Ｌ１０≒Ｌ１＋（Ｄ÷２）
Ｌ２０≒Ｌ２＋（Ｄ÷２）
とすべきであるが、この場合の距離差ΔＬａは、
ΔＬａ＝Ｌ１０−Ｌ２０
＝（Ｌ１＋（Ｄ÷２））―（Ｌ２＋（Ｄ÷２））
＝Ｌ１−Ｌ２
＝ΔＬ
となる。つまり、中心線ＣＬ１を基準とした場合であっても、角度誤差ΔＡを求める際には、第１距離Ｌ１と第２距離Ｌ２との距離差ΔＬを利用できることが分かる。なお、本実施形態では、６軸の正回転方向への原点位置のずれを正の値とし、逆回転方向への原点位置のずれを負の値としているため、距離差ΔＬを、第１距離Ｌ１から第２距離Ｌ２を差し引いて求めている。
【００３３】
このような原理に基づいて、原点位置のずれ角を求めている。以下、具体的な処理の流れについて図５から図７を参照して説明する。
上記したように、原点位置較正処理を実行する時点では、駆動対象軸に対する原点位置の較正は完了しており、ツール１２は既にフランジ１１に取り付けられているものとし、レーザ距離計１３も、設置位置（後述する図６、図８にて説明する）に設置されていることを前提とする。また、原点位置の較正は、図１等に示すように、駆動対象軸である４軸が設置面に対して垂直となる姿勢に制御されている。このとき、４軸に相当する第１の上アーム８は、可能な限りベース５側に近づいた姿勢（つまり、下アーム７が立った状態）に制御されている。
【００３４】
まず、前提となるレーザ距離計１３の設置位置について説明する。レーザ距離計１３は、駆動対象軸である４軸の軸心と当該４軸の原点位置とを結ぶ仮想的な直線ＣＬ２の延長線上に１台のみ設置されている。つまり、本実施形態では、４軸の原点位置を基準位置に設定している。このとき、レーザ距離計１３は、図６に示すように、４軸の回転位置を原点位置（Ｊ４＝０°の位置）に設定した際に、直線ＣＬ２が６軸の軸心と平行になっているとともに、レーザ距離計１３の測定軸（図６では、光軸ＰＬとして示している）が６軸の軸心に対して直交する関係となるように設置される。そのため、光軸ＰＬは、設置面に対して垂直となり、重力に沿った向きとなっている。また、４軸の軸心も重力に沿った向きとなっている。このような位置関係に設置されたレーザ距離計１３により、ツール１２までの距離（測定点ＰＭまでの距離）が測定される。
【００３５】
制御装置３は、図５に示す原点位置較正処理において、ツール１２を第１位置に保持する（Ｓ１。第１工程に相当する）。具体的には、制御装置３は、６軸の回転位置を原点位置（Ｊ６＝０°の位置）に設定するとともに、レーザ距離計１３の測定軸と４軸の軸心とが互いに平行であって、且つ、レーザ距離計１３の測定軸と６軸の軸心とが互いに垂直となる状態で、ツール１２が光軸ＰＬ上に位置するようにロボット２の姿勢を制御する。これにより、図７（Ａ）に示すように、ロボット２の平面視において、光軸ＰＬ上に測定点ＰＭが定められる。この状態が、ツール１２が第１位置に保持された状態に相当する。このとき、６軸の軸心から測定点ＰＭまでの水平距離（つまり、６軸の軸心と光軸ＰＬとの距離）は、ツール長さＬ３となっている。また、この状態では、４軸は、原点位置（Ｊ４＝０°の位置）から図示で時計方向に所定の角度だけ回転した状態となっている。
【００３６】
続いて、制御装置３は、第１位置に保持されているツール１２までの距離である第１距離Ｌ１を測定する（Ｓ２。第２工程に相当する）。この場合、レーザ距離計１３による測定値が制御装置３に入力されることになる。
次に、制御装置３は、６軸の回転位置を１８０°に設定することで、６軸を１８０°回転させる（Ｓ３）。このとき、ツール１２は、図７（Ｂ）に示すように、第１位置に対して、６軸（Ｊ６）の軸心に軸対象に反転した状態となる。そして、制御装置３は、４軸のみを回転させることで、ツール１２を再び光軸ＰＬ上となる第２位置に保持する（Ｓ４）。これらステップＳ３およびＳ４が、第３工程に相当する。このとき、ツール１２は、レーザ距離計１３の測定軸と直交する平面内で移動している。
【００３７】
この第３工程では、制御装置３は、４軸をその原点位置（Ｊ４＝０°の位置）から図示で反時計方向に、第１位置のときと同じ所定の角度だけ回転させている。つまり、第１距離Ｌ１と第２距離Ｌ２を測定する場合、制御装置３は、４軸の原点位置を基準位置に設定し、その原点位置に対称となるように４軸を回転させている。これにより、ツール１２は、図７（Ｃ）に示すように、６軸の軸心に対して第１位置と対称となるように位置することになる。このとき、駆動対象軸の較正が完了した状態で駆動対象軸を回転させているので、第１位置と第２位置とでツール長さＬ３が一致するようになる。なお、ステップＳ３およびステップＳ４においては、４軸を回転させた後で６軸を１８０°回転させて測定板を第２位置に位置させてもよいし、６軸を回転させつつ４軸も同時に回転させて測定板を第２位置に位置させてもよい。
【００３８】
続いて、制御装置３は、第２位置に保持されているツール１２までの距離である第２距離Ｌ２を測定する（Ｓ５。第４工程に相当する）。
このようにして第１距離Ｌ１および第２距離Ｌ２を測定すると、制御装置３は、６軸の原点位置からのずれ角である角度誤差ΔＡを求める（Ｓ６）。角度誤差ΔＡは、上記したようにツール１２の中心線ＣＬ１（図４参照）と原点位置を示す水平線とがなす角である。そして、第１距離Ｌ１と第２距離Ｌ２との距離差ΔＬは、ツール１２を１８０°回転させていることから、第１位置と第２位置との双方に角度誤差ΔＡが生じている状態での値として測定されている。より詳細には、距離差ΔＬは、６軸の軸心を頂点とし、その頂角が角度誤差ΔＡ×２となる二等辺三角形の底辺の長さに相当する。
【００３９】
さて、距離差ΔＬを測定すれば、ツール長さＬ３（上記した二等辺三角形において、頂角の二等分線に相当する）が既知であるので、三角関数を用いて角度誤差ΔＡを求めることも可能である。ただし、ここでは、角度誤差ΔＡを四則演算により求めている。これは、実際のロボット２の場合、組立精度が極めて高いことから、距離差ΔＬが微少な値となり、６軸の軸心を中心とする半径がツール長Ｌ３である仮想的な円を想定すると、レーザ距離計１３の測定軸と同軸となる接線の長として測定される距離差ΔＬは、中心角が角度誤差ΔＡ×２となる扇形の円弧の長さとほぼ近似した値として扱うことができるためである。
【００４０】
具体的には、上記した仮想的な円のにおいて円周の長さ＝２×Ｌ３×πであり、中心角＝角度誤差ΔＡ×２であることから、角度誤差ΔＡと距離差ΔＬとは、以下の関係式で表される。
（ΔＡ×２）：３６０＝ΔＬ：（２×Ｌ３×π） 
この関係式から、以下のように角度誤差ΔＡを求めることができる。
（ΔＡ×２）×（２×Ｌ３×π）＝３６０×ΔＬ
ΔＡ×２＝（３６０×ΔＬ）÷（２×Ｌ３×π）
ΔＡ＝（１８０×ΔＬ）÷（２×Ｌ３×π）
すなわち、距離差ΔＬを第１距離Ｌ１と第２距離Ｌ２とで表せば、
ΔＡ＝（１８０×（Ｌ１−Ｌ２））÷（２×Ｌ３×π）
となり、第１距離Ｌ１と第２距離Ｌ２とに基づいて、角度誤差ΔＡを四則演算により求めることができる。
【００４１】
角度誤差ΔＡを求めると、制御装置３は、６軸に設けられているロータリエンコーダ２７のビット数Ｎと、６軸の減速機構のギア比Ｇとに基づいて、角度誤差ΔＡに対応するパルス信号数であるパルス誤差ΔＰを求める（Ｓ７）。具体的には、ロータリエンコーダ２７のビット数Ｎとすると、その分解能は２＾Ｎであり、それにギア比Ｇを乗算した値が、３６０°分のパルス信号数に相当する。このことから、角度誤差ΔＡに相当するパルス誤差ΔＰとの間に、以下の関係式が求まる。
ΔＰ：ΔＡ＝２＾Ｎ×Ｇ：３６０    但し、２＾Ｎは２のＮ乗を示す。
この関係式から、以下のようにパルス誤差ΔＰを求めることができる。
ΔＰ×３６０＝ΔＡ×（２＾Ｎ×Ｇ）
ΔＰ＝ΔＡ×（２＾Ｎ×Ｇ）÷３６０
【００４２】
パルス誤差ΔＰを求めると、制御装置３は、補正ＣＡＬＳＥＴ値を求める（Ｓ８）。ここで、補正ＣＡＬＳＥＴ値とは、角度誤差ΔＡを考慮した状態で６軸を原点位置に設定するための値（パルス信号数）である。
ロボット２では、高い精度で組み立てが行われるものの、若干の組立誤差が生じることがあり、原点位置がずれる可能性がある。そのため、一般的には、組立時における６軸の原点位置に対応するパルス信号数が、予め初期設定値（以下、ＣＡＬＳＥＴ値と称する）として設定されている。
【００４３】
ただし、実際にロボット２を作動させた際、角度誤差ΔＡが生じていれば、そのＣＡＬＳＥＴ値を補正する必要がある。そこで、制御装置３は、組み立てが完了したロボット２における６軸の原点位置に対応するパルス信号数である補正ＣＡＬＳＥＴ値を、新たに求める。具体的には、上記したように角度誤差ΔＡに対応するパルス信号数をパルス誤差ΔＰとして求めているため、制御装置３は、
補正ＣＡＬＳＥＴ値＝ＣＡＬＳＥＴ値−ΔＰ
として、補正ＣＡＬＳＥＴ値を求める。この補正ＣＡＬＳＥＴ値が、ロボット２において６軸の実際の原点位置を示すパルス信号数となる。これらステップＳ６〜Ｓ８までが、第５工程に相当する
【００４４】
このように補正ＣＡＬＳＥＴ値を求めると、制御装置３は、補正ＣＡＬＳＥＴ値を用いて６軸の原点位置を較正する（Ｓ９。第６工程に相当する）。具体的には、６軸の原点位置に対応するパルス信号数として補正ＣＡＬＳＥＴ値を設定する。これにより、ロボット２に生じていた角度誤差ΔＡが補償され、６軸の原点位置に対応するパルス信号数が、実際のロボット２における原点位置に対応したパルス信号数で更新される。つまり、ロータリエンコーダ２７から出力されるパルス信号数が補正ＣＡＬＳＥＴ値に一致した位置が、実際のロボット２における原点位置として認識される。
【００４５】
以上説明した本実施形態によれば、以下のような効果を得ることができる。
本実施形態の手先軸原点位置較正方法によれば、６軸（手先軸）の軸心と４軸（駆動対象軸）の軸心とが互いに垂直な状態、且つ、レーザ距離計１３（距離測定手段）の測定軸と４軸の軸心とが互いに平行な状態で、第１位置に位置するツール１２までの距離を第１距離Ｌ１として測定し、６軸を１８０°の回転位置に設定してツール１２を１８０°回転させるとともに、４軸のみを回転させることでツール１２を第２位置に位置させ、第２位置におけるツール１２までの距離を第２距離Ｌ２として測定する。そして、第１距離Ｌ１と第２距離Ｌ２との距離差ΔＬ、および、６軸の軸心から測定軸までの水平距離であるツール長さＬ３に基づいて、６軸の原点位置からのずれを表す角度誤差ΔＡを求める。そして、角度誤差ΔＡと、ロータリエンコーダ２７のビット数Ｎと、６軸のギア比Ｇとに基づいて角度誤差ΔＡに対応するパルス誤差ΔＰを求め、そのパルス誤差ΔＰと、初期設定値であるＣＡＬＳＥＴ値とに基づいて、補正後の設定値である補正ＣＡＬＳＥＴ値をさらに求め、その補正ＣＡＬＳＥＴ値を用いて手先軸の原点位置を較正する。
【００４６】
このように、６軸の原点位置からのずれである角度誤差ΔＡの影響のみが現れる２つの姿勢（第１位置、第２位置に対応する姿勢）を作り出し、その２つの姿勢での距離差ΔＬを求めることにより、角度誤差ΔＡを求めることが可能となる。そして、角度誤差ΔＡが求まれば、その角度誤差ΔＡを補償するためのパルス誤差ΔＰが求まり、その結果、６軸の原点位置を較正するための補正ＣＡＬＳＥＴ値を求めることができる。
【００４７】
このとき、較正対象であるロボット装置１以外で較正に必要となるのは、一般的には非常に小型であるレーザ距離計１３と、そのレーザ距離計１３を設置するスペースだけである。また、ツール１２を第１位置と第２位置とに位置させる際には４軸のみを回転させているので、測定時にロボット２の姿勢が大きく変化することもない。したがって、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、６の原点位置を適切に較正することができる。
【００４８】
また、４軸のみが最低限較正済みであれば６軸の原点位置を較正することができるため、較正作業を行う際において、各軸の較正状況の進捗に応じて作業順序を入れ替えることができる等、作業時の自由度を向上させることができる。
角度誤差ΔＡを、半径がツール長さＬ３である仮想的な円の円周の長さと距離差ΔＬとの比から、四則演算により求めることができる。また、これにより、較正処理の負荷を低減することができる。
【００４９】
レーザ距離計１３を、その測定軸が地面に対して垂直になるように設置し、４軸の軸心が地面に対して垂直としているので、４軸の軸心が重力の向きに沿った状態となる。これにより、ツール１２に加わる重力の影響は、第１距離Ｌ１および第２距離Ｌ２を測定するときとで同一の状態となる。したがって、重力の影響が相殺され、より正確に第１距離Ｌ１および第２距離Ｌ２を測定すること、つまり、より正確に角度誤差ΔＡを求めることができる。また、一般にロボット２の設置面と地面とは平行であることが多いため、レーザ距離計１３をロボット２の設置面に設置することで、レーザ距離計１３の測定軸と４軸の軸心とを容易に平行にすることができる。
【００５０】
レーザ距離計１３を、４軸の軸心と基準位置（本実施形態では、４軸の原点位置）とを結ぶ仮想的な直線ＣＬ２の延長線上に設置し、ツール１２を第１位置または第２位置に位置させる際、４軸を直線ＣＬ２に対して対称な角度で回転させるので、第１位置と第２位置とにおいて、６軸の軸心と直線ＣＬ２とがなす角度を一致させている。このとき、４軸は較正が完了しているので、その４軸を同じ角度で回転させることにより、第１位置と第２位置とでツール長さＬ３の同一性を担保することができる。たがって、角度誤差ΔＡを正確に求めることができる。
【００５１】
また、１台のレーザ距離計１３のみを使用し、較正処理中にはレーザ距離計１３を移動させることなく第１距離Ｌ１と第２距離Ｌ２とを測定するので、各距離を測定する際にはレーザ距離計１３に起因する誤差の発生を抑制することができる。つまり、角度誤差ΔＡの精度を向上させることができる。
６軸ロボットにおいて手先軸に対応する６軸の原点位置を、４軸のみを回転させることにより較正することができる。このとき、多関節の６軸ロボットであったとしても、４軸のみが較正済みであればよいため、較正作業を行う際において、進捗に応じて較正する軸の作業順序を入れ替える等、作業時の自由度を向上させることができる。
【００５２】
また、上記したように簡便に６軸の原点位置を較正できるので、較正作業を効率化することができるとともに、作業コストを低減することができる。
ロボット２の制御装置３によれば、ツール１２を第１位置および第２位置に位置させる制御を行い、第１距離Ｌ１および第２距離Ｌ２を測定し、第１距離Ｌ１および第２距離Ｌ２とツール長さＬ３とに基づいて６軸の原点位置からのずれを表す角度誤差ΔＡを求め、その角度誤差ΔＡと手先軸に設けられている角度検出器のビット数Ｎと手先軸のギア比Ｇとに基づいてパルス誤差ΔＰを求め、そのパルス誤差ΔＰと初期設定値であるＣＡＬＳＥＴ値とに基づいて実際の６軸の原点位置に対応する補正ＣＡＬＳＥＴＩを求め、その補正ＣＡＬＳＥＴ値を用いて６軸の原点位置を較正する。このような構成を備えることにより、手先軸原点位置較正方法と同様に上記した効果を得ることができる。
【００５３】
（第２実施形態）
以下、第２実施形態について図８および図９を参照して説明する。
本実施形態では、第１実施形態と同様の６軸のロボット装置１において、手先軸として６軸、駆動対象軸として１軸を想定し、６軸の原点位置を較正する。なお、原点較正処理の流れは第１実施形態と共通するので、図５も参照して説明する。
【００５４】
まず、レーザ距離計１３の設置位置について説明する。本実施形態の場合、レーザ距離計１３は、図８に示すように、駆動対象軸である１軸（Ｊ１）の軸心と当該１軸の原点位置（Ｊ１＝０°の位置）とを結ぶ仮想的な直線ＣＬ３の延長線上に１台のみ設置されている。つまり、本実施形態では、１軸の原点位置を基準位置に設定している。このとき、レーザ距離計１３は、その測定軸（光軸ＰＬ）が、６軸の軸心に対して直交する関係となるように設置されている。つまり、光軸ＰＬは、設置面に対して垂直となり、重力に沿った向きとなっている。また、１軸も、その軸心が重力に沿った向きとなっている。なお、本実施形態では４軸の軸心も設置面に対して垂直となるようにロボット２の姿勢を制御しているが、駆動対象軸である１軸の軸心が６軸の軸心に対して垂直（つまり、光軸ＰＬと平行）になっていればよく、必ずしも４軸が垂直となっている必要はない。
【００５５】
さて、制御装置３は、図５に示す原点位置較正処理において、ツール１２を第１位置に保持する（Ｓ１）。このとき、制御装置３は、６軸の回転位置を原点位置（Ｊ６＝０°の位置）に設定するとともに、レーザ距離計１３の測定軸と１軸の軸心とが互いに平行であって、且つ、レーザ距離計１３の測定軸と６軸の軸心とが互いに垂直となる状態で、ツール１２が光軸ＰＬ上に位置するようにロボット２の姿勢を制御する。これにより、図８（Ａ）に示すように、ロボット２の平面視において光軸ＰＬ上に測定点ＰＭが定められる。この状態では、１軸は、原点位置（Ｊ１＝０°の位置）から図示で時計方向に所定の角度だけ回転した状態となっている。
【００５６】
続いて、制御装置３は、第１位置に保持されているツール１２までの距離である第１距離Ｌ１を測定し（Ｓ２）、６軸の回転位置を１８０°に設定することで６軸を１８０°回転させる（Ｓ３）。このとき、ツール１２は、図８（Ｂ）に示すように、６軸の軸心に対称となる位置に位置する。そして、制御装置３は、１軸のみを回転させることで、ツール１２を再び光軸ＰＬ上となる第２位置に保持する（Ｓ４）。このステップＳ４では、制御装置３は、１軸をその原点位置（Ｊ１＝０°の位置）から図示で反時計方向に、第１位置のときと同じ所定の角度だけ回転させている。これにより、ツール１２は、図８（Ｃ）に示すように、６軸の軸心に対して第１位置と対称となるように位置するとともに、ツール長さＬ３が第１位置のときと一致することが担保される。この状態で、制御装置３は、第２距離Ｌ２を測定する（Ｓ５）。
【００５７】
第１距離Ｌ１および第２距離Ｌ２を測定すると、制御装置３は、第１実施形態と同様に、角度誤差ΔＡを求め（Ｓ６）、その角度誤差ΔＡに対応するパルス誤差ΔＰを求め（Ｓ７）、補正ＣＡＬＳＥＴ値を求める（Ｓ８）。そして、制御装置３は、補正ＣＡＬＳＥＴ値を用いて６軸の原点位置を較正する（Ｓ９）。
このように、駆動対象軸として１軸を設定した場合であっても、６軸の原点位置からのずれである角度誤差ΔＡの影響のみが現れる２つの姿勢を作り出し、その２つの姿勢での距離差ΔＬに基づいて角度誤差ΔＡを求めることにより、第１実施形態と同様の効果を得ることができる。具体的には、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、６の原点位置を適切に較正することができ、作業時の自由度を向上させることができる等の効果を得ることができる。
【００５８】
（第３実施形態）
以下、第３実施形態について図１０を参照して説明する。
本実施形態では、第１実施形態と同様の６軸のロボット装置１において、手先軸として６軸、駆動対象軸として１軸および４軸の双方を想定し、６軸の原点位置を較正する。なお、原点較正処理の流れは第１実施形態と共通するので図５も参照し、レーザ距離計１３の設置位置は第２実施形態と共通するので図８も参照して説明する。
【００５９】
まず、レーザ距離計１３の設置位置について説明する。本実施形態の場合、レーザ距離計１３は、図８に示すように、駆動対象軸である１軸の軸心と当該１軸の原点位置（Ｊ１＝０°の位置）とを結ぶ仮想的な直線ＣＬ３の延長線上であって、４軸の軸心と当該４軸の原点位置（Ｊ４＝０°の位置）とを結ぶ仮想的な直線ＣＬ２（図６参照）の延長線上に、１台のみ設置されている。このとき、レーザ距離計１３は、その測定軸（光軸ＰＬ）が、６軸の軸心に対して直交する関係となるように設置されており、１軸および４軸の軸心は、重力に沿った向きとなっている。
【００６０】
さて、制御装置３は、図５に示す原点位置較正処理において、ツール１２を第１位置に保持する（Ｓ１）。このとき、制御装置３は、６軸の回転位置を原点位置（Ｊ６＝０°の位置）に設定するとともに、レーザ距離計１３の測定軸と１軸および４軸の軸心とが互いに平行であって、且つ、レーザ距離計１３の測定軸と６軸の軸心とが互いに垂直となる状態で、ツール１２が光軸ＰＬ上に位置するようにロボット２の姿勢を制御する。これにより、図９（Ａ）に示すように、ロボット２の平面視において、光軸ＰＬ上に測定点ＰＭが定められる。
【００６１】
続いて、制御装置３は、第１位置に保持されているツール１２までの距離である第１距離Ｌ１を測定し（Ｓ２）、６軸の回転位置を１８０°に設定することで６軸を１８０°回転させる（Ｓ３）。このとき、ツール１２は、図９（Ｂ）に示すように、６軸の軸心に対称となる位置に位置する。そして、制御装置３は、図９（Ｃ）に示すように、１軸および４軸を回転（つまり、駆動対象軸のみを回転）させることで、ツール１２が再び光軸ＰＬ上となる第２位置に保持する（Ｓ４）。
第１距離Ｌ１および第２距離Ｌ２を測定すると、制御装置３は、第１実施形態と同様に、角度誤差ΔＡを求め（Ｓ６）、その角度誤差ΔＡに対応するパルス誤差ΔＰを求め（Ｓ７）、補正ＣＡＬＳＥＴ値を求める（Ｓ８）。そして、制御装置３は、補正ＣＡＬＳＥＴ値を用いて６軸の原点位置を較正する（Ｓ９）。
【００６２】
このように、駆動対象軸として１軸および４軸の双方を設定した場合であっても、６軸の原点位置からのずれである角度誤差ΔＡの影響のみが現れる２つの姿勢を作り出し、その２つの姿勢での距離差ΔＬに基づいて角度誤差ΔＡを求めることにより、第１実施形態と同様の効果を得ることができる。具体的には、大型の検査装置等を設置したりする必要がなく、大きな作業スペースを必要とすることなく、また、検出用の特殊センサ等を追加する必要もなく、６の原点位置を適切に較正することができ、作業時の自由度を向上させることができる等の効果を得ることができる。
なお、本実施形態では１軸と４軸が駆動対象軸であることから、ツール１２を光軸ＰＬ上に位置させるためのそれぞれの回転角度は多種多様であり、図９（Ｃ）はその一例を示している。また、１軸と４軸をそれぞれどのように回転させるかは、適宜設定すればよいが、第１実施形態と同様に１軸および４軸をそれぞれ基準位置に対して対称な角度で回転させてもよい。
【００６３】
（その他の実施形態）
本発明は、各実施形態で例示した構成に限定されるものではなく、以下のような変形または拡張が可能である。
各実施形態では図１に示したように４軸に相当する第１の上アーム８を鉛直下向きとする姿勢を例示したが、図１１に示すように第１の上アーム８を鉛直上向きとする姿勢であっても各実施形態と同様の効果を得ることができる。
【００６４】
各実施形態で例示したロボット２の構成や外観等は一例である。
各実施形態では１軸と４軸が駆動対象軸となる例を示したが、本発明は、ツールが取り付けられる手先軸と、当該手先軸の軸心に対して垂直となる位置関係を設定可能な軸心を有する駆動対象軸とを備えたロボットであれば適用できる。例えば、各実施形態では６軸ロボットを対象としたが、７軸ロボット等の多関節型ロボットに適用しても良い。７軸ロボットの場合、図１を参照すると、下アーム７に新たな回転軸（７軸）を設ける構成が一般的であるが、その場合であっても、手先軸にツール１２を取り付け、手先軸の軸心と距離測定手段の測定軸とが垂直な状態で回転可能な軸心を有する駆動対象軸のみを回転させることで、各実施形態と同様に、手先軸の原点位置を較正することができる。なお、便宜的に下アーム７に対応する回転軸を７軸と記載したが、対応する軸の名称が異なっていたとしても、実質的に共通する軸であれば本発明の要旨を逸脱しない範囲に含まれる。
【００６５】
各実施形態では角度誤差ΔＡを円周の長さとの比例関係により求める例を示したが、距離差ΔＬに基づいて三角関数を用いて角度誤差ΔＡを求めてもよい。
角度誤差ΔＡ、パルス誤差ΔＰおよび補正ＣＡＬＳＥＴ値は、原点位置較正処理においてその都度演算するようにしてもよいが、例えば距離差ΔＬに対応する角度誤差ΔＡを予めテーブル化しておき、原点位置較正処理ではそのテーブルから読み出すようにしてもよい。パルス誤差ΔＰおよび補正ＣＡＬＳＥＴ値についても同様である。すなわち、角度誤差ΔＡ、パルス誤差ΔＰおよび補正ＣＡＬＳＥＴ値等をそれぞれの「式により求める」とは、式を利用して演算すること、および演算結果をテーブル等から読み出して利用すること等をも含んでいる。
【００６６】
各実施形態ではレーザ距離計１３を設置面に設置し、その測定軸が地面に対して鉛直となるようにしたが、測定軸は、駆動対象軸の軸心と平行であり、且つ、手先軸の軸心と垂直となっていればよい。すなわち、距離測定手段の測定軸は、必ずしも地面に鉛直で無くてもよい。
各実施形態では手先軸の原点位置が設置面に対して水平な平面内に存在する例を示したが、必ずしも原点位置が設置面に水平な平面内に存在する必要はない。例えば、図３において、図示下方が０°、図示右方が９０°、図示左方が２７０°等に設定されている場合であっても、９０°の位置を第１位置とし、２７０°の位置を第２位置としてそれぞれの距離を測定すれば、同様に角度誤差ΔＡを求めることができる。すなわち、距離測定手段の測定軸に対して垂直となる平面の回転角度が特定できていればよい。
【００６７】
各実施形態では原点位置較正処理を制御装置３で実行する例を示したが、各ステップの処理の一部や全部をティーチングペンダント４にて実行する構成であってもよい。
距離測定手段は、レーザ距離計１３に限らず、距離を測定できるものであればどのようなものを採用してもよい。
ツール１２上に測定点ＰＭを予め定めておき、その測定点ＰＭがレーザ距離計１３の光軸上に位置するように第１位置と第２位置とにおける駆動対象軸の回転角度を制御してもよい。
【００６８】
本発明は、手先軸と当該手先軸の軸心に対して垂直となる位置関係を設定可能な軸心を有する駆動対象軸とを備えたロボットに適用できるため、例えばレーザ距離計１３の測定軸をロボット２の例えば５軸の軸心と平行となるようにすれば、５軸のみを回転させることで、各実施形態と同様に手先軸（６軸）の原点位置を較正することができる。また、２軸や３軸についても同様である。つまり、２軸、３軸、５軸あるいはそれらを複数組み合わせたものを、駆動対象軸とすることもできる。
【符号の説明】
【００６９】
図面中、２はロボット、３は制御装置（制御手段、設定値取得手段、較正手段）、１２はツール（測定板）、１３はレーザ距離計（距離測定手段）、Ｊ１は１軸（駆動対象軸）、Ｊ４は４軸（駆動対象軸）、Ｊ６は６軸（手先軸）、２５はモータ、２６はロータリエンコーダ（角度検出器）を示す。
【図１】
2015047672.tif 000003
【図２】
2015047672.tif 000004
【図３】
2015047672.tif 000005
【図４】
2015047672.tif 000006
【図５】
2015047672.tif 000007
【図６】
2015047672.tif 000008
【図７】
2015047672.tif 000009
【図８】
2015047672.tif 000010
【図９】
2015047672.tif 000011
【図１０】
2015047672.tif 000012
【図１１】
2015047672.tif 000013