Path planning method, robot, and warehousing system

By generating a smooth path to the target and using path algorithms and constraints to process the planned path, the problem of robot turning and collision in confined spaces is solved, achieving efficient turning and reducing wear.

WO2025214413A1PCT designated stage Publication Date: 2025-10-16BEIJING GEEKPLUS TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/088080
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-10
Filing Date
2025-04-09
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

When robots change direction in confined spaces, they are prone to colliding with objects such as shelves, and their efficiency in rotating in place is low.

Method used

By acquiring the planned path, processing it using the target smooth path algorithm and constraints, a target smooth path is generated, including obstacle positions, path curvature, deviation from the initial path range, and preset safety distance. The driving speed at the path points is determined to achieve smooth steering.

Benefits of technology

Achieving smooth steering in confined spaces avoids collisions, improves task execution efficiency, shortens travel distance, reduces mechanical wear, and extends robot lifespan.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025088080_16102025_PF_FP_ABST
    Figure CN2025088080_16102025_PF_FP_ABST
Patent Text Reader

Abstract

A path planning method, a robot (120), and a warehousing system (100). The path planning method comprises: step 210, obtaining a planned path corresponding to a target robot executing a task to be processed; step 220, when there is at least one path point to be smoothed in the planned path, processing the planned path on the basis of a target path smoothing algorithm and a constraint condition, and obtaining a target smoothed path, the constraint condition comprising at least one of an obstacle location, a path curvature, an initial path deviation range, and a preset safety distance; step 230, on the basis of the curvature of path points in the target smoothed path, determining a traveling speed of path points in the target smoothed path; and step 240, on the basis of the traveling speed of path points in the target smoothed path, executing the task to be processed according to the target smoothed path.
Need to check novelty before this filing date? Find Prior Art

Description

Path planning method, robot and warehouse system

[0001] This application claims priority to Chinese Patent Application No. 202410433587.9, filed on April 10, 2024, and Chinese Patent Application No. 202410431124.9, filed on April 10, 2024, the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD

[0002] The present disclosure relates to the technical field of warehouse logistics, and in particular, to a path planning method, a robot and a warehouse system. BACKGROUND

[0003] Generally, a robot can travel in a warehouse system to perform a related task. However, if the robot needs to change the travel direction (such as turning around or turning a corner) during the travel, the robot usually needs to first rotate in place to change the orientation of the robot before changing the travel direction. However, in a relatively narrow passageway, rotating in place is likely to cause the robot to collide with objects such as shelves, and the efficiency of rotating in place is usually low. SUMMARY

[0004] Embodiments of the present disclosure provide a path planning method, a robot and a warehouse system.

[0005] In a first aspect, a path planning method is provided, including: obtaining a planning path corresponding to a task to be processed by a target robot; in a case where there is at least one path point to be smoothed in the planning path, processing the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path; wherein the constraint condition includes at least one of an obstacle position, a path curvature, a deviation from an initial path range, and a preset safety distance; determining a travel speed of each path point in the target smoothing path based on a curvature of each path point in the target smoothing path; and performing the task to be processed according to the target smoothing path based on the travel speed of each path point in the target smoothing path.

[0006] In a second aspect, a path planning method is provided, including: determining a planning path corresponding to a task to be processed by a target robot; in a case where there is at least one path point to be smoothed in the planning path, processing the planning path based on a first smoothing path algorithm and a constraint condition to obtain a first smoothing path; in a case where there is a first blocking robot on the first smoothing path, and a first waiting time length of the target robot on the first smoothing path is greater than a preset waiting time length, processing the planning path based on a travel environment of the target robot, a fourth smoothing path algorithm and the constraint condition to obtain a fourth smoothing path; and controlling the target robot to perform the task to be processed based on the fourth smoothing path.

[0007] A third aspect of the embodiments of the present disclosure provides a path planning method, comprising: determining a planning path corresponding to a task to be processed by a target robot; in a case where the planning path has at least one path point to be smoothed, processing the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path; wherein the constraint condition comprises at least one of an obstacle position, a path curvature, a deviation range from an initial path, and a preset safety distance; and controlling the target robot to perform the task to be processed based on the target smoothing path.

[0008] A fourth aspect of the embodiments of the present disclosure provides a robot, comprising an acquisition module, a processing module, a determination module, and an execution module. The acquisition module is configured to acquire a planning path corresponding to a task to be processed by a target robot. The processing module is configured to, in a case where the planning path has at least one path point to be smoothed, process the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path; wherein the constraint condition comprises at least one of an obstacle position, a path curvature, a deviation range from an initial path, and a preset safety distance. The determination module is configured to determine a driving speed of each path point in the target smoothing path based on a curvature of each path point in the target smoothing path. The execution module is configured to perform the task to be processed according to the target smoothing path based on the driving speed of each path point in the target smoothing path.

[0009] A fifth aspect of the embodiments of the present disclosure provides a warehouse system, comprising a control device and a target robot. The control device is configured to determine a planning path corresponding to a task to be processed by the target robot; in a case where the planning path has at least one path point to be smoothed, process the planning path based on a first smoothing path algorithm and a constraint condition to obtain a first smoothing path; in a case where there is a first blocking robot on the first smoothing path and a first waiting time length of the target robot on the first smoothing path is greater than a preset waiting time length, process the planning path based on a driving environment of the target robot, a fourth smoothing path algorithm, and the constraint condition to obtain a fourth smoothing path; and generate a task execution instruction based on the fourth smoothing path. The target robot is configured to drive and perform the task to be processed according to the fourth smoothing path based on the task execution instruction.

[0010] In a sixth aspect, the embodiments of the present disclosure provide a warehouse system, comprising a control device and a target robot. The control device is configured to determine a planning path corresponding to a to-be-handled task performed by the target robot, and in a case where the planning path includes at least one to-be-smoothed path point, process the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path, wherein the constraint condition includes at least one of an obstacle position, a path curvature, a deviation range from an initial path and a preset safety distance, and generate a task execution instruction based on the target smoothing path. The target robot is configured to execute the to-be-handled task based on the task execution instruction.

[0011] In a seventh aspect, the embodiments of the present disclosure provide a warehouse system, comprising a determination module, a processing module and a control module. The determination module is configured to determine a planning path corresponding to a to-be-handled task performed by a target robot. The processing module is configured to, in a case where the planning path includes at least one to-be-smoothed path point, process the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path, wherein the constraint condition includes at least one of an obstacle position, a path curvature, a deviation range from an initial path and a preset safety distance. The control module is configured to control the target robot to execute the to-be-handled task based on the target smoothing path.

[0012] In an eighth aspect, the embodiments of the present disclosure provide an electronic device, comprising a processor and a memory, wherein the memory is configured to store computer executable instructions, and the processor is configured to read the instructions from the memory and execute the instructions to implement the path planning method according to the first aspect to the third aspect.

[0013] In a ninth aspect, the embodiments of the present disclosure provide a computer readable storage medium, wherein the storage medium stores computer program instructions, and when a computer reads the instructions, the path planning method according to the first aspect to the third aspect is executed.

[0014] In a tenth aspect, the embodiments of the present disclosure provide a computer program product, comprising a computer program stored on a non-transitory computer readable storage medium, wherein the computer program comprises program instructions, and when the program instructions are executed by a computer, the computer is caused to execute the path planning method according to the first aspect to the third aspect. BRIEF DESCRIPTION OF DRAWINGS

[0015] FIG. 1 is a schematic diagram of a warehouse system according to some embodiments of the present disclosure;

[0016] FIG. 2 is a flowchart of a path planning method according to some embodiments of the present disclosure;

[0017] FIG. 3 is a schematic diagram of a planning path according to some embodiments of the present disclosure;

[0018] FIG. 4 is a flowchart of determining a first smooth path according to some embodiments of the present disclosure;

[0019] FIG. 5 is a schematic diagram of a third order Bezier curve according to some embodiments of the present disclosure;

[0020] FIG. 6 is a flowchart of determining first Bezier curve control points according to some embodiments of the present disclosure;

[0021] FIG. 7A is a schematic diagram of another path planning according to some embodiments of the present disclosure;

[0022] FIG. 7B is a schematic diagram of yet another path planning according to some embodiments of the present disclosure;

[0023] FIG. 8A is a schematic diagram of a first arc type according to some embodiments of the present disclosure;

[0024] FIG. 8B is a schematic diagram of a second arc type according to some embodiments of the present disclosure;

[0025] FIG. 9A is a schematic diagram of determining first Bezier curve control points using a first arc type corresponding smooth path algorithm according to some embodiments of the present disclosure;

[0026] FIG. 9B is a schematic diagram of determining first Bezier curve control points using a second arc type corresponding smooth path algorithm according to some embodiments of the present disclosure;

[0027] FIG. 10 is a schematic diagram of determining first Bezier curve control points using a first smooth path algorithm corresponding to a second angle type according to some embodiments of the present disclosure;

[0028] FIG. 11 is a flowchart of determining a second smooth path according to some embodiments of the present disclosure;

[0029] FIG. 12 is a flowchart of another determining a second smooth path according to some embodiments of the present disclosure;

[0030] FIG. 13A is a schematic diagram of determining a second smooth path according to some embodiments of the present disclosure;

[0031] FIG. 13B is a schematic diagram of another determining a second smooth path according to some embodiments of the present disclosure;

[0032] FIG. 13C is a schematic diagram of yet another determining a second smooth path according to some embodiments of the present disclosure;

[0033] FIG. 13D is a schematic diagram of still another determining a second smooth path according to some embodiments of the present disclosure;

[0034] FIG. 14 is a flowchart of determining a third smooth path according to some embodiments of the present disclosure;

[0035] FIG. 15A is a schematic diagram of determining a third smooth path according to some embodiments of the present disclosure;

[0036] FIG. 15B is a schematic diagram of determining another third smooth path according to some embodiments of the present disclosure;

[0037] FIG. 15C is a schematic diagram of determining yet another third smooth path according to some embodiments of the present disclosure;

[0038] FIG. 16 is a schematic diagram of a robot in a Cartesian coordinate system and a Frenet coordinate system according to some embodiments of the present disclosure;

[0039] FIG. 17 is a schematic diagram of a conversion relationship between a Cartesian coordinate system and a Frenet coordinate system according to some embodiments of the present disclosure;

[0040] FIG. 18 is a flowchart of determining a travel speed of each path point in a target smooth path according to some embodiments of the present disclosure;

[0041] FIG. 19 is a flowchart of another path planning method according to some embodiments of the present disclosure;

[0042] FIG. 20 is a flowchart of yet another path planning method according to some embodiments of the present disclosure;

[0043] FIG. 21 is a schematic diagram of planning a path according to some embodiments of the present disclosure;

[0044] FIG. 22 is a schematic diagram of planning a path according to some embodiments of the present disclosure;

[0045] FIG. 23 is a schematic diagram of a first smooth path corresponding to a first arc type and having a first blocking robot according to some embodiments of the present disclosure;

[0046] FIG. 24 is a flowchart of determining a second smooth path corresponding to a second arc type according to some embodiments of the present disclosure;

[0047] FIG. 25 is a schematic diagram of determining a second Bezier curve control point using a smooth path algorithm corresponding to a second arc type according to some embodiments of the present disclosure;

[0048] FIG. 26 is a schematic diagram of a first smooth path corresponding to a third arc type and having a first blocking robot according to some embodiments of the present disclosure;

[0049] FIG. 27 is a flowchart of determining a second smooth path corresponding to a first arc type according to some embodiments of the present disclosure;

[0050] FIG. 28A is a schematic diagram of a first smooth path with a first blocking robot corresponding to another third arc type according to some embodiments of the present disclosure;

[0051] FIG. 28B is a schematic diagram of a first smooth path with a first blocking robot corresponding to yet another third arc type according to some embodiments of the present disclosure;

[0052] FIG. 29A is a schematic diagram of determining a second smooth path corresponding to a first arc type according to some embodiments of the present disclosure;

[0053] FIG. 29B is a schematic diagram of determining a second smooth path corresponding to a first arc type according to some embodiments of the present disclosure;

[0054] FIG. 30 is a flowchart of yet another path planning method according to some embodiments of the present disclosure;

[0055] FIG. 31 is a schematic diagram of a second smooth path with a second blocking robot corresponding to a first arc type according to some embodiments of the present disclosure;

[0056] FIG. 32 is a schematic diagram of determining a fourth Bezier curve control point using a smooth path algorithm corresponding to a second arc type according to some embodiments of the present disclosure;

[0057] FIG. 33 is a flowchart of determining a second smooth path corresponding to a third arc type according to some embodiments of the present disclosure;

[0058] FIG. 34 is a schematic diagram of yet another path planning according to some embodiments of the present disclosure;

[0059] FIG. 35 is a schematic diagram of a first smooth path corresponding to a third arc type according to some embodiments of the present disclosure;

[0060] FIG. 36 is a schematic diagram of a second smooth path corresponding to a first angle type according to some embodiments of the present disclosure;

[0061] FIG. 37 is a schematic diagram of determining at least one new path point to be smoothed according to some embodiments of the present disclosure;

[0062] FIG. 38 is a schematic diagram of a second smooth path corresponding to a third arc type according to some embodiments of the present disclosure;

[0063] FIG. 39 is a flowchart of yet another path planning method according to some embodiments of the present disclosure;

[0064] FIG. 40 is a schematic diagram of a robot according to some embodiments of the present disclosure;

[0065] FIG. 41 is a schematic diagram of another warehouse system according to some embodiments of the present disclosure;

[0066] FIG. 42 is a schematic diagram of yet another warehouse system according to some embodiments of the present disclosure;

[0067] FIG. 43 is a schematic diagram of still another warehouse system according to some embodiments of the present disclosure;

[0068] FIG. 44 is a schematic diagram of an electronic device according to some embodiments of the present disclosure. DETAILED DESCRIPTION

[0069] In order to better understand the technical solutions in the embodiments of the present application by those skilled in the art, and to make the above-mentioned purposes, features and advantages of the embodiments of the present application more apparent and easy to understand, the technical solutions in the embodiments of the present application will be further described in detail below with reference to the drawings.

[0070] FIG. 1 is a schematic diagram of a warehouse system according to some embodiments of the present disclosure. As shown in FIG. 1, the warehouse system 100 includes a control device 110 and a plurality of robots 120.

[0071] In some examples, the robots 120 are used to carry carriers, containers or goods. The carriers include, but are not limited to, partitioned shelves, fixed shelves, movable shelves, etc., and the carriers can include a plurality of storage locations. The storage locations can be used to place containers, or can be used to place boxes, or can be used to place goods directly, or can be used to place original boxes of goods. The containers can be specially designed matching products for the carriers, or can be ordinary boxes (also referred to as boxes), or can be the packaging of the goods (also referred to as original boxes).

[0072] For example, the robots 120 can be robots for carrying containers or goods, and the robots 120 can include liftable trays, or liftable belts / liftable flaps, etc.; the robots 120 can also be robots for carrying movable shelves, and the embodiments of the present disclosure do not limit the type of the robots 120.

[0073] For example, when the robots 120 are robots for carrying containers or goods, the robots 120 can determine a target smooth path according to the path planning method provided by the embodiments of the present disclosure in an empty state (e.g., without carrying containers or goods) or a loaded state (e.g., carrying containers or goods), and travel according to the target smooth path. When the robots 120 are robots for carrying movable shelves, the robots 120 can determine a target smooth path according to the path planning method provided by the embodiments of the present disclosure in an empty state (e.g., without carrying movable shelves), and travel according to the target smooth path; if the aisle space is large, the robots 120 can also determine a target smooth path according to the path planning method provided by the embodiments of the present disclosure when loading the shelves. The above are only examples, and the specific adjustments can be made according to the actual situation.

[0074] Exemplarily, the control device 110 can be coupled with each robot 120 to control the work of each robot 120. For example, the control device 110 can control the robot 120 to move and carry a to-be-carried object (such as a container, a cargo or a movable carrier).

[0075] In some examples, the control device 110 can be a server or a terminal device, or a device deployed with a warehouse management system (WMS) and a robot management system (RMS). The terminal device can include at least one of a personal computer, a notebook computer, a smart phone, a tablet computer and a portable wearable device, and the server can include a single server or a server cluster composed of multiple servers, which are not limited in the embodiments of the present disclosure.

[0076] In some examples, the robot 120 can communicate with the control device 110 through a network. The control device 110 can include a server or a terminal. The terminal can include at least one of a personal computer, a notebook computer, a smart phone, a tablet computer and a portable wearable device, and the server can include a single server or a server cluster composed of multiple servers, which are not limited in the embodiments of the present disclosure.

[0077] In some embodiments, the storage system 100 can include multiple carriers 130, and the robot 120 can move along a target smooth path in a lane between two adjacent carriers 130, or move along a target smooth path outside the lane. The target smooth path can be a path obtained by smoothing a planning path sent by the control device 110 based on a target smooth path algorithm and constraint conditions. The constraint conditions can include at least one of an obstacle position, a path curvature, a deviation range from an initial path, and a preset safety distance.

[0078] The path planning method provided by the present disclosure will be described in detail below with reference to the accompanying drawings.

[0079] FIG. 2 is a flowchart of a path planning method provided by an embodiment of the present disclosure. The path planning method shown in FIG. 2 can be implemented by the robot 120 in the storage system 100 in the above embodiments. As shown in FIG. 2, the path planning method can include the following steps 210 to 240.

[0080] In step 210, a planning path corresponding to a to-be-handled task executed by a target robot is obtained.

[0081] In some embodiments, the control device can preliminarily plan a driving path (i.e., a planned path) based on a to-be-handled task required to be performed by the robot and an environment (e.g., obstacle position, ground two-dimensional code position, etc.) of the warehouse system, and send the planned path to the robot.

[0082] The to-be-handled task can include a sorting task, a picking task, an in-out task, etc. The obstacle can include an object at a fixed position in the warehouse system, or a movable object or personnel in the warehouse system. For example, the obstacle includes a shelf, a worker, or other robots, etc.

[0083] In some examples, the warehouse system includes a plurality of robots, and the target robot is any one of the plurality of robots, which is not limited in the embodiments of the present disclosure.

[0084] In some examples, the control device can determine a start point and an end point based on a to-be-handled task required to be performed by each robot (e.g., the target robot) and a current position of each robot, and plan a driving path for the robot according to the start point and the end point. The planned path determined by the control device for the robot based on the start point and the end point can include a to-be-smoothed path point (i.e., a turning point). For example, when the robot needs to turn or make a U-turn from the start point to the end point, the to-be-smoothed path point refers to the path point at which the robot turns. The number of to-be-smoothed path points corresponding to one planned path can be one or more, which is not limited in the embodiments of the present disclosure.

[0085] For example, the planned path generated by the control device can include a start point, an end point, and a turning point corresponding to a to-be-handled task. The angle and curvature of the planned path can be continuous or discontinuous, which is not limited in the embodiments of the present disclosure.

[0086] FIG. 3 is a schematic diagram of a planned path according to an embodiment of the present disclosure.

[0087] As shown in FIG. 3, taking a start point a and an end point c of a to-be-handled task as an example, the planned path generated by the control device can be path a-b-c, which includes the start point a, a to-be-smoothed path point b (i.e., a turning point b), and the end point c.

[0088] In step 220, when there is at least one to-be-smoothed path point in the planned path, the planned path is processed based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path.

[0089] In some embodiments, in the case that there is a corner point (i.e., a to-be-smoothed path point) in the planning path generated by the control device (such as the control device 110 described above), it indicates that the planning path is a non-smooth path. In this case, the planning path can be smoothed based on the target smooth path algorithm and the constraint condition, so as to obtain a target smooth path, and the robot can smoothly turn or U-turn when driving according to the target smooth path. The constraint condition can include obstacle position, path curvature, deviation from the initial path range, and preset safety distance, etc.

[0090] In some examples, after the target smooth path is generated, the target smooth path can be sent to the control device (such as the RMS) to inform the control device that the robot drives according to the target smooth path.

[0091] It should be noted that the generation of the target smooth path in step 220 can be performed by the robot (such as the target robot) or by the control device. The control device can include a control module in the robot or a control device (such as the control device 110 described above) in the warehouse system.

[0092] The embodiments of the present disclosure provide a path planning method, which includes multiple ways of determining a target smooth path, and the target smooth paths determined by different ways can be different. The target smooth path includes at least one of a first smooth path, a second smooth path, and a third smooth path, and the following embodiments will respectively exemplarily describe the determination ways of the first smooth path, the second smooth path, and the third smooth path.

