JP6500385B2 - 移動量推定装置、自律移動体、及び移動量の推定方法 - Google Patents

移動量推定装置、自律移動体、及び移動量の推定方法 Download PDF

Info

Publication number
JP6500385B2
JP6500385B2 JP2014212545A JP2014212545A JP6500385B2 JP 6500385 B2 JP6500385 B2 JP 6500385B2 JP 2014212545 A JP2014212545 A JP 2014212545A JP 2014212545 A JP2014212545 A JP 2014212545A JP 6500385 B2 JP6500385 B2 JP 6500385B2
Authority
JP
Japan
Prior art keywords
movement
data
position data
amount
unit
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
JP2014212545A
Other languages
English (en)
Other versions
JP2016081327A (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.)
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 JP2014212545A priority Critical patent/JP6500385B2/ja
Publication of JP2016081327A publication Critical patent/JP2016081327A/ja
Application granted granted Critical
Publication of JP6500385B2 publication Critical patent/JP6500385B2/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)
  • Optical Radar Systems And Details Thereof (AREA)

Description

本発明は、本体の位置を推定しながら移動可能な移動体の移動量を推定する移動量推定装置、当該移動量の推定方法、及び上記の移動量推定装置を備える自律移動体に関する。
従来、本体の位置を推定しながら自律移動可能な自律移動体が知られている。例えば、特許文献1には、周囲の移動可能な領域を検知する経路センサを備えた移動ロボットが開示されている。特許文献1の移動ロボットにおいては、経路センサにより得られた位置集合データのうち、予め決められた閾値以下の距離の領域に存在する位置データを用いて、本体位置の補正を行っている。
特開2008−250906号公報
特許文献1の移動ロボットにおいては、上記のように、予め決められた距離以下の位置データだけを用いて本体位置の補正を行っていた。この場合、特に、移動ロボットの移動距離が小さい場合に、移動前に取得した所定の距離以下にある位置データと、移動後に取得した所定の距離以下にある位置データとの間にほとんど差が見られない場合があった。その結果、移動ロボットが少しだけ移動した時などに、本体位置を精度よく補正できなかった。
本発明の課題は、移動体の移動量を推定する移動量推定装置において、移動体の移動量を精度よく、かつ、高速に推定することにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る移動量推定装置は、移動体の移動量を推定する装置である。移動量推定装置は、位置データ取得部と、データ抽出部と、データ移動部と、距離算出部と、推定部と、を備える。
位置データ取得部は、複数の位置データを取得する。位置データは、移動体と移動体の周囲に存在する物体との相対的な位置関係を表す座標上における物体の存在位置を表したデータである。
データ抽出部は、移動体の移動前又は移動後のいずれか一方において取得した複数の第1位置データから、第1位置データと第1基準点との間の距離に基づいて複数の第1抽出データを抽出する。また、データ抽出部は、移動前又は移動後の他方において取得した複数の第2位置データから、第2位置データと第2基準点との間の距離に基づいて複数の第2抽出データを抽出する。
第1基準点は、第1位置データが定義された第1座標の任意の点である。第2基準点は、第2位置データが定義された第2座標の任意の点である。
なお、上記の「移動前又は移動後の他方」は、複数の第1位置データが移動体の移動前に取得された場合には、移動体の移動後のことを指す。一方、複数の第1位置データが移動体の移動後に取得された場合には、移動体の移動前のことを指す。
データ移動部は、複数の第2抽出データを第1座標又は第2座標上にて平行移動及び/又は回転移動して複数の第1移動データを算出する。
距離算出部は、第1投影物体像と第2投影物体像との間の第1距離を算出する。第1投影物体像は、複数の第1抽出データにより第1座標又は第2座標上に形成される像である。第2投影物体像は、複数の第1移動データにより座標上に形成される像である。
推定部は、第1距離と第1の閾値との比較に基づいて、第1抽出データと第1移動データとが一致したかどうかを判断する。また、推定部は、第1抽出データと第1移動データとが一致したと判断したとき、第1移動データの第2抽出データからの平行移動の移動量及び/又は回転移動の移動量を、移動前と移動後との間に移動体が移動した移動量として推定する。
上記の移動量推定装置では、まず、位置データ取得部が、移動体の移動前後において、複数の第1位置データ及び複数の第2位置データを取得する。その後、データ抽出部が、複数の第1位置データから、第1位置データと第1基準点との間の距離に基づいて、複数の第1抽出データを抽出する。また、データ抽出部は、複数の第2位置データから、第2位置データと第2基準点との間の距離に基づいて、複数の第2抽出データを抽出する。
複数の第1抽出データ及び複数の第2抽出データを抽出後、データ移動部が、複数の第2抽出データを、第2抽出データを定義した第1座標又は第2座標上にて平行移動及び/又は回転移動して、複数の第1移動データを算出する。
複数の第1移動データを算出後、距離算出部が、複数の第1抽出データにより形成される第1投影物体像と、複数の第1移動データにより形成される第2投影物体像との間の距離を第1距離として算出する。
第1距離を算出後、推定部が、第1距離と第1の閾値との比較に基づいて、第1抽出データと第1移動データとが一致したかどうかを判断する。第1抽出データと第1移動データとが一致したと判断した場合、推定部は、現在の第1移動データの最初の第2抽出データからの平行移動の移動量及び/又は回転移動の移動量を、移動前と移動後との間に移動体が移動した移動量と推定する。
上記の移動量推定装置においては、複数の第1位置データのうち第1位置データと第1基準点との間の距離に基づいて抽出された第1位置データ(すなわち、第1抽出データ)と、複数の第2位置データのうち第2位置データと第2基準点との間の距離に基づいて抽出された第2位置データ(すなわち、第2抽出データ)と、を用いて移動体の移動量が推定されている。
つまり、取得した位置データの数よりも少ない数の位置データを用いて、移動体の移動量を推定している。これにより、取得した全ての第1位置データ及び全ての第2位置データを用いる場合と比較して、より高速に移動量を推定できる。
複数の第1抽出データと複数の第2抽出データとを用いて第1移動量を推定したあと、さらに、全ての第1位置データと全ての第2位置データを第1移動量だけ移動した複数の第2移動データとを用いて、移動体の移動量を推定してもよい。
このとき、データ移動部は、複数の第2位置データを第1移動量に対応する移動量だけ第1座標又は第2座標上にて移動して、複数の第2移動データを算出する。第1移動量は、第1抽出データ及び第2抽出データを用いて推定した移動体の移動量である。また、データ移動部は、複数の第2移動データを第1座標又は第2座標上にて平行移動及び/又は回転移動してさらに複数の第3移動データを算出する。
また、距離算出部は、第3投影物体像と第4投影物体像との間の第2距離を算出する。第3投影物体像は、複数の第1位置データにより形成される像である。第4投影物体像は、複数の第3移動データにより形成される像である。
さらに、推定部は、第2距離と第2の閾値との比較に基づいて第1位置データと第3移動データとが一致したかどうかを判断し、第1位置データと第3移動データとが一致したと判断されたときの第3移動データの第2位置データからの平行移動の移動量及び/又は回転移動の移動量を、移動前と移動後との間に移動体が移動した移動量として推定する。
これにより、最初から全ての第1位置データと全ての第2位置データを用いて移動体の移動量を推定するよりも高速に、かつ、全ての位置データを用いて移動量を推定したときと同等の精度にて移動量を推定できる。
移動体が車輪の回転により移動可能である場合、車輪の回転による車輪移動量を算出し、複数の第2位置データを当該車輪移動量だけ移動して複数の第4移動データを算出し、その後、複数の第1位置データと複数の第4移動データとを用いて移動体の移動量を推定してもよい。
このとき、上記の移動量推定装置は車輪移動量算出部をさらに備えている。車輪移動量算出部は、車輪移動量を算出する。車輪移動量は、移動前と移動後の間の車輪の回転による移動体の移動量である。
また、データ移動部は、複数の第2位置データを車輪移動量に対応する移動量だけ移動して複数の第4移動データを算出する。さらに、推定部は、複数の第4移動データを新たな複数の第2位置データとして、移動体の移動量を推定する。
これにより、より高速に移動体の移動量を推定できる。
本発明の他の見地に係る自律移動体は、上記の移動量推定装置と、走行部と、位置推定部と、制御部と、を備える。走行部は、自律移動体を移動させる。位置推定部は、上記の移動量推定装置において推定される移動量に基づいて、自律移動体の現在位置を推定する。制御部は、現在位置から所定の目標位置まで走行するよう走行部を制御する。
自律移動体が上記の構成を有することにより、自律移動体の位置をより高速に推定できるため、自律移動体を制御遅れなく制御できる。その結果、上記の移動量推定装置を備える自律移動体は、意図した走行経路を正確にかつ遅延なく移動できる。
本発明のさらに他の見地に係る移動量の推定方法は、移動体の移動量を推定する方法である。移動量の推定方法は、以下のステップを含む。
◎移動体の移動前及び移動後において、移動体と移動体の周囲に存在する物体との相対的な位置関係を表す座標上における物体の存在位置を表した複数の位置データを取得するステップ。
◎複数の第1位置データから第1位置データと第1基準点との間の距離に基づいて複数の第1抽出データを抽出し、複数の第2位置データから第2位置データと第2基準点との間の距離に基づいて複数の第2抽出データを抽出するステップ。
◎複数の第2抽出データを第1座標又は第2座標上にて平行移動及び/又は回転移動して複数の第1移動データを算出するステップ。
◎複数の第1抽出データにより形成される第1投影物体像と、複数の第1移動データにより形成される第2投影物体像との間の第1距離を算出するステップ。
◎第1距離と第1の閾値との比較に基づいて第1抽出データと第1移動データとが一致したかどうかを判断するステップ。
◎第1抽出データと第1移動データとが一致したと判断されたときの第1移動データの第2抽出データからの平行移動の移動量及び/又は回転移動の移動量を、移動前と移動後との間に移動体が移動した移動量として推定するステップ。
上記の移動量の推定方法においては、複数の第1位置データのうち第1位置データと第1基準点との間の距離に基づいて抽出された第1位置データ(すなわち、第1抽出データ)と、複数の第2位置データのうち第2位置データと第2基準点との間の距離に基づいて抽出された第2位置データ(すなわち、第2抽出データ)と、を用いて移動体の移動量が推定されている。
つまり、取得した位置データの数よりも少ない数の位置データを用いて、移動体の移動量を推定している。これにより、取得した全ての第1位置データ及び全ての第2位置データを用いる場合と比較して、より高速に移動量を推定できる。
上記の移動量の推定方法は、以下のステップをさらに含んでいてもよい。
◎第1抽出データ及び第2抽出データを用いて推定した移動体の移動量である第1移動量に対応する移動量だけ複数の第2位置データを第1座標又は第2座標上にて移動して複数の第2移動データを算出するステップ。
◎複数の第2移動データを座標上にて平行移動及び/又は回転移動してさらに複数の第3移動データを算出するステップ。
◎複数の第1位置データにより形成される第3投影物体像と複数の第3移動データにより形成される第4投影物体像との間の第2距離を算出するステップ。
◎第2距離と第2の閾値との比較に基づいて第1位置データと第3移動データとが一致したかどうかを判断するステップ。
◎第1位置データと第3移動データとが一致したと判断されたときの第3移動データの第2位置データからの平行移動の移動量及び/又は回転移動の移動量を、移動前と移動後との間に移動体が移動した移動量として推定するステップ。
これにより、最初から全ての第1位置データと全ての第2位置データを用いて移動体の移動量を推定するよりも高速に、かつ、全ての位置データを用いて移動量を推定したときと同等の精度にて移動量を推定できる。
第1抽出データ及び前記第2抽出データを抽出するステップは、以下のステップを含んでいてもよい。
◎予め設定された複数の距離から1つの選択距離を選択するステップ。
◎第1位置データと第1基準点との間の距離と選択距離との比較に基づいて、複数の第1位置データから複数の第1抽出データを抽出し、第2位置データと第2基準点との間の距離と選択距離との比較に基づいて、複数の第2位置データから複数の第2抽出データを抽出するステップ。
このとき、複数の距離から所定の数の距離が選択距離として選択されるまで、又は、第1距離が第3の閾値以下となるまで、第1抽出データ及び第2抽出データを抽出するステップと、第1移動データを算出するステップと、第1距離を算出するステップと、第1抽出データと第1移動データとが一致したかどうかを判断するステップと、を繰り返してもよい。
これにより、1回抽出データを抽出して移動量を推定するよりもさらに精度よく移動量を推定できる。
移動体の移動量を精度よく、かつ、高速に推定できる。
自律移動体の全体構成を示す図。 制御部の構成を示す図。 移動量算出部(移動量算出部)の構成を示す図。 推定部における移動量の推定方法を示すフローチャート。 固定投影物体像と移動投影物体像の一例を示す図。 移動量の推定方法を模式的に示す図。 第1実施形態における移動量の推定方法を示すフローチャート。 移動領域の一例を示す図。 移動領域の位置P1における投影物体像の一例を示す図。 移動領域の位置P2における投影物体像の一例を示す図。 複数の第1位置データから第1抽出データを抽出する方法を模式的に示す図。 複数の第2位置データから第2抽出データを抽出する方法を模式的に示す図。 自律移動体の動作を示すフローチャート。 第2実施形態における移動量の推定方法を示すフローチャート。 第3実施形態における移動量の推定方法を示すフローチャート。 第4実施形態の移動量算出部の構成を示す図。 第4実施形態における移動量の推定方法を示すフローチャート。
1.第1実施形態
(1)自律移動体の全体構成
以下、本発明の自律移動体について説明する。まず、第1実施形態に係る自律移動体100の全体構成について、図1を用いて説明する。図1は、自律移動体の全体構成を示す図である。本実施形態の自律移動体100は、予め決められた所望の予定走行経路を自律的に走行する移動体である。
自律移動体100は、本体部1と、走行部2と、位置データ取得部3と、制御部5と、を主に備える。本体部1は、自律移動体100の本体を構成する。
走行部2は、図1に示すように、車輪21a、21bを有し、車輪21a、21bが移動領域の床面などの走行面に接するように、モータ23a、23b(後述)を介して、本体部1の底部の中央付近に設置されている。また、車輪21a、21bは、本体部1の左右に設置されたモータ23a、23bの出力回転軸のそれぞれに、当該出力回転軸周りに回転可能に取り付けられている。
モータ23a、23bは、制御部5から駆動信号(後述)を受信し、当該制御部5からの駆動信号により、それぞれの出力回転軸を回転させる。車輪21a、21bは、制御部5からの駆動信号に応じた回転量及び/又は回転速度にて回転する。回転する車輪21a、21bの回転により、走行部2は、本体部1(すなわち、自律移動体100)を移動できる。モータ23a、23bとしては、例えば、ブラシレスモータなどの電動モータを用いることができる。
また、モータ23a、23bのそれぞれの出力回転軸には、図示しない、モータ23a、23bのそれぞれの出力回転軸の回転数(回転量)を測定する装置が取り付けられている。そして、当該装置により測定された出力回転軸の回転量は、制御部5へ出力される。これにより、 制御部5は、モータ23a、23bのそれぞれの出力回転軸の回転量に基づいて、車輪21a、21bの回転量を算出できる。
上記のモータ23a、23bの出力回転軸の回転量を測定する装置としては、例えば、エンコーダを用いる。例えば、インクリメンタル型のエンコーダを用いて出力回転軸の回転量を測定した場合、出力回転軸の回転量は、エンコーダから出力されるパルス信号に含まれる所定時間あたりのパルス数として測定できる。
位置データ取得部3は、例えば、検出信号を出力し、自律移動体100の周囲に存在する障害物や壁などの物体により検出信号が反射されることにより発生する反射信号を検出する構成とすることができる。位置データ取得部3としては、例えば、レーザレンジファインダ(Laser Range Finder、LRF)を用いることができる。その他、ToF(Time of Flight)カメラなど、本体の周囲にある物体の本体からの距離を測定できる装置を、位置データ取得部3として用いてもよい。さらに、検出信号を出力して反射信号を検出する構成に限らず、本体の周囲にある物体の本体からの距離を測定できる装置であれば、位置データ取得部3として用いることができる。
レーザレンジファインダを位置データ取得部3として用いた場合、位置データ取得部3は、検出信号を出力したタイミングと反射信号を検出したタイミングとの差に基づいて、自律移動体100から検出信号を反射した物体(の表面の一部)までの距離に関する情報を取得できる。
また、レーザレンジファインダを位置データ取得部3として用いた場合、位置データ取得部3は、検出した反射信号がどの方向からの反射信号であるかを知ることができる。検出した反射信号がどの方向からの反射信号であるかについての情報に基づいて、位置データ取得部3は、自律移動体100から見た検出信号を反射した物体(の表面の一部)が存在する方向に関する情報を取得できる。
すなわち、レーザレンジファインダを位置データ取得部3として用いた場合、位置データ取得部3は、上記の物体と自律移動体100との間の距離と、上記の物体(の一部)が存在する自律移動体100からの方向を示す一次元平面状の水平方向の角度とを含む二次元のデータを取得できる。
一方、ToFカメラを位置データ取得部3として用いた場合、自律移動体100から上記の物体の所定の二次元平面上の箇所(例えば、ToFカメラから出力された信号を反射する物体の表面の一部)までの距離と、上記の物体の箇所が存在する自律移動体100からの方向を示す二次元平面上の水平方向の角度と鉛直方向の角度とを含む三次元のデータとして取得される。
上記のような、自律移動体100と物体との間の距離と、物体の箇所が存在する自律移動体100からの方向とを含んだデータは、自律移動体100と自律移動体100の周囲に存在する物体との相対的な位置関係を表す座標上における物体の存在位置を表したデータである。従って、自律移動体100と物体との間の距離と、物体の箇所が存在する自律移動体100からの方向とを含んだデータを「位置データ」と呼ぶことにする。
本実施形態においては、位置データ取得部3によって取得した自律移動体100と物体との間の距離に関する情報と、物体が存在する自律移動体100からの方向に関する情報とは、自律移動体100と周囲の物体との相対的な位置関係を表す座標系、例えば、自律移動体100を原点としたX−Y座標(二次元の場合)又は自律移動体100を原点としたX−Y−Z座標(三次元の場合)における座標値に変換される。本実施形態において、位置データは、上記の座標変換後の座標値データとする。すなわち、本実施形態において、位置データはX−Y座標又はX−Y−Z座標の座標値と定義される。
なお、自律移動体100と周囲の物体との相対的な位置関係を表す座標系としては、本実施形態における自律移動体を原点とした座標系に限らず、例えば、前方データ取得部31を原点とした座標系などを適宜用いてもよい。
また、上記に示したような座標変換を行っていない位置データを用いて自律移動体100の移動量を算出してもよい。この場合、所定の座標は、自律移動体100から物体までの距離と、物体が存在する自律移動体100からの角度とにより表される自律移動体100を原点としたr−θ座標となる。
上記のように位置データを自律移動体100と物体との相対的な位置関係を表す所定の座標(例えば、自律移動体100を原点とした座標)の座標値とすることにより、自律移動体100の実際の移動量を直接的に推定できる。
また、位置データ取得部3は、典型的には、位置データ取得部3からの出力信号が物体の表面などにて反射されて位置データ取得部3に戻ってくる信号を、例えば、信号の検出器を所定の角度範囲で回転走査することにより、位置データを取得する。そのため、位置データ取得部3において、位置データは典型的には複数個取得される。
位置データ取得部3にて取得して座標変換した複数の位置データを、自律移動体100を原点とした所定の座標上にプロットすると、検出された物体(表面)の(少なくとも一部の)形状が当該所定の座標上に投影される。すなわち、複数の位置データは、自律移動体100を原点とした所定の座標上において、自律移動体100の周囲に存在する物体を投影する投影物体像を形成する。
上記のように、位置データ取得部3において得られる位置データは、車輪21a、21bの使用による車輪径の変化の影響を受けない。従って、本実施形態においては、位置データ取得部3において取得された複数の位置データを、自律移動体100の実際の移動量により近い移動量を算出するために用いている。
図1に示すように、位置データ取得部3は、前方データ取得部31と後方データ取得部33とにより構成されている。前方データ取得部31は、自律移動体100の前方に取り付けられており、自律移動体100の前方に存在する物体からの位置データを取得できる。一方、後方データ取得部33は、自律移動体100の進行方向の後方に取り付けられており、自律移動体100の後方に存在する物体からの位置データを取得できる。
本実施形態においては、前方データ取得部31の位置データ取得可能範囲が、後方データ取得部33の位置データ取得可能領域よりも広くなっている。例えば、本実施形態においては、後方データ取得部33は、後方データ取得部33を中心とした半径10m程度の自律移動体100の後方の180°程度の範囲の物体を検出できる。
一方、前方データ取得部31は、前方データ取得部31を中心とした半径30m程度の自律移動体100の前方の270°程度の範囲に存在する物体を検出可能となっている。
位置データ取得部3が上記の前方データ取得部31と後方データ取得部33とにより構成されることにより、自律移動体100を中心とした(特に、自律移動体100の前方において)より広い範囲に存在する物体を検出できる。なお、上記の前方データ取得部31の物体の検出範囲と後方データ取得部33の物体の検出範囲は、上記の検出範囲に限られず、必要に応じて、適切な検出範囲を設定できる。
また、本実施形態において、前方データ取得部31及び/又は後方データ取得部33は、上記の本体部1の鉛直方向の上方(の前方及び後方)に取り付けられている。例えば、移動領域の床面などに設置された物体の移動が頻繁に行われる場合に(例えば、大規模小売店などのように、棚や看板のレイアウト変動が頻繁に行われる場合に)、前方データ取得部31及び後方データ取得部33により取得された複数の位置データにより形成される投影物体像の時間的な変化(特に、ある時間に存在した物体が、他の時間において存在しないような変化)を低減できる。
従来の技術では、移動領域に設置された物体の移動が頻繁に行われる場合、自律移動体100の移動前に取得した複数の位置データにより形成される投影物体像と、移動後に取得した複数の位置データにより形成される投影物体像とが大きく異なる場合がある。移動前後において投影物体像が大きく異なっていると、移動前後の投影物体像の一方をどのように移動しても、他方の投影物体像に一致させることが困難となる。この場合、複数の位置データを用いた自律移動体100の移動量の推定が困難となる。
また、従来の技術では、自律移動体100の移動前後の投影物体像が大きく異なる場合に、移動させた投影物体像と基準となる投影物体像とが一致したと判断されても、移動させた投影物体像の移動量から推定される自律移動体100の移動量が、実際の自律移動体100の移動量とは大きくかけ離れる場合がある。つまり、複数の位置データに基づいて推定した自律移動体100の移動量と、実際の自律移動体100の移動量との間に、大きな誤差が生じる場合がある。
それらの問題を解決するために、本実施形態では、上述したように、前方データ取得部31及び/又は後方データ取得部33を本体部1の上部(例えば、人の頭や商品棚の高さを超える位置)に設置して移動が頻繁に行われる物体を検知する可能性を低減している。この結果、前方データ取得部31及び後方データ取得部33(位置データ取得部3)により取得した複数の位置データを用いることで、大きな誤差などを生じることなく、つまり精度よく自律移動体100の移動量を推定できる。
制御部5は、走行部2を制御する。具体的には、制御部5は、自律移動体100の現在位置を、位置データ取得部3により取得された複数の位置データに基づいて算出された自律移動体100の移動量に基づいて推定する。また、制御部5は、推定された移動量などに基づいて、自律移動体100の現在位置を推定する。
さらに、制御部5は、推定された現在位置から制御部5の記憶部(後述)などに記憶された予め決められた目標位置(あるいは、複数ある目標位置のうちの1つ)まで自律移動体100を移動させるための制御信号を算出し、当該制御信号に基づいて、走行部2を駆動するための駆動信号を算出し、走行部2(のモータ23a、23b)に出力する。
なお、制御部5の詳細な構成、及び、制御部5における自律移動体100における移動量の算出方法や現在位置の推定方法などについては、後ほど説明する。
自律移動体100が上記の構成を有することにより、自律移動体100は移動領域における本体の存在位置を、位置データ取得部3により取得した複数の位置データを用いて推定できる。また、自律移動体100は、予め決められた所定の目標位置まで移動するための制御信号を、推定された自律移動体100の(現在)位置に基づいて、自律移動体100内部(制御部5)において算出できる。その結果、自律移動体100は、予め決められた走行経路を、自律的に移動できる。
図1に示すように、第1実施形態の自律移動体100は、取付部材9を介して本体部1に取り付けられた操作部7をさらに備えている。図1に示すように、操作部7は、回動可能な操作ハンドル71a、71bを有し、操作ハンドル71a、71bのそれぞれの操作量(回動量)を制御部5に出力可能となっている。これにより、制御部5は、操作ハンドル71a、71bの操作量に応じて、モータ23a、23bを制御する駆動信号を算出可能となる。
自律移動体100が上記の操作部7を備えることにより、操作者が自律移動体100を操作可能となる。具体的には、操作者が操作ハンドル71a、71bを回動するなどして車輪21a、21bの回動量や回転速度を調整することにより、操作者は自律移動体100を操作できる。
また、上記のように、制御部5は自律移動体100本体の移動領域における位置を推定可能となっている。そのため、例えば、操作者が操作部7を用いて自律移動体100を操作している時に所定の時間間隔にて自律移動体100の位置を推定し、推定された位置を記憶部51などに記憶することにより、自律移動体100(制御部5)に、操作者による自律移動体100の操作を、上記の予め決められた走行経路として教示できる。
なお、自律移動体100に走行経路を教示する方法は、上記した、操作者が操作部7を用いて自律移動体100を操作する間に自律移動体100の位置を推定して記憶する方法に限られない。例えば、移動領域を表す移動座標上の(複数の)座標点を記憶したデータにおいて、座標点を示す値を直接操作(あるいは直接入力)することによっても、自律移動体100に走行経路を教示できる。または、自律移動体100の移動領域における位置(移動座標の座標値)を指定するその他の方法によって、自律移動体100に走行経路を教示できる。
また、第1実施形態の自律移動体100は、補助輪部8をさらに備える。補助輪部8は、2つの補助車輪8a、8bを有する。2つの補助車輪8aと8bは、それぞれが独立に回転可能なように本体部1の後方底部に取り付けられている。補助輪部8を備えることにより、自律移動体100は安定に、かつ、スムーズに移動できる。
(2)制御部の構成
I.制御部の全体構成
次に、制御部5の全体構成について図2を用いて説明する。図2は、制御部の構成を示す図である。制御部5は、CPU(Central Processing Unit)と、ハードディスク装置と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、記憶媒体読み出し装置などにより構成される記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどにより実現できる。また、以下に示す制御部5の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、制御部5の各部の機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
また、制御部5は、複数のマイコンシステムにより構成されていてもよい。例えば、後述する移動量推定部53(移動量推定装置の一例)と、走行制御部57と、制御部5の残りの構成要素とを個別のマイコンシステムにより構成してもよい。
制御部5は、記憶部51と、移動量推定部53と、位置推定部55と、走行制御部57と、を有する。記憶部51は、制御部5を構成する記憶装置の記憶領域の少なくとも一部に対応する。記憶部51は、自律移動体100が移動領域を自律的に移動するために必要な移動経路に関する情報などを記憶する。移動経路に関する情報は、例えば、自律移動体100が自律移動中に通過すべき移動領域における位置に対応する移動座標における座標値を表すデータや、移動領域を表す地図情報(グローバルマップ、または、環境地図と呼ばれることもある)などである。その他、記憶部51は、自律移動体100の動作に必要な各種設定値などを記憶している。
移動量推定部53は、自律移動体100が移動した距離を推定する。そのため、移動量推定部53は移動量算出部531を有している。移動量算出部531は、位置データ取得部3が取得した複数の位置データに基づいて、自律移動体100が移動した距離を算出する。なお、移動量算出部531の構成の詳細及び移動量の算出方法については、後ほど詳しく説明する。
位置推定部55は、自律移動体100の移動領域における存在位置を推定する。本実施形態において、位置推定部55は、SLAM(Simultaneous Localization and Mapping)法などを用いて、現在位置に存在する自律移動体100の周囲の壁や障害物などの物体の位置を示す地図情報(ローカルマップ)と、予め記憶されていた移動領域(の全体、又は、自律移動体100が移動する領域を少なくとも含む一部)を示す地図情報(グローバルマップ、環境地図)とのマップマッチング結果に基づいて、自律移動体100の現在位置を推定する。
具体的には、位置推定部55は、まず、移動量推定部53にて推定された移動量に所定の誤差分を追加して算出した「仮の現在位置」を複数個生成する。上記の仮の現在位置は、例えば、移動前に推定されていた自律移動体100の位置に、上記の誤差分を追加した移動量を加えることにより算出できる。
次に、上記の仮の現在位置のそれぞれに対して、現在位置において位置データ取得部3を用いて取得した複数の位置データを用いて上記のローカルマップを生成する。その後、位置推定部55は、複数個生成したローカルマップのうち、上記の環境地図と最もよく一致したローカルマップを生成したときの仮の現在位置を、自律移動体100の実際の現在位置と推定する。このようにして、位置推定部55は、移動量推定部53にて推定される移動量に基づいて、自律移動体100の現在位置を推定できる。
また、位置推定部55は、操作者が操作部7を用いて自律移動体100を操作しているときには、所定の時間間隔(例えば、制御周期毎)にて上記の方法により自律移動体100の位置を推定して、推定した位置についての情報(座標値など)を記憶部51に記憶してもよい。これにより、位置推定部55は、操作者による自律移動体100の移動操作を記憶部51に記憶できる。その結果、自律移動体100は、記憶された操作者による移動操作を用いて自律的に移動することにより、操作者による移動操作を自律的に再現できる。
なお、位置推定部55は、現在位置において作成したローカルマップを用いて、上記の環境地図を更新して記憶部51に記憶してもよい。これにより、移動領域中において障害物などの位置が変更された場合でも、障害物などの位置が変更された後の新しい環境地図を作成し記憶できる。
走行制御部57は、自律移動体100が自律的に移動するときには、自律移動体100を、現在位置から、記憶部51に記憶された予め決められた移動経路に含まれる所定の目標位置まで走行するように、走行部2を制御する。
具体的には、走行制御部57は、まず、現在位置から上記の所定の目標位置までの距離や方向などに基づいて、現在位置から所定の目標位置まで、所定の速度及び/又は加速度にて自律移動体100を移動させる制御指令を生成する。次に、走行制御部57は、上記の制御指令に基づいて、モータ23a、23bを制御するための駆動信号を算出し、モータ23a、23bに出力する。
走行制御部57は、モータ23a、23bのそれぞれに対して個別に駆動信号を出力する。すなわち、モータ23a、23bはそれぞれが異なる回転速度にて回転できる。例えば、自律移動体100を直進させたい場合には、モータ23a、23bを同じ回転速度にて回転させる。一方、モータ23a、23bのそれぞれを異なる回転速度にて回転させると、自律移動体100は回転運動(例えば、右折、左折)できる。
図1に示した走行部2のように、2つの車輪21a、21bのそれぞれを個別にモータ23a、23bにより回転させて走行する走行部を、「差動二輪型」の走行部と呼ぶこともある。
また、走行制御部57は、操作部7から操作ハンドル71a、71bの回動量(操作量)を入力し、入力した回動量から上記の駆動信号を算出し、モータ23a、23bに出力可能となっていてもよい。これにより、自律移動体100は、操作ハンドル71a、71bを操作する操作者により操作可能となる。
走行制御部57としては、例えば、フィードバック制御理論を用いた制御装置などを用いることができる。フィードバック制御理論を用いた制御装置を走行制御部57として用いる場合、走行制御部57は、モータ23a、23bの出力回転軸に取り付けられたエンコーダなどからのパルス信号を入力し、モータ23a、23bの回転数を制御指令に示したとおりに制御できる。
制御部5が上記の構成を有することにより、自律移動体100は、記憶部51に記憶されている走行経路などの予め決められた走行経路を、自律的に移動できる。
(3)移動量算出部の構成
次に、第1実施形態の移動量算出部531の構成について、図3を用いて説明する。図3は、移動量算出部の構成を示す図である。移動量算出部531は、データ記憶部5311と、データ抽出部5312と、データ移動部5313と、距離算出部5314と、推定部5315と、を有している。
データ記憶部5311は、制御部5のマイコンシステムの記憶装置の記憶領域、又は、記憶部51の記憶領域の一部である。データ記憶部5311は、自律移動体100の移動前と移動後において位置データ取得部3から取得した(座標変換した)複数の位置データを記憶する。
データ抽出部5312は、複数の位置データから、当該位置データが定義された座標(本実施形態では、X−Y座標又はX−Y−Z座標)上の基準点と位置データとの間の距離に基づいて、複数の抽出データを抽出する。
本実施形態において、データ抽出部5312は、座標の基準点から所定の距離以上離れた領域に存在する位置データを、抽出データとして抽出する。本実施形態では、当該位置データが定義された座標上の原点を基準点として用いる場合について説明するが、それに限らず、例えば、当該座標上における前方データ取得部31が存在する点など、座標上の任意の点を適宜基準点として用いても良い。なお、自律移動体100を原点とする座標の場合は、座標の基準点をその原点とすることができる。
所定の距離以上離れた領域としては、例えば、座標の基準点を中心とした所定の半径を有する円外の領域とできる。または、座標の基準点を中心(対角線の交点)とした、一辺が上記の所定の距離の2倍である正方形の外側の領域を、所定の距離以上離れた領域としてもよい。その他、任意の形状にて定められる領域の外側の領域を、上記の所定の距離以上離れた領域とできる。
データ移動部5313は、位置データを自律移動体100を原点とした座標上にて平行移動及び/又は回転移動して移動データを算出する。
位置データの平行移動による移動データは、例えば、位置データの座標値に平行移動量を加算又は減算することにより算出できる。また、位置データの回転移動による移動データは、例えば、位置データを定義した座標の基準点を中心として位置データ(の座標点)を回転したときの座標値を算出する公知の式を用いて算出できる。
距離算出部5314は、2種類の複数の位置データにより座標上に形成される2つの投影物体像の距離を算出する。投影物体像は、位置データを定義した座標上に複数の位置データをプロットしたときに当該座標上に形成される、自律移動体100の周囲に存在する物体(の一部)を表す像である。
本実施形態において、距離算出部5314は、2種類の複数の位置データのうちの一方(一方の位置データと呼ぶことにする)に含まれる1つの位置データ(1つの一方の位置データ)と、2種類の複数の位置データのうちの他方の複数の位置データ(他方の位置データと呼ぶことにする)に含まれ上記の1つの一方の位置データに対応する1つの位置データ(1つの他方の位置データ)とその近傍の他方の位置データにより定義される平面とのデータ間距離を所定の数だけ合計したときの合計距離を、2つの投影物体像の距離と定義する。
上記のデータ間距離を算出する際、距離算出部5314は、上記の1つの一方の位置データと当該1つの一方の位置データに対応する1つの他方の位置データとの間の距離を1つのデータ間距離として算出してもよい。または、1つの一方の位置データと複数の他方の位置データに含まれ当該1つの一方の位置データの比較的近傍に存在する複数の位置データのそれぞれとの距離を複数のデータ間距離として算出してもよい。
1つの一方の位置データに対して複数のデータ間距離を算出する場合、距離算出部5314は、算出された複数のデータ間距離のうち所定の距離以上のものを使用しないようにしてもよい。所定の距離以上のデータ間距離を使用しないときには、1つの一方の位置データに対してデータ間距離が全く算出されない場合、1つの一方の位置データに対して複数のデータ間距離が算出される場合、1つの一方の位置データに対して1つのデータ間距離が算出される場合がある。
上記のデータ間距離としては、座標点間の距離を表す様々な距離を用いることができる。例えば、ユークリッド距離やマンハッタン距離(2つの座標点の各座標値の差を合計した距離)などを、位置データ間の距離として用いることができる。
または、距離算出部5314は、1つの一方の位置データと他方の複数の位置データにより形成される投影物体像との間の距離を、上記のデータ間距離としてもよい。1つの一方の位置データと他方の複数の位置データにより形成される投影物体像との間の距離は、例えば、1つの一方の位置データと、1つの一方の位置データから当該投影物体像に伸ばした垂線と当該投影物体像との交点との間の距離として算出できる。
推定部5315は、距離算出部5314において算出した2つの投影物体像の間の距離と所定の閾値との比較を行う。本実施形態において、推定部5315は、2つの投影物体像の間の距離と所定の閾値との比較として、2つの投影物体像の間の距離が所定の閾値以下であるかどうかを判断する。
2つの投影物体像の間の距離が所定の閾値以下であることは、当該2つの投影物体像が十分に近い位置にあることを示している。当該2つの投影物体像が十分に近い位置にあることは、2つの投影物体像を形成している2種類の複数の位置データが十分に近い位置ある(すなわち、2種類の位置データがほぼ一致している)ことに対応する。従って、2つの投影物体像の間の距離が所定の閾値以下であるかどうかを判断することにより、推定部5315は、2種類の複数の位置データが一致しているかどうかを判断できる。
2種類の複数の位置データが一致していると判断された場合、推定部5315は、2種類の位置データのうちの一方の複数の位置データが、最初の複数の位置データからどのように平行移動及び/又は回転移動されることにより算出されたかに基づいて、自律移動体100の移動量を推定する。
例えば、2種類の位置データのうちの一方を自律移動体100の移動後に取得した第2位置データとし、2種類の位置データのうちの他方を自律移動体100の移動前に取得した第1位置データとし、上記の第2位置データを移動させて移動データを生成するものとする。この場合、推定部5315は、上記の移動データと第1位置データとが一致したと判断すると、上記の移動データを得るために第2位置データをどれだけ平行移動及び/又は回転移動したかに基づいて、自律移動体100の移動量を算出する。
なお、推定部5315における自律移動体100の移動量の具体的な推定方法については、後ほど詳しく説明する。
移動量算出部531が上記の構成を有することにより、自律移動体100の移動前後の移動量を、移動前及び移動後において取得した複数の位置データを用いて、高速に算出できる。
(4)自律移動体の動作
I.移動量の推定方法
次に、自律移動体100の動作について説明する。まず、移動量算出部531における移動量の推定方法について、図4〜図5Bを用いて説明する。図4は、移動量の推定方法を示すフローチャートである。図5Aは、固定投影物体像と移動投影物体像の一例を示す図である。図5Bは、移動量の推定方法を模式的に示す図である。
今、自律移動体100の移動前後において、図5Aに示すような2つの投影物体像(固定投影物体像と移動投影物体像)が得られるような2種類の複数の位置データ(固定位置データと移動位置データ)が位置データ取得部3により得られているとする。
また、図5Aに示すように固定投影物体像は原点Oを有するX−Y座標(固定座標と呼ぶことにする)上に形成され、移動投影物体像は原点O’を有するX’−Y’座標(移動座標と呼ぶことにする)に形成されているものとする。
上記の固定座標を第1座標、第1座標の原点Oを第1原点Oと呼ぶ。また、上記の移動座標を第2座標、第2座標の原点O’を第2原点O’と呼ぶ。
上記の固定位置データと移動位置データが取得された後、移動量算出部531において移動量の推定が開始されると、まず、距離算出部5314が固定投影物体像と移動投影物体像の間の距離を上記にて説明した方法により算出する(ステップS1001)。
上記の2つの投影物体像の間の距離を算出する際、模式的には図5Bに示すように、2つの投影物体像を第1座標上に投影してもよいし、第2座標上に投影してもよい。すなわち、第1座標又は第2座標のいずれか1つの座標上に2つの投影物体像を投影した状態にて、2つの投影物体像の距離は算出される。
固定投影物体像と移動投影物体像との間の距離を算出後、推定部5315は、算出した固定投影物体像と移動投影物体像との間の距離が所定の閾値以下であるかどうかを判断する(ステップS1002)。
固定位置データと移動位置データが全体として最も近い位置にあると判断する判断基準である上記の「所定の閾値」は、推定部5315(移動量算出部531)における計算量や、固定位置データと移動位置データとが全体としてどの程度まで近ければこれら2種類の位置データが最も近くなっていると判断するかの判断基準などを考慮して、任意に決定できる。
2つの投影物体像の距離が所定の閾値以下でないと判断された場合(ステップS1002において「No」の場合)、固定投影物体像(固定位置データ)と移動投影物体像(移動位置データ)とが一致していないと判断される。このとき、推定部5315は、データ移動部5313に対して、複数の移動位置データを平行移動及び/又は回転移動するように指令する(ステップS1003)。
移動位置データの移動指令を受信したデータ移動部5313は、例えば、前回の固定投影物体像と移動投影物体像との間の距離の算出結果と、今回の固定投影物体像と移動投影物体像との間の距離の算出結果との比較に基づいて、移動位置データの移動方向及び移動距離を決定し、当該決定した移動方向及び移動距離だけ移動位置データを移動する。
複数の移動位置データを移動後、移動量の推定プロセスは、移動後の移動位置データを新たな移動位置データとしてステップS1001に戻り、上記の2つの投影物体像の間の距離が所定の閾値以下になるまで、すなわち、固定位置データと(移動後の)移動位置データとが一致していると判断されるまで、上記のステップS1001〜S1003を繰り返し実行する。
一方、2つの投影物体像の間の距離が所定の閾値以下であると判断された場合(ステップS1002において「Yes」の場合)、推定部5315は、固定投影物体像と(移動後の)移動投影物体像とが一致していると判断する。固定投影物体像と移動投影物体像が一致したと判断すると、推定部5315は、現在の移動位置データが算出されるまでの、最初の(平行移動及び/又は回転移動前の)移動位置データからの平行移動の移動量及び/又は回転移動の移動量を、自律移動体100の移動量(移動距離及び姿勢角変化)と推定する(ステップS1004)。
図5Bに示すように、移動位置データに対して平行移動の演算を施すと、平行移動前には第1原点Oと一致していた第2原点O’が、2つの投影物体像を投影した座標(図5Bにおいては第1座標)上にて平行移動の移動量だけ移動するような効果が得られる。
上記のように、位置データ取得部3は自律移動体100を原点とした座標上の座標値として位置データを取得しているので、固定投影物体像と移動後の移動投影物体像とが一致したときの第1原点Oと移動後の第2原点O’との間の距離が、自律移動体100の移動距離(平行移動量)に対応することがわかる。
一方、移動位置データに対して第2原点O’を中心とした回転移動(図5Bに示す例では時計回りにφだけ回転移動)の演算を施すと、図5Bに示すように、回転移動前には第1座標のX軸及びY軸と一致していた第2座標のX’軸及びY’軸が、回転移動後にはそれぞれ、X軸及びY軸に対して回転移動分だけ傾く。
また、第1座標のY軸及び第2座標のY’軸は自律移動体100の進行方向に対応し、第1座標のX軸及び第1座標のX’軸は自律移動体100の幅方向に対応している。よって、固定投影物体像と移動後の移動投影物体像とが一致したときの第1座標の軸と移動後の第2座標の軸とがなす角度(図5Bに示す例においてはφ)が、自律移動体100の姿勢角変化に対応することが分かる。
上記のように、移動位置データを固定位置データに一致させるように移動した時の、最初の移動位置データから現在の移動位置データまでの移動量を用いて移動体の移動量を推定する方法を、一般的にはICP(Iterative Closest Point)法と呼んでいる。
ICP法においては、固定投影物体像と移動投影物体像とが近い位置にあるかどうかにより、2種類の複数の位置データが一致しているかどうかを判断している。つまり、ICP法においては、位置データのそれぞれが比較対象の位置データのそれぞれに完全一致するかどうかを判断しているのではなく、2種類の複数の位置データが近い位置にあれば当該2種類の複数の位置データが「全体として」一致していると判断している。
これにより、位置データ取得部3にて取得した位置データに測定誤差(ノイズなど)などが含まれていても、ノイズに起因する移動量の推定誤差の発生を抑制できる。
II.第1実施形態における移動量の推定方法
次に、第1実施形態における自律移動体100の移動量の推定方法を、図6を用いて説明する。図6は、第1実施形態における移動量の推定方法を示すフローチャートである。
第1実施形態における移動量の推定方法においては、自律移動体100の移動前及び移動後に取得した複数の位置データから、所定の条件に従って位置データを抽出して、抽出した位置データ(抽出データと呼ぶことにする)を用いて自律移動体100の移動量を推定する。
以下の説明においては、自律移動体100が図7に示す移動領域Sの位置P1から位置P2に移動した時の移動量を推定する例について説明する。図7は、移動領域の一例を示す図である。図7においては、色の付いた領域が移動領域S中に存在する壁又は障害物を示している。
移動領域Sの位置P1においては、図8Aに示すような投影物体像を形成する複数の位置データが取得されるとする。図8Aは、移動領域の位置P1における投影物体像の一例を示す図である。位置P1において取得した位置データを第1位置データとする。
一方、移動領域Sの位置P2においては、図8Bに示すような投影物体像を形成する複数の位置データが取得されるとする。図8Bは、移動領域の位置P2における投影物体像の一例を示す図である。位置P2において取得した位置データを第2位置データとする。
また、本実施形態においては、位置P1において取得した第1位置データを上記の第1座標上に定義した位置データとし、位置P2において取得した第2位置データを上記の第2座標上に定義した位置データとする。
なお、上記とは逆に、位置P1において取得した第1位置データを第2座標上に定義した位置データとし、位置P2において取得した第2位置データを第1座標上に定義した位置データとしてもよい。
移動量の推定を開始すると、まず、データ抽出部5312が、位置データを定義した座標の基準点と位置データとの間の距離に基づいて、複数の位置データから複数の抽出データを抽出する(ステップS2001)。
本実施形態においては、データ抽出部5312は、複数の第1位置データから、第1基準点O(本実施形態では、第1原点O)を中心とした半径r1(図9A)の円により定義される領域A1(図9A)の外側にある第1位置データを、複数の第1抽出データとして抽出する。このとき、複数の第1抽出データは、図9Aの実線にて示すような投影物体像(第1投影物体像)を形成する。図9Aは、複数の第1位置データから第1抽出データを抽出する方法を模式的に示す図である。
また、データ抽出部5312は、複数の第2位置データから、第2基準点O’(本実施形態では、第2原点O’)を中心とした半径r2(図9B)の円により定義される領域A2(図9B)の外側にある第2位置データを、複数の第2抽出データとして抽出する。このとき、複数の第2抽出データは、図9Bの実線にて示すような投影物体像(第2投影物体像)を形成する。図9Bは、複数の第2位置データから第2抽出データを抽出する方法を模式的に示す図である。
なお、領域A1を定義する円の半径r1と領域A2を定義する円の半径r2は同じ値であってもよいし、異なる値であってもよい。
複数の第1抽出データと複数の第2抽出データを抽出後、推定部5315が、抽出した抽出データ用いて、第1抽出データを固定位置データとし第2抽出データを移動位置データとして上記のステップS1001〜S1004を実行して、自律移動体100の移動量を推定する(ステップS2002)。
なお、第1位置データを第2座標上に定義し、第2位置データを第1座標上に定義したときには、第1抽出データを移動位置データとし、第2抽出データを固定位置データとする。
上記のように、第1抽出データ及び第2抽出データを用いて移動量を推定することにより、全ての第1位置データ及び全ての第2位置データを用いる場合と比較して、より高速に移動量を推定できる。
また、図9A及び図9Bに示すように、第1基準点O、第2基準点O’を中心とした所定の半径を有する円の外側の位置データを抽出データとして抽出することは、自律移動体100の位置から所定の距離以上離れた位置における位置データを抽出することに対応する。
投影物体像においては、自律移動体100の位置から離れた位置データにより形成される投影物体像ほど、自律移動体100の小さな移動(特に小さな回転)に対してより大きく変動する。従って、原点から所定の距離以上離れた位置データを抽出データとして用いて自律移動体100の移動量を推定することにより、小さな移動量であっても精度よく移動量を推定できる。
III.自律移動体の動作
次に、本実施形態の自律移動体100の具体的な動作について、図10を用いて説明する。図10は、自律移動体の動作を示すフローチャートである。以下においては、自律移動体100が記憶部51などに記憶された予め決められた複数の目標点を通過しながら、最終的な目標点まで自律的に移動するときの動作について説明する。
まず、自律移動体100が自律的な移動を開始すると、まず、自律移動体100の移動前及び移動後のそれぞれにおいて、位置データ取得部3が複数の位置データを取得する(ステップS1)。そして、取得した複数の位置データ(第1位置データ、第2位置データ)がデータ記憶部5311に記憶される。
複数の第1位置データと複数の第2位置データを取得後、上記のステップS2001〜S2002を実行して、自律移動体100の移動量を推定する(ステップS2)。
自律移動体100の移動量を推定後、位置推定部55は、移動量推定部53から上記のステップS2において推定された移動量を入力し、入力した移動量に基づいて、上記に説明したマップマッチングによる自律移動体100の位置の推定方法を用いて、自律移動体100の現在位置を推定する(ステップS3)。
自律移動体100の現在位置を推定後、走行制御部57は、自律移動体100が現在位置から次の目標位置まで移動するための駆動信号を算出し、走行部2のモータ23a、23bに出力する(ステップS4)。
具体的には、走行制御部57は、まず、位置推定部55から上記のステップS3にて推定された自律移動体100の現在位置を入力する。また、走行制御部57は、入力した現在位置に基づいて、次の目標位置を記憶部51などから読み出す。その後、走行制御部57は、自律移動体100の現在位置から、読み出した次の目標位置まで自律移動体100を移動させるための制御指令を算出する。
走行制御部57にて算出される制御指令は、例えば、現在位置から次の目標位置まで移動する間の時間と自律移動体100の速度(車輪21a、21bの回転速度、すなわち、モータ23a、23bの回転速度)との関係を表したデータとして算出される。
制御指令を算出後、走行制御部57は、算出した制御指令に基づいて、モータ23a、23bを駆動(制御)する駆動信号を算出し、算出した駆動信号を走行部2のモータ23a、23bに出力する。
駆動信号を走行部2に出力後、制御部5は、例えば、記憶部51に記憶されている全ての目標位置を自律移動体100が通過したかどうかを判断して、自律移動を終了するかどうかを判断する(ステップS5)。
例えば、自律移動体100が全ての目標位置を通過していないと判断して、自律移動を継続すると判断した場合(ステップS5において「No」の場合)、自律移動のプロセスはステップS1に戻り、自律移動を継続する。
上記のように、複数の抽出データを用いて自律移動体100の移動量を推定すると、全ての位置データを用いて移動量を推定する場合と比較してより高速に移動量を推定できる。
高速に移動量を推定可能となることにより、自律移動体100において制御遅れの発生が抑制できる。その結果、自律移動体100は、意図した走行経路を精度よく移動できる。
2.第2実施形態
上記の第1実施形態においては、移動量推定部53は、複数の第1位置データから複数の第1抽出データを抽出し、複数の第2位置データから複数の第2抽出データを抽出し、これらの複数の抽出データのみを用いて自律移動体100の移動量を推定していた。
しかし、これに限られず、第2実施形態においては、複数の抽出データを用いて自律移動体100の移動量を推定した後、さらに全ての第1位置データと全ての第2位置データとを用いて自律移動体100の移動量を推定する。
第2実施形態において、自律移動体100の構成は第1実施形態と同様である。従って、自律移動体100の構成についての説明は省略する。第2実施形態においては、上記のように、抽出データを用いて移動量を推定した後に、さらに全ての位置データを用いて移動量を推定する点が第1実施形態と異なる。
従って、第2実施形態の移動量算出部531における移動量の推定方法について、図11を用いて説明する。図11は、第2実施形態における移動量の推定方法を示すフローチャートである。
第2実施形態において移動量の推定を開始すると、まず、複数の第1位置データから複数の第1抽出データを抽出し、複数の第2位置データから複数の第2抽出データを抽出し、これらの複数の抽出データを用いて、第1実施形態において説明したステップS2001〜S2002を実行して、自律移動体100の移動量を推定する(ステップS3001)。
ステップS3001において推定された自律移動体100の移動量を第1移動量とする。
第1移動量を自律移動体100の移動量として推定後、推定部5315は、データ移動部5313に対して、(移動位置データとして選択した)複数の第2位置データを第1移動量に対応する移動量だけ第1座標(又は第2座標)上にて移動するように指令する(ステップS3002)。
第2位置データを第1移動量に対応する移動量だけ移動して算出された位置データを、第2移動データと呼ぶ。
複数の第2移動データを算出後、複数の第1位置データと複数の第2移動データとを用いて、自律移動体100の移動量をさらに推定する(ステップS3003)。具体的には、複数の第1位置データを上記の複数の固定位置データとし、複数の第2移動データを上記の複数の移動位置データとして、上記のステップS1001〜S1004を実行して、移動量を推定する。ステップS3003にて算出された移動量を、第1精密移動量と呼ぶことにする。
なお、ステップS3003を実行中に、第2移動データを平行移動及び/又は平行移動して算出される位置データを第3移動データと呼ぶ。従って、ステップS3003においては、複数の第3移動データにより形成される第4投影物体像が複数の第1位置データにより形成される第3投影物体像と一致するかどうかを第3投影物体像と第4投影物体像との距離である第2距離と第2の閾値との比較に基づいて判断し、第3投影物体像と第4投影物体像とが一致すると判断されたときに、複数の第3移動データと複数の第1位置データとが一致したと判断する。その後、第1位置データと一致する第3移動データを算出するために第2移動データを移動した移動量に基づいて、第1精密移動量を算出する。
なお、上記のステップS3003における第3投影物体像と第4投影物体像とが一致するかどうかの判断基準である第2の閾値の値は、抽出データを用いて移動量を推定する際の第1投影物体像と第2投影物体像とが一致するかどうかの判断基準である閾値(第1の閾値)の値と同一であってもよいし異なっていてもよい。
第1精密移動量を算出後、推定部5315は、上記の第1移動量と第1精密移動量とを積算して、最終的に算出された複数の第3移動データの、複数の第2位置データからの平行移動の移動量及び/又は回転移動の移動量を算出する(ステップS3004)。
推定部5315は、上記の第1移動量と第1精密移動量とを積算した移動量を、自律移動体100が移動領域Sの位置P1と位置P2との間を移動したときの最終的な移動量と推定する。その後、移動量の推定プロセスを終了する。
抽出データを用いた移動量の推定は用いるデータ量が少ないため高速である一方、2つの投影物体像の共通部分が少ないため、取得した全ての位置データを用いた場合よりも移動量の推定精度は低くなる。
また、ICP法においては、2つの投影物体像が近い位置にあるほど、2つの投影物体像が一致したと判断されるまでの時間が短くなる傾向にある。
従って、上記のように抽出データを用いて第1移動量を推定した後、第2位置データを第1移動量だけ移動して第2移動データを算出し、さらに全ての第1位置データと全ての第2移動データとを用いて第1精密移動量を推定することにより、最初から複数の第1位置データと複数の第2位置データの全てを用いて移動量を推定するよりも高速に、かつ、全ての位置データを用いて移動量を推定したときと同等の精度にて移動量を推定できる。
実際、同一の複数の位置データを用いて、同一の移動量推定部53(移動量推定装置)において自律移動体100の移動量を推定すると、全ての取得した位置データを用いて上記のステップS1001〜S1004のみを用いて移動量を算出した場合と比較して、上記のステップS3001〜S3004を用いて移動量を推定すると、ほぼ同程度の精度にて移動量が推定できた一方で、移動量の推定にかかった時間は半分弱であった。すなわち、全ての位置データを用いた従来のICP法の推定精度を保ちつつ、推定速度を2倍強向上できた。
3.第3実施形態
上記の第1実施形態においては、移動量推定部53は、複数の第1位置データから第1抽出データを抽出し、複数の第2位置データから複数の第2抽出データを抽出し、これらの抽出データを用いて自律移動体100の移動量を推定していた。
また、上記の第2実施形態においては、移動量推定部53は、抽出データを用いて自律移動体100の移動量(第1移動量)を算出後、さらに、全ての第1位置データと第2位置データ(第2移動データ)を用いて精密な自律移動体100の移動量の推定していた。
しかし、自律移動体100の移動量の推定方法は、これらに限られない。第3実施形態においては、抽出データを抽出するための基準となる「所定の距離」を複数設定し、複数の「所定の距離」から1つずつ「所定の距離」を選択して位置データを抽出して移動量を推定し、所定の選択数だけ「所定の距離」を選択して所定の回数だけ移動量を推定するか、又は、2種類の抽出データのそれぞれにより形成される2つの投影物体像が十分に近いと判断されるまで、多段的に自律移動体100の移動量を推定する。
第3実施形態においても、自律移動体100の構成は第1実施形態と同様である。従って、自律移動体100の構成についての説明は省略する。
第3実施形態においては、移動量算出部531における移動量の推定方法が、抽出データを異なる条件に従って複数回抽出して移動量の推定を行う点において、第1実施形態における移動量の推定方法と異なっている。従って、第3実施形態の移動量算出部531における移動量の推定方法について、図12を用いて説明する。図12は、第3実施形態における移動量の推定方法を示すフローチャートである。
第3実施形態において移動量の推定を開始すると、まず、データ抽出部5312が、予め設定された複数の所定の距離から、1つの距離を選択する(ステップS4001)。選択された1つの距離を選択距離と呼ぶことにする。
選択距離を選択後、データ抽出部5312は、複数の第1位置データから、第1基準点Oと第1位置データとの間の距離と選択距離との比較に基づいて、複数の抽出データを抽出する。また、第2基準点O’と第2位置データとの間の距離と選択距離との比較に基づいて、複数の抽出データを抽出する。(ステップS4002)。
なお、第1位置データから抽出データを抽出する際の選択距離と、第2位置データから抽出データを抽出する際の選択距離とは同一であってもよいし異なっていてもよい。
本実施形態においては、第1実施形態において説明したのと同様、データ抽出部5312は、第1基準点O、第2基準点O’を中心とした半径が選択距離である円により定義される領域の外に存在する第1位置データ及び第2位置データを抽出する。
その他、選択距離(ユークリッド距離やマンハッタン距離など、任意の距離を用いることができる)を定義する他の領域を、位置データを抽出する領域としてもよい。
位置データを抽出後、第1実施形態において説明したステップS1001〜S1004を実行して、自律移動体100の移動量を推定する(ステップS4003)。
ステップS4003にて自律移動体100の移動量を推定後、推定部5315は、上記の予め設定された複数の距離から、所定の数の距離が選択距離として選択されたかどうかを判断する(ステップS4004)。例えば、選択距離の選択数をカウントするカウンタが所定の数になっているかどうかにより、所定の数の距離が選択距離として選択されたかどうか判断できる。
選択距離として選択された距離の数が所定の数より小さいと判断された場合(ステップS4004において「No」の場合)、推定部5315は、さらに、ステップS4003において算出されている第1投影物体像と第2投影物体像との距離(第1距離)が第3の閾値以下であるかどうかを判断する(ステップS4005)。
なお、上記の第3の閾値は、第1実施形態などにおける第1の閾値及び/又は第2実施形態における第2の閾値と同一であってもよいし異なっていてもよい。
第1距離が第3の閾値以下でないと判断された場合(ステップS4005において「No」の場合)、推定部5315は、データ移動部5313に対して、複数の第2位置データをステップS4003において推定された移動量に対応する移動量だけ第2座標(又は第1座標)上にて移動し、新たな複数の第2位置データとする(ステップS4006)。その後、移動量を推定するプロセスはステップS4001に戻り、所定の数の距離が選択距離として選択されたか、又は、第1距離が第3の閾値以下になるまで、上記のステップS4001〜S4006を繰り返し実行する。
一方、所定の数の距離が選択距離として選択された場合(ステップS4004において「Yes」の場合)(すなわち、抽出データを用いた移動量の推定を所定の数だけ繰り返した場合)、又は、所定の数の距離が選択される前に第1距離が第3の閾値以下となった場合(ステップS4005において「Yes」の場合)、推定部5315は、所定の数だけ上記のステップS4001〜S4006を繰り返し実行して算出された所定の数の自律移動体100の移動量を積算して、現在の第1移動データが算出されるまでに最初の第2抽出データが移動した移動量を、最終的な自律移動体100の移動量として算出する(ステップS4007)。
上記のように、自律移動体100の移動量の推定を所定の回数だけ繰り返し実行するか、又は、所定の回数だけ移動量の推定を繰り返す前に第1距離が第3の閾値以下となるまで移動量を推定することにより、複数の抽出データを用いて1回だけ移動量を推定する場合よりも、より精度よく移動量を推定できる。
なお、ステップS4001において選択距離を選択する際に、移動量の推定の初期段階(繰り返し回数が少ない段階)において複数の距離の中でも比較的大きい距離を選択距離として選択し、移動量の推定回数が増加するに従ってより小さな距離を選択距離として選択することが好ましい。
これにより、初期段階の移動量の推定においては自律移動体100の小さな移動量に対して大きく変動する投影物体像を形成する少ない位置データを用いてより高速にかつ精度よく移動量を推定し、最終段階の移動量の推定においては2つの投影物体像の共通部分を増加(より多くの位置データを使用)し、2つの投影物体像の距離をある程度まで近づけてより精密にかつ高速に移動量を推定できる。その結果、自律移動体100の移動量を高速にかつ精度よく推定できる。
また、ステップS4003において2つの投影物体像が一致したかどうかを判断する基準である閾値を、移動量の推定回数により変動させてもよい。そして、移動量の推定の最終段階において当該閾値を上記の第3の閾値と設定してもよい。例えば、移動量の推定回数が少ない段階では所定の閾値を大きくし2つの投影物体像が一致するかどうかの基準をゆるくし、推定回数が多くなるに従い所定の閾値を徐々に増大させて2つの投影物体像が一致するかどうかの基準を厳しくしてもよい。
4.第4実施形態
上記の第1〜第3実施形態においては、位置データ取得部3から取得した複数の位置データのみを用いて自律移動体100の移動量を推定していた。
しかし、これに限られず、第4実施形態においては、走行部2の車輪21a、21bの回転による自律移動体100の移動量である車輪移動量(後述)も利用して、自律移動体100の移動量を推定する。
第4実施形態においては、移動量算出部531’が車輪移動量算出部5316を有することと、移動量の推定において最初に車輪移動量に対応する移動量だけ移動位置データとして選択された位置データ(複数の第2位置データ)を移動した後に位置データに基づく移動量の推定を行うこと以外は、第1実施形態の自律移動体100と同じである。
従って、以下、第4実施形態の移動量算出部531’の構成と、自律移動体100の移動量の推定方法についてのみ説明し、他の構成等の説明は省略する。
まず、第4実施形態の移動量算出部531’の構成について、図13を用いて説明する。図13は、第4実施形態の移動量算出部の構成を示す図である。第4実施形態の移動量算出部531’は、上記のデータ記憶部5311と、データ抽出部5312と、データ移動部5313と、距離算出部5314と、推定部5315と、さらに、車輪移動量算出部5316と、を有する。上記のデータ記憶部5311と、データ抽出部5312と、データ移動部5313と、距離算出部5314と、推定部5315は、第1実施形態と同じ構成及び機能を有しているため、ここでは説明を省略する。
車輪移動量算出部5316は、車輪移動量を算出する。車輪移動量は、例えば、自律移動体100が移動領域Sの位置P1から位置P2まで移動する間の車輪21a、21bの回転による自律移動体100の移動量である。車輪移動量算出部5316は、図13に示すように、モータ23a、23bに備わるエンコーダからのパルス信号のパルス数に基づいて、車輪21a、21bの回転数を算出できる。例えば、位置P1と位置P2との間を自律移動体100が移動する間に測定されたパルス数と、車輪21a、21bが一回転するときのパルス信号のパルス数との比により、車輪21a、21bの回転数を算出できる。
回転数を算出後、車輪移動量算出部5316は、車輪21a、21bの車輪半径を2π倍した車輪周囲長さと、算出された車輪21a、21bの回転数との積を車輪移動量として算出する。
次に、第4実施形態における移動量の推定方法を、図14を用いて説明する。図14は、第4実施形態における移動量の推定方法を示すフローチャートである。
第4実施形態において移動量の推定を開始すると、まず、車輪移動量算出部5316が、上記にて説明したようにして、車輪移動量を算出する(ステップS5001)。
車輪移動量を算出後、データ移動部5313が、複数の第2位置データ(移動位置データとして選択された位置データ)を、車輪移動量算出部5316から入力した車輪移動量に対応した移動量だけ平行移動及び/又は回転移動して、複数の第4移動データを算出する(ステップS5002)。
複数の第4移動データを算出後、複数の第4移動データを新たな複数の第2位置データとして(第4移動データを移動位置データとして)、自律移動体100の移動量を推定する(ステップS5003)。例えば、第1実施形態において説明したステップS2001〜2002を実行するか、第2実施形態において説明したステップS3001〜S3004を実行するか、又は、第3実施形態において説明したステップS4001〜S4007を実行して、自律移動体100の移動量を推定する。
第1位置データと第4移動データとを用いて移動量を推定後、推定部5315は、ステップS5001において算出した車輪移動量とステップS5003において推定した移動量とを積算して、最終的な自律移動体100の移動量を推定する(ステップS5004)。
上記のように、車輪21a、21bの回転による自律移動体100の移動量(車輪移動量)が算出可能であれば、移動位置データとして選択された位置データ(本実施形態では複数の第2位置データ)を当該車輪移動量に対応する移動量だけ移動し、固定位置データとして選択された位置データ(本実施形態においては複数の第1位置データ)と車輪移動量だけ移動後の移動位置データ(複数の第4移動データ)とを用いて移動量の推定することにより、推定部5315は、より高速に自律移動体100の移動量を推定できる。
なぜなら、位置データを用いた移動量の推定を行うことなく、移動位置データとして選択した位置データ(複数の第2位置データ)をある程度まで固定位置データとして選択した位置データ(複数の第1位置データ)に近づけることができるからである。また、第2実施形態において説明したように、2つの位置データを近づけて(すなわち、2つの投影物体像を近づけて)から移動量の推定を実行した方が、移動位置データの移動回数を減少できる傾向にあるからである。
5.他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。例えば、上記の第1実施形態〜第4実施形態をすべて組み合わせてもよい。これにより、上記の第1実施形態〜第4実施形態において説明した全ての効果を、自律移動体100が有することができる。
また、上記の第1〜第4実施形態において説明した自律移動体100の動作(移動量の推定方法も含む)を示すフローチャートに示された各ステップにおける動作を、本発明の範囲を超えない範囲にて変更してもよいし、各ステップの順番を入れ替えてもよい。
(A)走行部の他の実施形態
上記の第1〜第4実施形態における走行部2は、二輪差動型の走行部であった。しかし、これに限られず、オムニホイールなどの他の車輪を有する走行部を用いてもよい。また、走行部2は車輪21a、21bの回転により移動するものに限られず、車輪以外の他のアクチュエータの動きにより移動可能なものであってもよい。
(B)移動量推定部の他の実施形態
上記の第1〜第4実施形態においては、移動量推定部53は、位置データ取得部3にて取得した位置データを主に用いて、自律移動体100の移動量を推定していた。しかし、これに限られず、移動量推定部53は、車輪21a、21bの回転による車輪移動量のみに基づいて自律移動体100の移動量を推定可能となっていてもよい。
この場合、移動量推定部53は、上記の第4実施形態において説明したように、例えば、モータ23a、23bのエンコーダなどからのパルス信号に含まれるパルス数から、車輪移動量を推定(算出)できる。
これにより、例えば、周囲に壁や障害物などの物体がないために位置データ取得部3により位置データの取得が不可能な場合や、長い直線的な壁により形成された直線的な通路を通過中の場合など2つの投影物体像の間に変化があまりない場合であっても、自律移動体100の移動量を推定できる。
また、上記の車輪21a、21bの回転による車輪移動量を、複数の位置データを用いて推定した移動量を用いて補正してもよい。これにより、例えば、車輪21a、21bの使用により車輪21a、21bの径が変化した場合でも、車輪21a、21bの回転数から算出される車輪移動量に基づいて正確に自律移動体100の移動量を推定できる。
また、上記の第3実施形態においては、車輪21a、21bの回転数に基づいて推定(算出)した車輪移動量を用いていたが、これに限らず、ジャイロセンサや加速度センサなどの各種のセンサを用いて推定した移動量を車輪移動量の代わりに用いてもよい。
(C)第2移動量の算出方法の他の実施形態
上記の移動量推定部53においては、ICP法のみを用いて複数の位置データから移動量を推定していた。しかし、これに限られない。複数の位置データから移動量を推定する方法として、2種類の複数の位置データの座標値の出現頻度を表した2つのヒストグラムの相互相関関数に基づいて、移動量を推定する方法(相互相関法)がある。よって、上記の移動量推定部53において、ICP法と上記の相互相関法とを組み合わせて、複数の位置データを用いて移動量を推定してもよい。
例えば、まず、相互相関法により複数の位置データを用いて、自律移動体100の回転運動の移動量(姿勢角変化)を、第1移動量における回転移動量の近傍付近に限った総合相関の計算に基づいて算出し、その後、ICP法により平行移動(並進運動)の移動量を算出してもよい。これにより、回転運動の移動量を推定する場合に、回転中心がずれた状態にて回転運動の移動量が推定されることを低減できる。
(D)本体部の他の実施形態
上記の第1〜第4実施形態に係る自律移動体100の本体部1には、位置データ取得部3が正常に動作しているかどうかを確認するための部材は特に取り付けられていなかった。しかし、これに限られず、本体部1に、位置データ取得部3が正常に動作しているかどうかを確認するために、位置データ取得部3の位置データ検出可能領域に少なくとも一部が入るような、既知の形状の干渉部材を取り付けてもよい。
本体部1に、少なくとも一部が位置データ検出可能領域に入るような干渉部材を取り付けることにより、位置データ取得部3により位置データを取得中に当該干渉部材からの反射信号による投影物体像が形成される。
位置データ取得部3により取得した位置データにより形成される投影物体像に、干渉部材に対応する投影物体像が含まれるかどうかを判断することにより、位置データ取得部3が正常に動作しているかどうかを確認できる。
例えば、自律移動体100の周囲に壁や障害物などの物体が存在しない場合などに、干渉部材の一部の形状に対応する投影物体像が複数の位置データのいくつかにより形成されていれば、位置データ取得部3の異常により位置データが取得されないのではなく、自律移動体100が、物体が存在しない広い空間を移動中であると判断できる。
また、例えば、位置データ取得部3により取得された位置データに、干渉部材に対応する投影物体像を形成する位置データが含まれていない場合には、位置データ取得部3により位置データが取得できていないとか、位置データ取得部3の本体部1への取り付け状態に異常があるなどの位置データ取得部3の異常を検出できる。
さらに、例えば、位置データ取得部3により取得された位置データの一部により、干渉部材に対応する投影物体像以外の投影物体像が異常に近い位置に形成されている場合には、位置データ取得部3の検出部及び/又は検出信号の出力部の少なくとも一部に、ケーブルなどが掛かっているなどの異常を検出できる。
本発明は、本体の位置を推定しながら移動可能な移動体に広く適用できる。
100 自律移動体
1 本体部
2 走行部
21a、21b車輪
23a、23bモータ
3 位置データ取得部
31 前方データ取得部
33 後方データ取得部
5 制御部
51 記憶部
53 移動量推定部
531、531' 移動量算出部
5311 データ記憶部
5312 データ抽出部
5313 データ移動部
5314 距離算出部
5315 推定部
5316 車輪移動量算出部
55 位置推定部
57 走行制御部
7 操作部
71a、71b操作ハンドル
8 補助輪部
8a、8b 補助車輪
9 取付部材
O 第1原点(第1基準点)
O’ 第2原点(第2基準点)

