Route planning method and device

HK40116809BActive Publication Date: 2026-07-17BEIJING JINGDONG YUANSHENG TECH CO LTD

Patent Information

Authority / Receiving Office
HK · HK
Patent Type
Patents
Current Assignee / Owner
BEIJING JINGDONG YUANSHENG TECH CO LTD
Filing Date
2025-03-20
Publication Date
2026-07-17

AI Technical Summary

Technical Problem

In smart warehousing, when planning routes for robots to execute tasks according to their time sequence, tasks that are issued earlier are executed first, which may result in longer overall routes and affect overall efficiency.

Method used

Based on the priority of the tasks and the distance between the robot and the corresponding storage location, the seed tasks that the robot must perform are determined. Based on the seed tasks, the set of tasks to be planned is determined. By constructing objective functions and constraints, the route planning is optimized to make the route the shortest.

Benefits of technology

While ensuring task priority, the overall route length was optimized, thus improving overall efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present disclosure provides a route planning method and device, and relates to the field of intelligent warehousing. According to the priority of a task and the distance between the robot and the corresponding storage location of the task, a seed task that must be executed by the robot is determined, based on the seed task, a task set to be planned is determined, and according to the result of selecting each task and each route section in a case of meeting a constraint condition and making the route of the target function shortest, a task set and an execution route required to be executed by the robot are determined. Thus, the overall route is made shortest and the overall efficiency is maximized while the priority of the task is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of intelligent warehousing, and in particular, to a route planning method and device for a robot. BACKGROUND

[0002] Intelligent warehousing refers to a way of realizing warehouse management and logistics operation by using advanced technology and intelligent systems. It integrates technologies such as Internet of Things, artificial intelligence, and big data analysis to automatically and intelligently complete the storage, sorting, distribution, and management of goods in the warehouse, thereby improving the efficiency and accuracy of the warehouse.

[0003] In intelligent warehousing, robots play an important role. They can automatically perform various tasks such as carrying goods and sorting goods according to pre-set programs or instructions. The use of robots greatly reduces the time and cost of manual operation and improves the efficiency of warehouse operation.

[0004] In some related technologies, the route for a robot to perform tasks is planned according to the time sequence of the tasks, so that tasks issued earlier are given priority for execution. The overall route planned in this way may be relatively long, affecting overall efficiency. SUMMARY

[0005] According to the priority of the tasks and the distance between the robot and the storage locations corresponding to the tasks, embodiments of the present disclosure determine seed tasks that the robot must perform, determine a set of tasks to be planned based on the seed tasks, and determine a set of tasks to be performed by the robot and an execution route according to the result of selecting each task and each route segment that makes the route of the target function shortest under the condition of meeting the constraint condition. Thus, the overall route is made shortest while ensuring the priority of the tasks, maximizing overall efficiency.

[0006] Some embodiments of the present disclosure propose a route planning method, which includes: determining seed tasks that a robot must perform according to the priority of the tasks and the distance between the robot and the storage locations corresponding to the tasks; determining a first set of tasks based on the seed tasks; constructing a first target function that realizes the shortest route according to whether each route segment between each task and each storage location corresponding to the first set of tasks is selected and the distance of each route segment; determining a first constraint condition of the first target function; and determining a second set of tasks to be performed by the robot and an execution route according to the result of selecting each task and each route segment that makes the route of the first target function shortest under the condition of meeting the first constraint condition.

[0007] In some embodiments, determining seed tasks that the robot must perform includes: selecting the storage location closest to the robot from the storage locations corresponding to a group of tasks with the highest priority as a seed storage location; and determining the task corresponding to the seed storage location as the seed task that the robot must perform.

[0008] In some embodiments, determining the first task set comprises: adding a seed task to the first task set; and selecting a task from non-seed tasks of the same task type as the seed task to add to the first task set.

[0009] In some embodiments, the first constraint condition comprises: all storage locations of the seed task must be selected.

[0010] In some embodiments, the first constraint condition further comprises one or more of: all storage locations of a task are selected or not selected at the same time; the start point is the current position of the robot and there is only an outgoing edge; a storage location is selected at most once; a storage location has an outgoing edge and an incoming edge if selected.

