JPWO2018110314A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JPWO2018110314A1
JPWO2018110314A1 JP2018556570A JP2018556570A JPWO2018110314A1 JP WO2018110314 A1 JPWO2018110314 A1 JP WO2018110314A1 JP 2018556570 A JP2018556570 A JP 2018556570A JP 2018556570 A JP2018556570 A JP 2018556570A JP WO2018110314 A1 JPWO2018110314 A1 JP WO2018110314A1
Authority
JP
Japan
Prior art keywords
agent
work
information processing
unit
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2018556570A
Other languages
English (en)
Inventor
淳史 野田
泰史 田中
由幸 小林
英行 松永
慎吾 高松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2018110314A1 publication Critical patent/JPWO2018110314A1/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • G05B19/4187Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow by tool management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39117Task distribution between involved manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39167Resources scheduling and balancing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本技術は、スキルが異なるエージェントが協調して効率的にタスクを実行することができるようにする情報処理装置及び情報処理方法に関する。情報処理装置は、2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を含む。情報処理方法は、2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを含む。本技術は、例えば、複数のエージェントが協調してタスクを行うエージェントシステムに適用できる。

Description

本技術は、情報処理装置及び情報処理方法に関し、特に、複数のエージェントが協調してタスクを実行する場合に用いて好適な情報処理装置及び情報処理方法に関する。
従来、ディープラーニングを用いて、複数のアーム型のロボットにより物体を掴む動作を学習する技術が開示されている(例えば、非特許文献1参照)。
しかしながら、非特許文献1に記載の発明では、全てのロボットが同じモデルであると仮定して、共通のポリシーを学習しており、スキルが異なるロボットが協調してタスクを行うことは考慮されていない。
そこで、本技術は、スキルが異なるエージェント(例えば、ロボット等)が協調して効率的にタスクを実行できるようにするものである。
本技術の一側面の情報処理装置は、2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を備える。
タスク及びエージェントのうち少なくとも1つに関する情報の提示を制御する提示制御部をさらに設けることができる。
前記提示制御部には、前記タスクの効率化が可能なエージェントのスキルの提示を制御させることができる。
前記提示制御部には、前記タスクに必要なスキルの提示を制御させることができる。
提示制御部には、前記タスクを実行するエージェントのスキルの提示を制御させることができる。
前記提示制御部には、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御させることができる。
実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部をさらに設けることができる。
前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部をさらに設けることができる。
前記学習部には、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行わせることができる。
前記学習部には、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行わせることができる。
前記学習部には、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行わせることができる。
各前記エージェントの前記スキルモデルを受信する通信部をさらに設けることができる。
前記分配部には、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てさせることができる。
前記分配部には、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てさせることができる。
前記分配部には、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てさせることができる。
タスクを実行する実行部をさらに設け、2以上の前記エージェントには、前記情報処理装置を含ませることができる。
本技術の一側面の情報処理方法は、2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを含む。
本技術の一側面においては、2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部が前記エージェントに割り当てられる。
本技術の一側面によれば、スキルが異なるエージェントが協調してタスクを実行することができる。特に、本技術の一側面によれば、スキルが異なるエージェントが協調して効率的にタスクを実行することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用したエージェントシステムの第1の実施の形態を示すブロック図である。 図1の指示エージェントの構成例を示すブロック図である。 スキルモデルの例を示す図である。 タスクテーブルの例を示す図である。 作業履歴マップの例を示す図である。 図1の作業エージェントの構成例を示すブロック図である。 指示エージェントの処理を説明するためのフローチャートである。 図1のエージェントシステムの処理を説明するためのフロー図である。 作業指示処理の詳細を説明するためのフローチャートである。 作業分担の方法を説明するための図である。 提示される情報の第1の例を示す図である。 提示される情報の第2の例を示す図である。 提示される情報の第3の例を示す図である。 学習処理の詳細を説明するためのフローチャートである。 スキルの第1の定義方法を示す図である。 スキルの第2の定義方法を示す図である。 スキルの第3の定義方法を示す図である。 スキル群の更新方法を説明するための図である。 スキルモデルの学習方法を説明するための図である。 作業エージェントの処理を説明するためのフローチャートである。 本技術を適用したエージェントシステムの第2の実施の形態を示すブロック図である。 図21の作業エージェントの構成例を示すブロック図である。 図21のエージェントシステムの処理を説明するためのフロー図である。 コンピュータの構成例を示すブロック図である。
以下、発明を実施するための形態(以下、「実施形態」と記述する)について図面を用いて詳細に説明する。なお、説明は以下の順序で行う。
1.第1の実施形態(指示エージェントが存在する場合)
2.第2の実施形態(指示エージェントが存在しない場合)
3.変形例
4.応用例
<<1.第1の実施形態>>
まず、図1乃至図20を参照して、本技術の第1の実施形態について説明する。
<エージェントシステム10の構成例>
図1は、本技術を適用したエージェントシステム10の構成例を示している。
エージェントシステム10は、指示エージェント11及び作業エージェント12−1乃至作業エージェント12−nを備え、各エージェントが協調して各種のタスクを実行するシステムである。エージェントシステム10は、現実世界、又は、コンピュータシミュレーション等の仮想世界のいずれにおいても実現され得る。
ここで、エージェントとは、ソフトウエア、ハードウエア等を用いて各種のタスクを実行する現実又は仮想の存在のことである。例えば、エージェントがロボットである場合、現実に存在するロボットだけでなく、コンピュータによるシミュレーション等で仮想的に存在するロボットも、エージェントに含まれる。また、エージェントには、人等の生物も含まれ得る。
また、エージェントシステム10が実行するタスクに特に制限はなく、エージェントシステム10は、任意のタスクを実行することができる。
指示エージェント11は、与えられたタスクを実行するために、各作業エージェント12に指示を出すエージェントである。
作業エージェント12−1乃至作業エージェント12−nは、指示エージェント11からの指示に従って、協調してタスクを実行するエージェントである。なお、作業エージェント12−1乃至作業エージェント12−nの数は、2以上の任意の数に設定することができる。また、作業エージェント12−1乃至作業エージェント12−nには、個体差があり、スキルが異なる少なくとも2種類のエージェントが含まれる。
なお、以下、作業エージェント12−1乃至作業エージェント12−nを個々に区別する必要がない場合、単に作業エージェント12と称する。
また、以下、主に、指示エージェント11及び各作業エージェント12が、コンピュータ等によるシミュレーションにより仮想的に存在するロボットである場合を例に挙げて説明する。
<指示エージェント11の構成例>
図2は、指示エージェント11の機能の構成例を示している。指示エージェント11は、情報取得部51、通信部52、情報処理部53、提示部54、及び、記憶部55を備える。
情報取得部51は、例えば、各種のセンサ、各種の入力デバイス等の外部からの情報を取得可能なデバイス等を備え、外部から各種の情報を取得する。情報取得部51は、取得した情報を情報処理部53に供給する。
通信部52は、例えば、任意の方式の通信デバイス等を備え、各作業エージェント12と通信を行う。通信部52は、各作業エージェント12から受信したデータを情報処理部53に供給する。また、通信部52は、各作業エージェント12に送信するデータを情報処理部53から取得する。
情報処理部53は、例えば、プロセッサ等の情報処理を行うデバイス等を備え、指示エージェント11の各種の情報処理を行う。情報処理部53は、分配部61、提示制御部62、及び、学習部63を備える。
分配部61は、情報取得部51及び通信部52を介して、外部及び各作業エージェント12から取得した情報に基づいて、各作業エージェント12が実行するタスクの分配を行う。また、分配部61は、通信部52を介して、各作業エージェント12に割り当てたタスクの実行を指示する。
提示制御部62は、提示部54による画像、音声、光等による各種の情報の提示を制御する。
学習部63は、タスクの分配に用いるデータの学習を行う。例えば、学習部63は、スキルモデル、スキル群、及び、タスクテーブルの学習を行う。
スキルモデルは、各作業エージェント12のスキルを示すモデルである。例えば、学習部63は、各作業エージェント12のスキルモデルを外部(例えば、ユーザ)から取得し、学習処理により適宜更新する。
図3は、作業エージェントA及び作業エージェントBのスキルモデルをレーダーチャートにより表した例を示している。この例では、パワー、スピード、慎重性を含む各種のスキルのレベルが数値により表されている。
スキル群は、スキルモデルを定義するスキルの種類を表すデータである。例えば、学習部63は、スキル群を外部(例えば、ユーザ)から取得し、学習処理により適宜更新する。
タスクテーブルは、各タスクに必要なスキルを示すデータである。図4は、タスクテーブルの例を示している。タスクテーブルには、各作業エージェント12が実行可能なタスクが登録されている。また、各タスクを実行するのに必要な各スキルのレベルが示されている。例えば、「扉を塞いでいる物をどかす」というタスクには、パワーがレベル5以上、スピードがレベル2以上、慎重性がレベル1以上必要であることが示されている。例えば、学習部63は、タスクテーブルを外部(例えば、ユーザ)から取得し、学習処理により適宜更新する。
また、学習部63は、各作業エージェント12からの作業報告に基づいて、作業履歴マップを生成する。
図5は、作業履歴マップの例を示している。作業履歴マップは、例えば、状態、アクション、及び、報酬の3軸を有し、各作業エージェント12が実行したアクション、アクションを実行する前の状態(以下、事前状態と称する)、及び、実行したアクションに対する報酬の組合せからなるデータの分布を示す。
提示部54は、例えば、ディスプレイ、スピーカ、発光デバイス等により構成され、画像、音声、光等により各種の情報を提示する。
記憶部55は、例えば、各種の記憶媒体により構成され、指示エージェント11の処理に必要なデータやプログラム等を記憶する。例えば、記憶部55は、各作業エージェント12のスキルモデル、タスクテーブル、作業履歴マップ等を記憶する。
<作業エージェント12の構成例>
図6は、作業エージェント12の機能の構成例を示している。作業エージェント12は、情報取得部101、通信部102、情報処理部103、実行部104、及び、記憶部105を備える。
情報取得部101は、例えば、各種のセンサ、各種の入力デバイス等の外部からの情報を取得可能なデバイス等を備え、外部から各種の情報を取得する。情報取得部101は、取得した情報を情報処理部103に供給する。
通信部102は、例えば、任意の方式の通信デバイス等を備え、指示エージェント11と通信を行う。通信部102は、指示エージェント11から受信したデータを情報処理部103に供給する。また、通信部102は、指示エージェント11に送信するデータを情報処理部103から取得する。
情報処理部103は、例えば、プロセッサ等の情報処理を行うデバイス等を備え、作業エージェント12の各種の情報処理を行う。情報処理部103は、実行制御部111及び学習部112を備える。
実行制御部111は、情報取得部101及び通信部102を介して、外部及び指示エージェント11から取得した情報に基づいて、実行部104によるタスク(より詳細にはタスクを分解したアクション)の実行を制御する。また、実行制御部111は、情報取得部101を介して外部から取得した情報に基づいて、アクションの実行前の状態(事前状態)、及び、アクションの実行後の状態(以下、事後状態と称する)を検出する。さらに、実行制御部111は、情報取得部101又は通信部102等を介して、実行したアクションに対する報酬を取得する。また、実行制御部111は、通信部102を介して、実行したアクションに関する情報を含む作業報告を指示エージェント11に送信する。
学習部112は、情報取得部101及び通信部102を介して、外部及び指示エージェント11から取得した情報に基づいて、タスクの実行方法(例えば、タスクを実行するためのアクションの組合せ等)の学習を行う。
実行部104は、タスク(より詳細には、各種のアクション)を実行するためのデバイス等により構成される。実行部104が実行可能なアクションの種類は、特に限定されない。例えば、平衡系、移動系、操作系といった物理的なアクションだけでなく、思考、計算、分析、創作等の人でいう精神的な活動を行うアクションも含まれる。そして、実行部104が実行可能なアクションの種類やレベルは、作業エージェント12毎に設定される。
記憶部105は、例えば、各種の記憶媒体により構成され、作業エージェント12の処理に必要なプログラムやデータ等を記憶する。
<エージェントシステム10の処理>
次に、図7乃至図20を参照して、エージェントシステム10の処理について説明する。
<指示エージェント11の処理>
まず、図7のフローチャート及び図8のフロー図を参照して、指示エージェント11の処理について説明する。
なお、図8のフロー図は、指示エージェント11、作業エージェントA及び作業エージェントBの2つの作業エージェント12、並びに、世界(現実世界又は仮想世界)間のデータの流れを示している。
ステップS1において、分配部61は、タスクの実行が指示されたか否かを判定する。例えば、ユーザは、エージェントシステム10に実行させるタスクを示すタスク指示情報を指示エージェント11に入力する。分配部61は、情報取得部51を介して、入力されたタスク指示情報を取得した場合、タスクの実行が指示されたと判定し、処理はステップS2に進む。
なお、タスクの指示方法には特に制限はないが、例えば、「災害支援を行う」、「家を建てる」等の比較的抽象的な内容で指示することが可能である。また、一度に複数のタスクを指示することも可能である。
ステップS2において、指示エージェント11は、作業指示処理を実行し、その後、処理はステップS3に進む。
ここで、図9のフローチャートを参照して、作業指示処理の詳細について説明する。
ステップS31において、分配部61は、タスクをサブタスクに分解する。例えば、分配部61は、与えられたタスクを各作業エージェント12に指示することが可能なレベルまで分解する。これにより、与えられたタスクが1以上のサブタスクに分解される。なお、以下、サブタスクに分ける前のタスクをサブタスクと区別する場合、メインタスクと称する。
例えば、「災害支援を行う」というメインタスクが、「扉を塞いでいる物をどかす」、「人を助けに行く」等のサブタスクに分解される。なお、メインタスクが単純な場合、メインタスクとサブタスクが等しくなる場合がある。
このとき、分配部61は、協調してメインタスクを実行する作業エージェント12(以下、実行メンバーと称する)の構成に基づいて、より効率的にメインタスクを実行できるように、メインタスクを適切にサブタスクに分ける。
ステップS32において、分配部61は、記憶部55に記憶されているタスクテーブル(図4)に基づいて、各サブタスクに必要なスキルを求める。
ステップS33において、分配部61は、作業分担を行う。具体的には、分配部61は、各サブタスクに必要なスキルと、記憶部55に記憶されている各作業エージェント12のスキルモデルに基づいて、各作業エージェント12にサブタスク(メインタスクの少なくとも一部)を割り当てる。
例えば、分配部61は、各作業エージェント12のスキルモデルに基づいて、各サブタスクについて、実行可能なスキルを有する作業エージェント12を抽出する。そして、分配部61は、作業の効率や作業時間等を考慮して、各作業エージェント12に割り当てるサブタスクを決定する。
このとき、分配部61は、各作業エージェント12の状態を考慮して、サブタスクを分配してもよい。例えば、分配部61は、各作業エージェント12からの情報に基づいて、各作業エージェント12の位置、及び、サブタスクを実行する場所等を示す探索マップを生成する。そして、分配部61は、各作業エージェント12のスキルモデルに加えて、各作業エージェント12とサブタスクを実行する場所との位置関係により、作業分担を行う。
例えば、図10に示されるように、作業エージェント12−1に対して、近くの現場201−1におけるサブタスクが割り当てられ、作業エージェント12−2に対して、近くの現場201−2におけるサブタスクが割り当てられる。
また、例えば、分配部61は、各作業エージェント12からの情報に基づいて、状態行動対の探索マップを生成する。そして、分配部61は、未探索の状態行動対に対する探索を、その状態に近い作業エージェント12に実行させる。これにより、例えば、エージェントシステムがコンピュータシミュレーションにより実現される場合、多くの種類の状態行動対に対するデータをより迅速に収集し、より迅速にシミュレーションの結果を収束させることができる。
さらに、例えば、分配部61は、与えられたタスク(メインタスク)のコンテキスト(例えば、文脈、状況)に基づいて、作業分担を決定する。例えば、分配部61は、「掃除する」というタスクが与えられた場合、状況に応じて、床掃除を行う作業エージェント12、又は、机の上の掃除を行う作業エージェント12のいずれにサブタスクを割り当てるかを決定する。
ステップS34において、分配部61は、所要時間を計算する。すなわち、分配部61は、各作業エージェント12に割り当てたサブタスク、及び、各作業エージェント12のスキルに基づいて、全てのサブタスクが完了し、メインタスクが完了するまでに必要な時間を計算する。
ステップS35において、提示部54は、提示制御部62の制御の下に、タスクの所要時間等を提示する。ここで、図11乃至図13を参照して、提示される情報の具体例について説明する。なお、図11乃至図13は、エージェントシステム10がコンピュータシミュレーション等の仮想世界において実現される場合に提示される情報の例を示している。
図11のウインドウ211内には、実行メンバーに関する情報(例えば、作業エージェント12の種類、数、及び、スキルモデル)が示されている。具体的には、実行メンバーであるドローン型のロボットA及びヒューマノイド型のロボットBの台数、及び、スキルモデルを示す横棒グラフが示されている。また、メインタスク(全てのサブタスク)に必要な各種のスキルの合計値が示されている。さらに、メインタスク(全てのサブタスク)終了までの所要時間(具体的には、3時間)が示されている。
これにより、ユーザは、実行メンバーの構成、メインタスクのスキル毎の負荷、及び、メインタスクの所要時間等を容易に把握することができる。
図12のウインドウ221は、図11のウインドウ211と比較して、予備メンバー欄222が追加されている点が異なる。
ここで、予備メンバーとは、現時点で実行メンバーではないが、実行メンバーへの追加、又は、実行メンバーとの置き換えが可能な作業エージェント12のことである。
予備メンバー欄222には、予備メンバー(この例では、予備ロボット)の種類及びスキルモデルが示されている。具体的には、円盤型のロボット及びクレーン型のロボットが、予備メンバーに登録され、各ロボットのスキルモデルが示されている。
例えば、ユーザは、予備メンバー欄222内の作業エージェント12をドラックし、予備メンバー欄222の外にドロップすることにより、その作業エージェント12を実行メンバーに追加することができる。また、ユーザは、予備メンバー欄222の外の作業エージェント12をドラッグし、予備メンバー欄222内にドロップすることにより、その作業エージェント12を実行メンバーから外し、予備メンバーにすることができる。
これにより、ユーザは、実行メンバーを容易に変更することができる。また、実行メンバーが変更されると、後述するように変更後の実行メンバーによるメインタスクの所要時間が計算され、ウインドウ221内に表示される。これにより、ユーザは、作業効率の良い適切な実行メンバーを容易に選択することができる。
図13のウインドウ231は、図11のウインドウ211と比較して、推奨スペック欄232が追加されている点が異なる。
推奨スペック欄232には、実行メンバーへの追加を推奨する作業エージェント12のスキルモデルが示されている。換言すれば、推奨スペック欄232には、追加することによりタスクの効率化が可能な作業エージェント12(例えば、タスクの所要時間を大幅に短縮可能な作業エージェント12)のスキルモデルが示されている。また、推奨スペック欄232の下には、推奨スペック欄232に示されるスキルモデルを持つ作業エージェント12を追加した場合、作業時間を削減できる旨を示すメッセージが表示されている。さらに、その下には、推奨する作業エージェント12を実行メンバーに追加する前のメインタスクの所要時間と、追加した後のメインタスクの所用時間が示されている。
これにより、ユーザは、どのようなスキルモデルを持つ作業エージェント12を追加すれば、作業が効率化され、メインタスクの所用時間が短縮されるかを容易に把握することができる。その結果、ユーザは、適切な作業エージェント12を実行メンバーに追加することができる。
図9に戻り、ステップS36において、分配部61は、実行メンバーが変更されたか否かを判定する。例えば、ユーザは、実行メンバーを変更する場合、実行メンバーの変更を指示する実行メンバー変更情報を指示エージェント11に入力する。分配部61は、情報取得部51を介して、入力された実行メンバー変更情報を取得した場合、実行メンバーが変更されたと判定し、処理はステップS31に戻る。
その後、ステップS36において、実行メンバーが変更されなかったと判定されるまで、ステップS31乃至ステップS36の処理が繰り返し実行される。すなわち、実行メンバーが変更される毎に、サブタスクの組合せ及び作業分担が変更され、メインタスクの所用時間が再計算され、メインタスクの所要時間等が再提示される。
一方、ステップS36において、実行メンバーが変更されなかったと判定された場合、処理はステップS37に進む。
ステップS37において、分配部61は、各作業エージェント12に作業を指示する。具体的には、分配部61は、実行を依頼するサブタスクを示す作業指示情報を作業エージェント12毎に生成する。そして、分配部61は、通信部52を介して、各作業エージェント12に作業指示情報を送信する。例えば、図8に示されるように、指示エージェント11から作業エージェントA及び作業エージェントBに作業指示情報が送信される。
その後、作業指示処理は終了する。
図7に戻り、一方、ステップS1において、タスクの実行が指示されていないと判定された場合、ステップS2の処理はスキップされ、処理はステップS3に進む。
ステップS3において、学習部63は、作業エージェント12から作業報告を受信したか否かを判定する。
具体的には、各作業エージェント12は、後述する図20のステップS104において、アクションを実行した後、ステップS107において、実行したアクションに対する作業情報を送信する。作業報告は、実行したアクション、事前状態、事後状態、実行したアクションに対する報酬、及び、その他の情報を含む。
そして、学習部63が、通信部52を介して、作業エージェント12から送信された作業報告を受信したと判定した場合、処理はステップS4に進む。
ステップS4において、学習部63は、学習処理を実行し、その後、処理はステップS1に戻る。
ここで、図14のフローチャートを参照して、学習処理の詳細について説明する。
ステップS61において、学習部63は、作業履歴マップを更新する。具体的には、学習部63は、作業報告に示される、実行したアクション、事前状態、及び、実行したアクションに対する報酬の組合せからなるデータを作業履歴マップに追加する。
ステップS62において、学習部63は、スキル群を更新するか否かを判定する。
ここで、図15乃至図17を参照して、作業履歴マップのうち状態とアクションの2軸からなる空間マップ(以下、状態行動空間マップと称する)におけるスキルの定義方法の例について説明する。なお、状態行動空間マップは、各作業エージェント12からの作業報告に基づいて生成される、状態(事前状態)とアクションの組合せからなるデータの分布を示す。
図15は、アクションのみによりスキルが定義される例を示している。例えば、領域241Aの範囲内に含まれるアクションに対して、パワーが対応付けられている。すなわち、事前状態に関わらず、領域241Aの範囲内に含まれるアクションに必要なスキルが、パワーであると定義されている。例えば、領域241Aの範囲内に含まれるアクションには、物体を持ち上げる、押す、投げる等が含まれる。また、例えば、領域241Bの範囲内に含まれるアクションに対して、スピードが対応付けられている。すなわち、事前状態に関わらず、領域241Bの範囲内に含まれるアクションに必要なスキルが、スピードであると定義されている。
図16は、事前状態とアクションの組合せにより、スキルが定義される例を示している。例えば、領域242Aの範囲内の状態sとアクションaの組合せに対して、パワーが対応付けられている。すなわち、事前状態が領域242Aの範囲内の場合に領域242Aの範囲内のアクションを実行するのに必要なスキルは、パワーであると定義されている。例えば、状態sは、重さが所定の範囲以内の物体が目の前にある状態を含み、アクションaは、物体を持ち上げる、押す、投げる等のアクションを含む。また、例えば、領域242Bの範囲内の状態とアクションの組合せに対して、スピードが対応付けられている。すなわち、事前状態が領域242Bの範囲内の場合に領域242Bの範囲内のアクションを実行するのに必要なスキルは、スピードであると定義されている。
図17は、アクションのみ、又は、事前状態とアクションの組合せにより、スキルが定義される例を示している。例えば、領域243Aの範囲内の状態とアクションの組合せに対して、スピードが対応付けられている。すなわち、事前状態が領域243Aの範囲内の場合に領域243Aの範囲内のアクションを実行するのに必要なスキルは、パワーであると定義されている。また、例えば、領域243Bの範囲内に含まれるアクションに対して、スピードが対応付けられている。すなわち、事前状態に関わらず、領域243Bの範囲内に含まれるアクションに必要なスキルが、スピードであると定義されている。
例えば、学習部63は、作業履歴マップのデータのクラスタリングを行う。そして、例えば、学習部63は、図18に示されるように、クラスタリングの結果を状態行動空間マップに投影した場合に、新たなクラスタ243Cが見つかったとき、スキル群を更新すると判定し、処理はステップS63に進む。なお、他にも、例えば、クラスタの分割、統合、削除等により、クラスタの分布が変化した場合、スキル群を更新すると判定され、処理はステップS63に進む。
ステップS63において、学習部63は、スキル群を更新する。具体的には、学習部63は、状態行動空間マップにおけるクラスタに対応する領域のうち、スキルが割り当てられていない領域に新たなスキルを割り当てる。これにより、クラスタが追加又は分割された場合、スキル群に含まれるスキルの種類が増加する。一方、クラスタが統合又は削除された場合、スキル群に含まれるスキルの種類が減少する。なお、学習部63により設定されるスキルは、必ずしも人間が解釈できるスキルとは限らない。
このように、各作業エージェント12を観測することにより、スキル群が学習される。
その後、処理はステップS64に進む。
一方、ステップS62において、学習部63は、状態行動空間マップのクラスタの分布が変化していない場合、スキル群を更新しないと判定し、ステップS63の処理はスキップされ、処理はステップS64に進む。
ステップS64において、学習部63は、スキルモデル及びタスクテーブルを更新する。具体的には、学習部63は、スキル群を更新した場合、更新したスキル群に合わせて、各作業エージェント12のスキルモデルにおけるスキルの種類を変更する。
また、学習部63は、作業報告を送信してきた作業エージェント12のスキルモデルを更新する。具体的には、学習部63は、状態行動空間マップに基づいて、作業エージェント12が実行したアクション、又は、事前状態とアクションの組み合わせに対して必要なスキルを検出する。
そして、例えば、学習部63は、作業エージェント12が、実行したアクションに対して正の報酬を得ている場合、作業エージェント12のスキルモデルの該当するスキルのレベルを上げる。例えば、図19のAに示されるように、作業エージェント12が、重さxkgの物を持ち上げた場合、スキルモデルのパワーのレベルが上がる。
一方、例えば、学習部63は、作業エージェント12が、実行したアクションに対して負の報酬を得ている場合、作業エージェント12のスキルモデルの該当するスキルのレベルを下げる。例えば、図19のBに示されるように、作業エージェント12が、物を落として壊した場合、スキルモデルの慎重性のレベルが下がる。
また、例えば、学習部63は、作業エージェント12が、実行したアクションに対して報酬を得ていない場合、作業エージェント12のスキルモデルを変更しない。
なお、スキルモデルのレベルには、上限が設けられても、設けられなくてもよい。また、上限が設けられる場合、例えば、各作業エージェント12間で、スキルモデルのレベルを正規化するようにしてもよい。
このように、スキルモデルの学習を行うことにより、各作業エージェント12の強みと弱みが把握される。
また、学習部63は、作業報告に基づいて、必要に応じてタスクテーブルを更新する。例えば、学習部63は、作業エージェント12が新たなサブタスクを実行した場合、そのサブタスクをタスクテーブルに追加する。また、学習部63は、作業エージェント12が実行したサブタスク、及び、作業エージェント12のスキルモデルに基づいて、必要に応じてタスクテーブルの必要スキルの値を更新する。
その後、学習処理は終了する。
図7に戻り、一方、ステップS3において、作業報告を受信していないと判定された場合、処理はステップS1に戻り、ステップS1以降の処理が実行される。
次に、図20のフローチャート及び図8のフロー図を参照して、図7の指示エージェント11の処理に対応して作業エージェント12により実行される処理について説明する。
ステップS101において、実行制御部111は、作業が指示されたか否かを判定する。ステップS101の判定処理は、作業が指示されたと判定されるまで、例えば所定の間隔で繰り返し実行される。そして、実行制御部111は、図9のステップS37において指示エージェント11から送信された作業指示情報を、通信部102を介して受信した場合、作業が指示されたと判定し、処理はステップS102に進む。
ステップS102において、実行制御部111は、次のサブタスクをアクションに分解する。具体的には、実行制御部111は、作業指示情報に示されるサブタスクを実行順に並べた場合に、次に実行するサブタスクを選択する。なお、作業指示情報の受信後の最初のステップS102の処理では、最初に実行されるサブタスクが選択される。
次に、実行制御部111は、選択したサブタスクを、実行部104が実行可能なレベル(実行部104の実行単位)まで分解する。これにより、サブタスクが1以上のアクションに分解される。なお、サブタスクが単純な場合、サブタスクとアクションが等しくなる場合がある。
ステップS103において、実行制御部111は、情報取得部101からの情報に基づいて、アクション実行前の状態(事前状態)を検出する。すなわち、実行制御部111は、アクション実行前の作業エージェント12の周囲の状態、特に、アクションの実行対象となる対象物等の状態を検出する。
このとき、情報取得部101は、作業エージェント12の周囲の状態以外の情報を必要に応じて取得し、情報処理部103に供給する。
ステップS104において、実行部104は、実行制御部111の制御の下に、次のアクションを実行する。具体的には、実行制御部111は、ステップS102の処理で分解されたアクションを実行順に並べた場合に、次に実行するアクションを選択する。なお、サブタスクをアクションに分解した後の最初のステップS104の処理では、最初に実行されるアクションが選択される。
次に、実行制御部111は、実行部104を制御して、選択したアクションを実行させる。
例えば、図8に示されるように、作業エージェントA及び作業エージェントBは、指示エージェント11から受信した作業指示情報に従って、世界(現実世界又は仮想世界)に対してアクションを行う。
ステップS105において、実行制御部111は、情報取得部101からの情報に基づいて、アクション実行後の状態(事後状態)を検出する。すなわち、実行制御部111は、アクション実行後の作業エージェント12の周囲の状態、特に、アクションの実行対象となった対象物等の状態を検出する。
例えば、図8に示されるように、作業エージェントA及び作業エージェントBは、アクションを実行した後の世界(現実世界又は仮想世界)の状態を検出する。
このとき、情報取得部101は、作業エージェント12の周囲の状態以外の情報を必要に応じて取得し、情報処理部103に供給する。
ステップS106において、実行制御部111は、報酬を取得する。ここで、作業エージェント12に報酬を付与する方法には、任意の方法を採用することができる。
例えば、ユーザが明示的に作業エージェント12に報酬を付与するようにしてもよい。
また、例えば、アクションに対する報酬、又は、事前状態とアクションの組み合わせに対する報酬を予め決めておき、アクションが成功又は失敗した場合、自動的に定められた報酬が作業エージェント12に付与されるようにしてもよい。
さらに、例えば、実行制御部111が、事後状態に基づいて報酬を認識するようにしてもよい。例えば、実行制御部111が、アクション実行後のユーザの表情等の反応に基づいて、報酬を認識するようにしてもよい。例えば、実行制御部111は、ユーザがポジティブな反応を示した場合、正の報酬が付与されたと認識し、ユーザがネガティブな反応を示した場合、負の報酬が付与されたと認識する。また、例えば、実行制御部111は、事後状態に基づいて、アクションが成功したと判定した場合、正の報酬が付与されたと認識し、アクションが失敗したと判定した場合、負の報酬が付与されたと認識する。
例えば、図8に示されるように、作業エージェントA及び作業エージェントBは、実行したアクションに対する報酬を世界(現実世界又は仮想世界)から受け取る。
ステップS107において、実行制御部111は、作業報告を送信する。具体的には、実行制御部111は、実行したアクション、事前状態、事後状態、実行したアクションに対する報酬、及び、その他の情報を含む作業報告を生成する。実行制御部111は、通信部102を介して、生成した作業報告を指示エージェント11に送信する。
例えば、図8に示されるように、作業エージェントA及び作業エージェントBは、実行したアクションに対する作業報告を指示エージェント11に送信する。
ステップS108において、実行制御部111は、実行可能なアクションがあるか否かを判定する。実行制御部111は、まだ実行していないアクションがあり、そのアクションが実行可能である場合、実行可能なアクションがあると判定し、処理はステップS103に戻る。
その後、ステップS108において、実行可能なアクションがないと判定されるまで、ステップS103乃至ステップS108の処理が繰り返し実行される。これにより、サブタスクを構成するアクションが順番に実行され、それに対する作業報告が指示エージェント11に送信される。
一方、ステップS108において、実行制御部111は、全てのアクションを実行した場合、又は、まだ実行していないアクションがあるが、実行不能である場合、実行可能なアクションがないと判定し、処理はステップS109に進む。
ステップS109において、実行制御部111は、実行可能なサブタスクがあるか否かを判定する。実行制御部111は、まだ実行していないサブタスクがあり、そのサブタスクが実行可能である場合、実行可能なサブタスクがあると判定し、処理はステップS102に戻る。
その後、ステップS109において、実行可能なサブタスクがないと判定されるまで、ステップS102乃至ステップS109の処理が繰り返し実行される。これにより、指示エージェント11から指示されたタスクが順番に実行される。
一方、ステップS109において、実行制御部111は、全てのサブタスクが完了した場合、又は、まだ実行していないサブタスクがあるが、実行不能である場合、実行可能なサブタスクがないと判定し、処理はステップS110に進む。
ステップS110において、学習部112は、サブタスクの実行方法の学習を行う。例えば、学習部112は、サブタスクを実行するために新たな組合せのアクションを行った場合に大きな報酬が得られたとき(例えば、遅延報酬問題を解いたとき)、そのサブタスクの実行方法として、実行した一連のアクションを記憶部105に記憶させる。例えば、学習部112は、何回かのアクションの結果、物を壊してその先に進むことができ、人の救助が可能になったとした場合、「人の救助をする」というサブタスクに対する1つの実行方法として、物を壊すために取った一連のアクションを記憶部105に記憶させる。
その後、処理はステップS101に戻り、ステップS101以降の処理が実行される。
以上のようにして、指示エージェント11の指示の下に、各作業エージェント12が協調してタスクを実行することができる。また、指示エージェント11は、各作業エージェント12のタスクモデルを学習し、その結果に応じて、適切に各作業エージェント12にタスクを分配するため、作業が効率化される。その結果、作業時間を短縮したり、タスクを実行する作業エージェント12を削減したりすることができる。
<<2.第2の実施形態>>
次に、図21乃至図23を参照して、本技術の第2の実施形態について説明する。
第2の実施の形態では、指示エージェントが存在せず、各作業エージェントが情報を共有して、協調してタスクを実行する。
<エージェントシステム300の構成例>
図21は、本技術を適用したエージェントシステム300の構成例を示している。
エージェントシステム300は、作業エージェント301−1乃至作業エージェント301−3を備える。
なお、以下、作業エージェント301−1乃至作業エージェント301−3を個々に区別する必要がない場合、単に作業エージェント301と称する。
また、図21では、図を分かりやすくするために、エージェントシステム300が、3つの作業エージェント301を備える例を示したが、作業エージェント301の数は2以上の任意の数に設定することが可能である。
<作業エージェント301の構成例>
図22は、作業エージェント301の機能の構成例を示している。
作業エージェント301は、図2の指示エージェント11と図6の作業エージェント12を合わせた機能を備える。従って、作業エージェント301は、他の作業エージェント301にタスクの指示を出しながら、自らもタスクを実行する。
作業エージェント301は、情報取得部351、通信部352、情報処理部353、提示部354、実行部355、及び、記憶部356を備える。
情報取得部351は、指示エージェント11の情報取得部51と作業エージェント12の情報取得部101を合わせた機能を備える。
通信部352は、例えば、任意の方式の通信デバイス等を備え、他の作業エージェント301と通信を行う。通信部352は、他の作業エージェント301から受信したデータを情報処理部353に供給する。また、通信部352は、他の作業エージェント301に送信するデータを情報処理部353から取得する。
情報処理部353は、分配部361、提示制御部362、実行制御部363、及び、学習部364を備える。
分配部361は、指示エージェント11の分配部61と同様の機能を備える。
提示制御部362は、指示エージェント11の提示制御部62と同様の機能を備える。
実行制御部363は、作業エージェント12の実行制御部111と同様の機能を備える。
学習部63は、指示エージェント11の学習部63と作業エージェント12の学習部112を合わせた機能を備える。
提示部354は、指示エージェント11の提示部54と同様の機能を備える。
実行部355は、作業エージェント12の実行部104と同様の機能を備える。
記憶部356は、例えば、各種の記憶媒体により構成され、作業エージェント301の処理に必要なデータやプログラム等を記憶する。
なお、エージェントシステム300において、必ずしも全ての作業エージェントが図22の作業エージェント301により構成されている必要はなく、一部が図6の作業エージェント12により構成されていてもよい。
<エージェントシステム300の処理>
次に、図23のフロー図を参照して、エージェントシステム300の処理について説明する。
図23のフロー図は、作業エージェントA及び作業エージェントBの2つの作業エージェント、並びに、世界(現実世界又は仮想世界)間のデータの流れを示している。この例では、作業エージェントAが指示を出す側となり、作業エージェントBが指示を受ける側となる。従って、作業エージェントAは、図22の作業エージェント301により構成され、作業エージェントBは、図6の作業エージェント12又は図22の作業エージェント301により構成される。
例えば、作業エージェントAと作業エージェントBとは、互いのスキルモデル及び作業情報等の情報を共有する。或いは、少なくとも、作業エージェントAが、作業エージェントBからスキルモデル及び作業情報等の情報を取得する。そして、作業エージェントAは、スキル群、スキルモデル、及び、タスクテーブルの学習、並びに、作業履歴マップの作成を行う。
ここで、作業エージェントBのスキルモデルは、作業エージェントB自身が学習してもよいし、作業エージェントAが学習してもよい。
そして、例えば、ユーザから作業エージェントA又は作業エージェントBに対して、タスク(メインタスク)の実行が指示される。作業エージェントBに対してタスクの実行が指示された場合、作業エージェントBは、その情報を作業エージェントAに送信する。
作業エージェントAは、メインタスクをサブタスクに分解し、一部のサブタスクの実行を作業エージェントBに指示し、残りを自ら実行する。すなわち、作業エージェントAは、サブタスクをさらに分解したアクションを実行する。また、作業エージェントAは、事前状態、事後状態、及び、その他の情報の検出を行い、アクションに対する報酬を取得する。
作業エージェントBは、作業エージェントAから指示されたサブタスクをアクションに分解し、実行する。また、作業エージェントBは、事前状態、事後状態、及び、その他の情報の検出を行い、アクションに対する報酬を取得する。
そして、作業エージェントAと作業エージェントBは、情報を共有する。例えば、作業エージェントAと作業エージェントBは、お互いに作業報告を交換する。或いは、作業エージェントBのみが、作業エージェントAに作業報告を送信する。
そして、作業エージェントAは、スキル群、スキルモデル、タスクテーブルの学習を行う。
以下、同様の処理が繰り返される。
以上のようにして、各作業エージェント301が情報を共有しながら、協調してタスクを実行することができる。また、各作業エージェント301のタスクモデルが学習され、その結果に応じて、適切に各作業エージェント301にタスクが割り振られるため、作業が効率化される。その結果、作業時間を短縮したり、タスクを実行する作業エージェント301を削減したりすることができる。
<<3.変形例>>
以下、上述した本技術の実施の形態の変形例について説明する。
例えば、図1のエージェントシステム10において、指示エージェント11の機能の一部を作業エージェント12に設けたり、作業エージェント12の機能の一部を指示エージェント11に設けたりすることが可能である。
例えば、各作業エージェント12が、自己のスキルモデルを学習し、学習したスキルモデルを指示エージェント11に送信するようにしてもよい。
また、例えば、指示エージェント11が、サブタスクをアクションに分解し、アクション単位で作業エージェント12に指示を行うようにしてもよい。
さらに、例えば、エージェントシステム10において、各作業エージェント12が互いに通信を行うようにし、情報の共有等を行うようにしてもよい。
また、以上の説明では、各作業エージェント12が、アクションを1つ実行する毎に指示エージェント11に作業報告を行うようにしたが、必ずしもアクション毎に作業報告を行う必要はない。例えば、各作業エージェント12が、複数のアクションを実行する毎、或いは、サブタスクを実行する毎に作業報告を行うようにしてもよい。
また、例えば、作業エージェント12の一部又は全部が人間に置き換わった場合にも、指示エージェント11は、同様の処理により、各人間、又は、各人間と各作業エージェント12のスキルモデルを学習し、作業分担を行うことが可能である。
さらに、図11乃至図13の提示内容の一部又は全部を、相互に組み合わせることが可能である。
また、例えば、スキル群を定義するスキルが新たに追加された場合、図13の推奨スペック欄232において、追加されたスキルを提示するようにしてもよい。これにより、ユーザは、新たに追加されたスキルを有するエージェントを実行メンバーに容易に追加することができ、作業の効率化が実現される。
さらに、図21のエージェントシステム300において、例えば、各作業エージェント301が、自律的に行動するようにしてもよい。
例えば、各作業エージェント301間で各作業エージェント301のスキルモデル及び状態等の情報を共有する。そして、例えば、各作業エージェント301のうち少なくとも1つにタスクが与えられた場合、タスクが与えられた作業エージェント301が、与えられたタスクを自分で実行した方が効率的な場合、自分でそのタスクを実行する。一方、タスクが与えられた作業エージェント301が、与えられたタスクを実行できない場合、他の作業エージェント301が実行した方が効率的な場合、又は、他の作業エージェント301と協力した方が効率的な場合、他の作業エージェント301にタスクの全部又は一部の実行を依頼する。
これにより、各作業エージェント301が、自律的かつ協調して効率的にタスクを実行することができる。
<<4.応用例>>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロフォンなどよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記憶部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、複数のコンピュータが連携して上述した処理を行うようにしてもよい。そして、上述した処理を行う単数又は複数のコンピュータにより、コンピュータシステムが構成される。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、例えば、本技術は以下のような構成も取ることができる。
(1)
2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を
備える情報処理装置。
(2)
タスク及びエージェントのうち少なくとも1つに関する情報の提示を制御する提示制御部を
さらに備える前記(1)に記載の情報処理装置。
(3)
前記提示制御部は、前記タスクの効率化が可能なエージェントのスキルの提示を制御する
前記(2)に記載の情報処理装置。
(4)
前記提示制御部は、前記タスクに必要なスキルの提示を制御する
前記(2)又は(3)に記載の情報処理装置。
(5)
提示制御部は、前記タスクを実行するエージェントのスキルの提示を制御する
前記(2)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記提示制御部は、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御する
前記(5)に記載の情報処理装置。
(7)
実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部を
さらに備える前記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)
前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部を
さらに備える前記(7)に記載の情報処理装置。
(9)
前記学習部は、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行う
前記(8)に記載の情報処理装置。
(10)
前記学習部は、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行う
前記(8)又は(9)に記載の情報処理装置。
(11)
前記学習部は、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行う
前記(8)乃至(10)のいずれかに記載の情報処理装置。
(12)
各前記エージェントの前記スキルモデルを受信する通信部を
さらに備える前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
前記分配部は、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てる
前記(1)乃至(12)のいずれかに記載の情報処理装置。
(14)
前記分配部は、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てる
前記(1)乃至(13)のいずれかに記載の情報処理装置。
(15)
前記分配部は、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てる
前記(14)に記載の情報処理装置。
(16)
タスクを実行する実行部を
さらに備え、
2以上の前記エージェントは、前記情報処理装置を含む
前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを
含む情報処理方法。
10 エージェントシステム, 11 指示エージェント, 12−1乃至12−n 作業エージェント, 51 情報取得部, 52 通信部, 53 情報処理部, 54 提示部, 61 分配部, 62 提示制御部, 63 学習部, 101 情報取得部, 102 通信部, 103 情報処理部, 104 実行部, 111 実行制御部, 112 学習部, 300 エージェントシステム, 301−1乃至301−3 作業エージェント, 351 情報取得部, 352 通信部, 353 情報処理部, 354 提示部, 361 分配部, 362 提示制御部, 363 実行制御部, 364 学習部

