(57)【特許請求の範囲】
【請求項１】
自動的に移動する物体に搭載されている撮像装置によって現在位置の推定用の画像が撮像される直前に、前記物体の現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報と、前記物体の移動目標地点に対応するグリットを識別するための目標地点対応グリット情報とが前記物体の移動範囲を示すデータ上に展開されたグリッドマップを生成するグリッドマップ生成手順と、
前記グリッドマップ生成手順によって生成されたグリッドマップ上に、前記目標地点対応グリット情報に対応するグリッドを中心として前記撮像装置が実際に取りうる撮像方向を示した直線を展開し、前記目標物対応グリット情報に対応する各グリッドと、前記目標地点対応グリット情報に対応するグリッドとを結ぶ線分の長さをグリッド間距離として前記撮像方向ごとにそれぞれ算出する距離算出手順と、
前記撮像装置および前記目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係が示された予め記憶部に記憶されている対応関係情報を用いて、前記距離算出手順によって算出された各グリッド間距離から、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を前記撮像装置の撮像方向ごとに算出する推定精度値算出手順と、
前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向を、前記推定精度値算出手順によって算出された前記推定精度値が最大値となる撮像方向に決定する撮像方向決定手順と、
をコンピュータに実行させる撮像方向決定プログラム。
【請求項２】
前記撮像方向決定手順は、前記推定精度値算出手順によって算出された前記推定精度値が大きい順に前記撮像装置の撮像方向に対して優先順位を付与し、現在位置の推定を実行する機能部から撮像方向の再決定要求を受け付けるごとに、前記優先順位が付与された各撮像方向の中から、前回決定された撮像方向の優先順位に対して、次位の優先順位が付与された撮像方向に再決定する請求項１に記載の撮像方向決定プログラム。
【請求項３】
前記グリッドマップ生成手順は、前記目標物の位置および高さを示した目標物対応グリット情報と、前記目標地点対応グリット情報とが前記物体が存在する空間を示すデータ上に展開された前記物体が存在する空間を示す三次元のグリッドマップを生成し、
前記撮像方向決定手順は、前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向と、前記物体の移動方向と水平な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向とを、前記推定精度値算出手順によって算出された前記推定精度値が最大値となる撮像方向に基づいて決定する請求項１または２に記載の撮像方向決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、撮像方向決定プログラムに関する。
【背景技術】
【０００２】
例えば、博物館内に展示されている各展示物の説明を来訪者に提供するために、展示物ごとに設定されている目標地点まで自動的に移動する移動ロボットが従来からある。
【０００３】
この移動ロボットについて簡単に説明すると、移動ロボットは、カメラ、およびカメラの撮像方向を変更するためのパンチルト機能（例えば、移動面と垂直な回転軸を中心に回転して水平方向の撮像角度を変更するとともに、移動面と水平な回転軸を中心に回転して垂直方向の撮像角度を変更する機能）を有している。
【０００４】
そして、移動ロボットは、各目標地点が予め登録されている地図を用いて、現在位置から目標地点に到達するまでに要する走行距離および走行方向を算出し、算出された走行距離および走行方向に基づいて目標地点まで移動する。
【０００５】
ここで、移動ロボットが移動中に予定していた走行コースから外れた場合や、実際に走行した距離の計測ミスなどが発生した場合など、移動ロボットが目標地点に到達できないケースが存在する。
【０００６】
そのため、移動ロボットは、移動後に、予め設定されている撮像方向で壁や柱などの目標物を撮像し、撮像された画像を用いて自己から目標物までの距離を測定して地図上の現在位置を推定する。
【０００７】
そして、例えば、移動ロボットは、推定された地図上の現在位置が目標地点に一致しない場合に、推定された現在位置に基づいて、移動先としての目標地点まで再移動するという補正を行っていた。
【０００８】
なお、例えば、特許文献１では、ＧＰＳ(Global Positioning System)によって推定された地図上の現在位置を、目標物が撮像された画像を用いて修正するための技術が開示されている。
【０００９】
【特許文献１】国際公開第２００５／３８４０２号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上記した従来の移動ロボットには、現在位置の推定用に適した画像を撮像できないことがあるという課題があった。すなわち、従来の移動ロボットには、画像を撮像している撮像方向が現在位置の推定用の画像を撮像するための最適な撮像方向であるとは限らないので、現在位置の推定用に適した画像を撮像できないことがあるという課題があった。
【００１１】
そこで、この撮像方向決定プログラムは、上述した従来技術の課題を解決するためになされたものであり、現在位置の推定用に適した画像を撮像することが可能な撮像方向決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、開示の撮像方向決定プログラムは、自動的に移動する物体に搭載されている撮像装置によって現在位置の推定用の画像が撮像される直前に、前記物体の現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報と、前記物体の移動目標地点に対応するグリットを識別するための目標地点対応グリット情報とが前記物体の移動範囲を示すデータ上に展開されたグリッドマップを生成するグリッドマップ生成手順と、前記グリッドマップ生成手順によって生成されたグリッドマップ上に、前記目標地点対応グリット情報に対応するグリッドを中心として前記撮像装置が実際に取りうる撮像方向を示した直線を展開し、前記目標物対応グリット情報に対応する各グリッドと、前記目標地点対応グリット情報に対応するグリッドとを結ぶ線分の長さをグリッド間距離として前記撮像方向ごとにそれぞれ算出する距離算出手順と、前記撮像装置および前記目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係が示された予め記憶部に記憶されている対応関係情報を用いて、前記距離算出手順によって算出された各グリッド間距離から、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を前記撮像装置の撮像方向ごとに算出する推定精度値算出手順と、前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を撮像する際の撮像方向を、前記推定精度値算出手順によって算出された前記推定精度値が最大値となる撮像方向に決定する撮像方向決定手順とをコンピュータに実行させることを要する。
【発明の効果】
【００１３】
開示の撮像方向決定プログラムによれば、現在位置の推定用に適した画像を撮像することが可能である。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明に係る撮像方向決定プログラムの一実施形態として実施例１を詳細に説明する。なお、以下では、この撮像方向決定プログラムが適用された移動ロボットを実施例として説明する。
【実施例１】
【００１５】
以下の実施例１では、実施例１に係る移動ロボットの概要、移動ロボットの構成、移動ロボットの処理の流れを順に説明し、最後に実施例１の効果を説明する。
【００１６】
［実施例１に係る移動ロボットの概要］
まず最初に、図１を用いて実施例１に係る移動ロボットの概要を説明する。図１は、実施例１に係る移動ロボットの概要を説明するための図である。
【００１７】
実施例１に係る移動ロボットは、目標地点が予め登録されている地図を用いて、現在位置から目標地点まで自動的に移動し、移動先で現在位置の推定用の画像を撮像することを概要とし、特に、現在位置の推定用に適した画像を撮像する。
【００１８】
すなわち、実施例１に係る移動ロボットは、移動ロボットの移動範囲を示した地図から算出された走行距離および走行方向に基づいて目標地点付近まで移動する。
【００１９】
移動の完了後、移動ロボットは、図１の（１）に示すように、現在位置を推定する際に目印として利用される目標物（例えば、壁や柱など）に対応するグリットを識別するための目標物対応グリット情報と、移動ロボットの移動先である目標地点に対応するグリットを識別するための目標地点対応グリット情報とが展開されたグリッドマップを生成する。
【００２０】
続いて、移動ロボットは、図１の（２）に示すように、目標物に対応する各グリッドと、目標地点に対応するグリットとの間のグリッド間距離を撮像装置が実際に取りうる撮像方向ごとに算出する。
【００２１】
続いて、移動ロボットは、図１の（３）に示すように、撮像装置および目標物の間の実際の距離と、画像を用いて距離を実際に測定した場合の距離測定精度を示す距離測定精度値との対応関係が示された対応関係情報を用いて、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を撮像装置の撮像方向ごとに算出する。
【００２２】
そして、移動ロボットは、図１の（４）に示すように、現在位置の推定用の画像を実際に撮像する際の撮像方向を、推定精度値が最大値となる撮像方向に決定し、決定された撮像方向で実際に画像を撮像する。
【００２３】
このようなことから、実施例１に係る移動ロボットは、現在位置の推定用に適した画像を撮像することが可能である。
【００２４】
［移動ロボットの構成］
次に、図２〜図９を用いて、図１に示した移動ロボットの構成を説明する。図２は、移動ロボットの構成を示すブロック図である。図３は、地図データベースに記憶される情報の一例を示した図である。図４は、グリッドマップ生成部による処理を説明するための図である。図５は、対応関係情報の概念を示した図である。図６〜図９は、視野選択部による処理を説明するための図である。
【００２５】
図２に示すように、移動ロボット１０は、地図データベース１１、走行制御部１２、地図解析部１３、グリッドマップ生成部１４、視野選択部１５、パンチルト制御部１６、ビジョンセンサ１７および現在位置推定部１８を有する。
【００２６】
地図データベース１１は、グリッドマップを生成するための地図情報を記憶する。具体的に一例をあげて説明すると、地図データベース１１は、図３に示すように、グリッドマップを構成する各グリッドに一意に付与されるグリッド識別情報（例えば、「ｉｄｘ＝“１”」）と、現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報（例えば、目標物の属性「Ｗａｌｌ」および目標物の座標「ｘ＝“０．１”、ｙ＝“２”、ｚ＝“１”」）とを対応付けてなるテキスト形式の地図を予め記憶する。
【００２７】
走行制御部１２は、移動ロボット１０が有する走行機構（例えば、移動ロボット１０の車輪を駆動するモータ）の動作を制御する。具体的には、走行制御部１２は、目標地点が予め登録されている地図を用いて、現在位置から目標地点に到達するまでに要する走行距離および走行方向を算出し、算出された走行距離および走行方向に基づいて走行機構を制御して移動する。
【００２８】
そして、走行制御部１２は、移動の完了後、目標地点に対応するグリッドの座標と、仮に移動ロボット１０が目標地点に到達した場合の走行方向とを視野選択部１５に入力する。
【００２９】
また、走行制御部１２は、現在位置推定部１８によって地図上の現在位置が推定されると、推定された現在位置から目標地点に到達するまでに要する走行距離および走行方向を改めて算出して、算出された走行距離および走行方向に基づいて走行機構を制御し、目標地点まで再移動する。
【００３０】
地図解析部１３は、移動ロボット１０の移動の完了後、地図データベース１１からテキスト形式の地図を読み込み、グリッドマップ生成部１４に入力する。
【００３１】
グリッドマップ生成部１４は、テキスト形式の地図を用いて、グリッドマップを生成する。具体的には、グリッドマップ生成部１４は、地図解析部１３から受け付けたテキスト形式の地図を展開して、目標物の位置が設定されたグリッドマップを生成する（図４参照）。
【００３２】
視野選択部１５は、撮像装置および目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係を示した対応関係情報を視野選択部１５が有する記憶部に予め記憶している。
【００３３】
具体的に説明すると、視野選択部１５は、図５に示すような撮像装置および目標物の間の実際の距離「ｄ」および距離測定精度「ｆ（ｄ）」の対応関係を示した対応関係情報を、視野選択部１５が有する記憶部に記憶している。ここで、対応関係情報とは、例えば、実際の距離から距離測定精度を示す距離測定精度値を算出するための式や、実際の距離および距離測定精度値が対応付けてなるテーブルなどである。
【００３４】
また、視野選択部１５は、グリッドマップ上に、目標地点に対応するグリッドを中心として撮像装置が実際に取りうる撮像方向を示した直線を展開し、目標物に対応する各グリッドと、目標地点に対応するグリッドとを結ぶ線分の長さをグリッド間距離として撮像方向ごとにそれぞれ算出する。
【００３５】
続いて、視野選択部１５は、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を、撮像装置の撮像方向ごとに算出された各グリッド間距離から対応関係情報を用いて算出する。
【００３６】
そして、視野選択部１５は、現在位置の推定用の画像を実際に撮像する際の撮像装置の撮像方向を、算出された推定精度値が最大値となる撮像方向に決定する。
【００３７】
視野選択部１５による処理を具体的に説明すると、視野選択部１５は、移動ロボット１０の移動が完了すると、目標地点に対応するグリッドの座標と、仮に移動ロボット１０が目標地点に到達した場合の走行方向とを走行制御部１２から受け付ける。
【００３８】
続いて、視野選択部１５は、グリッドマップ生成部１４によって生成されたグリッドマップを構成する各グリッドの中から、移動ロボット１０の移動目標地点に対応する目標地点対応グリットを特定する。例えば、視野選択部１５は、移動ロボット１０の移動目標地点に対応する目標地点対応グリットを特定し、仮に移動ロボット１０が目標地点に到達した場合を想定するための仮想ロボットを配置する。
【００３９】
続いて、視野選択部１５は、走行制御部１２から受け付けた走行方向に基づいて、仮に移動ロボット１０が目標地点に到達した場合の走行方向をグリッドマップ上で特定する。例えば、視野選択部１５は、走行制御部１２から受け付けた走行方向に基づいて、グリッドマップ上の仮想ロボットの走行方向を特定する。
【００４０】
続いて、視野選択部１５は、グリッドマップ上に目標地点対応グリットを中心として撮像装置が実際に取りうる撮像方向を示した直線を展開する。例えば、視野選択部１５は、仮想ロボットに搭載された撮像装置が実際に取りうる撮像方向を示した直線（以下では、仮想センサと記載する）を、目標地点対応グリットを中心とした放射状をなすようにグリッドマップ上に展開する（図６参照）。
【００４１】
続いて、視野選択部１５は、グリッドマップ上に展開された仮想センサそれぞれについて、撮像装置の回転角度の初期値に対応する基準方向（例えば、仮想ロボットの進行方向に対して、右９０度）からの角度と、目標物に対応する各グリッドおよび目標地点対応グリットを結ぶグリット間距離とを算出する。
【００４２】
例えば、視野選択部１５は、図７に示すように、基準方向（図７に示す破線矢印）からの角度「φ」と、目標物に対応する各グリッドおよび目標地点対応グリットを結ぶグリット間距離「ｄ」とを仮想センサごとに算出する。なお、各仮想センサそれぞれについての角度「φ」と、グリット間距離「ｄ」との関係は、例えば、図８に示すようなグラフとなる。
【００４３】
続いて、視野選択部１５は、各仮想センサそれぞれについて、推定精度値「ｆ」を算出されたグリット間距離「ｄ」から対応関係情報を用いて算出する。なお、各仮想センサそれぞれについての角度「φ」と、推定精度値「ｆ」との関係は、例えば、図９に示すようなグラフとなる。
【００４４】
続いて、視野選択部１５は、一定の角度ごとに（例えば、２０度ごとに）、撮像可能な範囲（例えば、図９の「ｐ１」）に含まれる複数の仮想センサ（例えば、図９の「Ｌ１〜Ｌ６」）を、グリッドマップ上に展開された全ての仮想センサの中から特定する。そして、視野選択部１５は、撮像装置の回転角度に対応付けて、特定された仮想センサにそれぞれに対応する推定精度値を累積加算した累積値を算出する。
【００４５】
そして、視野選択部１５は、現在位置の推定用の画像を実際に撮像する際の撮像装置の回転角度を、各回転角度の中で累積値の最大値に対応する回転角度に決定する。
【００４６】
パンチルト制御部１６は、撮像装置の撮像方向を変更する。具体的には、パンチルト制御部１６は、視野選択部１５によって決定された回転角度まで移動面と垂直な回転軸を中心に撮像装置を基準方向から回転させて撮像装置の撮像方向を変更する。
【００４７】
ビジョンセンサ１７は、撮像装置の動作を制御する。具体的には、ビジョンセンサ１７は、パンチルト制御部１６によって撮像装置の撮像方向が変更された後、撮像装置を制御して現在位置の推定用の画像を実際に撮像する。
【００４８】
現在位置推定部１８は、目標物が撮像された画像を用いて移動ロボット１０から目標物までの距離を測定し、地図上の現在位置を推定する。具体的には、現在位置推定部１８は、目標物までの距離をビジョンセンサ１７による制御によって撮像された画像を用いて移動ロボット１０から目標物までの距離を測定し、測定された目標物までの距離に基づいて地図上の現在位置を推定する。
【００４９】
［移動ロボットによる処理］
次に、図１０を用いて、移動ロボット１０による処理を説明する。図１０は、移動ロボットによる処理の流れを示すフローチャートである。なお、以下では、移動ロボット１０が移動先としての目標地点付近まで移動してから、目標地点まで再移動するまでの流れを説明する。
【００５０】
図１０に示すように、移動ロボット１０は、目標地点付近まで移動すると（ステップＳ１００１肯定）、目標物の位置が設定されたグリッドマップを生成する（ステップＳ１００２）。
【００５１】
続いて、移動ロボット１０は、目標物に対応する各グリッドと、目標地点に対応するグリッドとを結ぶ線分の長さをグリッド間距離として撮像方向ごとにそれぞれ算出し（ステップＳ１００３）、推定精度値を、対応関係情報を用いて撮像装置の撮像方向ごとに算出する（ステップＳ１００４）。
【００５２】
続いて、移動ロボット１０は、撮像装置の撮像方向を算出された推定精度値が最大値となる撮像方向に変更し（ステップＳ１００５）、現在位置の推定用の画像を実際に撮像する（ステップＳ１００６）。
【００５３】
そして、移動ロボット１０は、撮像された画像を用いて地図上の現在位置を推定し（ステップＳ１００７）、推定された現在位置から目標地点に到達するまでの走行距離および走行方向に基づいて目標地点まで再移動する（ステップＳ１００８）。
【００５４】
［実施例１の効果］
上記したように、実施例１によれば、現在位置の推定用に適した画像を撮像することが可能である。例えば、実施例１に係る移動ロボット１０は、現在位置の推定用の画像を実際に撮像する撮像方向を、最良な測距精度が得られる撮像方向に決定するため、現在位置の推定用に適した画像を撮像することが可能である。そして、実施例１に係る移動ロボット１０は、現在位置の推定用に適した画像を撮像することができる結果、現在位置を精度良く推定することもできる。
【実施例２】
【００５５】
さて、これまで実施例１について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例２として、本発明に含まれる他の実施例を説明する。
【００５６】
（１）撮像方向の優先順位
上記の実施例１では、推定精度値が最大値となる撮像方向に、目標物を実際に撮像する際の撮像方向を決定する場合を説明したが、本発明はこれに限定されるものではなく、推定精度値が大きい順に撮像装置の撮像方向に対して優先順位を付与して目標物を実際に撮像する際の撮像方向を決定するようにしてもよい。
【００５７】
例えば、ビジョンセンサ１７は、現在位置の推定用の画像を撮像するごとに、撮像された画像に目標物が写っているか否かを判定し、目標物が写っていないことを示す判定結果を得た場合に、視野選択部１５に対して撮像方向の再決定要求を送信する。
【００５８】
視野選択部１５は、推定精度値が累積加算された累積値が高い順に撮像装置の撮像方向に対して優先順位を付与する。そして、視野選択部１５は、最初に、優先順位が最も高い撮像装置の撮像方向に目標物を実際に撮像する際の撮像方向を決定する。その後、視野選択部１５は、ビジョンセンサ１７から撮像方向の再決定要求を受け付けるごとに、優先順位が一位低い撮像方向に目標物を実際に撮像する際の撮像方向を変更する。
【００５９】
これにより、例えば、地図上に登録されていない障害物（例えば、人など）が、移動ロボット１０と、目標物との間にあった場合であっても、撮像方向を変更して現在位置の推定用に適した画像を撮像することが可能となる。
【００６０】
（２）垂直方向の撮像角度を変更
また、上記の実施例１では、移動ロボット１０の移動方向と垂直な回転軸を中心に撮像装置を回転させて目標物を実際に撮像する際の撮像方向を、推定精度値が最大値となる撮像方向に決定する場合を説明した。
【００６１】
しかしながら、本発明はこれに限定されるものではなく、移動ロボット１０の移動方向と垂直な回転軸を中心に撮像装置を回転させて目標物を実際に撮像する際の水平方向の撮像方向と、移動ロボット１０の移動方向と水平な回転軸を中心に撮像装置を回転させて目標物を実際に撮像する際の垂直方向の撮像方向とを、推定精度値が最大値となる撮像方向に基づいて決定するようにしてもよい。
【００６２】
視野選択部１５は、一定の大きさの水平方向の回転角度の範囲ごとに（例えば、０度〜６０度）、この範囲に含まれる複数の仮想センサを、グリッドマップ上に展開された全ての仮想センサの中から特定する。
【００６３】
続いて、視野選択部１５は、上述した、処理と同様に、水平方向の回転角度の範囲に対応付けて、特定された仮想センサにそれぞれに対応する推定精度値を累積加算した累積値を算出し、現在位置の推定用の画像を実際に撮像する際の水平方向の回転角度の範囲を、各回転角度の範囲の中で累積値の最大値に対応する水平方向の回転角度の範囲に決定する。
【００６４】
続いて、グリッドマップ生成部１４は、目標物の高さを示す高さ情報を用いて、決定された水平方向の回転角度の範囲を垂直方向に展開したグリッドマップを生成する（図１１の（Ａ）参照）。
【００６５】
続いて、視野選択部１５は、仮想センサごとに垂直方向の回転角度の初期値に対応する基準方向（例えば、仮想ロボットの移動面に対して水平方向）からの角度「φ２」と、目標物に対応する各グリッドおよび目標地点対応グリットを結ぶグリット間距離「ｄ２」とを算出する（図１１の（Ｂ）参照）。
【００６６】
続いて、視野選択部１５は、各仮想センサそれぞれについて、推定精度値「ｆ２」を算出されたグリット間距離「ｄ２」から対応関係情報を用いて算出する（図１１の（Ｃ）参照）。
【００６７】
そして、視野選択部１５は、現在位置の推定用の画像を実際に撮像する際の垂直方向の回転角度を、各回転角度の中で推定精度値「ｆ２」の最大値に対応する仮想センサの垂直方向の回転角度に決定する。
【００６８】
これにより、水平方向の回転角度を決定した後に、垂直方向の回転角度を微調整するという２段階で、現在位置の推定用の画像を実際に撮像する際の撮像方向を決定するため、現在位置の推定用にさらに適した画像を撮像することが可能である。
【００６９】
また、視野選択部１５は、移動ロボット１０が存在する空間を示す三次元のグリットマップ上に、撮像装置が実際に取りうる撮像方向を示した仮想センサを三次元に展開する（言い換えると、水平方向の回転角度および垂直方向の回転角度の組合せに対応付けて仮想センサを展開する）ようにしてもよい（図１２参照）。
【００７０】
これにより、移動ロボット１０の移動範囲を示す二次元のグリットマップ上に展開できない物体（例えば、天井から吊り下げられたライト）も目標物として含むことができるため、現在位置の推定用にさらに適した画像を撮像することが可能である。
【００７１】
（３）移動ロボットの構成等
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図３に示した地図情報や、図５に示した対応関係情報）については、特記する場合を除いて任意に変更することができる。
【００７２】
また、図２に示した移動ロボット１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、移動ロボット１０の各構成要素の分散・統合の具体的形態は図示のものに限られず、例えば、視野選択部１５とパンチルト制御部１６とを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７３】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ハードウェアとして実現され得る。
【００７４】
（４）撮像方向決定プログラム
ところで、本発明はあらかじめ用意されたプログラムを移動ロボット１０に搭載されているコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１３を用いて、上記の実施例１で説明した移動ロボット１０の処理と同様の機能を有する撮像方向決定プログラムを実行するコンピュータを一例として説明する。図１３は、撮像方向決定プログラムを実行するコンピュータを示す図である。
【００７５】
図１３に示すように、移動ロボット１０に搭載されているコンピュータ１００は、ＲＯＭ１１０、ＣＰＵ１２０、ＨＤＤ１３０、ＲＡＭ１４０をバス１５０などで接続して構成される。
【００７６】
ＲＯＭ１１０には、上記の実施例１に示した移動ロボット１０と同様の機能を発揮する撮像方向決定プログラム、つまり、図１３に示すようにグリッドマップ生成プログラム１１１と、視野選択プログラム１１２と、パンチルト制御プログラム１１３と、撮像装置制御プログラム１１４と、現在位置推定プログラム１１５と、走行制御プログラム１１６とが、あらかじめ記憶されている。なお、これらのプログラム１１１〜プログラム１１６については、図２に示した移動ロボット１０の各構成要素と同様、適宜統合または、分散してもよい。
【００７７】
そして、ＣＰＵ１２０がこれらのプログラム１１１〜プログラム１１６をＲＯＭ１１０から読み出して実行することで、図１３に示すように、プログラム１１１〜プログラム１１６は、グリッドマップ生成プロセス１２１（グリッドマップ生成手順ともいう）、視野選択プロセス１２２（距離算出手順、推定精度値算出手順および撮像方向決定手順ともいう）、パンチルト制御プロセス１２３、撮像装置制御プロセス１２４、現在位置推定プロセス１２５および走行制御プロセス１２６として機能するようになる。なお、プロセス１２１〜プロセス１２６は、図２に示した、グリッドマップ生成部１４、視野選択部１５、パンチルト制御部１６、ビジョンセンサ１７、現在位置推定部１８および走行制御部１２にそれぞれ対応する。
【００７８】
また、ＨＤＤ１３０には、図１３に示すように、地図データ１３１と、対応関係データ１３２とが設けられる。
【００７９】
そして、ＣＰＵ１２０は、ＨＤＤ１３０から地図データ１３１を読み込んでグリッドマップ１４１を生成してＲＡＭ１４０に格納するとともに、ＨＤＤ１３０に記憶されている対応関係データ１３２を読み出して処理を実行する。なお、地図データ１３１は、図２に示した地図データベース１１に対応する。
【００８０】
なお、上記した各プログラム１１１〜プログラム１１６については、必ずしも最初からＲＯＭ１１０に記憶させておく必要はなく、例えば、コンピュータ１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１００の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１００がこれから各プログラムを読み出して実行するようにしてもよい。
【００８１】
以上の実施例１および実施例２を含む実施形態に関し、さらに以下の付記を開示する。
【００８２】
（付記１）自動的に移動する物体に搭載されている撮像装置によって現在位置の推定用の画像が撮像される直前に、前記物体の現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報と、前記物体の移動目標地点に対応するグリットを識別するための目標地点対応グリット情報とが前記物体の移動範囲を示すデータ上に展開されたグリッドマップを生成するグリッドマップ生成手順と、
前記グリッドマップ生成手順によって生成されたグリッドマップ上に、前記目標地点対応グリット情報に対応するグリッドを中心として前記撮像装置が実際に取りうる撮像方向を示した直線を展開し、前記目標物対応グリット情報に対応する各グリッドと、前記目標地点対応グリット情報に対応するグリッドとを結ぶ線分の長さをグリッド間距離として前記撮像方向ごとにそれぞれ算出する距離算出手順と、
前記撮像装置および前記目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係が示された予め記憶部に記憶されている対応関係情報を用いて、前記距離算出手順によって算出された各グリッド間距離から、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を前記撮像装置の撮像方向ごとに算出する推定精度値算出手順と、
前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向を、前記推定精度値算出手順によって算出された前記推定精度値が最大値となる撮像方向に決定する撮像方向決定手順と、
をコンピュータに実行させる撮像方向決定プログラム。
【００８３】
（付記２）前記撮像方向決定手順は、前記推定精度値算出手順によって算出された前記推定精度値が大きい順に前記撮像装置の撮像方向に対して優先順位を付与し、現在位置の推定を実行する機能部から撮像方向の再決定要求を受け付けるごとに、前記優先順位が付与された各撮像方向の中から、前回決定された撮像方向の優先順位に対して、次位の優先順位が付与された撮像方向に再決定する付記１に記載の撮像方向決定プログラム。
【００８４】
（付記３）前記グリッドマップ生成手順は、前記目標物の位置および高さを示した目標物対応グリット情報と、前記目標地点対応グリット情報とが前記物体が存在する空間を示すデータ上に展開された前記物体が存在する空間を示す三次元のグリッドマップを生成し、
前記撮像方向決定手順は、前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向と、前記物体の移動方向と水平な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向とを、前記推定精度値算出手順によって算出された前記推定精度値が最大値となる撮像方向に基づいて決定する付記１または２に記載の撮像方向決定プログラム。
【００８５】
（付記４）自動的に移動する物体に搭載されている撮像装置によって現在位置の推定用の画像が撮像される直前に、前記物体の現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報と、前記物体の移動目標地点に対応するグリットを識別するための目標地点対応グリット情報とが前記物体の移動範囲を示すデータ上に展開されたグリッドマップを生成するグリッドマップ生成手段と、
前記グリッドマップ生成手段によって生成されたグリッドマップ上に、前記目標地点対応グリット情報に対応するグリッドを中心として前記撮像装置が実際に取りうる撮像方向を示した直線を展開し、前記目標物対応グリット情報に対応する各グリッドと、前記目標地点対応グリット情報に対応するグリッドとを結ぶ線分の長さをグリッド間距離として前記撮像方向ごとにそれぞれ算出する距離算出手段と、
前記撮像装置および前記目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係が示された予め記憶部に記憶されている対応関係情報を用いて、前記距離算出手段によって算出された各グリッド間距離から、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を前記撮像装置の撮像方向ごとに算出する推定精度値算出手段と、
前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向を、前記推定精度値算出手段によって算出された前記推定精度値が最大値となる撮像方向に決定する撮像方向決定手段と、
を有する移動ロボットに搭載された撮像方向決定装置。
【００８６】
（付記５）自動的に移動する物体に搭載されている撮像装置によって現在位置の推定用の画像が撮像される直前に、前記物体の現在位置を推定する際に目印として利用される目標物に対応するグリットを識別するための目標物対応グリット情報と、前記物体の移動目標地点に対応するグリットを識別するための目標地点対応グリット情報とが前記物体の移動範囲を示すデータ上に展開されたグリッドマップを生成するグリッドマップ生成ステップと、
前記グリッドマップ生成ステップによって生成されたグリッドマップ上に、前記目標地点対応グリット情報に対応するグリッドを中心として前記撮像装置が実際に取りうる撮像方向を示した直線を展開し、前記目標物対応グリット情報に対応する各グリッドと、前記目標地点対応グリット情報に対応するグリッドとを結ぶ線分の長さをグリッド間距離として前記撮像方向ごとにそれぞれ算出する距離算出ステップと、
前記撮像装置および前記目標物の間の実際の距離と、実際の距離に対応する距離測定精度との関係が示された予め記憶部に記憶されている対応関係情報を用いて、前記距離算出ステップによって算出された各グリッド間距離から、撮像された画像を現在位置の推定に用いた場合の推定精度を示す推定精度値を前記撮像装置の撮像方向ごとに算出する推定精度値算出ステップと、
前記物体の移動方向と垂直な回転軸を中心に前記撮像装置を回転させて前記目標物を実際に撮像する際の撮像方向を、前記推定精度値算出ステップによって算出された前記推定精度値が最大値となる撮像方向に決定する撮像方向決定ステップと、
を含む移動ロボットによる撮像方向決定方法。
【図面の簡単な説明】
【００８７】
【図１】実施例１に係る移動ロボットの概要を説明するための図である。
【図２】移動ロボットの構成を示すブロック図である。
【図３】地図データベースに記憶される情報の一例を示した図である。
【図４】グリッドマップ生成部による処理を説明するための図である。
【図５】対応関係情報の概念を示した図である。
【図６】視野選択部による処理を説明するための図である。
【図７】視野選択部による処理を説明するための図である。
【図８】視野選択部による処理を説明するための図である。
【図９】視野選択部による処理を説明するための図である。
【図１０】移動ロボットによる処理の流れを示すフローチャートである。
【図１１】実施例２に係る視野選択部による処理を説明するための図である。
【図１２】実施例２に係る視野選択部による処理を説明するための図である。
【図１３】撮像方向決定プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００８８】
１０  移動ロボット
１１  地図データベース
１２  走行制御部
１３  地図解析部
１４  グリッドマップ生成部
１５  視野選択部
１６  パンチルト制御部
１７  ビジョンセンサ
１８  現在位置推定部
１００  コンピュータ
１１０  ＲＯＭ（Read Only Memory）
１１１  グリッドマップ生成プログラム
１１２  視野選択プログラム
１１３  パンチルト制御プログラム
１１４  撮像装置制御プログラム
１１５  現在位置推定プログラム
１１６  走行制御プログラム
１２０  ＣＰＵ（Central Processing Unit）
１２１  グリッドマップ生成プロセス
１２２  視野選択プロセス
１２３  パンチルト制御プロセス
１２４  撮像装置制御プロセス
１２５  現在位置推定プロセス
１２６  走行制御プロセス
１３０  ＨＤＤ（Hard disk drive）
１３１  地図データ
１３２  対応関係データ
１４０  ＲＡＭ（Random Access Memory）
１４１  グリッドマップ
１５０  バス
【図１】
0005045567.tif 000002
【図２】
0005045567.tif 000003
【図３】
0005045567.tif 000004
【図４】
0005045567.tif 000005
【図５】
0005045567.tif 000006
【図６】
0005045567.tif 000007
【図７】
0005045567.tif 000008
【図８】
0005045567.tif 000009
【図９】
0005045567.tif 000010
【図１０】
0005045567.tif 000011
【図１１】
0005045567.tif 000012
【図１２】
0005045567.tif 000013
【図１３】
0005045567.tif 000014