Method and apparatus for planning vehicle driving path, and intelligent vehicle and storage medium

By generating a path that includes at least two curved road segments, and using the Dubins curve and traffic lanes to plan the vehicle's driving path, the problem of autonomous driving in narrow intersection U-turn scenarios is solved, enabling vehicles to make safe and smooth U-turns.

WO2025228049A1PCT designated stage Publication Date: 2025-11-06YINWANG INTELLIGENT TECHNOLOGIES CO LTD

Patent Information

Application Number
PCT/CN2025/086465
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2025-03-31
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

In U-turn scenarios at intersections, especially at narrow intersections, autonomous driving technology struggles to effectively plan the vehicle's driving path, resulting in the vehicle being unable to complete the U-turn and posing a collision risk.

Method used

By generating a path that includes at least two curved road segments, the driving path of the vehicle is planned using the Dubins curve and traffic lanes, taking into account the vehicle's turning ability and the predicted trajectories of static and dynamic obstacles at intersections, and the path is updated in a timely manner to avoid collisions.

Benefits of technology

It enhances the autonomous driving capabilities in U-turn scenarios at intersections, ensuring vehicles can safely and smoothly complete U-turn operations, while reducing the complexity of path planning and computation time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025086465_06112025_PF_FP_ABST
    Figure CN2025086465_06112025_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for planning a vehicle driving path, and an intelligent vehicle and a storage medium, which relate to the field of autonomous driving. The method comprises operations such as acquiring a first pre-planned path, generating a first path on the basis of the first pre-planned path and the turning capability of a vehicle, and controlling the vehicle to travel along the first path, wherein the first pre-planned path is a pre-planned path between a road entrance and a road exit in a target intersection, the first path is a travelling path between the road entrance and the road exit, the first path comprises at least two arc-shaped road sections, and the distance between the road entrance and the road exit is less than twice the turning radius of the vehicle. Therefore, a vehicle can complete a one-time U-turn operation along a first path, thereby achieving the effect of improving the capability of autonomous driving in terms of U-turn scenarios at intersections.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for planning vehicle driving path, intelligent vehicle and storage medium

[0001] The present application claims priority to the Chinese patent application No. 202410544121.6, filed on April 30, 2024, with the State Intellectual Property Office of China, and entitled "Method and device for planning vehicle driving path, intelligent vehicle and storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of autonomous driving, and in particular to a method and device for planning vehicle driving path, an intelligent vehicle and a storage medium. BACKGROUND

[0003] Artificial intelligence (AI) is the use of digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a branch of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a similar way to human intelligence. Artificial intelligence is the design principle and implementation method of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making. The research in the field of artificial intelligence includes robots, natural language processing, computer vision, decision-making and reasoning, human-computer interaction, recommendation and search, AI basic theory, etc.

[0004] Autonomous driving is a mainstream application in the field of artificial intelligence. Autonomous driving technology relies on computer vision, radar and global positioning system (GPS) to control motor vehicles on the road. Autonomous driving includes multiple sub-divided driving scenarios, such as turning at intersections, overtaking or changing lanes, etc. The intersection turning scenario (especially the narrow intersection turning scenario) needs to consider many factors such as the turning radius of the vehicle, the entry and exit of the lane, pedestrians and oncoming vehicles, so that the autonomous driving capability in the intersection turning scenario needs to be improved. SUMMARY

[0005] The present application provides a method and device for planning vehicle driving path, an intelligent vehicle and a storage medium. The method for planning vehicle driving path provided by the present application can generate a turning path including at least two arc-shaped segments, so that the vehicle can smoothly complete the turning operation along the path, thereby improving the autonomous driving capability in the intersection turning scenario.

[0006] In a first aspect, the present application provides a method for planning a driving path of a vehicle, comprising: obtaining a first pre-planned path, generating a first path based on the first pre-planned path and a turning ability of the vehicle, and controlling the vehicle to drive along the first path. The first pre-planned path is a path pre-planned between a road entrance and a road exit in a target intersection, and the first path is a driving path between the road entrance and the road exit. The first path includes at least two arc-shaped segments, and the distance between the road entrance and the road exit is less than twice the turning radius of the vehicle.

[0007] In the present application, the distance between the road entrance and the road exit is less than twice the turning radius of the vehicle, so that the vehicle cannot complete the U-turn operation even if the steering wheel is turned to the dead position, thereby making the U-turn operation more difficult. Similarly, the U-turn operation is also more difficult for autonomous driving technology. The method for planning a driving path of a vehicle provided by the present application first obtains a first pre-planned path, which is a path pre-planned between a road entrance and a road exit. For example, in the case where there is no dynamic obstacle in the intersection, the vehicle can be controlled to drive along the first pre-planned path from the road entrance to the road exit. Then, a first path is generated based on the first pre-planned path and the turning ability of the vehicle, so that the first path includes at least two arc-shaped segments, thereby enabling the vehicle to complete a one-time U-turn operation and improving the autonomous driving capability in the intersection U-turn scenario.

[0008] In a possible implementation of the first aspect, in the case where the angle a between the road entrance and the road exit is less than 360°, the distance L1 between the road entrance and the road exit and twice the turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°- a).

[0009] In the above implementation, in the case where L1 and L2 satisfy L1 < L2 * COS(360°- a), the vehicle cannot complete the U-turn operation even if the steering wheel is turned to the dead position. In this case, the first path including at least two arc-shaped segments is generated by using the scheme of the present application, so that the vehicle can drive along the first path to complete the U-turn.

[0010] In another possible implementation of the first aspect, the obtaining of the first pre-planned path comprises determining the first pre-planned path based on the road entrance, the road exit, the turning ability of the vehicle, and a first static obstacle located in the target intersection.

[0011] The above embodiment generates the first pre-planned path by considering the turning ability of the vehicle and the static obstacles in the target intersection, so that the vehicle can avoid the first static obstacle during driving along the first pre-planned path from the road entrance to the road exit, and the subsequent path planning is reduced in complexity and improved in efficiency.

[0012] Optionally, a dubins curve can be solved based on the road entrance, the road exit, the turning ability of the vehicle and the first static obstacle, and a passing channel between the road entrance and the road exit can be generated based on the dubins curve. Then, a trajectory smoothing problem can be solved based on the dubins curve and the passing channel to obtain a smooth human-like curve, and the path corresponding to the smooth human-like curve is the first pre-planned path. Obviously, the process of generating the first pre-planned path in the present application is simple and efficient, and a smooth human-like reference path can be generated for subsequent path planning, thereby improving the overall planning speed.

[0013] Optionally, the above passing channel can also be modified based on more static obstacles, and the first pre-planned path can be solved based on the modified passing channel.

[0014] In another possible implementation of the first aspect, the above method further includes determining a first channel based on the first pre-planned path, the topology of the target intersection and the predicted trajectory of the dynamic obstacle, the first channel including a passing channel between the road entrance and the road exit in the target intersection. The first path is generated based on the first pre-planned path and the turning ability of the vehicle, including generating the first path based on the first channel, the first pre-planned path and the turning ability of the vehicle.

[0015] In the above embodiment, the first channel is determined based on the first pre-planned path, the topology of the target intersection and the predicted trajectory of the dynamic obstacle, so that the predicted trajectory of the dynamic obstacle and the static obstacle are not included in the first channel, so that the vehicle can drive in the first channel without colliding with the dynamic / static obstacle. The first path is generated based on the first channel, the first pre-planned path and the turning ability of the vehicle, so that the vehicle can complete the U-turn operation along the first path without collision.

[0016] In a possible implementation of the first aspect, the first path is generated based on the first lane, the first pre-planned path, and the turning capability of the vehicle, including: determining constraint conditions of each trajectory point in the to-be-optimized path based on the boundary of the first lane and the first pre-planned path; generating a second path based on the first lane, the first pre-planned path, the turning capability of the vehicle, and the constraint conditions of each trajectory point in the to-be-optimized path; updating the constraint condition of the i th trajectory point in the to-be-optimized path based on the second path and the boundary of the first lane, where i is an integer between 1 and N, and N is the number of trajectory points in the to-be-optimized path; and generating the first path based on the first lane, the second path, the turning capability of the vehicle, and the updated constraint conditions of each trajectory point in the to-be-optimized path, where the to-be-optimized path includes the first pre-planned path and the second path.

[0017] In the above implementation, the constraint condition of each trajectory point in the to-be-optimized path can be determined based on the boundary of the first lane and the first pre-planned path. For example, the constraint condition corresponding to the first trajectory point in the first pre-planned path is the constraint condition of the first trajectory point in the to-be-optimized path. For another example, the constraint condition corresponding to the third trajectory point in the first pre-planned path is the constraint condition of the third trajectory point in the to-be-optimized path. The second path is generated based on the first lane, the first pre-planned path, the turning capability of the vehicle, and the constraint conditions of each trajectory point in the to-be-optimized path, for example, by solving a nonlinear programming problem, where the first lane, the first pre-planned path, the turning capability of the vehicle, and the constraint conditions of each trajectory point in the to-be-optimized path can be used as input parameters of the nonlinear programming problem. The second path can be the path output in the process of solving the nonlinear programming problem, i.e., the second path is the to-be-optimized path, rather than the final output path. The constraint condition of the i th trajectory point in the to-be-optimized path is updated based on the second path and the boundary of the first lane, and the first path is generated based on the first lane, the second path, the turning capability of the vehicle, and the updated constraint conditions of each trajectory point in the to-be-optimized path, which can make the subsequent process of solving the nonlinear programming problem more efficient and avoid the phenomenon of low solving efficiency or failure to obtain a result due to unreasonable constraint setting.

[0018] Optionally, the constraint condition of the trajectory point is used to constrain the value range of the trajectory point, for example, the constraint condition of the trajectory point is a half-space constraint.

[0019] In a possible implementation manner of the first aspect, the boundary of the first lane is composed of a plurality of lane boundaries, and each trajectory point in the to-be-optimized path corresponds to a lane boundary. The constraint condition of the i-th trajectory point in the to-be-optimized path is updated based on the second path and the boundary of the first lane, including: in a case where the i-th trajectory point in the second path is located outside the lane boundary corresponding to the i-th trajectory point in the second path, the lane boundary corresponding to the i-th trajectory point in the second path is determined as the constraint condition of the i-th trajectory point in the to-be-optimized path.

[0020] In the above implementation manner, in a case where the i-th trajectory point in the second path is located outside the lane boundary corresponding to the i-th trajectory point in the second path, the lane boundary corresponding to the i-th trajectory point in the second path is determined as the constraint condition of the i-th trajectory point in the to-be-optimized path. The lane boundary corresponding to the i-th trajectory point in the second path can be understood as the lane boundary closest to the i-th trajectory point in the second path. For example, in a case where the SL coordinate system is established, the lane boundary corresponding to the i-th trajectory point in the second path is determined by judging which segment of the lane boundary the value of the i-th trajectory point in the second path in the S direction belongs to.

[0021] In a possible implementation manner of the first aspect, the second path is generated based on the first lane, the first pre-planned path, the turning ability of the vehicle and the constraint condition of each trajectory point in the to-be-optimized path, including: performing iterative calculation based on the first lane, the first pre-planned path, the turning ability of the vehicle and the constraint condition of each trajectory point in the to-be-optimized path, and sequentially generating M third paths, the second path being the M-th third path, M being an integer greater than 1, and the to-be-optimized path including the third paths.

