Abstract:
A system and method for detecting a road curve as a vehicle approaches the curve, automatically providing road curvature information and controlling vehicle speed. The system uses a locating device and a map database to know the vehicle&#39;s position. Depending on the speed of the vehicle, the system generates a curvature profile for different curvature data points at or around the curve in front of the vehicle. The system then generates a desired speed profile for the curvature points. The desired speed profile and the actual vehicle speed are compared to determine whether the vehicle is traveling too fast for the target speed at each profile point. The acceleration computation can be enhanced by providing a driver cornering mode input that the vehicle operator can select based on how aggressively the driver wants the system to act to slow down the vehicle.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates generally to a system and method for detecting whether a vehicle is approaching a curve in the mad too fast, and if so, automatically providing braking control and, more particularly, to a system and method for determining whether a vehicle is approaching a curve in the mad too fast, and if so, automatically providing braking control, where the system and method adaptively determine when to provide curvature information of the curve based on vehicle speed and selectively provide driver aggressiveness control. 
     2. Discussion of the Related Art 
     Driving too fast on a road curve could cause not only discomfort for vehicle occupants, but also, under some circumstances, the loss of vehicle control. If a driver approaches a curve at too high of a speed, vehicle control prior to normal curve steering begins with a reduction in vehicle speed. The deceleration level required for a curve depends on many factors, such as the curvature of the road, the vehicle speed, the curve bank angle, the road gradient, the road surface coefficient of friction, vehicle characteristics, driver competence, etc. Usually, a driver relies on his or her visual information about the upcoming curve to determine the proper speed and braking level. Although there are generally warning signs for sharp curves, such as posted speed limits, drivers sometimes do not pay attention to these warning signs or follow the posted speed limit. The timing of the brake application relative to the vehicle&#39;s position on a curve is also important in that it is generally necessary to slow down enough before the vehicle reaches the curve. Failure to perform a proper maneuver may result in not only repeated adjustments of the brake and steering, but also, possibly serious accidents by crossing the lane boundary or going off the road. 
     Certain active safety techniques have been developed in the art that may assist drivers in maintaining vehicle control during cornering. The conventional implementations of the active safety approaches have been anti-lock braking and traction control systems to help drivers corner safely by sensing road conditions and intervening in the driver&#39;s brake and throttle control selections. However, drivers may be helped further by complimenting such control systems with strategies that intervene in vehicle control prior to entering a curve. 
     Through study and simulation, a smaller curve radius has been shown to require a larger steering input and steering error increases linearly with required steering wheel angle. Drivers compensate for this by choosing a slower speed, such that the time to line crossing to the inner boundary is constant over all curve radius. Thus, the safety margin to the inner lane boundaries are maintained. 
     One known system for determining whether a vehicle is approaching a curve too fast, and if so, automatically providing vehicle braking, is described in U.S. patent application Ser. No. 11/297,906, titled Speed Control Method for Vehicle Approaching and Traveling on a Curve, filed Dec. 9, 2005, assigned to the assignee of this application and herein incorporated by reference. This system uses GPS signals, a map database, vehicle speed, vehicle yaw rate and steering angle to provide a profile of the proper speed for a vehicle traveling around a curve at different distances from the vehicle. 
     This system has limitations in that the system is calibrated to provide road curvature information at a predetermined distance of the curve, such as 250 meters. As a result, the resolution of the curve data is limited because there are fixed steps between the data points, and the number of map points will be limited due to computation and communication time. Therefore, if a vehicle is traveling slowly, the curvature information provided at the fixed step increments a predetermined distance from the curve may not be necessary, and thus the resolution of the system may be limited. Further, if the vehicle is traveling at a high speed, the fixed distance from the curve to provide the curvature information may be too close to the curve to ensure a smooth deceleration before reaching the curve. 
     SUMMARY OF THE INVENTION 
     In accordance with the teachings of the present invention, a system and method are disclosed for detecting a road curve as a vehicle approaches the curve, automatically providing road curvature information and controlling vehicle speed. The system uses a locating device, such as a GPS receiver, and a map database to know the vehicle&#39;s position relative to curves in the road. Depending on the speed of the vehicle, the system generates a curvature profile for different curvature data points at or around the curve in front of the vehicle. Based on the curvature profile information, the system generates a desired speed profile for the curvature points. The desired speed profile and the actual vehicle speed are compared to determine whether the vehicle is traveling too fast for the target speed at each profile point. If so, the system provides a command to decelerate the vehicle as it navigates around the curve. The acceleration computation can be enhanced by providing a driver cornering mode input that the vehicle operator can select based on how aggressively the driver wants the system to act to slow down the vehicle. 
     Additional features of the present invention will become apparent from the following description and appended claims taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a plan view of vehicle including a curve speed control system, according to an embodiment of the present invention; 
         FIG. 2  is a schematic block diagram of the curve speed control system shown in  FIG. 1  and 
         FIG. 3  is a plan view of a series of curvature data points around a portion of a curve in the road that identify locations to provide a road curve profile. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     The following discussion of the embodiments of the invention directed to a system and method for identifying a curve in the road for a vehicle, and automatically providing braking if the vehicle is traveling too fast for the curve, is merely exemplary in nature, and is in no way intended to limit the invention or its applications or uses. 
     The present invention proposes a curve speed control system for a vehicle that automatically provides a braking command to vehicle brakes if the system is activated and the vehicle is approaching a curve too quickly. As will be discussed in detail below, the curve speed control system adaptively provides road curve information at certain intervals from the vehicle depending on the vehicle speed. Further, the present invention includes a driver cornering mode that allows the vehicle operator to selectively control the aggressiveness that the curve speed control system will allow the vehicle to travel through the curve. 
       FIG. 1  is a block diagram plan view of a vehicle  10  including a curve speed control system  12 ; according to an embodiment of the present invention. The vehicle  10  includes front wheels  14  and  16  and rear wheels  18  and  20 . The curve speed control system  12  can provide automatic braking to the wheels  14 - 20  through a braking control module  22  if the system  12  is enabled and the vehicle  10  is traveling toward or around a curve too quickly. Further the curve speed control system  12  can provide vehicle acceleration by an acceleration control module  24  if the system  12  is part of a vehicle speed control system, such as an adaptive cruise control (ACC) system, well known to those skilled in the art. 
     The curve speed control system  12  receives various vehicle parameter inputs, such as vehicle speed signals from a vehicle speed sensor  26 , yaw rate signals from a yaw rate sensor  28 , vehicle steering angle signals from a steering angle sensor  30 , map information from a map database  32 , and GPS position signals from a GPS receiver  34 . The GPS receiver  34  may be replaced or augmented with any suitable locator system that provides the geographic location of the vehicle  10 . The map database  32  will include the necessary information required by the system  12 , and may include information about road curvature, curve bank angle, road surface co-efficient of friction, road surface material, etc. The map database  32  can be any suitable device that provides information about road curves, and can be updated by satellite or cellular transmissions or be a storage device on the vehicle  10 . Further, other data can also be provided, such as ambient temperature, weather, etc. 
       FIG. 2  is a block diagram of the curve speed control system  12  that provides acceleration and deceleration commands to the brake control module  22  and the acceleration control module  24 . A map processor  40  is used in association with the map database  32 , and can be any suitable processor for the purposes described herein. 
     The map processor  40  receives the sensor signals from the various vehicle sensors discussed above on line  42  and the GPS signals from the GPS receiver  34  that provides the location of the vehicle  10  on line  44 . The map processor  40  identifies a number of curvature data points based on the vehicle speed, where each data point is defined by a gap d gap =d(V x ).  FIG. 3  shows a plan view of a vehicle  60  traveling along a road  62  and approaching a curve  64  in the road  62 . A series of curvature data points  66  identify those locations along the road  62  for which the system  12  provides curvature information. The distance between the vehicle  60  and the data points  66  and the distance between the data points  66  are adaptively determined by the system  12  based on the vehicle speed V x  using the gap calculation. Further, as will discussed in detail below, the number of the data points  66  can be set based on driver desired aggressiveness. The curvature of the curve  64  may be computed as a reciprocal of the radius of a circle fitted for the neighboring three data points of the curve. For simulated road geometry, the road geometry data is computed offline using a cubic B-spline fitted to the whole path and stored with the curvature data in a table format so that it can be referenced using the vehicle position. 
     A curvature profile processor  46  receives and stores the curvature path geometry and curvature data information at every predetermined period of time, such as 100 ms, for the curvature data points  66  from the map processor  40 . The curvature profile processor  46  generates a curvature profile of an upcoming curve in the road based on the data points  66  that is adaptable to the vehicle speed signal V x . The road curvature estimation or profile can be defined by the curvature data points  66  along the curve as:
 
 c   target   =[c (0),  c (1), . . . ,  c ( N )]  (1)
 
     In one non-limiting embodiment, the control loop is set at 10 ms so that the vehicle speed, yaw rate and steering wheel angle are utilized to interpolate the vehicle position. When there is no current map data available, the processor  46  will interpolate the stored path geometry data based on the current vehicle position and the estimate of the curvature of the upcoming road. 
     The road curvature profile is then sent to a desired speed profile processor  48  that generates a desired or target vehicle speed profile that provides a target speed for each curvature data point  66  by referring to a target speed look-up table computed offline for a given curvature or road radius. The target speed profile is modified based on vehicle characteristics, driver preference or other road information such as, bank angle, road gradient and other conditions. 
     The vertical and the radial force equilibrium equations for a vehicle to slip out of a curve with a bank angle θ and a road friction coefficient μ can be defined as: 
                     mg   -     N   ⁢           ⁢   cos   ⁢           ⁢   θ     +     μ   ⁢           ⁢   N   ⁢           ⁢   sin   ⁢           ⁢   θ       =   0           (   2   )                     mV   x   2     R     -     N   ⁢           ⁢   sin   ⁢           ⁢   θ     +     μ   ⁢           ⁢   N   ⁢           ⁢   cos   ⁢           ⁢   θ       =   0           (   3   )               
