Multi-robot elevator taking scheduling method and device, electronic equipment and storage medium
By sharing status data among robots and sorting and distributing the schedule based on distance, the problems of chaotic waiting and low space utilization during the robot elevator ride are solved, and coordinated elevator scheduling with orderly entry and exit and low communication burden is achieved.
Patent Information
- Application Number
- CN202510932019.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-07
- Publication Date
- 2025-10-17
AI Technical Summary
In the existing technology, robot elevator dispatching has problems such as chaotic waiting queues, low space utilization, conflicts when entering and exiting the elevator, and over-reliance on central dispatching, resulting in low elevator utilization efficiency and high communication burden.
By periodically sharing status data between robots, generating a waiting list based on distance sorting, dynamically adjusting the waiting point, autonomously determining the eligibility to enter the elevator, and maintaining a safe distance in the elevator, distributed scheduling logic is used to enable robots to autonomously and collaboratively ride the elevator.
It realizes multi-robot elevator dispatching with orderly waiting, autonomous positioning, conflict-free entry and exit, and low communication burden, thus improving elevator space utilization and operating efficiency.
Smart Images

Figure CN120793657A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, and in particular to a multi-robot elevator dispatching method and device, an electronic device, and a storage medium. BACKGROUND
[0002] With the rapid popularization of commercial service robots, warehouse handling robots, and public facility inspection robots, multi-story buildings have become a typical working scenario for robots. When robots complete tasks such as cross-floor cleaning, distribution, and inspection, they must rely on elevators to achieve vertical displacement. Therefore, how to efficiently and reliably dispatch multiple robots in the same elevator has become a key issue that needs to be addressed by intelligent building management systems.
[0003] In the prior art, robot elevator dispatching mostly adopts the following schemes:
[0004] 1. Centralized dispatching mode: usually through a building server or a cloud platform to collect robot positions, tasks, and elevator states, and then a central node sends elevator instructions according to preset rules.
[0005] 2. Fixed or simple queuing strategy: research and products are mostly based on static methods such as "first-in, first-out" or fixed rectangular queues, lacking dynamic consideration of real-time robot positions and size differences.
[0006] 3. Rough space estimation: the number of robots that can be accommodated in an elevator is often referenced by "equipment quantity threshold" or mass load, without fine space division according to robot shape and size.
[0007] 4. Single-lane entry and exit logic: most systems only define "entry" and "exit" signals, without avoidance mechanisms for multiple robots blocking each other and path intersections, which easily forms a bottleneck at the door.
[0008] 5. High communication dependency: the dispatching process relies on continuous wireless network connection and central computing resources, and once the network is limited or the central node fails, the elevator process is blocked.
[0009] The above prior art schemes have the following problems in actual deployment: Queuing for the elevator is easily chaotic: robots lack real-time distance-based sorting and rearrangement, and often accumulate and block the channel at the elevator door. Low efficiency of elevator space utilization: the robot's circumscribed circle diameter is not mapped to the car plane size, resulting in loose layout or local congestion. Process of entering and exiting the elevator is prone to conflict: there is no yielding and batch entering strategy for multiple robot interactions, and path interlocking, stagnation, and waiting often occur. High risk of single-point central node: any network delay or server failure will directly affect the elevator capacity of all robots. High communication burden and energy consumption: high-frequency reporting and centralized computing consume bandwidth and energy, which is not conducive to long-term operation of large-scale robots. SUMMARY
[0010] Therefore, the embodiments of the present application provide a multi-robot elevator dispatching method and device, an electronic device and a storage medium to solve the problems of the prior art, such as disordered waiting, low space utilization, conflict in entering and exiting the elevator, and excessive dependence on central dispatching.
[0011] In a first aspect, the embodiments of the present application provide a multi-robot elevator dispatching method, which includes periodically sharing predetermined state data among robots, maintaining a waiting order list arranged from near to far from the elevator center based on the state data in each robot, assigning a corresponding waiting point to each robot with a first to several order number according to the waiting order list, updating the target waiting point of the corresponding robot in real time when detecting the order change, calculating the capacity value of the number of robots that the elevator can accommodate after the elevator arrives at the departure floor, and generating an internal station point sequence consistent with the capacity value based on the elevator center coordinates and direction, each waiting robot independently judging whether to obtain the elevator access qualification according to the order number in the waiting order list, the capacity value, and the current number of robots in the elevator, the robot obtaining the elevator access qualification sequentially driving to the corresponding station point according to the order from near to far from the elevator center, and keeping a distance of no less than a preset safety distance from the previous robot during the driving process, and each robot in the elevator continuously detecting the floor where the elevator is during the elevator operation, sequentially driving out of the elevator according to the exit priority when detecting that the floor where the elevator is is consistent with the target floor of the robot, the robot with a lower priority keeping the original station during the door occupation period, and updating the elevator stage state of the robot after driving out of the elevator.
[0012] In a second aspect, the embodiment of the present application provides a multi-robot elevator dispatching device, comprising: a sharing module configured to periodically share predetermined state data among robots, and maintain a waiting elevator ordering list arranged from near to far according to the distance between the robots and the elevator center based on the state data; a detection module configured to assign corresponding waiting points to the robots with ordering numbers from 1 to several according to the waiting elevator ordering list, and update the target waiting point of the corresponding robot in real time when detecting an ordering change; a generation module configured to calculate a capacity value of the number of robots that can be accommodated by the elevator after the elevator arrives at a departure floor, and generate an internal station point sequence consistent with the capacity value based on the coordinates and direction of the elevator center; a judgment module configured to determine whether each waiting robot obtains an elevator access qualification independently according to the ordering number of the robot in the waiting elevator ordering list, the capacity value, and the current number of robots in the elevator; an entry module configured to make the robot that obtains the elevator access qualification travel to the corresponding station point in order according to the distance from the elevator center from near to far, and keep a distance of no less than a preset safety distance from the previous robot during the travel; and an exit module configured to detect the floor where the elevator is located by each robot in the elevator during the operation of the elevator, and make the robot travel out of the elevator in order according to the elevator exit priority when detecting that the floor where the elevator is located is consistent with the target floor of the robot, and keep the original station during the period when the robot is occupied at the door, and update the elevator access stage state of the robot after the robot travels out of the elevator.
[0013] In a third aspect, the embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the above method when executing the computer program.
[0014] In a fourth aspect, the embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the above method when executed by a processor.
[0015] The above at least one technical scheme adopted by the embodiment of the present application can achieve the following beneficial effects:
[0016] By periodically sharing the predetermined state data among the robots, a waiting list arranged in order of distance from the elevator center is maintained locally in each robot based on the state data; according to the waiting list, the robots with the first to several order numbers are respectively assigned to the corresponding waiting points, and the target waiting point of the corresponding robot is updated in real time when a change in the order is detected; after the elevator arrives at the departure floor, a capacity value of the number of robots that can be accommodated in the elevator is calculated, and an internal station point sequence consistent with the capacity value is generated based on the coordinates and direction of the elevator center; each waiting robot independently determines whether it has the right to enter the elevator according to its order number in the waiting list, the capacity value, and the current number of robots in the elevator; the robots that have the right to enter the elevator are arranged in order of distance from the elevator center, and sequentially move to the corresponding station point while maintaining a distance of no less than a preset safety distance from the previous robot; during the operation of the elevator, each robot in the elevator continuously detects the floor where the elevator is located, and when it is detected that the floor where the elevator is located is consistent with the target floor of the robot, the robot sequentially exits the elevator according to the priority of exiting the elevator, the robot with a lower priority remains in the original position during the period when the door is occupied, and the robot updates its boarding stage state after exiting the elevator. The application can realize orderly waiting, autonomous stationing, conflict-free entering and exiting the elevator, and low-communication decentralized cooperation. BRIEF DESCRIPTION OF DRAWINGS
[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.
[0018] Figure 1 is a flowchart of the multi-robot elevator dispatching method provided by the embodiments of the present application;
[0019] Figure 2 is a structural schematic diagram of the multi-robot elevator dispatching device provided by the embodiments of the present application;
[0020] Figure 3 is a structural schematic diagram of the electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION
[0021] In the following description, specific details such as specific system structures, techniques, etc. are presented in order to thoroughly understand the embodiments of the present application, but it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details that hinder the description of the present application.
[0022] In a multi-floor scenario, robots need to rely on elevators to achieve vertical movement. However, current multi-robot systems generally have the following problems in elevator dispatching:
[0023] 1. The waiting queue is chaotic, and robots lack effective sorting and coordination mechanisms;
[0024] 2. The space utilization rate in the elevator is low, and the size and distribution of robots are not fully considered;
[0025] 3. The in-out elevator sequence is disordered, which is prone to path conflicts and mutual shielding;
[0026] 4. It usually relies on a central dispatching system and lacks decentralized autonomous ability.
[0027] Therefore, there is an urgent need for an efficient, autonomous, and low-communication-burden robot coordination method for taking an elevator.
[0028] In view of the problems existing in the prior art, the present application provides a self-scheduling method for multiple robots to take an elevator in a shared building environment (i.e., a multi-robot elevator dispatching method), which enables robots to autonomously complete the entire process of waiting for an elevator, entering an elevator, taking an elevator, and getting off an elevator without relying on a central controller. The core technical idea of the present application includes:
[0029] 1. Dynamic waiting point allocation mechanism: robots are dynamically sorted according to the distance from the elevator and autonomously select the front waiting point to avoid accumulation conflicts.
[0030] 2. Elevator station calculation method under robot size perception: dynamically divide the elevator space according to the diameter of the robot's circumscribed circle to improve space utilization.
[0031] 3. Autonomous judgment mechanism for elevator entry qualification: each robot determines whether it can enter the elevator according to the sorting number and elevator capacity.
[0032] 4. Elevator entry conflict avoidance strategy: the robot behind detects whether there is an obstruction in front and enters with an interval to avoid path jamming.
[0033] 5. Exit priority control mechanism: automatically assign exit priority according to the position in the elevator to ensure orderly and smooth exit.
[0034] 6. Completely distributed dispatching logic: robots share state information and make independent decisions without the need for central controller coordination.
[0035] The technical solutions of the present application will be described in detail below in conjunction with the drawings and specific embodiments.
[0036] Figure 1is a flowchart of a multi-robot elevator dispatching method provided by an embodiment of the present application. As shown in Figure 1 The multi-robot elevator dispatching method can specifically include the following steps.
[0037] S101, periodically sharing predetermined state data among the robots, and maintaining a waiting elevator sorting list arranged in order of distance from the elevator center among the robots based on the state data;
[0038] S102, assigning corresponding waiting elevator points to the robots with sorting numbers from 1 to several according to the waiting elevator sorting list, and updating the target waiting elevator point of the corresponding robot in real time when a sorting change is detected;
[0039] S103, after the elevator arrives at the departure floor, calculating a capacity value of the number of robots that the elevator can accommodate, and generating an internal station point sequence consistent with the capacity value based on the elevator center coordinates and direction;
[0040] S104, each waiting robot independently determines whether it has the right to enter the elevator according to its sorting number in the waiting elevator sorting list, the capacity value, and the current number of robots in the elevator;
[0041] S105, the robots that have the right to enter the elevator are arranged in order of distance from the elevator center, and sequentially move to the corresponding station point while maintaining a distance of no less than a preset safety distance from the previous robot;
[0042] S106, during the operation of the elevator, each robot in the elevator continuously detects the floor on which the elevator is located, and when it is detected that the floor on which the elevator is located is consistent with the target floor of the robot, the robot sequentially exits the elevator according to the exit priority, the robot that has a lower priority remains in the original station during the period when the door is occupied, and the robot updates its elevator boarding stage state after exiting the elevator.
[0043] In some embodiments, periodically sharing predetermined state data among the robots, and maintaining a waiting elevator sorting list arranged in order of distance from the elevator center among the robots based on the state data, includes the following steps.
[0044] Each robot broadcasts state data carrying the current position coordinates, target floor information, elevator boarding stage identifier, and time marker using a communication module within a preset time interval;
[0045] Each robot receives the state data of other robots and merges it with its own state data to form a shared data set containing the state of all robots;
[0046] Each robot calculates the distance value between itself and the elevator center and the distance value between other robots and the elevator center based on the shared data set;
[0047] Sort the robot IDs by distance value from small to large, generate a waiting list, and use the list index as the sorting number of the corresponding robot.
[0048] Specifically, in this embodiment, four service robots, numbered R1, R2, R3, and R4, are deployed within a building environment. The center coordinates of the elevator car are labeled (0,0), and the car's orientation θ points toward the door. Each robot, relying on a positioning module that integrates an inertial measurement unit with a wheeled odometry, can obtain its own two-dimensional position coordinates (x, y) and heading angle ψ in real time within a unified map coordinate system. To achieve fully decentralized collaborative elevator rides, this embodiment periodically shares state data and maintains a local waiting list for each robot through the following steps.
[0049] 1. Periodic broadcast of status data
[0050] 1.1 The preset status broadcast interval is 100 milliseconds. Each robot automatically triggers the sending of status data when this interval is reached.
[0051] 1.2 The status data is jointly generated by the positioning module, task scheduling module and elevator state machine. The fields include: current position coordinates (x, y), target floor number F, elevator stage identifier S and time stamp T.
[0052] 1.3 The communication module uses a low-power self-organizing network protocol based on 2.45 GHz to send the status data to all robots in the same layer in the form of broadcast; if the channel is temporarily blocked, the communication module automatically retries three times and then enters the next cycle.
[0053] 2. Construction of shared datasets
[0054] 2.1 Each robot continuously monitors the physical channel, unpacks the captured status data of other robots on the same layer, and writes it into the local cache.
[0055] 2.2 Before the end of the current broadcast cycle, the robot merges the latest state data of the robot with the cache data to form a complete shared data set, which will be consumed by the algorithm module at the beginning of the next broadcast cycle at the latest.
[0056] 2.3 If a robot does not receive updates from another robot for more than two broadcast cycles, its last record will be marked as expired but not deleted for the time being to prevent queue fluctuations caused by instantaneous communication packet loss.
[0057] 3. Calculation of waiting distance value
[0058] 3.1 The algorithm module traverses the shared data set and uses the following formula to calculate the Euclidean distance D from each robot to the elevator center: D = √[(x-0) 2 +(y-0) 2 ].
[0059] 3.2 After the calculation is completed, the local label is added to the distance mapping table with the corresponding distance value, and all valid robot entries are retained in the mapping table.
[0060] 3.3 If it is detected that an entry reaches three expired counts, the algorithm module removes the entry to ensure that the mapping table reflects the real-time queue.
[0061] Four, generation of the waiting train sorting list
[0062] 4.1 The algorithm module performs ascending sorting according to the distance values in the mapping table, and the sorting result arranges the robot identifiers in order of proximity and distance.
[0063] 4.2 After the sorting is completed, the waiting train sorting list is generated, and the list index position is written into the local sorting sequence register.
[0064] 4.3 If the mapping table is updated again due to new data arrival within the same broadcast cycle, the algorithm module immediately recalculates the distance and refreshes the sorting; when the maximum difference between two refreshes is less than zero point one meter, it is determined that the sorting is stable, and the target point switching is not triggered.
[0065] Five, detection and response of sorting changes
[0066] 5.1 The control logic module continuously monitors whether the sorting sequence in the register is different from the value of the last period.
[0067] 5.2 If the sequence number changes, the control logic module issues a “target waiting train point update” event to the path planning module, and attaches the new target point coordinates.
[0068] 5.3 The path planning module uses the incremental A* algorithm to re-plan the collision-free path on the latest environment grid map, and during the planning process, other robot poses are regarded as dynamic obstacles to ensure the safety of the travel path.
[0069] Six, travel and avoidance mechanism
[0070] 6.1 The motion control module drives the chassis to move according to the new path, and collects real-time forward laser radar data during the movement.
[0071] 6.2 When the radar detects other robots within one meter in front and predicts that the occupancy time exceeds two seconds, the motion control module enters the avoidance mode, slows down and maintains stop at a safe distance; once the path is clear, it immediately resumes travel.
[0072] 6.3 After reaching the target waiting train point, the robot switches the boarding stage identifier to “has waited for the train”, and updates the shared data set in the next state broadcast, triggering the queue iteration.
[0073] By the above implementation manner, the embodiment can maintain a distance ascending waiting elevator sorting list in each robot locally and in real time without relying on a central server, and dynamically adjust the waiting elevator target point when the sorting changes, so that the robot queuing process continues to be orderly and non-blocking, and lays a reliable foundation for subsequent elevator entry qualification judgment and station position path planning.
[0074] In some embodiments, according to the waiting elevator sorting list, the robots with sorting numbers in turn from 1 to several are respectively assigned corresponding waiting elevator points, and the target waiting elevator point of the corresponding robot is updated in real time when a sorting change is detected, including:
[0075] A set of waiting elevator point coordinates is preset outside the elevator door and arranged along the robot travel direction, the number of waiting elevator points is not less than the number of robots that can wait at the same time, and the spacing between adjacent waiting elevator points is not less than the sum of the circumscribed circle diameter of the robot and the safety margin;
[0076] Each robot reads its own sorting number in the waiting elevator sorting list, sets the waiting elevator point coordinates corresponding to the sorting number as the target waiting elevator point, and autonomously plans a collision-free travel path to the target waiting elevator point according to the current pose;
[0077] When the waiting elevator sorting list changes due to any robot state data update, the sorting numbers before and after the sorting change are compared, and if the sorting number of the robot changes, the waiting elevator point coordinates corresponding to the changed sorting number are reacquired, and the travel path is re-planned to switch the target waiting elevator point;
[0078] During the robot traveling to the target waiting elevator point, if it is detected that the front path is occupied by other robots and the expected occupation time exceeds a preset threshold, a local avoidance decision is executed to maintain a safe distance from the front robot until the path is restored.
[0079] Specifically, in the embodiment, the floor corridor width is 2.5m, the elevator door width is 1.0m, and four waiting elevator points P1, P2, P3 and P4 are preset outside the elevator door along the robot travel direction (hereinafter referred to as longitudinal direction). The center of the waiting elevator point is located on the extension line of the center line outside the elevator door, and the longitudinal spacing is set to 0.85m; this value is equal to the sum of the maximum robot circumscribed circle diameter 0.6m and the safety margin 0.25m in the scene. Since the maximum number of robots allowed to gather at the elevator door at a time is four, the number of waiting elevator points is consistent with the maximum waiting capacity.
[0080] I. Waiting elevator point assignment
[0081] When the robot receives the local waiting list, the control logic module immediately reads its own order number. For example, if the order number is 2, the robot directly takes the P2 coordinate (-0.15, 0.85) as the target waiting point. The path planning module performs a global path search based on the real-time grid map, and dynamically inserts pose constraints along the way to avoid collisions. The search result is issued to the motion control module in the form of a path curve.
[0082] II. Real-time adaptation of order changes
[0083] The order list will change due to distance updates. If R3 arrives at the elevator door late by bypassing the cleaning robot, causing the order number to change from 3 to 4, the control logic module detects the change and immediately calls the waiting point mapping function to get the new coordinates of P4 (-0.15, 2.55), then interrupts the original path and replans. To reduce frequent switching, if the difference between the new and old distances is less than 0.1m and the duration is less than 200ms, filter this switch.
[0084] III. Local avoidance during travel
[0085] When the robot executes path tracking, it parses the forward 180° laser point cloud at a frequency of 10Hz. Once it detects another robot in front of 0.6m and dynamically predicts that it will stay in the vehicle's travel lane for more than 1.5s, the robot enters avoidance mode:
[0086] If there is more than 0.3m of lateral clearance, it will offset 0.25m laterally and return to the main path after the detour is complete;
[0087] If lateral clearance is limited, it will slow down to 0 and maintain a 0.5m safety distance from the front robot until the path is clear.
[0088] After avoidance is complete, the motion control module automatically resumes cruising speed 0.8m / s to continue driving to the target waiting point.
[0089] IV. Arrival determination and state update
[0090] When the robot center is less than 0.05m from the target waiting point and the orientation error is less than 5°, the path task is marked as complete and the boarding phase identifier is updated to "has waited". Subsequent state data broadcasts write the new phase to the shared dataset, causing other robots to recalculate the waiting order, thus maintaining the queue always in order.
[0091] Through the above implementation process, even in the case of narrow corridors and large differences in robot arrival times, robots can still occupy positions in order and quickly switch target points when the queue is rearranged, avoiding elevator port aggregation or waiting redundancy, thus ensuring the continuous order and safety of the waiting process.
[0092] In some embodiments, calculating the capacity value of the number of robots that an elevator can accommodate, and generating an internal station position sequence consistent with the capacity value based on the elevator center coordinates and orientation, includes:
[0093] Collect the elevator length and width parameters and the maximum diameter of the circumscribed circle in the current set of elevator waiting robots;
[0094] Divide the elevator length and width by the maximum diameter of the circumscribed circle and round down to the nearest integer to get the number of slots that can be placed in the depth direction and the transverse direction. Multiply the number of slots that can be placed in the two directions to determine the capacity value.
[0095] With the elevator center as the origin and the elevator pointing toward the door as the longitudinal positive direction, a local coordinate system of the car is established, and the elevator plane is discretized into a grid.
[0096] Extract the grid center points with the same capacity values in order from inside to outside and from left to right, and compose the internal station point sequence with the coordinates of the grid center points in order;
[0097] The capacity value and internal station position sequence are broadcast to the elevator waiting robot through the communication interface between the elevator and the robot.
[0098] Specifically, this example is based on an elevator with a car length of 2.10 meters and a width of 1.40 meters. The elevator door is located on the longitudinally positive side of the car. There are three waiting robots on the floor, and the maximum diameter of their circumscribed circle is 0.60 meters. The following describes how to calculate capacity and generate an internal station sequence using actual numerical values.
[0099] 1. Elevator parameters and robot size collection
[0100] During initialization, the elevator control board writes the car length and width into a shared data area. The waiting robots provide their respective circumscribed circle diameters via broadcasted status data. The elevator detection thread iterates through this set and selects the largest diameter, 0.60 meters, as the baseline size for subsequent grid divisions.
[0101] 2. Capacity value calculation
[0102] 2.1 Calculation of the number of grids that can be placed in the depth direction: Divide the car length 2.10 meters by 0.60 meters to get 3.5, and round down to 3 grids.
[0103] 2.2 Calculation of the number of grids that can be placed in the horizontal direction: Divide the car width 1.40 meters by 0.60 meters to get 2.33, and round down to 2 grids.
[0104] 2.3 Capacity Calculation: Multiply the depth of 3 squares by the width of 2 squares to get a capacity of 6. This determines that this elevator can accommodate a maximum of six robots.
[0105] III. Car local coordinate system establishment
[0106] The car center is taken as the origin, and the longitudinal positive direction points to the elevator door, and the transverse positive direction points to the right side of the passenger. The car plane is discretized with a grid size of 0.60 meters to form three rows and two columns, i.e., six grids. The center point of each grid is 0.60 meters away from the adjacent center point.
[0107] IV. Internal station site sequence generation
[0108] 4.1 According to the principle of "from inside to outside and from left to right", the six grid center points are extracted in turn from the innermost row opposite the door.
[0109] 4.2 Extraction sequence example: first row left, first row right, second row left, second row right, third row left, and third row right.
[0110] 4.3 The coordinates of the above six center points are sequentially written into station site sequences take1 to take6.
[0111] V. Data broadcast
[0112] The elevator sends a broadcast frame containing the following fields to the waiting robot through the local wireless interface once:
[0113] The capacity value is 6;
[0114] The relative coordinates of the station site sequences take1 to take6;
[0115] The number of robots that have entered this elevator is counted, and the initial value is 0.
[0116] After receiving, the robot determines whether it has the right to enter the elevator according to its own order number and the real-time counter, and plans a path to the corresponding station site after obtaining the qualification.
[0117] VI. Use of station sites
[0118] When the robot enters the car, the navigation module performs positioning and fine tuning according to the target coordinates in the station site sequence to ensure that the robot stays at the center of the divided grid, avoiding lateral interference with adjacent robots. If a new situation occurs where the robot diameter is greater than 0.60 meters, the elevator will recalculate the maximum diameter and update the capacity value and station sequence in the next trip.
[0119] Through the steps of the above embodiment, this embodiment can dynamically generate an accurate matching station site sequence and broadcast it to the waiting robot in real time without the need for a central server, according to the actual size of the car and the maximum external dimensions of the robot, to achieve efficient use of space and safe and orderly stationing.
[0120] In some embodiments, each waiting robot independently determines whether to obtain the elevator access qualification according to the sequence number of itself in the waiting sequence list, the capacity value, and the current number of robots in the elevator, including:
[0121] Each waiting robot obtains the capacity value and the current number of robots in the elevator in real time through a communication interface between the elevator and the robot;
[0122] Each waiting robot reads the sequence number of itself in the waiting sequence list, and obtains the remaining capacity threshold by subtracting the current number of robots in the elevator from the capacity value;
[0123] Compare the sequence number with the remaining capacity threshold, and when the sequence number is less than or equal to the remaining capacity threshold, generate an elevator access permission identifier and switch the elevator access phase identifier to the elevator access phase;
[0124] When the sequence number is greater than the remaining capacity threshold, keep the waiting phase identifier and continuously listen to the elevator state update.
[0125] Specifically, in the embodiment, the elevator has broadcasted the capacity value 6 and the current number of robots 0 to the waiting robot, and the floor port has four waiting robots R1, R2, R3, and R4, and the sequence numbers of the four robots in the waiting sequence list are 1, 2, 3, and 4 respectively.
[0126] I. Real-time acquisition of capacity value and current number
[0127] 1.1 The elevator controller immediately increments the current number of robots in the elevator by one each time it detects that a robot has passed the door port judgment line, and broadcasts the updated count value to the waiting area through the wireless communication module.
[0128] 1.2 The waiting robot receives the broadcast frame in the periodic state listening thread, parses the capacity value and the updated current number of robots, and writes them into the local memory register.
[0129] II. Calculation of the remaining capacity threshold
[0130] 2.1 Taking R1 as an example, it reads the capacity value 6 and the current number of robots in the elevator 0 in the latest period, and calculates the remaining capacity threshold 6.
[0131] 2.2 R2, R3, and R4 also complete the calculation, and since no one is accessing the elevator, the four robots all get the threshold 6.
[0132] III. Independent determination of elevator access qualification
[0133] 3.1 Compare the sequence number with the threshold
[0134] For R1: sequence number 1 ≤ 6, which meets the condition;
[0135] For R2: sequence number 2≤6, meet the condition;
[0136] For R3: sequence number 3≤6, meet the condition;
[0137] For R4: sequence number 4≤6, meet the condition.
[0138] 3.2 Generate the elevator entry permission identifier
[0139] The robot that meets the condition switches the elevator entry stage identifier from "has queued" to "entry" in the internal state machine, and publishes a "start entry" event to the local control thread.
[0140] 3.3 Condition not met processing
[0141] If there is a robot with a sequence number greater than the threshold, it remains in the "has queued" state and enters a waiting listening loop until the next floor cycle or the number of robots in the elevator is updated and the threshold is recalculated.
[0142] Four, dynamic update example
[0143] 4.1 R1 first passes through the door and enters the elevator, and the elevator controller updates the current number of robots to 1 and broadcasts immediately.
[0144] 4.2 R2 to R4 listen to the update and recalculate the threshold, which becomes 5; since sequence numbers 2, 3, and 4 are still less than or equal to 5, the three robots continue to have entry permission.
[0145] 4.3 When R1, R2, and R3 enter in succession, the current number of robots increases to 3, and the threshold becomes 3;
[0146] R1 and R2 are already in the elevator;
[0147] R3 sequence number 3≤3, still eligible;
[0148] R4 sequence number 4>3, loses the entry eligibility and automatically retracts to "has queued" and pauses movement.
[0149] 4.4 R4 remains in the state listening until the next elevator run is completed and broadcasts the new capacity value and the current number of robots, and then re-executes the judgment process.
[0150] Five, state synchronization and safety mechanism
[0151] 5.1 Each robot that has entry permission sends a "about to enter" short frame before crossing the door, so that the robots behind can learn about its action plan in time and prevent congestion caused by simultaneous rush to the door.
[0152] 5.2 If the robot detects that the door is abnormally blocked for more than three seconds during the process of entering the elevator, the entering elevator permission mark will be withdrawn and the stage mark will be reset to "waiting for elevator", at this time the sorting sequence number remains unchanged, and it waits for the next round of threshold value update.
[0153] Through the above implementation manner, the waiting elevator robot can independently and accurately determine its own elevator entering qualification according to the local sorting sequence number, real-time capacity value and the current number of robots in the elevator without the center server, and dynamically responds to the capacity change in real time, so as to ensure that the elevator load is not over-limited and the elevator entering order is well-ordered.
[0154] In some embodiments, after sequentially driving to the corresponding station site and keeping a distance of not less than a preset safety distance from the previous robot during the driving process, the method further comprises:
[0155] In the group of robots obtaining the elevator entering qualification, the distance values of each robot from the elevator door are compared to determine the first entering robot with the minimum distance value;
[0156] After the first entering robot passes the elevator door judgment line, the elevator door control interface is called to send a keep-open instruction, and a door opening control mark is set in the state data of the robot;
[0157] Whenever a robot with elevator entering qualification reaches the corresponding station site, arrival confirmation information is broadcast to the remaining entering robots, and the current number of robots in the elevator is recorded in the counter;
[0158] The first entering robot compares the current number of robots in the elevator with the capacity value to determine whether the target number of entering robots has been reached. When it is determined that all robots with elevator entering qualification have reached the corresponding station site, the door opening control mark is cleared and a release instruction is sent to release the elevator door control.
[0159] Specifically, the embodiment uses the scenario of the capacity value three, the station site sequence take one to take three, and the waiting elevator robots are robot one, robot two and robot three. The three robots have sequentially driven to the corresponding station site from near to far and kept a one-meter safety distance during the driving process.
[0160] I. Determination of the first entering robot
[0161] When the three robots obtain the elevator entering qualification, the navigation module obtains the Euclidean distance between the robot and the center line of the elevator door in real time. The elevator control thread compares the three distance values in the same cycle, and the one with the minimum distance is selected as the first entering robot. The comparison result shows that robot one is 0.35 meters away from the door, which is the minimum distance, so it is determined as the first entering robot.
[0162] II. Issuance of the door opening keep instruction
[0163] The robot one vehicle front edge passes through the door threshold zero point two seconds after the door interface trigger, write to the elevator control board to keep the open flag. At the same time, the robot one adds the door control identification in the state data, and publishes the "door has been kept" message in the next frame state broadcast, for subsequent robot synchronization.
[0164] III. Station arrival confirmation and counter update
[0165] 3.1 Robot two enters the elevator and straightly runs along the navigation path to the station point take two, when the center point distance from the target is less than zero point zero five meters and the heading error is less than five degrees, the state broadcast module is called to send the "to position" short frame.
[0166] 3.2 The current robot number counter in the elevator control board is incremented to two after receiving the short frame, and immediately relays the updated value through the wireless channel.
[0167] 3.3 Robot three repeats the same process, finally increments the counter to three.
[0168] IV. First entering robot door opening release logic
[0169] Robot one continuously monitors the counter update event. When the counter value is equal to the capacity value three, robot one judges that all robots with the right to enter the elevator have arrived at the corresponding station point, and then clears the door control identification and sends the release instruction to the elevator control board. After receiving the release instruction, the elevator door enters the normal closing delay timing, and the delay time is four seconds, to ensure that there is no residual obstacle in the door area before executing the closing action.
[0170] V. Abnormal timeout protection
[0171] If the first entering robot monitors that the counter value does not reach the capacity value within ten seconds in the door control keeping state, or receives the elevator safety light curtain trigger signal at any time, it immediately broadcasts the "keeping extension" notification and extends the door keeping timeout time by five seconds, during which the counter monitoring is repeated until the release condition is met or someone intervenes.
[0172] Through the above process, the elevator door is uniformly controlled by the first entering robot until all the entering robots are released, preventing repeated opening and closing of the door body or premature closing due to misjudgment, ensuring the safety and orderly completion of the entering action of multiple robots.
[0173] In some embodiments, when it is detected that the floor of the elevator is consistent with the target floor of the robot, the robots are sequentially driven out of the elevator according to the exiting priority, including:
[0174] Each robot in the elevator periodically reads the elevator floor code, and when the elevator floor code is the same as the target floor of the robot, the robot identification is added to the exit queue.
[0175] For the robots in the out-queue, the out-elevator priority list is generated according to the distance between the current station point and the center point of the elevator door from near to far.
[0176] The robot with the highest ranking drives to the outside of the elevator door along the pre-planned collision-free path, and keeps a distance of no less than the preset safety distance from the front obstacle during the driving process.
[0177] The low-priority robot continuously detects the occupancy state of the elevator door, and pauses moving when detecting that the elevator door is occupied or the distance from the front robot is less than the safety distance, and continues driving after the door is empty.
[0178] Whenever a robot completely drives out of the elevator door determination line, the robot updates its own elevator stage identifier to "out-elevator complete", and refreshes the current number of robots in the elevator and the out-queue information through state data broadcast to trigger the next robot to start the out-elevator action.
[0179] Specifically, this embodiment continues the scenario of the aforementioned station sequence take1 to take3, and the three robots correspond to different target floors: robot one targets the eighth floor, robot two targets the sixth floor, and robot three targets the eighth floor. The elevator car is in an up state.
[0180] I. Detecting the floor and joining the out-queue
[0181] 1.1 The elevator control panel publishes a floor code every one hundred milliseconds through the CAN bus.
[0182] 1.2 When the elevator reaches the sixth floor and stops stably, robot two retrieves the floor code as six, which is consistent with its own target floor, so it writes its own identifier into the local out-queue and broadcasts the "out" message in the shared data set.
[0183] 1.3 Robot one and robot three do not match the floor, and continue to maintain the "in-elevator" state.
[0184] II. Generation of the out-elevator priority list
[0185] 2.1 The out-queue currently only contains robot two. Its navigation module reads the Euclidean distance between its own station point take2 and the center point of the elevator door as 0.45m.
[0186] 2.2 Since the queue only has one element, the out-elevator priority list {robot two} is directly generated.
[0187] 2.3 Robot two switches the stage identifier to "out-elevator execution" after obtaining the first priority.
[0188] III. First robot out-elevator
[0189] 3.1 Robot 2 drives out of the elevator doorway along the pre-planned straight path, maintaining a speed of 0.5 m / s and a 0.3 m safety distance through the front laser ranging.
[0190] 3.2 Robot 1 and Robot 3 listen to the elevator doorway occupancy signal in real time. When the laser sensor detects that the doorway is occupied by Robot 2, the movement is paused and the respective positions are maintained.
[0191] Four, stage update and queue refresh
[0192] 4.1 After Robot 2's vehicle rear edge crosses the doorway decision line by 0.1 m, the navigation module triggers the "out-of-elevator completion" event, and the elevator stage identifier is updated to "out-of-elevator completion".
[0193] 4.2 At the same time, the current number of robots in the elevator is decremented to 2 through state data broadcast, and the entry in the out-of-elevator queue is cleared.
[0194] 4.3 The elevator door is automatically closed, and the car continues to go up.
[0195] Five, out-of-elevator process for the next target floor
[0196] 5.1 After the elevator reaches the eighth floor and stabilizes, Robot 1 and Robot 3 simultaneously detect that the floor code is consistent with the target floor, and each joins the out-of-elevator queue.
[0197] 5.2 The control thread sorts the two robots' position points to the doorway center point distance in ascending order as 0.35 m (Robot 1) and 0.95 m (Robot 3), generating a priority list {Robot 1, Robot 3}.
[0198] 5.3 Robot 1 drives to the doorway along the collision-free path, and Robot 3 continuously detects the doorway occupancy state.
[0199] 5.4 After Robot 1 crosses the decision line and completes the out-of-elevator, the counter is updated to 1, and the "doorway empty" flag is broadcast in the shared data set.
[0200] 5.5 After receiving the "doorway empty" flag, Robot 3 resumes driving and safely drives out at a speed of 0.5 m / s, finally decrementing the counter to 0.
[0201] Six, exception handling
[0202] If at any time it is detected that the elevator doorway is continuously occupied by an unexpected obstacle for more than three seconds, the out-of-elevator robot pauses and issues a "doorway blocked" notification through broadcast, the elevator control panel delays the door closing and triggers a voice prompt, and after the obstacle is removed, the out-of-elevator queue is re-ordered and the out-of-elevator process is resumed.
[0203] Through the flow of the above embodiment, the robot is arranged to exit the elevator in a distance sorting order, door occupancy detection and dynamic pause and resume, and real-time synchronization of the counter and the shared data set after exiting the elevator, so as to ensure the safety and order of the multiple robots in the narrow elevator car.
[0204] The following is an apparatus embodiment of the present application, which can be used to execute the method embodiments of the present application. For details not disclosed in the apparatus embodiments of the present application, please refer to the method embodiments of the present application.
[0205] Figure 2 is a structural schematic diagram of a multi-robot elevator dispatching apparatus provided by an embodiment of the present application. As shown in Figure 2 , the multi-robot elevator dispatching apparatus comprises:
[0206] a sharing module 201, configured to periodically share predetermined state data among the robots, and maintain a waiting-for-elevator sorting list arranged from near to far according to the distance from the elevator center based on the state data;
[0207] a detection module 202, configured to assign corresponding waiting-for-elevator points to the robots with sorting numbers from 1 to n according to the waiting-for-elevator sorting list, and update the target waiting-for-elevator point of the corresponding robot in real time when detecting a sorting change;
[0208] a generation module 203, configured to calculate a capacity value of the number of robots that can be accommodated in the elevator after the elevator arrives at the departure floor, and generate an internal station point sequence consistent with the capacity value based on the coordinates and direction of the elevator center;
[0209] a judgment module 204, configured to independently judge whether each waiting-for-elevator robot obtains the elevator entry qualification according to the sorting number of the robot in the waiting-for-elevator sorting list, the capacity value, and the current number of robots in the elevator;
[0210] a driving-in module 205, configured to drive the robot that obtains the elevator entry qualification to the corresponding station point in order according to the distance from the elevator center from near to far, and keep a distance of no less than a preset safety distance from the previous robot during the driving process;
[0211] a driving-out module 206, configured to detect the floor where the elevator is located during the operation of the elevator, and drive the robots in the elevator out of the elevator in order according to the elevator exit priority when detecting that the floor where the elevator is located is consistent with the target floor of the robot. The robot that has a lower priority keeps the original station during the period when the door is occupied, and updates the elevator-riding stage state after the robot drives out of the elevator.
[0212] In some embodiments, Figure 2The sharing module 201 of each robot broadcasts state data carrying the current position coordinates, target floor information, elevator boarding stage identifier and time mark within a preset time interval using the communication module; each robot receives the state data of other robots and merges it with its own state data to form a shared data set containing the state of all robots; each robot calculates the distance value between itself and the elevator center and the distance value between other robots and the elevator center according to the shared data set; the robot identifiers are sorted in ascending order of distance value to generate a waiting elevator sorting list, and the list index is used as the sorting number of the corresponding robot.
[0213] In some embodiments, Figure 2 The detection module 202 of each robot is preset with a set of waiting point coordinates located outside the elevator door and arranged along the direction of robot travel, the number of waiting points is not less than the number of robots that can wait at the same time, and the spacing between adjacent waiting points is not less than the sum of the diameter of the robot's circumscribed circle and the safety margin; each robot reads its sorting number in the waiting elevator sorting list, sets the waiting point coordinates corresponding to the sorting number as the target waiting point, and autonomously plans a collision-free travel path to the target waiting point according to the current pose; when the waiting elevator sorting list changes due to the update of the state data of any robot, the sorting numbers before and after the change are compared, and if the sorting number of the robot changes, the waiting point coordinates corresponding to the changed sorting number are reacquired, and the travel path is re-planned to switch the target waiting point; during the robot's travel to the target waiting point, if it is detected that the path ahead is occupied by other robots and the expected occupation time exceeds a preset threshold, a local avoidance decision is made to maintain a safe distance from the front robot until the path is restored.
[0214] In some embodiments, Figure 2 The generation module 203 collects the elevator length, width parameters and the maximum circumscribed circle diameter in the current set of waiting robots; divides the maximum circumscribed circle diameter by the elevator length and width respectively and takes the integer part to obtain the number of placeable grids in the longitudinal direction and the transverse direction, respectively, and multiplies the number of placeable grids in both directions to determine the capacity value; establishes a local coordinate system with the elevator center as the origin and the direction of the elevator facing the door as the longitudinal positive direction, and discretizes the elevator plane by gridding; in order from inside to outside and from left to right, the center points of the capacity value number of grids are extracted in sequence, and the coordinates of the grid center points are sequentially combined to form an internal station point sequence; the capacity value and the internal station point sequence are broadcast to the waiting robots through the communication interface between the elevator and the robot.
[0215] In some embodiments, Figure 2The judgment module 204 of each elevator waiting robot obtains the capacity value and the current number of robots in the elevator in real time through the communication interface between the elevator and the robot; each elevator waiting robot reads its own ranking sequence number in the elevator waiting ranking list, subtracts the current number of robots in the elevator from the capacity value to obtain a remaining accommodation threshold; the ranking sequence number is compared with the remaining accommodation threshold, when the ranking sequence number is less than or equal to the remaining accommodation threshold, an elevator entry permission identifier is generated and the elevator entry stage identifier is switched to the elevator entry stage; when the ranking sequence number is greater than the remaining accommodation threshold, the elevator entry stage identifier is kept and the elevator state update is continuously monitored.
[0216] In some embodiments, Figure 2 The entry module 205 sequentially drives to the corresponding station site and keeps a distance of no less than a preset safety distance from the previous robot during the driving process, then compares the distance values of each robot and the elevator door in the group of robots with elevator entry qualification, and determines a first entering robot with the smallest distance value; the first entering robot sends a keep open instruction by calling the elevator door control interface after passing the elevator door judgment line, and sets an open door control identifier in its own state data; whenever a robot with elevator entry qualification reaches the corresponding station site, arrival confirmation information is broadcast to the remaining entering robots, and the current number of robots in the elevator is recorded in the counter; the first entering robot compares the current number of robots in the elevator with the capacity value to determine whether the target number of entering robots has been reached, and when it is determined that all robots with elevator entry qualification have reached the corresponding station site, the open door control identifier is cleared and a release keep instruction is sent to release the elevator door control.
[0217] In some embodiments, Figure 2 The exit module 206 of the elevator periodically reads the elevator floor code of each robot in the elevator, and when the elevator floor code is the same as the target floor of the robot, the identifier of the robot is added to the out queue; the robots in the out queue are sorted from near to far according to the distance values between their current station sites and the center point of the elevator door, and an elevator exit priority list is generated; the robot with the highest ranking drives to the outside of the elevator door along the pre-planned collision-free path, and keeps a distance of no less than a preset safety distance from the front obstacle during the driving process; the low-priority robot continuously detects the occupancy state of the elevator door, and when it detects that the elevator door is occupied or the distance to the front robot is less than the safety distance, the robot pauses moving and continues driving after the door is empty; whenever a robot completely exits the elevator door judgment line, the elevator entry stage identifier of the robot is updated to elevator exit completion, and the current number of robots in the elevator and the out queue information are broadcast and refreshed through the state data to trigger the next robot to start the elevator exit action.
[0218] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0219] Figure 3 is a structural schematic diagram of an electronic device 3 provided by the embodiments of the present application. As shown in the figure, the electronic device 3 of the embodiments includes a processor 301, a memory 302, and a computer program 303 stored in the memory 302 and executable on the processor 301. The processor 301 implements the steps in each of the above method embodiments when executing the computer program 303. Alternatively, the processor 301 implements the functions of each module / unit in each of the above device embodiments when executing the computer program 303. Figure 3
[0220] By way of example, the computer program 303 can be divided into one or more modules / units, which are stored in the memory 302 and executed by the processor 301 to complete the present application. One or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program 303 in the electronic device 3.
[0221] The electronic device 3 can be a desktop computer, a notebook computer, a palm computer, a cloud server, and the like. The electronic device 3 can include but is not limited to the processor 301 and the memory 302. Those skilled in the art can understand that the electronic device 3 is only an example of the electronic device 3 and does not constitute a limitation on the electronic device 3, and can include more or fewer components than those shown, or combine certain components, or different components, for example, the electronic device can also include an input / output device, a network access device, a bus, and the like. Figure 3 The electronic device 3 is only an example of the electronic device 3 and does not constitute a limitation on the electronic device 3, and can include more or fewer components than those shown, or combine certain components, or different components, for example, the electronic device can also include an input / output device, a network access device, a bus, and the like.
[0222] The processor 301 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
[0223] The memory 302 can be an internal storage unit of the electronic device 3, for example, a hard disk or a memory of the electronic device 3. The memory 302 can also be an external storage device of the electronic device 3, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 3. Further, the memory 302 can include both the internal storage unit and the external storage device of the electronic device 3. The memory 302 is used to store computer programs and other programs and data required by the electronic device. The memory 302 can also be used to temporarily store data that has been output or will be output.
[0224] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is exemplified, and in actual application, the above-mentioned functions can be completed by different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be realized in the form of hardware or software function unit. In addition, the specific name of each functional unit and module is only for easy distinction, and does not limit the protection scope of the present application. The specific working process of the unit and module in the above system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0225] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0226] Those of ordinary skill in the art can appreciate that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0227] In the embodiments of the present application, it should be understood that the disclosed apparatus / computer device and method can be implemented in other manners. For example, the described apparatus / computer device embodiments are merely schematic. For example, the division of the modules or units can be different, and each can include multiple sub-modules or units. Some or all of the modules or units can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.
[0228] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0229] In addition, each functional unit in the various embodiments of the present application can be integrated into a processing unit, or each unit can be a physically independent unit, or two or more units can be integrated into a unit. The integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0230] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, all or part of the flow of the above-mentioned embodiment methods can be implemented by a computer program instructing related hardware to complete, and the computer program can be stored in a computer readable storage medium. When the processor executes the computer program, the steps of each method embodiment described above can be implemented. The computer program can include computer program code, which can be in the form of source code, object code, executable file or some intermediate form. The computer readable medium can include any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc.
[0231] The above examples are only used to illustrate the technical solutions of the present application, but not limit the same; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that the technical solutions recorded in the foregoing examples can be modified, or some technical features can be replaced by equivalent ones; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A multi-robot elevator scheduling method, characterized in that: include: Periodically sharing predetermined status data between the robots, and maintaining a waiting list locally on each robot based on the status data, arranged in descending order of distance from the robot to the elevator center; According to the elevator waiting list, the robots ranked from first to several are assigned corresponding elevator waiting points, and when a change in the ranking is detected, the target elevator waiting point of the corresponding robot is updated in real time; When the elevator arrives at the departure floor, the capacity value of the number of robots that the elevator can accommodate is calculated, and a sequence of internal station points consistent with the capacity value is generated based on the elevator center coordinates and orientation; Each elevator waiting robot independently determines whether it is eligible to enter the elevator based on its own ranking number in the elevator waiting ranking list, the capacity value, and the current number of robots in the elevator; The robots that have been qualified to enter the elevator are sorted in order of distance from the elevator center from closest to farthest, and move to the corresponding stations in sequence, maintaining a preset safety distance from the previous robot during the movement. During the operation of the elevator, each robot in the elevator continuously detects the floor where the elevator is located. When it detects that the elevator floor is consistent with the robot's target floor, it will exit the elevator in order according to the elevator exit priority. Robots with lower priority will remain in their original positions while the door is occupied. After exiting the elevator, the robot will update its own elevator stage status.
2. The method according to claim 1, characterized in that The periodic sharing of predetermined status data between the robots and maintaining a waiting list in descending order of distance between the robot and the elevator center on each robot based on the status data include: Each robot uses the communication module to broadcast status data containing current location coordinates, target floor information, elevator stage identification and time stamp within a preset time interval; Each robot receives the state data of other robots and combines it with its own state data to form a shared data set containing the states of all robots; Each robot calculates the distance between itself and the elevator center and the distance between other robots and the elevator center based on the shared data set; The robot identifiers are sorted from small to large according to the distance values to generate a waiting list, and the list index is used as the sorting sequence number of the corresponding robot.
3. The method according to claim 1, characterized in that The method further comprises: assigning corresponding elevator waiting points to robots ranked from first to several according to the elevator waiting list, and updating the target elevator waiting points of the corresponding robots in real time when a ranking change is detected, including: A set of coordinates of waiting points located outside the elevator door and along the robot's travel direction must be preset. The number of waiting points must be no less than the number of robots that can wait for the elevator at the same time, and the spacing between adjacent waiting points must be no less than the sum of the robot's circumscribed circle diameter and a safety margin. Each robot reads its own sequence number in the elevator waiting list, sets the coordinates of the elevator waiting point corresponding to the sequence number as the target elevator waiting point, and autonomously plans a collision-free driving path to the target elevator waiting point based on its current posture; When the elevator waiting list changes due to an update of any robot's status data, the robot compares the sorting numbers before and after the change. If its own sorting number changes, it re-obtains the coordinates of the elevator waiting point corresponding to the changed sorting number and re-plans the driving path to switch to the target elevator waiting point. When the robot is driving to the target elevator waiting point, if it detects that the path ahead is occupied by other robots and the estimated occupancy time exceeds the preset threshold, it will execute a local avoidance decision and maintain a safe distance from the robot ahead until the path is restored.
4. The method according to claim 1, wherein The calculation of the capacity value of the number of robots that the elevator can accommodate, and generating an internal station position sequence consistent with the capacity value based on the elevator center coordinates and orientation, includes: Collect the elevator length and width parameters and the maximum diameter of the circumscribed circle in the current set of elevator waiting robots; Divide the length and width of the elevator by the maximum diameter of the circumscribed circle and round down to the nearest integer to obtain the number of slots that can be placed in the depth direction and the transverse direction, and multiply the number of slots that can be placed in the two directions to determine the capacity value; With the elevator center as the origin and the elevator pointing toward the door as the longitudinal positive direction, a local coordinate system of the car is established, and the elevator plane is discretized into a grid. Extract the grid center points of the capacity values in order from inside to outside and from left to right, and sequentially form the coordinates of the grid center points into an internal station point sequence; The capacity value and the internal station position sequence are broadcast to the elevator waiting robot through the communication interface between the elevator and the robot.
5. The method according to claim 4, characterized in that Each elevator waiting robot independently determines whether it is eligible to enter the elevator based on its own sorting sequence number in the elevator waiting sorting list, the capacity value, and the current number of robots in the elevator, including: Each elevator waiting robot obtains the capacity value and the current number of robots in the elevator in real time through the communication interface between the elevator and the robot; Each elevator waiting robot reads its own ranking number in the elevator waiting ranking list, and subtracts the current number of robots in the elevator from the capacity value to obtain the remaining capacity threshold; Comparing the sorting sequence number with the remaining quota threshold, and when the sorting sequence number is less than or equal to the remaining quota threshold, generating an elevator entry permission flag and switching the elevator boarding stage flag to the elevator entry stage; When the sorting sequence number is greater than the remaining capacity threshold, the waiting stage identifier is maintained and the elevator status update is continuously monitored.
6. The method according to claim 1, characterized in that After sequentially driving to the corresponding station locations and maintaining a preset safety distance from the previous robot during the driving process, the method further includes: Among the robots that have obtained the qualification to enter the elevator, the distance between each robot and the elevator door is compared, and the robot with the smallest distance value is determined to enter first; After passing the elevator door determination line, the first entry robot calls the elevator door control interface to send a keep-open instruction and sets a door opening control flag in its own state data; Whenever a robot that is qualified to enter the elevator arrives at the corresponding station, it broadcasts the arrival confirmation information to the other robots entering the elevator and increments the current robot number counter in the elevator. The first entering robot compares the current robot number counter in the elevator with the capacity value to determine whether the target number of robots entering the elevator has been reached. When it is determined that all robots qualified to enter the elevator have arrived at the corresponding station, the door opening control flag is cleared and a release hold instruction is sent to release the elevator door control.
7. The method according to claim 1, characterized in that When it is detected that the elevator floor is consistent with the robot's target floor, the robot exits the elevator in order according to the exit priority, including: Each robot in the elevator periodically reads the elevator floor code. When the elevator floor code matches the robot's target floor, it adds its own identification to the waiting queue. For the robots in the waiting queue, sort them from near to far according to the distance between their current station and the center point of the elevator door, and generate an elevator exit priority list; The highest-ranked robot drives along a pre-planned collision-free path toward the elevator door, maintaining a preset safety distance from any obstacles ahead. The low-priority robot continuously monitors the elevator door occupancy status. When it detects that the elevator door is occupied or the distance to the robot in front is less than the safety distance, it will pause and continue moving after the door is clear. Whenever a robot completely drives out of the elevator door judgment line, it updates its own elevator stage flag to complete the elevator exit, and refreshes the current number of robots in the elevator and the waiting queue information through status data broadcast to trigger the next robot to start the elevator exit action.
8. A multi-robot elevator dispatching device, characterized in that: include: A sharing module is used to periodically share predetermined status data between the robots and maintain a waiting list in each robot based on the status data, which is arranged in descending order of distance from the robot to the elevator center; A detection module is configured to assign corresponding elevator waiting points to robots ranked from first to several in sequence according to the elevator waiting list, and to update the target elevator waiting points of the corresponding robots in real time when a change in the ranking is detected; A generation module is used to calculate the capacity value of the number of robots that the elevator can accommodate when it arrives at the departure floor, and generate an internal station position sequence consistent with the capacity value based on the elevator center coordinates and orientation; A judgment module is used for each elevator waiting robot to independently determine whether it is qualified to enter the elevator based on its own sorting sequence number in the elevator waiting sorting list, the capacity value and the current number of robots in the elevator; The entry module is used to sort the robots qualified to enter the elevator from the nearest to the farthest distance from the elevator center, and drive to the corresponding station in sequence, while maintaining a preset safety distance from the previous robot during the movement; The exit module is used to enable each robot in the elevator to continuously detect the elevator floor during operation. When it is detected that the elevator floor is consistent with the robot's target floor, the robots will exit the elevator in sequence according to their exit priority. Robots with lower priorities will remain in their original positions while the door is occupied. After exiting the elevator, the robots will update their own elevator stage status.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method for robot to intelligently take elevator
CN116750596A
Method, device and equipment for determining elevator waiting positions of multiple robots and medium
CN117718960A
Scheduling method and system of elevator taking robot and storage medium
CN118083717A
System and method for autonomous mobile robot to ride and share elevator with human beings
CN118684090A
Elevator control device, elevator control system and program
JP7618849B1