Claims (17)

  1. 2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配部を
    備える情報処理装置。
  2. タスク及びエージェントのうち少なくとも1つに関する情報の提示を制御する提示制御部を
    さらに備える請求項1に記載の情報処理装置。
  3. 前記提示制御部は、前記タスクの効率化が可能なエージェントのスキルの提示を制御する
    請求項2に記載の情報処理装置。
  4. 前記提示制御部は、前記タスクに必要なスキルの提示を制御する
    請求項2に記載の情報処理装置。
  5. 提示制御部は、前記タスクを実行するエージェントのスキルの提示を制御する
    請求項2に記載の情報処理装置。
  6. 前記提示制御部は、追加又は置き換えが可能なエージェントのスキルの提示をさらに制御する
    請求項5に記載の情報処理装置。
  7. 実行したアクション、前記アクションの実行前の状態、及び、前記アクションに対する報酬を含む情報である作業報告を各前記エージェントから受信する通信部を
    さらに備える請求項1に記載の情報処理装置。
  8. 前記作業報告に基づいて、タスクの分配に用いるデータの学習を行う学習部を
    さらに備える請求項7に記載の情報処理装置。
  9. 前記学習部は、前記作業報告に基づいて生成される状態とアクションの組合せからなるデータの分布をクラスタリングした結果に基づいて、前記スキルモデルを定義するスキルの種類の学習を行う
    請求項8に記載の情報処理装置。
  10. 前記学習部は、前記作業報告に基づいて、各タスクに必要なスキルを示すデータの学習を行う
    請求項8に記載の情報処理装置。
  11. 前記学習部は、前記作業報告に基づいて、各前記エージェントの前記スキルモデルの学習を行う
    請求項8に記載の情報処理装置。
  12. 各前記エージェントの前記スキルモデルを受信する通信部を
    さらに備える請求項1に記載の情報処理装置。
  13. 前記分配部は、さらに各前記エージェントの状態に基づいて、前記タスクの少なくとも一部を前記エージェントに割り当てる
    請求項1に記載の情報処理装置。
  14. 前記分配部は、前記タスクを複数のサブタスクに分け、前記サブタスクを前記エージェントに割り当てる
    請求項1に記載の情報処理装置。
  15. 前記分配部は、さらに前記サブタスクを前記エージェントの実行単位であるアクションに分け、前記アクションを前記エージェントに割り当てる
    請求項14に記載の情報処理装置。
  16. タスクを実行する実行部を
    さらに備え、
    2以上の前記エージェントは、前記情報処理装置を含む
    請求項1に記載の情報処理装置。
  17. 2以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを
    含む情報処理方法。
