(57)【要約】【課題】  接地面積が小さい脚部を有する脚型ロボットであっても力センサを設置することができ、コストおよび演算負荷を低減するのに好適な脚型ロボットの力センサ設置構造を提供する。【解決手段】  脚車輪型ロボット１００は、基体１０と、基体１０に対して自由度を有して連結された複数の脚部１２と、脚部１２の脚先に回転可能に設けられた駆動輪２０とを備える。脚部１２のリンクのうち脚先に最も近いリンクは、一端に平坦面８１を有する上部リンク８０と、一端に平坦面８６を有する下部リンク８５とを備え、平坦面８１の４隅に力センサ８２をそれぞれ設置し、床反力の作用時に平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５の一端同士を連結した。【選択図】図４
2008023700.tif 000002
【特許請求の範囲】
【請求項１】
脚型ロボットの脚部に力センサを設置する構造であって、
前記脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、前記力センサとを備え、
前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項２】
請求項１において、
前記第２リンクは、一端に平坦な面を有し、
前記第１リンクおよび前記第２リンクの一端同士を、前記力の作用時に互いの前記平坦面が面接触するように連結したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項３】
請求項１および２のいずれか１項において、
前記平坦面は、前記第１リンクの伸長方向に直交して形成されていることを特徴とする脚型ロボットの力センサ設置構造。
【請求項４】
請求項１ないし３のいずれか１項において、
前記脚部は、関節を介して複数のリンクを連結してなり、
前記脚部のリンクのうち脚先に最も近いリンクを前記第１リンクおよび前記第２リンクにより構成したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項５】
請求項１ないし４のいずれか１項において、
前記平坦面の周縁に複数の前記力センサを設置したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項６】
請求項１ないし４のいずれか１項において、
前記力センサは、複数点の力を検出可能な検出エリアを有する分布型の力センサであり、
前記平坦面の全域にわたって前記力センサを設置したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項７】
請求項１ないし６のいずれか１項において、
前記第１リンクまたは前記第２リンクは、前記平坦面に対して所定角をなし、前記力が伝達される第２の平坦な面を有し、
前記第２平坦面に第２力センサを設置したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項８】
請求項７において、
前記第２平坦面は、前記平坦面に直交して形成されていることを特徴とする脚型ロボットの力センサ設置構造。
【請求項９】
請求項７および８のいずれか１項において、
前記力センサおよび前記第２力センサのセンサ信号に基づいて、前記力の方向および大きさを算出する算出手段を備えることを特徴とする脚型ロボットの力センサ設置構造。
【請求項１０】
請求項１ないし９のいずれか１項において、
前記第１リンクの側面には、前記第１リンクの先端から伸長方向に突出する把持部が設けられ、前記把持部は、前記第１リンクの径方向内側に突出する爪部を有し、
前記第２リンクの側面のうち、前記第２リンクの先端からの距離が、前記第１リンクの平坦面から前記爪部までの高さに相当する距離となる位置には、前記爪部を嵌合可能な嵌合穴が形成され、
前記爪部を前記嵌合穴に嵌合させて前記第１リンクおよび前記第２リンクを連結したことを特徴とする脚型ロボットの力センサ設置構造。
【請求項１１】
請求項１ないし１０のいずれか１項において、
前記脚型ロボットは、基体と、前記基体に対して自由度を有して連結された前記脚部と、前記脚部の脚先に回転可能に設けられた駆動輪とを備え、前記駆動輪の回転により移動することを特徴とする脚型ロボットの力センサ設置構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚型ロボットの脚部に力センサを設置する構造に係り、特に、接地面積が小さい脚部を有する脚型ロボットであっても力センサを設置することができ、コストおよび演算負荷を低減するのに好適な脚型ロボットの力センサ設置構造に関する。
【背景技術】
【０００２】
ロボットの移動機構は、車輪型、クローラ型、脚型またはこれらを組み合わせた機構に分類される。一般に、車輪型ロボットは、平地での移動性は高いが、段差への適応性が低いという問題がある。また、クローラ型ロボットは、不整地に適し、多少の段差であれば乗り越えられるが、積極的な重心移動ができないために急な階段への適応性が低く、平地における移動性が車輪型ロボットより低いという問題があった。また、脚型ロボットは、階段への適応性が最も優れているが、平地での移動性が極端に低いという問題がある。
【０００３】
階段等への適用性を考慮して、脚型ロボットおよび脚型と車輪型のハイブリッドタイプのロボットに関する研究開発例が多いが、その際、脚部の接地状況を把握するセンサが不可欠である。
脚型ロボットの接地検出としては、例えば、特許文献１〜３記載の技術が知られている。
【０００４】
特許文献１記載の技術は、足底部にマトリクス状に複数の力センサを設置し、各力センサのセンサ信号に基づいて、力の分布状態から床反力の中心点および大きさを算出するものである。
特許文献２記載の技術は、足底部の４隅に力センサをそれぞれ設置し、各力センサのセンサ信号に基づいて、計算により床反力の中心点および大きさを算出するものである。
【０００５】
特許文献３記載の技術は、足首部に６軸力センサを設置し、６軸力センサのセンサ信号に基づいて、足首部にかかる６軸力（３軸力＋３軸モーメント）から床反力の中心点および大きさを算出するものである。
【特許文献１】特開平３−１８４７８１号公報
【特許文献２】特開２００４−３４５０２４号公報
【特許文献３】特開平１０−１７５１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２記載の技術にあってはいずれも、脚部の接地面（足底部）に力センサを設置する十分な面積を必要とするため、床面に対して脚先を点接触させるような接地面積が極小の脚部を有する脚型ロボット、または脚先に車輪が設けられた脚部を有する脚車輪型ロボットに対しては、脚部の接地面において力センサを設置するための十分な面積が確保できず、力センサの設置が困難であるという問題があった。
【０００７】
また、特許文献３記載の技術にあっては、６軸センサを用いるため、コスト高となるばかりか、高い演算能力が必要となるという問題がある。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、接地面積が小さい脚部を有する脚型ロボットであっても力センサを設置することができ、コストおよび演算負荷を低減するのに好適な脚型ロボットの力センサ設置構造を提供することを目的としている。
【課題を解決するための手段】
【０００８】
〔発明１〕  上記目的を達成するために、発明１の脚型ロボットの力センサ設置構造は、脚型ロボットの脚部に力センサを設置する構造であって、前記脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、前記力センサとを備え、前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結した。
【０００９】
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、第１リンクの平坦面を介して他方に伝達される。平坦面には、力センサが設置されているので、力センサにより、第１リンクおよび第２リンクの一方に作用する力に応じた検出結果が得られる。
ここで、第１リンクおよび第２リンクは、第１リンクまたは第２リンクの一部で構成された連結機構により連結してもよいし、第１リンクおよび第２リンク以外の部材で構成された連結機構により連結してもよいし、第１リンクおよび第２リンクの一端同士を接着することにより連結してもよい。
【００１０】
また、第１リンクおよび第２リンクは、第１リンクおよび第２リンクの一方に作用する力が平坦面を介して他方に伝達されるように連結されていればよく、例えば、第１リンクおよび第２リンクが接触するように連結してもよいし、第１リンクおよび第２リンクの間に間座を設けて連結してもよい。
また、第１リンクの平坦面は、任意の角度でよく、例えば、第１リンクの伸長方向に直交して形成されていてもよいし、第１リンクの伸長方向に直交する方向に対して所定の傾斜をもって形成されていてもよい。
【００１１】
また、脚部は、第１リンクおよび第２リンクを備えていればよく、脚部の一部または全部を第１リンクおよび第２リンクで構成することができる。例えば、脚部が、関節を介して複数のリンクを連結してなる場合は、いずれかのリンクを第１リンクおよび第２リンクで構成し、脚部が１つのリンクからなる場合は、脚部全体を第１リンクおよび第２リンクで構成することができる。
【００１２】
〔発明２〕  さらに、発明２の脚型ロボットの力センサ設置構造は、発明１の脚型ロボットの力センサ設置構造において、前記第２リンクは、一端に平坦な面を有し、前記第１リンクおよび前記第２リンクの一端同士を、前記力の作用時に互いの前記平坦面が面接触するように連結した。
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、互いの平坦面が面接触して他方に伝達される。
ここで、第２リンクの平坦面は、任意の角度でよく、例えば、第２リンクの伸長方向に直交して形成されていてもよいし、第２リンクの伸長方向に直交する方向に対して所定の傾斜をもって形成されていてもよい。第１の平坦面との関係も同様に任意である。
【００１３】
〔発明３〕  さらに、発明３の脚型ロボットの力センサ設置構造は、発明１および２のいずれか１の脚型ロボットの力センサ設置構造において、前記平坦面は、前記第１リンクの伸長方向に直交して形成されている。
このような構成であれば、第１リンクの平坦面が伸長方向と直交しているので、第１リンクの伸長方向に力が作用すると、その力が力センサに対して垂直に伝達される。したがって、第１リンクの伸長方向に作用する力を精度よく検出することができる。
【００１４】
〔発明４〕  さらに、発明４の脚型ロボットの力センサ設置構造は、発明１ないし３のいずれか１の脚型ロボットの力センサ設置構造において、前記脚部は、関節を介して複数のリンクを連結してなり、前記脚部のリンクのうち脚先に最も近いリンクを前記第１リンクおよび前記第２リンクにより構成した。
このような構成であれば、脚先に最も近いリンクが第１リンクおよび第２リンクにより構成されているので、床反力を精度よく検出することができる。
【００１５】
〔発明５〕  さらに、発明５の脚型ロボットの力センサ設置構造は、発明１ないし４のいずれか１の脚型ロボットの力センサ設置構造において、前記平坦面の周縁に複数の前記力センサを設置した。
このような構成であれば、複数の力センサにより検出を行うので、平坦面における力の分布状態を把握することができる。そして、力の分布状態から、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができる。
【００１６】
〔発明６〕  さらに、発明６の脚型ロボットの力センサ設置構造は、発明１ないし４のいずれか１の脚型ロボットの力センサ設置構造において、前記力センサは、複数点の力を検出可能な検出エリアを有する分布型の力センサであり、前記平坦面の全域にわたって前記力センサを設置した。
このような構成であれば、分布型の力センサにより検出を行うので、平坦面における力の分布状態を把握することができる。そして、力の分布状態から、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができる。
【００１７】
〔発明７〕  さらに、発明７の脚型ロボットの力センサ設置構造は、発明１ないし６のいずれか１の脚型ロボットの力センサ設置構造において、前記第１リンクまたは前記第２リンクは、前記平坦面に対して所定角をなし、前記力が伝達される第２の平坦な面を有し、前記第２平坦面に第２力センサを設置した。
このような構成であれば、平坦面に対して第２平坦面が所定角をなしているので、力センサおよび第２力センサにより、ベクトルの異なる力を検出することができる。したがって、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを求めることができる。
【００１８】
〔発明８〕  さらに、発明８の脚型ロボットの力センサ設置構造は、発明７の脚型ロボットの力センサ設置構造において、前記第２平坦面は、前記平坦面に直交して形成されている。
このような構成であれば、平坦面に対して第２平坦面が直交しているので、力センサおよび第２力センサにより、ベクトルが９０°異なる力を検出することができる。したがって、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを比較的簡単な演算で求めることができる。
【００１９】
〔発明９〕  さらに、発明９の脚型ロボットの力センサ設置構造は、発明７および８のいずれか１の脚型ロボットの力センサ設置構造において、前記力センサおよび前記第２力センサのセンサ信号に基づいて、前記力の方向および大きさを算出する算出手段を備える。
このような構成であれば、算出手段により、力センサおよび第２力センサのセンサ信号に基づいて、第１リンクおよび第２リンクの一方に作用する力の方向および大きさが算出される。
【００２０】
〔発明１０〕  さらに、発明１０の脚型ロボットの力センサ設置構造は、発明１ないし９のいずれか１の脚型ロボットの力センサ設置構造において、前記第１リンクの側面には、前記第１リンクの先端から伸長方向に突出する把持部が設けられ、前記把持部は、前記第１リンクの径方向内側に突出する爪部を有し、前記第２リンクの側面のうち、前記第２リンクの先端からの距離が、前記第１リンクの平坦面から前記爪部までの高さに相当する距離となる位置には、前記爪部を嵌合可能な嵌合穴が形成され、前記爪部を前記嵌合穴に嵌合させて前記第１リンクおよび前記第２リンクを連結した。
【００２１】
〔発明１１〕  さらに、発明１１の脚型ロボットの力センサ設置構造は、発明１ないし１０のいずれか１の脚型ロボットの力センサ設置構造において、前記脚型ロボットは、基体と、前記基体に対して自由度を有して連結された前記脚部と、前記脚部の脚先に回転可能に設けられた駆動輪とを備え、前記駆動輪の回転により移動する。
このような構成であれば、段差のあるところでは、自由度の範囲で脚部が可動し、段差を乗り越えることができる。したがって、脚型ロボットと同様に段差への適応性が高い。
また、平地では、車輪走行で移動することができる。したがって、車輪型ロボットと同様に平地での移動性が高い。
【００２２】
〔発明１２〕  一方、上記目的を達成するために、発明１２の脚型ロボットは、基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第１アクチュエータと、前記ピッチ軸またはロール軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段と、発明１ないし発明１０のいずれか１に記載の脚型ロボットの力センサ設置構造を有して前記脚部に設置された力センサとを備え、前記脚部の駆動および前記車輪の回転により移動する脚型ロボットであって、
前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第２アクチュエータを制御する。
このような構成であれば、脚型ロボットの移動時において、その基体の向きを一定方向に保ちながら、脚型ロボットの進行方向と各車輪の進行方向とが一致するように第２アクチュエータが制御される。
【００２３】
〔発明１３〕  また、上記目的を達成するために、発明１３の脚型ロボットは、基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された複数の脚部と、前記各脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記各脚部を駆動するための動力を付与する第１アクチュエータと、前記ピッチ軸またはロール軸回りの自由度の範囲で前記各脚部を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段と、発明１ないし発明１０のいずれか１に記載の脚型ロボットの力センサ設置構造を有して前記各脚部に設置された力センサとを備え、前記脚部の駆動および前記車輪の回転により移動する脚型ロボットであって、
前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第２アクチュエータを制御する。
【００２４】
このような構成であれば、旋回時は、制御手段により、基体を所定の回転中心位置でヨー軸（垂直軸）周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点位置における該回転中心の運動方向と、各車輪の進行方向とが一致するように、第２アクチュエータが制御される。
【００２５】
〔発明１４〕  さらに、発明１４の脚型ロボットは、発明１３の脚型ロボットにおいて、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第２アクチュエータを制御する。
このような構成であれば、脚型ロボットの移動時において、その基体の向きを一定方向に保ちながら、脚型ロボットの進行方向と各車輪の進行方向とが一致するように第２アクチュエータが制御される。
【発明の効果】
【００２６】
以上説明したように、発明１の脚型ロボットの力センサ設置構造によれば、第１リンクまたは第２リンクの先端ではなく連結部に力センサが設置されているので、接地面積が小さい脚部を有する脚型ロボットであっても力センサを設置することができるという効果が得られる。また、６軸センサではなく力センサを用いるので、従来に比して、コストおよび演算負荷を低減することができるという効果が得られる。
【００２７】
さらに、発明３の脚型ロボットの力センサ設置構造によれば、第１リンクの伸長方向に作用する力を精度よく検出することができるという効果が得られる。
さらに、発明４の脚型ロボットの力センサ設置構造によれば、床反力を精度よく検出することができるという効果が得られる。
さらに、発明５または６の脚型ロボットの力センサ設置構造によれば、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができるという効果が得られる。
【００２８】
さらに、発明７の脚型ロボットの力センサ設置構造によれば、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを求めることができるという効果が得られる。
さらに、発明８の脚型ロボットの力センサ設置構造によれば、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを比較的簡単な演算で求めることができるという効果が得られる。
【００２９】
一方、発明１２、１４の脚型ロボットによれば、脚型ロボットを、その向きとは関係なく自由な方向へと移動させることができるので、各方向への素早い移動を実現できると共に、例えば、脚型ロボットの各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚型ロボットの向きを変更することが困難なエリアにおいても活動が可能となるという効果が得られる。
【００３０】
また、発明１３の脚型ロボットによれば、旋回時に、脚型ロボットの基体を所定の回転中心位置でヨー軸周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点における該回転中心の運動方向と、各車輪の進行方向とを一致させることができるので、脚型ロボットを、所定の旋回中心位置で前後移動させずに旋回（クローラなどによる超信地旋回と同等の旋回）をさせることができるという効果が得られる。また、基体の中心位置を、自転させる時の回転中心位置とすることで、最小の旋回半径で脚型ロボットを旋回させることが可能である。
【発明を実施するための最良の形態】
【００３１】
〔第１の実施の形態〕
以下、本発明の実施の形態を図面を参照しながら説明する。図１ないし図８並びに図１３ないし図１５は、本発明に係る脚型ロボットの力センサ設置構造の第１の実施の形態を示す図である。
まず、本発明を適用する脚車輪型ロボット１００の構成を説明する。
【００３２】
図１は、脚車輪型ロボット１００の正面図である。
図２は、脚車輪型ロボット１００の側面図である。
脚車輪型ロボット１００は、図１および図２に示すように、基体１０と、基体１０に連結された４つの脚部１２とを有して構成されている。
基体１０の前方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。また、基体１０の後方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。
【００３３】
回転関節１４は、脚車輪型ロボット１００の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部１２には、２つの回転関節１６、１８が設けられている。回転関節１６、１８は、回転関節１４が図１のような状態であるときは、脚車輪型ロボット１００の側面と直交する方向を軸方向として回転する。したがって、脚部１２は、それぞれ３自由度を有する。
【００３４】
各脚部１２の先端には、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転可能に設けられている。駆動輪２０は、回転関節１４の回転によりヨー軸周りに回動する。つまり、回転関節１４の回転を制御することで、走行移動時の操舵制御が行われる。
一方、基体１０の正面の上部中央には、水平面レーザ光を照射する水平レーザ２６が設けられている。また、基体１０の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ２８、３０がそれぞれ設けられている。
【００３５】
基体１０の正面の下部中央には、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影するカメラ３２が設けられている。
水平レーザ２６は、カメラ３２で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ２８は、カメラ３２で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ３０は、左方に所定角度傾けて設けられている。
【００３６】
カメラ３２の左右には、障害物を検出する障害物センサ３４、３６がそれぞれ設けられている。
図３は、障害物センサ３４、３６の構成を示す図である。
障害物センサ３４、３６は、図３（ａ）に示すように、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、図３（ｂ）に示すように、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット１００の移動経路上に存在する物体を大まかに検出することができる。
【００３７】
次に、脚部１２の構成を詳細に説明する。
図４は、脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの断面図である。
図５は、脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの側面図である。
【００３８】
脚部１２のうち回転関節１８および駆動輪２０が連結するリンクは、図４および図５に示すように、回転関節１８が連結する上部リンク８０と、駆動輪２０が連結する下部リンク８５とを有して構成されている。
上部リンク８０の一端には、上部リンク８０の伸長方向に直交する矩形状の平坦面８１が形成されている。平坦面８１の４隅には、力センサ８２がそれぞれ設置されている。
【００３９】
上部リンク８０の両側面には、上部リンク８０の先端から伸長方向に突出する把持部８３がそれぞれ設けられ、把持部８３の先端には、上部リンク８０の径方向内側に突出する爪部８３ａが設けられている。爪部８３ａの上面には、衝撃吸収部材であるゴム８４が設けられている。
下部リンク８５の一端には、下部リンク８５の伸長方向に直交する矩形状の平坦面８６が形成されている。平坦面８６は、平坦面８１に面接触するため平坦面８１と同形状となっている。
【００４０】
下部リンク８５の両側面には、嵌合穴８７がそれぞれ形成されている。ここで、下部リンク８５の先端から嵌合穴８７の上端までの高さは、平坦面８１から爪部８３ａの上面までの高さよりも若干（所定長）小さく、嵌合穴８７の内径は、爪部８３ａの高さよりも若干（所定長）大きくなっている。
上部リンク８０および下部リンク８５は、爪部８３ａを嵌合穴８７に嵌合させて連結されている。このとき、嵌合穴８７の内径に所定の遊びが存在するため、上部リンク８０および下部リンク８５が伸長方向に若干相対変位可能となる。そのため、駆動輪２０が接地していないときは、平坦面８１、８６が接触せず、力センサ８２には力が伝達されない。これに対し、駆動輪２０が接地しているときは、平坦面８１、８６が面接触し、力センサ８２に床反力が伝達される。また、検出の精度をより高めるには、力センサ８２に所定の予圧をかけ常に面接触させて使用するのが好ましい。
【００４１】
上部リンク８０には、上部リンク８０の伸長方向と軸方向を一致させて車輪モータ５０が取り付けられている。車輪モータ５０の回転軸５０ａは、平坦面８１から突出し、下部リンク８５の内部に設けられた駆動傘歯車９０ａに連結している。
駆動傘歯車９０ａの下方には、回転軸８９が、下部リンク８５の側面に設けられた軸受８８により回転可能に支持されている。回転軸８９には、駆動傘歯車９０ａと噛み合う従動傘歯車９０ｂおよび駆動プーリ９１が連結している。
【００４２】
駆動プーリ９１の下方には、アイドルプーリ９２が回転可能に支持されている。
アイドルプーリ９２の下方には、回転軸９４が、下部リンク８５の側面に設けられた軸受９３により回転可能に支持されている。回転軸９４には、従動プーリ９５および駆動輪２０が連結している。
駆動プーリ９１、アイドルプーリ９２および従動プーリ９５には、駆動ベルト９６が巻き掛けられている。なお、図２の例では、アイドルプーリ９２に対して、駆動ベルト９６の内側からテンション調整をしているが、外側からテンション調整してもよい。
【００４３】
駆動輪２０は、車輪モータ５０により駆動傘歯車９０ａを回転し、駆動傘歯車９０ａに噛み合った従動傘歯車９０ｂを介して駆動プーリ９１が回転し、駆動プーリ９１に巻き掛けた駆動ベルト９６により従動プーリ９５が回転することにより、駆動される。
なお、他の脚部１２についても同様に構成されている。
次に、脚車輪型ロボット１００の移動制御システムを説明する。
【００４４】
図６は、脚車輪型ロボット１００の移動制御システムを示すブロック図である。
各脚部１２の回転関節１４〜１８には、図６に示すように、回転関節１４〜１８を回転駆動する関節モータ４０がそれぞれ設けられている。各関節モータ４０には、関節モータ４０の回転角度位置を検出するエンコーダ４２と、モータ指令信号およびエンコーダ４２の出力信号に基づいて関節モータ４０の駆動を制御するドライバ４４が設けられている。
【００４５】
各脚部１２の駆動輪２０には、駆動輪２０を回転駆動する車輪モータ５０がそれぞれ設けられている。各車輪モータ５０には、車輪モータ５０の回転角度位置を検出するエンコーダ５２と、モータ指令信号およびエンコーダ５２の出力信号に基づいて車輪モータ５０の駆動を制御するドライバ５４が設けられている。
脚車輪型ロボット１００は、さらに、ＣＰＵ６０と、力センサ用プロセッサ６６と、脚車輪型ロボット１００の姿勢を検出する３軸姿勢センサ７０と、カメラ３２の画像信号を処理するビジョンプロセッサ７２と、外部のＰＣ等と無線通信を行う無線通信部７４と、ビジョンプロセッサ７２および無線通信部７４とＣＰＵ６０の入出力を中継するハブ７６と、警告音等を出力するスピーカ７８とを有して構成されている。
【００４６】
３軸姿勢センサ７０は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット１００の姿勢の傾きを検出する。
ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介してドライバ４４、５４にモータ指令信号を出力し、角度取込Ｉ／Ｆ６２を介してエンコーダ４２、５２の出力信号を入力する。また、センサ入力Ｉ／Ｆ６３を介して、力センサ用プロセッサ６６から床反力解析データを、障害物センサ３４および３軸姿勢センサ７０からセンサ信号をそれぞれ入力する。また、通信Ｉ／Ｆ６４を介してハブ７６と信号の入出力を行い、サウンド出力Ｉ／Ｆ６５を介してスピーカ７８に音声信号を出力する。
【００４７】
力センサ用プロセッサ６６は、各脚部１２に４つずつ設けられた力センサ８２からセンサ信号を入力し、入力したセンサ信号に基づいて、各脚部１２ごとに、脚部１２が接地している支持脚であるか、脚部１２が接地していない遊脚であるかを判定する。また、入力したセンサ信号に基づいて、各脚部１２ごとに床反力の中心点および大きさを算出する。そして、判定結果および算出結果を床反力解析データとして出力する。
【００４８】
図７は、平坦面８１の平面図である。
図７に示すように、力センサ８２の横方向の間隔をＷとし、縦方向の間隔をＨとし、右上、左上、右下および左下の力センサ８２で検出した床反力をそれぞれＦA、ＦB、ＦCおよびＦDとする。床反力の中心点（ｘc、ｙc）は、モーメントが０となる点であるので、下式（１）、（２）により算出することができる。
【００４９】
【数１】
2008023700.tif 000003
【００５０】
ただし、Ｆt＝ＦA＋ＦB＋ＦC＋ＦDである。
床反力の大きさは、ＦA、ＦB、ＦCおよびＦDを加算することにより算出することができる。
【００５１】
次に、ＣＰＵ６０で実行される処理を説明する。
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図１３のフローチャートに示す昇降制御処理を実行する。
図１３は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部１２の昇降制御を行う処理であって、ＣＰＵ６０において実行されると、まず、図１３に示すように、ステップＳ１００に移行する。
【００５２】
ステップＳ１００では、ビジョンプロセッサ７２から画像を取り込み、ステップＳ１０２に移行する。
ステップＳ１０２では、取り込んだ画像に基づいて光切断法により階段の特徴点を抽出する。
図１４は、光切断法の原理を説明するための図である。
【００５３】
光切断法は、三角測量の原理により計測対象上の座標を求める計測法である。図１４に計測座標系を示す。
計測対象上の座標Ｐ（x0、y0、z0）は、カメラ３２の撮像素子上の任意の座標をＰs（xi、yi、zi）とすると、下式（３）により求められる。
【００５４】
【数２】
2008023700.tif 000004
【００５５】
次に、得られた三次元座標から、レーザ光の反射光の不連続点または屈曲点を階段の特徴点として抽出する。
【００５６】
図１５は、階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
脚車輪型ロボット１００の移動経路上に階段が存在すると、図１５（ａ）左側に示すように、水平レーザ２６から照射された水平面レーザ光が階段の蹴込板および床面で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１５（ａ）右側に示すように、蹴込板での反射光エッジおよび床面での反射光エッジを抽出することができる。そして、そのエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの不連続点に対応する実座標を算出することができる。
【００５７】
また、図１５（ｂ）左側に示すように、垂直レーザ２８から照射された垂直面レーザ光が階段の蹴込板および踏板で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１５（ｂ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。また、垂直レーザ３０についても同様であり、図１５（ｃ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。そして、それらエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの屈曲点に対する実座標を算出することができる。
【００５８】
図１３に戻り、次いで、ステップＳ１０４に移行して、抽出した特徴点に基づいて階段の幅を算出し、ステップＳ１０６に移行して、抽出した特徴点に基づいて階段の段鼻部の実座標を算出し、ステップＳ１０８に移行する。
ステップＳ１０８では、算出した階段の幅および段鼻部の実座標、並びに３軸姿勢センサ７０のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップＳ１１０に移行して、ステップＳ１０８の計算結果に基づいて脚先（駆動輪２０）の着地位置を決定し、ステップＳ１１２に移行する。
【００５９】
ステップＳ１１２では、決定した着地位置に基づいてドライバ４４、５４へのモータ指令信号を生成し、ステップＳ１１４に移行して、生成したモータ指令信号をドライバ４４、５４に出力し、ステップＳ１１６に移行する。
ステップＳ１１６では、力センサ用プロセッサ６６からの床反力解析データに基づいて、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【００６０】
一方、ステップＳ１１６で、脚先が着地しないと判定したとき(No)は、ステップＳ１１２に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在すると、水平レーザ２６から照射された水平面レーザ光、および垂直レーザ２８、３０から照射された垂直面レーザ光がそれぞれ階段で反射し、カメラ３２により、それら反射光を含む画像が撮影される。次いで、ステップＳ１００、Ｓ１０２を経て、カメラ３２で撮影された画像が取り込まれ、取り込まれた画像から階段の特徴点が抽出される。次いで、ステップＳ１０４〜Ｓ１１０を経て、抽出された特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。そして、ステップＳ１１２、Ｓ１１４を経て、決定された着地位置に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ４４、５４に出力される。これにより、駆動輪２０が回転するとともに回転関節１４〜１８が駆動し、脚車輪型ロボット１００が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
【００６１】
図８は、接地前後の状態を示す脚部１２の断面図である。
脚部１２が段鼻部に接地していない場合は、図８左側に示すように、下部リンク８５が自重で下がるため、平坦面８１、８６が接触せず、力センサ８２には力が伝達されない。そのため、各力センサ８２により、力が作用しないときのセンサ信号が出力され、力センサ用プロセッサ６６により、センサ信号に基づいて脚部１２が遊脚であると判定される。この判定結果は、床反力解析データとしてＣＰＵ６０に出力される。
【００６２】
これに対し、脚部１２が段鼻部に接地している場合は、図８右側に示すように、下部リンク８５に床反力が作用するため、平坦面８１、８６が面接触し、力センサ８２に床反力が伝達される。そのため、各力センサ８２により、床反力に応じたセンサ信号が出力され、力センサ用プロセッサ６６により、センサ信号に基づいて脚部１２が支持脚であると判定される。また、センサ信号に基づいて床反力の中心点および大きさが算出される。この判定結果および算出結果は、床反力解析データとしてＣＰＵ６０に出力される。
【００６３】
したがって、ＣＰＵ６０では、力センサ用プロセッサ６６からの床反力解析データに基づいて、各脚部１２ごとに支持脚か遊脚かを把握することができ、支持脚である脚部１２については、床反力の中心点および大きさを把握することができる。
以上の例では、遊脚時、力センサ８２の値が「０」であるが、より高精度に検出を行うためには、着地前後の非線形を避けるため、あらかじめ平坦面８１、８６に所定の予圧をかけておく。
【００６４】
一方、平地では、車輪走行で移動することができる。したがって、車輪型と同様に平地での移動性が高い。
このようにして、本実施の形態では、一端に平坦面８１を有する上部リンク８０と、一端に平坦面８６を有する下部リンク８５と、力センサ８２とを備え、平坦面８１に力センサ８２を設置し、床反力の作用時に平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５の一端同士を連結した。
【００６５】
これにより、脚先でなく上部リンク８０および下部リンク８５の連結部に力センサ８２が設置されているので、接地面積が小さい脚部１２を有する脚車輪型ロボット１００であっても力センサ８２を設置することができる。また、６軸センサではなく力センサ８２を用いるので、従来に比して、コストおよび演算負荷を低減することができる。
さらに、本実施の形態では、平坦面８１は、上部リンク８０の伸長方向に直交して形成されている。
【００６６】
これにより、上部リンク８０の伸長方向に作用する床反力を精度よく検出することができる。
さらに、本実施の形態では、脚部１２のリンクのうち脚先に最も近いリンクを上部リンク８０および下部リンク８５により構成した。
これにより、床反力を精度よく検出することができる。
【００６７】
さらに、本実施の形態では、平坦面８１の４隅に力センサ８２をそれぞれ設置し、各力センサ８２のセンサ信号に基づいて床反力の中心点および大きさを算出する。
これにより、床反力の中心点および大きさを求めることができる。
さらに、本実施の形態では、レーザ２６〜３０およびカメラ３２からなる画像センサを備え、カメラ３２で撮影した画像に基づいて階段を認識し、その認識結果に基づいてモータ４０、５０を制御する。
【００６８】
これにより、画像センサを用いて未知の階段を認識しながら脚部１２の昇降制御を行うので、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
さらに、本実施の形態では、画像センサを基体１０の正面に設けた。
【００６９】
これにより、脚車輪型ロボット１００の移動経路上に存在する物体を広い視野で検出することができる。
さらに、本実施の形態では、水平レーザ２６から照射された水平面レーザ光の反射光の撮影状態に基づいて階段の幅を算出し、垂直レーザ２８、３０から照射された２つの垂直面レーザ光の反射光の撮影状態に基づいて階段の段鼻部の実座標を算出する。
【００７０】
これにより、階段の特徴のうち脚部１２の昇降制御に有効な特徴を検出することができるので、未知の階段に対して高い適応性を実現することができる。
上記第１の実施の形態において、脚車輪型ロボット１００は、発明１ないし５、１０または１１の脚型ロボットに対応し、上部リンク８０は、発明１ないし４または１０の第１リンクに対応し、下部リンク８５は、発明１、２、４または１０の第２リンクに対応している。
【００７１】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図１６ないし図２０は、本発明に係る脚型ロボットの力センサ設置構造の第２の実施の形態を示す図である。
【００７２】
本発明を適用する、本実施の形態の脚車輪型ロボット１００は、上記第１の実施の形態の脚車輪型ロボット１００の各機能に加え、脚車輪型ロボット１００を、基体１０の向きを一定方向に保持した状態で任意の進行方向に走行移動させる機能と、脚車輪型ロボットを、所定の旋回中心位置で前後移動させずに旋回させる（超信地旋回させる）機能とを有している。
【００７３】
つまり、本実施の形態における脚車輪型ロボット１００は、上記各機能を実現するためのアクチュエータの制御処理（ＣＰＵ６０の制御プログラムの実行による制御処理）が追加されたのみで、力センサ８２の設置構造など、その他の構成は、上記第１の実施の形態の脚車輪型ロボット１００と同様となる。従って、上記第１の実施の形態と同様の機能については説明を適宜省略し、追加された機能部分については詳細に説明する。
【００７４】
以下、図１６〜図１８に基づき、本実施の形態のＣＰＵ６０で実行される走行移動時の制御処理を説明する。
ここで、図１６（ａ）及び（ｂ）は、脚車輪型ロボット１００の車輪走行移動時の姿勢を示す図である。
以下の各走行制御処理時においては、脚車輪型ロボット１００の姿勢が、図１６（ｂ）に示すように、膝屈曲姿勢となるように各関節モータ４０を制御する。但し、膝屈曲姿勢における走行制御時に、脚部１２が互いに干渉する（接触などする）場合は、図１６（ａ）に示すように、膝伸展姿勢となるように各関節モータ４０を制御する。
【００７５】
上記姿勢制御時においては、力センサ用プロセッサ６６からの各脚部１２に対する床反力解析データに基づき、脚先の駆動輪２０が４輪共に均等に接地しているかを判断し、不均等の場合は調整を行う。各駆動輪２０が均等に接地した状態で膝屈曲姿勢又は膝伸展姿勢へと移行すると、各種走行制御処理が開始される。
まず、基体１０の向きを一定の方向に保持（固定）した状態で、脚車輪型ロボット１００を目的の進行方向に向けて走行させるときの走行制御処理（以下、無変向走行制御処理と称す）について説明する。
【００７６】
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、無変向走行制御処理を実行する。
ここで、無変向走行制御処理は、脚車輪型ロボット１００を、その基体１０の向きを一定の方向に保持した状態で、目的の進行方向に移動させるものであるため、基体１０の前方側に設けられたカメラ３２や障害物センサ３４、３６などを、後方や側方などにも設けることが望ましい。これら後方及び側方をカバーできるカメラ及び障害物センサによって、脚車輪型ロボット１００を、基体１０の向きとは異なる方向に移動させるときに、その進行方向の環境（地形の状態等）を把握し、適切な制御を行うことができる。
【００７７】
また、無変向走行制御処理は、具体的に、無変向走行制御指令があったときに実行され、時々刻々の、ロボットの進行方向（角度α）、ロボット進行方向速度Ｖcを入力として、基体１０の向きを一定の方向に保持した状態で、脚車輪型ロボット１００を前記入力された進行方向へと走行させるための、各脚部１２の回転関節１４（joint0）の角度（操舵角度）θi0（ｉ=0,1,2,3,・・・）、各脚部１２の各駆動輪２０の回転角速度ωi（ｉ=0,1,2,3,・・・）を算出し、各アクチュエータに指令を与えるものである。
【００７８】
本実施の形態の脚車輪型ロボット１００は、上記第１の実施の形態で述べたように、基体１０の前方に左右一対及び後方に左右一対の計４本の脚部１２を有している。
従って、ここでは、各脚部１２の駆動輪２０の操舵角度θi0を、基体１０の上面側から見て、右前輪操舵角度θ00、左前輪操舵角度θ10、右後輪操舵角度θ20、左後輪操舵角度θ30とする。なお、回転関節１４によって各脚部１２をヨー軸周りに回動させたときに、基体１０の底面側から見て、右前輪操舵角度θ00及び左後輪操舵角度θ30は、反時計回り方向を正方向とし、左前輪操舵角度θ10及び右後輪操舵角度θ20は、時計回り方向を正方向とする。
【００７９】
また、各脚部１２の駆動輪２０の回転角速度ωiを、右前輪回転角速度ω0、左前輪回転角速度ω1、右後輪回転角速度ω2、左後輪回転角速度ω3とする。
また、各脚部１２の駆動輪２０の線速度Ｖi（ｉ=0,1,2,3,・・・）を、右前輪線速度Ｖ0、左前輪線速度Ｖ1、右後輪線速度Ｖ2、左後輪線速度Ｖ3とする。
ここで、図１７（ａ）〜（ｃ）は、無変向走行制御時の脚車輪型ロボット１００の走行状態例を示す図である。なお、図１７（ａ）〜（ｃ）は、脚車輪型ロボット１００を底面側から見た図であり、各駆動輪２０に付けられた黒塗りの半円の目印は、「θ00＝θ10＝θ20＝θ30＝０[°]」のときの基準となる向きを示す。
【００８０】
また、左右前輪は上記目印のある方向に進行する回転方向が正回転方向となり、左右後輪は目印の無い方向に進行する回転方向が正回転方向となる。
まず、図１７（ａ）に基づき、基体１０の向きを一定方向に保持（固定）した状態で、脚車輪型ロボット１００を、基体１０の向いている方向（前方向）に直進走行させる場合の無変向走行制御処理を説明する。
【００８１】
本実施の形態では、基体１０の向いている方向（前方向）をロボットの進行方向とした場合に、進行方向を表す角度αを「０°」とする。そして、前方向の０°を基準に、各進行方向に対応するαを決定する。
ここでは、脚車輪型ロボット１００を、基体１０の前方向に直進させるので、進行方向αとして「０°」が入力され、更に、進行方向速度Ｖｃが入力される。
【００８２】
進行方向α（０[°]）及び進行方向速度Ｖｃが入力されると、各駆動輪２０の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3が算出される。
基体１０の向きを保持した状態のまま、脚車輪型ロボット１００を前方向に直進走行させるためには、図１７（ａ）の各駆動輪２０から伸びる矢印に示すように、各駆動輪２０の進行方向を基体１０の向いている方向（前方向）に全て揃える必要がある。従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00＝θ10＝θ20＝θ30＝０[°]」と算出される。
【００８３】
また、この場合に、直進走行させるための各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝Ｖｃ」と算出される。
なお、各脚部１２が互いに干渉しなければ、例えば、「θ00＝θ10＝０[°]」、「θ20＝θ30＝π（１８０[°]）又は−π（−１８０[°]）」、「Ｖ0＝Ｖ1＝Ｖｃ」、「Ｖ2＝Ｖ3＝−Ｖｃ」などの組み合わせとしても良い。
【００８４】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、下式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ωi＝２Ｖi／Ｄ                                              ・・・（４）
但し、上式（４）において、Ｄは車輪径である。
【００８５】
各駆動輪２０の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した前方向に直進させるための操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した前方向に直進させるときの回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【００８６】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向（前方向）に直進走行する。
【００８７】
なお、基体１０の向きを一定方向に保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して反対側（真後ろ）の方向に直進走行させる場合は、上記前方向のときと駆動輪２０の回転方向を正反対とすればよい。
例えば、「θ00＝θ10＝θ20＝θ30＝０[°]」及び「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝−Ｖｃ」、又は「θ00＝θ10＝０[°]」、「θ20＝θ30＝π若しくは−π[°]」、「「Ｖ0＝Ｖ1＝−Ｖｃ」及び「Ｖ2＝Ｖ3＝Ｖｃ」などとする。
【００８８】
次に、図１７（ｂ）に基づき、基体１０の向きを保持した状態（前方向に向けたままの状態）で、脚車輪型ロボット１００を、その向いている方向に対して左斜め前方向に直進走行させる場合の無変向走行制御処理を説明する。
ここでは、脚車輪型ロボット１００を、基体１０の左斜め前方向に直進させるので、進行方向αとして「α（０＜α＜９０）[°]」が入力され、更に、進行方向速度Ｖｃが入力される。
【００８９】
そして、進行方向α[°]及び進行方向速度Ｖｃが入力されると、各駆動輪２０の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3が算出される。
基体１０の向きを保持した状態で、脚車輪型ロボット１００を左斜め前方向（α[°]の方向）に直進走行させるためには、図１７（ｂ）の各駆動輪２０から伸びる矢印に示すように、各駆動輪２０の進行方向を、基体１０の向いている方向に対して左斜め前方向に全て揃える必要がある。
【００９０】
従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00＝θ30＝−α[°]」、「θ10＝θ20＝α[°]」と算出される。
また、この場合に、直進走行させるための各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝Ｖｃ」と算出される。
なお、各脚部１２が互いに干渉しなければ、例えば、「θ00＝θ30＝π−α[°]」、「θ10＝θ20＝α[°]」、「Ｖ0＝Ｖ3＝Ｖｃ」、「Ｖ1＝Ｖ2＝−Ｖｃ」などの組み合わせとしても良い。
【００９１】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、上記前方向への直進走行のときと同様に、回転関節１４の関節モータ４０を駆動する指令値と、駆動輪２０の車輪モータ５０を駆動する指令値とを算出する。
【００９２】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して左斜め前方向に直進走行する。
【００９３】
なお、基体１０の向きを保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して右斜め後方に直進走行させる場合は、上記左斜め前方向のときの各駆動輪２０の回転方向を正反対とすればよい。また、右斜め前方向に直進移動させる場合は、進行方向αを「−９０°＜α＜０°」の範囲で設定し、更に、操舵角度の符号を正反対とすればよい。また、左斜め後方に直進走行させる場合は、右斜め前方向のときの各駆動輪２０の回転方向を正反対とすればよい。
【００９４】
次に、図１７（ｃ）に基づき、基体１０の向きを保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して右真横方向に直進走行させる場合の無変向走行制御処理を説明する。
ここでは、脚車輪型ロボット１００を、基体１０の右真横方向に直進させるので、進行方向αとして「α（−９０（−π／２））[°]」が入力され、更に、進行方向速度Ｖｃが入力される。
【００９５】
そして、進行方向α[°]及び進行方向速度Ｖｃが入力されると、各駆動輪２０の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3が算出される。
基体１０の向きを保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して右真横方向（−π／２[°]の方向）に直進走行させるためには、図１７（ｃ）の各駆動輪２０から伸びる矢印に示すように、各駆動輪２０の進行方向を右真横方向に全て揃える必要がある。
【００９６】
従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00＝θ10＝θ20＝θ30＝π／２[°]」と算出される。
また、この場合に、直進走行させるための各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ3＝Ｖｃ」、「Ｖ1＝Ｖ2＝−Ｖｃ」と算出される。
なお、各脚部１２が互いに干渉しなければ、例えば、「θ00＝θ20＝π／２[°]」、「θ10＝θ30＝−π／２[°]」、「Ｖ0＝Ｖ1＝Ｖｃ」、「Ｖ2＝Ｖ3＝−Ｖｃ」などの組み合わせとしても良い。
【００９７】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、上記前方向への直進走行のときと同様に、回転関節１４の関節モータ４０を駆動する指令値と、駆動輪２０の車輪モータ５０を駆動する指令値とを算出する。
【００９８】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右真横方向に直進走行する。
【００９９】
なお、基体１０の向きを保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して左真横方向に直進走行させる場合は、上記右真横方向のときの各駆動輪２０の回転方向を正反対とすればよい。
次に、脚車輪型ロボット１００を所定の旋回中心位置で前後移動させずに旋回（超信地旋回）させる走行制御処理（以下、超信地旋回制御処理と称す）について説明する。
【０１００】
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、超信地旋回制御処理を実行する。
ここで、超信地旋回制御処理は、クローラ機構を有したパワーショベルや戦車などの車両が行う超信地旋回と同等の旋回動作を脚車輪型ロボット１００に行わせるものである。
また、超信地旋回とは、クローラ機構を有した車両が、左右のクローラを同速度で互いに反対方向に回転させることで、前後に進まず、車体の向きを変える旋回方法である。
【０１０１】
本実施の形態においては、具体的に、超信地旋回制御指令があったときに実行され、ロボットの旋回角速度Ω、旋回中心（ｘｃ，ｙｃ）を入力として、脚車輪型ロボット１００を旋回中心（ｘｃ，ｙｃ）で超信地旋回させるための、各脚部１２の回転関節１４（joint0）の角度（操舵角度）θ00、θ10、θ20、θ30、各脚部１２の各駆動輪２０の回転角速度ω0、ω1、ω2、ω3を算出し、各アクチュエータに指令を与えるものである。
【０１０２】
脚車輪型ロボット１００を超信地旋回させるためには、基体１０を、旋回中心（ｘｃ，ｙｃ）でヨー軸周りに自転させたときに、各駆動輪２０の操舵時のヨー軸周りの回転中心が描く円弧軌道と各駆動輪２０の前記回転中心との接点における運動方向と、各駆動輪２０の進行方向とが一致するように各回転関節１４の関節モータ４０を制御すると共に、各駆動輪２０が前記運動方向に応じた回転方向に等速度で回転するように各車輪モータ５０を制御する必要がある。
【０１０３】
ここで、図１８（ａ）及び（ｂ）は、基体１０の座標（０，０）及び座標（ｘｃ，ｙｃ）を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット１００の走行状態を示す図である。
なお、図１８（ａ）及び（ｂ）においては、基体１０を上面側又は下面側から見た平面において、長手方向の軸をｘ軸、それと直交する方向の軸をｙ軸とし、基体１０の中心位置の座標を（ｘ，ｙ）＝（０，０）とする。
【０１０４】
まず、図１８（ａ）に基づき、基体１０の中心位置の座標（０，０）を旋回中心とした場合の超信地旋回制御処理について説明する。
この場合は、旋回角速度Ωと、旋回中心座標（０，０）とが入力される。
旋回角速度Ω及び旋回中心座標（０，０）が入力されると、下式（５）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ00、φ10、φ20、φ30が算出される。
ｔａｎφ＝Ｗt／Ｗb                                        ・・・（５）
但し、上式（５）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。また、上式（５）において、Ｗtはトレッド（車輪間隔）であり、Ｗbはホイールベースである。
【０１０５】
Ｗt及びＷbは既知であるため（予め情報を持っておく）、上式（５）から、上記角度φ00、φ10、φ20、φ30を算出することができる。
なお、旋回中心が基体１０の中心座標（０，０）であるので、上記角度φ00、φ10、φ20、φ30はいずれも等角度「φ00＝φ10＝φ20＝φ30＝φ」となる。
また、基体１０が旋回座標（０，０）でヨー軸周りに自転時に、各駆動輪２０の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図１８（ａ）の各駆動輪２０から伸びる矢印線に示すように、円弧軌道上の各回転中心を通る接線方向（図中の矢印線方向）となる。
【０１０６】
各駆動輪２０の回転中心に対する角度「φ00＝φ10＝φ20＝φ30＝φ」が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるためには、図１８（ａ）に示すように、各駆動輪２０の進行方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角（π／２（９０[°]））となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θ10＝θ20＝−（π／２−φ）」、「θ00＝θ30＝π／２＋φ」と算出される。
【０１０７】
一方、下式（６）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１０８】
【数３】
2008023700.tif 000005
【０１０９】
但し、上式（６）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。
【０１１０】
なお、トレッドＷt及びホイールベースＷbから、右前輪の回転中心の座標は（−Ｗb／２，Ｗt／２）、左前輪の回転中心の座標は（−Ｗb／２，−Ｗt／２）、右後輪の回転中心の座標は（Ｗb／２，−Ｗt／２）、左後輪の回転中心の座標は（Ｗb／２，Ｗt／２）と表すことができる。
【０１１１】
なお、旋回中心が基体１０の中心座標（０，０）であるので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、等距離「Ｌ0＝Ｌ1＝Ｌ2＝Ｌ3＝Ｌ」となる。
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離Ｌと旋回角速度Ωとから、下式（７）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝ＬΩ                                （７）
但し、上式（７）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。
【０１１２】
ここで、先述したように、左右前輪は黒半円の目印のある方向に進行する回転方向が正回転方向となり、左右後輪は目印の無い方向に進行する回転方向が正回転方向となる。
また、各駆動輪２０の向は、図１３（ａ）に示すようになるので、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ2＝−ＬΩ」、「Ｖ1＝Ｖ3＝ＬΩ」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１１３】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１１４】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で旋回（超信地旋回）する。
【０１１５】
次に、基体１０の中心座標（０，０）以外の座標を旋回中心とした場合の超信地旋回制御処理について説明する。以下、この超信地旋回制御処理を、旋回中心オフセット型超信地旋回制御処理と称す。
この場合は、旋回角速度Ωと、基体１０の中心座標（０，０）以外の座標である旋回中心座標（ｘｃ，ｙｃ）≠（０，０）とが入力される。
【０１１６】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）が入力されると、下式（８）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ00、φ10、φ20、φ30が算出される。
ｔａｎφ0＝（Ｗt／２−ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ1＝（Ｗt／２＋ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ2＝（Ｗt／２−ｙｃ）／（Ｗb／２＋ｘｃ）
ｔａｎφ3＝（Ｗt／２＋ｙｃ）／（Ｗb／２＋ｘｃ）      ・・・（８）
但し、上式（８）は、脚車輪型ロボット１００の脚部１２が、基体１０の前方に左右一対及び後方に左右一対の計４本の場合の式である。
【０１１７】
具体的に、入力された旋回中心座標（ｘｃ，ｙｃ）と、既知のＷt及びＷbとを、上式（８）に代入して、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ00、φ10、φ20、φ30を算出する。
なお、旋回中心が基体１０の中心座標以外の座標となるので、上記角度φ00、φ10、φ20、φ30はそれぞれ異なる角度となる。
【０１１８】
また、基体１０が、旋回中心座標（ｘｃ，ｙｃ）でヨー軸周りに自転時に、各駆動輪２０の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図１８（ｂ）の各駆動輪２０から伸びる矢印線に示すように、各円弧軌道上の各回転中心を通る接線方向（図中の矢印線方向）となる。また、旋回中心と各駆動輪２０の回転中心との距離はそれぞれ異なるため、各回転中心の描く円弧軌道も異なる。
【０１１９】
各駆動輪２０の回転中心に対する角度φ00、φ10、φ20、φ30が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるためには、図１８（ｂ）に示すように、各駆動輪２０の回転方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角（π／２（９０[°]））となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θ00＝π／２−00」、「θ10＝π／２−φ10」、「θ20＝π／２−φ20」、「θ30＝π／２−φ30」と算出される。
【０１２０】
一方、下式（９）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１２１】
【数４】
2008023700.tif 000006
【０１２２】
先述したように、旋回中心が基体１０の中心座標（０，０）以外の座標であるので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、それぞれ異なる距離となる。
【０１２３】
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離と旋回角速度Ωとから、下式（１０）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
Ｖi＝ＬiΩ                                                （１０）
従って、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝−Ｌ0Ω」、「Ｖ1＝Ｌ1Ω」、「Ｖ2＝Ｌ2Ω」、「Ｖ3＝Ｌ3Ω」と算出される。
【０１２４】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１２５】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、基体１０における中心位置（０，０）以外の座標（ｘｃ，ｙｃ）を旋回中心として、脚車輪型ロボット１００が前後移動せずに旋回（超信地旋回）する。
【０１２６】
次に、図１９及び図２０に基づき、本実施の形態の動作を説明する。
ここで、図１９（ａ）及び（ｂ）は、脚車輪型ロボット１００の走行経路の一例を示す図である。また、図２０は、ロボットの重心位置の一例を示す図である。
脚車輪型ロボット１００は、障害物センサ３４、３６のセンサ信号に基づき、自己の移動経路上に何も障害物が存在しない（平地である）と判断すると、移動モードを、脚部１２を用いる脚部移動モードから駆動輪２０を用いる車輪走行移動モードへと切り替える。
【０１２７】
平地では、脚車輪型ロボット１００は、上記した無変向走行で移動することができる。また、上記した超信地旋回及び旋回中心オフセット型超信地旋回を行うことができる。
また、無変向走行時及び超信地旋回時は、脚車輪型ロボット１００が膝屈曲姿勢となるように関節モータ４０が制御される。
車輪走行移動モードへと切り替えられると、脚車輪型ロボット１００は、脚部１２の各関節モータ４０を制御して膝屈曲姿勢へと移行する。車輪走行移動モードでは、駆動輪２０を４輪とも用いるため、力センサ用プロセッサ６６からの各脚部１２に対する床反力解析データに基づき、脚先の駆動輪２０が４輪共に均等に接地しているかを判断し、不均等の場合は調整を行う。このようにして、各駆動輪２０が均等に接地した状態で膝屈曲姿勢へと移行すると、各種走行制御が開始される。
【０１２８】
まず、無変向走行制御時の脚車輪型ロボット１００の動作について説明する。
ここでは、図１９（ａ）に示すような通路を、脚車輪型ロボット１００で走行移動させることとする。なお、図１９（ａ）及び（ｂ）は、走行経路の一部を真上から見た俯瞰図である。
図１９（ａ）に示すように、通路は、最初、基体１０の向いている方向（前方向）に直進しないと通れないほど幅が狭くなっているので、まず、通路への進入前において、通路の伸びる方向と基体１０の向きとを合わせると共に、進入位置及び進入角度を調整する。
【０１２９】
そして、無変向走行制御指令を入力し、脚車輪型ロボット１００を、無変向走行制御モードへと移行させる。これにより、脚車輪型ロボット１００は、ＣＰＵ６０において、基体１０の向きを保持した状態で、目的の進行方向へと走行移動する制御を行う。
まず最初は、脚車輪型ロボット１００を、前方向に直進移動させたいので、ロボットの進行方向α＝０[°]、及びロボット進行方向速度Ｖcを入力する。これにより、各駆動輪２０の操舵角度が「θ00＝θ10＝θ20＝θ30＝０[°]」と算出され、各駆動輪２０の線速度が「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝Ｖｃ」と算出される。
【０１３０】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ＣＰＵ６０は、操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3を算出すると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１３１】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０が駆動され、各脚部１２の回転関節１４がヨー軸周りに回動して目標の操舵角度へと変化する。その後、各車輪モータ５０が駆動され、各駆動輪２０が指令値に応じた回転角速度で回転駆動する。これにより、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、基体１０の向いている方向（前方向）に通路へと進入すると共に通路内を直進走行する。
【０１３２】
脚車輪型ロボット１００が前方向にしばらく直進すると、通路は右に略直角に折れ曲がり、更に路幅も広くなるので、基体１０の向きを保持した状態で、その向いている方向に対して右真横方向に直進移動するように制御する。つまり、進行方向として、α＝９０（π／２）[°]を入力し、更に、進行方向速度Ｖｃを入力する。
これにより、操舵角度として、「θ00＝θ30＝−α[°]」及び「θ10＝θ20＝α[°]」が算出され、線速度として、「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝Ｖｃ」が算出される。
【０１３３】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ＣＰＵ６０は、各駆動輪２０の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右真横方向に直進走行する。これにより、通路の曲がり角で脚車輪型ロボット１００を旋回せずに、その曲がった先へと走行させることができる。
【０１３４】
脚車輪型ロボット１００が右真横方向にしばらく直進すると、通路は右斜め下方向に折れ曲がるので、今度は、基体１０の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進移動するように制御する。つまり、進行方向として、α（通路の角度）[°]を入力し、更に、進行方向速度Ｖｃを入力する。
これにより、例えば、操舵角度として、「θ00＝θ30＝−α[°]」及び「θ10＝θ20＝α[°]」が算出され、線速度として、「Ｖ0＝Ｖ1＝Ｖｃ」及び「Ｖ2＝Ｖ3＝−Ｖｃ」が算出される。
【０１３５】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
そして、各駆動輪２０の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進走行する。
【０１３６】
次に、超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
ここでは、図１９（ｂ）に示すような通路を、脚車輪型ロボット１００で走行移動させることとする。
図１９（ｂ）に示すように、通路は、最初真っ直ぐに伸びており、その後、略直角に右に折れ曲がり、その先で行き止まりとなっている。
【０１３７】
まず、通路の伸びる方向と基体１０の向きとを合わせ、進入位置を微調整した後に、脚車輪型ロボット１００を前方向に直進走行させる。これにより、脚車輪型ロボット１００は、通路へと進入すると共に通路内を直進走行する。
脚車輪型ロボット１００は、しばらく直進すると、やがて曲がり角へと到達するので、時計回りに旋回して、基体１０の向きを脚車輪型ロボット１００が進行できる向きへと変更する。
【０１３８】
図１９（ｂ）に示す曲がり角であれば、前移動を伴う旋回動作でも十分に右折できるが、ここでは、超信地旋回により右折することとする。そのため、超信地旋回制御指令を入力し、この指令により、脚車輪型ロボット１００を、超信地旋回制御モードへと移行させる。これにより、脚車輪型ロボット１００は、ＣＰＵ６０において、前後移動を行わずに所定の旋回中心位置でロボットを旋回する制御処理を行う。
【０１３９】
まず、旋回角速度Ω（基体１０を時計回りに回転させる角速度）と、旋回中心座標（０，０）とを入力する。更に、略直角に右折させるので、旋回角度９０[°]を入力する。
旋回角速度Ω、旋回中心座標（０，０）及び旋回角度（９０[°]）が入力されると、上式（６）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ00、φ10、φ20、φ30が算出される。
【０１４０】
各駆動輪２０の回転中心に対する角度「φ00＝φ10＝φ20＝φ30＝φ」が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30が算出される。
具体的に、操舵角度θ00、θ10、θ20、θ30は、「θ10＝θ20＝−（π／２−φ）」、「θ00＝θ30＝π／２＋φ」が算出される。
【０１４１】
また、上式（９）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
旋回中心が基体１０の中心座標（０，０）となっているので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、等距離「Ｌ0＝Ｌ1＝Ｌ2＝Ｌ3＝Ｌ」となる。
次に、距離Ｌと旋回角速度Ωとから、上式（１０）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
【０１４２】
ここでは、脚車輪型ロボット１００を、時計回りに旋回させるので、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ2＝−ＬΩ」、「Ｖ1＝Ｖ3＝ＬΩ」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１４３】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０が駆動され、各脚部１２の回転関節１４がヨー軸周りに回動して目標の操舵角度へと変化する。その後、各車輪モータ５０が駆動され、各駆動輪２０が指令値に応じた回転角速度で回転駆動する。これにより、脚車輪型ロボット１００は、基体１０の中心座標（０，０）を旋回中心として、前後移動せずにその場で時計回りに９０[°]旋回（超信地旋回）する。
【０１４４】
そして、脚車輪型ロボット１００を、時計回りに９０[°]旋回して右折させると、その先の通路を、前方向へと直進走行させる。
図１９（ｂ）に示すように、右折した先の通路は袋小路となっているため、脚車輪型ロボット１００は、やがて通路の行き止まりへと到達する。
脚車輪型ロボット１００は、これ以上先に進めないため（各種センサにより状況を把握）、１８０[°]旋回して通路を引き返すことになる。
【０１４５】
ここでは、通路の幅が前後移動を伴う旋回動作（例えば、Ｕターン）を行えるほど広くないため、上記右折のときと同様に、超信地旋回制御モードへと移行し、超信地旋回により１８０[°]旋回して、脚車輪型ロボット１００の向きを変更し、引き返すこととする。
また、図１９（ｂ）に示すように、通路幅が自転ぎりぎりの幅となっているので、脚車輪型ロボット１００を最小の旋回半径で旋回させる必要がある。従って、旋回中心座標（０，０）と、旋回角速度Ω（基体１０を時計回りに回転させる角速度）と、旋回角度１８０[°]とを入力する。なお、脚部１２が通路にぶつからないように、脚車輪型ロボット１００の各脚部１２の姿勢を膝伸展姿勢へと変更する。
【０１４６】
旋回中心座標（０，０）、旋回角速度Ω及び旋回角度１８０[°]が入力されると、上記右折のときと同様に、操舵角度θ00、θ10、θ20、θ30として、「θ10＝θ20＝−（π／２−φ）」、「θ00＝θ30＝π／２＋φ」が算出され、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3として、「Ｖ0＝Ｖ2＝−ＬΩ」、「Ｖ1＝Ｖ3＝ＬΩ」が算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１４７】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、各指令値が算出され、関節モータ４０及び車輪モータ５０が駆動される。
これにより、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で時計回りに１８０[°]旋回（超信地旋回）し、真後ろ方向へと向きを変える。
【０１４８】
ここで、脚車輪型ロボット１００が、例えば、遠隔走査で人手により走行制御される場合や、自動制御で且つ基体１０の後ろ側にも各種センサやカメラを備えている場合などは、無変向走行制御により、前を向いたまま真後ろに走行させて通路を引き返させることも可能である。しかし、自動制御の場合で且つ各種センサが基体１０の前側にしか備わっていない場合は、基体１０の向きと進行方向とを合わせる必要がある。従って、後者の場合などに、超信地旋回は有用な旋回手段となる。
【０１４９】
次に、旋回中心オフセット型超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
いま、車輪走行移動モードへと移行し、脚車輪型ロボット１００の各関節モータ４０が制御され、ロボットの姿勢が膝屈曲姿勢に変更されたとする。このとき、ロボットの重心が図２０に示すように、基体１０の中心位置の座標から外れた位置となるとする。
【０１５０】
この場合は、重心位置が基体１０の中心位置の座標（０，０）から外れているため、中心位置を旋回中心として超信地旋回を行わせると旋回がアンバランスとなり、不具合が発生する恐れがある。
このようなときに、本実施の形態の超信地旋回制御指令モードにおいては、任意の旋回中心で超信地旋回させることができるので、旋回角速度Ωを入力すると共に、基体１０における、脚車輪型ロボット１００の重心位置に対応する座標（ｘｇ，ｙｇ）を旋回中心座標（ｘｃ，ｙｃ）として入力する。
【０１５１】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）＝（ｘｇ，ｙｇ）が入力されると、上式（８）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ00、φ10、φ20、φ30が算出される。
各駆動輪２０の回転中心に対する角度φ00、φ10、φ20、φ30が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
【０１５２】
操舵角度θ00、θ10、θ20、θ30は、「θ00＝π／２−00」、「θ10＝π／２−φ10」、「θ20＝π／２−φ20」、「θ30＝π／２−φ30」と算出される。
次に、上式（９）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3を算出する。
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離と旋回角速度Ωとから、上式（１０）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
【０１５３】
ここでは、脚車輪型ロボット１００を反時計回りに旋回させるとして、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝−Ｌ0Ω」、「Ｖ1＝Ｌ1Ω」、「Ｖ2＝Ｌ2Ω」、「Ｖ3＝Ｌ3Ω」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（４）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１５４】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１５５】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、これにより、基体１０における重心座標と対応する座標（ｘｇ，ｙｇ）を旋回中心として、脚車輪型ロボット１００がバランスのとれた状態で反時計回りに超信地旋回する。
【０１５６】
このようにして、本実施の形態では、各種走行制御時（旋回制御も含む）に、脚車輪型ロボット１００の姿勢を膝屈曲姿勢又は膝伸展姿勢に変更時に、床反力解析データに基づき、各駆動輪２０が均等に接地するように関節モータ４０を制御する。
これにより、安定した走行移動及び旋回動作が可能となり、転倒の不安が軽減される。また、旋回動作時において、駆動輪２０のすべりを低減することができる。
【０１５７】
さらに、本実施の形態では、基体１０の向きを一定の方向に保持した状態で、脚車輪型ロボット１００が目的の進行方向に走行するように関節モータ４０及び車輪モータ５０を制御する。
これにより、旋回を行わず（向きを変えず）に自由な方向へ移動できるので、各方向への素早い移動を実現できると共に、脚車輪型ロボット１００の各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となる。
【０１５８】
さらに、本実施の形態では、脚車輪型ロボット１００を前後移動させずに所定の旋回中心位置で旋回（超信地旋回）するように関節モータ４０及び車輪モータ５０を制御する。このとき、基体１０における中心位置の座標を旋回中心座標とする制御（超信地旋回制御）と、基体１０における中心位置以外の座標を旋回中心座標とする制御（旋回中心オフセット型超信地旋回制御）とを行うことが可能である。
【０１５９】
これにより、基体１０の中心位置を旋回中心位置とする場合は、最小の旋回半径で脚車輪型ロボットを旋回をさせることが可能である。また、基体１０の中心位置以外を旋回中心位置とする場合は、例えば、基体１０の中心位置と重心位置とが異なる場合などに、重心位置を旋回中心として超信地旋回させることができるので、脚車輪型ロボット１００を、バランスよく超信地旋回させることが可能である。
【０１６０】
上記第２の実施の形態において、脚車輪型ロボット１００は、発明１ないし５、１０、１１、１２または１３の脚型ロボットに対応し、上部リンク８０は、発明１ないし４、１０、の第１リンクに対応し、下部リンク８５は、発明１、２、４または１０の第２リンクに対応し、関節モータ４０は、発明１２、１３または１４の第２アクチュエータに対応し、ＣＰＵ６０による、無変向走行性制御処理、超信地旋回処理、旋回中心オフセット型超信地旋回処理は、発明１２、１３または１４の制御手段に対応している。
【０１６１】
なお、上記第１及び第２の実施の形態においては、平坦面８１の４隅に力センサ８２をそれぞれ設置したが、これに限らず、図９に示すように、複数点の力を検出可能な検出エリアを有する分布型の力センサ８２ａを平坦面８１の全域にわたって設置することもできる。
図９は、分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部１２の断面図である。
【０１６２】
分布型の力センサ８２ａを設置した場合は、力センサ８２ａのセンサ信号から力の分布状態が分かるので、床反力の中心点および大きさを同時に求めることができる。
図１０は、互いに直交する２つの面に力センサ８２ａ、９７を設置した場合の脚部１２の断面図である。
さらに、図１０に示すように、平坦面８１と直交する把持部８３の内周面に力センサ９７を設置し、力センサ８２ａ、９７のセンサ信号に基づいて、床反力の方向および大きさを算出することもできる。
【０１６３】
力センサ用プロセッサ６６は、力センサ８２ａ、９７からセンサ信号を入力し、入力したセンサ信号に基づいて、各脚部１２ごとに床反力の方向および大きさを算出する。力センサ８２ａの検出力をＦd1、力センサ９７の検出力をＦd2、床反力をＦrとすると、上部リンク８０および下部リンク８５の伸長方向に対する床反力Ｆrの傾きαは、下式（１１）により算出することができる。
【０１６４】
【数５】
2008023700.tif 000007
【０１６５】
床反力Ｆrは、下式（１２）により算出することができる。
【０１６６】
【数６】
2008023700.tif 000008
【０１６７】
ここで、ジャイロセンサ、加速度センサ等の姿勢検出センサを上部リンク８０または下部リンク８５に設置し、姿勢検出センサのセンサ信号または脚車輪型ロボット１００の内界情報に基づいて、上部リンク８０または下部リンク８５の傾きθが求まっていれば、床反力Ｆrの垂直方向に対する傾きを算出することができる。
【０１６８】
なお、この原理は、２次元に関するものであるが、３次元に拡張する際も同様に適用することができる。
これにより、脚部１２が支持脚か遊脚かだけでなく、床反力の方向および大きさを求めることができる。
この場合において、脚車輪型ロボット１００は、発明７ないし９の脚型ロボットに対応し、上部リンク８０は、発明７の第１リンクに対応し、下部リンク８５は、発明７の第２リンクに対応し、力センサ９７は、発明７または９の第２力センサに対応している。また、力センサ用プロセッサ６６は、発明９の算出手段に対応し、把持部８３の内周面は、発明７または８の第２平坦面に対応している。
【０１６９】
また、上記第１の実施の形態においては、脚先に駆動輪２０が設けられた脚部１２を有する脚車輪型ロボット１００に適用したが、これに限らず、図１１および図１２に示すように、脚先に駆動輪２０が設けられていない脚部を有する脚型ロボットに適用することもできる。
図１１は、複数の力センサ８２を設置した場合の接地前後の状態を示す脚部の断面図である。
【０１７０】
図１２は、分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部の断面図である。
図１１の例では、平坦面８１の４隅に力センサ８２をそれぞれ設置している。これに対し、図１２の例では、平坦面８１の全域にわたって分布型の力センサ８２ａを設置している。
【０１７１】
また、上記第１及び第２の実施の形態においては、平坦面８１に力センサ８２を設置したが、これに限らず、平坦面８６、爪部８３ａの上面または嵌合穴８７の上面に力センサ８２を設置することもできる。
また、図１０の構成においては、把持部８３の内周面に力センサ９７を設置したが、これに限らず、把持部８３の内周面に対向する下部リンク８５の側面に力センサ９７を設置することもできる。
【０１７２】
また、上記第１及び第２の実施の形態においては、嵌合穴８７の内径に所定の遊びを設けたが、これに限らず、嵌合穴８７の内径を爪部８３ａの高さと同一とし、爪部８３ａを嵌合穴８７に嵌合させたときに平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５を伸長方向に固定してもよい。
また、上記第１及び第２の実施の形態においては、本発明に係る脚型ロボットの力センサ設置構造を、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
【０１７３】
また、上記第１及び第２の実施の形態においては、本発明に係る脚車輪型ロボット１００の構成を、基体１０の前方に左右一対及び後方に左右一対の４本の脚部１２を有する構成としたが、これに限らず、基体１０の中央に左右一対の脚部１２を設ける構成や、３本の脚部１２を対称に設ける構成、５本以上の脚部１２を設ける構成など、本発明の趣旨を逸脱しない範囲で他の構成としても良い。また、多脚とした場合には、不要な脚部１２を走行制御に用いないように制御するようにしても良い。
【図面の簡単な説明】
【０１７４】
【図１】脚車輪型ロボット１００の正面図である。
【図２】脚車輪型ロボット１００の側面図である。
【図３】障害物センサ３４、３６の構成を示す図である。
【図４】脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの断面図である。
【図５】脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの側面図である。
【図６】脚車輪型ロボット１００の移動制御システムを示すブロック図である。
【図７】平坦面８１の平面図である。
【図８】接地前後の状態を示す脚部１２の断面図である。
【図９】分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部１２の断面図である。
【図１０】互いに直交する２つの面に力センサ８２ａ、９７を設置した場合の脚部１２の断面図である。
【図１１】複数の力センサ８２を設置した場合の接地前後の状態を示す脚部の断面図である。
【図１２】分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部の断面図である。
【図１３】昇降制御処理を示すフローチャートである。
【図１４】光切断法の原理を説明するための図である。
【図１５】階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
【図１６】（ａ）及び（ｂ）は、脚車輪型ロボット１００の車輪走行移動時の姿勢を示す図である。
【図１７】無変向走行制御時の脚車輪型ロボット１００の走行状態例を示す図である。
【図１８】（ａ）及び（ｂ）は、基体１０の座標（０，０）及び座標（ｘｃ，ｙｃ）を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット１００の走行状態を示す図である。
【図１９】（ａ）及び（ｂ）は、脚車輪型ロボット１００の走行経路の一例を示す図である。
【図２０】ロボットの重心位置の一例を示す図である。
【符号の説明】
【０１７５】
１００                脚車輪型ロボット
１０                  基体
１２                  脚部
１４〜１８            回転関節
２０                  駆動輪
２６                  水平レーザ
２８、３０            垂直レーザ
３２                  カメラ
３４、３６            障害物センサ
４０、５０            モータ
４２、５２            エンコーダ
４４、５４            ドライバ
８０                  上部リンク
８５                  下部リンク
８１、８６            平坦面
８２、８２ａ、９７    力センサ
８３                  把持部
８３ａ                爪部
８７                  嵌合穴
９０ａ、９０ｂ        傘歯車
９１、９２、９５      プーリ
９６                  駆動ベルト
８４                  ゴム
８８、９３            軸受
５０ａ、８９、９４    回転軸
【図１】
2008023700.tif 000009
【図２】
2008023700.tif 000010
【図３】
2008023700.tif 000011
【図４】
2008023700.tif 000012
【図５】
2008023700.tif 000013
【図６】
2008023700.tif 000014
【図７】
2008023700.tif 000015
【図８】
2008023700.tif 000016
【図９】
2008023700.tif 000017
【図１０】
2008023700.tif 000018
【図１１】
2008023700.tif 000019
【図１２】
2008023700.tif 000020
【図１３】
2008023700.tif 000021
【図１４】
2008023700.tif 000022
【図１５】
2008023700.tif 000023
【図１６】
2008023700.tif 000024
【図１７】
2008023700.tif 000025
【図１８】
2008023700.tif 000026
【図１９】
2008023700.tif 000027
【図２０】
2008023700.tif 000028