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

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

Info

Publication number
WO2018110314A1
WO2018110314A1 PCT/JP2017/043235 JP2017043235W WO2018110314A1 WO 2018110314 A1 WO2018110314 A1 WO 2018110314A1 JP 2017043235 W JP2017043235 W JP 2017043235W WO 2018110314 A1 WO2018110314 A1 WO 2018110314A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
work
information processing
task
unit
Prior art date
Application number
PCT/JP2017/043235
Other languages
English (en)
French (fr)
Inventor
淳史 野田
泰史 田中
由幸 小林
英行 松永
慎吾 高松
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to EP17879697.5A priority Critical patent/EP3557417A4/en
Priority to US16/467,597 priority patent/US20190308317A1/en
Priority to JP2018556570A priority patent/JPWO2018110314A1/ja
Publication of WO2018110314A1 publication Critical patent/WO2018110314A1/ja

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]

Definitions

  • the present technology relates to an information processing apparatus and an information processing method, and more particularly, to an information processing apparatus and an information processing method suitable for use when a plurality of agents execute a task in cooperation.
  • Non-Patent Document 1 a technique for learning an operation of grasping an object by a plurality of arm-type robots using deep learning has been disclosed (for example, see Non-Patent Document 1).
  • Non-Patent Document 1 it is assumed that all robots have the same model and learn a common policy, and it is considered that robots with different skills perform tasks together. Absent.
  • the present technology enables agents (for example, robots) having different skills to perform tasks efficiently in cooperation.
  • An information processing apparatus includes a distribution unit that assigns at least a part of a task to the agent based on a skill model indicating skills of two or more agents.
  • the presentation control unit can control the presentation of the skill of an agent that can improve the efficiency of the task.
  • the presentation control unit can control the presentation of skills necessary for the task.
  • the presentation control unit can control the presentation of the skill of the agent that performs the task.
  • the presentation control unit can further control the presentation of agent skills that can be added or replaced.
  • a communication unit for receiving a work report, which is information including an executed action, a state before execution of the action, and a reward for the action from each agent.
  • a learning unit for learning data used for task distribution based on the work report can be further provided.
  • the learning unit can perform learning of a skill type defining the skill model based on a result of clustering a distribution of data including combinations of states and actions generated based on the work report. .
  • the learning unit can learn data indicating skills necessary for each task based on the work report.
  • the learning unit can learn the skill model of each agent based on the work report.
  • a communication unit for receiving the skill model of each agent can be further provided.
  • the distribution unit can further assign at least a part of the task to the agent based on the state of each agent.
  • the distribution unit can divide the task into a plurality of subtasks and assign the subtasks to the agents.
  • the distribution unit can further divide the subtasks into actions that are execution units of the agent and assign the actions to the agents.
  • An execution unit for executing a task may be further provided, and the two or more agents may include the information processing apparatus.
  • the information processing method includes a distribution step in which at least a part of a task is allocated to the agent based on a skill model indicating the skills of two or more agents.
  • At least a part of a task is assigned to the agent based on a skill model indicating the skills of two or more agents.
  • agents with different skills can execute tasks in cooperation.
  • agents having different skills can execute tasks efficiently in cooperation.
  • FIG. 1 shows a configuration example of an agent system 10 to which the present technology is applied.
  • the agent system 10 includes an instruction agent 11 and work agents 12-1 to 12-n, and each agent executes various tasks in cooperation with each other.
  • the agent system 10 can be realized in either the real world or a virtual world such as computer simulation.
  • an agent is a real or virtual entity that executes various tasks using software, hardware, or the like.
  • the agent is a robot, not only a robot that actually exists, but also a robot that virtually exists by a computer simulation or the like is included in the agent.
  • Agents can also include living organisms such as humans.
  • the agent system 10 can execute arbitrary tasks.
  • the instruction agent 11 is an agent that issues an instruction to each work agent 12 in order to execute a given task.
  • the work agent 12-1 to the work agent 12-n are agents that execute tasks in cooperation with instructions from the instruction agent 11.
  • the number of work agents 12-1 to 12-n can be set to an arbitrary number of 2 or more. Further, the work agents 12-1 to 12-n include at least two types of agents having individual differences and different skills.
  • work agents 12-1 to 12-n are simply referred to as work agents 12 when it is not necessary to distinguish them individually.
  • FIG. 2 shows a functional configuration example of the instruction agent 11.
  • the instruction agent 11 includes an information acquisition unit 51, a communication unit 52, an information processing unit 53, a presentation unit 54, and a storage unit 55.
  • the information acquisition unit 51 includes, for example, devices that can acquire information from the outside such as various sensors and various input devices, and acquires various information from the outside.
  • the information acquisition unit 51 supplies the acquired information to the information processing unit 53.
  • the communication unit 52 includes, for example, a communication device of an arbitrary method, and communicates with each work agent 12.
  • the communication unit 52 supplies the data received from each work agent 12 to the information processing unit 53.
  • the communication unit 52 acquires data to be transmitted to each work agent 12 from the information processing unit 53.
  • the information processing unit 53 includes, for example, a device that performs information processing such as a processor, and performs various types of information processing of the instruction agent 11.
  • the information processing unit 53 includes a distribution unit 61, a presentation control unit 62, and a learning unit 63.
  • the distribution unit 61 distributes tasks to be executed by each work agent 12 based on information acquired from the outside and each work agent 12 via the information acquisition unit 51 and the communication unit 52. Further, the distribution unit 61 instructs the execution of the task assigned to each work agent 12 via the communication unit 52.
  • the presentation control unit 62 controls the presentation of various information by the presentation unit 54 using images, sounds, light, and the like.
  • the learning unit 63 learns data used for task distribution. For example, the learning unit 63 learns a skill model, a skill group, and a task table.
  • the skill model is a model indicating the skill of each work agent 12.
  • the learning unit 63 acquires a skill model of each work agent 12 from the outside (for example, a user), and updates it appropriately by a learning process.
  • FIG. 3 shows an example in which the skill model of work agent A and work agent B is represented by a radar chart.
  • various skill levels including power, speed, and discretion, are represented numerically.
  • the skill group is data representing the type of skill that defines the skill model.
  • the learning unit 63 acquires a skill group from the outside (for example, a user), and updates it appropriately by a learning process.
  • Task table is data indicating skills required for each task.
  • FIG. 4 shows an example of a task table.
  • the task table tasks that can be executed by each work agent 12 are registered. It also shows the level of each skill required to perform each task. For example, it is shown that the task of “removing an object that closes the door” requires power of level 5 or higher, speed of level 2 or higher, and cautiousness of level 1 or higher.
  • the learning unit 63 acquires a task table from the outside (for example, a user), and updates it appropriately by a learning process.
  • the learning unit 63 generates a work history map based on the work report from each work agent 12.
  • FIG. 5 shows an example of a work history map.
  • the work history map has, for example, three axes of state, action, and reward, and the action executed by each work agent 12, the state before executing the action (hereinafter referred to as a pre-state), and executed
  • the distribution of data consisting of combinations of rewards for actions is shown.
  • the presentation unit 54 includes, for example, a display, a speaker, a light emitting device, and the like, and presents various types of information using images, sounds, light, and the like.
  • the storage unit 55 is composed of various storage media, for example, and stores data, programs, and the like necessary for processing of the instruction agent 11.
  • the storage unit 55 stores a skill model, a task table, a work history map, and the like of each work agent 12.
  • FIG. 6 shows a functional configuration example of the work agent 12.
  • the work agent 12 includes an information acquisition unit 101, a communication unit 102, an information processing unit 103, an execution unit 104, and a storage unit 105.
  • the information acquisition unit 101 includes, for example, devices that can acquire information from the outside such as various sensors and various input devices, and acquires various information from the outside.
  • the information acquisition unit 101 supplies the acquired information to the information processing unit 103.
  • the communication unit 102 includes, for example, a communication device of an arbitrary method, and communicates with the instruction agent 11.
  • the communication unit 102 supplies the data received from the instruction agent 11 to the information processing unit 103.
  • the communication unit 102 acquires data to be transmitted to the instruction agent 11 from the information processing unit 103.
  • the information processing unit 103 includes, for example, a device that performs information processing such as a processor, and performs various types of information processing of the work agent 12.
  • the information processing unit 103 includes an execution control unit 111 and a learning unit 112.
  • the execution control unit 111 executes a task (more specifically, an action obtained by disassembling the task) by the execution unit 104 based on information acquired from the external and the instruction agent 11 via the information acquisition unit 101 and the communication unit 102. Control. Further, the execution control unit 111, based on information acquired from the outside via the information acquisition unit 101, a state before the execution of the action (preliminary state) and a state after the execution of the action (hereinafter referred to as a post-condition). ) Is detected. Furthermore, the execution control unit 111 acquires a reward for the executed action via the information acquisition unit 101 or the communication unit 102. In addition, the execution control unit 111 transmits a work report including information regarding the executed action to the instruction agent 11 via the communication unit 102.
  • the learning unit 112 learns a task execution method (for example, a combination of actions for executing a task) based on information acquired from the external and the instruction agent 11 via the information acquisition unit 101 and the communication unit 102. I do.
  • a task execution method for example, a combination of actions for executing a task
  • the execution unit 104 is configured by a device or the like for executing a task (more specifically, various actions).
  • the types of actions that can be executed by the execution unit 104 are not particularly limited. For example, not only physical actions such as a balanced system, a moving system, and an operating system, but also actions that involve mental activities such as thinking, calculation, analysis, creation, etc. are included.
  • the types and levels of actions that can be executed by the execution unit 104 are set for each work agent 12.
  • the storage unit 105 is composed of various storage media, for example, and stores programs, data, and the like necessary for the processing of the work agent 12.
  • the flow chart of FIG. 8 shows the data flow between the instruction agent 11, the two work agents 12 of the work agent A and the work agent B, and the world (real world or virtual world).
  • step S1 the distribution unit 61 determines whether the execution of the task is instructed. For example, the user inputs task instruction information indicating a task to be executed by the agent system 10 to the instruction agent 11. When the distribution unit 61 acquires the input task instruction information via the information acquisition unit 51, the distribution unit 61 determines that the execution of the task is instructed, and the process proceeds to step S2.
  • step S2 the instruction agent 11 executes a work instruction process, and then the process proceeds to step S3.
  • step S31 the distribution unit 61 breaks down the task into subtasks.
  • the distribution unit 61 decomposes a given task to a level at which each work agent 12 can be instructed.
  • the given task is decomposed into one or more subtasks.
  • a main task when a task before being divided into subtasks is distinguished from a subtask, it is referred to as a main task.
  • the main task of “supporting disasters” is broken down into subtasks such as “getting things blocking the doors” and “going to help people”.
  • subtasks such as “getting things blocking the doors” and “going to help people”.
  • the distribution unit 61 appropriately executes the main task so that the main task can be executed more efficiently based on the configuration of the work agent 12 (hereinafter referred to as an execution member) that executes the main task in cooperation. Divide into subtasks.
  • step S32 the distribution unit 61 obtains a skill required for each subtask based on the task table (FIG. 4) stored in the storage unit 55.
  • step S33 the distribution unit 61 performs work sharing. Specifically, the distribution unit 61 assigns subtasks (at least a part of the main task) to each work agent 12 based on the skills required for each subtask and the skill model of each work agent 12 stored in the storage unit 55. ).
  • the distribution unit 61 extracts work agents 12 having executable skills for each subtask based on the skill model of each work agent 12. Then, the distribution unit 61 determines a subtask to be assigned to each work agent 12 in consideration of work efficiency, work time, and the like.
  • the distribution unit 61 may distribute the subtasks in consideration of the state of each work agent 12. For example, based on the information from each work agent 12, the distribution unit 61 generates a search map indicating the position of each work agent 12, the place where the subtask is executed, and the like. In addition to the skill model of each work agent 12, the distribution unit 61 performs work sharing based on the positional relationship between each work agent 12 and the place where the subtask is executed.
  • a subtask in the nearby site 201-1 is assigned to the work agent 12-1, and a subtask in the nearby site 201-2 is assigned to the work agent 12-2. It is done.
  • the distribution unit 61 generates a search map of state-action pairs based on information from each work agent 12. Then, the distribution unit 61 causes the work agent 12 close to the state to execute a search for the unsearched state-action pair. Thereby, for example, when the agent system is realized by computer simulation, data for many types of state-action pairs can be collected more quickly, and the simulation results can be converged more quickly.
  • the distribution unit 61 determines work sharing based on a given task (main task) context (for example, context, situation). For example, when the task of “cleaning” is given, the distribution unit 61 assigns subtasks to either the work agent 12 that performs floor cleaning or the work agent 12 that performs cleaning on the desk, depending on the situation. To decide.
  • a given task main task
  • context for example, context, situation
  • step S34 the distribution unit 61 calculates the required time. That is, the distribution unit 61 calculates the time required until all subtasks are completed and the main task is completed based on the subtasks assigned to each work agent 12 and the skills of each work agent 12.
  • step S35 the presentation unit 54 presents the required time of the task under the control of the presentation control unit 62.
  • the presentation unit 54 presents the required time of the task under the control of the presentation control unit 62.
  • FIGS. 11 to 13 show examples of information presented when the agent system 10 is realized in a virtual world such as computer simulation.
  • the execution member for example, the type, number, and skill model of the work agent 12
  • the number of drone type robots A and humanoid type robots B, which are execution members, and a horizontal bar graph showing a skill model are shown.
  • the total value of various skills required for the main task is shown.
  • the time required for the end of the main task is shown.
  • the user can easily grasp the configuration of the execution member, the load for each skill of the main task, the time required for the main task, and the like.
  • the reserve member is a work agent 12 that is not an execution member at the present time but can be added to the execution member or replaced with the execution member.
  • the spare member field 222 shows the type of spare member (in this example, the spare robot) and the skill model. Specifically, a disk-type robot and a crane-type robot are registered as spare members, and a skill model of each robot is shown.
  • the user can add the work agent 12 to the execution member by dragging the work agent 12 in the reserve member column 222 and dropping it outside the reserve member column 222. Also, the user can remove the work agent 12 from the execution member and make it a spare member by dragging the work agent 12 outside the spare member field 222 and dropping it in the spare member field 222.
  • the recommended specification column 232 shows a skill model of the work agent 12 that is recommended to be added to the execution member.
  • the recommended specification column 232 shows a skill model of the work agent 12 (for example, the work agent 12 capable of significantly reducing the time required for the task) that can be task-efficient by adding.
  • a message indicating that the work time can be reduced when the work agent 12 having the skill model shown in the recommended spec field 232 is added is displayed below the recommended spec field 232.
  • the time required for the main task before the recommended work agent 12 is added to the execution member and the time required for the main task after the addition are shown below.
  • the user can easily grasp what kind of skill model the work agent 12 having should be added to make the work more efficient and reduce the time required for the main task.
  • the user can add an appropriate work agent 12 to the execution member.
  • step S36 the distribution unit 61 determines whether or not the execution member has been changed. For example, when changing the execution member, the user inputs execution member change information instructing the change of the execution member to the instruction agent 11. When the distribution unit 61 acquires the input execution member change information via the information acquisition unit 51, the distribution unit 61 determines that the execution member has been changed, and the process returns to step S31.
  • step S36 the processing from step S31 to step S36 is repeatedly executed until it is determined in step S36 that the execution member has not been changed. That is, each time the execution member is changed, the combination of subtasks and work sharing are changed, the required time of the main task is recalculated, and the required time of the main task is re-presented.
  • step S36 determines whether the execution member has been changed. If it is determined in step S36 that the execution member has not been changed, the process proceeds to step S37.
  • step S37 the distribution unit 61 instructs each work agent 12 to perform work. Specifically, the distribution unit 61 generates work instruction information indicating a subtask to be requested for each work agent 12. Then, the distribution unit 61 transmits work instruction information to each work agent 12 via the communication unit 52. For example, as shown in FIG. 8, work instruction information is transmitted from the instruction agent 11 to the work agent A and the work agent B.
  • step S1 determines that the task execution is not instructed
  • step S2 the process of step S2 is skipped, and the process proceeds to step S3.
  • step S3 the learning unit 63 determines whether or not a work report has been received from the work agent 12.
  • each work agent 12 executes an action in step S104 of FIG. 20 to be described later, and then transmits work information for the executed action in step S107.
  • the work report includes the executed action, the pre-state, the post-state, the reward for the executed action, and other information.
  • step S4 If the learning unit 63 determines that the work report transmitted from the work agent 12 has been received via the communication unit 52, the process proceeds to step S4.
  • step S4 the learning unit 63 executes a learning process, and then the process returns to step S1.
  • step S61 the learning unit 63 updates the work history map. Specifically, the learning unit 63 adds, to the work history map, data including a combination of an executed action, a prior state, and a reward for the executed action indicated in the work report.
  • step S62 the learning unit 63 determines whether to update the skill group.
  • state action space map indicates a distribution of data composed of combinations of states (preliminary states) and actions generated based on work reports from the work agents 12.
  • FIG. 15 shows an example where skills are defined only by actions.
  • power is associated with an action included in the range of the region 241A. That is, regardless of the prior state, the skill necessary for the action included in the range of the area 241A is defined as power.
  • actions included in the range of the area 241A include lifting, pushing, throwing and the like of an object.
  • a speed is associated with an action included in the range of the area 241B. That is, regardless of the prior state, the skill necessary for the action included in the range of the area 241B is defined as speed.
  • FIG. 16 shows an example in which a skill is defined by a combination of a prior state and an action.
  • power is associated with the combination of the state s i and the action a i within the range of the region 242A. That is, when the prior state is within the range of the area 242A, the skill necessary to execute the action within the range of the area 242A is defined as power.
  • the state s i includes a state where an object whose weight is within a predetermined range is in front of the eyes, and the action a i includes actions such as lifting, pushing, and throwing the object.
  • the speed is associated with the combination of the state and the action in the range of the area 242B. That is, when the prior state is within the range of the region 242B, the skill necessary to execute the action within the range of the region 242B is defined as speed.
  • FIG. 17 shows an example in which a skill is defined only by an action or by a combination of a prior state and an action.
  • the speed is associated with the combination of the state and action within the range of the region 243A.
  • the skill necessary to execute the action within the region 243A is defined as power.
  • a speed is associated with an action included in the range of the region 243B. That is, the skill required for the action included in the range of the area 243B is defined as speed regardless of the prior state.
  • the learning unit 63 performs clustering of work history map data. Then, for example, as shown in FIG. 18, when the clustering result is projected onto the state behavior space map, the learning unit 63 determines to update the skill group when a new cluster 243C is found, and the process is Proceed to step S63. In addition, when the distribution of clusters changes due to, for example, cluster division, integration, or deletion, it is determined to update the skill group, and the process proceeds to step S63.
  • step S63 the learning unit 63 updates the skill group. Specifically, the learning unit 63 assigns a new skill to an area to which no skill is assigned among areas corresponding to clusters in the state behavior space map. Thereby, when a cluster is added or divided
  • step S62 the learning unit 63 determines that the skill group is not updated when the cluster distribution of the state behavior space map is not changed, the process of step S63 is skipped, and the process proceeds to step S64.
  • step S64 the learning unit 63 updates the skill model and the task table. Specifically, when the skill group is updated, the learning unit 63 changes the type of skill in the skill model of each work agent 12 according to the updated skill group.
  • the learning unit 63 updates the skill model of the work agent 12 that has transmitted the work report. Specifically, the learning unit 63 detects a skill necessary for an action executed by the work agent 12 or a combination of a prior state and an action based on the state behavior space map.
  • the learning unit 63 increases the level of the skill corresponding to the skill model of the work agent 12. For example, as shown in FIG. 19A, when the work agent 12 lifts an object of weight xkg, the power level of the skill model increases.
  • the learning unit 63 lowers the level of the skill corresponding to the skill model of the work agent 12. For example, as shown in FIG. 19B, when the work agent 12 drops an object and breaks it, the level of cautiousness of the skill model is lowered.
  • the learning unit 63 does not change the skill model of the work agent 12 when the work agent 12 does not get a reward for the executed action.
  • the skill model level may or may not have an upper limit.
  • the skill model level may be normalized between the work agents 12.
  • the learning unit 63 updates the task table as necessary based on the work report. For example, when the work agent 12 executes a new subtask, the learning unit 63 adds the subtask to the task table. Further, the learning unit 63 updates the value of the necessary skill in the task table as necessary based on the subtask executed by the work agent 12 and the skill model of the work agent 12.
  • step S3 if it is determined in step S3 that the work report has not been received, the process returns to step S1, and the processes after step S1 are executed.
  • step S101 the execution control unit 111 determines whether an operation has been instructed.
  • the determination process in step S101 is repeatedly executed, for example, at a predetermined interval until it is determined that an operation is instructed. Then, when the work instruction information transmitted from the instruction agent 11 in step S37 in FIG. 9 is received via the communication unit 102, the execution control unit 111 determines that the work has been instructed, and the process proceeds to step S102. .
  • step S102 the execution control unit 111 disassembles the next subtask into actions. Specifically, the execution control unit 111 selects a subtask to be executed next when the subtasks indicated in the work instruction information are arranged in the execution order. In the first process of step S102 after receiving the work instruction information, the first subtask to be executed is selected.
  • the execution control unit 111 decomposes the selected subtask to a level that can be executed by the execution unit 104 (execution unit of the execution unit 104). Thereby, the subtask is decomposed into one or more actions. If the subtask is simple, the subtask and the action may be equal.
  • step S ⁇ b> 103 the execution control unit 111 detects a state before executing an action (preliminary state) based on information from the information acquisition unit 101. That is, the execution control unit 111 detects the state around the work agent 12 before the execution of the action, in particular, the state of the target object or the like that is the action execution target.
  • the information acquisition unit 101 acquires information other than the state around the work agent 12 as necessary, and supplies the information to the information processing unit 103.
  • step S104 the execution unit 104 executes the following action under the control of the execution control unit 111. Specifically, the execution control unit 111 selects an action to be executed next when the actions decomposed in the process of step S102 are arranged in the execution order. In the first process of step S104 after subtasks are broken down into actions, the action to be executed first is selected.
  • the execution control unit 111 controls the execution unit 104 to execute the selected action.
  • the work agent A and the work agent B perform an action on the world (real world or virtual world) according to the work instruction information received from the instruction agent 11.
  • step S105 the execution control unit 111 detects a state after action execution (post-event state) based on information from the information acquisition unit 101.
  • the execution control unit 111 detects the state around the work agent 12 after the execution of the action, in particular, the state of the object or the like that is the execution target of the action.
  • the work agent A and the work agent B detect the state of the world (real world or virtual world) after executing the action.
  • the information acquisition unit 101 acquires information other than the state around the work agent 12 as necessary, and supplies the information to the information processing unit 103.
  • step S106 the execution control unit 111 acquires a reward.
  • any method can be adopted as a method of giving a reward to the work agent 12.
  • the user may explicitly give a reward to the work agent 12.
  • a reward for an action or a combination of a prior state and an action is determined in advance, and when the action succeeds or fails, an automatically determined reward is given to the work agent 12. Also good.
  • the execution control unit 111 may recognize a reward based on the posterior state.
  • the execution control unit 111 may recognize a reward based on a reaction such as a user's facial expression after the execution of the action.
  • the execution control unit 111 recognizes that a positive reward has been granted when the user shows a positive response, and recognizes that a negative reward has been given when the user shows a negative response.
  • the execution control unit 111 recognizes that a positive reward has been granted when it is determined that the action has succeeded based on the posterior state, and receives a negative reward when it determines that the action has failed. Recognize that
  • work agent A and work agent B receive a reward for the executed action from the world (real world or virtual world).
  • step S107 the execution control unit 111 transmits a work report. Specifically, the execution control unit 111 generates a work report including an executed action, a pre-state, a post-state, a reward for the executed action, and other information. The execution control unit 111 transmits the generated work report to the instruction agent 11 via the communication unit 102.
  • the work agent A and the work agent B transmit a work report for the executed action to the instruction agent 11.
  • step S108 the execution control unit 111 determines whether there is an action that can be executed. If there is an action that has not yet been executed and the action can be executed, the execution control unit 111 determines that there is an action that can be executed, and the process returns to step S103.
  • step S108 the processing from step S103 to step S108 is repeatedly executed until it is determined in step S108 that there is no action that can be executed.
  • the actions constituting the subtask are executed in order, and a work report corresponding thereto is transmitted to the instruction agent 11.
  • step S108 the execution control unit 111 determines that there is no action that can be executed when all actions have been executed, or there is an action that has not been executed yet but cannot be executed. The process proceeds to step S109.
  • step S109 the execution control unit 111 determines whether there is an executable subtask. If there is a subtask that has not yet been executed and the subtask can be executed, the execution control unit 111 determines that there is a subtask that can be executed, and the process returns to step S102.
  • step S102 to step S109 is repeatedly executed until it is determined in step S109 that there is no executable subtask. Thereby, the tasks instructed from the instruction agent 11 are executed in order.
  • step S109 the execution control unit 111 determines that there are no subtasks that can be executed when all the subtasks are completed, or there are subtasks that have not been executed yet but cannot be executed. Proceed to step S110.
  • step S110 the learning unit 112 learns how to execute the subtask. For example, when a large reward is obtained when the learning unit 112 performs a new combination of actions to execute a subtask (for example, when a delayed reward problem is solved), the learning unit 112 executes the subtask as an execution method.
  • the series of actions is stored in the storage unit 105. For example, if the learning unit 112 breaks an object and can move forward as a result of several actions, and a person can be rescued, the learning unit 112 can perform one task for the subtask “rescue a person”.
  • As an execution method a series of actions taken to break an object are stored in the storage unit 105.
  • step S101 Thereafter, the process returns to step S101, and the processes after step S101 are executed.
  • each work agent 12 can execute a task in cooperation. Further, the instruction agent 11 learns the task model of each work agent 12 and appropriately distributes the task to each work agent 12 according to the result, so that the work is made more efficient. As a result, the work time can be shortened, and the number of work agents 12 that execute tasks can be reduced.
  • each work agent shares information and executes tasks in cooperation.
  • FIG. 21 illustrates a configuration example of an agent system 300 to which the present technology is applied.
  • the agent system 300 includes work agents 301-1 through 301-3.
  • work agents 301 are simply referred to as work agents 301.
  • the agent system 300 includes three work agents 301 is shown, but the number of work agents 301 can be set to an arbitrary number of 2 or more. It is.
  • FIG. 22 shows a functional configuration example of the work agent 301.
  • the work agent 301 has a function that combines the instruction agent 11 of FIG. 2 and the work agent 12 of FIG. Accordingly, the work agent 301 executes the task itself while issuing an instruction to the other work agent 301.
  • the work agent 301 includes an information acquisition unit 351, a communication unit 352, an information processing unit 353, a presentation unit 354, an execution unit 355, and a storage unit 356.
  • the information acquisition unit 351 has a function that combines the information acquisition unit 51 of the instruction agent 11 and the information acquisition unit 101 of the work agent 12.
  • the communication unit 352 includes, for example, a communication device of an arbitrary method, and communicates with other work agents 301.
  • the communication unit 352 supplies the data received from the other work agent 301 to the information processing unit 353. Further, the communication unit 352 acquires data to be transmitted to the other work agent 301 from the information processing unit 353.
  • the information processing unit 353 includes a distribution unit 361, a presentation control unit 362, an execution control unit 363, and a learning unit 364.
  • the distribution unit 361 has the same function as the distribution unit 61 of the instruction agent 11.
  • the presentation control unit 362 has the same function as the presentation control unit 62 of the instruction agent 11.
  • the execution control unit 363 has the same function as the execution control unit 111 of the work agent 12.
  • the learning unit 63 has a function in which the learning unit 63 of the instruction agent 11 and the learning unit 112 of the work agent 12 are combined.
  • the presentation unit 354 has the same function as the presentation unit 54 of the instruction agent 11.
  • the execution unit 355 has the same function as the execution unit 104 of the work agent 12.
  • the storage unit 356 is configured by various storage media, for example, and stores data, programs, and the like necessary for the processing of the work agent 301.
  • work agent A is the side that issues instructions
  • work agent B is the side that receives instructions. Therefore, the work agent A is constituted by the work agent 301 in FIG. 22, and the work agent B is constituted by the work agent 12 in FIG. 6 or the work agent 301 in FIG.
  • work agent A and work agent B share each other's skill model and work information.
  • at least the work agent A acquires information such as a skill model and work information from the work agent B. Then, the work agent A learns skill groups, skill models, and task tables, and creates a work history map.
  • the skill model of the work agent B may be learned by the work agent B itself, or the work agent A may learn.
  • the user instructs work agent A or work agent B to execute the task (main task).
  • the work agent B transmits the information to the work agent A.
  • Work agent A breaks down the main task into subtasks, instructs work agent B to execute some subtasks, and executes the rest itself. That is, the work agent A executes an action obtained by further disassembling the subtask. In addition, the work agent A detects the pre-state, the post-state, and other information, and acquires a reward for the action.
  • Work agent B breaks down the subtask specified by work agent A into actions and executes them.
  • the work agent B detects the pre-state, the post-state, and other information, and acquires a reward for the action.
  • work agent A and work agent B share information.
  • work agent A and work agent B exchange work reports with each other.
  • only the work agent B transmits a work report to the work agent A.
  • work agent A learns skill groups, skill models, and task tables.
  • each work agent 301 can execute a task in cooperation while sharing information. Further, the task model of each work agent 301 is learned, and the task is appropriately allocated to each work agent 301 according to the result, so that the work is made efficient. As a result, the work time can be shortened, and the work agents 301 that execute tasks can be reduced.
  • a part of the function of the instruction agent 11 can be provided in the work agent 12, or a part of the function of the work agent 12 can be provided in the instruction agent 11.
  • each work agent 12 may learn its skill model and send the learned skill model to the instruction agent 11.
  • the instruction agent 11 may disassemble the subtasks into actions and give instructions to the work agent 12 in units of actions.
  • the work agents 12 may communicate with each other to share information.
  • each work agent 12 reports a work report to the instruction agent 11 every time one action is executed, but it is not always necessary to report a work for each action.
  • each work agent 12 may report work every time a plurality of actions are executed or every time a subtask is executed.
  • the instruction agent 11 learns the skill model of each person or each person and each work agent 12 by the same processing, It is possible to share work.
  • the added skill may be presented in the recommended specification column 232 of FIG.
  • the user can easily add an agent having a newly added skill to the execution member, and work efficiency can be improved.
  • each work agent 301 may behave autonomously.
  • information such as the skill model and state of each work agent 301 is shared among the work agents 301.
  • information such as the skill model and state of each work agent 301 is shared among the work agents 301.
  • a task is given to at least one of the work agents 301, it is more efficient for the work agent 301 to which the task is given to execute the given task by itself. Run the task.
  • a work agent 301 to which a task is given cannot execute the given task, it is more efficient that another work agent 301 executes, or it is more efficient to cooperate with another work agent 301 In this case, the other work agent 301 is requested to execute all or part of the task.
  • each work agent 301 can execute a task efficiently autonomously and in cooperation.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 24 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 505 is further connected to the bus 504.
  • An input unit 506, an output unit 507, a storage unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
  • the input unit 506 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • the storage unit 508 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 509 includes a network interface or the like.
  • the drive 510 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads the program stored in the storage unit 508 to the RAM 503 via the input / output interface 505 and the bus 504 and executes the program, for example. Is performed.
  • the program executed by the computer (CPU 501) can be provided by being recorded in, for example, a removable medium 511 as a package medium or the like.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 508 via the input / output interface 505 by attaching the removable medium 511 to the drive 510. Further, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the storage unit 508. In addition, the program can be installed in the ROM 502 or the storage unit 508 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • a plurality of computers may perform the above-described processing in cooperation.
  • a computer system is configured by one or a plurality of computers that perform the above-described processing.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology can take the following configurations.
  • An information processing apparatus comprising: a distribution unit that assigns at least a part of a task to the agent based on a skill model indicating skills of two or more agents.
  • the information processing apparatus according to (1) further including a presentation control unit that controls presentation of information regarding at least one of the task and the agent.
  • the presentation control unit controls the presentation of skills of an agent capable of increasing the efficiency of the task.
  • the presentation control unit controls presentation of skills necessary for the task.
  • any one of (1) to (6) further comprising: a communication unit that receives an action performed, a state before execution of the action, and a work report that is information including a reward for the action from each agent.
  • Information processing device further including a learning unit that learns data used for task distribution based on the work report.
  • the learning unit learns a skill type that defines the skill model based on a result of clustering a distribution of data including a combination of a state and an action generated based on the work report.
  • the information processing apparatus according to any one of (1) to (13), wherein the distribution unit divides the task into a plurality of subtasks and assigns the subtasks to the agents.
  • the distribution unit further divides the subtask into actions that are execution units of the agent, and assigns the action to the agent.
  • An execution unit for executing tasks The information processing apparatus according to any one of (1) to (15), wherein the two or more agents include the information processing apparatus.
  • An information processing method including a distribution step of assigning at least a part of a task to the agent based on a skill model indicating a skill of each of two or more agents.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (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以上の各エージェントのスキルを示すスキルモデルに基づいて、タスクの少なくとも一部を前記エージェントに割り当てる分配ステップを
     含む情報処理方法。
PCT/JP2017/043235 2016-12-16 2017-12-01 情報処理装置及び情報処理方法 WO2018110314A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17879697.5A EP3557417A4 (en) 2016-12-16 2017-12-01 INFORMATION PROCESSING DEVICE AND PROCESSING PROCESS
US16/467,597 US20190308317A1 (en) 2016-12-16 2017-12-01 Information processing apparatus and information processing method
JP2018556570A JPWO2018110314A1 (ja) 2016-12-16 2017-12-01 情報処理装置及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-244046 2016-12-16
JP2016244046 2016-12-16

Publications (1)

Publication Number Publication Date
WO2018110314A1 true WO2018110314A1 (ja) 2018-06-21

Family

ID=62558470

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043235 WO2018110314A1 (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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020121381A (ja) * 2019-01-31 2020-08-13 セイコーエプソン株式会社 機械学習器、ロボットシステム、及び機械学習方法
JP2023024296A (ja) * 2021-08-05 2023-02-16 アジャイルソーダ インコーポレイテッド ピックアンドプレイスシステムのための深層強化学習装置及び方法

Families Citing this family (3)

* 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
DE112019004772T5 (de) * 2018-09-24 2021-07-15 Panasonic Intellectual Property Management Co., Ltd. System und Verfahren zum Bereitstellen von unterstützenden Aktionen zur gemeinsamen Straßenbenutzung
US20220172107A1 (en) * 2020-12-01 2022-06-02 X Development Llc Generating robotic control plans

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130520A (ja) * 2012-12-28 2014-07-10 International Business Maschines Corporation リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム
JP2016190315A (ja) * 2015-03-30 2016-11-10 株式会社トヨタプロダクションエンジニアリング プログラム作成支援方法およびプログラム作成支援装置ならびにプログラム
JP2016212462A (ja) * 2015-04-28 2016-12-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置

Family Cites Families (8)

* 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
JP4241522B2 (ja) * 2004-06-23 2009-03-18 三菱重工業株式会社 ロボットのタスク実行方法及び該システム
JP2007052683A (ja) * 2005-08-19 2007-03-01 Matsushita Electric Ind Co Ltd タスク分配システム、エージェントおよびタスク分配方法
US8428777B1 (en) * 2012-02-07 2013-04-23 Google Inc. Methods and systems for distributing tasks among robotic devices
US9561590B1 (en) * 2013-06-24 2017-02-07 Redwood Robotics, Inc. Distributed system for management and analytics of robotics devices
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130520A (ja) * 2012-12-28 2014-07-10 International Business Maschines Corporation リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム
JP2016190315A (ja) * 2015-03-30 2016-11-10 株式会社トヨタプロダクションエンジニアリング プログラム作成支援方法およびプログラム作成支援装置ならびにプログラム
JP2016212462A (ja) * 2015-04-28 2016-12-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3557417A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020121381A (ja) * 2019-01-31 2020-08-13 セイコーエプソン株式会社 機械学習器、ロボットシステム、及び機械学習方法
JP2023024296A (ja) * 2021-08-05 2023-02-16 アジャイルソーダ インコーポレイテッド ピックアンドプレイスシステムのための深層強化学習装置及び方法
JP7398830B2 (ja) 2021-08-05 2023-12-15 アジャイルソーダ インコーポレイテッド ピックアンドプレイスシステムのための深層強化学習装置及び方法

Also Published As

Publication number Publication date
JPWO2018110314A1 (ja) 2019-10-24
EP3557417A1 (en) 2019-10-23
EP3557417A4 (en) 2020-03-25
US20190308317A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
WO2018110314A1 (ja) 情報処理装置及び情報処理方法
Tran et al. A novel Multiple Objective Symbiotic Organisms Search (MOSOS) for time–cost–labor utilization tradeoff problem
US11179843B2 (en) Method for operating a robot in a multi-agent system, robot, and multi-agent system
Mechalikh et al. PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments
US10220517B2 (en) System, method and computer program product for controlling a mission-oriented robot based on a user's emotional state
CN107783831A (zh) 一种任务调度方法及装置
US20210390487A1 (en) Genetic smartjobs scheduling engine
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
CN113033806B (zh) 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法
Feng et al. Dynamics of task allocation in social insect colonies: scaling effects of colony size versus work activities
Kurdi et al. Bee-inspired task allocation algorithm for multi-UAV search and rescue missions
Gram-Hansen et al. Hijacking malaria simulators with probabilistic programming
Vahora et al. Cloudsim-a survey on vm management techniques
CN109359792A (zh) 一种基于动态建模的导调控制系统以及方法
Hunt et al. Demonstrating performance benefits of human-swarm teaming
Odili et al. Convergence analysis of the African buffalo optimization algorithm
Nguyen et al. Minimap: an interactive dynamic decision making game for search and rescue missions
Kumar et al. Improving task scheduling in large scale cloud computing environment using artificial bee colony algorithm
US11977988B2 (en) Genetic algorithm with deterministic logic
Özgelen et al. An approach to supervisory control of multi-robot teams in dynamic domains
Gigliotta et al. Neuromodelling based on evolutionary robotics: on the importance of motor control for spatial attention
Okabe et al. A study of management to develop adaptable AI-enabled robots toward inclusive society
Singh et al. A hybrid genetic and cuckoo search algorithm for job scheduling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17879697

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018556570

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017879697

Country of ref document: EP

Effective date: 20190716