[0022] In the above implementation manner, the second path is the M-th third path, and in combination with the above updating of the constraint condition of the trajectory point, it can be understood that the constraint condition of the trajectory point is updated once every M times of iterative calculation. By setting a suitable updating frequency, the speed of calculating the passing path can be effectively improved, thereby avoiding the problem of vehicle lag caused by the inability to calculate the passing path in time.

[0023] In a possible implementation manner of the first aspect, the constraint condition of the i-th trajectory point in the to-be-optimized path is updated based on the second path and the boundary of the first lane, including: the constraint condition of the i-th trajectory point in the to-be-optimized path is updated based on the second path, the boundary of the first lane and the M-1-th third path.

[0024] In the above-mentioned embodiment, the M-1th third path is a path generated before the second path, and the constraint condition of the i th trajectory point of the to-be-optimized path is updated based on the second path, the boundary of the first channel and the M-1th third path, which can increase the accuracy of the constraint condition of the i th trajectory point of the to-be-optimized path, so that the passing path can be generated more quickly based on the updated constraint condition of the i th trajectory point.

[0025] In a possible implementation of the first aspect, the constraint condition of the i th trajectory point of the to-be-optimized path is updated based on the second path, the boundary of the first channel and the M-1th third path, including: in a case where the i th trajectory point of the second path is located outside the channel boundary corresponding to the i th trajectory point of the M-1th third path, the channel boundary corresponding to the i th trajectory point of the second path is determined as the constraint condition of the i th trajectory point of the to-be-optimized path.

[0026] In the above-mentioned embodiment, in a case where the i th trajectory point of the second path is located outside the channel boundary corresponding to the i th trajectory point of the M-1th third path, the constraint condition of the i th trajectory point of the to-be-optimized path is updated in time, which can make the constraint condition of the i th trajectory point of the to-be-optimized path more reasonable, thereby increasing the speed of calculating the passing path.

[0027] In a possible implementation of the first aspect, the first path is generated based on the first channel, the first pre-planned path and the turning ability of the vehicle, including: in a case where the first path fails to be generated based on the first channel, the first pre-planned path and the turning ability of the vehicle, the channel boundary related to the predicted trajectory of the dynamic obstacle in the first channel is adjusted based on the predicted trajectory of the dynamic obstacle to determine a second channel. The second channel includes a passing channel between the road entrance and the road exit in the target intersection, and the channel boundary related to the predicted trajectory of the dynamic obstacle in the second channel is a crossable boundary. The first path is generated based on the second channel, the first pre-planned path and the turning ability of the vehicle.

[0028] In the above-mentioned embodiment, in a case where the first path fails to be generated based on the first channel, the first pre-planned path and the turning ability of the vehicle, the channel boundary related to the predicted trajectory of the dynamic obstacle in the first channel is adjusted to determine a second channel. For example, the channel boundary related to the predicted trajectory of the dynamic obstacle in the first channel is modified as a soft boundary. The first path is calculated again based on the second channel, the first pre-planned path and the turning ability of the vehicle, so that the first path calculated again can break through the boundary (soft boundary part) of the second channel to a certain extent, thereby improving the probability of successfully solving the first path, avoiding the phenomenon of exiting the automatic driving, human takeover and the like caused by a long time of being unable to successfully solve the first path, and further improving the driving experience.

[0029] In a possible implementation of the first aspect, the method further includes: obtaining a second static obstacle during the driving of the vehicle along the first path, the second static obstacle being located in the target intersection; modifying the first pre-planned path based on the second static obstacle; and updating the first path based on the modified first pre-planned path.

[0030] In the above implementation, the second static obstacle is obtained during the driving of the vehicle, and the first pre-planned path is modified based on the second static obstacle, and then the first path is updated, so that the vehicle can timely avoid the newly discovered static obstacle, and the safety of driving and riding is improved.

[0031] In a second aspect, the present application provides a device for planning a driving path of a vehicle, which includes a routing module, a planning module, a control module, and the like.

[0032] The routing module is configured to obtain a first pre-planned path, the planning module is configured to generate a first path based on the first pre-planned path and a turning capability of the vehicle, and the control module is configured to control the vehicle to drive along the first path. The first pre-planned path is a path pre-planned between a road entrance and a road exit in a target intersection, the first path is a driving path between the road entrance and the road exit, the first path includes at least two arc-shaped segments, and a distance between the road entrance and the road exit is less than twice a turning radius of the vehicle.

[0033] In a possible implementation of the second aspect, in a case where an angle α between the road entrance and the road exit is less than 360°, a distance L1 between the road entrance and the road exit and twice a turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°-α).

[0034] In a possible implementation of the second aspect, the routing module is specifically configured to determine the first pre-planned path based on the road entrance, the road exit, the turning capability of the vehicle, and a first static obstacle, and the first static obstacle is located in the target intersection.

[0035] Optionally, the routing module can solve a dubins curve based on the road entrance, the road exit, the turning capability of the vehicle, and the first static obstacle, and generate a traffic channel between the road entrance and the road exit based on the dubins curve. Then, a trajectory smoothing problem is solved based on the dubins curve and the traffic channel, so as to obtain a smooth human-like curve, and a path corresponding to the curve is the first pre-planned path.

[0036] In a possible implementation manner of the second aspect, the device for planning a driving path of a vehicle further includes a prediction module configured to predict a predicted trajectory of the dynamic obstacle. The routing module is further configured to determine a first passage based on the first pre-planned path, the topology of the target intersection, and the predicted trajectory of the dynamic obstacle, the first passage including a passing channel between a road entrance and a road exit in the target intersection. The planning module is further configured to generate the first path based on the first passage, the first pre-planned path, and the turning capability of the vehicle.

[0037] In a possible implementation manner of the second aspect, the planning module is specifically configured to determine a constraint condition of each trajectory point in the to-be-optimized path based on a boundary of the first passage and the first pre-planned path. The second path is generated based on the first passage, the first pre-planned path, the turning capability of the vehicle, and the constraint condition of each trajectory point in the to-be-optimized path. The constraint condition of the i th trajectory point in the to-be-optimized path is updated based on the second path and the boundary of the first passage, i is an integer belonging to 1 to N, and N is the number of trajectory points in the to-be-optimized path. The first path is generated based on the first passage, the second path, the turning capability of the vehicle, and the constraint condition of each trajectory point in the updated to-be-optimized path. The to-be-optimized path includes the first pre-planned path and the second path.

[0038] Optionally, the constraint condition of the trajectory point is used to constrain the value range of the trajectory point, for example, the constraint condition of the trajectory point is a half-space constraint.

[0039] In a possible implementation manner of the second aspect, the boundary of the first passage is composed of a plurality of passage boundaries, and each trajectory point in the to-be-optimized path corresponds to a passage boundary. The planning module is specifically configured to, in a case where the i th trajectory point of the second path is located outside the passage boundary corresponding to the i th trajectory point of the second path, determine the passage boundary corresponding to the i th trajectory point of the second path as the constraint condition of the i th trajectory point of the to-be-optimized path.

[0040] In a possible implementation manner of the second aspect, the planning module is specifically configured to perform iterative calculation based on the first passage, the first pre-planned path, the turning capability of the vehicle, and the constraint condition of each trajectory point in the to-be-optimized path, to generate M third paths in sequence, the second path being the M th third path, M being an integer greater than 1, and the to-be-optimized path including the third paths.

[0041] In a possible implementation manner of the second aspect, the planning module is specifically configured to update the constraint condition of the i th trajectory point in the to-be-optimized path based on the second path, the boundary of the first passage, and the M-1 th third path.

[0042] In a possible implementation of the second aspect, the planning module is specifically configured to determine the channel boundary corresponding to the i th trajectory point of the second path as a constraint condition of the i th trajectory point of the to-be-optimized path in a case where the i th trajectory point of the second path is located outside the channel boundary corresponding to the i th trajectory point of the M-1 th third path.

[0043] In a possible implementation of the second aspect, the planning module is specifically configured to adjust, in a case where the generation of the first path based on the first channel, the first pre-planned path, and the turning capability of the vehicle fails, the channel boundary related to the predicted trajectory of the dynamic obstacle in the first channel based on the predicted trajectory of the dynamic obstacle, to determine a second channel. The second channel includes a passing channel between the road entrance and the road exit in the target intersection, and the channel boundary related to the predicted trajectory of the dynamic obstacle in the second channel is a crossable boundary. The first path is generated based on the second channel, the first pre-planned path, and the turning capability of the vehicle.

[0044] In a possible implementation of the second aspect, the perception module is further configured to acquire a second static obstacle during the driving of the vehicle along the first path, the second static obstacle being located in the target intersection. The routing module is further configured to modify the first pre-planned path based on the second static obstacle. The planning module is further configured to update the first path based on the modified first pre-planned path.

[0045] In a third aspect, the present application provides a device for planning a driving path of a vehicle, comprising a processor and a memory; wherein the memory is configured to store program code, and the processor is configured to invoke the program code to execute the method provided in any of the possible implementations of the first aspect.

[0046] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the method provided in any of the first aspect.

[0047] In a fifth aspect, the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method provided in any of the first aspect.

[0048] In a sixth aspect, the present application provides a chip system applied to an electronic device; the chip system comprises one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a circuit; the interface circuit is configured to receive a signal from a memory of the electronic device and send the signal to the processor, and the signal comprises computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device executes the method provided in any of the first aspect.

[0049] In a seventh aspect, the present application provides an intelligent vehicle, characterized by comprising a traveling system, a sensing system, a control system and a computer system, wherein the computer system is configured to execute the method provided in any of the first aspect.

[0050] It can be understood that the device provided in the second aspect, the device provided in the third aspect, the computer storage medium provided in the fourth aspect, the computer program product provided in the fifth aspect, the chip system provided in the sixth aspect and the intelligent vehicle provided in the seventh aspect are all configured to execute the method provided in any of the first aspect. Therefore, the beneficial effects achieved thereby can refer to the beneficial effects in the corresponding method, which will not be described here again. BRIEF DESCRIPTION OF DRAWINGS

[0051] The drawings used by the embodiments of the present application are described below.

[0052] FIG. 1 is a schematic diagram of a system architecture for planning a driving path of a vehicle according to an embodiment of the present application;

[0053] FIGS. 2A and 2B are schematic diagrams of a narrow intersection U-turn scenario according to an embodiment of the present application;

[0054] FIG. 3 is a schematic diagram of a road angle according to an embodiment of the present application;

[0055] FIG. 4 is a schematic diagram of a method for planning a driving path of a vehicle according to an embodiment of the present application;

[0056] FIG. 5 is a schematic diagram of a Dubins curve according to an embodiment of the present application;

[0057] FIG. 6 is a schematic diagram of planning a Dubins curve according to an embodiment of the present application;

[0058] FIGS. 7A and 7B are schematic diagrams of another method for planning a Dubins curve according to an embodiment of the present application;

[0059] FIG. 8 is a schematic diagram of another method for planning a Dubins curve according to an embodiment of the present application;

[0060] FIG. 9A is a schematic diagram of a passing lane according to an embodiment of the present application;