[0011] In some embodiments, in the case that the seed task involves a pick task, the first constraint condition further comprises one or more of: the destination point is a dump point and there is only an incoming edge; at most n tasks are selected, n being the number of free temporary storage devices of the robot, each temporary storage device being used to place the goods corresponding to one task.

[0012] In some embodiments, the method further comprises: determining remaining tasks in the second task set that are not executed; adding the remaining tasks and additional tasks of the same task type as the remaining tasks to a third task set; constructing a second objective function for achieving the shortest route according to whether each route segment between each task and each storage location in the third task set is selected and the distance of each route segment; determining a second constraint condition of the second objective function; and determining a fourth task set and an execution route required to be executed by the robot according to the result of selecting each task and each route segment that makes the route of the second objective function shortest under the second constraint condition.

[0013] In some embodiments, the second constraint condition comprises: all storage locations corresponding to the remaining tasks must be selected.

[0014] In some embodiments, the second constraint condition further comprises one or more of: all storage locations of a task are selected or not selected at the same time; the start point is the current position of the robot and there is only an outgoing edge; a storage location is selected at most once; a storage location has an outgoing edge and an incoming edge if selected.

[0015] In some embodiments, in the case that the seed task involves a pick task, the second constraint condition further comprises one or more of: the destination point is a dump point and there is only an incoming edge; at most m tasks are added, m being the number of remaining temporary storage devices of the robot, each temporary storage device being used to place the goods corresponding to one task.

[0016] In some embodiments, the method further includes: determining the priority of a task based on at least one of the following: the corresponding wave pattern of the task, the task type, the order type, and the merging time.

[0017] Some embodiments of this disclosure provide a route planning apparatus, including: a memory; and a processor coupled to the memory, the processor being configured to execute a route planning method based on instructions stored in the memory.

[0018] This disclosure provides some embodiments of a route planning apparatus, including a module that performs a route planning method.

[0019] Some embodiments of this disclosure provide a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of a route planning method.

[0020] Some embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the route planning method. Attached Figure Description

[0021] The accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. This disclosure can be more clearly understood from the following detailed description with reference to the accompanying drawings.

[0022] Obviously, the accompanying drawings described below are merely some embodiments of this disclosure. Those skilled in the art can obtain other drawings based on these drawings without any creative effort.

[0023] Figure 1 Schematic diagrams of shelves and robots according to some embodiments of this disclosure are shown.

[0024] Figure 2 and Figure 3 The following are perspective views of the picking robot from the front and back of some embodiments of the present disclosure.

[0025] Figure 4 A schematic diagram illustrating warehouse map data according to some embodiments of this disclosure is shown.

[0026] Figure 5 A schematic diagram illustrating an overall route planning method according to some embodiments of this disclosure is shown.

[0027] Figure 6 A schematic diagram illustrating an initial route planning method according to some embodiments of this disclosure is shown.

[0028] Figure 7 A schematic diagram illustrating the initial route planning results of some embodiments of this disclosure is shown.

[0029] Figure 8 A schematic diagram showing an additional route planning method of some embodiments of the present disclosure.

[0030] Figure 9 A schematic diagram showing an additional route planning result of some embodiments of the present disclosure.

[0031] Figure 10 A schematic diagram showing a structure of a route planning device of some embodiments of the present disclosure.

[0032] Figure 11 A schematic diagram showing a structure of a route planning device of some embodiments of the present disclosure.

[0033] Figure 12 A schematic diagram showing a route planning system of some embodiments of the present disclosure. DETAILED DESCRIPTION

[0034] It should be noted that the relative arrangement, numerical expressions, and numerical values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.

[0035] Those skilled in the art can understand that the terms "first", "second", and the like in the embodiments of the present disclosure are only used to distinguish different steps, devices, or modules, and do not represent any specific technical meaning, nor do they represent a necessary logical sequence between them.

[0036] It should also be understood that "multiple" can refer to two or more, and "at least one" can refer to one, two, or more in the embodiments of the present disclosure.

[0037] It should also be understood that for any component, data, or structure mentioned in the embodiments of the present disclosure, unless specifically limited or the context gives a contrary implication, it can be understood as one or more in general.

