Fuzzy-Based Adaptive Cruise Controller with Collision Avoidance and Warning System

The paper presents a Fuzzy-based adaptive cruise control system with collision avoidance and collision warning (ACC/CA/CW). The proposed control scheme aims to improve driver's comfort while keeping him/her safe by avoiding possible collisions. Depending on inputs from both the driver and the installed sensors, the controller accelerates/decelerates the vehicle to keep its speed at the desired limit. In case of a possible collision, the controller decelerates (accelerates) the vehicle to prevent possible crash with the vehicle ahead (behind). Moreover, the controller issues visual and/or audio alerts for the driver in order to warn him/her in case of the need for applying an uncomfortable deceleration level and/or to warn the driver for risky situations where he/she might need to change the lane. Simulation results illustrate the robustness of the proposed system over various ranges of inputs.

Adaptive Cruise Control (ACC) is an Intelligent Driver Support System (IDSS) that gained interest in research nowadays.ACC is a safety and comfort feature embedded in a vehicle to help the driver avoid sudden and unexpected hazards.ACC is equipped with sensors positioned in the front end of the vehicle.Based on sensors' inputs, ACC detects a preceding vehicle, determines its range and speed, and performs speed control accordingly (Rajaonah et al., 2008).ACC provide indirect benefits in that ACC braking is less abrupt and variable than that of a typical driver (Lee et al., 2008).ACC is the first IDSS with the potential to influence traffic flow characteristics (Kesting et al., 2008).Many automakers, including Ford, Honda, Nissan and Mercedes-Benz, have incorporated ACC technology in their vehicles to enhance the safety and comfort of customers.
In the literature, several studies evaluate driver support systems used in vehicles such as the cruise control system (Zhang et al., 2009;Stabach, 2009;Cahour & Forzy, 2009;Zheng & McDonald, 2005).Zheng and McDonald (2005) performed a simulation study of the performance of ACC relative to driver's expectation.The authors showed that ACC settings that are most capable in a range of traffic conditions are unnecessarily the most user-friendly.Fastrez and Haue (2008) used human-computer interaction context to model, design and evaluate driver support systems.The authors emphasized that the system must be thoroughly evaluated not only to testing its usability and robustness but also to elucidate how it affects existing driving processes.Other researchers studied the role of driver-related variables on existing ACC systems (Dassonville et al., 1996).Rajaonah et al. (2008) investigated the impacts of trust, perceived workload and perceived risk associated with ACC usage.Seiler et al. (1998) presented several criteria that should be met in such a system including that the system warning should result in a minimum load on driver's attention, automatic control of brakes should not interfere with the normal driving operation, and the system should perform well in a variety of driving conditions.
Various ACC strategies are proposed in the literature.Abdullah et al. (2008) developed a neural network-based generalized learning controller.The proposed controller is applied to an autonomous cruise control problem to maintain a desired speed by controlling the throttle plate angle in the vehicle's electronic throttle control system.Moon and Yi (2008) designed a vehicle adaptive cruise control algorithm with human factors consideration using real-world manual driving data that can be used to find normal characteristic parameters of manual driving of following vehicle, which can be used in ACC algorithm.They collected driving data using a test vehicle.Readers are encouraged to go through the experimental study done by Moon and Yi for further needed details.The results from the aforementioned study will be used in the ACC/CA/CW algorithm developed in this study.Seiler et al. (1998) analyzed the rear end collision warning/avoidance system algorithm combined with a tire-road friction estimator.Moon et al. (2009) proposed a full range adaptive cruise control system with collision avoidance.The authors developed three different control strategies depending on the driving situation where control parameters are tuned by a confusion-matrix method using manual driving data in no-crash driving situations.The investigators built and evaluated the system under different driving situations where results confirmed the reliability of the control system.Kesting et al. (2008) presented an ACC-based traffic assistance system with an active jam-avoidance strategy, where the ACC vehicles implement variable driving strategies and choose a specific driving strategy according to the actual traffic situation.This paper presents an intelligent adaptive Fuzzy controller methodology applied to an autonomous cruise control problem to maintain a desired vehicle speed range while avoiding possible collision with vehicles ahead or behind.Moreover, the controller issues audio/visual warning to alert the driver to the need to experience a high deceleration level that might be uncomfortable for the passengers.In addition, alerts give the driver the chance to change the desired vehicle's speed based on the current situation or to change the lane to prevent collision.To this end, the proposed ACC system uses sensors installed in front (back) end of the vehicle to estimate the distance and relative velocity to the vehicle ahead (behind).
The rest of the paper organized as follows: section 2 presents the proposed adaptive cruise controller with collision avoidance and collision warning system.In section 3, we discuss the fuzzy controller.Section 4 provides results attained from experiments to assess the performance of the model.Concluded remarks and future work are presented in section 5.

