Method, device and computer program for generating driving path of autonomous vehicle

By setting intermediate points in the autonomous driving system and using polynomial functions to express the path, the problem of not considering mechanical characteristics in the generation of vehicle driving paths is solved, and a smooth driving experience is achieved.

CN114670865BActive Publication Date: 2025-07-29RIDEFLUX INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111412373.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-24
Filing Date
2021-11-25
Publication Date
2025-07-29
Estimated Expiration
2041-11-25

AI Technical Summary

Technical Problem

The existing autonomous driving system does not take into account the mechanical characteristics of the vehicle when generating driving paths, resulting in the autonomous driving vehicle that may forcefully change direction and poor driving experience.

Method used

Set more than one intermediate point between the starting point and the end point to generate a driving path connecting the starting point, multiple intermediate points and end points. Taking into account the driving angle and steering angle of the vehicle, the path is expressed using a polynomial function to satisfy the continuity condition of curvature.

Benefits of technology

It realizes that autonomous vehicles drive smoothly and smoothly along the generated driving path, improving the driving experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114670865B_ABST
    Figure CN114670865B_ABST
Patent Text Reader

Abstract

The present invention provides a method, apparatus, and computer program for generating a driving path of an autonomous vehicle. The method for generating a driving path of an autonomous vehicle according to various embodiments of the present invention is executed by a computing device, and includes: a step of acquiring information related to a starting point and an ending point; a step of setting intermediate points between the starting point and the ending point; and a step of generating a driving path connecting the starting point, the set intermediate points, and the ending point, where the generated driving path may be a set of curves connecting the starting point and the set intermediate points and curves connecting the set intermediate points and the ending point, may be expressed by a polynomial function regarding the driving angle of the autonomous vehicle, and may satisfy one or more continuity conditions regarding curvature.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various embodiments of the present invention relate to a method, an apparatus, and a computer program for generating a driving path of an autonomous vehicle. Background Art

[0002] In order to facilitate users of driving vehicles, there is a trend of installing various sensors and electronic devices (e.g., Advanced Driver Assistance System (ADAS)). In particular, an autonomous driving system technology of a vehicle is being actively developed.

[0003] Among them, an autonomous driving system refers to a vehicle that recognizes the surrounding environment and automatically travels to a designated destination according to the recognized surrounding environment without the intervention of a driver.

[0004] In an existing autonomous driving system, when an autonomous vehicle travels from a starting point to an ending point, a driving path from the starting point to the ending point is generated based on map data, and the autonomous vehicle is controlled to travel along the generated driving path.

[0005] However, the driving path generated in the existing autonomous driving system simply connects the starting point and the ending point to generate the driving path. Therefore, there are the following problems: the mechanical characteristics of the autonomous vehicle traveling along the corresponding driving path are not considered, so that the autonomous vehicle forcibly changes its direction or the driving experience during driving is not good. Summary of the Invention

[0006] The problems to be solved by the present invention relate to the following method, apparatus, and computer program for generating a driving path of an autonomous vehicle: setting one or more intermediate points between a starting point and an ending point, generating a driving path connecting the starting point, one or more intermediate points, and the ending point, and connecting the starting point, one or more intermediate points, and the ending point by considering the driving angle and the steering angle (the steering wheel angle of the vehicle) of the autonomous vehicle traveling along the driving path, so that the autonomous vehicle can travel smoothly along the driving path.

[0007] The problems to be solved by the present invention are not limited to the problems mentioned above. Those of ordinary skill in the art can clearly understand other problems not mentioned through the following description.

[0008] The driving path generation method of an autonomous vehicle according to an embodiment of the present invention for solving the problems described above is executed by a computing device and may include: a step of acquiring information related to a starting point and an ending point; a step of setting an intermediate point between the starting point and the ending point; and a step of generating a driving path connecting the starting point, the set intermediate point, and the ending point. The generated driving path may be a set of curves connecting the starting point and the set intermediate point and curves connecting the set intermediate point and the ending point, may be expressed by a polynomial function regarding the driving angle of the autonomous vehicle, and may satisfy one or more continuity conditions regarding curvature.

[0009] In various embodiments, the set intermediate point may include a first intermediate point and a second intermediate point. The step of generating the driving path may include: a step of estimating a first polynomial function corresponding to a first unit driving path connecting the starting point and the first intermediate point; a step of estimating a second polynomial function corresponding to a second unit driving path connecting the first intermediate point and the second intermediate point; a step of estimating a third polynomial function corresponding to a third unit driving path connecting the second intermediate point and the ending point; a step of determining the estimated first polynomial function, the estimated second polynomial function, and the estimated third polynomial function by using information related to the starting point, the set intermediate point, and the ending point and one or more continuity conditions regarding the curvature; and a step of generating the final driving path of the autonomous vehicle by connecting the determined first polynomial function, the determined second polynomial function, and the determined third polynomial function.

[0010] In various embodiments, the step of estimating the first polynomial function corresponding to the first unit driving path may include: a step of setting boundary conditions regarding the starting point and the ending point; and a step of estimating the first polynomial function connecting the starting point and the first intermediate point, and determining the order of the estimated first polynomial function based on the number of the set boundary conditions.

[0011] In various embodiments, the step of estimating the first polynomial function corresponding to the first unit driving path may include: a step of estimating the first polynomial function connecting the starting point and the first intermediate point; a step of determining the types and the number of boundary conditions regarding the starting point and the ending point to be set based on the order of the estimated first polynomial function; and a step of setting the boundary conditions based on the determined types and the number of the boundary conditions.

[0012] In various embodiments, the step of estimating the second polynomial function corresponding to the second unit travel path may include: receiving the smoothness of the travel path of the autonomous vehicle; setting one or more continuity conditions regarding the curvature based on the received smoothness of the travel path; and estimating the second polynomial function connecting the first intermediate point and the second intermediate point, and determining the order of the estimated second polynomial function based on the one or more continuity conditions regarding the curvature set.

[0013] In various embodiments, the step of estimating the third polynomial function corresponding to the third unit travel path may include: setting boundary conditions regarding the starting point and the ending point; and estimating the third polynomial function connecting the second intermediate point and the ending point, and determining the order of the estimated third polynomial function based on the number of the set boundary conditions.

[0014] In various embodiments, the step of estimating the third polynomial function corresponding to the third unit travel path may include: estimating the third polynomial function connecting the second intermediate point and the ending point; determining the type and number of boundary conditions regarding the starting point and the ending point to be set based on the order of the estimated third polynomial function; and setting the boundary conditions based on the determined type and number of the boundary conditions.

[0015] In various embodiments, the step of generating the travel path may include the following step, that is, when one or more continuity conditions regarding the curvature are continuous second derivatives of the curvature, determining the order of the polynomial function regarding the generated travel path as 4.

[0016] In various embodiments, the present invention may further include: when the autonomous vehicle traveling along the first travel path needs to change the travel path, resetting one or more intermediate points between the position of the autonomous vehicle when the travel path needs to be changed and the ending point; extracting data regarding the position of the autonomous vehicle when the travel path needs to be changed from the polynomial function regarding the first travel path; and generating a second travel path connecting the position of the autonomous vehicle when the travel path needs to be changed, the one or more reset intermediate points, and the ending point by using the extracted data and the position coordinates of the one or more reset intermediate points.

[0017] In various embodiments, the present invention may further include: for the above-mentioned autonomous vehicle traveling along the generated traveling path, when it is necessary to generate an avoidance path for the above-mentioned event as an event occurs on the generated traveling path, a step of resetting one or more intermediate points between the starting point of the avoidance path located on the generated traveling path and the ending point of the avoidance path; a step of extracting data related to the starting point and the ending point of the avoidance path from a polynomial function regarding the generated traveling path; and a step of generating an avoidance path connecting the starting point of the avoidance path, the reset one or more intermediate points, and the ending point of the avoidance path by using the extracted data and the position coordinates of the reset one or more intermediate points.

[0018] In various embodiments, the present invention may further include a step of providing a user interface (UI) for outputting map data related to a specified area. The step of obtaining information related to the above-mentioned starting point and ending point may include a step of receiving two-dimensional position coordinates of the above-mentioned starting point and ending point and the traveling angle of the above-mentioned autonomous vehicle at the above-mentioned starting point and ending point through the above-mentioned user interface. The step of setting the above-mentioned intermediate point may include a step of receiving two-dimensional position coordinates of one or more intermediate points located between the above-mentioned starting point and ending point through the above-mentioned user interface. The step of generating the above-mentioned traveling path may include: generating a traveling path connecting the above-mentioned starting point, the one or more intermediate points, and the ending point received through the above-mentioned user interface, and when a new intermediate point is additionally input through the above-mentioned user interface, automatically updating the generated traveling path so that the traveling path passes through the new intermediate point; and a step of displaying the generated traveling path on the map data output through the above-mentioned user interface.