[0093] The process of determining the first smooth path based on the first smooth path algorithm will be described below.

[0094] FIG. 4 is a flowchart of a method for determining a first smooth path according to an embodiment of the present disclosure. As shown in FIG. 4, the step 220 described above can include the steps 410 to 420 shown below. The target smooth path algorithm includes the first smooth path algorithm, and the target smooth path includes the first smooth path.

[0095] In step 410, the first Bezier curve control point is determined based on the constraint condition and the position of each to-be-smoothed path point on the planning path by using the first smooth path algorithm.

[0096] In some embodiments, the planning path can be processed based on a first smoothing path algorithm and the constraint condition to obtain a first smoothing path. The first smoothing path algorithm can be a Bezier algorithm (i.e., a first Bezier algorithm), and the first smoothing path is determined based on a Bezier curve (i.e., a first Bezier curve). For example, the first Bezier curve control points (also referred to as first Bezier curve control points) corresponding to the planning path can be determined based on the constraint condition and the positions of the path points on the planning path using the first smoothing path algorithm.

[0097] It should be noted that the Bezier curve (such as the first Bezier curve) can be a second-order Bezier curve, a third-order Bezier curve, or a higher-order Bezier curve, and the embodiments of the present disclosure do not limit this. The following embodiments take the third-order Bezier curve as an example for illustrative description.

[0098] In some embodiments, the determination of the n-order Bezier curve can refer to formula (1):

[0099] wherein P i (P0, P1, P2, P3, …, P n ) are n control points corresponding to the Bezier curve; t is a parameter, representing the ratio of the length of a certain point on a line segment formed by two adjacent control points to the length of the line segment. For example, the value of t can be 0.5, which means that the certain point is the midpoint of the line segment formed by two adjacent control points. The specific value of t is not limited in the embodiments of the present disclosure.

[0100] FIG. 5 is a schematic diagram of a third-order Bezier curve provided by an embodiment of the present disclosure. Taking the third-order Bezier curve as an example, as shown in FIG. 5, P0, P1, P2, and P3 are four control points corresponding to the third-order Bezier curve, and the formula of the third-order Bezier curve can refer to formula (2): 3 P0+3t(1-i) 2 P1+3t 2 (1-t)P2+t 3 P3,t∈[0,1]; (2)

[0101] FIG. 6 is a flowchart of determining the first Bezier curve control points provided by an embodiment of the present disclosure. As shown in FIG. 6, the step 410 can include steps 610-620 as shown below.

[0102] Step 610: determining a smoothing angle type corresponding to the planning path based on the positions of the path points on the planning path.

[0103] Exemplarily, the smooth angle type includes a first angle type and a second angle type. The first angle type can be a 90-degree type, and the second angle type can be a 180-degree type.

[0104] FIGS. 7A and 7B are schematic diagrams of another planning path provided by an embodiment of the present disclosure.

[0105] As shown in FIG. 7A, the robot needs to make a 90-degree turn at the to-be-smoothed path point b in the process of traveling from the starting point a to the ending point c. That is, the smooth angle type corresponding to the planning path of the robot in FIG. 7A is the 90-degree type (i.e., the first angle type).

[0106] As shown in FIG. 7B, the robot needs to make a 90-degree turn at the to-be-smoothed path point b and make another 90-degree turn at the to-be-smoothed path point c in the process of traveling from the starting point a to the ending point d. That is, the robot needs to make a 180-degree turn in the process of traveling from the starting point a to the ending point d. That is, the smooth angle type corresponding to the planning path of the robot in FIG. 7B is the 180-degree type (i.e., the second angle type).

[0107] In step 620, the first Bezier curve control point is determined by using a first smooth path algorithm based on the smooth angle type, the constraint condition, and the positions of the to-be-smoothed path points on the planning path.

[0108] In some embodiments, when the smooth angle type is the first angle type, the arc type corresponding to the planning path can be determined first, and the first Bezier curve control point is determined by using the first smooth path algorithm according to the arc type corresponding to the planning path, the constraint condition, and the positions of the to-be-smoothed path points on the planning path.

[0109] For example, as shown in FIG. 7A, when the smooth angle type is the 90-degree type (i.e., the first angle type), the first Bezier curve control point can be determined by using the first smooth path algorithm, so as to generate the first smooth path.

[0110] Exemplarily, the first angle type (i.e., the 90-degree smooth angle type) can correspond to two arc types, i.e., a first arc type and a second arc type. The first smooth paths determined by the smooth path algorithms corresponding to the two arc types are different.

[0111] In some examples, the arc type corresponding to the first angle type can include a 90-degree large arc type (i.e., the first arc type) and a 90-degree small arc type (i.e., the second arc type). That is, when the smooth angle type is the first angle type (which can also be referred to as the 90-degree type), the first smooth path can be determined by using the smooth path algorithm corresponding to the 90-degree large arc type, or the first smooth path can be determined by using the smooth path algorithm corresponding to the 90-degree small arc type, and the present disclosure does not make any limitation in this regard.

[0112] In some embodiments, when the smoothing angle type is the 90-degree type, a smoothing path algorithm corresponding to the 90-degree large-arc type or a smoothing path algorithm corresponding to the 90-degree small-arc type can be determined according to the surrounding environment of the path point to be smoothed, the position of the obstacle, the size of the robot, and other parameters, to determine the first smoothing path.

[0113] For example, when the robot travels along the 90-degree large-arc path and does not collide with the obstacle, the smoothing path algorithm corresponding to the 90-degree large-arc type can be used to determine the first smoothing path. For another example, when the robot travels along the 90-degree large-arc path and collides with the obstacle, the smoothing path algorithm corresponding to the 90-degree small-arc type can be used to determine the first smoothing path.

[0114] FIG. 8A is a schematic diagram of a first arc type according to an embodiment of the present disclosure, and FIG. 8B is a schematic diagram of a second arc type according to an embodiment of the present disclosure.

[0115] As shown in FIGS. 8A and 8B, the first arc type (e.g., the 90-degree large-arc type) and the second arc type (e.g., the 90-degree small-arc type) can both achieve a 90-degree smooth turn from the starting point a to the ending point c. The difference between FIGS. 8A and 8B is that the inflection point of the Bezier curve corresponding to the second arc type shown in FIG. 8B approaches the path point b to be smoothed, so that compared with the first arc type shown in FIG. 8A, the second arc type requires a smaller turning radius and less space for the robot to turn, and thus is more suitable for a scene with relatively narrow space or more obstacles.

[0116] FIG. 9A is a schematic diagram of determining a first Bezier curve control point by using a smoothing path algorithm corresponding to a first arc type according to an embodiment of the present disclosure.

[0117] In some examples, the size of the robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell can be obtained according to the first arc type (i.e., the 90-degree large-arc type), and the first Bezier curve control point can be determined by using the smoothing path algorithm corresponding to the first arc type based on the size of the robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the positions of the path points to be smoothed, and the preset safety distance.

[0118] The size of the robot can include a distance between driving wheels on two sides of the robot; the identification code can include a ground two-dimensional code or the like navigation marker; and the preset safety distance can include a safety distance between an outer driving wheel of the robot and the identification code. Since the safety distance between the outer driving wheel of the robot and the two-dimensional code corresponding to the path point to be smoothed is considered when determining the first Bezier curve control point, it is ensured that the driving wheel of the robot will not crush the ground two-dimensional code during the robot driving along the smoothed path, thereby avoiding unnecessary wear of the ground two-dimensional code.

[0119] In some examples, the first Bezier curve control point corresponding to the first arc type can be determined according to formula (3):

[0120] wherein L is a distance between the first Bezier curve control point and the path point to be smoothed, w is a width of the robot, m is a width of the identification code, X is a length of a unit cell, and s is a preset safety distance.

[0121] As shown in FIG. 9A, the positions of control points P0 and P3 can be determined first, and then the positions of P1 and P2 can be determined. The control points P0 and P3 are the starting point and the ending point of the Bezier curve respectively; the control points P0 and P3 can be the same as or different from the starting point a and the ending point c on the planned path.

[0122] For the control points P1 and P2, the distance between the Bezier curve control points P1 and P2 and the path point b to be smoothed can be determined according to the above formula (3) based on the size of the robot 120, the size of the two-dimensional code A corresponding to the path point b to be smoothed, the size of the unit cell, the position of the path point b to be smoothed, and the preset safety distance, and then the position coordinates of the control points P1 and P2 can be determined based on the position coordinates of the path point b to be smoothed. Thus, it is ensured that the driving wheel of the robot 120 will not crush the two-dimensional code A when the robot 120 drives along the first smoothed path generated based on the control points P1 and P2 (the gray path in FIG. 9A represents the driving wheel trajectory of the robot 120).

[0123] FIG. 9B is a schematic diagram of determining the first Bezier curve control point using a smoothed path algorithm corresponding to a second arc type according to an embodiment of the present disclosure.

[0124] In some examples, the size of the unit cell can be obtained according to the second arc type (i.e., the 90-degree small arc type), and the first Bezier curve control point can be determined using a smoothed path algorithm corresponding to the second arc type based on the size of the unit cell, the positions of the path points to be smoothed, and the preset safety distance.

[0125] Among them, the preset safety distance may include the safety distance between the robot's outer driving wheel and the identification code (such as a navigation mark such as a ground QR code), so as to ensure that the robot's driving wheel will not run over the identification code during driving, so as to avoid unnecessary wear and tear on the identification code.

[0126] In some examples, the first Bezier curve control point corresponding to the second arc type can be determined according to formula (4):

[0127] Wherein, L is the distance between the first Bezier curve control point and the identification code corresponding to the path point to be smoothed, and X is the length of the cell.

[0128] For example, as shown in Figure 9B, the positions of control points P0 and P3 can be determined first, and then the positions of control points P1 and P2 can be determined. Control points P0 and P3 are the starting point and end point on the Bezier curve, respectively; control points P0 and P3 can be the same as or different from the starting point a and end point c on the planned path.

[0129] For control points P1 and P2, the robot can determine the distance between the Bezier curve control points P1 and P2 and the path point b to be smoothed according to the above formula (4) based on the size of the cell, the position of the path point b to be smoothed, and the preset safety distance. Furthermore, the position coordinates of control points P1 and P2 can be determined based on the position coordinates of the path point b to be smoothed. This ensures that when the robot 120 travels along the first smooth path generated based on control points P1 and P2, its drive wheels will not run over the QR code A (the gray path in FIG9B represents the trajectory of the robot 120's drive wheels).

[0130] FIG10 is a schematic diagram of determining a first Bezier curve control point corresponding to a second angle type using a first smooth path algorithm according to an embodiment of the present disclosure.

[0131] In some embodiments, when the smoothing angle type is the second angle type (i.e., 180-degree type), the size of the robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell can be obtained, and based on the size of the robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed, and the preset safety distance, the first smoothing path algorithm is used to determine the first Bezier curve control point.

[0132] Among them, the identification code may include navigation marks such as ground QR codes; the preset safety distance may include the safety distance between the robot's outer driving wheels and the identification code, thereby ensuring that the robot's driving wheels will not run over the identification code during driving, so as to avoid unnecessary wear and tear on the identification code.

[0133] In some examples, the first Bezier curve control point corresponding to the second angle type can be determined according to formulas (5)-(7):

[0134] wherein L is the distance between the first Bezier curve control point and the identification code, w is the width of the robot, m is the width of the identification code, X is the width of the unit cell, Y is the length of the unit cell, and s is the preset safety distance.

[0135] Exemplarily, as shown in FIG. 10, the positions of control points P0 and P3 can be determined first, and then the positions of P1 and P2 can be determined. The control points P0 and P3 are the start point and the end point of the Bezier curve respectively. The control points P0 and P3 can be the same as or different from the start point a and the end point d on the planned path.

[0136] It should be noted that the start point and the end point of the first Bezier curve in the above embodiments can be determined by the robot or the control device (for example, the control device determines the first Bezier curve and sends the first Bezier curve to the robot), and the embodiments of the present disclosure do not limit this.

[0137] In some examples, for the control points P1 and P2, the distance between the first Bezier curve control points P1 and P2 and the corresponding two-dimensional codes A and B can be determined according to the above formulas (5)-(7) based on the size of the robot 120, the size of the two-dimensional code A corresponding to the to-be-smoothed path point b, the size of the two-dimensional code B corresponding to the to-be-smoothed path point c, the size of the unit cell, the positions of the to-be-smoothed path points b and c, and the preset safety distance. Then, the position coordinates of the control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path points b and c. Thus, when the robot 120 travels along the first smoothed path generated based on the control points P1 and P2, the driving wheels of the robot 120 will not crush the two-dimensional codes A and B (the gray path in FIG. 10 represents the driving wheel track of the robot 120).

[0138] In step 420, the first smoothed path is determined according to the first Bezier curve control points.

[0139] In some embodiments, after the first Bezier curve control points are determined, the first smoothed path can be determined based on the position coordinates of the first Bezier curve control points and the determination formula of the n-order Bezier curve (for example, the above formula (1)).

[0140] In some examples, as shown in FIG. 9A, after determining the distance L between the first Bezier curve control points P1 and P2 and the to-be-smoothed path point b according to the above formula (3), the position coordinates of the first Bezier curve control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path point b. After obtaining the position coordinates of the first Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc line between the control points P0 and P3) can be obtained based on the determination formula of the n-order Bezier curve. Then, the first smooth path corresponding to the first arc line type in the first angle type can be obtained based on the Bezier curve and the path segments of the remaining part of the planned path (such as the path segment between the starting point a and the control point P0, and the path segment between the control point P3 and the ending point c).

[0141] The path planning method provided by the embodiments of the present disclosure can enable the robot to complete a 90-degree smooth turning during the process of driving from the starting point a to the ending point c through the first smooth path corresponding to the first arc line type, without the process of stopping, rotating in place, and starting at the turning point b, thereby improving the task execution efficiency, shortening the driving distance of the robot, reducing mechanical wear caused by sudden stopping and sudden turning, and prolonging the service life of the robot. Since the first smooth path corresponding to the first arc line type has a larger turning radius and a shorter path than the first smooth path corresponding to the second arc line type, the efficiency of the robot in executing tasks can be further improved.

[0142] In some examples, as shown in FIG. 9B, after determining the distance L between the first Bezier curve control points P1 and P2 and the to-be-smoothed path point b according to the above formula (4), the position coordinates of the first Bezier curve control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path point b. After obtaining the position coordinates of the first Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc line between the control points P0 and P3) can be obtained based on the determination formula of the n-order Bezier curve. Then, the first smooth path corresponding to the second arc line type in the first angle type can be obtained based on the Bezier curve and the path segments of the remaining part of the planned path (such as the path segment between the starting point a and the control point P0, and the path segment between the control point P3 and the ending point c).

[0143] The path planning method provided by the embodiments of the present disclosure can enable the robot to complete 90-degree smooth turning in the process of traveling from the starting point a to the ending point c through the first smooth path corresponding to the second arc type, without the process of stopping, rotating in place and starting at the inflection point b, thereby improving the task execution efficiency, shortening the travel distance of the robot, reducing mechanical wear caused by sudden stopping and sudden turning, and prolonging the service life of the robot. Since the first smooth path corresponding to the second arc type has a smaller turning radius than the first smooth path corresponding to the first arc type, the robot needs less space when turning, and is therefore more suitable for scenes with relatively narrow space or many obstacles.

[0144] In some examples, as shown in FIG. 10, after determining the distances L between the first Bezier curve control points P1 and P2 and the corresponding two-dimensional codes A and B respectively according to the above formulas (5)-(7), the position coordinates of the control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path points b and c. After obtaining the position coordinates of the first Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc between the control points P0 and P3) can be obtained based on the determination formula of the n-order Bezier curve, and then the first smooth path corresponding to the second angle type can be obtained based on the Bezier curve and the path segments of the remaining parts of the planned path (such as the path segment between the starting point a and the control point P0, and the path segment between the control point P3 and the ending point d).

[0145] The path planning method provided by the embodiments of the present disclosure can enable the robot to complete 180-degree smooth turning in the process of traveling from the starting point a to the ending point d, without the process of stopping, rotating in place and starting at the inflection points b and c, thereby improving the task execution efficiency, shortening the travel distance of the robot, reducing mechanical wear caused by sudden stopping and sudden turning, and prolonging the service life of the robot.

[0146] It should be noted that the first smooth paths corresponding to the first angle type and the second angle type are only examples, that is, the turning angles of the first smooth paths are not limited to 90 degrees and 180 degrees, and the curvatures of the arcs of the generated first smooth paths are not limited to the arc curvatures shown in FIGS. 9A, 9B or 10, that is, the path planning method provided by the embodiments of the present disclosure can adaptively adjust the turning angles of the first smooth paths and the curvatures of the arcs according to the to-be-executed tasks and the environmental conditions in the warehouse system.

[0147] It should be noted that in the first smooth path algorithm, in addition to using Bezier curves to determine the target smooth path (i.e., the first smooth path), B-spline curves, quintic curves, etc. can also be used to determine the target smooth path. The disclosed embodiments do not limit the type of the first smooth path algorithm, as long as the determined target smooth path achieves G1 smoothness (i.e., continuous path points and continuous angles).

[0148] In some examples, in addition to determining the target smooth path (ie, the first smooth path) based on the above-mentioned first smooth path algorithm, the embodiments of the present disclosure may also determine the target smooth path (ie, the second smooth path) based on a second smooth path algorithm.

[0149] The following describes a process of determining the second smooth path based on the second smooth path algorithm.

[0150] FIG11 is a flowchart of determining a second smooth path according to an embodiment of the present disclosure. As shown in FIG11 , step 220 may include steps 1110 to 1140 as shown below. The target smooth path algorithm includes a second smooth path algorithm, and the target smooth path includes the second smooth path.

[0151] Step 1110 , determining the curvature and / or angle of each path point in the planned path.

[0152] In some embodiments, the planned path may be discretized based on preset parameters such as position resolution, angle resolution, or interpolation granularity to obtain a plurality of path points corresponding to the planned path.

[0153] Exemplarily, the curvature and / or angle of each path point may be determined based on two path points adjacent to each path point on the left and right.

