10.1.1.67.5489

Upload: oscar-aviles

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 10.1.1.67.5489

    1/5

    1

    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 perfor-

    mance, 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 cars 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) operators control actions. In [4] and [5] a Takagi-Sugeno type of

    Fuzzy Controller is constructed by learning the rulebases parameters (i.e. the coefficients of each linear

    combination forming a Takagi-Sugeno-type fuzzy rule) from a set of example data recorded duringhuman 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 designers

    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 hard-

    ware 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: [email protected] or [email protected]

    In: Proceedings of the 4th European Congress on Intelligent Techniques and Soft

    Computing - EUFIT 96, Aachen, Germany, Sept. 1996, pp. 2171-2175.

  • 7/28/2019 10.1.1.67.5489

    2/5

    2

    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. This relates to the software solution as well as to the hardware

    layout that is illustrated in the next section.

    3. Hardware layout

    The hardware basis for the autonomous vehicle is a 1/10 scaled model car chassis with an onboard

    computer, sensors etc. The outline of the model is shown in Figure 2. The steering mechanics, the ser-

    vos and the gearbox are omitted for clarity. The onboard microcontroller, which is based on a

    MC68HC11, is connected via a serial link to a Windows PC. The controller runs a real-time operating

    system and is programmable in PASCAL and assembler. Its task is to collect all sensory inputs, transmit

    them to the PC, where the main parking algorithm resides, receive the steering commands from the PC,

    and hand these commands over to the servos for driving and steering. The three ultrasonic sensors have

    a range of approximately 0.05 to 0.5 meter and a scope of five degrees. These sensors are controlled by

    the sensor multiplexer, which ensures that the different sensors dont interfere and processes the sensor

    signals. The incremental encoder is mounted to the left rear wheel and allows to measure the velocity

    and the driven distance of the car. The potentiometer which is connected to the front wheels by a string

    that is wound round the potentiometers shaft, measures the current steering angle though only with a

    precision of about three degrees. The overall range of the steering angle is about +/- 28 degrees which

    makes the model car far less maneuverable than a real car with a steering range of up to +/-45 degrees.

    4. World modelingSince the number of distance sensors was limited, we could not expect to monitor the entire border of

    dummy cars model car

    interface cable

    Figure 1. The layout of the parking scenario.

    Sensor

    Multi-

    OnboardMicrocontroller

    Ultrasonic Sensors

    Potentiometer

    Incremental Encoderplexer

    Figure 2. Hardware layout of the model car.

    44 cm

    24 cm

  • 7/28/2019 10.1.1.67.5489

    3/5

    3

    the model car for obstacle avoidance. Furthermore, the parking gap could not be recognized at a

    glance, as would have been possible with a laser scanner, for example. On the other hand, we didnt

    want to give the vehicle more information in advance about the position of the parking gap than absolu-

    tely necessary. All it should know was something like there is a parking gap on the right side some-

    where straight ahead. So some kind of world model had to be constructed on-line while passing the

    parking gap. 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). To detect the parking gap, the vehicle tries to fit a big enough rec-

    tangle into this contour and determines the target position once the parking gap is found.

    The constructed world model (i.e. the contour polygon) is also used for the determination of the cars

    current position. Since the steering angle is measurable only very imprecisely, and the somehow

    wobbly chassis of the car prohibits a precise mathematical model of the kinematics, position update on

    the basis of speed and steering angle is reliable only for a few centimeters. 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. The pro-

    blem is aggravated by sensor availability, i.e. the sensors respond only, when the angle of incidence to

    the detected object is fairly perpendicular. Thus, 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.

    5. The parking algorithm

    The problem of parking the model car reversely into the located parking gap is divided in 4 subpro-

    blems, each of them using Fuzzy Control to a certain degree.

    Step 1: Searching for the parking gap

    As the model car knows that the parking gap will be somewhere ahead on the right side, all it has todo 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 Fuzzy control-

    ler for this simple task is shown in Figure 4. The velocity was set to a fixed value of about 0.15 m/s.

    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. 4)

    until the car is about 0.17 m ahead of the detected parking gap (see Fig. 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, with the condition that the cars orienta-

    tion should be parallel to the parking gap afterwards. So the point for turning the steering angle from

    xy-position of the car

    contour ofdetected obstacles detected parking gap

    target position

    Figure 3. World model for the parking procedure.

    y

    x

  • 7/28/2019 10.1.1.67.5489

    4/5

    4

    full right to full left depends on the size of the parking gap. If the gap is long, we can go on as long as.

    the following left turn will not lead to a collision with the back wall (curb). If the gap is short, 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 determination of this turning point is achieved by a fuzzy decision component that was

    constructed using some test data.

    Step 4: Maneuver the car to the target position

    If the target position isnt reached with step 3, some maneuvering is necessary to finish the parking pro-

    cess. This is done by a more complex fuzzy controller with the block structure depicted in Figure 5.

    First, three values (Y1, Y2, Y3) concerning the y-position of the car are processed through rulebase

    RB1 into a symbolic representation of the y-position, which allows to handle this value with terms like

    FRONT, REAR, MIDDLE independently of the length of the parking gap. This variable, together with

    the x-position, the orientation of the car relative to the gap, 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. If

    the current position and orientation is within a certain range of the target position, the boolean output

    variable STATE is set to TRUE, to inform the main program of the success. The strategy of RB2 is that

    of a human driver, i.e. to drive back and fore alternately while steering left and right to get the car furt-

    her into the gap. 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 STRAIGHTthen STEERING is RIGHT and DIRECTION is FORWARD

    1.0

    .0

    DISTANCE [m]0.0 0.5

    VVL VL LOW HIGH VH VVH

    1.0

    0.0

    STEERING [degree]-30.0 30.0

    RIGHT STRAIGHT LEFT

    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

    Figure 4. Fuzzy controller for going straight and keeping a distance to the right.

    Y2

    Y1

    Y3RB2

    Y

    ORIENTATION DIRECTIONX

    LENGTH

    DIRECTION STEERING STATE

    RB1

    Figure 5. Structure of the Fuzzy Controller for maneuvering inside the parking

  • 7/28/2019 10.1.1.67.5489

    5/5

    5

    The performance of the overall algorithm is illustrated in Figure 6. The trajectory on the left shows a

    parking process into a relatively long parking gap, thus almost no maneuvering is needed. The trajec-

    tory on the right shows a trajectory leading into a very short gap which requires some alternating back

    and fore movements.

    6. Conclusion

    Since we have also started out with a simulated environment for reverse parking, we can attest to the

    differences between a cartoon problem and an actual hardware setup. The problem got even more

    challenging by the deliberate use of few and inexpensive sensors and by the lack of a precise mathema-

    tical model of the cars kinematics. Thus, the problem of autonomous parking could not be solved with

    just one simple fuzzy controller, but it requires an intelligently designed system architecture with the

    interaction of several fuzzy as well as conventional modules performing certain subtasks. As expected,

    the car does not park with a robot precision of +/- 1 mm, 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. The robustness of fuzzy control is demon-

    strated by the fact that the controller is able to cope with heavy sensor uncertainty, imprecise actuators,

    and a very sketchy world model. After all, the car has endured 7 days of nonstop operation at the Han-

    nover fair without any performance degradation.

    References

    [1] J. Barraquand and J.-C. Latombe: Controllability of Mobile Robots with Kinematic Constraints.

    Stanford University, California, Report No. STAN-CS-90-1317, 1990.

    [2] M. Brown and C. Harris:Neuro Fuzzy Adaptive Modeling and Control. Prentice Hall Internatio-

    nal, 1994.

    [3] I. Kageyama and A. Hirata:A Control of Backward Maneuverability at Parking. Proceedings of

    AVEC94, 1994, pp. 266 - 269.

    [4] M. Sugeno and K. Murakami:An experimental study of fuzzy parking control using a model car.

    In: M. Sugeno, Ed.,Industrial Applications of Fuzzy Control, North-Holland, Amsterdam, 1985,

    pp. 125 - 138.

    [5] M. Sugeno and M. Nishida: Fuzzy control of model car, Fuzzy Sets and Systems 16-1985, pp.

    103 - 113.

    [6] D. Tilbury and R. Murray: Trajectory Generation for the N-Trailer Problem Using Goursat Nor-

    mal Form. IEEE Transactions on Automatic Control, Vol. 40, No. 5, May 1995, pp. 802 - 818.

    [7] M. Wabner: Construction of a model car for sensor guided parking (in German). Master thesis,

    Bavarian Research Center for Knowledge Based Systems, 1996.

    0.7

    0.8

    0.9

    1

    1.1

    1.2

    1.3

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80.7

    0.8

    0.9

    1

    1.1

    1.2

    1.3

    0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

    y [m]

    x [m] x [m]

    y [m]

    Figure 6. Trajectories of parking procedures into a long (left) and into a short (right) parking gap.