Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
THIRD ORDER POLYNOMIAL-BASED COURSE PREDICTION FOR DRIVER ASSISTANCE FUNCTIONS
Document Type and Number:
WIPO Patent Application WO/2014/182702
Kind Code:
A1
Abstract:
Methods and systems for performing vehicle driver assistance. One method includes determining, at a controller, whether the vehicle is steering toward a drive-straight state and when the vehicle is steering toward the drive-straight state, calculating, at the controller, a predicted course trajectory using a third order polynomial. The method also includes calculating, at the controller, the predicted course trajectory using a non-third-order function when the vehicle is not steering toward the drive-straight state. In addition, the method includes performing the driver assistance based on the predicted course trajectory.

Inventors:
SCHWINDT OLIVER (US)
CHAKRABORTY BHAVANA (US)
GULATI SHILPA (US)
Application Number:
PCT/US2014/036974
Publication Date:
November 13, 2014
Filing Date:
May 06, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
SCHWINDT OLIVER (US)
CHAKRABORTY BHAVANA (US)
GULATI SHILPA (US)
International Classes:
B60W30/095; B60K31/00; B60W30/16; B60W30/18; B62D15/02; G01S13/931
Foreign References:
EP1439442A22004-07-21
EP1684142A12006-07-26
US20030225519A12003-12-04
Other References:
POLYCHRONOPOULOS A ET AL: "Sensor Fusion for Predicting Vehicles' Path for Collision Avoidance Systems", IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, IEEE, PISCATAWAY, NJ, USA, vol. 8, no. 3, 1 September 2007 (2007-09-01), pages 549 - 562, XP011191510, ISSN: 1524-9050, DOI: 10.1109/TITS.2007.903439
Attorney, Agent or Firm:
LAWSON, Molly (100 East Wisconsin AvenueSuite 330, Milwaukee Wisconsin, US)
Download PDF:
Claims:
CLAIMS

What is claimed i.s:

1 , A method of performing driver assistance for a vehicle, the method comprising: determining, at a controller, whether the vehicle is steering toward a drive-straight state; when the vehicle is steering toward the drive-straight state, calculating, at the controller, a predicted comse trajectory using a third order polynomial; when the vehicle is not steering toward the drive-straight state, calculating, at the controller, the predicted course trajectory rising a non-third-order function; and performing the driver assistance based on the predicted course trajectory.

2. The method of Claim 1, wherein determining whether the vehicle is driving toward the drive-straight state includes determining whether a steering angle of the vehicle is greater than zero and a steering angle velocity of the vehicle i less than zero.

3. The method of Claim 1, wherein determining whether the vehicle is driving toward the drive-straight state includes detenmning whether a steering angle of the vehicle is less than zero and a steering angle velocity of the vehicle is greater than zero.

4. The method of Claim 1, wherein calculating the predicted course trajectory using a third order polynomial includes calculating a first portion of the predicted com se trajectory using the third order polynomial, the first portion extending from the vehicle in a driving direction of the vehicle, and calculating a second portion of the predicted course trajectory using a non-third-order function, the second portion extending f om an end of the first portion in the driving direction of the vehicle.

5. The method of Claim 4, wherein calculating the first portion of the predicted course trajectory includes determining a distance along the first portion where the vehicle reaches a zero-curvature point, the zero-curvature point defining the end of the first portion.

6. The method of Claim 5, wherein determining the distance includes calculating the zero-curvature point in a longitudinal directio based on a tangent of a steering angle of the vehicle divided by a distance between a front axle and a rear axle of the vehicle.

7. The method of Claim 4, wherein detemmiing the distance includes calculating the zero-curvature point in a longitudinal direction based on a yaw rate of the vehicle divided by a velocity of the vehicle.

8. The method of Claim 4, wherein calculating the second portion of the predicted course trajectory includes calculating the second portion using a linear model.

9. The method of Claim 1, further comprising, when a velocity of the vehicle is less than approximately 1.0 meters per second, calculating the predicted course trajectory using a non- third-order function.

10. The method of Claim 1, wherein calculating the predicted course trajectory using the third order polynomial includes combining the predicted course trajectory calculated using the third order polynomial and the predicted course trajectory calculated using the non-third- order function.

