説明

干渉判定装置および脚車輪型ロボット

【課題】 実際の干渉を伴うことなく干渉判定を行うことができ、部品点数および重量の増加を抑制し、干渉判定の制約を低減するのに好適な干渉判定装置を提供する。
【解決手段】 脚車輪型ロボット100は、基体10と、基体10に対して自由度を有して連結された脚部12と、脚部12に回転可能に設けられた駆動輪20と、レーザ28〜30およびカメラ32からなる物体センサとを備え、物体センサの測定結果に基づいて障害物の特徴点を検出し、グローバル座標系Pgにおいて、脚車輪型ロボット100の姿勢並びに基体10および脚すね部の形状により特定される脚すね部平面と、検出した特徴点との位置関係に基づいて、脚すね部に対して障害物が干渉するか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害物との干渉判定を行う装置および段差を乗り越えて移動できる脚車輪型ロボットに係り、特に、実際の干渉を伴うことなく干渉判定を行うことができ、部品点数および重量の増加を抑制し、干渉判定の制約を低減するのに好適な干渉判定装置および脚車輪型ロボットに関する。
【背景技術】
【0002】
ロボットの制御においては、ロボットに対して障害物が干渉(衝突)したか否かを判定し、その判定結果に基づいて障害物を回避する制御等の各種の制御を行っている。干渉を判定する技術としては、例えば、特許文献1、2記載の技術が知られている。
特許文献1記載の発明は、減速機を介してモータにより駆動されるロボットにおいて、モータが減速機に出力するトルクからロボットの逆動力学演算で求めた動力学トルクを差し引くことにより、衝突による外力をセンサレスで検出し、外力の検出値があらかじめ設定した所定の閾値より大きければアームが外力を受けたと判断する。
【0003】
特許文献2記載の発明は、脚部の足平上にマークを付けておき、基体に取り付けられた視覚センサから取得された画像データに基づいて、歩行に対する障害物と脚部の位置関係を把握しながら歩行動作を行う。
【特許文献1】特開2006−116650号公報
【特許文献2】特開2000−153476号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1記載の発明にあっては、ロボットに対して障害物が実際に干渉しないと干渉したことが判定できないため、障害物を事前に回避する制御を行う上では実用的ではないという問題があった。
また、特許文献2記載の発明にあっては、干渉判定専用のカメラを設ける必要があるため、部品点数および重量が増加するという問題があった。
【0005】
また、干渉を判定するには、カメラで撮影した画像に脚部と障害物の両方が含まれている必要があるため、干渉の判定に制約があるという問題もあった。例えば、脚部の可動範囲が大きいため下方を広範に撮影しようとすると、ロボットの前方にある障害物を撮影できず、前方の領域について干渉の判定が行えない。逆に、前方を広範に撮影しようとすると、脚部の可動範囲をすべてカバーすることができず、下方および後方の領域について干渉の判定が行えない。
【0006】
ところで、ロボットの移動機構は、車輪型、クローラ型、脚型またはこれらを組み合わせた機構に分類される。一般に、車輪型ロボットは、平地での移動性は高いが、段差への適応性が低いという問題がある。また、クローラ型ロボットは、不整地に適し、多少の段差であれば乗り越えられるが、積極的な重心移動ができないために急な階段への適応性が低く、平地における移動性が車輪型ロボットより低いという問題があった。また、脚型ロボットは、階段への適応性が最も優れているが、平地での移動性が極端に低いという問題がある。
【0007】
車輪型、クローラ型および脚型の問題を解決するため、脚型と車輪型を組み合わせた脚車輪型ロボットが提案されている。
脚車輪型ロボットが段差を乗り越える場合、重心を低くするために大きく開脚し、脚部の可動範囲について脚先と段差の干渉を判定しながら、段差を乗り越えるべく脚部を適切に駆動制御することが考えられる。このように、脚部の可動範囲および障害物の監視範囲が広範囲である場合に、特許文献2記載の発明を適用しようとすると、上記制約の問題がより顕著となる。
【0008】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、実際の干渉を伴うことなく干渉判定を行うことができ、部品点数および重量の増加を抑制し、干渉判定の制約を低減するのに好適な干渉判定装置および脚車輪型ロボットを提供することを目的としている。
【課題を解決するための手段】
【0009】
〔発明1〕 上記目的を達成するために、発明1の干渉判定装置は、対象部位について障害物との干渉判定を行う干渉判定装置であって、障害物の特徴点を検出する特徴点検出手段と、前記特徴点および前記対象部位の座標を定める座標系において、前記対象部位またはこれと連動する部位の姿勢および前記対象部位の形状により特定される線、平面または空間であって、前記対象部位の形状に対応する線、前記対象部位の表面に対応する平面または前記対象部位に対応する空間と、前記特徴点検出手段で検出した特徴点との位置関係に基づいて、前記対象部位について障害物との干渉判定を行う干渉判定手段とを備える。
【0010】
このような構成であれば、特徴点検出手段により、障害物の特徴点が検出される。そして、干渉判定手段により、特徴点および対象部位の座標を定める座標系において、対象部位の形状に対応する線、対象部位の表面に対応する平面または対象部位に対応する空間と、検出された特徴点との位置関係に基づいて、対象部位について障害物との干渉判定が行われる。この平面等は、対象部位またはこれと連動する部位の姿勢および対象部位の形状により特定される。
【0011】
したがって、所定の座標系における平面等と特徴点の位置関係に基づいて干渉判定を行うので、実際の干渉を伴う必要はない。また、特許文献2における干渉判定専用のカメラのような専用のセンサを設けなくても、他の用途に用いられるセンサ等を利用することができる。さらに、所定の座標系において対象部位に対応する平面等は姿勢や形状により特定されるため、障害物の特徴点さえ検出できればよく、障害物の監視範囲が対象部位の可動範囲に制約されない。
【0012】
ここで、特徴点および対象部位の座標を定める座標系としては、特徴点の絶対座標(例えば、接地面を基準とする座標)または相対座標(例えば、干渉判定装置を基準とする座標)を定める座標系、対象部位の絶対座標(例えば、接地面を基準とする座標)または相対座標(例えば、対象部位と連動する部位を基準とする座標)を定める座標系、その他任意の座標系が含まれる。なお、特徴点の座標を定める座標系と、対象部位の座標を定める座標系が異なる場合は、一方の座標系の座標を他方の座標系の座標に変換するか、両方の座標系の座標を、特徴点および対象部位の座標を定める他の座標系の座標に変換すればよい。
【0013】
また、対象部位と連動する部位とは、対象部位と連なって動作する部位であって、自身の姿勢から対象部位の姿勢を間接的に特定できるものをいう。
また、干渉判定とは、対象部位に対する障害物の干渉に関する判定をいい、干渉しないことを判定すること、干渉することを判定すること、干渉するか否かを判定すること、干渉の度合いを判定すること、干渉までの度合い(例えば、特徴点と対象部位の間の距離)を判定することが含まれる。以下、発明2の脚車輪型ロボットにおいて同じである。
【0014】
また、線には、直線、線分、多次曲線、円、楕円その他の曲線が含まれる。以下、発明2の脚車輪型ロボットにおいて同じである。
【0015】
〔発明2〕 一方、上記目的を達成するために、発明2の脚車輪型ロボットは、基体と、前記基体に対して自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、物体センサとを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、前記物体センサの測定結果に基づいて障害物の特徴点を検出する特徴点検出手段と、前記特徴点および前記対象部位の座標を定める座標系において、当該脚車輪型ロボットの姿勢および前記対象部位の形状により特定される線、平面または空間であって、前記対象部位の形状に対応する線、前記対象部位の表面に対応する平面または前記対象部位に対応する空間と、前記特徴点検出手段で検出した特徴点との位置関係に基づいて、前記対象部位について障害物との干渉判定を行う干渉判定手段とを備える。
【0016】
このような構成であれば、段差等の障害物のあるところでは、物体センサにより、その測定方向について測定が行われ、特徴点検出手段により、物体センサの測定結果に基づいて障害物の特徴点が検出される。そして、干渉判定手段により、特徴点および対象部位の座標を定める座標系において、対象部位の形状に対応する線、対象部位の表面に対応する平面または対象部位に対応する空間と、検出された特徴点との位置関係に基づいて、対象部位について障害物との干渉判定が行われる。この平面等は、脚車輪型ロボットの姿勢および対象部位の形状により特定される。
【0017】
したがって、所定の座標系における平面等と特徴点の位置関係に基づいて干渉判定を行うので、実際の干渉を伴う必要はない。また、特許文献2における干渉判定専用のカメラのような専用のセンサを設けなくても、他の用途に用いられる物体センサを利用することができる。さらに、所定の座標系において対象部位に対応する平面等は姿勢や形状により特定されるため、障害物の特徴点さえ検出できればよく、障害物の監視範囲が対象部位の可動範囲に制約されない。
【0018】
また、脚車輪型ロボットにおいては、例えば、物体センサを基体に設け、対象部位に対する障害物の干渉判定を行うことが考えられる。この場合、基体に対して自由度の範囲で脚部が駆動することから、脚車輪型ロボットの姿勢により、対象部位に対する物体センサの位置が変化することとなる。また、物体センサを走査する場合は、対象部位に対する物体センサの向きが変化することとなる。
【0019】
このように、対象部位に対する物体センサの位置や向きが変化する場合は、物体センサの測定結果に基づいて検出される特徴点の座標と、対象部位の座標は、物体センサおよび対象部位の動作の系が異なることからそれぞれ異なる座標系により定められる。しかしながら、座標系が異なる場合は、対象部位に対応する平面等と特徴点の位置関係を直ちには特定することができない。そこで、座標系の変換により平面等と特徴点の座標系を一致させて(すなわち、特徴点および対象部位の座標を定める座標系において)それらの位置関係を特定する必要があるところ、本発明は、脚車輪型ロボットの姿勢および対象部位の形状に基づいてこれを実現することができる。
【0020】
したがって、対象部位との位置関係によらず物体センサを設置することができる。
さらに、段差のあるところでは、自由度の範囲で脚部が可動し、段差を乗り越えることができる。したがって、脚型ロボットと同様に段差への適応性が高い。
一方、平地では、車輪走行で移動することができる。したがって、車輪型ロボットと同様に平地での移動性が高い。
【0021】
ここで、特徴点および対象部位の座標を定める座標系としては、特徴点の絶対座標(例えば、接地面を基準とする座標)または相対座標(例えば、脚車輪型ロボットを基準とする座標)を定める座標系、対象部位の絶対座標(例えば、接地面を基準とする座標)または相対座標(例えば、脚部を基準とする座標)を定める座標系、その他任意の座標系が含まれる。なお、特徴点の座標を定める座標系と、対象部位の座標を定める座標系が異なる場合は、一方の座標系の座標を他方の座標系の座標に変換するか、両方の座標系の座標を、特徴点および対象部位の座標を定める他の座標系の座標に変換すればよい。
また、脚車輪型ロボットの姿勢には、脚車輪型ロボットの全体の姿勢のほか、脚車輪型ロボットの一部分(例えば、脚部、物体センサ)の姿勢も含まれる。
【0022】
〔発明3〕 さらに、発明3の脚車輪型ロボットは、発明2の脚車輪型ロボットにおいて、前記干渉判定手段は、前記座標系において、前記対象部位の表面に対応する複数の平面で囲まれる空間に前記特徴点が属するか否かを判定することにより、前記対象部位に対して障害物が干渉するか否かを判定する。
【0023】
このような構成であれば、干渉判定手段により、座標系において、対象部位の表面に対応する複数の平面で囲まれる空間に特徴点が属するか否かが判定される。対象部位に対して障害物が干渉した場合は、同空間に特徴点が属し、障害物が干渉していない場合は、同空間に特徴点は属さない。したがって、この判定により、対象部位に対して障害物が干渉するか否かが判定される。
【0024】
〔発明4〕 さらに、発明4の脚車輪型ロボットは、発明3の脚車輪型ロボットにおいて、前記干渉判定手段は、当該脚車輪型ロボットの姿勢および前記対象部位の形状に基づいて、前記対象部位の座標を定める第1座標系の座標を、前記特徴点の座標を定める第2座標系の座標に変換して前記第2座標系における前記複数の平面を特定し、前記第2座標系において、前記複数の平面で囲まれる空間に前記特徴点が属するか否かを判定する。
このような構成であれば、干渉判定手段により、脚車輪型ロボットの姿勢および対象部位の形状に基づいて、第1座標系から第2座標系に座標が変換されて第2座標系における複数の平面が特定され、第2座標系において、複数の平面で囲まれる空間に特徴点が属するか否かが判定される。
【0025】
〔発明5〕 さらに、発明5の脚車輪型ロボットは、発明3および4のいずれか1の脚車輪型ロボットにおいて、前記干渉判定手段は、前記特徴点と前記平面上の任意の点を結ぶ直線と、前記平面の法線ベクトルとの内積に基づいて、前記複数の平面で囲まれる空間に前記特徴点が属するか否かを判定する。
このような構成であれば、干渉判定手段により、特徴点と平面上の任意の点を結ぶ直線と、平面の法線ベクトルとの内積に基づいて、複数の平面で囲まれる空間に特徴点が属するか否かが判定される。
【0026】
〔発明6〕 さらに、発明6の脚車輪型ロボットは、発明2ないし5のいずれか1の脚車輪型ロボットにおいて、前記物体センサは、物体上の測定点までの距離を測定する測距センサであり、前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを走査する第1走査手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを走査する第2走査手段と、前記第1走査手段および前記第2走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段とを備え、前記特徴点検出手段は、前記測定結果取得手段で取得した測定結果に基づいて前記特徴点を検出する。
このような構成であれば、第1走査手段により、第1走査方向に測距センサが、第2走査手段により、第2走査方向に測距センサがそれぞれ走査可能となる。したがって、障害物の立体的な形状を把握することができる。そして、測定結果取得手段により、第1走査手段および第2走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、特徴点検出手段により、取得された測定結果に基づいて特徴点が検出される。
【0027】
ここで、第1走査手段および第2走査手段としては、例えば、次の構成を採用することができる。
(1)回転機構
前記測距センサの測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段と、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段とからなる構成である。
【0028】
(2)移動機構
前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを移動させる第1移動手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを移動させる第2移動手段とからなる構成である。なお、第1移動手段は、前記第1走査方向に延長する経路を含む第1経路に沿って前記測距センサを移動させてもよいし、第2移動手段は、前記第2走査方向に延長する経路を含む第2経路に沿って前記測距センサを移動させてもよい。以下、(3)、(4)においても同様である。
【0029】
(3)回転機構と移動機構の組み合わせ
前記測距センサの測定方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段と、前記走査軸の軸方向とは異なる走査方向に前記測距センサを移動させる移動手段とからなる構成である。
【0030】
(4)移動機構と回転機構の組み合わせ
前記測距センサの測定方向とは異なる走査方向に前記測距センサを移動させる移動手段と、前記走査方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段とからなる構成である。
【0031】
〔発明7〕 さらに、発明7の脚車輪型ロボットは、発明6の脚車輪型ロボットにおいて、前記第1走査手段は、前記測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段であり、前記第2走査手段は、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段であり、前記測定結果取得手段は、前記第1回転手段により前記測距センサを回転させながら前記第1回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第1走査を、前記第2回転手段により前記測距センサを回転させながら前記第2回転手段の所定単位角度ごとに行う第2走査を行うことにより、前記第1回転手段の所定単位角度ごとおよび前記第2回転手段の所定単位角度ごとの前記測定結果を取得する。
【0032】
このような構成であれば、第1回転手段により、第1走査軸の回りに測距センサが、第2回転手段により、第2走査軸の回りに測距センサがそれぞれ回転可能となる。したがって、障害物の立体的な形状を把握することができる。そして、測定結果取得手段により、第2走査が行われることにより第1回転手段の所定単位角度ごとおよび第2回転手段の所定単位角度ごとの測定結果が取得される。第2走査では、第2回転手段により測距センサを回転させながら第2回転手段の所定単位角度ごとに第1走査が行われる。第1走査では、第1回転手段により測距センサを回転させながら第1回転手段の所定単位角度ごとに測定結果が取得される。
【発明の効果】
【0033】
以上説明したように、発明1の干渉判定装置によれば、所定の座標系における平面等と特徴点の位置関係に基づいて干渉判定を行うので、実際の干渉を伴うことなく干渉判定を行うことができるという効果が得られる。また、干渉判定専用のカメラのような専用のセンサを設けなくても、他の用途に用いられるセンサ等を利用することができるので、部品点数および重量の増加を抑制することができるという効果も得られる。さらに、所定の座標系において対象部位に対応する平面等は姿勢や形状により特定されるため、障害物の特徴点さえ検出できればよく、障害物の監視範囲が対象部位の可動範囲に制約されず、干渉判定の制約を低減することができるという効果も得られる。
【0034】
一方、発明2の脚車輪型ロボットによれば、所定の座標系における平面等と特徴点の位置関係に基づいて干渉判定を行うので、実際の干渉を伴うことなく干渉判定を行うことができるという効果が得られる。また、干渉判定専用のカメラのような専用のセンサを設けなくても、他の用途に用いられる物体センサを利用することができるので、部品点数および重量の増加を抑制することができるという効果も得られる。さらに、所定の座標系において対象部位に対応する平面等は姿勢や形状により特定されるため、障害物の特徴点さえ検出できればよく、障害物の監視範囲が対象部位の可動範囲に制約されず、干渉判定の制約を低減することができるという効果も得られる。さらに、対象部位との位置関係によらず物体センサを設置することができるので、干渉判定の制約をさらに低減することができるという効果も得られる。
【0035】
さらに、発明3の脚車輪型ロボットによれば、対象部位に対して障害物が干渉するか否かを比較的正確に判定することができるという効果が得られる。
さらに、発明5の脚車輪型ロボットによれば、複数の平面で囲まれる空間に特徴点が属するか否かを比較的容易に判定することができるという効果が得られる。
さらに、発明6の脚車輪型ロボットによれば、障害物の立体的な形状を把握することができ、これに基づいて検出された特徴点により干渉判定を行うことができるので、干渉判定の精度を向上することができるという効果が得られる。
【0036】
さらに、発明7の脚車輪型ロボットによれば、測距センサを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができるという効果が得られる。
【発明を実施するための最良の形態】
【0037】
以下、本発明の第1の実施の形態を図面を参照しながら説明する。図1ないし図14は、本発明に係る干渉判定装置および脚車輪型ロボットの第1の実施の形態を示す図である。
【0038】
まず、本発明を適用する脚車輪型ロボット100の構成を説明する。
図1は、脚車輪型ロボット100の正面図である。
図2は、脚車輪型ロボット100の側面図である。
脚車輪型ロボット100は、図1および図2に示すように、基体10と、基体10に連結された4つの脚部12とを有して構成されている。
基体10の前部には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。また、基体10の後部には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。回転関節14は、脚車輪型ロボット100の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
【0039】
各脚部12には、2つの回転関節16、18が設けられている。回転関節14は、下方を軸方向として回転し、回転関節16、18は、回転関節14が図1の状態であるときは、脚車輪型ロボット100の側面と直交する方向を軸方向として回転する。すなわち、回転関節14が図1の状態であるときは、ピッチ軸回りに回転し、回転関節14が図1の状態から90度回転した状態であるときは、ロール軸回りに回転する。したがって、脚部12は、それぞれ3自由度を有する。
【0040】
各脚部12の先端には、回転関節16、18と軸方向を同一にして駆動輪20が回転可能に設けられている。
各脚部12の先端には、脚車輪型ロボット100の移動経路上に存在する物体までの距離を測定する前方脚先センサ22と、接地面までの距離を測定する下方脚先センサ24とが設けられている。
【0041】
一方、基体10の正面の上部中央には、水平面レーザ光を照射する水平レーザ26が設けられている。また、基体10の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ28、30がそれぞれ設けられている。
基体10の正面の下部中央には、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影するカメラ32が設けられている。
【0042】
水平レーザ26は、カメラ32で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ28は、カメラ32で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ30は、左方に所定角度傾けて設けられている。
カメラ32の左右には、障害物を検出する障害物センサ34、36がそれぞれ設けられている。
【0043】
図3は、障害物センサ34、36の構成を示す図である。
障害物センサ34、36は、図3(a)に示すように、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、図3(b)に示すように、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット100の移動経路上に存在する物体を大まかに検出することができる。
【0044】
次に、脚車輪型ロボット100の移動制御システムを説明する。
図4は、脚車輪型ロボット100の移動制御システムを示すブロック図である。
各脚部12の回転関節14〜18には、図4に示すように、回転関節14〜18を回転駆動する関節モータ40がそれぞれ設けられている。各関節モータ40には、関節モータ40の回転角度位置を検出するエンコーダ42と、モータ指令信号およびエンコーダ42の出力信号に基づいて関節モータ40の駆動を制御するドライバ44が設けられている。
【0045】
各脚部12の駆動輪20には、駆動輪20を回転駆動する車輪モータ50がそれぞれ設けられている。各車輪モータ50には、車輪モータ50の回転角度位置を検出するエンコーダ52と、モータ指令信号およびエンコーダ52の出力信号に基づいて車輪モータ50の駆動を制御するドライバ54が設けられている。
脚車輪型ロボット100は、さらに、CPU60と、脚車輪型ロボット100の姿勢を検出する3軸姿勢センサ70と、カメラ32の画像信号を処理するビジョンプロセッサ72と、外部のPC等と無線通信を行う無線通信部74と、ビジョンプロセッサ72および無線通信部74とCPU60の入出力を中継するハブ76と、警告音等を出力するスピーカ78とを有して構成されている。
【0046】
3軸姿勢センサ70は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット100の姿勢の傾きを検出する。
CPU60は、モータ指令出力I/F61を介してドライバ44、54にモータ指令信号を出力し、角度取込I/F62を介してエンコーダ42、52の出力信号を入力する。また、センサ入力I/F63を介して、前方脚先センサ22、下方脚先センサ24、障害物センサ34、36および3軸姿勢センサ70からそれぞれセンサ信号を入力する。また、通信I/F64を介してハブ76と信号の入出力を行い、サウンド出力I/F65を介してスピーカ78に音声信号を出力する。
【0047】
次に、CPU60で実行される処理を説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図5のフローチャートに示す昇降制御処理を実行する。
次に、昇降制御処理を説明する。
図5は、昇降制御処理を示すフローチャートである。
【0048】
昇降制御処理は、脚部12の昇降制御を行う処理であって、CPU60において実行されると、まず、図5に示すように、ステップS100に移行する。
ステップS100では、ビジョンプロセッサ72から画像を取り込み、ステップS102に移行する。
ステップS102では、取り込んだ画像に基づいて光切断法により階段の特徴点を検出する。
【0049】
図6は、光切断法の原理を説明するための図である。
光切断法は、三角測量の原理により計測対象上の座標を求める計測法である。図6に計測座標系を示す。
計測対象上の座標P(x0、y0、z0)は、カメラ32の撮像素子上の任意の座標をPs(xi、yi、zi)とすると、下式(1)により求めることができる。
【0050】
【数1】

