(57)【特許請求の範囲】
【請求項１】
ロボットに設けられたセンシング部によって周囲の環境情報を取得するステップと、
前記環境情報に変化があった場合に、前記ロボットから変化があった計測点までの間を空き領域として更新し、更新前の地図において前記計測点の後方の所定範囲内に未観測領域が存在する場合に、前記計測点から前記更新前の地図における未観測領域までの間を、新たに未観測領域として更新するステップと、を備える、
環境地図の更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに搭載されたレーザーセンサにより取得された環境地図の更新方法に関する。
【背景技術】
【０００２】
従来、このような分野の技術として、特開２０１４−０８９７４０号公報がある。この公報に記載されたロボットは、センシング部によりロボット周辺の形状を計測し、計測した形状を環境地図に幾何学的に合わせこむことで、ロボットの自己位置を推定する。その後、センシング部により取得された形状を用いて、環境地図の更新を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０８９７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来のロボットによる環境地図の更新において、環境地図上には、「元々は存在していたが今は存在していない位置」と、環境地図の更新により「新たに存在が確認された位置」が存在することになる。ここで、ロボットの自己位置推定は、環境地図の更新前の環境地図とのマッチングにより行うため、「元々は存在していたが今は存在していない位置」とのマッチングが発生した場合に、推定される自己位置と実際の位置との誤差が大きくなる場合がある。
本発明は、ロボットが自己位置推定を行う際に発生する誤差を抑制する環境地図の更新方法を提供するものである。
【課題を解決するための手段】
【０００５】
本発明にかかる環境地図の更新方法は、ロボットに設けられたセンシング部によって周囲の環境情報を取得するステップと、前記環境情報に変化があった場合に、前記ロボットから変化があった計測点までの間を空き領域として更新し、更新前の地図において前記計測点の後方の所定範囲内に未観測領域が存在する場合に、前記計測点から前記更新前の地図における未観測領域までの間を、新たに未観測領域として更新するステップと、を備える。
これにより、過去の地図情報に記憶されている物体の情報を逐次削除していくことができる。
【発明の効果】
【０００６】
これにより、ロボットが自己位置推定を行う際に発生する誤差を抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】ロボットの構成を示すブロック図である。
【図２】環境地図の一例を示す図である。
【図３】ロボットの自己位置推定と環境地図の更新を行うフローチャートである。
【図４】実際の物体の位置と環境地図に記憶された物体の位置が相違する状態の一例を示す図である。
【図５】計測点の先の環境情報を確認する範囲と計測点の先に未観測領域がある箇所を示す図である。
【図６】未観測領域を更新した状態を示す図である。
【図７】更新後の環境地図を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の実施の形態について説明する。図１に示すように、ロボット１は、環境地図及び環境内の位置ごとの環境情報を記憶する記憶部１１と、周囲の環境を計測するセンシング部１２と、センシング部１２により計測された計測結果と記憶部１１に記憶された環境地図に基づいて自己位置を推定する自己位置推定部１３と、記憶部１１に記憶された環境地図に対してセンシング部１２による計測点を登録し、環境状態を更新する演算部１４と、ロボット１の位置に応じて移動方向や距離を決定する制御部１５と、移動機構部１６と、を備える。
【０００９】
記憶部１１には、環境地図が記憶されている。図２に示すように、環境地図には、環境内の位置ごとに環境情報が記憶されている。具体的には、環境地図上には環境情報として、空き領域２１と壁領域２２と未観測領域２３の３種類が設定される。空き領域２１は、物体が存在しておらず、ロボット１が走行可能な領域である。壁領域２２は、例えば壁状の物体や移動可能な障害物が存在する領域であって、ロボット１が走行不可能な領域である。未観測領域２３は、未観測であり物体の有無が不明な領域である。例えば図２において、未観測領域２３は、壁領域２２に囲まれた領域である。例えば、記憶部１１には、ハードディスクドライブや、メモリ等が用いられる。
【００１０】
センシング部１２には、レーザーセンサが設けられている。ロボット１に搭載されたレーザーセンサは、水平方向に向きを変更しながら複数の方向を計測し、ロボット１から周辺に存在する物体までの距離を計測する。これによりセンシング部１２では、ロボット１の周囲に存在する計測対象の形状を計測し、環境情報を取得する。
【００１１】
自己位置推定部１３は、センシング部１２により計測して得られたロボット１の周囲の形状と、記憶部１１が保持する環境地図とを組み合わせることで、計測時のロボット１の位置や向きを推定する。
【００１２】
演算部１４は、センシング部１２で取得されたロボット１の周囲の環境情報に基づいて、記憶部１１に記憶された環境地図の更新を行う。具体的には、演算部１４は、センシング部１２により物体が計測された位置を、壁領域２２として環境地図を更新する。また演算部１４は、センシング部１２により計測された物体の位置までには他に物体が無いので、空き領域２１として環境地図を更新する。また、演算部１４は、ロボット１の位置から測定できない壁領域２２の後方の領域に、更新前の環境地図において未観測領域２３がある場合には、壁領域２２と更新前の環境地図における未観測領域２３との間を、未観測領域２３として更新する。環境地図の更新については後に詳述する。
【００１３】
制御部１５は、ロボット１の動作制御を行う。例えば制御部１５は、記憶部１１に記憶された環境地図に基づき、ロボット１が走行する経路を決定するとともに、経路を走行するように移動機構部１６の動作を制御する。例えば、自己位置推定部１３、演算部１４、制御部１５は、ＣＰＵ（Central Processing Unit）が用いられ、メモリ等との協働により機能が実現される。
【００１４】
移動機構部１６は、ロボット１の下部に設けられた車輪（図示せず）と、ロボット１の本体内に設けられたモータ（図示せず）と、を有する。移動機構部１６は、制御部１５による制御に基づいて駆動することで、ロボット１を経路に沿って移動させる。
【００１５】
次に、図３を参照して、ロボット１の動作について説明する。
【００１６】
自己位置推定部１３は、地図中のロボット１の位置を推定する（Ｓ１１）。最初に、図２に示すように、記憶部１１に記憶された環境地図には、空き領域２１と、壁領域２２と、未観測領域２３と、が記憶されている。センシング部１２は、ロボット１の周囲の物体までの距離を計測する。その後、自己位置推定部１３は、センシング部１２で取得された物体までの距離と、環境地図における壁領域２２までの距離に基づき、自己位置を推定する。このとき図４に示すように、物体の移動が発生している場合には、実際の物体の位置と、記憶部１１に記憶された物体の位置が異なる状態となる。
【００１７】
演算部１４は、記憶部１１に記憶された環境地図と、センシング部１２で取得された計測点との差分を抽出する（Ｓ１２）。差分が発生する計測点とは、環境内において物体が移動した場合に、その物体について新たに計測された点である。
【００１８】
ここで図５に示すように、センシング部１２に設けられたレーザーセンサにより、ロボット１の前方の複数の方向にレーザを照射する。これにより、移動した後の物体の正面の計測を行う。このときセンシング部１２は、物体の背面については、ロボット１からは計測が不可能であるため計測を行わない。
【００１９】
演算部１４は、Ｓ２２において差分として抽出された計測点を、環境地図上に追記する（Ｓ１３）。すなわち環境地図には、移動後の物体の正面が壁領域２２として追記されると共に、移動前の位置に物体があるものとして記憶され続けている状態である。
【００２０】
演算部１４は、Ｓ１３において追記された１つの計測点と、ロボット１との間の領域を空き領域２１として設定するように、記憶部１１に記憶された環境地図を更新する（Ｓ１４）。
【００２１】
演算部１４は、Ｓ１３において追記された１つの計測点について、追記した計測点より先の環境情報を確認する（Ｓ１５）。すなわち図５に示すように、演算部１４は、レーザーセンサの計測方向に物体が計測された場合に、物体の先の一定の範囲について環境情報を確認する。言い換えると、演算部１４は、計測点の延長上の一定の範囲について、記憶部１１に記憶されている環境情報を確認する。ここで一定の範囲とは、例えば０．５ｍである。
【００２２】
演算部１４は、計測された物体の先の一定の範囲に、未観測領域２３が存在しているか否かを判定する（Ｓ１６）。図５に示すように、未観測領域２３が存在していれば（Ｓ１６でＹｅｓ）、Ｓ１７に進む。未観測領域２３が存在していなければ（Ｓ１６でＮｏ）、Ｓ１８に進む。
【００２３】
図６に示すように、演算部１４は、計測点から未観測領域２３の間の領域の環境情報を、新たに未観測領域２３として更新する（Ｓ１７）。すなわち、計測された物体の先に未観測領域２３がある場合に、物体から未観測領域２３の間の環境情報が変化している可能性が高いものとして取り扱う。したがって演算部１４は、計測点から、計測点の延長上であって未観測領域２３として記憶されている箇所との間に、空き領域２１や壁領域２２が記憶されている場合に、この領域を新たに未観測領域２３として記憶するように環境地図を更新する。その後、Ｓ１８に進む。
【００２４】
演算部１４は、Ｓ１３において追記された全ての計測点について、Ｓ１４〜Ｓ１７の処理が完了したか否かを判定する（Ｓ１８）。全ての計測点について処理が完了していない場合には（Ｓ１８でＮｏ）、Ｓ１４に戻り、他の計測点について同様の処理を繰り返す。全ての計測点について処理が完了している場合には（Ｓ１８でＹｅｓ）、処理を終了する。
【００２５】
これにより、環境地図中の物体が移動した場合であって、ロボット１が自己位置推定を行う際に、誤マッチングするような地図上の過去の環境情報は削除される。なお、図７に示すように、一回の地図更新では過去の環境情報は完全に削除することができないが、ロボット１が別の位置に移動した際に、さらに同様の手順を繰り返すことで、過去の環境情報が逐次更新されていくため、最終的には環境情報を完全に削除することができる。
【００２６】
なおこのとき、物体の背面側はセンシング部１２によって観測されず、自己位置推定のためのマッチングにおいて悪影響は発生しない。したがって、過去の環境情報から現在の環境情報に逐次更新されていく間に、一部の過去の環境情報が残っていても問題はない。これにより、ロボットが自己位置推定を行う際に発生する誤差を抑制することができる。
【００２７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００２８】
例えば、センシング部１２では、レーザーセンサの向きを変更させることにより複数の方向について計測するものとして説明したが、センシング部１２に用いられるセンサは、環境内に存在する物体の形状を計測できるものであれば良く、ソナーセンサーなどの他のセンサを用いてもよい。また、センシング部１２に向きが異なる複数のレーザーセンサを設けておき、複数の方向について同時に物体までの距離を計測しても良い。さらに、センシング部１２では、一定の高さだけを計測しても良く、高さ方向に幅を持たせて計測しても良い。
【００２９】
また、Ｓ１４において、記憶部１１の環境地図を用いて、計測点より先の環境情報を調べる範囲を０．５ｍとしたが、ロボット１における自己位置推定及び環境地図の更新の動作中に、物体が動く距離に基づいて適宜変更してもよい。
【符号の説明】
【００３０】
１            ロボット
１１            記憶部
１２            センシング部
１３            自己位置推定部
１４            演算部
１５            制御部
１６            移動機構部
２１            空き領域
２２            壁領域
２３            未観測領域
【図１】
0006428569.tif 000002
【図２】
0006428569.tif 000003
【図３】
0006428569.tif 000004
【図４】
0006428569.tif 000005
【図５】
0006428569.tif 000006
【図６】
0006428569.tif 000007
【図７】
0006428569.tif 000008