You are on page 1of 14

J Intell Robot Syst (2016) 81:6376

DOI 10.1007/s10846-015-0227-x

Andruino-A1: Low-Cost Educational Mobile Robot Based


on Android and Arduino
Francisco M. Lopez-Rodrguez Federico Cuesta

Received: 12 July 2014 / Accepted: 26 March 2015 / Published online: 3 May 2015
Springer Science+Business Media Dordrecht 2015

Abstract This work presents the design of an open


educational low-cost (35 euros) modular and extendable mobile robot based on Android and Arduino, with
Local Area Network (LAN) and Internet connection
capabilities, to be used as an educational tool in labs
and classrooms of information and communications
technology (ICT) vocational training, or in engineering courses, as well as in e-learning or massive open
online courses (MOOC) as an alternative or complementary to virtual labs. It is a first step introducing
what we call BYOR: Bring Your Own Robot education policy equivalent to BYOD: Bring your own
devices in computers world.
Keywords Educational robot Robotics
Smartphone-based robots BYOR Android
Arduino Distance learning.

F. M. Lopez-Rodrguez ()
Departamento Informatica, IES Triana, Junta de Andaluca,
Calle San Jacinto 79, E-41010 Seville, Spain
e-mail: franciscom.lopez.rodriguez.edu@juntadeandalucia.es
F. Cuesta
Escuela Tecnica Superior de Ingeniera,
University of Seville, Camino de los Descubrimientos,
E-41092 Seville, Spain
e-mail: fede@cartuja.us.es

1 Introduction
Robots are becoming a popular educational tool
[13], in areas of science and technology for primary and secondary school and in several areas
of engineering in universities, as a method of
active learning that permits several subjects, such
as maths, computer science, mechanics, technology, electronics, programming, artificial intelligence,
and computer vision among others, to be combined as a single subject with a distinct goal.
Furthermore, robotics increases collaboration and
working group skills, and helps students construct
their own knowledge based on the practical procedures, according to constructivist learning paradigms.
This increase in educational robotics has been reinforced by the emergence of robotics competitions
[46].
Information and communications technology (ICT)
vocational education for adults (VET), which is
attended by adult students who finished high-school
or intermediate vocational education, as an alternative to University, or by people who are unemployed
in order to acquire new skills as a way back to the
labor market, may be classified as technical teaching founded on procedural knowledge, mainly by the
knowledge exercised in the performance of some task
in order to acquire the capabilities defined in the
degree. According to this orientation, the construction and programming of robots would be a task
that procedurally integrated several ICT skill areas

64

required of the VET curriculum, such as creating hardware, programming computers, or the configuration
and administration of networks and operative systems.
Although this paper is focused initially to VET students, the results have been applied and extended to
engineering courses and university labs, and would be
easily applied both in classroom based courses and
distance-learning courses.
This paper describes the process of analysis, design
and implementation of Andruino-A1, a low-cost
smartphone based mobile robot, Internet connected,
for educational purposes, as well as its application
to cover different learning objectives and to reinforce
students skills.
The paper is organized as follows: Section 2
describes the concept of what we call BYOR: Bring
Your Own Robot education policy and the contribution of Andruino-A1 to meet that goal. Section 3
presents the design criteria and choices in order to
get an open low-cost robot connected to networks to
achieve the BYOR policy. Section 4 illustrates the process of building an Andruino-A1 robot, including both
hardware and software issues. Section 5 is devoted
to discuss results in the classroom. Finally, Section 6
presents conclusions and future works.

2 BYOR: Bring Your Own Robot Education


Policy and Andruino-A1
Until now, educational robotics tasks could be performed using simulation environments, or in laboratories and classrooms of an academic institution with
real robots, usually acquired at medium or high prices.
On the other hand, nowadays, popular massive
open online course (MOOC) platforms, as Coursera [7], EdX [8] or Udacity [9] have changed the
way technicians and engineers can update and expand
their knowledge. So, some prestigious universities are
offering robotics courses changing the way students
learn about robotics. Usually, these courses offered
videotaped classes, and provide their students with a
remote software platform, as Matlab or Python, but,
in general, they are lacking in the implementation of
tasks in real robots.
Therefore, there is a need in learning process of
robotic, both in classroom and online courses, for educational low cost robots, full of sensors and easy to
construct.

