JP2021149229A - 移動体、及び、位置推定方法 - Google Patents

移動体、及び、位置推定方法 Download PDF

Info

Publication number
JP2021149229A
JP2021149229A JP2020045943A JP2020045943A JP2021149229A JP 2021149229 A JP2021149229 A JP 2021149229A JP 2020045943 A JP2020045943 A JP 2020045943A JP 2020045943 A JP2020045943 A JP 2020045943A JP 2021149229 A JP2021149229 A JP 2021149229A
Authority
JP
Japan
Prior art keywords
distribution
amount
posture
moving
wheels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020045943A
Other languages
English (en)
Inventor
司 酒井
Tsukasa Sakai
司 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2020045943A priority Critical patent/JP2021149229A/ja
Publication of JP2021149229A publication Critical patent/JP2021149229A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】移動体の位置推定の精度を向上させる。【解決手段】移動体100、100’、100’’は、走行部2と、物体情報取得センサ4と、磁気センサ3と、回転量測定センサ25a、25bと、記憶部51と、制御部5と、を備える。物体情報取得センサ4は、走行部の周囲の物体情報を取得する。磁気センサ3は、磁場ベクトルを測定する。回転量測定センサ25a、25bは、走行部2の車輪21a、21bの回転量を測定する。記憶部51は、環境地図EMを記憶する。制御部5は、移動前の第1位置情報と、車輪21a、21bによる移動量と、移動前後の磁場ベクトルの変化量と、移動後の局所地図と環境地図EMとのマップマッチング結果と、に基づいて、第2位置情報を推定する。【選択図】図3

Description

