METHOD FOR MANAGING A FLEET OF AUTONOMOUS PARKING ROBOTS BY A SUPERVISOR

20220326718 · 2022-10-13

    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 said 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 said robots, a record of a unique identifier of each of the robots, and a computer for computing the trajectories of said autonomous robots.

    Claims

    1. Method for managing a fleet of autonomous parking robots comprising a plurality of autonomous robots, controlled by a supervisor, characterized in that: 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 said supervisor Said supervisor comprises a computer and a memory for storing a digital map of the parking space, as well as means for telecommunication with said robots, a record of a unique identifier of each of said robots, and a computer for computing the trajectories of said autonomous robots Said method comprises the following steps: Intermittent steps of computing, by said supervisor, a plurality of actions each consisting of 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 said autonomous robots Intermittent steps of computing, for each of said actions, at least one task consisting of digital messages comprising a designation of an operation, associated with an identifier of one of said autonomous robots Episodic acquisition by the supervisor of digital messages transmitted by said robots, containing said unique robot identifier, the time-stamped geolocation data of said robot and, if applicable, the execution status of a task, 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 Computation by each of said robots of the commands for these actuators based on the active task message, local geolocation information and the status of its environment sensors.

    2. Method for managing a fleet of autonomous parking robots by a supervisor according to claim 1, characterized in that said actions further comprise a priority indicator and in that the method comprises episodic steps of recomputing the scheduling of actions and tasks based on said priority indicators.

    3. Method for managing a fleet of autonomous parking robots by a supervisor according to claim 1, characterized in that said 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 said 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. Method for managing a fleet of autonomous parking robots by a supervisor according to claim 1, characterized in that said 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 said 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. Method for managing a fleet of autonomous parking robots by a supervisor according to claim 1, characterized in that said supervisor automatically decides to assign the robot ROBi most suitable for the execution of said task to a task, taking into account one or more criteria such as the distance to be covered, the state of charge of the robots, the rate of use of each robot or the priority of said task.

    Description

    DETAILED DESCRIPTION OF A NON-LIMITING EXAMPLE OF THE INVENTION

    [0039] The present invention will be better understood on reading the detailed description of a non-limiting example of the invention which follows, with reference to the appended drawings, where:

    [0040] FIG. 1 shows a schematic view of a system according to the invention.

    [0041] The invention relates to the management of a fleet of robots whose actions are coordinated by a supervisor. The invention relates more particularly to a dissociation between: [0042] Computing the strategies for moving and optimizing the actions of the robot fleet, which is carried out by the supervisor only [0043] 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 said autonomous robots. [0044] Episodic transmission by each robot of information allowing the supervisor to reassess the missions,

    General Description of the System.

    [0045] 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).

    [0046] An example of such a robot is described in patent application EP3297876A1. However, the solution described in this document differs from the invention 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.

    [0047] 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.

    [0048] 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.

    [0049] 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.

    General Operating Principle

    [0050] Each valet robot (10) comprises the computer resources to control sequences of actions according to the instructions received, for example: [0051] 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) [0052] 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.

    [0053] 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: [0054] A receiving terminal (30) located in the vehicle reception area [0055] A smartphone (40) for example sending a message from an owner to retrieve his vehicle. [0056] Messages from a dedicated supervision interface

    [0057] 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.

    [0058] 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.

    Communication Protocol

    [0059] 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 scheduling system of the parking lot (50).

    [0060] The supervisor (20) manages the fleet of valet robots (10) and computes digital orders of two types: [0061] 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” [0062] Task: a task represents an elementary robot instruction. An action can generally be broken down into several tasks.

    [0063] Some examples of tasks:

    [0064] Load: task commanding the robot to bad a vehicle. The attributes of this task are for example the coordinates of the vehicle to be loaded. [0065] 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 [0066] 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. [0067] 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 [0068] 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.

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

    [0070] [POST] [0071] send the action [GET] [0072] /actions: list of all available Actions [0073] / actions/current: returns the Actions in progress [0074] / actions/{UUID}: returns an Action by UUID identifier

    [0075] [PUT] [0076] /actions/[UUID]/Cancel: cancels the Action (if has not started) [0077] modify the priority of the Action

    [0078] Valet Robot (10) Fleet Manager and Task Statuses

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

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

    [0081] 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.

    [0082] 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.

    [0083] The statuses of a task for the valet robot are: [0084] to be executed [0085] running [0086] executed [0087] aborted

    [0088] 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).

    [0089] 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: [0090] Waiting for an available robot [0091] Allocated to a valet robot designated by its identifier (which will replace the “to be executed” status) [0092] Human intervention requested [0093] Aborted [0094] Canceled

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

    Priority Managment of Actions

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

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

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

    Chained Actions

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

    [0100] 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.

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

    Integration with the Geographic Database

    [0102] 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.

    Multi-Robot Functionalities

    [0103] 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:”

    [0104] Said “free” status corresponds to an element accessible by any robot. Said “reserved for robot i” status authorizes access only to robot i and prohibits access and reservation for other robots. Said “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. Said “inaccessible” status prohibits access and/or reservation to all robots.

    [0105] Said 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.

    [0106] 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.

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

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

    [0112] Once the robot has passed a surface element, it is returned to the free state so that another robot can access this element.

    [0113] 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.