J Intell Robot Syst (2016) 81:6376

So the primary goal of Andruino-A1 is to enable


that each student can own a real low cost mobile robot,
network connected (TCP/IP, 3G, WiFi, Bluetooth)
and full of sensors (camera, GPS, accelerometer...) to
perform tasks, homework and robotic projects. With
Andruino-A1 we pursuit a BYOR: Bring your own
robot education policy equivalent to BYOD: Bring
your own devices in computers world. Furthermore,
as students construct and program their AndruinoA1 robot, they increase their knowledge and skills
in software, hardware, programming, protocols and
networks.
The increase in the use of educational robots in
classrooms and labs has been made possible thanks
to the appearance of low or middle-cost educational
robotics kits, which are mechanically easy to construct. So there exists a wide variety of robotics kits
(see [10]-[2] and the references there in for a review
of educational robotics kits).
In [10] a review of robotics and educational
mechanical construction kits is shown. In the same
way, Table 1 was created to serve as a quick reference for educational robotics kits selection, but
instead of focusing on mechatronics as is the case
with [10], it has a computational point of view,
because our courses are oriented to ICT vocational
training. In this table, along with some technical features, estimated cost and the level of education for
which the kit could be used, we attempted to determine whether it was an open platform, in order to
know if students could learn and study all aspects of
the system.
Despite the variety of models available in the
market, from systematic studies about educational
robotics in scientific literature [11] it has been shown
that most authors are using LEGO MindStorm [2].
But normally, it is not possible to acquire this robotics
equipment for each group of two or three students
because of the limited budget of VET schools. On
the other hand, most of them are non-open robotics
kits, based on microcontrollers, and with a proprietary programing language, so they have limitations in order to the development of the skills
required in computational and engineering courses
such as hardware configuration, OS administration,
network configuration or high-level programming,
among others.
Fortunately, two factors have allowed us to overcome the limitation indicated above:

Secondary
Baccalaureate
VET University

Primary

Primary

Lego Mindstorm
NTX/EV3 [USA]
http://mindstorms.lego.com

Lego WeDo
Robotics [USA]
http://www.legoeducation.us/

Robotics Ollo [South Korea]


http://www.robotis.com/xe/ollo en

Primary Secondary No

Fischertechnik [Germany]
http://www.fischertechnik.de

Cost (euros)

GNU/Linux on PC

RoboPlus (Robotis Software, proprietary)


Other: R+m (for smartphones),
Dynamixel SDK for C developers.

RoboPlus (proprietary)

Lego WeDo Software (proprietary)


Other: Scratch

350

8500

900

75

140

Native NXT-G Software (proprietary)


400
Others: Labview, NBC,RobotC,BrcikOS
(OS / C/C++), LejOS (Java), Matlab/Simulink

Software Features

Simple mechanical construction, based on


Robo pro software
interlocking plastic parts. Robo TX Controller (proprietary)
is based on 32bit ARM 9 CPU, 8 MB RAM, Others: C, Scratch (not-official)
2 MB flash, with 12 inputs and 4 outputs.

Software. Humanoid robot based in networked


servomotors Dynamixel. Hardware is
a PC (miniITX, Intel Atom Z530) linked
to a Controller CM-370 (microntroller,
accelerometer, gyroscope and I/Os) to
control servomotors Dynamixel.

University

Robotics DARwIn-OP [South Korea]


http://www.robotis.com/xe/darwin en

Humanoid robot based on networked


servomotors Dynamixel. Controller
CM- 530 is based on Cortex ARM CPU.

No

Simple mechanical construction,


based on interlocking plastic parts.
The controller module is CM-100A
LN-101 external module is needed
for programming RoboPlus.

Simple mechanical configuration,


based on Lego pieces (plastic).

Mechanically simple based on Lego


pieces (plastic), but can use metal
parts from Tetrix. Based on a 32 bits
ARM MCU with 256 Kb of Flash
memory and 64 KB of external RAM,
LCD display 100x64, audio, USB and
Bluetooth connections. 4 inputs for
sensors, 3 outputs for motors.

Hardware features

Robotis Bioloid [South Korea]


Secondary
http://www.robotis.com/xe/BIOLOID main Baccalaureate
VET University

No

No

No

Educational level Open

Name / URL