本発明は、移動体、及び、当該移動体の位置推定方法に関する。
車輪の回転により所定の移動環境を自律的に移動する移動体が知られている。この移動体は、一般的には、周囲に存在する障害物と移動体との間の距離に関する情報(障害物情報と呼ぶ)を取得するセンサと、移動前後の車輪の回転量を測定するセンサとを備える。これらセンサを備える移動体は、障害物情報から生成される地図と移動環境を表す環境地図とのマップマッチング結果と、移動前後の車輪の回転量から算出される移動量とに基づいて、現在位置及び移動体の姿勢を推定する(例えば、特許文献1を参照)。
特開2010−224755号公報
上記センサから取得した情報を用いた位置推定では、走行面と車輪との「すべり」、センサから取得した情報に含まれるノイズや測定誤差などにより、実際の位置と推定された位置との間に誤差が生じる。特に、走行面と車輪とのすべりにより、センサにより測定された車輪の回転量から算出された移動量及び姿勢変化と、実際の移動量及び姿勢変化が対応しないことが多い。
走行面と車輪とのすべりに影響されずに姿勢変化を測定できるセンサとして、ジャイロセンサ(慣性センサ)、磁気センサが考えられる。これらのセンサを用いた場合でも、移動体の姿勢変化の測定値に大きな誤差が生じる場合がある。
ジャイロセンサは、周囲の温度によって測定値がドリフトする。磁気センサは、周囲に存在する磁性体等の影響によって、実際の地磁気の向きからずれた方向を磁界の向きとして検出する。この結果、上記のセンサを用いた場合であっても、移動体の姿勢の測定結果に誤差が生じる。
本発明の目的は、位置推定を行う移動体において、移動体周囲の状態及びセンサによる測定誤差の影響を最小限に抑えて位置推定の精度を向上させることにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る移動体は、所定の移動環境を自律的に移動する。この移動体は、走行部と、物体情報取得センサと、磁気センサと、回転量測定センサと、記憶部と、制御部と、を備える。
走行部は、車輪を有する。
物体情報取得センサは、走行部の周囲に存在する物体に関する物体情報を取得する。
磁気センサは、走行部における磁場の方向を表す磁場ベクトルを測定する。
回転量測定センサは、車輪の回転量を測定する。
記憶部は、上記の所定の移動環境を表す環境地図を記憶する。
制御部は、走行部が所定の移動環境の第1位置から第2位置に移動したときに、第1位置情報と、車輪による移動量と、第1位置から第2位置に移動後の磁場ベクトルの変化量と、マップマッチング結果と、に基づいて、第2位置情報を推定する。
第1位置情報は、第1位置、及び、第1位置における走行部の姿勢を表す情報である。
第2位置情報は、第2位置、及び、第2位置における走行部の姿勢を表す情報である。
車輪による移動量は、第1位置から第2位置に移動後の車輪の回転量に基づいて算出された移動量である。
マップマッチング結果は、第2位置で取得した物体情報から生成された局所地図と環境地図とをマップマッチングした結果である。
上記の移動体では、移動環境における位置推定に、車輪の回転量から算出される移動体の移動量と、第2位置における局所地図と環境地図とのマップマッチング結果に加えて、第1位置から第2位置に移動後の磁場ベクトルの変化量が用いられている。位置推定に用いる情報を増加することにより、位置推定の精度を向上できる。
また、位置推定に用いる磁場ベクトルの情報として、第1位置における磁場ベクトル、第2位置における磁場ベクトルとの絶対値的な測定結果ではなく、第1位置から第2位置に移動後の磁場ベクトルの変化量といった相対値的な測定結果が用いられている。
移動環境に存在する磁性体等が地磁気に与える影響は、第1位置と第2位置とが近い場合には、移動前の第1位置と移動後の第2位置との間ではほぼ同じであるので、第1位置から第2位置へ移動後の磁場ベクトルの変化量を位置推定に用いることで、移動体周囲の状態及びセンサによる測定誤差の位置推定に対する影響を最小限に抑えることができる。
制御部は、第1分布算出部と、第2分布算出部と、第3分布算出部と、第1位置推定部と、を有してもよい。
第1分布算出部は、第1位置情報と車輪による移動量とに基づいて、第1分布を算出する。第1分布は、第1位置から車輪による移動により走行部が到達しうる位置及び姿勢の確率分布を表す。
第2分布算出部は、第1位置情報と磁場ベクトルの変化量とに基づいて、第2分布を算出する。第2分布は、第1位置からの移動後にとりうる走行部の姿勢の確率分布を表す。
第3分布算出部は、マップマッチング結果に基づいて、第3分布を算出する。第3分布は、第1位置から移動後に到達しうる走行部の位置及び姿勢の確率分布を表す。
第1位置推定部は、第1分布、第2分布、及び第3分布を重ね合わせて最終分布を算出し、当該最終分布において最大の確率を示す走行部の位置及び姿勢を第2位置情報として推定する。
これにより、車輪の回転量から算出される移動体の移動量と、第1位置から第2位置に移動後の磁場ベクトルの変化量と、第2位置における局所地図と環境地図とのマップマッチング結果と、を考慮した最終分布を用いて精度よく第2位置情報を推定できる。
前記制御部は、第4分布算出部と、第5分布算出部と、第6分布算出部と、第2位置推定部と、を有してもよい。
第4分布算出部は、第1位置情報と車輪による移動量とに基づいて、第4分布を算出する。第4分布は、第1位置から車輪による移動により走行部が到達しうる位置及び姿勢の確率分布を表す。
第5分布算出部は、磁場ベクトルの変化量と第4分布とに基づいて、第5分布を算出する。
第6分布算出部は、マップマッチング結果と第5分布とに基づいて、第6分布を算出する。
第2位置推定部は、第6分布において最大の確率を示す走行部の位置及び姿勢を第2位置情報として推定する。
これにより、車輪の回転量から算出される移動体の移動量に基づく第4分布を、第1位置から第2位置に移動後の磁場ベクトルの変化量及び第2位置における局所地図と環境地図とのマップマッチング結果を用いて修正した第6分布を得られ、当該第6分布を用いて精度よく第2位置情報を推定できる。
制御部は、磁場ベクトルの変化量が所定の閾値より大きければ、第2位置情報の推定における磁場ベクトルの変化量の影響割合を小さくしてもよい。
これにより、第1位置と第2位置との間で磁場ベクトルの状態が大きく異なり、磁場ベクトルの変化量から算出される移動体の姿勢(変化)に誤差が生じる可能性がある場合に、位置推定における磁場ベクトルの変化量の寄与を減らして、精度よく第2位置情報を推定できる。
制御部は、さらに、第1位置にて取得した物体情報から生成された第1局所地図と第2位置にて取得した物体情報から生成された第2局所地図との間のずれ量を加味して、第2位置情報を推定してもよい。すなわち、制御部は、車輪の回転量から算出される移動体の移動量と、第2位置の周囲に存在する物体に関する物体情報と環境地図とのマップマッチング結果と、第1位置から第2位置に移動後の磁場ベクトルの変化量に加えて、さらに、第1位置における第1局所地図と第2位置における第2局所地図とのずれ量を加味して第2位置情報を推定してもよい。これにより、位置推定の精度を向上できる。
本発明の他の見地に係る位置推定方法は、車輪を有する走行部を備える移動体が、所定の移動環境を第1位置から第2位置に自律的に移動したときに、第2位置情報を推定する方法である。第2位置情報は、第2位置及び第2位置における走行部の姿勢を表す。
位置推定方法は、以下のステップを備える。
◎第1位置から第2位置に移動後の磁場の方向を表す磁場ベクトルの変化量を測定するステップ。
◎第1位置から第2位置に移動後の車輪の回転量を測定するステップ。
◎第2位置において前記走行部の周囲に存在する物体に関する物体情報を取得するステップ。
◎第1位置情報と、車輪による移動量と、第1位置から第2位置に移動後の磁場ベクトルの変化量と、マップマッチングの結果と、に基づいて第2位置情報を推定するステップ。第1位置情報は、第1位置、及び、第1位置における走行部の姿勢を表す情報である。車輪による移動量は、第1位置から第2位置に移動後の車輪の回転量に基づいて算出された移動量である。マップマッチング結果は、第2位置で取得した物体情報から生成された局所地図と環境地図とをマップマッチングした結果である。
上記の位置推定方法では、車輪の回転量から算出される移動体の移動量と、第2位置における局所地図と環境地図とのマップマッチング結果に加えて、第1位置から第2位置に移動後の磁場ベクトルの変化量が用いられている。位置推定に用いる情報を増加することにより、位置推定の精度を向上できる。
また、位置推定に用いる磁場ベクトルの情報として、第1位置における磁場ベクトル、第2位置における磁場ベクトルとの絶対値的な測定結果ではなく、第1位置から第2位置に移動後の磁場ベクトルの変化量といった相対値的な測定結果が用いられている。
移動環境に存在する磁性体等が地磁気に与える影響は、第1位置と第2位置とが近い場合には、移動前の第1位置と移動後の第2位置との間ではほぼ同じであるので、第1位置から第2位置へ移動後の磁場ベクトルの変化量を位置推定に用いることで、移動体周囲の状態及び測定誤差の位置推定に対する影響を最小限に抑えることができる。
第2位置情報を推定するステップは、以下のステップを含んでもよい。
◎第1位置情報と車輪による移動量とに基づいて、第1位置から車輪による移動により走行部が到達しうる位置及び姿勢の確率分布を表す第1分布を算出するステップ。
◎第1位置情報と磁場ベクトルの変化量とに基づいて、第1位置からの移動後にとりうる走行部の姿勢の確率分布を表す第2分布を算出するステップ。
◎マップマッチング結果に基づいて、第1位置からの移動後に到達しうる走行部の位置及び姿勢の確率分布を表す第3分布を算出するステップ。
◎第1分布、前記第2分布、及び前記第3分布を重ね合わせて最終分布を算出するステップ。
◎最終分布において最大の確率を示す走行部の位置及び姿勢を第2位置情報として推定するステップ。
これにより、車輪の回転量から算出される移動体の移動量と、第1位置から第2位置に移動後の磁場ベクトルの変化量と、第2位置における局所地図と環境地図とのマップマッチング結果と、を考慮した最終分布を用いて精度よく第2位置情報を推定できる。
第2位置情報を推定するステップは、以下のステップを含んでもよい。
◎第1位置情報と車輪による移動量とに基づいて、第1位置から車輪による移動により走行部が到達しうる位置及び姿勢の確率分布を表す第4分布を算出するステップ。
◎磁場ベクトルの変化量と第4分布とに基づいて、第5分布を算出するステップ。
◎マップマッチング結果と第5分布とに基づいて、第6分布を算出するステップ。
◎第6分布において最大の確率を示す走行部の位置及び姿勢を第2位置情報として推定するステップ。
これにより、第1位置から第2位置に移動後の磁場ベクトルの変化量及び第2位置における局所地図と環境地図とのマップマッチング結果を用いて車輪の回転量から算出される移動体の移動量に基づく第4分布を修正した第6分布に基づいて、精度よく第2位置情報を推定できる。
第2位置情報を推定するステップにおいて、磁場ベクトルの変化量が所定の閾値より大きければ、第2位置情報の推定における磁場ベクトルの変化量の影響割合を小さくしてもよい。
これにより、第1位置と第2位置との間で磁場ベクトルの状態が大きく異なり、磁場ベクトルの変化量から算出される移動体の姿勢(変化)に誤差が生じる可能性がある場合に、位置推定における磁場ベクトルの変化量の寄与を減らして、精度よく第2位置情報を推定できる。
第2位置情報を推定するステップは、以下のステップをさらに含んでもよい。
◎第1位置において走行部の周囲に存在する物体に関する物体情報を取得するステップ。
◎第1位置情報と、車輪による移動量と、磁場ベクトルの変化量と、第1局所地図と第2局所地図との間のずれ量と、第2位置で取得した物体情報から生成された局所地図と環境地図とのマップマッチング結果と、に基づいて第2位置情報を推定するステップ。第1局所地図は、第1位置にて取得した物体情報から生成された局所地図である。第2局所地図は、第2位置にて取得した物体情報から生成された局所地図である。
これにより、車輪の回転量から算出される移動体の移動量と、第2位置における局所地図と環境地図とのマップマッチング結果と、第1位置から第2位置に移動後の磁場ベクトルの変化量に加えて、さらに、第1位置における第1局所地図と第2位置における第2局所地図とのずれ量を加味して第2位置情報を推定して、位置推定の精度を向上できる。
位置推定を行う移動体において、移動体周囲の状態及びセンサによる測定誤差の影響を最小限に抑えて位置推定の精度を向上できる。その結果、移動環境における移動体の正確な自己位置を知ることができる。
第1実施形態の移動体の構成を示す図。 制御部の制御構成を示す図。 第1実施形態に係る走行制御部の機能ブロック構成を示す図。 移動体の移動環境における位置及び姿勢の定義の一例を示す図。 移動体の自律移動動作を示すフローチャート。 第1実施形態に係る位置推定動作を示すフローチャート。 第1分布の一例を示す図。 第2分布の一例を示す図。 第3分布の一例を示す図。 最終分布の一例を示す図。 移動環境の磁気マップの一例を示す図。 第2実施形態に係る走行制御部の機能ブロック構成を示す図。 第2実施形態に係る位置推定動作を示すフローチャート。 第3実施形態に係る走行制御部の機能ブロック構成を示す図。 第3実施形態に係る位置推定動作を示すフローチャート。
1.第1実施形態
(1)移動体の全体構成
以下、図1及び図2を用いて、本発明の第1実施形態に係る移動体100の全体構成を説明する。図1は、第1実施形態の移動体の構成を示す図である。図2は、制御部の制御構成を示す図である。
第1実施形態に係る移動体100は、所定の移動環境を自律的に走行する装置であり、例えば、自律走行型のロボット、当該ロボットに使用される走行装置である。図1に示すように、移動体100は、本体1と、走行部2と、磁気センサ3と、物体情報取得センサ4(図2)と、制御部5と、備える。
本体1は、移動体100の本体を構成する筐体であり、本体1の下部に設けられた下部フレームLFと、下部フレームLFから所定の高さの位置に設けられた中間フレームMFと、中間フレームMFから所定の高さの位置に設けられた上部フレームUFと、を有する。
走行部2は、移動体100を走行駆動する。
具体的には、走行部2は、それぞれが下部フレームLFに並んで設けられた一対の車輪21a、21bと、車輪21a、21bのそれぞれに対応して設けられた一対のモータ23a、23bと、を有している。本実施形態の走行部2は、各モータ23a、23bが対応する車輪21a、21bを独立して回転させる二輪差動型の走行部である。
なお、二輪差動型の走行部2は、一対の車輪21a、21bが並んだ方向とは同一平面内で垂直な方向に進んだときに直進する。従って、以下の説明では、一対の車輪21a、21bが並んだ方向とは同一平面内で垂直な方向を、走行部2(移動体100)の直進方向と呼ぶことにする。その一方、一対の車輪21a、21bが並んだ方向と平行な方向を走行部2(移動体100)の幅方向と呼ぶことにする。
一対のモータ23a、23bの出力回転軸には、それぞれ、回転量測定センサ25a、25b(図2)が接続されている。回転量測定センサ25a、25bは、それぞれ、車輪21a、21bの回転量を測定する。回転量測定センサ25a、25bは、例えば、インクリメンタル型のエンコーダである。インクリメンタル型のエンコーダである回転量測定センサ25a、25bは、モータ23a、23bの出力回転軸、すなわち、車輪21a、21bが回転するとパルス信号を発生する。車輪21a、21bの回転量は、回転量測定センサ25a、25bから発生したパルス数に基づいて算出できる。
二輪差動型の走行部2は、車輪21a、21bを同一の回転速度にて回転することにより、移動体100(本体1)を直進させることができる。また、2つの車輪21a、21bの回転方向を同一としつつ回転速度を異ならせることにより、移動体100は移動方向を変化させながら直進又は後進する。さらに、2つの車輪21a、21bを互いに逆方向に同一の回転速度にて回転させることにより、移動体100をその場で回転できる。
磁気センサ3は、上部フレームUFに取り付けられ、移動体100(本体1)が移動する移動環境における磁場を測定する。具体的には、磁気センサ3は、移動体100の直進方向における磁場の強度成分Iと、移動体100の幅方向における磁場の強度成分Iと、移動体100の高さ方向における磁場の強度成分Iと、を測定する。これら3つの強度成分を三次元ベクトルの各成分とするベクトル((I,I,I)と表されるベクトル)は、ゼロ磁場(すなわち、磁場が存在しない)を原点とする磁場の方向を表すベクトルであり、以降の説明では「磁場ベクトル」と呼ぶことにする。
物体情報取得センサ4は、走行部2の周囲に存在する物体に関する情報(物体情報と呼ぶ)を取得する。具体的には、物体情報取得センサ4は、周囲にある物体から移動体100までの距離を物体情報として二次元的に又は三次元的に取得するためのセンサであり、本体1において、移動体100の直進方向の前後にそれぞれ設けられた前方レーザレンジセンサ及び後方レーザレンジセンサである。
レーザレンジセンサは、例えば、レーザ発振器によりパルス発振されたレーザ光を障害物などの目標物に照射し、目標物から反射した反射光をレーザ受信機により受信することにより、目標物までの二次元的な距離を物体情報として算出するレーザレンジファインダ(LRF:Laser Range Finder)である。これらは、照射するレーザ光を回転ミラーを用いて所定の角度で扇状にレーザ光を走査できる。
また、物体情報取得センサ4としては、三次元的な距離を物体情報として取得するものとして、ステレオカメラやTOF(Time Of Flight)カメラを採用できる。
制御部5は、中間フレームMFに取り付けられ、CPU(Central Processing Unit)、ストレージとしての記憶装置(RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などの記憶装置により構成される)、及び各種インターフェースなどを備えるコンピュータシステムである。
制御部5は、磁気センサ3にて得られた磁気ベクトルと、物体情報取得センサ4にて得られた物体情報と、回転量測定センサ25a、25bにて得られた車輪21a、21bの回転量とに基づいて、移動体100の移動環境における位置及び当該位置における移動体100の向き(姿勢)を推定し、推定された位置及び姿勢に基づいて、移動体100の移動を制御する。この機能を有する制御部5の詳細については、後ほど説明する。
移動体100は、必要に応じて、他の構成要素を有していてもよい。図1に示すように、移動体100は、操作部6を有してもよい。操作部6は、例えばキーボード又はタッチパネルなどの入力インターフェースであり、ユーザによる移動体100に関する各種設定の入力を受け付ける。操作部6にて受け付けたユーザによる入力は、適切な信号変換がなされて、制御部5に出力される。
操作部6は、現在の走行状況に関する情報、その他の各種情報を表示するディスプレイを有してもよい。ディスプレイとしては、例えば、液晶ディスプレイ、有機ELディスプレイなどを用いることができる。また、ディスプレイとタッチパネルは一体となっていてもよい。
(2)制御部の構成
(2−1)全体構成
以下、移動体100を制御する制御部5の構成を説明する。まず、図2を用いて、制御部5の全体構成を説明する。本実施形態の制御部5は、回転量測定センサ25a、25b、磁気センサ3、物体情報取得センサ4から得られた情報に基づいて、走行部2を制御する。この機能を実現するため、制御部5は、記憶部51と、走行制御部53と、モータ駆動部55a、55bと、を機能ブロックとして有する。
制御部5が有する上記の機能ブロックの一部又は全部は、記憶装置に記憶された所定のプログラムを実行することで実現されてもよい。上記の機能ブロックの一部又は全部を、SoC(System on Chip)などのハードウェアにより実現していてもよい。
記憶部51は、制御部5の記憶装置の記憶領域の少なくとも一部であり、移動体100を自律的に移動させるために用いられるデータを記憶する。具体的には、記憶部51は、走行経路データTSと、環境地図EMと、を記憶する。
走行経路データTSは、移動体100を自律的に移動させたい移動経路を表すデータである。走行経路データTSは、例えば、移動経路上の通過点を表す座標値と、当該通過点における移動体100の姿勢(姿勢角)と、当該通過点に到達する到達時間と、を関連付けて記憶する。その他、走行経路データTSには、各通過点で実行したい作業に関するデータ、各通過点を通過する際の速度、などが記憶されていてもよい。
環境地図EMは、移動体100の移動環境全体を表す地図情報である。環境地図EMは、物体情報取得センサ4にて取得した物体情報から生成された地図情報とマップマッチングされて、当該地図情報を取得したときの移動体100の位置推定をするために用いられる。
記憶部51は、その他、制御部5の機能を実現するプログラム、移動体100に関する各種設定値などの必要なパラメータ等を記憶する。
走行制御部53は、移動環境における移動体100(走行部2)の自律移動を実現する。具体的には、走行制御部53は、回転量測定センサ25a、25bにて得られた車輪21a、21bの回転量に基づいて算出された車輪21a、21bによる移動体100の移動量と、物体情報取得センサ4にて得られた物体情報から生成された地図情報と環境地図EMとのマップマッチング結果と、磁気センサ3にて得られた磁気ベクトルと、に基づいて移動体100の位置を推定する。
走行制御部53は、推定された現在位置と、走行経路データTSに示された目標とする通過点の座標値との比較に基づいて、現在位置から目標とする通過点まで移動するために必要なモータ23a、23bの制御量を算出し、モータ駆動部55a、55bに出力する。
モータ駆動部55a、55bは、それぞれ、走行制御部53から入力される制御量と、対応する回転量測定センサ25a、25bにより検出されるモータ23a、23bの回転速度とに基づいて、対応するモータ23a、23bをフィードバック制御する。
(2−2)走行制御部の機能ブロック構成
次に、図3を用いて、走行部2を制御する走行制御部53の機能ブロック構成を説明する。図3は、第1実施形態に係る走行制御部の機能ブロック構成を示す図である。上記にて説明したように、走行制御部53は、移動体100の位置推定と、モータ23a、23bの制御量の算出を実行する。
この機能を実現するため、走行制御部53は、第1分布算出部53aと、第2分布算出部53bと、第3分布算出部53cと、第1位置推定部53dと、制御量算出部53eと、を機能ブロックとして有する。
第1分布算出部53aは、前回の位置推定(制御タイミング)から今回の位置推定(制御タイミング)までの間に回転量測定センサ25aから出力されたパルス数から車輪21a、21bの回転量を算出し、前回の位置推定時における推定位置及び姿勢と、算出された車輪21a、21bの回転量とに基づいて、当該車輪21a、21bの回転により移動体100が到達しうる位置及び姿勢を推定する。
本実施形態において、第1分布算出部53aは、車輪21a、21bと移動環境の走行面との間の滑りを考慮して、車輪21a、21bの回転による移動により移動体100が到達しうる複数の位置の候補と各位置に到達する確率とを関連付けた確率分布を算出する。また、車輪21a、21bの回転により移動体100がとりうる複数の姿勢の候補と各姿勢を取りうる確率とを関連付けた確率分布を算出する。
上記の複数の位置の候補と各位置に到達する確率とを関連付けた確率分布と、上記の複数の姿勢の候補と各姿勢を取りうる確率とを関連付けた確率分布と、を合わせて「第1分布」と呼ぶ。
第2分布算出部53bは、前回の位置推定時に磁気センサ3にて測定された磁気ベクトルと今回の位置推定時に磁気センサ3にて測定された磁気ベクトルとの間の変化量(磁気ベクトルの変化量)を算出し、前回の位置推定時における推定姿勢と、算出された磁場ベクトルの変化量と、に基づいて、今回の位置推定時における移動体100の姿勢を推定する。
本実施形態において、第2分布算出部53bは、磁気センサ3による磁気ベクトルの測定誤差を考慮して、磁気ベクトルの変化量から推定される複数の姿勢の候補と各姿勢を取りうる確率とを関連付けた確率分布(第2分布と呼ぶ)を算出する。
第3分布算出部53cは、今回の位置推定時に物体情報取得センサ4にて取得された物体情報から地図情報を生成し、当該地図情報と環境地図EMとのマップマッチング結果に基づいて、第3分布を算出する。
なお、物体情報は移動体100の周囲の物体に関する情報であるので、物体情報から生成される地図情報は、移動体100の周囲の物体の配置を表す情報である。従って、物体情報から生成される地図情報を、「局所地図」と呼ぶ。
第1位置推定部53dは、第1分布算出部53aにて算出された第1分布、第2分布算出部53bにて算出された第2分布、及び、第3分布算出部53cにて算出された第3分布を重ね合わせて最終分布を算出する。その後、第1位置推定部53dは、算出された最終分布において最大の確率を示す位置の候補及び姿勢の候補を、今回の位置推定時における移動体100の位置及び姿勢と推定する。
なお、本実施形態において、第1分布、第2分布、及び第3分布を「重ね合わせる」とは、例えば、第1分布と第2分布の和を算出し、第1分布と第2分布の和と第3分布の積とを算出することをいう。その他、第1分布、第2分布、及び第3分布の積を算出することを「重ね合わせる」と定義することもできる。第1分布、第2分布、及び第3分布を具体的にどのように「重ね合わせる」かは、必要に応じて適宜決定できる。
制御量算出部53eは、第1位置推定部53dにて推定された移動体100の位置及び姿勢と、走行経路データTSに示された次の目標点(通過点)の位置及び当該目標点における姿勢(目的の姿勢)との比較に基づいて、移動体100を次の目標点に到達させ、当該目標点において移動体100を目的の姿勢とさせるために必要なモータ23a、23bへの制御量を算出し、対応するモータ駆動部55a、55bに出力する。
(3)移動体の自律移動動作
(3−1)定義
以下、上記にて説明した構成を有する移動体100の自律移動動作を説明する。自律移動動作を具体的に説明する前に、図4を用いて、移動体100の移動環境における位置及び姿勢の定義を説明する。図4は、移動体の移動環境における位置及び姿勢の定義の一例を示す図である。
本実施形態においては、移動環境は、図4に示すように二次元の座標系(X−Y座標系)にて表すものとする。移動体100の位置は、移動環境における本体1(走行部2)の中心位置CをX−Y座標系の座標値として表したものとする。また、本実施形態においては、移動環境を表すX−Y座標系において、例えば、正のX方向を北向き、正のY方向を東向きと定義する。
なお、必要に応じて、移動環境を三次元の座標系(X−Y−Z座標系)で表してもよいし、移動環境を定義する座標系においていずれの軸方向(X軸方向、Y軸方向、Z軸方向)を北向きとするかについては任意に定義できる。
一方、移動体100(走行部2)の姿勢は、図4に示すように、移動環境において移動体100の前進方向が向いている方向を正のX軸方向を基準(0°)とする角度(θ)として表すものとする。以降の説明では、移動体100の姿勢を表す角度(θ)を「姿勢角θ」と呼ぶことにする。姿勢角θは、正のX軸方向から時計回りを正方向(角度が増加する方向)とする。
以下の説明においては、移動体100の位置と姿勢とを三次元の座標値(X,Y,θ)としてまとめて標記する場合がある。移動体100の位置と姿勢とをまとめて標記した座標値を、移動体の位置及び姿勢を表す「位置情報」と呼ぶことにする。
(3−2)自律移動動作
次に、図5を用いて、移動体100の自律移動動作を説明する。図5は、移動体の自律移動動作を示すフローチャートである。
移動体100を、走行経路データTSに示された最初の通過点(移動開始点)まで移動させた後、例えば操作部6によりユーザから自律移動を開始するように指示がなされると、走行制御部53が、ステップS1において、記憶部51に記憶された走行経路データTSを参照し、自律移動の目標の通過点を決定する。目標の通過点を決定後、当該目標の通過点まで自律移動するための制御が開始される。
まず、走行制御部53が、ステップS2において、現在が走行部2の制御タイミングであるか否かを判定する。この制御タイミングは、あらかじめ決められた所定の周期(制御周期)毎に発生する。すなわち、走行制御部53は、所定の周期毎に走行部2を制御する。
現在が制御タイミングでない場合(ステップS2で「No」)、走行制御部53は制御タイミングとなるまで待機する。
一方、制御タイミングであると判定された場合(ステップS2で「Yes」)、走行制御部53は、ステップS3において、移動体100の移動環境における現在位置を推定する。
本実施形態において、走行制御部53は、前回の位置推定時(すなわち、前回の制御タイミング)における位置(第1位置と呼ぶ)と当該第1位置における姿勢角を表す位置情報(第1位置情報と呼ぶ)と、前回の制御タイミングから今回の制御タイミングまでの間(第1位置から現在位置(第2位置と呼ぶ)まで移動後)の車輪21a、21bの回転量に基づいて算出された車輪21a、21bによる移動量と、前回の制御タイミングから今回の制御タイミングまでの間の磁場ベクトルの変化量と、現在位置で取得した物体情報から生成された局所地図と環境地図EMとのマップマッチング結果と、に基づいて、移動体100の現在位置と現在位置における姿勢を表す位置情報(第2位置情報と呼ぶ)を推定する。具体的には、現在位置のX−Y座標系における座標値と、現在位置における姿勢角θと、を第2位置情報として推定する。
走行制御部53における具体的な位置推定動作は、後ほど詳しく説明する。
第2位置情報を推定後、走行制御部53は、ステップS4において、ステップS3で推定された第2位置情報と、ステップS1で定めた目標の通過点を表す位置情報(目標の通過点の座標値と、当該通過点における姿勢角θ)とを比較して、移動体100が目標の通過点に到達したか否かを判定する。
推定された第2位置情報と目標の通過点を表す位置情報とが一致しないか、又は、推定された第2位置情報が目標の通過点から所定の範囲より外側に存在しており、移動体100が目標の通過点に到達していないと判定された場合(ステップS4で「No」)、走行制御部53は、ステップS5において、移動体100を目標の通過点に移動させるための制御を実行する。
具体的には、走行制御部53の制御量算出部53eが、走行経路データTSにおいて定められた到達時間に移動体100が目標の通過点に到達するために必要な各モータ23a、23bの回転速度を算出し、当該回転速度に対応したモータ23a、23bの制御量を算出する。その後、制御量算出部53eが、算出した制御量を対応するモータ23a、23bに出力する。
ステップS5の走行制御が実行された後、自律移動動作プロセスは、ステップS2に戻る。すなわち、走行制御部53は、次の制御タイミングにおいて、ステップS3の位置推定と必要に応じてステップS5の走行制御を実行する。
このように、本実施形態では、走行制御部53は、移動体100の位置推定と走行制御とを、所定の制御周期毎に実行する。
一方、ステップS4において、推定された第2位置情報と目標の通過点を表す位置情報とが一致するか、又は、推定された第2位置情報が目標の通過点から所定の範囲内に存在しており、移動体100が目標の通過点に到達していると判定された場合(ステップS4で「Yes」)、走行制御部53は、ステップS6において、到達した通過点が走行経路データTSに示された移動終了位置であるか否かを判定する。
到達した通過点が移動終了位置であると判定された場合(ステップS6で「Yes」)、自律移動動作プロセスは終了する。
一方、到達した通過点が移動終了位置ではないと判定された場合(ステップS6で「No」)、自律移動動作プロセスは、ステップS1に戻る。すなわち、走行制御部53は、次の目標の通過点を決定し、当該次の通過点に到達するための走行制御を実行する。
走行制御部53が上記のステップS1〜S6を実行することにより、移動体100(走行部2)は、走行経路データTSに示された移動開始位置から移動終了位置まで自律的に移動できる。
(3−3)位置推定動作
以下、図6を用いて、図5の自律移動動作を示すフローチャートのステップS3で実行される位置推定動作を説明する。図6は、第1実施形態に係る位置推定動作を示すフローチャートである。
上記のように、本実施形態において、位置推定動作は所定の制御周期毎に実行される。従って、本実施形態の位置推定動作は、前回の制御タイミングにおける移動体100の位置及び姿勢を基準とし、前回の制御タイミングから今回の制御タイミングまでの移動体100の移動量を上記基準の位置及び姿勢に加えることで、今回の制御タイミングにおける移動体100の位置及び姿勢を推定する。
以下の説明では、前回の制御タイミングにおける移動体100の位置を第1位置と呼ぶ。また、第1位置と第1位置における移動体100の姿勢(姿勢角θ)とを表す情報を第1位置情報と呼び、便宜上、(X1,Y1,θ1)との座標値で表されるとする。
また、今回の制御タイミングにおける移動体100の位置を第2位置と呼ぶ。第2位置と第2位置における移動体100の姿勢(姿勢角θ)とを表す情報を第2位置情報と呼び、便宜上、(X2,Y2,θ2)との座標値で表されるものとする。
また、本実施形態における位置推定動作は、車輪21a、21bの滑り、各センサの測定誤差、及び推定誤差などを考慮して、車輪21a、21bの回転により移動体100が移動したと推測される位置及び姿勢の確率分布(第1分布)と、磁気ベクトルの変化量から推測される移動体100の姿勢の確率分布(第2分布)と、移動体100の周囲の物体の状態を表す局所地図と移動環境全体を表す環境地図EMとのマップマッチングから推測される移動体100の位置及び姿勢の確率分布(第3分布)と、を重ね合わせた確率分布(最終分布)を用いて実行される。
最初に、第1分布算出部53aが、車輪21a、21bの回転による移動体100の移動量に基づいて、第1分布を算出する。
まず、第1分布算出部53aは、ステップS31において、前回の制御タイミングから今回の制御タイミングまでに移動体100が車輪21a、21bの回転により移動した移動量を算出する。
具体的には、第1分布算出部53aは、前回の制御タイミングから今回の制御タイミングまでの間に回転量測定センサ25a、25bから発生したパルス数から、前回の制御タイミングから今回の制御タイミングまでの車輪21a、21bの回転量を算出する。
次に、第1分布算出部53aは、上記のようにして算出した車輪21a、21bの回転量から、前回の制御タイミングから今回の制御タイミングまでに移動体100が車輪21a、21bの回転により移動した移動量を算出する。移動量が、(ΔX1,ΔY1,Δθ1)との座標値として算出されたとする。
車輪21a、21bの回転による移動量を算出後、第1分布算出部53aは、ステップS32において、第1分布を算出する。
具体的には、第1分布算出部53aは、まず、ステップS31にて算出した車輪21a、21bによる移動量(ΔX1,ΔY1,Δθ1)を、前回の制御タイミングにて推定した第1位置情報の推定値(X1,Y1,θ1)に加算して、今回の制御タイミングにおいて車輪21a、21bの回転により到達したと推定される移動体100の位置及び姿勢角θの推定値(X1+ΔX1,Y1+ΔY1,θ1+Δθ1)と算出する。
ここで、上記車輪21a、21bの回転による位置及び姿勢角θの推定値を、X21=X1+ΔX1、Y21=Y1+ΔY1、θ21=θ1+Δθ1と定義し、(X21,Y21,θ21)と新たに表すものとする。
次に、第1分布算出部53aは、車輪21a、21bの滑りを考慮して、例えば、図7に示すような、上記にて算出した位置及び姿勢角θの推定値(X21,Y21,θ21)を平均とし、第1標準偏差σ1を標準偏差とする正規分布を、第1分布として算出する。このようにして算出された第1分布は、第1位置から車輪21a、21bによる移動により移動体100が到達しうる位置及び姿勢の確率分布を表す。
図7は、第1分布の一例を示す図である。
第1分布の第1標準偏差σ1は、車輪21a、21bの滑りを表すパラメータであるので、車輪21a、21bの滑りの度合いに応じてその大きさを適宜決定できる。具体的には、車輪21a、21bの滑りが大きければ第1標準偏差σ1を大きくし、滑りが小さければ第1標準偏差σ1を小さくできる。
次に、第2分布算出部53bが、前回の制御タイミングにて測定された磁気ベクトルから今回の制御タイミングにて測定された磁気ベクトルへの変化量に基づいて、第2分布を算出する。
まず、第2分布算出部53bは、ステップS33において、今回の制御タイミングにおける磁気ベクトルの測定値を磁気センサ3から取得し、今回取得した磁気ベクトルと前回の制御タイミングにて取得した磁気ベクトルとの差分を、磁気ベクトルの変化量として算出する。この磁気ベクトルの変化量は、前回の制御タイミングにおける移動体100の姿勢から今回の制御タイミングにおける移動体100の姿勢への姿勢変化量に対応するものである。従って、ここでは、この磁気ベクトルの変化量を、姿勢角θの変化量としてΔθ2と表す。
次に、第2分布算出部53bは、ステップS34において、ステップS33にて算出した磁気ベクトルの変化量(Δθ2)に基づいて、第2分布を算出する。
具体的には、第2分布算出部53bは、まず、前回の制御タイミングにおける移動体100の姿勢を表すθ1に磁気ベクトルの変化量Δθ2を加算して、今回の制御タイミングにおける姿勢角θの推定値をθ1+Δθ2として算出する。ここで、θ1+Δθ2=θ22とする。
次に、第2分布算出部53bは、磁気センサ3の測定誤差等を考慮して、例えば、図8に示すような、上記にて算出した姿勢角θの推定値θ22を平均とし、第2標準偏差σ2を標準偏差とする正規分布を、第2分布として算出する。このようにして算出された第2分布は、第1位置から第2位置に移動後にとりうる移動体100の姿勢(姿勢角θ)の確率分布を表す。
図8は、第2分布の一例を示す図である。
第2分布を算出後、さらに、第3分布算出部53cが、今回の制御タイミング、すなわち、移動環境の第2位置で取得した局所地図と、記憶部51に記憶されている環境地図EMとのマップマッチング結果に基づいて、第3分布を算出する。
具体的には、まず、第3分布算出部53cは、ステップS35において、今回の制御タイミングにおいて物体情報取得センサ4にて取得した物体情報を用いて、第2位置に存在する移動体100の周囲に存在する物体の状態を表す局所地図を生成する。より具体的には、第3分布算出部53cは、例えば、物体が存在する方向(角度)と当該物体までの距離とが関連付けられた物体情報を、X−Y座標系の座標値に座標変換することで局所地図を生成する。
次に、第3分布算出部53cは、ステップS36において、ステップS35にて生成した第2位置における局所地図と環境地図EMとのマップマッチングを実行して、第3分布を算出する。
具体的には、第3分布算出部53cは、環境地図EM上に、第2位置((X2,Y2))に対応すると推定される複数の候補位置と、第2位置における姿勢角θ2に対応すると推定される複数の候補姿勢角と、を定める。その後、第3分布算出部53cは、1つの候補位置に局所地図を配置し、当該候補位置で特定の候補姿勢角だけ局所地図を回転させて、この候補位置及び候補角度における局所地図と環境地図EMとの一致度を算出する。この局所地図と環境地図EMとの一致度の算出を、全ての候補位置及び候補姿勢角に対して実行し、各候補位置及び各候補姿勢角と対応する一致度とを関連付けて、図9に示すような、局所地図と環境地図EMとの一致度の分布(確率分布)としての第3分布を算出する。このようにして算出された第3分布は、第1位置から第2位置に移動後に到達しうる移動体100の位置及び姿勢の確率分布を表す。
図9は、第3分布の一例を示す図である。
なお、上記の複数の候補位置及び複数の候補姿勢角は、例えば、前回の制御タイミングから今回の制御タイミングまでの車輪21a、21bの回転量に基づいて算出できる。
第1分布、第2分布、及び第3分布を算出後、第1位置推定部53dは、ステップS37において、第1分布、第2分布、第3分布を重ね合わせて最終分布を算出する。具体的には、第1位置推定部53dは、第1分布と第2分布との和を算出し、当該和と第3分布との積を算出することで、図10に示すような最終分布を算出する。図10は、最終分布の一例を示す図である。
なお、第2分布は姿勢角θの確率分布のみを表すものであるので、第1分布、第2分布、第3分布の全てが重ね合わされた最終分布は、姿勢角θに対してのみ算出される。移動体100の位置についての最終分布は、第1分布と第3分布とを重ね合わせて生成される。
図10に示すように、ステップS37にて算出される最終分布においては、第1分布のピーク位置(確率の最大値を示す姿勢角)、第2分布のピーク位置、第3分布のピーク位置とは異なる位置(姿勢角θ)において確率の最大値が見られる。これは、上記3つの分布を重ね合わせて算出された最終分布が、より多くの情報量を用いて、車輪21a、21bの滑り及び各センサの測定誤差の影響を抑制できていることを示している。すなわち、最終分布は、1つのデータのみに基づいて算出された分布(第1分布、第2分布、第3分布)と比較して、今回の制御タイミングにおける移動体100の位置及び姿勢の確率分布を最も正確に表している。
最終分布を算出後、第1位置推定部53dは、ステップS38において、ステップS37において算出された最終分布を用いて、今回の制御タイミングにおける移動体の位置及び姿勢、すなわち、第2位置情報(X2,Y2,θ2)を推定する。
具体的には、第1位置推定部53dは、最終分布において確率が最大となる位置(座標値)及び姿勢(姿勢角θ)を、第2位置情報(X2,Y2,θ2)と推定する。
(4)第1実施形態のまとめ
このように、第1実施形態に係る移動体100では、移動環境における位置推定に、車輪21a、21bの回転量から算出される移動体100の移動量と、第2位置における局所地図と環境地図EMとのマップマッチング結果に加えて、第1位置から第2位置に移動後の磁場ベクトルの変化量が用いられている。位置推定に用いる情報を増加することにより、位置推定の精度を向上できる。
また、位置推定に用いる磁場ベクトルの情報として、第1位置から第2位置に移動後、すなわち、制御の1周期が経過後の磁気ベクトルの変化量を用いることで、移動体100周囲の状態及び各センサによる測定誤差の位置推定に対する影響を最小限に抑えることができる。
以下、移動環境における地磁気に対する磁気ベクトルのずれ量を表す地図情報(磁気マップと呼ばれる)を用いて、短時間(短距離の移動前後)の磁気ベクトルの変化量を用いることで移動体の周囲の状態に影響を受けにくい位置推定が可能となる理由を具体的に説明する。図11は、移動環境の磁気マップの一例を示す図である。図11では、ハッチングの密度により、移動環境による地磁気への影響の大小を表している。
図11に示すように、移動環境に存在する磁性体等が地磁気に与える影響は、距離が離れた2点間においては大きく異なる可能性がある。例えば、磁性体が存在する位置から大きく離れた位置から、磁性体が近くに存在する位置(図11では、破線で囲んだ領域内の位置)まで長い距離移動した場合、移動後に測定した磁気ベクトルは、磁性体の影響を受ける。その結果、例えば、磁性体から離れた位置から磁性体が近くに存在する位置まで、姿勢を変更することなく直進した場合であっても、移動後に測定される磁気ベクトルは、移動前に測定された磁気ベクトルとは異なる。
その一方で、磁性体から離れた2点間で短距離直進した場合、又は、磁性体が近くに存在する2点間で短距離直進した場合には、磁性体の影響を受けない領域から受ける領域へと長距離直進する場合と比較して、直進した前後の磁気ベクトルの向きはほとんど変化しない。すなわち、短距離だけ移動した前後の磁気ベクトルは、磁性体の影響を受けにくい。
従って、短時間(短距離移動前後)の磁気ベクトルの変化量との相対的な値を用いることで、移動体100の各位置において測定される磁気ベクトルといった絶対的な値を用いる場合と比較して、移動環境に存在する磁性体の影響をほとんど受けることなく、位置推定を実行できる。
なお、磁気ベクトルの変化量を用いて移動体100の各位置における姿勢角θを算出する場合には、各位置における姿勢角θは、移動開始位置から当該位置までの磁気ベクトルの変化量の累積値(総和)として算出される。
(5)変形例
上記の実施形態において最終分布を算出する際に、第1分布、第2分布、第3分布は、算出されたそのままの状態で重ね合わされていた。しかし、これに限られず、第1位置推定部53dは、最終分布を算出する際に、第1分布、第2分布、第3分布のそれぞれに重み付けを付して重ね合わせてもよい。
具体的には、第1分布をD1、第1分布の重み付けをa、第2分布をD2、第2分布の重み付けをb、第3分布をD3、第3分布の重み付けをcとした場合に、第1位置推定部53dは、(a*D1+b*D2)*c*D3との式から最終分布を算出してもよい。
なお、重み付けa、b、cは、ともに正の数である。また、各分布の重み付けの値の大小は、例えば、各センサによる測定値の信頼性等に基づいて決定できる。
例えば、磁気センサ3にて測定された磁気ベクトルの変化量が所定の閾値より大きくなった場合に、第2分布の重み付けbの値を、他の重み付けa、cの値よりも小さくして、第2位置情報の推定における磁気ベクトルの変化量の影響割合を小さくしてもよい。
これにより、前回の制御タイミングと今回の制御タイミングとの間で磁場ベクトルの状態が大きく異なり、磁場ベクトルの変化量から算出される移動体100の姿勢に誤差が生じる可能性がある場合に、位置推定における磁場ベクトルの変化量の寄与を減らして、精度よく第2位置情報を推定できる。
2.第2実施形態
(1)第2実施形態の概略
第2実施形態に係る移動体100’においては、移動体100’の位置推定に用いる確率分布(第1実施形態では最終分布)を算出する際に、車輪21a、21bの回転による移動量に基づいた分布(第4分布と呼ぶ)を、他のセンサ情報を用いて修正し、当該修正した分布を用いて移動体100’の位置推定を実行する。
第2実施形態に係る移動体100’においては、走行制御部53’の構成が第1実施形態と異なること、及び、位置推定動作のフローが第1実施形態と異なること以外は、第1実施形態の移動体100と同じ構成及び機能を有する。従って、以下では、走行制御部53’の構成と、位置推定動作のフローのみを説明し、他の構成及び機能の説明は省略する。
(2)第2実施形態に係る走行制御部の機能ブロック構成
以下、図12を用いて、第2実施形態に係る走行制御部53’の機能ブロック構成を説明する。図12は、第2実施形態に係る走行制御部の機能ブロック構成を示す図である。
走行制御部53’は、第4分布算出部53a’と、第5分布算出部53b’と、第6分布算出部53c’と、第2位置推定部53d’と、制御量算出部53e’と、を有する。
第4分布算出部53a’は、第1位置情報(X1,Y1,θ1)と車輪21a、21bによる移動量とに基づいて、第1位置から車輪21a、21bによる移動により移動体100が到達しうる位置及び姿勢の確率分布を表す第4分布を算出する。
第5分布算出部53b’は、磁場ベクトルの変化量と、第4分布算出部53a’にて算出された第4分布とに基づいて、第5分布を算出する。
第6分布算出部53c’は、第2位置の局所地図と環境地図EMとのマップマッチング結果と、第5分布算出部53b’にて算出された第5分布とに基づいて、第6分布を算出する。
第2位置推定部53d’は、第6分布算出部53c’にて算出した第6分布を用いて、第2位置情報(X2,Y2,θ2)を推定する。
制御量算出部53e’は、第1実施形態に係る制御量算出部53eと同様の機能を有するので、ここでは説明を省略する。
(3)第2実施形態に係る位置推定動作
次に、図13を用いて、第2実施形態に係る位置推定動作を説明する。図13は、第2実施形態に係る位置推定動作を示すフローチャートである。
位置推定動作が開始されると、第4分布算出部53a’が、ステップS31’において、前回の制御タイミングから今回の制御タイミングまでの間の車輪21a、21bの回転量から、車輪21a、21bの回転による移動体100’の移動量を算出する。車輪21a、21bによる移動体100’の移動量の算出に関する詳細は、第1実施形態で説明したのと同様であるので、説明を省略する。
その後、第4分布算出部53a’が、ステップS32’において、ステップS31’にて算出した移動体の移動量に基づいて、第4分布を算出する。第4分布の算出方法は、第1実施形態において説明した第1分布の算出方法と同じである。従って、第4分布の算出方法の説明は省略する。
第4分布を算出後、第5分布算出部53b’が、ステップS33’において、第1実施形態において説明したのと同様にして、前回の制御タイミングから今回の制御タイミングまでの間の磁気ベクトルの変化量を算出する。
その後、第5分布算出部53b’は、ステップS34’において、ステップS33’にて算出した磁気ベクトルの変化量を用いて第4分布を変更して、第5分布を算出する。具体的には、第5分布算出部53b’は、第1実施形態において説明したようにして、磁気ベクトルの変化量から第1実施形態の第2分布に対応する分布を算出し、この分布を第4分布に重ね合わせて第4分布を変更して、第5分布を算出する。例えば、第5分布は、磁気ベクトルの変化量に基づく分布と第4分布との和として算出できる。
第5分布を算出後、第6分布算出部53c’が、ステップS35’において、第2位置の局所地図を生成する。局所地図の生成方法については、第1実施形態で説明したので、ここでは説明を省略する。
局所地図を生成後、第6分布算出部53c’が、ステップS36’において、ステップS35’にて算出した局所地図と環境地図EMとのマップマッチング結果に基づいて、第5分布算出部53b’にて算出された第5分布を変更して、第6分布を算出する。
具体的には、第6分布算出部53c’は、第1実施形態において説明したようにして、第2位置の局所地図と環境地図EMとのマップマッチング結果に基づいて第3分布に対応する分布を算出し、この分布と第5分布とを重ね合わせて第5分布を変更して、第6分布を算出する。例えば、第6分布を、マップマッチングの結果に基づく分布と第5分布との積として算出できる。
第6分布を算出後、第2位置推定部53d’が、ステップS37’において、ステップS36’にて算出した第6分布を用いて、第2位置情報(X2,Y2,θ2)を推定する。具体的には、第2位置推定部53d’は、第6分布において最大の確率を示す位置及び姿勢を、第2位置情報(X2,Y2,θ2)として推定する。
上記のステップS31’〜S37’を実行することによっても、第1実施形態と同様に、移動体100の位置及び姿勢、すなわち、第2位置情報(X2,Y2,θ2)を精度よく推定できる。なぜなら、車輪21a、21bの回転量から算出される移動体100の移動量に基づく第4分布を、磁場ベクトルの変化量及びマップマッチング結果を用いて変更することで算出される第6分布は、第1実施形態の最終分布と同じだからである。
3.第3実施形態
(1)第3実施形態の概略
第3実施形態に係る移動体100’’においては、車輪21a、21bの回転による移動量、磁気ベクトルの変化量、第2位置の局所地図と環境地図EMとのマップマッチング結果に加えて、他の情報に基づいて移動体100の位置及び姿勢を推定する。具体的には、第3実施形態に係る移動体100’’は、前回の制御タイミングにおいて生成した局所地図(第1位置の局所地図)と第2位置の局所地図との間のずれ量をさらに加味して、第2位置情報を推定する。
第3実施形態に係る移動体100’’においては、走行制御部53’’の構成と位置推定動作のフローが、第1実施形態及び第2実施形態と異なる以外は、第1実施形態及び第2実施形態の移動体100、100’と同じ構成及び機能を有する。従って、以下では、走行制御部53’’の構成と、位置推定動作のフローのみを説明し、他の構成及び機能の説明は省略する。
(2)第3実施形態に係る走行制御部の機能ブロック構成
以下、図14を用いて、第3実施形態に係る走行制御部53’’の機能ブロック構成を説明する。図14は、第3実施形態に係る走行制御部の機能ブロック構成を示す図である。
走行制御部53’’は、第7分布算出部53a’’と、第8分布算出部53b’’と、第9分布算出部53c’’と、第10分布算出部53d’’と、第3位置推定部53e’’と、制御量算出部53f’’と、を有する。
上記の第7分布算出部53a’’と、第8分布算出部53b’’と、制御量算出部53f’’は、それぞれ、第2実施形態の第4分布算出部53a’、第5分布算出部53b’と、制御量算出部53e’と同様の機能を有するので、ここでは説明を省略する。
第9分布算出部53c’’は、車輪21a、21bの回転による移動量に基づいて算出された第7分布を磁場ベクトルの変化量に基づいて変更して算出した第8分布を、第1位置にて生成した局所地図(第1局所地図と呼ぶ)と第2位置にて生成した局所地図(第2局所地図と呼ぶ)とのずれ量に基づいて変更して、第9分布を算出する。
上記の第1局所地図は、前回の制御タイミングにおいて取得した物体情報から生成された局所地図(第2局所地図)である。従って、本実施形態では、今回の制御タイミングにおいて生成された第2局所地図は、例えば、記憶部51などに少なくとも一時的に記憶される。
第10分布算出部53d’’は、第2位置の局所地図と環境地図EMとのマップマッチング結果と、第9分布算出部53c’’にて算出された第9分布とに基づいて、第10分布を算出する。
第3位置推定部53e’’は、第10分布算出部53d’’にて算出した第10分布を用いて、第2位置情報(X2,Y2,θ2)を推定する。
(3)第3実施形態に係る位置推定動作
次に、図15を用いて、第3実施形態に係る位置推定動作を説明する。図15は、第3実施形態に係る位置推定動作を示すフローチャートである。
第7分布算出部53a’’により第7分布が算出されるプロセス(ステップS31’’〜S32’’)、及び、第8分布算出部53b’’により第8分布が算出されるプロセス(ステップS33’’〜S34’’)は、それぞれ、第2実施形態の第4分布算出部53a’により第4分布が算出されるプロセス(ステップS31’〜S32’)、及び、第5分布算出部53b’により第5分布が算出されるプロセス(ステップS33’〜S34’)と同じである。従って、ここでは説明を省略する。
車輪21a、21bの回転による移動量に基づいて第7分布を算出し、磁場ベクトルの変化量に基づいて第7分布を変更して第8分布を算出後、第9分布算出部53c’’が、ステップS35’’において、第2位置の局所地図(第2局所地図)を生成し、記憶部51に記憶する。局所地図の生成方法については、第1実施形態で説明したので、ここでは説明を省略する。
第2局所地図を生成後、第9分布算出部53c’’は、ステップS36’’において、第1局所地図と第2局所地図とのずれ量に基づいて第8分布を変更して、第9分布を算出する。
具体的には、第9分布算出部53c’’は、例えば、X−Y座標上において、第1局所地図を平行移動及び/又は回転させて移動させ、移動後の第1局所地図と今回生成した第2局所地図とが最も一致したときの第1局所地図の平行移動量及び回転量を、第1局所地図と第2局所地図との間のずれ量として算出する。上記の第1局所地図と第2局所地図との間のずれ量の算出は、例えば、ICP(Iterative Closest Point)法、ヒストグラムマッチング法、又はICP法とヒストグラムマッチング法とを組み合わせた方法により実行できる。
第9分布算出部53c’’は、第1局所地図と第2局所地図との間のずれ量(局所地図の移動量と回転量)を第1位置情報に加算して、第2位置情報を推定する。さらに、第9分布算出部53c’’は、第8分布のピーク位置を上記の第2位置情報の推定値と一致させて、第9分布を算出する。
第9分布の算出方法の変形例として、第9分布算出部53c’’は、例えば、第1局所地図を、複数の平行移動量だけ移動し、及び/又は、複数の回転量だけさせて回転させて、それぞれの平行移動及び回転後の第1局所地図と第2局所地図との一致度を算出する。
その後、第9分布算出部53c’’は、各平行移動及び/又は回転後の第1局所地図の位置と、対応する各位置における第1局所地図と第2局所地図との一致度と、を関連付けて分布を算出し、当該分布と第8分布とを重ね合わせて第9分布を算出することもできる。
なお、上記のようにして第9分布を算出する場合には、第1局所地図の代わりに第2局所地図を平行移動及び/又は回転させてもよい。
第9分布を算出後、第10分布算出部53d’’が、ステップS37’’において、第2位置の局所地図(第2局所地図)と環境地図EMとのマップマッチング結果に基づいて、第9分布算出部53c’’にて算出された第9分布を変更して、第10分布を算出する。
ステップS37’’における第10分布算出部53d’’による第10分布の算出プロセスは、第2実施形態のステップS36’における第6分布算出部53c’による第6分布の算出プロセスと同じであるので、ここでは説明を省略する。
第10分布を算出後、第3位置推定部53e’’が、ステップS38’’において、ステップS37’’にて算出した第10分布を用いて、第2位置情報(X2,Y2,θ2)を推定する。具体的には、第3位置推定部53e’’は、第10分布において最大の確率を示す位置及び姿勢を、第2位置情報(X2,Y2,θ2)として推定する。
上記のステップS31’’〜S38’’を実行して、車輪21a、21bの回転量から算出される移動体100の移動量と、第2位置の周囲に存在する物体に関する物体情報と環境地図EMとのマップマッチング結果と、第1位置から第2位置に移動後の磁場ベクトルの変化量に加えて、さらに、第1位置における第1局所地図と第2位置における第2局所地図とのずれ量を加味して第2位置情報を推定することにより、より多くの情報量を用いて位置推定の精度を向上できる。
4.他の実施形態
以上、本発明の複数の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(A)図5、図6、図13、及び図15に示されたフローチャートにおける各ステップの実行順序、及び/又は、各ステップの処理内容は、発明の要旨を逸脱しない範囲で変更可能である。
(B)第3実施形態で説明した、第1局所地図と第2局所地図との間のずれ量に基づく分布の算出方法は、第1実施形態に対しても適用できる。
上記局所地図のずれ量による分布の算出方法を第1実施形態に適用する場合には、例えば、第1局所地図の各平行移動及び/又は回転後の位置と、対応する各位置における第1局所地図と第2局所地図との一致度と、を関連付けて分布を算出し、この分布を第1分布〜第3分布と重ね合わせて、最終分布を生成できる。
本発明は、移動体の位置推定に広く適用できる。
100、100’、100’’移動体
1 本体
LF 下部フレーム
MF 中間フレーム
UF 上部フレーム
2 走行部
21a、21b車輪
23a、23bモータ
25a、25b回転量測定センサ
3 磁気センサ
4 物体情報取得センサ
5 制御部
6 操作部
51 記憶部
EM 環境地図
TS 走行経路データ
53、53’、53’’ 走行制御部
53a 第1分布算出部
53b 第2分布算出部
53c 第3分布算出部
53a’ 第4分布算出部
53b’ 第5分布算出部
53c’ 第6分布算出部
53a’’ 第7分布算出部
53b’’ 第8分布算出部
53c’’ 第9分布算出部
53d’’ 第10分布算出部
53d 第1位置推定部
53d’ 第2位置推定部
53e’’ 第3位置推定部
53e、53e’、53f’’制御量算出部
55a、55bモータ駆動部

