Balancing method, device, server and program product for robot elevator queue

By dividing elevator groups and updating the echelon queue, the problem of robot echelon queue imbalance is solved and the task execution efficiency is improved.

CN119750327APending Publication Date: 2025-04-04KEENON ROBOTICS CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411972282.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

In the scenario where multiple elevators and multiple robots are running simultaneously, the robots are prone to imbalance in the queue, resulting in a reduced task execution efficiency.

Method used

By dividing the elevator group and determining whether to update the echelon queue based on the queue attributes, sending the elevator change command to the robot to achieve queue balance.

Benefits of technology

The balance and resource utilization efficiency of the escalator queue within the group are improved, and the task execution efficiency of all robots in the elevator group is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119750327A_ABST
    Figure CN119750327A_ABST
Patent Text Reader

Abstract

The present application discloses a robot elevator queue balancing method, device, server and computer program product. In order to improve the efficiency of robot execution of tasks, the server can pre-divide elevators with consistent service attributes into an elevator group so as to coordinate resources within the group. In order to avoid that some elevators in the group are busy while other elevators are idle, the elevator queues of the elevators can be balanced. When a trigger event for balancing the elevator queues of the elevator group is detected, the server preliminarily determines that the current queue is unbalanced. Subsequently, the server can determine whether the elevator group has the conditions to balance the queue by adjusting each elevator queue by analyzing whether the trigger object corresponding to the trigger event meets the preset conditions. When the preset conditions are met, the server can consider that it is feasible to balance the queue by adjusting each elevator queue. At this time, the server further determines the degree of queue imbalance according to the attributes of each elevator and its elevator queue, so as to determine whether the queue needs to be updated. In the case of a large degree of queue imbalance, an elevator change instruction can be sent to the relevant robot to adjust the queue allocation, and finally improve the balance and resource utilization efficiency of the elevator queues in the group, thereby ensuring the overall execution efficiency of all robot tasks corresponding to the elevator group.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robot technology, and in particular, relates to a balancing method for a robot elevator queue, a balancing device for a robot elevator queue, a server and a computer program product. Background Art

[0002] Elevators are key passages for robots to perform tasks across floors. The current use of elevators usually limits a single elevator to one robot, so the robot will seize the elevator control during use to prevent other robots from entering the elevator at the same time. In order to prevent the robot from occupying the elevator control for a long time, the robot generally obtains the elevator control right after reaching the elevator queue point.

[0003] Although this control strategy ensures the safety and stability of the robot's operation in the elevator, in the scenario where multiple elevators and multiple robots are running at the same time, multiple robots need to queue up to wait for the elevators during their tasks. In particular, there are many uncontrollable factors in the elevator process. For example, unpredictable human behavior can easily aggravate the fluctuation of elevator operation efficiency, which will make the elevator queue under a single elevator too long, causing the robot's tasks to pile up and reduce the overall execution efficiency of the robot's tasks. Summary of the invention

[0004] The present application provides a balancing method for a robot elevator queue, a balancing device for a robot elevator queue, a server and a computer program product, which can improve the balance and resource utilization efficiency of the elevator queue within the group, thereby ensuring the task execution efficiency of all robots corresponding to the elevator group.

[0005] In a first aspect, the present application provides a method for balancing a robot elevator queue, comprising:

[0006] In case of a trigger event of a balanced elevator queue of an elevator group, determining whether a trigger object of the trigger event satisfies a preset condition for updating the queue;

[0007] When the trigger object meets the preset conditions, it is determined whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to each elevator in the elevator group; each elevator in the elevator group has consistent service attributes. The elevator group is determined based on the trigger object;

[0008] When it is determined to update the elevator queue, an elevator change instruction is sent to the robot in the elevator queue to be replaced to update the elevator queue.

[0009] In some embodiments, the triggering event includes the first robot arriving at a queue point of a preselected elevator; the triggering object corresponding to the triggering event is the first robot; and determining whether the triggering object of the triggering event meets a preset condition for updating the queue includes:

[0010] Determining whether the first robot is at the head of a first elevator queue corresponding to a pre-selected elevator;

[0011] When the first robot is not at the head of the first elevator queue, determining whether there is a first candidate elevator among the first elevators in the first elevator group; the first elevator group is the elevator group to which the preselected elevator belongs; the first candidate elevator is a first elevator adapted to the current task performed by the first robot;

[0012] In the case that there is a first candidate elevator among the first elevators, it is determined that the first robot meets a preset condition.

[0013] In some embodiments, the queue attribute includes a queue length; determining whether to update the elevator queue based on the queue attribute of the elevator queue corresponding to each elevator in the elevator group includes:

[0014] Determine whether the difference between the queue length of the first target elevator and the queue length of the first elevator queue is greater than or equal to a preset length threshold, and the first target elevator is the first candidate elevator with the shortest queue length;

[0015] When it is determined that the difference is greater than or equal to the preset length threshold, determining to update the elevator queue;

[0016] Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including:

[0017] A first elevator changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the first target elevator.

[0018] In some embodiments, the queue attribute includes the queuing time; determining whether to update the elevator queue based on the queue attribute of the elevator queue corresponding to each elevator in the elevator group includes:

[0019] Determine each first execution time of the first robot performing the task through each first candidate elevator; and the queuing time of the first robot in the elevator queue of the first candidate elevator;

[0020] Determine whether the first execution time of the first robot taking the second target elevator is shorter than the second execution time of taking the pre-selected elevator; the second target elevator is the first candidate elevator corresponding to the shortest first execution time; the queue time of the first robot in the first elevator queue

[0021] When it is determined that the first execution time is shorter than the second execution time, determining to update the elevator queue;

[0022] Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including:

[0023] A second elevator-changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the second target elevator.

[0024] In some embodiments, the triggering event includes receiving a reporting instruction of an idle elevator; the triggering object corresponding to the triggering event is an idle elevator; and determining whether the triggering object of the triggering event meets a preset condition for updating the queue includes:

[0025] Determine whether there is a second candidate elevator among the second elevators in the second elevator group to which the idle elevator belongs; the second candidate elevator is a second elevator whose queue length is greater than a second length threshold;

[0026] In the case that there is a second candidate elevator among the second elevators, it is determined that the idle elevator meets the preset condition.

[0027] In some embodiments, the queue attribute includes a queue length; determining whether to update the elevator queue based on the queue attribute of the elevator queue corresponding to each elevator in the elevator group includes:

[0028] Arrange the second candidate elevators in descending order of queue length;

[0029] Matching the second robot at the end of the elevator queue of the second candidate elevator in the first position with an idle elevator;

[0030] When the second robot matches the idle elevator, the second robot is determined as the second target robot and the previous robot of the second target robot is updated to be the second robot; the second target robot is the second robot that can take the idle elevator to perform the current task;

[0031] When the second robot does not match the idle elevator and the previous robot of the second robot is updated to the second robot, or when the number of second target robots is less than the specified number, return to the step of arranging the second candidate elevators in descending order of queue length; until the specified number of second target robots are determined, or each second robot is the head of the elevator queue of the second candidate elevator;

[0032] When the second target robot is determined, the elevator queue is updated;

[0033] Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including:

[0034] A third elevator-changing instruction is sent to the second target robot, so that the second target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

[0035] In some embodiments, the queue attribute includes the queue duration; determining whether to update the elevator queue based on the queue attributes of each elevator in the elevator group and the elevator queue corresponding to each elevator includes:

[0036] Determine a sub-elevator queue composed of robots matching the idle elevator in the elevator queue of each second candidate elevator;

[0037] Determine a third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task; the third execution time includes a queuing time of the third robot under the idle elevator;

[0038] The third target robot corresponding to the shortest third execution time is to be updated in the elevator queue to determine the first total execution time of all robots corresponding to the second elevator group to be updated;