Where m is the vehicle mass, R is the radius of curvature of the curve and g is the acceleration constant.
 
     The critical speed V x     —     critical  that would cause a vehicle to slide out of a curve can be provided from equations (2) and (3) as: 
                     V   x_critical     =           A   y     ⁡     (       sin   ⁢           ⁢   θ     +     μ   ⁢           ⁢   cos   ⁢           ⁢   θ       )           cos   ⁢           ⁢   θ     -     μ   ⁢           ⁢   sin   ⁢           ⁢   θ                   (   4   )               
Where A y =Rg.
 
     Although lateral dynamics of a vehicle is a primary factor in deciding the desired curve speed, there are many other defining factors, such as driver comfort level, posted curve speed limit, road condition, bank angle, vehicle characteristics and driver style that affect the desired vehicle speed. If the maximum lateral acceleration is limited to A y  for driver comfort, then equation (4) can be written for a desired comfort speed {circumflex over (V)} x(i)  as: 
                       V   ^       x   ⁡     (   i   )         =       K   v     ⁢     K   d     ⁢     K   r     ⁢           A   y     ⁡     (       sin   ⁢           ⁢   θ     +     μ   ⁢           ⁢   cos   ⁢           ⁢   θ       )           cos   ⁢           ⁢   θ     -     μ   ⁢           ⁢   sin   ⁢           ⁢   θ                     (   5   )               
