[go: up one dir, main page]

JP6240595B2 - 自己位置推定装置及び自己位置推定装置を備えた移動体 - Google Patents

自己位置推定装置及び自己位置推定装置を備えた移動体 Download PDF

Info

Publication number
JP6240595B2
JP6240595B2 JP2014250066A JP2014250066A JP6240595B2 JP 6240595 B2 JP6240595 B2 JP 6240595B2 JP 2014250066 A JP2014250066 A JP 2014250066A JP 2014250066 A JP2014250066 A JP 2014250066A JP 6240595 B2 JP6240595 B2 JP 6240595B2
Authority
JP
Japan
Prior art keywords
self
position estimation
unit
moving
abnormality determination
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.)
Active
Application number
JP2014250066A
Other languages
English (en)
Other versions
JP2016110576A (ja
Inventor
亮暢 藤井
亮暢 藤井
田中 稔
稔 田中
英典 藪下
英典 藪下
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.)
Toyota Motor Corp
Toyota Central R&D Labs Inc
Original Assignee
Toyota Motor Corp
Toyota Central R&D Labs Inc
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 Toyota Motor Corp, Toyota Central R&D Labs Inc filed Critical Toyota Motor Corp
Priority to JP2014250066A priority Critical patent/JP6240595B2/ja
Publication of JP2016110576A publication Critical patent/JP2016110576A/ja
Application granted granted Critical
Publication of JP6240595B2 publication Critical patent/JP6240595B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本明細書に開示する技術は、移動体に関する。詳しくは、移動体の位置を推定する技術に関する。
所定の移動領域内を移動する移動体であって、移動領域内における自己位置を推定できる移動体が知られている。移動体の自己位置推定は、種々の原因で失敗することがある。このとき、移動体自身が自己位置推定に成功したか失敗したかを自己判定することができないと、移動体は自己位置推定に失敗してもその事実を認識することなくそのまま移動を続けるため、移動領域内の物体(障害物等)と衝突するといった問題が生じる。
非特許文献1には、自己位置推定に成功したか否かを自己判定できる機能を備えた移動体が開示されている。この移動体は、自己位置推定結果の信頼度を表す式を記憶しており、自己位置推定の際に取得される変数を当該式に入力して得られる値が所定値を超えたときは自己位置推定に成功したと判定し、所定値以下のときは失敗したと判定する。これにより、移動体自身が自己位置推定に失敗したことを認識できるため、自己位置推定に失敗した際の対応手段を移動体に組み込むことにより、移動体が自己位置推定に失敗しても、上述したような衝突の危険等を回避できる。
横塚将志、安達弘典、松本治、"LRFを用いたパーティクル・フィルタによる自己位置推定の異常検出とGPSによるリカバリ"、自動車技術会論文集、自動車技術会、2012年3月、第43巻、第2号、p.587〜592
非特許文献1では、自己位置推定結果の信頼度を表す式を、自己位置推定に用いるアルゴリズムに基づき理論的に導き出している。しかしながら、理論的に構築した式では、理論と実際とのずれによって式の精度が低下し、自己位置推定に成功したか失敗したかの判定精度が低くなる可能性がある。
本明細書では、移動体が自己位置推定に成功したか失敗したかを、従来よりも高い精度で判定できる移動体を開示する。
本明細書は、所定の移動領域内を移動する移動体の自己位置を推定する自己位置推定装置を開示する。自己位置推定装置は、自己位置推定部と、異常判定式記憶部と、異常判定部と、を備える。自己位置推定部は、自己位置を推定する。異常判定式記憶部は、移動体の学習移動時の自己位置推定に基づいて取得された学習データを機械学習して得られた異常判定式を記憶する。異常判定部は、移動体が本移動を行ったときに、自己位置推定部における自己位置推定が成功したか失敗したかを判定する。自己位置推定部は、移動領域の環境地図と、直前の自己位置推定により推定された自己位置からの移動体の移動距離及び移動方向と、移動体から移動領域内に存在している物体までの距離及び移動体に対する物体の方位と、に基づいて自己位置を推定する。学習データは、学習移動時に自己位置推定部において自己位置を推定したときの複数の変数と、そのときの自己位置推定結果を正常又は異常に分類したときの分類結果と、を関連付けたデータを複数有する。異常判定部は、異常判定式に、移動体が本移動を行った際に自己位置推定部で取得される複数の変数を入力することで、自己位置推定が成功したか失敗したかを判定する。
上記の移動体の自己位置推定装置は、異常判定式記憶部において、自己位置推定が成功したか失敗したかを判定する基準となる異常判定式を記憶している。この異常判定式は、移動体が学習移動することで取得される学習データを機械学習することにより得られる。このため、理論的に構築された異常判定式よりも高い精度で自己位置推定が成功したか失敗したかを判定することができる。また、移動体の自己位置推定性能は、取得される観測情報(即ち、移動体から移動領域内に存在している物体までの距離及び移動体に対する物体の方位)の精度等により移動体毎にばらつきがある。学習データにはこのばらつきが反映されるため、学習データを機械学習して得られる異常判定式は、移動体毎に固有の式となる。即ち、上記の移動体は、個々の移動体に即した異常判定式に基づいて自己位置推定が成功したか否かを判定できる。また、1つの移動体においても、その自己位置推定性能は走行年数等により変化していく。上記の移動体では、移動体に定期的に学習移動させることで、異常判定式を更新することができる。このため、移動体は、自身の現状の自己位置推定性能をより反映した異常判定式に基づいて自己位置推定が成功したか否かを判定できる。
本明細書が開示する技術の詳細、及び、さらなる改良は、発明を実施するための形態及び実施例にて詳しく説明する。
移動体のシステム構成を示す。 移動体が自己位置推定処理を実施する際のシステム構成を示す。 移動体が学習データ生成処理を実施する際のシステム構成を示す。 移動体が学習移動する移動領域の一例を示す。 学習データの一例を示す。 移動体が異常判定式生成処理を実施する際のシステム構成を示す。 異常判定式のグラフを示す。 移動体が異常判定処理及び推定手段切替処理を実施する際のシステム構成を示す。
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
(特徴1) 本明細書が開示する移動体の自己位置推定装置では、学習データの自己位置推定結果は、学習移動時に自己位置推定部で推定された自己位置と、移動体の実際の位置との位置誤差が所定値以下の場合には正常と分類され、位置誤差が所定値を超える場合には異常と分類されていてもよい。この構成では、移動体の実際の位置を基準として、自己位置推定結果が正常であるか異常であるかの分類が行われる。このため、信頼性の高い分類結果を取得でき、学習データの信頼性が向上し、結果として判定精度の高い異常判定式を取得できる。
(特徴2) 本明細書が開示する移動体の自己位置推定装置は、学習データを記憶する学習データ記憶部をさらに備えていてもよい。この構成によると、推定装置自体に学習データを記憶しているため、移動体の異常判定精度に不具合が生じた場合等には、学習データのログを分析してエラーがないかどうか検証することが可能となり、移動体の信頼性が向上する。
(特徴3) 本明細書が開示する移動体の自己位置推定装置は、学習データを生成する学習データ生成部と、学習データ生成部で生成された学習データを機械学習して異常判定式を生成する異常判定式生成部と、をさらに備えていてもよい。この構成によると、自己位置推定装置自身が学習データを生成し、その学習データに基づいて異常判定式を生成することができる。このため、自己位置推定装置自身が異常判定式を更新し、環境変化(例えば、移動体の経年変化等)に適切に対応することができる。
(特徴4) 本明細書が開示する移動体の自己位置推定装置では、自己位置推定部が、移動体の状態の確率分布を更新することにより自己位置を推定してもよい。異常判定式に入力される変数は、移動体の最新の状態の確率分布に基づいて自己位置が推定されたときの変数であってもよい。この構成によると、移動体の状態の確率分布が最新のものに更新される前の変数を異常判定式に入力する構成と比較して、異常判定式の判定精度が向上する。
(特徴5) 本明細書が開示する移動体の自己位置推定装置では、機械学習が、多変量解析の手法を用いて行われてもよい。
(特徴6) 本明細書が開示する移動体の自己位置推定装置では、多変量解析は、ロジスティック回帰分析又は判別分析であってもよい。
(特徴7) 本明細書が開示する移動体の自己位置推定装置では、機械学習が、サポートベクターマシーンの手法を用いて行われてもよい。
(特徴8) 本明細書が開示する移動体の自己位置推定装置では、機械学習が、ニューラルネットワークの手法を用いて行われてもよい。
(特徴9) 本明細書が開示する自己位置推定装置は、所定の移動領域内を移動する移動体に搭載することができる。移動体は、移動情報取得部と、観測情報取得部と、環境地図記憶部と、自己位置推定装置と、異常時処理実行部と、を備えていてもよい。移動情報取得部は、直前の自己位置推定が行われた位置からの移動体の移動距離及び移動方向を取得してもよい。観測情報取得部は、移動領域内に存在している物体を観測し、移動体から物体までの距離及び移動体に対する物体の方位を取得してもよい。環境地図記憶部は、移動領域の環境地図を記憶していてもよい。異常時処理実行部は、自己位置推定装置の異常判定部において自己位置推定が失敗したと判定された場合に、少なくとも以下の動作、即ち、警報を鳴らす、一時的に停止する、自己位置推定部において自己位置を再度計算する、又は別の自己位置推定手段に切り替える、の1つを実行してもよい。この構成によると、移動体が自己位置推定に失敗したにも関わらず、同じ自己位置推定装置を用いて走行を継続することを抑制できる。
実施例1では、図1〜図8を参照して移動体10について説明する。移動体10は、左右に車輪を有する車輪駆動型の移動体であり、所定の移動領域内を自律的に走行する。移動体10の左右の車輪は独立して駆動され、左右の車輪の回転速度を変えることで、移動体10は進行方向を変えることができる。移動体10は、移動領域内を走行する際に、移動領域内における自己位置を推定し、その自己位置推定結果に基づいて目的地まで走行する。また、移動体10は、推定した自己位置推定結果が正常(即ち、自己位置推定に成功)であるか異常(即ち、自己位置推定に失敗)であるかを、異常判定式(後述)に基づいて自己判定する。自己位置推定結果が異常である場合は、自己位置推定プログラムを別のプログラムに切り替える。以下では、移動体10が異常判定式に基づいて自己位置推定結果の正常、異常を自己判定する走行を、「本走行」と称する。なお、厳密には、移動体10は、自身の位置及び方位を推定するが、以下では、移動体10の位置と方位をまとめて「自己位置」と称する。
図1に示すように、移動体10は、エンコーダ12と、レーザレンジファインダ14(以下、LRF14と称する)と、三角測量センサ16(後述)と、コンピュータ18を備える。
エンコーダ12は、左右の車輪の回転角度を検出し、コンピュータ18の自己位置推定部28(後述)に出力する。即ち、左右の車輪はそれぞれ図示しないモータによって駆動される。左右の車輪を駆動するモータにはエンコーダ12がそれぞれ設けられ、各エンコーダ12は左右の車輪の回転角度をそれぞれ検出する。エンコーダ12で検出される左右の車輪の回転角度は、コンピュータ18に入力される。
LRF14は、レーザ光を射出し、射出したレーザ光が物体で反射して返ってくるまでの時間を計測する。LRF14で計測される時間から、LRF14(即ち、移動体10)から物体までの距離が計測される。また、LRF14からレーザ光を射出した方向(即ち、物体から反射されるレーザ光の入射角度)は既知であるため、LRF14に対する物体の方位を決定することができる。以下、物体までの距離及び物体の方位を「観測情報」とも称する。LRF14で取得した観測情報は、コンピュータ18の自己位置推定部28に出力される。LRF14は、移動体10の進行方向に対して所定の角度範囲(例えば、進行方向に対して左右方向にそれぞれ60°)でレーザ光を射出する。
コンピュータ18は、演算処理を行うCPU20、演算処理のデータが一時的に記憶されるRAM22、及びCPUによって実行される演算プログラムが記憶されたROM24を備えている。コンピュータ18は、後述する様々な処理を実行する。CPU20がROM24に記憶された演算プログラムを実行することで、CPU20は、自己位置推定部28、真値計算部32等として機能する。なお、コンピュータ18は、自己位置推定部28で推定される自己位置からモータの駆動量を計算し、その計算した駆動量でモータ(車輪)を駆動する。これによって、移動体10は目標の位置まで走行する。なお、コンピュータ18による移動体10の走行制御については、公知の方法で行うことができるため、ここでは、コンピュータ18による自己位置推定等の処理について詳細に説明する。
(自己位置推定処理)
図2に示すように、コンピュータ18は、環境地図記憶部26と、自己位置推定部28を備える。
環境地図記憶部26は、ROM24に設けられており、xy座標平面上に移動領域内の物体の位置及び高さが記録された環境地図を記憶している。環境地図に記憶される物体としては、例えば、移動領域内の障害物(例えば、壁、床面等)が含まれる。
自己位置推定部28は、ROM24に予め格納されている公知の運動モデルに基づいて、モンテカルロ位置同定法(Monte Carlo Localization(以下、MCLと称する))により移動体10の自己位置を推定する。この処理は、CPU20で実施される。MCLは、パーティクルフィルタを用いて移動体が自己位置を推定する公知の手法である。具体的には、自己位置推定部28は、(1)まず、初期パーティクル集合を生成する。各パーティクルは移動体10の位置候補を表すベクトルであり、ベクトル要素として、xy座標系における移動体10のx座標、y座標、及びヨー角を備える。(2)次に、自己位置推定部28は、エンコーダ12から取得した各車輪の回転角度を元に、基準地点(後述)からの移動体10の移動距離及び移動方向(以下、移動距離及び移動方向を「移動情報」とも称する)を算出する。そして、運動モデルにこれらの移動情報を入力し、各パーティクルを運動モデルに従って移動させる。(3)続いて、自己位置推定部28は、各パーティクルにおいて、LRF14から入力された観測情報を環境地図記憶部26から取得した環境地図とマッチングさせて、各パーティクルの尤度(確からしさ)を計算する。(4)そして、パーティクル数が、尤度の高い領域で多く、尤度の低い領域で少なくなるようにパーティクルを選択し、ノイズを加えて新たな集合を生成する。自己位置推定部28は、上記(2)〜(4)の処理を繰り返すことでパーティクルの尤度を上げて観測情報と最も適合するパーティクルを発見し、その適合パーティクルを移動体10の自己位置と推定する。別言すれば、自己位置推定部28は、パーティクル集合に移動体10の実際の位置(以下、真値とも称する)が含まれる(即ち、パーティクル集合を構成するパーティクルのいずれかと真値が一致する)まで、或いは、パーティクル集合のいずれかのパーティクルが真値に極めて近くなるまで、上記(2)〜(4)の処理を繰り返す。即ち、1回の自己位置推定処理では、パーティクル集合の分布は複数回更新される。なお、上記の「基準地点」とは、直前の自己位置推定処理により推定された自己位置を指す。
(学習データ生成処理)
移動体10は、本走行を行う前に、学習走行と呼ばれる走行を行う。以下では、移動体10の学習走行、及び学習走行時に得られるデータを元に学習データを生成する処理について説明する。
図3に示すように、コンピュータ18は、自己位置推定処理で使用される環境地図記憶部26及び自己位置推定部28の他に、真値計算用地図記憶部30、真値計算部32、位置誤差計算部34、学習データ生成部36、及び学習データ記憶部38を備える。環境地図記憶部26には、移動体10が学習走行を行う移動領域の環境地図が記憶されている。移動体10が学習走行を行う移動領域は、本走行を行う移動領域と異なっていてもよい。このため、学習走行時と本走行時とで移動領域が異なる場合は、環境地図記憶部26は、両方の移動領域の環境地図を記憶している。以下では、学習走行時の移動領域と本走行時の移動領域とを区別するために、前者を「第1移動領域」と称し、後者を「第2移動領域」と称する。また、第1移動領域の環境地図を「第1環境地図」と称し、第2移動領域の環境地図を「第2環境地図」と称する。
図4は、移動体10が学習走行を行う第1移動領域40を示す。図4に示すように、第1移動領域40の一部には、障害物としての塀42が配置されている。塀42は互いに対向するように配置されており、塀42の対向面(内側の面)にはリフレクタ44が等間隔で固定されている。学習走行時の移動体10の走行は、リモートコントローラ(リモコン)で制御される。破線は、学習走行時の移動体10の走行ルートを示す。破線で示すように、移動体10は、塀42が配置されていない領域、及び対向する塀42の間の領域の双方を走行する。
真値計算用地図記憶部30は、ROM24に設けられており、環境地図記憶部26が記憶している第1環境地図に、塀42及びリフレクタ44の位置が記録された地図を記憶している。別言すれば、第1環境地図には、作為的に配置された塀42及びリフレクタ44の情報は記憶されていない。
三角測量センサ16は、全方位(360°)にレーザ光を射出し、リフレクタ44で反射して返ってくるレーザ光を検知することで、リフレクタ44までの距離及び移動体10に対するリフレクタ44の方位を計測し、これらの情報をコンピュータ18の真値計算部32に出力する。三角測量センサ16は、移動体10に搭載されている
真値計算部32は、三角測量センサ16から取得した距離及び方位の情報から、リフレクタ44に対する移動体10の相対位置(厳密には、相対方位も含む)を特定する。真値計算用地図記憶部30から取得した地図にはリフレクタ44の位置が記録されているため、当該地図に移動体10の相対位置をマッピングすることで、当該地図上における移動体10の位置を特定できる。このようにして、真値計算部32は、移動体10の実際の位置(真値)を計算する。この処理は、CPU20で行われる。移動体10の真値は、位置誤差計算部34に出力される。
一方、自己位置推定部28は、第1環境地図を用いて第1移動領域40における移動体10の自己位置を推定し、その結果を位置誤差計算部34に出力する。自己位置推定処理と真値計算処理は同じタイミングで行われる。また、自己位置推定部28は、最新のパーティクル集合(即ち、自己位置が推定されたときのパーティクル集合)の分布からx方向の標準偏差σ、y方向の標準偏差σ、及びパーティクルの尤度の最大値wmaxを計算し、これらの情報(標準偏差σ、標準偏差σ、最大尤度wmax)を学習データ生成部36に出力する。なお、標準偏差σ、標準偏差σ、最大尤度wmaxが「変数」の一例に相当する。
位置誤差計算部34は、真値計算部32から取得した真値と、自己位置推定部28から取得した自己位置との差(位置誤差)を計算し、学習データ生成部36に出力する。この処理は、CPU20で行われる。
学習データ生成部36は、位置誤差計算部34から取得した位置誤差が15cm以下の場合は、自己位置推定部28が自己位置推定に成功したとみなし、自己位置推定結果を「正常」と分類する。一方、位置誤差が15cmを超える場合は、自己位置推定部28が自己位置推定に失敗したとみなし、自己位置推定結果を「異常」と分類する。学習走行では、位置誤差が「異常」と分類される事態を意図的に作り出している。即ち、第1移動領域40には、第1環境地図に記録されていない塀42が配置されている。このため、移動体10が塀42の間を走行する際は、LRF14により取得される観測情報と第1環境地図とのマッチング度が低くなり、適合パーティクルの発見が困難になる。これは、仮にパーティクル集合の中に真値が含まれていたとしても、移動体10は真値と一致するパーティクルを適合パーティクルとして発見できないことを意味する。このため、移動体10が塀42の間を走行する場合は、真値とは異なるパーティクルを適合パーティクルとみなし、そのパーティクルを自己位置と推定する可能性が極めて高くなる。この結果、推定自己位置と真値との位置誤差が大きくなり、その位置誤差が15cmを超える場合は、「異常」と分類されることになる。
このように、学習データ生成部36では、位置誤差を基準として、即ち、「真値」に対する移動体10の推定自己位置のずれ量を基準として、自己位置推定結果が正常であるか異常であるかの分類が行われる。このため、信頼性の高い分類結果を取得できる。なお、本実施例では、自己位置推定結果の正常/異常の分類基準値を15cmに設定したが、分類基準値はこれに限られない。分類基準値を低くするほど、異常判定式の判定精度を高くすることができる。
図5は、学習データ生成部36により生成される学習データの例を示す。図5に示すように、学習データ生成部36は、自己位置推定時の時刻と、位置誤差計算部34から取得した位置誤差と、自己位置推定結果の分類結果と、自己位置推定部28から取得した3つの変数(標準偏差σ、標準偏差σ、最大尤度wmax)と、を関連付けたデータセットを時系列に並べたデータセット群(学習データ)を生成する(σ、σ、wmaxのアルファベットは、実際には数値である)。学習データを参照することで、各時刻における位置誤差、自己位置推定結果の正常/異常、及び自己位置が推定されたときの変数を知ることができる。例えば、時刻t=2sでは、推定自己位置と真値との位置誤差は7cmであるため、自己位置推定結果は「正常」と分類されており、そのときの変数σ、σ、wmaxは、それぞれb、g、lであることがわかる。また、時刻t=10sでは、推定自己位置と真値との位置誤差は20cmであるため、自己位置推定結果は「異常」と分類されており、そのときの変数σ、σ、wmaxは、それぞれc、h、mであることがわかる。学習データ生成処理は、CPU20で行われる。このように、移動体10自身が学習データを生成することにより、移動体10の外部において学習データを生成する構成と比較して、システム構成を簡素化することができる。
学習データ記憶部38は、ROM24に設けられており、学習データ生成部36で生成された学習データを記憶する。学習データ記憶部38に記憶された学習データは、後述する異常判定式生成部46に出力される。このように、移動体10自身が学習データを記憶しておくことにより、移動体10に不具合が生じた場合等に、学習データのログを分析してエラーがないかどうか検証することが可能となる。このため、移動体10に不具合が生じた場合にその原因を発見し易くなり、移動体10の信頼性を向上させることができる。なお、本実施例では、データセットには自己位置推定時の時刻が含まれているが、この構成に限られない。例えば、データセットは時刻を含んでいなくてもよく、学習データは、データセットが自己位置推定時刻とは無関係に並べられたデータ群により構成されていてもよい。また、学習データには位置誤差が含まれていなくてもよい。
(異常判定式生成処理)
移動体10が異常判定式を生成する処理について説明する。図6に示すように、コンピュータ18は、自己位置推定処理及び学習データ生成処理で使用される各部の他に、異常判定式生成部46と、異常判定式記憶部48を有する。
異常判定式生成部46は、学習データ記憶部38に記憶されている学習データを取得し、学習データをロジスティック回帰分析して、異常判定式を生成する。ロジスティック回帰分析は多変量解析の一手法であり、結果が2値の場合に、その結果の起きる確率を予測できる統計的な回帰モデルを生成する手法である。具体的には、次の数式で表されるロジスティックモデル;
Figure 0006240595
(Z:目的変数、X〜X:説明変数、b:定数、b〜b:回帰係数)に学習データを適用して、定数b及び回帰係数b〜bの値を求める。学習データを適用する際は、目的変数Zに分類結果(正常:0、異常:1)を用い、説明変数X、X、Xに学習データの標準偏差σ、標準偏差σ、最大尤度wmaxをそれぞれ用いる。これにより、次の数式で表される異常判定式;
Figure 0006240595
が生成される(図7参照)。pは、移動体10の本走行時における自己位置推定結果が異常と判定される確率(以下、異常判定確率とも称する)である。説明変数X〜Xに用いる変数(σ、σ、wmax)は互いに独立しているため、回帰係数b〜bは、項目間の影響が排除された係数となる。従って、異常判定確率を算出する際は、より正確に項目ごとの影響度を量ることができる。異常判定式生成処理は、CPU20で行われる。
異常判定式記憶部48は、ROM24に設けられており、異常判定式生成部46で生成された異常判定式を記憶する。
(異常判定処理、推定手段切替処理)
移動体10は、第2移動領域において本走行を行う前に、上述した学習データ生成処理及び異常判定式生成処理を実施する。そして、移動体10が本走行を行う際は、自己位置推定に成功したか失敗したかを異常判定式に基づいて判定し、自己位置推定に失敗した場合は自己位置推定手段(即ち、自己位置推定プログラム)を切替える。以下では、移動体10の本走行時における異常判定処理及び推定手段切替処理について説明する。図8に示すように、コンピュータ18は、自己位置推定処理、学習データ生成処理、及び異常判定式生成処理で使用される各部の他に、異常判定部50及び推定手段切替部52を有する。
移動体10が第2移動領域において本走行を行う際は、自己位置推定部28は、第2環境地図を用いて自己位置を推定する。自己位置推定部28で自己位置が推定されたときの3つの変数σ、σ、wmaxは、異常判定部50に出力される。なお、「自己位置推定部28で自己位置が推定されたとき」とは、1回の自己位置推定処理におけるパーティクル集合の分布が最新の状態であることを意味する。
異常判定部50は、自己位置推定部28から取得した3つの変数σ、σ、wmaxを、異常判定式記憶部48から取得した異常判定式のX、X、Xにそれぞれ入力し、p≦0.5のときは自己位置推定結果が正常(即ち、自己位置推定に成功)と判定し、p>0.5のときは自己位置推定結果が異常(即ち、自己位置推定に失敗)と判定する。判定結果は、推定手段切替部52に出力される。上述したように、異常判定式のX〜Xには、最新のパーティクル集合の分布から得られた変数が入力される。このため、パーティクル集合が最新の状態に更新される前のパーティクル集合の変数を入力する構成と比較して、判定結果の精度がより高くなる。
推定手段切替部52は、異常判定部50から取得した判定結果が「異常」である場合は、自己位置推定手段(自己位置推定プログラム)をMCLからオドメトリに切替える。MCLを用いた自己位置推定では、移動体10は、直前の自己位置推定時の推定自己位置を元に自己位置を推定する。このため、一旦自己位置推定に失敗すると(特に、一旦パーティクル集合の中に真値が含まれなくなると)、その後の推定自己位置は真値からますます離れていく可能性があり、移動体が物体(障害物)に衝突する等の危険性が高くなる。しかしながら、移動体10は、自己位置推定に失敗した場合は、直ちに自己位置推定手段(即ち、MCLを用いた自己位置推定プログラム)を別の手段(オドメトリを用いた自己位置推定プログラム)に切替える。このため、移動体10の推定自己位置が真値から離れていくことを抑制でき、移動体10が物体に衝突する等の危険を回避できる。なお、本実施例では自己位置推定結果の判定基準値を0.5に設定したが、これに限られない。判定基準値を低く設定するほど、異常判定精度が向上する。また、推定手段切替部52では、オドメトリ以外の自己位置推定プログラム(例えば、GPSを用いた自己位置推定プログラム)に切替えてもよい。
実施例1の移動体10の作用効果について説明する。移動体10は、異常判定式記憶部48において、自己位置推定に成功したか失敗したかを判定する基準となる異常判定式を記憶している。この異常判定式は、移動体10が学習走行することで取得される学習データを、機械学習の一手法であるロジスティック回帰分析の手法を用いて解析することにより得られる。このため、理論的に構築された異常判定式よりも高い精度で自己位置推定に成功したか失敗したかを判定することができる。また、移動体10の自己位置推定性能は、移動体10に搭載されるLRF14の数等により移動体毎にばらつきがある。学習データにはこのばらつきが反映されるため、学習データを解析して得られる異常判定式は、移動体毎に固有の式となる。即ち、移動体10は、移動体10自身の性能に応じた異常判定式に基づいて自己位置推定が成功したか否かを判定できる。また、駆動部分(例えば車輪)の摩耗等により、移動体10の自己位置推定性能は走行年数により変化する。本実施例では、移動体10に定期的に学習走行させることで異常判定式を更新することができる。このため、移動体10は、自身の現状の自己位置推定性能をより反映した異常判定式に基づいて自己位置推定が成功したか否かを判定できる。このため、移動体毎の性能とは無関係に一律に異常判定式を設定する構成と比較して、異常判定精度を向上させることができる。
特に、実施例1では、自己位置推定手段としてMCLを用いている。この場合、例えば第2移動領域内に、第2環境地図には記録されていない物体が配置されていると、LRF14で取得される観測情報と環境地図とのマッチング度が低くなり、移動体10が自己位置推定に失敗する可能性が高くなる。即ち、たとえパーティクル集合の中に真値が含まれていたとしても、移動体10が真値に相当するパーティクルを適合パーティクルと見なすことができず、別のパーティクルを適合パーティクルとみなす可能性が高くなる。実施例1の移動体10は、このようにパーティクル集合の中に真値が含まれている場合(即ち、推定自己位置が真値からそれほど離れていない場合)であっても、異常判定式から導かれる異常判定確率が0.5を超える場合は、自己位置推定結果が異常であると判定することができる。このため、移動体10は高い異常判定精度を発揮できる。
一方、非特許文献1では、パーティクル集合に真値が含まれているときに移動体が自己位置推定に失敗する可能性については考慮されていない。非特許文献1の技術は、パーティクル集合に真値が含まれていない場合(即ち、推定自己位置が真値から比較的離れている場合)を前提とした技術である。このため、非特許文献1の移動体は、位置誤差が比較的に大きい場合にしか、自身の自己位置推定結果が異常であると判定できず、結果として異常判定精度が低くなる。
また、学習データの元になる情報(即ち、自己位置推定結果や標準偏差σ等の変数)は、移動体10に実際に第1移動領域40を走行させることで取得する。このため、学習データには、移動体10の自己位置推定性能が直接的に反映される。このように、実際に特定の領域を走行させて得られる情報を元に学習データを生成することにより、より精度の高い異常判定式を生成できる。
以上、本明細書が開示する技術の実施例について詳細に説明したが、これらは例示にすぎず、本明細書が開示する移動体は、上記の実施例を様々に変形、変更したものが含まれる。
例えば、自己位置推定部28では、MCLの代わりに拡張カルマンフィルタを用いて自己位置推定処理を行ってもよい。この場合、推定誤差共分散行列から得られる値(例えば、分散値、誤差共分散行列の各要素の値、誤差楕円の長軸及び短軸等)を説明変数に用いて異常判定式を生成することができる。また、本走行時に得られるこれらの変数を異常判定式に入力することで、自己位置推定結果の正常/異常を精度良く判定することができる。
また、移動体10は学習データ生成部36を有していなくてもよく、学習データは移動体10の外部で生成されてもよい。また、移動体10は、学習データ記憶部38を有していなくてもよい。即ち、学習データを元に異常判定式が生成されたら、学習データを消去する構成であってもよい。また、移動体10は、異常判定式生成部46を有していなくてもよく、異常判定式は移動体10の外部で生成されてもよい。
また、異常判定式生成部46では、多変量解析の代わりにサポートベクターマシーンを用いてもよい。サポートベクターマシーンは、パターン認識のモデリングにおいて公知の手法であり、クラスの帰属が未知の特徴ベクトルを入力すると、当該特徴ベクトルが帰属するクラスを2値で出力する識別関数を構成する手法である。識別関数は、クラスの帰属が既知の訓練用のサンプル集合から構成される。このため、実施例1の学習データを訓練用のサンプル集合に用いて学習データをサポートベクターマシーンで学習することで、識別関数(異常判定式)を構成することができる。そして、当該識別関数に自己位置推定部28から取得される3つの変数σ、σ、wmaxを入力することで、自己位置推定結果の正常/異常を判定することができる。この方法によっても、実施例1と同様の作用効果を奏することができる。
また、異常判定式生成部46では、多変量解析の代わりにニューラルネットワークを用いてもよい。ニューラルネットワークは、パターン認識のモデリングにおいて公知の手法であり、クラスの帰属が未知の変数を入力すると、当該変数が帰属するクラスを2値で出力する識別関数を構成する手法である。この手法では、教師あり学習と教師なし学習の2通りで識別関数を構成できる。教師あり学習では、学習例と、当該学習例に対する目標出力が与えられ、初期状態の関数に学習例を入力して得られる出力が目標出力と一致するように初期状態の関数の重みを調整することで、識別関数が構成される。このため、実施例1の学習データの3つの変数σ、σ、wmaxを学習例とし、そのときの分類結果(正常/異常)を目標出力として、学習データをニューラルネットワークで学習することで、識別関数(異常判定式)を構成することができる。そして、当該識別関数に自己位置推定部28から取得される3つの変数σ、σ、wmaxを入力することで、自己位置推定結果の正常/異常を判定することができる。この方法によっても、実施例1と同様の作用効果を奏することができる。なお、学習データを機械学習する手法は、実施例1〜3に挙げた手法に限られない。
また、学習データを解析する際は、ロジスティック回帰分析の代わりに判別分析を用いてもよい。
また、異常判定処理を行う際に異常判定式に入力される変数は、最新のパーティクル集合の分布から求められる変数に限られない。例えば、最新のパーティクル集合に更新される直前のパーティクル集合の分布から求められる変数を異常判定式に入力するようにしてもよい。また、変数の種類は標準偏差や最大尤度に限られない。また、変数の数は3つに限られず、回帰モデルが精度よく回帰するように適宜増減させてもよい。
また、移動体10は、推定手段切替部52の代わりに、自己位置推定結果が異常と判定された場合に警報を鳴らす機能を備えていてもよいし、一時停止する機能を備えていてもよいし、自己位置推定部28において自己位置を再計算する機能を備えていてもよい。警報を鳴らすことにより、移動体10の管理者に移動体10が自己位置推定に失敗したことを知らせることができる。また、移動体10が一時停止することにより、そのまま走行を継続することによる危険を回避できる。また、移動する存在(例えば、歩行者や車両)により移動体10が自己位置推定に失敗した場合は、一定時間経過後に再度自己位置推定処理を行うことにより、歩行者や車両が移動体10の観測範囲から遠ざかり、自己位置推定結果が「正常」に覆る可能性がある。このため、自己位置を再計算することにより、引き続きMCLを用いた自己位置推定処理を実施できる。
また、学習走行は、実際に移動体に特定の領域を走行させる代わりに、シミュレーションにより行ってもよい。
また、移動体10は車輪駆動型でなくてもよく、例えば、二足歩行型でもよい。また、移動体10はLRF14を複数個有していてもよい。
また、真値計算部32では、三角測量センサ16及びリフレクタ44を用いて移動体10の真値を計算したが、真値を計算する方法はこれに限られない。例えば、モーションキャプチャや磁気レールの手法を用いて真値を計算してもよい。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:移動体、12:エンコーダ、14:レーザレンジファインダ(LRF)、28:自己位置推定部、36:学習データ生成部、38:学習データ記憶部、46:異常判定式生成部、48:異常判定式記憶部、50:異常判定部