[0019] In various embodiments, the present invention may further include a step of obtaining map data related to a specified area including the above-mentioned starting point and ending point. The step of setting the above-mentioned intermediate point may include: a step of analyzing the map data related to the above-mentioned specified area to identify lane lines of a road connecting the above-mentioned starting point and ending point; and a step of selecting one or more intermediate points between the above-mentioned starting point and ending point based on the identification result of the lane lines of the road.

[0020] The driving path generation device of an autonomous vehicle according to another embodiment of the present invention for solving the problems described above may include: a processor; a network interface; a memory; and a computer program, which is loaded into the above-mentioned memory and run by the above-mentioned processor. The computer program may include the following instructions: an instruction to obtain information related to a starting point and an ending point; an instruction to set an intermediate point between the above-mentioned starting point and the above-mentioned ending point; and an instruction to generate a driving path connecting the above-mentioned starting point, the set above-mentioned intermediate point, and the above-mentioned ending point. The generated above-mentioned driving path is a set of curves connecting the above-mentioned starting point and the set above-mentioned intermediate point, and curves connecting the set above-mentioned intermediate point and the above-mentioned ending point, which is expressed by a polynomial function regarding the driving angle of the autonomous vehicle and satisfies more than one continuity condition regarding curvature.

[0021] A computer program according to another embodiment of the present invention for solving the problems described above, when combined with a computing device and stored in a computer-readable storage medium, can be stored in the computer-readable storage medium to perform the following steps: a step of obtaining information related to a starting point and an ending point; a step of setting an intermediate point between the above-mentioned starting point and the above-mentioned ending point; and a step of generating a driving path connecting the above-mentioned starting point, the set above-mentioned intermediate point, and the above-mentioned ending point. The generated above-mentioned driving path is a set of curves connecting the above-mentioned starting point and the set above-mentioned intermediate point, and curves connecting the set above-mentioned intermediate point and the above-mentioned ending point, which is expressed by a polynomial function regarding the driving angle of the autonomous vehicle and satisfies more than one continuity condition regarding curvature.

[0022] Other specific matters of the present invention are included in the detailed description and the drawings.

[0023] According to various embodiments of the present invention, there are the following advantages: setting more than one intermediate point between a starting point and an ending point, generating a driving path connecting the starting point, more than one intermediate point, and the ending point, and considering the driving angle and steering angle (the steering wheel angle of the vehicle) of the autonomous vehicle traveling on the corresponding driving path to connect the starting point, more than one intermediate point, and the ending point, so that the autonomous vehicle can travel smoothly along the driving path.

[0024] The effects of the present invention are not limited to the effects mentioned above. Those of ordinary skill in the art can clearly understand other effects not mentioned through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 A diagram showing a driving path generation system of an autonomous vehicle according to an embodiment of the present invention.

[0026] Figure 2 A hardware structure diagram of a driving path generation device of an autonomous vehicle according to another embodiment of the present invention.

[0027] Figure 3 Flowchart of a method for generating a driving path of an autonomous vehicle according to another embodiment of the present invention.

[0028] Figure 4 Flowchart of a method for generating a final driving path by connecting multiple unit driving paths in various embodiments.

[0029] Figure 5 Table showing the number and types of boundary conditions according to the types of start and end points applicable to various embodiments and the order of the polynomial function based on the same.

[0030] Figure 6 List of conditions that a polynomial function in various embodiments needs to satisfy in order to calculate parameters.

[0031] Figure 7 Diagram showing the process of changing the driving path of an autonomous vehicle in various embodiments.

[0032] Figure 8 Diagram showing the process of an autonomous vehicle avoiding an event occurring on the driving path in various embodiments.

[0033] Figures 9 to 11 Diagram showing the form of a driving path connecting a start point, one or more intermediate points, and an end point displayed on map data in various embodiments.

[0034] Figures 12 to 16 Graph comparing a driving path generated by an existing driving path generation method with a driving path generated by a driving path generation method of an autonomous vehicle according to various embodiments of the present invention. Detailed Description of the Invention

[0035] Referring to the embodiments and drawings described in detail below, the advantages, features, and methods for realizing these advantages and features of the present invention can be clarified. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different ways. These embodiments are only used to make the disclosure of the present invention more complete and to fully inform those of ordinary skill in the technical field to which the present invention pertains of the scope of the present invention. The present invention is only defined by the scope of the claims.

[0036] The terms used in this specification are only for explaining the embodiments and do not limit the present invention. In this specification, unless specifically mentioned in a statement, the singular form includes the plural form. The "comprises" and / or "comprising" used in the specification do not exclude the existence or addition of one or more other components other than the components mentioned. Throughout the specification, the same reference numerals represent the same components, and "and / or" includes each and all combinations of the components mentioned. Even when using "first", "second", etc. to describe multiple components, these components are not limited to these terms. These terms are only used to distinguish one component from another. Therefore, the first component mentioned below may also become the second component within the technical idea of the present invention.

[0037] Unless otherwise defined, all terms (including technical terms and scientific terms) used in this specification can be used with the meanings commonly understood by those of ordinary skill in the technical field to which the present invention pertains. Also, unless clearly defined, terms defined in commonly used dictionaries should not be interpreted ideally or overly.

[0038] The term "unit" or "module" used in the specification refers to a software or a hardware component such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and the "unit" or "module" performs some functions. However, the meaning of the "unit" or "module" is not limited to software or hardware. The "unit" or "module" can be configured in the form of being located in an addressable storage medium and can also be configured in the form of operating one or more processors. Therefore, as an example, the "unit" or "module" includes components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the scope of the components and the "unit" or "module" can be combined into a smaller number of components and "unit" or "module", or can also be separated into additional components and "unit" or "module".

[0039] Spatial relative terms such as "below", "beneath", "lower", "above", "upper", etc. are used to easily describe the relative relationship between one component and another as shown in the figures. It should be understood that, in addition to the directions shown in the drawings, spatial relative terms include the mutually different directions of components during use or operation. For example, when flipping the component shown in the drawing, a component described as being "below" or "beneath" another component may also be "above" another component. Therefore, the exemplary term "below" includes both the below and above directions. The component can also be oriented in other directions, and thus, the spatial relative terms can be interpreted according to the orientation.

[0040] In this specification, a computer refers to all types of hardware devices including at least one processor, and according to an embodiment, it can be interpreted as also including the meaning of software components operating in the corresponding hardware device. For example, a computer can be interpreted as including the meaning of a smartphone, a tablet computer, a desktop computer, a laptop computer, and user clients and application programs driven in each device, and is not limited thereto.

[0041] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[0042] Taking the case where each step described in this specification is executed by a computer as an example for illustration, but the subject of each step is not limited thereto, and at least a part of each step can also be executed in mutually different devices according to an embodiment.

[0043] Figure 1 A diagram showing a driving path generation system for an autonomous driving vehicle according to an embodiment of the present invention.

[0044] Refer to Figure 1 , the driving path generation system for an autonomous driving vehicle according to an embodiment of the present invention may include a driving path generation device 100, a user terminal 200, and an external server 300.

[0045] Among them, Figure 1 The shown driving path generation system for an autonomous driving vehicle is according to an embodiment, and its components are not limited to Figure 1 the shown embodiment, and can be added, changed, or deleted according to requirements.

[0046] In one embodiment, the driving path generation device 100 may generate a driving path for controlling the driving of the autonomous driving vehicle 10. For example, the driving path generation device 100 may be connected to the user terminal 200 through the network 400, generate a driving path connecting the starting point and the ending point input from the user terminal 200, and may provide the generated driving path.

[0047] In various embodiments, the driving path generation device 100 may provide an application for generating and providing a driving path of the autonomous vehicle 10, may provide a user interface for generating a driving path by running the provided application, may generate a driving path through the user interface, or may provide map data (e.g., Figures 9 to 11 ) showing the generated driving path.

[0048] In various embodiments, the driving path generation device 100 may be connected to a control module (not shown) or a control system for controlling the operation of the autonomous vehicle 10. When the control module or the control system controls the autonomous vehicle 10 to travel along a preset driving path, it may generate a driving path connecting a starting point and an ending point and provide it to the control module or the control system.

[0049] Here, taking the case where the control module (not shown) or the control system for controlling the operation of the autonomous vehicle 10 is separately provided outside the driving path generation device 100 as an example for explanation, but this is only an illustration and is not limited thereto. The driving path generation device 100 may be a control system for controlling the operation of the autonomous vehicle 10, and the operation of generating a driving path may be a part of the function of controlling the autonomous vehicle to travel along a preset driving path.

[0050] In one embodiment, the user terminal 200 may be connected to the driving path generation device 100 through the network 400, may provide information related to a starting point, information related to an ending point, and information related to an intermediate point between the starting point and the ending point for generating a driving path to the driving path generation device 100, and as a response thereto, may receive a driving path connecting the starting point, the intermediate point, and the ending point.

[0051] In various embodiments, the user terminal 200 may input the smoothness of its preferred driving path, that is, the softness level (slowness) of the driving path, and thereby may receive a driving path reflecting the softness level.

