(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】制御装置、制御方法及びプログラム
(51)【国際特許分類】
G08G 1/00 20060101AFI20241112BHJP
【FI】
G08G1/00 X
(21)【出願番号】P 2023541171
(86)(22)【出願日】2021-08-11
(86)【国際出願番号】 JP2021029648
(87)【国際公開番号】W WO2023017586
(87)【国際公開日】2023-02-16
【審査請求日】2024-01-15
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】町田 真直
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】特開2019-75066(JP,A)
【文献】特開2019-3602(JP,A)
【文献】特開2018-197731(JP,A)
【文献】特開2017-182188(JP,A)
【文献】特開2009-205644(JP,A)
【文献】特開2000-295168(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
他の自律行動機器が保有するタスクの実行能力を示す情報を取得する取得手段と、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、前記第1の自律行動機器の目的地を決定する決定手段と、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させる接続手段と、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる移動制御手段とを備えた
制御装置。
【請求項2】
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器が前記第1の自律行動機器の前記目的地に到達することができない場合、前記接続手段は、前記第1の自律行動機器が通信接続する相手を、前記第2の自律行動機器から、前記第1の自律行動機器が通信可能な他の自律行動機器のいずれかに変更する
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記第1の自律行動機器とは別に、前記第2の自律行動機器が通信接続する他の自律行動機器があり、かつ、前記第1の自律行動機器が前記他の自律行動機器と通信可能である場合、前記接続手段は、
前記第1の自律行動機器と前記他の自律行動機器との間で通信接続させ、また、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を解除する
ことを特徴とする請求項1に記載の制御装置。
【請求項4】
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持したまま、前記第1の自律行動機器が、前記目的地へ到達可能か否かを判定する判定手段をさらに備えた
ことを特徴とする請求項1から3のいずれか1項に記載の制御装置。
【請求項5】
前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力を上回る場合、前記決定手段は、前記タスクの実行地点を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする請求項1から
4のいずれか1項に記載の制御装置。
【請求項6】
前記
他の自律行動機器が複数あり、前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力以下である場合、前記決定手段は、前記他の自律行動機器のうち、前記タスクの実行能力が最も高い自律行動機器を前記第1の自律行動機器に知らせた他の自律行動機器の現在位置を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする請求項1から
4のいずれか1項に記載の制御装置。
【請求項7】
前記
他の自律行動機器が1つだけであり、前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力以下である場合、前記決定手段は、前記他の自律行動機器の現在位置を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする請求項1から
4のいずれか1項に記載の制御装置。
【請求項8】
前記タスクは複数あり、タスクごとに優先度が設定されており、
前記決定手段は、前記複数のタスクのうち、前記優先度が最も高いタスクの実行地点、および、前記他の自律行動機器の現在位置に基づき、前記第1の自律行動機器の目的地を決定する
ことを特徴とする請求項1から
6のいずれか1項に記載の制御装置。
【請求項9】
情報処理装置が、
他の自律行動機器が保有するタスクの実行能力を示す情報を取得し、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定し、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させ、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる
制御方法。
【請求項10】
他の自律行動機器が保有するタスクの実行能力を示す情報を取得することと、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定することと、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させることと、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させることと
をコンピュータに実行させるためのプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法、及び記録媒体に関し、特に、自律行動機器の動作を制御する制御装置、制御方法、及び記録媒体に関する。
【背景技術】
【0002】
複数のロボットが分散している状況においてもの動作を制御することによって、複数のロボットが分散している状況においてもが協働してタスクを実行するように働かせるシステムを、マルチエージェントシステムと呼ぶ。タスクの具体例は、ゲストの案内,誘導,荷物の運搬,清掃,インフラ検査,警備,またはカスタマーコミュニケーションである(非特許文献1,非特許文献2)。
【0003】
特許文献1に記載されたモバイルセンサネットワークシステムでは、1対1のロボット間で、近距離無線ノードによるローカル通信を行うことによって、各ロボットが観測したデータを、バケツリレーのように、他のロボットへ伝達する。これにより、全ロボットが、観測されたデータを共有することができる。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】W. Luo, S. Yi and K. Sycara, "Behavior Mixing with Minimum Global and Subgroup Connectivity Maintenance for Large-Scale Multi-Robot Systems," 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 2020, pp. 9845-9851, doi: 10.1109/ICRA40945.2020.9197429. (2020年)
【文献】A. D. Ames, X. Xu, J. W. Grizzle, and P. Tabuada, “Control barrier function based quadratic programs for safety critical systems,” IEEE Transactions on Automatic Control, vol. 62, no. 8, pp. 3861-3876. (2016年)
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されたモバイルセンサネットワークシステムでは、複数のロボットの間で利用されるローカル通信には、長くはない有効距離が存在する。したがって、通信ネットワークを維持するために、各ロボットの移動に係る制約が課せられる。そのため、新たなタスクが追加されたり、複数のタスクの実行地点が分散していたりといった状況に対して、特許文献1に記載の手法では、複数のロボット(自律行動機器)が効率的に対応することができない。
【0007】
本発明の目的は、上記の課題に鑑みてなされたものであり、その目的は、複数の自律行動機器が分散している状況においても、複数の自律行動機器にタスクを効率的に実行させることである。
【課題を解決するための手段】
【0008】
本発明の一態様に係わる制御装置は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する取得手段と、第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、前記第1の自律行動機器の目的地を決定する決定手段と、前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させる接続手段と、前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる移動制御手段とを備えている。
【0009】
本発明の一態様に係わる制御方法では、他の自律行動機器が保有するタスクの実行能力を示す情報を取得し、第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定し、前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させ、前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる。
【0010】
本発明の一態様に係わる記録媒体は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得することと、第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定することと、前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させることと、前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させることとをコンピュータに実行させるためのプログラムを格納している。
【発明の効果】
【0011】
本発明の一態様によれば、複数の自律行動機器が分散している状況においても、複数の自律行動機器にタスクを効率的に実行させることができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態1に係わる制御装置の構成を示すブロック図である。
【
図2】実施形態1に係わる制御装置の動作を示すフローチャートである。
【
図3】実施形態2に係わる制御装置の構成を示すブロック図である。
【
図4】3つのタスクについてのタスク情報の一例を示す図である。
【
図5】ステップ0~kにおける8つの自律行動機器のそれぞれのビット情報の遷移の一例を示す図である。
【
図6】実施形態2に係わる制御装置の動作を示すフローチャートである。
【
図7】実施形態2において、3つのタスクと8つの自律行動機器の初期の位置分布を示す図である。
【
図8】実施形態2において、3つのタスクと8つの自律行動機器の1フロー後の位置分布を示す図である。
【
図9】実施形態3に係わる制御装置の構成を示すブロック図である。
【
図10】実施形態3に係わる制御装置の動作を示すフローチャートである。
【
図11】実施形態3において、3つのタスクと8つの自律行動機器の初期の位置分布を示す図である。
【
図12】実施形態3において、3つのタスクと8つの自律行動機器の1フロー後の位置分布を示す図である。
【
図13】実施形態3において、3つのタスクと8つの自律行動機器の2フロー後の位置分布を示す図である。
【
図14】実施形態3において、3つのタスクと8つの自律行動機器の3フロー後の位置分布を示す図である。
【
図15】実施形態3において、3つのタスクと8つの自律行動機器の4フロー後の位置分布を示す図である。
【
図16】実施形態3において、3つのタスクと8つの自律行動機器の5フロー後の位置分布を示す図である。
【
図17】実施形態1~3のいずれかに係わる制御装置のハードウェア構成を概略的に示す図である。
【発明を実施するための形態】
【0013】
図面を参照して、いくつかの実施形態について説明する。以下の各実施形態において、「自律行動機器」とは、別々に自律行動することができ、かつ、目的地までの移動、障害物の回避、操作、運搬、またはコミュニケーションなどの仕事を行うことが可能な機器を意味する。
【0014】
災害救助活動を行うロボットや、倉庫内で物品の運搬を行うロボット、および施設の警備を行うロボットが、各実施形態における「自律行動機器」の一例である。ただし、自律行動機器は、いわゆるアンドロイドなどの人型ロボットに限定されない。また、自律行動機器の用途は、いずれかの産業分野に限定されない。
【0015】
〔実施形態1〕
図1~
図2を参照して、実施形態1について説明する。
【0016】
(制御装置10)
図1は、本実施形態1に係わる制御装置10の構成を示すブロック図である。
図1に示すように、制御装置10は、取得部11、決定部12、接続部13、および移動制御部14を備えている。制御装置10の各部に相当する機能は、ある自律行動機器(以下、第1の自律行動機器と呼ぶ)が備えた1つ以上のプロセッサおよびメモリなどのハードウェア資源と、プログラムおよびデータなどのソフトウェア資源とが協働して、情報処理を行うことによって実現される。
【0017】
取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する。取得部11は、取得手段の一例である。ここで、「他の」とは、「第1の自律行動機器」とは異なることを意味する。さらに、取得部11はタスク情報を取得する。タスク情報は、実行されるべきタスクに関する情報である。タスク情報は、タスクの実行地点を示す位置情報を含む。
【0018】
一例では、取得部11は、第1の自律行動機器の現在位置から通信の有効距離内にある(すなわち、通信可能である)他の自律行動機器から、近距離無線などのローカル通信を使って、他の自律行動機器が保有するタスクの実行能力を示す情報を受信する。ローカル通信とは、例えば、赤外線通信、Wi-Fi(登録商標)、Wi-SUN、電波、または光通信である。他の自律行動機器が保有するタスクの実行能力を示す情報は、他の自律行動機器がタスクを実行可能な機種であるかどうか、また、他の自律行動機器がどれぐらい効率的に(すなわちどれぐらい短時間で)タスクを完了できるかなどを示す。
【0019】
他の自律行動機器が保有するタスクの実行能力を示す指標として、例えば、他の自律行動機器の現在位置から、タスクの実行地点までの距離の近さを挙げることができる。あるいは、タスクの実行能力を示す指標は、他の自律行動機器がタスクの実行地点に到着してから、タスクを実行完了するまでのプロセス時間の短さであってもよい。
【0020】
取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を、決定部12へ出力する。他の自律行動機器が保有するタスクの実行能力を示す情報は、少なくとも、他の自律行動機器が保有するタスクの実行能力を示す指標を含む。
【0021】
決定部12は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する。決定部12は、決定手段の一例である。
【0022】
一例では、決定部12は、取得部11から、他の自律行動機器が保有するタスクの実行能力を示す情報を受信する。また、決定部12は、図示しない記憶部を参照して、第1の自律行動機器が保有するタスクの実行能力を示す情報を取得する。
【0023】
あるいは、決定部12は、第1の自律行動機器の現在位置、および、タスクの実行地点をパラメータとして、第1の自律行動機器が保有するタスクの実行能力を、計算によって求めてもよい。この場合、決定部12は、第1の自律行動機器が備えたGPS(Global Positioning System)信号受信機などから、第1の自律行動機器の現在位置を示す情報を取得する。そして、決定部12は、第1の自律行動機器の現在位置から、タスクの実行地点までの距離を計算し、その後、その距離の長さに基づいて、第1の自律行動機器が保有するタスクの実行能力を示す指標を計算する。
【0024】
一例では、決定部12は、上記のようにして取得した第1の自律行動機器が保有するタスクの実行能力と、他の自律行動機器が保有するタスクの実行能力とを比較する。具体的には、決定部12は、第1の自律行動機器が保有するタスクの実行能力を示す指標と、他の自律行動機器が保有するタスクの実行能力の指標との間の大小関係を調べる。
【0025】
そして、第1の自律行動機器が保有するタスクの実行能力が、他の自律行動機器が保有するタスクの実行能力を上回る場合、決定部12は、タスクの実行地点を、第1の自律行動機器の目的地に決定する。
【0026】
一方、第1の自律行動機器が保有するタスクの実行能力が、他の自律行動機器が保有するタスクの実行能力以下である場合、決定部12は、他の自律行動機器の現在位置を、第1の自律行動機器の目的地に決定する。
【0027】
なお、他の自律行動機器が複数あるケースでは、決定部12は、他の自律行動機器のうち、タスクの実行能力が最も高い自律行動機器を第1の自律行動機器に知らせた他の自律行動機器の現在位置を、第1の自律行動機器の目的地に決定してもよい(実施形態2)。
【0028】
決定部12は、決定した第1の自律行動機器の目的地を示す情報を、接続部13および移動制御部14へ出力する。第1の自律行動機器の目的地を示す情報は、第1の自律行動機器の目的地を示す位置情報を少なくとも含む。
【0029】
接続部13は、第1の自律行動機器の目的地に基づき、第1の自律行動機器が通信可能な他の自律行動機器のうち、第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と第1の自律行動機器とを通信接続させる。接続部13は、接続手段の一例である。
【0030】
一例では、接続部13は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。第1の自律行動機器の目的地が、タスクの実行地点である場合、接続部13は、第1の自律行動機器と通信可能である他の自律行動機器のうち、任意の1台(これを第2の自律行動機器と定める)と、第1の自律行動機器とを通信接続させる。
【0031】
一方、第1の自律行動機器の目的地が、他の自律行動機器(これを第2の自律行動機器と定める)の現在位置である場合、接続部13は、目的地にある第2の自律行動機器と、第1の自律行動機器とを通信接続させる。
【0032】
その後、接続部13は、第1の自律行動機器が通信接続を維持すべき相手である第2の自律行動機器を特定する情報(例えば、第2の自律行動機器の識別子)を、移動制御部14へ通知する。
【0033】
さらに、接続部13は、第1の自律行動機器が通信可能な他の自律行動機器のリストを管理してもよい。接続部13は、現在の状態に応じて、このリストを順次更新する。例えば、リスト内のある自律行動機器が通信不可能になれば、接続部13は、その自律行動機器の識別番号をリストから外す。一方、リスト外のある自律行動機器と通信可能になれば、接続部13は、その自律行動機器番号をリストに追加する。
【0034】
移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる。移動制御部14は、移動制御手段の一例である。
【0035】
一例では、移動制御部14は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。また、移動制御部14は、接続部13から、第1の自律行動機器が通信接続を維持すべき相手である第2の自律行動機器を特定する情報を受信する。
【0036】
そして、移動制御部14は、決定部12により決定された目的地に向かって、第1の自律行動機器を移動させるように、第1の自律行動機器に対する制御入力を行う。このとき、移動制御部14は、第1の自律行動機器が第2の自律行動機器との通信接続を維持できるように、第1の自律行動機器の移動を制御する。
【0037】
一例では、移動制御部14は、第1の自律行動機器と、通信接続先である第2の自律行動機器との間の距離が通信の有効距離外へ出ないように、第1の自律行動機器に対する制御入力を行う。この制御入力は、例えば、非特許文献2に記載されているように、制御バリア関数(Control Barrier Function)などを用いる手法により達成される。
【0038】
(制御装置10の動作)
図2を参照して、実施形態1に係わる制御装置10の動作の一例を説明する。
図2は、制御装置10が実行する処理の流れを示すフローチャートである。
【0039】
図2に示すように、取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する(S1)。取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を、決定部12へ出力する。
【0040】
次に、決定部12は、取得部11から、他の自律行動機器が保有するタスクの実行能力を示す情報を受信する。そして、決定部12は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する(S2)。決定部12は、決定した第1の自律行動機器の目的地を示す情報を、接続部13および移動制御部14へ出力する。
【0041】
その後、接続部13は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。接続部13は、第1の自律行動機器が通信可能な他の自律行動機器の中から、第1の自律行動機器が通信を維持する相手である第2の自律行動機器と通信接続させる(S3)。接続部13は、第2の自律行動機器を特定する情報を、移動制御部14へ出力する。
【0042】
最後に、移動制御部14は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。また、移動制御部14は、接続部13から、第2の自律行動機器を特定する情報を受信する。移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる(S4)。
【0043】
以上で、本実施形態1に係わる制御装置10の動作は終了する。
【0044】
(本実施形態の効果)
本実施形態の構成によれば、取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する。決定部12は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する。接続部13は、第1の自律行動機器の目的地に基づき、第1の自律行動機器が通信可能な他の自律行動機器のうち、第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と第1の自律行動機器とを通信接続させる。移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる。
【0045】
これにより、第1の自律行動機器は、他の自律行動機器が保有するタスクの実行能力に対する、自機自律行動機器が保有するタスクの実行能力の比較結果に基づいて、自機自律行動機器の目的地を決定する。また、第1の自律行動機器は、第2の自律行動機器との間の通信接続を維持したままで、自機自律行動機器の目的地まで移動する。したがって、複数の自律行動機器が分散している状況においても、複数の自律行動機器にタスクを効率的に実行させることができる。
【0046】
〔実施形態2〕
図3~
図8を参照して、実施形態2について説明する。本実施形態2では、前記実施形態1と共通する構成要素に対し、同じ符号を付して、その説明を省略する。
【0047】
本実施形態2では、定期的に又は不定期で、複数の自律行動機器の間で、複数の自律行動機器の各々が保有するタスクの実行能力を示す情報をやり取りする方法の一例を説明する。
【0048】
本実施形態2において、タスクの実行能力を示す指標を「ビット値」と呼ぶ。ビット値は、ある自律行動機器の現在位置から、タスクの実行地点までの距離が短いほど、大きな値をとる。言い換えれば、ある自律行動機器がより早くタスクの実行地点へ到達できる可能性が高いほど、その自律行動機器のビット値は大きくなる。
【0049】
(制御装置20)
図3は、本実施形態2に係わる制御装置20の構成を示すブロック図である。
図3に示すように、制御装置20は、取得部21、決定部22、接続部13、および移動制御部14を備えている。制御装置20の各部に相当する機能は、ある自律行動機器(以下、第1の自律行動機器と呼ぶ)が備えた1つ以上のプロセッサおよびメモリなどのハードウェア資源と、プログラムおよびデータなどのソフトウェア資源とが協働して、分析などの情報処理を行うことによって実現される。
【0050】
取得部21は、第1の自律行動機器が通信可能な他の自律行動機器から、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する。取得部21は、取得手段の一例である。さらに、取得部21はタスク情報を取得する。タスク情報は、実行されるべきタスクに関する情報である。
【0051】
タスク情報は、第1の自律行動機器に対して、事前に直接的に入力されていてもよい。あるいは、タスク情報は、各自律行動機器による観測によって獲得されるものであってもよいし、リモートネットワークを介して、オペレータによって、第1の自律行動機器へ入力されてもよい。オペレータは、1台の自律行動機器にのみ、最新のタスク情報を入力する。
【0052】
その後、最新のタスク情報を外部から入力された自律行動機器から、他の自律行動機器へ、最新のタスク情報が伝搬してゆく。このようにして、全ての自律行動機器に対して、最新のタスク情報が伝達される。タスク情報は、複数の自律行動機器がそれぞれ備えた記憶部に保存される。
【0053】
なお、ある自律行動機器からのタスク情報の送信先は、その自律行動機器へのタスク情報の送信元とは同一であってはならない。同じタスク情報を自律行動機器間でループさせないためである。
【0054】
(タスク情報の一例)
図4は、タスク情報の一例を示している。
図4に示すように、タスク情報には、タスクの実行地点及び優先度、タスクを実行可能な自律行動機器の機種、タスクの優先度、ビット値の計算方法(式)、並びにタスクのステータス(未実行、実行中、達成)が含まれる。
【0055】
タスク情報における「実行位置」は、タスクの実行位置を示す位置座標(例えば、No.1のタスクの実行地点は(0,0))である。「機種」は、タスクを実行可能な自律行動機器の機種を表す。タスクによって、特定の種類のみがそのタスクを実行可能である場合もあるし、また、特定の種類のみがそのタスクを実行不可能である場合もある。
【0056】
タスクの「優先度」は、そのタスクがどれぐらい重要であるか又は緊急であるかを表す指標である。タスクの「優先度」が大きいほど、そのタスクを実行することが他よりも優先される。
【0057】
図4に示すタスク情報の「ステータス」は、タスクの進行状況を表す。どの自律行動機器もそのタスクをまだ実行していないとき、そのタスクに係るステータスは「未実行」である。一方、いずれかの自律行動機器がタスクを実行している最中であるとき、そのタスクに係るステータスは「実行中」である。あるいは、ある自律行動機器がタスクを実行完了したとき、そのタスクに係るステータスは「達成」になる。
【0058】
最後に、タスク情報の「ビット値」は、タスクの実行能力を示す指標である。ビット値が大きいほど、タスクの実行能力が高いことを表し、ビット値が小さいほど、タスクの実行能力が低いことを表す。一例では、ビット値は、“(上限値)-(自律行動機器の現在位置からタスク実行地点までの距離)”の計算式で求められる。これは、第1の自律行動機器が、タスクの実行地点へどれぐらい早く到達できるかを示す。
【0059】
取得部21は、取得したタスク情報を、決定部22へ出力する。その後、取得部21は、定期的または不定期で、最新のタスク情報を、決定部22へ出力する。一例では、取得部21は、新たなタスクが追加されるたびに、更新されたタスク情報を、決定部22へ出力する。
【0060】
決定部22は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する。決定部22は、決定手段の一例である。
【0061】
また、決定部22は、取得部21から、タスク情報を受信する。決定部22は、タスク情報に示されたビット値の計算式(
図4)にしたがい、第1の自律行動機器が保有するタスクの実行能力を示す指標を計算する。決定部22は、ビット値を含むビット情報を生成し、第1の自律行動機器の記憶部(図示せず)に、ビット情報(
図5)を保存する。
【0062】
その後、決定部22は、取得部21から、 定期的または不定期で、最新のタスク情報を受信する。決定部22は、取得部21から、最新のタスク情報を受信するたびに、第1の自律行動機器の記憶部に保存されたビット情報を更新する。後で、ビット情報の更新処理の一例を説明する。
【0063】
(ビット情報)
図5は、No.1からNo.8までの自律行動機器が、それぞれの記憶部内に保存しているビット情報の一覧である。
【0064】
最初、各自律行動機器の記憶部には、ステップ0のビット情報として、最新のタスク情報が保存されている。
図5では、ステップ0のビット情報は、[(1, n, n, n) (2, n, n, n) (3, n, n, n)]である。nはノンナンバーを表す。
【0065】
ビット情報([])を構成する1つ1つの小かっこは、1つのタスクに対応する。小かっこ内の4つの数字は、左から順に、タスク番号,最大ビット値を保有する自律行動機器の識別番号,最大ビット値,送信元を表す。ここで、最大ビット値を保有する自律行動機器とは、すなわち、タスクの実行能力が最も高い自律行動機器を意味する。
【0066】
図5に示す縦軸の下方向は、時間の流れる方向を表す。1~k(kは正の整数)のステップごとに、後述するビット情報の更新処理(
図6)が決定部22により実行され、その結果、No.1からNo.8までの自律行動機器が、それぞれの記憶部内に保存しているビット情報が更新される。
【0067】
(ビット情報の更新)
図5および
図6を参照して、決定部22が実行するビット情報の更新処理について説明する。
図6は、ビット情報の更新処理の流れを示すフローチャートである。
【0068】
以下の説明において、「第1の自律行動機器」とは、
図5に示すNo.1からNo.8までの自律行動機器のいずれかである。また、「第2の自律行動機器」とは、No.1からNo.8までの自律行動機器のうち、「第1の自律行動機器」とは異なるものである。例えば、No.1の自律行動機器を制御する制御装置10にとって、No.1の自律行動機器が「第1の自律行動機器」であり、No.2からNo.8までの自律行動機器が「第2の自律行動機器」または「他の自律行動機器」である。
【0069】
上述したように、取得部21は、定期的に又は不定期で、最新のタスク情報を決定部22へ出力する。その都度、決定部22は、ビットの情報の更新を開始する。
【0070】
図6に示すように、決定部22は、取得部21から、最新のタスク情報を受信する(S201)。決定部22は、取得部21から受信した最新のタスク情報を、
図5に示すステップ0のビット情報として、第1の自律行動機器の記憶部に保存する。
【0071】
次に、決定部22は、第1の自律行動機器が保有するタスクの実行能力を示す指標であるビット値を計算する(S202)。決定部22は、計算したビット値を、
図5に示すステップ1のビット情報として、第1の自律行動機器の記憶部に保存する(S203)。
【0072】
例えば、
図5に示すように、ステップ1におけるNo.1の自律行動機器のビット情報は、[(1,7.8,1,1) (2,4.2,1,1) (3,3.9,1,1)]である。ここで、ビット情報を構成する3つの小かっこのうち、左側の小かっこを取り上げて、ビット情報の内容を説明する。
【0073】
小かっこ内の4つの数字のうち、左側の2つの数字は、識別番号「1」により特定されるタスク(以下、No.1のタスクと呼ぶ)について、最大ビット値が「7.8」であることを表す。
【0074】
また、小かっこ内の4つの数字のうち、右側の2つの数字は、最大ビット値を保有する自律行動機器は、識別番号「1」により特定される自律行動機器(ここでは、No.1の自律行動機器のこと)であり、ビット情報の送信元が識別番号「1」により特定される自律行動機器(すなわちNo.1の自律行動機器)であることを示す。
【0075】
なお、ステップ1では、各自律行動機器は、他の自律行動機器と通信をまだ行っていないから、ステップ1におけるビット情報の小かっこ内の右端の数字は、必ず、自機の識別番号である。
【0076】
続いて、決定部22は、第1の自律行動機器が通信可能な他の自律行動機器から、他の自律行動機器の記憶部に保存されたビット情報を受信する(S204)。そして、決定部22は、第1の自律行動機器の記憶部に保存されたビット情報と、他の自律行動機器から受信したビット情報とを比較する(S205)。
【0077】
最後に、決定部22は、ステップS205における比較結果に基づいて、記憶部に保存されたビット情報を更新する(S206)。具体的には、他の自律行動機器から受信したビット情報に含まれるビット値が、第1の自律行動機器の記憶部に保存されたビット情報に含まれるビット値よりも大きい場合、決定部22は、第1の自律行動機器の記憶部に保存されたビット情報を更新する。
【0078】
例えば、No.1の自律行動機器が、No.3の自律行動機器のみと通信可能であったとする。
図5において、ステップ1におけるNo.3の自律行動機器のビット情報は、[(1,5.9,3,3) (2,4.9,3,3) (3,3.9,3,3)]である。これから、No.2のタスクに関して、No.3の自律行動機器のビット値は「4.9」である。
【0079】
他方、ステップ1におけるNo.1の自律行動機器のビット情報を参照すれば、No.2のタスクに関して、No.1の自律行動機器のビット値は「4.2」である。したがって、ステップ2において、決定部22は、No.1の自律行動機器の記憶部に保存された、No.2のタスクに関するビット情報を更新する(
図5)。
【0080】
具体的には、決定部22は、No.2のタスクに関するビット情報を構成する4つの数字のうち、左から2番目の数字(最大ビット値を表す)を「4.2」から「4.9」に置換する。
【0081】
また、決定部22は、No.2のタスクに関するビット情報を構成する4つの数字のうち、左から3番目の数字(最大ビット値を保有する自律行動機器の識別番号を表す)と、右端の数字(送信元の識別番号を表す)とを、どちらも「3」に置換する。このようにして、No.1の自律行動機器の記憶部に保存された、No.2のタスクに関するビット情報が、ステップ2において更新される(
図5)。
【0082】
以上まで、
図6に示すステップ0からステップ2までのビット情報の更新処理の流れを説明した。
【0083】
以降では、決定部22は、ステップS204からステップS206までの各処理を繰り返す。
【0084】
最終的に、
図5に示すステップkにおいて、No.1からNo.8までの自律行動機器群の記憶部に保存されたビット情報が一致する。ただし、ビット情報を構成する4つの数字のうち、右端の数字(送信元の自律行動機器の識別番号)は除く。なお、自律行動機器群の台数に応じて、kの値が定まる。
【0085】
自律行動機器群の台数をmとした場合、k=m-1である。その理由は、自律行動機器群の通信ネットワークにおいて、もっとも離れている2台の自律行動機器の間であっても、ステップ(m-1)までに、ビット情報を伝達できるからである。
【0086】
決定部22は、
図5に示すステップkにおいて、第1の自律行動機器の記憶部に保存されているビット情報を参照することで、第1の自律行動機器の目的地を決定する。
【0087】
具体的には、タスクに関するビット情報を構成する4つの数字のうち、右から2番目の数字(最大ビット値を保有する自律行動機器の識別番号)が「1」である場合、決定部22は、タスクの実行地点を、第1の自律行動機器の目的地とする。
【0088】
上記以外の場合、決定部22は、タスクに関するビット情報を構成する4つの数字のうち、右端の数字(送信元の自律行動機器の識別番号)によって特定される他の自律行動機器の現在位置を、第1の自律行動機器の目的地とする。
【0089】
なお、ステータスが未実行である複数のタスクが存在している場合、決定部22は、最も優先度(
図4)が高いタスクに関して、上述した手順で、第1の自律行動機器の目的地を決定する。
【0090】
その後、接続部13は、第1の自律行動機器の目的地に基づき、第1の自律行動機器が通信可能な他の自律行動機器のうち、第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と第1の自律行動機器とを通信接続させる。
【0091】
移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる。
【0092】
以下で、移動制御部14による自律行動機器の移動制御の一例を説明する。
【0093】
(自律行動機器の移動制御の一例)
図7から
図8を参照して、移動制御部14による自律行動機器の移動制御の一例を説明する。ここでは、最も優先度(
図4)の高いNo.3のタスクが未実行であった場合、各自律行動機器がどのように移動させられるのかを、図面を参照しつつ、具体的に説明する。
【0094】
図7は、No.1からNo.3までのタスクの実行地点と、タスクNo.1からNo.8までの自律行動機器の初期位置を示すマップである。No.3のタスクに関して、No.8の自律行動機器が、最大ビット値(
図5)を保有している。
【0095】
したがって、No.8の自律行動機器はNo.3のタスクの実行地点を目的地とする。
【0096】
一方、それ以外の自律行動機器は、No.3のタスクに関するビット情報の送信元である自律行動機器の現在位置を目的地とする。ここでは、No.7の自律行動機器及びNo.8の自律行動機器の動きのみに着目する。
【0097】
No.7の自律行動機器のビット情報(
図5)を参照すると、No.7の自律行動機器にとって、No.8の自律行動機器は、No.3のタスクに関するビット情報の送信元である。
【0098】
したがって、No.7の自律行動機器にとって、No.8の自律行動機器は、通信接続を維持する相手に該当する。そのため、No.7の自律行動機器が備えた制御装置20の接続部13により、No.7の自律行動機器とNo.8の自律行動機器との間で、通信接続が確立される。
【0099】
図7に示すように、No.8の自律行動機器は、No.3のタスクの実行地点に向かって、移動を開始する。No.8の自律行動機器が備えた制御装置20の移動制御部14が、No.8の自律行動機器を移動させる。なお、
図7中、細い矢印は追跡の向きを表し、太い矢印は目的地の方向を表す。
【0100】
一方、No.7の自律行動機器は、No.8の自律行動機器の現在位置に向かい、移動を開始する。No.7の自律行動機器が備えた制御装置20の移動制御部14が、No.7の自律行動機器を移動させる。
【0101】
図8は、No.8の自律行動機器がNo.3のタスクの実行地点に到着したことを示している。この時点で、又はその前後に、No.7の自律行動機器は、No.8の自律行動機器がいた位置に到着している。
【0102】
このように、No.7の自律行動機器が、No.8の自律行動機器を追跡するように移動することで、No.7の自律行動機器は、No.8の自律行動機器との通信接続を維持することができる。また、No.8の自律行動機器は、No.7の自律行動機器との通信の有効距離外へ出ることなしに、No.3のタスクの実行地点まで移動することができる。
【0103】
換言すれば、No.7の自律行動機器が、No.8の自律行動機器を追跡するように移動するので、No.8の自律行動機器に対する移動に係る制約を低減することができる。
【0104】
(本実施形態の効果)
本実施形態の構成によれば、取得部21は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する。決定部22は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する。接続部13は、第1の自律行動機器の目的地に基づき、第1の自律行動機器が通信可能な他の自律行動機器のうち、第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と第1の自律行動機器とを通信接続させる。移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる。
【0105】
これにより、第1の自律行動機器は、他の自律行動機器が保有するタスクの実行能力に対する、自機自律行動機器が保有するタスクの実行能力の比較結果に基づいて、自機自律行動機器の目的地を決定する。また、第1の自律行動機器は、第2の自律行動機器との間の通信接続を維持したままで、自機自律行動機器の目的地まで移動する。したがって、複数の自律行動機器が分散している状況においても、複数の自律行動機器にタスクを効率的に実行させることができる。
【0106】
さらに、本実施形態の構成によれば、自律行動機器群の間で、各自律行動機器が保有するタスクの実行能力を示す情報をやり取りするので、最も実行能力の高い自律行動機器に、タスクを効率的に実行させることができる。
【0107】
〔実施形態3〕
図9~
図16を参照して、実施形態3について説明する。本実施形態3では、前記実施形態1又は前記実施形態2と共通する構成要素に対し、同じ符号を付して、その説明を省略する。本実施形態3では、第1の自律行動機器の通信接続先を動的に変更できる構成を説明する。
【0108】
(制御装置30)
図9は、本実施形態3に係わる制御装置30の構成を示すブロック図である。
図9に示すように、制御装置30は、取得部11、決定部12、接続部13、および移動制御部14を備えている。制御装置30は、判定部35をさらに備えている。制御装置30の各部に相当する機能は、ある自律行動機器(以下、第1の自律行動機器と呼ぶ)が備えた1つ以上のプロセッサおよびメモリなどのハードウェア資源と、プログラムおよびデータなどのソフトウェア資源とが協働して、分析などの情報処理を行うことによって実現される。
【0109】
判定部35は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持したまま、第1の自律行動機器が、目的地へ到達可能か否かを判定する。判定部35は、判定手段の一例である。
【0110】
一例では、判定部35は、第1の自律行動機器の目的地への移動のための第1の制御入力と、第2の自律行動機器との通信接続の維持を考慮した上での第2の制御入力とをそれぞれ計算する。第1の制御入力と第2の制御入力との差が閾値以下である場合、判定部35は、第1の自律行動機器が、目的地へ到達可能であると判定する。
【0111】
一方、第1の制御入力と第2の制御入力との差が閾値よりも大きい場合、判定部35は、第1の自律行動機器が、第2の自律行動機器との通信接続を維持したままで、目的地へ到達することは不可能であると判定する。第1の自律行動機器が、第2の自律行動機器との通信の有効距離から出られないことを考慮すると、第1の自律行動機器が、目的地へ到達することができないからである。
【0112】
他の一例では、判定部35は、第2の自律行動機器の移動に係る制約、および通信の有効距離に基づいて、第1の自律行動機器が、第2の自律行動機器との通信接続を維持したままで、目的地へ到達可能か否かを判定する。
【0113】
第1の自律行動機器が、第2の自律行動機器との通信接続を維持したままで、目的地へ到達することは不可能である場合、判定部35は、接続部13に対して、第2の自律行動機器と第1の自律行動機器との間の通信接続を解除するように指示する。
【0114】
(制御装置30の動作)
図10を参照して、実施形態3に係わる制御装置30の動作の一例を説明する。
図10は、制御装置30が実行する処理の流れを示すフローチャートである。
【0115】
図10に示すように、取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する(S1)。取得部11は、他の自律行動機器が保有するタスクの実行能力を示す情報を、決定部12へ出力する。
【0116】
次に、決定部12は、取得部11から、他の自律行動機器が保有するタスクの実行能力を示す情報を受信する。そして、決定部12は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する(S2)。決定部12は、決定した第1の自律行動機器の目的地を示す情報を、接続部13および移動制御部14へ出力する。
【0117】
その後、接続部13は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。接続部13は、第1の自律行動機器が通信可能な他の自律行動機器の中から、第1の自律行動機器が通信を維持する相手である第2の自律行動機器と通信接続させる(S3)。接続部13は、第2の自律行動機器を特定する情報を、移動制御部14へ出力する。
【0118】
移動制御部14は、決定部12から、第1の自律行動機器の目的地を示す情報を受信する。また、移動制御部14は、接続部13から、第2の自律行動機器を特定する情報を受信する。移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる(S4)。
【0119】
その後、判定部35は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持したまま、第1の自律行動機器が、目的地へ到達可能かどうかを判定する(S5)。
【0120】
第2の自律行動機器と第1の自律行動機器との間の通信接続を維持したまま、第1の自律行動機器が、目的地へ到達可能である場合(S5でYes)、本フローは終了する。
【0121】
一方、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持したまま、第1の自律行動機器が、目的地へ到達することが不可能である場合(S5でNo)、フローはステップS3に戻る。その場合、接続部13は、第1の自律行動機器が通信可能な他の自律行動機器の中から、第1の自律行動機器が通信を維持する相手である第2の自律行動機器を再選択する。
【0122】
そして、接続部13は、再選択した第2の自律行動機器と第1の自律行動機器とを通信接続させる。その後、本フローは上述したステップS4へ進む。
【0123】
以上で、本実施形態3に係わる制御装置30の動作は終了する。
【0124】
(自律行動機器の移動制御の一例)
図11から
図16を参照して、移動制御部14による自律行動機器の移動制御の一例を説明する。ここでは、最も優先度(
図4)の高いNo.3のタスクが実行中である場合、各自律行動機器がどのように移動させられるのかを、図面を参照しつつ、具体的に説明する。
【0125】
以降では、No.1の自律行動機器が、No.1のタスクの処理を主導する。以下の説明において、単に「接続部13」、「移動制御部14」、または「判定部35」と呼ぶ場合、 No.1の自律行動機器が備えた制御装置30の接続部13、移動制御部14、または判定部35のことである。
【0126】
図11は、No.1からNo.3までのタスクの実行地点と、タスクNo.1からNo.8までの自律行動機器の初期位置を示すマップである。No.8の自律行動機器が、No.3のタスクの実行地点にある。
【0127】
No.1の自律行動機器が、2番目に優先度の高いNo.1のタスクの実行地点を目的地とする。一方、それ以外の自律行動機器は、No.1のタスクに関するビット情報の送信元である自律行動機器の現在位置を目的地とする。ここでは、No.1からNo.3の自律行動機器の動きに着目する。No.2からNo.3の自律行動機器にとって、No.1の自律行動機器は、No.1のタスクに関するビット情報の送信元であるから、通信接続を維持する相手に該当する。
【0128】
したがって、No.2からNo.3の自律行動機器とNo.1の自律行動機器との間で、通信接続が確立される。No.2の自律行動機器が備えた制御装置30の接続部13が、No.1の自律行動機器とNo.2の自律行動機器を通信接続させる。また、No.3の自律行動機器が備えた制御装置30の接続部13が、No.1の自律行動機器とNo.3の自律行動機器を通信接続させる。
【0129】
図11に示すように、No.1の自律行動機器は、No.1のタスクの実行地点に向かって、移動を開始する。移動制御部14が、No.1の自律行動機器を目的地まで移動させる。なお、
図11中、細い矢印は追跡の向きを表し、太い矢印は目的地の方向を表す。
【0130】
一方、No.2からNo.3の自律行動機器は、どちらも、No.1の自律行動機器の現在位置に向かって、移動を開始する。No.2の自律行動機器が備えた制御装置30の移動制御部14が、No.2の自律行動機器を移動させる。また、No.3の自律行動機器が備えた制御装置30の移動制御部14が、No.3の自律行動機器を移動させる。
【0131】
ここで、判定部35は、No.2からNo.3の自律行動機器(第2の自律行動機器の一例である)とNo.1の自律行動機器(第1の自律行動機器の一例である)との間の通信接続を維持したまま、No.1の自律行動機器が、目的地へ到達可能か否かを判定する。
【0132】
一つのケースにおいて、判定部35は、No.3の自律行動機器とNo.1の自律行動機器との間の通信接続を維持したまま、No.1の自律行動機器が、目的地へ到達することは不可能であると判定する。この場合、判定部35は、接続部13に対して、No.3の自律行動機器とNo.1の自律行動機器との間の通信接続を解除するように指示する。
【0133】
接続部13は、判定部35から、No.3の自律行動機器とNo.1の自律行動機器との間の通信接続を解除することの指示を受信する。接続部13は、No.2の自律行動機器とNo.3の自律行動機器と(どちらも第2の自律行動機器の一例である)の間で通信接続させ、また、No.3の自律行動機器とNo.1の自律行動機器(第1の自律行動機器の一例である)との間の通信接続を解除する。なお、
図11中、バツ印は、通信接続の解除を表す。
【0134】
より正確には、接続部13は、No.2の自律行動機器が備えた制御装置30の接続部13と、No.3の自律行動機器が備えた制御装置30の接続部13とに対して、No.2の自律行動機器とNo.3の自律行動機器との間で通信接続させるように要請する。
【0135】
移動制御部14は、No.1の自律行動機器を、目的地であるNo.1のタスクの実行地点まで移動させる。
【0136】
図12は、No.1の自律行動機器がNo.1のタスクの実行地点に到着したことを示している。この時点で、又はその前後に、No.2の自律行動機器は、No.1の自律行動機器がいた位置に到着している。
【0137】
このように、No.2の自律行動機器が、No.1の自律行動機器を追跡するように移動することで、No.2の自律行動機器は、No.1の自律行動機器との通信接続を維持することができる。また、No.1の自律行動機器は、No.2の自律行動機器との通信の有効距離外へ出ることなしに、No.1のタスクの実行地点まで移動することができる。
【0138】
換言すれば、No.2の自律行動機器が、No.1の自律行動機器を追跡するように移動するので、No.1の自律行動機器に対する移動に係る制約を低減することができる。
【0139】
以降では、No.4の自律行動機器が、No.2のタスクの処理を主導する。以下の説明において、単に「接続部13」、「移動制御部14」、または「判定部35」と呼ぶ場合、 No.4の自律行動機器が備えた制御装置30の接続部13、移動制御部14、または判定部35のことである。
【0140】
図12に示すように、No.1の自律行動機器がNo.1のタスクの実行地点に到着したのち、No.4の自律行動機器は、最も優先度の低いNo.2のタスクの実行地点に向かって、移動を開始する。移動制御部14が、No.4の自律行動機器を目的地まで移動させる。なお、
図12中、細い矢印は追跡の向きを表し、太い矢印は目的地の方向を表す。
【0141】
一方、No.3,No.5,およびNo.6の自律行動機器は、No.4の自律行動機器の現在位置に向かって、移動を開始する。No.3の自律行動機器が備えた制御装置30の移動制御部14が、No.3の自律行動機器を移動させる。また、No.5の自律行動機器が備えた制御装置30の移動制御部14が、No.5の自律行動機器を移動させる。
また、No.6の自律行動機器が備えた制御装置30の移動制御部14が、No.6の自律行動機器を移動させる。
【0142】
図13は、No.3からNo.6の自律行動機器が、それぞれ、自機の目的地へ向かって移動を開始したことを示している。
【0143】
ここで、判定部35は、No.3,No.5,およびNo.6の自律行動機器(第2の自律行動機器の一例である)とNo.4の自律行動機器(第1の自律行動機器の一例である)との間の通信接続を維持したまま、No.4の自律行動機器が、目的地へ到達可能か否かを判定する。
【0144】
一つのケースにおいて、判定部35は、No.3およびNo.6の自律行動機器とNo.4の自律行動機器との間の通信接続を維持したまま、No.4の自律行動機器が、目的地へ到達することは不可能であると判定する。この場合、判定部35は、接続部13に対して、No.3およびNo.6の自律行動機器とNo.4の自律行動機器との間の通信接続を解除することを指示する。
【0145】
接続部13は、判定部35から、No.3およびNo.6の自律行動機器とNo.4の自律行動機器との間の通信接続を解除することの指示を受信する。接続部13は、No.3の自律行動機器とNo.5の自律行動機器と(どちらも第2の自律行動機器の一例である)の間で通信接続させ、また、No.3の自律行動機器とNo.4の自律行動機器(第1の自律行動機器の一例である)との間の通信接続を解除する。
【0146】
移動制御部14は、No.4の自律行動機器を、目的地であるNo.2のタスクの実行地点まで移動させる。
【0147】
図14は、No.3の自律行動機器と、No.4の自律行動機器との間の通信接続が解除されたことを示している。
【0148】
加えて、接続部13は、No.6の自律行動機器とNo.5の自律行動機器と(どちらも第2の自律行動機器の一例である)の間で通信接続させ、また、No.6の自律行動機器とNo.4の自律行動機器(第1の自律行動機器の一例である)との間の通信接続を解除する。より正確には、接続部13は、No.5の自律行動機器が備えた制御装置30の接続部13と、No.6の自律行動機器が備えた制御装置30の接続部13とに対して、No.6の自律行動機器とNo.5の自律行動機器との間で通信接続させるように要請する。
【0149】
図15は、No.6の自律行動機器と、No.4の自律行動機器との間の通信接続が解除されたことを示している。
図15では、No.5の自律行動機器とNo.4の自律行動機器との間で通信接続している。また、No.3およびNo.6の自律行動機器とNo.5の自律行動機器との間で通信接続している。
【0150】
図16は、No.4の自律行動機器がNo.2のタスクの実行地点に到着したことを示している。この時点で、又はその前後に、No.5の自律行動機器は、No.4の自律行動機器がいた位置に到着している。No.5の自律行動機器が、No.4の自律行動機器を追跡するように移動することで、No.5の自律行動機器は、No.4の自律行動機器との通信接続を維持することができる。また、No.4の自律行動機器は、No.5の自律行動機器との通信の有効距離外へ出ることなしに、No.2のタスクの実行地点まで移動することができる。
【0151】
換言すれば、No.5の自律行動機器が、No.4の自律行動機器を追跡するように移動するので、No.4の自律行動機器に対する移動に係る制約を低減することができる。
【0152】
以上のように、第2の自律行動機器の一部(1または複数)と、第1の自律行動機器との間の通信接続を解除することによって、第1の自律行動機器の移動可能範囲を拡げることができる。その結果、第1の自律行動機器は、残りの第2の自律行動機器との通信接続を維持したままで、目的地へ到達することができる。
【0153】
(本実施形態の効果)
本実施形態の構成によれば、取得部21は、他の自律行動機器が保有するタスクの実行能力を示す情報を取得する。決定部22は、第1の自律行動機器が保有するタスクの実行能力、および、他の自律行動機器が保有するタスクの実行能力に基づき、第1の自律行動機器の目的地を決定する。接続部13は、第1の自律行動機器の目的地に基づき、第1の自律行動機器が通信可能な他の自律行動機器のうち、第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と第1の自律行動機器とを通信接続させる。移動制御部14は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持させたまま、第1の自律行動機器を目的地まで移動させる。
【0154】
これにより、第1の自律行動機器は、他の自律行動機器が保有するタスクの実行能力に対する、自機自律行動機器が保有するタスクの実行能力の比較結果に基づいて、自機自律行動機器の目的地を決定する。また、第1の自律行動機器は、第2の自律行動機器との間の通信接続を維持したままで、自機自律行動機器の目的地まで移動する。したがって、複数の自律行動機器が分散している状況においても、複数の自律行動機器にタスクを効率的に実行させることができる。
【0155】
さらに、本実施形態の構成によれば、判定部35は、第2の自律行動機器と第1の自律行動機器との間の通信接続を維持したまま、第1の自律行動機器が、目的地へ到達可能か否かを判定する。
その判定結果に応じて、接続部13は、第2の自律行動機器の一部と第1の自律行動機器との間の通信接続を解除する。これにより、第1の自律行動機器は、残りの第2の自律行動機器との通信接続を維持したままで、目的地へ到達することができる。
【0156】
(ハードウェア構成について)
前記実施形態1~3において説明した制御装置10,20,30の各構成要素は、機能単位のブロックを示している。これらの構成要素の一部又は全部は、例えば
図17に示すような情報処理装置900により実現される。
図17は、情報処理装置900のハードウェア構成の一例を示すブロック図である。
【0157】
図17に示すように、情報処理装置900は、一例として、以下のような構成を含む。
【0158】
・CPU(Central Processing Unit)901
・ROM(Read Only Memory)902
・RAM(Random Access Memory)903
・RAM903にロードされるプログラム904
・プログラム904を格納する記憶装置905
・記録媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インタフェース908
・データの入出力を行う入出力インタフェース910
・各構成要素を接続するバス911
前記実施形態1~3において説明した制御装置10,20,30の各構成要素は、これらの機能を実現するプログラム904をCPU901が読み込んで実行することで実現される。各構成要素の機能を実現するプログラム904は、例えば、予め記憶装置905やROM902に格納されており、必要に応じてCPU901がRAM903にロードして実行される。なお、プログラム904は、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記録媒体906に格納されており、ドライブ装置907が当該プログラムを読み出してCPU901に供給してもよい。
【0159】
上記の構成によれば、前記実施形態1~3において説明した制御装置10,20,30が、ハードウェアとして実現される。したがって、前記実施形態において説明した効果と同様の効果を奏することができる。
【0160】
(付記)
本発明の一態様は、以下の付記のようにも記載されるが、以下に限定されない。
【0161】
(付記1)
他の自律行動機器が保有するタスクの実行能力を示す情報を取得する取得手段と、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、前記第1の自律行動機器の目的地を決定する決定手段と、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させる接続手段と、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる移動制御手段とを備えた
制御装置。
【0162】
(付記2)
前記第2の自律行動機器が1台だけである場合、前記接続手段は、前記第1の自律行動機器が通信接続する相手を、前記第2の自律行動機器から、前記第1の自律行動機器が通信可能な他の自律行動機器のいずれかに変更する
ことを特徴とする付記1に記載の制御装置。
【0163】
(付記3)
前記第2の自律行動機器が複数ある場合、前記接続手段は、前記第2の自律行動機器のうち、相互に通信可能な任意の2台について、それらの第2の自律行動機器同士の間で通信接続させ、また、片方の第2の自律行動機器と前記第1の自律行動機器との間の通信接続を解除する
ことを特徴とする付記1に記載の制御装置。
【0164】
(付記4)
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持したまま、前記第1の自律行動機器が、前記目的地へ到達可能か否かを判定する判定手段をさらに備えた
ことを特徴とする付記1から3のいずれか1項に記載の制御装置。
【0165】
(付記5)
前記判定手段は、前記第2の自律行動機器の移動に係る制約、および通信の有効距離に基づいて、前記第1の自律行動機器が前記目的地へ到達可能か否かを判定する
ことを特徴とする付記4に記載の制御装置。
【0166】
(付記6)
前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力を上回る場合、前記決定手段は、前記タスクの実行地点を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする付記1から5のいずれか1項に記載の制御装置。
【0167】
(付記7)
前記第2の自律行動機器が複数あり、前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力以下である場合、前記決定手段は、前記他の自律行動機器のうち、前記タスクの実行能力が最も高い自律行動機器を前記第1の自律行動機器に知らせた他の自律行動機器の現在位置を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする付記1から5のいずれか1項に記載の制御装置。
【0168】
(付記8)
前記第2の自律行動機器が1つだけであり、前記第1の自律行動機器が保有する前記タスクの実行能力が、前記他の自律行動機器が保有する前記タスクの実行能力以下である場合、前記決定手段は、前記他の自律行動機器の現在位置を、前記第1の自律行動機器の目的地に決定する
ことを特徴とする付記1から5のいずれか1項に記載の制御装置。
【0169】
(付記9)
前記タスクは複数あり、タスクごとに優先度が設定されており、
前記決定手段は、前記複数のタスクのうち、前記優先度が最も高いタスクの実行地点、および、前記他の自律行動機器の現在位置に基づき、前記第1の自律行動機器の目的地を決定する
ことを特徴とする付記1から7のいずれか1項に記載の制御装置。
【0170】
(付記10)
他の自律行動機器が保有するタスクの実行能力を示す情報を取得し、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定し、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させ、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させる
制御方法。
【0171】
(付記11)
他の自律行動機器が保有するタスクの実行能力を示す情報を取得することと、
第1の自律行動機器が保有する前記タスクの実行能力、および、前記他の自律行動機器が保有する前記タスクの実行能力に基づき、第1の自律行動機器の目的地を決定することと、
前記第1の自律行動機器の前記目的地に基づき、前記第1の自律行動機器が通信可能な他の自律行動機器のうち、前記第1の自律行動機器が通信接続を維持する相手である第2の自律行動機器と前記第1の自律行動機器とを通信接続させることと、
前記第2の自律行動機器と前記第1の自律行動機器との間の通信接続を維持させたまま、前記第1の自律行動機器を前記目的地まで移動させることと
をコンピュータに実行させるためのプログラムを格納した、一時的でない記録媒体。
【符号の説明】
【0172】
10 制御装置
11 取得部
12 決定部
13 接続部
14 移動制御部
20 制御装置
21 取得部
22 決定部
30 制御装置
35 判定部