Method, device, equipment and product for task allocation after robot fault

CN122074142APending Publication Date: 2026-05-22BEIJING YOUZHUJU NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING YOUZHUJU NETWORK TECH CO LTD
Filing Date
2024-09-20
Publication Date
2026-05-22

AI Technical Summary

Technical Problem

In existing technologies, after a warehouse robot malfunctions, it needs to wait for the control center to reassign tasks, resulting in low efficiency, long processing time, and increased computational and communication burden on the control center. The reliance on the stability of the control center has become a system bottleneck.

Method used

When a malfunction occurs, the warehouse robot broadcasts a fault message, receives response information from surrounding robots, selects a suitable robot, and directly assigns tasks, reducing reliance on the control center and enabling task transfer through point-to-point communication.

Benefits of technology

Shorten task downtime, improve system efficiency, reduce the burden on the control center, enhance system flexibility and robustness, and improve response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122074142A_ABST
    Figure CN122074142A_ABST
Patent Text Reader

Abstract

The invention provides a method, a device, equipment and a product for task allocation after a robot fault. The method includes determining that itself is faulty (202), broadcasting a fault message, the fault message including a location of the first robot (204), receiving a plurality of response messages from a plurality of response robots, a response message of the plurality of response messages including status information of the response robot and the location of the response robot (206), and transmitting the response messages to the first robot. A second robot is selected from the plurality of response robots based on the plurality of response messages (208), and a task assignment message is sent to the second robot, the task assignment message comprising task information associated with the task of the first robot (210).
Need to check novelty before this filing date? Find Prior Art

Description

Methods, apparatuses, devices, and products for post-robot failure task assignment TECHNICAL FIELD

[0001] The present disclosure relates to the field of robotics, and more specifically to methods, apparatuses, devices, and products for post-robot failure task assignment. BACKGROUND

[0002] Warehouse robots undertake a number of important tasks in modern warehouse management. For example, warehouse robots can shuttle between shelves to accurately pick items needed according to customer order information. In addition to picking items according to individual orders, warehouse robots can also perform batch picking, i.e., picking the same goods needed for multiple orders at one time and then sorting them.

[0003] Many items are stored and transported in warehouses in units of pallets. Warehouse robots can carry pallets full of items from a receiving area to a storage area, or from a storage area to a shipping area. In addition to pallet transportation, for some small items, warehouse robots can also perform efficient transportation. They can transport small items from a sorting area to a packaging area, or transfer items between different shelves.

[0004] SUMMARY

[0005] In a first aspect of embodiments of the present disclosure, a method for post-robot failure task assignment is provided. The method includes determining, by a first robot, that the first robot has failed. The method also includes broadcasting, by the first robot, a failure message, the failure message including a location of the first robot. The method further includes receiving, by the first robot, a plurality of response messages from a plurality of responding robots, a response message of the plurality of response messages including state information of a responding robot and a location of the responding robot. The method also includes selecting, by the first robot, a second robot from the plurality of responding robots based on the plurality of response messages. In addition, the method further includes sending, by the first robot, a task assignment message to the second robot, the task assignment message including task information associated with a task of the first robot.

[0006] In a second aspect of embodiments of the present disclosure, an apparatus for robot post-failure task allocation is provided. The apparatus includes a failure determination module configured to determine, by a first robot, that the first robot has failed. The apparatus also includes a message broadcasting module configured to broadcast, by the first robot, a failure message, the failure message including a location of the first robot. The apparatus further includes a response receiving module configured to receive, by the first robot, a plurality of response messages from a plurality of responding robots, a response message of the plurality of response messages including state information of a responding robot and a location of the responding robot. The apparatus also includes a response selecting module configured to select, by the first robot, a second robot from the plurality of responding robots based on the plurality of response messages. In addition, the apparatus further includes a task allocation module configured to send, by the first robot, a task allocation message to the second robot, the task allocation message including task information associated with a task of the first robot.

[0007] In a third aspect of embodiments of the present disclosure, an electronic device is provided. The electronic device includes one or more processors; and a storage storing one or more programs, when executed by the one or more processors, cause the one or more processors to implement a method for robot post-failure task allocation. The method includes determining, by a first robot, that the first robot has failed. The method also includes broadcasting, by the first robot, a failure message, the failure message including a location of the first robot. The method further includes receiving, by the first robot, a plurality of response messages from a plurality of responding robots, a response message of the plurality of response messages including state information of a responding robot and a location of the responding robot. The method also includes selecting, by the first robot, a second robot from the plurality of responding robots based on the plurality of response messages. In addition, the method further includes sending, by the first robot, a task allocation message to the second robot, the task allocation message including task information associated with a task of the first robot.

[0008] In a fourth aspect of embodiments of the present disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer readable medium and includes machine executable instructions that, when executed, cause a machine to implement a method for robot post-failure task allocation. The method includes determining, by a first robot, that the first robot has failed. The method also includes broadcasting, by the first robot, a failure message, the failure message including a location of the first robot. The method further includes receiving, by the first robot, a plurality of response messages from a plurality of responding robots, a response message of the plurality of response messages including state information of a responding robot and a location of the responding robot. The method also includes selecting, by the first robot, a second robot from the plurality of responding robots based on the plurality of response messages. In addition, the method further includes sending, by the first robot, a task allocation message to the second robot, the task allocation message including task information associated with a task of the first robot.

