(57)【特許請求の範囲】
【請求項１】
移動体の移動環境を表す環境地図のうち、前記移動体が移動すべき移動目標点を設定可能な所定の大きさの領域を設定する目標点設定可能領域を記憶する記憶部と、
前記移動体が自己位置から移動する目標移動方向をランダムに決定する移動方向決定部と、
前記自己位置から移動したときに、前記目標点設定可能領域内の位置に到達可能な距離であり、かつ、前記移動環境の角の位置、又は、前記移動環境の袋小路から抜け出ることができる所定の下限距離以上である距離を、目標移動距離としてランダムに決定する移動距離決定部と、
前記自己位置から前記目標移動方向に前記目標移動距離だけ移動したときに前記移動体が到達する到達位置を、前記移動目標点として設定する移動目標設定部と、
を備える、移動目標決定装置。
【請求項２】
前記目標点設定可能領域は、前記環境地図のうち前記移動体が移動可能な領域を表す移動可能領域からは独立して設定され、
前記移動目標設定部は、前記到達位置が前記移動可能領域内に存在すれば、当該到達位置を前記移動目標点として設定する、
請求項１に記載の移動目標決定装置。
【請求項３】
前記記憶部は、前記環境地図のうち前記移動目標点を設定できない領域を表し、前記移動体が移動可能な領域を表す移動可能領域からは独立して設定された目標点設定不能領域を記憶し、
前記移動目標設定部は、前記到達位置が前記目標点設定不能領域外に存在すれば、当該到達位置を前記移動目標点として設定する、
請求項１又は２に記載の移動目標決定装置。
【請求項４】
前記目標点設定可能領域は、矩形又は円形である、請求項１〜３のいずれかに記載の移動目標決定装置。
【請求項５】
移動体の移動環境を表す環境地図のうち、前記移動体が移動すべき移動目標点を設定可能な所定の大きさの領域である目標点設定可能領域を設定するステップと、
前記移動体が自己位置から移動する目標移動方向をランダムに決定するステップと、
前記自己位置から移動したときに、前記目標点設定可能領域内の位置に到達可能な距離であり、かつ、前記移動環境の角の位置、又は、前記移動環境の袋小路から抜け出ることができる所定の下限距離以上である距離を、目標移動距離としてランダムに決定するステップと、
前記自己位置から前記目標移動方向に前記目標移動距離だけ移動したときに前記移動体が到達する到達位置を、前記移動目標点として設定するステップと、
を含む、移動目標決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律的に移動可能な移動体の、所定の移動環境における移動目標を決定する移動目標決定装置、及び、移動目標決定方法に関する。
【背景技術】
【０００２】
従来、自律的に移動可能な移動体が自律的に移動する際の移動経路を決定する方法が、知られている。例えば、ユーザに移動体を操作させて、移動体に所望の移動経路を教示させる技術が知られている。また、特許文献１には、自走式掃除機の走行方向から見て障害物が存在する側とは反対方向に、ランダムな回転角度にて自走式掃除機を回転させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１７９３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動体を、例えば広告活動を行うロボットなどに適用した場合には、広告活動を行いたい移動環境をランダムに移動させたい場合がある。このような場合に、移動体に移動経路を教示する場合には、一度ランダムな経路を教示しても、移動体は当該教示した同一経路を繰り返し自律移動するのみである。このような移動経路は、完全にランダムな移動経路とは言えない。また、ユーザの操作によりランダムな移動経路を教示させることは、ユーザに大きな負担をかける。
すなわち、従来の移動経路決定方法においては、完全にランダムな移動経路を移動体に自律移動させることができなかった。
【０００５】
本発明の課題は、移動体を、ランダムに自律移動させることにある。
【課題を解決するための手段】
【０００６】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る移動目標決定装置は、記憶部と、移動方向決定部と、移動距離決定部と、移動目標設定部と、を備える。記憶部は、目標点設定可能領域を記憶する。目標設定可能領域は、移動体の移動環境を表す環境地図のうち、移動体が移動すべき移動目標点を設定可能な、所定の大きさの領域を設定する。
移動方向決定部は、移動体が自己位置から移動する目標移動方向をランダムに決定する。移動距離決定部は、自己位置から移動したときに、目標点設定可能領域内の位置に到達可能であり、かつ、所定の下限距離以上である距離を、目標移動距離としてランダムに決定する。
移動目標設定部は、自己位置から目標移動方向に目標移動距離だけ移動したときに移動体が到達する到達位置を、移動目標点として設定する。
【０００７】
上記の移動目標決定装置では、移動体を、現在の自己位置から、ランダムに決定される目標移動方向に、ランダムに決定される目標移動距離だけ移動したときに到達する目標点設定可能領域内の到達位置を、移動目標点として設定している。これにより、目標点設定可能領域において、ランダムな方向にランダムな距離にて、移動体を自律的に移動させることができる。
【０００８】
また、目標移動距離を所定の下限値以上の距離とすることにより、例えば、移動環境の角の位置、又は、移動環境の袋小路となった位置などで小さく移動し続けて、移動体が、当該角又は袋小路から抜け出ることができなくなる確率を低減できる。
【０００９】
目標点設定可能領域は、移動可能領域とは独立して設定されてもよい。移動可能領域は、環境地図のうち、移動体が移動可能な領域を表す。この場合、移動目標設定部は、到達位置が移動可能領域内に存在すれば、当該到達位置を移動目標点として設定する。
これにより、目標点設定可能領域とは独立に無関係に設定された移動可能領域内に、移動目標点を設定できる。
【００１０】
記憶部は、目標点設定不能領域を記憶してもよい。目標点設定不能領域は、環境地図のうち移動目標点を設定できない領域を表す。また、目標点設定不能領域は、移動可能領域からは独立して設定される。この場合、移動目標設定部は、到達位置が目標点設定不能領域外に存在すれば、当該到達位置を移動目標点として設定する。
これにより、移動目標点を設定できる移動可能領域とは無関係に設定された目標点設定不能領域内には、移動目標点を設定不能とできる。
【００１１】
目標点設定可能領域は、矩形又は円形であってもよい。これにより、矩形又は円形といた形状の領域内に、移動目標点を設定できる。
【００１２】
本発明の他の見地に係る移動目標決定方法は、以下のステップを含む。
◎移動体の移動環境を表す環境地図のうち、移動体が移動すべき移動目標点を設定可能な所定の大きさの領域である目標点設定可能領域を設定するステップ。
◎移動体が自己位置から移動する目標移動方向をランダムに決定するステップ。
◎自己位置から移動したときに、目標点設定可能領域内の位置に到達可能な距離であり、かつ、所定の下限距離以上である距離を、目標移動距離としてランダムに決定するステップ。
◎自己位置から目標移動方向に目標移動距離だけ移動したときに移動体が到達する到達位置を、前記移動目標点として設定するステップ。
【００１３】
上記の移動目標決定方法では、移動体を、現在の自己位置から、ランダムに決定される目標移動方向に、ランダムに決定される目標移動距離だけ移動したときに到達する目標点設定可能領域内の到達位置を、移動目標点として設定している。これにより、目標点設定可能領域において、ランダムな方向にランダムな距離にて、移動体を自律的に移動させることができる。
【００１４】
また、目標移動距離を所定の下限値以上の距離とすることにより、例えば、移動環境の角の位置、又は、移動環境の袋小路となった位置などで小さく移動し続けて、移動体が、当該角又は袋小路から抜け出ることができなくなる確率を低減できる。
【発明の効果】
【００１５】
移動体を、ランダムに自律移動させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態が採用された自律移動体の構成を示す図。
【図２】制御部の構成を示す図。
【図３】移動目標点決定部の構成を示す図。
【図４】領域を設定するためのユーザ・インターフェースの一例を示す図。
【図５Ａ】ユーザ・インターフェースを用いて円形の領域を描画する様子の一例を示す図。
【図５Ｂ】ユーザ・インターフェースを用いて矩形の領域を描画する様子の一例を示す図。
【図５Ｃ】ユーザ・インターフェースを用いた下限距離及び上限距離の設定方法の一例を示す図。
【図６】自律移動体の全体的な動作を示すフローチャート。
【図７】自律モード実行時の自律移動体の動作を示すフローチャート。
【図８】環境地図に設定された目標点設定可能領域、移動可能領域、及び、目標点設定不能領域の一例を示す図。
【図９Ａ】移動目標点の候補として不適切な到達位置の一例を示す図。
【図９Ｂ】移動目標点としては不適切な到達位置の一例を示す図。
【図１０】到達位置の算出方法を示すフローチャート。
【図１１】設定された矩形の境界線の一例を示す図。
【図１２】自己位置を通り目標移動方向候補の角度を傾きとして有する直線と、当該直線と矩形の境界線との交点の一例を示す図。
【図１３】自律移動体が領域の角から抜け出ることができなくなった場合の一例を示す図。
【図１４】目標移動距離の決定方法の他の実施形態の一例を示す図。
【図１５Ａ】目標点設定可能領域の他の実施形態を示す図（その１）。
【図１５Ｂ】目標点設定可能領域の他の実施形態を示す図（その２）。
【発明を実施するための形態】
【００１７】
１．第１実施形態
（１）自律移動体の構成
移動目標決定装置１００（後述）が用いられる自律移動体１の一例について説明する。以下に説明する自律移動体１は、例えば、移動目標決定装置１００にて決定された移動目標点へと自律して移動可能な移動体である。まず、自律移動体１の構成を、図１を用いて説明する。図１は、本発明の一実施形態が採用された自律移動体の構成を示す図である。
自律移動体１は、本体１１を有する。本体１１は、自律移動体１の本体を構成する例えば筐体である。本実施形態において、後述する「自己位置」は、移動環境ＭＥを表す環境地図Ｍ１上における本体１１の中心の位置（座標）と定義する。また、「自身」との語は、自律移動体１の本体１１のことを指すこととする。
【００１８】
自律移動体１は、移動部１２を有する。移動部１２は、例えば、本体１１を移動させる差動二輪型の移動部である。
具体的には、移動部１２は、一対のモータ１２１ａ、１２１ｂを有する。一対のモータ１２１ａ、１２１ｂは、本体１１の底部に設けられた、例えばサーボモータやブラシレスモータなどの電動モータである。一対のモータ１２１ａ、１２１ｂは、制御部１４（後述）と電気的に接続され、制御部１４からの指令に基づいて、それぞれ独立に、任意の回転数及びトルクにてその出力回転軸を回転させる。
【００１９】
移動部１２は、一対の車輪１２３ａ、１２３ｂを有する。一対の車輪１２３ａ、１２３ｂは、それぞれ、一部が移動環境ＭＥの床面（移動面）と接しており、一対のモータ１２１ａ、１２１ｂの出力回転軸に接続される。これにより、車輪１２３ａ、１２３ｂは、それぞれ、モータ１２１ａ、１２１ｂによって独立して回転し、本体１１を移動させる。
上記のように独立回転が可能なことによって、車輪１２３ａと１２３ｂの回転数に差を生じさせて本体１１の姿勢を変化できる。一方、一対の車輪１２３ａ、１２３ｂの回転数が同じであれば、本体１１を直進できる。
【００２０】
モータ１２１ａ、１２１ｂのそれぞれの出力回転軸には、エンコーダ１２５ａ、１２５ｂ（図２）が設けられている。エンコーダ１２５ａ、１２５ｂは、例えば、モータ１２１ａ、１２１ｂの出力回転軸の回転量に基づいたパルス信号を出力するインクリメンタル型のエンコーダである。これにより、自己位置推定部１４３（後述）は、モータ１２１ａ、１２１ｂの回転量、すなわち、車輪１２３ａ、１２３ｂの回転量に基づいて、移動環境ＭＥにおける自律移動体１（本体１１）の位置及び／又は姿勢を推定できる。
【００２１】
自律移動体１は、レーザレンジセンサ１３を有する。レーザレンジセンサ１３は、例え
ば、レーザ発振器によりパルス発振されたレーザ光を、移動環境ＭＥ中の構造物（例えば、移動環境ＭＥに配置された柱、棚、壁など）である障害物や物体に放射状に照射し、当該障害物から反射した反射光をレーザ受信器により受信することにより、当該障害物や物体に関する情報を取得するレーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）である。
レーザレンジセンサ１３は、本体１１の前部に配置された第１レーザレンジセンサ１３１と、本体１１の後部に配置された第２レーザレンジセンサ１３３と、を有する。
【００２２】
第１レーザレンジセンサ１３１は、本体１１の前方に左右方向にレーザ光を放射状に発生することにより、第１レーザレンジセンサ１３１を中心とした本体１１の前方の半径２０ｍ程度の円内に含まれる障害物や物体に関する情報を取得する。
一方、第２レーザレンジセンサ１３３は、本体１１の後方に左右方向にレーザ光を放射状に発生することにより、第２レーザレンジセンサ１３３を中心とした本体１１の後方の半径５ｍ程度の円内に含まれる障害物や物体に関する情報を取得する。
なお、上記レーザレンジセンサの検出可能距離は、上記の値に限られず、自律移動体１の用途等に応じて適宜変更できる。
【００２３】
その他、上記の障害物や物体を検出するセンサとしては、レーザレンジファインダの他に、周囲に存在する障害物や物体とセンサ（本体１１）との間の距離を測定可能なセンサを用いることができる。例えば、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）カメラなどを使用できる。さらに、１次元又は２次元の距離を測定するセンサを、２次元又は３次元の距離を測定するものとして動作させることが可能なシステムなどを使用できる。
【００２４】
自律移動体１は、制御部１４を有する。制御部１４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ハードディスク装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、記憶媒体読み出し装置などの記憶装置、信号変換を行うインターフェースなどを備えたコンピュータシステムである。制御部１４は、自律移動体１の各部の制御を行う。制御部１４の構成については、後ほど詳しく説明する。
【００２５】
自律移動体１は、補助輪部１５をさらに有していてもよい。補助輪部１５は、２つの補助車輪１５ａ、１５ｂを有する。２つの補助車輪１５ａと１５ｂは、それぞれが独立に回転可能なように取り付けられている。補助輪部１５を備えることにより、自律移動体１は安定に、かつ、スムーズに移動できる。
【００２６】
（２）制御部の構成
図２を用いて、制御部１４の構成を説明する。図２は、制御部の構成を示す図である。
なお、以下に説明する制御部１４の各部の機能の一部又は全部は、コンピュータシステムにおいて実行可能なプログラムとして実現されていてもよい。また、当該プログラムは、当該マイコンシステムの記憶装置に記憶されていてもよい。又は、上記機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
【００２７】
制御部１４は、記憶部１４１を有する。記憶部１４１は、制御部１４を構成するコンピュータシステムの記憶装置の記憶領域の一部である。記憶部１４１は、自律移動体１を制御するために用いられる各種情報を記憶する。
【００２８】
制御部１４は、ローカルマップ取得部１４２を有する。ローカルマップ取得部１４２は、レーザレンジセンサ１３から取得した信号に基づいて、ローカルマップＭ２を取得する。ローカルマップＭ２は、自律移動体１の移動環境ＭＥにおける存在位置を中心とした所定の範囲内の地図情報である。本実施形態において、ローカルマップ取得部１４２は、以下のようにしてローカルマップＭ２を取得する。
ローカルマップ取得部１４２は、まず、レーザレンジセンサ１３からレーザ光を照射したタイミングと、反射光をレーザレンジセンサ１３（レーザ受信器）にて受信したタイミングとの時間差から、レーザレンジセンサ１３と物体との距離を算出する。また、例えば、反射光を受信した時のレーザ受信器の受光面の角度から、本体１１から見た物体が存在する方向を算出できる。
【００２９】
その後、ローカルマップ取得部１４２は、上記の時間差から算出される本体１１から見た物体の相対的な距離と、反射光を受光したときの受光面の角度とを、移動環境ＭＥを表す座標平面上の座標値に変換する。これにより、ローカルマップ取得部１４２は、自律移動体１（本体１１）の周囲に存在する物体の自律移動体１に対する相対的な位置を表す地図情報を、ローカルマップＭ２として取得できる。
例えば、自律移動体１から物体までの距離がＲと算出され、レーザレンジセンサ１３の受光面の角度が自律移動体１の直進方向（図１）に対してα（反時計回りを正の角度とする）となっている場合、物体の自律移動体１に対する相対的な位置は、レーザレンジセンサ１３の中心を原点とし、自律移動体１の直進方向をｘ方向（水平方向）とした座標系において、（Ｒ＊ｃｏｓα，Ｒ＊ｓｉｎα）と算出できる。
ローカルマップ取得部１４２は、上記のようにして取得したローカルマップＭ２を記憶部１４１に記憶する。
【００３０】
なお、ローカルマップ取得部１４２は、レーザレンジセンサ１３にて取得された上記の角度αと、自律移動体１から物体までの距離Ｒとを、自律移動体１の直進方向をｘ方向（水平方向）とした直交座標系に変換しなくともよい。すなわち、移動環境ＭＥを表す座標系（移動座標系と呼ぶことにする）を直交座標系とするのではなく、例えば、移動環境ＭＥの中心点からの距離と、当該中心点を通る軸に対する角度とを座標値として有する極座標系としてもよい。
以下では、説明を簡単にするために、移動座標系として直交座標系を用いた場合について説明する。
【００３１】
制御部１４は、自己位置推定部１４３を有する。自己位置推定部１４３は、自律移動体１が移動環境ＭＥを移動中に、自律移動体１の移動環境ＭＥにおける位置（自己位置と呼ぶ）、及び／又は、所定の軸（例えば、移動座標系（Ｘ−Ｙ座標系）のＸ軸）に対して自律移動体１が向いている角度（姿勢と呼ぶ）を推定する。
自己位置推定部１４３は、ローカルマップ取得部１４２により得られたローカルマップＭ２と、記憶部１４１に記憶された環境地図Ｍ１とをマップマッチングすることにより、自律移動体１の自己位置及び／又は姿勢を推定する。
【００３２】
具体的には、自己位置推定部１４３は、まず、エンコーダ１２５ａ、１２５ｂから取得したモータ１２１ａ、１２１ｂ（車輪１２３ａ、１２３ｂ）の回転量に基づいて算出された移動環境ＭＥ上の自律移動体１の位置に対応する環境地図Ｍ１上の位置に、ローカルマップＭ２を配置する。
【００３３】
次に、自己位置推定部１４３は、当該位置において、ローカルマップＭ２を、車輪１２３ａ、１２３ｂの回転量に基づいて算出された姿勢（角度）だけ回転して、環境地図Ｍ１とローカルマップＭ２とのマップマッチングを行う。
具体的には、自己位置推定部１４３は、まず、車輪１２３ａ、１２３ｂの回転量に基づいて推定された位置及び／又は姿勢を中心とした所定の範囲内の環境地図Ｍ１上の複数の位置にローカルマップＭ２を配置し、当該複数の位置のそれぞれにおいて、所定の回転角度範囲内にてローカルマップＭ２を回転する。
【００３４】
その後、自己位置推定部１４３は、上記の複数の配置位置及び複数の回転角度のうち、ローカルマップＭ２が環境地図Ｍ１と最も一致（マッチング）する配置位置及び回転角度を、それぞれ、自己位置及び姿勢と推定する。このようなマップマッチングによる自己位置及び／姿勢の推定は、例えば、「尤度計算」により実行できる。
【００３５】
上記のように、環境地図Ｍ１とローカルマップＭ２とをマップマッチングする際に、ローカルマップＭ２の配置位置及び回転角度に幅を持たせることにより、車輪１２３ａ、１２３ｂの回転量に基づく自己位置及び／又は姿勢の推定誤差と、マップマッチングにおける自己位置及び／又は姿勢の推定誤差（主に、レーザレンジセンサ１３により取得されるローカルマップＭ２及び／又は環境地図Ｍ１に含まれる誤差に起因する）とを相殺して、正確に自己位置及び／姿勢を推定できる。
【００３６】
また、自己位置推定部１４３は、移動環境ＭＥにおける物体の存在位置（すなわち、自律移動体１が移動する環境）を表す環境地図Ｍ１を作成する。
例えば、自己位置推定部１４３は、自律移動体１がユーザの操作により移動中に推定された自己位置に、当該自己位置を推定する際に取得されたローカルマップＭ２を配置することにより、環境地図Ｍ１を作成する。
具体的には、自己位置推定部１４３は、例えば手動モードの実行中に、所定の時間間隔（例えば、制御部１４の制御周期）にて、自律移動体１の自己位置及び／又は姿勢を推定する。これにより、手動モードにて自律移動体１が移動開始位置から移動終了位置まで移動するまでの間に、複数の自己位置が推定され、当該複数の自己位置のそれぞれにおいて、対応するローカルマップＭ２が取得される。
【００３７】
自己位置推定部１４３は、移動座標系において、推定された複数の自己位置のそれぞれの座標に、対応するローカルマップＭ２を配置することにより、環境地図Ｍ１を作成できる。自己位置推定部１４３は、このようにして作成した環境地図Ｍ１を、記憶部１４１に記憶する。
【００３８】
制御部１４は、移動目標点決定部１４４を有する。移動目標点決定部１４４は、自律移動体１が自律モードにて自律的に移動する際の移動目標点を決定する。
移動目標点決定部１４４は、現在の自己位置から、ランダムな方向（目標移動方向と呼ぶことにする）に、ランダムな距離（目標移動距離と呼ぶことにする）だけ移動したときに自律移動体１が到達する到達位置のうち、所定の条件に合致するものを、現在の自己位置から次に到達すべき目標位置（すなわち、移動目標点）と設定することもできる。これにより、移動目標点決定部１４４は、自律移動体１を移動環境ＭＥにてランダムに移動させることもできる。もちろん、自律移動体１はユーザにより指定された移動目標点まで規律的に移動できる。
【００３９】
上記の移動目標点決定部１４４（又はその機能）を有することにより、制御部１４は、移動目標決定装置１００を構成する。移動目標点決定部１４４の構成及び機能については、後ほど詳しく説明する。
【００４０】
制御部１４は、移動制御部１４５を有する。移動制御部１４５は、モータ１２１ａ、１２１ｂを制御する。移動制御部１４５は、例えば、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出し、当該制御量に基づいた駆動電力をモータ１２１ａ、１２１ｂのそれぞれに出力するモータドライバである。移動制御部１４５は、エンコーダ１２５ａ、１２５ｂから入力したモータ１２１ａ、１２１ｂの単位時間あたりの回転量（回転速度）が、所望の回転速度となるように、モータ１２１ａ、１２１ｂの制御量を算出している（フィードバック制御）。
【００４１】
移動制御部１４５は、ユーザによる切替などにより、自律モード又は手動モードのいずれかを実行可能となっている。自律モードの実行時においては、移動制御部１４５は、例えば、移動目標点決定部１４４により決定された移動目標点と、自己位置推定部１４３において推定された自己位置及び／又は姿勢との差に基づいて、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、これらのモータに出力する。
これにより、移動制御部１４５は、自律モードの実行時でユーザにより移動目標が指定されない状況においては、移動目標点決定部１４４により決定されたランダムな移動目標点へと、自律的に移動できる。
【００４２】
一方、手動モードの実行時においては、移動制御部１４５は、例えば、無線又は有線にて自律移動体１と通信可能なコントローラ又はコンピュータシステム、又は、自律移動体１に設けられた操作ハンドル（図示せず）などの操作装置を用いたユーザの操作を受け付けて、当該ユーザの操作に基づいて、モータ１２１ａ、１２１ｂを制御する。これにより、自律移動体１は、ユーザの操作により移動可能となる。
【００４３】
制御部１４が上記の構成を有することにより、制御部１４は、手動モードの実行時においては、操作者の操作により自律移動体１を移動できる。一方、自律モードの実行時でユーザにより移動目標が指定されない状況においては、制御部１４は、自律移動体１を、ランダムな移動目標点へと自律的に移動できる。
【００４４】
（３）移動目標点決定部の構成
次に、移動目標点決定部１４４の構成について、図３を用いて説明する。図３は、移動目標点決定部の構成を示す図である。
移動目標点決定部１４４は、移動方向決定部１４４１を有する。移動方向決定部１４４１は、自律移動体１が現在の自己位置から移動する目標移動方向をランダムに決定する。具体的には、移動方向決定部１４４１は、ソフトウェア的又はハードウェア的に実現された乱数発生器を用いて、所定の値の範囲内の乱数（例えば、０°から３６０°までの範囲の乱数）を発生し、当該乱数を目標移動方向の候補（目標移動方向候補と呼ぶ）として生成する。
【００４５】
本実施形態において、目標移動方向候補及び目標移動方向は、移動座標系において、反時計回りの方向を正としてＸ軸とのなす角度として定義される。目標移動方向候補及び目標移動方向は、移動座標系又は極座標系において、適宜任意に定義できる。
【００４６】
移動方向決定部１４４１は、現在の自己位置から、目標移動方向候補にて示された方向に移動したときに到達する目標点設定可能領域Ａ１（移動目標点を設定できる範囲を示す領域）の境界線までの距離が、あらかじめ決められた下限距離よりも小さい場合には、現在の目標移動方向候補は不適切と判断し、新たな目標移動方向候補を決定し直す。
これにより、移動方向決定部１４４１は、移動環境ＭＥ又は設定された領域の角の位置、又は、移動環境ＭＥの袋小路となった位置などにおいて小さく移動し続けて、自律移動体１が、当該角又は袋小路から抜け出ることができなくなるような目標移動方向候補を算出することを回避できる。
【００４７】
移動目標点決定部１４４は、移動距離決定部１４４３を有する。移動距離決定部１４４３は、自律移動体１が自己位置から（目標移動方向に）移動したときに、目標点設定可能領域Ａ１内の位置に到達可能であり、かつ、上記の下限距離以上である距離を、目標移動距離候補としてランダムに決定する。
具体的には、移動距離決定部１４４３は、乱数を発生し、当該乱数を目標移動距離候補として生成する。その後、生成された目標移動距離候補のうち、下限距離以上であり、かつ、予め決められた上限距離以下であるものを、目標移動距離とする。
【００４８】
なお、目標移動距離は、下限距離以上、かつ、上限距離以下の間のランダムな距離であればよいので、移動距離決定部１４４３は、下限距離から上限距離までの範囲内の乱数を発生し、当該乱数を目標移動距離として生成してもよい。
【００４９】
移動目標点決定部１４４は、移動目標設定部１４４５を有する。移動目標設定部１４４５は、自己位置から上記の目標移動方向に目標移動距離だけ移動したときに、自律移動体１が到達する到達位置を、移動目標点として設定する。
本実施形態においては、移動目標点の候補が、上記の目標点設定可能領域Ａ１内に存在しても、自律移動体１が移動可能な領域として設定された移動可能領域Ａ２外に存在する場合、又は、移動目標点を設定できない領域として設定された目標点設定不能領域Ａ３内に存在する場合には、移動目標設定部１４４５は、移動方向決定部１４４１及び移動距離決定部１４４３のそれぞれに対して、再度、目標移動方向及び目標移動距離を決定するよう指令する。
【００５０】
これにより、移動目標設定部１４４５は、新たに決定された目標移動方向及び目標移動距離を用いて、上記の条件に当てはまらない適切な移動目標点を設定する。
【００５１】
上記の構成を有することにより、移動目標点決定部１４４は、ランダムな方向にランダムな距離にて自律移動体１を移動させる移動目標点を決定できる。
【００５２】
移動目標点決定部１４４は、領域設定部１４４７を有する。領域設定部１４４７は、上記の目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定する。
本実施形態において、領域設定部１４４７は、例えば、図４に示すようなユーザ・インターフェースＵＩを制御部１４のディスプレイなどに表示する。ユーザは、当該ユーザ・インターフェースＵＩを用いて、上記の３つの領域を設定できる。
図４は、領域を設定するためのユーザ・インターフェースの一例を示す図である。
【００５３】
具体的には、領域設定部１４４７は、表示部１４４７−１を有する。表示部１４４７−１は、環境地図Ｍ１の少なくとも一部を、例えば、ユーザ・インターフェースＵＩの地図表示インターフェースＤＩに表示する。
【００５４】
領域設定部１４４７は、描画部１４４７−３を有する。描画部１４４７−３は、環境地図Ｍ１の少なくとも一部が表示された地図表示インターフェースＤＩ上に、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を描画する。
描画部１４４７−３は、例えば、ユーザがカーソルＣＵ（例えば、マウスカーソル）を用いて指定した地図表示インターフェースＤＩ上の矩形、正方形、又は円形の領域（図５Ａの点線にて示した領域）に、選択した所定の形状の領域を描画する。
【００５５】
描画したい領域の形状は、例えば、形状選択インターフェースＲＩの複数のボタンのうち、当該描画したい形状が示されたボタンを、カーソルＣＵにて押下することにより選択できる。選択されている形状は、例えば、形状選択インターフェースＲＩ中の対応するボタンの色を他のボタンとは異ならせることにより、ユーザによって視覚的に認識できる。
【００５６】
例えば、図５Ａに示すように、描画したい領域の形状として円形が選択された場合には、描画部１４４７−３は、ユーザがカーソルＣＵを用いて指定した地図表示インターフェースＤＩ上の矩形又は正方形の領域の対角線の交点に中心を有し、当該矩形又は正方形の領域に内接する円が描画される。図５Ａは、ユーザ・インターフェースを用いて円形の領域を描画する様子の一例を示す図である。
なお、地図表示インターフェースＤＩ上にてユーザにより指定された領域の形状が、円形又は楕円形の場合には、描画部１４４７−３は、当該円形又は楕円形の領域をそのまま、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３として描画する。これにより、円形である目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定できる。
【００５７】
一方、描画したい形状として矩形（正方形）が選択された場合には、描画部１４４７−３は、例えば、図５Ｂに示すように、ユーザがカーソルＣＵを用いて指定した地図表示インターフェースＤＩ上の円形の領域に内接する矩形を描画する。図５Ｂは、ユーザ・インターフェースを用いて矩形の領域を描画する様子の一例を示す図である。
なお、地図表示インターフェースＤＩ上にてユーザにより指定された領域の形状が矩形の場合には、描画部１４４７−３は、当該矩形の領域をそのまま、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３として描画する。これにより、矩形である目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定できる。
【００５８】
その他、描画部１４４７−３は、例えば、ユーザが指定した地図表示インターフェースＤＩ上の矩形又は円形の領域に内接又は外接する、ユーザにより指定された所定の多角形（三角形、四角形（矩形）、五角形、六角形など）を表示部１４４７−１上に描画することにより、多角形を有する目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を描画できる。
【００５９】
さらに、変形例として、描画部１４４７−３は、例えば、ユーザが、制御部１４を構成するコンピュータシステムの入力装置（例えば、キーボード、タッチパネル、及び／又は、マウスなど）を用いて指定した地図表示インターフェースＤＩ上の複数の座標点を直線などにて結ぶことにより、任意の形状を有する目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定可能となっていてもよい。
【００６０】
上記の各領域を地図表示インターフェースＤＩ上に描画するときに、描画部１４４７−３は、当該描画された領域が、目標点設定可能領域Ａ１、移動可能領域Ａ２、又は、目標点設定不能領域Ａ３のいずれであるかを判定する。描画したい領域をどの領域として設定するかは、ユーザにより決定される。
具体的には、図４、図５Ａ、及び、図５Ｂに示すように、ユーザ・インターフェースＵＩは、領域種類設定インターフェースＳＩを有している。ユーザは、カーソルＣＵを領域種類設定インターフェースＳＩに配置された３つのボタンのいずれかに配置し、当該配置箇所にてボタンを押下することにより、所望の領域種類を選択できる。
【００６１】
描画部１４４７−３は、地図表示インターフェースＤＩ上に領域を描画する際に、領域種類設定インターフェースＳＩのいずれのボタンが押されているかを判定し、地図表示インターフェースＤＩに描画した領域の内部を、判定した領域種類に対応した色にて彩色する。これにより、ユーザは、描画した領域の彩色により、描画された領域が、目標点設定可能領域Ａ１、移動可能領域Ａ２、又は、目標点設定不能領域Ａ３のいずれであるかを、視覚的に確認できる。
また、領域種類設定インターフェースＳＩにて設定したい領域種類を選択後に領域を描画することにより、描画した各領域を、目標点設定可能領域Ａ１、移動可能領域Ａ２、又は、目標点設定不能領域Ａ３の何れかとして、環境地図Ｍ１及び他の領域からは独立して設定できる。
【００６２】
例えば、図５Ａ及び図５Ｂに示すように、ユーザにより描画された領域が目標点設定可能領域Ａ１であり、移動可能領域Ａ２が環境地図Ｍ１の通路部分（図５Ａ及び図５Ｂでは、環境地図Ｍ１の白色部分）である場合、目標点設定可能領域Ａ１は、移動可能領域Ａ２（環境地図Ｍ１）の形状に制約されることなく、移動可能領域Ａ２からは独立して設定されていることが分かる。
【００６３】
領域設定部１４４７は、領域作成部１４４７−５を有する。領域作成部１４４７−５は、地図表示インターフェースＤＩ上に描画された領域から、データ化（数値化）された目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を作成する。
【００６４】
上記の構成を有することにより、領域設定部１４４７は、地図表示インターフェースＤＩに表示された環境地図Ｍ１の少なくとも一部を視覚的に確認しながら、当該環境地図Ｍ１の少なくとも一部の所望の位置に、所望の目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定できる。
【００６５】
なお、上記のユーザ・インターフェースＵＩにおいては、目標移動距離の下限値（下限距離）及び／又は上限値（上限距離）を設定可能であってもよい。
例えば、図５Ｃに示すように、自律移動体１の仮の自己位置から仮の直線を引いて、当該直線上の２点を設定する。このうち、仮の自己位置から当該仮の自己位置に近い方の点までの距離を下限距離として設定し、仮の自己位置から当該仮の自己位置からより遠い方の点までの距離を上限距離として設定できる。
図５Ｃは、ユーザ・インターフェースを用いた下限距離及び上限距離の設定方法の一例を示す図である。
【００６６】
（４）自律移動体の動作
（４−１）全体的な動作
以下、自律移動体１の全体的な動作について図６を用いて説明する。図６は、自律移動体の全体的な動作を示すフローチャートである。
自律移動体１が動作を開始すると、制御部１４は、ユーザによる動作モードの選択が行われたか否かを判定する（ステップＳ１）。具体的には、例えば、上記の入力装置、又は、操作装置から動作モードの選択の指示信号を入力したとき、制御部１４は、ユーザにより動作モードの選択が行われたと判定する。
動作モードの選択の指示信号を入力しない場合（ステップＳ１において「Ｎｏ」の場合）、制御部１４は、当該信号が入力されるまで待機する。
【００６７】
ユーザにより動作モードの選択がなされると（ステップＳ１において「Ｙｅｓ」の場合）、制御部１４の移動制御部１４５は、選択された動作モードが手動モードであるか、自律モードであるかを判定する（ステップＳ２）。
選択された動作モードが手動モードであると判定された場合（ステップＳ２において「手動モード」の場合）、移動制御部１４５は、手動モードを実行する（ステップＳ３）。具体的には、移動制御部１４５は、ユーザによる操作を受信し、受信したユーザの操作量に基づいた制御量に応じた電力をモータ１２１ａ、１２１ｂに出力する。
【００６８】
手動モードにおいて、移動制御部１４５がユーザの操作に従ってモータ１２１ａ、１２１ｂを制御する間、必要に応じて、自己位置推定部１４３は、上記に説明したようにして、環境地図Ｍ１を作成し、記憶部１４１に記憶する。
【００６９】
一方、選択された動作モードが自律モードであると判定された場合（ステップＳ２において「自律モード」の場合）、移動制御部１４５は、自律モードを実行する（ステップＳ４）。
具体的には、まず、自己位置推定部１４３が、記憶部１４１に記憶されている環境地図Ｍ１と、自律モードにて自律移動体１を移動中に取得したローカルマップＭ２とのマップマッチングにより、自律モードにて移動中の自律移動体１の自己位置及び／又は姿勢を推定する。次に、移動目標点決定部１４４が移動目標点を決定する。
【００７０】
その後、移動制御部１４５が、自己位置推定部１４３にて推定された自己位置及び／又は姿勢と、移動目標点決定部１４４により決定された移動目標点の座標値と、を比較し、現在の自己位置及び／又は姿勢と、次に到達すべき移動目標点との差分に基づいて、モータ１２１ａ、１２１ｂの制御量を算出し、モータ１２１ａ、１２１ｂに当該制御量に応じた電力を出力する。
なお、自律モードを実行中の自律移動体１の動作については、後ほど詳しく説明する。
【００７１】
上記の手動モード又は自律モードの実行中に、例えば、ユーザが操作装置を用いて手動モード又は自律モードの実行を停止させない限り（ステップＳ５において「Ｎｏ」の場合）、自律移動体１は上記の動作を継続する。
【００７２】
上記のステップＳ１〜Ｓ５を実行することにより、移動制御部１４５は、自律モードの実行時に、移動目標点決定部１４４により決定されたランダムな移動目標点を通過するよう、移動部１２を制御できる。
一方、手動モードの実行時においては、移動制御部１４５がユーザによる操作を受け付けて移動部１２を制御しつつ、自己位置推定部１４３が、必要に応じて、移動環境ＭＥを表す環境地図Ｍ１を作成できる。
【００７３】
（４−２）自律モード実行時における自律移動体の動作
次に、自律モード（上記のステップＳ４）における自律移動体１の詳細動作について、図７を用いて詳細に説明する。図７は、自律モード実行時の自律移動体の動作を示すフローチャートである。
自律モードが開始されると、制御部１４は、移動目標点を設定可能な領域を定めるために、少なくとも、目標点設定可能領域Ａ１が記憶部１４１に記憶されているかを確認する（ステップＳ４０１）。
【００７４】
目標点設定可能領域Ａ１が記憶部１４１に記憶されていない場合（ステップＳ４０１において「Ｙｅｓ」の場合）、領域設定部１４４７は、ユーザ・インターフェースＵＩを制御部１４のディスプレイに表示して、ユーザに対して、目標点設定可能領域Ａ１を設定するように通知する。
当該通知を確認したユーザは、上記にて説明したようにして、目標点設定可能領域Ａ１を設定する。また、必要に応じて、ユーザは、上記にて説明したようにして、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を設定する（ステップＳ４０２）。
【００７５】
その他、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３が記憶部１４１に記憶されていても、新たな領域を設定可能とするために、領域設定部１４４７は、ディスプレイなどに、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を新たに設定するか否かを問い合わせるメッセージを表示してもよい。
この場合には、新たな領域を設定することをユーザが選択したとき（ステップＳ４０１において「Ｙｅｓ」の場合）に、領域設定部１４４７は、ユーザ・インターフェースＵＩを制御部１４のディスプレイに表示する。これにより、ユーザは、ユーザ・インターフェースＵＩを用いて、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を新たに設定できる（ステップＳ４０２）。
【００７６】
上記のステップＳ４０２を実行後、又は、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び／又は目標点設定不能領域Ａ３を新たに設定しないことを選択（ステップＳ４０１において「Ｎｏ」の場合）後、自律移動体１は自律移動を開始する。
【００７７】
以下、図８に示す環境地図Ｍ１において、ステップＳ４０２を実行するなどして、目標点設定可能領域Ａ１、移動可能領域Ａ２、及び、目標点設定不能領域Ａ３が、図８に示すように設定された場合を例にとって、自律移動体１の自律移動動作を説明する。
図８は、環境地図に設定された目標点設定可能領域、移動可能領域、及び、目標点設定不能領域の一例を示す図である。
【００７８】
自律移動を開始すると、まず、移動目標点決定部１４４が、到達位置を、現在の自己位置からの移動目標点の候補として算出する（ステップＳ４０３）。
移動目標点決定部１４４は、現在の自己位置からランダムに決定した方向に、ランダムに決定した距離だけ移動したときに自律移動体１が到達する位置を、到達位置として算出する。ステップＳ４０３における到達位置の算出方法は、後ほど詳しく説明する。
【００７９】
到達位置を算出後、移動目標設定部１４４５は、算出した到達位置が適切か否かを判定する。具体的には、移動目標設定部１４４５は、算出した到達位置が、目標点設定可能領域Ａ１内に存在し、かつ、移動可能領域Ａ２内に存在し、かつ、目標点設定不能領域Ａ３内に存在しない場合（すなわち、ステップＳ４０４〜Ｓ４０６が全て「Ｙｅｓ」の場合）、当該算出された到達位置は、移動目標点の候補として適切であると判定する。
【００８０】
一方、算出した到達位置が、図９Ａに示すように、目標点設定可能領域Ａ１内に存在しないか、移動可能領域Ａ２内に存在しないか、又は、目標点設定不能領域Ａ３外に存在していない場合（すなわち、ステップＳ４０４〜ステップＳ４０６のいずれかが「Ｎｏ」の場合）、当該到達位置は、移動目標点の候補として不適切と判定し、自律モードの実行プロセスは、ステップＳ４０３に戻る。すなわち、適切な到達位置が算出されるまで、上記のステップＳ４０３〜Ｓ４０６が繰り返し実行される。
図９Ａは、移動目標点の候補として不適切な到達位置の一例を示す図である。
【００８１】
移動目標点の候補として適切な到達位置を算出後、移動目標設定部１４４５は、当該到達位置に自律移動体１を配置したときに、自律移動体１が移動環境ＭＥに存在する障害物、及び／又は、目標点設定不能領域Ａ３と干渉するか否かを判定する（ステップＳ４０７）。
移動環境ＭＥに存在する障害物は、例えば、移動環境ＭＥに存在する壁及び柱などの建造構造物、及び／又は、移動環境ＭＥに配置された棚などである。
移動目標設定部１４４５は、環境地図Ｍ１（移動座標系）に自律移動体１の大きさに相当する物体を配置したときに、当該物体が環境地図Ｍ１に存在する障害物又は目標点設定不能領域Ａ３と干渉するか否かを、例えば、「当たり判定」により判定する。
【００８２】
例えば、図９Ｂに示すように、候補として適切とされた到達位置に自律移動体１の大きさに相当する領域（図９Ｂにおいては、点線の円にて示した領域）を配置したときに、当該領域と、障害物及び／又は目標点設定不能領域Ａ３とが干渉すると判定された場合（ステップＳ４０７において「Ｙｅｓ」の場合）、自律モードの実行プロセスは、ステップＳ４０３に戻る。
すなわち、障害物及び／又は目標点設定不能領域Ａ３と干渉する到達位置に自律移動体１が到達すると、自律移動体１が、障害物と干渉（衝突）するか、又は、目標点設定不能領域Ａ３とされている領域に入るため、当該到達位置は移動目標点としては不適切であると判定し、到達位置を算出し直す。
図９Ｂは、移動目標点としては不適切な到達位置の一例を示す図である。
【００８３】
一方、候補として適切とされた到達位置に自律移動体１を配置しても障害物と干渉しないか、又は、目標点設定不能領域Ａ３とされている領域に入らないと判定された場合（ステップＳ４０７において「Ｎｏ」の場合）、移動目標設定部１４４５は、当該到達位置を移動目標点として設定し（ステップＳ４０８）、当該移動目標点を移動制御部１４５へ出力する。
【００８４】
上記のステップを実行することにより、ランダムに算出された到達位置のうち、目標点設定可能領域Ａ１内、かつ、移動可能領域Ａ２内であり、かつ、目標点設定不能領域Ａ３外である適切な位置に存在し、自律移動体１を移動させたときに障害物と干渉せず、かつ、目標点設定不能領域Ａ３とされている領域に入らない最適な到達位置を、移動目標点として決定できる。
【００８５】
上記のようにして算出された移動目標点を受信した移動制御部１４５は、自律移動体１を当該移動目標点へ移動させるよう、すなわち、自己位置推定部１４３から入力した自己位置（及び／又は姿勢）が移動目標点と一致するよう、移動部１２を制御する（ステップＳ４０９）。
自律移動体１が移動目標点に到達した時（ステップＳ４０９において「Ｙｅｓ」の場合）、制御部１４は、ユーザなどにより、自律移動体１（または自律モード）の停止が指令されたか否かを判定する（ステップＳ４１０）。
【００８６】
自律移動体１の停止が指令されない限り（ステップＳ４１０において「Ｎｏ」である限り）、自律モードの実行プロセスは、ステップＳ４０３に戻る。すなわち、自律移動体１が移動目標点に到達した時、移動制御部１４５は、自律移動体１又は自律モードの停止が指令されない限り、移動目標点決定部１４４に対して、新たな移動目標点を算出するよう指令する。
【００８７】
上記のステップＳ４０３〜Ｓ４０９を、自律移動体１又は自律モードの停止が指令されるまで繰り返し実行することにより、自律移動体１は、ランダムに決定された複数の移動目標点に到達して、移動環境ＭＥを継続的にランダムに移動できる。
【００８８】
（４−３）到達位置の算出方法
次に、ランダムな移動目標点の候補としての到達位置の算出方法（上記のステップＳ４０３）について、図１０を用いて説明する。図１０は、到達位置の算出方法を示すフローチャートである。
到達位置の算出が開始されると、移動目標点決定部１４４は、目標点設定可能領域Ａ１に矩形の境界線ＲＢを設定する（ステップＳ４０３１）。具体的には、図１１に示すように、目標点設定可能領域Ａ１の境界よりも、自律移動体１の半径分（自律移動体１が円形であると仮定した場合の半径分）内側に、矩形の境界線ＲＢを設定する。
これにより、自律移動体１が目標点設定可能領域Ａ１外へと到達する到達位置を算出してしまう確率を低減できる。図１１は、設定された矩形の境界線の一例を示す図である。
【００８９】
矩形の境界線ＲＢを設定後、移動方向決定部１４４１が、現在の自己位置からの移動方向の候補である目標移動方向候補を、乱数の発生により生成する（ステップＳ４０３２）。
その後、移動方向決定部１４４１は、自律移動体１の現在の自己位置を自己位置推定部１４３から取得し、図１２に示すように、移動座標系において、当該自己位置（図１２の環境地図Ｍ１においては、三角形にて示した位置）から、乱数の発生により生成した目標移動方向候補の角度を傾きとして有する直線（図１２においては、一点鎖線にて示した直線）を引く。この直線を表す式は、当該直線が自己位置を通り、当該直線の傾きが目標移動方向候補であるとの２つの条件から具体的に算出できる。
【００９０】
目標移動方向候補の傾きを有する直線を算出後、当該直線と、ステップＳ４０３１にて設定した矩形の境界線ＲＢとの交点を算出する（ステップＳ４０３３）。
矩形の境界線ＲＢと当該直線との交点は、例えば、矩形の境界線ＲＢを表す式（矩形の境界線ＲＢは、移動座標系における４つの直線の式で表すことができる）と、目標移動方向候補の傾きを有する直線の式との交点を算出することにより、具体的な座標値として算出できる。
図１２は、自己位置を通り目標移動方向候補を傾きとして有する直線と、当該直線と矩形の境界線との交点の一例を示す図である。
【００９１】
次に、移動方向決定部１４４１は、上記のようにして算出した交点が、所定の条件に照らして適切なものであるか否かを判定する。具体的には、自律移動体１が現在の自己位置から交点へ向けて移動した場合に、領域の角、又は、移動環境ＭＥに存在する袋小路において細かく動いて、当該角又は袋小路から抜け出ることができなくなる可能性があるか否かを判定する。
【００９２】
ランダムな方向のランダムな移動距離を有する移動経路を生成する場合に、自律移動体１が領域の角又は移動環境ＭＥの袋小路から抜け出ることができない場合は、例えば、図１３に示すように、領域の角又は袋小路において、自律移動体１に対して短い距離の移動を許可している場合に起こりやすい。
図１３は、自律移動体が領域の角から抜け出ることができなくなった場合の一例を示す図である。
【００９３】
したがって、本実施形態においては、領域の角又は袋小路から抜け出ることができなくなるか否かの判定を、現在の自己位置と算出した交点までの距離が、予め決められた下限距離以上であるか否かにより判定する（ステップＳ４０３４）。
【００９４】
現在の自己位置から上記の交点までの距離が、下限距離よりも小さい場合（ステップＳ４０３４において「Ｎｏ」の場合）、算出した目標移動方向候補に移動すると、領域の角又は袋小路から抜け出ることができなくなる可能性があると判定し、到達位置の算出プロセスは、ステップＳ４０３２に戻る。
すなわち、移動方向決定部１４４１は、再度乱数を発生して、新たな目標移動方向候補を生成する。
【００９５】
一方、現在の自己位置から目標移動方向候補へ向かう交点までの距離が、下限距離以上である場合（ステップＳ４０３４において「Ｙｅｓ」の場合）、当該目標移動方向候補に移動すれば角又は袋小路に入ってしまう可能性が低いと判定し、移動方向決定部１４４１は、当該交点の方向への目標移動方向候補を、目標移動方向と決定する（ステップＳ４０３５）。
【００９６】
上記のステップＳ４０３１〜Ｓ４０３５を実行することにより、領域の角、又は、移動環境ＭＥの袋小路などの狭い領域において自律移動体１が細かく移動して、当該狭い領域から抜け出ることができなくなる確率を低減できる。
また、移動方向決定部１４４１が、自身が発生した乱数を目標移動方向と決定することにより、ランダム（無秩序）な自律移動体１の移動方向を生成できる。
【００９７】
目標移動方向を決定後、移動距離決定部１４４３が、現在の自己位置から決定した目標移動方向に移動する目標移動距離を決定する。目標移動距離も、目標移動方向と同様に、所定の条件を満たしたランダムな距離として算出される。
具体的には、移動距離決定部１４４３が、乱数を発生し、当該乱数を目標移動距離の候補である目標移動距離候補として生成する（ステップＳ４０３６）。
次に、移動距離決定部１４４３は、当該目標移動距離候補が、上記の下限距離以上であり、かつ、あらかじめ決められた上限距離以下であるか否かを判定する（ステップＳ４０３７）。
【００９８】
なお、ステップＳ４０３３において算出された交点と現在の自己位置との距離が上限距離よりも小さい場合には、移動距離決定部１４４３は、当該目標移動距離候補が、下限距離以上であり、かつ、当該交点と現在の自己位置との間の距離以下であるか否かを判定する。
これにより、到達位置が目標点設定可能領域Ａ１外に設定される確率を低減できる。
【００９９】
目標移動距離候補が、下限距離よりも小さいか、又は、上限距離（又は、傾きが目標移動方向である直線と矩形の境界線ＲＢとの交点と現在の自己位置との間の距離）よりも大きい場合（ステップＳ４０３７において「Ｎｏ」の場合）、到達位置の算出プロセスは、ステップＳ４０３６に戻る。すなわち、移動距離決定部１４４３は、乱数を発生し、新たな目標移動距離候補を生成する。
【０１００】
一方、目標移動距離候補が、下限距離以上であり、かつ、上限距離（又は、傾きが目標移動方向である直線と矩形の境界線ＲＢとの交点と現在の自己位置との間の距離）以下である場合（ステップＳ４０３７において「Ｙｅｓ」の場合）、移動距離決定部１４４３は、当該目標移動距離候補を、目標移動距離と決定する（ステップＳ４０３８）。
上記のステップＳ４０３６〜Ｓ４０３８を実行することにより、移動距離決定部１４４３は、下限距離以上、かつ、上限距離以下（かつ、到達位置を目標点設定可能領域Ａ１内とする）であるランダムな目標移動距離を算出できる。
【０１０１】
目標移動方向及び目標移動距離を決定後、移動目標設定部１４４５が、決定した目標移動方向及び目標移動距離を用いて、到達位置を算出する（ステップＳ４０３９）。
具体的には、例えば、到達位置が目標移動方向の傾きを有する直線上にあること、及び、到達位置と現在の自己位置との距離が目標移動距離であること、の２つの条件を表す式からなる連立方程式を解くことにより、移動座標系における到達位置の座標値を具体的に算出できる。
【０１０２】
上記のステップＳ４０３１〜Ｓ４０３９を実行することにより、自己位置から目標移動方向に目標移動距離だけ移動したときに自律移動体１が到達する到達位置を、当該自己位置からランダムな方向のランダムな距離にある位置として算出できる。
【０１０３】
（５）他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
（Ａ）移動目標点の決定方法についての他の実施形態（その１）
移動目標点は、目標点設定可能領域Ａ１及び移動可能領域Ａ２内にあり、かつ、目標点設定不能領域Ａ３外にある点（座標値）であればよいので、移動目標点の決定方法は、到達位置を算出後に当該位置が所定の領域内にあるか否かを判定することに限られない。
【０１０４】
例えば、移動座標系において、目標点設定可能領域Ａ１及び移動可能領域Ａ２内にあり、かつ、目標点設定不能領域Ａ３外にある領域を予め決めておいた後に、当該領域内に存在する点を移動目標点として決定してもよい。
【０１０５】
具体的には、まず、目標点設定可能領域Ａ１と移動可能領域Ａ２との重複領域を、移動目標点を設定可能な領域（重複領域）として設定する。その後、上記の第１実施形態において説明したのと同様にして、到達位置が重複領域内に存在するとの条件を満たす目標移動方向及び目標移動距離を算出し、現在の自己位置から当該目標移動方向に目標移動距離だけ移動した位置を、移動目標点とする。
【０１０６】
なお、図１４に示すように、重複領域内に目標点設定不能領域Ａ３が存在し、現在の自己位置を通り傾きが目標移動方向である直線が当該目標点設定不能領域Ａ３を通過する場合には、下限距離以上、かつ、当該直線と目標点設定不能領域Ａ３との最初（より近傍）の交点から現在の自己位置までの距離以下の範囲内、又は、当該直線と目標点設定不能領域Ａ３との次の（自己位置からはより遠い）交点から現在の自己位置までの距離以上、かつ、上限距離以下の距離のいずれかを、目標移動距離として、現在の自己位置から目標移動方向に目標移動距離だけ移動した位置を、移動目標点として決定する。
【０１０７】
（Ｂ）移動目標点の決定方法についての他の実施形態（その２）
現在の自己位置において、複数の移動目標点を決定してもよい。
例えば、自律移動体１の自律モードにおける移動開始位置から、上記のステップＳ４０１〜Ｓ４１０を繰り返し実行して複数の移動目標点を算出後に、当該複数の移動目標点のそれぞれを通過するよう、自律移動体１を自律的に移動させてもよい。
【０１０８】
その他、例えば、ある１つの自己位置において所定の個数の移動目標点を決定し、当該所定の個数の移動目標点のうち最後の移動目標点に到達したら、再度、所定の個数（この場合の個数は、前回の移動目標点の決定個数と同じであってもよいし、異なっていてもよい）の移動目標点を決定してもよい。
【０１０９】
このように複数の移動目標点を一度に算出することにより、例えば、移動目標点の決定のために自律移動体１を現在の自己位置に停止させることなく、自律移動体１をスムーズに自律移動させることができる。
【０１１０】
（Ｃ）移動目標点の決定方法についての他の実施形態（その３）
現在の自己位置が目標点設定可能領域Ａ１の外に存在する場合に、ランダムな移動経路の移動を再開させるために、自律移動体１を目標点設定可能領域Ａ１内へと戻すような移動をさせることもできる。
当該移動が可能となることにより、例えば、自律移動体１は、バッテリーの充電のために目標点設定可能領域Ａ１外の充電ステーションへと移動し、バッテリーの充電後、目標点設定可能領域Ａ１内に戻りランダムな移動経路を再開することができる。
【０１１１】
（Ｄ）目標点設定可能領域についての他の実施形態
上記の第１実施形態においては、環境地図Ｍ１（移動環境ＭＥ）に、１つの矩形（又は円形）の目標点設定可能領域Ａ１が設定されていた。しかし、目標点設定可能領域Ａ１の形状や設定数は、上記に限られない。
例えば、図１５Ａに示すように、矩形が所定の角度だけ傾いた目標点設定可能領域Ａ１を設定することもできる。また、図１５Ｂに示すように、移動可能領域Ａ２内の離れた箇所に個別に目標点設定可能領域Ａ１を設定することもできる。
図１５Ａ及び図１５Ｂは、目標点設定可能領域の他の実施形態を示す図である。
【０１１２】
（Ｅ）移動可能領域についての他の実施形態
上記の第１実施形態においては、環境地図Ｍ１の通路部分の全てが移動可能領域Ａ２として設定されていた。しかし、環境地図Ｍ１の通路部分のうち、例えば、棚などの障害物が高頻度に配置されるなどの理由により、所定の領域へと自律移動体１を移動可能としたくない場合には、通路部分の当該所定の領域以外を移動可能領域Ａ２として設定してもよい。これにより、環境地図Ｍ１の通路部分の一部を自律移動体１が移動可能とすることができる。
【０１１３】
（Ｆ）環境地図の他の実施形態
上記の第１実施形態において、環境地図Ｍ１は、自律移動体１を手動モードにて移動させたときに取得された情報（ローカルマップＭ２）に基づいて作成されていた。しかし、これに限られず、環境地図Ｍ１を、ＣＡＤ及び／又はドローイングソフトなどを用いて作成し、必要に応じてデータ変換して自律移動体１において用いてもよい。これにより、環境地図Ｍ１を生成するために自律移動体１を移動させる必要がなくなる。
【０１１４】
（Ｇ）自律移動体の移動部についての他の実施形態
上記の第１実施形態において、自律移動体１が備える移動部１２は、差動二輪型の移動部であった。しかし、自律移動体１が備える移動部１２は、差動二輪型のものに限られず、全方向移動が可能なオムニホイールなどの、差動二輪型とは異なる構造を有するものとしてもよい。
【産業上の利用可能性】
【０１１５】
本発明は、自律的に移動可能な移動体の、所定の移動環境における移動目標を決定する移動目標決定装置、及び、移動目標決定方法に広く適用できる。
【符号の説明】
【０１１６】
１     自律移動体
１１   本体
１２   移動部
１２１ａ、１２１ｂ   モータ
１２３ａ、１２３ｂ   車輪
１２５ａ、１２５ｂ   エンコーダ
１３   レーザレンジセンサ
１３１ 第１レーザレンジセンサ
１３３ 第２レーザレンジセンサ
１４   制御部
１００ 移動目標決定装置
１４１ 記憶部
１４２ ローカルマップ取得部
１４３ 自己位置推定部
１４４ 移動目標点決定部
１４４１      移動方向決定部
１４４３      移動距離決定部
１４４５      移動目標設定部
１４５ 移動制御部
１４４７      領域設定部
１４４７−１  表示部
１４４７−３  描画部
１４４７−５  領域作成部
１５   補助輪部
１５ａ、１５ｂ              補助車輪
Ａ１   目標点設定可能領域
Ａ２   移動可能領域
Ａ３   目標点設定不能領域
Ｍ１   環境地図
ＵＩ   ユーザ・インターフェース
【図１】
0006801243.tif 000002
【図２】
0006801243.tif 000003
【図３】
0006801243.tif 000004
【図４】
0006801243.tif 000005
【図５Ａ】
0006801243.tif 000006
【図５Ｂ】
0006801243.tif 000007
【図５Ｃ】
0006801243.tif 000008
【図６】
0006801243.tif 000009
【図７】
0006801243.tif 000010
【図８】
0006801243.tif 000011
【図９Ａ】
0006801243.tif 000012
【図９Ｂ】
0006801243.tif 000013
【図１０】
0006801243.tif 000014
【図１１】
0006801243.tif 000015
【図１２】
0006801243.tif 000016
【図１３】
0006801243.tif 000017
【図１４】
0006801243.tif 000018
【図１５Ａ】
0006801243.tif 000019
【図１５Ｂ】
0006801243.tif 000020