You are on page 1of 5

In: Proceedings of the 4th European Congress on Intelligent Techniques and Soft Computing - EUFIT ‘96, Aachen, Germany, Sept

. 1996, pp. 2171-2175.

Reverse Parking of a Model Car with Fuzzy Control
R. Holve*, P. Protzel Bavarian Research Center for Knowledge-Based Systems (FORWISS) Am Weichselgarten 7, 91058 Erlangen, Germany
Abstract. To demonstrate the application of fuzzy control for rapid prototyping and robust performance, we use a 1/10 scaled model car with an onboard microcontroller and sensors for the task of autonomous parking. There is no precise mathematical model of the car’s kinematics and the controller has to cope with heavy sensor uncertainty, imprecise actuators, and a very sketchy world model. We deliberately do not use any learning approaches, but express the knowledge on how to park a car in the form of fuzzy rules. To solve the parking problem, the system architecture has to handle the interaction of several fuzzy as well as conventional modules performing various subtasks.

1. Introduction
The problem of reverse parking has been the subject of several research projects in the field of classical control as well as Fuzzy Control theory. Classical approaches as in [1], [3] and [6] are based on an exact mathematical model of the system to be controlled, i.e. the car or the truck-trailer combination. The results of these studies are demonstrated only in simulation environments and their performance for hardware implementations with imprecise mathematical descriptions and noisy sensory inputs is unknown. Approaches using Fuzzy Control to solve the parking problem often generate the fuzzy rules from examples provided by a (human) operator’s control actions. In [4] and [5] a Takagi-Sugeno type of Fuzzy Controller is constructed by learning the rulebase’s parameters (i.e. the coefficients of each linear combination forming a Takagi-Sugeno-type fuzzy rule) from a set of example data recorded during human operation of a model car. While the resulting rulebase stays relatively small, every rule covers up to four coefficients, which makes the rulebase difficult to interpret. The B-spline guidance algorithm for the parking problem described in [2] also uses training data from human operators to build the fuzzy rulebase but the algorithm requires time consuming initialization of the rulebase and results in a very large set of rules (686 for the parking problem) which then has to be downsized manually. In contrast to those studies, we do not use any learning approaches, but we describe in this paper a fuzzy controller for reverse parking of a model car where the rulebase was constructed directly by using the designer’s knowledge on how to park a car and by attempting to express this knowledge in the form of fuzzy rules. In section 2 the details of the underlying problem are characterized. Section 3 outlines the hardware of the model car, the (non-fuzzy) methods of world modeling and position update are illustrated in section 4 and section 5 describes the actual parking algorithm in detail.

2. Problem description
Figure 1 shows the layout of the parking scenario. Since the whole experiment had to fit on a single table with a maximum size of two by one meter, a scaling factor of 1/10 was chosen. The model car, currently in its starting position, is connected to a Windows-PC via a serial line cable. The two dummy cars represent the parking gap, i.e. the target position of the model car. The task of the model car is to: • • • • recognize the parking gap “in passing”, approach an appropriate starting point for the parking procedure, execute the parking operation, and strictly avoid obstacles.

* e-mail: or


which ensures that the different sensors don‘t interfere and processes the sensor signals. 3. Incremental Encoder 4.05 to 0.5 meter and a scope of five degrees. receive the steering commands from the PC. The incremental encoder is mounted to the left rear wheel and allows to measure the velocity and the driven distance of the car. is connected via a serial link to a Windows PC. vos and the gearbox are omitted for clarity. where the main parking algorithm resides. The three ultrasonic sensors have a range of approximately 0. The layout of the parking scenario. The overall idea was to state the problem in such a way that its solution could be applied to a real world scenario without major modifications. Hardware layout The hardware basis for the autonomous vehicle is a 1/10 scaled model car chassis with an onboard computer. Its task is to collect all sensory inputs. which is based on a MC68HC11. This relates to the software solution as well as to the hardware layout that is illustrated in the next section. The steering mechanics. The onboard microcontroller. and hand these commands over to the servos for driving and steering. World modeling Since the number of distance sensors was limited. sensors etc.28 degrees which makes the model car far less maneuverable than a real car with a steering range of up to +/-45 degrees. The overall range of the steering angle is about +/. The controller runs a real-time operating system and is programmable in PASCAL and assembler. Hardware layout of the model car. The potentiometer which is connected to the front wheels by a string that is wound round the potentiometer‘s shaft.interface cable dummy cars model car Figure 1. The outline of the model is shown in Figure 2. measures the current steering angle though only with a precision of about three degrees. we could not expect to monitor the entire border of 2 . transmit them to the PC. the ser- Onboard Microcontroller 24 cm Sensor Multiplexer Potentiometer Ultrasonic Sensors 44 cm Figure 2. These sensors are controlled by the sensor multiplexer.