【0051】
次に、得られた3次元座標から、レーザ光の反射光の不連続点または屈曲点を階段の特徴点として検出する。
図7は、階段にレーザ光を照射した状態およびカメラ32の撮像素子の画像を示す図である。
【0052】
脚車輪型ロボット100の移動経路上に階段が存在すると、図7(a)左側に示すように、水平レーザ26から照射された水平面レーザ光が階段の蹴込板および床面で反射し、カメラ32により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図7(a)右側に示すように、蹴込板での反射光エッジおよび床面での反射光エッジを検出することができる。そして、そのエッジ画像および上式(1)により得られた3次元座標に基づいて、反射光エッジの不連続点に対応する実座標を算出することができる。
【0053】
また、図7(b)左側に示すように、垂直レーザ28から照射された垂直面レーザ光が階段の蹴込板および踏板で反射し、カメラ32により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図7(b)右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを検出することができる。また、垂直レーザ30についても同様であり、図7(c)右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを検出することができる。そして、それらエッジ画像および上式(1)により得られた3次元座標に基づいて、反射光エッジの屈曲点に対する実座標を算出することができる。
【0054】
図8は、階段の昇降時に段鼻部の特徴点を検出する場合を示す図である。
脚車輪型ロボット100が階段を上る場合は、図8(a)に示すように、階段を上る前に、反射光エッジの屈曲点として段鼻部の特徴点を検出することができる。また、階段を下る場合は、図8(b)に示すように、階段を下る前に、反射光エッジの屈曲点として段鼻部の特徴点を検出することができる。
【0055】
図5に戻り、次いで、ステップS103に移行して、障害物との干渉の有無を判定する干渉判定処理を実行し、ステップS104に移行して、干渉判定処理の判定結果に基づいて障害物と干渉するか否かを判定し、干渉しないと判定したとき(No)は、ステップS105に移行する。
ステップS105では、検出した特徴点に基づいて階段の幅を算出し、ステップS106に移行して、検出した特徴点に基づいて階段の段鼻部の実座標を算出し、ステップS108に移行する。
【0056】
ステップS108では、算出した階段の幅および段鼻部の実座標、並びに3軸姿勢センサ70のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップS110に移行して、ステップS108の計算結果に基づいて脚先(駆動輪20)の着地位置を決定し、ステップS112に移行する。
ステップS112では、前方脚先センサ22および下方脚先センサ24からそれぞれセンサ信号を入力し、ステップS114に移行して、入力した前方脚先センサ22のセンサ信号に基づいて蹴込板までの距離を算出し、ステップS116に移行して、入力した下方脚先センサ24のセンサ信号に基づいて脚先と踏板の位置関係を算出し、ステップS118に移行する。
【0057】
ステップS118では、決定した着地位置および算出した両距離に基づいてドライバ44、54へのモータ指令信号を生成し、ステップS120に移行して、生成したモータ指令信号をドライバ44、54に出力し、ステップS122に移行する。
ステップS122では、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【0058】
一方、ステップS122で、脚先が着地しないと判定したとき(No)は、ステップS112に移行する。
一方、ステップS104で、障害物と干渉すると判定したとき(Yes)は、ステップS124に移行して、干渉を回避する干渉回避処理を実行し、一連の処理を終了して元の処理に復帰させる。
【0059】
次に、ステップS103の干渉判定処理を説明する。
脚車輪型ロボット100が階段を昇降する場合は、脚部12のうち回転関節18および駆動輪20が連結するリンク(以下、脚すね部という。)と、階段の段鼻部とが干渉し得る。したがって、干渉判定処理では、脚すね部に対して段鼻部が干渉するか否かを判定する。この判定は、特定の脚部12(例えば、前脚)について行ってもよいし、すべての脚部12について行ってもよい。
【0060】
図9は、グローバル座標系において脚すね部の表面に対応する4つの平面を示す図である。同図(a)は、脚すね部の斜視図であり、同図(b)は、脚すね部の厚さ方向の断面図であり、同図(c)は、脚すね部の伸長方向の断面図である。
段鼻部の特徴点の座標は、特徴点を検出するための物体センサ(本実施の形態では、レーザ26〜30およびカメラ32)からみた脚車輪型ロボット100の外部を基準とするグローバル座標系で定められる。そこで、干渉の判定は、図9(a)に示すように、グローバル座標系において、矩形からなる脚すね部の正面、背面、右側面および左側面の各表面ごとにその表面に対応する平面(以下、脚すね部平面という。)を特定し、図9(b)に示すように、特定した4つの脚すね部平面で囲まれる空間(すなわち、脚すね部の内部領域に対応する空間)に特徴点が属するか否かを判定することにより行う。同空間に特徴点が属すると判定したときは、脚すね部に対して段鼻部が干渉すると判定し、同空間に特徴点が属さないと判定したときは、脚すね部に対して段鼻部が干渉しないと判定する。
【0061】
図10は、段鼻部の特徴点A、脚すね部平面、脚すね部平面上の任意の点Pおよび脚すね部平面の法線ベクトルNを示す図である。
段鼻部の特徴点をA、脚すね平面上の任意の点をP、脚すね部平面の法線ベクトルをNとすると、図10に示すように、特徴点Aと点Pを結ぶ直線PAと、法線ベクトルNとの内積Dは、下式(2)により求めることができる。
【0062】
【数2】

