(57)【要約】【課題】目的位置に到達するタイミングをより協調させることができる複数のビークルの移動制御方法等を提供すること。【解決手段】複数のビークルの各々に個別に設定された目的位置まで複数のビークルを移動させる複数のビークルの移動制御方法であって、複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら複数のビークルを各々の目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、複数のビークルの各々の位置が各々の目的位置から第１距離以上かつ更新距離内の位置になった場合、第１距離をより短い距離に更新するステップと、を含む。【選択図】図７
2020060924.tif 000002
【特許請求の範囲】
【請求項１】
複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる複数のビークルの移動制御方法であって、
前記複数のビークルの各々の位置を取得するステップと、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、
前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、
を含む複数のビークルの移動制御方法。
【請求項２】
前記制御入力を前記複数のビークルの各々に送信するステップを含む
請求項１に記載の複数のビークルの移動制御方法。
【請求項３】
前記第１距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させる、
請求項１又は２に記載の複数のビークルの移動制御方法。
【請求項４】
前記所定条件は、前記ビークルを他の前記ビークルから第２距離以上離すことを含む
請求項１から３のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項５】
前記所定条件は、前記ビークルを他の前記ビークルの過去の移動経路から第３距離以上離すことを含む
請求項１から４のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項６】
前記所定条件は、前記ビークルを他の前記ビークルの前記目的位置から第４距離以上離すことを含む
請求項１から５のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項７】
前記所定条件は、前記ビークルの移動速度が下限速度から上限速度の範囲内であることを含む
請求項１から６のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項８】
前記所定条件は、前記ビークルが侵入禁止領域外を移動することを含む
請求項１から７のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項９】
前記複数のビークルの各々の位置が前記侵入禁止領域から第５距離以内である場合、前記侵入禁止領域をより狭い領域に更新するステップを含む
請求項８に記載の複数のビークルの移動制御方法。
【請求項１０】
前記より狭い領域は、更新前の前記侵入禁止領域内の領域である
請求項９に記載の複数のビークルの移動制御方法。
【請求項１１】
前記侵入禁止領域は、複数のビークルの目的位置のうち１つ以上を含む
請求項８から１０のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項１２】
前記複数のビークルの相対位置関係を、前記複数のビークルの各々に個別に設定された目的位置の相対位置関係に対応させるステップを含み、
前記対応させるステップは、前記決定するステップよりも前に行われる
請求項１から１１のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項１３】
前記所定条件は、前記ビークルの位置と当該ビークルの目的位置とを通る直線と、他の前記ビークルの目的位置との距離が第６距離以上であることを含む
請求項１から１１のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項１４】
前記決定するステップにおいて、前記ビークルの位置の取得から前記制御入力が前記ビークルの移動に反映されるまでに経過することが想定される時間を複数のタイミングに分割し、過去に算出された前記制御入力に基づいて予想される当該ビークルの位置をタイミング毎に算出したうえで新たに与える前記制御入力を算出する
請求項１から１２のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項１５】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させる移動制御装置であって、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、
を備える移動制御装置。
【請求項１６】
前記制御部は、前記制御入力を前記複数のビークルの各々に送信する
請求項１５に記載の移動制御装置。
【請求項１７】
複数のビークルと、
前記複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる移動制御装置とを備える移動制御システムであって、
前記移動制御装置は、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を前記複数のビークルの各々に送信し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、
を備える移動制御システム。
【請求項１８】
複数のビークルと、
前記複数のビークルの各々に設けられる移動制御装置とを備える移動制御システムであって、
前記移動制御装置は、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の目的位置から第１距離以上離れた位置に移動させる制御入力を決定し、当該移動制御装置を備えるビークルに当該ビークルの制御入力を適用し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、
を備える移動制御システム。
【請求項１９】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させるプログラムであって、
コンピュータに、
前記複数のビークルの各々の位置を取得するステップと、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、
前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、
を実行させるためのプログラム。
【請求項２０】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータに、
前記複数のビークルの各々の位置を取得するステップと、
所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、
前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
複数のビークルを移動させる技術（Ｓｗａｒｍ技術）の一つとして、複数の船舶の進路制御方法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１３６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、複数の船舶の進路を定めているに過ぎない。このため、一部の船舶が他の船舶よりも先行して目的位置に到達してしまうことがあった。すなわち、複数の船舶が目的位置に到達するタイミングを協調させることが困難であった。
【０００５】
また、従来技術のような水上の船舶に限らず、空中、陸上、水中又は水上を移動する複数のビークルを移動させるＳｗａｒｍ技術において、目的位置に到達するタイミングを協調させることは困難であった。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、目的位置に到達するタイミングをより協調させることができる複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る複数のビークルの移動制御方法は、複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる複数のビークルの移動制御方法であって、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、を含むことを特徴とする。
【０００８】
この構成によれば、複数のビークルが各々の目的位置から第１距離以上の位置に移動した後に第１距離がより短い距離に更新される。これによって、各々の目的位置に対する複数のビークルの近接の度合いを協調させることができる。従って、目的位置に到達するタイミングをより協調させることができる。
【０００９】
この構成において、前記制御入力を前記複数のビークルの各々に送信するステップを含んでいてもよい。
【００１０】
この構成において、前記第１距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させてもよい。
【００１１】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルから第２距離以上離すことを含んでもよい。
【００１２】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルの過去の移動経路から第３距離以上離すことを含んでもよい。
【００１３】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルの前記目的位置から第４距離以上離すことを含んでもよい。
【００１４】
この構成において、前記所定条件は、前記ビークルの移動速度が下限速度から上限速度の範囲内であることを含んでもよい。
【００１５】
この構成において、前記所定条件は、前記ビークルが侵入禁止領域外を移動することを含んでもよい。
【００１６】
この構成において、前記複数のビークルの各々の位置が前記侵入禁止領域から第５距離以内である場合、前記侵入禁止領域をより狭い領域に更新するステップを含んでもよい。
【００１７】
この構成において、前記より狭い領域は、更新前の前記侵入禁止領域内の領域であってもよい。
【００１８】
この構成において、前記侵入禁止領域は、複数のビークルの目的位置のうち１つ以上を含んでいてもよい。
【００１９】
この構成において、前記複数のビークルの相対位置関係を、前記複数のビークルの各々に個別に設定された目的位置の相対位置関係に対応させるステップを含み、前記対応させるステップは、前記決定するステップよりも前に行われてもよい。
【００２０】
この構成において、前記所定条件は、前記ビークルの位置と当該ビークルの目的位置とを通る直線と、他の前記ビークルの目的位置との距離が第６距離以上であることを含んでもよい。
【００２１】
この構成において、前記決定するステップにおいて、前記ビークルの位置の取得から前記制御入力が前記ビークルの移動に反映されるまでに経過することが想定される時間を複数のタイミングに分割し、過去に算出された前記制御入力に基づいて予想される当該ビークルの位置をタイミング毎に算出したうえで新たに与える前記制御入力を算出してもよい。
【００２２】
本発明に係る移動制御装置は、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させる移動制御装置であって、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、を備えることを特徴とする。
【００２３】
この構成において、前記制御部は、前記制御入力を前記複数のビークルの各々に送信してもよい。
【００２４】
本発明に係る移動制御システムは、複数のビークルと、前記複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる移動制御装置とを備える移動制御システムであって、前記移動制御装置は、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を前記複数のビークルの各々に送信し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、を備える。
【００２５】
本発明に係る移動制御システムは、複数のビークルと、前記複数のビークルの各々に設けられる移動制御装置とを備える移動制御システムであって、前記移動制御装置は、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の目的位置から第１距離以上離れた位置に移動させる制御入力を決定し、当該移動制御装置を備えるビークルに当該ビークルの制御入力を適用し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するように構成された制御部と、を備える。
【００２６】
本発明に係るプログラムは、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させるプログラムであって、コンピュータに、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、を実行させる。
【００２７】
本発明に係る記録媒体は、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち１つ以上を移動させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第１距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第１距離以上かつ更新距離内となった場合、前記第１距離をより短い距離に更新するステップと、を実行させるためのプログラムを記録する。
【発明の効果】
【００２８】
本発明によれば、目的位置に到達するタイミングをより協調させることができる。
【図面の簡単な説明】
【００２９】
【図１】図１は、第１実施形態の移動制御装置を含む移動制御システムの主要構成を示すブロック図である。
【図２】図２は、複数のビークルが各々の目的位置まで個別に移動する例を示す模式図である。
【図３】図３は、予め設定された２次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
【図４】図４は、予め設定された２次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
【図５】図５は、予め設定された２次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
【図６】図６は、予め設定された２次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
【図７】図７は、第１実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
【図８】図８は、図７に示す制御入力算出処理の流れを示すフローチャートである。
【図９】図９は、侵入禁止領域の一例を示す模式図である。
【図１０】図１０は、図９に示す侵入禁止領域がより狭い領域に更新された一例を示す模式図である。
【図１１】図１１は、第２実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
【図１２】図１２は、フォーメーション編成処理に基づいて移動したビークルを示す模式図である。
【図１３】図１３は、フォーメーション編成処理の完了後に目的位置により近づくビークルを示す模式図である。
【図１４】図１４は、第３実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
【図１５】図１５は、図１４に示すフォーメーション編成処理の流れを示すフローチャートである。
【図１６】図１６は、現在時刻とタイムラグとの関係を模式的に示すタイムチャートである。
【図１７】図１７は、第５実施形態によるビークルの移動経路を示す模式図である。
【図１８】図１８は、変形例の移動制御システムの主要構成を示すブロック図である。
【発明を実施するための形態】
【００３０】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能である。
【００３１】
［第１実施形態］
図１は、第１実施形態の移動制御装置１０を含む移動制御システム１の主要構成を示すブロック図である。移動制御システム１は、複数のビークルＢの移動経路を制御するシステムである。移動制御装置１０は、複数のビークルＢの移動を制御する。図１等では、複数のビークルＢの各々を区別する目的で、符号Ｂ１，Ｂ２，Ｂ３…を付している。
【００３２】
複数のビークルＢの各々は、位置検出部５１と、通信部５２と、動力部５３とを備える。位置検出部５１は、当該位置検出部５１が設けられたビークルＢの位置を検出する。位置検出部５１の具体的構成例として、グローバル・ポジショニング・システム（ＧＰＳ：Global  Positioning  System）等の測位システムを利用して位置を検出するための測位装置が挙げられる。位置検出部５１は、所定の起点に対する位置を検出する慣性航法装置であってもよい。
【００３３】
通信部５２は、移動制御装置１０と通信を行う。通信部５２の具体的構成例として、無線通信装置が挙げられる。通信部５２は、移動制御装置１０と有線通信を行う構成であってもよい。
【００３４】
動力部５３は、ビークルＢを移動させる動力として機能する。動力部５３の具体的構成は、ビークルＢの運用形態に応じる。一例として、ビークルＢが地上を走行するビークルである場合、動力部５３は、複数の車輪と、当該複数の車輪の一部又は全部を駆動する原動機を含む。ここに例示した動力部５３の具体的構成はあくまで一例であってこれに限られるものでない。動力部５３は、ビークルＢを移動可能にする動力として機能すればよい。
【００３５】
移動制御装置１０は、通信部２０と、制御部３０とを備える。通信部２０は、複数のビークルＢと通信を行う。移動制御装置１０とビークルＢとの通信は、位置検出部５１と通信部２０との通信によって行われる。通信部２０の具体的構成は、位置検出部５１と共通する。
【００３６】
制御部３０は、演算部３１と、記憶部３２とを備える。演算部３１は、ＣＰＵ（Central  Processing  Unit）等の演算回路を含み、複数のビークルＢの移動制御に関する各種の処理を行う。記憶部３２は、演算部３１の処理に用いられるソフトウェア・プログラム（以下、単にプログラムと記載）及びデータを記憶する。このプログラムは、記憶部３２に記憶されていてもよいし、コンピュータである移動制御装置１０が読み取り可能な記録媒体に記録されていてもよい。この場合、移動制御装置１０は、当該記録媒体からプログラムを読み出すための読出装置を備える。また、記憶部３２は、通信部２０を介して取得されたビークルＢに関する情報を記憶する。例えば、後述する複数のビークルＢの各々の目的位置（例えば、目的位置Ｐ１，Ｐ２，…，Ｐｍ）を示す情報は、記憶部３２に記憶されている。
【００３７】
図２は、複数のビークルＢが各々の目的位置Ｐまで個別に移動する例を示す模式図である。図２では、ビークルＢの数がＭである場合を例示している。Ｍは、３以上の自然数である。ビークルＢ１は、移動経路Ｒ１を経由して目的位置Ｐ１まで移動する。ビークルＢ２は、移動経路Ｒ２を経由して目的位置Ｐ２まで移動する。ビークルＢＭは、移動経路ＲＭを経由して目的位置ＰＭまで移動する。移動制御装置１０は、複数のビークルＢの移動経路（例えば、移動経路Ｒ１，Ｒ２，…，ＲＭ）の決定を含む複数のビークルＢの移動制御に関する処理を行う。
【００３８】
複数のビークルＢの各々は、位置検出部５１によって取得された位置を示す情報を通信部５２を介して移動制御装置１０に送信する。記憶部３２は、複数のビークルＢの各々の位置を示す情報を累積的に記憶する。演算部３１は、複数のビークルＢの各々の位置を示す情報と、複数のビークルＢの各々の目的位置を示す情報とに基づいて、複数のビークルＢの各々の制御入力を算出し、制御入力を通信部２０を介して複数のビークルＢに個別に送信する。ここで、制御入力は、所定条件を満たしながら複数のビークルＢを各々の目的位置（例えば、目的位置Ｐ１，Ｐ２，…，ＰＭ）から第１距離以上離れた位置まで移動させるための移動方向及び移動速度を示す情報として機能する。ビークルＢは、制御入力に従って移動するように動力部５３を動作させる。また、記憶部３２は、複数のビークルＢの各々に送信された制御入力を累積的に記憶する。所定条件については後述する。
【００３９】
以下、Ｍ＝３の場合を例として、図３から図６を参照して複数のビークルＢの移動制御について説明する。図３、図４、図５、図６の順に、移動開始後の時間が経過しているものとする。
【００４０】
図３、図４、図５及び図６は、予め設定された２次元の平面における移動開始位置Ａ１，Ａ２，Ａ３から目的位置Ｐ１，Ｐ２，Ｐ３側に移動するビークルＢ１，Ｂ２，Ｂ３を示す模式図である。図３から図６の外枠は、２次元平面を模式的に示している。当該２次元平面をｘｙ平面とし、複数のビークルＢのうち一つのｘ軸方向の移動速度をｕｍｘ（ｋ）とし、当該一つのビークルＢのｙ軸方向の移動速度をｕｍｙ（ｋ）とすると、当該一つのビークルＢの制御入力は、ｕｍ（ｋ）＝［ｕｍｘ（ｋ）  ｕｍｙ（ｋ）］Ｔのように表せる。ここで、ｍ＝１，２，…，Ｍである。すなわち、ｍの値が異なるｕｍ（ｋ）は、それぞれ異なるビークルＢに対する制御入力を示す。また、ｋは、ある一時点（時刻）を示す。例えば、演算部３１は、複数のビークルＢの各々から最新の位置を示す情報が送信され、位置検出部５１によって取得されたタイミングを現在時刻（ｋ）と定義し、当該現在時刻（ｋ）に複数のビークルＢの各々に対して与えるべき制御入力を算出する。以下の説明では、この定義を前提として説明する。例えば、（ｋ−Ｄ）のようにｋに対する減算を含む記載は、ｋよりも過去の時点（時刻）をさす。また、（ｋ＋Ｄ）のようにｋに対する加算を含む記載は、ｋから未来の時点（時刻）をさす。なお、上付き符号のＴは転置を示す。
【００４１】
ビークルＢの位置を示す情報は、異なるタイミングで複数回提供される。第１実施形態では、所定の制御周期が経過する度に位置検出部５１が位置を検出し、通信部５２を介して移動制御装置１０に当該位置を示す情報を送信する。演算部３１は、制御周期が経過する度に送信される当該位置を示す情報に基づいて制御入力を算出し、通信部２０を介して複数のビークルＢの各々に送信する。複数のビークルＢの各々は、制御周期が経過する度に改めて算出される制御入力に従って動力部５３を動作させて移動する。
【００４２】
移動制御装置１０は、ビークルＢ１，Ｂ２，Ｂ３の位置を示す情報を取得すると、所定条件を満たしながらビークルＢ１，Ｂ２，Ｂ３を各々の目的位置Ｐ１，Ｐ２，Ｐ３から第１距離以上離れた位置まで移動させるよう、ビークルＢ１，Ｂ２，Ｂ３の制御入力を算出する。ここで、所定条件は、ビークルＢを他のビークルＢから第２距離以上離すという第１条件を含む。図３では、ビークルＢ１とビークルＢ２との距離Ｄ１を例示している。第２距離をｄＡ［ｍ］とすると、第１条件を満たすビークルＢ１とビークルＢ２の位置関係では、距離Ｄ１≧ｄＡ［ｍ］である。図示しないが、ビークルＢ１とビークルＢ３の位置関係及びビークルＢ２とビークルＢ３の位置関係についても同様である。
【００４３】
また、所定条件は、ビークルＢを他のビークルＢの過去の移動経路から第３距離以上離すという第２条件を含む。図３では、ビークルＢ１と、ＴＡ［秒（ｓｅｃ）］前までの時間にビークルＢ２が経由した移動経路Ｒ２Ａとの距離Ｄ２を例示している。第３距離をｄＡ［ｍ］とすると、第２条件を満たすビークルＢ１と移動経路Ｒ２Ａの位置関係では、距離Ｄ２≧ｄＡ［ｍ］である。
【００４４】
図４に示す例では、ビークルＢ１が移動経路Ｒ２Ａ及び移動経路Ｒ３Ａからの距離を第３距離以上にするために移動経路Ｒ２Ａと移動経路Ｒ３Ａの間を通って目的位置Ｐ１側に回り込むように移動制御される例を示している。また、図４に示す例では、ビークルＢ３が移動経路Ｒ１Ａからの距離を第３距離以上にするために移動経路Ｒ１Ａを迂回して目的位置Ｐ３側に回り込むように移動制御される例を示している。また、ビークルＢ３が回り込むように移動することでビークルＢとの距離が第２距離以上に維持されている。なお、移動経路Ｒ１Ａ，Ｒ２Ａ，Ｒ３Ａは、それぞれ複数のビークルＢの位置検出部５１の各々が検出して移動制御装置１０に送信した複数のビークルＢの各々の位置を時系列に沿って連続させた経路である。これは、例えば複数のビークルＢの各々の位置を示す情報を記憶部３２が記憶し、演算部３１が読み出して時系列に沿って連続したデータとして扱うことで成立する。移動経路Ｒ１Ａ，Ｒ２Ａ，Ｒ３Ａとして独立して機能するデータを、演算部３１が複数のビークルＢの各々の位置を示す情報に基づいて生成する処理を別途行うようにしてもよい。
【００４５】
第１条件及び第２条件は、以下の式（１）のように表せる。ここで、ｐｍ（ｋ）は、位置検出部５１によって検出されたビークルＢの位置を示す。また、ｐｌ（ｋ）は、あるビークルＢの位置をｐｍ（ｋ）と表した場合における「当該ビークルＢとは異なるビークルＢ（他のビークルＢ）の位置」を示す。なお、ｐｍ（ｋ）∈Ｒ２×１である。Ｒ２×１は、ｘｙ平面をさす。
【数１】
2020060924.tif 000003
【００４６】
また、式（１）等におけるｎは、ｎ＝１，…，ＮＨである。ＮＨは、予測ホライズンを表す。予測ホライズンとは、現在時刻（ｋ）から何ステップ先まで制御入力ならびに移動後のビークルＢの位置を算出するかを示す。ＮＨは、１であってもよいし、２以上の自然数であってもよい。
【００４７】
なお、第１実施形態では、第２距離と第３距離が同一の距離（ｄＡ［ｍ］）であるが、第２距離と第３距離は異なってもよい。
【００４８】
また、所定条件は、ビークルＢを他のビークルＢの目的位置から第４距離以上離すという第３条件を含む。図４では、ビークルＢ２と、ビークルＢ３の目的位置Ｐ３との距離Ｄ３を例示している。第４距離をｄＴ［ｍ］とすると、第３条件が満たされる場合、距離Ｄ３≧ｄＴ［ｍ］である。第３条件は、以下の式（２）のように表せる。なお、ｑｌ（ｋ）は、あるビークルＢの位置をｐｍ（ｋ）と表した場合における「当該ビークルＢとは異なるビークルＢ（他のビークルＢ）の目的位置」を示す。これに対し、ｑｍ（ｋ）とした場合、ｐｍ（ｋ）で位置が表された当該ビークルＢの目的位置を示す。なお、ｑｍ（ｋ）∈Ｒ２×１である。
【数２】
2020060924.tif 000004
【００４９】
また、所定条件は、ビークルＢの移動速度が下限速度（Ｖｍｉｎ）から上限速度（Ｖｍａｘ）の範囲内であるという第４条件を含む。ビークルＢの移動速度が上限速度（Ｖｍａｘ）以下であることは、以下の式（３）のように表せる。ビークルＢの移動速度が下限速度（Ｖｍｉｎ）以上であることは、以下の式（４）のように表せる。
【数３】
2020060924.tif 000005
【００５０】
また、「所定条件を満たしながらビークルＢ１，Ｂ２，Ｂ３を各々の目的位置Ｐ１，Ｐ２，Ｐ３から第１距離以上離れた位置まで移動させる」ということは、演算部３１が、ビークルＢの制御入力を算出する処理において「ビークルＢが、目的位置から第１距離内に進入しない」という条件（第５条件）を設定しているということである。図４では、ビークルＢ２と目的位置Ｐ２との距離Ｄ４を例示している。第１距離をｄ［ｍ］とすると、第５条件が満たされる場合、距離Ｄ４≧ｄ［ｍ］である。第５条件は、以下の式（５）のように表せる。
【数４】
2020060924.tif 000006
【００５１】
ビークルＢの制御入力に関する処理では、上述の式（１）、式（２）、式（３）、式（４）、式（５）のように表した条件を前提として、以下の式（６）のようにビークルＢの制御入力に関する所定条件を表せる。なお、Ｌは所定条件に含まれる条件の数である。第１実施形態では、Ｌ＝５である。
【数５】
2020060924.tif 000007
【００５２】
ただし、ビークルＢの制御入力を算出するための処理にモデル予測制御（ＭＰＣ:Model  Predictive  Control）を適用するためには、位置検出部５１によって検出されたビークルＢの位置（ｐｍ（ｋ））と、ビークルＢの制御入力（ｕｍ（ｋ））に従って移動したｎステップ後のビークルＢの将来位置（ｐｍ（ｋ＋ｎ））との関係を定義する必要がある。そこで，ｎステップ後のビークルＢの将来位置（ｐｍ（ｋ＋ｎ））を以下の式（７）のように予測する。上述の式（１）、式（２）、式（３）、式（４）、式（５）と、式（７）との組み合わせによって、演算部３１は、ビークルＢの制御入力に関する処理にモデル予測制御を適用できる。なお、モデル予測制御とは、各時刻で未来の応答を予測しながら最適化を行う制御手法をさす。
【数６】
2020060924.tif 000008
【００５３】
なお、式（５）のｄが不変であると仮定すると、ビークルＢは、目的位置に到達できない。そこで、演算部３１は、複数のビークルＢの各々の位置が各々の目的位置から第１距離＋α（（ｄ＋α）［ｍ］）内の位置になった場合、第１距離（ｄ）をより短い距離に更新する。具体的には、演算部３１は、複数のビークルＢの各々の位置が各々の目的位置から第１距離（ｄ）の位置になるまで適用されていた第１距離（ｄ）から予め定められた第１距離の漸減量（Δｄ）を差し引いてｄの値を更新する（ｄ＝ｄ−Δｄ）。図５では、図４に示す距離Ｄ４よりも短い距離に更新されたビークルＢ２と目的位置Ｐ２との距離Ｄ５を例示している。なお、複数のビークルＢの各々の位置が各々の目的位置から第１距離＋α（（ｄ＋α）［ｍ］）内の位置になったかの判定するための条件式は、式（５）のｄを（ｄ＋α）に置換したものである。
【００５４】
第１距離（ｄ）が更新されるまで、複数のビークルＢは、各々の目的位置から第１距離（ｄ）以上離れた位置になるよう制御される。その後、第１距離（ｄ）が更新されてより短い距離になることで、複数のビークルＢは、各々の目的位置により近づけるようになる。このような、第１距離（ｄ）をより短い距離に更新する処理を繰り返し行い、複数のビークルＢの各々を協調して、各々の目的位置に接近させる。第１距離（ｄ）が更新されて０になった場合、複数のビークルＢは、図６に示すように、各々の目的位置に到達できる。このように、移動制御装置１０は、複数のビークルＢを各々の目的位置に到達させるタイミングを合わせられる。
【００５５】
なお、一度も更新されていない第１距離（ｄ）は、０を超える値である。また、当該第１距離（ｄ）は、漸減量（Δｄ）を１回以上差し引くことで、０になる値である。第１距離（ｄ）＝０になった場合、後述する目的位置の更新が生じない限り、第１距離（ｄ）の更新はそれ以上行われない。
【００５６】
α［ｍ］の値は正の数である。また、αは定数であってもよいし、変数であってもよい。例えば、αは、ｄ／ｇであってもよい。ここで、ｇは、自然数である。第１実施形態において、第１距離＋α（（ｄ＋α）［ｍ］）は、更新距離として機能する。更新距離は、第１距離よりも長い。
【００５７】
演算部３１は、複数のビークルＢが各々の目的位置に到達するタイミングを同一にしてもよいし、異なるタイミングにしてもよい。第１距離（ｄ）の設定及び更新による複数のビークルＢの移動制御は、複数のビークルＢが各々の目的位置に近接するタイミングを協調させるものであって、各々の目的位置への同時到達のみを目的とするものでない。
【００５８】
また、演算部３１は、以下の式（８）のように評価関数Ｊｍ（ｕｍ（ｋ），…，ｕｍ（ｋ＋ＮＨ−１））を設定する。ここで、ｅｍ（ｋ＋ｎ）は、ｎステップ先のビークルＢの将来位置と当該ビークルＢの目的位置の偏差である。ｅｍ（ｋ＋ｎ）は、以下の式（９）のように表せる。なお、ｅｍ（ｋ＋ｎ）∈Ｒ２×１である。
【数７】
2020060924.tif 000009
【００５９】
演算部３１は、上述の式（１）、式（２）、式（３）、式（４）、式（５）及び式（７）によって表される条件と、式（８）及び式（９）によって表される評価関数を用いて、以下の式（１０）のように表される制約付き最適化問題を制御周期毎に解き、制御周期毎の制御入力を求める。
【数８】
2020060924.tif 000010
【００６０】
以上の説明では、複数のビークルＢの各々の制御入力の算出にモデル予測制御を適用しているが、制御入力の算出方法はこれに限られるものでない。車両の等価二輪モデルなど、非ホロノミックなモデルを用いてもよい。
【００６１】
図７は、第１実施形態で移動制御システム１が行う処理の流れを示すフローチャートである。複数のビークルＢの各々は、位置検出部５１によって位置を検出し（ステップＳ１）、検出された位置を示す情報を、通信部５２を介して移動制御装置１０に送信する。移動制御装置１０は、通信部２０を介して複数のビークルＢの各々の位置を示す情報を取得する（ステップＳ２）。演算部３１は、全てのビークルＢが各々の目的位置から第１距離＋αの位置であるか判定する（ステップＳ３）。全てのビークルＢが各々の目的位置から第１距離＋αの位置であると判定された場合（ステップＳ３；Ｙｅｓ）、演算部３１は、第１距離が０であるか判定する（ステップＳ４）。
【００６２】
ステップＳ４で第１距離が０であると判定された場合（ステップＳ４；Ｙｅｓ）、演算部３１は、全てのビークルＢが目的位置に到達したか判定する（ステップＳ５）。全てのビークルＢが目的位置に到達したと判定された場合（ステップＳ５；Ｙｅｓ）、移動制御システム１によるビークルＢの移動制御に関する処理は終了する。
【００６３】
ステップＳ４で第１距離が０でないと判定された場合（ステップＳ４；Ｎｏ）、演算部３１は、第１距離をより短い距離に更新する（ステップＳ６）。ステップＳ６の処理後、演算部３１は、制御入力算出処理を行う（ステップＳ７）。また、ステップＳ３で全てのビークルＢが各々の目的位置から第１距離＋αの位置でないと判定された場合（ステップＳ３；Ｎｏ）及びステップＳ５で１つ以上のビークルＢが目的位置に到達していないと判定された場合（ステップＳ５；Ｎｏ）にもステップＳ７の処理に移行する。
【００６４】
図８は、図７に示す制御入力算出処理の流れを示すフローチャートである。演算部３１は、上述の式（１０）のように表される制約付き最適化問題を解き、複数のビークルＢの各々の制御入力（ｕｍ（ｋ））を算出する（ステップＳ１１）。なお、ステップＳ１１内の記載では、上述の式（６）で所定条件を示しているが、実際には上述の式（１）〜（５）の条件と、式（７）の予測と、式（８）及び式（９）の評価関数が参酌される。ステップＳ１１の処理後、演算部３１はｋの値に１を加算し（ｋ＝ｋ＋１）、制御周期を１つ進める（ステップＳ１２）。
【００６５】
図８を参照して説明した制御入力算出処理、すなわち、ステップＳ７の処理が完了すると、ステップＳ１の処理に移行する。
【００６６】
以上、目的位置が固定の場合を例として説明したが、目的位置はビークルＢの移動中又はビークルＢが目的位置に到達した後に更新されてもよい。
【００６７】
なお、目的位置が更新された場合、第１距離（ｄ）は、０を超える値に再設定される。一度も更新されていない第１距離（ｄ）は、目的位置の更新前後に関わらず一定であってもよいし、目的位置の更新前後で個別に設定されてもよい。
【００６８】
第１実施形態によれば、複数のビークルＢが各々の目的位置から第１距離以上の位置に移動した後に第１距離がより短い距離に更新される。これによって、各々の目的位置に対する複数のビークルＢの近接の度合いを協調させることができる。従って、目的位置に到達するタイミングをより協調させることができる。
【００６９】
また、ビークルＢを他のビークルＢから第２距離以上離すので、ビークルＢ同士の衝突及び過剰な近接を回避することができる。
【００７０】
また、ビークルＢを他のビークルＢの過去の移動経路から第３距離以上離すことで、ビークルＢの移動経路が他のビークルＢの移動に影響を与えることを抑制することができる。例えば、ビークルＢが水上又は水中を移動する構成である場合、航跡の波等が他のビークルＢの移動に影響を与える可能性をより低減することができる。
【００７１】
また、ビークルＢを他のビークルＢの目的位置から第４距離以上離すことで、他のビークルＢによって目的位置への到達又は近接が妨げられることを抑制することができる。
【００７２】
また、制御入力の算出における条件として、ビークルＢの移動速度が下限速度から上限速度の範囲内であることが含まれることで、ビークルＢが実現不可能な制御入力を与えることを抑制することができる。
【００７３】
［第２実施形態］
次に、第２実施形態について説明する。第１実施形態と同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第２実施形態は、第１実施形態と同様である。
【００７４】
実施形態２では、所定条件として、さらに第６条件が追加される。第６条件は、「ビークルＢが侵入禁止領域外を移動する」ことである。これは、言い換えれば「ビークルＢが、予め定められた侵入禁止領域に進入しない」ことである。
【００７５】
図９は、侵入禁止領域Ｆ１の一例を示す模式図である。以下の説明では、図９に示すように、侵入禁止領域Ｆ１が、ｘｙ平面上の座標Ｏ（ｘ０（ｋ），ｙ０（ｋ））を中心とした半径ｒの円である場合を例とする。この場合、第６条件は、以下の式（１１）のように表せる。
【数９】
2020060924.tif 000011
【００７６】
なお、ｒが不変であると仮定すると、侵入禁止領域Ｆ１内にビークルＢが入れない状態が解消されない。そこで、第２実施形態の演算部３１は、複数のビークルＢの各々の位置が侵入禁止領域Ｆ１から第５距離以内である場合、侵入禁止領域Ｆ１をより狭い領域Ｆ２（図１０参照）に更新する。
【００７７】
図１０は、図９に示す侵入禁止領域Ｆ１がより狭い領域Ｆ２に更新された一例を示す模式図である。具体的には、演算部３１は、以下の式（１２）が満たされた場合、それまで適用されていたｒから予め定められた漸減量（Δｒ）を差し引いてｒの値を更新する（ｒ＝ｒ−Δｒ）。式（１２）では、第５距離が（ｒ＋β）で表されている。なお、βは、０を超える値である。また、一度も更新されていないｒは、０を超える値である。また、ｒは、漸減量（Δｒ）を１回以上差し引くことで、０になる値である。また、ｒ＝０になった場合、侵入禁止領域の設定は解除される。この場合、より狭い領域Ｆ２は、更新前の侵入禁止領域Ｆ１内の領域になる。
【数１０】
2020060924.tif 000012
【００７８】
侵入禁止領域は、円状に限られない。例えば、３以上の頂点をｘｙ平面上に設定して頂点同士を結ぶ線分により形成される多角形を侵入禁止領域とするようにしてもよい。
【００７９】
また、図９に示す侵入禁止領域Ｆ１は、複数のビークルＢの各々の目的位置を全て含んでいるが、これに限られるものでない。更新前後の侵入禁止領域は、複数のビークルＢの目的位置のうち１つ以上を含んでいてもよいし、１つも含まなくてもよい。
【００８０】
図１１は、第２実施形態で移動制御システム１が行う処理の流れを示すフローチャートである。第２実施形態では、演算部３１は、ステップＳ３で全てのビークルＢが各々の目的位置から第１距離＋αの位置でないと判定された場合（ステップＳ３；Ｎｏ）及びステップＳ６の処理後に、全てのビークルＢが侵入禁止領域から第５距離以内の位置であるか判定する（ステップＳ２１）。全てのビークルＢが侵入禁止領域から第５距離以内の位置であると判定された場合（ステップＳ２１；Ｙｅｓ）、演算部３１は、侵入禁止領域をより狭い領域に更新する（ステップＳ２２）。ステップＳ２２の処理後又はステップＳ２１で１つ以上のビークルＢが侵入禁止領域から第５距離以内の位置でないと判定された場合（ステップＳ２１；Ｎｏ）、ステップＳ７の処理に移行する。以上、特筆した事項を除いて、第２実施形態で移動制御システム１が行う処理の流れは、図７及び図８を参照して説明した第１実施形態で移動制御システム１が行う処理の流れと同様である。
【００８１】
第２実施形態によれば、ビークルＢが侵入禁止領域外を移動するので、ビークルＢ及びビークルＢの移動経路を内包しない領域を設けることができる。特に、侵入禁止領域が複数のビークルＢの各々の目的位置を含むようにすることで、１つ以上のビークルＢが他のビークルＢの目的位置に近接して当該他のビークルＢの移動を妨げる可能性をより確実に低減することができる。
【００８２】
また、複数のビークルＢの各々の位置が侵入禁止領域から第５距離以内である場合、侵入禁止領域をより狭い領域に更新することで、侵入禁止領域が複数のビークルＢの移動に与える影響が一律で低減される。従って、複数のビークルＢの移動をより協調的にすることができる。
【００８３】
また、更新後の侵入禁止領域を、更新前の侵入禁止領域内の領域にすることで、複数のビークルＢを更新前の侵入禁止領域内の領域に徐々に侵入させる協調的な移動制御が可能になる。
【００８４】
［第３実施形態］
次に、第３実施形態について説明する。第１実施形態、第２実施形態の少なくとも１つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第３実施形態は、他の実施形態と同様である。
【００８５】
実施形態３では、複数のビークルＢの相対位置関係を、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応させるようにビークルＢを移動制御するフォーメーション編成処理が行われる。当該フォーメーション編成処理は、上述の式（１０）を用いた制御入力の算出よりも前に行われる。
【００８６】
フォーメーション編成処理について、図１２及び図１３を参照して説明する。図１２は、フォーメーション編成処理に基づいて移動したビークルＢ１，Ｂ２，Ｂ３を示す模式図である。図１３は、フォーメーション編成処理の完了後に目的位置Ｐ１，Ｐ２，Ｐ３により近づくビークルＢ１，Ｂ２，Ｂ３を示す模式図である。
【００８７】
図１２に示す３つのビークルＢ１，Ｂ２，Ｂ３の移動開始位置Ａ１，Ａ２，Ａ３の相対位置関係は、ビークルＢ２の移動開始位置Ａ２がビークルＢ１の移動開始位置Ａ１とビークルＢ３の移動開始位置Ａ３との間にある位置関係である。一方、３つのビークルＢ１，Ｂ２，Ｂ３の目的位置Ｐ１，Ｐ２，Ｐ３の相対位置関係は、ビークルＢ３の目的位置Ｐ３がビークルＢ１の目的位置Ｐ１とビークルＢ２の目的位置Ｐ２との間にある位置関係である。このように、図１２に示す移動開始位置Ａ１，Ａ２，Ａ３の相対位置関係は、目的位置Ｐ１，Ｐ２，Ｐ３の相対位置関係に対応していない。
【００８８】
そこで、第３実施形態の演算部３１は、上述の式（１０）に代えて、以下の式（１３）を用いてフォーメーション編成処理を行って制御入力を算出する。フォーメーション編成処理は、複数のビークルＢの相対位置関係が、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応するまで行われる。図１２に示す３つのビークルＢ１，Ｂ２，Ｂ３の相対位置関係は、フォーメーション編成処理によって算出された制御入力に従って移動開始位置Ａ１，Ａ２，Ａ３から移動することで、目的位置Ｐ１，Ｐ２，Ｐ３の相対位置関係に対応している。
【数１１】
2020060924.tif 000013
【００８９】
なお、式（１３）のｒｍ，ｌ（ｋ）は、複数のビークルＢの各々に個別に設定された目的位置の相対位置ベクトルを意味する。すなわち、ｒｍ，ｌ（ｋ）は、相対位置関係に対応する相対位置関係（フォーメーション）を表している。なお、フォーメーション編成処理は、上述の式（１３）を用いた処理に限られるものでない。例えば、フォーメーション編成処理は、仮想リーダーを用いた処理であってもよい。
【００９０】
フォーメーション編成処理が完了することの判定は、式（１３）の値に基づいて行うことができる。これは、式（１３）が、フォーメーション（ｒｍ，ｌ（ｋ））と、現在時刻（ｋ）の複数のビークルＢの相対位置関係との乖離の度合を示す値として機能するためである。フォーメーション編成処理の完了後、演算部３１は、第１実施形態又は第２実施形態と同様、式（１０）を用いて複数のビークルＢの制御入力を算出する。フォーメーション編成処理の完了後に複数のビークルＢを目的位置に移動させるようにすることで、ビークルＢの移動経路同士が交錯又は干渉する可能性をより確実に抑制することができる。
【００９１】
図１４は、第３実施形態で移動制御システム１が行う処理の流れを示すフローチャートである。第３実施形態では、演算部３１は、ステップＳ２の処理後、複数のビークルＢの相対位置関係が、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応するか判定する（ステップＳ３１）。複数のビークルＢの相対位置関係が、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応すると判定された場合（ステップＳ３１；Ｙｅｓ）、ステップＳ３の処理に移行する。一方、複数のビークルＢの相対位置関係が、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応しないと判定された場合（ステップＳ３１；Ｎｏ）、演算部３１は、フォーメーション編成処理を行う（ステップＳ３２）。
【００９２】
図１５は、図１４に示すフォーメーション編成処理の流れを示すフローチャートである。演算部３１は、上述の式（１３）のように表される制約付き最適化問題を解き、複数のビークルＢの各々の制御入力（ｕｍ（ｋ））を算出する（ステップＳ４１）。なお、ステップＳ４１内の記載では、上述の式（６）で所定条件を示しているが、実際には上述の式（１）〜（５）の条件と、式（７）の予測と、式（８）及び式（９）の評価関数が参酌される。ステップＳ４１の処理後、演算部３１はｋの値に１を加算し（ｋ＝ｋ＋１）、制御周期を１つ進める（ステップＳ４２）。
【００９３】
図１５を参照して説明した制御入力算出処理、すなわち、ステップＳ３２の処理が完了すると、ステップＳ１の処理に移行する。以上、特筆した事項を除いて、第３実施形態で移動制御システム１が行う処理の流れは、図７及び図８を参照して説明した第１実施形態で移動制御システム１が行う処理の流れと同様である。
【００９４】
なお、第２実施形態でフォーメーション編成処理を行ってもよい。その場合、図１１のステップＳ２の処理とステップＳ３の処理の間にステップＳ３１の処理が挿入され、図１４及び図１５を参照した説明と同様に処理が分岐及び移行する。
【００９５】
第３実施形態によれば、複数のビークルＢの相対位置関係を、複数のビークルＢの各々に個別に設定された目的位置の相対位置関係に対応させるフォーメーション編成処理によって、フォーメーション編成処理後後の複数のビークルＢの移動経路同士の相互干渉の可能性をより確実に低減することができる。
【００９６】
［第４実施形態］
次に、第４実施形態について説明する。第１実施形態、第２実施形態、第３実施形態の少なくとも１つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第４実施形態は、他の実施形態と同様である。
【００９７】
通信部５２と通信部２０との通信を介したビークルＢと移動制御装置１０とのデータ送受信に費やされる時間はゼロではない。このため、位置検出部５１が検出したビークルＢの位置を示す情報を移動制御装置１０が取得して制御入力を算出し、ビークルＢの動力部５３の動作に反映するまでの１サイクルの開始タイミングと完了タイミングと間にはタイムラグが生じる。このタイムラグによって、位置検出部５１が位置を検出したタイミングを想定した場合に最適である制御入力が、タイムラグを生じてビークルＢに反映されたタイミングでは、タイムラグ中のビークルＢの移動によって必ずしも最適でなくなる可能性がゼロではない。このタイムラグは、理想的には削減されるべき「むだ時間」であるが、このタイムラグを完全に削減することは困難である。
【００９８】
図１６は、現在時刻（ｋ）とタイムラグとの関係を模式的に示すタイムチャートである。第４実施形態では、現在時刻（ｋ）において求めた制御入力（ｕｍ（ｋ））がビークルＢに反映されるまでに、ビークルＢは、以下の式（１４）が示す移動をしている。式（１４）及び後述する式（１５）のＤは、想定されるむだ時間を示す値である。すなわち、図１６に示すように、移動制御装置１０による制御入力（ｕｍ（ｋ））の算出タイミグと、ビークルＢにおける当該制御入力の反映タイミングとの間に、むだ時間（Ｄ）が経過している。
【数１２】
2020060924.tif 000014
【００９９】
そこで、第４実施形態では、上述のタイムラグを考慮して制御入力を算出する。具体的には、第４実施形態の演算部３１は、式（７）に代えて、以下の式（１５）を用いる。
【数１３】
2020060924.tif 000015
【０１００】
上述の式（１５）は、むだ時間（Ｄ）におけるビークルＢの移動量をビークルＢの将来位置の予測に反映している。式（１５）の右辺第２項（ｕｍ（ｋ−ｉ））は、過去に計算した制御入力に対応する項であり、現在時刻（ｋ）の時点では変更不可能である。一方、式（１５）の右辺第３項（ｕｍ（ｋ＋ｊ））は第１実施形態、第２実施形態及び第３実施形態で求めていた制御入力（ｕｍ（ｋ））の算出において、むだ時間（Ｄ）の経過による予測ホライズンの増加を考慮したものである。このように、式（１５）では、右辺第２項で現在時刻（ｋ）よりも前の検出タイミングから経過したむだ時間（Ｄ）を考慮し、右辺第３項で現在時刻（ｋ）から後の反映タイミングまでに経過するむだ時間（Ｄ）を考慮する。
【０１０１】
このように、第４実施形態の演算部３１は、位置検出部５１によるビークルＢの位置の取得から制御入力（ｕｍ（ｋ））が動力部５３によるビークルＢの移動に反映されるまでに経過することが想定される時間に複数の予測ホライズンが含まれるようにする。ここで、当該時間は、現在時刻（ｋ）よりも前の検出タイミングから経過したむだ時間（Ｄ）と、現在時刻（ｋ）から後の反映タイミングまでに経過するむだ時間（Ｄ）を含むことから、２Ｄに対応する時間になる。２Ｄに対応する時間には、式（１５）の右辺第２項（ｕｍ（ｋ−ｉ））と右辺第３項（ｕｍ（ｋ＋ｊ））が含まれることから、複数の予測ホライズンが含まれる。言い換えれば、当該時間には、複数の予測ホライズンの各々に対応する各タイミングでビークルＢの将来位置が予測されている。このように、第４実施形態の演算部３１は、複数のタイミングに分割された当該時間内で、過去に算出された制御入力（式（１５）の右辺第２項（ｕｍ（ｋ−ｉ）））に基づいて予想されるビークルＢの位置を複数の予測ホライズンの各々に対応するタイミング毎に算出したうえで新たに与える制御入力（式（１５）の右辺第３項（ｕｍ（ｋ＋ｊ）））を算出する。
【０１０２】
第４実施形態によれば、位置の検出から制御入力の反映までのタイムラグを考慮した制御入力によってビークルＢをより適切に移動させることができる。
【０１０３】
［第５実施形態］
次に、第５実施形態について説明する。第１実施形態、第２実施形態、第３実施形態、第４実施形態の少なくとも１つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第５実施形態は、他の実施形態と同様である。
【０１０４】
図１７は、第５実施形態によるビークルＢ１，Ｂ２，Ｂ３の移動経路を示す模式図である。第５実施形態では、所定条件として、さらに第７条件が追加される。第７条件は、「ビークルＢの位置と当該ビークルＢの目的位置とを通る直線と、他のビークルＢの目的位置との距離が第６距離以上である」ことである。図１７では、ビークルＢ２の位置と目的位置Ｐ２を通る直線Ｌ２と、目的位置Ｐ１との距離Ｄ６と、ビークルＢ３の位置と目的位置Ｐ３を通る直線Ｌ３と、目的位置Ｐ２との距離Ｄ７を例示している。第６距離をｄ１［ｍ］とすると、第７条件を満たす距離Ｄ６は、距離Ｄ６≧ｄ１［ｍ］である。第７条件を満たす距離Ｄ７は、距離Ｄ７≧ｄ１［ｍ］である。
【０１０５】
第６条件は、以下の式（１６）のように表せる。式（１６）の左辺第１項における（ａ，ｂ，ｃ）は、ビークルＢの位置と当該ビークルＢの目的位置を通る直線であり、左辺第１項の絶対値は、当該直線と他のビークルＢの目的位置との距離を示す。
【数１４】
2020060924.tif 000016
【０１０６】
なお、上述の第３条件における第４距離（ｄＴ［ｍ］）の値の調整によっても第６条件と類似する効果を得られるが、第４距離（ｄＴ［ｍ］）は、複数のビークルＢの目的位置同士の距離によっては、第４距離が制御入力に与える影響によってビークルＢの移動経路の制約がより厳しくなる可能性がゼロではない。一方、第７条件では、このような移動経路の制約をより緩和したうえで複数のビークルＢの各々の移動経路の干渉をより確実に抑制することができる。
【０１０７】
第５実施形態によれば、上述のように、複数のビークルＢの各々の移動経路の干渉をより確実に抑制することができる。
【０１０８】
［変形例］
次に、変形例について説明する。第１実施形態、第２実施形態、第３実施形態、第４実施形態、第５実施形態の少なくとも１つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、変形例は、上述の各実施形態と同様である。
【０１０９】
図１８は、変形例の移動制御システム１００の主要構成を示すブロック図である。第１実施形態の説明で参照した図１の移動制御システム１では、移動制御装置１０が複数のビークルＢから独立した構成として設けられるが、変形例の移動制御システム１００では、移動制御装置６０が複数のビークルＢａ，Ｂｂ，Ｂｃの各々に設けられる。
【０１１０】
移動制御装置６０は、位置検出部５１と、制御部３０と、通信部７０とを備える。通信部７０は、上述の通信部５２と通信部２０の両方の機能を含む。通信部７０は、当該通信部７０を構成に含むビークルＢが備える位置検出部５１が検出した当該ビークルＢの位置を示す情報を、他のビークルＢに送信する。また、通信部７０は、他のビークルＢが備える位置検出部５１が検出した他のビークルＢの位置を示す情報を受信する。複数のビークルＢａ，Ｂｂ，Ｂｃの各々の移動制御装置６０に含まれる制御部３０はそれぞれ、第１実施形態の制御部３０と同様、全てのビークル（ビークルＢａ，Ｂｂ，Ｂｃ）の制御入力を算出する。複数のビークルＢａ，Ｂｂ，Ｂｃの各々の動力部５３は、当該動力部５３を備えるビークルが備える移動制御装置６０に含まれる制御部３０によって算出された制御入力のうち当該ビークルの制御入力に従って動作する。
【０１１１】
図１８では、移動制御装置６０に位置検出部５１及び通信部７０が含まれているが、位置検出部５１及び通信部７０の少なくとも一方は、移動制御装置６０に含まれない独立した構成としてビークルＢに設けられていてもよい。また、図１８では、３つのビークルＢａ，Ｂｂ，Ｂｃを含む移動制御システム１００を例示しているが、移動制御システム１００に含まれるビークルＢの数は２つであってもよいし、４つ以上であってもよい。
【０１１２】
以上、第１実施形態、第２実施形態、第３実施形態、第４実施形態及び第５実施形態並びに変形例について説明したが、これらは任意に組み合わせ可能である。すなわち、第１実施形態、第２実施形態、第３実施形態、第４実施形態及び第５実施形態はいずれも他の実施形態と競合及び矛盾せず、併用できる。また、変形例は、第１実施形態、第２実施形態、第３実施形態、第４実施形態及び第５実施形態及びこれらの組み合わせによる実施形態に適用できる。
【０１１３】
上述の第１条件では、最小値を求める関数（ｍｉｎ）を用いているが、これに限られるものでなく、過去の点列を全て制約条件に書き出してもよい。また、所定条件は、上述の第１条件等に限られるものでない。例えば、ビークルの舵角（ヨーレート）に制約条件を設定してもよい。
【０１１４】
実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。実施形態及び変形例は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１５】
１，１００  移動制御システム
１０，６０  移動制御装置
２０，５２，７０  通信部
３０  制御部
３１  演算部
３２  記憶部
５１  位置検出部
５３  動力部
Ｂ，Ｂ１，Ｂ２，Ｂ３，ＢＭ，Ｂａ，Ｂｂ，Ｂｃ  ビークル
【図１】
2020060924.tif 000017
【図２】
2020060924.tif 000018
【図３】
2020060924.tif 000019
【図４】
2020060924.tif 000020
【図５】
2020060924.tif 000021
【図６】
2020060924.tif 000022
【図７】
2020060924.tif 000023
【図８】
2020060924.tif 000024
【図９】
2020060924.tif 000025
【図１０】
2020060924.tif 000026
【図１１】
2020060924.tif 000027
【図１２】
2020060924.tif 000028
【図１３】
2020060924.tif 000029
【図１４】
2020060924.tif 000030
【図１５】
2020060924.tif 000031
【図１６】
2020060924.tif 000032
【図１７】
2020060924.tif 000033
【図１８】
2020060924.tif 000034