Table 1 Educational Robotics Kits from a computational point of view

J Intell Robot Syst (2016) 81:6376


65

Secondary
Baccalaureate
VET University

Baccalaureate
VET University

Secondary

Secondary
Baccalaureate
VET University
Primary Secondary

Primary Secondary
Baccalaureate
VET University

Microsoft .NET Gadgeteer [USA]


http://www.netmf.com/gadgeteer/

Boe-Robot from Parallax [USA]


http://www.parallax.com

E-puck [Switzerland]
http://www.e-puck.org/

Moway [Spain]
http://moway-robot.com

Arduino Robot [Italy, Spain]


http://arduino.cc/en/Main/Robot

(continued)

Vex robotics [USA]


http://www.vexrobotics.com/

Table 1

Yes

No

Yes

Yes

Software
Hardware
(partially)

No

Differential wheeled mobile robot based on two


Arduino Leonardo boards: motor control board and
control/sensor board (with compass, LCD, speaker,
and analog and digital I/O)

Differential wheeled mobile robot based on


PIC18F86J50 with infrared sensors, light sensors,
temperature sensor, microphone, speaker and RF
module for wireless communication

Differential wheeled mobile robot based on dsPIC


30 with 8K RAM + 144K Flash, 2 step motors,
light sensor, color camera, microphones, load
speaker and infrared proximity.

Mobile robot based on BASIC Stamp 2


microcontroller, with touch, light and
infrared sensors.

Electronic Modules (controller, sensors, etc..)


not just for robotics. Controller FEZ is based
on ARM7, Flash 4.5MB, RAM 16MB, I2C,
UART, USB. Mechanical parts are not included.

Simple mechanical construction, based on


interlocking metal parts. Controller Vex
Cortex is based on ARM Cortex-M3 CPU,
RAM: 64KB, Flash: 384KB, 12 inputs, 8
analog inputs, 8 motor outputs, UART e I2C.

Processing

MowayWord, C

C,ASEBA

PBASIC

.NET Micro Framework Visual


Studio/Visual C# Express

easyC V4 for Cortex


ROBOTC for Cortex and PIC

200

180

850

150

250

400

66
J Intell Robot Syst (2016) 81:6376

J Intell Robot Syst (2016) 81:6376

The first is the increase of open-hardware and


open-software, mainly based around the Arduino
project [13]. Arduino is a microcontroller board
founded on easy-to-use open hardware and software, which nowadays is used in a lot of schools
as an introduction to computer programming
courses, in automation courses and in electronics
labs. Arduino is currently widely used for creating robots [14][15] and for teaching embedded
systems [16].
The second is the increase in the use of smartphones, devices that can be used as robotic
parts, as shown in [17]-[18], and most of them
have numerous technical gadgets that could
be used in robotics projects as low-cost sensors and technical features: accelerometer, light
sensor, temperature sensor, magnetic field sensor, gyro positioning, GPS, camera, microphone, Bluetooth communication, 802.11 communications, TCP/IP implemented, feathery batteries, etc... Furthermore, from a computational
point of view, smartphones are microprocessorbased systems that execute an operating system
and that have more possibilities (CPU, memory, etc...) than microcontroller-based systems,
like Arduino.

Among all the Operating Systems used in smartphones, Android, which is based on the Android
Open Source Project (AOSP), has become the mostused, especially amongst the young population, so
a lot of students of vocational education have a
device of this kind. So in the classroom the use
of Android devices in educational robotics could
be considered almost zero-cost. In this case, the
fact that most students were already owners of
smartphones with Android operating systems along
with the large number of sensors available on
them, discouraged the use of other more powerful
platforms based on low-cost microprocessors such
as Raspberry PI, which was also considered as
an alternative.
Besides this advantage, the use of Android smartphones in robotics in VET involves students learning
from a computing educational point of view:

Use of programming languages (Java, Python,..)


for mobile devices with professional developer
tools as Eclipse, which they will most likely be
exposed to during their working life.

67

Fig. 1 Components of Andruino-A1 mobile robot

Administration of Android operating system


(process, command line interface, logs, threads,
sockets, etc).
The ability to work with robot networks
(cooperative robots), founded on the huge
communications capabilities of smarthphones:
GPRS/3G, TCP/IP, WiFi, and Bluetooth.

3 Design Criteria and Components Selection


