(57)【要約】【課題】ランドマークを用いてロボット装置の行動範囲を簡便に制約することができる行動制御装置を提供する。【解決手段】ランドマーク認識部４１０は、ランドマークを一意に認識し、ランドマークの位置情報ｒＰｏ（ｘ、ｙ、ｚ）を得る。ランドマーク地図作成部４２０は、ランドマーク認識部４１０が送ってきた全てのランドマーク位置情報ｒＰｏ（ｘ、ｙ、ｚ）を統合し、ランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。行動可能領域認識部４３０は、ランドマーク地図情報ｒＰｏ×Ｎを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動制御部４４０は、行動可能領域認識部４３０から送られた行動可能領域地図を用いて、ロボット装置１が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。【選択図】  図５
2004298977.tif 000002
【特許請求の範囲】
【請求項１】
移動型ロボット装置の行動を制御する行動制御装置において、
離散的に配置されたランドマークを認識するランドマーク認識手段と、
前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、
前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、
前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段と
を備えることを特徴とする行動制御装置。
【請求項２】
前記ランドマーク地図作成手段は、前記ランドマーク認識手段によって認識されたランドマーク情報と、ロボット装置自身のオドメトリ情報を統合してランドマークの幾何的な位置を推定し、これをランドマーク地図として出力することを特徴とする請求項１記載の行動制御装置。
【請求項３】
前記行動制御手段は、ロボット装置周辺の環境の障害物地図に、前記行動可能領域地図を仮想的な障害物として加え、当該障害物地図内において、自由領域と判定された領域のみを移動するようにロボット装置の行動を制御することを特徴とする請求項１記載の行動制御装置。
【請求項４】
移動型ロボット装置の行動を制御するための行動制御方法において、
離散的に配置されたランドマークを認識するランドマーク認識工程と、
前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、
前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、
前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程と
を備えることを特徴とする行動制御方法。
【請求項５】
移動型ロボット装置によって実行されてその行動を制御するための行動制御プログラムにおいて、
離散的に配置されたランドマークを認識するランドマーク認識工程と、
前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、
前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、
前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程と
を備えてなることを特徴とする行動制御プログラム。
【請求項６】
頭部ユニットと、少なくとも１以上の可動脚ユニットと、情報処理手段を有する胴体ユニットとを備えてなり、床面上の物体を認識しながら前記可動脚ユニットを用いて床面を移動する移動型ロボット装置において、
前記床面上に離散的に配置されたランドマークを認識するランドマーク認識手段と、
前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、
前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、
前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段と
を備えることを特徴とする移動型ロボット装置。
【請求項７】
前記ランドマーク地図作成手段は、前記ランドマーク認識手段によって認識されたランドマーク情報と、ロボット装置自身のオドメトリ情報を統合してランドマークの幾何的な位置を推定し、これをランドマーク地図として出力することを特徴とする請求項６記載の移動型ロボット装置。
【請求項８】
前記行動制御手段は、ロボット装置周辺の環境の障害物地図に、前記行動可能領域地図を仮想的な障害物として加え、当該障害物地図内において、自由領域と判定された領域のみを移動するようにロボット装置の行動を制御することを特徴とする請求項６記載の移動型ロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は行動制御装置及び行動制御方法に関し、特に移動型ロボット装置に適用されて当該移動型ロボット装置が床面上の物体を認識しながら移動するための行動制御装置、行動制御方法及び行動制御プログラムに関する。また、床面上の物体を認識しながら自律的に移動する移動型ロボット装置に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット等の産業用ロボット（Ｉｎｄｕｓｔｒｉａｌ  Ｒｏｂｏｔ）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、即ち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように４足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボットと比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【０００５】
ところで、前記産業用ロボットには、特開平６−２２６６８３号公報等に開示されているように、建築現場や工場の中にて敷設されたラインや磁気情報を用いて行動範囲を認識し、作業を行ういわゆる作業ロボットが用いられている。また、工場の中において予め与えられた環境地図を用いて、許可された領域内だけで作業を行う作業ロボットも用いられている。
【０００６】
【特許文献１】
特開平６−２２６６８３号
【０００７】
【発明が解決しようとする課題】
しかしながら、前記特許文献１等に記載の作業ロボットは、既知の地図情報等に基づくタスク遂行型ロボットであり、いずれも自律的に行動しているものではない。
【０００８】
また、例えば、建築現場や工場内にて前記作業ロボットの移動領域等の変更に備え、ラインの敷設や磁気情報を変更するには、変更の作業に時間と労力が必要になる。特に規模が大きい工場などでは敷設の変更作業は面倒である。また、工場内では、自由度が少ない。
【０００９】
これに対して、自律型ロボット装置において、自身の周りの環境を認識して障害物等を判断し、それに応じて移動する能力は言うまでもなく重要である。
【００１０】
本発明は、前記実情に鑑みてなされたものであり、自律的に移動する移動型ロボット装置にあって、ランドマークを用いて前記ロボット装置の行動範囲を簡便に制約することができる行動制御装置、行動制御方法及び行動制御プログラムの提供を目的とする。また、ランドマークを用いて行動範囲を簡便に制約することができる移動型ロボット装置の提供を目的とする。
【００１１】
【課題を解決するための手段】
本発明に係る行動制御装置は、前記課題を解決するために、移動型ロボット装置の行動を制御する行動制御装置において、離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【００１２】
本発明に係る行動制御方法は、前記課題を解決するために、移動型ロボット装置の行動を制御するための行動制御方法において、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備える。
【００１３】
本発明に係る行動制御プログラムは、前記課題を解決するために、移動型ロボット装置によって実行されてその行動を制御するための行動制御プログラムにおいて、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備えてなる。
【００１４】
本発明に係る移動型ロボット装置は、前記課題を解決するために、頭部ユニットと、少なくとも１以上の可動脚ユニットと、情報処理手段を有する胴体ユニットとを備えてなり、床面上の物体を認識しながら前記可動脚ユニットを用いて床面を移動する移動型ロボット装置において、前記床面上に離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【００１５】
本発明において、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【００１６】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。この実施の形態は、本発明に係る行動制御装置を適用した移動型ロボット装置である。行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【００１７】
このような行動制御装置を搭載する移動型ロボット装置としては、エンターテインメント用等の例えばヒューマノイド型の２足歩行のロボット装置、及び、４足歩行の動物型ロボット装置等を使用することができる。また、いずれかの足又は全ての足に車輪を設け、電動にて自走するロボット装置を使用することもできる。
【００１８】
例えば、２足歩行のロボット装置としては、図１に示すように、ロボット装置１の体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されるものがある（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。また、４足歩行の動物型ロボット装置としては、「犬」を模した形状のいわゆるペットロボットとされる図２に示すようなものがある。このロボット装置１１は、胴体部ユニット１２の前後左右にそれぞれ脚部ユニット１３Ａ，１３Ｂ，１３Ｃ，１３Ｄが連結されると共に、胴体部ユニット１２の前端部及び後端部にそれぞれ頭部ユニット１４及び尻尾部ユニット１５が連結されて構成されている。
【００１９】
これらのロボット装置は、何れも頭部ユニットにＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）／ＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ−ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）撮像素子を用いた小型カメラを視覚センサとして有しており、離散的に配置された人工的な目印であるランドマークを画像処理により検出し、ロボット装置に対する相対的なランドマークの位置を獲得することができる。本実施の形態では、これをランドマークセンサとして使用する。以下、本実施の形態においては、本発明を、ヒューマノイド型の２足歩行のロボット装置に適用した例について説明する。
【００２０】
図３は、２足歩行のロボット装置の概略を示すブロック図である。図３に示すように、ロボット装置１の頭部ユニット２５０には、２台のＣＣＤカメラ２００Ｒ，２００Ｌが設けられ、このＣＣＤカメラ２００Ｒ，２００Ｌの後段には、ステレオ画像処理装置２１０が設けられている。２台のＣＣＤカメラ（以下、右目２００Ｒ、左目２００Ｌという。）により撮像された右目画像２０１Ｒ、左目画像２０１Ｌは、ステレオ画像処理装置２１０に入力される。ステレオ画像処理装置２１０は、各画像２０１Ｒ，２０１Ｌの視差情報（ｄｉｓｐａｒｉｔｙ  ｄａｔａ）（距離情報）を計算し、カラー画像（ＹＵＶ：輝度Ｙ、ＵＶ色差）２０２及び視差画像（ＹＤＲ：輝度Ｙ、視差Ｄ、信頼度Ｒ）２０３をフレーム毎に左右交互に算出する。ここで、視差とは、空間中のある点が左目及び右目に写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
【００２１】
このカラー画像２０２及び視差画像２０３はロボット装置１の体幹部２６０に内蔵されたＣＰＵ（制御部）２２０に入力される。また、ロボット装置１の各関節にはアクチュエータ２３０が設けられており、ＣＰＵ２２０からの指令となる制御信号２３１が供給されて、その指令値に応じてモータを駆動する。各関節（アクチュエータ）には、ポテンショメータが取り付けられ、その時のモータの回転角がＣＰＵ２２０に送られる。このアクチュエータに取り付けられたポテンショメータ、足底に取り付けられたタッチセンサ及び体幹部に取り付けられたジャイロ・センサ等の各センサ２４０は、現在の関節角度、設置情報、及び姿勢情報等の現在のロボット装置の状態を計測し、センサデータ２４１としてＣＰＵ２２０へ出力する。ＣＰＵ２２０は、ステレオ画像処理装置２１０からのカラー画像２０２及び視差画像２０３と、アクチュエータの全ての関節角度等のセンサデータ２４１とが入力され、これらデータが後述するソフトウェアにより処理され、様々な動作を自律的に行うことが可能となる。
【００２２】
図４は、本実施の形態におけるロボット装置を動作させるソフトウェアの構成を示す模式図である。本実施の形態におけるソフトウェアは、オブジェクト単位で構成され、ロボット装置の位置、移動量、周囲の障害物、ランドマーク、ランドマーク地図、行動可能領域等を認識し、ロボット装置が最終的に取るべき行動についての行動列を出力する各種認識処理等を行うものである。なお、ロボット装置の位置を示す座標として、例えば、ランドマーク等の特定の物体等を座標の原点としたワールド基準系のカメラ座標系（以下、絶対座標ともいう。）と、ロボット装置自身を中心（座標の原点）としたロボット中心座標系（以下、相対座標ともいう。）との２つの座標を使用する。
【００２３】
オブジェクト同士は、非同期に通信し合うことで、システム全体が動作する。各オブジェクトはメッセージ通信と共有メモリを使用したオブジェクト間通信方法によりデータの受け渡し及びプログラムの起動（Ｉｎｖｏｋｅ）を行っている。図４に示すように、本実施の形態におけるロボット装置のソフトウェア３００は、ロボット装置の移動量を算出する移動量算出手段（キネマティックオドメトリ（Ｋｉｎｅｍａｔｉｃｓ  Ｏｄｏｍｅｔｒｙ））ＫＩＮＥ３１０、環境内の平面を抽出する平面抽出部（Ｐｌａｎｅ  Ｅｘｔｒａｃｔｏｒ）ＰＬＥＸ３２０、環境内の障害物を認識する障害物グリッド算出部（Ｏｃｃｕｐａｎｃｙ  Ｇｒｉｄ）ＯＧ３３０、人工的なランドマークを含む環境において、自身のセンサ情報及び移動量算出手段から供給される自身の動作情報によって、ロボット装置の自己位置（位置及び姿勢）や、後述のランドマークの位置情報を特定するランドマーク位置検出部（Ｌａｎｄｍａｒｋ  Ｓｅｎｓｏｒ）ＣＬＳ３４０、ロボット中心座標を絶対座標に変換する絶対座標算出部（Ｌｏｃａｌｉｚａｔｉｏｎ）ＬＺ３５０及びロボット装置の取るべき行動を決定する行動決定部（Ｓｉｔｕａｔｅｄ  ｂｅｈａｖｉｏｒ  Ｌａｙｅｒ）ＳＢＬ３６０から構成され、各オブジェクト単位にて処理がなされる。なお、ランドマーク位置検出部（Ｌａｎｄｍａｒｋ  Ｓｅｎｓｏｒ）ＣＬＳ３４０は、後述のランドマーク認識部４１０と同様のものである。
【００２４】
ロボット装置に適用されることにより行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。ロボット装置を自律的に動作させる詳細な説明、並びにロボット装置の構成及び動作に関する詳細な説明は後述する。
【００２５】
ロボット装置１に搭載される行動制御装置の機能的な構成図を図５に示す。この行動制御装置はＣＰＵ２２０内にて構成される。行動制御装置は、機能的に、ランドマークを認識するランドマーク認識部４１０と、ランドマーク地図を作成するランドマーク地図作成部４２０と、行動可能領域地図を作成する行動可能領域認識部４３０と、ロボット装置の自律的な行動を制御する行動制御部４４０とを備えている。
【００２６】
この行動制御装置を適用することにより、ロボット装置１は、先ず、ランドマーク認識部４１０によって、ランドマークを認識する。ランドマークは図６に示すように、例えば紫部分１００１、黄部分１００２、又はピンク部分１００３等を用いて、同心円上に２色に塗り分けた色の組み合わせよって構成されている。ランドマーク１００４ａは、内周円を黄部分１００２、外周を紫部分１００１としている。ランドマーク１００４ｂは、内周円を紫部分１００１、外周を黄部分１００２としている。ランドマーク１００４ｃは、内周円をピンク部分１００３、外周を紫１００１としている。ランドマーク１００４ｄは、内周円を黄部分１００２、外周をピンク部分１００３としている。よって、これら各ランドマークは、２色の組み合わせによって一意に識別可能とされる。
【００２７】
なお、ランドマークは、三角、四角、丸の３つの形状の幾何学パターンに赤、青、黄、及び緑の４つの色を使用し、これらの形状及び色を組み合わせることにより、一意に特定可能（ｕｎｉｑｕｅ）な複数種のランドマークを得ることができる。四角形、円形、三角形の幾何学パターンを配置し、各パターンの位置関係を固定して配置して、各パターンの色を４色、組み合わせることによって、例えば合計２４種類のランドマークを作成できる。このように、複数の幾何学パターンの位置関係及び配色により、異なるランドマークを形成することができる。
【００２８】
ランドマーク認識部４１０は、ランドマークを一意に認識し、ランドマークの位置情報ｒＰｏ（ｘ、ｙ、ｚ）を得る。環境内のランドマークを可能な限り発見するために、ロボット装置１は、発見した全てのランドマークを訪問して歩いていく。先ず、環境内のある地点からスタートし、ランダムに歩き回り、そこで周りを３６０度見渡す。そこで発見したランドマークを訪問待ち行列とする。次に、訪問待ち行列から一つを選んで、そのランドマークまで歩いていき、ランドマークに到達したら訪問待ち行列からそのランドマークを削除し、ランドマーク付近で周りを全て見渡し、新しいランドマークを発見する。新しく発見されたランドマークは、訪問待ち行列に追加する。これを繰り返して、訪問待ち行列が空になるまでランドマークを訪問して歩く。他のどのランドマークからも観測不可能なランドマークがない場合は、このような戦略で環境内の全てのランドマークを発見することができる。
【００２９】
本実施の形態においては、ロボット装置は、形状及び／又は色等により異なる複数の人工的なランドマークが存在する一意に特定可能な環境内のランドマークを前述したような手法で訪問しながらランドマーク認識部４１０にて得た位置情報ｒＰｏ（ｘ、ｙ、ｚ）をランドマーク地図作成部４２０に送る。
【００３０】
ランドマーク地図作成部４２０は、ランドマーク認識部４１０が全てのランドマークを認識して送ってきた全てのランドマーク位置情報ｒＰｏ（ｘ、ｙ、ｚ）を統合し、それらのランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。詳細には、ランドマーク認識部４１０によって認識されたランドマークの位置情報ｒＰｏ（ｘ、ｙ、ｚ）と、ロボット自身のオドメトリ情報を統合し、ランドマークの幾何学的な配置を推定し、これをランドマーク地図とする。そして、ランドマーク地図情報ｒＰｏ×Ｎを行動可能領域認識部４３０に送る。
【００３１】
行動可能領域認識部４３０は、ランドマーク地図情報ｒＰｏ×Ｎを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動可能領域地図は、グリッドセル又は多角形を指定する情報からなる。この行動可能領域地図は、行動制御部４４０に送られる。
【００３２】
行動制御部４４０は、行動可能領域認識部４３０から送られた行動可能領域地図を用いて、ロボット装置１が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。
【００３３】
以下には、新たに図７も参照して前記各部よりなる行動制御装置の詳細な動作について説明する。図７は前記各部４１０，４２０，４３０，４４０よりなる行動制御装置を搭載したロボット装置１が行動可能領域内を自律的に行動するまでの模様を段階的に示す。
【００３４】
上述したように、図３に示すＣＣＤカメラ２００Ｌ，２００Ｒによって取り込まれた映像は、ステレオ画像処理部２１０に入力され、左右画像２０１Ｒ，２０１Ｌの視差情報（距離情報）からカラー画像（ＹＵＶ）２０２及び視差画像（ＹＤＲ）２０３が算出されてＣＰＵ２２０に入力される。また、ロボット装置１に複数個設けられた各センサからのセンサデータ２４０も入力される。これらの視差情報及び視差画像からなる画像データ３０１と、センサデータ３０２とが移動量算出手段ＫＩＮＥに入力される。
【００３５】
移動量算出手段ＫＩＮＥは、画像データ３０１及びセンサデータ３０２からなる入力データに基づいてロボット中心座標系の移動量（オドメトリ）を算出する。また、ランドマーク認識部４１０は、ＣＣＤカメラ２００Ｌ，２００Ｒによって観測されたランドマークのカラー画像（ＹＵＶ）２０２及び視差画像（ＹＤＲ）２０３からランドマークを認識する。つまり、ランドマーク認識部４１０は、前記画像により、色を認識し、その組み合わせによってランドマークを特定する。次に、前記画像におけるランドマークの大きさによって、ロボット装置からランドマークまでの距離の推定を行い、ロボットの関節各情報と統合することによってランドマーク位置を推定し、ランドマーク位置情報を出力する。このようにして、ロボット装置１は、ランドマーク認識部４１０によりランドマーク１００４を認識する毎にランドマークの位置情報（Ｌａｎｄｍａｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ）生成し（図７（Ａ））、ランドマーク地図作成部４２０に送る。また、ロボット装置は、自身の姿勢方向を検出し、移動量と共に姿勢方向を示す情報をランドマーク地図作成部４２０に供給する。
【００３６】
ランドマーク地図作成部４２０は、ランドマーク位置情報及びロボット装置の移動量及び姿勢方向を示す情報（ロボット自身のオドメトリ情報）を統合し、ランドマークの幾何学的な配置を推定し、ランドマーク地図（Ｌａｎｄｍａｒｋ  Ｍａｐ）を作成する（図７（Ｂ））。
【００３７】
そして、ロボット装置１は、行動可能領域認識部４３０により、ランドマーク地図情報を用いて、ロボットが行動可能な範囲である行動可能領域地図（Ｍｏｂｉｌｉｔｙ  Ｍａｐ）を作成する（図７（Ｃ））。この行動可能領域地図内から外にでないようにロボット装置１は行動制御部４４０の制御により自律的に行動する。
【００３８】
ところで、行動可能領域認識部４３０は、ランドマーク地図作成部４２０により作成されたランドマーク地図を用いて行動領域を求める際に、例えば凸包、領域法、ポテンシャル場という３つのアルゴリズムのいずれかを用いる。
【００３９】
このうち、凸包の代表的なアルゴリズムである、凸装アルゴリズム（ｐａｃｋａｇｅ  ｗｒａｐｐｉｎｇ  ａｌｇｏｒｉｔｈｍ）の流れを図８を参照して以下に説明する。始めに、ステップＳ１として、全てのランドマークの二次元座標をＰｎ＝（ｘ，ｙ）（ｎ＝０，１，２，，，Ｎ）とする（図８の（１））。次にステップＳ２として、紙面縦方向で底辺からのｙｎが最小の点ｐｎをＡとし、Ａから水平に直線ＡＯを引く（図８の（２））。次にステップＳ３として、点ＡからＡを除く全てのＰｎに対して直線ＡＰｎを引き、直線ＡＰｎとＡＯのなす角が最小の点をＢとする（図８の（２））。次にステップＳ４として点ＢからＡ，Ｂを除く全てのＰｎに対して直線ＢＰｎを引き、直線ＢＰｎとＡＢのなす角が最小の点をＣとする（図８の（３））。そして、点Ａに戻ってくるまでステップＳ４を繰り返し、行動可能領域地図を求める（図８の（４））。
【００４０】
図９には、凸包によって作成された行動可能領域地図の具体例を示す。ランドマークが２個、３個、４個、５個であり、多角形の頂点をなす場合には、図９の（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）に示すように、各ランドマークを包むように行動可能領域地図を作成する。また、図９の（Ｅ）や（Ｆ）に示すように、ランドマークが多角形の内部にも包まれるように行動可能領域地図を作成することもある。また、全てのランドマークを外周の頂点として包みこむように作成してもよい。
【００４１】
領域法による行動可能領域地図について図１０を用いて説明する。ランドマークから半径ｒ［ｍ］の領域を行動範囲とする方法である。ランドマークが１個の場合には、図１０の（Ａ）のように１個のランドマークを中心とした半径ｒの領域内だけを行動可能領域とする。ランドマークが図１０の（Ｂ）に示すように４個である場合には、各ランドマークの半径ｒ［ｍ］の各領域を重ねた行動可能領域となる。ランドマークの配置の仕方によっては図１０の（Ｃ）に示すように、各領域を重ねた行動可能領域が略Ｓ字のようになる。
【００４２】
ポテンシャル場による行動可能領域地図について図１１を用いて説明する。各ランドマークから半径ｒ［ｍ］の領域を行動可能領域とする（図１１の（Ａ））。そして、ランドマークからの半径距離にしたがって増加するコストを定義する（図１１の（Ｂ））。この結果、例えば図１１の（Ｃ）に示すように外周に行くほどコストが高くなるような行動可能領域が設定できる。
【００４３】
この他、行動領域の設定法としては、ロボット装置１の前方左右に位置する少なくとも二つのランドマークの結ぶ線よりもロボット側にＳ［ｍ］という設定の方法をとってもよい。
【００４４】
この行動領域認識部４３０は、行動領域地図作成時の行動領域設定法を、例えばランドマークの個数によって切り換える。もちろん、マニュアルでの設定の選択により切り換えることもできる。例えば、ランドマークの個数Ｎが１個であるときには、図１２の（Ａ）に示すように領域法で選択し、Ｎが２個であるときには、図１２の（Ｂ）に示すように二つのランドマークを結ぶ線よりもロボット側にＳ［ｍ］であり、二つのランドマークの幅という設定である。さらに、Ｎが２個以上の場合には、前記凸法を選択する。
【００４５】
行動制御部４４０は、行動可能領域認識部４３０にて作成された行動可能領域地図に基づいてロボット装置１が例えば行動可能領域の外に出ないようにロボット装置１の自律的な行動を制御する。具体的に、行動制御部４４０は、障害物地図を作成し、その障害物地図に前記行動可能領域を作成するのに用いたランドマークを仮想障害物（Ｖｉｒｔｕａｌ  Ｏｂｓｔａｃｌｅ）として加え、その障害物地図内において、行動可能領域と判定した領域のみを移動するようにロボット装置の行動を制御する。
【００４６】
障害物地図は、本件出願人による特願２００２−０７３３８８号公報に開示されている障害物認識技術に基づいて作成される。以下に詳細を説明する。障害物認識装置は、図４に示した平面抽出部（Ｐｌａｎｅ  Ｅｘｔｒａｃｔｏｒ）ＰＬＥＸ３２０を実行したＣＰＵ２２０内にて構成される。図１３に機能ブロック図を示すように、障害物認識装置２２１は、視差画像から距離画像を生成する距離画像生成部２２２と、距離画像から平面検出をして平面パラメータを算出する平面検出部２２３と、同時変換行列を座標変換する座標変換部２２４と、前記座標変換結果と前記平面パラメータから床面を検出する床面検出部２２５と、床面の平面パラメータから障害物を認識する障害物認識部２２６とを備えてなる。
【００４７】
距離画像生成部２２２は、ロボット装置１に設けた二つのＣＣＤカメラから得られた画像データに基づいて算出された視差画像と、ロボット装置１に設けた複数のセンサ手段から得られたセンサデータ出力とに基づいて二つのＣＣＤカメラが配設された位置における前記視差画像に対応する同時変換行列を用いて距離画像を生成する。平面検出部２２３は、距離画像生成部２２２により生成された距離画像に基づいて平面パラメータを検出する。座標変換部２２４は、前記同時変換行列をロボット装置１の接地面での座標に変換する。床面検出部２２５は、平面検出部２２３からの平面パラメータと座標変換部２２４からの座標変換結果を用いて床面を検出し、その平面パラメータを障害物認識部２２６に供給する。障害物認識部２２６は、床面検出部２２５が検出した床面の平面パラメータを用いて床面に載っている点を選択し、この点に基づいて障害物を認識する。
【００４８】
上述した如く、ＣＣＤカメラ２００Ｌ，２００Ｒによって取り込まれた映像は、ステレオ画像処理装置２１０に入力され、図１４に具体的に示す左右画像２０１Ｒ，２０１Ｌの視差情報（距離情報）からカラー画像（ＹＵＶ）２０２及び視差画像（ＹＤＲ）２０３が算出されてＣＰＵ２２０に入力される。また、ロボット装置１に複数個設けられた各センサからのセンサデータ２４０が入力される。図４に示したように、これらの視差情報及び視差画像からなる画像データ３０１と、ロボット装置の関節角等のデータであるセンサデータ３０２とがキネマティックオドメトリＫＩＮＥ３１０に入力される。
【００４９】
キネマティックオドメトリＫＩＮＥ３１０は、画像データ３０１及びセンサデータ３０２からなる入力データに基づいて画像データ３０１の画像が撮像された時間におけるセンサデータ３０２の関節角を割り出し、この関節角のデータを使用してロボット装置１が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列３１１とこれに対応する視差画像３１２を障害物認識装置２２１（平面抽出部ＰＬＥＸ３２０の実行結果）へ出力する。
【００５０】
障害物認識装置２２１（平面抽出部ＰＬＥＸ３２０）は、同時変換行列３１１とこれに対応する視差画像３１２を受け取り、以下の図１５に示す処理手順にしたがって障害物を認識する。
【００５１】
先ず、障害物認識装置２２１（平面抽出部ＰＬＥＸ３２０）の座標変換部２２４は同時変換行列３１１を、また距離画像生成部２２２は同時変換行列３１１に対応する視差画像３１２を受け取る（ステップＳ６１）。そして、距離画像生成部２２２は、視差画像３１２からレンズ歪みとステレオの取り付け誤差を吸収したキャリブレーションパラメータを利用して、画素毎にカメラ座標から見た３次元の位置データ（Ｘ，Ｙ，Ｚ）を距離画像として生成する（ステップＳ６２）。このとき各３次元データは、視差画像又は距離画像等の入力画像における信頼度等から得られる信頼度パラメータを個別に有し、この信頼度パラメータにより選別されて入力される。
【００５２】
そして、平面検出部２２３は、選別された３次元データ群からランダムにデータをサンプリングし、ハフ変換により平面を推定する。即ち、法線ベクトルの向きを（θ，φ）、原点からの距離をｄとしたときの平面パラメータ（θ，φ，ｄ）を算出し、平面パラメータを投票空間（θ，Ψ，ｄ）＝（θ，φｃｏｓθ，ｄ）に直接投票して平面を推定する。これにより、平面検出部２２３は、画像中の支配的な平面のパラメータを検出する（ステップＳ６３）。この平面のパラメータは図１６に示すパラメータ空間（θ，φ）（投票空間）のヒストグラムにより検出される。パラメータの投票が小さいいと障害物、大きいと平面上のものと見なすことができる。
【００５３】
投票の際は、３次元データに付随する信頼度パラメータ又は平面パラメータの算出方法等により、１票の投票に対して異なる重み付けをして、投票値を異ならせると共に、投票値の分布から得られるピーク値を推定するために、ピーク値近傍における重み付き平均処理等をすることにより、信頼度の高いデータを推定することができる。そして、この平面パラメータを初期パラメータとしてイタレーションを行い、平面を決定することで、更に信頼度が高い平面を決定することができる。また、最終的に決定される平面を算出した３次元データに付随する信頼度パラメータ及びイタレーションにおける残差誤差等を使用して平面の信頼度を算出し、この平面信頼度を平面のデータと共に出力することにより、後段の処理が行い易くなる。このように、平面抽出は、投票、即ちヒストグラムに基づく確率密度関数の推定により３次元データから、その３次元データに含まれる支配的な平面のパラメータを決定する確率論的方法で行われる。こうして得られた平面のパラメータ使用すれば、元々画像から得られた距離の測定点が平面上からどれくらいの距離であるかが分かる。
【００５４】
次に、座標変換変換部２２４は、カメラ座標系の同時変換行列３１１から図１７に示すようにロボットの足底接地面への変換を求める（ステップＳ６４）。これにより、カメラ座標系で表現される接地平面のパラメータの算出が行われる。そして、床面検出部２２５は、平面検出部２２３による前記ステップＳ６３での画像による平面の検出結果と、座標変換部２２４による前記ステップＳ６４での足底接地平面の照合から、画像中の平面パラメータから床面に相当するものを選択する（ステップＳ６５）。
【００５５】
次に、障害物認識部２２６は、床面検出部２２５が前記ステップＳ６５にて選択した平面パラメータを使って、元の距離画像から平面上に載っている点を選択する（ステップＳ６６）。これは、平面からの距離ｄがしきい値Ｄｔｈより小さい事を使って判断する。
【００５６】
図１８には、しきい値Ｄｔｈを１ｃｍとした範囲で選択された測定点（×印）を示す。この図１８にて、黒く抜かれている点が平面と判断されなかった点である。
【００５７】
したがって、障害物認識部２２６は、前記ステップＳ６６にて平面上（床面）上に載っている点以外の点（床面上に無い点）を障害物としてステップＳ６７にて認識することができる。これらの判断結果は床平面上の点（ｘ、ｙ）とその高さｚで表現される。例えば、高さｚ＜０は、平面より凹んでいる点を示す。
【００５８】
これにより、高さがロボットより高い障害物点はそれをくぐることができるので障害物ではないという判断も可能とすることができる。また、ロボットビュー（図１９の（ａ））から得た床面抽出画像（図１９の（ｂ））の高さｚを０（ｚ＝０）となるように座標変換すれば、図１９の（ｃ）に示すように、平面上の２次元の位置で床か障害物かを表現することができる。
【００５９】
このように、障害物認識装置は、多数の測定点を使って平面の検出を行うために安定した平面を抽出できる。また、画像から得られる平面候補をロボットの姿勢から得られる床面パラメータと照合することで正しい平面を選択できる。また、障害物を認識するのではなく、実質的には床面を認識するので障害物の形状や大きさに因らない認識が可能である。また、床面からの距離で障害物を表現するので細かい段差や凹みまで検出することができる。またロボットの大きさを考慮して跨いだり、くぐったりする判断も容易である。さらに、２次元床面上の障害物表現となるので経路計画などに既存の移動ロボットで用いられる手法が適用可能であるし、３次元の表現より高速に演算できる。
【００６０】
次に、前述した障害物認識装置により障害物地図を作成し、その障害物地図に、前記行動可能領域を仮想的な障害物として加え、その障害物地図を基に行動制御を行う具体例について説明する。例えば、図２０に示すような環境、すなわち障害物１１００に囲まれた中にランドマーク１００４を三角形を形成するように配置した環境にてロボット装置１の行動を制御する具体例を挙げる。
【００６１】
先ず、行動制御装置は、障害物認識装置により、ロボット周辺のある領域の移動可能な領域及び移動不可能な障害物領域の情報を保持した図２１の障害物地図を作成する。図２１中の障害物領域１１２１は図２０における障害物１１００に対応している。また、自由領域１１２０は、ロボット装置１が歩行可能な領域を示す。未観測領域１１２２は障害物１１００に阻まれた領域で観測できない領域である。
【００６２】
ロボット装置１は、ランドマークの配置により作成された行動領域内１１１０を除けば、自由領域のみを移動するように、行動制御を行うことにより障害物に干渉しない自律行動が可能となる。
【００６３】
次に、行動制御装置は、前記障害物地図に、行動可能領域認識部４３０が生成した行動可能領域１１１０を仮想的な障害物として加える。
【００６４】
そして、行動制御装置は、前記障害物情報に仮想障害物を加えた障害物地図内において、行動可能領域と判定された領域を移動するように行動計画を立て、行動制御を行う。
【００６５】
ロボット装置１が行動可能領域内にいる場合は、行動可能領域内を移動し、ロボット装置１が行動可能領域の外にいる場合には、行動可能領域内に復帰するように行動を制御する。
【００６６】
なお、行動制御装置は、前記障害物地図に、行動可能領域認識部４３０が行動可能領域１１１０を生成するのに用いたランドマークを仮想的な障害物として加え、当該障害物地図内において、自由領域又は行動可能領域と判定された領域のみを移動するようにロボット装置の行動を制御してもよい。
【００６７】
行動領域設定後における行動制御は、ユーザの音声による命令をトリガーとして行われる。例えば、図１２の（Ａ）に示したようにランドマーク１個を中心とした半径ｒ［ｍ］の円を領域として設定したような場合には「この近くにいなさい」という命令にしたがってロボット装置１は行動を制御する。また、凸包等により行動可能領域が設定された場合には「そこで遊んでいなさい」、「出てはいけません」等の命令にしたがって行動を制御する。また、行動不可能領域を設定し、「ここに入ってはいけません」という命令にしたがって行動を制御するようにしてもよい。
【００６８】
次に、上述した図４に示すロボット装置１のソフトウェアについて詳細に説明する。図２２は、図４に示すソフトウェア３００の動作を示すフローチャートである。
【００６９】
図４に示すソフトウェア３００のキネマティックオドメトリＫＩＮＥ３１０には、上述したように、画像データ３０１及びセンサデータ３０２が入力される。この画像データ３０１は、カラー画像及びステレオカメラによる視差画像である。また、センサデータは、ロボット装置の関節角等のデータである。キネマティックオドメトリＫＩＮＥ３１０は、これらの入力データ３０１，３０２を受け取り、メモリに格納されていたそれまでの画像及びセンサデータを更新する（ステップＳ１０１）。
【００７０】
次に、これら画像データ３０１とセンサデータ３０２との時間的な対応を取る（ステップＳ１０２−１）。即ち、画像データ３０１の画像が撮像された時間におけるセンサデータ３０２の関節角を割り出す。次いで、この関節角のデータを使用してロボット装置１が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する（ステップＳ１０２−２）。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列３１１とこれに対応する画像データとを画像認識を行うオブジェクトへ送信する。即ち、同時変換行列３１１及びこれに対応する視差画像３１２を平面抽出部ＰＬＥＸ３２０へ出力し、同時変換行列３１１及びカラー画像３１３をランドマークセンサ部ＣＬＳ３４０へ出力する。
【００７１】
また、センサデータ３０２から得られる歩行パラメータと、足底センサを使用した歩数のカウント数とからロボット装置１の移動量を算出し、ロボット装置１のロボット装置中心座標系における移動量を算出する。以下、ロボット装置中心座標系の移動量をオドメトリともいう。このオドメトリ３１４を障害物グリッド算出部ＯＧ３３０及び絶対座標算出部ＬＺ３５０へ出力する。
【００７２】
平面抽出部ＰＬＥＸ３２０は、キネマティックオドメトリＫＩＮＥ３１０にて算出された同時変換行列３１１と、これに対応するステレオカメラから得られる視差画像３１２とが入力されると、それまでメモリに格納されていたこれらのデータを更新する（ステップＳ１０３）。そして、ステレオカメラのキャリブレーションパラメータ等を使用して視差画像３１２から３次元の位置データ（レンジデータ）を算出する（ステップＳ１０４−１）。次いで、このレンジデータからハフ変換等を使用して、例えば壁及びテーブル等の平面を除く平面を平面として抽出する。また、座標変換行列３１１からロボット装置１の足底が接地している平面との対応を取り、床面を選択し、床面上にない点、例えば所定の閾値よりも高い位置にあるもの等を障害物として床面からの距離を算出し、この障害物情報（ｏｂｓｔａｃｌｅ）３２１を障害物グリッド算出部３３０に出力する（ステップＳ１０４−２）。
【００７３】
障害物グリッド算出部ＯＧ３３０では、キネマティックオドメトリＫＩＮＥ３１０にて算出されたオドメトリ３１４と、平面抽出部ＰＬＥＸ３２０にて算出された障害物の観測情報（障害物情報）３２１とが入力されると、メモリに格納されていたそれまでのデータを更新する（ステップＳ１０５）。そして、床面上に障害物があるか否かの確率を保持する障害物グリッドを確率的手法により更新する（ステップＳ１０６）。
【００７４】
この障害物グリッド算出部ＯＧ３３０は、ロボット装置１を中心とした例えば周囲４ｍの障害物情報、即ち、上述した環境地図と、ロボット装置１の向く方角を示す姿勢情報とを保持しており、上述の方法により、環境地図を更新し、この更新した認識結果（障害物情報３３１）を出力することにより、上位レイヤ、即ち、本実施の形態においては、経路計画決定部ＳＢＬ３６０にて障害物を回避する計画を作成することができる。
【００７５】
ランドマークセンサＣＬＳ３４０は、キネマティックオドメトリＫＩＮＥ３１０から同時変換行列３１１及びカラー画像３１３が入力されると、予めメモリ内に格納されていたこれらのデータを更新する（ステップＳ１０７）。そして、カラー画像３１３の画像処理を行って、予め認識しているカラーランドマークを検出する。このカラーランドマークのカラー画像３１３上での位置及び大きさをカメラ座標系での位置に変換する。更に、同時変換行列３１１を使用し、カラーランドマークのカメラ座標系での位置をロボット中心位置座標系における位置に変換し、ロボット中心位置座標系におけるカラーランドマーク位置の情報（カラーランドマーク相対位置情報）３４１を絶対座標算出部ＬＺ３５０に出力する（ステップＳ１０８）。
【００７６】
絶対座標算出部ＬＺ３５０は、キネマティックオドメトリＫＩＮＥ３１０からのオドメトリ３１４と、ランドマークセンサ部ＣＬＳ３４０からのカラーランドマーク相対位置情報３４１とが入力されると、予めメモリ内に格納されていたこれらのデータが更新される（ステップＳ１０９）。そして、絶対座標算出部ＬＺ３５０が予め認識しているカラーランドマークの絶対座標（ワールド座標系での位置）、カラーランドマーク相対位置情報３４１、及びオドメトリ３１４を使用し、確率的手法によりロボット装置の絶対座標（ワールド座標系での位置）を算出する。そして、この絶対座標位置３５１を行動決定部ＳＢＬ３６０に出力する。
【００７７】
行動決定部ＳＢＬ３６０は、障害物グリッド算出部ＯＧ３３０から障害物グリッド情報３３１が入力され、絶対座標算出部ＬＺ３５０から絶対座標位置３５１が入力されると、予めメモリに格納されていたこれらのデータが更新される（ステップＳ１１１）。そして、行動決定部ＳＢＬ３６０障害物グリッド算出部ＯＧ３３０からの障害物情報３３１により、ロボット装置１の周囲に存在する障害物に関する認識結果を取得し、絶対座標算出部ＬＺ３５０から現在のロボット装置１の絶対座標を取得することにより、絶対座標系又はロボット装置中心のロボット中心座標系で与えられた目標地点に対して障害物に衝突せずに歩行可能な経路を生成し、経路に応じて経路を遂行する動作コマンドを発行する。即ち、入力データから状況に応じてロボット装置１が取るべき行動を決定し、その行動列を出力する（ステップＳ１１２）。
【００７８】
また、人間によるナビゲーションの場合には、障害物グリッド算出部ＯＧ３３０からロボット装置の周囲に存在する障害物に関する認識結果及び絶対座標算出部ＬＺ３５０からの現在のロボット装置の位置の絶対座標をユーザに提供し、このユーザからの入力に応じて動作コマンドを発行させる。
【００７９】
図２３は、上述のソフトウェアに入力されるデータの流れを模式的に示す図である。なお、図２３において、図１及び図２に示す構成と同一構成要素には同一符号を付してその詳細な説明は省略する。
【００８０】
顔検出部ＦＤＴ（ＦａｃｅＤｅｔｅｃｔｏｒ）３７１は、画像フレーム中から顔領域を検出するオブジェクトであり、カメラ等の画像入力装置からカラー画像２０２を受け取り、それを例えば９段階のスケール画像に縮小変換する。この全ての画像の中から顔に相当する矩形領域を探索する。重なりあった候補領域を削減して最終的に顔と判断された領域に関する位置、大きさ、及び特徴量等の情報３７２を出力して、顔識別部ＦＩ（ＦａｃｅＩｄｅｎｔｉｆｙ）３７７へ送る。
【００８１】
顔識別部ＦＩ３７７は、検出された顔画像を識別するオブジェクトであり、顔の領域を示す矩形領域画像からなる情報３７２を顔検出部ＦＤＴ３７１から受け取り、この顔画像がメモリに格納されている手持ちの人物辞書のうちでどの人物に相当するかを比較して人物の識別を行う。そして、顔検出部ＥＤＴ３７１から受け取った顔画像の顔画像領域の位置、大きさ情報と共に人物のＩＤ情報３７８をＤＩＬ３７９に出力する。
【００８２】
色認識部ＭＣＴ（ＭｕｌｔｉＣｏｌｏｒＴｒａｃｋｅｒ）３７３は、色認識を行うオブジェクトであり、カメラ等の画像入力装置からカラー画像２０２を受け取り、予め保有している複数のカラー・モデル情報に基づいて色領域を抽出し、連続した領域に分割する。色認識部ＭＣＴ３７３は、分割した各領域の位置、大きさ及び特徴量等の情報３７４をＤＩＬ３７９に出力する。
【００８３】
動き検出部ＭＤＴ（ＭｏｔｉｏｎＤｅｔｅｃｔｏｒ）３７５は、画像の中で動いている部分を検出する部分であり、検出した動き領域の情報３７６を距離情報付加部ＤＩＬ３７９に出力する。
【００８４】
距離情報付加部ＤＩＬ（ＤｉｓｔａｎｃｅＩｎｆｏｒｍａｔｉｏｎＬｉｎｋｅｒ）３７９は、入力された２次元の情報に距離情報を付加して３次元の情報を出力するオブジェクトであり、顔検出部ＦＩ３７７からのＩＤ情報３７８、色認識部ＭＣＴ３７３からの分割した各領域の位置、大きさ及び特徴量等の情報３７４、動き検出部ＭＤＴ３７５からの動き領域の情報３７６に距離情報を付加して３次元の情報３８０を短期記憶部ＳＴＭ（ＳｈｏｒｔＴｅｒｍＭｅｍｏｒｙ）３８１に出力する。
【００８５】
短期記憶部ＳＴＭ３８１は、ロボット装置１の外部環境に関する情報を比較的短い時間だけ保持するオブジェクトであり、ＡｒｔｈｕｒＤｅｃｏｄｅｒ（図示せず）から音声認識結果（単語、音源方向、確信度）を受け取り、色認識部ＭＣＴ３７３から肌色の領域の位置、大きさと顔領域の位置、大きさを受け取り、顔識別部ＦＩ３７７から人物のＩＤ情報等を受け取る。また、ロボット装置１の機体上の各センサからロボット装置の首の方向（関節角）を受け取る。そして、これらの認識結果及びセンサ出力を統合的に使って、現在どこにどの人物がいて、しゃべった言葉がどの人物のものであり、その人物とはこれまでにどんな対話を行ったのかという情報を保存する。こうした物体、即ちターゲットに関する物理情報と時間方向でみたイベント（履歴）を出力として、行動決定部（状況依存行動階層）（ＳＢＬ）３６０等の上位モジュールに渡す。
【００８６】
行動決定部ＳＢＬは、上述の短期記憶部ＳＴＭ３８１からの情報を基にロボット装置１の行動（状況に依存した行動）を決定するオブジェクトである。複数の行動を同時に評価したり、実行したりすることができる。また、行動を切り替えて機体をスリープ状態にしておき、別の行動を起動することができる。
【００８７】
以下、本発明の実施の形態における上述した行動制御を搭載した２足歩行タイプのロボット装置１について詳細に説明する。この人間型のロボット装置１は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００８８】
上述したように、図１に示すロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている。
【００８９】
このロボット装置１が具備する関節自由度構成を図２４に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００９０】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール輪１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００９１】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００９２】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００９３】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度、即ち関節数を適宜増減することができることはいうまでもない。
【００９４】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００９５】
図２５には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００９６】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＲＡＭ、フラッシュＲＯＭ等の主要回路コンポーネント（図示しない）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示しない）などを含んだ周辺回路１２とで構成される。
【００９７】
この制御ユニット１０の設置場所は、特に限定されない。図２５では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。あるいは、ロボット装置１外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００９８】
図２５に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。即ち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００９９】
また、頭部ユニット３には、外部の状況を撮像するためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【０１００】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【０１０１】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【０１０２】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【０１０３】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が着床したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【０１０４】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【０１０５】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部分の傾きや姿勢を検出することができる。
【０１０６】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【０１０７】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ  Ｖｕｋｏｂｒａｔｏｖｉｃ著“ＬＥＧＧＥＤ  ＬＯＣＯＭＯＴＩＯＮ  ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【０１０８】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【０１０９】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びＣＣＤカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【０１１０】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【０１１１】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【０１１２】
さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置１に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【０１１３】
このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【０１１４】
ところで、このロボット装置１は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置１における制御プログラムのソフトウェア構成例について、図２６乃至図３１を用いて説明する。なお、この制御プログラムは、上述したように、予めフラッシュＲＯＭ１２に格納されており、ロボット装置１の電源投入初期時において読み出される。
【０１１５】
図２６において、デバイス・ドライバ・レイヤ４０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【０１１６】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２８１〜２８ｎ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【０１１７】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【０１１８】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【０１１９】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図２７に示す。
【０１２０】
ミドル・ウェア・レイヤ５０は、図２７に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール６０〜６８並びに入力セマンティクスコンバータモジュール６９などを有する認識系７０と、出力セマンティクスコンバータモジュール７８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７１〜７７などを有する出力系７９とから構成されている。
【０１２１】
認識系７０の各信号処理モジュール６０〜６８は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール６９に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【０１２２】
入力セマンティクスコンバータモジュール６９は、これら各信号処理モジュール６０〜６８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１に出力する。
【０１２３】
アプリケーション・レイヤ５１は、図２８に示すように、行動モデルライブラリ８０、行動切換モジュール８１、学習モジュール８２、感情モデル８３及び本能モデル８４の５つのモジュールから構成されている。
【０１２４】
行動モデルライブラリ８０には、図２９に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【０１２５】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール６９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル８３に保持されている対応する情動のパラメータ値や、本能モデル８４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール８１に出力する。
【０１２６】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図３０に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【０１２７】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図３１に示すような状態遷移表９０を有している。
【０１２８】
この状態遷移表９０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【０１２９】
したがって、図３１の状態遷移表９０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【０１３０】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル８３及び本能モデル８４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル８３に保持された「喜び（Ｊｏｙ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」又は「悲しみ（Ｓａｄｎｅｓｓ）」の何れかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【０１３１】
また、状態遷移表９０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【０１３２】
したがって、図３１の状態遷移表９０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ  １２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【０１３３】
各行動モデルは、それぞれこのような状態遷移表９０として記述されたノードＮＯＤＥ０〜  ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール６９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール８１に出力するようになされている。
【０１３４】
図２９に示す行動切換モジュール８１は、行動モデルライブラリ８０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８に送出する。なお、この実施の形態においては、図３０において下側に表記された行動モデルほど優先順位が高く設定されている。
【０１３５】
また、行動切換モジュール８１は、行動完了後に出力セマンティクスコンバータモジュール７８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール８２、感情モデル８３及び本能モデル８４に通知する。
【０１３６】
一方、学習モジュール８２は、入力セマンティクスコンバータモジュール６９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【０１３７】
そして、学習モジュール８２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【０１３８】
他方、感情モデル８３は、「喜び（Ｊｏｙ）」、「悲しみ（Ｓａｄｎｅｓｓ）」、「怒り（Ａｎｇｅｒ）」、「驚き（Ｓｕｒｐｒｉｓｅ）」、「嫌悪（Ｄｉｓｇｕｓｔ）」及び「恐れ（Ｆｅａｒ）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル８３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１３９】
具体的には、感情モデル８３は、入力セマンティクスコンバータモジュール６９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、下記数式（１１）によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル８３は、これと同様にして全ての情動のパラメータ値により更新する。
Ｅ＝［ｔ＋１］＝Ｅ＝［ｔ］＋ｋｅ×ΔＥ
【０１４０】
なお、各認識結果や出力セマンティクスコンバータモジュール７８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【０１４１】
ここで、出力セマンティクスコンバータモジュール７８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル８３は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７８からの通知は、上述した学習モジュール８２にも入力されており、学習モジュール８２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【０１４２】
なお、行動結果のフィードバックは、行動切換モジュール８１の出力（感情が付加された行動）によりなされるものであってもよい。
【０１４３】
一方、本能モデル８４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル８４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール６９から与えられる認識結果や、経過時間及び行動切換モジュール８１からの通知などに基づいて周期的に更新する。
【０１４４】
具体的には、本能モデル８４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で下記数式（１２）を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル８４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
Ｉ［ｋ＋１］＝Ｉ［ｋ］＋ｋｉ×ΔＩ［ｋ］
【０１４５】
なお、認識結果及び出力セマンティクスコンバータモジュール７８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０１４６】
なお、この具体例においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１４７】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７８は、図２７に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール８１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系７９の対応する信号処理モジュール７１〜７７に与える。
【０１４８】
そしてこれら信号処理モジュール７１〜７７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はＬＥＤに順次送出する。
【０１４９】
このようにしてロボット装置１は、上述した制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【０１５０】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フレキシブルディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【０１５１】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置１は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【０１５２】
以上説明したように、本実施の形態のロボット装置にあって、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【０１５３】
【発明の効果】
本発明によれば、離散的に配置されたランドマークを認識し、認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成し、前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成し、前記行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御するので、移動型ロボット装置の行動範囲の設定が簡便になる。また、ユーザの意図する範囲内での行動が可能となる。また、階段や机の下など、ロボット装置にとって危険な場所に勝手にロボット装置が行くのを防ぐことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、ヒューマノイド型の２足歩行のロボット装置を示す斜視図である。
【図２】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、４足歩行の動物型ロボット装置を示す斜視図である。
【図３】本発明の実施の形態に係るロボット装置の概略を示すブロック図である。
【図４】本発明の実施の形態に係るロボット装置を動作するソフトウェアの構成を示す模式図である。
【図５】ロボット装置に適用される行動制御装置の機能ブロック図である。
【図６】ランドマークの一例を示す模式図である。
【図７】ロボット装置が行動可能領域内を自律的に行動するまでの模様を段階的に示した図である。
【図８】凸装アルゴリズムの流れを示す図である。
【図９】凸包によって作成された行動可能領域地図の具体例を示す図である。
【図１０】領域法によって作成された行動可能領域地図の具体例を示す図である。
【図１１】ポテンシャル場による行動可能領域地図の具体例を示す図である。
【図１２】ランドマークの個数によって行動領域地図作成時に切り換えられる行動領域設定法の具体例を示す図である。
【図１３】障害物認識装置の機能ブロック図である。
【図１４】平面抽出部ＰＬＥＸに入力される視差画像の生成を説明するための図である。
【図１５】平面抽出部ＰＬＥＸが障害物を認識する処理手順を示すフローチャートである。
【図１６】平面抽出部ＰＬＥＸが検出する平面のパラメータを示す図である。
【図１７】カメラ座標系から足底接地平面座標系への変換処理を説明するための図である。
【図１８】平面抽出部ＰＬＥＸにて抽出された平面上の点を示す図である。
【図１９】ロボットビューから床面を抽出し、さらに座標変換して２次元（床平面）上に障害物を表現したことを示す図である。
【図２０】ロボット装置の置かれた環境の具体例を示す図である。
【図２１】障害物地図の具体例を示す図である。
【図２２】本発明の実施の形態におけるロボット装置のソフトウェアの動作を示すフローチャートである。
【図２３】同ソフトウェアに入力されるデータの流れを示す模式図である。
【図２４】本発明の実施の形態におけるロボット装置の自由度構成モデルを模式的に示す図である。
【図２５】同ロボット装置の回路構成を示すブロック図である。
【図２６】同ロボット装置のソフトウェア構成を示すブロック図である。
【図２７】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図２８】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図２９】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図３０】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図３１】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
１  ロボット装置、４１０  ランドマーク認識部、４２０  ランドマーク地図作成部、４３０  行動可能領域認識部、４４０  行動制御部、１００４  ランドマーク、１１１０  行動可能領域
【図１】
2004298977.tif 000003
【図２】
2004298977.tif 000004
【図３】
2004298977.tif 000005
【図４】
2004298977.tif 000006
【図５】
2004298977.tif 000007
【図６】
2004298977.tif 000008
【図７】
2004298977.tif 000009
【図８】
2004298977.tif 000010
【図９】
2004298977.tif 000011
【図１０】
2004298977.tif 000012
【図１１】
2004298977.tif 000013
【図１２】
2004298977.tif 000014
【図１３】
2004298977.tif 000015
【図１４】
2004298977.tif 000016
【図１５】
2004298977.tif 000017
【図１６】
2004298977.tif 000018
【図１７】
2004298977.tif 000019
【図１８】
2004298977.tif 000020
【図１９】
2004298977.tif 000021
【図２０】
2004298977.tif 000022
【図２１】
2004298977.tif 000023
【図２２】
2004298977.tif 000024
【図２３】
2004298977.tif 000025
【図２４】
2004298977.tif 000026
【図２５】
2004298977.tif 000027
【図２６】
2004298977.tif 000028
【図２７】
2004298977.tif 000029
【図２８】
2004298977.tif 000030
【図２９】
2004298977.tif 000031
【図３０】
2004298977.tif 000032
【図３１】
2004298977.tif 000033