JP6711138B2 - 自己位置推定装置、及び、自己位置推定方法 - Google Patents

自己位置推定装置、及び、自己位置推定方法 Download PDF

Info

Publication number
JP6711138B2
JP6711138B2 JP2016104415A JP2016104415A JP6711138B2 JP 6711138 B2 JP6711138 B2 JP 6711138B2 JP 2016104415 A JP2016104415 A JP 2016104415A JP 2016104415 A JP2016104415 A JP 2016104415A JP 6711138 B2 JP6711138 B2 JP 6711138B2
Authority
JP
Japan
Prior art keywords
self
local map
environment
moving body
map
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
JP2016104415A
Other languages
English (en)
Other versions
JP2017211825A (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 JP2016104415A priority Critical patent/JP6711138B2/ja
Priority to US15/587,424 priority patent/US10444764B2/en
Publication of JP2017211825A publication Critical patent/JP2017211825A/ja
Application granted granted Critical
Publication of JP6711138B2 publication Critical patent/JP6711138B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、移動環境を移動する移動体の自己位置及び/又はその姿勢を推定する装置及びその方法に関する。
従来、車両や自律走行ロボットなどの移動体が移動している環境(移動環境)における、当該移動体の位置である自己位置、及び、当該自己位置における姿勢を推定する装置が知られている。例えば、特許文献1には、作業環境に存在する障害物との間の距離に基づくデータと、カメラにより得られた作業環境の画像(写真)データとに基づいて、自己位置を推定する移動装置が開示されている。
この装置では、距離に基づくデータを用いて推定された自己位置の信頼度に基づいて画像データの検出範囲を拡げ、検出範囲を拡げて取得された画像データにランドマークが含まれるときに、当該画像データに基づく自己位置推定を実行している。
特開2015−141580号公報
上記の装置のように画像データの検出範囲を無条件に拡げることは、移動装置の位置によっては不都合な場合がある。例えば、検出範囲を拡げて取得した画像データ中に、類似形状を有する複数のランドマークが存在する場合、本来のランドマークではなく、形状が類似した他のランドマークを用いて誤った自己位置が算出される可能性がある。
本発明の目的は、移動体の自己位置を、移動環境を表す地図情報とセンサなどにより得られた情報とに基づいて推定する装置において、移動体の自己位置及び/又は姿勢の推定精度を維持しつつ、これらの推定に要する演算量や時間を減少することにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自己位置推定装置は、移動体の移動環境における自己位置及び/又は姿勢を推定する。自己位置推定装置は、記憶部と、ローカルマップ取得部と、自己位置推定部と、調節部と、を備える。記憶部は、移動環境に存在する障害物の位置を表す環境地図を記憶する。ローカルマップ取得部は、ローカルマップを取得する。ローカルマップは、移動体の周囲に存在する障害物の移動体に対する相対的な位置を表す地図情報である。
自己位置推定部は、第1推定モードを実行する。具体的には、自己位置推定部は、環境地図に設定されたローカルマップ配置領域内の複数の配置位置(自己位置の候補)にてローカルマップを配置及び/又は回転したときに、ローカルマップが環境地図と最も一致する配置位置を、移動体の移動環境における自己位置である第1自己位置と推定する。また、自己位置推定部は、当該配置位置におけるローカルマップの回転角を、第1自己位置における移動体の第1姿勢と推定する。調節部は、所定の条件に従って、ローカルマップ配置領域の大きさを調節する。
上記の自己位置推定装置では、まず、ローカルマップ取得部が、環境地図とマッチングさせるための地図情報であるローカルマップを取得する。次に、調節部が、所定の条件に従って、ローカルマップ配置領域の大きさを調節する。
その後、自己位置推定部が、第1推定モードを実行する。具体的には、自己位置推定部は、所定の条件に従って定められた大きさを有し、環境地図に設定されたローカルマップ配置領域内の複数の配置位置(自己位置の候補)のそれぞれに、上記のローカルマップを配置する。また、当該配置位置においてローカルマップを回転する。このとき、自己位置推定部は、ローカルマップ配置領域内の複数の配置位置のうち、ローカルマップが環境地図と最も一致する配置位置を、移動環境における移動体の自己位置(第1自己位置)と推定する。また、必要に応じて、ローカルマップが環境地図と最も一致する配置位置におけるローカルマップの回転角を、第1自己位置における移動体の姿勢(第1姿勢)と推定する。
上記の自己位置推定装置では、第1推定モード(マップマッチングによる移動体1の第1自己位置及び/又は第1姿勢の推定)の実行時において、所定の条件に従って、ローカルマップを配置する範囲を定めるローカルマップ配置領域の大きさが調整されている。これにより、移動体の自己位置及び/又は姿勢の推定精度を維持しつつ、マップマッチングによるこれらの推定に要する演算量を減らして、それにより当該推定にかかる時間を減少できる。
無障害領域から障害領域へと移動体が移動したら、調節部は、ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大してもよい。無障害領域は、移動環境において、障害物が少数しか存在しない、又は、全く存在しない領域である。一方、障害領域は、移動環境において、障害物が存在する領域である。
これにより、無障害領域を移動体が移動中に累積された推定誤差を、ローカルマップ配置領域を拡大したマップマッチングにより解消して、移動体の自己位置及び/又は姿勢の推定精度を維持できる。
無障害領域を移動体が移動中に、自己位置推定部は、第1推定モードを実行しなくてもよい。これにより、マップマッチングでは第1自己位置及び/又は第1姿勢の推定が困難な場合に、第1推定モードを実行しない。
単調形状領域から特徴形状領域へと移動体が移動したら、調節部は、ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大してもよい。単調形状領域は、環境地図が単調な形状を有する領域である。特徴形状領域は、環境地図が特徴的な形状を有する領域である。
これにより、単調形状領域を移動体が移動中に累積された推定誤差を、ローカルマップ配置領域を拡大したマップマッチングにより解消して、移動体の自己位置及び/又は姿勢の推定精度を維持できる。
単調形状領域を移動体が移動中、又は、所定の時間の経過後、調節部は、ローカルマップ配置領域の大きさを、予め決められた大きさとしてもよい。これにより、第1推定モードによる第1自己位置及び/又は第1姿勢の推定に要する演算量を減らしつつ、それにより当該推定にかかる時間を減少できる。
移動体は、移動環境を移動するための主輪を有していてもよい。この場合、自己位置推定部は、第2推定モードをさらに実行可能である。第2推定モードは、主輪の回転量に基づいて、移動体の移動環境における自己位置及び/又は姿勢を、それぞれ、第2自己位置及び/又は第2姿勢と推定するモードである。
この場合、調節部は、少なくとも第2推定モードを実行している状態から、第1推定モードのみを実行する状態へと切り替わってから所定の時間、ローカルマップ配置領域を、通常の第1推定モードの実行時の大きさよりも拡大する。
これにより、主輪の回転量に基づいて推定された第2自己位置及び/又は第2姿勢の推定誤差を、ローカルマップ配置領域を拡大した第1推定モードの実行により解消して、移動体の自己位置及び/又は姿勢の推定精度を維持できる。
移動体が一時停止状態から移動を開始したら、調節部は、ローカルマップ配置領域の大きさを、通常の第1推定モードの実行時よりも拡大してもよい。
これにより、一時停止状態から移動を開始したときに発生する自己位置及び/又は姿勢の推定誤差を、ローカルマップ配置領域を拡大した第1推定モードの実行により解消して、移動体の自己位置及び/又は姿勢の推定精度を維持できる。
移動体が一時停止したら、調節部は、ローカルマップ配置領域の大きさを、移動体が移動中であるときよりも縮小してもよい。これにより、移動体が一時停止しており自己位置及び/又は姿勢にほとんど変化がない場合に、小さいローカルマップ配置領域を用いて、第1自己位置及び/又は第1姿勢の推定に必要な演算量を減少できる。
移動体が環境地図に表されていない未知の障害物に囲まれていたら、調節部は、ローカルマップ配置領域の大きさを、未知の障害物に囲まれていないときよりも縮小してもよい。これにより、未知の障害物の存在があったとしても、環境地図とローカルマップとのマップマッチングが適切に行われる確率が高くなり、第1自己位置及び/又は第1姿勢の推定が正確になる。
記憶部は、属性情報をさらに記憶してもよい。属性情報は、環境地図の所定の位置におけるローカルマップ配置領域の大きさを定める情報である。この場合、調節部は、属性情報に従って、ローカルマップ配置領域の大きさを設定する。
これにより、環境地図(移動環境)の各位置における状況に応じて、ローカルマップ配置領域の大きさを調節できる。
ローカルマップ配置領域の大きさを調節すべき所定の条件が同時に複数発生したら、調節部は、当該複数の条件のうち、優先度がより高い条件に従ってローカルマップ配置領域の大きさを設定してもよい。これにより、優先度が高い条件に合わせてローカルマップ配置領域の大きさを決定できる。
本発明の他の見地に係る自己位置推定方法は、移動環境における移動体の自己位置及び/又は姿勢を推定する方法である。自己位置推定方法は、以下のステップを含む。
◎移動環境に存在する障害物の位置を表す環境地図を生成するステップ。
◎移動体の周囲に存在する障害物の移動体に対する相対的な位置を表すローカルマップを取得するステップ。
◎環境地図に設定され、所定の条件に従って大きさが調節されたローカルマップ配置領域内の複数の配置位置にてローカルマップを配置及び/又は回転したときに、ローカルマップが環境地図と最も一致する配置位置を、移動体の移動環境における自己位置と推定し、及び/又は、当該配置位置におけるローカルマップの回転角を、当該自己位置における移動体の姿勢と推定するステップ。
上記の自己位置推定方法では、移動体の自己位置及び/又は姿勢をマップマッチングにて推定する際に、所定の条件に従って、ローカルマップを配置する範囲を定めるローカルマップ配置領域の大きさが調整されている。これにより、移動体の自己位置及び/又は姿勢の推定精度を維持しつつ、マップマッチングによるこれらの推定に要する演算量を減らして、それにより当該推定にかかる時間を減少できる。
本発明に係る自己位置推定装置及び自己位置推定方法では、移動体の自己位置及び/又は姿勢の推定精度を維持しつつ、これらの推定に要する演算量や時間を減少できる。
本発明の一実施形態が採用された移動体の構成を示す図。 制御部の構成を示す図。 移動体の動作を示すフローチャート。 属性情報が設定される通路の一例を示す図。 水平面にて反射された赤外光により、移動環境に存在しない障害物の像を含むようなローカルマップが取得された場合の一例を示す図。 移動環境に本来存在しない水平面の像がローカルマップに含まれることで、移動体の自己位置及び/又は姿勢の誤推定が発生した場合の一例を示す図。 マップマッチングによって自己位置を推定できない場合の一例を示す図。 マップマッチングによって姿勢を推定できる場合の一例を示す図。 ローカルマップ配置領域の調節方法を示すフローチャート。 囲われ判定が実行される場合の一例を示す図(その1)。 囲われ判定が実行される場合の一例を示す図(その2)。 未知の障害物が存在しない場合に取得された環境地図の一例を示す図。 未知の障害物が存在する場合に取得されたローカルマップの一例を示す図。 囲われの判定方法の一例を示す図。 未知の障害物に囲まれたために自己位置及び/又は姿勢が誤推定された場合の一例を示す図。 囲まれ検知の他の実施形態を示す図。
1.第1実施形態
(1)移動体の構成
自己位置推定装置100(後述)が用いられる移動体1について説明する。本実施形態の移動体1は、例えば、ユーザにより教示された経路を再現しながら、自律して走行可能な移動体である。
まず、移動体1の構成を、図1を用いて説明する。図1は、本発明の一実施形態が採用された移動体の構成を示す図である。
移動体1は、本体11を有する。本体11は、移動体1の本体を構成する例えば筐体である。本実施形態において、後述する「自己位置」は、移動環境MEを表す環境地図M1上における本体11の中心の位置(座標)と定義する。また、「自身」との語は、移動体1の本体11のことを指すこととする。
移動体1は、移動部12を有する。移動部12は、例えば、本体11を移動させる差動二輪型の走行部である。
具体的には、移動部12は、一対のモータ121a、121bを有する。一対のモータ121a、121bは、本体11の底部に設けられた、例えばサーボモータやブラシレスモータなどの電動モータである。一対のモータ121a、121bは、制御部14(後述)と電気的に接続され、制御部14からの指令に基づいて、それぞれ独立に、任意の回転数及びトルクにてその出力回転軸を回転させる。
移動部12は、一対の主輪123a、123bを有する。一対の主輪123a、123bは、それぞれ、一部が移動環境MEの床面(移動面)と接しており、一対のモータ121a、121bの出力回転軸に接続される。これにより、主輪123a、123bは、それぞれ、モータ121a、121bによって独立して回転し、本体11を移動させる。
上記のように独立回転が可能なことによって、主輪123aと123bの回転数に差を生じさせて本体11の姿勢を変化できる。一方、一対の主輪123a、123bの回転数が同じであれば、本体11を直進できる。
モータ121a、121bのそれぞれの出力回転軸には、エンコーダ125a、125b(図2)が設けられている。エンコーダ125a、125bは、例えば、モータ121a、121bの出力回転軸の回転量に基づいたパルス信号を出力するインクリメンタル型のエンコーダである。これにより、自己位置推定部143(後述)は、モータ121a、121bの回転量、すなわち、主輪123a、123bの回転量に基づいて、移動環境MEにおける移動体1(本体11)の位置及び/又は姿勢を推定できる。
移動体1は、レーザレンジセンサ13を有する。レーザレンジセンサ13は、例え
ば、レーザ発振器によりパルス発振されたレーザ光を、移動環境ME中の構造物(例えば、移動環境MEに配置された柱、棚、壁など)である障害物に放射状に照射し、当該障害物から反射した反射光をレーザ受信器により受信することにより、当該障害物に関する情報を取得するレーザレンジファインダ(LRF:Laser Range Finder)である。
レーザレンジセンサ13は、本体11の前部に配置された第1レーザレンジセンサ131と、本体11の後部に配置された第2レーザレンジセンサ133と、を有する。
第1レーザレンジセンサ131は、本体11の前方に左右方向にレーザ光を放射状に発生することにより、第1レーザレンジセンサ131を中心とした本体11の前方の半径20m程度の円内に含まれる障害物に関する情報を取得する。
一方、第2レーザレンジセンサ133は、本体11の後方に左右方向にレーザ光を放射状に発生することにより、第2レーザレンジセンサ133を中心とした本体11の後方の半径5m程度の円内に含まれる障害物に関する情報を取得する。
なお、上記レーザレンジセンサの検出可能距離は、上記の値に限られず、移動体1の用途等に応じて適宜変更できる。
移動体1は、制御部14を有する。制御部14は、CPU(Central Processing Unit)、ハードディスク装置、ROM(Read Only Memory)、RAM(Random Access Memory)、記憶媒体読み出し装置などの記憶装置、信号変換を行うインターフェースなどを備えたマイコンシステムである。制御部14は、移動体1の各部の制御を行う。制御部14の構成については、後ほど詳しく説明する。
移動体1は、補助輪部15をさらに有していてもよい。補助輪部15は、2つの補助車輪15a、15bを有する。2つの補助車輪15aと15bは、それぞれが独立に回転可能なように取り付けられている。補助輪部15を備えることにより、移動体1は安定に、かつ、スムーズに移動できる。
(2)制御部の構成
図2を用いて、制御部14の構成を説明する。図2は、制御部の構成を示す図である。
なお、以下に説明する制御部14の各部の機能の一部又は全部は、マイコンシステムにおいて実行可能なプログラムとして実現されていてもよい。また、当該プログラムは、当該マイコンシステムの記憶装置に記憶されていてもよい。又は、上記機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
制御部14は、記憶部141を有する。記憶部141は、制御部14を構成するコンピュータシステムの記憶装置の記憶領域の一部である。記憶部141は、移動体1を制御するために用いられる各種情報を記憶する。
具体的には、記憶部141は、環境地図M1を記憶する。環境地図M1は、例えば、移動環境MEに存在する障害物の位置を表す地図情報である。具体的には、環境地図M1は、移動環境MEを表す座標平面上の障害物の位置を示す座標値データの集合体である。
環境地図M1が、移動環境MEを表す座標平面上の障害物の位置を示す座標値データとして表されることにより、当該環境地図M1とローカルマップM2(後述)とのマップマッチングにより、移動体1(本体11)の移動環境MEにおける位置及び/又は姿勢を、それぞれ、移動環境MEを表す座標平面上の座標値及び/又は基準座標軸からの回転角として推定できる。
記憶部141は、属性情報AIを記憶する。属性情報AIは、移動環境MEの予め決められた位置において移動体1がすべき動作を記憶した情報である。本実施形態において、属性情報AIは、環境地図M1の所定の位置における、ローカルマップ配置領域Aの大きさを定めている。これにより、調節部144は、移動体1が環境地図M1の上記の所定の位置に到達したときに、ローカルマップ配置領域Aの大きさを、属性情報AIに従って調節できる。
属性情報AIは、環境地図M1の所定の位置におけるローカルマップ配置領域Aの大きさだけでなく、当該所定の位置におけるローカルマップ配置領域Aの形状を定義しておいてもよい。例えば、ローカルマップ配置領域Aの形状を正方形とする場合には、当該正方形の一辺の長さと、ローカルマップ配置領域Aの形状が正方形であることを示す識別子とを、属性情報AIに関連付けて記憶してもよい。
その他、移動平面の座標上に定義される領域の式(不等式)を属性情報AIに記憶することによって、任意の形状を有するローカルマップ配置領域Aを定義してもよい。
その他、属性情報AIは、移動環境ME(環境地図M1)の所定の位置における移動体1の速度や姿勢などを記憶してもよい。例えば、昇降機が近傍に存在する位置では一時停止するなどの動作を属性情報AIに記憶してもよい。また、移動体1の用途に基づいた動作(例えば、移動環境MEの所定の位置において、特定の広告を表示するなど)を属性情報AIに記憶してもよい。
制御部14は、ローカルマップ取得部142を有する。ローカルマップ取得部142は、レーザレンジセンサ13から取得した信号に基づいて、ローカルマップM2を取得する。具体的には、ローカルマップ取得部142は、レーザレンジセンサ13からレーザ光を照射したタイミングと、反射光をレーザレンジセンサ13(レーザ受信器)にて受信したタイミングとの時間差から、レーザレンジセンサ13と障害物との距離を算出する。また、例えば、反射光を受信した時のレーザ受信器の受光面の角度から、本体11から見た障害物が存在する方向を算出できる。
その後、ローカルマップ取得部142は、上記の時間差から算出される本体11から見た障害物の相対的な距離と、反射光を受光したときの受光面の角度とを、移動環境MEを表す座標平面上の座標値に変換することにより、移動体1(本体11)の周囲に存在する障害物の移動体1に対する相対的な位置を表すローカルマップを取得する。
例えば、移動体1から障害物までの距離がRと算出され、レーザレンジセンサ13の受光面の角度が移動体1の直進方向(図1)に対してα(反時計回りを正の角度とする)となっている場合、障害物の移動体1に対する相対的な位置は、移動体1の中心を原点とした座標系において、(R*cosα,R*sinα)と算出できる。
制御部14は、自己位置推定部143を有する。自己位置推定部143は、移動体1が移動環境MEを移動中に、移動体1の移動環境MEにおける位置(自己位置と呼ぶ)、及び/又は、所定の軸(例えば、上記のX軸)に対して移動体1が向いている角度(姿勢と呼ぶ)を推定する。本実施形態において、自己位置推定部143は、上記の自己位置及び/又は姿勢を推定するモードとして、第1推定モードと第2推定モードとを実行可能である。
第1推定モードは、ローカルマップ取得部142により得られたローカルマップと、記憶部141に記憶された環境地図M1とをマップマッチングすることにより、移動体1の自己位置及び/又は姿勢を推定するモードである。第1推定モードによる推定された自己位置及び姿勢を、それぞれ、第1自己位置及び第1姿勢と呼ぶことにする。
第1推定モードの実行時において、自己位置推定部143は、まず、主輪123a、123bの回転量に基づいて算出された環境地図M1上の位置にローカルマップM2を配置する。次に、自己位置推定部143は、当該位置において、ローカルマップM2を、主輪123a、123bの回転量に基づいて算出された姿勢(角度)だけ回転して、環境地図M1とローカルマップM2とのマップマッチングを行う。
本実施形態において、自己位置推定部143は、主輪123a、123bの回転量に基づいて推定された位置及び/又は姿勢の推定誤差を考慮して、上記のローカルマップM2の配置位置や回転角度に幅を持たせる。このような、マップマッチングを実行する際のローカルマップM2の配置位置の範囲や回転角度の変更幅を、「ローカルマップ配置領域A」と呼ぶ。
自己位置推定部143が、環境地図M1とローカルマップM2とをマップマッチングして第1自己位置及び/又は第1姿勢を推定する際に(第1推定モードの実行時に)、ローカルマップM2の配置位置及び回転角度に幅を持たせることにより、主輪123a、123bの回転量に基づく自己位置及び/又は姿勢の推定誤差と、マップマッチングにおける自己位置及び/又は姿勢の推定誤差(主に、レーザレンジセンサ13により取得されるローカルマップM2及び/又は環境地図M1に含まれる誤差に起因する)とを相殺して、正確に第1自己位置及び/又は第1姿勢を推定できる。
一方、第2推定モードは、エンコーダ125a、125bから取得したモータ121a、121b(主輪123a、123b)の回転量に基づいて、移動体1の環境地図M1上における自己位置及び/又は姿勢を推定するモードである。第2推定モードにより推定された自己位置及び姿勢を、それぞれ、第2自己位置及び第2姿勢と呼ぶことにする。
主輪123a、123bの回転量に基づく自己位置及び/又は姿勢の推定は、例えば、前回推定された自己位置及び/又は姿勢に、主輪123a、123bの回転量に基づいて算出された移動距離及び/又は姿勢変化を加算することにより実行できる。
第2推定モードは、例えば、マップマッチングでは正確な自己位置や姿勢の推定が困難な場合に実行される。例えば、レーザレンジセンサ13により検知できる障害物が全く存在しない領域、又は、障害物が存在してもその数が少なすぎて正確なマップマッチングを実行できない領域(無障害領域と呼ぶ)を移動体1が移動中に、第2推定モードが実行される。
その他、例えば、2つの直線的な壁により形成されている直線状の通路のような、単調な形状を有する移動環境MEの領域であり、単調な形状のローカルマップや環境地図M1しか生成されない領域(単調形状領域と呼ぶ)を移動体1が移動中にも、第2推定モードが実行される。
制御部14は、調節部144を有する。調節部144は、所定の条件に従って、ローカルマップを環境地図M1に配置する配置位置の範囲(ローカルマップ配置領域A)の大きさを調節する。例えば、ローカルマップ配置領域Aを一辺の長さがLである正方形と定義した場合には、調節部144は、当該Lの値を所定の条件に従って調節する。
その他、ローカルマップ配置領域Aを、例えば、半径がRである円と定義した場合には、当該Rの値を所定の条件に従って調節することにより、ローカルマップ配置領域Aの大きさを調節できる。
一方、ローカルマップ配置領域Aにおいて、ローカルマップM2の各配置位置における回転角度(姿勢)の変更幅がΔθと定められている場合には、調節部144は、回転角度(姿勢)の変更幅を示すΔθを所定の条件に従って調節することにより、ローカルマップ配置領域Aの大きさを調節できる。
上記の記憶部141と、ローカルマップ取得部142と、自己位置推定部143と、調節部144と、が本実施形態に係る自己位置推定装置100を構成する。
制御部14は、走行制御部145を有する。走行制御部145は、モータ121a、121bを制御する。走行制御部145は、例えば、モータ121a、121bのそれぞれの制御量を算出し、当該制御量に基づいた駆動電力をモータ121a、121bのそれぞれに出力するモータドライバである。走行制御部145は、エンコーダ125a、125bから入力したモータ121a、121bの単位時間あたりの回転量(回転速度)が、所望の回転速度となるように、モータ121a、121bの制御量を算出している(フィードバック制御)。
走行制御部145は、ユーザによる切替などにより、自律モード又は手動モードのいずれかを実行可能となっている。自律モードの実行時においては、走行制御部145は、例えば、記憶部141に記憶された走行スケジュールTSに示された各通過位置(例えば、環境地図M1上の座標値)と、自己位置推定部143において推定された自己位置及び/又は姿勢との差に基づいて、モータ121a、121bのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、これらのモータに出力する。
これにより、走行制御部145は、自律モードの実行時においては、本体11を、上記の走行スケジュールTSに従って、自律的に移動できる。
一方、手動モードの実行時においては、走行制御部145は、例えば、無線又は有線にて移動体1と通信可能なコントローラ又はコンピュータシステム、又は、移動体1に設けられた操作ハンドル(図示せず)などを用いたユーザの操作を受け付けて、当該ユーザの操作の操作量に基づいて、モータ121a、121bを制御する。これにより、移動体1は、ユーザの操作により移動可能となる。
制御部14が上記の構成を有することにより、自己位置推定装置100は、第1推定モード(マップマッチングによる自己位置及び/又は姿勢の推定)の実行時において、所定の条件に従ってローカルマップ配置領域Aの大きさを調整できる。
その結果、移動体1の自己位置及び/又は姿勢の推定精度を維持しつつ、マップマッチングによるこれらの推定に要する演算量が無駄に増大することを回避できる。また、これらの推定にかかる時間を減少できる。
(3)移動体の動作
図3を用いて、移動環境MEを移動中の移動体1の動作を説明する。図3は、移動体の動作を示すフローチャートである。
以下では、ユーザによる移動体1の操作を移動体1に教示するとともに環境地図M1を作成し、当該教示された操作に従って、移動体1を自律的に移動させる場合の動作を説明する。
まず、走行モードを手動モードに設定し、ユーザによる移動体1の動作と、移動体1が移動する移動環境MEを表す環境地図M1と、を移動体1に教示する(ステップS1)。
具体的には、ユーザの操作により移動体1を移動環境MEにて移動中に、まず、ローカルマップ取得部142が、所定の時間間隔毎に、ローカルマップM2を取得する。次に、自己位置推定部143が、現段階までに作成された環境地図M1とローカルマップM2とをマップマッチングすることにより、移動体1(本体11)の自己位置及び/又は姿勢を推定する。
自己位置及び/又は姿勢を推定後、自己位置推定部143は、現段階までに作成された環境地図M1に、今回取得したローカルマップM2を推定自己位置で座標変換したものを合体して、新たな環境地図M1を作成する。また、自己位置推定部143は、推定した自己位置及び/又は姿勢と、当該自己位置及び/又は姿勢を推定した時刻とを関連づけて走行スケジュールTSを作成し、記憶部141に記憶する。
また、環境地図M1及び走行スケジュールTSを移動体1に教示中に、ユーザは、必要に応じて、移動体1を操作する入力装置を用いて、ローカルマップ配置領域Aの大きさを設定する。ユーザによりローカルマップ配置領域Aの大きさが設定されると、自己位置推定部143は、上記の入力装置から入力したローカルマップ配置領域Aの大きさと、当該ローカルマップ配置領域Aが設定された時の移動体1の自己位置及び/又は姿勢と、を関連付けて、属性情報AIとして記憶部141に記憶する。
例えば、ユーザは、図4Aに示すような、下り坂を有し、当該下り坂を通過後に水平面が存在し、かつ、当該水平面の突き当たりに壁(垂直面)が存在するような通路を移動体1が移動中に、属性情報AIを設定する。図4Aは、属性情報が設定される通路の一例を示す図である。
移動体1が移動中の通路が下り坂になっており、当該下り坂の通過後に水平面が存在する場合、移動体1が当該下り坂を移動中に、レーザレンジセンサ13から出力された赤外光が、水平面にて反射され、当該反射された赤外光をレーザレンジセンサ13が受光してしまうことがある。
当該水平面にて反射された赤外光の存在により、ローカルマップ取得部142は、図4Bに示すように、移動環境MEには本来存在しない障害物の像(水平面の像)を含むようなローカルマップM2を取得してしまう。図4Bは、水平面にて反射された赤外光により、移動環境に存在しない障害物の像を含むようなローカルマップが取得された場合の一例を示す図である。
本来存在しない水平面の像を含むローカルマップM2を環境地図M1にマッチングさせた場合、例えば、図4Cに示すように、ローカルマップM2中の当該水平面の像が、環境地図M1中の水平面の突き当たりに存在する壁の像であると誤認識される場合がある。その結果、自己位置推定部143が、第1推定モードの実行時において、移動体1の第1自己位置及び/又は第1姿勢を、図4Cの点線に示すように誤推定することがある。図4Cは、移動環境に本来存在しない水平面の像がローカルマップに含まれることで、移動体の自己位置及び/又は姿勢の誤推定が発生した場合の一例を示す図である。
このような誤推定を回避するために、図4Cの一点鎖線にて示すようなローカルマップ配置領域Aを環境地図M1に設定し、第1推定モードの実行時に、自己位置推定部143が、ローカルマップM2を本来の位置から過剰に遠い位置に配置して、上記の図4Cに示すような誤推定を発生させないようにする。
その他、例えば、移動体1の主輪123a、123bが接触する移動面が水などにより濡れる位置などにおいては、主輪123a、123bが滑りやすく、自己位置推定部143における自己位置及び/又は姿勢の推定誤差が発生しやすい。従って、移動面が濡れる位置においては、大きなローカルマップ配置領域Aを属性情報AIにて設定し、移動体1が、当該位置において推定誤差を発生しにくくできる。
なお、環境地図M1及び走行スケジュールTSを作成中に、自己位置推定部143は、走行制御部145を介して、ユーザによる移動体1の操作量(例えば、モータ121a、121bの回転数や、当該回転数に基づいて算出できる移動体1の移動速度など)を入力し、当該入力した操作量を走行スケジュールTSに関連付けてもよい。
上記のローカルマップM2の取得、自己位置及び/又は姿勢の推定、走行スケジュールTS及び環境地図M1の作成、及び、属性情報AIの設定を、ユーザが移動体1を移動終了位置まで移動するまでの間繰り返し実行することにより、移動体1が移動を開始した移動開始位置から移動終了位置までの走行スケジュールTS、環境地図M1、及び属性情報AIを生成して、記憶部141に記憶できる。
なお、環境地図M1、走行スケジュールTS、及び/又は属性情報AIは、ユーザにより移動体1を操作しながら教示する場合に限られず、例えば、他の入力装置(キーボードやマウスなど)を用いて、移動体1の操作を実行することなく作成することもできる。
また、上記のように、ローカルマップM2に本来存在しない障害物が含まれる結果、環境地図M1においても本来存在しない障害物が含まれてしまった場合には、環境地図M1を編集して、当該存在しない障害物の像を削除する。
環境地図M1、走行スケジュールTS、及び属性情報AIを生成後、必要に応じて、移動体1を上記の移動開始位置へ配置後、例えば、移動体1を操作するための入力装置などを用いて、移動体1の走行モードを、移動体1を走行スケジュールTSに従って自律的に移動させる自律モードへと切り替える。
走行モードが自律モードに切り替わり、移動体1が自律的な移動を開始すると、まず、ローカルマップ取得部142が、上記にて説明したようにしてローカルマップM2を取得して、記憶部141に記憶する(ステップS2)。
ローカルマップM2を取得後、自己位置推定部143が、移動体1の自己位置及び/又は姿勢を推定する。移動体1の自己位置及び/又は姿勢を推定するにあたり、自己位置推定部143は、マップマッチングによる第1自己位置及び/又は第1姿勢の推定(第1推定モード)を実行するか、及び/又は、主輪123a、123bの回転量に基づく第2自己位置及び/又は第2姿勢の推定(第2推定モード)を実行するかを決定する。
そのため、自己位置推定部143は、まず、移動環境MEにおいて、障害物が少数しか存在しない、又は、全く存在しない無障害領域を移動体1が移動中であるか否かを判定する(ステップS3)。
例えば、ステップS2にて取得したローカルマップM2が、「空」の(障害物の像を表すデータが一切含まれない)ローカルマップM2であるか、又は、少数の障害物しか含まないローカルマップM2である場合(ステップS3において「Yes」の場合)、自己位置推定部143は、移動体1が無障害領域を移動中であると判定する。
移動体1が無障害領域を移動中であると判定すると、自己位置推定部143は、第1推定モードを実行しないと決定する。なぜなら、無障害領域にて取得されるローカルマップM2は、マップマッチングを正確に実行できるだけの十分な障害物の情報を含んでいないからである。
この場合、自己位置推定部143は、第2推定モードのみを実行し、主輪123a、123bの回転量に基づいて推定された第2自己位置及び/又は第2姿勢を、移動体1の自己位置及び/又は姿勢として推定する(ステップS4)。
なお、ステップS3において、例えば、第1推定モード及び/又は第2推定モードを実行して、移動体1の自己位置及び/又は姿勢がすでに推定されている場合には、推定された自己位置(又は姿勢)に基づいて、移動体1が無障害領域を移動中であるか否かを判定してもよい。例えば、推定された自己位置が、移動環境MEを表す座標平面において、障害物が全く又は少数しか存在しない無障害領域中に含まれる座標値となっている場合に、移動体1が無障害領域を移動中であると判定できる。
上記のように、無障害領域を移動体1が移動中に、自己位置推定部143が、第1推定モードを実行しないと決定することにより、マップマッチングでは第1自己位置及び/又は第1姿勢の推定が困難な場合に、無駄に第1推定モードを実行することを回避できる。
一方、例えば、障害物の像が存在するローカルマップM2が取得されているか、又は、推定された自己位置が無障害領域外の座標値である場合(ステップS3において「No」の場合)、自己位置推定部143は、第1推定モードを実行可能と決定する。なぜなら、障害物の像が存在するローカルマップM2が取得されていれば、マップマッチングを実行することが可能だからである。
第1推定モードを実行可能と決定後、自己位置推定部143は、調節部144に対して、ローカルマップ配置領域Aの大きさを調節するよう指令する(ステップS5)。ステップS5におけるローカルマップ配置領域Aの調節方法については、後ほど詳しく説明する。
ローカルマップ配置領域Aの大きさを調節後、自己位置推定部143は、さらに、第1推定モードの実行のみで、正確な自己位置及び/又は姿勢の推定が可能か否かを決定する。
具体的には、自己位置推定部143は、環境地図M1及び/又はローカルマップM2が単調な形状を有する単調形状領域を移動体1が移動中であるか否かを判定する(ステップS6)。
例えば、ステップS2にて取得したローカルマップM2が特徴的な形状を有している場合(ステップS6において「No」の場合)、すなわち、環境地図M1が特徴的な形状を有する特徴形状領域を移動体1が移動していると判定された場合、自己位置推定部143は、第1推定モードの実行のみで、正確な自己位置及び/又は姿勢の推定ができると判定する。この場合、自己位置推定部143は、第1推定モードのみを実行して、移動体1の自己位置及び/又は姿勢を推定する(ステップS7)。
具体的には、まず、自己位置推定部143は、環境地図M1上に、ローカルマップ配置領域Aを設定する。例えば、ローカルマップ配置領域Aを一辺の長さがLである正方形と定義した場合に、主輪123a、123bの回転量に基づいて、ローカルマップM2を配置すべき位置が(X1,Y1)と算出されていると、自己位置推定部143は、移動環境MEを表す座標平面において、−L/2+X1≦X≦L/2+X1、及び、−L/2+Y1≦Y≦L/2+Y1との2つの不等式を定義して、環境地図M1上にローカルマップ配置領域Aを設定できる。
その他、例えば、ローカルマップ配置領域Aを半径がRである円と定めた場合には、当該座標平面において、(X−X1)2+(Y−Y1)2≦R2との不等式を定義することにより、環境地図M1上にローカルマップ配置領域Aを設定できる。
また、例えば、ローカルマップM2の回転角度幅(姿勢についてのローカルマップ配置領域Aの大きさ)をΔθと定義した場合に、主輪123a、123bの回転量に基づいて、ローカルマップM2の回転角度がθ1と推定されていると、自己位置推定部143は、当該座標平面において、−Δθ/2+θ1≦θ≦Δθ/2+θ1との不等式を定義することにより、環境地図M1上に姿勢についてのローカルマップ配置領域Aを設定できる。この場合、自己位置推定部143は、−Δθ/2+θ1≦θ≦Δθ/2+θ1との不等式で示される角度範囲θにて、ローカルマップM2を回転できる。
上記のようにして環境地図M1上にローカルマップ配置領域Aを設定後、自己位置推定部143は、環境地図M1に設定したローカルマップ配置領域A内の複数の配置位置にローカルマップM2を配置し、また、当該複数の配置位置のそれぞれにおいて、ローカルマップ配置領域Aに示された範囲内の複数の回転角度にてローカルマップM2を回転する。
ローカルマップM2はローカルマップ取得部142により取得されたものであるので、ローカルマップM2も、環境地図M1と同様に、移動環境MEを表す座標平面上の障害物の位置を示す座標値データの集合体である。
従って、ローカルマップM2の環境地図M1上のローカルマップ配置領域Aへの配置は、例えば、座標値データであるローカルマップM2を配置位置へ平行移動させる行列を用いた演算により達成できる。また、ローカルマップM2の配置位置における回転は、座標値データであるローカルマップM2を回転させる行列を用いた演算により達成できる。
その後、自己位置推定部143は、上記の複数の配置位置及び複数の回転角度のうち、ローカルマップM2が環境地図M1と最も一致(マッチング)する配置位置及び回転角度を、それぞれ、第1自己位置及び第1姿勢と推定する。このようなマップマッチングによる自己位置及び/姿勢の推定は、例えば、「尤度計算」により実行できる。
自己位置推定部143は、上記のようにして推定した第1自己位置を、移動体1の移動環境MEにおける自己位置であると推定する。また、上記の第1姿勢を、当該自己位置(第1自己位置)における移動体1の姿勢であると推定する。
一方、例えば、ステップS2にて取得したローカルマップM2が単調な形状を有している場合(ステップS6において「No」の場合)、すなわち、環境地図M1が単調な形状を有する単調形状領域を移動体1が移動していると判定された場合、自己位置推定部143は、第1推定モードの実行のみでは、正確な自己位置及び/又は姿勢の推定ができないと判定する。
この場合、自己位置推定部143は、第1推定モードと第2推定モードとの両方を実行して、移動体1の自己位置及び/又は姿勢を推定する(ステップS8)。単調形状領域を移動体1が移動中、自己位置推定部143は、第2推定モードを用いて移動体1の自己位置を推定し、第1推定モードを用いて移動体の姿勢を推定する。
具体的には、自己位置推定部143は、まず、主輪123a、123bの回転量に基づいて第2自己位置を推定し(第2推定モードの実行)、当該第2自己位置を、移動環境MEにおける移動体1の自己位置と推定する。
次に、自己位置推定部143は、第2推定モードにて推定された第2自己位置に、上記のようにしてローカルマップ配置領域Aを設定する。その後、自己位置推定部143は、第1推定モードを実行して、ローカルマップ配置領域Aに定められた回転角度の範囲内でローカルマップM2を回転し、環境地図M1とローカルマップM2とが最も一致したときの回転角度である第1姿勢を、上記の自己位置における移動体1の姿勢と推定する。
上記のように、移動体1が単調形状領域を移動中に、自己位置推定部143が、第1推定モード及び第2推定モードを実行して移動体1の自己位置及び/又は姿勢を推定することにより、ローカルマップM2や環境地図M1の形状が単純でも、移動体1の移動方向などによっては、マップマッチングでも正確な自己位置及び/又は姿勢が推定できる場合には、第1推定モードにて第1自己位置及び/又は第1姿勢を正確に推定できる。また、マップマッチングにより自己位置及び/又は姿勢が推定できない場合には、第2推定モードにて自己位置及び/又は姿勢を推定できる。
なお、単調形状領域を移動体1が移動中、ローカルマップ配置領域Aの大きさは、通常の第1推定モードの実行時の大きさとして予め決められた大きさに設定されている。これにより、第1推定モードによる第1自己位置及び/又は第1姿勢の推定に要する演算量が無駄に増大することを回避して、当該推定にかかる時間を減少できる。
例えば、図5Aに示すように、環境地図M1が2つの壁により形成された直線的な経路を示す単調形状領域を、移動体1が当該直線的な経路の延長方向に沿って移動している場合には、マップマッチング(第1推定モード)により、当該延長方向に沿った方向の移動体1の自己位置を正確には推定できない。なぜなら、図5Aに示すように、このような領域において取得されるローカルマップM2は、経路の延長方向のどこに配置しても、環境地図M1とマッチングしてしまうからである。このような場合には、自己位置推定部143は、主輪123a、123bの回転量に基づいて、すなわち、第2推定モードを実行して、移動体1の自己位置を推定する。図5Aは、マップマッチングによって自己位置を推定できない場合の一例を示す図である。
なお、ローカルマップM2が、直線的な経路の幅方向(経路の延長方向に垂直な方向)において環境地図M1とずれている場合には、第1推定モードの実行により、直線的な経路の幅方向における移動体1の自己位置は推定できる。
一方、例えば、図5Bの左図に示すようなローカルマップM2が取得された場合に、当該ローカルマップM2を、主輪123a、123bの回転量に基づいて推定された環境地図M1上の自己位置に設定後、当該自己位置を中心としてローカルマップM2を環境地図M1と一致するまで回転すると、図5Bの右図に示すように、当該回転角度を移動体1の姿勢として一義的に推定できる。図5Bは、マップマッチングによって姿勢を推定できる場合の一例を示す図である。
上記のようにして、移動体1が移動中の領域毎に第1推定モード及び/又は第2推定モードを適宜選択して、移動体1の自己位置及び/又は姿勢を推定後、走行制御部145が、当該推定された自己位置及び/又は姿勢に基づいて、モータ121a、121bを制御する(ステップS9)。
具体的には、走行制御部145は、まず、走行スケジュールTSにおいて、上記にて推定された自己位置及び/又は姿勢に最も近い位置及び/又は姿勢の次の位置及び/又は姿勢を、移動体1が移動すべき目標位置及び/又は目標姿勢と設定する。
次に、走行制御部145は、当該目標位置及び/又は目標姿勢と、上記にて推定された自己位置及び/又は姿勢との差に基づいて、モータ121a、121bのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、これらのモータに出力する。これにより、移動体1は、上記の目標位置及び/又は目標姿勢に向かって移動できる。
走行制御部145が上記のようにモータ121a、121bを制御後、走行スケジュールTSに示された最終の目標位置に到達していないか、又は、移動体1の移動がユーザなどにより停止されていない場合(ステップS10において「No」の場合)、プロセスはステップS2に戻る。
一方、走行スケジュールTSに示された最終の目標位置に到達したか、又は、移動体1の移動がユーザなどにより停止された場合(ステップS10において「Yes」の場合)、制御部14は、移動体1の移動を停止する。
上記のステップS1〜S10を実行することにより、自己位置推定部143は、マップマッチングにより移動体1の自己位置及び/又は姿勢が推定できる場合には、第1推定モードを実行して推定される第1自己位置及び/又は第1姿勢を、移動体1の自己位置及び/又は姿勢として精度よく推定できる。
その一方、マップマッチングにより移動体1の自己位置及び/又は姿勢が推定できない場合には、第2推定モードを実行して推定される第2自己位置及び/又は第2姿勢を、移動体1の自己位置及び/又は姿勢として推定できる。
その結果、走行制御部145は、移動体1がどの領域を移動している場合でも、移動体1の自己位置及び/又は姿勢の推定結果を入力して、当該推定結果に基づいて、モータ121a、121b(主輪123a、123b)を制御できる。
(4)ローカルマップ配置領域の調節方法
次に、上記のステップS5において実行される、ローカルマップ配置領域Aの調節方法について、図6を用いて説明する。図6は、ローカルマップ配置領域の調節方法を示すフローチャートである。
本実施形態において、調節部144は、ローカルマップ配置領域Aを調節すべき所定の条件に従って、ローカルマップ配置領域Aの大きさを調節する。具体的には、調節部144は、(i)ローカルマップ配置領域Aの大きさが属性情報AIにより指定された場合、(ii)第2推定モードが停止されて第1推定モードのみの推定が開始された場合、(iii)一時停止から移動を開始した場合、(iv)障害物により移動体1が囲まれた場合、及び(v)移動体1が一時停止中、との5つの条件が発生した時に、ローカルマップ配置領域Aの大きさを調節する。
従って、調節部144は、まず、移動体1の現在の自己位置(及び/又は姿勢)において設定されている属性情報AIが記憶部141に記憶されているか否かを判定する(ステップS501)。
現在の自己位置にて設定された属性情報AIが存在する場合(ステップS501において「Yes」の場合)、調節部144は、ローカルマップ配置領域Aの大きさを、属性情報AIに示された大きさに調節し(ステップS502)、プロセスを終了する。
上記のように、調節部144が、属性情報AIに従って、ローカルマップ配置領域Aの大きさを設定することにより、環境地図M1(移動環境ME)の各位置における状況(例えば、通路が(下り)坂になっているとの状況、又は、移動面が滑りやすい状況など)に応じて、ローカルマップ配置領域Aの大きさを調節できる。
その結果、例えば、移動体1が推定誤差を生じやすい領域を移動中には、ローカルマップ配置領域Aを拡大して当該推定誤差を素早く解消できる。その一方、誤推定が発生しやすい領域を移動中には、ローカルマップ配置領域Aを縮小して、誤推定を発生する位置にローカルマップM2が配置されたり、誤推定を発生する角度にてローカルマップM2が回転されたりすることを回避できる。
一方、移動体1の現在の自己位置及び/又は姿勢において属性情報AIが設定されていない場合(ステップS501において「No」の場合)、調節部144は、第2推定モードが停止されて第1推定モードのみの推定が開始されたか否かを判定する(ステップS503)。すなわち、調節部144は、第2推定モードにて累積された自己位置及び/又は姿勢(第2自己位置及び/又は第2姿勢)の推定誤差を、第1推定モードの実行により解消するか否かを決定する。
図3のフローチャートに示されているように、第2推定モードが停止され、第1推定モードのみにて自己位置及び/又は姿勢の推定が開始されるタイミングとしては、(I)移動体1が無障害領域から障害領域(特徴形状領域)へと移動したタイミングと、(II)移動体1が単調形状領域から特徴形状領域へと移動したタイミングと、が存在する。
従って、移動体1の現在の自己位置及び/又は姿勢から、移動体1が、特徴形状領域と無障害領域との境界近傍、又は、特徴形状領域と単調形状領域との境界近傍から、当該特徴形状領域中に向かって移動中であることが示されている場合(ステップS503において「Yes」の場合)、調節部144は、第2推定モードの実行により累積された推定誤差を解消するために、ローカルマップ配置領域Aを拡大する(ステップS504)。
ローカルマップ配置領域Aを拡大する場合の大きさは、例えば、第2推定モードによる第2自己位置及び/又は第2姿勢の推定を継続した時間が長くなればなるほど、大きくするようにする。なぜなら、主輪123a、123bの回転量に基づく第2自己位置及び/又は第2姿勢の推定誤差は、第2推定モードの実行時間が長くなればなるほど累積されて大きくなるからである。
ローカルマップ配置領域Aを拡大後、調節部144は、ローカルマップ配置領域Aの拡大を開始してから、所定の時間が経過したか否かを判定する(ステップS505)。 ローカルマップ配置領域Aを拡大する所定の時間は、例えば、第2推定モードによる第2自己位置及び/又は第2姿勢の推定を継続した時間が長くなればなるほど、長くする。
ローカルマップ配置領域Aの拡大を開始してから所定の時間が経過していない場合(ステップS505において「No」の場合)、調節部144は、ローカルマップ配置領域Aを拡大したマップマッチングによる第1自己位置及び/又は第1領域の推定が、累積された推定誤差を解消できるだけ実行されていないと判定する。この場合、調節部144は、ローカルマップ配置領域Aを拡大したまま保持する。
一方、ローカルマップ配置領域Aの拡大を開始してから所定の時間が経過した場合(ステップS505において「Yes」の場合)、調節部144は、第2推定モードの実行により累積された自己位置及び/又は姿勢の推定誤差が解消されたと判定し、ローカルマップ配置領域Aの大きさを、予め決められた大きさ(例えば、推定誤差を解消しない通常の第1推定モードにおける大きさ)に戻す(ステップS506)。
上記のように、第2推定モードの停止後に、ローカルマップ配置領域Aを拡大した状態にて第1推定モードを実行することにより、自己位置推定部143は、移動体1が移動中であっても、第2推定モードの実行により累積された推定誤差を解消しつつ、第1自己位置及び第1姿勢を推定できる。なぜなら、ローカルマップ配置領域Aを拡大することにより、自己位置推定部143は、移動体1の移動能力にて定められる範囲を超えてローカルマップM2を環境地図M1上に配置できるからである。
また、ローカルマップ配置領域Aを拡大した第1推定モードを所定の時間だけ実行後に、ローカルマップ配置領域Aの大きさを予め決められた大きさに戻す(縮小する)ことにより、累積された推定誤差を解消後に、第1自己位置及び/又は第1姿勢の推定に要する演算量が無駄に増大することを回避できる。その結果、第1自己位置及び/又は第1姿勢の推定にかかる時間を減少できる。
移動体1が特徴形状領域を継続的に移動しているか、又は、上記のステップS504〜S506を実行したことにより、第2推定モードの実行により累積された推定誤差が存在しない場合(ステップS503において「Yes」の場合)、調節部144は、移動体1が一時停止した後に移動を開始したか否かを判定する(ステップS507)。
例えば、調節部144は、エンコーダ125a、125bから出力されるパルス数が、ほぼ0から急激に上昇した場合に、移動体1が一時停止後に移動を開始したと判定できる。
移動体1が一時停止後に移動を開始した場合(ステップS507において「Yes」の場合)、調節部144は、ローカルマップ配置領域Aを所定の時間だけ拡大する(ステップS504〜S506)。
移動体1が一時停止状態から移動を開始したときに、ローカルマップ配置領域Aの大きさを、通常の第1推定モードの実行時よりも拡大することにより、自己位置推定部143は、一時停止状態から移動を開始したときに発生する自己位置及び/又は姿勢の推定誤差(主に、主輪123a、123bと移動面との間の滑りにより発生する)を、ローカルマップ配置領域Aを拡大した第1推定モードの実行により解消して、移動体の自己位置及び/又は姿勢の推定精度を維持できる。
一方、移動体1が一時停止した後に移動を開始した状態でないと判定された場合(ステップS507において「No」の場合)、調節部144は、移動体1が環境地図M1に表されていない未知の障害物(障害物)により囲まれているか否かを判定する(ステップS508)。移動体1が未知の障害物(障害物)により囲まれているか否かは、具体的には、以下のようにして判定する。
ここで、図7Aに示すように、移動環境MEにおいて、壁W1に囲まれた領域に1つの障害物O1が存在する領域に、移動体1が存在する場合を考える。また、環境地図M1は、図7Aに示す、壁W1に囲まれた領域に1つの障害物O1が存在する状態の時に生成されたものとする。
その後、移動体1が、上記の領域に自律的に移動してきたときに、図7Bに示すように、障害物O1の近傍に複数の障害物O2〜O7が存在したとする。図7A及び図7Bは、囲われ判定が実行される場合の一例を示す図である。
上記の場合、図7Aに示す状態のときに取得される環境地図M1は、図8Aに示すように、壁W1に対応する像と、障害物O1に対応する像とが含まれるものとなる。一方、移動体1が自律的に上記の領域に移動し、当該領域に図7Bに示すような未知の障害物O2〜O7が存在するようになった場合に得られるローカルマップM2は、例えば、図8Bに示すようなものとなる。図8Bに示すローカルマップM2では、壁W1及び障害物O1に対応する像に加えて、未知の障害物O2〜O7に対応する像が含まれる。
図8Aは、未知の障害物が存在しない場合に取得された環境地図の一例を示す図である。図8Bは、未知の障害物が存在する場合に取得されたローカルマップの一例を示す図である。
図8Aに示す環境地図M1(図9においては、薄い太実線にて示した像)と図8Bに示すローカルマップM2(図9においては、黒細線にて示した像)とを、図9に示すようにマップマッチングしたときに、例えば、移動体1を中心とした所定の半径を有する半円形状である囲われ判定領域SA内に、環境地図M1には現れていない像が所定の数以上存在する場合(図9に示す例では、4つ)に、調節部144は、移動体1が未知の障害物(障害物)O2〜O7に囲まれていると判定する。図9は、囲われの判定方法の一例を示す図である。
上記の判定方法を実行した結果、移動体1が未知の障害物(障害物)により囲まれていると判定された場合(ステップS508において「Yes」の場合)、調節部144は、ローカルマップ配置領域Aの大きさを、未知の障害物に囲まれていないとき(例えば、通常の第1推定モードの実行時における、予め決められた大きさ)よりも縮小する(ステップS509)。
例えば、調節部144は、ローカルマップ配置領域Aの大きさを、(予め決められた大きさ)−(囲まれ度*0.5)との関係式により算出される大きさに縮小する。ここで、「囲まれ度」は、例えば、囲われ判定時に囲われ判定領域SA内に含まれると判断された、未知の障害物に対応する像の数に基づいて決定できる。
移動体1が自律的に移動中に環境地図M1に現れていない未知の障害物に移動体1が囲まれて、図8Aに示す環境地図M1と、図8Bに示すローカルマップM2とが取得された場合、例えば、図10に示すように、未知の障害物に対応する像が、環境地図M1の壁として誤推定されて、移動体1の自己位置及び/又は姿勢が誤推定される可能性がある。図10は、未知の障害物に囲まれたために自己位置及び/又は姿勢が誤推定された場合の一例を示す図である。
このような場合に、調節部144が、ローカルマップ配置領域Aの大きさを調節して、例えば、図10において一点鎖線にて示すような縮小したローカルマップ配置領域Aを設定することにより、ローカルマップM2が、環境地図M1において、図10に示すような誤推定を発生させる位置に配置されることを回避できる。すなわち、未知の障害物の存在により、環境地図M1とローカルマップM2とのマップマッチングが不適切に行われて、第1自己位置及び/又は第1姿勢の誤推定が発生することを回避できる。
なお、上記のステップS508において移動体1が未知の障害物により囲まれていると判定された場合に、走行制御部145は、モータ121a、121bへの電力供給を停止し、主輪123a、123bの回転を停止することで、移動体1を停止させてもよい。このように移動体1を停止させる場合、調節部144は、ステップS509において、ローカルマップ配置領域Aの大きさを0としてもよい。
ローカルマップ配置領域Aの大きさを0とすることにより、第1自己位置及び/又は第1姿勢の誤推定を回避できる。
一方、移動体1が未知の障害物(障害物)により囲まれていないと判定された場合(ステップS508において「No」の場合)、調節部144は、移動体1が一時停止中であるか否かを判定する(ステップS510)。例えば、調節部144は、エンコーダ125a、125bから出力されるパルス数が(ほぼ)0である場合に、移動体1が一時停止中であると判定できる。
移動体1が一時停止中であると判定された場合(ステップS510において「Yes」の場合)、調節部144は、ローカルマップ配置領域Aの大きさを、例えば、0か0に近い大きさとして、移動体1が移動中であるときよりも縮小する(ステップS509)。
これにより、自己位置及び/又は姿勢にほとんど変化がない場合に、小さいローカルマップ配置領域Aを用いて、ローカルマップM2を必要以上に移動させることなく、第1自己位置及び/又は第1姿勢の推定に必要な演算量を減少できる。
一方、上記のステップS501〜S510の実行を試みた結果、現在、ローカルマップ配置領域Aの大きさを調節すべき所定の条件がいずれも発生していないと判定された場合(ステップS510において「No」の場合)、調節部144は、ローカルマップ配置領域Aの大きさを、予め決められた大きさ(通常の第1推定モードの実行時における大きさ)とする(ステップS511)。
これにより、ローカルマップ配置領域Aの大きさを調節すべき上記の条件がいずれも発生していない場合に、調節部144は、ローカルマップ配置領域Aの大きさを、予め決められた大きさとできる。
上記のステップS501〜S511を実行することにより、調節部144は、ローカルマップ配置領域Aの大きさを調節すべき所定の条件に従って、ローカルマップ配置領域Aの大きさを適切な大きさに調節できる。これにより、移動体1の自己位置及び/又は姿勢の推定精度を維持しつつ、マップマッチングによるこれらの推定に要する演算量が無駄に増大することを回避して、これらの推定にかかる時間を減少できる。
また、上記のステップS501〜S511を実行することにより、調節部144は、(i)ローカルマップ配置領域Aの大きさが属性情報により指定された場合、(ii)第2推定モードが停止されて第1推定モードのみの推定が開始された場合、(iii)一時停止から移動を開始した場合、(iv)障害物により移動体1が囲まれた場合、及び(v)移動体1が停止中、との順番で優先的にローカルマップ配置領域Aの大きさを調節できる。
すなわち、図6に示すように、調節部144が、上記の(i)〜(v)の条件を順番に判定することにより、これらの条件が同時に複数発生しても、より優先度の高い条件に従って、ローカルマップ配置領域Aの大きさが調節される。
例えば、属性情報AIが設定された位置において移動体1が一時停止している場合には、図6のフローチャートがステップS501において「Yes」となり、その結果ステップS502が実行されて、ローカルマップ配置領域Aの大きさを調節するプロセスが終了している。つまり、属性情報AIが設定された位置に移動体1が存在すると判定された場合には、属性情報AIに従ってローカルマップ配置領域Aの大きさが調節された後に、移動体1が一時停止しているか否かの判定が実行されていない。
なお、図6に示すローカルマップ配置領域の大きさの調節処理において、上記の(i)〜(v)の判定の順番を適宜変更することにより、各条件の優先度を任意に決定できる。
2.他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(A)囲われ検知の他の実施形態
上記の第1実施形態において、ステップS508において実行される囲まれ検知は、1つの囲まれ判定領域SAのみを用いて実行されていた。しかし、これに限られず、ステップS508において、調節部144は、複数の判定領域を用いて囲まれ検知を実行してもよい。例えば、図11に示すように、所定の中心角を有する扇形の複数の囲まれ判定領域SA1〜SA6を用いて、各囲まれ判定領域にいくつ未知の障害物を示す像が含まれているかを判定してもよい。図11は、囲まれ検知の他の実施形態を示す図である。
図11に示すような複数の囲まれ判定領域SA1〜SA6を用いて囲まれ判定を実行することにより、移動体1の移動方向毎に、囲まれ判定を実行できる。移動体1の移動方向毎に囲まれ検知を実行することにより、例えば、特定の方向に向けて特定の動作を移動体1にさせることができる。
例えば、移動体1が広告宣伝ロボットである場合には、未知の障害物が最も多く含まれる囲まれ判定領域が存在する方向に向けて、宣伝広告を集中的に実行してもよい。
その他、例えば、障害物の像が全く含まれない囲まれ判定領域が存在する場合には、当該方向に移動体1を移動させてもよい。
(B)環境地図についての他の実施形態
上記の第1実施形態において、環境地図M1は移動環境ME全体を表す1つの地図情報としていた。しかし、環境地図M1は移動環境MEを表していればよいので、環境地図M1を1つの地図情報としなくてもよい。
例えば、環境地図M1を複数の副環境地図に分割してもよい。この場合、副環境地図が移動環境MEのどの位置の地図情報であるかを判別するために、例えば、副環境地図を取得した時刻を、当該副環境地図に関連付けてもよい。
このように、環境地図M1を複数の副環境地図に分割することにより、移動環境MEが環状である場合に、移動体1の移動開始位置にて取得したローカルマップを用いて作成した環境地図の部分と、環状の移動環境MEを移動開始位置の近傍まで戻ってきたときに取得したローカルマップを用いて作成した環境地図の部分とが、一致しなくなるという問題が発生しにくくなる。
(C)ローカルマップ配置領域の他の実施形態
上記の第1実施形態において、ローカルマップ配置領域Aは、主輪123a、123bの回転量に基づいて推定される位置及び/又は姿勢の推定誤差を考慮した範囲として定義されていた。しかし、ローカルマップ配置領域Aは、これに限られない。
主輪123a、123bの回転量に基づいて推定される自己位置及び/又は姿勢には、推定誤差が含まれるものの、あまりにも大きな推定誤差が発生する可能性は低い。また、主輪123a、123bの回転量に基づいて推定された自己位置及び/又は姿勢は、実際の移動体1の自己位置及び/又は姿勢に近い傾向にある。
従って、ローカルマップ配置領域Aを、例えば、主輪123a、123bの回転量に基づいて推定される位置及び/又は姿勢の推定誤差の発生確率に基づいて定義してもよい。例えば、ローカルマップ配置領域Aを、ローカルマップ配置領域Aの中心(主輪123a、123bの回転量に基づいて推定された位置及び/姿勢)を平均とした正規分布関数(確率密度関数)を用いて定義してもよい。
この場合、調節部144は、例えば、ローカルマップ配置領域Aの大きさを、当該正規分布関数の標準偏差の大きさを調節することにより調節できる。
ローカルマップ配置領域Aを正規分布関数(確率密度関数)により定義した場合には、自己位置推定部143は、例えば、環境地図M1とローカルマップM2との一致度と、ローカルマップ配置領域Aを表す正規分布関数の値(ローカルマップ配置領域Aの中心から離れるほど小さくなる値)との積が最大となるローカルマップM2の配置位置及び/又は回転角度を、それぞれ、第1推定位置及び/又は第1姿勢と推定できる。
本発明は、移動環境を移動する移動体の自己位置及び/又はその姿勢を推定する装置に広く適用できる。
100 自己位置推定装置
1 移動体
11 本体
12 移動部
121a、121b モータ
123a、123b 主輪
125a、125b エンコーダ
13 レーザレンジセンサ
131 第1レーザレンジセンサ
133 第2レーザレンジセンサ
14 制御部
141 記憶部
142 ローカルマップ取得部
143 自己位置推定部
144 調節部
145 走行制御部
15 補助輪部
15a、15b 補助車輪
A ローカルマップ配置領域
AI 属性情報
M1 環境地図
M2 ローカルマップ
ME 移動環境
O1〜O7 障害物
SA 判定領域

Claims (14)

  1. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定装置であって、
    前記移動環境に存在する障害物の位置を表す環境地図を記憶する記憶部と、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するローカルマップ取得部と、
    前記環境地図に設定されるローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置である第1自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、前記第1自己位置における前記移動体の第1姿勢と推定する、第1推定モードを実行する自己位置推定部と、
    所定の条件に従って前記ローカルマップ配置領域の大きさを調節する調節部と、
    を備え、
    前記移動環境において、前記障害物が少数しか存在しない、又は、全く存在しない無障害領域から、前記障害物が存在する障害領域へと前記移動体が移動した場合、前記調節部は、前記ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大する、
    自己位置推定装置。
  2. 前記無障害領域を前記移動体が移動中に、前記自己位置推定部は、前記第1推定モードを実行しない、請求項に記載の自己位置推定装置。
  3. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定装置であって、
    前記移動環境に存在する障害物の位置を表す環境地図を記憶する記憶部と、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するローカルマップ取得部と、
    前記環境地図に設定されるローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置である第1自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、前記第1自己位置における前記移動体の第1姿勢と推定する、第1推定モードを実行する自己位置推定部と、
    所定の条件に従って前記ローカルマップ配置領域の大きさを調節する調節部と、
    を備え、
    前記環境地図が単調な形状を有する単調形状領域から、前記環境地図が特徴的な形状を有する特徴形状領域へと前記移動体が移動した場合、前記調節部は、前記ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大する、
    自己位置推定装置。
  4. 前記単調形状領域を前記移動体が移動中、又は、前記所定の時間の経過後、前記調節部は、前記ローカルマップ配置領域の大きさを、前記予め決められた大きさとする、請求項に記載の自己位置推定装置。
  5. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定装置であって、
    前記移動環境に存在する障害物の位置を表す環境地図を記憶する記憶部と、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するローカルマップ取得部と、
    前記環境地図に設定されるローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置である第1自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、前記第1自己位置における前記移動体の第1姿勢と推定する、第1推定モードを実行する自己位置推定部と、
    所定の条件に従って前記ローカルマップ配置領域の大きさを調節する調節部と、
    を備え、
    前記移動体は前記移動環境を移動するための主輪を有し
    前記自己位置推定部は、前記主輪の回転量に基づいて、前記移動体の前記移動環境における自己位置及び/又は姿勢を、それぞれ、第2自己位置及び/又は第2姿勢と推定する第2推定モードをさらに実行可能であり、
    少なくとも前記第2推定モードを実行している状態から、前記第1推定モードのみを実行する状態へと切り替わってから所定の時間、前記調節部は、前記ローカルマップ配置領域を、通常の前記第1推定モードの実行時の大きさよりも拡大する、
    自己位置推定装置。
  6. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定装置であって、
    前記移動環境に存在する障害物の位置を表す環境地図を記憶する記憶部と、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するローカルマップ取得部と、
    前記環境地図に設定されるローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置である第1自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、前記第1自己位置における前記移動体の第1姿勢と推定する、第1推定モードを実行する自己位置推定部と、
    所定の条件に従って前記ローカルマップ配置領域の大きさを調節する調節部と、
    を備え、
    前記移動体が、前記環境地図に表されていない未知の障害物に囲まれている場合、前記調節部は、前記ローカルマップ配置領域の大きさを、前記未知の障害物に囲まれていないときよりも縮小する、
    自己位置推定装置。
  7. 前記移動体が一時停止状態から移動を開始したら、前記調節部は、前記ローカルマップ配置領域の大きさを、通常の前記第1推定モードの実行時よりも拡大する、請求項1〜6のいずれかに記載の自己位置推定装置。
  8. 前記移動体が一時停止したら、前記調節部は、前記ローカルマップ配置領域の大きさを、通常の前記第1推定モードの実行時よりも縮小する、請求項1〜7のいずれかに記載の自己位置推定装置。
  9. 前記記憶部は、前記環境地図の所定の位置における前記ローカルマップ配置領域の大きさを定める属性情報をさらに記憶し、
    前記調節部は、前記属性情報に従って、前記ローカルマップ配置領域の大きさを設定する、請求項1〜のいずれかに記載の自己位置推定装置。
  10. 前記ローカルマップ配置領域の大きさを調節すべき前記所定の条件が同時に複数発生したら、前記調節部は、当該複数の条件のうち、優先度がより高い条件に従って前記ローカルマップ配置領域の大きさを設定する、請求項1〜のいずれかに記載の自己位置推定装置。
  11. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定方法であって、
    前記移動環境に存在する障害物の位置を表す環境地図を生成するステップと、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するステップと、
    前記環境地図に設定され、所定の条件に従って大きさが調節されたローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、当該自己位置における前記移動体の姿勢と推定するステップと、
    を含み、
    前記自己位置と前記姿勢を推定するステップにおいて、前記移動環境において、前記障害物が少数しか存在しない、又は、全く存在しない無障害領域から、前記障害物が存在する障害領域へと前記移動体が移動した場合、前記ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大する、
    自己位置推定方法。
  12. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定方法であって、
    前記移動環境に存在する障害物の位置を表す環境地図を生成するステップと、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するステップと、
    前記環境地図に設定され、所定の条件に従って大きさが調節されたローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、当該自己位置における前記移動体の姿勢と推定するステップと、
    を含み、
    前記自己位置と前記姿勢を推定するステップにおいて、前記環境地図が単調な形状を有する単調形状領域から、前記環境地図が特徴的な形状を有する特徴形状領域へと前記移動体が移動した場合、前記ローカルマップ配置領域の大きさを、所定の時間、予め決められた大きさよりも拡大する、
    自己位置推定方法。
  13. 移動環境を移動するための主輪を備える移動体の自己位置及び/又は姿勢を推定する自己位置推定方法であって、
    前記移動環境に存在する障害物の位置を表す環境地図を生成するステップと、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するステップと、
    前記環境地図に設定され、所定の条件に従って大きさが調節されたローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置である第1自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、前記第1自己位置における前記移動体の第1姿勢と推定する、第1推定モードを実行するステップと、
    前記主輪の回転量に基づいて、前記移動体の前記移動環境における自己位置及び/又は姿勢を、それぞれ、第2自己位置及び/又は第2姿勢と推定する第2推定モードを実行するステップと、
    少なくとも前記第2推定モードを実行している状態から、前記第1推定モードのみを実行する状態へと切り替わってから所定の時間、前記ローカルマップ配置領域を、通常の前記第1推定モードの実行時の大きさよりも拡大するステップと、を含む、
    自己位置推定方法。
  14. 移動環境における移動体の自己位置及び/又は姿勢を推定する自己位置推定方法であって、
    前記移動環境に存在する障害物の位置を表す環境地図を生成するステップと、
    前記移動体の周囲に存在する前記障害物の前記移動体に対する相対的な位置を表すローカルマップを取得するステップと、
    前記環境地図に設定され、所定の条件に従って大きさが調節されたローカルマップ配置領域内の複数の配置位置にて前記ローカルマップを配置及び/又は回転したときに、前記ローカルマップが前記環境地図と最も一致する前記配置位置を、前記移動体の前記移動環境における前記自己位置と推定し、及び/又は、当該配置位置における前記ローカルマップの回転角を、当該自己位置における前記移動体の姿勢と推定するステップと、
    を含み、
    前記自己位置と前記姿勢を推定するステップにおいて、前記移動体が前記環境地図に表されていない未知の障害物に囲まれている場合、前記ローカルマップ配置領域の大きさを、前記未知の障害物に囲まれていないときよりも縮小する、
    自己位置推定方法。
JP2016104415A 2016-05-25 2016-05-25 自己位置推定装置、及び、自己位置推定方法 Active JP6711138B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016104415A JP6711138B2 (ja) 2016-05-25 2016-05-25 自己位置推定装置、及び、自己位置推定方法
US15/587,424 US10444764B2 (en) 2016-05-25 2017-05-05 Self-position estimating apparatus and self-position estimating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016104415A JP6711138B2 (ja) 2016-05-25 2016-05-25 自己位置推定装置、及び、自己位置推定方法

Publications (2)

Publication Number Publication Date
JP2017211825A JP2017211825A (ja) 2017-11-30
JP6711138B2 true JP6711138B2 (ja) 2020-06-17

Family

ID=60418668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016104415A Active JP6711138B2 (ja) 2016-05-25 2016-05-25 自己位置推定装置、及び、自己位置推定方法

Country Status (2)

Country Link
US (1) US10444764B2 (ja)
JP (1) JP6711138B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2952993B1 (en) * 2014-06-05 2018-04-25 Softbank Robotics Europe Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot
JP2019109773A (ja) * 2017-12-19 2019-07-04 株式会社ダイヘン 移動体
KR20200100810A (ko) * 2018-02-01 2020-08-26 토르드라이브 아이엔씨 자율 주행을 위한 자차 위치 예측 방법 및 자율 주행 장치
EP3770712B1 (en) * 2018-03-19 2022-09-21 Honda Motor Co., Ltd. Autonomous traveling work machine
JP7281707B2 (ja) * 2018-07-06 2023-05-26 パナソニックIpマネジメント株式会社 移動ロボット、及び、制御方法
JP7283085B2 (ja) * 2019-01-17 2023-05-30 株式会社豊田自動織機 走行制御装置
JP7180399B2 (ja) * 2019-01-18 2022-11-30 株式会社豊田自動織機 走行制御装置
CN109947103B (zh) * 2019-03-18 2022-06-28 深圳一清创新科技有限公司 无人驾驶控制方法、装置、系统和承载设备
TWI687706B (zh) * 2019-04-02 2020-03-11 廣達電腦股份有限公司 移動裝置之定位系統
DE112020004037T5 (de) * 2019-08-29 2022-09-08 Sony Group Corporation Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
CN113763551B (zh) * 2021-09-08 2023-10-27 北京易航远智科技有限公司 一种基于点云的大规模建图场景的快速重定位方法
JPWO2023053602A1 (ja) * 2021-09-29 2023-04-06
CN113674345B (zh) * 2021-10-25 2022-04-15 成都新西旺自动化科技有限公司 一种二维像素级三维定位系统及定位方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001264099A (ja) * 2000-03-15 2001-09-26 Honda Motor Co Ltd 車両用ナビゲーション装置
JP4175165B2 (ja) 2002-04-17 2008-11-05 松下電工株式会社 自律移動装置
KR100498965B1 (ko) * 2003-04-22 2005-07-01 삼성전자주식회사 차량간 임시 무선 네트워크를 이용한 차량 운행정보 교환방법 및 시스템
JP4999734B2 (ja) * 2008-03-07 2012-08-15 株式会社日立製作所 環境地図生成装置、方法及びプログラム
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
JP2012128781A (ja) * 2010-12-17 2012-07-05 Toyota Motor Corp 移動体
JP5776332B2 (ja) * 2011-05-27 2015-09-09 富士通株式会社 地図処理方法及びプログラム、並びにロボットシステム
JP5763986B2 (ja) 2011-06-30 2015-08-12 株式会社日立産機システム 移動体および移動体の制御方法
JP5800613B2 (ja) * 2011-07-08 2015-10-28 株式会社日立産機システム 移動体の位置・姿勢推定システム
KR101428877B1 (ko) * 2012-12-05 2014-08-14 엘지전자 주식회사 로봇 청소기
JP2014197294A (ja) * 2013-03-29 2014-10-16 株式会社日立産機システム 位置同定装置、及びそれを備えた移動ロボット
JP6233706B2 (ja) * 2013-04-02 2017-11-22 パナソニックIpマネジメント株式会社 自律移動装置及び自律移動装置の自己位置推定方法
JP6192506B2 (ja) * 2013-11-20 2017-09-06 株式会社日立産機システム 移動体
JP2015141580A (ja) 2014-01-29 2015-08-03 トヨタ自動車株式会社 移動装置
JP6520048B2 (ja) * 2014-10-30 2019-05-29 村田機械株式会社 移動体
US9632504B1 (en) * 2015-04-30 2017-04-25 X Development Llc Robotic navigation based on building surface contours

Also Published As

Publication number Publication date
US10444764B2 (en) 2019-10-15
JP2017211825A (ja) 2017-11-30
US20170344025A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
JP6711138B2 (ja) 自己位置推定装置、及び、自己位置推定方法
KR100772912B1 (ko) 절대 방위각을 이용한 로봇 및 이를 이용한 맵 작성 방법
JP6481347B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP5310285B2 (ja) 自己位置推定装置及び自己位置推定方法
JP5287051B2 (ja) 自律移動装置
JP4670807B2 (ja) 移動経路作成方法、自律移動体および自律移動体制御システム
JP2011209845A (ja) 自律移動体、自己位置推定方法、地図情報作成システム
JP2008139035A (ja) 3次元環境計測装置及びそれを備えた移動ロボット
JP6617482B2 (ja) 自律走行車システム
JP2010134742A (ja) 障害物回避機能を有する移動制御装置
JP5553220B2 (ja) 移動体
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
JP2009110251A (ja) 障害認識装置及びこれを有する自律走行移動体並びにその制御方法
JP2018022215A (ja) 移動教示装置、及び、移動教示方法
WO2018179960A1 (ja) 移動体および自己位置推定装置
JP2009080527A (ja) 自律移動装置
JP2020004342A (ja) 移動体制御装置
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JPWO2016009585A1 (ja) 自律移動体とその制御方法
JP6801243B2 (ja) 移動目標決定装置、及び、移動目標決定方法
JP2022013243A (ja) 移動体制御装置、地図生成方法、及び地図生成プログラム
JP6717132B2 (ja) 車両走行制御方法及び車両走行制御装置
WO2018180175A1 (ja) 移動体、信号処理装置およびコンピュータプログラム
US10119804B2 (en) Moving amount estimating apparatus, autonomous mobile body, and moving amount estimating method
JP2016081327A (ja) 移動量推定装置、自律移動体、及び移動量の推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200323

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200511

R150 Certificate of patent or registration of utility model

Ref document number: 6711138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250