しかしながら、特許文献1のように、自律移動ロボット本体に検出装置が取り付けられている場合には、自律移動ロボットが移動経路中の障害物の存在に気づく(障害物を検出する)のは、障害物にある程度接近した時点である。例えば、自律移動ロボットが遠方の目的地に移動する場合、その移動経路には、ブラインドコーナーなどが存在する可能性が高く、自律移動ロボットに備えた検出装置ではブラインドコーナーの先に存在する障害物を検出することができない。このため、自律移動ロボットがコーナーの場所に移動した後に検出した障害物の情報に基づいて移動経路を更新することとなり、移動経路を更新する処理が完了するまで自律移動ロボットが移動できず、自律移動ロボットの移動に大きな無駄が生じることがある。特に、検出装置が自律移動ロボット本体のある程度の高さの位置に取り付けられ、真横に存在する障害物を検出する場合には、自律移動ロボットの移動に無駄が生じる状態に陥る頻度が高く、効率的に移動経路を更新(生成)することができないという問題がある。
また、特許文献2のように天井や壁などに設置された赤外線カメラを用いて自律移動ロボットの移動経路中の障害物を検出しようとした場合には、障害物の全てに赤外線タグを取り付ける必要があり実用的ではない。また、カメラによって撮影された画像データを用いて障害物を検出する場合には、障害物がない状態の床面のデータを予め記録しておき、カメラによって撮影された画像データとの差分を取るなどのパターンマッチングを行う必要がある。この予め記録しておく床面のデータは、自律移動ロボットの移動経路の全てのデータを記憶しておく必要があり、やはり実用的ではないという問題がある。
本発明は、上記の課題認識に基づいてなされたものであり、自律移動ロボットの移動において障害となる障害物の位置を事前に検出し、検出した障害物の位置を除いた床面の情報を、自律移動ロボットが目的地まで移動する移動経路を生成するための移動可能領域として抽出することができる移動可能領域抽出装置、移動可能領域抽出システム、移動可能領域抽出方法、およびプログラムを提供することを目的としている。
上記の課題を解決するため、請求項1に記載した発明の移動可能領域抽出装置(例えば、実施の形態における移動可能領域抽出装置40)は、自律的に移動する移動体(例えば、実施の形態における自律移動ロボット)の移動可能領域を抽出する移動可能領域抽出装置において、予め定められた床面の高さの範囲を表す床面判定値(例えば、実施の形態における床判定値a)に基づいて、前記移動体と異なる位置で前記移動体が移動する範囲内に設置された距離センサ(例えば、実施の形態におけるLRF10)が観測した観測点の情報(例えば、実施の形態における測距点データ)に基づいて算出された前記観測点の高さの情報(例えば、実施の形態における高さ(Z))に基づいて、前記移動体が移動する床面の高さを表す前記観測点を、前記移動体が移動することができる床面を示す床面観測点(例えば、実施の形態における床面データ)として判別する床面判別手段(例えば、実施の形態における床面判別部410)と、前記距離センサが観測した前記観測点の情報に基づいて算出された前記観測点の位置の情報(例えば、実施の形態における水平平面座標(X,Y))に基づいて、予め定められた二次元の複数のグリッドに分割されたグリッドマップ(例えば、実施の形態におけるグリッドマップ)に、前記床面観測点が含まれるか否かを示すフラグをマッピングする床面マッピング手段(例えば、実施の形態におけるグリッド変換部430)と、前記グリッドマップにマッピングされた前記フラグが、前記床面観測点が含まれることを示しているグリッドマップの領域に基づいて、前記移動体が移動することができる移動可能領域を抽出する領域抽出手段(例えば、実施の形態における多地点観測部440)と、を備える、ことを特徴とする。
この発明によれば、移動体が移動する床面の高さに対応した床判別値(例えば、実施の形態における床判定値a)を予め設定しておく。そして、距離センサ(例えば、実施の形態におけるLRF10)が観測した観測点の情報(例えば、実施の形態における測距点データ)に基づいて算出された観測点の高さの情報(例えば、実施の形態における高さ(Z))に基づいて移動体が移動することができる床面を示す床面観測点(例えば、実施の形態における床面データ)を判別し、床面を観測していると判別された観測点の位置の情報(例えば、実施の形態における水平平面座標(X,Y))に基づいて床面観測点を表すフラグをグリッドマップ(例えば、実施の形態におけるグリッドマップ)にマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出する。
請求項2に記載した発明の前記床面判別手段は、前記観測点の情報に基づいて算出された前記観測点の高さの情報が、前記床面判定値の範囲内である前記観測点を床面観測点(例えば、実施の形態における床面データ)とし、前記床面判定値の範囲内でない前記観測点を非床面観測点(例えば、実施の形態における非床面データ)とし、前記床面マッピング手段は、前記観測点の情報に基づいて算出された前記観測点の位置の情報に基づいて、予め定められた二次元の複数のグリッドに分割された床面グリッドマップ(例えば、実施の形態における床面グリッド)に、前記床面観測点が含まれるか否かを示す床面フラグをマッピングし、前記観測点の情報に基づいて算出された前記観測点の位置の情報に基づいて、予め定められた二次元の複数のグリッドに分割され、前記床面グリッドマップに対応した非床面グリッドマップ(例えば、実施の形態における非床面グリッド)に、前記非床面観測点が含まれるか否かを示す非床面フラグをマッピングし、前記領域抽出手段は、前記非床面グリッドマップに非床面フラグがマッピングされていないグリッドと同じ位置である前記床面グリッドマップのグリッドに、床面フラグがマッピングされているときに、該グリッドを前記移動体が移動することができる移動可能領域のグリッド(例えば、実施の形態における移動可能領域情報)として抽出する、ことを特徴とする。
この発明によれば、移動体が移動する床面の高さの情報を持つ観測点を床面観測点(例えば、実施の形態における床面データ)とし、移動体が移動する床面の高さ以外の情報を持つ観測点を非床面観測点(例えば、実施の形態における非床面データ)とする。そして、床面観測点を表す床面フラグを床面グリッドマップ(例えば、実施の形態における床面グリッド)にマッピングし、非床面観測点を表す非床面フラグを非床面グリッドマップ(例えば、実施の形態における非床面グリッド)にマッピングする。そして、床面グリッドマップの各グリッドにマッピングされた床面フラグと、非床面グリッドマップにマッピングされた非床面フラグとに基づいて、移動体が移動することができる移動可能領域のグリッド(例えば、実施の形態における移動可能領域情報)を抽出する。
請求項3に記載した発明の前記床面判別手段は、前記移動体が移動する範囲内における複数の床面の高さにそれぞれ対応して予め定められた複数の床面判定値に基づいて、前記観測点の情報に基づいて算出された前記観測点の高さの情報を判別し、それぞれ、床面観測点または非床面観測点とする、ことを特徴とする。
この発明によれば、移動体が移動する範囲内において床面の高さが異なる領域は、異なる床判定値を用いて観測点の高さの情報を判別し、それぞれ、床面観測点または非床面観測点とする。
請求項4に記載した発明の前記床面判別手段は、複数の前記距離センサ(例えば、実施の形態におけるLRF11〜LRF16)が観測した観測点の情報に基づいて算出された前記観測点の高さの情報が、前記床面判定値の範囲内であるか否かを判別し、それぞれ、床面観測点または非床面観測点とし、前記床面マッピング手段は、複数の前記距離センサのそれぞれに対応した複数の床面グリッドマップ(例えば、実施の形態における床面グリッド1〜床面グリッド6)および非床面グリッドマップ(例えば、実施の形態における非床面グリッド1〜非床面グリッド6)に床面フラグおよび非床面フラグをマッピングし、前記領域抽出手段は、複数の前記距離センサのそれぞれに対応した複数の床面グリッドマップを融合(例えば、実施の形態における融合床面グリッド情報)し、複数の前記距離センサのそれぞれに対応した複数の非床面グリッドマップを融合(例えば、実施の形態における融合非床面グリッド情報)し、前記融合した非床面グリッドマップに非床面フラグがマッピングされていないグリッドと同じ位置である前記融合した床面グリッドマップのグリッドに、床面フラグがマッピングされているときに、該グリッドを前記移動体が移動することができる融合した移動可能領域のグリッド(例えば、実施の形態における融合移動可能領域情報)として抽出する、ことを特徴とする。
この発明によれば、複数の距離センサ(例えば、実施の形態におけるLRF11〜LRF16)が観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて床面の高さを判別し、床面観測点および非床面観測点をそれぞれの距離センサに対応する床面グリッドマップ(例えば、実施の形態における床面グリッド1〜床面グリッド6)および非床面グリッドマップ(例えば、実施の形態における非床面グリッド1〜非床面グリッド6)にマッピングする。そして、全ての床面グリッドマップおよび非床面グリッドマップを融合し、融合した床面グリッドマップ(例えば、実施の形態における融合床面グリッド情報)の各グリッドにマッピングされた床面フラグと、融合した非床面グリッドマップ(例えば、実施の形態における融合非床面グリッド情報)にマッピングされた非床面フラグとに基づいて、移動体が移動することができる移動可能領域のグリッド(例えば、実施の形態における融合移動可能領域情報)を抽出する。
請求項5に記載した発明の前記床面判別手段は、複数の前記距離センサ(例えば、実施の形態におけるLRF11〜LRF16)が観測した観測点の情報に基づいて算出された前記観測点の高さの情報が、前記床面判定値の範囲内であるか否かを判別し、それぞれ、床面観測点または非床面観測点とし、前記床面マッピング手段は、複数の前記距離センサのそれぞれに対応した複数の床面グリッドマップ(例えば、実施の形態における床面グリッド1〜床面グリッド6)および非床面グリッドマップ(例えば、実施の形態における非床面グリッド1〜非床面グリッド6)に床面フラグおよび非床面フラグをマッピングし、前記領域抽出手段は、それぞれの前記距離センサに対応した床面グリッドマップおよび非床面グリッドマップに基づいて、前記非床面グリッドマップに非床面フラグがマッピングされていないグリッドと同じ位置である前記床面グリッドマップのグリッドに、床面フラグがマッピングされているときに、該グリッドを該距離センサにおける移動可能領域のグリッド(例えば、実施の形態における移動可能領域情報11および移動可能領域情報12)として、前記距離センサ毎に抽出し、抽出した複数の前記距離センサのそれぞれに対応した複数の移動可能領域のグリッドを融合して前記移動体が移動することができる最終的な移動可能領域のグリッド(例えば、実施の形態における融合移動可能領域情報)として抽出する、ことを特徴とする。
この発明によれば、複数の距離センサ(例えば、実施の形態におけるLRF11〜LRF16)が観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて床面の高さを判別し、床面観測点および非床面観測点をそれぞれの距離センサに対応する床面グリッドマップ(例えば、実施の形態における床面グリッド1〜床面グリッド6)および非床面グリッドマップ(例えば、実施の形態における非床面グリッド1〜非床面グリッド6)にマッピングする。そして、距離センサ毎の床面グリッドマップおよび非床面グリッドマップに基づいて、距離センサ毎の移動可能領域のグリッド(例えば、実施の形態における移動可能領域情報11および移動可能領域情報12)を抽出する。そして、抽出した複数の距離センサ毎の移動可能領域のグリッドをそれぞれ融合して、移動体が移動することができる最終的な移動可能領域のグリッド(例えば、実施の形態における融合移動可能領域情報)を抽出する。
請求項6に記載した発明の移動可能領域抽出システム(例えば、実施の形態における移動可能領域抽出システム1)は、自律的に移動する移動体の移動可能領域を抽出する移動可能領域抽出システムにおいて、前記移動体と異なる高所で、前記移動体が移動する範囲内に設置された距離センサ(例えば、実施の形態におけるLRF10)と、前記距離センサが観測した観測点の方向の情報と、該方向において前記距離センサが観測した距離の情報とを取得し、取得した前記観測点の方向の情報と距離の情報とに基づいて、前記観測点の位置と高さとを算出し、該算出した位置の情報と高さの情報とを前記移動体の移動範囲に関連づけた3次元の座標として出力する座標出力手段(例えば、実施の形態における距離データ取得部20および3次元座標変換部30)と、予め定められた床面の高さの範囲を表す床面判定値に基づいて、前記3次元座標に含まれる前記観測点の高さの情報の内、前記移動体が移動する床面の高さを表す前記観測点を、前記移動体が移動することができる床面を示す床面観測点として判別する床面判別手段(例えば、実施の形態における床面判別部410)と、前記3次元座標に含まれる前記観測点の位置の情報に基づいて、予め定められた二次元の複数のグリッドに分割されたグリッドマップに、前記床面観測点が含まれるか否かを示すフラグをマッピングする床面マッピング手段(例えば、実施の形態におけるグリッド変換部430)と、前記グリッドマップにマッピングされた前記フラグが、前記床面観測点が含まれることを示しているグリッドマップの領域に基づいて、前記移動体が移動することができる移動可能領域を抽出する領域抽出手段(例えば、実施の形態における多地点観測部440)と、を備える、ことを特徴とする。
この発明によれば、移動体と異なる高所に距離センサ(例えば、実施の形態におけるLRF10)を設置し、この距離センサが観測した観測点の情報を3次元の座標とする。そして、予め設定しておいた床判別値に基づいて、3次元座標に含まれる高さの情報から移動体が移動することができる床面を示す床面観測点を判別し、床面の座標を表していると判別された3次元座標に含まれる位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出する。
請求項7に記載した発明の前記距離センサは、前記移動体が移動する空間内において、該距離センサが観測することができない領域の大きさが、予め定められた値より小さくなる高さおよび姿勢に設置される、ことを特徴とする。
この発明によれば、移動体が移動する空間内において、距離センサが観測することができない領域の大きさが、予め定められた値より小さくなる高さおよび姿勢で距離センサを設置する。
請求項8に記載した発明の前記距離センサは、前記移動体が移動する範囲が建物内にあるとき、前記建物内の天井に設置される、ことを特徴とする。
この発明によれば、移動体が移動する建物内の移動範囲内の高所に距離センサを設置する。
請求項9に記載した発明の移動可能領域抽出方法は、自律的に移動する移動体の移動可能領域を抽出する移動可能領域抽出方法において、予め定められた床面の高さの範囲を表す床面判定値に基づいて、前記移動体と異なる位置で前記移動体が移動する範囲内に設置された距離センサが観測した観測点の情報に基づいて算出された前記観測点の高さの情報に基づいて、前記移動体が移動する床面の高さを表す前記観測点を、前記移動体が移動することができる床面を示す床面観測点として判別する床面判別手順と、前記距離センサが観測した前記観測点の情報に基づいて算出された前記観測点の位置の情報に基づいて、予め定められた二次元の複数のグリッドに分割されたグリッドマップに、前記床面観測点が含まれるか否かを示すフラグをマッピングする床面マッピング手順と、前記グリッドマップにマッピングされた前記フラグが、前記床面観測点が含まれることを示しているグリッドマップの領域に基づいて、前記移動体が移動することができる移動可能領域を抽出する領域抽出手順と、を含む、ことを特徴とする。
この発明によれば、移動体が移動する床面の高さに対応して予め設定しておいた床判別値に基づいて、距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて移動体が移動することができる床面を示す床面観測点を判別する。そして、床面を観測していると判別された観測点の位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出する。
請求項10に記載した発明のプログラムは、自律的に移動する移動体の移動可能領域を抽出する移動可能領域抽出システムのコンピュータに、予め定められた床面の高さの範囲を表す床面判定値に基づいて、前記移動体と異なる位置で前記移動体が移動する範囲内に設置された距離センサが観測した観測点の情報に基づいて算出された前記観測点の高さの情報に基づいて、前記移動体が移動する床面の高さを表す前記観測点を、前記移動体が移動することができる床面を示す床面観測点として判別する床面判別ステップと、前記距離センサが観測した前記観測点の情報に基づいて算出された前記観測点の位置の情報に基づいて、予め定められた二次元の複数のグリッドに分割されたグリッドマップに、前記床面観測点が含まれるか否かを示すフラグをマッピングする床面マッピングステップと、前記グリッドマップにマッピングされた前記フラグが、前記床面観測点が含まれることを示しているグリッドマップの領域に基づいて、前記移動体が移動することができる移動可能領域を抽出する領域抽出ステップと、を実行させる、ことを特徴とする。
この発明によれば、コンピュータに移動体が移動する床面の高さに対応した床判別値を予め設定しておく。そして、床判別値に基づいて、距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて移動体が移動することができる床面を示す床面観測点を判別する。そして、床面を観測していると判別された観測点の位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出する。
請求項1に記載した発明によれば、移動体が移動する床面の高さに対応した床判別値を予め設定しておく。そして、距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて移動体が移動することができる床面を示す床面観測点を判別し、床面を観測していると判別された観測点の位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングするため、床面を観測している観測点の位置の情報のみをグリッドマップにマッピングすることができる。
また、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出するため、移動体が移動することができる床面のグリッド情報を移動可能領域の情報として出力することができる。
請求項2に記載した発明によれば、移動体が移動する床面の高さの情報を持つ観測点を床面観測点とし、移動体が移動する床面の高さ以外の情報を持つ観測点を非床面観測点とするため、移動体が移動することができる高さを床面とし、移動体が移動することができない高さを障害物とすることができる。
また、床面観測点を表す床面フラグを床面グリッドマップにマッピングし、非床面観測点を表す非床面フラグを非床面グリッドマップにマッピングするため、床面以外の障害物の位置を判断することができる。
また、床面グリッドマップの各グリッドにマッピングされた床面フラグと、非床面グリッドマップにマッピングされた非床面フラグとに基づいて、移動体が移動することができる移動可能領域のグリッドを抽出するため、移動体が移動することができる高さの床面のみを抽出することができる。
請求項3に記載した発明によれば、移動体が移動する範囲内において床面の高さが異なる領域は、異なる床判定値を用いて観測点の高さの情報を判別し、それぞれ、床面観測点または非床面観測点とするため、異なる高さの床面であっても、移動体が移動することができる高さの床面であれば、移動可能領域として抽出することができ、移動体が移動することができる移動可能領域の範囲を広げることができる。
請求項4に記載した発明によれば、複数の距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて床面の高さを判別し、床面観測点および非床面観測点をそれぞれの距離センサに対応する床面グリッドマップおよび非床面グリッドマップにマッピングするため、障害物の陰となっている領域もが床面であるか否かを判断することができる。
また、全ての床面グリッドマップおよび非床面グリッドマップを融合し、融合した床面グリッドマップの各グリッドにマッピングされた床面フラグと、融合した非床面グリッドマップにマッピングされた非床面フラグとに基づいて、移動体が移動することができる移動可能領域のグリッドを抽出するため、障害物の陰となっている領域でも、その領域が床面であれば移動体が移動することができる移動可能領域とすることができ、不用意に移動可能領域を狭めることがなくなる。
請求項5に記載した発明によれば、複数の距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて床面の高さを判別し、床面観測点および非床面観測点をそれぞれの距離センサに対応する床面グリッドマップおよび非床面グリッドマップにマッピングするため、障害物の陰となっている領域もが床面であるか否かを判断することができる。
また、距離センサ毎の床面グリッドマップおよび非床面グリッドマップに基づいて、距離センサ毎の移動可能領域のグリッドを抽出し、抽出した複数の距離センサ毎の移動可能領域のグリッドをそれぞれ融合して、移動体が移動することができる最終的な移動可能領域のグリッドを抽出するため、障害物の陰となっている領域でも、その領域が床面であれば移動体が移動することができる移動可能領域とすることができ、不用意に移動可能領域を狭めることがなくなる。
請求項6に記載した発明によれば、移動体と異なる高所に距離センサを設置し、この距離センサが観測した観測点の情報を3次元の座標とするため、移動体と異なる高所から床面の情報を取得ることができ、障害物を検出することができない領域(オクルージョン領域)を少なくすることができる。
また、予め設定しておいた床判別値に基づいて、3次元座標に含まれる高さの情報から移動体が移動することができる床面を示す床面観測点を判別し、床面の座標を表していると判別された3次元座標に含まれる位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出するため、移動体が移動することができる移動可能領域の範囲を広げることができる。
請求項7に記載した発明によれば、移動体が移動する空間内において、距離センサが観測することができない領域の大きさが、予め定められた値より小さくなる高さおよび姿勢で距離センサを設置するため、移動体が移動する空間内における障害物を検出することができない領域(オクルージョン領域)を少なくすることができる。
請求項8に記載した発明によれば、移動体が移動する建物内の移動範囲内の高所に距離センサを設置するため、建物内においても障害物を検出することができない領域(オクルージョン領域)を少なくすることができる。
請求項9に記載した発明によれば、移動体が移動する床面の高さに対応して予め設定しておいた床判別値に基づいて、距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて移動体が移動することができる床面を示す床面観測点を判別する。そして、床面を観測していると判別された観測点の位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出するため、移動体が移動することができる床面のグリッド情報を移動可能領域の情報として出力することができる。
請求項10に記載した発明によれば、コンピュータに移動体が移動する床面の高さに対応した床判別値を予め設定しておく。そして、床判別値に基づいて、距離センサが観測した観測点の情報に基づいて算出された観測点の高さの情報に基づいて移動体が移動することができる床面を示す床面観測点を判別する。そして、床面を観測していると判別された観測点の位置の情報に基づいて床面観測点を表すフラグをグリッドマップにマッピングする。そして、グリッドマップにマッピングされたフラグが含まれるグリッドマップの領域に基づいて移動体が移動することができる移動可能領域を抽出するため、移動体が移動することができる床面のグリッド情報を移動可能領域の情報としてコンピュータから出力することができ、移動可能領域の情報に基づいて移動体の移動経路の設定などの処理を行うことができる。
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態による移動可能領域抽出システムの概略構成を示したブロック図である。図1において移動可能領域抽出システム1は、レーザレンジファインダ(Laser Range Finder:レーザ距離計、以下「LRF」という)10と、距離データ取得部20と、3次元座標変換部30と、移動可能領域抽出部40と、グローバルマップデータベース(以下「グローバルマップDB」という)50とを有する。移動可能領域抽出システム1は、LRF10の検出結果に基づいて、自律移動ロボットが移動する移動領域内の障害物を検出する。そして、移動可能領域抽出システム1は、検出した障害物を除いた自律移動ロボットの移動可能領域を抽出し、抽出した移動可能領域の情報を移動可能領域地図(以下、「グローバルマップ」という)として記録する。
LRF10は、観測範囲内に存在する物体との距離を検出する測距センサである。LRF10は、自律移動ロボットの移動領域内の高所に設置され、距離データ取得部20から入力された制御信号に応じて、予め定められた観測範囲内に複数のレーザビームを照射する。そして、LRF10が照射したレーザビームが物体によって反射された反射波を観測する。LRF10は、観測した反射波の情報を距離データ取得部20に出力する。
なお、本実施形態におけるLRF10は、自律移動ロボットの移動領域内において、自律移動ロボットが移動する面(例えば、建物内の床面など)の高さを検出することができる一定の姿勢で、一定の高さ(例えば、建物内の天井など)の予め定められた位置に設置されているものとして説明を行う。また、LRF10の設置高さと、設置姿勢とは、LRF10の観測範囲の座標と、グローバルマップが表す移動可能領域の座標とが一致するように、事前に校正(調整)されている。従って、自律移動ロボットの移動範囲内において、ある一定の場所に固定された物体は、LRF10によって常に同じ物体として観測され、グローバルマップに物体の位置が記録される。
なお、LRF10の設置高さおよび設置姿勢は、LRF10が自律移動ロボットの移動領域内の障害物を検出することができない検出不可能領域が所定の範囲以内、例えば、検出不可能領域の面積がLRF10の観測空間面積の10%以内、あるいは検出不可能領域の幅が50[cm]以下、となるような高さおよび姿勢に設置することが望ましい。しかし、1個のLRF10によって上述した検出不可能領域の条件を満足することができない場合は、別の位置に新たなLRF10を設置し、複数のLRF10によって検出不可能領域の条件を満足させるようにすることもできる。なお、複数のLRF10によって障害物を検出する場合については、後述する。
距離データ取得部20は、LRF10が照射するレーザビームの角度を制御して、レーザビームが観測範囲内を走査(スキャン)するように制御する。また、距離データ取得部20は、LRF10から入力された反射波の情報に基づいて、LRF10とレーザビームを反射した物体との距離を算出する。そして、算出した距離の情報と、LRF10が照射したレーザビームのスキャン角度の情報とを、距離データとして3次元座標変換部30に出力する。
3次元座標変換部30は、距離データ取得部20から入力された距離データに含まれるレーザビームのスキャン角度の情報、およびLRF10と物体との距離の情報に基づいて、LRF10が観測した物体の位置と高さの情報を表す3次元(X,Y,Z)の座標を算出する。そして、算出した3次元の座標を表すデータ(以下、「測距点データ」という)を移動可能領域抽出部40に出力する。例えば、LRF10を中心としてLRF10の観測範囲を表す水平の平面を仮定する。そして、LRF10が観測した物体の水平平面における位置を座標(X,Y)とし、LRF10が観測した物体の高さを座標(Z)とした3次元の座標(X,Y,Z)を移動可能領域抽出部40に出力する。
なお、上述のように、LRF10の観測範囲の座標と、グローバルマップが表す移動可能領域の座標とは、その座標が一致するように事前に校正(調整)されている。従って、3次元(X,Y,Z)の座標において水平平面を表す座標(X,Y)の値は、グローバルマップが表す移動可能領域の座標を基準とした座標値となる。
なお、以下の説明においては、LRF10が設置されている建物内の床面における観測範囲を水平平面として仮定したときの座標値を測距点データとして説明する。従って、LRF10が観測した物体の高さ(Z)は、建物内の床面からの高さの値となる。
移動可能領域抽出部40は、3次元座標変換部30から入力された測距点データに基づいて、自律移動ロボットの移動領域内における移動可能領域を抽出し、抽出した移動可能領域の情報をグローバルマップDB50に出力する。移動可能領域抽出部40は、床面判別部410と、床面判別データベース(以下「床面判別DB」という)420と、グリッド変換部430と、多地点観測部440と、マップ書き込み部450とを備える。
グローバルマップDB50は、移動可能領域抽出部40から入力された移動可能領域のグリッド情報(以下、「移動可能領域情報」という)を記憶する。また、グローバルマップDB50には、後述する舞台情報も記憶されている。
床面判別部410は、3次元座標変換部30から入力された測距点データを、床面判別DB420に予め記録された床判定区間の値に基づいて、床面の高さを表す床面データと、障害物などの床面ではない高さを表す非床面データとに分別する。また、グローバルマップDB50に記録された、床面に対してある程度の高さがあるが、自律移動ロボットが移動することができるが障害物ではない、例えば、舞台などの領域の位置と高さを表す情報(以下、「舞台情報」という)に応じて、床面データと非床面データとを分別する床判定区間が切り替えられる。床面判別部410は、測距点データの分別情報を、グリッド変換部430に出力する。
グリッド変換部430は、床面判別部410から入力された測距点データの分別情報に基づいて、LRF10毎の床面データの情報をグリッドマップにマッピングした床面グリッドと、非床面データの情報をグリッドマップにマッピングした非床面グリッドとを作成する。このグリッド変換部430によって3次元座標変換部30から入力された測距点データが、グリッド情報に変換される。グリッド変換部430は、作成された床面グリッドの情報(以下、「床面グリッド情報」という)と非床面グリッドの情報(以下、「非床面グリッド情報」という)とを、多地点観測部440に出力する。
多地点観測部440は、グリッド変換部430から入力された床面グリッド情報と非床面グリッド情報とに基づいて、自律移動ロボットの移動領域内におけるグリッド単位での移動可能領域を抽出し、抽出した移動可能領域情報をマップ書き込み部450に出力する。また、多地点観測部440は、複数のLRF10が自律移動ロボットの移動領域内に設置され、それぞれのLRF10に対応して作成された床面グリッドと非床面グリッドとがグリッド変換部430から入力された場合には、各LRF10に対応した床面グリッドおよび非床面グリッドをそれぞれ融合(合成)し、その後、移動可能領域を抽出する。
マップ書き込み部450は、多地点観測部440から入力された移動可能領域情報をグローバルマップDB50に記録する。
次に、本実施形態の移動可能領域抽出部による移動可能領域の抽出方法について説明する。図2〜図13は、本実施形態の移動可能領域抽出部40内の各構成要素において行われる処理の具体例を説明する図である。
最初に、床面判別部410による床面判別処理について説明する。図2は、本実施形態の移動可能領域抽出部の床面判別部410における測距点データの分別方法の例を示した図である。なお、図2においては、LRF10の観測範囲の3次元の座標の内、X座標とZ座標のみを示している。LRF10の観測範囲の3次元の座標のY座標は、図2の手前方向および奥方向として、X座標と同様に考えることができる。
図2に示すように、LRF10の観測範囲内に2つの障害物がある場合を考える。3次元座標変換部30は、LRF10が照射したレーザビームによって観測範囲内の複数の測距点データを得ることができる。まず、床面判別部410は、床面判別DB420に予め定め記録された床判定値aに基づいて、各測距点データに含まれる高さ(Z)の情報が床面判定区間の範囲内であるか否かを判別する。そして、床面判別部410は、床面判定区間の範囲内の高さ(Z)の情報をもつ測距点データを床面データとする。また、床面判別部410は、床面判定区間の範囲外の高さ(Z)の情報をもつ測距点データを非床面データとする。これにより、近似床面に対して床面判定区間の範囲内の高さ(Z)の情報をもつ測距点データの水平平面座標(X,Y)の領域が、床面の領域(床面領域)であると判別することができる。また逆に、床面判定区間の範囲外の高さ(Z)の情報をもつ測距点データの水平平面座標(X,Y)の領域が、障害物の位置(領域)であると判別することができる。
また、LRF10の観測範囲内に床面の高さが異なる舞台がある場合、床面判別部410は、舞台の範囲内における近似床面を舞台情報に含まれる舞台の高さの値とする。そして、床面判別部410は、床面判別DB420に予め記録された床判定値aに基づいて、各測距点データに含まれる高さ(Z)の情報が床面判定区間の範囲内であるか否かを判別する。その結果、舞台の高さを中心とした床面判定区間の範囲内の高さ(Z)の情報をもつ測距点データが、舞台の範囲内における床面データとなる。また、舞台の高さを中心とした床面判定区間の範囲外の高さ(Z)の情報をもつ測距点データが、舞台の範囲内における非床面データとなる。これにより、舞台の範囲内における障害物の位置(領域)を判別することができる。
なお、舞台情報は、上述のような近似床面となる舞台の高さの値を含む情報である以外に、例えば、近似床面となる舞台の高さの値と舞台の範囲内における床判定値aとが関連づけられた情報でもよい。また、舞台情報は、舞台の範囲内の各測距点データに含まれる高さ(Z)の情報が床面判定区間の範囲内であるか否かを判別する床判定値aであってもよい。
また、LRF10が設置された位置と、障害物の位置との関係によって、図2に示すように、LRF10からのレーザビームが照射されないことによって測距点データが存在しない領域、所謂、障害物の陰となる領域(以下、「不確定領域」という)が存在することがある。床面判別部410は、測距点データの水平平面座標(X,Y)の情報に基づいて、このような不確定領域を判別する。なお、判別された不確定領域は、床面領域としない。
また、測距点データが存在しない不確定領域は、上述のように障害物の陰によって発生する場合の他に、例えば、黒色の障害物や光っている障害物によっても発生する。これは、自律移動ロボットの移動領域内に障害物があるが、LRF10が照射したレーザビームの障害物からの反射波を正しく観測できない場合である。このような場合、床面領域とした領域内に観測できない障害物が張り出している領域(以下、「オーバーハング領域」という)が存在する可能性がある。このようなオーバーハング領域は、自律移動ロボットが障害物に衝突してしまう可能性が高いため、床面領域とするべきではない。床面判別部410は、オーバーハング領域を検出するため、不確定領域の測距点を推定(算出)することによって、より正確に床面領域を判別する。
図3は、本実施形態の移動可能領域抽出部の床面判別部410によるオーバーハング領域の判別方法を説明する図である。なお、図3においても、図2と同様に、LRF10の観測範囲の3次元の座標の内、X座標とZ座標のみを示しており、図2と同様にLRF10の観測範囲の3次元の座標のY座標を図3の手前方向および奥方向とすることによって、X座標と同様に考えることができる。
床面判別部410は、LRF10が照射したレーザビームによって図3に示した床面領域(1次判別)を判別したとする。その後、床面判別部410は、自律移動ロボットの高さHに対して予め定めた高さを加算したロボット干渉高さHaを設定する。そして、床面判別部410は、不確定領域の範囲内において、ロボット干渉高さHaとなる測距点を推定(以下、「推定測距点」という)する。そして、床面判別部410は、床面領域(1次判別)から、推定測距点の存在する領域を差し引いて、床面領域(最終判別)とする。
ここで、床面判別部410が推定測距点を推定するより具体的な例を説明する。まず、床面判別部410は、LRF10が設置されている高さからロボット干渉高さHaを減算したロボット非干渉高さHbを算出する。そして、LRF10が照射したレーザビームのスキャン角度に基づいて、ロボット干渉高さHaにおける推定測距点の水平平面座標(X,Y)を算出する。そして、床面判別部410は、ロボット干渉高さHaの値を、推定測距点の水平平面座標(X,Y)に該当する測距点データに含まれる高さ(Z)の情報とする。これにより、図3に示した床面領域(1次判別)と床面領域(最終判別)との差であるTの領域の測距点データが、高さ(Z)の情報として推定した障害物の高さ(ロボット干渉高さHa)の値をもった測距点データに変更される。なお、図3に示したTの領域の測距点データ以外は、測距点データに含まれる高さ(Z)の情報が変更されないため、上述のような障害物の陰である不確定領域として扱われる。
その後、床面判別部410は、変更した測距点データに基づいて、図2に示した測距点データの分別処理を行うことによって、床面判別を行うことができる。なお、推定した障害物の測距点データは、測距点データの分別処理によって非床面データとなる。
なお、自律移動ロボットの高さHに対して加算する予め定めた高さの値は、床判定値a以上の値であることが望ましい。これにより、仮に自律移動ロボットが移動する床面の高さが床判定値aの値ぎりぎりであった場合でも、自律移動ロボットが障害物に衝突することを回避することができる。しかし、自律移動ロボットの高さHに対して加算する予め定めた高さの値を、あまりに大きな値としてしまうと、図3に示した床面領域(1次判別)と床面領域(最終判別)との差であるTの領域が広がってしまい、自律移動ロボットの移動可能領域を狭くしてしまうため、注意が必要である。
また、床面データであるはずの領域または非床面データであるはずの領域において、まれに数個の測距点データが、LRF10から照射されたレーザビームの反射波を観測できない特異点となるときがある。このような特異点は、何らかの理由、例えば、黒色の小さな物体や光っている小さな物体にレーザビームが照射されたことによって発生したものと推定することができる。そして、このような特異点は、測距点データのノイズとして扱うことが可能であるため、床面判別部410は、特異点(ノイズ)の隣の測距点データに基づいて、特異点(ノイズ)の測距点データの補正(ノイズ処理)を行う。このノイズ処理は、例えば、ノイズである測距点データの隣の測距点データに含まれる高さ(Z)の情報を、ノイズである測距点データの高さ(Z)の情報とすることによって行われる。なお、予め定められた数以上の特異点が連続している場合には、上述のような不確定領域として処理することもできる。
また、例えば、床面データであるはずの領域内の数個の測距点データのみが非床面データである場合、また、例えば、非床面データであるはずの領域内の数個の測距点データのみが床面データである場合など、まれにLRF10から照射されたレーザビームの反射波を誤って観測したと推定されるときがある。このような測距点データも特異点と同様に、測距点データのノイズとして扱うことが可能であるため、床面判別部410は、測距点データ(ノイズ)の周囲の測距点データに基づいて、測距点データ(ノイズ)の測距点データの補正(ノイズ処理)を行う。このノイズ処理は、例えば、ノイズである測距点データの周囲の8個の測距点データに含まれる高さ(Z)の情報の平均値を、ノイズである測距点データの高さ(Z)の情報とすることによって行われる。
続いて、グリッド変換部430によるグリッド変換処理について説明する。まず、最初にグリッド変換部430による測距点データのグリッドマップへのマッピング方法について説明する。図4は、本実施形態の移動可能領域抽出部のグリッド変換部430における測距点データのグリッドマップへのマッピング方法の例を説明する図である。図4に示すように、床面判別部410によって判別された床面データと非床面データとは、予め定められたグリッドサイズdの複数のグリッドからなるグリッドマップにマッピングされる。そして、床面データと非床面データとがそれぞれ変換されて、後述する床面グリッドおよび非床面グリッドとなる。
なお、図4に示したグリッドマップでは、床面データと非床面データとがそれぞれのグリッドにマッピングされている状態を示している。図4を見てわかるように、各グリッドには、床面データのみまたは非床面データのみがマッピングされるのではなく、床面データと非床面データとが同じグリッドにマッピングされることがある。なお、図4に示した障害物上面の領域は、グリッドマップにマッピングされたデータではなく、視覚的に障害物を認識できるように示した領域である。
ここで、グリッドマップにおける各グリッドのグリッドサイズdの決定方法について説明する。グリッドマップにおけるグリッドサイズdの決定に際しては、以下のような条件によってグリッドサイズdを決定することが望ましい。
(条件1):グリッドをできるだけ細かくするため、グリッドサイズdを小さくする。
(条件2):1個のグリッド内に最低2個の測距点データが存在する。
また、全てのグリッドサイズdが等しいサイズであることが望ましい。
図5は、本実施形態の移動可能領域抽出部におけるグリッドサイズdの決定方法の例を説明する図である。図5に示すように、LRF10が床面に対して4[m]の高さに設置され、LRF10の観測範囲が60°、観測範囲の中心部の測距点間の距離が48[mm]、周辺部の測距点間の距離が63[mm]である場合を考える。
上述のようなグリッドサイズdを決定するための条件を考慮して、本実施形態におけるグリッドサイズdを検討してみる。まず、LRF10の観測範囲の中心と周辺との距離を算出すると、その距離は、2.31[m]である。そして、算出した観測範囲の中心と周辺との距離が、整数で割りきれるグリッドサイズdとして、グリッドサイズd=100[mm]と仮定する。このグリッドサイズdは、観測範囲の中心部では測距点データが3個入り、観測範囲の周辺部では測距点データが1個入る大きさである。従って、このグリッドサイズdは、上述したグリッドサイズdを決定するための条件の全てを満たしていない。しかし、図5に示すように、測距点データが1個であるグリッドは、観測範囲の最も外側のグリッドのみである。この場合、後述するような、LRF10を複数使用して、それぞれのLRF10の観測範囲を重複させる場合のように、最も外側のグリッドが重複することによって測距点データを補填することができるため、グリッドサイズd=100[mm]と決定することもできる。
続いて、グリッド変換部430によるグリッドマップの床面グリッドおよび非床面グリッドへの変換処理について説明する。図6は、本実施形態の移動可能領域抽出部のグリッド変換部430による床面グリッドおよび非床面グリッドへの変換方法を説明する図である。図6に示すように、床面グリッドおよび非床面グリッドは、それぞれ、図4に示したグリッドマップと同様に、予め定められたグリッドサイズdの複数のグリッドからなるグリッドマップである。なお、図6(a)に示したグリッドマップは、図4に示したグリッドマップである。
まず、図6(a)に示したグリッドマップから図6(b)に示した床面グリッドへの変換方法の一例について説明する。グリッド変換部430は、各グリッドにおいて、床面データが1個でも存在するグリッドは、床面のグリッドであるとして、そのグリッドにフラグ値=“1”を記録する。また、グリッド変換部430は、グリッド内の測距点データが全て非床面データであるグリッドは、床面ではないグリッドであるとして、そのグリッドにフラグ値=“0”を記録する。なお、図6(a)には示していないが、グリッド内に測距点データが含まれていない、不確定領域のグリッドである場合、グリッド変換部430は、そのグリッドにフラグ値=“−1”を記録する。このようにして図6(a)に示したグリッドマップから図6(b)に示した床面グリッドへの変換が行われる。また、この床面グリッドへの変換によって床面グリッド内の各グリッドに記録されたフラグ値が、床面グリッド情報となる。
また、図6(a)に示したグリッドマップから図6(c)に示した非床面グリッドへの変換方法は、床面グリッドへの変換方法と同様に行われる。すなわち、グリッド変換部430は、各グリッドにおいて、非床面データが1個でも存在するグリッドは、非床面のグリッドであるとして、そのグリッドにフラグ値=“1”を記録する。また、グリッド変換部430は、グリッド内の測距点データが全て床面データであるグリッドは、非床面ではないグリッドであるとして、そのグリッドにフラグ値=“0”を記録する。なお、グリッド内に測距点データが含まれていない不確定領域のグリッドである場合、グリッド変換部430は、床面グリッドへの変換方法と同様に、そのグリッドにフラグ値=“−1”を記録する。このようにして図6(a)に示したグリッドマップから図6(c)に示した非床面グリッドへの変換が行われる。また、この非床面グリッドへの変換によって非床面グリッド内の各グリッドに記録されたフラグ値が、非床面グリッド情報となる。
ここで、図4に示したグリッドマップにおいて説明したように、床面グリッドと非床面グリッドとにおいて、同じ位置のグリッドのフラグ値が共に“1”となるグリッドが存在することがある。このグリッドの処理については後述する。
続いて、多地点観測部440による移動可能領域の抽出処理について説明する。移動可能領域の抽出は、グリッド変換部430から入力された床面グリッド情報と非床面グリッド情報とに基づいて行われる。しかし、1個のLRF10に対応した測距点データに基づいて作成された床面グリッド情報と非床面グリッド情報とによって、移動可能領域を抽出することができない場合は、設置された複数のLRF10のそれぞれに対応した測距点データを融合し、融合した床面グリッド情報と非床面グリッド情報とに基づいて移動可能領域を抽出する。まず、最初に多地点観測部440による複数のグリッド情報を融合する融合処理について説明する。図7は、本実施形態の移動可能領域抽出部の多地点観測部440によるグリッド情報の融合方法を説明する図である。
図7に示すように、6個のLRF10(LRF11〜LRF16)を設置し、各LRF10によって得られた床面グリッド1〜床面グリッド6、および非床面グリッド1〜非床面グリッド6を融合(マージ)する場合を考える。なお、各LRF10(LRF11〜LRF16)の設置高さおよび設置姿勢は、LRF10のそれぞれが自律移動ロボットの移動領域内において、障害物の陰である不確定領域が所定の範囲以内、例えば、各LRF10の不確定領域の面積がそれぞれLRF10の観測空間面積の10%以内、あるいは各LRF10の不確定領域の幅がそれぞれ50[cm]以下、となるような高さおよび姿勢に設置することが望ましい。しかし、複数のLRF10のいずれかが上述した不確定領域の条件を満足することができない場合もある。このような場合は、図7(a)に示すように、LRF11〜LRF16の設置位置を、LRF11〜LRF16のそれぞれの観測範囲1〜観測範囲6が重複(オーバーラップ)するような位置とする。このようにすることによって、不確定領域の条件が満足させることができ、障害物が1つの観測範囲の境界線上にある場合においても、その障害物の高さを検出することができる。
例えば、図7(b−1)に示したように、全ての観測範囲がオーバーラップしていない場合において、高さが床判定値a以上、幅がグリッドサイズd以下の障害物が観測範囲の境界線上にある場合を考える。この状態において、LRF10から観測範囲の最も外側に照射されるレーザビームによって障害物の存在を検出することができるが、レーザビームが照射される角度によっては障害物の高さを誤ってしまう場合がある。そこで、図7(b−2)に示すように、最も外側のレーザビームによって床判定値a以上の高さがある障害物の高さを検出することができるように観測範囲をオーバーラップさせる。このように、複数のLRF10を設置することによって、不確定領域の条件が満足させ、自律移動ロボットの移動領域内における検出不可能領域を少なくすることができる。なお、観測範囲をオーバーラップさせるオーバーラップ量は、グリッドサイズdの倍数であることが望ましい。つまり、グリッド単位でオーバーラップすることによって、それぞれのグリッドマップにおける周囲のグリッドのズレがないため、その後のグリッド情報のマージ処理を容易にすることができる。
多地点観測部440は、観測範囲がオーバーラップしたLRF11〜LRF16のそれぞれに対応した測距点データに基づいて作成された床面グリッド1〜床面グリッド6の床面グリッド情報および非床面グリッド1〜非床面グリッド6の非床面グリッド情報をグリッド単位でそれぞれマージする(図7(c)および図7(d)参照)。
続いて、多地点観測部440による移動可能領域の抽出処理の基本的な考え方について説明する。図8は、本実施形態の移動可能領域抽出部の多地点観測部440による移動可能領域の抽出方法の考え方を説明する図である。なお、図8においては、移動可能領域の抽出処理の基本的な考え方を説明するため、1個のLRF10に対応した測距点データに基づいて作成された床面グリッド情報および非床面グリッド情報に基づいて移動可能領域を抽出する例を説明する。また、図8(a)は、LRF10の観測範囲の3次元の座標の内、X座標とZ座標のみを示している。LRF10の観測範囲の3次元の座標のY座標は、図8(a)の手前方向および奥方向として、X座標と同様に考えることができる。その一例として、図8(b)に、LRF10の観測範囲の3次元の座標の内、X座標とY座標を示す。
LRF10によって障害物を観測したことによって、図8(a)に示すような床面グリッド情報と非床面グリッド情報とを取得した場合、多地点観測部440は、床面グリッド情報から非床面グリッド情報を差し引いた領域を移動可能領域とする。これにより、自律移動ロボットの移動領域内において、床面グリッドと非床面グリッドとが重なり合っていないグリッドが障害物のない領域となり、自律移動ロボットの移動可能領域となる。より具体的には、床面グリッドのフラグ値が“1”であり、かつ、床面グリッドと非床面グリッドとにおける同じ位置のグリッドのフラグ値が共に“1”ではないグリッドが、移動可能領域のグリッドとなる。例えば、図8(b)に示すように、床面グリッド情報から非床面グリッド情報を差し引いた領域である、障害物上面が含まれるグリッド以外のグリッドが、移動可能領域のグリッドとなる。
なお、図8(a)において、床面グリッド情報および非床面グリッド情報がない領域は、LRF10からのレーザビームが照射されず、測距点データが存在しない不確定領域である。多地点観測部440は、この不確定領域を移動可能領域とはしない。例えば、図8(a)および図8(b)からわかるように、障害物の陰となる領域(グリッド)は、移動可能領域としない。
続いて、多地点観測部440による移動可能領域の抽出処理の一例として、複数のLRF10によって移動可能領域を抽出する場合について説明する。図9および図10は、本実施形態の移動可能領域抽出部の多地点観測部440による移動可能領域の抽出方法の一例を説明する図である。なお、図9は、2個のLRF11およびLRF12によって障害物を検出することにより、不確定領域がない場合を示している。また、図10は、2個のLRF11およびLRF12によって障害物を検出したが、不確定領域がある場合を示している。また、図9および図10は、図8(a)と同様に、LRF10(LRF11およびLRF12)の観測範囲の3次元の座標の内、X座標とZ座標のみを示しており、LRF10の観測範囲の3次元の座標のY座標は、図9および図10の手前方向および奥方向とすることによって、X座標と同様に考えることができる。
図9に示すように、LRF11によって障害物を観測したことによって、床面グリッド情報11と非床面グリッド情報11とを取得し、LRF12によって障害物を観測したことによって、床面グリッド情報12と非床面グリッド情報12とを取得する。多地点観測部440は、床面グリッド情報11と床面グリッド情報12とをマージ(論理和)することによって、融合床面グリッド情報を得る。また、多地点観測部440は、非床面グリッド情報11と非床面グリッド情報12とをマージ(論理和)することによって、融合非床面グリッド情報を得る。そして、多地点観測部440は、融合床面グリッド情報から融合非床面グリッド情報を差し引いた領域を融合移動可能領域とする。これにより、自律移動ロボットの移動領域内において、障害物がない領域が移動可能領域となる。
また、図10においても同様に、LRF11およびLRF12によってそれぞれ障害物を観測したことによって、床面グリッド情報11と非床面グリッド情報11、および床面グリッド情報12と非床面グリッド情報12を取得する。多地点観測部440は、同様に床面グリッド情報11と床面グリッド情報12、および非床面グリッド情報11と非床面グリッド情報12をマージ(論理和)することによって、融合床面グリッド情報および融合非床面グリッド情報を得る。そして、多地点観測部440は、融合床面グリッド情報から融合非床面グリッド情報を差し引いた領域を融合移動可能領域とする。これにより、自律移動ロボットの移動領域内において、障害物がない領域が移動可能領域となる。
なお、図10に示した障害物の観測においては、障害物の陰によって測距点データが存在しない不確定領域が存在する。多地点観測部440は、この不確定領域を移動可能領域とはしない。これによって、確実に測距点データが得られている範囲のみを移動可能領域とすることができる。
ここで、多地点観測部440による移動可能領域の抽出処理の別の一例について説明する。図11は、本実施形態の移動可能領域抽出部の多地点観測部440による移動可能領域の抽出方法の別の一例を説明する図である。図11に示した移動可能領域の抽出方法は、図9および図10に示した移動可能領域の抽出方法と異なり、先にLRF10毎の移動可能領域を判断する。その後、移動可能領域を全て不確定領域とした初期のグリッドマップに、各LRF10の移動可能領域を融合することによって、最終的な融合移動可能領域情報を得る方法である。図12は、本実施形態の移動可能領域抽出部の多地点観測部440による、図11に示した移動可能領域の抽出方法における移動可能領域の判断方法を説明する図である。
なお、図11においては、図10と同様に、2個のLRF11およびLRF12によって障害物を検出したときに、不確定領域がある場合を代表して説明する。また、図11に示した移動可能領域11、移動可能領域12および融合移動可能領域情報には、説明を明示的に理解しやすくすることを目的として、移動可能な領域を表す移動可能領域と移動不可能な領域を表す移動不可能領域とを併せて示している。また、図11は、図8(a)、図9および図10と同様に、LRF10(LRF11およびLRF12)の観測範囲の3次元の座標の内、X座標とZ座標のみを示しており、LRF10の観測範囲の3次元の座標のY座標は、図11の手前方向および奥方向とすることによって、X座標と同様に考えることができる。
図11に示すように、LRF11によって障害物を観測したことによって、床面グリッド情報11と非床面グリッド情報11とを取得し、LRF12によって障害物を観測したことによって、床面グリッド情報12と非床面グリッド情報12とを取得する。多地点観測部440は、床面グリッド情報11と非床面グリッド情報11とを図8に示した移動可能領域の抽出処理に従って移動可能領域情報11を抽出する。また、多地点観測部440は、床面グリッド情報12と非床面グリッド情報12とを図8に示した移動可能領域の抽出処理に従って移動可能領域情報12を抽出する。そして、多地点観測部440は、全てのグリッドを不確定領域とした初期のグリッドマップ(初期融合移動可能領域情報)に、図12(a)に示した判断方法に基づいて、移動可能領域情報11と移動可能領域情報12とを順次融合することによって、最終的な融合移動可能領域情報とする。図12(a)は、現在の移動可能領域情報に対して新たな移動可能領域情報(反映する移動可能領域情報)を融合するときの融合結果(融合移動可能領域情報)をまとめて表している。これにより、自律移動ロボットの移動領域内において、障害物がない領域が移動可能領域となる。
ここで、図12(a)に示した融合方法について、より具体的に説明する。移動可能領域の融合は、現在の融合移動可能領域情報に対して、移動可能領域の情報を順次反映することによって最終的な融合移動可能領域情報を得る。なお、図12(a)および図12(b)では、不確定領域のグリッドを表すフラグ値を“−1”、床面のグリッドを表すフラグ値を“1”、非床面のグリッドを表すフラグ値を“0”として表すこととする。
まず、図12(b)を参照して、最初に全てのグリッドを不確定領域とした初期融合移動可能領域情報に移動可能領域情報11を反映する場合を説明する。初期融合移動可能領域情報の各グリッドのフラグ値は、全て不確定領域のグリッドを表す“−1”である。そして、図12(a)に示した融合方法に従って、移動可能領域情報11の各グリッドのフラグ値が反映されることによって、初期融合移動可能領域情報のグリッドのフラグ値が更新される。これにより、融合移動可能領域情報の各グリッドのフラグ値(融合結果)は、移動可能領域情報11の各グリッドのフラグ値となる。
続いて、図12(c)を参照して、移動可能領域情報11が反映された融合移動可能領域情報に移動可能領域情報12を反映する場合を説明する。図12(c)に示すように、移動可能領域情報11が反映された現在の融合移動可能領域情報のフラグ値と、移動可能領域情報12のフラグ値とによって、最終的な融合移動可能領域情報のグリッドのフラグ値が更新される。
図12(c)に示すように、移動可能領域情報12のフラグ値が不確定領域のグリッドを表す“−1”であるときは、現在の融合移動可能領域情報のフラグ値となる。また、移動可能領域情報12のフラグ値が床面のグリッドを表す“1”であるとき、現在の融合移動可能領域情報のフラグ値が非床面のグリッドを表す“0”であるときは、“0”(非床面)となり、それ以外のときは、“1”(床面)となる。また、移動可能領域情報12のフラグ値が非床面のグリッドを表す“0”であるとき、現在の融合移動可能領域情報のフラグ値に関係なく、“0”(非床面)となる。このように、図12(a)に示した融合方法に従って、融合移動可能領域情報の各グリッドのフラグ値を更新することによって、最終的な融合移動可能領域情報のフラグ値(融合結果)を得る。
その後、マップ書き込み部450は、多地点観測部440によって抽出された移動可能領域の情報(グリッド情報)をグローバルマップDB50に記録する。
次に、本実施形態の移動可能領域抽出システムにおける移動可能領域抽出の処理について説明する。図13は、本実施形態の移動可能領域抽出システム1における移動可能領域抽出の処理手順を示したフローチャートである。なお、LRF10は移動可能領域抽出システム1の稼働に際して事前に所定の高さに設置され、LRF10の設置高さと、設置姿勢とは、事前に校正(調整)されているものとして説明を行う。また、図13に示した移動可能領域抽出の処理手順においては、図14に示したように、移動可能領域抽出部40が複数のLRF10から入力された測距点データをマージして移動可能領域を抽出する場合の処理手順について説明する。
移動可能領域抽出システム1が稼働すると、まず、ステップS100において、距離データ取得部20は、LRF10が照射するレーザビームによって観測範囲内の障害物をスキャンして、障害物の距離データを取得し、3次元座標変換部30に出力する。
続いて、ステップS200において、3次元座標変換部30は、距離データ取得部20から入力された距離データに基づいて、障害物の測距点データを算出する。そして、算出した測距点データを床面判別部410に出力する。
続いて、ステップS300において、床面判別部410は、床面判別DB420に記録された床判定値aの値およびグローバルマップDB50に記憶された舞台情報に基づいて、3次元座標変換部30から入力された測距点データを床面データと非床面データとに分別する。また、床面判別部410は、測距点データが存在しない不確定領域の測距点データを算出する。そして、ステップS400において、床面判別部410は、分別した床面データおよび非床面データに含まれる特異点(ノイズ)の測距点データの補正するためのノイズ処理を行う。そして、ノイズ処理が行われた床面データおよび非床面データを、グリッド変換部430に出力する。
続いて、ステップS500において、グリッド変換部430は、床面判別部410から入力された床面データおよび非床面データを、測距点データのグリッドマップにマッピングする。そして、測距点データのグリッドマップにマッピングされた床面データおよび非床面データに基づいて、床面グリッドおよび非床面グリッドを作成し、床面グリッド情報および非床面グリッド情報を多地点観測部440に出力する。
続いて、ステップS600において、多地点観測部440は、グリッド変換部430から入力された床面グリッド情報をマージする。また、多地点観測部440は、グリッド変換部430から入力された非床面グリッド情報をマージする。そして、ステップS700において、多地点観測部440は、全ての床面グリッド情報および非床面グリッド情報のマージが完了したか否かを判断する。全ての床面グリッド情報および非床面グリッド情報のマージが完了した場合は、ステップS800に進む。また、全ての床面グリッド情報および非床面グリッド情報のマージが完了していない場合は、ステップS600に戻って、グリッド変換部430から入力された床面グリッド情報および非床面グリッド情報のマージを繰り返す。
続いて、ステップS800において、多地点観測部440は、融合床面グリッド情報および融合非床面グリッド情報に基づいて、自律移動ロボットの移動領域内における移動可能領域を抽出し、抽出した移動可能領域情報(グリッド情報)をマップ書き込み部450に出力する。
続いて、ステップS900において、マップ書き込み部450は、多地点観測部440から入力された移動可能領域情報をグローバルマップDB50に記録する。
上記に述べたとおり、本発明を実施するための形態によれば、測距センサを自律移動ロボットの移動領域内に設置することによって、自律移動ロボットの移動において障害となる障害物を事前に検出することができる。これにより、検出した障害物の位置を除いた床面の情報を、自律移動ロボットの移動可能領域として抽出することができる。
また、測距センサを、自律移動ロボットの移動経路における高所に設置することにより、自律移動ロボット本体のある程度の高さの位置に取り付けた障害物検出装置に比べて、障害物を検出することができない領域(オクルージョン領域)を少なくすることができる。これにより、自律移動ロボットの移動可能領域を広げることができ、自律移動ロボット本体のある程度の高さの位置に取り付けた障害物検出装置による障害物検出に比べて、効率的に移動経路を生成することができる。また、例えば、障害物が移動するなど、急に障害物を回避するための移動経路の再生成が必要となった場合でも、高所に設置された測距センサによって障害物を回避した後の移動可能領域が事前にわかるため、移動経路の再生成も効率的に行うことができる。
また、本発明の移動可能領域抽出システム1によって抽出された移動可能領域情報のみで移動経路を生成することができる。これにより、自律移動ロボット本体に障害物検出装置を取り付けなくても自律移動ロボットが安全に移動することができる。
なお、本実施形態においては、複数のLRF10を使用した移動可能領域抽出システム1の例として、6個のLRF10(LRF11〜LRF16)を使用した場合について説明したが、LRF10の個数および配置は、本発明を実施するための形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においてLRF10の個数および配置を変更することができる。
また、本実施形態においては、グリッド変換部430が作成した床面グリッド情報と非床面グリッド情報との多地点観測部440への出力、およびマップ書き込み部450による移動可能領域情報のグローバルマップDB50への記録に関しては、全ての情報を出力および記録する場合について説明したが、それぞれ変更された情報、すなわち、差分の情報を出力および記録するようにすることもできる。この場合、例えば、各構成要素内に処理中の全ての情報を保持し、保持している全ての情報の内、入力された差分の情報に対応する情報を置き換えてその後の処理を行うことができる。このように差分の情報のみを各構成要素間で受け渡しすることによって、例えば、各構成要素間において通信によって情報の受け渡しをする場合の通信効率を向上することができる。
また、本実施形態においては、グリッドサイズdが1つの値である場合について説明したが、グリッドサイズdを複数の値とすることができる。例えば、自律移動ロボットが移動する移動経路中のグリッドサイズdと、自律移動ロボットの目的地付近のグリッドサイズdとを異なるサイズとすることができる。例えば、自律移動ロボットの目的地が自律移動ロボットの動作に必要な電力を供給するバッテリの充電器の場所であった場合には、確実に充電することができる距離まで近づくため、自律移動ロボットが障害物を回避する場合に必要な距離のグリッドサイズdよりも小さなグリッドサイズdとする。また、例えば、自律移動ロボットが配膳をするような場合には、予め定められた距離までテーブルに近づく必要がある。このため、配膳するテーブルを含むグリッドサイズdを、障害物として回避するテーブルを含むグリッドサイズdよりも小さなグリッドサイズdとすることにより、自律移動ロボットが配膳をするテーブルにより近づくことができる。また、この場合、自律移動ロボットの目的地がの変更に応じてテーブルを含むグリッドサイズdを都度変更するようにすることもできる。
なお、本実施形態においては、測距センサがレーザレンジファインダである場合について説明したが、その他の測距センサを用いても同様の移動可能領域を抽出することができる。例えば、ステレオカメラなど、画像データから障害物の位置と高さとを検出することによって、3次元の測距点データを得ることにより、移動可能領域を抽出することもできる。
なお、図1に示した移動可能領域抽出部40の各構成要素による処理、または、図14に示した移動可能領域抽出システム1の各処理ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、移動可能領域抽出部40または移動可能領域抽出システム1に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。