[0061] FIGS. 9B to 9F are schematic diagrams of updating the passing lane shown in FIG. 9A according to an embodiment of the present application;

[0062] FIGS. 10A to 10C are schematic diagrams of another method for updating the passing lane shown in FIG. 9A according to an embodiment of the present application

[0063] FIG. 11 is a schematic diagram of a relationship between a passing lane and a trajectory point according to an embodiment of the present application;

[0064] FIG. 12 is a flowchart of a method for dynamically updating a half-space constraint of a trajectory point according to an embodiment of the present application;

[0065] FIGS. 13A and 13B are schematic diagrams of a second path according to an embodiment of the present application;

[0066] FIG. 14 is a flowchart of another method for planning a driving path of a vehicle according to an embodiment of the present application;

[0067] FIG. 15 is a schematic diagram of hardening of a soft boundary according to an embodiment of the present application;

[0068] FIG. 16 is a schematic diagram of a device for planning a driving path of a vehicle according to an embodiment of the present application;

[0069] FIG. 17 is a schematic diagram of another device for planning a driving path of a vehicle according to an embodiment of the present application. DETAILED DESCRIPTION

[0070] The embodiments of the present application will be described below in conjunction with the accompanying drawings. The terms used in the implementation part of the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0071] Referring to FIG. 1, a system architecture for planning a driving path of a vehicle is shown. The system can include one or more of a perception module, a prediction module, a routing module, a decision module, a planning module, and a control module. The perception module is configured to perceive static and dynamic obstacles on a road, including curbs, lanes, pedestrians, and other vehicles. The static obstacles, such as curbs and lanes, are used to generate a lane-level fully connected topology, which facilitates path planning and decision making by other modules. The dynamic obstacles, such as pedestrians and other vehicles, are important factors to consider in the path planning process. The prediction module is configured to generate predicted trajectories of the dynamic obstacles. For example, the perception module outputs information about the position, speed, and acceleration of a target vehicle, and the prediction module can predict the trajectory of the target vehicle in the next period of time based on the motion information of the target vehicle. The routing module is configured to generate a drivable area for the vehicle. For example, the routing module can generate a static boundary based on the static and dynamic obstacles, and modify the static boundary based on the predicted trajectories of the dynamic obstacles to obtain the drivable area for the vehicle. Optionally, the routing module is further configured to generate a pre-planned path, which can be generated based on the static obstacles and the turning ability of the vehicle. The decision module is configured to generate obstacle avoidance decision information, such as left avoidance, right avoidance, or no avoidance. The obstacle avoidance decision information can further include information about the distance of avoidance, such as left avoidance by 30 cm or right avoidance by 10 cm. The planning module is configured to generate a path for the vehicle based on the drivable area and the obstacle avoidance decision information. The control module is configured to control the vehicle to follow the path generated by the planning module.

[0072] The above system is only an example, and other functional module division methods can also be used in specific implementations, which are not limited to the functional module division structure shown in FIG. 1. The specific functional module division is not limited in the embodiments of the present application.

[0073] The present application can be applied to an autonomous vehicle driving on an open road. When the driving range includes a road scene where there is no actual lane line or multiple reasonable driving trajectories, a reasonable road topology analysis needs to be performed and corresponding topology navigation guidance information needs to be provided for the vehicle to perform intention prediction, trajectory (curve) prediction, lane decision, and motion planning. The above road scene includes but is not limited to a narrow road U-turn intersection, a crossroad, a roundabout, a waiting area intersection, a small S-bend, a viaduct entrance and exit, a multi-lane road without lane markings, and a continuous turning intersection. Of course, it can also be other scenes, which are not limited in the present solution.

[0074] The above is only described by taking the application of the embodiments of the present application to an autonomous driving scene as an example. The method for planning a driving path of a vehicle provided by the present application can also be applied to an assisted driving scene, which is not limited in the present solution.

[0075] The embodiment can be executed by a vehicle-mounted device (such as a car machine), and can also be executed by a terminal device such as a mobile phone or a computer. The present solution does not make specific limitations on this. For example, the vehicle-mounted device can be an electronic control unit (ECU), a vehicle dynamics control (VDC), or a continuous damping control (CDC) in a vehicle.

[0076] It should be noted that the method for planning a vehicle driving path provided in the present application can be executed locally or by a cloud. The cloud can be implemented by a server, which can be a virtual server, a physical server, or the like, and can also be other devices, and the present solution does not make specific limitations on this.

[0077] Next, the method for planning a vehicle path provided in the present application is exemplarily introduced by taking the scene of narrow intersection turning as an example. Narrow intersection turning generally refers to the situation that the distance between the road entrance and the road exit is narrow and cannot support the turning operation of steering wheel dead. According to whether the two lanes before and after turning are parallel, the narrow intersection turning can be divided into U-shaped narrow intersection turning and quasi-U-shaped narrow intersection turning. The scene of U-shaped narrow intersection turning can be seen from FIG. 2A. As shown in FIG. 2A, the lane corresponding to the road exit is parallel to the lane corresponding to the road entrance, and the distance between the entrance and the exit is less than twice the turning radius of the vehicle, so that the vehicle cannot complete the turning operation of steering wheel dead. The scene of quasi-U-shaped narrow intersection turning can be seen from FIG. 2B. As shown in FIG. 2B, the lane corresponding to the road exit is not parallel to the lane corresponding to the road entrance, and the distance L1 between the entrance and the exit satisfies the following relationship with the twice turning radius L2 of the vehicle: L1 < L2 * COS(360°-α), so that the vehicle cannot complete the turning operation of steering wheel dead, where α is the included angle between the two lanes before and after turning. The method for determining the lane included angle can refer to the related description of FIG. 3.

[0078] Optionally, the distance between the road entrance and the road exit can be obtained by measuring the distance between the midpoints of the road entrance and the road exit. Of course, in the specific implementation process, the distance between the road entrance and the road exit can also be measured by other methods, which are not limited in the present application.

[0079] Please refer to FIG. 3, which is a schematic diagram of a road angle provided by the present application. As shown in FIG. 3, the first lane and the second lane are respectively the lanes before and after the vehicle U-turn, and the angle between the first lane and the second lane is denoted by a. Since the first lane and the second lane are respectively the lanes before and after the vehicle U-turn, the value range of a in the present application is (180°, 360°]. For example, in the left U-turn scenario shown in (a) of FIG. 3 and the right U-turn scenario shown in (b) of FIG. 3, the value range of a is (180°, 360°), and a is equal to 330° or 340°, etc. For another example, in the left U-turn scenario shown in (c) of FIG. 3 and the right U-turn scenario shown in (d) of FIG. 3, the value of a is 360°.

[0080] Obviously, the scenario of U-turn at a narrow intersection, especially the scenario of U-turn at a narrow intersection involving dynamic interaction, has a high requirement on the path planning capability of the automatic driving technology to avoid the phenomenon of vehicle jam, poor driving experience, and even being stuck.

[0081] Therefore, the present application provides a method and device for planning a driving path of a vehicle, an intelligent vehicle, and a storage medium, which can generate a driving path including at least two arc-shaped road segments based on a pre-planned path and the turning capability of the vehicle, thereby ensuring the vehicle to complete the U-turn at a narrow intersection.

[0082] Please refer to FIG. 4, which is a flowchart of a method for planning a driving path of a vehicle provided by an embodiment of the present application. As shown in the detection method of FIG. 4, the method can include one or more steps in steps S401 to S403. For example, in some schemes, only steps S401 and S403 can be included. It should be understood that, for the convenience of description, the steps S401 to S403 are described in this order, and it is not intended to limit the execution in the above order. The present application does not limit the execution order, execution time, and execution times of the one or more steps. The steps S401 to S403 are specifically as follows:

[0083] S401, obtaining a first pre-planned path.

[0084] In a possible implementation, the first pre-planned path is generated by the routing module shown in FIG. 1 based on static obstacles and turning ability of the vehicle, for example. Exemplarily, the first pre-planned path can be determined based on the road entrance, the road exit, the turning ability of the vehicle, and the first static obstacle located in the target intersection. For example, a Dubins curve between the road entrance and the road exit can be solved based on the road entrance, the road exit, the turning ability of the vehicle, the first static obstacle, and the like, and a passing channel between the road entrance and the road exit can be generated based on the Dubins curve. Then, the Dubins curve is smoothed based on the Dubins curve and the passing channel to obtain the first pre-planned path. Next, the process of obtaining the first pre-planned path is exemplarily described in steps as follows.

[0085] Step 1: Solve a Dubins curve based on the road entrance, the road exit, and the turning ability of the vehicle.

[0086] It can be understood that the Dubins curve is the shortest path connecting a start end and an end under the condition of satisfying a curvature constraint and a tangent line (an entry direction) of the start end and a tangent line (an exit direction) of the end. Therefore, the Dubins curve between the road entrance and the road exit can be solved to obtain the shortest driving route between the road entrance and the road exit, and thus the driving path finally planned has high driving efficiency. Please refer to FIG. 5, which is a schematic diagram of a Dubins curve provided by an embodiment of the present application. As shown in FIG. 5, the Dubins curve includes two arc lines with the same curvature and a straight line, and the straight line is tangent to the circles corresponding to the two arc lines. Of course, the Dubins curve shown in FIG. 5 is only one type of the Dubins curve, and the Dubins curve described in FIG. 5 should not be regarded as a limitation of the present application. In some possible implementations, the curvatures of the two end arc shapes in the Dubins curve can also be different, but are greater than the minimum curvature limit.

[0087] Next, the actual application of the Dubins curve is exemplarily described in combination with an actual U-turn scenario. Please refer to FIG. 6, which is a schematic diagram of a planned Dubins curve provided by an embodiment of the present application. As shown in FIG. 6, because the double minimum turning radius (R) of the vehicle is greater than the distance between the road entrance and the road exit, the vehicle cannot complete the U-turn operation of steering the steering wheel to the dead position, and the vehicle can complete the U-turn operation in the shortest driving path along the Dubins curve shown in FIG. 6 (provided that the vehicle is not allowed to perform a reverse operation). For example, the vehicle keeps the driving direction unchanged at the road exit and continues to move forward along the straight line by d1. Then, the vehicle turns left at the minimum turning radius, and the turning angle is β1. Next, the vehicle turns right at the minimum turning radius, and the turning angle is γ1, so that the driving direction of the vehicle is parallel to the lane direction of the road entrance, and the U-turn operation of the vehicle is completed.

[0088] Obviously, the above Dubins curve shown in Fig. 6 does not consider the situation that there are obstacles on the road. For example, there can be roadblocks, broken-down motor vehicles and road construction in the middle of the road entrance lane and the intersection. When the above situation occurs, the Dubins curve needs to be adjusted or the road entrance needs to be reselected and the Dubins curve needs to be re-planned so that the vehicle can complete the turning operation along the planned Dubins curve.