The problem is aggravated by sensor availability. we use the wall at the rear side of the table to provide enough useful input to the sensory system to ensure a sufficient position update. The velocity was set to a fixed value of about 0. On the other hand. all it has to do is to go straight and keep an appropriate distance to the cars and the wall (which would be the curb or the sidewalk in the real world) until the described procedure has detected the gap. The constructed world model (i. i. Step 1: Searching for the parking gap As the model car “knows” that the parking gap will be somewhere ahead on the right side. Thus. The Fuzzy controller for this simple task is shown in Figure 4. 4) until the car is about 0.17 m ahead of the detected parking gap (see Fig.e. The parking algorithm The problem of parking the model car reversely into the located parking gap is divided in 4 subproblems. for example. All it should “know” was something like “there is a parking gap on the right side somewhere straight ahead”. with the condition that the car’s orientation should be parallel to the parking gap afterwards. contour of detected obstacles detected parking gap target position xy-position of the car Figure 3. So some kind of world model had to be constructed on-line while passing the parking gap.15 m/s. the vehicle tries to fit a big enough rectangle into this contour and determines the target position once the parking gap is found. 3) Step 3: Reverse to the right and then to the left This maneuver will get the car as far into the gap as possible. So we use a very simple mathematical model of the car for the position calculation and the measured distances of the ultrasonic sensors are matched to the contour polygon to correct the calculated position and orientation. So the point for turning the steering angle from 3 . when the angle of incidence to the detected object is fairly perpendicular. each of them using Fuzzy Control to a certain degree. as would have been possible with a laser scanner. we didn’t want to give the vehicle more information in advance about the position of the parking gap than absolutely necessary. This world model consists of a set of xy-coordinates forming the contour of the obstacles on the right side of the car (Figure 3). and the somehow wobbly chassis of the car prohibits a precise mathematical model of the kinematics.e.the model car for obstacle avoidance. Since the steering angle is measurable only very imprecisely. the parking gap could not be recognized “at a glance”. y x 5. position update on the basis of speed and steering angle is reliable only for a few centimeters. Furthermore. World model for the parking procedure. To detect the parking gap. Step 2: Approach an appropriate starting point for the parking procedure A suitable starting position for reverse parking is reached by simply moving straight on (see Fig. the sensors respond only. the contour polygon) is also used for the determination of the car’s current position.