[0009] The above and other features, aspects and advantages of various embodiments of the present disclosure will become more apparent with reference to the following detailed description when taken in conjunction with the accompanying drawings. The summary is intended to neither limit nor characterize the scope or the extent of the disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0010] The above and other features, aspects and advantages of various embodiments of the present disclosure will become more apparent with reference to the following detailed description when taken in conjunction with the accompanying drawings. The summary is intended to neither limit nor characterize the scope or the extent of the disclosure.

[0011] FIG. 1 illustrates a schematic diagram of an example environment in which various embodiments of the present disclosure can be implemented;

[0012] FIG. 2 illustrates a flowchart of a method for task allocation after robot failure according to some embodiments of the present disclosure;

[0013] FIG. 3 illustrates a flowchart of an example process for determining a broadcast range for broadcasting a failure message by a failed robot according to some embodiments of the present disclosure;

[0014] FIG. 4 illustrates a schematic diagram of an example of selecting a target robot from multiple responding robots by a failed robot according to some embodiments of the present disclosure;

[0015] FIG. 5 illustrates a schematic diagram of an example of calculating a comprehensive score for each responding robot by a failed robot according to some embodiments of the present disclosure;

[0016] FIG. 6 illustrates a schematic diagram of an example of re-sending a task allocation message by a failed robot, and sending a task transfer message to a control center according to some embodiments of the present disclosure;

[0017] FIG. 7 illustrates a block diagram of an apparatus for task allocation after robot failure according to some embodiments of the present disclosure; and

[0018] FIG. 8 illustrates a block diagram of a device capable of implementing various embodiments of the present disclosure. DETAILED DESCRIPTION

[0019] It can be understood that all user-related data involved in the technical solution should be obtained and used after the user's authorization. This means that in the technical solution, if the user's personal information needs to be used, the user's explicit consent and authorization are required before obtaining these data, otherwise the relevant data collection and use will not be carried out. It should also be understood that in the implementation of the technical solution, relevant laws and regulations should be strictly followed in the collection, use and storage of data, and necessary technical and measures should be taken to protect the user's data security and ensure the safe use of data.

[0020] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.

[0021] In the description of embodiments of the present disclosure, the term "comprising" and similar terms are understood to encompass open-ended inclusion, i.e., "comprising but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. can refer to different or the same objects unless explicitly stated. The following can also include other explicit and implicit definitions.

[0022] The warehouse robot will monitor itself in real time when performing tasks to determine whether it has failed. For example, the robot can determine its position in the warehouse in real time, and if the position data fluctuates abnormally or deviates significantly from the preset path, it may indicate that the navigation system has failed. The robot can also detect whether it has collided with shelves, other robots or obstacles in the warehouse. The robot can also monitor the battery level in real time and send a signal to the control center when the battery level is below a certain threshold, reminding the staff to arrange charging or replace the battery in time. In addition, the robot can also judge the running state of the motor by monitoring the current, speed and temperature of the motor, and determine whether the transmission system has failed by monitoring the vibration, noise and torque of the transmission system, etc.

[0023] In the related art, when detecting a failure of itself, a warehouse robot will pause the current task and send a failure report to the control center. Such a report usually contains the type, location, time, etc. of the failure, so as to take timely measures. However, this way needs to wait for the control center to reassign tasks, which is low in efficiency and long in time delay. In addition, this way increases the computing pressure and communication burden of the control center, thereby reducing the response speed of the entire system. In addition, this way depends on the stability of the control center, so that the processing capacity of the control center becomes the bottleneck of the entire system.

[0024] To this end, embodiments of the present disclosure provide a method for task allocation after robot failure. In this scheme, once a robot determines that a failure occurs in itself, a failure message can be broadcasted to the surroundings, which can include its own location. Then, the failure robot can receive a plurality of response messages from a plurality of response robots, the response message including state information of the response robot and a location of the response robot. Then, the failure robot can select a target robot from the plurality of response robots based on the plurality of response messages, and send a task allocation message to the target robot, the task allocation message including task information associated with the task of the failure robot.

[0025] In this way, the failure robot can obtain the information of the surrounding robots in the first time, and select a suitable robot from these robots to transfer the unfinished task of itself. This way can shorten the time of task interruption and improve the efficiency of the entire system. In addition, the control center does not need to immediately analyze and reassign tasks for each failure, so as to focus on processing more complex system-level problems and overall scheduling. This can reduce the computing pressure and communication burden of the control center, and improve the response speed of the entire system. In addition, without involving the control center, the robots can solve local problems through mutual communication and coordination, thereby improving the flexibility and robustness of the system.

[0026] FIG. 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in FIG. 1, the environment 100 includes a robot 102 (also referred to herein as a first robot), which can be any type of warehouse robot. For example, the robot 102 can be a transport robot with only transport capability, a picking robot with only grasping capability, or a picking robot with both grasping and transport capability. In some embodiments, the robot 102 can have components such as a mechanical arm, a gripper, a fork, etc., allowing it to pick up and place an item to a specific location, so as to place the item carried by itself to other robots when handing over tasks.

[0027] In the environment 100, the robot 102 can periodically check its own status and parameters to determine whether it has failed. For example, the robot 102 can determine its own location in the warehouse in real time to determine whether the navigation system and odometry have failed. The robot 102 can also detect whether it has failed after colliding with an obstacle or another robot. In addition, the robot 102 can also monitor the battery power in real time to determine whether the remaining power is too low (e.g., due to excessive power consumption caused by abnormal environmental temperature, etc.).