[0039] When the first total execution time is shorter than the second total execution time of all robots corresponding to the second elevator group before the update, determining to update the elevator queue;

[0040] The robot preceding the third target robot in the corresponding sub-elevator queue is determined as the third robot, and the step of determining the third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task and subsequent steps are returned until the first total execution time is not shorter than the second total execution time;

[0041] Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including:

[0042] An elevator change instruction is sent to the third target robot so that the third target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

[0043] In a second aspect, the present application provides a balancing device for a robot elevator queue, comprising:

[0044] A first determination module is used to determine whether a trigger object of the trigger event satisfies a preset condition for updating the queue in case of a trigger event of a balance of the elevator queue of the elevator group;

[0045] The second determination module is used to determine whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to each elevator in the elevator group when the trigger object meets the preset conditions; the elevators in the elevator group have similar or identical partial features, and the elevator group is determined based on the trigger object;

[0046] The balancing module is used to send an elevator changing instruction to the robot in the elevator queue to be replaced when it is determined that the elevator queue is to be updated, so as to update the elevator queue.

[0047] In a third aspect, the present application provides a server that can communicate with the control modules of a robot and an elevator respectively; the server includes 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 method of the first aspect when executing the computer program.

[0048] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method of the first aspect are implemented.

[0049] In a fifth aspect, the present application provides a computer program product, which includes a computer program. When the computer program is executed by one or more processors, it implements the steps of the method of the first aspect.

[0050] The first aspect of the present application has the following beneficial effects compared with the prior art: to improve the efficiency of robot task execution, elevators with consistent service attributes are divided into an elevator group, for example, based on the similarity of elevator models or physical locations, so as to achieve resource coordination within the group. To avoid the situation where some elevators in the group have busy queues and some elevators are idle, resulting in a decrease in the overall execution efficiency of robot tasks in the group, the elevator queues can be adjusted to achieve balance, even if the busyness of each elevator is close, thereby improving the overall task efficiency.

[0051] Specifically, when a trigger event for balancing the elevator queue of an elevator group is detected, it can be determined whether the elevator group has the basic conditions for balancing the queue through queue adjustment by analyzing whether the trigger object meets the preset conditions. The trigger object reflects the dynamic changes of the elevator queue, and the preset conditions define the key features required for the elevator group to perform queue adjustment. When the trigger object meets the preset conditions, it can be considered that the basic conditions for adjusting the queue are met, and the server can further analyze the queue properties of the elevator. The queue properties can intuitively reflect the real-time load distribution and operating status of each elevator, and can be used to evaluate the imbalance of the queue. When it is confirmed that the adjustment is feasible and the imbalance is large, the server can send an elevator change command to the relevant robot to optimize the queue distribution, balance the busyness of each elevator in the group, improve resource utilization, and ultimately ensure the overall execution efficiency of all robot tasks in the elevator group.

[0052] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0054] Figure 1 It is a schematic diagram of the structure of the communication between the server, the robot and the elevator provided in the embodiment of the present application;

[0055] Figure 2 It is a flowchart of a method for balancing a robot elevator queue provided in an embodiment of the present application;

[0056] Figure 3 It is a structural schematic diagram of a balancing device for a robot elevator queue provided in an embodiment of the present application;

[0057] Figure 4 It is a schematic diagram of the structure of the server provided in the embodiment of the present application. DETAILED DESCRIPTION

[0058] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may 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 prevent unnecessary details from obstructing the description of the present application.

[0059] In related technologies, in order to prevent the robot from occupying the control right of the elevator for a long time, a control strategy is usually adopted in which the robot can only obtain the control right of the elevator after reaching the queuing point of the elevator. Although this strategy can ensure the operation safety and execution stability of the robot in the elevator, in the scenario where multiple elevators and multiple robots are running at the same time, multiple robots need to queue up to wait for the elevator during the execution of tasks. Especially when there are many uncontrollable factors in the elevator process, such as the unpredictable use behavior of humans, which can easily aggravate the fluctuation of the elevator operation efficiency, making the elevator queue under a single elevator too long, causing the robot's tasks to pile up, and reducing the overall execution efficiency of the robot's tasks.

[0060] In order to solve this problem, this application proposes a robot elevator queue balancing method, which is based on the concept of elevator group. It determines whether to adjust the queue by judging whether the elevator queues corresponding to the elevators in the elevator group are unbalanced, and whether the elevator group has the queue adjustment capability in the case of imbalance. In this way, when the elevator queue is unbalanced and the elevator group has the queue adjustment capability, if the busyness of each elevator varies greatly, the busyness of each elevator in the group can be balanced by adjusting the elevator queue, so as to improve the resource utilization efficiency in the group, and finally improve the overall execution efficiency of all robot tasks in the elevator group.

[0061] The control method proposed in this application will be described below through specific embodiments.

[0062] The robot elevator queue balancing method provided in the embodiment of the present application can be applied to a server, or any electronic device with corresponding computing capabilities in the IoT group including robots and elevators. Of course, the server can also be an electronic device with certain computing capabilities, such as a mobile phone, a tablet computer, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), and other electronic devices. The embodiment of the present application does not impose any restrictions on the specific type of electronic device.

[0063] For example, when applied to a server, see Figure 1 , the server, robot and elevator can establish connections and communicate with each other.

[0064] For example, since some elevators do not have the ability to communicate with the server, a separate elevator control module can be set up for such elevators. The elevator control module can be installed in the elevator car or shaft, serving as a communication bridge between the elevator and the server or robot, thereby realizing data interaction and task coordination, improving the intelligent capabilities of the elevator and the overall operating efficiency of the system.

[0065] For example, in view of the large number of elevators, in order to avoid the communication complexity problems caused by the server or robot directly establishing connections with multiple elevators, multiple elevators can be uniformly managed and communicated by setting up corresponding elevator machine rooms or elevator controllers, thereby simplifying the connection structure between the server or robot and the elevators, thereby improving communication efficiency.

[0066] On the basis that the above servers, elevators, and robots can communicate with each other, the robot elevator queue balancing method proposed in this application can be implemented. In order to illustrate the technical solution proposed in this application, the server in any of the above examples is used as the execution subject to illustrate each embodiment.

[0067] Figure 2 A schematic flow chart of a robot elevator queue balancing method provided by the present application is shown, and the robot elevator queue balancing method includes:

[0068] Step 210: When a triggering event of a balanced elevator queue of an elevator group is detected, the server determines whether a triggering object of the triggering event satisfies a preset condition for updating the queue.

[0069] To improve the efficiency of robot task execution, elevators with consistent service attributes can be divided into an elevator group to achieve resource coordination within the group. Consistent service attributes refer to the similarity or identity of some of the elevator's features, such as physical location, service range, usage type, and operating parameters.

[0070] For example, elevators of the same model can be assigned to the same elevator group. Elevators of the same model have consistency in performance parameters such as running speed, load capacity, and control logic, which can reduce the complexity of subsequent reallocation of elevator resources within the group. For example, a robot in the elevator queue corresponding to any busy elevator in the group can be assigned to the elevator queue corresponding to any idle elevator in the group. Therefore, this elevator group division method is conducive to the scheduling of resources within the group, thereby improving the efficiency of queue balancing.

[0071] For example, elevators with similar locations can be grouped into the same elevator group. Elevators with similar locations usually serve the same physical area or floor range. When balancing the queue is required, the robot only needs to move a short distance to efficiently move from the current elevator's queue to the idle elevator's queue, and the time cost of queue balancing is lower.