JP2018556570A 2016-12-16 2017-12-01 情報処理装置及び情報処理方法 Ceased JPWO2018110314A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016244046 2016-12-16
JP2016244046 2016-12-16
PCT/JP2017/043235 WO2018110314A1 (ja) 2016-12-16 2017-12-01 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JPWO2018110314A1 true JPWO2018110314A1 (ja) 2019-10-24

Family

ID=62558470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018556570A Ceased JPWO2018110314A1 (ja) 2016-12-16 2017-12-01 情報処理装置及び情報処理方法

Country Status (4)

Country Link
US (1) US20190308317A1 (ja)
EP (1) EP3557417A4 (ja)
JP (1) JPWO2018110314A1 (ja)
WO (1) WO2018110314A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11024189B2 (en) * 2016-12-23 2021-06-01 BetterUp, Inc. Virtual coaching platform
CN112714919A (zh) * 2018-09-24 2021-04-27 松下知识产权经营株式会社 用于提供针对道路共享的支持动作的系统和方法
JP2020121381A (ja) * 2019-01-31 2020-08-13 セイコーエプソン株式会社 機械学習器、ロボットシステム、及び機械学習方法
US20220172107A1 (en) * 2020-12-01 2022-06-02 X Development Llc Generating robotic control plans
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006007341A (ja) * 2004-06-23 2006-01-12 Mitsubishi Heavy Ind Ltd 通信方法、並びにロボットのタスク実行方法及び該システム
JP2007052683A (ja) * 2005-08-19 2007-03-01 Matsushita Electric Ind Co Ltd タスク分配システム、エージェントおよびタスク分配方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
US8428777B1 (en) * 2012-02-07 2013-04-23 Google Inc. Methods and systems for distributing tasks among robotic devices
JP2014130520A (ja) * 2012-12-28 2014-07-10 International Business Maschines Corporation リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム
US9561590B1 (en) * 2013-06-24 2017-02-07 Redwood Robotics, Inc. Distributed system for management and analytics of robotics devices
JP2016190315A (ja) * 2015-03-30 2016-11-10 株式会社トヨタプロダクションエンジニアリング プログラム作成支援方法およびプログラム作成支援装置ならびにプログラム
JP6532279B2 (ja) * 2015-04-28 2019-06-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置
US9821455B1 (en) * 2015-08-08 2017-11-21 X Development Llc Replacing a first robot with a second robot during performance of a task by the first robot
US10430744B2 (en) * 2015-08-21 2019-10-01 Autodesk, Inc. Robot service platform
US9965730B2 (en) * 2016-08-23 2018-05-08 X Development Llc Autonomous condensing of pallets of items in a warehouse

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006007341A (ja) * 2004-06-23 2006-01-12 Mitsubishi Heavy Ind Ltd 通信方法、並びにロボットのタスク実行方法及び該システム
JP2007052683A (ja) * 2005-08-19 2007-03-01 Matsushita Electric Ind Co Ltd タスク分配システム、エージェントおよびタスク分配方法