[0028] Once the robot 102 determines that it has failed, it can send a failure message 104 in a broadcast manner to the surroundings. The failure message 104 can include the identification of the robot 102 so that other robots can identify the robot 102. The failure message 104 can also include the current location of the robot 102, such as the two-dimensional or three-dimensional coordinates of the robot 102 in the warehouse, so that other robots can estimate the distance and time to reach the location of the robot 102. Optionally, the failure message 104 can also include additional information so that other robots can evaluate whether to respond to the failure message 104. For example, the additional information can include the information of the task being performed by the robot 102, the type of failure of the robot 102, etc.

[0029] In the environment 100, multiple robots can receive the broadcast failure message 104 and evaluate whether to respond to the failure message 104 based on the failure message 104 and their own status. For example, after receiving the failure message 104, the other robots can determine the distance from the robot 102 based on the location of the robot 102 in the failure message 104, and thus decide whether to respond to the failure message 104 according to the distance. In addition, the other robots can also decide whether to respond to the failure message 104 based on whether the type of task that can be performed by themselves matches the task of the robot 102. The other robots can also decide whether to respond to the failure message 104 based on the priority of the task being performed or to be performed by themselves. The other robots can also decide whether to respond to the failure message 104 based on the remaining power of themselves.

[0030] In the environment 100, multiple responding robots 106-1, 106-2, …, and 106-N (collectively referred to as responding robots 106 herein) decide to respond to the failure message 104 and can send responding messages 108-1, 108-2, …, and 108-N (collectively referred to as responding messages 108 herein) to the robot 102 through point-to-point communication respectively. In the environment 100, the responding messages 108 can include state information and location of the responding robots 106. For example, as shown in FIG. 1, the responding robot 106-1 can send a responding message 108-1 to the robot 102, which can include state information 110 of the responding robot 106-1 and a location 112 of the responding robot 106-1. The state information 110 is information associated with a state of the responding robot 106-1. In some embodiments, the state information 110 can include task information associated with a task that the responding robot 106-1 is performing or is going to perform. In some embodiments, the task information can include a task type. In some embodiments, the task information can also include a task priority. In some embodiments, the state information 110 can include a remaining power of the responding robot 106-1.

[0031] In the environment 100, after the robot 102 receives the multiple responding messages 108 from the multiple responding robots 106, the robot 102 can determine a target robot (also referred to as a second robot herein) from the multiple responding robots 106 to which to hand over its task based on the multiple responding messages 108. For example, the robot 102 can determine that the responding robot 106-1 is suitable to accept the task that the robot 102 is going to perform based on the state information 110 and the location 112 included in the responding message 108-1, and thus can determine the responding robot 106-1 as the target robot.

[0032] In the environment 100, after determining the responding robot 106-1 as the target robot, the robot 102 can send a task assignment message 114 to the responding robot 106-1 through point-to-point communication for transferring the task that the robot 102 is performing or is going to perform to the responding robot 106-1. The task information 116 associated with the transferred task can be included in the task assignment message 114. For example, the task information 116 can include an identification of the transferred task, a target location, a task priority, an identification and a number of items associated with the task, etc. After receiving the task assignment message 114, the responding robot 106-1 can add the transferred task to an appropriate position in its task queue and thus continue to perform the task of the robot 102.

[0033] In this way, the time of task interruption due to the malfunction of the robot 102 can be shortened, and the efficiency of the entire system can be improved. In addition, the process does not involve communication with the control center and scheduling of the control center, so that the control center can focus on processing more complex system-level problems and overall scheduling. In this way, the computing pressure and communication burden of the control center can be reduced, and the response speed of the entire system can be improved. In addition, the robot 102 and the plurality of response robots 106 can solve local problems by communicating and coordinating with each other, so that the flexibility and robustness of the system can be improved.

[0034] FIG. 2 shows a flowchart of a method 200 for task allocation after robot malfunction according to some embodiments of the present disclosure. The method 200 can be performed by a first robot, for example, the method 200 can be performed by the robot 102 in FIG. 1. As shown in FIG. 2, at block 202, the first robot can determine that it has malfunctioned. For example, in the environment 100 as shown in FIG. 1, the robot 102 can periodically check its own state and parameters to determine whether it has malfunctioned. For example, the robot 102 can determine its own position in the warehouse in real time to determine whether the navigation system and odometry have malfunctioned. The robot 102 can also detect whether it has malfunctioned after colliding with an obstacle or other robots. In addition, the robot 102 can also monitor the battery power in real time to determine whether the remaining power is too low (e.g., due to excessive power consumption caused by abnormal environmental temperature, etc.).

[0035] At block 204, the first robot can broadcast a malfunction message, the malfunction message including a position of the first robot. For example, in the environment 100 as shown in FIG. 1, the robot 102 can send the malfunction message 104 in the form of a broadcast to the surroundings. The malfunction message 104 can include the identification of the robot 102 so that other robots can identify the robot 102. The malfunction message 104 can also include the current position of the robot 102, for example, the two-dimensional coordinates or three-dimensional coordinates of the robot 102 in the warehouse, so that other robots can estimate the distance and time to reach the position where the robot 102 is located, and thus evaluate whether to respond to the malfunction message 104.

