Path planning method, apparatus, and vehicle
By obtaining road elements and dividing the triangular area for path planning, the problem of inaccurate path planning in the absence of high-precision maps is solved, and the driving performance and safety of autonomous vehicles are improved.
Patent Information
- Application Number
- PCT/CN2025/078773
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-22
- Filing Date
- 2025-02-24
- Publication Date
- 2025-09-25
AI Technical Summary
In the absence of high-precision maps, existing autonomous driving technology relies heavily on lane centerlines and topological connection relationships for vehicle path planning, resulting in unstable recognition and inaccurate path planning, which affects driving performance.
By obtaining road elements such as road boundary lines, lane lines and stationary obstacles, the triangular area is divided for path planning, and the cost mapping and search algorithm of the triangular area are used to generate the driving path, avoiding dependence on lane center lines and topological connection relationships.
It improves the accuracy and stability of path planning, enhances the driving performance of autonomous vehicles and user safety, and is suitable for various scenarios including highways and urban areas.
Smart Images

Figure CN2025078773_25092025_PF_FP_ABST
Abstract
Description
Path planning method, device and vehicle
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on March 22, 2024, with application number 202410341007.3 and application name “Path Planning Method, Device and Vehicle”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of intelligent driving, and more specifically, to a path planning method, device and vehicle. Background Art
[0003] With the development of smart cars, autonomous driving technology is gradually becoming a research focus for major manufacturers. In existing autonomous driving solutions based on high-precision maps, vehicle path planning relies heavily on lane centerlines and lane topological connectivity. In map-free solutions, the neural network-based road structure recognition module struggles to robustly identify road centerlines and topological connectivity, often experiencing flickering, jumpy, and erroneous topological connectivity. Furthermore, vehicles are highly sensitive to illogical topological connectivity, making it difficult to implement comprehensive fallback logic, which severely impacts the performance of autonomous vehicles.
[0004] Therefore, how to improve the accuracy of path planning without relying on the topological connection relationship between the road centerline and lanes has become an urgent problem to be solved. Summary of the Invention
[0005] The present application provides a path planning method, device and vehicle, which can achieve that the vehicle does not rely on high-precision maps and does not rely on the road centerline and lane topological connection relationship when performing path planning, which helps to improve the accuracy of path planning and thus helps to improve the driving safety of users.
[0006] In a first aspect, the present application provides a path planning method, which includes: obtaining information of road elements, wherein the road elements include one or more of road boundary lines, lane lines, and stationary obstacles; determining multiple triangular areas based on multiple points corresponding to the road elements; planning a first driving path based on the multiple triangular areas; and controlling the vehicle's driving based on the first driving path.
[0007] Based on the above technical solution, when planning a path, the vehicle can obtain road elements that exist in the real physical world (for example, one or more of road boundaries, lane markings, and stationary obstacles), divide the points corresponding to these road elements into triangular regions, and plan the driving path based on these triangular regions. In this way, when planning a path, the vehicle does not need to obtain lane centerlines and road topological connections. Instead, it plans the path based on multiple triangular regions determined by road elements that exist in the real physical world. This helps to solve the problem of inaccurate path planning caused by unreasonable lane centerlines and topological connections, thereby helping to improve user driving safety.
[0008] The path planning method in this application can be applied to all scenarios, including but not limited to highway and urban scenarios, intersections, and non-intersection scenarios, relying solely on road elements to generate the vehicle's driving path. Because it does not rely on topological connections, this application can solve the problem of unreasonable path planning caused by unreasonable topological connections in map-free scenarios, helping to improve the driving performance of autonomous vehicles.
[0009] In some possible implementations, before obtaining the information about the road element, the method further includes: determining that the vehicle is in an automatic driving state.
[0010] Exemplarily, determining that the vehicle is in the autonomous driving state includes: obtaining a user instruction to enable an autonomous driving function, such as an adaptive cruise control (ACC) function or an integrated cruise assist (ICA) function.
[0011] In some possible implementations, the road element includes a road boundary line, a lane line, and a stationary obstacle, and the stationary obstacle is located within a polygonal area (for example, a pentagonal area). Based on multiple points corresponding to the road element, multiple triangular areas are determined, including: determining the multiple triangular areas based on the vertices of the polygonal area, points on the road boundary line, and points on the lane line.
[0012] In combination with the first aspect, in certain implementations of the first aspect, before planning the first driving path based on the multiple triangular areas, the method also includes: mapping corresponding costs to the edges of the multiple triangular areas; wherein, planning the first driving path based on the multiple triangular areas includes: planning the first driving path based on the costs of the edges of the triangular areas; wherein, the first driving path includes multiple path points, and each of the multiple path points is located on the edge of at least part of the triangular areas among the multiple triangular areas.
[0013] Based on the above technical solution, a search method can be used to find expansion nodes along the edges of the triangular area to plan the vehicle's driving path. This can greatly narrow the selection range of nodes to be expanded when performing node expansion, helping to improve the efficiency of path planning.
[0014] In some possible implementations, the search method may be an A* algorithm or a hybrid A* algorithm.
[0015] In some possible implementations, the first driving path is planned based on the cost of the edges of the triangular area, including: planning the first driving path based on the crossable cost of the edges of the triangular area, the distance cost from the starting point, the distance from the end point (also called the heuristic value), and the cost generated by kinematic compliance.
[0016] In combination with the first aspect, in certain implementations of the first aspect, the multiple triangular areas include a first side where the road boundary line, guardrail, curb or stationary obstacle is located, a second side where the solid line is located, a third side where the dotted line is located, and a fourth side where the non-road element is located, wherein the span cost of the first side is greater than the span cost of the second side, the span cost of the second side is greater than the span cost of the third side, and the span cost of the third side is greater than the span cost of the fourth side.
[0017] Based on the above technical solution, when mapping the cost of the edge, the cost of the edge where the obstacle, road boundary, guardrail or curb is located, the cost of the edge where the solid line is located, and the cost of the edge where the dotted line is located are reduced in turn.
[0018] In combination with the first aspect, in certain implementations of the first aspect, before controlling the vehicle's travel according to the first driving path, the method further includes: obtaining a path optimization cost, the path optimization cost including at least one of a path smoothness cost, a distance cost between path points, and a path length cost; wherein, controlling the vehicle's travel according to the first driving path includes: smoothing the first driving path according to the path optimization cost to obtain a second driving path; and controlling the vehicle's travel according to the second driving path.
[0019] Based on the above technical solution, after obtaining the driving path, the driving path is optimized through the path optimization cost, which can improve the vehicle's handling stability when driving based on the driving path, and help improve the user's driving experience.
[0020] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: adjusting the first driving path to a third driving path based on information about the at least partial triangular area and the obstacle, wherein the path points in the third driving path are located on the edge of the at least partial triangular area; and controlling the vehicle's driving based on the third driving path.
[0021] Based on the above technical solution, the multiple planned path points are located in at least part of the multiple triangular regions, and these triangular regions constitute a connected region (or homotopy space). If the vehicle encounters other moving or stationary obstacles during driving, it can adjust the driving path based on the connected region, so that the adjusted driving path lies on the edge of these triangular regions.
[0022] In some possible implementations, adjusting the first driving path to a third driving path based on information about at least a portion of the triangular area and the obstacle includes adjusting the first driving path to a third driving path based on information about at least a portion of the triangular area and the dynamic obstacle.
[0023] In combination with the first aspect, in some implementations of the first aspect, the method further includes: controlling a display device to display at least a portion of the triangular area.
[0024] Based on the above technical solution, by displaying at least part of the triangular area on a display device, the user can see the information of the connected area obtained by vehicle planning through the display device. In this way, the user can clearly understand the area that the vehicle may travel to in the future.
[0025] In some possible implementations, controlling the display device to display the at least partial triangular area includes: controlling the display device to display the at least partial triangular area and other triangular areas, wherein the other triangular areas are triangular areas among the multiple triangular areas other than the at least partial triangular area.
[0026] In some possible implementations, at least a portion of the triangular area is filled and displayed with the first color, and the other triangular areas are not filled and displayed.
[0027] In combination with the first aspect, in certain implementations of the first aspect, before determining the multiple triangular areas based on the multiple points corresponding to the road element, the method further includes: dividing the road element into the multiple points according to a preset division method.
[0028] Based on the above technical solution, the road element can be divided into multiple points according to a preset division method, so as to form multiple triangular areas through the multiple points.
[0029] In some possible implementations, the road element is a lane line or a road boundary, and dividing the road element into the plurality of points according to a preset division method includes dividing the road element into the plurality of points according to a preset distance. For example, the preset distance may be (2m, 6m).
[0030] In some possible implementations, the road element is divided into the multiple points according to a preset division method: the road element is divided into the multiple points according to the type of the road element.
[0031] In some possible implementations, different preset distances are used for different types of road elements. For example, a larger preset distance may be used for road boundaries, while a smaller preset distance may be used for lane lines.
[0032] In some possible implementations, the road element is a stationary obstacle, the multiple points include vertices of a polygonal area, and the stationary obstacle may be located within the polygonal area. Exemplarily, the polygonal area is a pentagonal area.
[0033] In combination with the first aspect, in certain implementations of the first aspect, determining the multiple triangular areas based on the multiple points includes: constructing a triangular graph based on the multiple points and a constrained Delaunay triangulation (CDT) method, wherein the triangular graph includes the multiple triangular areas.
[0034] Based on the above technical solution, a triangular graph can be constructed for these multiple points using the CDT algorithm, which includes multiple triangular regions. In this way, after obtaining these multiple points, the vehicle can use the CDT algorithm to quickly obtain multiple triangular regions, allowing for subsequent path planning based on these multiple triangular regions.
[0035] In combination with the first aspect, in certain implementations of the first aspect, before determining the multiple triangular areas based on the information of the road element, the method further includes: performing deduplication or fusion processing on the road element.
[0036] Based on the above technical solution, before determining multiple triangle areas, the road elements may be deduplicated or fused so that the information represented by the road elements is consistent with that in the physical world.
[0037] In the second aspect, the present application provides a path planning device, which includes: an acquisition unit for acquiring information of road elements, wherein the road elements include one or more of road boundary lines, lane lines and stationary obstacles; a determination unit for determining multiple triangular areas based on multiple points corresponding to the road elements; a path planning unit for planning a first driving path based on the multiple triangular areas; and a control unit for controlling the vehicle driving according to the first driving path.
[0038] In combination with the second aspect, in certain implementations of the second aspect, the device also includes a cost mapping unit, which is used to map corresponding costs to the edges of the multiple triangular areas; wherein the path planning unit is specifically used to: plan the first driving path based on the costs of the edges of the triangular areas; wherein the first driving path includes multiple path points, and each of the multiple path points is located on the edge of at least part of the triangular areas among the multiple triangular areas.
[0039] In combination with the second aspect, in certain implementations of the second aspect, the multiple triangular areas include a first side where the road boundary line or the stationary obstacle is located, a second side where the solid line is located, a third side where the dotted line is located, and a fourth side where the non-road element is located, wherein the span cost of the first side is greater than the span cost of the second side, the span cost of the second side is greater than the span cost of the third side, and the span cost of the third side is greater than the span cost of the fourth side.
[0040] In combination with the second aspect, in certain implementations of the second aspect, the acquisition unit is further used to obtain a path optimization cost, which includes at least one of a path smoothness cost, a distance cost between path points, and a path length cost; wherein the control unit is specifically used to: smooth the first driving path according to the path optimization cost to obtain a second driving path; and control the vehicle driving according to the second driving path.
[0041] In combination with the second aspect, in certain implementations of the second aspect, the path planning unit is further used to adjust the first driving path to a third driving path based on information about the at least partial triangular area and the obstacle, wherein the path points in the third driving path are located on the edge of the at least partial triangular area; and control the vehicle's driving according to the third driving path.
[0042] In combination with the second aspect, in certain implementations of the second aspect, the control unit is specifically used to: control the display device to display at least part of the triangular area.
[0043] In combination with the second aspect, in some implementations of the second aspect, the device further includes: a road element division unit, configured to divide the road element into the plurality of points according to a preset division method.
[0044] In combination with the second aspect, in some implementations of the second aspect, the root determination unit is specifically configured to: construct a triangular graph based on the multiple points and a constrained Delaunay triangulation method, wherein the triangular graph includes the multiple triangular areas.
[0045] In combination with the second aspect, in some implementations of the second aspect, the device further includes: a road element processing unit, configured to perform deduplication or fusion processing on the road elements.
[0046] In a third aspect, the present application provides a path planning device, which includes a processor and a memory, wherein the memory is used to store instructions, and the processor executes the instructions stored in the memory to enable the device to perform any possible method in the first aspect.
[0047] In a fourth aspect, the present application provides a path planning system, which includes a perception system and a computing platform, and the computing platform includes any possible device in the second aspect or the third aspect.
[0048] In a fifth aspect, the present application provides a vehicle comprising any possible device in the second aspect or the third aspect, or any possible system in the fourth aspect.
[0049] In a sixth aspect, the present application provides a computer program product, comprising: a computer program code, which, when executed on a computer, enables the computer to execute any possible method in the first aspect.
[0050] It should be noted that the above-mentioned computer program code can be stored in whole or in part on the first storage medium, wherein the first storage medium can be packaged together with the processor or separately packaged with the processor, and the embodiments of the present application do not specifically limit this.
[0051] In a seventh aspect, the present application provides a computer-readable storage medium storing a program code. When the computer program code is run on a computer, the computer executes any possible method in the first aspect.
[0052] In an eighth aspect, the present application provides a chip system comprising a processor for calling a computer program or computer instruction stored in a memory so that the processor executes any possible method in the above-mentioned first aspect.
[0053] In combination with the eighth aspect, in one possible implementation, the processor is coupled to the memory through an interface.
[0054] In combination with the eighth aspect, in one possible implementation, the chip system also includes a memory, in which a computer program or computer instructions are stored.
[0055] In a ninth aspect, the present application provides a chip system including a circuit for executing any possible method in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] FIG1 is a functional block diagram of a vehicle provided in an embodiment of the present application.
[0057] FIG2 is a schematic block diagram of an advanced driver assistance system ADAS provided in an embodiment of the present application.
[0058] FIG3 is a schematic flowchart of a path planning method provided in an embodiment of the present application.
[0059] FIG4 is a schematic diagram of the road element deduplication and fusion process provided in an embodiment of the present application.
[0060] FIG5 is a schematic diagram of triangulated mapping and search based on road elements provided in an embodiment of the present application.
[0061] FIG6 is a schematic diagram of reference lines and connected areas provided in an embodiment of the present application.
[0062] FIG7 is another schematic flowchart of the path planning method provided in an embodiment of the present application.
[0063] FIG8 is a schematic block diagram of a path planning device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a way to describe the association relationship of associated objects, indicating that there can be three kinds of relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. "At least one" means one or more. For example, "at least one of A and B" is similar to "A and / or B", describing the association relationship of associated objects, indicating that there can be three kinds of relationships, for example, at least one of A and B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0065] In the embodiments of the present application, prefixes such as "first" and "second" are used only to distinguish different description objects and have no limiting effect on the position, order, priority, quantity or content of the described objects. The use of prefixes such as ordinal numbers to distinguish description objects in the embodiments of the present application does not constitute a restriction on the described objects. For the statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary restriction. In addition, in the description of this embodiment, unless otherwise specified, the meaning of "plurality" is two or more.
[0066] FIG1 is a functional block diagram of a vehicle 100 provided in an embodiment of the present application. The vehicle 100 may include a perception system 110, a computing platform 120, and a display device 130, wherein the perception system 110 may include one or more sensors for sensing information about the environment surrounding the vehicle 100. For example, the perception system 110 may include a positioning system, which may be a global positioning system (GPS), a BeiDou system, or other positioning systems. For another example, the perception system 110 may include one or more of an inertial measurement unit (IMU), an accelerometer, a lidar, a millimeter-wave radar, an ultrasonic radar, and a camera device.
[0067] Some or all functions of the vehicle 100 may be controlled by a computing platform 120. The computing platform 120 may include one or more processors, such as processors 121 to 12n (n is a positive integer). A processor is a circuit capable of processing signals. In one implementation, the processor may be a circuit capable of reading and executing instructions, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP). In another implementation, the processor may implement certain functions through the logical relationships of a hardware circuit. The logical relationships of the hardware circuit may be fixed or reconfigurable. For example, the processor may be a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA). In a reconfigurable hardware circuit, the process of the processor loading a configuration file to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, the processor may also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc. In addition, the computing platform 120 may also include a memory for storing instructions, and some or all of the processors 121 to 12n may call the instructions in the memory to implement corresponding functions.
[0068] The display devices 130 in the cockpit are mainly divided into two categories: the first is the vehicle-mounted display screen; the second is a projection display screen, such as a head-up display (HUD). The vehicle-mounted display screen is a physical display screen and a key component of the in-vehicle infotainment system. The cockpit can be equipped with multiple displays, such as the digital instrument panel, the central control screen, the display in front of the front passenger (also known as the front passenger), the display in front of the left rear passenger, and the display in front of the right rear passenger. Even the vehicle windows can serve as display screens. A head-up display, also known as a head-up display system, is primarily used to display driving information such as speed and navigation on a display device in front of the driver (such as the windshield). This reduces the driver's gaze shift time, avoids pupil changes caused by the driver's gaze shift, and improves driving safety and comfort. HUDs include, for example, combiner-HUD (C-HUD), windshield-HUD (W-HUD), and augmented reality HUD (AR-HUD). It should be understood that other types of HUD systems may appear as technology evolves, and this application is not limited to this.
[0069] The above display device 130 is described by taking a vehicle-mounted display screen and a projection display screen as examples, and the embodiments of the present application are not limited thereto. For example, the display device 130 can also be a light display screen or a projection screen.
[0070] Optionally, the structure of the above vehicle 100 is merely illustrative, and in actual applications, various components in the above vehicle 100 may be added or deleted according to actual needs.
[0071] The vehicle 100 in this application may include: road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc. For example, the vehicle 100 may be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a lawn mower, a harvester, etc.), amusement equipment, a toy vehicle, etc. The embodiments of this application do not specifically limit the type of vehicle.
[0072] Vehicle 100 may include an advanced driving assistant system (ADAS). ADAS utilizes a variety of sensors on the vehicle (including but not limited to: lidar, millimeter-wave radar, camera, ultrasonic sensor, global positioning system, inertial measurement unit) to obtain information from the vehicle's surroundings, and analyzes and processes the obtained information to implement functions such as obstacle perception, target recognition, vehicle positioning, path planning, driver monitoring / reminders, etc., thereby improving the safety, automation and comfort of vehicle driving.
[0073] For example, FIG2 shows a schematic block diagram of an ADAS provided in an embodiment of the present application. ADAS may include three functional modules: a perception module 210, a regulation and control module 220, and a wire control module 230, wherein the perception module 210 perceives the surrounding environment of the vehicle body through sensors and inputs corresponding real-time data into the regulation and control module 220. The regulation and control module 220 obtains information about road elements based on the information obtained by the perception module 210. The regulation and control module 220 may determine multiple triangular areas based on the points corresponding to the road elements and perform path planning based on the multiple triangular areas. The regulation and control module 220 may send the planned path to the wire control module 230. After receiving the information about the path from the regulation and control module 220, the wire control module 230 may control the actuator to take corresponding actions, such as steering, braking, etc.
[0074] The above perception module 210 may be the above perception system 110 , and the regulation and control module 220 may be located in the above computing platform 120 .
[0075] At different levels of autonomous driving (L0-L5), ADAS can achieve different levels of autonomous driving assistance based on artificial intelligence algorithms and information obtained from multiple sensors. The above autonomous driving levels (L0-L5) are based on the classification standards of the Society of Automotive Engineers (SAE). Among them, L0 is no automation; L1 is driving assistance; L2 is partial automation; L3 is conditional automation; L4 is high automation; and L5 is full automation. At levels L1 to L3, the tasks of monitoring road conditions and responding are completed jointly by the driver and the system, and the driver must take over dynamic driving tasks. Levels L4 and L5 allow the driver to completely transform into a passenger.
[0076] As previously mentioned, in existing HD map-based autonomous driving solutions, vehicle path planning relies heavily on lane centerlines and lane topological connectivity. In map-free scenarios, on the one hand, the neural network-based road structure recognition module struggles to robustly identify road centerlines and topological connectivity, often experiencing flickering, jumpy, and erroneous topological connectivity. On the other hand, vehicles are also highly sensitive to irrational topological connectivity, making it difficult to implement comprehensive fallback logic, which significantly impacts the driving performance of autonomous vehicles. Compared to identifying road centerlines and topological connectivity, vehicles are more robust in identifying real road elements in the environment, such as lane lines, road boundaries, and stationary obstacles. The present embodiment proposes a method for path planning that relies solely on road elements. This method, which does not rely on road centerlines or topological connectivity, can address the issue of inaccurate path planning caused by irrational topological connectivity in map-free scenarios. Furthermore, the present embodiment is robust to unstable detection of road elements, helping to improve the driving performance of autonomous vehicles.
[0077] FIG3 shows a schematic flow chart of a path planning method 300 provided in an embodiment of the present application. The method 300 includes:
[0078] S310: Acquire information of road elements.
[0079] Optionally, obtaining the road element includes: obtaining information of the road element based on data collected by a sensor of the vehicle.
[0080] Exemplarily, the sensor may include one or more of a camera, a lidar, or a millimeter-wave radar.
[0081] Optionally, the information of the road elements includes information of the road elements in Euclidean space. Exemplarily, these road elements can be represented by directed point sequences in Euclidean space.
[0082] Optionally, the information of the road element includes a relative position relationship between the road element and the vehicle.
[0083] Optionally, the information of the road element includes one or more of the type, length and profile of the road element.
[0084] Exemplarily, road elements may include various lane boundary lines (such as solid lines, dashed lines, guide strips, turning area boundaries, etc.), one or more of guardrails, curbs, road boundary lines, or static obstacles.
[0085] S320: performing de-overlapping processing on road elements.
[0086] To construct a more accurate triangulated graph in the following steps and to avoid mapping a cost twice to a real-world edge when performing cost mapping on a triangulated area, the vehicle may perform a validity check on the road elements in step S320. Exemplarily, this validity check includes, but is not limited to, deduplication and fusion of road elements to ensure that the information represented by the road elements is consistent with that in the real world.
[0087] In the embodiment of the present application, road elements may undergo a validity check, and after removing overlaps between road elements, subsequent mapping and path searching may be made more robust.
[0088] For example, Figure 4 shows a schematic diagram of the road element deduplication and fusion process provided by an embodiment of the present application. The data collected by the sensor obtains dashed lines 1 and 2 on the road, and dashed line 3 can be obtained through deduplication and fusion.
[0089] S330: Generate multiple triangular areas based on the road elements after deduplication and fusion processing.
[0090] For example, FIG5 shows a schematic diagram of triangulation mapping and search based on road elements provided in an embodiment of the present application.
[0091] For example, FIG5(a) shows the road elements after pre-processing in step S320. The obstacles, road boundaries, lane dashed boundaries, lane solid boundaries, and guardrails (curb) shown in FIG5(a) constitute all road elements.
[0092] For example, as shown in (b) in Figure 5, the road boundary on the left can be composed of point G, point H, point I, point J, point K and point L, the road boundary on the right can be composed of point M, point N, point O, point P and point Q, the guardrail can be composed of point A, point B and point C, the solid line can be composed of point C, point D and point E, and the dotted line can be composed of point E and point F.
[0093] For example, the distance between two adjacent points on each road element may be (2 m, 6 m).
[0094] For example, on the left and right road boundaries, the distance between two adjacent points (eg, point G and point H) may be 5 m.
[0095] For example, for a guardrail, the distance between two adjacent points (eg, point A and point B) may be 3 m.
[0096] For example, for a solid line, the distance between two adjacent points (eg, point C and point D) may be 2.5 m.
[0097] For example, for the dotted line, the distance between two adjacent points (eg, point E and point F) may be 5 m.
[0098] Exemplarily, the obstacle may be a cone barrel, and the multiple points corresponding to the cone barrel may be the vertices of the pentagonal area where the cone barrel is located, for example, point R, point S, point T, point U and point V.
[0099] The above method for dividing points on each road element is merely illustrative. For example, if the guardrail is 6 meters long, it can be divided into three points based on a preset distance, with the distance between two adjacent points being 3 meters. Alternatively, the distance between points A and B can be 3.5 meters, and the distance between points B and C can be 2.5 meters.
[0100] For another example, an obstacle may be set in a pentagonal area, or may be set in a quadrilateral or other polygonal area, which is not specifically limited in the embodiment of the present application.
[0101] Optionally, generating a plurality of environmental triangles includes: triangulating a plurality of points corresponding to the road elements based on a triangle segmentation algorithm to obtain a plurality of triangular areas.
[0102] Exemplarily, the triangle segmentation algorithm may be a CDT algorithm.
[0103] For example, a triangular graph may be constructed using a plurality of points corresponding to road elements (eg, point A to point V) through the CDT algorithm. The triangular graph includes a plurality of triangular regions as shown in FIG. 5( b ).
[0104] S340 , performing cost mapping on the edge of each triangular area among the multiple triangular areas.
[0105] For example, (b) in Figure 5 shows multiple triangular map areas after triangulation, and each line segment in the road element corresponds to the edge of the triangular area in the triangular map. Therefore, the triangulated map describes the physical environment near the vehicle without loss of accuracy. After the map is built, the edges of the corresponding triangular areas will be assigned corresponding cost values according to the types of these road elements. For example, the cost values of the edges of the triangular areas corresponding to obstacles, road boundaries and guardrails can be assigned to infinity, so that the vehicle will not cross obstacles, road boundaries and guardrails during subsequent path searches. The cost of the triangle edges corresponding to the dotted lines can be smaller, and the cost of the triangle edges corresponding to the solid lines can be larger. For the triangle edges of non-road elements, the cost of crossing can be zero. The settings of these costs will guide the search algorithm to find a reasonable path during subsequent searches.
[0106] S350: Perform path planning based on the triangular area after cost mapping.
[0107] As shown in Figure 5(b), given a triangulated map describing the physical environment, the vehicle's current position as the starting point, and a given target point, the A* algorithm can be used to search from the current position to the target point, resulting in a driving path, as indicated by the square points in the figure. Each expansion node (e.g., path points 1-7) obtained by the A* algorithm is located on the edge of the triangular region. During the node expansion process, suitable expansion nodes can be searched for using costs and heuristics. For example, the cost can include one or more of the distance cost between the expansion node and the starting point, the cost of crossing the edge of the triangular region, or the cost of kinematic conformance. The heuristic value includes the distance between the expansion node and the target point. As shown in Figure 5(b), the target point is on an adjacent lane. Although the cost of crossing the dashed line is lower, the search results will indicate a path that passes through the solid line (e.g., path point 4 is on the solid line). This is because the search takes the vehicle's kinematics into account. If the path were to pass through the dashed line, it would result in a wraparound behavior that does not conform to the vehicle's physical motion.
[0108] For example, after searching for a path, a smooth reference line can be produced by solving a constrained quadratic optimization problem. In the optimization problem, the initial guess and the reference point can be the searched path points, the left and right soft boundaries of the vehicle's path points are formed by the left and right lane lines, and the hard boundaries are still the boundaries formed by the road boundaries or obstacles. The target cost function can include one or more of the smoothness cost of the path, the distance cost between the reference point, and the length cost of the entire reference line (the path that the vehicle travels through path points 1-7 can also be called the reference line). Taking (b) in Figure 5 as an example, when the search path crosses the solid line, the solid line will be ignored and no boundary will be formed. Around the reference line, considering the road elements that are not ignored, the homotopy space (or connected area) to which the reference line belongs can be obtained.
[0109] Exemplarily, as shown in (b) in FIG5 , the homotopic space (or, connected area) around the reference line may include the area where △ABG is located, the area where △BGH is located, the area where △BCH is located, the area where △CHI is located, the area where △CDI is located, the area where △CDO is located, the area where △DOP is located, the area where △DEP is located, and the area where △EPQ is located.
[0110] For example, FIG6 shows a schematic diagram of reference lines and connected areas in another scenario provided in an embodiment of the present application.
[0111] FIG7 shows a schematic flow chart of a path planning method 700 provided in an embodiment of the present application. The method 700 includes:
[0112] S710: Acquire information of road elements, where the road elements include one or more of a road boundary line, a lane line, and a stationary obstacle.
[0113] Optionally, before obtaining the information about the road elements, the method 700 further includes: determining that the vehicle is in an automatic driving state.
[0114] Exemplarily, determining that the vehicle is in the automatic driving state includes: obtaining a user's instruction to enable an automatic driving function, such as an ACC function or an ICA function.
[0115] Optionally, the road element includes a road boundary line, a lane line and a stationary obstacle, and the stationary obstacle is located in a polygonal area (for example, a pentagonal area). Based on multiple points corresponding to the road element, multiple triangular areas are determined, including: determining the multiple triangular areas based on the vertices of the polygonal area, points on the road boundary line and points on the lane line.
[0116] S720: Determine a plurality of triangular areas according to a plurality of points corresponding to the road element.
[0117] Optionally, before determining the multiple triangular areas according to the multiple points corresponding to the road element, the method 700 further includes: dividing the road element into the multiple points according to a preset division method.
[0118] In the embodiment of the present application, a road element may be divided into a plurality of points according to a preset division method, so as to form a plurality of triangular areas through the plurality of points.
[0119] Exemplarily, the road element is a lane line or a road boundary, and dividing the road element into the plurality of points according to a preset division method includes dividing the road element into the plurality of points according to a preset distance. Exemplarily, the preset distance may be (2m, 6m).
[0120] Optionally, different preset distances may be used for different types of road elements. For example, a larger preset distance may be used to divide road boundaries, while a smaller preset distance may be used to divide lane lines.
[0121] Exemplarily, the road element is a stationary obstacle, the multiple points include vertices of a polygonal area, and the stationary obstacle may be located within the polygonal area. Exemplarily, the polygonal area is a pentagonal area.
[0122] Optionally, determining the multiple triangular areas based on the multiple points includes: constructing a triangular graph based on the multiple points and a CDT algorithm, wherein the triangular graph includes the multiple triangular areas.
[0123] In the embodiment of the present application, a triangular graph can be constructed based on the CDT algorithm for the multiple points, and the triangular graph includes multiple triangular regions. In this way, after the vehicle obtains the multiple points, the CDT algorithm can be used to quickly obtain multiple triangular regions, so that path planning can be performed based on the multiple triangular regions.
[0124] Optionally, before determining the multiple triangle areas based on the information of the road element, the method 700 further includes: performing deduplication or fusion processing on the road element.
[0125] For example, as shown in FIG4 , dotted line 1 and dotted line 2 are dotted lines where road elements are located. After deduplication and fusion processing, dotted line 3 can be obtained.
[0126] In the embodiment of the present application, before determining the multiple triangular areas, the road elements may be deduplicated or fused so that the information represented by the road elements is consistent with that in the physical world.
[0127] S730: Plan a first driving path based on the multiple triangular areas.
[0128] Optionally, planning the first driving path according to the multiple triangular areas includes: planning the first driving path based on a geometric method and the multiple triangular areas.
[0129] For example, a vehicle can use a geometric method when planning its driving path. The geometric method uses a combination of spirals and straight lines to guide the vehicle from a target location (e.g., the target point shown in Figure 5(b) or the goal point shown in Figure 6) to the vehicle's location. This method is simple and fast.
[0130] Optionally, planning a first driving path according to the multiple triangular areas includes: planning the first driving path based on a search method and the multiple triangular areas.
[0131] For example, a vehicle may employ a search method when planning a driving route. The search method may include an A* algorithm or a hybrid A* algorithm. The advantage of the hybrid A* algorithm is that it can generate a path that meets the requirements by exploring the entire Euclidean space through a search.
[0132] The A* algorithm is a classic method in path planning. Its principle is as follows: starting from the current position, in the connection graph between the vehicle's current position and the target position (for example, the target point shown in (b) of Figure 5, or the goal point shown in Figure 6), calculate the cost of the node to be expanded (or the adjacent vertex) and the current position, as well as the heuristic value of the node to be expanded to the target position, and add them to the open set. Select the node to be expanded with the smallest sum of the expansion cost and the heuristic value as the expanded node and add it to the closed set. Continue to calculate the cost value and heuristic value of the node to be expanded of the expanded node and add it to the open set. Select the node with the smallest expansion cost and heuristic value from the open set as the expanded node and add it to the closed set. Repeat this process until the target position is reached. At this time, backtracking forward can find a driving path from the current position to the target position.
[0133] The hybrid A* algorithm combines the A* algorithm with the vehicle's nonholonomic constraints. It introduces the vehicle's kinematic constraints during node exploration, generates a series of nodes to be expanded, and calculates the cost and heuristic values for these nodes. The node selection and iteration methods are the same as those of the A* algorithm. The difference is that the A* algorithm uses existing nodes, while the hybrid A* algorithm generates expansion nodes through exploration using the vehicle's kinematic constraints.
[0134] In this embodiment, multiple triangular regions are introduced when expanding nodes using the A* algorithm or a hybrid A* algorithm. This utilizes the node expansion properties of the A* algorithm or the hybrid A* algorithm and incorporates elements existing in the real physical world to plan the first driving path. This helps resolve the problem of unreasonable path planning caused by irrational topological connections in map-free scenarios, thereby improving the user's driving experience.
[0135] Optionally, before planning the first driving path based on the multiple triangular areas, the method 700 also includes: mapping corresponding costs to the edges of the multiple triangular areas; wherein, planning the first driving path based on the multiple triangular areas includes: planning the first driving path based on the costs of the edges of the triangular areas; wherein, the first driving path includes multiple path points, and each of the multiple path points is located on the edge of at least part of the triangular areas among the multiple triangular areas.
[0136] In the embodiment of the present application, a search method can be used to find expansion nodes from the edges of the triangular area to plan the vehicle's driving path. In this way, the selection range of nodes to be expanded can be greatly narrowed when performing node expansion, which helps to improve the efficiency of path planning.
[0137] Optionally, the first driving path is planned based on the cost of the edge of the triangular area, including: planning the first driving path based on the crossable cost of the edge of the triangular area, the distance cost from the starting point, the distance from the end point, and the cost generated by kinematic compliance.
[0138] Optionally, the multiple triangular areas include a first side where the road boundary line or stationary obstacle is located, a second side where the solid line is located, a third side where the dotted line is located, and a fourth side where the non-road element is located, wherein the span cost of the first side is greater than the span cost of the second side, the span cost of the second side is greater than the span cost of the third side, and the span cost of the third side is greater than the span cost of the fourth side.
[0139] In an embodiment of the present application, when mapping the cost of the edge, the cost of the edge where the obstacle, road boundary, curb (guardrail or curb) is located, the cost of the edge where the solid line is located, and the cost of the edge where the dotted line is located are reduced in sequence.
[0140] S740: Control the vehicle to travel according to the first travel path.
[0141] Optionally, before controlling the vehicle to travel according to the first driving path, the method 700 further includes: obtaining a path optimization cost, the path optimization cost including at least one of a path smoothness cost, a distance cost between path points, and a path length cost; wherein, controlling the vehicle to travel according to the first driving path includes: smoothing the first driving path according to the path optimization cost to obtain a second driving path; and controlling the vehicle to travel according to the second driving path.
[0142] In an embodiment of the present application, after obtaining the driving path, the driving path is optimized through the path optimization cost, which can improve the handling stability of the vehicle when driving based on the optimized driving path, and help improve the user's driving experience.
[0143] Optionally, the method 700 further includes: adjusting the first driving path to a third driving path based on information about the at least partial triangular area and the obstacle, wherein the path points in the third driving path are located on the edge of the at least partial triangular area; and controlling the vehicle to travel based on the third driving path.
[0144] In the embodiment of the present application, the multiple planned path points are located on the edges of at least part of the triangular regions, and these triangular regions constitute a connected region (or, a homotopic space). If the vehicle encounters other moving obstacles or other stationary obstacles during driving, the driving path can be adjusted based on the connected region, and the adjusted driving path can be located on the edges of these triangular regions.
[0145] Optionally, adjusting the first driving path to a third driving path based on the information of at least a portion of the triangular area and the obstacle includes: adjusting the first driving path to the third driving path based on the information of at least a portion of the triangular area and the dynamic obstacle.
[0146] Optionally, the method 700 further includes: controlling a display device to display at least a portion of the triangular area.
[0147] In the embodiment of the present application, by displaying at least part of the triangular area on the display device, the user can see the information of the connected area obtained by vehicle planning through the display device. In this way, the user can clearly understand the area that the vehicle may travel to in the future.
[0148] Optionally, controlling the display device to display the at least partial triangular area includes: controlling the display device to display the at least partial triangular area and other triangular areas, wherein the other triangular areas are triangular areas among the multiple triangular areas other than the at least partial triangular area.
[0149] Optionally, at least part of the triangular area is filled and displayed with a first color and the other triangular areas are not filled and displayed.
[0150] For example, as shown in FIG6 , connected areas among the plurality of triangular areas may be filled with green, while disconnected areas among the plurality of triangular areas may not be filled.
[0151] The above connected area may be at least part of the above triangular area, and the non-connected area may be the above other triangular areas.
[0152] In an embodiment of the present application, when planning a path, a vehicle can obtain road elements existing in the real physical world (such as one or more of road boundaries, lane markings, and stationary obstacles), divide the points corresponding to these road elements into triangular regions, and plan a driving path based on these triangular regions. This eliminates the need to obtain lane centerlines and road topological connections, and allows path planning to be performed using multiple triangular regions determined by road elements existing in the real physical world. This helps resolve the issue of unreasonable driving paths caused by unreasonable lane centerlines and topological connections, improves the accuracy of path planning, and thus enhances driving safety for users.
[0153] The technical solutions of the embodiments of this application are applicable to all scenarios, including but not limited to highway and urban areas, intersections, and non-intersections, relying solely on road elements to generate vehicle paths. Because they do not rely on topological connections, this application can address the issue of irrational path planning caused by irrational topological connections in map-free scenarios, helping to improve the driving performance of autonomous vehicles.
[0154] The above method 300 and method 700 can be executed by the above-mentioned vehicle 100, or the method 300 and method 700 can be executed by the above-mentioned computing platform 120, or the method 300 and method 700 can be executed by a system consisting of the computing platform 120 and the perception system 110, or the method 300 and method 700 can be executed by the system-on-a-chip (SoC) in the above-mentioned computing platform 120, or the method 300 and method 700 can be executed by the processor, chip or circuit in the computing platform 120, or the method 300 and method 700 can be executed by the above-mentioned planning module 220.
[0155] Figure 8 shows a schematic block diagram of a path planning device 800 provided in an embodiment of the present application. The device 800 includes: an acquisition unit 810 for acquiring information about road elements, wherein the road elements include one or more of road boundary lines, lane lines, and stationary obstacles; a determination unit 820 for determining multiple triangular areas based on multiple points corresponding to the road elements; a path planning unit 830 for planning a first driving path based on the multiple triangular areas; and a control unit 840 for controlling the vehicle according to the first driving path.
[0156] Optionally, the device 800 also includes a cost mapping unit, which is used to map corresponding costs to the edges of the multiple triangular areas; wherein the path planning unit 830 is specifically used to: plan the first driving path according to the costs of the edges of the triangular areas; wherein the first driving path includes multiple path points, and each of the multiple path points is located on the edge of at least part of the triangular areas among the multiple triangular areas.
[0157] Optionally, the multiple triangular areas include a first side where the road boundary line or stationary obstacle is located, a second side where the solid line is located, a third side where the dotted line is located, and a fourth side where the non-road element is located, wherein the span cost of the first side is greater than the span cost of the second side, the span cost of the second side is greater than the span cost of the third side, and the span cost of the third side is greater than the span cost of the fourth side.
[0158] Optionally, the acquisition unit 810 is also used to obtain a path optimization cost, which includes at least one of a path smoothness cost, a distance cost between path points, and a path length cost; wherein the control unit is specifically used to: smooth the first driving path according to the path optimization cost to obtain a second driving path; and control the vehicle driving according to the second driving path.
[0159] Optionally, the path planning unit 830 is also used to adjust the first driving path to a third driving path based on information about at least part of the triangular area and the obstacle, wherein the path points in the third driving path are located on the edge of at least part of the triangular area; and control the vehicle driving according to the third driving path.
[0160] Optionally, the control unit 840 is specifically configured to control a display device to display at least a portion of the triangular area.
[0161] Optionally, the device 800 further includes: a road element division unit, configured to divide the road element into the plurality of points according to a preset division method.
[0162] Optionally, the root determination unit 820 is specifically configured to construct a triangular graph according to the multiple points and a constrained Delaunay triangulation method, where the triangular graph includes the multiple triangular regions.
[0163] Optionally, the device 800 further includes: a road element processing unit, configured to perform deduplication or fusion processing on the road elements.
[0164] For example, the acquisition unit 810 may be the computing platform in FIG1 or a processing circuit, processor, or controller in the computing platform. For example, if the acquisition unit 810 is the processor 121 in the computing platform, the processor 121 may acquire data collected by the vehicle's perception system 110 and determine information about road elements based on the data.
[0165] For another example, determining unit 820 may be the computing platform in FIG1 or a processing circuit, processor, or controller in the computing platform. For example, if determining unit 820 is processor 122 in the computing platform, processor 122 may divide each road element into one or more points based on the road element information determined by processor 121, and determine multiple triangular areas based on the multiple points.
[0166] For another example, the path planning unit 830 may be the computing platform in Figure 1 or a processing circuit, processor, or controller in the computing platform. For example, if the path planning unit 830 is the processor 123 in the computing platform, the processor 123 may plan the vehicle's driving path based on the multiple triangular areas determined by the processor 122.
[0167] For another example, the control unit 840 may be the computing platform in FIG1 or a processing circuit, processor, or controller in the computing platform. For example, if the control unit 840 is the processor 124 in the computing platform, the processor 124 may control the vehicle's travel (e.g., controlling vehicle acceleration or deceleration, steering, lane change, etc.) based on the travel path planned by the processor 123.
[0168] The functions implemented by the above-mentioned acquisition unit 810, the functions implemented by the determination unit 820, the functions implemented by the path planning unit 830, and the functions implemented by the control unit 840 can be implemented by different processors, or they can be implemented by the same processor, or some functions can be implemented by the same processor. The embodiments of the present application are not limited to this.
[0169] It should be understood that the division of the various units in the above device is merely a division of logical functions. In actual implementation, they may be fully or partially integrated into a single physical entity, or they may be physically separated. Furthermore, the units in the device may be implemented in the form of a processor calling software; for example, the device includes a processor connected to a memory storing instructions, and the processor calls the instructions stored in the memory to implement any of the above methods or the functions of the various units in the device, where the processor is, for example, a general-purpose processor such as a CPU or a microprocessor, and the memory is a memory within the device or a memory external to the device. Alternatively, the units in the device may be implemented in the form of hardware circuits, and the functions of some or all of the units may be implemented through the design of the hardware circuits. The hardware circuits may be understood as one or more processors. For example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all of the above units may be implemented through the design of the logical relationships between the components within the circuits. In another implementation, the hardware circuit may be implemented using a PLD, such as an FPGA, which may include a large number of logic gate circuits, and the connections between the logic gate circuits may be configured using a configuration file to implement the functions of some or all of the above units. All units of the above apparatus may be implemented entirely in the form of software called by a processor, or entirely in the form of hardware circuits, or partially in the form of software called by a processor and the rest in the form of hardware circuits.
[0170] In an embodiment of the present application, a processor is a circuit with the ability to process signals. In one implementation, the processor may be a circuit with the ability to read and execute instructions, such as a CPU, a microprocessor, a GPU, or a DSP. In another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit may be fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document to implement the configuration of the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, DPU, etc.
[0171] It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0172] In addition, the various units in the above apparatus may be fully or partially integrated together, or may be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-chip (SoC). The SoC may include at least one processor for implementing any of the above methods or implementing the functions of the various units of the apparatus. The at least one processor may be of different types, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.
[0173] An embodiment of the present application also provides a device, which includes a processing unit and a storage unit, wherein the storage unit is used to store instructions, and the processing unit executes the instructions stored in the storage unit so that the device executes the method or steps performed by the above embodiment.
[0174] Optionally, if the device is located in a vehicle, the processing unit may be the processors 121 - 12n shown in FIG. 1 .
[0175] An embodiment of the present application also provides a path planning system, which may include a computing platform and a perception system, and the computing platform may include the above-mentioned path planning device 800.
[0176] An embodiment of the present application also provides a vehicle, which may include the above-mentioned path planning device 800 or path planning system.
[0177] An embodiment of the present application further provides a computer program product, which includes: computer program code, which enables the computer to execute the method in the above embodiment when the computer program code is run on a computer.
[0178] An embodiment of the present application further provides a computer-readable medium, wherein the computer-readable medium stores a program code. When the computer program code runs on a computer, the computer executes the method in the above embodiment.
[0179] An embodiment of the present application further provides a chip, which includes a circuit, and the circuit is used to execute the method in the above embodiment.
[0180] During implementation, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor or by instructions in the form of software. The method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or a power-on erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
[0181] It should be understood that in the embodiment of the present application, the memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
[0182] It should also be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0183] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0184] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0185] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0186] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0187] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0188] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0189] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be covered and fall within the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A path planning method, characterized in that: include: Acquiring information of road elements, where the road elements include one or more of a road boundary line, a lane line, and a stationary obstacle; Determining a plurality of triangular areas according to a plurality of points corresponding to the road element; Planning a first driving path according to the plurality of triangular areas; The vehicle is controlled to travel according to the first travel path.
2. The method according to claim 1, characterized in that Before planning the first driving path according to the plurality of triangular areas, the method further includes: Mapping corresponding costs to the edges of the plurality of triangular regions; The step of planning a first driving path according to the plurality of triangular areas includes: Planning the first driving path according to the cost of the edges of the triangular area; The first driving path includes a plurality of path points, and each of the plurality of path points is located on the edge of at least part of the plurality of triangular areas.
3. The method according to claim 2, characterized in that The multiple triangular areas include a first side where a road boundary line or a stationary obstacle is located, a second side where a solid line is located, a third side where a dotted line is located, and a fourth side where a non-road element is located. The span cost of the first edge is greater than the span cost of the second edge, the span cost of the second edge is greater than the span cost of the third edge, and the span cost of the third edge is greater than the span cost of the fourth edge.
4. The method according to claim 2 or 3, characterized in that Before controlling the vehicle to travel according to the first travel path, the method further includes: Obtaining a path optimization cost, where the path optimization cost includes at least one of a path smoothness cost, a distance cost between path points, and a path length cost; The controlling the vehicle to travel according to the first travel path includes: smoothing the first driving path according to the path optimization cost to obtain a second driving path; The vehicle is controlled to travel according to the second travel path.
5. The method according to any one of claims 2 to 4, characterized in that The method further comprises: Adjusting the first driving path to a third driving path based on information about the at least partial triangular area and the obstacle, where a path point in the third driving path is located in the at least partial triangular area; The vehicle is controlled to travel according to the third travel path.
6. The method according to claim 5, characterized in that The method further comprises: The display device is controlled to display at least part of the triangular area.
7. The method according to any one of claims 1 to 6, characterized in that Before determining a plurality of triangular areas based on a plurality of points corresponding to the road elements, the method further includes: The road element is divided into the plurality of points according to a preset division method.
8. The method according to claim 7, characterized in that The determining of the plurality of triangular areas according to the plurality of points includes: A triangular graph is constructed according to the plurality of points and a constrained Delaunay triangulation method, wherein the triangular graph includes the plurality of triangular regions.
9. The method according to any one of claims 1 to 8, characterized in that Before determining a plurality of triangular areas based on the information of the road elements, the method further includes: Deduplication or fusion processing is performed on the road elements.
10. A path planning device, characterized in that: include: an acquisition unit, configured to acquire information of road elements, wherein the road elements include one or more of a road boundary line, a lane line, and a stationary obstacle; a determining unit, configured to determine a plurality of triangular areas according to a plurality of points corresponding to the road element; a path planning unit, configured to plan a first driving path according to the plurality of triangular areas; A control unit is used to control the vehicle to travel according to the first travel path.
11. The device according to claim 10, characterized in that The device further includes a cost mapping unit, The cost mapping unit is configured to map corresponding costs to the edges of the plurality of triangular regions; The path planning unit is specifically configured to: Planning the first driving path according to the cost of the edges of the triangular area; The first driving path includes a plurality of path points, and each of the plurality of path points is located on the edge of at least part of the plurality of triangular areas.
12. The device according to claim 11, characterized in that The multiple triangular areas include a first side where a road boundary line or a stationary obstacle is located, a second side where a solid line is located, a third side where a dotted line is located, and a fourth side where a non-road element is located. The span cost of the first edge is greater than the span cost of the second edge, the span cost of the second edge is greater than the span cost of the third edge, and the span cost of the third edge is greater than the span cost of the fourth edge.
13. The device according to claim 11 or 12, characterized in that The acquisition unit is further configured to acquire a path optimization cost, wherein the path optimization cost includes at least one of a path smoothness cost, a distance cost between path points, and a path length cost; Wherein, the control unit is specifically used for: smoothing the first driving path according to the path optimization cost to obtain a second driving path; The vehicle is controlled to travel according to the second travel path.
14. The device according to any one of claims 11 to 13, characterized in that The path planning unit is further configured to adjust the first driving path to a third driving path based on information about the at least partial triangular area and the obstacle, wherein a path point in the third driving path is located in the at least partial triangular area; The vehicle is controlled to travel according to the third travel path.
15. The device according to claim 14, characterized in that The control unit is specifically used for: The display device is controlled to display at least part of the triangular area.
16. The device according to any one of claims 10 to 15, characterized in that The device further comprises: The road element division unit is configured to divide the road element into the plurality of points according to a preset division method.
17. The device according to claim 16, characterized in that The root determination unit is specifically configured to: A triangular graph is constructed according to the plurality of points and a constrained Delaunay triangulation method, wherein the triangular graph includes the plurality of triangular regions.
18. The device according to any one of claims 10 to 17, characterized in that The device further comprises: The road element processing unit is used to perform deduplication or fusion processing on the road elements.
19. A path planning device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the computer program stored in the memory, so that the apparatus performs the method according to any one of claims 1 to 9.
20. A path planning system, characterized in that: The path planning system includes a perception system and a computing platform, and the computing platform includes the device according to any one of claims 10 to 19.
21. A vehicle, characterized in that: Comprising the apparatus according to any one of claims 10 to 19, or comprising the system according to claim 20.
22. A computer-readable storage medium, characterized in that Instructions are stored thereon, and when the instructions are executed by a processor, the processor is caused to implement the method according to any one of claims 1 to 9.
23. A computer program product, characterized in that The computer program product comprises a computer program code, which, when run on a computer, causes the computer to implement the method according to any one of claims 1 to 9.
24. A chip, characterized in that: The chip comprises a circuit for executing the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Intelligent scheduling system of unmanned conveyers in workshop
CN102915008A
Path planning method and system
CN103837154A
Terrain-based path search method
CN105067004A
Reactive path planning for autonomous driving
CN106094812A
Method and system for motion planning for an autonmous vehicle
US20220135068A1
Cited By
DOP information fused long-distance maneuvering path planning method and system
CN121475263A