Claims (8)

  1. 移動体の移動量を推定する移動量推定装置であって、
    前記移動体と前記移動体の周囲に存在する物体との相対的な位置関係を表す座標上における前記物体の存在位置を表した複数の位置データを取得する位置データ取得部と、
    前記移動体の移動前及び移動後のいずれか一方において取得した複数の第1位置データから、前記第1位置データと前記第1位置データが定義された第1座標の第1基準点との間の距離が第1の値以上である前記第1位置データを複数の第1抽出データとして抽出し、前記移動前及び前記移動後の他方において取得した複数の第2位置データから、前記第2位置データと前記第2位置データが定義された第2座標の第2基準点との間の距離が第2の値以上である前記第2位置データを複数の第2抽出データとして抽出するデータ抽出部と、
    前記複数の第2抽出データを前記第1座標又は前記第2座標上にて平行移動及び回転移動して複数の第1移動データを算出するデータ移動部と、
    前記複数の第1抽出データにより前記第1座標又は前記第2座標上に形成される第1投影物体像と前記複数の第1移動データにより形成される第2投影物体像との間の第1距離を算出する距離算出部と、
    前記第1距離と第1の閾値との比較に基づいて前記第1抽出データと前記第1移動データとが一致したかどうかを判断し、前記第1抽出データと前記第1移動データとが一致したと判断されたときの前記第1移動データの前記第2抽出データからの平行移動の移動量及び回転移動の移動量を、前記移動前と前記移動後との間に前記移動体が移動した移動量として推定する推定部と、
    を備える移動量推定装置。
  2. 前記第1基準点及び前記第2基準点は、前記移動体の存在位置である、請求項1に記載の移動量推定装置。
  3. 前記データ移動部は、前記第1抽出データ及び前記第2抽出データを用いて推定した前記移動体の移動量である第1移動量に対応する移動量だけ前記複数の第2位置データを前記第1座標又は前記第2座標上にて移動した複数の第2移動データを算出し、前記複数の第2移動データを前記第1座標又は前記第2座標上にて平行移動及び回転移動してさらに複数の第3移動データを算出し、
    前記距離算出部は、前記複数の第1位置データにより形成される第3投影物体像と前記複数の第3移動データにより形成される第4投影物体像との間の第2距離を算出し、
    前記推定部は、前記第2距離と第2の閾値との比較に基づいて前記第1位置データと前記第3移動データとが一致したかどうかを判断し、前記第1位置データと前記第3移動データとが一致したと判断されたときの第3移動データの前記第2位置データからの平行移動の移動量及び回転移動の移動量を、前記移動前と前記移動後との間に前記移動体が移動した移動量として推定する、
    請求項1又は2に記載の移動量推定装置。
  4. 前記移動体は車輪の回転により移動可能であり、
    前記移動前と前記移動後の間の前記車輪の回転による前記移動体の移動量である車輪移動量を算出する車輪移動量算出部をさらに備え、
    前記データ移動部は、前記複数の第2位置データを前記車輪移動量に対応する移動量だけ移動して複数の第4移動データを算出し、
    前記推定部は、前記複数の第4移動データを新たな前記複数の第2位置データとして、前記移動体の移動量を推定する、請求項1〜3のいずれかに記載の移動量推定装置。
  5. 請求項1〜4のいずれかに記載の移動量推定装置と、
    走行部と、
    前記移動量推定装置において推定される移動量に基づいて現在位置を推定する位置推定部と、
    前記現在位置から所定の目標位置まで走行するよう前記走行部を制御する制御部と、
    を備える自律移動体。
  6. 移動体の移動量を推定する移動量の推定方法であって、
    前記移動体の移動前及び移動後において、前記移動体と前記移動体の周囲に存在する物体との相対的な位置関係を表す座標上における前記物体の存在位置を表した複数の位置データを取得するステップと、
    前記移動前及び前記移動後のいずれか一方において取得した複数の位置データである複数の第1位置データから、前記第1位置データと前記第1位置データが定義された第1座標の第1基準点との間の距離が第1の値以上である前記第1位置データを複数の第1抽出データとして抽出し、前記移動前及び前記移動後の他方において取得した複数の位置データである複数の第2位置データから、前記第2位置データと前記第2位置データが定義された第2座標の第2基準点との間の距離が第2の値以上である前記第2位置データを複数の第2抽出データとして抽出するステップと、
    前記複数の第2抽出データを前記第1座標又は前記第2座標上にて平行移動及び回転移動して複数の第1移動データを算出するステップと、
    前記複数の第1抽出データにより形成される第1投影物体像と、前記複数の第1移動データにより形成される第2投影物体像との間の第1距離を算出するステップと、
    前記第1距離と第1の閾値との比較に基づいて前記第1抽出データと前記第1移動データとが一致したかどうかを判断するステップと、
    前記第1抽出データと前記第1移動データとが一致したと判断されたときの前記第1移動データの前記第2抽出データからの平行移動の移動量及び回転移動の移動量を、前記移動前と前記移動後との間に前記移動体が移動した移動量として推定するステップと、
    を含む移動量の推定方法。
  7. 前記第1抽出データ及び前記第2抽出データを用いて推定した前記移動体の移動量である第1移動量に対応する移動量だけ前記複数の第2位置データを前記第1座標又は前記第2座標上にて移動して複数の第2移動データを算出するステップと、
    前記複数の第2移動データを前記第1座標又は前記第2座標上にて平行移動及び回転移動してさらに複数の第3移動データを算出するステップと、
    前記複数の第1位置データにより形成される第3投影物体像と前記複数の第3移動データにより形成される第4投影物体像との間の第2距離を算出するステップと、
    前記第2距離と第2の閾値との比較に基づいて前記第1位置データと前記第3移動データとが一致したかどうかを判断するステップと、
    前記第1位置データと前記第3移動データとが一致したと判断されたときの第3移動データの前記第2位置データからの平行移動の移動量及び回転移動の移動量を、前記移動前と前記移動後との間に前記移動体が移動した移動量として推定するステップと、
    をさらに含む、請求項6に記載の移動量の推定方法。
  8. 前記第1抽出データ及び前記第2抽出データを抽出するステップは、
    予め設定された複数の距離から1つの選択距離を前記第1の値及び前記第2の値として選択するステップを含み、
    前記複数の距離から所定の数の距離が前記選択距離として選択されるまで、又は、前記第1距離が第3の閾値以下となるまで、前記第1抽出データ及び前記第2抽出データを抽出するステップと、前記第1移動データを算出するステップと、前記第1距離を算出するステップと、前記第1抽出データと前記第1移動データとが一致したかどうかを判断するステップと、を繰り返す、請求項6又は7に記載の移動量の推定方法。
JP2014212545A 2014-10-17 2014-10-17 移動量推定装置、自律移動体、及び移動量の推定方法 Active JP6500385B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014212545A JP6500385B2 (ja) 2014-10-17 2014-10-17 移動量推定装置、自律移動体、及び移動量の推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014212545A JP6500385B2 (ja) 2014-10-17 2014-10-17 移動量推定装置、自律移動体、及び移動量の推定方法

Publications (2)

Publication Number Publication Date
JP2016081327A JP2016081327A (ja) 2016-05-16
JP6500385B2 true JP6500385B2 (ja) 2019-04-17

Family

ID=55958771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014212545A Active JP6500385B2 (ja) 2014-10-17 2014-10-17 移動量推定装置、自律移動体、及び移動量の推定方法

Country Status (1)

Country Link
JP (1) JP6500385B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6751469B2 (ja) * 2017-03-28 2020-09-02 株式会社日立産機システム 地図作成システム
KR102472176B1 (ko) * 2020-02-20 2022-11-28 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 위치 추정 서버 및 이를 이용한 자율주행 로봇의 위치 추정 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250906A (ja) * 2007-03-30 2008-10-16 Sogo Keibi Hosho Co Ltd 移動ロボット、自己位置補正方法および自己位置補正プログラム
WO2012176249A1 (ja) * 2011-06-21 2012-12-27 国立大学法人奈良先端科学技術大学院大学 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、及び移動体

Also Published As

Publication number Publication date
JP2016081327A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
CN105813526B (zh) 机器人清扫装置以及用于地标识别的方法
US9239580B2 (en) Autonomous mobile robot, self position estimation method, environmental map generation method, environmental map generation apparatus, and data structure for environmental map
JP6481347B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP4738472B2 (ja) 障害物回避機能を有する移動制御装置
JP5310285B2 (ja) 自己位置推定装置及び自己位置推定方法
ZA200005640B (en) Method of tracking and sensing position of objects.
JP2011209845A (ja) 自律移動体、自己位置推定方法、地図情報作成システム
KR20180127709A (ko) 이동 로봇 및 이의 제어 방법
CN109416251B (zh) 基于色块标签的虚拟墙构建方法及装置、地图构建方法、可移动电子设备
JP2016091086A (ja) 移動体
JP6500385B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JPWO2020129120A1 (ja) 情報処理装置および移動ロボット
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
JP2016218024A (ja) 地図生成装置および地図生成方法
KR101735325B1 (ko) 점군 정합 장치
KR101417431B1 (ko) Lidar센서를 이용한 3차원 공간정보 생성시스템
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP5895682B2 (ja) 障害物検出装置及びそれを備えた移動体
JP6626248B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
KR100703882B1 (ko) 단일 카메라 기반 포즈인식이 가능한 이동로봇 및 그 방법
JP2021114222A (ja) ロボットシステムおよびその位置推定方法
JP2016085708A (ja) 移動体
KR101746792B1 (ko) 회전 모듈과 거리 센서간의 위치 변환 관계 추정 방법 및 장치
WO2020138115A1 (ja) 自律移動体
JP2023061692A (ja) 地図作成車両

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190304

R150 Certificate of patent or registration of utility model

Ref document number: 6500385

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