Method for managing a fleet of autonomous parking robots by a supervisor

12386361 · 2025-08-12

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention relates to a method for managing a fleet of autonomous parking robots by a supervisor. Each autonomous robot comprises a computer and a memory for storing a digital map of the parking space and geolocation means, environment sensors and means for telecommunication with the supervisor. The supervisor comprises a computer and a memory for storing a digital map of the parking space, as well as means for telecommunication with the robots, a record of a unique identifier of each of the robots, and a computer for computing the trajectories of the autonomous robots.

Claims

1. A method for managing a fleet of autonomous parking robots comprising a plurality of autonomous robots, controlled by a supervisor and a service manager, wherein: each autonomous robot comprises a computer and a memory for storing a digital map of a parking space and a geolocation device, environment sensors and a device for telecommunication with the supervisor; the supervisor comprises a computer and a memory for storing a digital map of the parking space, as well as a device for telecommunication with the robots, a record of a unique identifier of each of the robots, and a computer for computing the trajectories of the autonomous robots; and the service manager calculates the trips to be made for the vehicles that are stored in a parking area or that are to be stored in the parking area and transmits the calculated trips to the supervisor in the form of actions for the robots, wherein the supervisor is configured to: convert each of the actions into one or more tasks, each of the one or more tasks configured to, when performed by the robots, perform at least part of an associated action of the actions transmitted by the service manager such that an action is completed responsive to execution of each of the one or more tasks associated with the action, and transmit the one or more tasks associated with each action of the actions to the robots, wherein the one or more tasks associated with each action of the actions are configured to: facilitate the availability of the robots to load the vehicle(s) arriving in the reception area, load vehicles to be moved to an area designated for pickup of the vehicles, or update or determine the movement of vehicles in the parking area to reorganize the position of the vehicles to densify storage and reposition the vehicles so that they are easier to access as the return date approaches: receive and verify an acknowledgement from each of the robots, the acknowledgement indicative that the tasks were successfully received, and dialogue with the service manager to report any unavailability of one or more robots to execute an action provided by the service manager and request computation of a new series of actions responsive to the unavailability, wherein the method comprises the following steps: intermittent steps of computing, by the supervisor, a plurality of actions each including a digital message comprising an action identifier, a designation of one or more tasks and a designation of at least one starting or ending point, associated with an identifier of one of the autonomous robots; intermittent steps of computing, for each of the actions, at least one task including digital messages comprising a designation of an operation, associated with an identifier of one of the autonomous robots; episodic acquisition by the supervisor of digital messages transmitted by the robots, containing the unique robot identifier and time-stamped geolocation data of the robot; episodic acquisition by the supervisor of digital messages from peripheral equipment; periodic recomputing of a series of tasks or actions; periodic transmission of digital action messages; and computation by each of the robots of commands for actuators based on the active task message, local geolocation information and status of its environment sensors.

2. The method of claim 1, wherein the actions further comprise a priority indicator, and wherein the method further comprises episodic steps of recomputing the scheduling of actions and tasks based on the priority indicators.

3. The method of claim 1, wherein the digital map of the parking space is divided into surface elements, each comprising a semaphore whose status SEM(x, y)i determines the accessibility by the robot ROBi, and wherein the supervisor assigns, to all the semaphores SEM(x, y) corresponding to the trajectory of the robot ROBi for the execution of a task, an active status for the robot ROBi and a non-active status for all other robots.

4. The method of claim 1, wherein the digital map of the parking space is divided into surface elements, each comprising a semaphore whose status SEM(x, y)i determines the accessibility by the robot ROBi and in that the supervisor assigns, to the semaphores SEM(x, y) corresponding to the current, future and/or past positions over a given duration of the robot ROBi for the execution of a task or a maneuver, an active status for the robot ROBi and a non-active status for all other robots.

5. The method of claim 1, wherein the supervisor automatically decides to assign the robot ROBi most suitable for the execution of the task to a task, taking into account one or more criteria.

6. The method of claim 5, wherein the one or more criteria include one or more of a distance to be covered, a state of charge of the robots, a rate of use of each robot or a priority of the task.

7. The method of claim 1, wherein the messages transmitted by the robots contains a status of execution of the task.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The present disclosure will be better understood on reading the detailed description of a non-limiting example of the present disclosure that follows, with reference to the accompanying drawings, where:

(2) FIG. 1 shows a schematic view of a system according to the present disclosure.

DETAILED DESCRIPTION