[0036] At block 206, the first robot can receive a plurality of response messages from the plurality of response robots, a response message in the plurality of response messages including state information of a response robot and a location of the response robot. For example, in the environment 100 as shown in FIG. 1, the robot 102 can receive the plurality of response messages 108 from the plurality of response robots 106. For example, the response message 108-1 from the response robot 106-1 can include the state information 110 of the response robot 106-1 and the location 112 of the response robot 106-1. The state information 110 is information associated with the state of the response robot 106-1. For example, the state information 110 can include the type of the task of the response robot 106-1, the priority of the task, or the remaining power of the response robot 106-1, etc.

[0037] At block 208, the first robot can select a second robot from the plurality of response robots based on the plurality of response messages. For example, in the environment 100 as shown in FIG. 1, the robot 102 can determine a target robot to which to hand over the task of itself from the plurality of response robots 106 based on the plurality of response messages 108. For example, the robot 102 can determine that the response robot 106-1 is suitable to accept the task to be performed by the robot 102 based on the state information 110 and the location 112 included in the response message 108-1, so that the response robot 106-1 can be determined as the target robot.

[0038] At block 210, the first robot can send a task assignment message to the second robot, the task assignment message including task information associated with the task of the first robot. For example, in the environment 100 as shown in FIG. 1, after determining the response robot 106-1 as the target robot, the robot 102 can send the task assignment message 114 to the response robot 106-1 through point-to-point communication for transferring the task being performed or to be performed by the robot 102 to the response robot 106-1. The task information 116 associated with the transferred task can be included in the task assignment message 114. The task information 116 can include, for example, the identification of the transferred task, the target location, the priority of the task, the identification and the number of the articles associated with the task, etc.

[0039] In this way, the time of task interruption due to the failure of the first robot can be shortened, and the efficiency of the entire system can be improved. In addition, the process does not involve communication with the control center and scheduling of the control center, so that the control center can focus on processing more complex system-level problems and overall scheduling. In this way, the computing pressure and communication burden of the control center can be reduced, and the response speed of the entire system can be improved. In addition, the first robot and the plurality of response robots can solve local problems through mutual communication and coordination, so that the flexibility and robustness of the system can be improved.

[0040] In some embodiments, when broadcasting the failure message, the first robot can obtain the robot density of the environment in which the first robot is located. Then, the first robot can determine the broadcast range based on the robot density of the environment. Then, the first robot can broadcast the failure message based on the broadcast range. In some embodiments, when determining the broadcast range based on the robot density of the environment, the first robot can obtain the priority of the task to be allocated. Then, the first robot can determine the broadcast range based on the robot density of the environment and the priority of the task to be allocated.

[0041] FIG. 3 illustrates a flowchart of an example process 300 of determining a broadcast range for broadcasting a failure message by a failure robot, according to some embodiments of the present disclosure. The process 300 can be performed by a first robot, for example, the process 300 can be performed by the robot 102 in FIG. 1. As shown in FIG. 3, at block 302, the first robot can determine a broadcast range. When determining the broadcast range, the first robot can first determine the robot density of the environment. In some embodiments, the first robot can obtain the total area of the warehouse environment pre-stored, the first robot can also obtain the total number of robots currently running in the warehouse environment (for example, through the control center), and then the first robot can determine the robot density of the environment based on the total area of the warehouse environment and the total number of running robots. In this way, the computing resources can be saved, and the time consumed for calculating the density can be reduced.

[0042] In some embodiments, the first robot can determine the local robot density of the environment. The first robot can scan nearby robots through wireless communication (for example, Wi-Fi, Bluetooth, etc.). The first robot can calculate the area of the detection area according to the effective detection range of the communication module. Then, the first robot can determine the local robot density based on the number of scanned robots and the area of the detection area. In this way, since the first robot is more likely to transfer the task to the nearby robots, the accuracy of the local density is higher than that of the global density.

[0043] After determining the robot density, the first robot can determine the target number of receiving robots. The target number of receiving robots refers to the number of robots that are expected to receive the broadcast message, and the target number of receiving robots can be greater than the minimum number of required responding robots in consideration of the case of communication failure or the robot being unable to respond. In some embodiments, the target number of receiving robots can be pre-determined. Then, the first robot can determine the broadcast range area based on the target number of receiving robots and the robot density, and determine the broadcast range radius based on the determined broadcast range area.

[0044] In some embodiments, the first robot can determine the target number of recipient robots based on a priority of the task to be assigned. For example, the priority of the task can include high priority, medium priority, and low priority. High priority can represent critical tasks that need to be processed immediately, such as emergency order picking, important item transportation, etc. Medium priority can represent tasks that need to be completed within a reasonable time, such as regular restocking, general order processing, etc. Low priority can represent tasks that have low time sensitivity, such as inventory counting, equipment inspection, etc. Tasks of high priority can be configured with a larger target number of recipient robots, which can ensure fast assignment of the tasks. Tasks of medium priority can be configured with a medium target number of recipient robots, which can ensure a moderate speed of task assignment and a moderate communication load. Tasks of low priority can be configured with a smaller target number of recipient robots, which can reduce the communication load.

