(57)【特許請求の範囲】
【請求項１】
異なるパラメータで撮像された複数のステレオ画像を入力する画像入力工程と、
上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成工程と、
各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成工程と、
上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正工程とを有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理工程を有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する工程と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する工程とを有する
ことを特徴とする距離計測方法。
【請求項２】
上記信頼度向上処理工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手工程と、この再入手ステレオ画像から距離画像を生成する距離画像再生成工程とを有することを特徴とする請求項１記載の距離計測方法。
【請求項３】
上記画像入力工程は、ステレオカメラによるステレオ画像撮像工程を有し、
上記画像再入手工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更して再度撮像することにより上記ステレオ画像を再入手することを特徴とする請求項２記載の距離計測方法。
【請求項４】
上記パラメータは、上記ステレオカメラのカメラパラメータ及び／又はステレオカメラの撮像位置パラメータであることを特徴とすることを特徴とする請求項３記載の距離計測方法。
【請求項５】
上記信頼度画像における上記低信頼度領域を検出する検出工程と、この検出結果により信頼度を高める方へ上記ステレオ画像のパラメータをコントロールするパラメータ制御工程を有することを特徴とする請求項４記載の距離計測方法。
【請求項６】
上記画像入力工程は、第１のステレオ画像を入力する工程であり、
上記距離画像生成工程は、上記第１のステレオ画像から第１の距離データを算出し該第１の距離データから第１の距離画像を生成する工程であり、
上記信頼度画像生成工程は、上記第１の距離画像を生成するのに使用した上記第１のステレオ画像の少なくとも１つから第１の信頼度画像を生成する工程であって、
上記距離画像補正工程は、上記第１の信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記低信頼度領域の信頼度を高める方へパラメータを変更した第２のステレオ画像を再入手する画像再入手工程と、この第２のステレオ画像から第２の距離データを算出して第２の距離画像を生成する距離画像再生成工程と、上記第１の距離画像の上記低信頼度領域の上記第１の距離データを上記第２の距離画像の上記低信頼度領域における上記第２の距離データに置換して合成距離画像を生成する距離画像合成工程と
を有することを特徴とする請求項２記載の距離計測方法。
【請求項７】
上記画像再入手工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更した上記再入手ステレオ画像を上記複数枚のステレオ画像から選択する工程を有することを特徴とすることを特徴とする請求項２記載の距離計測方法。
【請求項８】
上記パラメータは、ステレオカメラのカメラパラメータ及び／又はステレオカメラの撮像位置パラメータであることを特徴とすることを特徴とする請求項７記載の距離計測方法。
【請求項９】
上記パラメータは、ステレオカメラのカメラパラメータ及び／又はステレオカメラの撮像位置パラメータであることを特徴とすることを特徴とする請求項１記載の距離計測方法。
【請求項１０】
上記信頼度画像生成工程は、上記閾値をコントロールする閾値制御工程を有する請求項１記載の距離計測方法。
【請求項１１】
異なるパラメータで撮像された視差を有する複数のステレオ画像を入力するステレオ画像入力手段と、
上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成手段と、
各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成手段と、
上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正手段とを有し、
上記距離画像補正手段は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理手段を有し、
上記距離画像補正手段は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する手段と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する手段とを有する
ことを特徴とする距離計測装置。
【請求項１２】
上記信頼度向上処理手段は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手手段と、この再入手ステレオ画像から距離画像を生成する距離画像再生成手段とを有することを特徴とする請求項１１記載の距離計測装置。
【請求項１３】
供給された入力情報に基づいて動作を行う自律型のロボット装置であって、
異なるパラメータで撮像された複数のステレオ画像を入力するステレオ画像入力手段と、
上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成手段と、
各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成手段と、
上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正手段とを有し、
上記距離画像補正手段は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理手段を有し、
上記距離画像補正手段は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する手段と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する手段とを有する
ことを特徴とするロボット装置。
【請求項１４】
上記信頼度向上処理手段は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手手段と、この再入手ステレオ画像から距離画像を生成する距離画像再生成手段を有することを特徴とする請求項１３記載のロボット装置。
【請求項１５】
所定の動作をコンピュータに実行させるためのプログラムであって、
異なるパラメータで撮像された複数のステレオ画像を入力するステレオ画像入力工程と、
上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成工程と、
各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成工程と、
上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正工程とを有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理工程を有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する工程と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する工程とを有する
ことを特徴とするプログラム。
【請求項１６】
上記信頼度向上処理工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手工程と、この再入手ステレオ画像から距離画像を生成する距離画像再生成工程を有することを特徴とする請求項１５記載のプログラム。
【請求項１７】
所定の動作をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
異なるパラメータで撮像された複数のステレオ画像を入力するステレオ画像入力工程と、
上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成工程と、
各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成工程と、
上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正工程とを有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理工程を有し、
上記距離画像補正工程は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する工程と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する工程とを有する
ことを特徴とするプログラムを記録した記録媒体。
【請求項１８】
上記信頼度向上処理工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手工程と、この再入手ステレオ画像から距離画像を生成する距離画像再生成工程を有することを特徴とする請求項１７記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット等が環境認識又は物体認識をするために、距離データを取得するための距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置に関し、特に、画像から信頼度を求めて距離データの精度の向上を図った距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット等の産業用ロボット（Industrial
Robot）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように４足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【０００５】
ところで、ロボットが環境認識又は物体認識をするためには、距離データを取得する必要がある。距離データ取得の手法の１つとして、ステレオ画像による距離測定手法（以下、ステレオ距離計測ともいう。）がある。ステレオ距離計測では、空間的に離れた場所に設置された２つ以上のカメラから得られる画像を比較して、三角測量の原則で距離を計測する。この際、測定対象物のテクスチャによってはカメラ間で対応関係が正しく得られず、正しい距離測定ができないことがある。なお、ここでのステレオ距離測定とは、２台以上の複数のカメラを用いた方法も含むものである。
【０００６】
ステレオ距離測定結果より得られる距離データの精度及び信頼度を上げることは、特にロボットにおいては、距離データを用いた後段の認識精度を大きく左右する点で、極めて重要な問題である。
【０００７】
従来、ステレオカメラのステレオ画像から信頼度画像を取得し距離データを得る技術がある。図２（ａ）乃至図２（ｅ）は、夫々左カメラの入力画像（左カメラ画像）、右カメラの入力画像（右カメラ画像）、距離画像、信頼度画像、及び距離画像を信頼度画像でマスクした後のマスク距離画像を示す模式図である。
【０００８】
距離画像は、例えば色が白いほどカメラからの距離が近いことを示し、色が黒くなるほどカメラからの距離が遠いことを示す。ステレオ距離計測による距離データの取得には、テンプレートマッチングによって左右画像を比較する方法が使用される。従って、図２（ａ）及び図２（ｂ）の夫々左カメラ画像６００Ｌ及び右カメラ画像６００Ｒに示すように、無地の壁面６０１Ｌ，６０１Ｒ又は本の表紙部分６０２Ｌ，６０２Ｒ等、テクスチャが乏しい部分は、ノイズが生じて正しい距離データが得られず、図２（ｃ）に示すように、距離画像６０３において、ノイズ領域６０４が現れる。
【０００９】
図２（ｄ）に示す信頼度画像６０７は、分散値（複雑度）を信頼度値とした画像の例を示している。図２（ｄ）に示す例での信頼度画像６０７は、分散値が大きい程、信頼度が高く白く表示され、分散値が小さいと信頼度が低く黒く表示される。上述したように、図２（ｃ）の距離画像６０３で距離の値が正しく計測されないテクスチャが乏しい壁に相当する領域及び本の表紙に相当する領域６０４は分散値が小さいと計測され、黒く示される低信頼度領域６０８となる。一方、図２（ｃ）に示す距離画像において、距離が正しく計測できて距離によって濃さが異なる濃淡領域６０５は、信頼度画像においては、白く示される高信頼度領域６０９となる。
【００１０】
図２（ｅ）に示すマスク後の距離画像６１０は、図２（ｄ）の信頼度画像の分散値が低い低信頼度領域６０８を輝度を０（黒）として、図２（ｃ）の距離画像６０３からマスクしたものである。これにより、低信頼度領域６１２がマスクされ、信頼度が高い距離データを有する領域６１１のみが図２（ｅ）のマスク後の距離画像６１０に反映される。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来のステレオカメラを搭載した移動ロボット等においては、上述のステレオ距離計測で距離データを測定しているため、イメージ撮像デバイスの性能限界を超えるようなダイナミックレンジの広いシーンに対しては、以下の対象物を含むような低信頼度部の画像においてステレオ距離計測が正確にできないという問題点がある。即ち、
１．輝度のダイナミックレンジが大きく、濃淡が淡い部分はその濃淡がつぶれてしまう対象物を有する画像
２．反射率が高い表面を有し、照明の光が反射して高輝度部分が飽和する対象物を有する画像
３．照度が低く、感度が不足して黒い部分を生じる対象物を有する画像
これらの画像は濃淡が得られない部分が生じ、その部分においてステレオ距離計測ができない。これは、環境内を移動できるロボットは、一定でない照明環境内において、照度が高い明るい場所では画像が飽和することにより、高輝度部分が白く撮影されてしまったり、逆に、照度が低い位暗い場所では感度が不足して真っ黒に撮影されてしまうためである。
【００１２】
更に、従来のテンプレートマッチングによるステレオ距離計測においては、比較画像中の一部を基準画像中の画像と輝度値とにおいて、エピポーララインに沿って比較するという動作原理上、
４．単一輝度及び単一色のテクスチャを有する対象物
５．エピポーララインに平行なテクスチャを有する対象物
の距離を正確に測定することは困難であるという問題点がある。
【００１３】
本発明は、このような従来の実情に鑑みて提案されたものであり、上述のような信頼度が低い部分を含む画像においても、照度及び対象物に関係なく、高精度に距離情報を取得することができる距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る距離計測方法は、異なるパラメータで撮像された複数のステレオ画像を入力する画像入力工程と、上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成工程と、各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成工程と、上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正工程とを有し、上記距離画像補正工程は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理工程を有し、上記距離画像補正工程は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する工程と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する工程とを有することを特徴とする。
【００１５】
本発明においては、信頼度向上処理工程により信頼度画像の信頼度を向上して、この信頼度が向上した信頼度画像に基づいて距離データを算出して距離画像を生成するため、距離画像の精度及び信頼度を高めることができる。
【００１６】
また、上記画像入力工程はステレオ画像を入力する工程であり、上記信頼度向上処理工程は、上記低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手工程と、この再入手ステレオ画像から距離画像を生成する距離画像再生成工程とを有するので、例えばステレオ画像入力手段に設けられたステレオカメラのダイナミックレンジ等の撮像条件、又は撮像位置等のパラメータを種々変更して信頼度が高い画像を得ることができる。
【００１７】
更に、上記ステレオ画像入力工程は、第１のステレオ画像を入力する工程であり、上記距離画像生成工程は、上記第１のステレオ画像から第１の距離データを算出し該第１の距離データから第１の距離画像を生成する工程であり、上記信頼度画像生成工程は、上記第１の距離画像を生成するのに使用した上記第１のステレオ画像の少なくとも１つから第１の信頼度画像を生成する工程であって、上記距離画像補正工程は、上記第１の信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記低信頼度領域の信頼度を高める方へパラメータを変更した第２のステレオ画像を再入手する画像再入手工程と、この第２のステレオ画像から第２の距離データを算出して第２の距離画像を生成する距離画像再生成工程と、上記第１の距離画像の上記低信頼度領域の上記第１の距離データを上記第２の距離画像の上記低信頼度領域における上記第２の距離データに置換して合成距離画像を生成する距離画像合成工程とを有するので、例えばパラメータを制御しても信頼度が向上しない領域を有する場合等は、高信頼度領域における距離データのみを使用し、この距離データを合成することにより、信頼度が高い距離画像を得ることができる。
【００２０】
本発明に係る距離計測装置は、異なるパラメータで撮像された視差を有する複数のステレオ画像を入力するステレオ画像入力手段と、上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成手段と、各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成手段と、上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正手段とを有し、上記距離画像補正手段は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理手段を有し、上記距離画像補正手段は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する手段と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する手段とを有することを特徴とする。
【００２２】
本発明に係るロボット装置は、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、異なるパラメータで撮像された複数のステレオ画像を入力するステレオ画像入力手段と、上記複数のステレオ画像から距離データを算出し該距離データから複数の距離画像を生成する距離画像生成手段と、各１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから各信頼度画像を生成する信頼度画像生成手段と、上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正手段とを有し、上記距離画像補正手段は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理手段を有し、上記距離画像補正手段は、上記信頼度画像の信頼度が上記閾値よりも高い高信頼度領域を合成し該高信頼度領域のみからなる合成信頼度画像を生成する手段と、この合成信頼度画像に基づいて距離画像を合成し補正距離画像を生成する手段とを有することを特徴とする。
【００２３】
本発明においては、信頼度画像を使用して求められた正確な補正距離データが得られるため、ロボット装置は、距離計測データを用いた環境認識及び物体認識等、ロボット装置の後段の認識精度を高めることができる。
【００２４】
また、上記信頼度向上処理手段は、該低信頼度領域の信頼度を高める方へパラメータを変更したステレオ画像を再入手する画像再入手手段と、この再入手ステレオ画像から距離画像を生成する距離画像再生成手段とを有するので、ステレオ画像の撮像条件及び撮像位置等のカメラパラメータだけではなく、ロボット装置のロボットパラメータを種々変更したステレオ画像を再入手することにより、更に信頼度が高い距離画像を得ることができる。
【００２６】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施の形態においては、本発明の距離計測装置をロボット等に搭載されるステレオ距離計測装置とした場合について説明する。図１は、本実施の形態の距離計測装置を示すブロック図である。ステレオ距離計測装置において、ステレオ距離計測結果の距離画像における距離データは、元画像のテンプレートの分散値及びマッチング時のエラー値等からその信頼性を測定することができる。本実施の形態においては、ステレオ画像から得られる距離データの信頼度が高い部分（領域）のデータを使用して信頼度が低い部分（領域）のデータを補完（又は補間）する手法により、ステレオ画像の距離データの精度及び信頼性を向上させるものである。
【００２７】
図１は、信頼度画像を使用した本実施の形態のステレオ距離計測装置５０１を示すブロック図である。図１に示すように、先ず、ステレオカメラ（ステレオ画像入力手段）５１０から得られたステレオ画像５１１は、信頼度画像生成計算部（信頼度画像生成手段）５２０及び距離画像生成計算部（距離画像生成手段）５３０に入力される。ステレオカメラは２以上のＣＣＤカメラからなり、このＣＣＤカメラにより視差を有する画像であるステレオ画像を撮像する。そして、信頼度画像生成計算部５２０及び距離画像生成計算部５３０から、夫々信頼度画像５２１及び距離画像５３１が生成される。生成された信頼度画像５２１には、後述する信頼度が高い領域（高信頼度領域）と信頼度が低い領域（低信頼度領域）とが検出されるが、例えば、制御手段（図示せず）の検出部（図示せず）により信頼度が低い領域を抽出し、制御手段のパラメータ制御部（図示せず）が、検出部の検出結果に基づいて、ステレオカメラのゲイン及びアイリス等のカメラパラメータをコントロールする（Ｃ１）か、又はロボットの運動系等、信頼度が高くなるようにロボットパラメータをコントロールし（Ｃ２）、再度ステレオ画像を取り込むことにより信頼度を高める。
【００２８】
生成された信頼度画像５２１及び距離画像５３１は、画像マスキング処理部５４０に入力される。そして、画像マスキング処理部５４０の閾値制御部（図示せず）により、信頼度画像５２１におけるマスキングの閾値をコントロールし（Ｃ３）、低信頼度領域を検出してこの低信頼度領域を距離画像５３１からマスキングすることによって、低信頼度領域をマスクして距離画像５３１から除いたマスク距離画像５３２を生成する。マスキングの閾値コントロールとは、閾値制御部（図示せず）により、例えばカメラのゲインを上げた場合は、画面にノイズが多く含まれるため、閾値を高くする等の調整を行うことである。なお、ここで、後述するロボットの視線方向コントロールをして（Ｃ４）、カメラ画像を移動させる等の処理もなされる。
【００２９】
マスキング処理部５４０のマスキング処理によって低信頼度領域における距離データがマスキングされたマスク距離画像５３２は、低信頼度領域補完処理部５５０に入力され、後述する低信頼度領域補完処理によって、低信頼度領域における距離データがその周囲の信頼度が高い領域における距離データによって補完される。ここの補完方法は、例えば、ラプラス方程式等を使用した補間方法がある。低信頼度領域が補完処理された完成距離画像５３３は、距離画像使用モジュール５６０に入力され、後段の処理がなされる。
【００３０】
以下、本実施の形態について更に詳細に説明する。先ず、信頼度画像生成計算部５２０について説明する。
【００３１】
図２（ａ）乃至図２（ｅ）は、夫々左カメラの入力画像（左カメラ画像）、右カメラの入力画像（右カメラ画像）、距離画像、信頼度画像、及び距離画像を信頼度画像でマスクした後のマスク距離画像を示す図である。
【００３２】
距離画像は、例えば輝度の差（単色の濃淡）で表示することができ、例えば、輝度が高い（白で表示される）程、カメラからの距離が近いことを示し、輝度が低い（黒で表示される）程、カメラからの距離が遠いことを示すものとする。ステレオ距離計測による距離データの取得には、テンプレートマッチングによって左右画像を比較する方法を使用することができる。従って、図２（ａ）及び図２（ｂ）の夫々左カメラ画像６００Ｌ及び右カメラ画像６００Ｒに示すように、無地の壁面６０１Ｌ，６０１Ｒ又は本の表紙部分６０２Ｌ，６０２Ｒ等、テクスチャが乏しい部分は、ノイズが生じて正しい距離データが得られず、図２（ｃ）に示すように、距離画像６０３において、ノイズ領域６０４が現れる。
【００３３】
図２（ｄ）に示す信頼度画像６０７は、後述するように、左カメラ画像６００Ｌ又は右カメラ画像６００Ｒをテンプレートとし、その分散値（複雑度）を信頼度値とした画像の例を示している。信頼度画像は、左右のいずれか１つのカメラ画像から得ることができる。また、後述するように、左右両方のカメラ画像を使用して作成することもできる。また、分散値を使用する例以外にも信頼度値として、例えばマッチングスコア又は他の値を使用する方法等もある。
【００３４】
図２（ｄ）に示す例での信頼度画像６０７は、分散値が大きい程、信頼度が高くなり、輝度が高い画素として表示（白で表示）され、分散値が小さいと信頼度が低くなり、輝度が低い画素として表示（黒く表示）される。上述したように、図２（ｃ）の距離画像６０３で距離の値が正しく計測されないテクスチャが乏しい壁に相当する領域及び本の表紙に相当する領域６０４は分散値が小さいと計測され、夫々黒く表示された低信頼度領域６０８となる。一方、図２（ｃ）に示す距離画像において、距離が正しく計測できて距離によって濃さが異なる濃淡領域６０５は、図２（ｄ）に示す信頼度画像においては、白っぽく表示された高信頼度領域６０９となる。
【００３５】
図２（ｅ）に示すマスク後の距離画像６１０は、図２（ｄ）の信頼度画像の分散値が低い黒い低信頼度領域６０８の輝度を０として、図２（ｃ）の距離画像６０３からマスクしたものである。これにより、低信頼度領域６１２がマスクされ、信頼度が高い距離データを有する領域６１１のみが図２（ｅ）のマスク後の距離画像６１０に反映される。ここで、図２（ｄ）の信頼度画像６０７において、分散値が低いため、信頼度が低い領域６０８は、信頼度が低い領域と判定するために予め設定された閾値を使用し、この所定の閾値よりも輝度が低い部分を低信頼度領域とすることによりマスキング処理のコントロールを行う。
【００３６】
次に、信頼度画像の求め方について説明する。ステレオカメラにおける信頼度画像は、様々な評価値を用いて作成することができるが、本実施の形態においては、上述したテンプレートの分散値による信頼度画像の求め方及びマッチングスコアによる信頼度画像の求め方の２つの方法を説明する。
【００３７】
ステレオ距離計測では左右のステレオ画像中の画素の対応関係をテンプレートマッチングによって探索する。図３（ａ）はテンプレート７０２を抜き出す基準画像７０１を示す模式図、図３（ｂ）はテンプレートとマッチング比較を行う先の画像７０３を示す模式図である。例えば、左のステレオ画像を基準画像７０１、右のステレオ画像をマッチング先の画像７０３とすることができる。
【００３８】
テンプレートの分散値による信頼度画像の求め方としては、先ず、図３（ａ）におけるマッチングテンプレート７０２内の画素の輝度の分散値を下記数式１で求める。
【００３９】
【数１】
0003855812.tif 000002
【００４０】
ここで、上記数式１において、Ｖａｒは画素の輝度の分散値、Ｎはテンプレート７０２に含まれる画素数、Ｙｉｊはテンプレート７０２内の座標（ｉ，ｊ）における画素の輝度値を表す。この輝度値Ｙｉｊから、上記数式１によって探索する全てのテンプレートの分散値Ｖａｒを算出する。そして、この分散値Ｖａｒの大きさによって分散値による信頼度画像を作成する。上述した図２（ｄ）に示す信頼度画像においては、分散値が高い程信頼度が高いことを示し、分散値が低い程、信頼度が低いことを示す。
【００４１】
また、マッチングスコアによる信頼度画像の求め方としては、図３（ａ）に示すテンプレート７０２と、図３（ｂ）に示すマッチング先画像７０３のエピポーラライン（２台のカメラの幾何条件から決定される、対応付けを拘束する直線）７０４に沿って、例えば距離値（Distance Number）ｎｄ１〜ｎｄ７に応じて選択された領域とを比較し、これらの領域内の画素の輝度の差からマッチングスコア値を算出する。図３（ｃ）は、横軸に距離値をとり、縦軸にマッチングスコア値をとって、テンプレート７０２のマッチングスコア値を示すグラフ図である。図３（ｃ）に示すグラフにおいて、例えば、マッチングスコア値、最小スコア値（距離値ｎｄ３）付近における横軸方向の幅（距離値Distance Number方向への幅）Ｌ、及びグラフの急峻度値等を使用してマッチングスコアによる信頼度画像を作成する。
【００４２】
次に、図１に示す信頼度が低い領域の信頼度を高める処理部５８０について更に詳細に説明する。図４（ａ）乃至図４（ｃ）に示すのは、ダイナミックレンジが広く、高輝度部分が潰れた場合の夫々左カメラ画像８００、信頼度画像８１０及び距離画像８２０を示す。なお、図４（ａ）は、テクスチャ（模様）を有する床８０１上に置かれた紙８０２のカメラ画像を示すものである。また、紙８０１にはランダムパターンのテクスチャを有するものとする。このランダムパターンのテクスチャがカメラの撮像ダイナミックレンジを超えた場合、即ち、カメラの絞りを開き過ぎた場合、図４（ａ）に示すように、カメラ画像８００においては、紙８０２のテクスチャが現れず、単に白い領域として表示される。従って、紙８０２は、図４（ｂ）に示すように、分散値が低くなり、信頼度画像８１０において、紙に相当する領域８１１は信頼度が低く、黒っぽく表示され、この領域８１１の距離データが正しくないことが確認される。一方、床に相当する領域８１２は模様があるため信頼度が高くなって白っぽく表示される。また、紙と床との境界に相当する領域８１３は、よりコントラストがはっきりするため、信頼度が最も高い部分として最も輝度が高く表示される。よって、図４（ｃ）に示すように、距離画像８２０においては、信頼度が低い紙に相当する領域８２１にはノイズが生じ正しい距離データが得られない。一方、床部分及び床と紙との境界に相当する領域８２２においては、本図の上部から下部にかけて、距離が近くなるため徐々に輝度が上がるような濃淡画像が得られる。
【００４３】
そこで、図４（ｂ）に示す領域８１１のように、信頼度画像８１０中に信頼度が低い領域がある場合、信頼度が高くなるようにカメラのコントロールパラメータを調節する。図５（ａ）乃至図５（ｃ）はカメラのコントロールパラメータを調節した後の夫々左カメラ画像９００、信頼度画像９１０及び距離画像９２０を示す模式図である。図５（ａ）に示すように、カメラパラメータのうち、アイリス及びゲインを調整すると、図４（ａ）において単に白く表示されていた紙８０２は、図５（ａ）に示すように、床９０１の模様と共に、紙９０２にもランダムパターンのテクスチャが表示されるようになる。カメラ入力画像９００からランダムパターンのテクスチャを確認できたため、図５（ｂ）に示すように、この場合の信頼度画像９１０は、床に相当する領域９１２及び床と紙との境界に相当する領域９１３と共に、紙に相当する領域９１１の信頼度が高くなり白っぽく表示される。即ち、画面の紙相当する領域９１３の信頼度が高くなったため、図５（ｃ）に示すように、距離画像９２０の床及び床と紙との境界に相当する領域９２２と共に紙に相当する領域９２１における距離データが正しく取得できるようになり、距離画像９２０は全体が濃淡画像となる。このように、信頼度画像９１０に含まれる信頼度が低い領域の信頼度が高くなるようにカメラパラメータを調整することにより、低信頼度領域においてもステレオ距離計測を可能にすることができる。
【００４４】
また、図５（ａ）に示すようにカメラパラメータを調整することにより信頼度が低い領域の信頼度を高くした場合、又はカメラのダイナミックレンジが低い場合、逆に信頼度が高い領域の信頼度が低くなる場合がある。即ち、図４（ａ）において、床８０１は、このときのカメラパラメータでは模様が認識され、信頼度が高い領域８１２として信頼度画像が得られていたが、図６（ａ）に示すように、紙１００２のテクスチャを表示させた場合に、床１００１が黒く表示されて模様が表示されない場合がある。すると、図６（ｂ）に示す信頼度画像１０１０において、床に相当する領域１０１２は信頼度が低下して黒っぽく表示されてしまう。従って、図６（ｃ）に示す距離画像１０２０において、床に相当する領域１０２２はノイズが発生して、距離に応じた適切な濃淡で示されるべき画像が得られない。
【００４５】
このように、例えば、パラメータを変更しても図４及び図６に示す信頼度画像８１０，１０１０しか得られないような場合は、各距離画像において、信頼度が高い部分のみを組み合わせた距離画像を合成することにより、全ての領域において信頼度が高い合成距離画像（距離データ）を得ることができる。即ち、図４に示す床に相当し、正しい距離データが得られた領域８２２と図６に示す紙に相当し、正しい距離データが得られた領域１０２１とを組み合わせることにより、全ての領域で正確な距離データを有する図５（ｃ）に示す距離画像９２０と同様な距離画像を合成することができる。
【００４６】
更に、カメラパラータを予め変化させながら画像を取得しておき、信頼度が高い部分を組み合わせて信頼度が高い距離データを得ることもできる。また、変化させるカメラパラメータは、アイリス及びゲインパラメータに限らず、ロボットが画像を取得する際にコントロールできる全てのパラメータを含むものとすることができる。
【００４７】
また、信頼度画像をトリガーとしてコントロールするのは、上述したようなロボットにおける受動的なパラメータだけではなく、ロボットが、発光したり、ランダムドットパターンを照射したり、塗料を噴射したり、又は体を動かして視野に移る影を動かしたりして信頼度が高い領域を得る等の能動的な動作による方法をとることも可能である。
【００４８】
更に、首をかしげる、及び移動して対象物と光源との位置関係を変化させる等の動作により、信頼度画像中の信頼度を高めることもできる。
【００４９】
次に、上述した低信頼度領域の信頼度を高くする処理部５８０の動作について説明する。図７及び図８は、信頼度を高くする処理部５８０の動作を示すフローチャートであって、夫々信頼度によってパラメータをコントロールして信頼度が高い領域の距離データを合成する方法及びパラメータを変化させながら画像を取得し、信頼度が高い領域の距離データを合成する方法を示す。
【００５０】
先ず、信頼度によってパラメータをコントロールして信頼度が高い領域の距離データを合成する方法について説明する。図７に示すように、ステレオカメラからのステレオ映像により、ステレオ画像及び信頼度画像を取得する（ステップＳ１）。そして、信頼度画像から、信頼度が低い領域があるか否かを検出する（ステップＳ２）。ここで、信頼度が低い領域がある場合は、ロボット又はカメラパラメータの例えばゲイン若しくはアイリス等をコントロールする（ステップＳ３）。信頼度が低い領域がない場合は、ステップＳ１に戻る。ステップＳ３にてパラメータをコントロールした後、再度ステレオカメラによりステレオ画像を撮影してステレオ画像及び信頼度画像を取得する。この再度得られた信頼度画像において、ステップＳ２で検出された信頼度が低い領域の信頼度が高くなったか否かを検出し（ステップＳ４）、信頼度が高くなった場合は、ステップＳ１及びステップＳ３で夫々得られた信頼度画像の信頼度が高い領域の距離データを合成し（ステップＳ５）、距離データを出力する。この距離データは、後段の距離画像使用モジュールへ供給される。また、ステップＳ４にて、信頼度が低い領域の信頼度が高くならなかった場合は、再びステップＳ３に戻り、パラメータを再度コントロールしてステレオ画像を撮影し、再びステレオ画像及び信頼度画像を取得する。こうして信頼度が低い領域の信頼度が高くなるまでロボット又はカメラパラメータをコントロールし、得られた距離データを合成して信頼度が高い距離データを得る。
【００５１】
次に、パラメータを変化させながら画像を取得し、信頼度が高い領域の画像データを合成して距離データを取得する方法について説明する。図８に示すように、ロボット又はカメラパラメータの例えばゲイン若しくはアイリス等をコントロールする（ステップＳ１１）。そしてステレオカメラによりステレオ画像を撮影し、ステレオ画像及び信頼度画像を取得する（ステップＳ１２）。次いで、十分な枚数の画像を取得したか否かを判定し（ステップＳ１３）、十分取得したと判定された場合は、取得した複数の信頼度画像から信頼度が高い領域を抽出しその領域の距離データを合成し（ステップＳ１４）、距離データを出力する。ステップＳ１３にて、十分でないと判定された場合は、ステップＳ１１に戻り、再びパラメータをコントロールしたステレオカメラでステレオ画像を撮影し、ステレオ画像及び信頼度画像を取得する（ステップＳ１２）。
【００５２】
次に、上述の方法により、カメラパラメータをコントロールしても信頼度を高めることができない場合について説明する。図５（ａ）に示した紙９０２とは異なり、ランダムパターン等のテクスチャがない場合等は、ゲインコントロール等して信頼度を高めようとしても、信頼度を高くすることができず、このような信頼度の低い領域の距離データは上述の方法では得ることができない。この場合、低信頼度領域をそのままにしておき、後段の距離画像使用モジュールにおいて使用しない方法と、低信頼度領域をその周囲の高信頼度領域の正しい距離データで補完（補間）する方法とがある。
【００５３】
距離データを得ることができなかった低信頼度領域を使用しない方法においては、後段の処理で、その低信頼度領域をマスクすることになるが、マスクする領域を正確に把握する必要があり、低信頼度領域の処理に関して特別な扱いを必要として処理が複雑になる。一方、距離データが認識できなかった低信頼度領域をその周囲の高信頼度領域の距離データで補完（補間）する方法においては、低信頼度領域においても距離データが算出されるため、マスクすることなく、高信頼度領域と同様の処理を施すことができる。従って、後段の処理で扱いやすいという利点がある。
【００５４】
次に、信頼度が低く、距離データが認識できなかった低信頼度領域をその周囲の高信頼度領域の距離データで補完する処理方法について説明する。図９（ａ）乃至図９（ｅ）は、図１に示す信頼度が低い領域を信頼度が高い領域のデータで補完する処理部（距離画像補完手段）５９０における処理画像を示す模式図である。
【００５５】
図９（ａ）の左カメラ画像１１００に示すように、画像１１００の中央部分にパターンを有さない例えば段ボール等の対象物１１０１がある場合、図９（ｂ）の信頼度画像１１１０に示すように、対象物のエッジに相当する領域１１１１以外の領域１１１２は黒っぽく表示され、信頼度が低くなってしまう。この信頼度画像１１１０のうち、低信頼度領域である領域１１１２を図９（ａ）に示すカメラ画像からマスクして、距離画像を求めると、図９（ｃ）に示すように、低信頼度領域に相当する領域１１２１の距離データが取り除かれたマスク画像１１２０が得られる。次に、このマスクされた領域１１２１に対して、その周囲の信頼度が高い領域１１２２の距離データを使用してマスク領域１１２１の距離データを補完し、マスク領域１１２１の距離データを求める。補完方法に関しては、種々の方法があるが、本実施の形態においては、ラプラス方程式を用いた補間例を示す。
【００５６】
ラプラス方定式の理論的な方程式は、下記数式２で示される。
【００５７】
【数２】
0003855812.tif 000003
【００５８】
ここで、上記数式２のラプラシアン∇を書き換えると下記数式３で示される。
【００５９】
【数３】
0003855812.tif 000004
【００６０】
ここで、上記数式３のｕ（ｘ，ｙ）は、画面中の座標（ｘ，ｙ）における距離データ値を示す。ラプラス方程式の差分近似を用いた反復方で求める場合、例えば下記数式４を使用することができる。
【００６１】
【数４】
0003855812.tif 000005
【００６２】
上記数式４を使用して、適当な回数反復して、図９（ｄ）に示す完成距離画像１１３０を得ることができる。図９（ｄ）に示すように、図９（ｂ）において信頼度が低く黒く表示されていた領域１１１２等の低信頼度部がその周囲の信頼度が高い部分の距離データにより補間された距離画像（補正距離画像）１１３０が得られる。
【００６３】
このように、信頼度が低い領域を補完（補間）する際、その周囲の信頼度が高い領域の距離データを使用する。しかしながら、視界角の限界で、必ずしも、１つの画面（画像）において、低信頼度領域の周囲全てが高信頼度領域に囲まれるとは限らない。例えば、補完したい低信頼度領域が画像の周辺部にあり、低信頼度領域の周囲の一部が高信頼度領域に接していない場合等、１つの画像のみからでは低信頼度領域の補完を行うことができない場合がある。このような場合、ステレオカメラの撮像位置を変化させる、即ち、ロボットの首又は体を動かして視点方向を変える必要がある。このような場合の信頼度画像の求め方について説明する。
【００６４】
図１０（ａ）及び図１０（ｂ）は、互いに別のカメラ位置における夫々信頼度画像１２００，１２１０を示す。図１０（ａ）において、例えば画面下方に信頼度が低い部分の低信頼度部１２０１を含む低信頼度領域１２０２を有し、この低信頼度部１２０１の周囲のうち、下部は高信頼度領域に接していない場合、この低信頼度部１２０１の距離データは、図１０（ａ）に示す信頼度画像１２００のみからは補完することができない。この場合は、例えば、ロボットの視点を下方に移動、即ち、カメラ位置を下方に移動して、低信頼度部１２０１の周囲が全て高信頼度領域１２１３となるようにする。つまり、図１０（ｂ）に示すように、低信頼度領域１２１２を画面の中央位置に移動させ、低信頼度部１２１１の周囲が全て高信頼度領域１２１３となるようにする。これにより、低信頼度部１２１１のデータを、高信頼度領域１２１３の距離データを使用して補完（補間）することができる。
【００６５】
また、図１０（ｃ）に示すように、低信頼度領域１３００が極めて広い領域からなり、１つのステレオ画像に低信頼度領域１３００の全体を含むことが不可能な場合、カメラの位置（ロボットの視点）を例えば、図中矢印１３０１で示すように、左上１３０２、左下１３０３、右下１３０４、右上１３０５の順に動かし、低信頼度部１３００の周囲が全て高信頼度領域１３０６で囲まれるよう視点を移動させて例えば合計４枚のカメラ画像を得る。そして、これらの４枚のカメラ画像から信頼度画像を計算し、この四枚の信頼度画像を合成した合成信頼度画像を取得する。そして、低信頼度領域１３００の周囲を囲む高信頼度領域１３０６の距離データから低信頼度領域１３００の距離データを補完（補間）して、完全な距離画像（補正距離画像）を得ることができる。
【００６６】
以下、距離データの補完方法を図１及び図１１のフローチャートにより説明する。ステレオカメラ５１０のステレオ画像５１１から信頼度画像生成計算部５２０にて信頼度画像５２１を生成した後、信頼度画像５２１は、画像マスキング処理部５４０に入力される。この画像マスキング処理部５４０にて、先ず、図１１に示すように、信頼度画像５２１内において、信頼度が低い部分（低信頼度領域）が画像５２１の境界上にあるか否かを検出する（ステップＳ２１）。ステップＳ２１で信頼度画像５２１の境界上に低信頼度部（低信頼度領域）が検出された場合は、低信頼度部がマスクされたマスク距離画像が生成され、低信頼度部補完処理部５５０に入力される。ここで、低信頼度領域周辺の信頼度が高い部分の距離データを保持し（ステップＳ２２）、低信頼度部（低信頼度領域）の縁に沿ってステレオカメラ（ロボットの視点）を移動する（ステップＳ２３）。そして、低信頼度部（低信頼度領域）の縁を一巡したか否かを判定し（ステップＳ２４）、一巡したと判定した場合は、低信頼度部の周囲の高信頼度領域の距離データにより、低信頼度部の距離データを補完（補間）する（ステップＳ２５）。また、ステップＳ２１で低信頼度部（低信頼度領域）が画像の境界上にないと判定された場合もステップＳ２５へ進み、低信頼度部の距離データを補完する。
【００６７】
本実施の形態によれば、従来はステレオ距離計測が不可能であった以下の対象物を含む画像、即ち、
１．輝度のダイナミックレンジが大きく濃淡が淡い部分がつぶれる対象物を含む画像
２．反射率が高い表面を有するため、照明の光が反射して高輝度部分が飽和する対象物を含む画像
３．照度が低く、感度が不足し黒い部分が生じる対象物含む画像
４．単一輝度及び単一色のテクスチャを有する対象物含む画像
５．エピポーフラインに平行なテクスチャを有する対象物含む画像
に対しても、信頼度画像を作成し、信頼度が低い場合は、信頼度が高くなるようにカメラ又はロボットパラメータを変化させ再びステレオ画像を入手するか、異なるパラメータで撮像された複数のステレオ画像から信頼度が高い領域を合成し、その信頼度画像に基づいて距離画像を合成するか、又は信頼度が低い領域の距離データをその周囲の信頼度が高い距離データを使用して補完することにより、信頼度が高い距離データを得ることができる。
【００６８】
以下、上述した実施の形態におけるステレオ距離計測装置を搭載した２足歩行タイプのロボット装置について詳細に説明する。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００６９】
図１２に示すように、ロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００７０】
このロボット装置１が具備する関節自由度構成を図１３に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００７１】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００７２】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００７３】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００７４】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００７５】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００７６】
図１４には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００７７】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Central Processing Unit）や、ＤＲＡＭ、フラッシュＲＯＭ等の主要回路コンポーネント（図示しない）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示しない）などを含んだ周辺回路１２とで構成される。
【００７８】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図１４では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。あるいは、ロボット装置１外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００７９】
図１３に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００８０】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Charge Coupled Device）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００８１】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００８２】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００８３】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００８４】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が着床したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００８５】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００８６】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【００８７】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【００８８】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Zero Moment Point）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著“LEGGED LOCOMOTION ROBOTS”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００８９】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００９０】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００９１】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００９２】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００９３】
さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置１に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【００９４】
このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【００９５】
ところで、このロボット装置１は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置１における制御プログラムのソフトウェア構成例について、図１５乃至図２０を用いて説明する。
【００９６】
図１５において、デバイス・ドライバ・レイヤ４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００９７】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２８１〜２８ｎ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【００９８】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００９９】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【０１００】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図１６に示す。
【０１０１】
ミドル・ウェア・レイヤ５０は、図１６に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール６０〜６８並びに入力セマンティクスコンバータモジュール６９などを有する認識系７０と、出力セマンティクスコンバータモジュール７８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７１〜７７などを有する出力系７９とから構成されている。
【０１０２】
認識系７０の各信号処理モジュール６０〜６８は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール６９に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【０１０３】
入力セマンティクスコンバータモジュール６９は、これら各信号処理モジュール６０〜６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１に出力する。
【０１０４】
アプリケーション・レイヤ５１は、図１７に示すように、行動モデルライブラリ８０、行動切換モジュール８１、学習モジュール８２、感情モデル８３及び本能モデル８４の５つのモジュールから構成されている。
【０１０５】
行動モデルライブラリ８０には、図１８に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【０１０６】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル８３に保持されている対応する情動のパラメータ値や、本能モデル８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール８１に出力する。
【０１０７】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図１９に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【０１０８】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図２０に示すような状態遷移表９０を有している。
【０１０９】
この状態遷移表９０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【０１１０】
したがって、図２０の状態遷移表９０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（SIZE）」が「0から1000」の範囲であることや、「障害物を検出（OBSTACLE）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（DISTANCE）」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【０１１１】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル８３及び本能モデル８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル８３に保持された「喜び（Joy）」、「驚き（Surprise）」又は「悲しみ（Sadness）」の何れかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【０１１２】
また、状態遷移表９０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【０１１３】
したがって、図２０の状態遷移表９０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【０１１４】
各行動モデルは、それぞれこのような状態遷移表９０として記述されたノードＮＯＤＥ０〜 ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール８１に出力するようになされている。
【０１１５】
図１７に示す行動切換モジュール８１は、行動モデルライブラリ８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８に送出する。なお、この実施の形態においては、図１８において下側に表記された行動モデルほど優先順位が高く設定されている。
【０１１６】
また、行動切換モジュール８１は、行動完了後に出力セマンティクスコンバータモジュール７８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール８２、感情モデル８３及び本能モデル８４に通知する。
【０１１７】
一方、学習モジュール８２は、入力セマンティクスコンバータモジュール６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【０１１８】
そして、学習モジュール８２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【０１１９】
他方、感情モデル８３は、「喜び（Joy）」、「悲しみ（Sadness）」、「怒り（Anger）」、「驚き（Surprise）」、「嫌悪（Disgust）」及び「恐れ（Fear）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１２０】
具体的には、感情モデル８３は、入力セマンティクスコンバータモジュール６９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、下記数式５によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル８３は、これと同様にして全ての情動のパラメータ値を更新する。
【０１２１】
【数５】
0003855812.tif 000006
【０１２２】
なお、各認識結果や出力セマンティクスコンバータモジュール７８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【０１２３】
ここで、出力セマンティクスコンバータモジュール７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７８からの通知は、上述した学習モジュール８２にも入力されており、学習モジュール８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【０１２４】
なお、行動結果のフィードバックは、行動切換モジュール８１の出力（感情が付加された行動）によりなされるものであってもよい。
【０１２５】
一方、本能モデル８４は、「運動欲（exercise）」、「愛情欲（affection）」、「食欲（appetite）」及び「好奇心（curiosity）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１２６】
具体的には、本能モデル８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で下記数式６を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル８４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【０１２７】
【数６】
0003855812.tif 000007
【０１２８】
なお、認識結果及び出力セマンティクスコンバータモジュール７８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０１２９】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１３０】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８は、図１６に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール８１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系７９の対応する信号処理モジュール７１〜７７に与える。
【０１３１】
そしてこれら信号処理モジュール７１〜７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はＬＥＤに順次送出する。
【０１３２】
このようにしてロボット装置１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【０１３３】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【０１３４】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【０１３５】
本実施の形態においては、頭部ユニットのＣＣＤカメラ（ステレオカメラ５１０）及び画像処理回路からなるステレオ距離計測装置から信頼度画像を使用して求められた正確な補正距離データが情報処理手段に入力されるため、ロボット装置は、ステレオ距離計測データを用いた環境認識及び物体認識等、ロボットの後段の認識精度を高めることができる。
【０１３６】
また、上記パラメータは、ＣＣＤカメラのパラメータと、ロボット装置のパラメータとを含み、信頼度画像の信頼度に基づいてカメラパラメータ及びロボットパラメータを制御することで、ＣＣＤ画像の撮像条件及び撮像位置等のカメラパラメータを制御するだけではなく、ロボット装置の頭部ユニット、左右２つの腕部ユニット４Ｒ／Ｌ及び左右２つの脚部ユニット５Ｒ／Ｌ等を動作させるロボットパラメータを種々変更することにより、更に信頼度が高い距離画像を得ることができ、ロボット装置の性能が向上する。
【０１３７】
【発明の効果】
以上詳細に説明したように本発明に係るステレオ距離計測方法は、ステレオ画像を入力するステレオ画像入力工程と、上記ステレオ画像から距離データを算出し該距離データから距離画像を生成する距離画像生成工程と、１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから信頼度画像を生成する信頼度画像生成工程と、上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正工程とを有し、上記距離画像補正工程は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理工程を有するか、又は上記閾値よりも高い信頼度を有する高信頼度領域の高信頼度距離データを使用して上記低信頼度領域の低信頼度距離データを補完する補完処理工程を有するので、輝度のダイナミックレンジが大きく、淡い濃淡が潰れてしまった画像、反射率が高い表面を有して照明の光が反射し、高輝度部分が飽和した画像、照度が低く感度が足りずに黒い部分がある画像、単一輝度及び単一色のテクスチャ、並びにエピポーラインに平行なテクスチャ等、従来のステレオ距離計測方法では信頼度が低く距離情報が得られなかった対象物に対しても信頼度を向上させて正確な距離画像を得ることができる。
【０１３８】
また、本発明に係るロボット装置は、供給された入力情報に基づいて動作を行う自律型のロボット装置であって、ステレオ画像を入力するステレオ画像入力手段と、上記ステレオ画像から距離データを算出し該距離データから距離画像を生成する距離画像生成手段と、１つの上記距離画像を生成するのに使用した上記ステレオ画像の少なくとも１つから信頼度画像を生成する信頼度画像生成手段と、上記信頼度画像の信頼度に基づいて補正距離画像を生成する距離画像補正手段とを有し、上記距離画像補正手段は、上記信頼度画像の信頼度が所定の閾値よりも低い低信頼度領域を有するときは、上記信頼度を高める信頼度向上処理手段を有するか、又は上記閾値よりも高い信頼度を有する高信頼度領域の高信頼度距離データを使用して上記低信頼度領域の低信頼度距離データを補完する補完処理手段を有するので、距離計測の際に、信頼度画像を用いることにより、距離データの精度及び信頼度を高めることができ、これにより、ステレオ距離計測データを使用した環境認識及び物体認識等、ロボット装置の後段の認識精度を飛躍的に高めることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるステレオ距離計測装置を示すブロック図である。
【図２】（ａ）乃至（ｅ）は、夫々左カメラの入力画像（左カメラ画像）、右カメラの入力画像（右カメラ画像）、距離画像、信頼度画像、及び距離画像を信頼度画像でマスクした後のマスク距離画像を示す図である。
【図３】（ａ）はテンプレート７０２を抜き出す基準画像７０１を示す模式図、（ｂ）はテンプレートとマッチング比較を行う先の画像７０３を示す模式図、（ｃ）は、テンプレート７０２の距離数に対するマッチングスコア値を示すグラフ図である。
【図４】（ａ）乃至（ｃ）は、ダイナミックレンジが広く、高輝度部分が潰れた場合の夫々左カメラ画像８００、信頼度画像８１０及び距離画像８２０を示す図である。
【図５】（ａ）乃至（ｃ）はカメラのコントロールパラメータを調節した後の夫々左カメラ画像９００、信頼度画像９１０及び距離画像９２０を示す図である。
【図６】（ａ）乃至（ｃ）は、ダイナミックレンジが狭く、低輝度部分が潰れた場合の夫々左カメラ画像１０００、信頼度画像１０１０及び距離画像１０２０を示す図である。
【図７】信頼度によってパラメータをコントロールした距離データ取得方法を示すフローチャートである。
【図８】パラメータを変化させながら画像を取得し信頼度が高い部分を合成した距離データの取得方法を示すフローチャートである。
【図９】（ａ）乃至（ｅ）は、処理部５９０における処理画像を示す図であって、夫々ステレオ画像、信頼度画像、マスク後の距離画像、及び補完後の距離画像を示す図である。
【図１０】（ａ）及び（ｂ）は、別のカメラ位置における信頼度画像を示す図であり、（ｃ）は複数枚の信頼度画像を示す模式図である。
【図１１】低信頼度領域における距離データの補完方法を示すフローチャートである。
【図１２】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図１３】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図１４】同ロボット装置の回路構成を示すブロック図である。
【図１５】同ロボット装置のソフトウェア構成を示すブロック図である。
【図１６】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図１７】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図１８】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図１９】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図２０】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
５０１  ステレオ距離計測装置、５１０  ステレオカメラ、５１１  ステレオ画像、５２０  信頼画像生成計算部、５２１  信頼画像、５３０  距離画像生成計算部、５３１  距離画像、５３２  マスク距離画像、５４０  画像マスキング処理部、５５０  低信頼度領域補完処理部、５３３  距離画像、５６０  距離画像使用モジュール
【図１】
0003855812.tif 000008
【図２】
0003855812.tif 000009
【図３】
0003855812.tif 000010
【図４】
0003855812.tif 000011
【図５】
0003855812.tif 000012
【図６】
0003855812.tif 000013
【図７】
0003855812.tif 000014
【図８】
0003855812.tif 000015
【図９】
0003855812.tif 000016
【図１０】
0003855812.tif 000017
【図１１】
0003855812.tif 000018
【図１２】
0003855812.tif 000019
【図１３】
0003855812.tif 000020
【図１４】
0003855812.tif 000021
【図１５】
0003855812.tif 000022
【図１６】
0003855812.tif 000023
【図１７】
0003855812.tif 000024
【図１８】
0003855812.tif 000025
【図１９】
0003855812.tif 000026
【図２０】
0003855812.tif 000027