(57)【要約】【課題】  力センサの設置コストおよび力センサを用いた脚部の接地状況の把握に係る演算負荷を低減するのに好適であると共に、姿勢制御に好適で、かつ、測距センサを用いた２次元距離測定装置により物体認識を行う場合に認識精度を向上するのに好適な構成の脚型ロボットを提供する。【解決手段】  脚車輪型ロボット１００は、基体１０と、基体１０に対して自由度を有して連結された複数の脚部１２と、脚部１２の脚先に回転可能に設けられた駆動輪２０と、ハフ変換を用いて物体上の測定点までの距離を測定する測距センサ２１２ａとを備える。脚部１２のリンクのうち脚先に最も近いリンクは、一端に平坦面８１を有する上部リンク８０と、一端に平坦面８６を有する下部リンク８５とを備え、平坦面８１の４隅に力センサ８２をそれぞれ設置し、床反力の作用時に平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５の一端同士を連結した。【選択図】図４
2009096335.tif 000002
【特許請求の範囲】
【請求項１】
基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記物体認識装置の認識結果に基づき前記脚部を駆動して移動する脚型ロボットであって、
前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、
前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、
前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも２つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備えることを特徴とする脚型ロボット。
【請求項２】
基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記物体認識装置の認識結果に基づき前記脚部を駆動して移動する脚型ロボットであって、
前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、
前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、
前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備えることを特徴とする脚型ロボット。
【請求項３】
請求項１および２のいずれか１項において、
前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面の境界を認識することを特徴とする脚型ロボット。
【請求項４】
請求項１ないし３のいずれか１項において、
前記走査手段は、前記測距センサの測定方向とは異なる第１走査方向に前記測距センサを走査する第１走査手段と、前記測定方向および前記第１走査方向とは異なる第２走査方向に前記測距センサを走査する第２走査手段とからなり、前記測定結果取得手段は、前記第１走査手段および前記第２走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得することを特徴とする脚型ロボット。
【請求項５】
請求項４において、
前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面を認識することを特徴とする脚型ロボット。
【請求項６】
請求項４および５のいずれか１項において、
前記第１走査手段は、前記測定方向に対して所定角度をなす第１走査軸の回りに前記測距センサを回転させる第１回転手段であり、前記第２走査手段は、前記測定方向および前記第１走査軸に対して所定角度をなす第２走査軸の回りに前記測距センサを回転させる第２回転手段であり、前記測定結果取得手段は、前記第１回転手段により前記測距センサを回転させながら前記第１回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第１走査を、前記第２回転手段により前記測距センサを回転させながら前記第２回転手段の所定単位角度ごとに行う第２走査を行うことにより、前記第１回転手段の所定単位角度ごとおよび前記第２回転手段の所定単位角度ごとの前記測定結果を取得することを特徴とする脚型ロボット。
【請求項７】
基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記物体認識装置の認識結果に基づき前記脚部を駆動して移動する脚型ロボットであって、
前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、
前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、
前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴を検出する第１特徴検出手段と、前記走査手段の走査範囲で測定可能な前記測定点を含む画像を撮影する撮像手段と、前記撮像手段で撮影した画像に基づいて物体上の特徴を検出する第２特徴検出手段と、前記第１特徴検出手段および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する認識手段とを備えることを特徴とする脚型ロボット。
【請求項８】
請求項７において、
前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも２つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識することを特徴とする脚型ロボット。
【請求項９】
請求項７において、
前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識することを特徴とする脚型ロボット。
【請求項１０】
請求項７において、
前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された各測定点ごとに、当該測定点の座標およびその周辺の測定点の座標に基づいて前記直交座標系における当該測定点での傾きを算出する傾き算出手段と、前記傾き算出手段で算出した傾きの総数に対する各傾きの出現頻度を算出する出現頻度算出手段とを有し、前記認識手段は、前記出現頻度算出手段で算出した出現頻度および前記変換された各測定点の座標、並びに前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識することを特徴とする脚型ロボット。
【請求項１１】
請求項７ないし１０のいずれか１項において、
前記走査手段は、前記測距センサの測定方向とは異なる第１走査方向に前記測距センサを走査する第１走査手段と、前記測定方向および前記第１走査方向とは異なる第２走査方向に前記測距センサを走査する第２走査手段とからなり、前記測定結果取得手段は、前記第１走査手段および前記第２走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得することを特徴とする脚型ロボット。
【請求項１２】
請求項１１において、
前記第１走査手段は、前記測定方向に対して所定角度をなす第１走査軸の回りに前記測距センサを回転させる第１回転手段であり、前記第２走査手段は、前記測定方向および前記第１走査軸に対して所定角度をなす第２走査軸の回りに前記測距センサを回転させる第２回転手段であり、前記測定結果取得手段は、前記第１回転手段により前記測距センサを回転させながら前記第１回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第１走査を、前記第２回転手段により前記測距センサを回転させながら前記第２回転手段の所定単位角度ごとに行う第２走査を行うことにより、前記第１回転手段の所定単位角度ごとおよび前記第２回転手段の所定単位角度ごとの前記測定結果を取得することを特徴とする脚型ロボット。
【請求項１３】
請求項７ないし１０のいずれか１項において、
複数の前記測距センサおよび前記走査手段を備え、前記各走査手段は、当該走査手段に対応する前記測距センサを、前記測距センサの測定方向とは異なる第１走査方向に走査し、前記各測距センサは、前記測定方向および前記第１走査方向とは異なる第２走査方向に配置されていることを特徴とする脚型ロボット。
【請求項１４】
請求項７ないし１３のいずれか１項において、
前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴点を検出し、前記第２特徴検出手段は、前記撮像手段で撮影した画像から線分を検出する画像線分検出手段を有し、前記認識手段は、前記撮像手段を基準とする座標系において、前記画像線分検出手段で検出した線分と、前記第１特徴検出手段で検出した特徴点との位置関係に基づいて物体上の面または面の境界を認識することを特徴とする脚型ロボット。
【請求項１５】
請求項１４において、
前記認識手段は、前記画像線分検出手段で検出した各線分ごとに、当該線分と、当該線分を延長した直線から所定距離内に存在する前記特徴点とを対応付け、同一の前記特徴点が対応付けられた前記線分をグループ化し、同一グループに属する前記線分の端点の座標に基づいて物体上の面または面の境界を認識することを特徴とする脚型ロボット。
【請求項１６】
請求項１４および１５のいずれか１項において、
前記測距センサを基準とする直交座標系における所定の２軸からなる平面と、前記撮像手段を基準とする直交座標系における所定の２軸からなる平面とが平行となるように前記測距センサおよび前記撮像手段を配置したことを特徴とする脚型ロボット。
【請求項１７】
請求項１ないし１６のいずれか１項において、
前記第２リンクは、一端に平坦な面を有し、
前記第１リンクおよび前記第２リンクの一端同士を、前記力の作用時に互いの前記平坦面が面接触するように連結したことを特徴とする脚型ロボット。
【請求項１８】
請求項１ないし１７のいずれか１項において、
前記平坦面は、前記第１リンクの伸長方向に直交して形成されていることを特徴とする脚型ロボット。
【請求項１９】
請求項１ないし１８のいずれか１項において、
前記脚部は、関節を介して複数のリンクを連結してなり、
前記脚部のリンクのうち脚先に最も近いリンクを前記第１リンクおよび前記第２リンクにより構成したことを特徴とする脚型ロボット。
【請求項２０】
請求項１ないし１９のいずれか１項において、
前記平坦面の周縁に複数の前記力センサを設置したことを特徴とする脚型ロボット。
【請求項２１】
請求項１ないし１９のいずれか１項において、
前記力センサは、複数点の力を検出可能な検出エリアを有する分布型の力センサであり、
前記平坦面の全域にわたって前記力センサを設置したことを特徴とする脚型ロボット。
【請求項２２】
請求項１ないし２１のいずれか１項において、
前記第１リンクまたは前記第２リンクは、前記平坦面に対して所定角をなし、前記力が伝達される第２の平坦な面を有し、
前記第２平坦面に第２力センサを設置したことを特徴とする脚型ロボット。
【請求項２３】
請求項２２において、
前記第２平坦面は、前記平坦面に直交して形成されていることを特徴とする脚型ロボット。
【請求項２４】
請求項２２および２３のいずれか１項において、
前記力センサおよび前記第２力センサのセンサ信号に基づいて、前記力の方向および大きさを算出する算出手段を備えることを特徴とする脚型ロボット。
【請求項２５】
請求項１ないし２４のいずれか１項において、
前記第１リンクの側面には、前記第１リンクの先端から伸長方向に突出する把持部が設けられ、前記把持部は、前記第１リンクの径方向内側に突出する爪部を有し、
前記第２リンクの側面のうち、前記第２リンクの先端からの距離が、前記第１リンクの平坦面から前記爪部までの高さに相当する距離となる位置には、前記爪部を嵌合可能な嵌合穴が形成され、
前記爪部を前記嵌合穴に嵌合させて前記第１リンクおよび前記第２リンクを連結したことを特徴とする脚型ロボット。
【請求項２６】
請求項１ないし２５のいずれか１項において、
前記各脚部に回転可能に設けられた車輪と、前記各脚部を駆動するための動力を付与する第１アクチュエータと、前記各車輪を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、
前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータ及び前記第２アクチュエータを制御することを特徴とする脚型ロボット。
【請求項２７】
請求項１ないし２５のいずれか１項において、
前記各脚部に回転可能に設けられた車輪と、前記各脚部を駆動するための動力を付与する第１アクチュエータと、前記各車輪を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、
前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータ及び前記第２アクチュエータを制御することを特徴とする脚型ロボット。
【請求項２８】
請求項２７において、
前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータ及び前記第２アクチュエータを制御することを特徴とする脚型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力センサが設置された脚部と物体認識装置とを有する脚型ロボットに係り、特に、力センサの設置コストおよび力センサを用いた脚部の接地状況の把握に係る演算負荷を低減するのに好適であると共に、姿勢制御に好適で、かつ、測距センサを用いた２次元距離測定装置により物体認識を行う場合に認識精度を向上するのに好適な構成の脚型ロボットに関する。
【背景技術】
【０００２】
ロボットの移動機構は、車輪型、クローラ型、脚型またはこれらを組み合わせた機構に分類される。一般に、車輪型ロボットは、平地での移動性は高いが、段差への適応性が低いという問題がある。また、クローラ型ロボットは、不整地に適し、多少の段差であれば乗り越えられるが、積極的な重心移動ができないために急な階段への適応性が低く、平地における移動性が車輪型ロボットより低いという問題があった。また、脚型ロボットは、階段への適応性が最も優れているが、平地での移動性が極端に低いという問題がある。
【０００３】
階段等への適用性を考慮して、脚型ロボットおよび脚型と車輪型のハイブリッドタイプのロボットに関する研究開発例が多いが、その際、脚部の接地状況を把握するセンサが不可欠である。
脚型ロボットの接地検出としては、例えば、特許文献１〜３に記載の技術が知られている。
【０００４】
特許文献１に記載の技術は、足底部にマトリクス状に複数の力センサを設置し、各力センサのセンサ信号に基づいて、力の分布状態から床反力の中心点および大きさを算出するものである。
特許文献２に記載の技術は、足底部の４隅に力センサをそれぞれ設置し、各力センサのセンサ信号に基づいて、計算により床反力の中心点および大きさを算出するものである。
【０００５】
特許文献３に記載の技術は、足首部に６軸力センサを設置し、６軸力センサのセンサ信号に基づいて、足首部にかかる６軸力（３軸力＋３軸モーメント）から床反力の中心点および大きさを算出するものである。
また、従来、２次元距離測定装置としては、２次元レンジセンサ、レーザレンジファインダ、測域センサおよび平面センサ等があり、これら２次元距離測定装置を用いて物体認識を行う技術としては、非特許文献１に記載の技術が知られている。
【０００６】
非特許文献１には、２次元距離測定装置を水平方向および垂直方向の２方向に走査し、これにより得られる測定情報を用いて、マップの生成および自己位置の認識を行う技術が開示されている。この技術は、不整地を移動するクローラ型ロボットへの応用を想定したものであり、２次元距離測定装置の測定情報を用いて、人が入り込めない空間における自己位置を推定するとともにその周辺のマップ情報を生成するものである。
【特許文献１】特開平３−１８４７８１号公報
【特許文献２】特開２００４−３４５０２４号公報
【特許文献３】特開平１０−１７５１８０号公報
【非特許文献１】石田宏、永谷圭司、五福明夫「不整地移動ロボットのための３次元自己位置推定と環境地図の構築」、第２１回  日本ロボット学会学術講演会予稿集、112a、（２００３−０９）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１、２に記載の技術にあってはいずれも、脚部の接地面（足底部）に力センサを設置する十分な面積を必要とするため、床面に対して脚先を点接触させるような接地面積が極小の脚部を有する脚型ロボット、または脚型ロボットの脚先に車輪が設けられた構成の脚車輪型ロボットに対しては、脚部の接地面において力センサを設置するための十分な面積が確保できず、力センサの設置が困難であるという問題があった。
【０００８】
また、特許文献３に記載の技術にあっては、６軸センサを用いるため、コスト高となるばかりか、高い演算能力が必要となるという問題がある。
また、非特許文献１に記載の技術にあっては、複雑な姿勢制御を必要としないクローラ型ロボットへの応用を想定したものであるため、移動できる空間があるか否かを判定できれば十分であることから、大まかな位置や形状の情報を含むマップ情報を生成するにすぎない。これに対し、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットへの応用を考えた場合、姿勢制御を行うには、階段の形状等を把握するため、物体の形状に関する詳細な情報が必要であるところ、非特許文献１記載のマップ情報では不十分であるという問題があった。
【０００９】
一方、測距センサ（１次元距離測定装置）を用いた２次元距離測定装置により物体認識を行うことが考えられる。この２次元距離測定装置としては、例えば、物体上の測定点までの距離を測定する測距センサと、測距センサの測定方向に対して直交する走査軸の回りに測距センサを回転させる回転機構とを備え、回転機構により測距センサを回転させながら所定の走査単位角度ごとに測距センサの測定結果を取得する構成を採用することができる。
【００１０】
しかしながら、このような２次元距離測定装置にあっては、所定の走査単位角度ごとに物体までの距離を測定するという測定原理に基づくことから、測距センサの走査角度によって測定点間の密度（測定解像度）が異なる。このため、測定解像度が低い領域については認識精度が低下してしまう。
さらに、光学式の測距センサを採用した場合は、物体上の面のうち測定点となる箇所（以下、測定面という。）の反射率や光沢の影響を受けるため、反射率が低い領域や光沢がある領域については、平面を平面として測定できない場合がある。
【００１１】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、力センサの設置コストおよび力センサを用いた脚部の接地状況の把握に係る演算負荷を低減するのに好適であると共に、姿勢制御に好適で、かつ、測距センサを用いた２次元距離測定装置により物体認識を行う場合に認識精度を向上するのに好適な構成の脚型ロボットを提供することを目的としている。
【課題を解決するための手段】
【００１２】
〔発明１〕  上記目的を達成するために、発明１の脚型ロボットは、基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記物体認識装置の認識結果に基づき前記脚部を駆動して移動する脚型ロボットであって、前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、
前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも２つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備える。
【００１３】
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、第１リンクの平坦面を介して他方に伝達される。平坦面には、力センサが設置されているので、力センサにより、第１リンクおよび第２リンクの一方に作用する力に応じた検出結果が得られる。
ここで、第１リンクおよび第２リンクは、第１リンクまたは第２リンクの一部で構成された連結機構により連結してもよいし、第１リンクおよび第２リンク以外の部材で構成された連結機構により連結してもよいし、第１リンクおよび第２リンクの一端同士を接着することにより連結してもよい。以下、発明２および７の脚型ロボットにおいて同じである。
【００１４】
また、第１リンクおよび第２リンクは、第１リンクおよび第２リンクの一方に作用する力が平坦面を介して他方に伝達されるように連結されていればよく、例えば、第１リンクおよび第２リンクが接触するように連結してもよいし、第１リンクおよび第２リンクの間に間座を設けて連結してもよい。以下、発明２および７の脚型ロボットにおいて同じである。
【００１５】
また、第１リンクの平坦面は、任意の角度でよく、例えば、第１リンクの伸長方向に直交して形成されていてもよいし、第１リンクの伸長方向に直交する方向に対して所定の傾斜をもって形成されていてもよい。以下、発明２および７の脚型ロボットにおいて同じである。
また、脚部は、第１リンクおよび第２リンクを備えていればよく、脚部の一部または全部を第１リンクおよび第２リンクで構成することができる。例えば、脚部が、関節を介して複数のリンクを連結してなる場合は、いずれかのリンクを第１リンクおよび第２リンクで構成し、脚部が１つのリンクからなる場合は、脚部全体を第１リンクおよび第２リンクで構成することができる。以下、発明２および７の脚型ロボットにおいて同じである。
【００１６】
上記構成であれば、更に、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
次いで、線分検出手段により、変換された少なくとも２つの測定点の座標に基づいてハフ変換により直交座標系における線分が検出される。
【００１７】
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
【００１８】
また、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、ばらつきが生じた測定点およびその近傍領域（以下、誤差領域という。）について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
【００１９】
また、最小二乗法では、どこからどこまでの領域を１つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が１つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を１つの平坦な線分として検出することができる。
【００２０】
ハフ変換により線分が検出されると、認識手段により、検出された線分に基づいて物体上の面または面の境界が認識される。したがって、脚型ロボットや該脚型ロボットの脚部に車輪を付加した脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
ここで、走査手段は、測距センサを走査するものであればどのような構成であってもよく、例えば、測定点の軌跡が線をなすように測距センサを１次元に走査してもよいし、測定点の軌跡が面をなすように測距センサを２次元に走査してもよい。前者の場合は、物体の平面的な形状を、後者の場合は、物体の立体的な形状を把握することができる。以下、発明２および７の脚型ロボットにおいて同じである。
【００２１】
また、走査手段としては、例えば、次の構成を採用することができる。
（１）回転機構
前記測距センサの測定方向に対して所定角度をなす少なくとも１つの走査軸の回りに前記測距センサを回転させる回転手段からなる構成である。
（２）移動機構
前記測距センサの測定方向とは異なる少なくとも１つの走査方向に前記測距センサを移動させる移動手段からなる構成である。なお、移動手段は、前記走査方向に延長する経路を含む経路に沿って前記測距センサを移動させてもよい。以下、発明２および７の脚型ロボットにおいて同じである。
【００２２】
〔発明２〕  さらに、発明２の脚型ロボットは、基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記物体認識装置の認識結果に基づき前記脚部を駆動して移動する脚型ロボットであって、前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備える。
【００２３】
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、第１リンクの平坦面を介して他方に伝達される。平坦面には、力センサが設置されているので、力センサにより、第１リンクおよび第２リンクの一方に作用する力に応じた検出結果が得られる。
更に、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
【００２４】
次いで、測定点間補間手段により、変換された測定点間が線で補間され、線分検出手段により、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
【００２５】
また、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、誤差領域について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
【００２６】
また、最小二乗法では、どこからどこまでの領域を１つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が１つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を１つの平坦な線分として検出することができる。
【００２７】
ハフ変換により線分が検出されると、認識手段により、検出された線分に基づいて物体上の面または面の境界が認識される。したがって、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
ここで、補間には、測定点間を線で接続することのほか、測定点間を線で近似することが含まれ、必ずしも、測定点が線上に位置しなくてもよいし、隣接する測定点同士を対象としなくてもよい。以下、発明９の脚型ロボットにおいて同じである。
また、線には、直線、線分、多次曲線その他の曲線が含まれる。以下、発明９の脚型ロボットにおいて同じである。
【００２８】
〔発明３〕  さらに、発明３の脚型ロボットは、発明１および２のいずれか１の脚型ロボットにおいて、前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面の境界を認識する。
このような構成であれば、認識手段により、検出された線分の端点の座標に基づいて物体上の面の境界が認識される。
【００２９】
〔発明４〕  さらに、発明４の脚型ロボットは、発明１ないし３のいずれか１の脚型ロボットにおいて、前記走査手段は、前記測距センサの測定方向とは異なる第１走査方向に前記測距センサを走査する第１走査手段と、前記測定方向および前記第１走査方向とは異なる第２走査方向に前記測距センサを走査する第２走査手段とからなり、前記測定結果取得手段は、前記第１走査手段および前記第２走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する。
【００３０】
このような構成であれば、第１走査手段により、第１走査方向に測距センサが、第２走査手段により、第２走査方向に測距センサがそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第１走査手段および第２走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得される。
【００３１】
ここで、第１走査手段および第２走査手段としては、例えば、次の構成を採用することができる。
（１）回転機構
前記測距センサの測定方向に対して所定角度をなす第１走査軸の回りに前記測距センサを回転させる第１回転手段と、前記測定方向および前記第１走査軸に対して所定角度をなす第２走査軸の回りに前記測距センサを回転させる第２回転手段とからなる構成である。
（２）移動機構
前記測距センサの測定方向とは異なる第１走査方向に前記測距センサを移動させる第１移動手段と、前記測定方向および前記第１走査方向とは異なる第２走査方向に前記測距センサを移動させる第２移動手段とからなる構成である。なお、第１移動手段は、前記第１走査方向に延長する経路を含む第１経路に沿って前記測距センサを移動させてもよいし、第２移動手段は、前記第２走査方向に延長する経路を含む第２経路に沿って前記測距センサを移動させてもよい。以下、（３）、（４）においても同様である。
【００３２】
（３）回転機構と移動機構の組み合わせ
前記測距センサの測定方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段と、前記走査軸の軸方向とは異なる走査方向に前記測距センサを移動させる移動手段とからなる構成である。
（４）移動機構と回転機構の組み合わせ
前記測距センサの測定方向とは異なる走査方向に前記測距センサを移動させる移動手段と、前記走査方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段とからなる構成である。以下、発明１１の脚型ロボットにおいて同じである。
【００３３】
〔発明５〕  さらに、発明５の脚型ロボットは、発明４の脚型ロボットにおいて、前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面を認識する。
このような構成であれば、認識手段により、検出された線分の端点の座標に基づいて物体上の面が認識される。
【００３４】
〔発明６〕  さらに、発明６の脚型ロボットは、発明４および５のいずれか１の脚型ロボットにおいて、前記第１走査手段は、前記測定方向に対して所定角度をなす第１走査軸の回りに前記測距センサを回転させる第１回転手段であり、前記第２走査手段は、前記測定方向および前記第１走査軸に対して所定角度をなす第２走査軸の回りに前記測距センサを回転させる第２回転手段であり、前記測定結果取得手段は、前記第１回転手段により前記測距センサを回転させながら前記第１回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第１走査を、前記第２回転手段により前記測距センサを回転させながら前記第２回転手段の所定単位角度ごとに行う第２走査を行うことにより、前記第１回転手段の所定単位角度ごとおよび前記第２回転手段の所定単位角度ごとの前記測定結果を取得する。
【００３５】
このような構成であれば、第１回転手段により、第１走査軸の回りに測距センサが、第２回転手段により、第２走査軸の回りに測距センサがそれぞれ回転可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第２走査が行われることにより第１回転手段の所定単位角度ごとおよび第２回転手段の所定単位角度ごとの測定結果が取得される。第２走査では、第２回転手段により測距センサを回転させながら第２回転手段の所定単位角度ごとに第１走査が行われる。第１走査では、第１回転手段により測距センサを回転させながら第１回転手段の所定単位角度ごとに測定結果が取得される。
【００３６】
〔発明７〕  さらに、発明７の脚型ロボットは、基体と、前記基体に対して自由度を有して連結された複数の脚部と、測定範囲内に存在する物体上の面または面の境界を認識する物体認識装置とを備え、前記脚部を駆動して移動する脚型ロボットであって、前記各脚部は、一端に平坦な面を有する第１リンクと、第２リンクと、力センサとを備え、前記第１リンクの平坦面に前記力センサを設置し、前記第１リンクおよび前記第２リンクの一方に作用する力が前記平坦面を介して他方に伝達されるように前記第１リンクおよび前記第２リンクの一端同士を連結し、前記物体認識装置は、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴を検出する第１特徴検出手段と、前記走査手段の走査範囲で測定可能な前記測定点を含む画像を撮影する撮像手段と、前記撮像手段で撮影した画像に基づいて物体上の特徴を検出する第２特徴検出手段と、前記第１特徴検出手段および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する認識手段とを備える。
【００３７】
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、第１リンクの平坦面を介して他方に伝達される。平坦面には、力センサが設置されているので、力センサにより、第１リンクおよび第２リンクの一方に作用する力に応じた検出結果が得られる。
更に、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、第１特徴検出手段により、取得された測定結果に基づいて物体上の特徴が検出される。
【００３８】
また、撮像手段により、走査手段の走査範囲で測定可能な測定点を含む画像が撮影され、第２特徴検出手段により、撮影された画像に基づいて物体上の特徴が検出される。
そして、認識手段により、第１特徴検出手段および第２特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。
ここで、物体上の特徴としては、例えば、物体上の特徴を示す点、直線、線分、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴が含まれる。
【００３９】
〔発明８〕  さらに、発明８の脚型ロボットは、発明７の脚型ロボットにおいて、前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも２つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
【００４０】
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
そして、線分検出手段により、変換された少なくとも２つの測定点の座標に基づいてハフ変換により直交座標系における線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
【００４１】
しかしながら、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
また、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、誤差領域について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
【００４２】
また、最小二乗法では、どこからどこまでの領域を１つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が１つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を１つの平坦な線分として検出することができる。
【００４３】
ハフ変換により線分が検出されると、認識手段により、検出された線分および第２特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、非特許文献１の技術が、複雑な姿勢制御を必要としないクローラ型ロボットの移動制御のための簡易なマップ情報しか生成できないのに対して、本発明は、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
【００４４】
〔発明９〕  さらに、発明９の脚型ロボットは、発明７の脚型ロボットにおいて、前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
【００４５】
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換され、測定点間補間手段により、変換された測定点間が線で補間される。
そして、線分検出手段により、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分が検出される。なお、最小二乗法に対しては上記同様の優位点がある。
【００４６】
ハフ変換により線分が検出されると、認識手段により、検出された線分および第２特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、上記同様に、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
【００４７】
〔発明１０〕  さらに、発明１０の脚型ロボットは、発明７の脚型ロボットにおいて、前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された各測定点ごとに、当該測定点の座標およびその周辺の測定点の座標に基づいて前記直交座標系における当該測定点での傾きを算出する傾き算出手段と、前記傾き算出手段で算出した傾きの総数に対する各傾きの出現頻度を算出する出現頻度算出手段とを有し、前記認識手段は、前記出現頻度算出手段で算出した出現頻度および前記変換された各測定点の座標、並びに前記第２特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
【００４８】
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換され、傾き算出手段により、変換された各測定点ごとに、その測定点の座標およびその周辺の測定点の座標に基づいて直交座標系におけるその測定点での傾きが算出され、出現頻度算出手段により、算出された傾きの総数に対する各傾きの出現頻度が算出される。
【００４９】
各傾きの出現頻度が算出されると、認識手段により、算出された出現頻度および変換された各測定点の座標、並びに第２特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、上記同様に、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
【００５０】
ここで、傾き算出手段は、例えば、複数の測定点に対する回帰直線を公知の最小二乗法で近似し、回帰直線から傾きを算出したり、直交座標系において、一の軸方向に連続する複数の測定点のうち両端２つの測定点の座標の差分値と、他の軸方向に連続する複数の測定点のうち両端２つの測定点の座標の差分値とを用いて傾きを算出したりすることができる。
【００５１】
〔発明１１〕  さらに、発明１１の脚型ロボットは、発明７ないし１０のいずれか１の脚型ロボットにおいて、前記走査手段は、前記測距センサの測定方向とは異なる第１走査方向に前記測距センサを走査する第１走査手段と、前記測定方向および前記第１走査方向とは異なる第２走査方向に前記測距センサを走査する第２走査手段とからなり、前記測定結果取得手段は、前記第１走査手段および前記第２走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する。
【００５２】
このような構成であれば、第１走査手段により、第１走査方向に測距センサが、第２走査手段により、第２走査方向に測距センサがそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第１走査手段および第２走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得される。
【００５３】
〔発明１２〕  さらに、発明１２の脚型ロボットは、発明１１の脚型ロボットにおいて、前記第１走査手段は、前記測定方向に対して所定角度をなす第１走査軸の回りに前記測距センサを回転させる第１回転手段であり、前記第２走査手段は、前記測定方向および前記第１走査軸に対して所定角度をなす第２走査軸の回りに前記測距センサを回転させる第２回転手段であり、前記測定結果取得手段は、前記第１回転手段により前記測距センサを回転させながら前記第１回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第１走査を、前記第２回転手段により前記測距センサを回転させながら前記第２回転手段の所定単位角度ごとに行う第２走査を行うことにより、前記第１回転手段の所定単位角度ごとおよび前記第２回転手段の所定単位角度ごとの前記測定結果を取得する。
【００５４】
このような構成であれば、第１回転手段により、第１走査軸の回りに測距センサが、第２回転手段により、第２走査軸の回りに測距センサがそれぞれ回転可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第２走査が行われることにより第１回転手段の所定単位角度ごとおよび第２回転手段の所定単位角度ごとの測定結果が取得される。第２走査では、第２回転手段により測距センサを回転させながら第２回転手段の所定単位角度ごとに第１走査が行われる。第１走査では、第１回転手段により測距センサを回転させながら第１回転手段の所定単位角度ごとに測定結果が取得される。
【００５５】
〔発明１３〕  さらに、発明１３の脚型ロボットは、発明７ないし１０のいずれか１の脚型ロボットにおいて、複数の前記測距センサおよび前記走査手段を備え、前記各走査手段は、当該走査手段に対応する前記測距センサを、前記測距センサの測定方向とは異なる第１走査方向に走査し、前記各測距センサは、前記測定方向および前記第１走査方向とは異なる第２走査方向に配置されている。
【００５６】
このような構成であれば、各走査手段により、第２走査方向に配置された各測距センサが第１走査方向にそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について各測距センサの測定結果が取得される。
【００５７】
〔発明１４〕  さらに、発明１４の脚型ロボットは、発明７ないし１３のいずれか１の脚型ロボットにおいて、前記第１特徴検出手段は、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴点を検出し、前記第２特徴検出手段は、前記撮像手段で撮影した画像から線分を検出する画像線分検出手段を有し、前記認識手段は、前記撮像手段を基準とする座標系において、前記画像線分検出手段で検出した線分と、前記第１特徴検出手段で検出した特徴点との位置関係に基づいて物体上の面または面の境界を認識する。
【００５８】
このような構成であれば、第１特徴検出手段により、取得された測定結果に基づいて物体上の特徴点が検出され、画像線分検出手段により、撮影された画像から線分が検出される。
そして、認識手段により、撮像手段を基準とする座標系において、検出された線分と、検出された特徴点との位置関係に基づいて物体上の面または面の境界が認識される。
【００５９】
〔発明１５〕  さらに、発明１５の脚型ロボットは、発明１４の脚型ロボットにおいて、前記認識手段は、前記画像線分検出手段で検出した各線分ごとに、当該線分と、当該線分を延長した直線から所定距離内に存在する前記特徴点とを対応付け、同一の前記特徴点が対応付けられた前記線分をグループ化し、同一グループに属する前記線分の端点の座標に基づいて物体上の面または面の境界を認識する。
【００６０】
このような構成であれば、認識手段により、検出された各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在する特徴点とが対応付けられ、同一の特徴点が対応付けられた線分がグループ化され、同一グループに属する線分の端点の座標に基づいて物体上の面または面の境界が認識される。
【００６１】
〔発明１６〕  さらに、発明１６の脚型ロボットは、発明１４および１５のいずれか１の脚型ロボットにおいて、前記測距センサを基準とする直交座標系における所定の２軸からなる平面と、前記撮像手段を基準とする直交座標系における所定の２軸からなる平面とが平行となるように前記測距センサおよび前記撮像手段を配置した。
【００６２】
〔発明１７〕  さらに、発明１７の脚型ロボットは、発明１ないし１６のいずれか１の脚型ロボットにおいて、前記第２リンクは、一端に平坦な面を有し、前記第１リンクおよび前記第２リンクの一端同士を、前記力の作用時に互いの前記平坦面が面接触するように連結した。
このような構成であれば、第１リンクおよび第２リンクの一方に力が作用すると、互いの平坦面が面接触して他方に伝達される。
ここで、第２リンクの平坦面は、任意の角度でよく、例えば、第２リンクの伸長方向に直交して形成されていてもよいし、第２リンクの伸長方向に直交する方向に対して所定の傾斜をもって形成されていてもよい。第１の平坦面との関係も同様に任意である。
【００６３】
〔発明１８〕  さらに、発明１８の脚型ロボットは、発明１ないし１７のいずれか１の脚型ロボットにおいて、前記平坦面は、前記第１リンクの伸長方向に直交して形成されている。
このような構成であれば、第１リンクの平坦面が伸長方向と直交しているので、第１リンクの伸長方向に力が作用すると、その力が力センサに対して垂直に伝達される。したがって、第１リンクの伸長方向に作用する力を精度よく検出することができる。
【００６４】
〔発明１９〕  さらに、発明１９の脚型ロボットは、発明１ないし１８のいずれか１の脚型ロボットにおいて、前記脚部は、関節を介して複数のリンクを連結してなり、前記脚部のリンクのうち脚先に最も近いリンクを前記第１リンクおよび前記第２リンクにより構成した。
このような構成であれば、脚先に最も近いリンクが第１リンクおよび第２リンクにより構成されているので、床反力を精度よく検出することができる。
【００６５】
〔発明２０〕  さらに、発明２０の脚型ロボットは、発明１ないし１９のいずれか１の脚型ロボットにおいて、前記平坦面の周縁に複数の前記力センサを設置した。
このような構成であれば、複数の力センサにより検出を行うので、平坦面における力の分布状態を把握することができる。そして、力の分布状態から、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができる。
【００６６】
〔発明２１〕  さらに、発明２１の脚型ロボットは、発明１ないし１９のいずれか１の脚型ロボットにおいて、前記力センサは、複数点の力を検出可能な検出エリアを有する分布型の力センサであり、前記平坦面の全域にわたって前記力センサを設置した。
このような構成であれば、分布型の力センサにより検出を行うので、平坦面における力の分布状態を把握することができる。そして、力の分布状態から、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができる。
【００６７】
〔発明２２〕  さらに、発明２２の脚型ロボットは、発明１ないし２１のいずれか１の脚型ロボットにおいて、前記第１リンクまたは前記第２リンクは、前記平坦面に対して所定角をなし、前記力が伝達される第２の平坦な面を有し、前記第２平坦面に第２力センサを設置した。
このような構成であれば、平坦面に対して第２平坦面が所定角をなしているので、力センサおよび第２力センサにより、ベクトルの異なる力を検出することができる。したがって、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを求めることができる。
【００６８】
〔発明２３〕  さらに、発明２３の脚型ロボットは、発明２２の脚型ロボットにおいて、前記第２平坦面は、前記平坦面に直交して形成されている。
このような構成であれば、平坦面に対して第２平坦面が直交しているので、力センサおよび第２力センサにより、ベクトルが９０°異なる力を検出することができる。したがって、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを比較的簡単な演算で求めることができる。
【００６９】
〔発明２４〕  さらに、発明２４の脚型ロボットは、発明２２および２３のいずれか１の脚型ロボットにおいて、前記力センサおよび前記第２力センサのセンサ信号に基づいて、前記力の方向および大きさを算出する算出手段を備える。
このような構成であれば、算出手段により、力センサおよび第２力センサのセンサ信号に基づいて、第１リンクおよび第２リンクの一方に作用する力の方向および大きさが算出される。
【００７０】
〔発明２５〕  さらに、発明２５の脚型ロボットは、発明１ないし２４のいずれか１の脚型ロボットにおいて、前記第１リンクの側面には、前記第１リンクの先端から伸長方向に突出する把持部が設けられ、前記把持部は、前記第１リンクの径方向内側に突出する爪部を有し、前記第２リンクの側面のうち、前記第２リンクの先端からの距離が、前記第１リンクの平坦面から前記爪部までの高さに相当する距離となる位置には、前記爪部を嵌合可能な嵌合穴が形成され、前記爪部を前記嵌合穴に嵌合させて前記第１リンクおよび前記第２リンクを連結した。
【００７１】
〔発明２６〕  さらに、発明２６の脚型ロボットは、発明１ないし２５のいずれか１の脚型ロボットにおいて、前記各脚部に回転可能に設けられた車輪と、前記各脚部を駆動するための動力を付与する第１アクチュエータと、前記各車輪を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータ及び前記第２アクチュエータを制御する。
【００７２】
このような構成であれば、脚車輪型ロボットの移動時において、その基体の向きを一定方向に保ちながら、脚車輪型ロボットの進行方向と各車輪の進行方向とが一致するように第１アクチュエータおよび第２アクチュエータが制御される。
【００７３】
〔発明２７〕  さらに、発明２７の脚型ロボットは、発明１ないし２５のいずれか１の脚型ロボットにおいて、前記各脚部に回転可能に設けられた車輪と、前記各脚部を駆動するための動力を付与する第１アクチュエータと、前記各車輪を駆動するための動力を付与する第２アクチュエータと、前記第１アクチュエータおよび前記第２アクチュエータを制御する制御手段とを備え、前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータ及び前記第２アクチュエータを制御する。
【００７４】
このような構成であれば、旋回時は、制御手段により、基体を所定の回転中心位置でヨー軸（垂直軸）周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点位置における該回転中心の運動方向と、各車輪の進行方向とが一致するように、第１アクチュエータおよび第２アクチュエータが制御される。
【００７５】
〔発明２８〕  さらに、発明２８の脚型ロボットは、発明２７の脚型ロボットにおいて、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第１アクチュエータおよび前記第２アクチュエータを制御する。
【００７６】
このような構成であれば、脚型ロボットの移動時において、その基体の向きを一定方向に保ちながら、脚型ロボットの進行方向と各車輪の進行方向とが一致するように第１アクチュエータおよび第２アクチュエータが制御される。
【発明の効果】
【００７７】
以上説明したように、発明１〜１６、１７、２３または２４の脚型ロボットによれば、第１リンクまたは第２リンクの先端ではなく連結部に力センサが設置されているので、接地面積が小さい脚部を有する脚型ロボットであっても力センサを設置することができるという効果が得られる。また、６軸センサではなく力センサを用いるので、従来に比して、コストおよび演算負荷を低減することができるという効果が得られる。
【００７８】
さらに、発明１、２、８または９の脚型ロボットによれば、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができるという効果も得られる。また、ハフ変換により線分を検出するので、測距センサを用いた２次元距離測定装置により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができるという効果も得られる。
【００７９】
さらに、発明２または９の脚型ロボットによれば、測定点間を線で補間して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができるという効果も得られる。
さらに、発明３の脚型ロボットによれば、物体上の面の境界を比較的正確に認識することができるという効果が得られる。
【００８０】
さらに、発明４の脚型ロボットによれば、物体上の面または面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができるという効果が得られる。
さらに、発明５の脚型ロボットによれば、物体上の面を比較的正確に認識することができるという効果が得られる。
【００８１】
さらに、発明６の脚型ロボットによれば、測距センサを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができるという効果が得られる。
さらに、発明７の脚型ロボットによれば、測距センサのほか、これとは異なる方式の撮像手段を用いて物体上の特徴をそれぞれ検出し、それら２つの検出結果に基づいて物体上の面または面の境界を認識するので、測距センサによる方式の短所を撮像手段による方式で補うことができ、測距センサを用いた２次元距離測定装置により物体認識を行う場合に、認識精度が低下する可能性を低減することができるという効果が得られる。また、走査手段の走査回数を増やさなくてすむので、測定時間を短縮することができるという効果も得られる。
【００８２】
さらに、発明１０の脚型ロボットによれば、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができるという効果が得られる。また、測定点での傾きの出現頻度および各測定点の座標に基づいて物体上の面または面の境界を認識するので、測距センサを用いた２次元距離測定装置により物体認識を行う場合に、認識精度が低下する可能性をさらに低減することができるという効果も得られる。
【００８３】
さらに、発明１１または１３の脚型ロボットによれば、物体上の面または面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができるという効果が得られる。
さらに、発明１２の脚型ロボットによれば、測距センサを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができるという効果が得られる。
【００８４】
さらに、発明１４の脚型ロボットによれば、画像から検出された線分と、測距センサの測定結果から検出された特徴点との位置関係に基づいて物体上の面または面の境界を認識するので、認識精度が低下する可能性をさらに低減することができるという効果が得られる。
さらに、発明１５の脚型ロボットによれば、コントラスト等の影響により、撮影された画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、測距センサの測定結果から検出された特徴点との対応関係に基づいて複数の線分を１つの線分としてグループ化し、物体上の面または面の境界を認識するので、認識精度が低下する可能性をさらに低減することができるという効果が得られる。
【００８５】
さらに、発明１７の脚型ロボットによれば、第１リンクの伸長方向に作用する力を精度よく検出することができるという効果が得られる。
さらに、発明１９の脚型ロボットによれば、床反力を精度よく検出することができるという効果が得られる。
さらに、発明２０または２１の脚型ロボットによれば、第１リンクおよび第２リンクの一方に作用する力の中心点および大きさを求めることができるという効果が得られる。
【００８６】
さらに、発明２２の脚型ロボットによれば、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを求めることができるという効果が得られる。
さらに、発明２３の脚型ロボットによれば、第１リンクおよび第２リンクの一方に作用する力の方向および大きさを比較的簡単な演算で求めることができるという効果が得られる。
【００８７】
さらに、発明２６、２８の脚型ロボットによれば、脚型ロボットを、その向きとは関係なく自由な方向へと移動させることができるので、各方向への素早い移動を実現できると共に、例えば、脚型ロボットの各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚型ロボットの向きを変更することが困難なエリアにおいても活動が可能となるという効果が得られる。
【００８８】
さらに、発明２７の脚型ロボットによれば、旋回時に、脚型ロボットの基体を所定の回転中心位置でヨー軸周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点における該回転中心の運動方向と、各車輪の進行方向とを一致させることができるので、脚型ロボットを、所定の旋回中心位置で前後移動させずに旋回（クローラなどによる超信地旋回と同等の旋回）をさせることができるという効果が得られる。また、基体の中心位置を、自転させる時の回転中心位置とすることで、最小の旋回半径で脚型ロボットを旋回させることが可能である。
【発明を実施するための最良の形態】
【００８９】
〔第１の実施の形態〕
以下、本発明の実施の形態を図面を参照しながら説明する。図１ないし図８並びに図１３ないし図１５は、本発明に係る脚型ロボットの第１の実施の形態を示す図である。
まず、本発明を適用する脚車輪型ロボット１００の構成を説明する。
図１は、脚車輪型ロボット１００の正面図である。
【００９０】
図２は、脚車輪型ロボット１００の側面図である。
脚車輪型ロボット１００は、図１および図２に示すように、基体１０と、基体１０に連結された４つの脚部１２とを有して構成されている。
基体１０の前方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。また、基体１０の後方には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。
【００９１】
回転関節１４は、脚車輪型ロボット１００の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部１２には、２つの回転関節１６、１８が設けられている。回転関節１６、１８は、回転関節１４が図１のような状態であるときは、脚車輪型ロボット１００の側面と直交する方向を軸方向として回転する。したがって、脚部１２は、それぞれ３自由度を有する。
【００９２】
各脚部１２の先端には、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転可能に設けられている。駆動輪２０は、回転関節１４の回転によりヨー軸周りに回動する。つまり、回転関節１４の回転を制御することで、走行移動時の操舵制御が行われる。
一方、基体１０の正面の上部中央には、水平面レーザ光を照射する水平レーザ２６が設けられている。また、基体１０の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ２８、３０がそれぞれ設けられている。
【００９３】
基体１０の正面の下部中央には、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影するカメラ３２が設けられている。
水平レーザ２６は、カメラ３２で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ２８は、カメラ３２で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ３０は、左方に所定角度傾けて設けられている。
【００９４】
カメラ３２の左右には、障害物を検出する障害物センサ３４、３６がそれぞれ設けられている。
図３は、障害物センサ３４、３６の構成を示す図である。
障害物センサ３４、３６は、図３（ａ）に示すように、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、図３（ｂ）に示すように、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット１００の移動経路上に存在する物体を大まかに検出することができる。
【００９５】
次に、脚部１２の構成を詳細に説明する。
図４は、脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの断面図である。
図５は、脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの側面図である。
【００９６】
脚部１２のうち回転関節１８および駆動輪２０が連結するリンクは、図４および図５に示すように、回転関節１８が連結する上部リンク８０と、駆動輪２０が連結する下部リンク８５とを有して構成されている。
上部リンク８０の一端には、上部リンク８０の伸長方向に直交する矩形状の平坦面８１が形成されている。平坦面８１の４隅には、力センサ８２がそれぞれ設置されている。
【００９７】
上部リンク８０の両側面には、上部リンク８０の先端から伸長方向に突出する把持部８３がそれぞれ設けられ、把持部８３の先端には、上部リンク８０の径方向内側に突出する爪部８３ａが設けられている。爪部８３ａの上面には、衝撃吸収部材であるゴム８４が設けられている。
下部リンク８５の一端には、下部リンク８５の伸長方向に直交する矩形状の平坦面８６が形成されている。平坦面８６は、平坦面８１に面接触するため平坦面８１と同形状となっている。
【００９８】
下部リンク８５の両側面には、嵌合穴８７がそれぞれ形成されている。ここで、下部リンク８５の先端から嵌合穴８７の上端までの高さは、平坦面８１から爪部８３ａの上面までの高さよりも若干（所定長）小さく、嵌合穴８７の内径は、爪部８３ａの高さよりも若干（所定長）大きくなっている。
上部リンク８０および下部リンク８５は、爪部８３ａを嵌合穴８７に嵌合させて連結されている。このとき、嵌合穴８７の内径に所定の遊びが存在するため、上部リンク８０および下部リンク８５が伸長方向に若干相対変位可能となる。そのため、駆動輪２０が接地していないときは、平坦面８１、８６が接触せず、力センサ８２には力が伝達されない。これに対し、駆動輪２０が接地しているときは、平坦面８１、８６が面接触し、力センサ８２に床反力が伝達される。また、検出の精度をより高めるには、力センサ８２に所定の予圧をかけ常に面接触させて使用するのが好ましい。
【００９９】
上部リンク８０には、上部リンク８０の伸長方向と軸方向を一致させて車輪モータ５０が取り付けられている。車輪モータ５０の回転軸５０ａは、平坦面８１から突出し、下部リンク８５の内部に設けられた駆動傘歯車９０ａに連結している。
駆動傘歯車９０ａの下方には、回転軸８９が、下部リンク８５の側面に設けられた軸受８８により回転可能に支持されている。回転軸８９には、駆動傘歯車９０ａと噛み合う従動傘歯車９０ｂおよび駆動プーリ９１が連結している。
【０１００】
駆動プーリ９１の下方には、アイドルプーリ９２が回転可能に支持されている。
アイドルプーリ９２の下方には、回転軸９４が、下部リンク８５の側面に設けられた軸受９３により回転可能に支持されている。回転軸９４には、従動プーリ９５および駆動輪２０が連結している。
駆動プーリ９１、アイドルプーリ９２および従動プーリ９５には、駆動ベルト９６が巻き掛けられている。なお、図２の例では、アイドルプーリ９２に対して、駆動ベルト９６の内側からテンション調整をしているが、外側からテンション調整してもよい。
【０１０１】
駆動輪２０は、車輪モータ５０により駆動傘歯車９０ａを回転し、駆動傘歯車９０ａに噛み合った従動傘歯車９０ｂを介して駆動プーリ９１が回転し、駆動プーリ９１に巻き掛けた駆動ベルト９６により従動プーリ９５が回転することにより、駆動される。
なお、他の脚部１２についても同様に構成されている。
次に、脚車輪型ロボット１００の移動制御システムを説明する。
【０１０２】
図６は、脚車輪型ロボット１００の移動制御システムを示すブロック図である。
各脚部１２の回転関節１４〜１８には、図６に示すように、回転関節１４〜１８を回転駆動する関節モータ４０がそれぞれ設けられている。各関節モータ４０には、関節モータ４０の回転角度位置を検出するエンコーダ４２と、モータ指令信号およびエンコーダ４２の出力信号に基づいて関節モータ４０の駆動を制御するドライバ４４が設けられている。
【０１０３】
各脚部１２の駆動輪２０には、駆動輪２０を回転駆動する車輪モータ５０がそれぞれ設けられている。各車輪モータ５０には、車輪モータ５０の回転角度位置を検出するエンコーダ５２と、モータ指令信号およびエンコーダ５２の出力信号に基づいて車輪モータ５０の駆動を制御するドライバ５４が設けられている。
脚車輪型ロボット１００は、さらに、ＣＰＵ６０と、力センサ用プロセッサ６６と、脚車輪型ロボット１００の姿勢を検出する３軸姿勢センサ７０と、カメラ３２の画像信号を処理するビジョンプロセッサ７２と、外部のＰＣ等と無線通信を行う無線通信部７４と、ビジョンプロセッサ７２および無線通信部７４とＣＰＵ６０の入出力を中継するハブ７６と、警告音等を出力するスピーカ７８とを有して構成されている。
【０１０４】
３軸姿勢センサ７０は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット１００の姿勢の傾きを検出する。
ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介してドライバ４４、５４にモータ指令信号を出力し、角度取込Ｉ／Ｆ６２を介してエンコーダ４２、５２の出力信号を入力する。また、センサ入力Ｉ／Ｆ６３を介して、力センサ用プロセッサ６６から床反力解析データを、障害物センサ３４および３軸姿勢センサ７０からセンサ信号をそれぞれ入力する。また、通信Ｉ／Ｆ６４を介してハブ７６と信号の入出力を行い、サウンド出力Ｉ／Ｆ６５を介してスピーカ７８に音声信号を出力する。
【０１０５】
力センサ用プロセッサ６６は、各脚部１２に４つずつ設けられた力センサ８２からセンサ信号を入力し、入力したセンサ信号に基づいて、各脚部１２ごとに、脚部１２が接地している支持脚であるか、脚部１２が接地していない遊脚であるかを判定する。また、入力したセンサ信号に基づいて、各脚部１２ごとに床反力の中心点および大きさを算出する。そして、判定結果および算出結果を床反力解析データとして出力する。
【０１０６】
図７は、平坦面８１の平面図である。
図７に示すように、力センサ８２の横方向の間隔をＷとし、縦方向の間隔をＨとし、右上、左上、右下および左下の力センサ８２で検出した床反力をそれぞれＦA、ＦB、ＦCおよびＦDとする。床反力の中心点（ｘc、ｙc）は、モーメントが０となる点であるので、下式（1）、（2）により算出することができる。
【０１０７】
【数１】
2009096335.tif 000003
【０１０８】
ただし、Ｆt＝ＦA＋ＦB＋ＦC＋ＦDである。
床反力の大きさは、ＦA、ＦB、ＦCおよびＦDを加算することにより算出することができる。
【０１０９】
次に、ＣＰＵ６０で実行される処理を説明する。
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図１３のフローチャートに示す昇降制御処理を実行する。
図１３は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部１２の昇降制御を行う処理であって、ＣＰＵ６０において実行されると、まず、図１３に示すように、ステップＳ１００に移行する。
【０１１０】
ステップＳ１００では、ビジョンプロセッサ７２から画像を取り込み、ステップＳ１０２に移行する。
ステップＳ１０２では、取り込んだ画像に基づいて光切断法により階段の特徴点を抽出する。
図１４は、光切断法の原理を説明するための図である。
【０１１１】
光切断法は、三角測量の原理により計測対象上の座標を求める計測法である。図１４に計測座標系を示す。
計測対象上の座標Ｐ（x0、y0、z0）は、カメラ３２の撮像素子上の任意の座標をＰs（xi、yi、zi）とすると、下式（3）により求められる。
【０１１２】
【数２】
2009096335.tif 000004
【０１１３】
次に、得られた三次元座標から、レーザ光の反射光の不連続点または屈曲点を階段の特徴点として抽出する。
図１５は、階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
【０１１４】
脚車輪型ロボット１００の移動経路上に階段が存在すると、図１５（ａ）左側に示すように、水平レーザ２６から照射された水平面レーザ光が階段の蹴込板および床面で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１５（ａ）右側に示すように、蹴込板での反射光エッジおよび床面での反射光エッジを抽出することができる。そして、そのエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの不連続点に対応する実座標を算出することができる。
【０１１５】
また、図１５（ｂ）左側に示すように、垂直レーザ２８から照射された垂直面レーザ光が階段の蹴込板および踏板で反射し、カメラ３２により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図１５（ｂ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。また、垂直レーザ３０についても同様であり、図１５（ｃ）右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。そして、それらエッジ画像および上式により得られた三次元座標に基づいて、反射光エッジの屈曲点に対する実座標を算出することができる。
【０１１６】
図１３に戻り、次いで、ステップＳ１０４に移行して、抽出した特徴点に基づいて階段の幅を算出し、ステップＳ１０６に移行して、抽出した特徴点に基づいて階段の段鼻部の実座標を算出し、ステップＳ１０８に移行する。
ステップＳ１０８では、算出した階段の幅および段鼻部の実座標、並びに３軸姿勢センサ７０のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップＳ１１０に移行して、ステップＳ１０８の計算結果に基づいて脚先（駆動輪２０）の着地位置を決定し、ステップＳ１１２に移行する。
【０１１７】
ステップＳ１１２では、決定した着地位置に基づいてドライバ４４、５４へのモータ指令信号を生成し、ステップＳ１１４に移行して、生成したモータ指令信号をドライバ４４、５４に出力し、ステップＳ１１６に移行する。
ステップＳ１１６では、力センサ用プロセッサ６６からの床反力解析データに基づいて、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【０１１８】
一方、ステップＳ１１６で、脚先が着地しないと判定したとき(No)は、ステップＳ１１２に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在すると、水平レーザ２６から照射された水平面レーザ光、および垂直レーザ２８、３０から照射された垂直面レーザ光がそれぞれ階段で反射し、カメラ３２により、それら反射光を含む画像が撮影される。次いで、ステップＳ１００、Ｓ１０２を経て、カメラ３２で撮影された画像が取り込まれ、取り込まれた画像から階段の特徴点が抽出される。次いで、ステップＳ１０４〜Ｓ１１０を経て、抽出された特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。そして、ステップＳ１１２、Ｓ１１４を経て、決定された着地位置に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ４４、５４に出力される。これにより、駆動輪２０が回転するとともに回転関節１４〜１８が駆動し、脚車輪型ロボット１００が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
【０１１９】
図８は、接地前後の状態を示す脚部１２の断面図である。
脚部１２が段鼻部に接地していない場合は、図８左側に示すように、下部リンク８５が自重で下がるため、平坦面８１、８６が接触せず、力センサ８２には力が伝達されない。そのため、各力センサ８２により、力が作用しないときのセンサ信号が出力され、力センサ用プロセッサ６６により、センサ信号に基づいて脚部１２が遊脚であると判定される。この判定結果は、床反力解析データとしてＣＰＵ６０に出力される。
【０１２０】
これに対し、脚部１２が段鼻部に接地している場合は、図８右側に示すように、下部リンク８５に床反力が作用するため、平坦面８１、８６が面接触し、力センサ８２に床反力が伝達される。そのため、各力センサ８２により、床反力に応じたセンサ信号が出力され、力センサ用プロセッサ６６により、センサ信号に基づいて脚部１２が支持脚であると判定される。また、センサ信号に基づいて床反力の中心点および大きさが算出される。この判定結果および算出結果は、床反力解析データとしてＣＰＵ６０に出力される。
【０１２１】
したがって、ＣＰＵ６０では、力センサ用プロセッサ６６からの床反力解析データに基づいて、各脚部１２ごとに支持脚か遊脚かを把握することができ、支持脚である脚部１２については、床反力の中心点および大きさを把握することができる。
以上の例では、遊脚時、力センサ８２の値が「０」であるが、より高精度に検出を行うためには、着地前後の非線形を避けるため、あらかじめ平坦面８１、８６に所定の予圧をかけておく。
【０１２２】
一方、平地では、車輪走行で移動することができる。したがって、車輪型と同様に平地での移動性が高い。
このようにして、本実施の形態では、一端に平坦面８１を有する上部リンク８０と、一端に平坦面８６を有する下部リンク８５と、力センサ８２とを備え、平坦面８１に力センサ８２を設置し、床反力の作用時に平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５の一端同士を連結した。
【０１２３】
これにより、脚先でなく上部リンク８０および下部リンク８５の連結部に力センサ８２が設置されているので、接地面積が小さい脚部１２を有する脚車輪型ロボット１００であっても力センサ８２を設置することができる。また、６軸センサではなく力センサ８２を用いるので、従来に比して、コストおよび演算負荷を低減することができる。
さらに、本実施の形態では、平坦面８１は、上部リンク８０の伸長方向に直交して形成されている。
【０１２４】
これにより、上部リンク８０の伸長方向に作用する床反力を精度よく検出することができる。
さらに、本実施の形態では、脚部１２のリンクのうち脚先に最も近いリンクを上部リンク８０および下部リンク８５により構成した。
これにより、床反力を精度よく検出することができる。
【０１２５】
さらに、本実施の形態では、平坦面８１の４隅に力センサ８２をそれぞれ設置し、各力センサ８２のセンサ信号に基づいて床反力の中心点および大きさを算出する。
これにより、床反力の中心点および大きさを求めることができる。
さらに、本実施の形態では、レーザ２６〜３０およびカメラ３２からなる画像センサを備え、カメラ３２で撮影した画像に基づいて階段を認識し、その認識結果に基づいてモータ４０、５０を制御する。
【０１２６】
これにより、画像センサを用いて未知の階段を認識しながら脚部１２の昇降制御を行うので、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
さらに、本実施の形態では、画像センサを基体１０の正面に設けた。
【０１２７】
これにより、脚車輪型ロボット１００の移動経路上に存在する物体を広い視野で検出することができる。
さらに、本実施の形態では、水平レーザ２６から照射された水平面レーザ光の反射光の撮影状態に基づいて階段の幅を算出し、垂直レーザ２８、３０から照射された２つの垂直面レーザ光の反射光の撮影状態に基づいて階段の段鼻部の実座標を算出する。
【０１２８】
これにより、階段の特徴のうち脚部１２の昇降制御に有効な特徴を検出することができるので、未知の階段に対して高い適応性を実現することができる。
上記第１の実施の形態において、脚車輪型ロボット１００は、発明１ないし２８の脚型ロボットに対応し、上部リンク８０は、発明１、２、７、１７ないし２５の第１リンクに対応し、下部リンク８５は、発明１、２、７、１７、１９、２２または２５の第２リンクに対応している。
【０１２９】
なお、上記第１の実施の形態においては、平坦面８１の４隅に力センサ８２をそれぞれ設置したが、これに限らず、図９に示すように、複数点の力を検出可能な検出エリアを有する分布型の力センサ８２ａを平坦面８１の全域にわたって設置することもできる。
図９は、分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部１２の断面図である。
【０１３０】
分布型の力センサ８２ａを設置した場合は、力センサ８２ａのセンサ信号から力の分布状態が分かるので、床反力の中心点および大きさを同時に求めることができる。
図１０は、互いに直交する２つの面に力センサ８２ａ、９７を設置した場合の脚部１２の断面図である。
さらに、図１０に示すように、平坦面８１と直交する把持部８３の内周面に力センサ９７を設置し、力センサ８２ａ、９７のセンサ信号に基づいて、床反力の方向および大きさを算出することもできる。
【０１３１】
力センサ用プロセッサ６６は、力センサ８２ａ、９７からセンサ信号を入力し、入力したセンサ信号に基づいて、各脚部１２ごとに床反力の方向および大きさを算出する。力センサ８２ａの検出力をＦd1、力センサ９７の検出力をＦd2、床反力をＦrとすると、上部リンク８０および下部リンク８５の伸長方向に対する床反力Ｆrの傾きαは、下式（4）により算出することができる。
【０１３２】
【数３】
2009096335.tif 000005
【０１３３】
床反力Ｆrは、下式（5）により算出することができる。
【０１３４】
【数４】
2009096335.tif 000006
【０１３５】
ここで、ジャイロセンサ、加速度センサ等の姿勢検出センサを上部リンク８０または下部リンク８５に設置し、姿勢検出センサのセンサ信号または脚車輪型ロボット１００の内界情報に基づいて、上部リンク８０または下部リンク８５の傾きθが求まっていれば、床反力Ｆrの垂直方向に対する傾きを算出することができる。
【０１３６】
なお、この原理は、２次元に関するものであるが、３次元に拡張する際も同様に適用することができる。
これにより、脚部１２が支持脚か遊脚かだけでなく、床反力の方向および大きさを求めることができる。
この場合において、脚車輪型ロボット１００は、発明７ないし９の脚型ロボットに対応し、上部リンク８０は、発明７の第１リンクに対応し、下部リンク８５は、発明７の第２リンクに対応し、力センサ９７は、発明７または９の第２力センサに対応している。また、力センサ用プロセッサ６６は、発明９の算出手段に対応し、把持部８３の内周面は、発明７または８の第２平坦面に対応している。
【０１３７】
また、上記第１の実施の形態においては、脚先に駆動輪２０が設けられた脚部１２を有する脚車輪型ロボット１００に適用したが、これに限らず、図１１および図１２に示すように、脚先に駆動輪２０が設けられていない脚部を有する脚型ロボットに適用することもできる。
図１１は、複数の力センサ８２を設置した場合の接地前後の状態を示す脚部の断面図である。
【０１３８】
図１２は、分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部の断面図である。
図１１の例では、平坦面８１の４隅に力センサ８２をそれぞれ設置している。これに対し、図１２の例では、平坦面８１の全域にわたって分布型の力センサ８２ａを設置している。
【０１３９】
また、上記第１の実施の形態においては、平坦面８１に力センサ８２を設置したが、これに限らず、平坦面８６、爪部８３ａの上面または嵌合穴８７の上面に力センサ８２を設置することもできる。
また、図１０の構成においては、把持部８３の内周面に力センサ９７を設置したが、これに限らず、把持部８３の内周面に対向する下部リンク８５の側面に力センサ９７を設置することもできる。
【０１４０】
また、上記第１の実施の形態においては、嵌合穴８７の内径に所定の遊びを設けたが、これに限らず、嵌合穴８７の内径を爪部８３ａの高さと同一とし、爪部８３ａを嵌合穴８７に嵌合させたときに平坦面８１、８６が面接触するように上部リンク８０および下部リンク８５を伸長方向に固定してもよい。
また、上記第１の実施の形態においては、本発明に係る脚型ロボットを、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
【０１４１】
また、上記第１の実施の形態においては、本発明に係る脚車輪型ロボット１００の構成を、基体１０の前方に左右一対及び後方に左右一対の４本の脚部１２を有する構成としたが、これに限らず、基体１０の中央に左右一対の脚部１２を設ける構成や、３本の脚部１２を対称に設ける構成、５本以上の脚部１２を設ける構成など、本発明の趣旨を逸脱しない範囲で他の構成としても良い。また、多脚とした場合には、不要な脚部１２を走行制御に用いないように制御するようにしても良い。
【０１４２】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図１６ないし図２０は、本発明に係る脚型ロボットの第２の実施の形態を示す図である。
【０１４３】
本発明を適用する、本実施の形態の脚車輪型ロボット１００は、上記第１の実施の形態の脚車輪型ロボット１００の各機能に加え、脚車輪型ロボット１００を、基体１０の向きを一定方向に保持した状態で任意の進行方向に走行移動させる機能と、脚車輪型ロボットを、所定の旋回中心位置で前後移動させずに旋回させる（超信地旋回させる）機能とを有している。
【０１４４】
つまり、本実施の形態における脚車輪型ロボット１００は、上記各機能を実現するためのアクチュエータの制御処理（ＣＰＵ６０の制御プログラムの実行による制御処理）が追加されたのみで、力センサ８２の設置構造など、その他の構成は、上記第１の実施の形態の脚車輪型ロボット１００と同様となる。従って、上記第１の実施の形態と同様の機能については説明を適宜省略し、追加された機能部分については詳細に説明する。
【０１４５】
以下、図１６〜図１８に基づき、本実施の形態のＣＰＵ６０で実行される走行移動時の制御処理を説明する。
ここで、図１６（ａ）及び（ｂ）は、脚車輪型ロボット１００の車輪走行移動時の姿勢を示す図である。
以下の各走行制御処理時においては、脚車輪型ロボット１００の姿勢が、図１６（ｂ）に示すように、膝屈曲姿勢となるように各関節モータ４０を制御する。但し、膝屈曲姿勢における走行制御時に、脚部１２が互いに干渉する（接触などする）場合は、図１６（ａ）に示すように、膝伸展姿勢となるように各関節モータ４０を制御する。
【０１４６】
上記姿勢制御時においては、力センサ用プロセッサ６６からの各脚部１２に対する床反力解析データに基づき、脚先の駆動輪２０が４輪共に均等に接地しているかを判断し、不均等の場合は調整を行う。各駆動輪２０が均等に接地した状態で膝屈曲姿勢又は膝伸展姿勢へと移行すると、各種走行制御処理が開始される。
まず、基体１０の向きを一定の方向に保持（固定）した状態で、脚車輪型ロボット１００を目的の進行方向に向けて走行させるときの走行制御処理（以下、無変向走行制御処理と称す）について説明する。
【０１４７】
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、無変向走行制御処理を実行する。
ここで、無変向走行制御処理は、脚車輪型ロボット１００を、その基体１０の向きを一定の方向に保持した状態で、目的の進行方向に移動させるものであるため、基体１０の前方側に設けられたカメラ３２や障害物センサ３４、３６などを、後方や側方などにも設けることが望ましい。これら後方及び側方をカバーできるカメラ及び障害物センサによって、脚車輪型ロボット１００を、基体１０の向きとは異なる方向に移動させるときに、その進行方向の環境（地形の状態等）を把握し、適切な制御を行うことができる。
【０１４８】
また、無変向走行制御処理は、具体的に、無変向走行制御指令があったときに実行され、時々刻々の、ロボットの進行方向（角度α）、ロボット進行方向速度Ｖ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は、下式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ωi＝２Ｖi／Ｄ                                              ・・・（6）
但し、上式（6）において、Ｄは車輪径である。
【０１５６】
各駆動輪２０の操舵角度θ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は、上式（6）に従って、回転角速度ω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は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、上記前方向への直進走行のときと同様に、回転関節１４の関節モータ４０を駆動する指令値と、駆動輪２０の車輪モータ５０を駆動する指令値とを算出する。
【０１６９】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して左真横方向に直進走行する。
【０１７０】
なお、基体１０の向きを保持した状態で、脚車輪型ロボット１００を、その向いている方向に対して右真横方向に直進走行させる場合は、上記左真横方向のときの各駆動輪２０の回転方向を正反対とすればよい。
次に、脚車輪型ロボット１００を所定の旋回中心位置で前後移動させずに旋回（超信地旋回）させる走行制御処理（以下、超信地旋回制御処理と称す）について説明する。
【０１７１】
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、超信地旋回制御処理を実行する。
ここで、超信地旋回制御処理は、クローラ機構を有したパワーショベルや戦車などの車両が行う超信地旋回と同等の旋回動作を脚車輪型ロボット１００に行わせるものである。
また、超信地旋回とは、クローラ機構を有した車両が、左右のクローラを同速度で互いに反対方向に回転させることで、前後に進まず、車体の向きを変える旋回方法であり、これは、クローラ機構に限らず、左右に最低２輪の独立した駆動輪を有する車両であれば実現可能な旋回方法である。
【０１７２】
本実施の形態においては、具体的に、超信地旋回制御指令があったときに実行され、ロボットの旋回角速度Ω、旋回中心（ｘｃ，ｙｃ）を入力として、脚車輪型ロボット１００を旋回中心（ｘｃ，ｙｃ）で超信地旋回させるための、各脚部１２の回転関節１４（joint0）の角度（操舵角度）θ00、θ10、θ20、θ30、各脚部１２の各駆動輪２０の回転角速度ω0、ω1、ω2、ω3を算出し、各アクチュエータに指令を与えるものである。
【０１７３】
脚車輪型ロボット１００を超信地旋回させるためには、基体１０を、旋回中心（ｘｃ，ｙｃ）でヨー軸周りに自転させたときに、各駆動輪２０の操舵時のヨー軸周りの回転中心が描く円弧軌道と各駆動輪２０の前記回転中心との接点における運動方向と、各駆動輪２０の進行方向とが一致するように各回転関節１４の関節モータ４０を制御すると共に、各駆動輪２０が前記運動方向に応じた回転方向に一定速度で回転するように各車輪モータ５０を制御する必要がある。
【０１７４】
ここで、図１８（ａ）及び（ｂ）は、基体１０の座標（０，０）及び座標（ｘｃ，ｙｃ）を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット１００の走行状態を示す図である。
なお、図１８（ａ）及び（ｂ）においては、基体１０を上面側から見た平面において、長手方向の軸をｘ軸、それと直交する方向の軸をｙ軸とし、基体１０の中心位置の座標を（ｘ，ｙ）＝（０，０）とする。
【０１７５】
まず、図１８（ａ）に基づき、基体１０の中心位置の座標（０，０）を旋回中心とした場合の超信地旋回制御処理について説明する。
この場合は、旋回角速度Ωと、旋回中心座標（０，０）とが入力される。
旋回角速度Ω及び旋回中心座標（０，０）が入力されると、下式（7）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
ｔａｎφ＝Ｗt／Ｗb                                        ・・・（7）
但し、上式（7）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。また、上式（7）において、Ｗtはトレッド（車輪間隔）であり、Ｗbはホイールベースである。
【０１７６】
なお、φ0〜φ3は、ｘ軸と、各駆動輪２０の回転中心とのなす角度のうち最小の角度とし、φの正方向は、駆動輪によってはΩの正方向とは異なる。
Ｗt及びＷbは既知であるため（予め情報を持っておく）、上式（7）から、上記角度φ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＝−（π／２−φ）」と算出される。
一方、下式（8）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１７９】
【数５】
2009096335.tif 000007
【０１８０】
但し、上式（8）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。
なお、トレッドＷt及びホイールベースＷbから、左前輪の回転中心の座標は（Ｗb／２，Ｗt／２）、右前輪の回転中心の座標は（Ｗb／２，−Ｗt／２）、左後輪の回転中心の座標は（−Ｗb／２，Ｗt／２）、右後輪の回転中心の座標は（−Ｗb／２，−Ｗt／２）と表すことができる。
【０１８１】
なお、旋回中心が基体１０の中心座標（０，０）であるので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、等距離「Ｌ0＝Ｌ1＝Ｌ2＝Ｌ3＝Ｌ」となる。
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離Ｌと旋回角速度Ωとから、下式（9）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝ＬΩ                                （9）
但し、上式（9）は、基体１０の中心座標（０，０）を旋回中心とした場合の式である。
【０１８２】
ここで、先述したように、左右前輪は黒半円の目印のある方向に進行する回転方向が正回転方向となり、左右後輪は目印の無い方向に進行する回転方向が正回転方向となる。
また、各駆動輪２０の向きは、図１８（ａ）に示すようになるので、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝Ｖ3＝−ＬΩ」、「Ｖ1＝Ｖ2＝ＬΩ」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０１８３】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１８４】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で旋回（超信地旋回）する。
【０１８５】
次に、基体１０の中心座標（０，０）以外の座標を旋回中心とした場合の超信地旋回制御処理について説明する。以下、この超信地旋回制御処理を、旋回中心オフセット型超信地旋回制御処理と称す。
この場合は、旋回角速度Ωと、基体１０の中心座標（０，０）以外の座標である旋回中心座標（ｘｃ，ｙｃ）≠（０，０）とが入力される。
【０１８６】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）が入力されると、下式（10）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
ｔａｎφ0＝（Ｗt／２−ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ1＝（Ｗt／２＋ｙｃ）／（Ｗb／２−ｘｃ）
ｔａｎφ2＝（Ｗt／２−ｙｃ）／（Ｗb／２＋ｘｃ）
ｔａｎφ3＝（Ｗt／２＋ｙｃ）／（Ｗb／２＋ｘｃ）      ・・・（10）
但し、上式（10）は、脚車輪型ロボット１００の脚部１２が、基体１０の前方に左右一対及び後方に左右一対の計４本の場合の式である。
【０１８７】
具体的に、入力された旋回中心座標（ｘｃ，ｙｃ）と、既知のＷt及びＷbとを、上式（10）に代入して、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ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）」と算出される。
【０１９０】
一方、下式（11）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
【０１９１】
【数６】
2009096335.tif 000008
【０１９２】
先述したように、旋回中心が基体１０の中心座標（０，０）以外の座標であるので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、それぞれ異なる距離となる。
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離と旋回角速度Ωとから、下式（12）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
｜Ｖi｜＝｜ＬiΩ｜                                        （12）
従って、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝−Ｌ0Ω」、「Ｖ1＝Ｌ1Ω」、「Ｖ2＝Ｌ2Ω」、「Ｖ3＝−Ｌ3Ω」と算出される。
【０１９３】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪２０の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０１９４】
このようにして、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ４０及び車輪モータ５０が駆動されると、これにより、脚車輪型ロボット１００の各駆動輪２０の操舵角度及び回転角速度が変化し、基体１０における中心位置（０，０）以外の座標（ｘｃ，ｙｃ）を旋回中心として、脚車輪型ロボット１００が前後移動せずに旋回（超信地旋回）する。
【０１９５】
次に、図１９及び図２０に基づき、本実施の形態の動作を説明する。
ここで、図１９（ａ）及び（ｂ）は、脚車輪型ロボット１００の走行経路の一例を示す図である。また、図２０は、ロボットの重心位置の一例を示す図である。
脚車輪型ロボット１００は、障害物センサ３４、３６のセンサ信号に基づき、自己の移動経路上に何も障害物が存在しない（平地である）と判断すると、移動モードを、脚部１２を用いる脚部移動モードから駆動輪２０を用いる車輪走行移動モードへと切り替える。
【０１９６】
平地では、脚車輪型ロボット１００は、上記した無変向走行で移動することができる。また、上記した超信地旋回及び旋回中心オフセット型超信地旋回を行うことができる。
また、無変向走行時及び超信地旋回時は、脚車輪型ロボット１００が膝屈曲姿勢となるように関節モータ４０が制御される。
車輪走行移動モードへと切り替えられると、脚車輪型ロボット１００は、脚部１２の各関節モータ４０を制御して膝屈曲姿勢へと移行する。車輪走行移動モードでは、駆動輪２０を４輪とも用いるため、力センサ用プロセッサ６６からの各脚部１２に対する床反力解析データに基づき、脚先の駆動輪２０が４輪共に均等に接地しているかを判断し、不均等の場合は調整を行う。このようにして、各駆動輪２０が均等に接地した状態で膝屈曲姿勢へと移行すると、各種走行制御が開始される。
【０１９７】
まず、無変向走行制御時の脚車輪型ロボット１００の動作について説明する。
ここでは、図１９（ａ）に示すような通路を、脚車輪型ロボット１００で走行移動させることとする。なお、図１９（ａ）及び（ｂ）は、走行経路の一部を真上から見た俯瞰図である。
図１９（ａ）に示すように、通路は、最初、基体１０の向いている方向（前方向）に直進しないと通れないほど幅が狭くなっているので、まず、通路への進入前において、通路の伸びる方向と基体１０の向きとを合わせると共に、進入位置及び進入角度を調整する。
【０１９８】
そして、無変向走行制御指令を入力し、脚車輪型ロボット１００を、無変向走行制御モードへと移行させる。これにより、脚車輪型ロボット１００は、ＣＰＵ６０において、基体１０の向きを保持した状態で、目的の進行方向へと走行移動する制御を行う。
まず最初は、脚車輪型ロボット１００を、前方向に直進移動させたいので、ロボットの進行方向α＝０[°]、及びロボット進行方向速度Ｖｃを入力する。これにより、各駆動輪２０の操舵角度が「θ00＝θ10＝θ20＝θ30＝０[°]」と算出され、各駆動輪２０の線速度が「Ｖ0＝Ｖ1＝Ｖ2＝Ｖ3＝Ｖｃ」と算出される。
【０１９９】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ＣＰＵ６０は、操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3を算出すると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０２００】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０が駆動され、各脚部１２の回転関節１４がヨー軸周りに回動して目標の操舵角度へと変化する。その後、各車輪モータ５０が駆動され、各駆動輪２０が指令値に応じた回転角速度で回転駆動する。これにより、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、基体１０の向いている方向（前方向）に通路へと進入すると共に通路内を直進走行する。
【０２０１】
脚車輪型ロボット１００が前方向にしばらく直進すると、通路は右に略直角に折れ曲がり、更に路幅も広くなるので、基体１０の向きを保持した状態で、その向いている方向に対して右真横方向に直進移動するように制御する。つまり、進行方向として、α＝−９０（−π／２）[°]を入力し、更に、進行方向速度Ｖｃを入力する。
これにより、操舵角度として、「θ00＝θ10＝θ20＝θ30＝α[°]」が算出され、線速度として、「Ｖ0＝Ｖ2＝−Ｖｃ」、「Ｖ1＝Ｖ3＝Ｖｃ」が算出される。
【０２０２】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
ＣＰＵ６０は、各駆動輪２０の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右真横方向に直進走行する。これにより、通路の曲がり角で脚車輪型ロボット１００を旋回せずに、その曲がった先へと走行させることができる。
【０２０３】
脚車輪型ロボット１００が右真横方向にしばらく直進すると、通路は右斜め下方向に折れ曲がるので、今度は、基体１０の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進移動するように制御する。つまり、進行方向として、α（通路の角度＜０）[°]を入力し、更に、進行方向速度Ｖｃを入力する。
これにより、例えば、操舵角度として、「θ00＝θ30＝π＋α[°]」及び「θ10＝θ20＝−（π＋α）[°]」が算出され、線速度として、「Ｖ0＝Ｖ1＝−Ｖｃ」及び「Ｖ2＝Ｖ3＝Ｖｃ」が算出される。
【０２０４】
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
そして、各駆動輪２０の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、脚車輪型ロボット１００は、基体１０の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進走行する。
【０２０５】
次に、超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
ここでは、図１９（ｂ）に示すような通路を、脚車輪型ロボット１００で走行移動させることとする。
図１９（ｂ）に示すように、通路は、最初真っ直ぐに伸びており、その後、略直角に右に折れ曲がり、その先で行き止まりとなっている。
【０２０６】
まず、通路の伸びる方向と基体１０の向きとを合わせ、進入位置を微調整した後に、脚車輪型ロボット１００を前方向に直進走行させる。これにより、脚車輪型ロボット１００は、通路へと進入すると共に通路内を直進走行する。
脚車輪型ロボット１００は、しばらく直進すると、やがて曲がり角へと到達するので、時計回りに旋回して、基体１０の向きを脚車輪型ロボット１００が進行できる向きへと変更する。
【０２０７】
図１９（ｂ）に示す曲がり角であれば、前移動を伴う旋回動作でも十分に右折できるが、ここでは、超信地旋回により右折することとする。そのため、超信地旋回制御指令を入力し、この指令により、脚車輪型ロボット１００を、超信地旋回制御モードへと移行させる。これにより、脚車輪型ロボット１００は、ＣＰＵ６０において、前後移動を行わずに所定の旋回中心位置でロボットを旋回する制御処理を行う。
【０２０８】
まず、旋回角速度Ω（基体１０を時計回りに回転させる角速度）と、旋回中心座標（０，０）とを入力する。更に、略直角に右折させるので、旋回角度−９０[°]を入力する。
旋回角速度Ω、旋回中心座標（０，０）及び旋回角度（−９０[°]）が入力されると、上式（7）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
【０２０９】
各駆動輪２０の回転中心に対する角度「φ0＝φ1＝φ2＝φ3＝φ」が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30が算出される。
具体的に、操舵角度θ00、θ10、θ20、θ30として、「θ00＝θ10＝θ20＝θ30＝−（π／２−φ）」が算出される。
【０２１０】
また、上式（8）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（０，０）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出される。
旋回中心が基体１０の中心座標（０，０）となっているので、距離Ｌ0、Ｌ1、Ｌ2、Ｌ3は、等距離「Ｌ0＝Ｌ1＝Ｌ2＝Ｌ3＝Ｌ」となる。
次に、距離Ｌと旋回角速度Ωとから、上式（9）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
【０２１１】
ここでは、脚車輪型ロボット１００を、時計回りに旋回（Ω＜０）させるので、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ1＝Ｖ2＝ＬΩ」、「Ｖ0＝Ｖ3＝−ＬΩ」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω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は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０２１６】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、各指令値が算出され、関節モータ４０及び車輪モータ５０が駆動される。
これにより、基体１０の中心座標（０，０）を旋回中心として、脚車輪型ロボット１００が前後移動せずにその場で時計回りに１８０[°]旋回（超信地旋回）し、真後ろ方向へと向きを変える。
【０２１７】
ここで、脚車輪型ロボット１００が、例えば、遠隔操作で人手により走行制御される場合や、自動制御で且つ基体１０の後ろ側にも各種センサやカメラを備えている場合などは、無変向走行制御により、前を向いたまま真後ろに走行させて通路を引き返させることも可能である。しかし、自動制御の場合で且つ各種センサが基体１０の前側にしか備わっていない場合は、基体１０の向きと進行方向とを合わせる必要がある。従って、後者の場合などに、超信地旋回は有用な旋回手段となる。
【０２１８】
次に、旋回中心オフセット型超信地旋回制御時の脚車輪型ロボット１００の動作について説明する。
いま、車輪走行移動モードへと移行し、脚車輪型ロボット１００の各関節モータ４０が制御され、ロボットの姿勢が膝屈曲姿勢に変更されたとする。このとき、ロボットの重心が図２０に示すように、基体１０の中心位置の座標から外れた位置となるとする。
【０２１９】
この場合は、重心位置が基体１０の中心位置の座標（０，０）から外れているため、中心位置を旋回中心として超信地旋回を行わせると旋回がアンバランスとなり、不具合が発生する恐れがある。
このようなときに、本実施の形態の超信地旋回制御指令モードにおいては、任意の旋回中心で超信地旋回させることができるので、旋回角速度Ωを入力すると共に、基体１０における、脚車輪型ロボット１００の重心位置に対応する座標（ｘｇ，ｙｇ）を旋回中心座標（ｘｃ，ｙｃ）として入力する。
【０２２０】
そして、旋回角速度Ω及び旋回中心座標（ｘｃ，ｙｃ）＝（ｘｇ，ｙｇ）が入力されると、上式（10）に基づき、基体１０のｘ軸と各駆動輪２０の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
各駆動輪２０の回転中心に対する角度φ0、φ1、φ2、φ3が算出されると、次に、各回転中心の運動方向と各駆動輪２０の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
【０２２１】
操舵角度θ00、θ10、θ20、θ30は、「θi0＝−（π／２−φi）（i＝0,1,2,3）」と算出される。
次に、上式（11）に基づき、各駆動輪２０の操舵時のヨー軸周りの回転中心と旋回中心（ｘｃ，ｙｃ）との距離Ｌ0、Ｌ1、Ｌ2、Ｌ3を算出する。
距離Ｌ0、Ｌ1、Ｌ2、Ｌ3が算出されると、次に、これらの距離と旋回角速度Ωとから、上式（12）に基づき、各駆動輪２０の線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3を算出する。
【０２２２】
ここでは、脚車輪型ロボット１００を反時計回りに旋回（Ω＞０）させるとして、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、「Ｖ0＝−Ｌ0Ω」、「Ｖ1＝Ｌ1Ω」、「Ｖ2＝Ｌ2Ω」、「Ｖ3＝−Ｌ3Ω」と算出される。
更に、線速度Ｖ0、Ｖ1、Ｖ2、Ｖ3は、上式（6）に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
【０２２３】
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪２０の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、角度取込Ｉ／Ｆ６２を介して、現在の各駆動輪２０の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節１４の関節モータ４０を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪２０の車輪モータ５０を駆動する指令値を算出する。
【０２２４】
ＣＰＵ６０は、上記算出した、各駆動輪２０の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ４０及び各車輪モータ５０が駆動され、これにより、基体１０における重心座標と対応する座標（ｘｇ，ｙｇ）を旋回中心として、脚車輪型ロボット１００がバランスのとれた状態で反時計回りに超信地旋回する。
【０２２５】
このようにして、本実施の形態では、各種走行制御時（旋回制御も含む）に、脚車輪型ロボット１００の姿勢を膝屈曲姿勢又は膝伸展姿勢に変更時に、床反力解析データに基づき、各駆動輪２０が均等に接地するように関節モータ４０を制御する。
これにより、安定した走行移動及び旋回動作が可能となり、転倒の不安が軽減される。また、旋回動作時において、駆動輪２０のすべりを低減することができる。
【０２２６】
さらに、本実施の形態では、基体１０の向きを一定の方向に保持した状態で、脚車輪型ロボット１００が目的の進行方向に走行するように関節モータ４０及び車輪モータ５０を制御する。
これにより、旋回を行わず（向きを変えず）に自由な方向へ移動できるので、各方向への素早い移動を実現できると共に、脚車輪型ロボット１００の各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となる。
【０２２７】
さらに、本実施の形態では、脚車輪型ロボット１００を前後移動させずに所定の旋回中心位置で旋回（超信地旋回）するように関節モータ４０及び車輪モータ５０を制御する。このとき、基体１０における中心位置の座標を旋回中心座標とする制御（超信地旋回制御）と、基体１０における中心位置以外の座標を旋回中心座標とする制御（旋回中心オフセット型超信地旋回制御）とを行うことが可能である。
【０２２８】
これにより、基体１０の中心位置を旋回中心位置とする場合は、最小の旋回半径で脚車輪型ロボットを旋回をさせることが可能である。また、基体１０の中心位置以外を旋回中心位置とする場合は、例えば、基体１０の中心位置と重心位置とが異なる場合などに、重心位置を旋回中心として超信地旋回させることができるので、脚車輪型ロボット１００を、バランスよく超信地旋回させることが可能である。
【０２２９】
上記第２の実施の形態において、関節モータ４０は、発明２６ないし２８の第１アクチュエータに対応し、車輪モータ５０は、発明２６ないし２８の第２アクチュエータに対応し、ＣＰＵ６０による、無変向走行性制御処理、超信地旋回処理、旋回中心オフセット型超信地旋回処理は、発明２６ないし２８の制御手段に対応している。
〔第３の実施の形態〕
次に、本発明の第３の実施の形態を図面を参照しながら説明する。図２１ないし図３９は、本発明に係る脚型ロボットの第３の実施の形態を示す図である。
【０２３０】
まず、本発明を適用する脚車輪型ロボット１００の構成を説明する。
図２１は、脚車輪型ロボット１００の正面図である。
図２２は、脚車輪型ロボット１００の側面図である。
脚車輪型ロボット１００は、図２１および図２２に示すように、基体１０と、基体１０に連結された４つの脚部１２とを有して構成されている。
【０２３１】
基体１０の前部には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。また、基体１０の後部には、２本の脚部１２が回転関節１４を介して左右対称の位置に連結されている。回転関節１４は、脚車輪型ロボット１００の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部１２には、２つの回転関節１６、１８が設けられている。回転関節１４は、下方を軸方向として回転し、回転関節１６、１８は、回転関節１４が図２１の状態であるときは、脚車輪型ロボット１００の側面と直交する方向を軸方向として回転する。すなわち、回転関節１４が図２１の状態であるときは、ピッチ軸回りに回転し、回転関節１４が図２１の状態から９０度回転した状態であるときは、ロール軸回りに回転する。したがって、脚部１２は、それぞれ３自由度を有する。
【０２３２】
各脚部１２の先端には、回転関節１６、１８と軸方向を同一にして駆動輪２０が回転可能に設けられている。
各脚部１２の先端には、脚車輪型ロボット１００の移動経路上に存在する物体までの距離を測定する前方脚先センサ２２と、接地面までの距離を測定する下方脚先センサ２４とが設けられている。
【０２３３】
一方、基体１０の正面には、３次元距離測定装置２００が取り付けられている。３次元距離測定装置２００の座標系（以下、センサ座標系という。）は、基体１０の奥行き（前後の長さ）方向をｘrs軸、基体１０の幅（左右の長さ）方向をｙrs軸、基体１０の高さ方向をｚrs軸とし、ｘrs軸は基体１０の前方を、ｙrs軸は基体１０の右方を、ｚrs軸は基体１０の上方をそれぞれ正の方向とする。
【０２３４】
さらに、本実施の形態における脚車輪型ロボット１００は、上記第１の実施の形態の脚車輪型ロボット１００と同様に、各脚部１２に力センサ８２が設置されており、その設置構造は、上記第１の実施の形態の脚車輪型ロボット１００と同様（図４などに示す構造と同様）となっている。
さらに、本実施の形態における脚車輪型ロボット１００は、上記第２の実施の形態の脚車輪型ロボット１００と同様に、無変向走行制御処理、超信地旋回制御処理および旋回中心オフセット型超信地旋回制御処理を行う機能を有している。
【０２３５】
次に、３次元距離測定装置２００の外観構造を説明する。
図２３は、３次元距離測定装置２００の正面図（ｙrs−ｚrs平面）である。
図２４は、３次元距離測定装置２００の側面図（ｘrs−ｚrs平面）である。
図２５は、３次元距離測定装置２００の上面図（ｙrs−ｘrs平面）である。
３次元距離測定装置２００は、図２３ないし図２５に示すように、下側支持板２０４と、下側支持板２０４の上方に設けられた上側支持板２０６と、上側支持板２０６の上方に設けられたカメラ支持板２０８とを有して構成されている。下側支持板２０４と上側支持板２０６、および上側支持板２０６とカメラ支持板２０８は、それぞれ複数の支柱により支持されている。
【０２３６】
カメラ支持板２０８は、図２４に示すように、下側支持板２０４および上側支持板２０６に対してｘrs軸の正の方向に迫り出して設けられている。カメラ支持板２０８の迫り出した部分には、カメラ２２２が取り付けられている。
下側支持板２０４の下面には、モータ２１６が取り付けられている。モータ２１６の回転軸（以下、駆動回転軸という。）は、下側支持板２０４を下方から貫通し、下側支持板２０４と上側支持板２０６の間に配置されたプーリ２２０ａに連結している。
【０２３７】
一方、下側支持板２０４の下面であってモータ２１６から水平方向に所定距離隔てた位置には、２次元距離測定装置２１２が取り付けられている。２次元距離測定装置２１２は、回転軸（以下、従動回転軸という。）を有し、従動回転軸が下側支持板２０４を下方から貫通し、下側支持板２０４と上側支持板２０６の間に配置されたプーリ２２０ｂに連結している。
【０２３８】
プーリ２２０ａ、２２０ｂには、ベルト２２１が巻き掛けられている。したがって、モータ２１６によりプーリ２２０ａが回転し、プーリ２２０ａに巻き掛けたベルト２２１によりプーリ２２０ｂが回転することにより、２次元距離測定装置２１２は、図２５に示すように、ｚrs軸回りに回転する。
図２６は、測距センサの走査範囲を示す図である。
【０２３９】
２次元距離測定装置２１２は、測距センサを内蔵し、図２６に示すように、測距センサを、ｚrs軸およびその測定方向に対して直交する軸回りに回転させながら所定の走査単位角度ごとに測距センサの測定結果を取得する。測距センサの走査範囲は、脚車輪型ロボット１００が階段の昇降や障害物の回避を行うことを目的としているため、脚車輪型ロボット１００の下方を重点的に走査するように設定されている。なお、２次元距離測定装置２１２および測距センサの原点位置（走査角度θおよびφが０°の位置）においては、測距センサの測定方向がｘrs軸と一致し、測距センサの回転軸がｙrs軸と一致する。測距センサの回転軸は、２次元距離測定装置２１２の走査角度によって向きが変化するが、原点位置においてｙrs軸と一致するため、説明の便宜上、測距センサの回転軸をｙrs’軸と表記する。
【０２４０】
３次元距離測定装置２００は、２次元距離測定装置２１２を回転駆動する回転駆動機構（モータ２１６、エンコーダ２１８、プーリ２２０ａ、２２０ｂ、ベルト２２１および下側支持板２０４）が、図２６に示す走査範囲外に設けられているため、図２６に示す走査範囲であれば、３次元距離測定装置２００を構成する各機構部によって、測距センサ２１２ａの走査が阻害されない。
【０２４１】
また、脚車輪型ロボット１００の走行経路上の障害物を認識できればよいので、ｚrs軸回りの回転駆動による走査範囲も、前方１８０°までをカバーする必要はなく、２次元距離測定装置２１２から水平方向に所定距離隔てて配置されたモータ２１６およびエンコーダ２１８を走査範囲外とする範囲でも十分である。したがって、２次元距離測定装置２１２の回転駆動範囲を、モータ２１６およびエンコーダ２１８を含まない範囲とする。
【０２４２】
次に、脚車輪型ロボット１００の移動制御システムを説明する。
図２７は、脚車輪型ロボット１００の移動制御システムを示すブロック図である。
各脚部１２の回転関節１４〜１８には、図２７に示すように、回転関節１４〜１８を回転駆動する関節モータ４０がそれぞれ設けられている。各関節モータ４０には、関節モータ４０の回転角度位置を検出するエンコーダ４２と、モータ指令信号およびエンコーダ４２の出力信号に基づいて関節モータ４０の駆動を制御するドライバ４４が設けられている。
【０２４３】
各脚部１２の駆動輪２０には、駆動輪２０を回転駆動する車輪モータ５０がそれぞれ設けられている。各車輪モータ５０には、車輪モータ５０の回転角度位置を検出するエンコーダ５２と、モータ指令信号およびエンコーダ５２の出力信号に基づいて車輪モータ５０の駆動を制御するドライバ５４が設けられている。
脚車輪型ロボット１００は、さらに、ＣＰＵ６０と、脚車輪型ロボット１００の姿勢を検出する３軸姿勢センサ７０と、外部のＰＣ等と無線通信を行う無線通信部７４と、無線通信部７４とＣＰＵ６０の入出力を中継するハブ７６と、警告音等を出力するスピーカ７８とを有して構成されている。
【０２４４】
３軸姿勢センサ７０は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット１００の姿勢の傾きを検出する。
ＣＰＵ６０は、モータ指令出力Ｉ／Ｆ６１を介してドライバ４４、５４にモータ指令信号を出力し、角度取込Ｉ／Ｆ６２を介してエンコーダ４２、５２の出力信号を入力する。また、センサ入力Ｉ／Ｆ６３を介して、３次元距離測定装置２００、前方脚先センサ２２、下方脚先センサ２４および３軸姿勢センサ７０からそれぞれセンサ信号を入力する。また、通信Ｉ／Ｆ６４を介してハブ７６と信号の入出力を行い、サウンド出力Ｉ／Ｆ６５を介してスピーカ７８に音声信号を出力する。
【０２４５】
次に、２次元距離測定装置２１２の制御構造を説明する。
図２８は、２次元距離測定装置２１２の制御構造を示すブロック図である。
２次元距離測定装置２１２は、図２８に示すように、測定範囲内に存在する物体上の測定点までの距離を測定する測距センサ２１２ａと、測距センサ２１２ａを回転駆動するモータ２１２ｃと、モータ２１２ｃの回転角度位置を検出するエンコーダ２１２ｄと、指令信号およびエンコーダ２１２ｄの出力信号に基づいてモータ２１２ｃの駆動を制御するドライバ２１２ｂとを有して構成されている。
【０２４６】
ドライバ２１２ｂは、センシングプロセッサ２１０からの指令信号において設定された走査角度範囲（例えば、−４０°〜＋４０°等の所定の角度範囲）および走査単位角度（例えば、０．３６°等の所定の単位角度）に基づいて、モータ２１２ｃの回転軸を走査単位角度ずつ回転させる制御を行う。
モータ２１２ｃは、測距センサ２１２ａのレーザ出力部（不図示）および受光部（不図示）をｙrs’軸回りに回転駆動するように設けられており、ドライバ２１２ｂからの制御信号に応じて、自己の回転軸を走査単位角度（Δθ）ずつ回転駆動する。
【０２４７】
次に、３次元距離測定装置２００の制御構造を説明する。
図２９は、３次元距離測定装置２００の制御構造を示すブロック図である。
３次元距離測定装置２００は、図２９に示すように、センシングプロセッサ２１０と、２次元距離測定装置２１２と、モータ２１６と、エンコーダ２１８と、指令信号およびエンコーダ２１８の出力信号に基づいてモータ２１６の駆動を制御するドライバ２１４と、カメラ２２２とを有して構成されている。
【０２４８】
センシングプロセッサ２１０は、専用のプログラムを実行し、ドライバ２１２ｂに指令信号を与えて測距センサ２１２ａを回転させ、測距センサ２１２ａの走査範囲で測定可能な領域（以下、走査平面という。）内に存在する物体上の測定点までの距離を測定する第１走査処理を実行するとともに、１つの走査平面に対する第１走査処理が終了するごとに、ドライバ２１４に指令信号を与えて２次元距離測定装置２１２を回転させる第２走査処理を実行する。
【０２４９】
センシングプロセッサ２１０は、さらに、第１走査処理および第２走査処理を経て２次元距離測定装置２１２で測定した距離の情報（以下、距離情報という。）に基づいて、測定範囲内に存在する物体上の連続面を認識する処理を実行する。
次に、３次元距離測定装置２００の距離測定の原理を説明する。
図３０は、２次元距離測定装置２１２の距離測定の原理を説明するための図である。
【０２５０】
２次元距離測定装置２１２は、測距センサ２１２ａが、モータ２１２ｃの回転軸の回転駆動に応じて、ｙrs’軸回りに走査単位角度ずつ回転し、かつ、回転するごとに、図３０に示すように、レーザ出力部からレーザ光を出力するとともに、出力光に対する物体（図３０中の障害物）からの反射光を受光部で受光し、各走査角度に応じた距離（図３０中の測定距離Ｌ（物体と受光部との間の距離））を測定する。
【０２５１】
図３１は、第１走査処理および第２走査処理により走査を行った場合を示す図である。同図（ａ）は、測距センサ２１２ａをｙrs’軸回りに回転させたときの測定距離Ｌと走査角度θとの関係を示す図であり、同図（ｂ）は、２次元距離測定装置２１２をｚrs軸回りに回転させたときの走査平面と走査角度φとの関係を示す図である。
第１走査処理は、例えば、図３１（ａ）に示すように、測距センサ２１２ａをｙrs’軸回りに走査単位角度ずつ回転させながら、原点位置に対する各走査角度（図３１（ａ）中のθ1、θ2、θ3）に応じた距離情報（図３１（ａ）中のＬ（θ1）、Ｌ（θ2）、Ｌ（θ3））を測定する処理となる。
【０２５２】
また、第１走査処理における、モータ２１２ｃの回転軸の回転中心と、レーザの走査軌道線の両端とを結んで形成される平面が、走査平面（物体が存在しない場合は扇形の平面）となる。
ドライバ２１４は、センシングプロセッサ２１０からの指令信号において設定された走査角度範囲および走査単位角度（Δφ）に基づいて、モータ２１６の回転軸を走査単位角度ずつ回転させる制御を行う。
【０２５３】
モータ２１６は、減速機（不図示）、プーリ２２０ａ、２２０ｂおよびベルト２２１を介して、２次元距離測定装置２１２をｚrs軸回りに回転駆動するように設けられており、ドライバ２１４からの制御信号に応じて、自己の回転軸を走査単位角度ずつ回転駆動する。これにより、モータ２１６の回転軸の回転駆動に応じて、プーリ２２０ａ、２２０ｂを介して従動回転軸に回転駆動力が伝達され、２次元距離測定装置２１２がｚrs軸回りに走査単位角度ずつ回転する。
【０２５４】
すなわち、第２走査処理は、図３１（ｂ）に示すように、２次元距離測定装置２１２をｚrs軸回りに走査単位角度ずつ回転させる処理となる。そして、第１走査処理と第２走査処理とを交互に連続して行うことにより、第１走査処理によって形成される走査平面をｚrs軸回りに連続して形成する。
図３２は、３次元距離測定装置２００の距離の計測例を示す図である。
【０２５５】
これにより、例えば、図３２に示すように、壁、ついたて、スタンド、棚等の物体の立体的な形状を把握することができる。
また、図３１（ｂ）に示すように、第２走査処理後の各測定点の距離情報をＬ（θi，φj）と表記する。ここで、ｉは、ｙrs’軸回りの走査角度に応じて各測定点に付与される通し番号であり、ｊは、ｚrs軸回りの走査角度に応じて各測定点に付与される通し番号である。
【０２５６】
次に、３次元距離測定装置２００で実行される物体認識処理を説明する。
図３３は、３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
物体認識処理は、ＣＰＵ６０からの指令信号に基づいて、センシングプロセッサ２１０が、ＲＯＭ（不図示）に記憶された専用のプログラムを読み出し、読み出したプログラムを実行することで実現される処理であって、処理が実行されると、図３３に示すように、まず、ステップＳ２００に移行する。
【０２５７】
ステップＳ２００では、３次元距離測定装置２００において、ＣＰＵ６０からの指令信号に基づいて、測距センサ２１２ａおよび２次元距離測定装置２１２の走査角度範囲および走査単位角度を設定し、ステップＳ２０２に移行する。ここで、ＣＰＵ６０からの指令信号には、走査角度範囲および走査単位角度の情報が含まれている。
ステップＳ２０２では、２次元距離測定装置２１２に指令信号を出力することにより、ドライバ２１２ｂ、モータ２１２ｃおよびエンコーダ２１２ｄを駆動し、測距センサ２１２ａを、ステップＳ２００で設定されたｙrs’軸回りの走査角度範囲内において、ステップＳ２００で設定された走査単位角度ずつｙrs’軸回りに回転させるとともに、各走査角度に応じた距離情報を測定する第１走査処理を実行し、ステップＳ２０４に移行する。
【０２５８】
ステップＳ２０４では、ステップＳ２０２で測定した距離情報に対して、メディアンフィルタを用いたフィルタリング処理を実行してノイズ成分を除去し、ステップＳ２０６に移行する。
ステップＳ２０６では、ステップＳ２０４でノイズ除去後の回転座標系の距離情報を直交座標系の座標情報に変換する。これにより、第１走査処理で得られた各測定点の距離情報は、その第１走査処理の走査平面を２次元平面とする直交座標系（以下、走査平面座標系という。）の座標情報に変換される。
【０２５９】
次いで、ステップＳ２１０に移行して、ステップＳ２０６で変換された座標情報に基づいてハフ変換により直交座標系における線分を検出する。
図３４は、ハフ変換の原理を説明するための図である。同図（ａ）は、ｘ−ｙ平面を示し、同図（ｂ）は、ρ−θ平面を示す。なお、同図（ａ）のｘ軸、ｙ軸は、走査平面座標系における軸を示し、センサ座標系における軸とは別個のものである。
【０２６０】
ハフ変換は、デジタル画像処理で用いられる特徴抽出法の一つである。古典的には直線の検出を行うものだったが、さらに一般化されて様々な形態（円や楕円等の方程式の形で表現できるもの）に対して用いられている。ハフ変換の特徴は、画像中の直線が途中で切断されている場合や、雑音が存在する場合でも、比較的良好な結果を得ることができる点である。
【０２６１】
図３４（ａ）に示すように、走査平面座標系における直線ａｘ＋ｂｙ＋ｃ＝０を考える。
この直線から原点に垂線を下ろし、垂線の長さをρ、垂線とｘ軸とのなす角をθとしたとき、この直線は、下式（13）により表すことができる。
【０２６２】
【数７】
2009096335.tif 000009
【０２６３】
上式（13）は、下式（14）に変形することができる。
ρ＝ｘcosθ＋ｙsinθ                                                …（14）
したがって、１組の（ρ、θ）に対して１本の直線が対応することとなる。ここで、点（ρ、θ）を直線ａｘ＋ｂｙ＋ｃ＝０のハフ変換と呼ぶ。また、走査平面座標系の任意の点（ｘ0、ｙ0）を通る直線群は、下式（15）により表すことができる。
ρ＝ｘ0cosθ＋ｙ0sinθ                                              …（15）
ここで、ｘ−ｙ平面において３点Ｐ1、Ｐ2、Ｐ3を通るそれぞれの直線群の軌跡をρ−θ平面に描くと、図３４（ｂ）に示すように正弦曲線となる。この３点がｘ−ｙ平面において同一直線上に存在するのであれば、ρとθの値は同一となり、ρ−θ平面において、３点に対応する曲線は１点で交わることになる。
【０２６４】
ハフ変換の原理を利用すれば、複数の測定点の座標に基づいて線分を検出することができる。すなわち、ｎ（ｎ≧２）個の測定点に対して、ρ−θ平面上ではｎ個の曲線が描かれ、このうちｍ（ｎ≧ｍ≧２）個の曲線が１点で交わっていれば、このｍ個の曲線に対応するｍ個の測定点は、ｘ−ｙ平面において同一直線上にあるということになる。
次いで、図３３に示すように、ステップＳ２２０に移行して、検出した線分の端点を連続面の境界（凹凸のエッジ）として判定する。複数の線分が重なり合っているとき、または複数の線分が所定距離内に存在するときは、１つの線分であるとみなし、それら線分の端点のうち最も離れた２点を連続面の境界として判定する。
【０２６５】
次いで、ステップＳ２２４に移行して、連続面の境界として判定した端点の座標情報をセンサ座標系に変換し、変換された座標情報を各線分ごとに対応付けてＲＡＭ等のメモリ（不図示）に記憶し、ステップＳ２２６に移行する。
ステップＳ２２６では、第２走査処理の走査角度範囲および走査単位角度に対応するすべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップＳ２３６に移行する。
【０２６６】
ステップＳ２３６では、メモリに記憶された座標情報に基づいて面データを生成する。連続面の境界として判定した端点を結ぶ線分（ステップＳ２２０で、１つの線分であるとみなしたもの）は、連続面と走査平面が交わる交線であるので、面データの生成は、例えば、ある走査平面において、連続面の境界として判定した端点を結ぶ線分と、ｚrs軸回りに隣接する走査平面において、連続面の境界として判定した端点を結ぶ線分との傾きおよび座標が所定範囲にあるものを連続面と判定し、それら線分に対応する座標情報を対応付けたり、公知の補間法を用いてつなぎ合わせたりすることにより行う。例えば、傾きが０に近い連続面は、水平面とみなすことができるので、そこが歩行可能な面であると判定することができる。
【０２６７】
次いで、ステップＳ２３８に移行して、ハブ７６および通信Ｉ／Ｆ６４を介して、ステップＳ２３６で生成した面データをＣＰＵ６０に出力し、一連の処理を終了する。
一方、ステップＳ２２６で、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了しないと判定したとき(No)は、ステップＳ２４０に移行して、３次元距離測定装置２００に指令信号を出力することにより、ドライバ２１４、モータ２１６およびエンコーダ２１８を駆動し、２次元距離測定装置２１２を、ステップＳ２００で設定されたｚrs軸回りの走査角度範囲内において、ステップＳ２００で設定された走査単位角度ずつｚrs軸回りに回転させる第２走査処理を実行し、ステップＳ２０２に移行する。
【０２６８】
次に、ＣＰＵ６０で実行される処理を説明する。
ＣＰＵ６０は、ＲＯＭ等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図３５のフローチャートに示す昇降制御処理を実行する。
図３５は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部１２の昇降制御を行う処理であって、ＣＰＵ６０において実行されると、まず、図３５に示すように、ステップＳ３００に移行する。
【０２６９】
ステップＳ３００では、３次元距離測定装置２００から面データを入力し、ステップＳ３０２に移行して、入力した面データに基づいて、センサ座標系における各測定点の座標をグローバル座標系の座標に変換し、連続面の周縁上の点を階段の特徴点として検出する。
次いで、ステップＳ３０４に移行して、検出した階段の特徴点に基づいて階段の幅を算出し、ステップＳ３０６に移行して、検出した階段の特徴点に基づいて階段の段鼻部の実座標を算出し、ステップＳ３０８に移行する。
【０２７０】
ステップＳ３０８では、算出した階段の幅および段鼻部の実座標、並びに３軸姿勢センサ７０のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップＳ３１０に移行して、ステップＳ３０８の計算結果に基づいて脚先（駆動輪２０）の着地位置を決定し、ステップＳ３１２に移行する。
ステップＳ３１２では、前方脚先センサ２２および下方脚先センサ２４からそれぞれセンサ信号を入力し、ステップＳ３１４に移行して、入力した前方脚先センサ２２のセンサ信号に基づいて蹴込板までの距離を算出し、ステップＳ３１６に移行して、入力した下方脚先センサ２４のセンサ信号に基づいて脚先と踏板の位置関係を算出し、ステップＳ３１８に移行する。
【０２７１】
ステップＳ３１８では、決定した着地位置および算出した両距離に基づいてドライバ４４、５４へのモータ指令信号を生成し、ステップＳ３２０に移行して、生成したモータ指令信号をドライバ４４、５４に出力し、ステップＳ３２２に移行する。
ステップＳ３２２では、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【０２７２】
一方、ステップＳ３２２で、脚先が着地しないと判定したとき(No)は、ステップＳ３１２に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在し、これを乗り越える場合を説明する。
【０２７３】
センシングプロセッサ２１０では、まず、ステップＳ２００を経て、ＣＰＵ６０からの指令信号に基づいて、センシングプロセッサ２１０において走査角度範囲および走査単位角度が設定される。
ここで、２次元距離測定装置２１２は、測距範囲２０〜４０９５[mm]、最大走査角度範囲２４０°、角度分解能０．３６°の２次元レンジセンサであることとする。走査角度範囲が２４０°であれば、図３２に示す走査平面を形成する走査角度範囲と同じとなり、２次元距離測定装置２１２の上方にある下側支持板２０４、プーリ２２０ａ、２２０ｂおよびベルト２２１が走査範囲に含まれないことになる。
【０２７４】
また、第１走査処理に対して、走査角度範囲２４０°および走査単位角度０．３６°が設定され、第２走査処理に対して、走査角度範囲−４０°〜＋４０°および走査単位角度１０°が設定されたとする（この場合は、走査平面が９つ形成される）。走査角度範囲−４０°〜＋４０°であれば、２次元距離測定装置２１２から水平方向に所定距離隔てて配置されたモータ２１６およびエンコーダ２１８が走査範囲に含まれないことになる。
【０２７５】
次いで、ステップＳ２０２を経て、第１走査処理に対して設定された走査角度範囲および走査単位角度に基づいて、ドライバ２１２ｂに指令信号が出力されることにより第１走査処理が実行される。最初は、ｚrs軸回りの走査角度φが０°の位置（原点位置）に対する第１走査処理が実行される。
その結果、ドライバ２１２ｂにより、センシングプロセッサ２１０からの指令信号およびエンコーダ２１２ｄからの出力信号に基づいて、モータ２１２ｃの回転軸が回転駆動し、測距センサ２１２ａがｙrs’軸回りに走査単位角度Δθ＝０．３６°ずつ回転するとともに、各走査角度に応じた距離が測定される。各距離情報は、データ列Ｌ（θi，φj）としてセンシングプロセッサ２１０に出力される。
【０２７６】
なお、ｙrs’軸回りの走査範囲内には、基体１０以外に、２次元距離測定装置２１２の駆動機構等の走査を阻害する物が一切存在しないため、走査範囲内に存在する物体の正確な距離情報を得ることができる。
１つの走査平面に対する第１走査処理が終了すると、ステップＳ２０４を経て、第１走査処理で測定された距離情報に対してフィルタリング処理が行われる。これにより、測定情報におけるノイズ成分が除去される。
【０２７７】
図３６は、第１走査処理による測定結果を示すグラフである。
ここで、ノイズ成分除去後の各測定点の測定距離Ｌ[mm]は、例えば、図３６に示すようになる。図３６において、横軸は、各走査角度に応じた測定点の番号（第１走査角度番号）であり、縦軸は、各走査角度番号の測定点に対する測定距離Ｌ[mm]である。
図３６の例では、脚車輪型ロボット１００の歩行経路上に、段差が一定でかつ踏板が連続面となっている階段が存在することが分かる。
【０２７８】
次いで、ステップＳ２０６を経て、フィルタリング処理後の回転座標系の距離情報が直交座標系の座標情報に変換される。
図３７は、図３６の各測定点の回転座標系の距離情報を直交座標系の座標情報に変換した結果を示すグラフである。
図３６の各測定点の回転座標系の距離情報は、座標変換により、図３７に示すように、各走査角度に対応するｘrs軸方向の距離[mm]とｚrs軸方向の距離[mm]とで表される２次元の座標情報となる。図３７において、横軸は、ｘrs軸方向の距離Ｌx[mm]であり、縦軸は、ｚrs軸方向の距離Ｌz[mm]である。
【０２７９】
次いで、ステップＳ２１０を経て、変換された座標情報に基づいてハフ変換により直交座標系における線分が検出される。
図３８は、直交座標系における測定点およびハフ変換の結果を示すグラフである。
直交座標系において各測定点は、図３８（ａ）に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図３８（ａ）の例では、１段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域Ａ1である。また、領域Ａ2は、他の領域と比べて測定解像度が低くなっている。
【０２８０】
この測定結果に対してハフ変換を行うと、図３８（ｂ）に示すように、各踏板の輪郭に沿った線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、低解像度領域Ａ2では、踏板の輪郭とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、低解像度領域Ａ2を含んでいても、図３８（ｂ）に示すように、踏板の輪郭に比較的沿った線分を検出することができる。
【０２８１】
また、最小二乗法では、１つ１つの測定点を辿って線分を検出するため、誤差領域Ａ1について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、図３８（ｂ）に示すように、誤差領域Ａ1およびその両側の領域を平坦な線分として検出することができる。
【０２８２】
また、最小二乗法では、どこからどこまでの領域を１つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域Ａ1について、実際は誤差領域Ａ1およびその両側の領域が１つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、図３８（ｂ）に示すように、誤差領域Ａ1およびその両側の領域を１つの平坦な線分として検出することができる。
【０２８３】
次いで、ステップＳ２２０、Ｓ２２４を経て、検出された線分の端点が連続面の境界として判定され、連続面の境界として判定された端点の座標情報がセンサ座標系に変換され、変換された座標情報がメモリに記憶される。
１つの走査平面について測定が終了すると、ステップＳ２４０を経て、第２走査処理に対して設定された走査角度範囲および走査単位角度に基づいて、ドライバ２１４に指令信号が出力されることにより第２走査処理が実行される。
【０２８４】
その結果、ドライバ２１４により、センシングプロセッサ２１０からの指令信号およびエンコーダ２１８からの出力信号に基づいて、モータ２１６の回転軸が回転駆動し、２次元距離測定装置２１２がｚrs軸回りに走査単位角度１０°ずつ回転する。第２走査処理によって、２次元距離測定装置２１２の向きが１つ前の状態に対してｚrs軸回りに１０°だけ変化する。そして、この状態で、ステップＳ２０２を経て、第１走査処理が再び実行される。すなわち、ｚrs軸回りに１０°ずれた位置に新たな走査平面が形成され、この走査平面について第１走査処理が実行される。
【０２８５】
ここで、２次元距離測定装置２１２が基体１０の正面に取り付けられているため、基体１０が走査範囲内に含まれてしまうが、脚車輪型ロボット１００の前方および歩行経路上を含む範囲においては阻害物が一切ないため、脚車輪型ロボット１００の歩行制御を行うのに十分な走査範囲が確保できているといえる。
すべての走査平面について測定が終了すると、ステップＳ２３６を経て、メモリに記憶された座標情報に基づいて面データが生成される。
【０２８６】
図３９は、連続面の判定結果を示す図である。
面データは、図３９に示すように、ｚrs軸回りに隣接する走査平面間において、傾きおよび座標が近い線分をつなぎ合わせることで生成される。図３９の例では、例えば、走査平面φ0において、１段目の踏板に対応する領域（φ0、２）の線分と、走査平面φ1において、１段目の踏板に対応する領域（φ1、２）の線分とが１つの連続面を構成すると判定されるので、その連続面については、それら線分の端点の座標情報を対応付けた面データが生成される。
【０２８７】
なお、同様に、走査平面φ0における領域（φ0、２ｉ（ｉは２以上の整数））の線分および走査平面φ1における領域（φ1、２ｉ）の線分が１つの連続面を、走査平面φ0における領域（φ0、２ｊ（ｊは１以上の整数）−１）の線分および走査平面φ1における領域（φ1、２ｊ−１）の線分が１つの連続面を構成すると判定され、面データが生成される。
【０２８８】
面データは、ステップＳ２３８を経て、ハブ７６および通信Ｉ／Ｆ６４を介してＣＰＵ６０に出力される。
ＣＰＵ６０では、面データを入力すると、ステップＳ３０２を経て、入力された面データに基づいて階段の特徴点が検出される。また、入力された面データが解析され、例えば、傾きが０に近い連続面が水平面とみなされ、脚車輪型ロボット１００が歩行可能な面であると判定される。
【０２８９】
歩行可能な面であると判定されると、ステップＳ３０４〜Ｓ３１０を経て、検出された階段の特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。
さらに、ステップＳ３１２〜Ｓ３１６を経て、脚先センサ２２、２４からそれぞれセンサ信号が入力され、蹴込板までの距離および脚先と踏板の位置関係が算出される。そして、ステップＳ３１８、Ｓ３２０を経て、決定された着地位置および算出された両距離に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ４４、５４に出力される。これにより、駆動輪２０が回転するとともに回転関節１４〜１８が駆動し、脚車輪型ロボット１００が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
【０２９０】
なお、段差が一定でかつ踏板が連続面となる階段を例に挙げたが、段差が一定でない階段、蹴込板の無い階段等に対しても、正確にその面を認識することができるので、脚車輪型ロボット１００の階段への適応性を高めることができる。
一方、平地では、脚車輪型ロボット１００は、車輪走行で移動することができる。したがって、車輪型ロボットと同様に平地での移動性が高い。
【０２９１】
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ２１２ａを備え、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された少なくとも２つの測定点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面または連続面の境界を認識する。
【０２９２】
これにより、連続面または連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。
【０２９３】
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
さらに、本実施の形態では、検出した線分の端点の座標に基づいて連続面または連続面の境界を認識する。
これにより、連続面または連続面の境界を比較的正確に認識することができる。
【０２９４】
さらに、本実施の形態では、測距センサ２１２ａをｙrs’軸回りに回転させるモータ２１２ｃ等からなるｙrs’軸回転機構と、測距センサ２１２ａをｚrs軸回りに回転させるモータ２１６等からなるｚrs軸回転機構とを備え、ｙrs’軸回転機構により測距センサ２１２ａを回転させながらｙrs’軸回転機構の走査単位角度ごとに測距センサ２１２ａの測定結果を取得する第１走査を、ｚrs軸回転機構により測距センサ２１２ａを回転させながらｚrs軸回転機構の走査単位角度ごとに行う第２走査を行うことにより、ｙrs’軸回転機構の走査単位角度ごとおよびｚrs軸回転機構の走査単位角度ごとの測定結果を取得する。
【０２９５】
これにより、連続面または連続面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができる。また、測距センサ２１２ａを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができる。
【０２９６】
さらに、本実施の形態では、モータ２１６およびエンコーダ２１８と、２次元距離測定装置２１２とを水平方向に所定距離隔てて配置し、駆動回転軸の回転駆動力を、プーリ２２０ａ、ベルト２２１およびプーリ２２０ｂを介して従動回転軸へと伝達し、２次元距離測定装置２１２をｚrs軸回りに回転駆動する構成とした。
これにより、２次元距離測定装置２１２の走査角度範囲内には、走査を阻害するものが一切なくなるので、正確な距離情報を得ることができる。また、モータ２１６およびエンコーダ２１８と、２次元距離測定装置２１２とを水平方向に配置したので、３次元距離測定装置２００の高さ方向の占有率を低減することができる。
【０２９７】
さらに、本実施の形態では、脚先センサ２２、２４を備え、脚先センサ２２、２４で測定した距離に基づいて階段を認識し、その認識結果に基づいてモータ４０、５０を制御する。
これにより、脚先センサ２２、２４を用いて未知の階段を認識しながら脚部１２の昇降制御を行うので、従来に比して、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
【０２９８】
さらに、本実施の形態では、３次元距離測定装置２００を基体１０の正面に設け、脚先センサ２２、２４を脚部１２の先端に設けた。
これにより、脚車輪型ロボット１００の移動経路上に存在する物体を広い視野で検出することができるとともに、階段昇降時に駆動輪２０と階段の距離を精度よく測定することができる。
【０２９９】
さらに、本実施の形態では、前方脚先センサ２２の測定結果に基づいて階段の蹴込板までの距離を算出し、下方脚先センサ２４の測定結果に基づいて駆動輪２０と階段の踏板の位置関係を算出する。
これにより、階段の特徴のうち脚部１２の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
【０３００】
上記第３の実施の形態において、ステップＳ２０２、Ｓ２４０は、発明１、４若しくは６の測定結果取得手段に対応し、ステップＳ２０６は、発明１の座標変換手段に対応している。また、ステップＳ２１０は、発明１、３若しくは５の線分検出手段に対応し、ステップＳ２２０、Ｓ２３６は、発明１、３若しくは５の認識手段に対応している。
また、上記第３の実施の形態において、ｙrs’軸は、発明６の第１走査軸に対応し、ｚrs軸は、発明６の第２走査軸に対応し、ｙrs’軸回転機構は、発明４若しくは６の第１走査手段、または発明６の第１回転手段に対応し、ｚrs軸回転機構は、発明４若しくは６の第２走査手段、または発明６の第２回転手段に対応している。
【０３０１】
〔第４の実施の形態〕
次に、本発明の第４の実施の形態を図面を参照しながら説明する。図４０および図４１は、本発明に係る脚型ロボットの第４の実施の形態を示す図である。
本実施の形態は、上記第３の実施の形態に対して、直交座標系において、測定点間を線分で接続した上でハフ変換を行う点が異なる。なお、以下、上記第３の実施の形態と異なる部分についてのみ説明し、上記第３の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、３次元距離測定装置２００で実行される物体認識処理を説明する。
【０３０２】
図４０は、３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ２１０において実行されると、図４０に示すように、ステップＳ２００〜Ｓ２０６を経て、ステップＳ２０８に移行する。
ステップＳ２０８では、ステップＳ２０６で変換された座標情報に基づいて、走査平面座標系においてｘ軸方向に隣接する測定点の間を線分で接続し、ステップＳ２１０に移行して、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分を検出する。
【０３０３】
そして、ステップＳ２２０、Ｓ２２４を経て、ステップＳ２２６に移行して、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップＳ２３６、Ｓ２３８を経て、一連の処理を終了する。
一方、ステップＳ２２６で、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了しないと判定したとき(No)は、ステップＳ２４０を経て、ステップＳ２０２に移行する。
【０３０４】
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第３の実施の形態とは、ハフ変換により線分を検出する点が異なるので、異なる部分についてのみ説明する。
ステップＳ２０８、Ｓ２１０を経て、変換された座標情報に基づいて測定点間が線分で接続され、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分が検出される。
【０３０５】
図４１は、直交座標系における測定点、線分接続の結果およびハフ変換の結果を示すグラフである。
直交座標系において各測定点は、図４１（ａ）に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図４１（ａ）の例では、１段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域Ａ1である。また、領域Ａ2は、他の領域と比べて測定解像度が低くなっている。
【０３０６】
この測定結果に対して線分接続を行うと、図４１（ｂ）に示すように、各測定点が１つの線で接続される。これにより、測定点が存在しない測定点間は、線上の点で補間されることになる。
この接続結果に対してハフ変換を行うと、図４１（ｃ）に示すように、各蹴込板および各踏板の輪郭に沿った線分が検出される。
【０３０７】
なお、線分接続を行わず、図４１（ａ）の測定結果に対してハフ変換を行うと、図４４（ｂ）に示すように、各踏板の輪郭に沿った線分が検出されるが、各蹴込板に沿った線分は検出することができない。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ２１２ａを備え、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された測定点間を線分で接続し、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面または連続面の境界を認識する。
【０３０８】
これにより、物体上の連続面または連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。さらに、測定点間を線分で接続して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができる。
【０３０９】
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
上記第４の実施の形態において、ステップＳ２０２、Ｓ２３２は、発明２の測定結果取得手段に対応し、ステップＳ２０６は、発明２の座標変換手段に対応し、ステップＳ２１０は、発明２の線分検出手段に対応している。また、ステップＳ２２０、Ｓ２２８は、発明２の認識手段に対応している。
【０３１０】
〔第５の実施の形態〕
次に、本発明の第５の実施の形態を図面を参照しながら説明する。図４２ないし図４９は、本発明に係る脚型ロボットの第５の実施の形態を示す図である。
本実施の形態は、上記第３の実施の形態に対して、測距センサ２１２ａの測定結果およびカメラ２２２から取得した画像（以下、カメラ画像という。）に基づいて連続面の境界を認識する点が異なる。なお、以下、上記第３の実施の形態と異なる部分についてのみ説明し、上記第３の実施の形態と重複する部分については同一の符号を付して説明を省略する。
【０３１１】
まず、３次元距離測定装置２００の外観構造を説明する。
カメラ２２２は、ｚrs軸の負の方向を向いており、脚車輪型ロボット１００の足元およびその周辺の画像を撮影することができる。カメラ２２２の座標系（以下、カメラ座標系という。）は、センサ座標系と同様に、ｘrs軸、ｙrs軸、ｚrs軸と同一方向をそれぞれｘca軸、ｙca軸、ｚca軸とし、センサ座標系とは原点位置が異なる。すなわち、カメラ２２２は、センサ座標系におけるｘrs−ｙrs平面と、カメラ座標系におけるｘca−ｙca平面とが平行となるように配置されている。なお、ｘrs−ｚrs平面とｘca−ｚca平面、およびｙrs−ｚrs平面とｙca−ｚca平面も同様に平行の関係にある。
【０３１２】
次に、３次元距離測定装置２００の制御構造を説明する。
センシングプロセッサ２１０は、さらに、測距センサ２１２ａの測定結果およびカメラ画像に基づいて連続面の境界を認識する処理を実行する。
次に、カメラ２２２および３次元距離測定装置２００を用いた物体認識の原理を説明する。
【０３１３】
図４２は、カメラ２２２および３次元距離測定装置２００を用いた物体認識の原理を説明するための図である。
まず、図４２に示すように、カメラ２２２により、脚車輪型ロボット１００の足元およびその周辺の画像を撮影し、カメラ画像から線分を検出する。
次いで、３次元距離測定装置２００により、各走査平面ごとに測定された測定点の座標から連続面の境界をセンサ特徴点として判定し、座標変換によりセンサ特徴点をカメラ画像に投影する。
【０３１４】
そして、カメラ画像から検出した線分（以下、カメラ画像の線分という。）と、センサ特徴点の投影点との位置関係に基づいて連続面の境界を認識する。
これにより、３次元距離測定装置２００により得られたセンサ特徴点にのみ基づいて認識を行う場合、およびカメラ画像にのみ基づいて認識を行う場合よりも、認識精度を向上することができる。
【０３１５】
次に、３次元距離測定装置２００で実行される物体認識処理を説明する。
図４３は、３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ２１０において実行されると、図４３に示すように、まず、ステップＳ１５０に移行する。
【０３１６】
ステップＳ１５０では、カメラ２２２から画像を取得し、ステップＳ１５２に移行して、カメラ画像に対して歪み補正処理を実行し、ステップＳ１５４に移行して、歪み補正されたカメラ画像からSobel、Cannyフィルタ等によりエッジを抽出するエッジ抽出処理を実行し、ステップＳ１５６に移行して、エッジ抽出されたカメラ画像からハフ変換により線分を検出する。
【０３１７】
次いで、ステップＳ２００〜Ｓ２２０を経て、ステップＳ２２４に移行して、連続面の境界として判定した端点の座標情報をセンサ座標系に変換し、変換された座標情報をメモリに記憶し、ステップＳ２２６に移行する。
ステップＳ２２６では、第２走査処理の走査角度範囲および走査単位角度に対応するすべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップＳ２２８に移行する。
【０３１８】
ステップＳ２２８では、メモリに記憶された座標情報に基づいて、連続面の境界として判定した端点をセンサ特徴点とし、座標変換によりセンサ特徴点をカメラ画像に投影する。
図４４は、センサ座標系、カメラ座標系およびカメラ２２２の撮像素子面の座標系を示す図である。
【０３１９】
センサ特徴点は、一般的なピンホールモデルを用いてカメラ画像に投影することができる。
カメラ２２２の撮像素子面の座標系をΣcm、測距センサ２１２ａとカメラ２２２との相対位置をｒ＝（ｒx、ｒy、ｒz）、カメラ２２２のレンズの焦点距離をｆ、撮像素子の有効画素幅をＷ、撮像素子の有効画素高さをＨすると、センサ座標系におけるＰ（ｘrs1、ｙrs1、ｚrs1）rs＝（ｘrs1−ｒx、ｙrs1−ｒy、ｚrs1−ｒz）caは、図４４（ａ）、（ｂ）に示すように、撮像素子面の座標系における座標Ｐ’に投影することができる。座標Ｐ’は、下式（16）により求めることができる。
【０３２０】
【数８】
2009096335.tif 000010
【０３２１】
なお、図４４および上式（16）において、センサ座標系Σrs、カメラ座標系Σca、撮像素子面の座標系Σcmでの座標（ａ、ｂ、ｃ）をそれぞれ（ａ、ｂ、ｃ）rs、（ａ、ｂ、ｃ）ca、（ａ、ｂ、ｃ）cmと表記する。
【０３２２】
次いで、図４３に示すように、ステップＳ２３０に移行して、カメラ画像において、カメラ画像の各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在するセンサ特徴点とを対応付け、ステップＳ２３２に移行して、同一のセンサ特徴点が対応付けられた線分をグループ化し、ステップＳ２３４に移行して、同一グループに属する線分の端点の座標に基づいて連続面の境界線を判定する。
【０３２３】
図４５は、カメラ画像の線分およびセンサ特徴点の対応付け、グループ化および境界線の判定を行う場合を説明するための図である。
図４５（ａ）に示すように、カメラ画像から傾きが近い２つの線分ｌ1、ｌ2が検出され、線分ｌ1、ｌ2の周辺に４つの投影点Ｐ1〜Ｐ4が得られたとする。この場合、線分ｌ1を延長した直線から所定距離内に投影点Ｐ2、Ｐ3、Ｐ4が存在するため、同図（ｂ）に示すように、線分ｌ1に対して投影点Ｐ2、Ｐ3、Ｐ4が対応付けられる。また、線分ｌ2を延長した直線から所定距離内に投影点Ｐ1、Ｐ2、Ｐ3が存在するため、線分ｌ2に対して投影点Ｐ1、Ｐ2、Ｐ3が対応付けられる。
【０３２４】
次いで、線分ｌ1、ｌ2には、投影点Ｐ2、Ｐ3が共通して対応付けられているので、線分ｌ1、ｌ2が１つのグループとしてグループ化される。
そして、同一グループに属する線分ｌ1の端点Ｐ5、Ｐ6および線分ｌ2の端点Ｐ7、Ｐ8の座標に基づいて、同図（ｃ）に示すように、最小二乗法により直線近似が行われ、得られた直線が連続面の境界線として判定される。
【０３２５】
これにより、コントラスト等の影響により、カメラ画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、センサ特徴点との対応関係に基づいて複数の線分を１つの線分としてグループ化し、連続面の境界線を判定することができる。
次いで、図４３に示すように、ステップＳ２３７に移行して、連続面の境界線として判定した直線に関する情報に基づいて境界データを生成し、ステップＳ２３９に移行して、ハブ７６および通信Ｉ／Ｆ６４を介して、生成した境界データをＣＰＵ６０に出力し、一連の処理を終了する。
【０３２６】
一方、ステップＳ２２６で、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了しないと判定したとき(No)は、ステップＳ２４０を経て、ステップＳ２０２に移行する。
次に、昇降制御処理を説明する。
図４６は、昇降制御処理を示すフローチャートである。
【０３２７】
昇降制御処理は、ＣＰＵ６０において実行されると、まず、図４６に示すように、ステップＳ３０１に移行する。
ステップＳ３０１では、３次元距離測定装置２００から境界データを入力し、ステップＳ３０２に移行して、入力した境界データに基づいて、カメラ座標系の座標をグローバル座標系の座標に変換し、連続面の境界線上の点を階段の特徴点として検出する。
【０３２８】
次いで、ステップＳ３０２〜Ｓ３２０を経て、ステップＳ３２２に移行して、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ３２２で、脚先が着地しないと判定したとき(No)は、ステップＳ３１２に移行する。
【０３２９】
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第３の実施の形態とは、測距センサ２１２ａの測定結果およびカメラ画像に基づいて連続面の境界を認識する点が異なるので、異なる部分についてのみ説明する。
図４７は、カメラ画像の処理結果を示す図である。
【０３３０】
センシングプロセッサ２１０では、まず、ステップＳ１５０を経て、カメラ２２２から画像が取得される。例えば、図４７（ａ）に示すような画像が得られたとする。次いで、ステップＳ１５２を経て、カメラ画像に対して歪み補正処理が実行され、同図（ｂ）に示すように、歪みが補正された画像が得られる。次いで、ステップＳ１５４を経て、歪み補正されたカメラ画像に対してエッジ抽出処理が実行され、同図（ｃ）に示すように、エッジだけが抽出された画像が得られる。そして、ステップＳ１５６を経て、エッジ抽出されたカメラ画像から線分が検出される。その結果、同図（ｄ）に示すように、６つの線分が得られる。
【０３３１】
次いで、ステップＳ２００〜Ｓ２２６を経て、すべての走査平面について第１走査処理による測定結果が得られる。
すべての走査平面について測定が終了すると、ステップＳ２２８を経て、メモリに記憶された座標情報に基づいて座標変換によりセンサ特徴点がカメラ画像に投影される。
図４８は、連続面の判定結果を示す図である。
【０３３２】
図４９は、センサ特徴点のカメラ画像への投影結果を示す図である。
走査平面φ0については、図４８に示すように、（１）床面に対応する領域（φ0、０）と１段目の蹴込板に対応する領域（φ0、１）との交点、（２）領域（φ0、１）と１段目の踏板に対応する領域（φ0、２）との交点、（３）領域（φ0、２）と２段目の蹴込板に対応する領域（φ0、３）との交点、および（４）領域（φ0、３）と２段目の踏板に対応する領域（φ0、４）との交点の４つの交点がセンサ特徴点として判定される。したがって、この４つのセンサ特徴点は、図４９に示すように、カメラ画像を中央右上から中央左下にきる走査平面φ0上の投影点としてカメラ画像に投影される。
【０３３３】
走査平面φ1については、図４８に示すように、（１）床面に対応する領域（φ1、０）と１段目の蹴込板に対応する領域（φ1、１）との交点、（２）領域（φ1、１）と１段目の踏板に対応する領域（φ1、２）との交点、（３）領域（φ1、２）と２段目の蹴込板に対応する領域（φ1、３）との交点、および（４）領域（φ1、３）と２段目の踏板に対応する領域（φ1、４）との交点の４つの交点がセンサ特徴点として判定される。したがって、この４つのセンサ特徴点は、図４９に示すように、カメラ画像を中央真上から中央真下にきる走査平面φ1上の投影点としてカメラ画像に投影される。
【０３３４】
走査平面φ2については、図４８に示すように、（１）床面に対応する領域（φ2、０）と１段目の蹴込板に対応する領域（φ2、１）との交点、（２）領域（φ2、１）と１段目の踏板に対応する領域（φ2、２）との交点、（３）領域（φ2、２）と２段目の蹴込板に対応する領域（φ2、３）との交点、および（４）領域（φ2、３）と２段目の踏板に対応する領域（φ2、４）との交点の４つの交点がセンサ特徴点として判定される。したがって、この４つのセンサ特徴点は、図４９に示すように、カメラ画像を中央左上から中央右下にきる走査平面φ2上の投影点としてカメラ画像に投影される。
【０３３５】
次いで、ステップＳ２３０〜Ｓ２３４を経て、カメラ画像において、カメラ画像の線分とセンサ特徴点が対応付けられ、同一のセンサ特徴点が対応付けられた線分がグループ化され、同一グループに属する線分の端点の座標に基づいて直線近似により連続面の境界線が判定される。図４９の例では、カメラ画像の線分と各投影点の位置関係から２つの直線が連続面の境界線として判定される。
【０３３６】
そして、ステップＳ２３７、Ｓ２３９を経て、連続面の境界線として判定された直線に関する情報に基づいて境界データが生成され、生成された境界データがＣＰＵ６０に出力される。
ＣＰＵ６０では、境界データを入力すると、ステップＳ３０２を経て、入力された境界データに基づいて階段の特徴点が検出される。また、入力された境界データが解析され、例えば、傾きが０に近い連続面が水平面とみなされ、脚車輪型ロボット１００が歩行可能な面であると判定される。
【０３３７】
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ２１２ａと、測距センサ２１２ａの走査範囲で測定可能な測定点を含む画像を撮影するカメラ２２２とを備え、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果に基づいてセンサ特徴点を検出し、カメラ２２２から画像を取得し、カメラ画像から線分を検出し、検出したカメラ画像の線分およびセンサ特徴点に基づいて連続面の境界を認識する。
【０３３８】
これにより、測距センサ２１２ａのほか、これとは異なる方式のカメラ２２２を用いて物体上の特徴をそれぞれ検出し、それら２つの検出結果に基づいて連続面の境界を認識するので、測距センサ２１２ａによる方式の短所をカメラ２２２による方式で補うことができ、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、認識精度が低下する可能性を低減することができる。また、第２走査処理の走査回数を増やさなくてすむので、測定時間を短縮することができる。
【０３３９】
さらに、本実施の形態では、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された少なくとも２つの測定点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいてセンサ特徴点を検出する。
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。
【０３４０】
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
さらに、本実施の形態では、検出した線分の端点の座標に基づいてセンサ特徴点を検出する。
これにより、連続面の境界を比較的正確に認識することができる。
【０３４１】
さらに、本実施の形態では、カメラ画像から線分を検出し、カメラ画像において、カメラ画像の線分とセンサ特徴点の位置関係に基づいて連続面の境界を認識する。
これにより、認識精度が低下する可能性をさらに低減することができる。
さらに、本実施の形態では、カメラ画像の各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在するセンサ特徴点とを対応付け、同一のセンサ特徴点が対応付けられた線分をグループ化し、同一グループに属する線分の端点の座標に基づいて連続面の境界線を判定する。
【０３４２】
これにより、コントラスト等の影響により、カメラ画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、センサ特徴点との対応関係に基づいて複数の線分を１つの線分としてグループ化し、連続面の境界線を判定するので、認識精度が低下する可能性をさらに低減することができる。
上記第５の実施の形態において、カメラ２２２は、発明７、１４または１６の撮像手段に対応し、ｙrs’軸回転機構は、発明１１若しくは１２の第１走査手段、または発明１２の第１回転手段に対応し、ｚrs軸回転機構は、発明１１若しくは１２の第２走査手段、または発明１２の第２回転手段に対応している。また、ステップＳ１５２〜Ｓ１５６は、発明７、８若しくは１４の第２特徴検出手段に対応し、ステップＳ１５６は、発明１４または１５の画像線分検出手段に対応している。
【０３４３】
また、上記第５の実施の形態において、ステップＳ２０６、Ｓ２１０、Ｓ２２０は、発明７、８若しくは１４の第１特徴検出手段に対応し、ステップＳ２０２、Ｓ２４０は、発明７、８、１１、１２若しくは１４の測定結果取得手段に対応している。また、ステップＳ２０６は、発明８の座標変換手段に対応し、ステップＳ２１０は、発明８の線分検出手段に対応し、ステップＳ２３４は、発明７、８、１４若しくは１５の認識手段に対応している。
また、上記第５の実施の形態において、ｙrs’軸は、発明１２の第１走査軸に対応し、ｚrs軸は、発明１２の第２走査軸に対応している。
【０３４４】
〔第６の実施の形態〕
次に、本発明の第６の実施の形態を図面を参照しながら説明する。図５０は、本発明に係る脚型ロボットの第６の実施の形態を示す図である。
本実施の形態は、上記第５の実施の形態に対して、直交座標系において、測定点間を線分で接続した上でハフ変換を行う点が異なる。なお、以下、上記第５の実施の形態と異なる部分についてのみ説明し、上記第５の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、３次元距離測定装置２００で実行される物体認識処理を説明する。
【０３４５】
図５０は、３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ２１０において実行されると、図５０に示すように、ステップＳ１５０〜Ｓ２０６を経て、ステップＳ２０８に移行する。
ステップＳ２０８では、ステップＳ２０６で変換された座標情報に基づいて、走査平面座標系においてｘ軸方向に隣接する測定点の間を線分で接続し、ステップＳ２１０に移行して、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分を検出する。
【０３４６】
そして、ステップＳ２２０、Ｓ２２４を経て、ステップＳ２２６に移行して、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップＳ２２８〜Ｓ２３９を経て、一連の処理を終了する。
一方、ステップＳ２２６で、すべての走査平面についてステップＳ２０２〜Ｓ２２４の処理が終了しないと判定したとき(No)は、ステップＳ２４０を経て、ステップＳ２０２に移行する。
【０３４７】
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第５の実施の形態とは、ハフ変換により線分を検出する点が異なるので、異なる部分についてのみ説明する。
ステップＳ２０８、Ｓ２１０を経て、変換された座標情報に基づいて測定点間が線分で接続され、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分が検出される。
【０３４８】
直交座標系において各測定点は、図４１（ａ）に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図４１（ａ）の例では、１段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域Ａ1である。また、領域Ａ2は、他の領域と比べて測定解像度が低くなっている。
【０３４９】
この測定結果に対して線分接続を行うと、図４１（ｂ）に示すように、各測定点が１つの線で接続される。これにより、測定点が存在しない測定点間は、線上の点で補間されることになる。
この接続結果に対してハフ変換を行うと、図４１（ｃ）に示すように、各蹴込板および各踏板の輪郭に沿った線分が検出される。
【０３５０】
なお、線分接続を行わず、図４１（ａ）の測定結果に対してハフ変換を行うと、図４４（ｂ）に示すように、各踏板の輪郭に沿った線分が検出されるが、各蹴込板に沿った線分は検出することができない。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ２１２ａを備え、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された測定点間を線分で接続し、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面の境界を認識する。
【０３５１】
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。さらに、測定点間を線分で接続して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができる。
【０３５２】
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
上記第６の実施の形態において、ステップＳ１５２〜Ｓ１５６は、発明９の第２特徴検出手段に対応し、ステップＳ２０６〜Ｓ２１０、Ｓ２２０は、発明９の第１特徴検出手段に対応し、ステップＳ２０２、Ｓ２４０は、発明９の測定結果取得手段に対応している。また、ステップＳ２０６は、発明９の座標変換手段に対応し、ステップＳ２０８は、発明９の測定点間補間手段に対応し、ステップＳ２１０は、発明９の線分検出手段に対応し、ステップＳ２３４は、発明９の認識手段に対応している。
【０３５３】
〔第７の実施の形態〕
次に、本発明の第７の実施の形態を図面を参照しながら説明する。図５１ないし図５４は、本発明に係る脚型ロボットの第７の実施の形態を示す図である。
【０３５４】
本実施の形態は、上記第５の実施の形態に対して、直交座標系における各測定点での傾きを算出し、各傾きの出現頻度を算出し、算出した出現頻度および各測定点の座標に基づいて連続面の境界を認識する点が異なる。なお、以下、上記第５の実施の形態と異なる部分についてのみ説明し、上記第５の実施の形態と重複する部分については同一の符号を付して説明を省略する。
【０３５５】
まず、３次元距離測定装置２００で実行される物体認識処理を説明する。
図５１は、３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ２１０において実行されると、図５１に示すように、ステップＳ１５０〜Ｓ２０６を経て、ステップＳ４０８に移行する。
【０３５６】
ステップＳ４０８では、ステップＳ２０６で変換された座標情報に基づいて、直交座標系における各測定点での傾きを算出する。
図５２は、傾きの算出例を示す図である。なお、同図のｘ軸、ｚ軸は、走査平面座標系における軸を示し、センサ座標系およびカメラ座標系における軸とは別個のものである。
測定点での傾きは、走査平面座標系において、各測定点ごとに、その測定点の座標と、ｘ軸方向に隣接する所定数の測定点の座標とに基づいて、図５２（ａ）に示すように、最小二乗法により算出することができる。
【０３５７】
図５２（ａ）に示すように、最小二乗法により、傾きの算出対象の測定点（図５２（ａ）中の白丸）を含む前後所定数の測定点に対する回帰直線を近似し、回帰直線の傾きを対象の測定点での傾きとする。最小二乗法は、データのばらつきによる影響は少ないが、計算量が比較的多くなる。
また、別の方法として、各測定点に対して、所定数の他の測定点を挟む前後２つの測定点の座標の差分値に基づいて傾きを算出することもできる。
【０３５８】
図５２（ｂ）に示すように、前後２つの測定点のｚ座標の差分値である第１差分値（例えば、注目する測定点のｚ座標をｚiとすると、ｚi+2−ｚi-2）を算出するとともに、前後２つの測定点のｘ座標の差分値である第２差分値（例えば、注目する測定点のｘ座標をｘiとすると、ｘi+2−ｘi-2）を算出し、これら算出結果から、注目する測定点での傾き（第１差分値／第２差分値）を求める。この方法では、データのばらつきによる影響が最小二乗法よりも大きくなるが、計算が、単純な引き算と割り算のみで済むため最小二乗法よりも高速に傾きを算出することができる。
【０３５９】
次いで、図５１に示すように、ステップＳ４１０に移行して、ステップＳ４０８で算出した傾きの総数に対する各傾きの出現頻度を算出する。例えば、測定点の総数に対する各傾きの測定点の個数を出現頻度として算出する。
次いで、ステップＳ４１２に移行して、ステップＳ４１０で算出した各傾きの出現頻度のなかから未処理の傾きの出現頻度を選択し、ステップＳ４１４に移行して、選択した出現頻度とあらかじめ設定された閾値とを比較し、選択した出現頻度が閾値以上であるか否かを判定し、閾値以上であると判定したとき(Yes)は、ステップＳ４１６に移行する。
【０３６０】
ステップＳ４１６では、選択した出現頻度に係る傾きおよびその所定範囲の傾きを有する測定点の座標情報に基づいて、それら測定点のうち座標が連続するものを含む領域を連続面であると判定し、連続面であると判定した領域において、傾きが急激に変化する測定点を連続面の境界として判定する。
次いで、ステップＳ４１８に移行して、連続面の境界として判定した測定点の座標情報をセンサ座標系に変換し、変換された座標情報をメモリに記憶し、ステップＳ４２０に移行する。
【０３６１】
ステップＳ４２０では、すべての傾きについてステップＳ４１４〜Ｓ４１８、Ｓ４３４の処理が終了したか否かを判定し、終了したと判定したとき(Yes)は、ステップＳ２２６に移行する。
ステップＳ２２６では、すべての走査平面についてステップＳ２０２〜Ｓ４２０の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップＳ２２８〜Ｓ２３９を経て、一連の処理を終了する。
【０３６２】
一方、ステップＳ２２６で、すべての走査平面についてステップＳ２０２〜Ｓ４２０の処理が終了しないと判定したとき(No)は、ステップＳ２４０を経て、ステップＳ２０２に移行する。
一方、ステップＳ４２０で、すべての傾きについてステップＳ４１４〜Ｓ４１８、Ｓ４３４の処理が終了しないと判定したとき(No)は、ステップＳ４１２に移行する。
【０３６３】
一方、ステップＳ４１４で、選択した出現頻度が閾値未満であると判定したとき(No)は、ステップＳ４３４に移行して、選択した出現頻度に係る傾きを有する測定点の座標情報を測定ノイズとして除外し、ステップＳ４２０に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット１００の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第５の実施の形態とは、傾きの出現頻度に基づいて連続面の境界を判定する点が異なるので、異なる部分についてのみ説明する。
【０３６４】
まず、ステップＳ４０８を経て、変換された座標情報に基づいて各測定点での傾きが算出される。
図５３は、最小二乗法により算出したｘ軸方向およびｚ軸方向の傾きの一例を示す図である。
ここでは、最小二乗法により各測定点での傾きを算出する。ここで、最小二乗法を用いた場合に、図５３（ａ）および（ｂ）に示すように、最小二乗法を適用する複数の測定点に対して、ｘ軸方向の傾きと、ｚ軸方向の傾きとが異なる場合がある。そこで、下式（17）および（18）に示すように、ｘ軸方向およびｚ軸方向の傾きを求める２つの直線の方程式を用いて最小二乗法計算を行う。
ｚ＝ａx・ｘ＋ｂx                                              …（17）
ｘ＝ａz・ｚ＋ｂz                                              …（18）
そして、上式（17）におけるａxおよびｂxを下式（19）により算出し、上式（18）におけるａzおよびｂzを下式（20）により算出する。
【０３６５】
【数９】
2009096335.tif 000011
【０３６６】
ａxおよびｂx、並びにａzおよびｂzを算出すると、これらの算出結果を代入した、上式（17）および（18）の直線と、最小二乗計算に用いた各測定点との距離を残差ｈxおよびｈzとして算出するとともに、前記各測定点に対する残差ｈxの二乗和と、残差ｈzの二乗和とを算出する（下式（21））。
【０３６７】
【数１０】
2009096335.tif 000012
【０３６８】
残差ｈxの二乗和および残差ｈzの二乗和が算出されると、両者を比較して値の小さい方の直線を、正しい直線として採用し、この直線の傾きに基づいて、算出対象の測定点での傾きを求める。具体的に、残差ｈxの二乗和の方が小さければ、「ａ＝ａx、ｂ＝ｂx」とし、残差ｈzの二乗和の方が小さければ、「ａ＝１／ａz、ｂ＝１／ｂz」とする。
【０３６９】
次いで、ステップＳ４１０〜Ｓ４１４を経て、各傾きの出現頻度が算出され、未判定の傾きの出現頻度が選択され、選択された出現頻度が閾値以上であるか否かが判定される。このとき、閾値以上であれば、ステップＳ４１６を経て、選択された出現頻度に係る傾きおよびその所定範囲の傾きを有する測定点の座標情報に基づいて連続面の境界が判定される。
【０３７０】
図５４は、ある走査平面に対する傾きの出現頻度の一例を示す図である。
例えば、図５４に示すような出現頻度が得られたとする。図５４の例では、傾きが０近傍の出現頻度が比較的高くなっており、これらの傾きを有する測定点の座標が連続していれば、その連続する測定点を含む領域が連続面であると判定される。脚車輪型ロボット１００の移動経路上には、段差が一定でかつ踏板が連続面となっている階段が存在しているため、踏板に対応する水平面が、傾き０および略０の測定点の連続する座標として現われる。この場合、そこに水平面があると推定することができる。
【０３７１】
そして、連続面であると判定された領域において、傾きが急激に変化する測定点が連続面の境界として判定される。図４８の例では、ある走査平面について、（１）床面に対応する領域と１段目の蹴込板に対応する領域との交点、（２）領域と１段目の踏板に対応する領域との交点、（３）領域と２段目の蹴込板に対応する領域との交点、（４）領域と２段目の踏板に対応する領域との交点の４つの交点が、連続面の境界として判定される。
【０３７２】
次いで、ステップＳ４１８を経て、連続面の境界として判定された測定点の座標情報がセンサ座標系に変換され、変換された座標情報がメモリに記憶される。
一方、閾値未満であれば、ステップＳ４３４を経て、測定ノイズとして測定点の座標情報が除外される。
ステップＳ４１４〜Ｓ４１８、Ｓ４３４の処理は、すべての傾きについて行われる。
【０３７３】
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ２１２ａを備え、測距センサ２１２ａを走査し、その走査範囲で測定可能な測定点について測距センサ２１２ａの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された各測定点ごとに、その測定点の座標およびその周辺の測定点の座標に基づいて直交座標系におけるその測定点での傾きを算出し、算出した傾きの総数に対する各傾きの出現頻度を算出し、算出した出現頻度および変換された各測定点の座標に基づいて連続面の境界を認識する。
【０３７４】
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、測定点での傾きの出現頻度および各測定点の座標に基づいて連続面の境界を認識するので、測距センサ２１２ａを用いた２次元距離測定装置２１２により物体認識を行う場合に、認識精度が低下する可能性を低減することができる。
【０３７５】
上記第７の実施の形態において、ステップＳ１５２〜Ｓ１５６は、発明１０の第２特徴検出手段に対応し、ステップＳ２０６、Ｓ４０８〜Ｓ４１６は、発明１０の第１特徴検出手段に対応し、ステップＳ２０２、Ｓ２４０は、発明１０の測定結果取得手段に対応している。また、ステップＳ２０６は、発明１５の座標変換手段に対応し、ステップＳ４０８は、発明１０の傾き算出手段に対応し、ステップＳ４１０は、発明１０の出現頻度算出手段に対応し、ステップＳ２３４は、発明１０の認識手段に対応している。
【０３７６】
なお、上記第３および第４の実施の形態においては、物体上の連続面または連続面の境界を認識するように構成したが、これに限らず、物体上の断続面その他の面またはその境界を認識するように構成することもできる。
また、上記第４および第６の実施の形態においては、隣接する測定点の間を線分で接続するように構成したが、これに限らず、直線、多次曲線その他の曲線で測定点間を接続し、または直線、線分、多次曲線その他の曲線で測定点間を近似するように構成することもできる。この場合、必ずしも、測定点が線上に位置しなくてもよいし、隣接する測定点同士を対象としなくてもよい。
【０３７７】
また、上記第４および第６の実施の形態においては、線分接続により得られた線上の点の座標に基づいてハフ変換により線分を検出するように構成したが、これに限らず、得られた線から所定距離内に存在する点の座標に基づいてハフ変換により線分を検出するように構成することもできる。
また、上記第５ないし第７の実施の形態において、３次元距離測定装置２００は、測距センサ２１２ａをｙrs’軸回りに回転させ、２次元距離測定装置２１２をｚrs軸回りに回転させる構成としたが、これに限らず、複数の測距センサ２１２ａと、測距センサ２１２ａの測定方向に対して直交する走査軸の回りに測距センサ２１２ａをそれぞれ回転させる複数の回転機構とを備え、各測距センサ２１２ａをｚrs軸回りに配置する構成とすることもできる。
【０３７８】
これにより、上記第５ないし第７の実施の形態と同様に、連続面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット１００のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
また、上記第５ないし第７の実施の形態においては、カメラ画像からハフ変換により線分を検出するように構成したが、これに限らず、次のような検出方法により線分を検出するように構成することもできる。
【０３７９】
第１の検出方法としては、エッジ抽出処理のパラメータを変えてエッジ抽出処理を複数回実行し、エッジ抽出された各カメラ画像からハフ変換により線分を検出する。そして、検出したすべての線分に基づいて連続面の境界を認識する。これにより、認識精度が低下する可能性をさらに低減することができる。
第２の検出方法としては、シャッター速度や絞り等のカメラ２２２の撮影条件を変えて複数の画像をカメラ２２２から取得し、それらカメラ画像に対して歪み補正処理およびエッジ抽出処理をそれぞれ実行し、エッジ抽出された各カメラ画像からハフ変換により線分を検出する。そして、検出したすべての線分に基づいて連続面の境界を認識する。これにより、認識精度が低下する可能性をさらに低減することができる。
【０３８０】
また、上記第５ないし第７の実施の形態においては、物体上の連続面の境界を認識するように構成したが、これに限らず、物体上の連続面、断続面その他の面またはその境界を認識するように構成することもできる。
また、上記第５ないし第７の実施の形態においては、連続面の境界線として判定した直線に関する情報に基づいて境界データを生成するように構成したが、これに限らず、例えば、連続面の境界線として判定した直線に関する情報およびセンサ特徴点の座標情報に基づいて面データを生成するように構成することもできる。
【０３８１】
連続面の境界として判定したセンサ特徴点を結ぶ線分は、連続面と走査平面が交わる交線であるので、面データの生成は、例えば、ある走査平面においてセンサ特徴点を結ぶ線分と、ｚ軸回りに隣接する走査平面においてセンサ特徴点を結ぶ線分との傾きおよび座標が所定範囲にあるものを連続面と判定し、それら線分および連続面の境界線として判定した直線に対応する座標情報を対応付けたり、公知の補間法を用いてつなぎ合わせたりすることにより行う。例えば、傾きが０に近い連続面は、水平面とみなすことができるので、そこが歩行可能な面であると判定することができる。
【０３８２】
また、上記第５ないし第７の実施の形態においては、座標変換によりセンサ特徴点をカメラ画像に投影するように構成したが、これに限らず、カメラ画像の線分を走査平面座標系の平面に投影してもよいし、センサ特徴点およびカメラ画像の線分を他の座標系の平面または空間に投影してもよい。すなわち、カメラ画像の線分とセンサ特徴点の位置関係を判定する座標系は任意とすることができる。
【０３８３】
また、上記第５ないし第７の実施の形態においては、カメラ画像から線分を検出し、検出した線分に基づいて連続面の境界を認識するように構成したが、これに限らず、物体上の特徴を示す点、直線、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴をカメラ画像から検出し、検出した特徴に基づいて連続面の境界を認識するように構成することもできる。
【０３８４】
また、上記第５ないし第７の実施の形態においては、測距センサ２１２ａの測定結果に基づいてセンサ特徴点を検出し、検出したセンサ特徴点に基づいて連続面の境界を認識するように構成したが、これに限らず、物体上の特徴を示す直線、線分、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴を検出し、検出した特徴に基づいて連続面の境界を認識するように構成することもできる。
【０３８５】
また、上記第５ないし第７の実施の形態においては、センサ座標系におけるｘrs−ｙrs平面と、カメラ座標系におけるｘca−ｙca平面とが平行となるようにカメラ２２２を配置したが、これに限らず、測距センサ２１２ａの走査範囲で測定可能な測定点を含む画像を撮影できれば、測距センサ２１２ａに対して任意の位置および向きで配置することができる。
【０３８６】
また、上記第３ないし第７の実施の形態においては、エンコーダ２１８を駆動回転軸に設けて構成としたが、これに限らず、従動回転軸に設けて構成とすることもできる。
これにより、伝達誤差の影響を受けずに第２走査処理における走査角度を高精度に検出することができる。
また、上記第３ないし第７の実施の形態においては、プーリ２２０ａ、２２０ｂおよびベルト２２１を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成としたが、これに限らず、複数の歯車を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成とすることもできる。
【０３８７】
また、上記第３ないし第７の実施の形態においては、第１走査処理における距離情報の取得を離散的（第２走査処理で回転させてから第１走査処理で距離情報を取得）に行う構成としたが、これに限らず、走査角度と測定距離との対応付けを行うことで連続的（第２走査処理で回転させつつ、第１走査処理で距離情報を取得）に行う構成とすることもできる。
【０３８８】
また、上記第３ないし第７の実施の形態においては、ＣＰＵ６０からの指令信号に基づいて、走査角度範囲および走査単位角度を設定するように構成としたが、これに限らず、３次元距離測定装置２００にあらかじめ設定しておく構成とすることもできる。
また、上記第３ないし第７の実施の形態において、３次元距離測定装置２００は、測距センサ２１２ａをｙrs’軸回りに回転させ、２次元距離測定装置２１２をｚrs軸回りに回転させる構成としたが、これに限らず、測距センサ２１２ａをｚrs軸回りに回転させ、２次元距離測定装置２１２をｙrs’軸回りに回転させる構成とすることもできる。また、ｙrs’軸およびｚrs軸回りに限らず、測距センサ２１２ａの測定方向に対して互いに直交する２つの軸であれば、どの方向の軸回りでもよい。さらに、このような回転機構に限らず、測距センサ２１２ａの測定方向とは異なる第１走査方向に測距センサ２１２ａを移動させ、測距センサ２１２ａの測定方向および第１走査方向とは異なる第２走査方向に測距センサ２１２ａを移動させるように移動機構として構成することもできる。この場合、移動経路の形状としては、直線のほか円弧その他の曲線を採用することができる。回転機構と移動機構の組み合わせることもできる。
【０３８９】
このような構成の変更は、複数の測距センサ２１２ａおよび回転機構を備える上記構成についても同様に適用することができる。
また、上記第５ないし第７の実施の形態においては、図５５（ａ）に示すように、２次元距離測定装置２１２自身を回転させているが、これに限らず、光学式の測距センサを有する２次元距離測定装置であれば、図５５（ｂ）に示すように、測定方向の光軸上に挿入したミラーを回転させてもよい。
【０３９０】
図５５は、測距センサの測定方向を変更する場合の構成を示す図である。
また、上記第３ないし第７の実施の形態は、独立の実施の形態として説明したが、上記第１または第２の実施の形態に対して上記第３ないし第７の実施の形態を適用することもできる。
また、上記第３ないし第７の実施の形態においては、本発明に係る脚型ロボットを、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
【０３９１】
また、上記第３ないし第７の実施の形態においては、本発明に係る脚型ロボットを脚車輪型ロボット１００に適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。例えば、直動関節で脚構造を実現する脚車輪型ロボットや他の構成のロボット、車両その他の装置に適用することができる。また、認識情報の伝達手段と組み合わせることにより視覚障害者が外界を認識するための手段としての装置、認識方法への展開も考えられる。
【図面の簡単な説明】
【０３９２】
【図１】脚車輪型ロボット１００の正面図である。
【図２】脚車輪型ロボット１００の側面図である。
【図３】障害物センサ３４、３６の構成を示す図である。
【図４】脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの断面図である。
【図５】脚部１２のうち回転関節１８および駆動輪２０が連結するリンクの側面図である。
【図６】脚車輪型ロボット１００の移動制御システムを示すブロック図である。
【図７】平坦面８１の平面図である。
【図８】接地前後の状態を示す脚部１２の断面図である。
【図９】分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部１２の断面図である。
【図１０】互いに直交する２つの面に力センサ８２ａ、９７を設置した場合の脚部１２の断面図である。
【図１１】複数の力センサ８２を設置した場合の接地前後の状態を示す脚部の断面図である。
【図１２】分布型の力センサ８２ａを設置した場合の接地前後の状態を示す脚部の断面図である。
【図１３】昇降制御処理を示すフローチャートである。
【図１４】光切断法の原理を説明するための図である。
【図１５】階段にレーザ光を照射した状態およびカメラ３２の撮像素子の画像を示す図である。
【図１６】（ａ）及び（ｂ）は、脚車輪型ロボット１００の車輪走行移動時の姿勢を示す図である。
【図１７】無変向走行制御時の脚車輪型ロボット１００の走行状態例を示す図である。
【図１８】（ａ）及び（ｂ）は、基体１０の座標（０，０）及び座標（ｘｃ，ｙｃ）を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット１００の走行状態を示す図である。
【図１９】（ａ）及び（ｂ）は、脚車輪型ロボット１００の走行経路の一例を示す図である。
【図２０】ロボットの重心位置の一例を示す図である。
【図２１】脚車輪型ロボット１００の正面図である。
【図２２】脚車輪型ロボット１００の側面図である。
【図２３】３次元距離測定装置２００の正面図（ｙrs−ｚrs平面）である。
【図２４】３次元距離測定装置２００の側面図（ｘrs−ｚrs平面）である。
【図２５】３次元距離測定装置２００の上面図（ｙrs−ｘrs平面）である。
【図２６】測距センサの走査範囲を示す図である。
【図２７】脚車輪型ロボット１００の移動制御システムを示すブロック図である。
【図２８】２次元距離測定装置２１２の制御構造を示すブロック図である。
【図２９】３次元距離測定装置２００の制御構造を示すブロック図である。
【図３０】２次元距離測定装置２１２の距離測定の原理を説明するための図である。
【図３１】第１走査処理および第２走査処理により走査を行った場合を示す図である。
【図３２】３次元距離測定装置２００の距離の計測例を示す図である。
【図３３】３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
【図３４】ハフ変換の原理を説明するための図である。
【図３５】昇降制御処理を示すフローチャートである。
【図３６】第１走査処理による測定結果を示すグラフである。
【図３７】図３０の各測定点の回転座標系の距離情報を直交座標系の座標情報に変換した結果を示すグラフである。
【図３８】直交座標系における測定点およびハフ変換の結果を示すグラフである。
【図３９】連続面の判定結果を示す図である。
【図４０】３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
【図４１】直交座標系における測定点、線分接続の結果およびハフ変換の結果を示すグラフである。
【図４２】カメラ２２２および３次元距離測定装置２００を用いた物体認識の原理を説明するための図である。
【図４３】３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
【図４４】センサ座標系、カメラ座標系およびカメラ２２２の撮像素子面の座標系を示す図である。
【図４５】カメラ画像の線分およびセンサ特徴点の対応付け、グループ化および境界線の判定を行う場合を説明するための図である。
【図４６】昇降制御処理を示すフローチャートである。
【図４７】カメラ画像の処理結果を示す図である。
【図４８】連続面の判定結果を示す図である。
【図４９】センサ特徴点のカメラ画像への投影結果を示す図である。
【図５０】３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
【図５１】３次元距離測定装置２００で実行される物体認識処理を示すフローチャートである。
【図５２】傾きの算出例を示す図である。
【図５３】最小二乗法により算出したｘ軸方向およびｚ軸方向の傾きの一例を示す図である。
【図５４】ある走査平面に対する傾きの出現頻度の一例を示す図である。
【図５５】測距センサの測定方向を変更する場合の構成を示す図である。
【符号の説明】
【０３９３】
１００                脚車輪型ロボット
１０                  基体
１２                  脚部
１４〜１８            回転関節
２０                  駆動輪
２６                  水平レーザ
２８、３０            垂直レーザ
３２                  カメラ
３４、３６            障害物センサ
４０、５０            モータ
４２、５２            エンコーダ
４４、５４            ドライバ
８０                  上部リンク
８５                  下部リンク
８１、８６            平坦面
８２、８２ａ、９７    力センサ
８３                  把持部
８３ａ                爪部
８７                  嵌合穴
９０ａ、９０ｂ        傘歯車
９１、９２、９５      プーリ
９６                  駆動ベルト
８４                  ゴム
８８、９３            軸受
５０ａ、８９、９４    回転軸
２００                ３次元距離測定装置
２０４                下側支持板
２０６                上側支持板
２０８                カメラ支持板
２１０                センシングプロセッサ
２１２                ２次元距離測定装置
２１２ａ              測距センサ
２１２ｃ、２１６      モータ
２１２ｄ、２１８      エンコーダ
２１２ｂ、２１４      ドライバ
２２０ａ、２２０ｂ    プーリ
２２１                ベルト
３２、２２２          カメラ
【図１】
2009096335.tif 000013
【図２】
2009096335.tif 000014
【図３】
2009096335.tif 000015
【図４】
2009096335.tif 000016
【図５】
2009096335.tif 000017
【図６】
2009096335.tif 000018
【図７】
2009096335.tif 000019
【図８】
2009096335.tif 000020
【図９】
2009096335.tif 000021
【図１０】
2009096335.tif 000022
【図１１】
2009096335.tif 000023
【図１２】
2009096335.tif 000024
【図１３】
2009096335.tif 000025
【図１４】
2009096335.tif 000026
【図１５】
2009096335.tif 000027
【図１６】
2009096335.tif 000028
【図１７】
2009096335.tif 000029
【図１８】
2009096335.tif 000030
【図１９】
2009096335.tif 000031
【図２０】
2009096335.tif 000032
【図２１】
2009096335.tif 000033
【図２２】
2009096335.tif 000034
【図２３】
2009096335.tif 000035
【図２４】
2009096335.tif 000036
【図２５】
2009096335.tif 000037
【図２６】
2009096335.tif 000038
【図２７】
2009096335.tif 000039
【図２８】
2009096335.tif 000040
【図２９】
2009096335.tif 000041
【図３０】
2009096335.tif 000042
【図３１】
2009096335.tif 000043
【図３２】
2009096335.tif 000044
【図３３】
2009096335.tif 000045
【図３４】
2009096335.tif 000046
【図３５】
2009096335.tif 000047
【図３６】
2009096335.tif 000048
【図３７】
2009096335.tif 000049
【図３８】
2009096335.tif 000050
【図３９】
2009096335.tif 000051
【図４０】
2009096335.tif 000052
【図４１】
2009096335.tif 000053
【図４２】
2009096335.tif 000054
【図４３】
2009096335.tif 000055
【図４４】
2009096335.tif 000056
【図４５】
2009096335.tif 000057
【図４６】
2009096335.tif 000058
【図４７】
2009096335.tif 000059
【図４８】
2009096335.tif 000060
【図４９】
2009096335.tif 000061
【図５０】
2009096335.tif 000062
【図５１】
2009096335.tif 000063
【図５２】
2009096335.tif 000064
【図５３】
2009096335.tif 000065
【図５４】
2009096335.tif 000066
【図５５】
2009096335.tif 000067