[0089] Please refer to Figs. 7A and 7B, wherein Fig. 7A shows a scenario that there is an obstacle on the road entrance lane, and Fig. 7B shows a scenario that there is an obstacle in the middle of the intersection, which will cause the vehicle to be unable to turn around along the Dubins curve shown in Fig. 6, so the Dubins curve shown in Fig. 6 needs to be adjusted to enable the vehicle to avoid the obstacle during driving. As shown in Fig. 7A, the vehicle keeps the driving direction unchanged at the road exit and continues to drive along the straight line for d2. Then, the vehicle turns left with the smallest turning radius, and the turning angle is β2. Next, the vehicle keeps the driving direction unchanged and drives along the straight line for d3. Further, the vehicle turns right again with the smallest turning radius, and the turning angle is γ2, so that the driving direction of the vehicle is parallel to the lane direction of the road entrance, and the turning operation of the vehicle is completed. As shown in Fig. 7B, the vehicle keeps the driving direction unchanged at the road exit and continues to drive along the straight line for d4. Then, the vehicle turns left with the smallest turning radius, and the turning angle is β3. Next, the vehicle turns right again with the smallest turning radius, and the turning angle is γ3, so that the driving direction of the vehicle is parallel to the lane direction of the road entrance, and the turning operation of the vehicle is completed.

[0090] In combination with the contents shown in Figs. 6 and 7A, because the lanes corresponding to the road entrances are different, the planned Dubins curves are also different. In the scenarios shown in Figs. 7B and 6, the lanes corresponding to the road entrances are the same, so the planned Dubins curves are similar in shape, and the difference is that d4 is greater than d1, so that the vehicle can avoid the obstacle. Of course, d4 also has a maximum value due to the size of the intersection, to ensure that the vehicle does not collide with the opposite intersection.

[0091] It can be understood that, due to the detection capability of the detection technology, the vehicle cannot obtain all the static obstacles on the intersection at one time at the road exit, and therefore, the vehicle needs to detect the environment in the intersection during the process of turning around and update the first pre-planned path based on the latest obtained static obstacles. Exemplarily, referring to FIG. 8, the pre-planned path 1 shown in FIG. 8 can be the Dubins curve shown in FIG. 6, and can also be a driving path finally planned based on the Dubins curve shown in FIG. 6. The vehicle does not detect the obstacle shown in FIG. 8 at the road exit, and when the vehicle travels a certain distance along the planned path, the obstacle shown in FIG. 8 is detected, and then the Dubins curve needs to be regenerated, as shown in the pre-planned path 2 in FIG. 8, so that the vehicle can regenerate the driving path based on the pre-planned path 2, thereby avoiding collision between the vehicle and the obstacle.

[0092] Step 2, generating a passing channel based on the Dubins curve.

[0093] In a possible implementation, the passing channel can be generated based on the Dubins curve and the static obstacle. The channel is a passable channel between the road exit and the road entrance, and the boundary of the passing channel can be understood as a boundary that cannot be crossed by the vehicle. For example, the vehicle can travel to any position in the channel without collision.

[0094] Exemplarily, the SL coordinate system can be established based on the determined Dubins curve, and the passing channel is represented in the SL coordinate system. The SL coordinate system, also known as frenet frame, is with the road center line as the reference, S represents the direction of the road center line, and L represents the direction perpendicular to the road center line.

[0095] Step 3, solving the trajectory smoothing problem of the Dubins curve, and regenerating the passing channel based on the smoothed Dubins curve.

[0096] Exemplarily, the Dubins curve and the passing channel generated in step 2 can be taken as the reference line and the planning boundary of the path respectively, and input into a quadratic programming (QP) solver to solve a smoothed human-like curve.

[0097] Optionally, the passing channel generated by considering the static obstacle (as described below in FIG. 9B) is taken as the planning boundary of the path to solve the trajectory smoothing problem of the Dubins curve.

[0098] Optionally, the objective function of the trajectory smoothing can be represented as:

[0099] C=ω1*C1+ω2*C2+ω3*C3;

[0100] C1, C2 and C3 represent smoothness cost, length cost and offset cost respectively, and ω1, ω2 and ω3 are coefficients. i-1 i i+1 i-1 i i+1 are variables to be optimized, for example, (x i-1 , y i-1 ) is used to represent the i-1th trajectory point to be optimized. For another example, (x i , y i ) is used to represent the ith trajectory point to be optimized. (x i_ref , y i_ref ) is the ith reference trajectory point, i.e., the ith trajectory point in the above-mentioned Dubins curve.

[0101] The smoothness cost is used to evaluate the curvature and the rate of change of curvature of the smoothed path. The smaller the curvature and the rate of change of curvature, the smoother the curve, and the lower the smoothness cost C1. w1 is the weight of the smoothness cost in the total cost.

[0102] The length cost is determined according to the distance between adjacent trajectory points of the smoothed path, and is used to evaluate the distance between adjacent trajectory points. The smaller the distance between adjacent trajectory points, the lower the length cost C2. w2 is the weight of the length cost in the total cost.

[0103] The offset cost is used to evaluate the degree of deviation of the smoothed path from the original path. The closer the smoothed path to the original path, the lower the offset cost C3. w3 is the weight of the length cost in the total cost.

[0104] Optionally, in the process of solving the trajectory smoothing, a constraint condition needs to be set for each trajectory point to be optimized. The constraint condition may be composed of the upper and lower boundaries of the above-mentioned passageway, for example. For example, reference can be made to the description of the half-space constraint of the trajectory point in FIG. 12 below, which is not described in detail here.

[0105] Of course, in the process of specific implementation, the Dubins curve can also be smoothed based on other objective functions, which is not limited in the present application. In order to facilitate description, the Dubins curve based on smoothing can be referred to as the first pre-planned path.

[0106] Based on the first pre-planned path, the specific implementation of regenerating the passageway can refer to the description of step 2 above, which is not described here.

[0107] S402, based on the first pre-planned path and the turning ability of the vehicle, a first path is generated.

[0108] ​​​​​The first path is a driving path of the road entrance and the road exit, and the first path includes at least two arc-shaped road segments, and the radii corresponding to the two arc-shaped road segments are greater than or equal to the minimum turning radius of the vehicle.

[0109] It can be understood that the first pre-planned path is generated based on static obstacles and the turning ability of the vehicle, and therefore, if only static obstacles are included in the intersection, the vehicle can drive along the first pre-planned path from the road exit to the road entrance. Obviously, dynamic obstacles are usually included in the intersection, and the first path is a driving path generated based on the first pre-planned path and considering the dynamic obstacles. Next, the generation process of the first path is exemplarily introduced in combination with the accompanying drawings.

[0110] Please refer to FIG. 9A, which is a schematic diagram of a passing channel provided in an embodiment of the present application. As shown in FIG. 9A, the passing channel includes an upper boundary and a lower boundary, and both the upper boundary and the lower boundary are boundaries that cannot be crossed. It should be noted that the upper boundary and the lower boundary shown in FIG. 9A are exemplary, and do not limit the scheme of the present application.

[0111] A possible implementation is that, in the process of driving of the vehicle, the upper boundary and / or the lower boundary of the passing channel can be updated based on newly discovered obstacles.

[0112] Please refer to FIG. 9B. The obstacle shown in FIG. 9B can be an obstacle newly discovered by the vehicle in the process of turning around, and the obstacle is located in the channel formed. In order to avoid collision between the vehicle and the obstacle, the upper boundary and / or the lower boundary of the passing channel needs to be modified. As shown in FIG. 9B, in the normal line of the first pre-planned path, a first normal line and a second normal line tangent to the obstacle are included, and the sub-boundary formed by the first normal line and the second normal line intercepting the upper boundary is referred to as a first segment boundary. In order to avoid collision between the vehicle and the obstacle, the first segment boundary in the upper boundary can be adjusted to the second segment boundary shown in FIG. 9B, that is, the obstacle is excluded from the passing channel. Of course, in the process of specific implementation, the edge of the obstacle edge can also be directly used as the boundary of the passing channel, which is not limited by the present application.

[0113] Another possible implementation is that the upper boundary and / or the lower boundary of the passing channel can be updated based on the predicted trajectory of the dynamic obstacle. Exemplarily, the first channel including the passing channel between the road entrance and the road exit in the target intersection can be determined based on the first pre-planned path, the topological structure of the target intersection, and the predicted trajectory of the dynamic obstacle, wherein the topological structure of the target intersection includes the topological structure composed of road environment such as road curb, safety island, and green belt of the target intersection. Next, taking the oncoming vehicle as an example, the upper boundary and / or the lower boundary of the passing channel is updated based on the predicted trajectory of the dynamic obstacle is exemplarily described.

[0114] For example, referring to FIG. 9C, the predicted trajectory of the oncoming vehicle overlaps the passing channel, so the ego vehicle is at risk of colliding with the oncoming vehicle, and therefore the upper boundary and / or the lower boundary of the passing channel needs to be updated based on the predicted trajectory of the oncoming vehicle. As shown in FIG. 9D, by modifying the upper boundary of the passing channel, the predicted trajectory of the oncoming vehicle is located outside the passing channel, thereby avoiding the ego vehicle colliding with the oncoming vehicle.

[0115] For example, referring to FIG. 9E, the predicted trajectory of the oncoming vehicle overlaps the passing channel, so the ego vehicle is at risk of colliding with the oncoming vehicle, and therefore the upper boundary and / or the lower boundary of the passing channel needs to be updated based on the predicted trajectory of the oncoming vehicle. As shown in FIG. 9F, by modifying the lower boundary of the passing channel, the predicted trajectory of the oncoming vehicle is located outside the passing channel, thereby avoiding the ego vehicle colliding with the oncoming vehicle.

[0116] Optionally, when the predicted trajectory of the oncoming vehicle overlaps the passing channel, the upper boundary and / or the lower boundary of the passing channel can be modified based on the obstacle avoidance identifier, which can be provided by the decision module shown in FIG. 1.

[0117] For example, referring to FIG. 10A, the predicted trajectory of the oncoming vehicle is located in the passing channel, i.e. the oncoming vehicle is at risk of colliding with the ego vehicle. The decision module will issue an obstacle avoidance identifier based on the motion state of the oncoming vehicle, the position of the ego vehicle, and the speed of the ego vehicle, etc. The obstacle avoidance identifier includes left avoidance, right avoidance, or ignore, wherein left avoidance means avoiding from the left of the oncoming vehicle, as shown in FIG. 10B, the upper boundary shown in FIG. 10A can be modified to obtain the upper boundary shown in FIG. 10B, thereby allowing the ego vehicle to avoid the oncoming vehicle from the left. Right avoidance means avoiding from the right of the oncoming vehicle, as shown in FIG. 10C, the lower boundary shown in FIG. 10A can be modified to obtain the lower boundary shown in FIG. 10C, thereby allowing the ego vehicle to avoid the oncoming vehicle from the right. Ignore means that the boundaries of the passing channel do not need to be modified, which can be understood as although the predicted trajectory of the oncoming vehicle overlaps the passing channel, the ego vehicle is not at risk of colliding with the oncoming vehicle, and therefore the boundaries of the passing channel do not need to be modified.

[0118] Optionally, the predicted trajectory of the dynamic obstacle is predicted based on the position, speed, and acceleration of the dynamic obstacle, etc., for example, the driving trajectory of the dynamic obstacle in the next 3 seconds is predicted.

[0119] Optionally, the updating of the upper boundary and / or the lower boundary of the passing channel based on the newly discovered obstacle and the predicted trajectory of the dynamic obstacle can be combined with each other.

