[go: up one dir, main page]

JP2009006984A - 脚車輪型ロボット - Google Patents

脚車輪型ロボット Download PDF

Info

Publication number
JP2009006984A
JP2009006984A JP2007261525A JP2007261525A JP2009006984A JP 2009006984 A JP2009006984 A JP 2009006984A JP 2007261525 A JP2007261525 A JP 2007261525A JP 2007261525 A JP2007261525 A JP 2007261525A JP 2009006984 A JP2009006984 A JP 2009006984A
Authority
JP
Japan
Prior art keywords
leg
wheel
scanning
actuator
type robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007261525A
Other languages
English (en)
Inventor
Kazuteru Hida
和輝 飛田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NSK Ltd
Original Assignee
NSK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSK Ltd filed Critical NSK Ltd
Priority to JP2007261525A priority Critical patent/JP2009006984A/ja
Publication of JP2009006984A publication Critical patent/JP2009006984A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】 重量およびエネルギー消費量の増加を抑制し、旋回時の駆動トルクを低減するのに好適な脚車輪型ロボットを提供する。
【解決手段】 脚車輪型ロボット100は、基体10と、基体10にヨー軸回りの自由度を有して連結された脚部12と、脚部12に回転可能に設けられた駆動輪20と、ヨー軸回りの自由度の範囲で脚部12を駆動するための動力を付与する関節モータ40とを備え、障害物回避時における脚部12の駆動制御および走行時における駆動輪20の操舵制御を、関節モータ40を共通に用いて行う。
【選択図】図1

Description

