Path planning method and device and automatic driving vehicle
By combining the initial state information and obstacle perception information to generate the initial path and optimize it, the problem of low efficiency in the planning of paths for complex driving behaviors in the prior art is solved, and the safe and efficient driving of autonomous vehicles in complex environments is achieved.
Patent Information
- Application Number
- CN202411669660.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-11-20
AI Technical Summary
When existing autonomous driving technology deals with complex driving behaviors, the rationality and efficiency of path planning are low, making it difficult for vehicles to drive safely and efficiently in complex environments.
By combining the initial state information of the vehicle and obstacle perception information, an initial path that fits the reference path is quickly generated, and optimized under the constraints of the target road area and status information range to generate the target path.
It improves the rationality and efficiency of the path planning of complex driving behaviors, so that vehicles can drive automatically safely and efficiently in complex environments.
Smart Images

Figure CN119555101A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, in particular to the field of autonomous driving and intelligent transportation technology, and specifically to a path planning method and device, electronic equipment, computer-readable storage medium, computer program product, and autonomous driving vehicle. Background Art
[0002] Autonomous driving technology involves multiple aspects such as environmental perception, behavioral decision-making, path planning, and motion control. Relying on the coordinated cooperation of sensors, visual computing systems, and positioning systems, vehicles with autonomous driving functions can operate automatically without the need for driver operation or with only a small amount of driver operation.
[0003] Path planning in autonomous driving refers to the use of algorithms to determine the best path for a vehicle on the road in order to achieve safe and efficient driving of the vehicle. The planned path is usually represented as a series of trajectory points. Therefore, in some cases, path planning can also be called trajectory planning.
[0004] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0005] The present disclosure provides a path planning method and device, an electronic device, a computer-readable storage medium, a computer program product, and an autonomous driving vehicle.
[0006] According to one aspect of the present disclosure, a path planning method is provided, comprising: determining a target road area for the vehicle to perform a target driving behavior based on initial state information and obstacle perception information of a vehicle; acquiring a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior, the state information range indicating a value range of state information of the vehicle when performing the target driving behavior; generating an initial path for achieving the target driving behavior based on the initial state information and the reference path; and optimizing the initial path based on a preset optimization target under the constraints of the target road area and the state information range to generate a target path for achieving the target driving behavior.
[0007] According to one aspect of the present disclosure, a path planning device is provided, comprising: a first determination module, configured to determine a target road area for the vehicle to perform a target driving behavior based on initial state information and obstacle perception information of the vehicle; a first acquisition module, configured to acquire a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior, the state information range indicating a value range of state information of the vehicle when performing the target driving behavior; a first generation module, configured to generate an initial path for achieving the target driving behavior based on the initial state information and the reference path; and a second generation module, configured to optimize the initial path based on a preset optimization target under the constraints of the target road area and the state information range to generate a target path for achieving the target driving behavior.
[0008] According to one aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above method.
[0009] According to one aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above method.
[0010] According to one aspect of the present disclosure, a computer program product is provided, including a computer program, which can implement the above method when executed by a processor.
[0011] According to one aspect of the present disclosure, an autonomous driving vehicle is provided, comprising the above-mentioned electronic device.
[0012] According to one or more embodiments of the present disclosure, the rationality and efficiency of path planning for complex driving behaviors can be improved.
[0013] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0015] Figure 1A schematic diagram showing an exemplary system in which various methods described herein may be implemented according to an embodiment of the present disclosure;
[0016] Figure 2 A flow chart of a path planning method according to an embodiment of the present disclosure is shown;
[0017] Figure 3 A schematic diagram of adjusting a road boundary based on obstacle perception information according to an embodiment of the present disclosure is shown;
[0018] Figure 4 A schematic diagram of adjusting a road boundary for a U-turn scenario according to an embodiment of the present disclosure is shown;
[0019] Figure 5 A schematic diagram showing constraints of a target road area according to an embodiment of the present disclosure;
[0020] Figure 6 A schematic diagram showing the index rollback problem generated when the incremental point search solution of the embodiment of the present disclosure is not adopted;
[0021] Figure 7 A schematic diagram showing a path planning process according to an embodiment of the present disclosure is shown;
[0022] Figure 8 A structural block diagram of a path planning device according to an embodiment of the present disclosure is shown; and
[0023] Fig. 9 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0024] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0025] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.
[0026] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations. "Multiple" refers to two or more.
[0027] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0028] There are some relatively complex driving behaviors in the driving process of autonomous vehicles, such as turning around at intersections, turning left or right, and reversing into a garage, which have large changes in direction and complex surrounding environments. The rationality and efficiency of path planning for complex driving behaviors are important prerequisites for ensuring the safe and efficient driving of autonomous vehicles.
[0029] In the related technology, preset paths can be used to achieve complex driving behaviors. For example, the U-turn paths, left turn paths, right turn paths, etc. at each intersection can be marked in advance on the map (which can be a high-precision map). The autonomous driving vehicle travels along these pre-marked paths to achieve U-turns, left turns, right turns, etc. However, the pre-marked paths may not be consistent with the current actual application scenarios of autonomous driving vehicles, and their rationality and feasibility are poor. For example, due to the large number of pedestrians and vehicles at the intersection and the complex traffic conditions, the pre-marked paths may be blocked by obstacles at the intersection, resulting in the autonomous driving vehicle being unable to successfully achieve the specified driving behavior according to the path, and the remote driver needs to take over, which reduces the safety and driving efficiency of the autonomous driving vehicle.
[0030] In other related technologies, it is also possible to not use a preset path, but to perform real-time path planning based on the current application scenario of the autonomous vehicle to solve the optimal driving path. However, this method requires a large amount of calculation, takes a long time to solve, and may even fail to obtain a feasible solution, resulting in the autonomous vehicle being unable to complete the specified driving behavior safely and efficiently.
[0031] In view of the above problems, the present disclosure provides a path planning method. The method first combines the initial state information of the vehicle and the reference path to quickly generate an initial path that fits the reference path and is consistent with the actual state of the vehicle. Then, the initial path with strong feasibility is optimized in combination with the current road constraints and behavior state constraints, which can ensure the solution speed and solution quality of the path optimization, so as to quickly obtain a reasonable and feasible target path, improve the rationality and efficiency of path planning for complex driving behaviors, and enable the vehicle to drive automatically safely and efficiently.
[0032] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0033] Figure 1 FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes a motor vehicle 110 , a server 120 , and one or more communication networks 130 coupling the motor vehicle 110 to the server 120 .
[0034] In an embodiment of the present disclosure, the motor vehicle 110 may include an electronic device according to an embodiment of the present disclosure and / or be configured to perform a method according to an embodiment of the present disclosure.
[0035] The server 120 may run one or more services or software applications that enable the execution of the methods of the disclosed embodiments. In some embodiments, the server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. A user of the motor vehicle 110 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0036] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0037] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0038] In some embodiments, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from motor vehicle 110. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of motor vehicle 110.
[0039] The network 130 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including, but not limited to, TCP / IP, SNA, IPX, etc. By way of example only, one or more networks 130 may be a satellite communications network, a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (including, for example, Bluetooth, Wi-Fi), and / or any combination of these and other networks.
[0040] The system 100 may also include one or more databases 150. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 150 may be used to store information such as audio files and video files. The databases 150 may reside in various locations. For example, the data repository used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 150 may be of different types. In some embodiments, the databases 150 may be relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0041] In some embodiments, one or more of the databases 150 may also be used by an application to store application data. The databases used by the application may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0042] The motor vehicle 110 may include a sensor 111 for sensing the surrounding environment. The sensor 111 may include one or more of the following sensors: a visual camera, an infrared camera, an ultrasonic sensor, a millimeter wave radar, and a laser radar. Different sensors may provide different detection accuracy and range. The camera may be installed at the front, rear, or other position of the vehicle. The visual camera may capture the situation inside and outside the vehicle in real time and present it to the driver and / or passengers. In addition, by analyzing the images captured by the visual camera, information such as traffic light indications, intersection conditions, and the operating status of other vehicles may be obtained. The infrared camera may capture objects under night vision conditions. Ultrasonic sensors may be installed around the vehicle to measure the distance of objects outside the vehicle from the vehicle using the characteristics of strong ultrasonic directionality. Millimeter wave radars may be installed at the front, rear, or other position of the vehicle to measure the distance of objects outside the vehicle from the vehicle using the characteristics of electromagnetic waves. Laser radars may be installed at the front, rear, or other position of the vehicle to detect object edges and shape information, thereby identifying and tracking objects. Due to the Doppler effect, the radar device may also measure the speed change of the vehicle and the moving object.
[0043] The motor vehicle 110 may also include a communication device 112. The communication device 112 may include a satellite positioning module capable of receiving satellite positioning signals (e.g., Beidou, GPS, GLONASS, and GALILEO) from satellites 141 and generating coordinates based on these signals. The communication device 112 may also include a module for communicating with a mobile communication base station 142, and the mobile communication network may implement any suitable communication technology, such as GSM / GPRS, CDMA, LTE, and other current or evolving wireless communication technologies (e.g., 5G technology). The communication device 112 may also have a vehicle-to-vehicle or vehicle-to-everything (V2X) module, which is configured to implement, for example, vehicle-to-vehicle (V2V) communication with other vehicles 143 and vehicle-to-infrastructure (V2I) communication with infrastructure 144. In addition, the communication device 112 may also have a module configured to communicate with a user terminal 145 (including but not limited to a smartphone, a tablet computer, or a wearable device such as a watch) by, for example, using a wireless LAN or Bluetooth using the IEEE 802.11 standard. Using the communication device 112, the motor vehicle 110 may also access the server 120 via the network 130.
[0044] The motor vehicle 110 may further include an inertial navigation module. The inertial navigation module and the satellite positioning module may be combined into a combined positioning system to achieve initial positioning of the motor vehicle 110.
[0045] The motor vehicle 110 may also include a control device 113. The control device 113 may include a processor that communicates with various types of computer-readable storage devices or media, such as a central processing unit (CPU) or a graphics processing unit (GPU), or other dedicated processors. The control device 113 may include an automatic driving system for automatically controlling various actuators in the vehicle, and accordingly, the motor vehicle 110 is an automatic driving vehicle. The automatic driving system is configured to control the powertrain, steering system, and braking system of the motor vehicle 110 (not shown) via multiple actuators in response to inputs from multiple sensors 111 or other input devices to control acceleration, steering, and braking, respectively, without human intervention or limited human intervention. Some processing functions of the control device 113 can be implemented through cloud computing. For example, some processing can be performed using an on-board processor, while other processing can be performed using computing resources in the cloud. The control device 113 can be configured to perform a method according to the present disclosure. In addition, the control device 113 can be implemented as an example of an electronic device on the motor vehicle side (client) according to the present disclosure.
[0046] Figure 1 The system 100 can be configured and operated in various ways to enable the application of various methods and devices described in the present disclosure. For example, the motor vehicle 110 or the server 120 can be configured to execute the path planning method 200 of the embodiment of the present disclosure to generate a target path for achieving the target driving behavior. Then, the motor vehicle 110 is controlled to travel according to the target path, so as to achieve the target driving behavior.
[0047] Figure 2 FIG. 2 is a flow chart of a path planning method 200 according to an embodiment of the present disclosure. As described above, the execution subject of the method 200 may be a motor vehicle (eg, Figure 1 ), or a server (e.g., a motor vehicle 110 shown in FIG. Figure 1 , server 120 shown in FIG.
[0048] like Figure 2 As shown, method 200 includes steps S210 - S240 .
[0049] In step S210, based on the initial state information and obstacle perception information of the vehicle, a target road area in which the vehicle can perform the target driving behavior is determined.
[0050] In step S220, a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior are obtained. The state information range indicates a value range of the state information of the vehicle when executing the target driving behavior.
[0051] In step S230, an initial path for achieving the target driving behavior is generated based on the initial state information and the reference path.
[0052] In step S240 , under the constraints of the target road area and the state information range, the initial path is optimized based on a preset optimization target to generate a target path for achieving the target driving behavior.
[0053] According to the embodiment of the present disclosure, firstly, the initial state information of the vehicle and the reference path are combined to quickly generate an initial path that fits the reference path and is consistent with the actual state of the vehicle. Then, the initial path with strong feasibility is optimized in combination with the current road constraints and behavior state constraints, which can ensure the solution speed and solution quality of the path optimization, so as to quickly obtain a reasonable and feasible target path, improve the rationality and efficiency of path planning for complex driving behaviors, and enable the vehicle to drive automatically safely and efficiently.
[0054] The method 200 of the embodiment of the present disclosure can be performed in a Cartesian coordinate system. Compared with the solution of performing path planning in a Frenet coordinate system in the related art, the path planning in a Cartesian coordinate system has no projection loss, is more versatile, and is more suitable for planning of large curvature paths.
[0055] In step S210, based on the initial state information and obstacle perception information of the vehicle, a target road area in which the vehicle can perform the target driving behavior is determined.
[0056] In the embodiments of the present disclosure, the target driving behavior is a relatively complex driving behavior for the vehicle. This complexity can be reflected in multiple aspects such as environmental interaction and vehicle control. For example, due to the complex traffic conditions at intersections, vehicles need to make decisions based on the surrounding environment (such as traffic lights, pedestrians, other vehicles, etc.) when driving at intersections. Therefore, the driving behavior at the intersection can be used as the target driving behavior, such as turning around, turning left, turning right, etc. at the intersection. For another example, driving behaviors with large changes in direction usually require complex and precise control of the vehicle. Therefore, driving behaviors with large changes in direction can be used as target driving behaviors, such as turning around, reversing into a warehouse, etc.
[0057] According to some embodiments, a target driving behavior set may be preset. The target driving behavior set includes multiple target driving behaviors. Accordingly, whether the current driving behavior of the vehicle is the target driving behavior may be determined by determining whether the current driving behavior of the vehicle is a driving behavior in the set.
[0058] The method 200 of the embodiment of the present disclosure may be a local path planning method. For example, a navigation path from the departure point to the destination may be planned using a navigation planning algorithm. The navigation path may guide the vehicle to generate a series of driving behaviors, for example, starting from point A, going straight along lane B, turning around at intersection C to enter lane D, going straight along lane D, turning right at intersection E to enter lane F, going straight along section F, and reaching destination G. It can be understood that different segments in the navigation path correspond to different driving behaviors. According to some embodiments, the navigation path may be segmented to obtain a plurality of path segments, and the driving behavior corresponding to each path segment may be determined. Accordingly, when the vehicle starts to travel along a certain path segment, it may be considered that the vehicle starts to execute the driving behavior corresponding to the path segment. If the driving behavior is a more complex target driving behavior, the method 200 of the embodiment of the present disclosure is used to replan the path segment to obtain an optimized path segment. Thus, the refined planning of the local path in the global navigation path is achieved, ensuring that the vehicle can safely and smoothly execute the target driving behavior, thereby ensuring safe and efficient driving of the vehicle.
[0059] The method 200 of the embodiment of the present disclosure can perform path planning based on the vehicle's current state information (i.e., initial state information) and obstacle perception information when the vehicle just starts to perform the target driving behavior, so as to generate an optimized target path for achieving the target driving behavior.
[0060] The vehicle status information includes, for example, the vehicle's position (expressed by two-dimensional coordinates (x, y) in a Cartesian coordinate system), speed, acceleration, direction angle (orientation angle), curvature of the lane, etc.
[0061] The obstacle perception information may include, for example, the position, size, speed, direction, etc. of obstacles in the surrounding environment. According to some embodiments, the obstacle perception information may be obtained by inputting environmental images or point cloud data collected by the vehicle into a trained object recognition model.
[0062] Based on the vehicle's initial state information and obstacle perception information, a target road area that can be used to perform the target driving behavior can be determined.
[0063] According to some embodiments, as described above, the initial state information of the vehicle may include position information. Accordingly, the target road area may be determined through the following steps S211 and S212.
[0064] In step S211, an initial road area corresponding to the target driving behavior is determined based on the position information of the vehicle.
[0065] In step S212, based on the obstacle perception information, the boundary of the initial road area is adjusted to obtain the target road area.
[0066] According to the above embodiment, determining the target road area for the vehicle to perform the target driving behavior based on the vehicle's current obstacle perception information can improve the rationality and feasibility of subsequent path planning.
[0067] According to some embodiments, the position information of the vehicle may be a two-dimensional coordinate or a three-dimensional coordinate in a world coordinate system. To simplify calculation, a two-dimensional coordinate, such as a latitude and longitude coordinate, may be used.
[0068] According to some embodiments, in step S211, the lane in which the vehicle is currently located can be obtained from the high-precision map based on the vehicle's location information, and the road area used by the vehicle when performing the target driving behavior is obtained according to the lane as the initial road area. The initial road area includes, for example, the lane area in which the vehicle is currently located, the intersection area connecting the lane, etc.
[0069] In step S212, by adjusting the boundary of the initial road area based on the obstacle perception information, a target road area that is more consistent with the current driving scene of the vehicle can be obtained.
[0070] According to some embodiments, the obstacle perception information may include multiple vertex coordinates of the obstacle. The multiple vertex coordinates of the obstacle may be obtained, for example, by processing the environment image or point cloud data collected by the vehicle using a trained object recognition model. By connecting the multiple vertex coordinates of the obstacle, an envelope of the obstacle may be obtained. The envelope may reflect the position and size of the obstacle.
[0071] In the case where the obstacle perception information includes multiple vertex coordinates of the obstacle, step S212 may include the following steps S2121-S2123.
[0072] In step S2121, in response to at least one vertex coordinate among the plurality of vertex coordinates being located within the initial road region, a contour line of the obstacle within the initial road region is determined based on the at least one vertex coordinate.
[0073] In step S2122, a first boundary segment intersecting the contour line and a second boundary segment adjacent to the first boundary segment and having a preset length are determined as target boundary segments.
[0074] In step S2123 , the target boundary segment is adjusted toward the inside of the initial road region so that the adjusted target boundary segment bypasses the contour line.
[0075] According to the above embodiment, the boundary of the initial road area is adjusted based on the position information (vertex coordinates) of the obstacle to obtain the target road area. The target road area is the actual road area currently available for vehicle travel. By performing path planning in the target road area, the rationality and feasibility of the planned path can be improved, thereby ensuring safe and efficient driving of the vehicle.
[0076] According to some embodiments, in step S2121, it may be determined whether each vertex coordinate of the obstacle is located in the initial road area. If at least one vertex coordinate is located in the initial road area, the obstacle at least partially invades the road boundary, thus affecting the behavior of the vehicle. By connecting at least one vertex coordinate located in the initial road area, the contour line of the obstacle in the initial road area may be obtained.
[0077] The first boundary segment is a boundary segment located between two intersection points of the contour line and the road boundary. The second boundary segment is a boundary segment of a preset length located on both sides of the first segment. The target boundary segment is a boundary segment composed of the first boundary segment and two second boundary segments.
[0078] According to some embodiments, in step S2123, each vertex coordinate in the initial road region may be translated into the initial road region by a preset distance (e.g., 0.2 meters, 0.5 meters, etc.) to obtain the translated vertex coordinates. The adjusted target boundary segment is obtained by sequentially connecting the two endpoints of the target boundary segment with the translated vertex coordinates.
[0079] Figure 3 A schematic diagram of adjusting the boundary 320 of the initial road area 300 based on obstacle perception information according to an embodiment of the present disclosure is shown. The initial road area 300 may be a lane area where the vehicle is currently located, and the dotted line 310 is the center line of the lane.
[0080] The vehicle senses the surrounding environment and obtains the four vertices A1, A2, A3, and A4 of obstacle A and the five vertices B1, B2, B3, B4, and B5 of obstacle B.
[0081] For obstacle A, the distance from each vertex A1-A4 to the lane centerline 310 can be calculated respectively. If the distance from a vertex to the lane centerline 310 is less than half of the lane width (which can be obtained from the map), it is determined that the vertex is located in the initial road area 300. Thus, vertices A3 and A4 located inside the initial road area 300 are obtained, and then the contour line C1A4A3C2 of obstacle A inside the initial road area 320 is obtained. The intersection points of this contour line and the road boundary 320 are C1 and C2. The intersection point C1 located at the top is translated upward along the road boundary 320 for a distance (for example, 0.5 meters) to obtain point C1'; the intersection point C2 located at the bottom is translated downward along the road boundary 320 for a distance (for example, 0.5 meters) to obtain point C2', and then the target boundary segment C1'C2' is obtained. The target boundary segment C1'C2' is adjusted to the inside of the road so that it bypasses the contour line C1A4A3C2 of obstacle A inside the road. Specifically, vertices A3 and A4 can be translated into the road by a distance (eg, 0.5 meters) to obtain vertices A3' and A4'. Points C1', A4', A3', and C2' are connected in sequence to obtain adjusted target boundary segments C1'A4'A3'C2'.
[0082] Similarly, for obstacle B, its contour line C3B1B2B3C4 located inside the initial road area 320 can be obtained. Points C3 and C4 are translated upward and downward along the road boundary for a distance (e.g., 0.5 meters) to obtain target boundary segments C3'C4'. Vertices B1-B3 are translated toward the inside of the road for a distance (e.g., 0.5 meters) to obtain vertices B1'-B3'. Points C3', B1', B2', B3', and C4' are connected in sequence to obtain adjusted target boundary segments C3', B1', B2', B3', and C4'.
[0083] According to some embodiments, in the scenario of a vehicle U-turn, in addition to adjusting the initial road area based on obstacle perception information, the initial road area can also be adjusted to a certain extent based on the characteristics of the U-turn behavior, so that the planned path can be feasible. For example, in the U-turn behavior, the vehicle may exceed the range of the lane at the entrance (i.e., the connection between the lane before the U-turn and the intersection) or the exit (i.e., the connection between the intersection and the lane after the U-turn), causing the vehicle's driving path to expand outward compared to the center line of the lane. In the case where the U-turn lane is relatively narrow (i.e., the lane width is less than a threshold), if the entrance of the U-turn path expands outward, the state constraint and the road boundary constraint may conflict when solving the optimization problem, resulting in a failure to obtain a feasible solution. Therefore, in this case, the right boundary of the road at the exit can be expanded, so that it is more likely to plan a U-turn path that expands outward at the exit, thereby improving the optimization problem solving effect of narrow roads.
[0084] Figure 4 FIG. 2 shows a schematic diagram of adjusting the road boundary for a U-turn scenario according to an embodiment of the present disclosure. Figure 4 As shown, the left and right boundaries of the initial road area are 410 and 420 respectively. In the case of a narrow lane, it is preferred to expand the right boundary 422 of the road at the exit of the curve to obtain a boundary 424, so as to prevent the vehicle from expanding at the entrance of the curve.
[0085] In step S220 , a reference path for achieving the target driving behavior is obtained.
[0086] In the embodiment of the present disclosure, the reference path can be understood as a reference line for path planning of the target driving behavior. The reference path is composed of a series of trajectory points, each of which has attribute information such as position, speed, direction, etc. In the embodiment of the present disclosure, the trajectory point in the reference path is recorded as the first trajectory point.
[0087] According to some embodiments, the reference path can be obtained by any of the following operations: determining a feasible path obtained by searching the target road area using a search algorithm as a reference path; inputting at least information about the target road area into a trained machine learning model to obtain a reference path output by the machine learning model; or obtaining a reference path marked in a map.
[0088] According to some embodiments, a map and obstacle perception information may be used to search for a feasible path that can avoid obstacles using an A* search algorithm as a reference path.
[0089] According to some embodiments, information of the target road area, such as width, curvature, position coordinates of one or more boundary points, etc., may be input into a trained machine learning model to obtain a reference path output by the machine learning model. The machine learning model may be, for example, a neural network model. The machine learning model may be, for example, trained using information of a sample road area and its corresponding reference path label as a sample.
[0090] According to some embodiments, the center line of each lane is marked on the map. Accordingly, the center line of the current lane can be used as a reference path.
[0091] In step S220, the state information range corresponding to the target driving behavior is also obtained. The state information range indicates the value range of the state information of the vehicle when executing the target driving behavior.
[0092] According to some embodiments, the state information range may be preset. For example, for U-turns, the vehicle speed is usually required to be no more than 15 km / h; for left and right turns, the vehicle speed is usually required to be no more than 30 km / h.
[0093] In step S230, an initial path for achieving the target driving behavior is generated based on the initial state information and the reference path.
[0094] The reference path can be understood as the planned path of the vehicle under ideal conditions. The initial state information describes the current actual state of the vehicle. The initial path is generated by combining the initial state information and the reference path, so that the generated initial path can fit the reference path and the actual state of the vehicle, and has strong feasibility.
[0095] According to some embodiments, in step S230, an initial path may be generated using a preset target PID controller based on the initial state information of the vehicle and a reference path.
[0096] The PID controller is a Proportional-Integral-Differential (PID) controller. According to the above embodiment, the PID controller can be used to quickly generate an initial path that is more in line with the reference path and more feasible in accordance with the actual state of the vehicle.
[0097] According to some embodiments, the reference path is represented as a first trajectory point information sequence, and the first trajectory point information sequence includes first state information of each of the plurality of first trajectory points. The initial path is represented as a second trajectory point information sequence, and the second trajectory point information sequence includes second state information of each of the plurality of second trajectory points. The first state information and the second state information may include, for example, two-dimensional position coordinates, speed, acceleration, direction angle, road curvature, and other information in a Cartesian coordinate system.
[0098] Accordingly, step S230 may include: performing the following operations S231-S234 in sequence for each of the plurality of first trajectory points to determine the second state information of the second trajectory point corresponding to each first trajectory point.
[0099] In operation S231, first state information of the first track point is determined as expected state information.
[0100] In operation S232, current state information is obtained, wherein, in response to the first trajectory point being the first first trajectory point among multiple first trajectory points, initial state information is determined as current state information, and in response to the first trajectory point being any first trajectory point other than the first first trajectory point, second state information of a second trajectory point corresponding to a previous first trajectory point is determined as current state information.
[0101] In operation S233 , control information is generated using a target PID controller based on a deviation between the current state information and the desired state information.
[0102] In operation S234, second state information of a second trajectory point corresponding to the first trajectory point is determined based on the control information.
[0103] According to the above embodiment, the target PID controller may be used to generate state information (ie, second state information) of each trajectory point (ie, second trajectory point) in the initial path one by one.
[0104] According to some embodiments, operation S234 may include operations S2341 and S2342.
[0105] In operation S2341, state change information is determined based on the control information.
[0106] In operation S2342, the current state information is superimposed with the state change information to obtain second state information of the second trajectory point corresponding to the first trajectory point.
[0107] According to some embodiments, the control information includes multiple control information items, the state change information includes multiple change information items, and each of the multiple change information items is obtained by integrating at least one control information item of the multiple control information items.
[0108] According to the above embodiment, the state change information is obtained by integrating the control information, and the integration operation makes the state change information more continuous and smooth, thereby ensuring the continuity and smoothness of the initial trajectory and improving the stability of the vehicle and the comfort of the passengers during driving.
[0109] The following is an example of using a target PID controller to generate an initial path.
[0110] When performing path planning, a six-degree-of-freedom model can be used to model the vehicle. The six-degree-of-freedom model uses a Cartesian coordinate system and does not have projection loss. Although it has more optimization variables and is more difficult to solve than the path planning problem in the Frenet coordinate system, the iLQR (Iterative Linear Quadratic Regulator) solver can reduce the difficulty of solving and increase the speed of solving, thus meeting the real-time requirements of path planning.
[0111] The six degrees of freedom in the six-degree-of-freedom model of the vehicle are the six state information of the vehicle, including two position coordinates (x, y) in the Cartesian coordinate system, velocity v, acceleration a, direction angle θ and road curvature κ. The six state information satisfies the following state transfer equation:
[0112]
[0113] Among them, j and τ are the control information output by the target PID controller. j is the rate of change of acceleration a, and τ is the rate of change of curvature κ. By taking j and τ as control information, the above six state information can be obtained by integrating the control information. In this way, the continuity and smoothness of the initial trajectory can be guaranteed, and the stability of the vehicle and the comfort of the passengers can be improved.
[0114] According to the above embodiment, the state transfer equation of the vehicle kinematic model can be fully utilized to accelerate the solution, strictly guarantee the kinematic constraints, and its solution efficiency is higher than the optimization problem solving method that uses the kinematic model as a constraint. At the same time, the path planning problem is directly solved by using the nonlinear programming problem solver iLQR, and there is no linearization error, thereby ensuring the solution accuracy.
[0115] The target PID controller converts the speed error e v , direction error e θ and position error e pos As input:
[0116] e v =vv ref (7)
[0117] e θ =θ-θ ref (8)
[0118]
[0119] In the above formula, V ref ,θ ref 、(xref ,y ref ) are the speed, direction angle and position coordinates of the reference trajectory point (i.e., the first trajectory point) in the reference path, respectively; v, θ, (x, y) are the speed, direction angle and position coordinates of the second trajectory point in the initial trajectory corresponding to the reference trajectory point, respectively. d represents the offset direction of the second trajectory point relative to the first trajectory point. If the second trajectory point is located on the left side of the first trajectory point, d = -1; if the second trajectory point is located on the right side of the first trajectory point, d = 1.
[0120] The target PID controller performs the following calculation based on its own PID parameters:
[0121]
[0122]
[0123] in, are the PID parameters of the target PID controller (which are preset constants).
[0124] Based on the three intermediate information u obtained from equations (10)-(12) v 、u θ 、u pos , output two control information:
[0125] u[0]=u v =j (13)
[0126] u[1]=u θ +u pos =τ (14)
[0127] Based on the above state transfer equation, by integrating the control information u[0] and u[1], the state change information of the six degrees of freedom can be calculated. The current state information is superimposed with the state change information to obtain the updated state information.
[0128] According to some embodiments, the method 200 further includes steps S251-S253. Steps S251-S253 are used to select a candidate PID controller with the best control effect from a plurality of candidate PID controllers with different PID parameters as the target PID controller.
[0129] In step S251, a plurality of candidate PID controllers are obtained.
[0130] In step S252, for any candidate PID controller among the multiple candidate PID controllers: based on the test initial state information and the test reference path, generate a test initial path using the candidate PID controller; and calculate the difference between the test initial path and the test reference path.
[0131] In step S253, the candidate PID controller with the smallest difference is determined as the target PID controller.
[0132] According to the above embodiment, the best one is selected from a plurality of candidate PID controllers with different parameters to ensure the planning effect of the initial path.
[0133] According to some embodiments, in step S251, the PID parameters of the plurality of candidate PID controllers are different. There are multiple ways to set the PID parameters of each candidate PID controller, such as random sampling within a preset sampling range, uniform sampling at fixed intervals within a preset sampling range, generation using a preset generation function, etc.
[0134] According to some embodiments, in step S252, for each candidate PID controller, different initial state information can be used to test the initial path generation effect of the candidate PID controller. The initial state information used to test the candidate PID controller is recorded as the test initial state information. The test initial state information includes a test position (x0, y0), a test speed v0, a test acceleration a0, a test direction angle θ0, and a test curvature κ0. Taking into account different driving scenarios, corresponding constraints can be set for the test initial state information. For example, in a U-turn scenario, the vehicle's driving speed is usually small, the vehicle usually completes a 180° U-turn, and the curvature of the entry / exit lane is usually small, so the sampling range of v0, θ0, and κ0 can be set as follows, where the unit of v0 is km / h:
[0135] v0∈[5,15] (15)
[0136] θ0∈[-π / 2,π / 2] (16)
[0137] κ0∈[-0.2,0.2] (17)
[0138] For the remaining three test initial state information (x0, y0) and a0, since the vehicle can be in any position theoretically and there is no special requirement for the value of a0 when the vehicle turns around, the sampling range of x0, y0 and a0 is not restricted.
[0139] In step S252, multiple groups of test initial state information can be used to test each candidate PID controller. Specifically, for each group of test initial state information, the corresponding test initial path can be generated using the candidate PID controller based on the group of test initial state information and the preset test reference path. The difference between each test initial path and the test reference path is calculated. The difference can be, for example, a mean square error, that is, the sum of the squares of the distances between the position coordinates of each trajectory point in the test initial path and the position coordinates of the corresponding trajectory point in the test reference path. Furthermore, the average value of the differences corresponding to the multiple groups of test initial state information, that is, the average difference, can be calculated.
[0140] In step S253 , the candidate PID controller with the smallest average difference may be determined as the target PID controller.
[0141] According to some embodiments, if in the test initial path generated by a candidate PID controller, there is a trajectory point whose absolute value of the direction angle is greater than π / 2, that is, |θ|>π / 2, then the candidate PID controller can be considered unstable and removed from the candidate range of the target PID controller. That is, the candidate PID controller is not used as the target PID controller.
[0142] After the initial path is generated in step S230, in step S240, under the constraints of the target road area and the state information range, the initial path is optimized based on a preset optimization target to generate a target path for achieving the target driving behavior.
[0143] According to some embodiments, step S240 may include steps S241 and S242.
[0144] In step S241, the loss value of the initial path is calculated based on a preset loss function.
[0145] In step S242, under the constraints of the target road area and the state information range, the initial path is adjusted to reduce the loss value and obtain the target path.
[0146] According to the above embodiment, the initial path with strong feasibility is optimized in combination with the current loss value, road constraint and behavior state constraint, which can ensure the solution speed and solution quality of the path optimization, thereby quickly obtaining a reasonable and feasible target path.
[0147] It should be noted that in step S242, the initial path may be adjusted multiple times, that is, the initial path may be optimized multiple times until a preset termination condition is met. The preset termination condition may be, for example, the number of adjustments reaches a threshold (e.g., 150 times), the loss value is less than a threshold, the loss value converges, the gradient of the loss value disappears, etc.
[0148] It can be understood that when the initial path is optimized multiple times, the starting point of the next optimization is the result of the previous optimization. For example, the first optimization starts with the initial path p1 and obtains the optimized path p2; the second optimization starts with the result p2 of the first optimization and obtains the optimized path p3; the third optimization starts with the result p3 of the second optimization and obtains the optimized path p4; and so on, until the preset termination condition is reached, the target path is obtained.
[0149] It should be noted that, in the embodiments of the present disclosure, optimizing the initial path refers to optimizing the second state information of each second trajectory point in the initial path. By optimizing the second state information of each second trajectory point, the loss value of the optimized path is continuously reduced until the optimal target path is obtained.
[0150] As described above, the initial path includes multiple second trajectory points. Accordingly, in step S241, the loss value of the initial path may be the sum of the single-point loss values of each second trajectory point. In step S242, each second trajectory point needs to satisfy the constraints of the target road area and the state information range. In order to simplify the description, the loss function and constraints are introduced from the perspective of a single second trajectory point.
[0151] According to some embodiments, the loss function may include a first loss term for indicating a difference between the initial path and the reference path and a second loss term for indicating a smoothness of the initial path.
[0152] According to the above embodiment, the path optimization is performed by combining the first loss term and the second loss term, which can ensure the security and stability of the generated target path.
[0153] According to some embodiments, the calculation formula of the first loss term cost1 is as follows:
[0154]
[0155] Among them, (x ref ,y ref ),θ ref are the position coordinates and direction angle of the first track point in the reference path, (x, y) and θ are the position coordinates and direction angle of the second track point. p 、w h They are the weights of position and direction respectively, and both can be preset constants.
[0156] According to some embodiments, the calculation formula of the second loss term cost2 may be as follows:
[0157]
[0158] Wherein, τ, κ, j, and a are the rate of change of curvature, curvature, rate of change of acceleration, and acceleration of the second trajectory point, respectively. The first two terms in equation (19) represent the horizontal smoothness, and the last two terms represent the vertical smoothness.
[0159] The loss function may be, for example, a weighted sum of the first loss term cost1 and the second loss term cost2. When the weights of both are 1, the loss function is expressed as follows:
[0160] cost=cost1+cost2 (20)
[0161] According to some embodiments, in addition to the first loss term and the second loss term described above, the loss function may further include a third loss term for indicating whether the initial path meets the expected speed.
[0162] According to some embodiments, the calculation formula of the third loss term cost3 may be as follows:
[0163]
[0164] Where v is the velocity of the second trajectory point, v ref is the expected speed, w v is the weight of the velocity. v It can be a preset constant. The expected speed can be set according to the expected speed of the target driving behavior. Taking the U-turn behavior as an example, the expected speed can be set to 4m / s.
[0165] The loss function may be, for example, the weighted sum of the first loss term cost1, the second loss term cost2, and the third loss term cost3. When the weights of the three are all 1, the expression of the loss function is as follows:
[0166] cost=cost1+cost2+cost3 (22)
[0167] According to some embodiments, the constraints on the scope of the state information are as follows:
[0168] κ<κ max (twenty three)
[0169] κ min <κ (24)
[0170] v<v max (25)
[0171] v min <v (26)
[0172] a<a max (27)
[0173] amin <a (28)
[0174] Among them, κ max , κ min is the maximum and minimum value of the curvature, v max 、v min is the maximum and minimum value of the speed, a max 、a min The curvature κ, velocity v and acceleration a of each second trajectory point obtained by planning need to satisfy the above constraints.
[0175] Furthermore, constraints can be imposed on the control information j and τ, that is, control constraints are imposed:
[0176] j<j max (29)
[0177] j min <j (30)
[0178] τ<τ max (31)
[0179] τ min <τ (32)
[0180] Among them, j max 、j min is the maximum and minimum value of the rate of change of acceleration, τ max , τ min is the maximum and minimum value of the rate of change of the curvature. In the optimization process of step S240, for each second trajectory point obtained by planning, the corresponding control information j and τ can be calculated by the above state transfer equations (5) and (6). The j and τ corresponding to each second trajectory point need to satisfy the above constraints.
[0181] The constraint of the target road area is used to constrain the position coordinates (x, y) of each second trajectory point obtained by the planning. According to some embodiments, the target road area can be represented by a series of road boundary points. It can be understood that for each second trajectory point obtained by the planning, only the road boundary point closer to the second trajectory point has a constraint effect on the second trajectory point. Therefore, in order to simplify the calculation, the target boundary point that has a constraint effect on the current second trajectory point can be determined from the multiple road boundary points that constitute the target road area, and then the second trajectory point is adjusted and optimized under the constraint of the target boundary point.
[0182] Figure 5 A schematic diagram showing constraints of a target road area according to an embodiment of the present disclosure is shown. Figure 5The black solid lines on the left and right sides of the target road area are the boundaries of the target road area, which are composed of a series of road boundary points C. The rectangular frame 510 shows the current position of the vehicle, that is, the position of the second trajectory point. f ,y f ) as the center, an envelope circle 520 is generated that can surround the front edge of the vehicle. r ,y r ) as the center, an enveloping circle 530 that can surround the rear edge of the vehicle is generated. The radii of the enveloping circles 520 and 530 can be set as needed, as long as the four vertices of the rectangular frame 510 are all located inside the enveloping circle. For each road boundary point C, the projection n of the distance d from the road boundary point C to the center of each enveloping circle in the normal vector direction can be calculated. If n<R, the road boundary point is close to the vehicle and has a constraining effect on the vehicle, and the road boundary point can be determined as a target boundary point. According to this embodiment, using the enveloping circles 520 and 530 of the vehicle, the target boundary points that have a constraining effect on the currently planned second trajectory point can be quickly screened out.
[0183] According to some embodiments, rule constraints related to the target driving behavior can be further set. For example, for U-turn behavior, an "incremental point search" constraint can be set, that is, when solving the optimization problem, it is necessary to ensure that the sequence number of the first trajectory point corresponding to the next second trajectory point is greater than the sequence number of the first trajectory point corresponding to the previous second trajectory point, so as to avoid planning unreasonable and unfeasible paths due to index rollback. Under the constraint of incremental point search, the first trajectory point closest to the second trajectory point is used as the first trajectory point that the second trajectory point needs to refer to when planning. The position, direction angle and speed of the first trajectory point are (x) in the above equations (18) and (21). ref ,y ref ),θ ref 、V ref .
[0184] Figure 6 FIG. 2 is a schematic diagram showing the index rollback problem caused when the incremental point search solution of the embodiment of the present disclosure is not adopted. Figure 6 As shown, the black line 610 represents the road boundary of the target road area, the green line 620 is the reference path, and the red line 630 is the path generated by the optimization solution process of step S240. In particular, when generating the trajectory point A (the second trajectory point) in the path 630, the correct reference point (the first trajectory point) corresponding to the trajectory point A is point C. If the reference point corresponding to the trajectory point is determined from the reference path 620 only based on the closest distance, the determined reference point is point B. This will cause the planned path 630 to deviate from the reference point B, resulting in an unreasonable and infeasible planning result that exceeds the road boundary 610.
[0185] Figure 7 FIG. 7 is a schematic diagram showing a path planning process 700 according to an embodiment of the present disclosure. Figure 7 As shown, process 700 includes steps S701-S711.
[0186] In step S701, the sensing positioning information is obtained. The sensing positioning information can be obtained, for example, by various sensors on the vehicle (such as an integrated navigation system, a speed sensor, an acceleration sensor, etc.). The sensing positioning information corresponds to the initial state information above, including two-dimensional position coordinates, speed, acceleration, direction angle and curvature in a Cartesian coordinate system.
[0187] In step S702, a reference line of the target driving behavior (corresponding to the reference path mentioned above) is constructed. The reference line may be, for example, the center line of the current lane.
[0188] In step S703, obstacle perception information is obtained, so as to make a detour decision on the obstacle based on the obstacle perception information, that is, to determine whether the obstacle affects the left boundary or the right boundary of the road. The obstacle perception information can be obtained, for example, by inputting environmental data (such as environmental images, point cloud data, etc.) perceived by the vehicle into a trained object detection model.
[0189] In step S704, the initial boundary of the road is constructed in Cartesian space according to the reference line. For example, the reference line can be translated to the left and right by half the width of the current lane to obtain the initial left and right boundaries.
[0190] In step S705, the initial boundary is adjusted according to the obstacle detour direction and the degree to which the obstacle vertex intrudes into the initial boundary to obtain a final boundary.
[0191] In step S706, a path optimization problem is constructed, and the optimization problem includes an optimization target and constraints. The optimization target may be, for example, minimizing a loss value. The loss value is calculated using a loss function.
[0192] In step S707, reference line, body sense and other loss items in the loss function are constructed. The reference line loss item corresponds to the first loss item mentioned above, and the body sense loss item corresponds to the second loss item mentioned above.
[0193] In step S708, constraints such as road boundaries and states are constructed.
[0194] In step S709, the path optimization problem is solved using the iLQR solver. The solving process is further shown in step S710.
[0195] In step S710, the solution process includes three sub-problems: zero control, initial problem, and optimization problem. In the zero control sub-problem, according to the desired speed and the reference line, an initial solution that fits the reference line is obtained through PID feedback control. The solution process of the zero control sub-problem can be found in step S230 above. The generated initial solution corresponds to the initial path above.
[0196] In the initial subproblem, the initial solution is optimized once using only the reference line loss term, that is, the loss function only includes the first loss term (cost=cost1), obtaining a starting solution that is closer to the reference line.
[0197] In the optimization subproblem, road boundary constraints and road constraints are added, and the somatosensory loss term and speed loss term (corresponding to the third loss term above) are added to the loss function to obtain an optimized solution that can avoid obstacles and meet the vehicle dynamics constraints.
[0198] It should be noted that both the zero control subproblem and the initial subproblem only involve one optimization, that is, only one path is generated. In the optimization subproblem, multiple optimization solutions can be gradually generated in an iterative manner. When the preset termination condition is reached, the currently generated optimization solution is determined as the optimal solution (corresponding to the target path above).
[0199] In step S711, the target path successfully optimized is outputted. By controlling the vehicle to travel along the target path, the vehicle can complete the target driving behavior, such as turning around.
[0200] According to the embodiments of the present disclosure, the rationality of path planning for complex driving behaviors of autonomous driving vehicles can be improved. At the same time, the success rate and solution effect of solving the optimization problem of this solution are relatively excellent, and the stability and flexibility are good.
[0201] According to the embodiments of the present disclosure, the optimization problem (including optimization objectives and constraints) is directly constructed in the Cartesian coordinate system and solved using the iLQR solver, which can ensure the accuracy and speed of the solution. At the same time, in order to improve the solution effect for complex driving behaviors (such as U-turns), a zero control scheme is designed, which can provide an initial solution with better effect and stronger feasibility based on the PID negative feedback theory, thereby improving the speed of solving subsequent optimization problems. Furthermore, the form of the loss function is improved so that the optimal solution finally generated can take into account the safety and comfort of vehicle driving. In view of the particularity of the U-turn scenario, the reference line point finding method (i.e., incremental point finding) is improved, thereby improving the path planning effect of the U-turn scenario.
[0202] According to an embodiment of the present disclosure, a path planning device is also provided. Figure 8 FIG. 8 is a block diagram showing a path planning device 800 according to an embodiment of the present disclosure. Figure 8As shown, the apparatus 800 includes a first determining module 810 , a first acquiring module 820 , a first generating module 830 and a second generating module 840 .
[0203] The first determination module 810 is configured to determine a target road area for the vehicle to perform a target driving behavior based on the initial state information and obstacle perception information of the vehicle.
[0204] The first acquisition module 820 is configured to acquire a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior, where the state information range indicates a value range of the state information of the vehicle when executing the target driving behavior.
[0205] The first generating module 830 is configured to generate an initial path for achieving the target driving behavior based on the initial state information and the reference path.
[0206] The second generating module 840 is configured to optimize the initial path based on a preset optimization target under the constraints of the target road area and the state information range, so as to generate a target path for achieving the target driving behavior.
[0207] According to the embodiment of the present disclosure, firstly, the initial state information of the vehicle and the reference path are combined to quickly generate an initial path that fits the reference path and is consistent with the actual state of the vehicle. Then, the initial path with strong feasibility is optimized in combination with the current road constraints and behavior state constraints, which can ensure the solution speed and solution quality of the path optimization, so as to quickly obtain a reasonable and feasible target path, improve the rationality and efficiency of path planning for complex driving behaviors, and enable the vehicle to drive automatically safely and efficiently.
[0208] According to some embodiments, the initial state information includes position information, and the first determination module includes: a first determination unit, configured to determine the initial road area corresponding to the target driving behavior based on the position information; and a first adjustment unit, configured to adjust the boundary of the initial road area based on the obstacle perception information to obtain the target road area.
[0209] According to some embodiments, the obstacle perception information includes multiple vertex coordinates of the obstacle, and the first adjustment unit includes: a first determination subunit, configured to determine a contour line of the obstacle within the initial road area based on at least one vertex coordinate among the multiple vertex coordinates being within the initial road area; a second determination subunit, configured to determine a first boundary fragment intersecting with the contour line and a second boundary fragment of a preset length adjacent to the first boundary fragment as target boundary fragments; and an adjustment subunit, configured to adjust the target boundary fragment toward the inside of the initial road area so that the adjusted target boundary fragment bypasses the contour line.
[0210] According to some embodiments, the first acquisition module is configured to acquire the reference path by any of the following operations: determining a feasible path obtained by searching the target road area using a search algorithm as the reference path; inputting at least information of the target road area into a trained machine learning model to obtain the reference path output by the machine learning model; or acquiring the reference path marked in a map.
[0211] According to some embodiments, the first generating module is further configured to generate the initial path using a preset target PID controller based on the initial state information and the reference path.
[0212] According to some embodiments, the reference path is represented as a first trajectory point information sequence, the first trajectory point information sequence includes first state information of each of the plurality of first trajectory points, the initial path is represented as a second trajectory point information sequence, the second trajectory point information sequence includes second state information of each of the plurality of second trajectory points, and the first generation module includes: a trajectory point planning unit, configured to perform the following operations in sequence for each of the plurality of first trajectory points to determine the second state information of the second trajectory point corresponding to each first trajectory point: determine the first state information of the first trajectory point as the expected state information; obtain current state information, wherein, in response to the first trajectory point being the first first trajectory point among the plurality of first trajectory points, the initial state information is determined as the current state information, and in response to the first trajectory point being any first trajectory point other than the first first trajectory point, the second state information of the second trajectory point corresponding to the previous first trajectory point is determined as the current state information; based on the deviation between the current state information and the expected state information, generate control information using the target PID controller; and based on the control information, determine the second state information of the second trajectory point corresponding to the first trajectory point.
[0213] According to some embodiments, the trajectory point planning unit includes: a third determination subunit, configured to determine state change information based on the control information; and a superposition subunit, configured to superimpose the current state information with the state change information to obtain second state information of a second trajectory point corresponding to the first trajectory point.
[0214] According to some embodiments, the control information includes multiple control information items, the state change information includes multiple change information items, and each change information item in the multiple change information items is obtained by integrating at least one control information item in the multiple control information items.
[0215] According to some embodiments, the device 800 also includes: a second acquisition module, configured to acquire multiple candidate PID controllers; a scoring module, configured to, for any candidate PID controller among the multiple candidate PID controllers: generate a test initial path using the candidate PID controller based on test initial state information and a test reference path; and calculate the difference between the test initial path and the test reference path; and a second determination module, configured to determine the candidate PID controller with the smallest difference as the target PID controller.
[0216] According to some embodiments, the optimization objective includes minimizing a loss value, and the second generation module includes: a loss unit, configured to calculate the loss value of the initial path based on a preset loss function; and a second adjustment unit, configured to adjust the initial path under the constraints of the target road area and the state information range to reduce the loss value and obtain the target path.
[0217] According to some embodiments, the loss function includes a first loss term for indicating a difference between the initial path and the reference path and a second loss term for indicating a smoothness of the initial path.
[0218] It should be understood that Figure 8 The various modules and units of the apparatus 800 shown in FIG. 8 can be compared with those of the reference Figure 2 The steps in the method 200 described above correspond to each other. Therefore, the operations, features and advantages described above for the method 200 are also applicable to the device 800 and the modules and units included therein. For the sake of brevity, some operations, features and advantages are not repeated here.
[0219] Although specific functionality is discussed above with reference to specific modules, it should be noted that the functionality of the various modules discussed herein may be separated into multiple modules, and / or at least some functionality of multiple modules may be combined into a single module.
[0220] It should also be understood that various techniques may be described herein in the general context of software hardware elements or program modules. Figure 8 The various units described can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these units can be implemented as computer program codes / instructions, which are configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these units can be implemented as hardware logic / circuits. For example, in some embodiments, one or more of modules 810-840 can be implemented together in a system on chip (System on Chip, SoC). SoC can include an integrated circuit chip (which includes a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or one or more components in other circuits), and can optionally execute the received program code and / or include embedded firmware to perform functions.
[0221] According to one aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned path planning method 200.
[0222] According to one aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned path planning method 200.
[0223] According to one aspect of the present disclosure, a computer program product is also provided, including a computer program, which implements the above-mentioned path planning method 200 when executed by a processor.
[0224] According to one aspect of the present disclosure, an autonomous driving vehicle is also provided, comprising the above-mentioned electronic device.
[0225] refer to Fig. 9, a block diagram of an electronic device 900 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0226] like Fig. 9 As shown, the device 900 includes a computing unit 901, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 902 or a computer program loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0227] A plurality of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, an output unit 907, a storage unit 908, and a communication unit 909. The input unit 906 may be any type of device capable of inputting information to the device 900, the input unit 906 may receive input digital or character information, and generate key signal inputs related to user settings and / or function control of the electronic device, and may include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 907 may be any type of device capable of presenting information, and may include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 908 may include but is not limited to a disk, an optical disk. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth device, an 802.11 device, a Wi-Fi device, a WiMAX device, a cellular communication device, and / or the like.
[0228] The computing unit 901 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 901 performs the various methods and processes described above, such as the path planning method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 901 may be configured to perform the method 200 in any other appropriate manner (e.g., by means of firmware).
[0229] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0230] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0231] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0232] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0233] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0234] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0235] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0236] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples. Various elements in the embodiments or examples may be omitted or may be replaced by their equivalent elements. In addition, each step may be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that with the evolution of technology, many elements described herein may be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A path planning method, comprising: Determining a target road area where the vehicle can perform a target driving behavior based on the initial state information of the vehicle and the obstacle perception information; Acquire a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior, wherein the state information range indicates a value range of the state information of the vehicle when executing the target driving behavior; Based on the initial state information and the reference path, generating an initial path for achieving the target driving behavior; as well as Under the constraints of the target road area and the state information range, the initial path is optimized based on a preset optimization target to generate a target path for achieving the target driving behavior.
2. The method according to claim 1, wherein: The initial state information includes position information, and determining a target road area where the vehicle can perform a target driving behavior based on the initial state information and the obstacle perception information includes: Based on the position information, determining an initial road area corresponding to the target driving behavior; and Based on the obstacle perception information, the boundary of the initial road area is adjusted to obtain the target road area.
3. The method according to claim 2, wherein: The obstacle perception information includes coordinates of multiple vertices of the obstacle, and adjusting the boundary of the initial road area based on the obstacle perception information to obtain the target road area includes: In response to at least one vertex coordinate among the plurality of vertex coordinates being located within the initial road area, determining a contour line of the obstacle within the initial road area based on the at least one vertex coordinate; determining a first boundary segment intersecting the contour line and a second boundary segment adjacent to the first boundary segment and having a preset length as target boundary segments; and The target boundary segment is adjusted toward the inside of the initial road area, so that the adjusted target boundary segment bypasses the contour line.
4. The method according to any one of claims 1 to 3, wherein: The obtaining of a reference path for achieving the target driving behavior includes any of the following operations: Determine a feasible path obtained by searching in the target road area using a search algorithm as the reference path; Inputting at least the information of the target road area into a trained machine learning model to obtain the reference path output by the machine learning model; or Obtain the reference path marked in the map.
5. The method according to any one of claims 1 to 4, wherein: The generating an initial path for achieving the target driving behavior based on the initial state information and the reference path includes: Based on the initial state information and the reference path, the initial path is generated using a preset target PID controller.
6. The method according to claim 5, wherein: The reference path is represented as a first trajectory point information sequence, the first trajectory point information sequence includes first state information of each of the plurality of first trajectory points, the initial path is represented as a second trajectory point information sequence, the second trajectory point information sequence includes second state information of each of the plurality of second trajectory points, and generating the initial path based on the initial state information and the reference path by using a preset target PID controller includes: Perform the following operations in sequence for each of the plurality of first trajectory points to determine the second state information of the second trajectory point corresponding to each first trajectory point: determining the first state information of the first trajectory point as the expected state information; Acquiring current state information, wherein in response to the first track point being the first first track point among the plurality of first track points, the initial state information is determined as the current state information, and in response to the first track point being any first track point other than the first first track point, the second state information of the second track point corresponding to the previous first track point is determined as the current state information; generating control information using the target PID controller based on a deviation between the current state information and the desired state information; and Based on the control information, second state information of a second trajectory point corresponding to the first trajectory point is determined.
7. The method according to claim 6, wherein: The determining, based on the control information, second state information of the second trajectory point corresponding to the first trajectory point comprises: Based on the control information, determining state change information; and The current state information is superimposed on the state change information to obtain second state information of the second track point corresponding to the first track point.
8. The method according to claim 7, wherein: The control information includes a plurality of control information items, the state change information includes a plurality of change information items, and each of the plurality of change information items is obtained by integrating at least one control information item of the plurality of control information items.
9. The method according to any one of claims 5 to 8, further comprising: Obtain multiple candidate PID controllers; For any candidate PID controller among the multiple candidate PID controllers: Based on the test initial state information and the test reference path, the candidate PID controller is used to generate a test initial path; as well as Calculating the difference between the test initial path and the test reference path; as well as The candidate PID controller with the smallest difference is determined as the target PID controller.
10. The method according to any one of claims 1 to 9, wherein: The optimization objective includes minimizing the loss value, and the optimization of the initial path based on the preset optimization objective under the constraints of the target road area and the state information range includes: Based on a preset loss function, calculating the loss value of the initial path; and Under the constraints of the target road area and the state information range, the initial path is adjusted to reduce the loss value to obtain the target path.
11. The method according to claim 10, wherein: The loss function includes a first loss term indicating a difference between the initial path and the reference path and a second loss term indicating a smoothness of the initial path.
12. A path planning device, comprising: A first determination module is configured to determine a target road area for the vehicle to perform a target driving behavior based on the initial state information and obstacle perception information of the vehicle; A first acquisition module is configured to acquire a reference path for achieving the target driving behavior and a state information range corresponding to the target driving behavior, wherein the state information range indicates a value range of the state information of the vehicle when executing the target driving behavior; A first generating module is configured to generate an initial path for achieving the target driving behavior based on the initial state information and the reference path; as well as The second generating module is configured to optimize the initial path based on a preset optimization target under the constraints of the target road area and the state information range to generate a target path for achieving the target driving behavior.
13. The device according to claim 12, wherein: The initial state information includes location information, and the first determining module includes: A first determining unit is configured to determine an initial road area corresponding to the target driving behavior based on the position information; and The first adjustment unit is configured to adjust the boundary of the initial road area based on the obstacle perception information to obtain the target road area.
14. The device according to claim 13, wherein: The obstacle perception information includes a plurality of vertex coordinates of the obstacle, and the first adjustment unit includes: A first determining subunit is configured to determine, in response to at least one vertex coordinate among the plurality of vertex coordinates being located within the initial road area, a contour line of the obstacle within the initial road area based on the at least one vertex coordinate; a second determining subunit configured to determine a first boundary segment intersecting the contour line and a second boundary segment adjacent to the first boundary segment and having a preset length as a target boundary segment; and The adjusting subunit is configured to adjust the target boundary segment toward the inside of the initial road area so that the adjusted target boundary segment bypasses the contour line.
15. The device according to any one of claims 12 to 14, wherein: The first acquisition module is configured to acquire the reference path by any of the following operations: Determine a feasible path obtained by searching in the target road area using a search algorithm as the reference path; Inputting at least the information of the target road area into a trained machine learning model to obtain the reference path output by the machine learning model; or Obtain the reference path marked in the map.
16. The device according to any one of claims 12 to 15, wherein: The first generating module is further configured to: Based on the initial state information and the reference path, the initial path is generated using a preset target PID controller.
17. The device according to claim 16, wherein: The reference path is represented as a first trajectory point information sequence, the first trajectory point information sequence includes first state information of each of the plurality of first trajectory points, the initial path is represented as a second trajectory point information sequence, the second trajectory point information sequence includes second state information of each of the plurality of second trajectory points, and the first generation module includes: The trajectory point planning unit is configured to perform the following operations on each of the plurality of first trajectory points in sequence to determine the second state information of the second trajectory point corresponding to each first trajectory point: determining the first state information of the first trajectory point as the expected state information; Acquiring current state information, wherein in response to the first track point being the first first track point among the plurality of first track points, the initial state information is determined as the current state information, and in response to the first track point being any first track point other than the first first track point, the second state information of the second track point corresponding to the previous first track point is determined as the current state information; generating control information using the target PID controller based on a deviation between the current state information and the desired state information; and Based on the control information, second state information of a second trajectory point corresponding to the first trajectory point is determined.
18. The device according to claim 17, wherein: The trajectory point planning unit comprises: A third determining subunit is configured to determine state change information based on the control information; and The superposition subunit is configured to superimpose the current state information with the state change information to obtain second state information of the second trajectory point corresponding to the first trajectory point.
19. The device according to claim 18, wherein: The control information includes a plurality of control information items, the state change information includes a plurality of change information items, and each of the plurality of change information items is obtained by integrating at least one control information item of the plurality of control information items.
20. The apparatus according to any one of claims 16 to 19, further comprising: A second acquisition module is configured to acquire a plurality of candidate PID controllers; A scoring module is configured to: for any candidate PID controller among the plurality of candidate PID controllers: Based on the test initial state information and the test reference path, the candidate PID controller is used to generate a test initial path; as well as Calculating the difference between the test initial path and the test reference path; as well as The second determination module is configured to determine the candidate PID controller with the smallest difference as the target PID controller.
21. The device according to any one of claims 12 to 20, wherein: The optimization objective includes minimizing the loss value, and the second generation module includes: a loss unit, configured to calculate a loss value of the initial path based on a preset loss function; and The second adjustment unit is configured to adjust the initial path under the constraints of the target road area and the state information range to reduce the loss value and obtain the target path.
22. The device according to claim 21, wherein The loss function includes a first loss term indicating a difference between the initial path and the reference path and a second loss term indicating a smoothness of the initial path.
23. An electronic device, comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 11.
24. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to make a computer execute the method according to any one of claims 1-11.
25. A computer program product comprising a computer program, wherein: The computer program implements the method according to any one of claims 1-11 when executed by a processor.
26. An autonomous driving vehicle comprising the electronic device as claimed in claim 23.
Citation Information
Patent Citations
Path boundary determination method and device based on dynamic obstacle, vehicle and terminal
CN115981329A
Path planning method and device for autonomous vehicle, medium and equipment
CN118424318A
PID trajectory tracking control method and device based on reinforcement learning
CN118818957A
Driving path planning method and related device
CN118857315A
Method and device for generating an autonomous driving trajectory of a vehicle
US20200341474A1