[0052] In various embodiments, the user terminal 200 includes an operating system capable of driving an application, may be included in at least a part of a smartphone including a display and an in-vehicle infotainment system of a vehicle, and may output a user interface for generating and receiving a driving path as the application provided by the driving path generation device 100 is downloaded, installed, and run.

[0053] In one embodiment, the external server 300 may be connected to the driving path generation device 100 through the network 400, and may store and manage various data, information, and software (e.g., map data, driving path generation algorithms, etc.) required for the driving path generation device 100 to provide a driving path generation method for the autonomous vehicle.

[0054] In addition, the external server 300 can receive and store various data and information (e.g., driving path data, image analysis result data, etc.) generated as the driving path generation device 100 provides a method for generating a driving path of an autonomous vehicle. For example, the external server 300 can be a storage server separately provided outside the driving path generation device 100, but is not limited thereto. Hereinafter, referring to Figure 2 the hardware structure of the driving path generation device 100 will be described.

[0055] Figure 2 FIG. is a hardware structure diagram of a driving path generation device of an autonomous vehicle according to another embodiment of the present invention.

[0056] Referring to Figure 2 , the driving path generation device 100 (hereinafter referred to as the "computing device 100") according to another embodiment of the present invention may include: one or more processors 110; a memory 120 for loading a computer program 151 run by the processor 110; a bus 130; a communication interface 140; and a memory 150 for storing the computer program 151. Among them, only the components related to the embodiments of the present invention are illustrated in Figure 2 . Therefore, as long as it is known to those of ordinary skill in the technical field to which the present invention pertains, other general components may be included in addition to the components shown in Figure 2 .

[0057] The processor 110 controls the overall operation of each structure of the computing device 100. The processor 110 may include a central processing unit (CPU), a microprocessor (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), or any form of processor well-known in the technical field of the present invention.

[0058] In addition, the processor 110 can execute operations on at least one application program or program for executing the method of the embodiments of the present invention, and the computing device 100 can be provided with one or more processors.

[0059] In various embodiments, the processor 110 may also include a random access memory (RAM, not shown) and a read-only memory (ROM, not shown) that temporarily and / or permanently store signals (or data) processed inside the processor 110. Further, the processor 110 can be implemented in the form of a system-on-chip (SoC) including at least one of a graphics processing unit, a random access memory, and a read-only memory.

[0060] The memory 120 stores various data, instructions, and / or information. To execute the methods / operations of various embodiments of the present invention, the memory 120 may load the computer program 151 from the memory 150. When the computer program 151 is loaded into the memory 120, the processor 110 executes one or more instructions constituting the computer program 151, thereby enabling the execution of the above-described methods / operations. The memory 120 may be implemented by a volatile memory such as a random access memory, but the technical scope of the present disclosure is not limited thereto.

[0061] The bus 130 provides a communication function between the components of the computing device 100. The bus 130 may be implemented by various forms of buses such as an address bus, a data bus, and a control bus.

[0062] The communication interface 140 may support wired / wireless Internet communication of the computing device 100. Further, the communication interface 140 may also support various communication methods other than Internet communication. To this end, the communication interface 140 may include a communication module well-known in the technical field of the present invention. In some embodiments, the communication interface 140 may be omitted.

[0063] The memory 150 may non-temporarily store the computer program 151. When executing a process of generating a driving path of an autonomous vehicle through the computing device 100, the memory 150 may store various information required to provide the process of generating a driving path of the autonomous vehicle.

[0064] The memory 150 may include a non-volatile memory such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a hard disk, a removable disk, or any form of computer-readable storage medium well-known in the technical field to which the present invention pertains.

[0065] When loading the computer program 151 into the memory 120, it may include more than one instruction for causing the processor 110 to execute the methods / operations of various embodiments of the present invention. That is, the processor 110 may execute the above methods / operations of various embodiments of the present invention by executing the above more than one instruction.

[0066] In one embodiment, the computer program 151 may include more than one instruction for executing a method for generating a driving path of an autonomous vehicle. The method for generating a driving path of the autonomous vehicle includes: a step of obtaining information related to a starting point and an ending point; a step of setting intermediate points between the starting point and the ending point; and a step of generating a driving path connecting the starting point, the set intermediate points, and the ending point.

[0067] The steps of the methods or algorithms described in connection with the embodiments of the present invention may be directly implemented by hardware, may also be implemented by software modules running on the hardware, or may be implemented by a combination thereof. The software modules may be included in a random access memory, a read only memory, an erasable programmable read only memory, an electrically erasable programmable read only memory, a flash memory, a hard disk, a removable disk, a CD-ROM, or any form of computer-readable storage medium well-known in the technical field to which the present invention pertains.

[0068] In order to be executed in combination with a computer as hardware, the components of the present invention may be implemented by a program (or application program) and stored in a medium. The components of the present invention may be programmed by software or executed by software components. Similarly, the embodiments may be implemented by various algorithms including combinations of data structures, processes, routines, or other programming components, and may be implemented by programming or scripting languages such as C, C++, Java, assembler, etc. The functional aspects may be implemented by algorithms running on more than one processor. Hereinafter, with reference to Figures 3 to 11 A method for generating a driving path of an autonomous vehicle executed by the computing device 100 is described.

[0069] Figure 3 It is a flowchart of a method for generating a driving path of an autonomous vehicle according to another embodiment of the present invention.

[0070] Among them, taking the case where the method for generating a driving path of the autonomous vehicle shown in Figure 3 is executed by the computing device 100 as an example for description, but it is not limited thereto. It may be executed in the computing device 100, or the user terminal 200 or the control system of the autonomous vehicle 10 may receive software for executing the method for generating a driving path of the autonomous vehicle from the computing device 100 to cause the user terminal 200 or the control system of the autonomous vehicle 10 to autonomously execute the method for generating a driving path of the autonomous vehicle.

[0071] With reference to Figure 3, in step S110, the computing device 100 may obtain information related to the starting point and the ending point for generating a driving path.

[0072] Among them, the driving path of the autonomous vehicle 10 can be expressed by a polynomial function based on the driving distance of the autonomous vehicle 10.

[0073] Among them, the polynomial function expressed by the driving path of the autonomous vehicle 10 can be a function of the driving angle (θ, Theta) of the autonomous vehicle 10, that is, a function representing the driving angle at this position according to the position of the autonomous vehicle 10 (for example, the forward (heading) direction of the autonomous vehicle 10 such as east, west, south, and north). For example, the function of the driving angle can be expressed by a polynomial with the driving distance of the vehicle as a variable, but it is not limited to this.

[0074] In various embodiments, the polynomial function (driving path) generated by the computing device 100 can satisfy the continuity condition regarding curvature. As described above, the driving path generated by the computing device 100 refers to the driving angle of the autonomous vehicle 10, and the curvature (κ, Kappa) obtained by taking the first derivative of the driving path refers to the movement of the steering wheel of the autonomous vehicle 10, that is, the steering angle. Therefore, the first derivative of the polynomial function representing the driving path is not continuous, that is, the curvature is not continuous (not differentiable), which means that the angle of the steering wheel of the autonomous vehicle 10 changes greatly in an impossible degree or without intermediate changes in a short time.

[0075] Thus, a polynomial function that displays the driving path by reflecting such matters is generated from the driving path generated by the computing device 100, and a continuous (differentiable) polynomial function is generated in all intervals, so that a driving path that does not cause a sudden change in the movement of the steering wheel of the autonomous vehicle 10 can be generated.

[0076] Among them, the information related to the starting point may include the position coordinates of the starting point (for example, two-dimensional coordinate values in the form of (X, Y)) and the driving angle of the autonomous vehicle 10 at the starting point. However, it is not limited to this, and the information related to the starting point may also include one or more continuity conditions regarding the curvature of the polynomial function of the driving path, and the above driving path includes the starting point.

[0077] And, among them, the information related to the ending point may include the position coordinates of the ending point (for example, two-dimensional coordinate values in the form of (X, Y)) and the driving angle of the autonomous vehicle 10 at the ending point. However, it is not limited to this, and similar to the starting point, the information related to the ending point may also include one or more continuity conditions regarding the curvature of the polynomial function of the driving path, and the above driving path includes the ending point.

[0078] In various embodiments, the computing device 100 may set one or more continuity conditions regarding curvature, including information related to a starting point and information related to an ending point, and continuity conditions regarding curvature that a polynomial function representing a driving path needs to satisfy, to be different from each other.

[0079] As described above, in a polynomial function of a driving path, the curvature (first derivative) represents the direction or angle of the steering wheel of the autonomous vehicle 10. Therefore, in order to prevent the angle of the steering wheel from changing greatly to an unrealistic extent, a specified continuity condition of the curvature needs to be satisfied in the polynomial function of the driving path. In the disclosed embodiments, a method of generating a driving path that satisfies such a continuity condition is disclosed.