本発明は、段差を乗り越えて移動できる脚車輪型ロボットに係り、特に、重量およびエネルギー消費量の増加を抑制し、旋回時の駆動トルクを低減するのに好適な脚車輪型ロボットに関する。
ロボットの移動機構は、車輪型、クローラ型、脚型またはこれらを組み合わせた機構に分類される。一般に、車輪型ロボットは、平地での移動性は高いが、段差への適応性が低いという問題がある。また、クローラ型ロボットは、不整地に適し、多少の段差であれば乗り越えられるが、積極的な重心移動ができないために急な階段への適応性が低く、平地における移動性が車輪型ロボットより低いという問題があった。また、脚型ロボットは、階段への適応性が最も優れているが、平地での移動性が極端に低いという問題がある。
車輪型、クローラ型および脚型の問題を解決するため、脚型と車輪型を組み合わせた脚車輪型ロボットが提案されている。脚車輪型ロボットとしては、例えば、特許文献1記載の技術が知られている。
特許文献1には、サーボモータによって駆動される4本の脚部を自在に駆動しての歩行移動と、4本の脚部の内の後ろ側の2本の脚部に備えられた2つの駆動輪と、前側の2本の脚部に備えられた2つの従動輪とによる車輪移動と、さらに歩行移動と車輪移動を組み合わせたハイブリッド移動を行う脚式移動ロボット装置が開示されている(同文献[0123]および図31(a))。
脚部を構成する各脚部ユニットは、上部リンクと下部リンクをアクチュエータによって駆動される第2連結部によって連結し、胴体部に対して上部リンクが第1連結部で連結している。また、前側の左脚部ユニットと右脚部ユニットの第1連結部と第2連結部との間には、従動輪をヨー軸回りに回転させるためのステアリング機構である回転部が設けられている。したがって、回転部のステアリング機構により前の左右脚部ユニットの下部が進む方向に向けられるので、脚式移動ロボット装置は左または右方向への回転、旋回が可能となる(同文献[0124]〜[0126])。
特開2004−34169号公報
ところで、脚車輪型ロボットの走行時の操舵機構として、ヨー軸回りに回転する回転関節およびこれを回転駆動するための動力を付与するアクチュエータを脚先に設け、このアクチュエータを用いて操舵制御を行う機構が考えられる。
しかしながら、回転関節およびアクチュエータを脚先に設けるため、重量およびエネルギー消費量がともに増大する。
また、特許文献1記載の技術にあっても、走行時の操舵制御のために専用のステアリング機構が設けられているため、同様の問題があるとともに、単にステアリング機構を制御するのでは、旋回時の重心移動等によりステアリング機構の駆動トルクが大きくなるという問題もあった。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、重量およびエネルギー消費量の増加を抑制し、旋回時の駆動トルクを低減するのに好適な脚車輪型ロボットを提供することを目的としている。
〔発明1〕 上記目的を達成するために、発明1の脚車輪型ロボットは、基体と、前記基体に対して少なくともヨー軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記脚部を駆動するための動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、前記制御手段は、障害物回避時における前記脚部の駆動制御および走行時における前記車輪の操舵制御を、前記アクチュエータを共通に用いて行う。
このような構成であれば、平地等の障害物が存在しないところでは、車輪走行で移動しながら、制御手段により、アクチュエータを用いて車輪の操舵制御が行われる。アクチュエータが駆動すると、脚部に動力が付与され、ヨー軸回りの自由度の範囲で脚部が駆動し、車輪の操舵が行われる。したがって、車輪型ロボットと同様に平地での移動性が高い。
また、段差等の障害物が存在するところでは、制御手段により、アクチュエータを用いて脚部の駆動制御が行われる。アクチュエータが駆動すると、脚部に動力が付与され、ヨー軸回りの自由度の範囲で脚部が駆動し、段差を乗り越えることができる。したがって、脚型ロボットと同様に段差への適応性が高い。
〔発明2〕 さらに、発明2の脚車輪型ロボットは、基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第1アクチュエータと、前記ピッチ軸またはロール軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第2アクチュエータと、前記第1アクチュエータおよび前記第2アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、前記制御手段は、障害物回避時における前記脚部の駆動制御を、前記第1アクチュエータおよび前記第2アクチュエータを用いて行うとともに、走行時における前記車輪の操舵制御を、前記第1アクチュエータを用いて行う。
このような構成であれば、平地等の障害物が存在しないところでは、車輪走行で移動しながら、制御手段により、第1アクチュエータを用いて車輪の操舵制御が行われる。アクチュエータが駆動すると、脚部に動力が付与され、ヨー軸回りの自由度の範囲で脚部が駆動し、車輪の操舵が行われる。したがって、車輪型ロボットと同様に平地での移動性が高い。
また、段差等の障害物が存在するところでは、制御手段により、第1アクチュエータおよび第2アクチュエータを用いて脚部の駆動制御が行われる。アクチュエータが駆動すると、脚部に動力が付与され、ヨー軸回りの自由度の範囲およびピッチ軸またはロール軸回りの自由度の範囲で脚部が駆動し、段差を乗り越えることができる。したがって、脚型ロボットと同様に段差への適応性が高い。
〔発明3〕 さらに、発明3の脚車輪型ロボットは、発明2の脚車輪型ロボットにおいて、複数の前記脚部と、前記各脚部に回転可能に設けられた複数の前記車輪とを備え、前記制御手段は、旋回時に、前記各車輪の接地点から構成される多角形と前記基体の重心の投影点との位置関係が一定となるように、前記第1アクチュエータおよび前記第2アクチュエータを制御する。
このような構成であれば、旋回時は、制御手段により、各車輪の接地点から構成される多角形と基体の重心の投影点との位置関係が一定となるように、第1アクチュエータおよび第2アクチュエータが制御される。
〔発明4〕 さらに、発明4の脚車輪型ロボットは、発明3の脚車輪型ロボットにおいて、前記制御手段は、旋回時に、前記各車輪の接地点から構成される多角形の中心と前記基体の重心の投影点とが一致するように、前記第1アクチュエータおよび前記第2アクチュエータを制御する。
このような構成であれば、旋回時は、制御手段により、各車輪の接地点から構成される多角形の中心と基体の重心の投影点とが一致するように、第1アクチュエータおよび第2アクチュエータが制御される。
〔発明5〕 さらに、発明5の脚車輪型ロボットは、発明3および4のいずれか1の脚車輪型ロボットにおいて、前記制御手段は、旋回時に、前記車輪が、当該車輪が設けられた脚部のうち前記ヨー軸回りの自由度を有する部分の当該軸上に位置するように、前記第1アクチュエータおよび前記第2アクチュエータを制御する。
このような構成であれば、旋回時は、制御手段により、車輪が、その車輪が設けられた脚部のうちヨー軸回りの自由度を有する部分のその軸上に位置するように、第1アクチュエータおよび第2アクチュエータが制御される。
〔発明6〕 さらに、発明6の脚車輪型ロボットは、発明2ないし5のいずれか1の脚車輪型ロボットにおいて、前記制御手段は、前記基体を上下方向に変位させるときは、前記各車輪の接地点から構成される多角形と前記基体の重心の投影点との位置関係が一定となるように、前記第1アクチュエータおよび前記第2アクチュエータを制御する。
このような構成であれば、基体を上下方向に変位させるときは、制御手段により、各車輪の接地点から構成される多角形と基体の重心の投影点との位置関係が一定となるように、第1アクチュエータおよび第2アクチュエータが制御される。
〔発明7〕 さらに、発明7の脚車輪型ロボットは、発明2ないし6のいずれか1の脚車輪型ロボットにおいて、前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第1アクチュエータを制御する。
このような構成であれば、自脚車輪型ロボットの移動時において、脚車輪型ロボットの基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と各車輪の進行方向とが一致するように第1アクチュエータが制御される。
〔発明8〕 さらに、発明8の脚車輪型ロボットは、発明2ないし7のいずれか1の脚車輪型ロボットにおいて、前記基体に対して、複数の、前記脚部、前記車輪、前記第1アクチュエータ及び前記第2アクチュエータから構成される脚車輪機構部を備え、前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第1アクチュエータを制御する。
このような構成であれば、旋回時は、制御手段により、基体をヨー軸(垂直軸)周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点位置における該回転中心の運動方向と、各車輪の進行方向とが一致するように、第1アクチュエータが制御される。
〔発明9〕 一方、上記目的を達成するために、発明9の物体認識装置は、物体上の面または面の境界を認識する物体認識装置であって、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも2つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備える。
このような構成であれば、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
次いで、線分検出手段により、変換された少なくとも2つの測定点の座標に基づいてハフ変換により直交座標系における線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
また、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、ばらつきが生じた測定点およびその近傍領域(以下、誤差領域という。)について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
また、最小二乗法では、どこからどこまでの領域を1つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が1つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を1つの平坦な線分として検出することができる。
ハフ変換により線分が検出されると、認識手段により、検出された線分に基づいて物体上の面または面の境界が認識される。したがって、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
ここで、走査手段は、測距センサを走査するものであればどのような構成であってもよく、例えば、測定点の軌跡が線をなすように測距センサを1次元に走査してもよいし、測定点の軌跡が面をなすように測距センサを2次元に走査してもよい。前者の場合は、物体の平面的な形状を、後者の場合は、物体の立体的な形状を把握することができる。以下、発明10および15の物体認識装置において同じである。
また、走査手段としては、例えば、次の構成を採用することができる。
(1)回転機構
前記測距センサの測定方向に対して所定角度をなす少なくとも1つの走査軸の回りに前記測距センサを回転させる回転手段からなる構成である。
(2)移動機構
前記測距センサの測定方向とは異なる少なくとも1つの走査方向に前記測距センサを移動させる移動手段からなる構成である。なお、移動手段は、前記走査方向に延長する経路を含む経路に沿って前記測距センサを移動させてもよい。以下、発明10および15の物体認識装置において同じである。
〔発明10〕 さらに、発明10の物体認識装置は、物体上の面または面の境界を認識する物体認識装置であって、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段と、前記線分検出手段で検出した線分に基づいて物体上の面または面の境界を認識する認識手段とを備える。
このような構成であれば、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
次いで、測定点間補間手段により、変換された測定点間が線で補間され、線分検出手段により、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
また、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、誤差領域について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
また、最小二乗法では、どこからどこまでの領域を1つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が1つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を1つの平坦な線分として検出することができる。
ハフ変換により線分が検出されると、認識手段により、検出された線分に基づいて物体上の面または面の境界が認識される。したがって、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
ここで、補間には、測定点間を線で接続することのほか、測定点間を線で近似することが含まれ、必ずしも、測定点が線上に位置しなくてもよいし、隣接する測定点同士を対象としなくてもよい。以下、発明17の物体認識装置、および発明26の物体認識方法において同じである。
また、線には、直線、線分、多次曲線その他の曲線が含まれる。以下、発明17の物体認識装置、および発明26の物体認識方法において同じである。
〔発明11〕 さらに、発明11の物体認識装置は、発明9および10のいずれか1の物体認識装置において、前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面の境界を認識する。
このような構成であれば、認識手段により、検出された線分の端点の座標に基づいて物体上の面の境界が認識される。
〔発明12〕 さらに、発明12の物体認識装置は、発明9ないし11のいずれか1の物体認識装置において、前記走査手段は、前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを走査する第1走査手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを走査する第2走査手段とからなり、前記測定結果取得手段は、前記第1走査手段および前記第2走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する。
このような構成であれば、第1走査手段により、第1走査方向に測距センサが、第2走査手段により、第2走査方向に測距センサがそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第1走査手段および第2走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得される。
ここで、第1走査手段および第2走査手段としては、例えば、次の構成を採用することができる。
(1)回転機構
前記測距センサの測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段と、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段とからなる構成である。
(2)移動機構
前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを移動させる第1移動手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを移動させる第2移動手段とからなる構成である。なお、第1移動手段は、前記第1走査方向に延長する経路を含む第1経路に沿って前記測距センサを移動させてもよいし、第2移動手段は、前記第2走査方向に延長する経路を含む第2経路に沿って前記測距センサを移動させてもよい。以下、(3)、(4)においても同様である。
(3)回転機構と移動機構の組み合わせ
前記測距センサの測定方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段と、前記走査軸の軸方向とは異なる走査方向に前記測距センサを移動させる移動手段とからなる構成である。
(4)移動機構と回転機構の組み合わせ
前記測距センサの測定方向とは異なる走査方向に前記測距センサを移動させる移動手段と、前記走査方向に対して所定角度をなす走査軸の回りに前記測距センサを回転させる回転手段とからなる構成である。以下、発明19の物体認識装置において同じである。
〔発明13〕 さらに、発明13の物体認識装置は、発明12の物体認識装置において、前記認識手段は、前記線分検出手段で検出した線分の端点の座標に基づいて物体上の面を認識する。
このような構成であれば、認識手段により、検出された線分の端点の座標に基づいて物体上の面が認識される。
〔発明14〕 さらに、発明14の物体認識装置は、発明12および13のいずれか1の物体認識装置において、前記第1走査手段は、前記測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段であり、前記第2走査手段は、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段であり、前記測定結果取得手段は、前記第1回転手段により前記測距センサを回転させながら前記第1回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第1走査を、前記第2回転手段により前記測距センサを回転させながら前記第2回転手段の所定単位角度ごとに行う第2走査を行うことにより、前記第1回転手段の所定単位角度ごとおよび前記第2回転手段の所定単位角度ごとの前記測定結果を取得する。
このような構成であれば、第1回転手段により、第1走査軸の回りに測距センサが、第2回転手段により、第2走査軸の回りに測距センサがそれぞれ回転可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第2走査が行われることにより第1回転手段の所定単位角度ごとおよび第2回転手段の所定単位角度ごとの測定結果が取得される。第2走査では、第2回転手段により測距センサを回転させながら第2回転手段の所定単位角度ごとに第1走査が行われる。第1走査では、第1回転手段により測距センサを回転させながら第1回転手段の所定単位角度ごとに測定結果が取得される。
〔発明15〕 さらに、発明15の物体認識装置は、物体上の面または面の境界を認識する物体認識装置であって、物体上の測定点までの距離を測定する測距センサと、前記測距センサを走査する走査手段と、前記走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得手段と、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴を検出する第1特徴検出手段と、前記走査手段の走査範囲で測定可能な前記測定点を含む画像を撮影する撮像手段と、前記撮像手段で撮影した画像に基づいて物体上の特徴を検出する第2特徴検出手段と、前記第1特徴検出手段および前記第2特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する認識手段とを備える。
このような構成であれば、走査手段により、測距センサが走査可能となる。したがって、物体の少なくとも平面的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得され、第1特徴検出手段により、取得された測定結果に基づいて物体上の特徴が検出される。
また、撮像手段により、走査手段の走査範囲で測定可能な測定点を含む画像が撮影され、第2特徴検出手段により、撮影された画像に基づいて物体上の特徴が検出される。
そして、認識手段により、第1特徴検出手段および第2特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。
ここで、物体上の特徴としては、例えば、物体上の特徴を示す点、直線、線分、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴が含まれる。以下、発明27の物体認識方法において同じである。
〔発明16〕 さらに、発明16の物体認識装置は、発明15の物体認識装置において、前記第1特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された少なくとも2つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第2特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換される。
そして、線分検出手段により、変換された少なくとも2つの測定点の座標に基づいてハフ変換により直交座標系における線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定解像度が低い領域では、物体上の面とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、測定解像度が低い領域を含んでいても、物体上の面に比較的沿った線分を検出することができる。
また、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、測定面の光沢等の影響により測定結果にばらつきが生じたときは、誤差領域について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を平坦な線分として検出することができる。
また、最小二乗法では、どこからどこまでの領域を1つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域について、実際は誤差領域およびその両側の領域が1つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、誤差領域およびその両側の領域を1つの平坦な線分として検出することができる。
ハフ変換により線分が検出されると、認識手段により、検出された線分および第2特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、非特許文献1の技術が、複雑な姿勢制御を必要としないクローラ型ロボットの移動制御のための簡易なマップ情報しか生成できないのに対して、本発明は、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
〔発明17〕 さらに、発明17の物体認識装置は、発明15の物体認識装置において、前記第1特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された前記測定点間を線で補間する測定点間補間手段と、前記測定点間補間手段で得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出手段とを有し、前記認識手段は、前記線分検出手段で検出した線分および前記第2特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換され、測定点間補間手段により、変換された測定点間が線で補間される。
そして、線分検出手段により、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分が検出される。なお、最小二乗法に対しては上記同様の優位点がある。
ハフ変換により線分が検出されると、認識手段により、検出された線分および第2特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、上記同様に、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
〔発明18〕 さらに、発明18の物体認識装置は、発明15の物体認識装置において、前記第1特徴検出手段は、前記測定結果取得手段で取得した測定結果を直交座標系の座標に変換する座標変換手段と、前記座標変換手段で変換された各測定点ごとに、当該測定点の座標およびその周辺の測定点の座標に基づいて前記直交座標系における当該測定点での傾きを算出する傾き算出手段と、前記傾き算出手段で算出した傾きの総数に対する各傾きの出現頻度を算出する出現頻度算出手段とを有し、前記認識手段は、前記出現頻度算出手段で算出した出現頻度および前記変換された各測定点の座標、並びに前記第2特徴検出手段の検出結果に基づいて物体上の面または面の境界を認識する。
このような構成であれば、座標変換手段により、取得された測定結果が直交座標系の座標に変換され、傾き算出手段により、変換された各測定点ごとに、その測定点の座標およびその周辺の測定点の座標に基づいて直交座標系におけるその測定点での傾きが算出され、出現頻度算出手段により、算出された傾きの総数に対する各傾きの出現頻度が算出される。
各傾きの出現頻度が算出されると、認識手段により、算出された出現頻度および変換された各測定点の座標、並びに第2特徴検出手段の検出結果に基づいて物体上の面または面の境界が認識される。したがって、上記同様に、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
ここで、傾き算出手段は、例えば、複数の測定点に対する回帰直線を公知の最小二乗法で近似し、回帰直線から傾きを算出したり、直交座標系において、一の軸方向に連続する複数の測定点のうち両端2つの測定点の座標の差分値と、他の軸方向に連続する複数の測定点のうち両端2つの測定点の座標の差分値とを用いて傾きを算出したりすることができる。
〔発明19〕 さらに、発明19の物体認識装置は、発明15ないし18のいずれか1の物体認識装置において、前記走査手段は、前記測距センサの測定方向とは異なる第1走査方向に前記測距センサを走査する第1走査手段と、前記測定方向および前記第1走査方向とは異なる第2走査方向に前記測距センサを走査する第2走査手段とからなり、前記測定結果取得手段は、前記第1走査手段および前記第2走査手段の走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する。
このような構成であれば、第1走査手段により、第1走査方向に測距センサが、第2走査手段により、第2走査方向に測距センサがそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第1走査手段および第2走査手段の走査範囲で測定可能な測定点について測距センサの測定結果が取得される。
〔発明20〕 さらに、発明20の物体認識装置は、発明19の物体認識装置において、前記第1走査手段は、前記測定方向に対して所定角度をなす第1走査軸の回りに前記測距センサを回転させる第1回転手段であり、前記第2走査手段は、前記測定方向および前記第1走査軸に対して所定角度をなす第2走査軸の回りに前記測距センサを回転させる第2回転手段であり、前記測定結果取得手段は、前記第1回転手段により前記測距センサを回転させながら前記第1回転手段の所定単位角度ごとに前記測距センサの測定結果を取得する第1走査を、前記第2回転手段により前記測距センサを回転させながら前記第2回転手段の所定単位角度ごとに行う第2走査を行うことにより、前記第1回転手段の所定単位角度ごとおよび前記第2回転手段の所定単位角度ごとの前記測定結果を取得する。
このような構成であれば、第1回転手段により、第1走査軸の回りに測距センサが、第2回転手段により、第2走査軸の回りに測距センサがそれぞれ回転可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、第2走査が行われることにより第1回転手段の所定単位角度ごとおよび第2回転手段の所定単位角度ごとの測定結果が取得される。第2走査では、第2回転手段により測距センサを回転させながら第2回転手段の所定単位角度ごとに第1走査が行われる。第1走査では、第1回転手段により測距センサを回転させながら第1回転手段の所定単位角度ごとに測定結果が取得される。
〔発明21〕 さらに、発明21の物体認識装置は、発明15ないし18のいずれか1の物体認識装置において、複数の前記測距センサおよび前記走査手段を備え、前記各走査手段は、当該走査手段に対応する前記測距センサを、前記測距センサの測定方向とは異なる第1走査方向に走査し、前記各測距センサは、前記測定方向および前記第1走査方向とは異なる第2走査方向に配置されている。
このような構成であれば、各走査手段により、第2走査方向に配置された各測距センサが第1走査方向にそれぞれ走査可能となる。したがって、物体の立体的な形状を把握することができる。そして、測定結果取得手段により、走査手段の走査範囲で測定可能な測定点について各測距センサの測定結果が取得される。
〔発明22〕 さらに、発明22の物体認識装置は、発明15ないし21のいずれか1の物体認識装置において、前記第1特徴検出手段は、前記測定結果取得手段で取得した測定結果に基づいて物体上の特徴点を検出し、前記第2特徴検出手段は、前記撮像手段で撮影した画像から線分を検出する画像線分検出手段を有し、前記認識手段は、前記撮像手段を基準とする座標系において、前記画像線分検出手段で検出した線分と、前記第1特徴検出手段で検出した特徴点との位置関係に基づいて物体上の面または面の境界を認識する。
このような構成であれば、第1特徴検出手段により、取得された測定結果に基づいて物体上の特徴点が検出され、画像線分検出手段により、撮影された画像から線分が検出される。
そして、認識手段により、撮像手段を基準とする座標系において、検出された線分と、検出された特徴点との位置関係に基づいて物体上の面または面の境界が認識される。
〔発明23〕 さらに、発明23の物体認識装置は、発明22の物体認識装置において、前記認識手段は、前記画像線分検出手段で検出した各線分ごとに、当該線分と、当該線分を延長した直線から所定距離内に存在する前記特徴点とを対応付け、同一の前記特徴点が対応付けられた前記線分をグループ化し、同一グループに属する前記線分の端点の座標に基づいて物体上の面または面の境界を認識する。
このような構成であれば、認識手段により、検出された各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在する特徴点とが対応付けられ、同一の特徴点が対応付けられた線分がグループ化され、同一グループに属する線分の端点の座標に基づいて物体上の面または面の境界が認識される。
〔発明24〕 さらに、発明24の物体認識装置は、発明22および23のいずれか1の物体認識装置において、前記測距センサを基準とする直交座標系における所定の2軸からなる平面と、前記撮像手段を基準とする直交座標系における所定の2軸からなる平面とが平行となるように前記測距センサおよび前記撮像手段を配置した。
〔発明25〕 一方、上記目的を達成するために、発明25の物体認識方法は、物体上の測定点までの距離を測定する測距センサを用いて物体上の面または面の境界を認識する物体認識方法であって、前記測距センサを走査する走査ステップと、前記走査ステップの走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得ステップと、前記測定結果取得ステップで取得した測定結果を直交座標系の座標に変換する座標変換ステップと、前記座標変換ステップで変換された少なくとも2つの前記測定点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出ステップと、前記線分検出ステップで検出した線分に基づいて物体上の面または面の境界を認識する認識ステップとを含む。
ここで、走査ステップは、測距センサを走査するものであればどのような方法であってもよく、例えば、測定点の軌跡が線をなすように測距センサを1次元に走査してもよいし、測定点の軌跡が面をなすように測距センサを2次元に走査してもよい。前者の場合は、物体の平面的な形状を、後者の場合は、物体の立体的な形状を把握することができる。以下、発明26および27の物体認識方法において同じである。
〔発明26〕 さらに、発明26の物体認識方法は、物体上の測定点までの距離を測定する測距センサを用いて物体上の面または面の境界を認識する物体認識方法であって、前記測距センサを走査する走査ステップと、前記走査ステップの走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得ステップと、前記測定結果取得ステップで取得した測定結果を直交座標系の座標に変換する座標変換ステップと、前記座標変換ステップで変換された前記測定点間を線で補間する測定点間補間ステップと、前記測定点間補間ステップで得られた線上の点の座標に基づいてハフ変換により前記直交座標系における線分を検出する線分検出ステップと、前記線分検出ステップで検出した線分に基づいて物体上の面または面の境界を認識する認識ステップとを含む。
〔発明27〕 さらに、発明27の物体認識方法は、物体上の測定点までの距離を測定する測距センサを用いて物体上の面または面の境界を認識する物体認識方法であって、前記測距センサを走査する走査ステップと、前記走査ステップの走査範囲で測定可能な前記測定点について前記測距センサの測定結果を取得する測定結果取得ステップと、前記測定結果取得ステップで取得した測定結果に基づいて物体上の特徴を検出する第1特徴検出ステップと、前記走査ステップの走査範囲で測定可能な前記測定点を含む画像を撮影する撮像ステップと、前記撮像ステップで撮影した画像に基づいて物体上の特徴を検出する第2特徴検出ステップと、前記第1特徴検出ステップおよび前記第2特徴検出ステップの検出結果に基づいて物体上の面または面の境界を認識する認識ステップとを含む。
以上説明したように、発明1の脚車輪型ロボットによれば、障害物回避時における脚部の駆動制御および走行時における車輪の操舵制御を、アクチュエータを共通に用いて行うので、走行時の操舵制御のために専用のアクチュエータを脚部に設けなくてすみ、従来に比して、重量およびエネルギー消費量の増加を抑制することができるという効果が得られる。
さらに、発明2の脚車輪型ロボットによれば、障害物回避時における脚部の駆動制御および走行時における車輪の操舵制御を、第1アクチュエータを共通に用いて行うので、走行時の操舵制御のために専用のアクチュエータを脚部に設けなくてすみ、従来に比して、重量およびエネルギー消費量の増加を抑制することができるという効果が得られる。
さらに、発明3または4の脚車輪型ロボットによれば、旋回時に、各車輪の接地点から構成される多角形と基体の重心の投影点との位置関係が一定となるように、または各車輪の接地点から構成される多角形の中心と基体の重心の投影点とが一致するように制御されるので、多角形の十分中心近くに重心の投影点をもってくることで転倒の不安が軽減できるという効果が得られる。
さらに、発明5の脚車輪型ロボットによれば、旋回時に、各車輪の接地点と回転関節との長さは0であるので、第1アクチュエータの駆動トルクを低減することができるという効果が得られる。
さらに、発明6の脚車輪型ロボットによれば、各車輪の接地点から構成される多角形と基体の重心の投影点との位置関係を維持しながら基体を上下させることができるので、車高が制限される天井が低いエリアでも、これまでの効果を損なうことなく、活動が可能となるという効果が得られる。
さらに、発明7の脚車輪型ロボットによれば、脚車輪型ロボットを、その向きとは関係なく自由な方向へと移動させることができるので、各方向への素早い移動を実現できると共に、例えば、脚車輪型ロボットの各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となるという効果が得られる。
さらに、発明8の脚車輪型ロボットによれば、旋回時に、脚車輪型ロボットの基体を所定の回転中心位置でヨー軸周りに自転運動させたときの各車輪の操舵時の回転中心の描く円弧軌道と操舵時の回転中心との接点における該回転中心の運動方向と、各車輪の進行方向とを一致させることができるので、脚車輪型ロボットを、所定の旋回中心位置で前後移動させずに旋回(クローラなどによる超信地旋回と同等の旋回)をさせることができるという効果が得られる。また、基体の中心位置を、自転させる時の回転中心位置とすることで、最小の旋回半径で脚車輪型ロボットを旋回させることが可能である。
一方、発明9、10、16または17の物体認識装置によれば、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができるという効果が得られる。また、ハフ変換により線分を検出するので、測距センサを用いた2次元距離測定装置により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができるという効果も得られる。
さらに、発明10または17の物体認識装置によれば、測定点間を線で補間して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができるという効果も得られる。
さらに、発明11の物体認識装置によれば、物体上の面の境界を比較的正確に認識することができるという効果が得られる。
さらに、発明12の物体認識装置によれば、物体上の面または面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができるという効果が得られる。
さらに、発明13の物体認識装置によれば、物体上の面を比較的正確に認識することができるという効果が得られる。
さらに、発明14の物体認識装置によれば、測距センサを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができるという効果が得られる。
さらに、発明15の物体認識装置によれば、測距センサのほか、これとは異なる方式の撮像手段を用いて物体上の特徴をそれぞれ検出し、それら2つの検出結果に基づいて物体上の面または面の境界を認識するので、測距センサによる方式の短所を撮像手段による方式で補うことができ、測距センサを用いた2次元距離測定装置により物体認識を行う場合に、認識精度が低下する可能性を低減することができるという効果が得られる。また、走査手段の走査回数を増やさなくてすむので、測定時間を短縮することができるという効果も得られる。
さらに、発明18の物体認識装置によれば、物体上の面または面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができるという効果が得られる。また、測定点での傾きの出現頻度および各測定点の座標に基づいて物体上の面または面の境界を認識するので、測距センサを用いた2次元距離測定装置により物体認識を行う場合に、認識精度が低下する可能性をさらに低減することができるという効果も得られる。
さらに、発明19または21の物体認識装置によれば、物体上の面または面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボットのように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができるという効果が得られる。
さらに、発明20の物体認識装置によれば、測距センサを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができるという効果が得られる。
さらに、発明22の物体認識装置によれば、画像から検出された線分と、測距センサの測定結果から検出された特徴点との位置関係に基づいて物体上の面または面の境界を認識するので、認識精度が低下する可能性をさらに低減することができるという効果が得られる。
さらに、発明23の物体認識装置によれば、コントラスト等の影響により、撮影された画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、測距センサの測定結果から検出された特徴点との対応関係に基づいて複数の線分を1つの線分としてグループ化し、物体上の面または面の境界を認識するので、認識精度が低下する可能性をさらに低減することができるという効果が得られる。
一方、発明25の物体認識方法によれば、発明9の物体認識装置と同等の効果が得られる。
さらに、発明26の物体認識方法によれば、発明10の物体認識装置と同等の効果が得られる。
さらに、発明27の物体認識方法によれば、発明15の物体認識装置と同等の効果が得られる。
〔第1の実施の形態〕
以下、本発明の第1の実施の形態を図面を参照しながら説明する。図1ないし図10は、本発明に係る脚車輪型ロボットの第1の実施の形態を示す図である。
まず、本発明を適用する脚車輪型ロボット100の構成を説明する。
図1は、脚車輪型ロボット100の正面図である。
図2は、脚車輪型ロボット100の側面図である。
脚車輪型ロボット100は、図1および図2に示すように、基体10と、基体10に連結された4つの脚部12とを有して構成されている。
基体10の前方には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。また、基体10の後方には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。回転関節14は、脚車輪型ロボット100の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部12には、2つの回転関節16、18が設けられている。回転関節14は、下方を軸方向として回転し、回転関節16、18は、回転関節14が図1の状態であるときは、脚車輪型ロボット100の側面と直交する方向を軸方向として回転する。すなわち、回転関節14が図1の状態であるときは、ピッチ軸回りに回転し、回転関節14が図1の状態から90度回転した状態であるときは、ロール軸回りに回転する。したがって、脚部12は、それぞれ3自由度を有する。
各脚部12の先端には、回転関節16、18と軸方向を同一にして駆動輪20が回転可能に設けられている。
各脚部12の先端には、脚車輪型ロボット100の移動経路上に存在する物体までの距離を測定する前方脚先センサ22と、接地面までの距離を測定する下方脚先センサ24とが設けられている。
一方、基体10の正面の上部中央には、水平面レーザ光を照射する水平レーザ26が設けられている。また、基体10の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ28、30がそれぞれ設けられている。
基体10の正面の下部中央には、水平面レーザ光および垂直面レーザ光の反射光を含む画像を撮影するカメラ32が設けられている。
水平レーザ26は、カメラ32で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ28は、カメラ32で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ30は、左方に所定角度傾けて設けられている。
カメラ32の左右には、障害物を検出する障害物センサ34、36がそれぞれ設けられている。
図3は、障害物センサ34、36の構成を示す図である。
障害物センサ34、36は、図3(a)に示すように、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、図3(b)に示すように、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット100の移動経路上に存在する物体を大まかに検出することができる。
次に、脚車輪型ロボット100の移動制御システムを説明する。
図4は、脚車輪型ロボット100の移動制御システムを示すブロック図である。
各脚部12の回転関節14〜18には、図4に示すように、回転関節14〜18を回転駆動する関節モータ40がそれぞれ設けられている。各関節モータ40には、関節モータ40の回転角度位置を検出するエンコーダ42と、モータ指令信号およびエンコーダ42の出力信号に基づいて関節モータ40の駆動を制御するドライバ44が設けられている。
各脚部12の駆動輪20には、駆動輪20を回転駆動する車輪モータ50がそれぞれ設けられている。各車輪モータ50には、車輪モータ50の回転角度位置を検出するエンコーダ52と、モータ指令信号およびエンコーダ52の出力信号に基づいて車輪モータ50の駆動を制御するドライバ54が設けられている。
脚車輪型ロボット100は、さらに、CPU60と、脚車輪型ロボット100の姿勢を検出する3軸姿勢センサ70と、カメラ32の画像信号を処理するビジョンプロセッサ72と、外部のPC等と無線通信を行う無線通信部74と、ビジョンプロセッサ72および無線通信部74とCPU60の入出力を中継するハブ76と、警告音等を出力するスピーカ78とを有して構成される。
3軸姿勢センサ70は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット100の姿勢の傾きを検出する。
CPU60は、モータ指令出力I/F61を介してドライバ44、54にモータ指令信号を出力し、角度取込I/F62を介してエンコーダ42、52の出力信号を入力する。また、センサ入力I/F63を介して、前方脚先センサ22、下方脚先センサ24、障害物センサ34および3軸姿勢センサ70からそれぞれセンサ信号を入力する。また、通信I/F64を介してハブ76と信号の入出力を行い、サウンド出力I/F65を介してスピーカ78に音声信号を出力する。
次に、CPU60で実行される処理を説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、走行制御処理および図6のフローチャートに示す昇降制御処理を時分割で実行する。
初めに、走行時の制御処理を説明する。
図5は、脚車輪型ロボット100の走行状態を示す図である。
脚車輪型ロボット100の操舵制御は、各駆動輪20について、駆動輪20が、その駆動輪20が設けられた回転関節14の軸上に位置(以下、ヨー軸上接地という。)するように関節モータ40を制御することにより行うものであり、時々刻々の、ロボット進行方向速度Vc、ロボット中心の旋回半径Rを入力として、左右輪操舵角度θl、θr、左右輪回転角速度ωl、ωrを算出し、各アクチュエータに指令を与えるものである。
脚車輪型ロボット100が操舵を行う際には、各駆動輪20のすべりを最小にするために、ロボット中心の旋回半径Rの中心点と同心で各駆動輪20までの距離を半径として形成される円弧の接線方向に車輪を向ける必要があり、左右輪操舵角度θl、θrは、ホイールベースをWb、トレッドをWtとして、下式(1)、(2)により算出することができる。
Figure 2009006984
また、各車輪は駆動輪であるので、ヨー軸上接地状態を保持するためには、車輪部の接線方向速度Vl、Vrが下式(3)、(5)で与えられなければならないので、車輪径をDとすると、左右輪回転角速度ωl、ωrは、下式(4)、(6)により算出することができる。
Figure 2009006984
なお、回転半径Rが無限大のときは直進運動に近似できるので、直進と旋回時の場合分けは必要なく、そのため、直進から旋回、そしてまた直進といった動作遷移は走行しながら連続的にスムースに行うことができる。
次に、昇降制御処理を説明する。
図6は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部12の昇降制御を行う処理であって、CPU60において実行されると、まず、図6に示すように、ステップS200に移行する。
ステップS200では、ビジョンプロセッサ72から画像を取り込み、ステップS202に移行する。
ステップS202では、取り込んだ画像に基づいて光切断法により階段の特徴点を抽出する。
図7は、光切断法の原理を説明するための図である。
光切断法は、三角測量の原理により計測対象上の座標を求める計測法である。図7に計測座標系を示す。
計測対象上の座標P(x0、y0、z0)は、カメラ32の撮像素子上の任意の座標をPs(xi、yi、zi)とすると、下式(7)により求められる。
Figure 2009006984
次に、得られた三次元座標から、レーザ光の反射光の不連続点または屈曲点を階段の特徴点として抽出する。
図8は、階段にレーザ光を照射した状態およびカメラ32の撮像素子の画像を示す図である。
脚車輪型ロボット100の移動経路上に階段が存在すると、図8(a)左側に示すように、水平レーザ26から照射された水平面レーザ光が階段の蹴込板および床面で反射し、カメラ32により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図8(a)右側に示すように、蹴込板での反射光エッジおよび床面での反射光エッジを抽出することができる。そして、そのエッジ画像および上式(7)により得られた三次元座標に基づいて、反射光エッジの不連続点に対応する実座標を算出することができる。
また、図8(b)左側に示すように、垂直レーザ28から照射された垂直面レーザ光が階段の蹴込板および踏板で反射し、カメラ32により、その反射光を含む階段の画像が撮影される。その画像に対して画像処理を行うと、図8(b)右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。また、垂直レーザ30についても同様であり、図8(c)右側に示すように、蹴込板での反射光エッジおよび踏板での反射光エッジを抽出することができる。そして、それらエッジ画像および上式(7)により得られた三次元座標に基づいて、反射光エッジの屈曲点に対する実座標を算出することができる。
図6に戻り、次いで、ステップS204に移行して、抽出した特徴点に基づいて階段の幅を算出し、ステップS206に移行して、抽出した特徴点に基づいて階段の段鼻部の実座標を算出し、ステップS208に移行する。
ステップS208では、算出した階段の幅および段鼻部の実座標、並びに3軸姿勢センサ70のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップS210に移行して、ステップS208の計算結果に基づいて脚先(駆動輪20)の着地位置を決定し、ステップS212に移行する。
ステップS212では、前方脚先センサ22および下方脚先センサ24からそれぞれセンサ信号を入力し、ステップS214に移行して、入力した前方脚先センサ22のセンサ信号に基づいて蹴込板までの距離を算出し、ステップS216に移行して、入力した下方脚先センサ24のセンサ信号に基づいて脚先と踏板の位置関係を算出し、ステップS218に移行する。
ステップS218では、決定した着地位置および算出した両距離に基づいてドライバ44、54へのモータ指令信号を生成し、ステップS220に移行して、生成したモータ指令信号をドライバ44、54に出力し、ステップS222に移行する。
ステップS222では、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップS222で、脚先が着地しないと判定したとき(No)は、ステップS212に移行する。
次に、本実施の形態の動作を説明する。
平地では、脚車輪型ロボット100は、車輪走行で移動することができる。旋回時は、各駆動輪20がヨー軸上接地するように関節モータ40が制御される。
図9は、各駆動輪20がヨー軸上接地しないで旋回する場合の動作を示す図である。
図10は、各駆動輪20がヨー軸上接地して旋回する場合の動作を示す図である。両図において、(a)は、脚車輪型ロボット100の側面図、(b)は、脚車輪型ロボット100の平面図である。
各駆動輪20がヨー軸上接地しない状態で各脚部12をヨー軸回りに回転させて旋回する場合は、図9に示すように、基体10の重心の床面への投影点が各駆動輪20で構成される四角形の中心(例えば、対角線が交差する点)から離れ、不安定となり転倒の可能性が生じる。また、ヨー軸上接地では0であるはずの、接地点と回転関節14との長さが影響し、回転関節14の関節モータ40の駆動トルクが大きくなる。
これに対し、本実施の形態のように、各駆動輪20がヨー軸上接地した状態で各脚部12をヨー軸回りに回転させて旋回する場合は、図10に示すように、基体10の重心の床面への投影点が各駆動輪20で構成される四角形の中心位置付近にあり、安定しており転倒の不安が軽減する。また、接地点と回転関節14との長さは0であるため、回転関節14の関節モータ40の駆動トルクが最小限に抑えられる。
一方、脚車輪型ロボット100の移動経路上に階段が存在すると、水平レーザ26から照射された水平面レーザ光、および垂直レーザ28、30から照射された垂直面レーザ光がそれぞれ階段で反射し、カメラ32により、それら反射光を含む画像が撮影される。次いで、ステップS200、S202を経て、カメラ32で撮影された画像が取り込まれ、取り込まれた画像から階段の特徴点が抽出される。そして、ステップS204〜S210を経て、抽出された特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。
さらに、ステップS212〜S216を経て、脚先センサ22、24からそれぞれセンサ信号が入力され、蹴込板までの距離および脚先と踏板の位置関係が算出される。そして、ステップS218、S220を経て、決定された着地位置および算出された両距離に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ44、54に出力される。これにより、駆動輪20が回転するとともに回転関節14〜18が駆動し、脚車輪型ロボット100が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
このようにして、本実施の形態では、障害物回避時における脚部12の駆動制御および走行時における駆動輪20の操舵制御を、脚部12の根本に設けられたヨー軸回りに回転可能な回転関節14の関節モータ40を共通に用いて行う。
これにより、走行時の操舵制御のために専用のアクチュエータを脚先に設けなくてすみ、従来に比して、重量およびエネルギー消費量の増加を抑制することができる。
さらに、本実施の形態では、旋回時に、駆動輪20がヨー軸上接地するように関節モータ40を制御する。
これにより、旋回時に、基体10の重心の床面への投影点が各駆動輪20で構成される四角形の中心付近に位置することになり、安定するため転倒の不安が軽減される。また、接地点と回転関節14との長さが0であるため、回転関節14の関節モータ40の駆動トルクを低減することができる。
さらに、本実施の形態では、レーザ26〜30およびカメラ32からなる画像センサと、脚先センサ22、24とを備え、カメラ32で撮影した画像および脚先センサ22、24で測定した距離に基づいて階段を認識し、その認識結果に基づいてモータ40、50を制御する。
これにより、画像センサおよび脚先センサ22、24を用いて未知の階段を認識しながら脚部12の昇降制御を行うので、従来に比して、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
さらに、本実施の形態では、画像センサを基体10の正面に設け、脚先センサ22、24を脚部12の先端に設けた。
これにより、脚車輪型ロボット100の移動経路上に存在する物体を広い視野で検出することができるとともに、階段昇降時に駆動輪20と階段の距離を精度よく測定することができる。
さらに、本実施の形態では、移動方向に対して所定角度にレーザ光を照射するレーザ26〜30と、レーザ26〜30から所定距離隔てて設けられかつレーザ光の反射光を含む画像を撮像するカメラ32とを備え、カメラ32で撮影した画像に基づいて光切断法により階段を認識する。
これにより、階段の特徴のうち脚部12の昇降制御に有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
さらに、本実施の形態では、水平レーザ26から照射された水平面レーザ光の反射光の撮影状態に基づいて階段の幅を算出し、垂直レーザ28、30から照射された2つの垂直面レーザ光の反射光の撮影状態に基づいて階段の段鼻部の実座標を算出する。
これにより、階段の特徴のうち脚部12の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
さらに、本実施の形態では、前方脚先センサ22の測定結果に基づいて階段の蹴込板までの距離を算出し、下方脚先センサ24の測定結果に基づいて駆動輪20と階段の踏板の位置関係を算出する。
これにより、階段の特徴のうち脚部12の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
上記第1の実施の形態において、回転関節14の関節モータ40は、発明1のアクチュエータ、または発明2ないし5の第1アクチュエータに対応し、回転関節16、18の関節モータ40は、発明2ないし5の第2アクチュエータに対応し、ステップS202、S220、S222は、発明1ないし5の制御手段に対応している。
〔第2の実施の形態〕
次に、本発明の第2の実施の形態を図面を参照しながら説明する。図12ないし図15は、本発明に係る脚車輪型ロボットの第2の実施の形態を示す図である。
本実施の形態の脚車輪型ロボット100は、上記第1の実施の形態の脚車輪型ロボット100の各機能に加え、脚車輪型ロボット100を、基体10の向きを一定方向に保持した状態で任意の進行方向に走行移動させる機能と、脚車輪型ロボットを、所定の旋回中心位置で前後移動させずに旋回させる(超信地旋回させる)機能とを有している。
つまり、本実施の形態における脚車輪型ロボット100は、上記各機能を実現するためのアクチュエータの制御処理(CPU60の制御プログラムの実行による制御処理)が追加されたのみで、力センサ82の設置構造など、その他の構成は、上記第1の実施の形態の脚車輪型ロボット100と同様となる。従って、上記第1の実施の形態と同様の機能については説明を適宜省略し、追加された機能部分については詳細に説明する。
以下、図12及び図13に基づき、本実施の形態のCPU60で実行される走行時の制御処理を説明する。
なお、以下の各走行制御処理においては、脚車輪型ロボット100の姿勢が、上記第1の実施の形態における、図10(a)の下図に示すように、膝屈曲姿勢となるように各関節モータ40を制御する。なお、膝屈曲姿勢へと姿勢変更時においては、上記第1の実施の形態と同様に、各駆動輪20が、ヨー軸上接地となるように各関節モータ40が制御される。但し、膝屈曲姿勢における走行制御時に、脚部12が互いに干渉する(接触などする)場合は、図10(a)の上図に示すように、膝伸展姿勢となるように各関節モータ40を制御する。
まず、基体10の向きを保持した状態で、脚車輪型ロボット100を目的の進行方向に向けて走行させるときの走行制御処理(以下、無変向走行制御処理と称す)について説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、無変向走行制御処理を実行する。
ここで、無変向走行制御処理は、脚車輪型ロボット100を、その基体10の向きを一定の方向に保持した状態で、目的の進行方向に移動させるものであるため、基体10の前方側に設けられたカメラ32や障害物センサ34、36などを、後方や側方などにも設けることが望ましい。これら後方及び側方をカバーできるカメラ及び障害物センサによって、脚車輪型ロボット100を、基体10の向きとは異なる方向に移動させるときに、その進行方向の環境(地形の状態等)を把握し、適切な制御を行うことができる。
また、無変向走行制御処理は、具体的に、無変向走行制御指令があったときに実行され、時々刻々の、ロボットの進行方向(角度α)、ロボット進行方向速度Vcを入力として、基体10の向きを一定の向きに保持(固定)した状態で、脚車輪型ロボット100を前記入力された進行方向へと走行させるための、各脚部12の回転関節14(joint0)の角度(操舵角度)θi0(i=0,1,2,3,・・・)、各脚部12の各駆動輪20の回転角速度ωi(i=0,1,2,3,・・・)を算出し、各アクチュエータに指令を与えるものである。
本実施の形態の脚車輪型ロボット100は、上記第1の実施の形態で述べたように、基体10の前方に左右一対及び後方に左右一対の計4本の脚部12を有している。
従って、ここでは、各脚部12の駆動輪20の操舵角度θi0を、基体10の上面側から見て、左前輪操舵角度θ00、右前輪操舵角度θ10、左後輪操舵角度θ20、右後輪操舵角度θ30とする。なお、回転関節14によって各脚部12をヨー軸周りに回動させたときに、基体10の上面側から見て、左前輪操舵角度θ00及び右後輪操舵角度θ30は、反時計回り方向を正方向とし、右前輪操舵角度θ10及び左後輪操舵角度θ20は、時計回り方向を正方向とする。
また、各脚部12の駆動輪20の回転角速度ωiを、左前輪回転角速度ω0、右前輪回転角速度ω1、左後輪回転角速度ω2、右後輪回転角速度ω3とする。
また、各脚部12の駆動輪20の線速度Vi(i=0,1,2,3,・・・)を、左前輪線速度V0、右前輪線速度V1、左後輪線速度V2、右後輪線速度V3とする。
ここで、図12(a)〜(c)は、無変向走行制御時の脚車輪型ロボット100の走行状態例を示す図である。なお、図12(a)〜(c)は、脚車輪型ロボット100を上面側から見た図であり、各駆動輪20に付けられた黒塗りの半円の目印は、「θ00=θ10=θ20=θ30=0[°]」のときの基準となる向きを示す。
また、左右前輪は目印のある方向に進行する回転方向が正回転方向となり、左右後輪は目印の無い方向に進行する回転方向が正回転方向となる。
まず、図12(a)に基づき、基体10の向きを一定の方向に保持(固定)した状態で、脚車輪型ロボット100を、基体10の向いている方向(前方向)に直進走行させる場合の無変向走行制御処理を説明する。
本実施の形態では、基体10の向いている方向(前方向)をロボットの進行方向とした場合に、進行方向を表す角度αを「0[°]」とする。そして、前方向の0[°]を基準に、各進行方向に対応するαを決定する。
ここでは、脚車輪型ロボット100を、基体10の前方向に直進させるので、進行方向αとして「0[°]」が入力され、更に、進行方向速度Vcが入力される。
進行方向α(0[°])及び進行方向速度Vcが入力されると、各駆動輪20の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の線速度V0、V1、V2、V3が算出される。
基体10の向きを保持した状態のまま、脚車輪型ロボット100を前方向に直進走行させるためには、図12(a)の各駆動輪20から伸びる矢印に示すように、各駆動輪20の進行方向を基体10の向いている方向(前方向)に全て揃える必要がある。従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00=θ10=θ20=θ30=0[°]」と算出される。
また、この場合に、直進走行させるための各駆動輪20の線速度V0、V1、V2、V3は、「V0=V1=Vc」、「V2=V3=−Vc」と算出される。
なお、各脚部12が互いに干渉しなければ、例えば、「θ00=θ10=0[°]」、「θ20=θ30=π(180[°])又は−π(−180[°])」、「V0=V1=V2=V3=Vc」などの組み合わせとしても良い。
更に、線速度V0、V1、V2、V3は、下式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。