【0063】
D>0のときは、脚すね平面の表側(脚すね部の外側)に特徴点が位置し、D=0のときは、脚すね平面上に特徴点が位置し、D<0のときは、脚すね平面の裏側(脚すね部の内側)に特徴点が位置する。
【0064】
脚すね部の正面、背面、右側面および左側面に対応する脚すね平面についての内積DをそれぞれD1、D2、D3、D4とすると、D1≧0またはD2≧0またはD3≧0またはD4≧0が成立する場合は、4つの脚すね部平面で囲まれる空間に特徴点Aが属さないので、脚すね部に対して段鼻部が干渉しないと判定する。
なお、4つの脚すね部平面で判定する場合は、脚すね部の底面よりも下方の領域も干渉判定の対象領域としてしまうため、脚すね部が特徴点Aを跨ぐような場合も干渉すると判定してしまう。そこで、より好ましくは、脚すね部の底面に対応する脚すね平面も考慮することである。脚すね部の底面に対応する脚すね平面についての内積DをD5とすると、D1≧0またはD2≧0またはD3≧0またはD4≧0またはD5≧0が成立する場合は、5つの脚すね部平面で囲まれる空間に特徴点Aが属さないので、脚すね部に対して段鼻部が干渉しないと判定することができる。
【0065】
同様に、4つの脚すね部平面で判定する場合は、脚すね部の上面よりも上方の領域も干渉判定の対象領域としてしまうため、脚すね部が特徴点Aを潜るような場合も干渉すると判定してしまう。そこで、より好ましくは、脚すね部の上面に対応する脚すね平面も考慮することである。脚すね部の上面に対応する脚すね平面についての内積DをD6とすると、D1≧0またはD2≧0またはD3≧0またはD4≧0またはD6≧0が成立する場合は、5つの脚すね部平面で囲まれる空間に特徴点Aが属さないので、脚すね部に対して段鼻部が干渉しないと判定することができる。
【0066】
さらに好ましくは、脚すね部の底面および上面に対応する脚すね平面も考慮することである。D1≧0またはD2≧0またはD3≧0またはD4≧0またはD5≧0またはD6≧0が成立する場合は、6つの脚すね部平面で囲まれる空間に特徴点Aが属さないので、脚すね部に対して段鼻部が干渉しないと判定することができる。
次に、グローバル座標系において点Pの座標を求める場合を説明する。
【0067】
特徴点Aの座標は、グローバル座標系で定められるのに対し、脚すね部の座標は、脚すね部を基準とする相対座標系で定められる。したがって、グローバル座標系における点Pの座標は、脚すね部の座標を定める座標系の座標をグローバル座標系の座標に変換して求める必要がある。
図11は、グローバル座標系および脚車輪型ロボット100の各座標系を示す図である。
【0068】
図11において、Pgは、グローバル座標系、P0は、基体10の底面中心を原点とする座標系、P1は、基体10と右後ろの脚部12との付け根を原点とする座標系、P2は、回転関節14を原点とする座標系、P3は、回転関節16を原点とする座標系、P4は、回転関節18を原点とする座標系である。ここで、座標系P4が脚すね部の座標を定める座標系となる。
【0069】
グローバル座標系Pgおよび座標系P0〜P4は、3軸が互いに直交する直交座標系として定義される。
グローバル座標系Pgは、特徴点Aを検出するための物体センサからみた座標系であって、その原点は、座標系P0の原点から所定距離(A、B、C)離れたところに設定されている。
【0070】
座標系P0は、基体10の奥行き(前後の長さ)方向をx0軸、基体10の幅(左右の長さ)方向をy0軸、基体10の高さ方向をz0軸とし、x0軸は基体10の後方を、y0軸は基体10の右方を、z0軸は基体10の上方をそれぞれ正の方向とする。原点は、基体10の底面中心となるので、基体10の奥行きをL、基体10の幅をWとすると、(L/2、W/2、0)となる。
【0071】
グローバル座標系Pgと座標系P0の関係は、下式(3)の行列で表すことができる。したがって、下式(3)により、グローバル座標系Pgから座標系P0への座標変換を行うことができる。
【0072】
【数3】

【0073】
座標系P1は、x0軸、y0軸、z0軸と同一の方向をx1軸、y2軸、z3軸とし、x1軸は基体10の後方を、y1軸は基体10の右方を、z1軸は基体10の下方をそれぞれ正の方向とする。原点は、基体10と右後ろの脚部12との付け根となるので、(0、0、0)となる。
【0074】
座標系P0、P1の関係は、下式(4)の行列で表すことができる。したがって、下式(4)により、座標系P0から座標系P1への座標変換を行うことができる。
【0075】
【数4】

【0076】
座標系P2は、座標系P1に対して回転関節14がθ1回転した座標系であって、z1軸と同一の方向をz2軸、x1軸に対してz2軸回りにθ1回転した方向をx2軸、y1軸に対してz2軸回りにθ1回転した方向をy2軸とし、z2軸は基体10の下方を正の方向とする。
【0077】
座標系P1、P2の関係は、下式(5)の行列で表すことができる。したがって、下式(5)により、座標系P1から座標系P2への座標変換を行うことができる。
【0078】
【数5】

【0079】
座標系P3は、座標系P2に対して回転関節16がθ2回転した座標系であって、y2軸と同一の方向をy3軸、x2軸に対してy3軸回りにθ2回転した方向をx3軸、z2軸に対してy3軸回りにθ2回転した方向をz3軸とし、z3軸は、脚部12のうち回転関節14、16が連結するリンクの下方を正の方向とする。
【0080】
座標系P2、P3の関係は、下式(6)の行列で表すことができる。したがって、下式(6)により、座標系P2から座標系P3への座標変換を行うことができる。
【0081】
【数6】

【0082】
座標系P4は、座標系P3に対して回転関節18がθ3回転した座標系であって、y3軸と同一の方向をy4軸、x3軸に対してy4軸回りにθ3回転した方向をx4軸、z3軸に対してy4軸回りにθ3回転した方向をz4軸とし、z4軸は、脚すね部の下方を正の方向とする。
【0083】
座標系P3、P4の関係は、下式(7)の行列で表すことができる。したがって、下式(7)により、座標系P3から座標系P4への座標変換を行うことができる。
【0084】
【数7】

【0085】
図12は、座標系P4を示す図である。
座標系P4における点Pの座標は、図12に示すように、脚すね部の奥行きをl、幅をm、伸長方向の長さをnとすると、(l/2、0、0)となる。
【0086】
したがって、グローバル座標系Pgにおける点Pの座標は、下式(8)により求めることができる。下式(8)のなかで、θ1〜θ3は、脚車輪型ロボット100の姿勢により、lは、脚すね部の形状により、L、Wは、基体10の形状によりそれぞれ特定されるので、グローバル座標系Pgにおける点Pの座標は、脚車輪型ロボット100の姿勢並びに基体10および脚すね部の形状により特定することができる。
【0087】
【数8】

【0088】
上式(8)において、4pは、下式(9)により表すことができ、4pのうち(l/2、0、0)は、座標系P4における点Pの座標である。また、Xpのうち(x、y、z)は、グローバル座標系Pgにおける点Pの座標である。
【0089】
【数9】

【0090】
次に、脚すね部平面の法線ベクトルNを求める場合を説明する。
図13は、脚すね部平面および法線ベクトルNを示す図である。
法線ベクトルNは、図13に示すように、グローバル座標系Pgにおいて、脚すね部平面の4つの頂点(脚すね部の表面のうち右上、右下、左上および左下の各角部に対応する点)のうち3つをそれぞれV1、V2、V3とすると、点V3から点V1へのベクトルと、点V2から点V3のベクトルの外積で表すことができるので、下式(10)により求めることができる。
【0091】
【数10】

【0092】
なお、グローバル座標系Pgにおける点V1の座標は、点Pの場合と同様に、下式(11)により求めることができる。グローバル座標系Pgにおける点V2、V3の座標も同様に求めることができる。
【0093】
【数11】