[0038] In addition, the term "and / or" in the present disclosure is only a description of the association relationship between the associated objects, which means that there can be three relationships, for example, A and / or B can represent the existence of A alone, the existence of A and B together, and the existence of B alone. In addition, the character " / " in the present disclosure generally represents an "or" relationship between the front and rear associated objects.

[0039] It should also be understood that the description of various embodiments of the present disclosure focuses on the differences between various embodiments, and the same or similar parts can be referred to each other, and for the sake of brevity, will not be repeated.

[0040] At the same time, it should be understood that, for the convenience of description, the size of each part shown in the drawings is not drawn in accordance with the actual proportional relationship.

[0041] The following description of at least one exemplary embodiment is merely exemplary in nature and is in no way intended to limit the disclosure or its application or uses.

[0042] Techniques, methods, and apparatus known to those of ordinary skill in the relevant art can not be discussed in any detail in order to avoid obscuring the present disclosure.

[0043] It should be noted that like reference numerals and letters refer to like items throughout the several views of the drawings, and thus a discussion of the same will not be repeated in connection with the others of the drawings.

[0044] Moreover, for the purpose of clarity, the description herein has not attempted to describe all technical features of the present disclosure in complete detail and has not attempted to describe such features in every possible configuration. In addition, the description herein is not intended to be a complete or exhaustive explanation of the present disclosure.

[0045] Figure 1 Schematic diagrams of shelves and robots showing some embodiments of the present disclosure. As shown, a plurality of storage locations 11 are provided on the shelves 10, each of which is composed of an inclined support plate and can place goods in the storage location 11. A robot 20 is provided in the aisle between two shelves 10. The robot 20 runs along the walking mechanism 12 provided on the shelf 10 to pick or / and count the goods in each storage location 11. Among them, counting is to video count the goods in the storage location, without picking the goods in the storage location. According to the needs, the robot 20 can have or not have the goods picking function and the goods counting function at the same time. Among them, the robot 20 with the goods picking function is also called a picking robot. Figure 1

[0046] Figure 2 Schematic diagrams of the front and back perspectives of the picking robot showing some embodiments of the present disclosure. As shown, Figure 3 Figure 2 Figure 3 ​​​As shown, the picking robot has a picking mechanism 21 and temporary storage devices 22. The temporary storage devices 22 are also figuratively called temporary storage baskets. After picking one piece of goods, the picking mechanism 21 can be moved to interface with one temporary storage device 22 and send the piece of goods into the temporary storage device 22 for temporary storage. Each temporary storage device 22 corresponds to one picking task, and each picking task can include one or more pieces of goods, which can come from the same or different storage locations. When the picking tasks of all temporary storage devices 22 are completed, the picking robot can run to a dumping point to unload the goods in the temporary storage devices 22. If the picking task is a customer order task, the unloaded goods will continue to complete packaging and other work and be shipped out of the warehouse. If the picking task is a non-customer order task, such as an internal warehouse allocation or a return to a supplier, the unloaded goods can be transferred to other warehouses or shelves or designated return locations.

[0047] The warehouse map data is initialized based on the actual deployment of the shelves and their storage locations and facilities such as dumping points in the warehouse. For example, as shown in the schematic diagram of the warehouse map data, the lower left corner of the aisle is taken as the origin (0, 0), the extension direction of the aisle is taken as the x-axis, and the direction perpendicular to the extension direction of the aisle is taken as the y-axis. The xy coordinates of each storage location (represented by a circle) and the xy coordinates of the dumping point of the aisle (represented by a square) are set according to the physical distance. Figure 4

[0048] The priority of each task is determined according to at least one of the wave mode corresponding to the task, the type of the task, the type of the order, and the merging time. Thus, the priority information of the task is determined comprehensively from multiple dimensions. For example, the priority score of each task is determined according to at least one of the wave mode corresponding to the task, the type of the task, the type of the order, and the merging time. The priority scores of the tasks are grouped and sorted according to their sizes to determine the priority levels of the tasks.