ωi=2Vi/D …(8)

但し、上式(8)において、Dは車輪径である。
各駆動輪20の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪20の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した前方向に直進させるための操舵角度とから回転関節14の関節モータ40を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した前方向に直進させるときの回転角速度とから、駆動輪20の車輪モータ50を駆動する指令値を算出する。
このようにして、各駆動輪20の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ40及び車輪モータ50が駆動されると、これにより、脚車輪型ロボット100の各駆動輪20の操舵角度及び回転角速度が変化し、脚車輪型ロボット100は、基体10の向きを保持した状態で、その向いている方向(前方向)に直進走行する。
なお、基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して反対側(真後ろ)の方向に直進走行させる場合は、上記前方向のときと駆動輪20の回転方向を正反対とすればよい。
例えば、「θ00=θ10=θ20=θ30=0[°]」及び「V0=V1=V2=V3=−Vc」、又は「θ00=θ10=0[°]」、「θ20=θ30=π若しくは−π[°]」、「「V0=V1=−Vc」及び「V2=V3=Vc」などとする。
次に、図12(b)に基づき、基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して右斜め前方向に直進走行させる場合の無変向走行制御処理を説明する。
ここでは、脚車輪型ロボット100を、基体10の右斜め前方向に直進させるので、進行方向αとして「α(−90<α<0)[°](但し、反時計回りが正方向)」が入力され、更に、進行方向速度Vcが入力される。
そして、進行方向α[°]及び進行方向速度Vcが入力されると、各駆動輪20の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の線速度V0、V1、V2、V3が算出される。
基体10の向きを保持した状態で、脚車輪型ロボット100を右斜め前方向(α[°]の方向)に直進走行させるためには、図12(b)の各駆動輪20から伸びる矢印に示すように、各駆動輪20の進行方向を、基体10の向いている方向に対して右斜め前方向に全て揃える必要がある。
従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00=θ30=α[°]」、「θ10=θ20=−α[°]」と算出される。
また、この場合に、直進走行させるための各駆動輪20の線速度V0、V1、V2、V3は、「V0=V1=Vc」、「V2=V3=−Vc」と算出される。
なお、各脚部12が互いに干渉しなければ、例えば、「θ00=θ30=α[°]」、「θ10=θ20=−α−π[°]」、「V0=V2=Vc」、「V1=V3=−Vc」などの組み合わせとしても良い。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、上記前方向への直進走行のときと同様に、回転関節14の関節モータ40を駆動する指令値と、駆動輪20の車輪モータ50を駆動する指令値とを算出する。
このようにして、各駆動輪20の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ40及び車輪モータ50が駆動されると、これにより、脚車輪型ロボット100の各駆動輪20の操舵角度及び回転角速度が変化し、脚車輪型ロボット100は、基体10の向きを保持した状態で、その向いている方向に対して右斜め前方向に直進走行する。
なお、基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して左斜め後方に直進走行させる場合は、上記右斜め前方向のときの各駆動輪20の回転方向を正反対とすればよい。また、左斜め前方向に直進移動させる場合は、進行方向αを「0<α<90[°]」の範囲で設定し、更に、操舵角度の符号を正反対とすればよい。また、右斜め後方に直進走行させる場合は、左斜め前方向のときの各駆動輪20の回転方向を正反対とすればよい。
次に、図12(c)に基づき、基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して左真横方向に直進走行させる場合の無変向走行制御処理を説明する。
ここでは、脚車輪型ロボット100を、基体10の左真横方向に直進させるので、進行方向αとして「α(90(π/2))[°]」が入力され、更に、進行方向速度Vcが入力される。
そして、進行方向α[°]及び進行方向速度Vcが入力されると、各駆動輪20の操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の線速度V0、V1、V2、V3が算出される。
基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して左真横方向(π/2[°]の方向)に直進走行させるためには、図12(c)の各駆動輪20から伸びる矢印に示すように、各駆動輪20の進行方向を左真横方向に全て揃える必要がある。
従って、操舵角度θ00、θ10、θ20、θ30は、例えば、「θ00=θ10=θ20=θ30=π/2[°]」と算出される。
また、この場合に、直進走行させるための各駆動輪20の線速度V0、V1、V2、V3は、「V0=V2=Vc」、「V1=V3=−Vc」と算出される。
なお、各脚部12が互いに干渉しなければ、例えば、「θ00=θ20=π/2[°]」、「θ10=θ30=−π/2[°]」、「V0=V1=V2=V3=Vc」などの組み合わせとしても良い。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、上記前方向への直進走行のときと同様に、回転関節14の関節モータ40を駆動する指令値と、駆動輪20の車輪モータ50を駆動する指令値とを算出する。
このようにして、各駆動輪20の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ40及び車輪モータ50が駆動されると、これにより、脚車輪型ロボット100の各駆動輪20の操舵角度及び回転角速度が変化し、脚車輪型ロボット100は、基体10の向きを保持した状態で、その向いている方向に対して左真横方向に直進走行する。
なお、基体10の向きを保持した状態で、脚車輪型ロボット100を、その向いている方向に対して右真横方向に直進走行させる場合は、上記左真横方向のときの各駆動輪20の回転方向を正反対とすればよい。
次に、脚車輪型ロボット100を所定の旋回中心位置で前後移動させずに旋回(超信地旋回)させる走行制御処理(以下、超信地旋回制御処理と称す)について説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、超信地旋回制御処理を実行する。
ここで、超信地旋回制御処理は、クローラ機構を有したパワーショベルや戦車などの車両が行う超信地旋回と同等の旋回動作を脚車輪型ロボット100に行わせるものである。
また、超信地旋回とは、クローラ機構を有した車両が、左右のクローラを同速度で互いに反対方向に回転させることで、前後に進まず、車体の向きを変える旋回方法であり、これは、クローラ機構に限らず、左右に最低2輪の独立した駆動輪を有する車両であれば実現可能な旋回方法である。
本実施の形態においては、具体的に、超信地旋回制御指令があったときに実行され、ロボットの旋回角速度Ω、旋回中心(xc,yc)を入力として、脚車輪型ロボット100を旋回中心(xc,yc)で超信地旋回させるための、各脚部12の回転関節14(joint0)の角度(操舵角度)θ00、θ10、θ20、θ30、各脚部12の各駆動輪20の回転角速度ω0、ω1、ω2、ω3を算出し、各アクチュエータに指令を与えるものである。
脚車輪型ロボット100を超信地旋回させるためには、基体10を、旋回中心(xc,yc)でヨー軸周りに自転させたときに、各駆動輪20の操舵時のヨー軸周りの回転中心が描く円弧軌道と各駆動輪20の前記回転中心との接点における運動方向と、各駆動輪20の進行方向とが一致するように各回転関節14の関節モータ40を制御すると共に、各駆動輪20が前記運動方向に応じた回転方向に一定速度で回転するように各車輪モータ50を制御する必要がある。
ここで、図13(a)及び(b)は、基体10の座標(0,0)及び座標(xc,yc)を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット100の走行状態を示す図である。
なお、図13(a)及び(b)においては、基体10を上面側から見た平面において、長手方向の軸をx軸、それと直交する方向の軸をy軸とし、基体10の中心位置の座標を(x,y)=(0,0)とする。
まず、図13(a)に基づき、基体10の中心位置の座標(0,0)を旋回中心とした場合の超信地旋回制御処理について説明する。
この場合は、旋回角速度Ωと、旋回中心座標(0,0)とが入力される。
旋回角速度Ω及び旋回中心座標(0,0)が入力されると、下式(9)に基づき、基体10のx軸と各駆動輪20の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。

tanφ=Wt/Wb …(9)

但し、上式(9)は、基体10の中心座標(0,0)を旋回中心とした場合の式である。また、上式(9)において、Wtはトレッド(車輪間隔)であり、Wbはホイールベースである。
なお、φ0〜φ3は、x軸と、各駆動輪20の回転中心とのなす角度のうち最小の角度とし、φの正方向は、駆動輪によってはΩの正方向とは異なる。
t及びWbは既知であるため(予め情報を持っておく)、上式(9)から、上記角度φ0、φ1、φ2、φ3を算出することができる。
なお、旋回中心が基体10の中心座標(0,0)であるので、上記角度φ0、φ1、φ2、φ3はいずれも等角度「φ0=φ1=φ2=φ3=φ」となる。
また、基体10が旋回座標(0,0)でヨー軸周りに自転時に、各駆動輪20の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図13(a)の各駆動輪20から伸びる矢印線に示すように、円弧軌道上の各回転中心を通る接線方向(図中の矢印線方向)となる。
各駆動輪20の回転中心に対する角度「φ0=φ1=φ2=φ3=φ」が算出されると、次に、各回転中心の運動方向と各駆動輪20の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
各回転中心の運動方向と各駆動輪20の進行方向とを一致させるためには、図13(a)に示すように、各駆動輪20の進行方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角(π/2(90[°]))となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θ00=θ10=θ20=θ30=−(π/2−φ)」と算出される。
一方、下式(10)に基づき、各駆動輪20の操舵時のヨー軸周りの回転中心と旋回中心(0,0)との距離L0、L1、L2、L3が算出される。
Figure 2009006984
但し、上式(10)は、基体10の中心座標(0,0)を旋回中心とした場合の式である。
なお、トレッドWt及びホイールベースWbから、左前輪の回転中心の座標は(Wb/2,Wt/2)、右前輪の回転中心の座標は(Wb/2,−Wt/2)、左後輪の回転中心の座標は(−Wb/2,Wt/2)、右後輪の回転中心の座標は(−Wb/2,−Wt/2)と表すことができる。
なお、旋回中心が基体10の中心座標(0,0)であるので、距離L0、L1、L2、L3は、等距離「L0=L1=L2=L3=L」となる。
距離L0、L1、L2、L3が算出されると、次に、これらの距離Lと旋回角速度Ωとから、下式(11)に基づき、各駆動輪20の線速度V0、V1、V2、V3を算出する。

0=V1=V2=V3=LΩ …(11)

