Method and device for planning vehicle driving path, intelligent vehicle and storage medium
By generating paths that include at least two curved road segments at narrow intersections, and combining Dubins curves and trajectory smoothing technology, the challenge of U-turn operations at narrow intersections has been solved, improving the efficiency and safety of path planning for autonomous driving.
Patent Information
- Application Number
- CN202410544121.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-30
- Publication Date
- 2025-11-07
AI Technical Summary
In the scenario of making a U-turn at a narrow intersection, the vehicle cannot complete the U-turn operation when the steering wheel is turned to its full lock because the distance between the road entrance and exit is less than twice its turning radius, which increases the difficulty of autonomous driving.
By generating a first path that includes at least two curved road segments, and utilizing pre-planned paths and vehicle turning capabilities, combined with Dubins curves and trajectory smoothing techniques, a smooth vehicle driving path is planned to avoid static and dynamic obstacles and ensure that the vehicle can successfully complete a U-turn.
It enhances the autonomous driving capabilities in U-turn scenarios at intersections, improves the efficiency and safety of path planning, avoids collisions between vehicles and obstacles, and enhances the driving experience.
Smart Images

Figure CN120902765A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of automatic driving, and in particular to a method and device for planning a driving path of a vehicle, an intelligent vehicle, and a storage medium. BACKGROUND
[0002] 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.
[0003] Automatic driving is a mainstream application in the field of artificial intelligence. Automatic driving technology relies on computer vision, radar and global positioning system to control motor vehicles on the road. Automatic 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 the turning radius of the ego vehicle, the entry and exit of the lane, pedestrians and oncoming vehicles, and many other factors, so that the automatic driving capability in the intersection turning scenario needs to be improved. SUMMARY
[0004] The present application provides a method and device for planning a driving path of a vehicle, an intelligent vehicle, and a storage medium. The method for planning a driving path of a vehicle 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 automatic driving capability in the intersection turning scenario.
[0005] In a first aspect, the present application provides a method for planning a driving path of a vehicle, including operations such as obtaining a first pre-planned path, generating a first path based on the first pre-planned path and the turning capability of the vehicle, and controlling the vehicle to travel 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 the distance between the road entrance and the road exit is less than twice the turning radius of the vehicle.
[0006] 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 steering wheel of the vehicle cannot complete the U-turn operation, thereby making the U-turn operation more difficult. Similarly, the automatic driving technology also has a higher operation difficulty. The method for planning a vehicle driving path provided by the present application first acquires a first pre-planned path, which is a path planned between the road entrance and the road exit. For example, in the case that 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, the 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 being able to complete a one-time U-turn operation, achieving the effect of improving the automatic driving ability in the intersection U-turn scenario.
[0007] In a possible implementation of the first aspect, in the case that the angle α 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°-α).
[0008] In the above implementation, in the case that L1 and L2 satisfy L1 < L2 * COS(360°-α), the steering wheel of the vehicle cannot complete the U-turn operation. 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.
[0009] In another possible implementation of the first aspect, the above acquiring the first pre-planned path includes 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 in the target intersection.
[0010] In the above implementation, the first pre-planned path is generated by considering the turning ability of the vehicle and the static obstacle 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, thereby reducing the complexity of subsequent path planning and improving the efficiency of subsequent path planning.
[0011] Optionally, the 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. A trajectory smoothing problem can be solved based on the dubins curve and the passing channel to obtain a smooth human-like curve, and a 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 can generate a smooth human-like reference path for subsequent path planning, thereby improving the overall planning speed.
[0012] Optionally, the 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.
[0013] In another possible implementation of the first aspect, the method further includes determining a first channel based on the first pre-planned path, a topology of the target intersection and a 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.
[0014] In the above implementation, 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.
[0015] In another 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 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. A 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 to-be-optimized path. The constraint condition of an i-th trajectory point of the to-be-optimized path is updated based on the second path and the boundary of the first channel, 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 channel, the second path, the turning ability 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.
[0016] In the above embodiments, 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 preplanned path. For example, the constraint condition corresponding to the first trajectory point in the first preplanned 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 preplanned path is the constraint condition of the third trajectory point in the to-be-optimized path. The process of generating the second path based on the first lane, the first preplanned path, the turning capability of the vehicle, and the constraint condition of each trajectory point in the to-be-optimized path, for example, is to solve a nonlinear programming problem, to obtain the second path, wherein the first lane, the first preplanned path, the turning capability of the vehicle, and the constraint condition 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, that is, the second path is the to-be-optimized path, but not the final output path. The constraint condition of the i-th trajectory point in the to-be-optimized path is updated based on the boundary of the first lane and the second path, and the first path is generated based on the first lane, the second path, the turning capability of the vehicle, and the constraint condition of each trajectory point in the updated 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 solve the result due to unreasonable constraint setting.
[0017] 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.
[0018] In a possible implementation 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 of the second path is located outside the lane boundary corresponding to the i-th trajectory point of the second path, the lane 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.
[0019] In the above embodiments, in a case where 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, the lane 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. The lane boundary corresponding to the i-th trajectory point of the second path can be understood as the lane boundary closest to the i-th trajectory point of the second path. For example, in the case of establishing the SL coordinate system, the lane boundary corresponding to the i-th trajectory point of the second path is determined by judging which segment of the lane boundary the value of the i-th trajectory point of the second path in the S direction belongs to.
[0020] 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 capability of the vehicle, and the constraint condition of each trajectory point in the to-be-optimized path, and the generating the second path comprises: performing iterative calculation based on the first lane, 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, and generating M third paths in sequence, the second path being the Mth third path, M being an integer greater than 1, and the to-be-optimized path comprising the third paths.
[0021] In the above implementation manner, the second path is the Mth third path, and in combination with the 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.
[0022] In a possible implementation manner 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 and the boundary of the first lane, and the updating the constraint condition of the i th trajectory point of the to-be-optimized path comprises: updating the constraint condition 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-1th third path.
[0023] In the above implementation manner, the M-1th third path is the 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 lane, and the M-1th third path, which can increase the accuracy of updating the constraint condition of the i th trajectory point of the to-be-optimized path, thereby enabling the passing path to be generated more quickly based on the updated constraint condition of the i th trajectory point.
[0024] In a possible implementation manner 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 lane, and the M-1th third path, and the updating the constraint condition of the i th trajectory point of the to-be-optimized path 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 M-1th third path, determining the channel 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.
[0025] In the above implementation manner, in the 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.
[0026] In a possible implementation manner 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: in a case where the first path fails to be generated based on the first lane, the first pre-planned path and the turning capability of the vehicle, adjusting a lane boundary related to the predicted trajectory of the dynamic obstacle in the first lane to determine a second lane based on the predicted trajectory of the dynamic obstacle. 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.
[0027] In the above implementation manner, in a case where the first path fails to be generated based on the first lane, the first pre-planned path and the turning capability of the vehicle, the lane boundary related to the predicted trajectory of the dynamic obstacle in the first lane is adjusted to determine the second lane. For example, the lane boundary related to the predicted trajectory of the dynamic obstacle in the first lane is modified to a soft boundary. The first path is calculated again based on the second lane, the first pre-planned path and the turning capability of the vehicle, so that the first path calculated again can break through the boundary (the soft boundary part) of the second lane 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.
[0028] In a possible implementation manner of the first aspect, the method further includes: in a process in which the vehicle travels along the first path, a second static obstacle is acquired, the second static obstacle is located in the target intersection, the first pre-planned path is modified based on the second static obstacle, and the first path is updated based on the modified first pre-planned path.
[0029] In the above implementation manner, the second static obstacle is acquired in the process in which the vehicle travels, and the first pre-planned path is modified based on the second static obstacle, and the first path is updated, so that the vehicle can avoid the newly discovered static obstacle in time, and the safety of the driving is improved.
[0030] In a second aspect, the present application provides a device for planning a driving path of a vehicle, including a routing module, a planning module and a control module.
[0031] The routing module is configured to acquire 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 travel along the first path. 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 driving path between the road entrance and the road exit, the first path includes at least two arc-shaped road segments, and a distance between the road entrance and the road exit is less than twice a turning radius of the vehicle.
[0032] In a possible implementation of the second aspect, in the case that 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 the twice turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°- a).
[0033] In another 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 ability of the vehicle, and a first static obstacle located in the target intersection.
[0034] Optionally, the routing module can solve a dubins curve based on the road entrance, the road exit, the turning ability 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. Then, the routing module can solve a trajectory smoothing problem 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.
[0035] In another possible implementation 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 a dynamic obstacle. The routing module is further configured to determine a first channel based on the first pre-planned path, a 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 planning module is further configured to generate the first path based on the first channel, the first pre-planned path, and the turning ability of the vehicle.
[0036] In another possible implementation 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 channel and the first pre-planned path. 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 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 channel, 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 channel, the second path, the turning ability 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.
[0037] 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.
[0038] In a possible implementation manner of the second 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 planning module is specifically configured to determine, in a case where 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, the lane 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.
[0039] In a possible implementation manner of the second aspect, the planning module 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 constraint condition of each trajectory point in the to-be-optimized path, and sequentially generate M third paths, the second path being the M th third path, and M being an integer greater than 1, and the to-be-optimized path including the third paths.
[0040] 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 of the to-be-optimized path based on the second path, the boundary of the first lane, and the M-1 th third path.
[0041] In a possible implementation manner of the second aspect, the planning module is specifically configured to determine, in a case where 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, the lane 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.
[0042] In a possible implementation manner of the second aspect, the planning module 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 ability of the vehicle fails, adjust the 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 ability of the vehicle.
[0043] In a possible implementation manner 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.
[0044] 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 possible implementation manner of the first aspect.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] In a seventh aspect, the present application provides an intelligent vehicle, characterized in 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.
[0049] 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 or 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 that can be achieved thereby can refer to the beneficial effects in the corresponding method, which will not be described here again. BRIEF DESCRIPTION OF DRAWINGS
[0050] The drawings used by the embodiments of the present application are described below.
[0051] Figure 1 is a system architecture schematic diagram provided by the embodiments of the present application for planning a driving path of a vehicle;
[0052] Figure 2A and Figure 2B is a schematic diagram of a narrow intersection U-turn scenario provided by the embodiments of the present application;
[0053] Figure 3This is a schematic diagram of a road angle provided in this application;
[0054] Figure 4 This is a flowchart illustrating a method for planning a vehicle driving route according to an embodiment of this application;
[0055] Figure 5 This is a schematic diagram of a Durbins curve provided in an embodiment of this application;
[0056] Figure 6 This is a schematic diagram of a planned Durbins curve provided in an embodiment of this application;
[0057] Figures 7A-7B This is a schematic diagram of another method for planning the Durbins curve provided in an embodiment of this application;
[0058] Figure 8 This is a schematic diagram of another method for planning the Durbins curve provided in an embodiment of this application;
[0059] Figure 9A This is a schematic diagram of a passageway provided in an embodiment of this application;
[0060] Figures 9B-9F This is an update provided in the embodiments of this application. Figure 9A A schematic diagram of the passageway shown;
[0061] Figures 10A-10C This is another update provided by the embodiments of this application. Figure 9A Schematic diagram of the passageway shown
[0062] Figure 11 This is a schematic diagram illustrating the relationship between a passageway and trajectory points provided in an embodiment of this application;
[0063] Figure 12 This is a flowchart illustrating a method for dynamically updating half-space constraints of trajectory points according to an embodiment of this application;
[0064] Figures 13A-13B This is a schematic diagram of a second path provided in an embodiment of this application;
[0065] Figure 14 This is a flowchart illustrating another method for planning vehicle driving routes provided in an embodiment of this application;
[0066] Figure 15 This is a schematic diagram of soft boundary hardening provided in an embodiment of this application;
[0067] Figure 16 This is a schematic diagram of the structure of a device for planning vehicle driving paths provided in an embodiment of this application;
[0068] Figure 17Fig. 1 is a structural schematic diagram of another device for planning a driving path of a vehicle provided by an embodiment of the present application. DETAILED DESCRIPTION
[0069] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation manner 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.
[0070] Referring to Figure 1 Fig. 1 is a structural schematic diagram of a system architecture for planning a driving path of a vehicle provided by an embodiment of the present application. 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 dynamic and static obstacles on a road, including kerbs, lanes, pedestrians, and other vehicles, etc. The static obstacles such as kerbs and lanes are used to generate a lane-level full connection topology, which facilitates the planning and decision of the path of the ego vehicle by other modules. The dynamic obstacles such as pedestrians and other vehicles are factors that need to be considered in the planning process of the driving path. The prediction module is configured to generate a predicted trajectory of the dynamic obstacles. For example, the dynamic and static obstacles output by the perception module include the position, speed, and acceleration of a target vehicle, and the prediction module can predict the driving 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 passable area of the ego vehicle. For example, the routing module can generate a static boundary based on the dynamic and static obstacles, and modify the static boundary based on the predicted trajectory of the dynamic obstacles to obtain the passable area of the ego vehicle. Optionally, the routing module is further configured to generate a pre-planned path, which can be a path 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. Of course, the obstacle avoidance decision information can also include information such as the distance to avoid, for example, left avoidance by 30 cm or right avoidance by 10 cm. The planning module is configured to generate a path of the ego vehicle. For example, the planning module generates the path of the ego vehicle based on the passable area of the ego vehicle and the obstacle avoidance decision information. The control module controls the vehicle to drive along the path of the ego vehicle based on the path of the ego vehicle output by the planning module.
[0071] The above system is only an example, and other functional module division manners can also be used in specific implementation, which is not limited to the functional module division structure shown in Figure 1 The embodiments of the present application do not limit the specific functional module division.
[0072] The present application can be applied to the automatic driving vehicle driving on an open road, and when the driving range contains a road scene where there is no actual lane line or there are multiple reasonable driving trajectories, 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 narrow road U-turn intersection, intersection, roundabout, waiting-to-turn intersection, small S-bend, elevated entrance and exit, multi-lane road without lane marking and continuous turning intersection, etc. Of course, it can also be other scenes, and the present application does not make specific limitations on this.
[0073] The above is only described by taking the embodiment of the present application applied to the automatic driving scene as an example. The method for planning the driving path of the vehicle provided by the present application can also be applied to the assisted driving scene, and the present application does not make specific limitations on this.
[0074] 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 and a computer. The present application does not make specific limitations on this. Illustratively, the vehicle-mounted device can be an electronic control unit (ECU), a vehicle dynamics control (VDC) or a continuous damping control (CDC) in the vehicle, etc.
[0075] It should be noted that the method for planning the driving path of the vehicle provided by the present application can be executed locally or by a cloud. The cloud can be realized by a server, which can be a virtual server, a physical server, etc. It can also be other devices, and the present application does not make specific limitations on this.
[0076] Next, the method for planning the vehicle path provided by the present application is illustratively introduced by taking the scene of narrow intersection U-turn as an example. Narrow intersection U-turn generally refers to the interval between the entrance and exit of the road being narrow enough to support the U-turn operation of the steering wheel. According to whether the two lanes before and after the U-turn are parallel, the narrow intersection U-turn can be divided into U-shaped narrow intersection U-turn and quasi-U-shaped narrow intersection U-turn. The scene of U-shaped narrow intersection U-turn can be seen from Figure 2A From Figure 2A It can be seen that the lane corresponding to the road exit is parallel to the lane corresponding to the road entrance, and the interval between the entrance and exit is less than twice the turning radius of the vehicle, so that the vehicle cannot complete the U-turn operation of the steering wheel. The scene of quasi-U-shaped narrow intersection U-turn can be seen from Figure 2B From Figure 2BAs can be seen, the lane corresponding to the road exit is not parallel to the lane corresponding to the road entrance, and the distance L1 between the road entrance and the road exit and the double turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°-α), so that the vehicle cannot complete the steering U-turn operation, where α is the included angle between the two lanes before and after the U-turn, and the determination method of the lane included angle can refer to the related description of Figure 3 .
[0077] 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 by the present application.
[0078] Please refer to Figure 3 , Figure 3 is a schematic diagram of a road included angle provided by the present application. As shown in Figure 3 , the first lane and the second lane are respectively the lane before and after the vehicle U-turn, and the included angle between the first lane and the second lane is denoted by α. Since the first lane and the second lane are respectively the lane before and after the vehicle U-turn, the value range of α in the present application is (180°, 360°], for example, Figure 3 , the value range of α in the left U-turn scene shown in (a) and Figure 3 , the value range of α in the right U-turn scene shown in (b) is (180°, 360°), and α is equal to 330° or 340°, etc. For another example, Figure 3 , the value of α in the left U-turn scene shown in (c) and Figure 3 , the value of α in the right U-turn scene shown in (d) is 360°.
[0079] Obviously, the scene of U-turn at a narrow intersection, especially the scene 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 dead lock.
[0080] Therefore, the present application provides a method and device for planning a vehicle driving path, 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, so as to ensure that the vehicle completes the U-turn at a narrow intersection.
[0081] Please refer to Figure 4 , Figure 4 is a flowchart of a method for planning a vehicle driving path provided by an embodiment of the present application. As shown in Figure 4The detection method shown may include one or more steps S401 to S403. For example, some schemes may only include steps S401 and S403. It should be understood that, for ease of description, the method is described in the order of steps S401 to S403, and is not intended to limit the execution to the above order. This application embodiment does not limit the order of execution, the execution time, or the number of executions of the above one or more steps. Steps S401 to S403 are as follows:
[0082] S401, Obtain the first pre-planned path.
[0083] In one possible implementation, the first pre-planned path is, for example, Figure 1 The routing module shown is generated based on static obstacles and the turning ability of vehicles. For example, a first pre-planned path can be determined based on road entrances, road exits, vehicle turning ability, and a first static obstacle located at the target intersection. For instance, a Dubins curve between the road entrance and exit can be calculated based on information such as the road entrance, road exit, vehicle turning ability, and the first static obstacle. A passageway between the road entrance and exit can then be generated based on this Dubins curve. Next, the Dubins curve is smoothed based on the Dubins curve and the passageway to obtain the first pre-planned path. The process of obtaining the first pre-planned path is then described step-by-step as an example:
[0084] Step 1: Solve for the Dubins curve based on the road entrance, road exit, and the turning ability of the vehicle.
[0085] Understandably, the Dobbins curve is the shortest path connecting a starting point and an exit point, provided that curvature constraints and specified tangents at the starting and exit points (inbound and outbound directions) are met. Therefore, solving for the Dobbins curve between a road entrance and an exit point allows us to determine the shortest driving route between them, resulting in a more efficient and efficient final driving path. Please refer to [link / reference]. Figure 5 , Figure 5 This is a schematic diagram of a Durbins curve provided for an embodiment of this application. Figure 5 As shown, the Dubins curve consists of two arcs with the same curvature and a straight line, with the straight line tangent to the circles corresponding to the two arcs. Of course, Figure 5 The Durbins curve shown is only one type among many Durbins curve types and should not be considered as such. Figure 5 The Durbins curve described herein serves as a limitation. In some possible implementations, the curvatures of the two arcs at the ends of the Durbins curve may not be the same, but both shall be greater than the minimum curvature limit.
[0086] Next, the actual application of the Dubins curve is illustrated by an example of a U-turn scenario. Please refer to Figure 6 , Figure 6 for a schematic diagram of the Dubins curve provided by an embodiment of the present application. As shown in Figure 6 , since the double of the minimum turning radius (R) of the vehicle is larger than the distance between the exit and the entrance of the road, the vehicle cannot complete the U-turn operation by turning the steering wheel to the full left. Instead, the vehicle can complete the U-turn operation by following the Dubins curve as shown in Figure 6 . For example, the vehicle keeps the driving direction unchanged at the exit of the road and continues to drive in a straight line for a distance d1. Then, the vehicle turns to the left with the minimum turning radius by an angle β1. Next, the vehicle turns to the right with the minimum turning radius by an angle γ1, so that the driving direction of the vehicle is parallel to the driving direction of the lane at the entrance of the road, and the U-turn operation of the vehicle is completed.
[0087] Obviously, the Dubins curve shown in Figure 6 does not take into account the possible obstacles on the road. For example, there can be road blocks, broken-down vehicles, road construction, etc. on the lane at the entrance of the road or in the middle of the intersection. In such a case, the Dubins curve needs to be adjusted or the entrance of the road needs to be selected again and the Dubins curve needs to be planned again, so that the vehicle can complete the U-turn operation along the planned Dubins curve.
[0088] Please refer to Figure 7A and Figure 7B , in which Figure 7A shows a scenario in which there is an obstacle on the lane at the entrance of the road, Figure 7B shows a scenario in which there is an obstacle in the middle of the intersection. Both of the above obstacles will prevent the vehicle from completing the U-turn operation along the Dubins curve as shown in Figure 6 , so the Dubins curve as shown in Figure 6 needs to be adjusted, so that the vehicle can avoid the obstacle during driving. As shown in Figure 7A , the vehicle keeps the driving direction unchanged at the exit of the road and continues to drive in a straight line for a distance d2. Then, the vehicle turns to the left with the minimum turning radius by an angle β2. Next, the vehicle keeps the driving direction unchanged and drives in a straight line for a distance d3. Further, the vehicle turns to the right with the minimum turning radius by an angle γ2, so that the driving direction of the vehicle is parallel to the driving direction of the lane at the entrance of the road, and the U-turn operation of the vehicle is completed. As shown in Figure 7BAs shown, the vehicle keeps the driving direction unchanged at the road exit and continues driving along a straight line for a distance d4. Then, the vehicle turns left with a minimum turning radius by an angle β3. Next, the vehicle turns right with a minimum turning radius by an angle γ3, 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.
[0089] In combination Figure 6 and Figure 7A As shown, due to the different lanes corresponding to the road entrance, the Dubins curve planned is also different. However, as shown in Figure 7B and Figure 6 The lanes corresponding to the road entrance are the same, so the Dubins curves planned are similar in shape, and the difference is that d4 is greater than d1, so that the vehicle can avoid the obstacle. Of course, limited by the size of the intersection, d4 also has a maximum value to ensure that the vehicle does not collide with the opposite intersection.
[0090] It can be understood that, limited by 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, so the vehicle needs to continuously detect the environment in the intersection during the U-turn process, and update the first pre-planned path based on the latest obtained static obstacles. Exemplarily, please refer to Figure 8 , Figure 8 The pre-planned path 1 shown in Figure 6 may be the Dubins curve shown in Figure 6 , and may also be the driving path finally planned based on the Dubins curve shown in Figure 8 The vehicle does not detect the obstacle shown in Figure 8 at the road exit, and when the vehicle travels along the planned path for a certain distance, the obstacle shown in Figure 8 is detected, so the Dubins curve needs to be regenerated, such as the pre-planned path 2 shown in
[0091] Step 2, generate a passing channel based on the Dubins curve.
[0092] In one 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 the vehicle cannot cross. For example, the vehicle can drive to any position in the channel without collision.
[0093] Exemplarily, the SL coordinate system can be established based on the determined Dubins curve, and the passage is represented by using the SL coordinate system. The SL coordinate system is also called frenet frame, which takes the road center line as a reference, S represents the direction of the road center line, and L represents the direction perpendicular to the road center line.
[0094] Step 3, solving the trajectory smoothing problem of the Dubins curve, and regenerating the passage based on the smoothed Dubins curve.
[0095] Exemplarily, the Dubins curve and the passage 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 obtain a smoothed human-like curve.
[0096] Optionally, the passage generated by considering the static obstacle (as described in the related description below) is taken as the planning boundary of the path to solve the trajectory smoothing problem of the Dubins curve. Figure 9B
[0097] Optionally, the objective function of the trajectory smoothing can be represented as:
[0098] C = ω1 * C1 + ω2 * C2 + ω3 * C3;
[0099]
[0100]
[0101]
[0102] wherein C1, C2 and C3 represent the smoothing cost, the length cost and the 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 Dubins curve.
[0103] The smoothness cost is used to evaluate the smoothness of the smoothed path curvature and the curvature rate of change, and the smaller the curvature and the curvature rate of change, the smoother the curve, and the lower the smoothness cost C1, w1 is the weight of the smoothness cost in the total cost.
[0104] The length cost is determined according to the distance between adjacent track points of the smoothed path, and is used to evaluate the distance between adjacent track points. The smaller the distance between adjacent track points, the lower the length cost C2, and w2 is the weight of the length cost in the total cost.
[0105] The offset cost is used to evaluate the degree of the smoothed path deviating from the path before smoothing, and the closer the smoothed path to the path before smoothing, the lower the offset cost C3, and w3 is the weight of the length cost in the total cost.
[0106] Optionally, in the process of solving the track smoothing, a constraint condition needs to be set for each track point to be optimized, which can be composed of the upper boundary and the lower boundary of the passage, for example. For example, reference can be made to the related description of the half-space constraint of the track point in the following Figure 12 The related description of the half-space constraint of the track point is not described here.
[0107] Of course, in the process of specific implementation, the Dubins curve can also be smoothed based on other objective functions, which is not limited by the present application. In order to facilitate description, the Dubins curve based on smoothing can be referred to as the first pre-planned path.
[0108] Based on the first pre-planned path, the specific implementation of regenerating the passage can refer to the description of step 2 above, which will not be described here.
[0109] S402, based on the first pre-planned path and the turning ability of the vehicle, a first path is generated.
[0110] 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.
[0111] It can be understood that the first pre-planned path is generated based on static obstacles and the turning ability of the vehicle, so if the intersection only includes static obstacles, the vehicle can drive along the first pre-planned path from the road exit to the road entrance. Obviously, the intersection usually also includes dynamic obstacles, and the above-mentioned first path is a driving path generated on the basis of the first pre-planned path considering the dynamic obstacles. Next, the generation process of the first path will be introduced exemplarily in combination with the drawings.
[0112] Please refer to Figure 9A , Figure 9AA schematic diagram of a passing channel is provided for the embodiments of the present application. As shown in Figure 9A , the passing channel includes an upper boundary and a lower boundary, both of which are non-crossable boundaries. It should be noted that Figure 9A , the upper boundary and the lower boundary shown are exemplary and do not limit the scheme of the present application.
[0113] In one possible implementation, the upper boundary and / or the lower boundary of the passing channel can be updated based on a newly discovered obstacle during the driving of the vehicle.
[0114] Referring to Figure 9B , Figure 9B , the obstacle can be an obstacle newly discovered by the vehicle during the process of turning around, which is located in the channel formed and needs to modify the upper boundary and / or the lower boundary of the passing channel to avoid collision between the vehicle and the obstacle. As shown in Figure 9B , the normal of the first pre-planned path includes a first normal tangent to the obstacle and a second normal, and the sub-boundary formed by the first normal and the second normal intercepting the upper boundary is referred to as the 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 Figure 9B , that is, the obstacle is excluded from the passing channel. Of course, in the specific implementation process, 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.
[0115] In another possible implementation, 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 can be determined based on the first pre-planned path, the topology of the target intersection and the predicted trajectory of the dynamic obstacle, and the first channel includes the passing channel between the road entrance and the road exit in the target intersection, wherein the topology of the target intersection includes the topology composed of road environment such as 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.
[0116] Exemplarily, referring to Figure 9C , Figure 9C , the predicted trajectory of the oncoming vehicle overlaps with the passing channel, so the ego vehicle is at risk of collision 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 Figure 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 collision between the ego vehicle and the oncoming vehicle.
[0117] Exemplarily, referring to Figure 9E ,Figure 9E If the predicted trajectory of the oncoming vehicle overlaps with the passing channel, the ego vehicle is at risk of collision 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 Figure 9F , the lower boundary of the passing channel is modified so that the predicted trajectory of the oncoming vehicle is located outside the passing channel, thereby avoiding collision between the ego vehicle and the oncoming vehicle.
[0118] Optionally, when the predicted trajectory of the oncoming vehicle overlaps with the passing channel, the upper boundary and / or the lower boundary of the passing channel can be modified based on the obstacle avoidance indication, which can be provided by the decision module as shown in Figure 1
[0119] Exemplarily, please refer to Figure 10A , Figure 10A If the predicted trajectory of the oncoming vehicle is located in the passing channel, i.e., the oncoming vehicle is at risk of collision with the ego vehicle. The decision module will issue an obstacle avoidance indication according to the motion state of the oncoming vehicle, the position of the ego vehicle and the speed of the ego vehicle, etc. The obstacle avoidance indication includes left avoidance, right avoidance or ignore, wherein the left avoidance means to avoid from the left side of the oncoming vehicle, as shown in Figure 10B , the upper boundary as shown in Figure 10A can be modified to obtain the upper boundary as shown in Figure 10B , so that the ego vehicle avoids the oncoming vehicle from the left side. The right avoidance means to avoid from the right side of the oncoming vehicle, as shown in Figure 10C , the lower boundary as shown in Figure 10A can be modified to obtain the lower boundary as shown in Figure 10C , so that the ego vehicle avoids the oncoming vehicle from the right side. The ignore means that the boundary of the passing channel does not need to be modified. It can be understood that, although the predicted trajectory of the oncoming vehicle overlaps with the passing channel, the ego vehicle is not at risk of collision with the oncoming vehicle, and therefore, the boundary of the passing channel does not need to be modified.
[0120] Optionally, the predicted trajectory of the dynamic obstacle is, for example, predicted according to the position, speed and acceleration of the dynamic obstacle, etc., to obtain the driving trajectory of the dynamic obstacle in the next period of time. For example, the driving trajectory of the dynamic obstacle in the next 3 seconds is predicted.
[0121] 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.
[0122] 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 avoid the vehicle 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.
[0123] For ease of description, the modified passageway above can be referred to as a first passageway, and the upper and lower boundaries of the first passageway are non-crossable boundaries.
[0124] 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.
[0125] 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:
[0126] 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 process of iteration. Obviously, the first pre-planned path also belongs to the to-be-optimized path.
[0127] 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.
[0128] 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.
[0129] The boundary-to-boundary correspondence described above can be understood as the boundaries being closest in distance to each other. For example, the first pair of sub-boundaries in a soft boundary is closest in distance to the first pair of sub-boundaries in a hard boundary. Similarly, the boundary-to-trajectory-point correspondence described above can be understood as the boundary and the trajectory point being closest in distance to each other. Please refer to [link to relevant documentation]. Figure 11 The upper and lower boundaries of a pair of characters are connected by a dashed line. Figure 11 The text shows the sub-boundaries of 4 pairs of hard boundaries and 4 pairs of soft boundaries, labeled with I, II, III and IV respectively. Figure 11 It also includes 4 trajectory points ( Figure 11 The black dots with numbers are labeled 1, 2, 3, and 4 respectively. From Figure 11 As can be seen, there is a one-to-one correspondence between the sub-boundaries of the four pairs of hard boundaries and the sub-boundaries of the four pairs of soft boundaries. A trajectory point uniquely corresponds to a pair of sub-boundaries within 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 within 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 implementations, this application does not limit how to define the correspondence between sub-boundaries or between sub-boundaries and trajectory points.
[0130] In one possible implementation, the half-space constraints of each trajectory point in the path to be optimized can be set in a preset manner. These half-space constraints include all or part of the hard and soft boundaries in the first channel. This application does not limit the preset method.
[0131] In another possible implementation, the hard and soft boundaries corresponding to each trajectory point in the first pre-planned path can be used as half-space constraints for each trajectory point in the path to be optimized. For example, the hard and soft boundaries corresponding to the first trajectory point in the first pre-planned path can be half-space constraints for the first trajectory point in the path to be optimized.
[0132] Furthermore, the hard boundaries in the half-space constraints can be called the hard constraints of the trajectory points in the half-space, and the soft boundaries in the half-space constraints can be called the soft constraints of the trajectory points in the half-space.
[0133] Step 2: Generate a second path based on the first channel, the first pre-planned path, the vehicle's turning capability, and the half-space constraints of each trajectory point in the path to be optimized.
[0134] Exemplarily, the first pre-planned path can be path-optimized to generate 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 path to be optimized. For example, the second path can be generated by solving a nonlinear programming problem. The objective function of the nonlinear programming problem can be expressed as:
[0135]
[0136] The constraint of the objective function can be expressed as:
[0137]
[0138] x(0) = x0, y(0) = y0, θ(0) = θ0(2)
[0139] θ low,i ≤ θ i ≤ θ up,i , κ low,i ≤ κ i ≤ κ up,i , i = 1, 2, 3…N(3)
[0140]
[0141]
[0142] wherein formula (1) is a kinematic constraint for constraining 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, and formula (5) is a half-space soft constraint.
[0143] Next, the objective function and the variables of the constraints in the objective function will be introduced one by one.
[0144] wherein λ x , λ y and λ θ are weights; (x i , y i , θ i ) or (x i+1 , y i+1 , θ i+1 ) are coordinates of the trajectory points to be optimized, wherein θ i and θ i+1 respectively represent the driving directions corresponding to the i-th trajectory point and the i+1-th trajectory point; (x ref,i , y ref,i , θ ref,i ) is used to represent the coordinates of the reference trajectory point, wherein θ ref,irepresents the driving direction corresponding to the i-th reference trajectory point; v represents the speed, which can be a constant; k i and k i+1 respectively represent the curvatures corresponding to the i-th trajectory point and the i+1-th trajectory point; θ low,i and θ up,i respectively represent the minimum driving direction and the maximum driving direction of the i-th trajectory point; k low,i and k up,i respectively represent the minimum curvature and the maximum curvature of the i-th trajectory point.
[0145] Optionally, the coordinates of the trajectory points can be represented in the Euclidean coordinate system. By taking 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 as input parameters of the above 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 are 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 i-th trajectory point can be referred to as the i-th 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 at different positions in different paths.
[0146] Step 3, updating the half-space constraint of the i-th trajectory point of the to-be-optimized path based on the second path and the boundary of the first channel.
[0147] 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, etc. 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, and reducing the jerk of the vehicle, so as to improve the riding experience. Please refer to the related description of the following Figure 12 , which will not be described in detail here.
[0148] Step 4: Generate the first path based on the first channel, the second path, the vehicle's turning ability, and the half-space constraints of each trajectory point in the updated path to be optimized.
[0149] For example, the second path can be optimized based on the first channel, the second path, the vehicle's turning capability, and the half-space constraints of each trajectory point in the updated path to be optimized, to generate the first path. For instance, the first path can be generated by solving the aforementioned nonlinear programming problem. The specific implementation process can be found in the description of generating the second path above, and will not be repeated here.
[0150] S403, Control the vehicle to travel along the first path.
[0151] For example, the vehicle's control module sends driving commands to the vehicle's power system based on the first path to control the vehicle to travel along the first path. For specific implementation details, please refer to existing technologies; further elaboration will not be provided here.
[0152] Please see Figure 12 , Figure 12 This is a flowchart illustrating a method for dynamically updating half-space constraints of trajectory points, provided in an embodiment of this application. Figure 12 The detection method shown may include one or more steps S1201 to S1202. For example, some schemes may only include steps S1201 and S1202. It should be understood that, for ease of description, the description is based on the order of steps S1201 to S1202, and is not intended to limit the execution to the above order. This application embodiment does not limit the order of execution, the execution time, or the number of executions of the above one or more steps. Steps S1201 to S1202 are as follows:
[0153] S1201. Obtain the first half-space constraint corresponding to the target trajectory point in the M-1th second path and the second half-space constraint corresponding to the Mth second path.
[0154] For example, the first pre-normalized path can be used as the first second path. Then, the (M-1)th second path is the second path calculated in the (M-2)th iteration, and the Mth second path is the second path calculated in the (M-1)th iteration. It can be understood that, based on the positions of the target trajectory points in the (M-1)th and Mth second paths, the first half-space constraint corresponding to the target trajectory point in the (M-1)th second path and the second half-space constraint corresponding to the target trajectory point in the Mth second path can be calculated. Please refer to [link / reference]. Figure 13A and Figure 13B , Figure 13A and Figure 13BThe Mth second path and the M-1th second path are shown respectively, wherein 1_1, 2_1, 3_1, 4_1, 5_1 and 6_1 can be upper boundaries (hard constraint upper boundaries or soft constraint upper boundaries), 1_2, 2_2, 3_2, 4_2, 5_2 and 6_2 can be lower boundaries (hard constraint lower boundaries or soft constraint lower boundaries), 1_3, 2_3, 3_3, 4_3, 5_3 and 6_3 can be the M-1th second path, 1_4, 2_4, 3_4, 4_4, 5_4 and 6_4 can be the Mth second path, wherein 1_3 and 1_4 are the same trajectory point, 2_3 and 2_4 are the same trajectory point. From Figure 13A and Figure 13B It can be seen that each trajectory point in the Mth second path and the M-1th second path has its corresponding half-space constraint. For example, the corresponding half-space constraint of 1_3 is upper boundary 1_1 and lower boundary 1_2, the corresponding half-space constraint of 2_3 is upper boundary 2_1 and lower boundary 2_2, and so on.
[0155] Optionally, the target trajectory point can be any trajectory point 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.
[0156] 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.
[0157] It can be understood that the target trajectory point is located outside the first (second) half-space constraint, that is, 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 Figure 13A and Figure 13B It is assumed that the target trajectory point is the second trajectory point in the to-be-optimized path, that is, 2_3 shown in Figure 13A or Figure 13BIn the example shown in FIG. 2, 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 in SL coordinates as (40, 33), 3_4 can be expressed in SL coordinates as (50, 12), 2_1 can be expressed in SL coordinates as (21, 56) to (38, 56), 2_2 can be expressed in SL coordinates as (21, 4) to (38, 4), 3_1 can be expressed in SL coordinates as (38, 52) to (53, 52), and 3_2 can be expressed in SL coordinates as (38, 21) to (53, 21). In this application, to determine whether a trajectory point is located outside a half-space constraint, only the value of the trajectory point in the L direction needs to be determined. 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.
[0158] As can be known from the above description, in the case where the target trajectory point is the second trajectory point of the to-be-optimized path, the target trajectory point 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 does not need to be updated. Of course, in the case where the target trajectory point is the third trajectory point (3_3 or 3_4) of the to-be-optimized path, 3_4 is located outside 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 needs to be updated. Similarly, 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, and thus the half-space constraint of the fourth trajectory point of the to-be-optimized path needs to be updated. Similarly, 5_4 is located outside the half-space constraint composed of 6_1 and 6_2, and thus the half-space constraint of the fifth trajectory point of the to-be-optimized path needs to be updated. Similarly, the half-space constraint of the first trajectory point and the sixth trajectory point of the to-be-optimized path does not need to be updated.
[0159] In a possible implementation, in the case where 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 Figure 13BAccording to the above analysis, it can be known that the half-space constraint of the third trajectory point in 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 therefore the half-space constraint of the third trajectory point in 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 in 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 therefore the half-space constraint of the fourth trajectory point in the to-be-optimized path can be updated to the half-space constraint composed of 5_1 and 5_2.
[0160] Of course, whether the trajectory point is located outside the half-space constraint space can also be determined by other methods, which are not limited in the present application. For example, the determination can be performed by establishing other types of coordinate systems.
[0161] Alternatively, 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 constraint. 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 updating the half-space constraint of the target trajectory point when 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.
[0162] 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 is in the range of 1 to N, and N is the upper limit of the iteration calculation. That is, after each K iteration calculation, the above determination is performed once. Figure 12 The method shown in FIG. 6 will not be described here for the sake of brevity of description.
[0163] By updating the half-space constraint of each trajectory point in the to-be-optimized path in a timely manner, the problem that the initial constraint setting is unreasonable and the optimal path cannot be calculated or the calculation efficiency is low can be avoided, so as to avoid the problem that the self vehicle and the other vehicle are further interacted and stuck, and the human intervention is required, thereby improving the driving experience.
[0164] Please refer to Figure 14 The present application also provides a flowchart of another method for planning a driving path of a vehicle. As shown in Figure 14The illustrated 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 description is made in this order of steps S1401 to S1413, and is not intended to limit the execution in the above order. The embodiments of the present application do not limit the order of execution, the time of execution, the number of execution, etc. of the one or more steps. Steps S1401 to S1413 are as follows:
[0165] S1401, identify the U-turn intersection scene and extract road information.
[0166] For example, the perception module on the vehicle identifies the U-turn intersection scene and extracts road information. The road information includes dynamic obstacles and static obstacles, and specific descriptions can be referred to the related descriptions in the foregoing Figure 1 , which will not be repeated here.
[0167] S1402, solving a dubins curve based on the turning ability of the ego vehicle and the road information.
[0168] 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 descriptions in the foregoing Figure 4 , which will not be repeated here.
[0169] S1403, collision detection of static obstacles.
[0170] For example, 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 routing module will be sent the related information of the static obstacle, and the routing module will modify the solved dubins curve based on the related information of the static obstacle. The specific implementation process can be referred to the related descriptions in the foregoing Figure 7A and Figure 7B , which will not be repeated here.
[0171] S1404, smoothing the dubins curve and generating a temporary lane based on the smoothed curve.
[0172] For example, the routing module of the vehicle smoothes the dubins curve and generates a temporary lane based on the smoothed curve. The specific implementation of smoothing the dubins curve can be referred to the related descriptions of step S401, which will not be repeated here. Similarly, the specific implementation process of generating a temporary lane based on the smoothed curve can also be referred to the related descriptions of step S402, which will not be repeated here.
[0173] S1405, modifying the boundary of the temporary passage based on the predicted trajectory of the dynamic obstacle, to obtain a first passage.
[0174] For example, the vehicle's routing module modifies the boundary of the temporary passage based on the predicted trajectory of the dynamic obstacle, and the specific implementation of obtaining the first passage can refer to the foregoing Figures 9C-9F , or Figures 10A-10C related description, which will not be repeated here.
[0175] S1406, solving the motion planning problem.
[0176] For example, the vehicle's routing module obtains the driving path of the vehicle by solving the foregoing nonlinear programming problem. The specific implementation of solving the nonlinear programming problem can refer to the foregoing related description, 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 Figure 12 may be used in the process of solving the nonlinear programming problem to improve the solving speed.
[0177] S1407A, whether the solving fails, that is, judging whether the solving of the foregoing motion problem fails.
[0178] For example, the solver of the nonlinear programming problem outputs the result of whether the solving fails.
[0179] For example, the threshold of the number of iterations can be set, and if 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 convergence. For example, the threshold of the number of iterations is set to 100, and if the number of iterations exceeds 100, it is considered that the solving fails, so that the hard boundary is softened to avoid the situation that the solving is always unsuccessful. Conversely, it is considered that the solving is successful.
[0180] 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 unsuccessful can be understood as that a driving path meeting the constraint condition cannot be generated, or that there is a collision risk between the ego vehicle and the other vehicle under the current constraint condition. In the case that the result of the motion planning problem is unsuccessful, the driving path cannot be output in time, which will cause the vehicle to be stuck and the passengers' 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 real-time obstacle avoidance capability, to avoid the situation that the driving path cannot be output in time.
[0181] For example, in the case that the result of the motion planning problem is unsuccessful, the constraint condition of the motion planning problem is modified by the method of hard boundary softening, and the motion planning problem is solved again to output a suitable driving path.
[0182] Next, combine Figure 9C , Figure 9D and Figure 15 The implementation process of hard boundary softening is described exemplarily. For example... Figure 9C As shown, the predicted trajectory of oncoming vehicles overlaps with the traffic lane. To avoid collisions between the vehicle and oncoming vehicles, the modified traffic lane is as follows: Figure 9D As shown, the modified boundary can be referred to as the channel boundary associated with the predicted trajectory of the oncoming vehicle (i.e., Figure 9D (Two right-angled straight lines in the upper boundary). Hard boundary softening can be understood as treating the channel boundary related to the predicted trajectory of the oncoming vehicle as a soft boundary to solve the motion planning problem. For example... Figure 15 As shown, the upper boundary of the passageway consists of a partial hard boundary and a partial soft boundary. The soft boundary includes the passageway boundary related to the predicted trajectory of oncoming vehicles. Of course, the passageway boundary related to the predicted trajectory of oncoming vehicles is a portion of the lower boundary of the passageway. The soft boundary can also be modified from the lower boundary of the passageway to solve the motion planning problem. For the sake of simplicity, this application will not draw the diagram further. Figure 1 This has been explained.
[0183] Alternatively, hard boundary softening can also be understood as modifying all hard boundaries into soft boundaries to solve the motion programming problem. For example, before hard boundary softening, the constraints used to solve the above nonlinear programming problem are as shown in formula (4), excluding formula (5). After hard boundary softening, the constraints used to solve the above nonlinear programming problem are as shown in formula (5), excluding formula (4).
[0184] Optionally, the number of iterations for solving the motion planning problem can be preset to determine whether hard boundary softening is needed. For example, if the number of iterations for solving the motion planning problem exceeds 100, it can be determined whether hard boundary softening is required to avoid situations where the solution fails repeatedly.
[0185] By softening the hard boundaries and solving the motion planning problem again, the success rate of the solution can be improved, avoiding situations where the solution is repeatedly unsuccessful or even stuck.
[0186] Optionally, if the solution to the motion planning problem is successful, then operations S1408 and S1409 described below are executed sequentially.
[0187] S1407B, Whether the solution has failed, i.e., whether the solution to the motion problem after the softening of the hard boundary has failed.
[0188] It can be understood that the specific implementation of solving the motion planning problem after softening the hard boundary can refer to the foregoing description of solving the nonlinear programming problem, which will not be repeated here.
[0189] The determination of whether the motion problem after softening the hard boundary fails can also be made in the following way:
[0190] Method one, the solver of the nonlinear programming problem outputs the result of whether the solution fails.
[0191] 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 solution fails, where the iteration not completed can mean that the result is convergent. For example, the threshold value of the number of iterations is set to 100 times, and if the number of iterations exceeds 100 times, it is considered that the solution fails. Conversely, it is considered that the solution is successful.
[0192] Optionally, in the case where the motion problem after softening the hard boundary fails, the operation of S1413 is performed. In the case where the motion problem after softening the hard boundary succeeds, the operation of S1408 is performed.
[0193] S1408, rationality detection of the path.
[0194] Exemplarily, the rationality detection of the path, for example, is to consider the factors such as the geometry of the path, vehicle kinematics and traffic rules, etc. to detect the path obtained by solving the motion planning problem.
[0195] In the case where the rationality detection result of the path is reasonable, the path obtained by solving the motion planning problem is taken as the ego path, for example, the operation of step S1409 is performed.
[0196] In the case where the rationality detection result of the path is unreasonable, it is determined whether there is already a path obtained by solving the motion planning problem, for example, step S1410 is performed.
[0197] S1409, outputting the ego path.
[0198] In the case where the rationality detection result of the path is reasonable, the path is output as the ego path, and the vehicle is controlled to travel along the path.
[0199] S1410, determining whether there is already a path obtained by solving the motion planning problem.
[0200] It can be understood that solving the above motion planning problem is continuously calculated along with the driving 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 to detect the rationality 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 previously solving the motion planning problem. For ease of 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.
[0201] Optionally, when there is a path obtained by solving the motion planning problem in the vehicle, the operation of S1411 is performed.
[0202] Optionally, when there is no path obtained by solving the motion planning problem in the vehicle, the operation of S1412 is performed.
[0203] S1411, output the last frame path and report a task order request (TOR).
[0204] 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).
[0205] Obviously, the path obtained by solving the motion planning problem this time fails to pass the rationality detection of the path, and it is considered that the obtained path is not reasonable, for example, the obtained path has a 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.
[0206] Optionally, in the case that the path obtained by solving the motion planning problem this time fails to pass 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 this time fails to pass the rationality detection of the path, the vehicle is controlled to stop slowly and the operations of S1401, S1402, etc. are re-executed, so as to solve the above motion planning problem again to make the generated path satisfy the rationality detection of the path, and then control the vehicle to drive along the path.
[0207] S1412, output the smoothed path and report the TOR.
[0208] The smoothed path is, for example, the path generated by S1404.
[0209] Optionally, in the case that the path obtained by solving the motion planning problem fails to pass the path rationality detection, 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.
[0210] S1413, stop the motion planning of the current frame, and report TOR.
[0211] In the case of failure of S1407B, stop the subsequent solving of the current frame, and report TOR.
[0212] Optionally, in the case of failure of S1407B, 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.
[0213] The above Figure 14 The method for planning a vehicle driving path can fully consider the obstacle avoidance capability of the vehicle, and perform hard boundary softening operation in the case that the vehicle cannot avoid obstacles, so as to improve the speed of solving the driving path. In addition, the above method sets the number of times 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.
[0214] Referring to Figure 16 Fig. 16 is a schematic diagram of a device for planning a vehicle driving path provided by an embodiment of the present application. As Figure 16 As shown in Fig. 16, the device 1600 for planning a vehicle driving path comprises a routing module 1601, a planning module 1602 and a control module 1603, wherein:
[0215] The routing module 1601 is configured to obtain a first pre-planned path.
[0216] The planning module 1602 is configured to generate a first path based on the first pre-planned path and the turning capability of the vehicle.
[0217] The control module 1603 is configured to control the vehicle to travel along the first path.
[0218] The above 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 comprises at least two arc-shaped road segments, and the distance between the road entrance and the road exit is less than twice the turning radius of the vehicle.
[0219] In one possible implementation, in the case that the angle α between the road entrance and the road exit is less than 360°, the distance L1 between the road entrance and the road exit and the twice turning radius L2 of the vehicle satisfy the following relationship: L1 < L2 * COS(360°-α).
[0220] 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 ability of the vehicle, and a first static obstacle in the target intersection.
[0221] Optionally, the routing module 1601 can solve a dubins curve based on the road entrance, the road exit, the turning ability 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. A trajectory smoothing problem is solved based on the dubins curve and the passing channel to obtain a smooth human-like curve, and a path corresponding to the smooth human-like curve is the first pre-planned path.
[0222] 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 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 planning module 1602 is further configured to generate the first path based on the first channel, the first pre-planned path, and the turning ability of the vehicle.
[0223] 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 a boundary of the first channel and the first pre-planned path. A second path is generated 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. The half-space constraint of an i-th trajectory point in the to-be-optimized path is updated based on the second path and the boundary of the first channel, i is an integer between 1 and N, and N is a number of trajectory points in the to-be-optimized path. The first path is generated based on the first channel, 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.
[0224] In another possible implementation, the boundary of the first channel is composed of a plurality of channel boundaries, and each trajectory point in the to-be-optimized path corresponds to a channel boundary. The planning module 1602 is specifically configured to, in a case where an i-th trajectory point of the second path is located outside a channel boundary corresponding to the i-th trajectory point of the second path, determine the channel boundary corresponding to the i-th trajectory point of the second path as a half-space constraint of the i-th trajectory point of the to-be-optimized path.
[0225] In another possible implementation, the planning module 1602 is specifically configured to generate M third paths in sequence based on the first channel, the first pre-planned path, the turning capability of the vehicle, and the half-space constraint of each trajectory point in the to-be-optimized path, the second path being the Mth third path, M being an integer greater than 1, and the to-be-optimized path including the third paths.
[0226] 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 channel, and the M-1th third path.
[0227] In another possible implementation, the planning module 1602 is specifically configured to, 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, determine the channel 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.
[0228] 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 channel, the first pre-planned path, and the turning capability of the vehicle fails, adjust 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.
[0229] 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.
[0230] Figure 17 FIG. 1 is a schematic diagram of a hardware structure of a device for planning a driving path of a vehicle according to an embodiment of the present application. Figure 17 The device 1700 for planning a driving path of a vehicle shown in the figure (which can specifically be a kind of computer equipment) 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.
[0231] The memory 1701 can be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
[0232] The memory 1701 can store programs, and when the programs stored in the memory 1701 are executed by the processor 1702, the processor 1702 and the communication interface 1703 are configured to perform various steps of the method for planning a driving path of a vehicle according to the embodiments of the present application.
[0233] 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, configured to execute related programs to implement the functions required to be performed by the units in the device for planning a driving path of a vehicle according to the embodiments of the present application, or to execute the method for planning a driving path of a vehicle according to the method embodiments of the present application.
[0234] The processor 1702 can also be an integrated circuit chip with a processing capability of signals. In the implementation process, the various steps of the method for planning a driving path of a vehicle according to the embodiments of the present application can be completed by the integrated logic circuit of hardware or the instructions 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. The various methods, steps and logic block diagrams disclosed in the 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 the 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, 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 to be performed by the units included in the device for planning a driving path of a vehicle according to the embodiments of the present application, or to execute the method for planning a driving path of a vehicle according to the method embodiments of the present application.
[0235] The communication interface 1703 uses a transceiving device such as, but not limited to, a transceiver, to enable communication between the apparatus 1700 and other devices or communication networks. For example, data can be acquired through the communication interface 1703.
[0236] The bus 1704 can include a path for communicating information among the various components of the apparatus 1700, such as the memory 1701, the processor 1702, and the communication interface 1703.
[0237] It should be noted that although the apparatus 1700 is shown to include only a memory, a processor, and a communication interface, one of ordinary skill in the art will understand that the apparatus 1700 also includes other devices necessary for normal operation, in a specific implementation. Meanwhile, one of ordinary skill in the art will understand that the apparatus 1700 can also include hardware devices for implementing other additional functions, as necessary. Furthermore, one of ordinary skill in the art will understand that the apparatus 1700 can also include only devices necessary for implementing embodiments of the present application, and does not necessarily include all devices shown in the apparatus 1700. Figure 17 It should be noted that although the apparatus 1700 is shown to include only a memory, a processor, and a communication interface, one of ordinary skill in the art will understand that the apparatus 1700 also includes other devices necessary for normal operation, in a specific implementation. Meanwhile, one of ordinary skill in the art will understand that the apparatus 1700 can also include hardware devices for implementing other additional functions, as necessary. Furthermore, one of ordinary skill in the art will understand that the apparatus 1700 can also include only devices necessary for implementing embodiments of the present application, and does not necessarily include all devices shown in the apparatus 1700. Figure 17 It should be noted that although the apparatus 1700 is shown to include only a memory, a processor, and a communication interface, one of ordinary skill in the art will understand that the apparatus 1700 also includes other devices necessary for normal operation, in a specific implementation. Meanwhile, one of ordinary skill in the art will understand that the apparatus 1700 can also include hardware devices for implementing other additional functions, as necessary. Furthermore, one of ordinary skill in the art will understand that the apparatus 1700 can also include only devices necessary for implementing embodiments of the present application, and does not necessarily include all devices shown in the apparatus 1700.
[0238] 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 in any of the above methods.
[0239] The embodiments of the present application also provide a computer readable storage medium having instructions stored therein, which, when executed on a computer or processor, cause the computer or processor to perform one or more steps in any of the above methods.
[0240] The embodiments of the present application also provide a computer program product comprising instructions, which, when executed on a computer or processor, cause the computer or processor to perform one or more steps in any of the above methods.
[0241] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, apparatus, and unit can refer to the specific description of the corresponding step processes in the foregoing method embodiments, which will not be described herein.
[0242] 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 single item or any combination of 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.
[0243] 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.
[0244] 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.
[0245] 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.
[0246] 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 in that, 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.