[0049] The wave mode represents the level of the time interval between the end time of the task wave and the current time. The shorter the time interval, the higher the level of the time interval, and the larger the priority score of the wave mode. Multiple task waves can belong to the same wave mode. For example, the wave mode includes a near wave mode, a normal wave mode, and a cross-day wave mode. If the end time of the task wave is less than 2 hours away from the current time, it belongs to the near wave mode. If the end time of the task wave is more than or equal to 2 hours and less than 24 hours away from the current time, it belongs to the normal wave mode. If the end time of the task wave is more than 24 hours away from the current time, it belongs to the cross-day wave mode, but is not limited to the examples shown.

[0050] ​The task types include, for example, customer order tasks, non-customer order tasks, inventory checking tasks, and the like. The customer order tasks are tasks for customer orders, and usually involve picking tasks and delivery tasks. The non-customer order tasks are, for example, tasks for warehouse internal allocation or tasks for returning goods to suppliers, and usually involve picking tasks. The inventory checking tasks are video inventory checking tasks for goods in storage locations, and do not involve picking goods in the storage locations. Therefore, both the customer order tasks and the non-customer order tasks involve picking tasks relative to the inventory checking tasks. According to business needs, priority scores are set for various task types. For example, the priority scores are set in descending order as follows: customer order tasks, non-customer order tasks, and inventory checking tasks.

[0051] The order types include, for example, orders involving single-piece goods, orders involving multi-piece goods, and orders for precise delivery. According to business needs, priority scores are set for various order types. For example, the priority scores are set in descending order as follows: orders for precise delivery, orders involving single-piece goods, and orders involving multi-piece goods.

[0052] The merging time refers to, for a merging order, if one of the lane tasks of the merging order has been assigned to a robot, the priority score of the other lane task of the merging order is increased to the highest value.

[0053] If the priorities of the tasks are determined according to multiple items including the wave mode, the task type, the order type, and the merging time corresponding to the tasks, the weights of the items can be set. The priority scores of the tasks are obtained by weighted summation operation according to the weights of the items and the priority scores of the items. For example, y = θ1α + θ2β + θ3γ + θ4δ, where y represents a certain task and its priority score, α, β, γ, and δ represent the priority scores of the wave mode, the task type, the order type, and the merging time, respectively, and θ1, θ2, θ3, and θ4 represent the weights of the wave mode, the task type, the order type, and the merging time, respectively. According to the sizes of the priority scores of the tasks, the priority scores of the tasks are grouped and sorted to determine the priority levels of the tasks. For example, tasks with priority scores in a first range have a first priority level, T1 = {y1, y2, y3,...}, tasks with priority scores in a second range have a second priority level, T2 = {y4, y5, y6,...}, and tasks with priority scores in a third range have a third priority level, T3 = {y7,...}. The tasks in the same priority level set can be sorted in descending order of the priority scores.

[0054] According to the warehouse map data and the priorities of the tasks, and in combination with the working states of the robots, the tasks and routes are planned for the robots according to a route planning method. For example, Figure 5The working state of the robot shown in the route planning method includes, for example, an idle state, a task-in-progress state, and a locked state. The robot in the idle state can undertake all types of tasks, and the route and task for the robot in the idle state can be planned based on all types of task pools. The robot in the task-in-progress state can undertake the same type of task as the current task, and the route and task for the robot in the task-in-progress state with the idle temporary storage device can be planned based on the same type of task pool as the current task. The route and task for the robot in the locked state and the robot without the idle temporary storage device do not need to be planned. The planned task and route can be issued to the robot for execution. The route planning method is described in detail below.

[0055] Figure 6 A schematic diagram of a route planning method of some embodiments of the present disclosure is shown. The route planning method of this embodiment can be used, for example, to plan a route for a robot in an idle state. The route planning method of this embodiment can be executed, for example, by a route planning device.

[0056] As shown in Figure 6 The working state of the robot in each lane is queried, and if there is a robot in an idle state, the route for the robot can be planned according to the following method.

[0057] In step 610, the seed task that the robot must perform is determined according to the priority of the task and the distance between the robot and the corresponding storage location of the task. Thus, the seed task with a higher priority and a shorter distance is ensured to be executed first.

