To appear in: Proceedings and at the NAFIPS conference, being held June9thnd, 995 in Berkeley, CA, USA. Generating Fuzzy Rules for the Acceleration Control of an Adaptive Cruise Control System R. Holve, P. Protzel Bavarian Research Center for Knowledge-Based Systems (FORWISS) Am Weichselgarten 7, 958 Erlangen e-mail: holve@forwiss.uni-erlangen.de or protzel@forwiss.uni-erlangen.de K. Naab BMW AG München, Dept. EW, 8788 München, Germany e-mail: karl@bmwmun.bmw.de Abstract: A procedure for the data driven generation of fuzzy rules is described, which was used in the development of an adaptive fuzzy controller to assist the driver in vehicle speed and distance control. The driver stays remains in the control loop of the ACC (Adaptive Cruise Control) through haptical feedback via the accelerator pedal. Thus, the control of the pedal behavior is crucial for the system s acceptance by the driver. The Fuzzy-ACC has been installed into a test car and was tested in normal road traffic.. Introduction The procedure of fuzzy rule generation described in this paper is part of the development of the driver assistance system ACC (Adaptive Cruise Control) which is an extension of the well known Cruise Control. In addition to the basic functionality of a Cruise Control the ACC measures the distance to leading vehicles and adjusts the speed in order to keep an appropriate distance. Figure shows the different components of the system []. The ACC determines a set point for the throttle and brake, respectively, and provides optical information to the driver by displaying the selected speed and the speed of the preceeding car on the speedometer. In order to keep the driver as an active part in the control loop, the Fuzzy ACC is combined with an active accelerator pedal. The system controls an artificial counterforce at the active accelerator pedal occurring at the pedal position which actually is necessary to maintain the appropriate speed and distance. The driver, who can feel these forces as haptical feedback of the system, is encouraged to use this information to adjust the correct pedal position. While the driver is guided by the controller, he always is able to override the actions of the ACC without deactivating the system entirely. This work is an extension of an earlier approach to use fuzzy control for intelligent vehicle guidance [].. Structure of the Fuzzy-ACC Figure shows a block diagram of the Fuzzy ACC. First the target distance is determined depending on the Determination of the target distance Determination of driving situation and activation of suitable components Situation : Cruise Control during free flow Situation : Approach Situation n: Aggregation of results and pedal control Figure. Components of the ACC. Figure. Structure of the Fuzzy ACC.
nonlinear precompensation nonlinear drive train a z vs as - FCv F( as, v) + p s f ( p s, v) + v Compensation of disturbances a Z and modeling errors of F( as, v) vehicle speed controller F( as, v) f ( p s, v) Figure 3. Block diagram of the speed control problem. velocity of the car. Then a fuzzy component determines the current driving situation with regard to several input values like distance and relative speed. An activation value ranging from to is then assigned to each of the situation specific components in the next layer in a way that enables several of those components to be active simultaneously. The situation specific fuzzy components are designed to handle certain driving situations such as Cruise Control during free flow or Reaction to decreasing distance. Finally the results of the situation specific components in form of several values for the desired acceleration are aggregated into a final desired acceleration which is then passed to the pedal control in order to be converted into a set point for the gas or brake pedal. Most of the described controller components include a type of driver parameter which enables the components behavior to change within certain boundaries and, which are used to adapt the overall system behavior to the preferences of the driver. The adaptation of these parameters is triggered by the interaction of the driver and the active accelerator pedal. For further information on the structure of the Fuzzy ACC and the adaptation mechanism see [3]. 3. Basic Idea of the Pedal Control The active accelerator pedal is the main interface between driver and Fuzzy ACC. It has to provide a pedal position which is necessary to maintain the appropriate speed and distance. Additionally the interaction of the driver and the pedal (e.g. does the driver accept the set point or does he step on the accelerator more than proposed?) is used for parameter adaptation to bring the system behavior into line with the driver s preferences. So the control algorithm for the active accelerator pedal has to meet the following requirements:. The acceleration required by the situation specific controller components has to be reached within a reasonably short time and with a precision high enough to fulfill the intended goals.. The behavior of the accelerator pedal has to be clear and convenient for the driver e.g. it should neither oscillate nor should it creep too slowly to the setpoint. 3. The controller must not overreact if it can t reach the target pedal position because the driver overrides the actual counterforce. While the 3rd requirement can be met easily by an appropriate force control mechanism, the other two requirements are contradictionary in many situations, thus high precision has to be sacrificed in order to achieve a comfortable pedal behavior. The basic idea of the described fuzzy controller is to imitate the way a human driver handles the accelerator to adjust the vehicle s speed: If the driver wishes to accelerate to a certain extend, he adjusts the pedal to an corresponding position depending on the current vehicle s speed. To terminate the process of acceleration, the driver chooses a pedal position that is adequate to compensate friction and air resistance at the current velocity.
Small deviations from the desired acceleration are compensated by fine adjustments to the pedal around its current position. The better a driver knows his vehicle s behavior, the better he is able to determine the right pedal position. He has somehow his own internal model of the car dynamics and the interrelation between the desired acceleration, the current vehicle speed and the corresponding throttle or brake position. The last point is illustrated by the common experience how difficult it is initially to handle an unknown car and how quickly an experienced driver adapts his internal model to the new car s dynamics. Figure 3 shows the interpretation of this approach (for simplicity reduced to the speed control problem) from the control engineer s point of view: Depending on the difference between the target velocity v S and the actual velocity v the fuzzy controller FC V determines a target acceleration a S. In order to determine the according pedal position p S, we have to handle the nonlinearities of the vehicle s drive train f(p S,v). Thus we are looking for a nonlinear precompensation F(a S, v) that approximates the inverse of the vehicle s drive characteristics. Additionally we need a compensation of disturbances a Z (e.g. caused during uphill/downhill driving) and the inevitable errors of the nonlinear precompensation. The approach to this nonlinear precompensation or model, i.e. a function with two inputs (target acceleration, current velocity) and one output (pedal position) by the means of Fuzzy Control releases us from mathematically modeling the complex static characteristics of the car dynamics with its nonlinearities caused e.g. by the automatic transmission. NC NG NE NH NB NM N Z P PM PB PH PE PG PC EM.................. C.... 3. a [m/s^]... v a & NC NG NE NH NB NM N Z P PM PB PH PE PG PC EM C C C C C C C C C7 C8 VM C C C C3 C3 C3 C3 C7 C8 C M C C C C3 C3 C3 C3 C8 C9 C EL C C C C3 C7 C7 C9 VVL VL C C C C C C C3 C3 C7 C7 C9 C3 C C C3 C7 C9 LOW C C C C8 C8 C C7 C7 C MED C C C3 C8 C9 C C7 C9 C HIGH C C C3 C7 C8 C C C C C VH C C C3 C8 C8 C C C8 C9 C C VVH C C C7 C7 C9 C9 C C9 C C C EH C C C7 C8 C9 C C9 C C C HUGE C C C7 C7 C8 C9 C C7 C8 C C C G C C C7 C9 C9 C C3 C7 C8 C C C C C C C C7 C8 C C3 C8 C9 C C C C C.................. C. Figure 4.. -.5. pedal [ <: brake >: gas] Generated Fuzzy rules for the pedal control. Manually added rules are marked grey.
pedal position.8.7.6.5.4.3.. -. pedal position.8.6.4. -. -.4 -.6 -.8 pedal position.8.6.4. -. -.4 -.6 -.8 a [m/s^] -4 5 5 5 5 a [m/s^] 5 5 a [m/s^] Figure 5. The training data after preprocessing (left), the function of the generated rules (middle) and the function of the manually completed rulebase (right). 4. Preprocessing Training Data and Rule Generation In order to automatically generate the Fuzzy rulebase of the pedal controller, representative data describing the dynamics of the car was needed. This data was gathered during several test drives with the test car, a BMW 53 touring and then preprocessed by extracting those data points where the pedal position as well as the acceleration stayed nearly constant for a certain period of time, e.g. second. These values together with the corresponding velocities were collected to build the training data set. Figure 5 visualizes the gained data after preprocessing (left) using the dgrid3d-option of the gnuplot-tool. Although the surface seems quite rugged, because the gained data was noisy (caused by sensor insufficiencies) as well as incomplete i.e. not all points of the input space were covered, it justifies the assumption of a clear functional relation between the recorded values. The algorithm for generating the fuzzy rules is a combination of the table-lookup scheme and the nearest neighborhood clustering for the training of fuzzy logic systems described in [4]. The structure of the Fuzzy Controller, i.e. the number of in- and outputs and the Fuzzy sets for the input variables, has to be predefined. The definition of the input variables can be done with the TILShell 3. fuzzy logic development tool. The resulting FPL-file (Fuzzy-Programming-Language [5]) is then interpreted by the described algorithm. Here a number of 5 sets was chosen for the input variables a (acceleration) and v (velocity). As a result we have a rulebase with 5*5 = 5 possible rules with the consequences initialized to. The training algorithm looks up the rule with the highest activation for each input vector (a,v) and adds the corresponding value for the pedal position to this rule s consequence. After all data points have been matched, the average consequence for each rule is computed. These consequences serve as Fuzzy Sets (singletons) for the output variable pedal. Because this may lead to a very large number of Fuzzy Sets (5 in this case) the sets are reduced to an acceptable number (here ) by a nearest neighborhood clustering procedure. Finally the resulting fuzzy controller is stored as a FPL-file to simplify visualization and manual modifications and to allow the use of the FPL-to-C-compiler of the TILShell 3.. The resulting controller is shown in Figure 4. As the training data was incomplete, not all possible rules were generated, but the rulebase could easily be completed by following the trends of the generated rules (manually added rules are marked by a grey background). Figure 5 shows the training data, the function approximated by the generated rules and the function of the manually completed rulebase. The final fuzzy controller is a good representation of the assumed functional interrelation of the training data. Certainly this part of the controller alone is not sufficient for closed loop control, because there is no regard for deviations between target acceleration and actual acceleration. So the pedal controller would e.g. yield an acceleration too low during uphill driving and an acceleration too high during downhill driving. This problem can simply be solved by adding a simple integral compensator which is activated, when the actual pedal position is near the pedal position proposed by the fuzzy controller.
. velocity [km/h] distance [m].... target acceleration [m/s^] actual acceleration [m/s^]..5. target pedal position [< : brake, >: gas] actual pedal position [< : brake, > : gas] -.5 5. 6. 7. 8. 9.. Time [s] Figure 6. Part of a test drive with the Fuzzy ACC and the described pedal controller. 5. Test Results The described Fuzzy Controller was implemented in a test car and performed quite well in various driving situations. The behavior of the active accelerator pedal felt very human like and fulfilled the requirements described in section 3. The part of a test drive with the Fuzzy ACC presented in Figure 6 shows that the accuracy of the acceleration control was high enough to meet the intentions of the prior driving situation specific controller components. 6. Conclusion The described procedure to learn Fuzzy rules from training data is a straight forward method to capture functional interrelations between relevant parameters. It enables the user to constrain the size of the generated rulebase and the resolution of the resulting approximation by the number of input Fuzzy Sets. This resolution can be adjusted specifically to the current problem by the form and position of the Fuzzy sets. Additionally this procedure allows it to complete, extend and/or modify the generated function approximator locally by adding or changing certain rules. References [] K. Naab, G. Reichart: Driver Assistance Systems for Lateral and Longitudinal Vehicle Guidance. Proceedings of the International Symposium on Advanced Vehicle Control, Tsukuba. Japan, Oct. 5. - 8. 994, pp. 449-454. [] P. Protzel, R. Holve, J. Bernasch and K. Naab: Fuzzy Distance Control for Intelligent Vehicle Guidance. Proc. of the th Annual Meeting of the North American Fuzzy Information Processing Society, Allentown PA, Aug. - 5, 993, 87-9. [3] R. Holve, P. Protzel, J. Bernasch and K. Naab: Adaptive Fuzzy Control for Driver Assistance in Car-Following. Proceedings of the 3rd European Congress on Intelligent Techniques and Soft Computing - EUFIT 95. Aachen, Germany, Aug. 995, pp. 49-53. [4] L.-X. Wang, Adaptive Fuzzy Systems and Control - Design and Stability Analysis. PTR Prentice Hall, 994.] [5] TIL Shell User Manual, Togai InfraLogic, Inc. Irvine, CA 993.