[0072] Exemplarily, the elevator group can be divided based on the consistency of multiple features. For example, elevators of the same model and close locations are grouped into the same elevator group. This division method can simultaneously utilize the consistency of service performance and the convenience of geographical distribution of each elevator. Specifically, through the unified performance parameters of the elevators in the group (such as running speed and load capacity), the robots in each elevator queue can be adjusted to each other; adjacent positions can shorten the time required for queue adjustment and avoid excessive time consumption affecting the balancing effect. In other words, based on the elevator group, the server can realize efficient and convenient scheduling of resources within the group, reducing the extra time consumed in queue balancing due to performance differences or long distances between elevators.

[0073] For example, the divided service attributes can also be determined based on the commonalities of the robots carried. These commonalities may include specific requirements for robot tasks, such as load capacity, running speed, frequency of use, etc. The service attributes of the elevator determined based on the commonalities of the robots can better match the robot task requirements and the elevator service capabilities. Such an elevator group is conducive to the optimal configuration and efficient scheduling of resources within the group, maximizing the elevator resources within the group, and thus improving the overall execution efficiency of the robot tasks within the group.

[0074] In order to avoid the situation where some elevator queues in the group are busy and some elevators are idle, which leads to a decrease in the overall execution efficiency of the robot tasks in the group, the server can monitor the signals that may cause queue imbalance in the elevator group in real time or periodically, that is, the trigger events of the elevator group's elevator queue balance. The trigger event refers to the key behavior or state change that causes the dynamic change of the queue state, such as a new robot joining the queue, the elevator state changing from busy to idle, etc. Such events can prompt the server that there may be a risk of queue imbalance in the current elevator group. By capturing these trigger events, the server can promptly identify potential resource imbalances and take optimization measures when necessary to improve queue balance and overall operating efficiency.

[0075] When there are multiple elevator groups, the server can determine which specific elevator group may have a queue imbalance by analyzing the trigger object corresponding to the trigger event. The trigger object usually carries attribute information related to the elevator group. For example, when the trigger object is an elevator, a unique elevator group can be determined based on its corresponding elevator group identifier. When the trigger object is a robot, the elevator in the queue can be determined based on the robot first, and then the unique elevator group can be determined based on the elevator group identifier corresponding to the elevator in the queue. Based on this information, the server can quickly locate the elevator group with a greater possibility of imbalance, and further analyze the distribution of queues within the group, so as to adopt corresponding balancing strategies when necessary. For the sake of brevity, the subsequent elevator group determination will not describe the determination steps in detail.

[0076] Although the trigger event can reflect the queue imbalance of a certain elevator group, it does not directly mean that the current imbalance can be solved by queue adjustment. In other words, the trigger event only indicates that the resource allocation within the elevator group may be unbalanced, and whether the basic conditions for adjustment are met requires further analysis to determine whether the trigger object meets the preset conditions. The preset conditions define the key features required to achieve queue adjustment within the elevator group, such as the queue length required for the elevator queue to be adjusted or the number of elevators that can assist the robot in completing the task. Only when the trigger object meets these conditions can it be considered that there is currently the possibility of balancing the queue through queue adjustment, thereby providing a basis for subsequent optimization of resource allocation and improvement of task execution efficiency.

[0077] Step 220: When the trigger object meets the preset conditions, the server determines whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to each elevator in the elevator group.

[0078] When the trigger object meets the preset conditions, it indicates that the elevator group with an unbalanced queue has the basic conditions to optimize resource allocation by adjusting the elevator queue. At this time, the server can further analyze the queue attributes of the elevator queues corresponding to each elevator in the elevator group. These attributes can intuitively reflect key information such as the real-time load distribution, queue length, and operating status of each elevator. By comprehensively evaluating these attributes, the server can determine the degree of queue imbalance and then determine whether it is necessary to update the elevator queue to achieve queue allocation optimization.

[0079] The queue length can be determined based on the number of robots in the elevator queue. For example, if there are three robots in the elevator queue, the queue length of the elevator is 3; if there is only one robot in the queue of another elevator, the queue length is 1. In this way, the current load of each elevator can be intuitively reflected, providing data support for subsequent queue optimization and resource allocation.

[0080] Step 230: When it is determined that the elevator queue needs to be updated, the server sends an elevator change instruction to the robot in the elevator queue to be changed, so as to update the elevator queue.

[0081] When it is determined that the elevator queue needs to be updated, the server can send an elevator change instruction to the robot whose elevator queue needs to be adjusted. The elevator change instruction is a control command sent by the server to a specific robot to instruct the robot to switch from the current elevator queue to the target elevator queue to update the elevator queue in the group.

[0082] For example, the elevator change instruction may include the following key information: the queue point and movement of the elevator corresponding to the target elevator queue, etc. The core purpose of the elevator change instruction is to reallocate better elevator resources to the robots in the elevator group to optimize the distribution of each elevator queue and balance the load of each elevator, thereby improving the overall resource utilization efficiency of the elevator group and the overall execution efficiency of all robot tasks in the group.

[0083] In this embodiment, to improve the efficiency of robot task execution, elevators with consistent service attributes can be divided into an elevator group, for example, based on the similarity of elevator models or physical locations, so as to achieve resource coordination within the group. To avoid the situation where some elevators in the group have busy queues and some elevators are idle, resulting in a decrease in the overall task efficiency of the robots in the group, the elevator queues can be adjusted to achieve balance, even if the busyness of each elevator is close, thereby improving the overall task efficiency.

[0084] Specifically, when the server triggers an event for balancing the elevator queue of the elevator group, it can determine whether the elevator group has the basic conditions to balance the queue through queue adjustment by analyzing whether the trigger object meets the preset conditions. The trigger object reflects the dynamic changes of the elevator queue, and the preset conditions define the key features required for the elevator group to perform queue adjustment. When the trigger object meets the preset conditions, it can be considered that the basic conditions for adjusting the queue are met, and the server can further analyze the queue properties of the elevator. The queue properties can intuitively reflect the real-time load distribution and operating status of each elevator, and can be used to evaluate the imbalance of the queue. When it is confirmed that the adjustment is feasible and the imbalance is large, the server can send an elevator change command to the relevant robot to optimize the queue distribution, balance the busyness of each elevator in the group, improve resource utilization, and ultimately ensure the overall execution efficiency of all robot tasks in the elevator group.

[0085] In order to improve the efficiency of taking the elevator, the robot usually selects the elevator according to the task information in advance when there is a demand for taking the elevator, such as when receiving a new cross-floor task, and uses the most efficient elevator as the pre-selected elevator. However, there is a time difference between the robot selecting the elevator and arriving at the elevator queue point, which may easily lead to the elevator queued by the robot not being the best choice at the moment, reducing the robot's execution efficiency.

[0086] In some embodiments, to solve this problem, the robot's arrival at the queue point of the pre-selected elevator can be used as a trigger event; accordingly, the trigger object corresponding to the trigger event is the robot. In order to facilitate distinction from different robots mentioned in other subsequent embodiments, the robot can be recorded as the first robot.

[0087] For example, after the first robot arrives at the queue point of the pre-selected elevator, it can actively send a notification message containing its own identification information and the identification information of the pre-selected elevator to the server. After receiving the message, the server can promptly determine that a trigger event has been detected, and infer that the elevator group to which the pre-selected elevator belongs may have an imbalance in the elevator queue.

[0088] For example, the server can establish a communication connection with a camera set up in the elevator queue area to obtain image data covering the area. Through image recognition technology, the server can determine in real time whether a robot has entered the elevator queue of the corresponding elevator and accurately identify the specific robot identification information, thereby more accurately detecting the trigger event.

[0089] After detecting the trigger event that the robot arrives at the queue point of the pre-selected elevator, it can be determined that the elevator queue of the corresponding elevator group is out of balance. In order to determine whether the queue can be balanced by adjusting each elevator queue, the preset conditions that the first robot needs to meet include:

[0090] Step A1: The server determines whether the first robot is at the head of the first elevator queue corresponding to the pre-selected elevator.

[0091] Step A2: When the first robot is not at the head of the first elevator queue, the server determines whether there is a first candidate elevator among the first elevators in the first elevator group.

[0092] The original intention of setting the detection of the robot arriving at the queue point of the pre-selected elevator as a trigger event is to avoid the situation where the first robot arrives at the queue point of the pre-selected elevator and finds that the pre-selected elevator is no longer the best choice, which also means that the pre-selected elevator may be too busy. When this trigger event occurs, the server can further optimize the elevator queue and adjust the first robot's elevator arrangement in time, thereby effectively improving its elevator efficiency and avoiding unnecessary waiting or resource waste.

[0093] Therefore, the server can first determine whether the pre-selected elevator is still the best choice for the first robot. When the first robot arrives at the queue point of the pre-selected elevator and successfully joins the first elevator queue of the pre-selected elevator, if the first robot is already at the head of the first elevator queue, it means that its queue position is optimal. It can be considered that the pre-selected elevator is still an ideal choice at this time, and there is no need to adjust the first robot to the queue of other elevators, thereby avoiding unnecessary reallocation operations and improving queuing efficiency and resource utilization.

[0094] On the contrary, if the first robot is not at the head of the first elevator queue, the server may consider that the pre-selected elevator may no longer be the best choice and the elevator may be busy. At this time, the server may determine whether the first elevator group to which the pre-selected elevator belongs meets the necessary conditions for adjusting the elevator queue. Accordingly, each elevator in the first elevator group may be recorded as the first elevator.

[0095] In order to ensure that the first robot can still successfully perform the task after changing the pre-selected elevator to another elevator in the first elevator group, the server may first confirm whether there is a first candidate elevator in the first elevator group that can assist the first robot in performing the current task.

[0096] For example, current buildings are relatively tall, so different elevators may have different accessibility. Based on this, in order to ensure that the current task performed by the robot is successfully completed, the first elevator that can run from the departure floor corresponding to the current task to the arrival floor can be regarded as the first candidate elevator adapted to the current task.

[0097] For example, some tasks require robots with special specifications, which can only be accommodated by elevators of a specific model. Therefore, the first elevator that matches the robot model can be regarded as the first candidate elevator suitable for the current task.

[0098] For example, according to the needs of actual scenarios, some elevators are set as special elevators, and the robot needs to be able to take the special elevators in a specific time period. Based on this, the first elevator whose available time period includes the current task execution time period can be regarded as the first candidate elevator adapted to the current task.

[0099] For example, to ensure that the first robot can obtain comprehensive elevator selection, multiple conditions may be used to determine whether the first candidate elevator exists in the first elevator group. These conditions may include: the ability to run from the departure floor to the arrival floor, the capacity to match the special robot model, the normal operating state, etc. By screening these comprehensive conditions, it can be ensured that the robot is assigned an efficient and reliable elevator, thereby ensuring and optimizing the efficiency of task execution.

[0100] It can be understood that the above determination method of the first candidate elevator is only an example, and the specific determination method can be determined according to actual needs and is not limited in this embodiment.

[0101] Step A3: When there is a first candidate elevator among the first elevators, determine whether the first robot meets a preset condition.

[0102] If it is determined that there is a first candidate elevator in each first elevator based on the current task performed by the first robot, it means that the first robot meets the preset conditions, that is, there is a possibility of assigning the first robot to another elevator in the group. In other words, the first elevator group meets the basic conditions for adjusting the elevator queue.

[0103] In this embodiment, the server can accurately determine whether the pre-selected elevator is still the best choice for the first robot according to whether the first robot is at the head of the first elevator queue corresponding to the pre-selected elevator. When the first robot is not at the head of the first elevator queue, it can be determined that the pre-selected elevator is no longer the best choice. At this time, the server can further check whether there is a first candidate elevator that meets the conditions in the first elevator group. If there is a first candidate elevator, it means that the first robot meets the preset conditions, and the server can assign it to other elevators in the group to improve the first robot's elevator efficiency, thereby ensuring the efficiency of the robot in performing tasks.

[0104] It can be understood that assigning a more suitable elevator to the first robot (including the subsequent first target robot / second target robot) is equivalent to dispatching the robot from the currently busy first elevator queue of the pre-selected elevator to the relatively idle elevator queue of the first target elevator. It is also a queue update that can balance the first elevator queue and the first target elevator queue.

[0105] In some embodiments, given that it takes a certain amount of time for the first robot to move from the first elevator queue to another elevator queue, if the elevator efficiency is only slightly improved after the robot completes the move, it can be considered that the benefits of updating the elevator queue are insufficient to offset the time cost, and there is no need to adjust the elevator queue to avoid additional resource waste and reduced efficiency. Therefore, in order to accurately determine whether it is necessary to update the elevator queue, the server can perform the following steps:

[0106] Step B1: The server determines whether the difference between the queue length of the first target elevator and the queue length of the first elevator queue is greater than or equal to a preset length threshold.

[0107] Step B2: When the server determines that the difference is greater than or equal to a preset length threshold, it determines to update the elevator queue.

[0108] The length of the elevator queue indicates the weight of the current elevator load. The shorter the elevator queue is, the lighter the current load is, and the more likely it is to improve the elevator efficiency of the first robot. Therefore, the first target elevator with the shortest queue length among the first candidate elevators can be regarded as the most advantageous choice among the first candidate elevators.

[0109] Therefore, the server can first compare the queue length of the first target elevator (the new elevator that may be selected) with the queue length of the first elevator queue of the pre-selected elevator (the elevator currently in the queue), and calculate the difference between the two. Then the difference is compared with the pre-set length threshold. The length threshold is used as the queue length critical value for whether the queue is worth adjusting, and is used to determine whether the load difference between the first target elevator and the pre-selected elevator is large enough to ensure that updating the queue brings significant efficiency improvement. Therefore, by comparing the difference with the length threshold, the server can accurately determine whether to update the queue to improve the first robot's elevator efficiency.

[0110] If the difference is less than the length threshold, it means that the current load of the first target elevator is lower than or not significantly better than the load of the current elevator, that is, the potential benefit of adjusting the queue is not enough to offset the possible time cost, and there is no need to update the queue.

[0111] If the difference is greater than or equal to the length threshold, it means that the current load of the first target elevator is significantly better than the current elevator, that is, adjusting the queue can bring about a significant efficiency improvement, and it is necessary to update the queue.

[0112] In this embodiment, the server quantifies the load difference between the first target elevator and the pre-selected elevator by calculating the difference in queue length between the two. In order to avoid unnecessary queue updates and reduce calculation and resource consumption, the server can compare the difference with the length threshold to determine whether the current load of the first target elevator is significantly better than the current elevator, that is, whether adjusting the queue can bring about a significant efficiency improvement. In order to ensure that adjusting the queue can significantly improve the first robot's elevator efficiency, the server can trigger a queue update when the difference reaches a preset threshold, assign a more suitable elevator to the first robot, and improve its elevator efficiency.

[0113] In some embodiments, the server may send a first elevator change instruction to the first robot to update its elevator queue. The first elevator change instruction will instruct the first robot to move from the first elevator queue of the currently pre-selected elevator to the elevator queue of the first target elevator, thereby ensuring that the first robot selects an elevator with a lighter load and higher efficiency. From the perspective of a single execution of the queue update, this adjustment can achieve better load distribution, reduce the waiting time of the first robot in the elevator, and improve the efficiency of the elevator, thereby making better use of elevator resources. From the perspective of multiple executions of the queue update, this can ensure that the first robot is always in the best queue, thereby improving the overall execution efficiency of the robot tasks within the entire group.