After preliminary studies [19], the design and construction of the mobile robot called Andruino-A1 is
guided by the following principles so that even remote
students can use this robot easily in their learning
process:
1. Simplicity: It must contain the minimum
number of hardware components, with a simple
mechanical construction, and with the minimum
number of lines of code. Thus, no sensor will be
installed as external hardware, and all the data
about the position, movement and environment
of the robot will be obtained from sensors on the
smartphone.
2. Open: Students can construct it from parts which
are easy-to-find (local shops or popular webstores), and must be modular and extensible.
All information should be published, so students or others can easily repeat and improve

68

the robot design, using open tools. Further,


the robot could be operated using common
network tools, such as web browser, or typical administrator tools, for example telnet or
ssh clients.
3. Low Cost: The robot must be as cheap as
possible (considering the use of smartphones
owned by students), so that it could have participated in the Affordable Educational Robot Challenge of the African Robotic Network or similar
ones.
4. Educational: The construction of the robot
and the improvements made by students must
implement procedural knowledge in several
areas (hardware, communications, programming,
robotics, networking, social skills and group
work).
5. Autonomous and Cooperative: The robot
must have sufficient capacity to act as
an autonomous robot [20], yet having the
capacity to act on the orders of others or
in cooperation with other robots (computers) using communication networks and the
Internet.
To create a low-cost mobile robot based on
Android, it is necessary that the phone commands the
engines on some mechanical platform. Therefore, it
was necessary to define components at different levels
(see Fig. 1):
1. A platform for the robot, which must be open,
easily reachable, and easy to construct. After analyzing several options and products, a wheeled
toy platform, with a cost of 10 euros, was
selected that included two DC motors and
gears which meets the design requirements indicated above (see Fig. 2). Any similar commercial platform, or even a handmade one, could
also be used.
2. Low level control of the robot. The electronics
to control the motors to perform basic movements (forward, reverse, turn left and right) is
usually solved in the Arduino using an H-bridge
circuit implemented on a single integrated circuit L239D which meets the design requirements. So, the low-level control is implemented
in Arduino.
3. Communication between Android and Arduino,
to send commands from Android to Arduino.

J Intell Robot Syst (2016) 81:6376

After analyzing several communication possibilities for the smartphone to Arduino (see Table 2)
and based on the design criteria mentioned above,
the Android audio output was selected, using a
simplex and asynchronous communication at a
low bit rate with Frequency-Shift Keying (FSK)
modulation, instead of using Dual-tone multifrequency coding as with [16]. USB OTG is
a great alternative for communication between
Arduino and Android, and it will be used in the
future, but at the time of starting the project only
a few mobile phones meet the OTG protocol.
These phones are more expensive and therefore
do not meet the design criteria. In the same
way, using a Bluetooth shield on Arduino (as
in [22]) increases costs. Thus, by using FSK,
the cheapest Arduino UNO could be selected.
Total cost of Arduino plus electronic components
(including DC motors control and FSK interface)
is around 25 euros.
4. Communication between the robot and other
devices (PCs and other robots). In order
for the mobile robot to be able to communicate and cooperate with other agents,
TCP/IP over WiFi was selected, so that the
Android must be a server which answer commands and queries from client machines
(computers or robots).
Thus, according to the design criteria and the
choices indicated above, Andruino-A1 is a modular
differential robot with two lines of wheels placed
at each side of the robot, which are driven by two
independent DC motors that make it possible the
robot to move forwards or backwards, and rotate on
the spot.

4 Building the Andruino-A1 Mobile Robot and


Covered Learning Objectives
4.1 Hardware
To ensure that the Andruino-A1 board can be easily plugged into Arduino board, it was designed
as an Arduino Shield using a universal stripboard (one soldering side) so that the construction of the prototype can be made by students with no previous experience in electronic
prototyping.

J Intell Robot Syst (2016) 81:6376

69

Fig. 2 Andruino-A1
robotic base

As shown in Figs. 3 and 4, there are two main


areas in the circuit: one area for the H-bridge integrated circuit to control the DC motors, and another
area dedicated to the audio FSK interface, which
consists of just a voltage divider and two filter
capacitors.
In the construction of the board, several recommendations must be taken into account:

In order for FSK demodulation in the Arduino


