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