(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024089613
(43)【公開日】2024-07-03
(54)【発明の名称】移動体制御システム及び移動体制御方法
(51)【国際特許分類】
G05D 1/43 20240101AFI20240626BHJP
G08G 1/16 20060101ALI20240626BHJP
【FI】
G05D1/02 H
G08G1/16 A
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023129330
(22)【出願日】2023-08-08
(31)【優先権主張番号】P 2022204879
(32)【優先日】2022-12-21
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】藤倉 大貴
(72)【発明者】
【氏名】藤島 泰郎
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA01
5H181AA25
5H181AA26
5H181BB04
5H181BB13
5H181CC27
5H181FF05
5H181FF13
5H181FF27
5H301AA01
5H301AA04
5H301AA06
5H301BB14
5H301CC03
5H301CC04
5H301CC06
5H301CC07
5H301CC10
5H301DD08
5H301DD17
5H301GG14
5H301GG16
5H301KK03
5H301KK08
5H301KK18
5H301KK19
(57)【要約】
【課題】システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御する。
【解決手段】移動体制御システムは、一群で移動する複数の移動体の移動を制御する移動体制御システムであって、複数の移動体の1つである第1移動体と、複数の移動体のうち第1移動体とは異なる複数の第2移動体とを備え、第1移動体は、当該第1移動体自身の移動を制御すると共に、複数の第2移動体に対して、複数の移動体の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、第2移動体は、第1移動体からブロードキャスト送信された群制御情報をそれぞれ受信し、受信した群制御情報に基づいて第2移動体自身の移動を制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
一群で移動する複数の移動体の移動を制御する移動体制御システムであって、
複数の前記移動体の1つである第1移動体と、
複数の前記移動体のうち前記第1移動体とは異なる複数の第2移動体と
を備え、
前記第1移動体は、当該第1移動体自身の移動を制御すると共に、複数の前記第2移動体に対して、複数の前記移動体の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、
前記第2移動体は、前記第1移動体からブロードキャスト送信された前記群制御情報をそれぞれ受信し、受信した前記群制御情報に基づいて前記第2移動体自身の移動を制御する
移動体制御システム。
【請求項2】
複数の前記移動体は、非ホロノミックである
請求項1に記載の移動体制御システム。
【請求項3】
前記第1移動体は、前記群制御情報のブロードキャスト送信を所定の送信周期で行う
請求項2に記載の移動体制御システム。
【請求項4】
前記群制御情報は、前記第1移動体の移動の速度及び移動の方向と、複数の前記移動体の移動についての目標に対する達成度合いを示す評価値と、を含む
請求項3に記載の移動体制御システム。
【請求項5】
前記第1移動体は、
前記第1移動体自身の位置及び複数の前記第2移動体の位置を取得し、
取得結果に基づいて前記評価値を算出し、
算出した前記評価値と、前記第1移動体の移動の速度及び移動の方向とを前記群制御情報として複数の前記第2移動体にブロードキャスト送信する
請求項4に記載の移動体制御システム。
【請求項6】
前記第2移動体は、前記群制御情報に基づいて当該第2移動体自身の移動の速度及び移動の方位に基づく値を指令値として算出し、
前記評価値は、前記達成度合いが高くなるほど所定値に近づくように設定され、
前記第2移動体は、前記評価値が前記所定値に近づくように前記指令値を算出する処理と、ランダムな値として前記指令値を算出する処理とを交互に行う
請求項5に記載の移動体制御システム。
【請求項7】
前記第2移動体は、前記ブロードキャスト送信の前記送信周期よりも短い期間で、前記指令値の算出を行う
請求項6に記載の移動体制御システム。
【請求項8】
前記第2移動体は、前記第1移動体の移動の方向を基準とした座標系での当該第2移動体自身の移動の速度及び移動の方位に基づく値を算出し、算出結果を世界座標系に変換することで前記指令値を算出する
請求項6に記載の移動体制御システム。
【請求項9】
前記評価値は、所定のパラメータを含む評価関数として設定され、
前記第1移動体は、前記パラメータを段階的に変更することで、複数の前記第2移動体を、初期位置から中間位置を経由して目標位置に移動させる
請求項5に記載の移動体制御システム。
【請求項10】
前記第1移動体は、
前記第1移動体自身の位置、複数の前記第2移動体の位置及び複数の前記第2移動体のランダム動作の方向を表すスカラー値を取得し、
取得した前記第1移動体自身の位置及び複数の前記第2移動体の位置に基づいて第1評価値を算出し、取得した複数の前記第2移動体の位置及び複数の前記第2移動体のランダム動作の方向を表すスカラー値に基づいて第2評価値を算出し、
算出した前記第1評価値と前記第2評価値との差分である評価値差分と、前記第1移動体の移動の速力及び移動の針路とを前記群制御情報として複数の前記第2移動体にブロードキャスト送信する
請求項4に記載の移動体制御システム。
【請求項11】
前記第2移動体は、
前記ブロードキャスト送信の前記送信周期よりも短い処理周期で処理を行い、
前記第1移動体から前記群制御情報を取得した場合に、前記群制御情報に基づいて次回に前記群制御情報を取得する次回取得時点での前記第2移動体の目標位置である誘導目標点を算出し、
前記次回取得時点において前記誘導目標点に到達するための経路を算出し、前記経路に沿って移動するための移動の速度及び移動の方位に基づく値を指令値として算出する
請求項10に記載の移動体制御システム。
【請求項12】
前記第2移動体は、前記第1移動体から前記群制御情報を取得した時点から前記次回取得時点までの期間に、前記第2移動体の状態に基づいて前記指令値を更新する
請求項11に記載の移動体制御システム。
【請求項13】
前記第1移動体は、
前記第1移動体自身の位置、複数の前記第2移動体の位置及び複数の前記第2移動体のランダム動作の方向を表すスカラー値を取得し、
取得結果に基づいて前記評価値が最小となるような前記第2移動体の移動量を算出し、
算出した前記移動量と、前記第1移動体の移動の速力及び移動の針路とを前記群制御情報として複数の前記第2移動体にブロードキャスト送信し、
前記第2移動体は、前記移動量に基づいて前記指令値を算出する
請求項6に記載の移動体制御システム。
【請求項14】
一群で移動する複数の移動体の移動を制御する移動体制御方法であって、
複数の前記移動体の1つである第1移動体が、当該第1移動体自身の移動を制御すると共に、複数の前記移動体のうち前記第1移動体とは異なる複数の第2移動体に対して、複数の前記移動体の群全体としての移動を制御するための群制御情報をブロードキャスト送信することと、
前記第2移動体が、前記第1移動体からブロードキャスト送信された前記群制御情報をそれぞれ受信し、受信した前記群制御情報に基づいて前記第2移動体自身の移動を制御することと
を含む移動体制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体制御システム及び移動体制御方法に関する。
【背景技術】
【0002】
複数の移動体の移動を制御する制御方式として、いわゆる親機と子機とを設定し、親機が有する情報を子機に送信することで群全体の挙動を制御する中央集権型の制御方式が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような制御方式においては、移動体の数が多くなり、群の規模が大きくなるにつれて、信号の相互干渉を回避するために通信システムが複雑化するという課題がある。このため、システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御することが求められる。
【0005】
本開示は、上記に鑑みてなされたものであり、システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御することが可能な移動体制御システム及び移動体制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る移動体制御システムは、一群で移動する複数の移動体の移動を制御する移動体制御システムであって、複数の前記移動体の1つである第1移動体と、複数の前記移動体のうち前記第1移動体とは異なる複数の第2移動体とを備え、前記第1移動体は、当該第1移動体自身の移動を制御すると共に、複数の前記第2移動体に対して、複数の前記移動体の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、前記第2移動体は、前記第1移動体からブロードキャスト送信された前記群制御情報をそれぞれ受信し、受信した前記群制御情報に基づいて前記第2移動体自身の移動を制御する。
【0007】
本開示に係る移動体制御方法は、一群で移動する複数の移動体の移動を制御する移動体制御方法であって、複数の前記移動体の1つである第1移動体が、当該第1移動体自身の移動を制御すると共に、複数の前記移動体のうち前記第1移動体とは異なる複数の第2移動体に対して、複数の前記移動体の群全体としての移動を制御するための群制御情報をブロードキャスト送信することと、前記第2移動体が、前記第1移動体からブロードキャスト送信された前記群制御情報をそれぞれ受信し、受信した前記群制御情報に基づいて前記第2移動体自身の移動を制御することとを含む。
【発明の効果】
【0008】
本開示によれば、システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態に係る移動体制御システムの一例を示す図である。
【
図2】
図2は、本実施形態に係る移動体制御方法の一例を示すフローチャートである。
【
図3】
図3は、本実施形態に係る移動体制御システムの一例を示す機能ブロック図である。
【
図4】
図4は、本実施形態で取り扱う座標系の例を示す図である。
【
図5】
図5は、第2移動体の制御装置に設けられる制御器の一例を示すブロック図である。
【
図6】
図6は、本実施形態に係る評価関数を用いた制御において、非ホロノミックな複数の移動体が移動する様子の一例を示す図である。
【
図7】
図7は、第2移動体のフォーメーションを変更する場合の一例を示す図である。
【
図8】
図8は、第2移動体のフォーメーションを変更する場合の一例を示す図である。
【
図9】
図9は、第2移動体のフォーメーションを変更する場合の一例を示す図である。
【
図10】
図10は、本実施形態に係る移動体制御システムの他の例を示す機能ブロック図である。
【
図11】
図11は、本実施形態で取り扱う座標系の他の例を示す図である。
【
図12】
図12は、第1移動体の制御装置に設けられる制御器の他の例を示すブロック図である。
【
図13】
図13は、第2移動体の制御装置に設けられる制御器の他の例を示すブロック図である。
【
図14】
図14は、第2移動体の制御装置に設けられる制御指令計算器の他の例を示すブロック図である。
【
図15】
図15は、指令値計算機において生成される経路の一例を模式的に示す図である。
【
図16】
図16は、第2移動体の制御装置に設けられる制御指令更新器の一例を示すブロック図である。
【
図17】
図17は、第2移動体のフォーメーションを変更する場合の他の例を示す図である。
【
図18】
図18は、第1移動体の制御装置に設けられる制御器の他の例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、本開示に係る移動体制御システム及び移動体制御方法の実施形態を図面に基づいて説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
【0011】
図1は、本実施形態に係る移動体制御システム100の一例を示す図である。移動体制御システム100は、一群で移動する複数の移動体30の移動を制御する。本実施形態において、複数の移動体30は、非ホロノミックである。本実施形態において、非ホロノミックとは、移動方向に対して真横の方向に移動できないことをいう。このような移動体30としては、例えば自動車、船舶、飛行機等のように、陸、海、空の少なくとも1つの領域で移動可能に設けられたビークル等が挙げられる。複数の移動体30は、1つの第1移動体10と、複数の第2移動体20とを有する。
【0012】
第1移動体10は、通信装置11と、検出装置12と、移動装置13と、制御装置14とを有する。
【0013】
通信装置11は、第2移動体20との間で通信を行う。通信装置11は、複数の第2移動体20に対して、群制御情報をブロードキャスト送信する。本実施形態において、ブロードキャスト送信とは、同一内容の情報を同一のタイミングで複数の第2移動体20に送信することである。通信装置11は、それぞれの第2移動体20から、指令値に関する情報を受信することができる。なお、第1移動体10は、通信装置11で各第2移動体20の指令値に関する情報を受信する構成に限られず、他の手段により第2移動体20の位置(例えば、各第2移動体までの距離及び方位)を取得することができる。
【0014】
検出装置12は、第1移動体10の位置と、それぞれの第2移動体20の位置とを検出する。検出装置12は、第1移動体10の移動の速度及び方向を検出する。検出装置12は、検出結果を制御装置14に出力する。
【0015】
移動装置13は、第1移動体10を移動させる。移動装置13は、不図示の駆動源、当該駆動源の駆動力を伝達する伝達機構を有する。
【0016】
制御装置14は、第1移動体10の動作を統括的に制御する。制御装置14は、処理部及び記憶部を有する。処理部は、各種の情報処理を行う。処理部は、CPU(Central Processing Unit)等のプロセッサと、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリとを含む。記憶部16は、各種プログラム、データ等の情報を記憶する。記憶部は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージを含む。
【0017】
第2移動体20は、通信装置21と、移動装置23と、制御装置24とを有する。第2移動体20は、第1移動体10の検出装置12に対応する構成を設けなくてもよく、第1移動体10と比べて簡素な構成とすることができる。
【0018】
通信装置21は、第1移動体10との間で通信を行う。通信装置21は、第1移動体10からブロードキャスト送信される群制御情報を受信する。通信装置21は、第1移動体10に対して、指令値に関する情報を送信することができる。なお、通信装置21は、第1移動体10に対して指令値に関する情報を送信しない構成であってもよい。この場合、第1移動体10では、指令値に関する情報以外の情報に基づいて、第2移動体20の位置を取得することができる。
【0019】
移動装置23は、第2移動体20を移動させる。移動装置23は、不図示の駆動源、当該駆動源の駆動力を伝達する伝達機構を有する。
【0020】
制御装置24は、第2移動体20の動作を統括的に制御する。制御装置24は、処理部及び記憶部を有する。処理部は、各種の情報処理を行う。処理部は、CPU等のプロセッサと、ROM、RAM等のメモリとを含む。記憶部は、各種プログラム、データ等の情報を記憶する。記憶部は、HDD等のストレージを含む。
【0021】
以下、本実施形態に係る移動体制御システムの処理について説明する。
図2は、本実施形態に係る移動体制御方法の一例を示すフローチャートである。
図2に示すように、本実施形態に係る移動体制御方法は、第1移動ステップS10と、取得ステップS20と、評価値導出ステップS30と、ブロードキャスト送信ステップS40と、指令値導出ステップS50と、第2移動ステップS60とを含む。第1移動ステップS10、取得ステップS20、評価値導出ステップS30及びブロードキャスト送信ステップS40は、第1移動体10による処理である。指令値導出ステップS50及び第2移動ステップS60は、第2移動体20による処理である。本実施形態に係る移動体制御方法では、上記のステップS10からステップS60の処理を所定の周期で繰り返し行うことで、複数の移動体30の移動を制御することができる。
【0022】
第1移動ステップS10において、第1移動体10は、移動装置13により移動する。制御装置14は、移動装置13を制御することで、第1移動体10の移動の速度及び移動の方向を調整する。
【0023】
取得ステップS20において、第1移動体10は、検出装置12により、当該第1移動体10の位置、移動の速度及び移動の方向と、複数の第2移動体20の位置とを取得する。なお、複数の第2移動体20から指令値が送信される場合、検出ステップS20において、第1移動体10は、通信装置11により、複数の第2移動体20から送信される移動の速度及び方位に基づく指令値を複数の第2移動体20の位置として取得してもよい。
【0024】
評価値導出ステップS30において、第1移動体10は、取得した第1移動体10の位置と、複数の第2移動体20の位置と、複数の第2移動体20から指令値を得ている場合には当該指令値とに基づいて、評価値を算出する。評価値は、複数の移動体30の移動の達成度合いを示す値である。本実施形態において、評価値は、複数の移動体30の移動の達成度合いが高いほど所定値に近づくように設定される。
【0025】
ブロードキャスト送信ステップS40において、第1移動体10は、当該第1移動体10の移動の速度及び移動の方向と、評価値導出ステップS30で導出した評価値とを、複数の移動体30の群全体の移動を制御するための群制御情報として、通信装置11により複数の第2移動体20にブロードキャスト送信する。
【0026】
指令値導出ステップS50において、第2移動体20は、第1移動体10からブロードキャスト送信された群制御情報をそれぞれ通信装置21により受信する。それぞれの第2移動体20は、受信した群制御情報に基づいて、第2移動体20の移動の速度及び移動の方位に基づく値を指令値として導出する。第2移動体20の移動の方位に基づく値としては、例えば第2移動体20の移動の目標方位又はヨーレートが挙げられる。ヨーレートは、第2移動体20が鉛直方向の中心軸に対して回転する角速度であり、第2移動体20が移動する方位の単位時間当たりの変化を示す値である。本実施形態に係る移動体制御方法の各ステップの処理を所定の周期で繰り返し行う場合において、第2移動体20は、指令値導出ステップS50として、評価値が所定値に近づくように指令値を導出する処理と、ランダムな値として指令値を導出する処理とを交互に行ってもよい。このような処理を行うことで、例えばランダムな指令値により第2移動体20が移動し、当該移動により評価値が所定値から遠ざかった場合、次回の指令値導出ステップS50において、ランダムな指令値とは反対方向に移動するような指令値を導出することで、評価値を所定値に近づけることができる。なお、第2移動体20は、指令値導出ステップS50で導出された指令値を、通信装置21により第1移動体10に送信してもよい。
【0027】
第2移動ステップS60において、第2移動体20は、指令値導出ステップS50で導出した指令値に基づいて、移動装置23により移動する。
【0028】
次に、上記のように構成された移動体制御システム100において、複数の移動体30が移動する場合の制御アルゴリズムについて説明する。
図3は、本実施形態に係る移動体制御システム100の一例を示す機能ブロック図である。
【0029】
図3では、移動の速度v
p(t)、移動の方向φ
p(t)で移動する1台の第1移動体10と、N台の第2移動体20とが存在する2次元平面環境を例に挙げて示している。
【0030】
図3に示す環境において、第1移動体10は、当該第1移動体10の移動の速度v
p(t)、移動の方向φ
p(t)、及び複数の移動体30の群全体のフォーメーションの評価値ν(t)を送信できるとする。このとき、tを無限大とした場合に評価値ν(t)を所定値に収束させるための第2移動体20のローカル制御器L
i(i=1、2、…、N)を導出する問題を設定する。
【0031】
第2移動体20の世界座標系基準のキネマティクスは、下記の数1に示すような非ホロノミック系であるとする。第2移動体20の制御器Liの出力は、世界座標系基準の速度指令数2及びヨーレート指令数3であるとする。
【0032】
【0033】
【0034】
【0035】
図4は、本実施形態で取り扱う座標系の例を示す図である。
図4に示すように、問題の回答を導出するため、本実施形態では、第1移動体10の移動の方向を基準とする座標系C1と、世界座標系C2との2つの座標系を定義する。世界座標系は、地球における経度方向をX軸、緯度方向をY軸、高度方向をZ軸とした座標系である。問題の回答を導出する手順として、まず第1移動体10の移動の方向を基準とする座標系C1で指令値を導出した後、第1移動体10の移動を考慮できる世界座標系C2の指令値に計算し直すことにより、第2移動体20を移動するための指令値を導出することができる。
【0036】
図5は、第2移動体20の制御装置24に設けられる制御器の一例を示すブロック図である。
図5に示すように、制御装置24は、上記の問題の回答を導出する制御器L
iを有する。制御器L
iは、ローカル制御ブロック(L
i
1:下記の数4で示す)と、後処理工程ブロック(L
i
2:下記の数5で示す)との2つのブロックにより構成される。
【0037】
【0038】
【0039】
ローカル制御ブロックLi
1は、座標系C1を基準とした、第2移動体20の移動の目標位置座標を算出して出力する。ローカル制御ブロックLi
1は、評価値ν(t)が所定値に近づくように目標位置座標を導出する処理と、ランダムな値として目標位置座標を導出する処理とを交互に行う。
【0040】
後処理ブロックLi
2は、ローカル制御ブロックLi
1から出力される目標位置座標に基づいて、世界座標系C2を基準とした第2移動体20の移動の速度及び方向の指令値を導出する。
【0041】
数6において、それぞれ座標系C1を基準とした、目標位置座標に向かうための第2移動体の移動の速度を数6で示し、移動の方位に基づく値(ここでは、一例としてヨーレート)を数7で示す。
【0042】
【0043】
【0044】
なお、上記した数1で示すキネマティクスには時間の概念がなく、反復回数に応じて評価値ν(t)が所定値に収束していくアルゴリズムである。実際の適用事例では、複数の移動体30の移動の制御を離散時間で実施することが求められる。このため、数1で示すキネマティクスに代えて、第1移動体10と第2移動体20との間の通信周期と、第2移動体20の制御周期とを考慮した、以下の数8で示すアルゴリズムを採用することができる。数8において、Tcは通信周期であり、Tsは第2移動体20の制御周期であり、Ncは通信周期と制御周期の商である。
【0045】
【0046】
次に、第1移動体10の周囲の同一円周上に等間隔に第2移動体20を配置するというフォーメーションを実現するための制御の一例を説明する。この場合、評価値ν(t)について、以下の数9で示す評価関数を定義する。
【0047】
【0048】
数9の右辺第1項は、座標系C1基準での第1移動体10と第2移動体20との間の相対距離の評価関数であり、第1移動体10を中心とする円の径方向に全ての第2移動体20がrrefだけ離れたときに最も小さい値となるように設計されている。右辺第2項は、第2移動体20の方位を示す評価関数であり、全ての第2移動体20が当該方位に関して等間隔に配置された時に最も小さい値となるように設計されている。数9のθiは、第2移動体20が第1移動体10および第1移動体10を座標原点としたときのx軸正方向との間でなす角を表す。例えば、2次元のデカルト座標系においては、定義域-πからπの範囲で、以下の数10のように書ける。
【0049】
【0050】
右辺第2項の積分は、直接解くことが困難である。このため、本実施形態におけるアルゴリズムでは、数9で定義する評価関数を、以下の数11で置き換える。
【0051】
【0052】
数11におけるLは、複数の第2移動体20を等間隔で配置する方位についてグリッドを設定した場合の方位の総数である。例えば、グリッドを度数表記で-180°、-179°、…、179°、と1°刻みに設定する場合には、L=360である。
【0053】
図6は、本実施形態に係る評価関数を用いた制御において、非ホロノミックな複数の移動体30が移動する様子の一例を示す図である。
図6に示す制御においては、第1移動体10からの相対距離が一定の位置(図中の破線で示す円)で10台の第2移動体20を等間隔に配置することを目標としている。
図6に示すように、時間が経過するにつれて、10台の第2移動体20が徐々に第1移動体10からの相対距離が一定となる位置に移動していることがわかる。また、時間が経過するにつれて、10台の第2移動体20が徐々に第1移動体10の周囲に等間隔に配置されていることがわかる。
【0054】
上記では、第1移動体10の周囲の同一円周上に等間隔に第2移動体20を配置するというフォーメーションを実現するための制御を行うため、数9で示す評価関数を設定する場合を例に挙げて説明したが、第1移動体10及び第2移動体20のフォーメーション及び評価関数としては、上記の例に限定されない。例えば評価関数として、以下の数12で示す式を設定することにより、任意の範囲内で第2移動体20を等間隔に配置する被覆制御を実現することができる。
【0055】
【0056】
なお、数12において、Qは予め定められた被覆の対象となる有界領域であり、hは性能関数と呼ばれる可積分な単調非減少関数であり、φはQ内の地点qの重要度を表すQ上で可積分な重み関数である。
【0057】
また、第1移動体10は、上記の数11で定義した評価関数のパラメータを段階的に変更することで、複数の第2移動体20を、初期位置から中間位置を経由して目標位置に移動させるようにしてもよい。つまり、第1移動体10は、上記の数10で定義した評価関数のパラメータを変更することで、第2移動体20群を移動する途中でフォーメーションの変更が可能である。
【0058】
例えば、第1移動体10は、パラメータを例えば次の3ステップで変更することにより、非ホロノミック系において第1移動体10の周囲に第2移動体20群を等距離及び等間隔で配置する第1フォーメーションから、第1移動体10の前方に第2移動体20群を等距離及び等間隔で配置する第2フォーメーションに変更可能である。
【0059】
図7から
図9は、第2移動体20のフォーメーションを変更する場合の一例を示す図である。まず、第1ステップとして、
図7に示すように、数10のパラメータで、第2移動体20群を、第1移動体10を中心とした同心円状に等間隔に配置する第1フォーメーションF1を形成する。この場合、それぞれの第2移動体20は、第1フォーメーションF1を構成するための初期位置P1に配置される。
【0060】
次に、第2ステップとして、第2移動体20群が展開可能な角度範囲を、第1移動体10を基準として第1移動体10の周囲360°から第1移動体10前方の180°の範囲に変更し、相対距離の評価項のゲインK
rを小さく設定する。第2ステップにより、
図8に示すように、それぞれの第2移動体20は、初期位置P1から中間位置P0に移動する。この結果、複数の第2移動体20が第1移動体10の前方の180°の範囲に集結する中間フォーメーションF0が形成される。
【0061】
その後、第3ステップとして、当該ゲインK
rを上記第1ステップと同一に再設定する。第3ステップにより、
図9に示すように、それぞれの第2移動体20は、中間位置P0から目標位置P2に移動する。この結果、第1移動体10の前方に第2移動体20群を等距離及び等間隔で配置する第2フォーメーションF2が形成される。
【0062】
このように、個々の第2移動体20は、第1フォーメーションF1に対応する初期位置P1から、中間フォーメーションF0に対応する中間位置P0を経由して、目標となる第2フォーメーションF2に対応する目標位置P2に移動する。このように、中間位置P0を経由する、すなわち、中間フォーメーションF0を形成することにより、全ての第2移動体20が現実的な時間内で目標位置P2に移動することができ、目標のフォーメーションである第2フォーメーションF2に収束することができる。
【0063】
次に、移動体制御システム100において、複数の移動体30が移動する場合の制御アルゴリズムの他の例について説明する。
図10は、本実施形態に係る移動体制御システム100の一例を示す機能ブロック図である。
【0064】
図10では、移動の速度v
p(t)、移動の方向φ
p(t)で移動する1台の第1移動体10と、N台の第2移動体20とが存在する2次元平面環境を例に挙げて示している。
【0065】
図10に示す環境において、第1移動体10は、全ての第2移動体20の位置p(t)=[p
1(t)p
2(t)…p
N(t)]
Tを計測可能である。また、第1移動体10は、全ての第2移動体20に対して群全体のフォーメーションの評価値の差分△v(t)、速力v
p(t)及び針路ψ
P(t)を定周期Tcで送信できるとする。また、第2移動体20は、第1移動体10に対して、ランダム動作の方向を表すスカラー値s
i(t)(i=1,2,…,N)を定周期Tcで送信できるとする。このとき、tを無限大とした場合に評価値ν(t)を所定値に収束させるための第2移動体20のローカル制御器L
i(i=1、2、…、N)を導出する問題を設定する。
【0066】
第2移動体20の世界座標系基準のキネマティクスは、下記の数13に示すような非ホロノミック系であるとする。第2移動体20の制御器Liの出力は、世界座標系基準の速度指令数14及びヨーレート指令数15であるとする。
【0067】
【0068】
【0069】
【0070】
図11は、本実施形態で取り扱う座標系の他の例を示す図である。
図11に示すように、問題の回答を導出するため、本実施形態では、第1移動体10の移動の方向を基準とする座標系Σ
pと、第1移動体10の移動の方向を基準とし原点位置が第2移動体20の位置と等しい座標系座標系Σ
cと、世界座標系Σ
wとの3つの座標系を定義する。
【0071】
図12は、第1移動体10の制御装置14に設けられる制御器の他の例を示すブロック図である。
図12に示すように、制御装置14には、各第2移動体20の位置を計測した計測結果である位置p
i(t)と、各第2移動体20から送信されるランダム動作の方向を表すスカラー値s
i(t)とが入力される。制御装置14は、演算部14a、14b、14c、14d、14eを有する。演算部14aは、各第2移動体20の位置p
i(t)に基づいて評価値を算出し、算出結果を出力する。演算部14bは、各第2移動体20の位置p
i(t)とスカラー値s
i(t)とに基づいて、第2移動体20の位置を算出し、算出結果である更新位置p´
i(t)(i=1,2,…,N)を出力する。演算部14cは、更新位置更新位置p´
i(t)に基づいて評価値を算出し、算出結果を出力する。演算部14dは、演算部14cの算出結果から演算部14aの算出結果を減算し、算出結果である評価値差分△v(t)を出力する。演算部14eは、第1移動体10の速力v
p(t)及び針路ψ
P(t)を不図示のセンサ等から取得し、取得結果を出力する。
【0072】
制御装置14の演算部14a及び演算部14cで評価値を算出する場合に使用される評価関数は、2回微分可能な凸関数であれば任意の関数が使用できる。演算部14a及び演算部14cでは、同一の評価関数を使用することができる。演算部14bでは、スカラー値si(t)を用いて、第2移動体20群の位置を見かけ上でのみランダム動作させる。スカラー値si(t)は、ランダム動作のパターンを数値で置き換えた変数である。例えば2次元平面上を対象とした場合は、ランダム動作の方向が2×2の4パターン存在する。したがって、si(t)の値域は1~4と置いてもよい。
【0073】
図13は、第2移動体20の制御装置24に設けられる制御器の他の例を示すブロック図である。
図13に示すように、制御装置24は、上記の問題の回答を導出する制御器L
iを有する。制御器L
iは、判断部24sと、ローカル制御器L
i
1と、制御指令計算器L
i
2と、制御指令更新器L
i
3とを有する。
【0074】
制御装置24には、第1移動体10から送信される評価値の差分△v(t)、速力vp(t)及び針路ψP(t)と、第2移動体10の世界座標基準の針路ψi(t)及びランダム動作の方向を表すスカラー値si(t)とが入力される。また、制御装置24は、後述するローカル制御器Li
1の出力結果であるランダム動作の方向を表すスカラー値si(t+1)と、後述する制御指令更新器Li
3の出力結果である世界座標系基準の速度指令数14及びヨーレート指令数15とを出力する。判断部24sは、第1移動体10との通信周期よりも短い処理周期で、第1移動体10から通信が到来したか否かを判断する。第1移動体10から通信が到来したと判断された場合、ローカル制御器Li
1での処理が行われる。また、第1移動体10から通信が到来しないと判断された場合、つまり、第1移動体10との通信が行われない期間は、制御指令更新器Li
3での処理が行われる。
【0075】
ローカル制御器L
i
1は、下記の数16で示される。
【数16】
以降では、u
i(t)を誘導目標点と呼称する。上式中の△
i,si(t)(t)は、s
i(t)の値に応じて変化するベクトルであり、例えば下記の数17のような関係を与えることができる。
【数17】
【0076】
また、randn(1~4)は、1から4の整数をランダムに出力する乱数生成器である。ローカル制御器Li
1を上記のように設計することで、例えば時刻tの偶数奇数を判断して2時刻に1度だけ評価値減少動作を実行するような処理の必要はなく、常に評価値減少動作を実現可能である。このため、理想的には、収束時間を従来のブロードキャスト制御方式から半減させることが可能である。
【0077】
図14は、第2移動体20の制御装置24に設けられる制御指令計算器の他の例を示すブロック図である。
図14に示す制御指令計算器L
i
2は、ローカル制御器L
i
1から出力される座標系Σ
cの目標位置情報から世界座標系Σ
wでの第2移動体20の制御指令値を算出する。
【0078】
指令値計算器L
i
2は、第1移動体10から送信された情報の一部又は全てと、第2移動体20のセンサで検出される情報、ローカル制御器L
i
1から出力される出力結果とに基づいて、第2移動体20の速度と角速度の指令値を計算する。
図14における入出力変数は一例であり、これより増えても減っても変数が変化してもよい。
【0079】
指令値計算器Li
2は、演算部24a、24b、24cを有する。演算部24aは、第1移動体10の移動を考慮した目標位置を算出する。なお、通信周期Tcの1周期の間、第1移動体10の速力と方位が変化しないことを前提とする。演算部24aは、通信周期Tcの経過後、第1移動体10の移動量を上記した誘導目標点に加算することで、第1移動体10の移動を考慮した新たな誘導目標点を生成する。以上の処理については、例えば以下の数18により表される。
【0080】
【0081】
演算部24bは、例えば各第2移動体20の姿勢、誘導目標点の位置等の情報を基に、各第2移動体20の状態をいくつかのグループに分類する。
【0082】
演算部24cは、演算部24bで分類されたグループに基づいて、第2移動体20が誘導目標点に時間T
cで到達するための経路を生成し、速力及び角速度指令を計算する。
図15は、指令値計算機において生成される経路の一例を模式的に示す図である。演算部24cにおける経路生成では、例えば
図15に示すような2つの円弧を用いて、現在位置Paから誘導目標点Pbまでの経路Ra、Rbを生成することができる。これにより、誘導目標点Pbに到達時の第2移動体20姿勢を任意に指定可能となる。演算部24cは、上記の他に、例えばクロソイド曲線を用いてより滑らかな経路を生成してもよい。経路生成後、演算部24cは、経路を実現するための速力指令値、角速度指令値を計算して出力する。
【0083】
図16は、第2移動体20の制御装置24に設けられる制御指令更新器の一例を示すブロック図である。
図16に示す制御指令更新器L
i
3は、第1移動体10との通信時点間において指令値を計算する。
【0084】
指令値更新器L
i
3は、第1移動体10から送信された情報の一部又は全てと、第2移動体20のセンサで検出される情報、指令値計算器L
i
2から出力される出力結果とに基づいて、第2移動体20の速度と方位の指令値を計算する。
図15における入出力変数は一例であり、これより増えても減っても変数が変化してもよい。
【0085】
指令値更新器Li
3は、演算部24d、24eを有する。演算部24dは、例えば第2移動体20の状態、生成した経路への追従状況などの情報を基に各第2移動体20の状態をいくつかのグループに分類する。演算部24eは、演算部24dで分類されたグループに基づき、方位指令値の計算を行い、速力指令値、方位指令値を更新する。
【0086】
ここで、第1移動体10の周囲の一定半径rref以下に全ての第2移動体20が存在している初期状態を考える。例えば、第1移動体10の周囲の同一円周上に等間隔に第2移動体20が配置されたフォーメーションから、全ての第2移動体20を第1移動体10後方の同一円弧上に等間隔で配置するフォーメーションに変更する場合を考える。このようなフォーメーションを実現する評価関数は、例えば数19で定義できる。
【0087】
【0088】
数19の右辺第1項は、全ての第2移動体20が第1移動体10後方かつ円の径方向に距離rrefだけ離れた際に、その値が最も小さくなるように設計されている。数19の右辺第1項のsign()は符号関数であり、括弧内の引数の符号を返す。当該符号関数は、微分可能性を担保するためにハイパボリックタンジェントで置き換えてもよい。
【0089】
数19の右辺第2項は、第2移動体20の方位の評価関数であり、全ての第2移動体20が方位の定義域内にて等間隔に配置された場合にその値が最も小さくなるように設計されている。第1移動体10後方で第2移動体20を等間隔に配置させる場合は、φjの定義域は、π~3π/2としてもよい。数19の右辺第2項のθiは、第2移動体20が第1移動体10を座標原点としたときのx軸正方向との間でなす角を表す。当該θiは、例えば2次元のデカルト座標系においては定義域-π~πの範囲で下記の数20のように書ける。
【0090】
【0091】
また、フォーメーション形成中も第1移動体10と全ての第2移動体20との間の相対距離を一定値以下に維持するために、以下の数21で示す項を数19の右辺に加算した式を評価関数として定義することができる。数21で示す項は、第2移動体20と第1移動体10との相対距離が一定値を超えた場合に評価値が急峻に増大するよう設計されている。一定値は定数C1、C2の設定で任意に決定可能である。なお、数21で示す項を数19の右辺に加算した式を書き直すと、評価関数は、数22のように定義できる。
【0092】
【0093】
図17は、第2移動体20のフォーメーションを変更する場合の他の例を示す図である。
図17に示す例は、数22の評価関数を用いた制御において、非ホロノミックな10台の第2移動体20の群を、移動する第1移動体10が誘導したシミュレーションの様子である。具体的には、第1移動体10の周囲の同一円周上に等間隔に第2移動体20が配置された第1フォーメーションF1から、第1移動体10の後方に第2移動体20群を等距離及び等間隔で配置する第3フォーメーションF3に変更する場合について示している。
【0094】
図17に示すように、時間が経過するにつれ、10台の第2移動体20が徐々に第1移動体10の後方の円周上の目標位置P3に等間隔に配置されていくことがわかる。また、第2移動体20群は、移動中、第1移動体10との相対距離を一定値以下に維持できていることがわかる。
【0095】
次に、移動体制御システム100において、複数の移動体30が移動する場合の制御アルゴリズムの他の例について説明する。
図18は、第1移動体10の制御装置114に設けられる制御器の他の例を示すブロック図である。
図18に示す制御装置114は、第2移動体20の移動量を仮想的に変化させ、評価値が最小となる移動量を特定するものである。
【0096】
図18に示すように、制御装置114には、上記した制御装置14(
図12参照)と同様に、各第2移動体20の位置を計測した計測結果である位置p
i(t)と、各第2移動体20から送信されるランダム動作の方向を表すスカラー値s
i(t)とが入力される。制御装置14は、演算部14a、14b、14e、14f、14g、14hを有する。演算部14a、14b、14eについては、
図12に示す制御装置14と同様である。また、
図18に示す制御装置114では、
図12に示す制御装置14の演算部14c、14dに対応する構成は設けられない。
【0097】
演算部14fは、演算部14aにおいて評価値v(t)を算出した後、所定の条件を満たすか否かを判定する。所定の条件としては、例えば評価値v(t)が最小となる移動量が特定できる状態であるかどうか、であってもよいし、所定の回数以上第2移動体20の移動量を仮想的に変化させたかどうか、であってもよい。
【0098】
演算部14gは、演算部14fにおいて所定の条件を満たすと判定された場合に、評価値が最小となるための移動量l
optを特定し、特定結果を出力する。制御装置114は、
図12に示す制御装置14の出力結果である評価値の差分△v(t)に代えて、演算部14gの出力結果である移動量l
optを出力する。演算部14hは、演算部14fにおいて所定の条件を満たしていないと判定された場合に、移動量を更新して評価値v(t)を算出させる。
【0099】
第1移動体10の制御装置として
図18に示す制御装置114を用いる場合、第2移動体20の制御装置20において、ローカル制御器L
i
1を以下の数23のように設定することができる。
【0100】
【0101】
数23における変数loptは、通信周期1周期の後の評価値と、現在の評価値との差分が0又は負、かつ当該差分の絶対値が最大となるように第1移動体10で算出される。このため、フォーメーションの収束を保証しつつ、評価関数を常に最大勾配で減少させることが可能である。
【0102】
なお、上記の実施形態において、数式等にて使用した主な変数の定義を一覧として表1に示す。
【0103】
【0104】
以上のように、本開示の第1態様に従えば、一群で移動する複数の移動体30の移動を制御する移動体制御システム100であって、複数の移動体30の1つである第1移動体10と、複数の移動体30のうち第1移動体10とは異なる複数の第2移動体20とを備え、第1移動体10は、当該第1移動体10自身の移動を制御すると共に、複数の第2移動体20に対して、複数の移動体30の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、第2移動体20は、第1移動体10からブロードキャスト送信された群制御情報をそれぞれ受信し、受信した群制御情報に基づいて第2移動体20自身の移動を制御する移動体制御システム100が提供される。
【0105】
この構成によれば、第1移動体10が複数の第2移動体20に対して、複数の移動体30の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、複数の第2移動体20が当該群制御情報を受信してそれぞれ自身の移動を制御するため、情報通信量を削減することができ、信号の相互干渉等を抑制できる。これにより、システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御することができる。
【0106】
本開示の第2態様に従えば、第1態様に係る移動体制御システムにおいて、複数の移動体30は、非ホロノミックである。したがって、非ホロノミックな複数の移動体30の移動を適切に制御することができる。
【0107】
本開示の第3態様に従えば、第1態様又は第2態様に係る移動体制御システムにおいて、第1移動体10は、群制御情報のブロードキャスト送信を所定の送信周期で行う。したがって、複数の移動体30の移動を適切に制御することができる。
【0108】
本開示の第4態様に従えば、第1態様から第3態様のいずれかに係る移動体制御システムにおいて、群制御情報は、第1移動体10の移動の速度及び移動の方向と、複数の移動体30の移動についての目標に対する達成度合いを示す評価値と、を含む。したがって、群制御情報に基づいて複数の移動体30の移動を適切に制御することができる。
【0109】
本開示の第5態様に従えば、第1態様から第4態様のいずれかに係る移動体制御システムにおいて、第1移動体10は、送信された指令値を受信し、受信した時点における当該第1移動体10自身の位置及び複数の第2移動体20の位置を取得し、取得結果に基づいて評価値を算出し、算出した評価値と、第1移動体10の移動の速度及び移動の方向とを群制御情報として複数の第2移動体20にブロードキャスト送信する。したがって、取得した第1移動体10自身の位置及び複数の第2移動体20の位置を評価値に反映させることで、複数の移動体30の移動を適切に制御することができる。
【0110】
本開示の第6態様に従えば、第1態様から第5態様のいずれかに係る移動体制御システムにおいて、第2移動体20は、群制御情報に基づいて当該第2移動体20自身の移動の速度及び移動の方位に基づく値を指令値として算出し、評価値は、達成度合いが高くなるほど所定値に近づくように設定され、第2移動体20は、評価値が所定値に近づくように指令値を算出する処理と、ランダムな値として指令値を算出する処理とを交互に行う。したがって、例えばランダムな指令値により第2移動体20が移動し、当該移動により評価値が所定値から遠ざかる場合、次回の指令値導出においてランダムな指令値とは反対方向に移動するような指令値を導出することで、評価値を適切に所定値に近づけることができる。このような処理を行うことで、複数の移動体30を適切に制御することができる。
【0111】
本開示の第7態様に従えば、第1態様から第6態様のいずれかに係る移動体制御システムにおいて、第2移動体20は、ブロードキャスト送信の送信周期よりも短い期間で、指令値の算出を行う。したがって、ブロードキャスト送信で送信される群制御情報を第2移動体20の制御に適切に反映させることができる。
【0112】
本開示の第8態様に従えば、第1態様から第7態様のいずれかに係る移動体制御システムにおいて、第2移動体20は、第1移動体10の移動の方向を基準とした座標系での当該第2移動体20自身の移動の速度及び移動の方位に基づく値を算出し、算出結果を世界座標系に変換することで指令値を算出する。したがって、第2移動体20の指令値を適切に導出することができる。
【0113】
本開示の第9態様に従えば、第1態様から第8態様のいずれかに係る移動体制御システムにおいて、評価値は、所定のパラメータを含む評価関数として設定され、第1移動体10は、パラメータを段階的に変更することで、複数の第2移動体20を、初期位置から中間位置を経由して目標位置に移動させる。したがって、複数の第2移動体20を現実的な時間内で目標位置に移動させることができる。
【0114】
本開示の第10態様に従えば、第1態様から第4態様のいずれかに係る移動体制御システムにおいて、第1移動体10は、第1移動体10自身の位置、複数の第2移動体20の位置及び複数の第2移動体20のランダム動作の方向を表すスカラー値を取得し、取得した第1移動体10自身の位置及び複数の第2移動体20の位置に基づいて第1評価値を算出し、取得した複数の第2移動体20の位置及び複数の第2移動体20のランダム動作の方向を表すスカラー値に基づいて第2評価値を算出し、算出した第1評価値と第2評価値との差分である評価値差分と、第1移動体10の移動の速力及び移動の針路とを群制御情報として複数の第2移動体20にブロードキャスト送信する。したがって、第1評価値と、複数の第2移動体20のランダム動作の方向を表すスカラー値を用いて算出した第2評価値との差分である評価値差分を反映させることで、第2移動体20がランダム動作を実際に行わなくても、複数の移動体30の移動を適切に制御することができる。
【0115】
本開示の第11態様に従えば、第10態様に係る移動体制御システムにおいて、第2移動体20は、ブロードキャスト送信の送信周期よりも短い処理周期で処理を行い、第1移動体10から群制御情報を取得した場合に、群制御情報に基づいて次回に群制御情報を取得する次回取得時点での第2移動体20の目標位置である誘導目標点を算出し、次回取得時点において誘導目標点に到達するための経路を算出し、経路に沿って移動するための移動の速度及び移動の方位に基づく値を指令値として算出する。したがって、複数の第2移動体20を精度よく誘導目標点に移動させることができる。
【0116】
本開示の第12態様に従えば、第11態様に係る移動体制御システムにおいて、第2移動体20は、第1移動体10から群制御情報を取得した時点から次回取得時点までの期間に、第2移動体20の状態に基づいて指令値を更新する。したがって、複数の第2移動体20を精度よく誘導目標点に移動させることができる。
【0117】
本開示の第13態様に従えば、第6態様に係る移動体制御システムにおいて、第1移動体10は、第1移動体10自身の位置、複数の第2移動体20の位置及び複数の第2移動体20のランダム動作の方向を表すスカラー値を取得し、取得結果に基づいて評価値が最小となるような第2移動体20の移動量を算出し、算出した移動量と、第1移動体10の移動の速力及び移動の針路とを群制御情報として複数の第2移動体20にブロードキャスト送信し、第2移動体20は、移動量に基づいて指令値を算出する。したがって、評価値が最小となるような第2移動体20の移動量を反映させることで、複数の移動体30の移動を適切に制御することができる。
【0118】
本開示の第14態様に従えば、一群で移動する複数の移動体30の移動を制御する移動体制御方法であって、複数の移動体30の1つである第1移動体10が、当該第1移動体10自身の移動を制御すると共に、複数の移動体30のうち第1移動体10とは異なる複数の第2移動体20に対して、複数の移動体30の群全体としての移動を制御するための群制御情報をブロードキャスト送信することと、第2移動体20が、第1移動体10からブロードキャスト送信された群制御情報をそれぞれ受信し、受信した群制御情報に基づいて第2移動体20自身の移動を制御することとを含む移動体制御方法が提供される。
【0119】
したがって、第1移動体10が複数の第2移動体20に対して、複数の移動体30の群全体としての移動を制御するための群制御情報をブロードキャスト送信し、複数の第2移動体20が当該群制御情報を受信してそれぞれ自身の移動を制御するため、情報通信量を削減することができ、信号の相互干渉等を抑制できる。これにより、システムの複雑化を抑えつつ、複数の移動体の移動を適切に制御することができる。
【0120】
本発明の技術範囲は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更を加えることができる。
【符号の説明】
【0121】
10 第1移動体
11,21 通信装置
12 検出装置
13,23 移動装置
14,24,114 制御装置
15,25 処理部
16,26 記憶部
20 第2移動体
30 移動体
100 移動体制御システム
C1 座標系
C2 世界座標系
F0 中間フォーメーション
F1 第1フォーメーション
F2 第2フォーメーション
F3 第3フォーメーション
P0 中間位置
P1 初期位置
P2 目標位置
P3 目標位置