Adaptive Cruise Control for an Intelligent Vehicle - IEEE Xplore

175 downloads 733 Views 372KB Size Report
Adaptive Cruise Control for an Intelligent Vehicle. Worrawut Pananurak, Somphong Thanok, Manukid Parnichkun. School of Engineering and Technology.
Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics Bangkok, Thailand, February 21 - 26, 2009

Adaptive Cruise Control for an Intelligent Vehicle Worrawut Pananurak, Somphong Thanok, Manukid Parnichkun School of Engineering and Technology Asian Institute of Technology P.O. Box 4,Klongluang,Prathumthani 12120, Thailand [email protected], [email protected], [email protected] Abstract—In this research, an adaptive cruise control system is developed and implemented on an AIT intelligent vehicle. To develop the adaptive cruise control system, the original throttle system and braking system of the vehicle have to be modified. The original throttle valve which is controlled by a cable from the accelerator pedal is modified to the drive-by-wire system by using a dc motor with a position control algorithm. The braking system is modified by using a dc servo motor to directly control the brake pedal. A proportional and derivative control with error compensation algorithm is proposed to perform the velocity control mode. In the distance control mode, a fuzzy logic algorithm is applied. Inputs of the fuzzy controller are distance error and relative velocity read from a laser range finder. The experiments on a racing circuit show that the vehicle can perform adaptive cruise control efficiently. Index Terms—adaptive cruise control, cruise control, lidar, radar, automotive technology

I. I NTRODUCTION Cruise control system is developed for highway driving. This system is useful for driving in the roads which are big, straight, and the destination is farther apart. When traffic congestion is increasing, the conventional cruise control becomes less useful. The adaptive cruise control (ACC) system is developed to cope up with this situation. The conventional cruise control provides a vehicle with one mode of control, velocity control. On the other hand, ACC provides with two modes of control, velocity and distance control. ACC reduces the stress of driving in dense traffic by acting as a longitudinal control pilot. ACC can work like the conventional cruise control that it is used for maintaining the vehicle’s preset velocity. Unlike the cruise control, however, ACC can automatically adjust velocity in order to maintain a proper distance between obstacle and the vehicle equipped with ACC. This is achieved by using laser or radar to measure the relative distance between the host vehicle and a vehicle in front. Low-speed ACC is one of the systems, which operates under congested traffic to maintain the distance behind the obstacle vehicle. This type of ACC system is sometimes called ”stop-and-go ACC.” Early versions may only perform a ”stop and wait” function which requires drivers to initiate a resumption of forward movement when appropriate. The reason is that manufacturers are hesitant to offer such a system to automatically operate in complex low-speed traffic

978-1-4244-2679-9/08/$25.00 ©2008 IEEE

environments, which may have bicycles and pedestrians. The general low-speed ACC system is operated at very low speed (approximately 5 km/hr) and requires the driver to interfere to stop and restart vehicle motion. Low-speed ACC was introduced to the Japanese market in 2004. High-speed ACC system is the evolution of the cruise control. The system provides velocity control as in conventional cruise control when there is no vehicle in front of the host vehicle. If a vehicle runs in front of the host vehicle at a slower speed, the throttle and braking system are controlled to maintain the inter-vehicle gap which is set by the driver. The host vehicle will run at the preset velocity again when the way ahead is no obstructed, resulting from either the slower vehicle ahead changes the lane or the driver of the host vehicle moves to the other lane. The first ACC systems were designed to operate at moderate to high velocity, 40 km/hr and above. Most European systems operate from 30 km/hr and higher because this is a typical speed limit in city areas. The upper speed range goes as high as 200 km/hr. Bishop, R.H. [2] mentioned that ACC systems should be designed to have a limited braking authority, on the order of 0.25g (full braking in a typical car is 1.0g). In cases where the distance to the vehicle ahead is near and the braking authority of the host vehicle is inadequate to maintain the inter-vehicle gap, audible alerts are sounded to force the driver to take control of the vehicle. In this research, the ACC system is developed on an AIT intelligent vehicle, Mitsubishi Galant, 1993. The authors propose a fuzzy control algorithm to perform the ACC function. Inputs of the fuzzy controller are distance error and relative velocity. These inputs are read from the laser range finder from SICK, LMS 291. Outputs of the controller are braking command and velocity command. II. H ARDWARE To develop the ACC system for the AIT intelligent vehicle, hardware and sensors are designed and installed on the platform. A. AIT Intelligent Vehicle The intelligent vehicle is developed on Mitsubishi Galant GLSi, 1993 as shown in Fig. 1. This vehicle has a 2.0 liter, gasoline powered engine, automatic transmission.

