(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022149586
(43)【公開日】2022-10-07
(54)【発明の名称】システム、方法、およびプログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20220929BHJP
G08G 1/00 20060101ALI20220929BHJP
G08G 1/09 20060101ALI20220929BHJP
G06Q 10/06 20120101ALI20220929BHJP
G16Y 10/40 20200101ALI20220929BHJP
G16Y 20/20 20200101ALI20220929BHJP
G16Y 40/10 20200101ALI20220929BHJP
【FI】
G05D1/02 S
G08G1/00 X
G08G1/09 V
G06Q10/06 302
G16Y10/40
G16Y20/20
G16Y40/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021051808
(22)【出願日】2021-03-25
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(71)【出願人】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】石川 秀水
(72)【発明者】
【氏名】馬場 友貴
(72)【発明者】
【氏名】川津 哲司
(72)【発明者】
【氏名】今井 靖
(72)【発明者】
【氏名】松本 晃
(72)【発明者】
【氏名】金田 真和
【テーマコード(参考)】
5H181
5H301
5L049
【Fターム(参考)】
5H181AA27
5H181BB04
5H181BB13
5H181BB20
5H181FF13
5H181FF14
5H181FF27
5H181LL01
5H181LL02
5H181LL04
5H181LL09
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301DD07
5H301DD17
5H301LL03
5H301LL06
5H301LL07
5H301LL08
5L049AA09
(57)【要約】
【課題】 作業に対する優先度を付けることができない異なるサブシステムで管理される複数の移動体を衝突させないように制御することができる。
【解決手段】 算出部101は、第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した第1移動体に割り当てられた作業の目標進捗量に対する、第1移動体が衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量を算出する。算出部101は、衝突予定時刻以降の時刻について算出した、第2移動体に割り当てられた作業の目標進捗量に対する、第2移動体が衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量を算出する。制御部102は、算出された余裕量が大きい方の移動体を衝突予定時刻に衝突させないように制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する算出手段と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する制御手段と、
を備えるシステム。
【請求項2】
前記算出手段は、
前記衝突予定時刻から前記第1移動体に割り当てられた前記作業の終了予定時刻までの間の所定時間ごとの、前記第1移動体の更新された前記目標進捗量から前記第1移動体の前記目標進捗量を減算した値の合計値を前記第1移動体に係る余裕量として算出し、
前記衝突予定時刻から前記第2移動体に割り当てられた前記作業の前記終了予定時刻までの間の前記所定時間ごとの、前記第2移動体の更新された前記目標進捗量から前記第2移動体の前記目標進捗量を減算した値の合計値を前記第2移動体に係る余裕量として算出する、
請求項1に記載のシステム。
【請求項3】
前記衝突予定時刻から前記第1移動体の前記終了予定時刻までの間の前記所定時間ごとに、前記第1移動体の前記目標進捗量と、前記第1移動体の前記作業実績の進捗量とによって、前記第1移動体の更新された前記目標進捗量を算出し、前記衝突予定時刻から前記第2移動体の前記終了予定時刻までの間の前記所定時間ごとに、前記第2移動体の前記目標進捗量と、前記第2移動体の前記作業実績の進捗量とによって、前記第2移動体の更新された前記目標進捗量を算出する進捗量更新手段、
を備える請求項1または2に記載のシステム。
【請求項4】
前記進捗量更新手段は、
前記第1移動体の前記作業実績の進捗量が、前記第1移動体の前記目標進捗量よりも大きい場合、前記衝突予定時刻から前記第1移動体の前記終了予定時刻までの間の前記所定時間ごとに、当該終了予定時刻における前記第1移動体の前記目標進捗量を最大値として、前記第1移動体の前記目標進捗量に対して、前記第1移動体の前記作業実績の進捗量から前記第1移動体の前記目標進捗量を減算した値を加算することにより、前記第1移動体の更新された前記目標進捗量を算出し、
前記第2移動体の前記作業実績の進捗量が、前記第2移動体の前記目標進捗量よりも大きい場合、前記衝突予定時刻から前記第2移動体の前記終了予定時刻までの間の前記所定時間ごとに、当該終了予定時刻における前記第2移動体の前記目標進捗量を最大値として、前記第2移動体の前記目標進捗量に対して、前記第2移動体の前記作業実績の進捗量から前記第2移動体の前記目標進捗量を減算した値を加算することにより、前記第2移動体の更新された前記目標進捗量を算出する、
を備える請求項3に記載のシステム。
【請求項5】
前記進捗量更新手段は、
前記衝突予定時刻から前記第1移動体の前記終了予定時刻までに行われる、前記第1移動体に割り当てられた前記作業の予測結果に基づいて、前記第1移動体の更新された前記目標進捗量を算出し、
前記衝突予定時刻から前記第2移動体の前記終了予定時刻までに行われる、前記第2移動体に割り当てられた前記作業の予測結果に基づいて、前記第2移動体の更新された前記目標進捗量を算出する、
請求項3または4に記載のシステム。
【請求項6】
前記第1移動体の前記目標進捗量および前記第1移動体の更新された前記目標進捗量は、前記第1移動体の移動距離、前記第1移動体の作業面積、および前記第1移動体に割り当てられた前記作業に対して支払う料金の少なくともいずれかによって表され、
前記第2移動体の前記目標進捗量および前記第2移動体の更新された前記目標進捗量は、前記第2移動体の移動距離、前記第2移動体の作業面積、および前記第2移動体に割り当てられた前記作業に対して支払う料金の少なくともいずれかによって表される、
請求項1乃至5のいずれかに記載のシステム。
【請求項7】
前記制御手段は、前記衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体を一時停止させる、
請求項1乃至6のいずれかに記載のシステム。
【請求項8】
前記制御手段は、前記衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体の移動速度を遅くさせる、
請求項1乃至6のいずれかに記載のシステム。
【請求項9】
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出し、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する、
方法。
【請求項10】
コンピュータに、
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する処理と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システムなどに関する。
【背景技術】
【0002】
移動体が領域内を移動すると、移動体同士が衝突する場合がある。例えば、特許文献1では、システムに含まれる各移動体に割り当てられる作業に優先度を付け、衝突が発生する場合に、システム全体で作業のコストが小さくなるように、各移動体の移動を制御する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、同一のシステム内であるため、各作業に優先度をつけることができる。しかしながら、衝突する移動体が異なるシステムに割り当てられた作業を行う場合、優先度をつけることができない。例えば、清掃事業者用のシステムの移動体と、観光案内事業者用のシステムの移動体と、などのように、異なる事業者用のシステムの各移動体が衝突する場合、各システムの作業に対して優先度をつけることはできない。このため、異なるシステム間の移動体を制御することが困難である。
【0005】
本開示の目的の一例は、異なるシステムで管理される複数の移動体を衝突させないように制御するシステムなどを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様におけるシステムは、第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する算出手段と、算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する制御手段と、を備える。
【0007】
本開示の一態様における方法は、第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出し、算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する。
【0008】
本開示の一態様にプログラムは、コンピュータに、第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する処理と、算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する処理と、を実行させる。
【発明の効果】
【0009】
本開示によれば、異なるシステムで管理される複数の移動体を衝突させないように制御することができる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1にかかるシステムの一構成例を示すブロック図である。
【
図2】実施の形態1にかかるシステムの一動作例を示すフローチャートである。
【
図3】実施の形態2にかかるシステムの一例を示す説明図である。
【
図4】領域内のロボットの移動例を示す説明図である。
【
図5】実施の形態2にかかる情報処理装置の一構成例を示すブロック図である。
【
図7】衝突予測例1にかかる余裕量の算出例を示す説明図である。
【
図8】衝突予測例1にかかる制御例を示す説明図である。
【
図10】衝突予測例2にかかる余裕量の算出例を示す説明図である。
【
図11】ロボットに複数の経路がある例を示す説明図である。
【
図12】迂回経路における更新目標進捗量の算出例を示す説明図である。
【
図13】迂回経路における余裕量の算出例を示す説明図である。
【
図14】実施の形態2にかかる情報処理装置の一動作例を示すフローチャートである。
【
図17】コンピュータ装置のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【0011】
以下に図面を参照して、本開示にかかるシステム、情報処理装置、方法、プログラム、およびプログラムを記録する記録媒体の実施の形態を詳細に説明する。ただし、図面は本開示の実施の形態における構成を概略的に表している。更に以下に記載される本開示の実施の形態は一例であり、その本質を同一とする範囲において適宜変更可能である。
【0012】
ここで、ディジタルツインについて簡単に説明する。ディジタルツインとは、現実空間にある情報を集め、集めた情報を基に仮想空間で現実空間を再現する技術である。より具体的に、ディジタルツインとは、リアルタイムに取得した情報を集め、AI(Artificial Intelligence)などの技術を用いて実際に起こりうる状況をコンピュータ等の仮想空間上で再現してシミュレーションを実行し、現実世界で起こることを予測するためのソリューションである。様々な場所に設置されたセンサ端末や移動体等を通じて時系列の情報が取得される。仮想空間上でシミュレーションする際に、地図の情報上に、取得した時系列の情報や将来の予測情報等を重ねあわせてダイナミックマップを作成し、実際の状況を仮想空間上にそのままツインとして再現する。ダイナミックマップ上で現実空間の事象を表現するために、シミュレーションで用いるデータは目的ごとに分類した層(レイヤ)の状態で蓄積されてもよい。
【0013】
本実施の形態で説明するシステムでは、例えば、現実空間で情報を発する機器の各位置における、位置の各属性の属性値を含むデータを取得する。システムでは、異なる位置における同一の属性の複数の属性値を層として管理してもよい。すなわち、層は、ある属性の複数の属性値からなる情報群である。
【0014】
(実施の形態1)
図1は、実施の形態1にかかるシステムの一構成例を示すブロック図である。システム1は、異なるサブシステムにおいて管理される第1移動体と第2移動体との衝突を避けるための制御を行う。第1移動体と第2移動体は、ドローン、ロボットなど特に限定されない。
【0015】
ここで、第1移動体と第2移動体は、異なるサブシステムで管理されるが、同一の領域を移動することがある。領域は、特に限定されない。領域は、屋外であってもよいし、屋内であってもよい。例えば、第1移動体と第2移動体とのディジタルツインのプラットフォームが同一の場合、シミュレーション装置が、第1移動体と第2移動体との衝突を予測することができる。また、例えば、第1移動体と第2移動体とのディジタルツインのプラットフォームが異なる場合であっても、第1移動体と第2移動体とのそれぞれが、互いを認識することにより、衝突を予測することができる。システム1は、算出部101と、制御部102と、を有する。
【0016】
算出部101は、第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、第1移動体に割り当てられた作業の目標進捗量に対する、第1移動体が衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量を算出する。衝突予定時刻は、ディジタルツインにおけるシミュレーション装置によって予測されてもよい。もしくは、衝突予定時刻は、第1移動体と第2移動体との間で互いを認識した時刻および互いの距離から予測されてもよい。目標進捗量は、各移動体の作業量によって表される。作業量は、例えば、ロボットの移動距離、ロボットの作業面積、ロボットの作業に対して支払われる料金などによって表される。第1移動体に割り当てられた作業の目標進捗量は、例えば、当初の作業の目標進捗量である。ここで、当初の作業の目標進捗量を初期目標進捗量と呼ぶ。更新された目標進捗量を更新目標進捗量と呼ぶ。
【0017】
例えば、算出部101は、衝突予定時刻における初期目標進捗量と、衝突予定時刻における更新目標進捗量と、の比較により余裕量を算出してもよい。例えば、衝突予定時刻における更新目標進捗量が作業実績の進捗量である場合、算出部101は、衝突予定時刻における初期目標進捗量と、衝突予定時刻における更新目標進捗量と、の差分を余裕量として算出してもよい。より具体的に、算出部101は、衝突予定時刻における更新目標進捗量から、衝突予定時刻における初期目標進捗量を減算した値を余裕量として算出してもよい。例えば、作業実績の進捗量が初期目標進捗量よりも大きければ、余裕量は、プラスの値となる。作業実績の進捗量が初期目標進捗量より小さければ、余裕量は、マイナスの値となる。
【0018】
また、算出部101は、衝突予定時刻以降の時刻について算出した、第2移動体に割り当てられた作業の目標進捗量に対する、第2移動体が衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量を算出する。第1移動体と同様に、算出部101は、第2移動体の余裕量を算出すればよい。
【0019】
制御部102は、衝突予定時刻に第1移動体と第2移動体とを衝突させないように、余裕量が大きい方の移動体を制御する。具体的に、制御部102は、第1移動体と第2移動体とを衝突させないように、余裕量が大きい方の移動体を、一時停止させてもよい。ここでの一時停止とは、例えば、移動体の移動の停止であってもよいし、移動体の作業の中断であってもよい。また、具体的に、制御部102は、算出された余裕量が大きい方の移動体を衝突予定時刻の直前に一時停止させればよい。
【0020】
例えば、余裕量が大きい方の移動体は、一時停止の通知を受け付けると、一時停止する。そして、余裕量が大きい方の移動体が、撮像装置、近接センサなどを用いて、余裕量が小さい方の移動体が通りすぎたか否かを認識する認識部(図示しない)を有していてもよい。そして、移動体は、余裕量が小さい方の移動体が衝突しない程度に離れたことを認識した場合、一時停止を解除してもよい。または、制御部102は、衝突予定時刻の直前から一定時間経過後までの間、余裕量が大きい方の移動体を一時停止させるように制御してもよい。一定時間の決定方法は、特に限定されない。例えば、一定時間は、固定値であってもよい。
【0021】
または、制御部102は、第1移動体と第2移動体とを衝突させないように、余裕量が大きい方の移動体の移動速度を遅くしてもよい。
【0022】
図2は、実施の形態1にかかるシステム1の一動作例を示すフローチャートである。算出部101は、各移動体の作業の余裕量を算出する(ステップS101)。ステップS101において、算出部101は、第1移動体と第2移動体との衝突予定時刻以降の時刻について、第1移動体の初期目標進捗量に対する、第1移動体が衝突予定時刻までに行った作業実績に基づき更新された更新目標進捗量の余裕量を算出する。ステップS101において、算出部101は、衝突予定時刻における第2移動の初期目標進捗量に対する、第2移動体が衝突予定時刻までに行った作業実績に基づき更新された更新目標進捗量の余裕量を算出する。
【0023】
つぎに、制御部102は、算出された余裕量が大きい方の移動体を衝突予定時刻に衝突させないように制御する(ステップS102)。ステップS102において、制御部102は、算出された余裕量が大きい方の移動体を、衝突予定時刻の直前に一時停止させてもよい。なお、ステップS102において、制御部102は、算出された余裕量が同じ値の場合、いずれか一方の移動体を衝突予定時刻に衝突させないように制御すればよい。いずれの移動体に対して一時停止などの制御をさせるかは、特に限定しない。ステップS102のつぎに、システム1は、フローの動作を終了する。
【0024】
つぎに、実施の形態1の効果について説明する。システム1は、2つの移動体の衝突が予測されると、各移動体について、衝突予定時刻から作業の終了予定時刻までの間の作業の予定進捗量に対する、衝突予定時刻までの実績を反映した作業の予定進捗量の余裕量を算出する。そして、システム1は、余裕量が大きい方、すなわち、作業の進捗に余裕がある方の移動体を衝突させないように制御する。これにより、システム1は、作業に対する優先度を付けることができない異なるサブシステムで管理される複数の移動体を衝突させないように制御することができる。
【0025】
実施の形態1については上述した例に限られず、種々変更可能である。例えば、
図1に示す各機能部は、1台の装置(情報処理装置)によって実現されてもよい。
【0026】
(実施の形態2)
つぎに、実施の形態2について図面を参照して詳細に説明する。実施の形態2では、移動体の例としてロボットを例に挙げる。実施の形態2では、衝突予定時刻から終了予定時刻までの各時刻における更新目標進捗量から初期目標進捗量を減算した値の積分値を余裕量として算出し、余裕量の大きいロボットを一時停止させる例について説明する。以下、本実施の形態2の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【0027】
図3は、実施の形態2にかかるシステムの一例を示す説明図である。システム2は、情報処理装置20と、サブシステム21Aと、サブシステム21Bと、を有する。ここで、サブシステムを特定しない場合、単にサブシステム21と呼ぶ。例えば、情報処理装置20は、異なるサブシステム21間で制御されるロボット22の衝突を制御する。情報処理装置20は、サーバ、PC(Personal Computer)、スマートフォン、タブレット型の装置などのように特に限定されない。ロボットを特定しない場合、ロボット22と表す。また、情報処理装置20は、ディジタルツインにおけるシミュレーションを行うシミュレーション装置であってもよい。なお、シミュレーション装置(図示しない)は、情報処理装置20とは別の装置であり、システム2に含まれていてもよい。
【0028】
サブシステム21Aと、サブシステム21Bとは、同じディジタルツインで管理されるが、それぞれ独立したシステム2である。例えば、サブシステム21Aと、サブシステム21Bとは、事業者が異なる。
【0029】
サブシステム21Aは、1または複数のロボット22A(第1移動体)を制御する。なお、サブシステム21A内のロボットを特定しない場合、ロボット22Aと表す。複数のロボット22Aと情報処理装置20とは、通信ネットワーク23Aを介して接続される。ロボット22Aの種類は特に限定されない。
【0030】
サブシステム21Bは、1または複数のロボット22B(第2移動体)を制御する。なお、サブシステム21B内のロボットを特定しない場合、ロボット22Bと表す。複数のロボット22Bと情報処理装置20とは、通信ネットワーク23Bを介して接続される。
【0031】
通信ネットワークを特定しない場合、単に通信ネットワーク23と表す。また、通信ネットワーク23Aと通信ネットワーク23Bとは、同一であってもよい。
【0032】
図4は、領域内のロボット22の移動例を示す説明図である。サブシステム21Aで制御される各ロボット22Aとサブシステム21Bで制御される各ロボット22Bとが、同一の領域AR内を移動する。領域ARは、特に限定されない。領域ARは、屋外であってもよいし、屋内であってもよい。ロボット22Aとロボット22Bは、それぞれに割り当てられた作業を行うために、ディジタルマップを用いてそれぞれ自律的に移動してもよい。
【0033】
このように、同一の領域AR内を異なるサブシステム21のロボット22が移動するため、ロボット22同士が衝突する場合がある。
【0034】
図5は、実施の形態2にかかる情報処理装置20の一構成例を示すブロック図である。情報処理装置20は、進捗量算出部203と、進捗量更新部204と、余裕量算出部201と、制御部202と、記憶部205と、を有する。情報処理装置20は、実施の形態1にかかるシステム2の各機能部から進捗量算出部203と進捗量更新部204と記憶部205とが追加される。余裕量算出部201と制御部202とは、それぞれ実施の形態1で説明した算出部101と制御部102の基本機能を有する。
【0035】
記憶部205としては、例えば、情報処理装置20の各部の処理結果や各種情報を記憶する。記憶部205としては、ROM(Read Only Memory)、RAM(Random Access Memory)、半導体メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)が挙げられる。記憶部205は、これらの組み合わせであってもよい。
【0036】
進捗量算出部203は、ロボット22Aについて、開始時刻から終了予定時刻までの間の所定時間ごとに、ロボット22Aに割り当てられた作業の初期目標進捗量を算出する。所定時間は、特に限定されない。すなわち、進捗量算出部203は、ロボット22Aについての開始時刻から終了予定時刻までの間の各時刻について、初期目標進捗量を算出する。例えば、各時刻の時間間隔が所定時間であってもよい。なお、各時刻の時間間隔が所定時間のように一定な場合を例に挙げて説明するが、各時刻の時間間隔は一定でなくてもよい。また、進捗量算出部203は、ロボット22Bについて、開始時刻から終了予定時刻までの間の所定時間ごとに、ロボット22Bに割り当てられた作業の初期目標進捗量を算出する。所定時間は、特に限定されない。すなわち、進捗量算出部203は、ロボット22Bについての開始時刻から終了予定時刻までの間の各時刻について、初期目標進捗量を算出する。例えば、各時刻の時間間隔が所定時間であってもよい。なお、各時刻の時間間隔が所定時間のように一定な場合を例に挙げて説明するが、各時刻の時間間隔は一定でなくてもよい。
【0037】
実施の形態1で説明した通り、目標進捗量は、各ロボット22の作業量によって表される。作業量は、例えば、ロボット22の移動距離、ロボット22の作業面積、ロボット22の作業に対して支払われる料金などによって表される。進捗量算出部203は、進捗量(作業量)の尺度がロボット22Aとロボット22Bとで互いに異なる場合、互いに時間に対する進捗率(%)などに変換してもよい。ロボット22Aは移動距離を進捗量とし、ロボット22Bは作業面積を進捗量とする場合に、各ロボット22についての進捗率を求める例を説明する。進捗量算出部203は、ロボット22Aの総予定移動距離と各時刻における移動距離とによって進捗率を算出する。例えば、開始時刻から終了予定時刻までにおける総予定移動距離が、100m(meter)であり、開始時刻からある時刻までにおける総予定移動距離(進捗量)が10mである場合、ある時刻における進捗率は10%である。進捗量算出部203は、ロボット22Bの総予定作業面積と各時刻における進捗の作業面積とによって進捗率を算出する。例えば、開始時刻から終了予定時刻までにおける総予定作業面積が、200m2であり、開始時刻からある時刻までにおける総予定移動面積(進捗量)が50m2である場合、ある時刻における進捗率は25%である。このように、ロボット22によって進捗量の尺度が異なる場合、進捗率が用いられればよい。
【0038】
以降、特に指定しない場合、進捗量として移動距離を例に挙げて説明する。進捗量算出部203は、ロボット22Aの移動経路における総予定移動距離を終了予定時刻における初期目標進捗量とする。進捗量算出部203は、ロボット22Aについて、開始時刻における初期目標進捗量と、終了予定時刻における初期目標進捗量とに基づいて、開始時刻から終了予定時刻までの各時刻における初期目標進捗量を線形補間することにより算出する。
【0039】
なお、開始時刻から終了予定時刻までのすべてを一度に線形補間せずに、進捗量算出部203は、ロボット22Aについて、所定の初期目標進捗量に対応する時刻、または一部の時刻に対応する初期目標進捗量を定め、それらを線形補間することにより、各時刻における初期目標進捗量を算出してもよい。例えば、開始時刻における初期目標進捗量と、終了予定時刻における初期目標進捗量との間の中間の予定時刻における初期目標進捗量が予め定められている場合がある。このような場合、進捗量算出部203は、ロボット22Aについて、開始時刻における初期目標進捗量と、中間の予定時刻における初期目標進捗量と、に基づいて、開始時刻から中間の時刻までの各時刻における初期目標進捗量を線形補間することにより算出してもよい。さらに、進捗量算出部203は、ロボット22Aについて、中間の予定時刻における初期目標進捗量と、終了予定時刻における初期目標進捗量と、に基づいて、中間の予定時刻から終了予定時刻までの各時刻における初期目標進捗量を線形補間することにより算出してもよい。
【0040】
例えば、進捗量算出部203は、開始時刻におけるロボット22Bの初期目標進捗量を0とし、ロボット22Bの終了予定時刻における初期目標進捗量をロボット22Bの移動経路における総予定移動距離とする。進捗量算出部203は、ロボット22Bについて、開始時刻における初期目標進捗量と、終了予定時刻における初期目標進捗量とに基づいて、開始時刻から終了予定時刻までの各時刻における初期目標進捗量を線形補間することにより算出する。なお、開始時刻から終了予定時刻までのすべてを一度に線形補間せずに、進捗量算出部203は、ロボット22Bについて、所定の初期目標進捗量に対応する時刻、または一部の時刻に対応する初期目標進捗量を定め、それらを線形補間することにより、各時刻における初期目標進捗量を算出してもよい。
【0041】
つぎに、進捗量更新部204は、ロボット22Aが衝突予定時刻までに行った作業実績に基づいて、更新目標進捗量を算出する。例えば、ロボット22Aについて、衝突予定時刻において作業実績の進捗量が初期目標進捗量よりも大きい場合について説明する。進捗量更新部204は、ロボット22Aについて、衝突予定時刻から終了予定時刻までの間の所定時間ごとに、初期目標進捗量に対して、作業実績の進捗量と初期目標進捗量との差分を加算することにより、更新目標進捗量を算出してもよい。所定時間は特に限定されない。作業実績の進捗量と初期目標進捗量との差分は、例えば、実績の進捗量から初期目標進捗量を減算した値である。例えば、作業実績の進捗量が初期目標進捗量よりも大きい場合、すなわち、作業が当初の予定より進んでいる場合、差分は、プラスの値となる。ただし、進捗量更新部204は、各時刻について、初期目標進捗量に対して差分を加算した場合に終了予定時刻における初期目標進捗量よりも大きくなる場合、更新目標進捗量を終了予定時刻における初期目標進捗量とする。すなわち、ロボット22Aの移動経路における総予定移動距離は、予め決まっているため、総予定移動距離よりも更新目標進捗量が大きくならない。更新目標進捗量に設定可能な最大値は、終了予定時刻における初期目標進捗量である。
【0042】
具体的に、ロボット22Aについて、衝突予定時刻において作業実績の進捗量が初期目標進捗量よりも大きい場合、進捗量更新部204は、衝突予定時刻について、初期目標進捗量を作業実績の進捗量とする。進捗量更新部204は、終了予定時刻について、初期目標進捗量に対して、作業実績の進捗量から初期目標進捗量を減算した値を加算することにより、更新目標進捗量を算出する。進捗量更新部204は、ロボット22Aについて、衝突予定時刻における更新目標進捗量と、終了予定時刻における更新目標進捗量と、に基づいて、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量を線形補間することにより算出する。
【0043】
一方、例えば、ロボット22Aについて、衝突予定時刻において実績の進捗量が初期目標進捗量よりも小さい場合、進捗量更新部204は、衝突予定時刻について、更新目標進捗量を実績の進捗量とする。また、進捗量更新部204は、終了予定時刻における更新目標進捗量を、終了予定時刻における初期目標進捗量とする。このように、実績の進捗量が初期目標進捗量よりも小さい場合、すなわち、作業が当初の予定より遅れている場合、進捗量更新部204は、ロボット22Aについて、進捗に遅れがあっても、終了予定時刻に作業を終了させるように更新目標進捗量を算出する。そして、進捗量更新部204は、衝突予定時刻における更新目標進捗量と、終了予定時刻における初期目標進捗量と、に基づいて、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量を線形補間することにより算出する。
【0044】
なお、衝突予定時刻において実績の進捗量が初期目標進捗量と同じ場合、進捗量更新部204は、衝突予定時刻以降の各時刻について、更新目標進捗量を初期目標進捗量としてもよい。
【0045】
さらに、進捗量更新部204は、衝突予定時刻からロボット22Aの終了予定時刻までに行われる、ロボット22Aに割り当てられた作業の予測結果(予測情報)に基づいて、ロボット22Aの更新目標進捗量を更新する。ここで、予測結果は、例えば、ディジタルツインにおけるシミュレーション結果から得られる情報である。例えば、予測結果には、ロボット22Aの阻害要因によって生じる進捗量の遅れ、進捗量の進みなどが含まれていてもよい。予測結果には、例えば、12時の地点での進捗量などが含まれていてもよい。
【0046】
例えば、予測結果が、衝突予定時刻以降の各時刻における進捗量を示す場合、進捗量更新部204は、衝突予定時刻以降の各時刻における更新目標進捗量を、予測結果に含まれる進捗量としてもよい。そして、進捗量更新部204は、各時刻における更新目標進捗量を線形補間することにより、衝突予定時刻から終了予定時刻までの間の所定時間ごとに、更新目標進捗量を算出してもよい。
【0047】
また、例えば、予測結果が、衝突予定時刻以降のある時刻において阻害要因により遅延が生じることを示す場合、進捗量更新部204は、ある時刻における更新目標進捗量と終了予定時刻における更新目標進捗量から、遅延量に相当する進捗量を減算してもよい。ただし、進捗量更新部204は、終了予定時刻における更新目標進捗量から遅延量に相当する進捗量を減算した値が初期目標進捗量より低くなる場合、終了予定時刻における更新目標進捗量を初期目標進捗量にする。そして、進捗量更新部204は、ある時刻における更新目標進捗量と、終了予定時刻における更新目標進捗量とに基づいて、ある時刻から終了予定時刻までの各時刻における更新目標進捗量を線形補間することにより算出する。
【0048】
また、例えば、予測結果において、衝突予定時刻以降のある時刻において進捗量が進んでいる場合、進捗量更新部204は、ある時刻から終了予定時刻までの各時刻について、更新目標進捗量に対して、進む予測の進捗量を加算する。ただし、進捗量更新部204は、加算した値が、終了予定時刻における初期目標進捗量よりも大きくなる場合、更新目標進捗量を終了予定時刻における初期目標進捗量とする。
【0049】
なお、予測結果に作業の遅延と作業の前倒しの両方が含まれる場合、進捗量更新部204は、時系列に更新目標進捗量を計算すればよい。これにより、衝突予定時刻以降において作業が遅れたり、進んだりすることが考慮された更新目標進捗量を算出することができる。
【0050】
また、進捗量更新部204は、ロボット22Bが衝突予定時刻までに行った作業実績に基づいて、更新目標進捗量を算出する。ロボット22Bについての作業実績に基づく更新目標進捗量の算出方法は、ロボット22Aについての作業実績に基づく更新目標進捗量の算出方法と同じであってよい。そして、進捗量更新部204は、衝突予定時刻からロボット22Bの終了予定時刻までに行われる、ロボット22Bに割り当てられた作業の予測結果(予測情報)に基づいて、ロボット22Bの目標進捗量を更新する。ロボット22Bについての予測結果はロボット22Aについての予測結果と同様の内容であってもよい。ロボット22Bについての予測結果に基づく更新目標進捗量の算出方法は、ロボット22Aについての作業実績に基づく予測結果の算出方法と同じであってよい。
【0051】
つぎに、余裕量算出部201は、ロボット22Aについて、衝突予定時刻から終了予定時刻までの間の所定時間ごとの、更新目標進捗量から目標進捗量を減算した値の合計値(積分値)を余裕量として算出する。所定時間は、特に限定されない。すなわち、余裕量算出部201は、ロボット22Aについて、衝突予定時刻から終了予定時刻までの間の各時刻における更新目標進捗量から目標進捗量を減算した値を算出すればよい。衝突予定時刻から終了予定時刻までの間の各時刻については、所定時間ごとの時刻であってもよいし、所定時間のように一定間隔でなくてもよい。そして、余裕量算出部201は、衝突予定時刻から終了予定時刻までの各時刻における減算結果を積分する。ここで、余裕量が、プラスの値であれば、余裕がある。一方、余裕量が、マイナスの値であれば、余裕がない。余裕がないとは、当初の目標に対して追加の作業量があることを示す。
【0052】
また、余裕量算出部201は、衝突予定時刻からロボット22Bに割り当てられた作業の終了予定時刻までの間の所定時間ごとの、ロボット22Bの更新目標進捗量からロボット22Bの目標進捗量を減算した値の合計値(積分値)をロボット22Bに係る余裕量として算出する。余裕量算出部201は、衝突予定時刻から終了予定時刻までの各時刻におけるロボット22Bの更新目標進捗量からロボット22Bの目標進捗量を減算した値を算出する。そして、余裕量算出部201は、衝突予定時刻から終了予定時刻までの各時刻における減算結果を積分する。ここで、余裕量が、プラスの値であれば、余裕がある。一方、余裕量が、マイナスの値であれば、余裕がない。余裕がないとは、当初の目標に対して追加の作業量があることを示す。
【0053】
なお、上述の例では、余裕量算出部201は、更新目標進捗量から初期目標進捗量を減算した値の合計値を余裕量として算出するが、初期目標進捗量から更新目標進捗量を減算した値の合計値を余裕量として算出してもよい。初期目標進捗量から更新目標進捗量を減算する場合の余裕量は、マイナスの値であれば、余裕がある。一方、この余裕量が、プラスの値であれば、余裕がない。以降の説明では、特に指定しない限り、更新目標進捗量から初期目標進捗量を減算した値の合計値を余裕量として説明する。
【0054】
制御部202は、ロボット22Aとロボット22Bとが衝突しないように、余裕量が大きい方のロボット22を制御する。具体的に、制御部202は、例えば、余裕量が大きい方のロボット22を一時停止させてもよい。より具体的に、制御部202は、ロボット22Aとロボット22Bとが衝突しない程度の時間、余裕量が大きいロボット22の移動を停止させればよい。この時間は、特に限定されない。例えば、停止時間算出部(図示しない)が、余裕量から停止可能な時間を算出してもよい。そして、制御部202は、算出された時間だけ、ロボット22を一時停止させてもよい。また、制御部202は、余裕量が小さい方のロボット22が通過するのに必要な時間、余裕量が大きい方のロボット22の移動を停止させてもよい。または、制御部202は、停止可能な時間が、余裕量が小さいロボット22が通過するのに必要な時間よりも短い場合に、停止可能な時間よりも余裕量が小さいロボット22が通過するのに必要な時間短くなるように、余裕量が小さいロボット22の移動速度を速めてもよい。
【0055】
また、制御部202は、例えば、ロボット22Aとロボット22Bとが衝突しないように、余裕量が大きい方のロボット22の移動速度が遅くなるように制御してもよい。
【0056】
また、ロボット22Aの容量とロボット22Bの余裕量とが同じ値の場合がある。このような場合、制御部202は、ロボット22Aおよびロボット22Bのうちにおランダムに選ばれた一方のロボット22を2つのロボット22が衝突しないように制御してもよい。または、このような場合、制御部202は、余裕量以外の情報を用いて、2つのロボット22が衝突しないように制御してもよい。余裕量以外で用いる情報の種類は特に限定されない。例えば、衝突予定時刻における更新目標進捗量が用いられてもよい。例えば、制御部202は、更新目標進捗量が大きい方のロボット22を一時停止させる、もしくは当該ロボット22の移動速度を遅くさせてもよい。また、例えば、衝突予定時刻における停止可能な時間が用いられてもよい。前述の停止時間算出部(図示しない)が、衝突予定時刻において、余裕量から停止可能な時間を算出してもよい。そして、制御部202は、2つのロボット22が衝突しないように、停止可能な時間が長い方のロボット22を制御してもよい。
【0057】
図6は、衝突予測例1を示す説明図である。
図3で説明した通り、ロボット22Aとロボット22Bとが同一のディジタルツインのプラットフォームで管理されているため、そのプラットフォームにおけるシミュレーション装置が、ロボット22Aと、ロボット22Bとが12時0分に衝突することを予測する。
【0058】
例えば、ロボット22Aは、案内ロボットである。ロボット22Aの作業の開始時刻は、12時00分であり、ロボット22Aの作業の終了予定時刻は、12時10分である。一方、ロボット22Bは、掃除ロボット22である。ロボット22Bの作業の開始時刻は、11時55分であり、ロボット22Bの作業の終了予定時刻は、12時20分である。そして、ロボット22Aとロボット22Bとは、ロボット22Aの作業開始とともに、12時00分に衝突することが予測される。
【0059】
図7は、衝突予測1にかかる余裕量の算出例を示す説明図である。
図7には、各ロボット22について、作業実績、初期目標進捗量、更新目標進捗量をプロットした例を示す。横軸は、時刻であり、縦軸は作業量(移動距離)である。
図7において、ロボット22Aを省略して、Aと表し、ロボット22Bを省略してBと表す。各ロボット22の作業の開始地点から終了地点までの距離が終了予定時刻における移動距離である。
図7において、ロボット22Aの作業の開始地点から終了地点までの距離が、12時10分における移動距離である。
図7において、ロボット22Bの作業の開始地点から終了地点までの距離が、12時20分における移動距離である。
【0060】
ロボット22Aは、衝突予定時刻(12時00分)に作業が開始されるため、衝突予定時刻より前の作業実績がない。ロボット22Bは、11時55分に作業が開始されるため、衝突予定時刻よりも前の作業実績がある。
【0061】
つぎに、進捗量算出部203は、ロボット22Aについて、開始時刻から終了予定時刻までの所定時間ごとの、目標進捗量を算出する。進捗量算出部203は、開始時刻(12時00分)において移動距離を0とし、終了予定時刻(12時10分)における移動距離を、作業の開始地点から終了地点までの距離として、線形でロボット22Aの目標進捗量を算出する。
【0062】
つぎに、進捗量算出部203は、ロボット22Bについて、開始時刻から終了予定時刻までの所定時間ごとの、目標進捗量を算出する。進捗量算出部203は、ロボット22Bについて、開始時刻(11時55分)における移動距離を0とし、終了予定時刻(12時20分)における移動距離を、ロボット22Bの作業の開始地点から終了地点までの総予定移動距離として、線形でロボット22Bの目標進捗量を算出する。
【0063】
図7において、ロボット22Aは、実績がなく、予測結果において作業の遅れも前倒しも予測されていないため、更新目標進捗量と初期目標進捗量とは同じである。
【0064】
ロボット22Bは、衝突予定時刻までに作業実績があるが、予測結果において作業の遅れも前倒しも予測されていない。また、衝突予定時刻において、作業実績の進捗量が、初期目標進捗量よりも大きい。このため、進捗量更新部204は、ロボット22Bについて、所定時間ごとの初期目標進捗量に対して、実績の進捗量を加算することにより、更新目標進捗量を算出する。また、進捗量更新部204は、さらに、シミュレーションによる予測結果に基づいて、この更新目標進捗量を更新する。
図7において、衝突予定時刻までの実線が、ロボット22Bの作業実績である。更新目標進捗量は、初期目標進捗量に対して作業実績が加算された値である。
【0065】
余裕量算出部201は、ロボット22Aについて、更新目標進捗量から初期目標進捗量を減算した値の合計値を余裕量として算出する。ロボット22Aについては、更新目標進捗量と初期目標進捗量とが同じであるため、余裕量は0である。
【0066】
また、余裕量算出部201は、ロボット22Bについて、更新目標進捗量から初期目標進捗量を減算した値の合計値(積分値)を余裕量として算出する。
図7において、ロボット22Bの余裕量は、衝突予定時刻から終了予定時刻までの間のロボット22Bの更新目標進捗量の実線から、ロボット22Bの初期目標進捗量の点線によって表される部分の面積である。ロボット22Bの作業実績がプラスであり、予測結果において作業の遅れも前倒しも予測されていないため、ロボット22Bについての余裕量は、プラスの値である。すなわち、ロボット22Bについての余裕量が、ロボット22Aについての余裕量よりも大きい。
【0067】
図8は、衝突予測例1にかかる制御例を示す説明図である。制御部202は、ロボット22Bの余裕量がロボット22Aの余裕量よりも大きいので、ロボット22Bを一時停止させる。これにより、ロボット22Aは、終了予定時刻までに割り当てられた作業を終了させることができる。
【0068】
なお、例えば、
図7によれば、ロボット22Bは、初期目標進捗量を下回らないように一時停止する場合、衝突予定時刻から12時06分まで一時停止することができる。制御部202は、ロボット22Bについて、6分以内一時停止させてもよい。
【0069】
図9は、衝突予測例2を示す説明図である。
図3で説明した通り、ロボット22Aとロボット22Bとが同一のディジタルツインのプラットフォームで管理されているため、そのプラットフォームにおけるシミュレーション装置が、ロボット22Aとロボット22Bとが12時0分に衝突することを予測する。
【0070】
例えば、ロボット22Aは、案内ロボットである。ロボット22Aの作業の開始時刻は、12時00分であり、ロボット22Aの作業の終了予定時刻は、12時10分である。一方、ロボット22Bは、掃除ロボット22である。ロボット22Bの作業の開始時刻は、11時55分であり、ロボット22Bの作業の終了予定時刻は、12時20分である。衝突予測例2において、ロボット22Aとロボット22Bとは、12時05分に衝突することが予測される。
【0071】
図10は、衝突予測例2にかかる余裕量の算出例を示す説明図である。
図10には、各ロボット22について、作業実績、初期目標進捗量、更新目標進捗量をプロットした例を示す。横軸は、時刻であり、縦軸は作業量(移動距離)である。
図10において、ロボット22Aを省略して、Aと表し、ロボット22Bを省略してBと表す。各ロボット22の作業の開始地点から終了地点までの距離が終了予定時刻における移動距離である。
図10において、ロボット22Aの作業の開始地点から終了地点までの距離が、12時10分における移動距離である。
図10において、ロボット22Bの作業の開始地点から終了地点までの距離が、12時20分における移動距離である。
【0072】
ロボット22Aは、衝突予定時刻(12時00分)に作業が開始されるため、衝突予定時刻より前の作業実績がない。ロボット22Bは、11時55分に作業が開始されるため、衝突予定時刻よりも前の作業実績がある。
【0073】
つぎに、進捗量算出部203は、ロボット22Aについて、開始時刻から終了予定時刻までの所定時間ごとの、目標進捗量を算出する。進捗量算出部203は、開始時刻(12時00分)において移動距離を0とし、終了予定時刻(12時10分)における移動距離を、作業の開始地点から終了地点までの距離として、線形でロボット22Aの目標進捗量を算出する。
【0074】
つぎに、進捗量算出部203は、ロボット22Bについて、開始時刻から終了予定時刻までの所定時間ごとの、目標進捗量を算出する。進捗量算出部203は、開始時刻(11時55分)において移動距離を0とし、終了予定時刻(12時20分)における移動距離を、ロボット22Bの作業の開始地点から終了地点までの距離として、線形でロボット22Bの目標進捗量を算出する。
【0075】
図10において、ロボット22Aは、作業実績があるが、予測結果において作業の遅れも前倒しも予測されていない。実績の進捗量が、初期目標進捗量よりも小さいため、進捗量更新部204は、ロボット22Aについて、衝突予定時刻における初期目標進捗量から、実績の進捗量を減算することにより、衝突予定時刻における更新目標進捗量を算出する。このため、ロボット22Aは、衝突予定時刻において、すでに作業が遅れている。進捗量更新部204は、衝突予定時刻における実績を反映した更新目標進捗量と、ロボット22Aの移動経路における総予定移動距離と、によって、衝突予定時刻以降の所定時間ごとの更新目標進捗量を線形補間することにより算出する。
【0076】
図10において、ロボット22Bは、実績があり、予測結果において作業の前倒しが予測されている。実績の進捗量が、初期目標進捗量よりも小さいため、進捗量更新部204は、ロボット22Bについて、衝突予定時刻における初期目標進捗量から、実績の進捗量を減算することにより、衝突予定時刻における更新目標進捗量を算出する。そして、進捗量更新部204は、ロボット22Bについて、シミュレーションによる予測結果に基づいて、衝突予定時刻から終了予定時刻までの所定時間ごとの初期目標進捗量に対して更新目標進捗量を更新する。予測結果を反映する更新方法は、前述の通り、特に限定されない。ロボット22Bについて、衝突予定時刻までの作業実績では、初期目標進捗量よりも遅れている。衝突予定時刻において、更新目標進捗量は、初期目標進捗量よりも低い。衝突予定時刻以降の各時刻において、予測結果が反映されると、12時10分に、更新目標進捗量と初期目標進捗量とが同じになり、12時15分を過ぎたころに、ロボット22Bの作業が終了すると、予測される。ロボット22Bの余裕量は、プラスの値となる。
【0077】
余裕量算出部201は、ロボット22Aについて、更新目標進捗量から初期目標進捗量を減算した値の合計値を余裕量として算出する。ロボット22Aの余裕量はマイナスの値(追加作業量とも呼ぶ。)である。例えば、衝突予定時刻以降において、ロボット22Aは、案内ロボットであるため、終了予定時刻に作業を終了させるために、移動速度を早くするなどの必要がある。
図10において、ロボット22Aの余裕量は、衝突予定時刻から終了予定時刻までの間のロボット22Aの更新目標進捗量の実線から、ロボット22Aの初期目標進捗量の点線によって表される部分の面積である。
【0078】
また、余裕量算出部201は、ロボット22Bについて、所定時間ごとの更新目標進捗量から初期目標進捗量を減算した値の合計値を余裕量として算出する。
図10において、ロボット22Bの余裕量は、衝突予定時刻から終了予定時刻までの間のロボット22Bの更新目標進捗量の実線から、ロボット22Bの初期目標進捗量の点線によって表される部分の面積である。ロボット22Bの余裕量は、プラスの値である。
【0079】
このため、ロボット22Bの余裕量は、ロボット22Aの余裕量よりも大きい。制御部202は、ロボット22Bの余裕量がロボット22Aの余裕量よりも大きいので、ロボット22Bを一時停止させる。
【0080】
以上で、異なる2つの衝突予測例の説明を終了する。
【0081】
<複数経路がある例>
つぎに、ロボット22に複数の経路がある場合について説明する。進捗量算出部203は、複数の経路のうちのある経路について、初期目標進捗量を算出する。ここで、ある経路は、例えば、衝突が予測される経路である。それ以外の経路は、衝突が予測される経路よりも作業量が多い
そして、進捗量更新部204は、経路別に、更新目標進捗量を算出してもよい。ただし、進捗量更新部204は、衝突が予測される経路における初期目標進捗量に対する目標達成度を更新目標進捗量として算出する。余裕量算出部201は、経路別に、余裕量を算出してもよい。
【0082】
例えば、ロボット22Aについて複数の経路がある場合、制御部202は、ロボット22Bの余裕量が、ロボット22Aについての衝突しない経路の余裕量および衝突する経路の余裕量よりも大きい場合に、衝突しないように、ロボット22Bを一時停止させてもよい。
【0083】
図11は、ロボット22Aに複数の経路がある例を示す説明図である。
図11では、
図6と同様の例において、さらに、ロボット22Aが、最短経路r1と、迂回経路r2とを有する例を用いて説明する。なお、最短経路r1は、
図6に示すロボット22Aの経路と同じである。ロボット22Aが迂回経路r2を使用すれば、ロボット22Aとロボット22Bとは衝突しないが、ロボット22Aの総予定移動距離は長くなる。
【0084】
進捗量算出部203は、各ロボット22について、開始時刻から終了予定時刻までの所定時間ごとの初期目標進捗量を算出する。なお、各ロボット22の初期目標進捗量は、
図7を用いて説明した通りである。
【0085】
進捗量更新部204は、各ロボット22について、経路別に、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量を算出する。なお、ロボット22Bの更新目標進捗量とロボット22Aの最短経路r1の更新目標進捗量は、
図7を用いて説明した通りである。ここで、ロボット22Aの迂回経路r2の更新目標進捗量の算出について
図12を用いて説明する。
【0086】
図12は、迂回経路における更新目標進捗量の算出例を示す説明図である。
図12において、位置d21~d25は、迂回経路r2において、2次元マップ上で、最短経路r1における位置d11~d15と同じ距離進んだとみなす位置である。破線l1からl5は、位置d21~d25のそれぞれに対応する位置d11~d15を決めるための線である。位置d11~d14のそれぞれを通過する破線l1~l4のそれぞれと、迂回経路r2との交点が、位置d21~d24である。なお、位置d15は終点であるため、位置d25は終点である。
【0087】
例えば、迂回経路r2においてロボット22Aが位置d21まで進むと、最短経路r1においてロボット22Aが位置d11まで進んだとみなす。迂回経路r2においてロボット22Aが位置d22まで進むと、最短経路r1においてロボット22Aが位置d12まで進んだとみなす。迂回経路r2においてロボット22Aが位置d23まで進むと、最短経路r1においてロボット22Aが位置d13まで進んだとみなす。迂回経路r2においてロボット22Aが位置d24まで進むと、最短経路r1においてロボット22Aが位置d14まで進んだとみなす。迂回経路r2においてロボット22Aが位置d25まで進むと、最短経路r1においてロボット22Aが位置d15まで進んだとみなす。そして、進捗量更新部204は、シミュレーションによる予測結果に基づいて、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量を算出する。
【0088】
また、
図12の例に限らず、進捗量更新部204は、最短経路r1に対する迂回経路r2の比率に基づいて、各時刻における迂回経路r2の移動距離から、各時刻における迂回経路r2の更新作業進捗量を算出してもよい。具体的に、進捗量更新部204は、最短経路r1の総予定移動距離を、迂回経路r2の総予定移動距離によって除算した値と、各時刻における迂回経路r2の移動距離と、の掛け算によって、迂回経路r2についての更新作業進捗量を算出してもよい。例えば、最短経路r1の総予定移動距離が100mであり、迂回経路r2の総予定移動距離が130mである場合に、ある時刻において迂回経路r2の移動距離が65mであると、更新作業進捗量は、50mとなる。
【0089】
図13は、迂回経路における余裕量の算出例を示す説明図である。
図13には、各ロボット22について、作業実績、初期目標進捗量、更新目標進捗量をプロットした例を示す。横軸は、時刻であり、縦軸は作業量(移動距離)である。
図13において、ロボット22Aを省略して、Aと表し、ロボット22Bを省略してBと表す。
【0090】
余裕量算出部201は、迂回経路r2について、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量から、初期目標進捗量を減算した値の合計値を余裕量として算出する。最短経路r1についてのロボット22Aの余裕量と、ロボット22Bの余裕量とは、
図7を用いて説明した通りである。
図13において、迂回経路r2についての余裕量は、マイナスの値である。最短経路r1についてのロボット22Aの余裕量は、0であり、ロボット22Bの余裕量は、プラスの値である。よって、最短経路r1についてのロボット22Aの余裕量は迂回経路r2についてのロボット22Aの余裕量よりも大きい。また、ロボット22Bの余裕量が、最短経路r1についてのロボット22Aの余裕量および迂回経路r2についてのロボット22Aの余裕量よりも大きい。このため、ロボット22Aは、最短経路r1を使い、制御部202は、ロボット22Aとロボット22Bとが衝突しないように、ロボット22Bを制御する。前述の通り、制御部202は、ロボット22Bを一時停止させてもよいし、ロボット22Bの移動速度を遅くしてもよい。
【0091】
図13では、ロボット22Bの余裕量が、迂回経路r2についてのロボット22Aの余裕量および最短経路r1についてのロボット22Aの余裕量よりも大きい例を用いて説明した。ここで、他の例について説明する。
【0092】
また、例えば、ロボット22Bの余裕量が、迂回経路r2についてのロボット22Aの余裕量よりも大きく、最短経路r1についてのロボット22Aの余裕量よりも小さい場合、制御部202は、ロボット22Aに対して最短経路r1を使用させる。そして、制御部202は、ロボット22Aとロボット22Bとが衝突しないように、ロボット22Aを制御してもよい。
【0093】
また、例えば、ロボット22Bの余裕量が、迂回経路r2についてのロボット22Aの余裕量よりも小さく、最短経路r1についてのロボット22Aの余裕量よりも大きい場合、制御部202は、ロボット22Aに対して、迂回経路r2を使用させる。
【0094】
例えば、ロボット22Bの余裕量が、ロボット22Aの各余裕量よりも小さい場合、制御部202は、ロボット22Aに対して、迂回経路r2を使用させてもよい。もしくは、例えば、ロボット22Bの余裕量が、ロボット22Aの各余裕量よりも小さい場合、制御部202は、ロボット22Aに対して、最短経路r1を利用させてもよい。そして、制御部202は、ロボット22Aとロボット22Bとが衝突しないように、ロボット22Aを制御してもよい。なお、前述の通り、制御部202は、ロボット22Aを一時停止させたり、ロボット22Aの移動速度を遅くさせたりする。
【0095】
また、ロボット22Bの余裕量がロボット22Aの各余裕量より小さい場合について説明する。制御部202は、迂回経路r2についてのロボット22Aの余裕量と最短経路r1についてのロボット22Aの余裕量とを比較し、ロボット22Aに対して迂回経路r2を利用させるか、ロボット22Aに対して最短経路r1を利用させるかを決定してもよい。なお、ロボット22Aに対して最短経路r1を利用させる場合、制御部202は、ロボット22Aを一時停止させるかを決めてもよい。また、情報処理装置20は、最短経路r1を利用させた場合における、衝突をさけるための一時停止をする場合における待機時間を推理する待機時間算出部(図示しない)や移動速度を遅くしたことによる遅延時間を推定する遅延時間算出部(図示しない)を有していてもよい。進捗量更新部204は、算出された時間待機させた場合や算出された時間遅延した場合における更新目標進捗量を算出してもよい。そして、余裕量算出部201は、新たな更新目標進捗量から初期目標進捗量を減算した値を余裕量として算出してもよい。そして、制御部202は、ロボット22Aに対して余裕量が大きい方の経路を使用させてもよい。例えば、ロボット22Aが最短経路r1を利用する場合、制御部202は、ロボット22Aを一時停止させたり、ロボット22Aの移動速度を遅くさせたりする。
【0096】
図14は、実施の形態2にかかる情報処理装置20の一動作例を示すフローチャートである。ディジタルツインのシミュレーションによって衝突が予測されると、進捗量算出部203は、各ロボット22の初期目標進捗量を算出する(ステップS201)。
【0097】
進捗量更新部204は、各ロボット22について、衝突予定時刻から終了予定時刻までの所定時間ごとの実績の進捗量および予測の進捗量を反映した更新目標進捗量を算出する(ステップS202)。ステップS202において、ロボット22が複数の経路を有する場合、進捗量更新部204は、所定時間ごとの経路別に更新目標進捗量を算出する。
【0098】
余裕量算出部201は、各ロボット22について、衝突予定時刻から終了予定時刻までの所定時間ごとの更新目標進捗量から、初期目標進捗量を減算した値の合計値(積分値)を余裕量として算出する(ステップS203)。制御部202は、ロボット22同士が衝突しないように、余裕量が大きい方のロボット22を制御する(ステップS204)。ステップS204において、制御部202は、余裕量が大きい方のロボット22を一時停止させてもよい。ステップS204において、制御部202は、余裕量が大きい方のロボット22の移動速度を遅くさせてもよい。また、ステップS204において、ロボット22Aの容量とロボット22Bの余裕量とが同じ値の場合、制御部202は、ロボット22Aおよびロボット22Bのうちにおランダムに選ばれた一方のロボット22を2つのロボット22が衝突しないように制御してもよい。または、ステップS204において、このような場合、制御部202は、余裕量以外の情報を用いて、2つのロボット22が衝突しないように制御してもよい。より具体的に、例えば、制御部202は、衝突予定時刻における更新目標進捗量が大きい方のロボット22を制御してもよい。また、制御部202は、2つのロボット22が衝突しないように、停止可能な時間が長い方のロボット22を制御してもよい。
【0099】
つぎに、実施の形態2の効果について説明する。余裕量算出部201は、衝突予定時刻からロボット22Aに割り当てられた作業の終了予定時刻までの間の所定時間ごとの、ロボット22Aの更新目標進捗量からロボット22Aの初期目標進捗量を減算した値の合計値をロボット22Aに係る余裕量として算出する。また、余裕量算出部201は、衝突予定時刻からロボット22Bの終了予定時刻までの間の所定時間ごとの、ロボット22Bの更新目標進捗量からロボット22Bの初期目標進捗量を減算した値の合計値をロボット22Bに係る余裕量として算出する。これにより、情報処理装置20は、衝突予定時刻以降において阻害要因などのように目標進捗量に変更がることが予測される場合に、各ロボット22の余裕量をより精度よく計算することができる。
【0100】
また、進捗量更新部204は、衝突予定時刻からロボット22Aの終了予定時刻までの間の所定時間ごとに、ロボット22Aの初期目標進捗量と、ロボット22Aの作業実績の進捗量とによって、ロボット22Aの更新目標進捗量を算出する。進捗量更新部204は、衝突予定時刻からロボット22Bの終了予定時刻までの間の所定時間ごとに、ロボット22Bの初期目標進捗量と、ロボット22Bの作業実績の進捗量とによって、ロボット22Bの更新目標進捗量を算出する。これにより、情報処理装置20は、ロボット22の更新目標進捗量をより精度よく計算することができる。したがって、情報処理装置20は、各ロボット22の作業の遅延を抑制しつつ、衝突を避けることができる。
【0101】
具体的に、衝突予定時刻において、ロボット22Aの作業実績の進捗量が、ロボット22Aの初期目標進捗量よりも大きい場合について説明する。進捗量更新部204は、衝突予定時刻からロボット22Aの終了予定時刻までの間の所定時間ごとに、ロボット22Aの初期目標進捗量に対して、ロボット22Aの作業実績の進捗量からロボット22Aの初期目標進捗量を減算した値を加算する。これにより、進捗量更新部204は、衝突予定時刻からロボット22Aの終了予定時刻までの間の所定時間ごとに、ロボット22Aの更新目標進捗量を加算結果とする。なお、進捗量更新部204は、当該終了予定時刻におけるロボット22Aの初期目標進捗量を更新目標進捗量の最大値とする。また、ロボット22Bの作業実績の進捗量が、ロボット22Bの初期目標進捗量よりも大きい場合について説明する。進捗量更新部204は、衝突予定時刻からロボット22Bの終了予定時刻までの間の所定時間ごとに、ロボット22Bの初期目標進捗量に対して、ロボット22Bの作業実績の進捗量からロボット22Bの初期目標進捗量を減算した値を加算する。これにより、進捗量更新部204は、衝突予定時刻からロボット22Bの終了予定時刻までの間の所定時間ごとに、ロボット22Bの更新目標進捗量を加算結果とする。なお、進捗量更新部204は、当該終了予定時刻におけるロボット22Bの初期目標進捗量を更新目標進捗量の最大値とする。
【0102】
進捗量更新部204は、衝突予定時刻からロボット22Aの終了予定時刻までに行われる、ロボット22Aに割り当てられた作業の予測結果に基づいて、ロボット22Aの更新目標進捗量を算出する。また、進捗量更新部204は、衝突予定時刻からロボット22Bの終了予定時刻までに行われる、ロボット22Bに割り当てられた作業の予測結果に基づいて、ロボット22Bの更新目標進捗量を算出する。余裕量算出部201は、各ロボット22について、更新目標進捗量および初期目標進捗量を使って、余裕量を算出する。このため、情報処理装置20は、ディジタルツインのシミュレーションによる予測結果を更新目標進捗量に反映することができる。すなわち、情報処理装置20は、衝突が予測された時点で余裕があるか否かに限らず、衝突予定時刻以降についても余裕があるかを反映さることができる。したがって、情報処理装置20は、より精度よく余裕量を算出することができる。情報処理装置20は、衝突予定時刻から終了予定時刻までの間で余裕がある方のロボット22を制御させることができる。
【0103】
また、ロボット22Aの初期目標進捗量およびロボット22Aの更新目標進捗量は、ロボット22Aの移動距離、ロボット22Aの作業面積、およびロボット22Aの作業に対して支払う料金の少なくともいずれかによって表される。また、ロボット22Bの初期目標進捗量およびロボット22Bの更新目標進捗量は、ロボット22Bの移動距離、ロボット22Bの作業面積、およびロボット22Bの作業に対して支払う料金の少なくともいずれかによって表される。なお、各ロボット22の各進捗量は、同一の基準によって表される。これにより、情報処理装置20は、ロボット22から得られる各情報によって余裕量を算出することができる。
【0104】
また、制御部202は、衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体を一時停止させる。これにより、情報処理装置20は、より確実にロボット22を衝突させないようにすることができる。また、制御部202は、衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体の移動速度を遅くさせる。これにより、情報処理装置20は、ロボット22の停止させることなく、複数のロボット22を衝突させないようにすることができる。
【0105】
実施の形態2については上述した例に限られず、種々変更可能である。情報処理装置20の各機能部が、複数の装置によって実現されてもよい。また、以下に実施の形態2における変形例を示す。
【0106】
<変形例1>
制御部202が、余裕量が大きい方のロボット22を制御することにより、そのロボット22の作業に遅延が発生する場合がある。実施の形態2で説明した通り、制御部202は、余裕量が大きい方のロボット22を一時停止させたり、ロボット22の移動速度を遅くさせたりしてもよい。ここでは、一時停止を例に挙げて説明する。例えば、制御されたロボット22は、一時停止の時間が長いと、終了予定時刻までに作業を終了できない場合がある。このような場合に、情報処理装置20は、一時停止されたロボット22が属するサブシステム21の事業者が、通過したロボット22が属するサブシステム21の事業者に対して遅延分の補填に関する情報を提供してもよい。遅延分の補填とは、例えば、金銭的な支払であってもよいし、ロボット22による作業であってもよい。
【0107】
出力部(図示しない)が、2つのロボットのそれぞれのサブシステム21の事業者の装置に対して、遅延分の補填に関する情報を出力してもよい。もしくは、出力部は、通過したロボット22が属するサブシステム21の事業者の装置に対して、遅延分の補填を要求する情報を出力してもよい。例えば、衝突前に補填要求が受け入れられないと判断された場合、制御部202は、一時停止による作業進捗の遅れが小さい方のロボット22を一時停止させてもよい。または、待機時間算出部(図示しない)が、一時停止する場合における各ロボット22の待機時間を算出してもよい。制御部202は、余裕量の他に、各ロボット22について、一時停止させる待機時間によって終了予定時刻を過ぎて作業が終了するか否かを判定してもよい。制御部202は、より早く作業が終了する方のロボット22を一時停止させてもよい。
【0108】
<変形例2>
図3に示すシステム2は、同一のディジタルツイン下で、異なるサブシステム21を有する例を説明した。すなわち、
図3に示すシステム2では、同一のプラットフォーム内に異なるサブシステム21がある。例えば、異なる複数のプラットフォームが、同じ街などの同じ領域をディジタルツインとして再現する場合がある。変形例2に係るシステム2は、異なるディジタルツインに属するサブシステム21のロボット22同士の衝突を避ける。
【0109】
図15は、システム2の他の例1(変形例2)を示す説明図である。システム2は、例えば、ディジタルツインXを実現するための情報処理装置20Xおよびサブシステム21Aと、ディジタルツインYを実現するための情報処理装置20Yおよびサブシステム21Bと、有する。なお、ディジタルツインXに複数のサブシステム21Aがあってもよいし、ディジタルツインYに属する複数のサブシステム21Bがあってもよい。
【0110】
ディジタルツインXとディジタルツインYは、同一の街、同一の建物、建物内の同一のフロアなどの同一の領域を再現する。変形例2において情報処理装置を特定しない場合、情報処理装置20と表す。情報処理装置20は、各ディジタルツインにおけるシミュレーションを行うシミュレーション装置の機能を有していてもよい。
【0111】
サブシステム21Aは、複数のロボット22Aを有する。情報処理装置20Xと複数のロボット22Aとは通信ネットワーク23Aを介して接続される。サブシステム21Bは、複数のロボット22Bを有する。情報処理装置20Yと複数のロボット22Bとは通信ネットワーク23Bを介して接続される。例えば情報処理装置20Xと情報処理装置20Yは、通信ネットワーク23XYを介して接続される。なお、通信ネットワーク23Aと通信ネットワーク23Bと通信ネットワーク23XYとは、少なくとも一部が同一であってもよいし、それぞれ異なっていてもよい。
【0112】
また、情報処理装置20Xと情報処理装置20Yとのそれぞれが、進捗量算出部203と、進捗量更新部204と、余裕量算出部201と、制御部202と、記憶部205と、を有していてもよい。
【0113】
例えば、ロボット22が、領域内を移動中に、他のロボット22を認識すると、情報処理装置20に衝突の予測を通知してもよい。ロボット22は、撮像装置、近接センサなどによって他のロボット22を認識してもよい。各情報処理装置20の余裕量算出部201は、ロボット22からの衝突の予測の通知を受け付けると、自ディジタルツインに属するロボット22の余裕量を算出する。なお、衝突予定であって異なるディジタルツインに属する2台のロボット22のうちのいずれか一方が衝突を予測した場合に、一方のロボット22が自ディジタルツインの情報処理装置20に通知する。そして、通知された情報処理装置20は、他方のロボット22が属するディジタルツインの情報処理装置20にその旨通知してもよい。そして、情報処理装置20同士が、算出した作業余裕量を互いに送信する。そして、余裕量が大きい方のロボット22を管理する情報処理装置20の制御部202が、衝突が発生しないようにロボット22を停止させる。
【0114】
<変形例3>
変形例2と同様に、変形例3では、例えば、異なる複数のプラットフォームが、同じ街などの同じ領域をディジタルツインとして再現する。変形例3では、異なるプラットフォーム間において、衝突の恐れがあるロボット22同士が通信する場合について説明する。
【0115】
図16は、システム2の他の例2(変形例3)を示す説明図である。システム2は、例えば、ディジタルツインXを実現するための情報処理装置20Xおよびサブシステム21Aと、ディジタルツインYを実現するための情報処理装置20Yおよびサブシステム21Bと、有する。なお、ディジタルツインXに複数のサブシステム21Aがあってもよいし、ディジタルツインYに属する複数のサブシステム21Bがあってもよい。
【0116】
ディジタルツインXとディジタルツインYは、同一の街、ビルなどの同一の領域を再現する。変形例2と同様に、変形例3において情報処理装置を特定しない場合、情報処理装置20と表す。情報処理装置20は、各ディジタルツインにおけるシミュレーションを行うシミュレーション装置であってもよい。
【0117】
サブシステム21Aは、複数のロボット22Aを有する。情報処理装置20Xと複数のロボット22Aとは通信ネットワーク23Aを介して接続される。サブシステム21Bは、複数のロボット22Bを有する。情報処理装置20Yと複数のロボット22Bとは通信ネットワーク23Bを介して接続される。複数のロボット22Aと複数のロボット22Bとは、通信ネットワーク23XYを介して接続される。なお、通信ネットワーク23XYは、近距離無線の通信ネットワークであってもよい。また、通信ネットワーク23Aと通信ネットワーク23Bと通信ネットワーク23XYとは、少なくとも一部が同一であってもよいし、それぞれ異なっていてもよい。
【0118】
また、情報処理装置20Xと情報処理装置20Yとのそれぞれが、進捗量算出部203と、進捗量更新部204と、余裕量算出部201と、記憶部205と、を有していてもよい。そして、ロボット22Aとロボット22Bとが、制御部202と、記憶部205と、を有していてもよい。
【0119】
例えば、ロボット22が、領域内を移動中に、他のロボット22を認識すると、情報処理装置20に衝突の予測を通知してもよい。ロボット22は、撮像装置、近接センサなどによって他のロボット22を認識してもよい。各情報処理装置20の余裕量算出部201は、ロボット22からの衝突の予測の通知を受け付けると、自ディジタルツインに属するロボット22の余裕量を算出する。なお、余裕量算出部201による余裕量の算出前に、進捗量算出部203と、進捗量更新部204と、が初期目標進捗量と更新目標進捗量とを算出しているが、ここでは詳細な説明を省略する。
【0120】
そして、各情報処理装置20は、衝突の予測の通知元のロボット22に対して、算出した余裕量を送信する。そして、通知元のロボット22が、通知元のロボット22と衝突しそうなロボット22との間で、余裕量を交換してもよい。そして、余裕量が大きい方のロボット22の制御部202が、衝突が発生しないように自ロボット22を停止させてもよい。
【0121】
<変形例4>
実施の形態2では、異なるサブシステム21の2台のロボット22が衝突する例を説明した。2台のロボット22に限らず、3台以上のロボット22が衝突する場合も同様に、余裕量が最も小さいロボット22の移動を優先させ、制御部202は、余裕量が大きい方のロボットを衝突させないように制御すればよい。例えば、3台のロボット22の衝突が予測された場合に、制御部22は、最も余裕量の小さいロボット22を通過させるために、他の2台のロボット22の移動を制御する。そして、最も余裕量の小さいロボット22を通過後に、制御部22は、つぎに余裕量が小さいロボット22の制御を解除して通過させればよい。
【0122】
以上で、各実施の形態の説明を終了する。
【0123】
(コンピュータ装置)
つぎに、実施の形態2で説明した情報処理装置20やロボット22などの各装置をコンピュータ装置で実現した場合のハードウェア構成例について説明する。
図17は、コンピュータ装置のハードウェア構成例を示す説明図である。例えば、実施の形態2で説明した情報処理装置20、ロボット22などの装置の一部又は全部は、例えば
図17に示すようなコンピュータ装置30とプログラムとの任意の組み合わせを用いて実現することも可能である。
【0124】
コンピュータ装置30は、例えば、プロセッサ301と、ROM302と、RAM303と、記憶装置304と、通信インターフェース305と、入出力インターフェース306と、を有する。各構成部は、バス307を介してそれぞれ接続される。
【0125】
プロセッサ301は、コンピュータ装置30の全体を制御する。プロセッサ301は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などが挙げられる。コンピュータ装置30は、記憶部として、ROM302、RAM303および記憶装置304などを有する。記憶装置304は、例えば、フラッシュメモリなどの半導体メモリ、HDD、SSDなどが挙げられる。例えば、記憶装置304はOS(Operating System)のプログラム、アプリケーションプログラム、各実施の形態にかかるプログラムなどを記憶する。または、ROM302は、アプリケーションプログラム、各実施の形態にかかるプログラムなどを記憶する。そして、RAM303は、プロセッサ301のワークエリアとして使用される。
【0126】
また、プロセッサ301は、記憶装置304、ROM302などに記憶されたプログラムをロードする。そして、プロセッサ301は、プログラムにコーディングされている各処理を実行する。また、プロセッサ301は、通信ネットワーク33を介して各種プログラムをダウンロードしてもよい。また、プロセッサ301は、コンピュータ装置30の一部または全部として機能する。そして、プロセッサ301は、プログラムに基づいて図示したフローチャートにおける処理または命令を実行してもよい。
【0127】
通信インターフェース305は、無線または有線の通信回線を通じて、LAN(Local Area Network)、WAN(Wide Area Network)などの通信ネットワーク33に接続される。これにより、コンピュータ装置30は、通信ネットワーク33を介して外部の装置や外部のコンピュータに接続される。通信インターフェース305は、通信ネットワーク33とコンピュータ装置30の内部とのインターフェースを司る。そして、通信インターフェース305は、外部の装置や外部のコンピュータからのデータの入出力を制御する。
【0128】
また、入出力インターフェース306は、入力装置、出力装置、および入出力装置の少なくともいずれかに接続される。接続方法は、無線であってもよいし、有線であってもよい。入力装置は、例えば、キーボード、マウス、マイクなどが挙げられる。出力装置は、例えば、表示装置、点灯装置、音声を出力するスピーカなどが挙げられる。また、入出力装置は、タッチパネルディスプレイなどが挙げられる。なお、入力装置、出力装置、および入出力装置などは、コンピュータ装置に内蔵されていてもよいし、外付けであってもよい。
【0129】
図17に示すコンピュータ装置30のハードウェア構成は一例である。コンピュータ装置30は、
図17に示す一部の構成要素を有していなくてもよい。コンピュータ装置30は、
図17に示す以外の構成要素を有していてもよい。コンピュータ装置30は、図示しない装置を有していてもよい。例えば、コンピュータ装置30は、撮像装置としてカメラを有していてもよい。また、コンピュータ装置30は、各種センサなどを有していてもよい。例えば、コンピュータ装置30は、ドライブ装置などを有してもよい。そして、プロセッサ301は、ドライブ装置などに装着された記録媒体からRAM303にプログラムやデータを読み出してもよい。記録媒体としては、光ディスク、フレキシブルディスク、磁気光ディスク、USB(Universal Serial Bus)メモリなどが挙げられる。また、コンピュータ装置30が、ロボット22などの移動体の場合、プロセッサ301とは別に、移動機能を制御するための制御装置などを有していてもよい。
【0130】
以上で、各装置のハードウェア構成例の説明を終了する。また、各装置の実現方法には、様々な変形例がある。例えば、システムは、構成要素ごとにそれぞれ異なるコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
【0131】
また、各装置の各構成要素の一部または全部は、特定用途向けの回路で実現されてもよい。また、システムの一部または全部は、FPGA(Field Programmable Gate Array)のようなプロセッサなどを含む汎用の回路によって実現されてもよい。また、システムの一部または全部は、特定用途向けの回路や汎用の回路などの組み合わせによって実現されてもよい。また、これらの回路は、単一の集積回路であってもよい。または、これらの回路は、複数の集積回路に分割されてもよい。そして、複数の集積回路は、バスなどを介して接続されることにより構成されてもよい。
【0132】
また、各装置の各構成要素の一部または全部が複数のコンピュータや回路などにより実現される場合、複数のコンピュータや回路などは、集中配置されてもよいし、分散配置されてもよい。
【0133】
各実施の形態で説明した方法は、コンピュータ装置が実行することにより実現される。また、方法は、予め用意されたプログラムをコンピュータ装置が実行することにより実現される。各実施の形態で説明したプログラムは、HDD、SSD、フレキシブルディスク、光ディスク、フレキシブルディスク、磁気光ディスク、USBメモリなどのコンピュータで読み取り可能な記録媒体に記録される。そして、本プログラムは、コンピュータによって記録媒体から読み出されることによって実行される。また、プログラムは、通信ネットワーク33を介して配布されてもよい。
【0134】
以上説明した、各実施の形態におけるシステムの各構成要素は、
図17に示すコンピュータ装置30のように、その機能をハードウェア的に実現されてもよい。または、各構成要素は、プログラム制御に基づくコンピュータ装置、ファームウェアで実現されてもよい。
【0135】
以上、各実施の形態を参照して本開示を説明したが、本開示は上記実施の形態に限定されるものではない。各開示の構成や詳細には、本開示のスコープ内で当業者が把握し得る様々な変更を適用した実施の形態を含み得る。本開示は、本明細書に記載された事項を必要に応じて適宜に組み合わせ、または置換した実施の形態を含み得る。例えば、特定の実施の形態を用いて説明された事項は、矛盾を生じない範囲において、他の実施の形態に対しても適用され得る。例えば、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施の形態を実施するときには、その複数の動作の順番を内容的に支障しない範囲で変更することができる。
【0136】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されることができる。ただし、上記の実施の形態の一部または全部は、以下に限られない。
【0137】
(付記1)
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する算出手段と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する制御手段と、
を備えるシステム。
【0138】
(付記2)
前記算出手段は、
前記衝突予定時刻から前記第1移動体に割り当てられた前記作業の終了予定時刻までの間の所定時間ごとの、前記第1移動体の更新された前記目標進捗量から前記第1移動体の前記目標進捗量を減算した値の合計値を前記第1移動体に係る余裕量として算出し、
前記衝突予定時刻から前記第2移動体に割り当てられた前記作業の前記終了予定時刻までの間の前記所定時間ごとの、前記第2移動体の更新された前記目標進捗量から前記第2移動体の前記目標進捗量を減算した値の合計値を前記第2移動体に係る余裕量として算出する、
付記1に記載のシステム。
【0139】
(付記3)
前記衝突予定時刻から前記第1移動体の前記終了予定時刻までの間の前記所定時間ごとに、前記第1移動体の前記目標進捗量と、前記第1移動体の前記作業実績の進捗量とによって、前記第1移動体の更新された前記目標進捗量を算出し、前記衝突予定時刻から前記第2移動体の前記終了予定時刻までの間の前記所定時間ごとに、前記第2移動体の前記目標進捗量と、前記第2移動体の前記作業実績の進捗量とによって、前記第2移動体の更新された前記目標進捗量を算出する進捗量更新手段、
を備える付記1または2に記載のシステム。
【0140】
(付記4)
前記進捗量更新手段は、
前記第1移動体の前記作業実績の進捗量が、前記第1移動体の前記目標進捗量よりも大きい場合、前記衝突予定時刻から前記第1移動体の前記終了予定時刻までの間の前記所定時間ごとに、当該終了予定時刻における前記第1移動体の前記目標進捗量を最大値として、前記第1移動体の前記目標進捗量に対して、前記第1移動体の前記作業実績の進捗量から前記第1移動体の前記目標進捗量を減算した値を加算することにより、前記第1移動体の更新された前記目標進捗量を算出し、
前記第2移動体の前記作業実績の進捗量が、前記第2移動体の前記目標進捗量よりも大きい場合、前記衝突予定時刻から前記第2移動体の前記終了予定時刻までの間の前記所定時間ごとに、当該終了予定時刻における前記第2移動体の前記目標進捗量を最大値として、前記第2移動体の前記目標進捗量に対して、前記第2移動体の前記作業実績の進捗量から前記第2移動体の前記目標進捗量を減算した値を加算することにより、前記第2移動体の更新された前記目標進捗量を算出する、
を備える付記3に記載のシステム。
【0141】
(付記5)
前記進捗量更新手段は、
前記衝突予定時刻から前記第1移動体の前記終了予定時刻までに行われる、前記第1移動体に割り当てられた前記作業の予測結果に基づいて、前記第1移動体の更新された前記目標進捗量を算出し、
前記衝突予定時刻から前記第2移動体の前記終了予定時刻までに行われる、前記第2移動体に割り当てられた前記作業の予測結果に基づいて、前記第2移動体の更新された前記目標進捗量を算出する、
付記3または4に記載のシステム。
【0142】
(付記6)
前記第1移動体の前記目標進捗量および前記第1移動体の更新された前記目標進捗量は、前記第1移動体の移動距離、前記第1移動体の作業面積、および前記第1移動体の作業に対して支払う料金の少なくともいずれかによって表され、
前記第2移動体の前記目標進捗量および前記第2移動体の更新された前記目標進捗量は、前記第2移動体の移動距離、前記第2移動体の作業面積、および前記第2移動体の作業に対して支払う料金の少なくともいずれかによって表される、
付記1乃至5のいずれかに記載のシステム。
【0143】
(付記7)
前記制御手段は、前記衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体を一時停止させる、
付記1乃至6のいずれかに記載のシステム。
【0144】
(付記8)
前記制御手段は、前記衝突予定時刻に衝突させないように、算出された余裕量が大きい方の移動体の移動速度を遅くさせる、
付記1乃至6のいずれかに記載のシステム。
【0145】
(付記9)
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する算出手段と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する制御手段と、
を備える情報処理装置。
【0146】
(付記10)
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出し、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する、
方法。
【0147】
(付記11)
コンピュータに、
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する処理と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する処理と、
を実行させるプログラム。
【0148】
(付記12)
コンピュータに、
第1移動体と第2移動体との衝突予定時刻以降の時刻について算出した、前記第1移動体に割り当てられた作業の目標進捗量に対する、前記第1移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、前記衝突予定時刻以降の時刻について算出した、前記第2移動体に割り当てられた作業の目標進捗量に対する、前記第2移動体が前記衝突予定時刻までに行った作業実績に基づき更新された目標進捗量の余裕量と、を算出する処理と、
算出された余裕量が大きい方の移動体を前記衝突予定時刻に衝突させないように制御する処理と、
を実行させるプログラムを記録する、前記コンピュータが読み取り可能な非一時的な記録媒体。
【符号の説明】
【0149】
1 システム
2 システム
20 情報処理装置
20X 情報処理装置
20Y 情報処理装置
21 サブシステム
21A サブシステム
21B サブシステム
22 ロボット
22A ロボット
22B ロボット
23 通信ネットワーク
23A 通信ネットワーク
23B 通信ネットワーク
23XY 通信ネットワーク
33 通信ネットワーク
30 コンピュータ装置
101 算出部
102 制御部
201 余裕量算出部
202 制御部
203 進捗量算出部
204 進捗量更新部
205 記憶部
301 プロセッサ
302 ROM
303 RAM
304 記憶装置
305 通信インターフェース
306 入出力インターフェース
307 バス
AR 領域
r1 最短経路
r2 迂回経路
X ディジタルツイン
Y ディジタルツイン