但し、上式(11)は、基体10の中心座標(0,0)を旋回中心とした場合の式である。
ここで、先述したように、左右前輪は黒半円の目印のある方向に進行する回転方向が正回転方向となり、左右後輪は目印の無い方向に進行する回転方向が正回転方向となる。
また、各駆動輪20の向は、図13(a)に示すようになるので、線速度V0、V1、V2、V3は、「V0=V3=−LΩ」、「V1=V2=LΩ」と算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪20の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節14の関節モータ40を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪20の車輪モータ50を駆動する指令値を算出する。
このようにして、各駆動輪20の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ40及び車輪モータ50が駆動されると、これにより、脚車輪型ロボット100の各駆動輪20の操舵角度及び回転角速度が変化し、基体10の中心座標(0,0)を旋回中心として、脚車輪型ロボット100が前後移動せずにその場で旋回(超信地旋回)する。
次に、基体10の中心座標(0,0)以外の座標を旋回中心とした場合の超信地旋回制御処理について説明する。以下、この超信地旋回制御処理を、旋回中心オフセット型超信地旋回制御処理と称す。
この場合は、旋回角速度Ωと、基体10の中心座標(0,0)以外の座標である旋回中心座標(xc,yc)≠(0,0)とが入力される。
そして、旋回角速度Ω及び旋回中心座標(xc,yc)が入力されると、下式(12)に基づき、基体10のx軸と各駆動輪20の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。

tanφ0=(Wt/2−yc)/(Wb/2−xc)
tanφ1=(Wt/2+yc)/(Wb/2−xc)
tanφ2=(Wt/2−yc)/(Wb/2+xc)
tanφ3=(Wt/2+yc)/(Wb/2+xc) …(12)

但し、上式(12)は、脚車輪型ロボット100の脚部12が、基体10の前方に左右一対及び後方に左右一対の計4本の場合の式である。
具体的に、入力された旋回中心座標(xc,yc)と、既知のWt及びWbとを、上式(12)に代入して、基体10のx軸と各駆動輪20の回転中心とのなす角度φ0、φ1、φ2、φ3を算出する。
なお、旋回中心が基体10の中心座標以外の座標となるので、角度φ0、φ1、φ2、φ3はそれぞれ異なる角度となる。
また、基体10が、旋回中心座標(xc,yc)でヨー軸周りに自転時に、各駆動輪20の操舵時のヨー軸周りの回転中心の描く円弧軌道と該回転中心との接点における運動方向は、図13(b)の各駆動輪20から伸びる矢印線に示すように、各円弧軌道上の各回転中心を通る接線方向(図中の矢印線方向)となる。また、旋回中心と各駆動輪20の回転中心との距離はそれぞれ異なるため、各回転中心の描く円弧軌道も異なる。
各駆動輪20の回転中心に対する角度φ0、φ1、φ2、φ3が算出されると、次に、各回転中心の運動方向と各駆動輪20の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
各回転中心の運動方向と各駆動輪20の進行方向とを一致させるためには、図13(b)に示すように、各駆動輪20の回転方向と、旋回中心と回転中心とを結ぶ線分との成す角度が直角(π/2(90[°]))となるように操舵すれば良く、従って、操舵角度θ00、θ10、θ20、θ30は、「θi0=−(π/2−φi)(i=0,1,2,3)」と算出される。
一方、下式(13)に基づき、各駆動輪20の操舵時のヨー軸周りの回転中心と旋回中心(xc,yc)との距離L0、L1、L2、L3が算出される。
Figure 2009006984
先述したように、旋回中心が基体10の中心座標(0,0)以外の座標であるので、距離L0、L1、L2、L3は、それぞれ異なる距離となる。
距離L0、L1、L2、L3が算出されると、次に、これらの距離と旋回角速度Ωとから、下式(14)に基づき、各駆動輪20の線速度V0、V1、V2、V3を算出する。

|Vi|=|LiΩ| …(14)

従って、線速度V0、V1、V2、V3は、「V0=−L0Ω」、「V1=L1Ω」、「V2=L2Ω」、「V3=−L3Ω」と算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、各駆動輪20の現在の操舵角度及び回転角速度を取得する。そして、現在の操舵角度と、上記算出した操舵角度とから回転関節14の関節モータ40を駆動する指令値を算出する。更に、現在の回転角速度と、上記算出した回転角速度とから、駆動輪20の車輪モータ50を駆動する指令値を算出する。
このようにして、各駆動輪20の操舵制御の指令値及び速度制御の指令値を算出すると、これらの指令値を各モータのドライバに入力する。そして、入力された指令値に基づき各関節モータ40及び車輪モータ50が駆動されると、これにより、脚車輪型ロボット100の各駆動輪20の操舵角度及び回転角速度が変化し、基体10における中心位置(0,0)以外の座標(xc,yc)を旋回中心として、脚車輪型ロボット100が前後移動せずに旋回(超信地旋回)する。
次に、図14及び図15に基づき、本実施の形態の動作を説明する。
ここで、図14(a)及び(b)は、脚車輪型ロボット100の走行経路の一例を示す図である。また、図15は、ロボットの重心位置の一例を示す図である。
脚車輪型ロボット100は、障害物センサ34、36などのセンサ信号に基づき、自己の移動経路上に何も障害物が存在しない(平地である)と判断すると、移動モードを、脚部12を用いる脚部移動モードから駆動輪20を用いる車輪走行移動モードへと切り替える。
平地では、脚車輪型ロボット100は、上記第1の実施の形態で説明した車輪走行に加え、上記した無変向走行で移動することができる。また、上記第1の実施の形態で説明した旋回に加え、上記した超信地旋回及び旋回中心オフセット型超信地旋回を行うことができる。
また、車輪走行時及び旋回時は、脚車輪型ロボット100が膝屈曲姿勢となるように関節モータ40が制御されると共に、各駆動輪20がヨー軸上接地するように関節モータ40が制御される。
まず、無変向走行制御時の脚車輪型ロボット100の動作について説明する。
ここでは、図14(a)に示すような通路を、脚車輪型ロボット100で走行移動させることとする。なお、図14(a)及び(b)は、走行経路(通路)の一部を真上から見た俯瞰図である。
図14(a)に示すように、通路は、最初、基体10の向いている方向(前方向)に直進しないと通れないほど幅が狭くなっているので、まず、通路への進入前において、通路の伸びる方向と基体10の向きとを合わせると共に、進入位置及び進入角度を調整する。
そして、無変向走行制御指令を入力し、脚車輪型ロボット100を、無変向走行制御モードへと移行させる。これにより、脚車輪型ロボット100は、CPU60において、基体10の向きを保持した状態で、目的の進行方向へと走行移動する制御を行う。
まず最初は、脚車輪型ロボット100を前方向に直進移動させたいので、ロボットの進行方向α=0[°]、及びロボット進行方向速度Vcを入力する。これにより、各駆動輪20の操舵角度が「θ00=θ10=θ20=θ30=0[°]」と算出され、各駆動輪20の線速度が「V0=V1=V2=V3=Vc」と算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
CPU60は、操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3を算出すると、次に、角度取込I/F62を介して、現在の各駆動輪20の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節14の関節モータ40を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪20の車輪モータ50を駆動する指令値を算出する。
CPU60は、上記算出した、各駆動輪20の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ40が駆動され、各脚部12の回転関節14がヨー軸周りに回動して目標の操舵角度へと変化する。その後、各車輪モータ50が駆動され、各駆動輪20が指令値に応じた回転角速度で回転駆動する。これにより、脚車輪型ロボット100は、基体10の向きを保持した状態で、基体10の向いている方向(前方向)に通路へと進入すると共に通路内を直進走行する。
脚車輪型ロボット100が前方向にしばらく直進すると、通路は右に略直角に折れ曲がり、更に路幅も広くなるので、基体10の向きを保持した状態で、その向いている方向に対して右真横方向に直進移動するように制御する。つまり、進行方向として、α=−90(−π/2)[°]を入力し、更に、進行方向速度Vcを入力する。
これにより、操舵角度として、「θ00=θ10=θ20=θ30=α[°]」が算出され、線速度として、「V0=V2=−Vc」、「V1=V3=Vc」が算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
CPU60は、各駆動輪20の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ40及び各車輪モータ50が駆動され、これにより、脚車輪型ロボット100は、基体10の向きを保持した状態で、その向いている方向に対して右真横方向に直進走行する。これにより、通路の曲がり角で脚車輪型ロボット100を旋回せずに、その曲がった先へと走行させることができる。
脚車輪型ロボット100が右真横方向にしばらく直進すると、通路は右斜め下方向に折れ曲がるので、今度は、基体10の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進移動するように制御する。つまり、進行方向として、α(通路の角度<0)[°]を入力し、更に、進行方向速度Vcを入力する。
これにより、例えば、操舵角度として、「θ00=θ30=π+α[°]」及び「θ10=θ20=−(π+α)[°]」が算出され、線速度として、「V0=V1=−Vc」及び「V2=V3=Vc」が算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
そして、各駆動輪20の現在の操舵角度及び回転角速度を取得し、これらと上記算出した操舵角度及び回転角速度とから各指令値を算出する。この指令値により、各関節モータ40及び各車輪モータ50が駆動され、これにより、脚車輪型ロボット100は、基体10の向きを保持した状態で、その向いている方向に対して右斜め後ろ方向に直進走行する。
次に、超信地旋回制御時の脚車輪型ロボット100の動作について説明する。
ここでは、図14(b)に示すような通路を、脚車輪型ロボット100で走行移動させることとする。
図14(b)に示すように、通路は、最初真っ直ぐに伸びており、その後、略直角に右に曲がり、その先で行き止まりとなっている。
まず、通路の伸びる方向と基体10の向きとを合わせ、進入位置を微調整した後に、脚車輪型ロボット100を前方向に直進走行させる。これにより、脚車輪型ロボット100は、通路へと進入すると共に通路内を直進走行する。
脚車輪型ロボット100は、しばらく直進すると、やがて曲がり角へと到達するので、時計回りに旋回して、基体10の向きを脚車輪型ロボット100が進行できる向きへと変更する。
図14(b)に示す曲がり角であれば、移動を伴う旋回動作でも十分に右折できるが、ここでは、超信地旋回により右折することとする。そのため、超信地旋回制御指令を入力し、この指令により、脚車輪型ロボット100を、超信地旋回制御モードへと移行させる。これにより、脚車輪型ロボット100は、CPU60において、前後移動を行わずに所定の旋回中心位置でロボットを旋回する制御処理を行う。
まず、旋回角速度Ω(基体10を時計回りに回転させる角速度)と、旋回中心座標(0,0)とを入力する。更に、略直角に右折させるので、旋回角度−90[°]を入力する。
旋回角速度Ω、旋回中心座標(0,0)及び旋回角度(−90[°])が入力されると、上式(9)に基づき、基体10のx軸と各駆動輪20の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
各駆動輪20の回転中心に対する角度「φ0=φ1=φ2=φ3=φ」が算出されると、次に、各回転中心の運動方向と各駆動輪20の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30が算出される。
具体的に、操舵角度θ00、θ10、θ20、θ30として、「θ00=θ10=θ20=θ30=−(π/2−φ)」が算出される。
また、上式(10)に基づき、各駆動輪20の操舵時のヨー軸周りの回転中心と旋回中心(0,0)との距離L0、L1、L2、L3が算出される。
旋回中心が基体10の中心座標(0,0)となっているので、距離L0、L1、L2、L3は、等距離「L0=L1=L2=L3=L」となる。
次に、距離Lと旋回角速度Ωとから、上式(11)に基づき、各駆動輪20の線速度V0、V1、V2、V3を算出する。
ここでは、脚車輪型ロボット100を、時計回りに旋回(Ω<0)させるので、線速度V0、V1、V2、V3は、「V1=V2=LΩ」、「V0=V3=−LΩ」と算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、角度取込I/F62を介して、現在の各駆動輪20の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節14の関節モータ40を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪20の車輪モータ50を駆動する指令値を算出する。
CPU60は、上記算出した、各駆動輪20の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ40が駆動され、各脚部12の回転関節14がヨー軸周りに回動して目標の操舵角度へと変化する。その後、各車輪モータ50が駆動され、各駆動輪20が指令値に応じた回転角速度で回転駆動する。これにより、脚車輪型ロボット100は、基体10の中心座標(0,0)を旋回中心として、前後移動せずにその場で時計回りに90[°]旋回(超信地旋回)する。
そして、脚車輪型ロボット100を、時計回りに90[°]旋回して右折させると、その先の通路を、前方向へと直進走行させる。
図14(b)に示すように、右折した先の通路は袋小路となっているため、脚車輪型ロボット100は、やがて通路の行き止まりへと到達する。
脚車輪型ロボット100は、これ以上先に進めないため(各種センサにより状況を把握)、180[°]旋回して通路を引き返すことになる。
ここでは、通路の幅が前後移動を伴う旋回動作(例えば、Uターン)を行えるほど広くないため、上記右折のときと同様に、超信地旋回制御モードへと移行し、超信地旋回により180[°]旋回して、脚車輪型ロボット100の向きを変更し、引き返すこととする。
また、図14(b)に示すように、通路幅が自転ぎりぎりの幅となっているので、脚車輪型ロボット100を最小の旋回半径で旋回させる必要がある。従って、旋回中心座標(0,0)と、旋回角速度Ω(基体10を時計回りに回転させる角速度)と、旋回角度180[°]とを入力する。なお、脚部12が通路にぶつからないように、脚車輪型ロボット100の各脚部12の姿勢を膝伸展姿勢へと変更する。
旋回中心座標(0,0)、旋回角速度Ω及び旋回角度180[°]が入力されると、上記右折のときと同様に、操舵角度θ00、θ10、θ20、θ30として、「θ00=θ10=θ20=θ30=−(π/2−φ)」が算出され、線速度V0、V1、V2、V3として、「V1=V2=LΩ」、「V0=V3=−LΩ」が算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、各指令値が算出され、関節モータ40及び車輪モータ50が駆動される。
これにより、基体10の中心座標(0,0)を旋回中心として、脚車輪型ロボット100が前後移動せずにその場で時計回りに180[°]旋回(超信地旋回)し、真後ろ方向へと向きを変える。
ここで、脚車輪型ロボット100が、例えば、遠隔操作で人手により走行制御される場合や、自動制御で且つ基体10の後ろ側にも各種センサやカメラを備えている場合などは、無変向走行制御により、前を向いたまま真後ろに走行させて通路を引き返させることも可能である。しかし、自動制御の場合で且つ各種センサが基体10の前側にしか備わっていない場合は、基体10の向きと進行方向とを合わせる必要がある。従って、後者の場合などに、超信地旋回は有用な旋回手段となる。
次に、旋回中心オフセット型超信地旋回制御時の脚車輪型ロボット100の動作について説明する。
いま、車輪走行移動モードへと移行し、脚車輪型ロボット100の各関節モータ40が制御され、ロボットの姿勢が膝屈曲姿勢に変更されたとする。このとき、ロボットの重心が図15に示すように、基体10の中心位置の座標から外れた位置となるとする。
この場合は、重心位置が基体10の中心位置の座標(0,0)から外れているため、中心位置を旋回中心として超信地旋回を行わせると旋回がアンバランスとなり、不具合が発生する恐れがある。
このようなときに、本実施の形態の超信地旋回制御指令モードにおいては、任意の旋回中心で超信地旋回させることができるので、旋回角速度Ωを入力すると共に、基体10における、脚車輪型ロボット100の重心位置に対応する座標(xg,yg)を旋回中心座標(xc,yc)として入力する。
そして、旋回角速度Ω及び旋回中心座標(xc,yc)=(xg,yg)が入力されると、上式(12)に基づき、基体10のx軸と各駆動輪20の回転中心とのなす角度φ0、φ1、φ2、φ3が算出される。
各駆動輪20の回転中心に対する角度φ0、φ1、φ2、φ3が算出されると、次に、各回転中心の運動方向と各駆動輪20の進行方向とを一致させるための操舵角度θ00、θ10、θ20、θ30を算出する。
操舵角度θ00、θ10、θ20、θ30は、「θi0=−(π/2−φi)(i=0,1,2,3)」と算出される。
次に、上式(13)に基づき、各駆動輪20の操舵時のヨー軸周りの回転中心と旋回中心(xc,yc)との距離L0、L1、L2、L3を算出する。
距離L0、L1、L2、L3が算出されると、次に、これらの距離と旋回角速度Ωとから、上式(14)に基づき、各駆動輪20の線速度V0、V1、V2、V3を算出する。
ここでは、脚車輪型ロボット100を反時計回りに旋回(Ω>0)させるとして、線速度V0、V1、V2、V3は、「V0=−L0Ω」、「V1=L1Ω」、「V2=L2Ω」、「V3=−L3Ω」と算出される。
更に、線速度V0、V1、V2、V3は、上式(8)に従って、回転角速度ω0、ω1、ω2、ω3に変換される。
操舵角度θ00、θ10、θ20、θ30、及び各駆動輪20の回転角速度ω0、ω1、ω2、ω3が算出されると、次に、角度取込I/F62を介して、現在の各駆動輪20の操舵角度及び回転角速度を取得する。ここでは、取得した操舵角度と上記算出した操舵角度との差分値を算出し、該差分値に基づき回転関節14の関節モータ40を駆動する指令値を算出する。更に、取得した現在の回転角速度と、上記算出した回転角速度との差分値を算出し、該差分値に基づき駆動輪20の車輪モータ50を駆動する指令値を算出する。
CPU60は、上記算出した、各駆動輪20の操舵制御の指令値及び速度制御の指令値を各モータのドライバに入力する。この指令値により、各関節モータ40及び各車輪モータ50が駆動され、これにより、基体10における重心座標と対応する座標(xg,yg)を旋回中心として、脚車輪型ロボット100がバランスのとれた状態で反時計回りに超信地旋回する。
このようにして、本実施の形態では、走行制御時に、脚車輪型ロボット100の姿勢を膝屈曲姿勢にすると共に、駆動輪20がヨー軸上接地するように関節モータ40を制御する。
これにより、走行時に、基体10の重心の床面への投影点が各駆動輪20で構成される四角形の中心付近に位置することになり、安定するため転倒の不安が軽減される。また、接地点と回転関節14との長さが0であるため、回転関節14の関節モータ40の駆動トルクを低減することができる。
さらに、本実施の形態では、基体10の向きを一定方向に保持した状態で、脚車輪型ロボット100が目的の進行方向に走行するように関節モータ40及び車輪モータ50を制御する。
これにより、旋回を行わず(向きを変えず)に自由な方向へ移動できるので、各方向への素早い移動を実現できると共に、脚車輪型ロボット100の各構成部が妨げとなって旋回できないような狭くて入り組んだエリアなど、脚車輪型ロボットの向きを変更することが困難なエリアにおいても活動が可能となる。
さらに、本実施の形態では、脚車輪型ロボット100を所定の旋回中心位置で前後移動させずに旋回(超信地旋回)するように関節モータ40及び車輪モータ50を制御する。このとき、基体10における中心位置の座標を旋回中心座標とする制御(超信地旋回制御)と、基体10における中心位置以外の座標を旋回中心座標とする制御(旋回中心オフセット型超信地旋回制御)とを行うことが可能である。
これにより、基体10の中心位置を旋回中心位置とする場合は、最小の旋回半径で脚車輪型ロボットを旋回をさせることが可能である。また、基体10の中心位置以外を旋回中心位置とする場合は、基体10の中心位置と重心位置とが異なる場合などに、重心位置を旋回中心として超信地旋回させることができるので、脚車輪型ロボット100を、バランスよく超信地旋回させることが可能である。
上記第2の実施の形態において、脚部12は、発明8の脚車輪機構部に対応し、回転関節14の関節モータ40は、発明1のアクチュエータ、または発明2ないし5、7または8の第1アクチュエータに対応し、回転関節16、18の関節モータ40は、発明2ないし5、7または8の第2アクチュエータに対応し、CPU60は、発明2ないし5、7または8の制御手段に対応している。
なお、上記第1の実施の形態においては、旋回時に、駆動輪20がヨー軸上接地するように関節モータ40を制御するように構成したが、これに限らず、旋回時、非旋回時にかかわらず、基体10を上下方向に変位させるときは、駆動輪20がヨー軸上接地するように関節モータ40を制御するように構成することもできる。
図11は、車高が制限される天井が低いエリアでの動作を示す図である。
図11に示すように、車高が制限される天井が低いエリアにおいては、基体10の重心の床面への投影点と各駆動輪20で構成される四角形との位置関係を維持しながら基体10を上下させることができるので、このような天井が低いエリアでの活動が可能となる。
また、上記第1の実施の形態においては、本発明に係る脚車輪型ロボットを、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
また、上記第1及び第2の実施の形態においては、本発明に係る脚車輪型ロボット100の構成を、基体10の前方に左右一対及び後方に左右一対の4本の脚部12を有する構成としたが、これに限らず、基体10の中央に左右一対の脚部12を設ける構成や、3本の脚部12を対称に設ける構成、5本以上の脚部12を設ける構成など、本発明の趣旨を逸脱しない範囲で他の構成としても良い。また、多脚とした場合には、不要な脚部12を走行制御に用いないように制御するようにしても良い。
〔第3の実施の形態〕
次に、本発明の第3の実施の形態を図面を参照しながら説明する。図16ないし図34は、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法の第3の実施の形態を示す図である。
まず、本発明を適用する脚車輪型ロボット100の構成を説明する。
図16は、脚車輪型ロボット100の正面図である。
図17は、脚車輪型ロボット100の側面図である。
脚車輪型ロボット100は、図16および図17に示すように、基体10と、基体10に連結された4つの脚部12とを有して構成されている。
基体10の前部には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。また、基体10の後部には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。回転関節14は、脚車輪型ロボット100の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部12には、2つの回転関節16、18が設けられている。回転関節14は、下方を軸方向として回転し、回転関節16、18は、回転関節14が図16の状態であるときは、脚車輪型ロボット100の側面と直交する方向を軸方向として回転する。すなわち、回転関節14が図16の状態であるときは、ピッチ軸回りに回転し、回転関節14が図16の状態から90度回転した状態であるときは、ロール軸回りに回転する。したがって、脚部12は、それぞれ3自由度を有する。
各脚部12の先端には、回転関節16、18と軸方向を同一にして駆動輪20が回転可能に設けられている。
各脚部12の先端には、脚車輪型ロボット100の移動経路上に存在する物体までの距離を測定する前方脚先センサ22と、接地面までの距離を測定する下方脚先センサ24とが設けられている。
一方、基体10の正面には、3次元距離測定装置200が取り付けられている。3次元距離測定装置200の座標系(以下、センサ座標系という。)は、基体10の奥行き(前後の長さ)方向をxrs軸、基体10の幅(左右の長さ)方向をyrs軸、基体10の高さ方向をzrs軸とし、xrs軸は基体10の前方を、yrs軸は基体10の右方を、zrs軸は基体10の上方をそれぞれ正の方向とする。
次に、3次元距離測定装置200の外観構造を説明する。
図18は、3次元距離測定装置200の正面図(yrs−zrs平面)である。
図19は、3次元距離測定装置200の側面図(xrs−zrs平面)である。
図20は、3次元距離測定装置200の上面図(yrs−xrs平面)である。
3次元距離測定装置200は、図18ないし図20に示すように、下側支持板204と、下側支持板204の上方に設けられた上側支持板206と、上側支持板206の上方に設けられたカメラ支持板208とを有して構成されている。下側支持板204と上側支持板206、および上側支持板206とカメラ支持板208は、それぞれ複数の支柱により支持されている。
カメラ支持板208は、図19に示すように、下側支持板204および上側支持板206に対してxrs軸の正の方向に迫り出して設けられている。カメラ支持板208の迫り出した部分には、カメラ222が取り付けられている。
下側支持板204の下面には、モータ216が取り付けられている。モータ216の回転軸(以下、駆動回転軸という。)は、下側支持板204を下方から貫通し、下側支持板204と上側支持板206の間に配置されたプーリ220aに連結している。
一方、下側支持板204の下面であってモータ216から水平方向に所定距離隔てた位置には、2次元距離測定装置212が取り付けられている。2次元距離測定装置212は、回転軸(以下、従動回転軸という。)を有し、従動回転軸が下側支持板204を下方から貫通し、下側支持板204と上側支持板206の間に配置されたプーリ220bに連結している。
プーリ220a、220bには、ベルト221が巻き掛けられている。したがって、モータ216によりプーリ220aが回転し、プーリ220aに巻き掛けたベルト221によりプーリ220bが回転することにより、2次元距離測定装置212は、図20に示すように、zrs軸回りに回転する。
図21は、測距センサの走査範囲を示す図である。
2次元距離測定装置212は、測距センサを内蔵し、図21に示すように、測距センサを、zrs軸およびその測定方向に対して直交する軸回りに回転させながら所定の走査単位角度ごとに測距センサの測定結果を取得する。測距センサの走査範囲は、脚車輪型ロボット100が階段の昇降や障害物の回避を行うことを目的としているため、脚車輪型ロボット100の下方を重点的に走査するように設定されている。なお、2次元距離測定装置212および測距センサの原点位置(走査角度θおよびφが0°の位置)においては、測距センサの測定方向がxrs軸と一致し、測距センサの回転軸がyrs軸と一致する。測距センサの回転軸は、2次元距離測定装置212の走査角度によって向きが変化するが、原点位置においてyrs軸と一致するため、説明の便宜上、測距センサの回転軸をyrs’軸と表記する。
3次元距離測定装置200は、2次元距離測定装置212を回転駆動する回転駆動機構(モータ216、エンコーダ218、プーリ220a、220b、ベルト221および下側支持板204)が、図21に示す走査範囲外に設けられているため、図21に示す走査範囲であれば、3次元距離測定装置200を構成する各機構部によって、測距センサ212aの走査が阻害されない。
また、脚車輪型ロボット100の走行経路上の障害物を認識できればよいので、zrs軸回りの回転駆動による走査範囲も、前方180°までをカバーする必要はなく、2次元距離測定装置212から水平方向に所定距離隔てて配置されたモータ216およびエンコーダ218を走査範囲外とする範囲でも十分である。したがって、2次元距離測定装置212の回転駆動範囲を、モータ216およびエンコーダ218を含まない範囲とする。
次に、脚車輪型ロボット100の移動制御システムを説明する。
図22は、脚車輪型ロボット100の移動制御システムを示すブロック図である。
各脚部12の回転関節14〜18には、図22に示すように、回転関節14〜18を回転駆動する関節モータ40がそれぞれ設けられている。各関節モータ40には、関節モータ40の回転角度位置を検出するエンコーダ42と、モータ指令信号およびエンコーダ42の出力信号に基づいて関節モータ40の駆動を制御するドライバ44が設けられている。
各脚部12の駆動輪20には、駆動輪20を回転駆動する車輪モータ50がそれぞれ設けられている。各車輪モータ50には、車輪モータ50の回転角度位置を検出するエンコーダ52と、モータ指令信号およびエンコーダ52の出力信号に基づいて車輪モータ50の駆動を制御するドライバ54が設けられている。
脚車輪型ロボット100は、さらに、CPU60と、脚車輪型ロボット100の姿勢を検出する3軸姿勢センサ70と、外部のPC等と無線通信を行う無線通信部74と、無線通信部74とCPU60の入出力を中継するハブ76と、警告音等を出力するスピーカ78とを有して構成されている。
3軸姿勢センサ70は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット100の姿勢の傾きを検出する。
CPU60は、モータ指令出力I/F61を介してドライバ44、54にモータ指令信号を出力し、角度取込I/F62を介してエンコーダ42、52の出力信号を入力する。また、センサ入力I/F63を介して、3次元距離測定装置200、前方脚先センサ22、下方脚先センサ24および3軸姿勢センサ70からそれぞれセンサ信号を入力する。また、通信I/F64を介してハブ76と信号の入出力を行い、サウンド出力I/F65を介してスピーカ78に音声信号を出力する。
次に、2次元距離測定装置212の制御構造を説明する。
図23は、2次元距離測定装置212の制御構造を示すブロック図である。
2次元距離測定装置212は、図23に示すように、測定範囲内に存在する物体上の測定点までの距離を測定する測距センサ212aと、測距センサ212aを回転駆動するモータ212cと、モータ212cの回転角度位置を検出するエンコーダ212dと、指令信号およびエンコーダ212dの出力信号に基づいてモータ212cの駆動を制御するドライバ212bとを有して構成されている。
ドライバ212bは、センシングプロセッサ210からの指令信号において設定された走査角度範囲(例えば、−40°〜+40°等の所定の角度範囲)および走査単位角度(例えば、0.36°等の所定の単位角度)に基づいて、モータ212cの回転軸を走査単位角度ずつ回転させる制御を行う。
モータ212cは、測距センサ212aのレーザ出力部(不図示)および受光部(不図示)をyrs’軸回りに回転駆動するように設けられており、ドライバ212bからの制御信号に応じて、自己の回転軸を走査単位角度(Δθ)ずつ回転駆動する。
次に、3次元距離測定装置200の制御構造を説明する。
図24は、3次元距離測定装置200の制御構造を示すブロック図である。
3次元距離測定装置200は、図24に示すように、センシングプロセッサ210と、2次元距離測定装置212と、モータ216と、エンコーダ218と、指令信号およびエンコーダ218の出力信号に基づいてモータ216の駆動を制御するドライバ214と、カメラ222とを有して構成されている。
センシングプロセッサ210は、専用のプログラムを実行し、ドライバ212bに指令信号を与えて測距センサ212aを回転させ、測距センサ212aの走査範囲で測定可能な領域(以下、走査平面という。)内に存在する物体上の測定点までの距離を測定する第1走査処理を実行するとともに、1つの走査平面に対する第1走査処理が終了するごとに、ドライバ214に指令信号を与えて2次元距離測定装置212を回転させる第2走査処理を実行する。
センシングプロセッサ210は、さらに、第1走査処理および第2走査処理を経て2次元距離測定装置212で測定した距離の情報(以下、距離情報という。)に基づいて、測定範囲内に存在する物体上の連続面を認識する処理を実行する。
次に、3次元距離測定装置200の距離測定の原理を説明する。
図25は、2次元距離測定装置212の距離測定の原理を説明するための図である。
2次元距離測定装置212は、測距センサ212aが、モータ212cの回転軸の回転駆動に応じて、yrs’軸回りに走査単位角度ずつ回転し、かつ、回転するごとに、図25に示すように、レーザ出力部からレーザ光を出力するとともに、出力光に対する物体(図25中の障害物)からの反射光を受光部で受光し、各走査角度に応じた距離(図25中の測定距離L(物体と受光部との間の距離))を測定する。
図26は、第1走査処理および第2走査処理により走査を行った場合を示す図である。同図(a)は、測距センサ212aをyrs’軸回りに回転させたときの測定距離Lと走査角度θとの関係を示す図であり、同図(b)は、2次元距離測定装置212をzrs軸回りに回転させたときの走査平面と走査角度φとの関係を示す図である。
第1走査処理は、例えば、図26(a)に示すように、測距センサ212aをyrs’軸回りに走査単位角度ずつ回転させながら、原点位置に対する各走査角度(図26(a)中のθ1、θ2、θ3)に応じた距離情報(図26(a)中のL(θ1)、L(θ2)、L(θ3))を測定する処理となる。
また、第1走査処理における、モータ212cの回転軸の回転中心と、レーザの走査軌道線の両端とを結んで形成される平面が、走査平面(物体が存在しない場合は扇形の平面)となる。
ドライバ214は、センシングプロセッサ210からの指令信号において設定された走査角度範囲および走査単位角度(Δφ)に基づいて、モータ216の回転軸を走査単位角度ずつ回転させる制御を行う。
モータ216は、減速機(不図示)、プーリ220a、220bおよびベルト221を介して、2次元距離測定装置212をzrs軸回りに回転駆動するように設けられており、ドライバ214からの制御信号に応じて、自己の回転軸を走査単位角度ずつ回転駆動する。これにより、モータ216の回転軸の回転駆動に応じて、プーリ220a、220bを介して従動回転軸に回転駆動力が伝達され、2次元距離測定装置212がzrs軸回りに走査単位角度ずつ回転する。
すなわち、第2走査処理は、図26(b)に示すように、2次元距離測定装置212をzrs軸回りに走査単位角度ずつ回転させる処理となる。そして、第1走査処理と第2走査処理とを交互に連続して行うことにより、第1走査処理によって形成される走査平面をzrs軸回りに連続して形成する。
図27は、3次元距離測定装置200の距離の計測例を示す図である。
これにより、例えば、図27に示すように、壁、ついたて、スタンド、棚等の物体の立体的な形状を把握することができる。
また、図26(b)に示すように、第2走査処理後の各測定点の距離情報をL(θi,φj)と表記する。ここで、iは、yrs’軸回りの走査角度に応じて各測定点に付与される通し番号であり、jは、zrs軸回りの走査角度に応じて各測定点に付与される通し番号である。
次に、3次元距離測定装置200で実行される物体認識処理を説明する。
図28は、3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。
物体認識処理は、CPU60からの指令信号に基づいて、センシングプロセッサ210が、ROM(不図示)に記憶された専用のプログラムを読み出し、読み出したプログラムを実行することで実現される処理であって、処理が実行されると、図28に示すように、まず、ステップS300に移行する。
ステップS300では、3次元距離測定装置200において、CPU60からの指令信号に基づいて、測距センサ212aおよび2次元距離測定装置212の走査角度範囲および走査単位角度を設定し、ステップS302に移行する。ここで、CPU60からの指令信号には、走査角度範囲および走査単位角度の情報が含まれている。
ステップS302では、2次元距離測定装置212に指令信号を出力することにより、ドライバ212b、モータ212cおよびエンコーダ212dを駆動し、測距センサ212aを、ステップS300で設定されたyrs’軸回りの走査角度範囲内において、ステップS300で設定された走査単位角度ずつyrs’軸回りに回転させるとともに、各走査角度に応じた距離情報を測定する第1走査処理を実行し、ステップS304に移行する。
ステップS304では、ステップS302で測定した距離情報に対して、メディアンフィルタを用いたフィルタリング処理を実行してノイズ成分を除去し、ステップS306に移行する。
ステップS306では、ステップS304でノイズ除去後の回転座標系の距離情報を直交座標系の座標情報に変換する。これにより、第1走査処理で得られた各測定点の距離情報は、その第1走査処理の走査平面を2次元平面とする直交座標系(以下、走査平面座標系という。)の座標情報に変換される。
次いで、ステップS310に移行して、ステップS306で変換された座標情報に基づいてハフ変換により直交座標系における線分を検出する。
図29は、ハフ変換の原理を説明するための図である。同図(a)は、x−y平面を示し、同図(b)は、ρ−θ平面を示す。なお、同図(a)のx軸、y軸は、走査平面座標系における軸を示し、センサ座標系における軸とは別個のものである。
ハフ変換は、デジタル画像処理で用いられる特徴抽出法の一つである。古典的には直線の検出を行うものだったが、さらに一般化されて様々な形態(円や楕円等の方程式の形で表現できるもの)に対して用いられている。ハフ変換の特徴は、画像中の直線が途中で切断されている場合や、雑音が存在する場合でも、比較的良好な結果を得ることができる点である。
図29(a)に示すように、走査平面座標系における直線ax+by+c=0を考える。
この直線から原点に垂線を下ろし、垂線の長さをρ、垂線とx軸とのなす角をθとしたとき、この直線は、下式(15)により表すことができる。
Figure 2009006984
上式(15)は、下式(16)に変形することができる。

