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

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

▶ オムロン株式会社の特許一覧

特開2024-44207エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム
<>
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図1
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図2
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図3
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図4
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図5
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図6
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図7
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図8
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図9
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図10
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図11
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図12
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図13
  • 特開-エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044207
(43)【公開日】2024-04-02
(54)【発明の名称】エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240326BHJP
   G06N 20/00 20190101ALI20240326BHJP
【FI】
G05D1/02 S
G06N20/00
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022149607
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】米谷 竜
(72)【発明者】
【氏名】黒瀬(西村) 真衣
(72)【発明者】
【氏名】浅野 輝
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301BB14
5H301LL03
5H301LL06
5H301LL14
5H301LL15
5H301LL16
(57)【要約】
【課題】エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするためのエージェント制御装置を提供する。
【解決手段】制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定する移動決定部と、前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定する変化量決定部と、前記移動決定部が決定した前記移動に関する情報に前記変化量決定部が決定した前記変化量を与えて前記制御対象エージェントを動作させる動作制御部と、を備える、エージェント制御装置が提供される。
【選択図】図6
【特許請求の範囲】
【請求項1】
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定する移動決定部と、
前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定する変化量決定部と、
前記移動決定部が決定した前記移動に関する情報に前記変化量決定部が決定した前記変化量を与えて前記制御対象エージェントを動作させる動作制御部と、
を備える、エージェント制御装置。
【請求項2】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの移動に要する代償のばらつきを少なくするよう前記変化量を決定する、請求項1に記載のエージェント制御装置。
【請求項3】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定移動時間からの遅延のばらつきを少なくするよう前記変化量を決定する、請求項2に記載のエージェント制御装置。
【請求項4】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定移動距離からの延長のばらつきを少なくするよう前記変化量を決定する、請求項2に記載のエージェント制御装置。
【請求項5】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定使用エネルギからの増加のばらつきを少なくするよう前記変化量を決定する、請求項2に記載のエージェント制御装置。
【請求項6】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの移動に要する代償の平均を少なくするよう前記変化量を決定する、請求項2に記載のエージェント制御装置。
【請求項7】
前記移動に関する情報は、前記制御対象エージェントの移動方向、移動量、移動に要する時間、回転方向、回転量の少なくともいずれかである、請求項1~請求項6のいずれか1項に記載のエージェント制御装置。
【請求項8】
前記動作制御部は、前記第2モデルに前記第1観測セットのみを入力した場合の前記第2モデルの出力により、前記制御対象エージェントが移動に要する代償を負うか否かを決定する、請求項1~請求項6のいずれか1項に記載のエージェント制御装置。
【請求項9】
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う学習部を備える、学習装置。
【請求項10】
プロセッサが、
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定し、
前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定し、
決定した前記移動に関する情報に、決定した前記変化量を与えて前記制御対象エージェントを動作させる
処理を実行する、エージェント制御方法。
【請求項11】
プロセッサが、
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う
処理を実行する、学習方法。
【請求項12】
コンピュータに、
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定し、
前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定し、
決定した前記移動に関する情報に、決定した前記変化量を与えて前記制御対象エージェントを動作させる
処理を実行させる、エージェント制御プログラム。
【請求項13】
コンピュータに、
制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う
処理を実行させる、学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、エージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラムに関する。
【背景技術】
【0002】
自動走行するモバイルロボット、自動運転車、ドローンなどのエージェントが複数存在する環境において、各エージェントが互いに衝突することなく目的地(ゴール)に到達できるようにするマルチエージェントナビゲーション技術が開示されている(非特許文献1、2参照)。非特許文献1、2は、全エージェントの経路長(所要時間)の和、又は最も遅くゴールしたエージェントの経路長(所要時間)を最小化するための技術を開示している。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Silver, D. 2005. Cooperative pathfinding. In AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, volume 1, 117-122
【非特許文献2】Sharon, G.; Stern, R.; Felner, A.; and Sturtevant, N. R. 2015. Conflict-based search for optimal multi-agent pathfinding. Artificial Intelligence, 219: 40-66
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のエージェントについて、経路や動作等に違いがある場合、全エージェントの経路長(所要時間)の和、又は最も遅くゴールしたエージェントの経路長(所要時間)を最小化すると、特定のエージェントが極端に遅延して目的地に到達する可能性がある。前者は、個々のエージェントの経路長や所要時間の長短を用いて全体を最小化し、後者は、特定のエージェントの優先度を高め、他のエージェントの優先度を低くすることによって経路長や所要時間を最小化する。
【0005】
これらのことから、出発地、目的地や経路等に違いがある複数のエージェントをナビゲーションするにあたって、各エージェントの経路長や所要時間のばらつきを少なくすることは、上記最小化を妨げるため検討されていない。
【0006】
本開示は、上記の点に鑑みてなされたものであり、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするためのエージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示のある観点によれば、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定する移動決定部と、前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定する変化量決定部と、前記移動決定部が決定した前記移動に関する情報に前記変化量決定部が決定した前記変化量を与えて前記制御対象エージェントを動作させる動作制御部と、を備える、エージェント制御装置が提供される。
【0008】
これにより、第1モデルの出力に第2モデルの出力を適用することで、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御することができる。代償とは、例えば、スタートからゴールまでの移動に要する時間、移動距離、移動に際して消費するエネルギ量等でありうる。また代償は、コストと同義である。
【0009】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの移動に要する代償のばらつきを少なくするよう前記変化量を決定してもよい。これにより、各エージェントが負担する代償のばらつきを少なくするようにエージェントの移動を制御することができる。
【0010】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定移動時間からの遅延のばらつきを少なくするよう前記変化量を決定してもよい。これにより、各エージェントの予定移動時間からの遅延のばらつきを少なくするようにエージェントの移動を制御することができる。
【0011】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定移動距離からの延長のばらつきを少なくするよう前記変化量を決定してもよい。これにより、各エージェントの予定移動距離からの延長のばらつきを少なくするようにエージェントの移動を制御することができる。
【0012】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの予定使用エネルギからの増加のばらつきを少なくするよう前記変化量を決定してもよい。これにより、各エージェントの予定移動距離からの延長のばらつきを少なくするようにエージェントの移動を制御することができる。
【0013】
前記変化量決定部は、前記第2モデルの出力により、前記制御対象エージェント及び前記他のエージェントの移動に要する代償の平均を少なくするよう前記変化量を決定してもよい。これにより、各エージェントの移動に要する代償の平均を少なくするようにエージェントの移動を制御することができる。
【0014】
前記移動に関する情報は、前記制御対象エージェントの移動方向、移動量、移動に要する時間、回転方向、回転量の少なくともいずれかであってもよい。これにより、制御対象エージェントの移動方向、移動量、移動に要する時間、回転方向、回転量の少なくともいずれかを変化させてエージェントの移動を制御することができる。
【0015】
前記動作制御部は、前記第2モデルに前記第1観測セットのみを入力した場合の前記第2モデルの出力により、前記制御対象エージェントが移動に要する代償を負うか否かを決定してもよい。これにより、各エージェントの移動に要する代償を負うかどうかを決定することができる。
【0016】
また本開示の別の観点によれば、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う学習部を備える、学習装置が提供される。
【0017】
これにより、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御するための、第1モデルの出力に出力を適用する第2モデルを学習することができる。
【0018】
また本開示の別の観点によれば、プロセッサが、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定し、前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定し、決定した前記移動に関する情報に、決定した前記変化量を与えて前記制御対象エージェントを動作させる処理を実行する、エージェント制御方法が提供される。
【0019】
これにより、第1モデルの出力に第2モデルの出力を適用することで、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御することができる。
【0020】
また本開示の別の観点によれば、プロセッサが、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う処理を実行する、学習方法が提供される。
【0021】
これにより、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御するための、第1モデルの出力に出力を適用する第2モデルを学習することができる。
【0022】
また本開示の別の観点によれば、コンピュータに、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを第1モデルに入力し、前記第1モデルの出力により、前記制御対象エージェントの移動に関する情報を決定し、前記第1観測セット及び前記第2観測セットを第2モデルに入力し、前記第2モデルの出力により、前記制御対象エージェントの移動に関する情報に対する変化量を決定し、決定した前記移動に関する情報に、決定した前記変化量を与えて前記制御対象エージェントを動作させる処理を実行させる、エージェント制御プログラムが提供される。
【0023】
これにより、第1モデルの出力に第2モデルの出力を適用することで、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御することができる。
【0024】
また本開示の別の観点によれば、コンピュータに、制御対象エージェントの状態を観測した第1観測セット及び前記制御対象エージェントの周囲の少なくとも1つの他のエージェントの状態を観測した第2観測セットを入力とし、前記第1観測セット及び前記第2観測セットを第1モデルに入力し、前記第1モデルの出力により決定された前記制御対象エージェントの移動に関する情報に対する変化量を出力とする第2モデルの学習を行う処理を実行させる、学習プログラムが提供される。
【0025】
これにより、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするよう、エージェントの移動を制御するための、第1モデルの出力に出力を適用する第2モデルを学習することができる。
【発明の効果】
【0026】
本開示によれば、エージェントが複数存在する環境において、エージェントの移動に要する代償のばらつきを少なくするためのエージェント制御装置、学習装置、エージェント制御方法、学習方法、エージェント制御プログラム、及び学習プログラムを提供することができる。
【図面の簡単な説明】
【0027】
図1】複数のエージェントがそれぞれ目的の場所へ移動する例を示す図である。
図2】開示の技術の実施形態に係るエージェントナビゲーションシステムの概略構成を示す図である。
図3】学習装置のハードウェア構成の例を示すブロック図である。
図4】学習装置の機能構成例を示すブロック図である。
図5】エージェント制御装置のハードウェア構成の例を示すブロック図である。
図6】エージェント制御装置の機能構成例を示すブロック図である。
図7】学習装置による学習処理の流れを示すフローチャートである。
図8】エージェント制御装置によるエージェント制御処理の流れを示すフローチャートである。
図9】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
図10】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
図11】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
図12】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
図13】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
図14】エージェント制御装置によるエージェントの移動の制御の具体例を説明する図である。
【発明を実施するための形態】
【0028】
まず、本件開示者が本開示の実施形態を想到するに至った経緯について説明する。上述したように、自動走行するモバイルロボット、自動運転車、ドローンなどのエージェントが複数存在する環境において、各エージェントが互いに衝突することなく目的地に到達できるようにするマルチエージェントナビゲーション技術が存在する。
【0029】
しかし、全エージェントの経路長(所要時間)の和、又は最も遅くゴールしたエージェントの経路長(所要時間)を最小化する場合、特定のエージェントが極端に遅延して目的地に到達する可能性がある。それぞれのエージェントは、他のエージェントを避けるためにしばしば迂回経路をとったり、他のエージェントが通過するまで待機したりする必要があり、他のエージェントを完全に無視して利己的な経路を通る場合と比較して、到着時間に遅れが発生する。
【0030】
図1は、複数のエージェントがそれぞれ目的の場所へ移動する例を示す図である。エージェントA、Bは、ともにスタート時点を1重円として、それぞれ交差点を直進し、目的の場所へ移動した後を2重円として表されている。例えば、図1に示したように交差点付近を移動している2種類のエージェントA(1台)、B(4台)がある場合を考える。ここで、エージェントBの集団が全て交差点を直進して通過した後でエージェントAが交差点を直進して通過する場合と(パターン1)、エージェントAが交差点を直進して通過した後でエージェントBの集団が全て交差点を直進して通過する場合(パターン2)とを比較する。パターン1のエージェントAは交差点で4台のエージェントBの通過を待たなければならない。パターン2のエージェントAはエージェントBを待たずに通過し、エージェントBは1台分の待ち時間の後に移動することができる。パターン1と2とを比較すると、パターン2の方の効率が良いことが分かる。このようにエージェントの動かし方により効率は変化し、エージェントが多数になり、交差する状況が複雑になった時に、遅延のばらつきにより評価することができ、このばらつきが少なければ効率が良いと評価できる。なお、「ばらつき」は統計的ばらつきを意味し、分散又は標準偏差を含み得る。
【0031】
本件開示者は、上述の点を鑑み、到着の遅れが特定のエージェントに偏るのではなく、全てのエージェントが同程度に遅れるような遅延のばらつきの少ないナビゲーションを実現するための技術について鋭意検討を行った。その結果、本件開示者は、以下で説明するように、全てのエージェントが同程度に遅れるような遅延のばらつきの少ないナビゲーションを実現するための技術を考案するに至った。
【0032】
以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0033】
図2は、本実施形態に係るエージェントナビゲーションシステムの概略構成を示す図である。図2に示したエージェントナビゲーションシステムは、学習装置1と、エージェント制御装置2と、を含む。
【0034】
学習装置1は、エージェント制御装置2がエージェントA1、A2の動作の制御に使用する協調モデル10を機械学習する装置である。エージェント制御装置2は、協調モデル10を用いてエージェントA1、A2の動作を制御する装置である。エージェント制御装置2は、エージェントA1、A2の動作を制御する際に、移動モデル20の出力を用いると共に、その移動モデル20の出力に変化を与えるための協調モデル10の出力を用いる。移動モデル20は、エージェントA1、A2が存在する環境中の障害物、自身の目的地、周囲のエージェントの情報をもとに、次に進むべき移動方向又は移動量を決定するモデルである。移動モデル20は、例えばDynamic Window Approach等の古典的なアルゴリズムを用いてもよいし、機械学習により学習されたニューラルネットワーク等でもよい。
【0035】
そして協調モデル10は、移動モデル20の出力に変化を与えるための、機械学習されたモデルである。協調モデル10は、所定の手法で機械学習されたニューラルネットワークでありうる。
【0036】
エージェントA1、A2は、本開示の制御対象エージェントの一例であり、そのような制御対象エージェントの例としては、自動走行するモバイルロボット、AMR(Autonomous Mobile Robot)、AGV(Automated Guided Vehicle)、自動運転車等がある。また、協調モデル10は、本開示の第2モデルの一例であり、エージェント制御装置2がエージェントA1、A2の動作を制御する際に用いられる。
【0037】
学習装置1は、協調モデル10の学習を行う際に、あるエージェント(例えばエージェントA1)の状態を観測した第1観測セット及びエージェントA1の周囲にある少なくとも1つの他のエージェント(例えばエージェントA2)の状態を観測した第2観測セットを用いる。各観測セットは、自身の位置、自身の位置から見たゴールの相対位置、周囲のオブジェクトの配置状態、他エージェントを無視してゴールに到達した場合の所要時間と比較した現在の時間的な遅れといった、各エージェントが観測した情報を含む。従って、エージェントA1、A2は、周囲の状況を観測するためのセンサを備えうる。
【0038】
なお、各観測セットの観測タイミング及び観測間隔は特定のパターンに限定されるものではなく、例えば、エージェントの動作間隔に対応して観測セットの観測が行われてもよい。
【0039】
そして学習装置1は、それぞれのエージェントのゴールに到達する複数のエージェント間における遅延のばらつきを少なくするように協調モデル10を機械学習する。学習装置1は、加えてエージェントがゴールに達する遅延を小さく保つように協調モデル10を機械学習してもよい。つまり学習装置1は、エージェントA1、A2の遅延のばらつきが少なくなるように、又は到達時間が少なくなるように協調モデル10を機械学習する。
【0040】
なお、本実施形態では学習装置1とエージェント制御装置2とを別の装置としているが、本開示は係る例に限定されるものではなく、学習装置1とエージェント制御装置2とが同一の装置であってもよい。また本実施形態では、協調モデル10を学習装置1及びエージェント制御装置2と独立して存在しているが、本開示は係る例に限定されるものではなく、例えば協調モデル10は学習装置1又はエージェント制御装置2に保持されていてもよい。またエージェントは複数台であってよい。
【0041】
続いて、学習装置1の構成例を説明する。
【0042】
図3は、学習装置1のハードウェア構成の例を示すブロック図である。
【0043】
図3に示すように、学習装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0044】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12またはストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12またはストレージ14に記録されているプログラムにしたがって、上記各構成の制御および各種の演算処理を行う。本実施形態では、ROM12またはストレージ14には、協調モデル10を学習する学習プログラムが格納されている。
【0045】
ROM12は、各種プログラムおよび各種データを格納する。RAM13は、作業領域として一時的にプログラムまたはデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)またはフラッシュメモリ等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、および各種データを格納する。
【0046】
入力部15は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。
【0047】
表示部16は、たとえば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0048】
通信インタフェース17は、他の機器と通信するためのインタフェースであり、たとえば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0049】
上記の学習プログラムを実行する際に、学習装置1は、上記のハードウェア資源を用いて、各種の機能を実現する。学習装置1が実現する機能構成について説明する。
【0050】
図4は、学習装置1の機能構成の例を示すブロック図である。
【0051】
図4に示すように、学習装置1は、機能構成として、取得部101、および学習部102を有する。各機能構成は、CPU11がROM12またはストレージ14に記憶された学習プログラムを読み出し、実行することにより実現される。
【0052】
取得部101は、協調モデル10の学習に用いる、あるエージェント(例えばエージェントA1)の状態を観測した第1観測セット及びエージェントA1の周囲にある少なくとも1つの他のエージェント(例えばエージェントA2)の状態を観測した第2観測セットを取得する。第2観測セットを生成するエージェントの数は1つに限られない。
【0053】
学習部102は、取得部101が取得した第1観測セット及び第2観測セットを用いて、協調モデル10の機械学習を行う。学習部102は、それぞれのエージェントのゴールに到達する複数のエージェント間における遅延のばらつきを小さくするように、協調モデル10の機械学習を行う。学習部102は、加えてエージェントがゴールに達する遅延を少なく保つように協調モデル10を機械学習してもよい。移動に要するコストとは、例えば、スタートからゴールまでの移動に要する時間、移動距離、移動に際して消費するエネルギ量等でありうる。
【0054】
すなわち、学習部102は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動時間からの遅延のばらつきが少なくなるよう協調モデル10を学習してもよい。また、学習部102は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動距離からの延長のばらつきが少なくなるよう協調モデル10を学習してもよい。また学習部102、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定使用エネルギからの増加のばらつきが少なくなるよう協調モデル10を学習してもよい。学習部102は、加えてエージェントがゴールに達する遅延、予定移動距離からの延長、又は予定使用エネルギからの増加の少なくともいずれかを少なく保つように協調モデル10を機械学習してもよい。
【0055】
具体的に、学習部102は、複数エージェント間における遅延のばらつきを少なくするように協調モデル10を機械学習する。学習部102は、加えてエージェントがゴールに達する遅延を少なく保つように協調モデル10を機械学習してもよい。本実施形態では、学習部102は、協調モデル10を強化学習することで、協調モデル10を機械学習する。
【0056】
学習部102による協調モデル10の機械学習の一例を示す。エージェントがゴールに到達した場合に、協調モデル10により変化したエージェントの行動が、他のエージェントの時間遅れの改善にどれだけ寄与したかを表現するような報酬を与える。そのような報酬としては、例えば、時間遅れの量の改善幅、ゴール到達時刻の改善幅、移動モデル20が強化学習で獲得されている場合のQ値の改善幅等がある。移動モデル20が強化学習で獲得されている場合のQ値は、エージェントがどれだけ早くゴールできたか、障害物に衝突しなかったか、等の要因に基づいて決まる値である。もちろん、報酬は係る例に限定されるものではなく、他にユーザが任意に定めて良い。学習部102は、上記のような報酬を最大化させるように協調モデル10の強化学習を行う。
【0057】
続いて、エージェント制御装置2の構成例を説明する。
【0058】
図5は、エージェント制御装置2のハードウェア構成の例を示すブロック図である。
【0059】
図5に示すように、エージェント制御装置2は、CPU21、ROM22、RAM23、ストレージ24、入力部25、表示部26及び通信インタフェース(I/F)27を有する。各構成は、バス29を介して相互に通信可能に接続されている。
【0060】
CPU21は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU21は、ROM22またはストレージ24からプログラムを読み出し、RAM23を作業領域としてプログラムを実行する。CPU21は、ROM22またはストレージ24に記録されているプログラムにしたがって、上記各構成の制御および各種の演算処理を行う。本実施形態では、ROM22またはストレージ24には、協調モデル10及び移動モデルの出力を用いてエージェントの動作を制御するエージェント制御プログラムが格納されている。
【0061】
ROM22は、各種プログラムおよび各種データを格納する。RAM23は、作業領域として一時的にプログラムまたはデータを記憶する。ストレージ24は、HDD、SSDまたはフラッシュメモリ等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、および各種データを格納する。
【0062】
入力部25は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。
【0063】
表示部26は、たとえば、液晶ディスプレイであり、各種の情報を表示する。表示部26は、タッチパネル方式を採用して、入力部25として機能しても良い。
【0064】
通信インタフェース27は、他の機器と通信するためのインタフェースであり、たとえば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0065】
上記の学習プログラムを実行する際に、エージェント制御装置2は、上記のハードウェア資源を用いて、各種の機能を実現する。エージェント制御装置2が実現する機能構成について説明する。
【0066】
図6は、エージェント制御装置2の機能構成の例を示すブロック図である。
【0067】
図6に示すように、エージェント制御装置2は、機能構成として、取得部201、移動決定部202、変化量決定部203、および動作制御部204を有する。各機能構成は、CPU21がROM22またはストレージ24に記憶されたエージェント制御プログラムを読み出し、実行することにより実現される。
【0068】
取得部201は、エージェントA1、A2の動作の制御に用いる、あるエージェント(例えばエージェントA1)の状態を観測した第1観測セット及びエージェントA1の周囲にある少なくとも1つの他のエージェント(例えばエージェントA2)の状態を観測した第2観測セットを取得する。第2観測セットを生成するエージェントの数は1つに限られない。
【0069】
移動決定部202は、取得部201が取得した第1観測セット及び第2観測セットを移動モデル20に入力し、移動モデル20からの出力を用いて、制御対象のエージェントの移動に関する情報を決定する。ここで制御対象のエージェントの移動に関する情報には、エージェントの移動方向、移動量、移動に要する時間、回転方向、回転量などが含まれ得る。例えば、移動決定部202は、移動モデル20からの出力を用いて、制御対象のエージェントの移動に関する情報が西の方向に1メートル進むことであるということを決定する。
【0070】
変化量決定部203は、第1観測セット及び第2観測セットを協調モデル10に入力し、協調モデル10からの出力を用いて、制御対象エージェントの移動に関する情報に対する変化量を決定する。より具体的には、変化量決定部203は、制御対象エージェント及び他のエージェントの移動に要するコストのばらつきが少なくなるよう、変化量を決定する。また変化量決定部203は、要するコストのばらつき及び平均がともに少なくなるよう変化量を決定してもよい。移動に要するコストとは、例えば、スタートからゴールまでの移動に要する時間、移動距離、移動に際して消費するエネルギ量等でありうる。なお、「コスト」は本開示の「代償」の一例を示している。そして、協調モデル10の出力は、コストを負担するか否かを決定するための情報を含みうるものである。
【0071】
すなわち、変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動時間からの遅延のばらつきが少なくなるよう変化量を決定してもよい。また、変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動距離からの延長のばらつきが少なくなるよう変化量を決定してもよい。また変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定使用エネルギからの増加のばらつきが少なくなるよう変化量を決定してもよい。また、変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動時間からの遅延のばらつき及び平均が少なくなるよう変化量を決定してもよい。また、変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定移動距離からの延長のばらつき及び平均が少なくなるよう変化量を決定してもよい。また変化量決定部203は、協調モデル10からの出力により、制御対象エージェント及び他のエージェントの予定使用エネルギからの増加のばらつき及び平均が少なくなるよう変化量を決定してもよい。
【0072】
変化量決定部203は、増加するコストを任意に選択できるが、ユーザがどのコストを優先するかどうかを指定してもよく、エージェントごとに優先するコストが指定されていてもよい。
【0073】
変化量決定部203が決定する変化量は、制御対象エージェントを移動させること、又はさせないことを決定する0/1のいずれかであってもよく、0~1の間の値である移動量に適用する重みであってもよい。
【0074】
動作制御部204は、移動決定部202が決定した制御対象のエージェントの移動に関する情報に、変化量決定部203が決定した変化量を適用することで、制御対象のエージェントの動作を制御する。
【0075】
例えば、変化量決定部203が決定した変化量が0であれば、動作制御部204は、制御対象のエージェントを停止させるよう制御する。また例えば、移動決定部202が決定した制御対象のエージェントの移動に関する情報が西の方向に1メートル進むことであり、変化量決定部203が決定した変化量が0.5であれば、動作制御部204は、制御対象のエージェントを西の方向に0.5メートル進むよう制御する。また例えば、移動決定部202が決定した制御対象のエージェントの移動に関する情報が西の方向に1秒間で10メートル進むことであり、変化量決定部203が決定した変化量が0.1であれば、動作制御部204は、制御対象のエージェントを西の方向に10秒間で10メートル進むよう制御する。
【0076】
動作制御部204は、制御対象のエージェントの動作を制御する際に、協調モデル10に第1観測セットのみを入力した場合の協調モデル10の出力により、制御対象のエージェントが移動に要する代償を負うか否かを決定してもよい。
【0077】
エージェント制御装置2は、係る構成を有することで、エージェントが複数存在する環境において、特定のエージェントが極端に遅延するという状況を回避するためのエージェントの移動の制御が可能となる。
【0078】
次に、学習装置1の作用について説明する。
【0079】
図7は、学習装置1による学習処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から学習プログラムを読み出して、RAM13に展開して実行することにより、学習処理が行われる。
【0080】
CPU11は、ステップS101において、協調モデル10の学習のために取得した第1観測セット及び第2観測セットを協調モデル10に入力する。
【0081】
ステップS101に続いて、CPU11は、ステップS102において、協調モデル10からの出力を用いて協調モデル10を強化学習する。協調モデル10の学習処理の例は、上述の学習部102の処理で説明したため、詳細については省略するが、CPU11は、得られる報酬が最大化するように協調モデル10を強化学習する。
【0082】
次に、エージェント制御装置2の作用について説明する。
【0083】
図8は、エージェント制御装置2によるエージェント制御処理の流れを示すフローチャートである。CPU21がROM22又はストレージ24からエージェント制御プログラムを読み出して、RAM23に展開して実行することにより、エージェント制御処理が行われる。
【0084】
CPU21は、ステップS111において、各エージェントから第1観測セット及び第2観測セットを取得し、取得した第1観測セット及び第2観測セットを移動モデル20に入力し、移動モデル20からの出力を用いて、制御対象エージェントの移動に関する情報を決定する。
【0085】
ステップS111に続いて、CPU21は、ステップS112において、取得した第1観測セット及び第2観測セットを協調モデル10に入力し、協調モデル10からの出力を用いて、制御対象エージェントの移動に関する情報に対する変化量を決定する。
【0086】
ステップS112に続いて、CPU21は、ステップS113において、ステップS111で決定した制御対象エージェントの移動に関する情報に、ステップS112で決定した変化量を適用して、制御対象エージェントの移動を制御する。
【0087】
続いて、エージェント制御装置2によるエージェントの移動の制御の具体例を説明する。
【0088】
図9図14は、エージェント制御装置2によるエージェントの移動の制御の具体例を説明する図である。図9図14には、交差点付近を移動するエージェントA1、A2の移動の制御の例が示されている。図9図14における符号G1は、エージェントA1の目的地点であり、符号G2は、エージェントA2の目的地点である。なお、図9図14では、説明を簡素化するために2つのエージェントA1、A2のみを示しているが、3つ以上のエージェントが存在する場合であっても、同様にエージェントの移動の制御が可能である。
【0089】
例えば図9のように、交差点の近傍にエージェントA1、A2が存在しており、エージェントA1、A2がそのまま、それぞれ目的地点G1、G2に向かって移動すると、エージェントA1、A2が衝突する可能性がある。図10は、エージェントA1、A2が接近している状態を示している。従って、エージェント制御装置2は、エージェントA1、A2の衝突を回避するようにエージェントA1、A2の動作を制御する必要がある。
【0090】
ここで、エージェント制御装置2は、エージェントA1、A2が目的地点G1、G2に遅延のばらつきが少なく到達するよう、又は、遅延のばらつき及び平均が少なく到達するよう、移動モデル20の出力に、協調モデル10の出力を適用して、エージェントA1、A2の動作を制御する。例えば、エージェントA2をその場で待機させて、エージェントA1を先に通過させると、エージェントA1は目的地点G1へ予定通り到達できるが、エージェントA2が目的地点G2への到達が遅れてしまうが、エージェントA1をその場で待機させて、エージェントA2を先に通過させると、エージェントA1、A2が共に目的地点への到達が遅れる場合、エージェント制御装置2は、エージェントA1をその場で待機させて、エージェントA2を先に通過させるよう、エージェントA1、A2の動作を制御する。
【0091】
図11は、エージェント制御装置2の制御によって、エージェントA1はその場で待機し、エージェントA2はエージェントA1を回避するよう、目的地点G2へ向かって移動している様子を示している。
【0092】
図12は、エージェント制御装置2の制御によって、エージェントA2が通過した後に、エージェントA1が移動を開始して、目的地点G1へ向かって移動している様子を示している。
【0093】
図13は、エージェント制御装置2の制御によって、エージェントA2が目的地点G2に到達している様子を示している。この時点で、既にエージェントA2が目的地点G2の予定到達時刻から遅れているとする。
【0094】
図14は、エージェント制御装置2の制御によって、エージェントA1も目的地点G1に到達している様子を示している。この時点で、エージェントA1も目的地点G1の予定到達時刻から遅れているとする。
【0095】
エージェント制御装置2は、このように協調モデル10及び移動モデル20の出力を用いることで、各エージェントの移動に要するコストのばらつきが少なくなるよう、又は、要するコストのばらつきと平均が少なくなるよう、エージェントの移動を制御することができる。
【0096】
以上、添付図面を参照しながら本開示の実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらの変更例または修正例についても、当然に本開示の技術的範囲に属するものと了解される。
【0097】
また、上記実施形態において記載された効果は、説明的又は例示的なものであり、上記実施形態において記載されたものに限定されない。つまり、本開示に係る技術は、上記実施形態において記載された効果とともに、又は上記実施形態において記載された効果に代えて、上記実施形態における記載から、本開示の技術分野における通常の知識を有する者には明らかな他の効果を奏しうる。
【0098】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した学習処理及びエージェント制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、学習処理及びエージェント制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0099】
また、上記各実施形態では、学習処理及びエージェント制御処理のプログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0100】
本開示の適用例を示す。本開示は、救助ロボットに適用可能であり、例えば大規模災害時において複数の救助ロボットが複数の被災者を救出するときに、救助ロボットを被災者の元に遅延を少なくかつ複数の被災者に対して遅れのばらつきを少なく到達させる制御ができるため、一刻を争う複数の人命救助に有効に作用する。また、本開示は、モバイルロボットを用いた自動倉庫に適用可能であり、複数のモバイルロボットを用いて商品を取り出す工程において、遅延とばらつきを少なくすることにより時間、モバイルロボットのエネルギ消費量の効率を向上させられる。また、本開示は、料理ロボット、薬品の調合ロボット(特に双腕ロボット)に適用可能であり、ロボットの腕の衝突を回避しながら行う材料の調合やそのタイミングのばらつきを少なくすることに効果を発揮する。また、本開示は、ドローン、自動運転車両のように自律的に動く機械に適用可能である。
【符号の説明】
【0101】
1 学習装置
2 エージェント制御装置
10 協調モデル
20 移動モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14