(57)【特許請求の範囲】
【請求項１】
二次元のグリッド地図における経路に基づいて自律移動するロボットであって、
前記グリッド地図を格納するメモリと、
前記ロボットの周囲に存在する動的な障害物の位置の時間的な変化を検出する環境認識手段と、
前記環境認識手段の検出結果に基づいて、前記ロボットが前記動的な障害物の位置に対応するグリッドを通過するためにかかる通過コストの時間的な変化を表す関数を生成し、当該グリッドに前記関数を登録する地図更新手段と、
前記ロボットの移動先として前記グリッド地図における任意のグリッドを指定する経路探索手段と、
前記ロボットが現在地から前記任意のグリッドまで移動するためにかかる移動時間を推定する移動時間推定手段と、
前記移動時間推定手段により推定された前記任意のグリッドまでの前記移動時間と、当該任意のグリッドに登録された前記関数と、に基づいて、前記ロボットが当該任意のグリッドを通過するためにかかる前記通過コストを算出し、少なくとも前記通過コストを含む経路コストが最小となるように、前記グリッド地図における前記経路を算出する経路算出手段と、
を備えるロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットに関し、特に経路計画を行い、自律的に移動するロボットに関する。
【背景技術】
【０００２】
平面状の任意の場所を移動する自律移動ロボットは、一般的に当該自律移動ロボットに格納されたグリッド地図に基づいて移動している。具体的には、自律移動ロボットは、グリッド地図を用いて経路計画を行い、当該経路に沿って移動をしている。しかし、従来のグリッド地図を用いた経路計画は、空間を二次元平面において表現するのみである。そのため、自律移動ロボットは、動的な障害物（例えば自動ドア等）を考慮して、最適な経路を計画することが困難であった。
【０００３】
特許文献１には、時間的に変化する事象の知識を経路探索に取り込み、正確に到達の可能性を判断し、コスト最小の経路を探索する技術が記載されている。具体的には、特許文献１に記載の経路計画は、二次元のグリッド地図に時間次元を追加し、３次元空間において経路計画を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２１８８６５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術は、グリッド地図に時間軸を追加し、二次元空間のグリッド地図を単純に三次元空間に拡張したものである。そのため、三次元空間のグリッド地図を格納する必要がある。したがって、メモリコストが増大し、長距離、長時間の経路計画が困難であるという問題が生じていた。
【課題を解決するための手段】
【０００６】
本発明にかかるロボットは、二次元のグリッド地図における経路に基づいて自律移動するロボットであって、前記グリッド地図を格納するメモリと、前記ロボットの周囲に存在する動的な障害物の位置の時間的な変化を検出する環境認識手段と、前記環境認識手段の検出結果に基づいて、前記ロボットが前記動的な障害物の位置に対応するグリッドを通過するためにかかる通過コストの時間的な変化を表す関数を生成し、当該グリッドに前記関数を登録する地図更新手段と、前記ロボットの移動先として前記グリッド地図における任意のグリッドを指定する経路探索手段と、前記ロボットが現在地から前記任意のグリッドまで移動するためにかかる移動時間を推定する移動時間推定手段と、前記移動時間推定手段により推定された前記任意のグリッドまでの前記移動時間と、当該任意のグリッドに登録された前記関数と、に基づいて、前記ロボットが当該任意のグリッドを通過するためにかかる前記通過コストを算出し、少なくとも前記通過コストを含む経路コストが最小となるように、前記グリッド地図における前記経路を算出する経路算出手段と、を備えるものである。これにより、二次元のグリッド地図を用いて、時間的な要素を考慮した経路計画をすることができる。そのため、メモリコストの削減を図ることができる。
【発明の効果】
【０００７】
本発明によれば、メモリコストの増大を抑制しつつ、時間要素を取り入れた経路計画が可能なロボットを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１にかかるロボットのブロック図である。
【図２】実施の形態１にかかる環境認識処理を説明するための図である。
【図３】実施の形態１にかかる環境認識処理を説明するための図である。（ａ）は自動ドアが閉じている場合を示す図である。（ｂ）は自動ドアが開いている場合を示す図である。
【図４】実施の形態１にかかる実環境とグリッド地図との関係を示す図である。（ａ）は実環境を示す図である。（ｂ）、（ｃ）はグリッド地図を示す図である。
【図５】実施の形態１にかかるグリッドに登録する関数を示す図である。
【図６】実施の形態１にかかる経路計画処理を示す図である。
【図７】実施の形態１にかかる探索枝を伸ばすパターンを示す図である。
【図８】実施の形態１にかかる経路計画処理のフローチャートである。
【図９】他の実施の形態にかかる探索枝を伸ばすパターンを示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる自律移動ロボット１（以下では、ロボット１と称す）のブロック図を図１に示す。ロボット１は、環境認識部１１、地図更新部１２、メモリ１３、経路計画部１４、経路追従部１５、駆動部１６を備える。
【００１０】
環境認識部１１は、レーザレンジファインダ及び時間測定部（時計等）を有し、時間によって変化するロボット１の周囲の環境情報を検出する。具体的には、動的物体を認識する場合、動的物体８０の大きさ、位置、速度を環境情報として取得する（図２参照）。
【００１１】
例として、環境認識部１１が自動ドアを認識する場合を図３に示す。自動ドア９０が閉まっている場合、ロボット１は、レーザレンジファインダの計測点１１１において自動ドア９０の位置を環境情報として検出する（図３（ａ））。自動ドア９０が開いた場合、レーザレンジファインダは自動ドア９０の位置が移動したことを検出する。そして、時間測定部が、自動ドア９０の開閉時間を環境情報として取得する（図３（ｂ））。
【００１２】
地図更新部１２は、環境認識部１１が取得した環境情報を関数に変換する。そして、地図更新部１２は、グリッド地図中の当該環境情報を取得したグリッドに対して、変換した関数を登録する。なお、グリッド地図上において障害物（例えば壁等）の位置情報は、予めグリッド地図に登録されているものとする。
【００１３】
地図更新部１２の具体的な更新処理について図４を用いて説明する。図４は実環境（ａ）とグリッド地図（ｂ）、（ｃ）との関係を示す図である。上記の例と同様に、ロボット１が自動ドア９０を認識した場合について説明する。このとき、グリッド地図において黒塗り部は自動ドア９０を示しており、当該自動ドア９０の位置情報は、予めグリッド地図に登録されているものとする。なお、図４（ｂ）は、自動ドア９０が閉まっている場合のグリッド地図であり、図４（ｃ）は自動ドアが開いている場合のグリッド地図である。グリッド地図のグリッドサイズは一辺が数ｃｍ〜数十ｃｍである。
【００１４】
このとき、座標（ｉ，ｊ）に位置するグリッド１０１に注目すると、自動ドア９０が閉まっている場合、グリッド１０１に自動ドア９０が存在する（図４（ｂ）参照）。一方、自動ドア９０が開いた場合、グリッド１０１に自動ドア９０は存在しない（図４（ｃ）参照）。つまり、グリッド１０１を通過できるか否かは時間的に変化する。言い換えると、グリッド１０１における通過コストは時間的に変化する。ここで、通過コストとは、グリッドの通過しやすさを示すものであり、例えば、グリッドの通過にかかる時間等に応じて算出される。通過コストが低い方が通過しやすく、高くなるほど通過しにくくなる。なお、各グリッドにおける自動ドア９０の有無の時間的変化は、環境認識部１１によって検出される。
【００１５】
地図更新部１２は、グリッド１０１の通過コストの時間変化に基づいて、関数を算出する。図５に関数の一例を示す。図５において、縦軸は通過コストを示し、横軸は時間を示す。図５では、自律移動ロボット１が自動ドア９０の前に到達してからの時間ｔ１において自動ドア９０が開き、自律移動ロボット１が自動ドア９０の前に到達してからの時間ｔ２において自動ドア９０が閉まる場合を示している。ロボット１は自動ドア９０が開いている区間（ｔ１〜ｔ２）においてはグリッド１０１を通過することができるが、それ以外の区間では通過できない。そのため、地図更新部１２は、自動ドア９０が開いている間（ｔ１〜ｔ２）だけ通過コストが０であり、それ以外の区間は通過コストが所定の値（通過することができないため、例えば通過コストの最大値）である関数ｆｉ,ｊ（ｔ）を算出する。つまり、地図更新部１２は、ある時間において、あるグリッドに障害物が存在するか否かに基づいて、当該グリッドに登録する関数を算出する。
【００１６】
さらに、地図更新部１２は、算出した関数ｆｉ,ｊ（ｔ）をグリッド１０１に登録する。そして、その他のグリッドについても、同様に関数を算出し、登録する。
【００１７】
メモリ１３は、例えばＲＡＭ（Random Access Memory）等であり、グリッド地図及び各グリッドに登録された関数を格納する。さらに、メモリ１３は、経路計画部１４によって算出される推定時間や、経路コスト及び最小コスト経路等を格納する。
【００１８】
経路計画部１４は、経路探索部１４１、移動時間推定部１４２、経路算出部１４３を有する。経路探索部１４１は、ロボット１の移動先となる任意のグリッドを指定する。具体的には、経路探索部１４１は、最小コスト経路から探索枝を伸ばす。ここで、最小コスト経路とは、グリッド地図においてロボット１の移動にかかる経路コストが最小の経路（最適経路）を意味する。経路コストとは、ロボット１が経路を追従する際の移動時間、移動距離、通過するグリッドの通過コスト等を考慮して定めたコストである。加えて、探索枝とは、最小コスト経路の先端から次に移動しようとするグリッドまでの経路を意味する。図６は、経路探索部１４１が、最小コスト経路（矢印）３００から探索枝３０１を伸ばす処理を示す図である。図６においては、スタートグリッド２００からグリッド２０１までの最小コスト経路３００は既に算出されているものとする。そして、経路探索部１４１は、グリッド２０１からグリッド２０２へと探索枝を伸ばしている。ここで、既に最小コスト経路３００の算出処理が終わっているグリッド２０１を処理済みグリッド２０１と称し、経路探索部１４１が探索枝３０１を伸ばしたグリッド２０２を処理中グリッド２０２と称す。
【００１９】
なお、経路探索部１４１が最小コスト経路３００の先端から探索枝３０１を伸ばすパターンを図７に示す。経路探索部１４１は、図７に示す６通りの探索枝３０１のいずれかをランダムに選択する。これにより、経路探索部１４１は、ロボット１の移動先となる任意のグリッドを指定する。
【００２０】
移動時間推定部１４２は、ロボット１が現在地から任意のグリッドまで移動するためにかかる時間を推定する。図６を用いて、移動時間推定部１４２の時間推定処理について説明する。スタートグリッド２００（現在地）から処理済みグリッド２０１までの推定時間は既に推定済みであるものとする。移動時間推定部１４２は、以下の式（１）を用いて、ロボット１がスタートグリッド２００から処理中グリッド２０２へ移動する場合にかかる時間を推定する。このとき、Ｔ：スタートグリッド２００から処理済みグリッド２０１までの推定時間、Ｔｎｅｗ：スタートグリッド２００から処理中グリッド２０２までの推定時間、Ｋ：√２（斜めに探索枝３０１を伸ばす場合）または１（上下左右に探索枝３０１を伸ばす場合）、Ｇ：グリッドサイズ、Ｖ：ロボット１の移動速度、とする。
【００２１】
【数１】
0005614202.tif 000002
【００２２】
経路算出部１４３は、移動時間推定部１４２が推定した任意のグリッドまでの移動時間と、当該任意のグリッドに登録された関数と、に基づいて、ロボット１が当該任意のグリッドを通過するためにかかる通過コストを算出する。そして、経路算出部１４３は、少なくとも通過コストを含む経路コストが最小となるように、グリッド地図における経路を算出する。
【００２３】
図６を用いて、経路算出部１４３の処理について具体的に説明する。上述したように、スタートグリッド２００から処理済みグリッド２０１までの経路コストは既に算出済みであるものとする。経路算出部１４３は、経路探索部１４１が探索枝３０１を伸ばした処理中グリッド２０２における通過コストを算出する。より詳細には、経路算出部１４３は、処理中グリッド２０２に登録された関数ｆｉ,ｊ（ｔ）（ここでは、例として処理中グリッド２０２の座標を（ｉ，ｊ）とする）を用いて、移動時間推定部１４２が推定した処理中グリッド２０２までの推定時間Ｔｎｅｗにおける通過コストｆｉ,ｊ（Ｔｎｅｗ）を算出する。
【００２４】
そして、経路算出部１４３は、通過コストｆｉ,ｊ（Ｔｎｅｗ）を含む以下の式（２）を用いて、スタートグリッド２００から処理中グリッド２０２までの経路コストを算出する。このとき、Ｃ：スタートグリッド２００から処理済みグリッド２０１までの経路コスト、Ｃｎｅｗ：スタートグリッド２００から処理中グリッド２０２までの経路コスト、Ｋ：√２（斜めに探索枝３０１を伸ばす場合）または１（上下左右に探索枝３０１を伸ばす場合）、Ｇ：グリッドサイズ、α：移動距離コストの調整パラメータ、とする。
【００２５】
【数２】
0005614202.tif 000003
【００２６】
経路算出部１４３は、図７に示した探索枝３０１の各パターンにより選択された他の処理中グリッドについても同様にＣｎｅｗを計算する。そして経路算出部１４３は、スタートグリッド２００から各処理中グリッドまでの経路コスト及びその経路を経路リストとしてメモリ１３に格納する。
【００２７】
経路追従部１５は、経路計画部１４により算出された経路にロボット１を追従させるように、駆動部１６に対して制御信号を出力する。駆動部１６は、入力された制御信号に応じて、ロボット１の移動手段（車輪、脚等）を駆動させる。
【００２８】
続いて、図８に示すフローチャートを用いて、ロボット１の経路計画処理について説明する。まず、環境認識部１１が、ロボット１の周囲に存在する動的物体の大きさ、位置、速度を検出する（ステップＳ１０１）。そして、環境認識部１１は、検出結果を地図更新部１２に出力する。
【００２９】
地図更新部１２は、入力された検出結果に基づいて、各グリッドに対応する関数を算出する。そして、地図更新部１２は、当該グリッドに算出した関数を登録し、地図を更新する（ステップＳ１０２）。
【００３０】
次に、経路探索部１４１は、メモリ１３に格納された経路リストの中の最小コスト経路から探索枝を伸ばす（ステップＳ１０３）。移動時間推定部１４２は、式（１）を用いて探索枝の各パターンにより選択された処理中グリッドまでの移動時間を推定し、メモリ１３に格納する（ステップＳ１０４）。
【００３１】
経路算出部１４３は、式（２）を用いて探索枝の各パターンにより選択された処理中グリッドにおける経路コストを算出し、スタートグリッドから処理中グリッドまでの経路の経路コストを更新する（ステップＳ１０５）。そして、当該経路コスト及びその経路を経路リストとしてメモリ１３に格納する。
【００３２】
さらに、経路算出部１４３は、メモリ１３に格納された経路リストの経路コストを参照し、経路コスト順にソートする（ステップＳ１０６）。そして、経路算出部１４３は、経路リストのうち、最小コスト経路がゴールグリッドに到着しているか否かを判定する（ステップＳ１０７）。最小コスト経路がゴールグリッドに到着している場合（ステップＳ１０７：Ｙｅｓ）、当該経路を最適経路として経路追従部１５に出力し、経路計画処理を終了する。一方、最小コスト経路がゴールグリッドに到着していない場合（ステップＳ１０７：Ｎｏ）、ロボット１は、再び周囲の環境認識処理（ステップＳ１０１）から経路計画処理を開始する。そして、経路計画部１４が、最新の関数が格納されたグリッド地図を用いて、最小コスト経路について経路枝を伸ばす。最小コスト経路がゴールグリッドに到着するまで、ステップＳ１０１〜Ｓ１０６のループを繰り返す。
【００３３】
以上のように、本実施の形態にかかるロボット１によれば、地図更新部１２が周囲の動的な障害物の位置の時間的な変化を関数化する。そして、経路計画部１４が、当該関数を用いて経路コストを計算し、最適経路を算出する。そのため、障害物の時間的な変化を考慮した経路計画が２次元グリッド地図により可能となる。したがって、本発明により、メモリコストの増大を抑制しつつ、時間要素を取り入れた経路計画が可能となる。
【００３４】
他の実施例
本発明にかかる他の実施例について説明する。なお、ロボットの構成は、図１に示したロボット１のブロック図と同様であるため説明を省略する。上記の実施の形態１においては、経路探索部１４１が選択できる探索枝の伸ばし方は６通りであったが、図９に示すように、７通りとしてもよい。つまり、処理済みグリッドから移動せずに、そのグリッドで待機するという選択肢を設けてもよい。
【００３５】
経路探索部１４１が待機動作を選択した場合、移動時間推定部１４２は、以下の式（３）により移動時間を推定する。このとき、ΔＴ：待機時間とする。なお、ΔＴは、環境の時間変化スケールに対して十分に小さい値とする。
【００３６】
【数３】
0005614202.tif 000004
【００３７】
このように、待機動作を経路探索部１４１の選択動作に加えることにより、時間的に変化する動的な障害物を回避するためのより最適な経路計画が可能となる。
【００３８】
さらに、過度な待機を回避し、短時間でゴールグリッドに到着するために、経路算出部１４３が経路コストを算出するための式を以下の式（４）としてもよい。このとき、β：到達時間コストの調整パラメータとする。
【００３９】
【数４】
0005614202.tif 000005
【００４０】
加えて、待機する場所がゴールグリッドに近い方が、移動モデルの誤差が減少する等の理由により、環境認識の精度が上がる。そのため、経路探索部１４１が待機を選択する場合は、ゴールグリッドまでの距離を積算する関数を経路コストを算出する式に追加してもよい。これにより、より精度の高い環境認識が可能となり、より最適な経路計画が可能となる。
【００４１】
一方、経路計画部１４は、移動効率を考慮した経路コストを算出してもよい。例えば、待機動作を１回、移動動作１回という動作を５セット繰り返すよりも、待機動作を連続５回、移動動作を連続５回する方が移動効率がよい。そのため、経路算出部１４３が経路コストを算出するための式を以下の式（５）としてもよい。このとき、γ：加速度コストの調整パラメータ、ｇ（Ｖ）：待機の場合に発生する加速度コスト、とする。
【００４２】
【数５】
0005614202.tif 000006
【００４３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更及び組み合わせをすることが可能である。例えば、上記の実施の形態においては、経路計画部１４は、処理中グリッドからゴールグリッドまでの距離を考慮していないが、処理中グリッドからゴールグリッドまでの距離を考慮してもよい。スタートグリッドから処理中グリッドまでの経路コスト及び処理中グリッドからゴールグリッドまでの距離を用いてＡ＊アルゴリズムに適用してもよい。さらに、ロボット１は、スタートグリッドからゴールグリッドまでの経路を一気に計画せずに、移動しながら経路計画を行ってもよい。
【符号の説明】
【００４４】
１  ロボット
１１  環境認識部
１２  地図更新部
１３  メモリ
１４  経路計画部
１５  経路追従部
１６  駆動部
２００  スタートグリッド
２０１  処理済みグリッド
２０２  処理中グリッド
３００  最小コスト経路
３０１  探索枝
【図１】
0005614202.tif 000007
【図２】
0005614202.tif 000008
【図３】
0005614202.tif 000009
【図４】
0005614202.tif 000010
【図５】
0005614202.tif 000011
【図６】
0005614202.tif 000012
【図７】
0005614202.tif 000013
【図８】
0005614202.tif 000014
【図９】
0005614202.tif 000015