ρ=xcosθ+ysinθ …(16)

したがって、1組の(ρ、θ)に対して1本の直線が対応することとなる。ここで、点(ρ、θ)を直線ax+by+c=0のハフ変換と呼ぶ。また、走査平面座標系の任意の点(x0、y0)を通る直線群は、下式(17)により表すことができる。

ρ=x0cosθ+y0sinθ …(17)

ここで、x−y平面において3点P1、P2、P3を通るそれぞれの直線群の軌跡をρ−θ平面に描くと、図29(b)に示すように正弦曲線となる。この3点がx−y平面において同一直線上に存在するのであれば、ρとθの値は同一となり、ρ−θ平面において、3点に対応する曲線は1点で交わることになる。
ハフ変換の原理を利用すれば、複数の測定点の座標に基づいて線分を検出することができる。すなわち、n(n≧2)個の測定点に対して、ρ−θ平面上ではn個の曲線が描かれ、このうちm(n≧m≧2)個の曲線が1点で交わっていれば、このm個の曲線に対応するm個の測定点は、x−y平面において同一直線上にあるということになる。
次いで、図28に示すように、ステップS320に移行して、検出した線分の端点を連続面の境界(凹凸のエッジ)として判定する。複数の線分が重なり合っているとき、または複数の線分が所定距離内に存在するときは、1つの線分であるとみなし、それら線分の端点のうち最も離れた2点を連続面の境界として判定する。
次いで、ステップS324に移行して、連続面の境界として判定した端点の座標情報をセンサ座標系に変換し、変換された座標情報を各線分ごとに対応付けてRAM等のメモリ(不図示)に記憶し、ステップS326に移行する。
ステップS326では、第2走査処理の走査角度範囲および走査単位角度に対応するすべての走査平面についてステップS302〜S324の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップS336に移行する。
ステップS336では、メモリに記憶された座標情報に基づいて面データを生成する。連続面の境界として判定した端点を結ぶ線分(ステップS320で、1つの線分であるとみなしたもの)は、連続面と走査平面が交わる交線であるので、面データの生成は、例えば、ある走査平面において、連続面の境界として判定した端点を結ぶ線分と、zrs軸回りに隣接する走査平面において、連続面の境界として判定した端点を結ぶ線分との傾きおよび座標が所定範囲にあるものを連続面と判定し、それら線分に対応する座標情報を対応付けたり、公知の補間法を用いてつなぎ合わせたりすることにより行う。例えば、傾きが0に近い連続面は、水平面とみなすことができるので、そこが歩行可能な面であると判定することができる。
次いで、ステップS338に移行して、ハブ76および通信I/F64を介して、ステップS336で生成した面データをCPU60に出力し、一連の処理を終了する。
一方、ステップS326で、すべての走査平面についてステップS302〜S324の処理が終了しないと判定したとき(No)は、ステップS340に移行して、3次元距離測定装置200に指令信号を出力することにより、ドライバ214、モータ216およびエンコーダ218を駆動し、2次元距離測定装置212を、ステップS300で設定されたzrs軸回りの走査角度範囲内において、ステップS300で設定された走査単位角度ずつzrs軸回りに回転させる第2走査処理を実行し、ステップS302に移行する。
次に、CPU60で実行される処理を説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、図30のフローチャートに示す昇降制御処理を実行する。
図30は、昇降制御処理を示すフローチャートである。
昇降制御処理は、脚部12の昇降制御を行う処理であって、CPU60において実行されると、まず、図30に示すように、ステップS400に移行する。
ステップS400では、3次元距離測定装置200から面データを入力し、ステップS402に移行して、入力した面データに基づいて、センサ座標系における各測定点の座標をグローバル座標系の座標に変換し、連続面の周縁上の点を階段の特徴点として検出する。
次いで、ステップS404に移行して、検出した階段の特徴点に基づいて階段の幅を算出し、ステップS406に移行して、検出した階段の特徴点に基づいて階段の段鼻部の実座標を算出し、ステップS408に移行する。
ステップS408では、算出した階段の幅および段鼻部の実座標、並びに3軸姿勢センサ70のセンサ信号に基づいて逆運動学計算および重心計算を行い、ステップS410に移行して、ステップS408の計算結果に基づいて脚先(駆動輪20)の着地位置を決定し、ステップS412に移行する。
ステップS412では、前方脚先センサ22および下方脚先センサ24からそれぞれセンサ信号を入力し、ステップS414に移行して、入力した前方脚先センサ22のセンサ信号に基づいて蹴込板までの距離を算出し、ステップS416に移行して、入力した下方脚先センサ24のセンサ信号に基づいて脚先と踏板の位置関係を算出し、ステップS418に移行する。
ステップS418では、決定した着地位置および算出した両距離に基づいてドライバ44、54へのモータ指令信号を生成し、ステップS420に移行して、生成したモータ指令信号をドライバ44、54に出力し、ステップS422に移行する。
ステップS422では、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップS422で、脚先が着地しないと判定したとき(No)は、ステップS412に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在し、これを乗り越える場合を説明する。
センシングプロセッサ210では、まず、ステップS300を経て、CPU60からの指令信号に基づいて、センシングプロセッサ210において走査角度範囲および走査単位角度が設定される。
ここで、2次元距離測定装置212は、測距範囲20〜4095[mm]、最大走査角度範囲240°、角度分解能0.36°の2次元レンジセンサであることとする。走査角度範囲が240°であれば、図21に示す走査平面を形成する走査角度範囲と同じとなり、2次元距離測定装置212の上方にある下側支持板204、プーリ220a、220bおよびベルト221が走査範囲に含まれないことになる。
また、第1走査処理に対して、走査角度範囲240°および走査単位角度0.36°が設定され、第2走査処理に対して、走査角度範囲−40°〜+40°および走査単位角度10°が設定されたとする(この場合は、走査平面が9つ形成される)。走査角度範囲−40°〜+40°であれば、2次元距離測定装置212から水平方向に所定距離隔てて配置されたモータ216およびエンコーダ218が走査範囲に含まれないことになる。
次いで、ステップS302を経て、第1走査処理に対して設定された走査角度範囲および走査単位角度に基づいて、ドライバ212bに指令信号が出力されることにより第1走査処理が実行される。最初は、zrs軸回りの走査角度φが0°の位置(原点位置)に対する第1走査処理が実行される。
その結果、ドライバ212bにより、センシングプロセッサ210からの指令信号およびエンコーダ212dからの出力信号に基づいて、モータ212cの回転軸が回転駆動し、測距センサ212aがyrs’軸回りに走査単位角度Δθ=0.36°ずつ回転するとともに、各走査角度に応じた距離が測定される。各距離情報は、データ列L(θi,φj)としてセンシングプロセッサ210に出力される。
なお、yrs’軸回りの走査範囲内には、基体10以外に、2次元距離測定装置212の駆動機構等の走査を阻害する物が一切存在しないため、走査範囲内に存在する物体の正確な距離情報を得ることができる。
1つの走査平面に対する第1走査処理が終了すると、ステップS304を経て、第1走査処理で測定された距離情報に対してフィルタリング処理が行われる。これにより、測定情報におけるノイズ成分が除去される。
図31は、第1走査処理による測定結果を示すグラフである。
ここで、ノイズ成分除去後の各測定点の測定距離L[mm]は、例えば、図31に示すようになる。図31において、横軸は、各走査角度に応じた測定点の番号(第1走査角度番号)であり、縦軸は、各走査角度番号の測定点に対する測定距離L[mm]である。
図31の例では、脚車輪型ロボット100の歩行経路上に、段差が一定でかつ踏板が連続面となっている階段が存在することが分かる。
次いで、ステップS306を経て、フィルタリング処理後の回転座標系の距離情報が直交座標系の座標情報に変換される。
図32は、図31の各測定点の回転座標系の距離情報を直交座標系の座標情報に変換した結果を示すグラフである。
図31の各測定点の回転座標系の距離情報は、座標変換により、図32に示すように、各走査角度に対応するxrs軸方向の距離[mm]とzrs軸方向の距離[mm]とで表される2次元の座標情報となる。図32において、横軸は、xrs軸方向の距離Lx[mm]であり、縦軸は、zrs軸方向の距離Lz[mm]である。
次いで、ステップS310を経て、変換された座標情報に基づいてハフ変換により直交座標系における線分が検出される。
図33は、直交座標系における測定点およびハフ変換の結果を示すグラフである。
直交座標系において各測定点は、図33(a)に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図33(a)の例では、1段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域A1である。また、領域A2は、他の領域と比べて測定解像度が低くなっている。
この測定結果に対してハフ変換を行うと、図33(b)に示すように、各踏板の輪郭に沿った線分が検出される。
複数の測定点に基づいて線分を検出する他の方法として、最小二乗法が知られている。
しかしながら、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、低解像度領域A2では、踏板の輪郭とは沿わない線分を検出してしまうことがある。これに対し、ハフ変換では、測定解像度の影響を受けにくく、低解像度領域A2を含んでいても、図33(b)に示すように、踏板の輪郭に比較的沿った線分を検出することができる。
また、最小二乗法では、1つ1つの測定点を辿って線分を検出するため、誤差領域A1について、実際は平坦な線分であるところ斜めの線分として検出してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、図33(b)に示すように、誤差領域A1およびその両側の領域を平坦な線分として検出することができる。
また、最小二乗法では、どこからどこまでの領域を1つの連続面であるかを認識するかについて問題がある。この場合、例えば、検出した線分の傾きが急激に変化した箇所を連続面の境界として認識することが考えられるが、この認識方法では、誤差領域A1について、実際は誤差領域A1およびその両側の領域が1つの連続面であるところ両側の領域を別々の連続面として認識してしまう。これに対し、ハフ変換では、ばらつきの影響を受けにくく、ばらつきの数が少なければ、図33(b)に示すように、誤差領域A1およびその両側の領域を1つの平坦な線分として検出することができる。
次いで、ステップS320、S324を経て、検出された線分の端点が連続面の境界として判定され、連続面の境界として判定された端点の座標情報がセンサ座標系に変換され、変換された座標情報がメモリに記憶される。
1つの走査平面について測定が終了すると、ステップS340を経て、第2走査処理に対して設定された走査角度範囲および走査単位角度に基づいて、ドライバ214に指令信号が出力されることにより第2走査処理が実行される。
その結果、ドライバ214により、センシングプロセッサ210からの指令信号およびエンコーダ218からの出力信号に基づいて、モータ216の回転軸が回転駆動し、2次元距離測定装置212がzrs軸回りに走査単位角度10°ずつ回転する。第2走査処理によって、2次元距離測定装置212の向きが1つ前の状態に対してzrs軸回りに10°だけ変化する。そして、この状態で、ステップS302を経て、第1走査処理が再び実行される。すなわち、zrs軸回りに10°ずれた位置に新たな走査平面が形成され、この走査平面について第1走査処理が実行される。
ここで、2次元距離測定装置212が基体10の正面に取り付けられているため、基体10が走査範囲内に含まれてしまうが、脚車輪型ロボット100の前方および歩行経路上を含む範囲においては阻害物が一切ないため、脚車輪型ロボット100の歩行制御を行うのに十分な走査範囲が確保できているといえる。
すべての走査平面について測定が終了すると、ステップS336を経て、メモリに記憶された座標情報に基づいて面データが生成される。
図34は、連続面の判定結果を示す図である。
面データは、図34に示すように、zrs軸回りに隣接する走査平面間において、傾きおよび座標が近い線分をつなぎ合わせることで生成される。図34の例では、例えば、走査平面φ0において、1段目の踏板に対応する領域(φ0、2)の線分と、走査平面φ1において、1段目の踏板に対応する領域(φ1、2)の線分とが1つの連続面を構成すると判定されるので、その連続面については、それら線分の端点の座標情報を対応付けた面データが生成される。
なお、同様に、走査平面φ0における領域(φ0、2i(iは2以上の整数))の線分および走査平面φ1における領域(φ1、2i)の線分が1つの連続面を、走査平面φ0における領域(φ0、2j(jは1以上の整数)−1)の線分および走査平面φ1における領域(φ1、2j−1)の線分が1つの連続面を構成すると判定され、面データが生成される。
面データは、ステップS338を経て、ハブ76および通信I/F64を介してCPU60に出力される。
CPU60では、面データを入力すると、ステップS402を経て、入力された面データに基づいて階段の特徴点が検出される。また、入力された面データが解析され、例えば、傾きが0に近い連続面が水平面とみなされ、脚車輪型ロボット100が歩行可能な面であると判定される。
歩行可能な面であると判定されると、ステップS404〜S410を経て、検出された階段の特徴点に基づいて階段の幅および段鼻部の実座標が算出され、算出された階段の幅および段鼻部の実座標に基づいて脚先の着地位置が決定される。
さらに、ステップS412〜S416を経て、脚先センサ22、24からそれぞれセンサ信号が入力され、蹴込板までの距離および脚先と踏板の位置関係が算出される。そして、ステップS418、S420を経て、決定された着地位置および算出された両距離に基づいてモータ指令信号が生成され、生成されたモータ指令信号がドライバ44、54に出力される。これにより、駆動輪20が回転するとともに回転関節14〜18が駆動し、脚車輪型ロボット100が姿勢を適切に保ちつつ階段を乗り越える。また、状況によっては階段を回避、停止する。したがって、脚型ロボットと同様に階段への適応性が高い。
なお、段差が一定でかつ踏板が連続面となる階段を例に挙げたが、段差が一定でない階段、蹴込板の無い階段等に対しても、正確にその面を認識することができるので、脚車輪型ロボット100の階段への適応性を高めることができる。
一方、平地では、脚車輪型ロボット100は、車輪走行で移動することができる。したがって、車輪型ロボットと同様に平地での移動性が高い。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ212aを備え、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された少なくとも2つの測定点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面または連続面の境界を認識する。
これにより、連続面または連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
さらに、本実施の形態では、検出した線分の端点の座標に基づいて連続面または連続面の境界を認識する。
これにより、連続面または連続面の境界を比較的正確に認識することができる。
さらに、本実施の形態では、測距センサ212aをyrs’軸回りに回転させるモータ212c等からなるyrs’軸回転機構と、測距センサ212aをzrs軸回りに回転させるモータ216等からなるzrs軸回転機構とを備え、yrs’軸回転機構により測距センサ212aを回転させながらyrs’軸回転機構の走査単位角度ごとに測距センサ212aの測定結果を取得する第1走査を、zrs軸回転機構により測距センサ212aを回転させながらzrs軸回転機構の走査単位角度ごとに行う第2走査を行うことにより、yrs’軸回転機構の走査単位角度ごとおよびzrs軸回転機構の走査単位角度ごとの測定結果を取得する。
これにより、連続面または連続面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御にさらに好適な認識結果を得ることができる。また、測距センサ212aを回転させる回転機構を採用したので、移動機構に比して、走査に必要なスペースが小さくてすみ、走査のための機構が簡素となり、しかも高速な走査を実現することができる。
さらに、本実施の形態では、モータ216およびエンコーダ218と、2次元距離測定装置212とを水平方向に所定距離隔てて配置し、駆動回転軸の回転駆動力を、プーリ220a、ベルト221およびプーリ220bを介して従動回転軸へと伝達し、2次元距離測定装置212をzrs軸回りに回転駆動する構成とした。
これにより、2次元距離測定装置212の走査角度範囲内には、走査を阻害するものが一切なくなるので、正確な距離情報を得ることができる。また、モータ216およびエンコーダ218と、2次元距離測定装置212とを水平方向に配置したので、3次元距離測定装置200の高さ方向の占有率を低減することができる。
さらに、本実施の形態では、脚先センサ22、24を備え、脚先センサ22、24で測定した距離に基づいて階段を認識し、その認識結果に基づいてモータ40、50を制御する。
これにより、脚先センサ22、24を用いて未知の階段を認識しながら脚部12の昇降制御を行うので、従来に比して、未知の階段に対して高い適応性を実現することができる。また、人が活動する環境での動作を行えるので、人と一緒に行動する用途に用いられるホームロボット、パーソナルロボット等に好適である。
さらに、本実施の形態では、3次元距離測定装置200を基体10の正面に設け、脚先センサ22、24を脚部12の先端に設けた。
これにより、脚車輪型ロボット100の移動経路上に存在する物体を広い視野で検出することができるとともに、階段昇降時に駆動輪20と階段の距離を精度よく測定することができる。
さらに、本実施の形態では、前方脚先センサ22の測定結果に基づいて階段の蹴込板までの距離を算出し、下方脚先センサ24の測定結果に基づいて駆動輪20と階段の踏板の位置関係を算出する。
これにより、階段の特徴のうち脚部12の昇降制御にさらに有効な特徴を検出することができるので、未知の階段に対してさらに高い適応性を実現することができる。
上記第3の実施の形態において、ステップS302、S340は、発明9、12若しくは14の測定結果取得手段、または発明25の測定結果取得ステップに対応し、ステップS306は、発明9の座標変換手段、または発明25の座標変換ステップに対応している。また、ステップS310は、発明9、11若しくは13の線分検出手段、または発明25の線分検出ステップに対応し、ステップS320、S336は、発明9、11若しくは13の認識手段、または発明25の認識ステップに対応している。
また、上記第3の実施の形態において、yrs’軸は、発明14の第1走査軸に対応し、zrs軸は、発明14の第2走査軸に対応し、yrs’軸回転機構は、発明12若しくは14の第1走査手段、または発明14の第1回転手段に対応し、zrs軸回転機構は、発明12若しくは14の第2走査手段、または発明14の第2回転手段に対応している。
〔第4の実施の形態〕
次に、本発明の第4の実施の形態を図面を参照しながら説明する。図35および図36は、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法の第4の実施の形態を示す図である。
本実施の形態は、上記第3の実施の形態に対して、直交座標系において、測定点間を線分で接続した上でハフ変換を行う点が異なる。なお、以下、上記第3の実施の形態と異なる部分についてのみ説明し、上記第3の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、3次元距離測定装置200で実行される物体認識処理を説明する。
図35は、3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ210において実行されると、図35に示すように、ステップS300〜S306を経て、ステップS308に移行する。
ステップS308では、ステップS306で変換された座標情報に基づいて、走査平面座標系においてx軸方向に隣接する測定点の間を線分で接続し、ステップS310に移行して、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分を検出する。
そして、ステップS320、S324を経て、ステップS326に移行して、すべての走査平面についてステップS302〜S324の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップS336、S338を経て、一連の処理を終了する。
一方、ステップS326で、すべての走査平面についてステップS302〜S324の処理が終了しないと判定したとき(No)は、ステップS340を経て、ステップS302に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第3の実施の形態とは、ハフ変換により線分を検出する点が異なるので、異なる部分についてのみ説明する。
ステップS308、S310を経て、変換された座標情報に基づいて測定点間が線分で接続され、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分が検出される。
図36は、直交座標系における測定点、線分接続の結果およびハフ変換の結果を示すグラフである。
直交座標系において各測定点は、図36(a)に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図36(a)の例では、1段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域A1である。また、領域A2は、他の領域と比べて測定解像度が低くなっている。
この測定結果に対して線分接続を行うと、図36(b)に示すように、各測定点が1つの線で接続される。これにより、測定点が存在しない測定点間は、線上の点で補間されることになる。
この接続結果に対してハフ変換を行うと、図36(c)に示すように、各蹴込板および各踏板の輪郭に沿った線分が検出される。
なお、線分接続を行わず、図36(a)の測定結果に対してハフ変換を行うと、図33(b)に示すように、各踏板の輪郭に沿った線分が検出されるが、各蹴込板に沿った線分は検出することができない。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ212aを備え、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された測定点間を線分で接続し、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面または連続面の境界を認識する。
これにより、物体上の連続面または連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。さらに、測定点間を線分で接続して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができる。
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
上記第4の実施の形態において、ステップS302、S332は、発明10の測定結果取得手段、または発明26の測定結果取得ステップに対応し、ステップS306は、発明10の座標変換手段、または発明26の座標変換ステップに対応し、ステップS310は、発明10の線分検出手段、または発明26の線分検出ステップに対応している。また、ステップS320、S328は、発明10の認識手段、または発明26の認識ステップに対応している。
〔第5の実施の形態〕
次に、本発明の第5の実施の形態を図面を参照しながら説明する。図37ないし図44は、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法の第5の実施の形態を示す図である。
本実施の形態は、上記第3の実施の形態に対して、測距センサ212aの測定結果およびカメラ222から取得した画像(以下、カメラ画像という。)に基づいて連続面の境界を認識する点が異なる。なお、以下、上記第3の実施の形態と異なる部分についてのみ説明し、上記第3の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、3次元距離測定装置200の外観構造を説明する。
カメラ222は、zrs軸の負の方向を向いており、脚車輪型ロボット100の足元およびその周辺の画像を撮影することができる。カメラ222の座標系(以下、カメラ座標系という。)は、センサ座標系と同様に、xrs軸、yrs軸、zrs軸と同一方向をそれぞれxca軸、yca軸、zca軸とし、センサ座標系とは原点位置が異なる。すなわち、カメラ222は、センサ座標系におけるxrs−yrs平面と、カメラ座標系におけるxca−yca平面とが平行となるように配置されている。なお、xrs−zrs平面とxca−zca平面、およびyrs−zrs平面とyca−zca平面も同様に平行の関係にある。
次に、3次元距離測定装置200の制御構造を説明する。
センシングプロセッサ210は、さらに、測距センサ212aの測定結果およびカメラ画像に基づいて連続面の境界を認識する処理を実行する。
次に、カメラ222および3次元距離測定装置200を用いた物体認識の原理を説明する。
図37は、カメラ222および3次元距離測定装置200を用いた物体認識の原理を説明するための図である。
まず、図37に示すように、カメラ222により、脚車輪型ロボット100の足元およびその周辺の画像を撮影し、カメラ画像から線分を検出する。
次いで、3次元距離測定装置200により、各走査平面ごとに測定された測定点の座標から連続面の境界をセンサ特徴点として判定し、座標変換によりセンサ特徴点をカメラ画像に投影する。
そして、カメラ画像から検出した線分(以下、カメラ画像の線分という。)と、センサ特徴点の投影点との位置関係に基づいて連続面の境界を認識する。
これにより、3次元距離測定装置200により得られたセンサ特徴点にのみ基づいて認識を行う場合、およびカメラ画像にのみ基づいて認識を行う場合よりも、認識精度を向上することができる。
次に、3次元距離測定装置200で実行される物体認識処理を説明する。
図38は、3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ210において実行されると、図38に示すように、まず、ステップS250に移行する。
ステップS250では、カメラ222から画像を取得し、ステップS252に移行して、カメラ画像に対して歪み補正処理を実行し、ステップS254に移行して、歪み補正されたカメラ画像からSobel、Cannyフィルタ等によりエッジを抽出するエッジ抽出処理を実行し、ステップS256に移行して、エッジ抽出されたカメラ画像からハフ変換により線分を検出する。
次いで、ステップS300〜S320を経て、ステップS324に移行して、連続面の境界として判定した端点の座標情報をセンサ座標系に変換し、変換された座標情報をメモリに記憶し、ステップS326に移行する。
ステップS326では、第2走査処理の走査角度範囲および走査単位角度に対応するすべての走査平面についてステップS302〜S324の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップS328に移行する。
ステップS328では、メモリに記憶された座標情報に基づいて、連続面の境界として判定した端点をセンサ特徴点とし、座標変換によりセンサ特徴点をカメラ画像に投影する。
図39は、センサ座標系、カメラ座標系およびカメラ222の撮像素子面の座標系を示す図である。
センサ特徴点は、一般的なピンホールモデルを用いてカメラ画像に投影することができる。
カメラ222の撮像素子面の座標系をΣcm、測距センサ212aとカメラ222との相対位置をr=(rx、ry、rz)、カメラ222のレンズの焦点距離をf、撮像素子の有効画素幅をW、撮像素子の有効画素高さをHすると、センサ座標系におけるP(xrs1、yrs1、zrs1)rs=(xrs1−rx、yrs1−ry、zrs1−rz)caは、図39(a)、(b)に示すように、撮像素子面の座標系における座標P’に投影することができる。座標P’は、下式(18)により求めることができる。
Figure 2009006984
なお、図39および上式(18)において、センサ座標系Σrs、カメラ座標系Σca、撮像素子面の座標系Σcmでの座標(a、b、c)をそれぞれ(a、b、c)rs、(a、b、c)ca、(a、b、c)cmと表記する。
次いで、図38に示すように、ステップS330に移行して、カメラ画像において、カメラ画像の各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在するセンサ特徴点とを対応付け、ステップS332に移行して、同一のセンサ特徴点が対応付けられた線分をグループ化し、ステップS334に移行して、同一グループに属する線分の端点の座標に基づいて連続面の境界線を判定する。
図40は、カメラ画像の線分およびセンサ特徴点の対応付け、グループ化および境界線の判定を行う場合を説明するための図である。
図40(a)に示すように、カメラ画像から傾きが近い2つの線分l1、l2が検出され、線分l1、l2の周辺に4つの投影点P1〜P4が得られたとする。この場合、線分l1を延長した直線から所定距離内に投影点P2、P3、P4が存在するため、同図(b)に示すように、線分l1に対して投影点P2、P3、P4が対応付けられる。また、線分l2を延長した直線から所定距離内に投影点P1、P2、P3が存在するため、線分l2に対して投影点P1、P2、P3が対応付けられる。
次いで、線分l1、l2には、投影点P2、P3が共通して対応付けられているので、線分l1、l2が1つのグループとしてグループ化される。
そして、同一グループに属する線分l1の端点P5、P6および線分l2の端点P7、P8の座標に基づいて、同図(c)に示すように、最小二乗法により直線近似が行われ、得られた直線が連続面の境界線として判定される。
これにより、コントラスト等の影響により、カメラ画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、センサ特徴点との対応関係に基づいて複数の線分を1つの線分としてグループ化し、連続面の境界線を判定することができる。
次いで、図38に示すように、ステップS337に移行して、連続面の境界線として判定した直線に関する情報に基づいて境界データを生成し、ステップS339に移行して、ハブ76および通信I/F64を介して、生成した境界データをCPU60に出力し、一連の処理を終了する。
一方、ステップS326で、すべての走査平面についてステップS302〜S324の処理が終了しないと判定したとき(No)は、ステップS340を経て、ステップS302に移行する。
次に、昇降制御処理を説明する。
図41は、昇降制御処理を示すフローチャートである。
昇降制御処理は、CPU60において実行されると、まず、図41に示すように、ステップS401に移行する。
ステップS401では、3次元距離測定装置200から境界データを入力し、ステップS402に移行して、入力した境界データに基づいて、カメラ座標系の座標をグローバル座標系の座標に変換し、連続面の境界線上の点を階段の特徴点として検出する。
次いで、ステップS402〜S420を経て、ステップS422に移行して、脚先が踏板に着地したか否かを判定し、脚先が着地したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップS422で、脚先が着地しないと判定したとき(No)は、ステップS412に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第3の実施の形態とは、測距センサ212aの測定結果およびカメラ画像に基づいて連続面の境界を認識する点が異なるので、異なる部分についてのみ説明する。
図42は、カメラ画像の処理結果を示す図である。
センシングプロセッサ210では、まず、ステップS250を経て、カメラ222から画像が取得される。例えば、図42(a)に示すような画像が得られたとする。次いで、ステップS252を経て、カメラ画像に対して歪み補正処理が実行され、同図(b)に示すように、歪みが補正された画像が得られる。次いで、ステップS254を経て、歪み補正されたカメラ画像に対してエッジ抽出処理が実行され、同図(c)に示すように、エッジだけが抽出された画像が得られる。そして、ステップS256を経て、エッジ抽出されたカメラ画像から線分が検出される。その結果、同図(d)に示すように、6つの線分が得られる。
次いで、ステップS300〜S326を経て、すべての走査平面について第1走査処理による測定結果が得られる。
すべての走査平面について測定が終了すると、ステップS328を経て、メモリに記憶された座標情報に基づいて座標変換によりセンサ特徴点がカメラ画像に投影される。
図43は、連続面の判定結果を示す図である。
図44は、センサ特徴点のカメラ画像への投影結果を示す図である。
走査平面φ0については、図43に示すように、(1)床面に対応する領域(φ0、0)と1段目の蹴込板に対応する領域(φ0、1)との交点、(2)領域(φ0、1)と1段目の踏板に対応する領域(φ0、2)との交点、(3)領域(φ0、2)と2段目の蹴込板に対応する領域(φ0、3)との交点、および(4)領域(φ0、3)と2段目の踏板に対応する領域(φ0、4)との交点の4つの交点がセンサ特徴点として判定される。したがって、この4つのセンサ特徴点は、図44に示すように、カメラ画像を中央右上から中央左下にきる走査平面φ0上の投影点としてカメラ画像に投影される。
走査平面φ1については、図43に示すように、(1)床面に対応する領域(φ1、0)と1段目の蹴込板に対応する領域(φ1、1)との交点、(2)領域(φ1、1)と1段目の踏板に対応する領域(φ1、2)との交点、(3)領域(φ1、2)と2段目の蹴込板に対応する領域(φ1、3)との交点、および(4)領域(φ1、3)と2段目の踏板に対応する領域(φ1、4)との交点の4つの交点がセンサ特徴点として判定される。したがって、この4つのセンサ特徴点は、図44に示すように、カメラ画像を中央真上から中央真下にきる走査平面φ1上の投影点としてカメラ画像に投影される。
走査平面φ2については、図43に示すように、(1)床面に対応する領域(φ2、0)と1段目の蹴込板に対応する領域(φ2、1)との交点、(2)領域(φ2、1)と1段目の踏板に対応する領域(φ2、2)との交点、(3)領域(φ2、2)と2段目の蹴込板に対応する領域(φ2、3)との交点、および(4)領域(φ2、3)と2段目の踏板に対応する領域(φ2、4)との交点の4つの交点がセンサ特徴点として判定される。したがって、この4つのセンサ特徴点は、図44に示すように、カメラ画像を中央左上から中央右下にきる走査平面φ2上の投影点としてカメラ画像に投影される。
次いで、ステップS330〜S334を経て、カメラ画像において、カメラ画像の線分とセンサ特徴点が対応付けられ、同一のセンサ特徴点が対応付けられた線分がグループ化され、同一グループに属する線分の端点の座標に基づいて直線近似により連続面の境界線が判定される。図44の例では、カメラ画像の線分と各投影点の位置関係から2つの直線が連続面の境界線として判定される。
そして、ステップS337、S339を経て、連続面の境界線として判定された直線に関する情報に基づいて境界データが生成され、生成された境界データがCPU60に出力される。
CPU60では、境界データを入力すると、ステップS402を経て、入力された境界データに基づいて階段の特徴点が検出される。また、入力された境界データが解析され、例えば、傾きが0に近い連続面が水平面とみなされ、脚車輪型ロボット100が歩行可能な面であると判定される。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ212aと、測距センサ212aの走査範囲で測定可能な測定点を含む画像を撮影するカメラ222とを備え、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果に基づいてセンサ特徴点を検出し、カメラ222から画像を取得し、カメラ画像から線分を検出し、検出したカメラ画像の線分およびセンサ特徴点に基づいて連続面の境界を認識する。
これにより、測距センサ212aのほか、これとは異なる方式のカメラ222を用いて物体上の特徴をそれぞれ検出し、それら2つの検出結果に基づいて連続面の境界を認識するので、測距センサ212aによる方式の短所をカメラ222による方式で補うことができ、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、認識精度が低下する可能性を低減することができる。また、第2走査処理の走査回数を増やさなくてすむので、測定時間を短縮することができる。
さらに、本実施の形態では、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された少なくとも2つの測定点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいてセンサ特徴点を検出する。
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
さらに、本実施の形態では、検出した線分の端点の座標に基づいてセンサ特徴点を検出する。
これにより、連続面の境界を比較的正確に認識することができる。
さらに、本実施の形態では、カメラ画像から線分を検出し、カメラ画像において、カメラ画像の線分とセンサ特徴点の位置関係に基づいて連続面の境界を認識する。
これにより、認識精度が低下する可能性をさらに低減することができる。
さらに、本実施の形態では、カメラ画像の各線分ごとに、その線分と、その線分を延長した直線から所定距離内に存在するセンサ特徴点とを対応付け、同一のセンサ特徴点が対応付けられた線分をグループ化し、同一グループに属する線分の端点の座標に基づいて連続面の境界線を判定する。
これにより、コントラスト等の影響により、カメラ画像から、実際は一つの線分として検出されるべきところ複数の線分として検出されても、センサ特徴点との対応関係に基づいて複数の線分を1つの線分としてグループ化し、連続面の境界線を判定するので、認識精度が低下する可能性をさらに低減することができる。
上記第5の実施の形態において、カメラ222は、発明15、22または24の撮像手段に対応し、yrs’軸回転機構は、発明19若しくは20の第1走査手段、または発明20の第1回転手段に対応し、zrs軸回転機構は、発明19若しくは20の第2走査手段、または発明20の第2回転手段に対応している。また、ステップS250は、発明27の撮像ステップに対応し、ステップS252〜S256は、発明15、16若しくは22の第2特徴検出手段、または発明27の第2特徴検出ステップに対応し、ステップS256は、発明22または23の画像線分検出手段に対応している。
また、上記第5の実施の形態において、ステップS306、S310、S320は、発明15、16若しくは22の第1特徴検出手段、または発明27の第1特徴検出ステップに対応し、ステップS302、S340は、発明15、16、19、20若しくは22の測定結果取得手段、または発明27の測定結果取得ステップに対応している。また、ステップS306は、発明16の座標変換手段に対応し、ステップS310は、発明16の線分検出手段に対応し、ステップS334は、発明15、16、22若しくは23の認識手段、または発明27の認識ステップに対応している。
また、上記第5の実施の形態において、yrs’軸は、発明20の第1走査軸に対応し、zrs軸は、発明20の第2走査軸に対応している。
〔第6の実施の形態〕
次に、本発明の第6の実施の形態を図面を参照しながら説明する。図45は、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法の第6の実施の形態を示す図である。
本実施の形態は、上記第5の実施の形態に対して、直交座標系において、測定点間を線分で接続した上でハフ変換を行う点が異なる。なお、以下、上記第5の実施の形態と異なる部分についてのみ説明し、上記第5の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、3次元距離測定装置200で実行される物体認識処理を説明する。
図45は、3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ210において実行されると、図45に示すように、ステップS250〜S306を経て、ステップS308に移行する。
ステップS308では、ステップS306で変換された座標情報に基づいて、走査平面座標系においてx軸方向に隣接する測定点の間を線分で接続し、ステップS310に移行して、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分を検出する。
そして、ステップS320、S324を経て、ステップS326に移行して、すべての走査平面についてステップS302〜S324の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップS328〜S339を経て、一連の処理を終了する。
一方、ステップS326で、すべての走査平面についてステップS302〜S324の処理が終了しないと判定したとき(No)は、ステップS340を経て、ステップS302に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第5の実施の形態とは、ハフ変換により線分を検出する点が異なるので、異なる部分についてのみ説明する。
ステップS308、S310を経て、変換された座標情報に基づいて測定点間が線分で接続され、得られた線上の点の座標情報に基づいてハフ変換により直交座標系における線分が検出される。
直交座標系において各測定点は、図36(a)に示すように、蹴込板および踏板の輪郭に沿った複数の点の集合として表される。図36(a)の例では、1段目の踏板に対応する領域において、いくつかの測定点が連続面から外れた領域に分布しているが、これは、測定面である踏板の光沢等の影響により測定結果にばらつきが生じたものであり、誤差領域A1である。また、領域A2は、他の領域と比べて測定解像度が低くなっている。
この測定結果に対して線分接続を行うと、図36(b)に示すように、各測定点が1つの線で接続される。これにより、測定点が存在しない測定点間は、線上の点で補間されることになる。
この接続結果に対してハフ変換を行うと、図36(c)に示すように、各蹴込板および各踏板の輪郭に沿った線分が検出される。
なお、線分接続を行わず、図36(a)の測定結果に対してハフ変換を行うと、図33(b)に示すように、各踏板の輪郭に沿った線分が検出されるが、各蹴込板に沿った線分は検出することができない。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ212aを備え、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された測定点間を線分で接続し、得られた線上の点の座標に基づいてハフ変換により直交座標系における線分を検出し、検出した線分に基づいて連続面の境界を認識する。
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、ハフ変換により線分を検出するので、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、測定解像度の低下または測定結果のばらつきにより認識精度が低下する可能性を低減することができる。さらに、測定点間を線分で接続して得られた線上の点の座標に基づいて線分を検出するので、測定解像度の低下または測定結果のばらつきが生じても比較的正確な認識結果を得ることができ、認識精度が低下する可能性をさらに低減することができる。
さらに、最小二乗法に比して、検出が困難となるエッジに対してロバストな検出が可能となる。
上記第6の実施の形態において、ステップS252〜S256は、発明17の第2特徴検出手段に対応し、ステップS306〜S310、S320は、発明17の第1特徴検出手段に対応し、ステップS302、S340は、発明17の測定結果取得手段に対応している。また、ステップS306は、発明17の座標変換手段に対応し、ステップS308は、発明17の測定点間補間手段に対応し、ステップS310は、発明17の線分検出手段に対応し、ステップS334は、発明17の認識手段に対応している。
〔第7の実施の形態〕
次に、本発明の第7の実施の形態を図面を参照しながら説明する。図46ないし図49は、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法の第7の実施の形態を示す図である。
本実施の形態は、上記第5の実施の形態に対して、直交座標系における各測定点での傾きを算出し、各傾きの出現頻度を算出し、算出した出現頻度および各測定点の座標に基づいて連続面の境界を認識する点が異なる。なお、以下、上記第5の実施の形態と異なる部分についてのみ説明し、上記第5の実施の形態と重複する部分については同一の符号を付して説明を省略する。
まず、3次元距離測定装置200で実行される物体認識処理を説明する。
図46は、3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。
物体認識処理は、センシングプロセッサ210において実行されると、図46に示すように、ステップS250〜S306を経て、ステップS508に移行する。
ステップS508では、ステップS306で変換された座標情報に基づいて、直交座標系における各測定点での傾きを算出する。
図47は、傾きの算出例を示す図である。なお、同図のx軸、z軸は、走査平面座標系における軸を示し、センサ座標系およびカメラ座標系における軸とは別個のものである。
測定点での傾きは、走査平面座標系において、各測定点ごとに、その測定点の座標と、x軸方向に隣接する所定数の測定点の座標とに基づいて、図47(a)に示すように、最小二乗法により算出することができる。
図47(a)に示すように、最小二乗法により、傾きの算出対象の測定点(図47(a)中の白丸)を含む前後所定数の測定点に対する回帰直線を近似し、回帰直線の傾きを対象の測定点での傾きとする。最小二乗法は、データのばらつきによる影響は少ないが、計算量が比較的多くなる。
また、別の方法として、各測定点に対して、所定数の他の測定点を挟む前後2つの測定点の座標の差分値に基づいて傾きを算出することもできる。
図47(b)に示すように、前後2つの測定点のz座標の差分値である第1差分値(例えば、注目する測定点のz座標をziとすると、zi+2−zi-2)を算出するとともに、前後2つの測定点のx座標の差分値である第2差分値(例えば、注目する測定点のx座標をxiとすると、xi+2−xi-2)を算出し、これら算出結果から、注目する測定点での傾き(第1差分値/第2差分値)を求める。この方法では、データのばらつきによる影響が最小二乗法よりも大きくなるが、計算が、単純な引き算と割り算のみで済むため最小二乗法よりも高速に傾きを算出することができる。
次いで、図46に示すように、ステップS510に移行して、ステップS508で算出した傾きの総数に対する各傾きの出現頻度を算出する。例えば、測定点の総数に対する各傾きの測定点の個数を出現頻度として算出する。
次いで、ステップS512に移行して、ステップS510で算出した各傾きの出現頻度のなかから未処理の傾きの出現頻度を選択し、ステップS514に移行して、選択した出現頻度とあらかじめ設定された閾値とを比較し、選択した出現頻度が閾値以上であるか否かを判定し、閾値以上であると判定したとき(Yes)は、ステップS516に移行する。
ステップS516では、選択した出現頻度に係る傾きおよびその所定範囲の傾きを有する測定点の座標情報に基づいて、それら測定点のうち座標が連続するものを含む領域を連続面であると判定し、連続面であると判定した領域において、傾きが急激に変化する測定点を連続面の境界として判定する。
次いで、ステップS518に移行して、連続面の境界として判定した測定点の座標情報をセンサ座標系に変換し、変換された座標情報をメモリに記憶し、ステップS520に移行する。
ステップS520では、すべての傾きについてステップS514〜S518、S534の処理が終了したか否かを判定し、終了したと判定したとき(Yes)は、ステップS326に移行する。
ステップS326では、すべての走査平面についてステップS302〜S520の処理が終了したか否かを判定し、処理が終了したと判定したとき(Yes)は、ステップS328〜S339を経て、一連の処理を終了する。
一方、ステップS326で、すべての走査平面についてステップS302〜S520の処理が終了しないと判定したとき(No)は、ステップS340を経て、ステップS302に移行する。
一方、ステップS520で、すべての傾きについてステップS514〜S518、S534の処理が終了しないと判定したとき(No)は、ステップS512に移行する。
一方、ステップS514で、選択した出現頻度が閾値未満であると判定したとき(No)は、ステップS534に移行して、選択した出現頻度に係る傾きを有する測定点の座標情報を測定ノイズとして除外し、ステップS520に移行する。
次に、本実施の形態の動作を説明する。
脚車輪型ロボット100の移動経路上に階段が存在し、これを乗り越える場合を説明する。上記第5の実施の形態とは、傾きの出現頻度に基づいて連続面の境界を判定する点が異なるので、異なる部分についてのみ説明する。
まず、ステップS508を経て、変換された座標情報に基づいて各測定点での傾きが算出される。
図48は、最小二乗法により算出したx軸方向およびz軸方向の傾きの一例を示す図である。
ここでは、最小二乗法により各測定点での傾きを算出する。ここで、最小二乗法を用いた場合に、図48(a)および(b)に示すように、最小二乗法を適用する複数の測定点に対して、x軸方向の傾きと、z軸方向の傾きとが異なる場合がある。そこで、下式(19)および(20)に示すように、x軸方向およびz軸方向の傾きを求める2つの直線の方程式を用いて最小二乗法計算を行う。