[0058] From the respective storage locations of the group of tasks with the highest priority, the storage location closest to the robot is selected as the seed storage location, and the seed storage location is used as a mandatory point. The task corresponding to the seed storage location is determined as the seed task that the robot must perform.

[0059] Taking the task priority T1T2T3 determined as described above as an example, the group of tasks with the highest priority is T1={y1y2y3....}, the corresponding storage location set is P1={p1p2p3p4....}, and the storage location closest to the robot in the storage location set is assumed to be p1. Thus, the seed storage location is p1, and the task y1 corresponding to the seed storage location is the seed task.

[0060] In step 620, the first task set is determined based on the seed task.

[0061] The seed task is added to the first task set, and a task with the same type as the seed task is selected from the non-seed tasks with the same type as the seed task and added to the first task set. Thus, other tasks with the same type as the seed task are found.

[0062] Further, if the number of non-seed tasks of the same task type as the seed task is more than expected, exceeding the limit of the number of tasks in the first task set, the tasks can be selected according to the priority of the tasks and added to the first task set, and the tasks of higher priority and the same task type are preferentially selected.

[0063] For example, other tasks y5, y7 of the same type as the seed task y1 are found, and the first task set is T 1 ={y1y5y7....}, and the corresponding storage location set is P 1 ={p1p5p7....}.

[0064] In step 630, a first objective function for achieving the shortest route is constructed according to whether each route between each task and each storage location in the first task set is selected and the distance of each route.

[0065] Define decision variables:

[0066]

[0067] Define The distance cost of the line segment ij.

[0068] Define the first objective function:

[0069]

[0070] Where min represents the minimum value.

[0071] In step 640, the first constraint condition of the first objective function is determined.

[0072] Where the first constraint condition includes: (1) all storage locations of the seed task must be selected. Thus, it is ensured that the seed task of high priority and close to the robot is preferentially executed.

[0073] Where the first constraint condition further includes one or more of the following: (2) all storage locations of a task are simultaneously selected or not selected, so that in the case of a task involving multiple storage locations, the task is then executed or not executed, avoiding the case of partial execution, and improving the efficiency of task execution; (3) the starting point is the current position of the robot, and only the out edge exists; (4) a storage location is selected at most once, so that all tasks involving a storage location are executed simultaneously, avoiding the case of multiple tasks picking the storage location multiple times, and improving the efficiency of task execution; (5) a storage location has an out edge and an in edge when it is selected. By setting the out edge and the in edge, a directional route is obtained. Thus, the storage location is selected according to the value of the decision variable x i,j , and the picking order of the storage location route is selected according to the direction.

[0074] In the case where the seed task involves a pick task, the first constraint conditions further include one or more of the following: (6) the destination point is a dump point, and there is only an inbound edge; (7) at most n tasks are selected, n being the number of free temporary storage devices of the robot, each temporary storage device being used to place one piece of cargo corresponding to one task. As mentioned above, the customer order task and the non-customer order task involve a pick task, and the pick task needs to use a temporary storage device and a dump point, while the inventory task does not need to use a temporary storage device and a dump point, so these constraint conditions can not be set.

[0075] Therefore, the first constraint conditions (1)-(5) are applicable not only to tasks involving picking, such as customer order tasks, non-customer order tasks, etc., but also to inventory tasks, and the first constraint conditions (6)-(7) are applicable to tasks involving picking.

[0076] At step 650, a second task set to be performed by the robot and an execution route are determined according to the result of selection of each task and each route segment that makes the route of the first objective function shortest under the first constraint conditions.

[0077] Suppose the first task set is T 1 ={y1y5y7....}, and the corresponding storage location set is P 1 ={p1p5p7....}, p1 is a seed storage location, and y1 is a seed task, as shown in Figure 7 Suppose the second task set is also T 2 ={y1y5y7....}, and the corresponding storage location set is P 4 ={p1p5p7....}, and the shortest route is: current point of the robot → p1 → p5 → p7 → dump point.

[0078] According to the priority of the tasks and the distance between the robot and the storage location corresponding to the task, a seed task that must be performed by the robot is determined, a task set to be planned is determined based on the seed task, and a task set to be performed by the robot and an execution route are determined according to the result of selection of each task and each route segment that makes the route of the objective function shortest under the constraint conditions. Thus, the overall route is made shortest and the overall efficiency is maximized while the priority of the tasks is guaranteed.

