JP2019191498A - 地図作成装置 - Google Patents

地図作成装置 Download PDF

Info

Publication number
JP2019191498A
JP2019191498A JP2018087110A JP2018087110A JP2019191498A JP 2019191498 A JP2019191498 A JP 2019191498A JP 2018087110 A JP2018087110 A JP 2018087110A JP 2018087110 A JP2018087110 A JP 2018087110A JP 2019191498 A JP2019191498 A JP 2019191498A
Authority
JP
Japan
Prior art keywords
map
reliability
partial map
measurement
partial
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.)
Granted
Application number
JP2018087110A
Other languages
English (en)
Other versions
JP7047576B2 (ja
Inventor
渚 小山
Nagisa Koyama
渚 小山
亮暢 藤井
Akinobu Fujii
亮暢 藤井
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 Central R&D Labs Inc
Original Assignee
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 Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2018087110A priority Critical patent/JP7047576B2/ja
Publication of JP2019191498A publication Critical patent/JP2019191498A/ja
Application granted granted Critical
Publication of JP7047576B2 publication Critical patent/JP7047576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Instructional Devices (AREA)

Abstract

【課題】正確な地図を作成可能な地図作成装置を提供する。【解決手段】地図作成装置10は、計測情報を取得したセンサの位置・姿勢を示すセンサノードと、部分地図の位置・姿勢を規定する環境ノードと、環境ノードとセンサノードの相対的位置関係を規定する第1エッジと、を備えたグラフ構造データを生成する。複数の部分地図の信頼度を算出し、複数の部分地図について、部分地図と複数の計測情報との一致判定を行い、一致度が所定のしきい値を超えた特定部分地図を抽出する。部分地図の信頼度が高いほど、所定のしきい値が小さくされる。抽出された特定部分地図について、環境ノードとセンサノードの相対的位置関係を規定する第2エッジを生成し、グラフ構造データに追加する。特定部分地図の信頼度が高いほど、追加する際の重み付けを大きくし、グラフ構造データを最適化する。【選択図】図1

Description

本明細書に開示する技術は、対象領域の環境地図を作成する地図作成装置に関する。
対象領域内を移動体に自律的に移動させる場合、対象領域内の障害物(例えば、壁等)を記憶する環境地図が必要となる。対象領域内の環境地図を作成する技術としては、例えば、Graph−based SLAM(Simultaneous Locallization and Mapping)技術が知られている。Graph−based SLAM技術では、通常、レーザレンジファインダ(LRF)等のセンサを搭載した移動体を対象領域内で移動させ、移動経路上に設けた複数の計測点においてセンサにより計測情報を取得する。そして、地図作成装置を用いて、複数の計測点で取得した計測情報に基づいて環境地図を作成する。すなわち、地図作成装置には、複数の計測点のそれぞれについて、センサによって計測された計測情報と、各計測点における計測時のセンサの位置を規定するセンサ位置情報が入力される。次に、入力された計測情報とセンサ位置情報に基づいて、地図作成装置は、計測点のセンサ位置やセンサによって計測された計測物(対象領域内の障害物等)の位置を規定するノードと、関連する2つのノード間の相対的位置関係を規定するエッジから構成されるグラフ構造データを生成する。地図作成装置は、複数のエッジが表す想定誤差を最小化することによってグラフ構造データを最適化する。Graph−based SLAM技術を用いることによって、地図作成装置は、誤差の小さい環境地図を作成することができる。また特許文献1には、地図作成装置に関する技術が開示されている。
特許第5647294号公報
環境が変化する場合がある。例えば、工場や倉庫などにおいて、駐車されているトラックや床に仮置きされる荷物が存在する場合である。このような環境下では、グラフ構造データに誤ったエッジが追加されることで,そのエッジを用いた最適化により地図の精度が低下する。精度の低下した地図を参照した移動体は、自己位置の推定に失敗してしまう。その結果、移動体を自律的に移動させることが困難になる。本明細書は、環境が変化する場合においても、正確な地図を作成可能な技術を開示する。
本明細書に開示する地図作成装置の一実施形態は、対象領域の地図を作成する地図作成装置である。移動体に搭載された環境計測センサによって対象領域内の複数の計測点のそれぞれについて測定された複数の計測情報を取得する計測情報取得部であって、計測情報は、計測点の周囲に存在する複数の計測物の計測点からの相対位置または距離を示すデータである計測情報取得部を、地図作成装置は備える。複数の計測情報に基づいて、複数の部分地図を生成する部分地図生成部であって、部分地図は計測点の周囲における計測物の状態を示す局所的な地図である部分地図生成部を、地図作成装置は備える。グラフ構造データを生成するグラフ構造データ生成部を、地図作成装置は備える。グラフ構造データは、複数の計測点のそれぞれにおける環境計測センサの位置および姿勢を示すセンサノードと、部分地図の位置および姿勢を規定する環境ノードと、環境ノードとその環境ノードに対応するセンサノードの相対的位置関係を規定する第1エッジと、を備える。複数の部分地図の各々の信頼度を算出する信頼度算出部であって、信頼度は、部分地図の確かさが高いほど高くなる指標である信頼度算出部を、地図作成装置は備える。複数の部分地図の各々について、部分地図と複数の計測情報との一致判定を行い、一致度が所定のしきい値を超えた部分地図である特定部分地図を抽出する一致判定部であって、部分地図の信頼度が高いほど所定のしきい値が小さくされる一致判定部を、地図作成装置は備える。特定部分地図に対応する環境ノードと、一致判定部にてその特定部分地図と一致判定された計測情報に対応するセンサノードとの相対的位置関係を規定する第2エッジを生成し、生成した第2エッジをグラフ構造データに追加するエッジ追加部であって、第2エッジの元になる特定部分地図の信頼度が高いほど追加する際の重み付けを大きくして第2エッジを追加するエッジ追加部を、地図作成装置は備える。第2エッジが追加されたグラフ構造データについて、各エッジから算出される誤差関数の和が最小となるようにグラフ構造データを最適化するグラフ構造データ最適化部を、地図作成装置は備える。
上記の地図作成装置では、複数の部分地図の各々の信頼度を算出することができる。そして、移動体で測定された計測情報に一致する特定部分地図を、信頼度に基づいて抽出することができる。抽出された特定部分地図について作成したエッジを、グラフ構造データに追加することができる。このとき、エッジの元になる特定部分地図の信頼度が高いほど、追加する際の重み付けを大きくすることができる。これにより、環境が変化する場合においても、移動体によって測定された計測情報に基づいて正確な地図を生成することができる。
信頼度算出部が算出する信頼度は、部分地図生成部によって部分地図が生成された時刻から、当該部分地図と一致判定される計測情報が計測情報取得部によって取得された時刻までの経過時間の絶対値が大きくなるほど単調減少してもよい。効果の詳細は実施例で説明する。
部分地図は、複数のグリッドで表されていてもよい。グリッドが物体で占有されているか否かが、複数のグリッドの各々について占有確率で示されていてもよい。信頼度算出部が算出する信頼度は、予め定められた2値化しきい値と占有確率との差の絶対値を複数のグリッドの各々について求めた場合に、差の絶対値の総和が大きくなるほど高くなってもよい。2値化しきい値は、占有確率から、物体がグリッドで占有されているか否かに2値化するための値であってもよい。効果の詳細は実施例で説明する。
対象領域には、時間が経過しても計測物の数、位置、形状が変化しない定常領域が含まれていてもよい。信頼度算出部は、定常領域に対応している部分地図の信頼度を、定常領域に対応していない部分地図の信頼度よりも高くしてもよい。効果の詳細は実施例で説明する。
対象領域には、時間が経過しても計測物の数、位置、形状が変化しない定常領域が含まれていてもよい。部分地図は、複数のグリッドで表されていてもよい。グリッドが物体で占有されているか否かが、複数のグリッドの各々について占有確率で示されていてもよい。信頼度算出部が定常領域に対応している部分地図の信頼度を算出する場合には、定常領域に対応している部分地図の信頼度を、定常領域に対応していない部分地図の信頼度よりも高くし、予め定められた2値化しきい値と占有確率との差の絶対値が小さくなるほど信頼度を低くしてもよい。2値化しきい値は、占有確率から、物体がグリッドで占有されているか否かに2値化するための値であってもよい。差の絶対値は、複数のグリッドの各々について求められてもよい。信頼度算出部が定常領域に対応していない部分地図の信頼度を算出する場合には、部分地図生成部によって部分地図が生成された時刻から、計測情報取得部によって当該部分地図と一致判定を行う計測情報が取得された時刻までの経過時間の絶対値が大きくなるほど信頼度を単調減少させ、予め定められた2値化しきい値と占有確率との差の絶対値が小さくなるほど信頼度を低くしてもよい。効果の詳細は実施例で説明する。
第1エッジおよび第2エッジは、環境ノードとその環境ノードに対応するセンサノードとの相対位置・姿勢および計測誤差の共分散行列を表していてもよい。エッジ追加部は、第2エッジが表す計測誤差の共分散行列を信頼度が大きいほど小さく設定してもよい。効果の詳細は実施例で説明する。
地図作成装置はネットワーク上に配置されたサーバであってもよい。地図作成装置は、移動体からネットワークを介して複数の計測情報を受信可能であってもよい。効果の詳細は実施例で説明する。
計測情報取得部は、時刻tにおいてi番目(iは2以上の自然数)の計測点で測定された計測物の位置と、時刻t−1においてi−1番目の計測点で測定された計測物の位置とを比較した場合に、時刻tにおける位置と時刻t−1における位置とが一致している計測物の位置のみを示す情報を、時刻tにおける計測情報として受信してもよい。効果の詳細は実施例で説明する。
実施例1に係る地図生成システムの構成を示す図。 全体地図の具体例を示す図。 部分地図の具体例を示す図。 グラフ構造データの具体例を示す図。 初期地図生成モードの具体的な処理を示すフローチャート。 地図生成・更新処理の具体的な処理を示すフローチャート。 グラフ構造データの具体例を示す図。 単調減少する関数の例を示す図。 部分地図の内部状態を示す図。 信頼度の算出のための第3の方法の具体例を示す図。 グラフ構造データの具体例を示す図。 地図生成処理の具体的な処理を示すフローチャート。 実施例2に係る地図生成システムの構成を示す図。 フィルタ処理の具体的な内容を示すフローチャート。 フィルタ処理の一例を説明する図。
(地図生成システム1の構成)
図1のブロック図を用いて、地図生成システム1の構成を説明する。地図生成システム1は、地図作成装置10、ロボット11および12を備えている。地図生成システム1は、「初期地図生成モード」で用いるシステムである。「初期地図生成モード」では、ロボット11および12を操作し、ロボット11および12から得る計測情報に基づき、地図作成装置10を用いて全体地図を生成する。なお、「初期地図生成モード」で生成された全体地図を用いてロボットの自律制御を行う、「運用モード」も存在する。しかし本明細書では、「運用モード」の説明については省略する。
(ロボット11および12の構成)
ロボット11および12は、センサ40、計測情報取得部41、データ送信部42、移動制御部43を備える。ロボット11および12は対象領域内を移動しながら、センサ40によって対象領域内の環境(例えば、壁等の計測物)を計測する。これにより計測情報取得部41は、センサ40から計測情報を取得する。センサ40の一例としては、LiDAR、カメラ、RADAR、超音波センサ等が挙げられる。計測情報の一例としては、センサ40で測定される相対位置情報・距離情報や、IMU(Inertial Measurement Unit)やエンコーダ等により得られるロボットの速度情報・角速度情報等が挙げられる。また、ロボット11および12は、車輪の回転角を検出する不図示のセンサ(例えば、エンコーダ)を備えている。このセンサによって車輪の回転角を検出することで、ロボット11および12の移動方向及び移動量を算出することができる。よって、各計測地点におけるロボット11および12の姿勢及び位置を算出することができる。
データ送信部42は、計測情報取得部41で取得した計測情報に、ロボットを識別するためのロボットIDを付与して地図作成装置10に送信する。移動制御部43は、外部コントローラの操作に基づき、自身の移動を制御する。
(地図作成装置10の構成)
地図作成装置10は、対象領域の地図を作成する装置である。地図作成装置10は、例えば、CPU、ROM、RAM等を備えたコンピュータによって構成することができる。コンピュータがプログラムを実行することで、地図作成装置10は、図1に示す計測情報取得部21〜初期地図構成要素群書出部32等として機能する。
計測情報取得部21は、ロボットIDの付与された計測情報を受信する。計測情報取得部21は、ロボットIDの付与された計測情報をロボット11および12から受信する。そして、センサ40の位置と共に、計測情報を記憶する。
部分地図生成部22は、計測情報をロボットID毎に所定の間隔で蓄積して部分地図を生成する。また、蓄積の過程で得られる部分地図とロボットとの相対位置・姿勢を、グラフ構造データ生成部27へ出力する。部分地図記憶部23は、部分地図生成部22が作成した部分地図を記憶する。信頼度算出部24は、部分地図記憶部23中の部分地図について、その信頼度を算出する。
一致判定部25は、部分地図記憶部中の部分地図と計測情報との一致判定を行う。そして、一致度が所定のしきい値を超えた部分地図を抽出する。エッジ追加部26は、一致判定部25で抽出された部分地図に関するエッジを生成し追加する。
グラフ構造データ生成部27は、ノード(頂点)とエッジ(枝)で構成されるグラフ構造データを生成する。ノードは、ロボット11および12の位置・姿勢、部分地図の位置・姿勢を表す情報である。エッジは、部分地図とロボット11および12との相対位置・姿勢と、その計測誤差を表す情報である。
グラフ最適化部28は、グラフ構造データを最適化する。グラフ記憶部29は、グラフ構造データを保存する。地図生成部30は、部分地図および信頼度に基づき、全体地図を生成する。全体地図記憶部31は、地図生成部30で生成された全体地図を保存する。初期地図構成要素群書出部32は、部分地図記憶部23、グラフ記憶部29、全体地図記憶部31の内容を、読込可能な形式で書き出す。
(地図の構成要素の説明)
地図の構成要素には、全体地図、部分地図、グラフ構造データが含まれる。これらの構成要素について説明する。全体地図は、地図作成装置10にて最終的に出力する情報である。出力された全体地図は、ロボットの経路計画や、ロボットの自己位置推定に利用される。全体地図の具体例を図2に示す。全体地図はグリッド表現されている。すなわち、複数のグリッドに区分けされている。各グリッドは、「1」または「0」によって、そのグリッドが物体に占有されているか否かを表現している。図2では、ハッチングで示されているグリッドが「1」であり、物体に占有されていることを示している。また白色で示されているグリッドが「0」であり、物体に占有されていないことを示している。全体地図には、1つの固定の座標系である、全体地図座標系EC1が設定されている。全体地図の生成方法は後述する。
部分地図は、地図作成装置10にて中間情報として生成される情報である。部分地図は、環境の計測情報から取得した特徴量として用いられる。部分地図の具体例を図3に示す。部分地図は、ロボットが一定間隔(例えば、一定移動距離)で生成する局所的な地図である。すなわち部分地図は、複数の計測点の各々について、計測点の周囲における計測物の状態を示している。部分地図は、全体地図と同様にグリッド表現されている。グリッドの数や部分地図の形状は、部分地図により異なっていてもよい。部分地図は、それぞれ固有の座標系である部分地図座標系PC1〜PC4を備えている。部分地図座標系の方向は、部分地図により異なっている。部分地図の生成方法は後述する。
グラフ構造データは、地図作成装置10にて中間情報として生成される情報である。グラフ構造データは、ロボットの走行軌跡の誤差を抑制するために用いられる。グラフ構造データの具体例を図4に示す。グラフ構造データは、センサノードSN1〜SN4、環境ノードEN1〜EN3、エッジE1〜E6を備えている。センサノードSN1〜SN4は、ロボット11が備えるセンサ40の、複数の計測点のそれぞれにおける位置および姿勢を示す情報である。環境ノードEN1〜EN3は、複数の計測点のそれぞれにおける、センサ40から得られた計測情報を蓄積して生成した部分地図の位置および姿勢を規定する情報である。エッジE1〜E6は、環境ノードとその環境ノードに対応するセンサノードの相対的位置関係を規定する情報である。具体的には、エッジE1〜E6は、環境ノードとその環境ノードに対応するセンサノードとの相対位置・姿勢、および、計測誤差の共分散行列を表している。センサノードと環境ノードは、全結合するわけではない。また、処理の過程でマッチングされたロボットと部分地図との関係が、グラフ構造データに逐次追加されていく。グラフ構造データの生成方法は後述する。
(初期地図生成モードの動作)
図5のフローチャートを基に、「初期地図生成モード」の具体的な処理について説明する。S10において、ロボット11および12が送信する計測情報を受信する、計測情報受信処理を行う。この処理は、計測情報取得部21にて実施する。
S15において、地図生成・更新処理を行う。処理の詳細は、図6を用いて後述する。S20において、地図生成・更新処理の終了指示が入力されたか否かを判断する。否定判断される場合(S20:NO)にはS10へ戻り、処理を続行する。一方、肯定判断される場合(S20:YES)にはS25へ進む。
S25において、初期地図構成要素群の書出処理を行う。この処理は、初期地図構成要素群書出部32にて実施する。具体的には、部分地図記憶部23、グラフ記憶部29、全体地図記憶部31の記憶内容を保存する。
(地図生成・更新処理の内容(S15))
S15の地図生成・更新処理の詳細内容について、図6のフローチャートを用いて説明する。S100において、ロボットの現在位置および現在姿勢の概算処理を行う。この処理は、部分地図生成部22にて、ロボット11および12の各々について実施する。概算したロボットの現在位置および現在姿勢は、S105のスキャンマッチ処理の初期値として用いられる。ロボットの位置・姿勢の概算には、過去2地点の位置・姿勢から外挿しても良い。またロボットの速度や各情報を参照し、概算しても良い。
S105において、スキャンマッチ処理を行う。この処理は、部分地図生成部22にて、ロボット11および12の各々について実施する。スキャンマッチ処理では、ロボットが時刻t−1にて生成中の部分地図と、時刻tの計測情報とのマッチングを行い、時刻tでのロボットの位置・姿勢を出力する。具体的には、スキャンマッチ初期値算出処理(S100)により得たロボットの位置・姿勢を初期値として、ロボットの計測情報と生成中の部分地図との誤差の総和が最小となるようなロボットの位置・姿勢を求める。また、マッチングの過程で算出する部分地図とロボットとの相対位置・姿勢と、その計測誤差共分散を出力する。
S110において、部分地図生成処理を行う。この処理は、部分地図生成部22にて、ロボット11および12の各々について実施する。部分地図生成処理では、スキャンマッチ処理(S105)により得られた部分地図座標系でのロボットの位置・姿勢を用いて時刻tの計測情報を部分地図に蓄積することで、生成中の部分地図を更新する。一定数の計測情報を蓄積すると,部分地図の生成を完了し、新規に部分地図の生成を開始する。新規に生成を開始する部分地図の位置・姿勢は、時刻tでのロボットの位置・姿勢としてもよい。生成を完了した部分地図は、部分地図記憶部23に記憶される。
S115において、グラフ構造データ生成処理を行う。具体的には、スキャンマッチ処理(S105)の結果と、部分地図生成処理(S110)の結果に基づき、グラフ構造データの更新を行う。この処理は、グラフ構造データ生成部27にて、ロボット11および12の各々について実施する。処理の具体例を、図4および図7を用いて説明する。なお、図4および図7では,重なりを避けるために環境ノードとセンサノードをずらして描画している。図4のグラフ構造データに対して、新規に生成した部分地図の位置および姿勢を環境ノードEN4として追加するとともに、ロボットの最新の位置および姿勢を、センサノードSN5として追加する。これにより、グラフ構造データは図7の状態になる。また、ロボットが生成中の部分地図に対する、ロボットの相対位置・姿勢をエッジE7として追加する。エッジE7には、スキャンマッチにより得た相対位置・姿勢・計測誤差共分散を加える。
S120において、部分地図の信頼度算出処理を行う。この処理は、信頼度算出部24にて、ロボット11および12の各々について、また、部分地図記憶部23内の複数の部分地図の各々について実施する。信頼度は、部分地図の確からしさを示す指標である。信頼度は、部分地図の確からしさが高くなるほど高くなってもよい。
信頼度の算出方法の具体例としては、以下の3つの方法が挙げられる。第1の方法は、部分地図生成処理(S110)によって部分地図が生成された時刻から、計測情報受信処理(S10)によって当該部分地図との一致判定を試みる計測情報が取得された時刻までの経過時間の絶対値が大きくなるほど、信頼度を単調減少させる方法である。具体的には、時間変数の増加に伴い単調減少する関数を用いることで、信頼度を算出することができる。図8に、単調減少する関数の例を示す。横軸(経過時間t)は、部分地図が生成された時刻から計測情報が取得された時刻までの経過時間の絶対値である。信頼度cは、例えば、「c=−at+b」という、係数aが負である1次関数F1で表すことができる。また例えば、「c=−dt+b」という、係数dが負である二次関数F2で表すことができる。また例えば、「c=f+b−1」という、係数を正とする指数関数F3で表すことができる。これにより、部分地図が生成された時刻から、その部分地図と一致判定を試みる計測情報が取得された時刻までの経過時間の絶対値が増加するに伴って、部分地図の信頼度cを低下させることができる。
信頼度の算出方法の第2の方法は、部分地図の確率的な確からしさに基づいて算出する方法である。具体例を図9(A)および図9(B)に示す。部分地図の内部状態は、複数のグリッドで表されている。複数のグリッドの各々が物体で占有されているか否かが、占有確率で示されている。占有確率は、占有されている状態を「1」、占有されていない状態を「0」とし、その間の状態を数値で確率的に示したものである。図9(A)および図9(B)では、占有確率は、ハッチングの密度が高いほど大きいとする。図9(A)の部分地図PM1は、図9(B)の部分地図PM2に比して、占有確率を示すハッチング密度のコントラスト差が、各グリッド間で大きい。すなわち、部分地図PM1の方が、部分地図PM2よりも「確からしさ」が高いと言える。第2の方法では、このような「確からしさ」の大きい部分地図ほど信頼度を上げる。
信頼度の算出方法の一例を説明する。「2値化しきい値」を予め定める。2値化しきい値は、0〜1の間の数値をとる占有確率を、物体がグリッドで占有されているか否かを示す「1」または「0」に2値化するための値である。2値化しきい値は、例えば「0.5」に設定してもよい。予め定められた2値化しきい値と占有確率との「差の絶対値」を、複数のグリッドの各々について求める。信頼度は、この「差の絶対値」が大きくなるほど高くなる。
具体的には、下式(1)によって求めることができる。
Figure 2019191498

ここで、cは部分地図の信頼度である。lijはグリッド(i,j)の内部状態である。lthは2値化しきい値である。nは部分地図内のグリッドの総数である。αは係数である。
信頼度の算出のための第3の方法は、信頼度が高くなる領域を予め認識しておく方法である。例えば、時間が経過しても計測物の数、位置、形状が変化しない定常領域に対応する部分地図の信頼度を、定常領域に対応しない部分地図よりも高く設定する。定常領域の具体例としては、物体設置が禁止された領域が挙げられる。具体例を図10に示す。図10において、定常領域R1内の部分地図PM12およびPM13の信頼度を、定常領域R1に含まれない部分地図PM11、PM14、PM15の信頼度よりも高くする。
信頼度の算出のための第1〜第3の方法の組み合わせ例を説明する。例えば、定常領域に少なくとも一部が含まれている部分地図の信頼度を算出する場合には、第2および第3の方法を組み合わせて使用してもよい。一方、定常領域に含まれていない部分地図の信頼度を算出する場合には、第1および第2の方法を組み合わせて使用してもよい。なお、1つの部分地図に対して複数の信頼度が算出された場合には、最小値や最大値を選択してもよいし、複数の信頼度の積や平均値を算出してもよい。
S125において、部分地図と計測情報との一致判定処理を行う。この処理は、一致判定部25にて、ロボット11および12の各々について実施する。また、部分地図記憶部23内の部分地図ごとに実施する。
S125の一致判定処理の具体的内容は、S105のスキャンマッチ処理と同様である。すなわち、複数の部分地図の各々について、部分地図と計測情報との一致判定(スキャンマッチ)を行う。そして、マッチング度合を示す指標(スコア)が所定のしきい値を超えた部分地図である特定部分地図を抽出する。このとき、所定のしきい値は、部分地図の信頼度が高いほど小さくする。これにより、信頼度の低い部分地図が計測情報と一致すると判断されてしまい、抽出されてしまう事態を防止することができる。
式(2)に、一致判定処理で用いられる数式の具体例を示す。
τ=η/C ・・・式(2)
ここで、τは部分地図lの判定閾値、Cは部分地図lの信頼度、ηは定数である。
S130において、一致判定に成功したか否かが判断される。否定判断される場合(S130:NO)にはS140へ進み、肯定判断される場合(S130:YES)にはS135へ進む。
S135において、エッジ追加処理を行う。この処理は、一致判定処理(S125)の結果に基づいてグラフ構造データの更新を行うための処理である。具体的には、S125で抽出された特定部分地図に対応する環境ノードと、その特定部分地図と一致判定された計測情報に対応するセンサノードとの間にエッジ(制約)を生成する。この処理は、エッジ追加部26にて、ロボット11および12の各々について実施する。また、部分地図記憶部23内の部分地図ごとに実施する。
図7および図11を用いて、エッジ追加処理を具体的に説明する。図11に示すように、過去の部分地図である環境ノードEN3と、最新のロボット位置・姿勢であるセンサノードSN5の相対的位置関係を規定するエッジE8を追加生成する。これにより、グラフ構造データを図7の状態から図11の状態にすることができる。追加生成したエッジE8には、エッジE8の元となる特定部分地図に対する当該ロボットの相対位置・姿勢と、計測誤差の共分散行列を設定する。このとき、エッジE8が表す計測誤差の共分散行列を、部分地図の信頼度が大きいほど小さく設定する。これにより、エッジE8の元になる特定部分地図の信頼度が高いほど、エッジE8をグラフ構造データに追加する際の重み付けを大きくすることができる。換言すると、特定部分地図の信頼度が高いほど、エッジE8の寄与度が大きくなるように調整することができる。
式(3)に、共分散行列の具体例を示す。
Figure 2019191498

ここで、左辺のΣはロボット位置sと過去の部分地図lの間に制約として設定する計測誤差共分散である。右辺のΣはロボット位置sと部分地図lとのスキャンマッチによる誤差共分散である。cは部分地図sの信頼度である。εは定数である。
S140において、全ての部分地図を処理したか否かを判断する。否定判断される場合(S140:NO)にはS145へ進み、次の部分地図が選択される。そしてS120へ戻る。一方、肯定判断される場合(S140:YES)には、S150へ進む。
S150において、全てのロボットについて処理を実行したか否かを判断する。否定判断される場合(S150:NO)にはS155へ進み、次のロボットが選択される。そしてS100へ戻る。一方、肯定判断される場合(S150:YES)にはS160へ進む。
S160において、グラフ最適化処理を行う。この処理は、グラフ最適化部28にて実施する。グラフ最適化では、グラフ構造データ全体で、エッジが表す制約(すなわち、相対位置・姿勢と誤差共分散)から誤差量を表す誤差関数を作成する。そして、各エッジの誤差関数の和が最小となるように、各ノードの位置・姿勢を補正する。そして、最適化後のグラフ構造データをグラフ最適化部28記憶部に保存する。誤差関数としては、各エッジに対する計測誤差の総和を用いることができる。計測誤差の一例としては、エッジ両端のノード間の相対位置・姿勢と、エッジに設定された相対位置・姿勢との誤差をエッジの計測誤差共分散の逆行列で重み付けしたもの(マハラノビス距離)が挙げられる。
S165において、地図生成処理を行う。この処理は、地図生成部30にて実施する。図12のフローチャートを用いて、地図生成処理の具体的な内容を説明する。S200において、部分地図記憶部23のすべての部分地図を、その位置・姿勢に基づき配置する。また、全ての部分地図の外接矩形から、全体地図のサイズを調整する。S205において、全体地図の各グリッドのうちのi=1番目のグリッドを選択する。S210において、選択されたi番目のグリッドと重なる部分地図の数を算出する。S215において、選択されたi番目のグリッドの内部状態を、部分地図の信頼度の重み付けによって算出する。例えば下式(4)によって算出できる。
Figure 2019191498

ここで、Lは全体地図のi番目のグリッドの内部状態である。Nは全体地図のi番目のグリッドと重なる部分地図の数である。cはj番目の部分地図の信頼度である。lはj番目の部分地図の内部状態である。
S220の内部状態の閾値処理において、全体地図のi番目のグリッドの占有状態を「0」または「1」で出力する。S225において、全てのグリッドについて処理を実行したか否かが判断される。肯定判断される場合(S225:YES)にはフローを終了する。否定判断される場合(S225:NO)にはS203へ進み、次のi+1番目のグリッドを選択した上で、S210へ戻る。
(効果)
ロボットの正しい位置・姿勢(走行軌跡)が分かれば、その位置・姿勢に対応する計測情報を重ねてグリッド化することで、正確な地図をロボットを用いて生成することができる。しかし実際には、ロボットの走行軌跡の推定値には誤差が生じるため、ロボットの走行軌跡を最適化する必要がある。最適化の方法として、部分地図を特徴量(環境の局所的な特徴を表現する情報)としたGraph-based SLAMがある。しかし、特徴量である部分地図は、時間経過に伴う環境の変化(例:倉庫の床に置かれる荷物の位置や数の変化)に従ってその信頼度が変化する。そのため、信頼度の低い部分地図を用いた最適化処理が発生してしまい、ロボットの走行軌跡の誤差が増大してしまう場合があった。そこで本実施形態の地図作成装置10では、複数の部分地図の各々の信頼度を算出することができる(S120)。そして、移動体に搭載された環境計測センサで測定された計測情報に一致する特定部分地図を、信頼度に基づいて抽出することができる(S125)。抽出された特定部分地図について作成したエッジを、グラフ構造データに追加することができる(S135)。このとき、エッジの元になる特定部分地図の信頼度が高いほど、追加する際の重み付けを大きくすることができる。これにより、状態が変化する環境下においても、移動体によって測定された計測情報に基づいて正確な地図を生成することが可能となる。
実施例1の地図生成システム1は、ロボットによって作成された部分地図の良否を、信頼度を用いて判断するシステムであった。実施例2の地図生成システム1aは、計測情報のうちから不要な情報を取り除くことで、精度よく部分地図を作成する機能をさらに備えたシステムである。図13に、実施例2の地図生成システム1aのブロック図を示す。実施例2の地図生成システム1a(図13)と、実施例1の地図生成システム1(図1)とで、共通する部位には共通の符号を付している。また実施例2に特有の部位には、符号の末尾に「a」を付している。
実施例2の地図生成システム1aは、ロボット11aおよび12aを備えている。ロボット11aおよび12aは、フィルタ部44aをさらに備えている。計測情報取得部41から出力された計測情報は、フィルタ部44aを介してデータ送信部42へ入力される。
図14のフローチャートを用いて、フィルタ部44aで行われるフィルタ処理を説明する。S300において、時刻t−1と時刻tの計測情報を位置合わせする。S303において、i=1番目の計測情報を選択する。S305において、時刻t−1の計測情報と時刻tの計測情報の位置が一致するか否かを判断する。肯定判断される場合(S305:YES)にはS315へ進み、選択された計測情報をデータ送信部42へ送信する。そしてS320へ進む。一方、否定判断される場合(S305:NO)には、S315をスキップしてS320へ進む。
S320において、全ての計測情報について処理を実行したか否かが判断される。肯定判断される場合(S320:YES)にはフローを終了する。否定判断される場合(S320:NO)にはS325へ進み、次のi+1番目の計測情報を選択した上で、S305へ戻る。
図15の計測情報の例を用いて、フィルタ処理の内容を説明する。図15では、時刻t−1および時刻tの各々におけるロボット11aの位置を、位置P11およびP12とする。時刻t−1および時刻tの各々における壁の計測情報を、MD11およびMD12とする。時刻t−1および時刻tの各々における歩行者の脚の計測情報を、MD21およびMD22とする。時刻tにおいて検出開始された走行中のフォークリフトの計測情報を、MD32とする。図15において、時刻t−1の計測情報は破線で示し、時刻tの計測情報は実線で示している。計測情報MD11およびMD12は壁の計測情報であるため、時刻t−1と時刻tとで位置が一致する(S305:YES)。よって、計測情報MD12はデータ送信部42へ送信される(S315)。一方、計測情報MD21とMD22は、歩行者の脚の計測情報であるため、時刻t−1と時刻tとで位置が一致しない(S305:NO)。また計測情報MD32は、時刻tで検出開始されている。従って、計測情報MD22およびMD32は、データ送信部42へ送信されない。
(効果)
実施例1において部分地図を生成するために行うスキャンマッチ処理(S105)は、静的な環境を前提にした技術である。移動する物体(例:作業者やフォークリフトなど)が存在する動的な環境では、過去の計測情報とのマッチングが適切に一致しない場合がある。すると、特徴量とする部分地図が正確に生成されなくなる結果、全体地図の精度が悪化してしまう場合がある。そこで実施例2に係る地図生成システム1aでは、時刻tおよび時刻t−1において測定された計測情報が示す計測物の位置を比較し(S305)、両者が一致している計測情報のみを地図作成装置10へ送信する(S315)。これにより、複数の計測情報の中から移動する物体(動的物体)を計測したデータを除き、静的物体(例:壁、柱など)および準静的物体(例:停止中のトラックなど)を計測したデータのみを地図作成装置10に送信することができる。全体地図の精度を向上させることが可能となる。
以上、本明細書が開示する技術の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
(変形例)
地図作成装置10はコンピュータに限られず、例えば、インターネットなどのネットワーク上に配置されたサーバであってもよい。地図作成装置10は、ネットワークを介して、ロボット11および12から計測情報を受信してもよい。地図作成装置10の汎用性を高めることができる。
地図生成システム1は、ロボット11および12の2台の移動体を備える場合を説明したが、この形態に限られない。3台以上のロボットを備える場合においても、本明細書の技術を適用可能である。
式(1)〜式(4)は一例である。本実施例の技術では、様々なタイプの数式を使用することが可能である。
実施例2の地図生成システム1aにおいて、フィルタ部44aの配置位置は自由に設定できる。例えば、地図作成装置10において、計測情報取得部21の前後に配置してもよい。また、実施例2の地図生成システム1aでは、全体地図の精度を向上させることができるため、信頼度を用いなくてもよい。すなわち実施例2では、信頼度算出部24を省略してもよい。また、一致判定部25およびエッジ追加部26では、信頼度を用いた処理を実行しなくてもよい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
ロボット11、12は、移動体の一例である。センサ40は、環境計測センサの一例である。グラフ最適化部28は、グラフ構造データ最適化部の一例である。
1:地図生成システム 10:地図作成装置 11、12:ロボット 21:計測情報取得部 22:部分地図生成部 24:信頼度算出部 25:一致判定部 26:エッジ追加部 27:グラフ構造データ生成部 28:グラフ最適化部 40:センサ

Claims (8)

  1. 対象領域の地図を作成する地図作成装置であって、
    移動体に搭載された環境計測センサによって前記対象領域内の複数の計測点のそれぞれについて測定された複数の計測情報を取得する計測情報取得部であって、前記計測情報は、前記計測点の周囲に存在する複数の計測物の前記計測点からの相対位置または距離を示すデータである、前記計測情報取得部と、
    複数の前記計測情報に基づいて、複数の部分地図を生成する部分地図生成部であって、前記部分地図は前記計測点の周囲における前記計測物の状態を示す局所的な地図である、前記部分地図生成部と、
    グラフ構造データを生成するグラフ構造データ生成部であって、前記グラフ構造データは、複数の前記計測点のそれぞれにおける前記環境計測センサの位置および姿勢を示すセンサノードと、前記部分地図の位置および姿勢を規定する環境ノードと、前記環境ノードとその環境ノードに対応するセンサノードの相対的位置関係を規定する第1エッジと、を備える、前記グラフ構造データ生成部と、
    複数の前記部分地図の各々の信頼度を算出する信頼度算出部であって、前記信頼度は、前記部分地図の確かさが高いほど高くなる指標である、前記信頼度算出部と、
    複数の前記部分地図の各々について、前記部分地図と複数の前記計測情報との一致判定を行い、一致度が所定のしきい値を超えた部分地図である特定部分地図を抽出する一致判定部であって、前記部分地図の前記信頼度が高いほど前記所定のしきい値が小さくされる、前記一致判定部と、
    前記特定部分地図に対応する前記環境ノードと、前記一致判定部にてその特定部分地図と一致判定された計測情報に対応する前記センサノードとの相対的位置関係を規定する第2エッジを生成し、生成した第2エッジを前記グラフ構造データに追加するエッジ追加部であって、前記第2エッジの元になる前記特定部分地図の信頼度が高いほど追加する際の重み付けを大きくして前記第2エッジを追加する、前記エッジ追加部と、
    前記第2エッジが追加された前記グラフ構造データについて、各エッジから算出される誤差関数の和が最小となるように前記グラフ構造データを最適化するグラフ構造データ最適化部と、
    を備える、地図作成装置。
  2. 前記信頼度算出部が算出する前記信頼度は、前記部分地図生成部によって前記部分地図が生成された時刻から、当該部分地図と一致判定される前記計測情報が前記計測情報取得部によって取得された時刻までの経過時間の絶対値が大きくなるほど単調減少する、請求項1に記載の地図作成装置。
  3. 前記部分地図は、複数のグリッドで表されており、
    前記グリッドが物体で占有されているか否かが、複数の前記グリッドの各々について占有確率で示されており、
    前記信頼度算出部が算出する前記信頼度は、予め定められた2値化しきい値と前記占有確率との差の絶対値を複数の前記グリッドの各々について求めた場合に、前記差の絶対値の総和が大きくなるほど高くなり、
    前記2値化しきい値は、前記占有確率から、前記物体が前記グリッドで占有されているか否かに2値化するための値である、請求項1に記載の地図作成装置。
  4. 前記対象領域には、時間が経過しても計測物の数、位置、形状が変化しない定常領域が含まれており、
    前記信頼度算出部は、前記定常領域に対応している部分地図の信頼度を、前記定常領域に対応していない部分地図の信頼度よりも高くする、請求項1に記載の地図作成装置。
  5. 前記対象領域には、時間が経過しても計測物の数、位置、形状が変化しない定常領域が含まれており、
    前記部分地図は、複数のグリッドで表されており、
    前記グリッドが物体で占有されているか否かが、複数の前記グリッドの各々について占有確率で示されており、
    前記信頼度算出部が前記定常領域に対応している部分地図の前記信頼度を算出する場合には、
    前記定常領域に対応している部分地図の信頼度を、前記定常領域に対応していない部分地図の信頼度よりも高くし、
    予め定められた2値化しきい値と前記占有確率との差の絶対値が小さくなるほど前記信頼度を低くし、
    前記2値化しきい値は、前記占有確率から、前記物体が前記グリッドで占有されているか否かに2値化するための値であり、
    前記差の絶対値は、複数の前記グリッドの各々について求められ、
    前記信頼度算出部が前記定常領域に対応していない部分地図の前記信頼度を算出する場合には、
    前記部分地図生成部によって前記部分地図が生成された時刻から、前記計測情報取得部によって当該部分地図と一致判定を行う前記計測情報が取得された時刻までの経過時間が大きくなるほど前記信頼度を単調減少させ、
    予め定められた2値化しきい値と前記占有確率との差の絶対値が小さくなるほど前記信頼度を低くする、請求項1に記載の地図作成装置。
  6. 前記第1エッジおよび前記第2エッジは、前記環境ノードとその環境ノードに対応する前記センサノードとの相対位置・姿勢および計測誤差の共分散行列を表しており、
    前記エッジ追加部は、前記第2エッジが表す前記計測誤差の共分散行列を前記信頼度が大きいほど小さく設定する、請求項1〜5の何れか1項に記載の地図作成装置。
  7. 前記地図作成装置はネットワーク上に配置されたサーバであり、
    前記移動体から前記ネットワークを介して複数の前記計測情報を受信可能である、請求項1〜6の何れか1項に記載の地図作成装置。
  8. 前記計測情報取得部は、時刻tにおいてi番目(iは2以上の自然数)の計測点で測定された前記計測物の位置と、時刻t−1においてi−1番目の計測点で測定された前記計測物の位置とを比較した場合に、前記時刻tにおける位置と前記時刻t−1における位置とが一致している計測物の位置のみを示す情報を、前記時刻tにおける前記計測情報として受信する、請求項1〜7の何れか1項に記載の地図作成装置。
JP2018087110A 2018-04-27 2018-04-27 地図作成装置 Active JP7047576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018087110A JP7047576B2 (ja) 2018-04-27 2018-04-27 地図作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018087110A JP7047576B2 (ja) 2018-04-27 2018-04-27 地図作成装置

Publications (2)

Publication Number Publication Date
JP2019191498A true JP2019191498A (ja) 2019-10-31
JP7047576B2 JP7047576B2 (ja) 2022-04-05

Family

ID=68390301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018087110A Active JP7047576B2 (ja) 2018-04-27 2018-04-27 地図作成装置

Country Status (1)

Country Link
JP (1) JP7047576B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210125732A (ko) * 2020-04-09 2021-10-19 한국과학기술원 정밀 점유 지도 작성을 위한 적응형 커널 추론 방법 및 장치
JP2023510507A (ja) * 2019-12-30 2023-03-14 シングパイロット プライベート リミテッド ナビゲーション用の順次マッピング及び位置推定(smal)
CN115984504A (zh) * 2023-03-21 2023-04-18 上海仙工智能科技有限公司 一种地图自动更新方法及系统、存储介质
WO2023223864A1 (ja) * 2022-05-16 2023-11-23 株式会社豊田自動織機 自律走行車

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038353A1 (ja) * 2008-10-01 2010-04-08 村田機械株式会社 自律移動装置
WO2012035707A1 (ja) * 2010-09-17 2012-03-22 国立大学法人東京工業大学 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
WO2013076829A1 (ja) * 2011-11-22 2013-05-30 株式会社日立製作所 自律移動システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038353A1 (ja) * 2008-10-01 2010-04-08 村田機械株式会社 自律移動装置
WO2012035707A1 (ja) * 2010-09-17 2012-03-22 国立大学法人東京工業大学 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
WO2013076829A1 (ja) * 2011-11-22 2013-05-30 株式会社日立製作所 自律移動システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023510507A (ja) * 2019-12-30 2023-03-14 シングパイロット プライベート リミテッド ナビゲーション用の順次マッピング及び位置推定(smal)
KR20210125732A (ko) * 2020-04-09 2021-10-19 한국과학기술원 정밀 점유 지도 작성을 위한 적응형 커널 추론 방법 및 장치
KR102319015B1 (ko) 2020-04-09 2021-10-29 한국과학기술원 정밀 점유 지도 작성을 위한 적응형 커널 추론 방법 및 장치
WO2023223864A1 (ja) * 2022-05-16 2023-11-23 株式会社豊田自動織機 自律走行車
CN115984504A (zh) * 2023-03-21 2023-04-18 上海仙工智能科技有限公司 一种地图自动更新方法及系统、存储介质

Also Published As

Publication number Publication date
JP7047576B2 (ja) 2022-04-05

Similar Documents

Publication Publication Date Title
CN111536964B (zh) 机器人定位方法及装置、存储介质
EP3384360B1 (en) Simultaneous mapping and planning by a robot
US9995589B2 (en) Path plan generating apparatus for mobile body
CN109782763B (zh) 一种动态环境下的移动机器人路径规划方法
CN108253958B (zh) 一种稀疏环境下的机器人实时定位方法
CN112000754B (zh) 地图构建方法、装置、存储介质及计算机设备
JP7047576B2 (ja) 地図作成装置
CN109597864B (zh) 椭球边界卡尔曼滤波的即时定位与地图构建方法及系统
CN109509210B (zh) 障碍物跟踪方法和装置
CN111290385B (zh) 一种机器人路径规划方法、机器人、电子设备及存储介质
CN110488843B (zh) 避障方法、移动机器人及计算机可读存储介质
CN112882053B (zh) 一种主动标定激光雷达和编码器外参的方法
CN112179353B (zh) 自移动机器人的定位方法、装置、机器人及可读存储介质
CN109186610B (zh) 一种auv地形匹配导航的鲁棒bslam方法
CN113330279A (zh) 用于确定车辆的位置的方法和系统
JP2018017826A (ja) 自律移動体と環境地図更新装置
CN111201448A (zh) 用于产生反演传感器模型的方法和设备以及用于识别障碍物的方法
EP3828587A1 (en) Method for determining the position of a vehicle
CN111915675A (zh) 基于粒子漂移的粒子滤波点云定位方法及其装置和系统
CN116661469B (zh) 机器人轨迹误差修正方法及系统
CN114879660B (zh) 一种基于目标驱动的机器人环境感知方法
Parsley et al. Towards the exploitation of prior information in SLAM
CN113932799A (zh) 激光地图更新方法、系统、电子设备、介质及程序产品
CN113203424B (zh) 多传感器的数据融合方法、装置及相关设备
JP2016224680A (ja) 自己位置推定装置及び自己位置推定装置を備えた移動体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

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: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220307

R150 Certificate of patent or registration of utility model

Ref document number: 7047576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150