ACC with Collision Avoidance and Warning Systems
Cruise control technology is used in many vehicles nowadays to maintain vehicle's speed at a desired level.Drivers activate the cruise controller to enhance their comfort while driving.When the vehicle approaches a preceding one, the driver deactivates the cruise controller to prevent a possible collision by decelerating the speed of his/her vehicle using the braking system.As a result, a safe distance between the two vehicles is maintained.ACC performs similar actions in an automated manner, which in addition to keeping the vehicle safe enhances driver's comfort.This paper proposes an ACC with a collision-avoidance and collision-warning system (ACC/CA/CW).To avoid collision with the vehicle ahead (behind), the system decelerates (accelerates) the vehicle based on inputs from the driver and sensors installed in the vehicle.Consequent to uncomfortable deceleration levels or high risk of crash with both vehicles ahead and behind, the system issues a warning signal to alarm the driver.The proposed system issues an audio warning signal to alert the driver about experiencing a sever situation.In addition, the system issues a visual warning signal to the vehicle behind if that vehicle presents a high risk of collision.
Driver's inputs include system activation or deactivation, desired speed, and the activation or deactivation of the brake pedal.The controller system is considered active unless ACC/CA/CW system is directly deactivated or interrupted by pushing the brake pedal.Drivers are likely to interrupt the system when feeling uncomfortable or unsafe or do not trust the decision made by the controller.As long as activated, the controller needs sensors' inputs, which include vehicle's speed, relative distance to the vehicles ahead and behind, and their relative velocities.These inputs are used to calculate time to collision (TTC) with both vehicles ahead and behind in order to control the vehicle's performance based on these values.TTC is used by most of the existing cruise control and collision avoidance or warning systems in addition to another non dimensional variable called warning index (Moon & Yi, 2008;Moon et al., 2009;Seiler et al., 1998).When the warning index is high and the inverse TTC is low, it means that the vehicle is safe and there is no possible chance of collision.On the other hand, if the warning index decreases or the inverse TTC increases, the danger of a rear-end collision increases and the vehicle needs to quickly decelerate to avoid collision (Moon et al., 2009).In this study, inverse TTC for both the vehicle ahead and the vehicle behind are used to control the acceleration/deceleration level of the vehicle.When the risk of collision is low, the system switches into the regular cruise control mode where the desired speed is controlled.Moon et al. (2009) defines the TTC (sec.) as Where, c is the actual vehicle spacing, p v is the preceding vehicle's velocity, and s v is the subject vehicle's velocity.In this study, we define two TTC values one relates to the time to collision with the preceding vehicle ( 1 TTC ) and the other is relates to the time to collision with the vehicle behind ( 2 TTC ).These two values are defined as: The proposed controller switches between two modes: the cruise control (CC) mode and the adaptive cruise control with collision avoidance collision warning (ACC/CA/CW) mode.In CC mode, the controller receives information from the sensors that indicates a safe situation and no chance of crashing.Hence, the regular cruise controller is activated where the speed of the vehicle is maintained within the range of driver's sittings.In ACC/CA/CW mode, received data indicate a chance of crashing if the vehicle remains at its current speed.Therefore, the controller computes the desired acceleration/deceleration level to increase/reduce the vehicle's speed to prevent crashing.To execute decision, a predetermined amount of gas/brake is applied automatically until the new speed is met.The amount of acceleration/deceleration level depends on how severe is the situation and ranges from small unnoticeable amounts to large uncomfortable amounts.When the risk of crash is low, the vehicle will experience a low acceleration/deceleration level of < 2 m/s 2 and < -2m/s 2 , respectively.For moderate risk of crash, the vehicle will experience a moderate acceleration/deceleration level of < 4 m/s 2 and < -4 m/s 2 , respectively.When the risk of crash is high, the vehicle will experience a high acceleration/deceleration level of < 6 m/s 2 and < -6 m/s 2 , respectively.At high levels of deceleration, the driver will feel uncomfortable and need to be alerted.Note that these threshold values are user defined, and the controller needs to consider these values in order to perform the suitable control system.The user usually defined these values based on his/her knowledge of the system which can be developed in this case by experimental study.In this study these values were taken from the results of the experimental study performed by Moon and Yi (2008).The system can be easily modified based on user preference or vehicle's company information.
The worst-case scenario occurs when the vehicle experience a high risk of crashing with both the preceding and following vehicles.In this situation, the subject vehicle cannot accelerate (decelerate) to prevent the following (preceding) vehicle from crashing with it because it will crash with the preceding (following) one.The driver needs to be alerted of the situation so that he/she can take an action to prevent such collision by changing lane.Simultaneously, the controller will issue a visual alert to the following vehicle to slow down.
To enhance flexibility in decision-making, all the possible scenarios are embedded into a Fuzzy controller to determine the desired acceleration/deceleration level and warning.The threshold values for the Fuzzy controller are inspired by statistical values from the literature, namely from (Moon & Yi, 2008) and (Moon et al., 2009).