1794

(a) Fig. 1.

(b)

The AIT intelligent vehicle, Mitsubishi Galant GLXi, 1993 Fig. 3. Automatic braking system: (a) Cool Muscle motor installed in the vehicle, (b) break pedal connected with accelerator cable

B. Throttle Valve Control System The original throttle valve control system is changed to a drive-by-wire system so as to be able to control by the ACC system. A 12v dc servo motor is installed to control the throttle valve position. A potentiometer is installed at the accelerator pedal to measure the pedal position. The drive-by-wire controller is developed on an ARM7 microcontroller which reads the required throttle position from output voltage from the potentiometer. Fig. 2 shows the modified throttle valve control system. C. Automatic Braking Control System To automatically control the braking system, a Cool Muscle dc servo motor is used to control the braking system. The motor, CM1C23L20 with 25:1 gear box ratio, is chosen. This motor is a closed loop vector drive servo system utilizing an H-infinity controller. A motor driver with a 32-bit RISC CPU, a magnetic encoder, and a power management unit are built into the motor. The motor is controlled by an Arm7 microcontroller via serial communication. The motor is installed in the vehicle as shown in Fig. 3. Rotational movement of the motor is transferred to linear movement by a pulley and a steel cable. If the motor rotates, the brake pedal will be pull down by the cable.

object surface within the range of the sensor. The elapsed time between transmitting and receiving of the laser pulse is used to calculate the distance between the object and the sensor. III. S OFTWARE A. Drive-by-wire throttle valve position control Block diagram of the position control algorithm of the throttle valve is shown in Fig. 4. The inner loop is the velocity control the outer loop is the position control. The sampling time of the control loop is 2 ms. Digital low-pass filter with 20 Hz cut-off frequency is used to filter noise in the velocity signal. With servo position control, the actuator is applied with a control signal which is proportional to the amount of position error and velocity error, as expressed in Equations (1) and (2). The results of the Bode plot and tracking performance are shown in Fig. 5 and 6, respectively. Outputp Outputv

= Kp (θ − θr ) = Kv (ω − ωr )

(1) (2)

D. Distance Sensor

B. Adaptive Cruise Controller

The sensor used to measure the distance to the vehicle in front is the laser range finder, SICK LMS 291. The sensor is installed at the front bumper of the vehicle. This sensor measures the distance based on a time-of-flight principle (lidar). A single laser pulse is sent out and reflected by an

Basically, the ACC has two operating modes. The first mode is the velocity control mode which is operated when there is no obstacle ahead of the host vehicle. The other is the distance control mode which is operated when the host vehicle finds the obstacle vehicle in front. In the velocity control operation, the vehicle controls its velocity by the ARM7 microcontroller, using proportional and derivative control algorithm with command compensator. The block diagram is shown in Fig. 7. The proportional controller is used to remove the speed error. The derivative

Fig. 2.

The modified throttle valve control system

Fig. 4.

1795

Throttle position control block diagram

Fig. 7.

Fig. 5.

Cruise control block diagram

Bode diagram of first-order low pass filter for velocity sensor

Fig. 8.

Fig. 6.

disterror = distsensor − distset Relative Speed = Vobs − Vhost

Tracking result of motor position control