[0045] At block 304, the first robot can broadcast the failure message based on the determined broadcast range. For example, the first robot can adjust the transmission power of the wireless communication module according to the broadcast range, the higher the transmission power, the farther the signal propagation distance. Since the signal can be affected by obstacles in the warehouse environment (e.g., shelves, walls, etc.) during propagation, the transmission power can be appropriately increased to compensate for signal attenuation. When broadcasting the failure message, the message can be repeatedly broadcasted several times in a short period of time, which can improve the success rate of message reception. In addition, when repeatedly broadcasting the message, appropriate time intervals can be set, for example, sending once every 100 milliseconds, and sending three times in a row, which can reduce network congestion.

[0046] In this way, the first robot can determine the broadcast range of the broadcast failure message in real time, so as to balance the number of robots receiving the failure message and the consumption of network resources, and improve the overall performance of the system.

[0047] In some embodiments, upon selecting the second robot, the first robot can determine a distance between the first robot and the responding robot based on the location of the first robot and the location of the responding robot. Then, the first robot can determine the second robot based on the distance and the state information of the responding robot. In some embodiments, the first robot can determine a first task type of the task of the first robot, and determine a second task type of the task of the responding robot based on the second task information. Then, the first robot can determine a task similarity of the first task type and the second task type. Then, the first robot can determine the second robot based on the distance and the task similarity. In some embodiments, the first robot can determine a priority of the task of the responding robot based on the second task information. Then, the first robot can determine the second robot based on the distance, the task similarity, and the priority. In some embodiments, the state information of the responding robot further includes a remaining power of the responding robot, and the first robot can determine the second robot based on the distance, the task similarity, the priority, and the remaining power.

[0048] FIG. 4 illustrates a schematic diagram of an example 400 of selecting a target robot by a malfunctioning robot from multiple responding robots, according to some embodiments of the present disclosure. As shown in FIG. 4, the malfunctioning robot can obtain its own location 402, and can obtain the locations 404 of the responding robots from the responding messages. Then, the malfunctioning robot can determine distances 414 to the responding robots based on its own location 402 and the locations 404 of the responding robots. In some embodiments, the malfunctioning robot can utilize the Euclidean distance formula to calculate the distances 414 between the location 402 and the locations 404, which can reduce the required computational resources. In some embodiments, the malfunctioning robot can plan a path between the location 402 and the locations 404 based on the map information of the warehouse environment, and then determine the length of the path as the distance 414 between the location 402 and the locations 404, which can improve the accuracy of the determined distances 414. Then, the malfunctioning robot can select a target robot 418 from the multiple responding robots based on the distances 414. For example, the malfunctioning robot can preferentially select a responding robot with a shorter distance 414 as the target robot 418.

[0049] In some embodiments, the response message from the responding robot can include the type of task the responding robot is performing. The failed robot can determine the type of task 406 to be transferred and determine the type of task the responding robot is performing 408 from the response message. The failed robot can then determine the task similarity 416 between the type of task 406 and the type of task 408. The failed robot can then determine the target robot 418 based on the distance 414 and the task similarity 416. For example, in addition to considering the distance 414, if the responding robot is performing a similar task to the failed robot task, the responding robot is more efficient at taking over the task. For example, if the failed robot is performing a picking task and the responding robot is also performing a similar task, the responding robot can more smoothly integrate into the current workflow when taking over the task.

[0050] In some embodiments, the response message from the responding robot can include the priority of the task the responding robot is performing. The failed robot can determine the priority of the task the responding robot is performing 410 from the response message and can then determine the target robot 418 based on the distance 414, the task similarity 416, and the priority of the task 410. For example, in addition to considering the distance 414 and the task similarity 416, if the priority of the task of the failed robot is higher than the priority of the task 410 of the responding robot, the responding robot can be prioritized for determination as the target robot 418. If the priority of the task of the responding robot is higher than a predetermined priority threshold, the failed robot can exclude the possibility of determining the responding robot as the target robot 418.

[0051] In some embodiments, the response message from the responding robot can include the remaining power of the responding robot. The failed robot can determine the remaining power of the responding robot 412 from the response message and can then determine the target robot 418 based on the distance 414, the task similarity 416, the priority of the task 410, and the remaining power 412. For example, in addition to considering the distance 414, the task similarity 416, and the priority of the task 410, if the remaining power 412 is less than a predetermined remaining power threshold, or the remaining power 412 is less than the power required for the task to be transferred, the failed robot can exclude the possibility of determining the responding robot as the target robot 418.

[0052] By considering the distance, the task similarity, the priority of the task comparison, and the remaining power of the responding robot, the failed robot is able to more accurately select the most suitable robot or robots to take over the task. This approach helps to maximize the overall efficiency of the warehouse system while ensuring the task is completed smoothly.

[0053] In some embodiments, the first robot can determine a first weight for the distance, a second weight for the task similarity, a third weight for the priority, and a fourth weight for the remaining power. Then, the first robot can determine the second robot based on the distance, the first weight, the task similarity, the second weight, the priority, the third weight, the remaining power, and the fourth weight.

[0054] FIG. 5 illustrates a schematic diagram of an example 500 of computing a comprehensive score for each responding robot by a failed robot, according to some embodiments of the present disclosure. As shown in FIG. 5, in the example 500, a distance 502 is a distance from the failed robot to the responding robot (e.g., the distance 414 in FIG. 4). The failed robot can compute a distance score 512 based on the distance 502. The closer the distance, the more efficient the responding robot is to take over the task. In some embodiments, the failed robot can determine a maximum distance, beyond which the robot scores the lowest (e.g., zero). The maximum distance can be determined according to the area of the warehouse environment and the task demand. Then, the failed robot can compute the distance score ScoreD by the following equation (1):