The Proposed Fuzzy Controller
The Fuzzy set theory is a generalization for the classical set theory and was introduced by Lotfi Zadeh in 1965.It allows linguistic variables whose values are words rather than numbers to map input space to output space where a variable can partially belong to the set with a membership value between 0 and 1 (Zadeh, 1992).Fuzzy controllers allow the interaction of multiple inputs to approximate the value of the output.Hence, Fuzzy controllers are largely employed in various applications.Fuzzy logic has many advantages which include simplicity and flexibility, in addition the ability of dealing with nonlinearity.In this paper, we utilize Fuzzy logic to estimate suitable levels of acceleration/deceleration and warning based on the inverse 1 TTC and inverse 2 TTC .The model aims at avoiding collision between vehicles while at the same time providing comfort for the vehicle's driver.
Fuzzy controllers use verbal IF-THEN rules to express relationships among inputs and outputs.A standard form of a verbal rule is IF X = (x 1 ,x 2 ,…, x n ), THEN Y = y 1 .Furthermore, Fuzzy logic utilizes AND, OR, and NOT to describe relationships and hence action is executed by the controller if all rules are satisfied.Input values are converted to values between 0 and 1 using membership functions for input values.The values of output variables are then estimated based on embedded expert knowledge of the behavior of the system.Subsequently, the inference mechanism computes the degree to which input data fits the conditions of the Fuzzy rules and the rule's conclusion based on the matching degree combining all inferred rules into a single conclusion.Finally, the Fuzzy rules output are mapped to a specific action.
In this paper, Fuzzy logic is used to control the acceleration/deceleration level of the vehicle in order to keep the vehicle safe while keeping the driver comfortable.In addition, it also controls a warning sound depending on the severity of the situation.Moon et al. (2009) determined the values of inverse TTC for transition of the deceleration levels from zero to < -6 m/s 2 (the threshold values) based on manual driving data in no crash driving situations.The authors found that the amount of deceleration that should be applied to the vehicle to keep it safe varies depending on how severe is the situation.Moreover, Moon and Yi (2008) analyzed the human-driver driving behavior and used these data in their ACC system.Table 1 presents the threshold values found by Moon et al. (2009).This paper utilizes data from both articles to build Fuzzy logic parameters.The controller receives inputs from both the driver and the sensors and evaluates inverse 1 TTC and inverse 2 TTC consequently.Input from driver includes activation or deactivation of the ACC/CA/CA system.Inputs from the sensors include distances between subject vehicle and preceding and following ones.In addition, sensors yield the velocities of subject, preceding, and following vehicles.
Table1.Threshold values for inverse TTC (Moon et al., 2009) Acceleration Three Gaussian membership functions describe the inverse 1 TTC values including "Low" (L), "Medium" (M), and "High" (H); μ L , μ M and μ H (μ denotes the membership function), respectively.Moreover, three Gaussian membership functions describe the inverse 2 TTC values including "Low" (L), "Medium" (M), and "High" (H); μ L , μ M and μ H , respectively.The controller determines the required acceleration/deceleration level and warning based on expert rules.The acceleration/deceleration level is described by five Gaussian membership functions including "High deceleration" (dH), "Medium deceleration" (dM), "Medium" (M), "Medium acceleration" (aM), and "High acceleration" (aH); μ dH , μ dM , μ M , μ aM and μ aH , respectively.On the other hand, the controller will issue a sound alert to the driver to alert him/her of uncomfortable deceleration level and/or dangerous situation, and another visual alert to alert the following vehicle of possible collision because of its fast speed.The deceleration (acceleration) levels assume values between zero and a maximum limit of -6 m/s 2 (6 m/s 2 ), respectively.Figure 1 illustrates the membership functions for the input and output variables.The input variables are the inverse time to collision with the vehicle ahead (TTC 1 ) and the inverse time to collision with the vehicle behind (TTC 2 ).The output variable is the acceleration level required by the car to prevent crash.Table 2 presents the Fuzzy rules used in this research.Nine expert rules are developed based on possible scenarios of input states.For instance, if the inverse TTC 1 is high and the inverse TTC 2 is low then the system will experience a high deceleration level to prevent crash with the preceding vehicle.Like wise, if the inverse TTC 1 is low and the inverse TTC 2 is high then the system will experience a high acceleration level to prevent crash with the following vehicle.The relationships between inputs and outputs are selected based on the time available for the system to decelerate before collision takes place.In addition to sample verbal rules, Table 2 shows all the expert rules required to provide the appropriate Fuzzy output for the system by the Fuzzy engine.For simplicity, the acceleration is shifted by 6 m/s 2 so that all quantities for a + 6 m/s 2 will be positive as the acceleration varies from -6 m/s 2 to 6 m/s 2 .The Mamdani min-max inference engine is used throughout the simulation time.The bisector is used to map Fuzzy outputs to a single point that is the required deceleration and warning sound levels.Figure 2 shows the resulting Fuzzy surface representing the relationship between the inputs and output.In addition to acceleration/deceleration level control the system will issue two types of warnings; audio and visual.The audio warning alerts the driver of uncomfortable deceleration levels or a dangerous situation and is denoted by w 1 .In addition, it will play a major role to influencing the driver to change the preset desired speed in case the traffic condition does not allow such a speed, or make an action such as changing the lane.The visual warning alerts the driver in the following vehicle that his/her speed is high and he/she needs to slow down and is denoted by w 2 .Table 3 presents cases where both warnings are issued.