Claims (10)

  1. 所定の移動領域内を移動する移動体の自己位置を推定する装置であって、
    自己位置を推定する自己位置推定部と、
    前記移動体の学習移動時の自己位置推定に基づいて取得された学習データを機械学習して得られた異常判定式を記憶する異常判定式記憶部と、
    前記移動体が本移動を行ったときに、前記自己位置推定部における自己位置推定が成功したか失敗したかを判定する異常判定部と、を備えており、
    前記自己位置推定部は、前記移動領域の環境地図と、直前の自己位置推定により推定された自己位置からの前記移動体の移動距離及び移動方向と、前記移動体から前記移動領域内に存在している物体までの距離及び前記移動体に対する前記物体の方位と、に基づいて自己位置を推定し、
    前記学習データは、学習移動時に前記自己位置推定部において自己位置を推定したときの複数の変数と、そのときの自己位置推定結果を正常又は異常に分類したときの分類結果と、を関連付けたデータを複数有しており、
    前記異常判定部は、前記異常判定式に、前記移動体が本移動を行った際に前記自己位置推定部で取得される複数の変数を入力することで、自己位置推定が成功したか失敗したかを判定する、移動体の自己位置推定装置。
  2. 前記学習データの前記自己位置推定結果は、学習移動時に前記自己位置推定部で推定された自己位置と、前記移動体の実際の位置との位置誤差が所定値以下の場合には正常と分類され、前記位置誤差が所定値を超える場合には異常と分類されている、請求項1に記載の移動体の自己位置推定装置。
  3. 前記学習データを記憶する学習データ記憶部をさらに備えている、請求項1又は2に記載の移動体の自己位置推定装置。
  4. 前記学習データを生成する学習データ生成部と、
    前記学習データ生成部で生成された前記学習データを機械学習して異常判定式を生成する異常判定式生成部と、をさらに備えている、請求項1〜3の何れか一項に記載の移動体の自己位置推定装置。
  5. 前記自己位置推定部では、前記移動体の状態の確率分布を更新することにより自己位置を推定し、
    前記異常判定式に入力される変数は、前記移動体の最新の状態の確率分布に基づいて自己位置が推定されたときの変数である、請求項1〜4の何れか一項に記載の移動体の自己位置推定装置。
  6. 前記機械学習は、多変量解析の手法を用いて行われる、請求項1〜5の何れか一項に記載の移動体の自己位置推定装置。
  7. 前記多変量解析は、ロジスティック回帰分析又は判別分析である、請求項6に記載の移動体の自己位置推定装置。
  8. 前記機械学習は、サポートベクターマシーンの手法を用いて行われる、請求項1〜5の何れか一項に記載の移動体の自己位置推定装置。
  9. 前記機械学習は、ニューラルネットワークの手法を用いて行われる、請求項1〜5の何れか一項に記載の移動体の自己位置推定装置。
  10. 所定の移動領域内を移動する移動体であって、
    直前の自己位置推定が行われた位置からの前記移動体の移動距離及び移動方向を取得する移動情報取得部と、
    前記移動領域内に存在している物体を観測し、前記移動体から前記物体までの距離及び前記移動体に対する前記物体の方位を取得する観測情報取得部と、
    前記移動領域の環境地図を記憶している環境地図記憶部と、
    請求項1〜6の何れか一項に記載の自己位置推定装置と、
    前記自己位置推定装置の異常判定部において自己位置推定が失敗したと判定された場合に、少なくとも以下の動作、即ち、警報を鳴らす、一時的に停止する、前記自己位置推定部において自己位置を再度計算する、又は別の自己位置推定手段に切り替える、の1つを実行する異常時処理実行部と、を備える移動体。