[0114] In some embodiments, in addition to determining whether to update the queue based on the queue length, the robot may also determine whether to update the elevator queue based on the queue duration. Specifically, the robot may perform the following steps:

[0115] Step C1: The server determines each first execution time for the first robot to perform a task through each first candidate elevator.

[0116] In order to compare the efficiency of the first robot in performing tasks in each first candidate elevator, the execution time is a more intuitive measurement data, which includes the waiting time of the first robot in the elevator queue of the first candidate elevator. In order to distinguish it from other execution times, the execution time here can be recorded as the first execution time. By calculating the first execution time of the first robot performing tasks in each first candidate elevator, the server can intuitively reflect the efficiency difference of each first candidate elevator in completing the task, and provide clear quantitative data for subsequent judgment.

[0117] Exemplarily, in order to comprehensively evaluate the efficiency differences of each first candidate elevator in assisting the robot to perform tasks, the execution time may include two key parts: queuing time, that is, the time from the first robot entering the elevator queue to the start of taking the elevator; elevator time, that is, the time from the first robot entering the car to the elevator running to the floor.

[0118] Step C2: The server determines whether a first execution time for the first robot to take the second target elevator is shorter than a second execution time for the first robot to take the preselected elevator.

[0119] Step C3: When the server determines that the first execution duration is shorter than the second execution duration, the server determines to update the elevator queue.

[0120] The length of the first execution time represents the efficiency of the corresponding first candidate elevator. The shorter the first execution time, the shorter the first robot can reach the destination floor in the shortest time by taking the corresponding first candidate elevator, so as to improve the efficiency of task execution. Therefore, the second target elevator with the shortest first execution time among the first candidate elevators can be regarded as the most advantageous choice among the first candidate elevators.

[0121] Thus, the server can compare the first execution time and the second execution time corresponding to the first robot taking the second target elevator and the pre-selected elevator, respectively, to evaluate the efficiency difference between the first robot taking the second target elevator and the pre-selected elevator. The second execution time includes the queue time of the first robot in the first elevator queue.

[0122] Specifically, when the server determines that the first execution time of the second target elevator is shorter than the second execution time of the pre-selected elevator, it means that the second target elevator is a better choice for the first robot, that is, the update of the elevator queue can be triggered at this time, which can improve the task execution efficiency of the first robot.

[0123] In this embodiment, the server can intuitively reflect the efficiency differences of each first candidate elevator in completing the task by calculating the first execution time of the first robot performing the task in each first candidate elevator; then, the first execution time of the first robot taking the most advantageous second target elevator is compared with the second execution time of taking the pre-selected elevator, so as to accurately determine whether there is room for improvement in the task execution efficiency of the first robot; when the shortest first execution time is shorter than the second execution time, it is determined that there is room for improvement, which can trigger the operation of updating the elevator queue, so that the first robot is allocated better elevator resources.

[0124] In some embodiments, in order to avoid unnecessary queue updates and reduce computing and resource consumption, the server may update the elevator queue only when it is ensured that there is significant room for improvement in the execution efficiency of the first robot task. Specifically, similar to the update mechanism based on queue length, when the shortest first duration is shorter than the second duration, the server can calculate the duration difference between the shortest first execution duration and the second execution duration, and determine the efficiency gap between the first robot taking the second target elevator and the pre-selected elevator based on the duration difference. By comparing the difference with the preset duration threshold, the server can determine whether the efficiency gap is large enough, that is, whether there is enough room for efficiency improvement. If the difference reaches the duration threshold, it means that the efficiency gap is large enough, and the elevator queue update can be triggered to optimize the overall execution efficiency of the first robot task.

[0125] In some embodiments, the server may send a second elevator change instruction to the first robot to update its elevator queue. The first elevator change instruction will instruct the first robot to move from the first elevator queue of the currently pre-selected elevator to the elevator queue of the second target elevator, thereby ensuring that the first robot selects the elevator with the shortest execution time, that is, the most efficient. From the perspective of a single execution of the queue update, this adjustment helps the first robot to better utilize elevator resources and shorten the task execution time. From the perspective of multiple executions of the queue update, it can ensure that the first robot always performs the task through the available elevator with the shortest task execution time, thereby improving the overall execution efficiency of the robot tasks in the entire group.

[0126] In some embodiments, in addition to the trigger event of detecting that the robot arrives at the queue point of the pre-selected elevator, which may affect the queue balance, the existence of idle robots in the elevator group may also affect the queue balance. Therefore, if the server receives a reporting instruction uploaded by an idle elevator, it can be determined that a trigger event is detected. Accordingly, the trigger object of the trigger event is the idle elevator.

[0127] Exemplarily, the uploading method of the reporting instruction can be flexibly selected, and can be uploaded autonomously by an idle elevator, or uploaded through a corresponding elevator controller or elevator machine room to adapt to different elevator configurations.

[0128] Exemplarily, the reporting instruction may directly indicate that the corresponding elevator is in an idle state, or may carry relevant data indicating that the elevator is in an idle state, such as the current floor position, running direction, service status, etc.

[0129] After receiving the report instruction of the idle elevator, the server can determine that a trigger event is detected, that is, it is determined that the elevator queue of the corresponding elevator group is out of balance. In order to determine whether the queue can be balanced by adjusting each elevator queue, the preset conditions that the idle elevator needs to meet include:

[0130] Step D1: The server determines whether there is a second candidate elevator among the second elevators in the second elevator group to which the idle elevator belongs.

[0131] Step D2: When there is a second candidate elevator among the second elevators, the server determines that an idle elevator satisfies a preset condition.

[0132] The original intention of receiving the report instruction of the idle elevator as a trigger event is to let the idle elevator share the load of the busy elevator in the second elevator group to which it belongs. In this way, when this trigger event occurs, the server can redistribute the elevator load and transfer some waiting robots to the idle elevator, thereby effectively shortening the elevator queue of the busy elevator in the group. This method can not only balance the load in the elevator group, but also improve the overall elevator efficiency of all robots in the group.

[0133] Therefore, the server may first determine whether there is a busy elevator in the second elevator group. As can be seen from the above content, the length of the elevator queue can represent the weight of the elevator load. Therefore, the server may determine whether the queue length of the elevator queue of each second elevator in the second elevator group is greater than the second length threshold. The second length threshold is a critical value for determining whether the load of the second elevator is high, that is, whether the corresponding second elevator is a busy elevator.

[0134] If the queue length of the second elevator is greater than the second length threshold, it can be regarded as a busy elevator and marked as the second candidate elevator. The existence of the second candidate elevator indicates that there is a demand for load sharing in the second elevator group, that is, the idle elevator meets the preset conditions and has the ability to transfer load. In other words, the server can consider that the second elevator group has the basic conditions for updating the elevator queue, which is conducive to optimizing resource allocation and improving the utilization rate of elevator resources in the group.

[0135] In this embodiment, the server can determine whether there is a busy elevator in the second elevator group according to the queue length of each second elevator in the second elevator group and the second length threshold. For the second elevator whose queue length is greater than the second length threshold, it can be regarded as a busy elevator and marked as a second candidate elevator. The existence of the second candidate elevator indicates that there is a load sharing demand. At this time, it is considered that the idle elevator meets the conditions, that is, the second elevator group has the basis for updating the elevator queue, which can provide support for optimizing resource allocation and improving operation efficiency.

[0136] In some embodiments, similar to the reason that it takes time for the first robot to change the elevator queue, it also takes time for some robots to move from the elevator queue corresponding to the corresponding second elevator to the elevator queue of the idle elevator. Therefore, in order to accurately determine whether it is necessary to update the elevator queue, the server can perform the following steps:

[0137] Step E1: The server arranges the second candidate elevators in order of queue length from long to short.

[0138] Step E2: The server matches the second robot at the end of the elevator queue of the second candidate elevator in the first position with an idle elevator.

