JPWO2018179960A1 - 移動体および自己位置推定装置 - Google Patents
移動体および自己位置推定装置 Download PDFInfo
- Publication number
- JPWO2018179960A1 JPWO2018179960A1 JP2019508736A JP2019508736A JPWO2018179960A1 JP WO2018179960 A1 JPWO2018179960 A1 JP WO2018179960A1 JP 2019508736 A JP2019508736 A JP 2019508736A JP 2019508736 A JP2019508736 A JP 2019508736A JP WO2018179960 A1 JPWO2018179960 A1 JP WO2018179960A1
- Authority
- JP
- Japan
- Prior art keywords
- time
- moving object
- positioning device
- estimated value
- moving
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 24
- 238000012937 correction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 206010027146 Melanoderma Diseases 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本開示の移動体は、周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサ(106)と、地図データを記憶する記憶装置(108)と、センサデータおよび地図データを利用して移動体の位置を推定する処理を行い、位置の推定値を順次出力する測位装置(110)と、演算回路(120)とを備える。演算回路は、測位装置が第1時刻における移動体の位置の推定値を出力した後、第2時刻における移動体の位置を推定する処理を開始するとき、第1時刻から第2時刻までの間に移動体が移動する距離および方向に基づいて、第1時刻における位置の推定値を補正し、補正後の推定値を第2時刻における移動体の位置の初期位置として測位装置に与える。
Description
本開示は、移動体、および当該移動体に用いられる自己位置推定装置に関する。
ドローン(無人航空機)、自動運転カー、および自律移動ロボットなどの移動体(以下、単に「移動体」と称する)の位置を高い精度で推定する位置推定技術の開発が進められている。自己位置推定を行う移動体は、レーザ測域センサなどの外界センサを備え、移動しながら周囲の空間をセンシングしてセンサデータを取得する。たとえば、センサデータから作成した移動体周囲の局所的地図データを、より広範囲の環境地図データと照合(マッチング)することにより、環境地図上における自己位置を同定することが可能になる。
特開2016−224680号公報は、第1自己位置推定部と第2自己位置推定部とを備え、ステップごとに推定処理を実行する自己位置推定装置を開示している。第1自己位置推定部は、センサデータおよび環境地図から移動体の最新位置の確率分布を求め、この確率分布に基づいて第1自己位置を推定する。第2自己位置推定部は、オドメトリによって取得される、前回のステップから現在のステップまでの移動距離および移動方向を、前回のステップで推定された最終自己位置に加算して第2自己位置を推定する。この自己位置推定装置では、第1自己位置および第2自己位置の重みづけ平均値が現在のステップにおける最終自己位置とされる。
特開2016−224680号公報の装置によれば、第2自己位置は、前回のステップから現在のステップまでの固定された時間における移動体の移動(1ステップ分の移動)に基づいて算出される。また、1ステップ分の移動は、前回のステップから現在のステップまでの固定された時間においてオドメトリによって測定される。
上記の装置では、第1自己位置推定部による第1自己位置の推定に失敗したとき、または、推定の信頼度が低いとき、移動体の移動速度が高いと正確度の高い推定が実現しないという課題がある。
本開示の実施形態は、移動速度によらず、正確度の高い位置推定を実現し得る移動体、および当該移動体に用いられる自己位置推定装置を提供する。
本開示の移動体は、例示的な実施形態において、モータと、前記モータを制御して前記移動体を移動させる駆動装置と、周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサと、地図データを記憶する記憶装置と、前記センサデータおよび前記地図データを利用して前記移動体の位置を推定する処理を行い、前記位置の推定値を順次出力する測位装置と、演算回路とを備える。前記演算回路は、前記測位装置が第1時刻における前記移動体の位置の推定値を出力した後、第2時刻における前記移動体の位置を推定する処理を開始するとき、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向に基づいて、前記第1時刻における前記位置の推定値を補正し、補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える。
本開示の自己位置推定装置は、例示的に実施形態において、周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサを備える移動体に搭載されて使用される自己位置推定装置であって、地図データを記憶する記憶装置と、前記センサデータおよび前記地図データを利用して前記移動体の位置を推定する処理を行い、前記位置の推定値を順次出力する測位装置と演算回路とを備える。前記演算回路は、前記測位装置が第1時刻における前記移動体の位置の推定値を出力した後、第2時刻における前記移動体の位置を推定する処理を開始するとき、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向に基づいて、前記第1時刻における前記位置の推定値を補正し、補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える。
本発明の移動体の実施形態によれば、測位装置による移動体の位置推定に必要な初期位置を決定するとき、測位装置の処理時間に応じて移動体の移動距離および方向を算出することができる。このため、逐次処理の1ステップの期間に限定されず、より正確度の高い初期位置を測位装置に与えることが可能になる。
本開示による移動体の具体的な実施形態を説明する前に、本開示による移動体の基本構成例を説明する。
図1は、本開示による移動体の基本構成例を示している。この例における移動体100は、電気モータ(以下、単に「モータ」と称する。)102と、モータ102を制御して移動体100を移動させる駆動装置104と、周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサ106とを備えている。移動体10の典型例は、モータ102に対して機械的に結合した少なくとも1個の駆動輪(不図示)を有し、駆動輪のトラクションによって地上を走行することができる移動体である。
移動体100は、さらに自己位置推定装置200を備えている。自己位置推定装置200は、周囲環境の地図データ(マップデータ)を記憶する記憶装置108と、センサデータおよび地図データを利用して移動体100の位置を推定する測位装置110と、種々の演算を実行する演算回路120とを有している。測位装置110は、移動体100が移動しているとき、または停止しているとき、移動体100の位置(自己位置)の推定値を順次出力する。演算回路120は、測位装置110に必要な位置情報を算出して測位装置110に与える。
以下、自己位置推定装置200の動作を詳細に説明する。
まず、図2を参照して、自己位置推定装置200における従来の動作例を説明する。図2は、外界センサ106からセンサデータが周期的に出力されるタイミング、および、測位装置110から位置推定値が出力されるタイミングの例を示す図である。図2の黒丸は、センサデータの出力タイミングを示している。センサデータは、外界センサ106から周期Tsで出力される。一方、測位装置110からは、周期Tpで位置推定値が出力される。
図2の例において、時刻t1、t2、t3では、それぞれ、位置推定値x1、x2、x3が正常に出力された。しかし、時刻t4では、位置推定値として「不定」を示す情報、または、非常に信頼度の低い位置推定値が出力された。このような場合、測位装置110は、次の位置推定に必要な現在の位置情報を失い、周期Tpで継続して位置推定値を出力することができなくなる。このため、移動体100の現在の位置として、時刻t3に出力された信頼度の高い位置推定値x3を測位装置110に与えることが必要になる。測位装置110は、たとえばICP(Iterative Closest Point)マッチングアルゴリズムによって自己位置推定を行う。測位装置110は、モンテカルロ法によるパーティクルフィルタを用いた確率的な位置推定を行ってもよい。測位装置110は、初期位置として位置推定値x3を取得すると、位置同定処理を開始する。
移動体100の走行速度(移動速度)が高くなると、周期Tpの時間が経過する間に移動体100の移動する距離が長くなる。たとえば、移動体100の移動速度が5メートル/秒、周期Tpが100ミリ秒の場合、時刻t4の時点で時刻t3の位置推定値x3から0.5メートルもシフトする。また、時刻t4から周期Tpだけ時間が経過した時刻t5では、移動体100は時刻t3の位置推定値x3から1メートルもシフトしてしまう。移動体100の走行を停止しないかぎり、移動体100の位置は時刻t3の位置推定値x3からさらに遠ざかっていく。
一方、外界センサ106からは、周期Tpよりも短い周期Tsでセンサデータが継続して出力される。移動体100の現在の位置を推定するためには、最新のセンサデータを用いて位置同定処理を行うべきである。しかし、この位置同定処理に必要な移動体100の初期位置が現実の位置から大きくずれていると、位置同定処理に長時間を要し、あるいは、位置同定が実現しないという問題がある。
特開2016−224680号公報に開示されている装置は、逐次処理の各ステップにおける移動体100の移動距離および方向をオドメトリによって取得している。1ステップの期間は、周期Tpに相当する。したがって、この装置によれば、時刻t4で自己位置を見失ったときは、時刻t3から時刻t4までの移動距離および方向を、時刻t3の位置推定値x3に加算した値(第2自己位置)を初期位置として用いることになる。なお、特許文献1に開示されている装置では、パーティクルフィルタを用いて確率的な自己位置推定が実行されている。しかし、本開示による移動体および自己位置推定装置では、自己位置推定のアルゴリズムは、確率的である必要はなく、パターンマッチングによるアルゴリズムであってもよい。
このような従来例には、以下の課題がある。
センサデータを取得してから地図データと照合するには、1回または複数回のスキャンによって取得したセンサデータから局所的地図データを作成する必要がある。このため、自己位置を見失った時刻t4における位置をオドメトリによって算出したとしても、照合に用いられるセンサデータの取得を実際に完了する時刻t6までに移動体100はさらに移動することになる。このため、より正確度の高い初期位置を与えないと、次の位置同定にも失敗する可能性がある。このことは、自己位置を見失った後も、停止または減速することなく高速で走行することが求められるような移動体では、特に問題になる。
本開示による移動体では、上記の課題を解決するため、図1の演算回路120が以下の処理を実行する。図3を参照して、この処理を説明する。
図3に示されるように、時刻t3(第1時刻)における移動体100の位置の推定値x3を測位装置110が出力した後、時刻t4で自己位置を見失った(位置推定値「不定」)とする。この場合において、演算回路120は、時刻t6(第2時刻)における移動体100の位置を推定する位置同定処理を開始する。このとき、演算回路120は、時刻t3(第1時刻)から時刻t6(第2時刻)までの間に移動体100が移動する距離および方向に基づいて、時刻t3(第1時刻)における位置の推定値x3を補正する。演算回路120は、補正後の推定値(x3+Δx)を、時刻t6(第2時刻)における移動体100の位置の初期位置として測位装置110に与える。
図3の例において、補正後の推定値(x3+Δx)が測位装置110に与えられるタイミングは時刻t5である。時刻t5から時刻t6までの時間は、極端な場合、零であってもよい。時刻t5=時刻t6のとき、補正量Δxは、時刻t3から時刻t5までの間に、たとえばオドメトリによって取得された移動距離および方向である。しかし、時刻t5から時刻t6までの期間(t6−t5)が無視できない場合は、その期間(t6−t5)における移動体の移動距離および方向を計算によって求め、補正量Δxに含めてもよい。次々に取得されるセンサデータを用いて局所位置データを作成する処理に時間を要する場合、時刻t3から時刻t6までの期間は非常に長くなり得る。このような場合、上記の処理時間に応じて時刻t6における移動体100の位置を初期位置として決定することが好ましい。
以上の説明から明らかなように、補正後の推定値(x3+Δx)は、時刻t6(第2時刻)における移動体100の「予測位置」と呼んでも良い。このように本開示によれば、自己位置を見失った後に開始する自己位置同定処理の初期位置として、センサデータ取得後の処理に必要な時間を考慮し、移動体100の移動速度および方向に基づく予想位置を算出する。このため、初期位置の正確度が向上し、自己位置同定処理が適切に開始できる。その結果、移動体の減速または停止を行うことなく、スムーズな走行を継続し得る。
ある態様において、測位装置110は、移動体100の位置の推定値を出力するとき、推定の信頼度を示す情報を出力してもよい。この態様において、演算回路120は、第1時刻から第2時刻までの間において、測位装置110から出力された移動体の位置の推定値についての信頼度が設定値未満になったとき、補正後の推定値を第2時刻における移動体の位置の初期位置として測位装置110に与える。推定の信頼度は、パターンマッチングによる一致度の評価値、または確率的な指標であり得る。信頼度が予め設定された値よりも低いとき、自己位置を見失ったとすることができる。
他の態様において、演算回路120は、第1時刻から第2時刻までの間において、測位装置110からの要求に応答して、補正後の推定値を第2時刻における移動体100の位置の初期位置として測位装置110に与える。この態様によれば、たとえば、「不定」または信頼度の低い位置推定値が測位装置110から出力される前に、測位装置110が演算回路120に「補正後の推定値」を算出するように指示することも可能になる。演算回路120による「補正後の推定値」の算出開始を早めることができれば、第1時刻から第2時刻までの間隔を短くできるため、自己位置を見失っている期間を短縮することが可能になる。
測位装置110は、演算回路120から与えられた第2時刻における移動体100の位置の初期位置と、第2時刻および第2時刻以前に外界センサ106から出力されたセンサデータとを利用して、第2時刻における移動体100の位置を推定する。測位装置110は、第2時刻における移動体100の位置の推定値を第3時刻に出力する。第2時刻における移動体100の位置推定値が出力されることにより、演算回路120は、この位置推定値に基づいて移動体100の走行を制御することが可能になる。
ある実施形態において、演算回路120は、駆動装置104の動作状態に応じて、第1時刻から第2時刻までの間に移動体100が移動する距離および方向を決定する。このような距離および方向は、モータ102を制御する駆動装置104の動作状態から把握することが可能である。たとえばトラクションを生成するモータ102の個数が2個の場合、個々のモータ102の回転速度から移動体100の移動速度および移動方向を決定することができる。モータ102の回転速度は駆動装置104の動作状態によって規定されるため、モータ102の回転状態を直接に検出するセンサが無くても、駆動装置の動作状態に基づいて移動体100の移動速度などを決定することができる。また、駆動装置104の動作状態は、演算回路120が駆動装置104に与える指令の中身から知ることができる。
他の実施形態において、移動体100は、オドメトリ情報を出力する内界センサをさらに備えている。内界センサの例は、モータまたは車輪の回転速度を測定するロータエンコーダ、ジャイロセンサなどの慣性計測ユニットを含む。車輪の回転速度は、駆動装置の動作状態から推定することも可能である。このような実施形態における演算回路120は、内界センサから出力されたオドメトリ情報を利用して、第1時刻から第2時刻までの間に前記移動体が移動する距離および方向を決定し得る。
地図データは、移動体100が移動しているときに外界センサ106から周期的に出力されたセンサデータに基づいて作成されたデータであってもよいし、他の方法によって作成された地図データであってもよい。地図データは、複数のゾーンのそれぞれの地図データが統合されたデータであってもよい。地図データの典型例は、占有格子地図であるが、これに限定されない。
駆動装置104は、移動体100の位置の指令値と測位装置110から出力された移動体100の位置の推定値とに基づいてモータ102を制御する。この指令値は、図1に示されてないコントローラから駆動装置104に与えられてもよい。
[実施形態]
以下、添付の図面を参照しながら、本開示による移動体の実施形態を説明する。本明細書では、移動体の一例として無人搬送車を挙げる。無人搬送車はAGV(Automated Guided Vehicle)とも呼ばれており、本明細書でも「AGV」と記述する。
以下、添付の図面を参照しながら、本開示による移動体の実施形態を説明する。本明細書では、移動体の一例として無人搬送車を挙げる。無人搬送車はAGV(Automated Guided Vehicle)とも呼ばれており、本明細書でも「AGV」と記述する。
図4は、たとえば工場内の通路1を走行するAGV10を示す。図5は、本例による、AGV10の走行を管理する管理システム1000の概要を示す。図示される例では、AGV10は地図データ(マップデータ)を有し、自身が現在どの位置を走行しているかを認識しながら走行する。AGV10の走行経路は、図5の走行管理装置20からの指令に従う。AGV10は、指令に従って、内蔵された複数のモータをそれぞれ駆動し、車輪を回転させることによって移動する。指令は無線により、走行管理装置20からAGV10に送られる。AGV10と走行管理装置20との通信は、たとえば工場の天井付近に設けられた無線アクセスポイント2a、2b等を利用して行われ得る。通信は、たとえばWi−Fi(登録商標)規格に準拠する。なお、図4には1台のAGV10のみが示されているが、複数台のAGV10が走行してもよい。当該複数台のAGV10の各々の走行は、走行管理装置20によって管理されていてもよいし、されていなくてもよい。
管理システム1000に含まれるAGV10および走行管理装置20の動作の概要は以下のとおりである。
AGV10は、走行管理装置20からの指令(第n指令((n:正の整数)))に従って、第n位置から、目的位置である第(n+1)位置(以下「位置Mn+1」などと記述する。)に向かって移動中であるとする。なお、目的位置は、たとえばAGV10ごとに管理者によって決定され得る。
AGV10が目的とする位置Mn+1に到達すると、AGV10は走行管理装置20に宛てて到達通知(以下「通知」と記述する。)を送信する。通知は無線アクセスポイント2aを介して走行管理装置20に送られる。本実施形態では、AGV10は、周囲をセンシングする外界センサの出力と、地図データとを照合して自己位置を同定する。そして自己位置が当該位置Mn+1に一致するか否かを判定すればよい。
通知を受信すると、走行管理装置20は、AGV10を位置Mn+1から位置Mn+2まで移動させるための次の指令(第(n+1)指令)を生成する。第(n+1)指令は、位置Mn+2の位置座標を含み、さらに加速時間、定速走行時の移動速度等の数値を含み得る。走行管理装置20は、AGV10に宛てて当該第(n+1)指令を送信する。
第(n+1)指令を受信すると、AGV10は、第(n+1)指令を解析して、位置Mn+1から位置Mn+2までの移動に必要な前処理演算を行う。前処理演算は、たとえば、AGV10の各車輪を駆動するための各モータの回転速度、回転時間等を決定するための演算である。
図6は、AGV10の走行経路に設定される各目的位置(▲)の例を示す。隣り合う2つの目的位置の間隔は固定値でなくてもよく、管理者によって決定され得る。
AGV10は、走行管理装置20からの指令に応じて種々の方向に移動することが可能である。図7A〜図7Cは、連続的に移動するAGV10の移動経路の例を示す。
図7Aは、直進時のAGV10の移動経路を示す。AGV10は、位置Mn+1への到達後、前処理演算を行い、演算結果に従って各モータを動作させて、次の位置Mn+2に直線的に移動を継続することができる。
図7Bは、位置Mn+1において左折し、位置Mn+2に向けて移動するAGV10の移動経路を示す。AGV10は、位置Mn+1への到達後、前処理演算を行い、演算結果に従って、進行方向右側に位置する少なくとも1台のモータを回転させる。そしてその場で角度θだけ半時計回りに回転すると、AGV10は位置Mn+2に向けて全てのモータを等速で回転させ、直進する。
図7Cは、位置Mn+1から位置Mn+2まで円弧状に移動するときのAGV10の移動経路を示す。AGV10は、位置Mn+1への到達後、前処理演算を行い、演算結果に従って内周側のモータよりも外周側のモータの回転速度を速める。これにより、AGV10は次の位置Mn+2に向けて円弧状の経路で移動を継続することができる。
図8は、本実施形態にかかる例示的なAGV10の外観図である。また図9は、AGV10のハードウェアの構成を示す。
AGV10は、4つの車輪11a〜11dと、フレーム12と、搬送テーブル13と、走行制御装置14と、レーザレンジファインダ(LRF)15とを有する。なお、図8には、前輪11a、後輪11bおよび後輪11cは示されているが、前輪11dはフレーム12の蔭に隠れているため明示されていない。
走行制御装置14は、AGV10の動作を制御する装置であり、自己位置推定装置としても機能する。走行制御装置14は、主としてマイコン(後述)を含む複数の集積回路、複数の電子部品および、当該複数の集積回路および当該複数の電子部品が搭載された基板を含む。走行制御装置14は、上述した、走行管理装置20とのデータの送受信、および、前処理演算を行う。
LRF15は、たとえば赤外のレーザビーム15aを目標物に照射し、レーザビーム15aの反射光を検出することにより、目標物までの距離を測定する測域センサである。LRF15は、図1の外界センサ106に相当する。周囲の空間をセンシングしてセンサデータを取得するための外界センサの他の例は、イメージセンサおよび超音波センサを含む。本実施形態では、AGV10のLRF15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザビーム15aを放射し、各レーザビーム15aの反射光を検出する。これにより、角度270度の範囲を0.25度ごとに分割した合計約1080の異なる方向のそれぞれについて、AGV10から反射点までの距離のデータを得ることができる。270度および0.25度の数値は、例示であり、スキャンの態様はLRF15の種類に応じて異なる。LRF15による1回のスキャンに要する時間は、たとえば数ミリから数十ミリ秒である。LRF15は、周囲の空間をセンシングしながら周期的(たとえば数十ミリ秒毎)にセンサデータを出力する。
AGV10の位置および姿勢と、LRF15のスキャン結果とにより、AGV10の周囲における物体の配置状態を知ることができる。一般に、移動体の位置および姿勢は、ポーズ(pose)と呼ばれる。2次元面内における移動体の位置および姿勢は、それぞれ、XY直交座標系における位置座標(x, y)、およびX軸に対する角度θによって表現される。AGV10の位置および姿勢、すなわちポーズ(x, y, θ)を、以下、単に「位置」または「位置座標」と呼ぶことがある。
後述する測位装置は、LRF15のスキャン結果から作成された局所的地図データを、より広範囲の環境地図データと照合(マッチング)することにより、環境地図上における自己位置(x, y, θ)を同定することが可能になる。
なお、レーザビーム15aの放射の中心位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。この極座標は、AGV10とともに移動する局所的な座標である。本実施形態では、LRF15は極座標で表現されたセンサデータを出力する。ただし、LRF15は、極座標で表現された位置を直交座標に変換して出力してもよい。
LRFの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。なお、LRF15によって検出され得る物体の例は、人、荷物、棚、壁である。
本明細書では、センサから出力されたデータを「センサデータ」と呼ぶ。LRF15から出力された「センサデータ」は、角度θと距離Lとを一組とした複数組のベクトルデータである。角度θは、前述したように、たとえば−135度から+135度の範囲で0.25度ずつ変化する。角度は、AGV10の正面を基準として右側を正、左側を負として表現され得る。距離Lは、角度θごとに計測された物体までの距離である。距離Lは、レーザビーム15aの放射時刻と反射光の受信時刻との差(つまりレーザビームの往復の所要時間)の半分を、光速で除算して得られる。
図9を参照する。図9には、AGV10の走行制御装置14の具体的な構成も示されている。
この例におけるAGV10は、走行制御装置14と、LRF15と、4台のモータ16a〜16dと、駆動装置17とを備えている。
走行制御装置14は、マイコン14aと、メモリ14bと、記憶装置14cと、通信回路14dと、測位装置14eとを有している。マイコン14a、メモリ14b、記憶装置14c、通信回路14dおよび測位装置14eは通信バス14fで接続されており、相互にデータを授受することが可能である。またLRF15もまた通信インタフェース(図示せず)を介して通信バス14fに接続されており、測定結果である測定データを、マイコン14a、測位装置14eおよび/またはメモリ14bに送信する。
マイコン14aは、走行制御装置14を含むAGV10の全体を制御するための演算を行う制御回路(コンピュータ)である。マイコン14aは、図1の演算回路120として動作することができる。典型的にはマイコン14aは半導体集積回路である。マイコン14aは、PWM(Pulse Width Modulation)信号を駆動装置17に送信して駆動装置17を制御し、モータに流れる電流を調整させる。これによりモータ16a〜16dの各々が所望の回転速度で回転する。
メモリ14bは、マイコン14aが実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ14bは、マイコン14aおよび測位装置14eが演算を行う際のワークメモリとしても利用され得る。
記憶装置14cは、地図データを記憶する不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよく、さらにいずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。地図データの詳細は図50を参照しながら後述する。記憶装置14cは、図1の記憶装置108に相当する。
通信回路14dは、たとえばWi−Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。
測位装置14eは、LRF15からセンサデータを受け取り、また、記憶装置14cに記憶された地図データを読み出す。測位装置14eがLRF15からセンサデータを受け取るタイミングは、LRF15がセンサデータを出力するタイミングと一致している必要はない。たとえばLRF15がセンサデータを25ミリ秒ごとに出力し、測位装置14eは、100ミリ秒ごとにセンサデータを受け取っても良い。測位装置14eは、センサデータと地図データとを照合して自己位置を同定する処理を行う。測位装置14eの具体的な動作は後述する。
なお、本実施形態では、マイコン14aと測位装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび測位装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。図9には、マイコン14aおよび測位装置14eを包括するチップ回路14gが示されている。本明細書では、マイコン14a、測位装置14eおよび/またはチップ回路14gは、コンピュータ、演算回路、または、処理回路と呼ぶことがある。なお、以下では、マイコン14aおよび測位装置14eが別個独立に設けられている例で説明する。
4台のモータ16a〜16dは、それぞれ4つの車輪11a〜11dに取り付けられ、各車輪を回転させる。1台のAGV10に搭載されるモータの個数は4個に限定されない。また、トラクションのためのモータは4つの車輪11a〜11dの全てに取り付けられる必要はなく、典型的には、2個の車輪に取り付けられる。AGV10には、操舵のための車輪およびモータが設けられていてもよいし、他の用途のモータが搭載されていてもよい。
駆動装置17は、4台のモータ16a〜16dの各々に流れる電流を調整するためのモータ駆動回路17a〜17dを有する。駆動装置17は、図1の駆動装置104に相当する。モータ駆動回路17a〜17dの各々はいわゆるインバータ回路であり、マイコン14aから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに流れる電流を調整する。
次に、本開示によるAGV10がマップを生成する処理の一例を説明する。
本実施形態における地図データは、SLAM(Simultaneous Localization and Mapping)技術によって作成され得る。AGV10は、たとえば、AGV10が使用される工場内を実際に走行しながらLRF15を動作させて周囲の空間をスキャンし、自己の位置を推定しながらマップを生成する。またはAGV10は、管理者に制御されながら特定の経路を走行し、LRF15によって取得したセンサデータからマップを生成してもよい。地図データの作成は、AGV10の移動中に「オンライン処理」で行ってもよいし、AGV10の移動中に取得した大量のセンサデータを用いて、AGV10の外部に位置するコンピュータによって「オフライン処理」で行ってもよい。
図10から図14はそれぞれ、移動しながらマップを生成するAGV10を示す。図10には、LRF15を用いて周囲の空間をスキャンするAGV10が示されている。所定の角度ごとにレーザビームが放射され、スキャンが行われる。
図10から図14の各々では、レーザビームの反射点の位置が、図10の点4のような、記号「・」で表される複数の点を用いて示されている。これらの複数の点は、点群データ(Point Cloud Data)を形成している。測位装置14eは、走行に伴って得られる黒点4の位置を、たとえばメモリ14bに蓄積する。AGV10が走行しながらスキャンを継続して行うことにより、マップが徐々に完成されてゆく。図11から図14では、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲も例示であり、上述した合計270度の例とは異なる。
図15は、完成したマップ30の一部を模式的に示す。測位装置14eは、マップ30のデータをメモリ14bまたは記憶装置14cに蓄積する。なお図示されている黒点の数または密度は一例である。
図16から図18は、一般的な位置同定処理の手順を模式的に示す。AGVは、SLAM技術によって取得した、図16のマップ30に相当するマップ(以下、「参照マップ30」と称する。)を事前に取得している。AGVは走行時に、所定の時間間隔で、図16に示すセンサデータ32を取得し、参照マップ30上における自己位置を同定する処理を実行する。
まず、AGVは、参照マップ30上でAGVの位置および角度を変化させた種々の局所地図(たとえば局所地図34a、34b、34c)を順次設定し、その各々に含まれる複数の反射点とセンサデータ32に含まれる反射点とを照合する。このような照合は、たとえば、前述したICPマッチングによって行うことができる。照合を効率的に実行するためには、参照マップ30上におけるAGVの位置および角度、すなわちポーズを適切に設定する必要がある。本実施形態では、図3を参照しながら説明した方法で図9のマイコン14aが初期位置を設定し、測位装置14eに与える。
図17は、照合の結果、一致したと判定された点(たとえば点5)を記号「■」で模式的に示す。たとえば、対応する特徴間の距離(誤差)の二乗平均が最小になる局所地図34dが選択されると、その局所地図34dに対応するAGVの位置および角度から、照合によって推定されたAGVの位置および位置が決まる。図18では、同定された自己位置36が、記号「X」で表されている。
図16に示されるような照合を行うには、最新のセンサデータと、そのセンサデータを取得したときのAGVの位置、正確にはポーズが必要である。AGVが自己位置を見失わない場合、前回の推定位置(同定位置)に初期位置として現在の自己位置を高い精度で推定することが可能である。そのような推定値の更新は、たとえば100ミリ秒周期で実現し得る。しかし、図2を参照して説明したように、AGVが自己位置を見失った場合、照合開始に必要なAGVの位置(初期位置)が現実のAGVの位置から大きくシフトしていると、照合に長い時間がかかる。このため、AGVは照合のために停止または減速する必要が発生する。本開示の実施形態によれば、図3を参照しながら説明したように、自己位置を見失った場合、AGVの移動距離および方向ならびに処理時間に応じて初期位置を適切に予想する。このため、適切な初期位置に基づいて、効率的な照合処理が実現する。
図19は、自己位置を見失った後の位置同定処理の例を示すフローチャートである。図9および図19を参照しながら、位置同定処理の例を説明する。
まず、図9のマイコン14aは、自己位置を見失った後、図19のステップS10において、オドメトリ情報を取得する。「自己位置を見失った後」とは、図3における時刻t4以降を意味する。オドメトリ情報は、不図示のロータリエンコーダなどから取得され得る。
次に、ステップS20において、マイコン14aは前回の同定位置を補正し、照合に必要な初期位置を算出する。具体的には、オドメトリ情報に基づいて、マイコン14aはAGVの移動速度を算出する。また、マイコン14aは、最新のセンサデータを取得する時刻(図3の時刻t6)までの時間を決定し、この時間および移動速度に基づいて、AGVの移動距離を算出する。さらに、マイコン14aは、この移動距離およびAGVの移動方向から、最新のセンサデータを取得する時刻(図3の時刻t6)におけるAGVの位置を予測する。
ステップS30において、マイコン14aは、予測した位置を照合のための初期位置として測位装置14eに与える。
ステップS40において、測位装置14eはLRF15から最新のセンサデータを取得する。
ステップS50において、測位装置14eは、上記の初期位置と最新のセンサデータとを用いて位置同定のための照合を開始する。測位装置14eは、照合が完了し、自己位置を同定した後、その自己位置を位置推定値として出力する。
図20は、走行管理装置20のハードウェア構成を示す。走行管理装置20は、CPU21と、メモリ22と、記憶装置23と、通信回路24と、画像処理回路25とを有する。CPU21、メモリ22、記憶装置23、通信回路24、および画像処理回路25は通信バス27で接続されており、相互にデータを授受することが可能である。
CPU21は、走行管理装置20の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU21は半導体集積回路である。
メモリ22は、CPU21が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ22は、CPU21が演算を行う際のワークメモリとしても利用され得る。
記憶装置23は、AGV10が作成した地図データを格納している。記憶装置23は、不揮発性の半導体メモリであってもよいし、ハードディスクに代表される磁気記録媒体、光ディスクに代表される光学式記録媒体であってもよい。
記憶装置23には、走行管理装置20として機能するために必要な、AGV10の行き先となり得る各位置を示す位置データも格納され得る。位置データは、たとえば管理者によって工場内に仮想的に設定された座標によって表され得る。位置データは管理者によって決定される。
通信回路24は、たとえばイーサネット(登録商標)規格に準拠した有線通信を行う。通信回路24は無線アクセスポイント2a、2b等と有線で接続されており、無線アクセスポイント2a、2b等を介して、AGV10と通信することができる。
通信回路24は、AGV10が向かうべき位置のデータおよび指令を、バス27を介してCPU21から受信してAGV10に送信する。このデータおよび指令は、図9に示されるAGV10の通信回路14dが受信する。通信回路24は、AGV10の通信回路14d(図9)から受信したデータ(たとえば通知および位置情報)を、バス27を介してCPU21および/またはメモリ22に送信する。AGV10は、測位装置14eが出力した自己位置情報(位置および角度)を周期的に走行管理装置20の通信回路24に送信する。この周期は、たとえば100ミリ秒から1秒であり得る。
画像処理回路25は外部モニタ29に表示する映像データを生成する回路である。画像処理回路25は、専ら、管理者が走行管理装置20を操作する際に動作する。本実施形態では特にこれ以上の詳細な説明は省略する。なお、モニタ29は走行管理装置20と一体化されていてもよい。また画像処理回路25の処理をCPU21が行ってもよい。
本開示の技術は、自己位置を同定する処理を行う移動体に広く用いられ得る。
2a、2b・・・無線アクセスポイント、10・・・自動搬送車(AGV)、14・・・走行制御装置、14a・・・マイコン、14b・・・メモリ、14c・・・記憶装置、14d・・・通信回路、14e・・・測位装置、15・・・LRF、16a〜16d・・・モータ、17・・・駆動装置、17a〜17d・・・モータ駆動回路、20・・・走行管理装置
Claims (10)
- 移動体であって、
モータと、
前記モータを制御して前記移動体を移動させる駆動装置と、
周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサと、
地図データを記憶する記憶装置と、
前記センサデータおよび前記地図データを利用して前記移動体の位置を推定する処理を行い、前記位置の推定値を順次出力する測位装置と、
演算回路と
を備え、
前記演算回路は、前記測位装置が第1時刻における前記移動体の位置の推定値を出力した後、第2時刻における前記移動体の位置を推定する処理を開始するとき、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向に基づいて、前記第1時刻における前記位置の推定値を補正し、補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える、移動体。 - 前記測位装置は、前記移動体の位置の推定値を出力するとき、推定の信頼度を示す情報を出力し、
前記演算回路は、前記第1時刻から前記第2時刻までの間において、前記測位装置から出力された前記移動体の位置の推定値についての信頼度が設定値未満になったとき、前記補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える、請求項1に記載の移動体。 - 前記演算回路は、前記第1時刻から前記第2時刻までの間において、前記測位装置からの要求に応答して、前記補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える、請求項1に記載の移動体。
- 前記測位装置は、前記演算回路から与えられた前記第2時刻における前記移動体の位置の初期位置と、前記第2時刻までに前記外界センサから出力された前記センサデータとを利用して、前記第2時刻における前記移動体の位置を推定し、前記第2時刻における前記移動体の位置の推定値を第3時刻に出力する、請求項1から3のいずれかに記載の移動体。
- 前記測位装置は、前記演算回路から与えられた前記第2時刻における前記移動体の位置の初期位置と、前記外界センサから出力された前記センサデータとを利用して、前記移動体の位置を推定し、前記移動体の位置の推定値を第3時刻に出力する、請求項1から3のいずれかに記載の移動体。
- 前記演算回路は、前記駆動装置の動作状態に応じて、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向を決定する、請求項1から5のいずれかに記載の移動体。
- 前記移動体は、オドメトリ情報を出力する内界センサをさらに備えており、
前記演算回路は、前記内界センサから出力された前記オドメトリ情報を利用して、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向を決定する、請求項1から5のいずれかに記載の移動体。 - 前記地図データは、前記移動体が移動しているときに前記外界センサから周期的に出力された前記センサデータに基づいて作成されたデータである、請求項1から7のいずれかに記載の移動体。
- 前記駆動装置は、前記移動体の位置の指令値と前記測位装置から出力された前記移動体の位置の推定値とに基づいて前記モータを制御する、請求項1から8のいずれかに記載の移動体。
- 周囲の空間をセンシングしてセンサデータを周期的に出力する外界センサを備える移動体に搭載されて使用される自己位置推定装置であって、
地図データを記憶する記憶装置と、
前記センサデータおよび前記地図データを利用して前記移動体の位置を推定する処理を行い、前記位置の推定値を順次出力する測位装置と、
演算回路と、
を備え、
前記演算回路は、前記測位装置が第1時刻における前記移動体の位置の推定値を出力した後、第2時刻における前記移動体の位置を推定する処理を開始するとき、前記第1時刻から前記第2時刻までの間に前記移動体が移動する距離および方向に基づいて、前記第1時刻における前記位置の推定値を補正し、補正後の推定値を前記第2時刻における前記移動体の位置の初期位置として前記測位装置に与える、自己位置推定装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017061670 | 2017-03-27 | ||
JP2017061670 | 2017-03-27 | ||
PCT/JP2018/005266 WO2018179960A1 (ja) | 2017-03-27 | 2018-02-15 | 移動体および自己位置推定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2018179960A1 true JPWO2018179960A1 (ja) | 2020-02-13 |
Family
ID=63674724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019508736A Pending JPWO2018179960A1 (ja) | 2017-03-27 | 2018-02-15 | 移動体および自己位置推定装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2018179960A1 (ja) |
WO (1) | WO2018179960A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7336752B2 (ja) | 2018-12-28 | 2023-09-01 | パナソニックIpマネジメント株式会社 | 測位装置及び移動体 |
JP7482453B2 (ja) | 2018-12-28 | 2024-05-14 | パナソニックIpマネジメント株式会社 | 測位装置及び移動体 |
JP7336753B2 (ja) * | 2018-12-28 | 2023-09-01 | パナソニックIpマネジメント株式会社 | 測位装置及び移動体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205465A (ja) * | 2008-02-28 | 2009-09-10 | Toyota Motor Corp | 自律移動体 |
JP2010117847A (ja) * | 2008-11-12 | 2010-05-27 | Toyota Motor Corp | 移動体、移動体制御システム及び移動体の制御方法 |
JP6240595B2 (ja) * | 2014-12-10 | 2017-11-29 | 株式会社豊田中央研究所 | 自己位置推定装置及び自己位置推定装置を備えた移動体 |
JP6438354B2 (ja) * | 2015-05-29 | 2018-12-12 | 株式会社豊田中央研究所 | 自己位置推定装置及び自己位置推定装置を備えた移動体 |
-
2018
- 2018-02-15 JP JP2019508736A patent/JPWO2018179960A1/ja active Pending
- 2018-02-15 WO PCT/JP2018/005266 patent/WO2018179960A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018179960A1 (ja) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373395B2 (en) | Methods and systems for simultaneous localization and calibration | |
CN109154827B (zh) | 机器人车辆的定位 | |
US10222215B2 (en) | Methods and systems for map generation and alignment | |
JP6769659B2 (ja) | 移動体の管理システム、方法、およびコンピュータプログラム | |
TWI665538B (zh) | 進行障礙物之迴避動作的移動體及記錄其之電腦程式的記錄媒體 | |
JP6825712B2 (ja) | 移動体、位置推定装置、およびコンピュータプログラム | |
CN109154662A (zh) | 使用负映射的定位 | |
US20200257311A1 (en) | Cart having leading and following function | |
WO2018179960A1 (ja) | 移動体および自己位置推定装置 | |
US11537140B2 (en) | Mobile body, location estimation device, and computer program | |
WO2019054209A1 (ja) | 地図作成システムおよび地図作成装置 | |
Smith et al. | PiPS: Planning in perception space | |
JP7255676B2 (ja) | 搬送車システム、搬送車、及び、制御方法 | |
JP7396353B2 (ja) | 地図作成システム、信号処理回路、移動体および地図作成方法 | |
JPWO2018180175A1 (ja) | 移動体、信号処理装置およびコンピュータプログラム | |
JP6795730B2 (ja) | 移動体の管理システム、移動体、走行管理装置およびコンピュータプログラム | |
JP2021056764A (ja) | 移動体 | |
JP2020166702A (ja) | 移動体システム、地図作成システム、経路作成プログラムおよび地図作成プログラム | |
WO2021220331A1 (ja) | 移動体システム | |
WO2019059299A1 (ja) | 運行管理装置 |