JP2014250066A 2014-12-10 2014-12-10 自己位置推定装置及び自己位置推定装置を備えた移動体 Active JP6240595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014250066A JP6240595B2 (ja) 2014-12-10 2014-12-10 自己位置推定装置及び自己位置推定装置を備えた移動体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014250066A JP6240595B2 (ja) 2014-12-10 2014-12-10 自己位置推定装置及び自己位置推定装置を備えた移動体

Publications (2)

Publication Number Publication Date
JP2016110576A JP2016110576A (ja) 2016-06-20
JP6240595B2 true JP6240595B2 (ja) 2017-11-29

Family

ID=56124356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014250066A Active JP6240595B2 (ja) 2014-12-10 2014-12-10 自己位置推定装置及び自己位置推定装置を備えた移動体

Country Status (1)

Country Link
JP (1) JP6240595B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6773471B2 (ja) * 2016-07-26 2020-10-21 株式会社豊田中央研究所 自律移動体と環境地図更新装置
WO2018179960A1 (ja) * 2017-03-27 2018-10-04 日本電産株式会社 移動体および自己位置推定装置
JP7106413B2 (ja) * 2018-09-27 2022-07-26 三菱重工業株式会社 異常監視装置、及びその異常監視方法並びに異常監視プログラム
JP7133497B2 (ja) * 2019-03-05 2022-09-08 株式会社日立製作所 移動範囲設定システム及び移動範囲設定方法
KR102233885B1 (ko) * 2019-11-18 2021-03-30 울산과학기술원 단말이 이동한 위치를 결정하는 방법 및 상기 방법을 수행하는 단말 위치 결정 장치
JP7373448B2 (ja) * 2020-03-31 2023-11-02 日産自動車株式会社 自己位置推定方法および自己位置推定装置
US12469163B2 (en) 2020-04-10 2025-11-11 Semiconductor Energy Laboratory Co., Ltd. Position estimation system, position estimation device, and mobile object
JP7555072B2 (ja) * 2020-12-16 2024-09-24 株式会社豊田自動織機 自己位置推定装置、及び移動体
JP7409330B2 (ja) 2021-01-28 2024-01-09 トヨタ自動車株式会社 自己位置推定精度検証方法、自己位置推定システム
JP7622688B2 (ja) 2022-04-04 2025-01-28 トヨタ自動車株式会社 地図データ生成方法、地図データ生成装置及び地図データ生成プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100707168B1 (ko) * 2003-09-30 2007-04-13 삼성전자주식회사 센서 퓨징을 이용한 무인 이동체의 위치 추정 방법 및 장치
JP2006065703A (ja) * 2004-08-30 2006-03-09 Inst Of Systems Information Technologies Kyushu 自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータに実行させることが可能なプログラム、及び、そのプログラムを記録した記録媒体
JP2008059218A (ja) * 2006-08-30 2008-03-13 Fujitsu Ltd 自律走行ロボットの自己位置回復方法
JP5914382B2 (ja) * 2013-02-20 2016-05-11 日立建機株式会社 状態監視システム、状態監視装置、および端末装置
JP6151546B2 (ja) * 2013-03-29 2017-06-21 株式会社富士通アドバンストエンジニアリング 移動制御方法、移動制御プログラム及び移動制御装置
JP2014203144A (ja) * 2013-04-02 2014-10-27 パナソニック株式会社 自律移動装置
JP5768834B2 (ja) * 2013-04-12 2015-08-26 横河電機株式会社 プラントモデル管理装置及び方法
JP6136543B2 (ja) * 2013-05-01 2017-05-31 村田機械株式会社 自律移動体
JP6260983B2 (ja) * 2013-05-24 2018-01-17 株式会社Ihi 自己位置推定装置及び方法