[0154] For example, the curvature of path point b can be solved by the three-point circle method or the like; for the angle θ of path point b k , the position coordinates of the two path points a and c adjacent to it are a(x k-1 ,y k-1 ) and c(x k+1 ,y k+1 ) can be calculated according to the inverse tangent formula atan((y k+1 -y k ) / ((x k+1 -x k )) Solve for the angle θ of path point b k The embodiments of the present disclosure do not limit the method for determining the curvature and / or angle of each path point in the planned path.

[0155] It should be noted that in the case that the planning path has a corresponding function expression (for example, a straight line, a standard circular arc, a standard elliptical arc, etc.), the curvature and angle of each path point can be determined by solving the function expression.

[0156] In step 1120, based on the curvature and / or angle of each path point in the planning path, the curvature jump point and / or the angle jump point are determined as the path point to be smoothed.

[0157] In some embodiments, after determining the curvature and / or angle of each path point on the planning path, the path point with a curvature and / or angle difference greater than a preset threshold (for example, curvature jump δκ, angle jump δθ) with the adjacent path point can be determined as the curvature jump point and / or the angle jump point based on the curvature and / or angle of each path point in the planning path. The curvature jump point and / or the angle jump point are the path points to be smoothed in the planning path.

[0158] In step 1130, the smoothing length is determined based on the preset safety distance, the obstacle position, and the deviation range from the initial path.

[0159] In some embodiments, the robot can determine the length of the path segment (i.e., the smoothing length) that needs to be smoothed in the planning path based on parameters such as the preset safety distance, the obstacle position, and the deviation range from the initial path. That is, the robot can select the corresponding smoothing path segment according to the smoothing length at the curvature jump point and / or the angle jump point, and perform smoothing processing on the smoothing path segment.

[0160] The preset safety distance can include a safety distance between the outer drive wheel of the robot and the identification code (such as a ground two-dimensional code or other navigation markers), so as to ensure that the drive wheel of the robot does not crush the identification code during driving, thereby avoiding unnecessary wear of the identification code. The preset safety distance can also include a safety distance between the outer drive wheel of the robot and the obstacle (such as a shelf, a staff, and other robots), so as to ensure that the drive wheel of the robot does not scratch or collide with the obstacle during driving, thereby avoiding damage to the robot or the obstacle.

[0161] The deviation range from the initial path represents the deviation range between the second smoothed path and the planning path after smoothing the planning path. Generally, the deviation between the second smoothed path and the planning path should not be too large, that is, the deviation range from the initial path can be set to a small numerical range. The specific value of the deviation range from the initial path is not limited in the embodiments of the present disclosure.

[0162] In step 1140, based on the smoothing length, the curvature jump point, and / or the angle jump point, a second smoothing path algorithm is used to determine the second smoothed path.

[0163] FIG. 12 is a flowchart of another method for determining a second smooth path according to an embodiment of the present disclosure. As shown in FIG. 12, the step 1140 can include steps 1210-1230 as shown below.

[0164] At step 1210, based on the length to be smoothed, a second smooth path algorithm is used to determine each path segment to be smoothed corresponding to each curvature jump point and / or angle jump point.

[0165] In some embodiments, after determining the length to be smoothed and each curvature jump point and / or angle jump point, each path segment to be smoothed corresponding to each curvature jump point and / or angle jump point can be determined first. That is, a path segment to be smoothed can be cut forward and backward at the curvature jump point and / or angle jump point according to the corresponding length to be smoothed. It should be noted that the length of the path segment to be smoothed is the length to be smoothed.

[0166] FIGS. 13A-13D are schematic diagrams of a method for determining a second smooth path according to an embodiment of the present disclosure.

[0167] As shown in FIG. 13A, taking the planning path a-b-c-d-e-f as an example, the planning path includes a starting point a (i.e., the starting point of the robot 120 performing the to-be-handled task), a turning point b, a turning point c, a turning point d, a turning point e, and an ending point f (i.e., the ending point of the robot 120 performing the to-be-handled task).

[0168] As shown in FIG. 13B, in the case where the curvature jump points and / or angle jump points in the planning path a-b-c-d-e-f include the turning points b, c, d, and e (i.e., including the path points to be smoothed b, c, d, and e), each path segment to be smoothed corresponding to each path point to be smoothed can be referred to the dashed line part shown in FIG. 13B. That is, the path segments to be smoothed include the path segment g-h corresponding to the path point to be smoothed b (i.e., the path segment between the points g and h), the path segment h-i corresponding to the path point to be smoothed c, the path segment j-k corresponding to the path point to be smoothed d, and the path segment m-n corresponding to the path point to be smoothed e.

[0169] At step 1220, a plurality of sub-smooth path segments corresponding to each path segment to be smoothed are determined.

[0170] In some embodiments, each path segment to be smoothed can be further divided into a plurality of sub-smooth path segments based on a second smooth path algorithm, so as to perform a smoothing process on the plurality of sub-smooth path segments, and then determine a second smooth path based on the plurality of sub-smooth path segments corresponding to each path segment to be smoothed. The second smooth path algorithm can include an Euler spiral generation algorithm, a Fermat spiral generation algorithm, etc.

[0171] In some examples, the second smoothing path algorithm is taken as an Euler spiral generation algorithm. Each to-be-smoothed path segment can be further divided into three sub-smoothed path segments. Based on the Euler spiral generation algorithm, an expression of a to-be-smoothed path segment is shown in formula (8):

[0172] wherein F(t) is the to-be-smoothed path segment, F1(t), F2(t), and F3(t) are the three sub-smoothed path segments.

[0173] In some examples, the three sub-smoothed path segments can be solved in two ways. In the first way, the start point and the end point of the to-be-smoothed path segment (for example, the start point g and the end point h of the to-be-smoothed path segment g-h) can be converted into normalized start point and end point; and then a standard method is used to solve the three-smoothed Euler spirals (i.e., the three sub-smoothed path segments) corresponding to the to-be-smoothed path segment.

[0174] Exemplarily, the process of solving the three sub-smoothed path segments by the first way is as follows: smooth_G2(x0, y0, θ0, k0, x1, y1, θ1, k1);

[0175] begin d x ←x1-x0;d y ←y1-y0; λ←d / 2;

[0176] for do

[0177] end

[0178] return S0,S1,S M ;

[0179] end

[0180] wherein (x0, y0) is the start point coordinate of the to-be-smoothed path segment (for example, the coordinate of the start point g of the to-be-smoothed path segment g-h), (x1, y1) is the end point coordinate of the to-be-smoothed path segment (for example, the coordinate of the end point h of the to-be-smoothed path segment g-h); θ0, k0 are the angle and curvature of the start point (for example, the angle and curvature of the start point g), and θ1, k1 are the angle and curvature of the end point (for example, the angle and curvature of the end point h).

[0181] wherein, is used to solve the three Euler spirals (i.e., the three sub-smoothed path segments) corresponding to the normalized start point state (-1, 0, θ0, k0) and the end point state (1, 0, θ1, k1).

[0182] In some examples, in the second way, a piece of Euler spiral corresponding to the normalized start state (-1, 0, θ0) and end state (1, 0, θ1) is solved first, and the angle of the start point is obtained Curvature k, curvature derivative k' and spiral length L; then estimate the initial state of s0, s1 in the three pieces of Euler spiral, and obtain the initial state of the intermediate piece of Euler spiral Then the final state s of the intermediate piece of Euler spiral is obtained according to Newton iteration M , Finally, the analytical parameters of the final three pieces of Euler spiral (i.e. three sub-smooth path pieces) are obtained.

[0183] Exemplarily, the process of solving three sub-smooth path pieces by the second way is as follows: clothStd(θ0, k0, θ1, k1):

[0184] begin

[0185] k,k',L←ClothoidG1(-1,0,θ0,1,0,θ1);

[0186] Δ max ←π;δ max ←π / 8;

[0187] s0,s1←L / 3;k A ←k;k B ←k+k';

[0188] t←|k0-k A | / (2δ max );if ts0<1then s0←1 / t

[0189] t←(|k0+k A |+s0k') / (2Δ max );if ts0<1then s0←1 / t

[0190] t←|k1-k B | / (2δ max );if ts1<1then s1←1 / t

[0191] t←|k1+k B |+s1k') / (2Δ max );if ts1<1then s1←1 / t

[0192] s0←ts0,s1←ts1

[0193] iteratively solving

[0194] get s M ,

[0195] K0←k0s0; K1←k1s1;

[0196] return S0,S1,S M ;

[0197] end

[0198] At step 1230, based on the plurality of sub-smooth path segments corresponding to each to-be-smoothed path segment, a second smooth path is determined.

[0199] In some embodiments, after the plurality of sub-smooth path segments corresponding to each to-be-smoothed path segment is determined, the plurality of sub-smooth path segments corresponding to each to-be-smoothed path segment can be spliced to obtain each smooth path segment corresponding to each to-be-smoothed path segment. Then, the smooth path segments are spliced with the path segments in the remaining part of the planned path, and a complete second smooth path can be obtained.

[0200] For example, as shown in FIG. 13C. Taking the to-be-smoothed path segment g-h (the dashed part in FIG. 13B) as an example, after the to-be-smoothed path segment g-h is processed based on the second smooth path algorithm, the three sub-smooth path segments obtained are: the sub-smooth path segment g-p, the sub-smooth path segment p-q, and the sub-smooth path segment q-h. In this case, after the three sub-smooth path segments are spliced, the smooth path segment g-h (the solid part) can be obtained.

[0201] As shown in FIG. 13D, the smooth path segments (solid parts) corresponding to the other to-be-smoothed path segments in FIG. 13B can be obtained in the same way: the smooth path segment h-i, the smooth path segment j-k, and the smooth path segment m-n. These smooth path segments are spliced with the path segments in the remaining part (for example, the path segment a-g, the path segment i-j, the path segment k-m, and the path segment n-f) in turn, and the second smooth path a-f (the solid part) can be obtained.

[0202] It should be noted that, in the second smooth path algorithm, in addition to using Euler spirals and Fermat spirals to determine the target smooth path, other ways can also be used to determine the target smooth path. The second smooth path algorithm is not limited in the embodiments of the present disclosure, and the determined target smooth path can reach G2 smoothness (i.e., the path points, angles, and curvatures are continuous).

[0203] In some embodiments, in a case that the second smooth path determined based on the length to be smoothed, the curvature jump points and / or the angle jump points by using the second smooth path algorithm does not satisfy any constraint condition, the length to be smoothed can be adjusted and optimized (for example, the length to be smoothed is increased or the length to be smoothed is shortened), so as to obtain an optimized length to be smoothed; then, the second smooth path corresponding to the planning path is determined by using the second smooth path algorithm based on the optimized length to be smoothed, the curvature jump points and / or the angle jump points in the same manner as in the above embodiments... and so on, until the second smooth path satisfying the constraint condition is obtained.

[0204] In some embodiments, in a case that the second smooth path cannot be determined based on the second smooth path algorithm and the constraint condition, the first smooth path can be determined by using the first smooth path algorithm based on the constraint condition and the positions of the path points to be smoothed on the planning path. For example, the first Bezier curve control points can be determined by using the first smooth path algorithm, and the first smooth path can be determined according to the first Bezier curve control points.

[0205] That is, in a case that the effective solution cannot be obtained based on the second smooth path algorithm and the constraint condition to determine the target smooth path (i.e., the second smooth path), the first smooth path algorithm with lower smoothness standard can be selected to determine the target smooth path (i.e., the first smooth path). The first smooth path algorithm can make the target smooth path achieve G1 smoothness, and the second smooth path algorithm can make the target smooth path achieve G2 smoothness.

[0206] In some examples, in addition to determining the target smooth path (i.e., the first smooth path and the second smooth path) based on the first smooth path algorithm and the second smooth path algorithm, the target smooth path (i.e., the third smooth path) can also be determined based on a third smooth path algorithm.

[0207] The process of determining the third smooth path based on the third smooth path algorithm is described below.

[0208] FIG. 14 is a flowchart of determining the third smooth path according to an embodiment of the present disclosure. As shown in FIG. 14, the step 220 can include the steps 1410 to 1420 shown below. The target smooth path algorithm includes the third smooth path algorithm, and the target smooth path includes the third smooth path.

[0209] In step 1410, the path to be smoothed corresponding to the planning path at the current time is determined based on the third smooth path algorithm and the preset safety distance.

[0210] In some embodiments, during the process that the robot smoothes the planning path and travels along the target smooth path, an obstacle (e.g., a robot, a staff, etc.) can appear on or near the planning path at a certain moment. That is, the robot can encounter an obstacle that has not appeared on or near the planning path before at a certain moment. Thus, the robot needs to adjust the travel path in real time according to the situation of the surrounding obstacles.

[0211] FIGS. 15A-15C are schematic diagrams of determining a third smooth path according to an embodiment of the present disclosure.

[0212] As shown in FIG. 15A, after the robot 120 receives the planning path a-b-c, an obstacle appears near the planning path at a certain moment when the robot travels along the planning path. If the robot 120 continues to travel along the planning path, a collision with the obstacle will occur (the gray solid line in FIG. 15A represents the motion trajectory formed by the driving wheels on both sides of the robot 120), so the robot needs to re-plan a travel path that can pass normally.

[0213] In some embodiments, the planning path can be discretized to obtain a plurality of path points, and a third smooth path algorithm and a preset safety distance are used to determine a to-be-smoothed path corresponding to the planning path at the current moment.

[0214] The preset safety distance can include a safety distance between the driving wheels on the outer side of the robot and a marker code (such as a ground two-dimensional code or a navigation marker), so as to ensure that the driving wheels of the robot do not crush the marker code during the travel process, thereby avoiding unnecessary wear of the marker code. The preset safety distance can also include a safety distance between the driving wheels on the outer side of the robot and the obstacle, so as to ensure that the driving wheels of the robot do not scratch or collide with the obstacle during the travel process, thereby avoiding damage to the robot or the obstacle.

[0215] In some examples, the smoothing problem of the planning path can be simplified in a transverse and longitudinal decoupling manner. For example, the planning path can be smoothed by using a Frenet coordinate system. In the Frenet coordinate system, the center line of the road is usually taken as a reference line, and a coordinate system is established using the tangent vector and the normal vector of the reference line.

[0216] FIG. 16 is a schematic diagram of a robot in a Cartesian coordinate system and a Frenet coordinate system according to an embodiment of the present disclosure.

[0217] As shown in FIG. 16, taking the coordinates of the center of mass of the robot 120 in the Cartesian coordinate system as (x, y), the projection of the position (x, y) of the robot 120 to the reference line T is obtained, and the projection point F is obtained. The distance between the point F and the position (x, y) of the robot 120 is the lateral displacement L (in the direction along the normal of the reference line); and the curve length between the starting point of the reference line and the projection point F is the longitudinal displacement S (in the direction along the reference line).

[0218] Based on the Frenet coordinate system, the position of the robot at each time can be decomposed in the L and S directions, thereby reducing the workload of the robot when processing the coordinate information in the travel path.

[0219] FIG. 17 is a schematic diagram of a conversion relationship between a Cartesian coordinate system and a Frenet coordinate system according to an embodiment of the present disclosure.

[0220] As shown in FIG. 17, the path mapping relationship from the Cartesian coordinate system to the Frenet coordinate system can refer to formulas (9)-(10): r (9)

[0221] Wherein, S is the longitudinal coordinate of the Frenet coordinate system, L is the lateral coordinate of the Frenet coordinate system, and θ is the direction of the reference line. r are the vectors of the reference point and the point to be converted in the Cartesian coordinate system, respectively, and the relationship between the two is: Wherein, is the normal direction vector of the reference line.

[0222] In some embodiments, according to the conversion relationship between the Cartesian coordinate system and the Frenet coordinate system obtained in the above embodiments, the position information of the obstacles and / or the two-dimensional codes can be mapped to the Frenet coordinate system, thereby constructing a passable area space. Wherein, the two-dimensional code and the obstacle are both non-passable areas.

[0223] In some examples, a dynamic programming algorithm can be used to sample and search the planning path in the above passable area space to obtain an initial effective path (i.e., a path to be smoothed), as the initial solution of the optimization problem. Wherein, the dynamic programming algorithm can refer to formula (11):

[0224] ​​wherein C(Si, k) represents the cost of the sampling point with longitudinal direction Si and lateral direction k in the Frenet coordinate system. The cost(k, j) represents the transition cost between two sampling points, which can be specifically referred to as shown in formula (12): cost(f) = w s · d safe +w Δyaw · Δ yaw + w l · Δ lateral; (12)

[0225] wherein d safe is a preset safety distance between the sampling point and the obstacle / two-dimensional code, w s is a weight thereof; Δ yaw is a longitudinal deviation from the planned path, w Δyaw is a weight thereof; Δ lateral is a lateral deviation from the planned path, w l is a weight thereof.

[0226] Through the above dynamic programming algorithm, the to-be-smoothed path can be obtained; meanwhile, in the process of sampling search, the convex space based on the to-be-smoothed path can be obtained, so as to reduce the calculation complexity of the subsequent smoothing processing of the to-be-smoothed path.

[0227] Exemplarily, continuing to refer to FIG. 15B, after the robot performs the related steps in the above process on the planned path a-b-c, the corresponding to-be-smoothed path a-d-e-c can be obtained. As can be seen, the to-be-smoothed path still needs further smoothing processing, so as to obtain the final smoothed path.

[0228] In step 1420, a third smoothed path corresponding to the to-be-smoothed path at the current time is determined based on a preset safety distance and a path curvature by using a third smoothed path algorithm.

[0229] In some embodiments, after the above to-be-smoothed path is obtained, the robot can determine a third smoothed path corresponding to the to-be-smoothed path at the current time based on a preset safety distance and a path curvature and the like by using a third smoothed path algorithm.

[0230] In some examples, the robot can construct KKT constraint conditions (i.e., Karush-Kuhn-Tucker Conditions) according to the to-be-smoothed path and the convex space obtained in the above dynamic programming search process. For example, the KKT constraint conditions can include a robot current position constraint, a terminal state constraint, a curvature constraint, an obstacle safety constraint and the like; meanwhile, a state transition equation and an objective cost function are established, and the to-be-smoothed path is iteratively optimized and solved, so as to finally obtain a smoothed path (i.e., the third smoothed path) satisfying the constraint conditions.

[0231] Exemplarily, the state transition equation can refer to formula (13) shown as follows: X(i+1) = AX(i) + Bu(i) + C; (13)

[0232] wherein, X = [l eθ k] T is the state of each path point on the path to be smoothed, l represents the lateral deviation, eθ represents the heading deviation, and k represents the current curvature. u = [dk] is the control quantity, dk represents the curvature rate of change, A, B, and C are time-varying matrices.

[0233] Exemplarily, the cost function can refer to formula (14) shown as follows: f(x) = ω l ·f(l) + ω k ·f(k) + ω dk ·f(dk) + ω s *f(slack); (14)

[0234] wherein, f(l) is the lateral deviation, ω l is the weight thereof; f(k) is the curvature size, ω k is the weight thereof; f(dk) is the curvature rate of change, ω dk is the weight thereof; f(slack) is the preset safety distance between the obstacle / two-dimensional code, ω s is the weight thereof. By constraining the curvature and the curvature rate of change, the effect of smoothing the path to be smoothed can be achieved.

[0235] Exemplarily, after the smoothing processing is performed on the path to be smoothed a-d-e-c shown in FIG. 15B, a possible third smoothed path a-d-e-c is obtained, as shown by the solid line portion in FIG. 15C. The robot 120 travels according to the third smoothed path, and does not crush the two-dimensional code or collide with the obstacle (the gray solid line in FIG. 15C represents the motion trajectory of the robot).

[0236] In some embodiments, in a case where the third smoothed path corresponding to the current time determined based on the preset safety distance and the path curvature does not satisfy the constraint condition, the robot can determine the path to be optimized corresponding to the current time of the third smoothed path based on the third smoothed path algorithm and the preset safety distance, and determine the third smoothed path corresponding to the current time of the path to be optimized based on the third smoothed path algorithm and the preset safety distance.

[0237] That is, in the case that the obtained third smooth path does not satisfy the constraint condition, the third smooth path algorithm can be used to continue to iteratively optimize the third smooth path. For example, the third smooth path is taken as the planning path, and the third smooth path corresponding to the to-be-optimized path (i.e., the to-be-smooth path corresponding to the planning path) at the current time is determined in the same principle, and the third smooth path corresponding to the to-be-optimized path at the current time is determined... and so on, until the third smooth path satisfying the constraint condition is obtained.

[0238] In step 230, the driving speed of each path point in the target smooth path is determined based on the curvature of each path point in the target smooth path.

[0239] In some embodiments, after obtaining the target smooth path (i.e., the first smooth path, the second smooth path, or the third smooth path), the target smooth path can be further speed planned, i.e., the driving speed of each path point in the target smooth path is determined. For example, the driving speed of each path point in the target smooth path can be determined based on the curvature of each path point in the target smooth path.

[0240] FIG. 18 is a flowchart of determining the driving speed of each path point in the target smooth path according to an embodiment of the present disclosure. As shown in FIG. 18, the above-mentioned step 230 can include steps 1810-1820 as shown below.

[0241] In step 1810, the driving speed of the first path point with the maximum curvature in the target smooth path is determined based on the curvature of each path point in the target smooth path.

[0242] In some embodiments, the curvature of each path point in the target smooth path can be determined first, and the path point with the maximum curvature (i.e., the first path point) in the target smooth path is determined, and then the driving speed of the first path point is determined.

[0243] In step 1820, the driving speed of the second path point in the target smooth path is determined based on the driving speed of the first path point.

[0244] In some embodiments, the driving speed of the second path point can be determined based on the driving speed of the first path point, the distance between the first path point and the second path point, and the acceleration of the target robot. The second path point is the remaining path point in the target smooth path except the first path point.

[0245] In step 240, the to-be-processed task is performed according to the target smooth path based on the driving speed of each path point in the target smooth path.

[0246] In some embodiments, in a case where the driving speeds of the path points in the target smooth path (including the driving speed of the first path point and the driving speed of the second path point) are determined, the target robot can perform the to-be-processed task according to the target smooth path based on the driving speeds of the path points in the target smooth path.

[0247] The path planning method provided by the embodiments of the present disclosure can ensure the dynamic stability of the robot when driving along the target smooth path, and avoid unstable operation caused by sharp changes in speed or direction. Moreover, the robot can complete the turning as soon as possible under the premise of ensuring the stability of the robot, thereby improving the efficiency of task execution.

[0248] FIG. 19 is a flowchart of another path planning method provided by the embodiments of the present disclosure. As shown in FIG. 19, the method includes the following steps 1910 to 1970.

[0249] Step 1910 receives a planning path sent by a control device.

[0250] In some embodiments, the control device can pre-plan a planning path corresponding to a to-be-processed task performed by a robot (such as a target robot), so that the target robot receives the planning path. The planning path generated by the control device only needs to be continuous in path points, and the angle and curvature thereof can be continuous or discontinuous.

[0251] It should be noted that the implementation of step 1910 can refer to the related embodiments of step 210 in FIG. 2, and details are not repeated here.

[0252] Step 1920 performs smooth processing on the planning path based on a target smoothing algorithm and a constraint condition.

[0253] In some embodiments, after the target robot obtains the planning path, the target robot can perform smooth processing on the planning path based on a target smoothing algorithm and a constraint condition. The target smoothing algorithm can include a first smoothing path algorithm, a second smoothing path algorithm, and a third smoothing path algorithm; and the constraint condition can include an obstacle position, a path curvature, a deviation from an initial path range, and a preset safety distance.

[0254] It should be noted that the implementation of step 1920 can refer to the related embodiments of step 220 in FIG. 2, and details are not repeated here.

[0255] Step 1930 obtains a target smooth path.

[0256] In some embodiments, the target robot can obtain a target smooth path after smoothing the planning path based on a target smooth algorithm and a constraint condition. The target smooth path can include a first smooth path, a second smooth path, and a third smooth path.

[0257] It should be noted that the implementation of step 1930 can refer to the related embodiments of step 220 in FIG. 2, and details are not repeated here.

[0258] In step 1940, it is determined whether the target smooth path meets the constraint condition.

[0259] In some embodiments, after determining the target smooth path, the robot can further determine whether the target smooth path meets the constraint condition. If the target smooth path does not meet the constraint condition, step 1950 is performed; if the target smooth path meets the constraint condition, step 1960 is performed.

[0260] In step 1950, for the second smooth path algorithm, the algorithm parameters are updated; for the third smooth path algorithm, the path points of the target smooth path are iteratively optimized.

[0261] In some embodiments, if the target smooth path does not meet the constraint condition, for the second smooth path algorithm, the smoothing length to be smoothed can be adjusted and optimized (such as increasing the smoothing length to be smoothed or shortening the smoothing length to be smoothed), so as to obtain an optimized smoothing length to be smoothed; then, based on the optimized smoothing length to be smoothed, the curvature jump point and / or the angle jump point, the second smooth path algorithm is used to determine the second smooth path corresponding to the planning path, and so on, until the second smooth path meeting the constraint condition is obtained.

[0262] For the third smooth path algorithm, the third smooth path can be iteratively optimized using the third smooth path algorithm. For example, the third smooth path is taken as the planning path, and the same principle is used to determine the third smooth path corresponding to the optimization path to be optimized (i.e., the smoothing path to be smoothed corresponding to the planning path) at the current time, and to determine the third smooth path corresponding to the optimization path to be optimized at the current time, and so on, until the third smooth path meeting the constraint condition is obtained.

[0263] It should be noted that the implementation of step 1950 can refer to the related embodiments of step 1230 in FIG. 12 or step 1420 in FIG. 14, and details are not repeated here.

[0264] In step 1960, the driving speed of each path point in the target smooth path is determined.

[0265] In some embodiments, the target robot can perform speed planning on the target smooth path, i.e., determine the driving speed of each path point in the target smooth path, in the case that the target smooth path satisfies the constraint condition. For example, the driving speed of each path point in the target smooth path can be determined based on the curvature of each path point in the target smooth path.

[0266] It should be noted that the implementation of step 1960 can refer to the related embodiments of step 230 in FIG. 2, and details are not repeated here.

[0267] In step 1970, the target robot performs the to-be-processed task according to the target smooth path based on the driving speed of each path point in the target smooth path.

[0268] In some embodiments, finally, the target robot performs the to-be-processed task according to the target smooth path based on the driving speed of each path point in the target smooth path, including the driving speed of the first path point and the driving speed of the second path point.

[0269] It should be noted that the implementation of step 1970 can refer to the related embodiments of step 240 in FIG. 2, and details are not repeated here.

[0270] The path planning method provided by the embodiments of the present disclosure can determine the constraint condition according to the actual environment in the warehouse system, and generate a smooth arc path (i.e., a target smooth path) based on the target smooth path algorithm (including a first smooth path algorithm, a second smooth path algorithm, and a third smooth path algorithm) and the constraint condition, so that the robot can change the driving direction in a more narrow space and change the driving direction more smoothly and efficiently, thereby improving the space utilization and task execution efficiency of the warehouse system.

[0271] Moreover, generating a smooth arc path based on the constraint condition can avoid the phenomenon that the robot collides with obstacles, interferes with obstacles, or damages ground navigation markers (e.g., ground two-dimensional codes) during driving;

[0272] Secondly, the robot can autonomously plan a smooth arc path without the need for the control system to smooth the path. The robot can also determine the driving speed of each path point in the target smooth path based on the curvature of each path point in the target smooth path, so that the robot can perform the to-be-processed task according to the target smooth path at the optimal speed, thereby further improving the task execution efficiency of the robot.

[0273] In addition, the embodiments of the present disclosure can also avoid the vibration and impact caused by sharp turns, reduce the wear and tear of the mechanical system of the robot, and prolong the service life of the robot.

[0274] In some examples, in the case that the storage density of the warehouse system is high, and the aisle formed between adjacent shelves is narrow, when a robot (such as the target robot) drives in the aisle and needs to change the driving direction (such as turning around or turning a corner), the robot needs to first rotate in place to change the orientation of the robot before changing the driving direction. However, the robot rotating in place in a narrow space is prone to collision with surrounding shelves and other objects, and the efficiency of rotating in place is usually low. At the same time, during the driving of the robot according to the planned path, if there is another blocking robot in the planned path, and the robot continues to drive according to the planned path, a collision with the blocking robot may occur; in the case that the robot waits in place until the blocking robot leaves, road congestion may occur.

[0275] To solve the above problems, the path planning method provided by the embodiments of the present disclosure can determine the constraint condition according to the actual environment in the warehouse system, and generate a smooth arc path (i.e., the first smooth path or the fourth smooth path) based on the target smooth path algorithm and the constraint condition, so that the target robot can make a smooth turn or turn, improve the space utilization and task execution efficiency of the warehouse system; it can also avoid the vibration and impact caused by sharp turns, reduce the wear and tear of the mechanical system of the robot, and prolong the service life of the robot. At the same time, the driving path of the target robot can be dynamically adjusted when there is a first blocking robot on the first smooth path of the target robot, and the first waiting time of the target robot on the first smooth path is greater than the preset waiting time, and the target robot continues to drive based on the fourth smooth path, thereby avoiding the collision between the target robot and the first blocking robot when the target robot drives based on the first smooth path, and further improving the efficiency of the target robot in executing tasks.

[0276] FIG. 20 is a flowchart of another path planning method provided by the embodiments of the present disclosure. The path planning method shown in FIG. 20 can be implemented by the control device 110 in the warehouse system 100 of the above-mentioned embodiments. As shown in FIG. 20, the path planning method can include the following steps 2010 to 2040.

[0277] Step 2010, determining a planned path corresponding to a to-be-handled task to be executed by a target robot.

[0278] In some embodiments, the control device can preliminarily plan a driving path (i.e., a planned path) based on the to-be-handled tasks to be executed by each robot in the warehouse system and the environment of the warehouse system (for example: obstacle position, ground navigation marker position, etc.).

[0279] The to-be-processed task can include a sorting task, a picking task, an in-out warehouse task, etc. The obstacle can include an object at a fixed position in the warehouse system, or a movable object or personnel in the warehouse system. For example, the obstacle can include a shelf, a worker, or other robots, etc.

[0280] In some embodiments, the target robot can be any robot in the warehouse system. The control device can determine the start point and the end point based on the to-be-processed task to be performed by the target robot and the current position of the target robot, and determine the planning path corresponding to the to-be-processed task performed by the target robot according to the start point and the end point.

[0281] In some examples, the control device can determine a to-be-smoothed path point (i.e., an inflection point) in the planning path determined for the target robot based on the start point and the end point. For example, when the target robot needs to turn or U-turn when traveling from the start point to the end point, the to-be-smoothed path point refers to the path point at which the target robot turns. The number of to-be-smoothed path points corresponding to one planning path can be one or multiple, which is not limited in the embodiments of the present disclosure.

[0282] For example, the planning path generated by the control device can include the start point, the end point, and the inflection point corresponding to the to-be-processed task. The angle and curvature of the planning path can be continuous or discontinuous, which is not limited in the embodiments of the present disclosure.

[0283] FIG. 21 is a schematic diagram of another planning path provided by the embodiments of the present disclosure.

[0284] As shown in FIG. 21, taking the start point of the to-be-processed task as the start point a and the end point as the end point c, the planning path generated by the control device can be path a-b-c, wherein the planning path a-b-c includes the start point a, the to-be-smoothed path point b (i.e., the inflection point b), and the end point c.

[0285] Referring to FIG. 22, another planning path provided by the embodiments of the present disclosure is shown.

[0286] As shown in FIG. 22, taking the start point of the to-be-processed task as the start point a and the end point as the end point d, the planning path generated by the control device can be path a-b-c-d, wherein the planning path a-b-c-d includes the start point a, the to-be-smoothed path point b (i.e., the inflection point b), the to-be-smoothed path point c (i.e., the inflection point c), and the end point d.

[0287] In step 2020, in the case that the planning path includes at least one to-be-smoothed path point, the planning path is processed based on the first smoothing path algorithm and the constraint condition to obtain a first smoothed path.

[0288] In some embodiments, the planning path is a non-smooth path if there is a turning point (i.e., a path point to be smoothed) in the planning path. In this case, the control device can smooth the planning path based on the first smoothing path algorithm and the constraint condition, so as to obtain a first smoothing path, so that the target robot can smoothly turn or U-turn when driving according to the first smoothing path.

[0289] The constraint condition can include a preset safety distance, which can be a safety distance between the target robot and a ground navigation marker (e.g., a ground two-dimensional code) or an obstacle (e.g., a shelf, a staff, or another robot, etc.).

[0290] It should be noted that the first smoothing path determined in step 2020 is the same as the first smoothing path determined in steps 410 to 420 in the above embodiments (i.e., the target smoothing path is the first smoothing path), and the determination process is similar. To avoid repetition, it will not be described here. After determining the first smoothing path, the following step 2030 is executed to determine a fourth smoothing path.

[0291] In step 2030, if there is a first blocking robot on the first smoothing path, and the first waiting time length of the target robot on the first smoothing path is greater than the preset waiting time length, the planning path is processed based on the driving environment of the target robot, a fourth smoothing path algorithm, and a constraint condition to obtain a fourth smoothing path.

[0292] In some embodiments, after the control device obtains the first smoothing path corresponding to the 90-degree large arc type, it can further determine whether there is another robot (i.e., a first blocking robot) on the first smoothing path. In the absence of the first blocking robot, the control device can control the target robot to drive based on the first smoothing path corresponding to the 90-degree large arc type, and perform the to-be-processed task.

[0293] In some examples, the driving environment of the target robot can include the driving road width of the target robot. In the case where the driving road width of the target robot is greater than or equal to a preset width (e.g., the driving road of the target robot is relatively empty), and there is a first blocking robot, the control device can further determine the cost of the target robot driving according to the first smoothing path. For example, in the case where the cost of the target robot driving according to the first smoothing path corresponding to the 90-degree large arc type is low, the target robot continues to drive according to the first smoothing path corresponding to the 90-degree large arc type; in the case where the cost of the target robot driving according to the first smoothing path corresponding to the 90-degree large arc type is high, the control device can re-plan a new smoothing path (i.e., a fourth smoothing path) for the target robot.

[0294] In some embodiments, in the presence of the first blocking robot, the control device can determine a first waiting duration of the target robot on the first smooth path corresponding to the 90-degree large arc type, and determine whether the travel path of the target robot needs to be re-planned based on a size relationship between the first waiting duration and the preset waiting duration.

[0295] In some examples, the first waiting duration of the target robot on the first smooth path corresponding to the 90-degree large arc type can be determined based on a stay duration (i.e., first stay duration) of the first blocking robot at the current position and / or a duration (i.e., first travel duration) of the target robot traveling to the current position of the first blocking robot. For example, the first waiting duration can be determined based on a difference between the first stay duration and the first travel duration, and the first waiting duration can be 0 or a value greater than 0.

[0296] In some examples, in the case where the first travel duration is less than the first stay duration, it indicates that the target robot arrives at the current position of the first blocking robot when the first blocking robot is still staying there. At this time, if the target robot still travels based on the first smooth path corresponding to the 90-degree large arc type, a collision with the first blocking robot will occur. That is, before the first blocking robot leaves, the target robot has already traveled to the current position of the first blocking robot (i.e., when the target robot travels to the current position of the first blocking robot, the first blocking robot has not left), and thus a collision with the first blocking robot will occur.

[0297] FIG. 23 is a schematic diagram of a first smooth path corresponding to a first arc type in the presence of a first blocking robot according to an embodiment of the present disclosure.

[0298] As shown in FIG. 23, taking the presence of the first blocking robot 130 on the first smooth path a-c as an example. In the process of the target robot 120 traveling according to the first smooth path a-c, in the case where a first travel duration of the target robot 120 traveling to the current position of the first blocking robot 130 is less than a first stay duration of the first blocking robot 130 at the current position, the target robot 120 will collide with the first blocking robot 130.

[0299] In some examples, in the case where the target robot will collide with the first blocking robot when traveling according to the first smooth path corresponding to the 90-degree large arc, the first smooth path can be dynamically adjusted to ensure that the target robot can travel according to a smooth path with a lower cost. In order to ensure that the cost after adjusting the smooth path is lower, a preset waiting duration can be set, which can be a pre-set allowed waiting duration.

[0300] Exemplarily, the control device can estimate the first waiting duration, and compare the first waiting duration with the preset waiting duration.

[0301] In some examples, if the first waiting duration is greater than the preset waiting duration, it indicates that the first blocking robot has not left the current position after the target robot travels to the current position of the first blocking robot and waits for the preset waiting duration, and the control device can re-plan the arc path of the target robot. That is, the control device can dynamically adjust the arc path of the target robot when the cost of the arc path is high, so as to select a more suitable arc path (such as a path with lower cost) for the target robot, so as to further improve the task execution efficiency of the target robot.

[0302] In yet other examples, if the first waiting duration is less than or equal to the preset waiting duration, it indicates that the first blocking robot has left or is about to leave the current position after the target robot waits for the first waiting duration, and it is not necessary to adjust the smooth path of the target robot. That is, at this time, the control device controls the target robot to wait for the first waiting duration, and controls the target robot to continue to travel based on the first smooth path corresponding to the 90-degree large arc type.

[0303] Exemplarily, the preset waiting duration represents the duration allowed for the target robot to wait, and the preset waiting duration can be 0 or a value greater than 0. The present embodiment does not limit the value of the preset waiting duration, and the value of the preset waiting duration is related to the difference between the duration of the target robot traveling according to different paths and the duration of the target robot executing the to-be-processed task.

[0304] For example, in the case where the preset waiting duration is 0, the target robot is not allowed to wait for the first blocking robot, and at this time, if the first travel duration of the target robot is less than the first stay duration of the first blocking robot, the control device can process the planned path based on the fourth smooth path algorithm and the constraint condition to obtain the fourth smooth path. That is, when the first travel duration is less than the first stay duration, the control device dynamically adjusts the smooth path of the target robot.

[0305] In some examples, in the case where the first travel duration is greater than or equal to the first stay duration, it indicates that the first blocking robot has left or is about to leave when the target robot arrives at the current position of the first blocking robot, and the target robot will not collide with the first blocking robot when traveling based on the first smooth path corresponding to the 90-degree large arc type. That is, when the target robot travels to the current position of the first blocking robot, the first blocking robot has left, so that the target robot will not collide with the first blocking robot.

[0306] With reference back to FIG. 23, in a case where the first travel duration of the target robot 120 to the current position of the first blocking robot 130 is greater than or equal to the first stay duration of the first blocking robot 130 at the current position, the target robot 120 will not collide with the first blocking robot 130. In this case, the control device can not control the target robot to stay for a preset waiting duration, and does not need to re-plan the arc path of the target robot, but only needs to control the target robot to continue traveling based on the first smooth path.

[0307] In some embodiments, in a case where there is no first blocking robot on the first smooth path corresponding to the 90-degree large arc type, or the first waiting duration of the target robot on the first smooth path corresponding to the 90-degree large arc type is less than or equal to the preset waiting duration, the control device can control the target robot to travel based on the first smooth path corresponding to the 90-degree large arc type, and perform the to-be-handled task.

[0308] In some embodiments, in a case where the first waiting duration of the target robot on the first smooth path corresponding to the 90-degree large arc type is greater than the preset waiting duration, the control device can re-plan the arc path of the target robot based on the above-mentioned planned path.

[0309] FIG. 24 is a flowchart of determining a fourth smooth path corresponding to a second arc type according to an embodiment of the present disclosure. As shown in FIG. 24, the above-mentioned step 2030 can include steps 2410 to 2430 as shown below.

[0310] Step 2410, in a case where there is a first blocking robot on the first smooth path, and the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, and the travel road width of the target robot is greater than or equal to the preset width, the size of a unit cell is obtained.

[0311] In some examples, in a case where there is a first blocking robot on the first smooth path, and the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, the control device can further determine the travel environment of the target robot. In a case where the target robot travels in an open space in the warehouse system, the control device can change the arc type when dynamically adjusting the arc path of the robot. That is, in a case where the travel road width of the target robot is greater than or equal to the preset width, the control device can obtain the size of a unit cell, and determine the Bezier curve control point based on the size of the unit cell, the position of each to-be-smoothed path point, and the preset safety distance, using a smooth path algorithm corresponding to a 90-degree small arc type.

[0312] Among them, the preset safety distance may include the safety distance between the outer driving wheel of the target robot and the identification code (such as a navigation mark such as a ground QR code), so as to ensure that the driving wheel of the target robot will not run over the identification code during driving, so as to avoid unnecessary wear and tear on the identification code.

[0313] Step 2420 : Based on the size of the cell, the position of each path point to be smoothed, and the constraint conditions, a smoothing path algorithm corresponding to the second arc type is used to determine the control points of the second Bezier curve.

[0314] In some examples, the second Bezier curve control points corresponding to the second arc type (i.e., a small 90-degree arc) can be determined according to formula (15):

[0315] Wherein, L is the distance between the second Bezier curve control point and the identification code corresponding to the path point to be smoothed, and X is the length of the cell.

[0316] FIG25 is a schematic diagram of determining the control points of a second Bezier curve using a smooth path algorithm corresponding to a second arc type, provided by an embodiment of the present disclosure.

[0317] As shown in Figure 25, the control device can first determine the positions of control points P0 and P3, and then determine the positions of two second Bezier curve control points P1 and P2. Control points P0 and P3 are the starting point and end point of the Bezier curve, respectively. Control points P0 and P3 can be the same as or different from the starting point a and end point c on the planned path.

[0318] For the second Bezier curve control points P1 and P2, the control device can determine the distance between the second Bezier curve control points P1 and P2 and the path point b to be smoothed according to the above formula (15) based on the size of the cell, the position of the path point b to be smoothed, and the preset safety distance. Furthermore, the position coordinates of the second Bezier curve control points P1 and P2 can be determined based on the position coordinates of the path point b to be smoothed. This ensures that when the target robot 120 travels along the fourth smooth path generated based on the second Bezier curve control points P1 and P2, its drive wheels will not run over the QR code A (the gray path in FIG. 25 represents the trajectory of the drive wheels of the target robot 120).

[0319] Step 2430: Determine a fourth smooth path based on the second Bezier curve control points.

[0320] In some examples, as shown in FIG. 25, after determining the distance L between the second Bezier curve control points P1 and P2 and the to-be-smoothed path point b according to the above formula (15), the position coordinates of the second Bezier curve control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path point b. After obtaining the position coordinates of the second Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc between the control points P0 and P3) can be obtained based on the determination formula of the above third-order Bezier curve, and then the fourth smoothed path a-c corresponding to the 90-degree small arc type can be obtained based on the Bezier curve and the path segments of the remaining part of the planned path (such as the path segment between the starting point a and the control point P0, and the path segment between the control point P3 and the ending point c).

[0321] The path planning method provided by the embodiments of the present disclosure can be used in the case where the target robot travels on an open road (such as a non-lane road). In this case, the control device can preferentially determine a 90-degree large arc path (i.e., the first smoothed path) for the target robot based on the arc type being 90 degrees. In the case where traveling along the 90-degree large arc path will collide with other robots and the cost of traveling along the 90-degree large arc path is relatively high, a 90-degree small arc path (i.e., the fourth smoothed path) can be determined for the target robot. The target robot can complete a 90-degree smooth turning during the process of traveling from the starting point to the ending point of the 90-degree small arc path, without the process of stopping, rotating in place, and starting at the turning point, thereby improving the task execution efficiency, shortening the travel distance of the robot, reducing the mechanical wear caused by sudden stopping and sudden turning, and prolonging the service life of the robot. Moreover, the turning radius required by the 90-degree small arc path is smaller, so that the space required by the robot during turning is smaller, avoiding the collision between the robot and the surrounding shelves during the process of traveling along the arc path.

[0322] In step 2040, the target robot is controlled to perform the to-be-handled task based on the fourth smoothed path.

[0323] In some embodiments, after the control device obtains the fourth smoothed path corresponding to the 90-degree small arc type, the control device can further determine whether there is a blocking robot (which can be the same robot as the above first blocking robot, or can be a different robot) on the fourth smoothed path. In the case where there is no blocking robot, the control device can control the target robot to travel based on the fourth smoothed path corresponding to the 90-degree small arc type, and perform the to-be-handled task.

[0324] In some examples, in a case where the blocking robot still exists on the fourth smooth path and the second waiting duration of the target robot on the fourth smooth path is less than or equal to the preset waiting duration, the control device can control the target robot to continue to travel based on the fourth smooth path and perform the to-be-processed task after waiting for the second waiting duration; in a case where the second waiting duration of the target robot on the fourth smooth path is greater than or equal to the preset waiting duration, the control device can re-plan the arc path of the target robot.

[0325] The path planning method provided by the embodiments of the present disclosure can process the planned path based on the smooth path algorithm and the constraint condition corresponding to the 90-degree large arc type, to obtain the first smooth path corresponding to the 90-degree large arc type, in a case where the target robot travels on an open road (such as a non-lane road). The control device can control the target robot to perform the to-be-processed task based on the first smooth path corresponding to the 90-degree large arc type, in a case where there is no first blocking robot on the first smooth path corresponding to the 90-degree large arc type, or the first waiting duration of the target robot is less than or equal to the preset waiting duration.

[0326] In addition, in a case where there is a first blocking robot on the first smooth path corresponding to the 90-degree large arc type, and the first waiting duration of the target robot is greater than the preset waiting duration, the planned path is processed based on the fourth smooth path algorithm and the constraint condition corresponding to the 90-degree small arc type, to obtain the fourth smooth path corresponding to the 90-degree small arc type, and the target robot is controlled to perform the to-be-processed task based on the fourth smooth path corresponding to the 90-degree small arc type. Therefore, in a case where the target robot travels based on the first smooth path corresponding to the 90-degree large arc type will collide with the first blocking robot or the travel cost is high, the travel path of the target robot is dynamically scheduled, that is, the fourth smooth path corresponding to the 90-degree small arc type is re-planned, and the target robot is controlled to perform the to-be-processed task based on the fourth smooth path corresponding to the 90-degree small arc type, to avoid the target robot from colliding with the first blocking robot, and to ensure that the target robot can still perform smooth turning while traveling at a relatively low travel cost. That is, the present disclosure can dynamically adjust the arc path of the target robot according to the positions and road conditions of the robots in the warehouse system, fully utilize the advantages of the arc, and ensure that the robot travels along the arc path at a high efficiency.

[0327] In some examples, the above embodiments describe the case where the first blocking robot exists on the first smooth path corresponding to the first arc type (90-degree large arc type) and the second arc type (90-degree small arc type), respectively. The case where the first blocking robot exists on the first smooth path corresponding to the third arc type (180-degree arc type) is described below. It should be noted that the determination process of the first smooth path corresponding to the third arc type has been described in the above embodiments (step 410), and thus will not be described again here to avoid repetition.

[0328] In some embodiments, in the case where the target robot travels on an open road (such as a non-lane road), after the control device obtains the first smooth path corresponding to the 180-degree arc type, the control device can further determine whether there is another robot (i.e., the first blocking robot) on the first smooth path.

[0329] In some examples, in the case where there is no first blocking robot on the first smooth path corresponding to the 180-degree arc type, the control device can control the target robot to travel based on the first smooth path corresponding to the 180-degree arc type and perform the to-be-handled task. In the case where there is a first blocking robot on the first smooth path corresponding to the 180-degree arc type, the control device further determines the cost of the target robot traveling according to the first smooth path corresponding to the 180-degree arc type. If the cost of the target robot traveling according to the first smooth path corresponding to the 180-degree arc type is low, the target robot continues to travel according to the first smooth path corresponding to the 180-degree arc type. If the cost of the target robot traveling according to the first smooth path corresponding to the 180-degree arc type is high, the control device can re-plan a new smooth path (i.e., a fourth smooth path) for the target robot.

[0330] In some embodiments, in the case where there is a first blocking robot on the first smooth path corresponding to the 180-degree arc type, the control device can determine a first waiting duration of the target robot on the first smooth path corresponding to the 180-degree arc type, and thus determine whether the travel path of the target robot needs to be dynamically scheduled based on the size relationship between the first waiting duration and a preset waiting duration.

[0331] In some examples, in the case where the first waiting duration of the target robot is less than or equal to the preset waiting duration, the control device can control the target robot to continue to travel based on the first smooth path corresponding to the 180-degree arc type. In the case where the first waiting duration of the target robot is greater than the preset waiting duration, the control device can dynamically schedule the arc path of the target robot.

[0332] FIG. 26 is a schematic diagram of a first smooth path corresponding to a third arc type in the case where there is a first blocking robot, according to an embodiment of the present disclosure.

[0333] As shown in FIG. 26, taking the existence of the first blocking robot 130 on the first smooth path a-d as an example. It can be seen that, in the process of the target robot 120 driving along the first smooth path a-d, in the case that the first waiting time length of the target robot 120 is greater than the preset waiting time length, the cost of the target robot 120 driving along the first smooth path a-d will be higher; and in the case that the first waiting time length of the target robot 120 is less than or equal to the preset waiting time length, the target robot 120 driving along the first smooth path a-d will not collide with the first blocking robot 130.

[0334] In some embodiments, in the case that there is no first blocking robot on the first smooth path corresponding to the 180-degree arc line type, or the first waiting time length of the target robot is less than or equal to the preset waiting time length, the control device can control the target robot to continue driving based on the first smooth path corresponding to the 180-degree arc line type, and perform the to-be-handled task.

[0335] FIG. 27 is a flowchart of determining a fourth smooth path corresponding to a first arc line type according to an embodiment of the present disclosure. As shown in FIG. 27, in the case that the smooth angle type is the second angle type, the above step 2030 can include steps 2710 to 2740 as shown below.

[0336] Step 2710, in the case that there is a first blocking robot on the first smooth path, and the first waiting time length of the target robot on the first smooth path is greater than the preset waiting time length, and the driving road width of the target robot is greater than or equal to the preset width, a target smooth path point is determined from at least one to-be-smoothed path point according to the position of the first blocking robot.

[0337] In some embodiments, in the case that the first waiting time length of the target robot on the first smooth path corresponding to the 180-degree arc line type is greater than the preset waiting time length, the driving environment of the target robot can be further determined. If the target robot drives on an empty road in the warehouse system, the control device can first determine the position of the first blocking robot on the first smooth path corresponding to the 180-degree arc line type, and determine a target smooth path point from at least one to-be-smoothed path point according to the position of the first blocking robot.

[0338] FIG. 28A is a schematic diagram of the existence of a first blocking robot on a first smooth path corresponding to another third arc line type according to an embodiment of the present disclosure.

[0339] As shown in FIG. 28A, where point f represents the current position of the first blocking robot 130 (the point can be the center point of the first blocking robot 130). As can be seen, the first blocking robot 130 is currently located on the right side of the inflection point e of the first smooth path a-d (the inflection point is the midpoint of the arc path P0-P3), that is, on the right path segment e-d. In this case, the to-be-smoothed path point b can be determined as the target smooth path point, and when generating the arc path of a-c based on the target smooth path point b, the position point f of the first blocking robot 130 can be bypassed.

[0340] Referring to FIG. 28B, another schematic diagram of the first blocking robot existing on the first smooth path corresponding to a third arc type is provided by an embodiment of the present disclosure.

[0341] As shown in FIG. 28B, where point g represents the current position of the first blocking robot 130 (the point can be the center point of the first blocking robot 130). As can be seen, the first blocking robot 130 is currently located on the left side of the inflection point e of the first smooth path a-d (the inflection point is the midpoint of the arc path P0-P3), that is, on the left path segment a-e. In this case, the to-be-smoothed path point c can be determined as the target smooth path point, and when generating the arc path of b-d based on the target smooth path point c, the position point g of the first blocking robot 130 can be bypassed.

[0342] The path planning method provided by the embodiment of the present disclosure can combine the positional relationship between the first blocking robot and the midpoint of the first smooth path when determining the target smooth path point from among the plurality of to-be-smoothed path points, generate a relatively optimal arc path based on the principle of being able to bypass the position of the blocking robot, and ensure that the target robot has a relatively low cost when traveling along the arc path, thereby further improving the efficiency of the target robot in performing a task.

[0343] In step 2720, the size of the target robot, the size of the identification code corresponding to the target smooth path point, and the size of the unit cell are obtained.

[0344] In some embodiments, in the case that the target robot travels along the first smooth path corresponding to the 180-degree arc type and collides with the first blocking robot, the control device can preferentially select the fourth smooth path corresponding to the 90-degree large arc type as a suboptimal travel path. That is, the smooth path algorithm and constraint conditions corresponding to the 90-degree large arc type are preferentially used to process the planned path, and the fourth smooth path corresponding to the 90-degree large arc type is obtained.

[0345] In some examples, the control device can acquire the size of the target robot, the size of the identification code corresponding to the target smooth path point, and the size of the cell, and determine the third Bezier curve control point based on the size of the target robot, the size of the identification code corresponding to the target smooth path point, the size of the cell, the position of the target smooth path point, and the preset safety distance, using a smooth path algorithm corresponding to the 90-degree large arc line type.

[0346] FIG. 29A is a schematic view of determining a fourth smooth path corresponding to a first arc line type according to an embodiment of the present disclosure.

[0347] As shown in FIG. 29A, in the case that the first blocking robot 130 is located on the right side of the inflection point e in the first smooth path a-d corresponding to the 180-degree arc line type, the control device can acquire the size of the target robot 120, the size of the two-dimensional code A corresponding to the target smooth path point b, and the size of the cell.

[0348] FIG. 29B is another schematic view of determining a fourth smooth path corresponding to a first arc line type according to an embodiment of the present disclosure.

[0349] As shown in FIG. 29B, in the case that the first blocking robot 130 is located on the left side of the inflection point e in the first smooth path a-d corresponding to the 180-degree arc line type, the control device can acquire the size of the target robot 120, the size of the two-dimensional code B corresponding to the target smooth path point c, and the size of the cell.

[0350] It should be noted that the implementation of step 2720 can refer to the implementation of step 410 described above, which will not be repeated here.

[0351] In step 2730, the third Bezier curve control point is determined based on the size of the target robot, the size of the identification code corresponding to the target smooth path point, the size of the cell, the position of each target smooth path point, and the preset safety distance, using a smooth path algorithm corresponding to the first arc line type.

[0352] In some embodiments, the third Bezier curve control point corresponding to the 90-degree large arc line type can be determined according to the above formula (3).

[0353] For example, as shown in FIG. 29A, in the case that the first blocking robot 130 is located on the right side of the inflection point e in the first smooth path a-d, the control device can first determine the positions of the control points P0 and P3 based on the planned path a-b-c-d, and then determine the positions of the two third Bezier curve control points P1 and P2. The control points P0 and P3 are the starting point and the ending point of the Bezier curve, respectively.

[0354] For the third Bezier curve control points P1 and P2, the control device can determine the distance between the third Bezier curve control points P1 and P2 and the target smooth path point b according to the above formula (3) based on the size of the target robot 120, the size of the two-dimensional code A corresponding to the target smooth path point b, the size of the unit cell, the position of the target smooth path point b, and the preset safety distance, and then determine the position coordinates of the third Bezier curve control points P1 and P2 based on the position coordinates of the target smooth path point b. Thus, it can be ensured that the driving wheels of the target robot 120 will not crush the two-dimensional code A when the target robot 120 travels along the smooth path generated based on the third Bezier curve control points P1 and P2.

[0355] For example, as shown in FIG. 29B, in the case where the first blocking robot 130 is located to the left of the inflection point e in the above first smooth path a-d, similarly, the control device can first determine the positions of the control points P0 and P3 based on the planned path a-b-c-d, and then determine the positions of the two third Bezier curve control points P1 and P2. The control points P0 and P3 are the starting point and the ending point of the Bezier curve, respectively.

[0356] In some examples, for the third Bezier curve control points P1 and P2, the control device can determine the distance between the third Bezier curve control points P1 and P2 and the target smooth path point c according to the above formula (3) based on the size of the target robot 120, the size of the two-dimensional code B corresponding to the target smooth path point c, the size of the unit cell, the position of the target smooth path point c, and the preset safety distance, and then determine the position coordinates of the third Bezier curve control points P1 and P2 based on the position coordinates of the target smooth path point c. Thus, it can be ensured that the driving wheels of the target robot 120 will not crush the two-dimensional code B when the target robot 120 travels along the smooth path generated based on the third Bezier curve control points P1 and P2.

[0357] It should be noted that the implementation of step 2730 can refer to the implementation of step 410 described above, and will not be described here.

[0358] In step 2740, a fourth smooth path is determined according to the third Bezier curve control points.

[0359] In some embodiments, after determining the above third Bezier curve control points, the control device can determine the first smooth path based on the position coordinates of the third Bezier curve control points and the determination formula of the n-order Bezier curve (such as the above formula (1)).

[0360] In some examples, as shown in FIG. 29A, after determining the distance L between the third Bezier curve control points P1 and P2 and the target smooth path point b according to the above formula (3), the position coordinates of the third Bezier curve control points P1 and P2 can be determined based on the position coordinates of the target smooth path point b. After obtaining the position coordinates of the first Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc between the control points P0 and P3) can be obtained based on the determination formula of the above third-order Bezier curve, i.e., the fourth smooth path a-c corresponding to the 90-degree large arc type. In this way, the robot can travel along the path a-c to the path point c and rotate in place at the path point c before traveling along the path c-d to bypass the first blocking robot 130.