[0120] Optionally, the boundaries of the above passageway can also be modified based on the type of U-turn to prevent the vehicle from driving into other lanes. The above U-turn types include a U-turn in a waiting area, a U-turn in a non-waiting area, or a U-turn in a gap, etc. For example, in the scenario of a U-turn in a waiting area, the current lane boundary can be used as part of the upper boundary of the passageway to prevent the vehicle from crossing the current lane boundary and driving into other lanes. It can be understood that the boundaries of the passageway are modified considering the type of U-turn so that the planned path can meet the traffic rules.

[0121] For ease of description, the modified passageway can be referred to as a first passageway, and the upper and lower boundaries of the first passageway are non-crossable boundaries.

[0122] Further, the upper and lower boundaries of the first passageway can be referred to as the hard boundaries of the first passageway. Of course, according to the inclination of path planning, soft boundaries of the first passageway can also be generated. The above inclination of path planning includes decision inclination (left avoidance, right avoidance, or ignore), comfort factor, safety factor, and environmental factor, etc.

[0123] In one possible implementation, a first path is generated based on the first passageway, the first pre-planned path, and the turning ability of the vehicle, and the first path is a driving path for the road entrance and the road exit, including but not limited to the following steps:

[0124] Step 1, determine the half-space constraint (constraint condition) of each trajectory point in the to-be-optimized path based on the boundaries of the first passageway and the first pre-planned path. The to-be-optimized path can be a path generated before the first path is generated. For example, the first path is a path iteratively solved based on the first passageway, the first pre-planned path, and the turning ability of the vehicle, and multiple to-be-optimized paths are generated in the iteration process. Obviously, the first pre-planned path also belongs to the to-be-optimized path.

[0125] Optionally, the to-be-optimized path includes multiple trajectory points, such as trajectory point 1, trajectory point 2, trajectory point 3, etc. The half-space constraint (constraint condition) of each trajectory point includes the hard boundaries and the soft boundaries of the first passageway.

[0126] The soft boundaries and the hard boundaries of the first passageway each include multiple pairs of sub-boundaries, and the sub-boundaries of the soft boundaries and the hard boundaries have a one-to-one correspondence, for example, the first pair of sub-boundaries in the soft boundaries corresponds to the first pair of sub-boundaries in the hard boundaries, and a pair of sub-boundaries includes an upper boundary and a lower boundary. Optionally, one trajectory point corresponds to only one pair of sub-boundaries in the hard (soft) boundaries, but one pair of sub-boundaries in the hard (soft) boundaries can correspond to multiple trajectory points. For example, the first trajectory point in the first pre-planned path corresponds to the first pair of sub-boundaries in the hard (soft) boundaries, but the first pair of sub-boundaries in the hard (soft) boundaries can correspond to the first trajectory point and the second trajectory point in the first pre-planned path.

[0127] The above boundary and boundary correspondence can be understood as the boundary and the boundary having the closest distance, for example, the first pair of sub-boundaries in the soft boundary and the first pair of sub-boundaries in the hard boundary have the closest distance. Similarly, the above boundary and trajectory point correspondence can be understood as the boundary and the trajectory point having the closest distance. Please refer to FIG. 11, the upper boundary and the lower boundary of a pair of word boundaries are connected by a dashed line, FIG. 11 shows four pairs of sub-boundaries of hard boundaries and four pairs of sub-boundaries of soft boundaries, and are labeled one, two, three and four in turn. FIG. 11 also includes four trajectory points (black points with numbers in FIG. 11), which are labeled 1, 2, 3 and 4 in turn. As can be seen from FIG. 11, the four pairs of sub-boundaries of hard boundaries and the four pairs of sub-boundaries of soft boundaries correspond one by one. A trajectory point uniquely corresponds to a pair of sub-boundaries in the hard (soft) boundary, for example, trajectory point 1 corresponds to the first pair of sub-boundaries in the hard (soft) boundary, trajectory point 3 corresponds to the third pair of sub-boundaries in the hard (soft) boundary, and so on. However, a pair of sub-boundaries in the hard (soft) boundary can correspond to multiple trajectory points, for example, the first pair of sub-boundaries in the hard (soft) boundary corresponds to trajectory point 1 and trajectory point 2. Of course, in specific implementation, how to define that a sub-boundary and a sub-boundary exist a corresponding relationship, or a sub-boundary and a trajectory point exist a corresponding relationship, is not limited by the present application.

[0128] In a possible implementation, the half-space constraint of each trajectory point in the to-be-optimized path can be set in a preset manner, and the half-space constraint includes all or part of the hard boundaries and the soft boundaries in the first channel. The preset manner is not limited by the present application.

[0129] In another possible implementation, the hard boundary and the soft boundary corresponding to each trajectory point in the first pre-planned path can be taken as the half-space constraint of each trajectory point in the to-be-optimized path, for example, the hard boundary and the soft boundary corresponding to the first trajectory point in the first pre-planned path can be taken as the half-space constraint of the first trajectory point in the to-be-optimized path.

[0130] Further, the hard boundary in the half-space constraint can be referred to as the half-space hard constraint of the trajectory point, and the soft boundary in the half-space constraint can be referred to as the half-space soft constraint of the trajectory point.

[0131] Step 2, generating a second path based on the first channel, the first pre-planned path, the turning ability of the vehicle and the half-space constraint of each trajectory point in the to-be-optimized path.

[0132] Exemplarily, the first pre-planned path can be path-optimized based on the first channel, the first pre-planned path, the turning ability of the vehicle and the half-space constraint of each trajectory point in the to-be-optimized path, to generate the second path. For example, the second path can be generated by solving a nonlinear programming problem. The objective function of solving the nonlinear programming problem can be expressed as:

[0133] The constraints of the objective function can be expressed as: x(0) = x0, y(0) = y0, θ(0) = θ0(2) θ low,i ≤ θ i ≤ θ u p, i , κ low,i ≤ κ i ≤ κ u p, i i = 1, 2, 3…N(3)

[0134] wherein formula (1) is a kinematic constraint, used to constrain two adjacent trajectory points, formula (2) is a starting point constraint, formula (3) is a driving direction and curvature constraint of the vehicle, formula (4) is a half-space hard constraint respectively, and formula (5) is a half-space soft constraint.

[0135] Next, the objective function and the variables of the constraints in the objective function will be introduced one by one.

[0136] wherein λ x , λ y and λ θ are weights; (x i , y i , θ i ) or (x i+1 , y i+1 , θ i+1 ) are coordinates of a trajectory point to be optimized, wherein θ i and θ i+1 are used to represent driving directions corresponding to the i-th trajectory point and the i+1-th trajectory point respectively; (x ref,i , y ref,i , θ ref,i ) is used to represent coordinates of a reference trajectory point, wherein θ ref,i is used to represent a driving direction corresponding to the i-th reference trajectory point; v represents a speed, which can be a constant; k i and k i+1 are used to represent curvatures corresponding to the i-th trajectory point and the i+1-th trajectory point respectively; θ low,i and θ up,i are used to represent minimum and maximum driving directions of the i-th trajectory point respectively; k low,i and k up,i are used to represent minimum and maximum curvatures of the i-th trajectory point respectively.

[0137] Optionally, the coordinates of the trajectory points can be represented using the Euclidean coordinate system. By taking the first lane, the first pre-planned path, the turning ability of the vehicle, and the half-space constraints of each trajectory point in the to-be-optimized path as input parameters of the above-mentioned nonlinear programming problem, and through multiple iterations of calculation, a path is finally output, which can be further taken as the first path. Obviously, in the process of calculating the first path from the first pre-planned path, one or more to-be-optimized paths can be generated. For ease of description, the one or more to-be-optimized paths generated can be collectively referred to as the second path. It can be understood that the first pre-planned path or the second path includes a plurality of trajectory points, and the number of trajectory points is usually the same. The plurality of trajectory points included in the first pre-planned path or the second path are sequentially numbered, and the trajectory points with the same number can be referred to as the same trajectory point, for example, the ith trajectory point can be referred to as the ith trajectory point of the to-be-optimized path, where i is an integer from 1 to N, and N is the number of trajectory points in the to-be-optimized path. For another example, the first trajectory point in the first pre-planned path and the first trajectory point in the second path can be considered as the same trajectory point. Obviously, the same trajectory point can be in different positions in different paths.

[0138] Step 3, updating the half-space constraint of the ith trajectory point of the to-be-optimized path based on the second path and the boundary of the first lane.

[0139] As can be known from the above step 1, each trajectory point in the first pre-planned path has a corresponding half-space constraint (including a half-space hard constraint and a half-space soft constraint), which is referred to as an initial constraint. However, the initial constraint can not be the best constraint, which can cause the path planning to be time-consuming or fail, and cause the vehicle to have a jerk or discontinuous turning, and the like. Therefore, the application provides a method for dynamically updating the half-space constraint of the trajectory point, which can timely update the half-space constraint of the trajectory point, thereby improving the speed of path planning, reducing the jerk of the vehicle, and improving the riding experience. Please refer to the related description of FIG. 12 below, which will not be described in detail here.

[0140] Step 4, generating the first path based on the first lane, the second path, the turning ability of the vehicle, and the updated half-space constraint of each trajectory point in the to-be-optimized path.

[0141] Exemplarily, the second path can be optimized based on the first lane, the second path, the turning ability of the vehicle, and the updated half-space constraint of each trajectory point in the to-be-optimized path to generate the first path. For example, the first path can be generated by solving the above-mentioned nonlinear programming problem. The specific implementation process can be referred to the related description of generating the second path, which will not be described here.

[0142] S403, controlling the vehicle to travel along the first path.

[0143] For example, the control module of the vehicle sends a driving instruction to the power system of the vehicle based on the first path to control the vehicle to drive along the first path. For details, refer to the prior art, which will not be described here.

[0144] Please refer to FIG. 12, which is a flowchart of a method for dynamically updating the half-space constraint of the trajectory point according to an embodiment of the present application. The detection method shown in FIG. 12 can include one or more steps in steps S1201 to S1202. For example, in some schemes, only steps S1201 and S1202 can be included. It should be understood that, for the convenience of description, the steps are described in the order of steps S1201 to S1202, and are not intended to limit the execution in the above order. The present application does not limit the order of execution, the time of execution, the number of execution, etc. of the one or more steps. Steps S1201 to S1202 are as follows:

[0145] S1201, respectively obtain the first half-space constraint corresponding to the M-1th second path and the second half-space constraint corresponding to the Mth second path of the target trajectory point.