[0079] Figure 8 A schematic diagram of a route planning method of some embodiments of the present disclosure is shown. The route planning method of this embodiment may, for example, be used to plan a route for a robot in a task. The route planning method of this embodiment may, for example, be performed by a route planning device.

[0080] As Figure 8As shown, the robots in the task can add tasks and re-plan routes according to the following route planning method.

[0081] In step 810, determine the remaining tasks in the second task set that are not executed.

[0082] Suppose the remaining tasks in the second task set that are not executed are The corresponding storage set is

[0083] In step 820, add the remaining tasks and other tasks of the same type as the remaining tasks to the third task set.

[0084] Suppose the third task set is T 3 ={y7y8}, the corresponding storage set is P 3 ={p7p8....}, where the task type of the remaining task y7 and the added task y8 is the same.

[0085] In step 830, construct a second objective function that achieves the shortest route according to whether each route between each task and each storage corresponding to the third task set is selected and the distance of each route.

[0086] Define decision variables:

[0087]

[0088] Define The distance cost of the line segment ij.

[0089] Define the second objective function:

[0090]

[0091] Where min means taking the minimum value.

[0092] In step 840, determine the second constraint condition of the second objective function.

[0093] Where the second constraint condition includes: (1) all storage corresponding to the remaining tasks, such as must be selected. Thus, ensuring that the remaining tasks are executed.

[0094] The second constraint condition further includes one or more of the following: (2) all storage locations of one task are selected at the same time or not selected at the same time, so that in the case where one task involves multiple storage locations, the task is then executed or not executed, avoiding partial execution, and improving task execution efficiency; (3) the starting point is the current position of the robot, and there is only an out edge; (4) one storage location is selected at most once, so that all tasks involving the storage location are executed at the same time, avoiding multiple tasks picking the storage location, and improving task execution efficiency; (5) one storage location has an out edge and an in edge when it is selected. Through the setting of the out edge and the in edge, a directional link is obtained. Thus, the storage location is selected according to the value of the decision variable x i,j , and the picking order of the storage location route is selected according to the direction.

[0095] In the case where the seed task involves a picking task, the second constraint condition further includes one or more of the following: (6) the destination point is a dumping point, and there is only an in edge; (7) at most m tasks are added, m being the number of remaining temporary storage devices of the robot, each temporary storage device being used to place the goods corresponding to one task. The remaining temporary storage device is a temporary storage device that is not arranged with a task. As described above, the customer order task and the non-customer order task involve a picking task, and the picking task needs to use a temporary storage device and a dumping point, while the inventory task does not need to use a temporary storage device and a dumping point, so these constraint conditions can not be set.

[0096] Therefore, the second constraint conditions (1)-(5) are not only applicable to tasks involving picking, such as customer order tasks, non-customer order tasks, etc., but also applicable to inventory tasks, and the second constraint conditions (6)-(7) are applicable to tasks involving picking.

[0097] In step 850, according to the result of selecting each task and each link in order to make the route of the second objective function shortest under the second constraint condition, a fourth task set required to be executed by the robot and an execution route are determined. The fourth task set is a subset of the third task set, and can be specifically determined according to the second objective function and the second constraint condition thereof.

[0098] If all tasks in the second task set are not executed, the tasks in the second task set and the added tasks are re-determined according to the method of the present embodiment, to determine the tasks required to be executed and the execution route thereof. If part of the tasks in the second task set have been executed, the unexecuted tasks in the second task set and the added tasks are re-determined according to the method of the present embodiment, to determine the tasks required to be executed and the execution route thereof.

[0099] For example, it is assumed that the third task set T 3 ={y7y8}, and the corresponding storage location set P 3 ={p7p8...}, as Figure 9As shown, it is assumed that the fourth task set is also T 4 = {y7y8}, and the corresponding storage location set is P 4 = {p7p8....}, and the shortest route corresponding to the fourth task set is: the current point of the robot → p8→ p7→ the dumping point.