Where K v  is a factor associated with vehicle characteristics, K d  is a factor relating to driving style and K r  is a factor associated with road type. The factor K v  is a constant gain factor related to the vehicle&#39;s center of gravity height, track width, vehicle roll characteristics, etc. The factor K d  is a gain factor that could be selected dynamically by the driver, such as driving mode selection as normal, conservative or aggressive. The factor K r  is based on updated road conditions, such as highway, local street, gravel road, etc., which can be included in the map data.
 
     Solving equation (5) for each curvature data point i, the vehicle target speed profile {circumflex over (V)} x     —     target  can be provided as:
 
{circumflex over ( V )} x     —     target   =[{circumflex over (V)}   x (0),  {circumflex over (V)}   x (1), . . . ,  {circumflex over (V)}   x ( N )]  (6)
 
     The desired target speed profile {circumflex over (V)} x     —     target  and the actual vehicle speed V x  on line  52  are sent to an acceleration profile processor  50  to generate an acceleration command A x     —     cmd  based on the current vehicle speed V x  and the desired speed profile {circumflex over (V)} x     —     target  for a curve ahead of the vehicle  10 . In one non-limiting embodiment, the acceleration command A x     —     cmd  can be computed by minimizing the sum of the speed differences between the future vehicle speed and the target speed using an optimal control principle. The future vehicle speed can be computed for each data point  66  from equation (7) below if a constant acceleration command A x  is applied.
 
 V   x ( i )= V   x (0)+ A   x   ×Δt×i   (7)
 
     Further, a weighting function W can be applied to each curvature data point  66  depending on its distance from the vehicle  10  as:
 
 W=[w ( o ),  w (1), . . . ,  w ( N )]  (8)
 
     Typically, the points closer to the vehicle  10  will be weighted higher. The weighting function W makes the speed transition through the curve smooth. 
     The acceleration profile processor  50  also receives a driver cornering mode signal from a driver mode processor  54  that identifies how aggressive the driver wants the vehicle  10  to respond to driving through a curve. For example, an aggressive driver may want to set the speed through the curve higher than what would be a normal comfort level for most drivers, or may want the vehicle to not react as quickly to an upcoming curve. In order to accommodate the driver mode, the algorithm used by the control system  12  sets a minimum index value K 1  and a maximum index value K 2  depending on the mode selected as:
 
 K   1   =K   min (Mode csc     —     sw )  (9)
 
 K   2   =K   max (Mode csc     —     sw )  (10)
 
     The values K 1  and K 2  define the number of the data points  66  that will be used to compute the speed profile locations on the curve. Table I below gives one non-limiting example of a mode switch setting for an aggressive driver at 0 and a conservative driver at 3 where the value K 1  is set at 3 for of the driver modes, and the value K 2  is set differently for each driver mode where the difference between K 1  and K 2  is the number of the data points that are used. The fewer the number of the data points  66 , the quicker the variations in speed change will happen to the vehicle  10 . In other words, the fewer the number of the points  66  that are looked at along the curve, the sharper the deceleration will be from one point to the next point. 
     
       
         
               
               
               
             
           
               
                 TABLE I 
               
               
                   
               
               
                   
                 Preview Time 
                 Preview Time 
               
               
                 Mode Switch 
                 Lower Bound 
                 Upper Bound 
               
               
                 Setting 
                 K 1  (Sec) 
                 K 2  (Sec) 
               
               
                   
               
             
             
               
                 0 
                 3.0 
                 6.0 
               
               
                 1 
                 3.0 
                 7.0 
               
               
                 2 
                 3.0 
                 8.0 
               
               
                 3 
                 3.0 
                 9.0 
               
               
                   
               
             
          
         
       
     
     The processor  50  defines a performance index function as a sum of squares of the squared vehicle speed difference as: 
     
       
         
           
             
               
                 
                   
                     
                       
                         J 
                         = 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               
                                 K 
                                 1 
                               
                             
                             
                               K 
                               2 
                             
                           
                           ⁢ 
                           
                             
                               
                                 { 
                                 
                                   
                                     
                                       
                                         
                                           V 
                                           ^ 
                                         
                                         x 
                                       
                                       ⁡ 
                                       
                                         ( 
                                         i 
                                         ) 
                                       
                                     
                                     2 
                                   
                                   - 
                                   
                                     
                                       
                                         V 
                                         x 
                                       
                                       ⁡ 
                                       
                                         ( 
                                         i 
                                         ) 
                                       
                                     
                                     2 
                                   
                                 
                                 } 
                               
                               2 
                             
                             ⁢ 
                             
                               w 
                               ⁡ 
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               
                                 K 
                                 1 
                               
                             
                             
                               K 
                               2 
                             
                           
                           ⁢ 
                           
                             
                               
                                 { 
                                 
                                   
                                     
                                       
                                         
                                           V 
                                           ^ 
                                         
                                         x 
                                       
                                       ⁡ 
                                       
                                         ( 
                                         i 
                                         ) 
                                       
                                     
                                     2 
                                   
                                   - 
                                   
                                     
                                       
                                         V 
                                         x 
                                       
                                       ⁡ 
                                       
                                         ( 
                                         0 
                                         ) 
                                       
                                     
                                     2 
                                   
                                   - 
                                   
                                     2 
                                     ⁢ 
                                     
                                       A 
                                       x 
                                     
                                     × 
                                     
                                       d 
                                       ⁡ 
                                       
                                         ( 
                                         
                                           V 
                                           x 
                                         
                                         ) 
                                       
                                     
                                     × 
                                     i 
                                   
                                 
                                 } 
                               
                               2 
                             
                             ⁢ 
                             
                               w 
                               ⁡ 
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
     In order to compute the optimal acceleration command, equation (11) is differentiated with respect to the acceleration command A x , where ∂J/∂A x =0. 
     An acceleration command processor  56  generates the acceleration command A x  as: 
     
       
         
           
             
               A 
               x 
             
             = 
             
               
                 
                   ∑ 
                   
                     i 
                     = 
                     
                       K 
                       1 
                     
                   
                   
                     K 
                     2 
                   
                 
                 ⁢ 
                 
                   
                     { 
                     
                       
                         
                           
                             
                               V 
                               ^ 
                             
                             x 
                           
                           ⁡ 
                           
                             ( 
                             i 
                             ) 
                           
                         
                         2 
                       
                       - 
                       
                         
                           
                             V 
                             x 
                           
                           ⁡ 
                           
                             ( 
                             0 
                             ) 
                           
                         
                         2 
                       
                     
                     } 
                   
                   × 
                   
                     w 
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                   × 
                   i 
                 
               
               
                 2 
                 ⁢ 
                 
                   d 
                   ⁡ 
                   
                     ( 
                     
                       V 
                       x 
                     
                     ) 
                   
                 
                 × 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       
                         K 
                         1 
                       
                     
                     
                       K 
                       2 
                     
                   
                   ⁢ 
                   
                     
                       w 
                       ⁡ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                     × 
                     
                       i 
                       2 
                     
                   
                 
               
             
           
         
       
     
     The acceleration command A x     —     cmd  is applied to the braking module  22  and/or the acceleration module  24  to automatically control the speed of the vehicle  10  as it traveling around the curve. 
     The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion and from the accompanying drawings and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims.