(58)【調査した分野】(Int.Cl.,DB名)
前記第1移動ロボットの現在位置が前記第3領域に存在せず、前記第2領域と前記第3領域とが重ならない場合に、前記第4領域について、前記第1領域の地図情報が更新される、
請求項8に記載の地図生成方法。
第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサ、及び前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサを有する移動ロボットと、
前記第1領域に設置された第3センサと、
前記移動ロボット及び前記第3センサと通信するサーバと、
を備え、
前記サーバは、
(i)前記第1情報と前記第2情報に基づいて計算された、前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された、前記第3センサの検出領域である第3領域を示す第5情報と、に基づいて、前記第2領域と前記第3領域とが重なる領域である第4領域が存在するか否かを判断し、前記第4領域が存在すると判断された場合、前記第4領域のうち前記第1物体を含む第5領域について、前記移動ロボットに予め格納された前記第1領域の地図情報を更新する地図情報更新部と、
を有する、地図生成システム。
第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサ、及び前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサを有する移動ロボットと、
前記第1領域に設置された第3センサと、
前記移動ロボット及び前記第3センサと通信するサーバと、
を備え、
前記サーバは、
(i)前記第1情報と前記第2情報に基づいて計算された前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された前記第3センサの検出領域である第3領域を示す第5情報と、(iii)前記移動ロボットに予め格納された前記第1領域の地図情報と、に基づいて、前記第2領域外であって前記第3領域に含まれる第4領域に存在する第2物体が第1位置から第2位置に変化したか否かを判断し、前記第2物体が前記第1位置から前記第2位置に変化したと判断された場合、前記第4領域について、前記第1領域の地図情報を更新する地図情報更新部、
を有する、地図生成システム。
【発明を実施するための形態】
【0013】
(1)本開示に係る第1の態様の地図生成方法は、第1領域を移動し、第1センサおよび第2センサを備える第1移動ロボットが行う地図生成方法であって、前記第1センサから第1情報を取得し、前記第1情報は前記第1移動ロボットの移動量を示す情報を含み、前記第2センサから第2情報を取得し、前記第2情報は前記第1移動ロボットの観測領域に存在する第1物体から前記第1移動ロボットまでの距離を示す情報を含み、前記第1領域に設置された第3センサから第3情報を取得し、前記第3情報は前記第3センサの観測領域における映像情報を含み、前記第1情報と前記第2情報に基づいて計算された、前記第2センサの検出領域である第2領域を示す第4情報を取得し、前記第3情報に基づいて計算された、前記第3センサの検出領域である第3領域を示す第5情報を取得し、前記第4情報と前記第5情報に基づいて、前記第2領域と前記第3領域とが重なる領域である第4領域が存在するか否か判断し、前記第4領域が存在すると判断された場合、前記第4領域のうち前記第1物体を含む第5領域について、前記第1移動ロボットに予め格納された前記第1領域の地図情報を更新する。
【0014】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域において、移動ロボットの地図情報を更新することができる。そのため、より精度の高い地図を生成することができる。
【0015】
(2)上記態様において、さらに、前記第1情報と前記第2情報に基づいて、前記第1移動ロボットの現在位置と姿勢を示す第6情報を推定し、前記第4情報は、前記第6情報に基づいて計算されてもよい。
【0016】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域に関する地図情報の信頼度を上げることができる。そのため、より精度の高い地図を生成することができる。
【0017】
(3)上記態様において、前記第1物体の位置を示す第1位置情報の信頼度を更新することで、前記第1領域の地図情報が更新されてもよい。
【0018】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域に関する地図情報の信頼度を上げることができる。そのため、より精度の高い地図を生成することができる。
【0019】
(4)上記態様において、前記第1位置情報の第1分散値を、前記第1分散値より小さい第2分散値に更新することで、前記第1位置情報の信頼度が更新されてもよい。
【0020】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域に関する地図情報の信頼度を上げることができる。そのため、より精度の高い地図を生成することができる。
【0021】
(5)上記態様において、前記第3センサは、前記第1領域に配置されており、前記第1領域の地図情報は第1座標系によって表現されており、前記第5情報は第2座標系によって表現されており、さらに、前記第2座標系を前記第1座標系に変換してもよい。
【0022】
このような構成により、第1領域に配置された第3センサの検出領域の座標を、第1領域を移動する移動ロボットの地図情報の座標に合わせることができるため、更に精度の高い地図を生成することができる。
【0023】
(6)上記態様において、前記第3センサは、前記第1移動ロボットとは異なる第2移動ロボットに備えられ、前記第1領域の地図情報は第1座標系によって表現されており、前記第5情報は前記第2移動ロボットの第2座標系によって表現されており、さらに、前記第2座標系を前記第1座標系に変換してもよい。
【0024】
このような構成により、第2移動ロボットの第3センサを使用して地図情報を生成することができるため、短時間で精度の高い地図を生成することができる。
【0025】
(7)本開示に係る第2の態様の地図生成方法は、第1領域を移動し、第1センサおよび第2センサを備える第1移動ロボットが行う地図生成方法であって、前記第1センサから第1情報を取得し、前記第1情報は前記第1移動ロボットの移動量を示す情報を含み、前記第2センサから第2情報を取得し、前記第2情報は前記第1移動ロボットの観測領域に存在する第1物体から前記第1移動ロボットまでの距離を示す情報を含み、前記第1領域に設置された第3センサから第3情報を取得し、前記第3情報は前記第3センサの観測領域における映像情報を含み、前記第1情報と前記第2情報に基づいて計算された、前記第2センサの検出領域である第2領域を示す第4情報を取得し、前記3情報に基づいて計算された前記第3センサの検出領域である第3領域を示す第5情報を取得し、前記第4情報と前記第5情報と前記第1移動ロボットに予め格納された前記第1領域の地図情報に基づいて、前記第2領域外であって前記第3領域に含まれる第4領域に存在する第2物体が第1位置から第2位置に変化したか否か判断し、前記第2物体が前記第1位置から前記第2位置に変化したと判断された場合は、前記第4領域について、前記第1領域の地図情報を更新する。
【0026】
このような構成により、第3センサにより取得した映像情報に基づいて、第2センサの検出領域外の環境の変化を検出することができる。そのため、移動ロボットは、環境の変化を検出した領域に関する地図情報を、第3センサの情報を使用して更新することができる。その結果、環境の変化が生じた場合でも、より精度の高い地図を生成することができる。
【0027】
(8)上記態様において、さらに、前記第1情報と前記第2情報に基づいて、前記第1移動ロボットの現在位置と姿勢を示す第6情報を推定し、前記第4情報は、前記第6情報に基づいて計算されてもよい。
【0028】
このような構成により、移動ロボットが自己位置及び姿勢をロバストに推定することができ、より精度の高い地図を生成することができる。
【0029】
(9)上記態様において、前記第2物体の位置を示す第1位置情報の信頼度を更新することで、前記第4領域の地図情報が更新されてもよい。
【0030】
このような構成により、移動ロボットは、環境の変化を検出した領域に関する地図情報の信頼度を、第3センサの情報を使用して更新することができる。その結果、環境の変化が生じた場合でも、より精度の高い地図を生成することができる。
【0031】
(10)上記態様において、前記第1位置情報の第1分散値を、前記第1分散値より大きい第2分散値に更新することで、前記第1位置情報の信頼度が更新されてもよい。
【0032】
このような構成により、環境の変化を検出した領域に関する地図情報の信頼度を下げることができる。これによって、移動ロボットは、信頼度の低い部分の地図情報に頼らずに信頼度の高い部分の地図情報に基づいて、自己位置及び姿勢を推定することができる。その結果、より精度の高い地図を生成することができる。
【0033】
(11)上記態様において、前記第1位置から前記第2位置の変化量に応じて、前記第2分散値は前記第1分散値より大きくされてもよい。
【0034】
このような構成により、環境の変化の量に対応させて分散の値を大きくすることで、移動ロボットの自己位置及び姿勢を更に正確に推定することができる。これによって、更に精度の高い地図情報を生成することができる。
【0035】
(12)上記態様において、前記第1移動ロボットの現在位置が前記第3領域に存在せず、前記第2領域と前記第3領域とが重ならない場合に、前記第4領域について、前記第1領域の地図情報が更新されてもよい。
【0036】
このような構成により、移動ロボットの死角で環境の変化が生じた場合でも、第3センサにより取得した情報を用いて、環境の変化を検出した領域に関する地図情報の信頼度を更新することができる。このため、移動ロボットの死角で環境の変化が生じた場合でも、変化が生じた領域の地図情報を短時間で修正し、精度の高い地図を生成することができる。
【0037】
(13)上記態様において、前記第3センサは、前記第1領域に配置されており、前記第1領域の地図情報は第1座標系によって表現されており、前記第5情報は第2座標系によって表現されており、さらに、前記第2座標系を前記第1座標系に変換されてもよい。
【0038】
このような構成により、第1領域に配置された第3センサの検出領域の座標を、移動ロボットの地図情報の座標に合わせることができるため、更に精度の高い地図を生成することができる。
【0039】
(14)上記態様において、前記第3センサは、前記第1移動ロボットとは異なる第2移動ロボットに備えられ、前記第1領域の地図情報は第1座標系によって表現されており、前記第5情報は前記第2移動ロボットの第2座標系によって表現されており、さらに、前記第2座標系を前記第1座標系に変換されてもよい。
【0040】
このような構成により、第2移動ロボットの第3センサを使用して地図情報を生成することができるため、短時間で精度の高い地図を生成することができる。
【0041】
(15)上記態様において、さらに、前記第2センサから、所定時間前記第2情報の取得を行っていない第5領域について、前記地図情報について前記第5領域の第3分散値を前記第3分散値より大きい第4分散値に更新されてもよい。
【0042】
このような構成により、所定の時間、第2センサにより第2情報の取得を行っていない領域に関する地図情報の信頼度を下げることができる。これによって、信頼度の低い部分の地図情報に頼らずに信頼度の高い部分の地図情報に基づいて、自己位置及び姿勢を推定することができる。その結果、より精度の高い地図を生成することができる。
【0043】
(16)本開示に係る第3の態様の移動ロボットは、第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサと、前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサと、(i)前記第1情報と前記第2情報に基づいて計算された、前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された、前記第3センサの検出領域である第3領域を示す第5情報と、に基づいて、前記第2領域と前記第3領域とが重なる領域である第4領域が存在するか否かを判断し、前記第4領域が存在すると判断された場合、前記第4領域のうち前記第1物体を含む第5領域について、前記移動ロボットに予め格納された前記第1領域の地図情報を更新する地図情報更新部と、を備える。
【0044】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域において、移動ロボットの地図情報を、第3センサにより取得された情報を用いて更新することができる。そのため、より精度の高い地図を生成することができる。
【0045】
(17)本開示に係る第4の態様の移動ロボットは、第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサと、前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサと、(i)前記第1情報と前記第2情報に基づいて計算された前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された前記第3センサの検出領域である第3領域を示す第5情報と、(iii)前記移動ロボットに予め格納された前記第1領域の地図情報と、に基づいて、前記第2領域外であって前記第3領域に含まれる第4領域に存在する第2物体が第1位置から第2位置に変化したか否かを判断し、前記第2物体が前記第1位置から前記第2位置に変化したと判断された場合、前記第4領域について、前記第1領域の地図情報を更新する地図情報更新部と、を備える。
【0046】
このような構成により、第3センサにより取得した第3情報に基づいて、第2センサの検出領域外の環境の変化を検出することができる。そのため、移動ロボットは、環境の変化を検出した領域に関する地図情報を、第3センサの情報を使用して更新することができる。その結果、環境の変化が生じた場合でも、より精度の高い地図を生成することができる。
【0047】
(18)本開示に係る第5の態様の地図生成システムは、第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサ、及び前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサを有する移動ロボットと、前記第1領域に設置された第3センサと、前記移動ロボット及び前記第3センサと通信するサーバと、を備え、前記サーバは、(i)前記第1情報と前記第2情報に基づいて計算された、前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された、前記第3センサの検出領域である第3領域を示す第5情報と、に基づいて、前記第2領域と前記第3領域とが重なる領域である第4領域が存在するか否かを判断し、前記第4領域が存在すると判断された場合、前記第4領域のうち前記第1物体を含む第5領域について、前記移動ロボットに予め格納された前記第1領域の地図情報を更新する地図情報更新部と、を有する。
【0048】
このような構成により、移動ロボットの第2センサの検出領域と第3センサの検出領域とが重なる領域における地図情報を、第3センサにより取得された情報を用いて更新することができる。そのため、より精度の高い地図を生成することができる。
【0049】
(19)本開示に係る第6態様の地図生成システムは、第1領域を移動する移動ロボットであって、前記移動ロボットの移動量を示す第1情報を取得する第1センサ、及び前記移動ロボットの観測領域に存在する第1物体から前記移動ロボットまでの距離を示す第2情報を取得する第2センサを有する移動ロボットと、前記第1領域に設置された第3センサと、前記移動ロボット及び前記第3センサと通信するサーバと、を備え、前記サーバは、(i)前記第1情報と前記第2情報に基づいて計算された前記第2センサの検出領域である第2領域を示す第4情報と、(ii)前記第1領域に設置された第3センサの観測領域における映像情報を含む第3情報に基づいて計算された前記第3センサの検出領域である第3領域を示す第5情報と、(iii)前記移動ロボットに予め格納された前記第1領域の地図情報と、に基づいて、前記第2領域外であって前記第3領域に含まれる第4領域に存在する第2物体が第1位置から第2位置に変化したか否かを判断し、前記第2物体が前記第1位置から前記第2位置に変化したと判断された場合、前記第4領域について、前記第1領域の地図情報を更新する地図情報更新部、を有する。
【0050】
このような構成により、第3センサにより取得した第3情報に基づいて、第2センサの検出領域外の環境の変化を検出することができる。そのため、サーバは、環境の変化を検出した領域に関する地図情報を、第3センサの情報を使用して更新することができる。その結果、環境の変化が生じた場合でも、より精度の高い地図を生成することができる。
【0051】
(本開示に係る一形態を得るに至った経緯)
SLAM技術では、一度信頼度の高い地図情報が作成されると、地図情報が作成された領域では専ら外界センサの情報と作成済みの地図情報に基づいて、移動ロボットの自己位置及び姿勢を推定するようになる。
【0052】
特許文献1に開示された自律走行車においては、飛行体と自律走行車自身とで地図情報を生成した後、生成された地図情報と自律走行車のセンサで得られた情報に基づき、対象物に対しての自身の位置及び姿勢を推定している。
【0053】
特許文献1では、自律走行車にて取得した情報と、飛行体からの情報とを用いて、自律走行車の走行可否を算出することが記載されている。しかしながら、特許文献1に開示された自律走行車においては、環境センサなどの外部のセンサ情報を用いて、地図生成の精度向上を行う点については検討されていない。
【0054】
また、特許文献1に開示された自律走行車においては、外乱により周辺環境が変化した場合、実際の地図と自律走行車の地図情報とが対応しなくなり、自律走行車の地図情報とセンサの情報に基づいて自己位置及び姿勢を推定することができなくなる。更に、特許文献1に開示された自律走行車においては、環境の変化が生じた領域に関する地図情報を、実際の地図に対応させるように更新するのに時間がかかる。これらは、発明者らによって新たに見出された課題である。
【0055】
そこで、発明者らは、鋭意研究したところ、環境センサで取得された環境情報に基づいて、移動ロボットの地図情報の信頼度を更新することによって、精度の高い地図情報を生成することができることを見出した。
【0056】
以下、本開示の実施形態について、添付の図面を参照しながら説明する。また、各図においては、説明を容易なものとするため、各要素を誇張して示している。
【0057】
(実施の形態1)
[システム構成]
図1は、実施の形態1に係る地図生成システムの概略構成図を示す。
図1に示すように、地図生成システム100は、ネットワーク110と、移動ロボット200と、環境センサ301、302、303とを備える。
【0058】
地図生成システム100において、移動ロボット200は、ネットワーク110を介して、複数の環境センサ301、302、303に接続されている。環境センサ301、302、303は、予め周辺環境に所定の間隔で配置されている。環境センサ301、302、303は、移動ロボット200の上方からそれぞれ検出領域311、312、313内の環境情報を取得している。検出領域311、312、313は、それぞれの環境センサ301、302、303が周辺環境を観測可能な領域を示している。移動ロボット200は、後述する外界センサによって、検出領域201内の外界情報を取得している。
【0059】
[移動ロボット]
次に、移動ロボット200について説明する。
移動ロボット200は、一般的な自走式ロボットと同等の構成を有する。具体的には、移動制御情報に応じて移動する駆動装置を備える。また、移動ロボット200は、自己の位置及び姿勢の推定、環境センサとの通信、及び地図情報の生成を行うことが可能な構成を有する。
【0060】
本明細書において、「位置」とは、地図情報における場所を意味する。また、「姿勢」とは、移動ロボット200の向きを意味しており、例えば所定の基準方向に対する回転角で表現する。向きには、水平方向の向きのみならず3次元方向の向きも含まれる。
【0061】
図2は、移動ロボット200の構成を示すブロック図である。
図2に示すように、移動ロボット200は、ロボット側通信部210、内界センサ220、外界センサ230、座標変換部240、自己位置及び姿勢推定部250、尤度計算部260、地図情報更新部270、及び地図情報記録部280を備える。また、移動ロボット200は、これらの要素を制御する制御部を備えるが、
図2においては説明を簡略化するために省略している。
【0062】
<ロボット側通信部>
ロボット側通信部210は、環境センサ301、302、303と通信を行う通信装置である。ロボット側通信部210は、ネットワーク110を介して、環境センサ301、302、303と通信し、環境センサ301、302、303の検出領域311、312、313内の環境情報を取得する。ロボット側通信部210は、無線通信によりネットワーク110にアクセスしている。ロボット側通信部210で取得した環境センサ301、302、303の環境情報は、座標変換部240に送られる。
【0063】
<内界センサ>
内界センサ220は、移動ロボット200の内界情報を取得する。内界情報とは、移動ロボット200の現在の自己位置及び姿勢を予測するための情報であり、例えば、移動ロボット200の移動量等に関する情報(第1情報)である。内界センサ220としては、加速度センサや角速度センサ、車輪の回転量を測定するロータリーエンコーダ等を利用することができる。内界センサ220によって取得された内界情報は、自己位置及び姿勢推定部250に送られる。内界センサ220は、第1センサと称してもよい。
【0064】
<外界センサ>
外界センサ230は、移動ロボット200の外界情報を取得する。外界情報とは、外界センサ230の観測領域にある実際の周辺環境の情報であり、例えば、周辺環境に配置された対象物(物体)と移動ロボット200との間の距離等の情報(第2情報)である。外界センサ230としては、カメラ、又はTOF(Time Of Flight)方式で距離を測定する光学式測距センサ等を利用することができる。外界センサ230で取得された外界情報は、尤度計算部260に送られる。外界センサ230は、第2センサと称してもよい。
【0065】
<座標変換部>
座標変換部240は、ロボット側通信部210から環境情報を受け取る。座標変換部240は、環境情報の座標を、移動ロボット200の地図情報の座標に合わせるように変換する。環境情報の座標を移動ロボット200の地図情報の座標に合わせる変換は、環境センサ301、302、303の設置位置の座標を予め座標変換部240に与えることで行っている。座標変換部240で座標変換された環境情報は、地図情報更新部270に送られる。
【0066】
<自己位置及び姿勢推定部>
自己位置及び姿勢推定部250は、内界センサ220によって取得された内界情報に基づいて、移動ロボット200の現在の自己位置及び姿勢を予測する。具体的には、自己位置及び姿勢推定部250は、内界センサ220によって得られた移動量に関する情報を用いて、地図情報記録部280に記録された移動ロボット200の過去の位置及び姿勢の情報から現在の予測される自己位置及び姿勢を計算する。計算された自己位置及び姿勢の情報は、尤度計算部260に送られ、自己位置及び姿勢推定部250で予測された自己位置及び姿勢から得られる見込みの予測外界情報を計算するのに用いられる。また、自己位置及び姿勢推定部250は、尤度計算部260から尤度情報を受け取る。自己位置及び姿勢推定部250は、尤度情報と予測した自己位置及び姿勢の情報に基づいて自己位置及び姿勢のズレを計算し、移動ロボット200の現在の自己位置及び姿勢を推定する。自己位置及び姿勢推定部250で推定された自己位置及び姿勢の情報は、地図情報記録部280に送られる。
【0067】
<尤度計算部>
尤度計算部260は、外界センサ230で得られた外界情報と、自己位置及び姿勢推定部250で予測された自己位置及び姿勢から計算された予測外界情報との対応度を計算し、尤度を計算する。尤度計算部260は、画像特徴量を用いて計算を行う方法や、点群としてICP(ITERATIVE CLOSEST POINT)法を用いて尤度の計算を行っている。尤度計算部260で計算された尤度の情報は、自己位置及び姿勢推定部250と地図情報記録部280とに送られる。
【0068】
<地図情報更新部>
地図情報更新部270は、環境センサ301、302、303の検出領域311、312、313と、外界センサ230の検出領域201とが重なる領域があるか否かを判断している。重なる領域があると判断した場合、地図情報更新部270は、環境センサ301、302、303で取得した環境情報に基づいて、重なる領域の地図情報の信頼度を更新する。具体的には、地図情報更新部270は、重なる領域の分散の値を小さくすることにより、重なる領域に関する地図情報の信頼度を上げている。
【0069】
「分散」について、
図3を用いて説明する。
図3は、分散の定義を説明する図である。
図3に示すように、移動ロボット200に搭載された外界センサ230から対象物(物体)400までの距離を測定した場合、測定した距離には、センサの分解能による精度の問題やノイズの問題によって誤差が生じる。本明細書において「分散」とは、この誤差の大きさを意味する。本明細書において、分散の値が大きいとは、誤差が大きく、地図情報の信頼度が低いことを示し、分散の値が小さいとは、誤差が小さく、地図情報の信頼度が高いことを示す。
【0070】
また、地図情報更新部270は、座標変換部240から座標変換された環境情報を受け取り、受け取った環境情報に基づいて外界センサ230の検出領域201の外側の領域における環境の変化を検出する変化検出部を備える。変化検出部において、環境の変化を検出した場合、地図情報更新部270は、環境の変化を検出した領域に関する地図情報の信頼度を更新する。具体的には、地図情報更新部270は、移動ロボット200の地図情報に環境センサ301、302、303の環境情報を追加して、環境の変化を検出した領域に関する分散の値を大きくしている。これにより、地図情報更新部270は、環境の変化を検出した領域に関する地図情報の信頼度を下げている。
【0071】
地図情報更新部270は、外界センサ230から得られた外界情報に基づき、外界センサ230の検出領域201を計算している。また、地図情報更新部270は、環境センサ301、302、303から得られた環境情報に基づき、環境センサ301、302、303の検出領域311、312、313を計算している。
地図情報更新部270で更新された地図情報は、地図情報記録部280に送られる。
【0072】
<地図情報記録部>
地図情報記録部280は、自己位置及び姿勢推定部250で推定された自己位置及び姿勢の情報と、尤度計算部260で算出された尤度情報と、地図情報更新部270で更新された地図情報を記録する。また、地図情報記録部280は、尤度情報と、外界センサ230で取得した外界情報と、自己位置及び姿勢推定部250によって推定された自己位置及び姿勢の情報に基づいて、地図情報の生成を行い、生成された地図情報を記録する。
【0073】
また、移動ロボット200は、1つ以上のCPU、1つ以上の主記憶、1つ以上の補助記憶を備える(図示せず)。
【0074】
前述した移動ロボット200のCPUは、以下に説明する、座標変換部240、自己位置及び姿勢推定部250、尤度計算部260、地図情報更新部270、地図情報記録部280などが行う、様々な演算処理を行う。
【0075】
前述した移動ロボット200の主記憶は、前述したCPUが直接アクセスすることのできる記憶装置であり、DRAM、SRAM、フラッシュメモリ、ReRAM、FeRAM、MRAM、STT−RAM、PCRAM、等のメモリによって構成され得る。
【0076】
前述した移動ロボット200の補助記憶は、前述した主記憶の内容を長期保存、コピーもしくはバックアップを行う記憶装置であり、HDD、フラッシュメモリ、光ディスク、磁気ディスク、等によって構成され得る。
【0077】
実施の形態1において、制御部は、メモリと、CPUなどのプロセッサに対応する処理回路とを備え、座標変換部240、自己位置及び姿勢推定部250、尤度計算部260、地図情報更新部270、地図情報記録部280は、例えば、メモリに記憶されたこれらの要素を機能させるプログラムをプロセッサが実行することでこれらの要素を機能させてもよい。あるいは、座標変換部240、自己位置及び姿勢推定部250、尤度計算部260、地図情報更新部270、地図情報記録部280は、これらの要素を機能させる集積回路を用いて構成してもよい。
【0078】
[環境センサ]
次に、環境センサ301、302、303について説明する。
図4は、環境センサ301の構成を示すブロック図である。
図4に示すように、環境センサ301は、環境情報取得部321と、環境センサ通信部331とを備える。環境センサ302、303については、環境センサ301と同様の構成を有するので説明を省略する。環境センサ301、302、303は、第3センサと称してもよい。
【0079】
<環境情報取得部>
環境情報取得部321は、検出領域311内の環境情報(第3情報)を取得する。環境情報取得部321で得られた環境情報は、環境センサ通信部331に送られる。環境情報取得部321としては、例えば、光学式測距カメラを用いている。環境情報は、例えば、カメラによる映像情報及び深度等の情報である。
【0080】
<環境センサ通信部>
環境センサ通信部331は、移動ロボット200と通信を行い、環境情報取得部321で得られた環境情報を移動ロボット200に送る。具体的には、環境センサ通信部331は、環境情報取得部321で得られた環境情報を、ネットワーク110を介して、移動ロボット200のロボット側通信部210に送る。
【0081】
[地図情報生成方法]
実施の形態1の移動ロボット200を用いて地図を生成する方法について説明する。
【0082】
<地図情報の高精度化処理>
まず、地図情報を高精度化する処理について
図5及び
図6を用いて説明する。
図5は、移動ロボット200の地図情報を高精度化する動作の一例を上から見た図を示す。
図5においては、壁面500に環境センサ301が配置されており、環境センサ301は、壁面500の内側領域(第1領域)の環境情報(第3情報)を取得している。この環境情報に基づいて、環境センサ301の検出領域(第3領域)311を示す情報(第5情報)を取得している。移動ロボット200は、壁面500の内側領域を移動し、外界センサ230によって外界情報を取得している。
【0083】
図5に示すように、移動ロボット200の外界センサ230の検出領域201と、環境センサ301の検出領域311とが重なる領域においては、2つのセンサにより同一の領域を検出していることになる。実施の形態1においては、地図情報を高精度化するために、重なる領域に関する地図情報の信頼度を、外界センサ230で得られた情報と環境センサ301で得られた情報に基づいて更新している。具体的には、移動ロボット200の外界センサ230によって取得した外界情報から生成した地図情報に、環境センサ301の情報を追加することによって、重なる領域に関する地図情報の信頼度を上げている。
【0084】
図6は、地図情報を高精度化する処理を示すフローチャートである。以下、
図6を用いて、地図情報を高精度化する処理を説明する。なお、実施の形態1の処理においては、移動ロボット200の自己位置及び姿勢の推定、地図作成にEKF(Extended Kalman Filter)を用いている。また、信頼度として、地図情報の座標に該当する領域のランドマークが持つ共分散値の逆数を利用している。
【0085】
図6に示すように、ステップST101においては、内界センサ220によって得られた移動量に関する情報(第1情報)を用いて、移動ロボット200の自己位置及び姿勢を予測する。具体的には、自己位置及び姿勢推定部250が、移動量に関する情報と、地図情報記録部280に記録された過去の自己位置及び姿勢とから現在の自己位置及び姿勢を計算する。
【0086】
ステップST102においては、自己位置及び姿勢推定部250で予測された自己位置及び姿勢の情報から得られた予測外界情報と、外界センサ230から得られた外界情報(第2情報)とに基づいて尤度を計算する。具体的には、尤度計算部260が、ステップST101で予測された自己位置及び姿勢で得られる見込みの予測外界情報を計算する。そして、尤度計算部260は、予測外界情報と、実際に外界センサ230から得られた外界情報との対応度を計算することによって、尤度を計算する。
【0087】
ステップST103においては、ステップST102で得られた尤度の情報と、ステップST101で予測された自己位置及び姿勢の情報に基づいて、移動ロボット200の現在の自己位置及び姿勢を推定する。具体的には、自己位置及び姿勢推定部250が、尤度の情報とステップST101で予測した自己位置及び姿勢の情報に基づいて自己位置及び姿勢のズレを計算し、現在の自己位置及び姿勢を推定する。
【0088】
ステップST104においては、ステップST103で得られた移動ロボット200の現在の自己位置及び姿勢の情報と、外界情報とから地図情報を生成する。生成された地図情報は、地図情報記録部280に記録される。
【0089】
ステップST105においては、ステップST103で得られた移動ロボット200の現在の自己位置及び姿勢の情報(第6情報)から、移動ロボット200の外界センサ230の検出領域(第2領域)201を計算する。これにより、移動ロボットの外界センサ230の検出領域201を示す情報(第4情報)を取得する。
【0090】
ステップST106においては、ステップST105で得られた外界センサ230の検出領域201の情報(第4情報)と、環境センサ301の検出領域311の情報(第5情報)とに基づいて、検出領域(第2領域)201と検出領域(第3領域)311との間に重なる領域(第4領域)があるか否かを判断する。ステップST106では、座標変換部240で、環境センサ301で得られた環境情報の座標(第2座標系)を、移動ロボット200の地図情報の座標(第1座標系)に合わすように変換される。そして、座標変換された環境情報から環境センサ301の検出領域311が計算される。
【0091】
ステップST106において、重なる領域(第4領域)があると判断された場合、処理がステップST107に移行する。ステップST106において、重なる領域がないと判断された場合、処理が終了する。
【0092】
ステップST107においては、環境センサ301の情報を用いて、移動ロボット200の地図情報の信頼度を更新する。具体的には、地図情報更新部270が、環境センサ301の環境情報を追加することによって、重なる領域のうち物体を含む領域(第5領域)に関する地図情報の分散の値を小さくし、地図情報の信頼度を上げる。例えば、地図情報更新部270は、重なる領域内の物体の位置を示す位置情報の信頼度を更新することによって、壁面500の内側領域の地図情報を更新する。更新された地図情報は、地図情報記録部280に記録される。
【0093】
実施の形態1に係る地図生成方法においては、上記の処理を行うことで地図情報の高精度化を実現している。なお、上記の説明は、1つの環境センサ301の検出領域311と、移動ロボット200の外界センサ230の検出領域201とが重なる場合について説明している。複数の環境センサの検出領域と、移動ロボット200の外界センサ230の検出領域201とが重なる場合は、重なる検出領域があると判断されたすべての環境センサについて、ステップST107が実行される。
【0094】
[外乱が発生した場合の地図情報の更新処理]
次に、周辺環境において、移動ロボット200の外界センサ230の検出領域201外で外乱により環境の変化が生じた場合における地図情報の更新処理について
図7A、
図7B、及び
図8を用いて説明する。
【0095】
図7A及び
図7Bは、環境の変化が生じた場合に移動ロボット200の地図情報を更新する動作の一例を上から見た図を示す。
図7A及び
図7Bにおいては、壁面500に環境センサ301が配置されており、環境センサ301は、壁面500の内側領域(第1領域)の環境情報(第3情報)を取得している。この環境情報に基づいて、環境センサ301の検出領域(第3領域)311を示す情報(第5情報)を取得している。移動ロボット200は、壁面500の内側領域を移動し、外界センサ230により外界情報を取得している。
【0096】
図7Aに示すように、移動ロボット200の外界センサ230の検出領域(第2領域)201外で対象物(物体)400が白矢印の方向に移動した場合、地図情報更新部270の変化検出部が、対象物400の移動した領域を環境の変化が生じた領域401として検出する。検出された領域401では、移動ロボット200に記録されている地図情報が実際の地図と異なるものとなり、対応しなくなる。そのため、移動ロボット200が、自身の記録している地図情報と外界センサ230で得られた情報に基づいて自己位置及び姿勢を推定しようとしても、自己位置及び姿勢を正しく推定することができなくなる。そこで、実施の形態1においては、環境の変化を検出した領域401に関する地図情報の分散の値を大きくし、地図情報の信頼度を下げる処理を行っている。
【0097】
図7Bに示すように、移動ロボット200の外界センサ230が環境の変化を検出した領域401の外界情報を取得するとき、領域401の地図情報の信頼度が下げられている。そのため、移動ロボット200は、環境の変化が検出された領域401以外の信頼度の高い部分の地図情報に基づいて、自己位置及び姿勢を推定する。また、環境の変化が検出された領域401については、上述した地図情報の高精度化処理によって信頼度の高い地図情報に更新することができる。
【0098】
図8は、外乱により環境の変化が生じた場合の地図情報の更新処理を示すフローチャートである。以下、
図8を用いて、移動ロボット200の外界センサ230の検出領域201外で外乱により環境の変化が生じた場合における地図情報の更新処理を説明する。
【0099】
図8に示すように、ステップST201においては、移動ロボット200の現在の自己位置及び姿勢を読み出す。具体的には、地図情報記録部280に記録された移動ロボット200の現在の自己位置及び姿勢の情報を読み出す。ステップST201においての移動ロボット200の現在の自己位置及び姿勢とは、前述の
図6に示すステップST103で推定された自己位置及び姿勢である。なお、ステップST201は、前述の
図6のステップST101〜ST104に置き換えてもよい。
【0100】
ステップST202においては、ステップST201で読み出した移動ロボット200の現在の自己位置及び姿勢の情報(第6情報)から、移動ロボット200の外界センサ230の検出領域(第2領域)201を計算する。これにより、移動ロボットの外界センサ230の検出領域201を示す情報(第4情報)を取得する。
【0101】
ステップST203においては、環境センサ301の検出領域(第3領域)311を示す情報(第5情報)に基づいて、地図情報更新部270の変化検出部が環境の変化を検出する。具体的には、変化検出部が、環境センサ301の検出領域(第3領域)311を示す情報(第5情報)と過去の地図情報に基づいて、環境センサ301の検出領域311内で対象物400が移動する等の外乱により周辺環境が変化したか否かを検出する。また、ステップST203においては、環境の変化を検出した領域401を検出する。ステップST203では、環境の変化を検出した場合、処理がステップST204に移行し、環境の変化を検出しなかった場合、処理が終了する。
【0102】
ステップST204においては、環境センサ301の検出領域311内に移動ロボット200が存在するか否かを検出する。具体的には、移動ロボット200の現在の自己位置の情報を地図情報記録部280から読み出し、環境センサ301の検出領域311内に移動ロボット200が位置するか否かを判断する。ステップST204では、環境センサ301の検出領域311内に移動ロボット200が存在しない場合、処理がステップST205に移行する。環境センサ301の検出領域311内に移動ロボット200が存在する場合、処理が終了する。
【0103】
ステップST205においては、ステップST202で得られた外界センサ230の検出領域201の情報(第4情報)と、環境センサ301の検出領域311の情報(第5情報)とに基づいて、検出領域(第2領域)201と検出領域(第3領域)311との間に重なる領域(第4領域)があるか否かを判断する。ステップST205では、重なる領域がないと判断された場合、処理がステップST206に移行し、重なる領域があると判断された場合、処理が終了する。
【0104】
ステップST206においては、環境の変化を検出した領域401に関する地図情報が存在するか否かを判断する。具体的には、地図情報記録部280に環境の変化を検出した領域401に関する地図情報が記録されているか否かを判断する。ステップST206では、環境の変化を検出した領域401に関する地図情報が存在する場合、処理がステップST207に移行する。環境の変化を検出した領域401に関する地図情報が存在しない場合、処理が終了する。
【0105】
ステップST207においては、環境の変化を検出した領域401に関する地図情報の信頼度を、環境センサ301の情報を用いて更新する。具体的には、地図情報更新部270が、環境の変化を検出した領域401に関する地図情報の分散の値を大きくし、環境の変化を検出した領域401に関する地図情報の信頼度を下げる。例えば、地図情報更新部270は、重なる領域内の物体が第1位置から第2位置へ変化したと判断した場合、重なる領域の地図情報の信頼度を更新することによって、壁面500の内側領域の地図情報を更新する。地図情報更新部270は、環境センサ301が検出した環境の変化の量に応じて、分散の値を大きくしている。
【0106】
実施の形態1に係る地図生成方法においては、上記の処理を行うことで移動ロボット200の外界センサ230で直接観測できない領域で発生した外乱による環境の変化についても、地図情報へ反映することが可能となる。
【0107】
[その他の地図更新処理]
実施の形態1に係る地図生成方法は、一度生成された地図情報において、移動ロボット200の外界センサ230が、所定の時間、外界情報の取得を行っていない領域に関する地図情報の分散の値を大きくする。地図情報を生成した後、所定の時間、外界情報の取得していない領域においては、環境の変化が生じている可能性がある。そのため、実施の形態1に係る地図生成方法では、一度生成した地図情報について、所定の時間、外界センサ230によって外界情報を取得していない場合に、その領域に関する地図情報の分散の値を大きくし、地図情報の信頼度を下げている。なお、所定の時間とは、地図情報を生成する領域の大きさ、移動ロボット200の移動速度等の条件によって任意に決定することができる。
【0108】
[効果]
実施の形態1に係る地図生成方法及び移動ロボット200によれば、以下の効果を奏することができる。
【0109】
実施の形態1に係る地図生成方法及び移動ロボット200は、移動ロボット200の外界センサ230の検出領域201と環境センサ301の検出領域311とが重なる領域に関する地図情報の分散の値を小さくすることによって、地図情報の信頼度を上げている。このように、実施の形態1では、移動ロボット200の外界センサ230で取得した情報と環境センサ301で取得した情報とを合わせて地図情報を作成することによって、地図情報を精度高く生成することができる。
【0110】
実施の形態1によれば、移動ロボット200の外界センサ230の検出領域201外において、環境の変化を検出した領域401に関する地図情報の分散の値を下げることによって、領域401に関する地図情報の信頼度を下げている。このため、移動ロボット200は、環境の変化が生じた信頼度の低い部分の地図情報を使用せず、信頼度の高い部分の地図情報を使用して、自己位置及び姿勢を推定することができる。このように、実施の形態1の地図生成方法及び移動ロボット200は、外乱による環境の変化があった場合においても、移動ロボット200の自己位置及び姿勢をロバストに推定することができる。そのため、実施の形態1の地図生成方法及び移動ロボット200は、外乱により環境の変化が生じても、環境の変化が生じた領域の地図情報を修正し、地図情報を精度高く生成することができる。また、環境の変化を検出した領域401においては、移動ロボット200の外界センサ230と環境センサ301によって、高精度な地図情報を短時間で再構築することができる。
【0111】
また、環境の変化の量に応じて、環境の変化を検出した領域401に関する地図情報の分散の値を大きくすることによって、移動ロボット200の自己位置及び姿勢をより正確に推定することができる。
【0112】
実施の形態1によれば、環境の変化を検出したときに、移動ロボット200の外界センサ230の検出領域201と、環境センサ301の検出領域311とが、重ならない場合に、環境の変化を検出した領域401に関する地図情報の信頼度を更新している。このため、移動ロボット200の死角で生じた環境の変化を検出し、環境の変化が生じた領域を、移動ロボット200の地図情報に反映することができる
【0113】
実施の形態1によれば、一度地図情報を生成した後、所定の時間、外界センサ230により外界情報の取得を行っていない領域については、環境の変化が生じている可能性を考慮して、分散の値を大きくし、その領域に関する地図情報の信頼度を下げている。そのため、実施の形態1の地図生成方法及び移動ロボット200では、更に移動ロボット200の自己位置及び姿勢をロバストに推定することができる。
【0114】
なお、実施の形態1では、移動ロボット200と環境センサ301、302、303がネットワーク110を介して通信する構成について説明したが、これに限定されない。例えば、ネットワーク110を介して移動ロボット200と環境センサ301、302、303と通信するサーバを備えたシステムの構成であってもよい。このようなシステムの構成において、
図6及び
図8に示す各ステップの処理は、サーバ側で実行されてもよい。即ち、サーバが自己位置及び姿勢推定部250と地図情報更新部270を備えてもよい。例えば、サーバは、環境センサ301、302、303から得られた環境情報と、移動ロボット200から取得した外界情報及び内界情報を、ネットワークを介して取得する。そして、サーバは、取得した情報に基づいて、地図情報の高精度化処理又は外乱が発生した場合の地図情報の更新処理を行ってもよい。
【0115】
実施の形態1では、環境センサ301の環境情報に基づいて、地図情報更新部270の変化検出部が環境の変化を検出する例について説明したが、これに限定されない。例えば、環境の変化の検出については、環境センサ301、302、303で行ってもよい。
【0116】
実施の形態1では、環境センサ301、302、303から得られた環境情報に基づいて、地図情報の精度向上を実施したが、これに限定されない。例えば、測距センサを環境センサ301、302、303として利用する場合、自己位置及び姿勢の情報に対して尤度計算の処理を行うことで、移動ロボット200の自己位置及び姿勢情報の精度を高めることができる。
【0117】
実施の形態1では、座標変換部240は、環境センサ301、302、303の設置位置を予め取得しておくことで環境情報の座標を移動ロボット200の地図情報の座標へと変換しているが、これに限定されない。例えば、環境センサ301、302、303において、移動ロボット200を捉え、その際、自己位置及び姿勢推定部250が推定した位置情報と環境センサ301、302、303において捉えた座標に基づいて変換パラメータを推定してもよい。例えば、2次元平面を移動する移動ロボット200の場合、座標変換部240は、環境情報を射影変換することで移動ロボット200の地図情報の座標へと変換することができる。
【0118】
実施の形態1では、環境センサ301、302、303は、周辺環境に所定の間隔で固定して配置される例について説明したが、これに限定されない。例えば、環境センサは、時間に応じて設置角度を変更する首振り式のセンサ等のように、検出領域を変更可能なセンサであってもよい。検出領域を変更可能な環境センサは、より広い範囲の環境情報を取得することができる。また、首つり式のセンサの場合、環境情報取得時の設置角度を座標変換部240に通知することで、環境情報の座標を、移動ロボット200の地図情報の座標に変換可能である。
【0119】
実施の形態1では、内界センサ220及び外界センサ230は、それぞれ1つを備える構成について説明したが、これに限定されない。内界センサ220及び外界センサ230は、それぞれ少なくとも1つ以上備えていればよい。複数の内界センサ220及び複数の外界センサ230を用いることによって、より多くの内界情報及び外界情報を取得することができるため、移動ロボット200の自己位置及び姿勢をより精度高く推定することができる。
【0120】
実施の形態1では、内界センサ220として加速度センサ、角速度センサを説明したが、これに限定されない。内界センサ220としては、例えば、磁場センサ、カメラを用いたVisual Odmetory等であってもよい。
【0121】
実施の形態1では、3つの環境センサ301、302、303を用いた構成について説明したが、環境センサは、少なくとも1つ以上備えていればよい。環境センサの数は、地図情報を生成する領域や、周辺環境の複雑さなど様々な条件によって決定してもよい。複数の環境センサを用いることによって、より多くの環境情報を取得することができるため、より高精度な地図情報を生成することができる。
【0122】
実施の形態1において、生成される地図情報は、2次元の地図情報であってもよいし、3次元の地図情報であってもよい。地図情報は、障害物位置の座標と各軸方向の分散量を併せ持つ情報を意味している。地図情報は、例えば、グリッドマップ、線図、点図等で視覚的に表すことができる。
【0123】
実施の形態1では、1つの移動ロボット200で地図を生成する例について説明したが、移動ロボットは、少なくとも1つ以上備えていればよい。複数の移動ロボットを使用する場合、短時間で高精度な地図情報を生成することができる。
【0124】
また、複数の移動ロボットを使用する場合、それぞれの移動ロボットに搭載された外界センサ230を環境センサとして使用することもできる。したがって、それぞれの移動ロボットの外界センサ230によって取得された外界情報は、自己位置及び姿勢を推定するために使用すると共に、周辺環境の環境情報として使用することができる。このような構成によって、更に短時間で高精度な地図情報を生成することができる。
【0125】
複数のロボットによって地図情報を共有し処理することは、広範囲の地図を高頻度で更新することが可能になる。そのため、複数のロボットを使用する場合では、例えば、監視業務などに有用である。また、位置が固定された環境センサで観測できない領域に対して、
図6に示す地図情報の高精度化処理及び
図8に示す外乱が発生した場合の地図情報の更新処理を行うことができる。そのため、複数のロボットを使用する場合では、環境センサの死角領域での地図情報の高精度化を図ることができる。
【0126】
なお、実施の形態1の地図生成方法は、移動ロボット200に予め地図情報を与えない処理について説明したが、これに限定されない。例えば、移動ロボット200に予め地図情報を与えておき、地図情報を更新していく処理であってもよい。
【0127】
実施の形態1において、
図6及び
図8に示される各処理を詳細に説明したが、本開示は、これらの処理に限定されるものではない。
図6及び
図8に示す処理は、一例であって、いくつかの処理を省略してもよいし、公知の処理を追加してもよい。
【0128】
実施の形態1において、ステップST205において、重なる領域があると判断された場合、処理が終了する例について説明したが、これに限定されない。例えば、ステップST205においては、重なる領域について、上述した地図情報の高精度化処理を行ってもよい。
【0129】
本開示は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形や修正は明白である。そのような変形や修正は、添付した特許請求の範囲による本開示の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。例えば、移動ロボットは、車両であってもよく、環境センサは、監視カメラであってもよい。また、外界センサおよび環境センサは、LRF(Laser Range Finder)、LIDAR(Laser Imaging Detection and Ranging)、カメラ、深度カメラ、ステレオカメラ、RADAR、TOF(Time of Flight)であってもよい。