ROS-based Online Robot Programming for
Remote Education and Training*
Gustavo A. Casa
˜
n
1
, Enric Cervera
1
, Amine A. Moughlbay
2
, Jaime Alemany
1
and Philippe Martinet
2
Abstract— RPN (R
obotic Programming Network) is an ini-
tiative to bring existing remote robot laboratories to a new
dimension, by adding the flexibility and power of writing ROS
code in an Internet browser and running it in the remote robot
with a single click. The code is executed in the robot server
at full speed, i.e. without any communication delay, and the
output of the process is returned back. Built upon Robot Web
Tools, RPN works out-of-the-box in any ROS-based robot or
simulator. This paper presents the core functionality of RPN
in the context of a web-enabled ROS system, its possibilities
for remote education and training, and some experimentation
with simulators and real robots in which we have integrated
the tool in a Moodle environment, creating some programming
courses and make it open to researchers and students (http:
//robotprogramming.uji.es).
I. INTRODUCTION
Online robots and remote laboratories have been around
for nearly two decades, with considerable success [1]. With
cross-platform middleware [2] apparition and the adoption of
new powerful World Wide Web standards [3], we may well
be approaching a new golden era for web robots.
The availability of such platforms will surely increase the
productivity of the robotics research community, yet they
will also become invaluable as educational resources, for
teachers, students and interested public. Sophisticated robot
platforms could be made accessible worldwide, being the
only cost for the user the price of an Internet connection.
Nowadays, there already exists a myriad of web-enabled
robots, in theory ready to be remotely controlled, their
sensors and outputs visualized. An awesome example of
such a system is the PR2 Remote Lab [4], which enables
a large community of researchers to use a state-of-the-art
yet expensive platform.
However, to our knowledge, most existing systems lack the
fundamental capacity of allowing remote users to easily write
and execute a program as if it were running on the real robot.
Usually, the interface only makes it possible to control the
elements of the robot. In some cases, scripting capabilities
for executing a limited set of commands are provided [5].
*This paper describes research done at the Robotic Intelligence Labo-
ratory, with support in part by Ministerio de Economa y Competitividad
(DPI2011-27846), by Generalitat Valenciana (PROMETEOII/2014/028), by
Universitat Jaume I (P1-1B2014-52), and by IEEE RAS under a CEMRA
grant (Creation of Educational Materials for Robotics and Automation).
1
Enric Cervera, Gustavo A. Casa
˜
n and Jaime Alemany are with
Robotic Intelligence Laboratory, Jaume-I University, 12071 Castell
´
o, Spain
{ecervera, al079333}@uji.es
2
Amine A. Moughlbay and Philippe Martinet are with IRCCyN,
Ecole Centrale de Nantes, France {Amine.Abou-Moughlbay,
Philippe.Martinet}@irccyn.ec-nantes.fr
In this paper, we present a system that allows users to
remotely program a ROS-enabled robot or simulator and ex-
plain how we are testing it through a Learning Management
System, a Moodle system
1
in which we have created several
courses and one challenge. ROS is a flexible framework for
writing robot software. It collects tools, libraries, and con-
ventions to simplify the task of creating complex and robust
robot behavior across a wide variety of robotic platforms.
With the advent of cheap robotic kits, teaching with robots
has become popular, specially to ease the learning process of
introductory programming courses [6], [7], [8], [9]. Robots
provide entry level programming students with a physical
model to visually demostrate concepts and ideas.
The programs consist of fully-functional ROS scripts
2
,
which are executed as ROS nodes in the server. As such,
they can access all ROS topics and services, without remote
communication overhead during execution. The output of the
process is returned back to the user’s browser, and a bag of
recorded topics is readily available to download for further
analysis. The server connects to a Moodle External Tool,
which allows the user to interact with IMS LTI-compliant
learning resources and activities [10].
The rest of this paper is organized as follows: Section II
describes some related work on web-based robot laboratories.
An overview of the RPN tools is presented in Section III.
Thorough experimental work with simulators and robots
is described in Section IV. Finally, conclusions and future
works are outlined in Section V.
II. RELATED WORK
Practically from its conception between the late 1980s and
early 1990s, the Internet was realized to allow remote users
to interact with and monitor robots [1].
After being online for over ten years, the Telerobot of
the University of Western Australia has become one of the
most popular remote laboratories, and similar systems have
proliferated since then [5], [11], [12], [13], [14], [15], [16].
The PR2 Remote Lab [4], [13] represents a milestone in
online robot systems. Previous attempts focused on simple
experiments and online learning, and did not build upon
shared robot middleware frameworks. This laboratory uses
Robot Web Tools [17], a collection of open-source modules
and tools for building web-based robot apps, allowing web
applications to interface with robots running ROS.
Another milestone is the RoboEarth project [18]. A more
ambitious system, it consists of a network and database
1
http://www.moodle.org
2
http://www.ros.org/wiki/rospy
2015 IEEE International Conference on Robotics and Automation (ICRA)
Washington State Convention Center
Seattle, Washington, May 26-30, 2015
978-1-4799-6922-7/15/$31.00 ©2015 IEEE 6101