Abstract: A system implemented in a host vehicle for determining a trajectory for said host vehicle in at least one of a straight path or a curved path. The system comprises an input unit having one sensors mounted on host vehicle; a processing unit comprising a processor configured to: initiate a manoeuvre event; generate co-ordinates of an end point for the manoeuvre event; compute a normalised longitudinal and lateral distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve, to obtain a symmetric trajectory comprising minimum curvature, generate a command to provide a planned trajectory, and to generate one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre.
Claims:1. A system implanted in a host vehicle for determining a trajectory for said host vehicle in at least one of a straight path or a curved path, said system comprising:
an input unit comprising one or more sensors mounted on said host vehicle, wherein the one or more sensors is configured to sense one or more parameters of surrounding environment of the host vehicle;
a processing unit comprising a processor operatively coupled to a memory, the memory storing instructions executable by the processor to:
initiate a manoeuvre event upon analysing at least one of a signal representative of the one or more parameters, an input from one or more sources, or a combination thereof;
generate co-ordinates of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path;
compute a normalised longitudinal and lateral distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve for the at least one control point across a longitudinal distance, to obtain a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path;
generate a command to provide a planned trajectory to execute the manoeuvre event, wherein the planned trajectory is generated based on calculated longitudinal distance, to avoid collision of the host vehicle with at least one target vehicle; and
generate one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory to optimise the trajectory of the host vehicle to avoid static and dynamic obstacles in a dynamic environment.
2. The system as claimed in claim 1, wherein the one or more sources comprises at least one of perception module, decision processing module, longitudinal control module, lateral control module, or a combination thereof.
3. The system as claimed in claim 1, wherein the one or more variables comprises at least one of situation of one of the curved path or the straight path, events happening in one of the curved path or the straight path in which the host vehicle is travelling, or a combination thereof.
4. The system as claimed in claim 1, wherein computing the normalised longitudinal and lateral distance for the curved path comprises:
converting the end point of the curved path to a temporary end point;
computing optimal control points with the temporary end points for computing the trajectory; and
wrapping the trajectory point to the curved path to obtain an actual trajectory for the curved path for obtaining the normalised longitudinal distance.
5. The system as claimed in claim 4, wherein the trajectory point to the curved path is further unwrapped or straightened prior to obtaining the actual trajectory
6. The system as claimed in claim 1, wherein wrapping the trajectory point comprises initialising a pre-defined value for the normalised longitudinal distance for verifying a normalised lateral distance with a pre-defined lateral value, for calculating the cubic Bezier curve of linearly varying control points across the longitudinal range.
7. The system as claimed in claim 6, wherein the normalised lateral value is plotted across one or more curvature points based on verified normalised lateral distance for choosing an appropriate polynomial value for computing the normalised longitudinal distance, wherein the polynomial value corresponds to the normalised lateral distance, wherein choosing the appropriate polynomial value comprises getting polynomial value fit upon comparison of selected lateral distances with a maximum distance.
8. The system as claimed in claim 1, wherein generating the planned trajectory comprises:
initialising a pre-defined value for the normalised longitudinal distance
normalise the lateral distance with the longitudinal distance;
calculate optimal control points for the cubit Bezier curve; and
calculate Bezier curve points from the end point and the at least one control point for scaling the normalised Bezier points to obtain actual path points.
9. The system as claimed in claim 1, wherein the one or more vehicle parameters of the host vehicle comprises at least one of Engine torque, deceleration, steering torque, arbitration, speed control, or a combination thereof.
10. A method for determining a trajectory for said host vehicle in at least one of a straight path or a curved path, carried out according to instructions stored in a computer implemented in the host vehicle, comprising:
receiving an input signal comprising one or more parameters of surroundings of the host vehicle from an input unit, the input unit comprising one or more one or more sensors mounted on the host vehicle;
initiating a manoeuvre event upon analysing at least one of the signal representative of the one or more parameters, an input from one or more sources, or a combination thereof;
generating of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path;
computing a normalised longitudinal distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve for the at least one control point across a longitudinal distance, for obtaining a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path;
generating a command to provide a planned trajectory for executing the manoeuvre event, wherein the planned trajectory is generated based on calculated longitudinal distance, for avoiding collision of the host vehicle with at least one target vehicle; and
generating one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory for optimising the trajectory of the host vehicle for avoiding static and dynamic obstacles in a dynamic environment.
, Description:TECHNICAL FIELD
[0001] The present disclosure generally relates to field of vehicle automation. More particularly, the present disclosure relates to system and method for determining a minimum curvature trajectory for a host device based on Cubic Bezier Curve.
BACKGROUND
[0002] Background description includes information that can be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0003] With the advent of autonomous vehicle (AV) technology, vehicles are equipped with driving controls that require less and less driver intervention. In order to achieve a highly efficient and secured way to enable the operation of the AVs, it becomes highly important for the system to detect smooth and collision free maneuvering and automatic lane changing controls for the AVs, in order to maintain driver, passenger comfort and safety. As the AV technology advances, there are more autonomous applications that are provided for the vehicles such as lane changing, overtaking, turning away from the slow- and fast-moving target vehicles, turning into the slow and fast target vehicles, and the like. In order to achieve the smooth functioning of the AVs, it is important for the AV to identify the trajectory path the vehicle needs to follow, in real time. In conventional approaches, the system used in the AVs do not focus on generating a minimum curvature trajectory for both the straight and the curved path. In case of any obstacle found considering vehicle dynamics and surround environment, the conventional approach lacks focus on dynamic or online trajectory optimization or adaptation; which is useful for adapting to changing environment or surroundings of road or traffic conditions. Further, the conventional approaches focus on planning the trajectory based on only sensor information. However due to latency in the sensor information a measured state of the target vehicle may be different from an actual state of the target vehicle leading to collision of the host vehicle and the target vehicle. In addition, it becomes difficult to determine the minimum possible trajectory for the vehicle using only the sensor data, as it is important to determine the least curve or shift in the path for the vehicle to take in many situations such as the emergency situation, during the curved path or the straight path, when an obstacle is found, or the like.
[0004] In another approach, where a system exhibits computations of a set of polynomials to obtain the trajectory for a vehicle. It is found to be most suitable approach for comfort lane change maneuvers. Moreover, such an approach is found to have low computation for the curves implemented less than 4th degree. However, most commonly, curves are implemented in higher than 4th degree polynomials, which makes higher computational complexity to derive polynomial coefficients in real-time. Such limitations make the approach less flexible for computing higher degree polynomials, thereby making the approach less reliable and less efficient.
[0005] In yet another approach, a set of Clothoids are computed by a system to obtain the trajectory for a vehicle. However, using the set of Clothoids for determining the trajectory is laborious and henceforth time consuming. Also, the curvature which is obtained by the system is not smooth due to a linear behaviour of set of Clothoids. Such limitations make the system less reliable for generation of minimum curvature trajectories in real time.
[0006] In yet another approach, a system computes a set of Splines to obtain the trajectory solutions upon processing one or more parameters obtained from multiple sources. Such an approach is believed to be more useful for continuity of the parts of the trajectory. However, the usage of the set of Splines is Not suitable solution to get optimal trajectory for optimum curvature or for lateral acceleration purposes, thereby making such an approach less reliable and less efficient in computing and determining minimum curvature trajectory for the vehicle.
[0007] Therefore, there is a need in the art to provide an improved system and method for determining a minimum curvature trajectory for a host device based on Cubic Bezier Curve, which overcomes above-mentioned and other limitations of existing approaches. There is also a need for a system and method that helps in collision avoidance of obstacles for lower time to collision (TTC) with higher speeds where traditional AEB will not be able to avoid the collision due to high speed. There is also a need for a system and method that can be used for comfort lane change, emergency lane change and overtaking. There is also a need for a system and method that has less computational effort and low complexity. There is also a need for a system and method that avoids static and dynamic obstacles in a dynamic environment.
OBJECTS OF THE INVENTION
[0008] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0009] It is an object of the present disclosure to provide a system and method for determining a minimum curvature trajectory for a host device.
[0010] It is yet another object of the present disclosure to provide a system and method for determining a minimum curvature trajectory for a host device during an emergency condition to avoid collision.
[0011] It is still another object of the present disclosure to dynamically generate a minimum curve trajectory.
[0012] It is still another object of the present disclosure to provide a system and method to plan a real time, collision free trajectory to avoid static and dynamic obstacles in a dynamic environment.
[0013] It is still another object of the present disclosure to provide a system and method to efficiently compute Bezier curves.
[0014] It is still another object of the present disclosure to provide a system and method to compute an optimal trajectory path having minimum curvature.
[0015] It is still another object of the present disclosure to provide a system and method that helps in collision avoidance of obstacles for lower time to collision (TTC) with higher speeds where traditional AEB will not be able to avoid the collision due to high speed.
[0016] It is still another object of the present disclosure to provide a system and method has less computational effort and low complexity.
[0017] It is still another object of the present disclosure to provide a system and method can be used for comfort lane change, emergency lane change and overtaking.
[0018] It is still another object of the present disclosure to provide a single solution for multiple use cases with variable endpoint.
[0019] It is still another object of the present disclosure to provide a High flexibility approach due to usage of control points.
SUMMARY
[0020] This summary is provided to introduce simplified concepts of a system and method for dynamic evasive trajectory planning of a host vehicle on a road, which are further described below in the Detailed Description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended for use in determining/limiting the scope of the claimed subject matter.
[0021] The present disclosure generally relates to field of vehicle automation. More particularly, the present disclosure relates to system and method for determining a minimum curvature trajectory for a host device based on Cubic Bezier Curve.
[0022] An aspect of the present disclosure relates to a system implemented in a host vehicle for determining a trajectory for said host vehicle in at least one of a straight path or a curved path. The system comprises an input unit having one or more sensors mounted on said host vehicle, wherein the one or more sensors is configured to sense one or more parameters of surrounding environment of the host vehicle; a processing unit comprising a processor operatively coupled to a memory, the memory storing instructions executable by the processor to: initiate a manoeuvre event upon analysing at least one of a signal representative of the one or more parameters, an input from one or more sources, or a combination thereof; generate co-ordinates of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path; compute a normalised longitudinal distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve for the at least one control point across a longitudinal distance, to obtain a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path; generate a command to provide a planned trajectory to execute the manoeuvre event, wherein the planned trajectory is generated based on calculated longitudinal distance, to avoid collision of the host vehicle with at least one target vehicle; and generate one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory to optimise the trajectory of the host vehicle to avoid static and dynamic obstacles in a dynamic environment.
[0023] Another aspect of the present disclosure relates to a method for determining a trajectory for said host vehicle in at least one of a straight path or a curved path, carried out according to instructions stored in a computer implemented in the host vehicle, comprises: receiving an input signal comprising one or more parameters of surroundings of the host vehicle from an input unit, the input unit comprising one or more one or more sensors mounted on the host vehicle; initiating a manoeuvre event upon analysing at least one of the signal representative of the one or more parameters, an input from one or more sources, or a combination thereof; generating of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path; computing a normalised longitudinal distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve for the at least one control point across a longitudinal distance, for obtaining a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path; generating a command to provide a planned trajectory for executing the manoeuvre event, wherein the planned trajectory is generated based on calculated longitudinal distance, for avoiding collision of the host vehicle with at least one target vehicle and generating one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory for optimising the trajectory of the host vehicle for avoiding static and dynamic obstacles in a dynamic environment.
[0024] Various objects, features, aspects and advantages of the inventive subject matter will become more apparent from the following detailed description of preferred embodiments, along with the accompanying drawing figures in which like numerals represent like components.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein:
[0026] FIG. 1 illustrates an architecture of a dynamic minimum curvature trajectory determination system to illustrate its overall working in accordance with an embodiment of the present disclosure.
[0027] FIG. 2 illustrates exemplary functional components of a processing unit in accordance with an embodiment of the present disclosure.
[0028] FIG. 3 illustrates exemplary representation of a minimum curvature trajectory planning for a straight path scenario in accordance with an embodiment of the present disclosure.
[0029] FIG. 4 illustrates a flowchart for normalized polynomial computation for determining a trajectory for said host vehicle in accordance with an embodiment of the present disclosure.
[0030] FIG. 5 is a graphical representation of a different order polynomial fit for normalized polynomial computation of FIG. 4 in accordance with an embodiment of the present disclosure.
[0031] FIG. 6a and FIG. 6b are graphical representation of a result for Normalized Optimal Path Via Polynomial and Iteration of FIG. 4 in accordance with an embodiment of the present disclosure.
[0032] FIG. 7 illustrates a flowchart representing steps involved in a method for trajectory planning of FIG. 1 in accordance with an embodiment of the present disclosure.
[0033] FIGs. 8a, 8b, 8c and 8d represents a result for a first test scenario for a Final Planned Trajectory of FIG. 7 in accordance with an embodiment of the present disclosure.
[0034] FIGs. 9a, 9b, 9c and 9d represents a result for a second test scenario for a Final Planned Trajectory of FIG. 7 in accordance with an embodiment of the present disclosure.
[0035] FIGs. 10a, 10b, 10c and 10d represents a result for a third test scenario for a Final Planned Trajectory of FIG. 7 in accordance with an embodiment of the present disclosure.
[0036] FIG. 11 is a flow diagram illustrating a method for determining a trajectory for said host vehicle in at least one of a straight path or a curved path in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION
[0037] In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details.
[0038] Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present invention with appropriate standard computer hardware to execute the code contained therein. An apparatus for practicing various embodiments of the present invention may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the invention could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
[0039] As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
[0040] Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The term “machine-readable storage medium” or “computer-readable storage medium” includes, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).A machine-readable medium may include a non-transitory medium in which data may be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memory or memory devices. A computer-program product may include code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0041] Various terms as used herein are shown below. To the extent a term used in a claim is not defined below, it should be given the broadest definition persons in the pertinent art have given that term as reflected in printed publications and issued patents at the time of filing.
[0042] The present disclosure generally relates to field of vehicle automation. More particularly, the present disclosure relates to system and method for determining a minimum curvature trajectory for a host device based on Cubic Bezier Curve.
[0043] FIG. 1 illustrates an architecture of a dynamic minimum curvature trajectory determination system 100 to illustrate its overall working in accordance with an embodiment of the present disclosure.
[0044] According to an embodiment, the dynamic minimum curvature trajectory determination system 100 (interchangeably referred to as system 100, hereinafter) is implemented in a vehicle (interchangeably referred to as host vehicle, hereinafter). The system 100 includes an input unit 104, a processing unit 106 and an output unit 108. The input unit 104 may include one or more pre-processors, which processes perception inputs, raw sensed inputs from sensors or a camera or a Radio Detection and Ranging (RADAR) and fused raw sensed inputs from a Light Detection and Ranging (LIDAR) (forming part of sensor unit 102, which is operatively coupled with the input unit 104) which are housed in the host vehicle to capture images of surrounding of the host vehicle. The pre-processed sensed inputs may comprise parameters of position and velocity of vehicles surrounding the host vehicle (interchangeably referred to as target vehicles, hereinafter), road profile information and drive passage information. In an implementation, sensors or camera of the sensor unit 102 may be placed below rear-view mirror in front side of the host vehicle.
[0045] Further, the processing unit 106 may comprise a processor and a memory and/or may be integrated with existing systems and controls of the host vehicle. For instance, signals generated by the processing unit 106 may be sent to an output unit 108 or an electronic control unit (ECU) of the host vehicle. The output unit 108 may be an interface that operatively couples processing unit 106 with a trajectory control and steering actuation unit 110 for dynamic planning of trajectory for evasive manoeuvre and performing lateral steering of the host vehicle to avoid collision on drive passage. The output unit 108 may also be a display device or any other audio-visual device that provides dynamic minimum curvature trajectory for the host vehicle so as to avoid collision with the target vehicles.
[0046] Further, in one embodiment, the data from the input unit 104 may perform pre-processing converting the signals from the one or more sensors into standard data by signal conversion technique. Further one or more signal filtering techniques are applied on the set of converted data in order to process the data. The data upon being pre-processed by a signal processing unit, may be transmitted to a perception unit. The perception unit may be further configured to achieve at least one of object fusion, lane fusion, driving tube data, situation assessment and event planning, sensor fusion processes, or the like using the pre-processed data. In one exemplary embodiment, based on situation analysis on the road, an event planning module which may be configured to situation assessment and event planning, may plan maneuver event, for example automatic lane change, overtaking, evasive maneuver in case of any chance for collision, and the like. In such embodiment, during the generation of the maneuver event, the event planning module may also provide coordinates of endpoint. As used herein, the endpoint may refer to a point or a location where the host vehicle needs to be directed in order to avoid any collision, or may refer to the location or a point the host vehicle reaches immediately upon making the turn or curve as directed in the trajectory which may be generated.
[0047] More specifically, in one embodiment, during situation and threat analysis 112, the processing unit 106 performs situation and threat analysis to determine and assess the host vehicle’s surrounding environment, the target vehicles, and the drive passage for performing emergency steering operation. The situation and threat analysis 112 estimate a free drive passage around the host vehicle and performs a collision and threat assessment for determining anticipated risk of collision of the host vehicle with the surrounding target or traffic vehicle on the drive passage for performing emergency steering of the host vehicle so as to avoid collision of the host vehicle with any obstacle in one of the straight path or in the curved path.
[0048] In one embodiment, while initiating a manoeuvre event for the trajectory initialization 114, the processing unit 106 performs trajectory initialization upon analysing at least one of a signal representative of the one or more parameters, an input from one or more sources, or a combination thereof. In such embodiment, the one or more parameters may include at least one of vehicle obstacle, an object obstacle, an emergency situation, or the like. In one embodiment, the one or more sources may include at least one of perception module, decision processing module, longitudinal control module, lateral control module, or a combination thereof. More specifically, the one or more parameters may be the output from one or more sources, wherein the one or more sources may generate the output upon analysing the signals and data received by the input unit 104.
[0049] In one embodiment, during co-ordinates generation 116, the processing unit 106 performs generation of the co-ordinates of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path. In such embodiment, the one or more variables may include at least one of situation of one of the curved path or the straight path, events happening in one of the curved path or the straight path in which the host vehicle is travelling, or a combination thereof. As used herein, the events may refer to at one of the one or more vehicles in the path of travel of the host vehicle, one or more obstacles in the path of travel of the host vehicle, an emergency situation, or the like. In one specific embodiment, the co-ordinates of an end point may refer to x- co-ordinate and y- co-ordinate associated to the end point at which the host vehicle is expected to reach.
[0050] In one embodiment, during normalised longitudinal, lateral distance and road curvature computation 120 using a cubic Bezier curve calculated 118 to minimum curvature for at least one of the curved path or the straight path.
[0051] Referring to FIG. 4, FIG. 4 illustrates exemplary representation for normalized polynomial computation for determining a trajectory for said host vehicle in accordance with an embodiment of the present disclosure. The normalised longitudinal distance is calculated upon computing normalised polynomials which is calculated by a normalized polynomial computation module. An objective of this module is to derive a normalized polynomial (function of normalized lateral distance) and run only once. More specifically, the normalised polynomial is computed or calculated at every pre-defined instant of time or a for each of a plurality of co-ordinates while the host vehicle is travelling in one of the straight path or the curved path. Further, the normalized polynomial calculates normalized longitudinal distance to a control point.
[0052] In one specific embodiment, a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path is obtained upon computing the normalised longitudinal distance. In such embodiment, the symmetric trajectory may be computed to the host vehicles which are in constant speed. Henceforth, a distance to the first control point from start point and distance to the second control point from the endpoint will be same, wherein the first control point and the second control points may lie in the path of the trajectory. Consequently, the normalized polynomial computation module may generate a single control point output from the polynomial. The same polynomial may be used to calculate other control point as well.
[0053] In operation, the system 100 sets a value for a normalized polynomial distance to 1 in step 402. Computation of normalized lateral distance is initiated in step 404, where, is set in step 404. Where, is a normalised polynomial, and is a min value assigned to the normalized lateral distance. Further, the minimum value of the normalized lateral distance is compared to a pre-defined value. More specifically, the selected normalised lateral distance is compared with the pre-defined value to verify if the lateral value is more than the pre-defined value, wherein the value for is computed in step 406. The value is the pre-defined value which is assumed to be a maximum value and any of the assumed or retrieved normalised lateral distance may not be more than the pre-defined value under pre-defined conditions.
[0054] Furthermore, if the value of the normalised lateral distance is less than the pre-defined value (which is hereafter referred to as the maximum normalised lateral value), cubic Bezier curves for linearly varying control points throughout longitudinal range is calculated in step 408. On calculating multiple Bezier curves, as many possible curvature values for each of the multiple Bezier curves is calculated in step 410. Subsequently, the processing unit 106 generates instructions to consider the set of curvature value and the corresponding control points which has the least or the minimum curvature value among the multiple curvature values.
[0055] More specifically, based on the co-ordinates and the upon analysing the scenario while the host vehicle is in motion, there may be a situation where the host vehicle needs to switch or change the path of travel and may have to choose the path which the system 100 may analyse. For such a scenario, multiple Bezier curves may be calculated which varying curvature values. As used herein, the curvature values may be defined as an angle along a moving path which the host vehicle need to follow in order to maintain the smooth driving experience and by avoiding any obstacles. To achieve the same, the multiple curves are either compared with each other or may be compared with a pre-defined value in order to obtain the value of the polynomial or the co-ordinates which have the least curvature values.
[0056] More specifically, value of is selected in step 412. On selecting the control points of the least curvature values, a value of the normalised lateral distance is incremented with the minimum possible increment, for example, by the value ‘0.001’ in step 414. And a new incremented value is further compared with the pre-defined value to obtain the value of the normalised lateral distance and to verify if the new value is more or less than the pre-defined value. If the value identified is less than the pre-defined value, the method steps from 408 to 410 is repeated until the normalised lateral value becomes greater than the pre-defined value and the process may end.
[0057] Furthermore, as the normalised lateral value becomes greater than the pre-defined value, a graph may be plotted between normalised lateral distance ( ) vs maximum curvature control points ( ) in step 416. Furthermore, an appropriate polynomial is computed in step 418, in order to identify the minimum curvature trajectory.
[0058] More specifically, is initially set, wherein, is the set of control point having minimum curvature. And the value is a polynomial function the normalised lateral distance. In one embodiment, the term ‘normalised lateral distance’ may be defined as a displacement value for the host vehicle from the start point to the end point in either the straight path or in the curved path. In case of the curved path, the curved path may be converted into the corresponding lateral distance.
[0059] Further, the value of is computed, wherein
….
Where , are polynomial coefficients, as given below for 7th, 8th & 9th order polynomials (as shown in FIG. 5):
7th Order: [0 0 -52.51 96.17 -70.64 26.53 -5.40 0.83 -0.025 0.40]
8th Order: [0 762.54 -1.61e+03 1.39e+03 -643.63 169.27 -25.39 2.30 -0.07 0.40]
9th Order: [3.21e+03 -6.60e+03 5.48e+03 -2.32e+03 510.20 -45.87 -1.96 0.92 -0.036 0.408] (as shown in FIGs. 6a and 6b).
[0060] Referring to FIG. 5, FIG. 5 is a graphical representation of a different order polynomial fit for normalized polynomial computation of FIG. 4 in accordance with an embodiment of the present disclosure. The graph 500 represents curve for polynomial fit for different orders. The graph 500 is plotted with along an X-axis 502 and along Y-axis 504. The result obtained for the along with the are joined together to obtain a curve 506, representing output for optimum search by iterations. The curve 506 represents the polynomial fit for the 7th order, 8th order and the 9th order respectively.
[0061] FIG. 6a and FIG. 6b are graphical representation of a result for normalized optimal path via polynomial and iteration of FIG. 4 in accordance with an embodiment of the present disclosure. FIG. 6a represents the graph 600 plotted with values of X in meters along X-axis, and values of Y in meters along Y-axis. FIG. 6b represents the graph 600 plotted with values of X in meters along the X-axis, and values of curvature in 1/meters along Y-axis.
[0062] FIG. 7 illustrates a flowchart representing steps involved in a method for trajectory planning of FIG. 1 in accordance with an embodiment of the present disclosure. Furthermore, upon obtaining the co-ordinates and the minimum curvature, the symmetric trajectory 700 is computed which is initiated by the system 100. Initially, as a trajectory request is received by the one or more sources to the processing unit 106, trajectory planning 122 is initiated and trajectory endpoints is identified and the curvature of the road where the host vehicle is travelling is identified by the perception module in step 702. The end point is represented as ( ), where may represent an X-coordinate of the endpoint and is a Y-coordinate of the endpoint.
[0063] On obtaining the endpoints and the curvature of the path the host vehicle is travelling, the system processing unit 106 identifies if the path is straight or a curved path in step 704.
[0064] In case of a curved path, where the road or the path is not straight, an arc length at the end point is calculated. More specifically, co-ordinates for an equivalent straight path for the corresponding curved path is calculated by unwrapping the curved path to form an equivalent straight path in step 706. i.e., the co-ordinates ( ) may be replaced by ( ), where may represent an unwrapped X-coordinate of the endpoint and is an unwrapped Y-coordinate of the endpoint. Furthermore, the longitudinal distance of the endpoints is normalised and assigned a value of ‘1’ in step 708, which is represented as:
. Where, is an X-coordinate of the normalised longitudinal distance value for the endpoints.
[0065] Consequently, lateral distance of the endpoint is normalised with the longitudinal distance in step 710, which is represented as . Where, may be a Y-coordinate of the normalised lateral distance value for the endpoints.
[0066] Upon normalising the lateral value and the longitudinal value of the end points, optimal control points for the Bezier curve is calculated in step 712, as described below:
.
[0067] Upon performing the above computations, the processing unit 106 may instruct to calculate Bezier curve points for normalised endpoints and control points in step 714. Further, the Bezier curve points is scaled to get actual path points in step 716, which is represented as [( , ), ( , )…]. Subsequently, on computing the Bezier curve points, based on the points obtained, the processing unit 106 further instructs to check whether the obtained points belong to the straight path or not in step 704. If the path is not the straight path, the obtained co-ordinates are wrapped back to the actual road curvature and wrapped path points are calculated in step 718, which may be represented from [( , ), ( , )…] to [( , ), ( , )…] respectively, and the process of planning the trajectory may end.
[0068] Further in the scenario where the path is the straight path, the end points are directly calculated and the step of unwrapping the co-ordinates of the endpoints may be eliminated and the normalisation of the longitudinal distance is initiated in step 722, and the further process may continue. In addition, upon calculating the actual path points from the Bezier curve points, the actual points may be assigned to the corresponding unwrapped points in step 720, which may be represented as:
[( , ), ( , )…] = [( , ), ( , )…], further to which the process may end.
[0069] More specifically, from initial subject vehicle position (i.e. (0,0)), two control points and endpoint, points on cubic Bezier curve are calculated, which is further scaled by endpoint longitudinal distance, to get the actual unwrapped path. Consequently, in case of curved road, this unwrapped path is wrapped again using road curvature to get the final planned trajectory.
[0070] More specifically, in case of trajectory computation for the curved road scenario, the actual endpoint is first converted into a temporary endpoint. The temporary endpoint is an equivalent endpoint by unwrapping/ straightening the curved path. Subsequently, the optimal control points are computed with the temporary endpoint and trajectory points are computed. Further these points are wrapped to the circle having radius of curved path to determine final trajectory points.
[0071] In one embodiment, during generation of one or more instructions corresponding to one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory to optimise the trajectory of the host vehicle to avoid static and dynamic obstacles in a dynamic environment. More specifically, upon analysing entire system health, a decision processing module acts as final decision maker and commands trajectory planning module to provide planned trajectory. Longitudinal and lateral control facilitates to follow the planned trajectory and issues steering and speed commands to actuation module. The actuation module combines all type of necessary lower-level controls such as Engine torque, deceleration, steering torque, and further also handles arbitration and overrides by driver or system, or the like.
[0072] FIG. 2 illustrates exemplary functional components of a processing unit 200 in accordance with an embodiment of the present disclosure. In an aspect, the processing unit 106 may comprise one or more processor(s) 202. The one or more processor(s) 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the one or more processor(s) 202 are configured to fetch and execute computer-readable instructions stored in a memory 206 of the processing unit 106. The memory 206 may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service. The memory 206 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non- volatile memory such as EPROM, flash memory, and the like.
[0073] The processing unit 106 may also comprise an interface(s) 204. The interface(s) 204 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 204 may facilitate communication of processing unit 106 with various devices coupled to the processing unit 106 such as the input unit 104 and the output unit 108. The interface(s) 204 may also provide a communication pathway for one or more vehicle parameters of the processing unit 106. Examples of such components include, but are not limited to, processing engine(s) 208 and data 210.
[0074] The processing engine(s) 208 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 208. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) 208 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) 208 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 208. In such examples, the processing unit 106 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the processing unit 106 and the processing resource. In other examples, the processing engine(s) 208 may be implemented by electronic circuitry. The database 210 may comprise data that is either stored or generated as a result of functionalities implemented by any of the components of the processing engine(s) 208.
[0075] In an exemplary embodiment, the processing engine(s) 208 may include a situation and threat analysis module 212, a event planning module 214, a co-ordinate generation module 216, a Bezier curve calculation module 218, a longitudinal, latitude distance and road curvature calculation module 220, a trajectory planning module 222, and supplementary module(s) 224.
[0076] It would be appreciated that modules being described are only exemplary modules and any other module or sub-module may be included as part of the system 100 or the processing unit 106. These modules too may be merged or divided into super-modules or sub-modules as may be configured.
[0077] In an aspect, one or more pre-processors of an input unit operatively coupled with the processing unit 106 perform camera, RADAR and LIDAR measurement and pre-processing of raw data captured by the input perception and sensor unit 102 to receive input signals comprising a sequence of images, information related to presence, location, and velocity of target vehicles, and information related to surrounding environment.
[0078] The situation and Threat Analysis Module 212. According to an embodiment, the situation and threat analysis module 212 estimates a free drive passage and assesses collision probability for the host vehicle. The situation and threat analysis module 212 perform a collision and threat assessment for the host vehicle based on the surrounding environment and the drive passage estimation of the host vehicle.
[0079] The event planning module 214. In an embodiment, the processor analyses an event for the host vehicle. The initial trajectory is determined as part of a minimum curve maneuver trajectory estimation for performing an emergency steering operation of the host vehicle for an emergency collision escape.
[0080] In an embodiment, the co-ordinate generation module 216 generates co-ordinates of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path.
[0081] In one embodiment, the Bezier curve calculation module 218 may be configured to a calculate cubic Bezier curve for the at least one control point across a longitudinal distance, to obtain a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path.
[0082] In one embodiment, the longitudinal, lateral distance and road curvature calculation module 220 may be configured to compute a normalised longitudinal distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve.
[0083] In one embodiment, the trajectory planning module 222 may be configured to generate an optimised trajectory for the host vehicle having minimum curvature path in any of the straight or the curved path.
[0084] In one embodiment, the trajectory planning module 222 may also be configured to compute and suggest the best suitable trajectory path which needs to be adapted by the host vehicle to avoid any misfunctioning of the host vehicle on the path while in motion.
[0085] In one embodiment, the supplementary module(s) 224 implement functionalities that supplement applications or functions performed by the system 100, processing unit 106 or the processing engine(s) 208.
[0086] Although the proposed system has been elaborated as above to include all the main modules, it is completely possible that actual implementations may include only a part of the proposed modules or a combination of those or a division of those into sub-modules in various combinations across multiple devices that may be operatively coupled with each other, including in the cloud. Further the modules may be configured in any sequence to achieve objectives elaborated. Also, it may be appreciated that proposed system may be configured in a computing device or across a plurality of computing devices operatively connected with each other, wherein the computing devices may be any of a computer, a smart device; an Internet enabled mobile device and the like. Therefore, all possible modifications, implementations and embodiments of where and how the proposed system is configured are well within the scope of the present invention.
[0087] FIG. 3 illustrates exemplary representation 300 of a minimum curvature trajectory planning for a straight path scenario in accordance with an embodiment of the present disclosure. A host vehicle 302 may be travelling in a straight path 304 at a constant speed. At time interval ‘T’, the signal sensed by the one or more sensors present in the sensor unit 102 gets transmitted to the input unit 104, where the sensed data may be pre-processed, analysed and generate an analysis report for the processing unit 106. The analysis report may state that there may be a target vehicle 306 present at a distance ‘D’ from the host vehicle 302, and may generate a request to initiate the trajectory 314 generation for the host device 302. In order to achieve the trajectory path, the processing unit 106 initially identifies the end points 318 the host vehicle 302 need to reach from a reference point 316 or a start point which may be a point of the existing location of the host vehicle. The end points may be present on the path 310 which may be in parallel to the first path 304. Further, the processing unit 106 may compute a normalised longitudinal distance from the reference point 316 of the host vehicle 302 to a first control point 308 upon calculating a cubic Bezier curve for the first control point 308. Also, the processing unit 106 calculates the normalised lateral distance for the host vehicle 302.
[0088] Further, multiple Brazier curves may be obtained out of which the curve having the least or minimum curvature may be chosen by the processing unit 106. The processing unit 106 may now finalise the symmetric trajectory path having the minimum curvature which is further transmitted to the output unit 108 and subsequently to the trajectory control and steering actuation unit 110.
[0089] Furthermore, in continuation with FIG. 1 – 7, all the computed results are plotted in respective graphs in order to study the behaviour of the system 100. Referring to FIGs. 8a-8d, FIGs. 8a, 8b, 8c and 8d represents a result for a first test scenario for a Final Planned Trajectory for a straight road of FIG. 7 in accordance with an embodiment of the present disclosure. FIG. 8a represents the graph 800 for a final planned trajectory for the host vehicle for a straight road scenario plotted against X and Y parameters. FIG. 8b represents the graph 800 for a wrapped path plotted for curvature value verses the X value. FIG. 8c represents the graph 800 for an unwrapped path plotted for X and Y values. FIG. 8d represents the graph 800 for an unwrapped path plotted for X and curvature values. Further, the first test scenario for the final planned trajectory for the straight road scenario was found to have the co-ordinates for the end points as (50, -4).
[0090] FIGs. 9a, 9b, 9c and 9d represents a result for a second test scenario for a Final Planned Trajectory having a road radius of about 250 meters of FIG. 7 in accordance with an embodiment of the present disclosure. FIG. 9a represents the graph 900 for a final planned trajectory for the host vehicle having a road radius of about 250 meters which is plotted against X and Y parameters. FIG. 9b represents the graph 900 for a wrapped path plotted for curvature value verses the X value. FIG. 9c represents the graph 900 for an unwrapped path plotted for X and Y values. FIG. 9d represents the graph 900 for an unwrapped path plotted for X and curvature values. Further, the second test scenario for the final planned trajectory for the road radius of about 250 meters was found to have the co-ordinates for the end points as (70, -4)
[0091] FIGs. 10a, 10b, 10c and 10d represents a result for a third test scenario for a Final Planned Trajectory having a road radius of about 250 meters of FIG. 7 in accordance with an embodiment of the present disclosure. FIG. 10a represents the graph 1000 for a final planned trajectory for the host vehicle having the road radius of about 250 meters plotted against X and Y parameters. FIG. 10b represents the graph 1000 for a wrapped path plotted for curvature value verses the X value. FIG. 10c represents the graph 1000 for an unwrapped path plotted for X and Y values. FIG. 10d represents the graph 1000 for an unwrapped path plotted for X and curvature values. Further, the third test scenario for the final planned trajectory for the road radius of about 250 meters was found to have the co-ordinates for the end points as (70, 4). Henceforth, the system 100 provides a single solution for multiple use cases with variable endpoint. Fig. 8b, 8c, 8d, 9b, 9c, 9d, 10b,10c,10d include Bezier curves for deviated control points, around optimal control point. This shows that any deviation around optimal control point leads to increase in the curvature.
[0092] FIG. 11 is a flow diagram illustrating a method 1100 for determining a trajectory for said host vehicle in at least one of a straight path or a curved path in accordance with an embodiment of the present disclosure. The method 1100 comprises receiving an input signal comprising one or more parameters of surroundings of the host vehicle from an input unit, the input unit comprising one or more one or more sensors mounted on the host vehicle in step 1102.
[0093] The method 1100 also comprises initiating a manoeuvre event upon analysing at least one of the signal representatives of the one or more parameters, an input from one or more sources, or a combination thereof in step 1104.
[0094] Furthermore, the method 1100 comprises generating of an end point for the manoeuvre event, upon analysing one or more variables associated to one of the straight path or the curved path in step 1106.
[0095] The method 1100 also comprises computing a normalised longitudinal distance from a start point of the host vehicle to at least one control point, upon calculating a cubic Bezier curve for the at least one control point across a longitudinal distance, for obtaining a symmetric trajectory comprising minimum curvature for at least one of the curved path or the straight path in step 1108.
[0096] The method 1100 also comprises generating a command to provide a planned trajectory for executing the manoeuvre event, wherein the planned trajectory is generated based on calculated longitudinal distance, for avoiding collision of the host vehicle with at least one target vehicle in step 1110.
[0097] Furthermore, the method 1000 also comprises generating one or more instructions to corresponding one or more vehicle parameters of the host vehicle to perform the manoeuvre event according to the planned trajectory for optimising the trajectory of the host vehicle for avoiding static and dynamic obstacles in a dynamic environment in step 1112, thereby providing a single solution for multiple use cases with variable endpoint .
[0098] Embodiments of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product comprising one or more computer readable media having computer readable program code embodied thereon.
[0099] Thus, it will be appreciated by those of ordinary skill in the art that the diagrams, schematics, illustrations, and the like represent conceptual views or processes illustrating systems and methods embodying this invention. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing associated software. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the entity implementing this invention. Those of ordinary skill in the art further understand that the exemplary hardware, software, processes, methods, and/or operating systems described herein are for illustrative purposes and, thus, are not intended to be limited to any particular named.
[00100] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
ADVANTAGES OF THE PRESENT DISCLOSURE
[00101] The present disclosure provides a system and method for determining a minimum curvature trajectory for a host device.
[00102] The present disclosure provides a system and method for determining a minimum curvature trajectory for a host device during an emergency condition to avoid collision.
[00103] The present disclosure provides dynamic generation of a minimum curve trajectory.
[00104] The present disclosure provides a system and method to plan a real time, collision free trajectory to avoid static and dynamic obstacles in a dynamic environment.
[00105] The present disclosure provides a system and method to efficiently compute Bezier curves.
[00106] The present disclosure provides a system and method to compute an optimal trajectory path having minimum curvature.
[00107] The present disclosure provides a system and method that helps in collision avoidance of obstacles for lower time to collision (TTC) with higher speeds where traditional AEB will not be able to avoid the collision due to high speed.
[00108] The present disclosure provides a system and method that has less computational effort and low complexity.
[00109] The present disclosure provides a system and method that can be used for comfort lane change, emergency lane change and overtaking.
[00110] The present disclosure provides a system and method to generate a single solution for multiple use cases with variable endpoint.
[00111] The present disclosure provides a system and method to provide a High flexibility approach due to usage of control points.
| # | Name | Date |
|---|---|---|
| 1 | 202121025288-STATEMENT OF UNDERTAKING (FORM 3) [07-06-2021(online)].pdf | 2021-06-07 |
| 2 | 202121025288-REQUEST FOR EXAMINATION (FORM-18) [07-06-2021(online)].pdf | 2021-06-07 |
| 3 | 202121025288-FORM 18 [07-06-2021(online)].pdf | 2021-06-07 |
| 4 | 202121025288-FORM 1 [07-06-2021(online)].pdf | 2021-06-07 |
| 5 | 202121025288-DRAWINGS [07-06-2021(online)].pdf | 2021-06-07 |
| 6 | 202121025288-DECLARATION OF INVENTORSHIP (FORM 5) [07-06-2021(online)].pdf | 2021-06-07 |
| 7 | 202121025288-COMPLETE SPECIFICATION [07-06-2021(online)].pdf | 2021-06-07 |
| 8 | 202121025288-Proof of Right [11-06-2021(online)].pdf | 2021-06-11 |
| 9 | 202121025288-FORM-26 [11-06-2021(online)].pdf | 2021-06-11 |
| 10 | Abstract1..jpg | 2021-11-25 |
| 11 | 202121025288-FER.pdf | 2023-02-01 |
| 12 | 202121025288-FORM-26 [25-07-2023(online)].pdf | 2023-07-25 |
| 13 | 202121025288-FER_SER_REPLY [25-07-2023(online)].pdf | 2023-07-25 |
| 14 | 202121025288-DRAWING [25-07-2023(online)].pdf | 2023-07-25 |
| 15 | 202121025288-CORRESPONDENCE [25-07-2023(online)].pdf | 2023-07-25 |
| 16 | 202121025288-CLAIMS [25-07-2023(online)].pdf | 2023-07-25 |
| 17 | 202121025288-US(14)-HearingNotice-(HearingDate-06-01-2026).pdf | 2025-11-20 |
| 1 | 202121025288E_24-01-2023.pdf |