(57)【要約】【課題】デバイスの位置、方向を推定する同定処理を正しく効率的に実行する構成を実現する【解決手段】センサによって取得される個別のセンサ情報を集積した情報、例えば個別のセンサ情報をＺｔとした場合、センサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝などの集積センサ情報に基づくセンサパッチを生成し、このセンサパッチに基づくデバイスの位置および方向推定処理としての同定処理を実行する。本構成によれば、個別のセンサ情報のみからは得られない情報の適用が可能となり、ノイズを削減してＳＮＲの高いデータに基づく同定処理を行なうことが可能となる。また、処理タイミングも入力フレームのスピード、例えば３０フレーム／ｓｅｃごとに１つのフレーム画像の処理を行う必要がなくなり、処理負荷の低減が可能となる。【選択図】図７
2008065562.tif 000002
【特許請求の範囲】
【請求項１】
自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する情報処理装置であり、
自装置の周囲の情報としてのセンサ情報を取得するセンサと、
自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチを生成するセンサパッチ生成部と、
前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行する同定処理部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記センサパッチ生成部は、
前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理と、新たに入力される動き情報に基づくデバイス姿勢を推定する処理を実行するとともに、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記センサパッチ生成部は、
前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理を実行する構成であり、該センサパッチ更新処理として、センサ情報の集積処理、ランドマークの抽出処理、およびグリッドマップの生成処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記センサパッチ生成部は、
新たに入力される動き情報に基づくデバイス姿勢を推定するデバイス姿勢推定処理を実行する構成であり、
該デバイス姿勢推定処理を、
（ａ）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（ｂ）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
上記（ａ）または（ｂ）いずれかの処理を適用して実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記センサパッチ生成部は、
前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチと、該センサパッチ生成期間における自装置の動き情報とに基づいて、環境地図の生成情報として適用可能なグリッドマップの座標更新および自装置の姿勢更新処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記センサパッチ生成部は、
生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行する構成であり、前記判定基準として、
（ａ）予め設定された時間の経過によるタイムアウト、
（ｂ）予め設定された閾値距離に自装置の移動距離が到達、
（ｃ）自装置の先行姿勢［Ｕ］に対応する共分散行列共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が予め定めた閾値を超えた、
（ｄ）自装置の先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が予め定めた閾値を超えた、
（ｅ）生成地図におけるセル中、占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］設定のなされたセル数が予め定めた閾値を越えた、
（ｆ）前記同定処理部からのセンサパッチ出力要求の受領、
上記（ａ）〜（ｆ）のいずれかの１つの基準、またはいずれかの基準の組み合わせを適用したセンサパッチの生成終了判定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記同定処理部は、
前記同定処理の成功判定処理を実行する構成であり、同定処理の成功の判定に基づいて、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記センサパッチ生成部は、
前記同定処理部からのリセット要求の入力に基づいて、新規センサパッチの生成処理を開始する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記同定処理部は、
前記同定処理の成功判定処理として、
予め保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報との一致度を検証する処理を実行する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記同定処理部は、
前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することなく、前記センサパッチ生成部から、各センサパッチに重複するセンサ情報を含むセンサパッチを入力して、自装置の位置および方向を推定する同定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記同定処理部は、
各センサパッチに重複するセンサ情報を含むセンサパッチを適用した同定処理の実行に際して、重複情報の過大評価を避けるための平滑化処理を実行する構成であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記同定処理部は、
拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従った処理を基本とした同定処理を実行する構成であり、
拡張カルマン・フィルタ（ＥＫＦ）処理において、センサパッチに対応して設定される共分散行列Σｓを、
Σｓ←ｇ（Σｓ）
ただし、ｇ（）は、共分散行列Σｓを増加させる関数、
とする処理を実行して同定処理を行なう構成であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
前記同定処理部は、
モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従った処理を基本とした同定処理を実行する構成であり、
モンテカルロ同定処理（ＭＣＬ）において、センサパッチに基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）、
ただし、ｚｔは、時間ｔにおけるセンサ情報、ｘｔは時間ｔにおける装置姿勢、
上記式を、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
ただし、ｇ（ｐ）は、ｐを増加させる関数、
とする処理を実行して同定処理を行なう構成であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１４】
前記同定処理部は、
前記センサパッチ生成部から入力するセンサパッチに対応して実行された同定処理が成功した場合、処理済みのセンサパッチを、処理済みセンサパッチとして記憶部に格納し、
新たにセンサパッチ生成部から入力する新規入力センサパッチと、前記処理済みセンサパッチとの比較に基づいて、変化情報を抽出し、抽出した変化情報に基づく同定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項１５】
前記同定処理部は、
前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
（Ａ）２つのセンサパッチの差分情報による処理、
（Ｂ）２つのセンサパッチの更新率情報による処理、
上記（Ａ）または（Ｂ）のいずれかの処理を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記同定処理部は、
前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
モンテカルロ同定処理（ＭＣＬ）処理を適用して、更新率情報に基づく同定処理を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１７】
情報処理装置において、自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する同定処理方法であり、
センサにおいて、自装置の周囲の情報としてのセンサ情報を取得するセンサ情報取得ステップと、
センサパッチ生成部において、自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチを生成するセンサパッチ生成ステップと、
同定処理部において、前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行する同定処理ステップと、
を有することを特徴とする同定処理方法。
【請求項１８】
前記センサパッチ生成ステップは、
前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理と、新たに入力される動き情報に基づくデバイス姿勢を推定する処理を実行するとともに、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行するステップであることを特徴とする請求項１７に記載の同定処理方法。
【請求項１９】
前記センサパッチ生成ステップは、
前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理を実行するステップを含み、該センサパッチ更新処理として、センサ情報の集積処理、ランドマークの抽出処理、およびグリッドマップの生成処理を実行することを特徴とする請求項１７に記載の同定処理方法。
【請求項２０】
前記センサパッチ生成ステップは、
新たに入力される動き情報に基づくデバイス姿勢を推定するデバイス姿勢推定処理を実行するステップを含み、
該デバイス姿勢推定処理を、
（ａ）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（ｂ）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
上記（ａ）または（ｂ）いずれかの処理を適用して実行することを特徴とする請求項１７に記載の同定処理方法。
【請求項２１】
前記センサパッチ生成ステップは、
自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチと、該センサパッチ生成期間における自装置の動き情報とに基づいて、環境地図の生成情報として適用可能なグリッドマップの座標更新および自装置の姿勢更新処理を実行するステップであることを特徴とする請求項１７に記載の同定処理方法。
【請求項２２】
前記センサパッチ生成ステップは、
生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行するステップであり、前記判定基準として、
（ａ）予め設定された時間の経過によるタイムアウト、
（ｂ）予め設定された閾値距離に自装置の移動距離が到達、
（ｃ）自装置の先行姿勢［Ｕ］に対応する共分散行列共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が予め定めた閾値を超えた、
（ｄ）自装置の先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が予め定めた閾値を超えた、
（ｅ）生成地図におけるセル中、占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］設定のなされたセル数が予め定めた閾値を越えた、
（ｆ）前記同定処理部からのセンサパッチ出力要求の受領、
上記（ａ）〜（ｆ）のいずれかの１つの基準、またはいずれかの基準の組み合わせを適用したセンサパッチの生成終了判定処理を実行することを特徴とする請求項１７に記載の同定処理方法。
【請求項２３】
前記同定処理ステップは、
前記同定処理の成功判定処理を実行するステップを含み、同定処理の成功の判定に基づいて、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することを特徴とする請求項１７に記載の同定処理方法。
【請求項２４】
前記センサパッチ生成部は、
前記同定処理部からのリセット要求の入力に基づいて、新規センサパッチの生成処理を開始することを特徴とする請求項２３に記載の同定処理方法。
【請求項２５】
前記同定処理ステップは、
前記同定処理の成功判定処理として、
予め保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報との一致度を検証する処理を実行することを特徴とする請求項２３に記載の同定処理方法。
【請求項２６】
前記同定処理ステップは、
前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することなく、前記センサパッチ生成部から、各センサパッチに重複するセンサ情報を含むセンサパッチを入力して、自装置の位置および方向を推定する同定処理を実行することを特徴とする請求項１７に記載の同定処理方法。
【請求項２７】
前記同定処理ステップは、
各センサパッチに重複するセンサ情報を含むセンサパッチを適用した同定処理の実行に際して、重複情報の過大評価を避けるための平滑化処理を実行することを特徴とする請求項２６に記載の同定処理方法。
【請求項２８】
前記同定処理ステップは、
拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従った処理を基本とした同定処理を実行し、
拡張カルマン・フィルタ（ＥＫＦ）処理において、センサパッチに対応して設定される共分散行列Σｓを、
Σｓ←ｇ（Σｓ）
ただし、ｇ（）は、共分散行列Σｓを増加させる関数、
とする処理を実行して同定処理を行なうことを特徴とする請求項２６に記載の同定処理方法。
【請求項２９】
前記同定処理ステップは、
モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従った処理を基本とした同定処理を実行し、
モンテカルロ同定処理（ＭＣＬ）において、センサパッチに基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）、
ただし、ｚｔは、時間ｔにおけるセンサ情報、ｘｔは時間ｔにおける装置姿勢、
上記式を、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
ただし、ｇ（ｐ）は、ｐを増加させる関数、
とする処理を実行して同定処理を行なうことを特徴とする請求項２６に記載の同定処理方法。
【請求項３０】
前記同定処理ステップは、
前記センサパッチ生成部から入力するセンサパッチに対応して実行された同定処理が成功した場合、処理済みのセンサパッチを、処理済みセンサパッチとして記憶部に格納し、
新たにセンサパッチ生成部から入力する新規入力センサパッチと、前記処理済みセンサパッチとの比較に基づいて、変化情報を抽出し、抽出した変化情報に基づく同定処理を実行することを特徴とする請求項１７に記載の同定処理方法。
【請求項３１】
前記同定処理ステップは、
前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
（Ａ）２つのセンサパッチの差分情報による処理、
（Ｂ）２つのセンサパッチの更新率情報による処理、
上記（Ａ）または（Ｂ）のいずれかの処理を実行することを特徴とする請求項３０に記載の同定処理方法。
【請求項３２】
前記同定処理ステップは、
前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
モンテカルロ同定処理（ＭＣＬ）処理を適用して、更新率情報に基づく同定処理を実行するステップであることを特徴とする請求項３０に記載の同定処理方法。
【請求項３３】
情報処理装置において、自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行させるコンピュータ・プログラムであり、
センサにおいて、自装置の周囲の情報としてのセンサ情報を取得させるセンサ情報取得ステップと、
センサパッチ生成部において、自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチを生成するセンサパッチ生成ステップと、
同定処理部において、前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行させる同定処理ステップと、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および同定処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばロボットなど移動物体において移動環境を観測し、観測状況に応じた制御を実行する情報処理装置、および同定処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
例えば、自律型ロボットのような自律制御デバイスは、周囲の外部状態やデバイス自身の内部状態に応じて自律的に動作を行うデバイスである。例えばカメラなどのセンサによって取得した環境情報に基づいて、デバイスの位置確認や方向確認などに基づく姿勢（ポーズ）制御を行う。
【０００３】
例えば、自律型ロボットが歩行動作を行なう場合、予め取得された地図データを適用した処理や、外部の障害物等の検出などの環境情報を取得して障害物を回避するような行動経路を計画する手法が行なわれる。逐次取得する環境情報の分析に基づいて経路を決定するロボットは、例えば予め指定された地図データに対して、自らが取得したカメラ撮影画像などのセンサ情報に基づく更新を実行して、自己の位置を確認して最適な経路決定を行なう。
【０００４】
例えばロボットなどの自律制御デバイスにおいて実行される位置や方向などの姿勢（Ｐｏｓｅ）追跡処理は、ローカリゼーション（Ｌｏｃａｌｉｚａｔｉｏｎ）と呼ばれる。
【０００５】
デバイスの位置や方向などの姿勢の同定を行う代表的な手法の１つとして「ランドマーク（Ｌａｎｄｍａｒｋ）」を利用した手法がある。ランドマークは、例えばロボットの置かれた環境に設定された目印である。ロボットは、例えばカメラなどのセンサによって視覚認識されたランドマークからの相対位置情報を基に自己位置を地理的に探索することができる。
【０００６】
人工的なランドマークを含む環境における探索若しくは自己同定の方式として、例えば、マルコフ・ローカリゼーションや拡張カルマン・フィルタを適用したものが提案されている。
【０００７】
マルコフ・ローカリゼーションを用いた探索装置は、環境内の自分の位置を離散的なグリッド上の自己位置確率密度分布として保持し、環境内に設置されているランドマークを観測すると、ランドマークからの相対位置に基づいて自己位置を推定して、自己位置確率密度分布を更新する。また、自身の動作情報を観測すると、その動作情報に基づいて、自己位置確率密度を更新する。そして、各時刻において、自己位置確率密度分布の最も高い値を持つグリッドが、自己位置の推定結果となる。
【０００８】
他方、拡張カルマン・フィルタを用いた探索装置は、自己位置を状態変数［ｘ，ｙ，θ］の実測値として保持し、環境内に設置されたランドマークを観測すると、ランドマークからの相対位置に基づいて自己位置を推定する。また、自身の動作情報を観測すると、その動作情報に基づいて、状態量の推定を行う。
【０００９】
なお、人工的なランドマークを含む環境における探索若しくは自己同定方式を開示した従来技術として、例えば特許文献１がある。
【００１０】
特許文献１の他、デバイスの一や方向を同定する処理（ローカリゼーション）技術に関する構成を記述した従来技術としては、例えば以下の従来技術がある。
特許文献２は、ロボットの位置を中心位置として設定した複数のグリッドに仕切られた地図をロボットが保持し、ロボットが移動した場合、その移動量に基づいて、地図情報を更新する位置認識処理構成を開示している。
【００１１】
特許文献３は、３次元の距離データを取得するステレオビジョンシステムを適用して、観測ノイズに対してロバストで高さ方向における高い解像度の環境地図を作成する構成を開示している。また、特許文献４は、カメラなどのセンサによって複数の異なる位置の画像データを取得し、取得した複数画像の組み合わせ情報に基づいて３次元位置を特定する構成を開示している。
【００１２】
しかしながら、上述した従来技術における同定処理（ローカリゼーション）においては、いずれも、例えばカメラによって撮影される画像データの解析に基づく自己の位置の確認を行なう場合、連続するフレーム画像データに含まれる大量のデータについての解析を行なうことを前提としており、処理時間および処理負荷が大きくなるという問題を有する。
【特許文献１】特開２００３−１６６８２４号公報
【特許文献２】特開２００３−２６６３４９号公報
【特許文献３】特開２００６−０１１８８０号公報
【特許文献４】ＵＳ公開特許２００４／０１６８１４８
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、上述の問題点に鑑みてなされたものであり、例えば、自律走行ロボットなどの自律制御デバイスなどにおいて行なわれるデバイスの位置、方向を推定する同定処理（ローカリゼーション）を効率的にかつ高精度に実行することを可能とした情報処理装置、および同定処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の側面は、
自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する情報処理装置であり、
自装置の周囲の情報としてのセンサ情報を取得するセンサと、
自装置の動き情報と。前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合しセンサパッチを生成するセンサパッチ生成部と、
前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行する同定処理部と、
を有することを特徴とする情報処理装置にある。
【００１５】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理と、新たに入力される動き情報に基づくデバイス姿勢を推定する処理を実行するとともに、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理を実行する構成であり、該センサパッチ更新処理として、センサ情報の集積処理、ランドマークの抽出処理、およびグリッドマップの生成処理を実行する構成であることを特徴とする。
【００１７】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、新たに入力される動き情報に基づくデバイス姿勢を推定するデバイス姿勢推定処理を実行する構成であり、該デバイス姿勢推定処理を、
（ａ）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（ｂ）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
上記（ａ）または（ｂ）いずれかの処理を適用して実行する構成であることを特徴とする。
【００１８】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、前記センサによって取得されるセンサ情報を集積したセンサパッチと、該センサパッチ生成期間における自装置の動き情報とに基づいて、環境地図の生成情報として適用可能なグリッドマップの座標更新および自装置の姿勢更新処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行する構成であり、前記判定基準として、
（ａ）予め設定された時間の経過によるタイムアウト、
（ｂ）予め設定された閾値距離に自装置の移動距離が到達、
（ｃ）自装置の先行姿勢［Ｕ］に対応する共分散行列共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が予め定めた閾値を超えた、
（ｄ）自装置の先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が予め定めた閾値を超えた、
（ｅ）生成地図におけるセル中、占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］設定のなされたセル数が予め定めた閾値を越えた、
（ｆ）前記同定処理部からのセンサパッチ出力要求の受領、
上記（ａ）〜（ｆ）のいずれかの１つの基準、またはいずれかの基準の組み合わせを適用したセンサパッチの生成終了判定処理を実行する構成であることを特徴とする。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記同定処理の成功判定処理を実行する構成であり、同定処理の成功の判定に基づいて、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力する構成であることを特徴とする。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記センサパッチ生成部は、前記同定処理部からのリセット要求の入力に基づいて、新規センサパッチの生成処理を開始する構成であることを特徴とする。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記同定処理の成功判定処理として、予め保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報との一致度を検証する処理を実行する構成であることを特徴とする。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することなく、前記センサパッチ生成部から、各センサパッチに重複するセンサ情報を含むセンサパッチを入力して、自装置の位置および方向を推定する同定処理を実行する構成であることを特徴とする。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、各センサパッチに重複するセンサ情報を含むセンサパッチを適用した同定処理の実行に際して、重複情報の過大評価を避けるための平滑化処理を実行する構成であることを特徴とする。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従った処理を基本とした同定処理を実行する構成であり、拡張カルマン・フィルタ（ＥＫＦ）処理において、センサパッチに対応して設定される共分散行列Σｓを、
Σｓ←ｇ（Σｓ）
ただし、ｇ（）は、共分散行列Σｓを増加させる関数、
とする処理を実行して同定処理を行なう構成であることを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従った処理を基本とした同定処理を実行する構成であり、モンテカルロ同定処理（ＭＣＬ）において、センサパッチに基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）、
ただし、ｚｔは、時間ｔにおけるセンサ情報、ｘｔは時間ｔにおける装置姿勢、
上記式を、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
ただし、ｇ（ｐ）は、ｐを増加させる関数、
とする処理を実行して同定処理を行なう構成であることを特徴とする。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記センサパッチ生成部から入力するセンサパッチに対応して実行された同定処理が成功した場合、処理済みのセンサパッチを、処理済みセンサパッチとして記憶部に格納し、新たにセンサパッチ生成部から入力する新規入力センサパッチと、前記処理済みセンサパッチとの比較に基づいて、変化情報を抽出し、抽出した変化情報に基づく同定処理を実行する構成であることを特徴とする。
【００２８】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
（Ａ）２つのセンサパッチの差分情報による処理、
（Ｂ）２つのセンサパッチの更新率情報による処理、
上記（Ａ）または（Ｂ）のいずれかの処理を実行する構成であることを特徴とする。
【００２９】
さらに、本発明の情報処理装置の一実施態様において、前記同定処理部は、前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、モンテカルロ同定処理（ＭＣＬ）処理を適用して、更新率情報に基づく同定処理を実行する構成であることを特徴とする。
【００３０】
さらに、本発明の第２の側面は、
情報処理装置において、自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する同定処理方法であり、
センサにおいて、自装置の周囲の情報としてのセンサ情報を取得するセンサ情報取得ステップと、
センサパッチ生成部において、自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチを生成するセンサパッチ生成ステップと、
同定処理部において、前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行する同定処理ステップと、
を有することを特徴とする同定処理方法にある。
【００３１】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成ステップは、前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理と、新たに入力される動き情報に基づくデバイス姿勢を推定する処理を実行するとともに、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行するステップであることを特徴とする。
【００３２】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成ステップは、前記センサによって取得される新たなセンサ情報に基づくセンサパッチの更新処理を実行するステップを含み、該センサパッチ更新処理として、センサ情報の集積処理、ランドマークの抽出処理、およびグリッドマップの生成処理を実行することを特徴とする。
【００３３】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成ステップは、新たに入力される動き情報に基づくデバイス姿勢を推定するデバイス姿勢推定処理を実行するステップを含み、該デバイス姿勢推定処理を、
（ａ）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（ｂ）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
上記（ａ）または（ｂ）いずれかの処理を適用して実行することを特徴とする。
【００３４】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成ステップは、前記センサによって取得されるセンサ情報を集積したセンサパッチと、該センサパッチ生成期間における自装置の動き情報とに基づいて、環境地図の生成情報として適用可能なグリッドマップの座標更新および自装置の姿勢更新処理を実行するステップであることを特徴とする。
【００３５】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成ステップは、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行するステップであり、前記判定基準として、
（ａ）予め設定された時間の経過によるタイムアウト、
（ｂ）予め設定された閾値距離に自装置の移動距離が到達、
（ｃ）自装置の先行姿勢［Ｕ］に対応する共分散行列共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が予め定めた閾値を超えた、
（ｄ）自装置の先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が予め定めた閾値を超えた、
（ｅ）生成地図におけるセル中、占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］設定のなされたセル数が予め定めた閾値を越えた、
（ｆ）前記同定処理部からのセンサパッチ出力要求の受領、
上記（ａ）〜（ｆ）のいずれかの１つの基準、またはいずれかの基準の組み合わせを適用したセンサパッチの生成終了判定処理を実行することを特徴とする。
【００３６】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記同定処理の成功判定処理を実行するステップを含み、同定処理の成功の判定に基づいて、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することを特徴とする。
【００３７】
さらに、本発明の同定処理方法の一実施態様において、前記センサパッチ生成部は、前記同定処理部からのリセット要求の入力に基づいて、新規センサパッチの生成処理を開始することを特徴とする。
【００３８】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記同定処理の成功判定処理として、予め保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報との一致度を検証する処理を実行することを特徴とする。
【００３９】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記センサパッチ生成部に対するセンサパッチのリセット処理要求を出力することなく、前記センサパッチ生成部から、各センサパッチに重複するセンサ情報を含むセンサパッチを入力して、自装置の位置および方向を推定する同定処理を実行することを特徴とする。
【００４０】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、各センサパッチに重複するセンサ情報を含むセンサパッチを適用した同定処理の実行に際して、重複情報の過大評価を避けるための平滑化処理を実行することを特徴とする。
【００４１】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従った処理を基本とした同定処理を実行し、拡張カルマン・フィルタ（ＥＫＦ）処理において、センサパッチに対応して設定される共分散行列Σｓを、
Σｓ←ｇ（Σｓ）
ただし、ｇ（）は、共分散行列Σｓを増加させる関数、
とする処理を実行して同定処理を行なうことを特徴とする。
【００４２】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従った処理を基本とした同定処理を実行し、モンテカルロ同定処理（ＭＣＬ）において、センサパッチに基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）、
ただし、ｚｔは、時間ｔにおけるセンサ情報、ｘｔは時間ｔにおける装置姿勢、
上記式を、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
ただし、ｇ（ｐ）は、ｐを増加させる関数、
とする処理を実行して同定処理を行なうことを特徴とする。
【００４３】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記センサパッチ生成部から入力するセンサパッチに対応して実行された同定処理が成功した場合、処理済みのセンサパッチを、処理済みセンサパッチとして記憶部に格納し、新たにセンサパッチ生成部から入力する新規入力センサパッチと、前記処理済みセンサパッチとの比較に基づいて、変化情報を抽出し、抽出した変化情報に基づく同定処理を実行することを特徴とする。
【００４４】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、
（Ａ）２つのセンサパッチの差分情報による処理、
（Ｂ）２つのセンサパッチの更新率情報による処理、
上記（Ａ）または（Ｂ）のいずれかの処理を実行することを特徴とする。
【００４５】
さらに、本発明の同定処理方法の一実施態様において、前記同定処理ステップは、前記新規入力センサパッチと、前記処理済みセンサパッチとの変化情報に基づく同定処理として、モンテカルロ同定処理（ＭＣＬ）処理を適用して、更新率情報に基づく同定処理を実行するステップであることを特徴とする。
【００４６】
さらに、本発明の第３の側面は、
情報処理装置において、自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行させるコンピュータ・プログラムであり、
センサにおいて、自装置の周囲の情報としてのセンサ情報を取得させるセンサ情報取得ステップと、
センサパッチ生成部において、自装置の動き情報と、前記センサによって取得されるセンサ情報を集積することで、ある時間・空間内で得られるセンサ情報を統合したセンサパッチを生成するセンサパッチ生成ステップと、
同定処理部において、前記センサパッチと、該センサパッチ生成期間における自装置の動き情報を入力し、該入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行させる同定処理ステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
【００４７】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
【００４８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４９】
本発明の一実施例の構成では、センサによって取得される個別のセンサ情報を集積した情報、例えば個別のセンサ情報をＺｔとした場合、センサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝などの集積センサ情報に基づくセンサパッチを生成し、このセンサパッチに基づくデバイスの位置および方向推定処理としての同定処理を実行する。本構成によれば、個別のセンサ情報のみからは得られない情報の適用が可能となり、ノイズを削減してＳＮＲの高いデータに基づく同定処理を行なうことが可能となる。また、処理タイミングも入力フレームのスピード、例えば３０フレーム／ｓｅｃごとに１つのフレーム画像の処理を行う必要がなくなり、処理負荷の低減が可能となる。
【発明を実施するための最良の形態】
【００５０】
以下、図面を参照しながら本発明の実施形態に係るデバイス同定方法、および情報処理装置、並びにコンピュータ・プログラムの詳細について説明する。
【００５１】
まず、本発明の装置において実行するデバイス同定処理の一実施例の概要について、図１、図２を参照して説明する。
【００５２】
図１には、例えば、自律型ロボットのような自律制御を行なうデバイス１００の時間ｔ＝０，１，２の各時間におけるセンサ取得情報の遷移を示す図である。デバイス１００は、例えばカメラなどのセンサ１０１によって、自己の周囲の画像情報を取得し、取得した情報に基づいて、デバイス１００の位置確認や方向確認などに基づく姿勢（ポーズ）確認を行う。すなわちローカリゼーション（Ｌｏｃａｌｉｚａｔｉｏｎ）を行なうデバイスである。
【００５３】
なお、本発明において「同定処理」は、ローカリゼーション（Ｌｏｃａｌｉｚａｔｉｏｎ）と同様の意味であり、少なくともデバイス位置の推定処理を含み、さらに、デバイス位置およびデバイスの向き（方向）を含むデバイスの姿勢（ポーズ）推定処理を含む場合もある。
【００５４】
まず、図１、図２を参照して本発明における同定処理の特徴について説明する。デバイス１００は、例えばカメラなどのセンサ１０１によって、自己の周囲の画像情報を取得する。取得する画像データは、例えば３０フレーム／ｓｅｃなどの連続する画像データである。図１において、各フレーム画像をセンサデータＺ０，Ｚ１，Ｚ２として示してある。図に示すように、
（ａ）時間ｔ＝０において、フレーム画像としてのセンサデータＺ０、
（ｂ）時間ｔ＝１において、フレーム画像としてのセンサデータＺ１、
（ｃ）時間ｔ＝２において、フレーム画像としてのセンサデータＺ２、
が順次デバイス１００のセンサ１０１において取得される。
【００５５】
従来のシステムにおけるデバイス同定処理の一般的な手法としては、それぞれのタイミングにおいて取得したフレーム画像としてのセンサデータＺ０、Ｚ１、Ｚ２の各々を個別に解析してデバイスの位置や方向の推定を行なう手法である。
【００５６】
しかしながら、このように、センサデータＺ０、Ｚ１、Ｚ２の各々を、個別に順次解析を行なうと、解析処理の負荷が大きくなり、デバイスに求められるデータ処理能力を高くしなければならない。デバイスの処理能力が十分でない場合には、処理の遅延が発生する。例えばデバイスが自走デバイスである場合には、走行スピードを低下させてしまうといった問題が発生する。
【００５７】
本発明においては、このような問題を解決して、効率的なデバイス同定処理を実現するものである。すなわち、センサデータＺ０、Ｚ１、Ｚ２の各々を、個別に順次解析を行なうのではなく、例えば、図２に示すように、複数のセンサデータＺ０、Ｚ１、Ｚ２をまとめて、センサデータの集合｛Ｚ０∪Ｚ１∪Ｚ２｝を設定して、このセンサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝に基づく解析データｆ＝｛Ｚ０∪Ｚ１∪Ｚ２｝をセンサパッチとして、このセンサパッチに基づく同定処理を実行する。
【００５８】
センサデータＺ０、Ｚ１、Ｚ２の各々を個別に解析しようとした場合、それぞれのセンサデータＺ０、Ｚ１、Ｚ２に重複領域が含まれる場合であっても、それぞれ個別に処理を行なうことが必要となり、データ処理負荷が増大し、また、例えばセンサデータＺ０、Ｚ１、Ｚ２が、３０フレーム／ｓｅｃのフレーム画像であるような場合、その連続フレームのスピートに追随した処理を行なうことが必要となる。
【００５９】
また、センサデータＺ０、Ｚ１、Ｚ２には、位置識別に適用可能な有効な情報と意味のないノイズ情報が含まれるが、個別のセンサデータの処理を行なうと、有効情報の比率が低下、すなわちＳＮＲ（Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ）が低くなるという問題がある。
【００６０】
一方、図２に示すように、センサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝に基づく解析データｆ＝｛Ｚ０∪Ｚ１∪Ｚ２｝をセンサパッチとして生成し、このセンサパッチに基づく同定処理を実行する構成では、複数のセンサデータＺ０、Ｚ１、Ｚ２の関連性など、個別のデータのみからは得られない情報の適用が可能となり、ノイズを削減してＳＮＲの高いデータに基づく同定処理を行なうことが可能となる。また、処理タイミングも入力フレームのスピード、例えば３０フレーム／ｓｅｃごとに１つのフレーム画像の処理を行う必要がなくなり、処理負荷の低減が可能となる。
【００６１】
本発明は、上述したように、センサパッチの生成と生成したセンサパッチに基づくデバイス同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行することを１つの特徴とする。
【００６２】
センサパッチを適用した本発明の構成についての説明の前に、一般的なデバイスの位置や方向をデバイスの動き情報と、カメラ撮影画像などのセンサ情報とに基づいて検出する基本的なローカリゼーション構成について、図３以下を参照して説明する。
【００６３】
図３に示すように、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行するデバイスは、同定処理部（Ｌｏｃａｌｉｚａｔｉｏｎ）２００を有し、先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１と、動きデータ（Ｍｏｔｉｏｎ  Ｄａｔａ）１７１と、センサデータ（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２を入力として、同定情報（Ｃｕｒｒｅｎｔ  Ｂｅｌｉｅｆ）１８１を出力する。
【００６４】
先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１は、同定処理部２００において１サイクル前に同定処理のなされた同定情報である。なお、ここで同定情報は、デバイスの位置（Ｐｏｓｉｔｉｏｎ）、方向（Ｏｒｉｅｎｔａｔｉｏｎ）を含むデバイスの姿勢（Ｐｏｓｅ）情報である。
【００６５】
同定処理部２００は、先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１に、最新のデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）１７１と、デバイスの有するセンサから入力するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２とに基づいて、新たな同定情報（Ｃｕｒｒｅｎｔ  Ｂｅｌｉｅｆ）１８１を生成して出力する。
【００６６】
さらに、同定処理部２００を具体化して示すと図４の構成となる。同定処理部２００は、予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１と、更新処理部（Ｕｐｄａｔｅ）２０１とによって構成される。
【００６７】
予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１は、先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１に対して、デバイスが検出する最新のデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）１７１を入力して、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。
【００６８】
更新処理部（Ｕｐｄａｔｅ）２０２は、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１から入力して、さらに、デバイスのセンサが取得するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２を入力して、センサ情報を加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出し、これを新たな同定情報（Ｃｕｒｒｅｎｔ  Ｂｅｌｉｅｆ）１８１として出力する。具体的には、例えばデバイスの位置および方向を定めたデバイス周りの地図（環境地図）を生成する。
【００６９】
予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の入力するデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）１７１の具体例について、図５を参照して説明する。図５（ａ）には、デバイス２５０が、先行デバイス姿勢２５０ａから現デバイス姿勢２５０ｂへ変化した場合の例を示している。先行デバイス姿勢２５０ａは、前の同定処理サイクル時のデバイスの位置および方向を持ち、現デバイス姿勢２５０ｂは、今回の同定処理サイクル時のデバイスの位置および方向を持つ。各デバイス姿勢２５０ａ，２５０ｂに示す矢印がデバイスの方向（例えばデバイスがロボットである場合、ロボットの正面方向）を示している。Ｘバー、Ｙバー、θバーは、それぞれ例えばグローバル座標系におけるデバイスの位置と、方向を示す値である。なお、明細書中に記載する［バー］は、図において示すＸ，Ｙ，Ｚの上部に示すバーを意味するものとする。
【００７０】
予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の入力するデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）ｕｔは、図５（ｂ）に示すように、
ｕｔ＝＜δｒｏｔ１，δｒｏｔ２，δｔｒａｎｓ＞
である。
δｒｏｔ１，は、図５（ａ）に示すように、先行デバイス姿勢２５０ａにおけるデバイスの方向を示す角度であり、先行デバイス姿勢２５０ａ位置と、現デバイス姿勢２５０ｂ位置とを結ぶ直線からの角度である。
δｒｏｔ２，は、図５（ａ）に示すように、現デバイス姿勢２５０ｂにおけるデバイスの方向を示す角度であり、先行デバイス姿勢２５０ａ位置と、現デバイス姿勢２５０ｂ位置とを結ぶ直線からの角度である。
δｔｒａｎｓ，は、図５（ａ）に示すように、先行デバイス姿勢２５０ａ位置と、現デバイス姿勢２５０ｂ位置との距離に相当する。
【００７１】
δｔｒａｎｓ，δｒｏｔ１，δｒｏｔ２は、グローバル座標系によって示すと、以下のように表現される。
【数１】
2008065562.tif 000003
【００７２】
この動き情報は、デバイスの動作を観測するデバイス内の動き検出部の観測情報に基づいて得られる。なお、上述したデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）ｕｔは一例であり、予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の入力する動き情報は、上述した表現に限られるものではなく、デバイスの動きを示すデータであれば様々な形態のデータが適用可能である。
【００７３】
予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１は、先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）に対して、デバイスが検出する最新のデバイスの動き情報ｕｔを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］を算出する。ｘｔは、時間ｔにおけるデバイスの姿勢（Ｐｏｓｅ）を示す。なお、このデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］算出処理には、例えばベイズ推定が適用される。ベイズ推定を適用した算出処理については後述する。
【００７４】
更新処理部（Ｕｐｄａｔｅ）２０２は、上述した予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の算出した推定値［Ｂｅｌバー（ｘｔ）］、すなわち、デバイスの動き情報ｕｔを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］を入力して、さらに、デバイスのセンサが取得するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２を入力して、センサ情報を加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］を算出し、これを新たなデバイスの同定情報（Ｃｕｒｒｅｎｔ  Ｂｅｌｉｅｆ）１８１として出力する。この情報に基づいて、例えばデバイスの位置および方向を定めたデバイス周りの地図（環境地図）を生成することができる。
【００７５】
更新処理部（Ｕｐｄａｔｅ）２０２の入力するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２の具体例について、図６を参照して説明する。図６は、デバイス２５０のセンサ、例えばカメラによって取得され画像データを示している。図４に示すセンサ情報１７２［ｚｔ］に相当する。
【００７６】
ここでは、センサ情報ｚｔは、時間ｔにおけるデバイスの姿勢「Ｘｔ」においてデバイスのセンサ、例えばカメラによって撮影される１つの画像フレームデータである。図６（ａ）に示す丸印（○）は画像データの画素ｓ１〜ｓｎを模式的に示している。センサ情報ｚｔは、複数の画素情報から構成され、
ｚｔ＝｛ｓ１，・・・ｓｎ｝
として示される。
【００７７】
図４に示す更新処理部（Ｕｐｄａｔｅ）２０２は、上述した予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１がデバイスの動き情報ｕｔを考慮して算出したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］を入力して、さらに、図６を参照して説明したデバイスのセンサが取得するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）１７２［ｚｔ］を入力して、センサ情報［ｚｔ］を加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］を算出し、これを新たなデバイスの同定情報（Ｃｕｒｒｅｎｔ  Ｂｅｌｉｅｆ）１８１として出力する。このデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］算出処理には、ベイズ推定が適用される。
【００７８】
ベイズ推定を適用したデバイス姿勢（Ｐｏｓｅ）の算出処理について説明する。更新処理部（Ｕｐｄａｔｅ）２０２の出力するデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］は、デバイスが、特定の姿勢［ｘｔ］となる確率を示す。図４に示すように、更新処理部（Ｕｐｄａｔｅ）２０２の出力するデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］は、以下のように示される。
Ｂｅｌ（ｘｔ）＝Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ）
上記式において、
ｚは、センサ情報
ｕは、動き情報
ｘは、デバイスの状態、すなわち姿勢（ｐｏｓｅ）を示すパラメータ
Ｐは確率密度関数を表している。
【００７９】
上記式：Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ）の意味は、動き情報ｕの時間１〜ｔの情報値：ｕ１：ｔと、センサ情報の時間１〜ｔの情報値：ｚ１：ｔとが与えられた条件において、時間ｔにおいて、デバイスが姿勢（ｘｔ）となる確率を算出する式である。
【００８０】
図４において、予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１に入力する先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１は、時間［ｔ−１］の同定情報であり、以下のように示される。
Ｂｅｌ（ｘｔ−１）＝Ｐ（ｘｔ−１｜ｕ１：ｔ−１，ｚ１：ｔ−１）
【００８１】
予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１は、先行同定情報（Ｐｒｅｖｉｏｕｓ  Ｂｅｌｉｅｆ）１５１に対して、デバイスが検出する最新のデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）１７１を入力して、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］を算出する。ここでは、
入力する時間［ｔ−１］の先行同定情報
Ｂｅｌ（ｘｔ−１）＝Ｐ（ｘｔ−１｜ｕ１：ｔ−１，ｚ１：ｔ−１）
に、時間ｔにおける動き情報ｕｔを加えた推定処理が可能となり、この推定処理によって、［Ｂｅｌバー（ｘｔ）］が以下のように算出される。
【数２】
2008065562.tif 000004
【００８２】
更新処理部（Ｕｐｄａｔｅ）２０２は、上述の予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の算出した時間［ｔ］のデバイスの動き情報ｕｔを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌバー（ｘｔ）］を入力して、さらに、時間［ｔ］のデバイスのセンサが取得するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）ｚｔを入力して、センサ情報ｚｔを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］を算出する。これは、予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）２０１の算出した推定値［Ｂｅｌバー（ｘｔ）］を適用して示すと、以下の式のように示すことができる。
【数３】
2008065562.tif 000005
【００８３】
上記式は、先に更新処理部（Ｕｐｄａｔｅ）２０２の出力するデバイス姿勢（Ｐｏｓｅ）の推定値［Ｂｅｌ（ｘｔ）］として説明した式、すなわち、
Ｂｅｌ（ｘｔ）＝Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ）
と等価である。このことは、以下に示す式によって証明される。
【数４】
2008065562.tif 000006
【００８４】
このように、各時間（ｔ）において取得するデバイスの動き情報［ｕｔ］と、センサ情報［ｚｔ］を適用したベイズ推定により、デバイスの同定処理、すなわちデバイスの位置、方向の推定処理としてローカリセーションを行なうことができる。
【００８５】
しかしながら、図４の構成による同定処理（ローカリゼーション）は、先に説明したように、センサデータＺ０、Ｚ１、Ｚ２の各々を、個別に順次解析を行なう構成である。センサデータＺ０、Ｚ１、Ｚ２の各々は、例えば、３０フレーム／ｓｅｃの撮影速度において取得される画像データであり、デバイスは、これらの画像データを連続的に解析することが必要となる。結果として、デバイスにおける解析処理の負荷が大きくなり、デバイスに求められるデータ処理能力を高くすることが必要となる。デバイスの処理能力が十分でない場合には、処理の遅延が発生する。
【００８６】
本発明においては、このような問題を解決して、効率的なデバイス同定処理を実現するものであり、先に図２を参照して説明したように、センサデータＺ０、Ｚ１、Ｚ２の各々を、個別に順次解析を行なうのではなく、図２に示すように、複数のセンサデータＺ０、Ｚ１、Ｚ２をまとめて、センサデータの集合｛Ｚ０∪Ｚ１∪Ｚ２｝を設定して、このセンサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝に基づく解析データｆ＝｛Ｚ０∪Ｚ１∪Ｚ２｝をセンサパッチとして、このセンサパッチに基づく同定処理を実行する。本発明は、このように、センサパッチの生成処理と、生成したセンサパッチに基づくデバイス同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【００８７】
図７以下を参照して、センサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の詳細について説明する。図７は、本発明の一実施例に係る同定処理を実行する情報処理装置（デバイス）の構成を示すブロック図である。本発明の情報処理装置は、上述したように、センサパッチの生成と生成したセンサパッチに基づくデバイス同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する構成であり、図７に示すように、センサパッチ生成処理を実行するセンサパッチ生成部３０１と、同定処理を実行する同定処理部３０２を有する。
【００８８】
センサパッチ生成部３０１は、動き情報ｕｔとセンサ情報ｚｔを入力してセンサパッチ［ｐ］を生成し、さらに、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］を生成して、同定処理部３０２に出力する。デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］は、例えばデバイスのある基準位置（例えば初期位置）からの変位と方向（ｘ，ｙ，θ）をパラメータとして持つ。
【００８９】
センサパッチ生成部３０１は、例えば複数の連続するセンサ情報（例えば複数の連続フレーム画像）に基づいて、１つのセンサパッチを生成する。図８に、センサパッチ生成例を示す。たとえばセンサパッチ［ｐ０］３１０は、センサパッチ生成部３０１において、複数のセンサ情報ｚ０〜ｚ３に基づいて生成される。センサ情報ｚ０は、例えば、時間（ｔ＝０）において撮影されたフレーム画像データである。センサ情報ｚ１は、例えば、時間（ｔ＝１）において撮影されたフレーム画像データである。
【００９０】
図８において、センサパッチ［ｐ１］３１１は、センサパッチ生成部３０１において、複数のセンサ情報ｚ４〜ｚ６に基づいて生成される。センサパッチ［ｐ２］３１２は、センサパッチ生成部３０１において、複数のセンサ情報ｚ８〜ｚ１２に基づいて生成される。センサパッチ［ｐ３］３１３は、センサパッチ生成部３０１において、複数のセンサ情報ｚ１３〜ｚ１５に基づいて生成される。
【００９１】
センサパッチ生成部３０１において生成されたセンサパッチ［ｐ］と、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］は、同定処理部３０２に入力され、これらの入力情報に基づく同定処理、すなわち、情報処理装置（デバイス）の位置および方向を含む姿勢（ｐｏｓｅ）の判定処理が行われる。同定処理部３０２における同定処理によって、デバイス周りの地図（環境地図）に、デバイスの位置および方向を設定することが可能となる。
【００９２】
図９にセンサパッチ生成部３０１において生成されるセンサパッチ、同定処理部３０２において、センサパッチに基づく同定処理によって生成される環境地図、および同定処理部３０２において、センサパッチ［ｐ］と、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］とに基づく同定処理結果によって得られるデバイスの位置および方向を環境地図上に設定した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）結果の例を示す。
【００９３】
図９において、
（ａ）センサパッチ
（ｂ）環境地図
（ｃ）同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）結果
を示している。
【００９４】
センサパッチは、デバイスのセンサ情報（例えば撮影画像）に基づいて生成される画像情報であり、デバイスの有するセンサによって撮影された画像に基づく情報から構成される。本処理例では、複数の連続するセンサ情報（例えば複数の連続フレーム画像）に基づいて、１つのセンサパッチが生成される。図９の（ａ）センサパッチに示す矩形領域３１５が、図９（ｃ）同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）結果に示す矩形領域３１６に相当する。矩形領域３１５を左に９０°回転させると矩形領域３１６に対応する。同定処理部３０２は、センサパッチ［ｐ］と、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］とに基づく同定処理結果によって、例えば図９（ｃ）に示すデバイスの位置および方向を環境地図上に設定した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）結果を生成する。
【００９５】
図８に示すように、同定処理部３０２における同定処理（Ｌｏｃａｌｉｚｅ）は、各センサパッチの入力に基づいて実行される。図８に示すように、同定処理０（Ｌｏｃａｌｉｚｅ０）は、センサパッチ生成部３０１において、複数のセンサ情報ｚ０〜ｚ３に基づいて生成されたセンサパッチ［ｐ０］３１０に基づいて実行され、同定処理１（Ｌｏｃａｌｉｚｅ１）は、センサパッチ生成部３０１において、複数のセンサ情報ｚ４〜ｚ６に基づいて生成されたセンサパッチ［ｐ１］３１１に基づいて実行され、同定処理２（Ｌｏｃａｌｉｚｅ２）は、センサ情報ｚ８〜ｚ１２に基づいて生成されたセンサパッチ［ｐ０］３１０に基づいて実行され、同定処理３（Ｌｏｃａｌｉｚｅ３）は、センサ情報ｚ１３〜ｚ１５に基づいて生成されたセンサパッチ［ｐ３］３１３に基づいて実行されることになる。
【００９６】
このように、本発明の情報処理装置においては、センサ情報の取得タイミング毎に同定処理を実行するのではなく、１つのセンサパッチを単位とした同定処理を実行する。なお、図７、図８から理解されるように、センサパッチ生成部３０１でのセンサパッチ生成処理は、同定処理部３０２からのリセット信号の入力に基づいて開始される。センサパッチ生成処理の終了は、センサパッチ生成部３０１で判断を行ない、センサパッチ生成を終了する。この処理の詳細については後述する。センサパッチ生成部３０１では、センサ情報ｚｔと、動き情報ｕｔを入力値としたセンサパッチ生成処理を実行する。デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］の生成に際しても、センサパッチ生成期間における動き情報ｕｔ全てが反映された処理が実行されることになる。
【００９７】
図１０を参照して、センサパッチ生成部３０１において実行する処理の詳細について説明する。まず、ステップＳ１０１において、生成済みの最新のセンサパッチ［ｐ］と、取得済みの最新のデバイス姿勢情報［Ｕ］を入力する。なお、これらの情報は初期状態では存在しない。ステップＳ１０２において、同定処理部３０２からのリセット信号の入力有無について判定を行ない、リセット信号が入力されていない場合は、ステップＳ１０３に進み、リセット信号が入力された場合は、ステップＳ１１１において生成パッチのリセットを実行した後、ステップＳ１０３に進む。
【００９８】
ステップＳ１０３において、センサ情報ｚｔを入力して、センサパッチの更新処理を実行する。ここでセンサ情報ｚｔは、例えばデバイスに備えられたセンサとしてのカメラの撮影した１枚のフレーム画像データである。
【００９９】
ステップＳ１０３におけるセンサ情報ｚｔ入力に基づくセンサパッチ更新処理について、図１１を参照して説明する。センサパッチは、センサ情報ｚｔ入力に基づくデバイス周囲の地図を構成するセンサパッチ生成処理として実行される。このセンサパッチ生成処理には、例えば本出願人の出願に係る公開特許［特開２００３−２６６３４９、特開２００６−１１８８０］に記載された技術を適用することができる。すなわち、例えばセンサとしてのカメラの撮影画像に基づいて３次元の距離データを取得して地図（環境地図）としてのセンサパッチを作成する。
【０１００】
図１１に示すセンサパッチ（地図）３２０がセンサ情報ｚｔ入力に基づくデバイス周囲の地図の例である。地図は、所定の領域単位のセル（単位グリッドとも呼ばれる）毎に障害物があるか否かを記録した地図でありグリッドマップとも呼ばれる。
各セル（単位グリッド）は、
障害物（Ｏｂｓｔａｃｌｅ）
自由スペース（Ｆｒｅｅ）
不明（Ｕｎｋｎｏｗｎ）
の領域情報を有する。
【０１０１】
例えばデバイスのセンサから取得した画像を区分するグリッドを作成し、グリットによって区分された単位グリッド（＝セル）に対して、障害物（Ｏｂｓｔａｃｌｅ）、自由スペース（Ｆｒｅｅ）、不明（Ｕｎｋｎｏｗｎ）の領域判別を行なう。図１１において、デバイス３２１の視野領域（Ｆｉｅｌｄ  ｏｆ  Ｖｉｅｗ）にないセル（グレー領域）は、まだ測定していないセル、すなわち
不明（Ｕｎｋｎｏｗｎ）
として設定されるセルである。
【０１０２】
デバイス３２１によって測定されたセルは黒［＝障害物（Ｏｂｓｔａｃｌｅ）］で表され、測定点にあたるセルとの間のセルは、白［＝自由スペース（Ｆｒｅｅ）］で表されている。測定対象点であるセルとデバイスを結ぶ線分の間に存在するセルに対して、エンプティ（Ｅｍｐｔｙ）処理を行う。続いて、測定点にあたるセルに対してオキュパイド（Ｏｃｃｕｐｉｅｄ）処理を行う。グリッドは、セルＣに対して障害物の存在確率（障害物によって占有されている確率）ｐ（ｃ）を保持しており、このエンプティ処理及びオキュパイド処理は、これら各セルに対する統計的な処理として実行される。
【０１０３】
エンプティ処理は、障害物の存在確率を低下させる処理であり、オキュパイド処理は障害物の存在確率を増加させる処理である。エンプティ処理及びオキュパイド処理の存在確率を算出する手法の一例として、ベイズの更新則を用いる。エンプティ処理のとき下記式（１）により占有確率を減少させ、オキュパイド処理のとき下記式（２）により占有確率を増加させる。
【数５】
2008065562.tif 000007
【０１０４】
上記式（１）は、セルＣの占有確率を表すｐ（ｃ）が占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］という条件下にあるセルＣの確率を表しており、式（２）は、セルＣの占有確率を表すｐ（ｃ）が非占有［エンプティ（Ｅｍｐｔｙ）］という条件下にあるセルＣの確率を表している。式（１）または式（２）においてセルＣが占有されているか、または占有されていないかを表す確率ｐ（ｓ｜・・・）、ｐ（−ｓ｜・・・）は、予め決められた閾値ｔｈである。
【０１０５】
このようにして、各セルの状態判定が実行されて、各セルについて、
障害物（Ｏｂｓｔａｃｌｅ）
自由スペース（Ｆｒｅｅ）
不明（Ｕｎｋｎｏｗｎ）
のいずれに属するがが決定されて、環境地図が作成される。ステップＳ１０３では、新規入力するセンサ情報ｚｔ入力に応じてセンサパッチの更新が行なわれる。
【０１０６】
次に、ステップＳ１０４において、デバイスの動き情報ｕｔを入力し、座標更新およびデバイス姿勢（ｐｏｓｅ）更新処理を実行する。この座標更新およびデバイス姿勢（ｐｏｓｅ）更新処理について、図１２、図１３を参照して説明する。まず、座標更新処理について、図１２を参照して説明する。座標更新処理は、例えば本出願人の出願に係る公開特許［特開２００３−２６６３４９］に記載された技術を適用することができる。この処理は、デバイスの動きに応じて、地図、すなわちグリッドに分割された地図を更新する処理である。図１２（ａ），（ｂ），（ｃ）は、デバイスの移動量に応じた地図（環境地図）の更新処理例を示している。（ａ）〜（ｃ）とも上から下の地図に更新されている。
【０１０７】
図１２（ａ）は、グリッドに分割された１つのセルの内部でのデバイス３３１の移動における更新処理例でありこの場合、座標は更新されず、デバイスの位置のみが同じ座標の地図において更新される。
図１２（ｂ）は、グリッドに分割されたセルを越えたデバイス３３１の移動における更新処理例でありこの場合、デバイスの地図上のセル位置を中心とする座標更新を実行し、地図およびデバイスの位置を更新する。
図１２（ｃ）は、グリッドに分割された１つのセルの内部でのデバイス３３１の回転における更新処理例でありこの場合、座標は更新されず、デバイスの方向（向き）のみが同じ座標の地図において更新される。
【０１０８】
なお、地図（環境地図）の設定態様としては、グローバル座標系を適用する処理、デバイス依存のデバイス中心の座標としたデバイス中心座標系、パッチ依存のパッチ中心の座標としたパッチ中心座標系など、様々な座標系の適用が可能であり、座標更新処理においては、適用する座標系に応じた処理を実行することになる。
【０１０９】
次に図１３以下を参照して、ステップＳ１０４において実行するデバイスの動き情報ｕｔに基づく、デバイス姿勢（ｐｏｓｅ）更新処理について説明する。先に説明したように、センサパッチ生成部３０１は、センサパッチの生成、出力とともに、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］を生成して同定処理部３０２に出力する。ステップＳ１０４では、デバイスの動き情報ｕｔを入力し、デバイス姿勢（ｐｏｓｅ）更新処理が実行される。デバイスの動き情報は、デバイス自身の駆動情報に基づいてデバイス自身が算出する。移動情報の累積に基づいて現在の位置および方向が算出され、デバイスの姿勢情報（ｐｏｓｅ  ｔｒａｎｓｆｏｒｍ）［Ｕ］は、例えばデバイスの初期位置からの変化情報として算出される。
【０１１０】
更新前に保持している先行するデバイス姿勢情報Ｕを、
Ｕ＝（ｘ，ｙ，θ）とする。ｘ，ｙは２次元平面における位置、θは角度を示し、適用する座標系に応じた値が設定される。例えば、それぞれ基準位置（例えば初期位置）におけるデバイス姿勢からの変位量として規定される。
この先行姿勢情報Ｕに対して、新たに検出されたデバイス動き情報ｕｔに基づく更新処理を実行して、最新姿勢情報［Ｕ'］を生成する。Ｕ，Ｕ'，ｕｔには、以下の関係式が成立する。
【数６】
2008065562.tif 000008
【０１１１】
最新姿勢情報［Ｕ'］を、先行姿勢情報［Ｕ］と、新たに検出されたデバイス動き情報［ｕｔ］とに基づいて算出する手法には、複数の手法がある。以下、
（１）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（２）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
これらの手法を適用した算出処理例について説明する。
【０１１２】
（１）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
まず、図１３を参照して平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）による最新のデバイス姿勢情報［Ｕ'］の算出処理について説明する。図１３（ａ）に示すように、先行姿勢情報［Ｕ］から、最新姿勢情報［Ｕ'］を算出する。ここで、算出すべき最新姿勢情報［Ｕ'］と、先行姿勢情報［Ｕ］との差分が、デバイス動き情報［ｕｔ］として得られる情報となる。デバイス動き情報［ｕｔ］は、
ｕｔ＝（δｒｏｔ１，δｒｏｔ２，δｔｒａｎｓ）
として示される。ここで、δｒｏｔ１，δｒｏｔ２，δｔｒａｎｓは、図１３（ａ）に示すように、
δｒｏｔ１は、図１３（ａ）に示すように、先行姿勢［Ｕ］におけるデバイスの方向を示す角度であり、先行姿勢［Ｕ］の位置と、最新姿勢［Ｕ'］の位置とを結ぶ直線からの角度である。
δｒｏｔ２は、図１３（ａ）に示すように、最新姿勢［Ｕ'］におけるデバイスの方向を示す角度であり、先行姿勢［Ｕ］の位置と、最新姿勢［Ｕ'］の位置とを結ぶ直線からの角度である。
δｔｒａｎｓは、図１３（ａ）に示すように、先行姿勢［Ｕ］と、最新姿勢［Ｕ'］との距離に相当する。
【０１１３】
先行姿勢情報：Ｕ＝（ｘ，ｙ，θ）と、
デバイス動き情報：ｕｔ＝（δｒｏｔ１，δｒｏｔ２，δｔｒａｎｓ）
とに基づいて、
最新の姿勢情報［Ｕ'］を、以下の式に基づいて算出する。
【数７】
2008065562.tif 000009
【０１１４】
上記算出式によって、先行姿勢情報［Ｕ］と、デバイス動き情報ｕｔとに基づいて現在の最新のデバイス姿勢情報［Ｕ'］を算出することができる。
【０１１５】
（２）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
次に、図１４を参照して、ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）を適用したデバイス姿勢算出処理例について説明する。図１４には、デバイスの移動に基づく３つの姿勢を示している。初期姿勢と、先行姿勢［Ｕ］と、算出すべき最新のデバイス姿勢情報［Ｕ'］である。パス（ｐａｔｈ）は、過去の計測において算出されたデバイスの経路である。
【０１１６】
ここで、デバイス動き情報：ｕｔとして、
Δα＝α−α'
Δｄ＝ｄ−ｄ'
Δβ＝β−β'
を得ることができる。
図から理解されるように、
Δα＝α−α'は、最新姿勢［Ｕ'］と初期姿勢の向きの差分、
Δｄ＝ｄ−ｄ'は、最新姿勢［Ｕ'］と先行姿勢［Ｕ］との移動量差分、
Δβ＝β−β'は、最新姿勢［Ｕ'］と先行姿勢［Ｕ］との向きの差分、
をそれぞれ示す。
【０１１７】
ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）では、先行姿勢［Ｕ］と、デバイス動き情報：ｕｔとに基づく入力データとして以下のデータを適用する。
【数８】
2008065562.tif 000010
【０１１８】
上記式において、［Ｕバー］は、先行姿勢［Ｕ］の予測値であり、ΣＵは、先行姿勢［Ｕ］に対応する共分散行列である。同様に、［ｕｔバー］は、デバイス動き情報［ｕｔ］の予測値であり、Σｕｔは、デバイス動き情報［ｕｔ］に対応する共分散行列であり、上記式のように示される。
【０１１９】
これらの入力情報に基づいて、最新姿勢［Ｕ'］は以下のように示される。
【数９】
2008065562.tif 000011
【０１２０】
上記式において、［Ｕ'バー］は、最新姿勢［Ｕ'］の予測値であり、ΣＵは、最新姿勢［Ｕ］に対応する共分散行列であり、［Ｕ'バー］、ΣＵは、以下のように表現される。
【数１０】
2008065562.tif 000012
【０１２１】
上記のガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）を適用した算出処理によって、先行姿勢情報［Ｕ］と、デバイス動き情報ｕｔとに基づいて現在の最新のデバイス姿勢情報［Ｕ'］を算出することができる。
【０１２２】
図１０に示すフローのステップＳ１０４において、上述したいずれかの処理の適用により、先行姿勢情報［Ｕ］と、デバイス動き情報ｕｔとに基づいて最新のデバイス姿勢情報［Ｕ'］を算出すると、ステップＳ１０５に進む。
【０１２３】
ステップＳ１０５では、センサパッチ生成終了の判定処理を行なう。先に図８を参照して説明したように、本発明の情報処理装置（デバイス）では、複数のセンサ情報を適用したセンサパッチ生成処理を実行しており、１つのセンサパッチ生成に適用するセンサ情報の数が予め定められているものではなく、図７に示すセンサパッチ生成部３０１は、センサパッチ生成を終了するか否かについては、ある基準を適用した判定処理を実行する。
【０１２４】
センサパッチ生成終了の判定基準としては、例えば、以下の判定基準が適用される。
（ａ）予め設定された時間の経過によるタイムアウト：例えば５秒ごとにセンサパッチ生成終了としてセンサパッチを出力する。
（ｂ）デバイスの移動距離：予め定めた閾値距離以上のデバイス移動が検出された場合にセンサパッチ生成終了としてセンサパッチを出力する。
（ｃ）先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が閾値を超えたとき、センサパッチ生成終了としてセンサパッチを出力する。（これは、前述のガウシアンモデルの適用によるデバイスの姿勢の算出に適用する共分散行列を参照して実行する。）
（ｄ）先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が閾値を超えたとき、センサパッチ生成終了としてセンサパッチを出力する。（これも、前述のガウシアンモデルの適用によるデバイスの姿勢の算出に適用する共分散行列を参照して実行する。）
（ｅ）生成した地図におけるセルの占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］という条件設定のなされたセル数が予め定めた閾値を越えた場合にセンサパッチ生成終了としてセンサパッチを出力する。
（ｆ）同定処理部からのセンサパッチ出力要求を受領した場合、センサパッチ生成終了としてセンサパッチを出力する。
（ｇ）上記（ａ）〜（ｆ）のいずれかの１つの条件、またはいずれかの条件の組み合わせが発生したとき、センサパッチ生成終了としてセンサパッチを出力する。
【０１２５】
図１０に示すフローのステップＳ１０５では、センサパッチ生成部３０１において、上記（ａ）〜（ｇ）いずれかの判定基準を適用してセンサパッチ生成を終了するか否かの判定処理を行なう。
【０１２６】
ステップＳ１０５において、センサパッチ生成終了と判定した場合は、ステップＳ１０６に進み、生成したセンサパッチを同定処理部３０２（図７参照）に出力した後、ステップＳ１０１に戻り、次のセンサパッチ生成に移行する。ステップＳ１０５において、センサパッチ生成が未終了と判定した場合は、ステップＳ１０１に戻り、現在、生成中のセンサパッチの更新を継続して実行する。
【０１２７】
このように、図７に示すセンサパッチ生成部３０１は、ステップＳ１０５において、センサパッチ生成終了の判定がなされるまで、センサパッチ生成処理を継続して実行する。すなわち、継続したセンサパッチ生成期間に入力される全てのセンサ情報と、動き情報の全てが考量された１つのセンサパッチが生成されて、生成したセンサパッチと、デバイスの姿勢情報［Ｕ］が、同定処理部３０２に出力されることになる。
【０１２８】
次に、センサパッチ生成部３０１からセンサパッチとデバイスの姿勢情報［Ｕ］を入力してデバイスの同定処理を実行する同定処理部３０２の処理の詳細について、図１５以下を参照して説明する。同定処理部３０２の実行する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）は、様々な処理の処理が可能であり、以下、以下に示す複数の処理例について順次、説明する。
同定処理例１．センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
同定処理例２．オーバラップセンサデータを含むセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
同定処理例３．オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
【０１２９】
［同定処理例１．センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）］
まず、同定処理例１として、センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）について説明する。図１５に示すフローチャートを参照して、同定処理部３０２の実行する一連の処理のシーケンスについて説明する。図１５に示すフローのステップＳ２０１とステップＳ２０２の処理は、先に図４を参照して説明した例えば１つのフレーム画像単位で同定処理を実行する構成における図４の予測処理部の処理と、更新処理部の処理に対応する。
【０１３０】
ただし、図１５に示す処理におけるステップＳ２０１では、センサパッチ生成部３０１から入力する情報が、例えば１つのフレーム画像単位のセンサ情報や動き情報を個別に適用した処理として実行するのではなく、上述したセンサパッチ生成部３０１の処理によって、例えば複数の連続するフレーム画像に基づいて生成されるセンサパッチ［ｐ］と、その期間に対応するデバイスの姿勢情報［Ｕ］に基づいて実行する。
【０１３１】
ステップＳ２０１において、図４を参照して説明した処理と同様、例えばベイズ推定を用いて、先行同定情報［Ｂｅｌ（ｘｔ−１）］に対して、デバイスの姿勢情報［Ｕ］を適用して、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。すなわち、図４を参照して説明した例えばフレーム画像単位の動き情報ｕｔの代わりに、センサパッチ生成部の生成したデバイスの姿勢情報［Ｕ］を適用した処理が実行される。
【０１３２】
ステップＳ２０２では、デバイスの姿勢情報［Ｕ］に、さらに、センサパッチ生成部３０１の処理によって生成されるセンサパッチ［ｐ］を入力して、例えば複数のセンサ情報からなるセンサパッチ［ｐ］を適用して、地図（環境地図）とデバイスの位置および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。例えば、図９（ｃ）に示すようなデバイスの位置および方向を定めたデバイス周りの地図（環境地図）を生成する。
【０１３３】
ステップＳ２０３では、ステップＳ２０１とＳ２０２において実行された同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）が成功したか否かを判定する。同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）が成功したか否かの判定処理は、例えば、予めデバイスが保持する地図データと、生成したセンサパッチ情報との一致度を判定する処理として実行される。
【０１３４】
具体的には、予めデバイスが保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報に含まれるランドマークのマッチ度合いを検証する。あるいは、予めデバイスが保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報に含まれるグリッド単位のセルの占有（Ｏｃｃｕｐｚｎｃｙ）セルの対応のマッチ度合いを検証する処理などによって実行される。マッチ度合いの算出には、例えば、評価関数に基づくスコア算出や、２つの比較対照のデータの共分散解析などが適用可能である。
【０１３５】
例えば、図１６に示すように予めデバイスが保持する先行生成センサパッチ３４１と、新たに生成した新規生成センサパッチ３４２との照合が行なわれる。具体的なマッチ度合いの評価関数としては、例えば、以下の算出式が適用される。
【数１１】
2008065562.tif 000013
【０１３６】
上記式は、グリッド単位のセルの占有（Ｏｃｃｕｐｚｎｃｙ）セルの対応のマッチ度合いを評価値（ｓｃｏｒｅ）として算出する式である。図１５に示すフローのステップＳ２０３において、例えば上記評価関数を適用し、予め定めた閾値以上の評価値が算出された場合は、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の成功と判定する。予め定めた閾値以上の評価値が算出されなかった場合は、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の失敗と判定し、ステップＳ２０１に戻り、処理を繰り返す。
【０１３７】
ステップＳ２０３において、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）成功と判定した場合は、ステップＳ２０４に進み、センサパッチ生成部３０１に対してセンサパッチリセット要求を出力する。センサパッチ生成部３０１は、同定処理部３０２からのセンサパッチリセット要求に応じて、生成済みのセンサパッチをリセットし、次の新たなセンサパッチの生成を開始することになる。
【０１３８】
同定処理部３０２における同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理例について、図１７を参照して説明する。先に説明したように、センサパッチ生成部３０１は、例えば複数の連続するセンサ情報に基づいて、１つのセンサパッチを生成する。たとえばセンサパッチ［ｐ０］３５０は、センサパッチ生成部３０１において、複数のセンサ情報ｚ０〜ｚ３に基づいて生成される。センサ情報ｚ０は、例えば、時間（ｔ＝０）において撮影されたフレーム画像データである。センサ情報ｚ１は、例えば、時間（ｔ＝１）において撮影されたフレーム画像データである。
【０１３９】
同定処理部３０２は、センサパッチ［ｐ０］３５０を入力して、図１５に示すフローに従った同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。この同定処理が成功したと判定すると、センサパッチ生成部３０１に対してセンサパッチリセット要求を出力する。センサパッチ生成部３０１は、このリセット要求の入力に応じて、次の新たなセンサパッチ［ｐ１］３５１の生成を開始する。これは、複数のセンサ情報ｚ４〜ｚ６に基づいて生成されるセンサパッチである。
【０１４０】
同定処理部３０２は、センサパッチ［ｐ１］３５１を入力して、図１５に示すフローに従った同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。ここで、この同定処理が失敗したと判定すると、同定処理部３０１は、センサパッチ生成部３０１に対するセンサパッチリセット要求は出力することなく、センサパッチ［ｐ１］３５１を含み、さらに新たなセンサ情報ｚ８〜ｚ１２を含むセンサパッチ［ｐ２］３５２を入力して、図１５に示すフローに従った同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１４１】
この同定処理が成功したと判定すると、センサパッチ生成部３０１に対してセンサパッチリセット要求を出力する。センサパッチ生成部３０１は、このリセット要求の入力に応じて、次の新たなセンサパッチ［ｐ３］３５３の生成を開始する。
【０１４２】
上述した処理例では、センサパッチのリセット処理を行なう構成としたが、このセンサパッチのリセット処理を行なう理由について、図１８を参照して説明する。例えば、同定処理を実行するセンサパッチを、図１８に示すように、
センサパッチ１＝ｆ｛ｚ０｝
センサパッチ２＝｛ｚ０∪ｚ１∪ｚ２｝
として、パッチリセットを行なうことなしに設定したとする。
【０１４３】
このようなリセットなしのセンサパッチ生成を実行すると、センサパッチ１とセンサパッチ２では、同じセンサデータｚ０が重複（オーバラップ）して含まれることになる。すなわち、この場合、同定処理部３０２では、２回の同定処理で、同じセンサデータを適用した処理が実行される。
【０１４４】
この結果、重複して適用されるデータが過大評価された同定処理結果が算出される場合がある。このような誤った結果の算出を防ぐためセンサパッチのリセットを実行する。このリセット処理によって、各センサパッチは、統計的に独立したデータからなるパッチによって構成されることになり、正しい同定処理が実現される。
【０１４５】
しかし、一方で、デバイスの移動距離が大きい場合など、パッチの大きさが大きくなりすぎる場合などには、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）が困難となる場合がある。また、新しいパッチを生成するために、複数のフレームデータの適用が必要となる場合がある。また、生成したパッチは、例えばデバイスの経路（パス）のプランニング処理や障害物の回避処理などにも適用可能であり、生成したパッチを保存してパッチリセット処理を行なわない手法が要求される場合もある。以下では、このようなパッチリセットを実行しない処理例について説明する。
【０１４６】
［同定処理例２．オーバラップセンサデータを含むセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）］
以下、パッチリセットを伴わない同定処理例について説明する。本処理例では、同定処理を実行するセンサパッチを図１９に示すように設定する。すなわち、センサパッチ生成部３０１は、センサパッチ［ｐ０］３８０を、複数のセンサ情報ｚ０〜ｚ３に基づいて生成し、同定処理部３０２は、センサパッチ［ｐ０］３８０を入力して、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１４７】
同定処理部３０１は、センサパッチ生成部３０１に対するセンサパッチリセット要求を出力しない。センサパッチ生成部３０１は、センサパッチ［ｐ０］３８０のセンサ情報ｚ０〜ｚ３を含み、さらに、センサ情報ｚ４〜ｚ６を追加した情報を含む新たなセンサパッチ［ｐ１］３８１を生成する。
【０１４８】
同定処理部３０２は、センサパッチ［ｐ１］３８１を入力して、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。さらに、センサパッチ生成部３０１は、センサパッチ［ｐ１］３８１のセンサ情報ｚ０〜ｚ６を含み、さらに、センサ情報ｚ７〜ｚ１２を追加した情報を含む新たなセンサパッチ［ｐ２］３８２を生成する。
【０１４９】
同定処理部３０２は、センサパッチ［ｐ２］３８２を入力して、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。さらに、センサパッチ生成部３０１は、センサパッチ［ｐ２］３８２のセンサ情報ｚ０〜ｚ１２を含み、さらに、センサ情報ｚ１３〜ｚ１５を追加した情報を含む新たなセンサパッチ［ｐ３］３８３を生成する。同定処理部３０２は、センサパッチ［ｐ３］３８３を入力して、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１５０】
このようにオーバラップしたセンサ情報を含むセンサパッチに基づく同定処理を実行した場合、前述したように、複数の同定処理において、同じセンサデータを適用した処理が実行され、重複して適用されるデータが過大評価された同定処理結果が算出される場合がある。このような誤った結果の算出を防ぐためには、同定処理の手法を変更することが必要となる。例えば同定処理において適用する処理の態様を変更して重複データの過大評価を防止する処理を行なう。
【０１５１】
パッチリセットを行なうことなくセンサデータの重複を許容したセンサパッチに基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理シーケンスについて、図２０に示すフローチャートを参照して説明する。同定処理部３０２は、図２０に示すフローのステップＳ３０１において、センサパッチ生成部３０１からセンサパッチ［ｐ］とデバイスの姿勢情報［Ｕ］を入力し、先行同定情報［Ｂｅｌ（ｘｔ−１）］に対して、デバイスの姿勢情報［Ｕ］を適用して、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。
【０１５２】
さらに、ステップＳ３０２では、デバイスの姿勢情報［Ｕ］に、さらに、センサパッチ生成部３０１の処理によって生成される図１９を参照して説明したオーバラップセンサ情報が含まれるセンサパッチ［ｐ］を適用して、地図（環境地図）とデバイスの位置および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。例えば、図９（ｃ）に示すようなデバイスの位置および方向を定めたデバイス周りの地図（環境地図）を生成する。
【０１５３】
これらの処理においては、前述したように、同定処理において適用する処理の態様を変更して重複データの過大評価を防止する処理を行なうことが必要である。このオバーラップデータに対応する同定処理（Ｌｏｃａｌｉｚａｔｏｉｏｎ）の処理例として、
（１）拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従ったローカライズ処理を基本とした同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
（２）モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従ったローカライズ処理を基本とした同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
これらの処理例について説明する。
【０１５４】
なお、拡張カルマン・フィルタ（ＥＫＦ）処理は、自己位置を状態変数［ｘ，ｙ，θ］の実測値として保持し、環境内に設置されたランドマークを観測すると、ランドマークからの相対位置に基づいて自己位置を推定する。また、自身の動作情報を観測すると、その動作情報に基づいて、状態量の推定を行う同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）手法である。
モンテカルロ同定処理（ＭＣＬ）は、モンテカルロ法により生成した多数の粒子により状態分布を近似する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）手法である。
【０１５５】
（１）拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）をベースとした同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
本処理例において、拡張カルマン・フィルタ（ＥＫＦ）処理を適用する場合、拡張カルマン・フィルタ（ＥＫＦ）処理において、センサ情報（センサパッチ）に対応して算出される共分散行列Σｓをそのまま適用するのではなく、この共分散行列Σｓを、以下のように置きかえる平滑化処理を実行する。すなわち、
Σｓ←ｇ（Σｓ）
とする。
ここで、ｇ（）は、共分散行列Σｓを増加させる関数である。例えば、
ｇ（Σｓ）＝αΣｓ＋Σβ
ただし、α：α≧１のスケーリングファクタ（ｓｃａｌｉｎｇ  ｆａｃｔｏｒ）
Σβ：固有値を持つ加算行列
である。
【０１５６】
上記手法の適用により、オーバラップするセンサデータを含むセンサパッチを繰り返して適用した同定処理において、重複データの過大評価を防止することが可能となる。
【０１５７】
この拡張カルマン・フィルタ（ＥＫＦ）処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）において、Σｓ←ｇ（Σｓ）とする平滑化処理を実行した場合と、Σｓ←ｇ（Σｓ）とする平滑化処理を実行しなかった場合の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）におけるデバイスの姿勢の確率分布は、図２１に示すような結果となる。
【０１５８】
Σｓ←ｇ（Σｓ）とする平滑化処理を実行しなかった場合は、センサパッチに含まれるオーバラップするセンサ情報の影響により、するどいピークが出現し、正しいローカライズができない状態となっているが、Σｓ←ｇ（Σｓ）とする平滑化処理を実行した場合は、センサパッチに含まれるオーバラップするセンサ情報の影響が現象し、するどいピークが解消して、正しいローカライズが可能となる。
【０１５９】
（２）モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）をベースとした同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
次に、モンテカルロ同定処理（ＭＣＬ）をベースとした同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を適用する場合の処理例について説明する。
【０１６０】
本処理例では、モンテカルロ同定処理（ＭＣＬ）において、センサ情報（センサパッチ）に基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）をそのまま適用するのではなく、この確率密度算出式ｐ（ｚｔ｜ｘｔ）を、以下のように置きかえる平滑化処理を実行する。すなわち、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
とする。
ここで、ｇ（ｐ）は、ｐを増加させる関数である。例えば、
ｇ（ｐ）＝ｐα
ただし、α：０＜α≦１の指数要素（ｅｘｐｏｎａｔｉａｌ  ｆａｃｔｏｒ）
である。
【０１６１】
上記手法の適用により、オーバラップするセンサデータを含むセンサパッチを繰り返して適用した同定処理において、重複データの過大評価を防止することが可能となる。
【０１６２】
このモンテカルロ同定処理（ＭＣＬ）において、ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））とする平滑化処理を実行した場合と、ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））とする平滑化処理を実行しなかった場合の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）におけるデバイスの姿勢の確率分布は、先に説明した図２１に示すような結果となり、ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））とする平滑化処理を実行した場合は、センサパッチに含まれるオーバラップするセンサ情報の影響が現象し、するどいピークが解消して、正しいローカライズが可能となる。
【０１６３】
［同定処理例３．オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）］
次に、オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）例について説明する。
【０１６４】
本処理例では、先に同定処理例２において説明したように、センサパッチ生成部３０１からは、重複したセンサデータを含むセンサパッチを入力するが、同定処理部３０２において、同定処理の済んだセンサパッチと、新たに同定処理を実行する新たなセンサパッチとの変化分の解析を実行して変化データに基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１６５】
図２２を参照して、本処理例における同定処理部における同定処理について説明する。図７に示すセンサパッチ生成部３０１は、センサパッチ［ｐ０］３９０を、複数のセンサ情報ｚ０〜ｚ３に基づいて生成し、同定処理部３０２は、センサパッチ［ｐ０］３９０を入力し、既に同定処理が終了した先行するセンサパッチを先行パッチとして記憶部に保持しており、入力したセンサパッチ［ｐ０］３９０と、記憶部に格納されている先行パッチとの差分を算出する。ただし、初期的には、先行パッチは存在させず、図に示す空のｅｍｐｔｙパッチ４０１との差分、すなわち、入力したセンサパッチ［ｐ０］３９０に基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１６６】
同定処理部３０１は、センサパッチ生成部３０１に対するセンサパッチリセット要求は出力しない。センサパッチ生成部３０１は、センサパッチ［ｐ０］３９０のセンサ情報ｚ０〜ｚ３を含み、さらに、センサ情報ｚ４〜ｚ６を追加した情報を含む新たなセンサパッチ［ｐ１］３９１を生成する。
【０１６７】
同定処理部３０２は、センサパッチ［ｐ１］３９１を入力して、記憶部に格納されている先行パッチ、この場合は、処理済みのセンサパッチ［ｐ０］４０２との差分を算出する。算出した差分、すなわち、入力したセンサパッチ［ｐ１］３９１と、記憶部に格納された処理済みのセンサパッチ［ｐ０］４０２との差分情報に基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。しかし、この同定処理に失敗したとする。
【０１６８】
同定処理に失敗した場合は、その処理対象としたセンサパッチ、すなわち、センサパッチ［ｐ１］３９１の記憶部への保存処理は実行されない。同定処理部３０２は、次の新たなセンサパッチ［ｐ２］３９２を入力して、記憶部に格納されている先行パッチ、この場合は、処理済みのセンサパッチ［ｐ０］４０２との差分を算出する。算出した差分、すなわち、入力したセンサパッチ［ｐ２］３９２と、記憶部に格納された処理済みのセンサパッチ［ｐ０］４０２との差分情報に基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１６９】
この同定処理に成功した場合、記憶部に処理済みのセンサパッチ［ｐ２］４０３として記憶する。以下、同様に、同定処理部３０２は、センサパッチ［ｐ３］３９３を入力して、記憶部に格納されている先行パッチ［ｐ２］４０３との差分を算出し、差分情報に基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１７０】
本処理例では、このように同定処理部３０２において、オーバラップするセンサ情報を含むセンサパッチをセンサパッチ生成部３０１から入力するが、記憶部に同定処理の済んだセンサパッチを格納して保持する構成として、新たな入力パッチとの差分を算出して同定処理を実行する構成としたので、先の処理例２で説明した特別な平滑化処理を行う必要がなく、通常のローカライズ手法を適用して、正しい同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行することが可能となる。
【０１７１】
本処理例の処理シーケンスについて、図２３に示すフローチャートを参照して説明する。ステップＳ４０１において、図４を参照して説明した処理と同様、例えばベイズ推定を用いて、先行同定情報［Ｂｅｌ（ｘｔ−１）］に対して、デバイスの姿勢情報［Ｕ］を適用して、デバイスの動きを加味したデバイスの位置、および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する。すなわち、図４を参照して説明した例えばフレーム画像単位の動き情報ｕｔの代わりに、センサパッチ生成部の生成したデバイスの姿勢情報［Ｕ］を適用した処理が実行される。
【０１７２】
ステップＳ４０２では、デバイスの姿勢情報［Ｕ］と、センサパッチ生成部３０１の処理によって新たに生成されるセンサパッチ［ｐ］と、記憶部に格納された同定処理の実行された処理済みセンサパッチ［ｐ'］との変化分データを解析して、地図（環境地図）とデバイスの位置および方向を含むデバイス姿勢（Ｐｏｓｅ）の予測値を算出する同定処理を実行する。例えば、図９（ｃ）に示すようなデバイスの位置および方向を定めたデバイス周りの地図（環境地図）を生成する。この同定処理の具体例については後述する。
【０１７３】
ステップＳ４０３では、ステップＳ４０１とＳ４０２において実行された同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）が成功したか否かを判定する。同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）が成功したか否かの判定処理は、例えば、予めデバイスが保持する地図データと、生成したセンサパッチ情報との一致度を判定する処理として実行される。
【０１７４】
具体的には、先に、図１６を参照して説明したように、予めデバイスが保持する地図データと、生成したセンサパッチ情報に含まれるグリッド単位のセルの占有（Ｏｃｃｕｐｚｎｃｙ）セルの対応のマッチ度合いを検証する処理や、予めデバイスが保持する地図データと、生成したセンサパッチ情報に含まれるランドマークのマッチ度合いを検証する処理などによって実行される。
【０１７５】
ステップＳ４０３において、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の失敗と判定された場合は、ステップＳ４０１に戻り、処理を繰り返す。この場合、入力したパッチの記憶部への保存は行なわれない。
【０１７６】
ステップＳ４０３において、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）成功と判定した場合は、ステップＳ４０４に進み、同定処理の済んだ、入力センサパッチを記憶部へ保存する。
【０１７７】
ステップＳ４０２において実行するセンサパッチ生成部３０１の処理によって新たに生成されるセンサパッチ［ｐ］と、記憶部に格納された同定処理の実行された処理済みセンサパッチ［ｐ'］との変化分データに基づく同定処理の具体的な市より劣位について、以下説明する。この変化分データに基づく同定処理の処理態様としては、例えば、以下の処理が適用可能である。
（Ａ）２つのパッチの差分情報［Ｄｉｆｆ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＤｉｆｆ（ｐ，ｐ'）］
（Ｂ）２つのパッチの更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）］
以下、これら（Ａ），（Ｂ）の具体的な処理例について説明する。
【０１７８】
（Ａ）２つのパッチの差分情報［Ｄｉｆｆ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＤｉｆｆ（ｐ，ｐ'）］
まず、センサパッチ生成部３０１の処理によって新たに生成されるセンサパッチ［ｐ］と、記憶部に格納された同定処理の実行された処理済みセンサパッチ［ｐ'］との差分情報［Ｄｉｆｆ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＤｉｆｆ（ｐ，ｐ'）例について説明する。
【０１７９】
この処理は、以下の処理を伴う処理として実行する。
（ａ）新規入力センサパッチ［ｐ］に含まれるセンサ情報中、処理済みセンサパッチ［ｐ'］にも記録されたセンサ情報を削除する。
（ｂ）各センサパッチに設定されたタイムスタンプ情報を比較した差分抽出を実行する。
【０１８０】
本処理例における同定処理について、図２４に示すフローチャートを参照して説明する。図２４に示すフローは、センサパッチのグリッド単位として設定されるセルに対するオキュパイド（Ｏｃｃｕｐｉｅｄ）処理を適用した処理例である。前述したように、グリッドは、セルＣに対して障害物の存在確率（障害物によって占有されている確率）＝占有確率：ｐ（ｃ）を保持しており、このエンプティ処理及びオキュパイド処理は、これら各セルに対する統計的な処理として実行される。
【０１８１】
ステップＳ５０１において、新規入力センサパッチ［ｐ］と、処理済みセンサパッチ［ｐ'］とのセル対応付けを実行する。ステップＳ５０２において、新規入力センサパッチ［ｐ］と、処理済みセンサパッチ［ｐ'］との対応するセルにおいて算出された占有確率：ｐ（ｃ）およびｐ'（ｃ）の各データに対応付けられたタイムスタンプ情報を抽出し、ステップＳ５０３において、新規入力センサパッチ［ｐ］のセル対応のタイムスタンプが、処理済みセンサパッチ［ｐ'］の対応セルのタイムスタンプより新しいか否かを判定する。
【０１８２】
ステップＳ５０３において、新規入力センサパッチ［ｐ］のセル対応のタイムスタンプが、処理済みセンサパッチ［ｐ'］の対応セルのタイムスタンプより新しいと判定した場合は、ステップＳ５０４に進み、新規入力センサパッチ［ｐ］のセルに対応する占有確率：ｐ（ｃ）をセンサパッチ更新、すなわち同定処理に適用する占有確率を示すデータｑ（ｃ）として設定する。
【０１８３】
一方、ステップＳ５０３において、新規入力センサパッチ［ｐ］のセル対応のタイムスタンプが、処理済みセンサパッチ［ｐ'］の対応セルのタイムスタンプより新しくないと判定した場合は、ステップＳ５０５に進み、そのセルに対応する占有確率を不明（ｕｎｋｎｏｗｎ）、すなわちｑ（ｃ）＝ｕｎｋｎｏｗｎとして設定する。
【０１８４】
ステップＳ５０４またはステップＳ５０５の処理の後、ステップＳ５０６に進み、未処理のセルがある場合は、ステップＳ５０１以下の処理を未処理セルに対して繰り返す。全てのセルについての処理が済むと、ステップＳ５０７に進み、新たに生成された占有確率：ｑ（ｃ）を持つセンサパッチを出力し、このセンサパッチに基づく更新処理、すなわち同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する。
【０１８５】
なお、上記処理において、ステップＳ５０５において実行するセルに対応する占有確率を不明（ｕｎｋｎｏｗｎ）とする処理、すなわちｑ（ｃ）＝ｕｎｋｎｏｗｎとする処理は、例えば、０〜１の範囲で占有確率を設定する場合、中間値としての［０．５］を設定するといった処理として実行してもよい。
【０１８６】
このようにして２つのセンサパッチの差分情報に基づいて生成した更新されたセンサパッチを適用した同定処理によって、重複データが排除された正確な同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を行なうことが可能となる。
【０１８７】
（Ｂ）２つのパッチの更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）］
次に、センサパッチ生成部３０１の処理によって新たに生成されるセンサパッチ［ｐ］と、記憶部に格納された同定処理の実行された処理済みセンサパッチ［ｐ'］との更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）例について説明する。この処理は、ベイズ推定を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）や、モンテカルロ同定処理（ＭＣＬ）において利用しやすい処理である。
【０１８８】
まず、ベイズ推定を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）において、２つのパッチとして、
新規入力センサパッチ＝センサ情報ｚ１〜ｚｔを含むセンサパッチ［ｐ］、
処理済みセンサパッチ［ｐ'］＝センサ情報ｚ１〜ｚｔ−１を含むパッチ［ｐ'］
とした場合の、更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）例について説明する。ベイズ推定については、先に、図４を参照した同定処理の説明において式を参照して説明した。
【０１８９】
ベイズ推定による姿勢ｘｔの確率は、以下の式によって示すことができる。
Ｂｅｌ（ｘｔ）＝Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ）
上記式において、
ｚは、センサ情報
ｕは、動き情報
ｘは、デバイスの状態、すなわち姿勢（ｐｏｓｅ）を示すパラメータ
Ｐは確率密度関数を表している。
【０１９０】
さらに、先に説明したように、
Ｂｅｌ（ｘｔ）＝Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ）＝Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ−１，ｚｔ）
＝ηＰ（ｚｔ｜ｘｔ，ｕ１：ｔ，ｚ１：ｔ−１）Ｐ（ｘｔ｜ｕ１：ｔ，ｚ１：ｔ−１）
また、Ｐ（ｚｔ｜ｘｔ，ｕ１：ｔ，ｚ１：ｔ−１）は、以下のように示すことができる。
【数１２】
2008065562.tif 000014
【０１９１】
ここで、
新規入力センサパッチ＝センサ情報ｚ１〜ｚｔを含むセンサパッチ［ｐ］、
処理済みセンサパッチ［ｐ'］＝センサ情報ｚ１〜ｚｔ−１を含むパッチ［ｐ'］
である。従って、以下の関係式が成立する。
【数１３】
2008065562.tif 000015
【０１９２】
上記式は、先に、図４を参照して説明した関係式、
【数１４】
2008065562.tif 000016
【０１９３】
におけるＰ（ｚｔ｜ｘｔ）を２つのセンサパッチの比率（Ｐ（ｚ１：ｔ｜ｘｔ））／（Ｐ（ｚ１：ｔ−１｜ｘｔ））に置きかえた式に相当し、更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）］がベイズ推定によって実行可能であることが証明される。
【０１９４】
次に、モンテカルロ同定処理（ＭＣＬ）における更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］を適用した更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）］例について説明する。
【０１９５】
モンテカルロ同定処理（ＭＣＬ）は、モンテカルロ法により生成した多数の粒子により状態分布を近似する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）手法である。生成する地図上に設定された多数の粒子により状態分布を近似する。このモンテカルロ同定処理（ＭＣＬ）処理において、新規入力センサパッチ［ｐ］と、記憶部に格納された同定処理の実行された処理済みセンサパッチ［ｐ'］との更新率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＲａｔｉｏ（ｐ，ｐ'）例について図２５に示すフローチャートを参照して説明する。
【０１９６】
まず、ステップＳ６０１において、入力として、地図上に設定された多数の粒子の中の１つｘｉを設定し、そのｘｉに対応する２つの状態値としてのウェイト、すなわち、
新規入力センサパッチ［ｐ］に基づく状態値としてのウェイト：ｗ１＝ｐｒｏｂ（Ｐ｜ｘｉ）
処理済みセンサパッチ［ｐ'］に基づく状態値としてのウェイト：ｗ２＝ｐｒｏｂ（ｐ'｜ｘｉ）
を算出する。
【０１９７】
次に、ステップＳ６０２において、ステップＳ６０１で算出した各センサパッチ対応の状態値としてのウェイト［ｗ１］、［ｗ２］の比率
ｗｉ＝ｗ１／ｗ２
を算出し、これをモンテカルロ同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）に適用する状態値としてのウェイトとする。
【０１９８】
このようにして２つのセンサパッチの状態値の比率情報に基づいて生成した更新されたセンサパッチを適用した同定処理によって、重複データが排除された効率的な同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を行なうことが可能となる。
【０１９９】
以上、同定処理部３０２の実行する同定処理（Ｌｏｃｚｌｉｚａｔｉｏｎ）として、
同定処理例１．センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図１５〜図１７）
同定処理例２．オーバラップセンサデータを含むセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図１９〜図２０）
同定処理例３．オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）として、
（３−１）２つのパッチの差分情報［Ｄｉｆｆ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＤｉｆｆ（ｐ，ｐ'）］を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図２２〜図２４）
（３−２）２つのパッチの比率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＴａｔｉｏ（ｐ，ｐ'）］を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図２２、図２３、図２５）
【０２００】
これら処理例１，２，３−１，３−２について説明してきた。
上述の同定処理において、センサパッチ生成部３０１の生成するセンサパッチや、同定処理部３０２における同定処理において利用するセンサパッチや地図データは、センサとしてのカメラの撮影する画像情報の他、センサ情報を加工して得られる様々なデータが適用可能である。たとえば、
目印となるランドマーク情報のみからなるデータ、
オブジェクトの輪郭などの線分情報のみからなるデータ、
グリッド単位のセルの状態値（占有など）によって表現されるデータ、
などを適用することが可能である。
【０２０１】
目印となるランドマーク情報のみからなるセンサパッチのデータの例について、図２６を参照して説明する。図２６には、デバイス４２１が動き回る領域（Ｅｎｖｉｒｏｎｍｅｎｔ）４２０を示している。領域（Ｅｎｖｉｒｏｎｍｅｎｔ）４２０には、２つの同じ形を持つランドマークＡ（１），Ａ（２）と、Ａとは区別可能な１つのラントマークＢが存在する。
【０２０２】
デハイス４２１は、センサ（カメラ）によるセンサ情報としてランドマーク情報のみからなるデータを取得する。例えば時間Ｔ＝０において、ランドマークＡからなるセンサ情報を取得し、次に時間Ｔ＝１において、ランドマークＢからなるセンサ情報を取得したとする。
【０２０３】
この２つのセンサ情報に基づいて１つのセンサパッチ４２３が生成される。パッチ４２３には、２つのランドマークＡ，Ｂが、２つのランドマークの距離情報を含むデータとして設定されることになる。結果として、このセンサパッチに基づく同定処理を実行することで、センサパッチ４２３は、デバイス４２１が動き回る領域（Ｅｎｖｉｒｏｎｍｅｎｔ）４２０における矩形領域４２５に対応することが解析可能となる。
【０２０４】
１つのセンサ情報のみから同定処理を実行した場合には、デバイス４２１がジカンＴ＝０において取得したランドマークＡが、ランドマークＡ（１）なのか、ランドマークＡ（２）なのかの判別が不可能になるが、本処理例のように複数のセンサ情報を組み合わせて利用した同定処理によってＡとＢの位置関係が明確になり、時間Ｔ＝０において取得したランドマークＡが、ランドマークＡ（２）であることが判別され、正確な同定処理が可能となる。
【０２０５】
従来処理例として説明した個別のセンサ情報と動き情報を逐次処理する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）と、上述した本発明に従った複数の処理例における同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）において適用する情報量と、処理時間の対応表を図２７に示す。
【０２０６】
図２７には、各処理手法（Ｍｅｔｈｏｄ）に対応するデータとして、
（ａ）動き情報数（Ｄａｔａ／＃  ｍｏｔｉｏｎ）
（ｂ）センサ情報（Ｄａｔａ／＃  ｓｅｎｓｅ）
（ｃ）動き解析時間（Ｔｉｍｅ／ｓ  ｍｏｔｉｏｎ）
（ｄ）センサ情報解析時間（Ｔｉｍｅ／ｓ  ｓｅｎｓｅ）
（ｃ）全解析時間（Ｔｉｍｅ／ｓ  ｔｏｔａｌ）
の各値について、
【０２０７】
（１）従来処理例［ｒａｗ（ｎｏ  ｐａｔｃｈ］：個別のセンサ情報と動き情報を逐次処理する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
（２）同定処理例１［ｒｅｓｅｔ］：センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図１５〜図１７）
（３）同定処理例２［ｆｕｌｌ（ｎｏ  ｒｅｓｅｔ）］：オーバラップセンサデータを含むセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図１９〜図２０）
【０２０８】
さらに、同定処理例３．オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）として、
（４）［Ｄｉｆｆ］：２つのパッチの差分情報［Ｄｉｆｆ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＤｉｆｆ（ｐ，ｐ'）］を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図２２〜図２４）
（５）［Ｒａｔｉｏ］：２つのパッチの比率情報［Ｒａｔｉｏ（ｐ，ｐ'）］による更新処理［ＵｐｄａｔｅＴａｔｉｏ（ｐ，ｐ'）］を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）（図２２、図２３、図２５）
【０２０９】
これら各処理例（１）〜（５）についての処理データ量と処理時間を示している。（２）〜（５）に示す本発明に従った処理例では、従来の処理例（１）に比較して、処理データ量、処理時間が削減されていることが分かる。このように、本発明の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）によれば、従来の個別のセンサ情報や動き情報を逐次処理する構成に比較して、効率的な処理が可能となる。
【０２１０】
上述した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する情報処理装置の機能構成について、図２８を参照して説明する。図２８は、同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する情報処理装置の機能構成を示すブロック図である。情報処理装置５００は、例えば、カメラ等のセンサ部を備え、かつデータ処理プロセッサを備えた情報処理装置によって構成される。
【０２１１】
図２８に示すように情報処理装置５００は、カメラ等のセンサ５０１と、データ処理部５０２と、記憶部５０３を有する。データ処理部５０２は、ＣＰＵを備え、記憶部５０３に記録されたプログラムに従ったデータ処理を実行する。データ処理部５０２は、センサパッチ生成部５１１と、同定処理部５１２を有する。これらは、図７を参照して説明したセンサパッチ生成部３０１と、同定処理部３０２に対応する。データ処理部５０２においては、記憶部に記録されたプログラムに従って、各種の処理、すなわち、上述した各処理を実行する。
【０２１２】
情報処理装置５００は、自装置の位置および方向を推定する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）を実行する装置（デバイス）であり、センサ５０１は、例えばカメラ等によって構成され、自装置の周囲の情報としてのセンサ情報を取得する。データ処理部５０２のセンサパッチ生成部５１１は、センサ５０１によって取得されるセンサ情報を集積したセンサパッチを生成するとともに、センサパッチ生成期間における自装置の動き情報を取得する。同定処理部５１２は、センサパッチと、動き情報を入力して、入力情報に基づいて、自装置の位置および方向を推定する同定処理を実行する。
【０２１３】
センサパッチ生成部５１１は、センサ５０１によって取得される新たなセンサ情報に基づくセンサパッチの更新処理と、新たに入力される動き情報に基づくデバイス姿勢を推定する処理を実行する。
センサパッチ更新処理としては、例えば、センサ情報の集積処理、ランドマークの抽出処理、およびグリッドマップの生成処理を実行する。
また、デバイス姿勢推定処理としては、前述したように、
（ａ）平均値伝播法（ｍｅａｎ  ｐｒｏｐａｇａｔｉｏｎ）
（ｂ）ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）
上記（ａ）または（ｂ）いずれかの処理を適用して実行する。
【０２１４】
また、センサパッチ生成部５１１は、生成中のセンサパッチについての予め設定された判定基準に従って生成終了判定処理を実行する。すなわち、先に説明した図１０のステップＳ１０５の処理であり、判定基準として、
（ａ）予め設定された時間の経過によるタイムアウト、
（ｂ）予め設定された閾値距離に自装置の移動距離が到達、
（ｃ）自装置の先行姿勢［Ｕ］に対応する共分散行列共分散行列Σｕのいずれかの要素（Ｄｅｔｅｒｍｉｎａｎｔ）の値が予め定めた閾値を超えた、
（ｄ）自装置の先行姿勢［Ｕ］に対応する共分散行列Σｕのいずれかの対角要素（ｄｉａｇｏｎａｌ  ｅｌｅｍｅｎｔｓ）の値が予め定めた閾値を超えた、
（ｅ）生成地図におけるセル中、占有［オキュパイド（Ｏｃｃｕｐｉｅｄ）］設定のなされたセル数が予め定めた閾値を越えた、
（ｆ）前記同定処理部からのセンサパッチ出力要求の受領、
上記（ａ）〜（ｆ）のいずれかの１つの基準、またはいずれかの基準の組み合わせを適用したセンサパッチの生成終了判定処理を実行する。
【０２１５】
データ処理部５０１の同定処理部５１２としては、先に説明したように、
同定処理例１．センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
同定処理例２．オーバラップセンサデータを含むセンサパッチを適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
同定処理例３．オーバラップセンサデータを含むセンサパッチの変化分の解析処理を適用した同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）
これらのいずれかの処理を実行する。
【０２１６】
センサパッチリセット処理によるオーバラップセンサデータを含まないセンサパッチを適用した同定処理においては、同定処理の成功判定処理、すなわち、予め保持する地図データあるいは生成済みのセンサパッチ情報と、新たに生成したセンサパッチ情報との一致度を検証する処理などによる同定処理の成功判定を実行し、同定処理の成功の判定に基づいて、センサパッチ生成部５１１に対するセンサパッチのリセット処理要求を出力する。センサパッチ生成部５１１は、同定処理部５１２からのリセット要求の入力に基づいて、新規センサパッチの生成処理を開始する。
【０２１７】
また、上記の同定処理例２，３では、センサパッチ生成部５１１に対するセンサパッチのリセット処理要求を出力することなく、センサパッチ生成部５１２から、各センサパッチに重複するセンサ情報を含むセンサパッチを入力して、自装置の位置および方向を推定する同定処理を実行する。
【０２１８】
例えば処理例２では、同定処理部５１２は、各センサパッチに重複するセンサ情報を含むセンサパッチを適用した同定処理の実行に際して、重複情報の過大評価を避けるための平滑化処理を実行する。
具体的には、拡張カルマン・フィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）に従った処理を基本とした同定処理を実行する場合、
拡張カルマン・フィルタ（ＥＫＦ）処理において、センサパッチに対応して設定される共分散行列Σｓを、
Σｓ←ｇ（Σｓ）
ただし、ｇ（）は、共分散行列Σｓを増加させる関数、
とする処理を実行して同定処理を行なう。
【０２１９】
また、モンテカルロ同定処理（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）に従った処理を基本とした同定処理を実行する構成では、モンテカルロ同定処理（ＭＣＬ）において、センサパッチに基づく確率密度の算出式ｐ（ｚｔ｜ｘｔ）、
ただし、ｚｔは、時間ｔにおけるセンサ情報、ｘｔは時間ｔにおける装置姿勢、
上記式を、
ｐ（ｚｔ｜ｘｔ）←ｇ（ｐ（ｚｔ｜ｘｔ））
ただし、ｇ（ｐ）は、ｐを増加させる関数、
とする処理を実行して同定処理を行なう。
【０２２０】
また、処理例３では、同定処理部５１２は、センサパッチ生成部５１１から入力するセンサパッチに対応して実行された同定処理が成功した場合、処理済みのセンサパッチを、処理済みセンサパッチとして記憶部５０３に格納し、新たにセンサパッチ生成部から入力する新規入力センサパッチと、処理済みセンサパッチとの比較に基づいて、変化情報を抽出し、抽出した変化情報に基づく同定処理を実行する。
【０２２１】
この変化分抽出処理を実行する場合、同定処理部５１２は、新規入力センサパッチと、処理済みセンサパッチとの変化情報に基づく同定処理として、
（Ａ）２つのセンサパッチの差分情報による処理、
（Ｂ）２つのセンサパッチの更新率情報による処理、
上記（Ａ）または（Ｂ）のいずれかの処理を実行する。例えば、モンテカルロ同定処理（ＭＣＬ）処理を適用して、更新率情報に基づく同定処理を実行する。
【０２２２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２２３】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０２２４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０２２５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２２６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２２７】
以上、説明したように、本発明の一実施例の構成によれば、センサによって取得される個別のセンサ情報を集積した情報、例えば個別のセンサ情報をＺｔとした場合、センサデータ集合｛Ｚ０∪Ｚ１∪Ｚ２｝などの集積センサ情報に基づくセンサパッチを生成し、このセンサパッチに基づくデバイスの位置および方向推定処理としての同定処理を実行する。本構成によれば、個別のセンサ情報のみからは得られない情報の適用が可能となり、ノイズを削減してＳＮＲの高いデータに基づく同定処理を行なうことが可能となる。また、処理タイミングも入力フレームのスピード、例えば３０フレーム／ｓｅｃごとに１つのフレーム画像の処理を行う必要がなくなり、処理負荷の低減が可能となる。
【図面の簡単な説明】
【０２２８】
【図１】自律型ロボットのような自律制御を行なうデバイスの各時間におけるセンサ取得情報の遷移を示す図である。
【図２】複数のセンサデータの集合に基づくセンサパッチに基づく同定処理について説明する図である。
【図３】デバイスの位置や方向をデバイスの動き情報と、カメラ撮影画像などのセンサ情報とに基づいて検出する基本的なローカリゼーション構成について説明する図である。
【図４】同定処理部の具体的構成例について説明する図である。
【図５】予測処理部（Ｐｒｅｄｉｃｔｉｏｎ）の入力するデバイスの動き情報（Ｍｏｔｉｏｎ  Ｄａｔａ）の具体例について説明する図である。
【図６】更新処理部（Ｕｐｄａｔｅ）の入力するセンサ情報（Ｓｅｎｓｏｒ  Ｄａｔａ）の具体例について説明する図である。
【図７】本発明の一実施例に係る同定処理を実行する情報処理装置（デバイス）の構成を示すブロック図である。
【図８】センサパッチ生成例を示す図である。
【図９】センサパッチ、環境地図、および同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）結果の例を示す図である。
【図１０】センサパッチ生成部において実行する処理のシーケンスを説明するフローチャートを示す図である。
【図１１】センサ情報ｚｔ入力に基づくセンサパッチ更新処理について説明する図である。
【図１２】デバイスの動き情報ｕｔを入力しで実行する座標更新処理について説明する図である。
【図１３】デバイスの動き情報ｕｔを入力しで実行するデバイス姿勢（ｐｏｓｅ）更新処理について説明する図である。
【図１４】ガウシアンモデル（Ｇａｕｓｓｉａｎ  ｍｏｄｅｌ）を適用したデバイス姿勢算出処理例について説明する図である。
【図１５】センサパッチとデバイスの姿勢情報を入力して実行するデバイスの同定処理のシーケンスを説明するフローチャートを示す図である。
【図１６】センサパッチの照合処理について説明する図である。
【図１７】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）例について説明する図である。
【図１８】センサパッチのリセット処理を行なう理由について説明する図である。
【図１９】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）例について説明する図である。
【図２０】パッチリセットを行なうことなくセンサデータの重複を許容したセンサパッチに基づく同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理シーケンスについて説明するフローチャートを示す図である。
【図２１】平滑化処理を実行した場合と、平滑化処理を実行しなかった場合の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）におけるデバイスの姿勢の確率分布について説明する図である。
【図２２】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）例について説明する図である。
【図２３】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理シーケンスについて説明するフローチャートを示す図である。
【図２４】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理シーケンスについて説明するフローチャートを示す図である。
【図２５】本発明の一実施例の同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）の処理シーケンスについて説明するフローチャートを示す図である。
【図２６】ランドマーク情報のみからなるセンサパッチのデータの例について説明する図である。
【図２７】本発明に従った複数の処理例における同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）において適用する情報量と、処理時間の対応を説明する図である。
【図２８】本発明の情報処理装置の構成例を示す図である。
【符号の説明】
【０２２９】
１００  デバイス（情報処理装置）
１０１  センサ
１５１  先行同定情報
１７１  動き情報
１７２  センサ情報
１８１  同定情報
２００  同定処理部
２０１  予測処理部
２０２  更新処理部
２５０  デバイス
３０１  センサパッチ生成部
３０２  同定処理部
３１０〜３１３  センサパッチ
３２０  センサパッチ（地図）
３３１  デバイス
３４１  先行生成センサパッチ
３４２  新規生成センサパッチ
３５０〜３５３  センサパッチ
３８０〜３８３  センサパッチ
３９０〜３９３  センサパッチ
４０１  ｅｍｐｔｙパッチ
４０２  センサパッチ［ｐ０］
４０３  センサパッチ［ｐ２］
４２０  領域（Ｅｎｖｉｒｏｎｍｅｎｔ）
４２１  デバイス
４２３  センサパッチ
４２５  矩形領域
５００  情報処理装置（デバイス）
５０１  センサ
５０２  データ処理部
５０３  記憶部
５１１  センサパッチ生成部
５１２  同定処理部
【図３】
2008065562.tif 000017
【図４】
2008065562.tif 000018
【図５】
2008065562.tif 000019
【図７】
2008065562.tif 000020
【図８】
2008065562.tif 000021
【図１０】
2008065562.tif 000022
【図１３】
2008065562.tif 000023
【図１４】
2008065562.tif 000024
【図１５】
2008065562.tif 000025
【図１７】
2008065562.tif 000026
【図１９】
2008065562.tif 000027
【図２０】
2008065562.tif 000028
【図２１】
2008065562.tif 000029
【図２２】
2008065562.tif 000030
【図２３】
2008065562.tif 000031
【図２４】
2008065562.tif 000032
【図２５】
2008065562.tif 000033
【図２６】
2008065562.tif 000034
【図２７】
2008065562.tif 000035
【図２８】
2008065562.tif 000036
【図１】
2008065562.tif 000037
【図２】
2008065562.tif 000038
【図６】
2008065562.tif 000039
【図９】
2008065562.tif 000040
【図１１】
2008065562.tif 000041
【図１２】
2008065562.tif 000042
【図１６】
2008065562.tif 000043
【図１８】
2008065562.tif 000044