[0080] In addition, in a polynomial function representing a driving path, whenever the order of consecutive (differentiable) derivatives increases, the polynomial function representing the driving path has a smoother curve, that is, a curve with high smoothness. Therefore, in order to obtain a driving path in a smooth curve form, it is necessary to increase the differentiable degree of the polynomial function. For example, when turning the steering wheel, it can be turned at a constant speed from start to finish. However, more realistically, it is natural for the rotation speed to gradually increase from 0, and then, when stopping turning, it is also natural for the rotation speed to gradually decrease to 0. As described above, when the driving angle of the vehicle and the curvature obtained by differentiating the driving angle are expressed as a high-order function, it can be regarded as having a smoother and more natural movement.

[0081] Therefore, one or more continuity conditions regarding curvature at the starting point and the ending point are not only conditions for simply preventing sudden changes in the angle of the steering wheel, but also conditions for setting the degree of smoothness of the curve of the driving path in the section including the starting point and the ending point. That is, independent of the continuity conditions for the entire driving path, the computing device 100 may receive continuity conditions regarding the smoothness of the driving path near the starting point of the driving path from the user. However, it is not limited thereto.

[0082] In various embodiments, the computing device 100 may receive boundary conditions (e.g., 5) regarding the starting point and the ending point as information related to the starting point and the ending point. In this case, the order of the polynomial function including the starting point and the ending point may be determined according to the type and number of boundary conditions. However, it is not limited thereto. On the contrary, the order of the polynomial including the starting point and the ending point may be determined first, and thus the type and number of boundary conditions may be determined.

[0083] In various embodiments, the computing device 100 may collect map data related to a specified area and may provide a user interface for outputting the collected map data to the user terminal 200, and obtain one or more user inputs indicating a starting point and an ending point through the user interface output on the display of the user terminal 200 (for example, a user input for selecting a starting point and an ending point on the map data or an input of a search term related to the starting point and the ending point through a search bar, etc.). Thus, the starting point and the ending point may be selected, and information related to the starting point and the ending point selected from the map data may be collected. However, it is not limited thereto.

[0084] In step S120, the computing device 100 may set one or more intermediate points between the starting point and the ending point.

[0085] In various embodiments, the computing device 100 collects map data related to a specified area including a starting point and an ending point, may provide a user interface for outputting the collected map data to the user terminal 200, and obtain one or more user inputs indicating an intermediate point from the map data output on the display of the user terminal 200. Thus, one or more intermediate points may be selected, and information related to the one or more intermediate points selected from the map data may be collected.

[0086] Among them, the information related to the one or more intermediate points may include the position coordinates of each of the one or more intermediate points (for example, two-dimensional coordinate values in the form of (X, Y)), but it is not limited thereto and may include other general information.

[0087] In various embodiments, the computing device 100 performs image analysis on the map data regarding a specified area including a starting point and an ending point, and thus may set one or more intermediate points between the starting point and the ending point. For example, the computing device 100 performs image analysis on the map data regarding the specified area using an image analysis model (for example, a convolutional neural network (CNN) model, a recurrent neural network (RNN) model, or a model combining a convolutional neural network and a recurrent neural network), identifies the lane lines of the road connecting the starting point and the ending point, and may select one or more intermediate points between the starting point and the ending point based on the result of identifying the lane lines of the road.

[0088] For example, the computing device 100 may obtain attribute information related to the road such as the number of lanes, the width of the lanes, and the shape of the road through the result of identifying the lane lines of the road. Thus, one or more intermediate points (for example, a curved section, etc.) between the starting point and the ending point may be set. However, it is not limited thereto.

[0089] In various embodiments, the computing device 100 may receive from the user for whom a driving path is to be generated information regarding the smoothness of the driving path, and may select one or more intermediate points based on the received smoothness of the driving path.

[0090] Among them, the smoothness of the driving path is a standard indicating the degree of smooth and gentle form of the curve of the polynomial function representing the driving path. As described above, the curve of the polynomial function has a slower and smoother curve as the differentiable degree of the polynomial function increases. Therefore, the computing device 100 can consider this and receive the smoothness of the driving path in the form of the differentiable degree of the polynomial function to be generated (e.g., the continuity condition regarding curvature).

[0091] In various embodiments, the computing device 100 receives the smoothness of the driving path from the user who wants to generate the driving path. When the polynomial function of the driving path connecting one or more intermediate points set by the user cannot satisfy the smoothness of the driving path input by the user, the computing device 100 can adjust the positions of one or more intermediate points set by the user so that the polynomial function of the driving path connecting one or more intermediate points set by the user satisfies the smoothness of the driving path input by the user.

[0092] In various embodiments, the computing device 100 receives the smoothness of the driving path from the user who wants to generate the driving path. When the polynomial function of the driving path connecting one or more intermediate points set by the user cannot satisfy the smoothness of the driving path input by the user, the computing device 100 can additionally select one or more intermediate points that satisfy the smoothness of the driving path input by the user. For example, in the computing device 100, the user selects a first intermediate point and a second intermediate point between the starting point and the ending point. However, when the polynomial function connecting the first intermediate point and the second intermediate point cannot satisfy the smoothness input by the user (e.g., the third derivative is continuous), the computing device 100 can select a third intermediate point as a new intermediate point between the first intermediate point and the second intermediate point to satisfy the continuity of the third derivative. However, it is not limited thereto.

[0093] In this case, in the computing device 100, when additional intermediate points are set to satisfy the smoothness of the driving path, initially only one intermediate point is added to determine whether a driving path that satisfies the smoothness of the driving path can be calculated. When adding one intermediate point cannot satisfy the smoothness of the driving path, the number can be increased by one each time. Thereby, it is possible to prevent the data processing amount from increasing due to adding multiple intermediate points at once, resulting in a long time consumed in generating the driving path.

[0094] In step S130, the computing device 100 can generate a driving path connecting the starting point, one or more intermediate points, and the ending point.

[0095] In various embodiments, the computing device 100 generates curves connecting the starting point to one or more intermediate points, curves connecting one or more intermediate points (e.g., when there are two or more intermediate points, the curve connecting two intermediate points), and curves connecting one or more intermediate points to the end point, respectively. A driving path in the form of a set of curves can be generated by connecting the generated multiple curves.

[0096] In this case, the computing device 100 can determine the number of multiple curves to be included in the driving path according to the number of intermediate points set through step S120. For example, when the number of set intermediate points is two, the computing device 100 can generate a first curve connecting the starting point and the first intermediate point, a second curve connecting the first intermediate point and the second intermediate point, and a third curve connecting the second intermediate point and the end point, that is, three curves (N + 1, where N is the number of intermediate points). Hereinafter, reference will be made to Figure 4 for description.

[0097] Figure 4 It is a flowchart of a method for generating a final driving path by connecting multiple unit driving paths in various embodiments.

[0098] First, before executing the Figure 4 method of connecting multiple unit driving paths to generate a final driving path shown, the computing device 100 can set the number of unit driving paths to be generated according to the number of intermediate points set between the starting point and the end point.

[0099] Among them, the method of connecting multiple unit driving paths to generate a final driving path described through Figure 4 is based on the case where there are two (e.g., the first intermediate point and the second intermediate point) of one or more intermediate points, but this is only an example for more easily explaining the technical features of the present invention and is not limited thereto.

[0100] And, among them, Figure 4 the method of connecting multiple unit driving paths to generate a final driving path shown is described by taking the case of being executed by the computing device 100 as an example, but it is not limited thereto. It can be executed in the computing device 100, or the control system of the user terminal 200 or the autonomous driving vehicle 10 receives software for executing the method of connecting multiple unit driving paths to generate a final driving path from the computing device 100. Thus, the control system of the user terminal 200 or the autonomous driving vehicle 10 can execute the method of connecting multiple unit driving paths to generate a final driving path by itself.

[0101] And, among them, Figure 4 the method of connecting multiple unit driving paths to generate a final driving path shown is illustrated by taking the case of sequentially executing a series of operations as an example, but it is not limited thereto, and the execution can be changed.Figure 4 the order of the respective operations shown in, or, the respective operations shown in may be executed simultaneously Figure 4 the respective operations shown in

[0102] Referring to Figure 4 in step S210, the computing device 100 may estimate a first polynomial function of a first unit travel path connecting a starting point and a first intermediate point.

[0103] First, the computing device 100 may set boundary conditions regarding the starting point and the ending point. For example, the computing device 100 may receive data related to the starting point and the ending point (e.g., the positions of the starting point and the ending point, the traveling angle of the autonomous vehicle 10, the n-th order differential value of the polynomial function, etc.) from the user through the user interface, and may set the received data as boundary conditions regarding the starting point and the ending point.

[0104] After that, the computing device 100 may estimate a first polynomial function connecting the starting point and the first intermediate point. In this case, the order of the estimated first polynomial function may be determined according to the number of boundary conditions input and set by the user. For example, referring to Figure 5 the table shown, when the computing device 100 receives from the user the X coordinate (x i ) and Y coordinate (y i ) of the starting point, the traveling angle (θ i ) and the third-order differential value (κ i ″) (κ i ″ = 0) and the X coordinate (x f ) and Y coordinate (y f ) of the ending point, the traveling angle (θ f ) and the third-order differential value (κ f ″) (κ f ″ = 0) data and sets a total of six boundary conditions, the order of the first polynomial function may be determined as a fourth-order polynomial function.