[0146] For example, the first pre-regularized path can be taken as the first second path, the M-1th second path is the second path obtained by the M-2th iteration calculation, and the Mth second path is the second path obtained by the M-1th iteration calculation. It can be understood that, based on the positions of the target trajectory point in the M-1th second path and the Mth second path, the first half-space constraint corresponding to the M-1th second path and the second half-space constraint corresponding to the Mth second path of the target trajectory point can be calculated. Please refer to FIG. 13A and FIG. 13B, which respectively show the M-1th second path and the Mth second path. In FIG. 13A and FIG. 13B, 1_1, 2_1, 3_1, 4_1, 5_1 and 6_1 can be the upper boundary (hard constraint upper boundary or soft constraint upper boundary), 1_2, 2_2, 3_2, 4_2, 5_2 and 6_2 can be the lower boundary (hard constraint lower boundary or soft constraint lower boundary), 1_3, 2_3, 3_3, 4_3, 5_3 and 6_3 can be the M-1th second path, and 1_4, 2_4, 3_4, 4_4, 5_4 and 6_4 can be the Mth second path. In FIG. 13A and FIG. 13B, 1_3 and 1_4 are the same trajectory point, and 2_3 and 2_4 are the same trajectory point. As can be seen from FIG. 13A and FIG. 13B, each trajectory point in the M-1th second path and the Mth second path has its corresponding half-space constraint. For example, the half-space constraint corresponding to 1_3 is the upper boundary 1_1 and the lower boundary 1_2, the half-space constraint corresponding to 2_3 is the upper boundary 2_1 and the lower boundary 2_2, and so on, which will not be listed one by one.

[0147] Optionally, the target trajectory point can be any one of the trajectory points in the to-be-optimized path, for example, the target trajectory point is any one of 1_3, 2_3, 3_3, 4_3, 5_3 and 6_3.

[0148] S1202, in the case that the target trajectory point in the Mth second path is located outside the first half-space constraint and / or the second half-space constraint, updating the half-space constraint of the target trajectory point.

[0149] In the case that the target trajectory point is located outside the first (second) half-space constraint, it can be understood that the target trajectory point is located outside the range included by the upper boundary or the lower boundary of the first (second) half-space constraint. Please continue to refer to FIG. 13A and FIG. 13B, assuming that the target trajectory point is the second trajectory point in the to-be-optimized path, i.e., 2_3 shown in FIG. 13A or 2_4 shown in FIG. 13B, the first half-space constraint is the half-space constraint composed of 2_1 and 2_2, and the second half-space constraint is the half-space constraint composed of 3_1 and 3_2. In combination with the SL coordinate system, 2_4 can be expressed as (40, 33) in SL coordinates, 3_4 can be expressed as (50, 12) in SL coordinates, 2_1 can be expressed as (21, 56) to (38, 56) in SL coordinates, 2_2 can be expressed as (21, 4) to (38, 4) in SL coordinates, 3_1 can be expressed as (38, 52) to (53, 52) in SL coordinates, and 3_2 can be expressed as (38, 21) to (53, 21) in SL coordinates. In this application, when judging whether a trajectory point is located outside a half-space constraint, only the value in the L direction can be judged, i.e., whether the trajectory point is located outside the half-space constraint, for example, the value of 2_4 in the L direction is 33, the value of the half-space constraint composed of 2_1 and 2_2 in the L direction is 4 to 56, and 33 is within the value range of 4 to 56, so 2_4 is located within the half-space constraint composed of 2_1 and 2_2. For another example, the value of 3_4 in the L direction is 12, the value of the half-space constraint composed of 3_1 and 3_2 in the L direction is 21 to 52, and 12 is not within the value range of 21 to 52, so 3_4 is not located within the half-space constraint composed of 3_1 and 3_2.

[0150] As can be known from the above description, in the case that the target trajectory point is the second trajectory point of the to-be-optimized path, it is located within the first half-space constraint and the second half-space constraint, and thus the half-space constraint of the second trajectory point of the to-be-optimized path does not need to be updated. Of course, in the case that the target trajectory point is the third trajectory point (3_3 or 3_4) of the to-be-optimized path, since 3_4 is located outside the half-space constraint composed of 3_1 and 3_2, the half-space constraint of the third trajectory point of the to-be-optimized path needs to be updated. Similarly, since 4_4 is located outside the half-space constraint composed of 4_1 and 4_2 and outside the half-space constraint composed of 5_1 and 5_2, the half-space constraint of the fourth trajectory point of the to-be-optimized path needs to be updated. Similarly, since 5_4 is located outside the half-space constraint composed of 6_1 and 6_2, the half-space constraint of the fifth trajectory point of the to-be-optimized path needs to be updated. Similarly, the half-space constraints of the first trajectory point and the sixth trajectory point of the to-be-optimized path do not need to be updated.

[0151] In a possible implementation, in the case that the half-space constraint of the target trajectory point needs to be updated, the half-space constraint of the target trajectory point can be updated to the half-space constraint currently corresponding to the target trajectory point. Please continue to refer to FIG. 13B, and as can be known from the above analysis, the half-space constraint of the third trajectory point of the to-be-optimized path needs to be updated, and the third trajectory point currently corresponds to the half-space constraint composed of 3_1 and 3_2, and thus the half-space constraint of the third trajectory point of the to-be-optimized path can be updated to the half-space constraint composed of 3_1 and 3_2. Similarly, the half-space constraint of the fourth trajectory point of the to-be-optimized path also needs to be updated, and the fourth trajectory point currently corresponds to the half-space constraint composed of 5_1 and 5_2, and thus the half-space constraint of the fourth trajectory point of the to-be-optimized path can be updated to the half-space constraint composed of 5_1 and 5_2.

[0152] Of course, whether a trajectory point is located outside a half-space constraint can also be determined by other methods, which are not limited in the present application, for example, by establishing other types of coordinate systems.

[0153] Optionally, the half-space constraint of the target trajectory point can also be updated by obtaining more half-space constraints corresponding to the target trajectory point in the Mth second path, and determining whether the target trajectory point in the Mth second path is located outside the half-space constraints, to further determine whether the half-space constraint of the target trajectory point needs to be updated. For example, the half-space constraint of the target trajectory point can be updated by obtaining a third half-space constraint corresponding to the target trajectory point in the M-2th second path, and in the case that the target trajectory point in the Mth second path is located outside the third half-space constraint. The specific implementation of updating the half-space constraint can be referred to the above description, which will not be described here.

[0154] In a possible implementation, after each K iteration calculation, it is determined whether the half-space constraint of the trajectory point in the to-be-optimized path needs to be updated, and k ranges from 1 to N, where N is an upper limit of the iteration calculation. That is, the method shown in FIG. 12 is performed once every K iteration calculation, and for the sake of brevity of description, the method will not be described again here.

[0155] By updating the half-space constraint of each trajectory point in the to-be-optimized path in a timely manner, it can be avoided that the initial constraint setting is unreasonable, and the optimal path cannot be calculated or the calculation efficiency is low, thereby avoiding the problem that the self vehicle and the other vehicle are further interactively stuck after the obstacle avoidance fails, leading to the human takeover, and further improving the driving experience.

[0156] Referring to FIG. 14, the present application further provides a flowchart of another method for planning a driving path of a vehicle. As shown in FIG. 14, the detection method can include one or more steps in steps S1401 to S1413. For example, in some schemes, only steps S1401 and S1413 can be included. It should be understood that, for the convenience of description, the steps S1401 to S1413 are described in this order, and it is not intended to limit the execution in the above order. The present application does not limit the execution order, execution time, execution times, etc. of the one or more steps. Steps S1401 to S1413 are as follows:

[0157] S1401, identify a U-turn intersection scenario, and extract road information.

[0158] For example, the perception module on the vehicle identifies a U-turn intersection scenario, and extracts road information. The road information includes dynamic obstacles and static obstacles, and specific descriptions can be referred to the related description in FIG. 1.

[0159] S1402, solve a dubins curve based on the turning ability of the ego vehicle and the road information.

[0160] For example, the routing module on the vehicle solves a dubins curve based on the turning ability of the ego vehicle and the road information. The specific implementation process can be referred to the related description of FIG. 4, and will not be described here.

[0161] S1403, collision detection of static obstacles.

[0162] Exemplarily, during the driving of the vehicle, the perception module of the vehicle will continuously detect static obstacles in the intersection, and in the case of detecting a static obstacle, the perception module will send the related information of the static obstacle to the routing module, and the routing module will modify the solved dubins curve according to the related information of the static obstacle. The specific implementation process can refer to the related description of the foregoing FIG. 7A and FIG. 7B, which will not be repeated here.

[0163] S1404, smoothing the dubins curve, and generating a temporary channel based on the smoothed curve.

[0164] Exemplarily, the routing module of the vehicle smoothes the dubins curve, and generates a temporary channel based on the smoothed curve. The specific implementation of smoothing the dubins curve can refer to the related description of the foregoing step S401, which will not be repeated here. Similarly, the specific implementation process of generating a temporary channel based on the smoothed curve can also refer to the related description of the foregoing step S402, which will not be repeated here.

[0165] S1405, modifying the boundary of the temporary channel based on the predicted trajectory of the dynamic obstacle, to obtain a first channel.

[0166] Exemplarily, the routing module of the vehicle modifies the boundary of the temporary channel based on the predicted trajectory of the dynamic obstacle, and obtains the first channel. The specific implementation can refer to the related description of the foregoing FIG. 9C to FIG. 9F, or FIG. 10A to FIG. 10C, which will not be repeated here.

[0167] S1406, solving a motion planning problem.

[0168] Exemplarily, the routing module of the vehicle solves the foregoing nonlinear programming problem to obtain the driving path of the vehicle. The specific implementation of solving the nonlinear programming problem can refer to the related description described above, which will not be repeated here. Of course, the method of dynamically updating the half-space constraint of the trajectory point shown in the foregoing FIG. 12 can be used in the process of solving the nonlinear programming problem to improve the solving speed.

[0169] S1407A, whether the solving fails, that is, whether the solving of the foregoing motion problem fails.

[0170] Exemplarily, the solver of the nonlinear programming problem will output the result of whether the solving fails.

[0171] Exemplarily, a threshold of the number of iterations can be set, and in a case that the number of iterations exceeds the threshold and the iteration is not completed, it is considered that the solving fails, where the iteration not completed can mean that the result is convergent. For example, the threshold of the number of iterations is set to 100, and in a case that the number of iterations exceeds 100, it is considered that the solving fails, so that the hard boundary softening is performed to avoid a situation that the solving is always unsuccessful. In contrast, it is considered that the solving is successful.

[0172] The result of the motion planning problem is divided into success and failure, where the result of the motion planning problem being successful can be understood as that a driving path meeting the constraint condition is planned, and the result of the motion planning problem being failed can be understood as that a driving path meeting the constraint condition cannot be generated, or under the current constraint condition, both the ego vehicle and the other vehicle have collision risks. In a case that the result of the motion planning problem is failed, a driving path cannot be output in time, which can cause a vehicle to be stalled and a passenger's intelligent driving experience to be incomplete. Therefore, the application provides a path re-planning method, which modifies the constraint condition of the motion planning problem by judging the obstacle avoidance ability in real time, to avoid a situation that a driving path cannot be output in time.

[0173] Exemplarily, in a case that the result of the motion planning problem is failed, the constraint condition of the motion planning problem is modified by the hard boundary softening, and the motion planning problem is solved again to output a suitable driving path.

