(57)【要約】【課題】移動ロボットが移動可能領域を算出するための計算コストを軽減させる。【解決手段】移動体が移動した移動軌跡を取得する移動軌跡取得部と、移動体が移動する床面に上方から投影されたサイズを示す移動体サイズを特定するために前記移動体の大きさに関する情報を取得するサイズ取得部と、移動軌跡と移動体サイズとにより障害物が無いと判断された領域のうち、移動ロボットが移動する床面に上方から投影されたサイズ以上の広い領域を、移動ロボットが移動可能な領域として特定する領域特定部と、を備える。【選択図】        図１
2008083995.tif 000002
【特許請求の範囲】
【請求項１】
移動ロボットに対する移動可能な領域を示す地図情報を処理する地図情報処理装置において、
移動体が移動した移動軌跡を取得する移動軌跡取得手段と、
前記移動体が移動する移動平面上に上方から投影されたサイズを示す移動体サイズを特定するために前記移動体の大きさに関する情報を取得するサイズ取得手段と、
前記移動軌跡と前記移動体サイズを用いて障害物の有無を判断し、前記障害物が無いと判断された領域のうち、前記移動ロボットが移動する移動平面上に上方から投影されたサイズ以上の広い領域を、前記移動ロボットが移動可能な領域として特定する領域特定手段と、
を備えることを特徴とする地図情報処理装置。
【請求項２】
前記移動軌跡取得手段により取得された前記移動軌跡を前記移動体が移動している際の、前記移動体の移動方向を取得する移動方向取得手段と、
取得した前記移動方向と特定した前記移動可能な領域とに基づいて、前記移動軌跡における前記移動方向で、前記移動ロボットの目的地までの移動経路を生成する移動経路生成手段と、
をさらに備えることを特徴とする請求項１に記載の地図情報処理装置。
【請求項３】
前記移動軌跡取得手段により取得された前記移動軌跡を前記移動体が移動している際の、前記移動体の移動速度を取得する移動速度取得手段と、
前記移動ロボットが前記移動経路を移動する際に参考とされる参考速度を算出する参考速度算出手段と、
をさらに備え
前記参考速度算出手段は、前記参考速度を前記移動軌跡における前記移動体の前記移動速度と同等若しくはそれ以下の速度とすることを特徴とすることを特徴とする請求項２に記載の地図情報処理装置。
【請求項４】
前記移動平面上の位置を示す位置情報と、当該位置における前記移動速度の平均を示す速度平均情報と、当該位置において移動方向が一方向か否かを示す指標と、を対応付ける速度履歴情報を記憶する移動速度記憶手段と、をさらに記憶し、
前記参考速度算出手段は、前記速度履歴情報に格納された各位置における前記速度平均情報を用いて前記参考速度を算出し、
前記移動速度取得手段により取得された前記移動平面上の位置毎に前記移動体の前記移動速度を、前記速度履歴情報に対して登録する登録手段をさらに備えたこと、
を特徴とする請求項３に記載の地図情報処理装置。
【請求項５】
前記移動速度記憶手段に記憶された前記速度履歴情報は、前記位置において移動方向が一方向か否かを示す指標として、前記移動速度のばらつきを示すデータを保持すること、
を特徴とする請求項４に記載の地図情報処理装置。
【請求項６】
前記ばらつきを示すデータは、移動速度の分散、移動速度の標準偏差、分散速度ベクトルの所定の方向成分、標準偏差速度の所定の方向成分、速度ベクトルの所定の方向成分の最小値及び速度ベクトルの所定の方向成分の最大値、速度ベクトルにおける所定の方向成分に前記移動体が移動した回数のうちいずれか一つ以上を含むこと、
を特徴とする請求項５に記載の地図情報処理装置。
【請求項７】
移動体の識別情報と、当該移動体における前記移動体サイズとを対応付ける移動体サイズ管理情報を記憶するサイズ記憶手段と、
前記移動体の識別情報を検出する移動体検出取得手段と、
前記サイズ取得手段は、前記移動体サイズ管理情報から、検出した前記移動体を識別する前記識別情報と対応付けられた前記移動体サイズを取得すること、
を特徴とする請求項１乃至４のいずれか一つに記載の地図情報処理装置。
【請求項８】
前記サイズ検知手段は、前記移動体を計測する所定のセンサから入力された信号情報から、前記移動体のサイズを取得すること、
を特徴とする請求項１乃至４のいずれか一つに記載の地図情報処理装置。
【請求項９】
前記領域特定手段は、前記移動ロボットが移動する移動平面上に上方から投影されたサイズを示す移動ロボットサイズより前記移動体サイズが広い移動体が移動した場合、当該移動体の前記移動体サイズの幅で移動軌跡に従って移動した移動領域を、移動可能な領域として特定すること、
を特徴とする請求項１乃至８のいずれか一つに記載の地図情報処理装置。
【請求項１０】
前記領域特定手段は、前記移動ロボットが移動する移動平面上に上方から投影されたサイズを示す移動ロボットサイズより前記移動体サイズが狭い移動体が移動した場合、当該移動体の前記移動体サイズの幅で移動軌跡に従って移動した移動領域が複数重畳した結果、前記移動ロボットサイズより広いと判断された移動領域を、移動可能な領域として特定すること、
を特徴とする請求項１乃至８のいずれか一つに記載の地図情報処理装置。
【請求項１１】
移動体が移動した移動軌跡を取得する移動軌跡取得手段と、
前記移動体が移動する移動平面上に上方から投影されたサイズを示す移動体サイズを特定するために前記移動体の大きさに関する情報を取得するサイズ取得手段と、
前記移動軌跡と前記移動体サイズを用いて移動時に障害物の有無を判断し、前記障害物が無いと判断された領域のうち、自装置の移動平面上に上方から投影されたサイズ以上の広い領域を、移動可能な領域として算出する領域特定手段と、
を備えることを特徴とする移動ロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットが移動するために用いる地図情報を処理する地図情報処理装置及び移動ロボット装置に関するものである。
【背景技術】
【０００２】
近年、人間と活動空間を共有する移動ロボットが各種発表されている。また、このような活動空間は、移動ロボット用が移動するために設定された空間ではないので、当該空間を移動ロボットが移動するために様々な技術が必要となる。
【０００３】
例えば、移動ロボットは、活動空間において、現在地から目的地までの移動経路を生成して、当該移動経路に従って移動するが、移動経路を特定するために、障害物などが存在しない移動可能な領域を特定する必要がある。
【０００４】
そこで、特許文献１では、カメラから入力された距離画像情報などの３次元データから、障害物のない平面領域を抽出している。このように抽出された平面領域が、移動ロボットが移動可能な領域となる。これにより、移動ロボットは移動可能な領域内から移動経路を生成することができる。
【０００５】
【特許文献１】特開平１０−３３３７４６号公報
【特許文献２】特開２００３−２７１９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に示した手法を用いた場合、距離画像情報の処理が煩雑であり、処理負担が大きいという問題がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、移動ロボットの移動可能な領域を算出する際の計算コストを削減できる地図情報処理装置及び移動ロボット装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる地図情報処理装置は、移動ロボットに対する移動可能な領域を示す地図情報を処理する地図情報処理装置において、移動体が移動した移動軌跡を取得する移動軌跡取得手段と、前記移動体が移動する移動平面上に上方から投影されたサイズを示す移動体サイズを特定するために前記移動体の大きさに関する情報を取得するサイズ取得手段と、前記移動軌跡と前記移動体サイズを用いて障害物の有無を判断し、前記障害物が無いと判断された領域のうち、前記移動ロボットが移動する移動平面上に上方から投影されたサイズ以上の広い領域を、前記移動ロボットが移動可能な領域として特定する領域特定手段と、を備えることを特徴とする。
【０００９】
また、本発明にかかる移動ロボット装置は、移動体が移動した移動軌跡を取得する移動軌跡取得手段と、前記移動体が移動する移動平面上に上方から投影されたサイズを示す移動体サイズを特定するために前記移動体の大きさに関する情報を取得するサイズ取得手段と、前記移動軌跡と前記移動体サイズを用いて移動時に障害物の有無を判断し、前記障害物が無いと判断された領域のうち、自装置の移動平面上に上方から投影されたサイズ以上の広い領域を、移動可能な領域として算出する領域特定手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、移動ロボットの移動可能な領域を算出する際の計算コストを軽減させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかる地図情報処理装置及び移動ロボット装置の最良な実施の形態を詳細に説明する。
【００１２】
（第１の実施の形態）
図１は、第１の実施の形態にかかる移動ロボットの構成を示すブロック図である。本図に示すように、移動ロボット１００は、物体サイズ記憶部１０１と、移動領域・速度記憶部１０２と、ロボット特性記憶部１０３と、センサ１０４と、移動可能領域登録部１０５と、領域特定部１０６と、ゴール設定部１０７と、スタート設定部１０８と、経路生成部１０９と、参考速度算出部１１０と、移動制御部１１１とを備える。また、移動ロボット１００は、他の移動ロボットのセンサ１５１、床センサ１５２、環境内カメラ１５３等と無線等を介して接続されている。
【００１３】
図２は、移動体の移動軌跡と、移動ロボット１００が生成する移動経路の関係を示した概念図である。図２に示した移動体（人）は、ドア２０２を介して移動軌跡上に示した矢印方向に移動したこととする。この場合、移動ロボット１００は、移動体が移動した移動軌跡上を障害がない領域と判断する。そして、移動ロボット１００は、当該障害がない領域で、移動体が移動した方向であれば、他の移動体と衝突しない方向と判断する。そして、移動ロボット１００が、現在地２０１からドア２０２を通って目的地２０３まで移動する必要がある場合、移動体が移動した方向に逆らわないように移動経路を算出する。これにより、移動体との衝突を抑止できる。
【００１４】
これは、例えば移動体（人）の間の暗黙の了解として、ドア２０２を通過する際は右側を通ることが決められている場合、移動ロボット１００も上述した処理でドア２０２の右側を通るように移動経路が算出される。このように、所定の空間で移動体の移動に流れが存在する場合、移動ロボット１００は当該流れに従って移動することが可能となる。これにより、移動ロボット１００は、移動体と移動経路上で衝突する確率を低下させることができる。
【００１５】
図１に戻り、他の移動ロボットのセンサ１５１、床センサ１５２、環境内カメラ１５３は、移動体、障害物を検出し、移動ロボット１００に対して時間差分データ、反応領域データ又は画像データ等のセンサデータを出力する。このように様々なセンサから入力されたセンサデータを用いることで移動可能領域を広域な範囲且つ高い精度で特定することができる。
【００１６】
物体サイズ記憶部１０１は、移動体サイズ管理テーブルを記憶する。図３は、移動体サイズ管理テーブルのテーブル構造の例を示した図である。図３に示すように、移動体サイズ管理テーブルは、移動体を示す物体名と、移動体が床面に投影された物体大きさ（サイズ）とを対応付けて格納する。移動ロボット１００は、移動体サイズ管理テーブルにより、検出した移動体の床面に投影された大きさ（サイズ）を特定することができる。なお、本実施の形態では、移動体及び移動ロボット１００が移動する移動平面の一例として、床面を用いることとする。
【００１７】
移動領域・速度記憶部１０２は、移動領域・速度履歴管理テーブルを記憶する。図４は、移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。図４に示すように、移動領域・速度履歴管理テーブルは、“ｘ座標”と、“ｙ座標”と、“通過フラグ”と、“通過物体個数”と、“速度平均”と、“速度分散”と、“平均速度ベクトルｘ方向成分”と、“平均速度ベクトルｙ方向成分”と、“分散速度ベクトルｘ方向成分”と、“分散速度ベクトルｙ方向成分”と、を対応付けて格納する。
【００１８】
そして、“ｘ座標”及び“ｙ座標”により床面における位置を特定する。そして、“通過フラグ”は、当該特定される位置が通過可能か否かを示すパラメータを保持する。“通過物体個数”は当該特定される位置を通過した物体の個数を保持する。“速度平均”は、当該特定される位置を通過した移動体の平均速度を示している。“速度分散”は、移動体の平均速度のばらつきを示している。“平均速度ベクトルｘ方向成分”及び“平均速度ベクトルｙ方向成分”は、移動体の速度ベクトルの方向成分毎の平均値を保持する。“分散速度ベクトルｘ方向成分”及び“分散速度ベクトルｙ方向成分”は、移動体の分散速度ベクトルの方向成分毎の平均値を保持する。
【００１９】
そして、“速度平均”、“速度分散”、“平均速度ベクトルｘ方向成分”、“平均速度ベクトルｙ方向成分”、“分散速度ベクトルｘ方向成分”及び“分散速度ベクトルｙ方向成分”から、“ｘ座標”及び“ｙ座標”で特定される位置で、移動方向が一方向か否か判断することができる。換言すれば、これらフィールドに格納されたパラメータは、移動方向が一方向か否か示す指標として用いることができる。
【００２０】
図４に示す例では、第１のレコードは、分散が‘０．３’と小さく、平均速度と、平均速度ベクトルのｘ、ｙ方向成分から算出される速度がほぼ一致するので移動方向が一方向と判断する。第２のレコードは、分散が‘０．４’と第１のレコードよりばらつきが大きく、そして平均速度と、平均速度ベクトルのｘ、ｙ方向から算出される速度とが異なるので、移動方向が一方向ではないと判断できる。
【００２１】
ロボット特性記憶部１０３は、移動ロボット１００が床面に投影されたサイズ（以下、移動ロボットサイズとする）、移動ロボット１００の加減速特性等を記憶する。本実施の形態では、移動ロボット１００が床面に投影された縦×横のサイズを、０．４（ｍ）×０．４（ｍ）とする。
【００２２】
センサ１０４は、移動体を検出できるセンサであればどのようなセンサでも良く、例えば赤外線センサ等とする。そして、センサ１０４は、時間差分データ、反応領域データ等のセンサデータを、移動可能領域登録部１０５に出力する。
【００２３】
移動可能領域登録部１０５は、移動体検出部１３１と、サイズ取得部１３２と、移動軌跡取得部１３３と、移動方向取得部１３４と、移動速度取得部１３５と、登録部１３６とを備える。
【００２４】
移動体検出部１３１は、センサ１０４、他の移動ロボットのセンサ１５１、床センサ１５２、環境内カメラ１５３から入力されたセンサデータから、移動体を識別する情報の検出処理を行う。そして、移動体検出部１３１は、移動体を識別する情報を検出した場合、検出した移動体の特定を行う。そして、移動体検出部１３１が、移動体を特定した場合、当該移動体を含むセンサデータを、サイズ取得部１３２に出力する。また、センサデータは、移動軌跡取得部１３３、移動方向取得部１３４、移動速度取得部１３５にも出力される。
【００２５】
サイズ取得部１３２は、当該移動体を含むセンサデータから、移動体の床面に投影されたサイズ（以下、移動体サイズという）を算出できる場合、当該移動体サイズを算出する。なお、サイズ取得部１３２が取得する情報は、移動体の大きさに関する情報であり、且つ移動体のサイズを特定できる情報であれば、センサデータ以外の情報でもよい。
【００２６】
また、サイズ取得部１３２は、移動体サイズを算出できない場合、当該センサデータからから、移動体を示す特徴情報を抽出し、当該特徴情報から移動体を表す物体名を特定する。そして、サイズ取得部１３２は、特定された物体名と対応付けられた物体大きさ（移動体サイズ）を、物体サイズ記憶部１０１に記憶された移動領域・速度履歴管理テーブルから取得する。なお、サイズ取得部１３２が当該特徴情報から移動体の特定する手法は、周知の手法を問わずどのような手法を用いても良い。
【００２７】
移動軌跡取得部１３３は、入力されたセンサデータから、床面上を移動した移動体の移動軌跡を取得する。そして、移動体が通過した移動領域は、取得した移動軌跡に従って移動体サイズが移動した際に、当該移動体サイズに含まれたことがある領域となる。なお、この移動軌跡の取得手法は、周知の手法を問わず、どのような手法でも良い。
【００２８】
移動方向取得部１３４は、センサデータから、移動体が通過した移動領域に含まれる位置毎に移動方向を取得する。また、取得した移動方向は、移動速度取得部１３５に出力する。
【００２９】
移動速度取得部１３５は、センサデータから、移動体が通過した移動領域に含まれる位置毎に移動速度を算出し、各位置の移動速度を取得する。そして、移動速度取得部１３５は、取得した移動速度及び入力された移動方向から速度ベクトルを取得できる。
【００３０】
そして、本実施の形態にかかる移動速度取得部１３５は、移動軌跡の各位置における速度、速度ベクトルｘ方向成分、速度ベクトルｙ方向成分を算出する。
【００３１】
登録部１３６は、取得した移動体の移動軌跡に関する情報を、移動領域・速度履歴管理テーブルに対して登録する。つまり、登録部１３６は、サイズ取得部１３２、移動軌跡取得部１３３、移動方向取得部１３４及び移動速度取得部１３５により算出された移動軌跡上で移動体が通過した位置毎の速度ベクトル等を、移動領域・速度履歴管理テーブルに対して更新する。
【００３２】
まず、登録部１３６は、移動体が通過した移動領域に含まれる位置を、障害物がない位置として登録する。つまり、登録部１３６は、移動領域・速度履歴管理テーブルにおいて、当該移動領域に含まれる位置を表すレコードで通過フラグが“不明”の場合、“可能”に変更する。これにより、障害物がない領域が特定可能となる。
【００３３】
登録部１３６は、移動領域・速度履歴管理テーブルから、移動体が通過した移動領域に含まれる位置毎に、“通過物体個数”、“速度平均”、“速度分散”、“平均速度ベクトルｘ方向成分”、“平均速度ベクトルｙ方向成分”、“分散速度ベクトルｘ方向成分”、“分散速度ベクトルｙ方向成分”を取得する。
【００３４】
そして、登録部１３６は、移動領域に含まれる位置毎に、移動速度取得部１３５で算出された算出結果（速度、速度ベクトルｘ方向成分、速度ベクトルｙ方向成分）と、移動領域・速度履歴管理テーブルから取得した情報とを用いて、速度平均、速度分散、平均速度ベクトルｘ方向成分、平均速度ベクトルｙ方向成分、分散速度ベクトルｘ方向成分、分散速度ベクトルｙ方向成分を算出すると共に、取得した通過物体個数に“１”追加する。そして、登録部１３６は、算出した値及び通過物体個数で、移動領域・速度履歴管理テーブルの当該位置が格納されたレコードを更新する。
【００３５】
領域特定部１０６は、移動ロボットサイズを用いて障害物の有無を判断し、障害物が無いと判断された領域のうち、移動ロボット１００が移動ロボットサイズより幅が広い領域を、移動可能な領域として特定する。このため、領域特定部１０６は、移動ロボットサイズを、ロボット特性記憶部１０３から取得する。
【００３６】
本実施の形態にかかる領域特定部１０６は、移動領域・速度履歴管理テーブルに格納された位置毎に“通過フラグ”を参照することで、床面で障害物が無い領域を特定できる。そして、領域特定部１０６は、当該障害物が無い領域のうち、移動ロボットサイズの幅より広い領域を移動可能な領域として特定する。
【００３７】
図５が、移動ロボット１００が移動可能な領域を説明する概略図である。符号５０１が床面に投影された犬のサイズを示し、符号５０２が移動ロボットサイズを示し、符号５０３が床面に投影された人のサイズを示している。そして、領域５０５は人が通過した移動領域を示している。そして、領域５０４及び領域５０６は犬が通過した移動領域を示している。そして、移動領域・速度履歴管理テーブルでは、人が通過した移動領域（領域５０５）及び犬が通過した移動領域（領域５０４及び領域５０６）に含まれる各位置の“通過フラグ”には、“可能”が格納されている。
【００３８】
つまり、領域特定部１０６は、領域５０４、領域５０５及び領域５０６は、障害物が無い領域と判断できる。そして、領域特定部１０６は、人が通過した移動領域が、移動ロボットサイズ５０２の幅より広いので移動可能な領域と判断する。また、領域特定部１０６は、領域５０４が移動ロボットサイズの幅より狭いので移動可能領域と判断しない。また、領域特定部１０６は、犬が通過した移動領域が重ね合わさった領域５０５については移動ロボットサイズの幅より広いので移動可能領域と判断する。つまり、領域特定部１０６は、床５０７において領域５０６と、領域５０６とを移動可能領域として特定する。
【００３９】
ゴール設定部１０７は、移動ロボット１００の目的地となるゴール地点を設定する。スタート設定部１０８は、移動ロボットの現在地をスタート地点として設定する。
【００４０】
経路生成部１０９は、判断部１２０を備え、領域特定部１０６により特定された移動可能領域のうち、設定されたスタート地点からゴール点までの移動経路を生成する。なお、詳細な候補の生成手順については後述する。
【００４１】
判断部１２０は、生成された移動経路の候補による移動が、移動体の移動方向と逆方向の移動の有無を判断する。また、判断部１２０が逆方向の移動があると判断した場合、経路生成部１０９は、別の移動経路の候補を生成する。
【００４２】
参考速度算出部１１０は、経路生成部１０９により生成された移動経路に含まれる位置毎に、ロボット特性記憶部１０３から取得した移動ロボット１００の加減速特性と、移動領域・速度履歴管理テーブルから取得した速度ベクトルの平均に基づいて、移動体と同等若しくはそれ以下の速度である参考速度ベクトルを算出する。そして、参考速度算出部１１０は、位置毎の参考速度から、スタート地点からゴール地点までの参考速度の候補列（以下、移動速度候補列ともいう）を生成する。
【００４３】
また、参考速度とは、移動ロボット１００が移動するとき目標となる速度であるが、移動時に外乱が発生した場合に修正される可能性のある速度をいう。例えば、移動ロボット１００が算出された速度で移動中に、人が移動経路上に存在する場合、移動ロボット１００が当該速度に従った状態だと人に衝突する可能性もある。そこで、参考速度算出部１１０は、実際に移動する速度ではなく、移動時に速度変更可能な参考速度を算出する。
【００４４】
図６は、参考速度算出部１１０により生成された移動速度候補列の例を示した図である。図６に示すように移動速度候補列は、各経由地点間の候補速度ベクトル（参考速度ベクトル）を保持する。そして、移動ロボット１００は、移動速度候補列を参照して、移動経路に沿ってゴール地点まで移動することができる。
【００４５】
移動制御部１１１は、生成された移動速度候補列を参照して、移動ロボット１００がゴール地点まで移動するために（図示しない）駆動機構を制御する。
【００４６】
次に、移動ロボット１００の移動体の検出から移動領域・速度履歴管理テーブルに登録するまでの処理手順について説明する。図７は、移動ロボット１００の移動体の検出から移動領域・速度履歴管理テーブルに登録するまでの処理手順を示すフローチャートである。
【００４７】
まず、移動ロボット１００の移動体検出部１３１は、センサ１０４、他の移動ロボットのセンサ１５１、床センサ１５２及び環境内カメラ１５３から入力されたセンサデータから、移動ロボット１００が存在する環境内において移動体の検出処理を行う（ステップＳ７０１）。そして、移動体検出部１３１が、移動体を検出できない場合（ステップＳ７０１）、所定の時間経過後に再び移動体の検出処理を行う（ステップＳ７０１）。
【００４８】
また、移動体検出部１３１が移動体を検出した場合（ステップＳ７０１：Ｙｅｓ）、サイズ取得部１３２は移動体のサイズを取得する（ステップＳ７０２）。なお、移動体のサイズの取得手法は、上述したとおりなので説明を省略する。
【００４９】
次に、移動軌跡取得部１３３は、入力されたセンサデータから、移動体の移動軌跡を取得する（ステップＳ７０３）。そして、登録部１３６は、移動軌跡及び移動体サイズから特定される移動体が通過した移動領域に含まれる各位置を、障害物のない位置として移動領域・速度履歴管理テーブルに登録する（ステップＳ７０４）。
【００５０】
次に、移動方向取得部１３４は、移動体の移動領域に含まれる位置毎の移動方向を取得する（ステップＳ７０５）。
【００５１】
そして、移動速度取得部１３５が、センタデータから、移動体の移動領域に各位置での移動速度を取得する（ステップＳ７０６）。そして、移動方向取得部１３４が取得した移動方向により速度ベクトルを取得できる。そして、登録部１３６が、取得した速度ベクトル等で、移動領域・速度履歴管理テーブルのレコードを更新する。
【００５２】
これにより、移動体が移動した結果が移動領域・速度履歴管理テーブルに反映されたことになる。そして、移動ロボット１００は、移動領域・速度履歴管理テーブルに格納された情報を用いて、移動経路及び移動時の参考速度を取得することが可能となる。
【００５３】
次に、移動ロボット１００の移動経路及び移動時の参考速度の候補列を算出する処理手順について説明する。図８は、移動ロボット１００の移動経路及び移動時の参考速度の候補列を算出する処理手順を示すフローチャートである。
【００５４】
まず、領域特定部１０６は、移動領域・速度履歴管理テーブルに記憶されたレコード上方から、移動ロボット１００が移動可能な領域を特定する（ステップＳ８０１）。なお、特定手法については、上述した通りとする。
【００５５】
次に、スタート設定部１０８が、移動ロボット１００のスタート地点を設定する（ステップＳ８０２）。そして、ゴール設定部１０７が、移動ロボット１００のゴール地点を設定する（ステップＳ８０３）。
【００５６】
そして、経路生成部１０９が、スタート地点からゴール点までの移動経路の候補を、移動可能な領域内から生成する（ステップＳ８０４）。また、移動経路の候補の生成手法としては、周知の手法を問わず、あらゆる手法を用いて良い。例えば、特開平１０−３３３７４６に記載された手法を用いて、移動経路の候補を生成すること等が考えられる。
【００５７】
そして、判断部１２０は、生成された移動経路の候補において、移動体の移動方向と逆方向の移動の有無を判断する（ステップＳ８０５）。判断部１２０が行う逆方向の移動か否か判断する手法の例を説明する。まず、判断部１２０は、移動領域・速度履歴管理テーブルから移動経路（の候補）上の各位置の情報を取得する。そして、判断部１２０は、取得した位置の情報から、速度ベクトルの分散が小さい位置を全て特定する。次に、判断部１２０は、特定された位置毎に、当該位置の平均速度ベクトルと、生成された移動経路（の候補）による移動方向とがほぼ逆であるか否か判断する。
【００５８】
つまり、速度ベクトルの分散が小さい（移動速度のばらつきが少ない）場合、移動方向が一方向と判断できる。そして、速度ベクトルの分散が小さく且つ移動方向が逆であれば、一方向の領域で逆方向に移動しているものと判断できる。
【００５９】
そして、判断部１２０が、逆方向の移動があると判断した場合（ステップＳ８０５：Ｙｅｓ）、経路生成部１０９が再度、移動経路の候補の生成を行う（ステップＳ８０４）。
【００６０】
そして、判断部１２０が、逆方向の移動がないと判断した場合（ステップＳ８０５：Ｎｏ）、参考速度算出部１１０が、移動領域・速度履歴管理テーブルに記憶されていた平均速度ベクトル等から、移動する際の参考速度の候補列（移動速度候補列）を算出する（ステップＳ８０６）。
【００６１】
そして、移動ロボット１００は、上述した処理手順により生成された移動速度候補列を参照して、ゴール地点まで移動することができる。
【００６２】
上述した本実施の形態にかかる移動ロボット１００によれば、移動体の移動軌跡と、移動体の移動体サイズと、移動ロボットサイズを用いて、移動ロボットが移動可能な領域を算出するため、計算コストを軽減させることができる。
【００６３】
また、本実施の形態に係る移動ロボット１００は、センサ１０４、他の移動ロボットのセンサ１５１、床センサ１５２及び環境内カメラ１５３等の複数種類のセンサを利用することが可能なので、床面が見えないような遮蔽物の反対側の移動可能な領域も認識することができるので、大域的な移動可能領域を生成することができる。
【００６４】
また、本実施の形態に係る移動ロボット１００は、移動領域・速度履歴管理テーブルに位置毎の移動速度と方向に記憶していることで、一方通行の空間で逆走を行わない移動経路の候補の算出が可能となる。
【００６５】
また、本実施の形態に係る移動ロボット１００は、移動体の移動軌跡と共に、移動速度と方向を記録し、移動経路候補を計算することで、周りの移動体の流れを阻害しない移動経路を算出できる。
【００６６】
（変形例）
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【００６７】
（変形例１）
上述した第１の実施の形態に係る移動ロボット１００は、床面の位置毎に移動方向が一方向か否かを、移動領域・速度履歴管理テーブルで対応付けられた“速度分散”、“分散速度ベクトルｘ方向成分”、“分散速度ベクトルｙ方向成分”による速度のばらつきから判断した。しかしながら、移動方向が一方向か否かを判別する速度のばらつきを、速度の分散に制限するものではない。
【００６８】
そこで、本変形例にかかる移動ロボットでは、移動方向が一方向か否か判断するために、速度の標準偏差を用いた例について説明する。図９は、本変形例に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。図９に示すように、移動領域・速度履歴管理テーブルは、“ｘ座標”と、“ｙ座標”と、“通過フラグ”と、“通過物体個数”と、“速度平均”と、“速度標準偏差”と、“平均速度ベクトルｘ方向成分”と、“平均速度ベクトルｙ方向成分”と、“標準偏差速度ベクトルｘ方向成分”と、“標準偏差速度ベクトルｙ方向成分”と、を対応付けて格納する。
【００６９】
そして、分散を標準速度変化に置き換えて、第１の実施の形態と同様の処理を行うことで、位置毎に移動方向が一方向か否か判断することができる。このように速度のばらつきとして標準速度偏差など、さまざまなパラメータを用いることができる。なお、他の構成は、第１の実施の形態と同様なので説明を省略する。以下の変形例も、第１の実施の形態と同様の構成については説明を省略することとする。
【００７０】
（変形例２）
移動領域・速度履歴管理テーブルに格納される速度のばらつきの他の例としては、速度の最大値、最小値を格納することが考えられる。そこで、変形例２では、移動ロボットが一方向か否か判断するために、速度の最大値及び最小値を保持する例について説明する。
【００７１】
図１０は、本変形例に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。図１０に示すように、移動領域・速度履歴管理テーブルは、“ｘ座標”と、“ｙ座標”と、“通過フラグ”と、“通過物体個数”と、“速度平均”と、“速度標準偏差”と、“平均速度ベクトルｘ方向成分”と、“平均速度ベクトルｙ方向成分”と、“速度ベクトルｘ方向成分最大値”と、“速度ベクトルｘ方向成分最小値”と、“速度ベクトルｙ方向成分最大値”と、“速度ベクトルｙ方向成分最小値”と、を対応付けて格納する。
【００７２】
そして、移動ロボットは、上述した移動領域・速度履歴管理テーブルを参照することで、方向成分毎に最大値及び最小値により導き出せる速度のばらつきにより、位置毎に移動方向が一方向か否か判断することができる。
【００７３】
（変形例３）
また、位置毎に移動方向が一方向か否かを判断する手法を、速度のばらつきで判断する手法に制限するものではない。そこで、変形例３では、速度ベクトル各方向成分における正方向の個数により、移動方向が一方向か否か判断する例について説明する。
【００７４】
図１１は、本変形例に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。図１１に示すように、移動領域・速度履歴管理テーブルは、“ｘ座標”と、“ｙ座標”と、“通過フラグ”と、“通過物体個数”と、“速度平均”と、“速度標準偏差”と、“平均速度ベクトルｘ方向成分”と、“平均速度ベクトルｙ方向成分”と、“速度ベクトルｘ方向が正方向の個数”と、“速度ベクトルｙ方向が正方向の個数”と、を対応付けて格納する。
【００７５】
そして、移動ロボットの判断部は、上述した移動領域・速度履歴管理テーブルを参照し、“通過物体個数”に第１の確率を乗じた値より、“速度ベクトルｘ方向が正方向の個数”、“速度ベクトルｙ方向が正方向の個数”の値が大きい場合に正の方向に対して一方向と判断する。また、“通過物体個数”に第２の確率を乗じた値より、“速度ベクトルｘ方向が正方向の個数”、“速度ベクトルｙ方向が正方向の個数”の値が小さい場合も負の方向に対して一方向と判断する。この第１の確率及び第２の確率の関係は、第１の確率＞第２の確率となる。例としては第１の確率は７０％で、第２の確率は３０％等が考えられる。
【００７６】
このように移動可能な領域の位置毎に一方向か否か判断する手法は、上述した手法のほか、あらゆる手法を用いても良い。
【００７７】
（変形例４）
上述した実施形態では、地図情報処理装置を移動ロボットに適用した例について説明した。しかしながら、地図情報処理装置を移動ロボットに適用させる場合に限るものではない。そこで変形例４では、地図情報処理装置をＰＣに適用した場合について説明する。
【００７８】
本変形例に係るＰＣは、移動ロボットが移動する環境内に設置されていることとする。当該ＰＣは、環境内に設置されたセンサからセンサデータが入力され、移動ロボットに対してデータの送受信を可能とする。そして、ＰＣは、上述した実施の形態と同様に、センサ等から入力されたセンサデータから、当該環境内を移動する移動ロボットの移動可能な領域を特定した後、当該移動ロボットに対して移動経路を生成し、移動ロボットに対して移動経路を送信する。これにより移動ロボットは、移動方向が一方向の位置で逆に移動することなく、移動することができる。このように、地図情報処理装置は、様々な装置に対して適用して良い。
【図面の簡単な説明】
【００７９】
【図１】第１の実施の形態にかかる移動ロボットの構成を示すブロック図である。
【図２】移動体の移動軌跡と、移動ロボット１００が生成する移動経路の関係を示した概念図である。
【図３】前記移動ロボットの物体サイズ記憶部に記憶される移動体サイズ管理テーブルのテーブル構造の例を示した図である。
【図４】前記移動ロボットの移動領域・速度記憶部に記憶される移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。
【図５】前記移動ロボット１００が移動可能な領域を説明する概略図である。
【図６】前記移動ロボット１００の参考速度算出部１１０により生成された移動速度候補列の例を示した図である。
【図７】前記移動ロボット１００の移動体の検出から移動領域・速度履歴管理テーブルに登録するまでの処理手順を示すフローチャートである。
【図８】前記移動ロボット１００の移動経路及び移動時の参考速度の候補列を算出する処理手順を示すフローチャートである。
【図９】変形例１に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。
【図１０】変形例２に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。
【図１１】変形例３に係る移動ロボットの移動領域・速度記憶部が記憶する移動領域・速度履歴管理テーブルのテーブル構造の例を示した図である。
【符号の説明】
【００８０】
１００  移動ロボット
１０１  物体サイズ記憶部
１０２  移動領域・速度記憶部
１０３  ロボット特性記憶部
１０４  センサ
１０５  移動可能領域登録部
１０６  領域特定部
１０７  ゴール設定部
１０８  スタート設定部
１０９  経路生成部
１１０  参考速度算出部
１１１  移動制御部
１２０  判断部
１３１  移動体検出部
１３２  サイズ取得部
１３３  移動軌跡取得部
１３４  移動方向取得部
１３５  移動速度取得部
１３６  登録部
１５１  センサ
１５２  床センサ
１５３  環境内カメラ
【図１】
2008083995.tif 000003
【図２】
2008083995.tif 000004
【図３】
2008083995.tif 000005
【図４】
2008083995.tif 000006
【図５】
2008083995.tif 000007
【図６】
2008083995.tif 000008
【図７】
2008083995.tif 000009
【図８】
2008083995.tif 000010
【図９】
2008083995.tif 000011
【図１０】
2008083995.tif 000012
【図１１】
2008083995.tif 000013