(3) The present disclosure relates to the management of a fleet of robots whose actions are coordinated by a supervisor. The present disclosure relates more particularly to a dissociation between: Computing the strategies for moving and optimizing the actions of the robot fleet, which is carried out by the supervisor only; Execution of a mission transmitted by the supervisor by the robot to which the mission has been allocated, and which is transmitted by the supervisor in the form of a brief digital message comprising an action identifier, a designation of one or more tasks and a designation of at least one starting or ending point, associated with an identifier of one of the autonomous robots; and Episodic transmission by each robot of information allowing the supervisor to reassess the missions.
General Description of the System

(4) The system comprises a series of valet robots (10) capable of positioning themselves to grip the wheels of a car (1) using a system of arms (13, 14, 15) that are articulated with respect to a longitudinal beam (12).

(5) An example of such a robot is described in patent application EP3297876A1. However, the solution described in this document differs from the present disclosure by the fact that in this patent, the articulated arms extend from a frame sliding under the car, toward the outside, whereas in the example described in relation to FIG. 1, two longitudinal beams (12) extend on either side of the vehicle and have articulated arms (13 to 15) extending inward. This solution makes it easier to move a vehicle with very low ground clearance.

(6) Each valet robot (10) has a motorized unit (11) associated with environment sensors (16), for example, a Lidar or a multidirectional camera, as well as sensors such as odometric sensors, ultrasonic sensors for detecting obstacles, geolocation means, etc.

(7) The valet robot (10) also comprises a computer for controlling the various actuators (movement of the arms (13 to 15)), lifting of the side members (12), and motors for the movement of the unit (11) according to the environmental data from the sensors, and instructions from a supervisor (20) communicating with the robot fleet by electronic messages.

(8) Each valet robot (10) is associated with a unique digital identifier to allow identification by the computer processing carried out by the supervisor (20) and the addressing of messages by the supervisor to the valet robot (10) concerned by an action.

(9) General Operating Principle

(10) Each valet robot (10) comprises the computer resources to control sequences of actions according to the instructions received, for example: Receive a vehicle (1): control the movements of the unit (11) of the robot (10) to position the side members (12) along the vehicle, control the movements of the arms (13 to 15); and Movement along a theoretical trajectory: control the motors of the unit (11) based on the trajectory on the one hand and the information from the sensors, to control a movement taking into account the obstacles and local situations.

(11) The supervisor (20) continuously computes the tasks that must be carried out by each of the valet robots (10) available on the parking space, optimizing the actions of the fleet of robots, according to the instructions from a service manager (50) collecting digital information from peripheral equipment, such as: A receiving terminal (30) located in the vehicle reception area; A smartphone (40), for example, sending a message from an owner to retrieve a vehicle; and Messages from a dedicated supervision interface.

(12) The service manager (50) calculates the trips to be made for the vehicles stored or to be stored and transmits them to the supervisor (20) in the form of actions for the valet robots (10). The supervisor converts these actions into tasks and transmits them to the valet robots (10) so as to optimize the availability of the valet robots (10) to load the vehicle(s) arriving in the reception area, the loading of vehicles to be moved to the recovery area, and also the movement of vehicles in the parking area, in order to reorganize the position of the cars to densify storage and to reposition the vehicles so that they are easier to access as the return date approaches. This information is transmitted to the supervisor (20), which distributes the tasks to the valet robots (10) and verifies their acknowledgment, and if necessary dialogues with the service manager (50) to report any unavailability and order the computation of new series of actions.

(13) The supervisor (20) and the service manager (50) can be combined in a single computer equipment item. Alternatively, a service manager (50) can be common to several supervisors (20) each controlling a dedicated parking space.

(14) Communication Protocol

(15) The communication protocol makes it possible to distribute vehicle movement orders over several robots, as well as to manage a fleet of robots. This protocol is based on a communication service (API) to add or consult task statuses, to ensure communication with all the robots present in the parking lot, and to communicate with the rest of the service, in particular, the system manager (50) of the parking lot.

(16) The supervisor (20) manages the fleet of valet robots (10) and computes digital orders of two types: Action: An Action represents a high-level instruction intended for a robot. It has a unique identification number (UUID) allowing exchanges between the different actors. Ex. Move the car from place A to place B, Go to place C; and Task: a task represents an elementary robot instruction. An action can generally be broken down into several tasks.
Some Examples of Tasks: Load: task commanding the robot to load a vehicle. The attributes of this task are, for example, the coordinates of the vehicle to be loaded; Loaded move: task commanding the robot to move with a vehicle loaded on its platform. The attributes of this task are, for example, the coordinates of the starting point (implicitly the current position of the robot) and the coordinates of the end of the movement trajectory, or the succession of movement segments; Unloading: task commanding the robot to unload a vehicle and then move it. The attributes of this task are, for example, the coordinates of the unloading point (implicitly the current coordinates of the robot) and the coordinates of the end of the movement trajectory, or the succession of movement segments; Unloaded move: task commanding the robot to move without a vehicle. The attributes of this task are, for example, the coordinates of the starting point (implicitly the current position of the robot) and the coordinates of the end of the movement trajectory, or the succession of movement segments; and Go to the battery recharging location: task commanding the robot to move toward the battery recharging area. The attributes of this task are, for example, the coordinates of the starting point (implicitly the current coordinates of the robot) and the coordinates of the end of the movement trajectory (location of the recharging point), or the succession of movement segments.