[0105] Referring to Figure 5 shows the concepts of a free end and a fixed end. In one embodiment, a free end refers to a case where a travel path is generated only through information related to the position and direction of the vehicle without special prior information. The position, direction, and second-order differential value of the curvature of the vehicle at the starting point and the ending point may be set to 0, and thus a path may be generated through four boundary conditions.

[0106] In one embodiment, when there is a generated path, when changing the path during the process of traveling in the corresponding path or joining a preset another path after traveling in a specific path, or when setting the position of changing the path and the position of joining the path as the starting point or the ending point, a fixed end can be set. When the starting point or the ending point is located on a preset path, if the corresponding path is a path continuous up to the second derivative of the curvature, the position, angle, curvature, first derivative of the curvature, and second derivative of the curvature of the vehicle can be obtained from the function of the corresponding path. Thus, six boundary conditions can be obtained, and in this case, the corresponding position becomes a fixed end. For the embodiments using the fixed end, refer to Figure 7 and Figure 8 which will be described later.

[0107] And, when the computing device 100 receives from the user the X coordinate (x i ) and Y coordinate (y i ) of the starting point, the traveling angle (θ i ), the first derivative value (κ i ), the second derivative value (κ i '), and the third derivative value (κ i ″) of the starting point, and the X coordinate (x f ) and Y coordinate (y f ) of the ending point, the traveling angle (θ f ), the first derivative value (κ f ), the second derivative value (κ f '), and the third derivative value (κ f ″) of the ending point to set a total of 12 boundary conditions, the order of the first polynomial function can be determined as an eighth-order polynomial function. However, it is not limited thereto.

[0108] For example, assume that the above-mentioned total of 12 boundary conditions are preset and a curve of the traveling path without intermediate points between the starting point and the ending point is generated. In this case, the traveling path can be expressed by the traveling angle θ of the vehicle according to the traveling distance s. That is, the following mathematical formula can be generated.

[0109] θ(s) = As 8 + Bs 7 + Cs 6 + Ds 5 + Es 4 + Fs 3 + Gs 2 + Hs + I

[0110] wherein, the above-mentioned 12 boundary conditions (x i , y i , θ i , κ i , κ i ', κ i ″, xf , y f , θ f , κ f , κ f ', κ f ) to obtain a simultaneous equation that can specify the above nine variables and s f . That is, θ i , κ i , κ i ', κ i ″ respectively correspond to θ(s i ), θ'(s i ), θ″(s i ), θ″′(s i ), and θ f , κ f , κ f ', κ f ″ respectively correspond to θ(s f ), θ'(s f ), θ″(s f ), θ″′(s f ). Among them, s i is the driving distance value at the starting point of the driving path, and according to the embodiment, it can be 0. And, among them, s f is the driving distance value at the end point of the driving path.

[0111] As described above, the computing device 100 can determine the order of the polynomial that can be specified according to the number of preset boundary conditions, and can determine the required order of the polynomial according to the situation, and can automatically set or request the user to input the boundary conditions required for specifying it. For example, in the computing device 100, when four boundary conditions are required, the second derivative value of the curvature can be set to 0, when five boundary conditions are required, the first derivative value of the curvature can be additionally set to 0, and when six boundary conditions are required, the curvature value can be additionally set to 0, but it is not limited thereto.

[0112] In one embodiment, a path can be generated with four boundary conditions set at the starting point and the end point and having two intermediate points. In this case, when it is assumed that the selected smoothness level is C 4 , the curve connecting the starting point and the first intermediate point, the curve connecting the first intermediate point and the second intermediate point, and the curve connecting the second intermediate point and the end point can all be set by a fourth-order polynomial function.

[0113] That is, the three curves can be set by the following polynomial function.

[0114] θ1(s) = As 4 + Bs 3 + Cs 2 + Ds + E

[0115] θ2(s) = Fs 4 + Gs 3 + Hs 2 + Is + J

[0116] θ3(s) = Ks 4 + Ls 3 + Ms 2 + Ns + O

[0117] In the above polynomials, s refers to the driving path. In each curve (i.e., polynomial), the length of the driving path can start from 0 respectively, and the starting point of the entire driving path can be set as s i , the end point is set as s f , the first intermediate point is set as s1, and the second intermediate point is set as s2.

[0118] In this case, the expressions of the polynomials as described above are as follows.

[0119] θ1(s) = A(s - s i ) 4 + B(s - s i ) 3 + C(s - s i ) 2 + D(s - s i ) + E

[0120] θ2(s) = F(s - s1) 4 + G(s - s1) 3 + H(s - s1) 2 + I(s - s1) + J

[0121] θ3(s) = K(s - s2) 4 + L(s - s2) 3 + M(s - s2) 2 + N(s - s2) + O

[0122] For the above three curves, when using the starting point, end point values of the three curves and the continuity conditions regarding curvature (e.g., the third - order derivatives of the three polynomials at the continuous points (e.g., the first intermediate point and the second intermediate point) where the curves intersect (θ1″′(s1) = θ2″′(s1), θ2″′(s2) = θ3″′(s2))) in a way that satisfies Figure 6 the boundary conditions shown in, 12 variables and simultaneous equations that can specify s1, s2, and s can be obtained. f

[0123] Among them, the x - coordinate and y - coordinate values can be obtained separately in the following way: Add the reference offset (e.g., the x and y coordinate values at the starting point of each curve) to the integrated values of cosθ(s) and sinθ(s) according to the driving distance.

[0124] Thus, the computing device 100 can generate a driving path that maintains the smoothness of each curve on the driving path and satisfies the curvature continuity condition between multiple adjacent curves.

[0125] In step S220, the computing device 100 can estimate a second polynomial function corresponding to the second unit driving path connecting the first intermediate point and the second intermediate point.

[0126] First, the computing device 100 can receive the smoothness of the driving path of the autonomous vehicle, and can set one or more continuity conditions for the curvature of the polynomial function connecting the first intermediate point and the second intermediate point based on the received smoothness of the driving path.

[0127] For example, in the computing device 100, the user can select a smoothness level (e.g., C 0 、C 1 、C 2 、C 3 and C 4 ) of the preset driving path, and can set one or more continuity conditions for the curvature corresponding to the selected smoothness level. When the smoothness level selected by the user is C 0 , the computing device 100 can set the continuity condition that the second polynomial function is continuous without interruption. When the smoothness level selected by the user is C 1 , the computing device 100 can set the second polynomial function to be continuous. And when the smoothness level selected by the user is C 2 , the computing device 100 can set the first - order derivative (curvature function) of the second polynomial function to be continuous. When the smoothness level selected by the user is C 3 , the computing device 100 can set the second - order derivative (first - order derivative of curvature) of the second polynomial function to be continuous. When the smoothness level selected by the user is C 4 , the computing device 100 can set the third - order derivative (second - order derivative of curvature) of the second polynomial function to be continuous. However, this is only an example and is not limited thereto.

[0128] In various embodiments, when more than 3 intermediate points are set to generate two or more curves between the multiple intermediate points (e.g., when generating a curve connecting a first intermediate point and a second intermediate point and a curve connecting the second intermediate point and a third intermediate point by setting a first intermediate point, a second intermediate point, and a third intermediate point), the computing device 100 can separately set the smoothness for each curve. Thus, it is set in such a way that the smoothness of the curves between the multiple intermediate points is different from each other.

[0129] After that, the computing device 100 can estimate a second polynomial function connecting the first intermediate point and the second intermediate point. In this case, the order of the estimated second polynomial function can be determined based on one or more continuity conditions regarding the set curvature. For example, when the continuity condition regarding the curvature is set to be continuous for the third derivative (the second derivative of the curvature) of the second polynomial function because the smoothness level selected by the user is C 4 and the continuity condition regarding the curvature is set to be continuous for the third derivative (the second derivative of the curvature) of the second polynomial function, the order of the estimated second polynomial function can be determined as a fourth-order polynomial function. However, it is not limited thereto. When the smoothness of the driving path cannot be received separately from the user, the order of the second polynomial function can be set to be the same as the order of the first polynomial function generated in step S210, or the order of the second polynomial function can be set to a preset order (e.g., fourth order).

[0130] In step S230, the computing device 100 can estimate a third polynomial function corresponding to a third unit driving path connecting the second intermediate point and the end point.

[0131] First, the computing device 100 can estimate a third polynomial function connecting the second intermediate point and the end point. In this case, the order of the estimated polynomial function can be determined based on the number of boundary conditions set in step S210. Among them, the method of determining the order of the third polynomial function based on the number of boundary conditions can be implemented in the same implementation manner as the method of determining the order of the first polynomial function performed in step S210.