【0094】
図14は、干渉判定処理を示すフローチャートである。
干渉判定処理は、ステップS103において実行されると、まず、図14に示すように、ステップS200に移行する。
【0095】
ステップS200では、回転関節14〜18の角度θ1〜θ3、基体10の寸法L、Wおよび脚すね部の寸法lに基づいて、上式(8)により、グローバル座標系Pgにおける点Pの座標を算出し、ステップS202に移行する。
ステップS202では、回転関節14〜18の角度θ1〜θ3、基体10の寸法L、Wおよび脚すね部の寸法lに基づいて、上式(11)により、各脚すね部平面ごとにグローバル座標系Pgにおける点V1〜V3の座標を算出し、ステップS204に移行する。
【0096】
ステップS204では、上式(10)により、各脚すね部平面ごとに法線ベクトルNを算出し、ステップS206に移行して、特徴点Aの座標を取得し、ステップS208に移行して、上式(2)により、特徴点Aと点Pを結ぶ直線PAと、法線ベクトルNとの内積D1〜D4(またはD5、D6)を算出し、ステップS210に移行する。
ステップS210では、D1≧0またはD2≧0またはD3≧0またはD4≧0(またはD5≧0、D6≧0)が成立するか否かを判定することにより4つの脚すね部平面で囲まれる空間に特徴点Aが属するか否かを判定し、同空間に特徴点Aが属さないと判定したとき(No)は、ステップS212に移行する。
【0097】
ステップS212では、未判定の特徴点Aが存在するか否かを判定し、未判定の特徴点Aが存在しないと判定したとき(No)は、ステップS214に移行して、障害物と干渉しないことを示す値(例えば、「0」)を戻り値として設定し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS212で、未判定の特徴点Aが存在すると判定したとき(Yes)は、ステップS216に移行して、次の特徴点Aの座標を取得し、ステップS208に移行する。
一方、ステップS210で、4つの脚すね部平面で囲まれる空間に特徴点Aが属すると判定したとき(Yes)は、ステップS218に移行して、障害物と干渉することを示す値(例えば、「1」)を戻り値として設定し、一連の処理を終了して元の処理に復帰させる。
【0098】
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在すると、水平レーザ26から照射された水平面レーザ光、および垂直レーザ28、30から照射された垂直面レーザ光がそれぞれ階段で反射し、カメラ32により、それら反射光を含む画像が撮影される。次いで、ステップS100、S102を経て、カメラ32で撮影された画像が取り込まれ、取り込まれた画像から階段の特徴点が検出される。
【0099】
次いで、ステップS103を経て、干渉判定処理が実行される。干渉判定処理では、ステップS200〜S210を経て、各脚すね部平面ごとに法線ベクトルNが算出され、特徴点Aと点Pを結ぶ直線PAと、法線ベクトルNとの内積D1〜D4(またはD5、D6)が算出され、内積D1〜D4(またはD5、D6)に基づいて4つの脚すね部平面で囲まれる空間に特徴点Aが属するか否かが判定される。いずれの特徴点Aも同空間に属しないと判定されると、ステップS214、S104を経て、障害物と干渉しないと判定される。非干渉が判定されると、ステップS105〜S110を経て、検出された特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。
【0100】
さらに、ステップS112〜S116を経て、脚先センサ22、24からそれぞれセンサ信号が入力され、蹴込板までの距離および脚先と踏板の位置関係が算出される。そして、ステップS118、S120を経て、決定された着地位置および算出された両距離に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ44、54に出力される。これにより、駆動輪20が回転するとともに回転関節14〜18が駆動し、脚車輪型ロボット100が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
【0101】
一方、いずれかの特徴点Aが同空間に属すると判定されると、ステップS218、S104を経て、障害物と干渉すると判定される。干渉が判定されると、ステップS124を経て、干渉回避処理が実行され、干渉が回避される。
一方、平地では、脚車輪型ロボット100は、車輪走行で移動することができる。したがって、車輪型ロボットと同様に平地での移動性が高い。
【0102】
このようにして、本実施の形態では、レーザ28〜30およびカメラ32からなる物体センサを備え、物体センサの測定結果に基づいて障害物の特徴点を検出し、グローバル座標系Pgにおいて、脚車輪型ロボット100の姿勢並びに基体10および脚すね部の形状により特定される脚すね部平面と、検出した特徴点との位置関係に基づいて、脚すね部に対して障害物が干渉するか否かを判定する。
【0103】
これにより、グローバル座標系Pgにおける脚すね部平面と特徴点の位置関係に基づいて干渉の有無を判定するので、実際の干渉を伴うことなく干渉の有無を判定することができる。また、特許文献2における干渉判定専用のカメラのような専用のセンサを設けなくても、本実施の形態のように、他の用途(脚部12の駆動制御等)に用いられる物体センサを利用することができるので、部品点数および重量の増加を抑制することができる。さらに、グローバル座標系Pgにおいて脚すね部平面は姿勢や形状により特定されるため、障害物の特徴点さえ検出できればよく、障害物の監視範囲が脚すね部の可動範囲に制約されず、干渉判定の制約を低減することができる。さらに、脚すね部との位置関係によらず物体センサを設置することができるので、干渉判定の制約をさらに低減することができる。
【0104】
さらに、本実施の形態では、グローバル座標系Pgにおいて、4つの脚すね部平面で囲まれる空間に特徴点が属するか否かを判定することにより、脚すね部に対して障害物が干渉するか否かを判定する。
これにより、脚すね部に対して障害物が干渉するか否かを比較的正確に判定することができる。
【0105】
さらに、本実施の形態では、特徴点と脚すね部平面上の任意の点を結ぶ直線と、脚すね部平面の法線ベクトルとの内積に基づいて、4つの脚すね部平面で囲まれる空間に特徴点が属するか否かを判定する。
これにより、4つの脚すね部平面で囲まれる空間に特徴点が属するか否かを比較的容易に判定することができる。
【0106】
さらに、本実施の形態では、レーザ26〜30およびカメラ32からなる画像センサと、脚先センサ22、24とを備え、カメラ32で撮影した画像および脚先センサ22、24で測定した距離に基づいて階段を認識し、その認識結果に基づいてモータ40、50を制御する。
これにより、画像センサおよび脚先センサ22、24を用いて未知の階段を認識しながら脚部12の昇降制御を行うので、従来に比して、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
【0107】
さらに、本実施の形態では、画像センサを基体10の正面に設け、脚先センサ22、24を脚部12の先端に設けた。
これにより、脚車輪型ロボット100の移動経路上に存在する物体を広い視野で検出することができるとともに、階段昇降時に駆動輪20と階段の距離を精度よく測定することができる。
【0108】
さらに、本実施の形態では、進行方向に対して所定角度にレーザ光を照射するレーザ26〜30と、レーザ26〜30から所定距離隔てて設けられかつレーザ光の反射光を含む画像を撮像するカメラ32とを備え、カメラ32で撮影した画像に基づいて光切断法により階段を認識する。
これにより、階段の特徴のうち脚部12の昇降制御に有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
【0109】
さらに、本実施の形態では、水平レーザ26から照射された水平面レーザ光の反射光の撮影状態に基づいて階段の幅を算出し、垂直レーザ28、30から照射された2つの垂直面レーザ光の反射光の撮影状態に基づいて階段の段鼻部の実座標を算出する。
これにより、階段の特徴のうち脚部12の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
【0110】
さらに、本実施の形態では、前方脚先センサ22の測定結果に基づいて階段の蹴込板までの距離を算出し、下方脚先センサ24の測定結果に基づいて駆動輪20と階段の踏板の位置関係を算出する。
これにより、階段の特徴のうち脚部12の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
【0111】
上記第1の実施の形態において、脚すね部は、発明1ないし4の対象部位に対応し、ステップS102は、発明1または2の特徴点検出手段に対応し、ステップS103は、発明1ないし5の干渉判定手段に対応し、座標系P4は、発明4の第1座標系に対応し、グローバル座標系Pgは、発明4の第2座標系に対応している。
次に、本発明の第2の実施の形態を図面を参照しながら説明する。図15ないし図28は、本発明に係る干渉判定装置および脚車輪型ロボットの第2の実施の形態を示す図である。
【0112】
本実施の形態は、上記第1の実施の形態に対して、レーザ28〜30およびカメラ32からなる物体センサに代えて、測距センサを2方向にそれぞれ走査して測定を行う3次元距離測定装置を用いて特徴点を検出する点が異なる。
まず、脚車輪型ロボット100の構成を説明する。
図15は、脚車輪型ロボット100を側面図である。
【0113】
基体10の正面には、図15に示すように、3次元距離測定装置200が取り付けられている。3次元距離測定装置200の座標系は、基体10の奥行き方向をx軸、基体10の幅方向をy軸、基体10の高さ方向をz軸とし、x軸は基体10の前方を、y軸は基体10の右方を、z軸は基体10の上方をそれぞれ正の方向とする。
次に、3次元距離測定装置200の外観構造を説明する。
【0114】
図16は、3次元距離測定装置200の外観構造を示す図である。同図(a)は、3次元距離測定装置200の正面図(z−y平面)を示す図であり、同図(b)は、3次元距離測定装置200の上面図(x−y平面)である。
3次元距離測定装置200は、図16(a)に示すように、板状の支持部材219と、2次元距離測定装置212と、2次元距離測定装置212を回転駆動するモータ216と、モータ216の回転角度位置を検出するエンコーダ218と、モータ216の駆動力を2次元距離測定装置212に伝達する駆動プーリ220a、従動プーリ220bおよびベルト221とを有して構成されている。
【0115】
支持部材219の下面には、モータ216が取り付けられている。モータ216の回転軸(以下、駆動回転軸という。)は、支持部材219を下方から貫通し、支持部材219を挟んで反対側に配置された駆動プーリ220aの軸穴に連結している。
一方、支持部材219の下面であってモータ216から水平方向に所定距離隔てた位置には、2次元距離測定装置212が取り付けられている。2次元距離測定装置212は、回転軸(以下、従動回転軸という。)を有し、従動回転軸が支持部材219を下方から貫通し、支持部材219を挟んで反対側に配置された従動プーリ220bの軸穴に連結している。
【0116】
駆動プーリ220aおよび従動プーリ220bには、ベルト221が巻き掛けられている。したがって、モータ216により駆動プーリ220aが回転し、駆動プーリ220aに巻き掛けたベルト221により従動プーリ220bが回転することにより、2次元距離測定装置212は、図16(b)に示すように、z軸回りに回転する。
次に、2次元距離測定装置212の制御構造を説明する。
【0117】
図17は、2次元距離測定装置212の制御構造を示すブロック図である。
2次元距離測定装置212は、図17に示すように、測定範囲内に存在する物体上の測定点までの距離を測定する測距センサ212aと、測距センサ212aを回転駆動するモータ212cと、モータ212cの回転角度位置を検出するエンコーダ212dと、指令信号およびエンコーダ212dの出力信号に基づいてモータ212cの駆動を制御するドライバ212bとを有して構成されている。
【0118】
ドライバ212bは、センシングプロセッサ210からの指令信号において設定された走査角度範囲(例えば、−40°〜+40°等の所定の角度範囲)および走査単位角度(例えば、0.36°等の所定の単位角度)に基づいて、モータ212cの回転軸を走査単位角度ずつ回転させる制御を行う。
モータ212cは、測距センサ212aのレーザ出力部(不図示)および受光部(不図示)をy軸回りに回転駆動するように設けられており、ドライバ212bからの制御信号に応じて、自己の回転軸を走査単位角度(Δθ)ずつ回転駆動する。
【0119】
図18は、測距センサ212aの走査範囲を示す図である。
測距センサ212aの走査範囲は、脚車輪型ロボット100が階段の昇降や障害物の回避を行うことを目的としているため、図18に示すように、脚車輪型ロボット100の下方を重点的に走査するように設定されている。なお、3次元距離測定装置200および測距センサ212aの原点位置(回転角度θおよびφが0°の位置)においては、測距センサ212aの測定方向がx軸と一致し、測距センサ212aの回転軸がy軸と一致する。
【0120】
3次元距離測定装置200は、2次元距離測定装置212を回転駆動する回転駆動機構(モータ216、エンコーダ218、駆動プーリ220a、従動プーリ220b、ベルト221および支持部材219)が、図18に示す走査範囲外に設けられているため、図18に示す走査範囲であれば、3次元距離測定装置200を構成する各機構部によって、測距センサ212aのy軸回りの走査が阻害されない。
【0121】
また、脚車輪型ロボット100の走行経路上の障害物を認識できればよいので、z軸回りの回転駆動による走査範囲も、前方180°までをカバーする必要はなく、2次元距離測定装置212から水平方向に所定距離隔てて配置されたモータ216およびエンコーダ218を走査範囲外とする範囲でも十分である。したがって、2次元距離測定装置212の回転駆動範囲を、モータ216およびエンコーダ218を含まない範囲とする。
【0122】
次に、3次元距離測定装置200の制御構造を説明する。
図19は、3次元距離測定装置200の制御構造を示すブロック図である。
3次元距離測定装置200は、図19に示すように、センシングプロセッサ210と、2次元距離測定装置212と、モータ216と、エンコーダ218と、指令信号およびエンコーダ218の出力信号に基づいてモータ216の駆動を制御するドライバ214とを有して構成されている。
【0123】
センシングプロセッサ210は、専用のプログラムを実行し、ドライバ212bに指令信号を与えて測距センサ212aを回転させ、測距センサ212aの走査範囲で測定可能な領域(以下、走査平面という。)内に存在する物体上の測定点までの距離を測定する第1走査処理を実行するとともに、1つの走査平面に対する第1走査処理が終了するごとに、ドライバ214に指令信号を与えて2次元距離測定装置212を回転させる第2走査処理を実行する。
【0124】
さらに、センシングプロセッサ210は、第1走査処理および第2走査処理を経て2次元距離測定装置212で測定した距離の情報(以下、距離情報という。)に基づいて、各走査平面の各測定点の勾配の出現頻度を算出する処理を実行するとともに、算出した出現頻度および各測定点の座標情報に基づいて、各走査平面における物体の1次元の形状(凹凸)および測定範囲内に存在する物体上の面の形状を認識する処理を実行する。
【0125】
次に、3次元距離測定装置200の距離測定の原理を説明する。
図20は、2次元距離測定装置212の距離測定の原理を説明する図である。
2次元距離測定装置212は、測距センサ212aが、モータ212cの回転軸の回転駆動に応じて、y軸回りに走査単位角度ずつ回転し、かつ、回転するごとに、図20に示すように、レーザ出力部からレーザ光を出力するとともに、出力光に対する物体(図20中の障害物)からの反射光を受光部で受光し、各回転角度(走査角度)に応じた距離(図20中の測定距離L(物体と受光部との間の距離))を測定する。
【0126】
図21は、第1走査処理および第2走査処理により走査を行った場合を示す図である。同図(a)は、測距センサ212aをy軸回りに回転させたときの測定距離と回転角度θとの関係を示す図であり、同図(b)は、2次元距離測定装置212をz軸回りに回転させたときの走査平面と回転角度φとの関係を示す図である。
第1走査処理は、例えば、図21(a)に示すように、測距センサ212aをy軸回りに走査単位角度ずつ回転させながら、原点位置に対する各回転角度(図21(a)中のθ1、θ2、θ3)に応じた距離情報(図21(a)中のL(θ1)、L(θ2)、L(θ3))を測定する処理となる。
【0127】
また、第1走査処理における、モータ212cの回転軸の回転中心と、レーザの走査軌道線の両端とを結んで形成される平面が、走査平面(物体が存在しない場合は扇形の平面)となる。
ドライバ214は、センシングプロセッサ210からの指令信号において設定された走査角度範囲および走査単位角度(Δφ)に基づいて、モータ216の回転軸を走査単位角度ずつ回転させる制御を行う。
【0128】
モータ216は、減速機(不図示)、駆動プーリ220a、従動プーリ220bおよびベルト221を介して、2次元距離測定装置212をz軸回りに回転駆動するように設けられており、ドライバ214からの制御信号に応じて、自己の回転軸を走査単位角度ずつ回転駆動する。これにより、モータ216の回転軸の回転駆動に応じて、駆動プーリ220a、従動プーリ220bおよびベルト221を介して従動回転軸に回転駆動力が伝達され、2次元距離測定装置212がz軸回りに走査単位角度ずつ回転する。
【0129】
すなわち、第2走査処理は、図21(b)に示すように、2次元距離測定装置212をz軸回りに走査単位角度ずつ回転させる処理となる。そして、第1走査処理と第2走査処理とを交互に連続して行うことにより、第1走査処理によって形成される走査平面をz軸回りに連続して形成する。
図22は、3次元距離測定装置200の距離の計測例を示す図である。
【0130】
これにより、例えば、図22に示すように、壁、ついたて、スタンド、棚等の物体の立体的な形状を測定することが可能である。
また、図21(b)に示すように、第2走査処理後の各測定点の距離情報をL(θi,φj)と表記する。ここで、iは、y軸回りの走査角度に応じて各測定点に付与される通し番号であり、jは、z軸回りの走査角度に応じて各測定点に付与される通し番号である。
【0131】
次に、3次元距離測定装置200における物体認識処理の流れを説明する。
図23は、3次元距離測定装置200における物体認識処理を示すフローチャートである。
物体認識処理は、CPU60からの指令信号に基づいて、センシングプロセッサ210が、ROM(不図示)に記憶された専用のプログラムを読み出し、読み出したプログラムを実行することで実現される処理であり、処理が開始されると、図23に示すように、まず、ステップS300に移行する。
【0132】
ステップS300では、3次元距離測定装置200において、CPU60からの指令信号に基づいて、測距センサ212aおよび2次元距離測定装置212の走査角度範囲および走査単位角度を設定し、ステップS302に移行する。ここで、CPU60からの指令信号には、走査角度範囲および走査単位角度の情報が含まれている。
ステップS302では、2次元距離測定装置212において、センシングプロセッサ210からの指令信号に応じて、ドライバ212b、モータ212cおよびエンコーダ212dを駆動し、測距センサ212aを、ステップS300で設定されたy軸回りの走査角度範囲内において、同じくステップS300で設定された走査単位角度ずつy軸回りに回転させるとともに、各回転角度に応じた距離情報を測定する処理(第1走査処理)を実行し、ステップS304に移行する。
【0133】
ステップS304では、センシングプロセッサ210において、ステップS302で測定した距離情報に対して、メディアンフィルタを用いたフィルタリング処理を実行してノイズ成分を除去し、ステップS306に移行する。
ステップS306では、センシングプロセッサ210において、ステップS304でノイズ除去後の回転座標系の距離情報を直交座標系の距離情報に変換し、ステップS308に移行する。
【0134】
回転座標系から直交座標系への変換は、第1走査処理による各測定点の座標は、z−x平面上の座標となり、x軸は、第2走査処理によって、z軸回りに走査単位角度ずつ座標位置が変化する。したがって、直交座標系への変換は、z軸回りの各回転角度ごとに行われる。
ステップS308では、センシングプロセッサ210において、ステップS306で直交座標系に変換された距離情報に基づいて、各測定点の勾配を算出してステップS310に移行する。
【0135】
図24は、勾配の算出例を示す図である。
各測定点の勾配は、各測定点の測定距離と、その前後の所定数の測定点の距離情報とを用いて、図24(a)に示すように、最小二乗法を用いて算出する。
図24(a)に示すように、最小二乗法を用いて、勾配の算出対象の測定点(図24(a)中の白丸)を含む前後所定数の測定点に対する回帰直線を近似し、回帰直線の勾配を、対象の測定点の勾配とする。最小二乗法は、データのばらつきによって受ける影響は少ないが、計算量が比較的多くなる。
【0136】
また、別の方法として、図24(b)に示すように、各測定点に対して、所定数の他の測定点を挟む前後2つの測定点の距離情報の差分値を用いて勾配を算出する。
具体的に、図24(b)に示すように、前後2つの測定点のz軸方向の測定距離の差分値である第1差分値(例えば、注目する測定点のz軸方向の距離をziとすると、zi+2−zi-2)を算出するとともに、前後2つの測定点のx軸方向の測定距離の差分値である第2差分値(例えば、注目する測定点のx軸方向の距離をxiとすると、xi+2−xi-2)を算出し、これら算出結果から、注目する測定点の勾配(第1差分値/第2差分値)を求める。この方法では、データのばらつきによる影響が最小二乗法よりも大きくなるが、計算が、単純な引き算と割り算のみで済むため最小二乗法よりも高速に勾配を算出することができる。
【0137】
ステップS310では、センシングプロセッサ210において、ステップS308で算出した勾配に基づいて各勾配の出現頻度を算出し、ステップS312に移行する。
本実施の形態では、勾配ごとの測定点の個数を出現頻度として算出する。
ステップS312では、センシングプロセッサ210において、ステップS310で算出した各勾配の出現頻度に基づいて、出現頻度の判定処理が未処理の勾配の出現頻度を選択し、ステップS314に移行する。
【0138】
ステップS314では、センシングプロセッサ210において、ステップS312で選択した勾配の出現頻度とあらかじめ設定された閾値とを比較するとともに選択された出現頻度は、閾値以上か否かを判定し、閾値以上と判定された場合(Yes)は、ステップS316に移行し、そうでない場合(No)は、ステップS334に移行する。
ステップS316に移行した場合は、センシングプロセッサ210において、選択した勾配とこの勾配を有する各測定点の座標情報とを対応付けて不図示のRAM等の記録媒体に記録し、ステップS318に移行する。
【0139】
ステップS318では、センシングプロセッサ210において、すべての勾配についてステップS314の判定処理が終了したか否かを判定し、終了したと判定された場合(Yes)は、ステップS320に移行し、そうでない場合(No)は、ステップS312に移行する。
ステップS320に移行した場合は、センシングプロセッサ210において、ステップS316で記録した勾配と各測定点の座標情報とに基づいて、連続面(実際は、連続面と走査平面とが交差する線)の有無を判断し、ステップS322に移行する。
【0140】
ここで、連続面の判断は、例えば、所定の勾配範囲に含まれる勾配に対応する各測定点の座標情報に基づいて、測定点の座標が連続しているときに、これらの座標位置と交差する連続面があると判断する。所定の勾配範囲に含まれる勾配に対応する測定点の座標が連続していないときは、連続面がないと判断する。
ステップS322では、センシングプロセッサ210において、ステップS320の判断結果に基づいて連続面があるか否かを判定し、連続面があると判定された場合(Yes)は、ステップS324に移行し、そうでない場合(No)は、ステップS326に移行する。
【0141】
ステップS324に移行した場合は、センシングプロセッサ210において、連続面に対応する各測定点の測定距離の座標系をセンサ座標系(3次元座標)に変換し、変換後のセンサ座標系の距離情報を勾配の情報と対応付けて、不図示のRAM等の記録媒体に記録し、ステップS326に移行する。
ステップS326では、センシングプロセッサ210において、第2走査処理の走査角度範囲および走査単位角度に対応する、すべての走査平面に対して、連続面の判断処理が終了したか否かを判定し、終了したと判定された場合(Yes)は、ステップS328に移行し、そうでない場合(No)は、ステップS332に移行する。
【0142】
ステップS328に移行した場合は、センシングプロセッサ210において、ステップS324においてRAM等の記録媒体に記録した連続面と判断された距離情報に基づいて面データを生成し、ステップS330に移行する。
ここで、面データの生成は、例えば、各走査平面間において、連続面と判断された勾配およびその測定点の座標情報とを比較し、座標値と勾配とが近いものを面と判断し、これらの座標情報を対応付けたり、公知の補完法を用いてつなぎ合わせたりすることで行う。
【0143】
例えば、勾配が0に近い測定点の連続する座標情報から構成される面データの面は、水平面と判断できるので、そこが歩行可能な面だと判断できる。
ステップS330では、3次元距離測定装置200において、ハブ76および通信I/F64を介して、ステップS328で生成した面データをCPU60に出力して処理を終了する。
【0144】
一方、ステップS326において、すべての走査平面に対して連続面の判断処理が終了しておらず、ステップS332に移行した場合は、3次元距離測定装置200において、センシングプロセッサ210からの指令信号に応じて、ドライバ214、モータ216およびエンコーダ218を駆動し、2次元距離測定装置212を、ステップS300で設定されたz軸回りの走査角度範囲内において、同じくステップS300で設定された走査単位角度ずつz軸回りに回転させる処理(第2走査処理)を実行し、ステップS302に移行する。
【0145】
また、ステップS314において、出現頻度が閾値以上ではなく、ステップS334に移行した場合は、センシングプロセッサ210において、ステップS312で選択した勾配に対応する測定点の測定距離を測定ノイズとして除外し、ステップS318に移行する。
【0146】
次に、脚車輪型ロボット100の移動制御システムを説明する。
CPU60は、センサ入力I/F63を介して、3次元距離測定装置200、前方脚先センサ22、下方脚先センサ24、障害物センサ34、36および3軸姿勢センサ70からそれぞれセンサ信号を入力する。
次に、CPU60で実行される処理を説明する。
CPU60は、ステップS100、S102に代えて、3次元距離測定装置200を用いた特徴点検出処理を実行する。特徴点検出処理では、3次元距離測定装置200から面データを入力し、そのセンサ座標系における各測定点の座標をグローバル座標系の座標に変換し、変換した測定点のうち面の周縁上の点(段部の境界点)を特徴点として検出する。
【0147】
次に、本実施の形態の動作を説明する。
図25は、測定範囲内に階段がある場合の、第1走査処理による測定結果を示す図である。
まず、3次元距離測定装置200は、CPU60からの指令信号に基づいて、センシングプロセッサ210において走査角度範囲および走査単位角度を設定する(ステップS300)。
【0148】
ここで、2次元距離測定装置212は、測距範囲20〜4095[mm]、最大走査角度範囲240°、角度分解能0.36°の2次元レンジセンサであることとする。走査角度範囲が240°であれば、上述した図18に示す走査平面を形成する走査角度範囲と同じとなり、2次元距離測定装置212の上方にある支持部材219、駆動プーリ220a、従動プーリ220bおよびベルト221が走査範囲に含まれないことになる。
【0149】
また、第1走査処理に対して、走査角度範囲240°および走査単位角度0.36°が設定され、第2走査処理に対して、走査角度範囲−40°〜+40°および走査単位角度10°が設定されたとする(この場合は、走査平面が9つ形成される)。走査角度範囲−40°〜+40°であれば、2次元距離測定装置212から水平方向に所定距離隔てて配置されたモータ216およびエンコーダ218が走査範囲に含まれないことになる。
【0150】
センシングプロセッサ210は、まず、第1走査処理に対して設定された走査角度範囲および走査単位角度に基づいて、ドライバ212bに指令信号を出力する。
2次元距離測定装置212は、ドライバ212bにおいて、センシングプロセッサ210からの指令信号およびエンコーダ212dからの出力信号に基づいて、モータ212cの回転軸を回転駆動し、測距センサ212aをy軸回りに走査単位角度Δθ=0.36°ずつ回転するとともに、各回転角度に応じた距離を測定する第1走査処理を実行する(ステップS302)。最初は、z軸回りに対して回転角度φが0°の位置(初期位置)に対する第1走査処理を実行する。また、各距離情報(回転座標系)は、データ列L(θi,φj)として、センシングプロセッサ210へと出力される。
【0151】
なお、y軸回りの走査範囲内には、基体10以外に、2次元距離測定装置212の駆動機構等の走査を阻害する物が一切存在しないため、走査範囲内に存在する物体の正確な距離情報を得ることができる。
そして、1つの走査平面に対する第1走査処理が終了すると、センシングプロセッサ210は、第1走査処理において測定された距離情報に対して、メディアンフィルタを用いたフィルタリング処理を行う(ステップS304)。これにより、測定情報におけるノイズ成分を除去する。
【0152】
ここで、ノイズ成分除去後の各測定点の測定距離L[mm]は、例えば、図25に示すようになる。図25において、横軸は各走査角度に応じた測定点の番号(第1走査角度番号)であり、縦軸は各走査角度番号の測定点に対する測定距離L[mm]である。
図25に示す例では、脚車輪型ロボット100の歩行経路上に、段差が一定でかつ蹴込板が連続面となっている階段が存在している。
【0153】
次に、センシングプロセッサ210は、フィルタリング処理後の回転座標系の距離情報を直交座標系の距離情報に変換する(ステップS306)。
図26は、図25の各測定点の回転座標系の測定距離を直交座標系の測定距離に変換した場合の測定結果を示す図である。
すなわち、図25に示す各測定点の回転座標系の測定距離を直交座標系の測定距離へと変換することで、図26に示すように、各回転角度に対応するx軸方向の距離[mm]とz軸方向の距離[mm]とで表現される2次元の座標情報となる。図26において、横軸はx軸方向の距離Lx[mm]であり、縦軸はz軸方向の距離Lz[mm]である。
【0154】
次に、直交座標系に変換された距離情報に基づいて、各測定点の勾配を算出する(ステップS308)。
図27は、最小二乗法を用いて算出したx方向およびz方向の勾配の一例を示す図である。
【0155】
ここでは、最小二乗法を用いて、各測定点の勾配を算出する。ここで、最小二乗法を用いた場合に、図27(a)および(b)に示すように、最小二乗法を適用する複数の測定点に対して、x方向の勾配と、z方向の勾配とが異なる場合がある。そこで、下式(12)および(13)に示すように、x方向およびz方向の勾配を求める2つの直線の方程式を用いて最小二乗法計算を行う。
z=ax・x+bx …(12)
x=az・z+bz …(13)
【0156】
そして、上式(12)におけるaxおよびbxを下式(14)により算出し、上式(13)におけるazおよびbzを下式(15)により算出する。
【0157】
【数12】