[0361] In some examples, as shown in FIG. 29B, after determining the distance L between the third Bezier curve control points P1 and P2 and the target smooth path point c according to the above formula (3), the position coordinates of the third Bezier curve control points P1 and P2 can be determined based on the position coordinates of the target smooth path point c. After obtaining the position coordinates of the first Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc between the control points P0 and P3) can be obtained based on the determination formula of the above third-order Bezier curve, i.e., the fourth smooth path b-d corresponding to the 90-degree large arc type. In this way, the robot can travel along the path a-b and rotate in place at the path point b before traveling along the smooth path b-d to bypass the first blocking robot 130.

[0362] That is, in the case of an arc type of 180 degrees, the target robot is determined to have a 180-degree arc path (i.e., the first smooth path), and if traveling along the 180-degree arc will collide with other robots and the cost of traveling along the 180-degree arc is high, the target robot is determined to have a 90-degree large arc path (i.e., the fourth smooth path). Moreover, when determining the 90-degree large arc path, it can be determined according to the position of the blocking robot which segment of the path to smooth.

[0363] In some embodiments, after the control device obtains the above fourth smooth path corresponding to the first arc type, it can further determine whether there is a second blocking robot (which can be the same robot as the above first blocking robot or a different robot) on the fourth smooth path. In the case where there is no second blocking robot, the control device can control the target robot to travel based on the fourth smooth path corresponding to the first arc type and perform the to-be-processed task.