[0174] Next, the implementation process of the hard boundary softening is exemplarily described in combination with FIG. 9C, FIG. 9D and FIG. 15. As shown in FIG. 9C, the predicted trajectory of the oncoming vehicle overlaps the passing channel, and in order to avoid collision between the ego vehicle and the oncoming vehicle, the modified passing channel is as shown in FIG. 9D, where the modified boundary can be referred to as a channel boundary related to the predicted trajectory of the oncoming vehicle (i.e., the two straight lines at right angles in the upper boundary of FIG. 9D). The hard boundary softening can be understood as taking the above-mentioned channel boundary related to the predicted trajectory of the oncoming vehicle as a soft boundary to solve the motion planning problem. As shown in FIG. 15, the upper boundary of the passing channel is composed of part of the hard boundary and part of the soft boundary, where the soft boundary includes the channel boundary related to the predicted trajectory of the oncoming vehicle. Of course, the channel boundary related to the predicted trajectory of the oncoming vehicle is part of the lower boundary of the passing channel, and part of the lower boundary of the passing channel can also be modified to a soft boundary to solve the motion planning problem. For the sake of simplicity of description, the application will not draw a figure to explain it one by one.

[0175] Optionally, the hard boundary softening can also be understood as modifying all the hard boundaries to soft boundaries to solve the motion planning problem. For example, before the hard boundary softening, the constraint condition used to solve the above nonlinear programming problem is the above formula (4), and does not include the above formula (5). After the hard boundary softening, the constraint condition used to solve the above nonlinear programming problem is the above formula (5), and does not include the above formula (4).

[0176] Optionally, the number of iterations for solving the motion planning problem can be preset to determine whether to perform hard boundary softening. For example, if the number of iterations for solving the motion planning problem exceeds 100, it is determined whether hard boundary softening is needed to avoid the situation of always failing to solve successfully.

[0177] By softening the hard boundary and re-solving the motion planning problem, the success rate of solving can be improved, and the situation of always failing to solve successfully or even being stuck can be avoided.

[0178] Optionally, if the result of solving the motion planning problem is successful, the operations of S1408 and S1409 below are sequentially performed.

[0179] S1407B, whether the solving fails, i.e., whether the solving of the above motion problem after the hard boundary softening fails.

[0180] It can be understood that the specific implementation of solving the above motion planning problem after the hard boundary softening can refer to the related description of solving the nonlinear programming problem described above, which will not be repeated here.

[0181] Determining whether the solving of the above motion problem after the hard boundary softening fails can also be achieved in the following ways:

[0182] Method one, the solver of the nonlinear programming problem outputs the result of whether the solving fails.

[0183] Method two, the number of iterations can be set, and if the number of iterations exceeds the threshold value and the iteration is not completed, it is considered that the solving fails, wherein the iteration not completed can mean the result converges. For example, the threshold value of the number of iterations is set to 100, and if the number of iterations exceeds 100, it is considered that the solving fails. Conversely, it is considered that the solving is successful.

[0184] Optionally, if the solving of the above motion problem after the hard boundary softening fails, the operation of S1413 is performed. If the solving of the above motion problem after the hard boundary softening is successful, the operation of S1408 is performed.

[0185] S1408, path rationality detection.

[0186] Exemplarily, the rationality detection of the path is performed on the path obtained by solving the motion planning problem, by considering factors such as the geometry of the path, vehicle kinematics, and traffic rules.

[0187] When the rationality detection result of the path is rational, the path obtained by solving the motion planning problem is taken as the ego path, and the operation of step S1409 is performed, for example.

[0188] When the rationality detection result of the path is irrational, it is determined whether there is already a path obtained by solving the motion planning problem, for example, step S1410 is performed.

[0189] S1409, outputting the ego path.

[0190] When the rationality detection result of the path is rational, the path is output as the ego path, and the vehicle is controlled to travel along the path.

[0191] S1410, determining whether there is already a path obtained by solving the motion planning problem.

[0192] It can be understood that solving the above motion planning problem is continuously calculated along with the travel of the vehicle, and each time the motion planning problem is solved, it can be understood as generating a driving path (of course, in the case of failure to solve or failure of rationality detection of the path, the path obtained by solving is not saved), wherein solving the motion planning problem includes multiple iterative calculations. It can also be understood that solving the motion planning problem includes sequentially performing operations such as S1406, S1407A, S1406 (optional), S1407B (optional), and S1408. Therefore, before this time, the vehicle may have saved the path obtained by solving the motion planning problem before. In order to facilitate understanding, the generated driving path can be referred to as a frame path, and each frame path generated by the planning module is saved in chronological order.

[0193] Optionally, when there is already a path obtained by solving the motion planning problem in the vehicle, the operation of S1411 is performed.

[0194] Optionally, when there is no path obtained by solving the motion planning problem in the vehicle, the operation of S1412 is performed.

[0195] S1411, outputting the last frame path and issuing a task order request (TOR).

[0196] The last frame path is the path obtained by solving the motion planning problem last time (the path passes the rationality detection and is output as the ego path).

[0197] Obviously, if the path obtained by solving the motion planning problem fails the rationality detection of the path, it is considered that the path obtained by solving is unreasonable, for example, the path obtained by solving has the risk of collision between the ego vehicle and the dynamic obstacle, therefore, by reporting the TOR, the human takes over the vehicle to avoid the collision between the ego vehicle and the dynamic obstacle.

[0198] Optionally, in the case that the path obtained by solving the motion planning problem fails the rationality detection of the path, the TOR can also not be reported. For example, in the case that the path obtained by solving the motion planning problem fails the rationality detection of the path, the vehicle is controlled to stop slowly, and operations such as S1401 and S1402 are re-executed, so as to solve the above motion planning problem again to make the generated path meet the rationality detection of the path, and then control the vehicle to travel along the path.

[0199] S1412, output the smoothed path and report the TOR.

[0200] The smoothed path is, for example, the path generated in S1404.

[0201] Optionally, in the case that the path obtained by solving the motion planning problem fails the rationality detection of the path, the TOR can also not be reported. For specific implementation, reference can be made to the related description of S1411, which will not be repeated here.

[0202] S1413, stop the motion planning of the current frame and report the TOR.

[0203] In the case of failure of S1407B, stop the subsequent solving of the current frame and report the TOR.

[0204] Optionally, in the case of failure of S1407B, the TOR can also not be reported. For specific implementation, reference can be made to the related description of S1411, which will not be repeated here.

[0205] The method of planning the driving path of the vehicle shown in FIG. 14 can fully consider the obstacle avoidance capability of the vehicle, and in the case that the vehicle cannot avoid the obstacle, the hard boundary softening operation is performed to improve the speed of solving the driving path. In addition, the method also sets the number of times of failure of solving the motion planning problem and the rationality detection of the trajectory, which can avoid the phenomenon that the solving path is too time-consuming, and can make the output path meet the rationality detection.

[0206] Please refer to FIG. 16, which is a schematic diagram of a device for planning a driving path of a vehicle provided by an embodiment of the present application. As shown in FIG. 16, the device for planning a driving path of a vehicle 1600 comprises a routing module 1601, a planning module 1602 and a control module 1603, wherein:

[0207] The routing module 1601 is configured to obtain a first pre-planned path.

[0208] The planning module 1602 is configured to generate a first path based on the first pre-planned path and a turning capability of the vehicle.

[0209] The control module 1603 is configured to control the vehicle to travel along the first path.

[0210] The first pre-planned path is a path pre-planned between a road entrance and a road exit in a target intersection, the first path is a driving path between the road entrance and the road exit, the first path includes at least two arc segments, and a distance between the road entrance and the road exit is less than twice a turning radius of the vehicle.

[0211] In one possible implementation, when an angle between the road entrance and the road exit is less than 360°, a distance L1 between the road entrance and the road exit and twice a turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°-α).

[0212] In another possible implementation, the routing module 1601 is specifically configured to determine the first pre-planned path based on the road entrance, the road exit, the turning capability of the vehicle, and a first static obstacle in the target intersection.

[0213] Optionally, the routing module 1601 can solve a dubins curve based on the road entrance, the road exit, the turning capability of the vehicle, and the first static obstacle, and generate a passing channel between the road entrance and the road exit based on the dubins curve. The routing module 1601 can further solve a trajectory smoothing problem based on the dubins curve and the passing channel, to obtain a smooth human-like curve, and the first pre-planned path corresponds to a path of the smooth human-like curve.

[0214] In another possible implementation, the device for planning a driving path of a vehicle further includes a prediction module configured to predict a predicted trajectory of a dynamic obstacle. The routing module 1601 is further configured to determine a first channel based on the first pre-planned path, a topological structure of the target intersection, and the predicted trajectory of the dynamic obstacle, and the first channel includes a passing channel between the road entrance and the road exit in the target intersection. The planning module 1602 is further configured to generate the first path based on the first channel, the first pre-planned path, and the turning capability of the vehicle.

[0215] In another possible implementation, the planning module 1602 is specifically configured to determine a half-space constraint of each trajectory point in the to-be-optimized path based on the boundary of the first lane and the first pre-planned path. The second path is generated based on the first lane, the first pre-planned path, the turning ability of the vehicle, and the half-space constraint of each trajectory point in the to-be-optimized path. The half-space constraint of the i th trajectory point of the to-be-optimized path is updated based on the second path and the boundary of the first lane, i is an integer between 1 and N, and N is the number of trajectory points in the to-be-optimized path. The first path is generated based on the first lane, the second path, the turning ability of the vehicle, and the half-space constraint of each trajectory point in the updated to-be-optimized path. The to-be-optimized path includes the first pre-planned path and the second path.

[0216] In another possible implementation, the boundary of the first lane is composed of a plurality of lane boundaries, and each trajectory point in the to-be-optimized path corresponds to a lane boundary. The planning module 1602 is specifically configured to determine the lane boundary corresponding to the i th trajectory point of the second path as the half-space constraint of the i th trajectory point of the to-be-optimized path in the case that the i th trajectory point of the second path is located outside the lane boundary corresponding to the i th trajectory point of the second path.

[0217] In another possible implementation, the planning module 1602 is specifically configured to perform iterative calculation based on the first lane, the first pre-planned path, the turning ability of the vehicle, and the half-space constraint of each trajectory point in the to-be-optimized path, and sequentially generate M third paths, the second path is the M th third path, M is an integer greater than 1, and the to-be-optimized path includes the third paths.

[0218] In another possible implementation, the planning module 1602 is specifically configured to update the half-space constraint of the i th trajectory point of the to-be-optimized path based on the second path, the boundary of the first lane, and the M-1 th third path.

[0219] In another possible implementation, the planning module 1602 is specifically configured to determine the lane boundary corresponding to the i th trajectory point of the second path as the half-space constraint of the i th trajectory point of the to-be-optimized path in the case that the i th trajectory point of the second path is located outside the lane boundary corresponding to the i th trajectory point of the M-1 th third path.

[0220] In another possible implementation, the planning module 1602 is specifically configured to, in a case where the generation of the first path based on the first lane, the first pre-planned path and the turning capability of the vehicle fails, adjust a lane boundary related to the predicted trajectory of the dynamic obstacle in the first lane based on the predicted trajectory of the dynamic obstacle to determine a second lane. The second lane includes a passing lane between the road entrance and the road exit in the target intersection, and the lane boundary related to the predicted trajectory of the dynamic obstacle in the second lane is a crossable boundary. The first path is generated based on the second lane, the first pre-planned path and the turning capability of the vehicle.

[0221] In another possible implementation, the perception module is further configured to acquire a second static obstacle during the driving of the vehicle along the first path, the second static obstacle being located in the target intersection. The routing module 1601 is further configured to modify the first pre-planned path based on the second static obstacle. The planning module 1602 is further configured to update the first path based on the modified first pre-planned path.