microcontroller to work properly, the potentiometer needs to be set at half the supply voltage by
using a multimeter, to serve as a reference for
the analog comparator of the Arduino microcontroller.
In the Arduino board, step on pins are not
matched, so special care must be taken when
soldering the male pin on the stripboard
so that it fits properly into the Arduino
board.

The pinout of 4-pole mini jack is different for each


mobile phone manufacturer, so it is recommended
to consult the technical information of the phone
to verify the location of the pins GND and audio
output connector.

For the circuit design, the Fritzing tool [23]


(www.fritzing.org) was used by the students, which
allows for circuit design to be made starting from the
breadboard design and then extending to the schematics and PCB manufacturing.
The circuit implementation by students covers the
following learning objectives:

Basic electronics skills, such as soldering, multimeter uses, electronics parts identification and
use, color code of resistors and pinout IC identification among other.
Electronic prototype construction, mainly
Arduino shields.

Table 2 Alternative ways of connecting Arduino and Android


Technology

Software

Extra Hardware

Notes

Amarino

Amarino Libraries and codes

Arduino Bluetooth shield


as BlueSMiRF Gold.

Android and Arduino communicates


wirelessly using Bluetooth.

Arduino WiFi

Arduino WiFi Library

Arduino WiFi Shield

Android and Arduino communicates


wirelessly using WiFi.

Google ADK

Google ADK

Arduino USB Host


Shield Arduino ADK

Arduino ADK (or Arduino UNO with USB


Host Shield) acts as the host, and the
smartphone acts as a peripheral device,
in the USB bus that connects both devices.

OTG USB

Usb-Serial-for-Android Library

OTG cable

In these devices the phone can act as host


which is connected to the Arduino simply
via an OTG cable

SoftModem

SoftModem Libraries

Arms22-Softmodem

Android and Arduino communicates using


modulated audio signal.

70

J Intell Robot Syst (2016) 81:6376

Fig. 3 Andruino-A1 shield

Knowledge of DC motor control using H-bridge.


Knowledge of the Arduino open hardware architecture with its many hardware scalability options
through shields.
Basic skills in computer-aided electronic design
and the use of CAD / CAE.

Fig. 5 Andruino-A1 mobile robot

Figure 5 shows the assembled Andruino-A1 robot.


4.2 Arduino Software
The Arduino basic program, written in Processing
and using Arduino IDE (version 0023), performs two
tasks:

Demodulating the audio signal (FSK command) generated by the Android device, using
the SoftModem0044 library for Arduino-0023

