(57)【特許請求の範囲】
【請求項１】
車輪の回転により、操作者による移動操作により教示された移動経路を自律的に移動する移動体の移動量を推定する移動量推定装置であって、
前記移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得する位置データ取得部と、
前記移動体が移動したときの移動前又は移動後のいずれか一方において取得した複数の第１位置データにより形成される第１投影物体像と、前記移動前又は前記移動後の他方において取得した複数の第２位置データを前記所定の座標上にて平行移動及び／又は回転移動した複数の移動位置データにより形成される移動投影物体像とが一致したときの前記複数の第２位置データの前記平行移動の移動量及び／又は前記回転移動の移動量を、前記移動体が移動した移動量として算出する第１推定部と、
前記移動体が移動中の所定の期間における前記車輪の回転量に基づいて算出した第２基準移動量と、前記移動体が前記所定の期間移動したときの前記第１推定部における移動量の算出値である第１基準移動量との比較に基づいて、前記車輪の回転量に基づいて算出される車輪移動量を補正し、補正された前記車輪移動量を前記移動体の移動量として推定する第２推定部と、
を備える移動量推定装置。
【請求項２】
前記第２基準移動量と前記第１基準移動量との比較結果としての補正係数を、前記第１基準移動量と前記第２基準移動量とに基づいて算出する補正係数算出部をさらに備え、
前記第２推定部は前記補正係数を用いて前記車輪移動量を補正する、請求項１に記載の移動量推定装置。
【請求項３】
前記所定の期間よりも過去の期間である過去期間において算出された過去補正係数と前記補正係数との比較結果に基づいて、前記補正係数が適切に算出されたかどうかを評価する評価部をさらに備える、請求項２に記載の移動量推定装置。
【請求項４】
前記補正係数が適切に算出されていないと判断された場合、前記第２推定部は前記過去補正係数を前記補正係数として用いる、請求項３に記載の移動量推定装置。
【請求項５】
前記補正係数算出部は、前記第１基準移動量と前記第２基準移動量と所定の値を有する更新係数とに基づいて前記補正係数を算出する、請求項２〜４のいずれかに記載の移動量推定装置。
【請求項６】
前記第２推定部は、予め決められた前記車輪の径である基準車輪径と前記車輪の回転量とに基づいて前記車輪移動量を算出し、前記車輪移動量を前記補正係数に基づいて補正する、請求項２〜５のいずれかに記載の移動量推定装置。
【請求項７】
前記第２推定部は、予め決められた前記車輪の径である基準車輪径と前記補正係数とに基づいて補正車輪径を算出し、前記補正車輪径と前記車輪の回転量とに基づいて前記移動体の移動量を算出する、請求項２〜６のいずれかに記載の移動量推定装置。
【請求項８】
前記補正車輪径と前記基準車輪径との比較に基づいて、前記車輪の径の変化を算出する径変化算出部をさらに備える、請求項７に記載の移動量推定装置。
【請求項９】
前記第１基準移動量と前記第２基準移動量とを算出する前記所定の期間を指定する補正データ取得指令部をさらに備える、請求項１〜８のいずれかに記載の移動量推定装置。
【請求項１０】
請求項１〜９のいずれかに記載の移動量推定装置と、
車輪を有し、前記車輪の回転により走行可能な走行部と、
前記移動量推定装置において推定される移動量に基づいて現在位置を推定する位置推定部と、
前記現在位置から所定の目標位置まで走行するよう前記走行部を制御する走行制御部と、
を備える自律移動体。
【請求項１１】
車輪の回転により、操作者による移動操作により教示された移動経路を自律的に移動する移動体の移動量の推定方法であって、
前記移動体が所定の期間に移動したときの移動前及び移動後において、前記移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得するステップと、
前記移動前又は前記移動後のいずれか一方において取得した複数の第２位置データを、前記所定の座標上にて平行移動及び／又は回転移動して複数の移動位置データを算出するステップと、
前記移動前又は前記移動後の他方において取得した複数の第１位置データにより形成される第１投影物体像と前記複数の移動位置データにより形成される移動投影物体像とが一致したときの前記複数の移動位置データが得られたときの、前記複数の第２位置データの前記平行移動の移動量及び／又は前記回転移動の移動量に基づいて、第１基準移動量を算出するステップと、
前記所定の期間における前記車輪の回転量に基づいて第２基準移動量を算出するステップと、
前記第２基準移動量と前記第１基準移動量との比較に基づいて、前記車輪の回転量に基づいて算出される車輪移動量を補正するステップと、
補正された前記車輪移動量を前記移動体の移動量として推定するステップと、
を含む移動量の推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車輪の回転により移動可能な移動体の移動量を推定する移動量推定方法、当該移動量の推定装置、及び上記の移動量推定装置を備える自律移動体に関する。
【背景技術】
【０００２】
従来、車輪の回転により所定の空間を移動可能な移動体が知られている。このような移動体は、車輪の回転量及び／又は移動体から周囲に存在する物体までの距離に基づいて、移動体の走行距離及び／又は現在位置を推定している。
【０００３】
例えば、特許文献１には、エンコーダと距離測定センサ（測距センサ）とを備え、走行車輪の回転駆動により走行可能な自律走行車が開示されている。この自律走行車は、エンコーダにより測定された回転数から自律走行車の走行距離を算出し、測距センサにより自律走行車から周囲に存在する壁や障害物までの距離を計測している。
【０００４】
また、特許文献１の自律走行車は、走行車輪の回転数から算出された所定時間あたりの走行距離を、測距センサにより測定された自律走行車から壁や障害物までの距離の上記の所定時間あたりの変化量を用いて補正している。すなわち、従来の自律走行車は、走行車輪の回転数から算出した走行距離に走行車輪と床との間の滑りなどに起因する誤差が含まれている場合に、当該誤差を測距センサにより測定された所定時間あたりの距離の変化量により補正している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３１８７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、測定誤差は、エンコーダにより測定された車輪の回転数（回転量）に基づいて算出された走行距離だけでなく、測距センサにより測定された自律走行車から障害物などの物体までの距離にも含まれる。このため、自律移動体の移動量が小さいと、後者で算出した走行距離の正しさは、前者で算出した走行距離の正しさを下回る。特許文献１の自律走行車において、測距センサにより測定された距離に誤差が含まれていると、自律移動体の移動量が小さい場合に、正しさで下回る走行距離に書き換えてしまう事態が生じる。
【０００７】
本発明の課題は、車輪の回転により移動可能な移動体において、車輪の回転量に基づいて算出された移動距離を、実際の移動体の移動距離に近い値となるよう正確に補正することにある。
【課題を解決するための手段】
【０００８】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る移動量推定装置は、車輪の回転により移動する移動体の移動量を推定する装置である。移動量推定装置は、位置データ取得部と、第１推定部と、第２推定部と、を備える。
位置データ取得部は、投影物体像を形成する複数の位置データを取得する。投影物体像は、複数の位置データを所定の座標上にプロットすることにより形成される、移動体の周囲に存在する物体を所定の座標上に投影した像である。
【０００９】
第１推定部は、移動体が移動したときの移動量を算出する。具体的には、第１推定部は、第１投影物体像と移動投影物体像とが一致したときの複数の第２位置データの平行移動（並進）の移動量及び／又は回転移動（姿勢変位）の移動量を、移動体が移動したときの移動量とする。
第１投影物体像は、複数の第１位置データにより形成される投影物体像である。複数の第１位置データは、移動体の移動前又は移動後のいずれか一方において取得した複数の位置データである。
【００１０】
移動投影物体像は、複数の移動位置データにより形成される投影物体像である。複数の移動位置データは、複数の第２位置データを所定の座標上にて平行移動及び／又は回転移動することにより得られる複数の位置データである。複数の第２位置データは、移動体の移動前又は移動後の他方において取得した複数の位置データである。
【００１１】
なお、「移動体の移動前又は移動後の他方」とは、第１位置データを移動体の移動前に取得した場合には「移動体の移動後」のことを指し、一方、第１位置データを移動体の移動後に取得した場合には「移動体の移動前」のことを指す。
【００１２】
すなわち、第１推定部は、移動体が移動したときの移動量として、第１投影物体像と一致する移動投影物体像が形成される複数の移動位置データを得るために第２位置データを平行移動及び／又は回転移動したときの移動量を算出する。
【００１３】
第２推定部は、第２基準移動量と第１基準移動量との比較に基づいて、車輪の車輪移動量を補正する。また、第２推定部は、補正された車輪移動量を移動体の移動量として推定する。車輪移動量は、車輪の回転量に基づいて算出される移動量である。第２基準移動量は、移動体が移動中の所定の期間における車輪の回転量に基づいて算出した車輪移動量である。第１基準移動量は、移動体が所定の期間移動したときの第１推定部における移動量の算出値である。
【００１４】
上記の移動量推定装置においては、まず、移動体が所定の期間移動する際に、移動体の移動前又は移動後の一方において複数の第１位置データが、移動体の移動前又は移動後の他方において複数の第２位置データが、位置データ取得部により取得される。
【００１５】
複数の第１位置データ及び複数の第２位置データを取得後、第１推定部が第１基準移動量を算出する。具体的には、まず、第１推定部が、複数の第２位置データを所定の座標上において平行移動及び／又は回転移動して移動位置データを算出する。次に、第１推定部は、移動位置データにより形成される移動投影物体像と第１位置データにより形成される第１投影物体像とが一致するかどうかを判断する。移動投影物体像と第１投影物体像とが一致すると判断されたときに、第１推定部は、第１投影物体像と一致する移動投影物体像を形成する移動位置データを得るために第２位置データを平行移動及び／又は回転移動したときの平行移動の移動量及び／又は回転移動の移動量を第１基準移動量とする。
【００１６】
また、上記の所定の期間に測定された車輪の回転量に基づいて、第２基準移動量が算出される。
【００１７】
第１基準移動量及び第２基準移動量を算出後、第２推定部は、移動体が移動した際の車輪の回転量又はそれに基づいて算出した移動体の車輪移動量を、上記の第２基準移動量と第１基準移動量との比較に基づいて補正する。第２推定部は、補正後の車輪移動量を移動体の移動量として推定する。
【００１８】
上記の移動量推定装置においては、車輪移動量の補正に用いる第１基準移動量が、第１投影物体像と移動投影物体像とが一致したときの移動位置データが得られたときの第２位置データの平行移動量及び／又は回転移動の移動量とされている。言い換えると、複数の第２位置データにより形成される投影物体像を第１投影物体像に一致させるように移動した時の移動量を第１基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第１基準移動量を移動体の実際の移動量により近い値として算出できる。
【００１９】
以上の結果、第２推定部は、複数の位置データに含まれる測定誤差による影響を低減して算出した第１基準移動量を用いて、より正確に車輪移動量を補正できる。
【００２０】
また、上記の複数の第１位置データと複数の第２位置データは、移動体の移動前後という比較的短い時間間隔により取得されている。これにより、複数の第１位置データにより形成される第１投影物体像に存在した像が複数の第２位置データにより形成される投影物体像（第２投影物体像と呼ぶこともある）では存在しなくなっていたり、その逆に、第１投影物体像にて存在しない像が第２投影物体像に存在したりする問題（周囲環境変化と呼ばれる）が生じる可能性を低減できる。これにより、第１推定部は、第１基準移動量が周囲環境変化により誤って推定されることを低減して、第１基準移動量を精度よく算出できる。その結果、車輪移動量をより正確に補正できる。
【００２１】
上記の移動量推定装置は、補正係数算出部をさらに備えていてもよい。補正係数算出部は、補正係数を、第２基準移動量と第１基準移動量との比較結果として算出する。補正係数は、第１基準移動量と第２基準移動量とに基づいて算出される係数である。この場合、第２推定部は補正係数を用いて車輪移動量を補正する。
これにより、第２基準移動量と第１基準移動量との算出頻度を低減できる。また、移動体の周囲に壁などの物体が存在しない領域などの位置データを用いた位置推定や移動量の推定が困難な場所を移動体が移動中であっても、車輪移動量をより正確に補正できる。その結果、上記のような場所においても、補正された車輪移動量に基づいて、移動体の移動量を正確に推定できる。
【００２２】
上記の移動量推定装置は、評価部をさらに備えていてもよい。評価部は、過去補正係数と補正係数との比較結果に基づいて、補正係数が適切に算出されたかどうかを評価する。過去補正係数は、過去期間において算出された補正係数である。過去期間は、補正係数が算出された所定の期間よりも過去の期間である。
これにより、今回算出した補正係数が、前回算出した過去補正係数と比較して車輪の特性に基づいて合理的に算出されているかどうかを判断できる。
【００２３】
補正係数が適切に算出されていないと判断された場合、第２推定部は過去補正係数を補正係数として用いてもよい。これにより、今回算出された補正係数が誤った値として算出された場合に、第２推定部が当該誤って算出された補正係数を用いて車輪移動量を補正することを回避できる。すなわち、車輪移動量を不正確に補正することを防止できる。
【００２４】
補正係数算出部は、第１基準移動量と第２基準移動量との比較に基づいて算出される補正係数と所定の値を有する更新係数とに基づいて補正係数を算出してもよい。これにより、補正による変動の度合いを制御できる。
【００２５】
第２推定部は、予め決められた車輪の径である基準車輪径と車輪の回転量とに基づいて車輪移動量を算出してもよい。この場合、第２推定部は、補正係数を用いて車輪移動量を補正する。すなわち、第２推定部は、基準車輪径を用いて算出した車輪移動量を、補正係数を用いて補正する。これにより、より簡単な計算により車輪移動量を補正できる。
【００２６】
第２推定部は、補正車輪径を算出してもよい。補正車輪径は、基準車輪径と補正係数とに基づいて算出される。この場合、第２推定部は、補正車輪径と車輪の回転量とに基づいて移動体の移動量を算出する。すなわち、第２推定部は、基準車輪径を補正係数にて補正して補正車輪径を算出し、補正車輪径と車輪の回転量とに基づいて算出した値を移動体の移動量とする。これにより、車輪の回転量に基づいて算出される移動体の移動量を補正できると同時に、車輪径の補正もできる。
【００２７】
上記の移動量推定装置は、径変化算出部をさらに備えていてもよい。径変化算出部は、補正車輪径と基準車輪径との比較に基づいて、車輪の径の変化を算出する。これにより、車輪の径の変化をモニターできる。
【００２８】
上記の移動量推定装置は、補正データ取得指令部をさらに備えていてもよい。補正データ取得指令部は、第１基準移動量と第２基準移動量とを算出する所定の期間を指定する。これにより、複数の位置データと車輪の回転量とが両方取得可能なタイミングにおいて、第１基準移動量及び第２基準移動量を算出するためのデータを取得できる。
【００２９】
本発明の他の見地に係る自律移動体は、上記の移動量推定装置と、走行部と、位置推定部と、走行制御部と、を備える。走行部は車輪を有し、車輪の回転により走行可能である。すなわち、走行部は、車輪の回転により自律移動体を移動させる。位置推定部は、上記の移動量推定装置において推定される移動量に基づいて、自律移動体の現在位置を推定する。走行制御部は、自律移動体が現在位置から所定の目標位置まで走行するように、走行部を制御する。
【００３０】
上記の自律移動体においては、上記の移動量推定装置により、より正確に自律移動体の移動量が推定される。これにより、上記の自律移動体の位置推定部は、より正確な自律移動体の位置を推定できる。その結果、走行制御部は、自律移動体を現在位置から所定の目標位置まで適切に移動させるように、走行部を制御できる。つまり、自律移動体が上記の移動量推定装置を備えることにより、自律移動体は、意図した移動経路を正確に自律走行できる。
【００３１】
本発明のさらに他の見地に係る移動量の推定方法は、車輪の回転により移動する移動体の移動量の推定方法である。移動量の推定方法は、以下のステップを含む。
◎移動体が所定の期間に移動したときの移動前及び移動後において、移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得するステップ。
◎移動前又は移動後のいずれか一方において取得した複数の第２位置データを、所定の座標上にて平行移動及び／又は回転移動して複数の移動位置データを算出するステップ。
◎移動前又は移動後の他方において取得した複数の第１位置データにより形成される第１投影物体像と複数の移動位置データにより形成される移動投影物体像とが一致したときの複数の移動位置データが得られたときの、複数の第２位置データの平行移動の移動量及び／又は回転移動の移動量に基づいて、第１基準移動量を算出するステップ。
◎上記の所定の期間における車輪の回転量に基づいて第２基準移動量を算出するステップ。
◎第２基準移動量と第１基準移動量との比較に基づいて、車輪の回転量に基づいて算出される車輪移動量を補正するステップ。
◎補正された車輪移動量を移動体の移動量として推定するステップ。
【００３２】
上記の移動量の推定方法においては、車輪移動量の補正に用いる第１基準移動量が、第１投影物体像と移動投影物体像とが一致したときの移動位置データが得られたときの第２位置データの平行移動量及び／又は車輪移動量とされている。言い換えると、複数の第２位置データにより形成される投影物体像を第１投影物体像に一致させるように移動した時の移動量を第１基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第１基準移動量を移動体の実際の移動量により近い値として算出できる。
【００３３】
以上の結果、上記の移動量の推定方法においては、複数の位置データに含まれる測定誤差による影響を低減して算出した第１基準移動量を用いて、より正確に車輪移動量を補正できる。
【発明の効果】
【００３４】
車輪の回転量に基づいて算出された移動距離（車輪移動量）を、実際の移動体の移動距離に近い値となるよう正確に補正できる。
【図面の簡単な説明】
【００３５】
【図１】自律移動体の全体構成を示す図。
【図２】制御部の構成を示す図。
【図３】第１実施形態に係る移動量算出部の構成を示す図。
【図４】ＩＣＰ法を模式的に示す図。
【図５】ヒストグラムマッチング法を模式的に示す図。
【図６】補正係数の算出方法を示すフローチャート。
【図７】自律移動体の動作を示すフローチャート。
【図８】第２実施形態に係る移動量算出部の構成を示す図。
【図９】第３実施形態に係る移動量算出部の構成を示す図。
【発明を実施するための形態】
【００３６】
１．第１実施形態
（１）自律移動体の全体構成
以下、本発明の自律移動体について説明する。まず、第１実施形態に係る自律移動体１００の全体構成について、図１を用いて説明する。本実施形態の自律移動体１００は、予め決められた所望の予定走行経路を自律的に走行する移動体である。
自律移動体１００は、本体部１と、走行部２と、位置データ取得部３と、制御部５と、を主に備える。本体部１は、自律移動体１００の本体を構成する。
【００３７】
走行部２は、図１に示すように、車輪２１ａ、２１ｂを有し、車輪２１ａ、２１ｂが移動領域の床面などの走行面に接するように、モータ２３ａ、２３ｂ（後述）を介して、本体部１の底部の中央付近に設置されている。また、車輪２１ａ、２１ｂは、本体部１の左右に設置されたモータ２３ａ、２３ｂの出力回転軸のそれぞれに、当該出力回転軸周りに回転可能に取り付けられている。
【００３８】
モータ２３ａ、２３ｂは、制御部５から駆動信号（後述）を受信し、当該制御部５からの駆動信号により、それぞれの出力回転軸を回転させる。車輪２１ａ、２１ｂは、制御部５からの駆動信号に応じた回転量及び／又は回転速度にて回転する。駆動信号に応じた回転量及び／又は回転速度にて回転する車輪２１ａ、２１ｂの回転により、走行部２は、本体部１（すなわち、自律移動体１００）を移動する。モータ２３ａ、２３ｂとしては、例えば、ブラシレスモータなどの電動モータを用いることができる。
【００３９】
また、モータ２３ａ、２３ｂのそれぞれの出力回転軸には、図１において図示しない、モータ２３ａ、２３ｂのそれぞれの出力回転軸の回転数（回転量）を測定する装置が取り付けられている。そして、当該装置により測定された出力回転軸の回転量は、制御部５へ出力される。
【００４０】
これにより、制御部５は、モータ２３ａ、２３ｂのそれぞれの出力回転軸の回転量に基づいて、車輪２１ａ、２１ｂの回転量を算出できる。上記のモータ２３ａ、２３ｂの出力回転軸の回転量を測定する装置としては、例えば、エンコーダを用いることができる。例えば、インクリメンタル型のエンコーダを用いて出力回転軸の回転量を測定した場合、出力回転軸の回転量は、エンコーダから出力されるパルス信号に含まれる所定時間あたりのパルス数として測定できる。
【００４１】
位置データ取得部３は複数の位置データを取得する。複数の位置データは自律移動体１００の周囲に存在する障害物や壁などの物体を、所定の座標上に投影した像（以後、「物体投影像」と呼ぶことにする）を形成する。すなわち、複数の位置データは、所定の座標上の座標値として定義されている。
【００４２】
上記の物体投影像を形成可能な複数の位置データは、例えば、レーザレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）を位置データ取得部３として用いることにより取得できる。その他、ＴｏＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）カメラなど、自身の周囲にある物体の自身からの距離を測定できる装置を、位置データ取得部３として用いることができる。
【００４３】
本実施形態では、レーザレンジファインダを位置データ取得部３として用いるが、この場合、複数の位置データは、例えば、自律移動体１００から上記の物体の所定の箇所（例えば、レーザレンジファインダから出力された信号を反射する物体の表面の一部）までの距離と、上記の物体の箇所が存在する自律移動体１００からの方向を示す角度とを含む二次元のデータとして取得される。
【００４４】
また、ＴｏＦカメラを位置データ取得部３として用いた場合、複数の位置データは、例えば、自律移動体１００から上記の物体の所定の箇所（例えば、ＴｏＦカメラから出力された信号を反射する物体の表面の一部）までの距離と、上記の物体の箇所が存在する自律移動体１００からの方向を示す二次元平面上の水平方向の角度と鉛直方向の角度とを含む三次元のデータとして取得される。
【００４５】
なお、後述する複数の位置データに基づいて自律移動体１００の移動量を推定する場合、得られた上記の距離と角度とを座標値として有する位置データを用いて移動量を推定してもよい。この場合、位置データは、自律移動体１００から上記の物体までの距離と、上記の物体が存在する自律移動体１００からの角度との座標値として定義される。
【００４６】
または、得られた位置データに対して適当な座標変換を行った新たな位置データを用いて、自律移動体１００の移動量を推定してもよい。例えば、得られた位置データを、座標変換により、自律移動体１００からの相対的な位置を表す座標（例えば、二次元ならＸ−Ｙ座標、三次元ならＸ−Ｙ−Ｚ座標）（所定の座標の一例）の座標値とした位置データに変換できる。
【００４７】
本実施形態においては、得られた位置データを、上記のＸ−Ｙ座標の座標値として位置データを定義して、自律移動体１００の移動量を推定する。これにより、移動領域における自律移動体１００の実際の移動量を直接的に推定できる。
【００４８】
位置データ取得部３において得られる位置データは、車輪２１ａ、２１ｂの使用による径変化の影響を受けていない座標値データである。従って、本実施形態においては、位置データ取得部３において取得された複数の位置データを、移動領域における自律移動体１００の実際の移動量により近い移動量を算出するために用いている。
【００４９】
また、図１に示すように、位置データ取得部３は、前方データ取得部３１と後方データ取得部３３とにより構成されている。前方データ取得部３１は、自律移動体１００の前方に取り付けられており、自律移動体１００の前方に存在する物体からの位置データを取得できる。一方、後方データ取得部３３は、自律移動体１００の進行方向の後方に取り付けられており、自律移動体１００の後方に存在する物体からの位置データを取得できる。
【００５０】
本実施形態においては、前方データ取得部３１の位置データ取得可能範囲が、後方データ取得部３３の位置データ取得可能領域よりも広くなっている。例えば、本実施形態においては、後方データ取得部３３が後方データ取得部３３を中心とした半径１０ｍ程度の自律移動体１００の後方の１８０°程度の範囲の物体を検出できる一方、前方データ取得部３１は、前方データ取得部３１を中心とした半径３０ｍ程度の自律移動体１００の前方の２７０°程度の範囲に存在する物体を検出可能となっている。
【００５１】
こうして、位置データ取得部３は、自律移動体１００を中心とした（特に、自律移動体１００の前方において）より広い範囲に存在する物体を検出できる。なお、上記の前方データ取得部３１の物体の検出範囲と後方データ取得部３３の物体の検出範囲は、上記の検出範囲に限られず、必要に応じて、適宜適切な検出範囲を設定できる。
【００５２】
また、本実施形態において、前方データ取得部３１及び／又は後方データ取得部３３は、上記の本体部１の上方（の前方及び後方）に取り付けられている。これにより、移動領域の床面などに設置された物体の移動が頻繁に行なわれる場合に（例えば、大規模小売店などのように、棚や看板のレイアウト変動が頻繁に行われる場合に）、前方データ取得部３１及び後方データ取得部３３により取得された複数の位置データにより形成される投影物体像の時間的な変化（特に、ある時間に存在した物体が、他の時間において存在しないような変化）を低減できる。
【００５３】
従来の技術では、移動領域に設置された物体の移動が頻繁に起こる場合、自律移動体１００の移動前に取得した複数の位置データにより形成される投影物体像と、移動後に取得した複数の位置データにより形成される投影物体像とが大きく異なる場合がある。移動前後において投影物体像が大きく異なっていると、移動前後の投影物体像の一方をどのように移動しても、他方の投影物体像に一致させることが困難となる。この場合、複数の位置データを用いた自律移動体１００の移動量の推定が困難となる。
【００５４】
また、従来の技術では、自律移動体１００の移動前後の投影物体像が大きく異なる場合に、移動させた投影物体像と基準となる投影物体像とが一致したと判断されても、移動させた投影物体像の移動量から推定される自律移動体１００の移動量が、実際の自律移動体１００の移動量とは大きくかけ離れる場合がある。つまり、複数の位置データに基づいて推定した自律移動体１００の移動量と、実際の自律移動体１００の移動量との間に、大きな誤差が生じる場合がある。
【００５５】
それら問題を解決するために、本実施形態では、上述したように、前方データ取得部３１及び／又は後方データ取得部３３を本体部１の上部に（例えば、人の頭や商品棚の高さを超える位置）設置して移動が頻繁に行なわれる物体を検知する可能性を低減している。この結果、前方データ取得部３１及び後方データ取得部３３（位置データ取得部３）により取得した複数の位置データを用いることで、大きな誤差などを生じることなく、つまり精度よく自律移動体１００の移動量を推定できる。
【００５６】
制御部５は、走行部２を制御する。また、制御部５は、走行部２を制御するために自律移動体１００の移動領域における位置を推定する。
【００５７】
自律移動体１００が上記の構成を有することにより、自律移動体１００は移動領域における自身の存在位置を推定しつつ、予め決められた走行経路を、自律的に移動できる。
【００５８】
図１に示すように、第１実施形態の自律移動体１００は、取付部材９を介して本体部１に取り付けられた操作部７をさらに備えている。図１に示すように、操作部７は、回動可能な操作ハンドル７１ａ、７１ｂを有し、操作ハンドル７１ａ、７１ｂのそれぞれの操作量（回動量）を制御部５に出力可能となっている。これにより、制御部５は、操作ハンドル７１ａ、７１ｂの操作量に応じて、モータ２３ａ、２３ｂを制御する駆動信号を算出可能となる。
【００５９】
自律移動体１００が上記の操作部７を備えることにより、操作者が自律移動体１００を操作可能となる。具体的には、操作者が操作ハンドル７１ａ、７１ｂを回動するなどして車輪２１ａ、２１ｂの回動量や回転速度を調整することにより、操作者は自律移動体１００を操作できる。
【００６０】
また、上記のように、制御部５は自律移動体１００の移動領域における位置を推定可能となっている。そのため、例えば、操作者が操作部７を用いて自律移動体１００を操作している時に所定の時間間隔にて自律移動体１００の位置を推定し、推定された位置を記憶部５１などに記憶することにより、自律移動体１００（制御部５）に、操作者による自律移動体１００の操作を、上記の予め決められた走行経路として教示できる。
【００６１】
なお、自律移動体１００に走行経路を教示する方法は、上記した、操作者が操作部７を用いて自律移動体１００を操作する間に自律移動体１００の位置を推定して記憶する方法に限られない。例えば、移動領域を表す移動座標上の（複数の）座標点を記憶したデータにおいて、座標点を示す値を直接操作（あるいは直接入力）することによっても、自律移動体１００に走行経路を教示できる。または、自律移動体１００の移動領域における位置（移動座標の座標値）を指定するその他の方法によって、自律移動体１００に走行経路を教示できる。
【００６２】
また、第１実施形態の自律移動体１００は、補助輪部８をさらに備える。補助輪部８は、２つの補助車輪８ａ、８ｂを有する。２つの補助車輪８ａと８ｂは、それぞれが独立に回転可能なように本体部１の後方底部に取り付けられている。補助輪部８を備えることにより、自律移動体１００は安定に、かつ、スムーズに移動できる。
【００６３】
（２）制御部の構成
Ｉ．制御部の全体構成
次に、制御部５の全体構成について図２を用いて説明する。制御部５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ハードディスク装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、記憶媒体読み出し装置などにより構成される記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどにより実現できる。また、以下に示す制御部５の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、制御部５の各部の機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
【００６４】
また、制御部５は、複数のマイコンシステムにより構成されていてもよい。例えば、後述する移動量推定部５３（移動量推定装置の一例）と、走行制御部５７と、制御部５の残りの構成要素とを個別のマイコンシステムにより構成してもよい。
【００６５】
制御部５は、記憶部５１と、移動量推定部５３と、位置推定部５５と、走行制御部５７と、を有する。記憶部５１は、制御部５を構成する記憶装置の記憶領域の少なくとも一部に対応する。記憶部５１は、自律移動体１００が移動領域を自律的に移動するために必要な移動経路に関する情報などを記憶する。移動経路に関する情報は、例えば、自律移動体１００が自律移動中に通過すべき移動領域における位置に対応する移動座標における座標値を表すデータや、移動領域を表す地図情報（グローバルマップ、または、環境地図と呼ばれることもある）などである。その他、記憶部５１は、自律移動体１００の動作に必要な各種設定値などを記憶している。
【００６６】
移動量推定部５３は、自律移動体１００が移動した距離を推定する。そのため、移動量推定部５３は移動量算出部５３１を有している。移動量算出部５３１は、位置データ取得部３が取得した複数の位置データと、走行部２のモータ２３ａ、２３ｂのエンコーダなどにより測定された車輪２１ａ、２１ｂの回転量などとに基づいて、自律移動体１００が移動した距離（移動量）を算出する。
【００６７】
位置推定部５５は、自律移動体１００の移動領域における存在位置を推定する。本実施形態において、位置推定部５５は、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）法などを用いて、現在位置に存在する自律移動体１００の周囲の壁や障害物などの物体の位置を示す地図情報（ローカルマップ）と、予め記憶されていた移動領域（の全体、又は、自律移動体１００が移動する領域を少なくとも含む一部）を示す地図情報（グローバルマップ、環境地図）とのマップマッチング結果に基づいて、自律移動体１００の現在位置を推定する。
【００６８】
具体的には、位置推定部５５は、まず、移動量推定部５３にて推定された移動量に所定の誤差分を追加して算出した「仮の現在位置」を複数個生成する。上記の仮の現在位置は、例えば、移動前に推定されていた自律移動体１００の位置に、上記の誤差分を追加した移動量を加えることにより算出できる。
【００６９】
次に、上記の仮の現在位置のそれぞれに対して、現在位置において位置データ取得部３を用いて取得した複数の位置データを用いて、上記のローカルマップを生成する。その後、位置推定部５５は、複数個生成したローカルマップのうち、上記の環境地図と最もよく一致したローカルマップを生成したときの仮の現在位置を、自律移動体１００の現在位置と推定する。
【００７０】
また、自律移動体１００が周囲に壁などが存在しない領域を移動しているために複数の位置データを取得できないとき、又は、分岐などがない直線的な通路を自律移動体１００が移動しているため地図情報に時間的な変化がほとんどない場合などは、位置推定部５５は、移動前に推定された位置に、移動量推定部５３から入力した移動量を加えることにより、自律移動体１００の現在位置を推定できる。
【００７１】
さらに、位置推定部５５は、操作者が操作部７を用いて自律移動体１００を操作しているときには、所定の時間間隔（例えば、制御周期毎）にて上記の方法により自律移動体１００の位置を推定して、推定した位置についての情報（座標値など）を記憶部５１に記憶してもよい。これにより、位置推定部５５は、操作者による自律移動体１００の移動操作を記憶部５１に記憶できる。
【００７２】
なお、位置推定部５５は、現在位置において作成したローカルマップを用いて、上記の環境地図を更新して記憶部５１に記憶してもよい。これにより、移動領域中において障害物などの位置が変更された場合でも、障害物などの位置が変更された後の新しい環境地図を作成し記憶できる。
【００７３】
走行制御部５７は、自律移動体１００が自律的に移動するときには、自律移動体１００を、現在位置から、記憶部５１に記憶された予め決められた移動経路（例えば、上記の操作者による移動操作により移動した経路）に含まれる所定の目標位置まで走行するように、走行部２を制御する。
【００７４】
なお、走行制御部５７は、モータ２３ａ、２３ｂのそれぞれに対して個別に駆動信号を出力する。すなわち、モータ２３ａ、２３ｂはそれぞれが異なる回転速度にて回転できる。例えば、自律移動体１００を直進走行させたい場合には、モータ２３ａ、２３ｂを同じ回転速度にて回転させる。一方、モータ２３ａ、２３ｂのそれぞれを異なる回転速度にて回転させると、自律移動体１００は回転運動（左折又は右折）できる。
図１に示した走行部２のように、２つの車輪２１ａ、２１ｂのそれぞれを個別にモータ２３ａ、２３ｂにより回転させて走行する走行部を、「差動二輪型」の走行部と呼ぶこともある。
【００７５】
また、走行制御部５７は、操作部７から操作ハンドル７１ａ、７１ｂの回動量（操作量）を入力し、入力した回動量から上記の駆動信号を算出し、モータ２３ａ、２３ｂに出力可能となっている。これにより、自律移動体１００は、操作ハンドル７１ａ、７１ｂを操作する操作者により操作可能となる。
【００７６】
走行制御部５７としては、例えば、フィードバック制御理論を用いた制御装置などを用いることができる。フィードバック制御理論を用いた制御装置を走行制御部５７として用いる場合、走行制御部５７は、モータ２３ａ、２３ｂの出力回転軸に取り付けられたエンコーダからのパルス信号を入力し、モータ２３ａ、２３ｂの回転数を制御指令に示したとおりに制御できる。
【００７７】
（３）移動量算出部の構成
次に、第１実施形態の移動量算出部５３１の構成について、図３を用いて説明する。第１実施形態の移動量算出部５３１は、第１推定部５３１１と、第２推定部５３１２と、を有している。
【００７８】
第１推定部５３１１は、位置データ取得部３によって取得した複数の位置データを用いて、自律移動体１００が移動したときの移動量を算出する。具体的には、第１推定部５３１１は、自律移動体１００の移動前に取得した複数の位置データと、移動後に取得した複数の位置データとに基づいて、自律移動体１００の移動量を算出する。
【００７９】
第２推定部５３１２は、自律移動体１００が移動する間の車輪２１ａ、２１ｂの回転量に基づいて算出される車輪移動量に基づいて、自律移動体１００の移動量を推定する。車輪移動量は、例えば、基準車輪円周長さ（車輪２１ａ、２１ｂの基準の車輪径（基準車輪径）を２π倍したもの）と測定された車輪２１ａ、２１ｂの回転量などとに基づいて算出できる。
【００８０】
また、第２推定部５３１２は、上記の車輪移動量を、第２基準移動量と第１基準移動量との比較に基づいて補正する。第２基準移動量は、自律移動体１００の移動中の所定の期間における車輪２１ａ、２１ｂの回転量に基づいて算出される移動量である。また、第１基準移動量は、上記の所定の期間の前後において取得された複数の位置データを用いて第１推定部５３１１において推定された、所定の期間における自律移動体１００の移動量の推定値である。
【００８１】
第２推定部５３１２は、補正した車輪移動量を自律移動体１００の実際の移動量として推定する。これにより、複数の位置データを用いて推定された第１基準移動量を用いて、車輪移動量をより正確に補正できる。
【００８２】
本実施形態において、第２推定部５３１２は、算出した車輪移動量を、予め算出された補正係数（後述）を用いて補正する。例えば、第２推定部５３１２は、車輪移動量を補正係数倍することにより、車輪移動量を補正できる。予め算出した補正係数を用いて補正することにより、車輪移動量を補正するために用いる第２基準移動量や第１基準移動量の算出（測定）頻度を減少できる。
【００８３】
また、予め算出された補正係数を用いて車輪移動量を補正することにより、第２推定部５３１２は、壁や障害物などが周囲に存在しない広い移動領域などの位置データの取得が不可能な場所や、直線的な壁により形成される通路などの投影物体像の変化がほとんどない場所など、位置データを用いた位置推定や移動量の推定が困難な場所を自律移動体１００が移動中であっても、車輪２１ａ、２１ｂの回転量に基づいて自律移動体１００の移動量を正確に推定できる。
【００８４】
本実施形態の移動量算出部５３１は、補正係数算出部５３１３をさらに有する。補正係数算出部５３１３は、車輪２１ａ、２１ｂの回転量を、モータ２３ａ、２３ｂのエンコーダなどから第２取得指令部５３１４ｂ（後述）を介して入力して、第２基準移動量を算出する。
【００８５】
また、補正係数算出部５３１３は、算出した第２基準移動量と、第１推定部５３１１から入力した第１基準移動量とに基づいて、補正係数を、第２基準移動量と第１基準移動量との比較結果として算出する。補正係数は、例えば、第１基準移動量と第２基準移動量との比として算出できる。
【００８６】
さらに、補正係数算出部５３１３は、算出した補正係数を、記憶部５１などに記憶する。算出した補正係数を記憶することにより、第２推定部５３１２は、第２基準移動量と第１基準移動量を算出しないときであっても、補正係数を参照して車輪移動量を補正できる。
【００８７】
本実施形態の移動量算出部５３１は、補正データ取得指令部５３１４をさらに有する。補正データ取得指令部５３１４は、上記の所定の期間を決定する。本実施形態において、補正データ取得指令部５３１４は、第１取得指令部５３１４ａと第２取得指令部５３１４ｂとを有する。
【００８８】
第１取得指令部５３１４ａは、位置データ取得部３から第１推定部５３１１への位置データの入力期間を決定する。具体的には、第１取得指令部５３１４ａは、第１推定部５３１１と位置データ取得部３とを上記の所定の期間だけ接続する。これにより、第１推定部５３１１は、所定の期間の開始タイミングと終了タイミングとにおける複数の位置データを取得できる。
【００８９】
一方、第２取得指令部５３１４ｂは、モータ２３ａ、２３ｂのエンコーダなどからの信号（パルス信号）の補正係数算出部５３１３への入力期間を決定する。具体的には、第２取得指令部５３１４ｂは、モータ２３ａ、２３ｂのエンコーダなどと補正係数算出部５３１３とを上記の所定の期間だけ接続する。これにより、補正係数算出部５３１３は、所定の期間の間の車輪２１ａ、２１ｂの回転量を取得できる。
【００９０】
なお、第１取得指令部５３１４ａ及び第２取得指令部５３１４ｂは、例えば、第１取得指令部５３１４ａが位置データ取得部３にて自律移動体１００の周囲の物体を検出しない（できない）ために位置データを入力しなくなったときに、位置データの第１推定部５３１１への入力、及び／又は、モータ２３ａ、２３ｂのエンコーダなどのパルス信号の補正係数算出部５３１３への入力を遮断してもよい。
【００９１】
また、第１取得指令部５３１４ａ及び第２取得指令部５３１４ｂは、互いに同期して動作してもよいし、独立に動作してもよい。さらに、第１取得指令部５３１４ａが位置データを入力しなくなったときに限られず、決められた所定の時間毎に上記の信号の入力と遮断とを繰り返してもよい。第１取得指令部５３１４ａ及び第２取得指令部５３１４ｂは、必要に応じて、適宜、適切なタイミングにて上記の信号の入力と遮断を行える。
【００９２】
（４）自律移動体の動作
Ｉ．第１推定部における移動量の算出方法
次に、本実施形態の自律移動体１００の動作について説明する。まず、第１推定部５３１１における自律移動体１００の移動量の算出方法について説明する。上記のように、第１推定部５３１１は、自律移動体１００の移動前後に取得した複数の位置データ（例えば、移動前に取得した複数の第１位置データと、移動後に取得した複数の第２位置データ）を用いて自律移動体１００の移動量を推定する。
【００９３】
複数の位置データを用いて自律移動体１００の移動量を推定する方法としては、複数の第１位置データ又は複数の第２位置データのいずれかを所定の座標上において移動して移動させなかった方の複数の位置データに一致させた時に、移動した複数の位置データの移動量に基づいて推定する方法がある。このような移動量の推定方法としては、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）法と、ヒストグラムマッチング法とがある。
【００９４】
（ｉ）ＩＣＰ法による移動量の推定方法
ＩＣＰ法による移動量の推定方法について説明する。ＩＣＰ法は、移動させない複数の位置データ（第１位置データとする）により形成される第１投影物体像と、移動させる複数の位置データ（第２位置データとする）により形成される投影物体像（移動投影物体像）とが一致するような、複数の第２位置データの移動量を探索して推定する方法である。
【００９５】
具体的には、以下のようにして第１投影物体像と第２投影物体像とが一致するような複数の第２位置データの移動量が算出される。
まず、複数の第２位置データを移動して算出される複数の移動位置データにより形成される移動投影物体像と、複数の第１位置データにより形成される第１投影物体像との間の距離を算出する。例えば、１つの第１位置データと、当該１つの第１位置データに対応する移動位置データ（１つであっても、複数であってもよい）との間の距離を所定の個数（例えば、第１位置データの個数）分合計して算出される距離を、移動投影物体像と第１投影物体像との間の距離として算出できる。
【００９６】
次に、移動投影物体像と第１投影物体像との間の距離と所定の閾値との比較に基づいて、移動投影物体像と第１投影物体像とが一致しているかどうかを判断する。例えば、２つの投影物体像の間の距離が所定の閾値以下である場合に、これら２つの投影物体像が一致したと判断できる。２つの投影物体像が一致したと判断された場合、今回の移動投影物体像を形成する複数の移動位置データの複数の第２位置データからの移動量を、自律移動体１００の移動量と推定する。
【００９７】
一方、２つの投影物体像が一致していない場合には、今回の複数の移動位置データ（第２位置データ）をさらに移動させた後に、上記の２つの投影物体像の間の距離の算出と、２つの投影物体像が一致するかどうかの判断とを行う。これにより、２つの投影物体像が一致すると判断されるまで、移動位置データ（第２位置データ）の移動が繰り返される。なお、２つの投影物体像が一致していない場合の移動位置データ（第２位置データ）の移動量は、例えば、今回の２つの投影物体像の間の距離の算出結果と、前回の２つの投影物体像の間の距離の算出結果との比較に基づいて決定できる。
【００９８】
ＩＣＰ法による移動量の推定方法を模式的に示すと、図４のようになる。まず、例えば、第１位置データの原点である第１原点Ｏと第２位置データの原点である第２原点Ｏ’とが一致するように、Ｘ−Ｙ座標系に複数の第１位置データと複数の第２位置データとをプロットする。この場合、図４の（１）に示すような第１投影物体像（実線）と第２投影物体像（点線）とが同一座標上に形成される。この状態から、複数の第２位置データ（移動位置データ）を平行移動すると第２原点Ｏ’が移動し、回転移動すると第２位置データを定義している座標（Ｘ’−Ｙ’座標）が第１位置データを定義している座標（Ｘ−Ｙ座標）に対して傾く。
【００９９】
図４の（２）に示すように第１投影物体像と移動投影物体像とが一致したときの、第１原点Ｏと第２原点Ｏ’との間の距離が自律移動体１００の平行移動の移動距離（すなわち、移動後の第２原点Ｏ’のＸ−Ｙ座標におけるＸ座標がＸ方向の移動量に、移動後の第２原点Ｏ’のＸ−Ｙ座標におけるＹ座標がＹ方向の移動量に）に対応し、Ｘ’−Ｙ’座標の各軸（点線）のＸ−Ｙ座標の対応する軸（実線）に対する傾き角度が自律移動体１００の姿勢角度変化に対応する。
【０１００】
（ｉｉ）ヒストグラムマッチング法による移動量の推定方法
次に、ヒストグラムマッチング法による移動量の推定方法について説明する。ヒストグラムマッチング法は、図５に示すように、複数の第１位置データの座標値から生成される第１ヒストグラムと複数の第２位置データの座標値から生成される第２ヒストグラムとの一致度が最大値となるときの、第１ヒストグラム又は第２ヒストグラムの元のヒストグラムからのシフト量を自律移動体１００の移動量と推定する方法である。図５は、ヒストグラムマッチング法による移動量の推定方法を模式的に示す図である。本実施形態では第１ヒストグラムと第２ヒストグラムとの相互相関関数の値を一致度として算出するが、これに限らず、第１ヒストグラムと第２ヒストグラムとの正規化相互相関関数の値やゼロ平均正規化相互相関関数の値を一致度として算出してもよい。
【０１０１】
具体的には、以下のようにして、移動量が推定される。まず、１つの位置データと当該１つの位置データに隣接する位置データとを結ぶ直線の位置データを定義した座標の１つの軸（いずれの軸でもよい）に対する角度θの出現頻度を示すヒストグラムを生成する。
【０１０２】
次に、角度θについて算出した２つのヒストグラムの相互相関関数を、Ｈ１１（θ）＊Ｈ２１（θ−ａ）をとりうるθの値だけ加算したもの（Ｈ１１（θ）＊Ｈ２１（θ−ａ）のθに対する積分値であるとも言える）として算出する。上記のａ値が、図５において示したヒストグラムのシフト量に対応するものである。
【０１０３】
その後、上記の相互相関関数が最大値となるａ値を、角度θの移動量として算出する。角度θの移動量は、自律移動体１００の姿勢角度変化に対応する移動量である。
具体的には、例えば、算出した相互相関関数において、とりうるａ値のそれぞれに対して相互相関関数の値を算出し、算出された相互相関関数の値のうち最大であるものを算出したときのａ値を、自律移動体１００の姿勢角度変化として推定する。
【０１０４】
次に、位置データの座標値の出現頻度を示すヒストグラムを、第１位置データ、及び、第２位置データを上記のように算出した回転移動量（姿勢角度変化）を用いて回転させた位置データ（移動位置データ）のそれぞれに対して、位置データを定義した座標の各座標軸（二次元であればＸ軸及びＹ軸、三次元であればＸ軸、Ｙ軸、及びＺ軸）に対して生成する。
【０１０５】
この結果、第１位置データについてはさらに２つのヒストグラム（Ｈ１２（Ｘ）、Ｈ１３（Ｙ））（二次元の場合）が生成される。一方、移動位置データについては２つのヒストグラム（Ｈ２２（Ｘ）、Ｈ２３（Ｙ））（二次元の場合）が生成される。
【０１０６】
さらに、上記と同様にして、Ｘ軸の座標値の出現頻度を表す２つのヒストグラムＨ１２（Ｘ）、Ｈ２２（Ｘ）の相互相関関数が最大値となるヒストグラムのシフト量を、自律移動体１００のＸ軸方向の移動量と推定し、Ｙ軸の座標値の出現頻度を表す２つのヒストグラムＨ１３（Ｙ）、Ｈ２３（Ｙ）の相互相関関数が最大値となるヒストグラムのシフト量を、自律移動体１００のＹ軸方向の移動量と推定する。
【０１０７】
なお、上記のように、各座標軸の座標値の出現頻度を表す２つのヒストグラムが一致するように１つのヒストグラムをシフトさせることは、図４に示すように、第２投影物体像を第１投影物体像と一致するように複数の第２位置データを移動させることに対応する。具体的には、角度θの移動量は、複数の第２位置データを複数の第１位置データに一致するように回転移動した移動量に対応する。また、上記のＸ軸方向の移動量及びＹ軸方向の移動量は、複数の第２位置データを複数の第１位置データに一致するように平行移動した移動量に対応する。
また、上記の第２ヒストグラムをシフトさせることは、複数の第２位置データを移動して複数の移動位置データを算出することに対応しているとも言える。
【０１０８】
このように、第１推定部５３１１においては、ＩＣＰ法やヒストグラムマッチング法により、複数の位置データを用いて算出される値（ＩＣＰ法においては２つの投影物体像の間の距離。ヒストグラムマッチング法においては２つのヒストグラムの相互相関関数）に基づいて自律移動体１００の移動量が推定されている。これにより、位置データ取得部３にて取得した位置データ（のいくつか）に測定誤差（ノイズなどを原因としている）が含まれていても、第１推定部５３１１は、当該測定誤差による影響を低減して移動量を推定できる。
【０１０９】
また、上記の複数の第１位置データと複数の第２位置データは、移動体の移動前後という比較的短い時間間隔により取得されている。このため、第１推定部５３１１においては、第１投影物体像に存在していた像が第２投影物体像において存在していなかったり、その逆に、第１投影物体像に存在していない像が第２投影物体像において存在していたりする際に発生する環境変化問題が発生しにくい。
【０１１０】
環境変化問題とは、ローカルマップとグローバルマップとのマップマッチング結果により自律移動体１００の移動量と位置を推定するＳＬＡＭ法など、位置データ取得部３などにより取得した地図情報のマッチングにより移動量や位置を推定する際に発生する問題のことを言う。
例えば、グローバルマップに存在していた物体がローカルマップに存在しない、及び／又は、グローバルマップに存在していない物体がローカルマップに存在していると、計算上は２つのマップ（地図情報）が一致したと判断されても、推定された移動量と位置とが実際の移動量や位置とは大きく食い違うことがある。
【０１１１】
上記のように、第１位置データと第２位置データを短期間に取得すると、当該２つの位置データの間に周囲環境変化が発生しにくくなる。その結果、第１推定部５３１１においては精度よく移動量を推定できる。
【０１１２】
ＩＩ．補正係数の算出方法
次に、補正係数算出部５３１３における補正係数の算出方法について、図６を用いて説明する。補正係数算出部５３１３においては、所定の期間（例えば、補正データ取得指令部５３１４における位置データ及び／又は車輪２１ａ、２１ｂの回転量の入力期間により決まる）における車輪２１ａ、２１ｂの回転量に基づいて算出された第２基準移動量と、所定の期間における自律移動体１００の第１推定部５３１１における移動量の算出値（すなわち、第１基準移動量）との比較に基づいて、補正係数が算出される。
【０１１３】
具体的には、まず、第１取得指令部５３１４ａが位置データを第１推定部５３１１に入力可能とし、また、第２取得指令部５３１４ｂがモータ２３ａ、２３ｂのエンコーダからのパルス信号を補正係数算出部５３１３に入力可能とする。（ステップＳ１００１）。
このとき、第１推定部５３１１は、位置データ取得部３から、自律移動体１００の移動前の（所定の期間の開始タイミングにおける）複数の位置データ（第１位置データに対応）を取得し、記憶部５１に記憶する。
【０１１４】
一方、補正係数算出部５３１３は、モータ２３ａ、２３ｂのエンコーダからのパルス信号の入力を開始して、車輪２１ａ、２１ｂの回転量の測定を開始する（ステップＳ１００２）。
【０１１５】
その後、第１推定部５３１１及び補正係数算出部５３１３は、位置データの第１推定部５３１１への入力を開始し、車輪２１ａ、２１ｂの回転量（エンコーダからのパルス信号）の補正係数算出部５３１３への入力を開始してから所定の期間経過したかどうか判断する（ステップＳ１００３）。
【０１１６】
第１位置データの取得及び車輪２１ａ、２１ｂの回転量の入力を開始してから所定の期間経過していないと判断された場合（ステップＳ１００３において「Ｎｏ」の場合）、補正係数の算出プロセスはステップＳ１００２に戻り、補正係数算出部５３１３が、車輪２１ａ、２１ｂの回転量を測定し続ける。
【０１１７】
一方、第１位置データの取得及び車輪２１ａ、２１ｂの回転量の入力を開始してから所定の期間経過したと判断された場合（ステップＳ１００３において「Ｙｅｓ」の場合）、第１推定部５３１１は、位置データ取得部３から複数の位置データ（第２位置データに対応）を取得し、記憶部５１に記憶する（ステップＳ１００４）。
【０１１８】
その後、補正データ取得指令部５３１４の第１取得指令部５３１４ａが、位置データの第１推定部５３１１への入力を遮断する。また、第２取得指令部５３１４ｂが、モータ２３ａ、２３ｂのエンコーダなどからのパルス信号の補正係数算出部５３１３への入力を遮断する。これにより、第１基準移動量と第２基準移動量とを算出するための所定の期間が決定される。
【０１１９】
モータ２３ａ、２３ｂのエンコーダなどからのパルス信号の遮断後、補正係数算出部５３１３は、所定の期間の間の車輪２１ａ、２１ｂの回転量を、所定の期間の間のパルス信号に含まれるパルス数から算出する（ステップＳ１００５）。具体的には、所定の期間に測定されたパルス信号のパルス数と、車輪２１ａ、２１ｂが１回転したときのパルス信号に含まれるパルス数（予め決定可能な一定値）との比により、車輪２１ａ、２１ｂの回転量を算出できる。
【０１２０】
その後、第１推定部５３１１は、取得した複数の第１位置データと複数の第２位置データとを用いて、上記にて説明した自律移動体１００の移動量の推定方法により、第１基準移動量を所定の期間の間に自律移動体１００が移動した移動量として算出する（ステップＳ１００６）。
【０１２１】
一方、補正係数算出部５３１３は、所定の期間の間の車輪２１ａ、２１ｂの回転量から、所定の期間の間の車輪２１ａ、２１ｂによる自律移動体１００の移動量（車輪移動量）を第２基準移動量として算出する（ステップＳ１００７）。
具体的には、補正係数算出部５３１３は、所定の期間の間の車輪２１ａ、２１ｂの回転量と、予め決められた車輪２１ａ、２１ｂの径（基準車輪径）の円周長さ（すなわち、２π×基準車輪径）とに基づいて、第２基準移動量を算出する。
【０１２２】
基準車輪径は、ある所定の時点における車輪２１ａ、２１ｂの径である。基準車輪径は、例えば、車輪２１ａ、２１ｂの使用前の車輪径である。このように、第２基準移動量は、車輪２１ａ、２１ｂの径変化を考慮することなく算出される仮定的な車輪２１ａ、２１ｂの回転量に基づく移動量であると分かる。
【０１２３】
第１基準移動量及び第２基準移動量を算出後、補正係数算出部５３１３は、補正係数を算出する（ステップＳ１００８）。
本実施形態において、補正係数算出部５３１３は、第１基準移動量と第２基準移動量との比（第１基準移動量／第２基準移動量）を、補正係数として算出する。補正係数を算出後、補正係数算出部５３１３は、算出した補正係数を記憶部５１などに記憶して、補正係数算出プロセスを終了する。
【０１２４】
上記のように、補正係数算出部５３１３が第１基準移動量及び第２基準移動量を用いて補正係数を算出して記憶部５１などに記憶することにより、第２基準移動量と第１基準移動量の算出頻度を低減できる。
【０１２５】
なお、上記の補正係数の算出方法の変形例として、補正係数算出部５３１３は、上記の第１基準移動量と第２基準移動量との比をさらに更新係数倍して補正係数としてもよい。この場合、更新係数は、例えば、１より小の正値である所定の値を有している。これにより、第１基準移動量と第２基準移動量との比が前回の算出時よりも大きく変化することにより、同じ車輪２１ａ、２１ｂの回転に対して大きく異なる移動量が算出されることを抑制できる。なお、更新係数が１より大の正値である所定の値を有していてもよい。この場合、第１基準移動量と第２基準移動量との比が前回の算出時と大きく変化しない場合でも、移動量をより大きく（積極的に）補正することができる。
【０１２６】
ＩＩＩ．自律移動体の動作
次に、本実施形態の自律移動体１００の具体的な動作について、図７を用いて説明する。以下においては、自律移動体１００が記憶部５１などに記憶された予め決められた複数の目標点を通過しながら、最終的な目標点まで自律的に移動するときの動作について説明する。
まず、自律移動体１００が自律的な移動を開始すると、補正係数算出部５３１３が補正係数を算出するかどうかを確認する（ステップＳ１）。
【０１２７】
例えば、補正データ取得指令部５３１４が位置データを取得可能と判断して補正係数が算出可能であると判断した場合（ステップＳ１において「Ｙｅｓ」の場合）、補正係数算出部５３１３は、上記のステップＳ１００１〜Ｓ１００８を実行して補正係数を算出する（ステップＳ２）。補正係数算出部５３１３において補正係数を算出後、自律移動のプロセスは、ステップＳ３に進む。
【０１２８】
なお、ステップＳ２において補正係数を算出するとき、補正係数算出部５３１３は、上記のステップＳ１００６及びＳ１００７にて算出した所定の期間の第１基準移動量及び第２基準移動量のそれぞれに、さらに、自律移動体１００が現在までに移動してきた移動量の第１推定部５３１１における算出値の累積値と、現在までの車輪２１ａ、２１ｂの回転数の累積値から算出した移動量とを加算して、新たな第１基準移動量及び第２基準移動量としてもよい。
【０１２９】
一方、例えば、補正データ取得指令部５３１４が位置データを取得不可能と判断して補正係数が算出不可能であると判断したか、又は、補正係数を算出しないと判断した場合（ステップＳ１において「Ｎｏ」の場合）、自律移動のプロセスは、ステップＳ３に進む。
【０１３０】
補正係数の算出後、又は、補正係数の算出が不可能である（又は補正係数の算出を行わない）と判断後、第２推定部５３１２は、モータ２３ａ、２３ｂのエンコーダからパルス信号の入力を開始する。すなわち、第２推定部５３１２は、車輪２１ａ、２１ｂの回転量の測定を開始する（ステップＳ３）。
【０１３１】
なお、ステップＳ３においては、位置データ取得部３において位置データが取得可能である場合（すなわち、第１取得指令部５３１４ａが位置データを第１推定部５３１１に入力可能となっている場合）、第１推定部５３１１は、複数の位置データを取得してもよい。
【０１３２】
車輪２１ａ、２１ｂの回転量を測定中、第２推定部５３１２は、車輪２１ａ、２１ｂの回転量の測定を開始してから一定時間が経過したかどうかを判断する（ステップＳ４）。上記の一定時間は、例えば、後述する現在位置の推定が必要となるタイミング（例えば、制御周期）など、必要に応じて任意に決定できる。
【０１３３】
車輪２１ａ、２１ｂの回転量の測定を開始してから、上記の一定時間が経過していないと判断された場合（ステップＳ４において「Ｎｏ」の場合）、自律移動のプロセスはステップＳ３に戻り、車輪２１ａ、２１ｂの回転量の測定を継続する。
【０１３４】
一方、車輪２１ａ、２１ｂの回転量の測定を開始してから上記の一定時間が経過したと判断された場合（ステップＳ４において「Ｙｅｓ」の場合）、第２推定部５３１２は、車輪２１ａ、２１ｂの回転量に基づく自律移動体１００の移動量（車輪移動量）を算出する（ステップＳ５）。
【０１３５】
具体的には、第２推定部５３１２は、まず、回転量の測定を開始してから一定時間が経過するまでの車輪２１ａ、２１ｂの回転量を、当該期間に入力したパルス信号のパルス数から算出する。次に、第２推定部５３１２は、算出した車輪２１ａ、２１ｂの回転量と、上記の基準車輪径における車輪２１ａ、２１ｂの周囲長さ（すなわち、２π×基準車輪径）とに基づいて車輪移動量を算出する。
【０１３６】
なお、上記のステップＳ３において第１推定部５３１１が複数の位置データを取得した場合、第１推定部５３１１は、上記のステップＳ５においても複数の位置データを位置データ取得部３から取得してもよい。この場合、第１推定部５３１１は、上記に説明した第１推定部５３１１における移動量の算出方法により、自律移動体１００が一定時間移動した移動前後にて取得した複数の位置データを用いて、上記の一定時間に自律移動体１００が移動した移動量を算出してもよい。
【０１３７】
上記の車輪移動量を算出後、第２推定部５３１２は、ステップＳ５にて算出した車輪移動量を補正する（ステップＳ６）。本実施形態において、第２推定部５３１２は、ステップＳ５にて算出した車輪移動量を、ステップＳ２にて算出した補正係数倍することにより、車輪移動量を補正する。これにより、第２推定部５３１２は、ステップＳ２において算出した第２基準移動量と第１基準移動量との比較に基づいてステップＳ５にて算出した車輪移動量を補正して、補正後の車輪移動量を、上記の一定時間に自律移動体１００が移動した移動量として算出できる。
【０１３８】
上記の一定時間に自律移動体１００が移動した移動量を算出後、位置推定部５５は、移動量推定部５３から上記のステップＳ６において算出された移動量を入力し、入力した移動量に基づいて、上記に説明したマップマッチングによる自律移動体１００の位置の推定方法を用いて、自律移動体１００の現在位置を推定する（ステップＳ７）。
【０１３９】
自律移動体１００の現在位置を推定後、走行制御部５７は、自律移動体１００が現在位置から次の目標位置まで移動するための駆動信号を算出し、走行部２のモータ２３ａ、２３ｂに出力する（ステップＳ８）。
【０１４０】
具体的には、走行制御部５７は、まず、位置推定部５５から上記のステップＳ７にて推定された自律移動体１００の現在位置を入力する。また、走行制御部５７は、入力した現在位置に基づいて、次の目標位置を記憶部５１などから読み出す。その後、走行制御部５７は、自律移動体１００の現在位置から、読み出した次の目標位置まで自律移動体１００を移動させるための制御指令を算出する。
走行制御部５７にて算出される制御指令は、例えば、現在位置から次の目標位置まで移動する間の時間と自律移動体１００の速度（車輪２１ａ、２１ｂの回転速度、すなわち、モータ２３ａ、２３ｂの回転速度）との関係を表したデータとして算出される。
【０１４１】
制御指令を算出後、走行制御部５７は、算出した制御指令に基づいて、モータ２３ａ、２３ｂを駆動（制御）する駆動信号を算出し、算出した駆動信号を走行部２のモータ２３ａ、２３ｂに出力する。
【０１４２】
駆動信号を走行部２に出力後、制御部５は、例えば、記憶部５１に記憶されている全ての目標位置を自律移動体１００が通過したかどうかを判断して、自律移動を終了するかどうかを判断する（ステップＳ９）。
例えば、自律移動体１００が全ての目標位置を通過していないと判断して、自律移動を継続すると判断した場合（ステップＳ９において「Ｎｏ」の場合）、自律移動のプロセスはステップＳ１に戻り、自律移動を継続する。
【０１４３】
一方、自律移動体１００が全ての目標位置を通過して自律移動を終了すると判断した場合（ステップＳ９において「Ｙｅｓ」の場合）、自律移動のプロセスを終了する。
【０１４４】
第１実施形態の移動量推定部５３においては、複数の第１位置データにより形成される第１投影物体像と、複数の移動位置データにより形成される移動投影物体像とが一致したときの、移動位置データが得られたときの第２位置データの平行移動量及び／又は回転移動の移動量が第１基準移動量とされている。言い換えると、複数の第２位置データにより形成される投影物体像を第１投影物体像に一致させるように移動した時の移動量を第１基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第１基準移動量を移動体の実際の移動量により近い値として算出できる。
【０１４５】
以上の結果、第２推定部５３１２は、複数の位置データに含まれる測定誤差による影響を低減して算出した第１基準移動量を用いて、より正確に車輪移動量を補正できる。
【０１４６】
また、第１実施形態の移動量推定部５３においては、補正係数算出部５３１３が第１基準移動量と第２基準移動量とに基づいて補正係数を算出している。また、第２推定部５３１２が、第１基準移動量と第２基準移動量との比較結果として算出された補正係数を用いて、車輪移動量を補正している。
【０１４７】
これにより、移動量推定部５３において、第２基準移動量と第１基準移動量との算出頻度を低減できる。また、自律移動体１００の周囲に壁などの障害物が存在しない広いエリアを走行中などの複数の位置データを取得できない場合でも、第２推定部５３１２は、補正係数を用いて、より正確に車輪移動量を補正し、より正確な自律移動体１００の移動量を算出できる。
【０１４８】
さらに、本実施形態の自律移動体１００の移動量推定部５３において、より正確に自律移動体１００の移動量が推定される。これにより、位置推定部５５は、より正確な自律移動体１００の位置を推定できる。その結果、走行制御部５７は、自律移動体１００を現在位置から所定の目標位置まで適切に移動させるように、走行部２を制御できる。つまり、自律移動体１００が移動量推定部５３を備えることにより、自律移動体１００は、意図した移動経路を正確に自律走行できる。
【０１４９】
なお、上記の図６及び図７に示すフローチャートにて示した補正係数の算出方法や自律移動体１００の自律移動方法などは、本発明の範囲を超えない範囲にて、任意に順番を入れ替えたり、各ステップの処理を変更したりできる。
【０１５０】
例えば、変形例として、補正係数算出部５３１３は、第１基準移動量と第２基準移動量との差を補正係数として算出してもよい。この場合、第２推定部５３１２による車輪移動量の補正は、車輪移動量を補正係数倍するのではなく、車輪移動量に補正係数を加算することで行なえる。
【０１５１】
２．第２実施形態
上記の第１実施形態の移動量算出部５３１においては、補正係数算出部５３１３において算出された補正係数が適切に算出されたかどうかを確認していなかった。しかし、これに限られない。第２実施形態の移動量算出部５３１’においては、補正係数算出部５３１３において算出された補正係数が適切かどうかを評価している。
そのため、図８に示すように、第２実施形態の移動量算出部５３１’は、第１推定部５３１１と、第２推定部５３１２と、補正係数算出部５３１３と、補正データ取得指令部５３１４と、さらに、評価部５３１５と、を有している。図８は、第２実施形態に係る移動量算出部の構成を示す図である。
【０１５２】
第２実施形態の移動量算出部５３１’の第１推定部５３１１と、第２推定部５３１２と、補正係数算出部５３１３と、補正データ取得指令部５３１４とは、それぞれ、第１実施形態の第１推定部５３１１と、第２推定部５３１２と、補正係数算出部５３１３と、補正データ取得指令部５３１４と同じ構成及び機能を有しているため、ここでは説明を省略する。また、自律移動体１００の構成も、移動量算出部５３１の構成が異なる以外は同じであるので、ここでは説明を省略する。そのため、以下の説明では、評価部５３１５についてのみ説明する。
【０１５３】
評価部５３１５は、補正係数算出部５３１３にて今回算出された補正係数と、補正係数算出部５３１３において過去の期間である過去期間において算出され、記憶部５１などに記憶されていた補正係数（過去補正係数と呼ぶ）との比較結果に基づいて、今回算出された補正係数が適切に算出されたかどうかを評価する。
【０１５４】
評価部５３１５は、例えば、補正係数が第１基準移動量と第２基準移動量との比として算出された場合であって、今回算出された補正係数が１より大きな値の場合には、今回算出された補正係数を不適切に算出されたものと評価する。このように補正係数を評価するのは、以下の理由による。
なお、補正係数が第１基準移動量と第２基準移動量との差として算出された場合、評価部５３１５は、例えば、今回算出された補正係数が正値（第１基準移動量が第２基準移動量よりも大きい）の場合に、今回算出された補正係数が不適切なものであると評価する。
【０１５５】
自律移動体１００が車輪２１ａ、２１ｂを有する走行部２により床面を移動した場合、典型的には、車輪２１ａ、２１ｂの径は走行毎に減少する。本実施形態において、補正係数が１よりも大きくなることは、車輪２１ａ、２１ｂの径が車輪２１ａ、２１ｂの未使用時の径よりも大きくなっていることを意味するため、１より大きな補正係数は上記の車輪２１ａ、２１ｂの径が走行距離に応じて減少することと矛盾する。このように、一般的な現象と算出された補正係数の間に矛盾が生じる場合には、補正係数が不適切に算出されたものと評価する。
【０１５６】
また、今回算出された補正係数が過去に算出された過去補正係数よりも大きくなることも、過去補正係数が算出されてから今回の補正係数が算出されるまでに車輪２１ａ、２１ｂの交換がなされる場合などを除いて、車輪２１ａ、２１ｂの径が走行毎（使用毎）に減少することと矛盾する。よって、評価部５３１５は、今回算出された補正係数が過去に算出された過去補正係数よりも大きくなった場合にも、今回の補正係数が不適切に算出されたと評価する。
【０１５７】
移動量推定部５３が評価部５３１５を有することにより、前回算出した過去補正係数と比較して、又は、走行部２において発生する一般的な現象を考慮して、今回算出した補正係数が車輪２１ａ、２１ｂの特性に基づいて合理的に算出されているかどうかを判断できる。
【０１５８】
また、評価部５３１５は、補正係数が適切に算出されていないと評価した場合、記憶部５１などに記憶されている過去補正係数を、今回算出した補正係数として、第２推定部５３１２に出力する。すなわち、第２推定部５３１２は、今回の補正係数が適切に算出されていないと評価された場合、過去補正係数を今回算出した補正係数として用いる。
【０１５９】
これにより、今回算出された補正係数が誤った（合理的でない）値として算出された場合に、第２推定部５３１２が当該誤って算出された補正係数を用いて車輪移動量を誤って補正することを回避できる。
【０１６０】
３．第３実施形態
上記の第１実施形態及び第２実施形態の移動量算出部５３１、５３１’においては、第２推定部５３１２は、車輪２１ａ、２１ｂの基準車輪径から算出した周囲長さと、車輪２１ａ、２１ｂの回転量などとに基づいて車輪移動量を算出し、補正係数を用いて車輪移動量を補正していた。しかし、補正の対象は車輪移動量に限られない。
【０１６１】
第３実施形態の移動量算出部５３１’’においては、車輪移動量でなく、車輪２１ａ、２１ｂの車輪径に対して補正を行っている。上記のような第３実施形態の移動量算出部５３１’’は、図９に示すように、第１推定部５３１１と、第２推定部５３１２’’と、補正係数算出部５３１３と、補正データ取得指令部５３１４と、さらに、径変化算出部５３１６と、を有している。
【０１６２】
第３実施形態において、第１推定部５３１１と、補正係数算出部５３１３と、補正データ取得指令部５３１４は、第１実施形態及び第２実施形態の第１推定部５３１１と、補正係数算出部５３１３と、補正データ取得指令部５３１４と同じ構成及び機能を有する。そのため、第３実施形態の第１推定部５３１１と、補正係数算出部５３１３と、補正データ取得指令部５３１４については、説明を省略する。
【０１６３】
第２推定部５３１２’’は、基準車輪径と補正係数とに基づいて、車輪２１ａ、２１ｂの車輪径の補正を行う。例えば、第２推定部５３１２’’は、基準車輪径を補正係数倍（補正係数が第１基準移動量と第２基準移動量との比として算出された場合）することにより、車輪２１ａ、２１ｂの車輪径を補正できる。
一方、補正係数が第１基準移動量と第２基準移動量との差として算出された場合、第２推定部５３１２’’は、例えば、基準車輪径に車輪径の変化量（補正係数を車輪移動量とした場合に算出される車輪径）を加算することにより、車輪２１ａ、２１ｂの車輪径を補正できる。
【０１６４】
また、第２推定部５３１２’’は、補正後の車輪径（補正車輪径と呼ぶことにする）から車輪２１ａ、２１ｂの現在の周囲長さを算出する。さらに、第２推定部５３１２’’は、上記の現在の周囲長さと車輪２１ａ、２１ｂの回転量とに基づいて車輪移動量（すなわち、自律移動体１００の移動量）を算出する。これにより、車輪２１ａ、２１ｂの回転量に基づいて算出される自律移動体１００の移動量を補正できると同時に、車輪径の補正もできる。
【０１６５】
径変化算出部５３１６は、補正車輪径と基準車輪径との比較に基づいて、車輪２１ａ、２１ｂの径の変化を算出する。例えば、基準車輪径から補正車輪径を引いた値を、車輪２１ａ、２１ｂの径の減少量として算出できる。この他、基準車輪径と補正車輪径との比の値を、車輪２１ａ、２１ｂの径の減少量として算出してもよい。
なお、補正係数が第１基準移動量と第２基準移動量の差として算出されている場合には、補正係数を車輪移動量とした場合に算出される車輪径を、車輪２１ａ、２１ｂの径の変化とできる。
【０１６６】
移動量算出部５３１’’が径変化算出部５３１６を有することにより、車輪２１ａ、２１ｂの径の変化をモニターできる。これにより、例えば、車輪２１ａ、２１ｂの径が所定の値以上に減少した場合などに、車輪２１ａ、２１ｂの交換を促すアラームを発生させたり、操作部７の表示部（図示せず）などに車輪２１ａ、２１ｂの交換を促すメッセージなどを表示したりして、ユーザに対して、車輪２１ａ、２１ｂの交換時を通知できる。
【０１６７】
４．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
例えば、上記の第１〜第３実施形態をすべて組み合わせてもよい。この場合、移動量推定部５３’’’は、第１推定部５３１１と、第２推定部５３１２、５３１２’’と、補正係数算出部５３１３と、補正データ取得指令部５３１４と、評価部５３１５と、径変化算出部５３１６と、を有していてもよい。これにより、移動量推定部５３’’’は、上記の第１〜第３実施形態における移動量算出部５３１、５３１’、５３１’’の全ての効果を発揮できる。
【０１６８】
（Ａ）走行部の他の実施形態
上記の第１〜第３実施形態における走行部２は、二輪差動型の走行部であった。しかし、これに限られず、オムニホイールなどの他の車輪を有する走行部を用いても、上記の第１〜第３実施形態における効果を得られる。
【０１６９】
（Ｂ）第１推定部における移動量の算出方法の他の実施形態
上記の第１〜第３実施形態の第１推定部５３１１においては、上記のＩＣＰ法又はヒストグラムマッチング法のいずれか１つを用いて、自律移動体１００の移動量を算出していた。しかし、これに限られず、ＩＣＰ法とヒストグラムマッチング法とを組み合わせて、移動量を算出してもよい。例えば、自律移動体１００の回転運動の移動量（姿勢の変化量）をヒストグラムマッチング法により算出し、自律移動体１００の移動量（平行移動量）をＩＣＰ法により算出してもよい。
【０１７０】
ＩＣＰ法は、精度よく自律移動体１００の移動量を算出できる一方、以下のような問題点を有している。すなわち、自律移動体１００が姿勢を変化のみを行った場合にＩＣＰ法により姿勢変化量を算出すると、移動前後において姿勢変化の中心点がずれた状態にて移動量が算出される場合がある。すなわち、自律移動体１００が平行移動していないにも関わらず、平行移動したと推定される。一方、ヒストグラムマッチング法においては、このような回転中心の移動が発生しにくい。
【０１７１】
従って、ヒストグラムマッチング法により自律移動体１００の回転運動による姿勢変化量を算出し、ヒストグラムマッチング法により推定された姿勢変化量だけ複数の第２位置データを移動して、移動後の第２位置データと第１位置データを用いて、ＩＣＰ法により平行移動量を算出することにより、より正確な自律移動体１００の移動量を算出できる。
【０１７２】
また、ＩＣＰ法では移動量の算出のために必要な計算量が多い傾向にあるため、ＩＣＰ法とヒストグラムマッチング法とを組み合わせることにより、第１推定部５３１１における移動量の算出のために必要な計算量を減少できる。
【０１７３】
さらに、複数の位置データを用いて移動量を算出する際、複数の位置データを、予め決められた条件に基づいて決定されるいくつかのグループに分類し、１つのグループに含まれる位置データを用いて移動量を算出後に、当該移動量だけ複数の第２位置データを移動して、さらに他のグループに含まれる位置データを用いて移動量を算出してもよい。すなわち、多段的に移動量の算出を行ってもよい。これにより、特にＩＣＰ法において、移動量を算出するために必要な計算量を減少できる。
【０１７４】
（Ｃ）本体部の他の実施形態
上記の第１〜第３実施形態に係る自律移動体１００の本体部１には、位置データ取得部３の位置データ検出可能領域に干渉するような部材は特に取り付けられていなかった。しかし、これに限られず、本体部１に、位置データ取得部３の位置データ検出可能領域に少なくとも一部が入るように、既知の形状の干渉部材を取り付けてもよい。
【０１７５】
本体部１に、少なくとも一部が位置データ検出可能領域に入るように干渉部材を取り付けることにより、位置データ取得部３が正常に動作しているかどうかを確認できる。例えば、自律移動体１００の周囲に壁や障害物などの物体が存在しない場合などに、干渉部材の一部の形状に対応する投影物体像が複数の位置データのいくつかにより形成されていれば、位置データ取得部３の異常により位置データが取得されないのではなく、自律移動体１００が、物体が存在しない広い空間を移動中であると判断できる。
【０１７６】
（Ｄ）補正係数の使用に関する他の実施形態
上記の第１〜第３実施形態においては、補正係数算出部５３１３にて算出された補正係数を、車輪移動量又は車輪２１ａ、２１ｂの径の補正に用いていた。しかし、これに限られず、移動領域の床面の状態を調べるために補正係数を用いてもよい。
【０１７７】
例えば、補正係数算出部５３１３が第１基準移動量と第２基準移動量の比として補正係数を算出する実施形態の場合、補正係数が小さな値として算出された場合、移動領域の床面が濡れているか、または、砂などの自律移動体１００を滑りやすくする物体が床面上に多く存在していると判断できる。なぜなら、床面が濡れていたり、砂などにより滑りやすくなっていたりすると、車輪２１ａ、２１ｂが多く回転しても、実際の自律移動体１００の移動量は少ないからである。
【０１７８】
例えば、上記に説明した第１〜第３実施形態に係る自律移動体１００を清掃ロボットに応用した場合、補正係数に基づいて掃除箇所を決定できる。例えば、補正係数が小さな値と算出された箇所については、集中的に清掃するように清掃ロボットに指令できる。なお、補正係数算出部５３１３が第１基準移動量と第２基準移動量の差として補正係数を算出する実施形態の場合は、補正係数の絶対値が大きな値として算出された場合を検出することで、上記と同じ効果を得ることが出来る。
【０１７９】
この他、補正係数算出部５３１３にて算出された補正係数や径変化算出部５３１６にて算出された車輪径の変化量を、自律移動体１００内の及び／又は外部の記憶媒体に保存しておき、自律移動体１００の次回起動時に上記保存された補正係数や車輪径変化量を読み出して使用してもよい。これにより、補正係数や径変化量を再度算出するための所定の期間が必要なくなり、移動量や車輪径の補正を即時に行なうことができる。
【０１８０】
上記の第２実施形態においては、補正係数算出部５３１３にて算出された補正係数は、評価部５３１５のみで評価されていたが、ＳＬＡＭ法などのマップマッチングの結果に基づいて、補正係数を再度評価してもよい。例えば、第２推定部５３１２で補正された車輪移動量とマップマッチングの推定移動量（自律移動体１００の移動前の自己位置と、マップマッチングで推定された自律移動体１００の移動後の自己位置との差に相当）とを比較して、補正前の車輪移動量とマップマッチングの推定移動量との絶対誤差が小さく、補正された車輪移動量とマップマッチングの推定移動量との絶対誤差が大きい場合には、補正係数算出部５３１３にて算出された補正係数を不適切と判断してもよい。
【０１８１】
さらに、車輪移動量とマップマッチングの推定移動量との比較に基づいて補正係数を算出し直す、及び／又は、径変化を算出し直すなどしてもよい。これにより、補正係数算出部５３１３にて算出された補正係数が適切かどうかさらに評価することができる。また、必要に応じて、マップマッチングに基づいた推定移動量を用いることによっても、補正係数を算出できる（つまり、車輪移動量を補正できる）。
【０１８２】
その他、第２基準移動量（車輪移動量）に基づくマップマッチングと、第２推定部５３１２、５３１２’’で補正された移動量に基づくマップマッチングとを行う形態として、車輪移動量に基づくマップマッチングのマッチング度（事後確率の最大値など）と、第２推定部５３１２、５３１２’’で補正された移動量に基づくマップマッチングのマッチング度（事後確率の最大値など）とを比較して、第２推定部５３１２、５３１２’’で補正された移動量に基づくマップマッチングのマッチング度の値が小さい場合には、補正係数算出部５３１３にて算出された補正係数を不適切と判断してもよい。
【０１８３】
これにより、補正係数算出部５３１３にて算出された補正係数が適切どうかさらに評価することができる。なぜならば、事後確率は、マップマッチング結果の良し悪しを示す指標であって、マップマッチングの結果がよいほど、すなわち、より正確に位置が推定されているほど大きな値となるためである。
【０１８４】
上記各実施形態では、位置データ取得部として２次元の位置データを取得可能なＬＲＦを利用して自律移動体１００の２次元平面上の移動量を推定していたが、３次元の位置データを取得可能なＴｏＦカメラなどを用いることで、自律移動体１００の３次元空間内での移動量を推定することもできる。
【産業上の利用可能性】
【０１８５】
本発明は、車輪の回転により移動可能な移動体に広く適用できる。
【符号の説明】
【０１８６】
１００ 自律移動体
１     本体部
２     走行部
２１ａ、２１ｂ       車輪
２３ａ、２３ｂモータ
３     位置データ取得部
３１   前方データ取得部
３３   後方データ取得部
５     制御部
５１   記憶部
５３、５３’’’     移動量推定部
５３１、５３１’、５３１’’移動量算出部
５３１１      第１推定部
５３１２、５３１２’’      第２推定部
５３１３      補正係数算出部
５３１４      補正データ取得指令部
５３１４ａ    第１取得指令部
５３１４ｂ    第２取得指令部
５３１５      評価部
５３１６      径変化算出部
５５   位置推定部
５７   走行制御部
７     操作部
７１ａ、７１ｂ       操作ハンドル
８     補助輪部
８ａ、８ｂ    補助車輪
９     取付部材
【図１】
0006481347.tif 000002
【図２】
0006481347.tif 000003
【図３】
0006481347.tif 000004
【図４】
0006481347.tif 000005
【図５】
0006481347.tif 000006
【図６】
0006481347.tif 000007
【図７】
0006481347.tif 000008
【図８】
0006481347.tif 000009
【図９】
0006481347.tif 000010