[0364] In some examples, as shown in FIG. 29A, in the case where there is no second blocking robot on the fourth smooth path a-c corresponding to the 90-degree large-arc line type, the control device can control the target robot to travel based on the fourth smooth path a-c corresponding to the 90-degree large-arc line type and the straight line path c-d, and perform the to-be-handled task.

[0365] In some examples, as shown in FIG. 29B, in the case where there is no second blocking robot on the fourth smooth path b-d corresponding to the 90-degree large-arc line type, the control device can control the target robot to travel based on the straight line path a-b and the fourth smooth path b-d corresponding to the 90-degree large-arc line type, and perform the to-be-handled task.

[0366] Exemplarily, the target robot is controlled to perform the to-be-handled task based on the fourth smooth path. After the fourth smooth path is determined, the control device controls the target robot to continue in the form of the fourth smooth path to perform the to-be-handled task.

[0367] FIG. 30 is a flowchart of another path planning method provided by an embodiment of the present disclosure. As shown in FIG. 30, after the step 2040 described above, the method further includes the steps 3010 to 3030 shown as follows.

[0368] Step 3010, in the case where there is no second blocking robot on the fourth smooth path, or the second waiting time length is less than or equal to the preset waiting time length, the target robot is controlled to continue to travel and perform the to-be-handled task based on the fourth smooth path.

[0369] Step 3020, in the case where there is a second blocking robot on the fourth smooth path, and the second waiting time length of the target robot on the fourth smooth path is greater than the preset waiting time length, the planning path is processed based on the fifth smooth path algorithm and the constraint condition to obtain the fifth smooth path.

[0370] In some embodiments, in the case where there is a second blocking robot on the fourth smooth path corresponding to the 90-degree large-arc line type, the control device can determine the second waiting time length of the target robot on the fourth smooth path corresponding to the first arc line type, so as to determine whether the travel path of the target robot needs to be dynamically scheduled based on the size relationship between the second waiting time length and the preset waiting time length.

[0371] In some examples, in a case that the second waiting duration of the target robot is less than or equal to the preset waiting duration, it indicates that the second blocking robot has or is ready to leave after the target robot waits for the second waiting duration, and thus the control device can control the target robot to continue to execute the to-be-handled task based on the fourth smooth path corresponding to the 90-degree large-arc line type after the target robot waits for the second waiting duration; in a case that the second waiting duration of the target robot is greater than the preset waiting duration, it indicates that the second blocking robot has not left after the target robot waits for the preset waiting duration, and thus the control device can re-plan the travel path of the target robot.

[0372] FIG. 31 is a schematic view of a fourth smooth path of a first arc line type in which a second blocking robot exists, according to an embodiment of the present disclosure.

[0373] As shown in FIG. 31, taking a case that a second blocking robot 140 exists on a fourth smooth path a-c as an example. It can be seen that, in a case that the second waiting duration of the target robot 120 is greater than the preset waiting duration, the cost of the target robot 120 traveling according to the fourth smooth path a-c will be high; and in a case that the second waiting duration of the target robot 120 is less than or equal to the preset waiting duration, the target robot 120 will not collide with the second blocking robot 140 when traveling according to the fourth smooth path a-c.

[0374] In some embodiments, in a case that no second blocking robot exists on the fourth smooth path corresponding to the 90-degree large-arc line type, or the second waiting duration of the target robot is less than or equal to the preset waiting duration, the control device can control the target robot to travel based on the fourth smooth path corresponding to the 90-degree large-arc line type and execute the to-be-handled task.

[0375] In some embodiments, in a case that the second waiting duration of the target robot is greater than the preset waiting duration, it indicates that the cost of the target robot traveling according to the fourth smooth path corresponding to the 90-degree large-arc line type is high, and thus the control device can process the above-mentioned planned path based on a fifth smooth path algorithm and constraint conditions, obtain a fifth smooth path, and control the target robot to travel based on the fifth smooth path.

[0376] In some examples, the control device can determine the Bezier curve control point based on a smooth path algorithm corresponding to a 90-degree small-arc line type according to the size of the cell, the position of each to-be-smoothed path point, and the preset safety distance.

[0377] In some examples, the fourth Bezier curve control point corresponding to the 90-degree small-arc line type can be determined according to the above-mentioned formula (4).

