(57)【要約】【課題】移動中に繰り返し取得される障害物センサのデータを統合した環境マップを生成するのに要する計算コストを低減した移動ロボットを提供する。【解決手段】移動ロボットは、移動中に繰り返し周囲の障害物を検知する。オドメトリ部は、障害物検知を行った検知地点間の距離と夫々の検知地点における検知方向の間の角度を記録する。マップ生成部は、記録された距離と角度に基づいて、各検知地点における障害物センサのデータを統一の座標系に写像した環境マップを生成する。マップ生成部はさらに、最新の検知地点との距離が既定の距離閾値より大きいという距離条件、及び、前記最新の検知地点における検知方向との角度が既定の角度閾値よりも小さいという角度条件、を共に満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外する。【選択図】図２
2011238104.tif 000002
【特許請求の範囲】
【請求項１】
移動中に繰り返し周囲の障害物を検知する障害物センサと、
障害物検知を行った検知地点間の距離と夫々の検知地点における検知方向の間の角度を記録するオドメトリモジュールと、
記録された前記距離と前記角度に基づいて、各検知地点における障害物センサのセンサデータを統一の座標系に写像した環境マップを生成するマップ生成モジュールと、を備えており、
前記マップ生成モジュールは、次の２つの条件、即ち、最新の検知地点との間の距離が既定の距離閾値より大きいという距離条件、及び、前記最新の検知地点における検知方向との間の角度が既定の角度閾値よりも小さいという角度条件、を共に満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外することを特徴とする移動ロボット。
【請求項２】
前記マップ生成モジュールは、前記距離条件と前記角度条件に加えて、検知範囲に移動ロボットの予定経路が含まれていないという予定経路条件を満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外することを特徴とする請求項１に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットに関する。特に、障害物センサによって周囲の障害物を検知し、障害物を回避しながら移動することのできる移動ロボットに関する。
【背景技術】
【０００２】
高度な移動ロボットは、障害物センサを搭載しており、障害物を回避しながら移動するアルゴリズムを実装している。移動経路が予め定められていても、移動ロボットは、障害物と衝突の虞がある場合は移動経路をリアルタイムに修正する。通常、移動機構は、脚、或いは車輪である。障害物センサは、例えば、レーザレンジセンサやカメラ（画像処理装置）である。
【０００３】
１回のセンシングでセンサが検知できる範囲は限られている。そこで、例えば特許文献１には、移動中に繰り返し周囲の障害物を検知し、各検知地点のセンサデータを統合して用いる移動ロボットが開示されている。特許文献１の移動ロボットは、各検知地点における障害物センサのセンサデータを統一の座標系に写像した環境マップを生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２７６３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
繰り返し取得したセンサデータを全て保存しておくとデータ量が膨大となる。近年は記憶装置の容量が飛躍的に増大しているので、センサデータを保存しておくことは可能であるかもしれない。しかしながら、データ量が膨大となると、環境マップの生成に要する計算コストが嵩んでしまう。計算コストとは、計算時間が嵩むこと、或いは、短時間で計算するには高い処理能力が要求されること、を意味する。
【０００６】
環境マップ生成に用いる元データを削減する単純なアルゴリズムとしては、古いセンサデータを削除することが考えられる。しかしながら、単純に古いセンサデータを削除してしまうと不都合が生じる場合がある。例えば、障害物センサは、移動ロボットの足元が計測できない場合がある。そのような場合、移動ロボットは、現在移動ロボットが位置する場所（足元）を過去において計測したセンサデータに依拠して足元の障害物を把握する。そのような移動ロボットが一定時間以上過去のセンサデータを破棄してしまうと、移動ロボットが静止している場合（或いはその場で足踏みしている場合）、一定時間後には足元を障害物に関する情報が失われてしまう。また、過去の検知地点では検知範囲に属するが新しい検知地点では死角となる領域が存在する場合も、過去のセンサデータを破棄してしまうと環境マップに死角が生じてしまう。典型的には前述したように、過去のセンサデータを破棄してしまうと足元が死角となってしまう虞がある。本発明は、上記課題に鑑みて創作された。本発明は、できるだけ死角を生じさせることなく、過去のセンサデータを統合した環境マップを生成するのに要する計算コストを低減する技術を提供する。
【課題を解決するための手段】
【０００７】
発明者は、検討の結果、過去のセンサデータのうち、将来利用される可能性が高い条件を見出した。その条件は、時間に依存しない。その条件とは、一つは、検知地点が最新の検知地点に近いという条件であり、もう一つは、センサの向いていた方向（検知方向）が最新の検知地点における検知方向と大きく異なる、という条件である。少なくともいずれか一方の条件を満足する検知地点にて計測されたセンサデータを環境マップの元データとして採用し、そうでない過去のセンサデータは環境マップ生成から除外すれば、死角を生じる可能性を抑制しつつ、過去のセンサデータを統合した環境マップを生成するのに要する計算コストを低減できる。
【０００８】
上記した条件を満足する過去のセンサデータを環境マップ生成に必ずしも使う必要はないことに留意されたい。例えば、上記した条件を満足する過去のセンサデータであっても、検知範囲が当面の進行方向から外れている場合にはそのセンサデータを用いる必要はない。従って、上記のアルゴリズムを実装する場合は、最新の検知地点との距離が既定の距離閾値より大きいという距離条件、及び、最新の検知地点における検知方向との角度が既定の角度閾値よりも小さいという角度条件、を共に満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外する、というアルゴリズムで与えるのが好適である。
【０００９】
本明細書が開示する一つの技術的教示は、次の移動ロボットを提供する。移動ロボットは、障害物センサとオドメトリモジュールと環境マップ生成モジュールを備えている。障害物センサは、移動中に繰り返し周囲の障害物を検知する。即ち移動ロボットは異なる検知地点で障害物を検知する。オドメトリモジュールは、障害物検知を行った検知地点間の距離と夫々の検知地点における検知方向（障害物センサの向き）の間の角度を記録する。なお、「オドメトリ」とは、移動経路の記録（経路上各地点における進行方向の情報を含む）を意味し、移動ロボットの技術分野ではよく使われる技術用語である。検知地点間の距離と検知方向間の角度は、「オドメトリ」から算出できる。マップ生成モジュールは、記録された距離と角度に基づいて、各検知地点における障害物センサのセンサデータを統一の座標系に写像した環境マップを生成する。「統一の座標系」は、典型的には、絶対座標系、或いは、現在位置における移動ロボット固定の座標系である。ここで、マップ生成モジュールは、次の２つの条件、即ち、距離条件：「最新の検知地点との距離が既定の距離閾値より大きいこと」、及び、角度条件：「最新の検知地点における検知方向との角度が既定の角度閾値よりも小さいこと」、を共に満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外する。「除外する」とは、典型的には記憶装置から削除することである。或いは記憶装置の容量に余裕がある場合は、「除外する」とは、記憶装置からは削除しないが、環境マップを生成する元データとして採用はしないことであってもよい。
【００１０】
上記距離条件の相補的な条件、即ち、最新の検知地点との距離が既定の距離閾値より小さいという条件を相補距離条件と称することにする。同様に、上記角度条件の相補的な条件、即ち、最新の検知地点における検知方向との角度が既定の角度閾値よりも大きいという条件を相補角度条件と称することにする。上記のマップ生成モジュールのセンサデータ選択アルゴリズムは、別言すれば、相補距離条件、又は、相補角度条件の少なくとも一方を満足する過去のデータを環境マップ生成のための元データの候補とすることである。ここで、「候補とする」とは、相補距離条件と相補角度条件の少なくとも一方を満足する過去の全てのセンサデータを環境マップ生成のために使う必要は必ずしもないことを意味することに留意されたい。
【００１１】
相補距離条件は、現在の移動ロボットの近くを検知した過去のセンサデータを環境マップ生成の元データ候補とすることを保証する。相補角度条件は、現在の移動ロボットにおける検知方向から大きく外れている方向を検知範囲に有する過去のセンサデータは環境マップ生成の元データ候補とすることを保証する。特に後者は、障害物の背後に回り込む旋回動作を行うときに有効である。そのような旋回動作は死角を生じ易いからである。移動ロボットが旋回するとき、障害物センサの向いている方向が大きく変化するので、相補角度条件は、広角の範囲の障害物データを環境マップ生成の元データ候補に残すことを保証する。即ち、逆にいえば、上記した距離条件と角度条件を共に満足する過去のデータは、今後利用される可能性が低い。このように上記の移動ロボットは、死角が生じることを抑えながら、利用価値の低い過去のセンサデータをマップ生成から除外する。
【００１２】
発明者は、別の観点から、時間に依存しないが、利用価値が高いセンサデータの他の条件を見出した。そのような条件は、換言すれば、古いデータである可能性があるが、利用価値が高い条件である。その条件とは、移動ロボットのこれからの予定経路が検知範囲に含まれている、という条件である。例えば、一旦通過した交差点を後に別の方向から再度通過する場合である。そのような場合は、初回通過したときに検知したセンサデータは、次に別方向から通過する際に有用である。そのような過去データは環境マップ生成の元データの候補として残しておくことが好ましい。そのようなデータ選択アルゴリズムは、次のように実装することができる。即ち、マップ生成モジュールは、検知範囲に移動ロボットの予定経路（これから辿る予定の経路）が含まれているという（相補）予定経路条件を満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データ候補として残しておく。ここで、「（相補）予定経路条件」としたのは、前記した相補距離条件と相補角度条件との整合性を保つためである。上記の相補予定経路条件に対して、「予定経路条件」は、検知範囲に移動ロボットの予定経路が含まれていない、という条件に相当する。
【００１３】
前記した距離条件と角度条件と合わせると、マップ生成モジュールは、次のアルゴリズムを実装していることが好適である。即ち、マップ生成モジュールは、前記した距離条件と角度条件に加えて、検知範囲に移動ロボットの予定経路が含まれていないという予定経路条件を満足する過去の検知地点におけるセンサデータを、環境マップを生成するための元データから除外する。予定経路条件まで含めた移動ロボットは、一層効率よく、計算コストを低減しつつ、死角範囲を生じる可能性を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】移動ロボットの模式図を示す。
【図２】移動ロボットのブロック図を示す。
【図３】障害物センサの検知範囲の推移を説明する図である。
【図４】センサデータ選択アルゴリズムを説明する図である。
【図５】他のセンサデータ選択アルゴリズムを説明する図である。
【図６】参考のセンサデータ選択アルゴリズムを説明する図である。
【図７】障害物センサの方向制御を説明する図である。
【発明を実施するための形態】
【００１５】
図１に、移動ロボット１０の模式図を示す。移動ロボット１０は、２本の脚で歩行することができる脚式ロボットである。脚には関節を駆動するアクチュエータ１６が内蔵されている。コントローラ２０が駆動系センサ１４のセンサデータに基づいてアクチュエータ１６を制御し、歩行動作が実現する。例えば駆動系センサ１４は、各関節の角度を計測する角度センサや、足の接地を検知する接地センサなどである。それらのセンサは、移動ロボット１０を駆動制御するために用いるセンサであるから駆動系センサ１４と総称する。
【００１６】
移動ロボット１０はさらに、障害物センサ１２を備える。障害物センサ１２は、２個のカメラで撮影した画像からステレオ立体視の原理で被写体（障害物）の方向と距離を計測する画像センサである。移動ロボット１０は、移動しながら障害物センサ１２で繰り返し周囲の障害物（例えば図１のW１、W２、及び、W３）を検知しながら、それら障害物を回避する。例えば移動ロボット１０には、予定経路Ｒ＿ｄｅｆａｕｌｔが与えられている。しかし、障害物Ｗ３が予定経路上に存在する。移動ロボット１０は、予定経路Ｒ＿ｄｅｆａｕｌｔに沿って進みながら、障害物センサ１２によって周囲、特に予定経路上に存在する障害物Ｗ１やＷ２を検知する。障害物Ｗ１とＷ２には衝突しないことが判明すると、移動ロボット１０は予定経路Ｒ＿ｄｅｆａｕｌｔに沿って進む。障害物Ｗ３に近づき、障害物Ｗ３が障害物センサ１２の検知範囲に入ると、移動ロボット１０は、予定経路を進むと障害物Ｗ３と衝突することを検出する。このとき、移動ロボット１０は、障害物Ｗ３を回避するよう、予定経路Ｒ＿ｄｅｆａｕｌｔの一部を修正経路Ｒ＿ｍｏｄｉｆｉｅｄにリアルタイムに変更し、修正経路Ｒ＿ｍｏｄｉｆｉｅｄに沿って進む。
【００１７】
図２に、移動ロボット１０の制御系に関するブロック図を示す。以下、図１と図２を参照して、移動ロボット１０における障害物の検知について説明する。なお、図２における「Ｍ」は「モジュール」を意味する。モジュールは、主としてソフトウエア（プログラム）としてコントローラ２０に実装される。
【００１８】
移動ロボット１０は、脚に備えられた駆動系センサ１４によって、移動してきた経路を特定する。前述したように、駆動系センサ１４は、各関節の角度を計測する角度センサや、足の接地を検知する接地センサなどである。各関節の角度から足の位置が求まり、足の向きからロボットの方向が求まる。また、足の着地毎に、前後の足の位置から移動距離が求まる。このように駆動系センサ１４は、アクチュエータ１６の制御に用いられるだけでなく、移動してきた経路の各位置におけるロボットの向きと、移動距離を特定するのにも用いられる。なお、ロボットの向きは、障害物センサ１２の向き（検知方向)に等価である。駆動系センサ１４のセンサデータは、オドメトリモジュール２０２に入力される。オドメトリモジュール２０２が、駆動系センサ１４のセンサデータから着地毎の足の位置を算出し、各位置における向きと移動距離を記録する。またオドメトリモジュール２０２には障害物センサ１２の検知タイミングが通知される。オドメトリモジュール２０２は、障害物センサ１２の検知タイミングにおける移動ロボット１０の位置（即ち検知位置）と向き（即ち障害物センサ１２の検知方向）を特定する。さらにオドメトリモジュール２０２は、障害物検知を行った検知地点間の距離と夫々の検知地点における検知方向の間の角度を算出し、センサデータ記憶部２０４に記録する。センサデータ記憶部２０４にはまた、障害物センサ１２が計測した障害物の位置に関するデータ（障害物センサ１２のセンサデータ、以下、障害物センサデータと称する）が記録される。
【００１９】
障害物センサ１２自体が移動ロボット１０とともに移動するので、検知地点毎に障害物センサ１２の位置と検知方向は異なる。即ち、障害物の位置を特定するための座標系が障害物センサデータ毎に異なる。マップ生成モジュール２１０が、障害物センサデータ毎に異なる座標系を統一の座標系に変換し、各検知地点における障害物センサデータを統一の座標系に写像した環境マップを生成する。環境マップ生成までの具体的な処理は次の通りである。
【００２０】
マップ生成モジュール２１０内のデータ選択部２０７が、センサデータ記憶部２０４から検知地点毎の障害物センサデータと、その検知地点の位置（検知位置）及び検知方向を読み出す。データ選択部２０７はまた、センサデータ記憶部２０４から、最新の検知地点の検知位置と検知方向を読み出す。データ選択部２０７は、読み出した過去の検知位置と最新の検知位置との間の距離、及び、過去の検知方向と最新の検知方向との間の角度を算出する。データ選択部２０７は、算出した距離が既定の距離閾値よりも大きく、かつ、算出した角度が既定の角度閾値よりも小さい場合、読み出した障害物センサをセンサデータ記憶部２０４から消去する。「算出した距離が既定の距離閾値よりも大きい」という条件が距離条件に相当し、「算出した角度が既定の角度閾値よりも小さい」という条件が角度条件に相当する。即ち、データ選択部２０７は、距離条件と角度条件を共に満足する過去の検知地点における障害物センサデータを消去する。データ選択部２０７は、距離条件と角度条件の少なくとも一方を満足しなかった検知地点における障害物センサデータを座標変換部２０８へ送る。データ選択部２０７は、センサデータ記憶部２０４に記録されている障害物センサデータ毎に上記の処理を繰り返す。なお、距離閾値と角度閾値は、予め与えられている。例えば距離閾値は５ｍであり、角度閾値は４５ｄｅｇである。
【００２１】
座標変換部２０８は、検知位置と検知方向を、予め定められた一つの絶対座標系に変換する変換式を特定し、その変換式を用いて障害物センサデータを一つの絶対座標系（統一の座標系）に写像する。写像結果はマップ合成部２０９に送られる。マップ合成部２０９は、座標変換部２０８から送られる写像後の障害物センサデータを蓄積する。ここで、マップ合成部２０９は、既に蓄積された障害物センサデータが検知対象とする地理的範囲と、新たに送られた障害物センサデータが検知対象とする地理的範囲が重なる場合、新たに送られた障害物センサデータで既に蓄積された障害物センサデータを書き換える。こうして、各検知地点における障害物センサデータを一つの絶対座標系（統一の座標系）に写像して合成した環境マップが完成する。完成した環境マップのデータはマップ記憶部２０６に記録される。
【００２２】
経路決定モジュール２１２は、前述した予定経路Ｒ＿ｄｅｆａｕｌｔに沿って進みながら、環境マップを参照して直近の予定経路に沿って進めるか否か、或いは障害物に衝突する虞がないか否かを判断する。障害物に衝突する虞がある場合は、障害物を避けるように予定経路Ｒ＿ｄｅｆａｕｌｔをリアルタイムに修正する。駆動制御モジュール２１４は、経路決定モジュール２１２が計画した修正した経路に沿って進むようにアクチュエータ１６を制御する。
【００２３】
図３と図４を用いて、障害物センサデータの選択処理を具体的に説明する。なお、以降の図では、図を簡単化するために移動ロボット１０を三角で示している。図のＰ（ｔ）、Ｐ（ｔ−１）、Ｐ（ｔ−２）、及び、Ｐ（ｉ）は、移動ロボット１０における障害物検知位置を示す。ｔ、ｔ−１、ｔ−２、及び、ｉは時系列を意味し、「ｔ」が最新の検知位置を示している。Ｓ（ｔ）、Ｓ（ｔ−１）、Ｓ（ｔ−２）、及び、Ｓ（ｉ）は、障害物の計測範囲（検知範囲）を示している。図３が示すように、検知範囲にはロボット自体は含まれない。移動ロボット１０が位置Ｐ（ｔ）に位置するときは、時刻ｔ−２のときに取得した障害物センサデータ、即ち、検知範囲Ｓ（ｔ−２）の障害物センサデータを用いることによって、身近の障害物の存在を移動ロボット１０は把握する。
【００２４】
図４のＡＺ（ｉ）は、時刻ｉにおける移動ロボット１０の方向、即ち、障害物センサ１２が向いている方向（検知方向）を示している。ＡＺ（ｉ）は過去の時刻ｉにおける検知方向を示しており、ＡＺ（ｔ）は最新の検知位置Ｐ（ｔ）における検知方向を示している。検知方向ＡＺ（ｉ）と検知位置Ｐ（ｉ）は駆動系センサ１４のセンサデータに基づいてオドメトリモジュール２０２が特定する。
【００２５】
マップ生成モジュール２１０内のデータ選択部２０７は、過去の検知位置Ｐ（ｉ）と最新の検知位置Ｐ（ｔ）との間の距離ＤＬ（ｉ）を算出するとともに、過去の検知方向ＡＺ（ｉ）と最新の検知方向ＡＺ（ｔ）の間の角度ＤＡ（ｉ）を算出する。データ選択部２０７は、距離ＤＬ（ｉ）と角度ＤＡ（ｉ）を使って、過去の時刻ｉにおける検知地点が前記した距離条件と角度条件を共に満足するか否かを判断する。データ選択部２０７は、両条件を共に満足する場合、その検知地点における障害物センサデータをセンサデータ記憶部２０４から消去する。即ちデータ選択部２０７は、「距離ＤＬ（ｉ）＞距離閾値、かつ、角度ＤＡ（ｉ）＜角度閾値」が満たされる検知位置における障害物センサデータ（Ｓ（ｉ）のデータ）を削除する。データ選択部２０７は、ｉ＝０〜ｎまで、即ち、センサデータ記憶部２０４に残されている全ての障害物センサデータについ上記処理を繰り返す。
【００２６】
移動ロボット１０の利点を述べる。移動ロボット１０は、距離条件と角度条件の双方を満足する検知地点における障害物センサデータを、環境マップ生成のための元データとして採用しない。そのため、取得した全ての障害物センサデータを環境マップに用いる場合と比較すると環境マップ生成に要する計算コスト低減できる。元データとして採用しない障害物センサデータは、上記した距離条件と角度条件を共に満足する検知位置で計測された障害物センサデータである。すなわち、最新の検知地点から距離閾値よりも遠く、かつ、最新の検知方向との方位差が角度閾値よりも小さい過去の検知地点の障害物センサデータが採用されない。そのような障害物センサデータは、別言すれば最新の検知位置から距離閾値以上後方の範囲を対象としたデータである。そのような障害物データは将来に亘って利用される可能性が低い。そのため、将来に亘って死角（その障害物センサデータがなければ予定経路に沿って無事進めるか否かが判断できない領域）が生じる可能性が小さい。
【００２７】
次に、上記した移動ロボット１０をさらに向上した変形例を説明する。マップ生成モジュール２１０（データ選択部２０７）は、前記した距離条件と角度条件に加えて、検知範囲に移動ロボットの予定経路が含まれていないという予定経路条件を満足する過去の検知地点におけるセンサデータを、センサデータ記憶部２０４から削除する処理を備えるのが好適である。そのような処理の利点を、図５を参照して説明する。移動ロボット１０は現在位置Ｐ（ｔ）に位置する。過去の時刻ｉの検知位置Ｐ（ｉ）と現在位置Ｐ（ｔ）との間の距離ＤＬ（ｉ）と、過去の時刻ｉにおける検知方向と現在の検知方向との角度ＤＡ（ｉ）は、前記した距離条件と角度条件を共に満足すると仮定する。なお、角度ＤＡ（ｉ）は図示していないが、図からＤＡ（ｉ）はゼロである。上記した処理では、検知位置Ｐ（ｉ）における検知範囲Ｓ（ｉ）の障害物センサデータは削除される。しかし、検知範囲Ｓ（ｉ）は、これから移動ロボット１０が進む予定経路Ｒ＿ｄｅｆａｕｌｔが含まれている。予定経路条件を加えたマップ生成モジュール２１０（データ選択部２０７）は、検知範囲Ｓ（ｉ）の障害物センサデータを削除せず、環境マップ生成の元データ候補とする。なお、図５におけるＲ＿ｐａｓｔは既に通過した経路を示す。例えば既に通過した経路Ｒ＿ｐａｓｔと今後の予定経路Ｒ＿ｄｅｆａｕｌｔの交点が壁などによって見通しが悪い場合、過去に計測した検知範囲Ｓ（ｉ）の障害物センサデータが有用である。
【００２８】
次に、障害物センサデータを選択するための別の条件を、図６を参照しながら説明する。図中のＰ（ｇｏａｌ）は、予定経路の目的位置を示している。ＡＺ（Ｇｏａｌ）は、目的位置における移動ロボット１０の予定された向きを示している。図６に示した移動ロボット１０のマップ生成モジュールは、次の２つの条件、即ち、予定された目的地との距離（図６のＤＬ（ｉ））が既定の距離閾値より大きいという距離条件（第２距離条件）、及び、目的地における移動ロボットの予定された向きとの角度（図６におけるＤＡ（ｉ））が既定の角度閾値よりも小さいという角度条件（第２角度条件）を共に満足する過去の検知地点／検知方向におけるセンサデータを、環境マップを生成するための元データから除外する。
【００２９】
さらに、移動ロボット１０の好適な変形例を図７を参照して説明する。移動ロボット５０は、障害物センサ１２の首を振ることができるように構成されている。即ち、移動ロボット５０は、その本体に対して相対的に障害物センサ１２の検知方向を変更できるように構成されている。移動ロボット５０は、目的地Ｐ（ｇｏａｌ）と、目的地Ｐ（ｇｏａｌ）における移動ロボット５０の予定された向きＡＺ（ｇｏａｌ）を記憶している。移動ロボット５０は、移動中、検知方向を、現在の移動ロボット５０の進行方向ＡＺ（ｔ）と前述の予定された向きＡＺ（ｇｏａｌ）との間の所定の方向Ａｓ（ｔ）を向くように障害物センサ１２の方向を制御する。所定の方向Ａｓ（ｔ）は、目的地Ｐ（ｇｏａｌ）に向かう方向に、現在の移動ロボット５０の進行方向ＡＺ（ｔ）と前述の予定された向きＡＺ（ｇｏａｌ）との間の角度ＤＡ（ｇｏａｌ）にゼロより大きく１以下の既定の係数を乗じた角度である。即ち、移動ロボット５０は、目的位置Ｐ（ｇｏａｌ）に向かう方向に、現在の移動ロボット５０の進行方向ＡＺ（ｔ）と前述の予定された向きＡＺ（ｇｏａｌ）との間の角度ＤＡ（ｇｏａｌ）にゼロより大きく１以下の既定の係数を乗じた角度だけシフトした方向に障害物センサ１２の検知方向を向ける。
【００３０】
図７の符号Ｓ（ｔ）は、障害物センサ１２を移動ロボット５０の進行方向ＡＺ（ｔ）に向けたときの検知範囲を示している。符号Ｓｓ（ｔ）は、障害物センサ１２を、目的地Ｐ（ｇｏａｌ）に向かう方向に、現在の移動ロボット５０の進行方向ＡＺ（ｔ）と目的地にて予定された向きＡＺ（ｇｏａｌ）との間の角度ＤＡ（ｇｏａｌ）に前記した既定の係数を乗じた角度だけ振ったときの検知範囲を示している。そのような障害物センサの方向制御を行うと、常に目的地に近い方向にシフトした範囲を検知範囲（即ち障害物を計測する範囲）とすることができる。
【００３１】
実施例に関する留意点を述べる。実施例の移動ロボット１０は、距離条件と角度条件を共に満足する過去の検知地点におけるセンサデータを削除した。記憶容量に余裕があれば削除せずとも、環境マップを生成するための元データから除外すればよい。また、実施例の移動ロボットは脚で歩行するロボットである。本明細書が開示する技術は、車輪で移動するロボット、或いは、ホバークラフトのように浮上して移動するロボットに適用することも好適である。また、「最新の検知位置」と「最新の検知方向」は、本発明の技術思想的には「現在の障害物センサの位置」と「現在の障害物センサの向いている方向」と等価である。障害物検知は数十ｍｓｅｃ〜数ｓｅｃ毎に行われる。従って、「最新の検知位置」と「現在の検知位置」との間には数十ｍｓｅｃ〜数ｓｅｃの時間差が存在するが、障害物検知の観点からはそのような時間差は無視し得る程小さい。
【００３２】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００３３】
１０：移動ロボット
１２：障害物センサ
１４：駆動系センサ
１６：アクチュエータ
２０：コントローラ
５０：移動ロボット
２０２：オドメトリモジュール
２０４：センサデータ記憶部
２０６：マップ記憶部
２０７：データ選択部
２０８：座標変換部
２０９：マップ合成部
２１０：マップ生成モジュール
２１２：経路決定モジュール
２１４：駆動制御モジュール
【図１】
2011238104.tif 000003
【図２】
2011238104.tif 000004
【図３】
2011238104.tif 000005
【図４】
2011238104.tif 000006
【図５】
2011238104.tif 000007
【図６】
2011238104.tif 000008
【図７】
2011238104.tif 000009