(57)【特許請求の範囲】
【請求項１】
出発地から目的地まで移動体が移動する移動経路に沿って生じている磁気を予め計測して得られた教示データを記憶するデータ登録ステップ（ａ）と、
前記移動経路に沿って生じている磁気を計測して得られる実測データと前記教示データとを比較して前記教示データに対する前記実測データの偏差を求めるとともに、前記偏差を解消するように前記移動体の移動を制御しながら前記移動経路に倣って前記移動体を自律移動させる移動ステップ（ｂ）と、を備え、
前記データ登録ステップ（ａ）は、
互いに相反する向きの第１教示データと第２教示データを計測して記憶し、
前記移動ステップ（ｂ）は、
互いに相反する向きの第１実測データと第２実測データを計測するとともに、
前記第１実測データと前記第１教示データとを比較することで第１偏差を求めるとともに、前記第１偏差を解消するように前記移動体の移動を制御する第１制御ステップと、
次いで、前記第２実測データと前記第２教示データとを比較することで第２偏差を求めるとともに、前記第２偏差を解消するように前記移動体の移動を制御する第２制御ステップと、を含み、
前記第１制御ステップと前記第２制御ステップとを交互に切り替える、
ことを特徴とする移動体の自律移動方法。
【請求項２】
前記データ登録ステップ（ａ）において、
所定の間隔Ｌ毎に計測される前記第１教示データと前記第２教示データを記憶し、
前記移動ステップ（ｂ）において、
前記移動体が前記間隔Ｌを移動する間に、前記第１制御ステップと前記第２制御ステップとを少なくとも一度は切り替える、
請求項１に記載の自律移動方法。
【請求項３】
出発地から目的地まで移動体が移動する移動経路に沿って生じている磁気を予め計測して得られた教示データを記憶するデータ登録ステップ（ａ）と、
前記移動経路に沿って生じている磁気を計測して得られる実測データと前記教示データとを比較して前記教示データに対する前記実測データの偏差を求めるとともに、前記偏差を解消するように前記移動体の移動を制御しながら前記移動経路に倣って前記移動体を自律移動させる移動ステップ（ｂ）と、を備え、
前記データ登録ステップ（ａ）は、
互いに相反する向きの第１教示データと第２教示データを計測して記憶し、
前記移動ステップ（ｂ）は、
互いに相反する向きの第１実測データと第２実測データを計測するとともに、前記第１実測データと前記第２実測データの平均値である平均実測データを求め、
前記平均実測データと、前記第１教示データと前記第２教示データの平均値である平均教示データとの偏差を解消するように前記移動体の移動を制御する、
ことを特徴とする移動体の自律移動方法。
【請求項４】
出発地から目的地まで移動体が移動する移動経路に沿って生じている磁気を予め計測して得られた教示データを記憶し、前記移動経路に沿って生じている磁気を計測して得られる実測データと前記教示データとを比較して前記教示データに対する前記実測データの偏差を求めるとともに、前記偏差を解消するように前記移動体の移動を制御しながら前記移動経路に倣って自律移動する自律移動体であって、
前記教示データとして、互いに相反する向きの第１教示データと第２教示データを計測するセンサ部と、
前記センサで計測された第１教示データと第２教示データを記憶する記憶部と、
前記センサ部が前記実測データとして、互いに相反する向きの第１実測データと第２実測データを計測すると、
前記第１実測データと前記第１教示データとを比較することで第１偏差を求めるとともに、前記第１偏差を解消するように前記移動体の移動を制御する第１制御ステップと、
次いで、前記第２実測データと前記第２教示データとを比較することで第２偏差を求めるとともに、前記第２偏差を解消するように前記移動体の移動を制御する第２制御ステップと、を交互に切り替えて前記移動体を制御する制御部と、
を備えることを特徴とする自律移動体。
【請求項５】
前記記憶部は、
所定の間隔Ｌ毎に計測される前記第１教示データと前記第２教示データを記憶し、
前記制御部は、
前記移動体が前記間隔Ｌを移動する間に、前記第１制御ステップと前記第２制御ステップとを少なくとも一度は切り替える、
請求項４に記載の自律移動体。
【請求項６】
出発地から目的地まで移動体が移動する移動経路に沿って生じている磁気を予め計測して得られた教示データを記憶し、前記移動経路に沿って生じている磁気を計測して得られる実測データと前記教示データとを比較して前記教示データに対する前記実測データの偏差を求めるとともに、前記偏差を解消するように前記移動体の移動を制御しながら前記移動経路に倣って自律移動する自律移動体であって、
前記教示データとして、互いに相反する向きの第１教示データと第２教示データを計測するセンサ部と、
前記センサで計測された第１教示データと第２教示データを記憶する記憶部と、
前記センサ部が前記実測データとして、互いに相反する向きの第１実測データと第２実測データを計測すると、前記第１実測データと前記第２実測データの平均値である平均実測データを求め、かつ、
前記平均実測データと、前記第１教示データと前記第２教示データの平均値である平均教示データとの偏差を解消するように前記移動体の移動を制御する制御部と、
を備えることを特徴とする自律移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気を目印にしてロボット等を自律移動させる方法に関する。
【背景技術】
【０００２】
近年、様々な場面において、多種多様なロボットが活動している。中でも移動中に自己位置を認識しながら、自律移動するロボットは、工場内やオフィス内、病院内などでの人間の手助けになるものとして期待され、その研究が盛んに行われている。
自律移動させるための誘導方式の一つとして磁気を目印とするものが知られている。これは、典型的には、移動経路上に例えば磁気テープからなる磁気マーカを設置し、ロボットに磁気マーカから発せられる磁気を検出する磁気センサを設け、磁気センサにより磁気マーカを検出することにより、自己位置を認識するものである（たとえば、特許文献１、特許文献２）。
しかし、磁気マーカを設置する方法は、事前に環境の磁場分布を求め、磁気的なノイズの少ないところに磁気マーカを設置しなければならない。したがって、磁気マーカを設置する作業にかかる負担が大きい。また、磁気マーカは、一般に床に設置されるが、床面上に磁気マーカを設置することが美観上好ましくない場合がある。
【０００３】
建屋を構成する鉄骨や鉄筋、建屋内に設置される装置、家具、電器製品等の構成要素である鉄部材などの強磁性体は製造及び施工の過程で不可避的に着磁され残留磁気を帯びている。この残留磁気は、時間の経過に対して強さがほとんど変動しない（非特許文献１）。そこで本発明者等は、磁気を自己位置認識の目印として利用することを前提とするが、磁気マーカを設置するのではなく、以上のように屋内外の環境に依存して生じている磁気（環境磁場）を予め教示データとして登録しておき、この教示データと移動時に計測される実測データとを比較することで自己位置を認識して自律移動する手法を先に提案している（特許文献３）。この環境磁気は、地磁気をも含んでいる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７３１７１号公報
【特許文献２】特開２００７−２１９９６０号公報
【特許文献３】特開２００９−２８９１４５号公報
【非特許文献】
【０００５】
【非特許文献１】新納敏文，「環境磁場計測方法の事例調査（その３）」日本建築学会大会学術講演梗概集，１９９６．９.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、環境磁場を利用する自律移動を屋外で行うと、しばしばロボットが自己位置を誤って認識してしまい、設定された移動経路からずれることを本発明者等は経験した。
そこで本発明は、環境磁場を利用する自律移動を屋外で行う場合でも、ロボットが自己位置を誤って認識するのを防ぐことのできる自律移動方法及び自律移動体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
環境磁場を利用する自律移動方法において、ロボットが自己位置を誤認識する要因として、予め登録されている教示データと移動時に計測される実測データとの間に大きな偏差があることが掲げられる。教示データを計測・登録した後に、強い時期を帯びた物体（帯磁物）が後発的に当該移動経路の近傍に置かれ、その状態で実測データを計測すると、教示データと実測データの間には大きな差が生じる。取り除くことのできる帯磁物であれば、それを取り除けばよい。ところが、帯磁物を外観上は認識することができないにもかかわらず、ロボットが自己位置を誤認識することを本発明者等は経験した。したがって、このような場合であってもロボットが自己位置を認識できることが、環境磁場を目印とする自律走行にとって重要である。
【０００８】
環境磁場には、経時的に安定して生じているもの（以下、安定な磁気要素）と、環境の変化に伴って生じるもの（不安定な磁気要素）とから構成されている。安定な磁気要素は、比較的大きな構造物に由来して生じているものである。これに対して、不安定な磁気要素は、例えば、地中に埋設されている比較的小さな部材（鉄などの磁性体からなる）に基づいて生じるもの、あるいは時間周期的に磁気が変動するものに基づいているものと本発明者は理解している。すなわち、気温が変動する場合を考えると、大きな構造物はそれ自体の温度が変動しにくいため、当該構造物から生じる磁場は変動し難い。つまり、大きな構造物から生ずるのは安定した磁気要素である。これに対して、小さな部材は、気温に応じて温度が変動しやすいため、当該部材から生じる磁場は変動しやすい。この変動に伴い不安定な磁気要素が生じる。不安定な磁気要素は、気温の変動以外にも、例えば自動車が該当する。走行してきた自動車がロボットの移動経路の近傍に駐車した場合には、この自動車は不安定な磁気要素を生じさせる。
【０００９】
不安定な磁気要素の影響を自律移動中に取り除くことを趣旨とする本発明の自律移動方法は、出発地から目的地まで移動体が移動する移動経路に沿って生じている磁気を予め計測して得られた教示データを記憶するデータ登録ステップ（ａ）と、移動経路に沿って生じている磁気を計測して得られる実測データと教示データとを比較して教示データに対する実測データの偏差を求めるとともに、この偏差を解消するように移動体の移動を制御しながら移動経路に倣って移動体を自律移動させる移動ステップ（ｂ）と、を備えることを前提としている。
加えて、移動ステップ（ｂ）において、互いに相反する向きの第１実測データと第２実測データを計測するとともに、第１実測データに含まれる不安定な磁気要素及び第２実測データに含まれる不安定な磁気要素を相殺する処理を行うことを前提とする。
【００１０】
不安定な磁気要素を相殺するために本発明の第１の形態による自律移動方法は、はじめに、データ登録ステップ（ａ）において、互いに相反する向きの第１教示データと第２教示データを計測して記憶しておく。
次に、移動ステップ（ｂ）においては、互いに相反する向きの第１実測データと第２実測データを計測する。そして、このステップは、第１制御ステップと第２制御ステップとを交互に切り替える。第１制御ステップは、第１実測データと第１教示データとを比較することで第１偏差を求め、この第１偏差を解消するように移動体の移動を制御するものである。また、第２制御ステップは、第２実測データと第２教示データとを比較することで第２偏差を求め、この第２偏差を解消するように移動体の移動を制御するものである。
本発明は、第１制御ステップと第２制御ステップとを交互に切り替えることで、第１実測データに含まれる不安定な磁気要素及び第２実測データに含まれる不安定な磁気要素を相殺することができる。
本発明の自律移動方法において、データ登録ステップ（ａ）において、所定の間隔Ｌ毎に計測される教示データを記憶し、移動ステップ（ｂ）において、教示データの間隔Ｌを移動する間に、第１制御ステップと第２制御ステップとを少なくとも一度は切り替えることが好ましい。詳しくは後述するが、そうすることで、ロボットが蛇行するのを抑制することができる。
【００１１】
本発明の第２の形態による自律移動方法は、また、以下の手段を採用することができる。すなわち、互いに相反する向きの第１実測データと第２実測データを計測するとともに、第１実測データと第２実測データの平均値である平均実測データを求める。次に、平均実測データと、第１教示データと第２教示データの平均値である平均教示データとの偏差を解消するように移動体の移動を制御する。このように、平均化する演算によっても不安定な磁気要素を相殺できる。
【００１２】
本発明は、第１の形態による移動体の制御方法を実行する移動体を提供する。この自律移動体は、センサ部と、記憶部と、制御部を備える。
センサ部は、教示データとして、互いに相反する向きの第１教示データと第２教示データを計測する。
記憶部は、計測された第１教示データと第２教示データを記憶する。
制御部は、センサ部が実測データとして、互いに相反する向きの第１実測データと第２実測データを計測すると、第１実測データと第１教示データとを比較することで第１偏差を求めるとともに、第１偏差を解消するように移動体の移動を制御する第１制御ステップを実行する。制御部は、次いで、第２実測データと第２教示データとを比較することで第２偏差を求めるとともに、第２偏差を解消するように移動体の移動を制御する第２制御ステップを実行する。制御部は、第１ステップと第２ステップとを交互に切り替えながら移動体を制御する。
この自律移動体においても、教示データの間隔Ｌを移動する間に、第１制御ステップと第２制御ステップとを少なくとも一度は切り替えることが好ましい。
また、本発明は第２の形態による移動体の制御方法を実行する移動体を提供する。この移動体の制御部は、センサ部が互いに相反する向きの第１実測データと第２実測データを計測すると、第１実測データと第２実測データの平均値である平均実測データを求める。次に、制御部は、平均実測データと、第１教示データと第２教示データの平均値である平均教示データとの偏差を解消するように移動体の移動を制御する。
【発明の効果】
【００１３】
本発明によれば、互いに相反する向きの第１実測データと第２実測データを計測するとともに、第１実測データに含まれる不安定な磁気要素及び第２実測データに含まれる不安定な磁気要素を相殺するので、移動体が自律移動する際に不安定な磁気が生じていても、自己位置を誤って認識するのを防ぐことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態におけるロボット（移動体）の概略構成を示すブロック図であり、（ａ）が平面図、（ｂ）が側面図である。
【図２】本実施の形態におけるロボットの制御部の構成を示すブロック図である。
【図３】本実施の形態におけるロボットの第１センサ及び第２センサの配置を示す図である。
【図４】本実施の形態において、ロボットの方向を制御する方法を示す図である。
【図５】本実施の形態において、ロボットの方向を制御する構成を示す図である。
【図６】本実施の形態におけるロボットが不安定な磁気要素を相殺する作用を説明する図である。
【図７】本実施の形態におけるロボットが、教示データの登録から軌道修正にかけて行う処理手順を示すフローチャートである。
【図８】本実施の形態のロボットの移動経路の例を示す図である。
【図９】スイッチングにより実際に自律移動させたロボットにおける教示データの具体例を示している。
【図１０】各パターン（α）〜（β）において計測された実測磁気データ（ｘ軸のみ）を示している。
【図１１】第１センサ２０１による軌道修正（パターン（α））を行った場合の、教示データ上の移動軌跡と自律移動の際の移動軌跡を示すグラフである。
【図１２】第２センサ２０２による軌道修正（パターン（β））を行った場合の、教示データ上の移動軌跡と自律移動の際の移動軌跡を示すグラフである。
【図１３】第１センサ２０１と第２センサ２０２による軌道修正（パターン（γ））を行った場合の、教示データ上の移動軌跡と自律移動の際の移動軌跡を示すグラフである。
【図１４】平均化の手法により実際に自律移動させたロボットにおける教示データの具体例を示している。
【図１５】平均化の手法により実際に自律移動させたロボットにおける実測データの具体例を示している。
【図１６】平均化の手法により軌道修正を行った場合の、教示データ上の移動軌跡と自律移動の際の移動軌跡を示すグラフである。
【発明を実施するための形態】
【００１５】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
本実施の形態は、図１、図２に示されるロボット（移動体）１が、任意に設定される移動経路を自律移動するものに関する。
本実施の形態にかかる車輪型のロボット（移動体）１は、図１に示すように、箱状の本体２の前後方向中央下部に左右一対の駆動輪３，４を備えると共に、本体２のほぼ四隅下部に夫々補助輪５を備えている。
本体２の前方には磁気・方位センサ部（磁気センサ）２０が設けられている。磁気・方位センサ部２０は、本体２の内部に設置された制御部５０と電気的に接続されている。なお、これらセンサ類は本体２の内部に設けた例を示しているが、本体２とともに移動できるのであれば、本体２の外部に設けることもできる。
【００１６】
［磁気・方位センサ部２０］
磁気・方位センサ部２０は、第１の磁気・方位センサ２０１（以下、第１センサ２０１）と第２の磁気・方位センサ２０２（以下、第２センサ２０２）を近接して配置してモジュール化されたユニットを構成している。第１センサ２０１及び第２センサ２０２は、各々、互いに直交する３軸（ｘ軸、ｙ軸、ｚ軸）に沿った直流磁気（以下、単に磁気）を計測する。ここで、第１センサ２０１及び第２センサ２０２は、ともに、ｘ軸がロボット１の進行方向に沿うように、ｙ軸が移動面に平行でｘ軸に直交するように、また、ｚ軸が鉛直方向に平行でｘ軸に直交するように、本体２内に接触して配置される。ただし、第１センサ２０１及び第２センサ２０２は、図３に示されるように、ｘ（ｘ１，ｘ２）軸同士の向き、及び、ｙ（ｙ１，ｙ２）軸同士の向きが１８０°相違するように配置されている。つまり、第１センサ２０１及び第２センサ２０２は、ｘ軸及びｙ軸に関して反転して配置されている。したがって、第１センサ２０１で計測されるｘ軸、ｙ軸及びｚ軸方向の磁気ｓｘ１、ｓｙ１及びｓｚ１と、第２センサ２０２で計測されるｘ軸、ｙ軸及びｚ軸方向の磁気ｓｘ２、ｓｙ２及びｓｚ２は、以下の関係を有しているものとみなせる。
｜ｓｘ１｜＝｜ｓｘ２｜，  ｜ｓｙ１｜＝｜ｓｙ２｜，  ｜ｓｚ１｜＝｜ｓｚ２｜
また、磁気センサは、各軸周りの方位を測定することもできる。たとえば、北方向に水平の状態をゼロ度としたときの各軸周りの姿勢角が測定されれば、第１センサ２０１及び第２センサ２０２は次の関係を有している。ただし、第１センサ２０１で計測されるｘ軸周りの方位、ｙ軸周りの方位及びｚ軸周りの方位を各々Ｓα１、Ｓβ１、Ｓγ１とし、第２センサ２０２で計測されるｘ軸周りの方位、ｙ軸周りの方位及びｚ軸周りの方位を各々Ｓα２、Ｓβ２、Ｓγ２とする。
Sα１＝Ｓα２＋１８０度、Ｓβ１＝Ｓβ２＋１８０度、Ｓγ１＝Ｓγ２＋１８０度
以上のように二つの磁気・方位センサを反転して配置し、ｘ軸、ｙ軸に関して互いに相反する向きの磁気、方位を計測するところに、ロボット（移動体）１の構成上の特徴がある。
なお、第１センサ２０１及び第２センサ２０２は、接触させることが望ましいが、同じ領域の磁場、方位を計測することができると認められる程度に接近していればよい。上述の近接とは、接触・非接触の両者を含む概念である。
【００１７】
第１センサ２０１及び第２センサ２０２は、後述する教示データを作成するために、自律移動を行わせる前に移動経路に沿って環境磁気を計測して登録する。この環境磁気を教示磁気データということにする。第１センサ２０１で計測された教示磁気データ（第１教示磁気データ）、第２センサ２０２で計測された教示磁気データ（第２教示磁気データ）は、各々、独立して登録される。
また、第１センサ２０１は先に記憶されている第１教示磁気データと比較される磁気（第１実測磁気データ）を、また、第２センサ２０２は先に記憶されている第２教示磁気データと比較される磁気（第２実測磁気データ）を、各々、自律移動時に計測する。
【００１８】
第１センサ２０１及び第２センサ２０２はまた、各々、後述する教示データ作成のために自律移動を行わせる前に移動経路に沿って方位を計測して登録する。この方位を教示方位データということにする。第１センサ２０１で計測された教示方位データ（第１教示方位データ）、第２センサ２０２で計測された教示方位データ（第２教示方位データ）は、各々、独立して登録される。
また、第１センサ２０１は先に記憶されている第１教示方位データと比較される方位（第１実測方位データ）を、また、第２センサ２０２は先に記憶されている第２教示方位データと比較される方位（第２実測方位データ）を、各々、自律移動時に計測する。
方位を計測するセンサとしては、電子コンパス（地磁気センサ）、ジャイロコンパス等公知のセンサを用いることができる。なお、第１センサ２０１及び第２センサ２０２は、磁気センサと方位センサとを一体で構成した例を示しているが、各々を別体として本体２に設けてもよいことは言うまでもない。また、磁気・方位センサ部２０は、第１センサ２０１と第２センサ２０２をモジュール化したユニットとしているが、各々を別体として第１センサ２０１と第２センサ２０２を設けることもできる。
【００１９】
［制御部５０］
次に、図２を参照して、制御部５０について説明する。
制御部５０は、走行制御部６０と、記憶部７０と、演算処理部８０を備え、ＣＰＵ、ＲＯＭ、ＲＡＭ等及び入出力回路等を備えたコンピュータから構成される。
［走行制御部６０］
各駆動輪３，４は、夫々駆動モータ６，７により図示しない減速機を介して回転駆動されるようになっている。また、駆動モータ６，７には、駆動輪３，４の回転速度（回転数）を検出するためのロータリエンコーダ８，９が夫々付設されている。さらに、これら駆動モータ６，７は、走行制御部６０により夫々独立して駆動制御されるようになっている。走行制御部６０は、駆動モータ６，７を異なる回転数で回転させることにより、ロボット１の向きを変えることができる。
【００２０】
［記憶部７０］
記憶部７０は、第１記憶部７１と、第２記憶部７２と、第３記憶部７３とを備えている。これら各記憶部は、ロボット１に対して着脱可能な公知のデータ記憶手段に格納できる。
第１記憶部７１には、自律移動に実際に使用される教示データが記憶される。
教示データは、教示磁気データを含む。教示磁気データは、第１教示磁気データと当該磁気が計測された位置とが対応付けられたデータ群と、第２教示磁気データと当該磁気が計測された位置とが対応付けられたデータ群とからなり、本実施の形態は第１センサ２０１及び第２センサ２０２で得られた２セットの教示磁気データを備える。ロボット１が自律走行する際に計測される実測磁気データとこの教示磁気データを比較し、両者の偏差が求められる。
【００２１】
また、教示データは、教示方位データを含む。教示方位データは、第１教示方位データと当該方位が計測された位置とが対応付けられたデータと、第２教示方位データと当該方位が計測された位置とが対応付けられたデータであり、本実施の形態は第１センサ２０１及び第２センサ２０２で得られた２セットの教示方位データを備える。ロボット１が自律走行する際に計測される実測方位データとこの教示方位データを比較して、両者の偏差が求められる。この方位は、例えば、水平の状態で北向きを０（ゼロ）ｄｅｇと定めるが、これに限るものではない。
一般的には、位置はマップとして表現することをねらって座標（ｘ,ｙ）で表現される。しかし、方位と移動距離を基準（θ,ｌの極座標表現）として位置を特定することで座標変換の際に生じる誤差を少なくできる。
【００２２】
教示データは、ロボット１の移動経路上を連続的に記憶されていることが好ましい。しかし、この方法は現在の技術レベルでは現実的ではない。ロボットの移動経路が長くなると、実測磁気データ及び実測方位データとの比較処理に相当の時間がかかってしまい、移動速度が著しく遅くなるからである。したがって、所定間隔毎、例えば０．０１ｍ毎に間欠的に教示データを記憶することが現実的である。なお、教示データの実例を図９に示す。
【００２３】
教示データは、ロボット１、もしくは磁気・方位センサ部２０を搭載する計測用台車によって、ロボット１が通る移動経路をロボット１への操作もしくは手押しによる誘導をしながら計測することができる。より具体的には、ロボット１が一定距離移動（例えば、０．０１ｍ）するごとに、３軸方向の磁気の強度及び方位を計測し、かつ記憶する。
ロボット１の移動距離は車輪（駆動輪３，４）の回転から計測する。ただし，車輪の滑りやタイヤの空気圧の違いにより、計測値がずれる場合がある。そのため、画像による床フローの推定で移動量を正確に求めることが望ましい。
【００２４】
［第２記憶部］
第２記憶部７２には、走行制御部６０、演算処理部８０が行う種々の制御に関するプログラムが記憶されている。
【００２５】
［第３記憶部］
第３記憶部７３には、いくつかのブロックに分けられた移動経路のルート毎に、進むべき向きと距離とが対応付けられた経路情報が記憶されている。例えば、図８を例にすると、経由地Ａから経由地Ｂまでのルートを移動する場合に、経由地Ａにおいてロボット１がφ１°だけ半時計回りに向きを変えるとともに、距離ＤＡ−Ｂだけ経由地Ｂに向けて前進するとすれば、経由地Ａと対応付けて（−φ１°，ＤＡ−Ｂ）が第３記憶部７３に記憶されている。
【００２６】
［演算処理部８０］
次に、演算処理部８０は、磁気・方位比較部８１と、センサ選択部８２と、移動距離演算部８４と、車両移動値演算部８５とを備えている。
磁気・方位比較部８１は、第１記憶部７１に記憶されている第１教示データ（第１教示磁気データ，第１教示方位データ）と、第１センサ２０１で計測される第１実測データ（第１実測磁気データ，第１実測方位データ）とを比較する。なお、比較は、磁気データ同士、方位データ同士で行われる。以下も同様である。
また、磁気・方位比較部８１は、第１記憶部７１に記憶されている第２教示データ（第２教示磁気データ，第２教示方位データ）と、第２センサ２０２で計測される第２実測データ（第２実測磁気データ，第２実測方位データ）とを比較する。
【００２７】
磁気・方位比較部８１による第１教示データと第１実測データの比較、および第２教示データと第２実測データの比較は、交互に行われる。この交互の比較は、センサ選択部８２により実行される。つまり、センサ選択部８２は、各ルートを自律移動する際にロボット１の向きの修正のために使用するセンサとして、第１センサ２０１及び第２センサ２０２のいずれか一方を交互に選択する。この選択について、より詳しくは後述する。また、第１センサ２０１及び第２センサ２０２のいずれか一方が交互に選択することを、以下、「スイッチング」ということがある。
【００２８】
ロボット１が各ルートを移動する際には、以下のようにしてロボット１の向きが制御される。
磁気・方位比較部８１は、第１記憶部７１に記憶されている教示データ（第１教示データ、第２教示データ）を読み込む。そして、第１センサ２０１で計測される第１実測データ（第１実測磁気データ、第１実測方位データ）と第１教示データ（第１教示磁気データ、第１教示方位データ）とを比較し、その偏差を求める。磁気に関する偏差（ΔＧｘ，ΔＧｙ，ΔＧｚ）、方位に関する偏差（Δθ）は、図４に示すように、正規のルートに対するロボット１の向きに偏差があるために生ずる。磁気・方位比較部８１は、磁気に関する偏差（ΔＧｘ，ΔＧｙ，ΔＧｚ）、方位に関する偏差（Δθ）を、車両移動値演算部８５に送る。
【００２９】
移動距離演算部８４は、ロータリエンコーダ８，９からそれぞれ入力されるパルスを別々にカウントし、カウントした値に１パルス当りの移動量を乗算してそれまでの移動距離を求める。ここでは２つの移動距離が求められるが、その平均値が移動距離Ｓとして車両移動値演算部８５へ出力される。
【００３０】
車両移動値演算部８５は、ロボット１の位置情報を求める。この位置情報は、前述したように、θ（方位）とｌ（距離）の極座標で表現される。
車両移動値演算部８５は、第３記憶部７３から経路情報を読み出す。この経路情報は、前述したように、向き情報と移動距離情報とが対応付けられている（例えば、（−φ１°，ＤＡ−Ｂ））。車両移動値演算部８５は、移動距離演算部８４から取得した移動距離Ｓと移動距離情報とからルートの終点に到達するまでの残移動距離を求める。この残移動距離は、走行制御部６０へ出力される。
【００３１】
車両移動値演算部８５は、図４に示すように、磁気・方位比較部８１から取得する磁気に関する偏差（ΔＧｘ，ΔＧｙ，ΔＧｚ）、方位に関する偏差（Δθ）がともに０（ゼロ）になり、偏差が解消されるように、ロボット１が向きを変える角度（回転角）を求める。この回転角は、走行制御部６０へ出力される。この向きの調整は、フィードバック制御により行うことができる。
図５は、この制御を実現する構成例を示すブロック図である。図５に示すように、この例では、教示データと実測データの比較を行い、教示データと実測データとの偏差がゼロになるようにＰＩＤ制御を適用している。ただし、ＰＩＤ制御に限らず、本発明は他の方法により教示データと実測データとの偏差がゼロになるように制御することができる。
【００３２】
車両移動値演算部８５は、また、ロボット１がルートの終点に到達すると、磁気・方位比較部８２から取得したルートに対する向き（角度θ）情報と経路情報の中の向き情報とから、経由地においてロボット１が向きを変える角度（回転角）を求める。この回転角は、走行制御部６０へ出力される。
【００３３】
［走行制御部６０］
走行制御部６０は、車両移動値演算部８５で求められた残移動距離に基づいて、ロボット１をルートに沿って次の経由地まで移動するように、駆動モータ６，７に駆動指令を出力する。また、走行制御部６０は、車両移動値演算部８５で求められた回転角に基づいて、経由地に到達すると、ロボット１の向きを次のルートに合うように変えるために、駆動モータ６，７に駆動指令を出力する。
【００３４】
［本実施形態の作用］
次に、本実施の形態の特徴部分について説明する。
ロボット１は、第１センサ２０１と第２センサ２０２を備える。
第１センサ２０１、第２センサ２０２による教示データは、下記式（１）、（２）で示すことができる。
第１センサ２０１による第１教示データ：ｓｄ１＝（ｆｄ１（Ｓｄ１）＋Ｔｄ１）  …  （１）
第２センサ２０２による第２教示データ：ｓｄ２＝（ｆｄ２（Ｓｄ２）＋Ｔｄ２）  …  （２）
Ｓｄ１，Ｓｄ２：安定な磁気要素
Ｔｄ１，Ｔｄ２：不安定な磁気要素
ただし、上記式（１）、（２）において、磁気強度の場合にはｆ（ｘ）＝｜Ｓ｜（絶対値）であり、方位の場合には、ｆｄ１（ｘ）＝Ｓ、ｆｄ２（ｘ）＝Ｓ＋１８０度（ｄ１、ｄ２は逆も可）である。このことは、以下の式（３）、（４）についても同様である。
また、不安定な磁気要素は、前述したように、自律移動を行う移動経路を含む環境の温度変化、あるいは帯磁物が後発的に移動経路近傍に置かれることにより生ずる。
【００３５】
また、第１センサ２０１、第２センサ２０２による実測データは、下記式（３）、（４）で示すことができる。
第１センサ２０１による第１実測データ：ｓｍ１＝（ｆｍ１（Ｓｍ１）＋Ｔｍ１）  …  （３）
第２センサ２０２による第２実測データ：ｓｍ２＝（ｆｍ２（Ｓｍ２）＋Ｔｍ２）  …  （４）
Ｓｍ１，Ｓｍ２：安定な磁気要素
Ｔｍ１（＝Ｔｄ１＋ＴΔ１），Ｔｍ２（＝Ｔｄ２＋ＴΔ２）：不安定な磁気要素
Ｔｄ１，Ｔｄ２：教示データにおける不安定な磁気要素
ＴΔ１，ＴΔ２：教示データと自律移動時との不安定な磁気要素の差
【００３６】
ロボット１は、教示データと実測データとを比較して両データの偏差が０になるように自律移動するものであることは前述の通りである。この比較を、下記に示すように、第１実測データと第１教示データとの比較とそれに基づく軌道修正（第１制御ステップ）と、第２実測データと第２教示データとの比較とそれに基づく軌道修正（第２制御ステップ）とを交互に行うことで、不安定な磁気要素（Ｔｍ１とＴｍ２）を相殺することができる（第１の形態）。
第１制御ステップ：第１教示データｓｄ１と第１実測データｓｍ１を比較→軌道修正
第２制御ステップ：第２教示データｓｄ２と第２実測データｓｍ２を比較→軌道修正
【００３７】
第１制御ステップと第２制御ステップを交互に行うことで不安定な磁気要素（Ｔｍ１とＴｍ２）が相殺されることを、図６を用いて説明する。
図６は、ｋ（ｘ，ｙ，ｚ）軸方向の磁気を対象として示している。
第１制御ステップにおいて計測される実測磁気データ（ｋｓｍ１）は、下記式（５）で示すことができる。また、第２制御ステップにおいて計測される実測磁気データ（ｋｓｍ２）は、下記式（６）で示すことができる。
ｋｓｍ１＝｜ｋｓｄ１｜＋｜ｋΔ｜＋ｋＴｍ１  …  （５）
ｋｓｍ２＝｜ｋｓｄ２｜＋｜ｋΔ｜−ｋＴｍ２  …  （６）
【００３８】
第１制御ステップと第２制御ステップを交互に実行することは、式（５）に式（６）を加えることと等価であるから、式（７）により不安定な磁気要素ｋＴｍ１とｋＴｍ２を消去、つまり相殺することができる。この点については、本発明に基づいて実際に自律移動を行った移動軌跡を示しながら、さらに後述する。
ｋｓｍ１＋ｋｓｍ２＝（｜ｋｓｄ１｜＋｜ｋΔ｜＋ｋＴｍ１）＋（｜ｋｓｄ２｜＋｜ｋΔ｜−ｋＴｍ２）
＝（｜ｋｓｄ１｜＋｜ｋｓｄ２｜＋２ｋΔ）  …  （７）
【００３９】
次に、ｋΔ（磁気の偏差）は式（８）により求められ、ｋΔがゼロになるように、ロボット１の軌道（向き）を修正する。
ｋΔ＝１／２｛（ｋｓｍ１＋ｋｓｍ２）−（｜ｋｓｄ１｜＋｜ｋｓｄ２｜）｝  …  （８）
【００４０】
以上の処理をロボット１は自律移動中に継続的に行う。この処理手順を、教示データの登録からの手順をも含め、図７に示す。
第１教示データを第１センサ２０１で計測する（図７  ステップＳ１０１）とともに、第２教示データを第２センサ２０２で計測する（図７  ステップＳ１０３）。第１教示データ及び第２教示データは、前述したとおり、教示磁気データと教示方位データを含む。
取得した第１教示データ及び第２教示データは、計測した位置と対応付けて、第１記憶部７１に記憶され（図７  ステップＳ１０５）、これにより教示データの登録が行われる。
以上の処理（図７  ステップＳ１０１，Ｓ１０３，Ｓ１０５）は、ロボット１が自律移動する前に、自律移動する経路に沿ってロボット１を移動させながら行われる。
【００４１】
ロボット１を自律移動させる際には、第１センサ２０１により第１実測データを計測する（図７  ステップＳ２０１）とともに、第２センサ２０２により第２実測データを計測する（図７  ステップＳ２０３）。
計測された第１実測データと第１記憶部７１に登録されている第１教示データとを比較し、上記式（１）〜式（８）に示した要領で、第１教示データと第１実測データの偏差Δ１１（ｋΔ，第１偏差）を算出する（図７  ステップＳ２０５）。この偏差Δ１１の算出は、第１センサ２０１が計測する第１実測データと第１記憶部７１に登録されている第１教示データとを取得した磁気・方位比較部８１が行う。この時、磁気・方位比較部８１は、センサ選択部８２により第１教示データと第１実測データの偏差Δ１１を算出するように制御される。偏差Δ１１は、磁気に関する偏差と方位に関する偏差を含んでいる。
磁気・方位比較部８１は、算出した偏差Δ１１を車両移動値演算部８５に送る。車両移動値演算部８５は取得した偏差Δ１１が０（ゼロ）になるために必要なロボット１が向きを変える角度（回転角）を求める。求められた回転角は車両移動値演算部８５から走行制御部６０に向けて出力され、走行制御部６０は偏差Δ１１が０（ゼロ）になるように駆動モータ６，７に駆動指令を出力してずれた軌道を修正する（図７  ステップＳ２０７）。
【００４２】
偏差Δ１１に基づく軌道修正の後に、第２実測データと第１記憶部７１に登録されている第２教示データとを比較し、上記式（１）〜式（８）に示した要領で、第２教示データと第２実測データの偏差Δ２１（ｋΔ，第２偏差）を算出する（図７  ステップＳ２０９）。この偏差Δ２１の算出は、上記と同様に、磁気・方位比較部８１が行う。この時、磁気・方位比較部８１は、センサ選択部８２により偏差Δ２１を算出するように制御される。偏差Δ２１は、磁気に関する偏差と方位に関する偏差を含んでいる。
磁気・方位比較部８１は、算出した偏差Δ２１を車両移動値演算部８５に送る。車両移動値演算部８５は取得した偏差Δ２１が０（ゼロ）になるために必要なロボット１が向きを変える角度（回転角）を求める。求められた回転角は車両移動値演算部８５から走行制御部６０に向けて出力され、走行制御部６０は偏差Δ２１が０（ゼロ）になるように駆動モータ６，７に駆動指令を出力してずれた軌道を修正する（図７  ステップＳ２１１）。
【００４３】
偏差Δ２１に基づく軌道修正の後に、さらに計測される後続の第１実測データ（図７  ステップＳ２０１）と第１教示データに基づいて、偏差Δ１２を算出し（図７  ステップＳ２０５）、この偏差Δ１２が０（ゼロ）になるように軌道修正する（図７  ステップＳ２０７）。以上のステップＳ２０１，Ｓ２０５及びＳ２０７により、本発明の第１制御ステップが構成される。
偏差Δ１２に基づく軌道修正の後に、後続の第２実測データ（図７  ステップＳ２０３）と第２教示データに基づいて、偏差Δ２２を算出し（図７  ステップＳ２０９）、この偏差Δ２２が０（ゼロ）になるように軌道修正する（図７  ステップＳ２１１）。以上のステップＳ２０３，Ｓ２０９及びＳ２１１により、本発明の第２制御ステップが構成される。
以下、ロボット１が自律移動を継続する間、第１実測データの計測（図７  ステップＳ２０１）、偏差Δ１ｎの算出（図７  ステップＳ２０５）及び偏差Δ１ｎに基づく軌道修正（図７  ステップＳ２０７）と、第２実測データの計測（図７  ステップＳ２０３）、偏差Δ２ｎの算出（図７  ステップＳ２０９）及び偏差Δ２ｎに基づく軌道修正（図７  ステップＳ２１１）とが、交互に行われる。
【００４４】
［自律移動の例］
以上のロボット１が、図８に示すように、始点（Start）から終点（Goal）に自律移動する場合には、始点から移動を開始して経由地Ａに到達するまで、ロボット１は、第１センサ２０１と第２センサ２０２とを交互にスイッチングして前進する。なお、ロボット１は、ルートに沿うように向きが制御されながら移動することを基本としながら、磁気を目印としてルートからのずれを修正する。
ロボット１は、経由地Ａに到達すると、半時計周りにφ１だけ向きを変えた後に、経由地Ｂに向けて移動する。この間も第１センサ２０１と第２センサ２０２とが交互にスイッチングされる。
ロボット１は、経由地Ｂに到達すると、時計周りにφ１＋φ２だけ向きを変えた後に、経由地Ｃに向けて移動する。経由地Ｂと経由地Ｃの間に、後発的に生じた不安定な磁気要素ＵＧが存在していても、第１センサ２０１と第２センサ２０２とを交互にスイッチングすることにより、不安定な磁気要素ＵＧを相殺することができるので、不安定な磁気要素ＵＧの影響をうけることなく、経由地Ｃまでロボット１は自律移動する。なお、不安定な磁気要素は、温度の変化によっても生ずることは前述の通りである。
ロボット１は、経由地Ｃに到達すると、時計周りにφ３−φ２だけ向きを変えた後に、終点に向けて自律移動する。
【００４５】
［本実施形態固有の効果］
以上説明したように、ロボット１は第１センサ２０１と第２センサ２０２を交互にスイッチングしながらロボット１の向きを制御して自律移動するので、教示データには含まれない不安定な磁気要素が後発的に生じたとしても、自己位置を誤認識することなく自律移動を続けることができる。
【００４６】
［自律走行の具体例１］
以上の実施形態に基づいて作製したロボット１を実際に自律移動させた第１の形態による例を以下説明する。
教示データの具体例を図９に示す。
図９において、Dist−Mag ｘ、Dist−Mag y等の「Dist」は、位置を示す。例えば、Dist−Mag ｘの欄の「0.00」は移動経路上の始点（Start）であることを示し、同欄の「5.01」は始点（Start）から５．０１ｍの位置であることを示している。また、Dist−Mag ｘ、Dist−Mag y等の「Mag k」は磁気を示す（ただし、磁気センサの出力としての電圧値）。また、Dist−Yawの「Yaw」は方位を示している。したがって、例えば、移動経路上の始点（Start）において、ｘ軸における磁気が０．４３２２、ｙ軸における磁気が０．１７１０、ｚ軸における磁気が０．６５３４、方位が７８．６４であることを図９は示しており、このような第１教示データ及び第２教示データが登録されている。
【００４７】
自律移動は、第１センサ２０１で第１実測データを計測するとともに、第２センサ２０２で第２実測データを計測するが、偏差Δ１ｎ，Δ２ｎの算出及び偏差Δ１ｎ，Δ２ｎに基づく軌道修正を、以下の３つのパターンで行った。なお、図９に示す教示データの登録時の温度は９℃、自律移動時の温度は２３℃であり、両者の温度差は１４℃であった。
（α）偏差の算出はΔ１ｎだけ行い、偏差Δ１ｎに基づく軌道修正のみを行う（第１センサ２０１による軌道修正）。このパターンは、偏差Δ２ｎの算出及び偏差Δ２ｎに基づく軌道修正は行わない。
（β）偏差の算出はΔ２ｎだけ行い、偏差Δ１ｎに基づく軌道修正のみを行う（第２センサ２０２による軌道修正）。このパターンは、偏差Δ１ｎの算出及び偏差Δ１ｎに基づく軌道修正は行わない。
（γ）偏差Δ１ｎの算出及び偏差Δ１ｎに基づく軌道修正と、偏差Δ２ｎの算出及び偏差Δ２ｎに基づく軌道修正を交互に行う（第１センサ２０１と第２センサ２０２による軌道修正）。
【００４８】
パターン（α）による教示データ上の移動軌跡と自律移動の際の移動軌跡を図１１に、パターン（β）による教示データ上の移動軌跡と自律移動の際の移動軌跡を図１２に、パターン（γ）による教示データ上の移動軌跡と自律移動の際の移動軌跡を図１３に示す。
図１１〜図１３に示すように、本実施形態に従うパターン（γ）により軌道修正を行うことで、ロボット１が高い精度で自律移動できることが確認された。
【００４９】
ここで、前提として、ロボット１は教示データにより特定される経路上に沿って移動する。このときに、第１センサ２０１と第２センサ２０２のいずれかだけで移動を制御した場合、教示データ及び実測データには磁気的に不安定な要素が含まれているので、その分の誤差が生じてしまう。この誤差により、ロボット１は図１１又は図１２に示す経路を移動する。
これに対して第１センサ２０１と第２センサ２０２を交互にスイッチングした場合、例えば、第１センサ２０１で計測した実測データに＋α分の不安定な磁気要素が含まれていたとすれば、＋αを含む修正量が与えられる。次に、第２センサ２０２の実測データに−α分の不安定な磁気要素が含まれていたとすれば、−αを含む修正量が与えられる。つまり、ロボット１は、移動軌跡を＋α分だけ余計に修正されるが、つぎの瞬間−α分を余計に修正するので、結果として不安定な磁気要素に相当する修正量（＋αと−α）が相殺される。このように、第１センサ２０１と第２センサ２０２を交互にスイッチングすることは、各々の実測データを平均化することと等価である。
もし、この修正が直ちに反映されるほどロボット１の動きが速いか、逆に、スイッチングの周期がロボットの動きが反映できてしまうほど遅ければ、修正に不安定な磁気要素（＋α，−α）が反映されるので、ロボット１は蛇行しながら移動することになる。この蛇行を回避するために、今回の自律移動では、不安定な磁気要素（＋α，−α）を含む修正量分が反映される前にスイッチングしている。ただし、この蛇行回避は本発明にとって望ましい形態であるが、蛇行しながらでも教示データで特定される移動経路を最終的に辿ることをも包含する。
【００５０】
各パターンにおいて計測された実測磁気データを図１０に示す。この例を用いて教示データと実測データを比較する処理を以下に示す。
例えば、図１０のパターン（γ）の欄において、位置「0.04」のｘ軸方向の磁気が「0.4429」の第１実測磁気データを取得すると、この実測磁気は図９の第１教示データにおける位置「0.04」のｘ軸方向の磁気が「0.4325」と比較される。図１０には、ｘ軸の実測磁気データのみを示しているが、実際にはｙ軸及びｚ軸の実測磁気データ、実測磁気方位も計測され、図９の第１教示データと比較され、第１偏差が求められる。この第１偏差を解消するようにロボット１の移動が制御される。
次に、位置「0.04」のｘ軸方向の磁気が「0.3403」の第２実測磁気データと、図９の第２教示データにおける位置「0.04」のｘ軸方向の磁気が「0.3502」と比較される。ｙ軸及びｚ軸の実測磁気データ、実測磁気方位についても、上述したように、図９の第１教示データと比較され、第２偏差が求められる。この第２偏差を解消するようにロボット１の移動が制御される。
【００５１】
ここで、登録されているｎ番目の教示データと第ｎ＋１番目の教示データの距離的な間隔（教示データの間隔）をＬ（ｃｍ）、ロボット１の移動速度をＶ（ｃｍ／秒）とする。そうすると、ロボット１が教示データの間隔Ｌだけ移動するのに要する時間Ｔ１はＬ／Ｖである。このＴ１＝Ｌ／Ｖにスイッチングを行えば、蛇行を回避することができる。つまり、蛇行回避のためのスイッチングの周期Ｔ２は、Ｔ２＝Ｔ１／２＝Ｌ／２Ｖ（秒）で与えられる。
今回の自律移動の例（図１０のパターン（γ））では、ロボット１の移動速度Ｖ＝５０ｃｍ／ｓ、教示データの間隔Ｌ＝０．０１ｍ＝１ｃｍ、スイッチングの周期Ｔ２＝０．１秒とした。
ただし、教示データの間隔Ｌを移動する間に行われるスイッチングは一度に限定されず、二度以上行うこともできる。つまり本発明において、教示データの間隔Ｌを移動する間に、第１制御ステップと第２制御ステップとを少なくとも一度は切り替えればよい。
【００５２】
以上の実施の形態では、偏差Δ１ｎ，Δ２ｎの算出及び偏差Δ１ｎ，Δ２ｎに基づく軌道修正を交互に行う（スイッチッチングする）例を示した。しかし、式（８）で示したことから明らかなように、第１実測データと第２実測データを演算処理により平均化することでも不安定な磁気要素（Ｔｍ１とＴｍ２）を相殺し、かつ教示データと実測データの偏差を求めることができる。本発明は、この形態（第２の形態）をも包含する。この場合、比較される教示データも不安定な磁気要素が相殺されている、つまり平均化された教示データ（平均教示データ）が、平均化された実測データ（平均実測データ）と比較の対象になる。この平均教示データは、教示データの計測後であって平均実測データとの比較の前に行われる。典型的には、平均教示データが得られたならば即座に平均教示データが求められるか、自律移動の際に平均教示データが求められることになる。このような処理は、制御部５０の演算処理部８０が行う。
教示データが不安定な磁気要素を当初より含まないのであれば、教示データについては平均教示データを求める必要はないが、これが適用される環境は相当に限定される。
【００５３】
［自律走行の具体例２］
以下、演算処理により平均化することで不安定な磁気要素を相殺する第２の形態により実際にロボット１を自律移動させた例を示す。
この例では、教示データ（第１教示データ、第２教示データ）は、上述した具体例１で登録したものを用いた。したがって、具体例２の教示データが示す移動経路は具体例１と同じである。また、この例では、自律移動の際にすでに登録してある第１教示データと第２教示データを用いてその平均値（平均教示データ）を求めた。より具体的には、実測データ（第１実測データ、第２実測データ）を計測し、その平均値（平均実測データ）を求めるのに併せて、第１教示データと第２教示データを用いて平均教示データを求めた。そして、求められた平均教示データと平均実測データとを比較しながら、自律移動を行った。移動の際の気温は２８℃である。
【００５４】
教示データを図１４に、実測データを図１５に示す。図１４に平均教示データを、また、図１５には平均実測データを併せて記載している。そして、教示データ上の移動軌跡と自律移動の際の移動軌跡を図１６に示すが、演算処理により平均化することで不安定な磁気要素が相殺され、高い精度でロボット１が自律移動できることが確認された。
【００５５】
以上の実施形態で詳述した第１センサ２０１と第２センサ２０２を交互にスイッチングする手法と、上述の演算により平均化する手法を比較すると、以下の通りである。
磁気センサには計測値に多少のバラツキがあるために、このバラツキを修正するために係数を用いることが必要な場合がある。この係数については実際にロボット１を移動させながら調整する。この調整には、教示データそのものを用いることが好ましい。したがって、磁気センサの係数調整の観点からは、第１センサ２０１と第２センサ２０２を交互にスイッチングする手法が好ましい。
しかし、第１センサ２０１と第２センサ２０２を交互にスイッチングする手法は、第１教示データと第２教示データという２系統のデータを保持する必要があるのに対して、平均化する手法では平均化された１系統のデータだけを保持することができる。したがって、第１記憶部７１の記憶容量の観点からは、平均化する手法が好ましい。
【００５６】
以上の実施の形態では、第１センサ２０１と第２センサ２０２とを一組だけ設ける例を示したが、二組又はそれ以上を設けることができる。この場合、二組のセンサ部はロボット１上の離間する位置、例えばロボット１の進行方向あるいは幅方向（進行方向に直交する方向）に間隔を空けて設けることができる。
また、以上の実施の形態では、第１センサ２０１と第２センサ２０２という二つの別体のセンサを組み合わせたが、本発明は、単体と認識されるセンサを用いて互いに相反する向きの磁気、方位を計測することもできる。
さらに、以上の実施の形態では、第１センサ２０１と第２センサ２０２をｘ軸、ｙ軸については、１８０度だけ反転して近接配置したが、反転の角度は１８０度から数度程度はずれていても本発明の効果を享受できる。もちろん、反転の角度が理想的には１８０度であることは言うまでもない。
【００５７】
以上の実施の形態では、教示磁気データ及び実測磁気データとして３軸（ｘ軸，ｙ軸，ｚ軸）方向の磁気を計測、保持するが、これは必須ではなく、少なくとも１軸方向の磁気だけでも本発明は実現可能である。ただし、２軸方向、例えばｙ軸方向の磁気とｚ軸方向の磁気を用いること、さらには３軸方向の磁気を用いると精度よく位置制御を行うことができる。
【００５８】
本発明は不安定な磁気要素（Ｔｍ１とＴｍ２）を相殺することを要旨とするものであり、この部分を除く移動体の自律移動の制御方法は上記実施の形態に限定されない。例えば、特許文献３に開示されるパターンマッチングによる自己位置認識を用いることは本発明にとって有効である。
また、ここでは磁気センサと方位センサでロボット１の自律移動を行う例を示したが、他のセンシング手段、例えば距離センサ等をさらに組み合わせて自律移動を行うことを本発明は許容する。
これ以外にも、本発明の主旨を逸脱しない限り、上記実施の形態で挙げた構成を取捨選択し、あるいは他の構成に適宜変更することが可能である。
【符号の説明】
【００５９】
１        ロボット
３，４    駆動輪
５        補助輪
６，７    駆動モータ
８，９    ロータリエンコーダ
２０      磁気・方位センサ部
２０１    第１磁気・方位センサ（第１センサ）
２０２    第２磁気・方位センサ（第２センサ）
５０      制御部
６０      走行制御部
７０      記憶部
７１      第１記憶部
７２      第２記憶部
７３      第３記憶部
８０      演算処理部
８１      磁気・方位比較部
８２      センサ選択部
８４      移動距離演算部
８５      車両移動値演算部
【図１】
0005656214.tif 000002
【図２】
0005656214.tif 000003
【図３】
0005656214.tif 000004
【図４】
0005656214.tif 000005
【図５】
0005656214.tif 000006
【図６】
0005656214.tif 000007
【図７】
0005656214.tif 000008
【図８】
0005656214.tif 000009
【図９】
0005656214.tif 000010
【図１０】
0005656214.tif 000011
【図１１】
0005656214.tif 000012
【図１２】
0005656214.tif 000013
【図１３】
0005656214.tif 000014
【図１４】
0005656214.tif 000015
【図１５】
0005656214.tif 000016
【図１６】
0005656214.tif 000017