andruino-a1: low-cost educational mobile robot based on android...
TRANSCRIPT
J Intell Robot Syst (2016) 81:63–76DOI 10.1007/s10846-015-0227-x
Andruino-A1: Low-Cost Educational Mobile Robot Basedon Android and Arduino
Francisco M. Lopez-Rodrıguez · 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 openeducational low-cost (35 euros) modular and extend-able mobile robot based on Android and Arduino, withLocal Area Network (LAN) and Internet connectioncapabilities, to be used as an educational tool in labsand classrooms of information and communicationstechnology (ICT) vocational training, or in engineer-ing courses, as well as in e-learning or massive openonline courses (MOOC) as an alternative or comple-mentary to virtual labs. It is a first step introducingwhat we call ”BYOR: Bring Your Own Robot” edu-cation policy equivalent to ”BYOD: Bring your owndevices” in computers’ world.
Keywords Educational robot · Robotics ·Smartphone-based robots · BYOR · Android ·Arduino · Distance learning.
F. M. Lopez-Rodrıguez ()Departamento Informatica, IES Triana, Junta de Andalucıa,Calle San Jacinto 79, E-41010 Seville, Spaine-mail: [email protected]
F. CuestaEscuela Tecnica Superior de Ingenierıa,University of Seville, Camino de los Descubrimientos,E-41092 Seville, Spaine-mail: [email protected]
1 Introduction
Robots are becoming a popular educational tool[1–3], in areas of science and technology for pri-mary and secondary school and in several areasof engineering in universities, as a method ofactive learning that permits several subjects, suchas maths, computer science, mechanics, technol-ogy, electronics, programming, artificial intelligence,and computer vision among others, to be com-bined as a single subject with a distinct goal.Furthermore, robotics increases collaboration andworking group skills, and helps students constructtheir own knowledge based on the practical proce-dures, according to constructivist learning paradigms.This increase in educational robotics has been rein-forced by the emergence of robotics competitions[4–6].
Information and communications technology (ICT)vocational education for adults (VET), which isattended by adult students who finished high-schoolor intermediate vocational education, as an alterna-tive to University, or by people who are unemployedin order to acquire new skills as a way back to thelabor market, may be classified as technical teach-ing founded on procedural knowledge, mainly by theknowledge exercised in the performance of some taskin order to acquire the capabilities defined in thedegree. According to this orientation, the construc-tion and programming of robots would be a taskthat procedurally integrated several ICT skill areas
64 J Intell Robot Syst (2016) 81:63–76
required of the VET curriculum, such as creating hard-ware, programming computers, or the configurationand administration of networks and operative systems.Although this paper is focused initially to VET stu-dents, the results have been applied and extended toengineering courses and university labs, and would beeasily applied both in classroom based courses anddistance-learning courses.
This paper describes the process of analysis, designand implementation of Andruino-A1, a low-costsmartphone based mobile robot, Internet connected,for educational purposes, as well as its applicationto cover different learning objectives and to reinforcestudents’ skills.
The paper is organized as follows: Section 2describes the concept of what we call ”BYOR: BringYour Own Robot education policy” and the contri-bution of Andruino-A1 to meet that goal. Section 3presents the design criteria and choices in order toget an open low-cost robot connected to networks toachieve the BYOR policy. Section 4 illustrates the pro-cess of building an Andruino-A1 robot, including bothhardware and software issues. Section 5 is devotedto discuss results in the classroom. Finally, Section 6presents conclusions and future works.
2 BYOR: Bring Your Own Robot EducationPolicy and Andruino-A1
Until now, educational robotics tasks could be per-formed using simulation environments, or in labora-tories and classrooms of an academic institution withreal robots, usually acquired at medium or high prices.
On the other hand, nowadays, popular massiveopen online course (MOOC) platforms, as Cours-era [7], EdX [8] or Udacity [9] have changed theway technicians and engineers can update and expandtheir knowledge. So, some prestigious universities areoffering robotics courses changing the way studentslearn about robotics. Usually, these courses offeredvideotaped classes, and provide their students with aremote software platform, as Matlab or Python, but,in general, they are lacking in the implementation oftasks in real robots.
Therefore, there is a need in learning process ofrobotic, both in classroom and online courses, for edu-cational low cost robots, full of sensors and easy toconstruct.
So the primary goal of Andruino-A1 is to enablethat each student can own a real low cost mobile robot,network connected (TCP/IP, 3G, WiFi, Bluetooth)and full of sensors (camera, GPS, accelerometer...) toperform tasks, homework and robotic projects. WithAndruino-A1 we pursuit a ”BYOR: Bring your ownrobot” education policy equivalent to ”BYOD: Bringyour own devices” in computers’ world. Furthermore,as students construct and program their Andruino-A1 robot, they increase their knowledge and skillsin software, hardware, programming, protocols andnetworks.
The increase in the use of educational robots inclassrooms and labs has been made possible thanksto the appearance of low or middle-cost educationalrobotics kits, which are mechanically easy to con-struct. So there exists a wide variety of robotics kits(see [10]-[2] and the references there in for a reviewof educational robotics kits).
In [10] a review of robotics and educationalmechanical construction kits is shown. In the sameway, Table 1 was created to serve as a quick ref-erence for educational robotics kits selection, butinstead of focusing on mechatronics as is the casewith [10], it has a computational point of view,because our courses are oriented to ICT vocationaltraining. In this table, along with some technical fea-tures, estimated cost and the level of education forwhich the kit could be used, we attempted to deter-mine whether it was an open platform, in order toknow if students could learn and study all aspects ofthe system.
Despite the variety of models available in themarket, from systematic studies about educationalrobotics in scientific literature [11] it has been shownthat most authors are using LEGO MindStorm [2].But normally, it is not possible to acquire this roboticsequipment for each group of two or three studentsbecause of the limited budget of VET schools. Onthe other hand, most of them are non-open roboticskits, based on microcontrollers, and with a pro-prietary programing language, so they have limi-tations in order to the development of the skillsrequired in computational and engineering coursessuch as hardware configuration, OS administration,network configuration or high-level programming,among others.
Fortunately, two factors have allowed us to over-come the limitation indicated above:
J Intell Robot Syst (2016) 81:63–76 65
Tabl
e1
Edu
catio
nalR
obot
ics
Kits
from
aco
mpu
tatio
nalp
oint
ofvi
ew
Nam
e/U
RL
Edu
catio
nall
evel
Ope
nH
ardw
are
feat
ures
Soft
war
eFe
atur
esC
ost(
euro
s)
Leg
oM
inds
torm
Seco
ndar
yN
oM
echa
nica
llysi
mpl
eba
sed
onL
ego
Nat
ive
NX
T-G
Soft
war
e(p
ropr
ieta
ry)
400
NT
X/E
V3
[USA
]B
acca
laur
eate
piec
es(p
last
ic),
butc
anus
em
etal
Oth
ers:
Lab
view
,NB
C,R
obot
C,B
rcik
OS
http
://m
inds
torm
s.le
go.c
omV
ET
Uni
vers
itypa
rts
from
Tetr
ix.B
ased
ona
32bi
ts(O
S/C
/C+
+),
Lej
OS
(Jav
a),M
atla
b/Si
mul
ink
AR
MM
CU
with
256
Kb
ofFl
ash
mem
ory
and
64K
Bof
exte
rnal
RA
M,
LC
Ddi
spla
y10
0x64
,aud
io,U
SBan
d
Blu
etoo
thco
nnec
tions
.4in
puts
for
sens
ors,
3ou
tput
sfo
rm
otor
s.
Leg
oW
eDo
Prim
ary
No
Sim
ple
mec
hani
calc
onfi
gura
tion,
Leg
oW
eDo
Soft
war
e(p
ropr
ieta
ry)
140
Rob
otic
s[U
SA]
base
don
Leg
opi
eces
(pla
stic
).O
ther
:Scr
atch
http
://w
ww
.lego
educ
atio
n.us
/
Rob
otic
sO
llo[S
outh
Kor
ea]
Prim
ary
No
Sim
ple
mec
hani
calc
onst
ruct
ion,
Rob
oPlu
s(p
ropr
ieta
ry)
75
http
://w
ww
.rob
otis
.com
/xe/
ollo
enba
sed
onin
terl
ocki
ngpl
astic
part
s.
The
cont
rolle
rm
odul
eis
CM
-100
A
LN
-101
exte
rnal
mod
ule
isne
eded
for
prog
ram
min
gR
oboP
lus.
Rob
otis
Bio
loid
[Sou
thK
orea
]Se
cond
ary
No
Hum
anoi
dro
botb
ased
onne
twor
ked
Rob
oPlu
s(R
obot
isSo
ftw
are,
prop
riet
ary)
900
http
://w
ww
.rob
otis
.com
/xe/
BIO
LO
IDm
ain
Bac
cala
urea
tese
rvom
otor
sD
ynam
ixel
.Con
trol
ler
Oth
er:R
+m
(for
smar
tpho
nes)
,
VE
TU
nive
rsity
CM
-53
0is
base
don
Cor
tex
AR
MC
PU.
Dyn
amix
elSD
Kfo
rC
deve
lope
rs.
Rob
otic
sD
AR
wIn
-OP
[Sou
thK
orea
]U
nive
rsity
Soft
war
e.H
uman
oid
robo
tbas
edin
netw
orke
dG
NU
/Lin
uxon
PC85
00
http
://w
ww
.rob
otis
.com
/xe/
darw
inen
serv
omot
ors
Dyn
amix
el.H
ardw
are
is
aPC
(min
iIT
X,I
ntel
Ato
mZ
530)
linke
d
toa
Con
trol
ler
CM
-370
(mic
ront
rolle
r,
acce
lero
met
er,g
yros
cope
and
I/O
s)to
cont
rols
ervo
mot
ors
Dyn
amix
el.
Fisc
hert
echn
ik[G
erm
any]
Prim
ary
Seco
ndar
yN
oSi
mpl
em
echa
nica
lcon
stru
ctio
n,ba
sed
onR
obo
pro
soft
war
e35
0
http
://w
ww
.fis
cher
tech
nik.
dein
terl
ocki
ngpl
astic
part
s.R
obo
TX
Con
trol
ler
(pro
prie
tary
)
isba
sed
on32
bitA
RM
9C
PU,8
MB
RA
M,
Oth
ers:
C,S
crat
ch(n
ot-o
ffic
ial)
2M
Bfl
ash,
with
12in
puts
and
4ou
tput
s.
66 J Intell Robot Syst (2016) 81:63–76
Tabl
e1
(con
tinue
d)
Vex
robo
tics
[USA
]Se
cond
ary
No
Sim
ple
mec
hani
calc
onst
ruct
ion,
base
don
easy
CV
4fo
rC
orte
x40
0
http
://w
ww
.vex
robo
tics.
com
/B
acca
laur
eate
inte
rloc
king
met
alpa
rts.
Con
trol
ler
Vex
RO
BO
TC
for
Cor
tex
and
PIC
VE
TU
nive
rsity
Cor
tex
isba
sed
onA
RM
Cor
tex-
M3
CPU
,
RA
M:6
4KB
,Fla
sh:3
84K
B,1
2in
puts
,8
anal
ogin
puts
,8m
otor
outp
uts,
UA
RT
eI2
C.
Mic
roso
ft.N
ET
Gad
gete
er[U
SA]
Bac
cala
urea
teSo
ftw
are
Ele
ctro
nic
Mod
ules
(con
trol
ler,
sens
ors,
etc.
.).N
ET
Mic
roFr
amew
ork
Vis
ual
250
http
://w
ww
.net
mf.
com
/gad
gete
er/
VE
TU
nive
rsity
Har
dwar
eno
tjus
tfor
robo
tics.
Con
trol
ler
FEZ
isba
sed
Stud
io/V
isua
lC#
Exp
ress
(par
tially
)on
AR
M7,
Flas
h4.
5MB
,RA
M16
MB
,I2C
,
UA
RT,
USB
.Mec
hani
calp
arts
are
noti
nclu
ded.
Boe
-Rob
otfr
omPa
ralla
x[U
SA]
Seco
ndar
yY
esM
obile
robo
tbas
edon
BA
SIC
Stam
p2
PBA
SIC
150
http
://w
ww
.par
alla
x.co
mm
icro
cont
rolle
r,w
ithto
uch,
light
and
infr
ared
sens
ors.
E-p
uck
[Sw
itzer
land
]Se
cond
ary
Yes
Dif
fere
ntia
lwhe
eled
mob
ilero
botb
ased
onds
PIC
C,A
SEB
A85
0
http
://w
ww
.e-p
uck.
org/
Bac
cala
urea
te30
with
8KR
AM
+14
4KFl
ash,
2st
epm
otor
s,
VE
TU
nive
rsity
light
sens
or,c
olor
cam
era,
mic
roph
ones
,loa
d
spea
ker
and
infr
ared
prox
imity
.
Mow
ay[S
pain
]Pr
imar
ySe
cond
ary
No
Dif
fere
ntia
lwhe
eled
mob
ilero
botb
ased
onM
oway
Wor
d,C
180
http
://m
oway
-rob
ot.c
omPI
C18
F86J
50w
ithin
frar
edse
nsor
s,lig
htse
nsor
s,
tem
pera
ture
sens
or,m
icro
phon
e,sp
eake
ran
dR
F
mod
ule
for
wir
eles
sco
mm
unic
atio
n
Ard
uino
Rob
ot[I
taly
,Spa
in]
Prim
ary
Seco
ndar
yY
esD
iffe
rent
ialw
heel
edm
obile
robo
tbas
edon
two
Proc
essi
ng20
0
http
://ar
duin
o.cc
/en/
Mai
n/R
obot
Bac
cala
urea
teA
rdui
noL
eona
rdo
boar
ds:m
otor
cont
rolb
oard
and
VE
TU
nive
rsity
cont
rol/s
enso
rbo
ard
(with
com
pass
,LC
D,s
peak
er,
and
anal
ogan
ddi
gita
lI/O
)
J Intell Robot Syst (2016) 81:63–76 67
– The first is the increase of open-hardware andopen-software, mainly based around the Arduinoproject [13]. Arduino is a microcontroller boardfounded on easy-to-use open hardware and soft-ware, which nowadays is used in a lot of schoolsas an introduction to computer programmingcourses, in automation courses and in electronicslabs. Arduino is currently widely used for creat-ing robots [14][15] and for teaching embeddedsystems [16].
– The second is the increase in the use of smart-phones, devices that can be used as roboticparts, as shown in [17]-[18], and most of themhave numerous technical gadgets that couldbe used in robotics projects as low-cost sen-sors and technical features: accelerometer, lightsensor, temperature sensor, magnetic field sen-sor, gyro positioning, GPS, camera, micro-phone, Bluetooth communication, 802.11 com-munications, TCP/IP implemented, feathery bat-teries, etc... Furthermore, from a computationalpoint of view, smartphones are microprocessor-based systems that execute an operating systemand that have more possibilities (CPU, mem-ory, etc...) than microcontroller-based systems,like Arduino.
Among all the Operating Systems used in smart-phones, Android, which is based on the AndroidOpen Source Project (AOSP), has become the most-used, especially amongst the young population, soa lot of students of vocational education have adevice of this kind. So in the classroom the useof Android devices in educational robotics couldbe considered almost ”zero-cost”. In this case, thefact that most students were already owners ofsmartphones with Android operating systems alongwith the large number of sensors available onthem, discouraged the use of other more powerfulplatforms based on low-cost microprocessors suchas Raspberry PI, which was also considered asan alternative.
Besides this advantage, the use of Android smart-phones in robotics in VET involves students learningfrom a computing educational point of view:
– Use of programming languages (Java, Python,..)for mobile devices with professional developertools as Eclipse, which they will most likely beexposed to during their working life.
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 hugecommunications capabilities of smarthphones:GPRS/3G, TCP/IP, WiFi, and Bluetooth.
3 Design Criteria and Components Selection
After preliminary studies [19], the design and con-struction of the mobile robot called Andruino-A1 isguided by the following principles so that even remotestudents can use this robot easily in their learningprocess:
1. Simplicity: It must contain the minimumnumber of hardware components, with a simplemechanical construction, and with the minimumnumber of lines of code. Thus, no sensor will beinstalled as external hardware, and all the dataabout the position, movement and environmentof the robot will be obtained from sensors on thesmartphone.
2. Open: Students can construct it from parts whichare easy-to-find (local shops or popular web-stores), and must be modular and extensible.All information should be published, so stu-dents or others can easily repeat and improve
68 J Intell Robot Syst (2016) 81:63–76
the robot design, using open tools. Further,the robot could be operated using commonnetwork tools, such as web browser, or typ-ical administrator tools, for example telnet orssh clients.
3. Low Cost: The robot must be as cheap aspossible (considering the use of smartphonesowned by students), so that it could have partici-pated in the Affordable Educational Robot Chal-lenge of the African Robotic Network or similarones.
4. Educational: The construction of the robotand the improvements made by students mustimplement procedural knowledge in severalareas (hardware, communications, programming,robotics, networking, social skills and groupwork).
5. Autonomous and Cooperative: The robotmust have sufficient capacity to act asan autonomous robot [20], yet having thecapacity to act on the orders of others orin cooperation with other robots (comput-ers) using communication networks and theInternet.
To create a low-cost mobile robot based onAndroid, it is necessary that the phone commands theengines on some mechanical platform. Therefore, itwas 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 ana-lyzing several options and products, a wheeledtoy platform, with a cost of 10 euros, wasselected that included two DC motors andgears which meets the design requirements indi-cated above (see Fig. 2). Any similar commer-cial platform, or even a handmade one, couldalso be used.
2. Low level control of the robot. The electronicsto control the motors to perform basic move-ments (forward, reverse, turn left and right) isusually solved in the Arduino using an H-bridgecircuit implemented on a single integrated cir-cuit L239D which meets the design require-ments. So, the low-level control is implementedin Arduino.
3. Communication between Android and Arduino,to send commands from Android to Arduino.
After analyzing several communication possibili-ties for the smartphone to Arduino (see Table 2)and based on the design criteria mentioned above,the Android audio output was selected, using asimplex and asynchronous communication at alow bit rate with Frequency-Shift Keying (FSK)modulation, instead of using Dual-tone multi-frequency coding as with [16]. USB OTG isa great alternative for communication betweenArduino and Android, and it will be used in thefuture, but at the time of starting the project onlya few mobile phones meet the OTG protocol.These phones are more expensive and thereforedo not meet the design criteria. In the sameway, using a Bluetooth shield on Arduino (asin [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 otherdevices (PCs and other robots). In orderfor the mobile robot to be able to com-municate and cooperate with other agents,TCP/IP over WiFi was selected, so that theAndroid must be a server which answer com-mands and queries from client machines(computers or robots).
Thus, according to the design criteria and thechoices indicated above, Andruino-A1 is a modulardifferential robot with two lines of wheels placedat each side of the robot, which are driven by twoindependent DC motors that make it possible therobot to move forwards or backwards, and rotate onthe spot.
4 Building the Andruino-A1 Mobile Robot andCovered Learning Objectives
4.1 Hardware
To ensure that the Andruino-A1 board can be eas-ily plugged into Arduino board, it was designedas an ”Arduino Shield” using a universal strip-board (one soldering side) so that the construc-tion of the prototype can be made by stu-dents with no previous experience in electronicprototyping.
J Intell Robot Syst (2016) 81:63–76 69
Fig. 2 Andruino-A1robotic base
As shown in Figs. 3 and 4, there are two mainareas in the circuit: one area for the H-bridge inte-grated circuit to control the DC motors, and anotherarea dedicated to the audio FSK interface, whichconsists of just a voltage divider and two filtercapacitors.
In the construction of the board, several recommen-dations must be taken into account:
– In order for FSK demodulation in the Arduinomicrocontroller to work properly, the potentiome-ter needs to be set at half the supply voltage byusing a multimeter, to serve as a reference forthe analog comparator of the Arduino microcon-troller.
– In the Arduino board, step on pins are notmatched, so special care must be taken whensoldering the male pin on the stripboardso that it fits properly into the Arduinoboard.
– The pinout of 4-pole mini jack is different for eachmobile phone manufacturer, so it is recommendedto consult the technical information of the phoneto verify the location of the pins GND and audiooutput connector.
For the circuit design, the Fritzing tool [23](www.fritzing.org) was used by the students, whichallows for circuit design to be made starting from thebreadboard design and then extending to the schemat-ics and PCB manufacturing.
The circuit implementation by students covers thefollowing learning objectives:
– Basic electronics skills, such as soldering, mul-timeter uses, electronics parts identification anduse, color code of resistors and pinout IC identifi-cation among other.
– Electronic prototype construction, mainlyArduino shields.
Table 2 Alternative ways of connecting Arduino and Android
Technology Software Extra Hardware Notes
Amarino Amarino Libraries and codes Arduino Bluetooth shield Android and Arduino communicates
as BlueSMiRF Gold. 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 Arduino ADK (or Arduino UNO with USB
Shield Arduino ADK 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:63–76
Fig. 3 Andruino-A1 shield
– Knowledge of DC motor control using H-bridge.– Knowledge of the Arduino open hardware archi-
tecture with its many hardware scalability optionsthrough shields.
– Basic skills in computer-aided electronic designand the use of CAD / CAE.
Figure 5 shows the assembled Andruino-A1 robot.
4.2 Arduino Software
The Arduino basic program, written in Processingand using Arduino IDE (version 0023), performs twotasks:
– Demodulating the audio signal (FSK com-mand) generated by the Android device, usingthe SoftModem0044 library for Arduino-0023
Fig. 4 Fritzing Andruino-A1 circuit
Fig. 5 Andruino-A1 mobile robot
(http://code.google.com/p/arms22/) for data trans-mission at a rate of 630 bps. This libraryuses the analog comparator (on-chip analogcomparator) Arduino microcontroller Atmega3285.
– Generating PWM signals to control DC motorsthrough the H-bridge, according to demodulatedFSK command.
The developed application covers the followinglearning objectives:
– Knowledge of Pulse Width Modulation (PWM),to control the speed and direction of rotation ofDC motors, both implemented by interrupts or inthe main loop.
– Knowledge of the Frequency-Shift Keying (FSK)modulation and demodulation process, and how itcan be implemented in a microcontroller.
– Programming with Processing, a language likeC, for performing low-level tasks. Using theprogramming and debugging environment ofArduino. Loading and running programs from thePC to the Arduino.
– Creating a communication protocol defined by thestudent, for communication between Android andArduino using FSK.
4.3 Android Software
The Android program performs several tasks:
– Reading the smartphone’s sensors and physicalparameters of wireless networks, in order to get
J Intell Robot Syst (2016) 81:63–76 71
motion, environmental and position data, for usein a control algorithm, and transmit them via thenetwork to other nodes.
– Implementing a server using sockets to receivecommands (forward, back, stop, left, right)from any network device, such as a PCor tablet using a telnet client application,according to a defined protocol. And then,transforming network commands receivedinto FSK modulated signals to commandArduino.
– Implementing a server using sockets to trans-mit sensor data, such as GPS coordinates,azimuth or beacon levels of the closest accesspoints.
– Implementing a simple http server using socketsto transmit images from the smartphone camerato any network device, such as a PC using aweb browser, so that the robot could operate as atelepresence robot.
The developed application covers the followinglearning objectives:
– Knowledge of Object-oriented programming andJava basic concepts. As a development lan-guage, Java is the most commonly-used for pro-gramming Android devices, and from a didac-tic point of view it is the most commonly-usedlanguage in computers as is reflected in theTIOBE index (www.tiobe.com).
– Basic use and configuration of the Eclipse devel-opment environment for Android (Eclipse, SDK,ADT).
– Knowledge of the basic structure of a Java appli-cation for Android in the Eclipse environment.
– Knowledge of the life cycle of an Android appli-cation: ”onCreate”, ”onStop”,...
– Knowledge of the elements of a graphicalinterface, such as buttons, textviews and other”Android Widgets”, and the definition of ”Lis-tener” to attend to GUI events.
– Knowledge and use of threads in applica-tion programming using the Thread class toschedule tasks in the background that sendmessages to the main thread using Handlerclass.
– Knowledge and use of Broadcast Receiver toreceive information and events from the Androidsystem.
– Knowledge and use of android.media componentsfor generating FSK signals by mixing a sinusoidalsignal and data, according the communicationprotocol defined.
– Knowledge and use of classes that allow us toidentify the IP of the device and use sockets tosend/receive messages from other computers orrobots.
– Knowledge and use of the Android sensor frame-work, which allows us to monitor the motion,environmental and position sensors, which are therobot sensors.
– Knowledge and use of the Android loca-tion.package that allows us to get data fromthe GPS, which will determine robot’s outdoorposition.
– Knowledge and use of WiFi’s frame as a methodto get the robot’s indoor position.
– Knowledge of the http protocol and headers, tosend images or other MIME types.
5 Andruino-A1 in Classroom
The initial purpose of Andruino-A1 was to facil-itate the teaching of introductory robotics in thesuperior degrees of ”Computers and Networks” ina vocational education school, with 20-42 year oldstudents, as a part of their scholar activities (12hours in class-room of 126 hours of the disci-pline, plus a similar period of time as homework)and being a mandatory task to pass the course.Fig. 6 shows different Andruino-A1 mobile robotsand software developed by VET students, and somevideos can be watched at the Andruino projectpage http://www.andruino.es.
The students built the robot as a group task: dur-ing the first stage they actively contributed with ideason the electronic and mechanical integration of com-ponents on the robot (construction of the mechan-ical structure of the robot base is performed fol-lowing a manual). Secondly, they programmed theArduino microcontroller using Processing, to imple-ment the basic movement commands of the robot,following an example given by their teacher. Afterthat, they programmed their smartphones in Javausing Eclipse to define simple applications networksprotocols, to understand threads and to transmitdata from the sensors of the phone. So finally, the stu-
72 J Intell Robot Syst (2016) 81:63–76
Fig. 6 Andruino-A1 mobile robots and software developed by VET students
dent were able to teleoperate the robot manually froma 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 Andruino-A1 is shown in Fig. 7, in which a PC web browserdisplays (almost) real-time images from the robot’s
camera, which acts as a simple web server totransmit the image wirelessly. The screenshot alsoshows how the robot is teleoperated by a studentusing a telnet client, and simultaneously the valuesof phone’s sensors and wireless beacons levels arereceived and logged in CSV format. Fig.8 shows the
Fig. 7 Operator’s view of Andruino-A1 (Camera, Sensors and Command Terminal)
J Intell Robot Syst (2016) 81:63–76 73
Fig. 8 Andruino-A1 teleoperated from a tablet.
Andruino-A1 mobile robot being teleoperated froma tablet. At this point, some simple control theory con-cepts were introduced to the ICT VET students. So,they were able to operate the robot automatically usingscripts in a GNU/Linux PC, as in ”open-loop” controlto perform a sequence of tasks, as shown in the codebelow:
#!/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 close-loop” proportional control, so that the robot automati-cally pointed towards the North. If its north-facing ori-entation is distributed, the robot automatically rotatesaccording to the error, with the azimuth obtained fromthe phone sensors....
int azimuth = (int) event.values[0];
if (azimuth > 10 || azimuth <180)
turn_left(azimuth); if (azimuth >= 180
|| azimuth <370)
turn_right(azimuth);
...
Mobile robot positioning problems were presentedto the students, both in outdoor and indoor environ-ments. In outdoor environments GPS of the smart-phone could be used, taking into consideration theaccuracy requirements for such small robots, and theneed to transform Earth angular coordinates (lati-tude and longitude) into Cartesian coordinates in thesurface plane.
In the Indoor environment, where GPS signals arenot received, it was shown that beacon signal lev-els of the close 802.11 access points could be usedas a reference for robot positioning and navigation.Fig. 9 shows an indoor navigation path followed bythe robot, where several points was labeled. Each point
Fig. 9 Robot path and access point detected.
74 J Intell Robot Syst (2016) 81:63–76
Fig. 10 Opinion of students about Andruino-A1 impact inlearning of different curriculum areas.
is characterized by the levels of wireless signal of theaccess points (AP) around it, so therefore it is defineda relation between the detected access points, theirpower, and the position in space.
The creation of the robot Andruino-A1 as class-room project for the VET course was highly appre-ciated by the students in a discussion at the end ofthe course, as students felt that by building the robotthey needed to perform many tasks and face real andunexpected problems about electronic prototype con-struction and programming for smartphones and, atthe same time, they were able to apply previously-learned concepts such as modulation, using TCP/IPsockets, server implementation and hardware conceptsamong others.
Using and programming robots with their ownsmartphones was a very surprising and attractive edu-cational task for the young students because thesedevices are used by them as an everyday communi-cation tool, but are normally limited in educational
Fig. 11 Andruino robots ecosystem architecture
J Intell Robot Syst (2016) 81:63–76 75
centers. Fig. 10 shows the opinion of the students onthe degree of impact of the project (evaluated from0 to 10) for each of the curriculum areas. Further-more, 80% of students believed that it allowed themto achieve an integrated view of the different areas ofthe curriculum. Furthermore, this experience encour-aged other VET teachers to work with robotics in theclassroom.
Methodologically, the project in the classroomimplemented a project based learning (PBL), accord-ing to the paradigm of learning by doing. But what ismore important from a methodological point of viewof experience, it allowed students to work following asystemic methodology instead of the traditional reduc-tionist paradigm. Thus, changing the focus from eachpart to the whole system, making more on the syn-thesis and not only in analyzing, in order to integrateknowledge which are usually presented separatelyin different disciplines as the traditional reductionistparadigm implies (hardware versus software, devel-opment versus system administration, local versusremote,...), and avoiding creating isolated islands ofknowledge in the minds of students.
6 Conclusions and Future Developments
In this paper we described the design of a modulareducational Internet connected low-cost open mobilerobot, called Andruino-A1, for less than 35 euros (notincluding the cost of the smartphone), with a lot ofsensors and communication resources: light sensor,GPS, camera, accelerometer, compass, Bluetooth andWi-Fi, that can be easily constructed, programmedand improved by students in the classroom or byremote e-learning students. Its initial purpose was tofacilitate the teaching of introductory robotics in thesuperior degrees of ”Computers and Networks” in avocational education school; but clearly Andruino-A1could be used in engineering university courses, so itis being used in robotics courses at the University ofSeville.
It is a first step introducing what we call ”BYOR:Bring Your Own Robot” education policy equivalentto ”BYOD: Bring your own devices” in computers’world.
Andruino-A1 is the simplest version of Andru-ino robots. Because of their four levels modulararchitecture (robot base, low-medium control-level,
smartphone and distributed setup) leveraged versionsare being implemented, including improved robotbase, on-board sensors, Raspberry-Pi, distributed con-trol, ROS connections, cooperative robots and moreremote processing and data capabilities, as it is typ-ical in cloud robotics (see Fig. 11). These advancedversions of Andruino robots offer a wide range on edu-cational resources that could be used in vocational anduniversity education as well as in MOOC courses orcomplementary to virtual labs.
Compliance with Ethical Standards
Conflict of interests The authors declare that they have noconflict of interest.
References
1. Rus, D.: Teaching robotics everywhere. IEEE Robot.Autom. Mag. 13(1), 15–94 (2006)
2. Correll, N., Wing, R., Coleman, D.: A One-Year Introduc-tory Robotics Curriculum for Computer Science Upper-classmen. IEEE Trans. Educ. 56(1) (2013)
3. Menegatti, E., Moro, M.: Educational Robotics from high-school 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.org8. EdX http://www.edx.org/9. Udacity http://www.udacity.com/
10. Assaf, D., Larsen, J.C., Reichardt, M.: Extending Mechani-cal Construction Kits to Incorporate Passive and CompliantElements for Educational Robotics. In: Proceedings ofThird International Conference on Robotics in Education,pp. 33–40 (2012)
11. Vavassori, F.B.: Exploring the educational potential ofrobotics in schools: A systemati review. Comput. Educ.58(3), 978–988 (2012)
12. Weinberg, J.B., Xudong, Y.: Robotics in education: Low-cost platforms for teaching integrated systems. Roboticsand Automation Magazine, IEEE 10.2, 4–6 (2013)
13. Mellis, D., Banzi, M., Cuartielles, D., Igoe, T.: Arduino:An open electronic prototyping platform. In: ProceedingComputer/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.: Integrat-ing Arduino-Based Educational Mobile Robots in ROS. J.Intell. Robot. Syst. 77(2), 281–298 (2015)
16. Jamieson, P.: Arduino for Teaching Embedded Sys-tems. Are Computer Scientists and Engineering Educators
76 J Intell Robot Syst (2016) 81:63–76
Missing the Boat? In: Proceedings of FECS, vol. 2011,pp. 289–294 (2011)
17. In-Kyu, S., Ho Seok, A., Kwang Moo, Y., Jin-Young Choi,S.: Implementation of home automation system using aPDA based mobile robot. In: IEEE International Sympo-sium on Industrial Electronics, ISIE 2009, pp. 1761–1766(2009)
18. Stephan Goebel, S., Jubeh, R., Raesc, S., Zundorf, A.:Using the Android Platform to control Robots. In: Pro-ceedings of 2nd International Conference on Robotics inEducation (2011)
19. Park, I., Kim, J.: Philosophy and Strategy of Minimalism-based User Created Robots (UCRs) for EducationalRobotics- Education, Technology and Business Viewpoint.International Journal of Robots. Education and Art 1(1),26–38 (2011)
20. Cuesta, F., Ollero, A.: Intelligent Mobile Robot Navigation.Springer Tracts in Advanced Robotics, Vol 16. Springer(2005)
21. Aroca, R.V., Burlamaqui, A.F., Goncalves, L.M.: Methodfor reading sensors and controlling actuators using audiointerfaces of mobile devices. Sensors 12(2), 1572–1593(2012)
22. Kaufmann, B., Buechley, L.: Amarino: a toolkit for therapid prototyping of mobile ubiquitous computing. In: Pro-ceedings of the 12th international conference on Humancomputer interaction with mobile devices and services.ACM, pp. 291–298 (2010)
23. Knorig, A., Wettach, R., Cohen, J.: Fritzing: a tool-for advancing electronic prototyping for designers. Proc.TEI’09, 351–358 (2009)
Francisco M. Lopez-Rodrıguez received in 1997 the M.S.degree from the University of Seville, Spain, in telecommuni-cation engineering. After working as an engineer and networkadministrator, since 2004 he has been professor at vocationaltraining in computer science branch. He is developing his doc-toral thesis in mobile robots under the direction of Dr. FedericoCuesta.
Federico Cuesta is an Associate Professor at the Departmentof Automatic Control and Systems Engineering, University ofSeville, Spain. He received a M.Sc. degree from the Universityof Seville in 1994 and a Ph.D. degree in Computer Science fromthe same university in 2000. He received the Excellence Doc-torate Award from the University of Seville, and was nominatedfor the First EURON Georges Giralt PhD Award devoted to thebest PhD thesis in Robotics in Europe. His research interestsinclude Intelligent Control and Robotics, Nonlinear Control andStability Analysis, and software for Systems Automation. Hehas published more than 70 papers in international journals andconference proceedings and a book (Intelligent Mobile RobotNavigation, Springer-Verlag).