[0378] FIG. 32 is a schematic view of determining fourth Bezier curve control points according to a smooth path algorithm of a second arc line type according to an embodiment of the present disclosure.

[0379] As shown in FIG. 32, the control device can first determine the positions of the control points P0 and P3, and then determine the positions of the two fourth Bezier curve control points P1 and P2. The control points P0 and P3 are the start point and the end point of the Bezier curve, respectively.

[0380] In some examples, for the fourth Bezier curve control points P1 and P2, the control device can determine the distance between the fourth Bezier curve control points P1 and P2 and the to-be-smoothed path point b according to the above formula (4) based on the size of the unit cell, the position of the to-be-smoothed path point b, and the preset safety distance, and then determine the position coordinates of the fourth Bezier curve control points P1 and P2 based on the position coordinates of the to-be-smoothed path point b. In this way, it can be ensured that the driving wheel of the target robot 120 will not crush the two-dimensional code A when the target robot 120 travels along the fifth smooth path generated based on the fourth Bezier curve control points P1 and P2.

[0381] In some examples, as shown in FIG. 32, after determining the distance L between the fourth Bezier curve control points P1 and P2 and the to-be-smoothed path point b according to the above formula (4), the position coordinates of the fourth Bezier curve control points P1 and P2 can be determined based on the position coordinates of the to-be-smoothed path point b. After obtaining the position coordinates of the fourth Bezier curve control points P1 and P2, the corresponding Bezier curve (such as the arc line between the control points P0 and P3) can be obtained based on the determination formula of the third-order Bezier curve, and then the fifth smooth path a-c corresponding to the 90-degree small arc line type can be obtained based on the Bezier curve and the path segments of the remaining part of the planned path (such as the path segment between the start point a and the control point P0).

[0382] It should be noted that the implementation of step 3020 can refer to the implementation of steps 2410 and 2430 described above, and details are not repeated here.

[0383] In step 3030, the target robot is controlled to perform the to-be-processed task based on the fifth smooth path.

[0384] In some embodiments, after obtaining the fifth smooth path corresponding to the 90-degree small arc line type, the control device can further determine whether there is a blocking robot (which can be the same robot as the second blocking robot or a different robot) on the fifth smooth path.

[0385] In some examples, in the case that there is no blocking robot on the fifth smooth path, the control device can control the target robot to travel based on the fifth smooth path and perform the to-be-handled task. In the case that there is still a blocking robot on the fifth smooth path and the third waiting duration of the target robot on the fifth smooth path is less than or equal to the preset waiting duration, the control device can control the target robot to wait for the third waiting duration, and then control the target robot to travel based on the fifth smooth path and perform the to-be-handled task; in the case that the waiting duration of the target robot on the fifth smooth path is greater than the preset waiting duration, the control device can re-plan the arc path of the target robot.

[0386] The path planning method provided by the embodiments of the present disclosure can process the planned path based on the smooth path algorithm and the constraint condition corresponding to the 180-degree arc type, to obtain the first smooth path corresponding to the 180-degree arc type, in the case that the target robot travels on an open road (such as a non-lane road). And in the case that there is no first blocking robot on the first smooth path corresponding to the 180-degree arc type, or the first waiting duration of the target robot is less than or equal to the preset waiting duration, the control device can control the target robot to perform the to-be-handled task based on the first smooth path corresponding to the 180-degree arc type.

[0387] And in the case that there is a first blocking robot on the first smooth path corresponding to the 180-degree arc type and the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, the control device can process the planned path based on the smooth path algorithm and the constraint condition corresponding to the 90-degree large arc type, to obtain the fourth smooth path corresponding to the 90-degree large arc type; and in the case that there is no second blocking robot on the fourth smooth path, or the second waiting duration of the target robot on the fourth smooth path is less than or equal to the preset waiting duration, the control device can control the target robot to perform the to-be-handled task based on the fourth smooth path. Thus, in the case that the target robot travels based on the first smooth path will collide with the first blocking robot or the travel cost is high, the travel path of the target robot is scheduled, that is, the fourth smooth path is re-planned, and the target robot is controlled to perform the to-be-handled task based on the fourth smooth path, so as to avoid the target robot from colliding with the first blocking robot, and ensure that the target robot can still travel while smoothly turning during the travel process, and the travel cost is also relatively low.

[0388] In some examples, in a case where the second blocking robot is present on the fourth smooth path, and the second waiting duration of the target robot on the fourth smooth path is greater than the preset waiting duration, the control device can process the planned path based on a fifth smooth path algorithm and constraint conditions corresponding to the 90-degree small arc type, to obtain a fifth smooth path corresponding to the 90-degree small arc type; and control the target robot to perform the to-be-processed task based on the fifth smooth path. Thus, in a case where the target robot travels on the fourth smooth path and a collision occurs with the second blocking robot, the travel path of the target robot is scheduled, that is, the fifth smooth path is re-planned, and the target robot is controlled to perform the to-be-processed task based on the fifth smooth path, so as to avoid a collision between the target robot and the second blocking robot, and ensure that the target robot can still perform smooth turning while the travel cost is relatively low.

[0389] The path planning method provided by the embodiments of the present disclosure can determine constraint conditions according to the actual environment in the warehouse system, and generate smooth arc paths (i.e., the first smooth path and the fourth smooth path) based on a target smooth path algorithm and the constraint conditions, so as to enable the target robot to perform smooth U-turns or turning, improve the space utilization and task execution efficiency of the warehouse system, avoid vibration and impact caused by sharp turns, reduce wear and tear on the mechanical system of the robot, and prolong the service life of the robot. In addition, in a case where a blocking robot is present on the first smooth path or the fourth smooth path of the target robot, and the waiting duration of the target robot on the first smooth path or the fourth smooth path is greater than the preset waiting duration, the travel path of the target robot can be dynamically adjusted to ensure that the robot travels along the arc path with high efficiency while avoiding a collision between the target robot and the blocking robot.

[0390] In a case where the target robot travels in the aisle, in a case where the first blocking robot is present on the 180-degree arc path, and the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, the control device can re-plan a smooth path for the target robot. It should be noted that in a case where the target robot travels in the aisle, the width of the aisle and the one-way travel direction limit the re-planned smooth path of the robot to be a 180-degree arc path. The difference between the re-planned 180-degree arc path and the pre-planned 180-degree arc path is that the inflection point of the arc path changes.

[0391] FIG. 33 is a flowchart of a method for determining a fourth smooth path corresponding to a third arc type according to an embodiment of the present disclosure. As shown in FIG. 33, the step 2030 can include the steps 3310 to 3320 shown below.

[0392] In step 3310, in the case that the first blocking robot exists on the first smooth path, the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, and the travel road width of the target robot is less than the preset width, at least one new to-be-smoothed path point is determined according to the at least one to-be-smoothed path point.

[0393] FIG. 34 is a schematic diagram of another planning path provided by an embodiment of the present disclosure.

[0394] As shown in FIG. 34, in the case that the travel road width of the target robot is less than the preset width, that is, the travel road of the target robot is relatively narrow (for example, as shown in FIG. 34, the travel road of the target robot 120 is flanked by the carriers 130, and the width of the lane formed between the carriers 130 is small), the planning path generated by the control device can be path a-b-c-d. The planning path a-b-c-d includes a starting point a, a to-be-smoothed path point b (that is, an inflection point b), a to-be-smoothed path point c (that is, an inflection point c), and an ending point d. In the process of the target robot 120 traveling from the starting point a to the ending point d, the target robot 120 can preferentially perform a 180-degree turn, that is, the planning path of the target robot 120 in FIG. 24 corresponds to a 180-degree type of smooth angle, and a 180-degree type of arc line.

[0395] FIG. 35 is a schematic diagram of a first smooth path corresponding to a third type of arc line according to an embodiment of the present disclosure.

[0396] As shown in FIG. 35, in the case that the smooth angle type is a 180-degree smooth angle type, the first smooth path corresponding to the 180-degree type of arc line is the smooth path of the black solid line part shown in FIG. 35. The determination method of the first smooth path corresponding to the 180-degree type of arc line can refer to the related embodiments of step 410 described above, and will not be described here again.

[0397] In some embodiments, in the case that the travel road width of the target robot is less than the preset width, the first blocking robot exists on the first smooth path corresponding to the 180-degree type of arc line, and the first waiting duration of the target robot on the first smooth path is greater than the preset waiting duration, the control device can re-plan the planning path of the target robot. That is, a new to-be-smoothed path point is generated according to the original planning path, and a new smooth path (that is, a fourth smooth path) is generated based on the new to-be-smoothed path point. The fourth smooth path still corresponds to the 180-degree type of arc line.

[0398] That is, in the case that the driving road width of the target robot is less than the preset width, there is a first blocking robot on the first smooth path corresponding to the 180-degree arc type, and the first waiting duration of the target robot is greater than the preset waiting duration, the control device can plan a new 180-degree arc path (i.e., the fourth smooth path) for the target robot.

[0399] FIG. 36 is a schematic diagram of a fourth smooth path corresponding to a first angle type according to an embodiment of the present disclosure.

[0400] As shown in FIG. 36, in the case that the target robot drives in the aisle, the 90-degree arc path is re-planned for the target robot, and then the target robot needs to rotate in place at point c to change the driving direction and then drive linearly to the end point d. However, due to the narrow width of the aisle, if the target robot rotates in place at point c, it may collide with the surrounding obstacles (such as shelves, containers on the shelves, etc.). Therefore, in order to avoid collision when the target robot drives in the aisle, the control device can generate a new 180-degree arc path when re-planning the planned path of the target robot.

[0401] In some embodiments, the first waiting duration of the target robot on the first smooth path corresponding to the 180-degree arc type can be a predicted waiting duration or an actual waiting duration. The predicted waiting duration is the duration that the control device estimates that the target robot needs to wait for the first blocking robot, and the predicted waiting duration can be determined according to the difference between the first stay duration of the first blocking robot and the first driving duration of the target robot. The actual waiting duration is the actual waiting duration of the target robot on the first smooth path corresponding to the third arc type, that is, the duration that the target robot stays and waits for the first blocking robot at the path point before the first blocking robot.

[0402] In some embodiments, in the case that the control device determines the predicted waiting duration in advance, and the predicted waiting duration is less than or equal to the preset waiting duration, the control device can control the target robot to wait for the predicted waiting duration and then continue to perform the to-be-processed task based on the first smooth path corresponding to the 180-degree arc type; and in the case that the predicted waiting duration of the target robot is greater than the preset waiting duration, the control device can re-plan the planned path of the target robot and obtain a new 180-degree arc path.

[0403] In some embodiments, in the case that the first waiting duration is the actual waiting duration, and the actual waiting duration is greater than the preset waiting duration, the control device can re-plan the planned path of the target robot and obtain a new 180-degree arc path.

[0404] FIG. 37 is a schematic view of determining at least one new path point to be smoothed according to an embodiment of the present disclosure.

[0405] As shown in FIG. 37, taking the first blocking robot 130 existing on the first smoothing path a-d as an example. In the process of the target robot 120 traveling according to the first smoothing path a-d, in the case that the first waiting time length of the target robot 120 is greater than or equal to the first stay time length of the first blocking robot 130, the control device can re-plan a new planning path (such as the planning path a-p-q-d) based on the original planning path a-b-c-d, that is, the control device can generate new path points to be smoothed (such as the path points to be smoothed p and q) based on the path points to be smoothed b and c.

[0406] In some embodiments, in the case that there is no first blocking robot on the first smoothing path corresponding to the 180-degree arc line type, or the first waiting time length of the target robot is less than or equal to the preset waiting time length, the control device can control the target robot to continue to perform the to-be-handled task based on the first smoothing path corresponding to the 180-degree arc line type.

[0407] In step 3320, the planning path is processed according to the at least one new path point to be smoothed, the fourth smoothing path algorithm, and the constraint condition to obtain a fourth smoothing path.

[0408] In some embodiments, after the control device determines the at least one new path point to be smoothed, the control device can process the planning path according to the at least one new path point to be smoothed, the fourth smoothing path algorithm, and the constraint condition to obtain a fourth smoothing path corresponding to the 180-degree arc line type. The smoothing angle type of the fourth smoothing path is the same as that of the first smoothing path, and both are the 180-degree smoothing angle type. The fourth smoothing path algorithm is the same as the first smoothing path algorithm, and both are the smoothing path algorithm corresponding to the 180-degree arc line type.

[0409] FIG. 38 is a schematic view of a fourth smoothing path corresponding to a third arc line type according to an embodiment of the present disclosure.

[0410] As shown in FIG. 38, in the case that the smoothing angle type is the 180-degree smoothing angle type, the fourth smoothing path corresponding to the 180-degree arc line type generated is the smoothing path of the black solid line part shown in FIG. 38. The determination method of the fourth smoothing path corresponding to the 180-degree arc line type can refer to the related embodiments of step 410 described above, which will not be described here.

[0411] In some examples, after the control device re-plans the planning path of the target robot and generates the fourth smoothing path, the control device can control the target robot to travel based on the fourth smoothing path corresponding to the 180-degree arc line type and perform the to-be-handled task.

[0412] In some examples, the control device can also determine the size relationship between the new travel time length required for the target robot to travel to the end point based on the fourth smooth path corresponding to the 180-degree arc line type, and the time length still required for waiting for the first blocking robot to leave (i.e., the remaining waiting time length) and the remaining travel time length required for traveling to the end point based on the first smooth path corresponding to the 180-degree arc line type. In the case that the new travel time length is greater than the sum of the remaining waiting time length and the remaining travel time length, i.e., the cost required for the target robot to travel to the end point based on the first smooth path corresponding to the 180-degree arc line type is still low, the control device can control the target robot to continue traveling based on the first smooth path corresponding to the 180-degree arc line type, and perform the to-be-processed task.

[0413] In the case that the new travel time length is less than or equal to the sum of the remaining waiting time length and the remaining travel time length, i.e., the cost required for the target robot to travel to the end point based on the fourth smooth path corresponding to the 180-degree arc line type is relatively low, the control device can control the target robot to travel based on the fourth smooth path corresponding to the 180-degree arc line type, and perform the to-be-processed task, while ensuring that the target robot will not collide with the surrounding obstacles.

[0414] In the case that the second blocking robot exists on the fourth smooth path corresponding to the 180-degree arc line type, and the second waiting time length of the target robot on the fourth smooth path corresponding to the 180-degree arc line type is greater than the preset waiting time length, the control device can re-plan the planning path corresponding to the fourth smooth path of the target robot, i.e., regenerate new to-be-smoothed path points according to the planning path, and generate a new smooth path (i.e., a fifth smooth path) based on the new to-be-smoothed path points; then, based on the size relationship between the new travel time length and the remaining waiting time length and the remaining travel time length, control the target robot to travel based on the fourth smooth path or the fifth smooth path corresponding to the 180-degree arc line type, and perform the to-be-processed task. The arc line type corresponding to the fifth smooth path is still the 180-degree arc line type. In this way, a suitable 180-degree arc line path can be determined for the target robot.

[0415] The path planning method provided by the embodiments of the present disclosure can re-plan the driving path of the target robot and generate a new to-be-smoothed path point when the driving road width of the target robot is less than the preset width, there is a first blocking robot on the first smooth path corresponding to the 180-degree arc type, and the first waiting time length of the target robot is greater than the preset waiting time length. Then, the fourth smooth path corresponding to the 180-degree arc type is determined based on the new to-be-smoothed path point. Thus, when the target robot drives based on the first smooth path corresponding to the 180-degree arc type, a collision with the first blocking robot occurs. In this case, the driving path of the target robot is re-planned, and the arc type corresponding to the re-planned fourth smooth path is still the 180-degree arc type, so as to avoid a collision between the target robot and the first blocking robot and ensure that the target robot can still smoothly turn while driving and will not collide with surrounding obstacles (such as shelves, containers on the shelves, etc.), and the driving cost is low.

[0416] FIG. 39 is a flowchart of another path planning method provided by the embodiments of the present disclosure. As shown in FIG. 39, the path planning method includes the following steps 3910-3930.

[0417] It should be noted that the path planning method shown in FIG. 39 can be performed by a control device. The control device can be the control device 110 in the warehouse system 100, or the control device can also be a control module of the robot 120 (such as the target robot) in the warehouse system 100. That is, the path planning method shown in FIG. 39 can be implemented by the control device 100 in the warehouse system 100 or by the robot 120, and the embodiments of the present disclosure do not limit this.

[0418] Step 3910: determining a planning path corresponding to a to-be-handled task to be executed by a target robot.

[0419] For example, the control device can preliminarily plan a driving path (i.e., a planning path) for the target robot based on the to-be-handled tasks to be executed by each robot in the warehouse system and the environment of the warehouse system. It should be noted that the process of determining the planning path in step 3910 is similar to step 210 (or step 2010) in the above embodiments, and thus will not be described again here to avoid repetition.

[0420] Step 3920: when there is at least one to-be-smoothed path point on the planning path, processing the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smooth path.

[0421] The constraint condition includes at least one of an obstacle position, a path curvature, a deviation from an initial path range, and a preset safety distance.

[0422] Exemplarily, the target smooth path can include the first smooth path, the second smooth path, the third smooth path, the fourth smooth path and the fifth smooth path in the above embodiments.

[0423] In some embodiments, the target smooth path algorithm includes a first smooth path algorithm, and the target smooth path includes a first smooth path. The step 3920 includes: determining first Bezier curve control points by using the first smooth path algorithm based on the constraint condition and positions of the path points on the planning path; and determining the first smooth path according to the first Bezier curve control points.

[0424] Exemplarily, the determining the first Bezier curve control points by using the first smooth path algorithm based on the constraint condition and positions of the path points on the planning path includes: determining a smooth angle type corresponding to the planning path based on the positions of the path points on the planning path; and determining the first Bezier curve control points by using the first smooth path algorithm based on the smooth angle type, the constraint condition and the positions of the path points on the planning path.

[0425] Exemplarily, the determining the first Bezier curve control points by using the first smooth path algorithm based on the constraint condition and positions of the path points on the planning path includes: in a case where the smooth angle type is a first angle type, determining an arc type corresponding to the planning path; and determining the first Bezier curve control points by using the first smooth path algorithm according to the arc type corresponding to the planning path, the constraint condition and the positions of the path points on the planning path.

[0426] Exemplarily, the arc type corresponding to the planning path includes a first arc type, and the first smooth path algorithm includes a smooth path algorithm corresponding to the first arc type; and the determining the first Bezier curve control points by using the first smooth path algorithm according to the arc type corresponding to the planning path, the constraint condition and the positions of the path points on the planning path includes: according to the first arc type, obtaining a size of a target robot, a size of an identification code corresponding to the path point and a size of a unit cell; and determining the first Bezier curve control points by using the smooth path algorithm corresponding to the first arc type based on the size of the target robot, the size of the identification code corresponding to the path point, the size of the unit cell, the positions of the path points and a preset safety distance.

[0427] Exemplarily, the arc type corresponding to the planned path includes a second arc type, and the first smoothing path algorithm includes a smoothing path algorithm corresponding to the second arc type; and the first Bezier curve control point is determined according to the arc type corresponding to the planned path, the constraint condition and the position of each path point to be smoothed on the planned path, including: obtaining the size of a unit cell according to the second arc type; and determining the first Bezier curve control point by using the smoothing path algorithm corresponding to the second arc type based on the size of the unit cell, the position of each path point to be smoothed and the preset safety distance.

[0428] It should be noted that the specific determination manner of the first smoothing path can refer to the implementation manners of steps 410 to 420 in the above embodiments, and details are not described herein again to avoid repetition.

[0429] In some embodiments, the target smoothing path algorithm includes a second smoothing path algorithm, and the target smoothing path includes a second smoothing path. The step 3920 includes: determining the curvatures and / or angles of each path point in the planned path; determining the curvature jump points and / or angle jump points as the path points to be smoothed based on the curvatures and / or angles of each path point in the planned path; determining the smoothing length based on the preset safety distance, the obstacle position and the deviation range from the initial path; and determining the second smoothing path by using the second smoothing path algorithm based on the smoothing length, the curvature jump points and / or the angle jump points.

[0430] Exemplarily, the second smoothing path is determined by using the second smoothing path algorithm based on the smoothing length, the curvature jump points and / or the angle jump points, including: determining each smoothing path segment corresponding to each curvature jump point and / or angle jump point by using the second smoothing path algorithm based on the smoothing length; determining a plurality of sub-smoothing path segments corresponding to each smoothing path segment; and determining the second smoothing path based on the plurality of sub-smoothing path segments corresponding to each smoothing path segment.

