US 11,897,139 B2
Dynamic configuration method based on role assignation and multi-agent plan execution device
Chia-Pang Chen, New Taipei (TW); and Eduardo Munera Sanchez, Madrid (ES)
Assigned to FAROBOT INC., New Taipei (TW)
Filed by FAROBOT INC., New Taipei (TW)
Filed on Jan. 29, 2021, as Appl. No. 17/162,932.
Prior Publication US 2022/0241967 A1, Aug. 4, 2022
Int. Cl. B25J 9/16 (2006.01); G06Q 10/0631 (2023.01); G06Q 50/04 (2012.01)
CPC B25J 9/1661 (2013.01) [G06Q 10/06313 (2013.01); G06Q 50/04 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A multi-agent plan execution device comprising:
at least one processor; and
a memory configured to store at least one programs, which when executed by the processor, leads the at least one processor to:
define a set of tasks as an organized sequence of behaviors based on a target plan, each task comprises a specific role and its behaviors execution;
activate a plurality of roles based on the set of tasks, and each of the plurality of roles comprises a plurality of required capabilities and a plurality of preferred capabilities;
select at least one candidate robot for each activated role based on the plurality of required capabilities;
obtain a score based on the plurality of preferred capabilities and a plurality of capabilities of each robot;
traverse the activated roles;
in response to a first target role of the activated roles, select a plurality of first candidate robots;
determine a first target candidate robot with a first highest score of the plurality of first candidate robots;
continue to traverse all remaining activated roles;
in response to a second target role of the remaining activated roles, select a plurality of second candidate robots;
determine a second target candidate robot with a second highest score of the plurality of second candidate robots;
in response that the first target candidate robot and the second target candidate robot are the same robot, assign the first target role to the first target candidate robot if the first highest score is greater than the second highest score;
in response that the first target candidate robot and the second target candidate robot are the same robot, assign the second target role to the second target candidate robot if the first highest score is lower than the second highest score; and
control the assigned candidate robot to execute the behaviors corresponding to each activated role.