controller is used to reduce the overshoot and oscillation of the velocity response. The control signal of the proportional and derivative control can be described by Equation (3). de (3) dt For distance control, the authors propose a fuzzy logic algorithm to control the host vehicle. The distance and the relative velocity between the host vehicle and the obstacle are the inputs of the fuzzy controller which is implemented in a PC. Fuzzy controller is suitable for multi-parameters and nonlinear control problems, and the system transfer function is not required. Human experience and experimental results are used to design the controller. Block diagram of the system is shown in Fig. 8. In this research, Mamdani’s fuzzy inference method (FIS) is applied. The singleton membership function of the outputs is used. This type of output membership function makes it convenient for the defuzzification process because it simplifies the computational efforts compared with other types of membership function. The entire fuzzy system is developed and implemented by using MATLAB and Microsoft Visual Basic compiler. Fig. 9 shows the block diagram of the fuzzy controller. Two input variables are ”relative velocity” and ”distance error.” The block at the middle represents all the fuzzy inference rules which are the control strategy of the system. The output variables are commands to control brake and velocity set point ratio. The inputs are defined as shown in Fig. 10 and Equations (4) and (5). OutputP D = KP + KD

ACC block diagram

(4) (5)

By using MATLAB, it is easy to select and adjust the shapes of the membership functions. In this research, the authors select trapezoid and triangle shape because it is easy for programming. The ranges of membership function are shown in Fig. 11 and 12. Each linguistic variable contains seven terms. The meanings of each input variable are as follows NL NM NS Z

1796

: : : :

negative large negative medium negative small zero

Fig. 9.

PS PM PL

: positive small : positive medium : positive large

Fuzzy control block diagram

Fig. 10.

Fuzzy input definition

Fig. 11.

Membership functions of distance error

Fig. 13.

Membership function of output command

TABLE I T HE F UZZY RULE OF O UTPUT C OMMAND Output

Relative Velocity

Fig. 12.

Membership functions of relative velocity

The membership functions of the output are shown in Fig. 13. The outputs are divided into two sides. The negative side represents the braking command. The positive side represents the velocity ratio command. NVL NL NM NS Z

: : : : :

negative negative negative negative zero

very large large medium small

PS PM PL PVL

: : : :

positive positive positive positive

If distant error is negative large and relative speed is negative large then command is negative very large. Two input variables each with seven membership functions are associated with nine singleton outputs. Totally there are 49 rules. The rules are designed from experience and adjusted by experiments. Table I shows the final fuzzy rules. There are 5 steps to compute the output of the fuzzy interference system.

NM NL NM NS Z Z Z

Distance Error NS Z PS NM NM NS NS NS NS Z NS Z Z Z Z Z PS PM Z PS PL

PN

i=1 Final Output = P N

wi Zi

i=1

wi

PM NS Z PS PM PL PVL

PL Z Z PS PL PVL PVL

(6)

Where Final Output = Average of all outputs wi = Weight of membership function of Zi Zi = output i

small medium large very large

The fuzzy rules for the ACC are the collection of linguistic statements. These statements describe how the fuzzy inference system should make a decision according to the inputs. The example of fuzzy rules is shown as follows.

NM NS Z PS PM PL

NL NVL NL NM NM NS NS

The control surface of this fuzzy algorithm is shown in Fig.14. IV. E XPERIMENT R ESULT Two types of experiments are conducted. In the first experiment, the velocity control mode experiment is set up to evaluate the transient and steady state responses of the system. Step input is provided to evaluate the transient response parameters; slope, time constant, and settling time. Steady state response is tested at various speed set points to determine steady state error and so as to design an appropriate compensator. In the second experiment, the distance

1) Determining a set of fuzzy rules 2) Fuzzifying the inputs using the input membership functions 3) Combining the fuzzified inputs according to the fuzzy rules to establish rule strength 4) Finding the consequence of the rule by combining the rule strength and the output membership function 5) Defuzzifying the output 6) Defuzzifying method is the weighted average of all rule outputs, computed from Equation (6). Fig. 14.

1797

Fuzzy Control Surface

control mode is set up. The fuzzy parameters; fuzzy rules and range of membership functions are adjusted according to the responses from the experiment so as to make the vehicle follow the obstacle vehicle in front. A. Velocity control experiment: Transient response test For velocity control experiment, transient response is tested by using step input at 20, 30 and 40 km/hr. The proportional and derivative gains are 2.2 and 0.02 respectively. Velocity set point and vehicle velocity data are recorded and then plotted. Fig. 15 shows the results of 30 km/hr step response. B. Velocity control experiment: Steady state response test The main objective of steady state response experiment is to determine steady state error in order to design the command compensator to minimize this error. The experiment is tested at various speed set points. The speed set points and vehicle speed data are recorded. Fig. 16 shows steady state response test at the speed varied in between 35-60 km/hr. Without integral term, there exists steady state error. This problem is solved by using command compensation method. From the experiment result, the steady state error depends on the vehicle velocity. The compensation is determined from the ratio of velocity set point with the real vehicle velocity as shown in Equation (7). Compensator =