[0100] According to the priority of the task and the distance between the robot and the storage location corresponding to the task, the seed task that the robot must perform is determined, based on the seed task, the task set to be planned is determined, and according to the result of selecting each task and each route segment in order to make the route of the target function shortest under the condition of meeting the constraint condition, the task set and the execution route required to be performed by the robot are determined. Thus, the overall route is shortest and the overall efficiency is maximized while ensuring the priority of the task.

[0101] According to the remaining tasks in the second task set and the additional other tasks of the same type as the remaining tasks, the task set to be planned is determined, and according to the result of selecting each task and each route segment in order to make the route of the target function shortest under the condition of meeting the constraint condition, the task set and the execution route required to be performed by the robot are determined. Thus, not only can new tasks of the same type be dynamically added, but the route can also be shortest.

[0102] Figure 10 A structural schematic diagram of a route planning device showing some embodiments of the present disclosure is shown. As Figure 10 shown, the route planning device 1000 of this embodiment includes a memory 1010 and a processor 1020 coupled to the memory 1010, and the processor 1020 is configured to execute the route planning method in any of the foregoing some embodiments based on instructions stored in the memory 1010.

[0103] The route planning device 1000 can also include an input / output interface 1030, a network interface 1040, a storage interface 1050, etc. These interfaces 1030, 1040, 1050 and the memory 1010 and the processor 1020 can be connected through a bus 1060, for example.

[0104] The memory 1010 can include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory stores, for example, an operating system, an application program, a boot loader (Boot Loader), and other programs, etc.

[0105] The processor 1020 can be implemented by a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor, or the like discrete hardware component.

[0106] The input / output interface 1030 provides a connection interface for input / output devices such as a display, a mouse, a keyboard, a touch screen, and the like. The network interface 1040 provides a connection interface for various networking devices. The storage interface 1050 provides a connection interface for external storage devices such as an SD card, a U disk, and the like. The bus 1060 can use any of a variety of bus structures. For example, the bus structure includes, but is not limited to, an industry standard architecture (ISA) bus, a micro channel architecture (MCA) bus, a peripheral component interconnect (PCI) bus.

[0107] Figure 11 A structural schematic diagram of a route planning device is shown, which shows some embodiments of the present disclosure. As shown in the figure, the route planning device 1100 of the embodiment includes a module for performing a route planning method. Figure 11

[0108] The initial planning module 1110 is configured to determine a seed task that must be performed by the robot according to the priority of the task and the distance between the robot and the corresponding storage location of the task; determine a first task set based on the seed task; construct a first objective function for achieving the shortest route according to whether each route segment between each task and each storage location of the first task set is selected and the distance of each route segment; determine the first constraint condition of the first objective function; and determine the second task set and the execution route required to be performed by the robot according to the result of selecting each task and each route segment that makes the route of the first objective function shortest under the condition of meeting the first constraint condition.

[0109] From the corresponding storage locations of a group of tasks with the highest priority, the storage location closest to the robot is selected as a seed storage location; the task corresponding to the seed storage location is determined as a seed task that must be performed by the robot.

[0110] The seed task is added to the first task set; a task is selected from non-seed tasks of the same type as the seed task and added to the first task set.​

[0111] The additional planning module 1120 is configured to: identify the remaining unexecuted tasks in the second task set; add the remaining tasks and other tasks of the same type as the remaining tasks to the third task set; construct a second objective function to achieve the shortest route based on whether each segment between each task and each storage location in the third task set is selected and the distance between each segment; determine the second constraint condition of the second objective function; and determine the fourth task set and execution route to be executed by the robot based on the results of selecting each task and each segment that minimizes the route of the second objective function while satisfying the second constraint condition.

[0112] The priority determination module 1130 is configured to determine the priority of a task based on at least one of the following: the corresponding wave pattern, task type, order type, and merging time.

[0113] Figure 12 A schematic diagram of a route planning system according to some embodiments of this disclosure is shown. Figure 12 As shown, the route planning system 1200 of this embodiment includes a route planning device 1210 and a robot 1220. The route planning device 1210 is, for example, a route planning device 1000 or 1100. The route planning device 1210 can provide route planning services for multiple robots 1220.

