4 CONTROL SYSTEM
DEVELOPMENT
OF AN AUTONOMOUS
VEHICLE
Parking of autonomous vehicles in a constrained
space is a typical control problem in robotics (Li et
al., 2003). Starting from any given position and
orientation (x, y, Φ), the autonomous mobile robot
must drive forward and backward (as required) at
speed v and with a wheel curvature γ in order to
always arrive backward at target position (0, 0, 0).
The above methodology has been applied to the
realization of a fuzzy control system for autonomous
parking of an electric vehicle. The used mobile robot
has been an autonomous electric vehicle called
Romeo-4R. Romeo-4R is a four-wheeled car with
standard Ackerman steering, DC traction and
steering electrical motors. A digital signal processor
(DSP) TMS-320LF provides support for motor
control (encoder inputs and PWM outputs), A/D
conversion, and communication links through serial
ports, thus easing the low level control of the
vehicle. The DSP acquires information from sensors
(a gyroscope and encoders) and processes it by using
a kinematical model usually employed for car-like
robots in order to resolve the actual position (x, y)
and orientation (Φ) (Cuesta et al., 2004).
The state of the vehicle is transmitted every 50
ms, thus determining the duration of the control
cycle. The fuzzy high-level controller performs the
parking control strategy and sends back to the DSP
the new required values of speed and wheel
curvature, so that the DSP controls the traction and
direction motors. This hierarchical control structure
allows developing different control strategies in the
high-level controller and frees it from the low-level
control task of Romeo-4R.
Once known the values of the current state (x, y,
Φ, v, γ) of Romeo-4R, the DSP transmits them to the
FPGA containing the fuzzy controller through a RS-
232 serial interface and using a specific
communication protocol (which is also implemented
by the program running in the MicroBlaze
processor).
In order to give physical support to the
development platform, a Xilinx University Program
Virtex2-Pro Development System Board has been
employed. This board allows cosimulation to be
carried out using Matlab.
Figure 2 (right) shows simulation results
illustrating the trajectories of parking maneuvers.
5 CONCLUSIONS
A realization strategy for the development of hybrid
HW/SW embedded fuzzy controllers on FPGA
devices has been described. The design flow
combines specific tools for development, simulation,
synthesis and implementation using FPGAs. The
main contribution of this paper is a methodology for
the joint construction of hardware and software
components in every stage of design. The proposed
methodology is applied to solve a classic robotic
problem.
ACKNOWLEDGEMENTS
Project TEC2008-04920 financed by “Ministerio de
Ciencia e Innovación” and P08-TIC-03674 by
“Junta de Andalucía”. E. del Toro is a MAEC-
AECID scholarship PhD. student.
REFERENCES
Baturone, I., Barriga, A., Sánchez-Solano, S., Jiménez,
C.J., and López, D., 2000. Microelectronic Design of
Fuzzy Logic-Based Systems. CRC Press.
Cabrera, A., Sánchez-Solano, S., Brox, P., Barriga, A., and
Senhadji, R.. 2004. Hardware/software codesign of
configurable fuzzy control systems. Applied Soft
Computing, 4, 271-285.
Cuesta, F., Gómez-Bravo, F., and Ollero, A., 2004.
Parking maneuvers of industrial-like electrical
vehicles with and without trailer, IEEE Trans. on
Industrial Electronics, 51, 2, 257-269.
Li, T. H. S., Shih-Jie, C., and Yi-Xiang, C. 2003.
Implementation of human-like driving skills by
autonomous fuzzy behavior control on an FPGA-
based car-like mobile robot. IEEE Trans. Ind.
Electron., 50, 867– 880.
López, D., Jiménez, C.J., Baturone, I., Barriga, A., and
Sánchez-Solano, S. 1998. Xfuzzy: A Design
Environment for Fuzzy Systems. IEEE International
Conference on Fuzzy Systems, Anchorage.
Ross,, T. J. 2004. Fuzzy Logic with Engineering
Applications, Wiley.
Sánchez-Solano, S., Cabrera, A., Baturone, I., Moreno-
Velo, F.J., and Brox, M., 2007. FPGA Implementation
of Embedded Fuzzy Controllers for Robotic
Applications. IEEE Trans. on Industrial Electronics,
54, 1937-1945.
Xilinx. 2008a. MicroBlaze Reference Guides.
Xilinx. 2008b. Xilinx System Generator v10.1 for
Simulink. User Guide.
Zadeh, L. A., 1973. 1973. Outline of a new approach to
the analysis of complex systems and decision
processes. IEEE Trans. on Systems, Man, and
Cybernetics, 3, 28-44.
ICINCO 2010 - 7th International Conference on Informatics in Control, Automation and Robotics
216