[0139] Step E3: When the second robot matches an idle elevator, the server determines the second robot as a second target robot and updates the previous robot of the second target robot to be the second robot.

[0140] Step E4: When the second robot does not match an idle elevator and the previous robot of the second robot is updated to the second robot, or when the number of second target robots is less than the specified number, return to execute step E1 and its subsequent steps until the specified number of second target robots is determined, or each second robot is at the head of the elevator queue for the second candidate elevator.

[0141] The server processes the second candidate elevators in the order of queue length from long to short, and can give priority to relieving the pressure of the elevator with the heaviest load. Given that the robot at the end of the elevator queue has the longest waiting time, when determining the robot to be dispatched, the second robot at the end of the elevator queue with the longest queue length can be matched with an idle elevator each time in the order of queue length from long to short to determine which second robots can be assigned to the queue of the idle elevator, that is, which second robots are the second target robots. The matching here is similar to the matching of the current task of the first robot with the first elevator in steps A1 and A2, and will not be repeated here.

[0142] Specifically, there may be a specified number of second target robots that can be assigned to idle elevator lower servers.

[0143] Exemplarily, it is assumed that the second elevator group includes 4 second elevators, namely, elevator No. 1, elevator No. 2, elevator No. 3, and elevator No. 4. It is assumed that the idle elevator No. 2 determines that elevator No. 1 and elevator No. 4 are the second candidate elevators, that is, busy elevators, through the aforementioned steps D1 and D2, and there is a need for load sharing. Assuming that the specified number is 4, and the queue lengths of elevator No. 1 and elevator No. 4 are determined to be 6 and 8 respectively, then in order to give priority to sharing the load-bearing task for the elevator with the largest load, the robot can first take out the second robot from the end of the elevator queue of elevator No. 4 to match with the idle elevator, and in the case of matching, it can be determined as the second target robot. Among them, each time a match is made, a second robot will be updated, but whether the corresponding elevator queue is updated depends on whether the match is successful.

[0144] After the first update, the robot before the second target robot will be determined as the corresponding second robot of elevator No. 4. Considering that the second target robot will be assigned to an idle elevator, the queue length of the elevator queue No. 4 can also be updated to 7; subsequent updates are similar.

[0145] At this time, the designated number of second target robots has not yet reached 4, so a target robot is taken from the tail of the elevator queue of elevator No. 4, which has the longest queue length between elevators No. 1 and No. 4, to match with an idle elevator, and can be determined as the second target robot if it matches; then, the number of second target robots still has not reached the designated number of 4, so a second robot is taken from the tail of the elevator queue of elevator No. 4, which has the longer queue length between elevators No. 1 and No. 4, to match with an idle elevator, and can be determined as the second target robot if it matches. At this time, the number of second target robots increases to 3.

[0146] In the last judgment, the queue lengths of elevator No. 4 and elevator No. 1 are 5 and 6 respectively, so the second robot is taken from the end of the elevator queue of elevator No. 1, which has a longer queue length, and matched with the idle elevator. If a match is found, it can be determined as the second target robot. So far, 4 second target robots have been matched, and the matching process can be ended.

[0147] Of course, if one of the matches is unsuccessful, the robot before the second robot will be determined as the new second robot; considering that the second target robot will not be assigned to an idle elevator, the queue length of the corresponding elevator queue is kept unchanged. For example, in the last judgment, the second robot taken out from the end of the elevator queue of elevator No. 1 does not match the idle elevator, then the second-to-last robot in the elevator queue of elevator No. 1 is determined as the new second robot, and the queue length of elevator No. 1 is maintained unchanged and the matching continues until the second target robot is determined from the elevator queue of elevator No. 1, or the second target robot cannot be determined in the elevator queue of elevator No. 1, then the second robot can be taken out from the end of the elevator queue of elevator No. 4 to match with the idle elevator, until the second target robot is matched or the queue is traversed to the head of the elevator queue of elevator No. 4 (the load is small and no sharing is required), and the matching process ends.

[0148] Exemplarily, in order to avoid invalid transfers, when the length of the elevator queue for a certain elevator is less than a certain length value, it can be considered that there is no need for transfer. At this time, even if the specified number of second target robots have not been matched, the matching of the robots in the elevator queue for that elevator can be abandoned.

[0149] Generally speaking, if the specified number is determined reasonably, the possibility of not matching the specified number of second target robots is low. Therefore, in order to ensure the rationality of queue update, the specified number can be determined by different information.

[0150] For example, the designated number may be set according to the maximum carrying capacity of the idle elevators, which ensures that the idle elevator load does not exceed its maximum carrying capacity.

[0151] Exemplarily, the specified number may be determined according to the load condition of the busy elevator, which may alleviate the load of the busy elevator to the greatest extent.

[0152] The specific setting of the designated quantity can be determined according to actual conditions and is not limited in this embodiment.

[0153] Step E2: When the server determines the second target robot, it determines to update the elevator queue.

[0154] It can be understood that the specified number is only a reference data for the process of ending the loop matching under ideal conditions. As long as the second target robot can be determined, the server can guide it to move from the current elevator queue to the elevator queue of the idle elevator, thereby realizing the queue update. This process can allow the idle elevator to share part of the load of the second candidate elevator as much as possible, effectively alleviate the queue pressure of the busy elevator, and at the same time improve the overall operating efficiency of the elevator group, optimize resource allocation, and ensure the smooth operation of the system.

[0155] In this embodiment, by cyclically matching the tail robot of the longest queue with the idle elevator, it can be ensured that the second candidate elevator with the largest load can reduce its load first, thereby effectively alleviating the queue pressure of the busy elevator and ensuring the balance and efficiency of the overall operation of the elevator group. By sharing the load, the idle elevator can optimize resource allocation and improve the overall execution efficiency of all robot tasks in the elevator group.

[0156] In some embodiments, the server may send a third elevator change instruction to the second target robot to instruct the second target robot to move from the elevator queue of the second candidate elevator to the elevator queue of the idle elevator. From the perspective of a single execution of the queue update, this operation not only realizes the dynamic adjustment of the elevator queue, but also effectively shares the load of the busy elevator, further optimizes the operating efficiency of the elevator group, and improves the flexibility of task scheduling. From the perspective of multiple executions of the queue update, the load of each second elevator in the second elevator group can be balanced as much as possible, thereby improving the overall execution efficiency of the robot tasks in the entire group.

[0157] In some embodiments, in addition to determining whether to update the queue based on the queue length, the robot may also determine whether to update the elevator queue based on the queue duration. Specifically, the robot may perform the following steps:

[0158] Step F1: The server determines a sub-elevator queue in the elevator queue of each second candidate elevator that matches the idle elevator.

[0159] For each second candidate elevator queue, the server can first select sub-elevator queues that match the idle elevators from the elevator queue. That is, these sub-elevator queues contain second robots that can take the idle elevators to perform tasks, so as to ensure the feasibility of subsequent scheduling. The matching here is similar to the matching of the current task of the first robot with the first elevator in steps A1 and A2, and will not be repeated here.

[0160] Step F2: Determine the third execution time for each third robot at the end of each sub-elevator queue to take the idle elevator to perform the task.

[0161] In each matching sub-elevator queue, the third robot at the end of the queue is given priority because it has the longest waiting time. Assigning it to an idle elevator can directly shorten the time required for it to perform its task. Therefore, the server calculates the third execution time of these robots at the end of the queue to perform tasks through idle elevators. The third execution time includes the queue time of the third robot under the idle elevator, which can reflect the efficiency of the third robot in performing tasks through idle elevators.

[0162] Exemplarily, in order to comprehensively evaluate the efficiency differences of the third robots when taking an idle elevator to perform a task, the duration may integrate the queuing time and the elevator riding time.

