A Solution to the Parallel Parking Problem
Sinan Öncü and Mürvet Kırcı
Faculty of Electrical & Electronic Eng.
Technical University of Istanbul, İstanbul, Turkey
Abstract. Nowadays parts of a car have been designed form in which make us
easy driving. One of the driving problems is parallel parking. This study gives a
solution with an algorithm to the parallel parking problem. Simulation of the
solution including all cases in the parallel parking has been made based on this
algorithm. Implementation of the simulation has been made as a robot car. The
approach has been integrated into an automated parking system, and
implemented a modified car. It shows the potential to be integrated into
automobiles.
1 Introduction
This work is related with a mobile robot car (MCR) solving parallel parking problem.
Parallel parking is a method of parking a vehicle in parallel to the other car. It is
proposed to develop a parking helper system which is possible apply to the real car.
Autonomous parking is necessary sensing environmental conditions, calculating the
dynamic paths. In this work implementation of parallel parking algorithm on mobile
robot car will be presented. The parallel parking involves many problems such as
recognition of driving circumstances, maneveuring and vehicle control. In the litera-
ture there are some works related with this subject. Yasunobu and Murai have pur-
posed a controller based on hierarchical fuzzy control.[1] Jenkin and Yuhas have
reported a simplified neural network controller.[2] These algorithms are based on the
kinematics data to formulate intelligent controllers.Lo et.al have presented an auto-
mated parallel parking strategy for a vehicle like robot[3]
In our system works in three step; scanning, calculating and parking. In scanning
step the requiring parking area is scanned by infra red sensors. Then in second step
the car is moved to a suitable parking area where the parking maneveurs can begin.
The required maneveurs for the parking step are calculated dynamically. In the last
step MCR follows the path to the suitable location. Parallel parking algorithm and
implementation on the MCR is discussed in section 2. In the section 3.application of
the algoritm is explained. The application consists of two steps. First,a visual com-
puter program running in PC environment is developed in order to simulate the ap-
proach above. In the second part, hardware implementation of the parallel parking
algorithm on a MCR and modules that are used will be explained.
Öncü S. and Kırcı M. (2008).
A Solution to the Parallel Parking Problem.
In Proceedings of the 2nd International Workshop on Intelligent Vehicle Control Systems, pages 93-98
Copyright
c
SciTePress
2 Parallel Parking Algoritm
A mechanical system consists of different compenents. In this case where the
deformations of the body are significant compared to the motion of the body as a
whole body is called a rigid body The idealization allows us to reduce the equations
needed to describe a rigid body.[4] In this work the system has been assumed as a
nonholonomic system.[5-7] In this method datas from the sensors and closed loops
for dynamic circumstances are used. In this section it is given an algorithm to solve
parallel parking problemof MCR.There are three step in this method.
a) Scanning Step
In scanning step it is determined potential places using closed loop controls so that it
does not hit around objects and borders. MCR is parallel y axis in initial case. Every
action loop for parking is correspond to a displacement 1cm direction in +y axis. As
the angle of the steering was zero degree, x axis and the angle of the position of the
MCR do not change. The action of the MCR is forward. It seeks a convenient parking
place acting in low velocity. Sensors mounted to the left and right side of MCR give
necessary knowledge for seeking. The sensor in font of the MCR also gives some
knowledge about a possible accident undesired will be done. After every action loop
correspond to a scanning 1cm has been finished the variables of the parking area are
updated. Distance between MCR and other parked vehicles are also noted in memory.
When the variable of the parking area has exceeded a fixed value specified with
dimensions of MCR, this fixed value is pointed as a potential target. The center of the
circle C1 is settled on a line perpendicular to this point on the coordinate plane.The
center of the circle C1 is calculated by following formulas:
fyyC
RxfxxC
=
Δ
+
=
1
1
(1)
Where
xΔ
displacement. If parking area has suitable dimensions it will be passed to
the calculating step
(a) (b)
Fig. 1. (a) The car is seeking a park place. (b) The center of the circle C1 is being calculated.
94
b) Calculating Step
When the convenient parking area has been found the MCR passes to this step. The
aim of the MCR is to arrive a good position for beginning car parking maneverous.
This Position is the point specified as a target in the scanning step. Firstly, it is
defined a circle which is described points MCR be able to arrive on coordinate plane.
Coordinates of the center of this circle are calculated as follows:
fyyC
RfxxC
=
+
=
2
2
(2)
To find a point is an intersection of these circles MCR acts forward. Distance
between two circles is 2R at this tangent point. Therefore tangent point is
RyCyCxCxC 2)2.1()2.1(
22
=+
(3)
(a) (b)
Fig.2. (a) The MCR has found the convenient park place. (b) Parking Maneveurs are being
calculated.
Then MCR arrives to the tangent point acting backward with a specified steering
angle. At tangent point following equations are satisfied
22
22
)2()2(2
)1()1(1
221
yCfyxCfxdc
yCfyxCfxdc
Rdcdc
+=
+=
=
+
(4)
When MCR has reached to the tangent point C1,C2 and F(fx,fy) are situated on the
same line. Then MCR realizes steering maneverous inverse direction with same angle
value. So it follows arc which is occurred by C1 and passes between the circles
Finally the MCR is backed up with the determined steering angle until its orientation
angle is again parallel to the y-axis. The sideways displacement obtained can be
observed in the figure 2 (a) and (b).
95
c) Parking Step
In the parking maneveurs the same approach is used that was explained calculating
step with sideways displacement resulting in the final location where the MCR is
desired to be lacated after the parking is completed. Different from the calculating
step greater steering angle values are used during parking maneveurs to increase
maneveuring capability of the car. The parking maneveurs for the given scenerio are
shown in the following figure 3.
(a) (b)
Fig.3. (a) The MCR is doing parking maneveurs. (b) The MCR is arriving to the final location.
3 Application
Application of the parallel parking algorithm on a MCR consists of two steps. First, a
visual computer program running in PC environment is developed in order to
simulate the approach above. The program allows the user to generate random
scenarios for parallel parking. In the first section of this chapter the simulation
program is explained In the second part , hardware implementation of the parallel
parking algorithm on a MCR and modules that are used will be explained.
3.1 Simulation
In the simulation program, physical model of a MCR is generated first. The
coordinates of the reference point F(fx,fy) is the main control point. The corner points
of the vehicle are generated with referencing to the reference point.The kinematic
model is implemented on this model. After each cycle of the main program loop,
coordinate parameters of the reference point are calculated depending on the
previous values and steering angle. On this car model four sensors were modelled
which obtain the enviromental data from the simulation screen by checking color
changes Which is an abstraction of the real world operation of sensors.
96
Fig.4. A screen shot from the from the simulator.
A random scenario generator program has been developed in order to simulate the
environment. For decision making tasks a program simulation te controller is
generated which obtaines the enviromental data, makes decision and sends the control
signals to the motion module Simulator. In the figure.4. a screen shot from the
simulator running in PC enviroment is seen.
3.2 Hardware
Realizing the parallel parking algorithm on a MCR requires obtaining enviromental
data, making decision and driving the car to perform the task.The requirements are
satisfied using three modules of hardware:
1.) The sensor module
2.) The Microcontroller module
3.) The motion module
For the parallel parking of the MCR SharpGP2D120 distance measuring infra-red
sensors were used to obtain enviromental data.These IR sensors operate between
4~30cm distances which is sufficient for our 20x50cm robot. The experiments
showed that sensor data resolution is sufficient in the interval 4-20cm which covers
the critical ditances for the parallel parking problemof a MCR wit dimensions
20x50cm. In this project Microchip PIC16F877 micro controllers were chosen
because of their large memory size, built in ADC, low price and incircuit
programming capability. The motion module consists of two stepper motors and their
driver chips, the ULN2003A. Stepper motors are used for both steering and driving of
the robot because accurate control on the motion of the robot is needed for the
controller software to predict the displacements of the robot body.
A MCR has been developed with 20x50 cm dimensions. This a four wheeled rear-
driven car with front-steering wheels. It is equipped with 2 stepper motors. One of the
stepper motors is used for driving and the other is used for controlling the steering
system. 4 IR sensors are placed on the robot.
97
4 Conclusions
The parallel parking algorithm introduced in capter 2 has been realized on the car-like
robot (MCR) using closed loop control and path following methods. The approach
was verified with experimental studies. The method can be used in different sized
cars by modifying relevant parameters (car length, width etc.) in the controller soft-
ware.
The approach solves the parallel parking problem for a general case. The approach
can be implemented on more complex scenarios which include various parking
spaces with the use of hybrid sensor systems for better modeling of the environment.
References
1. Yasunobu, S., Murai, Y., Parking Control Based on Predictive Fuzzy Control in Proc. Of
IEEE Int. Conf. On Fuzzy system, Jun (1994),pp 1338-1341
2. Jenkins, R.E., Yuhas, B.P., A simplified Neural Network solution Through problem de-
composition:The case of the truck Backer-upper, IEEE Tran.on Neural Network, (1993,
Vol.4.,No.4.
3. Lo, Y. K., Rad, A.B., Ho,M. L., Automatic Parallel Parking , IEEE Journal of Robotics and
Automation, (2003)
4. Pars, L., A Ttreatise on AnaliticalDynamics, Heinemann, London, (1965)
5. Laugier,C., Paromtchick, I.E., Garnier, Ph., Sensor Based Control Architecture for a Car-
like Vehicle, International Conference on Intelligent Robots and Systems, October, (1998)
6. Jiang, K., Seneviratne, L.D., A Sensor Guided Autonomous Parking System for Non-
holonomic Mobile Robots, International Conference on Robotics & Automation, May,
(1999)
7. Geng, G., Geary, G. M., Development Of A Path Planning System For AGVs, Industrial
Technology, (1994), Proceedings of the IEEE International Conference
98