[0222] FIG. 17 is a schematic diagram of a hardware structure of an apparatus for planning a driving path of a vehicle according to an embodiment of the present application. The apparatus 1700 for planning a driving path of a vehicle (which can be specifically a computer device) shown in FIG. 17 includes a memory 1701, a processor 1702, a communication interface 1703 and a bus 1704. The memory 1701, the processor 1702 and the communication interface 1703 are in communication connection with each other through the bus 1704.

[0223] The memory 1701 can be a read-only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM).

[0224] The memory 1701 can store a program, and when the program stored in the memory 1701 is executed by the processor 1702, the processor 1702 and the communication interface 1703 are configured to perform each step of the method for planning a driving path of a vehicle according to an embodiment of the present application.

[0225] The processor 1702 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU), or one or more integrated circuits that are configured to execute a program to perform functions required by units in the device for planning a driving path of a vehicle according to embodiments of the present application, or to perform the method for planning a driving path of a vehicle according to method embodiments of the present application.

[0226] The processor 1702 can also be an integrated circuit chip that has a processing capability for signals. In the implementation process, each step of the method for planning a driving path of a vehicle according to embodiments of the present application can be completed by an integrated logic circuit or an instruction in the form of software in the processor 1702. The processor 1702 described above can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. Each method, step and logic block diagram disclosed in embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in conjunction with embodiments of the present application can be directly embodied as a hardware code processor to execute, or a combination of hardware and software modules in the code processor to execute. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, or other mature storage media in the art. The storage medium is located in the memory 1701, and the processor 1702 reads the information in the memory 1701 and combines the hardware to complete the functions required by the units included in the device for planning a driving path of a vehicle according to embodiments of the present application, or to perform the method for planning a driving path of a vehicle according to method embodiments of the present application.

[0227] The communication interface 1703 uses a transceiver such as but not limited to a transceiver to realize the communication between the device 1700 and other devices or communication networks. For example, data can be obtained through the communication interface 1703.

[0228] The bus 1704 can include a path for transmitting information between various components (e.g., the memory 1701, the processor 1702, the communication interface 1703) of the device 1700.

[0229] It should be noted that although the apparatus 1700 shown in FIG. 17 only shows the memory, the processor, the communication interface, in the specific implementation process, those skilled in the art should understand that the apparatus 1700 also includes other devices necessary for normal operation. At the same time, according to the specific needs, those skilled in the art should understand that the apparatus 1700 can also include hardware devices that realize other additional functions. In addition, those skilled in the art should understand that the apparatus 1700 can also only include devices necessary for the embodiments of the present application, and does not have to include all the devices shown in FIG. 17.

[0230] The present application also provides an intelligent vehicle, comprising a traveling system, a sensing system, a control system and a computer system, wherein the computer system is configured to perform one or more steps of any of the above methods.

[0231] The embodiments of the present application also provide a computer readable storage medium having instructions stored therein, which, when executed on a computer or a processor, cause the computer or the processor to perform one or more steps of any of the above methods.

[0232] The embodiments of the present application also provide a computer program product comprising instructions. When the computer program product is executed on a computer or a processor, the computer or the processor performs one or more steps of any of the above methods.

[0233] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the above-described system, apparatus and unit can refer to the specific description of the corresponding step process in the foregoing method embodiments, which will not be described here.

[0234] It should be understood that, in the description of the present application, unless otherwise specified, " / " represents that the objects before and after the " / " are in an "or" relationship, for example, A / B can represent A or B; wherein A, B can be singular or plural. And, in the description of the present application, unless otherwise specified, "multiple" means two or more than two. "At least one of the following" or the like means any combination of the items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c can be single or multiple. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same function and role are distinguished by using "first", "second", etc. The skilled in the art can understand that "first", "second", etc. do not limit the quantity and execution order, and "first", "second", etc. do not necessarily mean different. At the same time, in the embodiments of the present application, "exemplary" or "for example" means to serve as an example, illustration or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, "exemplary" or "for example" is used to present the relevant concept in a specific manner, for understanding.

[0235] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the division of the unit is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0236] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0237] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in or transmitted by a computer readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media sets. The available medium can be a read-only memory (ROM), or a random access memory (RAM), or a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape, a magnetic disk, or an optical medium, such as a digital versatile disc (DVD), or a semiconductor medium, such as a solid state disk (SSD), etc.

[0238] The above is only a specific implementation of the embodiments of the present application, but the protection scope of the embodiments of the present application is not limited thereto. Any change or replacement within the technical scope disclosed by the embodiments of the present application should be covered within the protection scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application should be subject to the protection scope of the claims.

Claims

1. A method of planning a driving path for a vehicle, characterized by, The method comprises: obtaining a first pre-planned path between a road entrance and a road exit in a target intersection; generating a first path based on the first pre-planned path and a turning capability of a vehicle, the first path being a driving path between the road entrance and the road exit; the first path comprises at least two arc segments, and a distance between the road entrance and the road exit is less than twice a turning radius of the vehicle; controlling the vehicle to drive along the first path.

2. The method of claim 1, wherein, In a case where an included angle α between the road entrance and the road exit is less than 360°, a distance L1 between the road entrance and the road exit and twice a turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°-α).

3. The method according to claim 1 or 2, characterized in that, The obtaining of the first pre-planned path comprises: determining the first pre-planned path based on the road entrance, the road exit, the turning capability of the vehicle and a first static obstacle located in the target intersection.

4. The method according to any one of claims 1 to 3, characterized in that, The method further comprises: determining a first channel based on the first pre-planned path, a topological structure of the target intersection and a predicted trajectory of a dynamic obstacle, the first channel comprising a passing channel between the road entrance and the road exit in the target intersection; the generating of the first path based on the first pre-planned path and the turning capability of the vehicle comprises: generating the first path based on the first channel, the first pre-planned path and the turning capability of the vehicle.

5. The method of claim 4, wherein, The generating of the first path based on the first channel, the first pre-planned path and the turning capability of the vehicle comprises: determining a constraint condition of each trajectory point in an to-be-optimized path based on a boundary of the first channel and the first pre-planned path; generating a second path based on the first channel, the first pre-planned path, the turning capability of the vehicle and the constraint condition of each trajectory point in the to-be-optimized path; updating the constraint condition of an i-th trajectory point of the to-be-optimized path based on the second path and the boundary of the first channel, i being an integer from 1 to N, and N being a quantity of trajectory points in the to-be-optimized path; generating the first path based on the first channel, the second path, the turning capability of the vehicle and the constraint condition of each trajectory point in the to-be-optimized path after the updating; wherein the to-be-optimized path comprises the first pre-planned path and the second path.

6. The method of claim 5, wherein, The constraint condition is used to constrain a value range of the trajectory point.

7. The method according to claim 5 or 6, characterized in that, The boundary of the first channel is composed of a plurality of channel boundaries, each trajectory point in the to-be-optimized path corresponding to one of the channel boundaries; and the updating of the constraint condition of the i-th trajectory point of the to-be-optimized path based on the second path and the boundary of the first channel comprises: in a case where the i-th trajectory point of the second path is located outside the channel boundary corresponding to the i-th trajectory point of the second path, the channel boundary corresponding to the i-th trajectory point of the second path is determined as the constraint condition of the i-th trajectory point of the to-be-optimized path.

8. The method according to any one of claims 5-7, characterized in that, The second path is generated based on the first channel, the first pre-planned path, the turning ability of the vehicle, and the constraint condition of each trajectory point in the path to be optimized, and the second path comprises the following steps: iterative calculation is performed based on the first channel, the first pre-planned path, the turning ability of the vehicle, and the constraint condition of each trajectory point in the path to be optimized, and M third paths are sequentially generated; the second path is the Mth third path, and M is an integer greater than 1; the path to be optimized comprises the third paths.

9. The method of claim 8, wherein, The constraint condition of the i-th trajectory point of the path to be optimized is updated based on the second path and the boundary of the first channel, and the constraint condition of the i-th trajectory point of the path to be optimized comprises the following steps: The constraint condition of the i-th trajectory point of the path to be optimized is updated based on the second path, the boundary of the first channel, and the M-1th third path.

10. The method of claim 9, wherein, The constraint condition of the i-th trajectory point of the path to be optimized is updated based on the second path, the boundary of the first channel, and the M-1th third path, and the constraint condition of the i-th trajectory point of the path to be optimized comprises the following steps: In a case where the i-th trajectory point of the second path is located outside the channel boundary corresponding to the i-th trajectory point of the M-1th third path, the channel boundary corresponding to the i-th trajectory point of the second path is determined as the constraint condition of the i-th trajectory point of the path to be optimized.

11. The method according to any one of claims 4-10, characterized in that, The first path is generated based on the first channel, the first pre-planned path, and the turning ability of the vehicle, and the first path comprises the following steps: In a case where the first path fails to be generated based on the first channel, the first pre-planned path, and the turning ability of the vehicle, the channel boundary related to the predicted trajectory of the dynamic obstacle in the first channel is adjusted based on the predicted trajectory of the dynamic obstacle to determine a second channel; the second channel comprises a passing channel between a road entrance and a road exit in the target intersection, and the channel boundary related to the predicted trajectory of the dynamic obstacle in the second channel is a crossable boundary; The first path is generated based on the second channel, the first pre-planned path, and the turning ability of the vehicle.

12. The method according to any one of claims 1 to 11, characterized in that, The method further comprises: In a case where the vehicle travels along the first path, a second static obstacle is acquired, and the second static obstacle is located in the target intersection; The first pre-planned path is modified based on the second static obstacle; The first path is updated based on the modified first pre-planned path.

13. An apparatus for planning a driving path of a vehicle, characterized by The method comprises a unit for executing the method as claimed in any one of claims 1 to 12.

14. An apparatus for planning a driving path of a vehicle, characterized by The method comprises a processor for executing the method as claimed in any one of claims 1 to 12.

15. A chip system, characterized by The chip system is applied to an electronic device; the chip system comprises one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a line; the interface circuit is used to receive a signal from a memory of the electronic device and send the signal to the processor, and the signal comprises computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device executes the method as claimed in any one of claims 1 to 12.

16. A vehicle end characterized by, The vehicle end comprises the device for planning a vehicle driving path according to claim 13, or the device for planning a vehicle driving path according to claim 14, or the chip system according to claim 15.

17. A computer readable storage medium characterized by: The computer readable storage medium is configured to store a computer program, which, when executed, causes the method according to any one of claims 1-12 to be performed.

18. A computer program product, characterised in that, The computer program product comprises instructions which, when executed by a processor, cause the method according to any one of claims 1-12 to be implemented.

Citation Information

Patent Citations

  • Vehicle obstacle avoidance method and device, computing equipment and storage medium

    CN112581790A

  • Vehicle U-turn path planning method

    CN116252799A

  • Apparatus for generating turn-round path of vehicle and method thereof

    CN116946179A

  • Track planning method, electronic equipment and storage medium

    CN117485370A

  • Apparatus and method for generating u-turn path of autonomous vehicle

    US20210221355A1

Cited By

  • Path planning method and device in AMR forklift obstacle avoidance process

    CN121409256A

  • Path planning method and device in obstacle-avoiding process of amr forklift

    CN121409256B