[0163] Step F3: The server updates the elevator queue of the third target robot corresponding to the shortest third execution time to determine the first total execution time of all robots corresponding to the second elevator group to be updated.

[0164] The server selects the shortest robot from the calculated third execution times as the third target robot, which can minimize the task completion time, improve the quality of elevator resource allocation, and optimize the overall elevator operation performance. By simulating the situation after updating it to the idle elevator queue, the first total execution time of all robot tasks in the entire second elevator group can be calculated. The first total execution time is the time required to complete the entire task of the elevator group after the proposed update.

[0165] Step F4: When the first total execution time is shorter than the second total execution time of all robots corresponding to the second elevator group before the update, the server determines to update the elevator queue.

[0166] The server compares the first total execution time after the proposed update with the second total execution time before the update to determine whether to perform the proposed update operation. If the total execution time can be reduced after the update, it means that the adjustment queue has obvious room for efficiency improvement, and the update operation can be confirmed.

[0167] Step F5: The server determines the previous robot of the third target robot in the corresponding sub-elevator queue as the third robot, and returns to execute step F2 and subsequent steps until the first total execution time is not shorter than the second total execution time.

[0168] If there is still room for optimization after a queue update (i.e., the first total execution time is still shorter than the second total execution time), the server will continue to optimize the queue. Specifically, the server can select the previous robot in the sub-elevator queue where the third target robot is located as the new third robot, and recalculate its third execution time to perform the task through the idle elevator, and repeat steps F2 to F4. This process will continue until it is found that further optimization cannot significantly improve the overall efficiency, thereby avoiding excessive operations.

[0169] In this embodiment, the server determines the optimal load distribution strategy by calculating and comparing the execution time of each elevator queue to optimize the overall task efficiency within the elevator group. The robot with the longest waiting time and the shortest execution time is selected for the proposed update, and the update is formally performed on the basis of ensuring that the allocation adjustment can effectively reduce the total execution time of the elevator group to ensure the reliability of the update. In the process of cyclic update, the queue allocation can be recursively optimized until the efficiency cannot be further improved, thereby achieving rational use of resources and efficient completion of tasks.

[0170] In some embodiments, the server sends a fourth elevator change instruction to adjust the third target robot from the elevator queue of the current elevator to the elevator queue of the idle elevator. From the perspective of a single execution of the queue update, the server can reduce the time cost of waiting for and riding the elevator of the third target robot; from the perspective of multiple executions of the queue update, the time cost of waiting for and riding the elevator of all third target elevators in the group can be reduced to the minimum, thereby ensuring the optimization of the overall task execution efficiency.

[0171] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0172] Corresponding to the balancing method of the robot elevator queue in the above embodiment, Figure 3 A structural block diagram of a balancing device 3 for a robot elevator queue provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0173] Reference Figure 3 The balancing device 3 of the robot elevator queue includes:

[0174] The first determination module 31 is used to determine whether the trigger object of the trigger event meets the preset condition of updating the queue in the case of a trigger event of the elevator queue balance of the elevator group;

[0175] The second determination module 32 is used to determine whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to each elevator in the elevator group when the trigger object meets the preset conditions; the elevators in the elevator group have similar or identical partial features, and the elevator group is determined based on the trigger object;

[0176] The balancing module 33 is used to send an elevator changing instruction to the robot in the elevator queue to be replaced when it is determined to update the elevator queue, so as to update the elevator queue.

[0177] Optionally, the triggering event includes the first robot arriving at a queuing point of a preselected elevator; the triggering object corresponding to the triggering event is the first robot; and the first determining module 31 is specifically used for:

[0178] Determining whether the first robot is at the head of a first elevator queue corresponding to a pre-selected elevator;

[0179] When the first robot is not at the head of the first elevator queue, determining whether there is a first candidate elevator among the first elevators in the first elevator group; the first elevator group is the elevator group to which the preselected elevator belongs; the first candidate elevator is a first elevator adapted to the current task performed by the first robot;

[0180] In the case that there is a first candidate elevator among the first elevators, it is determined that the first robot meets a preset condition.

[0181] Optionally, the queue attribute includes a queue length; the second determining module 32 includes: a first determining unit, configured to:

[0182] Determine whether the difference between the queue length of the first target elevator and the queue length of the first elevator queue is greater than or equal to a preset length threshold, and the first target elevator is the first candidate elevator with the shortest queue length;

[0183] When it is determined that the difference is greater than or equal to the preset length threshold, determining to update the elevator queue;

[0184] Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including:

[0185] A first elevator changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the first target elevator.

[0186] Optionally, the queue attribute includes a queuing time; the second determination module 32 includes: a second determination unit, configured to:

[0187] Determine each first execution time for the first robot to perform the task through each first candidate elevator; the first execution time includes the queuing time of the first robot in the elevator queue of the first candidate elevator;

[0188] Determine whether a first execution time for the first robot to take a second target elevator is shorter than a second execution time for taking a pre-selected elevator; the second target elevator is the first candidate elevator corresponding to the shortest first execution time; the second execution time includes the queuing time of the first robot in the first elevator queue;

[0189] When it is determined that the first execution time is shorter than the second execution time, determining to update the elevator queue;

[0190] Accordingly, the balancing module 33 is specifically used for:

[0191] A second elevator-changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the second target elevator.

[0192] Optionally, the trigger event includes receiving a reporting instruction of an idle elevator; the trigger object corresponding to the trigger event is an idle elevator; and the first determining module 31 is specifically used for:

[0193] Determine whether there is a second candidate elevator among the second elevators in the second elevator group to which the idle elevator belongs; the second candidate elevator is a second elevator whose queue length is greater than a second length threshold;

[0194] In the case that there is a second candidate elevator among the second elevators, it is determined that the idle elevator meets the preset condition.

[0195] Optionally, the queue attribute includes a queue length; the second determining module 32 includes: a third determining unit, configured to:

[0196] Arrange the second candidate elevators in descending order of queue length;

[0197] Matching the second robot at the end of the elevator queue of the second candidate elevator in the first position with an idle elevator;

[0198] When the second robot matches the idle elevator, the second robot is determined as the second target robot and the previous robot of the second target robot is updated to be the second robot; the second target robot is the second robot that can take the idle elevator to perform the current task;

[0199] When the second robot does not match the idle elevator and the previous robot of the second robot is updated to the second robot, or when the number of second target robots is less than the specified number, return to the step of arranging the second candidate elevators in descending order of queue length; until the specified number of second target robots are determined, or each second robot is the head of the elevator queue of the second candidate elevator;

[0200] When the second target robot is determined, the elevator queue is updated;

[0201] Accordingly, the balancing module 33 is specifically used for:

[0202] A third elevator-changing instruction is sent to the second target robot, so that the second target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

[0203] Optionally, the queue attribute includes a queuing time; the second determining module 32 includes: a fourth determining unit, configured to:

[0204] Determine a sub-elevator queue composed of robots matching the idle elevator in the elevator queue of each second candidate elevator;

[0205] Determine a third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task; the third execution time includes a queuing time of the third robot under the idle elevator;

[0206] The third target robot corresponding to the shortest third execution time is to be updated in the elevator queue to determine the first total execution time of all robots corresponding to the second elevator group to be updated;

[0207] When the first total execution time is shorter than the second total execution time of all robots corresponding to the second elevator group before the update, determining to update the elevator queue;

[0208] The robot preceding the third target robot in the corresponding sub-elevator queue is determined as the third robot, and the step of determining the third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task and subsequent steps are returned until the first total execution time is not shorter than the second total execution time;

[0209] Accordingly, the balancing module 33 is specifically used for:

[0210] An elevator change instruction is sent to the third target robot so that the third target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