[0114] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more (non-transitory) computer-readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, cloud storage, etc.) containing computer program code. A computer program product should be understood as a software product that primarily implements its solution through a computer program.

[0115] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, 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 a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1means for performing the function specified by the block or blocks.

[0116] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the flow Figure 1 flow or flows and / or blocks Figure 1 means for performing the function specified by the block or blocks.

[0117] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 flow or flows and / or blocks Figure 1 Figure 1 steps of means for performing the function specified by the block or blocks.

[0118] The above description is merely illustrative of the application, and not restrictive. Since certain changes can be made in the above construction without departing from the scope of the application, it is intended that all such changes come within the scope of the application as claimed below.

Claims

1. A route planning method, comprising: Based on the priority of the task and the distance between the robot and the corresponding storage location, determine the seed task that the robot must perform. Determining a first task set based on a seed task includes: adding the seed task to the first task set, and selecting tasks from non-seed tasks of the same task type as the seed task to add to the first task set. Based on whether each segment between each task and each storage location in the first task set is selected and the distance between each segment, construct a first objective function to achieve the shortest route. Determine the first constraint condition for the first objective function; Based on the results of selecting each task and each road segment that minimizes the path of the first objective function while satisfying the first constraint, the second set of tasks and execution route to be executed by the robot are determined. The second set of tasks is a subset of the first set of tasks and is determined according to the first objective function and its first constraint.

2. The method according to claim 1, wherein, The seed tasks that the robot must perform include: From the storage locations corresponding to the highest priority set of tasks, select the storage location closest to the robot as the seed storage location; The corresponding tasks for storing seeds are identified as seed tasks that the robot must perform.

3. The method according to claim 1, wherein, The first constraint is that all storage locations for the seed task must be selected.

4. The method according to claim 3, wherein, The first constraint also includes one or more of the following: All storage locations for a task may be selected simultaneously or not selected simultaneously; The starting point is the robot's current position, and there are only outgoing edges; A storage location can be selected at most once; When a storage location is selected, it has outgoing edges and incoming edges.

5. The method according to claim 4, wherein, When the seed task involves a pickup task, the first constraint also includes one or more of the following: The destination point is the pouring point, and it has only an incoming edge; A maximum of n tasks can be selected, where n is the number of idle temporary storage devices for the robot. Each temporary storage device is used to place the goods corresponding to one task.

6. The method according to any one of claims 1-5, further comprising: Identify the remaining unexecuted tasks in the second task set; Add the remaining tasks, along with any other tasks of the same type as the remaining tasks, to the third task set; Based on whether each segment between each task and each storage location in the third task set is selected and the distance between each segment, construct a second objective function to achieve the shortest route. Determine the second constraint condition for the second objective function; Based on the results of selecting each task and each road segment that minimizes the path of the second objective function while satisfying the second constraint, the fourth set of tasks and execution route to be performed by the robot are determined.

7. The method according to claim 6, wherein, The second constraint includes: all storage locations corresponding to the remaining tasks must be selected.

8. The method according to claim 7, wherein, The second constraint also includes one or more of the following: All storage locations for a task may be selected simultaneously or not selected simultaneously; The starting point is the robot's current position, and there are only outgoing edges; A storage location can be selected at most once; When a storage location is selected, it has outgoing edges and incoming edges.

9. The method according to claim 8, wherein, When the seed task involves a pickup task, the second constraint also includes one or more of the following: The destination point is the pouring point, and it has only an incoming edge; A maximum of m tasks can be added, where m is the number of remaining temporary storage devices for the robot. Each temporary storage device is used to hold the goods corresponding to one task.

10. The method according to any one of claims 1-9, further comprising: The priority of a task is determined based on at least one of the following: the corresponding wave pattern, task type, order type, and merging time.

11. A route planning device, comprising: Memory; And a processor coupled to the memory, the processor being configured to execute the route planning method of any one of claims 1-10 based on instructions stored in the memory.

12. A route planning device, comprising: A module for implementing the route planning method according to any one of claims 1-10.

13. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the route planning method according to any one of claims 1-10.

14. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the route planning method according to any one of claims 1-10.