(http://code.google.com/p/arms22/) for data transmission at a rate of 630 bps. This library


uses the analog comparator (on-chip analog
comparator) Arduino microcontroller Atmega
3285.
Generating PWM signals to control DC motors
through the H-bridge, according to demodulated
FSK command.

The developed application covers the following


learning objectives:

Knowledge of Pulse Width Modulation (PWM),


to control the speed and direction of rotation of
DC motors, both implemented by interrupts or in
the main loop.
Knowledge of the Frequency-Shift Keying (FSK)
modulation and demodulation process, and how it
can be implemented in a microcontroller.
Programming with Processing, a language like
C, for performing low-level tasks. Using the
programming and debugging environment of
Arduino. Loading and running programs from the
PC to the Arduino.
Creating a communication protocol defined by the
student, for communication between Android and
Arduino using FSK.

4.3 Android Software


The Android program performs several tasks:

Fig. 4 Fritzing Andruino-A1 circuit

Reading the smartphones sensors and physical


parameters of wireless networks, in order to get

J Intell Robot Syst (2016) 81:6376

motion, environmental and position data, for use


in a control algorithm, and transmit them via the
network to other nodes.
Implementing a server using sockets to receive
commands (forward, back, stop, left, right)
from any network device, such as a PC
or tablet using a telnet client application,
according to a defined protocol. And then,
transforming network commands received
into FSK modulated signals to command
Arduino.
Implementing a server using sockets to transmit sensor data, such as GPS coordinates,
azimuth or beacon levels of the closest access
points.
Implementing a simple http server using sockets
to transmit images from the smartphone camera
to any network device, such as a PC using a
web browser, so that the robot could operate as a
telepresence robot.

The developed application covers the following


learning objectives:

Knowledge of Object-oriented programming and


Java basic concepts. As a development language, Java is the most commonly-used for programming Android devices, and from a didactic point of view it is the most commonly-used
language in computers as is reflected in the
TIOBE index (www.tiobe.com).
Basic use and configuration of the Eclipse development environment for Android (Eclipse, SDK,
ADT).
Knowledge of the basic structure of a Java application for Android in the Eclipse environment.
Knowledge of the life cycle of an Android application: onCreate, onStop,...
Knowledge of the elements of a graphical
interface, such as buttons, textviews and other
Android Widgets, and the definition of Listener to attend to GUI events.
Knowledge and use of threads in application programming using the Thread class to
schedule tasks in the background that send
messages to the main thread using Handler
class.
Knowledge and use of Broadcast Receiver to
receive information and events from the Android
system.

71

Knowledge and use of android.media components


for generating FSK signals by mixing a sinusoidal
signal and data, according the communication
protocol defined.
Knowledge and use of classes that allow us to
identify the IP of the device and use sockets to
send/receive messages from other computers or
robots.
Knowledge and use of the Android sensor framework, which allows us to monitor the motion,
environmental and position sensors, which are the
robot sensors.
Knowledge and use of the Android location.package that allows us to get data from
the GPS, which will determine robots outdoor
position.
Knowledge and use of WiFis frame as a method
to get the robots indoor position.
Knowledge of the http protocol and headers, to
send images or other MIME types.

5 Andruino-A1 in Classroom
The initial purpose of Andruino-A1 was to facilitate the teaching of introductory robotics in the
superior degrees of Computers and Networks in
a vocational education school, with 20-42 year old
students, as a part of their scholar activities (12
hours in class-room of 126 hours of the discipline, plus a similar period of time as homework)
and being a mandatory task to pass the course.
Fig. 6 shows different Andruino-A1 mobile robots
and software developed by VET students, and some
videos can be watched at the Andruino project
page http://www.andruino.es.
The students built the robot as a group task: during the first stage they actively contributed with ideas
on the electronic and mechanical integration of components on the robot (construction of the mechanical structure of the robot base is performed following a manual). Secondly, they programmed the
Arduino microcontroller using Processing, to implement the basic movement commands of the robot,
following an example given by their teacher. After
that, they programmed their smartphones in Java
using Eclipse to define simple applications networks
protocols, to understand threads and to transmit
data from the sensors of the phone. So finally, the stu-

72

J Intell Robot Syst (2016) 81:6376

Fig. 6 Andruino-A1 mobile robots and software developed by VET students

dent were able to teleoperate the robot manually from


a PC or a tablet using the classroom WiFi network,
or via the Internet using a Virtual Private Network
(VPN). An example of using the robot AndruinoA1 is shown in Fig. 7, in which a PC web browser
displays (almost) real-time images from the robots

camera, which acts as a simple web server to


transmit the image wirelessly. The screenshot also
shows how the robot is teleoperated by a student
using a telnet client, and simultaneously the values
of phones sensors and wireless beacons levels are
received and logged in CSV format. Fig.8 shows the

Fig. 7 Operators view of Andruino-A1 (Camera, Sensors and Command Terminal)

J Intell Robot Syst (2016) 81:6376

73
#!/bin/sh ANDRUINO=192.168.1.11 (sleep 3;\\
echo "Hello Andruino"; sleep 4; \\
echo "forward"; sleep 4;\\
echo "right"; sleep 4;\\
echo "forward"; sleep 4; \\
echo "left" ) \\
| telnet $ANDRUINO >output 2> /dev/null

They also operated the robot in feedback closeloop proportional control, so that the robot automatically pointed towards the North. If its north-facing orientation is distributed, the robot automatically rotates
according to the error, with the azimuth obtained from
the phone sensors.
...
int azimuth = (int) event.values[0];
if (azimuth > 10 || azimuth <180)
{ turn_left(azimuth); } if (azimuth >= 180
|| azimuth <370)
{ turn_right(azimuth); }
...

Fig. 8 Andruino-A1 teleoperated from a tablet.

Andruino-A1 mobile robot being teleoperated from


a tablet. At this point, some simple control theory concepts were introduced to the ICT VET students. So,
they were able to operate the robot automatically using
scripts in a GNU/Linux PC, as in open-loop control
to perform a sequence of tasks, as shown in the code
below:

Fig. 9 Robot path and access point detected.

Mobile robot positioning problems were presented


to the students, both in outdoor and indoor environments. In outdoor environments GPS of the smartphone could be used, taking into consideration the
accuracy requirements for such small robots, and the
need to transform Earth angular coordinates (latitude and longitude) into Cartesian coordinates in the
surface plane.
In the Indoor environment, where GPS signals are
not received, it was shown that beacon signal levels of the close 802.11 access points could be used
as a reference for robot positioning and navigation.
Fig. 9 shows an indoor navigation path followed by
the robot, where several points was labeled. Each point

74

Fig. 10 Opinion of students about Andruino-A1 impact in


learning of different curriculum areas.

is characterized by the levels of wireless signal of the


access points (AP) around it, so therefore it is defined
a relation between the detected access points, their
power, and the position in space.

Fig. 11 Andruino robots ecosystem architecture

J Intell Robot Syst (2016) 81:6376

The creation of the robot Andruino-A1 as classroom project for the VET course was highly appreciated by the students in a discussion at the end of
the course, as students felt that by building the robot
they needed to perform many tasks and face real and
unexpected problems about electronic prototype construction and programming for smartphones and, at
the same time, they were able to apply previouslylearned concepts such as modulation, using TCP/IP
sockets, server implementation and hardware concepts
among others.
Using and programming robots with their own
smartphones was a very surprising and attractive educational task for the young students because these
devices are used by them as an everyday communication tool, but are normally limited in educational

J Intell Robot Syst (2016) 81:6376

centers. Fig. 10 shows the opinion of the students on


the degree of impact of the project (evaluated from
0 to 10) for each of the curriculum areas. Furthermore, 80% of students believed that it allowed them
to achieve an integrated view of the different areas of
the curriculum. Furthermore, this experience encouraged other VET teachers to work with robotics in the
classroom.
Methodologically, the project in the classroom
implemented a project based learning (PBL), according to the paradigm of learning by doing. But what is
more important from a methodological point of view
of experience, it allowed students to work following a
systemic methodology instead of the traditional reductionist paradigm. Thus, changing the focus from each
part to the whole system, making more on the synthesis and not only in analyzing, in order to integrate
knowledge which are usually presented separately
in different disciplines as the traditional reductionist
paradigm implies (hardware versus software, development versus system administration, local versus
remote,...), and avoiding creating isolated islands of
knowledge in the minds of students.

6 Conclusions and Future Developments


In this paper we described the design of a modular
educational Internet connected low-cost open mobile
robot, called Andruino-A1, for less than 35 euros (not
including the cost of the smartphone), with a lot of
sensors and communication resources: light sensor,
GPS, camera, accelerometer, compass, Bluetooth and
Wi-Fi, that can be easily constructed, programmed
and improved by students in the classroom or by
remote e-learning students. Its initial purpose was to
facilitate the teaching of introductory robotics in the
superior degrees of Computers and Networks in a
vocational education school; but clearly Andruino-A1
could be used in engineering university courses, so it
is being used in robotics courses at the University of
Seville.
It is a first step introducing what we call BYOR:
Bring Your Own Robot education policy equivalent
to BYOD: Bring your own devices in computers
world.
Andruino-A1 is the simplest version of Andruino robots. Because of their four levels modular
architecture (robot base, low-medium control-level,

75

smartphone and distributed setup) leveraged versions


are being implemented, including improved robot
base, on-board sensors, Raspberry-Pi, distributed control, ROS connections, cooperative robots and more
remote processing and data capabilities, as it is typical in cloud robotics (see Fig. 11). These advanced
versions of Andruino robots offer a wide range on educational resources that could be used in vocational and
university education as well as in MOOC courses or
complementary to virtual labs.

Compliance with Ethical Standards


Conflict of interests
conflict of interest.

The authors declare that they have no

