Professional Documents
Culture Documents
DOI 10.1007/s10846-015-0227-x
Received: 12 July 2014 / Accepted: 26 March 2015 / Published online: 3 May 2015
Springer Science+Business Media Dordrecht 2015
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.
Secondary
Baccalaureate
VET University
Primary
Primary
Lego Mindstorm
NTX/EV3 [USA]
http://mindstorms.lego.com
Lego WeDo
Robotics [USA]
http://www.legoeducation.us/
Primary Secondary No
Fischertechnik [Germany]
http://www.fischertechnik.de
Cost (euros)
GNU/Linux on PC
RoboPlus (proprietary)
350
8500
900
75
140
Software Features
University
No
Hardware features
No
No
No
Name / URL
Secondary
Baccalaureate
VET University
Baccalaureate
VET University
Secondary
Secondary
Baccalaureate
VET University
Primary Secondary
Primary Secondary
Baccalaureate
VET University
E-puck [Switzerland]
http://www.e-puck.org/
Moway [Spain]
http://moway-robot.com
(continued)
Table 1
Yes
No
Yes
Yes
Software
Hardware
(partially)
No
Processing
MowayWord, C
C,ASEBA
PBASIC
200
180
850
150
250
400
66
J Intell Robot Syst (2016) 81:6376
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:
67
68
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.
69
Fig. 2 Andruino-A1
robotic base
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.
Software
Extra Hardware
Notes
Amarino
Arduino WiFi
Google ADK
Google ADK
OTG USB
Usb-Serial-for-Android Library
OTG cable
SoftModem
SoftModem Libraries
Arms22-Softmodem
70
Demodulating the audio signal (FSK command) generated by the Android device, using
the SoftModem0044 library for Arduino-0023
71
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
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); }
...
74
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
75
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.
23. Knorig, A., Wettach, R., Cohen, J.: Fritzing: a toolfor advancing electronic prototyping for designers. Proc.
TEI09, 351358 (2009)