(57)【要約】      （修正有）【課題】関節部を介して回動自在に支持されたリンクの原点位置を設定するのに好適な原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットを提供する。【解決手段】脚車輪型ロボット１００は、回転関節１４の回転軸周りに脚部１２と共に回動する第１ドグ２００及び第２ドグ２０２と、脚部１２の基準回転角度位置へと回動した第１ドグ２００を検出する基準位置検出センサ２１０と、脚部１２の一方の回動方向の限界回転角度位置へと回動した第２ドグ２０２を検出する限界位置検出センサとを備え、回転関節１４を回転して脚部１２をその初期位置から最初に限界位置検出センサの配設位置方向に回動させると共に、仮の原点位置を検出する際の第１ドグ２００の基準位置検出センサ２１０の検出位置への進入方向を揃え、更に、仮の原点位置と、その検出範囲と、エンコーダの発生するパルス信号とに基づき原点位置を設定する構成とした。【選択図】図２
2009050937.tif 000002
【特許請求の範囲】
【請求項１】
関節部を介して回動自在に支持されたリンクと該リンクを回動させる動力を付与するアクチュエータとを有するリンク機構における、前記リンクの原点位置を設定する原点位置設定装置であって、
前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に回動する部位又は該リンクに対して相対的に回動する部位に配設された第１被検出部及び第２被検出部と、前記リンクの原点位置の基準となる回転角度位置である基準回転角度位置へと回動した前記第１被検出部を検出する基準位置検出センサと、前記リンクの一方の回動方向の回動限界位置である限界回転角度位置又はその近傍へと回動した前記第２被検出部を検出する限界位置検出センサと、前記アクチュエータを制御して、前記リンクの初期位置からの最初の回動方向を前記リンクの一方の限界回転角度位置方向として、前記リンクを所定の回動パターンで回動させる回動制御手段と、前記リンクを前記所定の回動パターンで回動させたときの前記基準位置検出センサの検出結果に基づき前記原点位置を設定する原点位置設定手段と、を備えることを特徴とする原点位置設定装置。
【請求項２】
前記所定の回動パターンは、前記リンクをその初期位置から前記一方の限界回転角度位置方向へと回動させ、この回動により、最初に前記基準位置検出センサにおいて前記第１被検出部が検出されると、前記リンクの回動を停止させる第１の回動パターンと、前記リンクをその初期位置から該リンクの前記一方の限界回転角度位置方向へと回動させ、この回動により、最初に前記限界位置検出センサにおいて前記第２被検出部が検出されると、前記第１被検出部が前記基準位置検出センサの検出位置を所定回転角度分通り過ぎる位置まで、前記リンクを該リンクの他方の前記限界回転角度位置方向へと回動させ、しかる後、前記リンクを前記一方の限界回転角度位置方向へと回動させ、この回動により、前記基準位置検出センサにおいて前記第１被検出部が検出されると、前記リンクの回動を停止させる第２の回動パターンとを含み、
前記原点位置設定手段は、前記リンクが前記一方の限界回転角度位置方向に回動しているときに前記基準位置検出センサにおいて検出された前記第１被検出部の検出位置に基づき、前記原点位置を設定することを特徴とする請求項１に記載の原点位置設定装置。
【請求項３】
前記基準位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記第１被検出部の干渉状態に基づき該第１被検出部を検出する構成の非接触式のセンサであり、前記限界位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記第２被検出部の干渉状態に基づき前記第２被検出部を検出する構成の非接触式のセンサであり、
前記基準位置検出センサ及び前記限界位置検出センサを、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位とのいずれか一方に設けると共に、前記第１被検出部及び前記第２被検出部を、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位のいずれか他方に設け、
前記基準位置検出センサ及び前記第１被検出部を、前記リンクが前記基準回転角度位置にあるときに前記第１被検出部が前記基準位置検出センサから射出される前記検出波を遮断する位置関係に配設し、前記限界位置検出センサ及び前記第２被検出部を、前記リンクが前記限界回転角度位置又はその近傍の回転角度位置にあるときに前記第２被検出部が前記限界位置検出センサから射出される前記検出波を遮断する位置関係に配設したことを特徴とする請求項１又は請求項２に記載の原点位置設定装置。
【請求項４】
前記基準位置検出センサは、検出部への前記第１被検出部の接触によって該第１被検出部を検出する構成の接触式のセンサであり、前記前記限界位置検出センサは、検出部への前記第２被検出部の接触によって該第２被検出部を検出する構成の接触式のセンサであり、
前記基準位置検出センサ及び前記限界位置検出センサを前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位とのいずれか一方に設けると共に、前記第１被検出部及び前記第２被検出部を、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位のいずれか他方に設け、
前記基準位置検出センサ及び前記第１被検出部を、前記リンクの回転角度位置が前記基準回転角度位置になったときに前記第１被検出部が前記基準位置検出センサの前記接触部に接触する位置関係に配設し、前記限界位置検出センサ及び前記第２被検出部を、前記リンクの回転角度位置が前記限界回転角度位置又はその近傍の回転角度位置になったときに前記第２被検出部が前記限界位置検出センサの前記検出部に接触する位置関係に配設したことを特徴とする請求項１又は請求項２に記載の原点位置設定装置。
【請求項５】
関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に回動する部位又は該リンクに対して相対的に回動する部位に配設された第１被検出部及び第２被検出部と、前記リンクの原点位置の基準となる回転角度位置である基準回転角度位置へと回動した前記第１被検出部を検出する基準位置検出センサと、前記リンクの一方の回動方向の回動限界位置である限界回転角度位置又はその近傍へと回動した前記第２被検出部を検出する限界位置検出センサとを備えたリンク機構に用いられる、前記リンクの原点位置を設定する原点位置設定方法であって、
前記アクチュエータを制御して、前記リンクをその初期位置から前記一方の限界回転角度位置方向へと回動させる第１のステップと、
前記第１のステップにおける前記リンクの回動によって、最初に前記基準位置検出センサにおいて前記第１被検出部が検出されたときに、この検出位置に基づき前記原点位置を設定する第２のステップと、
前記第１のステップにおける前記リンクの回動によって、最初に前記限界位置検出センサにおいて前記第２被検出部が検出されたときに、前記アクチュエータを制御して、前記第１被検出部が前記基準位置検出センサの検出位置を所定回転角度分通り過ぎる位置まで、前記リンクを該リンクの他方の前記限界回転角度位置方向へと回動させる第３のステップと、
前記第３のステップにおいて前記リンクを回動後に、前記アクチュエータを制御して、前記リンクを前記一方の限界回転角度位置方向へと回動させる第４のステップと、
前記第４のステップにおける前記リンクの回動によって、前記基準位置検出センサにおいて前記第１被検出部が検出されたときに、この検出位置に基づき前記原点位置を設定する第５のステップとを含むことを特徴とする原点位置設定方法。
【請求項６】
関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、請求項１乃至請求項４のいずれか１項に記載の原点位置設定装置と、を備えることを特徴とするリンク機構。
【請求項７】
基体と、前記基体に対して関節を介して支持された複数の脚部と、各脚部に回転自在に設けられた車輪と、前記各脚部及び前記車輪を駆動する動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、環境に応じて前記脚部及び前記車輪の少なくとも一方を駆動することによって移動する脚車輪型ロボットであって、
前記脚部は、複数のリンクを有すると共に、該複数のリンクが関節を介して回動自在に連結された構成を有し、
請求項１乃至請求項４のいずれか１項に記載の原点位置設定装置を備え、
前記原点位置設定装置によって、前記脚部を構成する各リンクの原点位置を設定することを特徴とする脚車輪型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関節部を介して回動自在に支持されたリンクの原点位置を設定するのに好適な原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットに関する。
【背景技術】
【０００２】
例えば、多関節ロボットに用いるモータは、通常、所望のトルクを得るために減速機を取り付けて使用する。そのため、関節軸（減速機出力軸）が１回転する間に、モータの軸は複数回回転することになり、モータに取り付けられた角度検出器の出力値をそのまま関節軸の出力角度として使用できないことが多い。従って、多関節ロボットの脚部などを構成する各リンクを正常に駆動するためには、最初に、各リンクの原点位置を定める必要がある。
【０００３】
原点位置を決定する方法としては、例えば、特許文献１に記載のアーム位置検出方法などがある。
特許文献１のアーム位置検出方法は、アブソリュートエンコーダをアームに取付け、モータにインクリメンタルエンコーダを取付け、アームの原点位置からインクリメンタルエンコーダのゼロ点までの角度と、アームの原点位置からアブソリュートエンコーダのゼロ点までのオフセット値と、各アームが原点からモータが１回転毎にとるアームの角度とそれに対応して変化するアブソリュートエンコーダの出力の積分累積値とをテーブルにした対応テーブルを備え、該対応テーブルを用いて、制御系座標とアーム座標とを一致させアームの原点位置を決定するものである。
【特許文献１】特開昭６４−３１２０９号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の従来技術では、アーム位置の検出に比較的高価なアブソリュートエンコーダを用いるためコストが増加するという問題がある。
また、アブソリュートエンコーダを用いるために、パラレル出力型では配線が多くなってしまう。また、これを省配線化するためにシリアル出力するタイプでは、絶対角データのデコード、通信インターフェース等が必要となるため、装置構成が複雑になるという問題がある。
【０００５】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであり、関節部を介して回動自在に支持されたリンクの原点位置を設定するのに好適な原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットを提供することを目的としている。
【課題を解決するための手段】
【０００６】
〔発明１〕  上記目的を達成するために、発明１の原点位置設定装置は、
関節部を介して回動自在に支持されたリンクと該リンクを回動させる動力を付与するアクチュエータとを有するリンク機構における、前記リンクの原点位置を設定する原点位置設定装置であって、
前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に回動する部位又は該リンクに対して相対的に回動する部位に配設された第１被検出部及び第２被検出部と、前記リンクの原点位置の基準となる回転角度位置である基準回転角度位置へと回動した前記第１被検出部を検出する基準位置検出センサと、前記リンクの一方の回動方向の回動限界位置である限界回転角度位置又はその近傍へと回動した前記第２被検出部を検出する限界位置検出センサと、前記アクチュエータを制御して、前記リンクの初期位置からの最初の回動方向を前記リンクの一方の限界回転角度位置方向として、前記リンクを所定の回動パターンで回動させる回動制御手段と、前記リンクを前記所定の回動パターンで回動させたときの前記基準位置検出センサの検出結果に基づき前記原点位置を設定する原点位置設定手段と、を備えることを特徴とする。
【０００７】
このような構成であれば、回動制御手段がアクチュエータを制御し、リンクをその初期位置から該リンクの一方の限界回転角度方向に回動すると、これと連動して第１被検出部及び第２被検出部が同じ軸周りにリンクと共に又はリンクに対して相対的に回動する。そして、第１被検出部が基準回転角度位置（リンクの原点位置の基準となる回転角度位置）へと回動したときは、基準位置検出センサによって第１被検出部が検出される。一方、第２被検出部が限界回転角度位置へと回動したときは、限界位置検出センサによって第２被検出部が検出される。原点位置設定手段は、基準位置検出センサにおいて第１被検出部が検出されると、該検出結果に基づき原点位置を設定する。
【０００８】
以下、第１被検出部及び第２被検出部を、両者を区別する必要がない場合は、単に被検出部と称することとする。
ここで、リンクに対して相対的に回動するとは、例えば、被検出部がリンクを回動する軸と同じ軸心を有し且つリンクの回動に対して静止している軸などに設けられ、リンクが回動することで、静止した第１被検出部の位置とリンクの位置（回転角度位置）とが相対的に変化し、第１被検出部がリンクの回動範囲を回動しているのと同等の動作が行われることを意味する。以下、発明５の原点位置設定方法、発明６のリンク機構、発明７の脚車輪型ロボットにおいて同じである。
【０００９】
また、リンク機構は、リンクが関節を介してロボットなどの基体に支持された構成、別のリンクに支持された構成（複数のリンクが関節を介して連結された構成）など、リンクが回動する構成を有したものであればどのような構成でも良い。以下、発明５の原点位置設定方法、発明６の脚車輪型ロボットにおいて同じである。
また、被検出部は、例えば、リンクを支持する部材（ロボットの基体など）、リンク、静止軸の軸周り、回転軸の軸周りなどに設けられ、例えば、基準位置検出センサ及び限界位置検出センサが光学式センサなどの非接触式のセンサであれば、そこから射出される検出波を遮断する形状（例えば、射出口を遮断する遮断板を有した形状）に形成される。また、例えば、基準位置検出センサ及び限界位置検出センサがマイクロスイッチなどの接触式のセンサであれば、その検出部（スイッチなど）を押下する形状（例えば、突状）に形成される。以下、発明５の原点位置設定方法、発明６の脚車輪型ロボットにおいて同じである。
【００１０】
〔発明２〕  更に、発明２の原点位置設定装置は、発明１に記載の原点位置設定装置において、
前記所定の回動パターンは、前記リンクをその初期位置から前記一方の限界回転角度位置方向へと回動させ、この回動により、最初に前記基準位置検出センサにおいて前記第１被検出部が検出されると、前記リンクの回動を停止させる第１の回動パターンと、前記リンクをその初期位置から該リンクの前記一方の限界回転角度位置方向へと回動させ、この回動により、最初に前記限界位置検出センサにおいて前記第２被検出部が検出されると、前記第１被検出部が前記基準位置検出センサの検出位置を所定回転角度分通り過ぎる位置まで、前記リンクを該リンクの他方の前記限界回転角度位置方向へと回動させ、しかる後、前記リンクを前記一方の限界回転角度位置方向へと回動させ、この回動により、前記基準位置検出センサにおいて前記第１被検出部が検出されると、前記リンクの回動を停止させる第２の回動パターンとを含み、
前記原点位置設定手段は、前記リンクが前記一方の限界回転角度位置方向に回動しているときに前記基準位置検出センサにおいて検出された前記第１被検出部の検出位置に基づき、前記原点位置を設定することを特徴とする。
【００１１】
このような構成であれば、回動制御手段がアクチュエータを制御し、まず、リンクをその初期位置から該リンクの一方の限界回転角度位置方向へと回動する。この回動により、例えば、第１被検出部及び第２被検出部が、リンクの他方の限界回転角度位置と、基準回転角度位置との間に位置しているときは、最初に基準位置検出センサにおいて第１被検出部が検出され、リンクの回動が停止される（第１の回動パターン）。一方、第１被検出部及び第２被検出部が、例えば、基準回転角度位置と、リンクの一方の限界回転角度位置との間に位置しているときは、最初に限界位置検出センサにおいて第２被検出部が検出され、上記第２の回動制御が行われる。つまり、リンクは他の限界回転角度位置方向（初期の回動方向とは逆方向）へと回動し、これにより第１被検出部及び第２被検出部は、基準回転角度位置方向へと回動する。回動制御手段は、第１被検出部を基準位置検出センサの検出位置（基準回転角度位置）を所定回転角度分通過した位置まで回動し、該位置まで回動すると、次に、リンクを、一方の限界回転角度位置方向（初期の回動方向と同じ方向）へと回動する。これにより、第１被検出部は、他の限界回転角度位置方向から回動して、基準位置検出センサの検出部へと進入し、該基準位置検出センサにおいて第１被検出部が検出される。そして、第１被検出部が検出されると、回動制御手段は、リンクの回動を停止させる（第２の回動パターン）。
ここで、所定回転角度は、第１被検出部が、基準位置検出センサの検出位置（範囲）を通り過ぎる最小の回転角度が望ましく、少なくともリンク及び第１被検出部及び第２被検出部が他方の限界回転角度位置又はその近傍へは到達しない角度範囲である。
【００１２】
〔発明３〕  更に、発明３の原点位置設定装置は、発明１又は２に記載の原点位置設定装置において、
前記基準位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記第１被検出部の干渉状態に基づき該第１被検出部を検出する構成の非接触式のセンサであり、前記限界位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記第２被検出部の干渉状態に基づき前記第２被検出部を検出する構成の非接触式のセンサであり、
前記基準位置検出センサ及び前記限界位置検出センサを、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位とのいずれか一方に設けると共に、前記第１被検出部及び前記第２被検出部を、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位のいずれか他方に設け、
前記基準位置検出センサ及び前記第１被検出部を、前記リンクが前記基準回転角度位置にあるときに前記第１被検出部が前記基準位置検出センサから射出される前記検出波を遮断する位置関係に配設し、前記限界位置検出センサ及び前記第２被検出部を、前記リンクが前記限界回転角度位置又はその近傍の回転角度位置にあるときに前記第２被検出部が前記限界位置検出センサから射出される前記検出波を遮断する位置関係に配設したことを特徴とする。
【００１３】
このような構成であれば、基準位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する第１被検出部によって、センサから射出された検出波が遮断されることで、反射波の変化、透過の有無などによって第１被検出部を検出することができる。また、限界位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する第２被検出部によって、センサから射出された検出波が遮断されることで、反射波の変化、透過の有無などによって第２被検出部を検出することができる。
ここで、非接触式のセンサとしては、フォトリフレクタ、フォトインタラプタ等の光学式のセンサや、超音波センサなどが該当する。
【００１４】
〔発明４〕  更に、発明４の原点位置設定装置は、発明１又は２に記載の原点位置設定装置において、
前記基準位置検出センサは、検出部への前記第１被検出部の接触によって該第１被検出部を検出する構成の接触式のセンサであり、前記前記限界位置検出センサは、検出部への前記第２被検出部の接触によって該第２被検出部を検出する構成の接触式のセンサであり、
前記基準位置検出センサ及び前記限界位置検出センサを前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位とのいずれか一方に設けると共に、前記第１被検出部及び前記第２被検出部を、前記リンクが支持される側の部材と前記リンク又は該リンクと共に回動する部位のいずれか他方に設け、
前記基準位置検出センサ及び前記第１被検出部を、前記リンクの回転角度位置が前記基準回転角度位置になったときに前記第１被検出部が前記基準位置検出センサの前記接触部に接触する位置関係に配設し、前記限界位置検出センサ及び前記第２被検出部を、前記リンクの回転角度位置が前記限界回転角度位置又はその近傍の回転角度位置になったときに前記第２被検出部が前記限界位置検出センサの前記検出部に接触する位置関係に配設したことを特徴とする。
【００１５】
このような構成であれば、基準位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する第１被検出部が検出部に接触することで、該接触による圧力の変化、該接触によるスイッチの押下などによって第１被検出部を検出することができる。また、限界位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する第２被検出部が検出部に接触することで、該接触による圧力の変化、該接触によるスイッチの押下などによって第２被検出部を検出することができる。
ここで、接触式のセンサとしては、マイクロスイッチ、圧力センサなどが該当する。
【００１６】
〔発明５〕  一方、上記目的を達成するために、発明５の原点位置設定方法は、
関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に回動する部位又は該リンクに対して相対的に回動する部位に配設された第１被検出部及び第２被検出部と、前記リンクの原点位置の基準となる回転角度位置である基準回転角度位置へと回動した前記第１被検出部を検出する基準位置検出センサと、前記リンクの一方の回動方向の回動限界位置である限界回転角度位置又はその近傍へと回動した前記第２被検出部を検出する限界位置検出センサとを備えたリンク機構に適用可能な、前記リンクの原点位置を設定する原点位置設定方法であって、
前記アクチュエータを制御して、前記リンクをその初期位置から前記一方の限界回転角度位置方向へと回動させる第１のステップと、
前記第１のステップにおける前記リンクの回動によって、最初に前記基準位置検出センサにおいて前記第１被検出部が検出されたときに、この検出位置に基づき前記原点位置を設定する第２のステップと、
前記第１のステップにおける前記リンクの回動によって、最初に前記限界位置検出センサにおいて前記第２被検出部が検出されたときに、前記アクチュエータを制御して、前記第１被検出部が前記基準位置検出センサの検出位置を所定回転角度分通り過ぎる位置まで、前記リンクを該リンクの他方の前記限界回転角度位置方向へと回動させる第３のステップと、
前記第３のステップにおいて前記リンクを回動後に、前記アクチュエータを制御して、前記リンクを前記一方の限界回転角度位置方向へと回動させる第４のステップと、
前記第４のステップにおける前記リンクの回動によって、前記基準位置検出センサにおいて前記第１被検出部が検出されたときに、この検出位置に基づき前記原点位置を設定する第５のステップとを含むことを特徴とする。
【００１７】
〔発明６〕  また、上記目的を達成するために、発明６のリンク機構は、
関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、請求項１乃至請求項４のいずれか１項に記載の原点位置設定装置と、を備えることを特徴とする。
このような構成であれば、発明１〜発明４のいずれか１に記載の原点位置設定装置によって、リンクの原点位置を設定することができる。
【００１８】
〔発明７〕  また、上記目的を達成するために、発明７の脚車輪型ロボットは、基体と、前記基体に対して関節を介して支持された複数の脚部と、各脚部に回転自在に設けられた車輪と、前記各脚部及び前記車輪を駆動する動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、環境に応じて前記脚部及び前記車輪の少なくとも一方を駆動することにより移動する脚車輪型ロボットであって、前記脚部は、複数のリンクを有すると共に、該複数のリンクが関節を介して回動自在に連結された構成を有し、発明１乃至発明４のいずれか１に記載の原点位置設定装置を備え、前記原点位置設定装置によって、前記脚部を構成する各リンクの原点位置を設定することを特徴とする。
【００１９】
このような構成であれば、発明１〜発明４のいずれか１に記載の原点位置設定装置によって、脚車輪型ロボットの各脚部を構成する各リンクの原点位置を設定することができる。
【発明の効果】
【００２０】
以上説明したように、発明１の原点位置設定装置、発明６のリンク機構、及び発明７の脚車輪型ロボットによれば、既存のリンク機構に対して、基準位置検出センサ、限界位置検出センサ、第１被検出部及び第２被検出部を設けるだけで、リンクの原点位置を設定することができるので、従来と比較して、低コスト且つ簡単な部品構成で装置を構成することができるという効果が得られる。また、リンクをその初期位置から最初に一方の限界回転角度位置方向へと回動させるようにしたので、リンクがどの回転角度位置にあっても、必ず基準位置検出センサ又は限界位置検出センサによって第１被検出部又は第２被検出部が検出されるため、安全に原点位置の設定を行うことができるという効果も得られる。例えば、一方の限界回転角度位置方向へと回動後に、最初に限界位置検出センサにおいて第２被検出部が検出された場合に、そこからリンクを逆方向へと回動させると、先に第１被検出部が必ず基準位置検出センサによって検出されるので、他方の限界回転角度位置に回動した第２被検出部を検出するセンサを設けなくても、安全性を損なうことがない。また、基準位置検出センサで第１被検出部を検出し、限界位置検出センサで第２被検出部を検出する構成としたので、基準位置検出センサ及び第１被検出部と、限界位置検出センサ及び第２被検出部との各組み合わせにおいて両者の位置関係を合わせられれば、これらを自由な位置に配設することができるという効果が得られる。
【００２１】
また、発明２の原点位置設定装置、発明５の原点位置設定方法、発明６のリンク機構及び発明７の脚車輪型ロボットによれば、リンクの初期位置がどのような位置であっても（一方の限界回転角度位置又はその近傍にある場合を除く）、最初に、リンクを一方の限界回転角度位置方向（限界位置検出センサで第２被検出部が検出される方向）に回動させ、更に、第１被検出部が必ず一定の方向から基準位置検出センサの検出位置へと進入するようにリンクの回動を制御するので、回動方向の違いによる原点位置の誤差が発生するのを回避することができるという効果が得られる。更に、第１被検出部の基準位置検出センサの検出位置への進入方向を一定方向にする際にも、リンクを他方の限界回転角度位置方向には所定の回転角度分しか回動させないので、安全且つ確実に、第１被検出部を一定の方向から基準位置検出センサの検出位置へと進入させることができるという効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づき説明する。図１〜図１１は、本発明に係る原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットの実施の形態を示す図である。
まず、図１に基づき、本発明に係る脚車輪型ロボットの概略構成を説明する。
図１は、本発明に係る脚車輪型ロボット１００の正面図である。また、図２は、本発明に係る脚車輪型ロボット１００の側面図である。
【００２３】
脚車輪型ロボット１００は、図１及び図２に示すように、基体１０と、基体１０に連結された４つの脚部１２とを有して構成されている。
基体１０の前方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。また、基体１０の後方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。
【００２４】
各脚部１２は、第１股関節駆動部１２０と、第２股関節駆動部１２２と、第１リンク１７と、第２リンク１９と、第１リンク１７及び第２リンク１９を回動自在に連結する２つの回転関節１６、１８とから構成されている。
各脚部１２の回転関節１４は、モータと、第１股関節駆動部１２０と、減速機（例えば、ハーモニックドライブなど）とから構成されている。
【００２５】
第１股関節駆動部１２０は、外部に突き出して設けられたモータ４０と、ボックス形状のハウジング内に、軸受、回転軸、モータ４０の回転駆動力を回転軸に伝達する伝達機構とから構成される第１回転駆動機構が収納された構成となっている。
第１股関節駆動部１２０のハウジング内に配設された回転軸と、外部の減速機とは同軸に連結されており、減速機の上端部は、第１股関節駆動部１２０のハウジングの下面に接合され、該下面に設けられた貫通穴を通って、回転軸が減速機の軸受内に挿通された構成となっている。
【００２６】
回転関節１４は、第１回転駆動機構から回転駆動力を得て、脚車輪型ロボット１００の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部１２の回転関節１６は、第２股関節駆動部１２２と、回転軸と、その軸受と、回転軸と同軸の減速機（例えば、ハーモニックドライブなど）とから構成されている。
第２股関節駆動部１２２は、モータ及び該モータの回転駆動力を回転軸に伝達する伝達機構から構成される第２回転駆動機構と、回転軸、軸受及び減速機を覆う関節フレーム部と第２回転駆動機構を収納するハウジングとが一体形成されたフレームとを備え、ハウジング内に第２回転駆動機構を収納した構成となっている。
【００２７】
関節フレーム部の上面には、回転関節１４を構成する減速機の下端部が接合され、回転関節１６が回転関節１４の回転方向に回転自在に支持されている。
各脚部１２の第１リンク１７は、その上端部が、回転関節１６を介して、該回転関節１６に対して、その回転方向に回動自在に連結されている。更に、第１リンク１７の下端側には、回転関節１８を回転駆動する第３回転駆動機構を収納するボックス形状のフレーム部（以下、第１のハウジングと称す）が一体形成されており、この第１のハウジングの内部には第３回転駆動機構が収納されている。第３回転駆動機構は、モータ、該モータの回転駆動力を回転関節１８の回転軸に伝達する伝達機構などを含んで構成されている。
【００２８】
各脚部１２の第２リンク１９は、その上端部が、回転関節１８を介して、第１リンク１７に対して回転関節１８の回転方向に回動自在に連結されている。第２リンク１９の下端側には、駆動輪２０を回転駆動する車輪駆動機構を収納するボックス形状のフレーム部（以下、第２のハウジングと称す）が一体形成されており、第２のハウジングの内部には車輪駆動機構が収納されている。更に、第２リンク１９の下端部には、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転自在に設けられている。車輪駆動機構は、モータ、該モータの回転駆動力を駆動輪２０の回転軸に伝達する伝達機構、減速機などを含んで構成されている。
【００２９】
回転関節１４及び回転関節１６は脚車輪型ロボット１００の股関節を構成し、回転関節１８は脚車輪型ロボット１００の膝関節を構成している。
回転関節１４は、下方を軸方向としてヨー軸周りに回転し、回転関節１６に連結された各構成部（第１リンク１７及び第１リンク１７に連結された第２リンク１９など）をヨー軸周りに回動させる。
【００３０】
また、回転関節１６、１８は、回転関節１４が図１の状態であるときは、脚車輪型ロボット１００の側面と直交する方向を軸方向として回転する。すなわち、回転関節１４が図１の状態であるときは、ピッチ軸回りに回転し、回転関節１４が図１の状態から９０度回転した状態であるときは、ロール軸回りに回転し、第１リンク１７及び第２リンク１８を各回転方向に回動させる。従って、脚部１２は、それぞれ３自由度を有する。
【００３１】
各脚部１２の先端には、第２リンク１９の下端側に形成された支持部を介して、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転自在に設けられている。
各脚部１２の第２リンク１９には、脚車輪型ロボット１００の移動経路上に存在する物体までの距離を測定し、且つ接地面までの距離を測定する脚先センサ２４が設けられている。
【００３２】
一方、基体１０の正面の上部中央には、水平面レーザ光を照射する水平レーザ２６が設けられている。また、基体１０の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ２８、３０がそれぞれ設けられている。
基体１０の正面の下部中央には、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影するカメラ３２が設けられている。
【００３３】
水平レーザ２６は、カメラ３２で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ２８は、カメラ３２で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ３０は、左方に所定角度傾けて設けられている。
カメラ３２の左右には、障害物を検出する障害物センサ３４、３６がそれぞれ設けられている。障害物センサ３４、３６は、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット１００の移動経路上に存在する障害物を大まかに検出することができる。
【００３４】
ここで、図３は、右前方の脚部１２が限界位置まで回動しているときの脚車輪型ロボット１００の正面図である。また、図４（ａ）は、右前方の脚部１２が基準の原点位置にあるときの図３におけるＡ−Ａ断面を見た図であり、（ｂ）は、右前方の脚部１２を基準の原点位置から限界位置まで回動させたときの図３におけるＡ−Ａ断面を見た図である。
脚車輪型ロボット１００には、脚部１２の回転関節１４に対する原点位置を設定するために、各脚部１２の基準の回転角度位置（基準原点位置）を検出するセンサと、各脚部１２の限界の回転角度位置を検出するセンサと、脚部１２と共に回動する部位に設けられた前記各センサの被検出部とが設けられている。
【００３５】
具体的には、図２に示すように、各第２股関節駆動部１２２のハウジングの上面に、Ｌ字を上下逆さまにした形状の遮光性を有する部材から形成された第１ドグ２００及び第２ドグ２０２が、回転関節１４の回転軸に対して径方向（ここでは、上面の長手方向の辺と平行な方向）に一直線状に並べて設けられている。なお、第１ドグ２００及び第２ドグ２０２は、Ｌ字の短辺部の端部を外周方向に向けて設けられている。第２股関節駆動部１２２は、回転関節１４の回転に連動してヨー軸周りに回動するので、回転関節１４の回転と連動して第１ドグ２００及び第２ドグ２０２も同じ軸周りに回動する。また、第１ドグ２００及び第２ドグ２０２は径方向に一直線状に並べて配設されているので、両者の回転角度位置は同じとなる。
【００３６】
更に、図２に示すように、各第１股関節駆動部１２０の下面には、脚車輪型ロボット１００の脚部１２が同図に示す姿勢のときに、第１ドグ２００を検出する位置に、基準位置検出センサ２１０が設けられている。基準位置検出センサ２１０は、脚部１２がその基準の原点位置となる回転角度位置に回動したことを検出するセンサであり、本実施の形態では、第１ドグ２００が図２に示す回動位置にあるときに、この回転角度位置が脚部１２の回転関節１４に対する基準の原点位置となる。
【００３７】
更に、図１、図３に示すように、基体１０の下面前端部及び下面後端部（不図示）には、その中央付近に、回転関節１４の回転によって、脚部１２が回動限界位置となる回転角度位置に回動したときに、第２股関節駆動部１２２のハウジングの上面に設けられた第２ドグ２０２を検出する位置に限界位置検出センサ２２０が２つずつ（各脚部１２に対して１つずつ）設けられている。つまり、本実施の形態では、脚部１２（右前脚）の第２ドグ２０２が、図３に示す回転角度位置まで回動したときに、この回転角度位置が、右前脚の回転関節１４に対する回動限界位置となる。
【００３８】
本実施の形態において、基準位置検出センサ２１０及び限界位置検出センサ２２０は、フォトインタラプタであり、射出部と受光部とが対向して設けられた発光部と受光部とを有し、発光部から射出された光線を第１ドグ２００又は第２ドグ２０２が遮断したか否かを検出することにより、第１ドグ２００又は第２ドグ２０２を検出する構成となっている。具体的に、第１ドグ２００及び第２ドグ２０２は、基準位置検出センサ２１０及び限界位置検出センサ２２０と対向したときに、発光部と受光部との間に外周方向に突き出たＬ字形状の短辺部が挟みこまれる位置関係に設けられている。つまり、この短辺部が発光部から射出される光線を遮断することで、第１ドグ２００及び第２ドグ２０２が検出される。
【００３９】
なお、基準位置検出センサ２１０及び限界位置検出センサ２２０は、フォトインタラプタに限らず、第１ドグ２００及び第２ドグ２０２からの反射波の有無を検出するフォトリフレクタ、超音波の第１ドグ２００及び第２ドグ２０２からの反射の有無を検出する超音波センサ、検出部への第１ドグ２００及び第２ドグ２０２の接触の有無を検出するマイクロスイッチ、圧力センサなどを用いることも可能である。
【００４０】
また、第１ドグ２００及び第２ドグ２０２も、Ｌ字形状に限らず、センサの検出部の構成や、検出部の取り付け方向などに応じて、直線状のものなど様々な形状のものを用いることが可能である。
上記構成によって、脚車輪型ロボット１００は、図４（ａ）に示すように、図３のＡ−Ａ断面から見て、脚部１２の回転関節１４に対する回転角度位置が基準の原点位置にあるときは、第１ドグ２００の短辺部が基準位置検出センサ２１０の発光部と受光部との間に挟まれて発光部から射出された光を遮断する。これにより、基準位置検出センサ２１０において第１ドグ２００が検出される。
【００４１】
一方、図４（ｂ）に示すように、図３のＡ−Ａ断面から見て、回転関節１４が時計回り方向に回転して、脚部１２の回転関節１４に対する回転角度位置が回転限界位置に到達すると、第２ドグ２０２の短辺部が限界位置検出センサ２２０の光照射部と受光部との間に挟まれて発光部から射出された光を遮断する。これにより、限界位置検出センサ２２０において第２ドグ２０２が検出される。
【００４２】
次に、脚車輪型ロボット１００の駆動制御システムを説明する。
図５は、脚車輪型ロボット１００の駆動制御システムを示すブロック図である。
各脚部１２の回転関節１４、１６、１８には、図５に示すように、回転関節１４、１６、１８を回転駆動する駆動機構として関節モータ４０がそれぞれ設けられている。各関節モータ４０には、関節モータ４０の回転角度位置を検出するエンコーダ４２と、モータ指令信号およびエンコーダ４２の出力信号に基づいて関節モータ４０の駆動を制御するドライバ４４が設けられている。
【００４３】
本実施の形態において、エンコーダ４２は、インクリメンタルエンコーダであり、関節モータ４０の回転に応じて、位相が９０°異なるＡ相パルス信号及びＢ相パルス信号を出力すると共に、エンコーダの１回転毎にＺ相（原点相）のパルス信号（以下、Ｚ相パルス信号と称す）を出力する。更に、Ａ相及びＢ相のパルス信号を４逓倍カウントするパルスカウンタを内蔵しており、４逓倍カウントパルス信号によって回転角度位置を検出する。
【００４４】
また、関節モータ４０の出力軸には不図示の減速機が設けられており、所定の減速比でモータ４０の回転速度を減速して、該減速されたモータの回転力（トルク）を回転関節１４、１６、１８の各回転軸に伝えることで所望のトルクを得るようにしている。
各脚部１２の駆動輪２０の回転軸には、該駆動輪２０を回転駆動する車輪モータ５０がそれぞれ接続されている。各車輪モータ５０には、車輪モータ５０の回転角度位置を検出するエンコーダ５２と、モータ指令信号およびエンコーダ５２の出力信号に基づいて車輪モータ５０の駆動を制御するドライバ５４が設けられている。
【００４５】
脚車輪型ロボット１００は、更に、ＣＰＵ６０と、脚車輪型ロボット１００の姿勢を検出する３軸姿勢センサ７０と、カメラ３２の画像信号を処理するビジョンプロセッサ７２と、外部のＰＣ等と無線通信を行う無線通信部７４と、ビジョンプロセッサ７２および無線通信部７４とＣＰＵ６０の入出力を中継するハブ７６と、警告音等を出力するスピーカ７８とを有して構成される。
【００４６】
３軸姿勢センサ７０は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット１００の姿勢の傾きを検出する。
ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介してドライバ４４、５４にモータ指令信号を出力し、角度取込Ｉ／Ｆ６２を介してエンコーダ４２、５２の出力信号を入力する。また、センサ入力Ｉ／Ｆ６３を介して、脚先センサ２４、障害物センサ３４、３軸姿勢センサ７０、基準位置検出センサ２１０及び限界位置検出センサ２２０からそれぞれセンサ信号を入力する。また、通信Ｉ／Ｆ６４を介してハブ７６と信号の入出力を行い、サウンド出力Ｉ／Ｆ６５を介してスピーカ７８に音声信号を出力する。
【００４７】
次に、ＣＰＵ６０で実行される処理を説明する。
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、仮原点位置検出処理、原点位置設定処理、車輪走行制御処理、昇降制御処理などを実行する。
仮原点位置検出処理は、脚車輪型ロボット１００の各脚部１２の回転関節１４に対する原点位置を設定するための処理であって、基準位置検出センサ２１０の検出結果に基づき、各脚部１２の回転関節１４に対する仮の原点位置（以下、単に脚部１２の仮の原点位置という）を検出する処理である。
【００４８】
また、原点位置設定処理は、モータのバックラッシュ、センサのバラツキ、制御のバラツキなどによる仮の原点位置のバラツキを補正し、該補正後の位置を脚部１２の回転関節１４に対する原点位置（以下、単に脚部１２の原点位置という）として設定する処理である。具体的に、仮原点位置検出処理で検出された仮の原点位置と、仮の原点位置の検出範囲（バラツキの幅）と、エンコーダの発生する各種パルス信号とに基づき、仮の原点位置のバラツキを補正する。
【００４９】
なお、仮原点位置検出処理及び原点位置設定処理は、脚車輪型ロボット１００の電源が投入される毎に実行するようにしても良いし、一度設定した原点位置を記憶保持しておき、初期の電源投入時以外は行わないようにしても良いし、センサなどの経年劣化等を考慮して、定期的に実行するようにしても良い。ここで、原点位置の情報を記憶保持する場合には、脚車輪型ロボット１００を、データの書き換えが可能で且つ電源の供給無しでもデータを保持できるフラッシュメモリ等の記憶媒体を備えた構成とする。
【００５０】
また、不慮の事故などで原点位置の情報が消えてしまったり、壊れてしまったりした場合には、情報の有無や破壊の有無を自動で検知して仮原点位置検出処理及び原点位置設定処理を実行させるか、または、別途設定指令を発行して、これらの処理を実行させるようにする。
また、車輪走行制御処理は、駆動輪２０を用いた移動を制御する処理であり、昇降制御処理は、脚部１２を用いて段差等の障害物を昇降する移動を制御する処理である。なお、本発明は、脚部１２の原点位置を設定する処理に特徴があり、また、車輪走行制御処理及び昇降制御処理については従来の脚車輪型ロボットと同様となるので、これらの処理については説明を省略する。
【００５１】
まず、図６に基づき、仮原点位置検出処理を説明する。
ここで、図６は、仮原点位置検出処理を示すフローチャートである。なお、図６のフローチャートは、各脚部１２に共通した仮原点位置検出処理を示すものであり、同様の処理を各脚部１２に対して順番に又は同時に行うこととなる。
ＣＰＵ６０において仮原点位置検出処理が実行されると、まず、図６に示すように、ステップＳ１００に移行する。
【００５２】
ステップＳ１００では、ＣＰＵ６０において、センサ入力Ｉ／Ｆ６３を介して入力される限界位置検出センサ２２０のセンサ出力信号に基づき、該当する脚部１２の限界位置検出センサ２２０によって、第２ドグ２０２が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップＳ１０２に移行し、そうでない場合(No)は、ステップＳ１１６に移行する。
【００５３】
ステップＳ１０２に移行した場合は、ＣＰＵ６０において、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０を駆動して回転関節１４を回転し、脚部１２を、その初期位置から基準回転角度位置の方向（本実施の形態においては、右前脚及び左後脚の場合は反時計回り方向、左前脚及び右後脚の場合は時計回り方向）に所定の回動速度で回動させて、ステップＳ１０４に移行する。つまり、脚部１２の回転関節１４に対する初期位置が限界回転角度位置（限界位置検出センサ２２０の配設位置）の近傍であった場合は、それ以上、限界位置検出センサ２２０の配設位置方向（本実施の形態においては、右前脚及び左後脚の場合は時計回り方向、左前脚及び右後脚の場合は反時計回り方向）へと回動させるのは危険であるため、例外として、初期の回動方向を基準回転角度位置方向（基準位置検出センサ２１０の配設位置方向）とする。
【００５４】
ステップＳ１０４では、ＣＰＵ６０において、センサ入力Ｉ／Ｆ６３を介して入力される基準位置検出センサ２１０のセンサ出力信号に基づき、該当する脚部１２の基準位置検出センサ２１０によって、第１ドグ２００が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップＳ１０６に移行し、そうでない場合(No)は、検出されるまで判定処理を繰り返す。
【００５５】
ステップＳ１０６に移行した場合は、ＣＰＵ６０において、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０の回転速度を減速し、脚部１２を、引き続き同じ回動方向に所定回転角度分回動させて、ステップＳ１０８に移行する。本実施の形態において、この所定回転角度は、第１ドグ２００が基準位置検出センサ２１０の検出範囲外に出るまでの角度である。
【００５６】
ステップＳ１０８では、ＣＰＵ６０において、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０を駆動し、脚部１２を、該当する限界位置検出センサ２２０の配設位置方向に回動させて、ステップＳ１１０に移行する。
ステップＳ１１０では、ＣＰＵ６０において、センサ入力Ｉ／Ｆ６３を介して入力される基準位置検出センサ２１０のセンサ出力信号に基づき、該当する脚部１２の基準位置検出センサ２１０によって、第１ドグ２００が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０の動作を停止して、ステップＳ１１２に移行し、そうでない場合(No)は、検出されるまで判定処理を繰り返す。
【００５７】
ステップＳ１１２に移行した場合は、ＣＰＵ６０において、ステップＳ１１０で第１ドグ２００が検出された位置（本実施の形態では、センサ出力信号の立上がり位置）を、仮の原点位置として検出して、ステップＳ１１４に移行する。
ステップＳ１１４では、ＣＰＵ６０において、ステップＳ１１２で検出した仮の原点位置の情報を、ＲＡＭ（不図示）に記憶すると共に、後述する検出範囲の算出用に、不図示のフラッシュメモリに記憶して、一連の処理を終了し元の処理に復帰させる。ここで、本実施の形態においては、仮の原点位置に対して、該原点位置を検出後に（センサ出力信号の立上がりに対して）最初にエンコーダ４２の発生する、カウントパルス信号、Ｚ相パルス信号、該Ｚ相パルス信号の検出後の最初のカウントパルス信号の各位置情報についてもＲＡＭに記憶する。
【００５８】
また、ステップＳ１００において、限界位置検出センサ２２０で第２ドグ２０２が検出されずにステップＳ１１６に移行した場合は、ＣＰＵ６０において、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０を駆動して回転関節１４を回転し、脚部１２を、その初期位置から該当する限界位置検出センサ２２０の配設位置方向に所定の回動速度で回動させて、ステップＳ１１８に移行する。
【００５９】
ステップＳ１１８では、ＣＰＵ６０において、センサ入力Ｉ／Ｆ６３を介して入力される基準位置検出センサ２１０のセンサ出力信号に基づき、該当する脚部１２の基準位置検出センサ２１０によって、第１ドグ２００が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０の動作を停止して、ステップＳ１２０に移行し、そうでない場合(No)は、ステップＳ１２４に移行する。
【００６０】
ステップＳ１２０に移行した場合は、ＣＰＵ６０において、ステップＳ１１８で第１ドグ２００が検出された位置（本実施の形態では、センサ出力信号の立上がり位置）を、仮の原点位置として検出して、ステップＳ１２２に移行する。
ステップＳ１２２では、ＣＰＵ６０において、ステップＳ１２０で検出した仮の原点位置の情報を、ＲＡＭ（不図示）に記憶すると共に、後述する検出範囲の算出用に、不図示のフラッシュメモリに記憶して、一連の処理を終了し元の処理に復帰させる。ここで、本実施の形態においては、仮の原点位置に対して、該原点位置を検出後に（センサ出力信号の立上がりに対して）最初にエンコーダ４２の発生する、カウントパルス信号、Ｚ相パルス信号、該Ｚ相パルス信号の検出後の最初のカウントパルス信号の各位置情報についてもＲＡＭに記憶する。
【００６１】
また、ステップＳ１１８において、基準位置検出センサ２１０において第１ドグ２００が検出されずに、ステップＳ１２４に移行した場合は、ＣＰＵ６０において、センサ入力Ｉ／Ｆ６３を介して入力される限界位置検出センサ２２０のセンサ出力信号に基づき、該当する脚部１２の限界位置検出センサ２２０によって、第２ドグ２０２が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０の動作を停止して、ステップＳ１２６に移行し、そうでない場合(No)は、ステップＳ１１８に移行する。
【００６２】
ステップＳ１２６に移行した場合は、ＣＰＵ６０において、モータ指令出力Ｉ／Ｆ６１を介して、該当する回転関節１４の関節モータ４０のドライバ４４に対して指令を与えて関節モータ４０を駆動して回転関節１４を回転し、脚部１２を、基準回転角度位置方向に所定の回動速度で回動させて、ステップＳ１０４に移行する。
【００６３】
次に、図７に基づき、原点位置設定処理を説明する。
ここで、図７は、原点位置設定処理を示すフローチャートである。なお、図７のフローチャートは、各脚部１２に共通した原点位置を設定する処理を示すものであり、同様の処理を各脚部１２に対して順番に又は同時に行うこととなる。
ＣＰＵ６０において原点位置設定処理が実行されると、まず、図７に示すように、ステップＳ２００に移行する。
【００６４】
ステップＳ２００では、ＣＰＵ６０において、不図示のフラッシュメモリから、仮の原点位置の検出範囲の情報を読み出し、ステップＳ２０２に移行する。
本実施の形態において、仮の原点位置の検出範囲については、原点位置設定処理の前に、上記仮原点位置検出処理を複数回行った結果を用いて算出し、ＲＡＭやフラッシュメモリなどに記憶保持しておく。具体的には、脚部１２の回転関節１４毎に複数回検出された仮の原点位置（回転角度）のうち、最小値と最大値との差分値を算出する。この差分値が、仮の原点位置のバラツキの範囲である検出範囲となる。
【００６５】
ステップＳ２０２では、ＣＰＵ６０において、不図示のフラッシュメモリから、エンコーダ４２の４逓倍カウントパルス信号のパルスの情報（１周期のパルスに対応する回転角度幅（分解能））を読み出し、ステップＳ２０４に移行する。なお、このパルスの情報も、予め不図示のフラッシュメモリに記憶保持しておく。
ステップＳ２０４では、ＣＰＵ６０において、ステップＳ２００で読み出した検出範囲と、ステップＳ２０２で読み出したパルスの情報とを比較して、ステップＳ２０６に移行する。
【００６６】
ステップＳ２０６では、ＣＰＵ６０において、ステップＳ２０４の比較結果から、検出範囲（バラツキの幅）が、４逓倍カウントパルス信号の１周期のパルスに対応する回転角度幅の範囲内に収まっているか否かを判定し、且つ、仮の原点位置の情報の最小値、最大値ともカウントパルスの立ち上がりと次のパルスの立ち上がりとの間に存在するか否かを判定し、範囲内に収まると判定され且つ間に存在すると判定された（条件を満たしていると判定された）場合(Yes)は、ステップＳ２０８に移行し、そうでない場合(No)は、ステップＳ２１４に移行する。
【００６７】
ステップＳ２０８に移行した場合は、ＣＰＵ６０において、同期モードが設定されているか否かを判定し、設定されていると判定された場合(Yes)は、ステップＳ２１０に移行し、そうでない場合(No)は、ステップＳ２１２に移行する。ここで、同期モードとは、４逓倍カウントパルス信号と同期して原点位置を設定するモードである。この他にも、半同期モード及び非同期モードがある。半同期モードでは、エンコーダ４２のＺ相パルス信号と同期して原点位置を設定する。また、非同期モードでは、４逓倍カウントパルス信号及びＺ相パルス信号とは非同期に原点位置を設定する。本実施の形態においては、これらのモードを、例えば、外部のＰＣ等を介して、ユーザが予め設定することができるようになっている。
【００６８】
ステップＳ２１０に移行した場合は、ＣＰＵ６０において、ＲＡＭに記憶された、仮の原点位置を特定するセンサ出力信号（立上がり）の検出後に、最初にエンコーダ４２の発生する４逓倍カウントパルス信号の立上がり位置で特定される回転角度位置を、該当する脚部１２の原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
一方、ステップＳ２０８において、非同期モードが設定されており、ステップＳ２１２に移行した場合は、ＣＰＵ６０において、ＲＡＭに記憶された、仮の原点位置を、該当する脚部１２の原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
【００６９】
また、ステップＳ２０６において、検出範囲が、４逓倍カウントパルス信号の１周期の回転角度範囲に収まってなく、ステップＳ２１４に移行した場合は、ＣＰＵ６０において、同期モードが設定されているか否かを判定し、設定されていると判定した場合(Yes)は、ステップＳ２１６に移行し、そうでない場合(No)は、ステップＳ２１８に移行する。
ステップＳ２１６に移行した場合は、ＣＰＵ６０において、ＲＡＭに記憶された、仮の原点位置を特定するセンサ出力信号（立上がり）の検出後における、最初にエンコーダ４２の発生するＺ相パルス信号の検出後で、且つ最初にエンコーダ４２の発生する４逓倍カウントパルス信号の立上がり位置で特定される回転角度位置を、該当する脚部１２の原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
【００７０】
一方、ステップＳ２１８に移行した場合は、ＣＰＵ６０において、ＲＡＭに記憶された、仮の原点位置を特定するセンサ出力信号（立上がり）の検出後に、最初にエンコーダ４２の発生するＺ相パルス信号の立上がり位置で特定される回転角度位置を、該当する脚部１２の原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
次に、図８〜図１１に基づき、本実施の形態の動作を説明する。
【００７１】
ここで、図８（ａ）及び（ｂ）は、図３のＡ−Ａ断面から見た、脚部１２の回転関節１４に対する原点位置を検出する際の第１の回動パターンを示す図である。また、図９（ａ）〜（ｄ）は、図３のＡ−Ａ断面から見た、脚部１２の回転関節１４に対する仮の原点位置を検出する際の第２の回動パターンを示す図である。また、図１０（ａ）及び（ｂ）は、検出範囲が１周期の範囲内に収まるときの同期モード及び非同期モードにおける原点位置を示す図である。また、図１１（ａ）及び（ｂ）は、検出範囲が１周期の範囲内に収まらないときの半同期モード及び同期モードにおける原点位置を示す図である。
【００７２】
脚車輪型ロボット１００は、電源が投入されると、まず、原点位置設定処理で用いる検出範囲の算出処理を実行する。検出範囲の算出処理が開始されると、ＣＰＵ６０は、まず、フラッシュメモリに記憶されている、過去に検出された仮の原点位置の情報を読み出す。ここで、工場出荷後に初めて電源が投入されたときなど、フラッシュメモリに過去の仮の原点位置の情報が記憶されていない場合は、まず、仮原点位置検出処理を複数回実行する。ここでは、フラッシュメモリに過去の複数回分の仮の原点位置の情報が記憶されているとして説明を行う。
【００７３】
ＣＰＵ６０は、複数の仮の原点位置の情報（回転角度）のうち、最小値と最大値を読み出し、これらの差分値を算出する。この差分値が検出範囲となる。検出範囲は、全ての脚部１２に対して算出し、各脚部１２に対して設定する。なお、検出範囲の算出処理は、仮原点位置検出処理が終了する毎に行っても良い。この場合は、仮の原点位置の最新の検出結果に基づき、原点位置の設定処理に用いる検出範囲を算出することができる。
【００７４】
検出範囲が算出されると、ＣＰＵ６０は、次に、原点位置の設定対象の脚部１２に対する仮原点位置検出処理を実行する。
仮原点位置検出処理が実行されると、ＣＰＵ６０は、センサ入力Ｉ／Ｆ６３を介して入力される、原点位置の設定対象である脚部１２に対する限界位置検出センサ２２０のセンサ出力信号に基づき、設定対象の脚部１２に対する第２ドグ２０２が限界位置検出センサ２２０において検出されたか否かを判定する（ステップＳ１００）。
【００７５】
基体１０の前端部又は後端部に設けられた、該当する脚部１２に対応する第２ドグ２０２が、限界位置検出センサ２２０において検出されなかった場合（ステップＳ１００の「Ｎｏ」の分岐）は、ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介して、脚部１２の回転関節１４を駆動する関節モータ４０のドライバ４４に対して指令を与え、脚部１２を、限界位置検出センサ２２０によって位置検出が行われる限界回転角度位置の方向に、所定の回動速度で回動させる（ステップＳ１１６）。この回動速度は、基準位置検出センサ２１０及び限界位置検出センサ２２０の検出速度及びＣＰＵ６０の演算速度などを考慮し、例えば、仮原点位置検出処理及び原点位置設定処理を最速で完了することができる速度であることが望ましい。
【００７６】
以下、右前脚（後左脚も同様）を例に挙げて動作を説明する。
ここで、右前脚に対応する第１ドグ２００及び第２ドグ２０２の初期位置が、図８（ａ）に示すように、基準位置検出センサ２１０よりも手前に位置する場合は、図８（ｂ）に示すように、脚部１２が限界位置検出センサ２２０の配設方向（右前脚の場合は、時計回り方向）に回動するのに連動して、第１ドグ２００及び第２ドグ２０２が時計回りに回動し、最初に第１ドグ２００が基準位置検出センサ２１０の検出位置へと到達する。第１ドグ２００が検出位置に到達すると、基準位置検出センサ２１０を構成するフォトインタラプタの発光部から射出された光線を第１ドグ２００が遮断し、これによって、光線が受光部へと到達しなくなるためセンサ出力信号が変化（ここではローレベルからハイレベルへと変化）する（ステップＳ１１８の「Ｙｅｓ」の分岐）。ＣＰＵ６０は、このセンサ出力信号の変化位置（信号の立上がり位置）によって特定される回転角度位置を、角度取込Ｉ／Ｆを介してエンコーダ４２から取得し、該取得した回転角度位置を仮の原点位置とする（ステップＳ１２０）。更に、ＣＰＵ６０は、仮の原点位置が検出されると、モータ指令出力Ｉ／Ｆ６１を介して、回転関節１４の関節モータ４０のドライバ４４に対して指令を与え、脚部１２の回動を停止する。また、ＣＰＵ６０は、検出した仮の原点位置の情報を、ＲＡＭに記憶すると共に、フラッシュメモリにも記憶する（ステップＳ１２２）。
【００７７】
更に、ＣＰＵ６０は、仮の原点位置を特定するセンサ出力信号の立上がり後に、最初に発生する４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置、仮の原点位置を特定するセンサ出力信号の立上がり後に、最初に発生するＺ相パルス信号の立上がり位置によって特定される回転角度位置、仮の原点位置を特定するセンサ出力信号の立上がり後に最初に発生するＺ相パルス信号の立上がり後に、最初に発生する４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置の情報をＲＡＭに記憶する。
【００７８】
一方、第１ドグ２００及び第２ドグ２０２の初期位置が、図９（ａ）に示すように、基準位置検出センサ２１０と、限界位置検出センサ２２０との間に位置する場合は、図９（ｂ）に示すように、脚部１２が時計回りに回動することに連動して、第１ドグ２００及び第２ドグ２０２が時計回りに回動し、最初に第２ドグ２０２が限界位置検出センサ２２０の検出位置へと到達する。これにより、限界位置検出センサ２２０を構成するフォトインタラプタの発光部から射出された光線が第２ドグ２０２に遮断され、センサ出力信号がローレベルからハイレベルへと変化する（ステップＳ１２４の「Ｙｅｓ」の分岐）。ＣＰＵ６０は、このセンサ出力信号の変化に応じて、モータ指令出力Ｉ／Ｆ６１を介して、回転関節１４の関節モータ４０のドライバ４４に対して指令を与え、図９（ｃ）に示すように、脚部１２を基準回転角度位置方向（半時計回り方向）に回動させる（ステップＳ１２６）。これにより、該当する脚部１２に対応する第１ドグ２００は、やがて基準位置検出センサ２１０の検出位置へと到達し、該センサ２１０のセンサ出力信号をローレベルからハイレベルへと変化させる（ステップＳ１０４の「Ｙｅｓ」の分岐）。ＣＰＵ６０は、このセンサ出力信号の変化に応じて、モータ指令出力Ｉ／Ｆ６１を介して、回転関節１４の関節モータ４０のドライバ４４に対して指令を与え、脚部１２の回動速度を現在の速度から減速する。更に、図９（ｃ）に示すように、基準位置検出センサ２１０の検出範囲から第１ドグ２００が出るまで（センサ出力信号がローレベルに変化するまで）、脚部１２を同じ方向（半時計回り方向）に減速させた状態で回動させる（ステップＳ１０６）。つまり、この回動分の回転角度が所定の回転角度となる。
【００７９】
第１ドグ２００が所定の回転角度分、反時計回り方向に回動した位置にくると（センサ出力信号がローレベルに変化すると）、ＣＰＵ６０は、このセンサ出力信号の変化に応じて、モータ指令出力Ｉ／Ｆ６１を介して、回転関節１４の関節モータ４０のドライバ４４に対して指令を与え、図９（ｄ）に示すように、脚部１２を上記検出範囲から出るまでと同じ減速状態で時計回り方向に回動させる（ステップＳ１０８）。これにより、該当する脚部１２に対応する第１ドグ２００は、再び基準位置検出センサ２１０の検出位置へと到達し、該センサ２１０のセンサ出力信号をローレベルからハイレベルへと変化させる（ステップＳ１１０の「Ｙｅｓ」の分岐）。ＣＰＵ６０は、このセンサ出力信号の変化位置（信号の立上がり位置）によって特定される回転角度位置を、角度取込Ｉ／Ｆを介してエンコーダ４２から取得し、該取得した回転角度位置を仮の原点位置とする（ステップＳ１１２）。更に、ＣＰＵ６０は、仮の原点位置が検出されると、モータ指令出力Ｉ／Ｆ６１を介して、回転関節１４の関節モータ４０のドライバ４４に対して指令を与え、脚部１２の回動を停止する。また、ＣＰＵ６０は、検出した仮の原点位置の情報を、ＲＡＭに記憶すると共に、フラッシュメモリにも記憶する（ステップＳ１１４）。
【００８０】
更に、ＣＰＵ６０は、仮の原点位置を特定するセンサ出力信号の立上がり後に、最初に発生する４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置、仮の原点位置を特定するセンサ出力信号の立上がり後に、最初に発生するＺ相パルス信号の立上がり位置によって特定される回転角度位置、仮の原点位置を特定するセンサ出力信号の立上がり後に最初に発生するＺ相パルス信号の立上がり後に、最初に発生する４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置の情報をＲＡＭに記憶する。
【００８１】
このようにして仮の原点位置が検出されると、ＣＰＵ６０は、次に、原点位置設定処理を実行する。原点位置設定処理が実行されると、上記算出した検出範囲の情報をＲＡＭから読み出すと共に（ステップＳ２００）、エンコーダ４２の４逓倍カウントパルスのパルスの情報をＲＯＭ又はフラッシュメモリから読み出す（ステップＳ２０２）。
次に、ＣＰＵ６０は、読み出した検出範囲（回転角度幅）とパルスの情報（パルスの１周期に対する回転角度幅）とを比較する（ステップＳ２０４）。
【００８２】
例えば、検出範囲が０．５[°]で、パルス周期が１．０[°]である場合は、検出範囲はパルスの１周期の角度範囲内に収まっているので、これに加えて、仮の原点位置の情報の最小値、最大値とも、カウントパルスの立ち上がりと次のカウントパルスの立ち上がりとの間に存在することが満たされれば（ステップＳ２０６の「Ｙｅｓ」の分岐）、ＣＰＵ６０は、次に、非同期モード及び同期モードのうち設定されたモードに応じて仮の原点位置を補正し、該補正した位置を該当する脚部１２の原点位置として設定する。
【００８３】
非同期モードが設定されている場合（ステップＳ２０８の「Ｎｏ」の分岐）は、図１０（ａ）に示すように、基準位置検出センサ２１０の検出位置（立上がり位置）によって特定される回転角度位置を、原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内である場合は、仮の原点位置のバラツキが無視できる大きさであるため、センサ出力信号によって特定される回転角度位置をそのまま原点位置として設定する（ステップＳ２１２）。つまり、この場合は無補正となる。
【００８４】
一方、同期モードが設定されている場合（ステップＳ２０８の「Ｙｅｓ」の分岐）は、図１０（ｂ）に示すように、仮の原点位置を示すセンサ出力信号の立上がり後、最初の４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置を、該当する脚部１２の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内である場合は、仮の原点位置のバラツキが無視できる大きさであるため、仮の原点位置を、４逓倍カウントパルス信号に同期させた位置に補正し、該補正した位置を原点位置として設定する（ステップＳ２１０）。
【００８５】
また、例えば、検出範囲が１．５[°]で、パルス周期が１．０[°]である場合は、検出範囲はパルスの１周期の角度範囲内に収まっていないので（ステップＳ２０６の「Ｎｏ」の分岐）、半同期モード及び同期モードのうち設定されたモードに応じて仮の原点位置を補正し、該補正した位置を該当する脚部１２の原点位置として設定する。
半同期モードが設定されている場合（ステップＳ２１４の「Ｎｏ」の分岐）は、図１１（ａ）に示すように、仮の原点位置を示すセンサ出力信号の立上がり後、最初のＺ相パルス信号の立上がり位置によって特定される回転角度位置を、該当する脚部１２の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内に収まっていない場合は、仮の原点位置のバラツキが無視できない大きさのため、仮の原点位置を、Ｚ相パルス信号に同期させた位置に補正し、該補正した位置を該当する脚部１２の原点位置として設定する（ステップＳ２１８）。
【００８６】
一方、同期モードが設定されている場合（ステップＳ２１４の「Ｙｅｓ」の分岐）は、図１１（ｂ）に示すように、仮の原点位置を示すセンサ出力信号の立上がり後の最初のＺ相パルス信号の立上がり後で、且つ最初の４逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置を、該当する脚部１２の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内に収まっていない場合は、仮の原点位置のバラツキが無視できない大きさのため、仮の原点位置を、Ｚ相パルス信号の立上がり後における、４逓倍カウントパルス信号に同期させた位置に補正し、該補正した位置を該当する脚部１２の原点位置として設定する（ステップＳ２１６）。
【００８７】
本実施の形態において、上記した仮の原点位置の補正処理は、予めＲＡＭに記憶されている上記各モードに対応した回転角度位置情報を用いて行う。つまり、ＲＡＭには、各モードに対応した補正後の回転角度位置の情報が記憶されているので、モードに応じた回転角度位置を選択して、該選択した回転角度位置を原点位置として設定する。
上記の仮原点位置検出処理及び原点位置設定処理を、脚車輪型ロボット１００の各脚部１２に対して行うことで、各脚部１２の回転関節１４に対する原点位置の設定が完了する。
【００８８】
以上、本実施の形態の脚車輪型ロボット１００は、脚部１２の回転関節１４に対する基準の原点位置を検出する基準位置検出センサ２１０を、第１股関節駆動部１２０のハウジングの下面に設け、基準位置検出センサ２１０の検出対象である第１ドグ２００を、第２股関節駆動部１２２のハウジングの上面における基準位置検出センサ２１０と基準の原点位置において対向する位置に設けた構成とした。
【００８９】
更に、本実施の形態の脚車輪型ロボット１００は、限界位置検出センサ２２０の検出対象である第２ドグ２０２を、第２股関節駆動部１２２のハウジングの上面に第１ドグ２００に対して径方向に一直線状に並べて設け、脚部１２の回転関節１４に対する時計回り方向又は半時計回り方向の限界回転角度位置を検出する限界位置検出センサ２２０を、第２股関節駆動部１２２のハウジングの上面に設けられた第２ドグ２０２が限界回転角度位置まで回動したときに対向する、基体１０の前端部及び後端部の下面中央付近の位置に設けた構成とした。
【００９０】
また、本実施の形態の脚車輪型ロボット１００は、回転関節１４を回転して脚部１２を回動することで、第１ドグ２００及び第２ドグ２０２をその初期位置から最初に限界位置検出センサ２２０の配設位置方向に回動させ、最初に基準位置検出センサ２１０で第１ドグ２００が検出された場合は、その検出位置を仮の原点位置とすることが可能である。また、回転関節１４を回転して脚部１２を回動することで、第１ドグ２００及び第２ドグ２０２をその初期位置から最初に限界位置検出センサ２２０の配設位置方向に回動させ、最初に限界位置検出センサ２２０で第２ドグ２０２が検出された場合は、基準位置検出センサ２１０の検出位置を所定回転角度分通過するまで基準の原点位置方向に第１ドグ２００及び第２ドグ２０２を回動し、しかる後、再び限界位置検出センサ２２０の配設位置方向に第１ドグ２００及び第２ドグ２０２を回動させ、これにより、基準位置検出センサ２１０で第１ドグ２００が検出された場合は、その検出位置を仮の原点位置とすることが可能である。
【００９１】
以上より、各脚部１２に対して、基準位置検出センサ２１０及び限界位置検出センサ２２０を１つずつと、各センサにそれぞれ対応するドグ（第１ドグ２００及び第２ドグ２０２（第１被検出部及び第２被検出部））とを設けた簡単な構成で安全に仮の原点位置を検出することができる。また、第１ドグ２００が限界位置検出センサ２２０の配設位置方向に回動しているときに、該第１ドグ２００が基準位置検出センサ２１０で検出されたときにのみ、その検出位置を仮の原点位置とするようにしたので、仮原点位置検出処理において、毎回、基準位置検出センサ２１０の検出位置への第１ドグ２００の進入方向を揃えることができ、進入方向の違いによる仮の原点位置のズレの発生を防止することができる。
【００９２】
また、各センサに対して専用のドグを設ける構成としたので、各センサ及び各センサに対応するドグの組を任意の位置に配設することが可能である。例えば、２つのセンサに対して共通の１つのドグを用いた場合に、ドグが基準の原点位置にあるときにこれと対応する位置に基準位置検出センサを設けることができても、このドグが限界回転角度位置に回動したときに、これと対応する位置に限界位置検出センサを設けることができない状況が発生しうる。例えば、ドグの上方にセンサを設ける部材が無いなど。本発明は、このような場合に、各センサに対してそれぞれ専用のドグを設けるようにしたので、センサとドグの組を適切な位置に設けることができる。
【００９３】
更に、本実施の形態の脚車輪型ロボット１００は、仮の原点位置を検出後に、該仮の原点位置の検出範囲、エンコーダ４２の４逓倍カウントパルス信号の１周期のパルスの情報、及びエンコーダ４２の発生する各種パルス信号に基づき、仮の原点位置を補正し、該補正後の位置を原点位置として設定することが可能である。
これにより、モータのバックラッシュ、センサのバラツキ、制御のバラツキなどによる仮の原点位置のバラツキを補正することができるので、安定した原点位置の設定を行うことができる。
【００９４】
また、本実施の形態の脚車輪型ロボット１００は、過去に行われた複数回の仮原点位置検出処理の検出結果を用いて、仮の原点位置の検出範囲を算出することが可能である。
これにより、過去の最新の検出結果の反映された検出範囲に基づき、原点位置設定処理を実行することができるので、適切な原点位置の設定を行うことができる。また、検出範囲の算出を行うことができるので、複数回分の新たな仮の原点位置の検出結果を用いて、定期的に検出範囲を更新することで、センサや制御系の経年劣化に対応することができる。
【００９５】
上記実施の形態において、脚車輪型ロボット１００は、発明７の脚車輪型ロボットに対応し、脚部１２は、発明６のリンク機構又は発明７の脚部に対応する。
また、上記実施の形態において、関節モータ４０は、発明１、５、６及び７のアクチュエータに対応し、車輪モータ５０は、発明７のアクチュエータに対応する。
また、上記実施の形態において、第１ドグ２００は、発明１乃至５の第１被検出部に対応し、第２ドグ２０２は、発明１乃至５の第２被検出部に対応し、基準位置検出センサ２１０は、発明１乃至５の基準位置検出センサに対応し、限界位置検出センサ２２０は、発明１乃至５の限界位置検出センサに対応する。
【００９６】
また、上記実施の形態において、ステップＳ１００〜Ｓ１１０、Ｓ１１６〜Ｓ１２０、Ｓ１２４、Ｓ１２６は、発明１の回動制御手段に対応し、ステップＳ１１２、Ｓ１１４、Ｓ１２０、Ｓ１２２、並びにステップＳ２００〜Ｓ２１８は、発明１又は２の原点位置設定手段に対応する。
また、上記実施の形態において、ステップＳ１１６は、発明５の第１のステップに対応し、ステップＳ１１８〜Ｓ１２２、並びにステップＳ２００〜Ｓ２１８は、発明５の第２のステップに対応し、ステップＳ１２４〜Ｓ１２６は、並びにステップＳ１０４〜Ｓ１０６は、発明５の第３のステップに対応し、ステップＳ１０８は、発明５の第４のステップに対応し、ステップＳ１１０〜Ｓ１１４、並びにステップＳ２００〜Ｓ２１８は、発明５の第５のステップに対応する。
【００９７】
なお、上記実施の形態においては、脚部１２の回転関節１４に対する原点位置を設定するために、第１ドグ２００、第２ドグ２０２、基準位置検出センサ２１０及び限界位置検出センサ２２０を設けた構成としたが、回転関節１４だけに限らず、回転関節１６や第１リンク１７などに第１ドグ２００、第２ドグ２０２、基準位置検出センサ２１０及び限界位置検出センサ２２０を設け、第１リンク１７の回転関節１６に対する基準の原点位置、限界回転角度位置を検出し、第１リンク１７の回転関節１６に対する原点位置を設定できる構成とすることも可能である。同様に、回転関節１８や第２リンク１９などに第１ドグ２００、第２ドグ２０２、基準位置検出センサ２１０及び限界位置検出センサ２２０を設け、第２リンク１９の回転関節１８に対する基準の原点位置、限界回転角度位置を検出し、第２リンク１９の回転関節１８に対する原点位置を設定できる構成とすることも可能である。
【００９８】
また、上記実施の形態においては、図２や図３に示すように、脚部１２の回転関節１４に対する仮原点位置を検出するために、第１ドグ２００及び第２ドグ２０２を、径方向に一直線状に並べて配設する構成としたが、これに限らず、図１２（ａ）に示すように、径方向に加えて、周方向にも、第１ドグ２００及び第２ドグ２０２の位置を任意の位置にずらして配設する構成としても良い。また、径方向にずらす距離についても、センサがぶつからない範囲であれば、例えば、図１２（ｂ）に示すように、図２や図３に示す構成よりも第１ドグ２００及び第２ドグ２０２の距離を近づけるなど、任意の距離を空けて配設することが可能である。また、図１２に示す配設例に限らず、例えば、基準位置検出センサ２１０及び限界位置検出センサ２２０を配設する高さ位置を互いに異なる位置にできる場合は、これらの高さ位置にそれぞれ被検出部分を有する互いに異なる高さの第１ドグ２００及び第２ドグ２０２を周方向に並べて配設することも可能である。また、前述のように、第１ドグ２００及び第２ドグ２０２の高さを変えてこれらを周方向に並べて配設する場合に、例えば、第１ドグ２００及び第２ドグ２０２が図２や図３に示すような形状を有している場合に、これらの被検出部分（短辺部）の高さ位置に加え両者の長さを異ならせることで、基準位置検出センサ２１０及び限界位置検出センサ２２０を、高さ方向に加え径方向にずらして配設することが可能である。
【００９９】
ここで、図１２（ａ）及び（ｂ）は、第１ドグ２００及び第２ドグ２０２の他の配設位置の例を示す図である。
また、上記実施の形態においては、右前脚（及び後左脚）については、時計回り方向の限界回転角度位置の近傍に回動した第２ドグ２０２を検出するように、限界位置検出センサ２２０を設ける構成としたが、これに限らず、反時計回り方向の限界回転角度位置の近傍に回動した第２ドグ２０２を検出するように、限界位置検出センサ２２０を設ける構成としても良い。
【０１００】
また、上記実施の形態においては、検出範囲がパルスの１周期の回転角度幅の範囲内に収まるか否かの判定処理を、原点位置設定処理を行う毎に実行する構成としたが、これに限らず、例えば、検出範囲の情報が定期的に更新されるような場合は、その周期に対して１度だけ処理を行い、その処理結果をフラッシュメモリ等に記憶保持する構成など、他の構成としても良い。
【０１０１】
また、上記実施の形態においては、エンコーダ４２を、４逓倍カウントでカウントするパルスカウンタを有する構成としたが、これに限らず、逓倍なし、２逓倍、８逓倍など他のカウント方法でカウントするパルスカウンタを有する構成としても良い。
また、上記実施の形態においては、仮の原点位置を検出する際に、第１ドグ２００の基準位置検出センサ２１０の検出位置への進入方向を揃える構成としたが、これに限らず、進入方向に関係なく、基準位置検出センサ２１０の検出結果を仮の原点位置として検出する構成としても良い。
【図面の簡単な説明】
【０１０２】
【図１】本発明に係る脚車輪型ロボット１００の正面図である。
【図２】本発明に係る脚車輪型ロボット１００の側面図である。
【図３】右前方の脚部１２が限界位置まで回動しているときの脚車輪型ロボット１００の正面図である。
【図４】（ａ）は、右前方の脚部１２が基準の原点位置にあるときの図３におけるＡ−Ａ断面を見た図であり、（ｂ）は、右前方の脚部１２を基準の原点位置から限界位置まで回動させたときの図３におけるＡ−Ａ断面を見た図である。
【図５】脚車輪型ロボット１００の駆動制御システムを示すブロック図である。
【図６】仮原点位置検出処理を示すフローチャートである。
【図７】原点位置設定処理を示すフローチャートである。
【図８】（ａ）及び（ｂ）は、図３のＡ−Ａ断面から見た、脚部１２の回転関節１４に対する原点位置を検出する際の第１の回動パターンを示す図である。
【図９】（ａ）〜（ｄ）は、図３のＡ−Ａ断面から見た、脚部１２の回転関節１４に対する仮の原点位置を検出する際の第２の回動パターンを示す図である。
【図１０】（ａ）及び（ｂ）は、検出範囲が１周期の範囲内に収まるときの同期モード及び非同期モードにおける原点位置を示す図である。
【図１１】（ａ）及び（ｂ）は、検出範囲が１周期の範囲内に収まらないときの半同期モード及び同期モードにおける原点位置を示す図である。
【図１２】（ａ）及び（ｂ）は、第１ドグ２００及び第２ドグ２０２の他の配設位置の例を示す図である。
【符号の説明】
【０１０３】
１００                          脚車輪型ロボット
２００                          第１ドグ
２０２                          第２ドグ
２１０                          基準位置検出センサ
２２０                          限界位置検出センサ
１２０                          第１股関節駆動部
１２２                          第２股関節駆動部
１０                            基体
１２                            脚部
１４、１６、１８                回転関節
１７                            第１リンク
１９                            第２リンク
２０                            車輪
２４                            脚先センサ
２６                            水平レーザ
２８、３０                      垂直レーザ
３２                            カメラ
３４、３６                      障害物センサ
４０                            関節モータ
５０                            車輪モータ
４２、５２                      エンコーダ
４４、５４                      ドライバ
６０                            ＣＰＵ
６２                            角度取込Ｉ／Ｆ
６４                            通信Ｉ／Ｆ
７０                            ３軸姿勢センサ
７６                            ハブ
【図１】
2009050937.tif 000003
【図２】
2009050937.tif 000004
【図３】
2009050937.tif 000005
【図４】
2009050937.tif 000006
【図５】
2009050937.tif 000007
【図６】
2009050937.tif 000008
【図７】
2009050937.tif 000009
【図８】
2009050937.tif 000010
【図９】
2009050937.tif 000011
【図１０】
2009050937.tif 000012
【図１１】
2009050937.tif 000013
【図１２】
2009050937.tif 000014