(57)【要約】【課題】従来に比べて少ない処理負荷で、移動体の動き量に対するバイアス値を自動的に特定できるデータ処理方法を提供する。【解決手段】ＣＰＵ１９は、異なる複数のバイアス値ｂｉａｓ＿ｉを仮定した複数の地図データＭｉを継続して保持し、撮像データＩＭ（Ｓ１０Ｌ，Ｓ１０Ｒ）が入力されると、それを基に上記保持した複数の地図データＭｉをそれぞれ更新し、その結果を評価することで、最適なバイアス値ｂｉａｓ＿ｉを特定する。【選択図】図１
2007219645.tif 000002
【特許請求の範囲】
【請求項１】
移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する第１の工程と、
前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記第１の工程で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う第２の工程と、
前記第２の工程で更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定する第３の工程と
を有するデータ処理方法。
【請求項２】
前記第３の工程で特定したバイアス値を基に、前記移動体の駆動系を制御する第４の工程
をさらに有する請求項１に記載のデータ処理方法。
【請求項３】
前記第１の工程は、前記バイアス値と前記動き量の計測値とに基づいて、前記移動体が備えた撮像手段の撮像方向を示す姿勢データをさらに生成し、
前記第２の工程は、前記第１の工程で生成した前記姿勢データが示す撮像方向で前記撮像データが得られたと過程して前記地図データの更新を行う
請求項１に記載のデータ処理方法。
【請求項４】
前記地図データが、前記移動体の移動に障害になる障害物によって占有されている確率を各々が示す３次元的に規定された複数のセルで構成される場合に、
前記第３の工程は、
前記地図データを構成する前記複数のセルに対してエントロピーを計算し、当該エントロピーにより高いピーク領域が形成された地図データに対応した前記バイアス値を特定する
請求項１に記載のデータ処理方法。
【請求項５】
前記地図データが、前記移動体の移動に障害になる障害物によって占有されている確率を各々が示す３次元的に規定された複数のセルで構成される場合に、
前記第３の工程は、
前記地図データを構成する前記セルの前記確率を基に当該地図データ内の直線部分の分散値を検出し、当該検出した分散値を基に前記バイアス値を特定する
請求項１に記載のデータ処理方法。
【請求項６】
前記地図データが、前記移動体の移動に障害になる障害物によって占有されている確率を各々が示す３次元的に規定された複数のセルで構成される場合に、
前記第３の工程は、
前記撮像データと、現在の移動体の位置・姿勢・バイアス値及び地図データから予測される撮像データとの比較により前記撮像データの尤もらしさを表す尤度を計算し、バイアス毎の尤度の時系列的な積算値（積算尤度重み）を基に前記バイアス値を特定する
請求項１に記載のデータ処理方法。
【請求項７】
前記第３の工程は、前記評価処理を行うのに十分な撮像データを用いて前記地図データが前記第２の工程において更新されたと判断したことを条件に、前記評価処理を行う
請求項１に記載のデータ処理方法。
【請求項８】
前記第１の工程で生成した前記位置データを基に、前記移動体が地図データが示す地図内で中央付近に位置するように前記地図データを変更する第４の工程
をさらに有し、
前記第２の工程は、前記第４の工程で変更した前記地図データを更新する
請求項１に記載のデータ処理方法。
【請求項９】
直前のある一定の時間領域、もしくは移動領域（ウィンドウ）の観測を優先する為、尤度の上昇比率を、前記尤度を乗じる前の積算尤度重みと、前記尤度を乗じた後の積算尤度重みにより計算し、当該比率を基に前記バイアス値を特定する
請求項６に記載のデータ処理方法。
【請求項１０】
移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する位置生成手段と、
前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記位置生成手段で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う地図更新手段と、
前記地図更新手段が更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定するバイアス値特定手段と
を有するデータ処理装置。
【請求項１１】
コンピュータが実行するプログラムであって、
移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する第１の手順と、
前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記第１の手順で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う第２の手順と、
前記第２の手順で更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定する第３の手順と
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の動き量に対するバイアス値を特定するデータ処理方法、データ処理装置およびプログラムに関する。
【背景技術】
【０００２】
例えば、自律型ロボットは、産業用ロボットと異なり、周囲の外部状態やロボット自身の内部状態に応じて自律的に動作を行うことのできるロボットである。自律型ロボットは、歩行動作では、外部の障害物を検出して障害物を回避するような行動経路を計画することができなくてはならない。従来のロボットのなかには、自身のおかれた環境の地図データータを基に行動経路を決定できるものが提案されている。
【０００３】
このようなロボットは、予め指定された地図データの他、自らがカメラなどの撮像結果を基に地図データを生成および更新する。
ところで、このようなロボットは、例えば、複数の足の長さに僅かな違いがあると、ＣＰＵの制御信号によってアクチュエータを制御しても、ロボットの実際の動き量と想定した動き量との間に違いが生じる。
このような場合に、ロボットの動き量のバイアス値を自動的に特定し、その特定したバイアス値を基に、ロボットの動きを制御するシステムがある。
【非特許文献１】D. Haehnel, W. Burgard, D. Fox, S. Thrun. “An efficient FastSLAM algorithm for Generating Maps of Large-Scale Cyclic Environments from Raw Laser Range Measurements”, Int. Conf. on Intelligent Robots and Systems (IROS), 2004 _ Particle filter for map-building
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のシステムでは、演算量が非常に多く、システムが大規模化すると共に、リアルタイム制御が難しいという問題がある。
【０００５】
本発明は上述した従来技術の問題点を解決するために、従来に比べて少ない処理負荷で、移動体の動き量に対するバイアス値を自動的に特定できるデータ処理方法、データ処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の観点の発明のデータ処理方法は、移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する第１の工程と、前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記第１の工程で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う第２の工程と、前記第２の工程で更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定する第３の工程とを有する。
【０００７】
第２の観点の発明のデータ処理装置は、移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する位置生成手段と、前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記位置生成手段で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う地図更新手段と、前記地図更新手段が更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定するバイアス値特定手段とを有する。
【０００８】
第３の観点の発明のプログラムは、コンピュータが実行するプログラムであって、移動体の動き量に対して予め規定された異なる複数のバイアス値の各々について、当該バイアス値と前記動き量の計測値とに基づいて、前記移動体の位置を示す位置データを生成する第１の手順と、前記複数のバイアス値の各々に対応付けられた複数の地図データの更新を、当該地図データに対応した前記バイアス値について前記第１の手順で生成した前記位置データが示す位置で撮像データが得られたと仮定して行う第２の手順と、前記第２の手順で更新した前記複数の地図データを基に所定の評価処理を行って、前記複数のバイアス値のうち最適な一つの前記バイアス値を特定する第３の手順とを前記コンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、従来に比べて少ない処理負荷で、移動体の動き量に対するバイアス値を自動的に特定できるデータ処理方法、データ処理装置およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態に係わるロボットについて説明する。
＜第１実施形態＞
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
本実施形態において、ロボット１が本発明の移動体の一例である。また、バイアス値ｂｉａｓ＿ｉが本発明の複数のバイアス値の一例であり、地図データＭｉが本発明の地図データの一例である。また、本実施形態の第１〜第３の評価処理が、本発明の評価処理の一例である。
また、図１に示すプログラムＰＲＧが本発明のプログラムの一例である。
【００１１】
図１は、本発明の実施形態のロボット１の機能ブロック図である。
図１に示すように、ロボット１は、例えば、ＣＣＤ(Charge-Coupled Devices)カメラ１０Ｒ，１０Ｌ、アクチュエータ群１６、センサ群１７、メモリ１８およびＣＰＵ１９を有する。
［ＣＣＤカメラ１０Ｒ，１０Ｌ］
ＣＣＤカメラ１０Ｒ，１０Ｌは、それぞれ撮像結果に応じた右画像データＳ１０Ｒおよび左画像データＳ１０ＬをＣＰＵ１９に出力する。
【００１２】
［アクチュエータ群１６］
アクチュエータ群１６は、ロボット１の動きを駆動する各種のアクチュエータである。
アクチュエータ群１６は、ＣＰＵ１９からの制御信号Ｓ１５によって駆動される。
センサ群１７は、ロボット１の所定箇所に設置された赤外線センサなどの非接触型センサや接触型センサなどである。
【００１３】
［センサ群１７］
センサ群１７は、検出信号Ｓ１７をＣＰＵ１９に出力する。
センサ群１７は、アクチュエータ群１６のアクチュエータに備えられたエンコーダなどを含む。
【００１４】
［メモリ１８］
メモリ１８は、ＣＰＵ１９が実行するプログラムＰＲＧ、並びに地図データＭｉなどのデータを記憶する。
【００１５】
［ＣＰＵ１９］
ＣＰＵ１９は、メモリ１８から読み出したプログラムＰＲＧに基づいて以下に示す処理を実行する。
ＣＰＵ１９は、ＣＣＤカメラ１０Ｒ，１０Ｌから入力した右画像データＳ１０Ｒと左画像データＳ１０Ｌの視差情報（disparity data）（距離情報）を計算し、カラー画像データ（ＹＵＶ：輝度Ｙ、ＵＶ色差）及び視差画像データ（ＹＤＲ：輝度Ｙ、視差Ｄ、信頼度Ｒ）をフレーム毎に左右交互に算出する。
ここで、視差とは、空間中のある点が左側カメラ及び右側カメラに写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
ＣＰＵ１９は、後述するように、上述した画像データを用いて、ロボット１の動き量のバイアス値を特定し、そのバイアス値を用いてアクチュエータ群１６等を制御する。
【００１６】
以下、図１に示すロボット１の構成をさらに詳細に説明する。
図２に示すように、ロボット１は、例えば、２足歩行タイプであり、日常生活上の様々な場面における人的活動を支援する実用ロボットである。
ロボット１は、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。ロボットは、３次元環境クラスデータを生成し、これを基に行動経路を決定する。
【００１７】
図２に示すように、ロボット１は、体幹部ユニット２０２の所定の位置に頭部ユニット２０３が連結されるとともに、左右２つの腕部ユニット２０４Ｒ／Ｌと、左右２つの脚部ユニット２０５Ｒ／Ｌが連結されて構成されている。
【００１８】
図２に示すロボット１が具備する関節自由度構成を図３に模式的に示す。
頭部ユニット２０３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００１９】
また、上肢を構成する各々の腕部ユニット２０４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。
手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書では簡単のため、ゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
また、体幹部ユニット２０２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００２０】
また、下肢を構成する各々の脚部ユニット２０５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足底１２１とで構成される。
本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット１の股関節位置を定義する。人体の足底１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、本明細書においては、簡単のためロボット１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
以上を総括すれば、ロボット１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２１】
上述したようなロボット１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型かつ軽量であることが好ましい。
なお、図３に示すアクチュエータによって図１に示すアクチュエータ群１６が構成され、図３に示すセンサによって図１に示すセンサ群１７が構成される。
【００２２】
このようなロボットは、ロボット全体の動作を制御する制御システムを例えば体幹部ユニット２０２等に備える。
図４は、本実施形態のロボット１の制御システム構成を示す模式図である。
図４に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール２００と、アクチュエータ３５０の駆動等、ロボット１の全身協調運動を制御する運動制御モジュール３００とで構成される。
【００２３】
思考制御モジュール２００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Central Processing Unit）２１１（図１に示すＣＰＵ１９）や、ＲＡＭ（Random Access Memory）２１２、ＲＯＭ（Read Only Memory）２１３及び外部記憶装置（ハード・ディスク・ドライブ等）２１４等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【００２４】
この思考制御モジュール２００は、画像入力装置２５１から入力される画像データや音声入力装置２５２から入力される音声データ等、外界からの刺激等にしたがって、ロボット１の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット２０１の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。
ここで、画像入力装置２５１は、例えばＣＣＤ（Charge Coupled Device）カメラを複数備えており、これらのカメラにより撮像した画像から距離画像を得ることができる。
本実施形態では、画像入力装置２５１は、図１に示すＣＣＤカメラ１０Ｒ，１０Ｌに対応している。
また、音声入力装置２５２は、例えばマイクロホンを複数備えている。
【００２５】
思考制御モジュール２００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００２６】
運動制御モジュール３００は、ロボット１の全身協調運動を制御するＣＰＵ３１１（図１に示すＣＰＵ１９）や、ＲＡＭ３１２、ＲＯＭ３１３及び外部記憶装置（ハード・ディスク・ドライブ等）３１４等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置３１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。
この運動制御モジュール３００には、図２に示したロボット１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ３５０、対象物との距離を測定する距離計測センサ（図示せず）、体幹部ユニット２０２の姿勢や傾斜を計測する姿勢センサ３５１、左右の足底の離床又は着床を検出する接地確認センサ３５２，３５３、足底１２１の足底１２１に設けられる荷重センサ、バッテリ等の電源を管理する電源制御装置３５４等の各種の装置が、バス・インターフェース（Ｉ／Ｆ）３１０経由で接続されている。
ここで、姿勢センサ３５１は、例えば加速度センサとジャイロ・センサの組合せによって構成され、接地確認センサ３５２，３５３は、近接センサ又はマイクロ・スイッチ等で構成される。
【００２７】
思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上
で構築され、両者間はバス・インターフェース２１０，３１０を介して相互接続されている。
【００２８】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各アクチュエータ３５０による全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンにしたがって、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示す
る指令値を各アクチュエータ３５０に転送する。
【００２９】
ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット１の体幹部ユニット２０２の姿勢や傾きを検出するとともに、各接地確認センサ３５２，３５３の出力信号により各脚部ユニット２０５Ｒ／Ｌが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット１の全身協調運動を適応的に制御することができる。更に、ＣＰＵ３１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット１の姿勢や動作を制御する。
【００３０】
また、運動制御モジュール３００は、思考制御モジュール２００において決定された意
思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール２０
０に返すようになっている。このようにしてロボット１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【００３１】
以下、図１および図５に示すＣＰＵ１９（ＣＰＵ３１１）の機能を説明する。
図５は、図１および図４に示すＣＰＵ１９の一部の機能の機能ブロック図である。
図５に示すように、ＣＰＵ１９は、例えば、画像前処理部３１、地図データ生成部３３、システムバイアス特定部３５、位置・姿勢検出部３７、並びに動き制御部３９を有する。
図５に示す構成要素の各々は、ＣＰＵ１９がプログラムＰＲＧを実行して実現してよいし、専用のハードウェアにより実現してもよい。
以下、図５に示す各構成について詳細に説明する。
【００３２】
［画像前処理部３１］
画像前処理部３１は、ＣＣＤカメラ１０Ｒ，１０Ｌから入力した右画像データＳ１０Ｒと左画像データＳ１０Ｌの視差情報（disparity data）（距離情報）を計算し、カラー画像データ（ＹＵＶ：輝度Ｙ、ＵＶ色差）及び視差画像データ（ＹＤＲ：輝度Ｙ、視差Ｄ、信頼度Ｒ）をフレーム毎に左右交互に算出する。
ここで、視差とは、空間中のある点が左側カメラ及び右側カメラに写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
【００３３】
画像前処理部３１は、上記カラー画像データ及び視差画像データを基に、ロボット１から画像（環境）内の対象物までの３次元距離を示す距離データ（ステレオデータ）Ｓ３１を生成し、これを撮像データＩＭとして地図データ生成部３３に出力する。
画像前処理部３１は、上記距離データから環境内に存在する複数の平面を検出し、それを示す平面データＳ３２を撮像データＩＭとして地図データ生成部３３に出力する。ここでの平面の検出方法としては、線分拡張法、ハフ変換等を利用した公知の平面検出技術を適用することができる。ノイズを含む距離データから階段のように複数平面を検出する代表例として、線分拡張法による平面検出を行うと正確に平面を検出することができる。
【００３４】
［地図生成部３３］
地図生成部３３は、画像前処理部３１から入力した撮像データＩＭ（距離データＳ３１および平面検出データＳ３２）に基づいて、地図データＭＡＰ（３次元グリット地図データ）を生成し、これをメモリ１８に書き込む。
地図データ生成部３３は、例えば、ＳＬＡＭ(Simultaneous Localization And Mapping）などの手法を用いて、地図データＭＡＰを生成する。
【００３５】
先ず、地図生成部３３による地図データＭＡＰの生成処理について説明する。
地図データＭＡＰは、周囲の環境を水平方向及び垂直方向に所定の大きさの格子（グリッド；Grid）に分割して表したものである。
地図生成部３３は、画像前処理部３１からの距離データＳ３１および平面データＳ３２とに基づいて、例えば、４メートル四方、高さ１メートルの空間を、水平解像度４センチ及び垂直解像度１センチの直方体空間を１グリッド単位（１セルと記す）とし、その集合によって表現された地図データＭＡＰを生成する。
地図生成部３３は、各セルに物体によって占有されているか否かの確率を付与し、観測データに基づいて各セルの占有確率を変更させている。また、地図生成部３３は、占有確率に閾値を設け、占有確率が閾値より大きいか否かによって環境の状態を地図として表現している。
本具体例では、高さ方向の解像度がセル分解能に依存しないため、垂直解像度は、１セ
ンチよりも粗くできる。
【００３６】
地図生成部３３は、３次元グリッドで表される実空間における全ての単位グリッド（以下、セルと記す。）ｐ（ｘ，ｙ，ｚ）に対して次の処理を行う。
地図生成部３３は、撮像画像内に像として映し出された測定点（３次元グリッド）と観測中心（ステレオカメラ中心）とを結ぶ直線上には障害物が存在しないというアルゴリズムに基づいて地図データＭＡＰを作成及び／又は更新している。
【００３７】
地図生成部３３は、上述のアルゴリズムに基づいて、測定対象点であるセルｐとロボットのステレオカメラ１１Ｌ，１１Ｒとを結ぶ線分の間に存在するセルに対して、エンプティ（Empty）処理を行う。続いて、測定点ｐにあたるセルに対してオキュパイド（Occupied）処理を行う。
地図データＭＡＰは、任意のセルｃに対して障害物の存在確率（障害物によって占有されている確率）ｐ（ｃ）を保持しており、このエンプティ処理及びオキュパイド処理は、これら各セルに対して統計的な処理である。
エンプティ処理は、障害物の存在確率を低下させる処理であり、オキュパイド処理は障害物の存在確率を増加させる処理である。本具体例では、エンプティ処理及びオキュパイド処理の存在確率を算出する手法の一例として、ベイズの更新則を用いる。
【００３８】
地図生成部３３は、エンプティ処理において式（１）により占有確率を減少させ、オキュパイド処理において式（２）により占有確率を増加させる。
式（１）は、セルｃの占有確率を示すｐ（ｃ）が“占有”という条件下にあるセルＣの確率を表しており、式（１）又は式（２）においてセルｃが占有されているか又は占有されていないかを表す確率ｐ（occ｜・・・）、ｐ（empty｜・・・）は、予め決められた閾値ｔｈである。
【００３９】
［数１］
ｐ（ｃ）←ｐ（ｃ｜ｅｍｐｔｙ）＝ｐ（ｅｍｐｔｙ｜ｃ）ｐ（ｃ）／｛ｐ（ｅｍｐｔｙ｜ｃ）ｐ（ｃ）＋ｐ（ｅｍｐｔｙ｜ｃ~）ｐ（ｃ~）｝
…（１）
【００４０】
［数２］
ｐ（ｃ）←ｐ（ｃ｜ｏｃｃ）＝ｐ（ｏｃｃ｜ｃ）ｐ（ｃ）／｛ｐ（ｏｃｃ｜ｃ）ｐ（ｃ）＋ｐ（ｏｃｃ｜ｃ~）ｐ（ｃ~）｝
…（２）
【００４１】
本具体例では、３次元グリッドとして表される領域は、例えば、４メートル四方、水平解像度４センチ及び垂直解像度１センチを１セルとした３次元グリッドで表現されている。
地図生成部３３が生成する地図データＭＡＰは、例えば、３次元座標（ｘ、ｙ、ｚ）の各セルについて、その占有確率ＯＧ（ｘ、ｙ、ｚ）（＝ｐ（ｃ））を示している。
【００４２】
本実施形態では、ロボット１の図６に示す動き量（α、ｄ、β）に対して予め規定したバイアス値ｂｉａｓ＿ｉ（Δα、Δｄ、Δβ）が異なる複数の地図データＭｉを用意する。ここで、ｉは２以上の整数である。バイアス値は、例えばΔα，Δβなど角度は、−５°〜＋５°の間で０．１°のステップで規定する。
本実施形態において、バイアス値ｂｉａｓ＿ｉ（Δα、Δｄ、Δβ）は、ロボット１の機械的（システム的）な要因によって常に生じるエラーを抑制するための値である。
このようなエラーは、例えば、足の長さの誤差、車輪がある場合には車輪の軽の誤差などによって生じる。
地図データ生成部３３は、バイアス値ｂｉａｓ＿ｉが異なる複数の地図データＭｉの各々について、位置・姿勢検出部３７から入力した対応するバイアス値ｂｉａｓ＿ｉの位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）と、撮像データＩＭとを基に、各バイアス値ｂｉａｓ＿ｉの地図データＭｉを更新する。
地図データ生成部３３は、地図データＭｉをメモリ１８に書き込む。
【００４３】
［システムバイアス特定部３５］
システムバイアス特定部３５は、メモリ１８から読み出した上記複数のバイアス値ｂｉａｓ＿ｉが異なる複数の地図データＭｉを基に所定の評価処理を行って、前記複数のバイアス値ｂｉａｓ＿ｉのうち最適な一つを特定（選択）する。
システムバイアス特定部３５は、例えば以下に示す第１〜第３の評価処理のうち何れかの評価処理を実行する。
（第１の評価処理）
システムバイアス特定部３５は、例えば、図７に示すように、複数の地図データＭｉの各々について、下記式（３）に基づいて、エントロピーＥを計算する。
下記式（３）において、「ｃ」は地図データＭｉ内のセルを示している。
【００４４】
［数３］
Ｅ＝−Σｃ（ｌｏｇ（ｐ（ｃ｜ｏｃｃ））ｐ（ｃ｜ｏｃｃ）＋ｌｏｇ（ｐ（ｃ｜ｅｍｐｔ））ｐ（ｃ｜ｅｍｐｔ））
…（３）
【００４５】
システムバイアス特定部３５は、上記式（３）で生成したエントロピーＥを評価値ｆｉｔとして用いて、エントロピーに最も急峻なピークを持つ地図データＭｉに対応したバイアス値ｂｉａｓ＿ｉを特定する。
システムバイアス特定部３５は、上記特定したバイアス値ｂｉａｓ＿ｉを位置・姿勢検出部３７および動き制御部３９に出力する。
【００４６】
（第２の評価処理）
システムバイアス特定部３５は、地図データＭｉ内の直線部分を抽出し、その分散値を基に、その地図データＭｉに対応したバイアス値ｂｉａｓ＿ｉの適正さを判断する。
システムバイアス特定部３５は、例えば、図８に示す手順で地図データＭｉから直線部分を抽出する。
本実施例では直線検出手法として、ノイズに対してロバストなRANSACを用いた以下に示すアルゴリズムを用いた。
システムバイアス特定部３５は、先ず、地図データＭｉ内の２つの占有点をランダムに選択する（ステップＳＴ１１）。占有点とは、例えば、占有されている確率が所定値以上の点である。
次に、システムバイアス特定部３５は、上記選択した２つの占有点によって規定される直線を計算する（ステップＳＴ１２）。
次に、システムバイアス特定部３５は、ステップＳＴ１２で計算した直線に対して、予め決められたしきい値以内の距離にある占有点を特定する（ステップＳＴ１３）。
次に、システムバイアス特定部３５は、ステップＳＴ１３で特定した占有点を用いて、それらの占有点に最も合致する直線を最小二乗法などによって再計算し、占有点群の直線との距離の分散値をスコアとする（ステップＳＴ１４）。
システムバイアス特定部３５は、（反復計算回数が一定の回数を越える、または、ステプＳＴ１４で求めたスコアが一定の閾値を越えた）の条件を満たした場合にはステップＳＴ１６に戻り、そうでない場合にはステップＳＴ１３に戻る（ステップＳＴ１５）。
システムバイアス特定部３５は、（ステップＳＴ１５で求められた直線のスコアが、それ以前に求められた直線のスコアよりも良い）の条件を満たした場合にはステップＳＴ１７に戻り、そうでない場合にはステップＳＴ１８に進む（ステップＳＴ１６）。
システムバイアス特定部３５は、ステップＳＴ１６で判断した直線を保存する（ステップＳＴ１７）。
システムバイアス特定部３５は、（反復計算回数が一定の回数を越える、または、ステップＳＴ１７に保存されたベストスコアが一定の閾値を越えた）の条件を満たした場合にはステップＳＴ１９に戻り、そうでない場合にはステップＳＴ１１に戻る（ステップＳＴ１８）。
システムバイアス特定部３５は、ステップＳＴ１７で保存した直線を出力結果として出力する（ステップＳＴ１９）。
その後、システムバイアス特定部３５は、上記抽出した地図データＭｉ内から抽出された複数の直線群の分散値を計算し、その分散値のを評価値fitとして用いて、分散値が最小の地図データＭｉを特定し、その地図データＭｉに対応したバイアス値ｂｉａｓ＿ｉを、位置・姿勢検出部３７および動き制御部３９に出力する。
変位分散値が最小の直線部分を含む地図データＭｉのバイアス値ｂｉａｓ＿ｉを用いるのは、（環境の多くが直線によって構成されており、最も直線とフィットする地図が最も適切な地図であることが予想されること）によるためである。特に家庭やオフィスなどの整備された環境では環境内には廊下や壁など直線によって構成されており、この仮説が最も効果的に働く。
【００４７】
（第３の評価処理）
システムバイアス特定部３５は、まず、撮像データＩＭと、現在の移動体の位置・姿勢・バイアス値及び地図データＭｉから予測される撮像データとの比較により前記撮像データＩＭの尤もらしさを表す尤度を計算する。次に、バイアス毎の直前の尤度と、今回計算された尤度を積算していくことで、尤度の時系列的な積算値（積算尤度重み）を計算し、その結果が最も高い地図データＭiのバイアス値ｂｉａｓ＿ｉを特定する。
また、システムバイアス特定部３５は、前記バイアスの選択戦略において、直前のある一定の時間領域、もしくは移動領域（ウィンドウ）の観測を優先する為、尤度の上昇比率を、前記尤度を乗じる前の積算尤度重みと、前記尤度を乗じた後の積算尤度重みにより計算し、当該上昇比率が最も高い地図データＭｉのバイアス値ｂｉａｓ＿ｉを特定する。
［位置・姿勢検出部３７］
位置・姿勢検出部３７は、センサ群１７から入力した動き量の測定値α１，ｄ１，β１と、システムバイアス特定部３５から入力したバイアス値ｂｉａｓ＿ｉ（Δα，Δｄ，Δβ）とを加算して、実際の動き量（α，ｄ，β）を計算する。ここで、「α＝α１＋Δα」、「ｄ＝ｄ１＋Δｄ」、「β＝β１＋Δβ」である。
位置・姿勢検出部３７は、上記実際の動き量（α，ｄ，β）を基に、各バイアス値ｂｉａｓの位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）を生成し、これを地図データ生成部３３に出力する。
ここで、ｘｉ，ｙｉは、バイアス値ｂｉａｓ＿ｉである場合のロボット１のｘ，ｙ平面上でのｘ座標およびｙ座標をそれぞれ示す。また、θｉは、バイアス値ｂｉａｓ＿ｉである場合のロボット１の向き（ＣＣＤカメラ１０Ｒ，１０Ｌの向き）を示す。
【００４８】
［動き制御部３９］
動き制御部３９は、システムバイアス特定部３５から入力したバイアス値ｂｉａｓ＿ｉに対応した地図データＭｉをメモリ１８から読み出す。
そして、動き制御部３９は、例えば、現在地から予め設定された目標地に移動するルートを、メモリ１８から読み出した上記地図データＭｉを基に決定する。
次に、動き制御部３９は、センサ群１７の検出データを基に障害物などを回避してロボット１が上記決定したルール上を移動するように、アクチュエータ群１６を制御する。このとき、動き制御部３９は、システムバイアス特定部３５から入力したバイアス値ｂｉａｓ（Δα，Δｄ，Δβ）を基に、ロボット１のシステムエラーを解消するようにアクチュエータ群１６を制御する。
【００４９】
以下、図１にロボット１の動作例を説明する。
［第１の動作例］
以下、図１に示すロボット１において、バイアス値ｂｉａｓ＿ｉを特定する動作例を説明する。
図９は、図１に示すロボット１のバイアス値ｂｉａｓ＿ｉを特定する動作例を説明するための図である。
以下の動作例では、上述した複数の異なるバイアス値ｂｉａｓ＿ｉの各々に対応して仮説データｈｉを規定する。
仮説データｈｉは、ｈｉ（ｘｉ，ｙｉ，θｉ、ｂｉａｓ＿ｉ，Ｍｉ）で示され、上述した位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）、バイアス値ｂｉａｓ＿ｉ、地図データＭｉで規定される。
【００５０】
ステップＳＴ３１：
ＣＰＵ１９は、初期設定として、全ての複数の仮説データｈｉ（ｘｉ，ｙｉ，θｉ、ｂｉａｓ＿ｉ，Ｍｉ）のバイアス値ｂｉａｓ＿ｉに「０」を設定する。
【００５１】
ステップＳＴ３２：
ＣＰＵ１９は、上記複数の仮説データｈｉ（ｘｉ，ｙｉ，θｉ、ｂｉａｓ＿ｉ，Ｍｉ）のバイアス値ｂｉａｓ＿ｉに、相互に異なる固有のバイアス値を設定する。
【００５２】
ステップＳＴ３３：
位置・姿勢検出部３７は、センサ群１７から動き量の測定値（エンコーダ値）α１，ｄ１，β１を入力したか否か（すなわちロボット１に動きがあったか否か）を判断し、入力したと判断した場合に、ステップＳＴ３４に進み、そうでない場合にステップＳＴ３５に進む。
【００５３】
ステップＳＴ３４：
位置・姿勢検出部３７は、センサ群１７から動き量の測定値α１，ｄ１，β１と、バイアス値ｂｉａｓ＿ｉとを基に、各仮説データｈｉの位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）を生成し、これを地図データ生成部３３に出力する。
【００５４】
ステップＳＴ３５：
地図データ生成部３３は、画像前処理部３１から撮像データＩＭ（距離データＳ３１および平面検出データＳ３２）を入力したか否かを判断し、入力したと判断するとステップＳＴ３６に進み、そうでない場合にはステップＳＴ３９に進む。
【００５５】
ステップＳＴ３６：
地図データ生成部３３は、位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）を用いて、入力した撮像データＩＭを累積して地図データＭｉの各々を更新する。
【００５６】
ステップＳＴ３７：
システムバイアス特定部３５は、前述したように、地図データＭｉの各々について、評価値ｆｉｔを計算する。
【００５７】
ステップＳＴ３８：
システムバイアス特定部３５は、前述したように、ステップＳＴ３７で生成した評価値ｆｉｔを基に、バイアス値ｂｉａｓ＿ｉ、すなわち仮説データｈｉを選択（特定）する。
【００５８】
ステップＳＴ３９：
システムバイアス特定部３５は、ステップＳＴ３８で選択したバイアス値ｂｉａｓ＿ｉを位置・姿勢検出部３７および動き制御部３９に出力する。
【００５９】
［第２の動作例］
以下、動き制御部３９によるロボット１の動き制御に関する動作例を説明する。
図１０は、図５に示す動き制御部３９の処理例を説明するためのフローチャートである。
ステップＳＴ５１：
動き制御部３９は、例えば、入力した距離データＳ３１及び平面検出データＳ３２、センサ群１７の検出結果、あるいはメモリ１８から読み出した選択されたバイアス値ｂｉａｓ＿ｉに対応する地図データＭｉを基に、ロボット１の移動方向に、ロボット１が移動できない高さの障害物があるか否かを判断し、その障害物があると判断するとステップＳＴ１２に進み、そうでない場合にはステップＳＴ５３に進む。
【００６０】
ステップＳＴ５２：
動き制御部３９は、例えば、入力した距離データＳ３１及び平面検出データＳ３２、センサ群１７の検出結果、あるいはメモリ１８から読み出した地図データＭＡＰを基に、ロボット１が移動できる新たな方向を探索して、その探索した方向に移動するようにアクチュエータ群１６を制御する。
【００６１】
ステップＳＴ５３：
動き制御部３９は、ロボット１の移動方向に端に移動すれば回避できる障害物があるか否かを判断し、障害物があると判断するとステップＳＴ５４に進み、そうでない場合にはステップＳＴ５５に進む。
【００６２】
ステップＳＴ５４：
動き制御部３９は、障害物を回避するように、例えば、道路の端を移動するようにアクチュエータ群１６を制御する。
【００６３】
ステップＳＴ５５：
動き制御部３９は、既に決定されたパスに従って直進移動するようにアクチュエータ群１６を制御する。
【００６４】
以上説明したように、ロボット１によれば、異なる複数のバイアス値ｂｉａｓ＿ｉを仮定した複数の地図データＭｉを継続して保持し、撮像データＩＭが入力されると、それを基に上記保持した複数の地図データＭｉをそれぞれ更新し、その結果を評価することで、最適なバイアス値ｂｉａｓ＿ｉを特定する。
そのため、撮像データが入力される度に、異なる複数のバイアス値を仮定した地図データ全体を最初から生成する場合に比べて処理量を大幅に削減できる。これにより、ＣＰＵ１９の処理負荷を軽減でき、処理能力が低い安価なものを用いることができる。また、リアルタイム性を向上できる。
【００６５】
＜第２実施形態＞
本実施形態のロボットは、図１に示すシステムバイアス特定部３５ａの処理の一部を除いて、第１実施形態のロボット１の同じである。
以下、本実施形態のシステムバイアス特定部３５ａの処理を説明する。
図１１は、図１に示すシステムバイアス特定部３５ａの処理を説明するためのフローチャートである。
図１１において、ステップＳＴ６１〜ＳＴ６６，ＳＴ６８〜ＳＴ７０の処理は、それぞれ図９に示すステップＳＴ３１〜ＳＴ３６，ＳＴ３７〜ＳＴ３９とそれぞれ同じである。
システムバイアス特定部３５ａは、図１１に示すように、評価処理を行うにあたって十分な量の撮像データＩＭ（例えば、所定数のフレームの撮像データＩＭ）を用いて全ての地図データＭｉが更新されたという条件を満たしたか否かを判断し、当該条件を満たしたと判断した場合にステップＳＴ６８の処理に進む。
これにより、バイアス値ｂｉａｓ＿ｉ選択のための評価処理の信頼性を高めることができる。
【００６６】
＜第３実施形態＞
本実施形態のロボットは、図１に示す地図データ生成部３３ｂおよびシステムバイアス特定部３５ｂの処理の一部を除いて、第１実施形態のロボット１の同じである。
以下、本実施形態の地図データ生成部３３ｂおよびシステムバイアス特定部３５ｂの処理を説明する。
図１２は、図１に示す地図データ生成部３３ｂおよびシステムバイアス特定部３５ｂの処理を説明するためのフローチャートである。
図１２において、ステップＳＴ８１〜ＳＴ８４，ＳＴ８６〜ＳＴ９１の処理は、それぞれ図１１に示すステップＳＴ６１〜ＳＴ６４，ＳＴ６５〜ＳＴ７０とそれぞれ同じである。
図１２に示すように、位置・姿勢検出部３７がセンサ群１７から動き量の測定値α１，ｄ１，β１と、バイアス値ｂｉａｓ＿ｉとを基に、各仮説データｈｉの位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）を生成した後に（ステップＳＴ８４）、地図データ生成部３３ｂは、地図データＭｉにおいてロボット１の位置が中央（センター）になるようにシフト処理を行って地図データＭｉを更新する（ステップＳＴ８５）。
このとき、上記シフト処理によって地図データＭｉ内に生じた境界部分は消去する。
本実施形態によれば、上述したように、ロボット１を地図データＭｉ内の中央に位置させることで、バイアス値ｂｉａｓ＿ｉ選択のための評価処理の精度を高めることができる。
【００６７】
＜第４実施形態＞
本実施形態のロボットは、図１に示す地図データ生成部３３ｃおよびシステムバイアス特定部３５ｃの処理の一部を除いて、第１実施形態のロボット１と同じである。
以下、本実施形態の地図データ生成部３３ｃおよびシステムバイアス特定部３５ｃの処理を説明する。
図１３は、図１に示す地図データ生成部３３ｃおよびシステムバイアス特定部３５ｃの処理を説明するためのフローチャートである。
図１３において、ステップＳＴ１０１〜ＳＴ１０５，ＳＴ１１０の処理は、それぞれ図９に示すステップＳＴ３１〜ＳＴ３６，ＳＴ７０とそれぞれ同じである。
図１３に示すように、地図データ生成部３３ｃは、画像前処理部３１から撮像データＩＭ（距離データＳ３１および平面検出データＳ３２）を入力したと判断した場合に（ステップＳＴ１０５）、次に、地図データＭｉの更新を行うか否かを判断する（ステップＳＴ１０６）。
ステップＳＴ１０６の判断は、例えば、当該判断を所定回数行う毎に１回、ステップＳＴ１０９に進むなどのルールに基づいて行う。また、ステップＳＴ１０７とＳＴ１０９のどちらに進むかをランダムに決定してもよい。
【００６８】
システムバイアス特定部３５ｃは、撮像データＩＭと、現在の移動体の位置・姿勢・バイアス値及び地図データＭｉから予測される撮像データとの比較により前記撮像データＩＭの尤もらしさを表す尤度を計算し、バイアス毎の直前の尤度と、今回計算された尤度を積算していくことで、尤度の時系列的な積算値（積算尤度重み）を計算する（ステップＳＴ１０７）。
次に、システムバイアス特定部３５ｃは、上記計算した積算尤度重みが最も高い地図データＭｉのバイアス値ｂｉａｓ＿ｉを特定（選択）する（ステップＳＴ１０８）。
【００６９】
また、システムバイアス特定部３５ｃは、撮像データＩＭを基に、各地図データＭｉを更新する（ステップＳＴ１０９）。
【００７０】
＜第５実施形態＞
本実施形態のロボットは、図１に示す地図データ生成部３３ｄおよびシステムバイアス特定部３５ｄの処理の一部を除いて、第１実施形態のロボット１と同じである。
以下、本実施形態の地図データ生成部３３ｄおよびシステムバイアス特定部３５ｄの処理を説明する。
図１４は、図１に示す地図データ生成部３３ｄおよびシステムバイアス特定部３５ｄの処理を説明するためのフローチャートである。
図１４において、ステップＳＴ１２１〜ＳＴ１２４，ＳＴ１３３の処理は、それぞれ図９に示すステップＳＴ３１〜ＳＴ３６，ＳＴ７０とそれぞれ同じである。
【００７１】
図１４に示すように、位置・姿勢検出部３７がセンサ群１７から動き量の測定値α１，ｄ１，β１と、バイアス値ｂｉａｓ＿ｉとを基に、各仮説データｈｉの位置・姿勢データｐｏｓｅ（ｘｉ，ｙｉ，θｉ）を生成した後に（ステップＳＴ１２４）、地図データ生成部３３ｄは、地図データＭｉにおいてロボット１の位置が中央（センター）になるようにシフト処理を行って地図データＭｉを更新する（ステップＳＴ１２５）。
【００７２】
図１４に示すように、地図データ生成部３３ｄは、画像前処理部３１から撮像データＩＭ（距離データＳ３１および平面検出データＳ３２）を入力したと判断した場合に（ステップＳＴ１２６）、次に、地図データＭｉの更新を行うか否かを判断する（ステップＳＴ１２７）。
ステップＳＴ１２７の判断は、例えば、当該判断を所定回数行う毎に１回、ステップＳＴ１３２に進むなどのルールに基づいて行う。また、ステップＳＴ１２８とＳＴ１３２のどちらに進むかをランダムに決定してもよい。
【００７３】
システムバイアス特定部３５ｄは、撮像データＩＭと、現在の移動体の位置・姿勢・バイアス値及び地図データＭｉから予測される撮像データとの比較により前記撮像データＩＭの尤もらしさを表す尤度を計算し、バイアス毎の直前の尤度と、今回計算された尤度を積算していくことで、尤度の時系列的な積算値（積算尤度重み）を計算し（ステップＳＴ１２８）、これを記憶（保存）する（ステップＳＴ１２９）。
次に、システムバイアス特定部３５ｄは、各仮説について、ステップＳＴ１２８で生成した積算尤度重みｗと、前回生成した積算尤度重みｗとの比率ｒａｔｉｏを計算する（ステップＳＴ１３０）。
次に、システムバイアス特定部３５ｄは、ステップＳＴ１３０で生成した比率ｒａｔｉｏを基に、この比率が最も大きいなどの基準で仮説（バイアス値ｂｉａｓ＿ｉ）を選択する（ステップＳＴ１３１）。
【００７４】
また、システムバイアス特定部３５ｃは、撮像データＩＭを基に、各地図データＭｉを更新する（ステップＳＴ１３２）。
【００７５】
以下、本実施形態の効果および作用をロボット１のバイアスと実際の移動軌跡とを例示して説明する。
図１５に示すように、ロボット１が直線の廊下１００を移動する場合を考える。
ロボット１の実際のバイアス値がΔβ＝−３．５°である場合には、補正処理を行わないと、ロボット１は直線移動制御を行っても、図１６に示すような奇跡で移動する。
一方、仮定したバイアス値ｂｉａｓ＿ｉがΔβ＝−２．８４°である場合には、評価処理により、前述したエントロピーが図１７（Ｂ）に示すように変化し、当該バイアス値ｂｉａｓ＿ｉが選択されると、ロボット１の移動軌跡は図１７（Ａ）に示すようになる。なお、図１７（Ｂ）において、横軸は時間、縦軸は（バイアス値[degree]）である。
また、仮定したバイアス値ｂｉａｓ＿ｉがΔβ＝−３．４５°である場合には、評価処理（ライン抽出）により、ロボット１の移動軌跡は図１８（Ａ）に示すようになる。
また、仮定したバイアス値ｂｉａｓ＿ｉがΔβ＝−３．２３°である場合には、第３の評価処理により、ロボット１の移動軌跡は図１９（Ａ）に示すようになる。
また、実際のバイアス値が前半ではΔβ＝−３．５°となり、後半ではΔβ＝３．５°となった場合に、補正処理を行わないと、ロボット１の移動軌跡は図２０に示すようになる。これに対して、補正処理を行うと、ロボット１の移動軌跡は図２１に示すようになる。
【００７６】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
例えば、上述した実施形態では、本発明の通信装置として、２足歩行のロボット１を例示したが、通信装置として、例えば、車輪による移動体、あるいは１足や３足以上のロボットを用いてもよい。また、本発明の通信装置は、ロボット以外でも、通信機能を備えていれば固定式のカメラ装置であってもよい。
【００７７】
なお、上述した実施形態では、地図生成部３３において、３次元グリッドの各々の占有確率を示す地図データＭＡＰを生成する場合を例示したが、ノードｎｏｄｅとエッジｅｄｇｅとからなるグラフを構築し、当該グラフを示す地図データを生成してもよい。この場合に、各ノードｎｏｄｅは、何らかの特徴又はサブマップを示している。また、各エッジｅｄｇｅは、ノードｎｏｄｅ間のパスを示している。
また、地図生成部３３は、図２３に示すように、ＳＬＡＭ(Simultaneous Localization and Map Building)を基にしたカルマンフィルタを用いて、テレビ、椅子、テーブルなどのランドマークＬＭを規定した地図データＭＡＰを生成してもよい。
【図面の簡単な説明】
【００７８】
【図１】図１は、本発明の実施形態に係わるロボットの機能ブロック図である。
【図２】図２は、図１に示すロボット検出部の一例を説明するための図である。
【図３】図３は、本発明の実施形態のロボットの外観図である。
【図４】図４は、本発明の実施形態のロボットの駆動系を説明するための図である。
【図５】図５は、図１に示すＣＰＵの機能ブロック図である。
【図６】図６は、本発明の実施形態における動き量およびバイアス値を説明するための図である。
【図７】図７は、図５に示すシステムバイアス特定部が行う第１の評価処理を説明するための図である。
【図８】図８は、図５に示すシステムバイアス特定部が行う第２の評価処理を説明するための図である。
【図９】図９は、図１に示すロボットのバイアス値ｂｉａｓ＿ｉを特定する動作例を説明するためのフローチャートである。
【図１０】図１０は、図５に示す動き制御部の処理例を説明するためのフローチャートである。
【図１１】図１１は、本発明の第２実施形態のロボットのバイアス値決定処理を説明するためのフローチャートである。
【図１２】図１２は、本発明の第３実施形態のロボットのバイアス値決定処理を説明するためのフローチャートである。
【図１３】図１３は、本発明の第４実施形態のロボットのバイアス値決定処理を説明するためのフローチャートである。
【図１４】図１４は、本発明の第５実施形態のロボットのバイアス値決定処理を説明するためのフローチャートである。
【図１５】図１５は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図１６】図１６は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図１７】図１７は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図１８】図１８は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図１９】図１９は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図２０】図２０は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【図２１】図２１は、本発明の実施形態の効果および作用をロボットのバイアスと実際の移動軌跡との一例を説明するための図である。
【符号の説明】
【００７９】
１０Ｌ，１０Ｒ…ＣＣＤカメラ、１６…アクチュエータ群、１７…センサ群、１８…メモリ、１９…ＣＰＵ、３１…画像前処理部、３３…地図データ生成部、３５…システムバイアス特定部、３７…位置・姿勢検出部、３９…動き制御部
【図１】
2007219645.tif 000003
【図２】
2007219645.tif 000004
【図３】
2007219645.tif 000005
【図４】
2007219645.tif 000006
【図５】
2007219645.tif 000007
【図６】
2007219645.tif 000008
【図７】
2007219645.tif 000009
【図８】
2007219645.tif 000010
【図９】
2007219645.tif 000011
【図１０】
2007219645.tif 000012
【図１１】
2007219645.tif 000013
【図１２】
2007219645.tif 000014
【図１３】
2007219645.tif 000015
【図１４】
2007219645.tif 000016
【図１５】
2007219645.tif 000017
【図１６】
2007219645.tif 000018
【図１７】
2007219645.tif 000019
【図１８】
2007219645.tif 000020
【図１９】
2007219645.tif 000021
【図２０】
2007219645.tif 000022
【図２１】
2007219645.tif 000023