Set Point Velocity

(7)

After adding the command compensator, the velocity control experiment is tested again. The results show that the compensator can decrease the steady state error efficiently as shown in Fig. 17. C. Distance Control Experiment The distance control experiment is tested by using a passenger car as an obstacle. The experiment is set up on the straight part of the Bangkok Racing Circuit, Bangkok. Firstly, the experiments are conducted for tuning of fuzzy parameters. The target of the fuzzy tuning is that the controller can control the vehicle like a human control and

Fig. 15.

Transient response (30 km/hr step input)

also can maintain the distance between the vehicles. After tuning the fuzzy parameters, the experiment is conducted to evaluate the controller performance. The distance between two cars is set at 15 meters and the velocity set points are set at range between 0 to 45 km/hr. The data such as distance, relative velocity, velocity set point and host vehicle velocity are recorded. The experiment results are shown in Fig. 18. The distance between the two vehicles at the beginning is around 18 m. and the relative velocity is 0 m/s. The output command is braking command that causes the host vehicle to stop. The obstacle vehicle is then accelerating at time 20 sec. At this point, the output of fuzzy rule is speed command that causes the host vehicle to move forward. At time 32 sec, the obstacle vehicle starts decelerate that causes the host vehicle decelerates and stops at time 40 sec. The distance between two vehicles is around 15 m. After time 40 sec, the obstacle vehicle starts accelerating again and the host vehicle also speeds up. V. C ONCLUSIONS In this research, the adaptive cruise controller is designed and developed on an AIT intelligent vehicle. The mechanical throttle valve control is replaced by the electronic throttle control, drive-by-wire system. The drive-by-wire system uses a dc servo motor to control the throttle valve position. The control algorithm of the throttle valve is proportional and derivative control. The braking system of the vehicle is modified by adding the Cool Muscle dc servo motor. The velocity controller on ARM7 microcontroller is implemented with proportional and derivative control algorithm. The distance controller on a PC platform uses fuzzy algorithm. The inputs of the fuzzy are the distance and relative velocity which come from SICK LMS291 laser range finder. The outputs from the controller are separated into 2 groups. The first output is the command to accelerate the vehicle. The other output is the command to decelerate the vehicle. When the output is the braking command, the Cool Muscle motor is actuated and the speed command is cleared. In contrary, when the output is the speed command, the braking

Fig. 16. Velocity control result at 35-60 km/hr without command compensator

1798

[6] W. D. Jones. ”Keeping cars from crashing” IEEE Spectrum. Sep 2001, 40-45

Fig. 17. Velocity control result at 0-50 km/hr with command compensator

Fig. 18. Distance control experiment at 45 km/hr velocity set point and 15 m distance

command is cleared and the speed set point is sent to the ARM7 microcontroller. The ACC system which is developed for the AIT intelligent vehicle is able to control the vehicle to run at desired velocity when operated in velocity control mode and efficiently maintain the distance between the host vehicle and the obstacle vehicle. ACKNOWLEDGMENT This research project is financially supported by National Electronics and Computer Technology Center R EFERENCES [1] Bageshwar, V. L. Garrard, W. L. and Rajamani, R. ”Model Predictive Control of Transitional Maneuvers for Adaptive Cruise Control Vehicles” IEEE Trans.Tech. vol 53., Sep 2004, pp.1573-1585 [2] Bishop, R.H. ”Intelligent Vehicle Technology and Trends” Artech House Publishers 2005. [3] Bosch,R. ”Bosch Acc Adaptive Cruise Control”, Robert GmbH. 2003. [4] Daniel, C & Johan, S. ”Adaptive Cruise Control for Heavy Vehicles Hybrid Control and MPC”, (Master research Linkping University, Department of Electrical Engineering, 2003) Sweden Linkping University. [5] Kilian, C. T. ”Modern Control Technology: Component and System (2nded)”. Delmar Thomson Learning 2000.

1799