Claims (10)

  1. 所定の移動環境を自律的に移動する移動体であって、
    車輪を有する走行部と、
    前記走行部の周囲に存在する物体に関する物体情報を取得する物体情報取得センサと、
    前記走行部における磁場の方向を表す磁場ベクトルを測定する磁気センサと、
    前記車輪の回転量を測定する回転量測定センサと、
    前記所定の移動環境を表す環境地図を記憶する記憶部と、
    前記走行部が前記所定の移動環境の第1位置から第2位置に移動したときに、前記第1位置及び前記第1位置における前記走行部の姿勢を表す第1位置情報と、前記第1位置から前記第2位置に移動後の前記車輪の回転量に基づいて算出された車輪による移動量と、前記第1位置から前記第2位置に移動後の磁場ベクトルの変化量と、前記第2位置で取得した物体情報から生成された局所地図と前記環境地図とのマップマッチング結果と、に基づいて、前記第2位置及び前記第2位置における前記走行部の姿勢を表す第2位置情報を推定する制御部と、
    を備える移動体。
  2. 前記制御部は、
    前記第1位置情報と前記車輪による移動量とに基づいて、前記第1位置から前記車輪による移動により前記走行部が到達しうる位置及び姿勢の確率分布を表す第1分布を算出する第1分布算出部と、
    前記第1位置情報と前記磁場ベクトルの変化量とに基づいて、前記第1位置からの移動後にとりうる前記走行部の姿勢の確率分布を表す第2分布を算出する第2分布算出部と、
    前記マップマッチング結果に基づいて、前記第1位置からの移動後に到達しうる前記走行部の位置及び姿勢の確率分布を表す第3分布を算出する第3分布算出部と、
    前記第1分布、前記第2分布、及び前記第3分布を重ね合わせて最終分布を算出し、当該最終分布において最大の確率を示す前記走行部の位置及び姿勢を前記第2位置情報として推定する第1位置推定部と、
    を有する、請求項1に記載の移動体。
  3. 前記制御部は、
    前記第1位置情報と前記車輪による移動量とに基づいて、前記第1位置から前記車輪による移動により前記走行部が到達しうる位置及び姿勢の確率分布を表す第4分布を算出する第4分布算出部と、
    前記磁場ベクトルの変化量と前記第4分布とに基づいて、第5分布を算出する第5分布算出部と、
    前記マップマッチング結果と前記第5分布とに基づいて、第6分布を算出する第6分布算出部と、
    前記第6分布において最大の確率を示す前記走行部の位置及び姿勢を前記第2位置情報として推定する第2位置推定部と、
    を有する、請求項1に記載の移動体。
  4. 前記制御部は、前記磁場ベクトルの変化量が所定の閾値より大きければ、前記第2位置情報の推定における前記磁場ベクトルの変化量の影響割合を小さくする、請求項1〜3のいずれかに記載の移動体。
  5. 前記制御部は、さらに、前記第1位置にて取得された前記物体情報から生成された第1局所地図と前記第2位置にて取得された前記物体情報から生成された第2局所地図との間のずれ量を加味して、前記第2位置情報を推定する、請求項1〜4のいずれかに記載の移動体。
  6. 車輪を有する走行部を備える移動体が所定の移動環境を第1位置から第2位置に自律的に移動したときに、前記第2位置及び前記第2位置における前記走行部の姿勢を表す第2位置情報を推定する位置推定方法であって、
    前記第1位置から前記第2位置に移動後の磁場の方向を表す磁場ベクトルの変化量を測定するステップと、
    前記第1位置から前記第2位置に移動後の前記車輪の回転量を測定するステップと、
    前記第2位置において前記走行部の周囲に存在する物体に関する物体情報を取得するステップと、
    前記第1位置及び前記第1位置における前記走行部の姿勢を表す第1位置情報と、前記車輪の回転量に基づいて算出された車輪による移動量と、前記磁場ベクトルの変化量と、前記第2位置で取得した物体情報から生成された局所地図と前記所定の移動環境を表す環境地図とのマップマッチング結果と、に基づいて前記第2位置情報を推定するステップと、
    を備える位置推定方法。
  7. 前記第2位置情報を推定するステップは、
    前記第1位置情報と前記車輪による移動量とに基づいて、前記第1位置から前記車輪による移動により前記走行部が到達しうる位置及び姿勢の確率分布を表す第1分布を算出するステップと、
    前記第1位置情報と前記磁場ベクトルの変化量とに基づいて、前記第1位置からの移動後にとりうる前記走行部の姿勢の確率分布を表す第2分布を算出するステップと、
    前記マップマッチング結果に基づいて、前記第1位置からの移動後に到達しうる前記走行部の位置及び姿勢の確率分布を表す第3分布を算出するステップと、
    前記第1分布、前記第2分布、及び前記第3分布を重ね合わせて最終分布を算出するステップと、
    前記最終分布において最大の確率を示す前記走行部の位置及び姿勢を前記第2位置情報として推定するステップと、
    を含む、請求項6に記載の位置推定方法。
  8. 前記第2位置情報を推定するステップは、
    前記第1位置情報と前記車輪による移動量とに基づいて、前記第1位置から前記車輪による移動により前記走行部が到達しうる位置及び姿勢の確率分布を表す第4分布を算出するステップと、
    前記磁場ベクトルの変化量と前記第4分布とに基づいて、第5分布を算出するステップと、
    前記マップマッチング結果と前記第5分布とに基づいて、第6分布を算出するステップと、
    前記第6分布において最大の確率を示す前記走行部の位置及び姿勢を前記第2位置情報として推定するステップと、
    を含む、請求項6に記載の位置推定方法。
  9. 前記第2位置情報を推定するステップにおいて、前記磁場ベクトルの変化量が所定の閾値より大きければ、前記第2位置情報の推定における前記磁場ベクトルの変化量の影響割合を小さくする、請求項6〜8のいずれかに記載の位置推定方法。
  10. 前記第2位置情報を推定するステップは、
    前記第1位置において前記走行部の周囲に存在する物体に関する物体情報を取得するステップと、
    前記第1位置情報と、前記車輪による移動量と、前記磁場ベクトルの変化量と、前記第1位置にて取得した前記物体情報から生成された第1局所地図と前記第2位置にて取得した前記物体情報から生成された第2局所地図との間のずれ量と、前記第2位置で取得した前記物体情報から生成された局所地図と前記環境地図とのマップマッチング結果と、に基づいて前記第2位置情報を推定するステップと、
    を含む、請求項6〜9のいずれかに記載の位置推定方法。