z=ax・x+bx …(19)
x=az・z+bz …(20)

そして、上式(19)におけるaxおよびbxを下式(21)により算出し、上式(20)におけるazおよびbzを下式(22)により算出する。
Figure 2009006984
xおよびbx、並びにazおよびbzを算出すると、これらの算出結果を代入した、上式(19)および(20)の直線と、最小二乗計算に用いた各測定点との距離を残差hxおよびhzとして算出するとともに、前記各測定点に対する残差hxの二乗和と、残差hzの二乗和とを算出する(下式(23))。
Figure 2009006984
残差hxの二乗和および残差hzの二乗和が算出されると、両者を比較して値の小さい方の直線を、正しい直線として採用し、この直線の傾きに基づいて、算出対象の測定点での傾きを求める。具体的に、残差hxの二乗和の方が小さければ、「a=ax、b=bx」とし、残差hzの二乗和の方が小さければ、「a=1/az、b=1/bz」とする。
次いで、ステップS510〜S514を経て、各傾きの出現頻度が算出され、未判定の傾きの出現頻度が選択され、選択された出現頻度が閾値以上であるか否かが判定される。このとき、閾値以上であれば、ステップS516を経て、選択された出現頻度に係る傾きおよびその所定範囲の傾きを有する測定点の座標情報に基づいて連続面の境界が判定される。
図49は、ある走査平面に対する傾きの出現頻度の一例を示す図である。
例えば、図49に示すような出現頻度が得られたとする。図49の例では、傾きが0近傍の出現頻度が比較的高くなっており、これらの傾きを有する測定点の座標が連続していれば、その連続する測定点を含む領域が連続面であると判定される。脚車輪型ロボット100の移動経路上には、段差が一定でかつ踏板が連続面となっている階段が存在しているため、踏板に対応する水平面が、傾き0および略0の測定点の連続する座標として現われる。この場合、そこに水平面があると推定することができる。
そして、連続面であると判定された領域において、傾きが急激に変化する測定点が連続面の境界として判定される。図43の例では、ある走査平面について、(1)床面に対応する領域と1段目の蹴込板に対応する領域との交点、(2)領域と1段目の踏板に対応する領域との交点、(3)領域と2段目の蹴込板に対応する領域との交点、(4)領域と2段目の踏板に対応する領域との交点の4つの交点が、連続面の境界として判定される。
次いで、ステップS518を経て、連続面の境界として判定された測定点の座標情報がセンサ座標系に変換され、変換された座標情報がメモリに記憶される。
一方、閾値未満であれば、ステップS534を経て、測定ノイズとして測定点の座標情報が除外される。
ステップS514〜S518、S534の処理は、すべての傾きについて行われる。
このようにして、本実施の形態では、物体上の測定点までの距離を測定する測距センサ212aを備え、測距センサ212aを走査し、その走査範囲で測定可能な測定点について測距センサ212aの測定結果を取得し、取得した測定結果を直交座標系の座標に変換し、変換された各測定点ごとに、その測定点の座標およびその周辺の測定点の座標に基づいて直交座標系におけるその測定点での傾きを算出し、算出した傾きの総数に対する各傾きの出現頻度を算出し、算出した出現頻度および変換された各測定点の座標に基づいて連続面の境界を認識する。
これにより、連続面の境界として物体の少なくとも平面的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。また、測定点での傾きの出現頻度および各測定点の座標に基づいて連続面の境界を認識するので、測距センサ212aを用いた2次元距離測定装置212により物体認識を行う場合に、認識精度が低下する可能性を低減することができる。
上記第7の実施の形態において、ステップS252〜S256は、発明18の第2特徴検出手段に対応し、ステップS306、S508〜S516は、発明18の第1特徴検出手段に対応し、ステップS302、S340は、発明18の測定結果取得手段に対応している。また、ステップS306は、発明18の座標変換手段に対応し、ステップS508は、発明18の傾き算出手段に対応し、ステップS510は、発明18の出現頻度算出手段に対応し、ステップS334は、発明18の認識手段に対応している。
なお、上記第3および第4の実施の形態においては、物体上の連続面または連続面の境界を認識するように構成したが、これに限らず、物体上の断続面その他の面またはその境界を認識するように構成することもできる。
また、上記第4および第6の実施の形態においては、隣接する測定点の間を線分で接続するように構成したが、これに限らず、直線、多次曲線その他の曲線で測定点間を接続し、または直線、線分、多次曲線その他の曲線で測定点間を近似するように構成することもできる。この場合、必ずしも、測定点が線上に位置しなくてもよいし、隣接する測定点同士を対象としなくてもよい。
また、上記第4および第6の実施の形態においては、線分接続により得られた線上の点の座標に基づいてハフ変換により線分を検出するように構成したが、これに限らず、得られた線から所定距離内に存在する点の座標に基づいてハフ変換により線分を検出するように構成することもできる。
また、上記第5ないし第7の実施の形態において、3次元距離測定装置200は、測距センサ212aをyrs’軸回りに回転させ、2次元距離測定装置212をzrs軸回りに回転させる構成としたが、これに限らず、複数の測距センサ212aと、測距センサ212aの測定方向に対して直交する走査軸の回りに測距センサ212aをそれぞれ回転させる複数の回転機構とを備え、各測距センサ212aをzrs軸回りに配置する構成とすることもできる。
これにより、上記第5ないし第7の実施の形態と同様に、連続面の境界として物体の立体的な形状を把握することができるので、脚型ロボットや脚車輪型ロボット100のように複雑な姿勢制御を必要とするロボットの姿勢制御に好適な認識結果を得ることができる。
また、上記第5ないし第7の実施の形態においては、カメラ画像からハフ変換により線分を検出するように構成したが、これに限らず、次のような検出方法により線分を検出するように構成することもできる。
第1の検出方法としては、エッジ抽出処理のパラメータを変えてエッジ抽出処理を複数回実行し、エッジ抽出された各カメラ画像からハフ変換により線分を検出する。そして、検出したすべての線分に基づいて連続面の境界を認識する。これにより、認識精度が低下する可能性をさらに低減することができる。
第2の検出方法としては、シャッター速度や絞り等のカメラ222の撮影条件を変えて複数の画像をカメラ222から取得し、それらカメラ画像に対して歪み補正処理およびエッジ抽出処理をそれぞれ実行し、エッジ抽出された各カメラ画像からハフ変換により線分を検出する。そして、検出したすべての線分に基づいて連続面の境界を認識する。これにより、認識精度が低下する可能性をさらに低減することができる。
また、上記第5ないし第7の実施の形態においては、物体上の連続面の境界を認識するように構成したが、これに限らず、物体上の連続面、断続面その他の面またはその境界を認識するように構成することもできる。
また、上記第5ないし第7の実施の形態においては、連続面の境界線として判定した直線に関する情報に基づいて境界データを生成するように構成したが、これに限らず、例えば、連続面の境界線として判定した直線に関する情報およびセンサ特徴点の座標情報に基づいて面データを生成するように構成することもできる。
連続面の境界として判定したセンサ特徴点を結ぶ線分は、連続面と走査平面が交わる交線であるので、面データの生成は、例えば、ある走査平面においてセンサ特徴点を結ぶ線分と、z軸回りに隣接する走査平面においてセンサ特徴点を結ぶ線分との傾きおよび座標が所定範囲にあるものを連続面と判定し、それら線分および連続面の境界線として判定した直線に対応する座標情報を対応付けたり、公知の補間法を用いてつなぎ合わせたりすることにより行う。例えば、傾きが0に近い連続面は、水平面とみなすことができるので、そこが歩行可能な面であると判定することができる。
また、上記第5ないし第7の実施の形態においては、座標変換によりセンサ特徴点をカメラ画像に投影するように構成したが、これに限らず、カメラ画像の線分を走査平面座標系の平面に投影してもよいし、センサ特徴点およびカメラ画像の線分を他の座標系の平面または空間に投影してもよい。すなわち、カメラ画像の線分とセンサ特徴点の位置関係を判定する座標系は任意とすることができる。
また、上記第5ないし第7の実施の形態においては、カメラ画像から線分を検出し、検出した線分に基づいて連続面の境界を認識するように構成したが、これに限らず、物体上の特徴を示す点、直線、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴をカメラ画像から検出し、検出した特徴に基づいて連続面の境界を認識するように構成することもできる。
また、上記第5ないし第7の実施の形態においては、測距センサ212aの測定結果に基づいてセンサ特徴点を検出し、検出したセンサ特徴点に基づいて連続面の境界を認識するように構成したが、これに限らず、物体上の特徴を示す直線、線分、多次曲線、円、楕円その他の曲線、平面、曲面その他の面、立方体、球体その他の立体的特徴を検出し、検出した特徴に基づいて連続面の境界を認識するように構成することもできる。
また、上記第5ないし第7の実施の形態においては、センサ座標系におけるxrs−yrs平面と、カメラ座標系におけるxca−yca平面とが平行となるようにカメラ222を配置したが、これに限らず、測距センサ212aの走査範囲で測定可能な測定点を含む画像を撮影できれば、測距センサ212aに対して任意の位置および向きで配置することができる。
また、上記第3ないし第7の実施の形態においては、エンコーダ218を駆動回転軸に設けて構成としたが、これに限らず、従動回転軸に設けて構成とすることもできる。
これにより、伝達誤差の影響を受けずに第2走査処理における走査角度を高精度に検出することができる。
また、上記第3ないし第7の実施の形態においては、プーリ220a、220bおよびベルト221を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成としたが、これに限らず、複数の歯車を介して、駆動回転軸の回転駆動力を従動回転軸へと伝達するように構成とすることもできる。
また、上記第3ないし第7の実施の形態においては、第1走査処理における距離情報の取得を離散的(第2走査処理で回転させてから第1走査処理で距離情報を取得)に行う構成としたが、これに限らず、走査角度と測定距離との対応付けを行うことで連続的(第2走査処理で回転させつつ、第1走査処理で距離情報を取得)に行う構成とすることもできる。
また、上記第3ないし第7の実施の形態においては、CPU60からの指令信号に基づいて、走査角度範囲および走査単位角度を設定するように構成としたが、これに限らず、3次元距離測定装置200にあらかじめ設定しておく構成とすることもできる。
また、上記第3ないし第7の実施の形態において、3次元距離測定装置200は、測距センサ212aをyrs’軸回りに回転させ、2次元距離測定装置212をzrs軸回りに回転させる構成としたが、これに限らず、測距センサ212aをzrs軸回りに回転させ、2次元距離測定装置212をyrs’軸回りに回転させる構成とすることもできる。また、yrs’軸およびzrs軸回りに限らず、測距センサ212aの測定方向に対して互いに直交する2つの軸であれば、どの方向の軸回りでもよい。さらに、このような回転機構に限らず、測距センサ212aの測定方向とは異なる第1走査方向に測距センサ212aを移動させ、測距センサ212aの測定方向および第1走査方向とは異なる第2走査方向に測距センサ212aを移動させるように移動機構として構成することもできる。この場合、移動経路の形状としては、直線のほか円弧その他の曲線を採用することができる。回転機構と移動機構の組み合わせることもできる。
このような構成の変更は、複数の測距センサ212aおよび回転機構を備える上記構成についても同様に適用することができる。
また、上記第5ないし第7の実施の形態においては、図50(a)に示すように、2次元距離測定装置212自身を回転させているが、これに限らず、光学式の測距センサを有する2次元距離測定装置であれば、図50(b)に示すように、測定方向の光軸上に挿入したミラーを回転させてもよい。
図50は、測距センサの測定方向を変更する場合の構成を示す図である。
また、上記第3ないし第7の実施の形態は、独立の実施の形態として説明したが、上記第1または第2の実施の形態に対して上記第3ないし第7の実施の形態を適用することもできる。
また、上記第3ないし第7の実施の形態においては、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法を、階段を乗り越える場合について適用したが、これに限らず、階段以外の段差を乗り越える場合についても同様に適用することができる。
また、上記第3ないし第7の実施の形態においては、本発明に係る脚車輪型ロボット、物体認識装置および物体認識方法を脚車輪型ロボット100に適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。例えば、直動関節で脚構造を実現する脚車輪型ロボットや他の構成のロボット、車両その他の装置に適用することができる。また、認識情報の伝達手段と組み合わせることにより視覚障害者が外界を認識するための手段としての装置、認識方法への展開も考えられる。
脚車輪型ロボット100の正面図である。 脚車輪型ロボット100の側面図である。 障害物センサ34、36の構成を示す図である。 脚車輪型ロボット100の移動制御システムを示すブロック図である。 脚車輪型ロボット100の走行状態を示す図である。 昇降制御処理を示すフローチャートである。 光切断法の原理を説明するための図である。 階段にレーザ光を照射した状態およびカメラ32の撮像素子の画像を示す図である。 各駆動輪20がヨー軸上接地しないで旋回する場合の動作を示す図である。 各駆動輪20がヨー軸上接地して旋回する場合の動作を示す図である。 車高が制限される天井が低いエリアでの動作を示す図である。 (a)〜(c)は、無変向走行制御時の脚車輪型ロボット100の走行状態例を示す図である。 (a)及び(b)は、基体10の座標(0,0)及び座標(xc,yc)を回転中心とした場合の超信地旋回制御時の脚車輪型ロボット100の走行状態を示す図である。 (a)及び(b)は、脚車輪型ロボット100の走行経路の一例を示す図である。 ロボットの重心位置の一例を示す図である。 脚車輪型ロボット100の正面図である。 脚車輪型ロボット100の側面図である。 3次元距離測定装置200の正面図(yrs−zrs平面)である。 3次元距離測定装置200の側面図(xrs−zrs平面)である。 3次元距離測定装置200の上面図(yrs−xrs平面)である。 測距センサの走査範囲を示す図である。 脚車輪型ロボット100の移動制御システムを示すブロック図である。 2次元距離測定装置212の制御構造を示すブロック図である。 3次元距離測定装置200の制御構造を示すブロック図である。 2次元距離測定装置212の距離測定の原理を説明するための図である。 第1走査処理および第2走査処理により走査を行った場合を示す図である。 3次元距離測定装置200の距離の計測例を示す図である。 3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。 ハフ変換の原理を説明するための図である。 昇降制御処理を示すフローチャートである。 第1走査処理による測定結果を示すグラフである。 図31の各測定点の回転座標系の距離情報を直交座標系の座標情報に変換した結果を示すグラフである。 直交座標系における測定点およびハフ変換の結果を示すグラフである。 連続面の判定結果を示す図である。 3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。 直交座標系における測定点、線分接続の結果およびハフ変換の結果を示すグラフである。 カメラ222および3次元距離測定装置200を用いた物体認識の原理を説明するための図である。 3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。 センサ座標系、カメラ座標系およびカメラ222の撮像素子面の座標系を示す図である。 カメラ画像の線分およびセンサ特徴点の対応付け、グループ化および境界線の判定を行う場合を説明するための図である。 昇降制御処理を示すフローチャートである。 カメラ画像の処理結果を示す図である。 連続面の判定結果を示す図である。 センサ特徴点のカメラ画像への投影結果を示す図である。 3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。 3次元距離測定装置200で実行される物体認識処理を示すフローチャートである。 傾きの算出例を示す図である。 最小二乗法により算出したx軸方向およびz軸方向の傾きの一例を示す図である。 ある走査平面に対する傾きの出現頻度の一例を示す図である。 測距センサの測定方向を変更する場合の構成を示す図である。
符号の説明
100 脚車輪型ロボット
10 基体
12 脚部
14〜18 回転関節
20 駆動輪
22、24 脚先センサ
26 水平レーザ
28、30 垂直レーザ
34、36 障害物センサ
40、50 モータ
42、52 エンコーダ
44、54 ドライバ
70 3軸姿勢センサ
200 3次元距離測定装置
204 下側支持板
206 上側支持板
208 カメラ支持板
210 センシングプロセッサ
212 2次元距離測定装置
212a 測距センサ
212c、216 モータ
212d、218 エンコーダ
212b、214 ドライバ
220a、220b プーリ
221 ベルト
32、222 カメラ