References
1. Rus, D.: Teaching robotics everywhere. IEEE Robot.
Autom. Mag. 13(1), 1594 (2006)
2. Correll, N., Wing, R., Coleman, D.: A One-Year Introductory Robotics Curriculum for Computer Science Upperclassmen. IEEE Trans. Educ. 56(1) (2013)
3. Menegatti, E., Moro, M.: Educational Robotics from highschool to MasterSciencie. In: Proceedings of SIMPAR,
639-648 (2010)
4. Robocup. http://www.robocup.org/
5. LegoLeage. http://www.firstlegoleague.org/
6. World Robotic Olympiad http://www.wroboto.org/
7. Coursera http://www.coursera.org
8. EdX http://www.edx.org/
9. Udacity http://www.udacity.com/
10. Assaf, D., Larsen, J.C., Reichardt, M.: Extending Mechanical Construction Kits to Incorporate Passive and Compliant
Elements for Educational Robotics. In: Proceedings of
Third International Conference on Robotics in Education,
pp. 3340 (2012)
11. Vavassori, F.B.: Exploring the educational potential of
robotics in schools: A systemati review. Comput. Educ.
58(3), 978988 (2012)
12. Weinberg, J.B., Xudong, Y.: Robotics in education: Lowcost platforms for teaching integrated systems. Robotics
and Automation Magazine, IEEE 10.2, 46 (2013)
13. Mellis, D., Banzi, M., Cuartielles, D., Igoe, T.: Arduino:
An open electronic prototyping platform. In: Proceeding
Computer/Human Interaction (2007)
14. Warren, J.D., Adams, J., Molle, H.: Arduino for Robotics.
Ed. Springer (2011)
15. Araujo, A., Portugal, D., Couceiro, M., Rocha, R.: Integrating Arduino-Based Educational Mobile Robots in ROS. J.
Intell. Robot. Syst. 77(2), 281298 (2015)
16. Jamieson, P.: Arduino for Teaching Embedded Systems. Are Computer Scientists and Engineering Educators

76

17.

18.

19.

20.

21.

22.

J Intell Robot Syst (2016) 81:6376


Missing the Boat? In: Proceedings of FECS, vol. 2011,
pp. 289294 (2011)
In-Kyu, S., Ho Seok, A., Kwang Moo, Y., Jin-Young Choi,
S.: Implementation of home automation system using a
PDA based mobile robot. In: IEEE International Symposium on Industrial Electronics, ISIE 2009, pp. 17611766
(2009)
Stephan Goebel, S., Jubeh, R., Raesc, S., Zundorf, A.:
Using the Android Platform to control Robots. In: Proceedings of 2nd International Conference on Robotics in
Education (2011)
Park, I., Kim, J.: Philosophy and Strategy of Minimalismbased User Created Robots (UCRs) for Educational
Robotics- Education, Technology and Business Viewpoint.
International Journal of Robots. Education and Art 1(1),
2638 (2011)
Cuesta, F., Ollero, A.: Intelligent Mobile Robot Navigation.
Springer Tracts in Advanced Robotics, Vol 16. Springer
(2005)
Aroca, R.V., Burlamaqui, A.F., Goncalves, L.M.: Method
for reading sensors and controlling actuators using audio
interfaces of mobile devices. Sensors 12(2), 15721593
(2012)
Kaufmann, B., Buechley, L.: Amarino: a toolkit for the
rapid prototyping of mobile ubiquitous computing. In: Proceedings of the 12th international conference on Human
computer interaction with mobile devices and services.
ACM, pp. 291298 (2010)

23. Knorig, A., Wettach, R., Cohen, J.: Fritzing: a toolfor advancing electronic prototyping for designers. Proc.
TEI09, 351358 (2009)

Francisco M. Lopez-Rodrguez received in 1997 the M.S.


degree from the University of Seville, Spain, in telecommunication engineering. After working as an engineer and network
administrator, since 2004 he has been professor at vocational
training in computer science branch. He is developing his doctoral thesis in mobile robots under the direction of Dr. Federico
Cuesta.

Federico Cuesta is an Associate Professor at the Department


of Automatic Control and Systems Engineering, University of
Seville, Spain. He received a M.Sc. degree from the University
of Seville in 1994 and a Ph.D. degree in Computer Science from
the same university in 2000. He received the Excellence Doctorate Award from the University of Seville, and was nominated
for the First EURON Georges Giralt PhD Award devoted to the
best PhD thesis in Robotics in Europe. His research interests
include Intelligent Control and Robotics, Nonlinear Control and
Stability Analysis, and software for Systems Automation. He
has published more than 70 papers in international journals and
conference proceedings and a book (Intelligent Mobile Robot
Navigation, Springer-Verlag).

You might also like