Route planning method and apparatus
By optimizing the robot route planning method and combining task priority and distance to determine seed tasks and constraints, the problem of excessively long routes in existing technologies is solved, and overall efficiency is improved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BEIJING JINGDONG YUANSHENG TECH CO LTD
- Filing Date
- 2024-12-19
- Publication Date
- 2026-04-23
AI Technical Summary
In existing technologies, robot task route planning fails to effectively combine task priority and distance, resulting in excessively long overall routes and impacting efficiency.
By determining the seed task that the robot must perform, an objective function and constraints are constructed based on the seed task, and route planning is optimized to minimize the route, including selecting the nearest storage location and satisfying the constraints of task type and quantity.
While ensuring task priority, the overall route length was optimized, improving the robot's task execution efficiency.
Smart Images

Figure CN2024140476_23042026_PF_FP_ABST
Abstract
Description
Route planning methods and devices
[0001] Cross-reference to related applications
[0002] This application is based on and claims priority to CN application number 202411433838.X, filed on October 14, 2024, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates to the field of intelligent warehousing, and in particular to a method and apparatus for robot route planning. Background Technology
[0004] Smart warehousing refers to a method of warehouse management and logistics operations that utilizes advanced technologies and intelligent systems. By integrating technologies such as the Internet of Things, artificial intelligence, and big data analytics, it automates and intelligently completes tasks such as storage, sorting, distribution, and management of goods within the warehouse, thereby improving warehouse efficiency and accuracy.
[0005] Robots play a crucial role in smart warehousing. They can automatically perform various tasks, such as moving goods and sorting products, according to preset programs or instructions. The use of robots significantly reduces the time and cost of manual operations, thereby improving the operational efficiency of warehousing.
[0006] In some related technologies, the robot's task execution route is planned according to the task's chronological order, so that tasks assigned earlier are executed first. However, the overall route planned in this way may be quite long, affecting overall efficiency. Summary of the Invention
[0007] This disclosure provides a route planning method in several embodiments, including: determining seed tasks that the robot must execute based on task priorities and the distance between the robot and the corresponding storage location; determining a first task set based on the seed tasks; constructing a first objective function to achieve the shortest route based on whether each road segment between each task and each storage location in the first task set is selected and the distance between each road segment; determining a first constraint condition for the first objective function; and determining a second task set and execution route to be executed by the robot based on the results of selecting each task and each road segment that minimizes the route of the first objective function while satisfying the first constraint condition.
[0008] In some embodiments, determining the seed task that the robot must perform includes: selecting the storage location closest to the robot from the storage locations corresponding to the highest priority set of tasks as the seed storage location; and determining the task corresponding to the seed storage location as the seed task that the robot must perform.
[0009] In some embodiments, determining the first task set includes: determining the first task set based on a seed task and in combination with at least one of task type and task priority.
[0010] In some embodiments, determining the first task set includes: adding a 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.
[0011] In some embodiments, the first constraint includes: all storage locations for the seed task must be selected.
[0012] In some embodiments, the first constraint further includes one or more of the following: all storage locations of a task are selected simultaneously or not selected simultaneously; the starting point is the robot's current position and has only outgoing edges; a storage location is selected at most once; a storage location, when selected, has both outgoing and incoming edges.
[0013] In some embodiments, where the seed task involves a pickup task, the first constraint further includes one or more of the following: the destination point is the dumping point and has only incoming edges; at most n tasks are selected, where n is the number of idle storage devices of the robot, and each storage device is used to place the goods corresponding to a task.
[0014] In some embodiments, the method further includes: identifying unexecuted remaining tasks in the second task set; adding the remaining tasks and other tasks of the same type as the remaining tasks to the third task set; constructing 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; determining a second constraint condition for the second objective function; and determining a 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.
[0015] In some embodiments, the second constraint includes: all storage locations corresponding to the remaining tasks must be selected.
[0016] In some embodiments, the second constraint also includes one or more of the following: all storage locations of a task are selected simultaneously or not selected simultaneously; the starting point is the robot's current position and has only outgoing edges; a storage location is selected at most once; a storage location, when selected, has both outgoing and incoming edges.
[0017] In some embodiments, where the seed task involves a pickup task, the second constraint further includes one or more of the following: the destination point is a dumping point and has only incoming edges; a maximum of m tasks are added, where m is the number of remaining temporary storage devices of the robot, and each temporary storage device is used to place the goods corresponding to a task.
[0018] 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.
[0019] 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.
[0020] This disclosure provides some embodiments of a route planning apparatus, including a module that performs a route planning method.
[0021] Some embodiments of this disclosure provide a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of a route planning method.
[0022] Some embodiments of this disclosure provide a computer program product including computer instructions that, when executed by a processor, implement the steps of the route planning method. Attached Figure Description
[0023] 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.
[0024] 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.
[0025] Figure 1 shows a schematic diagram of a shelf and a robot according to some embodiments of the present disclosure.
[0026] Figures 2 and 3 show perspective views of the picking robot from the front and back of some embodiments of the present disclosure, respectively.
[0027] Figure 4 shows a schematic diagram of warehouse map data according to some embodiments of this disclosure.
[0028] Figure 5 shows a schematic diagram of an overall route planning method according to some embodiments of the present disclosure.
[0029] Figure 6 shows a schematic diagram of an initial route planning method according to some embodiments of the present disclosure.
[0030] Figure 7 shows a schematic diagram of the initial route planning results of some embodiments of this disclosure.
[0031] Figure 8 shows a schematic diagram of an additional route planning method according to some embodiments of the present disclosure.
[0032] Figure 9 shows a schematic diagram of additional route planning results from some embodiments of this disclosure.
[0033] Figure 10 shows a schematic diagram of the structure of a route planning device according to some embodiments of the present disclosure.
[0034] Figure 11 shows a schematic diagram of the structure of a route planning device according to some embodiments of the present disclosure.
[0035] Figure 12 shows a schematic diagram of a route planning system according to some embodiments of the present disclosure. Detailed Implementation
[0036] It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of this disclosure.
[0037] Those skilled in the art will understand that the terms "first," "second," etc., in the embodiments of this disclosure are only used to distinguish different steps, devices, or modules, and do not represent any specific technical meaning, nor do they indicate a necessary logical order between them.
[0038] It should also be understood that in the embodiments disclosed herein, "a plurality of" may refer to two or more, and "at least one" may refer to one, two or more.
[0039] It should also be understood that any component, data or structure mentioned in the embodiments of this disclosure can generally be understood as one or more unless expressly defined or given to the contrary in the context.
[0040] Furthermore, the term "and / or" in this disclosure is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this disclosure generally indicates that the preceding and following related objects have an "or" relationship.
[0041] It should also be understood that the description of the various embodiments in this disclosure emphasizes the differences between the various embodiments, and the similarities or similarities can be referred to each other. For the sake of brevity, they will not be described in detail.
[0042] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0043] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
[0044] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0045] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0046] Furthermore, to avoid obscuring this disclosure with unnecessary detail, only processing steps and / or apparatus structures closely related to at least the solutions according to this disclosure are shown in the accompanying drawings, while other details not closely related to this disclosure are omitted. It should also be noted that similar reference numerals and letters in the drawings indicate similar items, and therefore once an item is defined in one drawing, it need not be discussed again in subsequent drawings.
[0047] In this embodiment, seed tasks that the robot must execute are determined based on task priorities and the distance between the robot and the corresponding storage location. Based on these seed tasks, a set of tasks to be planned is determined. Then, based on the selection of tasks and road segments that minimize the path of the objective function while satisfying constraints, the set of tasks and execution route to be executed by the robot are determined. Thus, while ensuring task priorities, the overall route is minimized, maximizing overall efficiency.
[0048] Figure 1 shows a schematic diagram of a shelf and robot according to some embodiments of the present disclosure. As shown in Figure 1, a shelf 10 is provided with multiple storage positions 11, each storage position 11 consisting of an inclined support plate, and goods can be placed in the storage position 11. A robot 20 is arranged in the aisle between two shelves 10. The robot 20 runs along a walking mechanism 12 provided on the shelf 10 to pick and / or inventory the goods in each storage position 11. The inventory is a video inventory of the goods in the storage position, without picking the goods in the storage position. As needed, the robot 20 may have both goods picking and goods inventory functions simultaneously or not. The robot 20 with goods picking function is also called a picking robot.
[0049] Figures 2 and 3 show perspective views of the picking robot from the front and back of some embodiments of this disclosure, respectively. As shown in Figures 2 and 3, the picking robot has a picking mechanism 21 and a temporary storage device 22. The temporary storage device 22 is also figuratively called a temporary storage basket. After picking up one item, the picking mechanism 21 can move to dock with a temporary storage device 22 and send the item into the temporary storage device 22 for temporary storage. Each temporary storage device 22 corresponds to one picking task, and each picking task may include one or more items, which may come from the same or different storage locations. When all picking tasks of the temporary storage devices 22 are completed, the picking robot can move to the dumping point to unload the items in the temporary storage devices 22. If the picking task is a customer order task, the unloaded items will continue to be packaged and then shipped out. If the picking task is a non-customer order task, such as internal warehouse allocation or return to a supplier, the unloaded items can be transferred to other warehouses or shelves or designated return locations.
[0050] Based on the actual deployment of shelving, storage locations, and dumping points in the warehouse, the warehouse map data is initialized. For example, as shown in Figure 4, the lower left corner of the aisle is taken as the origin (0, 0), the direction of aisle extension is taken as the x-axis, and the direction perpendicular to the aisle extension is taken as the y-axis. According to the physical distance, the xy coordinates of each storage location (represented by circles) and the xy coordinates of the dumping points (represented by squares) in the aisles are set.
[0051] The priority of each task is determined based on at least one of the following: wave pattern, task type, order type, and merging time. This allows for a comprehensive assessment of task priority information from multiple dimensions. For example, a priority score is determined for each task based on at least one of these factors; then, based on these priority scores, the tasks are grouped and sorted to determine their respective priority levels.
[0052] Wave patterns indicate the priority level of the time interval between the end time of a task wave and the current time. The shorter the time interval, the higher the priority level, and the greater the priority score of the wave pattern. Multiple task waves may belong to the same wave pattern. For example, wave patterns include adjacent wave patterns, normal wave patterns, and cross-day wave patterns. Specifically, if the end time of a task wave is less than 2 hours from the current time, it belongs to the adjacent wave pattern; if the end time of a task wave is greater than or equal to 2 hours but less than 24 hours from the current time, it belongs to the normal wave pattern; and if the end time of a task wave is greater than 24 hours from the current time, it belongs to the cross-day wave pattern, but this is not limited to the examples given.
[0053] Task types include customer order tasks, non-customer order tasks, and inventory tasks. Customer order tasks are those related to customer orders and typically involve picking and outbound operations. Non-customer order tasks, such as internal warehouse allocation or returns to suppliers, usually involve picking. Inventory tasks involve video counting of goods in storage locations without the need for picking. Therefore, both customer order and non-customer order tasks involve picking, unlike inventory tasks. Priority scores are set for each task type based on business needs. For example, priority scores can be set from highest to lowest as follows: customer order tasks, non-customer order tasks, and inventory tasks.
[0054] Order types include, for example, orders involving a single item, orders involving multiple items, and orders requiring precise delivery. Priority scores can be set for each order type based on business needs. For example, priority scores can be set from highest to lowest as follows: orders requiring precise delivery, orders involving a single item, and orders involving multiple items.
[0055] Merging time refers to the time when, for a merged order, if one lane task of the merged order has already been assigned to a robot, the priority score of the other lane task of the merged order is increased to the highest value.
[0056] If the priority of each task is determined based on multiple factors such as wave pattern, task type, order type, and merging time, then weights can be set for each factor. A weighted summation is then performed based on the weights and priority scores of each factor to obtain the priority score for each task. For example, y = θ1α + θ2β + θ3γ + θ4δ, where y represents a task and its priority score, αβγδ represents the priority scores for wave pattern, task type, order type, and merging time, respectively, and θ1θ2θ3θ4 represents the weights for wave pattern, task type, order type, and merging time, respectively. Based on the priority scores, the priority scores of each task are grouped and sorted to determine the priority level of each task. For example, tasks with priority scores in the first range have the first priority level, T1 = {y1y2y3….}, tasks with priority scores in the second range have the second priority level, T2 = {y4y5y6….}, and tasks with priority scores in the third range have the third priority level, T3 = {y7….}. A set of tasks of the same priority level can be sorted from highest to lowest priority score.
[0057] Based on warehouse map data and the priorities of each task, combined with the robot's working status, tasks and routes are planned for each robot according to the route planning method. As shown in Figure 5, the robot's working status includes, for example, idle, tasked, and locked. Idle robots can handle all types of business, and tasks and routes can be planned for idle robots based on all types of task pools. Tasked robots can handle tasks of the same type as the current task, and tasks and routes can be planned for robots with idle temporary storage devices based on task pools of the same type as the current task. For locked robots and robots without idle temporary storage devices, no task or route planning is required. The planned tasks and routes can be issued to the robots for execution. The route planning method is described in detail below.
[0058] Figure 6 illustrates a schematic diagram of a route planning method according to some embodiments of the present disclosure. This route planning method, for example, can be used to plan routes for a robot in an idle state. This route planning method, for example, can be executed by a route planning device.
[0059] As shown in Figure 6, query the working status of the robot in each alley. If there is an idle robot, the route can be planned for that robot according to the following method.
[0060] In step 610, the seed tasks that the robot must execute are determined based on the task priority and the distance between the robot and the corresponding storage location. This ensures that seed tasks with higher priority and closer proximity are executed first.
[0061] 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, which will be the robot's only step point; and determine the task corresponding to the seed storage location as the seed task that the robot must execute.
[0062] Taking the previously determined task priorities T1T2T3 as an example, the highest priority group of tasks is T1={y1y2y3….}, and the corresponding storage location set is P1={p1p2p3p4….}. Let p1 be the storage location closest to the robot in the storage location set. Then, the seed storage location is p1, and the task y1 corresponding to the seed storage location is the seed task.
[0063] In step 620, a first set of tasks is determined based on the seed tasks.
[0064] In some embodiments, a first task set is determined based on a seed task, combined with at least one of task type and task priority. For example, a seed task is added to the first task set; tasks of the same type as the seed task are selected and added to the first task set. This finds other tasks of the same type as the seed task.
[0065] Furthermore, if the number of non-seed tasks with the same task type as the seed task is large, exceeding the limit of the expected number of tasks in the first task set, tasks can be added to the first task set according to their priority, with priority given to tasks with higher priority and the same task type.
[0066] For example, if other tasks y5 and y7 of the same type as seed task y1 are found, then the first task set is T. 1 ={y1y5y7….}, the corresponding storage location set is P. 1 ={p1p5p7….}.
[0067] In step 630, 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, a first objective function to achieve the shortest route is constructed.
[0068] Define decision variables:
[0069] definition Distance cost of line segment ij.
[0070] Define the first objective function:
[0071] Where min represents taking the minimum value.
[0072] In step 640, the first constraints of the first objective function are determined. The first constraints may include, for example, constraints on storage location selection, starting point, destination point, and number of tasks.
[0073] The first constraint includes: (1) All storage locations for seed tasks must be selected. This ensures that high-priority seed tasks that are close to the robot are executed first.
[0074] The first constraint also includes one or more of the following: (2) All storage locations of a task are selected or not selected at the same time, so that when a task involves multiple storage locations, the task is either completed or not executed, avoiding partial execution and improving task execution efficiency; (3) The starting point is the robot's current position and there are only outgoing edges; (4) A storage location is selected at most once, so that all tasks involving a storage location are executed at the same time, avoiding multiple tasks picking the storage location multiple times and improving task execution efficiency; (5) When a storage location is selected, there are outgoing edges and incoming edges. By setting outgoing and incoming edges, a directional road segment is obtained. The incoming edge points to the direction in which the robot enters the storage location, and the outgoing edge points to the direction in which the robot leaves the storage location. Thus, according to the decision variable x i,jThe value determines the storage location, and the picking order of the storage location route is selected based on the direction.
[0075] In the case where the seed task involves a pickup task, the first constraint also includes one or more of the following: (6) the destination point is a dumping point and has only incoming edges; (7) a maximum of n tasks can be selected, where n is the number of idle temporary storage devices of the robot, and each temporary storage device is used to place the goods corresponding to one task. As mentioned above, customer order tasks and non-customer order tasks involve pickup tasks, which require the use of temporary storage devices and dumping points, while inventory tasks do not require the use of temporary storage devices and dumping points, so these constraints can be omitted.
[0076] Therefore, the first constraints (1)-(5) apply not only to tasks involving pickup, such as customer order tasks and non-customer order tasks, but also to inventory tasks, and the first constraints (6)-(7) apply to tasks involving pickup.
[0077] In step 650, 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, a second set of tasks and an 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 can be specifically determined based on the first objective function and its first constraint.
[0078] Assume the first task set is T. 1 ={y1y5y7….}, the corresponding storage location set is P. 1 = {p1p5p7….}, where p1 is the seed storage location and y1 is the seed task, as shown in Figure 7. Assume the second task set is also T. 4 ={y1y5y7….}, the corresponding storage location set is P. 4 ={p1p5p7….}, the shortest route is: robot's current point → p1 → p5 → p7 → tipping point.
[0079] Based on the task priorities and the distance between the robot and the corresponding storage location, seed tasks that the robot must execute are determined. Based on these seed tasks, a set of tasks to be planned is determined. Then, based on the selection of tasks and road segments that minimize the path to the objective function while satisfying constraints, the set of tasks and execution routes required by the robot are determined. Thus, while ensuring task priorities, the overall route is minimized, maximizing overall efficiency.
[0080] Figure 8 illustrates a schematic diagram of a route planning method according to some embodiments of the present disclosure. This route planning method, for example, can be used to plan routes for a robot in a task. This route planning method, for example, can be executed by a route planning device.
[0081] As shown in Figure 8, the robot in the task can add tasks and replan the route according to the following route planning method.
[0082] In step 810, the remaining unexecuted tasks in the second task set are identified.
[0083] Assume the remaining unexecuted tasks in the second task set are The corresponding storage set is
[0084] In step 820, the remaining tasks, along with any other tasks of the same type as the remaining tasks, are added to the third task set.
[0085] Assume the third task set is T. 3 ={y7y8}, the corresponding storage location set is P. : ={p7p ; …}, where the remaining task y7 and the additional task y8 have the same task type.
[0086] In step 830, 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, a second objective function to achieve the shortest route is constructed.
[0087] Define decision variables:
[0088] definition Distance cost of line segment ij.
[0089] Define the second objective function:
[0090] Where min represents taking the minimum value.
[0091] In step 840, the second constraints of the second objective function are determined. These second constraints may include, for example, constraints related to storage location selection, starting point, destination point, and the number of tasks.
[0092] The second constraint includes: (1) all storage locations corresponding to the remaining tasks, such as It must be selected. This ensures that the remaining tasks are executed.
[0093] The second constraint also includes one or more of the following: (2) All storage locations of a task are selected or not selected at the same time, so that when a task involves multiple storage locations, the task is either completed or not executed, avoiding partial execution and improving task execution efficiency; (3) The starting point is the robot's current position and there are only outgoing edges; (4) A storage location is selected at most once, so that all tasks involving a storage location are executed at the same time, avoiding multiple selections of the storage location by multiple tasks and improving task execution efficiency; (5) When a storage location is selected, there are outgoing and incoming edges. By setting outgoing and incoming edges, directional road segments are obtained. Thus, based on the decision variable x i,j The value determines the storage location, and the picking order of the storage location route is selected based on the direction.
[0094] When the seed task involves a pickup task, the second constraint also includes one or more of the following: (6) the destination point is a dumping point and has only incoming edges; (7) a maximum of m tasks can be added, where m is the number of the robot's remaining temporary storage devices, each used to place goods corresponding to a task. Remaining temporary storage devices are those without assigned tasks. As mentioned earlier, customer order tasks and non-customer order tasks involve pickup tasks, which require temporary storage devices and dumping points, while inventory tasks do not require temporary storage devices and dumping points, so these constraints can be omitted.
[0095] Therefore, the second constraints (1)-(5) apply not only to tasks involving pickup, such as customer order tasks and non-customer order tasks, but also to inventory tasks, and the second constraints (6)-(7) apply to tasks involving pickup.
[0096] In step 850, 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 the execution route to be executed by the robot are determined. The fourth set of tasks is a subset of the third set of tasks, and its specific determination can be made based on the second objective function and its second constraint.
[0097] If all tasks in the second task set have not been executed, then the tasks in the second task set and any additional tasks are re-determined according to the method of this embodiment to determine the tasks to be executed and their execution routes. If some tasks in the second task set have already been executed, then the tasks in the second task set that have not been executed and any additional tasks are re-determined according to the method of this embodiment to determine the tasks to be executed and their execution routes.
[0098] For example, suppose the third task set is T. 3 ={y7y8}, the corresponding storage location set is P. 3 ={p7p ;…}, as shown in Figure 9, assume that the fourth task set is also T. 4 ={y7y8}, the corresponding storage location set is P. 4 ={p7p ; …}, the shortest route for the fourth task set is: robot's current point → p8 → p7 → tipping point.
[0099] Based on the task priorities and the distance between the robot and the corresponding storage location, seed tasks that the robot must execute are determined. Based on these seed tasks, a set of tasks to be planned is determined. Then, based on the selection of tasks and road segments that minimize the path to the objective function while satisfying constraints, the set of tasks and execution routes required by the robot are determined. Thus, while ensuring task priorities, the overall route is minimized, maximizing overall efficiency.
[0100] Based on the remaining unexecuted tasks in the second task set and other tasks of the same type added as the remaining tasks, a task set to be planned is determined. Then, based on the selection of tasks and road segments that minimize the objective function's path while satisfying constraints, the task set and execution route required by the robot are determined. Thus, not only can new tasks of the same type be dynamically added, but the shortest path is also guaranteed.
[0101] Figure 10 shows a schematic diagram of the structure of a route planning apparatus according to some embodiments of the present disclosure. As shown in Figure 10, the route planning apparatus 1000 of this embodiment includes: a memory 1010 and a processor 1020 coupled to the memory 1010. The processor 1020 is configured to execute the route planning method in any of the foregoing embodiments based on instructions stored in the memory 1010.
[0102] The route planning device 1000 may also include an input / output interface 1030, a network interface 1040, a storage interface 1050, etc. These interfaces 1030, 1040, 1050, as well as the memory 1010 and the processor 1020, can be connected, for example, via a bus 1060.
[0103] The memory 1010 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory may store, for example, the operating system, application programs, boot loader, and other programs.
[0104] The processor 1020 can be implemented using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gates, or transistors, or other discrete hardware components.
[0105] The input / output interface 1030 provides a connection interface for input / output devices such as monitors, mice, keyboards, and touchscreens. The network interface 1040 provides a connection interface for various networked devices. The storage interface 1050 provides a connection interface for external storage devices such as SD cards and USB flash drives. The bus 1060 can use any bus architecture from various bus structures. For example, bus architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, and Peripheral Component Interconnect (PCI) bus.
[0106] Figure 11 shows a schematic diagram of the structure of a route planning apparatus according to some embodiments of the present disclosure. As shown in Figure 11, the route planning apparatus 1100 of this embodiment includes a module for executing a route planning method.
[0107] The initial planning module 1110 is configured to determine the seed tasks that the robot must execute based on the priority of the tasks and the distance between the robot and the corresponding storage location; determine a first task set based on the seed tasks; construct a first objective function to achieve the shortest route based on whether each segment between each task and each storage location in the first task set is selected and the distance of each segment; determine the first constraint condition of the first objective function; and determine the second task set and execution route that the robot needs to execute based on the results of selecting each task and each segment that minimizes the route of the first objective function while satisfying the first constraint condition.
[0108] Among these steps, the storage location closest to the robot is selected from the storage locations corresponding to the highest priority group of tasks as the seed storage location; the task corresponding to the seed storage location is then determined as the seed task that the robot must execute.
[0109] Specifically, a seed task is added to the first task set; and a task is selected from non-seed tasks of the same type as the seed task and added to the first task set.
[0110] 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.
[0111] 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.
[0112] Figure 12 shows a schematic diagram of a route planning system according to some embodiments of the present disclosure. As shown in Figure 12, 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.
[0113] 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.
[0114] 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 means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.
[0115] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0116] These computer program instructions may 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 functions specified in one or more flowcharts and / or one or more block diagrams.
[0117] The above description is only a preferred embodiment of this disclosure and is not intended to limit this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the protection scope of this disclosure.
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. Based on the seed task, determine 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 set of second tasks and the execution route to be performed by the robot are determined.
2. The method of 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 any one of claims 1-2, wherein, The first task set includes: Based on the seed task, and taking into account at least one of the following: task type and task priority, the first task set is determined.
4. The method according to any one of claims 1 to 3, wherein, The first task set includes: Add the seed task to the first task set; Select a task from the non-seed tasks that have the same task type as the seed task and add it to the first task set.
5. The method according to any one of claims 1 to 4, wherein, The first constraint is that all storage locations for the seed task must be selected.
6. The method of claim 5, 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.
7. The method of claim 6, 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.
8. The method according to any one of claims 1-7, 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, a second objective function is constructed 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.
9. The method of claim 8, wherein, The second constraint includes: all storage locations corresponding to the remaining tasks must be selected.
10. The method of claim 9, 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.
11. The method of claim 10, 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.
12. The method according to any one of claims 1-11, 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.
13. A route planning apparatus 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-12 based on instructions stored in the memory.
14. A route planning apparatus comprising: A module that performs the route planning method according to any one of claims 1-12.
15. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the route planning method of any one of claims 1-12.
16. A computer program product comprising computer instructions that, when executed by a processor, implement the route planning method of any one of claims 1-12.
17. A computer program comprising: Instructions, when executed by a processor, cause the processor to perform the route planning method according to any one of claims 1-12.
Citation Information
Patent Citations
Path planning method and device and computer readable storage medium
CN110262472A
Transfer robot picking task scheduling method for movable goods shelf warehousing system
CN111409997A
Method, system and device for generating shortest path and storage medium
CN114418205A
Robot path planning method and device, electronic equipment and storage medium
CN115437372A
Stereoscopic warehouse task scheduling method and device, computer equipment and storage medium
CN115983553A