andruino-a1: low-cost educational mobile robot based on android...

14
J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x Andruino-A1: Low-Cost Educational Mobile Robot Based on Android and Arduino Francisco M. L ´ opez-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 open educational low-cost (35 euros) modular and extend- able 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 engineer- ing courses, as well as in e-learning or massive open online courses (MOOC) as an alternative or comple- mentary to virtual labs. It is a first step introducing what we call ”BYOR: Bring Your Own Robot” edu- cation 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. L´ opez-Rodr´ ıguez () Departamento Inform´ atica, IES Triana, Junta de Andaluc´ ıa, Calle San Jacinto 79, E-41010 Seville, Spain e-mail: [email protected] F. Cuesta Escuela T´ ecnica Superior de Ingenier´ ıa, University of Seville, Camino de los Descubrimientos, E-41092 Seville, Spain e-mail: [email protected] 1 Introduction Robots are becoming a popular educational tool [13], in areas of science and technology for pri- mary 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, 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 and working group skills, and helps students construct their 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 [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 alterna- tive 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 teach- ing 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 construc- tion and programming of robots would be a task that procedurally integrated several ICT skill areas

Upload: others

Post on 23-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

Page 2: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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:

Page 3: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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.

Page 4: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

)

Page 5: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

Page 6: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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.

Page 7: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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.

Page 8: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

Page 9: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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-

Page 10: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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)

Page 11: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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.

Page 12: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

Page 13: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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

Page 14: Andruino-A1: Low-Cost Educational Mobile Robot Based on Android …docshare01.docshare.tips/files/30320/303204232.pdf · 2016-07-03 · J Intell Robot Syst (2016) 81:63–76 DOI 10.1007/s10846-015-0227-x

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).