(57)【要約】      （修正有）【課題】ロボットの位置を容易かつ迅速に認識できるロボットの位置決定方法を提供する。また、ロボットの位置を正確に認識できるとともに、ロボットが突然移動するか、他の位置に移動する状況にも迅速に対応できるロボットの位置決定方法を提供する。【解決手段】ロボットから全方位映像を獲得する段階と、前記獲得された全方位映像から所定の水平面線を抽出する段階と、前記抽出されたロボットの水平面線と予め保存された複数ノードの水平面線との間の相関係数を、高速フーリエ変換（ＦＦＴ）を用いて算出する段階と、前記算出された相関係数が所定の値以上であるノードを選択する段階と、前記選択されたノードに基づいて前記ロボットの位置を認識する段階とを含む。【選択図】図７
2008083045.tif 000002
【特許請求の範囲】
【請求項１】
ロボットから全方位映像を獲得する段階と、
前記獲得された全方位映像から所定の水平面線を抽出する段階と、
前記抽出されたロボットの水平面線と予め保存された複数ノードの水平面線との間の相関係数を、高速フーリエ変換（ＦＦＴ）を用いて算出する段階と、
前記算出された相関係数が所定の値以上であるノードを選択する段階と、
前記選択されたノードに基づいて前記ロボットの位置を認識する段階と、を含むことを特徴とする全方位映像を用いたロボットの位置決定方法。
【請求項２】
前記所定の水平面線は、前記全方位映像の原点から所定の位置だけ離隔した円周であることを特徴とする請求項１に記載の全方位映像を用いたロボットの位置決定方法。
【請求項３】
前記ロボットの水平面線と前記予め保存された複数ノードの水平面線との間の相関係数は、次の式によって算出されることを特徴とする請求項１に記載の全方位映像を用いたロボットの位置決定方法。
【数１】
2008083045.tif 000004
（ここで、ρ（τ）は、相関係数を示し、τは、ロボットの回転角を示し、Ｃｘｙは、クロス相関値を示し、Ｃｘｘ及びＣｙｙは、相関値を示す。）
【請求項４】
前記算出された相関係数が所定の値以上であるＭ個のノードを選択する段階と、
前記選択されたＭ個のノードの水平面線に基づいて、同一の空間物体が同一の位置に位置するように前記ロボットの現在の水平面線を変形させ、変形された現在の水平面線を生成する段階と、
前記変形されたロボットの現在の水平面線とＭ個のノードの水平面線との間の相関係数を算出する段階と、
前記算出された相関係数が所定の相関係数以上であるＮ個（Ｎ＜Ｍ）のノードを選択する段階と、
前記選択されたＮ個のノードに基づいて前記ロボットの位置を認識する段階と、を含むことを特徴とする請求項１に記載の全方位映像を用いたロボットの位置決定方法。
【請求項５】
前記ロボットの現在の水平面線のエッジと前記Ｍ個のノードの水平面線のエッジを抽出する段階と、
前記ロボットの現在の水平面線のエッジと前記Ｍ個のノードの水平面線のエッジとをマッチングする段階と、
前記マッチングされたエッジに基づいて、同一の空間物体が水平面線の同一位置に位置するように前記ロボットの現在の水平面線を変形させる段階とを含むことを特徴とする請求項４に記載の全方位映像を用いたロボットの位置決定方法。
【請求項６】
前記エッジは、水平面線の各ＲＧＢが所定の値以上に変化する終点を示すことを特徴とする請求項５に記載の全方位映像を用いたロボットの位置決定方法。
【請求項７】
ロボットから全方位映像を獲得する段階と、
前記獲得された全方位映像から所定の水平面線を抽出する段階と、
前記抽出されたロボットの水平面線と予め保存された複数ノードの水平面線との間の相関係数を、ＦＦＴを用いて算出する段階と、
前記算出された相関係数に基づいて粒子フィルターリング処理の確率的接近方法を行い、前記ロボットの位置を認識する段階とを含むことを特徴とする全方位映像を用いたロボットの位置決定方法。
【請求項８】
前記算出された相関係数によって決定される特定のノードに基づいて、前記ロボットが位置可能な地図上の全ての領域に粒子をランダムに分散する段階と、
前記分散された粒子に前記ロボットが位置する確率値に基づいて粒子を抽出する段階と、
前記抽出された粒子に基づいて前記ロボットの現在位置を認識する段階とをさらに含むことを特徴とする請求項７に記載の全方位映像を用いたロボットの位置決定方法。
【請求項９】
前記ロボットの前位置及び駆動命令によって予想されたロボットの位置可能な全ての領域に、粒子を均一に分散する段階をさらに含むことを特徴とする請求項８に記載の全方位映像を用いたロボットの位置決定方法。
【請求項１０】
前記分散された粒子に前記ロボットが位置する確率値は、前記算出された相関係数に比例して増加することを特徴とする請求項８に記載の全方位映像を用いたロボットの位置決定方法。
【請求項１１】
前記算出された相関係数によって決定される特定のノードに基づいて、前記ロボットが位置可能な地図上の全ての領域に粒子をランダムに分散する段階と、
前記分散された粒子に前記ロボットが位置する確率値に基づいて、加重値を割り当てる段階と、
前記加重値が与えられた値に基づいて、前記分散された粒子をランダムに抽出する段階と、
前記ランダムに抽出された粒子に基づいて、前記ロボットの現在位置を認識する段階とを含むことを特徴とする請求項７に記載の全方位映像を用いたロボットの位置決定方法。
【請求項１２】
前記ロボットの水平面線と前記予め保存された複数ノードの水平面線との間の相関係数は、次の式によって算出されることを特徴とする請求項７に記載の全方位映像を用いたロボットの位置決定方法。
【数２】
2008083045.tif 000005
（ここで、ρ（τ）は、相関係数を示し、τは、ロボットの回転角を示し、Ｃｘｙは、クロス相関値を示し、Ｃｘｘ及びＣｙｙは、相関値を示す。）
【請求項１３】
前記算出された相関係数が所定の値以上であるＭ個のノードを選択する段階と、
前記選択されたＭ個のノードの水平面線に基づいて、同一の空間物体が同一の位置に位置するように前記ロボットの現在の水平面線を変形させ、変形された現在の水平面線を生成する段階と、
前記変形されたロボットの現在の水平面線とＭ個のノードの水平面線との間の相関係数を算出する段階と、
前記算出された相関係数が所定の相関係数以上であるＮ個（Ｍ＞Ｎ）のノードを選択する段階と、
前記選択されたＮ個のノードに基づいて前記ロボットの位置を認識する段階とを含むことを特徴とする請求項７に記載の全方位映像を用いたロボットの位置決定方法。
【請求項１４】
前記ロボットの現在の水平面線のエッジと前記Ｍ個のノードの水平面線のエッジを抽出する段階と、
前記ロボットの現在の水平面線のエッジと前記Ｍ個のノードの水平面線のエッジとをマッチングする段階と、
前記マッチングされたエッジに基づいて、同一の空間物体が水平面線の同一位置に位置するように前記ロボットの現在の水平面線を変形させる段階とを含むことを特徴とする請求項１３に記載の全方位映像を用いたロボットの位置決定方法。
【請求項１５】
全方位カメラが装着されたロボットを位置させる方法は、
ロボットが位置可能な領域内に所定数のノードのための水平面線の数を設定する段階と、
前記ロボットから全方位映像を獲得する段階と、
前記獲得した映像から現在の水平面線を抽出する段階と、
前記現在の水平面線と各ノードのための水平面線との間の相関係数を算出する段階と、
前記算出された相関係数に基づいて前記ロボットの位置を決定する段階とを含むことを特徴とするロボットの位置決定方法。
【請求項１６】
前記相関係数の算出段階は、ＦＦＴ方法を用いることを特徴とする請求項１５に記載のロボットの位置決定方法。
【請求項１７】
前記位置決定段階は、
前記算出された相関係数が所定の値以上である第１数のノードを選択する段階と、
変形された各水平面線の空間物体が、第１数のノードのための各水平面線の空間物体と同一位置に位置するように、前記水平面線を複数の変形された水平面線に変形させる段階と、
前記変形された水平面線と前記ノードの第１数の水平面線との間の第２の相関係数を算出する段階と、
前記算出された第２の相関係数が第２の所定の値以上である第１数のノードのうち第２数のノードを選択する段階と、
前記選択された第２数のノードに基づいて前記ロボットの位置を認識する段階とを含むことを特徴とする請求項１５に記載のロボットの位置決定方法。
【請求項１８】
前記水平面線の変形段階は、現在の水平面線のエッジ及び第１数のノードの各水平面線のエッジを抽出する段階と、
前記現在の水平面線のエッジと前記第１数のノードの各水平面線のエッジとをマッチングする段階とを含むことを特徴とする請求項１７に記載のロボットの位置決定方法。
【請求項１９】
前記所定の値と前記第２の所定の値は、同一であることを特徴とする請求項１７に記載のロボットの位置決定方法。
【請求項２０】
前記エッジは、前記水平面線の各ＲＧＢが少なくとも第３の所定の値によって変化する終点であることを特徴とする請求項１８に記載のロボットの位置決定方法。
【請求項２１】
ロボット本体と、
全方位映像を獲得するために、前記ロボット本体に装着された全方位カメラと、
前記獲得した全方位映像から所定の水平面線を抽出し、ＦＦＴを用いて、前記抽出されたロボットの水平面線とロボットが位置可能な領域の予め保存されたノードの各水平面線との相関係数を算出し、前記算出された相関係数が所定の値以上であるノードを選択し、前記選択されたノードに基づいて前記ロボットの位置を認識する制御部とを含むことを特徴とするロボットの位置決定装置。
【請求項２２】
前記制御部は、前記ロボット本体から離隔して装着され、前記ロボット本体及び前記全方位カメラのうち少なくとも一つと連通することを特徴とする請求項２１に記載のロボットの位置決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの位置決定方法及び装置に関するもので、より詳細には、全方位映像を得るための全方位カメラを用いたロボットの位置決定方法及び装置に関するものである。
【背景技術】
【０００２】
一般的に、全方位カメラは、全方位映像を得るためのもので、カメラ周辺の３６０°の映像を得ることができる。
【０００３】
最近、全方位カメラは、ロボットの現在位置を認識するために移動ロボットに装着される。
【０００４】
上記のように、ロボットの位置を認識するために移動ロボットに設置される全方位カメラの代表的な例は、特許文献１に開示されている。この特許文献１によると、移動空間に含まれた特定の位置に多数個のノードを設定し、全方位カメラを搭載した移動ロボットを各ノードに移動させ、各ノードで得られた全方位映像を保存する。その後、移動ロボットを特定の位置に移動させ、特定の位置に対する全方位映像を獲得した後、獲得した全方位映像と予め保存された各ノードでの全方位映像との間の類似度を測定し、現在位置をノードの起点と推定してロボットの位置を認識する。
【０００５】
上記の特許文献１では、特定位置でのロボットの現在の全方位映像と予め保存された各ノードの全方位映像との間の類似度を測定するために、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）相関値を用いる。しかしながら、ＳＡＤ相関値を用いる方法は、移動ロボットの各回転角で獲得した全方位映像と各ノードでの全方位映像とを直接的に比較する方法であるので、ノードの数が多くなるほど、計算量が幾何級数的に増加する。その結果、ロボットの位置を実時間で認識できないとともに、計算量の増加によって発生する誤差累積のために、使用者がロボットの位置を正確に認識しにくいという問題点があった。
【０００６】
さらに、上記の方法では、ロボットの位置を認識するにおいて、ロボットの正確な位置を認識できずに、どのノードがロボットの近くにあるかを推定するので、使用者がロボットの正確な位置を認識しにくいという問題点があった。
【特許文献１】日本公開特許平１０―１６０４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した問題点を解決するためのもので、その目的は、ロボットに装着された全方位カメラの全方位映像と地図上の基準ノードで得られた映像との間の相関係数抽出を容易に高速で処理することで、起点として用いられた基準ノードに基づいてロボットの位置を容易かつ迅速に認識できるロボットの位置決定方法を提供することにある。
【０００８】
本発明の他の目的は、ロボットに装着された全方位カメラの全方位映像と地図上の基準ノードの映像との間の相関係数に基づいた粒子フィルターリングの確率的接近を用いて、測定データを位置誤差及びノイズに対して鈍感にし、ロボットの位置を正確に認識できるとともに、ロボットが突然移動するか、他の位置に移動する状況にも迅速に対応できるロボットの位置決定方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明に係る全方位映像を用いたロボットの位置決定方法は、ロボットから全方位映像を獲得する段階と、前記獲得された全方位映像から所定の水平面線を抽出する段階と、前記抽出されたロボットの水平面線と予め保存された複数ノードの水平面線との間の相関係数を、高速フーリエ変換（ＦＦＴ）を用いて算出する段階と、前記算出された相関係数が所定の値以上であるノードを選択する段階と、前記選択されたノードに基づいて前記ロボットの位置を認識する段階と、を含むことを特徴とする。
【００１０】
また、本発明に係る全方位映像を用いたロボットの位置決定方法は、ロボットから全方位映像を獲得する段階と、前記獲得された全方位映像から所定の水平面線を抽出する段階と、前記抽出されたロボットの水平面線と予め保存された複数ノードの水平面線との間の相関係数を、ＦＦＴを用いて算出する段階と、前記算出された相関係数に基づいて粒子フィルターリング処理の確率的接近方法を行い、前記ロボットの位置を認識する段階とを含むことを特徴とする。
【００１１】
また、本発明に係る全方位カメラが装着されたロボットを位置させる方法は、ロボットが位置可能な領域内に所定数のノードのための水平面線の数を設定する段階と、前記ロボットから全方位映像を獲得する段階と、前記獲得した映像から現在の水平面線を抽出する段階と、前記現在の水平面線と各ノードのための水平面線との間の相関係数を算出する段階と、前記算出された相関係数に基づいて前記ロボットの位置を決定する段階とを含むことを特徴とする。
【００１２】
前記相関係数の算出段階は、ＦＦＴ方法を用いることを特徴とする。
前記位置決定段階は、前記算出された相関係数が所定の値以上である第１数のノードを選択する段階と、変形された各水平面線の空間物体が、第１数のノードのための各水平面線の空間物体と同一位置に位置するように、前記水平面線を複数の変形された水平面線に変形させる段階と、前記変形された水平面線と前記ノードの第１数の水平面線との間の第２の相関係数を算出する段階と、前記算出された第２の相関係数が第２の所定の値以上である第１数のノードのうち第２数のノードを選択する段階と、前記選択された第２数のノードに基づいて前記ロボットの位置を認識する段階とを含むことを特徴とする。
【００１３】
前記水平面線の変形段階は、現在の水平面線のエッジ及び第１数のノードの各水平面線のエッジを抽出する段階と、前記現在の水平面線のエッジと前記第１数のノードの各水平面線のエッジとをマッチングする段階とを含むことを特徴とする。
【００１４】
前記所定の値と前記第２の所定の値は、同一であることを特徴とする。
前記エッジは、前記水平面線の各ＲＧＢが少なくとも第３の所定の値によって変化する終点であることを特徴とする。
【００１５】
本発明に係るロボットの位置決定装置は、ロボット本体と、全方位映像を獲得するために、前記ロボット本体に装着された全方位カメラと、前記獲得した全方位映像から所定の水平面線を抽出し、ＦＦＴを用いて、前記抽出されたロボットの水平面線とロボットが位置可能な領域の予め保存されたノードの各水平面線との相関係数を算出し、前記算出された相関係数が所定の値以上であるノードを選択し、前記選択されたノードに基づいて前記ロボットの位置を認識する制御部とを含むことを特徴とする。
【００１６】
前記制御部は、前記ロボット本体から離隔して装着され、前記ロボット本体及び前記全方位カメラのうち少なくとも一つと連通することを特徴とする。
【発明の効果】
【００１７】
本発明は、全方位カメラ周辺の３６０°の映像を獲得し、獲得された３６０°の映像の水平面線と予め保存された地図上の各ノードの水平面線との間の相関係数をＦＦＴスキームを用いて迅速に計算でき、どのノードがロボットの近くにあるかを一層迅速に認識できるという効果を有する。
【００１８】
また、本発明は、ＦＦＴスキームによって計算された相関係数に基づいて粒子フィルターリング処理を行うことができ、ロボットの位置を迅速かつ正確に認識でき、ロボットのキッドナップ（Ｋｉｄｎａｐ）問題を解決でき、どのノードがロボットの近くにあるかを示すデータの信頼性を向上できるという効果を有する。
【００１９】
また、ＦＦＴスキームによって計算された相関係数のうち相関係数の高いノードに対して、本発明は、選択されたノードの水平面線に基づいて全方位映像の水平面線を変形することができ、結果としての相関係数がノイズに鈍感になり、高い正確性を示すという効果を有する。
【００２０】
また、本発明は、前記ロボット位置決定のために用いられる全方位カメラが低廉な価格で製造されるので、移動ロボットを位置させるシステムも低廉な価格で具現される。その結果、本発明に係る移動ロボットを位置させるシステムの価格競争力が、高価のレーザーレンジセンサシステムに比べて高いという効果を有する。
【００２１】
また、本発明は、ロボットにマークを付着する必要なしに、室内を移動可能なロボットの実時間位置を推定でき、結果としてのデータが相関係数の誤差に鈍感であるという効果を有する。
【００２２】
また、本発明は、ロボットの位置を認識するための特定の計算を高速で行うことができ、製作された地図の大きさを減少できるという効果を有する。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好適な実施例を、添付の図面に基づいて詳細に説明する。
【００２４】
図１及び図２に示すように、全方位カメラを搭載した移動ロボット１０は、全方位カメラ１１及びロボット本体１２を含む。全方位カメラ１１は、全方位レンズ１１ａ及びＣＣＤ素子１１ｂを含む。
【００２５】
図２に示すように、全方位カメラ１１の前面部に曲面鏡が装着されることで、全方位カメラ１１周辺の３６０°の映像が獲得される。矢方向で示すように、空間上の点Ｘｍｉｒが、曲面鏡上に位置した特定の点ｘｍｉｒで反射されてＣＣＤ素子１１ｂに結像され、結果として、最終映像上の点ｘｉｍｇが表れる。このようにして、全方位カメラ１１周辺の３６０°の映像が得られる。
【００２６】
本発明は、相関係数抽出法及び粒子フィルターリング方法を、上述した全方位カメラから獲得した全方位映像及び映像地図上の水平面線に適用することで、移動ロボット１０の位置を正確に推定及び／または認識することができる。この場合、相関係数抽出法は、高速フーリエ変換（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ；ＦＦＴ）スキームによって計算され、粒子フィルターリング方法は、相関係数抽出法によって抽出された相関係数を適用する。さらに、この場合、水平面線は、全方位映像の表面と平行な特定の線の映像として、常に同じ方向を示している。
【００２７】
図３に示すように、上述した動作を用いた移動ロボット１０の位置決定システムは、全方位カメラ１１及び前記移動ロボット１０の全般的な制御動作を行う制御部５０を含む。この制御部５０は、ロボット本体１２上に位置し、互いに電気的に連結された全方位カメラ１１、映像処理部２０、ＦＦＴモジュール３０及び保存部４０を含む。また、全方位カメラ１１はロボット本体１２上に装着され、制御部５０は、移動ロボット１０と連通するためにロボット本体１２から離れて配置され、映像処理部２０、ＦＦＴモジュール３０及び保存部４０を含むこともできる。
【００２８】
映像処理部２０は、全方位カメラ周辺の全方位映像に対する前処理を行うもので、例えば、映像処理部２０は、全方位映像から無意味な部分を切り取り、残りのドナーツ状の映像にヒストグラム平滑化処理を行う方式で全方位映像の前処理を行う（図４を参照）。その結果、全方位映像は、明るさとは関係なしに照明に鈍感になる。
【００２９】
制御部５０は、図５の映像内に円周で表示したように、映像処理部２０から受けた前処理映像から、映像に含まれた水平面に対応する水平面線を抽出する。この場合、ＦＦＴの特性上、水平面線の解像度（ＲＧＢ）は２の二乗であり、水平面線は、全方位映像の原点に基づいて所定の位置に予め設定される。
【００３０】
ＦＦＴモジュール３０は、フーリエ変換スキームに基づいた数学的演算を用いて一連の時間サンプルを選択し、選択された時間サンプルの周波数要素を測定し、多様な周波数を用いて時間サンプル連続列にどれだけ多くのエネルギーが表れるのかを計算する。この場合、フーリエ変換スキームは、周波数領域と時間領域との間に含まれた数値的連続列の表現を変換する。上記のフーリエ変換スキームが高速で行われると、高速フーリエ変換スキームが行われる。フーリエ変換スキームが特定の長さを有するＲＧＢ連続列を計算する場合も、水平面線のＲＧＢは、ＦＦＴの利点を最大化するために２の二乗に設定される。保存部４０は、映像地図に含まれた各基準ノードから各水平面線を予め抽出する。
【００３１】
制御部５０は、ＦＦＴモジュール３０を用いてロボット１０の全方向映像の水平面線と各基準ノードの水平面線との間の相関係数を算出することで、結果としてのデータは、ノイズに鈍感になりながら高速処理が可能になる。ＦＦＴスキームを用いる場合、ロボット１０の各相関係数と回転角が同時に自動的に処理されることで、各回転角ごとに二つの映像間の相関係数を計算する必要なしに、高速計算が可能になる。その結果、制御部５０は、ロボット１０の位置を実時間で認識することができる。
【００３２】
制御部５０は、下記の式（１）を用いて、ロボット１０の現在の全方位映像の水平面線と保存部４０に予め保存された各基準ノードの水平面線との間の相関係数を算出する。
【００３３】
【数３】
2008083045.tif 000003
（ここで、ρ（τ）は、相関係数を示し、τは、ロボット１０の回転角を示し、Ｃｘｙは、クロス相関値を示し、Ｃｘｘ及びＣｙｙは、相関値を示す。）
上記の式（１）に示すように、相関係数の絶対値が特定の値“１”に近いほど、二つの全方位映像間の類似度が高くなる。さらに、Ｃｘｙは、ＦＦＴスキームによって計算される。
【００３４】
前記制御部５０は、式（１）を用いてロボット１０の現在の全方向映像の水平面線と保存部４０に予め保存された各基準ノードの水平面線との間の相関係数を算出し、算出された相関係数を用いてロボット１０が各基準ノードのうちどのノードに近いかを正確に認識する。例えば、ロボット１０は、いくつかの相関係数のうち最も高い相関係数を有する基準ノードの近くに位置すると予想されることで、ロボット１０の位置を認識できるようになる。
【００３５】
しかしながら、上記の動作を用いた場合、ロボット１０の認識された位置は、位置誤差及びノイズなどのエラー要因発生によって正確でないので、移動ロボット１０の位置を一層正確に認識するためには、エラー要因を解決するための特定の処理が行われるべきである。
【００３６】
このために、前記制御部５０は、式（１）によって算出された幾つかの相関係数のうち高い相関関係を有する数（Ｍ個）のノードを選択し、Ｍ個のノードの水平面線に基づいて現在の水平面線を変形させることで、ノイズに鈍感な特定の相関係数を求め、各ノードの相関係数を用いた粒子フィルターリング処理を行ってロボット１０の現在位置を認識する。
【００３７】
一層詳細に説明すると、図６に示すように、制御部５０は、前記全方位カメラによって獲得したロボット１０の全方位映像から水平面線を抽出し、抽出されたロボット１０の水平面線と映像地図上の各基準ノードの水平面線との間の相関係数を、ＦＦＴスキームを用いて計算し、ロボット１０の駆動命令及びロボット１０の現在位置による粒子フィルターリング技法を行い、ロボット１０の現在位置を正確に認識することができる。この場合、水平面線は、長さ方向にいくつかのＲＧＢ値を有する。
【００３８】
図７は、本発明の実施例に係るロボット１０を位置させる方法を示したフローチャートである。図３及び図７に示すように、制御部５０は、移動ロボット１０に装着された全方位カメラ１１から全方位映像を獲得し（段階Ｓ１００）、獲得した全方位映像の前処理を行う（段階Ｓ１１０）。
【００３９】
全方位映像の前処理を行った後、制御部５０は、全方位映像から水平面線を抽出し（段階Ｓ１２０）、ＦＦＴスキームに基づいて、式（１）を用いて抽出された水平面線と各基準ノードの水平面線との間の相関係数（第１の相関係数）を算出する（段階Ｓ１３０）。
【００４０】
第１の相関係数を算出した後、制御部５０は、所定の相関係数より高い相関係数を有する数（Ｍ個）のノードを選択し（段階Ｓ１４０）、Ｍ個の候補ノードに対して、同一の空間物体が水平面線の同一位置に位置するように現在の水平面線を変形させる（段階Ｓ１５０）。その結果、結果としてのデータは、位置誤差及びノイズに鈍感になる。図８の円で示すように、制御部５０は、全方位映像の水平面線２００とＭ個の候補ノードの水平面線１００との間のエッジを抽出する。この場合、エッジは、水平面線の各ＲＧＢが所定の値以上に変化する終点を示す。図９に示すように、抽出された全方位映像の水平面線２００のエッチは、選択された候補ノードの水平面線１００のエッジとマッチングされる。その後、図１０に示すように、マッチングされたエッジに基づいて現在の水平面線を変形させ、全方位映像の現在の水平面線は、変形された現在の水平面線３００のように変形される。すなわち、変形された現在の水平面線３００によって、同一の空間物体が水平面線の同一位置に位置するようになる。
【００４１】
全方位映像の現在の水平面線を変形させた後、制御部５０は、変形された全方位映像の現在の水平面線とＭ個の候補ノードの水平面線との間の相関係数（第２の相関係数）を再び算出し（段階Ｓ１６０）、変形された全方位映像の現在の水平面線とＭ個の候補ノードの水平面線との間の相関係数（第２の相関係数）が高い数（Ｎ個）（Ｎ＜Ｍ）のノードを選択する（段階Ｓ１７０）。その後、移動物体によって発生する位置誤差及びノイズが除去されることで、制御部５０は、ロボット１０がＮ個のノード付近に位置することを正確かつ確実に認識することができる。
【００４２】
しかしながら、上記の方法を用いた場合、制御部５０は、ロボット１０がどのノードの近くにあるのかを示す特定の情報のみを認識することができ、地図上のロボットの位置を正確に認識することができない。粒子フィルターリング処理の確率的接近を用いてロボット１０の現在位置を正確に認識するために、制御部５０は、選択されたＮ個のノードに基づいた相関係数（第２の相関係数）を用いて粒子を生成し、ロボット１０が位置可能な地図上の全ての領域にランダムに粒子を分散し（段階１８０）、各粒子の確率値を計算することで、ロボット１０の現在位置を推定する（段階１９０）。すなわち、推定されたロボット１０の前位置Ｘｔ―１及びロボット１０の駆動命令Ｕｔによって予想されるロボット１０の位置可能な全ての領域に、粒子を均一に分散する。粒子の分布は、図１１に示すように、ガウス分布の形態で構成される。ガウス分布の標準偏差は、前位置Ｘｔ―１の誤差及び移動誤差によって決定される。そして、使用者がロボット１０を他の位置に強制的に移動させることで、ロボット１０の位置が他の位置に突然変わるとき、キッドナップ（Ｋｉｄｎａｐ）問題が発生する。この問題に対応するために、粒子が地図上の全ての領域にランダムに分散される。
【００４３】
各粒子にロボット１０が位置する確率は、各ノードの間の相関係数に基づいて計算される。現在位置（Ｘｔ）は、計算された確率値に基づいて再びサンプリングされる。このようにして、制御部５０は、図１２に示すように、ロボット１０の現在位置を推定することができる。すなわち、ノードの相関係数が高いほど、そのノードにロボット１０が位置する確率が高い。そのため、加重値が各粒子に割り当てられ、加重値が考慮された結果値に基づいて、分散された粒子がランダムに抽出される。このような過程が繰り返されるが、２回目に粒子を分散する場合、既存の位置にほとんどの粒子が分散され、既存の領域以外の全ての領域には、少量の粒子が分散される。このような過程を繰り返すことで、図１２に示すように、粒子が一点に集まる。集まった粒子から何れかの粒子を抽出する場合も、抽出された粒子の位置がほぼ同一であり、ロボット１０の現在位置が認識される。
【００４４】
本発明の多様な実施例は、コンピュータ可読記録媒体上のコンピュータ可読コードとして実現される。コンピュータ可読記録媒体は、コンピュータシステムによって読まれるデータを保存可能なデータ保存装置を含む。コンピュータ可読記録媒体の例は、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＣＤ―ＲＯＭｓ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置及び搬送波（インターネットを通したデータ伝送）を含むが、これらに限定されることはない。さらに、コンピュータ可読記録媒体は、ネットワーク結合されたコンピュータシステムを通して分散されるので、コンピュータ可読コードが分散方法で保存または実行される。さらに、本発明の多様な実施例は、ハードウェアまたはハードウェアとソフトウェアとの結合で実現される。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施例に係る全方位カメラを搭載した移動ロボットを示した図である。
【図２】図１の全方位カメラを示した概念図である。
【図３】本発明の一実施例に係るロボットを位置させる方法を示したブロック図である。
【図４】図１の全方位カメラを用いて獲得した全方位映像を示した図である。
【図５】図４の全方位映像の水平面線を示した図である。
【図６】本発明の一実施例に係るロボットの位置決定システムを示した図である。
【図７】本発明の一実施例に係るロボットを位置させる方法を示したフローチャートである。
【図８】図５の全方位映像の水平面線と基準ノードの水平面線との間のエッジ抽出方法を示した図である。
【図９】図５の全方位映像の水平面線と基準ノードの水平面線との間のエッジマッチング方法を示した図である。
【図１０】図５の全方位映像における水平面線の変形を示した図である。
【図１１】ロボットが位置可能な全ての領域に対する特定粒子のランダムな散布を示した図である。
【図１２】本発明の一実施例に係る粒子フィルターリング方法によって、特定の点に集まった図１１の散布された粒子を示した図である。
【符号の説明】
【００４６】
１０      ロボット
１１      全方位カメラ
２０      映像処理部
３０      ＦＦＴモジュール
４０      保存部
５０      制御部
【図１】
2008083045.tif 000006
【図２】
2008083045.tif 000007
【図３】
2008083045.tif 000008
【図４】
2008083045.tif 000009
【図５】
2008083045.tif 000010
【図６】
2008083045.tif 000011
【図７】
2008083045.tif 000012
【図８】
2008083045.tif 000013
【図９】
2008083045.tif 000014
【図１０】
2008083045.tif 000015
【図１１】
2008083045.tif 000016
【図１２】
2008083045.tif 000017