Path generation method and device
By using point cloud data to generate reference paths in vehicle simulation software and subdividing line segments using the minimum curvature method, the problem of low path generation accuracy in the prior art is solved, and smoother and more accurate path generation is achieved.
Patent Information
- Application Number
- CN202411469985.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2025-02-14
AI Technical Summary
In existing vehicle simulation software, the generation accuracy of CRG road surface reference lines is low, the data point distribution is uneven, the curve is not smooth enough, making it difficult to generate high-quality paths.
By generating reference paths based on point cloud data of the road surface, using path generation parameters to generate multiple discrete points on the reference path, and connecting these discrete points into line segments, subdividing each line segment using the minimum curvature method to generate more Position points, ultimately generating a smoother and more accurate path based on these position points.
The quality of path generation is improved, making the generated paths smoother and more accurate, and can still output high-quality centerline paths when data points are unevenly distributed or inaccurately.
Smart Images

Figure CN119444918A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle simulation technology, and in particular to a path generation method and device. Background Art
[0002] The virtual proving ground is a high-precision digital model of the physical proving ground. With the help of virtual proving ground technology, the driving conditions of the vehicle in the physical proving ground can be simulated in the vehicle dynamics simulation software, so as to obtain road load spectrum data consistent with the actual test. These data help automakers provide necessary input for the reliable durability, NVH (noise, vibration and harshness) performance development of the whole vehicle and the design verification of the vehicle chassis performance in the early stage of new model development, that is, the stage without real vehicles.
[0003] When a vehicle performs path tracking simulation in a virtual test field, the reference line of the CRG (Curved Regular Grid) road surface is usually used as the driving path. The generation method of the reference line often relies on the built-in algorithm of the open source software OpenCRG for calculation and generation. The path curve generated by the built-in algorithm has low accuracy, uneven distribution of data points, and the curve is not smooth enough. Summary of the invention
[0004] The present application provides a path generation method, which improves the quality of the generated path.
[0005] This application provides the following solutions:
[0006] According to a first aspect, a path generation method is provided, the method comprising: generating a reference path based on point cloud data of a road surface; generating a plurality of discrete points on the reference path based on path generation parameters, and connecting the plurality of discrete points to obtain a plurality of line segments; obtaining a plurality of position points for each of the line segments using a minimum curvature method; and generating a path for the road surface based on the position points.
[0007] According to an implementable method in an embodiment of the present application, the path generation parameters include a starting position, an increment of a transverse grid, and a heading angle; generating multiple discrete points on the reference path according to the path generation parameters includes: determining the position increment of each discrete point according to the increment of the transverse grid, the heading angle, and the transverse grid index corresponding to each discrete point; and determining the position of each discrete point using the position increment of each position point and the starting position.
[0008] According to an implementable method in an embodiment of the present application, the path generation parameters also include: an end position; and generating multiple discrete points on the reference path according to the path generation parameters also includes: performing offset correction on the discrete points through the end position.
[0009] According to an achievable method in an embodiment of the present application, the method of obtaining multiple position points for each line segment using the minimum curvature method includes: dividing each line segment into sub-segments, the length of the sub-segment being determined by the length of the long line segment and the number of segments, and the navigation angle of the sub-segment after division being determined by the heading angle of the endpoint of the sub-segment; and for each sub-segment, respectively executing: determining the position of the position point corresponding to the current sub-segment using the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, length and minimum curvature value of the current sub-segment.
[0010] According to an achievable method in an embodiment of the present application, the direction vector is determined according to the heading angle of the position point corresponding to the previous sub-line segment.
[0011] According to an achievable method in an embodiment of the present application, the minimum curvature value is determined according to the heading angle of the current position point.
[0012] According to an achievable method in an embodiment of the present application, the method of determining the position of the position point corresponding to the current sub-line segment by using the position and direction vector of the position point corresponding to the previous sub-line segment, the navigation angle, length and minimum curvature value of the current sub-line segment includes: determining the direction vector of the current sub-line segment by using the direction vector of the position point corresponding to the previous sub-line segment and the navigation angle of the current sub-line segment; determining the position increment of the position point corresponding to the current sub-line segment by using the direction vector, length and minimum curvature value of the current sub-line segment; determining the position of the position point corresponding to the current sub-line segment by using the position increment of the position point corresponding to the current sub-line segment and the position of the position point corresponding to the previous sub-line segment.
[0013] According to a second aspect, a path generation device is provided, the device comprising: a reference path generation unit, configured to generate a reference path based on point cloud data of a road surface; a discrete point generation unit, configured to generate a plurality of discrete points on the reference path according to path generation parameters, and connect the plurality of discrete points to obtain a plurality of line segments; a position point determination unit, configured to obtain a plurality of position points for each of the line segments using a minimum curvature method; and a path generation unit, configured to generate a path of the road surface based on the position points.
[0014] According to a third aspect, an electronic device is provided, comprising: one or more processors; and a memory associated with the one or more processors, the memory being used to store program instructions, and the program instructions, when read and executed by the one or more processors, execute the steps of any one of the methods described in the first aspect.
[0015] According to a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the methods in the first aspect are implemented.
[0016] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0017] (1) The present application generates multiple discrete points on a reference path according to the path generation parameters, and further subdivides the long line segments formed by connecting the multiple discrete points using the minimum curvature method, thereby generating more position points, thereby making the path generated according to the position points smoother and more accurate.
[0018] In addition, when generating position points, the present application uses the minimum curvature method to replace the original linear interpolation algorithm, reducing the dependence on the quality of discrete points. When the data points are unevenly distributed or inaccurate, a smooth and highly accurate centerline path can still be output, thereby improving the quality of path generation.
[0019] (2) The path generation parameters of the present application include an end position, and the discrete points are offset corrected by the end position, thereby improving the accuracy of discrete point generation and further improving the accuracy of path generation.
[0020] (3) This application uses the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, length and minimum curvature value of the current sub-segment to determine the position of the position point corresponding to the current sub-segment. Compared with the original algorithm, this application generates more line segments and heading angle data, which can more accurately describe paths with large curvature changes.
[0021] Of course, any product implementing the present application does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0023] Figure 1 A system architecture diagram applicable to the embodiments of the present application;
[0024] Figure 2 A step diagram of a path generation method provided in an embodiment of the present application;
[0025] Figure 3 A flow chart of a path generation method provided in an embodiment of the present application;
[0026] Figure 4 A schematic block diagram of a path generation device provided in an embodiment of the present application;
[0027] Figure 5 A schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.
[0029] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.
[0030] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0031] The word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
[0032] There are already some trajectory generation technologies. These methods are based on the binomial linear interpolation algorithm. Although this algorithm is simple to implement, computationally efficient, and the results are relatively stable (for most road scenarios), the linear interpolation algorithm has limited accuracy when dealing with complex curves and may not be able to accurately describe paths with large curvature changes. In addition, the algorithm relies on the quality of discrete data points. If the data points are unevenly distributed or inaccurate, the interpolation results will be affected.
[0033] In view of this, the present application provides a new idea. In order to facilitate the understanding of the present application, the system architecture on which the present application is based is first described. Figure 1 An exemplary system architecture to which the embodiments of the present application can be applied is shown. Figure 1As shown in , the system architecture may include: a user device and a path generation device for trajectory data located at an application server.
[0034] The user can input the point cloud data of the road surface through the user device, and the user device sends the point cloud data to the path generation device on the application server side. Alternatively, the path generation device can also obtain point cloud data from other services on the server side. For example, other services on the server side can collect point cloud information of the road surface at regular intervals, thereby forming point cloud data of the road surface and storing it on the server side. The path generation device generates a path based on the point cloud data of the road surface to obtain the path of the road surface. The server side sends the path generation result to the user terminal through the network, and the user device displays it to the user.
[0035] Among them, user equipment may include but is not limited to: smart mobile terminals, smart home devices, wearable devices, PC (Personal Computer), etc. Among them, smart mobile devices may include such as mobile phones, tablet computers, laptops, PDAs (Personal Digital Assistants), Internet cars, etc. Smart home devices may include smart TVs, smart refrigerators, etc. Wearable devices may include such as smart watches, smart glasses, virtual reality devices, augmented reality devices, mixed reality devices (i.e., devices that can support virtual reality and augmented reality), etc. User equipment may also include road data acquisition devices, such as vehicle recorders, road sensing devices, etc.
[0036] The path generation device can be set as an independent server, a server group, or a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a host product in the cloud computing service system to solve the problems of difficult management and weak service scalability in traditional physical hosts and virtual private servers (VPS). Figure 1 In addition to the illustrated architecture, the path generation device may also be disposed in a computer terminal with strong computing capability.
[0037] It should be understood that Figure 1 The user equipment and path generation device in the figure are only for illustration. According to the implementation requirements, there may be any number of user equipment and path generation devices.
[0038] Figure 2 A step diagram of a path generation method provided in an embodiment of the present application. The method can be performed by Figure 1 The path generation device in the system shown is executed. Figure 2 As shown in , the method may include the following steps:
[0039] Step 201: Generate a reference path based on the point cloud data of the road surface.
[0040] Step 202: Generate multiple discrete points on the reference path according to the path generation parameters, and connect the multiple discrete points to obtain multiple line segments.
[0041] Step 203: Obtain multiple position points for each line segment using the minimum curvature method.
[0042] Step 204: Generate a road path according to the location points.
[0043] It can be seen from the above process that the present application generates multiple discrete points on the reference path according to the path generation parameters, and further subdivides the long line segments formed by the multiple discrete points using the minimum curvature method, thereby generating more position points, thereby making the path generated according to the position points smoother and more accurate. In addition, when generating position points, the present application replaces the original linear interpolation algorithm with the minimum curvature method, reducing the dependence on the quality of discrete points. When the data points are unevenly distributed or inaccurate, it can still output a smooth and highly accurate centerline path, thereby improving the quality of path generation.
[0044] The following describes in detail each step in the above process and the effects that can be further produced in conjunction with the embodiments.
[0045] First, the above step 201, namely “generating a reference path according to the point cloud data of the road surface”, is described in detail in conjunction with the embodiment.
[0046] This application is used to digitize the actual road conditions for virtual simulation of the path. The actual road conditions are represented by the point cloud data of the road surface. The actual road can be scanned using high-precision three-dimensional scanning equipment to obtain the three-dimensional scanning point cloud of the actual road surface. Laser dynamic scanning is generally used in this field, and the scanning speed is 5km / h. This application uses the minimum curvature method to generate position points, and has lower requirements on the quality of the point cloud. A faster scanning speed can be used to obtain point cloud data.
[0047] The reference path is the basis of the road surface description in the CRG file. After acquiring the point cloud data, a series of control points can be selected along the centerline of the road. These control points can define the general direction of the reference path. Based on these control points, a curve fitting algorithm (such as polynomial fitting, spline curve fitting, etc.) can be used to generate the reference path.
[0048] The above step 202, namely "generating a plurality of discrete points on the reference path according to the path generation parameters, and connecting the plurality of discrete points to obtain a plurality of line segments", is described in detail below in conjunction with an embodiment.
[0049] This step discretizes the continuous reference path into a series of line segments. Multiple discrete points are generated on the reference path according to the path generation parameters, and these discrete points are used as the endpoints of the line segments to obtain multiple line segments.
[0050] There are many ways to generate multiple discrete points on the reference path according to the path generation parameters. For example, the path generation parameters can be discrete intervals. Starting from the starting point of the reference line, discrete points are sequentially taken along the discrete intervals according to the discrete intervals. The discrete intervals can be fixed distances or dynamically change according to the curvature or other characteristics of the road surface.
[0051] As an implementable method, Figure 3 The flow chart of the path generation method provided in the embodiment of the present application, the path generation parameters include the starting position, the increment of the horizontal grid and the heading angle. According to the increment of the horizontal grid, the heading angle and the horizontal grid index corresponding to each discrete point, the position increment of each discrete point is determined respectively; the position increment and the starting position of each position point are used to determine the position of each discrete point.
[0052] Specifically, the coordinates of the starting position are (x0, y0), the increment of the horizontal grid is Δu, and the initial value of the heading angle is φ0, then the position of the discrete point is:
[0053] X=x0+i*Δu*cos(φ0) (1)
[0054] Y=y0+i*Δu*sin(φ0) (2)
[0055] The coordinate value (X, Y) of the first discrete point can be obtained, where i is the index of the horizontal grid. Starting from the starting position, according to the method of formulas (1) and (2), the current discrete point is used to obtain the next discrete point along the reference line until the end position of the reference line.
[0056] The heading angle is an angle parameter that describes the direction of the road. When the reference line is a curve, the discretization process needs to process the calculation of the heading angle more carefully. The heading angle can be updated in each step of the discretization to reflect the tangent direction of the curve at the current point. The heading angle can be obtained by calculating the angle between the tangent vector and the horizontal axis.
[0057] As an implementable manner, the path generation parameters also include: an end position. When a plurality of discrete points are generated on the reference path, the discrete points may also be offset corrected by the end position.
[0058] Specifically, in the u-axis direction of the horizontal grid, the u coordinate value is normalized at fixed intervals:
[0059]
[0060] When frac<0
[0061] du=frac*Δu (4)
[0062] X=x0+du*cos(φ0)-v*sin(φ0) (5)
[0063] Y=y0+du*cos(φ0)-v*sin(φ0) (6)
[0064] When frac>1
[0065] du=(frac-1)*Δu (7)
[0066] X=x n +du*cos(φ n )-v*sin(φ n ) (8)
[0067] Y=y n +du*cos(φ n )-v*sin(φ n ) (9)
[0068] Among them, (x n ,y n ) is the coordinate of the end position, φ n is the heading angle of the end position, v is the longitudinal grid value, and (X, Y) is the corrected discrete point coordinate.
[0069] Through the above steps, multiple discrete points can be obtained, which are recorded as: P1, P2…P i , P i+1 . Among them, P1=(X1,Y1), P2=(X2,Y2)…P i+1 =(X i+1 ,Y i+1 ). By connecting these discrete points, multiple line segments can be obtained: line segment P1P2, line segment P2P3…line segment P i P i+1 .
[0070] The above step 203, namely "obtaining a plurality of position points for each line segment using the minimum curvature method", is described in detail below in conjunction with an embodiment.
[0071] After obtaining multiple line segments, the present application further divides each line segment to generate more position points, thereby making the path curve more accurate and smooth.
[0072] The Minimum Curvature Method is an algorithm for generating smooth paths, which is particularly suitable for road design and path planning for autonomous vehicles. This method generates a smooth path by minimizing the curvature of the curve, making the path smoother when turning and reducing sharp turns.
[0073] There are many ways to obtain multiple position points for each line segment using the minimum curvature method. For example, for each line segment, first select multiple position points, and then calculate the curvature of each position point on the path. Through an iterative process, gradually adjust the position of each point on the path to reduce the curvature. Each iteration attempts to find a new position so that the curvature from this position to the adjacent position is minimized. Set a termination condition, such as stopping the iteration when the total curvature of the path drops below a certain threshold or when the number of iterations reaches a preset maximum value.
[0074] As an implementable method, each line segment can be divided into sub-segments, the length of the sub-segment is determined by the length of the long line segment and the number of segments, and the navigation angle of the sub-segment after division is determined by the heading angle of the endpoint of the sub-segment; for each sub-segment, execute: use the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, length and minimum curvature value of the current sub-segment to determine the position of the position point corresponding to the current sub-segment.
[0075] As an implementable method, the direction vector of the position point corresponding to the previous sub-segment and the navigation angle of the current sub-segment can be used to determine the direction vector of the current sub-segment; the position increment of the position point corresponding to the current sub-segment can be used to determine the position increment of the position point corresponding to the current sub-segment; the position of the position point corresponding to the current sub-segment can be determined using the position increment of the position point corresponding to the current sub-segment and the position of the position point corresponding to the previous sub-segment.
[0076] The direction vector can be determined according to the heading angle of the initial position point. Specifically, the initial direction vector is defined as:
[0077]
[0078]
[0079] Among them, φ0 is the initial value of the heading angle.
[0080] In each long line segment, the segment length of each sub-line segment generated is determined according to the number of segments. The sub-line segment length L e The calculation formula of and navigation angle θ is as follows:
[0081]
[0082]
[0083] Where L is the length of the long segment where the sub-segment is located; the number of segments Δφ is the heading angle of the endpoint. It can be obtained that in each sub-segment, the direction vector of the current position point is:
[0084]
[0085] Among them, φ cur The heading angle of the current position.
[0086] The current position point p cur According to the previous position point p pre Calculated by the following formula:
[0087] p cur =p pre +(ex pre *cos(θ)+ey pre *sin(θ))*L e *κ θ (16)
[0088] Among them, ex pre andey pre is the direction vector of the position point corresponding to the previous sub-segment; p pre is the position of the corresponding point of the previous sub-segment; θ is the navigation angle of the current sub-segment; κ θ is the minimum curvature value.
[0089] The minimum curvature value can be calculated in a variety of ways, such as by calculating the curvature for each point on the curve and then finding the minimum value among these curvature values. Preferably, the minimum curvature of the current sub-segment can be calculated by the following formula:
[0090]
[0091] After executing the above steps for each sub-segment respectively, multiple position points can be obtained on each sub-segment.
[0092] The above step 204, namely "generating a path of the road surface according to the location points", is described in detail below in conjunction with an embodiment.
[0093] Through the above steps, multiple position points are obtained, and the path of the road surface can be generated according to the multiple position points. The multiple position points can be connected in sequence, and the connected line segments can be directly used as the path of the road surface, or the connected line segments can be corrected according to parameters such as the curvature radius and heading angle of each position point, and the corrected line segments can be used as the path of the road surface.
[0094] The above method provided in the embodiment of the present application can be applied to a variety of application scenarios, including but not limited to: it can be applied to an autonomous driving system, which requires an accurate road path to navigate the vehicle. The method provided in the present application can be used to generate the optimal path for vehicle travel to ensure driving safety and efficiency. The method provided in the present application can also be applied to the design of new roads. The preliminary road layout, including curves and straight segments, is generated by the method in the present application to facilitate further engineering analysis and design optimization. The method provided in the present application can also be used to simulate real-world road conditions in a virtual environment, such as a driving simulator or traffic simulation software, to test vehicle performance or traffic flow management.
[0095] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0096] According to an embodiment of another aspect, a path generating device is provided. Figure 4 A schematic block diagram of a path generation device according to an embodiment is shown, wherein the device is arranged at Figure 1 The server side of the architecture shown in Figure 1. Figure 4 As shown, the device 400 includes:
[0097] The reference path generating unit 401 is configured to generate a reference path according to the point cloud data of the road surface.
[0098] The discrete point generating unit 402 is configured to generate a plurality of discrete points on the reference path according to the path generating parameters, and connect the plurality of discrete points to obtain a plurality of line segments.
[0099] The position point determination unit 403 is configured to obtain a plurality of position points for each line segment using a minimum curvature method.
[0100] The path generation unit 404 is configured to generate a path on the road surface according to the location points.
[0101] As one of the feasible ways, the path generation parameters include the starting position, the increment of the transverse grid and the heading angle; when the discrete point generation unit 402 generates multiple discrete points on the reference path according to the path generation parameters, it can be configured as follows: multiple discrete points are obtained according to the starting position, the increment of the transverse grid and the heading angle.
[0102] As one of the feasible ways, the path generation parameters also include: the end position; when the discrete point generation unit 402 generates multiple discrete points on the reference path according to the path generation parameters, it can be configured as follows: according to the increment of the horizontal grid, the heading angle and the horizontal grid index corresponding to each discrete point, the position increment of each discrete point is determined respectively; and the position of each discrete point is determined by using the position increment and the starting position of each position point.
[0103] As one of the feasible ways, when the position point determination unit 403 obtains multiple position points for each line segment using the minimum curvature method for each line segment, it can be configured as follows: each line segment is divided into sub-segments, the length of the sub-segment is determined by the length of the long line segment and the number of segments, and the navigation angle of the sub-segment after division is determined by the heading angle of the endpoint of the sub-segment; for each sub-segment, the following is performed respectively: using the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, length and minimum curvature value of the current sub-segment, to determine the position of the position point corresponding to the current sub-segment.
[0104] As one of the implementable manners, the position point determining unit 403 may be configured as follows: the direction vector is determined according to the heading angle of the position point corresponding to the previous sub-segment.
[0105] As one achievable manner, the position point determining unit 403 may be configured as follows: the minimum curvature value is determined according to the heading angle of the current position point.
[0106] As one of the feasible ways, the position point determination unit 403 can be configured as follows when determining the position of the position point corresponding to the current sub-line segment by using the position and direction vector of the position point corresponding to the previous sub-line segment, the navigation angle, length and minimum curvature value of the current sub-line segment: determining the direction vector of the current sub-line segment by using the direction vector of the position point corresponding to the previous sub-line segment and the navigation angle of the current sub-line segment; determining the position increment of the position point corresponding to the current sub-line segment by using the direction vector, length and minimum curvature value of the current sub-line segment; determining the position of the position point corresponding to the current sub-line segment by using the position increment of the position point corresponding to the current sub-line segment and the position of the position point corresponding to the previous sub-line segment.
[0107] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or it may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.
[0108] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0109] In addition, an embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the methods in the aforementioned method embodiments are implemented.
[0110] And an electronic device, comprising: one or more processors; and a memory associated with the one or more processors, the memory being used to store program instructions, and the program instructions, when read and executed by the one or more processors, execute the steps of any of the methods described in the aforementioned method embodiments.
[0111] The present application also provides a computer program product, including a computer program, which implements the steps of any one of the methods in the aforementioned method embodiments when executed by a processor.
[0112] in, Figure 5 The architecture of the electronic device is shown as an example, which may include a processor 510, a video display adapter 511, a disk drive 512, an input / output interface 513, a network interface 514, and a memory 520. The processor 510, the video display adapter 511, the disk drive 512, the input / output interface 513, the network interface 514, and the memory 520 may be communicatively connected via a communication bus 530.
[0113] The processor 510 may be implemented by a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided in this application.
[0114] The memory 520 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 520 can store an operating system 521 for controlling the operation of the electronic device 500, and a basic input and output system (BIOS) 522 for controlling the low-level operation of the electronic device 500. In addition, a web browser 523, a data storage management system 524, and a path generation device 525, etc. can also be stored. The above-mentioned path generation device 525 can be an application program that specifically implements the operations of the aforementioned steps in the embodiment of the present application. In short, when the technical solution provided by the present application is implemented by software or firmware, the relevant program code is stored in the memory 520 and is called and executed by the processor 510.
[0115] The input / output interface 513 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0116] The network interface 514 is used to connect to a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).
[0117] The bus 530 comprises a pathway for transmitting information between the various components of the device (eg, the processor 510, the video display adapter 511, the disk drive 512, the input / output interface 513, the network interface 514, and the memory 520).
[0118] It should be noted that, although the above device only shows a processor 510, a video display adapter 511, a disk drive 512, an input / output interface 513, a network interface 514, a memory 520, a bus 530, etc., in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include components necessary for implementing the solution of the present application, and does not necessarily include all the components shown in the figure.
[0119] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the prior art in the form of a computer program product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.
[0120] The technical solution provided by the present application is described in detail above. The principle and implementation method of the present application are described in detail using specific examples. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present application.
Claims
1. A path generation method, characterized in that: The method comprises: Generate a reference path based on point cloud data of the road surface; Generate a plurality of discrete points on the reference path according to the path generation parameters, and connect the plurality of discrete points to obtain a plurality of line segments; Obtaining a plurality of position points for each line segment using a minimum curvature method; A path of the road surface is generated according to the location points.
2. The method according to claim 1, characterized in that The path generation parameters include a starting position, a transverse grid increment, and a heading angle; Generating a plurality of discrete points on the reference path according to the path generation parameters comprises: The position increment of each discrete point is determined according to the increment of the transverse grid, the heading angle and the transverse grid index corresponding to each discrete point; the position of each discrete point is determined using the position increment of each position point and the starting position.
3. The method according to claim 2, characterized in that The path generation parameters also include: end position; Generating a plurality of discrete points on the reference path according to the path generation parameters also includes: The discrete points are offset corrected using the end positions.
4. The method according to claim 1, characterized in that The method of obtaining a plurality of position points for each line segment by using the minimum curvature method comprises: Each of the line segments is divided into sub-line segments, wherein the length of the sub-line segment is determined by the length of the long line segment and the number of segments, and the navigation angle of the sub-line segment after the division is determined by the heading angle of the endpoint of the sub-line segment; For each sub-segment, respectively, the following steps are performed: using the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, length and minimum curvature value of the current sub-segment, to determine the position of the position point corresponding to the current sub-segment.
5. The method according to claim 4, characterized in that The direction vector is determined according to the heading angle of the position point corresponding to the previous sub-line segment.
6. The method according to claim 4, characterized in that The minimum curvature value is determined according to the heading angle of the current position point.
7. The method according to claim 4, characterized in that Determining the position of the position point corresponding to the current sub-segment by using the position and direction vector of the position point corresponding to the previous sub-segment, the navigation angle, the length and the minimum curvature value of the current sub-segment comprises: Determine the direction vector of the current sub-segment by using the direction vector of the position point corresponding to the previous sub-segment and the navigation angle of the current sub-segment; Using the direction vector, length and minimum curvature value of the current sub-segment, determine the position increment of the position point corresponding to the current sub-segment; The position of the position point corresponding to the current sub-segment is determined by using the position increment of the position point corresponding to the current sub-segment and the position of the position point corresponding to the previous sub-segment.
8. A path generation device, characterized in that: The device comprises: A reference path generation unit is configured to generate a reference path according to point cloud data of a road surface; A discrete point generating unit is configured to generate a plurality of discrete points on the reference path according to the path generating parameters, and connect the plurality of discrete points to obtain a plurality of line segments; a position point determination unit, configured to obtain a plurality of position points for each line segment using a minimum curvature method; The path generating unit is configured to generate a path of the road surface according to the position point.
9. An electronic device, characterized in that: include: one or more processors; as well as A memory associated with the one or more processors, the memory being used to store program instructions, wherein the program instructions, when read and executed by the one or more processors, execute the steps of the method described in any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.