Also Published As

Publication number Publication date
EP3557417A1 (en) 2019-10-23
EP3557417A4 (en) 2020-03-25
WO2018110314A1 (ja) 2018-06-21
US20190308317A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
WO2018110314A1 (ja) 情報処理装置及び情報処理方法
Demir et al. Understanding human-robot teams in light of all-human teams: Aspects of team interaction and shared cognition
Wang et al. Healthedge: Task scheduling for edge computing with health emergency and human behavior consideration in smart homes
Tran et al. A novel Multiple Objective Symbiotic Organisms Search (MOSOS) for time–cost–labor utilization tradeoff problem
Hamad et al. Genetic-based task scheduling algorithm in cloud computing environment
CN109155743A (zh) 使用机器学习算法来满足sla要求的系统和方法
JP7316453B2 (ja) オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体
Kolling et al. Towards human control of robot swarms
CN108234589A (zh) 微服务应用的自动缩放
US10220517B2 (en) System, method and computer program product for controlling a mission-oriented robot based on a user's emotional state
Mechalikh et al. PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments
US10477025B1 (en) Utilizing machine learning with call histories to determine support queue positions for support calls
JP2018506801A (ja) ヘルスケアコンサルタント及び病院管理者が病院のための最適な人的資源プランを決定するのを助ける、シミュレーションに基づくシステム及び方法
Leite Long-term interactions with empathic social robots
Mościcki et al. Processing moldable tasks on the grid: Late job binding with lightweight user-level overlay
Talamali et al. Improving collective decision accuracy via time-varying cross-inhibition
US20190220792A1 (en) Genetic smartjobs scheduling engine
JP2015166975A (ja) 注釈情報付与プログラム及び情報処理装置
Heard et al. SAHRTA: A supervisory-based adaptive human-robot teaming architecture
Da Silva et al. Production scheduling of assembly fixtures in the aeronautical industry
CN113033806B (zh) 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法
Gram-Hansen et al. Hijacking malaria simulators with probabilistic programming
Vahora et al. Cloudsim-a survey on vm management techniques
EP3572987A1 (en) Information processing device and information processing method
Samad et al. A multi-agent framework for cloud-based management of collaborative robots

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20221025