(57)【要約】【課題】移動体との衝突を回避することができるようにした２足歩行ロボットの制御装置を提供する。【解決手段】ＣＣＤカメラ５０Ｒ（Ｌ）から入力された画像を解析し（７０Ａ）、それに基づいて移動体を検出して移動体情報を算出し（７０Ｂ）、算出された移動体情報に基づいて２足歩行ロボットの歩行を停止すべきと判定されたとき（７０ｋ）、ロボットが停止するように脚部を駆動する電動モータＭの制御値を算出する（７０ｌ）と共に、ＣＣＤカメラ５０Ｒ（Ｌ）で画像が撮像されてからロボットの歩行が停止されるまでにロボットが移動する停止時移動距離が、所定の距離以内となるように、入力画像の解析処理と、移動体情報の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の制御値の算出処理とを行う。【選択図】  図５
2004299001.tif 000002
【特許請求の範囲】
【請求項１】
上体に連結された２本の脚部を備えると共に、撮像手段で撮像して得た画像に基づいて移動体を検出し、前記検出した移動体の位置に応じて前記脚部の駆動を制御する２足歩行ロボットの制御装置において、
ａ．前記撮像手段から入力された画像を解析する入力画像解析手段、
ｂ．前記解析された撮像画像に基づいて移動体を検出し、前記ロボットと移動体の相対距離および相対角度を算出する移動体検出手段、
ｃ．前記算出された相対距離および相対角度に基づいて前記ロボットの歩行を停止すべきか否か判定する歩行停止判定手段、
および
ｄ．前記歩行停止判定手段によって前記ロボットの歩行を停止すべきと判定されたとき、前記ロボットが停止するように前記脚部を駆動する脚部駆動手段、を備えると共に、前記撮像手段で画像が撮像されてから前記ロボットの歩行が停止されるまでに前記ロボットが移動する停止時移動距離が、所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行うことを特徴とする２足歩行ロボットの制御装置。
【請求項２】
前記ロボットと移動体の相対速度が所定の値であるときの前記停止時移動距離が、前記所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行うことを特徴とする請求項１項記載の２足歩行ロボットの制御装置。
【請求項３】
前記ロボットと移動体の相対速度が大きいときの前記停止時移動距離が、前記所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行うことを特徴とする請求項１項記載の２足歩行ロボットの制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は２足歩行ロボットの制御装置に関し、より詳しくは、撮像した画像に基づいて物体や人などの移動体を検出し、検出した移動体の位置に応じて脚部の駆動を制御するようにした２足歩行ロボットの制御装置に関する。
【０００２】
【従来の技術】
撮像した画像に基づいて脚部の駆動を制御するようにした２足歩行ロボットの制御装置として、従来、例えば特許文献１に記載される技術が知られている。かかる技術にあっては、歩行環境の地図を障害物情報を含めて予めＲＯＭに記述しておくと共に、ＣＣＤカメラで撮像して得た画像に基づいて移動環境内の自己（ロボット）の位置を認識し、ロボットが障害物に衝突しないように脚部の駆動を制御している。
【０００３】
【特許文献１】
特許第３１７６７０１号公報（段落００１３から００２７など）
【０００４】
【発明が解決しようとする課題】
上記した従来技術にあっては、予め記述された障害物（静止物）との衝突は回避することができるが、予め記述された障害物以外、例えば人など、歩行空間内を自由に移動する移動体に対しては、衝突を回避しきれないという不都合があった。
【０００５】
従って、この発明の目的は上記した不都合を解消し、移動体との衝突を回避することができるようにした２足歩行ロボットの制御装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記した課題を解決するために、請求項１項においては、上体に連結された２本の脚部を備えると共に、撮像手段で撮像して得た画像に基づいて移動体を検出し、前記検出した移動体の位置に応じて前記脚部の駆動を制御する２足歩行ロボットの制御装置において、前記撮像手段から入力された画像を解析する入力画像解析手段、前記解析された撮像画像に基づいて移動体を検出し、前記ロボットと移動体の相対距離および相対角度を算出する移動体検出手段、前記算出された相対距離および相対角度に基づいて前記ロボットの歩行を停止すべきか否か判定する歩行停止判定手段、および前記歩行停止判定手段によって前記ロボットの歩行を停止すべきと判定されたとき、前記ロボットが停止するように前記脚部を駆動する脚部駆動手段、を備えると共に、前記撮像手段で画像が撮像されてから前記ロボットの歩行が停止されるまでに前記ロボットが移動する停止時移動距離が、所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行う如く構成した。
【０００７】
このように、請求項１項においては、撮像手段から入力された画像を解析し、解析された撮像画像に基づいて移動体を検出してロボットと移動体の相対距離および相対角度を算出し、算出された相対距離および相対角度に基づいてロボットの歩行を停止すべきと判定されたとき、前記ロボットが停止するように脚部を駆動すると共に、前記撮像手段で画像が撮像されてから前記ロボットの歩行が停止されるまでに前記ロボットが移動する停止時移動距離が、所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体の相対距離および相対角度の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、歩行中のロボットが移動体に接近したとき、ロボットを所定の距離内で停止させることができるため、ロボットと移動体の衝突を回避することができる。
【０００８】
尚、この明細書において「移動体」とは、人などの生物であっても良いし、非生物であっても良い。また、物体の一部（人でいえば腕や足など）であるか全部（人でいえば全身）であるかも問わない。
【０００９】
また、請求項２項にあっては、前記ロボットと移動体の相対速度が所定の値であるときの前記停止時移動距離が、前記所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行う如く構成した。
【００１０】
このように、請求項２項にあっては、ロボットと移動体の相対速度が所定の値であるときの前記停止時移動距離が所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体までの相対距離および相対角度の算出処理を含む移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、請求１項で述べた効果をより効果的に得ることができる。
【００１１】
また、請求項３項にあっては、前記ロボットと移動体の相対速度が大きいときの前記停止時移動距離が、前記所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行う如く構成した。
【００１２】
このように、請求項３項にあっては、ロボットと移動体の相対速度が大きいときの前記停止時歩行距離が所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体までの相対距離および相対角度の算出処理を含む移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、請求１項で述べた効果をより効果的に得ることができる。
【００１３】
【発明の実施の形態】
以下、添付図面を参照してこの発明の一つの実施の形態に係る２足歩行ロボットの制御装置を説明する。
【００１４】
図１はその２足歩行ロボット（以下「ロボット」という）１の正面図、図２はその側面図である。
【００１５】
図１に示すように、ロボット１は、２本の脚部２を備えると共に、その上方には上体（基体）３が設けられる。上体３の上部には頭部４が設けられると共に、上体３の両側には２本の腕部５が連結される。また、図２に示すように、上体３の背部には格納部６が設けられ、その内部にはＥＣＵ（電子制御ユニット。後述）およびロボット１の関節を駆動する電動モータのバッテリ電源（図示せず）などが収容される。尚、図１および図２に示すロボット１は、内部構造を保護するためのカバーが取着されたものを示す。
【００１６】
図３を参照して上記したロボット１の内部構造を関節を中心に説明する。
【００１７】
図示の如く、ロボット１は、左右それぞれの脚部２に６個の関節を備える。計１２個の関節は、腰部の脚回旋用の鉛直軸（Ｚ軸あるいは重力軸）まわりの関節１０Ｒ，１０Ｌ（右側をＲ、左側をＬとする。以下同じ）、股（腰部）のロール方向（Ｘ軸まわり）の関節１２Ｒ，１２Ｌ、股（腰部）のピッチ方向（Ｙ軸まわり）の関節１４Ｒ，１４Ｌ、膝部のピッチ方向（Ｙ軸まわり）の関節１６Ｒ，１６Ｌ、足首のピッチ方向（Ｙ軸まわり）の関節１８Ｒ，１８Ｌ、および同ロール方向（Ｘ軸まわり）の関節２０Ｒ，２０Ｌから構成される。脚部２Ｒ（Ｌ）の下部には足平（足部）２２Ｒ，２２Ｌが取着される。
【００１８】
このように、脚部２は、股関節（腰関節）１０Ｒ（Ｌ），１２Ｒ（Ｌ），１４Ｒ（Ｌ）、膝関節１６Ｒ（Ｌ）、および足関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）から構成される。股関節と膝関節は大腿リンク２４Ｒ（Ｌ）で、膝関節と足関節は下腿リンク２６Ｒ（Ｌ）で連結される。
【００１９】
脚部２は股関節を介して上体３に連結されるが、図３では上体３を上体リンク２８として簡略的に示す。前記したように、上体３には腕部５が連結される。腕部５は、肩部のピッチ方向の関節３０Ｒ，３０Ｌ、同ロール方向の関節３２Ｒ，３２Ｌ、腕の回旋用の鉛直軸まわりの関節３４Ｒ，３４Ｌ、肘部のピッチ軸まわりの関節３６Ｒ，３６Ｌ、手首回旋用の鉛直軸まわりの関節３８Ｒ，３８Ｌから構成される。手首の先にはハンド（エンドエフェクタ）４０Ｒ，４０Ｌが取着される。
【００２０】
このように、腕部５は、肩関節３０Ｒ（Ｌ），３２Ｒ（Ｌ），３４Ｒ（Ｌ）、肘関節３６Ｒ（Ｌ）、手首関節３８Ｒ（Ｌ）から構成される。また肩関節と肘関節とは上腕部リンク４２Ｒ（Ｌ）で、肘関節とハンドとは下腕部リンク４４Ｒ（Ｌ）で連結される。
【００２１】
頭部４は、鉛直軸まわりの首関節４６およびそれと直交する軸で頭部４を回転させる頭部揺動機構４８から構成される。頭部４の内部には、２個のＣＣＤカメラ（撮像手段）５０Ｒ（Ｌ）が、左右に並列してステレオ視（複眼視）自在に取りつけられる。ＣＣＤカメラ５０Ｒ（Ｌ）がそれぞれ撮像して得た画像（カラー画像）はＥＣＵに送られ、そこで後述する移動体の検出処理が行われる。尚、ＣＣＤカメラ５０Ｒ（Ｌ）はそれぞれ、３２０×２４０の画素を備えると共に、水平６０度、垂直４０度の視野を有する。
【００２２】
ロボット１は、上記の如く、左右の脚部２Ｒ（Ｌ）について合計１２の自由度を与えられ、歩行中にこれらの１２個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に３次元空間を歩行させることができる。また、腕部５も左右の腕についてそれぞれ５つの自由度を与えられ、これらの関節を適宜な角度で駆動することで所望の作業を行わせることができる。尚、ロボット１の身長は約１．２ｍであり、歩行時の一歩の歩幅は０．３３５ｍである。また、ロボット１の最大歩行速度は、３．６ｋｍ／ｈである。
【００２３】
また、足関節の下方の足部２２Ｒ（Ｌ）には公知の６軸力センサ５４Ｒ（Ｌ）が取着され、ロボットに作用する外力の内、接地面からロボットに作用する床反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。さらに、上体３には傾斜センサ５６が設置され、鉛直軸に対する傾きとその角速度を示す信号を出力する。
【００２４】
前述したとおり、格納部６の内部にはマイクロコンピュータからなるＥＣＵ６０などが収容され、６軸力センサ５４Ｒ（Ｌ）などのセンサ出力およびＣＣＤカメラ５０Ｒ（Ｌ）の画像出力は、ＥＣＵ６０に送られる。
【００２５】
図４は、ＥＣＵ６０の構成を詳細に示すブロック部である。図示の如く、６軸力センサ５４Ｒ（Ｌ）やＣＣＤカメラ５０Ｒ（Ｌ）などの出力は、ＥＣＵ６０の内部においてＡ／Ｄ変換器６２でデジタル値に変換された後、バス６４を介してＲＡＭ６６に送られ、記憶される。ＲＡＭ６６には、さらに、上記した各関節を駆動する電動モータＭに隣接して配置されるエンコーダＥの出力が、カウンタ６８を介して入力される。
【００２６】
また、ＥＣＵ６０には、ＣＰＵ７０が設けられる。ＣＰＵ７０は、周波数１．２ＧＨｚで動作し、ＲＯＭ７２に格納されている各種データおよびＲＡＭ６６に記憶された各種出力に基づいて各関節の駆動に必要な電動モータＭの制御値（操作量）を算出してＤ／Ａ変換器７４とアンプＡを介して電動モータＭに出力する。
【００２７】
図５は、ＥＣＵ６０の動作、より具体的には、その内部のＣＰＵ７０の動作を機能的に示すブロック図である。
【００２８】
以下、同図を参照して説明する。
【００２９】
図示の如く、ＣＰＵ７０の動作は、左右のＣＣＤカメラ５０Ｒ，５０Ｌから入力された画像を解析する入力画像解析ブロック７０Ａと、解析された画像から移動体を検出してロボット１と移動体の相対距離および相対角度を算出する移動体検出ブロック７０Ｂと、算出された相対距離および相対角度に基づき、必要に応じて移動体とロボット１の衝突を回避すべくロボット１の歩行を停止させる衝突回避ブロック７０Ｃとで構成される。
【００３０】
入力画像解析ブロック７０Ａは、距離画像生成部７０ａと、差分画像生成部７０ｂと、エッジ画像生成部７０ｃと、肌色領域画像生成部７０ｄとからなる。
【００３１】
距離画像生成部７０ａは、同時刻に左側のＣＣＤカメラ５０Ｌと右側のＣＣＤカメラ５０Ｒで撮像された２つの画像の視差に基づき、ロボット１から撮像対象までの距離（奥行き）を示す距離画像ＤｅＩを生成する。具体的には、距離画像生成部７０ａは、左側のＣＣＤカメラ５０Ｌを基準カメラとし、この基準とされた左側のＣＣＤカメラ５０Ｌで撮像された画像（以下「基準画像ＢＩ」という）と、右側のＣＣＤカメラ５０Ｒで同時刻に撮像された画像（以下「同時刻画像」という）とを、所定の大きさのブロック（例えば１６×１６画素）でブロックマッチングし、基準画像からの視差を計測すると共に、計測した視差の大きさ（視差量）を基準画像の各画素に対応付けて距離画像ＤｅＩを生成する。尚、視差は、その値が大きいほどＣＣＤカメラ５０Ｒ（Ｌ）から近いことを示し、小さいほど遠く離れていることを示す。
【００３２】
図６に、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩ示す。以降、図６に示す３人の人（人間）が撮像された画像に基づいて説明を続ける。尚、基準画像ＢＩにおいて、右側（図に向かって右側）の人を人Ａとし、中央の人を人Ｂとし、左側の人を人Ｃとする。図示の如く、人Ａは、右手Ａｒｈを頭部Ａｈの右横に挙げている。また、人Ａと人Ｂは、実空間において、ＣＣＤカメラ５０Ｒ（Ｌ）から１．６３ｍだけ離間した位置に起立しており、人Ｃは、ＣＣＤカメラ５０Ｒ（Ｌ）から１．９６ｍだけ離間した位置に起立しているものとする。
【００３３】
図７に、距離画像生成部７０ａで生成された距離画像ＤｅＩを示す。距離画像ＤｅＩは、視差を画素値として表現するため、図７に示すように、ＣＣＤカメラ５０Ｒ（Ｌ）に近いほど明るく（人Ａ、人Ｂ）、遠いほど暗い（人Ｃ）画像になる。尚、図７では、理解の便宜のため、画像の濃淡を斜線の間隔を相違させることによって示す。即ち、図７においては、斜線の間隔が広い領域ほど明るく（近く）、間隔が狭い領域ほど暗い（遠い）ことを意味する。また、黒く塗られた点は、人Ａ，Ｂ，Ｃより遠く離れている（視差が小さい）ことを示す。
【００３４】
図５の説明に戻ると、差分画像生成部７０ｂは、左側のＣＣＤカメラ５０Ｌで時系列に撮像された２つの基準画像ＢＩの差分をとり、差分画像ＤｉＩを生成する。具体的には、差分画像生成部７０ｂは、左側のＣＣＤカメラ５０Ｌで時系列（時刻ｔと時刻ｔ＋Δｔ）に撮像された２つの基準画像ＢＩの差分を求め、差のあった画素には動き（移動）のあった画素として画素値１を与えると共に、差のなかった画素には動き（移動）のなかった画素として画素値０を与えることで、差分画像ＤｉＩを生成する。尚、差分画像生成部７０ｂでは、生成した差分画像ＤｉＩに対してさらにメディアンフィルタなどの適宜なフィルタ処理を施すことにより、ノイズを除去する。また、ロボット１が移動することによって時刻ｔと時刻ｔ＋Δｔの基準画像ＢＩ内の背景が変化する場合は、ＣＣＤカメラ５０Ｌの移動量に基づいて時刻ｔ＋Δｔに撮像した基準画像ＢＩを補正することで、移動体の動きのみを差分として検出するようにする。
【００３５】
図８に、差分画像生成部７０ｂで生成された差分画像ＤｉＩを示す。同図において、黒で示す領域が画素値１を与えた領域、即ち、動きのあった画素を示し、白で示す領域が画素値０を与えた領域、即ち、動きのなかった画素を示す。従って同図は、時刻ｔから時刻ｔ＋Δｔまでの間に、人Ａの右手Ａｒｈや頭部Ａｈ、人Ｂの右手Ｂｒｈに最も大きな動き（移動）が生じたことを示す。
【００３６】
図５の説明に戻ると、エッジ画像生成部７０ｃは、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩに基づいてエッジ画像ＥＩを生成する。具体的には、エッジ画像生成部７０ｃは、前記基準画像ＢＩの輝度が所定レベル以上変化する画素をエッジとして検出し、検出したエッジのみからなるエッジ画像ＥＩを生成する。尚、エッジの検出は、より具体的には、画像全体に所定の重み係数を有するオペレータ（Ｓｏｖｅｌオペレータなど）を当て、対応する画素輝度値の積を算出し、行または列単位で隣の線分と所定値以上の差を有する線分をエッジとして検出することによって行う。
【００３７】
図９に、エッジ画像生成部７０ｃで生成されたエッジ画像ＥＩを示す。図示の如く、輝度が大きく変化する背景と各人Ａ，Ｂ，Ｃの境界線が、エッジとして検出される。
【００３８】
図５の説明に戻ると、肌色領域画像生成部７０ｄは、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩから肌色の領域を抽出して肌色領域画像ＣＩを生成する。具体的には、肌色領域画像生成部７０ｄは、前記基準画像ＢＩをＲＧＢ値（Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅ）からＨＬＳ空間（色相、明度、彩度）に変換し、色相、明度および彩度の全てが予め設定された肌色に関するしきい値を超えた画素に肌色を呈する画素として画素値１を与え、他の画素に肌色以外の色彩を呈する画素として画素値０を与えることで、肌色領域画像ＣＩを生成する。また、肌色領域画像生成部７０ｄでは、生成した肌色領域画像ＣＩに対してさらにメディアンフィルタなどの適宜なフィルタ処理を施すことにより、ノイズを除去する。
【００３９】
図１０に、肌色領域画像生成部７０ｄで生成された肌色領域画像ＣＩを示す。同図において、黒で示す領域が画素値１を与えた領域、即ち、肌色を呈する画素を示し、白で示す領域が画素値０を与えた領域、即ち、肌色以外の色彩を呈する画素を示す。図示の如く、基準画像ＢＩのうち、人Ａ，Ｂ，Ｃの肌色部分（肌が露出した部分）、即ち、それぞれの頭部（より詳しくは顔部）Ａｈ，Ｂｈ，Ｃｈと、人Ａ，Ｂの右手（より詳しくは手のひら）Ａｒｈ，Ｂｒｈと、人Ａ，Ｂの左手（より詳しくは手のひら）Ａｌｈ，Ｂｌｈが肌色領域として抽出される。尚、人Ｃの両手は、図６に示す如く体の後ろで組まれていることから、肌色領域として抽出されない。
【００４０】
図５の説明に戻ると、移動体検出ブロック７０Ｂは、移動体距離設定部７０ｅと、移動体距離画像生成部７０ｆと、輪郭抽出領域設定部７０ｇと、中心線補正部７０ｈと、移動体検出部７０ｉと、距離画像更新部７０ｊとからなる。
【００４１】
移動体距離設定部７０ｅは、前記した距離画像ＤｅＩと差分画像ＤｉＩに基づいて移動体（人Ａ，Ｂ，Ｃ）が存在すると推定される位置までの距離（以下「移動体距離」という）を設定する。具体的には、移動体距離設定部７０ｅは、距離画像ＤｅＩで表された視差（距離）ごとに、その視差に対応する位置にある差分画像ＤｉＩの画素数を累計すると共に、累計値が最大となる視差（距離）に移動体が存在していると推定し、移動体距離として設定する。
【００４２】
図８に示した差分画像では、人Ａの右手Ａｒｈや頭部Ａｈ、人Ｂの右手Ｂｒｈに最も大きな動き（移動）が生じていることから、図７に示す距離画像ＤｅＩにおいて、ＣＣＤカメラ５０Ｒ（Ｌ）から１．６３ｍの距離を示す視差が移動体距離として設定されることになる。尚、移動体距離設定部７０ｅは、入力された距離画像ＤｅＩと差分画像ＤｉＩを、前記したＲＡＭ６６に記憶させる。
【００４３】
図５の説明を続けると、移動体距離設定部７０ｅで設定された移動体距離は、移動体距離画像生成部７０ｆに送出される。移動体距離画像生成部７０ｆは、エッジ画像ＥＩから前記移動体距離に対応する画素を抽出して移動体距離画像ＴＤｅＩを生成する。
【００４４】
具体的には、移動体距離画像生成部７０ｆは、前記移動体距離±αの視差の幅（奥行き）を、最も動きの大きい移動体が存在する視差の範囲として設定する。ここで、αの値は、移動体を人と仮定した場合、例えば０．５ｍに設定される。従って、図１１に示すように、移動体距離画像ＴＤｅＩには、人Ａ，Ｂを示すエッジの他、人Ａ，Ｂから０．３３ｍ後方に位置する人Ｃを示すエッジも抽出される。一方、それより後方に位置する背景を示すエッジは、削除される。
【００４５】
移動体距離画像生成部７０ｆで生成された移動体距離画像ＴＤｅＩは、輪郭抽出領域設定部７０ｇに送出される。輪郭抽出領域設定部７０ｇは、前記移動体距離画像ＴＤｅＩ内の画素数を累計してヒストグラム化すると共に、累計した画素数が最大となる位置を中心線として、移動体距離画像ＴＤｅＩに、移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定する。
【００４６】
具体的には、輪郭抽出領域設定部７０ｇは、移動体距離画像生成部７０ｆで生成された移動体距離画像ＴＤｅＩの垂直方向の画素数を累計し、ヒストグラム化する。図１２に、移動体距離画像ＴＤｅＩの垂直方向の画素（符号ＰＥ）と、作成したヒストグラム（符号Ｈ）を示す。尚、同図（および後述の図１３と図１４）において、理解の便宜のため、画素ＰＥの背景に図６で示した基準画像ＢＩを重畳して示す。
【００４７】
輪郭抽出領域設定部７０ｇは、さらに、作成したヒストグラムＨが最大となる位置に中心線ＣＬを設定する。そして、設定した中心線ＣＬを中心に、図１３に示す如く、移動体の輪郭の抽出（後述）を実行すべき輪郭抽出領域Ｔを設定する。より具体的には、中心線ＣＬを中心として水平方向に所定の幅を有すると共に、垂直方向に所定の幅を有する範囲を、輪郭抽出領域Ｔとして設定する。
【００４８】
これにより、移動体（人Ａと人Ｂ）が隣接して存在している場合であっても、それらを個別の移動体として分割した上で輪郭の抽出を実行することができる。尚、水平方向の所定の幅は、移動体を人と仮定した場合、肩幅程度の値、具体的には０．５ｍに設定する。また、垂直方向の所定の幅は、移動体までの距離とカメラパラメータ（ＣＣＤカメラ５０Ｒ（Ｌ）のパン、チルト角など）の値に基づき、移動体を十分に覆うことのできる範囲（移動体を人と仮定した場合、例えば２．０ｍ）に設定する。
【００４９】
ここで、ヒストグラムＨが最大となる位置を輪郭抽出領域Ｔの中心に設定するのは、そこに移動体の中心（図１３を例にとって説明すれば、人Ａの頭部Ａｈ）が存在すると考えられるためである。しかしながら、移動体距離画像ＴＤｅＩは、エッジ画像ＥＩをベースとして生成されているため、頭部と背景の境界線付近に多くの画素が存在する。
【００５０】
従って、図１３に示すように、ヒストグラムＨが最大となる位置、即ち、中心線ＣＬが、頭部（人Ａの頭部Ａｈ）の中心から端部方向へとずれる場合がある。輪郭抽出領域Ｔは、検出すべき移動体に対応した大きさの範囲に設定されるため、中心線ＣＬが移動体の中心からずれると、図１３に示すように、移動体の一部（人Ａの右手Ａｒｈ）が輪郭抽出領域Ｔの外方に突出してしまい、移動体を正確に検出できないおそれがある。尚、輪郭抽出領域Ｔを拡大すれば移動体の全てを領域内に収めることができるが、輪郭抽出領域Ｔは、移動体の輪郭の抽出が行われる領域であるので、処理の負担上、領域を拡大するのは好ましくない。
【００５１】
そこで、この実施の形態にあっては、輪郭抽出領域Ｔが適正な位置となるように、輪郭抽出領域設定部７０ｇで設定した中心線ＣＬを補正するようにした。
【００５２】
図５の説明に戻ると、輪郭抽出領域設定部７０ｇで設定された中心線ＣＬと輪郭抽出領域Ｔは、中心線補正部７０ｈに送出され、そこで前記エッジ画像ＥＩに基づいて中心線ＣＬの位置と輪郭抽出領域Ｔが補正される。
【００５３】
具体的には、中心線補正部７０ｈは、エッジ画像ＥＩと、中心線ＣＬおよび輪郭抽出領域Ｔが設定された移動体距離画像ＴＤｅＩを入力し、エッジ画像ＥＩと移動体距離画像ＴＤｅＩを重ね合わせて中心線ＣＬを補正する。
【００５４】
エッジ画像ＥＩは、移動体の外形線によく合致しているため、前記中心線ＣＬを、エッジ画像ＥＩで垂直方向のピークが現れる位置（即ち、移動体で最も高い位置に存在する頭部の中心）に補正することで、中心線ＣＬを移動体の中心に正確に位置させることができる。
【００５５】
しかしながら、図９の人Ａのように、手を頭部と同じ高さ付近まで挙げている場合などにあっては、エッジ画像ＥＩに複数のピークが存在するため、どのピークを頭部として認識すべきかという問題が生じる。
【００５６】
そこで、中心線補正部７０ｈでは、前記した肌色領域画像生成部７０ｄで生成された肌色領域画像ＣＩを入力し、入力した肌色領域画像ＣＩを、データベースＤＢ（図１４に示す）に記憶された複数の肌色領域の配置パターンと比較すると共に、最も近似する配置パターンに基づき、頭部として認識すべきエッジ画像のピークを判定するようにした。尚、データベースＤＢは、前記したＲＯＭ７２に格納される。
【００５７】
上記について敷衍すると、データベースＤＢには、図１４に示す如く、頭部（顔部）と手（手のひら）からなる肌色領域（斜線で示す）の配置パターンが複数記憶される。肌色領域の配置パターンとしては、例えば、頭部の横に手を位置させる（パターン１）、手を頭部より上方に挙げる（パターン２）、握手を求める位置に手を配置する（パターン３）、などのパターンが記憶される。中心線補正部７０ｈは、それら配置パターンと肌色領域画像ＣＩとを比較し、最も近似する配置パターンを選択することで、肌色領域画像ＣＩにおいて、どの肌色領域が頭部を表しているのかを判定することができる。尚、データベースＤＢに記憶された各パターンは、前記移動体距離設定部７０ｅで設定された移動体距離に応じて適宜補正されることは言うまでもない。
【００５８】
そして、中心線補正部７０ｈは、頭部と認識された肌色領域画像ＣＩの肌色領域に対応するエッジ画像ＥＩのピークに、前記した輪郭抽出領域Ｔの中心線ＣＬを位置させる（補正する）。これにより、エッジ画像ＥＩのピークが複数存在する場合であっても、中心線ＣＬを移動体の中心に正確に位置させることができる。図１５に、補正後の中心線ＣＣＬと輪郭抽出領域ＣＴを示す。
【００５９】
図５の説明に戻ると、中心線補正部７０ｈで設定された補正後の中心線ＣＣＬと輪郭抽出領域ＣＴは、移動体検出部７０ｉに送出される。
【００６０】
移動体検出部７０ｉは、補正後の輪郭抽出領域ＣＴ内において、公知の動的輪郭モデル（スネーク：Ｓｎａｋｅｓ）によって移動体（人Ａ）の輪郭（図１５で符号Ｏで示す）を抽出して移動体を検出する。また、図１５に示す如く、移動体の重心位置（輪郭Ｏを含む内部領域の重心位置）を算出すると共に、移動体の重心位置とロボット１との距離（相対距離）［ｍ］および方向（相対角度）［ｄｅｇ］を算出する。
【００６１】
移動体検出部７０ｉで抽出された移動体の輪郭Ｏ、および算出された距離と方向は、移動体情報として距離画像更新部７０ｊに送出される。距離画像更新部７０ｊは、移動体検出部７０ｉで算出された移動体情報に基づき、移動体距離設定部７０ｅで記憶させた距離画像ＤｅＩを更新する。
【００６２】
具体的には、輪郭Ｏを含む内部領域に対応する距離画像ＤｅＩの画素値を０に設定する。換言すれば、輪郭の抽出が完了した移動体の存在領域を、距離画像ＤｅＩから削除する。距離画像更新部７０ｊによって距離画像ＤｅＩを更新されると、その情報は更新情報として移動体距離設定部７０ｅに送出される。これにより、上述の移動体の検出処理を継続することで、次回以降の処理において、人Ｂや人Ｃを個別の移動体として検出することができる。
【００６３】
また、衝突回避ブロック７０Ｃは、図示の如く、歩行停止判定部７０ｋと、制御値算出部７０ｌとからなる。
【００６４】
歩行停止判定部７０ｋは、移動体検出部７０ｉで算出された移動体情報を入力し、それに基づいてロボット１の歩行を停止すべきか否か判定する。
【００６５】
具体的には、歩行停止判定部７０ｋは、入力された移動体情報に基づき、ロボット１が予定している歩行経路上に移動体が存在し、かつ、所定の距離以内（例えば０．９ｍ以内）に接近しているか否か判断する。そして、移動体が歩行経路において０．９ｍ以内に接近しているときは歩行停止指示を出力する一方で、移動体が歩行経路上に存在しない、あるいは歩行経路上に存在するが０．９ｍ以内に接近していないときは、歩行継続指示を出力する。
【００６６】
歩行停止判定部７０ｋから出力された歩行停止指示あるいは歩行継続指示は、制御値算出部７０ｌに入力される。
【００６７】
制御値算出部７０ｌは、歩行停止指示が入力されたとき、ロボット１の歩行が停止するように各関節を駆動する電動モータＭの制御値を算出し、前記したアンプなどを介して電動モータＭに出力する。他方、歩行継続指示が入力されたときは、ロボット１が予定した経路の歩行を継続するように電動モータＭの制御値を算出して出力する。尚、ロボット１の歩容の生成手法に関しては、本出願人が先に提案した特開２００２−３２６１７３号公報などに詳しく記載されているため、ここでの説明は省略する。
【００６８】
ところで、ロボット１の歩行を安定して停止させるには、通常、１歩では足らず、２歩分の歩容が必要となる。前述したように、ロボット１の一歩の歩幅は０．３３５ｍであるから、ロボット１を安定に停止させるには、停止歩容（歩行から停止へと安定に移行させるための歩容）が開始された地点から最低でも０．６７ｍ（２歩分）移動することになる。さらに、ＣＣＤカメラ５０Ｒ（Ｌ）で対象を撮像してから画像を解析し、移動体を検出して停止判定を行い、制御値を算出して出力するまでの間も、ロボット１は歩行速度に応じた距離だけ移動していることから、実空間内でロボット１と移動体が所定の距離（０．９ｍ）に接近したことを示す画像がＣＣＤカメラ５０Ｒ（Ｌ）によって撮像されてから、ロボット１が実際に停止するまでには、ロボット１は０．６７ｍ以上移動することになる。
【００６９】
そこで、この実施の形態にあっては、ロボット１と移動体の衝突を回避させるべく、ＣＣＤカメラ５０Ｒ（Ｌ）で対象を撮像してから電動モータＭの制御値を算出して出力するまでの処理時間を、所定の条件に従って設定するようにした。
【００７０】
ここで、所定の条件とは、ロボット１と移動体の相対速度が所定の値であるとき、より具体的には、ロボット１が最大歩行速度で歩行している場合を意味する。別言すれば、ロボット１と移動体の相対速度が大きいときを意味する。ロボット１を移動体に衝突する前に停止させるには、上記の処理を実行しているときのロボット１の移動距離が、０．９−０．６７＝０．２３ｍ以内であれば良い。また、処理中の移動移離は、処理時間×ロボット１の歩行速度で表される。従って、ロボット１が最大歩行速度（前記したように３．６ｋｍ／ｈ）で歩行しているときの処理中の移動距離が、０．２３ｍ以内となるように処理時間を設定することで、ロボット１と移動体の衝突を回避することができる。
【００７１】
図１６は、ロボット１が停止するまでの各種処理とそれに要する時間などを示すタイム・チャートである。
【００７２】
図１６に示すように、カメラ画像を取得してから制御値を算出して出力するまでの処理時間を、最大１９２．５ｍｓｅｃに設定した。
【００７３】
具体的には、ＣＣＤカメラ５０Ｒ（Ｌ）で対象を撮像し、適宜な補正を施して基準画像ＢＩおよび同時刻画像を得るまでに要する処理時間を１０ｍｓｅｃとし、それらに基づいて距離画像ＤｅＩ、差分画像ＤｉＩ、エッジ画像ＥＩおよび肌色領域画像ＣＩを生成するまでに要する処理時間を３７．５ｍｓｅｃとする。即ち、入力画像解析ブロック７０Ａで実行される入力画像の解析処理に要する時間を、合計４７．５ｍｓｅｃとする。
【００７４】
また、距離画像ＤｅＩと差分画像ＤｉＩに基づいて移動体距離を設定して移動体距離画像ＴＤｅＩを生成すると共に、移動体距離画像ＴＤｅＩに輪郭抽出領域Ｔを設定し、さらにその中心線ＣＬを補正するのに要する処理時間を２５ｍｓｅｃとする。また、補正後の輪郭抽出領域ＣＴ内において動的輪郭モデルを用いて輪郭Ｏを抽出して移動体を検出し、移動体情報を算出するのに要する処理時間を１２．５ｍｓｅｃとする。即ち、移動体検出ブロック７０Ｂで実行される、移動体情報（相対距離や相対角度など）の算出処理を含めた移動体の検出処理に要する時間を、合計３７．５ｍｓｅｃとする。
【００７５】
さらに、算出した移動体情報に基づいてロボット１の歩行を停止すべきか否かを判定するのに要する処理時間を７．５ｍｓｅｃとすると共に、歩行停止指示が出力されたときに停止歩容を実現する制御値を算出して出力するまでに要する処理時間を最大１００ｍｓｅｃとする。即ち、衝突回避ブロック７０Ｃで実行される処理に要する時間の合計を、最大１０７．５ｍｓｅｃとする。
【００７６】
このように、ロボット１がＣＣＤカメラ５０Ｒ（Ｌ）で対象を撮像してから電動モータＭの制御値を算出して出力するまでの処理時間の合計を、１９２．５ｍｓｅｃに設定したので、上記処理中にロボット１が移動する距離は、０．２３ｍ以下の０．１９２５ｍとなる。従って、実空間内でロボット１と移動体が所定の距離（０．９ｍ）に接近したことを示す画像がＣＣＤカメラ５０Ｒ（Ｌ）によって撮像されてから、ロボット１が実際に停止するまでの移動距離（停止時移動距離）は、最大で０．８６２５ｍ（０．１９２５＋０．６７）となり、よってロボット１と移動体が衝突する前にロボット１を停止させることができる。
【００７７】
このように、この実施の形態にあっては、ＣＣＤカメラ５０Ｒ（Ｌ）から入力された画像を解析し、それに基づいて移動体を検出して移動体情報を算出し、算出された移動体情報に基づいてロボット１の歩行を停止すべきと判定されたとき、ロボット１が停止するように脚部２Ｒ（Ｌ）を駆動する電動モータＭの制御値を算出すると共に、ＣＣＤカメラ５０Ｒ（Ｌ）で画像が撮像されてからロボット１の歩行が停止されるまでの停止時移動距離が所定の距離（０．９ｍ）以内となるように、入力画像の解析処理と、移動体情報の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理（制御値の算出処理）とを行うように構成したので、歩行中のロボット１が移動体に接近したとき、ロボット１を所定の距離以内で停止させることができるため、ロボット１と移動体の衝突を回避することができる。
【００７８】
より具体的には、ロボット１と移動体の相対速度が所定の値（ロボット１の最大歩行速度。３．６ｋｍ／ｈ）のとき、別言すれば、ロボット１と移動体の相対速度が大きいとき、ロボット１が前記所定の距離以内で停止するように上記各処理を行うように構成したので、ロボット１と移動体の衝突をより効果的に回避することができる。
【００７９】
以上のように、この発明の一つの実施の形態にあっては、上体３に連結された２本の脚部２Ｒ（Ｌ）を備えると共に、撮像手段（ＣＣＤカメラ５０Ｒ（Ｌ））で撮像して得た画像（基準画像ＢＩと同時刻画像）に基づいて移動体（人Ａ，Ｂ，Ｃ）を検出し、前記検出した移動体の位置に応じて前記脚部２Ｒ（Ｌ）の駆動を制御する２足歩行ロボット１の制御装置において、前記撮像手段から入力された画像を解析する入力画像解析手段（入力画像解析ブロック７０Ａ）、前記解析された撮像画像（距離画像ＤｅＩ、差分画像ＤｉＩ、エッジ画像ＥＩおよび肌色領域画像ＣＩ）に基づいて移動体を検出し、前記ロボット１と移動体の相対距離および相対角度（移動体情報）を算出する移動体検出手段（移動体検出ブロック７０Ｂ）、前記算出された相対距離および相対角度に基づいて前記ロボット１の歩行を停止すべきか否か判定する歩行停止判定手段（歩行停止判定部７０ｋ）、および前記歩行停止判定手段によって前記ロボット１の歩行を停止すべきと判定されたとき（歩行停止指示が出力されたとき）、前記ロボット１が停止するように前記脚部２Ｒ（Ｌ）を駆動する脚部駆動手段（制御値算出部７４ｌ）、を備えると共に、前記撮像手段で画像が撮像されてから前記ロボット１の歩行が停止されるまでに前記ロボット１が移動する停止時移動距離が、所定の距離以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行う如く構成した。
【００８０】
より具体的には、前記ロボット１と移動体の相対速度が所定の値（ロボット１の最大歩行速度。３．６ｋｍ／ｈ）のとき、別言すれば、前記ロボット１と移動体の相対速度が大きいときの前記停止時移動距離が、前記所定の距離（０．９ｍ）以内となるように、前記入力画像解析手段、移動体検出手段、歩行停止判定手段および脚部駆動手段の処理を行う如く構成した。
【００８１】
尚、上記において、所定の距離を０．９ｍに設定したが、それに限られるものではなく、ロボットの歩幅や最大歩行速度（所定の条件）、ＣＰＵの処理能力などに応じて適宜設定して良い。
【００８２】
また、所定の条件を、ロボット１が最大歩行速度で歩行しているときとしたが、移動体自身もロボットに接近してくる場合を考慮に入れて設定するようにしても良い。即ち、所定の条件を、ロボットの歩行速度と移動体の移動速度（接近速度）の和とするようにしても良い。その意味から、請求項２項および３項において、「ロボットと移動体の相対速度」と記載した。
【００８３】
さらに、移動体の移動速度（接近速度）は一意ではないことから、ロボットと移動体の相対速度に応じて前記所定の距離を変更するようにしても良い。移動体の移動速度は、例えば、時刻ｔに算出された移動体情報と時刻ｔ＋Δｔに算出された移動体情報との差分を求めることなどによって算出することができる。尚、移動体以外の障害物、即ち、静止物に対しては、静止物までの距離とロボット１の歩行速度に基づいて歩行停止の要否判定を行えば良い。
【００８４】
また、基準画像ＢＩから肌色領域を抽出して肌色領域画像ＣＩを生成するようにしたが、移動体の特徴（特に姿勢の特徴）を認識できる色彩であれば、他の色彩であっても良い。
【００８５】
【発明の効果】
請求項１項にあっては、撮像手段から入力された画像を解析し、解析された撮像画像に基づいて移動体を検出してロボットと移動体の相対距離および相対角度を算出し、算出された相対距離および相対角度に基づいてロボットの歩行を停止すべきと判定されたとき、前記ロボットが停止するように脚部を駆動すると共に、前記撮像手段で画像が撮像されてから前記ロボットの歩行が停止されるまでに前記ロボットが移動する停止時移動距離が、所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体の相対距離および相対角度の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、歩行中のロボットが移動体に接近したとき、ロボットを所定の距離内で停止させることができるため、ロボットと移動体の衝突を回避することができる。
【００８６】
請求項２項においては、ロボットと移動体の相対速度が所定の値であるときの前記停止時移動距離が所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体までの相対距離および相対角度の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、請求１項で述べた効果をより効果的に得ることができる。
【００８７】
請求項３項においては、ロボットと移動体の相対速度が大きいときの前記停止時移動距離が所定の距離以内となるように、入力画像の解析処理と、ロボットと移動体までの相対距離および相対角度の算出処理を含めた移動体の検出処理と、歩行の停止判定処理と、脚部の駆動処理とを行うように構成したので、請求１項で述べた効果をより効果的に得ることができる。
【図面の簡単な説明】
【図１】この発明の一つの実施の形態に係る２足歩行ロボットの制御装置が搭載される、２足歩行ロボットの正面図である。
【図２】図１に示す２足歩行ロボットの右側面図である。
【図３】図１に示す２足歩行ロボットの内部構造を関節を中心に全体的に示す概略図である。
【図４】図３に示すＥＣＵの構成を詳細に示すブロック図である。
【図５】図４に示すＥＣＵの動作、より具体的には、その内部のＣＰＵの動作を機能的に示すブロック図である。
【図６】図５に示すＣＣＤカメラのうち、左側のＣＣＤカメラで撮像した基準画像を示す説明図である。
【図７】図５に示す距離画像生成部で生成される距離画像を示す説明図である。
【図８】図５に示す差分画像生成部で生成される差分画像を示す説明図である。
【図９】図５に示すエッジ画像生成部で生成されるエッジ画像を示す説明図である。
【図１０】図５に示す肌色領域画像生成部で生成される肌色領域画像を示す説明図である。
【図１１】図５に示す移動体距離画像生成部で生成される移動体距離画像を示す説明図である。
【図１２】図５に示す輪郭抽出領域設定部で設定されるヒストグラムと中心線を示す説明図である。
【図１３】図５に示す輪郭抽出領域設定部で設定される輪郭抽出領域を示す説明図である。
【図１４】図５に示す中心線補正部で使用されるデータベースを示す説明図である。
【図１５】図５に示す中心線補正部で補正された中心線と輪郭抽出領域を示す説明図である。
【図１６】図１に示す２足歩行ロボットが停止するまでの各種処理とそれに要する時間などを示すタイム・チャートである。
【符号の説明】
１        ２足歩行ロボット
２        脚部
３        上体
５        腕部
５０Ｒ    （右側の）ＣＣＤカメラ（撮像手段）
５０Ｌ    （左側の）ＣＣＤカメラ（撮像手段）
６０      ＥＣＵ
７０      ＣＰＵ
７０Ａ    入力画像解析ブロック（入力画像解析手段）
７０Ｂ    移動体検出ブロック（移動体検出手段）
７０ｋ    歩行停止判定部（歩行停止判定手段）
７０ｌ    制御値算出部（脚部駆動手段）
Ａ        人（移動体）
Ｂ        人（移動体）
ＢＩ      基準画像（撮像画像）
Ｃ        人（移動体）
ＣＩ      肌色領域画像（解析された撮像画像）
ＤｅＩ    距離画像（解析された撮像画像）
ＤｉＩ    差分画像（解析された撮像画像）
ＥＩ      エッジ画像（解析された撮像画像）
Ｍ        電動モータ（脚部駆動手段）
【図１】
2004299001.tif 000003
【図２】
2004299001.tif 000004
【図３】
2004299001.tif 000005
【図４】
2004299001.tif 000006
【図５】
2004299001.tif 000007
【図６】
2004299001.tif 000008
【図７】
2004299001.tif 000009
【図８】
2004299001.tif 000010
【図９】
2004299001.tif 000011
【図１０】
2004299001.tif 000012
【図１１】
2004299001.tif 000013
【図１２】
2004299001.tif 000014
【図１３】
2004299001.tif 000015
【図１４】
2004299001.tif 000016
【図１５】
2004299001.tif 000017
【図１６】
2004299001.tif 000018