Professional Documents
Culture Documents
a r t i c l e i n f o a b s t r a c t
Article history: This paper presents the development of two outdoor intelligent vehicles platforms named CaRINA I and
Received 16 April 2013 CaRINA II, their system architecture, simulation tools, and control modules. It also describes the develop-
Received in revised form 29 October 2013 ment of the intelligent control system modules allowing the mobile robots and vehicles to navigate
Accepted 28 December 2013
autonomously in controlled urban environments. Research work has been carried out on tele-operation,
Available online xxxx
driver assistance systems, and autonomous navigation using the vehicles as platforms to experiments
and validation. Our robotic platforms include mechanical adaptations and the development of an embed-
Keywords:
ded software architecture. This paper addresses the design, sensing, decision making, and acting infra-
Autonomous vehicle architecture
Embedded system design
structure and several experimental tests that have been carried out to evaluate both platforms and
Robotic vehicle navigation proposed algorithms. The main contributions of this work is the proposed architecture, that is modular
Computer vision and flexible, allowing it to be instantiated into different robotic platforms and applications. The commu-
Machine learning nication and security aspects are also investigated.
Intelligent systems Ó 2014 Elsevier B.V. All rights reserved.
1. Introduction titions for autonomous vehicles. The Grand Challenges [2], per-
formed in 2004 and 2005, had focus on crossing the desert and
According to World Health Organization [1], each year, approx- skills known as ‘‘road following’’ and ‘‘obstacle avoidance’’. The
imately 1.2 million lives are lost due to traffic accidents worldwide, first edition was disappointing. The best team traveled just
and around 50 million people suffer non-fatal car accidents. The 12 km from 224 km proposed by DARPA. In 2005, this challenge
majority of these are due to human error, like small distractions was proposed again and five vehicles finished the new route. In
when driver uses a mobile phone or eats something, or more seri- 2007, perhaps the most famous and relevant competition was
ously faults like drunk driving or exceeding the speed limit. Self- launched, the Urban Challenge [3] where robot-cars should be able
driving cars promise to reduce this number of deaths and injuries to safely navigate in an urban environment with other robot-cars
as well as bring other benefits like optimal fuel usage, efficiency and human-driven vehicles. They also had to obey some of the
with freight transportation and traffic flow improvement in big cit- driving rules of California. This competition had 11 finalist teams
ies, providing transportation for children and adults unable to and 6 robots finished the route of 96 km. Despite the impressive
drive like physically handicapped or visually impaired people. This results of the 2007 edition which proved the feasibility of this kind
paper describes the software and hardware architectures, and of technology, it is important to highlight that the autonomous
experimental results of the CaRINA project (Intelligent Robotic navigation in urban environments problem was simplified in order
Car for Autonomous Navigation), which aims the development of to evaluate the robots and perform this competition.
an autonomous vehicle for urban environments. In Europe, the European Land-Robot Trial (ELROB) [4] is an ini-
In recent years, the Defense Advanced Research Projects Agency tiative similar to DARPA competitions but without a winner. It is
(DARPA) encouraged this research area by organizing three compe- performed every year since 2006 alternating between military
and civilian. Europe has also initiatives where companies, universi-
ties and research centers have cooperation projects to develop
⇑ Corresponding author. Tel.: +55 1634132085.
technologies to improve safety and intelligence from vehicles.
E-mail addresses: lnd@icmc.usp.br (L.C. Fernandes), jrsouza@icmc.usp.br
(J.R. Souza), pessin@icmc.usp.br (G. Pessin), shinzato@icmc.usp.br (P.Y. Shinzato),
Some of them are ‘‘The European Field Operational Test’’ (EuroFot)
dsales@icmc.usp.br (D. Sales), mgprado@icmc.usp.br (M. Prado), rlklaser@ [5] and ‘‘Highly Automated Vehicles for Intelligent Transport’’
icmc.usp.br (R. Klaser), acmagalhaes@sc.usp.br (A.C. Magalhães), hata@icmc.usp.br (HAVEit) [6] which had focused on developing systems like ACC
(A. Hata), pigatto@icmc.usp.br (D. Pigatto), kalinka@icmc.usp.br (Kalinka Castelo (Adaptative Cruise Control), FCW (Foward Collision Warning), BSIS
Branco), vgrassi@sc.usp.br (V. Grassi Jr.), fosorio@icmc.usp.br (F.S. Osorio),
(Blind Spot Information System), LDW (Lane Departure Warning)
denis@icmc.usp.br (D.F. Wolf).
1383-7621/$ - see front matter Ó 2014 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
2 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
and others. Finally, in 2011, Europe hosted the ‘‘Grand Cooperative Embedded Systems) and CRob/SC (Center for Robotics of University
Driving Challenge’’ (GCDC) [7] that boosted research in cooperative of São Paulo at São Carlos). It began in April 2010 with an electric
driving systems, where a robot can communicate with other robots service car, which has been modified for computer control and
and environment in order to negotiate its planning and control. instrumented with a variety of sensors for perception. In October
Despite the great importance that the latest initiatives and com- of the same year the vehicle (known as CaRINA I) was performing
petitions received, it is important to note that development of its first autonomous control test. Few months later CaRINA I was
autonomous vehicles has been studied since 80s by various re- able to autonomously traverse a 1 km trajectory in a controlled ur-
search groups around the world, such as the ARGO project [8], ban environment. The work on CaRINA II (a standard Fiat Palio
and VaMoRs vamp [9], NavLab [10], and several others. The devel- Adventure) started in July 2011. One year later, to the best of our
opment of autonomous vehicles is a topic of research relatively knowledge it has been the first commercial vehicle from Latin
large and complex, allowing a large number of approaches that America capable to perform autonomous navigation in the streets.1
can be seen in several surveys as [11–14]. Even today there are re- Fig. 1 shows the CaRINA I and II research platforms.
search projects on autonomous vehicles with different approaches The main contributions of this paper are: (i) The proposed sys-
and prototypes such as AUTONOMOSlabs [15] that has two vehi- tem architecture that is modular and flexible, allowing to instanti-
cles – the ‘‘Spirit of Berlin’’ and ‘‘Made In Germany’’ which recently ate it into different hardware platforms (CaRINA I and II), and
conducted the ‘‘Mission: Brandenburger Tor’’ where the vehicle allowing to be customized to different specific practical applica-
traveled on the streets and highways of Berlin without driver’s tions, as presented in this work; (ii) the system development meth-
actuation. Another group which also has projects with smart cars odology proposition based on an Open platform (ROS – described
is VisLab [16] that created several prototypes – and the most recent in Section 2.1) exploiting its main characteristics as a service-based
are ‘‘BRAiVE’’ (2009), ‘‘VDCL Grandeur’’ and ‘‘Porter’’ (2010) that architecture, and also integrating it with a simulation facility based
traveled a route of 13,000 km from Italy to China. Currently, per- on Gazebo, that allows to perform realistic virtual simulations
haps the most famous vehicle and considered state of the art is (switching between virtual and real components into the system
the ‘‘Google Self-Driving Car’’ [17] that took all technology devel- architecture); (iii) the different navigation systems which present
oped in the DARPA Urban Challenge as its starting point. original solutions allowing practical autonomous vehicle naviga-
Although several research groups have been actively working tion based on reactive behaviors, path planning and topological
on autonomous vehicles around the world, few initiatives take navigation based on state detection; (iv) the discussion, proposi-
place in Latin America. One of the first projects in this area is devel- tion and introduction of facilities regarding the communication
oped at the Federal University of Minas Gerais. Its software archi- security, in order to provide a safer service-based and distributed
tecture is described in [18]. Experiments of autonomous navigation processing architecture/components; (v) the study, development
are reported in [19,20]. Researchers from Federal University of Ita- and practical evaluation of VANETs (Vehicular Networks) inte-
juba has also been working on autonomous navigation [21] and grated into this context of distributed services architecture, also
parking [22]. Both groups have fully automated cars and have been providing a safe communication. The main advantages of the pro-
testing navigation algorithms in open spaces. A commercially auto- posed architecture related to other works found in the literature
mated vehicle has been recently acquired by Federal University of are the flexibility of the proposed architecture, demonstrated by
Espirito Santo, which has been actively working on obstacle detec- the different possible applications/configurations obtained using
tion using stereo vision [23]. Some research groups have also been it, and also the aspects related to the communication security
working on algorithms such as: pedestrian recognition [24], auton- which usually are not provided/discussed in other works.
omous parking [25,26], and collision risk estimation [27]. They are This paper describes the hardware and the software architec-
still working on the automation of their platforms and testing in tures of the CaRINA Project, experimental platforms, as well as
simulators and using offline data. Besides commercial vehicles, the autonomous navigation results obtained. It is organized as fol-
other types of outdoor robotic platforms have been also used to lows: Section 2 describes the system architecture based on ROS,
autonomous navigation [28,29].
The CaRINA project has been developed at the INCT-SEC (Brazil-
ian National Institute of Science and Technology for Critical 1
http://www.youtube.com/lrmicmc.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 3
the hardware and software of the CaRINA experimental platforms, hardware abstraction, low-level device control, commonly-used
and aspects of the simulated models. Section 3 presents the appli- functionality, message-passing between processes, and package
cation of the proposed architecture into four different navigation management.
systems, along with experimental results. Section 4 describes an ROS also provides tools to implement a distributed system, with
investigation on vehicular networks and security communication. Services (Nodes) that run on a single machine or distributed over
Finally, Section 5 presents the conclusions and future work. different machines. The communication between individual nodes
may be done through a publish/subscription model. Nodes publish
(write) and/or subscribe (read) from a topic, which can be local or
2. System architecture
remote.
Nodes, messages, and services can be organized into Packages,
In order to design, build and test Intelligent Robotic Car sys-
and a collection of similar/related packages that work together
tems, we should be able to select, integrate and configure the hard-
can be grouped into Stacks. ROS provides tools to facilitate the
ware, and then develop the software to operate with different
management of Nodes, Packages and Stacks, creating a repository
types of sensors and actuators. The sensors range from LIDARS
of code that can be shared with the research community. Finally,
(Laser sensors), monocular-stereo-spherical-panoramic cameras,
the Player APIs/drivers can be encapsulated as nodes of ROS, in or-
GPS, Compass, IMU, and also, other devices used to obtain the feed-
der to provide access to a large set of sensors and actuators avail-
back from the vehicle state (e.g. wheels odometer and steering an-
able in the market, allowing the user to easily send/receive data to/
gle encoder), which require specific drivers, interfaces and
from different devices. The sensors and actuators can also be re-
software setup. It is also necessary to consider the different types
placed by virtual simulated components when using the Gazebo.
of actuators, used to control the steering wheel, the acceleration
ROS was adopted as the OS base of our autonomous vehicles,
and brake pedals, and, if necessary, to make the gearbox shift. This
CaRINA I and CaRINA II.
is a very difficult and time consuming task if you do not have ade-
quate tools to deal with this system design complexity.
Intelligent and autonomous vehicles applications design re- 2.2. CaRINA I hardware
quires the development of different hardware and software mod-
ules, and also interfaces that connect users, robot control CaRINA I is a Carryall 232 electric utility vehicle (Fig. 1(a)).
systems and the embedded hardware components. In the particu- Some of its features include: kinematic and dynamic similar to
lar case of the Intelligent Robotic Car design, the modeling and commercial vehicle, easily modifiable mechanics, and high flexibil-
simulation of the system can be successfully done using VST (Vir- ity to perform tests given the reduced speed, size, and weight. Fur-
tual Simulation Tools/Technology) and after transpose the virtual thermore, we can highlight the low environmental impact due to
system into an actual robotic system. Adopting VSTs to model electric propulsion.
and simulate autonomous vehicles, testing and evaluating the dif- Mechanical and electronic changes have been made to allow
ferent aspects of the system before implementing it physically, is computational control of the steering wheel, acceleration, and
an efficient manner to decrease the development time. Also, it braking systems, and preserving the original driving and handling
allows to guarantee the safety during the initial and critical phase vehicle characteristics.
of tests/validations of the system. This type of approach is becom- The steering system comprises a Bosch DC motor and an optical
ing more and more common not only in the robotics design but encoder that connects with the steering wheel through a coupling
also in other industrial products design [30–34]. mechanism consisting of pulleys and belts (Fig. 2). It is controlled
Furthermore, it is also required a middleware providing tools by a RoboteQ device, which communicates with the computer
for interfacing with different embedded system modules, hard- and the ROS module using a serial port.
ware abstraction, and also providing communication facilities, The vehicle throttle is actuated by an Arduino microcontroller
since the implementation of the Intelligent Robotic Car system that emulates the signal generated by the throttle pedal. It is also
usually requires the adoption of a distributed processing system connected to an optical encoder attached to the front wheel to ob-
with multiple dedicated processing modules. tain speed feedback. Brakes are operated using a Linak linear
ROS (Robotic Operating System) was chosen as the main soft- actuator.
ware package tool to allow us to develop CaRINA I and CaRINA II, Besides the modifications for actuation (steering, throttle,
because it provides several different resources, as for example: brake), CaRINA I has also being instrumented with sensors for per-
hardware abstraction, communication facilities, management of ception (Fig. 3). It has two Sick LMS 291 lasers in the front, one
distributed process, implementation of useful debugging tools mounted aligned in parallel to the ground and another one pitched
(e.g. logging services, visualization and simulation tools). The down, pointing at the ground just ahead. Stereo and mono cameras
ROS provides an almost complete suite of tools and resources that
allows the design, simulation, validation, test and practical deploy
of complex robotic systems.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
4 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 5
Fig. 4. Intelligent Robotic Car for Autonomous Navigation – CaRINA II test platform and its field of perception.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
6 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Fig. 7. CaRINA’s system architecture. Modules: Sensing (blue), fusion and feature extraction (red), high level judge (green), behaviors in different levels (orange), actuation
drivers (purple) and backward system guard (light gray). (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this
article.)
a software driver for the vehicle devices. Furthermore, these mod- 3. Navigation systems
ules are responsible for maintaining active the communication chan-
nels and guarantee the integrity of the transferred information. The We have developed four navigation systems based on the pro-
modules of teleoperation and speed control interact directly with posed architecture. Though these systems use different ap-
them. The teleoperation module allows human operators control proaches, they originate from the proposed architecture and
each one of these three systems using a joystick, cooperatively exemplify the variety of navigation systems that can be developed
(sum of behaviors) or selecting to overwrite (bypass) the commands depending on the application and available sensors. This section
directly to the vehicle devices, ignoring other modules and presents the navigation systems and their experimental results.
commands. The first two systems presented in this section rely mostly on
The Speed Control Module (responsible for the functionality of computer vision for maintaining the vehicle on the navigable lane
Adaptive Cruise Control – ACC) interacts with the elements of high- and for avoiding obstacles. The navigation in these systems is
er levels. It generates the appropriate values for acceleration and guided by a destination point or sequence of waypoints (GPS coor-
braking subsystem according to the desired speed and does it con- dinates). The other two systems rely on a representation of the
sidering also the information about possible obstacles located environment for planning and navigation. One of the systems uses
ahead of the vehicle. The Lane Keeping Module performs the reac- a topologic map for navigation, and the other uses a planning
tive behavior, sending steering commands to the vehicle in order to method that considers the model of the vehicle to find suitable
keep it on the road and inside of the correct lane. At the same level maneuvers for obstacle avoidance on an occupancy metric map.
of these modules, but hierarchically dominant, a specific module
can inhibit the other reactive behaviors when necessary and per-
forms maneuvers to avoid collisions or to overtake slower vehicles 3.1. Supervised learning for autonomous navigation
and obstacles. These modules (Fig. 7 in orange) comprise the reac-
tive subsystem of the architecture and are subordinated to the One of the autonomous navigation systems developed for CaR-
deliberative ones (Fig. 7 in green). INA is capable of learning to conduct the vehicle keeping it into the
The perception modules (Fig. 7 in red) are responsible for road. This system uses a single monocular camera to acquire data
acquiring sensorial data, providing them into a richer representa- from the environment, a compass for guiding the vehicle and a
tion that allows simple, fast, and reliable identification of relevant GPS to locate it. All these sensors are useful for the vehicle to reach
environment aspects. Some modules of this same subsystem, local- destination through a safe path. It also detects the navigable re-
ized in a subsequent layer, combine the perceived information for gions (roads) and estimates the most appropriate maneuver. Arti-
feature extraction and detection of structural elements in scenario. ficial Neural Networks (ANNs) [40] were used in order to
Services like obstacle detection, localization and identification of recognize the road and keep the vehicle in a safe path, and finally
navigable regions are performed by modules at this level, the re- control the vehicle’s steering and speed.
sults being stored in a representative model of the local surround- The proposed system [41] is composed by three steps. In the
ing environment. Combining the localization with the world model first, a single monocular camera attached to the vehicle captures
(previously stored in a global map or currently acquired into a local color images, which are processed in order to identify road lane re-
map), allows us to plan the path and to execute the vehicle naviga- gions. For this purpose we apply a method based on [42]. This
tion task. method decomposes the image in many regions also called sub-
Finally, a security and backup subsystem (Fig. 7 in light gray) is images, and creates a set of ANNs (committee classifier). The clas-
needed to maintain critical aspects of safety, records of decisions sification of each sub-image, whether it is navigable or not, uses an
and operations taken by the system (log), remote monitoring and average of the results of all ANN outputs (committee machine). The
storage of raw data, allowing more thorough analysis, post-pro- result from the first step is a Visual Navigation Map (VNMap) that
cessing or even the creation of databases for simulation. It is note- combines all sub-images. This process corresponds to the Naviga-
worthy that some of these elements, especially the higher level ble Regions Detection module in the software architecture. In the
services, are continuously being developed. second step of the system, a template matching algorithm [43]
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 7
uses the VNMap to identify possible geometries of the road ahead The results have shown that CaRINA I was able to identify and
of the vehicle (straight line, soft and hard turn to left/right) and cal- stay in the navigable area. In particular, crossings of roundabouts
culates an occupation percentage for each of them. Applying a were also done successfully. Even when a virtual straight path, de-
threshold in these occupation values, the system distinguishes free fined by the alignment between the vehicle local GPS position and
and obstructed areas based on the VNMap and road geometry. Fi- the destination position, passed through and over sidewalks, vege-
nally, in the third step of the system, another ANN is used to define tation and grass fields, in all those situations CaRINA I followed the
the action that the vehicle should take to remain in the road safely trajectory correctly. All over the path the vehicle stayed on the
(Lane Keeping and Obstacle Detection modules). The supervised road and reached the destination without going outside the bor-
learning of this ANN uses the classified image (output from the sec- ders of the road (nor bumping or scraping the sidewalk borders).
ond step) as input, and the desired controls as output. The integration of the camera and GPS navigation, using our
Fig. 8 shows the CaRINA I vehicle capable of autonomous navi- proposed Supervised Learning method for Autonomous Navigation,
gation in an urban road, using the above described approach. In was the main original contribution of this work. CaRINA I was able
this experiment it was adopted a configuration equipped with a to safely navigate autonomously in urban environments. It did not
color camera, a Roboteq motor controller for steering, a TNT Revo- get too close to the sidewalk or run over it, and also was able to
lution compass (orientation) and a Garmin GPS (localization). The track the GPS points provided to the system. This autonomous nav-
image acquisition resolution was set to 320 240 pixels, and the igation system has been used to negotiate the curves and round-
road identification subsystem converts this image in a matrix of abouts successfully.
32 24 sub-image blocks. Each block is individually classified.
The learning data that is used to train the ANNs of this subsystem 3.2. Autonomous navigation using stereo vision
is manually created by a user who classifies parts of one or more
scenes as navigable or non-navigable. Another autonomous navigation system based on computer
Experiments were performed in an open environment in the vision was developed. This one, instead of using a monocular
streets of the USP University Campus. Combining the approaches camera, relies on a stereo camera (PointGrey Bumblebee2) to find
[44,41], several tests were performed in small trajectories [45], traversable paths. The goal of the system is to safely drive the
and after some improvements, the vehicle performed a path of vehicle to a predefined GPS coordinate. It comprises a GPS for local-
approximately 1.1 km using as reference seven GPS points defining ization, a stereo camera for obstacle detection and the Vector Field
the path (waypoints P0–P6 represent the GPS points). They were Histogram (VFH) algorithm [46], which was employed for obstacle
more than 100 m away of each other and delimitated by sidewalks avoidance.
between the points and non-navigable areas. The red dashed line Due to the use of a stereo camera, a method to extract depth
represents the straightforward orientation obtained by both GPS information from stereo images (stereo method) is required. While
and compass, which should be traversed by the vehicle. The yellow their results vary in quality and computational cost, the vast
line is the real path followed by the vehicle, showing the obstacles majority of navigation systems uses local stereo methods (many
avoidance by using the camera images. We only show the orienta- of them developed by the own manufacturer of the camera)
tion lines between P0 and P1, and P1 and P2 to keep the GPS coor- [47,48]. We have opted for a semi-global stereo method because
dinates image more clear. Fig. 9 shows the vehicle trajectory it can achieve similar results of global methods while maintaining
considering the provided GPS coordinates. a relatively low computational cost [49].
The method from [50] uses the depth information (disparity
map) provided by the stereo method to estimate obstacles pres-
ence and position. It analyzes the point’s dispersion according to
a conical projection. Considering a range limited by an upper and
lower threshold, any giving point that belongs to the same projec-
tion is considered compatible. The algorithm premise is: if two
points are compatibles they belong to an obstacle.
Finally, the detected obstacles are projected onto a polar histo-
gram. Every point considered as an obstacle is added to the histo-
gram in their respective sector (or angle) and its height or influence
is equal to the inverse of its distance (Goal Combiner module). The
VFH algorithm searches for valleys in the histogram (traversable
Fig. 8. Intelligent Robotic Car for Autonomous Navigation (CaRINA) I test platform. paths) and selects the one that is near to the goal direction. We em-
ployed this output as the steering angle to the vehicle (Fig. 10).
An experiment was conducted where CaRINA I was able to nav-
igate autonomously, avoiding obstacles such as traffic cones, curbs,
cars and people; safely reaching the goal. The environment chosen
for the experiment was a parking lot at USP, São Carlos campus
(Fig. 11).
The disparity map precision enabled the detection and avoid-
ance of obstacles as low as 10 cm (curbs), making it suitable for ur-
ban environments. The trajectory performed by the vehicle is
shown by the map in Fig. 12.
It is possible to notice that the car oscillated towards the curb.
This is due to the fact that the VFH algorithm does not consider the
car kinematics and steering speed. A filter may be employed to re-
move this oscillation effect, thereby smoothing the car trajectory.
The parameters were selected based on the environment, the
Fig. 9. GPS coordinates (P0–P6) defining a sparse waypoint to be followed by presented evaluation and system processing capability. The selected
CaRINA I and the traveled path. block size for the stereo method was 7 and the disparity range 32.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
8 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 9
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
10 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Fig. 16. Path map with a topological representation of a validation test region.
Once the Topological Map of an environment is given, a route CaRINA II were performed with a monocular vision-based sensorial
between two points can be established manually or using an auto- system, and they were presented in [57]. In these experiments, the
matic path planning algorithm. It is assumed that the robot’s initial vehicle correctly followed the tested paths.
position is always known, as well as the topological map. The cur-
rent position is estimated based on current state detection, so it is 3.4. Autonomous navigation with motion planning using vehicle’s
not necessary to estimate the robot’s exact position. It is only nec- model
essary to keep track of the topological localization of the mobile ro-
bot (approximate localization), as the robot moves from one As presented in previous sections, The CaRINA project has
topological node (present state) represented in the map to the next achieved successful results applying computer vision for local and
one (next state). Navigation and self-localization are performed topological navigation with obstacle avoidance. In this section we
together. present the autonomous system developed for CaRINA I with global
The desired path is also used as input to the State Control unit navigation capability using a motion planning algorithm that takes
(FSM), so the system can determine if a state transition is needed into account the kinematic model of the vehicle to plan feasible
or if the robot still remains at the current state. State Control unit paths based on lattice state space and anytime dynamic A⁄ [58].
is also responsible to filter oscillations in the state detection. Then, This approach considers the motion constraints of the vehicle
an iteration counter was implemented, allowing a state transition and also deals with obstacles not previously modeled by the map
only if the next expected state is observed by a certain amount that are detected at execution time. Similar technique has been
of consecutive steps. If the observed state does not match the path used in [59,60]. However, differently from these works, we gener-
plan, current state is kept. ate motion primitives using an integration of the kinematic model
Iteration limit must be enough to guarantee a state transition in instead of using a steering polynomial, and here we consider a
higher speeds with less similar consecutive captures and also at three dimension state representation of the vehicle as its pose,
lower speeds, demanding more similar consecutive captures before i.e., its position and orientation in the Cartesian space.
a state transition. If for some reason the system fails to detect the
current state, localization task crashes. Then, only a reactive navi-
3.4.1. Lattice state space
gation can be performed, while the robot seeks for some environ-
Discretization of the state space is a well-established approach
ment reference points (topological nodes) to re-localize itself and
to reduce the computational complexity of a motion planning
then the path is re-planned. State Detection itself does not control
problem [61]. However, depending on how this discretization is
vehicle motion directly. This control is performed by a reactive
done, it may compromise the satisfaction of the motion constraints
control unit, responsible for a safe driving through the environ-
which reflects the limited maneuverability of a real vehicle. In or-
ment, assuming that an adequate behavior was selected based on
der to deal with this problem, the search space known as state lat-
the current state. The reactive behavior is also responsible for
tice, was introduced by [61] as a discrete representation that can be
avoiding obstacles.
used to formulate a non-holonomic motion planning problem as a
graph searches.
3.3.3. Reactive control A state lattice is obtained by the discretization of the configura-
This module also uses the preprocessed sensor data as input, tion space into a set of states and connections between these
reacting to road current conditions in order to determine steering states, where every connection represents a feasible path, i.e., a
angle and behavior on decision making. For example, adjust steer- path created by taking into account the motion model of the robot.
ing to keep the robot at the center of the navigable area in a corri- As the construction of a lattice is achieved by connecting states
dor, or choosing which way to turn at an intersection. with feasible paths, the resulting connectivity graph reflects the
Reactive behaviors have been discussed for a long time, since motion constraints of the vehicle. Thus, any solution found using
the first autonomous navigation implementations. There are many this graph is also feasible. More details of lattice state space repre-
different reactive approaches, as for example keeping a determined sentation may be found in [61,62,60,63].
distance from walls using specific laser beams [54] or adjusting the The state lattice connectivity is defined as a finite subset of ac-
steering angle after matching navigable area detection with spe- tions and states, which includes only trajectories from the origin to
cific templates [44]. Every state can have its own set of reactive somewhere within a distance radius. This subset of actions is com-
behaviors, or the system can be implemented with a single reactive posed by short primitive paths generated using the model of the
behavior, affected by current state in simpler environments. The robot. These primitives can be used to generate any path in the lat-
adopted AFSM Navigation System is compatible with several exist- tice state space when they are connected with each other.
ing reactive approaches.
This AFSM-based approach was successfully applied in previous 3.4.2. Anytime Dynamic A⁄
authors’ works [54–56] with different sets of sensors and states, Given a search space, which could be a lattice state space, for
showing the feasibility of this implementation for both indoor example, and a cost function associated to each action performed,
and outdoor environments. Tests with the autonomous vehicle we need an efficient method to find solutions in this space for the
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 11
motion planning problem [60]. Several graph search algorithms integrated and we apply an ICP (Iterative Closest/Corresponding
have been developed to solve this problem. The A⁄ algorithm and Point) [65] based algorithm for pose estimation. The purpose of
the Dijkstra algorithm are two examples of methods commonly ap- ICP is finding a geometric transformation between two point clouds
plied to search for optimal paths. obtained from the laser sensors in different time frames. A Kalman
However, planning in a real world is often very complex to be filter combines the pose estimation provided by the three laser sen-
solved within acceptable time constraints. Besides, even when an sors with the vehicle’s odometry system and an IMU (Inertial Mea-
optimal plan is found, the environment is subject to changes, and surement Unit) positioned in the center of rear axle.
at execution time the robot may detect an obstacle which was
not considered by the initial plan, thus, replanning may be neces- 3.4.5. Results
sary. For this purpose, an algorithm called AD⁄ (Anytime Dynamic Given a global plan to follow, the vehicle needs to achieve the goal
A⁄) developed in [64] presents great advantages. This algorithm is specified avoiding all obstacles in your way safely. For autonomous
capable of rapidly search for a suboptimal solution using an in- navigation, the vehicle must perceive the environment in which it is
flated A⁄ heuristic, and then whenever there is time available, it inserted and interact with it. In the tests performed, the vehicle has
improves this solution decreasing the inflation factor and reusing no information a priori about the environment, i.e., the environment
previous searches. Besides, AD⁄ is able to deal with changes in is considered fully navigable early in the path planning. Therefore,
the environment, adapting the current solution whenever a new when the vehicle navigates and detects new obstacles within the
obstacle observation is made. range of the laser sensors, these obstacles are mapped by the naviga-
tion system. If the current planned route is in collision with detected
3.4.3. Kinematic model and path generation obstacles, the system must takes an action. A local control method
The kinematic model of the vehicle is based on the Ackerman based on the Dynamic Window Approach (DWA) [66] was used to
steering geometry and the model equations are given by avoid collision with obstacles detected within a close region around
8 the vehicle. And If the route is in collision with obstacles detected
< x_ ¼ v cos h
> outside that window, the vehicle replans the path. More details on
y_ ¼ v sin h ð1Þ how the DWA and global replanning were applied in this navigation
>
:_ v
h ¼ tan d system can be found in [58].
L
Figs. 18 and 19 show two tests, where the first is performed in
where ½x; y; hT represents the vehicle’s pose with respect to an iner- simulated environment and the second in a real environment. The
tial coordinate system, q ¼ tanL d is the curvature radius of the vehicle, first test (Fig. 18) has been performed such that the vehicle needed
d is the steering angle of the front wheels, L is the distance between to travel a longer distance.
axles, and v is the linear velocity of the vehicle. Fig. 18(a) shows the planned path represented by the black line
In order to generate the state lattice we used here a set of 14 and the target by the red star. As the vehicle travels the road,
primitive motions, 7 of these are forward motions and the other obstacles are found, and as shown in Fig. 18(a) and (c) a new path
7 are backward motions, as shown in Fig. 17. As the configuration is found to deviate these obstacles.
space used is tridimensional ðx; y; hÞ, the lattice generated by the The planning system has also been tested in a real environment
combination of these actions considers the position and orienta- where the vehicle traveled a given path avoiding obstacles
tion of the vehicle. Each motion primitive were obtained using a (Fig. 19). The left side of each figure illustrates the real vehicle
Runge–Kutta integration of the kinematic model for one possible and the right side shows the trajectory created and obstacles de-
control input, u ¼ ðv ; dÞ. The 14 primitive motions were generated tected. In this test, the driver was responsible for accelerating the
using a subset of the possible combinations of the discrete control vehicle because the vehicle does not have yet a speed control. From
variables, v ¼ ½1; 0:3; 0:1; 0:1; 0:3; 1, with values in m/s, and a given destination ahead of the vehicle represented by a red star, a
d ¼ ½p=6; p=8; p=12; 0; p=12; p=8; p=6, by integrating the path is created and is illustrated in Fig. 19(a) by a black line. Along
kinematic model for up to the integration time of 3 s using Run- the way, the perception system detects obstacles, represented in
ge–Kutta integration steps of Dt ¼ 0:01 s. red, in the trajectory region (Fig. 19(b)). The planner immediately
Given a desired destination state for the vehicle, its current finds a new route avoiding these obstacles (Fig. 19(c)). In
state, and the map of the environment, a state lattice is created Fig. 19(d), a slight deviation from the trajectory can be noticed
using these motion primitives, and a path is found searching the after replanning, but then the vehicle returns to the desired path.
lattice using the AD⁄ algorithm. Finally, Fig. 19(e) shows the vehicle arriving at the destination,
thus completing its task.
3.4.4. Localization
In this navigation system, the vehicle uses three laser based sen- 4. Vehicular networks
sors mounted one in the front of the vehicle and the other two
mounted at the rear left and rear right corners to detect obstacles Vehicular networks (VANETs) and services are an important re-
and to map the environment. The signal of these three sensors are search topic, driven by safety requirements and by the investments
Fig. 17. Set of primitive actions used to generate the state lattice.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
12 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
of car manufacturers and Public Transport Authorities. In this way, In the second case (infrastructured), static nodes behaves as ac-
the efforts of the CaRINA project are in the use of secure commu- cess points for IEEE 802.11 networks (V2I – vehicle-to-infrastruc-
nication. Connectivity is one of the main issues in embedded sys- ture communication) and have the advantages of increasing
tem design, especially in VANETs. connectivity and creating the possibility of communicating with
The challenge in VANETs application scenarios is related to the other networks, such as, the Internet. However, in infrastructured
high mobility and the different speeds of the vehicles, which approach there is the disadvantage of high cost in deployment of
causes frequent changes in the arrangement of elements intercon- network equipment to cover the entire route of the road. In some
nected and thus requires approaches specifically designed for such cases it is possible to reduce costs by deploying a third type of
scenarios. architecture known as hybrid. This last one uses ad hoc communi-
There are three approaches for VANETs architectures: ad hoc, cation type associated with a minimal infrastructure to increase
infrastructured and, hybrid. In the first case (ad hoc) communication network connectivity in service provision.
occurs directly between vehicles (V2V – Vehicle-to-vehicle commu- The choice of these models architectures must be based on fac-
nication) and depends on the density and mobility pattern [67]. tors such as the density of vehicles on the road, obstacles in the
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 13
path and the applications to which the VANET is proposed. There invest in proprietary communication protocols for this type of
are three main applications of vehicular networks: traffic safety, application. These protocols should take into consideration secu-
entertainment and driver assistance. The increase of traffic safety rity issues and have been studied and exploited in the CaRINA pro-
is a major motivation for the use of vehicular networks, because ject. This example illustrates the needs and bases presented here.
it generally aims to reduce accidents by exchanging information Another type of application is entertainment delivery. This type
among vehicles and gathering information about the conditions of application is motivated by the increasingly desired Internet
of the road by sensors. In this type of application, restricted connectivity, which moves much of the entertainment on mobile
requirements for latency, security and reliability messages are re- platforms. This kind of service has different requirements than
quired, and there is a need for greater robustness against insertion traffic safety applications, because the criticality of entertainment
of false messages [68]. applications is smaller and more failures are acceptable, which al-
The convoy of autonomous vehicles is being increasingly used lows a lower priority to this application.
to transport cargo in order to save money and improve safety. It Regarding the communication security in the case of entertain-
is a scenario that can explore the use of communication, especially ment applications using encryption algorithms to ensure the con-
the use of VANETs. This has caused automobile manufacturers to fidentiality of information exchanged may be dispensable. It
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
14 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
happens because games and other entertainment applications do increases the response time during the execution of tasks. Security
not require high levels of privacy. This allows a vehicular network and performance are opposite concepts, i.e. increasing the security
to use different approaches to entertainment and traffic safety level of a cryptographic solution leads to a lower performance and
applications. It is possible to create different communication chan- vice versa. This implies the need of a balance between performance
nels for each case, applying safer channel dedicated to traffic safety and security in accordance with the final application.
services and less safety delivery channel dedicated to entertain- When we work with critical autonomous vehicles, the role of
ment, for example. security is vital to ensure that these devices can function prop-
In addition to the applications already mentioned, there is also erly without suffering interventions of malicious entities that
the driver assistance. This type of service is the delivery of useful may divert them from their routes and/or pre-defined areas of
information to the driver and can be treated with a priority level activity. Hence, we took into consideration some common sce-
higher than entertainment applications and less than traffic safety narios where normally it is employed this type of vehicle to pro-
applications. The most common benefits in the use of driver assis- pose a security solution that ensures the smooth operation of
tance services may be information about: parking spots, pathways these devices.
dissemination, traffic control, intersections decision, convoy, loca- An important factor is the delimitation of an area in which the
tion maps, increasing visibility and autonomous vehicles. Failures vehicle should operate and move freely within the predefined lim-
in such services will not cause injuries to drivers and passengers its. A system must monitor the position of the vehicle through its
of the vehicle, but the driver can leave bereft of important informa- location coordinates and the area imposed for their actions. When
tion in a travel planning or a package of services that have been the vehicle exceeds the limits and does not return within a speci-
contracted by the user, which can involve losses. fied period of time that is normally too short, commands must be
Based on the requirements of each application, the road condi- sent back to avoid the loss of information or compromise the vehi-
tions where a VANET will be implemented and the services it in- cle if it encounters unforeseen obstacles.
tends to offer for drivers and passengers, generates a plan for a This communication should use authentication mechanisms to
vehicular and better defines the architecture to be adopted. Subse- ensure that the commands sent from an authorized control station
quently, it sets up the routing algorithms best suited for the case, to perform that action (or even a controller that is responsible for
taking into consideration once again, the requirements posed. monitoring the actions of the vehicle). This is a way to prevent
The convoy and the driver assistance are the two applications external entities to deliberately shoot commands for changing
treated by the CaRINA project. Practical tests performed in this the direction of the vehicle for its own profit or to cause damage
study aimed to evaluate some aspects of vehicular networks con- to the devices.
sidering a path of approximately 5.4 km linking the two campuses Besides the digital signature used for authentication, there is a
of the University of Sao Paulo in Sao Carlos, showed in Fig. 20. need to ensure confidentiality and integrity of information sent
The first study was performed in the 2 km (marked in red bold in real time to a control base or other vehicles involved in the oper-
in Fig. 20). The mode of architecture adopted is infrastructured that ation. This implies the necessity of using symmetric and asymmet-
despite increasing the total cost of implementing the VANET, was ric algorithms for secure exchange of information.
the only option available, since only two vehicles are currently VANETs need privacy and the security for a successful develop-
available and adapted to perform practical experiments. It would ment. In this way, we propose the use of ECC (Elliptic curve cryp-
be necessary to implement a vehicular network ad hoc to increase tography) algorithm to provide communication privacy and
the density of vehicles on the road, which is not possible under security [69,70]. It works with key sizes considerably smaller than
current conditions. A hybrid mode network is planned, but has other cryptographic algorithms and performs operations that de-
been not used in the experiments. mand less computational resources. Nevertheless, the level of
In this experiment two cars go from one point to another security offered by the algorithm with small keys is equivalent to
exchanging information just between them and getting informa- the use of other public key algorithms with larger key sizes. The le-
tion from the base station. The cars must follow each other like a vel of security offered by the 160-bit ECC is equivalent to 1024-bit
convoy. All telemetry and video obtained by cars during the mis- RSA.
sion will be transmitted to the base station through the VANET. In the intelligent vehicle scenario mentioned above, these algo-
In this experiment the security is necessary as previously shown. rithms must be implemented and tested on-the-fly. Most studies in
the literature perform evaluations with fixed elements communi-
cating with each other.
4.1. A case study scenario to provide security in intelligent vehicles
What distinguishes this project from other works is exactly the
movement of the points of communication, which portrays the real
The implementation of cryptographic algorithms in computer
scenario of moving vehicles within a predetermined area and the
systems adds an additional layer of enforcement, which therefore
incorporation of all the communication security characteristics.
Fig. 21 presents a schema of the interaction of the parts in the de-
scribed situation.
We developed an application that allows communication be-
tween cars and a computer (allocated as a server and a ground sta-
tion), or between car to car. The platform used for application
development is J2ME (Java Platform Micro Edition) technology that
enables the development of embedded software and applications
and JAVA platform for mobile devices such as mobile phones and
PDAs (used to send information to the vehicle). The bouncycastle
library has also been used, which already implements routines
for using RSA and MD5 algorithms, allowing work with existing
digital signature [71].
The devices used in the vehicles are Gumstix Overo EVM Packs,
Fig. 20. A map with the estimated provision of routers (named AP1–AP19) along which are equipped with an ARM Cortex-A8, DSP processing, 3D
the path. graphics acceleration, Bluetooth, 802.11 (b/g) wireless communi-
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 15
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
16 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Fig. 25. A car following another one with approximately 50 m between them,
transmitting only GPS data.
The device sends to the computer the original message, the sig-
nature of the hash, and the public-key.
In the second stage (a car following the other with about 50 m
Upon receiving a message, the computer must run the same between them, transmitting GPS data and video simultaneously),
hash algorithm used in the device and verify the signature with GPS data was received by Station 2 with some losses and the video
the public-key. If the signature is valid, the computer communi- data could not be transmitted due to the low flow of data and the
cates with the server of key pair to verify the public-key received fact that the video does not go through any kind of compression.
from the device that was generated by server (see Fig. 24). However, the amount of GPS data received was sufficient to be
Using the digital signature, associated with the use o ECC algo- used in a real application. A plot of GPS data received in this step
rithm, we provide a way to avoid many kinds of attacks like: DoS of the experiments can be seen in Fig. 26.
(Denial of Service), Brute force, Flooding, spooging, etc. [73]. Finally, the third phase of testing, which was the crossing of two
Preliminary experiments were carried out to evaluate the con- vehicles in opposite directions reaching a relative speed of 100 km/
ditions of communication between two computers without exter- h, the GPS data was received by Station 2 lossless. It is illustrated in
nal antennas for data transmission. These computers were Fig. 27 a plot of the GPS data received and in Fig. 28 it can be ob-
positioned internally in two small vehicles exclusively responsible served that at the instant of the interSection (3m00s) there were
for handling the communication nodes. The computers were con-
nected by an adhoc network. The operating system was Linux
Ubuntu and ROS software was used for message exchanging. Sta-
tion 1 was responsible for collecting data from the GPS receiver,
immediately sending it to Station 2. This one was responsible for
storing the location data received.
In the first stage (a car following the other with about 50 m be-
tween them, transmitting only GPS data), the data was received by
Station 2 lossless, except in stretches of the road where the view
between the computers was harmed (whether by obstacles on
the track or the fact that computers were positioned inside the
vehicles). A plot of the GPS data received can be seen in Fig. 25.
Fig. 26. A car following another one with approximately 50 m between them,
transmitting GPS data and video simultaneously.
Fig. 27. Crossing between two cars at a relative speed of 100 km/h, transmitting
Fig. 24. The signature verification. only GPS data.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 17
no data losses. It may also be noticed that in the period from In the first step of these experiments, one car was parked at a
3m30s to 4m00s losses occurred due to the higher distance and starting point and the second one went to the maximum possible
the obstruction of view. distance. The map in Fig. 29 shows the location of each car (a dis-
Based on these results, further experiments were planned and tance of approximately 900 m) with no losses in communication.
performed to evaluate the conditions of communication again In the second stage, a car followed the other in a random path,
between two computers. However, we tried to solve the prob- occurring in few moments a complete loss of view. These cases oc-
lems listed in the previous experiments, applying a Wireless curred when there were obstacles such as buildings and trees
USB Adapter (TP-Link TL-WN7200ND 150 Mbps 802.11n interrupting the view between both vehicles. However, the GPS
1000 mW) on each computer with an antenna transmitter/recei- data was received in satisfactory amount for implementing e.g. a
ver fixed outside of each vehicle. As in the previous experiments, convoy of vehicles.
it was created an adhoc network, the Linux Ubuntu was used as Using the solutions proposed here we can provide an efficient
operating system and ROS software has been used for message way to guarantee that the Unmanned Ground Vehicle will be
exchanging. protect against the most common attacks when using VANETs. This
Fig. 29. Location of the cars used in experiments within the Campus II of USP Sao Carlos. The distance between them was about 900 m.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
18 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
solution has also been tested in a real environment where the vehi- [3] M. Buehler, K. Iagnemma, S. Singh, The DARPA Urban Challenge: Autonomous
Vehicles in City Traffic, first ed., Springer Publishing Company, Incorporated,
cle traveled 2 km. For further work we intend to travel 5.4 km in an
2009, ISBN 3642039901, 9783642039904.
autonomous way, providing video in real time and using a secure [4] ELROB, Eureopean Land-Robot Trial. <http://www.elrob.org>, visitado em
transmission both in video and in telemetry. Abril, 2012.
[5] EuroFOT, European Field Operational Test. <http://www.eurofot-ip.eu>,
visitado em Abril, 2012.
5. Conclusions and future work [6] HAVEit, Highly Automated Vehicles for Intelligent Transport. <http://
www.haveit-eu.org>, visitado em Abril, 2012.
[7] GCDC, Grand Cooperative Driving Challenge. <http://www.gcdc.net>, visitado
The development of self-driving cars is an important research em Abril, 2012.
topic that has direct impact in the society. Some of the main goals [8] A. Broggi, M. Bertozzi, A. Fascioli, ARGO and the MilleMiglia in Automatico
of this technology are: reducing the number of car deaths and inju- Tour, Intelligent Systems and their Applications, IEEE 14 (1) (1999) 55–64,
ISSN: 1094-7167, http://dx.doi.org/10.1109/5254.747906.
ries, improving efficiency with freight transportation, fuel usage, [9] R. Gregor, M. Lutzeler, M. Pellkofer, K. Siedersberger, E. Dickmanns, EMS-
and traffic flow in huge cities, providing transportation for children Vision: a perceptual system for autonomous vehicles, in: Intelligent Vehicles
and adults unable to drive like physically handicapped or visually Symposium, 2000. IV 2000. Proceedings of the IEEE, 2000, pp. 52–57, http://
dx.doi.org/10.1109/IVS.2000.898317.
impaired people. It also has direct applications in agriculture, min- [10] C. Thorpe, M. Hebert, T. Kanade, S. Shafer, Vision and navigation for the
ing and several other activities that heavily rely on mobility. Carnegie-Mellon Navlab, IEEE Trans. Pattern Anal. Mach. Intell. 10 (3) (1988)
Although several research groups have been working on auton- 362–373, ISSN 0162-8828, http://dx.doi.org/10.1109/34.3900.
[11] F. Bonin-Font, A. Ortiz, G. Oliver, Visual navigation for mobile robots: a survey,
omous vehicles since 80s, the efforts to develop robust and reliable
J. Intell. Robot. Syst. 53 (2008) 263–296, ISSN 0921-0296, http://dx.doi.org/
software algorithms to safely conduct cars in the streets have in- 10.1007/s10846-008-9235-4.
creased considerably in the last decade. It is mainly due to the in- [12] M. Bertozzi, A. Broggi, A. Fascioli, Vision-based intelligent vehicles: state of the
art and perspectives, Robot. Autonom. Syst. 32 (1) (2000) 1–16, http://
crease in funding from government and industry, associated with
dx.doi.org/10.1016/S0921-8890(99)00125-6.
the development of more sophisticated and accessible sensors [13] G. Desouza, A. Kak, Vision for mobile robot navigation: a survey, IEEE Trans.
and computational systems. Pattern Anal. Mach. Intell. 24 (2) (2002) 237–267, ISSN 0162-8828, http://
Most research in the field is still concentrated in North America dx.doi.org/10.1109/34.982903.
[14] E.D. Dickmanns, Vehicles capable of dynamic vision: a new breed of technical
and Europe but few initiatives are taking place in Latin America, beings?, Artif. Intell. 103 (1998) 49–76, ISSN 0004-3702, http://dx.doi.org/
where there are several potential applications for intelligent self- 10.1016/S0004-3702(98)00071-X.
driving vehicles. [15] AUTONOMOSlabs, Artificial Vision and Intelligent Systems Laboratory. <http://
autonomos.inf.fu-berlin.de/>, visitado em Abril, 2012.
In this paper we presented the hardware and software architec- [16] VISLAB, Artificial Vision and Intelligent Systems Laboratory. <http://
tures of the vehicles used for experimental tests of the CaRINA pro- www.vislab.it>, visitado em Abril, 2012.
ject under development at the LRM Lab.4 Both mechanical and [17] Google, The official google blog, 2010. <http://googleblog.blogspot.com/2010/
10/what-were-driving-at.html> by Sebastian Thrun, visitado em Abril, 2012.
electrical modifications have been described, a well as the main soft- [18] V.B. Sabbagh, E.J.R. Freitas, G.M.M.E. Castro, M.M. Santos, M.F. Baleeiro, T.M.
ware modules for perception, planning, and control. Silva, P. Iscold, L.A.B. Torres, G.A.S. Pereira, Development of a control system
Our system is based on ROS, which has becoming a standard for an autonomous car (original text in Portuguese), in: Congresso Brasileiro
de, Automatica, 2010, pp. 928–933.
software tool for robotic applications. It provides libraries, tools,
[19] D.A. Lima, G.A.S. Pereira, Stereo Vision System for Autonomous Vehicle
and a message-passing interface for processes that allows distrib- Navigation into environments with obstacles (original text in Portuguese), in:
uted robotic control systems to be executed. We also address the Congresso Brasileiro de, Automatica, 2010, pp. 224–231.
[20] D.A. Lima, G.A.S. Pereira, Autonomous Vehicle Safe Navigation using vector
security and communications issues in such systems along with
fields and the dynamic window method (original text in Portuguese), in:
a description of the work in progress in these fields. Simposio Brasileiro de Automacao Inteligente, 2011, pp. 1167–1172.
Finally, four navigation systems, ranging from reactive to a [21] L. Mg, L.M. Honorio, M.A.A. Rodrigo, Modeling path searching for local
more deliberative approach, are presented to illustrate the use of navigation of an intelligent autonomous vehicle (original text in
Portuguese), in: Congresso Brasileiro de Automatica, 2010.
the proposed software and hardware architectures. The tests have [22] L.L.G. Veermas, L.M. Honorio, M.C.A.C.F. Vidigal, L. Mg, A methodology for
been performed in a variety of scenarios with both experimental supervised learning applied to intelligent vehicles (original text in
platforms. Portuguese), in: Congresso Brasileiro de Automatica, 2010.
[23] L. Veronese, L.J. Lyno Jr., J. Oliveira Neto, A. Forechi, C. Badue, A.F. de Souza,
As future work, we plan to develop and integrate higher level Parallel implementations of the CSBP stereo vision algorithm, in: Simposio em
planning algorithms and maps of the environment. It will allow Sistemas Computacionais, 2011, pp. 12–21.
for more robust path planning and longer trajectories. The percep- [24] H. Roncancio, A.C. Hernandes, M. Becker, Vision-based system for pedestrian
recognition using a tuned SVM classifier, in: IEEE Workshop on Engineering
tion and planning modules are also being improved for more pre- Applications, 2012, pp. 1–6.
cise and efficient results, allowing faster speed operation of the [25] K.O. Andrade, A.C. Hernandes, M. Becker, Simulação de um Controlador Neural
vehicles in more complex environments. para o Estacionamento Paralelo de um Robô Móvel, in: CONEM 2012 –
Congresso Nacional de Engenharia Mecânica, São Luiz – MA. Anais do CONEM
2012, Rio de Janeiro: ABCM, 2012, vol. 1, p. 1–10.
Acknowledgments [26] M. Heinen, F. Osorio, F. Heinen, C. Kelber, SEVA3D: using artificial neural networks
to autonomous vehicle parking control, in: IEEE International Joint Conference on
Neural Networks – IJCNN’06, IEEE, IEEE Press, 2006, pp. 4704–4711.
The authors would like to acknowledge the support granted by [27] A. Miranda Neto, A.C. Victorino, I. Fantoni, J.V. Ferreira, Real-time collision risk
CAPES, CNPq and FAPESP to the INCT-SEC (National Institute of estimation based on Pearson’s correlation coefficient, in: IEEE Workshop on
Science and Technology – Critical Embedded Systems – Brazil) – Robot Vision, 2013, pp. 1–6.
[28] S.S. Bueno, H. Azevedo, L.G.B. Mirisola, E. Paiva, J.J.G. Ramos, A.C. Victorino, J.R.
processes 573963/2008-9 and 08/57870-9.
Azinheira, A platform for research and development of outdoor ground
robotics (original title in Portuguese), in: Simposio Brasileiro de Automacao
References Inteligente, 2009.
[29] M. Adams, J. Mullane, B.-N. Vo, Laser and radar based robotic perception, Now
Publications, Foundations and Trends in Robotics, vol. 1 (3), 2011, pp. 135–252.
[1] WHO, World Health Organization, Road traffic deaths. <http://www.who.int/
[30] F. Osorio, S. Musse, R. Vieira, M. Heinen, D. Paiva, Increasing reality in virtual
gho/roadsafety/mortality/trafficdeathsnumber/en/index.html>, visitado em
reality applications through physical and behavioural simulation, in: X.
Abril, 2012.
Fischer (Ed.), Proceedings of the Virtual Concept Conference, ESTIA – Virtual
[2] M. Buehler, K. Iagnemma, S. Singh, The 2005 DARPA Grand Challenge: The
Concept, vol. 1, Springer Verlag, 2006, pp. 1–46.
Great Robot Race, first ed., Springer Publishing Company, Incorporated, 2007,
[31] F. Osorio, S. Musse, C. d. Santos, F. Heinen, A.T. d. Braun, A. Silva, Intelligent
ISBN 3540734287, 9783540734284.
Virtual Reality Environments (IVRE): principles, implementation, interaction,
examples and practical applications, in: X. Fischer, D. Coutellier (Eds.), Virtual
4
LRM: Mobile Robotics Laboratory of ICMC/USP – http://lrm.icmc.usp.br (Videos, Concept Proceedings (Research in Interactive Design- Tutorials) – Biarritz,
France, vol. 1, IEEE – ESTIA, Springer-Verlag, Biarritz, France, 2005, pp. 1–64.
Publications, Resources).
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 19
[32] F. Osorio, D. Wolf, K. Castelo Branco, G. Pessin, Mobile robots design and [59] D. Ferguson, T.M. Howard, M. Likhachev, Motion planning in urban
implementation: from virtual simulation to real robots, in: Proceedings of environments, J. Field Robot. 25 (11–12) (2008) 939–960, http://dx.doi.org/
IDMME – Virtual Concept (Research in Interactive Design) – Bordeaux, France, 10.1002/rob.v25:11/12.
vol. 3, Springer-Verlag, 2010, pp. 1–6. [60] M. Likhachev, D. Ferguson, Planning long dynamically feasible maneuvers for
[33] X. Fischer, Characteristics, development and use of models in interactive autonomous vehicles, Int. J. Robot. Res. 28 (8) (2009) 933–945, http://
design, in: X. Fischer, D. Coutellier (Eds.), Virtual Concept Proceedings dx.doi.org/10.1177/0278364909340445.
(Research in Interactive Design) – Biarritz, France, vol. 1, ESTIA – IEEE, [61] M. Pivtoraiko, A. Kelly, Generating near minimal spanning control sets for
Springer-Verlag, 2005. constrained motion planning in discrete state spaces, in: International
[34] F. Fischer, X. Bennis, An overview of interactive methods in design and Conference on Intelligent Robots and System, 2005, http://dx.doi.org/
manufacture, in: X. Fischer, D. Coutellier (Eds.), Virtual Concept Proceedings 10.1109/IROS.2005.1545046.
(Research in Interactive Design) – Biarritz, France, vol. 1, ESTIA – IEEE, [62] M. Pivtoraiko, R.A. Knepper, A. Kelly, Differentially constrained mobile robot
Springer-Verlag, 2005. motion planning in state lattices, J. Field Robot. 26 (2009) 308–333, http://
[35] Willow-Garage, ROS – Robotic Operating System. <http:// dx.doi.org/10.1002/rob.20285.
www.willowgarage.com/pages/software/ros-platform> or <http:// [63] R.A. Knepper, A. Kelly, High performance state lattice planning using heuristic
www.ros.org>, <http://www.ros.org>, 2013. look-up tables, in: 2006 IEEE/RSJ International Conference on Intelligent
[36] Willow-Garage, OpenCV – Open Source Computer Vision Library. <http:// Robots and Systems, 2006, pp. 3375–3380, http://dx.doi.org/10.1109/
opencv.willowgarage.com/wiki/ or <http://opencv.org/>, <http://opencv.org/>, IROS.2006.282515.
2013. [64] M. Likhachev, D.I. Ferguson, G.J. Gordon, A. Stentz, S. Thrun, Anytime Dynamic
[37] Willow-Garage, Gazebo Simulator. <http://ros.org/wiki/gazebo> or <http:// A⁄: An Anytime, Replanning Algorithm, in: International Conference on
gazebosim.org/>, <http://gazebosim.org/>, 2013. Automated Planning and Scheduling/Artificial Intelligence Planning Systems,
[38] A.A.D. Medeiros, A survey of control architectures for autonomous mobile 2005, pp. 262–271.
robots, J. Braz. Comput. Soc. 4 (3), ISSN 0104-6500, <http://www.scielo.br/ [65] A. Censi, An ICP variant using a point-to-line metric, in: Proceedings of the IEEE
scielo.php?script=sciarttext&pid=S0104-65001998000100004&nrm=iso>. International Conference on Robotics and Automation (ICRA), Pasadena, CA,
[39] L.B.R. Oliveira, F. Osorio, E.Y. Nakagawa, An investigation into the development 2008, http://dx.doi.org/10.1109/ROBOT.2008.4543181, <http://purl.org/censi/
of service-oriented robotic systems, in: ACM SAC 2013 Proceedings, vol. 1, 2007/plicp>.
2013, pp. 223–228. [66] D. Fox, W. Burgard, S. Thrun, The dynamic window approach to collision
[40] S. Haykin, Neural Networks and Learning Machines, Prentice Hall, 2008. avoidance, IEEE Robot. Autom. Mag. 4 (1) (1997) 23–33.
[41] J.R. Souza, G. Pessin, P.Y. Shinzato, F.S. Osorio, D.F. Wolf, Vision based waypoint [67] R.S. Alves, F.B. Abdesslem, S.R. Cavalcanti, M.E.M. Campista, L.H.M.K. Costa,
following using templates and artificial neural networks, Neurocomputing M.G. Rubinstein, M.D. Amorim, O.C.M.B. Duarte, An experimental analysis of
(2012) 1–21 (in press). vehicular ad hoc networks capacity (original text in Portuguese), in: XXVI
[42] P.Y. Shinzato, D.F. Wolf, A road following approach using artificial neural Simposio Brasileiro de Telecomunicacoes (SBrT’08), Rio de Janeiro, 2008, pp.
networks combinations, J. Intell. Robot. Syst. 62 (3) (2010) 527–546. 1–6.
[43] G. Bradski, A. Kaehler, Learning OpenCV, O’Reilly, Media, 2008. [68] H. Hartenstein, K. Laberteaux, A tutorial survey on vehicular ad hoc networks,
[44] J.R. Souza, D.O. Sales, P.Y. Shinzato, F.S. Osorio, D.F. Wolf, Template-based IEEE Commun. Mag. 46 (6) (2008) 164–171, ISSN 0163-6804, http://dx.doi.org/
autonomous navigation and obstacle avoidance in urban environments, in: 10.1109/MCOM.2008.4539481.
ACM SIGAPP Applied Computing Review, vol. 11, 2011, pp. 49–59. [69] D. Pigatto, N. Silva, F. Sikansi, K. Branco, Applying cryptography and digital
[45] J.R. Souza, G. Pessin, G. Buzogany, C.C.T. Mendes, F.S. Osorio, D.F. Wolf, Vision signatures for safe communication for unmanned ground vehicles (original
and GPS-based autonomous vehicle navigation using templates and artificial text in Portuguese), in: II Escola Regional de Alto Desempenho de Sao Paulo
neural networks, in: Proceedings of the 27th Annual ACM Symposium on (ERAD-SP 2011), 2011, pp. 1–4.
Applied, Computing, 2012, pp. 280–285. [70] V. Schoaba, F. Sikansi, D. Pigatto, L. Branco, K. Branco, DISIMOD digital
[46] Y. Borenstein, J. Koren, The vector field histogram-fast obstacle avoidance for signature for mobile devices, in: Proceedings of the ICHIT-2010 – International
mobile robots, IEEE Trans. Robot. Autom. 7 (3) (1991) 278–288. Conference on Convergence and Hybrid Information Technology, Daejeon,
[47] A. Murarka, B. Kuipers, A stereo vision based mapping algorithm for detecting 2010, pp. 1–8.
inclines, drop-offs, and obstacles for safe local navigation, in: IEEE/RSJ [71] V. Shoaba, F. Sikansi, D. Pigatto, L. Branco, K. Branco, Digital signature for
International Conference on Intelligent Robots and Systems, 2009. IROS mobile devices: a new implementation and evaluation, IJFGCN – Int. J. Fut.
2009, 2009, pp. 1646–1653, http://dx.doi.org/10.1109/IROS.2009.5354253. Generat. Commun. Network. 4 (2) (2011) 23–36.
[48] P. Sermanet, R. Hadsell, M. Scoffier, U. Muller, Y. LeCun, Mapping and planning [72] W. Stallings, Wireless Communications & Networks, second ed., Prentice-Hall
under uncertainty in mobile robots with long-range perception, in: IEEE/RSJ Inc, Upper Saddle River, NJ, USA, 2004, ISBN 0131918354.
International Conference on Intelligent Robots and Systems, 2008. IROS 2008, [73] D. Pigatto, N. Silva, K. Branco, Performance evaluation and comparison of
2008, pp. 2525–2530, http://dx.doi.org/10.1109/IROS.2008.4651203. algorithms for elliptic curve cryptography with El-Gamal based on MIRACL
[49] H. Hirschmuller, Accurate and efficient stereo processing by semi-global and RELIC libraries, J. Appl. Comput. Res. (JACR) 1 (6) (2012) 1–9.
matching and mutual information, in: IEEE Computer Society Conference on
Computer Vision and Pattern Recognition, 2005. CVPR 2005, vol. 2, 2005, pp.
807–814, ISSN 1063-6919, http://dx.doi.org/10.1109/CVPR.2005.56.
[50] A. Talukder, R. Manduchi, A. Rankin, L. Matthies, Fast and reliable obstacle Leandro C. Fernandes is a PhD student in the Institute
detection and segmentation for cross-country navigation, in: Intelligent of Mathematics and Computer Science at the University
Vehicle Symposium, 2002. IEEE, vol. 2, 2002, pp. 610–618, http://dx.doi.org/ of Sao Paulo. He also serves as professor in computer
10.1109/IVS.2002.1188019. science course at Paulista University and obtained a MS
[51] T. Luettel, M. Himmelsbach, H.-J. Wuensche, Autonomous ground vehicles – in Computer Science in 2003 from the University of Sao
concepts and a path to the future, in: Proceedings of the IEEE 100 (Special Paulo. Currently he has been working in autonomous
Centennial Issue), 2012, pp. 1831–1839, ISSN 0018-9219, http://dx.doi.org/ vehicle architecture, low level interfaces and control
10.1109/JPROC.2012.2189803. systems. His current research interests are Artificial
[52] A. Mueller, M. Himmelsbach, T. Luettel, F. v Hundelshausen, H.-J. Wuensche, Intelligence, Mobile Robotics, Perception and Sensors
GIS-based topological robot localization through LIDAR crossroad detection, Fusion.
in: 14th International IEEE Conference on Intelligent Transportation Systems
(ITSC), 2011, pp. 2001–2008, ISSN 2153-0009, http://dx.doi.org/10.1109/
ITSC.2011.6083104.
[53] S. Haykin, Neural Networks: A Comprehensive Foundation, second ed.,
Prentice Hall PTR, Upper Saddle River, NJ, USA, 1998, ISBN 0132733501.
[54] D.O. Sales, F.S. Osório, D.F. Wolf, Topological autonomous navigation for
mobile robots in indoor environments using ANN and FSM, in: Proceedings of Jefferson R. Souza is a PhD student in the Institute of
the I Brazilian Conference on Critical Embedded Systems (CBSEC), São Carlos, Mathematics and Computer Science at the University of
Brazil, 2011. Sao Paulo. He obtained his MSc degree in Computer
[55] D.O. Sales, D. Feitosa, F.S. Osório, D.F. Wolf, Vision-based autonomous Science at the Federal University of Pernambuco in
navigation system using ANN and Kinect Sensor, in: Conference Proceedings 2010. At ICMC/USP, he has been working in machine
EANN 2012 – CCIS, vol. 311, London, UK, 2012. learning techniques for mobile robots and autonomous
[56] D. Sales, D. Feitosa, F. Osorio, D. Wolf, Multi-agent autonomous patrolling vehicles. More specifically, autonomous driving based
system using ANN and FSM control, in: Second Brazilian Conference on Critical on learning human behavior. His current research
Embedded Systems (CBSEC), 2012, pp. 48–53, http://dx.doi.org/10.1109/
interests are Mobile Robotics, Machine Learning, Hybrid
CBSEC.2012.14.
Intelligent System and Gaussian Process.
[57] D.O. Sales, L.C. Fernandes, F.S. Osório, D.F. Wolf, FSM-based visual navigation
for autonomous vehicles, in: II ViCoMoR – IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS), Vilamoura, Algarve, Portugal, 2012.
[58] A.C. Magalhaes, M. Prado, V. Grassi Jr., D.F. Wolf, Autonomous vehicle
navigation in semi-structured urban environment, in: Proc. of the Eighth
IFAC Symposium on Intelligent Autonomous Vehicles, vol. 8, 2013, pp. 42–47.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
20 L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx
Gustavo Pessin is assistant researcher in the Instituto Rafael Luiz Klaser, graduated in Computer Science at
Tecnológico Vale (ITV). He concluded in 2013 his PhD in UNISINOS-RS, is a MS student in the Institute of Math-
the Institute of Mathematics and Computer Science at ematics and Computer Science at the University of Sao
the University of Sao Paulo. He obtained an MS in Paulo. His main research area are Computer Vision and
Computer Science in 2008 from the University of the Visual Navigation. He also has been working with
Sinos Valley. At ICMC/USP, he has been working on physical simulations in autonomous navigation sys-
several research projects related to robotics and tems. He also have a background in IT industry and
machine learning techniques. His current research consulting services for many years.
interests are Hybrid Intelligent System, Mobile Robotics
and Multi-agent Systems.
Patrick Y. Shinzato is a PhD student in the Institute of André Chaves Magalhães is a PhD student in the School
Mathematics and Computer Science at the University of of Engineering of Sao Carlos at the University of Sao
Sao Paulo. He obtained a MS in Computer Science in Paulo. He obtained a M.S. in Electrical Engineering in
2010 from the University of Sao Paulo. At ICMC/USP, he 2013 from University of Sao Paulo. At EESC/USP, he has
has been working in computer vision, machine learning been working in motion planning and mobile robots.
and neural networks. His current research interests are His current research interests are motion planning,
Computational Vision, Artificial Intelligence, Mobile autonomous mobile robot navigation and autonomous
Robotics and Sensors Fusion. vehicles.
Daniel Sales is a PhD student at the University of Sao Alberto Hata is PhD student in the Institute of Mathe-
Paulo (ICMC-USP). He obtained a MS in Computer Sci- matics and Computer Science at the University of Sao
ence in 2012 from the University of Sao Paulo. At ICMC/ Paulo. He obtained a MS in Computer Science in 2010
USP, he has been working in Mobile Robotics Lab and from the University of Sao Paulo. He has been working
his current research interests are Mobile Robotics, on Mobile Robotics, Terrain Mapping, Neural Networks
Computational Vision and Machine Learning. and Support Vector Machines. His current research
interests are Mobile Robotics, Gaussian Process and
Robot Localization.
Caio Mendes is a PhD student in the Institute of Daniel Pigatto is a PhD student in the Institute of
Mathematics and Computer Science at the University of Mathematics and Computer Science at the University of
Sao Paulo. He obtained a MS in Computer Science in Sao Paulo. He obtained a MS in Computer Science in
2010 from the University of Sao Paulo. His current 2012 from the University of Sao Paulo. At ICMC-USP, he
research interests are Mobile Robotics, Machine Learn- has been working in network security, embedded soft-
ing, GPGPU and Computer Vision. ware development and critical embedded applications.
His current research interests are Unmanned Aerial and
Ground Vehicles, Network Security and Mobile Robot-
ics.
Marcos Prado is a professor in the Independent Faculty Kalinka Castelo Branco has Master in Computer Sci-
of Northeast. He obtained a MS in Computer Science in ence from University of Sao Paulo (1999) and PhD in
2013 from the University of Sao Paulo. At ICMC/USP, he Computer Science from University of Sao Paulo (2004).
worked in path planning, sensor fusion and autonomous She is currently an Associate Professor of the Institute of
vehicles. His current research interests are Path Plan- Mathematics and Computer Science (ICMC-USP),
ning, Artificial Intelligence and Mobile Robotics. working in the department of Computer Systems. She
has experience in Computer Science, with emphasis on
Computer Networks, Security, Embedded Systems, and
Distributed Computing.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003
L.C. Fernandes et al. / Journal of Systems Architecture xxx (2014) xxx–xxx 21
Valdir Grassi Jr. is an Assistant Professor at the Denis F. Wolf is an Associate Professor in the Depart-
Department of Electrical Engineering of the Sao Carlos ment of Computer Systems at the University of Sao
School of Engineering at the University of Sao Paulo Paulo (ICMC-USP). He obtained his PhD degree in
(EESC-USP). He received his PhD degree in Mechanical Computer Science at the University of Southern Cali-
Engineering from the Escola Politecnica at the Univer- fornia – USC in 2006. Currently he is Director of the
sity of Sao Paulo (EPUSP). His current research interests Mobile Robotics Laboratory at ICMC/USP and member of
include Autonomous Mobile Robot Navigation, Motion the Center for Robotics. His current research interests
Planning and Control, and Computer Vision applied to are Mobile Robotics, Machine Learning, Computer
Robotics. Vision and Embedded Systems. He has published over
50 journal and conference papers in the last years.
Please cite this article in press as: L.C. Fernandes et al., CaRINA Intelligent Robotic Car: Architectural design and applications, J. Syst. Architect. (2014),
http://dx.doi.org/10.1016/j.sysarc.2013.12.003