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