11. A driver assistance system for a vehicle, the system including: a vehicle dynamic state sensor; and a controller configured to: receive a signal from the vehicle dynamic state sensor, detemime whether the veiiicle is steering toward a drive-straight state based on the signal from the vehicle dynamic state sensor, when the vehicle is steering toward the drive-straight state, calculate a predicted course trajectory using a third order polynomial, when the vehicle is not steering toward the drive-straight state, calculate the predicted course trajectory using a non-third-order function, and perform a driver assistance function based on the predicted course trajectory.

12. The system of Claim 11 , wherein the signal indicates at least one selected from the group comprising (i) a steering angle of the vehicle, (ii) a steering angle velocity of the vehicle, (in) a yaw rate of the vehicle, and (iv) a velocity of the vehicle.

13. The system of Claim 11 , wherein the controller determines whether the veiiicle is driving toward the chive-straight state based on whether a steering angle of the vehicle is less than zero and a steering angle velocity of the veiiicle is greater than zero.

14. The system of Claim 11, wherein the controller is configured to calculate the predicted course trajectory using the third order polynomial by calculating a fust portion of the predicted course trajectory using the third order polynomial, the first portion extending from the vehicle in a driving direction of the vehicle, and calculating a second portion of the predicted course trajectory using a non-third-order function, the second portion extending from an end of the first portion in the driving direction of the vehic le.

15. The system of Claim 14, wherein the controller is configured to determine a distance along the first portion where the vehicle reaches a zero-curvature point, the zero-curvature point defining the end of the first portion.

1 . The system of Claim 15, wherein the controller is configured to calculate the zero- curvature point in a longitudinal direction based on a tangent of a steering angle of the vehicle divided by a distance between a front axle and a rear axle of the veiiicle.

17. The system of Claim 15. wherein the controller is configured to calculate the zero- curvature point in a longitudinal dn ection based on a yaw rate of the vehicle divided by a velocity of the vehicle.

IS. The system of Claim 14, wherein the controller is configured to calculate the second portion of the predicted course trajectory using a linear model.

19. The system of Claim 11 , wherein the controller calculates the predicted course trajectory based on combining a predicted course trajectory using the third order polynomial and the predicted course trajectory using the non-third-order function.

20. The system of Claim 11. wherein the controller determines whether the vehicle is driving toward the chive-straight state based on whether a steering angle of the vehicle is greater than zero and a steering angle velocity of the vehicle is less than zero.

Description:
THIRD ORDER POLYNOMIAL-BASED COURSE PREDICTION FOR DRIVER

ASSISTANCE FUNCTIONS

RELATED APPLICATIONS

[0001] Tlie present application claims priority to U.S. Provisional Application No. 61/821,482 filed May 9, 2013 and U.S. onprovisional Application No. 14/169,958 filed January 31, 2014, the entire content of which is hereby incorporated by reference.

FIELD

[0002] Embodiments of the present invention relate to methods and systems for predicting the travel course of a vehicle.

BACKGROUND

[0003] Veliicle systems, such as adaptive cruise control ("ACC") systems, can predict a course trajectory of a vehicle (also called a "current course prediction") and use the prediction to control the vehicle (e.g., automatically slow the vehicle).

SUMMARY

[0004] To generate a course prediction, vehicle systems can calculate a eenterime of a predicted trajectory based on vehicle operating parameters and navigation information (e.g., GPS information). Using the eenterime, the systems can generate a course prediction, which can be used to perform automatic vehicle control (e.g., ACC fimctionalify, lane keeping support, lane departure warning, autonomous driving, etc.). Some existing vehicle systems use second order polynoniial-based course prediction. However, second order polynomial- based course predictions can overestimate curves.