Simulation Results
In this section, we present results obtained from simulating the performance of the proposed ACC/CA/CW controller for a vehicle.To this end, four scenarios are conducted to evaluate the proposed approach in a similar real driving situation.In the first scenario, the following vehicle is far a way and the inverse TTC 2 equals to zero, and the preceding vehicle is slowing down, so the inverse TTC 1 is increasing.Consequently, the subject vehicle needs to slow down to prevent collision.Figure 3 shows needed amounts of deceleration as obtained by the controller.In the second scenario, the preceding vehicle is moving at a certain velocity profile with the inverse TTC 1 equals to 0.375, and the following vehicle is speeding up and the inverse TTC 2 is increasing accordingly.Consequently, the subject vehicle needs to speed up to prevent collision.The amount of acceleration level found by the controller is shown in Figure 4.The third scenario, the subject vehicle experiences a possibility of collision both with preceding and following vehicles.The amount of inverse TTC 2 and inverse TTC 1 varies with time.Consequently, the required acceleration/deceleration level with time is evaluated by the controller and is shown in Figure 5. Finally, fourth scenario, the subject vehicle is moving initially at 82 km/hr, the following car is moving at constant velocity of 82 km/hr and 5 m away from the subject car, and the preceding car is moving initially at 80 km/hr and 5 m away from the subject car.At this situation inverse TTC 1 = 0.11 and inverse TTC 2 = 0 so the subject vehicle needs to slow down with a very low deceleration level (-0.27 m/s 2 ).After a while the preceding car start to decelerate at a very high level (-5 m/s 2 ), consequently the inverse TTC 1 amount will increase, and the desired deceleration level will be increased.Figure 6 shows this process.

Conclusion and Future Work
A Fuzzy-based adaptive cruise control system with collision avoidance and collision warning (ACC/CA/CW) systems is developed.The system determines the desired deceleration (acceleration) level for the subject vehicle to prevent collision with the vehicle ahead (behind).Moreover, the controller issues visual and/or audio alerts for the driver to warn him/her in case of the need for applying an uncomfortable deceleration level and/or to warn the driver for risky situations where he/she might need to change the lane.The proposed model is validated through a simulation study using data from literature.Obtained results illustrate the robustness of the proposed system over various ranges of inputs.In case of possible crash with both cars in front and behind at the same time any value of the cars speed and consequently acceleration/deceleration level will not prevent crash, so the system issues warning alert to the driver so he/she can change lane.As a future work, the authors suggested an integration of such system with an assisted lane change system, which overcomes this limitation.
the vehicle spacing between the subject vehicle and the preceding (following) one, p v ( b v ) is the velocity of the preceding (following) vehicle, and s v is the velocity of the subject vehicle.Both inverse 1 ) are used to determine the desired deceleration/acceleration levels in addition to issuing necessary alerts.

Figure 1 .
Figure 1.Membership functions for input and output variables

Figure 2 .
Figure 2. Fuzzy surface and output inferences for Fuzzy rules

Figure 5 .
Figure 5. Desired acceleration/deceleration level over time with respect to inverse TTC 2 and inverse TTC 1 (third scenario)

Figure 6 .
Figure 6.Desired acceleration/deceleration level over time with respect to inverse TTC 2 and inverse TTC 1 (fourth scenario)

Table 2 .
Fuzzy rules applied to acceleration/deceleration level controlIF inverse TTC1 is L AND inverse TTC2 is L THEN a+6 is M IF inverse TTC1 is L AND inverse TTC2 is H THEN a+6 is aH IF inverse TTC1 is H AND inverse TTC2 is L THEN a+6 is dH

Table 3 .
Audio and visual warnings activation