[0132] That is, in step S210, the order of the first polynomial connecting the starting point and the first intermediate point is determined based on the number of boundary conditions. The computing device 100 does not separately perform the operation of determining the order of the third polynomial function connecting the second intermediate point and the end point, and can determine the order of the third polynomial function in the same way as the order of the first polynomial function determined in step S210.

[0133] Further, in the process of generating the third polynomial function, the computing device 100 may estimate a third polynomial function of a preset order in the same manner as the method for generating the first polynomial function, may determine the type and quantity of data to be received as boundary conditions according to the order of the estimated third polynomial function, and may receive data from the user according to the determined type and quantity. However, it is not limited thereto.

[0134] In step S240, the computing device 100 may determine the first polynomial function estimated in step S210, the second polynomial function estimated in step S220, and the third polynomial function estimated in step S230.

[0135] For example, the computing device 100 may use the position coordinates of the start point and the end point, the driving angles of the autonomous vehicle 10 at the start point and the end point, the set boundary conditions, the position coordinates of the first intermediate point, the continuity conditions at the connection point (the first intermediate point) of the first polynomial function and the second polynomial function, and the continuity conditions at the connection point (the second intermediate point) of the second polynomial function and the third polynomial function to calculate the parameters of the estimated first polynomial function, second polynomial function, and third polynomial function, and may determine the estimated first polynomial function, second polynomial function, and third polynomial function using the calculated parameters.

[0136] In step S250, the computing device 100 may generate the final driving path of the autonomous vehicle 10 by connecting the first polynomial function corresponding to the first unit driving path, the second polynomial function corresponding to the second unit driving path, and the third polynomial function corresponding to the third unit driving path. In this case, the final driving path can connect the first polynomial function, the second polynomial function, and the third polynomial function in such a way that one or more continuity conditions regarding curvature are satisfied at the first intermediate point and the second intermediate point.

[0137] That is, when connecting the three polynomial functions, when the first intermediate point and the second intermediate point, which are the connection points for connecting the polynomial functions respectively, cannot satisfy the continuity conditions regarding curvature, the steering wheel of the autonomous vehicle 10 at the first intermediate point and the second intermediate point may mutate. Therefore, connecting in such a way that the continuity conditions regarding curvature can be satisfied at the first intermediate point and the second intermediate point can prevent the above problems.

[0138] In various embodiments, when generating the final driving path of the autonomous vehicle 10 through the above final driving path generation operation (steps S210 to S240), the computing device 100 may display the final driving path through a user interface (the user interface output from the user terminal 200).

[0139] The above-described method for generating a driving path of an autonomous vehicle is illustrated with reference to the flowchart shown in the figures. For simplicity of explanation, the method for generating the driving path of the autonomous vehicle is illustrated by a series of boxes. The present invention is not limited to the order of the above boxes, and some boxes can be executed in an order different from the order illustrated and described in this specification or simultaneously. Also, it can be executed in a state where new boxes not described in this specification and the drawings are added or a part of the boxes are deleted or changed. Hereinafter, with reference to Figures 7 to 8 a method for an autonomous vehicle 10 traveling on a driving path generated by the above-described method to change the driving path will be described.

[0140] Figure 7 FIG. illustrates the process of changing the driving path of an autonomous vehicle for various embodiments.

[0141] With reference to Figure 7 , when the autonomous vehicle 10 traveling on the first driving path generated by the above-described method (step S110 to step S130 or step S210 to step S240) needs to change the driving path, the computing device 100 may reset one or more intermediate points 31, 32, 33 between the position 21 of the autonomous vehicle when the driving path needs to be changed and the end point.

[0142] For example, when the driving path needs to be changed due to traffic congestion or an event (e.g., accident, construction, obstacle, etc.) occurring on the first driving path or when the destination (end point) is changed, the computing device 100 may reset one or more intermediate points 31, 32, 33 between the position 21 of the autonomous vehicle when the driving path needs to be changed and the end point. Here, the end point refers to the end point preset when an event occurs and a request to change the driving path is made, and refers to the changed destination when a request to change the driving path is made due to a change in the destination. For example, both the start point and the end point of the changed path may be located on the previous path, or the start point or the end point may not be located on the previous path. For example, when deviating from the previous path, if the destination is different, the end point is not located on the previous path, and when deviating from the previous path, if the end point to return to the previous path is not preset, a path may first be generated based on the end point not located on the previous path, and then, when the end point to return to the previous path is determined, a driving path having a start point not located on the previous path and an end point existing on the previous path may also be generated. Thus, a path with both the start point and the end point being fixed ends or a path with only one of the start point and the end point being a fixed end can be generated. In Figure 5 an example of a method for setting the order of a plurality of curves on the driving path according to whether the start point and the end point are free ends or fixed ends is shown.

[0143] In this case, when it is necessary to change the driving route due to traffic congestion or an event on the driving route (e.g., accident, construction, obstacle, etc.), the computing device 100 can reset one or more intermediate points 31, 32, 33 that can avoid traffic congestion or an event occurring on the driving route. Among them, during the process of generating the driving route, one or more intermediate points 31, 32, 33 can select intermediate points that can avoid the event based on the smoothness of the driving route input by the user. However, when it is impossible to select intermediate points that satisfy both the smoothness of the driving route input by the user and the avoidance of the event, it is preferable to consider avoiding the event when selecting the intermediate points.

[0144] After that, the computing device 100 can extract data related to the position 21 of the autonomous vehicle when the driving route is requested to be changed from the polynomial function of the first driving route.

[0145] The position 21 of the autonomous vehicle when the driving route is requested to be changed is a position on the previously generated first driving route. Therefore, if the position 21 of the autonomous vehicle when the driving route is requested to be changed is input into the polynomial function corresponding to the previously generated first driving route, even if information related to the corresponding position is not directly received from the user, it is easy to obtain data related to the position 21 of the autonomous vehicle when the driving route is requested to be changed (i.e., a driving route deviating from the previously generated first driving route) (e.g., position coordinates, driving angle, continuity information about curvature, etc.).

[0146] This technical feature can also be applied in the case where a new intermediate point is added when the driving route connecting the starting point, intermediate point, and end point cannot meet specific conditions. For example, when the driving route connecting the starting point, one intermediate point, and the end point cannot meet the smoothness of the driving route set by the user or cannot meet specific conditions according to the road form or the position of the obstacle, etc., and three new intermediate points are set at once to calculate the driving route (i.e., when a total of four intermediate points are set), it is necessary to perform the operation of generating a polynomial function for a total of five curves. Therefore, the amount of data to be processed increases, and it may take a long time to generate the driving route according to the situation.

[0147] In addition, when the driving route connecting the starting point, one intermediate point, and the end point cannot meet the smoothness of the driving route set by the user and only one intermediate point is added first to calculate the driving route, it is only necessary to operate on the polynomial function of three curves. Therefore, the time consumed is less. When the smoothness of the driving route set by the user cannot be met by only adding one intermediate point and a new intermediate point is added again, it is easier to extract data values using the polynomial of the previously generated driving route. Therefore, the time consumed to regenerate the driving route including the added intermediate point is not long, and thus it has the advantage of being able to generate the driving route faster.

[0148] In various embodiments, when the polynomial function regarding the first travel path is a fourth-order polynomial function, the computing device 100 can obtain six data values by inputting the position 21 of the autonomous vehicle at the time of requesting a change in the travel path into the fourth-order polynomial function (the X coordinate, Y coordinate, travel angle, curvature, first derivative value of the curvature, and second derivative value of the curvature of the position 21 of the autonomous vehicle at the time of requesting a change in the travel path, and the X coordinate, Y coordinate, travel angle, curvature, first derivative value of the curvature, and second derivative value of the curvature of the end point).

[0149] After that, the computing device 100 can generate a second travel path 30 that connects the position 21 of the autonomous vehicle at the time of requesting a change in the travel path, one or more reset intermediate points 31, 32, 33, and the end point by using the data extracted from the polynomial function regarding the first travel path and the position coordinates of one or more reset intermediate points 31, 32, 33. Among them, the configuration of calculating a plurality of curves (polynomial functions) that respectively connect the position 21 of the autonomous vehicle, one or more reset intermediate points 31, 32, 33, and the end point and connecting the calculated polynomial functions to generate the final second travel path 30 can be implemented in the same implementation manner as the above method (step S110 to step S130 or step S210 to step S240).

[0150] Figure 8 A diagram showing the process of an autonomous vehicle in various embodiments avoiding an event occurring on the travel path.

[0151] Refer to Figure 8 , when the autonomous vehicle 10 traveling along the travel path generated according to the above method (step S110 to step S130 or step S210 to step S240) needs to change the avoidance path 40 (a path that returns to the previous travel path after deviating from the previous travel path), the computing device 100 can reset one or more intermediate points 41, 42 located between the start point 21 and the end point 22 of the avoidance path on the generated travel path.

[0152] For example, when an event (e.g., accident, construction, obstacle, etc.) occurs on the generated travel path and it is determined that it is impossible to change the path to avoid the event, the computing device 100 can reset one or more intermediate points 41, 42 located between the start point 21 and the end point 22 of the avoidance path on the generated travel path in order to generate an avoidance path 40 that temporarily deviates and then returns again.