Claims (8)

  1. 基体と、前記基体に対して少なくともヨー軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記脚部を駆動するための動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、
    前記制御手段は、障害物回避時における前記脚部の駆動制御および走行時における前記車輪の操舵制御を、前記アクチュエータを共通に用いて行うことを特徴とする脚車輪型ロボット。
  2. 基体と、前記基体に対してヨー軸回りの自由度およびピッチ軸またはロール軸回りの自由度を有して連結された脚部と、前記脚部に回転可能に設けられた車輪と、前記ヨー軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第1アクチュエータと、前記ピッチ軸またはロール軸回りの自由度の範囲で前記脚部を駆動するための動力を付与する第2アクチュエータと、前記第1アクチュエータおよび前記第2アクチュエータを制御する制御手段とを備え、前記脚部の駆動および前記車輪の回転により移動する脚車輪型ロボットであって、
    前記制御手段は、障害物回避時における前記脚部の駆動制御を、前記第1アクチュエータおよび前記第2アクチュエータを用いて行うとともに、走行時における前記車輪の操舵制御を、前記第1アクチュエータを用いて行うことを特徴とする脚車輪型ロボット。
  3. 請求項2において、
    複数の前記脚部と、前記各脚部に回転可能に設けられた複数の前記車輪とを備え、
    前記制御手段は、旋回時に、前記各車輪の接地点から構成される多角形と前記基体の重心の投影点との位置関係が一定となるように、前記第1アクチュエータおよび前記第2アクチュエータを制御することを特徴とする脚車輪型ロボット。
  4. 請求項3において、
    前記制御手段は、旋回時に、前記各車輪の接地点から構成される多角形の中心と前記基体の重心の投影点とが一致するように、前記第1アクチュエータおよび前記第2アクチュエータを制御することを特徴とする脚車輪型ロボット。
  5. 請求項3および4のいずれか1項において、
    前記制御手段は、旋回時に、前記車輪が、当該車輪が設けられた脚部のうち前記ヨー軸回りの自由度を有する部分の当該軸上に位置するように、前記第1アクチュエータおよび前記第2アクチュエータを制御することを特徴とする脚車輪型ロボット。
  6. 請求項2ないし5のいずれか1項において、
    前記制御手段は、前記基体を上下方向に変位させるときは、前記各車輪の接地点から構成される多角形と前記基体の重心の投影点との位置関係が一定となるように、前記第1アクチュエータおよび前記第2アクチュエータを制御することを特徴とする脚車輪型ロボット。
  7. 請求項2ないし6のいずれか1項において、
    前記制御手段は、前記基体の向きを一定方向に保ちながら、自脚車輪型ロボットの進行方向と、前記各車輪の進行方向とが一致するように、前記第1アクチュエータを制御することを特徴とする脚車輪型ロボット。
  8. 請求項2ないし7のいずれか1項において、
    前記基体に対して、複数の、前記脚部、前記車輪、前記第1アクチュエータ及び前記第2アクチュエータから構成される脚車輪機構部を備え、
    前記制御手段は、旋回時に、前記基体を所定の回転中心位置でヨー軸周りに自転運動させたときの前記各車輪の操舵時の回転中心の描く円弧軌道と前記操舵時の回転中心との接点位置における該回転中心の運動方向と、前記各車輪の進行方向とが一致するように、前記第1アクチュエータを制御することを特徴とする脚車輪型ロボット。