[0055] ScoreD = 1 - d / Dmax (1)

[0056] where d represents the distance from the failed robot to the responding robot, and Dmax represents the maximum distance.

[0057] As shown in FIG. 5, in the example 500, a task similarity 504 is a similarity between the task of the failed robot and the task of the responding robot (e.g., the task similarity 416 in FIG. 4). The failed robot can compute a task similarity score 514 based on the task similarity 504. The higher the task similarity, the easier for the responding robot to efficiently take over the task. In some embodiments, the task similarity can be divided into multiple levels, for example, completely same, partially same, and different, and multiple scores can be set for the multiple levels. For example, the score for completely same can be 1, the score for partially same can be 0.7, and the score for different can be 0. In this way, the failed robot can determine the corresponding task similarity score based on the task similarity 504.

[0058] As shown in FIG. 5, in the example 500, the task priority 506 is the priority of the task of the responding robot (e.g., the task priority 410 in FIG. 4). The malfunctioning robot can calculate a task priority score 516 based on the task priority 506. The lower the priority of the task of the responding robot, the higher the likelihood that it takes over the new task. In some embodiments, the malfunctioning robot can obtain a pre-determined correspondence between the task priority and the task priority score. If the priority of the task of the responding robot is high, it means that it is busy with an important task, and thus the task priority score is low. If the priority of the task of the responding robot is low, it means that the responding robot can accept the new task, and thus the task priority score is high. For example, the score for high priority can be 0.3, the score for medium priority can be 0.6, and the score for low priority can be 1.

[0059] As shown in FIG. 5, in the example 500, the remaining power 508 is the remaining power of the responding robot (e.g., the remaining power 412 in FIG. 4). The malfunctioning robot can calculate a remaining power score 518 based on the remaining power 508. The higher the remaining power, the stronger the ability of the responding robot to continue performing the task. In some embodiments, the malfunctioning robot can normalize the remaining power to be between 0 and 1, and then directly determine the remaining power as the remaining power score. For example, if the remaining power 508 is 80%, the normalized remaining power is 0.8, and thus the remaining power score is 0.8.

[0060] After determining the distance score 512, the task similarity score 514, the task priority score 516, and the remaining power score 518, the malfunctioning robot can obtain a plurality of weights corresponding to these scores. As shown in FIG. 5, the malfunctioning robot can obtain a weight 522 for the distance score 512, a weight 524 for the task similarity score 514, a weight 526 for the task priority score 516, and a weight 528 for the remaining power score 518. When determining these weights, the more important factors can be configured with higher weights. Then, the malfunctioning robot can calculate a comprehensive score 530 based on these scores and the corresponding weights (e.g., by weighted summation).

[0061] In this way, the malfunctioning robot can normalize the distance 502, the task similarity 504, the task priority 506, and the remaining power 508 all into scores between 0 and 1, and each of these scores indicates that the higher the score, the greater the probability of being selected as the target robot, thereby being able to improve the accuracy of the determined comprehensive score 530. In addition, the system administrator can optimize the strategy of selecting the target robot by adjusting the corresponding weights, thereby being able to improve the flexibility and accuracy of the system.

[0062] In some embodiments, after sending the task assignment message to the second robot, the first robot can receive a task acceptance message from the second robot. If the task acceptance message is not received, the first robot can re-determine a new second robot. In some embodiments, if the task acceptance message is received, the first robot can send a task transfer message to the control center, the task transfer message indicating that the task of the first robot has been transferred to the second robot.

[0063] FIG. 6 illustrates a schematic diagram of an example 600 of re-sending a task assignment message by a malfunctioning robot, and sending a task transfer message to a control center, according to some embodiments of the present disclosure. As shown in FIG. 6, the example 600 includes a robot 602, a response robot 604, and a response robot 606. In the example 600, the robot 602, upon determining that it has malfunctioned, can select the response robot 604 as a target robot to take over the task, and send a task assignment message 610 to the response robot 604. In the example 600, the response robot 604, upon receiving the task assignment message 610, can send a task acceptance message to the robot 602. However, the response robot 604 can fail to send the task acceptance message to the robot 602 for a variety of reasons. For example, the response robot 604 can have left the effective communication range with the robot 602, or the response robot 604, upon evaluating the task information in the task assignment message 610, can send a task rejection message to the robot 602 instead of a task acceptance message.

[0064] If the robot 602 does not receive the task acceptance message from the response robot 604 (e.g., within a predetermined waiting time), it can re-select a new target robot from a plurality of response robots. For example, in the example 600, the robot 602 can re-select the response robot 606 as a target robot to take over the task. Then, the robot 602 can send a task assignment message 612 to the response robot 606, and receive a task acceptance message 614 from the response robot 606. Upon receiving the task acceptance message 614, the robot 602 can determine that the task assignment is successful. In the example 600, the robot 602 can send a task transfer message 616 to the control center 608, the task transfer message 616 can include an identification of the robot 602, an identification of the transferred task, and an identification of the response robot 606, to enable the control center 608 to update the related information of the transferred task.