[0005] Accordingly, hi one embodiment, the invention provides methods and systems for perfomiing current course prediction using third-order polynomials. One method includes determining, at a controller, whether the veliicle is steering toward a drive-straight state, and, when the vehicle is steermg toward the drive-straight state, calculating, at the controller, a predicted course trajectory using a third order polynomial. When the vehicle is not steering toward the drive-straight state, the method includes calculating, at the controller, the predicted course trajectory using a non- third-order function. Driver assistance is then performed based on the predicted course trajectory. [0006] Another embodiment of the invention provides a driver assistance system for a vehicle. The system includes a veliicie dynamic state sensor and a controller. The controller is configured to receive a signal from the vehicle dynamic state sensor and determine when the vehicle will steer toward a drive-straight state based on the signal from the vehicle dynamic state sensor. The controller is also configured to calculate a predicted course trajectory using a third order polynomial when the vehicle is steering toward the drive- straight state and to calculate a predicted course trajectory using a non-third-order function when the vehicle is not steering toward the drive-straight state. The controller is further configured to perform a driver assistance function based on the predicted course trajectory.

[0007] Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] FIG. Ϊ schematically illustrates a vehicle including a driver assistance system.

[0009] FIG. 2 schematically illustrates a control unit included in the driver assistance system of FIG. 1.

[0010] FIG. 3 diagrarnniatically illustrates course prediction for a turn scenario using second order polynomial-based course prediction.

