US 12,253,860 B2
Fault tolerant systems for distributed supervision of robots
Hugo Borne-Pons, Antibes (FR)
Assigned to Accenture Global Solutions Limited, Dublin (IE)
Filed by Accenture Global Solutions Limited, Dublin 4 (IE)
Filed on Nov. 12, 2020, as Appl. No. 17/096,789.
Prior Publication US 2022/0147059 A1, May 12, 2022
Int. Cl. G06Q 10/06 (2023.01); G05D 1/00 (2006.01); G05D 1/02 (2020.01); G06Q 10/0631 (2023.01)
CPC G05D 1/0295 (2013.01) [G06Q 10/06 (2013.01); G06Q 10/0631 (2013.01); G06Q 10/06311 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
storing, by one or more processors of a robot, a set of tasks to be completed by a fleet of robots at a site of interest, wherein the robot is one of a plurality of robots included in the fleet of robots;
receiving, by the one or more processors, a first task availability message corresponding to a first task of the set of tasks, wherein the first task availability message is received from a supervisor robot for the first task, wherein each robot in the fleet of robots is operable as both a worker for performing tasks of the set of tasks and a supervisor for supervising performance of other tasks of the set of tasks by other robots in the fleet, and wherein the supervisor for each task of the set of tasks is selected dynamically based on an exchange of messages between the plurality of robots included in the fleet of robots;
calculating, by the one or more processors, a motivation score that indicates a motivation for the robot to perform the first task, wherein the motivation score is calculated, at least in part, based on a specification associated with the first task and one or more capabilities of the robot to perform the first task;
transmitting, by the one or more processors, a task proposal message to the supervisor robot for the first task based on the motivation score;
receiving, by the one or more processors, a task appointment message from the supervisor robot for the first task, wherein the task appointment message indicates the robot is assigned to perform the first task by the supervisor robot;
executing, by the one or more processors, the first task;
transmitting, by the one or more processors, a supervisor alive message to the supervisor robot for the first task during execution of the first task to verify that the supervisor robot is operational;
determining, by the one or more processors, to take over as supervisor of the first task in response to the expiration of a patience timer; and
transmitting, by the one or more processors, a supervisor appointed message to at least a portion of the fleet of robots, wherein the supervisor appointed message indicates that the robot is attempting to take over as the supervisor of the first task.