(57)【要約】【課題】  広範囲の測定および高分解能の測定を行うのに好適な多点測距センサを備えた脚車輪型ロボットを提供する。【解決手段】  多点測距センサは、レンズ位置を変更しながら複数の画像を撮像素子１１２から取り込み、取り込んだ各画像に対応するレンズ位置を取得する。そして、画像の各区分領域について、取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出し、抽出した空間周波数成分が最も大きい画像に対応するレンズ位置に基づいて、区分領域に撮影された対象物までの距離を算出する。広範囲の測定を行う場合、測定に先立って、同一の焦点位置に対する画角を所定の広角の領域に変更する。これに対し、高分解能の測定を行う場合は、測定に先立って、同一の焦点位置に対する画角を所定の望遠の領域に変更する。【選択図】図７
2009008649.tif 000002
【特許請求の範囲】
【請求項１】
基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、各前記脚部を駆動するための動力を付与する第１アクチュエータと、各前記車輪を駆動するための動力を付与する第２アクチュエータと、複数の測定点までの距離を測定する多点測距センサと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、
前記多点測距センサは、光学系を介して画像を撮影する撮像手段と、同一の焦点位置に対する画角が変化するように前記光学系の画角を変更する画角変更手段と、前記光学系の焦点位置を変更する焦点位置変更手段と、前記焦点位置変更手段で前記焦点位置を変更しながら前記焦点位置の異なる複数の画像を前記撮像手段から取り込む画像取込手段と、前記画像取込手段で取り込んだ各画像に対応する焦点位置を取得する焦点位置取得手段と、前記画像の一部の領域として設定された所定の第１測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第１周波数成分抽出手段と、前記第１測定領域とは異なる前記画像の一部の領域として設定された所定の第２測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第２周波数成分抽出手段と、前記第１周波数成分抽出手段で前記第１測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第１測定領域に撮影された第１測定点までの距離を算出する第１距離算出手段と、前記第２周波数成分抽出手段で前記第２測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第２測定領域に撮影された第２測定点までの距離を算出する第２距離算出手段とを備え、
前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする脚車輪型ロボット。
【請求項２】
基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された複数の脚部と、前記各脚部に回転可能に設けられた車輪と、各前記脚部を駆動するための動力を付与する第１アクチュエータと、各前記車輪を駆動するための動力を付与する第２アクチュエータと、複数の測定点までの距離を測定する多点測距センサと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、
前記多点測距センサは、光学系を介して画像を撮影する撮像手段と、同一の焦点位置に対する画角が変化するように前記光学系の画角を変更する画角変更手段と、前記光学系の焦点位置を変更する焦点位置変更手段と、前記焦点位置変更手段で前記焦点位置を変更しながら前記焦点位置の異なる複数の画像を前記撮像手段から取り込む画像取込手段と、前記画像取込手段で取り込んだ各画像に対応する焦点位置を取得する焦点位置取得手段と、前記画像の一部の領域として設定された所定の第１測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第１周波数成分抽出手段と、前記第１測定領域とは異なる前記画像の一部の領域として設定された所定の第２測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第２周波数成分抽出手段と、前記第１周波数成分抽出手段で前記第１測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第１測定領域に撮影された第１測定点までの距離を算出する第１距離算出手段と、前記第２周波数成分抽出手段で前記第２測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第２測定領域に撮影された第２測定点までの距離を算出する第２距離算出手段と、を備え、
前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする脚車輪型ロボット。
【請求項３】
請求項２において、
前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする脚車輪型ロボット。
【請求項４】
請求項１乃至３のいずれか１項において、
前記画角変更手段で画角を所定の広角の領域に変更し、前記焦点位置変更手段、前記画像取込手段、前記焦点位置取得手段、前記第１周波数成分抽出手段、前記第２周波数成分抽出手段、前記第１距離算出手段および前記第２距離算出手段を実行して測定を行う広範囲測定手段と、
前記画角変更手段で画角を所定の望遠の領域に変更し、前記焦点位置変更手段、前記画像取込手段、前記焦点位置取得手段、前記第１周波数成分抽出手段、前記第２周波数成分抽出手段、前記第１距離算出手段および前記第２距離算出手段を実行して測定を行う高分解能測定手段とを備えることを特徴とする多点測距センサ。
【請求項５】
請求項１乃至４のいずれか１項において、
前記第１距離算出手段は、前記複数の画像のうち前記第１測定領域について抽出した空間周波数の高次の成分が最も大きい画像に対応する前記焦点位置に基づいて前記第１測定点までの距離を算出し、
前記第２距離算出手段は、前記複数の画像のうち前記第２測定領域について抽出した空間周波数の高次の成分が最も大きい画像に対応する前記焦点位置に基づいて前記第２測定点までの距離を算出することを特徴とする多点測距センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の測定点についてその測定点までの距離を測定する多点測距センサを備えた脚車輪型ロボットに関する。
【背景技術】
【０００２】
従来、自律移動型ロボットに搭載される多点測距センサとしては、例えば、赤外線測距センサや超音波測距センサ等を複数アレイ状に配列したもの、光源と１台のカメラを用いて三角測量法により多点の距離を測定する光切断法を用いた画像センサ、２台のカメラを用いたステレオビジョンによる画像センサが知られている。これらの技術は、例えば、特許文献１〜４に開示されている。
【特許文献１】特開２００４−１５１０６９号公報
【特許文献２】特開２００４−６１１２０号公報
【特許文献３】特開２００１−２２７９４３号公報
【特許文献４】特開２０００−２８３７５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、赤外線測距センサにあっては、太陽光等の強力な光では受光量が飽和し測定不能になる。また、超音波測距センサにあっては、物体に対して正対していない場合は、測定精度が低下し、複数アレイ状に配列した場合は、異なるセンサから出力された音波の反射波同士が干渉するため、高速かつ正確な測定が難しい。また、光切断法を用いた三角測量法による画像センサにあっては、明るいところでは対象物からの反射光と周囲とのコントラストが十分に得られない。また、カメラと光源との距離、つまり基線長が十分に長くなければ測定分解能が低下するため、検出精度が低下する。したがって、環境の影響を受けやすいという問題があった。
【０００４】
また、ステレオビジョンによる画像センサにあっては、コストおよび処理時間を要し、環境が変わるごとに煩雑なキャリブレーションを行わなければならないという問題があった。
この問題を解決するため、レンズ焦点法を用いることが考えられる。レンズ焦点法は、レンズと物体がピントの合う位置にある関係から距離を求める測定方法である。そのため、上記各従来の測定方法に対して耐環境性やコスト等の点で優れている。
【０００５】
しかしながら、レンズ焦点法で広範囲の測定を行うためには、画角の広い広角レンズが必要となり、測定領域内の多点の測距を行う際には、複雑な形状の対象物に対して十分な分解能で測定を行うことができない。その逆に、高い分解能で測定を行うために画角の狭い望遠レンズを用いると、広範囲をカバーすることができない。
図２２は、レンズ焦点法を用いた多点測距センサの測定分解能を説明するための図である。
【０００６】
図２２において、撮像素子の水平方向の画素数をＨ、撮像素子の水平方向の長さをｈ、撮像素子から対象物までの距離をＬ、レンズの焦点位置（焦点距離）をｆ、レンズの画角をθとすると、撮像素子におけるｉ番目の素子の位置ｘiは、下式（１）により表すことができる。
【０００７】
【数１】
2009008649.tif 000003
【０００８】
また、ｘiに対応する距離Ｌでの位置Ｘiは、下式（２）により表すことができる。
【０００９】
【数２】
2009008649.tif 000004
【００１０】
水平方向の分解能ΔＸi,i-1は、上式（１）、（２）から下式（３）として導くことができる。
【００１１】
【数３】
2009008649.tif 000005
【００１２】
また、焦点位置ｆは、上式（３）から下式（４）として導くことができる。
【００１３】
【数４】
2009008649.tif 000006
【００１４】
なお、焦点位置ｆと画角θの関係は、下式（５）により表すことができる。
【００１５】
【数５】
2009008649.tif 000007
【００１６】
図２３は、Ｈが512、ｈが１０[mm]、Ｌが1000[mm]の場合に、焦点位置ｆの変化に対する画角θと分解能の変化を示すグラフである。
図２３に示すように、画角θが狭くなれば分解能が高くなり、画角θが広くなれば分解能が低くなることが分かる。つまり、分解能はレンズの基本性能（広角か望遠か）に依存することになる。
【００１７】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、広範囲の測定および高分解能の測定を行うのに好適な多点測距センサを備えた脚車輪型ロボットを提供することを目的としている。
【課題を解決するための手段】
【００１８】
〔発明１〕  上記目的を達成するために、発明１の脚車輪型ロボットは、基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、各前記脚部を駆動するための動力を付与する第１アクチュエータと、各前記車輪を駆動するための動力を付与する第２アクチュエータと、複数の測定点までの距離を測定する多点測距センサと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、前記多点測距センサは、光学系を介して画像を撮影する撮像手段と、同一の焦点位置に対する画角が変化するように前記光学系の画角を変更する画角変更手段と、前記光学系の焦点位置を変更する焦点位置変更手段と、前記焦点位置変更手段で前記焦点位置を変更しながら前記焦点位置の異なる複数の画像を前記撮像手段から取り込む画像取込手段と、前記画像取込手段で取り込んだ各画像に対応する焦点位置を取得する焦点位置取得手段と、前記画像の一部の領域として設定された所定の第１測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第１周波数成分抽出手段と、前記第１測定領域とは異なる前記画像の一部の領域として設定された所定の第２測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第２周波数成分抽出手段と、前記第１周波数成分抽出手段で前記第１測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第１測定領域に撮影された第１測定点までの距離を算出する第１距離算出手段と、前記第２周波数成分抽出手段で前記第２測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第２測定領域に撮影された第２測定点までの距離を算出する第２距離算出手段とを備え、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする。
【００１９】
このような構成であれば、画像取込手段により、焦点位置の異なる複数の画像が撮像手段から取り込まれ、焦点位置取得手段により、取り込まれた各画像に対応する焦点位置が取得される。
そして、第１周波数成分抽出手段により、取り込まれた各画像ごとに第１測定領域について空間周波数が所定以上の成分が抽出され、第１距離算出手段により、抽出された空間周波数成分および取得された各焦点位置に基づいて第１測定点までの距離が算出される。
【００２０】
また、第２周波数成分抽出手段により、取り込まれた各画像ごとに第２測定領域について空間周波数が所定以上の成分が抽出され、第２距離算出手段により、抽出された空間周波数成分および取得された各焦点位置に基づいて第２測定点までの距離が算出される。
広範囲の測定を行う場合は、測定に先立って、画角変更手段により、同一の焦点位置に対する画角が広がるように光学系の画角が変更される。これにより、例えば、対象物までの距離が大きい場合は、分解能を落として広範囲の測定を行うことができる。
【００２１】
また、高分解能の測定を行う場合は、測定に先立って、画角変更手段により、同一の焦点位置に対する画角が狭くなるように光学系の画角が変更される。これにより、例えば、対象物までの距離が小さい場合は、対象物に測定範囲を絞って高分解能の測定を行うことができる。
さらに、脚車輪型ロボットの走行移動時において、その基体の向きを一定方向に保ちながら、脚車輪型ロボットの進行方向と各車輪の進行方向とが一致するように第２アクチュエータを制御することができる。
【００２２】
〔発明２〕  一方、上記目的を達成するために、発明２の脚車輪型ロボットは、基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された複数の脚部と、前記各脚部に回転可能に設けられた車輪と、各前記脚部を駆動するための動力を付与する第１アクチュエータと、各前記車輪を駆動するための動力を付与する第２アクチュエータと、複数の測定点までの距離を測定する多点測距センサと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、前記多点測距センサは、光学系を介して画像を撮影する撮像手段と、同一の焦点位置に対する画角が変化するように前記光学系の画角を変更する画角変更手段と、前記光学系の焦点位置を変更する焦点位置変更手段と、前記焦点位置変更手段で前記焦点位置を変更しながら前記焦点位置の異なる複数の画像を前記撮像手段から取り込む画像取込手段と、前記画像取込手段で取り込んだ各画像に対応する焦点位置を取得する焦点位置取得手段と、前記画像の一部の領域として設定された所定の第１測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第１周波数成分抽出手段と、前記第１測定領域とは異なる前記画像の一部の領域として設定された所定の第２測定領域について、前記画像取込手段で取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出する第２周波数成分抽出手段と、前記第１周波数成分抽出手段で前記第１測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第１測定領域に撮影された第１測定点までの距離を算出する第１距離算出手段と、前記第２周波数成分抽出手段で前記第２測定領域について前記各画像ごとに抽出した空間周波数成分および前記焦点位置取得手段で取得した各焦点位置に基づいて、前記第２測定領域に撮影された第２測定点までの距離を算出する第２距離算出手段と、を備え、前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする。
【００２３】
このような構成であれば、画像取込手段により、焦点位置の異なる複数の画像が撮像手段から取り込まれ、焦点位置取得手段により、取り込まれた各画像に対応する焦点位置が取得される。
そして、第１周波数成分抽出手段により、取り込まれた各画像ごとに第１測定領域について空間周波数が所定以上の成分が抽出され、第１距離算出手段により、抽出された空間周波数成分および取得された各焦点位置に基づいて第１測定点までの距離が算出される。
【００２４】
また、第２周波数成分抽出手段により、取り込まれた各画像ごとに第２測定領域について空間周波数が所定以上の成分が抽出され、第２距離算出手段により、抽出された空間周波数成分および取得された各焦点位置に基づいて第２測定点までの距離が算出される。
広範囲の測定を行う場合は、測定に先立って、画角変更手段により、同一の焦点位置に対する画角が広がるように光学系の画角が変更される。これにより、例えば、対象物までの距離が大きい場合は、分解能を落として広範囲の測定を行うことができる。
【００２５】
また、高分解能の測定を行う場合は、測定に先立って、画角変更手段により、同一の焦点位置に対する画角が狭くなるように光学系の画角が変更される。これにより、例えば、対象物までの距離が小さい場合は、対象物に測定範囲を絞って高分解能の測定を行うことができる。
また、旋回時は、制御手段により、基体を所定の回転中心位置でヨー軸（垂直軸）周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点位置における該回転中心の運動方向と、各車輪の進行方向とが一致するように、第２アクチュエータを制御することができる。
【００２６】
〔発明３〕  さらに、発明３の脚車輪型ロボットは、発明２の脚車輪型ロボットにおいて、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御することを特徴とする。
このような構成であれば、脚車輪型ロボットの移動時において、その基体の向きを一定方向に保ちながら、脚車輪型ロボットの進行方向と各車輪の進行方向とが一致するように第２アクチュエータが制御される。
【００２７】
〔発明４〕  さらに、発明４の脚車輪型ロボットは、発明１ないし３のいずれか１の脚車輪型ロボットにおいて、前記画角変更手段で画角を所定の広角の領域に変更し、前記焦点位置変更手段、前記画像取込手段、前記焦点位置取得手段、前記第１周波数成分抽出手段、前記第２周波数成分抽出手段、前記第１距離算出手段および前記第２距離算出手段を実行して測定を行う広範囲測定手段と、前記画角変更手段で画角を所定の望遠の領域に変更し、前記焦点位置変更手段、前記画像取込手段、前記焦点位置取得手段、前記第１周波数成分抽出手段、前記第２周波数成分抽出手段、前記第１距離算出手段および前記第２距離算出手段を実行して測定を行う高分解能測定手段とを備える。
【００２８】
このような構成であれば、広範囲の測定を行う場合は、広範囲測定手段により、画角変更手段で画角が所定の広角の領域に変更され、焦点位置変更手段、画像取込手段、焦点位置取得手段、第１周波数成分抽出手段、第２周波数成分抽出手段、第１距離算出手段および第２距離算出手段が実行されて測定が行われる。
また、高分解能の測定を行う場合は、高分解能測定手段により、画角変更手段で画角が所定の望遠の領域に変更され、焦点位置変更手段、画像取込手段、焦点位置取得手段、第１周波数成分抽出手段、第２周波数成分抽出手段、第１距離算出手段および第２距離算出手段が実行されて測定が行われる。
【００２９】
〔発明５〕  さらに、発明５の脚車輪型ロボットは、発明１ないし４のいずれか１の脚車輪型ロボットにおいて、前記第１距離算出手段は、前記複数の画像のうち前記第１測定領域について抽出した空間周波数の高次の成分が最も大きい画像に対応する前記焦点位置に基づいて前記第１測定点までの距離を算出し、前記第２距離算出手段は、前記複数の画像のうち前記第２測定領域について抽出した空間周波数の高次の成分が最も大きい画像に対応する前記焦点位置に基づいて前記第２測定点までの距離を算出する。
【００３０】
このような構成であれば、第１距離算出手段により、複数の画像のうち第１測定領域について抽出された空間周波数の高次の成分が最も大きい画像に対応する焦点位置に基づいて第１測定点までの距離が算出される。また、第２距離算出手段により、複数の画像のうち第２測定領域について抽出された空間周波数の高次の成分が最も大きい画像に対応する焦点位置に基づいて第２測定点までの距離が算出される。
【発明の効果】
【００３１】
以上説明したように、発明１の脚車輪型ロボットによれば、画角変更手段で画角を変更することで広範囲の測定と高分解能の測定を切り換えて行うことができるので、従来に比して、広範囲の測定および高分解能の測定を実現することができるという効果が得られる。また、少なくとも１つの撮像手段で画像を取り込む方式なので、ステレオビジョンによる画像センサのように複数のカメラを必要とせず、さらに、外乱光やセンサ間の干渉による影響が少ない。したがって、コストを低減することができ、環境の影響を受けにくいという効果も得られる。また、測定環境ごとのキャリブレーションを必要としないので、その手間が不要であるという効果も得られる。さらに、光学系の焦点位置を変更しながら画像を取り込むだけでよいので、高速な測定を実現することができるという効果も得られる。また、脚車輪型ロボットを、その向きとは関係なく自由な方向へと移動させることができるので、各方向への素早い移動を実現できると共に、例えば、脚車輪型ロボットの各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となるという効果も得られる。
【００３２】
また、発明２の脚車輪型ロボットによれば、旋回時に、脚車輪型ロボットの基体を所定の回転中心位置でヨー軸回りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点における該回転中心の運動方向と、各車輪の進行方向とを一致させることができるので、脚車輪型ロボットを、所定の旋回中心位置で前後移動させずに旋回（クローラなどによる超信地旋回と同等の旋回）をさせることができるという効果が得られる。また、基体の中心位置を、自転させる時の回転中心位置とすることで、最小の旋回半径で脚車輪型ロボットを旋回させることが可能である。
【発明を実施するための最良の形態】
【００３３】
〔第１の実施の形態〕
以下、本発明の第１の実施の形態を図面を参照しながら説明する。図１ないし図７は、本発明に係る脚車輪型ロボットに搭載される多点測距センサの第１の実施の形態を示す図である。
本実施の形態は、本発明に係る多点測距センサを、撮像素子から取り込んだ画像に基づいて多点測距を行う場合について適用したものである。
【００３４】
まず、本実施の形態に係る多点測距の原理を説明する。
図１は、撮像画像と空間周波数の関係を説明するための図である。
本実施の形態では、ＣＣＤ（Charge Coupled Device）等の高解像度な撮像素子と、焦点調節機構を有する焦点深度の十分に浅い光学系とからなるカメラ１台を用いて、合焦（レンズの焦点が対象物に合致することをいう。）時のレンズ位置に基づいて対象物までの距離を測定するレンズ焦点法を基本原理とする。
【００３５】
合焦時は、図１に示すように、対象物の画像が撮像素子に鮮明に投影されるため、画像のエッジが際立ち、空間周波数が高い領域でピークが発生する。これに対し、非合焦時は、対象物の画像が撮像素子にぼやけて投影されるので、画像のエッジがぼやけ、空間周波数が高い領域でピークが発生しない。
図２は、レンズの焦点位置に基づいて対象物までの距離を測定する原理を説明するための図である。
【００３６】
撮像素子の画像を格子状（図２の例では、横方向および縦方向にそれぞれ６つの矩形領域）に区分し、各区分領域ごとに空間周波数を算出すると、図２に示すように、対象物Ａに合焦しているときは、対象物Ａが撮影される区分領域の空間周波数が高い領域でピークが発生する。また、対象物Ａと異なる位置に存在する対象物Ｂに合焦しているときは、対象物Ｂが撮影される区分領域の空間周波数が高い領域でピークが発生する。したがって、対象物Ａ、Ｂへの合焦時の焦点位置をそれぞれ取得すれば、取得した焦点位置に基づいて対象物Ａ、Ｂまでの距離をそれぞれ求めることができる。
【００３７】
通常、レンズ焦点法の場合は、プリズムを設けて位相差から焦点を検出する方法、またその発展型として、焦点の異なる光学系を２つ用意し、レンズの駆動を行わない方法等があるが、本実施の形態では、焦点調節機構以外の特別な光学系を用いない。
図３は、２枚のレンズの位置と焦点位置の関係を示す図である。
本実施の形態では、さらに、複数枚のレンズを用い、同一の焦点位置に対する画角を変化させる。以下、最も単純な２枚のレンズからなる光学系を取り上げて説明する。
【００３８】
図３において、２枚のレンズからなる光学系の合成焦点距離をｆ、２枚のレンズ間の距離をｄ、２枚のレンズのうち対象物側のレンズ（以下、前段レンズという。）の位置をｌ、焦点距離をｆ１、２枚のレンズのうち撮像素子側のレンズ（以下、後段レンズという。）の位置をｓ’、焦点距離をｆ２とすると、組み合わせレンズの式より下式（６）が得られる。
【００３９】
【数６】
2009008649.tif 000008
【００４０】
上式（６）から下式（７）を導くことができる。
【００４１】
【数７】
2009008649.tif 000009
【００４２】
また、下式（８）が得られる。
【００４３】
【数８】
2009008649.tif 000010
【００４４】
上式（６）、（８）から下式（９）を導くことができる。
【００４５】
【数９】
2009008649.tif 000011
【００４６】
上式（９）から下式（10）を導くことができる。
【００４７】
【数１０】
2009008649.tif 000012
【００４８】
したがって、２枚のレンズの位置を調整することにより、同一の焦点位置に対する画角を変更することができる。
なお、ズーム光学系では、通常、複数枚のレンズの移動が焦点位置と画角に対して相関性があるので、明示的に個々のレンズを焦点調整用、画角調整用と示すことはできない。
【００４９】
次に、本発明を適用する多点測距センサの構成を説明する。
図４は、多点測距センサの構成を示すブロック図である。
多点測距センサは、図４に示すように、前段レンズ１１０ａと、後段レンズ１１０ｂと、前段レンズ１１０ａおよび後段レンズ１１０ｂを介して画像を撮影する撮像素子１１２と、撮像素子１１２から取り込んだ画像を保持する画像メモリ１１４とを有して構成されている。
【００５０】
多点測距センサは、さらに、前段レンズ１１０ａの位置調節機構に動力を付与して前段レンズ１１０ａの焦点位置を調整するレンズ駆動アクチュエータ１１６ａと、レンズ駆動アクチュエータ１１６ａを駆動する駆動回路１１８ａと、前段レンズ１１０ａの位置を検出するレンズ位置センサ１２０ａとを有して構成されている。
多点測距センサは、さらに、後段レンズ１１０ｂの位置調節機構に動力を付与して後段レンズ１１０ｂの焦点位置を調整するレンズ駆動アクチュエータ１１６ｂと、レンズ駆動アクチュエータ１１６ｂを駆動する駆動回路１１８ｂと、後段レンズ１１０ｂの位置を検出するレンズ位置センサ１２０ｂとを有して構成されている。
【００５１】
多点測距センサは、さらに、画像メモリ１１４の画像に基づいて多点測距を行うマイクロプロセッサ１２２を有して構成されている。
レンズ駆動アクチュエータ１１６ａ、１１６ｂとしては、例えば、圧電素子と変異拡大機構を一体化したアクチュエータを用いることができる。また、これに限らず、例えば、直動型のボイスコイルモータ、回転型のステッピングモータ、超音波モータを用いることもできる。
【００５２】
レンズ位置センサ１２０ａ、１２０ｂとしては、例えば、レンズ１１０ａ、１１０ｂの直線移動を検出する直線センサ、モータの回転動力をレンズ１１０ａ、１１０ｂの直線移動に変換する変換機構にあってはモータの回転を検出する回転センサを用いることができる。
【００５３】
次に、マイクロプロセッサ１２２で実行する処理を説明する。
マイクロプロセッサ１２２は、内部メモリの所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図５のフローチャートに示す画角切換測距処理を所定サンプリング時間ごとに実行する。
図５は、画角切換測距処理を示すフローチャートである。
画角切換測距処理は、同一の焦点位置に対する画角を変更し、複数の測定点についてその測定点までの距離を測定する処理であって、マイクロプロセッサ１２２において実行されると、図５に示すように、ステップＳ１００に移行する。
【００５４】
ステップＳ１００では、対象物までの距離が所定以上であるか否かを判定すること等により広範囲の測定を行うか否かを判定し、広範囲の測定を行うと判定したとき(Yes)は、ステップＳ１０２に移行する。
ステップＳ１０２では、画角が所定の広角の領域となるように、上式（６）、（９）、（10）により、基準となる前段レンズ１１０ａの位置ｌおよび後段レンズ１１０ｂの位置ｓ’を算出し、ステップＳ１０４に移行する。
【００５５】
ステップＳ１０４では、算出した基準レンズ位置ｌから基準レンズ位置ｓ’の方向にΔｌ（Δｌは、前段レンズ１１０ａの所定の総移動範囲の１／２を示す。ただし、Δｌ＜ｄ。）近接した位置ｌ−Δｌに前段レンズ１１０ａを移動すべき制御信号を駆動回路１１８ａに、算出した基準レンズ位置ｓ’に後段レンズ１１０ｂを移動すべき制御信号を駆動回路１１８ｂにそれぞれ出力し、ステップＳ１０６に移行して、複数の測定点についてその測定点までの距離を測定する多点測距処理を実行し、ステップＳ１０８に移行する。
【００５６】
ステップＳ１０８では、対象物までの距離が所定以下であるか否かを判定すること等により高分解能の測定を行うか否かを判定し、高分解能の測定を行うと判定したとき(Yes)は、ステップＳ１１０に移行する。
ステップＳ１１０では、画角が所定の望遠の領域となるように、上式（６）、（９）、（10）により、基準となる前段レンズ１１０ａの位置ｌおよび後段レンズ１１０ｂの位置ｓ’を算出し、ステップＳ１１２に移行する。
【００５７】
ステップＳ１１２では、算出した基準レンズ位置ｌから基準レンズ位置ｓ’の方向にΔｌ近接した位置ｌ−Δｌに前段レンズ１１０ａを移動すべき制御信号を駆動回路１１８ａに、算出した基準レンズ位置ｓ’に後段レンズ１１０ｂを移動すべき制御信号を駆動回路１１８ｂにそれぞれ出力し、ステップＳ１１４に移行して、ステップＳ１０６と同様の多点測距処理を実行し、一連の処理を終了して元の処理に復帰させる。
【００５８】
一方、ステップＳ１０８で、高分解能の測定を行わないと判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ１００で、広範囲の測定を行わないと判定したとき(No)は、ステップＳ１０８に移行する。
【００５９】
次に、ステップＳ１０６、Ｓ１１４の多点測距処理を説明する。
図６は、多点測距処理を示すフローチャートである。
多点測距処理は、後段レンズ１１０ｂを基準レンズ位置ｓ’に固定し、基準レンズ位置ｌを中心に前段レンズ１１０ａを前後に±Δｌ移動させることにより、複数の測定点についてその測定点までの距離を測定する処理であって、ステップＳ１０６、Ｓ１１４において実行されると、図６に示すように、ステップＳ２００に移行する。
【００６０】
ステップＳ２００では、画像メモリ１１４から画像を読み出し、ステップＳ２０２に移行して、読み出した画像に対応するレンズ位置をレンズ位置センサ１２０ａ、１２０ｂから取得し、ステップＳ２０４に移行する。
ステップＳ２０４では、読み出した画像の区分領域（xi、yj）（xiは、横方向ｉ番目の区分領域を示し、yjは、縦方向ｊ番目の区分領域を示す。）の空間周波数成分をフーリエ変換処理により算出し、ステップＳ２０６に移行して、算出した空間周波数成分および取得したレンズ位置を区分領域（xi、yj）と対応付けて内部メモリに格納し、ステップＳ２０８に移行する。
【００６１】
ステップＳ２０８では、横方向のすべての区分領域についてステップＳ２０４、Ｓ２０６の処理が終了したか否かを判定し、横方向のすべての区分領域について処理が終了したと判定したとき(Yes)は、ステップＳ２１０に移行して、縦方向のすべての区分領域についてステップＳ２０４、Ｓ２０６の処理が終了したか否かを判定し、縦方向のすべての区分領域について処理が終了したと判定したとき(Yes)は、ステップＳ２１２に移行する。
【００６２】
ステップＳ２１２では、レンズ位置が終端（ｌ＋Δｌ）か否かを判定し、レンズ位置が終端であると判定したとき(Yes)は、ステップＳ２１４に移行して、内部メモリの空間周波数成分に基づいて、レンズ位置の異なる区分領域（xi、yj）の画像のうち空間周波数が所定以上の成分がピークとなる画像を特定し、ステップＳ２１６に移行する。
ステップＳ２１６では、ピーク画像に対応するレンズ位置を内部メモリから読み出し、読み出したレンズ位置に基づいて、区分領域（xi、yj）に撮影された対象物までの距離を算出し、ステップＳ２１８に移行して、算出した対象物までの距離を示す距離情報を区分領域（xi、yj）と対応付けて内部メモリに格納し、ステップＳ２２０に移行する。
【００６３】
ステップＳ２２０では、横方向のすべての区分領域についてステップＳ２１４〜Ｓ２１８の処理が終了したか否かを判定し、横方向のすべての区分領域について処理が終了したと判定したとき(Yes)は、ステップＳ２２２に移行して、縦方向のすべての区分領域についてステップＳ２１４〜Ｓ２１８の処理が終了したか否かを判定し、縦方向のすべての区分領域について処理が終了したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【００６４】
一方、ステップＳ２２２で、縦方向のすべての区分領域について処理が終了しないと判定したとき(No)は、ステップＳ２２４に移行して、処理対象とする区分領域を縦方向に１つ移動し、ステップＳ２１４に移行する。
一方、ステップＳ２２０で、横方向のすべての区分領域について処理が終了しないと判定したとき(No)は、ステップＳ２２６に移行して、処理対象とする区分領域を横方向に１つ移動し、ステップＳ２１４に移行する。
【００６５】
一方、ステップＳ２１２で、レンズ位置が終端でないと判定したとき(No)は、ステップＳ２２８に移行して、前段レンズ１１０ａを所定量移動すべき制御信号を駆動回路１１８ａに出力し、ステップＳ２００に移行する。
一方、ステップＳ２１０で、縦方向のすべての区分領域について処理が終了しないと判定したとき(No)は、ステップＳ２３０に移行して、処理対象とする区分領域を縦方向に１つ移動し、ステップＳ２０４に移行する。
【００６６】
一方、ステップＳ２０８で、横方向のすべての区分領域について処理が終了しないと判定したとき(No)は、ステップＳ２３２に移行して、処理対象とする区分領域を横方向に１つ移動し、ステップＳ２０４に移行する。
【００６７】
次に、本実施の形態の動作を説明する。
図７は、多点測距を行う動作を説明するための図である。
広範囲の測定を行う場合は、ステップＳ１０２、Ｓ１０４を経て、画角が所定の広角の領域となるように、基準となる前段レンズ１１０ａの位置ｌおよび後段レンズ１１０ｂの位置ｓ’を算出し、前段レンズ１１０ａを先端（ｌ−Δｌ）に、後段レンズ１１０ｂを基準レンズ位置ｓ’にそれぞれ移動させる。
【００６８】
そして、図７に示すように、ステップＳ２００〜Ｓ２１２、Ｓ２２８〜Ｓ２３０を経て、後段レンズ１１０ｂを基準レンズ位置ｓ’に固定し、前段レンズ１１０ａを先端から終端に移動させ、その間、あらかじめ定めておいたレンズ移動距離ごと（ｌ1、ｌ2、ｌ3）に撮像素子１１２から画像を取り込み記憶する。これを１スキャンとする。前段レンズ１１０ａを初期位置に戻す際もスキャンを行う。スキャン中または１スキャン終了時に、ステップＳ２１４〜Ｓ２２６を経て、各区分領域ごとに空間周波数が所定以上の高次成分を抽出し、これがピークとなるレンズ位置を合焦とし、合焦点のレンズ位置を求め、対象物までの距離を算出する。このとき、レンズ１１０ａ、１１０ｂの画角が広角の領域となっているので、分解能を落として広範囲の測定を行うことができる。
【００６９】
次に、高分解能の測定を行う場合は、ステップＳ１１０、Ｓ１１２を経て、画角が所定の望遠の領域となるように、基準となる前段レンズ１１０ａの位置ｌおよび後段レンズ１１０ｂの位置ｓ’を算出し、前段レンズ１１０ａを先端に、後段レンズ１１０ｂを基準レンズ位置ｓ’にそれぞれ移動させる。
そして、広範囲の測定のときと同様に、後段レンズ１１０ｂを固定して前段レンズ１１０ａを移動させ、合焦点のレンズ位置を求め、対象物までの距離を算出する。このとき、レンズ１１０ａ、１１０ｂの画角が望遠の領域となっているので、対象物に測定範囲を絞って高分解能の測定を行うことができる。
【００７０】
このようにして、本実施の形態では、同一の焦点位置に対する画角を変更し、レンズ位置を変更しながら複数の画像を撮像素子１１２から取り込み、取り込んだ各画像に対応するレンズ位置を取得し、画像の各区分領域について、取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出し、抽出した空間周波数成分が最も大きい画像に対応するレンズ位置に基づいて、区分領域に撮影された対象物までの距離を算出する。
【００７１】
これにより、同一の焦点位置に対する画角を変更することで広範囲の測定と高分解能の測定を切り換えて行うことができるので、従来に比して、広範囲の測定および高分解能の測定を実現することができる。
また、１台のカメラで画像を取り込む方式なので、ステレオビジョンによる画像センサのように複数のカメラを必要とせず、また、外乱光やセンサ間の干渉による影響が少ない。したがって、コストを低減することができ、環境の影響を受けにくい。また、キャリブレーションを必要としないので、その手間が不要である。さらに、前段レンズ１１０ａを先端から終端まで移動しながら画像を取り込むだけでよいので、高速な測定を実現することができる。
【００７２】
また、カメラのオートフォーカスでは、焦点を合わせることが最終目的なので、焦点が合っているか否かを常に確認しながらレンズを追従させようと制御するが、本実施の形態では、連続的に一定速度で前段レンズ１１０ａを作動させ、その時々の画像を記憶し、スキャン後に合焦点を求めるという方法であるので、突然ロストすることもなければ、前段レンズ１１０ａが焦点に追従しようと迷って動くこともない。
【００７３】
さらに、本実施の形態では、広範囲の測定を行うと判定したときは、画角を所定の広角の領域に変更して対象物までの位置を測定し、高分解能の測定を行うと判定したときは、画角を所定の望遠の領域に変更して対象物までの位置を測定する。
これにより、広範囲の測定と高分解能の測定を適切に切り換えて行うことができる。
さらに、本実施の形態では、フーリエ変換処理により空間周波数が所定以上の成分を抽出する。
【００７４】
これにより、精度の高い測定を実現することができる。
上記実施の形態において、レンズ１１０ａ、１１０ｂは、発明１または２の光学系に対応し、撮像素子１１２は、発明１または２の撮像手段に対応し、レンズ駆動アクチュエータ１１６ａ、１１６ｂ、駆動回路１１８ａ、１１８ｂおよびステップＳ１０２、Ｓ１０４、Ｓ１１０、Ｓ１１２は、発明１、２または４の画角変更手段に対応している。また、ステップＳ１００〜Ｓ１０６は、発明４の広範囲測定手段に対応し、ステップＳ１０８〜Ｓ１１４は、発明４の高分解能測定手段に対応している。
【００７５】
また、上記第１の実施の形態において、レンズ駆動アクチュエータ１１６ａ、駆動回路１１８ａおよびステップＳ２２８は、発明１、２または４の焦点位置変更手段に対応し、ステップＳ２００は、発明１、２または４の画像取込手段に対応し、レンズ位置センサ１２０ａ、１２０ｂおよびステップＳ２０２は、発明１、２または４の焦点位置取得手段に対応している。また、ステップＳ２０４は、発明１、２若しくは４の第１周波数成分抽出手段、または発明１、２若しくは４の第２周波数成分抽出手段に対応している。
【００７６】
また、上記第１の実施の形態において、ステップＳ２１４、Ｓ２１６は、発明１、２、４若しくは５の第１距離算出手段、または発明１、２、４若しくは５の第２距離算出手段に対応している。
なお、上記第１の実施の形態においては、多点測距センサを、後段レンズ１１０ｂを固定し、前段レンズ１１０ａを移動させることにより焦点位置を変更するように構成したが、これに限らず、前段レンズ１１０ａを固定し、後段レンズ１１０ｂを移動させることにより焦点位置を変更するように構成してもよいし、レンズ１１０ａ、１１０ｂの両方を移動させることにより焦点位置を変更するように構成してもよい。
【００７７】
また、上記第１の実施の形態においては、光学系を２枚のレンズ１１０ａ、１１０ｂから構成したが、これに限らず、３枚以上のレンズから構成してもよい。
また、上記第１の実施の形態においては、撮像素子１１２の画像を格子状に区分したが、これに限らず、図８に示すように、ハニカム状に区分してもよい。
図８は、撮像素子１１２の画像をハニカム状に区分した状態を示す図である。
【００７８】
これにより、見かけ上の分解能を向上することができる。
また、上記第１の実施の形態においては、フーリエ変換処理により空間周波数が所定以上の成分を抽出するように構成したが、これに限らず、ハイパスフィルタにより空間周波数が所定以上の成分を抽出するように構成することができる。
これにより、高速な測定を実現することができる。
【００７９】
また、上記第１の実施の形態においては、図６のフローチャートに示す多点測距処理を実行するように構成したが、これに代えて、図９のフローチャートに示す多点測距処理を実行するように構成することもできる。
図９は、多点測距処理を示すフローチャートである。
図９の多点測距処理は、図６の多点測距処理に対して、ステップＳ２１２、Ｓ２２８の処理をステップＳ２０２、Ｓ２０４の間に移動した点が異なる。
【００８０】
ステップＳ２００、Ｓ２０２、Ｓ２２８、Ｓ２１２の処理は、前段レンズ１１０ａを先端から終端に移動させながら各レンズ位置の画像を画像メモリ１１４から読み出す処理である。
ステップＳ２０４〜Ｓ２１０、Ｓ２１４〜Ｓ２２６、Ｓ２３０、Ｓ２３２の処理は、読み出した各レンズ位置の画像に基づいて、空間周波数成分の算出、ピーク画像の特定、対象物までの距離の算出等を行う処理である。
【００８１】
このように、画像のスキャンを一括で行った後に画像処理を行うことにより、高速な処理を実現するとともにリアルタイム性を向上することができる。
また、上記第１の実施の形態において、図５および図６のフローチャートに示す処理を実行するにあたってはいずれも、マイクロプロセッサ１２２の内部メモリにあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをＲＡＭ等に読み込んで実行するようにしてもよい。図９のフローチャートに示す処理についても同様である。
【００８２】
ここで、記憶媒体とは、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【００８３】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図１０ないし図２１は、本発明に係る脚車輪型ロボットの第２の実施の形態を示す図である。
【００８４】
まず、本発明に係る脚車輪型ロボット１００の構成を説明する。
図１０は、脚車輪型ロボット１００の正面図である。
図１１は、脚車輪型ロボット１００の側面図である。
脚車輪型ロボット１００は、図１０および図１１に示すように、基体１０と、基体１０に連結された４つの脚部１２とを有して構成されている。
【００８５】
基体１０の前方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。また、基体１０の後方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。
回転関節１４は、脚車輪型ロボット１００の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
【００８６】
各脚部１２には、２つの回転関節１６、１８が設けられている。回転関節１６、１８は、回転関節１４が図１０のような状態であるときは、脚車輪型ロボット１００の側面と直交する方向を軸方向として回転する。したがって、脚部１２は、それぞれ３自由度を有する。
各脚部１２の先端には、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転可能に設けられている。駆動輪２０は、回転関節１４の回転によりヨー軸周りに回動する。つまり、回転関節１４の回転を制御することで、走行移動時の操舵制御が行われる。
【００８７】
各脚部１２の先端には、脚車輪型ロボット１００の移動経路上に存在する物体までの脚先からの距離を測定する前方脚先センサ２２と、脚先から接地面までの距離を測定する下方脚先センサ２４とが設けられている。
一方、基体１０の正面の上部中央には、水平面レーザ光を照射する水平レーザ２６が設けられている。また、基体１０の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ２８、３０がそれぞれ設けられている。
【００８８】
基体１０の正面の下部中央には、上記第１の実施の形態で説明した多点測距センサを内蔵したカメラ３２が設けられている。
カメラ３２は、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影し、該撮影した画像を後述するビジョンプロセッサ７２へと出力する。
さらに、カメラ３２に内蔵された多点測距センサは、同一の焦点位置に対する画角を変更し、レンズ位置を変更しながら複数の画像をカメラ３２の有する撮像素子１１２から取り込み、取り込んだ各画像に対応するレンズ位置を取得し、画像の各区分領域について、取り込んだ各画像ごとに空間周波数が所定以上の成分を抽出し、抽出した空間周波数成分が最も大きい画像に対応するレンズ位置に基づいて、区分領域に撮影された対象物までの距離を算出する。なお、多点測距センサで測定された対象物までの距離を示す距離情報は、脚車輪型ロボット１００の移動制御に用いられる。また、多点測距センサにおけるマイクロプロセッサ１２２の機能を後述するビジョンプロセッサ７２に兼用させる構成としても良い。
【００８９】
水平レーザ２６は、カメラ３２で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ２８は、カメラ３２で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ３０は、左方に所定角度傾けて設けられている。
カメラ３２の左右には、障害物を検出する障害物センサ３４、３６がそれぞれ設けられている。
【００９０】
図１２は、障害物センサ３４、３６の構成を示す図である。
障害物センサ３４、３６は、図１２（ａ）に示すように、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、図１２（ｂ）に示すように、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット１００の移動経路上に存在する物体を大まかに検出することができる。
【００９１】
次に、脚車輪型ロボット１００の移動制御システムを説明する。
図１３は、脚車輪型ロボット１００の移動制御システムを示すブロック図である。
各脚部１２の回転関節１４〜１８には、図１３に示すように、回転関節１４〜１８を回転駆動する関節モータ４０がそれぞれ設けられている。各関節モータ４０には、関節モータ４０の回転角度位置を検出するエンコーダ４２と、モータ指令信号およびエンコーダ４２の出力信号に基づいて関節モータ４０の駆動を制御するドライバ４４が設けられている。
【００９２】
各脚部１２の駆動輪２０には、駆動輪２０を回転駆動する車輪モータ５０がそれぞれ設けられている。各車輪モータ５０には、車輪モータ５０の回転角度位置を検出するエンコーダ５２と、モータ指令信号およびエンコーダ５２の出力信号に基づいて車輪モータ５０の駆動を制御するドライバ５４が設けられている。
脚車輪型ロボット１００は、さらに、ＣＰＵ６０と、脚車輪型ロボット１００の姿勢を検出する３軸姿勢センサ７０と、カメラ３２の画像信号を処理するビジョンプロセッサ７２と、外部のＰＣ等と無線通信を行う無線通信部７４と、ビジョンプロセッサ７２および無線通信部７４とＣＰＵ６０の入出力を中継するハブ７６と、警告音等を出力するスピーカ７８とを有して構成される。
【００９３】
３軸姿勢センサ７０は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット１００の姿勢の傾きを検出する。
ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介してドライバ４４、５４にモータ指令信号を出力し、角度取込Ｉ／Ｆ６２を介してエンコーダ４２、５２の出力信号を入力する。また、センサ入力Ｉ／Ｆ６３を介して、前方脚先センサ２２、下方脚先センサ２４、障害物センサ３４および３軸姿勢センサ７０からそれぞれセンサ信号を入力する。また、通信Ｉ／Ｆ６４を介してハブ７６と信号の入出力を行い、サウンド出力Ｉ／Ｆ６５を介してスピーカ７８に音声信号を出力する。
【００９４】
次に、ＣＰＵ６０で実行される処理を説明する。
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図１４のフローチャートに示す昇降制御処理を実行する。
図１４は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部１２の昇降制御を行う処理であって、ＣＰＵ６０において実行されると、まず、図１４に示すように、ステップＳ３００に移行する。
【００９５】
ステップＳ３００では、ビジョンプロセッサ７２から画像を取り込み、ステップＳ３０２に移行する。
ステップＳ３０２では、取り込んだ画像に基づいて光切断法により階段の特徴点を抽出する。
図１５は、光切断法の原理を説明するための図である。
【００９６】
光切断法は、三角測量の原理により計測対象上の座標を求める計測法である。図１５に計測座標系を示す。
計測対象上の座標Ｐ（x0、y0、z0）は、カメラ３２の撮像素子上の任意の座標をＰs（xi、yi、zi）とすると、下式（１１）により求められる。
【００９７】
【数１１】
2009008649.tif 000013
【００９８】
次に、得られた三次元座標から、レーザ光の反射光の不連続点または屈曲点を階段の特徴点として抽出する。
図１６は、階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
【００９９】
脚車輪型ロボット１００の移動経路上に階段が存在すると、図１６（ａ）左側に示すように、水平レーザ２６から照射された水平面レーザ光が階段の蹴込板および床面で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１６（ａ）右側に示すように、蹴込板での反射光エッジおよび床面での反射光エッジを抽出することができる。そして、そのエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの不連続点に対応する実座標を算出することができる。
【０１００】
また、図１６（ｂ）左側に示すように、垂直レーザ２８から照射された垂直面レーザ光が階段の蹴込板および踏板で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１６（ｂ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。また、垂直レーザ３０についても同様であり、図１６（ｃ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。そして、それらエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの屈曲点に対する実座標を算出することができる。
【０１０１】
図１４に戻り、次いで、ステップＳ３０４に移行して、抽出した特徴点に基づいて階段の幅を算出し、ステップＳ３０６に移行して、抽出した特徴点に基づいて階段の段鼻部の実座標を算出し、ステップＳ３０８に移行する。
ステップＳ３０８では、算出した階段の幅および段鼻部の実座標、並びに３軸姿勢センサ７０のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップＳ３１０に移行して、ステップＳ３０８の計算結果に基づいて脚先（駆動輪２０）の着地位置を決定し、ステップＳ３１２に移行する。
【０１０２】
ステップＳ３１２では、カメラ３２の多点測距センサ、前方脚先センサ２２および下方脚先センサ２４からそれぞれセンサ信号を入力し、ステップＳ３１４に移行して、入力した多点測距センサおよび前方脚先センサ２２のセンサ信号に基づいて蹴込板までの距離を算出し、ステップＳ３１６に移行して、入力した下方脚先センサ２４のセンサ信号に基づいて脚先と踏板の位置関係を算出し、ステップＳ３１８に移行する。
【０１０３】
ステップＳ３１８では、決定した着地位置および算出した両距離に基づいてドライバ４４、５４へのモータ指令信号を生成し、ステップＳ３２０に移行して、生成したモータ指令信号をドライバ４４、５４に出力し、ステップＳ３２２に移行する。
ステップＳ３２２では、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(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＝Ｖ2＝Ｖｃ」、「Ｖ1＝Ｖ3＝−Ｖｃ」などの組み合わせとしても良い。
【０１２１】
更に、線速度Ｖ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＝Ｖ2＝Ｖｃ」、「Ｖ1＝Ｖ3＝−Ｖｃ」と算出される。
なお、各脚部１２が互いに干渉しなければ、例えば、「θ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を算出し、各アクチュエータに指令を与えるものである。
【０１３３】
脚車輪型ロボット１００を超信地旋回させるためには、基体１０を、旋回中心（ｘｃ，ｙｃ）でヨー軸周りに自転させたときに、各駆動輪２０の操舵時のヨー軸周りの回転中心が描く円弧軌道と各駆動輪２０の前記回転中心との接点における運動方向と、各駆動輪２０の進行方向とが一致するように各回転関節１４の関節モータ４０を制御すると共に、各駆動輪２０が前記運動方向に応じた回転方向に一定速度で回転するように各車輪モータ５０を制御する必要がある。
【０１３４】
まず、図１９（ａ）に基づき、基体１０の中心位置の座標（０，０）を旋回中心とした場合の超信地旋回制御処理について説明する。
この場合は、旋回角速度Ωと、旋回中心座標（０，０）とが入力される。
旋回角速度Ω及び旋回中心座標（０，０）が入力されると、下式（１３）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
ｔａｎφ＝Ｗt／Ｗb                                      ・・・（１３）
但し、上式（１３）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。また、上式（１３）において、Ｗtはトレッド（車輪間隔）であり、Ｗbはホイールベースである。
【０１３５】
なお、φ0〜φ3は、ｘ軸と、各駆動輪２０の回転中心とのなす角度のうち最小の角度とし、φの正方向は、駆動輪によってはΩの正方向とは異なる。
Ｗt及びＷbは既知であるため（予め情報を持っておく）、上式（１３）から、上記角度φ0、φ1、φ2、φ3を算出することができる。
なお、旋回中心が基体１０の中心座標（０，０）であるので、角度φ0、φ1、φ2、φ3は、いずれも等角度「φ0＝φ1＝φ2＝φ3＝φ」となる。
【０１３６】
また、基体１０が旋回座標（０，０）でヨー軸周りに自転時に、各駆動輪２０の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図１９（ａ）の各駆動輪２０から伸びる矢印線に示すように、円弧軌道上の各回転中心を通る接線方向（図中の矢印線方向）となる。
各駆動輪２０の回転中心に対する角度「φ0＝φ1＝φ2＝φ3＝φ」が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
【０１３７】
各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるためには、図１９（ａ）に示すように、各駆動輪２０の進行方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角（π／２（９０[°]））となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θ00＝θ10＝θ20＝θ30＝−（π／２−φ）」と算出される。
一方、下式（１４）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１３８】
【数１２】
2009008649.tif 000014
【０１３９】
但し、上式（１４）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。
なお、トレッドＷ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＝Ｖ3＝−ＬΩ」、「Ｖ1＝Ｖ2＝ＬΩ」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（１２）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１４２】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１４３】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で旋回（超信地旋回）する。
【０１４４】
次に、基体１０の中心座標（０，０）以外の座標を旋回中心とした場合の超信地旋回制御処理について説明する。以下、この超信地旋回制御処理を、旋回中心オフセット型超信地旋回制御処理と称す。
この場合は、旋回角速度Ωと、基体１０の中心座標（０，０）以外の座標である旋回中心座標（ｘｃ，ｙｃ）≠（０，０）とが入力される。
【０１４５】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）が入力されると、下式（１６）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
ｔａｎφ0＝（Ｗt／２−ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ1＝（Ｗt／２＋ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ2＝（Ｗt／２−ｙｃ）／（Ｗb／２＋ｘｃ）
ｔａｎφ3＝（Ｗt／２＋ｙｃ）／（Ｗb／２＋ｘｃ）    ・・・（１６）
但し、上式（１６）は、脚車輪型ロボット１００の脚部１２が、基体１０の前方に左右一対及び後方に左右一対の計４本の場合の式である。
【０１４６】
具体的に、入力された旋回中心座標（ｘｃ，ｙｃ）と、既知のＷt及びＷbとを、上式（１６）に代入して、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3を算出する。
なお、旋回中心が基体１０の中心座標以外の座標となるので、角度φ0、φ1、φ2、φ3はそれぞれ異なる角度となる。
【０１４７】
また、基体１０が、旋回中心座標（ｘｃ，ｙｃ）でヨー軸周りに自転時に、各駆動輪２０の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図１９（ｂ）の各駆動輪２０から伸びる矢印線に示すように、各円弧軌道上の各回転中心を通る接線方向（図中の矢印線方向）となる。また、旋回中心と各駆動輪２０の回転中心との距離はそれぞれ異なるため、各回転中心の描く円弧軌道も異なる。
【０１４８】
各駆動輪２０の回転中心に対する角度φ0、φ1、φ2、φ3が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるためには、図１９（ｂ）に示すように、各駆動輪２０の回転方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角（π／２（９０[°]））となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θi0＝−（π／２−φi）（i=0,1,2,3）」と算出される。
【０１４９】
一方、下式（１７）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１５０】
【数１３】
2009008649.tif 000015
【０１５１】
先述したように、旋回中心が基体１０の中心座標（０，０）以外の座標であるので、距離Ｌ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＝θ10＝θ20＝θ30＝α[°]」が算出され、線速度として、「Ｖ0＝Ｖ2＝−Ｖｃ」、「Ｖ1＝Ｖ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に変換される。
そして、各駆動輪２０の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、これにより、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進走行する。
【０１６６】
次に、超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
ここでは、図２０（ｂ）に示すような通路を、脚車輪型ロボット１００で走行移動させることとする。
図２０（ｂ）に示すように、通路は、最初真っ直ぐに伸びており、その後、略直角に右に折れ曲がり、その先で行き止まりとなっている。
【０１６７】
まず、通路の伸びる方向と基体１０の向きとを合わせ、進入位置を微調整した後に、脚車輪型ロボット１００を前方向に直進走行させる。これにより、脚車輪型ロボット１００は、通路へと進入すると共に通路内を直進走行する。
脚車輪型ロボット１００は、しばらく直進すると、やがて曲がり角へと到達するので、時計回りに旋回して、基体１０の向きを脚車輪型ロボット１００が進行できる向きへと変更する。
【０１６８】
図２０（ｂ）に示す曲がり角であれば、前移動を伴う旋回動作でも十分に右折できるが、ここでは、超信地旋回により右折することとする。そのため、超信地旋回制御指令を入力し、この指令により、脚車輪型ロボット１００を、超信地旋回制御モードへと移行させる。これにより、脚車輪型ロボット１００は、ＣＰＵ６０において、前後移動を行わずに所定の旋回中心位置でロボットを旋回する制御処理を行う。
【０１６９】
まず、旋回角速度Ω（基体１０を時計回りに回転させる角速度）と、旋回中心座標（０，０）とを入力する。更に、略直角に右折させるので、旋回角度−９０[°]を入力する。
旋回角速度Ω、旋回中心座標（０，０）及び旋回角度（−９０[°]）が入力されると、上式（１３）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
【０１７０】
各駆動輪２０の回転中心に対する角度「φ0＝φ1＝φ2＝φ3＝φ」が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30が算出される。
具体的に、操舵角度θ00、θ10、θ20、θ30として、「θ00＝θ10＝θ20＝θ30＝−（π／２−φ）」が算出される。
【０１７１】
また、上式（１４）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
旋回中心が基体１０の中心座標（０，０）となっているので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、等距離「Ｌ0＝Ｌ1＝Ｌ2＝Ｌ3＝Ｌ」となる。
次に、距離Ｌと旋回角速度Ωとから、上式（１５）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
【０１７２】
ここでは、脚車輪型ロボット１００を、時計回りに旋回（Ω＜０）させるので、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ1＝Ｖ2＝ＬΩ」、「Ｖ0＝Ｖ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＝−（π／２−φ）」が算出され、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3として、「Ｖ1＝Ｖ2＝ＬΩ」、「Ｖ0＝Ｖ3＝−ＬΩ」が算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（１２）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１７７】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、各指令値が算出され、関節モータ４０及び車輪モータ５０が駆動される。
これにより、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で時計回りに１８０[°]旋回（超信地旋回）し、真後ろ方向へと向きを変える。
【０１７８】
ここで、脚車輪型ロボット１００が、例えば、遠隔操作で人手により走行制御される場合や、自動制御で且つ基体１０の後ろ側にも各種センサやカメラを備えている場合などは、無変向走行制御により、前を向いたまま真後ろに走行させて通路を引き返させることも可能である。しかし、自動制御の場合で且つ各種センサが基体１０の前側にしか備わっていない場合は、基体１０の向きと進行方向とを合わせる必要がある。従って、後者の場合などに、超信地旋回は有用な旋回手段となる。
【０１７９】
次に、旋回中心オフセット型超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
いま、車輪走行移動モードへと移行し、脚車輪型ロボット１００の各関節モータ４０が制御され、ロボットの姿勢が膝屈曲姿勢に変更されたとする。このとき、ロボットの重心が図２０に示すように、基体１０の中心位置の座標から外れた位置となるとする。
【０１８０】
この場合は、重心位置が基体１０の中心位置の座標（０，０）から外れているため、中心位置を旋回中心として超信地旋回を行わせると旋回がアンバランスとなり、不具合が発生する恐れがある。
このようなときに、本実施の形態の超信地旋回制御指令モードにおいては、任意の旋回中心で超信地旋回させることができるので、旋回角速度Ωを入力すると共に、基体１０における、脚車輪型ロボット１００の重心位置に対応する座標（ｘｇ，ｙｇ）を旋回中心座標（ｘｃ，ｙｃ）として入力する。
【０１８１】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）＝（ｘｇ，ｙｇ）が入力されると、上式（１６）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
各駆動輪２０の回転中心に対する角度φ0、φ1、φ2、φ3が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
【０１８２】
操舵角度θ00、θ10、θ20、θ30は、「θi0＝−（π／２−φi）（i=0,1,2,3）」と算出される。
次に、上式（１７）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ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が算出されると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１８５】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、これにより、基体１０における重心座標と対応する座標（ｘｇ，ｙｇ）を旋回中心として、脚車輪型ロボット１００がバランスのとれた状態で反時計回りに超信地旋回する。
【０１８６】
このようにして、本実施の形態では、多点測距センサの同一焦点に対する画角を変更することで、広範囲の測定および高分解能の測定を適宜切り替えて行い、測定された距離情報に基づき、脚車輪型ロボット１００の移動動作を制御する。
これにより、障害物（通路の壁等を含む）までの距離を正確に把握することができるので、脚車輪型ロボット１００の障害物の回避、通路内の走行等の移動動作をより確実に行うことができる。
【０１８７】
さらに、本実施の形態では、基体１０の向きを一定の方向に保持した状態で、脚車輪型ロボット１００が目的の進行方向に走行するように関節モータ４０及び車輪モータ５０を制御する。
これにより、旋回を行わず（向きを変えず）に自由な方向へ移動できるので、各方向への素早い移動を実現できると共に、脚車輪型ロボット１００の各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となる。
【０１８８】
さらに、本実施の形態では、脚車輪型ロボット１００を所定の旋回中心位置で前後移動させずに旋回（超信地旋回）するように関節モータ４０及び車輪モータ５０を制御する。このとき、基体１０における中心位置の座標を旋回中心座標とする制御（超信地旋回制御）と、基体１０における中心位置以外の座標を旋回中心座標とする制御（旋回中心オフセット型超信地旋回制御）とを行うことが可能である。
【０１８９】
これにより、基体１０の中心位置を旋回中心位置とする場合は、最小の旋回半径で脚車輪型ロボットを旋回をさせることが可能である。また、基体１０の中心位置以外を旋回中心位置とする場合は、基体１０の中心位置と重心位置とが異なる場合などに、重心位置を旋回中心として超信地旋回させることができるので、脚車輪型ロボット１００を、バランスよく超信地旋回させることが可能である。
【０１９０】
上記第２の実施の形態において、脚車輪型ロボット１００は、発明１ないし５の脚車輪型ロボットに対応し、関節モータ４０は、発明１ないし３の第１アクチュエータに対応し、ＣＰＵ６０による、昇降制御処理、無変向走行性制御処理、超信地旋回処理、旋回中心オフセット型超信地旋回処理は、発明１ないし３の制御手段に対応している。
なお、上記第２の実施の形態においては、本発明に係る脚車輪型ロボット１００の構成を、基体１０の前方に左右一対及び後方に左右一対の４本の脚部１２を有する構成としたが、これに限らず、基体１０の中央に左右一対の脚部１２を設ける構成や、３本の脚部１２を対称に設ける構成、５本以上の脚部１２を設ける構成など、本発明の趣旨を逸脱しない範囲で他の構成としても良い。また、多脚とした場合には、不要な脚部１２を走行制御に用いないように制御するようにしても良い。
【図面の簡単な説明】
【０１９１】
【図１】撮像画像と空間周波数の関係を説明するための図である。
【図２】レンズの焦点位置に基づいて対象物までの距離を測定する原理を説明するための図である。
【図３】２枚のレンズの位置と焦点位置の関係を示す図である。
【図４】多点測距センサの構成を示すブロック図である。
【図５】画角切換測距処理を示すフローチャートである。
【図６】多点測距処理を示すフローチャートである。
【図７】多点測距を行う動作を説明するための図である。
【図８】撮像素子１１２の画像をハニカム状に区分した状態を示す図である。
【図９】多点測距処理を示すフローチャートである。
【図１０】脚車輪型ロボット１００の正面図である。
【図１１】脚車輪型ロボット１００の側面図である。
【図１２】障害物センサ３４、３６の構成を示す図である。
【図１３】脚車輪型ロボット１００の移動制御システムを示すブロック図である。
【図１４】昇降制御処理を示すフローチャートである。
【図１５】光切断法の原理を説明するための図である。
【図１６】階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
【図１７】（ａ）及び（ｂ）は、脚車輪型ロボット１００の車輪走行移動時の姿勢を示す図である。
【図１８】無変向走行制御時の脚車輪型ロボット１００の走行状態例を示す図である。
【図１９】ａ）及び（ｂ）は、基体１０の座標（０，０）及び座標（ｘｃ，ｙｃ）を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット１００の走行状態を示す図である。
【図２０】（ａ）及び（ｂ）は、脚車輪型ロボット１００の走行経路の一例を示す図である。
【図２１】ロボットの重心位置の一例を示す図である。
【図２２】レンズ焦点法を用いた多点測距センサの測定分解能を説明するための図である。
【図２３】Ｈが512、ｈが１０[mm]、Ｌが1000[mm]の場合に、焦点位置ｆの変化に対する画角θと分解能の変化を示すグラフである。
【符号の説明】
【０１９２】
１１０ａ                前段レンズ
１１０ｂ                後段レンズ
１１２                  撮像素子
１１４                  画像メモリ
１１６ａ、１１６ｂ      レンズ駆動アクチュエータ
１１８ａ、１１８ｂ      駆動回路
１２０ａ、１２０ｂ      レンズ位置センサ
１２２                  マイクロプロセッサ
１００                  脚車輪型ロボット
１０                    基体
１２                    脚部
１４〜１８              回転関節
２０                    駆動輪
２２、２４              脚先センサ
２６                    水平レーザ
２８、３０              垂直レーザ
３２                    カメラ
３４、３６              障害物センサ
４０、５０              モータ
４２、５２              エンコーダ
４４、５４              ドライバ
７０                    ３軸姿勢センサ
【図１】
2009008649.tif 000016
【図２】
2009008649.tif 000017
【図３】
2009008649.tif 000018
【図４】
2009008649.tif 000019
【図５】
2009008649.tif 000020
【図６】
2009008649.tif 000021
【図７】
2009008649.tif 000022
【図８】
2009008649.tif 000023
【図９】
2009008649.tif 000024
【図１０】
2009008649.tif 000025
【図１１】
2009008649.tif 000026
【図１２】
2009008649.tif 000027
【図１３】
2009008649.tif 000028
【図１４】
2009008649.tif 000029
【図１５】
2009008649.tif 000030
【図１６】
2009008649.tif 000031
【図１７】
2009008649.tif 000032
【図１８】
2009008649.tif 000033
【図１９】
2009008649.tif 000034
【図２０】
2009008649.tif 000035
【図２１】
2009008649.tif 000036
【図２２】
2009008649.tif 000037
【図２３】
2009008649.tif 000038