(17) The system manager (50) has a call grammar available to discuss actions with the supervisor (20) comprising:

(18) [POST]

(19) send the action
[GET] /actions: list of all available Actions /actions/current: returns the Actions in progress /actions/{UUID}: returns an Action by UUID identifier
[PUT] /actions/[UUID]/Cancel: cancels the Action (if it has not started) modify the priority of the Action
Valet Robot (10) Fleet Manager and Task Statuses

(20) The supervisor (20) will split the actions transmitted by the system manager (50) into tasks intended for the robots.

(21) The supervisor (20) will manage the availability of the robots based on the information transmitted by the system manager (50).

(22) If no robot (10) is available, the tasks are retained by the supervisor (20) until a robot (10) is available to receive a task. Beyond a determined period, the supervisor (20) transmits the information to the system manager (50), which recomputes new options.

(23) A valet robot (10) is configured to process only one job at a time. However, it can receive a list of tasks to be performed successively.

(24) The statuses of a task for the valet robot are: to be executed; running; executed; and aborted.

(25) The supervisor (20) retrieves the status of the current task from each valet robot (10) in the fleet, evaluates the status of the corresponding action and transmits it to the system manager (50).

(26) The statuses of an action for the system manager (50) and/or the supervisor (20) that it can communicate to the rest of the service are: Waiting for an available robot; Allocated to a valet robot designated by its identifier (which will replace the to be executed status); Human intervention requested; Aborted; and Canceled.

(27) The supervisor (20) evaluates the status of the action based on the statuses of the corresponding tasks.

(28) Priority Management of Actions

(29) The system manager (50) sets a priority for each action between 0 and 1000 (1000 being the highest priority).

(30) As long as an action has not started, the system manager (50) retains the possibility of modifying the priority (in general to increase it).

(31) The supervisor (20) ensures that the tasks with the highest priority are performed first.

(32) Chained Actions

(33) Some actions (parent) must be performed before another (daughter), for example, if one car must be moved so that another is accessible.

(34) The parent should be executed before the daughter. The supervisor (20) must manage the order of execution of the actions to guarantee this constraint. Chained actions can be performed by one or more robots.

(35) In this context, the supervisor (20) can send several robots simultaneously to distribute the tasks between them so that the action is performed correctly.

(36) Integration with the Geographic Database

(37) The service manager (50) constructs each action by retrieving the identifiers of the places storing each vehicle from an external service. When receiving an action, the supervisor (20) retrieves the coordinates of the places with the same service from the identifier.

(38) Multi-Robot Functionalities

(39) In order to manage several valet robots (10) moving simultaneously in the storage area, it has been divided into separate surface elements, each comprising a semaphore whose status SEM(x, y) can be free, reserved for robot i, occupied by robot i or inaccessible.

(40) The free status corresponds to an element accessible by any robot. The reserved for robot i status authorizes access only to robot i and prohibits access and reservation for other robots. The occupied by robot i status means that all or part of the dynamic footprint of robot i encroaches on all or part of the surface element. The dynamic footprint is understood to be the physical footprint of the robot increased by a distance margin and projected in the direction of movement of robot i as a function of its speed. The busy status prohibits access and reservation to all other robots. The inaccessible status prohibits access and/or reservation to all robots.

(41) The supervisor takes care of updating the statuses of all the semaphores according to the time-stamped geolocation data of each robot. Thus, for each robot, the supervisor (20) reserves the space necessary to carry out its task or its maneuvers.

(42) When moving a robot, the supervisor (20) checks that each surface element to be occupied soon by the robot is free or reserved for robot i and modifies its status, if necessary, so that the robot performs its action.

(43) If a task passes through an unauthorized surface element: either the supervisor (20) is able to bypass the surface element to propose another path for carrying out the task; or the task will be put on hold by the supervisor (20) until the current task is completed or the surface elements are released; or the robot advances to the entrance of the unauthorized surface element and waits for the latter to be released.

(44) The deletion/cancellation of an action on the supervisor (20) results in the release of the concerned surface elements.

(45) Once the robot has passed a surface element, it is returned to the free state so that another robot can access this element.

(46) If a task is aborted by a robot, the supervisor (20) will look for another robot available to perform this task and finalize the associated action.