(57)【特許請求の範囲】
【請求項１】
移動環境内の対象物の計測点までの距離を計測する距離センサと、
前記移動環境内の計測点を複数の計測向きから見た場合の計測向き毎の計測結果に基づいた、前記計測点に関する前記複数の計測向き毎の複数の地図データが含まれる環境地図を記憶する環境地図記憶部と、
前記距離センサによって前記対象物の計測を行った際の計測向きに対応する地図データを前記複数の地図データから選択するとともに、選択された地図データ及び前記距離センサにより得られる前記対象物の距離情報に基づいて当該移動ロボットの自己位置を推定する自己位置推定部と、
を備え、
前記自己位置推定部は、前記計測センサによって前記対象物の計測を行った際の計測向きと、オドメトリを用いて算出した自己位置候補とに基づいて、前記複数の計測点を前記複数の計測向きのいずれかに分類し、前記複数の計測点の夫々の前記距離情報を分類された計測向きの前記地図データと照合することで前記自己位置を推定する移動ロボット。
【請求項２】
前記地図データを分類する前記複数の計測向きの分割単位は、前記距離センサの計測角度の分解能に比べて荒く設定されている、請求項１に記載の移動ロボット。
【請求項３】
前記距離センサは、レーザ光を走査して複数の計測点の距離情報を取得するレーザレンジファインダであって、
前記自己位置推定部は、前記レーザ光の照射方向と、オドメトリを用いて算出した自己位置候補とに基づいて、前記複数の計測点を前記複数の計測向きのいずれかに分類し、前記複数の計測点の各々の前記距離情報を分類された計測向きの前記地図データと照合することで前記自己位置を推定する、請求項１又は２に記載の移動ロボット。
【請求項４】
前記地図データは、前記地点を前記移動ロボットが移動可能であるか否かを示す情報、前記地点から最寄りの障害物までの距離を示す情報、及び前記地点の高さを示す情報のうち少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の環境地図の移動ロボット。
【請求項５】
移動環境内を移動する移動ロボットの自己位置推定方法であって、
前記移動環境内の対象物までの距離を計測し、複数の計測点の距離情報を取得し、
前記移動環境内の計測点を複数の計測向きから見た場合の計測向き毎の計測結果に基づいた、前記計測点に関する前記複数の計測向き毎の複数の地図データが含まれる環境地図を参照し、
前記対象物の計測を行った際の計測向きと、オドメトリを用いて算出した自己位置候補とに基づいて、前記複数の計測点を前記複数の計測向きのいずれかに分類し、前記複数の計測点の夫々の前記距離情報を分類された計測向きの前記地図データと照合することで前記移動ロボットの自己位置を推定する、自己位置推定方法。
【請求項６】
前記地図データを分類する前記複数の計測向きの分割単位は、前記距離センサの計測角度の分解能に比べて荒く設定されている、請求項５に記載の自己位置推定方法。
【請求項７】
移動ロボットの移動環境に関する環境地図の生成方法であって、
前記移動環境内の対象物の計測点を複数の計測向きから距離計測し、
前記複数の計測向き毎の計測結果に基づいて、前記計測点が前記移動ロボットによる移動可能であるか否かを示す情報、前記計測点から最寄りの障害物までの距離を示す情報、及び前記計測点の高さを示す情報のうち少なくとも１つを含み、前記複数の計測向き毎の複数の地図データを生成し、
前記計測点の位置を特定するための座標情報と前記複数の地図データとを関連付けて記憶する、
環境地図の生成方法。
【請求項８】
移動ロボットの移動環境に関する環境地図の生成装置であって、
前記移動環境内の対象物の計測点を複数の計測向きから距離計測した計測結果を入力する手段と、
前記複数の計測向き毎の計測結果に基づいて、前記計測点が前記移動ロボットによる移動可能であるか否かを示す情報、前記計測点から最寄りの障害物までの距離を示す情報、及び前記計測点の高さを示す情報のうち少なくとも１つを含み、前記複数の計測向き毎の複数の地図データを生成する手段と、
前記計測点の位置を特定するための座標情報と前記複数の地図データとを関連付けて記憶する手段と、
を備える環境地図の生成装置。
【請求項９】
移動ロボットの移動環境内における位置を特定するための座標情報と、
前記座標情報により特定される前記移動環境内の対象物の計測点を、第１の計測向きから距離計測して生成した地図データ、及び前記計測点を前記第１の計測向きとは異なる第２の計測向きから距離計測して生成した地図データと、を備え、
前記地図データは、前記計測点が前記移動ロボットによる移動可能であるか否かを示す情報、前記計測点から最寄りの障害物までの距離を示す情報、及び前記計測点の高さを示す情報のうち少なくとも１つを含む環境地図のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動ロボットに関し、特に自律移動ロボットの自己位置推定技術及び環境地図の生成技術に関する。
【背景技術】
【０００２】
自律移動ロボット（以下、単に移動ロボットと呼ぶ）の自律移動のために、移動ロボットの移動環境を記述した環境地図が使用される場合がある（特許文献１〜３を参照）。環境地図は、移動環境内における移動ロボットの自己位置推定、移動経路の計画などに利用される。環境地図は、例えば、移動ロボットが移動を行う２次元の移動環境を格子状に分割し、格子に囲まれた各々のグリッドセルが移動可能であるか否かを表したグリッド地図として作成される。
【０００３】
環境地図の作成は、例えば、レーザレンジファインダ、ステレオカメラ等の外界の距離情報を取得可能な距離センサを用いて移動環境を計測することにより行なわれる（特許文献１、３及び４を参照）。環境地図は、予め作成されたものを移動ロボットに供給する場合のほか、距離センサを搭載した移動ロボット自身が移動空間を移動しながら作成する場合もある。後者の移動ロボットの自己位置推定と環境地図の構築を同時に行なう技術は、ＳＬＡＭ（Simultaneous Localization and Mapping）と呼ばれる。
【０００４】
例えば、特許文献１に開示された移動ロボットは、センシング原理の異なる複数の距離センサ、例えば超音波センサと赤外線センサを搭載しており、これら複数の距離センサを用いて、移動ロボットが位置する床面からの高さが異なる複数の空間を計測する。そして、特許文献１に開示された移動ロボットは、複数の距離センサによって取得した距離データを元に複数の２次元環境地図を作成し、これら複数の２次元環境地図を重ね合わせて統合した１つの２次元環境地図を生成する。特許文献１に開示された移動ロボットは、統合された２次元環境地図を参照して、障害物を回避する最適な移動経路を探索し、障害物を回避しながら移動を行う。
【０００５】
また、特許文献２には、２次元の移動空間を単位領域に分割するとともに、環境地図をｘｙ面としたときに、各単位領域から見てｘ方向の障害物までの距離及びｙ方向の障害物までの距離が各単位領域の情報として記録された移動ロボット用の環境地図が開示されている。特許文献２に開示された移動ロボットは、レンジファインダによって計測した障害物距離を、当該環境地図に記録された障害物距離と照合することによって、移動環境内での自己位置を推定する。
【０００６】
また、特許文献３及び４には、障害物の位置が特定された移動ロボット用の環境地図を２次元グリッド地図として作成する技術が開示されている。具体的に述べると、特許文献３及び４に開示された移動ロボットは、移動ロボットに搭載された距離センサによって移動環境を計測し、計測された距離情報を用いて算出される障害物位置を２次元グリッド地図に投影し、障害物が投影された回数が所定値以上となったセルを障害物が存在する「障害物セル」と判定することによって、障害物位置が特定された環境地図を作成する。
【特許文献１】特開２００５−３１００４３号公報
【特許文献２】特開昭６２−５８３１１号公報
【特許文献３】特開２００６−２５２３４６号公報
【特許文献４】特開２００１−２４２９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１、３及び４に開示された環境地図は、移動ロボットに搭載されたレーザレンジファインダ、超音波センサ、赤外線センサ等の距離センサによる計測結果を用いて作成される。しかしながら、これら特許文献１、３及び４並びに特許文献２に開示された環境地図は、どのような方向からレーザ、光線、音波等を照射して計測を行なったかという計測方向に関する情報を有していない。このため、移動ロボットの自己位置推定を正確に行うことができないという問題がある。
【０００８】
一例として、図１３（ａ）に示すように、レーザレンジファインダを搭載した移動ロボット８０が、レーザを照射することによって計測点群８１を取得し、これらの計測点群８１と環境地図とのマッチングによって自己位置推定を行う場合を考える。図１３（ｂ）は、移動ロボット８０が保持する環境地図８００の一例である。環境地図８００は、２次元グリッド地図として作成されている。環境地図８００を構成する各グリッドセルは、少なくとも移動ロボット８０が移動可能であるか否かを示す情報を保持する。以下では、移動ロボット８０が移動可能なセルを「移動可能セル」と呼び、移動不可能なセルを「壁セル」と呼ぶ。図１３（ｂ）の白抜きのセルが「移動可能セル」を示し、斜線でハッチングされたセルが「壁セル」を示している。
【０００９】
移動ロボット８０が、図１３（ａ）の計測点群８１と図１３（ｂ）の環境地図８００とをマッチングした場合、計測点群８１は、環境地図８００中の壁８０１及び壁８０２のいずれとも対応しうる。このため、図１３（ｂ）中のＡ点及びＢ点の２つが、移動ロボット８０の自己位置の候補となり得るため、移動ロボット８０は自己位置推定を正確に行えないおそれがある。
【００１０】
なお、特許文献３及び４は、移動環境内の同じ場所を異なるロボット位置から計測した複数の結果を統合して環境地図を作成するものである。しかしながら、特許文献３及び４は、複数回の計測によって障害物と判断された回数をカウントするのみである。つまり、その場所を計測したときに、どの向きからレーザ、光線、音波等を照射して計測を行なったかという「計測向き」に関する情報を環境地図に反映するものではない。
【００１１】
また、特許文献１は、複数の距離センサによって高さの異なる領域に関する複数の環境地図を作成しているが、その後これらを統合して１つの２次元環境地図を作成するものである。したがって、移動ロボットの自己位置推定に利用される環境地図は、複数のセンサのいずれの計測結果を用いて作成されたかを示す情報を有していないし、どの向きからレーザ、光線、音波等を照射して計測を行なったかという「計測向き」に関する情報も有していない。
【課題を解決するための手段】
【００１２】
本発明の第１の態様は、移動環境内を移動する移動ロボットである。当該移動ロボットは、距離センサ、環境地図記憶部及び自己位置推定部を備える。前記距離センサは、前記移動環境内の対象物までの距離を計測する。前記環境地図記憶部は、前記移動環境内の地点を複数の計測向きから見た場合の各計測向きに対応する複数の地図データが含まれる環境地図を記憶する。前記自己位置推定部は、前記距離センサによって前記対象物の計測を行った際の計測向きに対応する地図データを前記複数の地図データから選択するとともに、選択された地図データ及び前記距離センサにより得られる前記対象物の距離情報に基づいて当該移動ロボットの自己位置を推定する。
【００１３】
本発明の第２の態様は、移動環境内を移動する移動ロボットの自己位置推定方法であり、以下のステップ（ａ）〜（ｄ）を含む。
前記移動環境内の対象物までの距離を計測するステップ（ａ）、
前記移動環境内の地点を複数の計測向きから見た場合の各計測向きに対応する複数の地図データが含まれる環境地図を参照するステップ（ｂ）、
前記対象物の距離計測を行った際の計測向きに対応する地図データを前記複数の地図データから選択するステップ（ｃ）、及び
選択された地図データ及び前記対象物の距離情報に基づいて当該移動ロボットの自己位置を推定するステップ（ｄ）。
【００１４】
本発明の第３の態様は、移動ロボットの移動環境に関する環境地図の生成方法である。当該方法は、以下のステップ（ｅ）〜（ｇ）を含む。
前記移動環境内の地点を複数の計測向きから計測するステップ（ｅ）、
前記複数の計測向き毎の計測結果に基づいて、前記地点に関する前記複数の計測向き毎の複数の地図データを生成するステップ（ｆ）、
前記地点の位置を特定するための座標情報と前記複数の地図データとを関連付けて記憶するステップ（ｇ）。
【００１５】
本発明の第４の態様は、移動ロボットの移動環境に関する環境地図の生成装置である。当該生成装置は、（１）前記移動環境内の地点を複数の計測向きから計測した計測結果を入力する手段と、（２）前記複数の計測向き毎の計測結果に基づいて、前記地点に関する前記複数の計測向き毎の複数の地図データを生成する手段と、（３）前記地点の位置を特定するための座標情報と前記複数の地図データとを関連付けて記憶する手段とを備える。
【００１６】
本発明の第５の態様は、環境地図のデータ構造である。当該データ構造は、移動ロボットの移動環境内における位置を特定するための座標情報と、前記座標情報により特定される地点を第１の計測向きから見た場合の地図データ及び前記地点を前記第１の計測向きとは異なる第２の計測向きから見た場合の地図データとを備える。
【発明の効果】
【００１７】
上述した本発明の第１〜第５の態様は、移動環境内の地点を複数の計測向きから見た場合の各計測向きに対応する複数の地図データが含まれる環境地図を含む。移動ロボットが自己位置推定を行う際には、距離センサによる計測を行ったときの計測向きに応じて、地図データを使い分けるとよい。これにより、移動ロボットの位置する場所からの周囲の見え方に対応した適切な地図データを用いて自己位置推定を行うことができる。このため、距離センサによる計測結果を移動ロボットの位置からは見えない壁とマッチングしてしまうことに起因する自己位置推定の誤りを防止し、自己位置推定の精度を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１９】
＜発明の実施の形態１＞
本実施の形態にかかる移動ロボット１（以下、単にロボット１と呼ぶ）の自律移動に関する制御系の構成を図１に示す。図１において、距離センサ１１は、ロボット１の移動環境内に存在する対象物までの距離を計測する。具体的には、レーザレンジファインダ、超音波センサ等のアクティブ距離センサによって距離データを取得すればよい。また、距離センサ１１は、ステレオカメラにより視差画像を取得して距離計測を行うセンサでもよい。なお、以下の本実施の形態の説明では、距離センサ１１がレーザレンジファインダであるとして説明を行う。
【００２０】
地図生成部１２は、距離センサ１１により取得された距離データを用いて、ロボット１が移動を行なう移動空間に関する環境地図を生成する。地図生成部１２により生成された環境地図は、環境地図記憶部１３に格納される。本実施の形態では、環境地図は、移動空間を２次元格子状に分割したグリッド地図として作成される。環境地図を構成する各グリッドセルは、少なくともロボット１が移動可能であるか否かを示す情報を保持する。以下では、ロボット１が移動可能なセルを「移動可能セル」と呼び、移動不可能なセルを「壁セル」と呼ぶ。なお、移動不可能なセルをさらに分類してもよく、例えば、ロボット１が位置する場所から見て障害物を介して向こう側に位置し、未観測であるために移動不可能であるセルを「未観測セル」として、観測済みの「壁セル」と分類してもよい。
【００２１】
また、本実施の形態の環境地図は、ロボット１が位置している場所によって移動環境内に存在する対象物の見え方が異なることに鑑みて、グリッド地図上の１つのグリッドセルに関して、複数の計測向きに対応した複数の地図データを保持している。環境地図及びその生成手順の具体例については後述する。
【００２２】
自己位置推定部１４は、距離センサ１１により取得された距離データ、並びにオドメトリ情報及び環境地図を利用して、移動環境内におけるロボット１の絶対位置を推定する。自己位置推定部１４による自己位置推定手順の具体例は後述する。
【００２３】
自律移動部１５は、環境地図記憶部１３に格納された環境地図を参照し、自律移動制御を実行する。図２は、ロボット１を車輪走行型とした場合の自律移動部１５の一例を示すブロック図である。なお、ロボット１が脚歩行型などの車輪走行型以外の移動ロボットであってもよいことは勿論である。
【００２４】
図２において、動作計画部１５０は、環境地図、自己位置推定部１４により決定されたロボット１の自己位置情報などに基づいて、ロボット１の動作内容を決定する。より具体的に述べると、動作計画部１５０は、ロボット１の移動経路、目標移動速度、目標加速度、及びロボット１が備える関節（不図示）の目標角度軌道等を生成する。
【００２５】
動作制御部１５１は、動作計画部１５０により決定された目標移動速度又は目標加速度などの制御目標値と、エンコーダ１５４によって計測される車輪１５３の回転量を入力してフィードバック制御を実行し、車輪１５３を回転駆動するためのトルク制御値を算出する。動作制御部１５１によって算出されたトルク制御値に従って駆動部１５２が車輪１５３を駆動することにより、ロボット１の移動が行なわれる。
【００２６】
続いて以下では、環境地図の生成手順及び環境地図の具体例について、図３〜１０を参照して詳しく説明する。図３は、地図生成部１２による環境地図の生成手順を示すフローチャートである。ステップＳ１１では、地図生成部１２が、距離センサ１１により取得された距離データを入力する。ステップＳ１２では、地図生成部１２が、エンコーダ１５４により取得されるオドメトリ情報を入力する。
【００２７】
ステップＳ１３では、地図生成部１２が、オドメトリに基づいてロボット位置及び姿勢を算出する。なお、このとき、オドメトリの誤差を補正するために、距離データのスキャンマッチング及び確率推定手法等の公知の手法を用いて、ロボット位置及び姿勢を補正してもよい。
【００２８】
ステップＳ１４では、地図生成部１２が、距離データ中の複数の計測点を、距離センサ１１のレーザ照射向き毎に分類する。つまり、距離センサ１１のレーザ照射向きは、距離センサ１１によって移動環境内の対象物を計測する際の計測向きに相当する。そして、分類されたレーザ照射向き毎の計測結果を集計して、占有率地図を作成する。ここで、占有率地図は、環境地図の生成過程で作られるグリッド地図である。占有率地図の各グリッドセルは、距離センサ１１から照射されるレーザ光が通過した回数（以下では、レーザ通過回数と呼ぶ）、及び距離センサ１１によって対象物が検出された回数（以下では、壁検出回数と呼ぶ）を、レーザ照射方向毎に分類して保持する。
【００２９】
図４に占有率地図の一例を示す。図４の占有率地図１００では、レーザ光の照射向き、つまり距離センサ１１による計測向きが９０度毎に４等分されている。具体的には、地図の上から下向き（以下、−ｙ向きと呼ぶ）、地図の下から上向き（以下、＋ｙ向きと呼ぶ）、地図の右から左向き（以下、−ｘ向きと呼ぶ）、及び地図の左から右向き（以下、＋ｘ向きと呼ぶ）の４つの向きに分割されている。
【００３０】
図５は、占有率地図１００の作成手順を説明するための概念図である。図５に描画されたロボット１は、オドメトリに基づいて特定されたロボット１の位置及び姿勢を表している。また、図５に描画された計測点１０１は、オドメトリに基づいて特定された距離センサ１１による計測点の１つを表している。この場合、計測点１０１が含まれるグリッドセル１０２では、＋ｙ向きレーザ通過回数が１つカウントアップされ、＋ｙ向き壁検出回数も１つカウントアップされる。一方、グリッドセル１０３を含むレーザ通過経路上のグリッドセルでは、＋ｙ向きレーザ通過回数のみが１つカウントアップされる。
【００３１】
図３に戻り説明を続ける。ステップＳ１５では、取得された距離データの全てについて処理が終了したかを判定し、終了していなければ、ステップＳ１１〜Ｓ１４を繰り返し実行する。
【００３２】
ステップＳ１６では、占有率地図を元に、レーザ照射向き毎の壁地図を生成する。ここで、壁地図とは、各グリッドセルが「移動可能セル」、「壁セル」又は「未観測セル」のいずれであるかを示す情報が、各グリッドセルの値として保持されたグリッド地図である。各グリッドセルが、「移動可能セル」、「壁セル」又は「未観測セル」のいずれであるかは、例えば、２ビットの値により識別すればよい。
【００３３】
図６に壁地図の一例を示す。図６の壁地図２００は、＋ｙ向き、−ｙ向き、−ｘ向き、及び＋ｘ向きの４つの計測向きごとに、「移動可能セル」、「壁セル」又は「未観測セル」のいずれであるかを示す判定値が保持されている。各計測向きの判定値は、占有率地図１００における対応する計測向きの集計結果に基づいて決定する。具体的には、占有率地図１００の各計測向きの集計結果を用いて、以下に示す評価値Ｐを算出すればよい。
Ｐ＝壁検出回数／（壁検出回数＋レーザ通過回数）
そして、評価値Ｐの大きさが所定の閾値を超えたグリッドセルを「壁セル」、所定の閾値以下のセルを「移動可能セル」、レーザ通過回数がゼロのセルを「未観測セル」とすればよい。
【００３４】
ここで、移動環境とこれに対応する壁地図の具体例を説明する。図７は、移動環境の具体例を示している。図７に示す移動環境３００の中央部分には、ロボット１が移動不可能である柱３０１が配置されている。ロボット１が、図７の移動環境３００のスタート地点からゴール地点まで移動しながら、ロボット１の前方側１８０度の範囲に距離センサ１１によるレーザ光を照射して距離計測を行うことによって、壁地図を作成する場合を考える。
【００３５】
この場合、柱３０１の地図上での上側の面３０１Ｕは、主として−ｙ向きに照射されたレーザ光によって観測される。また、ロボット１がスタート地点から地図上の右方向に向けて移動するために、上側の面３０１Ｕは、＋ｘ向きに照射されたレーザ光によっても観測される。また、柱３０１の地図上での右側の面３０１Ｒは、主として−ｘ向きに照射されたレーザ光によって観測され、−ｙ向きのレーザ光によっても観測される。また、柱３０１の地図上での下側の面３０１Ｄは、主として＋ｙ向きに照射されたレーザ光によって観測され、−ｘ向きのレーザ光によっても観測される。また、柱３０１の地図上での左側の面３０１Ｌは、主として＋ｘ向きに照射されたレーザ光によって観測され、＋ｙ向きのレーザ光によっても観測される。
【００３６】
このような観測によって生成される壁地図の具体例を図８（ａ）〜（ｄ）に示す。図８（ａ）〜（ｄ）の４枚の壁地図は、−ｙ向き、−ｘ向き、＋ｙ向き、及び＋ｘ向きの壁地図２００Ｕ、２００Ｒ、２００Ｄ、及び２００Ｌをそれぞれ示している。図８（ａ）〜（ｄ）において、白抜きのグリッドセル２０１は、「移動可能セル」を示している。また、右肩下がりの斜線でハッチングされたグリッドセル２０２は、「壁セル」を示している。また、右肩上がりの斜線でハッチングされたグリッドセル２０３は、「未観測セル」を示している。
【００３７】
なお、複数の計測向きに対応した地図データを有する環境地図の具体的なデータ構造は特に限定されない。例えば、１つのグリッドセルに関連付けて、４つの計測向きに対応した４つの地図データを保持する場合には、図８（ａ）〜（ｄ）に示したように、グリッドセルの位置を特定するための座標情報と１つの地図データとが関連付けられた壁地図４枚の組み合わせとして環境地図を生成してもよい。また、環境地図は、図６に示したように、１のグリッドセルの位置を特定するための座標情報に対して４つの計測向きに対応した４つの地図データを関連付けて記憶したデータ構造としてもよい。
【００３８】
図３に戻り説明を続ける。図３の最後のステップＳ１７では、ステップＳ１６で生成された壁地図を元に、レーザ照射向き毎の距離地図を生成する。ここで、距離地図とは、各グリッドセルの値として最寄りの壁セルからの距離情報が保持されたグリッド地図である。
【００３９】
ここで、距離地図の具体例について図９（ａ）及び（ｂ）を用いて説明する。図９（ａ）は、壁地図として作成された環境地図を示している。図９（ａ）において、セル４１０を含む白抜きのセルは、「移動可能セル」を示し、セル４１１を含む斜線でハッチングされたセルは、「壁セル」を示している。
【００４０】
一方、図９（ｂ）は、図９（ａ）の壁地図４１を距離地図に変換した例を示している。図９（ｂ）の距離地図４２は、各グリッドセルの値として最寄りの壁セルからの距離を保持している。例えば、図９（ｂ）の斜線でハッチングされたグリッドセルは、セル４１１を含む壁セルに対応しているため、最寄りの壁セルからの距離はゼロである。したがって、壁セルの保持値はゼロである。また、これら壁セルの上下左右のいずれかに隣接するグリッドセルの保持値は１である。その他のセルも同様に、セルピッチ（セルの一辺の長さ）を単位距離として、各グリッドセルの中心から最寄りの壁セルの中心までの距離を表した数値を保持している。
【００４１】
図９（ｂ）に示したような距離地図を予め作成しておくことによって、後述する自己位置推定を行う際に、最寄りの壁セルまでの距離を繰り返し求める演算を効率よく実行できる。環境地図の保持値を読み出すことによって所望の距離値が得られるため、距離の解析的な計算を都度行う必要が無く計算量を削減することができるためである。
【００４２】
距離地図の作成は、例えば、以下に示す手順で行なうことができる。ここでは、最寄りの壁セルまでの距離及び最寄りの壁セル座標が各グリッドセルに保持される距離地図の作成方法について説明する。まず、始めに、距離地図の初期値を設定する。具体的には、壁地図として作成された環境地図の壁セルについて、自身の座標を最寄りの壁セル座標としてセットし、壁距離をゼロにセットする。壁セル以外のセル、例えば、「移動可能セル」及び「未観測セル」等については、十分遠方の座標を壁セル座標の初期値にセットし、壁距離の値も予め定められた最大値にセットする。
【００４３】
次に、図１０に示すように、壁地図として作成された環境地図の最外周のグリッドセルを除くグリッドセル５０１から右方向に１セルずつ走査する。順次走査される各グリッドセルでは、隣接する８個のグリッドセルに保持されている最寄りの壁セル座標（ｘｗ、ｙｗ）を用いて走査対象セルの座標から最寄りの壁セルまでの距離を計算する。例えば、グリッドセル５０１の場合、四角形５０３で囲まれたグリッドセルＣ１〜Ｃ８が対象となる。８つの隣接セルの保持値を用いて最寄りの壁セルまでの距離を計算した結果、最小となった距離及び最小値を与える壁セル座標を、走査対象セルに関連付けて保存する。このようなグリッドセルの走査を、左上から右下まで順次行い、次に、右下のグリッドセル５０２から左上のグリッドセル５０１まで逆順序で走査する。このような手順により、壁地図として作成された環境地図をもとに、距離地図を生成することができる。
【００４４】
続いて以下では、計測向き毎の地図データを有する環境地図を利用した自己位置推定の具体的手順について詳しく説明する。図１１は、自己位置推定部１４による自己位置推定手順を示すフローチャートである。
【００４５】
ステップＳ２１では、距離センサ１１により取得された距離データを入力する。ステップＳ２２では、エンコーダ１５４により取得されるオドメトリ情報を入力する。ステップＳ２３では、オドメトリ情報を用いてロボット１の移動量を算出する。ステップＳ２４では、ステップＳ２３で得た移動量を前回求めた自己位置に加えた地点及びその近傍に複数のロボット候補位置及び候補姿勢（ＸＣ、ＹＣ，θＣ）を設定する。
【００４６】
ステップＳ２５及びＳ２６では、複数のロボット候補位置及び候補姿勢の各々について順に環境地図とのマッチングを行い、信頼度パラメータを算出する。具体的には、ステップＳ２５において、距離データ中の計測点毎に、レーザ照射方向に応じた地図データを選択してマッチングを行う。
【００４７】
ステップＳ２５における地図データ選択の具体例について図１２を参照して説明する。ロボット１が、図１２（ａ）に示すように移動環境６００内に位置している場合、ロボット１から左向きに照射されたレーザ光により得られる計測点群６０１は、−ｘ向きの地図データとマッチングされる。また、ロボット１の前方に照射されたレーザ光により得られる計測点群６０２は、＋ｙ向きの地図データとマッチングされる。また、ロボット１から右向きに照射されたレーザ光により得られる計測点群６０３は、＋ｘ向きの地図データとマッチングされる。
【００４８】
一方、ロボット１が、図１２（ｂ）に示すように、図１２（ａ）と比べて右に約９０度回転した姿勢で移動環境６００内に位置する場合、計測点と照合される地図データが変化する。すなわち、ロボット１から左向きに照射されたレーザ光により得られる計測点群６０１は、＋ｙ向きの地図データとマッチングされる。また、ロボット１の前方に照射されたレーザ光により得られる計測点群６０２は、＋ｘ向きの地図データとマッチングされる。また、ロボット１から右向きに照射されたレーザ光により得られる計測点群６０３は、−ｙ向きの地図データとマッチングされる。
【００４９】
図１１のステップＳ２６で算出される信頼度パラメータは、距離センサ１１による計測点の位置に対応する距離地図内のグリッドセルに保持された"最寄りの壁セルからの距離"を複数の計測点に亘って集計した合計値とすればよい。この場合、最寄りの壁セルからの距離の合計値が小さいほど、距離データと環境地図の一致度が高く、信頼度が高いことを意味する。
【００５０】
ステップＳ２７では、複数の候補位置及び候補姿勢の全てについて信頼度パラメータの算出が終了したかを判定し、終了していなければ、上述したステップＳ２５及びＳ２６を繰り返す。
【００５１】
ステップＳ２８では、複数の候補位置及び候補姿勢の中で最も信頼度が高い、言い換えると、信頼度パラメータとしての"最寄りの壁セルからの距離の合計値"が最も小さい候補位置及び姿勢を、ロボット１の自己位置及び姿勢（ＸＳ、ＹＳ，θＳ）に決定する。
【００５２】
上述したように、本実施の形態にかかるロボット１は、自己位置推定を行う際に、移動環境内の各地点に関連付けて計測向き毎の複数の地図データが保持された環境地図を用いる。そして、ロボット１は、距離センサ１１による計測を行ったときの計測向きに応じて、距離センサ１１により取得された距離データとのマッチングに使用する地図データを使い分ける。これにより、ロボット１の位置する場所からの周囲の見え方に対応した適切な地図データを用いて自己位置推定を行うことができる。
【００５３】
＜その他の実施の形態＞
発明の実施の形態１では、ロボット１自身が環境地図の生成を行うものとして説明した。しかしながら、ロボット１は、外部から供給される環境地図を環境地図記憶部１３に格納しておき、これを用いて自己位置推定を行ってもよい。
【００５４】
また、発明の実施の形態１では、距離センサ１１による計測向きを９０度毎に４等分し、４つの計測向きに対応した４つの地図データを有する環境地図を生成する具体例を示した。しかしながら、環境地図に保持される地図データの計測向きの分割単位が９０度に限られないことは勿論である。具体的には、地図データの計測向きの分割単位は、距離センサ１１が水平走査を行なう際の計測角度の分解能に比べて粗く設定しておけばよい。これにより、環境地図のデータサイズが過度に大きくなることを避けることができる。また、上述したように、距離センサ１１による距離計測結果を集計して環境地図を作成する場合には、各計測向きの角度範囲内に多くの計測点が含まれることになるため、計測向き毎の地図データを精度良く生成するこができる。
【００５５】
また、発明の実施の形態１では、環境地図として距離地図を使用する例を示した。しかしながら、ロボット１は、距離地図を使用せずに、壁地図を用いて自己位置推定を行ってもよい。また、ロボット１が使用する環境地図は、上述した壁地図及び距離地図のほか、移動環境内の各地点の床面からの高さが記憶された地図等の他の地図でもよい。また、発明の実施の形態１では、環境地図が２次元のグリッド地図であるとして説明を行なった。しかしながら、環境地図は、例えば、３次元のグリッド地図でもよい。
【００５６】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態１にかかる移動ロボットの制御系を示すブロック図である。
【図２】自律移動部のブロック図である。
【図３】環境地図の生成手順の一例を示すフローチャートである。
【図４】占有率地図の一例を示す図である。
【図５】占有率地図の生成方法を説明するための概念図である。
【図６】計測向き毎の地図データを保持する壁地図の一例を示す図である。
【図７】移動環境の一例を示す図である。
【図８】計測向き毎の地図データを保持する壁地図の一例を示す図である。
【図９】距離地図の一例を示す図である。
【図１０】距離地図の生成手順を説明するための概念図である。
【図１１】自己位置推定手順の一例を示すフローチャートである。
【図１２】自己位置推定手順を説明するための概念図である。
【図１３】従来の環境地図が有する課題を説明するための図である。
【符号の説明】
【００５８】
１  移動ロボット
１１  距離センサ
１２  地図生成部
１３  環境地図記憶部
１４  自己位置推定部
１５  自律移動部
【図１】
0004788722.tif 000002
【図２】
0004788722.tif 000003
【図３】
0004788722.tif 000004
【図４】
0004788722.tif 000005
【図５】
0004788722.tif 000006
【図６】
0004788722.tif 000007
【図７】
0004788722.tif 000008
【図８】
0004788722.tif 000009
【図９】
0004788722.tif 000010
【図１０】
0004788722.tif 000011
【図１１】
0004788722.tif 000012
【図１２】
0004788722.tif 000013
【図１３】
0004788722.tif 000014