Path planning methods, devices, unmanned vehicles, and storage media
By dynamically planning sub-paths using a global planner and combining it with a local planner, the problem of high computational cost in local planning algorithms when encountering obstacles is solved, thus improving the passability and efficiency of autonomous vehicles.
Patent Information
- Application Number
- CN202210660943.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-13
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-06-13
AI Technical Summary
In existing technologies, local planning algorithms require high-frequency calculations when facing obstacles, resulting in low driving efficiency.
A global planner is used to dynamically plan the path, generate sub-paths to bypass obstacles, and splice them into the initial global path. Combined with a local planner, a target local path is generated to control the unmanned vehicle to bypass obstacles.
This reduces the computational load on the local planner, avoids oscillation problems caused by obstacles, and improves the passability and driving efficiency of autonomous vehicles.
Smart Images

Figure CN115097822B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of autonomous driving technology, and in particular relates to a path planning method, device, unmanned vehicle and storage medium. Background Technology
[0002] In recent years, autonomous driving technology has been widely applied to vehicles, and path planning methods during vehicle driving have become crucial.
[0003] In traditional technologies, the local planner generates a new local obstacle avoidance trajectory based on obstacle information obtained by the vehicle's perception module and using the global path trajectory as a reference. Finally, it controls the vehicle to drive according to the local obstacle avoidance trajectory. However, since the local planning algorithm performs continuous iterative planning at a high frequency, the computational load of the local planning algorithm increases significantly when encountering obstacles, thus reducing driving efficiency. Summary of the Invention
[0004] This application provides a path planning method, apparatus, unmanned vehicle, and storage medium, aiming to solve the technical problem of low driving efficiency when facing obstacles.
[0005] In a first aspect, embodiments of this application provide a path planning method, comprising: a global planner planning a path based on the origin and destination of an unmanned vehicle to obtain an initial global path; if an obstacle that the unmanned vehicle needs to bypass is detected in the environmental information, the global planner dynamically plans a path to obtain a sub-path, and splices the sub-path to the initial global path to obtain an updated target global path; a local planner planning a path based on the target global path and the environmental information obtained in real time to obtain a target local path; and the local planner sending the target local path to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to bypass the obstacle based on the target local path.
[0006] Optionally, the global planner dynamically plans a path to obtain sub-paths and concatenates the sub-paths to the initial global path to obtain an updated target global path. This includes: selecting a location point at a preset distance from the obstacle in the initial global path as a temporary obstacle avoidance point, wherein the temporary obstacle avoidance point and the current position of the autonomous vehicle are located on opposite sides of the obstacle, respectively; the global planner plans a path based on the current position and the temporary obstacle avoidance point to obtain sub-paths; and replacing part of the path between the current position and the temporary obstacle avoidance point in the initial global path with the sub-paths to obtain the updated target global path.
[0007] Optionally, after the global planner plans a path based on the current position and temporary obstacle avoidance points to obtain a sub-path, it also includes: determining whether the sub-path meets preset conditions; if the sub-path does not meet the preset conditions, a temporary obstacle avoidance point is reselected in the initial global path, and a path is planned based on the current position and the reselected temporary obstacle avoidance point, until the output sub-path meets the preset conditions, or the number of times the temporary obstacle avoidance point is reselected reaches a preset number.
[0008] Optionally, determining whether a sub-path meets preset conditions includes: if the sub-path bypasses an obstacle and the curvature of any segment of the sub-path is less than a preset curvature, then the sub-path meets the preset conditions; otherwise, the sub-path does not meet the preset conditions.
[0009] Optionally, after the global planner plans a path based on the origin and destination of the autonomous vehicle to obtain an initial global path, it also includes: a local planner plans a path based on the initial global path and the environmental information acquired in real time to obtain a local path; and sends the local path to the controller of the autonomous vehicle so that the controller controls the autonomous vehicle to drive according to the local path.
[0010] Optionally, the local planner plans a path based on the initial global path and the real-time environmental information to obtain a local path, including: the local planner generates a preset number of sampled paths at a preset frequency; when no obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, the planner selects a path close to the initial global path from the preset number of sampled paths as a local path, or selects a path that overlaps with the initial global path as a local path.
[0011] Optionally, the method further includes: if there are more than or equal M obstacles in a preset number of sampling paths, and the duration of the obstacle's presence is greater than or equal to a preset duration, then an obstacle that the autonomous vehicle needs to detour is detected in the environmental information, where M is a positive integer greater than or equal to 1; otherwise, no obstacle that the autonomous vehicle needs to detour is detected in the environmental information.
[0012] Secondly, embodiments of this application provide a path planning device, comprising: a first path planning module, used by a global planner to plan a path based on the origin and destination of an unmanned vehicle to obtain an initial global path; a second path planning module, used by the global planner to dynamically plan a path to obtain a sub-path if an obstacle that the unmanned vehicle needs to bypass is detected in the environmental information, and to splice the sub-path to the initial global path to obtain an updated target global path; a third path planning module, used by a local planner to plan a path based on the target global path and the environmental information obtained in real time to obtain a target local path; and an operation control module, used by the local planner to send the target local path to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to bypass the obstacle based on the target local path.
[0013] Thirdly, embodiments of this application provide an unmanned vehicle, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the following steps: a global planner plans a path based on the origin and destination of the unmanned vehicle to obtain an initial global path; if an obstacle that the unmanned vehicle needs to bypass is detected in the environmental information, the global planner dynamically plans a path to obtain a sub-path, and splices the sub-path to the initial global path to obtain an updated target global path; a local planner plans a path based on the target global path and the environmental information obtained in real time to obtain a target local path; the local planner sends the target local path to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to bypass the obstacle based on the target local path.
[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it performs the following steps: a global planner plans a path based on the origin and destination of the unmanned vehicle to obtain an initial global path; if an obstacle that the unmanned vehicle needs to bypass is detected in the environmental information, the global planner dynamically plans a path to obtain a sub-path and splices the sub-path to the initial global path to obtain an updated target global path; a local planner plans a path based on the target global path and the real-time acquired environmental information to obtain a target local path; the local planner sends the target local path to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to bypass the obstacle based on the target local path.
[0015] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute any of the path planning methods described in the first aspect above.
[0016] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here.
[0017] Compared to existing technologies, its beneficial effects are:
[0018] This application, based on dynamic programming, partially updates the global path within a preset distance ahead of the autonomous vehicle when an obstacle appears, achieving an obstacle-free global path. The absence of obstacles on the global path reduces computational load for high-frequency local planners. It also avoids oscillations caused by obstacles. By updating only a small segment of the global path ahead of the vehicle and concatenating it with subsequent global paths, it avoids extensive computation. This dynamic global path update, combined with local programming algorithms, significantly improves the maneuverability of autonomous vehicles. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This illustration shows a scenario diagram of the path planning system provided in an embodiment of this application;
[0021] Figure 2 This paper illustrates a flowchart of a path planning method provided in an embodiment of the present application.
[0022] Figure 3 It shows Figure 2 A flowchart illustrating the target global path generation method in the path planning approach shown;
[0023] Figure 4 This paper illustrates another flowchart of the path planning method provided in an embodiment of this application;
[0024] Figure 5 This illustration shows another flowchart of the path planning method provided in an embodiment of this application;
[0025] Figure 6 It shows Figure 5 A flowchart illustrating a local path planning method within the path planning approach shown in the diagram;
[0026] Figure 7 This illustration shows another flowchart of the path planning method provided in an embodiment of this application;
[0027] Figure 8 This paper shows a structural block diagram of a path planning device provided in an embodiment of the present application;
[0028] Figure 9 A functional block diagram of an unmanned vehicle provided in an embodiment of this application is shown. Detailed Implementation
[0029] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0030] Please see Figure 1This illustration shows an application scenario diagram of the path planning system provided in this application embodiment, which may include an unmanned vehicle 102 and a server 104. The unmanned vehicle 102 can connect to the server 104 through the Internet of Vehicles and interact with the server 104 through data exchange. The unmanned vehicle 102 can be used to receive the departure point and destination input by the user and send the departure point and destination to the server 104 through the Internet of Vehicles. The server 104 can be used to plan a path according to the departure point and destination sent by the unmanned vehicle 104, obtain the corresponding planned path, and control the unmanned vehicle 104 to drive according to the planned path.
[0031] Optionally, server 104 is integrated into driverless vehicle 102.
[0032] Among them, the unmanned vehicle 102 can be an unmanned vehicle, which may include unmanned delivery vehicles, unmanned cars, unmanned electric vehicles and unmanned hybrid vehicles, etc. The type of unmanned vehicle 102 is not limited here, and can be set according to actual needs.
[0033] Server 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), big data and artificial intelligence platforms.
[0034] The Internet of Vehicles (IoV) is a large-scale network based on in-vehicle networks, inter-vehicle networks, and in-vehicle mobile internet. It operates according to agreed-upon communication protocols and data exchange standards, enabling wireless communication and information exchange between vehicles, between vehicles and infrastructure, between vehicles and people, and between vehicles and the internet. It is an integrated network capable of achieving intelligent traffic management, intelligent dynamic information services, and intelligent vehicle control. The IoV can include mobile communication networks (e.g., 5G, 4G), Wireless Wide Area Networks (WWAN), Controller Area Networks (CAN), Bluetooth networks, infrared networks, Digital Living Network Alliance (DLNA) networks, Wireless Local Area Networks (WLAN), Wireless Metropolitan Area Networks (WMAN), and Wireless Personal Area Networks (WPAN), among others, without limitation.
[0035] In some implementations, the unmanned vehicle 102 may include an obstacle sensor (LiDAR) and a controller. The obstacle sensor is communicatively connected to the controller and interacts with it for data exchange. The controller can connect to a server 104 via a vehicle network and interact with it for data exchange.
[0036] The obstacle sensor can be used to detect obstacles on the path of the unmanned vehicle 102 and send the detected obstacles to the controller. The controller can receive the obstacle information sent by the obstacle sensor and control the unmanned vehicle 102 to drive according to the obstacle information.
[0037] In some implementations, server 104 may include a global planner and a local planner, which are communicatively connected and interact with each other.
[0038] The global planner can connect to the controller via the vehicle-to-everything (V2X) network and interact with the controller for data exchange. For example, the global planner can receive and respond to the origin and destination sent by the controller, plan a path based on the origin and destination, and obtain an initial global path. The global planner can also receive and respond to obstacle information sent by the controller, determine that the corresponding obstacle is on the initial global path (i.e., determine that the autonomous vehicle 102 needs to detour around the obstacle), dynamically plan a path and obtain sub-paths, and then concatenate the sub-paths to the initial global path to obtain an updated target global path. Finally, the target global path is sent to the local planning path.
[0039] The local planner can connect to the controller via the vehicle-to-everything (V2X) network and interact with the controller for data exchange. For example, the local planner can receive environmental information of the unmanned vehicle 102 sent by the controller via the V2X network, plan a path based on the target global path and environmental information, obtain the target local path, and send the target local path to the controller via the V2X network, so that the controller can control the unmanned vehicle to bypass obstacles according to the target local path.
[0040] Please see Figure 2 The diagram illustrates a flowchart of a path planning method in one embodiment of this application.
[0041] In one embodiment, such as Figure 2 As shown, a path planning method is provided, which is applied to Figure 1 Using server 104 as an example, the following steps illustrate the path planning method:
[0042] S202, the global planner plans a path based on the autonomous vehicle's origin and destination to obtain an initial global path.
[0043] In this embodiment of the application, the global planner can receive the origin and destination of the autonomous vehicle sent by the user, and plan an initial global path based on the road condition information between the origin and destination of the autonomous vehicle.
[0044] Road condition information refers to the drivable route from the origin to the destination, obstacle status, and road signs. Drivable route information includes: two-dimensional coordinate data of all intersections, the number of lanes connected to each intersection, the width of each lane, the coordinate data of each lane, and the aggregation of lane data from each intersection into node data; obstacle status includes the number of obstacles and obstacle coordinate information; road signs include forward signs, right turn signs, and left turn signs, etc.
[0045] Specifically, the global planner first retrieves the drivable path information, obstacle status, and road signs from the database for the autonomous vehicle from the starting point to the destination. Then, it performs path planning based on the drivable path information, obstacle status, and road signs. Using the path planning algorithm, it plans the optimal path from the destination to the starting point in the pre-built global map and determines the optimal path as the initial global path.
[0046] S204. If an obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, the global planner dynamically plans the path to obtain a sub-path and splices the sub-path to the initial global path to obtain the updated target global path.
[0047] In this embodiment, a sub-path refers to a path generated by the global planner to bypass obstacles on the initial global path.
[0048] Specifically, during the autonomous vehicle's operation, the lidar installed on the vehicle acquires environmental information within a preset distance from its current position in real time. If dynamic obstacle information is detected in this environmental information, a new path is planned from the vehicle's current position to its destination. To reduce the computational load of the global planner's path planning and achieve the effect of no obstacles on the initial global path, the global planner only needs to plan a sub-path from the vehicle's current position to a temporary obstacle avoidance point, and then use the sub-path to replace the corresponding part of the initial global path, thereby generating an updated target global path. Since the part of the initial global path between the temporary obstacle avoidance point and the vehicle's current position contains dynamic obstacle location information, the vehicle can avoid obstacles on the initial global path by traveling along the generated sub-path.
[0049] S206, the local planner plans a path based on the target global path and the real-time acquired environmental information to obtain the target local path.
[0050] In this embodiment, after the global planner has planned and generated the target global path, it sends the target global path to the local planner. The local planner receives the target global path and environmental information within a preset distance from the autonomous vehicle sent by the autonomous vehicle's lidar detector. Based on the environmental information, the local planner generates a preset number of sampling paths starting from the current position of the autonomous vehicle. From the preset number of sampling paths, it selects the path closest to the initial global path as the target local path, or selects the path overlapping with the initial global path as the target local path.
[0051] S208, the local planner sends the target local path to the controller of the autonomous vehicle, so that the controller can control the autonomous vehicle to bypass the obstacle according to the target local path.
[0052] In this embodiment, the local planner sends the generated target local path to the controller of the autonomous vehicle. The controller receives and responds to the target local path, and controls the autonomous vehicle to drive around the obstacle.
[0053] In the above path planning method, when the global planner determines that there is an obstacle within a preset distance from the autonomous vehicle, it performs path planning on the initial global path within the preset distance in front of the autonomous vehicle to achieve the effect of local trajectory obstacle avoidance. That is to say, when the server determines that the autonomous vehicle encounters an obstacle that needs to be bypassed, it uses the updated target global path as a reference for travel. Since there are no obstacles on the updated target global path, compared with the high-frequency local path planner that frequently performs local planning during the process of the target vehicle bypassing the obstacle, the computational load of path planning is reduced, thereby improving the efficiency of path planning.
[0054] Please see Figure 3 The diagram illustrates a flowchart of the target global path generation steps provided in an embodiment of this application.
[0055] In one embodiment, such as Figure 3 As shown, the global planner dynamically plans the path to obtain sub-paths, and then concatenates the sub-paths to the initial global path to obtain the updated target global path, including:
[0056] S302, in the initial global path, a location point at a preset distance from the obstacle is selected as a temporary obstacle avoidance point, wherein the temporary obstacle avoidance point and the current position of the unmanned vehicle are located on both sides of the obstacle.
[0057] Temporary obstacle avoidance points are used to determine the area where the autonomous vehicle will replan its path when an obstacle appears in front of it.
[0058] Specifically, when the global planner detects an obstacle from the environmental information, it acquires the obstacle coordinates within a first preset distance from the autonomous vehicle, and then determines a temporary obstacle avoidance point based on the obstacle coordinates. This temporary obstacle avoidance point and the current position of the autonomous vehicle are located on opposite sides of the obstacle. For example, the distance between the obstacle and the temporary obstacle avoidance point is an integer multiple of the distance between the current position of the autonomous vehicle and the obstacle. In one embodiment, if the global planner detects multiple obstacles from the environmental information, it acquires the obstacle coordinates of the obstacle with the largest distance from the current position of the autonomous vehicle, and then determines a temporary obstacle avoidance point based on the first preset distance of the obstacle coordinates.
[0059] S304, the global planner plans a path based on the current location and temporary obstacle avoidance points to obtain a sub-path.
[0060] The global planner uses a path planning algorithm to plan a sub-path between the current position of the autonomous vehicle and the temporary obstacle avoidance point obtained in step S302.
[0061] S306, replace part of the path between the current position of the autonomous vehicle and the temporary obstacle avoidance point in the initial global path with a sub-path to obtain the updated target global path.
[0062] The global planner replaces a portion of the initial global path from the current position of the autonomous vehicle to the temporary obstacle avoidance point with the sub-path planned in step S304, forming the updated target global path.
[0063] In this embodiment, when the global planner determines that there is an obstacle within a preset distance of the autonomous vehicle, it identifies a temporary obstacle avoidance point in the initial global path, plans a sub-path between the autonomous vehicle's current position and the temporary obstacle avoidance point, and updates the target global path. In other words, when the server determines that it has encountered an obstacle that needs to be bypassed, it uses the updated target global path as a reference. Since the updated target global path does not encounter any obstacles, compared to the high-frequency local path planner which frequently performs local planning during the target vehicle's obstacle avoidance process, the computational load of path planning is reduced, thereby improving the efficiency of path planning.
[0064] In some implementations, the global planner sends the planned initial global path trajectory to the target vehicle controller. The target vehicle controller receives the initial global path trajectory sent by the global planner and then controls the target vehicle to travel along the global path trajectory.
[0065] Please see Figure 4 The diagram illustrates a flowchart of a path planning method provided in another embodiment of this application.
[0066] In one embodiment, such as Figure 4As shown, after the global planner plans a path based on the current location and temporary obstacle avoidance points to obtain sub-paths, the path planning method also includes:
[0067] S402, determine whether the sub-path meets the preset conditions.
[0068] The preset conditions can be that the sub-path can bypass obstacles and that the curvature of any segment of the sub-path is less than the preset curvature.
[0069] Specifically, when the global planner plans a sub-path from the current position of the autonomous vehicle to the temporary obstacle avoidance point, if the sub-path can bypass the obstacle, the curvature at each path point on the sub-path is obtained. The curvature at each path point is compared with a preset curvature to determine whether the curvature at each path point is less than the preset curvature, where the preset curvature can be set according to the actual scenario. In this application, when the curvature of any road segment is less than the preset curvature, it indicates that the curvature of the path is small, and the path is conducive to the autonomous vehicle smoothly bypassing obstacles.
[0070] S404 If the sub-path does not meet the preset conditions, a temporary obstacle avoidance point is reselected in the initial global path, and a path is planned based on the current position and the reselected temporary obstacle avoidance point until the output sub-path meets the preset conditions or the number of times the temporary obstacle avoidance point is reselected reaches the preset number.
[0071] Determine whether a subpath meets preset conditions, including:
[0072] If a sub-path bypasses an obstacle, and the curvature of any segment of the sub-path is less than the preset curvature, then the sub-path satisfies the preset condition.
[0073] Otherwise, the sub-path does not meet the preset conditions.
[0074] Specifically, if the global planner determines that the curvature at each path point on the sub-path is less than the preset curvature, then the sub-path is considered to meet the preset condition, and the path from the current position of the autonomous vehicle to the temporary obstacle avoidance point in the initial global path is replaced by the sub-path. If the global planner determines that the curvature at some path points on the sub-path is greater than or equal to the preset curvature, then the sub-path is considered not to meet the preset condition, and a temporary obstacle avoidance point is reselected based on the current position of the autonomous vehicle until the output sub-path meets the preset condition. If the number of times the temporary obstacle avoidance point is selected exceeds the preset number, for example, the preset number is 3 times, then the path planning fails.
[0075] In this embodiment, by filtering the sub-paths, the sub-paths planned by the global planner can bypass obstacles, and the curvature of each trajectory point on the sub-path is less than the preset curvature. Therefore, when the autonomous vehicle travels according to the filtered sub-paths, it can both bypass obstacles and smoothly navigate around them.
[0076] In one embodiment, such as Figure 5 As shown, after the global planner plans a path based on the autonomous vehicle's origin and destination to obtain an initial global path, the path planning method also includes:
[0077] S502, the local planner plans a path based on the initial global path and the real-time environmental information to obtain a local path.
[0078] The global planner sends the initial global path to the local planner. The local planner receives and responds to the initial global path sent by the global planner, and sends an environmental information acquisition command to the autonomous vehicle's controller. The controller receives and responds to the environmental acquisition command, controls the LiDAR to acquire the autonomous vehicle's environmental information in real time, and sends the acquired environmental information to the local planner. The local planner receives and responds to the environmental information sent by the controller, and plans a path based on the initial global path and the environmental information to obtain a local path.
[0079] S504 sends a local path to the controller of the autonomous vehicle, so that the controller can control the autonomous vehicle to drive according to the local path.
[0080] The local planner sends the local path to the autonomous vehicle's controller, which receives and responds to the local path, and controls the autonomous vehicle's movement according to the local path.
[0081] In this embodiment, if there are obstacles on the driving path of the unmanned vehicle at the current time, and an initial global path without obstacles is planned based solely on the vehicle's origin and destination, and the vehicle is controlled to drive according to this initial global path, the unmanned vehicle will collide with the obstacles during its driving process. By planning a local path based on the initial global path and real-time environmental information, the real-time nature of the path information of the local path is ensured, and the unmanned vehicle is controlled to drive according to the local path, which can avoid collisions during the driving process and improve the driving safety of the unmanned vehicle.
[0082] In one embodiment, such as Figure 6 As shown, the local planner plans a path based on the initial global path and the real-time acquired environmental information to obtain a local path, including:
[0083] S602, the local planner generates a preset number of sampling paths at a preset frequency.
[0084] Specifically, the local planner uses a local path algorithm to continuously and iteratively plan local paths. For example, with a preset frequency of 20Hz, it generates sampling paths based on road condition information between the current location of the autonomous vehicle and local sampling points. First, the local planner samples a preset number of paths based on road condition information, such as obstacle information, between the target vehicle's location and the local sampling points, for example, a preset number of paths.
[0085] S604: When no obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, select a path close to the initial global path from a preset number of sampled paths as a local path, or select a path that overlaps with the initial global path as a local path.
[0086] The LiDAR continuously scans the external environment to obtain point cloud data, and then determines whether there are obstacles in the environmental information that the autonomous vehicle needs to detour from. In one approach, if there are more than or equal M paths with obstacles in a preset number of sampling paths, and the duration of the obstacle's presence is greater than or equal to a preset duration, then it is determined that there is an obstacle in the environmental information that the autonomous vehicle needs to detour from, where M is a positive integer greater than or equal to 1. For example, the preset duration is 30 seconds.
[0087] Specifically, when the local planner detects that more than M local sampling trajectories are blocked by obstacles, it obtains the duration of obstruction for each blocked sampling path, i.e., the duration of obstacle existence. If the duration of obstacle existence is greater than or equal to a preset duration, it can be determined that an obstacle that the autonomous vehicle needs to bypass has been detected in the environmental information. Then, in the initial global path, a position point at a preset distance from the obstacle is selected as a temporary obstacle avoidance point. The global planner plans a path based on the current position of the autonomous vehicle and the temporary obstacle avoidance point to obtain a sub-path, and uses this sub-path as part of the global path to bypass the obstacle. If the local planner detects that there are no obstacles in the environmental information, it selects a path close to the initial global path from a preset number of sampling paths as a local path, or selects a path that overlaps with the initial global path as a local path.
[0088] In this embodiment, the temporary obstacle avoidance point crosses all obstacles within a preset distance from the unmanned vehicle on the initial global path. This allows the sub-path to avoid multiple obstacles at once each time the server plans a sub-path as part of the global path, thereby reducing the computational load of the server's path planning and improving the efficiency of the server's path planning trajectory.
[0089] This application, based on dynamic programming, partially updates the global path within a preset distance ahead of the autonomous vehicle when an obstacle appears, achieving an obstacle-free global path. The absence of obstacles on the global path reduces computational load for high-frequency local planners. It also avoids oscillations caused by obstacles. By updating only a small segment of the global path ahead of the vehicle and concatenating it with subsequent global paths, it avoids extensive computation. This dynamic global path update, combined with local programming algorithms, significantly improves the maneuverability of autonomous vehicles.
[0090] Please see Figure 7 The diagram illustrates a flowchart of a path planning method provided in another embodiment of this application.
[0091] In one embodiment, such as Figure 7 As shown, a path planning method is proposed, which mainly includes the following steps:
[0092] S1, the global planner uses the A* algorithm to plan the initial global path of the autonomous vehicle from the starting point to the destination.
[0093] Based on LiDAR, if an obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, a point at a preset distance from the obstacle is selected on the initial global path as a temporary obstacle avoidance point. A path is planned based on the current position and the temporary obstacle avoidance point to obtain a sub-path. The sub-path is used to replace part of the path between the current position of the autonomous vehicle and the temporary obstacle avoidance point in the initial global path to obtain the updated target global path.
[0094] S2, determine whether the sub-path meets the preset conditions.
[0095] The preset condition means that if the sub-path bypasses the obstacle and the curvature of any segment of the sub-path is less than the preset curvature, then the sub-path meets the preset condition. If the sub-path does not meet the preset condition, a temporary obstacle avoidance point is reselected in the initial global path, and a path is planned based on the current position of the unmanned vehicle and the reselected temporary obstacle avoidance point until the output sub-path meets the preset condition or the number of times the temporary obstacle avoidance point is reselected reaches the preset number.
[0096] S3, the local planner generates a preset number of sampling paths at a preset frequency at the current position of the unmanned vehicle.
[0097] If the preset number is 5, if there are more than 2 or more paths with obstacles in the preset number of sampling paths, and the duration of the obstacles is greater than or equal to the preset duration, it means that an obstacle that the autonomous vehicle needs to detour has been detected in the environmental information; otherwise, no obstacle that the autonomous vehicle needs to detour has been detected in the environmental information.
[0098] S4. When an obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, a path planning request is sent to the global planner, and the obstacle coordinate information is sent to the global planner. After receiving the path planning request, the global planner selects a location point at a preset distance from the obstacle on the initial global path as a temporary obstacle avoidance point.
[0099] In this scenario, the temporary obstacle avoidance point and the current position of the autonomous vehicle are located on opposite sides of the obstacle. The global planner then plans a path based on the vehicle's current position and the temporary obstacle avoidance point to obtain a sub-path. This sub-path is represented by the "updated small segment of the global path" in the diagram. The sub-path is then used to replace the portion of the initial global path between the vehicle's current position and the temporary obstacle avoidance point, resulting in the updated target global path. The sub-path is represented by the "updated small segment of the global path" in the diagram.
[0100] S5. If the local planner generates a preset sampling path based on the environmental information, starting from the current position of the unmanned vehicle, and selects the path close to the initial global path as the local path, or selects the path overlapping with the initial global path as the target local path.
[0101] Additionally, it should be noted that the local planner plans the sampling path with reference to the most recently updated global target path.
[0102] S6, the local planner sends the target local path to the autonomous vehicle controller, so that the autonomous vehicle controller can control the autonomous vehicle to bypass the obstacle according to the target local path.
[0103] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0104] Please see Figure 8 The diagram shows a schematic representation of the path planning device provided in an embodiment of this application.
[0105] In one embodiment, such as Figure 8As shown, a path planning device 700 is provided, including: a first path planning module 702, a second path planning module 704, a third path planning module 706, and an operation control module 708, wherein:
[0106] The first path planning module 702 is used by the global planner to plan a path based on the origin and destination of the autonomous vehicle to obtain an initial global path.
[0107] The second path planning module 704 is used to dynamically plan a path by the global planner when an obstacle that the unmanned vehicle needs to bypass is detected in the environmental information, to obtain a sub-path, and to concatenate the sub-path to the initial global path to obtain the updated target global path.
[0108] The third path planning module 706 is used by the local planner to plan a path based on the target global path and the real-time environmental information to obtain the target local path.
[0109] The operation control module 708 is used by the local planner to send the target local path to the controller of the unmanned vehicle, so that the controller can control the unmanned vehicle to bypass obstacles according to the target local path.
[0110] In the aforementioned path planning device 700, when the global planner determines that an obstacle exists within a preset distance from the autonomous vehicle, it plans the initial global path within the preset distance in front of the autonomous vehicle to achieve local trajectory obstacle avoidance. This application, based on dynamic programming, updates the global path within a preset distance in front of the autonomous vehicle when an obstacle appears, achieving an obstacle-free global path. The absence of obstacles on the global path reduces computation for the high-frequency local planner. It also avoids oscillation problems caused by obstacles. Based on dynamic programming, only a small segment of the global path in front of the vehicle is updated and then concatenated with subsequent global paths, avoiding extensive computation. Dynamic global path updates, combined with local planning algorithms, significantly improve the passability of autonomous vehicles.
[0111] In one embodiment, the second path planning module 704 includes: an obstacle avoidance point determination submodule, used to select a location point at a preset distance from an obstacle as a temporary obstacle avoidance point in the initial global path, wherein the temporary obstacle avoidance point and the current position of the unmanned vehicle are located on opposite sides of the obstacle; a sub-path acquisition submodule, used by the global planner to plan a path based on the current position and the temporary obstacle avoidance point to obtain a sub-path; and a replacement submodule, used to replace part of the path between the current position and the temporary obstacle avoidance point in the initial global path with the sub-path to obtain an updated target global path.
[0112] In one embodiment, the sub-path acquisition submodule includes: a judgment unit, used to judge whether the sub-path meets the preset conditions; and an obstacle avoidance point determination unit, used to reselect a temporary obstacle avoidance point in the initial global path if the sub-path does not meet the preset conditions, and plan a path based on the current position and the reselected temporary obstacle avoidance point until the output sub-path meets the preset conditions, or the number of times the temporary obstacle avoidance point is reselected reaches a preset number.
[0113] In one embodiment, the determining unit is further configured to determine if the sub-path satisfies the preset condition if the sub-path bypasses the obstacle and the curvature of any segment of the sub-path is less than the preset curvature; otherwise, the sub-path does not satisfy the preset condition.
[0114] In one embodiment, the first path planning module 702 includes: a local path acquisition submodule, used by the local planner to plan a path based on the target global path and the environmental information acquired in real time, so as to obtain the target local path; and a run control submodule, used to send the local path to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to drive according to the local path.
[0115] In one embodiment, the local path acquisition submodule is further configured to generate a preset number of sampling paths at a preset frequency by the local planner; when no obstacle that the autonomous vehicle needs to detour is detected in the environmental information, the path that is close to the initial global path is selected as the local path from the preset number of sampling paths, or the path that overlaps with the initial global path is selected as the local path.
[0116] In one embodiment, the path planning device 700 further includes: a first judgment module, configured to detect an obstacle that the unmanned vehicle needs to detour in the environmental information when there are more than or equal to M obstacles in a preset number of sampled paths, and the duration of the obstacle's existence is greater than or equal to a preset duration, wherein M is a positive integer greater than or equal to 1; and a second judgment module, configured to otherwise detect no obstacle that the unmanned vehicle needs to detour in the environmental information.
[0117] Each module in the aforementioned path planning device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0118] Please see Figure 9The diagram illustrates a functional block diagram of an unmanned vehicle 800 provided in one embodiment of this application. The unmanned vehicle 800 may include one or more of the following components: a memory 810, a processor 820, and one or more applications, wherein the one or more applications may be stored in the memory 810 and configured to be executed by one or more processors 820, and the one or more applications are configured to perform the methods as described in the foregoing method embodiments.
[0119] The memory 810 may include random access memory (RAM) or read-only memory (ROM). The memory 810 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 810 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as planning an initial global path, detecting obstacles, dynamically planning sub-paths, concatenating sub-paths to the initial global path, acquiring environmental information in real time, planning a target local path, sending the target local path, controlling the autonomous vehicle to bypass obstacles, selecting a location point, replacing the initial global path, obtaining the target global path, judging preset conditions, reselecting temporary obstacle avoidance points, comparing curvature, planning a local path, sending a local path, controlling the autonomous vehicle's movement, generating a sampled path, selecting a local path, and judging whether the autonomous vehicle needs to bypass obstacles, etc.), and instructions for implementing the various method embodiments described below. The data storage area can also store data created by the autonomous vehicle 800 during use (such as global planner, autonomous vehicle, origin, destination, initial global path, environmental information, sub-path, target global path, local planner, target local path, controller, preset distance, temporary obstacle avoidance point, current position, preset conditions, number of times temporary obstacle avoidance points are selected, preset number of times, any road segment, curvature, preset curvature, local path, preset frequency, preset quantity, sampling path, overlapping path, existence duration, and preset duration).
[0120] The processor 820 may include one or more processing cores. The processor 820 connects to various parts within the autonomous vehicle 800 using various interfaces and lines, and performs various functions and processes data of the autonomous vehicle 800 by running or executing instructions, programs, code sets, or instruction sets stored in the memory 810, and by calling data stored in the memory 810. Optionally, the processor 820 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 820 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the displayed content; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 820 and may be implemented separately using a communication chip.
[0121] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0122] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0123] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0124] In the embodiments provided in this application, it should be understood that the disclosed apparatus / terminal devices and methods can be implemented in other ways. For example, the apparatus / terminal device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0125] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0126] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0127] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, ROM, RAM, electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.
[0128] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A path planning method, characterized in that, The method includes: The global planner plans a path in a pre-built global map based on the autonomous vehicle's origin and destination to obtain an initial global path; If an obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, the global planner dynamically plans a path to obtain a sub-path, and then splices the sub-path to the initial global path to obtain an updated target global path; wherein, the sub-path is a path generated by the global planner to bypass obstacles on the initial global path; The local planner plans a path based on the target global path and the real-time acquired environmental information to obtain the target local path; The local planner sends the target local path to the controller of the autonomous vehicle, so that the controller controls the autonomous vehicle to bypass the obstacle according to the target local path; The global planner dynamically plans paths to obtain sub-paths, and then concatenates these sub-paths to the initial global path to obtain the updated target global path, including: In the initial global path, a location point at a preset distance from the obstacle is selected as a temporary obstacle avoidance point, wherein the temporary obstacle avoidance point and the current position of the unmanned vehicle are located on opposite sides of the obstacle; The global planner plans a path based on the current location and the temporary obstacle avoidance point to obtain a sub-path; Replace the portion of the path between the current position and the temporary obstacle avoidance point in the initial global path with the sub-path to obtain the updated target global path.
2. The path planning method as described in claim 1, characterized in that, After the global planner plans a path based on the current position and the temporary obstacle avoidance point to obtain the sub-path, it also includes: Determine whether the sub-path meets the preset conditions; If the sub-path does not meet the preset conditions, a temporary obstacle avoidance point is reselected in the initial global path, and a path is planned based on the current position and the reselected temporary obstacle avoidance point until the output sub-path meets the preset conditions or the number of times the temporary obstacle avoidance point is reselected reaches the preset number.
3. The path planning method as described in claim 2, characterized in that, Determining whether the sub-path meets preset conditions includes: If the sub-path bypasses an obstacle, and the curvature of any segment of the sub-path is less than a preset curvature, then the sub-path satisfies the preset condition. Otherwise, the sub-path does not meet the preset conditions.
4. The path planning method as described in claim 1, characterized in that, The global planner plans a path based on the autonomous vehicle's origin and destination. After obtaining the initial global path, it also includes: The local planner plans a path based on the initial global path and the real-time acquired environmental information to obtain a local path; The local path is sent to the controller of the autonomous vehicle, so that the controller controls the autonomous vehicle to drive according to the local path.
5. The path planning method as described in claim 4, characterized in that, The local planner plans a path based on the initial global path and the real-time acquired environmental information to obtain a local path, including: The local planner generates a preset number of sampling paths at a preset frequency. If no obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, a path close to the initial global path is selected from the preset number of sampled paths as a local path, or a path overlapping with the initial global path is selected as a local path.
6. The path planning method as described in claim 5, characterized in that, The method further includes: If there are more than or equal M obstacles in a preset number of sampling paths, and the duration of the obstacles is greater than or equal to a preset duration, then obstacles that the autonomous vehicle needs to detour are detected in the environmental information, where M is a positive integer greater than or equal to 1. Otherwise, no obstacles that the autonomous vehicle needs to bypass are detected in the environmental information.
7. A path planning device, characterized in that, The device includes: The first path planning module is used by the global planner to plan a path in a pre-built global map based on the origin and destination of the autonomous vehicle to obtain an initial global path. The second path planning module is used to dynamically plan a path by the global planner when an obstacle that the autonomous vehicle needs to bypass is detected in the environmental information, to obtain a sub-path, and to concatenate the sub-path to the initial global path to obtain an updated target global path; wherein, the sub-path is a path generated by the global planner to bypass obstacles on the initial global path. The third path planning module is used by the local planner to plan a path based on the target global path and the real-time environmental information to obtain the target local path. The operation control module is used to send the target local path from the local planner to the controller of the unmanned vehicle, so that the controller controls the unmanned vehicle to bypass obstacles according to the target local path; The second path planning module includes: The obstacle avoidance point determination submodule is used to select a location point at a preset distance from the obstacle in the initial global path as a temporary obstacle avoidance point, wherein the temporary obstacle avoidance point and the current position of the unmanned vehicle are located on both sides of the obstacle, respectively. The sub-path acquisition sub-module is used by the global planner to plan a path based on the current position and the temporary obstacle avoidance point in order to obtain the sub-path. The replacement submodule is used to replace a portion of the path between the current position and the temporary obstacle avoidance point in the initial global path with the subpath to obtain the updated target global path.
8. An unmanned vehicle, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the path planning method as described in any one of claims 1 to 6.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the path planning method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Method and device for avoiding dynamic obstacles by robot
CN108227706A
AGV navigation system and AGV
CN112596513A
Path planning method and device, robot and storage medium
CN113791616A