MIDDLE independently of the length of the parking gap. If the gap is long. to drive back and fore alternately while steering left and right to get the car further into the gap. Y1 Y2 Y3 RB1 Y X ORIENTATION DIRECTION LENGTH RB2 DIRECTION STEERING STATE Figure 5. Y2. REAR.0 0. some maneuvering is necessary to finish the parking process. to inform the main program of the success. The determination of this turning point is achieved by a fuzzy decision component that was constructed using some test data.e. three values (Y1. the following left turn will not lead to a collision with the back wall (curb).5 0. the boolean output variable STATE is set to TRUE.0 DISTANCE [m] 0. Fuzzy controller for going straight and keeping a distance to the right. This is done by a more complex fuzzy controller with the block structure depicted in Figure 5. the actual driving direction and the length of the gap are processed by rulebase RB2 to determine the new driving direction and the steering angle. full right to full left depends on the size of the parking gap. the orientation of the car relative to the gap. i.0 STEERING [degree] 30.0 VVL VL LOW HIGH VH VVH RIGHT STRAIGHT LEFT 0. together with the x-position. we can go on as long as. Y3) concerning the y-position of the car are processed through rulebase RB1 into a symbolic representation of the y-position.0 -30.0 Figure 4.1. Step 4: Maneuver the car to the target position If the target position isn’t reached with step 3. we can go on as long as the distance to the rear car allows us to get the car parallel to the gap with the following left turn. The following three rules illustrate this strategy: if Y is FRONT and X is LEFT and ORIENTATION is STRAIGHT then STEERING is RIGHT and DIRECTION is BACK if Y is MIDDLE and X is LEFT and ORIENTATION is LEFT and DIRECTION is BACK then STEERING is LEFT and DIRECTION is BACK if Y is BACK and X is LEFT and ORIENTATION is STRAIGHT then STEERING is RIGHT and DIRECTION is FORWARD 4 . This variable. If the gap is short. The strategy of RB2 is that of a human driver. If the current position and orientation is within a certain range of the target position. Structure of the Fuzzy Controller for maneuvering inside the parking First. which allows to handle this value with terms like FRONT.0 if DISTANCE is (HIGH or VVL) then STEERING is LEFT if DISTANCE is (VVH or LOW) then STEERING is RIGHT if DISTANCE is (VH or VL) then STEERING is STRAIGHT 1.

7 0.6 1. Sugeno and M. Murray: Trajectory Generation for the N-Trailer Problem Using Goursat Normal Form.7 0. and a very sketchy world model. M..3 1. The trajectory on the left shows a parking process into a relatively long parking gap. Brown and C.8 1 1.4 1. 5. Barraquand and J.2 1. Master thesis. The trajectory on the right shows a trajectory leading into a very short gap which requires some alternating back and fore movements. As expected. Amsterdam.269. I. STAN-CS-90-1317. Wabner: Construction of a model car for sensor guided parking (in German).4 0.The performance of the overall algorithm is illustrated in Figure 6. Trajectories of parking procedures into a long (left) and into a short (right) parking gap.113. 125 . pp.8 1 1.2 1. Prentice Hall International. 1985. After all. Proceedings of AVEC’94.1 mm. 1996. Tilbury and R.818.9 0. Conclusion Since we have also started out with a simulated environment for reverse parking.4 1. References [1] [2] [3] [4] J. The robustness of fuzzy control is demonstrated by the fact that the controller is able to cope with heavy sensor uncertainty.8 0. M. In: M. pp. Sugeno and K. 802 . Stanford University. M.1 1.1 x [m] 1 0. 40. 1994. D. but outperforms most humans attempting to park the car manually via joystick. The rapid prototyping aspect of fuzzy control can be underlined by the time of just 10 days it took us to develop the controller.9 0. imprecise actuators. 6. The problem got even more challenging by the deliberate use of few and inexpensive sensors and by the lack of a precise mathematical model of the car’s kinematics. Fuzzy Sets and Systems 16-1985.6 0. Latombe: Controllability of Mobile Robots with Kinematic Constraints. [5] [6] [7] 5 . 1990.138. Sugeno. Industrial Applications of Fuzzy Control. 1. M.8 x [m] 1 0. Thus. we can attest to the differences between a “cartoon“ problem and an actual hardware setup.2 1. 103 . Harris: Neuro Fuzzy Adaptive Modeling and Control. North-Holland. IEEE Transactions on Automatic Control. 1994. the car has endured 7 days of nonstop operation at the Hannover fair without any performance degradation.6 0. pp. but it requires an intelligently designed system architecture with the interaction of several fuzzy as well as conventional modules performing certain subtasks.4 0.8 0. Vol. pp. Ed.2 0.2 0.3 1. No.8 y [m] y [m] Figure 6. thus almost no maneuvering is needed. the problem of autonomous parking could not be solved with just one simple fuzzy controller. the car does not park with a robot precision of +/.-C. California. Bavarian Research Center for Knowledge Based Systems. Hirata: A Control of Backward Maneuverability at Parking. Murakami: An experimental study of fuzzy parking control using a model car. Nishida: Fuzzy control of model car. 266 . Report No.2 1. Kageyama and A. May 1995.6 1.