Elevator allocation method and device for robot, server and program product
By dynamically monitoring and optimizing elevator selection and waiting queues when the robot performs cross-floor tasks, the problem of robot waiting for the elevator for too long is solved, and the elevator operation efficiency and task execution efficiency are improved.
Patent Information
- Application Number
- CN202510117950.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-03-18
AI Technical Summary
When the robot is heading to the elevator, changes in the external environment cause congestion in queues of selected target elevators, reducing the efficiency of task execution.
When the robot is at the target task node of the cross-floor task, based on the first task basic information of the target task node, the first attribute information of all elevators and the first status information of the robot, the initial elevator is determined from all elevators, and the status information of the initial elevator is monitored during the process of the robot heading to the initial elevator to determine whether to replace the initial elevator. When the robot reaches the waiting queue of the target elevator, the waiting queue is updated based on the task information and attribute information of the queued robots in the waiting queue, as well as the status information of the target elevator.
By optimizing the allocation of elevator resources, the robot waits for the elevator to ride, the overall operation efficiency of the elevator is improved, and the robots with urgent tasks can perform tasks efficiently.
Smart Images

Figure CN119637650A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robot technology, and in particular, relates to an elevator allocation method for a robot, an elevator allocation device for a robot, a server and a computer program product. Background Art
[0002] Elevators are key channels for robots to perform cross-floor delivery tasks. Currently, one elevator car is usually used by one robot, and it may be that a person and a robot use the elevator together. In order to perform tasks efficiently, when a robot goes to the elevator area, it can generally select a more efficient elevator from multiple available elevators as the target elevator. However, when the robot arrives at the target elevator, the external environment may have changed, such as elevator failure or unstable operating efficiency, or people waiting to ride or operate, resulting in queue congestion in the originally selected target elevator, reducing the efficiency of task execution. Summary of the invention
[0003] The present application provides an elevator allocation method for robots, an elevator allocation device for robots, a server and a computer program product, which can optimize the allocation of elevator resources from a global perspective to reduce the robot's waiting time for the elevator and improve the overall operating efficiency of the elevator.
[0004] In a first aspect, the present application provides an elevator allocation method for a robot, comprising:
[0005] When the robot is at a target task node of a cross-floor task, determining an initial elevator for the robot from all elevators based on first task basic information of the target task node, first attribute information and first state information of all elevators;
[0006] When the robot is heading to the initial elevator, monitoring the second state information of the initial elevator to determine whether to replace the initial elevator;
[0007] When the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue, the first elevator waiting queue is updated based on the comprehensive task information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator; the target elevator is the initial elevator or the initial elevator after replacement.
[0008] In a second aspect, the present application provides an elevator allocation device for a robot, comprising:
[0009] A first determination module is used to determine an initial elevator for the robot from all elevators based on first task basic information of a current task node and first attribute information and first state information of all elevators when the robot is at a target task node of a cross-floor task;
[0010] A second determination module is used to monitor the second state information of the initial elevator and determine whether to replace the initial elevator when the robot is heading to the initial elevator;
[0011] An updating module is used to update the first elevator waiting queue based on the comprehensive task information and corresponding execution information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator when the robot arrives at the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue; the target elevator is the initial elevator or the updated initial elevator.
[0012] In a third aspect, the present application provides a server robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method of the first aspect when executing the computer program.
[0013] 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.
[0014] 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.
[0015] Compared with the prior art, the present application has the following beneficial effects: when the robot is at the target task node of a cross-floor task, the server can determine that the robot has a need to take the elevator, and then determine the initial elevator for the robot based on the robot's need to take the elevator and the task information and the relevant information of all elevators; when the robot is heading to the initial elevator, the second state information of the initial elevator is monitored to determine whether to update the initial elevator; when the robot reaches the target elevator (the initial elevator or the updated initial elevator), the first waiting elevator queue corresponding to the target elevator is updated by various factors that may affect the queuing order, so as to ensure the execution efficiency of robot tasks that are urgent and important. The elevator allocation method defines a complete set of elevator allocation schemes, which adopts three different optimization strategies in three stages: when there is a need to take the elevator, on the way to the elevator, and at the queuing point of the elevator, and then optimizes the allocation of elevator resources from a global perspective, reduces the robot's waiting time for the elevator, and improves the overall operation efficiency of the elevator, so as to optimize the elevator resource allocation scheme.
[0016] 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
[0017] 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.
[0018] 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;
[0019] Figure 2 is a flow chart of an elevator allocation method for a robot provided in an embodiment of the present application;
[0020] Figure 3 is a schematic diagram of the distribution of task floor information of five queuing robots in the first elevator waiting queue of a target elevator provided in an embodiment of the present application;
[0021] Figure 4 is a structural schematic diagram of an elevator allocation device for a robot provided in an embodiment of the present application;
[0022] Figure 5 It is a schematic diagram of the structure of the server provided in the embodiment of the present application. DETAILED DESCRIPTION
[0023] 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.
[0024] In related technologies, elevators are key channels for robots to perform cross-floor tasks. Currently, one elevator car is usually used by one robot. In order to perform tasks efficiently, when a robot goes to the elevator area, it can generally select a more efficient elevator from multiple available elevators as the target elevator. However, when the robot arrives at the target elevator, the external environment may have changed, such as an elevator failure or unstable operating efficiency, resulting in queue congestion in the originally selected target elevator, reducing the efficiency of task execution.
[0025] In order to solve this problem, this application proposes an elevator allocation method for robots, which defines a complete set of elevator allocation schemes, adopts three different optimization strategies in three stages: when there is a demand for elevators, on the way to the elevator, and at the queuing point of the elevator, and then optimizes the allocation of elevator resources from a global perspective, reduces the robot's waiting time for the elevator, and improves the overall operation efficiency of the elevator, so as to optimize the elevator resource allocation scheme. The control method proposed in this application will be described below through specific embodiments.
[0026] The elevator allocation method for robots provided in the embodiment of the present application can be applied to a server, or any electronic device with corresponding computing capabilities in an 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.
[0027] For example, when applied to a server, see Figure 1 , the server, robot and elevator can establish connections and communicate with each other.
[0028] 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.
[0029] 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.
[0030] On the basis that the above servers, elevators, and robots can communicate with each other, the robot waiting 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.
[0031] Figure 2A schematic flow chart of an elevator allocation method for a robot provided by the present application is shown, and the elevator allocation method for a robot includes:
[0032] Step 210: When the robot is at the target task node of the cross-floor task, the server determines an initial elevator for the robot from all elevators based on the first task basic information of the target task node, the first attribute information and the first state information of all elevators.
[0033] When the robot is performing a cross-floor task, there is a need to take the elevator at at least one task node.
[0034] For example, assuming that the task information of the current cross-floor task is departure floor: 2nd floor, arrival floor: 5th floor, and the robot is currently on the 2nd floor, the robot will have the need to take the elevator when the task node receives the current cross-floor task.
[0035] For example, assuming that the task information of the current cross-floor task is departure floor: 2nd floor, arrival floor: 5th floor, the robot is currently on the 1st floor, the departure floor in the cross-floor task information is inconsistent with the robot's current floor, and the robot has task requirements at both task nodes after receiving the current cross-floor task and arriving at the 2nd floor.
[0036] For example, when the next task is a non-cross-floor task, after the robot completes the current cross-floor task and needs to return across floors, there is also a need to take the elevator.
[0037] That is, the target task node may include at least one task node at the start of the task, during the execution of the task, and at the end of the task.
[0038] The robot is at the target task node, indicating that there is a need to take the elevator. It is understandable that when the robot confirms that there is a need to take the elevator, it can send relevant instructions to the server, such as a request instruction for elevator allocation, so that the server can confirm that the robot is currently in a stage where there is a need to take the elevator based on the request instruction. At this time, the server can select an initial elevator for the robot from all elevators based on the relevant task information and elevator information. The initial elevator is the best choice for the robot at the stage where there is a need to take the elevator.
[0039] Specifically, in order to ensure that cross-floor tasks can be executed smoothly and to ensure the execution efficiency of cross-floor tasks, on the one hand, the server can obtain the first task basic information of the robot at the target task node; on the other hand, the server can also obtain the first attribute information and the first status information of all elevators. Based on these three types of information, the server can select the most suitable and efficient initial elevator for the robot.
[0040] Step 220: When the robot moves toward the initial elevator, the server monitors the second status information of the initial elevator to determine whether to replace the initial elevator.
[0041] Although the server has selected the best initial elevator for the robot based on real-time information when the robot needs to take the elevator, there is a time difference between selecting the initial elevator and the robot arriving at the initial elevator queue point. During this time period, the status information of the initial elevator may change, thereby reducing the execution efficiency of the robot's task.
[0042] To ensure that the elevator that the robot is about to queue for is always the best choice, the server can continuously monitor the second state information of the initial elevator to determine whether to replace the initial elevator for the robot.
[0043] Step 230: When the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue, the first elevator waiting queue is updated based on the comprehensive task information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator.
[0044] As can be seen from the above steps, the elevator in the robot queue may be the initial elevator determined in step 210, or may be another elevator replaced after the dynamic state information is detected in step 220. For the convenience of description, the elevator in the robot queue may be collectively referred to as the target elevator.
[0045] After the robot reaches the elevator waiting queue corresponding to the target elevator, if the robot is at the head of the first elevator waiting queue, it means that the robot's elevator waiting order is optimal at this time; if the robot is not at the head of the first elevator waiting queue, it means that there is room for optimization of the robot's elevator waiting order at this time. In order to ensure that each robot in the first elevator waiting queue can correspond to the optimal elevator waiting order, thereby ensuring that robots with urgent and important tasks can perform their tasks efficiently, the server can update the first elevator waiting queue based on the comprehensive task information of each queue robot in the first elevator waiting queue at the current task node, the second attribute information of each queue robot, and the third state information of the target elevator.
[0046] In this embodiment, when the robot is at the target task node of the cross-floor task, the server considers that the robot has a need to take the elevator, and can select the initial elevator for the robot based on the task information and elevator-related data. In the process of the robot going to the initial elevator, the server monitors the dynamic state of the initial elevator in real time, and updates the elevator selection when necessary to ensure that the elevator that is about to queue is always the best choice. When the robot arrives at the target elevator, the server dynamically optimizes the elevator queue by analyzing factors such as task comprehensive information, robot attributes and elevator status, ensuring that the robots in the first elevator queue can correspond to the best elevator waiting order, so as to improve the task execution efficiency of all robots. That is, by defining a complete set of elevator allocation schemes, the server implements three different optimization strategies in the stages of elevator demand, on the way to the elevator and in the queue. The three optimization strategies are linked and progressive, and can optimize the elevator resource allocation from a global perspective, obtain the optimal solution for resource allocation, minimize the robot waiting time and improve the elevator operation efficiency.
[0047] In some embodiments, the first state information includes first abnormal information and first elevator queue information; in order to improve the accuracy of the initial elevator determination, the aforementioned step 210 specifically includes:
[0048] Step A1: The server determines a first candidate elevator that is operating normally from all elevators based on the first abnormal information.
[0049] When the robot performs a cross-floor task, a normal operating elevator is its basic requirement. To this end, the server can obtain the first abnormal information of all elevators, which is used to indicate whether the elevator is abnormal, that is, whether it can still operate normally. Based on this information, the server can filter out the first candidate elevator that operates normally from all elevators to ensure that the initial elevator selected by the server for the robot can meet the basic operating requirements of the task.
[0050] Exemplarily, the first abnormal information may include fault information, maintenance information, disabled information, etc. of the elevator.
[0051] Among them, the fault information is used to indicate whether there is a fault in the elevator. For example, when the elevator power supply is abnormal, the backup power supply is not enabled, or the core components (such as the motor, braking system) are not in good operating health, it can be determined that the elevator is faulty and cannot operate normally.
[0052] The maintenance information is used to indicate whether the elevator is in a maintenance-related state, such as being inspected or maintained, or an elevator that needs to be repaired due to failing a safety inspection can also be considered unable to operate normally.
[0053] The disabling information is used to indicate whether the elevator is in a disabling state, for example, the elevator is set to be disabled or is disabled due to satisfying preset disabling conditions. Such elevators can also be considered unable to operate normally.
[0054] The server determines the first candidate elevator through at least one type of abnormal information, preferably through all the abnormal information that can be considered, which can more comprehensively improve the accuracy of determining the first candidate elevator and lay a solid foundation for subsequent initial elevator determination.
[0055] Step A2: The server determines a second candidate elevator from each first candidate elevator based on the first task basic information.
[0056] If there is a first candidate elevator, the robot can further match the selection range of the initial elevator through the first task basic information, that is, determine the second candidate elevator, and the second candidate elevator can ensure that the robot can successfully perform the task.
[0057] Exemplarily, the first task basic information may include departure floor information and arrival floor information corresponding to the target node, and the second candidate elevator determined based on the first task basic information is an elevator that can operate between the departure floor and the arrival floor.
[0058] Exemplarily, the first task basic information may include the task type. Some elevators may be customized and specifically used to assist some robots in completing tasks of specified task types. The second candidate elevator determined based on the task type can not only operate between the robot's departure floor and arrival floor, but also be adapted to the task type of the cross-floor task performed by the robot, for example, providing the robot with a sufficiently large elevator space.
[0059] Step A3: When the number of second candidate elevators is not unique, the server calculates the first-generation value corresponding to the robot taking each second candidate elevator based on the first attribute information, the first elevator waiting queue information and the preset first cost formula of each second candidate elevator.
[0060] When the number of second candidate elevators is unique, it means that there is no selection space, and the server can directly determine the second candidate elevator as the initial elevator. When the number of second candidate elevators is not unique, it means that there is selection space. In order to more comprehensively determine the most suitable initial elevator for the robot, for each second candidate elevator, the server can calculate the first generation value corresponding to each second candidate elevator according to its first attribute information, first elevator waiting queue information and first cost formula. It can be understood that the number of cost values that can be calculated is the same as the number of second candidate elevators.
[0061] Exemplarily, in order to comprehensively measure the cost corresponding to the robot taking each second candidate elevator, the first attribute information may include the location information, function information, etc. of the elevator, wherein the location information helps to determine the cost corresponding to the robot queuing up for the second candidate elevator, and the function information can indicate whether the second candidate elevator is a dedicated elevator to assist the robot in completing the task, which in turn helps to determine whether the cost of the robot is affected by fellow passengers when taking the second candidate elevator.
[0062] Exemplarily, the attributes of the first waiting queue mainly include the queue length, the waiting order of robots with the same task level in the queue, etc. These attributes help the robot to accurately determine the cost corresponding to waiting for the elevator.
[0063] Exemplarily, there may be multiple parameters substituted into the first cost formula for calculation. In order to accurately and comprehensively determine the first generation value corresponding to each second candidate elevator, when the server sets the first generation value, the non-quantized parameters may be assigned different quantized values according to different situations, and the quantized values of different parameters may be set with different weight values.
[0064] For example, assuming that the location information and function information of the second candidate elevator are included, the first elevator queue attribute includes the queue length, which can be determined according to the number of queuing robots in the first elevator queue, that is, the number of queuing robots is the same as the queue length; firstly, the distance value (in meters) between the robot and the second candidate elevator is calculated based on the location information of the second candidate elevator and the current location information of the robot. Non-quantitative parameter function information, such as whether the elevator is a robot-only elevator or a non-dedicated elevator, can be assigned quantized values of 1 and 0 respectively.
[0065] Optionally, in order to fairly and comprehensively calculate the first-generation value, the quantized values of each parameter can be processed uniformly. The specific method is to first multiply each parameter with the corresponding quantization coefficient to adjust its dimension to the same dimension, and then multiply it by the corresponding weight value to evaluate its relative importance from different dimensions. Based on this, the calculation formula of the first cost value is as follows:
[0066] First generation value = (robot-only elevator 0; robot-non-only elevator 1) × 200 × n1 + queue length × 100 × n2 + distance value × 4 × n3
[0067] Among them: n1, n2 and n3 are the weight values of each parameter, reflecting their importance in the total value assessment; 200, 100 and 4 are the quantification coefficients of each parameter. The queue length indicates the number of robots waiting for the elevator, which can reflect the busyness of the current elevator; the distance value indicates the actual distance between the robot and the elevator, which can reflect the convenience of taking the elevator; robot-dedicated elevators and non-dedicated elevators are processed by binary quantification to reflect the impact of the type of elevator on the robot's task. Through this formula, the applicability between each second candidate elevator and the robot can be comprehensively evaluated in a quantitative and weighted manner, so as to select the optimal initial elevator for the robot.
[0068] Step A4: The server determines the second candidate elevator corresponding to the smallest first-generation value as the initial elevator.
[0069] The first generation value indicates the cost of the robot taking the corresponding second candidate elevator. The higher the cost value, the worse the suitability of the elevator in the robot's task execution; conversely, the lower the cost value, the more suitable the elevator is for the current task. Therefore, by comparing the first generation values of all second candidate elevators, the server can prioritize the elevator with the lowest cost value as the initial elevator to optimize the execution efficiency of the robot task.
[0070] In this embodiment, when the server selects an elevator for the robot, it first eliminates elevators that cannot operate normally through abnormal information and selects the first candidate elevator; then, the second candidate elevator is further determined from the first candidate elevator based on the first task basic information to ensure that the robot can smoothly perform the task based on the selected initial elevator. In order to enable the robot to complete the task at the minimum cost and improve the task execution efficiency, when the number of second candidate elevators is not unique, the server calculates the first generation value of the robot taking each second candidate elevator based on the first attribute information, the first waiting queue information and the preset first cost formula of each second candidate elevator, and determines the second candidate elevator with the smallest first generation value as the robot's initial elevator.
[0071] In some embodiments, it takes a certain amount of time for the robot to go to the queue point of the initial elevator. During this period of time, the initial elevator may fail or enter a maintenance state. In order to ensure that the initial elevator is still available when the robot is queuing, the server may detect the second abnormal information of the initial elevator during the process of the robot going to the initial elevator, and determine whether to replace the initial elevator according to the following steps:
[0072] Step B1: When it is determined based on the second abnormal information that the initial elevator is not operating normally, the server determines whether there is a third candidate elevator.
[0073] The second abnormal information is the same as the first abnormal information, and both can include elevator fault information, maintenance information, disabled information, etc. The difference lies in the timing of obtaining the abnormal information. The first abnormal information is obtained before the initial elevator is determined, and the second abnormal information is obtained after the initial elevator is determined and on the way to the initial elevator.
[0074] Based on the second abnormal information, the server can determine whether the initial elevator can still operate normally. If the initial elevator fails to operate normally, it means that the initial elevator is no longer the best choice for the robot. At this time, the server can determine whether there is another second candidate elevator that can replace the initial elevator, that is, the third candidate elevator.
[0075] Step B2: When there are a non-unique number of third candidate elevators, the server determines the third candidate elevator with the smallest first-generation value as the initial elevator after replacement.
[0076] When the number of third candidate elevators is unique, the server can directly determine the third candidate elevator as the initial elevator after replacement, that is, the new initial elevator; when the number of third candidate elevators is not unique, in order to ensure the best selection, the server can be based on the first-generation value of each third candidate elevator (which has been calculated in the previous steps and can be directly called, and of course can also be recalculated), and select the third candidate elevator with the smallest first-generation value as the initial elevator after replacement, so as to ensure the execution efficiency of the robot task as much as possible.
[0077] In this embodiment, when the robot is heading to the initial elevator, if the initial elevator has an abnormal condition (such as a failure or maintenance), in order to prevent the robot from continuing to go to the queue point of the initial elevator, the server can determine whether there is a third candidate elevator based on the data calculated in the aforementioned initial elevator determination process. If there are third candidate elevators and the number is unique, they are directly determined as the replaced initial elevator; if the number of third candidate elevators is not unique, the server can select the third candidate elevator with the smallest replacement value as the new initial elevator based on the first-generation value of each third candidate elevator, thereby ensuring that the robot can complete the task at the optimal cost and avoiding task delays or resource waste caused by the abnormality of the initial elevator.
[0078] In some embodiments, the task comprehensive information includes the second task basic information and task dynamic information. On this basis, the aforementioned step 230 specifically includes:
[0079] Step C1, the server determines the second generation value corresponding to the queuing robot taking the target elevator based on the third state information, the preset second cost formula, and the second task basic information, task dynamic information and second attribute information corresponding to each queuing robot.
[0080] The robot's waiting order is usually determined based on the robot's current waiting queue, that is, it is mainly determined by the order in which the robots arrive at the waiting point. Considering that the tasks performed by some robots are more important and have a shorter time limit, if the elevator control rights are still allocated to the robots according to this strategy, it may cause the tasks of these robots to time out or even fail. In order to avoid this situation, after the robot arrives at the queue point, the server can determine the second-generation value corresponding to the queue robot taking the target elevator based on the third state of the target elevator, the preset second cost formula, and the second task basic information, task dynamic information, and second attribute information corresponding to each queue robot.
[0081] Exemplarily, in order to ensure that important and urgent tasks can be completed first, the second basic task information may include information such as the departure floor, arrival floor, task direction, task priority, and target task node, where the task direction can be determined by the departure floor and arrival floor; the task priority is determined by the task attributes, and the target task node may include executing the task, charging and returning, etc. Task dynamic information may include the cumulative waiting time (in minutes), the cumulative delivery time (in minutes), etc. The second attribute information of the robot may include the power, and the third state information may include the running direction, the current floor, etc.
[0082] For example, the server can calculate the floor difference between the robot's departure floor and the elevator's current floor. The floor difference can intuitively reflect the time required for the elevator to reach the robot's floor from the current floor, so it can be used as a key indicator to measure the length of time the robot waits for the elevator at the head of the queue. Specifically, the server can use it as a parameter and combine it with other factors to calculate the second-generation value, so as to more accurately evaluate the priority of each queue robot to take the target, ensure that the queue robot that chooses a shorter waiting time for the elevator takes the target elevator first, and improve the efficiency of task execution.
[0083] Exemplarily, when different task urgency levels are set, different quantitative values can be set for each task urgency level. For example, when the task urgency level is divided into "urgent" or "normal", the server can assign corresponding quantitative values to different urgency levels, for example, the quantitative value of the urgent task is 0, and the quantitative value of the normal task is 1. Through this setting, the urgent task will obtain a lower cost due to its smaller quantitative value when calculating the cost value, thereby giving priority to obtaining control of the target elevator. This method can ensure that the cost value of the urgent task is the lowest, help to increase the priority of the urgent task, and globally improve the execution efficiency of the queuing robot for the urgent task and ensure that it can be completed efficiently.
[0084] Exemplarily, in order to consider the impact of the robot's battery power on task execution, a basic power threshold required to complete the task can be set, for example, 30% of the total power. Depending on whether the robot's battery power is lower than the basic power, different quantitative values are assigned: the robot with a battery power lower than the basic power has a quantitative value of 0.5, and the robot with a battery power higher than the basic power has a quantitative value of 1. In the cost value calculation, the cost value of a low-battery robot is lower, so such a queuing robot can get priority to obtain control of the target elevator. This method can ensure that robots with lower battery power can perform tasks as quickly as possible, thereby avoiding situations where task execution efficiency is reduced or task failures are caused by insufficient power, and effectively improving the overall task completion rate and reliability of the system.
[0085] For example, in order to evaluate whether the elevator can quickly reach the robot's departure floor, a judgment can be made based on the relationship between the robot's task direction and the elevator's running direction. When the two directions are the same, the elevator does not need to switch directions, so that it can reach the robot's floor faster and reduce waiting time. In this case, a smaller quantitative value, such as 0.5, can be assigned to the same direction; and a larger quantitative value, such as 1, can be assigned when the directions are not the same. With this setting, when the task direction is the same as the elevator running direction, the second-generation value corresponding to the queuing robot is lower, and it can obtain control of the target elevator first, further reducing the waiting time of this type of queuing robot and improving its task execution efficiency.
[0086] For example, the above examples can be combined arbitrarily according to actual needs.
[0087] For example, the server can combine the above information and calculate the second-generation value based on the preset weights and the quantified values of each parameter. For example, the second-generation value can be calculated by weighting the quantified value of task priority, floor difference, power quantified value, and running direction quantified value. By dynamically adjusting the weight value and combining the information of each dimension, the server can flexibly adapt to the urgency of the task, the status of the robot, and the situation of elevator resources to ensure the maximization of task execution efficiency and resource utilization.
[0088] For example, in order to fairly and comprehensively calculate the second-generation value, the quantized values of each parameter can be processed uniformly. The specific method is to first multiply each parameter with the corresponding quantization coefficient to adjust its dimension to the same dimension, and then multiply it by the corresponding weight value to evaluate its relative importance from different dimensions. Based on this, the calculation formula of the second cost value is as follows:
[0089] Second generation value = (emergency 0; normal 1)*100*m1+(same direction 0.5; non-same direction 1)*50*m2+(robot power is lower than the base power 0.5; robot power is not lower than the base power 0.5)*50*m3+(task execution 0.3; charging return 1)*30*m4+difference between robot departure floor and elevator floor*5*m5+accumulated waiting time*5*m6+accumulated delivery time*2*m7
[0090] Among them, m1, m2, m3, m4, m5, m6 and m7 are the weight values of each parameter, reflecting their importance in the overall value assessment; 100, 50, 50, 30, 5, 5 and 2 are the quantitative coefficients of each parameter.
[0091] Step C2: reorder the queuing robots based on the second-generation values to update the first elevator waiting queue.
[0092] The second-generation value represents the cost of each queuing robot taking the target elevator. The server can reorder the robots in the first waiting queue based on the second-generation value corresponding to each queuing robot to update the first waiting queue. The second-generation value is a measure of the comprehensive cost of each queuing robot taking the target elevator. The lower the cost value, the higher the robot's task execution efficiency in the elevator. The reordering based on the second cost value can ensure that robots with urgent tasks, high priorities or more urgent resource needs are given priority to the service of the target elevator, so as to optimize the resource allocation of the target elevator, improve the overall task execution efficiency and reduce the waiting time of the queuing robots.
[0093] In this embodiment, when the robot reorders the queue robots in the first elevator waiting queue, the following information will be comprehensively considered: the second task basic information, task dynamic information, the second attribute information of each queue robot, and the third state information of the target elevator. By combining this information, the priority and service requirements of each robot can be more comprehensively evaluated to ensure that the sorting results can reflect the urgency of the task, dynamic changes, and efficiency of resource utilization, thereby optimizing the queue order and maximizing the overall efficiency of task execution and the reasonable allocation of target elevator resources.
[0094] In some embodiments, although the comparison of the second cost value can enable the queuing robot with an urgent and important task to obtain priority control of the elevator and complete the task by taking the elevator, the following problems may exist in this process: some queuing robots only get the opportunity to take the elevator first because the cost value of some parameters is lower, but the floor difference between their departure floor and the floor where the elevator is currently located is large, causing the target elevator to miss other queuing robots that could have been picked up along the way when running to the queuing robot, thereby causing a waste of target elevator resources and a decrease in overall task execution efficiency.
[0095] For example, assuming that the target elevator is located at 18F, and its first waiting queue contains two robots, after cost calculation and queue update, robot No. 1 has priority to obtain elevator control due to its smaller cost, and its task path is from 3F to 2F; robot No. 2 goes from 8F to 5F. Although the elevator will pass through 8F during its operation from 18F to 3F, in order to give priority to assisting robot No. 1 to complete the task, robot No. 2, which is on the way, is not picked up. Obviously, this will lead to underutilization of elevator resources, which not only increases the extra running time for the elevator to return to serve robot No. 2, but may also reduce the overall task execution efficiency of the two robots.
[0096] To solve this problem, the server can introduce the logic of picking up passengers along the way after updating the first elevator waiting queue. Specifically, when there is no robot in the target elevator, the following steps are executed repeatedly until the first elevator waiting queue cannot be updated again:
[0097] Step D1, the server determines the operating floor range of the target elevator carrying the first team leader robot based on the updated task floor information of the first team leader robot of the first elevator waiting queue and the current floor information of the target elevator.
[0098] To determine whether there is a robot on the way among the non-team-leading robots, the server can first determine which floors the elevator carrying the first team-leading robot will pass through, that is, the operating floor range of the target elevator. The operating floor range is mainly determined based on the current floor of the elevator and the current floor of the first team-leading robot.
[0099] Step D2, the server traverses the non-head robots of the updated first elevator waiting queue until the task floor information of the non-head robot matches the operating floor interval, and the task direction of the non-head robot is consistent with the operating direction of the target elevator, and the non-head robot is used as the first head robot to update the first elevator waiting queue again.
[0100] Based on the running floor interval of the target elevator, the server traverses the non-team-head robots in the updated first waiting queue until a non-team-head robot whose task floor information matches the running floor interval and whose task direction is consistent with the elevator running direction is found, i.e., a robot on the way. The task floor information here matches the running floor interval, and it can be considered that the task floor interval determined based on the task floor information falls within the running floor interval.
[0101] After finding the robot on the way, since the elevator carrying this robot on the way is not likely to significantly affect the task execution efficiency of the first team leader robot, the server determines it as the new first team leader robot and updates the first waiting queue again. The running floor interval is an important reference for the current running path of the target elevator. The server goes through the non-team leader robots one by one, compares their task floor interval with the running floor interval, and verifies whether the task direction is consistent with the elevator running direction, so as to screen out the robots on the way that meet the conditions.
[0102] Considering that there may be other robots along the way when the elevator carries the current first team leader robot, the server can repeat the above steps (such as steps D1 to D2) after determining the new first team leader robot to further optimize the first waiting queue. That is, the process will continue until no qualified robots along the way can be found, thereby achieving overall optimization of the elevator operation path and task allocation, ensuring the coordination and unity of elevator operation efficiency and task execution efficiency.
[0103] For example, see Figure 3 , the first waiting queue corresponding to the target elevator includes 5 queuing robots, namely 1# robot (3F to 1F), 2# robot (7F to 3F), 3# robot (8F to 5F), 4# robot (8F to 7F), 5# robot (5F to 3F). The order of the 5 robots according to the second cost value is 1# robot → 2# robot → 3# robot → 4# robot → 5# robot.
[0104] The target elevator is currently at 10F. Based on the floor information of the first team leader robot 1# and the current running direction and floor of the target elevator, the server determines that the target elevator's running floor interval is [10F, 3F]. Since there is no robot in the elevator at this time, the server can determine whether there is a robot on the way among the non-team leader robots based on the running floor interval.
[0105] First, the server determines whether the task floor interval of robot 2# [7F, 3F] belongs to the operating floor interval of the target elevator [10F, 3F]. Since the task floor interval of robot 2# belongs to the operating floor interval of the target elevator, it means that the target elevator can take robot 2# along the way to help it take the elevator first, so robot 2# is ranked first and becomes the new first team leader robot.
[0106] After determining the new first-team leader robot, the server determines the new elevator's operating floor interval as [10F, 7F] based on robot 2. Among the non-team leaders, robot 3's task floor interval [8F, 5F] does not belong to the target elevator's operating floor interval [10F, 7F], which means it is not on the way and no adjustment is made; robot 4's task floor interval is [8F, 7F], and its task direction is consistent with the operating direction. At this time, it can be considered that robot 4 can pick up robot 4 on the way to 7F by the target elevator to pick up robot 2, so robot 4's waiting order can jump to the first place, that is, robot 4 is the new first-team leader robot.
[0107] After the new first-team leader robot is determined, the server determines the new elevator's operating floor range as [10F, 8F] based on the 4 robots. Among the non-team leader robots, the 5# robot's task floor range [5F, 3F] does not belong to the target elevator's operating floor range [10F, 8F], which means it is not on the way and no adjustment will be made.
[0108] At this point, all the queued robots have been traversed, and the first elevator waiting queue cannot be updated again. Therefore, the final first elevator waiting queue can be determined, that is, robot 4#→robot 2#→robot 1#→robot 3#→robot 5#.
[0109] The final first elevator waiting queue can improve the task execution efficiency of robots 4# and 2# as much as possible through the on-the-way strategy without affecting the task execution efficiency of robot 1#, that is, to ensure the efficient coordination of the target elevator's operating path and task allocation. The target elevator will serve the robot tasks one by one in the final determined order of the first elevator waiting queue, maximize the operating efficiency of the target elevator and reduce the overall delay of the robot tasks. At the same time, this queue optimization mechanism based on dynamic updates helps to make full use of the elevator's operating capacity, meet the needs of more on-the-way robot tasks as much as possible, and further improve the system's intelligence and task scheduling efficiency.
[0110] In some embodiments, in order 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 characteristics of the elevator, such as the physical location, service range, usage type, and operating parameters. Based on this, in order to avoid the situation where some elevator waiting queues in the group are busy and some elevators are idle, resulting in a decrease in the overall execution efficiency of the robot tasks in the group, when the robot reaches the first waiting queue corresponding to the target elevator and the robot is not at the head of the first waiting queue, it can be considered that the queue in the elevator group described by the target elevator is unbalanced. In order to balance the waiting queues in the elevator group as much as possible, the overall execution efficiency of all robot tasks corresponding to the elevator group can be guaranteed. The server can perform the following steps:
[0111] Step E1, the server determines whether there is an available elevator in the elevator group corresponding to the target elevator; the available elevator is determined based on the first task basic information and the attribute information of the available elevator.
[0112] The server can evaluate the balance state of the elevator queues in the elevator group and determine whether the task allocation can be optimized through the balance strategy, thereby improving the operating efficiency of the entire elevator group. Specifically, the balance of the elevator queues in the elevator group aims to keep the load of each elevator balanced or approximately balanced to improve the overall execution efficiency of the robot task. This means that before a new robot joins the first elevator queue of the target elevator, the elevator queues of each elevator in the elevator group are usually in a balanced or approximately balanced state. However, the addition of a new robot may break this balance.
[0113] In order to solve this imbalance, the server can first determine whether there is an available elevator in the elevator group. An available elevator refers to an elevator in another group that can assist the robot in completing its cross-floor task. The determination basis includes the first task basic information and the attribute information of the available elevator. At least the available elevator is required to be able to carry the robot and run between the departure floor and arrival floor corresponding to the robot.
[0114] Step E1, the server determines the queue length difference between the target available elevator and the target elevator; the target available elevator is the available elevator with the shortest queue length.
[0115] Step E2: When the queue length difference reaches a preset queue length threshold, the server sends a first elevator change instruction to the robot, so that the robot performs the task through the target available elevator.
[0116] Since it takes a certain amount of time and resources for the robot to move from the first elevator queue to other elevator queues, if the efficiency of taking the elevator is limited after the movement, the server can determine that the benefits of adjusting the elevator queue at this time are not enough to offset the time cost and resource overhead, and avoid unnecessary queue updates. This optimization can effectively reduce resource waste and prevent efficiency decline.
[0117] To this end, the server can determine whether the waiting queue needs to be adjusted by evaluating the difference in queue length between the target elevator and other available elevators in the elevator group. The target available elevator is usually the elevator with the shortest queue length, because it has a lower load and can complete the current task faster and provide service for the robot task. During the evaluation process, the server will comprehensively consider the time cost of the robot moving from the first waiting queue to the target available elevator and the efficiency improvement brought by the adjustment.
[0118] If the queue length of the target available elevator is significantly shorter and the robot can significantly reduce the task waiting time after moving, the server will give priority to assigning the robot to the target available elevator to restore the load balance of the elevator group. However, if the calculation shows that the efficiency improvement of the queue adjustment is not enough to offset the cost of the moving time, the server will maintain the existing queue allocation to avoid unnecessary adjustments.
[0119] Through this dynamic evaluation mechanism, the server can ensure that the benefits of the queue adjustment strategy are maximized while avoiding efficiency losses caused by excessive adjustment, ultimately achieving the optimal balance between elevator group operating efficiency and resource utilization.
[0120] Accordingly, the server may remove the robot from the first elevator waiting queue to update each elevator waiting queue in the group.
[0121] In this embodiment, the server quantifies the load difference between the target elevator and the available elevator by calculating the difference in queue length between the target elevator and the available elevator. In order to avoid unnecessary queue updates and reduce computation and resource consumption, the server may compare the difference with the length threshold to determine whether the current load of the target available elevator is significantly better than that of the target 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 robot's elevator riding efficiency, the server may trigger the update of the elevator waiting queue in the elevator group when the difference reaches a preset threshold, and assign a more suitable elevator to the first robot to improve its elevator riding efficiency.
[0122] In some embodiments, it is understood that other indicators other than the queue length may be used to determine whether to update each elevator waiting queue in the elevator group to balance the load of each elevator in the elevator group. For example, the overall efficiency of the elevator group or the overall task execution time of the elevator group may be used to determine whether to update each elevator waiting queue.
[0123] In some embodiments, during the operation of each elevator in the elevator group, an idle elevator may appear, that is, an elevator with no robots on board and no robots waiting in line. In order to share the load for other elevators in the group, the idle elevator may send a report instruction to the server autonomously or through the elevator control module. The server may determine the idle elevator according to the report instruction and perform the following steps to achieve load balancing in the elevator group:
[0124] Step F1: The server calculates the average queue length based on the queue lengths of all elevator waiting queues in the elevator group.
[0125] The server calculates the average queue length based on the queue lengths of all elevator queues in the elevator group to evaluate the load balance in the elevator group. By summarizing the queue lengths of each elevator and calculating their average, the server can obtain a benchmark for measuring load balance, which serves as a basis for subsequent screening of busy elevators and optimizing load distribution.
[0126] Step F2: The server determines an elevator whose waiting queue length is greater than the average length as a busy elevator.
[0127] The server identifies elevators with queues longer than the average queue length as busy elevators, in order to identify elevators with loads exceeding normal levels, i.e., busy elevators with high loads. By comparing with the average queue length, the server can locate busy elevators and provide direction for task adjustment, i.e., optimize the load distribution of each elevator in the elevator group with the purpose of alleviating the load pressure of busy elevators.
[0128] Step F3: The server determines a specified number of robots to be transferred from the sub-elevator queue of the busy elevator; the sub-elevator queue is the elevator queue of the second elevator queue of the busy elevator that exceeds the average queue length.
[0129] The server determines the specified number of robots to be transferred from the sub-elevator queue of the busy elevator, where the sub-elevator queue is the part of the busy elevator that exceeds the average queue length. The specified number is determined based on the difference between the busy elevator queue length and the average length. Assuming the average queue length is 5 and the queue length of the second elevator queue of the busy elevator is 8, the sub-elevator queue is the elevator queue composed of the queued robots with the waiting order in the 6th to 8th place. At the same time, the robots to be transferred must meet the conditions of being able to perform tasks through idle elevators to ensure that the adjusted tasks can be completed efficiently.
[0130] For example, since not all robots in the second elevator waiting queue can perform tasks in an idle elevator, when determining the sub-elevator waiting queue, not only the queue length is considered, but also whether each queued robot in the sub-elevator waiting queue can take an idle elevator to perform tasks. The sub-elevator waiting queue determined in this way can directly select the robot to be transferred based on the number.
[0131] Step F4: The server sends a second elevator-changing instruction to the robot to be transferred, so that the robot to be transferred performs the task through an idle elevator.
[0132] The server sends a second elevator change command to the robot to be transferred, guiding it to move from a busy elevator to an idle elevator to complete the task. By transferring the load from a busy elevator to an idle elevator with the shortest queue length, the server can balance the overall load of the elevator group, reduce task waiting time, and improve the system's resource utilization and scheduling efficiency.
[0133] Accordingly, the robot to be transferred may be removed from the second elevator waiting queue to update each elevator waiting queue in the group.
[0134] In this embodiment, the server calculates the average queue length based on the queue lengths of all elevator waiting queues in the elevator group as a criterion for measuring load balance, and determines elevators with elevator waiting queue lengths greater than the average length as busy elevators to identify overloaded elevators. Subsequently, the server determines a specified number of robots to be transferred from the sub-elevator waiting queue of the busy elevator, where the sub-elevator waiting queue refers to the portion of the second elevator waiting queue of the busy elevator that exceeds the average length, and the specified number is determined by the difference between the length of the elevator waiting queue of the busy elevator and the average length, and it is necessary to ensure that the robots to be transferred can perform tasks through idle elevators. Finally, the server sends a second elevator change instruction to the robot to be transferred, moving it from the queue of the busy elevator to the queue of the idle elevator, so as to utilize the operating capacity of the idle elevator, reduce the task waiting time, and restore the load balance of the elevator group, thereby improving the overall task execution efficiency and the intelligent operation level of the elevator group.
[0135] In some embodiments, in order to improve the accuracy of determining the initial elevator and the accuracy of updating the first elevator waiting queue, the server may refine the first elevator waiting queue of the elevator into a pre-selected elevator waiting queue and an arrival elevator waiting queue to more accurately manage the robot task scheduling. Among them, the pre-selected elevator waiting queue includes robots that have taken the elevator as the initial elevator but have not yet arrived at the elevator waiting point, and robots that have arrived at the elevator waiting point; while the arrival elevator waiting queue only includes robots that have arrived at the elevator waiting point. Based on this classification, when determining the initial elevator, since the robot has not yet arrived at the elevator waiting point of the target elevator, the initial elevator can be selected based on the information of the pre-selected elevator waiting queue, thereby optimizing the scheduling accuracy before the robot arrives at the elevator waiting point, laying the foundation for the subsequent update of the first elevator waiting queue and task execution. The update of the first elevator waiting queue is mainly to confirm the order of the queued robots that have arrived at the elevator waiting point of the target elevator, so the update of the first elevator waiting queue is actually based on the arrival elevator waiting queue.
[0136] Based on the above embodiments, it can be seen that the server not only defines a complete set of elevator allocation solutions, but also optimizes the allocation of elevator resources from a global perspective, that is, different strategies are adopted in the three stages of when there is a demand for an elevator, on the way to the elevator, and at the elevator queue point, so as to effectively reduce the robot's waiting time for the elevator and improve the overall operation efficiency of the elevator. In addition, after the robot arrives at the first elevator queue, the server further optimizes resource allocation by dynamically balancing the elevator queues based on the changes in the elevator queues in the elevator group where the target elevator is located. For example, when a robot joins the elevator queue or the length of a certain elevator queue becomes zero, the server can adjust the allocation strategy in time to ensure the load balance within the elevator group and the continuous improvement of the operation efficiency.
[0137] 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.
[0138] Corresponding to the elevator allocation method for robots in the above embodiment, Figure 4 A structural block diagram of an elevator allocation device 4 for a robot 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.
[0139] Reference Figure 4 , the elevator allocation device 4 for the robot comprises:
[0140] A first determination module 41 is used to determine an initial elevator for the robot from all elevators based on first task basic information of the current task node and first attribute information and first state information of all elevators when the robot is at a target task node of a cross-floor task;
[0141] A second determination module 42 is used to monitor the second state information of the initial elevator and determine whether to replace the initial elevator when the robot is heading to the initial elevator;
[0142] The updating module 43 is used to update the first elevator waiting queue based on the comprehensive task information and corresponding execution information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator when the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue; the target elevator is the initial elevator or the updated initial elevator.
[0143] Optionally, the first state information includes first abnormal information and first elevator waiting queue information; the first determination module 41 is specifically used for:
[0144] Determine a first candidate elevator that operates normally from all elevators based on the first abnormal information;
[0145] Determine a second candidate elevator from each first candidate elevator based on the first task basic information, the second candidate elevator being a first candidate elevator matching the first task basic information;
[0146] When the number of second candidate elevators is not unique, based on the first attribute information of each second candidate elevator, the first elevator queue information and the preset first cost formula, the first generation value corresponding to the robot taking each second candidate elevator is calculated;
[0147] The second candidate elevator corresponding to the smallest first generation value is determined as the initial elevator.
[0148] Optionally, the second state information includes second abnormal information, and the second determining module 42 is specifically configured to:
[0149] In the case where it is determined based on the second abnormal information that the initial elevator is not operating normally, determining whether there is a third candidate elevator, the third candidate elevator being another second candidate elevator;
[0150] In the case that there are a non-unique number of third candidate elevators, the third candidate elevator with the smallest first-generation value is determined as the initial elevator after replacement.
[0151] Optionally, the task comprehensive information includes the second task basic information and task dynamic information, and the updating module 43 is specifically used for:
[0152] Determine the second generation value corresponding to the queuing robot taking the target elevator based on the third state information, the preset second cost formula, and the second task basic information, task dynamic information, and second attribute information corresponding to each queuing robot;
[0153] The queuing robots are reordered based on the second-generation values to update the first elevator waiting queue.
[0154] Optionally, after updating the first elevator waiting queue, the elevator allocation device 4 includes a loop module, which is used to loop the following steps when there is no robot in the target elevator until the first elevator waiting queue cannot be updated again:
[0155] Determine the operating floor interval of the target elevator carrying the first team leader robot based on the updated task floor information of the first team leader robot of the first elevator waiting queue and the current floor information of the target elevator;
[0156] Traverse the non-head robots of the updated first elevator waiting queue until the task floor information of the non-head robot matches the operating floor interval and the task direction of the non-head robot is consistent with the operating direction of the target elevator, and use the non-head robot as the first head robot to update the first elevator waiting queue again.
[0157] Optionally, when the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue, the elevator allocation device 4 includes a first intra-group balancing module, which is used to:
[0158] Determine whether there is an available elevator in the elevator group corresponding to the target elevator; the available elevator is determined based on the first task basic information and the attribute information of the available elevator;
[0159] Determine the queue length difference between the target available elevator and the target elevator; the target available elevator is the available elevator with the shortest queue length;
[0160] When the queue length difference reaches a preset queue length threshold, a first elevator change instruction is issued to the robot so that the robot performs the task through the target available elevator;
[0161] Accordingly, the robot is removed from the first elevator waiting queue.
[0162] Optionally, when receiving a report instruction of an idle elevator in the elevator group to which the target elevator belongs, the elevator allocation device 4 includes a first intra-group balancing module, which is used to:
[0163] Calculate the average queue length based on the queue lengths of all elevator waiting queues in the elevator group;
[0164] Elevators whose waiting queue length is greater than the average length are identified as busy elevators;
[0165] Determine a specified number of robots to be transferred from the sub-elevator queue of the busy elevator; the sub-elevator queue is the elevator queue of the second elevator queue of the busy elevator that exceeds the average queue length; the specified number is determined based on the average queue length; the robots to be transferred can perform tasks through idle elevators;
[0166] Sending a second elevator change instruction to the robot to be transferred, so that the robot to be transferred performs the task through the idle elevator;
[0167] Accordingly, the robot to be transferred is removed from the second elevator waiting queue.
[0168] 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.
[0169] Figure 5 This is a schematic diagram of the physical structure of a server provided in an embodiment of the present application. Figure 5 As shown, the server 5 of this embodiment includes: at least one processor 50 ( Figure 5 Only one processor is shown in the figure), a memory 51, and a computer program 52 stored in the memory 51 and executable on at least one processor 50. When the processor 50 executes the computer program 52, the steps in any of the above-mentioned embodiments of the elevator allocation method for a robot are implemented, for example Figure 2 Steps 210-250 are shown.
[0170] The processor 50 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.
[0171] In some embodiments, the memory 51 may be an internal storage unit of the server 5, such as a hard disk or memory of the server 5. In other embodiments, the memory 51 may also be an external storage device of the server 5, 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 5.
[0172] Furthermore, the memory 51 may also include both an internal storage unit of the server 5 and an external storage device. The memory 51 is used to store operating devices, applications, boot loaders, data, and other programs, such as program codes of computer programs, etc. The memory 51 may also be used to temporarily store data that has been output or is to be output.
[0173] 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.
[0174] 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.
[0175] 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.
[0176] 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.
[0177] 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.
[0178] 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.
[0179] 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.
[0180] 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.
[0181] 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. An elevator allocation method for a robot, characterized in that: include: When the robot is at a target task node of a cross-floor task, determining an initial elevator for the robot from all elevators based on first task basic information of the target task node, first attribute information and first state information of all elevators; During the process of the robot going to the initial elevator, monitoring the second state information of the initial elevator to determine whether to replace the initial elevator; When the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue, the first elevator waiting queue is updated based on the comprehensive task information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator; the target elevator is the initial elevator or the initial elevator after replacement.
2. The elevator allocation method for a robot according to claim 1, characterized in that: The first state information includes first abnormal information and first elevator waiting queue information; the determining an initial elevator for the robot from all elevators based on the first task basic information of the current task node, the first attribute information of all elevators, and the first state information includes: Determine a first candidate elevator that operates normally from among all the elevators based on the first abnormal information; Determine a second candidate elevator from each of the first candidate elevators based on the first task basic information, where the second candidate elevator is a first candidate elevator matching the first task basic information; When the number of the second candidate elevators is not unique, based on the first attribute information of each second candidate elevator, the first elevator queue information and a preset first cost formula, calculating the first generation value corresponding to the robot taking each second candidate elevator; The second candidate elevator corresponding to the smallest first generation value is determined as the initial elevator.
3. The elevator allocation method for a robot according to claim 2, characterized in that: The second status information includes second abnormal information, and the monitoring of the second status information of all elevators to determine whether to replace the initial elevator includes: In the case where it is determined based on the second abnormal information that the initial elevator is not operating normally, determining whether there is a third candidate elevator, the third candidate elevator being another of the second candidate elevators; In the case that there are a non-unique number of the third candidate elevators, the third candidate elevator with the smallest first-generation value is determined as the initial elevator after replacement.
4. The elevator allocation method for a robot according to claim 1, characterized in that: The task comprehensive information includes second task basic information and task dynamic information. The updating of the first elevator waiting queue based on the task comprehensive information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator includes: Determine the second generation value corresponding to the queuing robot taking the target elevator based on the third state information, the preset second cost formula, and the second task basic information, task dynamic information, and second attribute information corresponding to each of the queuing robots; The queuing robots are reordered based on the second-generation values to update the first elevator waiting queue.
5. The elevator allocation method for a robot according to claim 1, characterized in that: After the updating of the first elevator waiting queue, the method further includes: When there is no robot in the target elevator, the following steps are executed in a loop until the first elevator waiting queue cannot be updated again: Determine the operating floor interval of the target elevator carrying the first team-leading robot based on the updated task floor information of the first team-leading robot of the first elevator waiting queue and the current floor information of the target elevator; Traverse the updated non-head robots of the first elevator waiting queue until the task floor information of the non-head robot matches the running floor interval and the task direction of the non-head robot is consistent with the running direction of the target elevator, and use the non-head robot as the first head robot to update the first elevator waiting queue again.
6. The elevator allocation method for a robot according to claim 1, characterized in that: When the robot reaches a first elevator waiting queue corresponding to a target elevator and the robot is not at the head of the first elevator waiting queue, the method further includes: Determine whether there is an available elevator in the elevator group corresponding to the target elevator; the available elevator is determined based on the first task basic information and the attribute information of the available elevator; Determine a queue length difference between a target available elevator and the target elevator; the target available elevator is the available elevator with the shortest queue length; When the queue length difference reaches a preset queue length threshold, issuing a first elevator change instruction to the robot so that the robot performs the task through the target available elevator; Accordingly, the robot is removed from the first elevator waiting queue.
7. The elevator allocation method for a robot according to claim 1, characterized in that: In the case of receiving a report instruction of an idle elevator in the elevator group to which the target elevator belongs, the method further includes: When receiving a report instruction of an idle elevator in the elevator group described by the target elevator, calculating an average queue length based on the queue lengths of all waiting queues in the elevator group; Determine an elevator whose waiting queue length is greater than the average length as a busy elevator; Determine a specified number of robots to be transferred from the sub-elevator queue of the busy elevator; the sub-elevator queue is the elevator queue of the second elevator queue of the busy elevator that exceeds the average queue length; the specified number is determined based on the average queue length; the robots to be transferred can perform tasks through the idle elevator; Sending a second elevator-changing instruction to the robot to be transferred, so that the robot to be transferred performs a task through the idle elevator; Accordingly, the robot to be transferred is removed from the second elevator waiting queue.
8. An elevator allocation device for a robot, characterized in that: A first determination module is used to determine an initial elevator for the robot from all elevators based on first task basic information of a current task node and first attribute information and first state information of all elevators when the robot is at a target task node of a cross-floor task; A second determination module is used to monitor the second state information of the initial elevator and determine whether to replace the initial elevator during the process of the robot going to the initial elevator; An updating module is used for updating the first elevator waiting queue when the robot reaches the first elevator waiting queue corresponding to the target elevator and the robot is not at the head of the first elevator waiting queue based on the comprehensive task information and corresponding execution information of each queuing robot in the first elevator waiting queue at the current task node, the second attribute information of each queuing robot and the third state information of the target elevator; the target elevator is the initial elevator or the updated initial elevator.
9. A server comprising 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 elevator allocation method for a robot according to 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 elevator allocation method for a robot according to any one of claims 1 to 7 is implemented.
Citation Information
Cited By
Robot elevator taking control method and elevator control method
CN120270871A
Elevator resource allocation method and device and storage medium
CN120504227A
Elevator resource allocation method, device and storage medium
CN120504227B