【0158】
xおよびbx、並びにazおよびbzを算出すると、これらの算出結果を代入した、上式(12)および(13)の直線と、最小二乗計算に用いた各測定点との距離を残差hxおよびhzとして算出するとともに、前記各測定点に対する残差hxの二乗和と、残差hzの二乗和とを算出する(下式(16))。
【0159】
【数13】

【0160】
残差hxの二乗和および残差hzの二乗和が算出されると、両者を比較して値の小さい方の直線を、正しい直線として採用し、この直線の勾配に基づいて、算出対象の測定点の勾配を求める。具体的に、残差hxの二乗和の方が小さければ、「a=ax、b=bx」とし、残差hzの二乗和の方が小さければ、「a=1/az、b=1/bz」とする。
【0161】
上記のようにして、走査平面に対する全測定点の勾配が算出されると、次に、各勾配の出現頻度を算出する(ステップS310)。
図28は、ある走査平面に対する勾配の出現頻度の一例を示す図である。
ここでは、図28に示すような、出現頻度が得られたとする。
図28に示すように、勾配が0近傍の出現頻度が比較的高くなっており、これらの勾配に対応する測定点の座標情報が連続していれば、そこに水平面があると推定することができる。
【0162】
出現頻度が算出されると、センシングプロセッサ210は、次に、未判定の勾配の出現頻度を選択し(ステップS312)、その出現頻度が、あらかじめ設定された閾値以上か否かを判定する(ステップS314)。そして、閾値以上であれば(ステップS314の「Yes」の分岐)、勾配と測定点の座標情報とを対応付けてRAM(不図示)に記録する(ステップS316)。一方、閾値未満であれば(ステップS314の「No」の分岐)、測定ノイズとして、測定点の距離情報を除外する(ステップS334)。
【0163】
上記の判定処理が、すべての勾配に対して終了すると(ステップS318の「Yes」の分岐)、次に、RAMに記録された、出現頻度が閾値以上の勾配および測定点の座標情報に基づいて、連続面の有無を判断する(ステップS320)。
脚車輪型ロボット100の移動経路上には、段差が一定でかつ蹴込板が連続面となっている階段が存在しているため、階段部分にある水平面等が、勾配0および略0の測定点の連続する座標として現われる。このような場合に、センシングプロセッサ210は、連続面(実際は、面と走査平面との交差線)がある(ステップS322の「Yes」の分岐)と判断する。一方、座標の途中で勾配がいきなり外れた値となったときは、そこで面(実際は、面と走査平面との交差線)が途切れていると判断する。これらの判断結果から、物体の凹凸を認識することが可能である。
【0164】
そして、連続面に対応する直交座標系の測定距離を、センサ座標系(3次元)の測定距離に変換し、RAMに記録する(ステップS324)。
連続面の判断が終了すると、3次元距離測定装置200は、ドライバ214において、センシングプロセッサ210からの指令信号およびエンコーダ218からの出力信号に基づいて、モータ216の回転軸を回転駆動し、2次元距離測定装置212をz軸回りに回転角度10°ずつ回転する第2走査処理を実行する(ステップS332)。第2走査処理によって、2次元距離測定装置212の向きが1つ前の状態に対してz軸回りに10°だけ変化する。そして、2次元距離測定装置212は、この状態で、再び、第1走査処理を実行する(ステップS302)。これにより、z軸回りに10°ずれた位置に新たな走査平面が形成される。
【0165】
そして、設定された走査角度範囲(−40°〜+40°)に対して、設定された走査単位角度10°で、2次元距離測定装置212を回転させ、各回転角度φにおいて、第1走査処理を実行する。
ここで、2次元距離測定装置212が基体10の正面に取り付けられているため、基体10が走査範囲内に含まれてしまうが、脚車輪型ロボット100の前方および歩行経路上を含む範囲においては阻害物が一切ないため、脚車輪型ロボット100の歩行制御を行うのに十分な走査範囲が確保できているといえる。
【0166】
そして、9つの走査平面に対する距離の測定が終了すると(ステップS326の「Yes」の分岐)、次に、RAMに記録された連続面の情報に基づいて面データを生成する(ステップS328)。
面データは、上述したように、z軸回りに連続する各隣り合う走査平面間において、勾配および座標の近い連続面をつなぎ合わせる(対応付ける)ことで生成される。生成した面データは、ハブ76および通信I/F64を介して、CPU60に出力される(ステップS330)。
【0167】
そして、CPU60により、入力された面データについてセンサ座標系の座標がグローバル座標系の座標に変換され、特徴点が検出される。
また、CPU60により、入力された面データが解析され、特に、勾配が0に近い交差線を有する面がある場合は、それを水平面とみなし、脚車輪型ロボット100が歩行可能な面であると判断される。
【0168】
歩行可能な面であると判断された場合は、面データのグローバル座標系への変換結果と、3軸姿勢センサ70のセンサ信号等とに基づいて脚先の着地位置が決定される。
なお、段差が一定でかつ蹴込板が連続面となる階段を例に挙げたが、段差が一定でない階段、蹴込板が連続面とならない階段、蹴込板の無い階段等に対しても、正確にその面の形状を認識することができるので、脚車輪型ロボット100の階段への適応性を高めることが可能である。
【0169】
このようにして、本実施の形態では、測距センサ212aをy軸回りに回転させるモータ212c等からなるy軸回転機構と、測距センサ212aをz軸回りに回転させるモータ216等からなるz軸回転機構とを備え、y軸回転機構により測距センサ212aを回転させながらy軸回転機構の走査単位角度ごとに測距センサ212aの測定結果を取得する第1走査を、z軸回転機構により測距センサ212aを回転させながらz軸回転機構の走査単位角度ごとに行う第2走査を行うことにより、y軸回転機構の走査単位角度ごとおよびz軸回転機構の走査単位角度ごとの測定結果を取得する。
【0170】
これにより、障害物の立体的な形状を把握することができ、これに基づいて検出された特徴点により干渉判定を行うことができるので、干渉判定の精度を向上することができる。また、測距センサ212aを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができる。
【0171】
さらに、本実施の形態では、モータ216およびエンコーダ218と、2次元距離測定装置212とを水平方向に所定距離隔てて配置し、駆動回転軸の回転駆動力を、駆動プーリ220a、従動プーリ220bおよびベルト221を介して従動回転軸へと伝達し、2次元距離測定装置212をz軸回りに回転駆動する構成とした。
これにより、2次元距離測定装置212の走査角度範囲内には、走査を阻害するものが一切なくなるので、正確な距離情報を得ることができる。また、モータ216およびエンコーダ218と、2次元距離測定装置212とを水平方向に配置したので、3次元距離測定装置200の高さ方向の占有率を低減することができる。
【0172】
さらに、本実施の形態では、測距センサ212aをy軸回りに走査単位角度ずつ回転させるとともに、各回転角度における距離を測定する第1走査処理を実行し、距離情報に基づいて、各測定点の勾配および勾配の出現頻度を算出することで、走査平面内に存在する物体の凹凸を認識する。
これにより、連続面が存在することを推定することができる。
【0173】
さらに、本実施の形態では、1つの走査平面に対する第1走査処理が終了するごとに、2次元距離測定装置212をz軸回りに走査単位角度だけ回転させる第2走査処理を実行する。
これにより、複数の走査平面に対して第1走査処理を実行することができるので、測定範囲内に存在する物体上の面の形状を認識することができる。また、面の形状が認識できるので、脚車輪型ロボット100は、未知の障害物に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等のヒューマンアシストロボットに好適である。
【0174】
上記第2の実施の形態において、y軸は、発明7の第1走査軸に対応し、z軸は、発明7の第2走査軸に対応し、y軸回転機構は、発明6若しくは7の第1走査手段、または発明7の第1回転手段に対応し、z軸回転機構は、発明6若しくは7の第2走査手段、または発明7の第2回転手段に対応している。また、ステップS302は、発明6または7の測定結果取得手段に対応している。
【0175】
なお、上記第1および第2の実施の形態においては、脚すね部平面と特徴点の位置関係に基づいて干渉の有無を判定するように構成したが、これに限らず、脚すね部の形状に対応する線(直線、線分、多次曲線、円、楕円その他の曲線)と、特徴点との位置関係に基づいて干渉の有無を判定するように構成することもできる。また、脚すね部に対応する空間と、特徴点との位置関係に基づいて干渉の有無を判定するように構成することもできる。
【0176】
また、上記第1および第2の実施の形態においては、レーザ28〜30およびカメラ32からなる物体センサまたは3次元距離測定装置200を用いて特徴点を検出するように構成したが、これに限らず、他の方式の物体センサを用いて特徴点を検出するように構成することもできる。
また、上記第1および第2の実施の形態においては、物体センサを用いて特徴点を検出するように構成したが、これに限らず、物体センサを用いることなく、あらかじめ測定、計算若しくは定義した特徴点に関する特徴点情報、またはシミュレーション等の計算結果に基づいて特徴点を検出するように構成することもできる。
【0177】
また、上記第1および第2の実施の形態においては、干渉の有無を判定するように構成したが、これに限らず、干渉しないことのみを判定すること、干渉することのみを判定すること、干渉の度合いを判定すること、干渉までの度合い(例えば、特徴点と脚すね部の間の距離)を判定するように構成することもできる。
また、上記第2の実施の形態においては、エンコーダ218を駆動回転軸に設けて構成としたが、これに限らず、従動回転軸に設けて構成とすることもできる。
【0178】
これにより、伝達誤差の影響を受けずに第2走査処理における走査角度を高精度に検出することができる。
また、上記第2の実施の形態においては、駆動プーリ220a、従動プーリ220bおよびベルト221を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成としたが、これに限らず、複数の歯車を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成とすることもできる。
【0179】
また、上記第2の実施の形態においては、第1走査処理における距離情報の取得を離散的(第2走査処理で回転させてから第1走査処理で距離情報を取得)に行う構成としたが、これに限らず、走査角度と測定距離との対応付けを行うことで連続的(第2走査処理で回転させつつ、第1走査処理で距離情報を取得)に行う構成とすることもできる。
また、上記第2の実施の形態においては、CPU60からの指令信号に基づいて、走査角度範囲および走査単位角度を設定するように構成としたが、これに限らず、3次元距離測定装置200にあらかじめ設定しておく構成とすることもできる。
【0180】
また、上記第2の実施の形態において、3次元距離測定装置200は、測距センサ212aをy軸回りに回転させ、2次元距離測定装置212をz軸回りに回転させる構成としたが、これに限らず、測距センサ212aをz軸回りに回転させ、2次元距離測定装置212をy軸回りに回転させる構成とすることもできる。また、y軸およびz軸回りに限らず、測距センサ212aの測定方向に対して互いに直交する2つの軸であれば、どの方向の軸回りでもよい。さらに、このような回転機構に限らず、測距センサ212aの測定方向とは異なる第1走査方向に測距センサ212aを移動させ、測定方向および第1走査方向とは異なる第2走査方向に測距センサ212aを移動させるように移動機構として構成することもできる。この場合、移動経路の形状としては、直線のほか円弧その他の曲線を採用することができる。回転機構と移動機構の組み合わせることもできる。
【0181】
また、上記第2の実施の形態においては、図29(a)に示すように、2次元距離測定装置212自身を回転させているが、これに限らず、光学式の測距センサを有する2次元距離測定装置であれば、図29(b)に示すように、測定方向の光軸上に挿入したミラーを回転させてもよい。
【0182】
図29は、測距センサの測定方向を変更する場合の構成を示す図である。
また、上記第1および第2の実施の形態においては、脚すね部を判定の対象部位として設定したが、これに限らず、脚車輪型ロボット100の任意の部位を判定の対象部位として設定することができる。
また、上記第1および第2の実施の形態においては、本発明に係る干渉判定装置および脚車輪型ロボットを、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
【0183】
また、上記第1および第2の実施の形態においては、本発明に係る干渉判定装置および脚車輪型ロボットを脚車輪型ロボット100に適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。例えば、直動関節で脚構造を実現する脚車輪型ロボットや他の構成のロボット、車両その他の装置に適用することができる。
【図面の簡単な説明】
【0184】
【図1】脚車輪型ロボット100の正面図である。
【図2】脚車輪型ロボット100の側面図である。
【図3】障害物センサ34、36の構成を示す図である。
【図4】脚車輪型ロボット100の移動制御システムを示すブロック図である。
【図5】昇降制御処理を示すフローチャートである。
【図6】光切断法の原理を説明するための図である。
【図7】階段にレーザ光を照射した状態およびカメラ32の撮像素子の画像を示す図である。
【図8】階段の昇降時に段鼻部の特徴点を検出する場合を示す図である。
【図9】グローバル座標系において脚すね部の表面に対応する4つの平面を示す図である。
【図10】段鼻部の特徴点A、脚すね部平面、脚すね部平面上の任意の点Pおよび脚すね部平面の法線ベクトルNを示す図である。
【図11】グローバル座標系および脚車輪型ロボット100の各座標系を示す図である。
【図12】座標系P4を示す図である。
【図13】脚すね部平面および法線ベクトルNを示す図である。
【図14】干渉判定処理を示すフローチャートである。
【図15】脚車輪型ロボット100を側面図である。
【図16】3次元距離測定装置200の外観構造を示す図である。
【図17】2次元距離測定装置212の制御構造を示すブロック図である。
【図18】測距センサ212aの走査範囲を示す図である。
【図19】3次元距離測定装置200の制御構造を示すブロック図である。
【図20】2次元距離測定装置212の距離測定の原理を説明する図である。
【図21】第1走査処理および第2走査処理により走査を行った場合を示す図である。
【図22】3次元距離測定装置200の距離の計測例を示す図である。
【図23】3次元距離測定装置200における物体認識処理を示すフローチャートである。
【図24】勾配の算出例を示す図である。
【図25】測定範囲内に階段がある場合の、第1走査処理による測定結果を示す図である。
【図26】図25の各測定点の回転座標系の測定距離を直交座標系の測定距離に変換した場合の測定結果を示す図である。
【図27】最小二乗法を用いて算出したx方向およびz方向の勾配の一例を示す図である。
【図28】ある走査平面に対する勾配の出現頻度の一例を示す図である。
【図29】測距センサの測定方向を変更する場合の構成を示す図である。
【符号の説明】
【0185】
100 脚車輪型ロボット
10 基体
12 脚部
14〜18 回転関節
20 駆動輪
22、24 脚先センサ
26 水平レーザ
28、30 垂直レーザ
32 カメラ
34、36 障害物センサ
40、50 モータ
42、52 エンコーダ
44、54 ドライバ
70 3軸姿勢センサ
200 3次元距離測定装置
210 センシングプロセッサ
212 2次元距離測定装置
212a 測距センサ
212c、216 モータ
212d、218 エンコーダ
212b、214 ドライバ
220a 駆動プーリ
220b 従動プーリ
221 ベルト

