(57)【要約】【課題】障害物を回避しつつ、目標座標に向かう際にその移動距離を短くできる制御装置を提供する。【解決手段】制御装置は、通常移動制御部と、障害物検知部と、回避制御部とを備える。通常移動制御部は、絶対座標で示される所定の目標座標へ向かって前記移動体を移動させる。障害物検知部は、前記目標座標と前記移動体との間に存在する障害物を検知する。回避制御部は、前記障害物検知部が障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体を移動させる。【選択図】図１
2015087994.tif 000002
【特許請求の範囲】
【請求項１】
移動体の移動を制御する制御装置であって、
絶対座標で示される所定の目標座標へ向かって前記移動体が移動するよう制御する通常移動制御部と、
前記目標座標と前記移動体との間に存在する障害物を検知する障害物検知部と、
前記障害物検知部が障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体が移動するよう制御する回避制御部と
を備える制御装置。
【請求項２】
前記回避制御部は、所定の回避座標へ向かって前記移動体が移動する挙動を決定する
請求項１に記載の制御装置。
【請求項３】
前記挙動は前記移動体が前進する挙動であり、
前記回避制御部は、当該挙動に基づいて前記移動体を制御する請求項２に記載の制御装置。
【請求項４】
前記回避制御部は、前記移動体が旋回する挙動で移動するよう制御する請求項２に記載の制御装置。
【請求項５】
前記回避制御部は、障害物検知部が検知する障害物の形状に基づいて、挙動を示す複数のパラメータのうちの１つを特定する
請求項１から請求項４の何れか一項に記載の制御装置。
【請求項６】
前記回避制御部は、障害物検知部が検知する障害物の形状に基づいて、複数の回避座標のうちの１つを特定する
請求項１から請求項５の何れか一項に記載の制御装置。
【請求項７】
請求項１から請求項６の何れか一項に記載の制御装置
を備える移動体。
【請求項８】
移動体の移動を制御する制御方法であって、
絶対座標で示される所定の目標座標へ向かって前記移動体が移動するよう制御し、
前記目標座標と前記移動体との間に存在する障害物を検知し、
障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体が移動するよう制御する制御方法。
【請求項９】
移動体の移動を制御する制御装置のコンピュータを、
絶対座標で示される所定の目標座標へ向かって前記移動体が移動するよう制御する通常移動制御手段と、
前記目標座標と前記移動体との間に存在する障害物を検知する障害物検知手段と、
前記障害物検知手段が障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体が移動するよう制御する回避制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、移動体、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
外部からの操作を必要としない自律ロボットの中には、障害物を回避できるものがある。
特許文献１には、二次元平面上において障害物を検知すると予め設定された回避距離だけ横行した後、車長に所定距離を加えた距離だけ前方へ走行し、元の経路に戻る無人搬送車に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５３８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の無人搬送車は、予め設定されている二次元平面上の経路データに沿って走行するため、障害物を検知し平行移動し、前方へ走行した後、元の経路に戻るため走行距離が長くなるという問題があった。
【０００５】
そこでこの発明は、上記の課題を解決することのできる制御装置、移動体、制御方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様によれば、制御装置は、通常移動制御部と、障害物検知部と、回避制御部とを備える。通常移動制御部は、絶対座標で示される所定の目標座標へ向かって前記移動体を移動させる。障害物検知部は、前記目標座標と前記移動体との間に存在する障害物を検知する。回避制御部は、前記障害物検知部が障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体を移動させる。
【０００７】
また本発明の別の態様によれば、前記制御装置が備える前記回避制御部は、前記移動体を所定の回避座標へ向かってどのような挙動で移動させるかを決定する。
【０００８】
また本発明の別の態様によれば、前記制御装置の備える前記回避制御部は、前記移動体が前進するような挙動で移動させる。
【０００９】
また本発明の別の態様によれば、前記制御装置の備える前記回避制御部は、前記移動体が旋回するような挙動で移動させる。
【００１０】
また本発明の別の態様によれば、前記制御装置の備える前記回避制御部は、障害物検知部が検知する障害物の形状に基づいて、挙動を示す複数のパラメータのうちの１つを特定する。
【００１１】
また本発明の別の態様によれば、前記制御装置の備える前記回避制御部は、障害物検知部が検知する障害物の形状に基づいて、複数の回避座標のうちの１つを特定する。
【００１２】
また本発明の別の態様によれば、移動体は前記制御装置を備える。
【００１３】
また本発明の別の態様によれば、移動体の移動を制御する制御方法であって、制御方法は、絶対座標で示される所定の目標座標へ向かって前記移動体を移動させ、前記目標座標と前記移動体との間に存在する障害物を検知し、障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体を移動させる。
【００１４】
また本発明の別の態様によれば、プログラムは、移動体の移動を制御する制御装置のコンピュータを、絶対座標で示される所定の目標座標へ向かって前記移動体が移動するよう制御する通常移動制御手段と、前記目標座標と前記移動体との間に存在する障害物を検知する障害物検知手段と、前記障害物検知手段が障害物を検知した場合、前記移動体を基準とした相対座標で示される所定の回避座標へ向かって前記移動体が移動するよう制御する回避制御手段として機能させる。
【発明の効果】
【００１５】
本発明の実施形態による制御装置によれば、障害物を回避しつつ、目標座標に向かう際にその移動距離を短くできる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第一の実施形態による制御装置１０を備える移動体２０の構成の一例を示す図である。
【図２】本発明の第一の実施形態による記憶部１１１が記憶する目標座標を示す目標データテーブルの一例を示す図である。
【図３】本発明の第一の実施形態による記憶部１１１が記憶する回避座標と回避時の挙動との対応を示す回避データテーブルの一例を示す図である。
【図４】第一の実施形態による制御装置１０を備える移動体２０の障害物３０ａの回避の一例を示す図である。
【図５】第一の実施形態による制御装置１０を備える移動体２０の処理フローの一例を示す図である。
【図６】障害物３０ａを回避中に別の障害物３０ｂを検出した場合の移動体２０の回避の一例を示す図である。
【図７】本発明の第二の実施形態による記憶部１１１が記憶する障害物形状と回避座標と回避時の挙動との対応を示す回避データテーブルの一例を示す図である。
【図８】第二の実施形態による制御装置１０を備える移動体２０の障害物３０ｃの回避の一例を示す図である。
【図９】第二の実施形態による制御装置１０を備える移動体２０の処理フローの一例を示す図である。
【発明を実施するための形態】
【００１７】
＜第一の実施形態＞
図１は、本発明の第一の実施形態による制御装置１０を備える移動体２０の構成の一例を示す図である。
図１で示すように、第一の実施形態による移動体２０は、制御装置１０と、移動装置１０４と、位置取得部１０５と、記憶部１１１とを備える。
第一の実施形態による制御装置１０は、障害物検知部１０１と、回避制御部１０２と、通常移動制御部１０３とを備える。
【００１８】
障害物検知部１０１は、目標座標と障害物検知部１０１を備える移動体２０との間に存在する障害物を検知する。また、障害物検知部１０１は、移動体２０が回避座標に向かって障害物を回避する際に、障害物を検知する。障害物検知部１０１は、障害物の検知結果を回避制御部１０２や通常移動制御部１０３に出力する。障害物検知部１０１は、例えば、距離センサを備え、検出距離が設定した距離しきい値よりも短い場合に障害物を検出したと判定する。
【００１９】
回避制御部１０２は、障害物検知部１０１が障害物を検知した場合、障害物検知部１０１から入力する検知結果と、位置取得部１０５から入力する情報と、相対座標で示される回避座標と移動体２０の挙動を決定する制御パラメータを含むデータテーブルと、に基づいて制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０が回避座標に向かって移動するように制御する。
【００２０】
通常移動制御部１０３は、障害物検知部１０１が障害物を検知せず回避制御部１０２が移動装置１０４を制御していない場合、障害物検知部１０１から入力する検知結果と位置取得部１０５から入力する情報とに基づいて制御データを決定する。通常移動制御部１０３は、決定した制御データを移動装置１０４に出力し、移動体２０が目標座標に向かって移動するように制御する。
【００２１】
移動装置１０４は、回避制御部１０２または通常移動制御部１０３による制御に基づいて動作し、移動体２０を移動させる。
位置取得部１０５は、移動体２０の現在位置や目標座標を取得する。位置取得部１０５は、取得した情報を回避制御部１０２や通常移動制御部１０３に出力する。位置取得部１０５は、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）や通信機能を備える。
記憶部１１１は、目標座標や回避座標、移動体２０が障害物を回避する際の挙動パターンなどの移動体２０が移動するために必要となる種々のデータを記憶する。
【００２２】
図２は、本発明の第一の実施形態による記憶部１１１が記憶する目標座標を示す目標データテーブルの一例を示す図である。
この図のデータテーブルで示す目標座標は、三次元空間におけるある点を基準とした絶対座標で示される移動体２０の移動の目標座標である。目標座標を示すＸ、Ｙ、Ｚは、例えば、緯度、経度、海底からの高度である。目標座標は、目標座標１（ｘ１，ｙ１，ｚ１）、目標座標２（ｘ２，ｙ２，ｚ２）、・・・と複数存在する。移動体２０は、データテーブルの目標座標１、目標座標２、・・・の順番に最終目標座標まで移動する。
【００２３】
図３は、本発明の第一の実施形態による記憶部１１１が記憶する回避座標と回避時の挙動との対応を示す回避データテーブルの一例を示す図である。
この図のデータテーブルで示す回避座標は、相対座標である。回避座標は、障害物検知部１０１が障害物を検知した時に移動体２０が位置していた絶対座標を基準とする移動体２０の回避先の座標を示している。回避座標を示すΔＸ、ΔＹ、ΔＺは、例えば、緯度の変化量、経度の変化量、海底からの高度の変化量である。回避座標は、回避座標１（ａ１，ｂ１，ｃ１）、回避座標２（ａ２，ｂ２，ｃ２）、・・・と複数存在する。移動体２０は、データテーブルの回避座標１、回避座標２、・・・の順番に最終回避座標まで移動する。
また、この図のデータテーブルで示す挙動は、移動体２０が、回避座標まで移動する際の挙動を示している。また、この図のデータテーブルで示す移動体２０の挙動を決定する制御パラメータは、移動体２０がその挙動となるように回避制御部１０２が制御に使用する制御データの一部を示している。
【００２４】
図４は、第一の実施形態による制御装置１０を備える移動体２０の障害物３０ａの回避の一例を示す図である。
この図４には、移動体２０がスタート座標（ｘ０，ｙ０，ｚ０）から目標座標（ｘ１，ｙ１，ｚ１）へ向かって移動する経路が示されている。移動体２０が移動する経路は、スタート座標から障害物３０ａを検出するまでの経路、障害物３０ａを検出し回避座標まで移動する経路、回避座標から目標座標までの経路である。なお、図４で示される三次元空間における絶対座標の基準は、原点Ｏ（０，０，０）である。
【００２５】
図５は、第一の実施形態による制御装置１０を備える移動体２０の処理フローの一例を示す図である。
次に、第一の実施形態による移動体２０の処理フローについて説明する。
この図５で示す処理フローは、図４で示した三次元空間におけるスタート座標から目標座標まで移動する移動体２０の処理フローである。
なお、ここでは、移動体２０が図４で示した障害物３０ａを回避した後、後述する障害物３０ｂも回避するものとして説明する。また、移動体２０は、予め絶対座標であるスタート座標（ｘ０，ｙ０，ｚ０）と目標座標（ｘ１，ｙ１，ｚ１）の情報を取得しているものとする。例えば、移動体２０が備える位置取得部１０５は、ＧＰＳにより現在位置の座標を取得する。そして、移動体２０は、予め設定した目標座標と共に現在位置を記憶部１１１に記録する。移動体２０が記憶部１１１に記録する目標座標は、例えば図２で示したデータテーブルである。
【００２６】
移動体２０が移動を開始する場合、まず、制御装置１０の通常移動制御部１０３は、移動体２０が停止する制御データを移動装置１０４に出力する。通常移動制御部１０３が記憶部１１１から目標座標と、現在位置の座標であるスタート座標と、通常移動するための制御データとを読み出す。通常移動制御部１０３は、目標座標とスタート座標とに基づいて、目標座標までの距離が最短となる移動方向を算出する。移動体２０は、通常移動可能な状態となる（ステップＳ１）。このとき、回避制御部１０２は移動装置１０４に制御データを出力しない待機状態である。なお、通常移動制御部１０３の制御により移動体２０が目標座標に向かって移動する場合を通常移動とする。また、回避制御部１０２の制御により移動体２０が回避座標に向かって移動する場合を障害物回避とする。
【００２７】
障害物検知部１０１は、移動体２０の現在位置において障害物を検知するか否かを判定する（ステップＳ２）。障害物検知部１０１は、例えば距離センサを備え、距離センサの検出距離が障害物検知の判定のために設定したしきい値よりも短い場合、障害物を検知したと判定する。障害物検知部１０１は、距離センサの検出距離が設定したしきい値よりも長い場合、障害物を検知しないと判定する。この障害物検知部１０１が行う判定は、移動体２０が障害物を適切に回避できる時間が確保できる所定の短い間隔で行われる。
【００２８】
障害物検知部１０１が障害物を検知した場合（ステップＳ２、ＹＥＳ）、後述するステップＳ８で移動体２０が障害物回避する処理を行う。
障害物検知部１０１が障害物を検知しない場合（ステップＳ２、ＮＯ）、障害物検知部１０１は、障害物を検知しないことを示す未検知信号を回避制御部１０２と通常移動制御部１０３に出力する。
回避制御部１０２は、未検知信号が入力された場合、待機状態のままである。通常移動制御部１０３は、未検知信号を入力すると、位置取得部１０５から取得した最新の現在位置座標に基づいて、移動体２０の現在位置が目標座標であるか否かを判定する（ステップＳ３）。
【００２９】
通常移動制御部１０３は、例えば、記憶部１１１から読み出した絶対座標で示される目標座標と、位置取得部１０５から取得した現在位置の絶対座標との差が設定された許容範囲内である場合に、移動体２０が目標座標に位置していると判定する。
移動体２０が目標座標に位置していると通常移動制御部１０３が判定した場合（ステップＳ３、ＹＥＳ）、通常移動制御部１０３は、移動体２０が複数の目標座標のうち最終目標座標であるか否かを判定する（ステップＳ４）。
移動体２０が複数の目標座標のうち最終目標座標であると通常移動制御部１０３が判定した場合（ステップＳ４、ＹＥＳ）、通常移動制御部１０３は、移動体２０が停止し続ける制御データを移動装置１０４に出力し、移動体２０の処理フローを終了する。
移動体２０が複数の目標座標のうち最終目標座標ではないと通常移動制御部１０３が判定した場合（ステップＳ４、ＮＯ）、通常移動制御部１０３は、次の目標座標を設定する（ステップＳ５）。通常移動制御部１０３は、ステップＳ１で目標座標とスタート座標とに基づいて算出した最短距離となる移動方向に移動体２０が移動するための制御データを決定する。通常移動制御部１０３は、決定した制御データを移動装置１０４に出力し、移動体２０を通常移動させる（ステップＳ６）。
また、移動体２０が目標座標に位置していないと通常移動制御部１０３が判定した場合（ステップＳ３、ＮＯ）、通常移動制御部１０３は、決定した制御データを移動装置１０４に出力し、移動体２０を通常移動させる（ステップＳ６）。
【００３０】
障害物検知部１０１は、所定の時間間隔後、移動体２０の現在位置において障害物を検知するか否かを判定する。（ステップＳ７）。障害物検知部１０１が障害物を検知しない場合（ステップＳ７、ＮＯ）、ステップＳ３の移動体２０の現在位置が目標座標であるか否かの判定処理に戻る。
【００３１】
ステップＳ３からステップＳ７までの処理は、障害物検知部１０１が障害物を検知する、あるいは移動体２０が目標座標に位置していると通常移動制御部１０３が判定するまで繰り返される。
ここまで説明した移動体２０の処理により、移動体２０は、図４において示すスタート座標（ｘ０，ｙ０，ｚ０）から障害物検知座標（ｘ２，ｙ２，ｚ２）までの経路Ａを前進して移動する。
【００３２】
ステップＳ２、またはステップＳ７における障害物検知部１０１による障害物を検知するか否かの判定処理において、障害物検知部１０１が障害物を検知したと判定した場合（ステップＳ２、ＹＥＳ、ステップＳ７、ＹＥＳ）、障害物検知部１０１は、障害物を検知したことを示す検知信号を回避制御部１０２と通常移動制御部１０３に出力する。
【００３３】
通常移動制御部１０３は、障害物検知部１０１から検知信号を入力すると待機状態となる。また、回避制御部１０２は、障害物検知部１０１から検知信号を入力すると、障害物検知部１０１から入力する検知結果と、位置取得部１０５から入力する情報と、記憶部１１１から読み出す相対座標で示される回避座標と移動体２０の挙動を決定する制御パラメータを含むデータテーブルと、に基づいて移動体２０を回避座標へ向かうための制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０を障害物回避させる（ステップＳ８）。ここで回避制御部１０２が記憶部１１１から読み出す相対座標で示される回避座標と制御パラメータを含むデータテーブルは、例えば図３で示したデータテーブルである。
例えば、移動体２０が図４で示す障害物検知座標（ｘ２，ｙ２，ｚ２）に位置しているときに、障害物検知部１０１が障害物３０ａを検知したとする。回避制御部１０２は、位置取得部１０５から現在位置の絶対座標（Ｘ，Ｙ，Ｚ）として（ｘ２，ｙ２，ｚ２）を取得する。回避制御部１０２は、記憶部１１１から相対座標で示される回避座標（ΔＸ，ΔＹ，ΔＺ）と移動体２０の挙動を決定する制御パラメータを含むデータテーブルを読み出す。回避制御部１０２が記憶部１１１から読み出したデータテーブルが図３である場合、回避座標（ΔＸ，ΔＹ，ΔＺ）は（ａ１，ｂ１，ｃ１）であり、制御パラメータは移動体２０の挙動が旋回１（旋回のうちの１つ）となるパラメータＡである。回避制御部１０２は、現在位置の絶対座標（Ｘ，Ｙ、Ｚ）と相対座標で示される（ΔＸ，ΔＹ，ΔＺ）とから（Ｘ＋ΔＸ，Ｙ＋ΔＹ，Ｚ＋ΔＺ）を算出する。この場合、回避制御部１０２は（Ｘ＋ΔＸ，Ｙ＋ΔＹ，Ｚ＋ΔＺ）として（ｘ２＋ａ１，ｙ２＋ｂ１，ｚ２＋ｃ１）を算出する。このように、回避制御部１０２は、移動体２０が障害物３０ａを回避する場合の回避座標を絶対座標として算出する。また、回避制御部１０２は、読み出したデータテーブルに含まれる移動体２０の挙動を決定する制御パラメータＡに基づいて移動装置１０４を制御する制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０を回避座標（ｘ２＋ａ１，ｙ２＋ｂ１，ｚ２＋ｃ１）に向かって旋回しながら障害物回避させる。
【００３４】
回避制御部１０２は、所定の時間間隔後、位置取得部１０５から取得した最新の現在位置座標に基づいて、移動体２０の現在位置が絶対座標として算出した回避座標であるか否かを判定する（ステップＳ９）。
回避制御部１０２は、例えば、絶対座標として演算した回避座標と、位置取得部１０５から取得した現在位置の絶対座標との差が設定された許容範囲内である場合に、移動体２０が回避座標に位置していると判定する。
【００３５】
回避制御部１０２は、移動体２０が絶対座標として算出した回避座標に位置していると判定した場合（ステップＳ９、ＹＥＳ）、移動体２０が複数の回避座標のうち最終回避座標であるか否かを判定する（ステップＳ１０）。
移動体２０が複数の回避座標のうち最終回避座標であると回避制御部１０２が判定した場合（ステップＳ１０、ＹＥＳ）、回避制御部１０２は、後述するステップＳ１４において記憶部１１１に記録される検知回数と回避座標テーブルとをリセットする（ステップＳ１１）。そして、回避制御部１０２は、待機状態となる。また、通常移動制御部１０３は、ステップＳ６の処理で示した移動体２０を通常移動させる制御を開始する。
移動体２０が複数の回避座標のうち最終回避座標ではないと回避制御部１０２が判定した場合（ステップＳ１０、ＮＯ）、回避制御部１０２は、回避座標テーブルにおける次の回避座標を設定する（ステップＳ１２）。回避制御部１０２は、設定した回避座標に対応する挙動で移動体２０を障害物回避させる。そして、回避制御部１０２は、移動体２０の現在位置において障害物を検知するか否かを判定する（ステップＳ１３）。
また、移動体２０が絶対座標として算出した回避座標に位置していないと回避制御部１０２が判定した場合（ステップＳ９、ＮＯ）、回避制御部１０２は、移動体２０の現在位置において障害物を検知するか否かを判定する（ステップＳ１３）。
【００３６】
障害物検知部１０１が障害物を検知しない場合（ステップＳ１３、ＮＯ）、障害物検知部１０１は、障害物を検知しないことを示す未検知信号を回避制御部１０２と通常移動制御部１０３に出力する。通常移動制御部１０３は、未検知信号が入力された場合、待機状態のままである。回避制御部１０２は、未検知信号を入力すると、ステップＳ８の回避制御部１０２が移動体２０を障害物回避させる処理に戻る。
障害物検知部１０１が障害物を検知した場合（ステップＳ１３、ＹＥＳ）、障害物検知部１０１は、障害物を検知したことを示す検知信号を回避制御部１０２と通常移動制御部１０３に出力する。
【００３７】
通常移動制御部１０３は、検知信号が入力された場合、待機状態のままである。回避制御部１０２は、検知信号を入力すると、移動体２０が障害物回避しているときの障害物検知回数を示す記憶部１１１に記録されている検知回数を１プラスする（ステップＳ１４）。なお、移動体２０の初期状態において、記憶部１１１が記憶している検知回数はゼロである。回避制御部１０２は、予め設定し記録されている最大繰り返し回数と、検知回数を記憶部１１１から読み出す。回避制御部１０２は、検知回数と最大繰り返し回数とを比較し、検知回数が最大繰り返し回数よりも小さいか否かを判定する（ステップＳ１５）。
回避制御部１０２は、検知回数が最大繰り返し回数よりも小さいと判定した場合（ステップＳ１５、ＹＥＳ）、ステップＳ８の回避制御部１０２が移動体２０を障害物回避させる処理に戻る。
【００３８】
図６は、障害物３０ａを回避中に別の障害物３０ｂを検出した場合の移動体２０の回避の一例を示す図である。
この図６で示す例では、障害物検知部１０１は、移動体２０が障害物３０ａを回避中の絶対座標（ｘ３，ｙ３，ｚ３）に位置しているときに障害物３０ｂを検知する。従って、回避制御部１０２がステップＳ１５の処理を行い、ＹＥＳと判定する。この場合、ステップＳ８の処理に戻ったときの移動体２０の現在位置（Ｘ、Ｙ、Ｚ）は（ｘ３，ｙ３，ｚ３）である。
従って、ステップＳ８に戻り回避制御部１０２が演算する回避座標としての回避座標（Ｘ＋ΔＸ，Ｙ＋ΔＹ，Ｚ＋ΔＺ）は（ｘ３＋ａ１，ｙ３＋ｂ１，ｚ３＋ｃ１）である。
【００３９】
回避制御部１０２は、検知回数が最大繰り返し回数よりも大きいあるいは同一であると判定した場合（ステップＳ１５、ＮＯ）、回避制御部１０２は、異常処理、すなわち移動体２０を停止させたり狭い範囲を往復運動させたりするなど、移動体２０が現在位置からほとんど移動しないように制御する。（ステップＳ１６）。回避制御部１０２は、異常を知らせる信号を外部に送信し、待機状態となりオペレータからの指令を待つ。
【００４０】
以上、第一の実施形態による制御装置１０を備える移動体２０の処理フローについて説明したが、上述の制御装置１０の処理によれば、障害物３０を回避しつつ、目標座標に向かう際にその移動距離を短くできる。
【００４１】
＜第二の実施形態＞
本発明の第二の実施形態による制御装置１０を備える移動体２０の構成の一例は、第一の実施形態による制御装置１０と同様である。
ただし、障害物検知部１０１と回避制御部１０２の機能が異なる。また、記憶部１１１の記憶するデータテーブルが異なる。
障害物検知部１０１は、目標座標と障害物検知部１０１を備える移動体２０との間に存在する障害物を検知する。また、障害物検知部１０１は、障害物を検知し、移動体２０が回避座標に向かって障害物を回避する際に、障害物を検知する。障害物検知部１０１は、障害物を検知する際、障害物の形状（形、大きさなど）を検知する。障害物検知部１０１は、障害物の形状を含む検知結果を回避制御部１０２や通常移動制御部１０３に出力する。障害物検知部１０１は、例えば、距離センサやカメラを備える。障害物検知部１０１は、検出距離が設定した距離しきい値よりも短い場合に障害物を検出したと判定する。障害物検知部１０１は、距離センサが検出した検出距離やカメラが撮影した映像を解析し、障害物の形状を特定する。
【００４２】
回避制御部１０２は、障害物検知部１０１が障害物を検知した場合、障害物検知部１０１から入力する障害物の形状を含む検知結果と、位置取得部１０５から入力する情報と、障害物検知部１０１の検知結果に基づいて特定した挙動を決定する制御パラメータを含むデータテーブルと、に基づいて制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０が回避座標に向かって移動するように制御する。
【００４３】
図７は、本発明の第二の実施形態による記憶部１１１が記憶する障害物形状と回避座標と回避時の挙動との対応を示す回避データテーブルの一例を示す図である。
この図のデータテーブルで示す障害物形状は、移動体２０が回避する可能性のある予め予想した様々な形や大きさの障害物の形状を示すデータである。
第一の実施形態による記憶部１１１が記憶するデータテーブルと同様に、この図のデータテーブルで示す回避座標は相対座標である。回避座標は、障害物検知部１０１が障害物を検知した時に移動体２０が位置していた絶対座標を基準とする移動体２０の回避先の座標を示している。回避座標を示すΔＸ、ΔＹ、ΔＺは、例えば、緯度の変化量、経度の変化量、海底からの高度の変化量である。
この図のデータテーブルで示す挙動は、移動体２０が、回避座標まで移動する際の挙動を示している。また、この図のデータテーブルで示す移動体２０の挙動を決定する制御パラメータは、移動体２０がその挙動となるように回避制御部１０２が制御に使用する制御データの一部を示している。
回避座標、挙動、制御パラメータは、それぞれの障害物の形状において、移動体２０が効率的に障害物を回避できるように対応付けられている。
【００４４】
図８は、第二の実施形態による制御装置１０を備える移動体２０の障害物３０ｃの回避の一例を示す図である。
この図８には、移動体２０がスタート座標（ｘ２，ｙ２，ｚ２）から目標座標（ｘ１，ｙ１，ｚ１）へ向かって移動する経路が示されている。移動体２０が移動する経路は、スタート座標から障害物３０ｃを検出するまでの経路、障害物３０ｃを検出し回避座標まで移動する経路、回避座標から目標座標までの経路である。なお、図８で示される三次元空間における絶対座標の基準は、原点Ｏ（０，０，０）である。
【００４５】
図９は、第二の実施形態による制御装置１０を備える移動体２０の処理フローの一例を示す図である。
次に、第二の実施形態による移動体２０の処理フローについて説明する。
この図９で示す処理フローは、図８で示した三次元空間におけるスタート座標から目標座標まで移動する移動体２０の処理フローである。
なお、ここでは、障害物検知部１０１が図８で示した障害物３０ｃの形状を検出し、回避制御部１０２は、障害物検知部１０１が検出した形状に基づく制御データを用いて移動体２０を障害物回避させるものとして説明する。また、ここでは、図５で示した第一の実施形態による制御装置１０を備える移動体２０の処理フローと異なるステップＳ１７の処理について説明する。
【００４６】
検知信号を入力された回避制御部１０２は、障害物検知部１０１から入力する障害物の形状を含む検知結果と、位置取得部１０５から入力する情報と、相対座標で示される回避座標と移動体２０の挙動を決定する制御パラメータを含むデータテーブルと、に基づいて移動体２０を回避座標へ向かうための制御データを決定する。また、通常移動制御部１０３は、待機状態となる。ここで回避制御部１０２が記憶部１１１から読み出す障害物形状と相対座標で示される回避座標と制御パラメータとを含むデータテーブルは、例えば図７で示したデータテーブルである。回避制御部１０２は、障害物検知部１０１から入力する障害物の形状を含む検知結果障害物の形や大きさなどの障害物の形状を算出する。回避制御部１０２は、算出した障害物の形状と、記憶部１１１から読み出したデータテーブルに含まれる障害物形状のデータとを比較する。そして、回避制御部１０２は、算出した障害物の形状に最も近いデータテーブルに含まれる障害物形状のデータを特定する。回避制御部１０２は、特定した障害物形状に対応づけられている回避座標と挙動パラメータに基づいて移動装置１０４を制御する制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０を障害物回避させる（ステップＳ１７）。
【００４７】
例えば、移動体２０が図８で示す障害物検知座標（ｘ２，ｙ２，ｚ２）に位置しているときに、障害物検知部１０１が障害物３０ｃを検知したとする。回避制御部１０２は、位置取得部１０５から現在位置の絶対座標（Ｘ，Ｙ，Ｚ）として（ｘ２，ｙ２，ｚ２）を取得する。回避制御部１０２は、障害物検知部１０１から障害物の形状を含む検知結果を入力する。回避制御部１０２は、記憶部１１１から障害物形状と相対座標で示される回避座標（ΔＸ，ΔＹ，ΔＺ）と移動体２０の挙動を決定する制御パラメータを含むデータテーブルを読み出す。回避制御部１０２は、障害物検知部１０１から入力した障害物の形状と、記憶部１１１から読み出したデータテーブルに含まれる障害物形状のデータとを比較する。回避制御部１０２が記憶部１１１から読み出したデータテーブルが図７で示したデータテーブルであるとする。また、回避制御部１０２が障害物の形状が、データテーブルの形状Ｂに最も近いと判定したとする。その場合、回避制御部１０２が特定する回避座標（ΔＸ，ΔＹ，ΔＺ）は（ａＢ１，ｂＢ１，ｃＢ１）であり、回避制御部１０２が特定する制御パラメータは移動体２０の挙動が前進２（前進のうちの１つ）となるパラメータＧである。回避制御部１０２は、現在位置の絶対座標（Ｘ，Ｙ、Ｚ）と相対座標で示される（ΔＸ，ΔＹ，ΔＺ）とから（Ｘ＋ΔＸ，Ｙ＋ΔＹ，Ｚ＋ΔＺ）を算出する。この場合、回避制御部１０２は（Ｘ＋ΔＸ，Ｙ＋ΔＹ，Ｚ＋ΔＺ）として（ｘ２＋ａＢ１，ｙ２＋ｂＢ１，ｚ２＋ｃＢ１）を算出する。このように、回避制御部１０２は、移動体２０が障害物３０ｃを回避する場合の回避座標を絶対座標として算出する。また、回避制御部１０２は、読み出したデータテーブルに含まれる移動体２０の挙動を決定する制御パラメータＧに基づいて移動装置１０４を制御する制御データを決定する。回避制御部１０２は、決定した制御データを移動装置１０４に出力し、移動体２０を回避座標（ｘ２＋ａＢ１，ｙ２＋ｂＢ１，ｚ２＋ｃＢ１）に向かって前進しながら障害物回避させる。
なお、ステップＳ２の処理判定がＹＥＳ、または、ステップＳ１５の処理判定がＹＥＳの場合、ステップＳ１７の処理を行う。
【００４８】
以上、第二の実施形態による制御装置１０を備える移動体２０の処理フローについて説明したが、上述の制御装置１０の処理によれば、障害物を回避しつつ、目標座標に向かう際にその移動距離を短くできる。また、上述の制御装置１０の処理によれば、移動体２０は、障害物３０の形状に応じて効率的に障害物を回避できる。
【００４９】
なお、以上の実施形態では、移動体２０は海中を移動するものとして説明したが、海中に限定するものではない。移動体２０は、搬送機器、水中航走体、飛翔体などであってもよい。また、以上の実施形態では、三次元空間について説明したが、二次元空間に適用してもよい。また、相対座標は、移動体２０の進行方向のベクトルに対して所定の角度と長さで示されるベクトルであってもよい。また、障害物の形状、座標の基準、座標系、移動体２０の障害物回避時の挙動などは、以上の実施形態で示したものに限定するものではない。
【００５０】
なお本発明の実施形態について説明したが、上述の制御装置１０は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００５１】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定するものではない。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができるものである。
【符号の説明】
【００５３】
１０・・・制御装置
２０・・・移動体
３０・・・障害物
１０１・・・障害物検知部
１０２・・・回避制御部
１０３・・・通常移動制御部
１０４・・・移動装置
１１１・・・記憶部
【図１】
2015087994.tif 000003
【図２】
2015087994.tif 000004
【図３】
2015087994.tif 000005
【図４】
2015087994.tif 000006
【図５】
2015087994.tif 000007
【図６】
2015087994.tif 000008
【図７】
2015087994.tif 000009
【図８】
2015087994.tif 000010
【図９】
2015087994.tif 000011