Professional Documents
Culture Documents
net/publication/257936711
CITATIONS READS
56 3,515
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Micael S. Couceiro on 05 April 2015.
Abstract This article presents the full integration of were conducted using different Arduino-based robotic
compact educational mobile robotic platforms built platforms.
around an Arduino controller board in the Robot
Operating System (ROS). To decrease the develop- Keywords Arduino-based robots · ROS ·
ment time, a driver interface in ROS was created Educational robotics · Sensing
so as to provide hardware abstraction and intuitive
operation mode, thus allowing researchers to focus
essentially in their main research motivation, e.g., 1 Introduction
search and rescue, multi-robot surveillance or swarm
robotics. Moreover, the full integration in ROS pro- Mobile robotics is a technological field and a research
vided by the driver enables the use of several tools area which has witnessed incredible advances for
for data analysis, easiness of interaction between mul- the last decades [1]. It finds application in areas
tiple robots, use of different sensors and teleopera- like automatic cleaning, agriculture, support to medi-
tion devices, thereby targeting engineering education. cal services, hazard environments, space exploration,
To validate the approach, diverse experimental tests military, intelligent transportation, social robotics,
and entertainment [2]. In robotics research, the
need for practical integration tools to implement
valuable scientific contributions is felt frequently.
Electronic supplementary material The online version However, roboticists end up spending an exces-
of this article (doi:10.1007/s10846-013-0007-4) contains
supplementary material, which is available to authorized sive amount of time with engineering solutions
users. for their particular hardware setup, often “reinvent-
ing the wheel”. For that purpose, several different
A. Araújo · D. Portugal () · M. S. Couceiro · R. P. Rocha
Institute of Systems and Robotics, University of Coimbra, mobile robotic platforms have emerged with the abil-
Pólo II, 3030-290 Coimbra, Portugal ity to support research work focusing on applica-
e-mail: davidbsp@isr.uc.pt tions like search and rescue, security applications,
A. Araújo human interaction or robotics soccer and, nowa-
e-mail: aaraujo@isr.uc.pt days, almost every major engineering institute has
M. S. Couceiro one or more laboratories focusing on mobile robotics
e-mail: micaelcouceiro@isr.uc.pt research.
R. P. Rocha Earlier, the focus of research was especially on
e-mail: rprocha@isr.uc.pt large and medium systems. However, with recent
J Intell Robot Syst
advances in sensor miniaturization and the increas- SLAM [9] and 3D point cloud based object recogni-
ing computational power and capability of microcon- tion [10], among others. Regular updates enable the
trollers in the past years, the emphasis has been put users to obtain, build, write and run ROS code across
on the development of smaller and lower cost robots. multiple computers.
Such low-cost platforms make affordable the exper- In the next section, general purpose and educa-
imentation with a larger number of robots (e.g., in tional mobile robots are reviewed, with a focus on
cooperative robotics [3] and swarm robotics [4] tasks) those already integrated in ROS and on our Arduino-
and are also ideal for educational purposes. With such based robot platforms. In Section 3, the main con-
assumptions in mind, our group has been doing engi- tributions of this article are revealed and details on
neering and research work with two Arduino-based the development of the ROS driver and its features
mobile platforms [5]: the TraxBot [6] and the Sting- are presented. In the subsequent section, results with
Bot.1 The choice fell upon Arduino solutions, since physical Arduino-based robots and a team of mixed
it presents an easy-to-learn programming language real and virtual cooperating robots are presented and
(derived from C++) that incorporates various com- discussed, to demonstrate the integration of Arduino-
plex programming functions into simple commands based robots in ROS, as well as the easiness of extend-
that are much easier for students to learn. More- ing the platforms with new sensors due to the ROS
over, the simplicity of the Arduino to create, modify driver. Finally, the article ends with conclusions and
and improve projects, as well as its open-source and future work.
reduced cost makes it among the most used microcon-
troller solutions in the educational context [5].
Following this trend of research, this article focuses 2 Related Work
on educational, open-source platforms that enable
The following requirements, sorted by relevance, can
researchers, students and robot enthusiasts to quickly
be expected from robots to be used for educational
perform real world experimentation, having access to
purposes [11, 12]:
the tools provided by the Robot Operating System
(ROS) [7]. ROS is currently the most trending and • Cost—Robots should be as cheap as possible to
popular robotic framework in the world, reaching crit- overcome budget limitations and evaluate multi-
ical mass and being the closest one to become the de robot applications (e.g., swarm robotics);
facto standard that the robotics community urgently • Energy Autonomy—Robots should have a long
needed. battery life since they may have to operate long
With the exponential growth of robotics, some dif- enough during development and experimentation;
ficulties have been found in terms of writing software • Communication—Robots need to support wire-
for robots. Different types of robots can have wildly less communication to increase the range of appli-
varying hardware, making code reuse nontrivial. cations (e.g., multi-robot systems and networked
Opposing this tendency, ROS provides libraries and robotics);
tools to help software developers to create robot appli- • Sensory System—Robots should be equipped
cations. ROS features hardware abstraction in low- with some form of sensing capability to allow
level device control, implementation of commonly- interaction between them and with their environ-
used functionally, message-passing between processes ment;
and package management. One of its gold marks is the • Processing—Robots need to be able to process
amount of tools available for the community like the information about other robots and the environ-
Stage simulator [8], navigation capabilities,2 visual ment (e.g., sensing data).
The following subsection reviews popular educational
and research platforms available in the market, after
which we present the Arduino-based educational plat-
1 http://www.isr.uc.pt/∼aaraujo/doc
forms developed and evaluate them according to the
2 http://www.ros.org/wiki/navigation
requirements presented above.
J Intell Robot Syst
Fig. 1 Some well-known educational and research mobile robotic platforms: from left to right, iRobot Create, Turtlebot, Mindstorm
NXT, e-puck, MarXbot, SRV-1 Blackfin and Pioneer 3-DX, respectively
2.1 Educational Robotic Platforms Create: the TurtleBot.7 This is a modular development
platform incorporating an Xbox Kinect and an ASUS
Several off-the-shelf mobile robots with various sen- eeePC 1215N netbook. TurtleBot provides 3D func-
sors and diverse capabilities are illustrated in Fig. 1. tionalities and ROS out-of-the-box (through the turtle-
We address their mobility within different ground bot stack),8 being fully open source and exploring all
environments, capabilities, size, sensing/perception, combined capabilities of its components.
processing power, autonomous navigation and integra- The Mindstorms NXT [14] from Lego is an edu-
tion in ROS. cational, academic robot kit, ideal for beginners. The
The iRobot Create [13] was designed for students robot is equipped with drive motors, encoders and a
and researchers, being very popular in the robotics good variety of cheap sensors, like an accelerometer,
community due to its small size and low cost. It is light, sound, ultrasound and touch sensors. Support for
a circular platform based on the well-known vacuum interfacing and controlling this robot with ROS is also
cleaner Roomba, with extra space for larger sensors available, through the nxt stack.9 Besides ROS, and
(e.g., 2D laser range finder or Kinect). Many choose being a commercial platform, there is a wide range
to utilize an external computer that supports serial of frameworks that either fully or partially support
communication to control the Create robot, due to the Lego NXT, namely NXT-G,10 Microsoft Robotics
troublesome limitations in storage space and process- Developer Studio,11 and Carnegie Mellon Robotic’s
ing power. A ROS driver for the Roomba iCreate has Academy ROBOTC.12
already been developed (irobot create 2 1 package3 The e-puck [15] is an educational swarm platform
in the brown drivers stack),4 as well as the origi- for beginners. It has tiny dimensions with only 80 mm
nal vacuum cleaning Roomba (roomba robot stack).5 of diameter, equipped with a vast set of sensors, like
Among the low cost platforms, the iRobot Create is microphones, infrared sensors, 3D accelerometer and
one of the most typical robots used in laboratory con- a VGA camera. Similarly, the MarXbot [16] platform
text. As a consequence, there is a large number of has 170 mm of diameter, being fully equipped with
known frameworks supporting it, such as ROS and infrared range sensors, 3D accelerometer, gyroscope,
Player/Stage [8]. Besides those, the emss iRobot Cre- and an omnidirectional camera. It has a good process-
ate Framework6 not only provides an interface with ing power with an ARM 11 processor at 533 MHz.
the iRobot Create hardware, but also a completely Both the e-puck and the MarXbot are programmed in a
emulated interface which mimics the hardware in user-friendly scripting language, which uses ASEBA,
every type of sensing information. an event-based low level control architecture. In order
In fact, a popular off-the-shelf robot, developed to interface it with ROS, a ROS/ASEBA Bridge has
at Willow Garage, has been built upon an iRobot
7 http://www.willowgarage.com/turtlebot
8 http://www.ros.org/wiki/Robots/TurtleBot
3 http://www.ros.org/wiki/irobotcreate 2 1 9 http://www.ros.org/wiki/Robots/NXT
4 http://www.ros.org/wiki/brown drivers 10 http://www.legoengineering.com/program/nxt-g
5 http://www.ros.org/wiki/roomba robot 11 http://www.microsoft.com/robotics
6 http://emssframework.sourceforge.net 12 http://www.robotc.net
J Intell Robot Syst
been released (ethzasl aseba stack).13 Despite being provides limited computational power and a few sen-
supported in ROS, and more recently in the Vir- sors like 8 infrared light sensors, 6 of them for obstacle
tual Experimentation Platform Coppelia Robotics (V- detection and 2 facing the ground. It also provides
REP),14 e-puck’s most compatible framework is still four SMD LEDs and a buzzer that emits sounds at a
Cyberbotics Webots.15 unique frequency, used to assign the robot different
Additionally, the SRV-1 Blackfin [17] from Sur- internal behaviors. This platform is extensible pro-
veyor is a small-sized robot equipped with tracks. viding a front connector for I2C bus communication,
This robot has a good processing power with a a left-side connector that allows flash-memory pro-
1000 MIPS at 500 MHz CPU, capable of running gramming and a right side connector that provides
Linux Kernel 2.6. It is equipped with two IR rangers serial port communication. It also supports cameras
or optional ultrasonic ranging and a 1.3 MP camera. and ultrasonic sensors beyond others. These exten-
It also supports Wireless 802.11 b/g communication sions may increase both computational power and
and various I2C sensors. Unlike the previous plat- sensing capabilities. Despite not being integrated in
forms, SRV-1 Blackfin can be driven in rough terrains ROS, Hemisson is supported by Cyberbotics Webots.
due to its tracking system. At the time of writing, Also, K-Team provides a PIC compiler that allows
only partial support for ROS is available through the users to program the robot in C, as well as software to
ros-surveyor16 stack, which offers a driver for the upload cross-compiled files.21
Surveyor Vision System in ROS. According to the Among the larger, more equipped and more pow-
manufacturer, the SRV-1 can also run onboard inter- erful mobile robots, a reference platform for research
preted C programs or be remotely managed from a and education is the Pioneer 3-DX from Adept
base station with Python or Java-based console soft- MobileRobots [19]. This is a robust differential drive
ware. Additional support is also available for Robo- platform with 8 sonars in a ring disposition, a high-
Realm machine vision software,17 Microsoft Robotics performance onboard microcontroller based on a 32-
Developer Studio, and Cyberbotics Webots. bit Renesas SH2-7144 RISC microprocessor, offering
Another educational robot is the SAR’s Bot’n Roll great reliability and easiness of use. Compared to
ONE C.18 It has a differential configuration, supported the previously referred robots, this robot has greater
in a black acrylic base with 22 cm of length and a weight and less affordability. Two different drivers are
weight of 1300 g. It provides two infrared obstacle available to interface the Pioneer 3-DX with ROS:
detection sensors with possibility to add extra mod- ROSARIA22 and p2os.23 Furthermore, MobileRobots
ules as a line follower component, a LCD for interface provides the Pioneer SDK,24 a set of robotics appli-
with the user (e.g., print program variables) and a cations and libraries for the development of robotics
RGB color sensor. A USB-Serial (RS232) converter projects. The mobile robot base platform can also be
allows the programming of the robot using an exter- used through interfaces with several other third party
nal computer. In general, it is an excellent starting software systems, including Player,25 Matlab26 and
kit for beginners. The ROS driver for this platform the Python and Java programming languages.
is currently under development. Basic programming
is available using PICAXE editor,19 as well as C 2.2 Arduino-Based Robotic Platforms
programming through MICROCHIP’s MPLAB.20
The Hemisson from K-Team [18] is an aluminium Even though most platforms referred in section II-
platform with 120 mm of diameter. The basic kit only A provide open source software, they usually require
a slow learning curve and the hardware has lim-
13 http://www.ros.org/wiki/ethzasl aseba ited expandability. Arduino solutions have recently
14 http://www.coppeliarobotics.com
15 http://www.cyberbotics.com 21 http://www.k-team.com/mobile-robotics-products/hemisson
16 http://github.com/rene0/ros-surveyor 22 http://www.ros.org/wiki/ROSARIA
17 http://www.roborealm.com 23 http://www.ros.org/wiki/p2os
18 http://botnroll.com/onec/ 24 http://www.mobilerobots.com/Software.aspx
19 http://www.picaxe.com/Software 25 http://playerstage.sourceforge.net
20 http://www.microchip.com/mplab 26 http://www.mathworks.com
J Intell Robot Syst
appeared in the market to work around such issues. upgraded with other sensors, e.g., laser range find-
For this reason, our platforms were built around an ers, RGB depth sensors (e.g., Kinect), temperature,
Arduino control board [6] (Fig. 2), which accesses dust and alcohol sensors, etc. Moreover, the platforms
the motor encoders and other information from the have the ability to also include a netbook on top of an
power motor driver, like temperature and battery acrylic support, which extends the processing power
state, being also able to send commands to the and provides more flexibility. In our case, the ASUS
motors, read sonar information and exchange mes- eeePC 1025C has been used due to its reduced price
sages natively through Zigbee. Although this sec- and size.
tion briefly describes the platforms assembled in our The netbook provides Wireless Wi-Fi 802.11 b/g/n
research laboratory, the proposed driver could be communication to the robot and is dedicated to run
applied to any other Arduino-based platform such as ROS onboard, providing the tools and means for
the eSwarBot [11], the Bot’n Roll OMNI 27 and several enhanced control of the robot. Additionally, the plat-
others (cf., [2]). forms are also equipped with an Xbee Shield from
The Arduino-based platforms under consideration, Maxstream, consisting on a ZigBee communication
namely the TraxBot v1 and v2 and the Stingbot are module with an antenna attached on top of the Arduino
depicted in Fig. 3. All these platforms’ processing Uno board as an expansion module. This Xbee Series
units consist of Arduino Uno boards, which include a 2 module is powered at 2 mW having a range between
microcontroller ATmega 328p that controls the plat- 40 m and 120 m, for indoor and outdoor operation,
forms motion through the use of the Bot’n Roll respectively.
OMNI-3MD motor driver.27 Having specified the hardware and the platform
As for power source, two packs of 12 V 2300 mAh electronics, the modular control architecture of these
Ni-MH batteries ensure good energy autonomy to the robots is summarized in Fig. 4. As Fig. 4 depicts,
robots (around 2–3 h with a netbook atop). For dis- the Arduino Uno board is used as the central compo-
tance sensing, three Maxbotix Sonars MB1300 with nent of the system. The sonars range finders connect
a range of approximately 6 m were used. However, to the Arduino board using its analog inputs. As for
and as experimental results depict in Section 4, the the connection to the Bot’n Roll OMNI-3MD motor
sensing capabilities of the platforms can be easily driver, the pins A4 and A5 are used as I2C peripheral.
The Bot’n Roll motor driver has the ability to con-
27 http://botnroll.com/omni3md
trol the motion of the platform by benefiting from a
J Intell Robot Syst
PID controller for both velocity (linear and angular) shield, or other shields that can be mounted on top of
and position of the motors. The feedback is given by the Arduino board, providing a wireless interface.
the motors integrated encoders. The other analog and
digital ports available can be used to integrate more 2.3 Summary
sensors. The USB port of the Arduino board connects
to the netbook, receiving (RX) and transmiting (TX) Both Arduino-based platforms, the TraxBot and Sting-
TTL serial data, which is decoded using a USB-to- Bot, meet all the requirements previously pointed out,
TTL serial chip. It is also possible to send and receive being ideal for multi-robot applications. Our platforms
information wirelessly, by benefiting from a ZigBee have a similar price to the Mindstorms NXT, being
more affordable than the Turtlebot, e-puck, MarXbot overhead imposed by its data acquisition and com-
or the Pioneer. In terms of energy autonomy, both mands, which results in an excessive workload to the
the TraxBot and the Stingbot can operate continu- Arduino microcontroller Atmel 328p SRAM. In fact,
ously around 3 h, which is a common operation time the microcontroller presents limited SRAM memory
for compact platforms. As for communication, unlike (only 2 Kbytes) and for standard ROS topics (float32
the iRobot Create and the Pioneer, which do not messages + message headers). Stress tests have shown
offer multi-point communication out-of-the-box, our that only a maximum of 15 ROS topics can be used
platforms support Zigbee communication, which can in parallel and the message buffer is limited to 70
be extended with WiFi when using a netbook atop. standard messages.
Having distance sensors and wheel encoders with The most important feature in rosserial is to add
high resolution, these platforms have the flexibility to libraries to the Arduino source code, in order to emu-
incorporate even more custom sensors, as opposed to late ROS language directly in Arduino code. This
the SRV-1 Blackfin or the Mindstorms NXT. Further- results in high overhead in communication between
more, its hybrid design enables not only to make use the PC running ROS and the Arduino board, due
of the 24 MIPS at 26 MhZ Atmega 328 microcon- to the structures used, for example when publish-
troller, but also the Intel Atom N2800 Dual Core at ing messages from the Arduino side. For this reason,
1.86 GhZ processor of a typical netbook, similarly to an alternative way of interfacing with the Arduino
the Turtlebot and outperforming smaller platforms. board was adopted, and a custom driver was cre-
Additionally, when developing our educational ated to communicate faster and transparently with
robots, other requirements were taken into account: any Arduino board. We propose a solution based on
all hardware is either made of aluminium or stain- the serial communication stack,30 wherein messages
less steel, being extremely robust; their dimensions sent from the Arduino only consist of a simple data
are adequate for both indoor and outdoor experiments; packet sent through a standard serial communica-
and they have the ability to run ROS, thanks to the tion protocol. The data packet comprises an array of
driver described in the next section. characters that are parsed to integer variables on the
PC/ROS side, decreasing significantly the communi-
cation load, thus overcoming the rosserial drawback.
3 ROS Driver for Arduino-Based Robots This enables robust and fast communication in more
complex applications, such as teleoperation, cross-
The key contribution of this work is the development ing of sensory information and the integration of the
of an open source driver that enables the integration of navigation stack, among others. It also has the ver-
Arduino-based custom educational robotic platforms satility of using different protocols to exchange data
in ROS, which can be used as a starting point and eas- between the Arduino and the PC/ROS side, which
ily generalized to a wide variety of other robots also enables the creation of a customized and transparent
based on Arduino controller boards. serial communication.
The Arduino firmware code was developed tak-
3.1 Driver Description
ing into account all components and their features,
which are required for the robots’ operation. In
The mrl robots28 driver herein presented was devel-
Fig. 5 the architecture of the ROS Driver is illus-
oped for integration and control of the platform
trated. The power motor driver OMNI-3MD provides
using ROS Fuerte version running on any Operat-
libraries to control the motors (i.e., velocity or posi-
ing System that supports ROS. ROS provides tools to
tion control), read encoders and temperature, as well
interface with the Arduino family of boards through
as setting the parameters for the initial configura-
the rosserial stack.29 However, rosserial does not
tions of the PID controller, among others. The motor
suit the requirements of this work due to the high
driver is connected to the Arduino Uno through I2C
28 http://www.ros.org/wiki/mrl robots
29 http://www.ros.org/wiki/rosserial 30 http://www.ros.org/wiki/serial communication
J Intell Robot Syst
ROS Driver
Cereal_port node establish I2C
TraxBot Source Code communication via serial
protocol and Driver source
Driver Source Code code interprets the frame sent
by the firmware program to
perform the desired task.
Connection node
USB cable
connection
Firmware
Implemented in C with specific
protocol frame
I2C
Motor Driver
Power driver to control motors,
Encoders and temperature among others.
not require a synchronous communication involving 3.2 Driver Features and Potential
requests and responses between ROS and the Arduino
board. Hence, it frees the serial communication chan- The driver presented in the last subsection offers sev-
eral features, many of which are inherited by the direct
nel since it only needs a starting request and can be
integration with the ROS middleware. The driver
stopped at any time. Furthermore the mrl robots driver enables the robot interface with ROS tools for data
has the ability to enable and disable debugging options processing and analysis, like 3D visualization (rviz),
to track eventual errors. logging real-time robot experiments and playing them
Fig. 7 rxgraph nodes and topics provided by the mrl robots driver
J Intell Robot Syst
offline with (rosbag/rxbag), plotting data (rxplot) and Although ROS is not the only framework that has
visualizing the entire ROS network structure (rxgraph, the potential to integrate homogenous and heteroge-
e.g. Fig. 7). neous robotic teams, it also allows integrating mixed
Beyond the easiness of using the available tools, real and virtual robot teams sharing the same sce-
ROS also provides effortlessly integration of new nario and mission. Using the driver herein presented
sensors in the robot without needing high hardware together with Stage [8] or Gazebo [20], the same
expertise, as will be demonstrated in Section 4. This code can be used in both physical robots and virtual
opens a new range of possibilities since several well- simulated robots coexisting in the same network. In
known stacks from the ROS community comprise addition, the communication between real and virtual
algorithms for robotics development such as the navi- robots is completely transparent since they are both
gation2 and slam gmapping33 stacks. These are useful running ROS. This major feature is ideal to perform
since they free users from programming low-level and multi-robot tasks, allowing the use of a large popu-
basic behaviors for their robots by reusing the code lation of robots, when no extra physical robots are
that is available in ROS, thus staying more focused available, being cheaper and promoting safer test sce-
in the main aspects of their scientific experimenta- narios, by making interactions between physical and
tion thanks to fast prototyping. Moreover, they enable virtual world objects [21].
users who are beginners in robotics to easily deploy Multi-robot simulation is available for ROS
a robot running with basic low-level and navigation through wrappers of Stage and Gazebo, which support
behaviors, thus being an excellent tool for educational a high number of interacting robots depending on the
robotics. The interaction between high-level programs computational complexity of the algorithm. However,
and the available resources in Arduino-based plat- the opportunity to execute nodes on multiple CPUs
forms enables hardware abstraction. This brings the in the same network turns the upper bound of the
possibility of using standard interfaces of any other team size arbitrarily high, removing the overloading
mobile robotic platforms also integrated in ROS. processing of a single machine.
Finally, another particularity of using the ROS
Another interesting feature of the driver is the sim-
driver developed is a means to improve security in
plicity for enabling heterogeneous multi-robot coordi-
multi-robot tasks, for example in a military opera-
nation and cooperation. Running the same hardware
tion, where it is possible to create a specific encrypted
abstraction layer in the team of robots, ROS takes
node for a robot of the team [22], making the sys-
care of the communication messaging system using
tem more robust to attacks. Additionally, it is always
a publish/subscribe method, which enables all kinds
possible to monitor, log and debug at any time all
of interaction between members of the same team,
exchanged information and specific nodes running in
as seen in Fig. 8 where an example of a ROS net-
the network.
work is depicted. It is also shown how the network
has the flexibility to work with a large variety of
integrated solutions, which enables the assignment of
4 Results and Discussion
particular tasks for specific members of the team.
Robots of the same team may have different purposes In order to experimentally evaluate the ROS driver
and perform different tasks, meaning that heteroge- developed to Arduino-based mobile robots, some tests
neous teams with different capabilities can coexist. were conducted using physical robots and simulated
For example, in a search and rescue scenario, the robots in Stage. Besides running virtual agents, the
cooperation of a multi-robot team may arise from per- simulator allows to compare physical robots’ odom-
forming different tasks with hundreds or thousands of etry and pose estimation with the ground truth infor-
heterogeneous robots. In a scenario where a swarm of mation. We present experimental tests that validate the
flying scouts are deployed [4], these scouts may search aforementioned claims and we also show cooperative
and mark objective points to pass them on, in real time, behaviors with real multi-robot systems, as well as
to ground robot surveillance teams [3]. mixed teams of real and virtual robots.34 The aim is
34 A video of the experiments is available at: http://www.isr.
33 http://www.ros.org/wiki/slam gmapping uc.pt/∼aaraujo/videos/JINT2013
J Intell Robot Syst
Driver Node Traxbot v1 Driver Node Traxbot v2 Driver Node Stingbot Wii Remote Controller
Robot 1 Robot 2 ... ...Robot N Node
Add specific
task
Node
Hokoyo Laser Node
Kinect Node
Main
Algorithm
Navigation
Stack
Node RO
Ga S
ze
bo
Computer
Fig. 8 Network topology example with multiple robots, sensors, tele-operation devices and applications
to evaluate the driver flexibility when interacting with placed at ±45◦ were used (see Fig. 10a). The front
different sensors, the ability to easily integrate new sonar was used for reactive obstacle avoidance, given
sensors in the Arduino-based robot, update the ROS that in mapping situations, due to the low resolution
driver, the driver portability to different robotic plat- of the sonar sensor, the projection of walls and obsta-
forms, and the driver integration with the existent ROS cles detected by the cone of the front sonar is placed in
tools. front of the robot, which is highly unreliable in most
situations as shown in Fig. 10b.
4.1 Driver Flexibility to Interact with other Nodes In this test, the robot movement relies solely on
in ROS Network
odometry. In Fig. 9a, it can be seen in the first recti-
linear motion that the sonars readings are stable (red
The first experiment aims to demonstrate the driver
dots) and coincident with the ground truth scenario
flexibility to interact with different sensors (Fig. 8).
The TraxBot v1 platform was equipped with a laser limits (blue line). Green dots represent the midpoint of
range finder (LRF) and its performance was compared sonars acoustic beam while turning. Some issues arise
against the native ultrasonic range sonars on a simple during the 90◦ rotation, since the sonar beam cone has
mapping task [23]. The Hokuyo URG-04LX is a LRF an opening of approximately 36◦ , thus presenting a
classified as an Amplitude Modulated Continuous loss of resolution (see Fig. 9a). In the case of Fig. 9b,
Wave (AMCW) sensor [24]. the Hokuyo LRF was used to perform the same test.
In order to test the sonars performance, an L-shaped The laser field of view was set to 180◦ with a rate
scenario of 2 m by 1.6 m was set up, with a 1 m of 512 samples per reading. It is possible to observe
width (Fig. 9). To perform this test, two lateral sonars some discrepancy in some readings especially at the
J Intell Robot Syst
a b
Position y [mm]
Position y [mm]
Position x [mm] Position x [mm]
Fig. 9 Evaluation of the ROS driver in Traxbot v1 with different sensors. a Ultrassound Range Sensors integration; b Hokuyo URG-
04LX Laser Range Finder integration
end of the movement, due the odometry position error 4.2 Driver Portability to Different Robots
accumulated during motion. and Integration in ROS
As can be observed, the ROS driver presents a high
In the second experiment, the goal was to demonstrate
flexibility on interacting with other nodes in the ROS
the portability of the driver to different Arduino-based
network. In this particular case, a simple mapping task
robots using other sensors, which i) enables testing the
was considered by comparing the performance of the
driver in different variants of Arduino-based robots;
TraxBot when equipped either with sonars or LRF, and ii) illustrates the integration of these robots and
showing that both sensors communicate seamlessly the corresponding ROS driver with hardware devices
with the ROS driver. The trajectory of the robot was and diverse algorithms that are already available in
also followed successfully due to the motor control ROS. Hence, a mapping task, which includes the inter-
component of the driver developed. action with a laser range finder (LRF) and a joystick
Fig. 10 Noisy range situations: a issue during rotations using lateral sonars; b the front sonar was not used for mapping
J Intell Robot Syst
Shared Virtual
Point Robot
Fig. 13 The three robots coordinating their behaviors by exchanging ROS messages (rviz)
to the integration of the navigation stack2 . Figure 13 (USAR) missions, more specifically fire outbreaks,
presents a snapshot of rviz, illustrating the three robots leakage of toxic gases and detection of victims [26].
moving in the arena. To add this three new sensors, one only needs to
In this section, it was possible to verify the full add the corresponding sensor data acquisition in the
integration of the ROS driver developed, by running firmware illustrated in Algorithm 1 (section III.A),
a generic SLAM approach and the navigation stack more precisely in the Streaming Functions. Conse-
available in the ROS community in our robots and quently, in the ROS side (Algorithm 2), only the
apply them to cooperative algorithms. Moreover, it corresponding callback functions are necessary to add
was possible to evaluate the portability of the driver in order to interpret the new sensor data.
to other Arduino-based robotic platforms. With only The dust sensor (model PPD42NS) is illustrated
minor adjustments in the kinematics parameteriza- in Fig. 14a. Being manufactured by Grove, this sen-
tion caused by the different physical properties of the sor returns a modulated digital output based on the
robots, it was possible to use the same ROS driver in
similar robotic platforms: TraxBot v2 and StingBot.
300
Distance [cm]
High Temperature
Alcohol Contamination
0
Dusty Air
1050
Obstacles
Robot Path
The experiment with the TraxBot v2 (Fig. 14) was (Fig. 15b); and a small dusty area was simulated with
conducted in the same area of the laboratory from a 120 mm fan creating disturbance in the air, lifting
section V-B, with a size of 4.0 × 4.6 m and sev- up dust particles on the floor and thus increasing the
eral obstacles placed on it (see Fig. 15). Four points concentration of dust particles in the air (Fig. 15c).
of interest were introduced to simulate critical con- In the experiment carried out in this scenario, it was
ditions. More specifically, gas air contamination was possible to map the 3 environmental variables mea-
simulated with liquid alcohol in containers (Fig. 15a); sured by the aforementioned small sensors. The data
a fire outbreak was emulated using a 500 watts spot- provided by the three sensors is represented on top of
light able to produce a hot spot of high temperature the map with circles of different colors: red circles for
Threshold:
39 ºC
Threshold:
120 ppm
c
Threshold:
5500 pcs/liter
Fig. 17 Sensors output during the experiment. a Temperature; b Alcohol; c Dust concentration
J Intell Robot Syst
temperature, green circles for dust and blue circles for the driver also simplifies the robotic development by:
air contamination (see Fig. 16). i) supporting hardware abstraction to easily control the
Comparing Fig. 15 and the output map based on platform; ii) allowing for the extension and integration
sensor readings in Fig. 16, we can observe that this of all kinds of sensors; and iii) enabling multi-robot
map matches with the real scenario. The red circles cooperation and coordination through the operation in
represent points in the environment where the ther- a ROS network, both for real teams of homogeneous
mopile array measures values above 39 ◦ C (near the and heterogeneous robots, as well as hybrid teams of
spotlights). This was predictable due to the high sens- physical robots and simulated robots running the same
ing capability of the thermopile sensor for distances of code.
up to one meter. The blue circles represent the air con- Results from experiments that were conducted
tamination variable. This allows retrieving the spread demonstrate all these features. Moreover, the negligi-
of the contamination caused by the natural air flow ble overhead imposed by the driver did not restrict any
along the arena. The green circles, represent points of the experiments conducted. Finally, as open-source
(Fig. 15c) where dust particles density are higher than development tools were used throughout the work pre-
5500 pcs/liter. sented in this article, all the source code developed
A netbook using Ubuntu 11.10 and ROS [7] is available online39 in the hope of being useful for
Fuerte38 was placed on top of the TraxBot v2. To robotic developers worldwide.
explore the scenario, the robot was teleoperated using These results open new perspectives into apply-
the Wiimote controller. The ROS driver was updated ing the proposed solutions at the hardware, firmware
to support the new sensors, thus making their informa- and software levels, as an innovative education tool
tion available on the ROS network. TraxBot odometry for engineering in a broad sense. The low cost, open-
data provided by the ROS driver was used in this source, and highly flexible nature of the proposed
experiment, resulting in the path depicted in Fig. 16. approach make these mobile robotic platforms and
Figure 17 shows the data acquired from the three corresponding algorithms accessible for both educa-
small sensors by the TraxBot v2 robot during the tional and research purposes, which one can exploit
experimental test. to teach a wide range of topics in Mobile Robotics,
In this last result section, it was possible to ver- and also to pursue research on relevant topics, such
ify the possibility to easily add new sensors in the as autonomous robots, cooperative robotics, artifi-
Arduino-based robot using ROS, which can be used in cial perception, and robots interaction with human,
a wide range of applications. In this case, it was used leveraging from hardware abstraction.
to perform a trial to validate an approach for envi-
ronmental monitoring based on thresholds, e.g., for a Acknowledgments This work was supported by the CHOPIN
research project (PTDC/EEA-CRO/119000/2010), by PhD
search and rescue application. scholarships SFRH/BD/64426/2009 and SFRH/BD/73382/
2010, and by ISR-Institute of Systems and Robotics (project
PEst-C/EEI/UI0048/2011), all of them funded by the Por-
5 Conclusions and Future Work tuguese Science Agency “Fundação para a Ciência e a Tecno-
logia” (FCT).
4. Couceiro, M.S., Rocha, R.P., Ferreira, N.M.F.: A collective-robotic research. In: Int. Conf. on Intelligent
PSO multi-robot exploration approach over unreliable Robots and Systems. Taipei, 18–22 Oct (2010)
MANETs. Adv. Robot. 27(16), 1221–1234, Robotics 17. Cummins, J., Azhar, M.Q., Sklar, E.: Using surveyor SRV-
Society of Japan (2013) 1 robots to motivate CS1 students. In: Proceedings of the
5. Warren, J.-D., Adams, J., Molle, H.: Arduino robotics. AAAI 2008 Artificial Intelligence Education Colloquium
Springer Science and Business Media (2011) (2008)
6. Araújo, A., Portugal, D., Couceiro, M., Figueiredo, C., 18. Mitrović Srd̄an, T.: Design of fuzzy logic controller for
Rocha, R.: TraxBot: assembling and programming of a autonomous garaging of mobile robot. J. Autom. Control
mobile robotic platform. In: Proc. of the 4th International 16.1, 13–16 (2006)
Conference on Agents and Artificial Intelligence (ICAART 19. Zaman, S., Slany, W., Steinbauer, G.: ROS-based mapping,
2012). Vilamoura (2012) localization and autonomous navigation using a pioneer
7. Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., 3-DX robot and their relevant issues. In: Proc. of the
Leibs, J., Berger, E., Wheeler, R., Ng, A.Y.: ROS: an open- IEEE Saudi International Electronics, Communications and
source robot operating system. In: Proc. Open-Source Soft- Photonics Conference. Riad (2011)
ware workshop of the International Conference on Robotics 20. Linner, T., Shrikathiresan, A., Vetrenko, M., Ellmann,
and Automation. Kobe (2009) B.: Modeling and operating robotic environent using
8. Gerkey, B., Vaughan, R., Howard, A.: The player/stage Gazebo/ROS. In: Proceedings of the 28th International
project: tools for multi-robot and distributed sensor sys- Symposium on Automation and Robotics in Construction
tems. In: Proc. of the Intl. Conf. on Advanced Robotics, pp. (ISARC2011), pp. 957–962. Seoul (2011)
317–323. Coimbra (2003) 21. Wunsche, B., Chen, I., MacDonald, B.: Mixed reality sim-
9. Grisetti, G., Stachniss, C., Burgard, W.: Improved tech- ulation for mobile robots. In: Proc. of International Con-
niques for grid mapping with rao-blackwellized particle ference on Robotics and Automation (ICRA 2009). Kobe
filters. In: IEEE Transactions on Robotics (2006) (2009)
10. Rusu, R., Cousins, S.: 3D is here: Point Cloud Library 22. Wagner, A., Arkin, R.: Robot deception: recognizing when
(PCL). In: Proc. of International Conference on Robotics a robot should deceive. In: Proc. of Computational Intel-
and Automation (ICRA 2011). Shanghai (2011) ligence in Robotics and Automation (CIRA). Daejeon
11. Couceiro, M.S., Figueiredo, C.M., Luz, J.M., Ferreira, (2009)
N.M.F., Rocha, R.P.: A low-cost educational platform for 23. Rocha, R., Dias, J., Carvalho, A.: Cooperative multi-robot
swarm robotics. Int. J. Robot. Educ. Art 2(1), 1–15 (2012) systems: a study of vision-based 3-D mapping using infor-
12. Park, I.W., Kim, J.O.: Philosophy and strategy of mation theory. In: Proc. of IEEE Int. Conf. on Robotics
minimalism-based user created robots (UCRs) for edu- and Automation (ICRA’2005), pp. 386–391. Barcelona
cational robotics - education, technology and business (2005)
viewpoint. Int. J. Robot. Educ. Art 1(1), 26–38 (2011) 24. Kneip, L., Tâche, F., Caprari, G., Siegwart, R.: Charac-
13. Kuipers, M.: Localization with the iRobot create. In: Pro- terization of the compact Hokuyo URG-04LX 2D laser
ceedings of the 47th Annual Southeast Regional Confer- range scanner. In: Proceedings of the IEEE International
ence ACM (ACM-SE 47). Clemson (2009) Conference on Robotics and Automation. Kobe (2009)
14. Bagnall, B.: Maximum LEGO NXT: Building Robots with 25. Kohlbrecher, S., Meyer, J., von Stryk, O., Klingauf, U.: A
Java Brains. Variant Press, Winnipeg, Manitoba (2007) flexible and scalable SLAM system with full 3D motion
15. Mondada, F., et al.: The e-puck, a robot designed for estimation. In: Proc. of the IEEE International Symposium
education in engineering. In: Proc. of the 9th Conf. on on Safety, Security, and Rescue Robotics (SSRR’2011), pp.
Autonomous Robot Systems and Competitions 1(1):59–65 50–55. Kyoto (2011)
(2009) 26. Couceiro, M.S., Portugal, D., Rocha, R.P.: A collective
16. Bonani, M., Longchamp, V., Magnenat, S., Rétornaz, P., robotic architecture in search and rescue scenarios. In: Proc.
Burnier, D., Roulet, G., Mondada, F.: The MarXbot, a of 28th Symposium on Applied Computing (SAC 2013),
miniature mobile robot opening new perspectives for the pp. 64–69. Coimbra (2013)