[0211] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0212] Figure 4 This is a schematic diagram of the physical structure of a server provided in one embodiment of the present application. Figure 4 As shown, the server 4 of this embodiment includes: at least one processor 40 ( Figure 4 Only one processor is shown in the figure), a memory 41, and a computer program 42 stored in the memory 41 and executable on at least one processor 40. When the processor 40 executes the computer program 42, the steps in any of the above-mentioned robot elevator queue balancing method embodiments are implemented, for example Figure 2 Steps 210-230 are shown.

[0213] The processor 40 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0214] In some embodiments, the memory 41 may be an internal storage unit of the server 4, such as a hard disk or memory of the server 4. In other embodiments, the memory 41 may also be an external storage device of the server 4, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc., equipped on the server 4.

[0215] Furthermore, the memory 41 may include both an internal storage unit of the server 4 and an external storage device. The memory 41 is used to store operating devices, applications, boot loaders, data, and other programs, such as program codes of computer programs, etc. The memory 41 may also be used to temporarily store data that has been output or is to be output.

[0216] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the above-mentioned device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0217] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0218] An embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0219] If the integrated 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, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form. The above-mentioned computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a disk or an optical disk.

[0220] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0221] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0222] In the embodiments provided in the present application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely schematic. For example, the division of the above modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0223] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0224] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A robot elevator queue balancing method, characterized in that: include: In the case of detecting a trigger event of a balanced elevator queue of an elevator group, determining whether a trigger object of the trigger event satisfies a preset condition for updating the queue; Each elevator in the elevator group has a consistent service attribute, and the elevator group is determined based on the trigger object; When the trigger object satisfies the preset condition, determining whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to the elevators in the elevator group; When it is determined to update the elevator queue, an elevator changing instruction is sent to the robot in the elevator queue to be replaced, so as to update the elevator queue.

2. The robot elevator queue balancing method according to claim 1, characterized in that: The triggering event includes the first robot arriving at a queue point of a pre-selected elevator; The trigger object corresponding to the trigger event is the first robot; Determining whether the trigger object of the trigger event meets the preset condition of updating the queue includes: Determining whether the first robot is at the head of a first elevator queue corresponding to the pre-selected elevator; When the first robot is not at the head of the first elevator queue, determining whether there is a first candidate elevator among the first elevators in a first elevator group; the first elevator group is the elevator group to which the preselected elevator belongs; and the first candidate elevator is the first elevator adapted to the current task performed by the first robot; In a case where the first candidate elevator exists in each of the first elevators, it is determined that the first robot meets the preset condition.

3. The robot elevator queue balancing method according to claim 2, characterized in that: The queue attribute includes a queue length; the determining whether to update the elevator queue based on the queue attribute of the elevator queue corresponding to each elevator in the elevator group includes: Determine whether the difference between the queue length of the first target elevator and the queue length of the first elevator queue is greater than or equal to a preset length threshold, the first target elevator being the first candidate elevator with the shortest queue length; In the case where it is determined that the difference is greater than or equal to the preset length threshold, determining to update the elevator queue; Accordingly, the step of sending an elevator changing instruction to the robot in the elevator queue to be changed includes: A first elevator changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the first target elevator.

4. The robot elevator queue balancing method according to claim 2, characterized in that: The queue attributes include the queuing time; the queue attributes of the elevator queues corresponding to each elevator in the elevator group are used to determine whether to update the elevator queues, including: Determine each first execution time for the first robot to perform a task through each of the first candidate elevators; the first execution time includes a queuing time of the first robot in a queue of the first candidate elevator; Determine whether a first execution time for the first robot to take a second target elevator is shorter than a second execution time for taking the pre-selected elevator; the second target elevator is the first candidate elevator corresponding to the shortest first execution time; the second execution time includes the first robot in the first elevator queue; When it is determined that the first execution time is shorter than the second execution time, determining to update the elevator queue; Accordingly, the step of sending an elevator changing instruction to the robot in the elevator queue to be changed includes: A second elevator-changing instruction is sent to the first robot so that the first robot moves from the elevator queue of the preselected elevator to the elevator queue of the second target elevator.

5. The balancing method for a robot elevator queue according to any one of claims 1 to 4, characterized in that: The trigger event includes receiving a reporting instruction of an idle elevator; the trigger object corresponding to the trigger event is the idle elevator; Determining whether the trigger object of the trigger event meets the preset condition of updating the queue includes: Determine whether there is a second candidate elevator among the second elevators in the second elevator group to which the idle elevator belongs; the second candidate elevator is the second elevator whose queue length is greater than a second length threshold; In the case that the second candidate elevator exists in each of the second elevators, it is determined that the idle elevator meets the preset condition.

6. The robot elevator queue balancing method according to claim 5, characterized in that: The queue attribute includes a queue length; the determining whether to update the elevator queue based on the queue attribute of the elevator queue corresponding to each elevator in the elevator group includes: Arrange the second candidate elevators in descending order of queue length; Matching the second robot at the end of the elevator queue of the second candidate elevator at the first position with the idle elevator; In the case where the second robot matches the idle elevator, the second robot is determined as a second target robot, and the previous robot of the second target robot is updated to be the second robot; the second target robot is the second robot that can take the idle elevator to perform the current task; When the second robot does not match the idle elevator and the previous robot of the second robot is updated to the second robot, or when the number of the second target robots is less than the specified number, return to execute the step of arranging the second candidate elevators in descending order of queue length and its subsequent steps; until the specified number of the second target robots is determined, or each of the second robots is the head of the boarding queue of the second candidate elevator; When the second target robot is determined, determining to update the elevator queue; Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including: A third elevator-changing instruction is sent to the second target robot, so that the second target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

7. The robot elevator queue balancing method according to claim 5, characterized in that: The queue attributes include the queuing time; the determining whether to update the elevator queue based on the queue attributes of each elevator in the elevator group and the elevator queue corresponding to each elevator includes: Determine a sub-elevator queue composed of robots matching the idle elevators in the elevator queue of each of the second candidate elevators; Determine a third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task; the third execution time includes a queuing time of the third robot under the idle elevator; The third target robot corresponding to the shortest third execution time is to be updated into the elevator queue, so as to determine the first total execution time of all robots corresponding to the second elevator group after the update; When the first total execution time is shorter than the second total execution time of all robots corresponding to the second elevator group before the update, determining to update the elevator queue; The robot preceding the third target robot in the corresponding sub-elevator queue is determined as the third robot, and the step of determining the third execution time for each third robot at the end of each sub-elevator queue to take an idle elevator to perform a task and subsequent steps are returned until the first total execution time is not shorter than the second total execution time; Accordingly, an elevator change instruction is sent to the robot in the elevator queue to be changed, including: A fourth elevator-changing instruction is sent to the third target robot, so that the third target robot moves from the elevator queue of the current elevator to the elevator queue of the idle elevator.

8. A balancing device for a robot elevator queue, characterized in that: include: A first determination module is used to determine whether a triggering object of the triggering event satisfies a preset condition for updating the queue when a triggering event of a balance of the elevator queue of the elevator group is detected; Each elevator in the elevator group has a consistent service attribute, and the elevator group is determined based on the trigger object; A second determination module is used to determine whether to update the elevator queue based on the queue attributes of the elevator queues corresponding to each elevator in the elevator group when the trigger object meets the preset condition; The balancing module is used to send an elevator changing instruction to the robot in the elevator queue to be replaced when it is determined to update the elevator queue, so as to update the elevator queue.

9. A server, which can communicate with a robot and a control module of an elevator respectively, and which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the balancing method for the robot elevator queue as described in any one of claims 1 to 7 is implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by one or more processors, the balancing method for the robot elevator queue as described in any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Biped robot task navigation method based on image segmentation and related device

    CN120269575A