【特許請求の範囲】
【請求項1】
対象部位について障害物との干渉判定を行う干渉判定装置であって、
障害物の特徴点を検出する特徴点検出手段と、
前記特徴点および前記対象部位の座標を定める座標系において、前記対象部位またはこれと連動する部位の姿勢および前記対象部位の形状により特定される線、平面または空間であって、前記対象部位の形状に対応する線、前記対象部位の表面に対応する平面または前記対象部位に対応する空間と、前記特徴点検出手段で検出した特徴点との位置関係に基づいて、前記対象部位について障害物との干渉判定を行う干渉判定手段とを備えることを特徴とする干渉判定装置。
【請求項2】
基体と、前記基体に対して自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、物体センサとを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、
前記物体センサの測定結果に基づいて障害物の特徴点を検出する特徴点検出手段と、
前記特徴点および前記対象部位の座標を定める座標系において、当該脚車輪型ロボットの姿勢および前記対象部位の形状により特定される線、平面または空間であって、前記対象部位の形状に対応する線、前記対象部位の表面に対応する平面または前記対象部位に対応する空間と、前記特徴点検出手段で検出した特徴点との位置関係に基づいて、前記対象部位について障害物との干渉判定を行う干渉判定手段とを備えることを特徴とする脚車輪型ロボット。
【請求項3】
請求項2において、
前記干渉判定手段は、前記座標系において、前記対象部位の表面に対応する複数の平面で囲まれる空間に前記特徴点が属するか否かを判定することにより、前記対象部位に対して障害物が干渉するか否かを判定することを特徴とする脚車輪型ロボット。
【請求項4】
請求項3において、
前記干渉判定手段は、当該脚車輪型ロボットの姿勢および前記対象部位の形状に基づいて、前記対象部位の座標を定める第1座標系の座標を、前記特徴点の座標を定める第2座標系の座標に変換して前記第2座標系における前記複数の平面を特定し、前記第2座標系において、前記複数の平面で囲まれる空間に前記特徴点が属するか否かを判定することを特徴とする脚車輪型ロボット。
【請求項5】
請求項3および4のいずれか1項において、
前記干渉判定手段は、前記特徴点と前記平面上の任意の点を結ぶ直線と、前記平面の法線ベクトルとの内積に基づいて、前記複数の平面で囲まれる空間に前記特徴点が属するか否かを判定することを特徴とする脚車輪型ロボット。
【請求項6】
請求項2ないし5のいずれか1項において、
前記物体センサは、物体上の測定点までの距離を測定する測距センサであり、
前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを走査する第1走査手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを走査する第2走査手段と、前記第1走査手段および前記第2走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段とを備え、
前記特徴点検出手段は、前記測定結果取得手段で取得した測定結果に基づいて前記特徴点を検出することを特徴とする脚車輪型ロボット。
【請求項7】
請求項6において、
前記第1走査手段は、前記測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段であり、
前記第2走査手段は、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段であり、
前記測定結果取得手段は、前記第1回転手段により前記測距センサを回転させながら前記第1回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第1走査を、前記第2回転手段により前記測距センサを回転させながら前記第2回転手段の所定単位角度ごとに行う第2走査を行うことにより、前記第1回転手段の所定単位角度ごとおよび前記第2回転手段の所定単位角度ごとの前記測定結果を取得することを特徴とする脚車輪型ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2009−50936(P2009−50936A)
【公開日】平成21年3月12日(2009.3.12)
【国際特許分類】
【出願番号】特願2007−218646(P2007−218646)
【出願日】平成19年8月24日(2007.8.24)
【出願人】(000004204)日本精工株式会社 (8,378)
【Fターム(参考)】