[0065] In this way, the malfunctioning robot can timely change the target of task transfer when no task acceptance message is received, thereby reducing the interruption time of the task and improving the stability of the system. In addition, the task transfer message enables the control center to update the latest state of the task in real time, thereby reducing errors caused by outdated information, and thus improving the stability of the system.

[0066] FIG. 7 shows a block diagram of an apparatus 700 for task allocation after robot failure according to some embodiments of the present disclosure. As shown in FIG. 7, the apparatus 700 includes a failure determination module 702 configured to determine, by a first robot, that a failure occurs to itself. The apparatus 700 further includes a message broadcasting module 704 configured to broadcast, by the first robot, a failure message, the failure message including a position of the first robot. The apparatus 700 further includes a response receiving module 706 configured to receive, by the first robot, a plurality of response messages from a plurality of response robots, a response message in the plurality of response messages including state information of a response robot and a position of the response robot. The apparatus 700 further includes a response selection module 708 configured to select, by the first robot, a second robot from the plurality of response robots based on the plurality of response messages. In addition, the apparatus 700 further includes a task allocation module 710 configured to send, by the first robot, a task allocation message to the second robot, the task allocation message including task information associated with a task of the first robot.

[0067] In some embodiments, the message broadcasting module 704 includes: a robot density obtaining module configured to obtain a robot density of an environment in which the first robot is located; a robot density using module configured to determine a broadcasting range based on the robot density of the environment; and a broadcasting range using module configured to broadcast the failure message based on the broadcasting range.

[0068] In some embodiments, the robot density using module includes: a task priority obtaining module configured to obtain a priority of a task to be allocated; and a task priority using module configured to determine the broadcasting range based on the robot density of the environment and the priority of the task to be allocated.

[0069] In some embodiments, the response selection module 708 includes: a distance determination module configured to determine a distance between the first robot and a response robot based on the position of the first robot and the position of the response robot; and a distance using module configured to determine the second robot based on the distance and the state information of the response robot.

[0070] In some embodiments, wherein the task information is first task information, the state information of the responding robot includes second task information associated with a task of the responding robot, and the distance using module includes: a first task type determining module configured to determine a first task type of the task of the first robot; a second task type determining module configured to determine a second task type of the task of the responding robot based on the second task information; a task similarity determining module configured to determine a task similarity of the first task type and the second task type; and a task similarity using module configured to determine the second robot based on the distance and the task similarity.

[0071] In some embodiments, wherein the task similarity using module includes: a task priority determining module configured to determine a priority of the task of the responding robot based on the second task information; and a task priority using module configured to determine the second robot based on the distance, the task similarity, and the priority.

[0072] In some embodiments, wherein the state information of the responding robot further includes a remaining power of the responding robot, and the task priority using module includes: a remaining power using module configured to determine the second robot based on the distance, the task similarity, the priority, and the remaining power.

[0073] In some embodiments, wherein the remaining power using module includes: a weight determining module configured to determine a first weight for the distance, a second weight for the task similarity, a third weight for the priority, and a fourth weight for the remaining power; and a weight using module configured to determine the second robot based on the distance, the first weight, the task similarity, the second weight, the priority, the third weight, the remaining power, and the fourth weight.

[0074] In some embodiments, the apparatus 700 further includes: a task acceptance message receiving module configured to receive a task acceptance message from the second robot after sending the task allocation message to the second robot; and a second robot re-determining module configured to re-determine a new second robot in response to not receiving the task acceptance message.

[0075] In some embodiments, the apparatus 700 further includes: a task transfer message sending module configured to send a task transfer message to a control center in response to receiving the task acceptance message, the task transfer message indicating that the task of the first robot has been transferred to the second robot.

[0076] It can be appreciated that with the apparatus 700 of the present disclosure, at least one of the many advantages as can be achieved by the methods or processes described above can be realized. For example, the time of task interruption due to failure of the first robot can be shortened, and the efficiency of the whole system can be improved. In addition, the process does not involve communication with the control center and scheduling of the control center, so that the control center can focus on handling more complex system-level problems and overall scheduling. This can reduce the computing pressure and communication burden of the control center, and improve the response speed of the whole system. In addition, the first robot and the plurality of response robots can solve local problems by communicating and coordinating with each other, so that the flexibility and robustness of the system can be improved.

[0077] FIG. 8 shows a block diagram of an apparatus 800 that can implement embodiments of the present disclosure. The apparatus 800 can be, for example, a processing unit of a robot 102 as shown in FIG. 1. As shown in FIG. 8, the apparatus 800 includes a central processing unit (CPU) and / or a graphics processing unit (GPU) 801 that can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 802 or loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for operation of the apparatus 800 can also be stored in the RAM 803. The CPU / GPU 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804. Although not shown in FIG. 8, the apparatus 800 can also include a coprocessor.

[0078] Various components in the apparatus 800 are connected to the I / O interface 805, including an input unit 806 such as a keyboard, a mouse, etc., an output unit 807 such as various types of displays, speakers, etc., a storage unit 808 such as a magnetic disk, an optical disk, etc., and a communication unit 809 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the apparatus 800 to exchange information / data with other apparatuses through a computer network such as the Internet and / or various telecommunication networks.

[0079] The various methods or processes described above can be performed by the CPU / GPU 801. For example, in some embodiments, the methods can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the apparatus 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the CPU / GPU 801, one or more steps or actions of the methods or processes described above can be performed.

