(57)【要約】      （修正有）【課題】効率よく障害物を探索するロボット装置及びロボット装置の障害物探索方法を提供する。【解決手段】ロボット装置１と障害物との相対位置を示す障害物占有確率表を生成し、ロボット装置１は障害物との接触をさけながら動作することができる。障害物占有確率表は、グリッド５５に分割されており、各グリッド５５には障害物の存在確率が記憶されている。障害物更新部は、障害物占有確率表における障害物の存在確率を時間とともに所定の値に収束させる。ロボット装置１は、この障害物存在確率が曖昧な領域を優先的に探索する。【選択図】  図６
2004298975.tif 000002
【特許請求の範囲】
【請求項１】
外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置において、
実空間の画像を撮像する撮像手段と、
上記撮像手段によって撮像された画像データをもとに障害物の存在する領域を検出する障害物検出手段と、
複数の単位領域からなる障害物占有確率表を当該ロボット装置を中心とした仮想座標系上に構築する障害物占有確率表構築手段と、
上記障害物検出手段において障害物の存在が検出された単位領域に障害物存在確率を記憶させる存在確率記憶手段と、
上記障害物が検出された時刻からの時間経過に応じて、上記単位領域に記憶された障害物存在確率を所定値に減衰させる存在確率更新手段と、
上記障害物存在確率の値を基に障害物を探索すべき領域を決定する探索領域決定手段と
を備えることを特徴とするロボット装置。
【請求項２】
上記存在確率記憶手段は、上記単位領域に存在する障害物が検出された障害物検出時刻を記憶し、上記存在確率更新手段は、上記障害物検出時刻からの時間経過を基に障害物存在確率を所定値に減衰させることを特徴とする請求項１記載のロボット装置。
【請求項３】
複数の単位領域で１つの障害物検出時刻を記憶することを特徴とする請求項２記載のロボット装置。
【請求項４】
上記探索領域決定手段は、障害物存在確率の低い領域を優先的に探索することを特徴とする請求項１記載のロボット装置。
【請求項５】
障害物存在確率の低い単位領域を歩行可能領域であるとして、目的地までの経路選択を行う経路選択手段を備えることを特徴とする請求項１記載のロボット装置。
【請求項６】
外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置の障害物探索方法であって、
実空間の画像を撮像する撮像工程と、
上記撮像工程によって撮像された画像データをもとに障害物の存在する領域を検出する障害物検出工程と、
複数の単位領域からなる障害物占有確率表を当該ロボット装置を中心とした仮想座標系上に構築する障害物占有確率表構築工程と、
上記障害物検出工程において障害物の存在が検出された単位領域に障害物存在確率を記憶させる存在確率記憶工程と、
上記障害物が検出された時刻からの時間経過に応じて、上記単位領域に記憶された障害物存在確率を所定値に減衰させる存在確率更新工程と、
上記障害物存在確率の値を基に障害物を探索すべき領域を決定する探索領域決定工程と
を有することを特徴とする障害物探索方法。
【請求項７】
上記存在確率記憶工程では、上記単位領域に存在する障害物が検出された障害物検出時刻を上記単位領域に記憶させ、
上記存在確率更新工程では、上記障害物検出時刻からの時間経過を基に障害物存在確率を所定値に減衰させることを特徴とする請求項６記載の障害物探索方法。
【請求項８】
複数の単位領域に１つの障害物検出時刻を記憶させることを特徴とする請求項７記載の障害物探索方法。
【請求項９】
上記探索領域決定工程では、障害物存在確率の低い領域を優先的に探索することを特徴とする請求項６記載の障害物探索方法。
【請求項１０】
障害物存在確率の低い単位領域を歩行可能領域であるとして、上記歩行可能領域を通過する経路を選択する経路選択工程を有することを特徴とする請求項６記載の障害物探索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置及びロボット装置の障害物探索方法に関する。
【０００２】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等の脚式移動ロボットは、既に実用化されつつある。
【０００３】
これらの脚式移動ロボットは、産業用ロボットと比較してエンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。
【０００４】
このようなエンターテインメントロボットは、産業用ロボットと異なり、周囲の外部状態やロボット自身の内部状態に応じて、自立的に動作を行う。例えば、歩行動作では、ロボット装置は、外部の障害物を検出し、障害物を回避するような歩行経路を計画する。従来、ロボット装置は、ロボット装置の位置と障害物との相対距離を示す障害物占有確率表を作成し、これを基に歩行経路を決定している。
【０００５】
図１６は、障害物占有確率表の一例を示している。障害物占有確率表は、ロボット装置を中心とした仮想座標系上に形成される。この仮想座標系は、ロボット装置の足底が設置する平面を基準とする２次元座標系として作成され、この平面状にないものは全て障害物Ｓとして認識される。この仮想座標系の中心は、ロボット装置自身である。仮想座標系上のロボット装置の周囲には、複数のグリッド毎に、形成される障害物占有確率表が形成される。各グリッドには、障害物の存在確率が記憶される。ロボット装置は、障害物の存在確率が低い領域を経路可能領域として歩行経路を決定する。
【０００６】
【発明が解決しようとする課題】
このように、ロボット装置の中には、自立的に歩行経路を立て、この計画に従い歩行動作を行い、歩行経路上に障害物を発見した場合には、障害物の存在しない領域を探索し、新たな歩行経路を立てるものもある。
【０００７】
ロボット装置は、ロボット装置自身の周囲の領域を順々に探索していき、障害物が発見されると、新たな障害物占有確率表を作成するための再探索を開始するが、この再探索において、従来のロボット装置は、例えば、端から順番に探索し直すなどして、あらゆる方向を手当たり次第探索するため、探索効率が悪く、歩行経路算出までに時間がかかり、歩行動作が遅延するという問題があった。
【０００８】
本発明は、上述した課題に鑑みてなされたものであって、効率よく障害物を探索するロボット装置及びロボット装置の障害物探索方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるロボット装置は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置において、実空間の画像を撮像する撮像手段と、撮像手段によって撮像された画像データをもとに障害物の存在する領域を検出する障害物検出手段と、複数の単位領域からなる障害物占有確率表を当該ロボット装置を中心とした仮想座標系上に構築する障害物占有確率表構築手段と、障害物検出手段において障害物の存在が検出された単位領域に障害物存在確率を記憶させる存在確率記憶手段と、障害物が検出された時刻からの時間経過に応じて、単位領域に記憶された障害物存在確率を所定値に減衰させる存在確率更新手段と、障害物存在確率の値を基に障害物を探索すべき領域を決定する探索領域決定手段とを備える。
【００１０】
さらに、本発明にかかる障害物探索方法は、外部情報、外部からの働きかけに応じた動作及び／又は内部状態に基づいて自律的動作を実行するロボット装置の障害物探索方法であって、実空間の画像を撮像する撮像工程と、撮像工程によって撮像された画像データをもとに障害物の存在する領域を検出する障害物検出工程と、複数の単位領域からなる障害物占有確率表を当該ロボット装置を中心とした仮想座標系上に構築する障害物占有確率表構築工程と、障害物検出工程において障害物の存在が検出された単位領域に障害物存在確率を記憶させる存在確率記憶工程と、障害物が検出された時刻からの時間経過に応じて、単位領域に記憶された障害物存在確率を所定値に減衰させる存在確率更新工程と、障害物存在確率の値を基に障害物を探索すべき領域を決定する探索領域決定工程とを有する。
【００１１】
【発明の実施の形態】
本発明を適用したロボット装置は、ロボット装置と障害物との相対位置を示す地図（障害物占有確率表と記す）を生成し、障害物との接触を避けながら動作することができる。障害物占有確率表は、小さな区画（グリッドと記す。）に分割されており、各グリッドには障害物の存在確率が記憶されている。本発明に係るロボット装置は、障害物の存在確率を時間とともに所定値に収束させ、この存在確率に応じて障害物の探索領域を決定するため、障害物の探索効率を向上できる。
【００１２】
以下、図面を参照して本発明を適用したロボット装置１について説明する。図１は、ロボット装置１の外観を示している。ロボット装置１は、人間の外見を模した形状をしており、体幹部ユニット２の所定の位置の頭部ユニット３が連結されるとともに、左右２つの腕部ユニット４Ｒ／Ｌと、左右二つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。）。
【００１３】
ロボット装置１を構成するユニットは、関節を介して可動的に接合されている。図２は、ロボット装置１が具備する関節を示している。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００１４】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０３と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・他自由度構造体である。但し、手部の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と過程する。したがって、各腕部は７自由度を有する。
【００１５】
また、体幹部ユニット２２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００１６】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１４と、股関節ピッチ軸１１５と、股関節ロール軸１１６と、肘関節ピッチ軸１１７と、足首関節ピッチ軸１１９と、足首関節ロール軸１１８と、足部とで構成される。本明細書中では、股関節ピッチ軸１１５と股関節ロール軸１１６の交点は、ロボット装置１の股関節位置を定義する、人体の足部は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。以上を総括すれば、ロボット装置１全体としては、３２自由度を有する。
【００１７】
ロボット装置１は、これらの関節を軸にして各ユニットを駆動し、人間と同様の動作を行う。関節は、関節を駆動するアクチュエータ３１と、関節の屈折量を検出するポテンショメータ３２とから構成される。ポテンショメータ３２とアクチュエータ３１とは、図３に示すように、ハブを介して信号処理回路１０に接続されている。信号処理回路１０は、ポテンショメータ３２から関節の実際の屈折量を入力するとともに、この屈折量をもとにアクチュエータ３１を制御する。
【００１８】
信号処理回路１０には、ポテンショメータ３２のほかにＣＣＤカメラ２１、マイクロフォン、タッチセンサ２２が接続されている。ＣＣＤカメラ２１は、ロボット装置１の目に相当し、画像データを取得する。マイクロフォンは人間の耳に相当し、タッチセンサ２２は人間の触覚に相当する。
【００１９】
ＣＣＤカメラ２１は、２つ設けられており、カメラの視差を利用して被写体までの距離を検出することが可能となっている。以下の説明では、２つのＣＣＤカメラ２１を合わせて、撮像手段４０と呼ぶ。
【００２０】
信号処理回路１０には、さらに、距離センサ２３や角速度センサ２３、加速度センサ２７が接続されている。ロボット装置１は、距離センサ２３や角速度センサ２３からの出力をもとに、ロボット装置１自身の移動速度や移動方向などを検出する。
【００２１】
フラッシュＲＯＭ１３、メモリカード１５などの記録手段には、プログラムが記録されている。信号処理回路１０は、これらの記録手段からプログラムを読み出す。ＤＲＡＭ１２は、信号処理回路１０の作業領域であり、信号処理回路１０は、記録手段から読み出したプログラム、各種センサからのセンサデータ、ＣＣＤカメラ２１からの画像データ及びマイクロフォンからの音声データなどをＤＲＡＭ１２に展開する。ＣＰＵ１１は、ＤＲＡＭ１２、フラッシュＲＯＭ１３、ＰＣカードインターフェース１４等の記録手段を制御している。
【００２２】
信号処理回路１０は、ＣＣＤカメラ２１が撮像した画像データやマイクロフォンが検出した音声データなどを基にロボット装置１の外部状態を把握し、この外部状態とロボット装置１の内部状態とをもとにロボット装置１の動作を決定する。信号処理回路１０が決定する動作には、例えば、歩行動作がある。歩行動作では、外部の障害物を検出し、障害物と接触しないように、歩行経路を選択して歩行する。
【００２３】
図４は、ロボット装置１の歩行動作のための機能ブロック図である。この機能ブロック図に記載された機能は、フラッシュＲＯＭ１３、メモリカード１５などの記録手段に記録されたプログラムを基に信号処理回路１０が実行する。
【００２４】
ロボット装置１は、図４に示すように、撮像手段４０によって撮像された画像データを基に障害物占有確率表５１を作成する画像処理部５０と、ロボット装置１の歩行経路を決定する行動制御部６０と、アクチュエータ３１にコマンドを出力し歩行経路に従った歩行動作を実行させる駆動部７０とを備える。
【００２５】
画像処理部５０は、図５に示すように、障害物占有確率表５１を構築する障害物占有確率表構築部５２、障害物の有無を判断する障害物判断部５３、障害物占有確率表５１に記憶された存在確率を管理する確率更新部５４から構成される。
【００２６】
障害物判断部５３は、撮像手段４０によって撮像された画像データを基に障害物の存在するか否かを判断する。障害物判断部５３は、オドメトリを入力し、ロボット装置１を中心としたロボット座標系をカメラ位置を中心としたカメラ座標系へ変換する同次変換行列を導出する。オドメトリとは、ロボット装置１の姿勢や移動量であり、例えば、何歩移動したか、どの方向を向いているかを表す。ロボット装置１の姿勢や移動量は、ロボット装置１の各関節に設けられたポテンショメータ３２から関節角を基に算出される。オドメトリの算出は、オドメトリ算出部８０によって実行される。
【００２７】
障害物判断部５３は、更に、撮像手段４０によって撮像された画像データを入力する。この画像データは、２つのＣＣＤカメラ２１が取得した視差画像である。障害物判断部５３は、撮像手段４０のキャリブレーションパラメータを利用して、視差画像を３次元の位置データ（レンジデータ）へ変換する。障害物判断部５３は、レンジデータからハフ変換などを使い平面を検出する。そして、障害物判断部５３は、上述した同次変換行列からロボット装置１の足底が接地している平面との対応を取り、例えば、壁及びテーブル等、ロボット装置１の足底平面からオフセットした平面を除く平面を床面として選択する。さらに、障害物判断部５３は、床面上にない点、例えば所定の閾値よりも高い位置にあるものを障害物として床面からの距離を算出し、この障害物データを障害物占有確率表構築部５２に出力する。
【００２８】
障害物占有確率表構築部５２は、ロボット座標系を基に障害物占有確率表５１を作成する。障害物占有確率表５１は、複数のグリッド５５から構成されている。障害物占有確率表５１の各グリッド５５には、障害物が存在する確率及び障害物が視認された時刻が記憶されている。なお、本実施の形態において、存在確率は、０〜１の値をとる。図６は、障害物占有確率表５１の一例を示している。なお、図６は、障害物占有確率表５１を簡略して表した図であるが、実際の障害物占有確率表はグリッド数が多く複雑な表現が可能である。本実施の形態では、例えば、障害物占有確率表の一辺は実空間を４ｍに対応させ、縦横２ｃｍのグリッドが敷き詰めている。
【００２９】
各グリッド５５は、障害物の存在確率に応じて着色されている。この場合、グリッド５５は、白と黒のモノトーンで着色されており、黒味が強くなるにつれて障害物の存在する確率が高くなることを表している。この実施の形態では、障害物の存在が濃厚なグリッド（障害物の存在確率の高いグリッド）を障害物存在グリッド５６、障害物の存在が希薄なグリッド（障害物の存在確率の低いグリッド）を障害物不在グリッド５７、障害物の存在があいまいなグリッドを障害物不明グリッド５８と呼ぶ。
【００３０】
以下の図面では、障害物存在グリッド５６を黒色、障害物不在グリッド５７を白抜き、障害物不明グリッド５８は斜線で表現する。また、障害物占有確率の大小を斜線の黒色部分の占有面積で表現する。図５に示す障害物存在確率表では、ロボット装置１の前方に障害物不在グリッド５７が存在し、ロボット装置１の右後に障害物存在グリッド５６が存在する。そして障害物存在グリッド５６と障害物不在グリッド５８を除く空間は、障害物不明グリッド５７となっている。
【００３１】
障害物占有確率表構築部５２は、障害物判断部５３からの障害物データと、ロボット装置１の移動量であるオドメトリを入力する。障害物占有確率表構築部５２は、入力したオドメトリと障害物データに応じて障害物占有確率表５１を更新する。障害物占有確率表５１の更新には、新たな障害物の発見に基づく障害物占有確率表５１の更新と、ロボット装置１の移動に基づく障害物占有確率表５１の更新とがある。新たな障害物を発見した場合、障害物占有確率表構築部５２は、障害物が発見されたグリッド５５を黒く着色する。ロボット装置１が移動した場合には、ロボット装置１の移動に伴って、各グリッド５５とロボット装置１の相対位置を更新する。
【００３２】
確率更新部５４は、このロボット装置１の特徴部分である。確率更新部５４は、各グリッドが記憶する障害物を視認した時刻から現時刻までの時間経過を算出し、この経過時間に応じて障害物の存在確率を減衰する。
【００３３】
本実施の形態では、障害物の存在確率を時間とともに変化させることにより、障害物の存在が曖昧になった領域を明確化している。本実施の形態では、確率更新部５４は、障害物の存在確率を０．５に減衰させる。存在確率０．５は、障害物の存在も障害物の不在も示さない値である。ロボット装置１は、障害物の探索領域を決定する場合、存在確率が０．５に近い曖昧な領域を優先的に探索する。存在確率は、ロボット装置１が探索領域を決定するための因子となる。
【００３４】
障害物占有確率表５１を構成する各グリッド５５には、撮像手段４０が各グリッド５５を撮像した時間が記録されている。確率更新部５４は、定期的に各グリッド５５に記録された撮像時刻を読み出し、撮像時刻と現時刻との差を基に存在確率を更新する。障害物の存在確率は、時間減衰され、最終的には、０．５に収束する。
【００３５】
ロボット装置１の探索手順について、図７〜図９を参照して説明する。図７〜図９は、ロボット装置１と障害物の存在する実空間と、ロボット装置１が実空間に対して仮想的に構築した障害物占有確率表５１を示している。実空間は図面上段に描かれ、実空間に対する障害物占有確率表５１が図面下段に描かれている。
【００３６】
図７〜図９の図面は、時系列に並んでいる。図７（ａ）と図７（ａ’）はロボットの起動時（時刻ｔ０）、図７（ｂ）と図７（ｂ’）は起動からｔ１時間経過した時刻ｔ１、図７（ｃ）と図７（ｃ’）は起動からｔ２時間経過した時刻ｔ２における実空間と障害物占有確率表を示している。
【００３７】
また、図８（ａ）と図８（ａ’）は時刻ｔ３、図８（ｂ）と図８（ｂ’）は時刻ｔ４、図８（ｃ）と図８（ｃ’）は時刻ｔ５、図８（ｄ）と図８（ｄ’）と図９は、時刻ｔ６における実空間と障害物占有確率表を示している。
【００３８】
起動時（時刻ｔ０）における障害物占有確率表５１は、初期化されている。初期化時のグリッド５５は、障害物の存在が曖昧な障害物不明グリッド５８である。起動時の障害物存在確率は、例えば、０．５に設定される。
【００３９】
時刻ｔ１において、ロボット装置１は撮像を開始する。ここでは、ロボット装置１の視野範囲Ｑに障害物Ｓが含まれないため、ロボット装置１の視野範囲Ｑに存在するグリッドは、障害物不在グリッド５７となる。
【００４０】
時刻ｔ２において、ロボット装置１は障害物Ｓの方向に前進する。そして、ロボット装置１の視野範囲Ｑに障害物Ｓが含まれる。ロボット装置１は、障害物Ｓを検出すると、障害物Ｓの存在するグリッドを黒く着色し、障害物存在グリッド５６に変更する。なお、ここで視野範囲Ｑに含まれないグリッド５５は、初期化時から更新されないので、障害物不明グリッド５８である。
【００４１】
時刻ｔ３において、障害物占有確率表５１には、ロボット装置１の右側に障害物不在領域５７が存在する。ロボット装置１は、ロボット装置１の前方に存在する障害物Ｓを回避するために、右に迂回する経路を選択し、障害物の不在領域に向かって歩行する。
【００４２】
時刻ｔ４において、障害物Ｓがロボット装置１と同じ方向に移動を開始すると、ロボット装置１の前方には障害物Ｓが存在するため、障害物Ｓが存在する空間のグリッド５５は黒く着色され、障害物存在領域５６となる。ここで、障害物占有確率表５１は、既に探索した領域の存在確率を保持しているため、障害物Ｓが既に移動した領域も黒く着色したままになっている。ここで、ロボット装置１は、障害物Ｓの大きさを実際の大きさより大きなものであると誤認識している。
【００４３】
ロボット装置１の周囲を障害物が移動すると、障害物の軌跡を示す領域全てが障害物の存在領域になる。図８（ｃ’）は、障害物の軌跡を示す領域全てが障害物の存在領域となった場合の障害物占有確率表５１の状態を示している。このように、障害物に囲まれると、ロボット装置１は、歩行経路を決定することができなくなる。
【００４４】
そこで、本実施の形態では確率更新部５４によって、障害物の確率を更新することで、誤認識を解消している。確率更新部５４は、ロボット装置１の歩行動作の間、定期的に障害物の存在確率を更新し、所定時間だけ過去に撮像された領域の存在確率を０．５に近い値に収束させる。そのため、図９に示すように、障害物の視認から時間の経過したグリッドは、斜線の黒色部分が少なくなっている。ロボット装置１は、障害物の存在確率が低い領域、すなわち障害物の存在が曖昧な領域を優先的に探索する。
【００４５】
このように、本発明を適用したロボット装置１は、領域の撮像時間からの経過時間を基に障害物の存在確率を変更する。これにより、障害物を優先的に探索する領域を効率的に決定することができる。
【００４６】
行動制御部６０は、障害物占有確率表５１の障害物の存在確率が低い領域を移動可能領域とみなして目的地までの経路探索を行う。行動制御部６０の経路探索としては、例えば経路全体のコストを最小化するＡ＊探索という方法を用いる。このＡ＊探索は、評価関数としてｆを用い、ｈ関数が許容的であるような最良優先探索であり、いかなるヒューリスティック関数に対しても効率最適という点を用いている。なお、Ａ＊探索は、単なる例示であり、探索方法を限定するものではない。
【００４７】
このように、本実施の形態におけるロボット装置１は、障害物の存在位置を示す障害物占有確率表５１を生成し、障害物を視認した時刻からの経過時間に従って障害物の存在する確率を０．５に収束させる。そして、障害物の存在確率が低い領域から順に障害物の探索を行う。そのため、本実施の形態におけるロボット装置１では、障害物の探索領域を効率的に決定する。
【００４８】
以下、本発明の実施の形態における２足歩行タイプのロボット装置１について詳細に説明する。この人間型のロボット装置１は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボット装置１であり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００４９】
以下、信号処理回路が実行するソフトウェアの構成例について、図１０〜図１４を用いて説明する。なお、予めフラッシュＲＯＭ１３に格納されており、ロボット装置１１の電源投入初期時において読み出される。また、上述した探査処理に関するプログラムも予めフラッシュＲＯＭ１３に格納されている。
【００５０】
図１０において、デバイス・ドライバ・レイヤ１４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット１４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２１等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００５１】
また、ロボティック・サーバ・オブジェクト１４２は、デバイス・ドライバ・レイヤ１４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ３１等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット１４３と、電源の切り換えなどを管理するソフトウェア群でなるパワーマネジャ１４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネジャ１４５と、ロボット装置１１の機構を管理するソフトウェア群でなるデザインド・ロボット１４６とから構成されている。
【００５２】
マネジャ・オブジェクト１４７は、オブジェクト・マネジャ１４８及びサービス・マネジャ１４９から構成されている。オブジェクト・マネジャ１４８は、ロボティック・サーバ・オブジェクト１４２、ミドル・ウェア・レイヤ１５０、及びアプリケーション・レイヤ１５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネジャ１４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００５３】
ミドル・ウェア・レイヤ１５０は、ロボティック・サーバ・オブジェクト１４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ１５１は、ミドル・ウェア・レイヤ１５０の上位層に位置し、当該ミドル・ウェア・レイヤ１５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１１の行動を決定するためのソフトウェア群から構成されている。
【００５４】
なお、ミドル・ウェア・レイヤ１５０及びアプリケーション・レイヤ１５１の具体なソフトウェア構成をそれぞれ図１１、図１２に示す。
【００５５】
ミドル・ウェア・レイヤ１５０は、図１１に示すように、騒音検出用１６０、温度検出用１６１、明るさ検出用１６２、音階認識用１６３、距離検出用１６４、姿勢検出用１６５、タッチセンサ用１６６、動き検出用１６７及び色認識用１６８の各信号処理モジュール並びに入力セマンティクスコンバータモジュール１６９などを有する認識系１７０と、出力セマンティクスコンバータモジュール１７９並びに姿勢管理用、トラッキング用１７２、モーション再生用１７３、歩行用１７４、転倒復帰用１７５、ＬＥＤ点灯用１７６及び音再生用１７７の各信号処理モジュールなどを有する出力系１７９とから構成されている。
【００５６】
認識系１７０の各信号処理モジュール１７０〜１７８は、ロボティック・サーバ・オブジェクト１４２のバーチャル・ロボット１４３によりＤＲＡＭ１２から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール１６９に与える。ここで、例えば、バーチャル・ロボット１４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００５７】
入力セマンティクスコンバータモジュール１６９は、これら各信号処理モジュール１６０〜１６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ１５１に出力する。
【００５８】
アプリケーション・レイヤ１５１は、図１２に示すように、行動モデルライブラリ１８０、行動切換モジュール１８１、学習モジュール１８２、感情モデル１８３及び本能モデル１８４の５つのモジュールから構成されている。
【００５９】
行動モデルライブラリ１８０には、図１３に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【００６０】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール１６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル１８３に保持されている対応する情動のパラメータ値や、本能モデル１８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール１８１に出力する。
【００６１】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図１４に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００６２】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図１５示すような状態遷移表を有している。
【００６３】
この状態遷移表では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【００６４】
したがって、図１５の状態遷移表で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【００６５】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル１８３及び本能モデル１８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル１８３に保持された「喜び（Ｊｏｙ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」又は「悲しみ（Ｓａｄｎｅｓｓ）」の何れかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【００６６】
また、状態遷移表では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できるほかの各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００６７】
したがって、図１６の状態遷移表で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ１２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００６８】
各行動モデルは、それぞれこのような状態遷移表として記述されたノードＮＯＤＥ０〜ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール１６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール１８１に出力するようになされている。
【００６９】
図１３に示す行動切換モジュール１８１は、行動モデルライブラリ１８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ１５０の出力セマンティクスコンバータモジュール１７８に送出する。なお、この実施の形態においては、図１３において下側に表記された行動モデルほど優先順位が高く設定されている。
【００７０】
また、行動切換モジュール１８１は、行動完了後に出力セマンティクスコンバータモジュール１８７から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール１８２、感情モデル１８３及び本能モデル１８４に通知する。
【００７１】
一方、学習モジュール１８２は、入力セマンティクスコンバータモジュール１６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【００７２】
そして、学習モジュール１８２は、この認識結果及び行動切換えモジュール１８１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ１８０における対応する行動モデルの対応する遷移確率を変更する。
【００７３】
他方、感情モデル１８３は、「喜び（Ｊｏｙ）」、「悲しみ（Ｓａｄｎｅｓｓ）」、「怒り（Ａｎｇｅｒ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」、「嫌悪（Ｄｉｓｇｕｓｔ）」及び「恐れ（Ｆｅａｒ）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル１８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール７９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール１８１からの通知などに基づいて周期的に更新する。
【００７４】
具体的には、感情モデル１８３は、入力セマンティクスコンバータモジュール１６９から与えられる認識結果と、そのときのロボット装置１１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル１８３は、これと同様にして全ての情動のパラメータ値を更新する。
【００７５】
【数１】
2004298975.tif 000003
【００７６】
なお、各認識結果や出力セマンティクスコンバータモジュール１７８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【００７７】
ここで、出力セマンティクスコンバータモジュール１７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル１８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール１７８からの通知は、上述した学習モジュール１８２にも入力されており、学習モジュール１８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【００７８】
なお、行動結果のフィードバックは、行動切換モジュール１８１の出力（感情が付加された行動）によりなされるものであってもよい。
【００７９】
一方、本能モデル１８４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル１８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール１６９から与えられる認識結果や、経過時間及び行動切換モジュール１８１からの通知などに基づいて周期的に更新する。
【００８０】
具体的には、本能モデル１８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール１７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル１７４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【００８１】
【数２】
2004298975.tif 000004
【００８２】
なお、認識結果及び出力セマンティクスコンバータモジュール１７８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール１７８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【００８３】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【００８４】
一方、ミドル・ウェア・レイヤ１５０の出力セマンティクスコンバータモジュール１７８は、図１２に示すように、上述のようにしてアプリケーション・レイヤ１４１の行動切換モジュール１８１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系１７９の対応する信号処理モジュール１７１〜１７７に与える。
【００８５】
そしてこれら信号処理モジュール１７１〜１７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータ３１に与えるべきサーボ指令値や、スピーカ２５から出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト１４２のバーチャル・ロボット１４３及び信号処理回路を順次介して対応するアクチュエータ３１又はスピーカ２５に順次送出する。
【００８６】
このようにしてロボット装置１１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【００８７】
このような制御プログラムは、ロボット装置１が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【００８８】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１１に伝送されて読み込まれる。また、ロボット装置１１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【００８９】
以上、本発明を適用したロボット装置について説明したが、本発明は、本実施の形態で説明したロボット装置に限定されるものではなく、本発明の要旨を含む範囲での変形・改良は本発明に含まれるものとする。例えば、上記実施の形態では、障害物が視認された時刻を各グリッドが記憶するとしたが、各グリッドが障害物を視認した時刻を記憶するのではなく、隣接する複数のグリッドで１つのグループを作成し、このグループ内で最後に視認された時刻を記憶するようにしてもよい。これにより、障害物の存在確率を更新するための計算量及び視認時刻を記憶するためのメモリの容量を少なくすることができる。
【００９０】
また、ロボット装置は、２足歩行のロボット装置としたが、経路探索機能を有するロボット装置であれば、４足歩行やローラを使って歩行するロボット装置などでもよい。
【００９１】
【発明の効果】
上述したように、本発明におけるロボット装置は、ロボット装置を中心とした座標系上に障害物記憶空間を生成する。障害物記憶空間は、複数の単位領域からなり、各単位領域には障害物存在確率が記憶されている。ロボット装置は、障害物が検出された時刻からの時間経過に応じて障害部存在確率を所定の値に減衰させる。これにより、ロボット装置は、障害物の存在が曖昧な領域を認識することができるので、障害物の存在が曖昧な領域を優先的に検索し、障害物の検出効率を向上することができる。
【００９２】
また、本発明におけるロボット装置は、障害物存在確率の減衰により、障害物の存在情報を保持し続けることはなく、障害物の移動を検出することができる。
【図面の簡単な説明】
【図１】本発明を適用したロボット装置の外観構成を示す斜視図である。
【図２】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図３】同ロボット装置の回路構成を示す図である。
【図４】歩行動作における機能ブロック図である。
【図５】画像処理部の内部構成を示す図である。
【図６】障害物占有確率表の一例を示す図である。
【図７】ロボット装置の歩行動作及び障害物占有確率表の推移を時系列的に示した図である。
【図８】ロボット装置の歩行動作及び障害物占有確率表の推移を時系列的に示した図である。
【図９】グリッドの色の変化を示す図である。
【図１０】同ロボット装置のソフトウェア構成を示す図である。
【図１１】同ロボット装置のミドル・ウェア・レイヤの構成を示す図である。
【図１２】同ロボット装置のアプリケーション・レイヤの構成を示す図である。
【図１３】アプリケーション・レイヤの行動モデルライブラリの構成を示す図である。
【図１４】同ロボット装置が行動決定のための情報となる有限確率オートマトンを説明する図である。
【図１５】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【図１６】従来の障害物占有確率表の一例を示す図である。
【符号の説明】
１  ロボット装置、３１  アクチュエータ、３２  ポテンショメータ、４０  撮像手段、５０  画像処理部、５１  障害物占有確率表、５２  障害物占有確率表構築部、５３  障害物判断部、５４  確率更新部、５５  グリッド、５６  障害物存在グリッド、５７  障害物不在グリッド、５８  障害物不明グリッド、６０行動制御部、７０  駆動部、８０  オドメトリ算出部
【図１】
2004298975.tif 000005
【図２】
2004298975.tif 000006
【図３】
2004298975.tif 000007
【図４】
2004298975.tif 000008
【図５】
2004298975.tif 000009
【図６】
2004298975.tif 000010
【図７】
2004298975.tif 000011
【図８】
2004298975.tif 000012
【図９】
2004298975.tif 000013
【図１０】
2004298975.tif 000014
【図１１】
2004298975.tif 000015
【図１２】
2004298975.tif 000016
【図１３】
2004298975.tif 000017
【図１４】
2004298975.tif 000018
【図１５】
2004298975.tif 000019
【図１６】
2004298975.tif 000020