[0153] In this case, as Figure 8As shown, the computing device 100 can reset one or more intermediate points 41, 42 that can avoid traffic congestion or events occurring on the driving path. Among them, the one or more intermediate points 41, 42 can select, during the process of generating the driving path, intermediate points that can avoid events based on the smoothness of the driving path input by the user. However, when intermediate points that satisfy both the smoothness of the driving path input by the user and event avoidance cannot be selected, it is preferable to select intermediate points considering event avoidance.

[0154] After that, the computing device 100 can extract data related to the starting point 21 of the avoidance path and the ending point 22 of the avoidance path from the polynomial function of the generated driving path. Among them, in the same way as described Figure 7 above, the starting point 21 of the avoidance path and the ending point 22 of the avoidance path are positions located on the generated driving path. Therefore, if the positions of the starting point 21 of the avoidance path and the ending point 22 of the avoidance path are input into the polynomial function corresponding to the generated driving path, data related to the starting point 21 of the avoidance path and the ending point 22 of the avoidance path can be extracted even if the user does not directly input or separately set information related to the corresponding positions.

[0155] Next, the computing device 100 can use the extracted data and the position coordinates of the reset one or more intermediate points 41, 42 to generate an avoidance path 40 that connects the starting point 21 of the avoidance path, the reset one or more intermediate points 41, 42, and the ending point 22 of the avoidance path. Among them, the configuration of calculating multiple curves (polynomial functions) that connect the starting point 21 of the avoidance path, the reset one or more intermediate points 41, 42, and the ending point 22 of the avoidance path and generating the final avoidance path 40 by connecting the calculated polynomial functions can be implemented in the same implementation manner as the above method (step S110 to step S130 or step S210 to step S240). However, it is not limited thereto. Hereinafter, refer to Figures 9 to 11 the configuration of selecting a starting point, intermediate points, and an ending point using map data and thereby generating a driving path to be displayed on the map data.

[0156] Figures 9 to 11 FIG. is a diagram showing the form of displaying a driving path connecting a starting point, one or more intermediate points, and an ending point on map data for various embodiments.

[0157] Refer to Figures 9 to 11 , the computing device 100 can collect map data related to a specified area and provide a user interface for outputting the collected map data to the user terminal 200.

[0158] Further, the computing device 100 can obtain one or more user inputs referring to the starting point 21, one or more intermediate points 22, and the ending point 23 through the user interface of the user terminal 200 (e.g., select the starting point 21, one or more intermediate points 22, and the ending point 23 on the map data), and can generate a final driving path connecting the starting point 21, one or more intermediate points 22, and the ending point 23 corresponding to the user input (e.g., from step S210 to step S240). After that, the computing device 100 can display the generated final driving path on the map data output through the user interface.

[0159] Among them, the computing device 100 can adjust the positions of one or more intermediate points set by the user based on the smoothness of the driving path set by the user, or additionally set intermediate points in addition to the one or more intermediate points set by the user and display them on the map data. In this case, the computing device 100 can display the intermediate points with adjusted positions and the additionally set intermediate points in a form different from that of the intermediate points set by the user (e.g., other colors or other graphics).

[0160] In this case, when initially receiving the starting point 21 and the ending point 23 from the user, the computing device 100 can generate a final driving path connecting the starting point 21 and the ending point 22 and display it on the map data.

[0161] After that, whenever an intermediate point is additionally input, the computing device 100 can regenerate the final driving path, output the regenerated final driving path on the map data, and thus update the final driving path displayed on the map data.

[0162] That is, as the user performs an operation of selecting a specific point through the user interface, the computing device 100 reflects it in real time to generate a final driving path and provides it to the user, thereby having the advantages that the user can easily obtain the path of the autonomous vehicle 10 through simple operations and can intuitively confirm how to determine the driving path according to the positions of the points selected by himself / herself.

[0163] Figures 12 to 16 It is a graph for comparing the driving paths generated by the existing driving path generation method with the driving paths generated by the driving path generation method of the autonomous vehicle according to various embodiments of the present invention.

[0164] First, refer to Figure 12 and Figure 13In the curve graph shown, when generating a total of five curves by setting the starting point at (0, 0), the driving angle of the autonomous vehicle 10 at 0 degrees, the curvature (the differential value of the driving angle) defined as 0, the end point at (100, 100), the driving angle at 0 degrees, the curvature defined as 0, and three intermediate points between the starting point and the end point, the dashed line graph is the curve (Baseline, Origin (existing)) generated by the existing method (e.g., the Cubic Polynomial Curvature Path (CPCP) method of generating a three-dimensional curve equation connecting two points), and the solid line graph is the curve (Proposed, Improved (improved)) generated according to various embodiments of the present invention.

[0165] In the existing method, among the three intermediate points, it is difficult to set the explicit driving angle (theta) and the differential value of the driving angle (curvature (kappa)). Therefore, the driving angle and the differential value of the driving angle are estimated by the interpolation method between adjacent intermediate points.

[0166] That is, it is difficult to accurately set the driving angle and the differential value and the estimated values need to be used. Therefore, when applying it as a hard constraint for connecting the cubic polynomial curvature path curve to estimate the polynomial function of the curve, as Figure 12 and Figure 13 , the changes in the driving angle and the curvature in the entire curve are unstable. Thus, there is a disadvantage that the path trajectory of the autonomous vehicle 10 cannot form a clean S curve.

[0167] On the contrary, in the case of the curve generated according to various embodiments of the present invention, the polynomial function of the curve is obtained by optimizing in such a way that the changes in the driving angle and the curvature are as gentle as possible. Thus, not only does it have a clean S-shaped calculated trajectory path, but it can also minimize unnecessary changes in the driving angle and the curvature, and can generate a path that can pass through the desired position.

[0168] And, referring to the curve graph shown in Figure 14 , when generating a driving path with a curve shape having many curves, it can also be seen that a path can be generated in which the movement of the steering wheel (change in curvature) of the autonomous vehicle 10 does not change suddenly compared to the existing method.