[00113 FIG. 4 diagrammatically illustrates course prediction for a lane change scenario using second order polynomial-based course prediction.

[0012] FIG. 5 is a flowchart illustrating control logic of the driver assistance system of FIG. 1.

[0013] FIG. 6 diagrammatically illustrates centerline course prediction for a turn scenario using the control logic of FIG. 5.

[0014] FIG. 7 diagrammatically illustrates centerline course prediction for a lane change scenario using the control logic of FIG. 5.

[0015] FIG. 8 diagrammatically illustrates border course prediction. DETAILED DESCRIPTION

[0016] Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways.

[0017] Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. Tlie use of "including," "comprising " ' or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Tire terms "mounted," "connected" and "coupled" are used broadly and encompass both direct and indirect mounting, connecting and coupling. Further, "connected" and "coupled" are not restricted to physical or mechanical connections or couplings, and can include electrical connections or couplings, whether direct or indirect. Also, electronic comnitmicatioiis and notifications may be performed using any known means including direct connections, wireless connections, etc.

[0018] It should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention. Furthermore, and as described in subsequent paragraphs, the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible.

[0019] FIG. 1 illustrates a vehicle 100 including an engine controller 102 and a brake controller 04. The veliicle 100 also includes a driver assistance system 110. The driver assistance system 110 includes a plurality of vehicle dynamic state sensors. The plurality of vehicle dynamic state sensors can sense current driving parameters, such as a steering angle of the vehicle 1 0, a steering angle velocity of the vehicle 100, a ya w rate of the vehicle 100, and a velocity of the veliicle 100. For example, the veliicle dynamic state sensors can include a velocity sensor 130, a yaw rate sensor 140, a steering angle sensor 150, and/or an object detection sensor 160. The velocity sensor 30 detects the velocity of the vehicle 100. The yaw rate sensor 140 detects the rate at which the vehicle 100 is turning about its yaw axis, and the steering sensor 50 detects changes in steering direction and/or velocity of the vehicle 100. The object detection sensor 160 detects objects in the vicinity of the vehicle 100 (e.g., other vehicles, sometimes referred to as target vehicles). The object sensor 160 ca include one or more object-detecting sensors, such as one or more radar sensor and or video sensors.

[0020] The driver assistance system 110 also includes a electronic control unit ("ECU") ISO. In some embodiments, the ECU 180 communicates with the controllers 02 and 104 and the sensors 130, 140, 150, and 160 over a bus 190, such as a controller area network

("CAN"). Other connections between the components, whether wired, wireless, direct, or indirect, are also possible.

[0021] As illustrated in FIG. 2, the ECU ISO includes a processing unit 210 (e.g., a microprocessor, an application specific integrated circuit ("ASIC"), etc.), one or more memory modules 220, and an input/output interface 230. It should also be understood that the ECU ISO can include additional components other than those described herein. Furthermore, in some embodiments, the functionality of the ECU 180 (described below) can be distributed among multiple systems or devices. Also, in some embodiments, the functionality of the ECU 180 can be combined with other systems or devices.

[0022] The memory modules 220 include non-transitory computer-readable media, such as random-access memory ("RAM") and/or read-only memory ("ROM"). The processing unit 2 0 obtains data from devices and systems external to the ECU 180 through the input/output interface 230. For example, the ECU 180 receives input from the sensors 130, 140, 150, and 160 through the input/output interface 230. Similarly, the ECU 180 can be configured to provide output to the engine controller 102 and'Or the brake controller 104 through the input/output interface 230.

[0023] The processing unit 2 0 receives information (e.g., from the memory modules 220 and/or the input/output interface 230) and processes the information by executing one or more instructions. The instructions are stored in the memory modules 220. The processing unit 210 also stores information (e.g., information received from the bus 190 or information generated by instructions executed by the processing 210) to the memory modules 220. The instructions stored in the memory modules 230 provide particular functionality when executed by the processing unit 210. In general, the instructions, when executed by the processing unit 210, use information from the sensors 130, 140, 150. and 160 to predict a vehicle trajectory and, in some embodiments, automatically control or assist the driver in controlling the veiiicle 100 based on the predicted trajectory. For example, in some embodiments, the ECU 180 is configured to provide driver-assistance functionality, such as adaptive cruise control ("ACC"), parking assistance, etc., based on the predicted trajectory. In other embodiments, the ECU 180 is configured to output a predicted trajectory to one or more other controllers included in the vehicle 100 that provide driver assistance functionality.

[0024] As noted above, some existing veiiicle systems perform second order polynomial- based course prediction. Performing course prediction using a second order polynomial, however, may not accurately model vehicle trajectory when a vehicle is exiting a curve. For example, to perform course prediction for the vehicle 300 using a second order polynomial, a centerline trajectory can be calculated using the following Equation (1) where kappa equals tan(phi)/L (phi is the steering angle of the vehicle and L is the distance between the front and rear axle of the vehicle), dx is distance in the longitudinal direction, and dy is distance in the lateral direction:

[0025] dy = (1/2) *kappa *dx *dx (1)

[0026] The term kappa represents the curvature of the predicted vehicle trajectory and can also be represented as veiiicle yaw rate (e.g., from the yaw rate sensor 140) divided by the vehicle's velocity (e.g., from the velocity sensor 130). The second-order model defined by Equation (1) is similar to the first term of a circle or the first term of a clothoid. A clothoid is a mathematical expression of lines with constant curvature change.

[0027] As illustrated in FIGS. 3 and 4, the second-order model overestimates the curvature of a turn. For example, FIG. 3 illustrates a veiiicle 300 timiing right. As the vehicle 300 turns right, the second order model defined by Equation (1) predicts a vehicle trajectory 301 that veers off the road and away from the vehicle 303. Accordingly,, if the predicted trajectory 301 were used by an ACC system, the system may not properly detect that the vehicle 300 is approaching the vehicle 303.

[0028] Similarly, FIG. 4 illustrates a vehicle 400 in a lane change scenario. As the vehicle 400 steers away from the left lane and into the right lane, the second order model defined by Equation (1) predicts a vehicle trajectory 401 that curves toward the vehicle 403 in the left lane (e.g., according to a circular or clothoid-like trajectory). However, the vehicle's actual intended trajectory straightens into the right lane toward the vehicle 405. Therefore, an ACC system may incorrectly target the vehicle 403 as a potential lane disturbance rather than the vehicle 405. which may result in dangerous or uncomfortable vehicle control.

[0029] To overcome these and other problems with second order models, the ECU 180 uses third order models to predict at least a portion of a vehicle trajectory. Third order polynomials describe a spiral. Therefore, as a vehicle steers into a curve, a coarse trajectory calculated using a third order model would predict that the vehicle's steering wheel will be turned at the same rate indefinitely and, hence, the vehicle will never exit the curve. However, since curves in the road (including curves, turns, lane changes, etc.) do not always become stronger or continue indefinitely, the ECU 180 can be configured to use third order polynomial-based course trajectory when the vehicle 100 is exiting a curve.

[0030] For example, the ECU 180 can be configured to model a predicted vehicle trajectory either linearly (e.g., when the vehicle 100 is traveling straight) or by a second order polynomial (e.g.. when the vehicle 100 is entering a curve) until the ECU ISO determines (e.g., based on driving parameters sensed by the vehicle dynamic state sensors) that the vehicle 100 is exiting a curve. Once this state has been determined, the ECU 80 uses third order polynomial-based course trajectory to straighten out the predicted vehicle course trajectory as the vehicle 100 steers out of the curve. After the vehicle 100 fully exits the curve (e.g., when the steering angle becomes zero for a straight line trajectory), the ECU 180 stops using the third order polynomial-based trajectory and returns to a non-ihird-order course prediction (e.g., second order course prediction). Accordingly, the ECU 180 can be configured to use a model for predicting a vehicle trajectory that includes a third order term and a non- third order term, where the third order term is only nonzero when the vehicle 0 is being steered out of a curve.

[0031] For example, FIG. 5 illustrates a method 500 performed by the ECU 180 to predict vehicle trajectory. As illustrated in FIG. 5, the method 500 includes receiving, at the ECU 180, sensed driving parameter's from the vehicle dynamic state sensors (at block 501). The sensed driving parameters can include a longitudinal velocity of the vehicle 100 as sensed by the velocity sensor 130, a vehicle yaw rate as sensed by the yaw rate sensor 140, a change in steering direction (e.g., a change in steering angle or steering angle velocity) as sensed by the steering sensor 1 0, and, optionally, one or more detected objects as sensed by the object detection sensor 160 (e.g., if the ECU 180 performs a driver assistance function that uses detected objects around the vehicle 100). The ECU 180 can store the sensed driving parameters (e.g. , in the memory module 220).

[00323 The ECU 1 SO uses the chiving parameters to determine whether the vehicle 100 is being steered toward a drive-straight state (at block 503). As noted above, third order polynomials can be used to accurately predict a vehicle trajectory when the vehicle is exiting a curve. Therefore, the ECU 180 can determine this state by detecting when the vehicle's steering wheel is steering the vehicle 100 toward an eqiulibrium or center point of the vehicle 1 0 (i.e., a drive-straight state).

[0033] For example, the ECU 1 SO can use the hiving parameters sensed by the vehicle dynamic state sensors to determine if the magnitude of the steering angle is nonzero and decreasing, such that either (a) phi (the steering angle) > 0 and phiDt (the steering angle velocity) < 0, or (b) phi < 0 and phiDt > 0. In both cases (a) and (b), the steering angle is nonzero (i.e., the steering wheel has been displaced from the center point) but the steering angle velocity indicates that the steering wheel is returning toward the cente point. In case (a), a positive steering angle (phi > 0) may indicate that the steering wheel is currently displaced from the center point by a certain magnitude in the clockwise direction. Therefore, a negative steering angle velocity (phiDt < 0) would indicate that the steering wheel is being tamed counterclockwise (i.e., in the direction opposite the original displacement) and at a certain rate. Since the steering wheel angle indicates a clockwise displacement from the center point but is being turned counterclockwise, the steering wheel must be remrnmg to the center point (i.e., the drive-straight state). The logic for case (b) is the same as that for case (a) with differences in directions for the steering angle and steering angle velocities.

[0034] When the vehicle 100 is not being steered toward a drive-straight state (at block 503), the ECU ISO calculates a non-third order polynomial-based course trajectory based on data from the vehicle dynamic state sensors (at block 505). The non-third order polynomial- based course trajectory can include a linear-based course prediction or a second order polynomial-based course trajectory (e.g., depending on the yaw rate or steering direction of the vehicle 100). For example, in some embodiments, the ECU ISO uses the second-order polynomial described above with respect to Equation (1) to predict a vehicle trajectory when the vehicle 100 is not being steered toward a drive-straight state, such as when the vehicle 100 is entering a curve. [0035] However, when the vehicle 100 is being steered toward a drive-straight state (at block 503), the ECU 180 calculates a course trajectory using a third order polynomial-based model and data from the vehicle dynamic speed sensors (at block 507). For example, in one embodiment, the ECU 180 calculates a course trajectory (i.e., a centerline of a trajectory) based on the following third-order polynomial (Equation (2)), where kappa equals tan/(phi}/L t phi is the steering angle (e.g., the angle of the front wheels), L is the distance between the front and rear axles of the vehicle 100, b = phiDt/(L^) *sec{phi) *sec(phi), phiDt is the steering angle velocity, and v is the vehicle velocity:

[00363 dy = (1/2) *kappa *dx*dx + (1/6) *b*dx*dx*dx (2)

[00373 As noted above, the value for kappa represents the curvature of the predicted vehicle trajectory and can also be represented as vehicle yaw rate divided by vehicle velocity. In some embodiments, the steering angle (i.e., phi) is the angle (i.e., turn) of the fr ont wheels. Also, hi vehicles with a constant steering ratio, the steering angle can be attained by dividing the steering wheel angle by the steering ratio and the steering angle velocity can be determined by dividing the steering wheel angle velocity by the steering ratio. In some embodiments, the model defined by Equation (2) is rotated around the vehicle's 400 thrust angle, which is the angle between the direction the body of the vehicle is pointing and the direction in the vehicle moving. The thrust angle is sometimes referred to as the slip angle.

[00383 hi some embodiments, the predicted course trajectory calculated using the third order polynomial-based model includes a first portion and a second portion. The ECU 180 calculates the first portion using the third order polynomial-based model and calculates the second portion using a non-third-order function. The first portion of the course trajectory extends from the vehicle 100 in a current driving direction of the vehicle (e.g.. forward or backward). The second portion of the course trajectory extends from the end of the first portion (i.e., the distant end of the first portion opposite the end starting at the vehicle 100) in the current driving direction of the vehicle (e.g., forward or backward). In some embodiments, the ECU I SO calculates the second portion using a linear model.

[0039] The distance or length of the first portion is defined by a zero-curvature point. The zero-curvature point is the point at which the drive-straight state is predicted to occur that indicates the transition between the first portion and the second portion (i.e., the transition from a third order term and a non-third order term). For example, the zero- curvature point defines a distance along the predicted course trajectory where the trajectory should switch from a curved third-order representation to a non-third-order representation (e.g., a straight linear representation) based on data from the vehicle dynamic state sensors.

[0040] The ECU 180 is configured to calculate the zero-cuivature point. The ECU 180 can calculate the zero-curvature point in a longitudinal direction based on a tangent of a steering angle of the vehicle divided by a distance between a front axle and a rear axle of the vehicle. The ECU 180 can also calculate the zero-curvature point in a longitudinal direction ba sed on a yaw rate of the vehicle divided by a velocity of the vehicle.

[00413 For example, the position of the zero-curvature point along the predicted course trajectory can be defemiined based on the following Equation (3);

[0042] 0 = kappa + b*dx (3)

[0043] in particular, the zero-curvature point can be determined by taking the derivative of Equation (3) as illustrated in Equation (4);

[0044] dxZeroPoint = -k ppa 'h (4)

[0045] In some embodiments, the ECU I SO calculates the second portion (i.e., the non- third order term) of the course trajectory based on the following Equation (5). where dyZeroPoint is the directional change in curvature in the lateral direction and firslDerivZeraPamt is the first derivative of the zero-curvature point ifirstDerivZ roPoint = kappa * dxZeroPoint + (1/2) * b * dxZeroPoint * dxZeroPoint).

[0046] dy = dyZeroPoint ÷ firstDerivZeroPoint*(dx - dxZeroPoint) (5)

[0047] As noted previously, third order polynomials represent a spiral. Therefore, third order polynomials have an inflection point where the function changes sign (i.e., where the range values of the function change from positive to negative or vice versa). Accordingly, for a third order polynomial-based course trajectory, there is a change in sign in lateral distance beyond the zero-curvature point. In particular, when the vehicle 100 exits a curve, the third order polynomial-based course trajectory calculated by the ECU 180 anticipates that the vehicle 00 will immediately enter a new curve, despite the vehicle's intended trajectory. Therefore, the ECU 180 only uses the third order term of the course trajectory when the vehicle is steering toward the drive-straight state (i.e., the first portion of the trajectory). Thus, the third order temi is zero for distances represented beyond the calculated zero- curvature point (i.e., the second portion of the trajectory).

[0048] As illustrated in Equations (3) and (4), the zero-curvature point can be impacted by steering angle velocity. Accordingly, the zero-curvature point has a greater impact on course prediction when the steering angle velocity gets larger. In particular, the zero- curvature point is calculated as occurring further ahead of the vehicle for small steering angle velocities, such that the curvature directional change indicated by the zero-curvature point may not be within the field of view of the object detection sensor 160 (e.g., a radar sensor). Accordingly, a course prediction within the field of view likely follows the third-order model. However, for large steering angle velocities, the zero-curvature point is calculated nearer the vehicle, and, therefore, would more likely be within the field of view of the object detection sensor 160. Therefore, in these situations, the locatio of the zero-curvature point along the predicted course trajectory can be used to more accurately predict the vehicle's course within the view of the object detection sensor 160. This results in more accurate identification of objects (e.g., other vehicles) that may collide with the vehicle's predicted trajectory.

[0049] hi addition to or as an alternative to calculating a zero-curvature point, the ECU 180 can be configured to use other information about the curvature of the road to determine the length of the first portion of the predicted course trajectory (i.e. , the tliird order term). For example, if a navigation system (e.g.. a GPS system) supplies information regarding the curvature of an oncoming stretch of road, the contribution of the third order term can be zeroed (i.e., the first portion of the trajectory can end) when the curve in the road is reached. By using this additional information regarding a road's curvature, the ECU 180 can better detect lane changes or curves.

[0050] As also illustrated above, vehicle velocity is in the denominator of the variable b (see Equation (4)). Therefore, for small velocities close to zero (or approximately zero), variable b becomes undefined and unstable. Accordingly, the ECU 180 can be configured to use a non-third-order model (e.g., a second-order current course prediction) when the vehicle 100 is detemiined to be steering toward the drive-straight state at low velocities (e.g., for vehicle velocities less than approximately 1.0 meters per second).

[0051] After the ECU 180 calculates a course trajectory, the ECU 180 can use the trajectory to perform driver assistance (at block 509). In particular, as noted above, the ECU 180 can be configured to perform ACC functionality or other driver assistance functionality. In oilier embodiments, the ECU I SO can transmit a calculated course trajectory (e.g., through the hiput/oinput interface 230) to a. separate system or controller that performs driver assistance functionality. When the ECU 180 (or a separate controller) performs ACC functionality, the ECU 180 can be configured to use the predicted course trajectory to determine whether another vehicle is located in the vehicle's trajectory. If so, the ECU 180 can be configured to automatically adjust the vehicle's speed, such as by communicating with the vehicle's engine controller 102 and/or a brake controller 104 (e.g., to slow down the vehicle 100 when the vehicle 100 gets too close to another vehicle or object).

[0052] As illustrated in FIG. 5, in some embodiments, the ECU 180 repeatedly (e.g., continuously) calculates a new course trajectory based on updated driving parameters from the vehicle dynamic state sensors (at block 501). Also, in some embodiments, the ECU 180 calculates the zero-curvature point as part of calculating the predicted course trajectory (a block 507). Therefore, as the predicted course trajectory is updated, the zero-curvature point is also updated.

[0053] FIGS. 6 and 7 illustrate course prediction performed by the ECU I SO. As illustrated hi FIG. 6, as a vehicle 600 begins to straighten out after performing a right turn, the ECU 1 SO generates a predicted vehicle trajectory 602 using a third order polynomial that straightens out the predicted vehicle trajectory. Accordingly, the course trajectory 602 points toward the vehicle 604 as opposed to pointing off the road (see FIG. 3). As illustrated in FIG. 6, the course trajectory 602 includes a first portion 602a and a second portion 602b. The first portion 602a is calculated using a third order polynomial and extends from the vehicle 600 in the direction of travel of the vehicle 600 (i.e., forward). The first portion 602a ends at the zero-curvature point 606. The second portion 602b of the trajectory is calculated using a non-third-order function (e.g., a linear model) and extends from the zero-curvature point 606 in the direction of travel of the vehicle 600 (i.e., forward). Based on the predicted vehicle trajectory 602, the vehicle 600 can perform ACC functionality or other driver assistance functions (e.g., with the ECU 180 or a separate controller). For example, when performing ACC functionality, the predicted vehicle trajectory 602 is used to identify the vehicle 606 as a preceding or target vehicle and automatically control the speed of the vehicle 600 to maintain a predetermined distance between the vehicle 600 and the vehicle 603. [0054] Similarly, as illustrated in FIG. 7, as a veliicle 700 begins to straighten out into the right lane alter perfonmng a lane change, the ECU 180 generates a predicted vehicle trajectory 703 using a third order polynomial that straightens out the predicted veliicle trajectory. Again, the predicted veliicle trajectory 703 includes a first portion 703a and a second portion 703b. The first portion 703a is calculated using a third order polynomial (i.e., the third order term is nonzero) and extends from the vehicle 700 in the direction of travel of the vehicle 700 (i.e., forward). The first portion 703a ends at the zero-curvature point 704. The second portion 703b of the trajectory is calculated using a non-tliird-order function (e.g., a linear model where the third order term is zero) and extends from the zero-curvature point 704 hi the direction of travel of the vehicle 700 (i.e., forward). Accordingly, the predicted vehicle trajectory 703 points toward the vehicle 705 in the new lane of the veliicle 700 as opposed to pointing toward the vehicle 707 hi the neighboring lane (see FIG. 4). Therefore, if the predicted vehicle trajectory 703 is used to perforin ACC mnctionality, the vehicle 705 can be identified as a preceding vehicle and the speed of the vehicle 700 can be automatically controlled to maintain a predetermined distance between the vehicle 700 and the vehicle 705.

[0055] it should be understood that the center line trajectory described above can be converted into a two-dimensional veliicle trajectory based on a known width of the veliicle 100. I other embodiments, separate borders (i.e., a right and left border) can be defined in addition to or as an alternative to a ceiiterline trajectory. For example, in some embodiments, the third order polynomial-based course trajectory is stabilized against noise in the steering angle velocity, such as to avoid target object losses in object detection or ACC applications. Noise in the steering angle velocity can be caused by varying the steering velocity while exiting a curve (e.g., the driver does not steer with constant velocity in a curve exit). For example, where the third order term is nonzero, the left and right borders of the predicted vehicle trajectory can be modeled unequally. In particular, during a right turn the left border can be modeled based on a third order polynomial and the right border can be modeled based on a mix of both second and third order polynomials. An exemplary ratio of a third order to second order polynomial mix could be 80% to 20%. For a left turn, the left border is modeled using the polynomial mix and the right border is modeled using a pure third-order polynomial.

[0056] For example, FIG. 8 illustrates a vehicle 800 exiting a curve. As the vehicle 800 begins to steer toward the drive-straight state, the ECU ISO generates a third order polynomial-based left border 801 and a mixed polynomial-based light border 803. The right border 803 "widens" the predicted vehicle trajectory due to the presence of the second order polynomial component, which increases the curvature of the right border 803. Widening the predicted vehicle trajectory in this way safeguards the predicted vehicle trajectory against varying steering angle velocities, which may cause an unstable predicted vehicle trajectory. In particular, since the third order polynomial-based course trajectory is recalciilaied for each change in steering angle velocity, a varying steering angle velocity may cause a wavering (i.e., noisy) predicted vehicle trajectory. By implementing a widened predicted vehicle trajectory, noise can be reduced or eliminated by encompassing the varying steering angle velocity as a range as opposed to a wavering trajectory. For example, if the steering angle velocity is determined to be non-constant, one of the borders (e.g., the border on the side corresponding to the direction of the curve) can be calculated based on the polynomial mix.

[0057] Thus, embodiments of the invention relate to systems and methods for predicting the trajectory of a vehicle. As noted above, the third order polynomial-based course predictions can be used by ACC systems or other systems providing automatic driver assistance. Also, the course prediction methodology described above defines a trajectory based on a centerlme and a fixed width. However, it should be understood that other methods can be used to predict the width of a vehicle trajectory (e.g., variable width (e.g., based on detected distances), detected lane widths, etc.). Furthermore, different shapes for the predicted vehicle trajectory, including the predicted boundaries, may also be used. In addition, it should be understood thai the thresholds, values, and parameters described herem are provided as examples and can vary based on vehicle operation, vehicle size, driving environment, driver assistance functionality, etc.

[0058] Various features of the invention are set forth in the following claims.