Graphical Programming Environments For Educational Robots - Open Roberta - Yet Another One?
Graphical Programming Environments For Educational Robots - Open Roberta - Yet Another One?
382
scientific and/or statistical information seems to be less ating systems? Who can do the installation for one or
important for practical users like teachers, parents or more classrooms? What do we have to pay? How long
other instructors in the educational domain. will this system be supported? How do we select the
For most of the children and some teachers in the right target robot hardware (e.g. costs, stability)? How
classrooms robot programming is the very first contact do we interact with the robots, taking administration
with computer languages and real programming. As restrictions at our school into account?
learning a textual programming language can be really In summary one can say that it is important to lower
stressful graphical pendants are frequently chosen, espe- the installation complexity in general and to provide
cially in the context of educational robotics.Graphical generic open tools that can be used across devices and
programming languages provide advantages for begin- allow an interaction with different robot platforms. Cur-
ners compared to text based code interpretations. One rently this demand can’t be fully satisfied by available
can summarize positive attributes such as a better tools, frameworks and development kits as we highlight
user experience [4], an easier entrance to programming in the next subsection.
paradigms [9, 17] and they are helpful to prevent typi-
cal syntactical errors due to the fact that the syntax of 3.1 Commonly used graphical robot pro-
the statements is already implemented into the visual gramming environments
shapes of the statements [10, 21].
O’Hara and Kay [15] (2003) have not evaluated
Based on our experience we’ve selected some of the
graphical programming environments but educational
most frequently used educational robot ecosystems for
robotics. They highlight the importance of easily avail-
an elaboration; taking into account the previously men-
able tools as a very important element for realizing
tioned criteria. Particularly we are taking a closer look
undergraduate classroom projects. And still, ten years
at the systems:
later, the setup, hardware communication and instal-
Enchanting [1], EV31 [22], GRAPE [6], miniBloq [2],
lation roundtrip is not classroom ready as frequently
Modkit [14], ROBO pro [8], NXT-G1 [23], RobotC2
criticized by Roberta network participants. Some of
[20], RoboMind [18], Ardublock [3].
these limitations are being further addressed in the next
Table 2 depicts different features of the systems under
section, followed by a brief systems in use overview.
evaluation. All of them provide integrated development
environments (IDEs) for multiple computer platforms
3 Merits and common limitations of and operation systems and also present graphical pro-
available systems gramming alternatives in addition to a pure code based
representation to users. Certain robot hardware can be
Teachers and instructors are oftentimes left alone connected and user generated programs can be down-
with technical problems in the classrooms. They loaded from the IDE to the robot device. Some of the
are quite overwhelmed by technical preparation tasks IDEs provide a web interface like Modkit and RoboMind
like system installations for manifold platforms, net- but extra system specific software needs to be installed
work/device setups, firewall restrictions and/or huge for a robot communication. All, except two products
data downloads before they even can start teaching. (Enchanting and Minibloq) are fee-based, users need
Technical resources are limited or oftentimes completely to pay for at least the educational version. In general
missing at schools. Moreover there is a mixture of each of the IDEs is designed for a certain robot system
old/new computer systems, operation systems and avail- or hardware family. ROBOTC, Modkit, and Minibloq
able tools and devices. Many schools have started to support at least two robot platforms. EV3 supports its
focus on using tablet devices to reduce the administra- preceding robot system NXT partially at the moment.
tive overhead. But this technical changeover does not The ideal system candidate needs to include the follow-
play well with the current status of available educational ing features: Visual graphic programming support, fully
robotic environments. web based with possibilities to run the infrastructure re-
Several different environments are being offered in motely or on local school servers, connections to robots
the context today. In most cases they belong to or should be easy (e.g. WLAN, Bluetooth) and it should
are designed for a specific robotic system. To choose not be restricted to a certain vendor, the technical
the right one out of them for a specific school or learn- complexity like compilation and program preparation
ing task is not easy. A lot of questions have to be should run in the background, price sensitive (or free) in
answered before a decision for a system can be made. 1 LEGO
R MINDSTORMS
R Software
Like for example: What computer systems do we use 2 forLEGOR MINDSTORMSR and MINDSTORMS with
and maintain? Is the software available for our oper- TETRIXTM
383
Platforms limitations. In order to solve this recurring issues we
Mac OS X
have started an open source network initiative with the
Windows
IDE Costs Robot intention to make the programming of robots easier
Linux
and more fun for all participants. A major goal of the
web
Open Roberta project is to work on a software platform
dissemination for a scalable, education-friendly, cloud-
NXT-G × - × - (yes)1 12 based robot development kit.
EV3 × - × - (yes)1 2
Enchanting × ×3 × - no4 1 4.1 From desktop to tablet towards an
RobotC × - - - yes 2 easy robot program deployment
ROBO pro × - - - yes 1
Modkit × - × (×)5 yes 2 We have a deep interest in software portability.
GRAPE × - - - yes 1 Portability stands for reusability in schools e.g. robots
miniBloq × ×6 - - no4 2 have been acquired in one year and computers for the
RoboMind × × × (×)5 yes 1 classroom in another year. Can the robots still be
programmed with the newly purchased tablet pc’s?
Ardublock × × × - no4 1
And what about the other way round? Cross-platform
Table 2. IDE comparison of portability, costs IDE’s are well suited in this case, but none of the given
and number of supported robots programming environments are really cross-platformed.
Modkit and RoboMind have a web interface but the real
1 only
work (compiling the program) still has to be done on
the educational version is fee based
2 third-party the computer and therefore special drivers and software
sensors and motors are supported
3 experimental version is necessary. “Cloud programming” or programming via
4 open source a web interface on a server would make administration
5 needs further platform depending software for the
redundant: no installation effort, updates are installed
robot ↔ application communication
6 preliminary version automatically, available also for tablets.
384
the use of the diverse tablets. Thus a client server design development would hide the comprehensive possibili-
is appropriate which is based on: The design of a server ties of computer science. Furthermore, if problems (and
back end, that relies on Ajax and REST. We favor Java solutions) become bigger and bigger, graphical program-
and its many robust well known frameworks for this job. ming evolves to a tough job very often. Thus we plan
The use of a Javascript enabled browser and adopt some to offer more perspectives of programming especially a
well engineered frameworks for the fronted architecture. round trip between graphical and textual representa-
Of course we cannot avoid a basic robot setup, because tion for the user. The programming environment must
we need a communication facility between server and support different code generators, too, Java being the
robot, but – compared to work station setups – this first. The generated code has to be human readable,
should be easy and straightforward. thus the many levels of abstraction in system develop-
After having decided to use a browser-based client, ment can be experienced by the pupils. Last, but not
the communication between robot and client is the least, execution of program on a robot as well as on a
major problem, as the client is executed in a ”sandbox”. simulation engine should be possible.
Any local solution, be it Bluetooth, NFC, direct USB It is almost impossible to foresee the way educational
connection is not feasible without heavy configuration software will be used in the future (this is true for other
and administrator privileges.The only practical solution kinds of software as well). It is very likely, that people
to this problem is, that both the browser client (using benefit from the evolution of the software into many
Ajax calls) and the robot (acting as a HTTP client) are very distinct directions. We don’t expect to have the
connected to the same server using Wifi. In most cases resources to achieve that on our own. Therefore our
this will be based on a Wifi network that is connected programming environment has to be open source. Fur-
to the internet. Then any public server hosting the thermore it should not confuse developers enhancing
backend software can arrange the connection between it. We want to achieve that by applying well-known
robot and browser client. standards (rules as design by contract, tools as sonar)
A simple and sufficiently safe solution would be a and well-known frameworks (as jetty, jersey, jaxb2, hi-
token, that can be used to pair the robot and a browser bernate, antlr4). The code base should be as small as
client. The token could be generated on the robot and possible. The NIH (not invented here) syndrome must
retyped by the user into the browser window. This be avoided. Using existing frameworks is preferred to
establishes the connection. Such a connection exposes re-inventing solutions. We hope to have tackled most
user names, passwords, programs and information about of our goals in the first version of our programming
teachers and pupils to the public. In the straight past environment.
this would have been advertised as a kind of cloud
server and cloud storage. But many schools, teachers 5 Conclusion and outlook
and students have concerns w.r.t. to privacy. They
should not be forced to expose their data when using The presented Open Roberta project will have a huge
the programming environment. Therefore it should impact for the existing Roberta network. The inten-
be possible to use any local Wifi network to which a tion is to solve many of the frequently occurring issues
computer and a robot can connect to. A local server reported by our certified educational robotic teachers
must be deployable on any -even small- notebook or (Roberta teacher) in the actual classrooms. We’ve ex-
PC in this network. A minimal solution consisting out emplified merits and common limitations of available
of a smartphone establishing a hot spot, a notebook on visual programming development environments with
which the server is deployed and (the same or more) a special focus on technical obstacles. This overview
notebooks or tablets executing the browser client should and analysis is the baseline for the development of the
be usable without any restriction. open source visual online programming environments
Actually we expect that a Java >= 7 installation for educational robots as presented in this work. The
on a computer is the only prerequisite for deploying further development of Open Roberta is going to fo-
the back end part of our programming environment. cus on three main traces. A further extension of the
The client assumes no installation - beside a Javascript visual programming language including adaptation of
enabled browser - at all. To attract rookies it makes additional robot sets. A collaborative programming
sense to offer a pure graphical programming language. environment for complete school classes and/or individ-
We have chosen to use blockly for that purpose, as uals. The extension of available tutorials and hands-on
many other projects did. But it would be a bad idea to practical guides for both teachers and kids with an in-
limit ourselves to that kind of program representation. tegration of blended learning concepts, tools and online
Offering only one perspective to understand software infrastructure.
385
Acknowledgements [15] K. J. O’Hara and J. S. Kay. Investigating open source
software and educational robotics. Journal of Comput-
ing Sciences in Colleges, 18:8–16, 2003.
Besides the members of the Open Roberta commu- [16] S. Papert. Mindstorms: Children, computers, and
nity we would like to thank Google for their generous powerful ideas. Basic Books, New York, NY, January
project support and advice. 1981.
[17] K. Powers, S. Cooper, K. J. Goldman, M. Carlisle,
M. Mcnally, and P. Viera. Tools for Teaching Intro-
References ductory Programming : What Works ? ACM SIGCSE
Bulletin, 38:560–561, 2006.
[1] Enchanting. Available online: http://enchanting. [18] Research Kitchen. RoboMind, 2014. Available online:
robotclub.ab.ca/tiki-index.php, accessed 08-22-2014. http://www.robomind.net/en/index.html, accessed 08-
[2] Minibloq, 2014. Available online: http://blog.minibloq. 26-2014.
org/, accessed 08-25-2014. [19] M. Resnick. Turtles, termites, and traffic jams - explo-
[3] Ardublock. Ardublock a Graphical Programming Lan- rations in massively parallel microworlds. MIT Press,
guage for Arduino, 2014. Available online: http: 1998.
//blog.ardublock.com/, accessed 08-15-2014. [20] Robomatter, Inc. ROBOTC for LEGO MIND-
[4] T. Booth and S. Stumpf. End-User Experiences of STORMS, 2014. Available online: http://www.robotc.
Visual and Textual Programming Environments for net/download/lego/, accessed 08-25-2014.
Arduino. In Y. Dittrich, M. Burnett, A. Mø rch, and [21] E. Rosenbaum, E. Eastmond, and D. Mellis. Empower-
D. Redmiles, editors, End-User Development, pages ing programmability for tangibles. In TEI ’10: Proceed-
25–39. Springer Berlin Heidelberg, 2013. ings of the fifth international conference on Tangible,
[5] A. Bredenfeld and T. Leimbach. The Roberta Initiative. embedded, and embodied interaction, pages 357–360,
Proceedings of the 2nd International Conference on New York, New York, USA, 2010. ACM Press.
SIMULATION, MODELING and PROGRAMMING [22] The LEGO Group. LEGO R MINDSTORMS R
for AUTONOMOUS ROBOTS (SIMPAR 2010), pages Education EV3-Software, 2014. Available online:
1–2, Darmstadt, 2010. http://education.lego.com/de-de/lego-education-
[6] S. Enderle. The qfix Robot Kits. In D. Gottscheber, product-database/mindstorms-ev3/2000045-lego-
Achim and Enderle, Stefan and Obdrzalek, editor, Re- mindstorms-education-ev3-software-single-user,
search and Education in Robotics — EUROBOT 2008, accessed 08-25-2014.
pages 84–95. Springer Berlin Heidelberg, 2009. [23] The LEGO Group. LEGO R MINDSTORMS R
Education NXT Software 2.1.6 (inkl. Mess-
[7] W. Feurzeig. Educational Technology at BBN. Annals
werterfassung), 2014. Available online:
of the History of Computing, IEEE, 28:18–31, 2006.
http://education.lego.com/de-de/lego-education-
[8] Fischertechnik GmbH. ROBO pro, 2014. Available
product-database/mindstorms/2000080-lego-
online: http://www.fischertechnik.de/, accessed 08-15-
mindstorms-education-nxt-software-v-2-0, accessed
2014.
08-25-2014.
[9] Z. Istenes and A. Pásztor. Using Innovative Devices in
the Education of IT from Primary to University Level.
In Sixteenth International Electrotechnical and Com-
puter Science Conference, ERK, volume 24, page 26,
2007.
[10] C. Kelleher and R. Pausch. Lowering the Barriers to
Programming : A Taxonomy of Programming Environ-
ments and Languages for Novice Programmers. ACM
Computing Surveys (CSUR), 37(2):83–137, 2005.
[11] T. Leimbach, B. Jost, U. Petersen, J. Börding, and
S. Härtig. Roberta-Grundlagenband EV3. Fraunhofer
Verlag, Stuttgart, Germany, 2014.
[12] T. Leimbach and U. Petersen. Roberta-Goes-EU: Ziel-
gruppensensible Robotikkurse als Erfolgsmodell in Eu-
ropa, pages 183–194. Gender und Diversity in den
Ingenieurswissenschaften und der Informatik. Univer-
sitätsVerlagWebler, Bielefeld, 2008.
[13] L. Major, T. Kyriacou, and O. Brereton. Systematic
literature review: teaching novices programming using
robots. IET Software, 6(6):502–513, 2012.
[14] Modkit LLC. Modkit for VEX, 2014. Available online:
http://www.modkit.com/vex, accessed 08-25-2014.
386