[0431] Exemplarily, the second smoothing path is determined by using the second smoothing path algorithm based on the smoothing length, the curvature jump points and / or the angle jump points, including: in a case that the second smoothing path determined by using the second smoothing path algorithm based on the smoothing length, the curvature jump points and / or the angle jump points does not satisfy the constraint condition, optimizing the smoothing length and obtaining an optimized smoothing length; and determining the second smoothing path by using the second smoothing path algorithm based on the optimized smoothing length, the curvature jump points and / or the angle jump points.

[0432] Exemplarily, the target smoothing path algorithm includes a first smoothing path algorithm, the target smoothing path includes a first smoothing path, and the step 3920 includes: in a case where a second smoothing path is not determined based on the second smoothing path algorithm and the constraint condition, determining first Bezier curve control points based on the constraint condition and positions of path points on the planning path to be smoothed, and determining the first smoothing path according to the first Bezier curve control points.

[0433] It should be noted that the specific determination manner of the second smoothing path can refer to the implementation manners of the steps 1110 to 1140 in the above embodiments, and details are not described herein again to avoid repetition.

[0434] In some embodiments, the target smoothing path algorithm includes a third smoothing path algorithm, the target smoothing path includes a third smoothing path, and the step 3920 includes: determining a path to be smoothed corresponding to a current time of the planning path based on the third smoothing path algorithm and a preset safety distance; and determining a third smoothing path corresponding to the current time of the path to be smoothed based on the preset safety distance and a path curvature and the third smoothing path algorithm.

[0435] Exemplarily, the determination of the third smoothing path corresponding to the current time of the path to be smoothed based on the preset safety distance and the path curvature and the third smoothing path algorithm includes: in a case where the third smoothing path corresponding to the current time determined based on the preset safety distance and the path curvature and the third smoothing path algorithm does not satisfy the constraint condition, determining a path to be optimized corresponding to the current time of the third smoothing path based on the third smoothing path algorithm and the preset safety distance; and determining a third smoothing path corresponding to the current time of the path to be optimized based on the preset safety distance and the path curvature and the third smoothing path algorithm.

[0436] It should be noted that the specific determination manner of the third smoothing path can refer to the implementation manners of the steps 1410 to 1420 in the above embodiments, and details are not described herein again to avoid repetition.

[0437] In some embodiments, the target smoothing path algorithm further includes a fourth smoothing path algorithm, and the target smoothing path includes a fourth smoothing path.

[0438] Exemplarily, after the first smooth path is determined, whether the first blocking robot exists on the first smooth path can be determined based on the first blocking robot, so as to determine the target smooth path as the first smooth path or the fourth smooth path. In the case that the first blocking robot does not exist on the first smooth path, the target smooth path is determined as the first smooth path, and the target robot continues to execute the to-be-processed task according to the first smooth path. In the case that the first blocking robot exists on the first smooth path, and the waiting time length of the target robot is greater than the preset waiting time length, it is necessary to re-plan the arc path for the target robot, that is, the target smooth path is determined as the fourth smooth path, and the target robot continues to execute the to-be-processed task according to the re-planned fourth smooth path.

[0439] In some embodiments, the target smooth path algorithm further includes a fourth smooth path algorithm, and the target smooth path includes the fourth smooth path. After the first smooth path is determined, the method further includes: in the case that the first blocking robot exists on the first smooth path, and the first waiting time length of the target robot on the first smooth path is greater than the preset waiting time length, processing the planning path based on the driving environment of the target robot, the fourth smooth path algorithm and the constraint condition to obtain the fourth smooth path.

[0440] Exemplarily, the driving environment includes a driving road width. The processing of the planning path based on the driving environment of the target robot, the fourth smooth path algorithm and the constraint condition to obtain the fourth smooth path includes: in the case that the driving road width of the target robot is greater than or equal to a preset width, obtaining the size of a unit cell; determining the second Bezier curve control point by using the smooth path algorithm corresponding to the second arc type based on the size of the unit cell, the positions of the to-be-smoothed path points and the constraint condition; and determining the fourth smooth path according to the second Bezier curve control point.

[0441] Exemplarily, the driving environment includes a driving road width. The processing of the planning path based on the driving environment of the target robot, the fourth smooth path algorithm and the constraint condition to obtain the fourth smooth path includes: in the case that the driving road width of the target robot is less than a preset width, determining at least one new to-be-smoothed path point according to at least one to-be-smoothed path point; processing the planning path according to the at least one new to-be-smoothed path point, the fourth smooth path algorithm and the constraint condition to obtain the fourth smooth path; and wherein the smooth angle type of the fourth smooth path is the same as the smooth angle type of the first smooth path, and the fourth smooth path algorithm is the same as the first smooth path algorithm.

[0442] Exemplarily, the driving environment includes a driving road width; the driving environment of the target robot, the fourth smoothing path algorithm and the constraint condition are used to process the planned path to obtain a fourth smoothing path, including: in a case where the driving road width of the target robot is greater than or equal to a preset width, a target smoothing path point is determined in at least one to-be-smoothed path point according to the position of the first blocking robot; the size of the target robot, the size of the identification code corresponding to the target smoothing path point and the size of the unit cell are obtained; based on the size of the target robot, the size of the identification code corresponding to the target smoothing path point, the size of the unit cell, the position of each target smoothing path point and a preset safety distance, a third Bezier curve control point is determined by using a smoothing path algorithm corresponding to a first arc type; and the fourth smoothing path is determined according to the third Bezier curve control point.

[0443] Exemplarily, the method further includes: in a case where the first blocking robot does not exist on the first smoothing path, or the first waiting time length of the target robot on the first smoothing path is less than or equal to a preset waiting time length, the target robot is controlled to continue driving and perform a to-be-processed task based on the first smoothing path.

[0444] Exemplarily, the method further includes: in a case where the second blocking robot does not exist on the fourth smoothing path, or the second waiting time length is less than or equal to a preset waiting time length, the target robot is controlled to continue driving and perform a to-be-processed task based on the fourth smoothing path.

[0445] It should be noted that the specific determination manner of the fourth smoothing path can refer to the implementation manner of step 2030 in the above embodiment, and details are not described herein again to avoid repetition.

[0446] In some embodiments, the target smoothing path algorithm further includes a fifth smoothing path algorithm, and the target smoothing path includes a fifth smoothing path.

[0447] Exemplarily, in a case where the target smoothing path is determined as the fourth smoothing path and the target robot drives according to the fourth smoothing path, it can be determined whether there is a second blocking robot blocking the target robot on the fourth smoothing path. In a case where the second blocking robot does not exist on the fourth smoothing path, the target smoothing path is determined as the fourth smoothing path, and the target robot continues to perform a to-be-processed task according to the fourth smoothing path. In a case where the second blocking robot exists on the fourth smoothing path and the waiting time length of the target robot is greater than a preset waiting time length, it is necessary to re-plan an arc path for the target robot, that is, the target smoothing path is determined as a fifth smoothing path, and the target robot continues to perform a to-be-processed task according to the re-planned fifth smoothing path.

[0448] In some embodiments, the target smooth path algorithm further comprises a fifth smooth path algorithm, and the target smooth path comprises a fifth smooth path; after the fourth smooth path is obtained, the method further comprises: in a case where the second blocking robot exists on the fourth smooth path, and a second waiting time length of the target robot on the fourth smooth path is greater than the preset waiting time length, processing the planning path based on the fifth smooth path algorithm and the constraint condition to obtain the fifth smooth path; wherein the constraint condition comprises a preset safety distance.

[0449] Exemplarily, the processing of the planning path based on the fifth smooth path algorithm and the constraint condition to obtain the fifth smooth path comprises: obtaining the size of the cell; determining the fourth Bezier curve control point by using the smooth path algorithm corresponding to the second arc type based on the size of the cell, the position of each to-be-smoothed path point, and the preset safety distance; and determining the fifth smooth path according to the fourth Bezier curve control point.

[0450] It should be noted that the specific determination manner of the fifth smooth path can refer to the implementation manner of step 3020 in the above embodiments, and details are not described herein again to avoid repetition.

[0451] In some examples, in a case where the target smooth path is determined to be the first smooth path by the first smooth path algorithm, the target smooth path can be dynamically adjusted according to the driving environment of the target robot. For example, when the target robot drives according to the first smooth path, in a case where a blocking robot exists on the first smooth path, whether to re-plan an arc path for the target robot can be determined based on the driving cost of the target robot (i.e., the size relationship between the waiting time length of the target robot and the preset waiting time length). If there is no need to re-plan an arc path for the target robot, the target smooth path is still the first smooth path, and if it is necessary to re-plan an arc path, the newly planned arc path (such as the fourth smooth path) is determined as the target smooth path. Similarly, when the target robot drives according to the updated arc path, it is determined whether to re-plan an arc path, i.e., to re-determine the target smooth path.

[0452] In step 3930, the target robot is controlled to perform the to-be-processed task based on the target smooth path.

[0453] In some examples, after the target smooth path is determined, the target robot can continue to drive according to the target smooth path (the first smooth path, the second smooth path, the third smooth path, the fourth smooth path, or the fifth smooth path) to perform the to-be-processed task.

[0454] In some embodiments, the step 3930 comprises determining a travel speed of each path point in the target smooth path based on the curvature of each path point in the target smooth path; and controlling the target robot to perform the to-be-processed task according to the target smooth path based on the travel speed of each path point in the target smooth path.

[0455] For example, the step of determining the travel speed of each path point in the target smooth path based on the curvature of each path point in the target smooth path comprises determining the travel speed of a first path point with the maximum curvature in the target smooth path based on the curvature of each path point in the target smooth path; wherein the first path point is the path point with the maximum curvature in the target smooth path; and determining the travel speed of a second path point in the target smooth path based on the travel speed of the first path point; wherein the second path point is a path point other than the first path point in the target smooth path. The step of controlling the target robot to perform the to-be-processed task according to the target smooth path based on the travel speed of each path point in the target smooth path comprises controlling the target robot to perform the to-be-processed task according to the target smooth path based on the travel speed of the first path point and the travel speed of the second path point in the target smooth path.

[0456] For example, the step of determining the travel speed of each path point in the target smooth path based on the curvature of each path point in the target smooth path comprises determining the travel speed of a first path point with the maximum curvature in the target smooth path based on the curvature of each path point in the target smooth path; wherein the first path point is the path point with the maximum curvature in the target smooth path; and determining the travel speed of a second path point in the target smooth path based on the travel speed of the first path point; wherein the second path point is a path point other than the first path point in the target smooth path. The step of controlling the target robot to perform the to-be-processed task according to the target smooth path based on the travel speed of each path point in the target smooth path comprises controlling the target robot to perform the to-be-processed task according to the target smooth path based on the travel speed of the first path point and the travel speed of the second path point in the target smooth path.

[0457] For example, the step of determining the travel speed of the second path point based on the travel speed of the first path point comprises determining the travel speed of the second path point based on the travel speed of the first path point, the distance between the first path point and the second path point, and the acceleration of the target robot.

[0458] The path planning method provided by the embodiments of the present disclosure can determine the constraint condition according to the actual environment in the warehouse system, and generate a smooth arc path (i.e., a target smooth path) based on a target smooth path algorithm and the constraint condition, so that the robot can change the driving direction in a more narrow space, and change the driving direction more smoothly and efficiently, thereby improving the space utilization and task execution efficiency of the warehouse system. It can also avoid the vibration and impact caused by sharp turns, reduce the wear and tear on the mechanical system of the robot, and prolong the service life of the robot. At the same time, the embodiments of the present disclosure can generate a smooth arc path based on the constraint condition to avoid the robot from colliding with obstacles, interfering with obstacles, or damaging ground navigation markers (e.g., ground two-dimensional codes) during driving.

[0459] FIG. 40 is a schematic diagram of a robot provided by an embodiment of the present disclosure. As shown in FIG. 40, the robot 4000 includes an acquisition module 4010, a processing module 4020, a determination module 4030, and an execution module 4040. Wherein:

[0460] The acquisition module 4010 is configured to acquire a planning path corresponding to a task to be processed by a target robot.

[0461] The processing module 4020 is configured to, in a case where the planning path includes at least one path point to be smoothed, process the planning path based on a target smooth path algorithm and a constraint condition to obtain a target smooth path; wherein the constraint condition includes at least one of an obstacle position, a path curvature, a deviation from an initial path range, and a preset safety distance.

[0462] The determination module 4030 is configured to determine a driving speed of each path point in the target smooth path based on a curvature of each path point in the target smooth path.

[0463] The execution module 4040 is configured to execute the task to be processed according to the target smooth path based on the driving speed of each path point in the target smooth path.

[0464] FIG. 41 is a schematic diagram of another warehouse system provided by an embodiment of the present disclosure. As shown in FIG. 41, the warehouse system 4100 includes a control device 4110 and a target robot 4120. Wherein:

[0465] The control device 4110 is configured to determine a planning path corresponding to a to-be-processed task executed by the target robot, and perform processing on the planning path based on a first smoothing path algorithm and a constraint condition to obtain a first smoothing path, in a case where there is at least one to-be-smoothed path point in the planning path. In a case where there is a first blocking robot on the first smoothing path, and a first waiting time length of the target robot on the first smoothing path is greater than a preset waiting time length, the control device 4110 is configured to perform processing on the planning path based on a travel environment of the target robot, a fourth smoothing path algorithm and the constraint condition to obtain a fourth smoothing path. The control device 4110 is configured to generate a task execution instruction based on the fourth smoothing path.

[0466] The target robot 4120 is configured to travel along the fourth smoothing path and execute the to-be-processed task based on the task execution instruction.

[0467] FIG. 42 is a schematic diagram of another warehouse system provided by an embodiment of the present disclosure. As shown in FIG. 42, the warehouse system 4200 includes a control device 4210 and a target robot 4220. Wherein:

[0468] The control device 4210 is configured to determine a planning path corresponding to a to-be-processed task executed by the target robot, and perform processing on the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path, in a case where there is at least one to-be-smoothed path point in the planning path. The constraint condition includes at least one of an obstacle position, a path curvature, a deviation from an initial path range and a preset safety distance. The control device 4210 is configured to generate a task execution instruction based on the target smoothing path.

[0469] The target robot 4220 is configured to execute the to-be-processed task based on the task execution instruction.

[0470] FIG. 43 is a schematic diagram of still another warehouse system provided by an embodiment of the present disclosure. As shown in FIG. 43, the warehouse system 4300 includes a determination module 4310, a processing module 4320 and a control module 4330. Wherein:

[0471] The determination module 4310 is configured to determine a planning path corresponding to a to-be-processed task executed by the target robot.

[0472] The processing module 4320 is configured to perform processing on the planning path based on a target smoothing path algorithm and a constraint condition to obtain a target smoothing path, in a case where there is at least one to-be-smoothed path point in the planning path. The constraint condition includes at least one of an obstacle position, a path curvature, a deviation from an initial path range and a preset safety distance.

[0473] The control module 4330 is configured to control the target robot to execute the to-be-processed task based on the target smoothing path.

[0474] FIG. 44 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. In some embodiments, the electronic device includes one or more processors and a memory. The memory is configured to store one or more programs. Where the one or more programs are executed by the one or more processors, the one or more processors implement the arc path planning method in the above embodiments.

[0475] As shown in FIG. 44, the electronic device 1000 includes a processor 1001 and a memory 1002. The electronic device 1000 may, for example, also include a communications interface 1003 and a communications bus 1004.

[0476] The processor 1001, the memory 1002, and the communications interface 1003 communicate with each other via the communications bus 1004. The communications interface 1003 is configured to communicate with network elements such as clients or other servers.

[0477] In some embodiments, the processor 1001 is configured to execute the program 1005, and specifically can execute the related steps in the arc path planning method embodiments described above. Specifically, the program 1005 can include program code including computer-executable instructions.

[0478] The processor 1001 may, for example, be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement some embodiments of the present disclosure. The one or more processors of the electronic device 1000 may, for example, be the same type of processors, such as one or more CPUs, or different types of processors, such as one or more CPUs and one or more ASICs.

[0479] In some embodiments, the memory 1002 is configured to store the program 1005. The memory 1002 may, for example, include a high-speed RAM memory, and may, for example, also include a non-volatile memory (NVM), such as at least one disk memory.

[0480] The program 1005 may, for example, be invoked by the processor 1001 to cause the electronic device 1000 to perform operations of the arc path planning method.

[0481] Some embodiments of the present disclosure provide a computer readable storage medium storing at least one executable instruction, which, when executed on the electronic device 1000, causes the electronic device 1000 to perform the arc path planning method in the above-described embodiments.

[0482] The executable instruction can be specifically used to cause the electronic device 1000 to perform the arc path planning method operation.

[0483] For example, the computer readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.

[0484] The above-described embodiments of the present disclosure are not intended to limit the protection scope of the present disclosure. All the embodiments of the present disclosure can be executed independently or in combination with other embodiments, and are all regarded as the protection scope required by the present disclosure.

Claims

1. A path planning method, comprising: Obtain the planned path for the target robot to perform the task to be processed; If there is at least one path point to be smoothed in the planned path, processing the planned path based on a target smooth path algorithm and constraints to obtain a target smooth path; wherein the constraints include at least one of an obstacle position, a path curvature, a deviation from an initial path, and a preset safety distance; determining a travel speed of each of the path points in the target smooth path based on the curvature of each of the path points in the target smooth path; Based on the travel speed of each of the path points in the target smooth path, the to-be-processed task is executed according to the target smooth path.

2. The method according to claim 1, wherein The target smooth path algorithm includes a first smooth path algorithm, the target smooth path includes a first smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining a first Bezier curve control point using the first smoothing path algorithm based on the constraint condition and the position of each of the path points to be smoothed on the planned path; The first smooth path is determined according to the first Bezier curve control points.

3. The method according to claim 2, wherein: The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the constraint condition and the position of each of the path points to be smoothed on the planned path includes: Determining a smoothing angle type corresponding to the planned path based on the position of each of the path points to be smoothed on the planned path; Based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path, the first smoothing path algorithm is used to determine the first Bezier curve control point.

4. The method according to claim 3, wherein: The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smooth angle type is the first angle type, determining an arc type corresponding to the planned path; The first Bezier curve control point is determined using the first smoothing path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each of the path points to be smoothed on the planned path.

5. The method according to claim 4, wherein The arc type corresponding to the planned path includes a first arc type, the first smooth path algorithm includes a smooth path algorithm corresponding to the first arc type, and determining a first Bezier curve control point using the first smooth path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each path point to be smoothed on the planned path, includes: According to the first arc type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; Based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed and the preset safety distance, the first Bezier curve control point is determined using a smooth path algorithm corresponding to the first arc type.

6. The method according to claim 5, wherein: The first Bezier curve control point is determined according to the following formula: Wherein, L is the distance between the first Bezier curve control point and the path point to be smoothed, w is the width of the target robot, m is the width of the identification code, X is the length of the cell, and s is the preset safety distance.

7. The method according to claim 4, wherein: The arc type corresponding to the planned path includes a second arc type, the first smooth path algorithm includes a smooth path algorithm corresponding to the second arc type, and determining the first Bezier curve control point using the first smooth path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each of the path points to be smoothed on the planned path, includes: According to the second arc type, obtaining the size of the cell; Based on the size of the cell, the position of each of the path points to be smoothed and the preset safety distance, a smooth path algorithm corresponding to the second arc type is used to determine the first Bezier curve control point.

8. The method according to claim 7, wherein: The first Bezier curve control point is determined according to the following formula: Wherein, L is the distance between the first Bezier curve control point and the identification code corresponding to the path point to be smoothed, and X is the length of the cell.

9. The method according to claim 3, wherein: The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smoothing angle type is the second angle type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; The first Bezier curve control point is determined using the first smooth path algorithm based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed, and the preset safety distance.

10. The method according to claim 9, wherein: The first Bezier curve control point is determined according to the following formula: Wherein, L is the distance between the first Bezier curve control point and the identification code, w is the width of the target robot, m is the width of the identification code, X is the width of the cell, Y is the length of the cell, and s is the preset safety distance.

