IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧 ▶ 国立大学法人名古屋大学の特許一覧

特許7488526複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体
<>
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図1
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図2
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図3
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図4
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図5
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図6
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図7
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図8
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図9
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図10
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図11
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図12
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図13
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図14
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図15
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図16
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図17
  • 特許-複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体
(51)【国際特許分類】
   G05D 1/69 20240101AFI20240515BHJP
【FI】
G05D1/69
【請求項の数】 19
(21)【出願番号】P 2018191310
(22)【出願日】2018-10-09
(65)【公開番号】P2020060924
(43)【公開日】2020-04-16
【審査請求日】2021-09-29
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】藤島 泰郎
(72)【発明者】
【氏名】高木 一茂
(72)【発明者】
【氏名】東 俊一
【審査官】影山 直洋
(56)【参考文献】
【文献】特開平04-208400(JP,A)
【文献】特開2009-080804(JP,A)
【文献】米国特許出願公開第2018/0158016(US,A1)
【文献】特開平06-259131(JP,A)
【文献】特開昭63-242807(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/69
(57)【特許請求の範囲】
【請求項1】
複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる複数のビークルの移動制御方法であって、
前記複数のビークルの各々の位置を取得するステップと、
取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を決定するステップと、
複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新するステップと、
を含み、
前記第1距離が0になるまで前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させる複数のビークルの移動制御方法。
【請求項2】
前記制御入力を前記複数のビークルの各々に送信するステップを含む
請求項1に記載の複数のビークルの移動制御方法。
【請求項3】
前記所定条件は、前記ビークルを他の前記ビークルから第2距離以上離すことを含む
請求項1または2に記載の複数のビークルの移動制御方法。
【請求項4】
前記所定条件は、前記ビークルを他の前記ビークルの過去の移動経路から第3距離以上離すことを含む
請求項1から3のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項5】
前記所定条件は、前記ビークルを他の前記ビークルの前記目的位置から第4距離以上離すことを含む
請求項1から4のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項6】
前記所定条件は、前記ビークルの移動速度が下限速度から上限速度の範囲内であることを含む
請求項1から5のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項7】
前記所定条件は、前記ビークルが侵入禁止領域外を移動することを含む
請求項1から6のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項8】
前記複数のビークルの各々の位置が前記侵入禁止領域から第5距離以内である場合、前記侵入禁止領域をより狭い領域に更新するステップを含む
請求項7に記載の複数のビークルの移動制御方法。
【請求項9】
前記より狭い領域は、更新前の前記侵入禁止領域内の領域である
請求項8に記載の複数のビークルの移動制御方法。
【請求項10】
前記侵入禁止領域は、複数のビークルの目的位置のうち1つ以上を含む
請求項7から9のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項11】
前記複数のビークルの相対位置関係を、前記複数のビークルの各々に個別に設定された目的位置の相対位置関係に対応させるステップを含み、
前記対応させるステップは、前記決定するステップよりも前に行われる
請求項1から10のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項12】
前記所定条件は、前記ビークルの位置と当該ビークルの目的位置とを通る直線と、他の前記ビークルの目的位置との距離が第6距離以上であることを含む
請求項1から10のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項13】
前記決定するステップにおいて、前記ビークルの位置の取得から前記制御入力が前記ビークルの移動に反映されるまでに経過することが想定される時間を複数のタイミングに分割し、過去に算出された前記制御入力に基づいて予想される当該ビークルの位置をタイミング毎に算出したうえで新たに与える前記制御入力を算出する
請求項1から11のいずれか一項に記載の複数のビークルの移動制御方法。
【請求項14】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させる移動制御装置であって、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を決定し、複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新し、前記第1距離が0になるまで前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させるように構成された制御部と、
を備える移動制御装置。
【請求項15】
前記制御部は、前記制御入力を前記複数のビークルの各々に送信する
請求項14に記載の移動制御装置。
【請求項16】
複数のビークルと、
前記複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる移動制御装置とを備える移動制御システムであって、
前記移動制御装置は、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を前記複数のビークルの各々に送信し、複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、前記第1距離が0になるまで前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させるように構成された制御部と、
を備える移動制御システム。
【請求項17】
複数のビークルと、
前記複数のビークルの各々に設けられる移動制御装置とを備える移動制御システムであって、
前記移動制御装置は、
前記複数のビークルの各々の位置を取得するように構成された取得部と、
取得した前記位置から、前記複数のビークルを各々の目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を決定し、当該移動制御装置を備えるビークルに当該ビークルの制御入力を適用し、複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新し、前記第1距離が0になるまで前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させるように構成された制御部と、
を備える移動制御システム。
【請求項18】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させるプログラムであって、
コンピュータに、
前記複数のビークルの各々の位置を取得するステップと、
取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を決定するステップと、
複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新し、前記第1距離が0になるまで前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させるステップと、
を実行させるためのプログラム。
【請求項19】
複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータに、
前記複数のビークルの各々の位置を取得するステップと、
取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に所定条件を満たしながら移動させる制御入力を決定するステップと、
複数のビークルの各々の位置と各々の前記目的位置との距離のうち少なくとも1つのビークルの位置と当該ビークルの目標位置との距離が更新距離より長い場合、第1距離を更新せず、全てのビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新し、かつ、更新した前記第1距離に基づいて、前記更新距離をより短い距離に更新するステップと、
を実行させ、前記第1距離が0になるまで前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させ、前記複数のビークルが各々の目的位置の希望に接近するタイミングを協調させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体に関する。
【背景技術】
【0002】
複数のビークルを移動させる技術(Swarm技術)の一つとして、複数の船舶の進路制御方法が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-113660号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、複数の船舶の進路を定めているに過ぎない。このため、一部の船舶が他の船舶よりも先行して目的位置に到達してしまうことがあった。すなわち、複数の船舶が目的位置に到達するタイミングを協調させることが困難であった。
【0005】
また、従来技術のような水上の船舶に限らず、空中、陸上、水中又は水上を移動する複数のビークルを移動させるSwarm技術において、目的位置に到達するタイミングを協調させることは困難であった。
【0006】
本発明は、上記の事情に鑑みてなされたものであり、目的位置に到達するタイミングをより協調させることができる複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る複数のビークルの移動制御方法は、複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる複数のビークルの移動制御方法であって、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するステップと、を含むことを特徴とする。
【0008】
この構成によれば、複数のビークルが各々の目的位置から第1距離以上の位置に移動した後に第1距離がより短い距離に更新される。これによって、各々の目的位置に対する複数のビークルの近接の度合いを協調させることができる。従って、目的位置に到達するタイミングをより協調させることができる。
【0009】
この構成において、前記制御入力を前記複数のビークルの各々に送信するステップを含んでいてもよい。
【0010】
この構成において、前記第1距離をより短い距離に更新する処理を繰り返し行い、前記複数のビークルの各々を協調して、各々の前記目的位置に接近させてもよい。
【0011】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルから第2距離以上離すことを含んでもよい。
【0012】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルの過去の移動経路から第3距離以上離すことを含んでもよい。
【0013】
この構成において、前記所定条件は、前記ビークルを他の前記ビークルの前記目的位置から第4距離以上離すことを含んでもよい。
【0014】
この構成において、前記所定条件は、前記ビークルの移動速度が下限速度から上限速度の範囲内であることを含んでもよい。
【0015】
この構成において、前記所定条件は、前記ビークルが侵入禁止領域外を移動することを含んでもよい。
【0016】
この構成において、前記複数のビークルの各々の位置が前記侵入禁止領域から第5距離以内である場合、前記侵入禁止領域をより狭い領域に更新するステップを含んでもよい。
【0017】
この構成において、前記より狭い領域は、更新前の前記侵入禁止領域内の領域であってもよい。
【0018】
この構成において、前記侵入禁止領域は、複数のビークルの目的位置のうち1つ以上を含んでいてもよい。
【0019】
この構成において、前記複数のビークルの相対位置関係を、前記複数のビークルの各々に個別に設定された目的位置の相対位置関係に対応させるステップを含み、前記対応させるステップは、前記決定するステップよりも前に行われてもよい。
【0020】
この構成において、前記所定条件は、前記ビークルの位置と当該ビークルの目的位置とを通る直線と、他の前記ビークルの目的位置との距離が第6距離以上であることを含んでもよい。
【0021】
この構成において、前記決定するステップにおいて、前記ビークルの位置の取得から前記制御入力が前記ビークルの移動に反映されるまでに経過することが想定される時間を複数のタイミングに分割し、過去に算出された前記制御入力に基づいて予想される当該ビークルの位置をタイミング毎に算出したうえで新たに与える前記制御入力を算出してもよい。
【0022】
本発明に係る移動制御装置は、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させる移動制御装置であって、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に移動させる制御入力を決定し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するように構成された制御部と、を備えることを特徴とする。
【0023】
この構成において、前記制御部は、前記制御入力を前記複数のビークルの各々に送信してもよい。
【0024】
本発明に係る移動制御システムは、複数のビークルと、前記複数のビークルの各々に個別に設定された目的位置まで前記複数のビークルを移動させる移動制御装置とを備える移動制御システムであって、前記移動制御装置は、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に移動させる制御入力を前記複数のビークルの各々に送信し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するように構成された制御部と、を備える。
【0025】
本発明に係る移動制御システムは、複数のビークルと、前記複数のビークルの各々に設けられる移動制御装置とを備える移動制御システムであって、前記移動制御装置は、前記複数のビークルの各々の位置を取得するように構成された取得部と、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の目的位置から第1距離以上離れた位置に移動させる制御入力を決定し、当該移動制御装置を備えるビークルに当該ビークルの制御入力を適用し、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するように構成された制御部と、を備える。
【0026】
本発明に係るプログラムは、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させるプログラムであって、コンピュータに、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するステップと、を実行させる。
【0027】
本発明に係る記録媒体は、複数のビークルの各々に個別に設定された目的位置まで、少なくとも前記複数のビークルのうち1つ以上を移動させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、前記複数のビークルの各々の位置を取得するステップと、所定条件を満たしながら取得した前記位置から、前記複数のビークルを各々の前記目的位置から第1距離以上離れた位置に移動させる制御入力を決定するステップと、前記複数のビークルの各々の位置と各々の前記目的位置との距離が、前記第1距離以上かつ更新距離内となった場合、前記第1距離をより短い距離に更新するステップと、を実行させるためのプログラムを記録する。
【発明の効果】
【0028】
本発明によれば、目的位置に到達するタイミングをより協調させることができる。
【図面の簡単な説明】
【0029】
図1図1は、第1実施形態の移動制御装置を含む移動制御システムの主要構成を示すブロック図である。
図2図2は、複数のビークルが各々の目的位置まで個別に移動する例を示す模式図である。
図3図3は、予め設定された2次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
図4図4は、予め設定された2次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
図5図5は、予め設定された2次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
図6図6は、予め設定された2次元の平面における移動開始位置から目的位置側に移動するビークルを示す模式図である。
図7図7は、第1実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
図8図8は、図7に示す制御入力算出処理の流れを示すフローチャートである。
図9図9は、侵入禁止領域の一例を示す模式図である。
図10図10は、図9に示す侵入禁止領域がより狭い領域に更新された一例を示す模式図である。
図11図11は、第2実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
図12図12は、フォーメーション編成処理に基づいて移動したビークルを示す模式図である。
図13図13は、フォーメーション編成処理の完了後に目的位置により近づくビークルを示す模式図である。
図14図14は、第3実施形態で移動制御システムが行う処理の流れを示すフローチャートである。
図15図15は、図14に示すフォーメーション編成処理の流れを示すフローチャートである。
図16図16は、現在時刻とタイムラグとの関係を模式的に示すタイムチャートである。
図17図17は、第5実施形態によるビークルの移動経路を示す模式図である。
図18図18は、変形例の移動制御システムの主要構成を示すブロック図である。
【発明を実施するための形態】
【0030】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能である。
【0031】
[第1実施形態]
図1は、第1実施形態の移動制御装置10を含む移動制御システム1の主要構成を示すブロック図である。移動制御システム1は、複数のビークルBの移動経路を制御するシステムである。移動制御装置10は、複数のビークルBの移動を制御する。図1等では、複数のビークルBの各々を区別する目的で、符号B1,B2,B3…を付している。
【0032】
複数のビークルBの各々は、位置検出部51と、通信部52と、動力部53とを備える。位置検出部51は、当該位置検出部51が設けられたビークルBの位置を検出する。位置検出部51の具体的構成例として、グローバル・ポジショニング・システム(GPS:Global Positioning System)等の測位システムを利用して位置を検出するための測位装置が挙げられる。位置検出部51は、所定の起点に対する位置を検出する慣性航法装置であってもよい。
【0033】
通信部52は、移動制御装置10と通信を行う。通信部52の具体的構成例として、無線通信装置が挙げられる。通信部52は、移動制御装置10と有線通信を行う構成であってもよい。
【0034】
動力部53は、ビークルBを移動させる動力として機能する。動力部53の具体的構成は、ビークルBの運用形態に応じる。一例として、ビークルBが地上を走行するビークルである場合、動力部53は、複数の車輪と、当該複数の車輪の一部又は全部を駆動する原動機を含む。ここに例示した動力部53の具体的構成はあくまで一例であってこれに限られるものでない。動力部53は、ビークルBを移動可能にする動力として機能すればよい。
【0035】
移動制御装置10は、通信部20と、制御部30とを備える。通信部20は、複数のビークルBと通信を行う。移動制御装置10とビークルBとの通信は、位置検出部51と通信部20との通信によって行われる。通信部20の具体的構成は、位置検出部51と共通する。
【0036】
制御部30は、演算部31と、記憶部32とを備える。演算部31は、CPU(Central Processing Unit)等の演算回路を含み、複数のビークルBの移動制御に関する各種の処理を行う。記憶部32は、演算部31の処理に用いられるソフトウェア・プログラム(以下、単にプログラムと記載)及びデータを記憶する。このプログラムは、記憶部32に記憶されていてもよいし、コンピュータである移動制御装置10が読み取り可能な記録媒体に記録されていてもよい。この場合、移動制御装置10は、当該記録媒体からプログラムを読み出すための読出装置を備える。また、記憶部32は、通信部20を介して取得されたビークルBに関する情報を記憶する。例えば、後述する複数のビークルBの各々の目的位置(例えば、目的位置P1,P2,…,Pm)を示す情報は、記憶部32に記憶されている。
【0037】
図2は、複数のビークルBが各々の目的位置Pまで個別に移動する例を示す模式図である。図2では、ビークルBの数がMである場合を例示している。Mは、3以上の自然数である。ビークルB1は、移動経路R1を経由して目的位置P1まで移動する。ビークルB2は、移動経路R2を経由して目的位置P2まで移動する。ビークルBMは、移動経路RMを経由して目的位置PMまで移動する。移動制御装置10は、複数のビークルBの移動経路(例えば、移動経路R1,R2,…,RM)の決定を含む複数のビークルBの移動制御に関する処理を行う。
【0038】
複数のビークルBの各々は、位置検出部51によって取得された位置を示す情報を通信部52を介して移動制御装置10に送信する。記憶部32は、複数のビークルBの各々の位置を示す情報を累積的に記憶する。演算部31は、複数のビークルBの各々の位置を示す情報と、複数のビークルBの各々の目的位置を示す情報とに基づいて、複数のビークルBの各々の制御入力を算出し、制御入力を通信部20を介して複数のビークルBに個別に送信する。ここで、制御入力は、所定条件を満たしながら複数のビークルBを各々の目的位置(例えば、目的位置P1,P2,…,PM)から第1距離以上離れた位置まで移動させるための移動方向及び移動速度を示す情報として機能する。ビークルBは、制御入力に従って移動するように動力部53を動作させる。また、記憶部32は、複数のビークルBの各々に送信された制御入力を累積的に記憶する。所定条件については後述する。
【0039】
以下、M=3の場合を例として、図3から図6を参照して複数のビークルBの移動制御について説明する。図3図4図5図6の順に、移動開始後の時間が経過しているものとする。
【0040】
図3図4図5及び図6は、予め設定された2次元の平面における移動開始位置A1,A2,A3から目的位置P1,P2,P3側に移動するビークルB1,B2,B3を示す模式図である。図3から図6の外枠は、2次元平面を模式的に示している。当該2次元平面をxy平面とし、複数のビークルBのうち一つのx軸方向の移動速度をumx(k)とし、当該一つのビークルBのy軸方向の移動速度をumy(k)とすると、当該一つのビークルBの制御入力は、u(k)=[umx(k) umy(k)]のように表せる。ここで、m=1,2,…,Mである。すなわち、mの値が異なるu(k)は、それぞれ異なるビークルBに対する制御入力を示す。また、kは、ある一時点(時刻)を示す。例えば、演算部31は、複数のビークルBの各々から最新の位置を示す情報が送信され、位置検出部51によって取得されたタイミングを現在時刻(k)と定義し、当該現在時刻(k)に複数のビークルBの各々に対して与えるべき制御入力を算出する。以下の説明では、この定義を前提として説明する。例えば、(k-D)のようにkに対する減算を含む記載は、kよりも過去の時点(時刻)をさす。また、(k+D)のようにkに対する加算を含む記載は、kから未来の時点(時刻)をさす。なお、上付き符号のTは転置を示す。
【0041】
ビークルBの位置を示す情報は、異なるタイミングで複数回提供される。第1実施形態では、所定の制御周期が経過する度に位置検出部51が位置を検出し、通信部52を介して移動制御装置10に当該位置を示す情報を送信する。演算部31は、制御周期が経過する度に送信される当該位置を示す情報に基づいて制御入力を算出し、通信部20を介して複数のビークルBの各々に送信する。複数のビークルBの各々は、制御周期が経過する度に改めて算出される制御入力に従って動力部53を動作させて移動する。
【0042】
移動制御装置10は、ビークルB1,B2,B3の位置を示す情報を取得すると、所定条件を満たしながらビークルB1,B2,B3を各々の目的位置P1,P2,P3から第1距離以上離れた位置まで移動させるよう、ビークルB1,B2,B3の制御入力を算出する。ここで、所定条件は、ビークルBを他のビークルBから第2距離以上離すという第1条件を含む。図3では、ビークルB1とビークルB2との距離D1を例示している。第2距離をd[m]とすると、第1条件を満たすビークルB1とビークルB2の位置関係では、距離D1≧d[m]である。図示しないが、ビークルB1とビークルB3の位置関係及びビークルB2とビークルB3の位置関係についても同様である。
【0043】
また、所定条件は、ビークルBを他のビークルBの過去の移動経路から第3距離以上離すという第2条件を含む。図3では、ビークルB1と、T[秒(sec)]前までの時間にビークルB2が経由した移動経路R2との距離D2を例示している。第3距離をd[m]とすると、第2条件を満たすビークルB1と移動経路R2の位置関係では、距離D2≧d[m]である。
【0044】
図4に示す例では、ビークルB1が移動経路R2及び移動経路R3からの距離を第3距離以上にするために移動経路R2と移動経路R3の間を通って目的位置P1側に回り込むように移動制御される例を示している。また、図4に示す例では、ビークルB3が移動経路R1からの距離を第3距離以上にするために移動経路R1を迂回して目的位置P3側に回り込むように移動制御される例を示している。また、ビークルB3が回り込むように移動することでビークルBとの距離が第2距離以上に維持されている。なお、移動経路R1,R2,R3は、それぞれ複数のビークルBの位置検出部51の各々が検出して移動制御装置10に送信した複数のビークルBの各々の位置を時系列に沿って連続させた経路である。これは、例えば複数のビークルBの各々の位置を示す情報を記憶部32が記憶し、演算部31が読み出して時系列に沿って連続したデータとして扱うことで成立する。移動経路R1,R2,R3として独立して機能するデータを、演算部31が複数のビークルBの各々の位置を示す情報に基づいて生成する処理を別途行うようにしてもよい。
【0045】
第1条件及び第2条件は、以下の式(1)のように表せる。ここで、p(k)は、位置検出部51によって検出されたビークルBの位置を示す。また、p(k)は、あるビークルBの位置をp(k)と表した場合における「当該ビークルBとは異なるビークルB(他のビークルB)の位置」を示す。なお、p(k)∈R2×1である。R2×1は、xy平面をさす。
【数1】
【0046】
また、式(1)等におけるnは、n=1,…,Nである。Nは、予測ホライズンを表す。予測ホライズンとは、現在時刻(k)から何ステップ先まで制御入力ならびに移動後のビークルBの位置を算出するかを示す。Nは、1であってもよいし、2以上の自然数であってもよい。
【0047】
なお、第1実施形態では、第2距離と第3距離が同一の距離(d[m])であるが、第2距離と第3距離は異なってもよい。
【0048】
また、所定条件は、ビークルBを他のビークルBの目的位置から第4距離以上離すという第3条件を含む。図4では、ビークルB2と、ビークルB3の目的位置P3との距離D3を例示している。第4距離をd[m]とすると、第3条件が満たされる場合、距離D3≧d[m]である。第3条件は、以下の式(2)のように表せる。なお、q(k)は、あるビークルBの位置をp(k)と表した場合における「当該ビークルBとは異なるビークルB(他のビークルB)の目的位置」を示す。これに対し、q(k)とした場合、p(k)で位置が表された当該ビークルBの目的位置を示す。なお、q(k)∈R2×1である。
【数2】
【0049】
また、所定条件は、ビークルBの移動速度が下限速度(Vmin)から上限速度(Vmax)の範囲内であるという第4条件を含む。ビークルBの移動速度が上限速度(Vmax)以下であることは、以下の式(3)のように表せる。ビークルBの移動速度が下限速度(Vmin)以上であることは、以下の式(4)のように表せる。
【数3】
【0050】
また、「所定条件を満たしながらビークルB1,B2,B3を各々の目的位置P1,P2,P3から第1距離以上離れた位置まで移動させる」ということは、演算部31が、ビークルBの制御入力を算出する処理において「ビークルBが、目的位置から第1距離内に進入しない」という条件(第5条件)を設定しているということである。図4では、ビークルB2と目的位置P2との距離D4を例示している。第1距離をd[m]とすると、第5条件が満たされる場合、距離D4≧d[m]である。第5条件は、以下の式(5)のように表せる。
【数4】
【0051】
ビークルBの制御入力に関する処理では、上述の式(1)、式(2)、式(3)、式(4)、式(5)のように表した条件を前提として、以下の式(6)のようにビークルBの制御入力に関する所定条件を表せる。なお、Lは所定条件に含まれる条件の数である。第1実施形態では、L=5である。
【数5】
【0052】
ただし、ビークルBの制御入力を算出するための処理にモデル予測制御(MPC:Model Predictive Control)を適用するためには、位置検出部51によって検出されたビークルBの位置(p(k))と、ビークルBの制御入力(u(k))に従って移動したnステップ後のビークルBの将来位置(p(k+n))との関係を定義する必要がある。そこで,nステップ後のビークルBの将来位置(p(k+n))を以下の式(7)のように予測する。上述の式(1)、式(2)、式(3)、式(4)、式(5)と、式(7)との組み合わせによって、演算部31は、ビークルBの制御入力に関する処理にモデル予測制御を適用できる。なお、モデル予測制御とは、各時刻で未来の応答を予測しながら最適化を行う制御手法をさす。
【数6】
【0053】
なお、式(5)のdが不変であると仮定すると、ビークルBは、目的位置に到達できない。そこで、演算部31は、複数のビークルBの各々の位置が各々の目的位置から第1距離+α((d+α)[m])内の位置になった場合、第1距離(d)をより短い距離に更新する。具体的には、演算部31は、複数のビークルBの各々の位置が各々の目的位置から第1距離(d)の位置になるまで適用されていた第1距離(d)から予め定められた第1距離の漸減量(Δ)を差し引いてdの値を更新する(d=d-Δ)。図5では、図4に示す距離D4よりも短い距離に更新されたビークルB2と目的位置P2との距離D5を例示している。なお、複数のビークルBの各々の位置が各々の目的位置から第1距離+α((d+α)[m])内の位置になったかの判定するための条件式は、式(5)のdを(d+α)に置換したものである。
【0054】
第1距離(d)が更新されるまで、複数のビークルBは、各々の目的位置から第1距離(d)以上離れた位置になるよう制御される。その後、第1距離(d)が更新されてより短い距離になることで、複数のビークルBは、各々の目的位置により近づけるようになる。このような、第1距離(d)をより短い距離に更新する処理を繰り返し行い、複数のビークルBの各々を協調して、各々の目的位置に接近させる。第1距離(d)が更新されて0になった場合、複数のビークルBは、図6に示すように、各々の目的位置に到達できる。このように、移動制御装置10は、複数のビークルBを各々の目的位置に到達させるタイミングを合わせられる。
【0055】
なお、一度も更新されていない第1距離(d)は、0を超える値である。また、当該第1距離(d)は、漸減量(Δ)を1回以上差し引くことで、0になる値である。第1距離(d)=0になった場合、後述する目的位置の更新が生じない限り、第1距離(d)の更新はそれ以上行われない。
【0056】
α[m]の値は正の数である。また、αは定数であってもよいし、変数であってもよい。例えば、αは、d/gであってもよい。ここで、gは、自然数である。第1実施形態において、第1距離+α((d+α)[m])は、更新距離として機能する。更新距離は、第1距離よりも長い。
【0057】
演算部31は、複数のビークルBが各々の目的位置に到達するタイミングを同一にしてもよいし、異なるタイミングにしてもよい。第1距離(d)の設定及び更新による複数のビークルBの移動制御は、複数のビークルBが各々の目的位置に近接するタイミングを協調させるものであって、各々の目的位置への同時到達のみを目的とするものでない。
【0058】
また、演算部31は、以下の式(8)のように評価関数Jm(u(k),…,u(k+N-1))を設定する。ここで、em(k+n)は、nステップ先のビークルBの将来位置と当該ビークルBの目的位置の偏差である。em(k+n)は、以下の式(9)のように表せる。なお、em(k+n)∈R2×1である。
【数7】
【0059】
演算部31は、上述の式(1)、式(2)、式(3)、式(4)、式(5)及び式(7)によって表される条件と、式(8)及び式(9)によって表される評価関数を用いて、以下の式(10)のように表される制約付き最適化問題を制御周期毎に解き、制御周期毎の制御入力を求める。
【数8】
【0060】
以上の説明では、複数のビークルBの各々の制御入力の算出にモデル予測制御を適用しているが、制御入力の算出方法はこれに限られるものでない。車両の等価二輪モデルなど、非ホロノミックなモデルを用いてもよい。
【0061】
図7は、第1実施形態で移動制御システム1が行う処理の流れを示すフローチャートである。複数のビークルBの各々は、位置検出部51によって位置を検出し(ステップS1)、検出された位置を示す情報を、通信部52を介して移動制御装置10に送信する。移動制御装置10は、通信部20を介して複数のビークルBの各々の位置を示す情報を取得する(ステップS2)。演算部31は、全てのビークルBが各々の目的位置から第1距離+αの位置であるか判定する(ステップS3)。全てのビークルBが各々の目的位置から第1距離+αの位置であると判定された場合(ステップS3;Yes)、演算部31は、第1距離が0であるか判定する(ステップS4)。
【0062】
ステップS4で第1距離が0であると判定された場合(ステップS4;Yes)、演算部31は、全てのビークルBが目的位置に到達したか判定する(ステップS5)。全てのビークルBが目的位置に到達したと判定された場合(ステップS5;Yes)、移動制御システム1によるビークルBの移動制御に関する処理は終了する。
【0063】
ステップS4で第1距離が0でないと判定された場合(ステップS4;No)、演算部31は、第1距離をより短い距離に更新する(ステップS6)。ステップS6の処理後、演算部31は、制御入力算出処理を行う(ステップS7)。また、ステップS3で全てのビークルBが各々の目的位置から第1距離+αの位置でないと判定された場合(ステップS3;No)及びステップS5で1つ以上のビークルBが目的位置に到達していないと判定された場合(ステップS5;No)にもステップS7の処理に移行する。
【0064】
図8は、図7に示す制御入力算出処理の流れを示すフローチャートである。演算部31は、上述の式(10)のように表される制約付き最適化問題を解き、複数のビークルBの各々の制御入力(u(k))を算出する(ステップS11)。なお、ステップS11内の記載では、上述の式(6)で所定条件を示しているが、実際には上述の式(1)~(5)の条件と、式(7)の予測と、式(8)及び式(9)の評価関数が参酌される。ステップS11の処理後、演算部31はkの値に1を加算し(k=k+1)、制御周期を1つ進める(ステップS12)。
【0065】
図8を参照して説明した制御入力算出処理、すなわち、ステップS7の処理が完了すると、ステップS1の処理に移行する。
【0066】
以上、目的位置が固定の場合を例として説明したが、目的位置はビークルBの移動中又はビークルBが目的位置に到達した後に更新されてもよい。
【0067】
なお、目的位置が更新された場合、第1距離(d)は、0を超える値に再設定される。一度も更新されていない第1距離(d)は、目的位置の更新前後に関わらず一定であってもよいし、目的位置の更新前後で個別に設定されてもよい。
【0068】
第1実施形態によれば、複数のビークルBが各々の目的位置から第1距離以上の位置に移動した後に第1距離がより短い距離に更新される。これによって、各々の目的位置に対する複数のビークルBの近接の度合いを協調させることができる。従って、目的位置に到達するタイミングをより協調させることができる。
【0069】
また、ビークルBを他のビークルBから第2距離以上離すので、ビークルB同士の衝突及び過剰な近接を回避することができる。
【0070】
また、ビークルBを他のビークルBの過去の移動経路から第3距離以上離すことで、ビークルBの移動経路が他のビークルBの移動に影響を与えることを抑制することができる。例えば、ビークルBが水上又は水中を移動する構成である場合、航跡の波等が他のビークルBの移動に影響を与える可能性をより低減することができる。
【0071】
また、ビークルBを他のビークルBの目的位置から第4距離以上離すことで、他のビークルBによって目的位置への到達又は近接が妨げられることを抑制することができる。
【0072】
また、制御入力の算出における条件として、ビークルBの移動速度が下限速度から上限速度の範囲内であることが含まれることで、ビークルBが実現不可能な制御入力を与えることを抑制することができる。
【0073】
[第2実施形態]
次に、第2実施形態について説明する。第1実施形態と同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第2実施形態は、第1実施形態と同様である。
【0074】
実施形態2では、所定条件として、さらに第6条件が追加される。第6条件は、「ビークルBが侵入禁止領域外を移動する」ことである。これは、言い換えれば「ビークルBが、予め定められた侵入禁止領域に進入しない」ことである。
【0075】
図9は、侵入禁止領域F1の一例を示す模式図である。以下の説明では、図9に示すように、侵入禁止領域F1が、xy平面上の座標O(x(k),y(k))を中心とした半径rの円である場合を例とする。この場合、第6条件は、以下の式(11)のように表せる。
【数9】
【0076】
なお、rが不変であると仮定すると、侵入禁止領域F1内にビークルBが入れない状態が解消されない。そこで、第2実施形態の演算部31は、複数のビークルBの各々の位置が侵入禁止領域F1から第5距離以内である場合、侵入禁止領域F1をより狭い領域F2(図10参照)に更新する。
【0077】
図10は、図9に示す侵入禁止領域F1がより狭い領域F2に更新された一例を示す模式図である。具体的には、演算部31は、以下の式(12)が満たされた場合、それまで適用されていたrから予め定められた漸減量(Δ)を差し引いてrの値を更新する(r=r-Δ)。式(12)では、第5距離が(r+β)で表されている。なお、βは、0を超える値である。また、一度も更新されていないrは、0を超える値である。また、rは、漸減量(Δ)を1回以上差し引くことで、0になる値である。また、r=0になった場合、侵入禁止領域の設定は解除される。この場合、より狭い領域F2は、更新前の侵入禁止領域F1内の領域になる。
【数10】
【0078】
侵入禁止領域は、円状に限られない。例えば、3以上の頂点をxy平面上に設定して頂点同士を結ぶ線分により形成される多角形を侵入禁止領域とするようにしてもよい。
【0079】
また、図9に示す侵入禁止領域F1は、複数のビークルBの各々の目的位置を全て含んでいるが、これに限られるものでない。更新前後の侵入禁止領域は、複数のビークルBの目的位置のうち1つ以上を含んでいてもよいし、1つも含まなくてもよい。
【0080】
図11は、第2実施形態で移動制御システム1が行う処理の流れを示すフローチャートである。第2実施形態では、演算部31は、ステップS3で全てのビークルBが各々の目的位置から第1距離+αの位置でないと判定された場合(ステップS3;No)及びステップS6の処理後に、全てのビークルBが侵入禁止領域から第5距離以内の位置であるか判定する(ステップS21)。全てのビークルBが侵入禁止領域から第5距離以内の位置であると判定された場合(ステップS21;Yes)、演算部31は、侵入禁止領域をより狭い領域に更新する(ステップS22)。ステップS22の処理後又はステップS21で1つ以上のビークルBが侵入禁止領域から第5距離以内の位置でないと判定された場合(ステップS21;No)、ステップS7の処理に移行する。以上、特筆した事項を除いて、第2実施形態で移動制御システム1が行う処理の流れは、図7及び図8を参照して説明した第1実施形態で移動制御システム1が行う処理の流れと同様である。
【0081】
第2実施形態によれば、ビークルBが侵入禁止領域外を移動するので、ビークルB及びビークルBの移動経路を内包しない領域を設けることができる。特に、侵入禁止領域が複数のビークルBの各々の目的位置を含むようにすることで、1つ以上のビークルBが他のビークルBの目的位置に近接して当該他のビークルBの移動を妨げる可能性をより確実に低減することができる。
【0082】
また、複数のビークルBの各々の位置が侵入禁止領域から第5距離以内である場合、侵入禁止領域をより狭い領域に更新することで、侵入禁止領域が複数のビークルBの移動に与える影響が一律で低減される。従って、複数のビークルBの移動をより協調的にすることができる。
【0083】
また、更新後の侵入禁止領域を、更新前の侵入禁止領域内の領域にすることで、複数のビークルBを更新前の侵入禁止領域内の領域に徐々に侵入させる協調的な移動制御が可能になる。
【0084】
[第3実施形態]
次に、第3実施形態について説明する。第1実施形態、第2実施形態の少なくとも1つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第3実施形態は、他の実施形態と同様である。
【0085】
実施形態3では、複数のビークルBの相対位置関係を、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応させるようにビークルBを移動制御するフォーメーション編成処理が行われる。当該フォーメーション編成処理は、上述の式(10)を用いた制御入力の算出よりも前に行われる。
【0086】
フォーメーション編成処理について、図12及び図13を参照して説明する。図12は、フォーメーション編成処理に基づいて移動したビークルB1,B2,B3を示す模式図である。図13は、フォーメーション編成処理の完了後に目的位置P1,P2,P3により近づくビークルB1,B2,B3を示す模式図である。
【0087】
図12に示す3つのビークルB1,B2,B3の移動開始位置A1,A2,A3の相対位置関係は、ビークルB2の移動開始位置A2がビークルB1の移動開始位置A1とビークルB3の移動開始位置A3との間にある位置関係である。一方、3つのビークルB1,B2,B3の目的位置P1,P2,P3の相対位置関係は、ビークルB3の目的位置P3がビークルB1の目的位置P1とビークルB2の目的位置P2との間にある位置関係である。このように、図12に示す移動開始位置A1,A2,A3の相対位置関係は、目的位置P1,P2,P3の相対位置関係に対応していない。
【0088】
そこで、第3実施形態の演算部31は、上述の式(10)に代えて、以下の式(13)を用いてフォーメーション編成処理を行って制御入力を算出する。フォーメーション編成処理は、複数のビークルBの相対位置関係が、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応するまで行われる。図12に示す3つのビークルB1,B2,B3の相対位置関係は、フォーメーション編成処理によって算出された制御入力に従って移動開始位置A1,A2,A3から移動することで、目的位置P1,P2,P3の相対位置関係に対応している。
【数11】
【0089】
なお、式(13)のrm,l(k)は、複数のビークルBの各々に個別に設定された目的位置の相対位置ベクトルを意味する。すなわち、rm,l(k)は、相対位置関係に対応する相対位置関係(フォーメーション)を表している。なお、フォーメーション編成処理は、上述の式(13)を用いた処理に限られるものでない。例えば、フォーメーション編成処理は、仮想リーダーを用いた処理であってもよい。
【0090】
フォーメーション編成処理が完了することの判定は、式(13)の値に基づいて行うことができる。これは、式(13)が、フォーメーション(rm,l(k))と、現在時刻(k)の複数のビークルBの相対位置関係との乖離の度合を示す値として機能するためである。フォーメーション編成処理の完了後、演算部31は、第1実施形態又は第2実施形態と同様、式(10)を用いて複数のビークルBの制御入力を算出する。フォーメーション編成処理の完了後に複数のビークルBを目的位置に移動させるようにすることで、ビークルBの移動経路同士が交錯又は干渉する可能性をより確実に抑制することができる。
【0091】
図14は、第3実施形態で移動制御システム1が行う処理の流れを示すフローチャートである。第3実施形態では、演算部31は、ステップS2の処理後、複数のビークルBの相対位置関係が、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応するか判定する(ステップS31)。複数のビークルBの相対位置関係が、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応すると判定された場合(ステップS31;Yes)、ステップS3の処理に移行する。一方、複数のビークルBの相対位置関係が、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応しないと判定された場合(ステップS31;No)、演算部31は、フォーメーション編成処理を行う(ステップS32)。
【0092】
図15は、図14に示すフォーメーション編成処理の流れを示すフローチャートである。演算部31は、上述の式(13)のように表される制約付き最適化問題を解き、複数のビークルBの各々の制御入力(u(k))を算出する(ステップS41)。なお、ステップS41内の記載では、上述の式(6)で所定条件を示しているが、実際には上述の式(1)~(5)の条件と、式(7)の予測と、式(8)及び式(9)の評価関数が参酌される。ステップS41の処理後、演算部31はkの値に1を加算し(k=k+1)、制御周期を1つ進める(ステップS42)。
【0093】
図15を参照して説明した制御入力算出処理、すなわち、ステップS32の処理が完了すると、ステップS1の処理に移行する。以上、特筆した事項を除いて、第3実施形態で移動制御システム1が行う処理の流れは、図7及び図8を参照して説明した第1実施形態で移動制御システム1が行う処理の流れと同様である。
【0094】
なお、第2実施形態でフォーメーション編成処理を行ってもよい。その場合、図11のステップS2の処理とステップS3の処理の間にステップS31の処理が挿入され、図14及び図15を参照した説明と同様に処理が分岐及び移行する。
【0095】
第3実施形態によれば、複数のビークルBの相対位置関係を、複数のビークルBの各々に個別に設定された目的位置の相対位置関係に対応させるフォーメーション編成処理によって、フォーメーション編成処理後後の複数のビークルBの移動経路同士の相互干渉の可能性をより確実に低減することができる。
【0096】
[第4実施形態]
次に、第4実施形態について説明する。第1実施形態、第2実施形態、第3実施形態の少なくとも1つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第4実施形態は、他の実施形態と同様である。
【0097】
通信部52と通信部20との通信を介したビークルBと移動制御装置10とのデータ送受信に費やされる時間はゼロではない。このため、位置検出部51が検出したビークルBの位置を示す情報を移動制御装置10が取得して制御入力を算出し、ビークルBの動力部53の動作に反映するまでの1サイクルの開始タイミングと完了タイミングと間にはタイムラグが生じる。このタイムラグによって、位置検出部51が位置を検出したタイミングを想定した場合に最適である制御入力が、タイムラグを生じてビークルBに反映されたタイミングでは、タイムラグ中のビークルBの移動によって必ずしも最適でなくなる可能性がゼロではない。このタイムラグは、理想的には削減されるべき「むだ時間」であるが、このタイムラグを完全に削減することは困難である。
【0098】
図16は、現在時刻(k)とタイムラグとの関係を模式的に示すタイムチャートである。第4実施形態では、現在時刻(k)において求めた制御入力(u(k))がビークルBに反映されるまでに、ビークルBは、以下の式(14)が示す移動をしている。式(14)及び後述する式(15)のDは、想定されるむだ時間を示す値である。すなわち、図16に示すように、移動制御装置10による制御入力(u(k))の算出タイミグと、ビークルBにおける当該制御入力の反映タイミングとの間に、むだ時間(D)が経過している。
【数12】
【0099】
そこで、第4実施形態では、上述のタイムラグを考慮して制御入力を算出する。具体的には、第4実施形態の演算部31は、式(7)に代えて、以下の式(15)を用いる。
【数13】
【0100】
上述の式(15)は、むだ時間(D)におけるビークルBの移動量をビークルBの将来位置の予測に反映している。式(15)の右辺第2項(u(k-i))は、過去に計算した制御入力に対応する項であり、現在時刻(k)の時点では変更不可能である。一方、式(15)の右辺第3項(u(k+j))は第1実施形態、第2実施形態及び第3実施形態で求めていた制御入力(u(k))の算出において、むだ時間(D)の経過による予測ホライズンの増加を考慮したものである。このように、式(15)では、右辺第2項で現在時刻(k)よりも前の検出タイミングから経過したむだ時間(D)を考慮し、右辺第3項で現在時刻(k)から後の反映タイミングまでに経過するむだ時間(D)を考慮する。
【0101】
このように、第4実施形態の演算部31は、位置検出部51によるビークルBの位置の取得から制御入力(u(k))が動力部53によるビークルBの移動に反映されるまでに経過することが想定される時間に複数の予測ホライズンが含まれるようにする。ここで、当該時間は、現在時刻(k)よりも前の検出タイミングから経過したむだ時間(D)と、現在時刻(k)から後の反映タイミングまでに経過するむだ時間(D)を含むことから、2Dに対応する時間になる。2Dに対応する時間には、式(15)の右辺第2項(u(k-i))と右辺第3項(u(k+j))が含まれることから、複数の予測ホライズンが含まれる。言い換えれば、当該時間には、複数の予測ホライズンの各々に対応する各タイミングでビークルBの将来位置が予測されている。このように、第4実施形態の演算部31は、複数のタイミングに分割された当該時間内で、過去に算出された制御入力(式(15)の右辺第2項(u(k-i)))に基づいて予想されるビークルBの位置を複数の予測ホライズンの各々に対応するタイミング毎に算出したうえで新たに与える制御入力(式(15)の右辺第3項(u(k+j)))を算出する。
【0102】
第4実施形態によれば、位置の検出から制御入力の反映までのタイムラグを考慮した制御入力によってビークルBをより適切に移動させることができる。
【0103】
[第5実施形態]
次に、第5実施形態について説明する。第1実施形態、第2実施形態、第3実施形態、第4実施形態の少なくとも1つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、第5実施形態は、他の実施形態と同様である。
【0104】
図17は、第5実施形態によるビークルB1,B2,B3の移動経路を示す模式図である。第5実施形態では、所定条件として、さらに第7条件が追加される。第7条件は、「ビークルBの位置と当該ビークルBの目的位置とを通る直線と、他のビークルBの目的位置との距離が第6距離以上である」ことである。図17では、ビークルB2の位置と目的位置P2を通る直線L2と、目的位置P1との距離D6と、ビークルB3の位置と目的位置P3を通る直線L3と、目的位置P2との距離D7を例示している。第6距離をd[m]とすると、第7条件を満たす距離D6は、距離D6≧d[m]である。第7条件を満たす距離D7は、距離D7≧d[m]である。
【0105】
第6条件は、以下の式(16)のように表せる。式(16)の左辺第1項における(a,b,c)は、ビークルBの位置と当該ビークルBの目的位置を通る直線であり、左辺第1項の絶対値は、当該直線と他のビークルBの目的位置との距離を示す。
【数14】
【0106】
なお、上述の第3条件における第4距離(d[m])の値の調整によっても第6条件と類似する効果を得られるが、第4距離(d[m])は、複数のビークルBの目的位置同士の距離によっては、第4距離が制御入力に与える影響によってビークルBの移動経路の制約がより厳しくなる可能性がゼロではない。一方、第7条件では、このような移動経路の制約をより緩和したうえで複数のビークルBの各々の移動経路の干渉をより確実に抑制することができる。
【0107】
第5実施形態によれば、上述のように、複数のビークルBの各々の移動経路の干渉をより確実に抑制することができる。
【0108】
[変形例]
次に、変形例について説明する。第1実施形態、第2実施形態、第3実施形態、第4実施形態、第5実施形態の少なくとも1つと同様の構成については、同じ符号を付して説明を省略する。特筆する事項を除いて、変形例は、上述の各実施形態と同様である。
【0109】
図18は、変形例の移動制御システム100の主要構成を示すブロック図である。第1実施形態の説明で参照した図1の移動制御システム1では、移動制御装置10が複数のビークルBから独立した構成として設けられるが、変形例の移動制御システム100では、移動制御装置60が複数のビークルBa,Bb,Bcの各々に設けられる。
【0110】
移動制御装置60は、位置検出部51と、制御部30と、通信部70とを備える。通信部70は、上述の通信部52と通信部20の両方の機能を含む。通信部70は、当該通信部70を構成に含むビークルBが備える位置検出部51が検出した当該ビークルBの位置を示す情報を、他のビークルBに送信する。また、通信部70は、他のビークルBが備える位置検出部51が検出した他のビークルBの位置を示す情報を受信する。複数のビークルBa,Bb,Bcの各々の移動制御装置60に含まれる制御部30はそれぞれ、第1実施形態の制御部30と同様、全てのビークル(ビークルBa,Bb,Bc)の制御入力を算出する。複数のビークルBa,Bb,Bcの各々の動力部53は、当該動力部53を備えるビークルが備える移動制御装置60に含まれる制御部30によって算出された制御入力のうち当該ビークルの制御入力に従って動作する。
【0111】
図18では、移動制御装置60に位置検出部51及び通信部70が含まれているが、位置検出部51及び通信部70の少なくとも一方は、移動制御装置60に含まれない独立した構成としてビークルBに設けられていてもよい。また、図18では、3つのビークルBa,Bb,Bcを含む移動制御システム100を例示しているが、移動制御システム100に含まれるビークルBの数は2つであってもよいし、4つ以上であってもよい。
【0112】
以上、第1実施形態、第2実施形態、第3実施形態、第4実施形態及び第5実施形態並びに変形例について説明したが、これらは任意に組み合わせ可能である。すなわち、第1実施形態、第2実施形態、第3実施形態、第4実施形態及び第5実施形態はいずれも他の実施形態と競合及び矛盾せず、併用できる。また、変形例は、第1実施形態、第2実施形態、第3実施形態、第4実施形態及び第5実施形態及びこれらの組み合わせによる実施形態に適用できる。
【0113】
上述の第1条件では、最小値を求める関数(min)を用いているが、これに限られるものでなく、過去の点列を全て制約条件に書き出してもよい。また、所定条件は、上述の第1条件等に限られるものでない。例えば、ビークルの舵角(ヨーレート)に制約条件を設定してもよい。
【0114】
実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。実施形態及び変形例は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0115】
1,100 移動制御システム
10,60 移動制御装置
20,52,70 通信部
30 制御部
31 演算部
32 記憶部
51 位置検出部
53 動力部
B,B1,B2,B3,BM,Ba,Bb,Bc ビークル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18