[0080] In some embodiments, the methods and processes described above can be tied to a computer program product. The computer program product can include a computer readable storage medium having computer readable program instructions thereon for performing various aspects of the present disclosure.

[0081] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0082] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0083] Computer readable program instructions for carrying out operations of the present disclosure can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including object oriented programming languages and conventional procedural programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0084] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0085] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0086] The computer program product of the second aspect can include a computer readable storage medium. The computer readable storage medium can include instructions. The instructions can include one or both of: instructions for causing a computer to enable a user equipment device to receive a configuration message from a base station, the configuration message comprising an indication of a set of one or more parameters for a first type of hybrid automatic repeat request process, the first type of hybrid automatic repeat request process being associated with a first type of data; and instructions for causing a computer to enable a user equipment device to receive a configuration message from a base station, the configuration message comprising an indication of a set of one or more parameters for a first type of hybrid automatic repeat request process, the first type of hybrid automatic repeat request process being associated with a first type of data.

[0087] Embodiments of the present disclosure have been described above, with the understanding that these embodiments are exemplary only, and are not restrictive, and are not limited to the disclosed embodiments. Many modifications and changes to the described embodiments are possible, without departing from the scope and spirit of the described embodiments. The selection of terms to be used herein is intended to best explain the principles of the embodiments, practical application, or technical improvement over the technology in the market, or to enable other ordinary skilled persons in the art to understand the embodiments disclosed herein.

Claims

1. A method for robot post-failure task assignment, comprising: determining, by a first robot, that the first robot has failed; broadcasting, by the first robot, a failure message, the failure message including a location of the first robot; receiving, by the first robot, a plurality of response messages from a plurality of responding robots, a response message of the plurality of response messages including state information of a responding robot and a location of the responding robot; selecting, by the first robot, a second robot from the plurality of responding robots based on the plurality of response messages; and sending, by the first robot, a task assignment message to the second robot, the task assignment message including task information associated with a task of the first robot.

2. The method of claim 1, wherein broadcasting, by the first robot, the failure message comprises: obtaining a robot density of an environment in which the first robot is located; determining a broadcast range based on the robot density of the environment; and broadcasting the failure message based on the broadcast range.

3. The method of claim 2, wherein determining the broadcast range based on the robot density of the environment comprises: obtaining a priority of a task to be assigned; and determining the broadcast range based on the robot density of the environment and the priority of the task to be assigned.

4. The method of claim 1, wherein selecting, by the first robot, the second robot from the plurality of responding robots based on the plurality of response messages comprises: determining a distance between the first robot and the responding robot based on a location of the first robot and a location of the responding robot; and determining the second robot based on the distance and the state information of the responding robot.

5. The method of claim 4, wherein the task information is first task information, the state information of the responding robot includes second task information associated with a task of the responding robot, and determining the second robot based on the distance and the state information of the responding robot comprises: determining a first task type of a task of the first robot; determining a second task type of a task of the responding robot based on the second task information; determining a task similarity of the first task type and the second task type; and determining the second robot based on the distance and the task similarity.

6. The method of claim 5, wherein determining the second robot based on the distance and the task similarity comprises: determining a priority of a task of the responding robot based on the second task information; and determining the second robot based on the distance, the task similarity, and the priority.

7. The method of claim 6, wherein the state information of the responding robot further includes a remaining power of the responding robot, and determining the second robot based on the distance, the task similarity, and the priority comprises: ​ ​ ​ ​ ​ ​ determine the second robot based on the distance, the task similarity, the priority, and the remaining power. 8.The method of claim 7, wherein determining the second robot based on the distance, the task similarity, the priority, and the remaining power comprises: determining a first weight for the distance, a second weight for the task similarity, a third weight for the priority, and a fourth weight for the remaining power; and determining the second robot based on the distance, the first weight, the task similarity, the second weight, the priority, the third weight, the remaining power, and the fourth weight. 9.The method of claim 1, further comprising: after sending the task assignment message to the second robot, receiving a task acceptance message from the second robot; in response to not receiving the task acceptance message, re-determining a new second robot. 10.The method of claim 9, further comprising: in response to receiving the task acceptance message, sending a task transfer message to a control center, the task transfer message indicating that the task of the first robot has been transferred to the second robot. 11.An apparatus for post-fault task assignment of robots, comprising: a fault determination module configured to determine, by a first robot, that a fault has occurred to itself; a message broadcasting module configured to broadcast, by the first robot, a fault message, the fault message comprising a location of the first robot; a response receiving module configured to receive, by the first robot, a plurality of response messages from a plurality of response robots, a response message of the plurality of response messages comprising state information of a response robot and a location of the response robot; a response selection module configured to select, by the first robot, a second robot from the plurality of response robots based on the plurality of response messages; and a task assignment module configured to send, by the first robot, a task assignment message to the second robot, the task assignment message comprising task information associated with a task of the first robot. 12.An electronic device, comprising: a processor; and a memory coupled with the processor, the memory having stored therein instructions which, when executed by the processor, cause the electronic device to perform the method of any one of claims 1-10. 13.A computer program product tangibly stored on a non-transitory computer-readable medium and comprising machine executable instructions that, when executed, cause a machine to implement the method of any one of claims 1-10. ​ ​ ​