11. The method according to claim 1, wherein The target smooth path algorithm includes a second smooth path algorithm, the target smooth path includes a second smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining the curvature and / or angle of each path point in the planned path; Based on the curvature and / or angle of each path point in the planned path, determining a curvature jump point and / or an angle jump point as the path point to be smoothed; Determining a length to be smoothed based on the preset safety distance, the obstacle position, and the deviation range from the initial path; The second smooth path is determined by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point.

12. The method according to claim 11, wherein The determining the second smooth path by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point includes: Based on the length to be smoothed, using the second smoothing path algorithm, determining each path segment to be smoothed corresponding to each curvature jump point and / or each angle jump point; Determining a plurality of smoothed sub-path segments corresponding to each of the path segments to be smoothed; The second smoothed path is determined based on the multiple smoothed sub-path segments corresponding to each of the to-be-smoothed path segments.

13. The method according to claim 11 or 12, wherein: The determining the second smooth path by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point includes: If the second smooth path determined by the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point does not satisfy the constraint condition, optimizing the length to be smoothed to obtain an optimized length to be smoothed; The second smooth path is determined by using the second smooth path algorithm based on the optimized length to be smoothed, the curvature jump point and / or the angle jump point.

14. The method according to claim 11 or 12, wherein: The target smooth path algorithm includes a first smooth path algorithm, the target smooth path includes a first smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: If the second smooth path is not determined based on the second smooth path algorithm and the constraint conditions, determining first Bezier curve control points using the first smooth path algorithm based on the constraint conditions and positions of the path points to be smoothed on the planned path; The first smooth path is determined according to the first Bezier curve control points.

15. The method according to claim 1, wherein The target smooth path algorithm is a third smooth path algorithm, the target smooth path includes the third smooth path, and the processing of the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining a path to be smoothed corresponding to the planned path at a current moment based on the third smoothing path algorithm and the preset safety distance; Based on the preset safety distance and the path curvature, the third smooth path algorithm is adopted to determine the third smooth path corresponding to the path to be smoothed at the current moment.

16. The method according to claim 15, wherein The step of determining, based on the preset safety distance and the path curvature, the third smooth path algorithm to correspond to the path to be smoothed at the current moment, includes: If the third smooth path corresponding to the current moment determined by the third smooth path algorithm based on the preset safety distance and the path curvature does not satisfy the constraint condition, determining a path to be optimized corresponding to the third smooth path at the current moment based on the third smooth path algorithm and the preset safety distance; Based on the preset safety distance and the path curvature, the third smooth path algorithm is adopted to determine the third smooth path corresponding to the path to be optimized at the current moment.

17. The method according to any one of claims 1 to 16, wherein: The determining, based on the curvature of each path point in the target smooth path, of the travel speed of each path point in the target smooth path comprises: Determining a travel speed of a first path point having the largest curvature in the target smooth path based on the curvature of each of the path points in the target smooth path; wherein the first path point is the path point having the largest curvature in the target smooth path; determining a travel speed of a second path point in the target smooth path based on the travel speed of the first path point; wherein the second path point is a path point in the target smooth path other than the first path point; The step of executing the task to be processed according to the target smooth path based on the travel speed of each path point in the target smooth path includes: Based on the driving speed of the first path point and the driving speed of the second path point in the target smooth path, the to-be-processed task is executed according to the target smooth path.

18. The method according to claim 17, wherein The determining, based on the driving speed of the first path point, the driving speed of the second path point in the target smooth path includes: The driving speed of the second path point is determined based on the driving speed of the first path point, the distance between the first path point and the second path point, and the acceleration of the target robot.

19. A path planning method, comprising: Determine the planned path for the target robot to perform the task to be processed; When there is at least one path point to be smoothed in the planned path, processing the planned path based on a first smoothing path algorithm and constraint conditions to obtain a first smoothed path; When there is a first blocking robot on the first smooth path and a first waiting time of the target robot on the first smooth path is greater than a preset waiting time, processing the planned path based on the driving environment of the target robot, a fourth smooth path algorithm, and the constraint condition to obtain a fourth smooth path; The target robot is controlled to perform the task to be processed based on the fourth smooth path.

20. The method according to claim 19, wherein The step of processing the planned path based on the first smooth path algorithm and the constraint condition to obtain the first smooth path includes: Determining a smoothing angle type corresponding to the planned path based on the position of each of the path points to be smoothed on the planned path; Determining a first Bezier curve control point using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path; wherein the constraint condition includes a preset safety distance; The first smooth path is determined according to the first Bezier curve control points.

21. The method according to claim 20, wherein The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smoothing angle type is the first angle type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; Based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed and the preset safety distance, the first Bezier curve control point is determined using a smooth path algorithm corresponding to the first arc type.

22. The method according to claim 21, wherein The first Bezier curve control point is determined according to the following formula: Wherein, L is the distance between the first Bezier curve control point and the path point to be smoothed, w is the width of the target robot, m is the width of the identification code, X is the length of the cell, and s is the preset safety distance.

23. The method according to claim 21, wherein The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the driving road of the target robot is greater than or equal to a preset width, obtaining the size of the cell; Determine the second Bezier curve control points using a smoothing path algorithm corresponding to the second arc type based on the size of the cell, the position of each of the path points to be smoothed, and the constraint condition; The fourth smooth path is determined according to the second Bezier curve control points.

24. The method according to claim 23, wherein The control points of the second Bezier curve are determined according to the following formula: Wherein, L is the distance between the second Bezier curve control point and the identification code corresponding to the path point to be smoothed, and X is the length of the cell.

25. The method according to claim 20, wherein The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smoothing angle type is the second angle type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; Based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed and the preset safety distance, the first Bezier curve control point is determined using a smooth path algorithm corresponding to the third arc type.

26. The method according to claim 25, wherein The first Bezier curve control point is determined according to the following formula: Wherein, L is the distance between the first Bezier curve control point and the identification code, w is the width of the target robot, m is the width of the identification code, X is the width of the cell, Y is the length of the cell, and s is the preset safety distance.

27. The method according to claim 24, wherein The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the driving road of the target robot is less than a preset width, determining at least one new path point to be smoothed according to the at least one path point to be smoothed; The planned path is processed according to the at least one new path point to be smoothed, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path; wherein the smoothing angle type of the fourth smooth path is the same as the smoothing angle type of the first smooth path, and the fourth smooth path algorithm is the same as the first smooth path algorithm.

28. The method according to claim 24, wherein The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the target robot's driving path is greater than or equal to a preset width, determining a target smoothing path point among the at least one path point to be smoothed according to the position of the first blocking robot; Obtain the size of the target robot, the size of the identification code corresponding to the target smooth path point, and the size of the cell; Determining a third Bezier curve control point using a smooth path algorithm corresponding to the first arc type based on the size of the target robot, the size of the identification code corresponding to the target smooth path point, the size of the cell, the position of each target smooth path point, and the preset safety distance; The fourth smooth path is determined according to the third Bezier curve control points.

29. The method according to any one of claims 19 to 28, further comprising: When the first blocking robot does not exist on the first smooth path, or when the first waiting time of the target robot on the first smooth path is less than or equal to the preset waiting time, the target robot is controlled to continue traveling and perform the task to be processed based on the first smooth path.

30. The method according to any one of claims 25 to 28, further comprising: When there is a second blocking robot on the fourth smooth path and the second waiting time of the target robot on the fourth smooth path is greater than the preset waiting time, processing the planned path based on a fifth smooth path algorithm and the constraint condition to obtain a fifth smooth path; wherein the constraint condition includes a preset safety distance; The target robot is controlled to perform the task to be processed based on the fifth smooth path.

31. The method according to claim 30, wherein The controlling the target robot to perform the task to be processed based on the fourth smooth path includes: When there is no second blocking robot on the fourth smooth path, or when the second waiting time is less than or equal to the preset waiting time, the target robot is controlled to continue traveling and perform the pending task based on the fourth smooth path.

32. The method according to claim 30, wherein The step of processing the planned path based on the fifth smooth path algorithm and the constraint condition to obtain a fifth smooth path includes: Get the size of the cell; Determine, based on the size of the cell, the position of each of the path points to be smoothed, and the preset safety distance, a smoothing path algorithm corresponding to the second arc type; The fifth smooth path is determined according to the fourth Bezier curve control points.

33. A path planning method, comprising: Determine the planned path for the target robot to perform the task to be processed; If there is at least one path point to be smoothed in the planned path, processing the planned path based on a target smooth path algorithm and constraints to obtain a target smooth path; wherein the constraints include at least one of an obstacle position, a path curvature, a deviation from an initial path, and a preset safety distance; Based on the target smooth path, the target robot is controlled to execute the task to be processed.

34. The method according to claim 33, wherein The target smooth path algorithm includes a first smooth path algorithm, the target smooth path includes a first smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining a first Bezier curve control point using the first smoothing path algorithm based on the constraint condition and the position of each of the path points to be smoothed on the planned path; The first smooth path is determined according to the first Bezier curve control points.

35. The method according to claim 34, wherein The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the constraint condition and the position of each of the path points to be smoothed on the planned path includes: Determining a smoothing angle type corresponding to the planned path based on the position of each of the path points to be smoothed on the planned path; Based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path, the first smoothing path algorithm is used to determine the first Bezier curve control point.

36. The method according to claim 35, wherein The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smooth angle type is the first angle type, determining an arc type corresponding to the planned path; The first Bezier curve control point is determined using the first smoothing path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each of the path points to be smoothed on the planned path.

37. The method according to claim 36, wherein The arc type corresponding to the planned path includes a first arc type, the first smooth path algorithm includes a smooth path algorithm corresponding to the first arc type, and determining a first Bezier curve control point using the first smooth path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each path point to be smoothed on the planned path, includes: According to the first arc type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; Based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed and the preset safety distance, the first Bezier curve control point is determined using a smooth path algorithm corresponding to the first arc type.

38. The method of claim 36, wherein: The arc type corresponding to the planned path includes a second arc type, the first smooth path algorithm includes a smooth path algorithm corresponding to the second arc type, and determining the first Bezier curve control point using the first smooth path algorithm according to the arc type corresponding to the planned path, the constraint condition, and the position of each of the path points to be smoothed on the planned path, includes: According to the second arc type, obtaining the size of the cell; Based on the size of the cell, the position of each of the path points to be smoothed and the preset safety distance, a smooth path algorithm corresponding to the second arc type is used to determine the first Bezier curve control point.

39. The method of claim 35, wherein: The determining of the first Bezier curve control point by using the first smoothing path algorithm based on the smoothing angle type, the constraint condition, and the position of each of the path points to be smoothed on the planned path includes: When the smoothing angle type is the second angle type, obtaining the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, and the size of the cell; The first Bezier curve control point is determined using the first smooth path algorithm based on the size of the target robot, the size of the identification code corresponding to the path point to be smoothed, the size of the cell, the position of each path point to be smoothed, and the preset safety distance.

40. The method of claim 33, wherein The target smooth path algorithm includes a second smooth path algorithm, the target smooth path includes a second smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining the curvature and / or angle of each path point in the planned path; Based on the curvature and / or angle of each path point in the planned path, determining a curvature jump point and / or an angle jump point as the path point to be smoothed; Determining a length to be smoothed based on the preset safety distance, the obstacle position, and the deviation range from the initial path; The second smooth path is determined by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point.

41. The method according to claim 40, wherein The determining the second smooth path by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point includes: Based on the length to be smoothed, using the second smoothing path algorithm, determining each path segment to be smoothed corresponding to each curvature jump point and / or each angle jump point; Determining a plurality of smoothed sub-path segments corresponding to each of the path segments to be smoothed; The second smoothed path is determined based on the multiple smoothed sub-path segments corresponding to each of the to-be-smoothed path segments.

42. The method according to claim 40 or 41, wherein The determining the second smooth path by using the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point includes: If the second smooth path determined by the second smooth path algorithm based on the length to be smoothed, the curvature jump point and / or the angle jump point does not satisfy the constraint condition, optimizing the length to be smoothed to obtain an optimized length to be smoothed; The second smooth path is determined by using the second smooth path algorithm based on the optimized length to be smoothed, the curvature jump point and / or the angle jump point.

43. The method according to claim 40 or 41, wherein The target smooth path algorithm includes a first smooth path algorithm, the target smooth path includes a first smooth path, and processing the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: If the second smooth path is not determined based on the second smooth path algorithm and the constraint conditions, determining first Bezier curve control points using the first smooth path algorithm based on the constraint conditions and positions of the path points to be smoothed on the planned path; The first smooth path is determined according to the first Bezier curve control points.

44. The method of claim 33, wherein The target smooth path algorithm includes a third smooth path algorithm, the target smooth path includes the third smooth path, and the processing of the planned path based on the target smooth path algorithm and the constraint condition to obtain the target smooth path includes: Determining a path to be smoothed corresponding to the planned path at a current moment based on the third smoothing path algorithm and the preset safety distance; Based on the preset safety distance and the path curvature, the third smooth path algorithm is adopted to determine the third smooth path corresponding to the path to be smoothed at the current moment.

45. The method of claim 44, wherein: The step of determining, based on the preset safety distance and the path curvature, the third smooth path algorithm to correspond to the path to be smoothed at the current moment, includes: If the third smooth path corresponding to the current moment determined by the third smooth path algorithm based on the preset safety distance and the path curvature does not satisfy the constraint condition, determining a path to be optimized corresponding to the third smooth path at the current moment based on the third smooth path algorithm and the preset safety distance; Based on the preset safety distance and the path curvature, the third smooth path algorithm is adopted to determine the third smooth path corresponding to the path to be optimized at the current moment.

46. ​​The method according to any one of claims 33 to 45, wherein The step of controlling the target robot to execute the task to be processed based on the target smooth path includes: determining a travel speed of each of the path points in the target smooth path based on the curvature of each of the path points in the target smooth path; Based on the driving speed of each of the path points in the target smooth path, the target robot is controlled to execute the task to be processed along the target smooth path.

47. The method of claim 46, wherein The determining, based on the curvature of each path point in the target smooth path, of the travel speed of each path point in the target smooth path comprises: Determining a travel speed of a first path point having the largest curvature in the target smooth path based on the curvature of each of the path points in the target smooth path; wherein the first path point is the path point having the largest curvature in the target smooth path; determining a travel speed of a second path point in the target smooth path based on the travel speed of the first path point; wherein the second path point is a path point in the target smooth path other than the first path point; The controlling the target robot to execute the task to be processed according to the target smooth path based on the travel speed of each path point in the target smooth path includes: Based on the driving speed of the first path point and the driving speed of the second path point in the target smooth path, the target robot is controlled to perform the task to be processed according to the target smooth path.

48. The method of claim 47, wherein The determining, based on the driving speed of the first path point, the driving speed of the second path point in the target smooth path includes: The driving speed of the second path point is determined based on the driving speed of the first path point, the distance between the first path point and the second path point, and the acceleration of the target robot.

49. The method according to any one of claims 34 to 39, wherein The target smooth path algorithm further includes a fourth smooth path algorithm, the target smooth path includes a fourth smooth path, and after determining the first smooth path, the method further includes: When there is a first blocking robot on the first smooth path and the first waiting time of the target robot on the first smooth path is greater than the preset waiting time, the planned path is processed based on the driving environment of the target robot, the fourth smooth path algorithm and the constraint conditions to obtain a fourth smooth path.

50. The method of claim 49, wherein The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the driving road of the target robot is greater than or equal to a preset width, obtaining the size of the cell; Determine the second Bezier curve control points using a smoothing path algorithm corresponding to the second arc type based on the size of the cell, the position of each of the path points to be smoothed, and the constraint condition; The fourth smooth path is determined according to the second Bezier curve control points.

51. The method of claim 50, wherein: The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the driving road of the target robot is less than a preset width, determining at least one new path point to be smoothed according to the at least one path point to be smoothed; The planned path is processed according to the at least one new path point to be smoothed, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path; wherein the smoothing angle type of the fourth smooth path is the same as the smoothing angle type of the first smooth path, and the fourth smooth path algorithm is the same as the first smooth path algorithm.

52. The method of claim 51, wherein The driving environment includes a driving road width, and the processing of the planned path based on the driving environment of the target robot, the fourth smooth path algorithm, and the constraint condition to obtain the fourth smooth path includes: When the width of the target robot's driving path is greater than or equal to a preset width, determining a target smoothing path point among the at least one path point to be smoothed according to the position of the first blocking robot; Obtain the size of the target robot, the size of the identification code corresponding to the target smooth path point, and the size of the cell; Determining a third Bezier curve control point using a smooth path algorithm corresponding to the first arc type based on the size of the target robot, the size of the identification code corresponding to the target smooth path point, the size of the cell, the position of each target smooth path point, and the preset safety distance; The fourth smooth path is determined according to the third Bezier curve control points.

53. The method according to any one of claims 49 to 52, further comprising: When the first blocking robot does not exist on the first smooth path, or when the first waiting time of the target robot on the first smooth path is less than or equal to the preset waiting time, the target robot is controlled to continue traveling and perform the task to be processed based on the first smooth path.

54. The method according to any one of claims 49 to 52, wherein The target smooth path algorithm further includes a fifth smooth path algorithm, the target smooth path includes the fifth smooth path, and after obtaining the fourth smooth path, the method further includes: When there is a second blocking robot on the fourth smooth path and the second waiting time of the target robot on the fourth smooth path is greater than the preset waiting time, the planned path is processed based on the fifth smooth path algorithm and the constraint conditions to obtain a fifth smooth path; wherein the constraint conditions include a preset safety distance.

55. The method of claim 54, further comprising: When there is no second blocking robot on the fourth smooth path, or when the second waiting time is less than or equal to the preset waiting time, the target robot is controlled to continue traveling and perform the pending task based on the fourth smooth path.

56. The method of claim 54, wherein The step of processing the planned path based on the fifth smooth path algorithm and the constraint condition to obtain a fifth smooth path includes: Get the size of the cell; Determine, based on the size of the cell, the position of each of the path points to be smoothed, and the preset safety distance, a smoothing path algorithm corresponding to the second arc type; The fifth smooth path is determined according to the fourth Bezier curve control points.

57. A robot comprising: The acquisition module is configured to: acquire a planned path corresponding to the target robot executing the task to be processed; a processing module configured to: when the planned path has at least one path point to be smoothed, process the planned path based on a target smooth path algorithm and constraints to obtain a target smooth path; wherein the constraints include at least one of an obstacle position, a path curvature, a deviation from an initial path, and a preset safety distance; a determination module configured to: determine a travel speed of each path point in the target smooth path based on a curvature of each path point in the target smooth path; The execution module is configured to: execute the to-be-processed task according to the target smooth path based on the driving speed of each path point in the target smooth path.

58. A warehousing system comprising: The control device is configured to: determine a planned path corresponding to the target robot performing the task to be processed; If there is at least one path point to be smoothed on the planned path, the planned path is processed based on a first smooth path algorithm and constraints to obtain a first smooth path; if there is a first blocking robot on the first smooth path and a first waiting time of the target robot on the first smooth path is greater than a preset waiting time, the planned path is processed based on the driving environment of the target robot, a fourth smooth path algorithm, and the constraints to obtain a fourth smooth path; and a task execution instruction is generated based on the fourth smooth path; The target robot is configured to: based on the task execution instruction, travel along the fourth smooth path and execute the task to be processed.

59. A warehousing system comprising: The control device is configured to: determine a planned path corresponding to the target robot performing the task to be processed; If there is at least one path point to be smoothed in the planned path, processing the planned path based on a target smooth path algorithm and constraints to obtain a target smooth path; wherein the constraints include at least one of an obstacle position, a path curvature, a deviation from an initial path, and a preset safety distance; generating a task execution instruction based on the target smooth path; The target robot is configured to execute the task to be processed based on the task execution instruction.

60. An electronic device comprising: one or more processors; and a memory configured to: store one or more programs; Wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the path planning method according to any one of claims 1-56.

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

62. A computer program product, comprising a computer program stored on a non-transitory computer-readable storage medium, wherein the computer program comprises program instructions which, when executed by a computer, cause the computer to execute the path planning method of any one of claims 1-56.

Citation Information

Patent Citations

  • Speed planning method and device, and vehicle

    CN110531771A

  • Multi-agricultural-machine cooperative operation remote management scheduling method based on improved ant colony algorithm

    CN111639811A

  • Path planning method and device, electronic equipment and storage medium

    CN115597620A

  • Intelligent ship path planning online editing method

    CN116539041A

  • Optimal path local dynamic planning method and system

    CN117589187A