JP2020045943A 2020-03-17 2020-03-17 移動体、及び、位置推定方法 Pending JP2021149229A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020045943A JP2021149229A (ja) 2020-03-17 2020-03-17 移動体、及び、位置推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020045943A JP2021149229A (ja) 2020-03-17 2020-03-17 移動体、及び、位置推定方法

Publications (1)

Publication Number Publication Date
JP2021149229A true JP2021149229A (ja) 2021-09-27

Family

ID=77848777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020045943A Pending JP2021149229A (ja) 2020-03-17 2020-03-17 移動体、及び、位置推定方法

Country Status (1)

Country Link
JP (1) JP2021149229A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023079845A1 (ja) * 2021-11-02 2023-05-11 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023079845A1 (ja) * 2021-11-02 2023-05-11 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
US9251587B2 (en) Motion estimation utilizing range detection-enhanced visual odometry
Su et al. GR-LOAM: LiDAR-based sensor fusion SLAM for ground robots on complex terrain
KR100772912B1 (ko) 절대 방위각을 이용한 로봇 및 이를 이용한 맵 작성 방법
JP6711138B2 (ja) 自己位置推定装置、及び、自己位置推定方法
JP6481347B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP4738472B2 (ja) 障害物回避機能を有する移動制御装置
Barczyk et al. Invariant EKF design for scan matching-aided localization
JP5310285B2 (ja) 自己位置推定装置及び自己位置推定方法
Kuramachi et al. G-ICP SLAM: An odometry-free 3D mapping system with robust 6DoF pose estimation
US9126338B2 (en) Robot system and method for driving the same
JP2012194860A (ja) 走行車
Horn et al. Online extrinsic calibration based on per-sensor ego-motion using dual quaternions
GB2543251A (en) Calibrating an automated guided vehicle
JP6548452B2 (ja) 地図生成装置および地図生成方法
JP2020004342A (ja) 移動体制御装置
JP2021149229A (ja) 移動体、及び、位置推定方法
Sola Course on SLAM
JP2018022215A (ja) 移動教示装置、及び、移動教示方法
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP4677613B2 (ja) 三次元形状測定システム
JP2017224048A (ja) 移動目標決定装置、及び、移動目標決定方法
JP2019095256A (ja) 自律走行装置
Henawy et al. Piecewise linear de-skewing for lidar inertial odometry
JP6626248B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
Browne et al. Localization of autonomous mobile ground vehicles in a sterile environment: a survey