(57)【要約】【課題】無駄な回避行動を行うことなく、教示された走行経路を忠実に走行するように自律移動体を制御する。【解決手段】移動部１と検出部３とを備え、予定走行経路を再現するように移動する自律移動体１００の移動制御装置２は、演算部２４１と、判断部２４３と、移動制御部２４５と、を備える。演算部２４１は、自律移動体１００の現在位置と、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報Ｔｎと、自律移動体１００を内包した所定の形状を有する自律移動体領域Ａと、に基づいて、予想走行軌跡Ｔを演算する。判断部２４３は、検出部３が検出した障害物Ｓと予想走行軌跡Ｔとが互いに干渉するか否かを判断する。移動制御部２４５は、判断部２４３において障害物Ｓと予想走行軌跡Ｔとが干渉しないと判断された場合、演算部２４１により演算された予想走行軌跡Ｔを再現するように移動部１を制御する移動指令を作成する。【選択図】図９
2014219799.tif 000002
【特許請求の範囲】
【請求項１】
移動部と、障害物を検出する検出部とを備え、予め作成した予定走行経路を再現するように移動する自律移動体の移動制御装置であって、
前記自律移動体の現在位置と、前記現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、前記自律移動体を内包した所定の形状を有する自律移動体領域と、に基づいて、前記現在位置から前記将来位置までの予想走行軌跡を演算する演算部と、
前記検出部が検出した前記障害物と前記予想走行軌跡とが互いに干渉するか否かを判断する、判断部と、
前記判断部において前記障害物と前記予想走行軌跡とが干渉しないと判断された場合、前記演算部により演算された前記予想走行軌跡を再現するように前記移動部を制御する移動指令を作成する移動制御部と、
を備えた自律移動体の移動制御装置。
【請求項２】
前記自律移動体領域の、前記自律移動体の移動平面における形状は異方性を有し、
前記走行経路情報は、前記自律移動体の前記走行経路における位置情報と、前記走行経路上における前記自律移動体の姿勢情報とを含む、
請求項１に記載の自律移動体の移動制御装置。
【請求項３】
前記自律移動体領域の前記移動平面における形状は楕円である、請求項２に記載の自律移動体の移動制御装置。
【請求項４】
前記走行経路情報は、前記自律移動体の前記走行経路上における時間情報をさらに含む、請求項２又は３に記載の自律移動体の移動制御装置。
【請求項５】
前記演算部は、
前記走行経路情報の前記位置情報として、前記走行経路上に複数のベース点を生成するベース点生成部と、
前記走行経路情報の前記姿勢情報として、前記自律移動体領域を、前記移動平面の法線軸周りに回転して回転自律移動体領域を生成する、回転自律移動体領域生成部と、
前記ベース点生成部にて生成された前記ベース点のそれぞれに、前記回転自律移動体領域生成部にて生成された前記回転自律移動体領域を配置することで、前記予想走行軌跡を生成する予想走行軌跡生成部と、
を備える請求項２〜４のいずれかに記載の自律移動体の移動制御装置。
【請求項６】
前記予定走行経路は、複数の走行目標点により構成されており、
前記ベース点生成部は、
前記走行目標点のうち、前記現在位置から、前記現在位置を中心とする第１半径を有する第１の円の外側に存在する前記走行目標点のうち、前記現在位置に最も近く、かつ、前記現在位置よりも進行方向前方に存在する第１走行目標点までの前記走行目標点である前方走行目標点を抽出する目標点抽出部と、
前記現在位置を中心とする第２半径を有する第２の円の外側に存在する前記前方走行目標点のうち、前記現在位置から最短の距離にある第２走行目標点を抽出する目標点選択部と、
前記現在位置と前記第２走行目標点とを結ぶ線と、前記第２の円の円周との交点である仮想走行目標点を算出する算出部と、
前記現在位置と、前記仮想走行目標点と、前記第２走行目標点と、前記第２走行目標点から前記第１走行目標点までの間の前記前方走行目標点とを、前記現在位置に近い順に結んで生成される前記走行経路上に、前記ベース点を所定の間隔にて配置するベース点配置部と、
を備える、請求項５に記載の自律移動体の移動制御装置。
【請求項７】
前記移動制御部は、前記判断部において前記障害物と前記予想走行軌跡とが干渉すると判断された場合、干渉する位置が前記現在位置から近い距離にあれば、前記自律移動体を停止し、前記現在位置から遠い距離にあれば、前記自律移動体を減速するように、前記移動部を制御する、請求項１〜６のいずれかに記載の自律移動体の移動制御装置。
【請求項８】
前記移動制御部は、前記判断部において前記障害物と前記予想走行軌跡とが干渉すると判断された場合、前記自律移動体を停止するように前記移動部を制御する、請求項１〜６のいずれかに記載の自律移動体の移動制御装置。
【請求項９】
移動部と、
障害物を検出する検出部と、
現在位置と、前記現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、所定の形状を有する自律移動体領域とに基づいて、前記現在位置から前記将来位置までの予想走行軌跡を演算する演算部と、
前記検出部が検出した障害物と前記予想走行軌跡とが干渉するか否かを判断する、判断部と、
前記判断部において前記障害物と前記予想走行軌跡とが干渉しないと判断された場合、前記演算部により演算された前記予想走行軌跡を再現するように前記移動部を制御する移動指令を作成する移動制御部と、
を備えた自律移動体。
【請求項１０】
移動部と、障害物を検出する検出部とを備え、予め作成した予定走行経路を再現するように移動する自律移動体の制御方法であって、
前記自律移動体の現在位置と、前記現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、前記自律移動体を内包した所定の形状を有する自律移動体領域と、に基づいて、前記現在位置から前記将来位置までの予想走行軌跡を演算するステップと、
前記検出部が検出した前記障害物と前記予想走行軌跡とが互いに干渉するか否かを判断するステップと、
前記障害物と前記予想走行軌跡とが干渉しないと判断された場合、演算された前記予想走行軌跡を再現するように前記移動部を制御するステップと、
を含む、自律移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサにより障害物を検出しながら自律走行する自律移動体、自律移動体の移動制御装置、及び自律移動体の制御方法に関する。
【背景技術】
【０００２】
従来、センサにより障害物を検出しながら自律走行する自律移動体が知られている。例えば、特許文献１には、自律移動体を円モデルで近似せず、長軸と短軸とを備えた異方性のある異方性モデルを利用して、自律移動体の姿勢角を変化させながら併進して障害物を回避する自律移動体が開示されている。
特許文献１の自律移動体は、自律移動体の並進に関するポテンシャルと、回転に関するポテンシャルとを用いて、障害物を回避する。
【０００３】
特許文献１における障害物を回避するために用いられるポテンシャル法は、目的地に対する引力ポテンシャルと、回避すべき障害物に対する斥力ポテンシャルとを生成し、これらのポテンシャルを重ね合わせた力場の勾配により制御量を発生させる方法である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１０８１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１のポテンシャル法を用いた障害物の回避方法においては、自律移動体が障害物に近づくと大きな斥力ポテンシャルが働く。このため、本来は回避行動をすることなく障害物を回避可能な場合でも、自律移動体は障害物を回避するような動作を行ってしまう。自律移動体がこのような無駄な回避行動を実行した場合、自律移動体が、ユーザにより教示された走行経路を忠実に走行できない場合がある。
【０００６】
本発明の課題は、無駄な障害物の回避行動を行うことなく、ユーザにより教示された走行経路（予定走行経路）を忠実に走行するように自律移動体を制御することにある。
【課題を解決するための手段】
【０００７】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律移動体の移動制御装置は、移動部と、障害物を検出する検出部とを備え、予め作成した予定走行経路を再現するように移動する自律移動体の移動制御装置である。
自律移動体の移動制御装置は、演算部と、判断部と、移動制御部と、を備える。演算部は、自律移動体の現在位置と、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、自律移動体を内包した所定の形状を有する自律移動体領域と、に基づいて、現在位置から将来位置までの予想走行軌跡を演算する。判断部は、検出部が検出した障害物と予想走行軌跡とが互いに干渉するか否かを判断する。移動制御部は、判断部において障害物と予想走行軌跡とが干渉しないと判断された場合、演算部により演算された予想走行軌跡を再現するように移動部を制御する移動指令を作成する。
【０００８】
この移動制御装置では、最初に、演算部が、走行経路情報と自律移動体領域とに基づいて、予想走行軌跡を作成する。次に、判断部が、自律移動体の検出部が検出した障害物と予想走行軌跡とが互いに干渉するか否かを判断する。そして、移動制御部が、判断部において障害物と予想走行軌跡とが干渉しないと判断されていれば、予想走行軌跡を再現するように、自律移動体の移動部を制御する移動指令を作成する。
【０００９】
この移動制御装置では、自律移動体と障害物とが衝突するかどうかの判断が、予想走行軌跡と障害物とが互いに干渉するか否かの判断に基づいている。これにより、自律移動体が障害物に対して回避行動を取るかどうかを、より高い確度で判断できる。その結果、自律移動体は、障害物に対して無駄な回避行動を行うことなく、ユーザにより教示された予定走行経路をより忠実に走行できる。
【００１０】
自律移動体領域の、自律移動体の移動平面における形状は異方性を有していてもよい。また、この場合、走行経路情報は、自律移動体の走行経路における位置情報と、走行経路上における自律移動体の姿勢情報とを含んでいてもよい。
これにより、演算部は、自律移動体の形状や姿勢を考慮してより正確な予想走行軌跡を作成できる。その結果、判断部は、障害物と自律移動体とが互いに干渉するかどうかをより確実に判断できる。
【００１１】
自律移動体領域の移動平面における形状は楕円であってもよい。これにより、判断部は、より少ない演算により障害物と自律移動体とが互いに干渉するかどうかを判断できる。
【００１２】
走行経路情報は、自律移動体の走行経路上における時間情報をさらに含んでいてもよい。これにより、移動制御部は、より単純な演算によりに移動指令を作成できる。また、走行経路情報を離散的な情報（配列）として表現できるので、走行経路情報の構造を単純化できる。
【００１３】
演算部は、ベース点生成部と、回転自律移動体領域生成部と、予想走行軌跡生成部と、を備えていてもよい。ベース点生成部は、走行経路情報の位置情報として、走行経路上に複数のベース点を生成する。回転自律移動体領域生成部は、走行経路情報の姿勢情報に基づいて、自律移動体領域を移動平面の法線軸周りに回転することで回転自律移動体領域を生成する。予想走行軌跡生成部は、ベース点生成部にて生成されたベース点のそれぞれに、回転自律移動体領域生成部にて生成された回転自律移動体領域を配置して、予想走行軌跡を生成する。これにより、演算部は、より単純な演算により、予想走行軌跡を作成できる。
【００１４】
予定走行経路は、複数の走行目標点により構成されていてもよい。この場合、ベース点生成部は、目標点抽出部と、目標点選択部と、算出部と、ベース点配置部と、を備えていてもよい。目標点抽出部は、走行目標点のうち、現在位置から、現在位置を中心とする所定の第１半径を有する第１の円の外側に存在する走行目標点のうち、現在位置に最も近く、かつ、現在位置よりも進行方向前方に存在する第１走行目標点までの走行目標点である前方走行目標点を抽出する。目標点選択部は、現在位置を中心とする所定の第２半径を有する第２の円の外側に存在する前方走行目標点のうち、現在位置から最短の距離にある第２走行目標点を抽出する。算出部は、現在位置と第２走行目標点とを結ぶ線と、第２の円の円周との交点である仮想走行目標点を算出する。ベース点配置部は、現在位置と、仮想走行目標点と、第２走行目標点と、第２走行目標点から第１走行目標点までの間の前方走行目標点とを、現在位置に近い順に結んで生成される走行経路上に、ベース点を所定の間隔にて配置する。
これにより、自律移動体が予定走行経路から多少ずれた位置にあっても、自律移動体は、この位置のずれを補正して予定走行経路を忠実に走行できる。
【００１５】
移動制御部は、判断部において障害物と予想走行軌跡とが干渉すると判断された場合、干渉する位置が現在位置から近い距離にあれば、自律移動体を停止してもよい。また、現在位置から遠い距離にあれば、自律移動体を減速するように、移動部を制御してもよい。これにより、自律移動体は、障害物に衝突することなく、より忠実に走行経路を走行できる。
【００１６】
移動制御部は、判断部において障害物と予想走行軌跡とが干渉すると判断された場合、自律移動体を停止するように移動部を制御してもよい。これにより、自律移動体は、障害物に衝突することがなくなる。
【００１７】
本発明の他の見地に係る自律移動体は、移動部と、検出部と、演算部と、判断部と、移動制御部と、を備える。移動部は、自律移動体を移動させる。検出部は、障害物を検出する。演算部は、現在位置と、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、所定の形状を有する自律移動体領域とに基づいて、現在位置から将来位置までの予想走行軌跡を演算する。判断部は、検出部が検出した障害物と予想走行軌跡とが干渉するか否かを判断する。移動制御部は、判断部において障害物と予想走行軌跡とが干渉しないと判断された場合、演算部により演算された予想走行軌跡を再現するように移動部を制御する移動指令を作成する。
【００１８】
この自律移動体では、自律移動体と障害物とが衝突するかどうかの判断が、予想走行軌跡と障害物とが互いに干渉するか否かの判断に基づいている。これにより、自律移動体が障害物に対して回避行動を取るかどうかを、より高い確度で判断できる。その結果、自律移動体は、障害物に対する無駄な回避行動を行うことなく、予定走行経路をより忠実に走行できる。
【００１９】
本発明のさらに他の見地に係る自律移動体の制御方法は、移動部と、障害物を検出する検出部とを備え、予め作成した予定走行経路を再現するように移動する自律移動体の制御方法である。
自律移動体の制御方法は以下のステップを含む。
◎自律移動体の現在位置と、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報と、自律移動体を内包した所定の形状を有する自律移動体領域と、に基づいて、現在位置から将来位置までの予想走行軌跡を演算するステップ。
◎検出部が検出した障害物と予想走行軌跡とが干渉するか否かを判断するステップ。
◎障害物と予想走行軌跡とが干渉しないと判断された場合、演算された予想走行軌跡を再現するように移動部を制御するステップ。
【００２０】
この自律移動体の制御方法では、自律移動体と障害物とが衝突するかどうかの判断が、予想走行軌跡と障害物とが互いに干渉するか否かの判断に基づいている。これにより、自律移動体が障害物に対して回避行動を取るかどうかを、より高い確度で判断できる。その結果、自律移動体は、障害物に対する無駄な回避行動を行うことなく、予定走行経路を忠実に走行できる。
【発明の効果】
【００２１】
無駄な障害物の回避行動を行うことなく、予定走行経路を忠実に走行できる。
【図面の簡単な説明】
【００２２】
【図１】自律移動体の構成を示す図
【図２】操作部の構成を示す図
【図３】移動制御装置の全体構成を示す図
【図４】走行制御部の構成を示す図
【図５】楕円形状の自律移動体領域を示す図
【図６】回転自律移動体領域を示す図
【図７】演算部の構成を示す図
【図８】第１実施形態に係るベース点生成部の構成を示す図
【図９】自律移動体の自律走行動作を示すフローチャート
【図１０】予想走行軌跡の生成方法を示すフローチャート
【図１１Ａ】予想走行軌跡の生成方法において生成される走行経路及びベース点を模式的に示す図
【図１１Ｂ】予想走行軌跡の生成方法における回転自律移動体領域の生成を模式的に示す図
【図１１Ｃ】予想走行軌跡を示す図
【図１２】ベース点生成方法を示すフローチャート
【図１３Ａ】自律移動体領域Ａの中心Ｖの現在位置、予定走行経路、及び選択されない走行目標点Ｐ０の位置関係を示す図
【図１３Ｂ】所定の半径を有する円、第１走行目標点、及び第２走行目標点の位置関係を示す図
【図１３Ｃ】線分Ｐ１Ｐ２と仮想走行目標点ＶＰの位置関係を示す図
【図１３Ｄ】走行経路の生成を示す図
【図１３Ｅ】走行経路上のベース点の配置を示す図
【図１４】障害物と予想走行軌跡との干渉の判断方法を示すフローチャート
【図１５Ａ】移動座標上の６つの障害物を示す図
【図１５Ｂ】ベース点Ｂ６における自律移動体領域と６つの障害物の移動座標における配置を示す図
【図１５Ｃ】第２移動座標における自律移動体領域と障害物の配置を示す図
【図１５Ｄ】第３移動座標における自律移動体領域と障害物の配置を示す図
【図１５Ｅ】第４移動座標における自律移動体領域と障害物の配置を示す図
【図１６】第２実施形態に係るベース点生成部の構成を示す図
【図１７】第２実施形態に係るベース点生成部におけるベース点生成方法を示すフローチャート
【図１８Ａ】第２実施形態における自律移動体領域Ａの中心Ｖの現在位置、予定走行経路、第１の円、第１走行目標点、及び選択されない走行目標点の位置関係を示す図
【図１８Ｂ】第２実施形態における第２の円、及び、第２走行目標点の位置関係を示す図
【図１８Ｃ】第２実施形態における仮想走行目標点ＶＰの位置関係を示す図
【図１８Ｄ】第２実施形態における走行経路の生成を示す図
【図１８Ｅ】第２実施形態におけるベース点の配置を示す図
【発明を実施するための形態】
【００２３】
１．第１実施形態
（１）自律移動体の全体構成
まず、本実施形態に係る自律移動体の全体構成を図１を用いて説明する。図１は、自律移動体の構成を示す図である。本実施形態の自律移動体１００は、ユーザにより教示された経路（予定走行経路）を再現しながら、自律して走行可能な移動体である。
自律移動体１００は、移動部１と、移動制御装置２と、検出部３と、操作部５と、備える。移動部１は、自律移動体１００を移動させる。検出部３は、移動制御装置２に接続されている。そして、検出部３は、障害物Ｓ（後述）を検出し、障害物Ｓの位置情報を移動制御装置２に出力する。操作部５は、自律移動体１００の本体７に、取付部材９を介して固定されている。また、操作部５は、移動制御装置２に信号の送受信が可能なように接続されている。操作部５は、ユーザが自律移動体１００に予定走行経路を教示する（教示モード）とき、ユーザにより操作される。これにより、自律移動体１００の走行モードが教示モードのときに、自律移動体１００は、ユーザによる操作部５の操作に基づいて制御される。また、操作部５は、自律移動体１００の各種設定を行う。
なお、自律移動体１００の前方は、操作部５が取り付けられた側とは反対側であるとする。
【００２４】
移動制御装置２は、移動部１に電気的に接続されている。また、移動制御装置２には、検出部３が接続されている。移動制御装置２は、自律移動体１００の走行モードが教示モードのときには、ユーザによる操作部５の操作に基づいて、移動部１を制御する。一方、自律移動体１００の走行モードが自律移動するモード（自律移動モード）のときには、移動制御装置２は、自律移動体１００の移動指令を作成する。そして、移動制御装置２は、作成された移動指令に基づいて移動部１を制御する。
また、移動制御装置２は、障害物Ｓの位置情報を把握する。そして、移動制御装置２は、障害物Ｓの位置情報に基づき、障害物Ｓと自律移動体１００とが干渉するかどうかを判定する。
なお、自律移動体１００の移動部１、移動制御装置２、検出部３、及び操作部５の構成の詳細については、後述する。
【００２５】
自律移動体１００は、補助輪部８をさらに備える。補助輪部８は、２つの補助車輪８ａ、８ｂを有する。２つの補助車輪８ａと８ｂは、それぞれが独立に回転可能なように取り付けられている。補助輪部８を備えることにより、自律移動体１００は安定に、かつ、スムーズに移動できる。
なお、移動部１が２以上の車輪を有する場合など、移動部１自体が自律移動体１００を安定に走行できる構造を有している場合には、補助輪部８は無くてもよい。
【００２６】
（２）移動部の構成
次に、移動部１の構成について図１を用いて詳細に説明する。移動部１は、２つの主輪１１ａ、１１ｂと、２つのモータ１３ａ、１３ｂと、を有する。本実施形態の移動部１においては、それぞれの主輪１１ａ、１１ｂは独立に回転可能である。このような構成の移動部１においては、主輪１１ａと１１ｂの回転数に差を生じさせることにより、自律移動体１００の姿勢（後述）を変化させる。
主輪１１ａ、１１ｂは、それぞれ、モータ１３ａ、１３ｂの出力回転軸に接続されている。これにより、主輪１１ａはモータ１３ａの回転に従って回転し、主輪１１ｂはモータ１３ｂの回転に従って回転する。
【００２７】
モータ１３ａ、１３ｂは、移動制御装置２に電気的に接続されている。モータ１３ａ、１３ｂはそれぞれ、移動制御装置２のモータドライバ２５ａ、２５ｂ（図３）により、独立して制御可能となっている。従って、モータ１３ａ、１３ｂは、それぞれ独立に、任意の回転数及びトルクなどを発生できる。その結果、主輪１１ａ、１１ｂは、それぞれ独立に、回転数及びトルクの制御が可能となっている。
モータ１３ａ、１３ｂとしては、サーボモータやブラシレスモータなどの電動モータを用いることができる。
【００２８】
（３）検出部の構成
次に、検出部３の構成を図１を用いて説明する。検出部３は、自律移動体１００の走行経路（図１１Ａ）周辺の障害物Ｓを検出し、障害物Ｓの位置情報を出力する。そのため、検出部３は、前方検出器３１と、後方検出器３３と、を有する。前方検出器３１は、自律移動体１００の前方にある障害物Ｓを検出する。後方検出器３３は、自律移動体１００の後方にある障害物Ｓを検出する。また、前方検出器３１と後方検出器３３は、自律移動体１００と障害物Ｓとの間の距離や、自律移動体１００から見た障害物Ｓが存在する方向に関する情報などを含む信号を出力する。これにより、検出部３は、自律移動体１００からみた障害物Ｓの相対的な位置情報を、移動制御装置２に出力できる。
検出部３の前方検出器３１及び後方検出器３３としては、例えば、レーザレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）などを用いることができる。
【００２９】
（４）操作部の構成
次に、操作部５の構成を図２を用いて説明する。図２は、操作部５の構成を示した図である。操作部５は、操作ハンドル５１ａ、５１ｂと、設定部５３と、表示部５５と、インターフェース５７と、を備える。
操作ハンドル５１ａ、５１ｂは、それぞれ、操作部５の筐体５９の左右に回動可能に取り付けられている。また、操作ハンドル５１ａ、５１ｂは、インターフェース５７と接続されている。これにより、操作ハンドル５１ａ、５１ｂの回動量（操作量）は、インターフェース５７において電気信号に変換され、移動制御装置２に入力される。
このため、自律移動体１００の走行モードが教示モードであるとき、ユーザは、操作ハンドル５１ａ、５１ｂの回動量を適切に調節して、自律移動体１００を操作できる。
なお、本実施形態における操作ハンドル５１ａ、５１ｂは、スロットルタイプの操作ハンドルであるがこれに限られない。自律移動体１００の用途や操作性などを考慮して、スロットルタイプ以外の操作ハンドル５１ａ、５１ｂを用いることもできる。
【００３０】
設定部５３は、インターフェース５７に接続されている。設定部５３は、自律移動体１００の各種設定を行うための信号を、インターフェース５７を介して、移動制御装置２に入力する。設定部５３は、例えば、自律移動体１００の各種設定を行うためのスイッチやキーボードなどにより構成できる。又は、設定部５３は、タッチパネルとして構成され、表示部５５と一体に形成されていてもよい。
【００３１】
表示部５５は、インターフェース５７に接続されている。表示部５５は、インターフェース５７を介して、移動制御装置２から自律移動体１００の各種設定や位置情報などの情報を、読み出して表示する。表示部５５としては、液晶ディスプレイなどのディスプレイを用いることができる。また、上述のように設定部５３と表示部５５とを一体に形成する場合は、表示部５５（と設定部５３）として、タッチパネル機能付きディスプレイを用いることができる。
【００３２】
インターフェース５７は、移動制御装置２に接続されている。インターフェース５７は、操作ハンドル５１ａ、５１ｂの操作量や、設定部５３のスイッチやキー入力などを電気信号に変換し、移動制御装置２へ出力する。また、インターフェース５７は、ユーザの指示などに応じて、移動制御装置２から自律移動体１００に関する情報を読み出して、表示部５５に表示する。
従って、インターフェース５７としては、操作ハンドル５１ａ、５１ｂの回動量や設定部５３における設定状態を電気信号に変換する信号変換器と、表示部５５に情報を表示するための表示部駆動回路と、移動制御装置２と信号を送受信するための通信インターフェースと、などを備えたマイコンボードなどを用いることができる。
【００３３】
（５）移動制御装置の構成
Ｉ．移動制御装置の全体構成
次に、移動部１の移動制御装置２の全体構成について図３を用いて説明する。図３は、移動制御装置２の全体構成を示す図である。
なお、移動制御装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ハードディスク装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、記憶媒体読み出し装置などの記憶装置、信号変換を行うインターフェースなどを備えたマイコンシステムなどにより、実現できる。また、以下に示す移動制御装置２の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、移動制御装置２の各部の機能の一部又は全部は、カスタムＩＣなどにより実現されていてもよい。
移動制御装置２は、教示部２１と、自己位置推定部２２と、記憶部２３と、走行制御部２４と、モータドライブ部２５と、障害物情報取得部２６と、を有する。
【００３４】
教示部２１は、走行モードが教示モードのときに、ユーザが操作部５を用いて自律移動体１００を移動させた際の移動経路を所定の時間間隔にて取得する。そして、教示部２１は、取得した移動経路を、自律移動体１００が移動する移動平面を表現した座標系（以後、移動座標と呼ぶことにする）上の座標値に変換し、当該座標値と移動経路を取得した時間とを関連付ける。さらに、教示部２１は、座標変換された移動経路を記憶部２３に記憶する。
【００３５】
ここで、上記のようにして教示部２１が生成した移動経路の座標値の集合体を、予定走行経路と呼ぶことにする。そして、座標変換された移動経路のことを、走行目標点と呼ぶことにする。すなわち、予定走行経路は、複数の走行目標点を含む集合体である。そして、走行目標点のそれぞれには、移動経路を取得した時間が関連付けられている。従って、予定走行経路は、時間情報を含む座標値の集合体である。
【００３６】
また、教示部２１は、移動経路上を移動中の自律移動体１００の姿勢を、移動経路を取得するときに取得してもよい。ここで、自律移動体１００の姿勢とは、自律移動体１００の前方が向いた方向のことを言う。これにより、予定走行経路は、自律移動体１００の姿勢に関する情報（姿勢情報）をさらに含むことができる。また、予定走行経路に含まれた自律移動体１００の姿勢情報に基づいて、走行制御部２４は予想走行軌跡Ｔ（図１１Ｃ）を生成してもよい。
【００３７】
自己位置推定部２２は、移動平面上における自律移動体１００の位置を推定する。自己位置推定部２２は、例えば、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）法などを用いて、自律移動体１００の移動平面上における位置を推定できる。
自己位置推定部２２は、検出部３において取得された自律移動体１００からみた障害物Ｓの相対的な位置情報を、移動座標上の座標値へと変換する。そして、検出部３の前方検出器３１及び後方検出器３３が検出した障害物Ｓの位置情報に基づいて、自律移動体１００の周囲の移動平面の地図情報（ローカルマップと呼ぶことにする）を作成する。また、自己位置推定部２２は、移動平面の地図情報（環境地図と呼ぶことにする）を記憶部２３に記憶している。そして、自己位置推定部２２は、環境地図とローカルマップとを比較して、自律移動体１００が移動平面のどの位置に存在するかを推定する。
さらに、自己位置推定部２２は、モータ１３ａ、１３ｂの回転数に基づいても、自律移動体１００の位置を推定できるようになっていてもよい。
【００３８】
記憶部２３は、移動制御装置２がマイコンシステムにより実現されている場合は、マイコンシステムの記憶装置（あるいは、記憶装置の記憶領域の一部）に対応するものである。記憶部２３は、自律移動体１００の各種設定、予定走行経路、障害物Ｓの位置情報、走行経路情報Ｔｎ（図１１Ｃ）、自律移動体領域Ａ（図５）などの情報を記憶する。また、移動制御装置２の各部の機能の一部又は全部がソフトウェアにより実現されているとき、記憶部２３は、当該ソフトウェアを記憶してもよい。
【００３９】
走行制御部２４は、モータドライブ部２５に接続されている。走行制御部２４は、走行モードが教示モードのとき、操作部５から入力される操作量に基づいて移動部１のモータ１３ａ及び１３ｂを制御するよう、モータドライブ部２５に指令する。
一方、走行モードが自律走行モードのときは、走行制御部２４は、移動部１を制御する移動指令を作成する。そして、走行制御部２４は、作成された移動指令に基づいて、モータドライブ部２５を制御する。
なお、走行制御部２４の詳細な構成及び動作については、後述する。
【００４０】
モータドライブ部２５は、走行制御部２４に接続されている。これにより、モータドライブ部２５は、走行制御部２４により作成された移動指令に基づいて、モータ１３ａ、１３ｂを制御できる。
本実施形態のモータドライブ部２５は、２つのモータドライバ２５ａ、２５ｂを有する。モータドライバ２５ａ、２５ｂは、それぞれ、モータ１３ａ、１３ｂに接続されている。これにより、モータドライバ２５ａ、２５ｂは、走行制御部２４により作成された移動指令に基づき、モータ１３ａ、１３ｂを、それぞれ独立に制御する。
モータドライバ２５ａ、２５ｂとしては、モータ１３ａ、１３ｂの種類に応じて、適切なモータ駆動装置を用いることができる。
【００４１】
障害物情報取得部２６は、検出部３の前方検出器３１と後方検出器３３とに接続されている。障害物情報取得部２６は、前方検出器３１と後方検出器３３とから出力される信号に基づき、障害物Ｓの位置情報を取得する。そして、障害物情報取得部２６は、必要に応じて、障害物Ｓの位置情報を記憶部２３に記憶する。このとき、障害物情報取得部２６は、自己位置推定部２２に障害物Ｓの位置情報を出力してもよい。そして、自己位置推定部２２が、障害物Ｓの位置情報を移動座標上の座標値に変換して、障害物Ｓの位置情報を記憶部２３に記憶してもよい。
【００４２】
ＩＩ．走行制御部の構成
次に、走行制御部２４の構成について図４を用いて説明する。図４は、走行制御部２４の構成を示す図である。走行制御部２４は、演算部２４１と、判断部２４３と、移動制御部２４５と、を有する。
演算部２４１は、自律移動体１００の現在位置と、走行経路情報Ｔｎと、自律移動体領域Ａとに基づいて、予想走行軌跡Ｔを演算する。ここで、予想走行軌跡Ｔとは、自律移動体１００が自律走行モードにおいて走行するときに、自律移動体領域Ａが描くと予想される軌跡のことを言う。
【００４３】
また、走行経路情報Ｔｎとは、自律移動体１００が、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す情報である。本実施形態においては、走行経路情報Ｔｎは、自律移動体１００に教示された予定走行経路に基づいて生成される走行経路を含んでいる。従って、演算部２４１は、予定走行経路から走行経路を生成する。
【００４４】
さらに、自律移動体領域Ａとは、移動平面において定義される平面状の領域である。また、自律移動体領域Ａは、自律移動体１００を内包した所定の形状を有する。従って、自律移動体領域Ａは、自律移動体１００の最大平面断面を内包するように定義される。本実施形態においては、自律移動体領域Ａは、図５に示すように、自律移動体１００の最大平面断面を内包する、短径の長さがＷ、長径の長さがＬの楕円形である。図５に示す楕円形の自律移動体領域Ａにおいて、自律移動体領域Ａの長径は、自律移動体１００の前後方向に平行である。このように、自律移動体１００の前後方向に平行である自律移動体領域Ａの軸を、自律移動体１００の基準軸ということにする。
自律移動体領域Ａを楕円により定義することにより、より少ない演算により、障害物Ｓと自律移動体１００とが互いに干渉するかどうかを判断できる。
なお、上記のように、自律移動体領域Ａは自律移動体１００の形状に基づいて定義される。そのため、本実施形態においては、自律移動体領域Ａは予め定義されて、移動制御装置２の記憶部２３に記憶されている。
【００４５】
本実施形態における自律移動体領域Ａは、図５に示したような楕円のように、異方性をしている。この場合、走行経路情報Ｔｎは、走行経路上における自律移動体１００の姿勢情報をさらに含んでいる。ここで、自律移動体１００の姿勢情報とは、移動平面上において、自律移動体１００の前方が向いている方向に対応する情報を言う。本実施形態においては、自律移動体１００の姿勢情報は、図６に示すように、自律移動体領域Ａを自律移動体領域の中心Ｖを通る移動座標平面の法線軸まわりに回転したときに、移動座標の水平軸（ｘ軸）と自律移動体領域の基準軸（本実施形態の場合は、楕円の長軸）とがなす角度θで定義される。なお、自律移動体領域Ａの中心Ｖを通る移動座標平面の法線軸まわりに回転した自律移動体領域Ａを、回転自律移動体領域と呼ぶことにする。
このように、自律移動体領域Ａに異方性を持たせ、走行経路情報Ｔｎに自律移動体１００の姿勢情報を含めることにより、演算部２４１は、自律移動体１００の形状や姿勢を考慮してより正確な予想走行軌跡を作成できる。
【００４６】
なお、演算部２４１の構成及び演算部２４１において行われる具体的な動作の詳細については、後述する。
【００４７】
判断部２４３は、検出部３が検出した障害物Ｓと予想走行軌跡Ｔとが互いに干渉するか否かを判断する。判断部２４３においては、予想走行軌跡Ｔの領域中に障害物Ｓが含まれるかどうか、又は、予想走行軌跡Ｔの領域と障害物Ｓとが重複する箇所があるかどうかを判断することにより、障害物Ｓと予想走行軌跡Ｔとが互いに干渉するかどうかを判定する。障害物Ｓと予想走行軌跡Ｔとが互いに干渉するかどうかの具体的な判定方法は、後述する。
【００４８】
移動制御部２４５は、移動部１を制御する移動指令を作成する。移動指令とは、モータドライブ部２５のモータドライバ２５ａ、２５ｂに対する制御命令を含む指令のことである。従って、移動指令は、例えば、自律移動体１００の移動開始を指示する命令、自律移動体１００が移動を開始してからの時間、当該時間における自律移動体１００の向き（移動方向）、当該時間における移動距離、などの情報を含むものである。また、移動指令は、モータ１３ａ、１３ｂの回転数の制御情報を含んでいてもよい。
【００４９】
移動制御部２４５においては、判断部２４３において障害物Ｓと予想走行軌跡Ｔとが干渉しないと判断された場合、演算部２４１により生成された予想走行軌跡Ｔを再現するような移動指令を作成する。これにより、自律移動体１００は、障害物Ｓを回避するための無駄な動作をすることなく、走行経路を忠実に走行できる。
一方、判断部２４３において障害物Ｓと予想走行軌跡とが干渉すると判断された場合、移動制御部２４５は、障害物Ｓと自律移動体１００との衝突を避ける障害物衝突回避動作を行うための移動指令を作成する。
【００５０】
障害物衝突回避動作を行うための移動指令としては、例えば、障害物Ｓと予想走行軌跡Ｔが干渉する位置が自律移動体１００の現在位置から近い距離にあれば、自律移動体１００を停止し、自律移動体１００の現在位置から遠い距離にあれば、自律移動体１００を減速するような移動指令がある。
このような移動指令により、自律移動体１００は、障害物Ｓと自律移動体１００とが衝突しない範囲にて、できる限り走行経路を走行できる。これにより、自律移動体１００は、障害物Ｓに衝突することなく、より忠実に走行経路を走行できる。
【００５１】
または、障害物衝突回避動作を行うための移動指令は、自律移動体１００を停止させるような移動指令であってもよい。このような移動指令を用いることにより、自律移動体１００は、障害物に衝突することがなくなる。
【００５２】
その他、移動制御部２４５は、自律移動体１００の用途などに応じて、任意の移動指令を作成できる。
【００５３】
ＩＩＩ．演算部の構成
次に、演算部２４１の構成の詳細について図７を用いて説明する。図７は演算部２４１の構成を示す図である。演算部２４１は、ベース点生成部２４１１と、回転自律移動体領域生成部２４１３と、予想走行軌跡生成部２４１５と、を有する。
ベース点生成部２４１１は、走行経路情報の位置情報として、走行経路上に複数のベース点Ｂを生成する。ベース点Ｂは走行経路上に複数個配置されるものであるので、ベース点は、自律移動体１００が現在位置から将来位置まで移動するときの、通過目標点であると言える。
【００５４】
ベース点Ｂは、走行経路を同一の所定の間隔に分割するように配置してもよい。又は、ベース点を配置した結果、２つのベース点間の間隔が異なっていてもよい。ベース点をどのように配置するかは、自律移動体１００の用途などに応じて、任意に決定できる。
【００５５】
また、配置したベース点Ｂには、時間に関する情報を関連付ける。本実施形態においては、配置したベース点Ｂに、自律移動体１００が現在位置から移動を開始してからの経過時間に関する情報を関連付ける。当該経過時間としては、移動制御装置２が自律移動体１００を制御する制御周期の倍数を用いる。具体的には、制御周期をＴｃとした場合、自律移動体１００の現在位置の時刻を０として、現在位置から近いベース点Ｂから順に、Ｔｃ、２Ｔｃ、３Ｔｃ・・・ｎＴｃ（ｎ：整数）をベース点Ｂに時間情報を関連付ける。
配置したベース点Ｂに時間に関する情報を関連付けることにより、走行制御部２４の移動制御部２４５は、より単純な演算によりに移動指令を作成できる。また、走行経路情報を離散的な情報（配列）として表現できるので、走行経路情報の構造を単純化できる。
【００５６】
なお、ベース点生成部２４１１の構成及びベース点Ｂを走行経路上に配置する具体的な方法は、後述する。
【００５７】
回転自律移動体領域生成部２４１３は、走行経路情報Ｔｎの姿勢情報として、自律移動体領域を、移動平面（移動座標平面）の法線軸周りに回転して回転自律移動体領域を生成する。具体的には、回転自律移動体領域生成部２４１３は、ベース点生成部２４１１において生成されたそれぞれのベース点Ｂにおける自律移動体１００の姿勢情報θを生成する。
本実施形態においては、ベース点Ｂにおける自律移動体１００の姿勢情報θは、自己位置推定部２２が記憶している環境地図とローカルマップとをマッチングさせることにより得られる。つまり、環境地図とローカルマップが一致（マッチング）するために、ローカルマップ、又は、環境地図を回転した回転角から姿勢情報θが得られる。しかし、これに限られず、隣接した２つの第１ベース点と第２ベース点（自律移動体１００は、第１ベース点から第２ベース点へと移動するものとする）を結ぶ線と、移動座標のｘ軸（水平軸）とがなす角度を、第１ベース点における自律移動体１００の姿勢情報としてもよい。これにより、より単純な演算で回転自律移動体領域を生成できる。
【００５８】
予想走行軌跡生成部２４１５は、ベース点生成部２４１１にて生成されたベース点Ｂのそれぞれに、回転自律移動体領域生成部２４１３にて生成された回転自律移動体領域を配置して、予想走行軌跡Ｔを生成する。具体的には、予想走行軌跡生成部２４１５は、ベース点生成部２４１１において生成されたベース点Ｂに、回転自律移動体領域生成部２４１３において生成された自律移動体１００の姿勢情報θを関連付ける。これにより、より単純な演算により、演算部２４１は予想走行軌跡Ｔを作成できる。
【００５９】
ＩＶ．ベース点生成部の構成
次に、ベース点生成部２４１１の構成について図８を用いて説明する。図８はベース点生成部２４１１の構成を示す図である。ベース点生成部２４１１は、目標点抽出部２４１１−１と、目標点選択部２４１１−３と、算出部２４１１−５と、ベース点配置部２４１１−７と、を有する。
目標点抽出部２４１１−１は、走行目標点のうち、現在位置よりも予定走行経路において前方に存在する所定の数の走行目標点（前方走行目標点という）を抽出する。目標点選択部２４１１−３は、自律移動体１００の現在位置を中心とする所定の半径を有する円Ｃ１（図１３Ｂ）内に含まる前方走行目標点のうち、現在位置から最短の位置にある走行目標点（第１走行目標点Ｐ１（図１３Ｂ）という）と、円Ｃ１の外側に存在する前方走行目標点のうち、現在位置から最短の距離にある走行目標点（第２走行目標点Ｐ２（図１３Ｂ）という）を抽出する。
【００６０】
算出部２４１１−５は、第１走行目標点Ｐ１と第２走行目標点Ｐ２とを結ぶ線分Ｐ１Ｐ２（図１３Ｃ）と、円Ｃ１の円周との交点である仮想走行目標点ＶＰ（図１３Ｃ）を算出する。ベース点配置部２４１１−７は、現在位置と、仮想走行目標点ＶＰと、第２走行目標点Ｐ２と、円の外側に存在する他の前方走行目標点とを、現在位置に近い順に結んで走行経路を生成する。そして、生成された走行経路上に、所定の間隔にてベース点Ｂを配置する。
このような構成を有したベース点生成部２４１１により、自律移動体１００が予定走行経路から多少ずれた位置にあっても、自律移動体１００は、この位置のずれを補正して、予定走行経路をより忠実に走行できる。
なお、このような構成を有したベース点生成部２４１１における、具体的なベース点Ｂの生成方法については、後述する。
【００６１】
（６）自律移動体の動作
Ｉ．自律走行動作
次に、自律移動体１００の自律走行動作について図９を用いて説明する。図９は、自律移動体１００の自律走行動作を示すフローチャートである。
自律移動体１００が自律走行モードによる自律走行を開始すると、まず、検出部３が、障害物Ｓを検出する（ステップＳ１）。具体的には、検出部３の前方検出器３１及び後方検出器３３から出力される信号から、障害物情報取得部２６が障害物Ｓの位置情報を取得する。そして、取得した障害物Ｓの位置情報を記憶部２３に記憶する。
このとき、障害物Ｓの検出と同時に、障害物Ｓの位置情報に基づいて、自己位置推定部２２が、移動座標上における自律移動体１００の現在位置（自律移動体１００が自律走行を開始する位置の情報に対応）を取得する。そして、自律移動体１００の現在位置を記憶部２３に記憶する。
【００６２】
次に、演算部２４が、自律移動体１００の現在位置と、走行経路情報Ｔｎと、回転自律移動体領域Ａとに基づいて、予想走行軌跡Ｔを演算する（ステップＳ２）。ステップＳ２における、具体的な予想走行軌跡Ｔの演算方法については、後述する。
【００６３】
予想走行軌跡Ｔを生成（演算）した後、判断部２４３が、生成した予想走行軌跡Ｔと障害物Ｓとが互いに干渉するか否かを判断する（ステップＳ３）。予想走行軌跡Ｔと障害物Ｓとが干渉するかどうかの具体的な判定方法については、後述する。
そして、障害物Ｓと予想走行軌跡Ｔとが互いに干渉しないと判断された場合（ステップＳ３にて「Ｎｏ」の場合）、移動制御装置２が、予想走行軌跡Ｔを再現するように移動部１を制御する（ステップＳ４）。具体的には、移動制御部２４５が、予想走行軌跡Ｔを再現するような移動指令を作成する。そして、モータドライブ部２５が、移動制御部２４５において生成された移動指令に基づき、モータ１３ａ、１３ｂを制御する。
これにより、自律移動体１００は、障害物Ｓを回避するための無駄な動作をすることなく、予想走行軌跡Ｔ（走行経路）を忠実に走行できる。
【００６４】
一方、判断部２３において、障害物Ｓと予想走行軌跡Ｔとが互いに干渉すると判断された場合（ステップＳ３にて「Ｙｅｓ」の場合）、移動制御装置２は、自律移動体１００に対して、障害物Ｓとの衝突を回避するような動作（障害物衝突回避動作）を実行するように指示する（ステップＳ５）。
【００６５】
この場合、本実施形態の移動制御装置２は、障害物Ｓと予想走行軌跡Ｔが干渉する位置が自律移動体１００の現在位置から近い距離にあれば、移動を停止し、自律移動体１００の現在位置から遠い距離にあれば、減速して走行するように指示する。具体的には、移動制御部２４５は、障害物Ｓと衝突しない位置まで、自律移動体１００を通常よりも低速に走行させる移動指令を作成する。
このような移動指令により、自律移動体１００は、障害物Ｓと自律移動体１００とが衝突しない範囲にて、できる限り走行経路を走行できる。これにより、自律移動体１００は、障害物Ｓに衝突することなく、より忠実に走行経路を走行できる
なお、この場合、ステップＳ５又はステップＳ３において、判断部２４３は、自律移動体領域Ａが予想走行軌跡Ｔのどの位置において障害物Ｓと干渉するかについての情報を取得する。これにより、走行制御部２４は、自律移動体１００がどの位置まで障害物Ｓと衝突することなく移動できるかを把握できる。
【００６６】
または、障害物Ｓと予想走行軌跡Ｔとが互いに干渉すると判断された場合、移動制御部２４５は、自律移動体１００に対して移動を停止するよう指示する移動指令を作成してもよい。このような移動指令を用いることにより、自律移動体１００は、障害物Ｓに衝突することがなくなる。
以上に述べたように、自律移動体１００の移動制御装置２は、図９のステップＳ３において、自律移動体１００と障害物とが衝突するかどうかを、予想走行軌跡と障害物とが互いに干渉するか否かにより判断することにより、その障害物に対して衝突回避行動を取るべきかどうかを判断している。これにより、自律移動体１００が障害物に対して回避行動を取るかどうかを、より高い確度で判断できる。その結果、自律移動体１００は、無駄な障害物の回避行動を行うことなく、ユーザにより教示された予定走行経路を忠実に走行できる。
【００６７】
ＩＩ．予想走行軌跡生成方法
ＩＩ−１．予想走行軌跡生成方法
次に、自律走行動作を示すフローチャート（図９）のステップＳ２における、予想走行軌跡Ｔの生成方法について図１０〜図１１Ｃを用いて説明する。図１０は、予想走行軌跡Ｔの生成方法を示すフローチャートである。
予想走行軌跡Ｔの生成を開始すると、演算部２４１は、まず、自律移動体１００の現在位置、予定走行経路、及び自律移動体領域Ａを記憶部２３から読み出す（ステップＳ２１〜Ｓ２３）。
【００６８】
次に、演算部２４１のベース点生成部２４１１が、走行経路上に複数のベース点Ｂを生成する（ステップＳ２４）。ベース点生成部２４１１における、具体的な走行経路の作成方法及びベース点Ｂの生成方法は、後述する。
ステップＳ２４において生成される走行経路及びベース点を模式的に示した図を図１１Ａに示す。図１１Ａにおいて、太い実線にて示されるのが走行経路である。太い実線にて示された走行経路上に配置された８つの丸点がベース点Ｂ１、Ｂ２、・・・Ｂ８である。本実施形態においては、一般的なベース点Ｂｎは、移動座標上の座標値（ｘｎ，ｙｎ）（ｎ：整数）として表現される。  
ここで、ベース点Ｂｎに、自律移動体１００が移動を開始してからの経過時間としてｔｎを関連付ける。そして、経過時間ｔｎを関連付けたベース点Ｂｎを、走行経路情報Ｔｎ（ｎ＝１〜８）とする。従って、走行経路情報Ｔｎは、この時点において、時間の情報を含めて、（ｘｎ，ｙｎ，ｔｎ）と３次元的な値として表現できる。
【００６９】
ベース点Ｂの生成後、回転自律移動体領域生成部２４１３が、自律移動体領域Ａを移動平面の法線軸周りに回転して回転自律移動体領域を生成する（ステップＳ２５）。具体的には、回転自律移動体領域生成部２４１３は、ベース点生成部２４１１において生成されたベース点Ｂにおける自律移動体１００の姿勢情報θを生成する。
ステップＳ２５における、回転自律移動体領域の生成を模式的に示した図を図１１Ｂに示す。図１１Ｂに示すように、ベース点Ｂｎのそれぞれにおいて、自律移動体領域Ａの基準軸（自律移動体領域Ａ中の点線矢印）が、移動座標の水平軸（ｘ軸）に対して傾いた角度θｎが、ベース点Ｂｎにおける姿勢情報として生成されている。
【００７０】
回転自律移動体領域を生成後、予想走行軌跡生成部２４１５が、ベース点生成部２４１１にて生成されたベース点Ｂに、回転自律移動体領域生成部２４１３にて生成された回転自律移動体領域を配置して、予想走行軌跡Ｔ（図１１Ｃ）を生成する（ステップＳ２６）。
ステップＳ２６における、予想走行軌跡Ｔの生成を模式的に示した図を図１１Ｃに示す。図１１Ｃに示すように、ベース点Ｂｎのそれぞれに、対応する回転自律移動体領域を配置することにより、予想走行軌跡Ｔが生成される。図１１Ｃに示すように、予想走行軌跡Ｔは、移動座標上において平面状となっている。なぜなら、自律移動体領域Ａが、移動座標上において平面状であるからである。なお、図１１Ｃに示すような平面状の予想走行軌跡Ｔを、移動座標のｘ及びｙの関数として表現すると非常に複雑な式となってしまう。また、予想走行軌跡Ｔを移動座標の座標値により表現すると、非常に多くの座標値（データ量）を必要とする。
【００７１】
一方、本実施形態においては、生成された自律移動体１００の姿勢情報θｎを、対応する走行経路情報Ｔｎに関連付けて、４次元の走行経路情報Ｔｎの集合体を生成している。そして、走行経路情報Ｔｎのそれぞれに、予め定義された自律移動体領域Ａを関連付けて予想走行軌跡Ｔを生成している。このような場合、予想走行軌跡Ｔは、走行経路情報Ｔｎと同次元（４次元）の値（ｘｎ，ｙｎ，ｔｎ，θｎ）の集合体として表現できる。このように、予想走行軌跡Ｔを４次元程度の低次元の値の集合体として表現することにより、複雑な式や大量のデータ量を必要とすることなく予想走行軌跡Ｔを表現できる。また、後述するように、４次元程度の低次元の集合体として予想走行軌跡Ｔを表現することにより、自律移動体領域Ａと障害物Ｓとの干渉を、比較的簡単な計算式により判定できる。
【００７２】
ＩＩ−２．ベース点生成方法
次に、予想走行軌跡Ｔの生成におけるベース点Ｂの生成方法を、図１２〜図１３Ｅを用いて説明する。図１２は、本実施形態における、ベース点生成ステップ（ステップＳ２４）におけるベース点生成方法を示すフローチャートである。
ここでは、図１３Ａに示すように、自律移動体１００の自律移動体領域Ａの中心Ｖの現在位置が予定走行経路からずれている場合について説明する。
ベース点生成部２４１１がベース点Ｂの生成を開始すると、まず、目標点抽出部２４１１−１が、前方走行目標点を所定の数、抽出する（ステップＳ２４１）。ここで、前方走行目標点とは、自律移動体１００の現在位置よりも進行方向前方に存在する走行目標点のことである。図１３Ａにおいては、点線にて示した走行目標点Ｐ０以外の走行目標点が抽出される。
【００７３】
次に、目標点選択部２４１１−３が、自律移動体１００の現在位置（図１３Ａにおいては、自律移動体領域の中心Ｖ）を中心とする所定の半径ｒを有する円Ｃ１（図１３Ｂ）を定義する（ステップＳ２４２）。ここで、所定の半径ｒは、移動座標上において、自律移動体領域Ａの中心Ｖから自律移動体領域Ａを定める境界までの距離よりも、十分に小さい値としている。
本実施形態における楕円形の自律移動体領域Ａの場合は、所定の半径ｒは、楕円形の短径Ｗよりも小さい値とする。所定の半径ｒを、自律移動体領域Ａの中心Ｖから境界までの距離よりも小さい値とすることにより、自律移動体１００が所定の半径ｒの円Ｃ１中の走行目標点を通過したとみなせる。また、自律移動体１００は、走行目標点からずれた位置から、より早く走行目標点に復帰できる。これにより、自律移動体１００は、走行目標点を忠実に再現した走行経路を忠実に走行できる。
【００７４】
そして、目標点選択部２４１１−３は、円Ｃ１内に含まれる前方走行目標点の中から、自律移動体１００の現在位置から最短の位置にある走行目標点（第１走行目標点）を選択する（ステップＳ２４３）。図１３Ｂにおいては、走行目標点Ｐ１が第１走行目標点となる。
【００７５】
さらに、目標点選択部２４１１−３は、円Ｃ１の外側にある前方走行目標点の中から、自律移動体１００の現在位置から最短の距離にある走行目標点（第２走行目標点）を選択する（ステップＳ２４４）。図１３Ｂにおいては、走行目標点Ｐ２が第２走行目標点となる。
【００７６】
第１走行目標点Ｐ１及び第２走行目標点Ｐ２を選択した後、算出部２４１１−５が、第１走行目標点Ｐ１と第２走行目標点Ｐ２とを結ぶ線分Ｐ１Ｐ２と、円Ｃ１の円周との交点を算出する（ステップＳ２４５）。そして、算出部２４１１−５において算出した交点を、仮想走行目標点ＶＰと定める（図１３Ｃ）。
【００７７】
次に、ベース点配置部２４１１−７が、図１３Ｄに示すように、現在位置と仮想走行目標点ＶＰとを結んだ線分Ｒ１と、仮想走行目標点ＶＰと第２走行目標点Ｐ２とを結んだ線分Ｒ２と、第２走行目標点Ｐ２と第２走行目標点Ｐ２よりも進行方向前方にある前方走行目標点の全てを、現在位置より近い順に結んでできる線Ｒ３と、を接続して走行経路とする（ステップＳ２４６）。
【００７８】
そして、ベース点配置部２４１１−７が、ステップＳ２４６にて生成した走行経路上に、ベース点Ｂを所定の間隔にて配置する（ステップＳ２４７）。本実施形態においては、図１３Ｅに示すように、自律移動体１００の現在位置（自律移動体領域Ａの中心Ｖ）を含めて、Ｂ１〜Ｂ８までの８つのベース点Ｂが走行経路上に配置されている。
【００７９】
上記の方法により、走行経路を定めてからベース点Ｂを走行経路上に配置することにより、自律移動体１００が予定走行経路から多少ずれた位置にあっても、自律移動体１００は、この位置のずれを補正して、走行経路をより忠実に走行できる。
【００８０】
ＩＩＩ．障害物と予想走行軌跡との干渉の判断方法
次に、上述の自律走行動作における、障害物Ｓと予想走行軌跡Ｔとの干渉の判断方法について、図１４〜図１５Ｅを用いて説明する。図１４は、障害物Ｓと予想走行軌跡Ｔとの干渉の判断方法を示したフローチャートである。図１４に示す、障害物Ｓと予想走行軌跡Ｔとが干渉するかどうかの判断は、走行経路情報Ｔｎに表現された位置情報（ベース点Ｂの座標に対応）において、障害物Ｓが自律移動体領域Ａと重なるかどうか判定することにより行う。判断部２４３は、障害物Ｓが自律移動体領域Ａと重なっていれば、障害物Ｓと自律移動体領域Ａとが互いに干渉していると判断する。すなわち、判断部２４３は、その場合に、障害物Ｓと予想走行軌跡Ｔとが互いに干渉していると判断する。
一方、判断部２４３は、全てのベース点Ｂにおいて障害物Ｓが自律移動体領域Ａと重なっていなければ、障害物Ｓと自律移動体領域Ａとは干渉していないと判断する。すなわち、判断部２４３は、その場合に、障害物Ｓと予想走行軌跡Ｔとは互いに干渉していないと判断する。
【００８１】
具体的には、以下のように、判断部２４３は、障害物Ｓと予想走行軌跡Ｔとが互いに干渉するかどうかを判定する。
まず、判断部２４３は、移動座標を、ベース点Ｂに配置された自律移動体領域Ａの中心Ｖが原点となるような座標系に変換する（ステップＳ３１）。変換後の座標系を第２移動座標と呼ぶことにする。
【００８２】
次に、判断部２４３は、自律移動体領域Ａの基準軸が水平軸と重なるように、第２移動座標を回転する（ステップＳ３２）。回転された第２移動座標を第３移動座標と呼ぶことにする。
【００８３】
さらに、判断部２４３は、自律移動体領域Ａの形状が円形となるように、第３移動座標をｙ軸方向又はｘ軸方向に、伸張又は圧縮する（ステップＳ３３）。軸方向に伸張又は圧縮された第３移動座標を第４移動座標と呼ぶことにする。
【００８４】
次に、判断部２４３は、第４移動座標上において、自律移動体領域Ａの中心Ｖ（第４移動座標の原点）と障害物Ｓまでの距離ｄを算出する。そして、判断部２４３は、距離ｄが第４移動座標上の自律移動体領域Ａを定める円の半径よりも大きいかどうかを判断する（ステップＳ３４）。
距離ｄが自律移動体領域Ａの円の半径よりも大きい場合、すなわち、自律移動体領域Ａと障害物Ｓとが重ならない場合（ステップＳ３４にて「Ｙｅｓ」の場合）には、自律移動体領域Ａは障害物Ｓと干渉しないと判断される。そして、ステップＳ３５に進む。
一方、距離ｄが自律移動体領域Ａの円の半径よりも小さい場合、すなわち、自律移動体領域Ａと障害物Ｓとが重なる場合（ステップＳ３４にて「Ｎｏ」の場合）には、自律移動体領域Ａは障害物Ｓと干渉すると判断される。あるベース点Ｂにおいて、自律移動体領域Ａが障害物Ｓと干渉すると判断されたら、その時点で、他のベース点における判断を行うことなく。予想走行軌跡Ｔが障害物Ｓと干渉すると判断される（ステップＳ３６）。そして、判断部２４３は、予想走行軌跡Ｔと障害物Ｓとの干渉の判定を終了する。
【００８５】
ステップＳ３５においては、判断部２４３は、全てのベース点Ｂにおいて、自律移動体領域Ａと障害物Ｓとの干渉が判定されたかどうかを確認する。全てのベース点Ｂにおいて自律移動体領域Ａと障害物Ｓとの干渉が判定された場合（ステップＳ３５にて「Ｙｅｓ」の場合）であり、全てのベース点Ｂにおいて、自律移動体領域Ａと障害物Ｓとが干渉しないと判断された場合（ステップＳ３４にて「Ｙｅｓ」の場合）に、予想走行軌跡Ｔは障害物Ｓと干渉しないと判断される（ステップＳ３７）。そして、判断部２４３は、予想走行軌跡Ｔと障害物Ｓとの判定を終了する。
【００８６】
なお、このとき、判断部２４３は、どのベース点Ｂにて、自律移動体領域Ａと障害物Ｓとが干渉すると判定されたかを記憶部２３などに記憶するようにしてもよい。この場合、判断部２４３は、自律移動体領域Ａと障害物Ｓとが干渉すると判定されたベース点Ｂｎの下付き番号ｎを、記憶部２３などに記憶する。ベース点Ｂｎ（走行経路情報Ｔｎ）が配列により表現されている（例えば、Ｂ［ｎ］のように表現される）場合には、判断部２４３は、要素ｎの数字を記憶部２３などに記憶する。
この場合、例えば、自律移動体領域Ａと障害物Ｓとが干渉するベース点Ｂｍよりも、自律移動体１００の進行方向において後ろのベース点Ｂｍ−１までは減速して移動するなどの障害物衝突回避行動を実行できる。その結果、自律移動体１００は、障害物Ｓに衝突することなく、より忠実に走行経路を走行できる。
【００８７】
図１４を用いて上記において説明した、予想走行軌跡Ｔと障害物Ｓとの干渉の判定方法について、移動座標上の自律移動体領域Ａと障害物Ｓとを模式的に示した図１５Ａ〜図１５Ｅを用いて詳細に説明する。
ここで、例として、走行経路情報Ｔ６（ｘ６，ｙ６，ｔ６，θ６）の位置情報にて表現される座標（ベース点Ｂ６とも言い換えられる）における、自律移動体領域Ａと障害物Ｓ１〜Ｓ６との干渉の判断方法について述べることにする。ここで、自律走行動作の障害物検出ステップ（図９のステップＳ１）において、６つの障害物Ｓ１〜Ｓ６が、図１５Ａに示すような位置において検出されたとする。
なお、他の走行経路情報Ｔｎの位置情報にて表現される座標については、以下と同様に説明できるので、省略する。
【００８８】
図１５Ｂに、ベース点Ｂ６における自律移動体領域Ａと、障害物Ｓ１〜Ｓ６とを、移動座標上に配置したときの図を示す。まず、図１４のステップＳ３１においては、ベース点Ｂ６に配置された自律移動体領域Ａの中心Ｖが、座標の原点となるように移動座標が変換される。この場合、移動座標が水平軸（ｘ軸）方向に−ｘ６、垂直軸（ｙ軸）方向に−ｙ６だけ平行移動される。
上記のように移動座標が平行移動されると、障害物Ｓ１〜Ｓ６も、移動座標上の座標から、ｘ軸方向に−ｘ６、垂直軸（ｙ軸）方向に−ｙ６だけ平行移動されて第２移動座標上に配置される。第２移動座標上の自律移動体領域Ａと障害物Ｓ１〜Ｓ６の配置を図１５Ｃに示す。
【００８９】
次に、図１４のステップＳ３２において、第２移動座標上の自律移動体領域Ａの基準軸が、移動座標の水平軸（ｘ軸）と重なるように、第２移動座標が回転される。この場合、第２移動座標は、自律移動体１００の姿勢情報θが定義された方向（θが正の値となる方向）とは反対方向（図１５Ｃにおいては、時計回り）に回転される。具体的には、図１５Ｃにおいては、第２移動座標が時計回りに角度θ６だけ回転される。ここで、回転された第２移動座標を、第３移動座標と呼ぶことにする。
上記のように、第２移動座標が時計回りにθ６回転されると、障害物Ｓ１〜Ｓ６も、第２移動座標の原点の中心を通る法線軸周りに、時計回りにθ６だけ回転されて第３移動座標上に配置される。第３移動座標上における、自律移動体領域Ａと障害物Ｓ１〜Ｓ６の配置を図１５Ｄに示す。
【００９０】
次に、図１４のステップＳ３３において、自律移動体領域Ａが、半径Ｌ（自律移動体領域Ａの長径）の円となるように、第３移動座標がｙ軸方向にＬ／Ｗ倍（Ｌ／Ｗを伸張率と呼ぶ）だけ伸張される。ｙ軸方向が伸張された第３移動座標を、第４移動座標と呼ぶことにする。
この場合、第３移動座標上の座標のｙ座標値は、Ｌ／Ｗ倍（Ｌ／Ｗを伸張率と呼ぶ）されて第４移動座標上に配置される。これにより、第３移動座標上の障害物Ｓ１〜Ｓ６は、座標値がＬ／Ｗ倍されて、第４移動座標上に配置される。図１５Ｅに、第４移動座標上における、自律移動体領域Ａと障害物Ｓ１〜Ｓ６の配置を示す。なお、図１５Ｅにおいて、障害物Ｓ１〜Ｓ６の形状が縦長に変形（図１５Ｄにおいては、円から縦長の楕円に変形）されているが、自律移動体領域Ａの中心Ｖと障害物Ｓ１〜Ｓ６との位置関係は変わらない。
【００９１】
次に、図１４のステップＳ３４において、第４移動座標上において、自律移動体領域Ａと障害物Ｓ１〜Ｓ６とが干渉するかどうかが判断される。このとき、図１５Ｅに示すように、第４移動座標において、自律移動体領域の中心Ｖ（第４移動座標の原点）と障害物Ｓ１〜Ｓ６のそれぞれまでの距離ｄ１〜ｄ６が算出される。距離ｄ１〜ｄ６が、第４移動座標の原点から障害物Ｓ１〜Ｓ６のそれぞれまでの距離として算出するようにすることにより、距離ｄ１〜ｄ６の計算を単純化できる。
そして、第４移動座標上においては、自律移動体領域Ａと障害物Ｓ１〜Ｓ６との干渉は、距離ｄ１〜ｄ６が、自律移動体領域Ａの長径Ｌよりも大きいかどうかのみで判断できる。なぜなら、第４移動座標上では、自律移動体領域Ａは、異方性を有しない半径Ｌの円として表現されるからである。これにより、より簡単に自律移動体領域Ａと障害物Ｓとの干渉を判断できる。その結果、予想走行軌跡Ｔと障害物Ｓとの干渉の判断時間を短縮できる。
【００９２】
なお、上記で示したような座標の変換は、行列式を用いて、比較的簡単に計算できる。この場合、行列式を用いて、自律移動体領域Ａから障害物Ｓまでの距離ｄを算出するための算出式を予め計算しておいて、算出式を記憶部２３などに記憶するようにしてもよい。そして、この算出式に適切な値を代入して、具体的な数値で表される自律移動体領域Ａから障害物Ｓまでの距離ｄを算出してもよい。
あるいは、座標の平行移動、回転、及び伸張／圧縮を行う行列式を記憶部２３などに記憶しておいてもよい。この場合、記憶された行列式に適切な値を代入して具体的な数値にて表現された行列式を算出する。そして、具体的な数値にて表現された行列式を用いて、移動座標の座標変換を行った後、自律移動体領域Ａから障害物Ｓまでの距離ｄを算出する。
【００９３】
（７）本実施形態の効果
以下に、本実施形態における効果について述べる。
自律移動体１００の移動制御装置２（自律移動体の移動制御装置の一例）は、移動部１（移動部の一例）と、障害物Ｓ（障害物の一例）を検出する検出部３（検出部の一例）とを備え、予め作成した予定走行経路（予定走行経路の一例）を再現するように移動する自律移動体１００（自律移動体の一例）の移動制御装置である。
自律移動体１００の移動制御装置２は、演算部２４１（演算部の一例）と、判断部２４３（演算部の一例）と、移動制御部２４５（移動制御部の一例）と、を備える。演算部２４１は、自律移動体１００の現在位置と、現在位置から所定の距離を走行した位置である将来位置までの走行経路を表す走行経路情報Ｔｎ（走行経路情報の一例）と、自律移動体１００を内包した所定の形状を有する自律移動体領域Ａ（自律移動体領域の一例）と、に基づいて、予想走行軌跡Ｔ（現在位置から将来位置までの予想走行軌跡の一例）を演算する。判断部２４３は、検出部３が検出した障害物Ｓと予想走行軌跡Ｔとが互いに干渉するか否かを判断する。移動制御部２４５は、判断部２４３において障害物Ｓと予想走行軌跡Ｔとが干渉しないと判断された場合、演算部２４１により演算された予想走行軌跡Ｔを再現するように移動部１を制御する移動指令を作成する。
【００９４】
この移動制御装置２では、最初に、演算部２４１が、走行経路情報Ｔｎと自律移動体領域Ａとに基づいて、予想走行軌跡Ｔを作成する。次に、判断部２４３が、自律移動体１００の検出部３が検出した障害物Ｓと予想走行軌跡Ｔとが互いに干渉するか否かを判断する。そして、移動制御部２４５が、判断部２４３において障害物Ｓと予想走行軌跡Ｔとが干渉しないと判断されていれば、予想走行軌跡Ｔを再現するように、自律移動体１００の移動部１を制御する移動指令を作成する。
【００９５】
この移動制御装置２では、自律移動体１００と障害物Ｓとが衝突するかどうかの判断が、予想走行軌跡Ｔと障害物Ｓとが互いに干渉するか否かの判断に基づいている。これにより、自律移動体１００が障害物Ｓに対して回避行動を取るかどうかを、より高い確度で判断できる。その結果、自律移動体１００は、障害物Ｓに対する無駄な回避行動を行うことなく、ユーザにより教示された予定走行経路をより忠実に走行できる。
【００９６】
本実施形態においては、自律移動体領域Ａの、自律移動体１００の移動平面における形状は異方性を有している。また、走行経路情報Ｔｎは、自律移動体１００の走行経路における位置情報として、ベース点Ｂの座標（位置情報の一例）と、走行経路上における自律移動体１００の姿勢情報θ（姿勢情報の一例）とを含んでいる。
これにより、演算部２４１は、自律移動体１００の形状や姿勢を考慮してより正確な予想走行軌跡を作成できる。その結果、判断部２４１は、障害物Ｓと自律移動体１００とが互いに干渉するかどうかをより確実に判断できる。
【００９７】
本実施形態においては、自律移動体領域Ａの移動平面における形状は楕円である。これにより、判断部２４１は、より少ない演算により障害物Ｓと自律移動体１００とが互いに干渉するかどうかを判断できる。
【００９８】
本実施形態において、走行経路情報Ｔｎは、自律移動体１００の走行経路上における時間情報ｔｎ（時間情報の一例）をさらに含んでいる。これにより、移動制御部２４５は、より単純な演算によりに移動指令を作成できる。また、走行経路情報Ｔｎを離散的な情報（配列）として表現できるので、走行経路情報Ｔｎの構造を単純化できる。
【００９９】
本実施形態において、演算部２４１は、ベース点生成部２４１１（ベース点生成部の一例）と、回転自律移動体領域生成部２４１３（回転自律移動体領域生成部の一例）と、予想走行軌跡生成部２４１５（予想走行軌跡生成部の一例）と、を備えている。ベース点生成部２４１１は、走行経路情報Ｔｎの位置情報として、走行経路上に複数のベース点Ｂ（ベース点の一例）を生成する。回転自律移動体領域生成部２４１３は、走行経路情報Ｔｎの姿勢情報θに基づいて、自律移動体領域Ａを、移動平面の法線軸周りに回転して回転自律移動体領域を生成する。予想走行軌跡生成部２４１５は、ベース点生成部２４１１にて生成されたベース点Ｂのそれぞれに、回転自律移動体領域生成部２４１３にて生成された回転自律移動体領域を配置して、予想走行軌跡Ｔを生成する。これにより、演算部２４１は、より単純な演算により、予想走行軌跡Ｔを作成できる。
【０１００】
本実施形態において、移動制御部２４５は、判断部２４３において障害物Ｓと予想走行軌跡Ｔとが干渉すると判断された場合、干渉する位置が現在位置から近い距離にあれば、自律移動体１００を停止する。また、現在位置から遠い距離にあれば、自律移動体１００を減速するように、移動部１を制御する。これにより、自律移動体１００は、障害物Ｓに衝突することなく、より忠実に走行経路を走行できる。
【０１０１】
２．第２実施形態
次に、第２実施形態に係る自律移動体２００について説明する。なお、ここでは、第２実施形態に係る自律移動体２００の構成のうち、第１実施形態に係る自律移動体１００と同じものについての説明は省略する。
第２実施形態においては、ベース点生成部２４１２におけるベース点の生成方法が、第１実施形態に係る自律移動体１００のベース点生成部２４１１における生成方法と異なる。従って、以下に、第２実施形態に係る自律移動体２００のベース点生成部２４１２の構成と、ベース点生成部２４１２におけるベース点生成方法について述べる。
まず、第２実施形態に係るベース点生成部２４１２の構成について、図１６を用いて説明する。図１６は、第２実施形態に係るベース点生成部２４１２の構成を示す図である。ベース点生成部２４１２は、図１６に示すように、目標点抽出部２４１２−１と、目標点選択部２４１２−３と、算出部２４１２−５と、ベース点配置部２４１２−７と、を有する。
【０１０２】
目標点抽出部２４１２−１は、前方走行目標点を抽出する。第２実施形態に係る目標点抽出部２４１２−１における、前方走行目標点は、自律移動体２００の現在位置から、現在位置を中心とする第１半径ｒ１（図１８Ａ）を有する第１の円Ｃ３（図１８Ａ）の外側に存在する走行目標点のうち、現在位置に最も近く、かつ、現在位置よりも自律移動体２００の進行方向前方に存在する第１走行目標点Ｐ３（図１８Ａ）までの走行目標点である。
【０１０３】
目標点選択部２４１２−３は、第２走行目標点Ｐ４（図１８Ｂ）を選択する。第２実施形態に係る目標点選択部２４１２−３における第２走行目標点Ｐ４は、自律移動体１００の現在位置を中心とする第２半径ｒ２（図１８Ｂ）を有する第２の円Ｃ４（図１８Ｂ）の外側に存在する前方走行目標点のうち、現在位置から最短の距離にある前方走行目標点である。
【０１０４】
算出部２４１２−５は、自律移動体１００の現在位置と第２走行目標点Ｐ４とを結ぶ線分Ｐ４−Ｖ（図１８Ｃ）と、円Ｃ４の円周との交点である仮想走行目標点ＶＰ１（図１８Ｃ）を算出する。ベース点配置部２４１２−７は、走行経路上にベース点を所定の間隔にて配置する。走行経路は、現在位置と、仮想走行目標点ＶＰ１と、第２走行目標点Ｐ４と、第２走行目標点Ｐ４から第１走行目標点Ｐ３までの間の前方走行目標点と、を現在位置から近い順に結んで生成される。
【０１０５】
次に、第２実施形態に係る自律移動体２００のベース点生成部２４１２におけるベース点の生成方法について、図１７〜図１８Ｅを用いて説明する。図１７は、第２実施形態に係る自律移動体２００のベース点生成部２４１２におけるベース点の生成方法を示すフローチャートである。
【０１０６】
最初に、目標点抽出部２４１２−１が、第１走行目標点Ｐ３を設定する（ステップＳ２４１１）。このときの第１走行目標点Ｐ３の設定方法を、図１８Ａを用いて説明する。図１８Ａは、第１走行目標点Ｐ３の設定方法を模式的に示した図である。走行抽出部２４１２−１は、まず、自律移動体２００の現在位置（図１８Ａにおいて、自律移動体領域Ａの中心Ｖに対応）を中心とした、第１半径ｒ１を有する第１の円Ｃ３を定義する。このとき、第１半径ｒ１は、自律移動体２００の走行速度や、検出部３における障害物Ｓの検出可能距離などに基づいて決定される。
そして、第１の円Ｃ３の外にある走行目標点のうち、自律移動体２００の現在位置に最も近い走行目標点を選択する。さらに、選択された走行目標点のうち、自律移動体２００の進行方向前方にある走行目標点を、第１走行目標点Ｐ３とする。
【０１０７】
次に、目標点抽出部２４１２−１が、現在位置よりも進行方向前方に存在する走行目標点であって、自律移動体２００の現在位置から、第１走行目標点Ｐ３までの間にある走行目標点を、前方走行目標点として抽出する（ステップＳ２４１２）。図１８Ａにおいては、実線で示された走行目標点が、前方走行目標点となる。
【０１０８】
前方走行目標点を抽出後、目標点選択部２４１２−３が、第２走行目標点Ｐ４を設定する（ステップＳ２４１３）。目標点選択部２４１２−３における第２走行目標点Ｐ４の設定方法を、図１８Ｂを用いて説明する。図１８Ｂは、第２走行目標点Ｐ４の設定方法を示す模式図である。まず、目標点選択部２４１２−３は、自律移動体２００の現在位置を中心とした、第２半径ｒ２を有する第２の円Ｃ４を定義する。
ここで、第２半径ｒ２は、自律移動体２００と走行目標点とのずれの許容範囲を決定する。また、自律移動体２００と走行目標点とのずれを速やかに修正したい場合には、第２半径ｒ２は、なるべく小さな値とすることが好ましい。例えば、図１８Ｂに示す例においては、第２半径ｒ２は、自律移動体２００に最も近い前方走行目標点のみが含まれる程度の半径である。
第２実施形態の自律移動体２００においては、自律移動体２００と走行目標点とのずれの許容範囲や、どの程度速やかに走行目標点とのずれを修正したいかなどに応じて、適切な第２半径ｒ２の値が選択される。
【０１０９】
次に、目標点選択部２４１２−３が、第２の円Ｃ４の外側に存在する前方走行目標点のうち、現在位置から最短の距離にある前方走行目標点を選択する。そして、目標点選択部２４１２−３が、当該選択された走行目標点を第２走行目標点Ｐ４として設定する。
【０１１０】
第２走行目標点Ｐ４を設定後、算出部２４１２−５が、仮想走行目標点ＶＰ１を算出する（ステップＳ２４１４）。算出部２４１２−５は、図１８Ｃに示すように、現在位置と第２走行目標点とを結ぶ線Ｐ４−Ｖと、第２の円Ｃ４との交点を求める。そして、当該交点を仮想走行目標点ＶＰ１（図１８Ｃにおいては、黒丸にて示した点）として設定する。
【０１１１】
次に、ベース点配置部２４１２−７が、ベース点Ｂを配置する走行経路を生成する（ステップＳ２４１５）。本実施形態のベース点配置部２４１２−７では、図１８Ｄに示したように、自律移動体２００の現在位置とステップＳ２４１４において設定された仮想走行目標点ＶＰ１とを結ぶ走行経路Ｒ４と、仮想走行目標点ＶＰ１とステップＳ２４１３において設定された第２走行目標点Ｐ４とを結ぶ走行経路Ｒ５と、第２走行目標点Ｐ４から第１走行目標点Ｐ３までの間に存在する前方走行目標点の全てを結ぶ走行経路Ｒ６と、を結んで走行経路を生成する。
【０１１２】
最後に、図１８Ｅに示すように、ベース点配置部２４１２−７が、ステップＳ２４１５において生成された走行経路上に、所定の間隔にてベース点Ｂを配置する（ステップＳ２４１６）。ベース点Ｂを配置する間隔は、例えば、自律移動体２００を制御する周期である制御周期Ｔｃに基づいて、決定される。
【０１１３】
上記のような方法により、第２実施形態に係る自律移動体２００のベース点生成部２４１２も、第１実施形態に係る自律移動体１００のベース点生成部２４１１と同様に、自律移動体２００が予定走行経路から多少ずれた位置にあっても、この位置のずれを補正できる。従って、第２実施形態に係る自律移動体２００は、予定走行経路をより忠実に走行できる。
【０１１４】
３．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
（Ａ）自律移動体の構成についての他の実施形態
第１実施形態における自律移動体１００の移動部１は、２つの主輪１１ａと１１ｂを有していた。そして、主輪１１ａ、１１ｂのそれぞれが、モータ１３ａ、１３ｂの出力回転軸に回転可能に接続されていた。しかし、主輪及びモータの数は２に限られない。移動部は、２以上の主輪と、主輪のそれぞれに接続される複数のモータとにより構成されていてもよい。自律移動体の用途や、移動の自由度などに応じて、移動部は任意の数の主輪やモータにより構成できる。
【産業上の利用可能性】
【０１１５】
本発明は、センサにより障害物を検出しながら自律走行する自律移動体に、広く適用可能である。
【符号の説明】
【０１１６】
１００、２００    自律移動体
１        移動部
１１ａ、１１ｂ      主輪
１３ａ、１３ｂ      モータ
２        移動制御装置
２１      教示部
２２      自己位置推定部
２３      記憶部
２４      走行制御部
２４１    演算部
２４１１、２４１２  ベース点生成部
２４１１−１、２４１２−１      目標点抽出部
２４１１−３、２４１２−３      目標点選択部
２４１１−５、２４１２−５      算出部
２４１１−７、２４１２−７      ベース点配置部
２４１３  回転自律移動体領域生成部
２４１５  予想走行軌跡生成部
２４３    判断部
２４５    移動制御部
２５      モータドライブ部
２５ａ、２５ｂ      モータドライバ
２６      障害物情報取得部
３        検出部
３１      前方検出器
３３      後方検出器
５        操作部
５１ａ、５１ｂ      操作ハンドル
５３      設定部
５５      表示部
５７      インターフェース
５９      筐体
７        本体
８        補助輪部
８ａ、８ｂ      補助車輪
９        取付部材
Ａ        自律移動体領域
Ｖ        自律移動体領域の中心
Ｌ        楕円形の自律移動体領域の長径
Ｗ        楕円形の自律移動体領域の短径
Ｂ        ベース点
Ｂｎ      一般的なベース点
ｘｎ      ベース点（走行経路情報）のｘ座標
ｙｎ      ベース点（走行経路情報）のｙ座標
Ｃ１      円
Ｃ３      第１の円
Ｃ４      第２の円
ｒ        円の半径
ｒ１      第１半径
ｒ２      第２半径
Ｐ０      選択されない走行目標点
Ｐ１、Ｐ３      第１走行目標点
Ｐ２、Ｐ４      第２走行目標点
ＶＰ、ＶＰ１      仮想走行目標点
Ｐ４−Ｖ      現在位置と第２走行目標点とを結ぶ線
Ｓ        障害物
Ｓｎ        障害物
ｄ        障害物と自律移動体領域の中心との間の距離
ｄｎ        障害物と自律移動体領域の中心との間の距離
Ｔ        予想走行軌跡
Ｔｎ        走行経路情報
ｔｎ        時間情報
θ        姿勢情報
θｎ        姿勢情報
Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５、Ｒ６      走行経路
ｍ        正の整数
ｎ        正の整数
θ        回転角
【図１】
2014219799.tif 000003
【図２】
2014219799.tif 000004
【図３】
2014219799.tif 000005
【図４】
2014219799.tif 000006
【図５】
2014219799.tif 000007
【図６】
2014219799.tif 000008
【図７】
2014219799.tif 000009
【図８】
2014219799.tif 000010
【図９】
2014219799.tif 000011
【図１０】
2014219799.tif 000012
【図１１Ａ】
2014219799.tif 000013
【図１１Ｂ】
2014219799.tif 000014
【図１１Ｃ】
2014219799.tif 000015
【図１２】
2014219799.tif 000016
【図１３Ａ】
2014219799.tif 000017
【図１３Ｂ】
2014219799.tif 000018
【図１３Ｃ】
2014219799.tif 000019
【図１３Ｄ】
2014219799.tif 000020
【図１３Ｅ】
2014219799.tif 000021
【図１４】
2014219799.tif 000022
【図１５Ａ】
2014219799.tif 000023
【図１５Ｂ】
2014219799.tif 000024
【図１５Ｃ】
2014219799.tif 000025
【図１５Ｄ】
2014219799.tif 000026
【図１５Ｅ】
2014219799.tif 000027
【図１６】
2014219799.tif 000028
【図１７】
2014219799.tif 000029
【図１８Ａ】
2014219799.tif 000030
【図１８Ｂ】
2014219799.tif 000031
【図１８Ｃ】
2014219799.tif 000032
【図１８Ｄ】
2014219799.tif 000033
【図１８Ｅ】
2014219799.tif 000034