JP2007261525A 2006-10-19 2007-10-05 脚車輪型ロボット Pending JP2009006984A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007261525A JP2009006984A (ja) 2006-10-19 2007-10-05 脚車輪型ロボット

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006285276 2006-10-19
JP2007145567 2007-05-31
JP2007261525A JP2009006984A (ja) 2006-10-19 2007-10-05 脚車輪型ロボット

Publications (1)

Publication Number Publication Date
JP2009006984A true JP2009006984A (ja) 2009-01-15

Family

ID=40322496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007261525A Pending JP2009006984A (ja) 2006-10-19 2007-10-05 脚車輪型ロボット

Country Status (1)

Country Link
JP (1) JP2009006984A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106514606A (zh) * 2016-12-18 2017-03-22 徐州乐泰机电科技有限公司 一种轮腿式双臂机器人
CN108502049A (zh) * 2018-06-26 2018-09-07 东北大学 一种基于轮式足式复合底盘的机器人
CN112623063A (zh) * 2021-01-15 2021-04-09 上海微电机研究所(中国电子科技集团公司第二十一研究所) 一种轻量化微小型四足机器人
WO2022042775A1 (zh) * 2020-08-25 2022-03-03 杭州宇树科技有限公司 一种具有超广视角的四足机器人
WO2023013113A1 (ja) * 2021-08-02 2023-02-09 ソニーグループ株式会社 移動体、及び移動体の制御方法
CN116118897A (zh) * 2021-11-15 2023-05-16 腾讯科技(深圳)有限公司 机械腿模组和机器人
CN116985930A (zh) * 2022-07-25 2023-11-03 腾讯科技(深圳)有限公司 机器人的控制方法、装置、机器人、存储介质及程序产品

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106514606A (zh) * 2016-12-18 2017-03-22 徐州乐泰机电科技有限公司 一种轮腿式双臂机器人
CN108502049A (zh) * 2018-06-26 2018-09-07 东北大学 一种基于轮式足式复合底盘的机器人
CN108502049B (zh) * 2018-06-26 2023-11-14 东北大学 一种基于轮式足式复合底盘的机器人
WO2022042775A1 (zh) * 2020-08-25 2022-03-03 杭州宇树科技有限公司 一种具有超广视角的四足机器人
GB2611217A (en) * 2020-08-25 2023-03-29 Hangzhou Yushu Tech Co Ltd Four-legged robot having ultra-wide viewing angle
CN112623063A (zh) * 2021-01-15 2021-04-09 上海微电机研究所(中国电子科技集团公司第二十一研究所) 一种轻量化微小型四足机器人
WO2023013113A1 (ja) * 2021-08-02 2023-02-09 ソニーグループ株式会社 移動体、及び移動体の制御方法
CN116118897A (zh) * 2021-11-15 2023-05-16 腾讯科技(深圳)有限公司 机械腿模组和机器人
CN116985930A (zh) * 2022-07-25 2023-11-03 腾讯科技(深圳)有限公司 机器人的控制方法、装置、机器人、存储介质及程序产品

Similar Documents

Publication Publication Date Title
JP2009096335A (ja) 脚型ロボット
JP5510081B2 (ja) 障害物回避支援装置、障害物回避支援方法及び移動体
JP2009008648A (ja) 3次元距離測定装置及び脚車輪型ロボット
KR100901311B1 (ko) 자율이동 플랫폼
JP2009050936A (ja) 干渉判定装置および脚車輪型ロボット
JP4241651B2 (ja) 移動装置
JP2009006984A (ja) 脚車輪型ロボット
JP5105596B2 (ja) 自律走行移動体の走行経路決定用地図作成装置及び走行経路決定用地図作成方法
JP5429986B2 (ja) 移動ロボットの遠方環境認識装置及び方法
CN113610910B (zh) 一种移动机器人避障方法
JP2009006466A (ja) 脚車輪型ロボット
KR102056147B1 (ko) 자율주행차량을 위한 거리 데이터와 3차원 스캔 데이터의 정합 방법 및 그 장치
JP2010288112A (ja) 自己位置推定装置及び自己位置推定方法
JP2010208358A (ja) 駐車支援装置
CN106569225A (zh) 一种基于测距传感器的无人车实时避障方法
JP2011209845A (ja) 自律移動体、自己位置推定方法、地図情報作成システム
JP2009136987A (ja) 移動ロボット、及び床面形状データの補正方法
JP2005182826A (ja) 多面体認識装置
JP5618124B2 (ja) 経路探索装置及び移動システム
Mulky et al. Autonomous scooter navigation for people with mobility challenges
JP2008260117A (ja) 脚車輪型ロボット及び脚車輪装置
WO2020129120A1 (ja) 情報処理装置および移動ロボット
Oßwald et al. Autonomous climbing of spiral staircases with humanoids
JP2009042147A (ja) 物体認識装置および物体認識方法
JP2009006982A (ja) 脚車輪型ロボット