Also Published As

Publication number Publication date
JP2016110576A (ja) 2016-06-20

Similar Documents

Publication Publication Date Title
JP6240595B2 (ja) 自己位置推定装置及び自己位置推定装置を備えた移動体
JP6773471B2 (ja) 自律移動体と環境地図更新装置
CN118760195B (zh) 基于激光传感的畜舍清理机器人动态避障系统及方法
US11493930B2 (en) Determining changes in marker setups for robot localization
KR101831028B1 (ko) 실내 환경에서 이동 로봇의 리로케이션 방법 및 장치
US9691151B1 (en) Using observations from one or more robots to generate a spatio-temporal model that defines pose values for a plurality of objects in an environment
US12194616B2 (en) Robot and control method therefor
TWI772743B (zh) 資訊處理裝置以及移動機器人
JP2015055974A (ja) 三次元物体認識装置、三次元物体認識方法、及び移動体
CN113988196B (zh) 一种机器人移动方法、装置、设备及存储介质
JP2017010234A (ja) 移動ロボットシステム及び移動ロボットの制御方法
KR101202108B1 (ko) 이동 로봇의 위치 추정 방법
JP6572687B2 (ja) 把持可否判定方法
CN115249066A (zh) 分位数神经网络
JP6438354B2 (ja) 自己位置推定装置及び自己位置推定装置を備えた移動体
US10572802B1 (en) Learning state-dependent sensor measurement models for localization
Huang et al. Multi-object detection, tracking and prediction in rugged dynamic environments
CN119963939A (zh) 产生训练数据集、训练评价算法、评价地图数据集对齐的方法和相应设备
Li et al. Real time obstacle detection in a water tank environment and its experimental study
CN117232493A (zh) 针对slam的用于确定周围环境中的对象的方法
US12284935B2 (en) Work management system
CN118734933A (zh) 多任务学习
Tsai et al. Cooperative localization using fuzzy decentralized extended information filtering for homogenous omnidirectional mobile multi-robot system
Neuman et al. Segmentation-based online change detection for mobile robots
Deepa et al. Design and Analysis of SLAM-based Autonomous Navigation of Mobile Robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171106

R150 Certificate of patent or registration of utility model

Ref document number: 6240595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250