[0169] Moreover, referring to the curve graphs shown in Figure 15 and Figure 16 , it can be seen that in the case where the autonomous vehicle 10 changes from a preset driving path to another driving path (e.g., as shown in Figure 7 , the case of changing multiple lane lines) or generating an avoidance path (e.g., asFigure 8 As shown, in the case where, due to the occurrence of an event or other unexpected situation, it is necessary to deviate from the preset driving path and then return again, a path can also be generated in which the movement of the steering wheel (change in curvature) does not suddenly change compared to the existing method.

[0170] That is, different from the existing method of simply connecting point to point to generate a driving path, the driving path generation method of the autonomous vehicle according to various embodiments of the present invention has the following advantages: generating a driving path that satisfies the mechanical characteristics of the autonomous vehicle 10 such as the driving angle of the autonomous vehicle 10 and the angle of the steering wheel of the autonomous vehicle 10 while connecting point to point. Thus, when the autonomous vehicle 10 travels along the generated driving path, a driving path can be generated that makes the movement of the steering wheel gentle and smooth.

[0171] As described above, it is obvious that a method of controlling the driving of an autonomous vehicle by the driving path generated according to the disclosed embodiments also falls within the scope of the present invention.

[0172] Above, embodiments of the present invention have been described with reference to the drawings. It should be understood that those of ordinary skill in the technical field to which the present invention pertains can implement the present invention in different specific embodiments without changing the technical idea or essential features of the present invention. Therefore, it should be understood that the embodiments described above are illustrative in all aspects and do not limit the present invention.

Claims

1. A method for generating a driving path of an autonomous vehicle, which is executed by a computing device, characterized in that: It includes: The step of obtaining information related to the starting point and the ending point; The step of setting intermediate points between the above-mentioned starting point and the above-mentioned ending point; and The step of generating a driving path connecting the above-mentioned starting point, the set above-mentioned intermediate points, and the above-mentioned ending point, The generated above-mentioned driving path is a set of curves connecting the above-mentioned starting point and the set above-mentioned intermediate points, and curves connecting the set above-mentioned intermediate points and the above-mentioned ending point, which is expressed by a polynomial function regarding the driving angle of the autonomous vehicle and satisfies one or more continuity conditions regarding curvature, The set above-mentioned intermediate points include a first intermediate point and a second intermediate point, The step of generating the above-mentioned driving path includes: The step of estimating a first polynomial function corresponding to a first unit driving path connecting the above-mentioned starting point and the above-mentioned first intermediate point; The step of estimating a second polynomial function corresponding to a second unit driving path connecting the above-mentioned first intermediate point and the above-mentioned second intermediate point; The step of estimating a third polynomial function corresponding to a third unit driving path connecting the above-mentioned second intermediate point and the above-mentioned ending point; The step of using the information related to the above-mentioned starting point, the set above-mentioned intermediate points, and the above-mentioned ending point and one or more continuity conditions regarding the above-mentioned curvature to determine the estimated above-mentioned first polynomial function, the estimated above-mentioned second polynomial function, and the estimated above-mentioned third polynomial function; and The step of generating the final driving path of the above-mentioned autonomous vehicle by connecting the determined above-mentioned first polynomial function, the determined above-mentioned second polynomial function, and the determined above-mentioned third polynomial function, The step of estimating a first polynomial function corresponding to the above-mentioned first unit driving path includes: The step of setting boundary conditions regarding the above-mentioned starting point and the above-mentioned ending point; and The step of estimating the above-mentioned first polynomial function connecting the above-mentioned starting point and the above-mentioned first intermediate point, and determining the order of the estimated above-mentioned first polynomial function based on the number of the set above-mentioned boundary conditions, The step of estimating a second polynomial function corresponding to the above-mentioned second unit driving path includes: The step of receiving the smoothness of the driving path of the above-mentioned autonomous vehicle; The step of setting one or more continuity conditions regarding the above-mentioned curvature based on the received smoothness of the driving path; and The step of estimating the above-mentioned second polynomial function connecting the above-mentioned first intermediate point and the above-mentioned second intermediate point, and determining the order of the estimated above-mentioned second polynomial function based on the set one or more continuity conditions regarding the above-mentioned curvature, The step of estimating a third polynomial function corresponding to the above-mentioned third unit driving path includes: The step of setting boundary conditions regarding the above-mentioned starting point and the above-mentioned ending point; and The step of estimating the above-mentioned third polynomial function connecting the above-mentioned second intermediate point and the above-mentioned ending point, and determining the order of the estimated above-mentioned third polynomial function based on the number of the set above-mentioned boundary conditions.

2. A method for generating a driving path of an autonomous vehicle, which is executed by a computing device, characterized in that: It includes: The step of obtaining information related to the starting point and the ending point; The step of setting intermediate points between the above-mentioned starting point and the above-mentioned ending point; and The step of generating a driving path connecting the above-mentioned starting point, the above-mentioned intermediate point set, and the above-mentioned end point The above-mentioned generated driving path is a set of curves connecting the above-mentioned starting point and the above-mentioned intermediate point set, and curves connecting the above-mentioned intermediate point set and the above-mentioned end point, expressed by a polynomial function regarding the driving angle of the autonomous vehicle, and satisfying one or more continuity conditions regarding curvature The above-mentioned intermediate point set includes a first intermediate point and a second intermediate point The step of generating the above-mentioned driving path includes: The step of estimating a first polynomial function corresponding to a first unit driving path connecting the above-mentioned starting point and the above-mentioned first intermediate point The step of estimating a second polynomial function corresponding to a second unit driving path connecting the above-mentioned first intermediate point and the above-mentioned second intermediate point The step of estimating a third polynomial function corresponding to a third unit driving path connecting the above-mentioned second intermediate point and the above-mentioned end point The step of determining the above-mentioned estimated first polynomial function, the above-mentioned estimated second polynomial function, and the above-mentioned estimated third polynomial function by using information related to the above-mentioned starting point, the above-mentioned intermediate point set, and the above-mentioned end point and one or more continuity conditions regarding the above-mentioned curvature; and The step of generating the final driving path of the above-mentioned autonomous vehicle by connecting the above-mentioned determined first polynomial function, the above-mentioned determined second polynomial function, and the above-mentioned determined third polynomial function The step of estimating a first polynomial function corresponding to the above-mentioned first unit driving path includes: The step of estimating the above-mentioned first polynomial function connecting the above-mentioned starting point and the above-mentioned first intermediate point The step of determining the type and quantity of boundary conditions regarding the above-mentioned starting point and the above-mentioned end point to be set based on the order of the above-mentioned estimated first polynomial function; and The step of setting the above-mentioned boundary conditions based on the determined type and quantity of the above-mentioned boundary conditions The step of estimating a second polynomial function corresponding to the above-mentioned second unit driving path includes: The step of receiving the smoothness of the driving path of the above-mentioned autonomous vehicle The step of setting one or more continuity conditions regarding the above-mentioned curvature based on the received smoothness of the driving path; and The step of estimating the above-mentioned second polynomial function connecting the above-mentioned first intermediate point and the above-mentioned second intermediate point, and determining the order of the above-mentioned estimated second polynomial function based on one or more continuity conditions regarding the above-mentioned curvature set The step of estimating a third polynomial function corresponding to the above-mentioned third unit driving path includes: The step of estimating the above-mentioned third polynomial function connecting the above-mentioned second intermediate point and the above-mentioned end point The step of determining the type and quantity of boundary conditions regarding the above-mentioned starting point and the above-mentioned end point to be set based on the order of the above-mentioned estimated third polynomial function; and The step of setting the above-mentioned boundary conditions based on the determined type and quantity of the above-mentioned boundary conditions 3. The method for generating a driving path of an autonomous vehicle according to claim 1 or 2, characterized in that, The above-mentioned step of generating a driving path includes: When one or more continuity conditions regarding the above-mentioned curvature are that the second derivative of the above-mentioned curvature is continuous, determining the order of the polynomial function regarding the above-mentioned generated driving path as 4 4. The method for generating a driving path of an autonomous vehicle according to claim 1 or 2, characterized in that, It further includes: When the above-mentioned autonomous vehicle traveling along the first travel path needs to change the travel path, a step of resetting one or more intermediate points between the position of the above-mentioned autonomous vehicle when the travel path needs to be changed and the above-mentioned end point; A step of extracting data regarding the position of the above-mentioned autonomous vehicle when the travel path needs to be changed from a polynomial function regarding the above-mentioned first travel path; And A step of generating a second travel path connecting the position of the above-mentioned autonomous vehicle when the travel path needs to be changed, the above-mentioned one or more reset intermediate points, and the above-mentioned end point by using the extracted above-mentioned data and the position coordinates of the above-mentioned one or more reset intermediate points.

5. The method for generating a driving path of an autonomous vehicle according to claim 1 or 2, characterized in that, It further includes: For the above-mentioned autonomous vehicle traveling along the generated above-mentioned travel path, when an avoidance path for the above-mentioned event needs to be generated due to an event occurring on the generated above-mentioned travel path, a step of resetting one or more intermediate points between the start point of the avoidance path located on the generated above-mentioned travel path and the end point of the above-mentioned avoidance path; A step of extracting data related to the start point of the above-mentioned avoidance path and the end point of the above-mentioned avoidance path from a polynomial function regarding the generated above-mentioned travel path; And A step of generating an avoidance path connecting the start point of the above-mentioned avoidance path, the above-mentioned one or more reset intermediate points, and the end point of the above-mentioned avoidance path by using the extracted above-mentioned data and the position coordinates of the above-mentioned one or more reset intermediate points.

6. The method for generating a travel path of an autonomous vehicle according to claim 1 or 2, characterized in that It further includes a step of providing a user interface for outputting map data related to a specified area, The step of obtaining information related to the above-mentioned start point and end point includes the step of receiving, through the above-mentioned user interface, two-dimensional position coordinates of the above-mentioned start point and end point and the travel angle of the above-mentioned autonomous vehicle at the above-mentioned start point and end point, The step of setting the above-mentioned intermediate point includes the step of receiving, through the above-mentioned user interface, two-dimensional position coordinates of one or more intermediate points located between the above-mentioned start point and the above-mentioned end point, The step of generating the above-mentioned travel path includes: Generating a travel path connecting the above-mentioned start point, the above-mentioned one or more intermediate points, and the above-mentioned end point received through the above-mentioned user interface, and automatically updating the generated above-mentioned travel path in such a way that the above-mentioned travel path passes through the above-mentioned new intermediate point when a new intermediate point is additionally input through the above-mentioned user interface; and A step of displaying the generated above-mentioned travel path on the map data output through the above-mentioned user interface.

7. The method for generating a travel path of an autonomous vehicle according to claim 1 or 2, characterized in that It further includes a step of obtaining map data related to a specified area including the above-mentioned start point and the above-mentioned end point, The step of setting the above-mentioned intermediate point includes: A step of analyzing the map data related to the above-mentioned specified area to identify the lane lines of the road connecting the above-mentioned start point and the above-mentioned end point; and A step of selecting one or more intermediate points between the above-mentioned start point and the above-mentioned end point based on the recognition result of the lane lines of the above-mentioned road.

8. A driving path generation device for an autonomous vehicle, characterized in that: It includes: A processor; A network interface; A memory; and A computer program, loaded into the above-mentioned memory and run by the above-mentioned processor, The above-mentioned computer program includes instructions for implementing the steps of the driving path generation method for an autonomous vehicle as described in claim 1 or 2.

9. A computer program stored in a computer-readable storage medium, characterized in that: Combined with a computing device, Stored in a computer-readable storage medium to execute the steps of the driving path generation method for an autonomous vehicle as described in claim 1 or 2.

Citation Information

Patent Citations

  • A curvature corrected path sampling system for autonomous driving vehicles

    EP3629121A1