Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

The Experience of the Robot Programming Network Initiative

The Experience of the Robot Programming Network Initiative Hindawi Journal of Robotics Volume 2018, Article ID 2312984, 15 pages https://doi.org/10.1155/2018/2312984 Research Article Gustavo A. Casañ and Enric Cervera Jaume I University, Castello, ´ Spain Correspondence should be addressed to Gustavo A. Casan; ˜ ncasan@uji.es Received 7 December 2017; Revised 26 March 2018; Accepted 10 May 2018; Published 7 June 2018 Academic Editor: Gordon R. Pennock Copyright © 2018 Gustavo A. Casan˜ and Enric Cervera. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Since its creation in 2014, the Robot Programming Network (RPN) has been an environment to learn and teach robotics to the general public, which has also allowed us to learn about education. In this paper, we aim to not only present the RPN and the active courses in the system but also show the evolution of this initiative in front of the changing e-learning environment and its possible future evolution towards Massive Online Open Courses (MOOCs) and cloud simulation. 1. Introduction widely used for teaching engineering and the sciences [18– 20]. With the advent of cross-platform middleware [21] and Teaching robotics and programming has nearly since the the adoption of new powerful World Wide Web standards beginning employed some type of enquiry-based learning [22], we may well be approaching a new golden era for web- [1, 2], as this form of active learning [3] starts by posing based laboratories [23, 24], as sophisticated intelligent robotic questions, problems, or scenarios that the student has to think platforms could be made accessible worldwide, with the only about or solve (in our case creating a robot or program to cost being an Internet connection for the user. Of course control the robot). In engineering, this approach is consid- remote laboratories are not limited to robotics. Platforms like ered preferable than simply presenting established facts in a VISIR and VISIR+ are ongoing [25] and aim to spread the lecture mode or portraying a smooth path to knowledge. eTh use of the tools developed to the general education public. main pedagogy employed is problem-based learning (PBL) Another interesting initiative is the inclusion of Virtual [4], a student-centered pedagogy in which students learn Reality technologies to the laboratories, making the systems about a subject through the experience of solving an open- cheaper than physic ones and more versatile. One example is ended problem found in trigger material. In the context of presented in [26]. RPN, the learning experience is the creation of a program. Nowadays, there are a myriad of web-enabled intelligent Using robotics for education has a long history [5–7], systems, ready to be remotely controlled, with their sensors as they have been proven to be good tools for learning and outputs visualized. An awesome example is the PR2 mechanics, electronics, and programming [8–13], among Remote Lab [27], which enables a large community of other technological disciplines. But, also from the beginning, researchers to use a state-of-the-art yet expensive platform. most learning centres could not afford the price of a robot. But the work is orienting itself to create standards for online Luckily, robots have been decreasing in price and increasing learning systems. For example, GOLC/IAOE (http://online- in capabilities in the last years (like the popular e-puck robot engineering.org/index.php) as part of the IEEE project [14]) at the same time that robotic simulations have improved P1876-Networked Smart Learning Objects for Online Lab- their usability and price. oratories (http://sites.ieee.org/sagroups-edusc/) is creating One solution to the price problem has been sharing the a standard that defines methods for storing and retriev- hardware components using remote laboratories [15] and ing learning objects for remote laboratories. The stan- online robotic systems [16, 17]. Remote laboratories have been dard will also define methods for linking learning objects 2 Journal of Robotics to design and implement smart learning environments (3) Once enrolled in a course, the student browses for remote online laboratories. The European Union is through the Moodle pages, where links to the robots funding several projects to improve the quality of online and simulators are shown. learning, like ENVISAGE (http://www.envisage-h2020.eu/ (4) When the student clicks on such a link, the server abstract/), which has the objective of oeff ring a solution connects to a Moodle External Tool, which allows towards optimizing the learning process in virtual labs the user to interact with IMS LTI-compliant learning and therefore maximizing their impact in education, or e- resources and activities. LIVES (https://e-lives.eu/), which aims to develop an e- (5) eTh Moodle External Tool provides the user account learning implementation strategy. Another project is Next information to the LTI-compliant module. After Lab (http://nextlab.golabz.eu/), which continues the project checking authentication, this module connects to the Go-Lab, which groups remote and virtual laboratories for ROSsystemoftherobotorsimulatorthroughasecure different science domains (http://go-lab-project.eu/) and has rosbridge connection. also originated a private company (https://labsland.com/). However, to our knowledge, most systems are built ad (6) Once the connection is established, the student can hoc with their customized solutions for management and usethe browsertocontrol theROSsystem.Inour development. The lack of a unique standardized remote case, the student writes a program in a text field, laboratory framework and the dilemma between oeff ring which is submitted to a server process that executes capabilities and maintaining security prevent the widespread thecodeintherobotorsimulator. extension of the access to such systems. Usually, the interface (7) eTh server receives the source code and launches a only makesitpossibletocontrol theelementsoftherobot.In new ROS process for the execution of that code. eTh some cases, only scripting capabilities for executing a limited new process will publish the necessary topics to make set of commands are provided to the users [28]. Products the robot move. like the remote lab created by WebLab-Deusto (http://weblab (8) Both the output of the process and the message errors .deusto.es/website/) have more general purpose and are not (if any) will be redirected back to the student’s browser only oriented to robotics. window for monitoring and debugging purposes. In this paper, we explore RPN (Cervera, 2015), a system that allows users of a Virtual Learning Environment to seam- (9) Finally, when the student leaves the web page, the lessly work with web-based laboratories. We also explain how connection with the ROS server is automatically RPN has had different courses available during the last years closed. and how it has evolved in orientation and characteristics, as RPN is not a closed system but is an evolving one. eo Th verallarchitectureofRPN is showninFigure1.It First, we are going to explain some of the technical is built upon two networks: the Internet (or a local academic characteristics of RPN and its learning management system. network) for the students to access and a local ROS network Aeft r that,wewillbegivingageneraldescription of the that connects the robot systems (either simulators or real different courses, our collaborators in them, and the answer robots) and other devices like video cameras. we obtained from the students and teachers. ROS is a framework for robot software, consisting of Finally, we will be giving some conclusions and possible tools, libraries, and conventions for a wide variety of robotic future work. platforms. By choosing ROS as the core component of RPN, we gain access not only to a number of different robots, simulators, and vision systems, but also to a large library of 2. Robot Programming Network robot behaviours that can be readily used for providing high- level functionality to the user or running in the background RPN is an initiative to bring existing remote robot laborato- for monitoring, data logging or, security purposes. ROS is an ries to a new dimension by adding the flexibility and power ongoing project with new characteristics included each day. of writing ROS code (Robot Operating System, http://wiki There is a bridge between both networks, consisting of a .ros.org, [21]) in an Internet browser and running it in the module that translates the information between two dieff rent remote robot with a single click. We aim to reduce the languages: ROS topics and services on the robot side and complexity of the interaction with the system not directly webdatastructuresonthe studentside. Thismodule, called related to the human-robot interaction. rosbridge[29],canbothreadROS topics andpublish them through the web (using its WebSocket transport layer [30], in 2.1. Hardware and Software Architecture. From the moment thesameway as usedin thePR2 RemoteLab)andwriteROS thestudenttypes thepassworduntil therobotmoves,he or topics with information provided by the web clients [22]. she has to follow a clear list of steps: Additional feedback can be provided thanks to the tight integration of RPN with Robot Web Tools: existing widgets allowa2D map,a3Drobot model,or aMJPEGstream (1) es Th tudentisfirstauthenticated andasecuresession coming from a remote camera to be visualized [29]. RPN can is started in Moodle. also be integrated with RMS (Robot Management System, (2) Some courses are freely available to enroll; in others, http://www.ros.org/wiki/rms/), a remote lab management access isgrantedbyteachersuponrequest. tool designed to control ROS-enabled robots from the web. Journal of Robotics 3 Figure 1: Overall architecture of the Robot Programming Network: the user is connected to Internet via a browser and is granted access to the LMS server. eTh user’s code is run on a Virtual Machine, where it uses a secure API for interacting with the ROS modules of the network, through the available ROS topics and services. Communication between client and server is imple- like one included to be able to use Mozilla OpenBadges mented with the actionlib ROS package (http://www.ros.org/ (https://support.mozilla.org/es/products/open-badges). wiki/actionlib). First, the RPN server checks the goal: if a bag eTh code (Python, Ruby, Lua, Matlab, and Lisp can be is required, a rosbag record process is launched. Second, the supported) is executed in the robot server at full speed, that string of code is saved to a local file inside a sandbox ROS is, without any communication delay, and the output of the package, with the proper format, extension, and permissions. processisreturnedback. BuiltuponRobot WebTools[22, Next, the code is executed with the rosrun (http://www 29], RPN works out-of-the-box in any ROS-based robot or .ros.org/wiki/rosbash#rosrun) tool, with its standard output simulator. redirected to the RPN server, which displays it in the browser RPN consists of a simple scripting interface, with a window (bottom right subwindow in Figure 5). text box and submit button built upon Robot Web Tools, Although the ROS network is accessible at Internet which can be accessed as a Moodle LTI (Learning Tools through rosbridge, access must be authenticated and autho- Interoperability http://www.imsglobal.org/lti/) resource. A rized by the system, centralized in a Learning Management similar capability is available in the PR2 Remote Lab, yet they Server (LMS). The user must first sign in with a recognized differ in a crucial aspect: PR2 scripting is done in JavaScript, user account or log into the system with an identification and it runs on the client side; RPN scripting is done in Python provided by another web service (e.g., Gmail or Facebook). (oranyotherROS-supportedscriptinglanguage),anditruns The Learning Management System (LMS) consists of on the server side. the Moodle software package (www.moodle.org) [31] for As a result, RPN has these fundamental differences from the administration, documentation, tracking, reporting, and most systems: delivery of robotics courses. This package facilitates the creation of tests and the evaluation of students. Of course, (1) es Th criptisexecutedasatrue ROSnodeonthe different modules can be added to the system as needed, server, with access to any topic or service. 4 Journal of Robotics Figure 2: Block diagram of the system. (2) eTh remote communication delay is only present 2.2. Security. Security policies must be established, as in other during the transmission of the code, not during its web laboratories [33, 34]: the LMS server is also responsible execution. fortheaccess policyto thesharedresources,bystoring a database of time slots, where users can book the facilities (3) ec Th odeisstoredinthe server,togetherwithits for a determined amount of time. u Th s, only registered users output and a bag of the topics, readily available for have full access to the system, while others can be monitoring downloading. or analyzing the system in a read-only mode. A completely Consequently, RPN does not rely on any particular detail open-access system is not supported, although projects like of the underlying hardware or software, and it can cope Go-Lab aim at this type of learning systems. with any ROS-enabled system. Also, each student has its As previously explained, the student’s code is not executed own Virtual Machine (VM) and thus the code does not directly in the real machines, but instead it runs on a execute in the real machines, reducing risks and increasing VirtualBox (https://www.virtualbox.org/) Virtual Machine (VM). Virtualization provides both safety and control of independence. The client side of RPN consists of an HTML5, JavaScript- resources. Malicious code has only access to the virtualized enabled web browser, which runs the JavaScript widgets (in system, without any possibility of intrusion into sensitive Figure5).Theprogramsourcecodeistypedinauser-friendly, processes, like those controlling the robot hardware or the syntax-highlighting, embedded editor (http://codemirror RPN system itself. In addition, a VM is allowed to use a .net/, right subwindow in Figure 5). fixed number of processors and a maximum amount of RAM Figure 2 depicts a block diagram of the system. RPN memory,thuspreventinganoverloadofthesystem.Incritical server side is built upon Robot Web Tools for communicating cases, the VM can be reset or directly deleted and restarted to with the clients. In addition, it also communicates directly asafestate. with ROS for dynamically starting new processes, that is, In addition, the code is not allowed to publish directly executing the client programs. It is also responsible for to the topics that control the robot hardware; instead, it is launching rosbag (http://www.ros.org/wiki/rosbag) for data redirected to similar topics that are filtered by background logging. Communication is exclusively performed through modules that monitor the state of the robot and either ROS. retransmit or block the user commands depending on the There is no need to modify the Moodle platform for safety conditions, for example, danger of collision. Figure 3 running our system, since support for LTI-compliant mate- depicts an example for a mobile robot: the user code does not rials is already included [32], but it is necessary to add some publishdirectlytothecommandvelocitytopic(cmd vel) of interfacing code in PHP in order to build the bridge with the the robot driver. Instead, the topic is read by the background ROS server. The current version only works in one direction monitor, which reads also the information topics from the robot driver, consisting of the sonar and infrared sensor data. (passing the authentication information to ROS) but, since theLTIprotocolisdenfi edinbothways,in thefuture,weplan Based on the sensor values, the monitor process determines to add feedback to Moodle from ROS, for example, sending the safety of the commanded motion and forwards the values grades to Moodle assignment based on the performance of to the robot driver. This monitoring process is transparent to the robot task. the user by using the dynamic remapping capabilities of ROS. Journal of Robotics 5 Figure 3: Example of safety monitoring for a mobile robot. output area for system messages (compilation errors, console output, etc.). Nevertheless, this basic interface can be customized or expanded with additional components, depending on the available equipment of the remote system (cameras) or the visualization needs (2D/3D). In Figure 6, the left subwindow is the image from a camera (the robot). In the right subwin- dow, we can see the robot through the use of external video cameras in the environment we created. A click on the run button is enough to launch the processing of the code and trigger the whole interaction process between client and server. 3. Courses and Activities First, we are going to introduce some initial design decisions common to all the courses, and then we will talk briefly about each course, as they have been explained before. Figure 4: Layout of the user interface. 3.1. Initial Decisions. Our own interest was in developing teaching tools for young and inexpert students, so we decided 2.3. Scalability. According to the statistics published in the to begin the experience with generalist and basic courses. Moodle home page (http://moodle.net/stats), the largest sites At the same time, given our international vocation and the in the world currently have up to 2,000,000 users. So the expected age of most students, we decided to make the scalability of Moodle is not a problem at all, provided that courses available in several languages (Spanish, Catalonian, the appropriate hardware (processing power and bandwidth) Arabic, and English), with English being the main one. is available. Our current system is experimental; thus it runs Giventhecomplexity of thefieldandthemyriadof on a single computer. When the number of users increases, possibilities we had, we decided to limit them. First of all, we we plan to migrate to a Moodle cloud system. Of course believed that Python (https://www.python.org/) was the most a bottleneck is the number of real robots available, but adequate language to the task of teaching programming and since our system can connect to ROS systems all over the at the same time controlling robots without the unnecessary Internet, the creation of a distributed network community complications of other languages. of robots is technically possible. In this way, the workload As previously indicated, from the complex efi ld of could be distributed among online robots on different remote enquiry-based learning, we decided to employ PBL. PBL is laboratories. Of course, the administrative and institutional a student-centered-pedagogy in which students learn about issues cannot be ignored. Any type of sharing of resources a subject through the experience of solving an open-ended among different institutions has to be carefully organized. problem found in trigger material. The PBL process does not focus on problem solving with a defined solution, but 2.4. User Interface. The generic user interface is intentionally it allows for the development of other desirable skills and kept verysimple forclarityandeaseofuse (Figure4). attributes. This includes knowledge acquisition, enhanced It consists of four window areas: the top left side is the group collaboration, and communication. The process allows visualization area, where the system displays the simulated learners to develop skills used for their future practice. setup, or video feedback from live cameras; the top right side It enhances critical appraisal and literature retrieval and is the scripting area, where the user types the source code of encourages ongoing learning in a team environment. The the program to be run into the system; the left bottom side problems the students have to complete are programming consists of a simple button panel for running or stopping the tasks. The role of mediator is taken by the system and the program; finally, to the right bottom side, there is another teachers who answer questions. 6 Journal of Robotics Figure 5: Programming environment of the course “Introduction to Mobile Robots,” control buttons and simulation. Figure 6: Left subwindow, programming environment with a vision through the robot camera. Right subwindow, images of the environment of the robot through two external cameras, from the HUMABOT 2014 challenge. Although the PBL tutorial process involves working in teacher provides only the research question for the students smallgroupsoflearners,in oursystem, thenumberofgroup who are responsible for designing and following their own activities is reduced, as it allows the courses to be permanently procedures). open to incorporation and each student works to his/her own Also, it is important to remark that we continue employ- rhythm. ing classical tests (mainly multiple selection tests) not only to The Many Levels of Inquiry [35] clearly outlines four levels evaluatethestudents butalsotoconsolidatetheknowledge of inquiry. Our methods can be considered to be in levels they acquire. 1 (Conrfi mation Inquiry, in which the teacher has taught a Although most of the theory material was presented in particular topic and then develops questions and a procedure written form, we added videos showing examples of robot that guides students through an activity where the results behaviour to facilitate understanding and increase interest in are already known) and 3 (Guided Inquiry, in which the the lessons. Journal of Robotics 7 Table 1: General characteristics of the courses. The column ”Students” represents the total number of students inscribed in the course from the start of the course to 2017. Course Programming language Simulator Real robot Students Level Available Organized course The Turtle Robot Python 2D No 200 Beginner Yes Yes Introduction to Mobile Robots Python 2D No 60 Beginner Yes Yes Mobile Robots 3D with Webots Blockly 3D No 20 Medium No No Introduction to Humanoid Robots Python - Yes 10 Advanced No Yes Mobile Robots with the Construct Python 3D No 30 Medium No No Figure 7: Course documentation page of the course (left) and programming page (right). To make the courses more interesting for the students, we employ enquiry-based learning and include different degrees decided to use gamification techniques [36] that have proven of gamification, from badges to competitions, but there are an improved answer by the students and use as complex as important differences among them. possible simulation environments. In Table1,wecan seesomeofthe generalcharacteristics A progressive method was used to present the materials, of the courses. from easier to more complex, with different tasks to solve at each point, always trying to use a discovery approach. In 3.2.1. eTh Turtle Robot. This is a simple 2D simulator [37, 38] general, we had three different sections in each course: (1) without physics, initially designed for teaching ROS concepts, movement of the robot, (2) use of the robot’s sensors, and (3) but it is also suitable for teaching programming concepts integration of movement and sensors to solve problems. or an introduction to mobile robots. It resembles the Logo We also decided that it was important to be present in turtle [39], but the notion of time (even simulated) makes the media, looking for collaborators and students but also a significant difference: the velocity of the turtle can be becoming a source of robotics information for the general controlled; thus the execution of the code is not immediate public.Thus,wecreatedasimpleFacebookpageinwhich we but progressive. trytoinformabout theactivityoftheRPN. Finally it is important to remark the security of the In the right window of Figure 7, the visualization area system. Each student has to identify himself or herself with shows the turtle. eTh web code is subscribed to the turtle some type of email account (although we facilitate the position topics, and as it moves, new position values are procedure through the use of google and Facebook accounts) received and the trajectory and turtle position on the browser before entering into the system. This creates a problem, as in window are updated. eTh turtle moves with linear and some countries (like Spain) younger people are not supposed angular velocities, allowing the user to program curved to have their own email account. When necessary, we created trajectories. Additionally, the colour of the path is selectable; accounts manually in the systems for such students. thus colourful patterns can be drawn. When the user calls an API function, like leftArc(a, r) which moves the turtle during one second along an arc trajectory of a degree and radius 3.2. Courses. There have been vfi e courses: the Turtle Robot, Introduction to Mobile Robots, Mobile Robots 3D, Intro- r, internally, the function computes the linear and angular velocities and publishes them into the corresponding topics duction to Humanoid Robots, and Mobile Robots with the Construct.AllofthemarepartoftheRPN system and for moving the turtle. 8 Journal of Robotics Figure 8: Image of the Hall of Fame with the students’ classification. Thiscourseistargetedatyoungstudents(12–14 years) integrated in our framework. This simulator adds sensors and its aim is to learn the basic concepts of programming: andthepossibilitytocontrol directlytheenginesoftherobot statements, variables, control flow, procedures, and functions. (which requires more mathematical knowledge). Figure 5 It consists of seven units with a few web documentation depicts the user interface for this simulator, which is clearly pages and assignment on each. A typical documentation similar, with buttons for optional displaying of the robot’s trail page isshowninFigure7.Themainweb page contains the path and the range sensors. Also, some videos were added informationabout thetasktosolve andsomeinstructions to the course to reinforce the learning experience (https:// about the solution. eTh user is asked to program the task on www.youtube.com/watch?v=zzTKerwN2Cg&feature=youtu the simulator in the pop-up window. .be). At the end of each section, an assignment is proposed to This course also uses tasks with increasing levels of summarize the presented contents. The student is asked to difficulty and a final test, with a badge reward, but it is solve a programming problem and to submit the solution for for older students though (at least high-school level). The the teacher to review. feedback from the students has been positive, yet most of The course includes a competition challenge [40] in order them consider that the final task (a wall-following problem) to increase the motivation of the students, where students is very difficult. are asked to program the robot to describe a trajectory in a circuit in the fastest time without going off the path. A Hall 3.2.3. Mobile Robots 3D. This course [43] tries to sim- of Fame with the best times is kept in the course, as depicted plify the programming part of a robotics course to the in Figure 8, which shows the result of the pilot experiment. maximum through the use of Blockly (https://developers This course has changed progressively, not only adding a .google.com/blockly/). n fi al evaluation test (multioption) and gamicfi ating it more Blockly is an open source project from Google to create deeply, with the use of badges (Mozilla OpenBadges, as can a visual programming language (in which we manipulate be seen in Figure 9), but also including explanatory videos the elements of the program graphically following a spatial for an easier understanding of the materials and increased grammar and not textually). It consists in a JavaScript attractiveness to the potential students. library to create visual block editors that work in a web browser. It uses blocks that link together and can generate 3.2.2. Introduction to Mobile Robots. The second course JavaScript, Python, or Dart code and allowed us to create [38, 41] was developed surrounding a more powerful and ourown specicb fi lockstocontrol therobot.Blockly has realistic simulator for mobile robots, Stage [42], but it shares been previously used successfully with educational purposes a similar organization and aspect with the Turtle Robot. eTh (https://blockly-games.appspot.com/) or in Hour of Code Stage simulator is readily available in ROS and it has been (https://hourofcode.com/es). Journal of Robotics 9 Figure 9: Several badges created for this course. Figure 10: Mobile robots 3D environment. At the same time, we decided to use a 3D simula- Webots provided us with a unique simple robot with two tor, Webots [44], which provided us with a more realistic motors that allow it to move through a plane. Also, the robot environment. Thanks are due to Cyberbotics (http://www has seven distance sensors that inform it of its surroundings. .cyberbotics.com/about), the company that was generous to As the simulator is realistic, the robot can fall down from giftuswithafreeunlimitedlicense ofWebotsthatwe the platform, it takes time to move, and the sensors have installed in one of our servers. limitations. The programming environment is thus deeply changed Following gamification techniques, the course is orga- from previous courses,as canbeseeninFigure10. nized in vfi e worlds (task) of increasing complexity in which 10 Journal of Robotics the user has to learn to use new blocks (instructions) from the system. As we are not the creators of the relatedtocharacteristicsoftherobot.Thecourseincludes a simulator, we decided not to enter into that problem. competition with oneself, a race against the clock with the five Modifying the Virtual Machine to clean better aer ft worlds. When the student nishes fi the course, he/she receives itself solved part of the problem. the corresponding badge. As usual, in the course, we use innovative gamification The first final satisfaction quiz completed by students techniques to increase the students’ interest: there are tasks motivated us to make one important change: we removed (problems) that the students have to solve and completing the na fi l test, as it was felt to be strange in the gamificated these tasks grants them badges and a final Mozilla Open- environment of this course. Also, some young students Badges when they pass the na fi l test and finish successfully (7–11 years old) followed the course without problems until the course to show their accomplishments. arriving to the last world, which they found too complex. We Several months aeft r HUMABOT, we n fi ally removed improved the help system and added some videos (https:// it from public view. eTh simulator presented problems and www.youtube.com/watch?v=kONe0zC5HnY&feature=youtu we could not maintain the kitchen environment and a .be), which seem to have eliminated the problem, but it is a NAO robot dedicated permanently to the project in our known problem of enquiry-based learning [19] that it should installation. We have been studying alternatives as changing be reinforced with the correct use of scaffolding (like more to another (cheaper) humanoid robot, like Bioloid, to be able videos and manuals) to reduce the cognitive load of the user. to have several robots available at the same time, or changing simulators, maybe jumping to cloud through the Construct, 3.2.4. Introduction to Humanoid Robots/HUMABOT 2014. but there has not been interest by the general public. As part of the congress Humanoids 2014, there was a chal- lenge, HUMABOT 2014 (http://www.irs.uji.es/humabot/), in 3.2.5. Mobile Robots with the Construct. After taking part which an artificial environment, a kitchen (as can be seen in the organization of the summer school RASPEBRAS in Figure 6, right subwindow, using the cameras added to 2015 (Summer School on Experimental Methodology, the environment), was created. In this kitchen, the robot, the Performance Evaluation and Benchmarking in Robotics NAO humanoid robot [45], had different tasks to solve, like http://www.ieee-raspebras2015.org/) and creating a bench locating the tea box or moving the tomato to the pot. We mark [48] with the Construct (http://sw.theconstructsim have already seen how we create a window in the system user .com/), a company dedicated to provide robotic simulations interface (in Figure 6, left subwindow) in which we can see inthecloud,wearrivedtoanagreement tousetheir system the NAO’s camera view. for our courses. As ahelpfortheparticipantsinthechallenge, we As theintegration betweenRPN andtheConstructis created a copy of the challenge and connected it to the not complete, the student has to have two different accounts, Internet through our system. Communication with the robot one in our system, which has the instructions and theory is possible because the ROS NAO driver (http://www.ros needed to complete the tasks, and another in the Construct .org/wiki/Robots/Nao/) connects to a custom module run- (the free account offers up to 10 hours of simulation). eTh ning the robot middleware (NAOqi), which has been devel- recommended work way is with two different tags in a web oped for USARSim [46]. eTh y could connect to the course browser. in RPN and prove their programs in the real environment u Th s, we created a version of our Mobile Robots course without the need to create their own. using their system and two different simulators, Gazebo The development for the challenge was reused to create (http://gazebosim.org/) [49] and Webots. The robots used a course in humanoid robotics [47], but we also decided were a Pioneer model (Figure 11) and a Kobuki. to include a simulator as a complement and alternative. The complete course [41] could be done in one of them, Although there are a lot of possibilities for humanoid robot but adding a different choice gives the students the opportu- simulators available in ROS, like REEM-C, HUBO, TUlip, nity to experiment how their knowledge can be transferred or PR2, we selected NAO as both the simulator and the real from one robot to another. robot are available. eTh students begin to program using the The programming language continues being Python, simulator (which they could download and use in their own but the Construct includes Jupyter Notebook ([50]http:// computer) and when they have passed several tasks, they jupyter.org/, in Figure 12), which provides a powerful but begintousetherealrobot. simple environment for programming [51]. An example of the simulator can be seen in Figure 3, where the NAO robot is standing in a room (top left we can 3.3. Evaluation. eTh evaluation of each course was made see the image from the robot camera). through the use of a n fi al questionnaire (we can see an eTh re are two problems that we would like to solve: example in Table 2) to the students and the results have (1) Several users wanted to use the NAO at the same time, already been published in previous papers like [37, 38, 41, 43, which is evidently impossible. A simple reservation 52]. The number of students in the individual experiences was system helped to improve users’ coordination. limitedfrom10to40. (2) eTh NAO simulator available in ROS is not reliable. It In general, the answers to the questions related to the crashed aeft r working continuously for several hours satisfaction degree, the learning process, and quality of the and sometimes it did not remove itself completely virtual robot were very positive answers (about 90%, as can Journal of Robotics 11 Figure 11: Pioneer robot simulation in the Construct. Figure 12: Jupyter Notebook. eTh green arrow marks the run button. be seen in Figure 13 for the first experiences with the Turtle The number of students in the rest of the courses was very Robot course [37]). Partial results of a different experience reduced, so results and conclusions cannot be considered with high-school students can be seen in Figure 14 (taken signicfi ant, but they tend to be similar to those obtained from [52]). It is clearly shown how the general satisfaction with the Turtle Robot course: interesting but connections and decreased to 60%. This was caused by different problems with simulators were not always reliable. the simulators and the connections in different courses and at different moments (how is explained in [52]). 4. Conclusions and Future Work It is also interesting to note that the students did not seem to perceive the gamification techniques (badges, points, In this paper, we have shown that RPN is a mature tool increasing difficult tasks, forums, etc.) as something espe- that has already shown its capabilities to help in teaching cially interesting or engaging, except in the case of the basic programming skills to students, although its devel- competitions with public results, in which some of them opment is ongoing, and it must yet be tested for larger entered into a very competitive stage, with repeated tries to (hundreds) number of users. A thorough study of sys- improve their results. More exhaustive testing is needed to tem vulnerabilities to malicious code must also be carried get a definitive reason for this behaviour, but it seems as if out, butthe system hasbeenproventobefairlyrobust. we need more collaborative tasks to increase communication Although the Robotic Intelligence Laboratory continues among the students and their competitiveness. being the main supporter of the RPN, two companies, 12 Journal of Robotics Table 2: Students’ questionnaire feedback for the Turtle Robot course. eTh answers are in a scale from one to ve fi : “strongly agree,” “agree,” “neutral,” “disagree,” and “strongly disagree.” Learning compared with traditional methods Didthe Turtle Robothelpyouto visualizethetheoreticalconcepts to belearned? How would you rate the outcome of your learning using the Turtle Robot if compared with “traditional methods”? Did the Turtle Robot enhance your ability to understand the theoretical concepts about programming in a new way? Ease of use DidyoufindeasytheuseoftheTurtle Robot? Did you think that the course was well structured and organized? Were you able to use the Turtle Robot by following the instructions provided? Quality of the virtual robot In which grade will you score to the quality of the virtual robot and its simulation? In which grade will you score to the quality of the remote connection? Was the response time of the remote laboratory suitable? Suitability in learning of relevant concepts Did the Turtle Robot help you for understanding the concepts of structured programming (conditions, loops) of the lectures? In which grade do you think that the Turtle Robot can be used for learning programming? Satisfaction degree In general, do you feel satisfied with the practical experiences through the Internet? Figure 13: Results of the Turtle Robot course students questionnaire, from [37]. Cyberbotics and the Construct, are actively collaborating development of their classes [52]. Most of them have not with us. n fi ally applied the system, citing lack of familiarity with the The initiative and the courses have woken up interest subject and time and organization problems. among high-school teachers, several of which have tested the Some university teachers have also expressed interest, but courses with the stated intention of using them in the normal in general they nd fi the courses too easy for their students. Journal of Robotics 13 Satisfaction degree At the same time, looking for a more attractive pre- sentation and following the users recommendations, we have created a different type of course, a more traditional MOOC called Autonomous Mobile Robots (http://mooc .uji.es/enrol/index.php?id=22) that began in February 2017 and had a moderate success, with more than 100 students. In 2018,theMOOCwillhaveitssecondedition andwehopeit will be still more successful. Computer science master students at Jaume I University will continue testing the courses and help us to improve them, becoming open access when they reach an acceptable level. At theendof2017,wearestilltryingtoimprovetheintegrationof the Construct system with ours and testing the 2018 MOOC, which will include more collaborative tasks. Technically, a possible extension of the system is the addition of feedback messages during the execution of the script, a possibility already available in the actionlib ROS Strongly agree package. The client would then periodically update the output Agree in the browser window, thus providing the user with a more Neutral interactive experience. The system is restricted to scripting Disagree languages (Python), but any scripting language with ROS Figure 14: Results of the Turtle Robot course students question- supportcouldbe used.Specialattentionshouldbedevoted naire, from [52]. to Matlab, a leading programming language for science and engineering. We plan to develop further courses about cooperative Given the opportunity to create their own courses (or ver- robots, robot manipulators, or drones. sions of ours) using our simulators, they have preferred to use As part of our educational initiative and aiming to attract their own systems (usually some Moodle version provided by students, we participate several times a year in robotics their university) and have a bigger control of the process. demonstrations oriented to young people and general public In general, the students are interested in robots and like“Conecta conlaCiencia”organized byJaumeIUniversity controlling them, but they find programming a robot a (http://www.uji.es/perfils/futurs/base/accions/grau/connec- challenge. ta/&idioma=es) or DESTACA2014 (http://feriadestaca.es/) There are three general types of student, in decreasing organized by Cat ´ edra de Innovacion ´ Ceramica ´ «Ciutat numbers: de Vila-real» and Vila-real City, with Fundacion ´ Globalis collaboration. These activities have guaranteed our presence (1) Curious ones that enter into the courses but do not inthelocalmedia. Andfinallywehavemadeaconscious begin the assignments effort to have a presence in the media (through a Facebook (2) Half-way students who aer ft completing several tasks page https://www.facebook.com/RobotProgrammingNet- of increasing difficulty leave the course work/ and a YouTube channel https://www.youtube.com/ (3) Completion students who complete all the tasks and channel/UCeWlJxX52YHjf62xAoWfLeg), as a further meth- do the tests od to increase visibility of the project. In some cases, both teachers and students expected a more “traditional” MOOC, with video lectures that they Abbreviations could use directly in class. eTh completion users have expressed a wish for more real- AENUI: Asociacion ´ de Ensena ˜ ntes Universitarios isticrobots, whichhasmovedusfrom2Dto3Dsimulators. de la Informat ´ ica At the same time, to compensate for the lack of programming API: Application Programming Interfaces experience, we have chosen simple programming languages CEMRA: Creation of Educational Materials for and intuitive environments. Robotics and Automation We also plan to improve our approach to enquiry-based IEEE-RAS: Institute of Electrical and Electronics learning including more reinforcing materials, as manuals Engineers Robotics and Automation and videos, as suggested by other authors, like [19]. This Society should help students to make the more difficult exercises LTI: Learning Tools Interoperability easier andalsofinish thecourses successfully. MOOC: Massive Online Open Courses In the latest developments, we have oriented the initiative RASPEBRAS: Robotic and Automation Society Summer to usethe Constructsimulator.Thefreetoolsitprovides are School on Experimental Methodology, a big improvement over other systems and free us from the PerformanceEvaluationand necessity of our own servers. Benchmarking in Robotics 14 Journal of Robotics [12] N. Tillmann, M. Moskal, J. de Halleux et al., “eTh future of RMS: Robot Management System teaching programming is on mobile devices,” in Proceedings ROS: Robot Operating System of the Proc. 17th ACM annual conference on Innovation and RPN: Robot Programming Network Technology in Computer Science Education, ITiCSE’12,pp. 156– VM: Virtual Machine. 161, Haifa, Israel, 2012. [13] E. Wang, “Teaching freshmen design, creativity and program- Conflicts of Interest ming with LEGOs and Labview,” in Proceedings of the 31st Annual Frontiers in Education Conference. Impact on Engineer- eTh authors declare that there are no conflicts of interest ing and Science Education.,pp. F3G–11-15,Reno, NV,USA. regarding the publication of this paper. [14] F. Mondada, M. Bonani, X. Raemy et al., “The e-puck, a robot designed for education in engineering,” in 9th Conference on Autonomous Robot Systems and Competitions,vol.1,no.1,pp. Acknowledgments 59–65, 2009. This project was made possible thanks to IEEE Robotics and [15] J. Trevelyan, “Lessons learned from 10 years experience with Automation Society (IEEE-RAS http://www.ieee-ras.org/) remote laboratories,” in Proceedings of International Conference through a CEMRA grant (Creation of Educational Materials on Engineering Education and Research, iCEER,pp. 687–697, Bouzov Castle, Check Republic, 2004. for Robotics and Automation). Thanks are due to to the Construct and Cyberbotics. Thanks are also due to Minis- [16] V. Djalic, P. Maric, D. Kosic, D. Samuelsen, B. yTh berg, and O. terio de Econom´ıa y Competitividad (DPI2011-27846) and Graven, “Remote laboratory for robotics and automation as a tool for remote access to learning content,” in Proceedings of the Generalitat Valenciana (PROMETEOII/2014/028) at Jaume I 2012 15th International Conference on Interactive Collaborative University (P1-1B2011-54). Learning, ICL 2012, Villach, Austria, September 2012. [17] M. Casini, A. Garulli, A. Giannitrapani, and A. Vicino, “A References remote lab for experiments with a team of mobile robots,” Sensors,vol.14, no.9,pp.16486–16507,2014. [1] J. G. Wilhelm and P. J. Wilhelm, “Inquiring minds learn to read, [18] C. D’Angelo, D. Rutstein, C. Harris, R. Bernard, E. Borokhovski, write, and think: Reaching all learners through inquiry,” Middle and G. Haertel, “Simulations for STEM Learning: Systematic School Journal,pp. 39–46, 2010. Review and Meta-Analysis,” in Proceedings of the SRI Interna- [2] E. M. Furtak, T. Seidel, H. Iverson, and D. C. Briggs, “Experi- tional, Menlo Park, CA, USA, 2014. mental and quasi-experimental studies of inquiry-based science [19] T. De Jong, M. C. Linn, and Z. C. Zacharia, “Physical and Virtual teaching. A meta-analysis,” Review of Educational Research,vol. Laboratories in Science and Engineering Education,” Science, 82, no. 3, Article ID 0034654312457206, pp. 300–329, 2012, vol. 340, no. 6130, 2013. https://doi.org/10.3102/0034654312457206. [20] T.de Jong,S.Sotiriou, andD.Gillet,“InnovationsinSTEMedu- [3] C.BonwellandJ.Eison,ActiveLearning:CreatingExcitement cation: the Go-Lab federation of online labs,” Smart Learning in the Classroom AEHE-ERIC Higher Education Report No. 1, Environments,vol.1,no. 1,2014. Jossey-Bass, Washington, D.C., USA, ISBN 1-878380-08-7, 1991. [21] M. Quigley, K. Conley, B. Gerkey et al., “ROS,” An open-source [4] M. A. Albanese and S. Mitchell, “Problem-based learning: a robot operating system,2009. review of literature on its outcomes and implementation issues,” Academic Medicine,vol.68,no.1,pp.52–81, 1993. [22] S. Osentoski, G. Jay, C. Crick, B. Pitzer, C. Du Hadway, and O. C. Jenkins, “Robots as web services: Reproducible experimen- [5] J. Johnson, “Children, robotics, and education,” Artificial Life tation and application development using rosjs,” in Proceedings and Robotics,vol.7,no. 1-2, pp.16–21,2003. of the 2011 IEEE International Conference on Robotics and [6] V. Dagdilelis, M. Sartatzemi, and K. Kagani, “Teaching (with) Automation, ICRA 2011, pp. 6078–6083, chn, May 2011. robots in secondary schools: Some new and not-so-new peda- [23] M. Kulich, J. Chudoba, K. Kosnar, T. Krajnik, J. Faigl, and L. gogical problems,” in Proceedings of the 5th IEEE International Preucil, “SyRoTek-Distance teaching of mobile robotics,” IEEE Conference on Advanced Learning Technologies, ICALT 2005,pp. Transactions on Education,vol.56, no.1,pp. 18–23,2013. 757–761, Kaohsiung, Taiwan, July 2005. [24] M.Waibel,M.Beetz,J.Civeraetal.,“Robo earth,” IEEE Robotics [7] F. Barreto and V. Benitti, “Exploring the educational potential and Automation Magazine,vol.18, no.2,pp. 69–82,2011. of robotics in schools: A systematic review,” Computers & Education, vol. 58, no. 3, pp. 978–988, 2012. [25] M. C. Viegas, G. Alves, A. Marques et al., “eTh VISIR+ Project Preliminary results of the training actions,” Online Engineering [8] K. Schilling, H. Roth, and O. J. Ros ¨ ch, “Mobile mini-robots for &InternetofThings ,pp. 375–391, 2018. engineering education,” Global Journal of Engineering Educa- tion,vol.6,no. 1, pp.79–84,2002. [26] A. Mej´ıas and J. M. Anduja ´ r, “Interaction of Real Robots [9] S. Djenic, R. Krneta, and J. Mitic, “Blended learning of program- with Virtual Scenarios through Augmented Reality: Application to Robotics Teaching/ Learning by Means of Remote Labs,” ming in the internet age,” IEEE Transactions on Education,vol. 54, no. 2, pp. 247–254, 2011. International Journal of Engineering Education,vol.9,no.3, [10] C. C. Ratcliff and S. E. Anderson, “Reviving the turtle: Explor- ing the use of logo with students with mild disabilities,” [27] B.Pitzer,S.Osentoski,G.Jay,C.Crick,andO.C. Jenkins, Computers in the Schools,vol.28,no.3,pp.241–255, 2011, “PR2 Remote Lab: An environment for remote development https://doi.org/10.1080/07380569.2011.594987. and experimentation,” pp. 3200–3205. [11] K. Asanovic, R. Bodik, J. Demmel et al., “A view of the parallel [28] R. Mar´ın, P. J. Sanz, and A. P. Del Pobil, “The UJI Online Robot: computing landscape,” Communications of the ACM,vol.52,no. An Education and Training Experience,” Autonomous Robots, 10, pp. 56–67, 2009. vol. 15, no. 3, pp. 283–297, 2003. Journal of Robotics 15 [29] B. Alexander, K. Hsiao, C. Jenkins, B. Suay, and R. Toris, [47] G. A. Casan, ˜ E. Cervera, A. del Pobil, and G. A. Casan, ˜ “Online “ROS Topics: Robot Web Tools,” IEEE Robotics & Automation teaching of humanoid robots,” in Human Robot Interaction Magazine,vol.19, no.4,pp.20–23,2012. Education Workshop, Portland, Oregon, 2015. [30] C. Crick, G. Jay, S. Osentoski, and O. C. Jenkins, “ROS and [48] G. A. Casan˜,E.Cervera,O.Michel,R.Tellez, andG.A.Casan, ˜ “NAO Race Competition,” ReVision ´ ,vol.8,no.3, ISSN1989- Rosbridge: Roboticists out of the loop,” in Proceedings of the 7th Annual ACM/IEEE International Conference on Human-Robot 1199, 2015. Interaction, HRI’12, pp. 493-494, USA, March 2012. [49] N. Koening and A. Howard, “Design and Use Paradigms for Gazebo, An Open-Source Multi-Robot Simulator,” in Proceed- [31] M. Dougiamas and P. C. Taylor, “Moodle, Using learning ings of IEEE/RSJ International Conference on Intelligent Robots communities to create an open source course management and Systems,pp. 2149–2154, Sendai,Japon, 2004. system,” in Proceedings of World conference on educational multimedia, hypermedia and telecommunications, pp. 171–178, [50] V. V. Klndratenko, C. P. Steffen, and R. J. Brunner, “Accelerating scientific applications with reconfigurable computing: getting started,” Computing in Science & Engineering,vol.9,no.5, pp. [32] M. Alier, M. J. Casan, ˜ and J. Piguillem, “Moodle 2.0: Shifting 70–77, 2007. from a learning toolkit to a open learning platform,” Commu- nications in Computer and Information Science,vol.73, pp.1–10, [51] D. Pritchard and T. Vasiga, “CS Circles: An in-browser python 2010. course for beginners,” in Proceedings of the 44th ACM Technical Symposium on Computer Science Education, SIGCSE 2013,pp. [33] M. Casini, F. Chinello, D. Prattichizzo, and A. Vicino, “RACT: A 591–596, usa, March 2013. remote lab for robotics experiments,” in Proceedings of the 17th IFAC World Congress, Seoul , korea, July 2008. [52] G. A. Casan˜ and P. Ramo, “Una experiencia en la ensena ˜ nza en secundaria de robo´ticayprogramacion ´ con recursos remotos: [34] I. Matijevics, “Local and remote laboratories in the education el curso Tortuga del RPN,” ReVision, vol. 10, no. 3, ISSN 1989- of robot architectures,” in Intelligent Engineering Systems and 1199, 2017. Computational Cybernetics,pp.27–36, Springer,2009. [35] H. Banchi and R. Bell, “eTh Many Levels of Inquiry,” Science and Children,vol.46, no.2,pp. 26–29, 2008. [36] K. M. Kapp, The Gamification of Learning and Instruction , Pfeiffer, Game-Based Methods and Strategies for Training and Education, 2012. [37] E. Cervera, P. Martinet, R. Marin et al., “eTh Robot Program- ming Network,” Journal of Intelligent and Robotic Sytems,vol. 81,no.1, pp.77–95,2015. [38] E. Cervera and G. A. Casan, ˜ “Robot Programming Network: un sistema distribuido para el aprendizaje de la programacion ´ de robots,” ReVision, vol. 8, no. 1, ISSN 1989-1199, 2015. [39] P. B. Lawhead, M. E. Duncan, C. G. Bland et al., “A road map for teaching introductory programming using LEGO' mindstorms robots,” ACM SIGCSE Bulletin,vol.35,no.2,pp. 191–201, 2003. [40] R. R. Murphy, “Competing for a robotics education,” IEEE Robotics and Automation Magazine,vol.8,no. 2, pp.44–55, [41] G. A. Casan˜ and E. Cervera, “Introduccion ´ a la Programacion ´ de Robots Movi ´ les: un curso en 3D con simuladores,” ReVision ´ , vol. 9, no. 3, ISSN 1989-1199, 2016. [42] R. Vaughan, “Massively multi-robot simulation in stage,” Swarm Intelligence,vol.2,no.2-5, pp.189–208,2008. [43] G. A. Casan˜ and E. Cervera, “RPN: aprendizaje de la pro- gramacion ´ de robots mediante bloques en un entorno 3D,” ReVision ´ , vol. 8, no. 3, ISSN 1989-1199, 2014. [44] O. Michel, “Webots: professional mobile robot simulation,” International Journal of Advanced Robotic Systems,vol.1,no.1, pp.39–42,2004. [45] D. Gouaillier, V. Hugel, P. Blazevic et al., “Mechatronic design of NAO humanoid. Proc. IEEE International Conference on Robotics and Automation, ICRA’09,” in Proceedings of IEEE International Conference on Robotics and Automation,pp.769– 774, ICRA’09, Kobe, Japon, ´ 2009. [46] S. Van Noort and A. Visser, “Validation of the dynamics of an humanoid robot in USARSim,” in Proceedings of the 11th Workshop on Performance Metrics for Intelligent Systems,pp. 190–197, March 2012. International Journal of Advances in Rotating Machinery Multimedia Journal of The Scientific Journal of Engineering World Journal Sensors Hindawi Hindawi Publishing Corporation Hindawi Hindawi Hindawi Hindawi www.hindawi.com Volume 2018 http://www www.hindawi.com .hindawi.com V Volume 2018 olume 2013 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 Journal of Control Science and Engineering Advances in Civil Engineering Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 Submit your manuscripts at www.hindawi.com Journal of Journal of Electrical and Computer Robotics Engineering Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 VLSI Design Advances in OptoElectronics International Journal of Modelling & Aerospace International Journal of Simulation Navigation and in Engineering Engineering Observation Hindawi Hindawi Hindawi Hindawi Volume 2018 Volume 2018 Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com www.hindawi.com www.hindawi.com Volume 2018 International Journal of Active and Passive International Journal of Antennas and Advances in Chemical Engineering Propagation Electronic Components Shock and Vibration Acoustics and Vibration Hindawi Hindawi Hindawi Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Journal of Robotics Hindawi Publishing Corporation

The Experience of the Robot Programming Network Initiative

Journal of Robotics , Volume 2018: 15 – Jun 7, 2018

Loading next page...
 
/lp/hindawi-publishing-corporation/the-experience-of-the-robot-programming-network-initiative-GEAYAsMrqb

References

References for this paper are not available at this time. We will be adding them shortly, thank you for your patience.

Publisher
Hindawi Publishing Corporation
Copyright
Copyright © 2018 Gustavo A. Casañ and Enric Cervera. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
ISSN
1687-9600
eISSN
1687-9619
DOI
10.1155/2018/2312984
Publisher site
See Article on Publisher Site

Abstract

Hindawi Journal of Robotics Volume 2018, Article ID 2312984, 15 pages https://doi.org/10.1155/2018/2312984 Research Article Gustavo A. Casañ and Enric Cervera Jaume I University, Castello, ´ Spain Correspondence should be addressed to Gustavo A. Casan; ˜ ncasan@uji.es Received 7 December 2017; Revised 26 March 2018; Accepted 10 May 2018; Published 7 June 2018 Academic Editor: Gordon R. Pennock Copyright © 2018 Gustavo A. Casan˜ and Enric Cervera. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Since its creation in 2014, the Robot Programming Network (RPN) has been an environment to learn and teach robotics to the general public, which has also allowed us to learn about education. In this paper, we aim to not only present the RPN and the active courses in the system but also show the evolution of this initiative in front of the changing e-learning environment and its possible future evolution towards Massive Online Open Courses (MOOCs) and cloud simulation. 1. Introduction widely used for teaching engineering and the sciences [18– 20]. With the advent of cross-platform middleware [21] and Teaching robotics and programming has nearly since the the adoption of new powerful World Wide Web standards beginning employed some type of enquiry-based learning [22], we may well be approaching a new golden era for web- [1, 2], as this form of active learning [3] starts by posing based laboratories [23, 24], as sophisticated intelligent robotic questions, problems, or scenarios that the student has to think platforms could be made accessible worldwide, with the only about or solve (in our case creating a robot or program to cost being an Internet connection for the user. Of course control the robot). In engineering, this approach is consid- remote laboratories are not limited to robotics. Platforms like ered preferable than simply presenting established facts in a VISIR and VISIR+ are ongoing [25] and aim to spread the lecture mode or portraying a smooth path to knowledge. eTh use of the tools developed to the general education public. main pedagogy employed is problem-based learning (PBL) Another interesting initiative is the inclusion of Virtual [4], a student-centered pedagogy in which students learn Reality technologies to the laboratories, making the systems about a subject through the experience of solving an open- cheaper than physic ones and more versatile. One example is ended problem found in trigger material. In the context of presented in [26]. RPN, the learning experience is the creation of a program. Nowadays, there are a myriad of web-enabled intelligent Using robotics for education has a long history [5–7], systems, ready to be remotely controlled, with their sensors as they have been proven to be good tools for learning and outputs visualized. An awesome example is the PR2 mechanics, electronics, and programming [8–13], among Remote Lab [27], which enables a large community of other technological disciplines. But, also from the beginning, researchers to use a state-of-the-art yet expensive platform. most learning centres could not afford the price of a robot. But the work is orienting itself to create standards for online Luckily, robots have been decreasing in price and increasing learning systems. For example, GOLC/IAOE (http://online- in capabilities in the last years (like the popular e-puck robot engineering.org/index.php) as part of the IEEE project [14]) at the same time that robotic simulations have improved P1876-Networked Smart Learning Objects for Online Lab- their usability and price. oratories (http://sites.ieee.org/sagroups-edusc/) is creating One solution to the price problem has been sharing the a standard that defines methods for storing and retriev- hardware components using remote laboratories [15] and ing learning objects for remote laboratories. The stan- online robotic systems [16, 17]. Remote laboratories have been dard will also define methods for linking learning objects 2 Journal of Robotics to design and implement smart learning environments (3) Once enrolled in a course, the student browses for remote online laboratories. The European Union is through the Moodle pages, where links to the robots funding several projects to improve the quality of online and simulators are shown. learning, like ENVISAGE (http://www.envisage-h2020.eu/ (4) When the student clicks on such a link, the server abstract/), which has the objective of oeff ring a solution connects to a Moodle External Tool, which allows towards optimizing the learning process in virtual labs the user to interact with IMS LTI-compliant learning and therefore maximizing their impact in education, or e- resources and activities. LIVES (https://e-lives.eu/), which aims to develop an e- (5) eTh Moodle External Tool provides the user account learning implementation strategy. Another project is Next information to the LTI-compliant module. After Lab (http://nextlab.golabz.eu/), which continues the project checking authentication, this module connects to the Go-Lab, which groups remote and virtual laboratories for ROSsystemoftherobotorsimulatorthroughasecure different science domains (http://go-lab-project.eu/) and has rosbridge connection. also originated a private company (https://labsland.com/). However, to our knowledge, most systems are built ad (6) Once the connection is established, the student can hoc with their customized solutions for management and usethe browsertocontrol theROSsystem.Inour development. The lack of a unique standardized remote case, the student writes a program in a text field, laboratory framework and the dilemma between oeff ring which is submitted to a server process that executes capabilities and maintaining security prevent the widespread thecodeintherobotorsimulator. extension of the access to such systems. Usually, the interface (7) eTh server receives the source code and launches a only makesitpossibletocontrol theelementsoftherobot.In new ROS process for the execution of that code. eTh some cases, only scripting capabilities for executing a limited new process will publish the necessary topics to make set of commands are provided to the users [28]. Products the robot move. like the remote lab created by WebLab-Deusto (http://weblab (8) Both the output of the process and the message errors .deusto.es/website/) have more general purpose and are not (if any) will be redirected back to the student’s browser only oriented to robotics. window for monitoring and debugging purposes. In this paper, we explore RPN (Cervera, 2015), a system that allows users of a Virtual Learning Environment to seam- (9) Finally, when the student leaves the web page, the lessly work with web-based laboratories. We also explain how connection with the ROS server is automatically RPN has had different courses available during the last years closed. and how it has evolved in orientation and characteristics, as RPN is not a closed system but is an evolving one. eo Th verallarchitectureofRPN is showninFigure1.It First, we are going to explain some of the technical is built upon two networks: the Internet (or a local academic characteristics of RPN and its learning management system. network) for the students to access and a local ROS network Aeft r that,wewillbegivingageneraldescription of the that connects the robot systems (either simulators or real different courses, our collaborators in them, and the answer robots) and other devices like video cameras. we obtained from the students and teachers. ROS is a framework for robot software, consisting of Finally, we will be giving some conclusions and possible tools, libraries, and conventions for a wide variety of robotic future work. platforms. By choosing ROS as the core component of RPN, we gain access not only to a number of different robots, simulators, and vision systems, but also to a large library of 2. Robot Programming Network robot behaviours that can be readily used for providing high- level functionality to the user or running in the background RPN is an initiative to bring existing remote robot laborato- for monitoring, data logging or, security purposes. ROS is an ries to a new dimension by adding the flexibility and power ongoing project with new characteristics included each day. of writing ROS code (Robot Operating System, http://wiki There is a bridge between both networks, consisting of a .ros.org, [21]) in an Internet browser and running it in the module that translates the information between two dieff rent remote robot with a single click. We aim to reduce the languages: ROS topics and services on the robot side and complexity of the interaction with the system not directly webdatastructuresonthe studentside. Thismodule, called related to the human-robot interaction. rosbridge[29],canbothreadROS topics andpublish them through the web (using its WebSocket transport layer [30], in 2.1. Hardware and Software Architecture. From the moment thesameway as usedin thePR2 RemoteLab)andwriteROS thestudenttypes thepassworduntil therobotmoves,he or topics with information provided by the web clients [22]. she has to follow a clear list of steps: Additional feedback can be provided thanks to the tight integration of RPN with Robot Web Tools: existing widgets allowa2D map,a3Drobot model,or aMJPEGstream (1) es Th tudentisfirstauthenticated andasecuresession coming from a remote camera to be visualized [29]. RPN can is started in Moodle. also be integrated with RMS (Robot Management System, (2) Some courses are freely available to enroll; in others, http://www.ros.org/wiki/rms/), a remote lab management access isgrantedbyteachersuponrequest. tool designed to control ROS-enabled robots from the web. Journal of Robotics 3 Figure 1: Overall architecture of the Robot Programming Network: the user is connected to Internet via a browser and is granted access to the LMS server. eTh user’s code is run on a Virtual Machine, where it uses a secure API for interacting with the ROS modules of the network, through the available ROS topics and services. Communication between client and server is imple- like one included to be able to use Mozilla OpenBadges mented with the actionlib ROS package (http://www.ros.org/ (https://support.mozilla.org/es/products/open-badges). wiki/actionlib). First, the RPN server checks the goal: if a bag eTh code (Python, Ruby, Lua, Matlab, and Lisp can be is required, a rosbag record process is launched. Second, the supported) is executed in the robot server at full speed, that string of code is saved to a local file inside a sandbox ROS is, without any communication delay, and the output of the package, with the proper format, extension, and permissions. processisreturnedback. BuiltuponRobot WebTools[22, Next, the code is executed with the rosrun (http://www 29], RPN works out-of-the-box in any ROS-based robot or .ros.org/wiki/rosbash#rosrun) tool, with its standard output simulator. redirected to the RPN server, which displays it in the browser RPN consists of a simple scripting interface, with a window (bottom right subwindow in Figure 5). text box and submit button built upon Robot Web Tools, Although the ROS network is accessible at Internet which can be accessed as a Moodle LTI (Learning Tools through rosbridge, access must be authenticated and autho- Interoperability http://www.imsglobal.org/lti/) resource. A rized by the system, centralized in a Learning Management similar capability is available in the PR2 Remote Lab, yet they Server (LMS). The user must first sign in with a recognized differ in a crucial aspect: PR2 scripting is done in JavaScript, user account or log into the system with an identification and it runs on the client side; RPN scripting is done in Python provided by another web service (e.g., Gmail or Facebook). (oranyotherROS-supportedscriptinglanguage),anditruns The Learning Management System (LMS) consists of on the server side. the Moodle software package (www.moodle.org) [31] for As a result, RPN has these fundamental differences from the administration, documentation, tracking, reporting, and most systems: delivery of robotics courses. This package facilitates the creation of tests and the evaluation of students. Of course, (1) es Th criptisexecutedasatrue ROSnodeonthe different modules can be added to the system as needed, server, with access to any topic or service. 4 Journal of Robotics Figure 2: Block diagram of the system. (2) eTh remote communication delay is only present 2.2. Security. Security policies must be established, as in other during the transmission of the code, not during its web laboratories [33, 34]: the LMS server is also responsible execution. fortheaccess policyto thesharedresources,bystoring a database of time slots, where users can book the facilities (3) ec Th odeisstoredinthe server,togetherwithits for a determined amount of time. u Th s, only registered users output and a bag of the topics, readily available for have full access to the system, while others can be monitoring downloading. or analyzing the system in a read-only mode. A completely Consequently, RPN does not rely on any particular detail open-access system is not supported, although projects like of the underlying hardware or software, and it can cope Go-Lab aim at this type of learning systems. with any ROS-enabled system. Also, each student has its As previously explained, the student’s code is not executed own Virtual Machine (VM) and thus the code does not directly in the real machines, but instead it runs on a execute in the real machines, reducing risks and increasing VirtualBox (https://www.virtualbox.org/) Virtual Machine (VM). Virtualization provides both safety and control of independence. The client side of RPN consists of an HTML5, JavaScript- resources. Malicious code has only access to the virtualized enabled web browser, which runs the JavaScript widgets (in system, without any possibility of intrusion into sensitive Figure5).Theprogramsourcecodeistypedinauser-friendly, processes, like those controlling the robot hardware or the syntax-highlighting, embedded editor (http://codemirror RPN system itself. In addition, a VM is allowed to use a .net/, right subwindow in Figure 5). fixed number of processors and a maximum amount of RAM Figure 2 depicts a block diagram of the system. RPN memory,thuspreventinganoverloadofthesystem.Incritical server side is built upon Robot Web Tools for communicating cases, the VM can be reset or directly deleted and restarted to with the clients. In addition, it also communicates directly asafestate. with ROS for dynamically starting new processes, that is, In addition, the code is not allowed to publish directly executing the client programs. It is also responsible for to the topics that control the robot hardware; instead, it is launching rosbag (http://www.ros.org/wiki/rosbag) for data redirected to similar topics that are filtered by background logging. Communication is exclusively performed through modules that monitor the state of the robot and either ROS. retransmit or block the user commands depending on the There is no need to modify the Moodle platform for safety conditions, for example, danger of collision. Figure 3 running our system, since support for LTI-compliant mate- depicts an example for a mobile robot: the user code does not rials is already included [32], but it is necessary to add some publishdirectlytothecommandvelocitytopic(cmd vel) of interfacing code in PHP in order to build the bridge with the the robot driver. Instead, the topic is read by the background ROS server. The current version only works in one direction monitor, which reads also the information topics from the robot driver, consisting of the sonar and infrared sensor data. (passing the authentication information to ROS) but, since theLTIprotocolisdenfi edinbothways,in thefuture,weplan Based on the sensor values, the monitor process determines to add feedback to Moodle from ROS, for example, sending the safety of the commanded motion and forwards the values grades to Moodle assignment based on the performance of to the robot driver. This monitoring process is transparent to the robot task. the user by using the dynamic remapping capabilities of ROS. Journal of Robotics 5 Figure 3: Example of safety monitoring for a mobile robot. output area for system messages (compilation errors, console output, etc.). Nevertheless, this basic interface can be customized or expanded with additional components, depending on the available equipment of the remote system (cameras) or the visualization needs (2D/3D). In Figure 6, the left subwindow is the image from a camera (the robot). In the right subwin- dow, we can see the robot through the use of external video cameras in the environment we created. A click on the run button is enough to launch the processing of the code and trigger the whole interaction process between client and server. 3. Courses and Activities First, we are going to introduce some initial design decisions common to all the courses, and then we will talk briefly about each course, as they have been explained before. Figure 4: Layout of the user interface. 3.1. Initial Decisions. Our own interest was in developing teaching tools for young and inexpert students, so we decided 2.3. Scalability. According to the statistics published in the to begin the experience with generalist and basic courses. Moodle home page (http://moodle.net/stats), the largest sites At the same time, given our international vocation and the in the world currently have up to 2,000,000 users. So the expected age of most students, we decided to make the scalability of Moodle is not a problem at all, provided that courses available in several languages (Spanish, Catalonian, the appropriate hardware (processing power and bandwidth) Arabic, and English), with English being the main one. is available. Our current system is experimental; thus it runs Giventhecomplexity of thefieldandthemyriadof on a single computer. When the number of users increases, possibilities we had, we decided to limit them. First of all, we we plan to migrate to a Moodle cloud system. Of course believed that Python (https://www.python.org/) was the most a bottleneck is the number of real robots available, but adequate language to the task of teaching programming and since our system can connect to ROS systems all over the at the same time controlling robots without the unnecessary Internet, the creation of a distributed network community complications of other languages. of robots is technically possible. In this way, the workload As previously indicated, from the complex efi ld of could be distributed among online robots on different remote enquiry-based learning, we decided to employ PBL. PBL is laboratories. Of course, the administrative and institutional a student-centered-pedagogy in which students learn about issues cannot be ignored. Any type of sharing of resources a subject through the experience of solving an open-ended among different institutions has to be carefully organized. problem found in trigger material. The PBL process does not focus on problem solving with a defined solution, but 2.4. User Interface. The generic user interface is intentionally it allows for the development of other desirable skills and kept verysimple forclarityandeaseofuse (Figure4). attributes. This includes knowledge acquisition, enhanced It consists of four window areas: the top left side is the group collaboration, and communication. The process allows visualization area, where the system displays the simulated learners to develop skills used for their future practice. setup, or video feedback from live cameras; the top right side It enhances critical appraisal and literature retrieval and is the scripting area, where the user types the source code of encourages ongoing learning in a team environment. The the program to be run into the system; the left bottom side problems the students have to complete are programming consists of a simple button panel for running or stopping the tasks. The role of mediator is taken by the system and the program; finally, to the right bottom side, there is another teachers who answer questions. 6 Journal of Robotics Figure 5: Programming environment of the course “Introduction to Mobile Robots,” control buttons and simulation. Figure 6: Left subwindow, programming environment with a vision through the robot camera. Right subwindow, images of the environment of the robot through two external cameras, from the HUMABOT 2014 challenge. Although the PBL tutorial process involves working in teacher provides only the research question for the students smallgroupsoflearners,in oursystem, thenumberofgroup who are responsible for designing and following their own activities is reduced, as it allows the courses to be permanently procedures). open to incorporation and each student works to his/her own Also, it is important to remark that we continue employ- rhythm. ing classical tests (mainly multiple selection tests) not only to The Many Levels of Inquiry [35] clearly outlines four levels evaluatethestudents butalsotoconsolidatetheknowledge of inquiry. Our methods can be considered to be in levels they acquire. 1 (Conrfi mation Inquiry, in which the teacher has taught a Although most of the theory material was presented in particular topic and then develops questions and a procedure written form, we added videos showing examples of robot that guides students through an activity where the results behaviour to facilitate understanding and increase interest in are already known) and 3 (Guided Inquiry, in which the the lessons. Journal of Robotics 7 Table 1: General characteristics of the courses. The column ”Students” represents the total number of students inscribed in the course from the start of the course to 2017. Course Programming language Simulator Real robot Students Level Available Organized course The Turtle Robot Python 2D No 200 Beginner Yes Yes Introduction to Mobile Robots Python 2D No 60 Beginner Yes Yes Mobile Robots 3D with Webots Blockly 3D No 20 Medium No No Introduction to Humanoid Robots Python - Yes 10 Advanced No Yes Mobile Robots with the Construct Python 3D No 30 Medium No No Figure 7: Course documentation page of the course (left) and programming page (right). To make the courses more interesting for the students, we employ enquiry-based learning and include different degrees decided to use gamification techniques [36] that have proven of gamification, from badges to competitions, but there are an improved answer by the students and use as complex as important differences among them. possible simulation environments. In Table1,wecan seesomeofthe generalcharacteristics A progressive method was used to present the materials, of the courses. from easier to more complex, with different tasks to solve at each point, always trying to use a discovery approach. In 3.2.1. eTh Turtle Robot. This is a simple 2D simulator [37, 38] general, we had three different sections in each course: (1) without physics, initially designed for teaching ROS concepts, movement of the robot, (2) use of the robot’s sensors, and (3) but it is also suitable for teaching programming concepts integration of movement and sensors to solve problems. or an introduction to mobile robots. It resembles the Logo We also decided that it was important to be present in turtle [39], but the notion of time (even simulated) makes the media, looking for collaborators and students but also a significant difference: the velocity of the turtle can be becoming a source of robotics information for the general controlled; thus the execution of the code is not immediate public.Thus,wecreatedasimpleFacebookpageinwhich we but progressive. trytoinformabout theactivityoftheRPN. Finally it is important to remark the security of the In the right window of Figure 7, the visualization area system. Each student has to identify himself or herself with shows the turtle. eTh web code is subscribed to the turtle some type of email account (although we facilitate the position topics, and as it moves, new position values are procedure through the use of google and Facebook accounts) received and the trajectory and turtle position on the browser before entering into the system. This creates a problem, as in window are updated. eTh turtle moves with linear and some countries (like Spain) younger people are not supposed angular velocities, allowing the user to program curved to have their own email account. When necessary, we created trajectories. Additionally, the colour of the path is selectable; accounts manually in the systems for such students. thus colourful patterns can be drawn. When the user calls an API function, like leftArc(a, r) which moves the turtle during one second along an arc trajectory of a degree and radius 3.2. Courses. There have been vfi e courses: the Turtle Robot, Introduction to Mobile Robots, Mobile Robots 3D, Intro- r, internally, the function computes the linear and angular velocities and publishes them into the corresponding topics duction to Humanoid Robots, and Mobile Robots with the Construct.AllofthemarepartoftheRPN system and for moving the turtle. 8 Journal of Robotics Figure 8: Image of the Hall of Fame with the students’ classification. Thiscourseistargetedatyoungstudents(12–14 years) integrated in our framework. This simulator adds sensors and its aim is to learn the basic concepts of programming: andthepossibilitytocontrol directlytheenginesoftherobot statements, variables, control flow, procedures, and functions. (which requires more mathematical knowledge). Figure 5 It consists of seven units with a few web documentation depicts the user interface for this simulator, which is clearly pages and assignment on each. A typical documentation similar, with buttons for optional displaying of the robot’s trail page isshowninFigure7.Themainweb page contains the path and the range sensors. Also, some videos were added informationabout thetasktosolve andsomeinstructions to the course to reinforce the learning experience (https:// about the solution. eTh user is asked to program the task on www.youtube.com/watch?v=zzTKerwN2Cg&feature=youtu the simulator in the pop-up window. .be). At the end of each section, an assignment is proposed to This course also uses tasks with increasing levels of summarize the presented contents. The student is asked to difficulty and a final test, with a badge reward, but it is solve a programming problem and to submit the solution for for older students though (at least high-school level). The the teacher to review. feedback from the students has been positive, yet most of The course includes a competition challenge [40] in order them consider that the final task (a wall-following problem) to increase the motivation of the students, where students is very difficult. are asked to program the robot to describe a trajectory in a circuit in the fastest time without going off the path. A Hall 3.2.3. Mobile Robots 3D. This course [43] tries to sim- of Fame with the best times is kept in the course, as depicted plify the programming part of a robotics course to the in Figure 8, which shows the result of the pilot experiment. maximum through the use of Blockly (https://developers This course has changed progressively, not only adding a .google.com/blockly/). n fi al evaluation test (multioption) and gamicfi ating it more Blockly is an open source project from Google to create deeply, with the use of badges (Mozilla OpenBadges, as can a visual programming language (in which we manipulate be seen in Figure 9), but also including explanatory videos the elements of the program graphically following a spatial for an easier understanding of the materials and increased grammar and not textually). It consists in a JavaScript attractiveness to the potential students. library to create visual block editors that work in a web browser. It uses blocks that link together and can generate 3.2.2. Introduction to Mobile Robots. The second course JavaScript, Python, or Dart code and allowed us to create [38, 41] was developed surrounding a more powerful and ourown specicb fi lockstocontrol therobot.Blockly has realistic simulator for mobile robots, Stage [42], but it shares been previously used successfully with educational purposes a similar organization and aspect with the Turtle Robot. eTh (https://blockly-games.appspot.com/) or in Hour of Code Stage simulator is readily available in ROS and it has been (https://hourofcode.com/es). Journal of Robotics 9 Figure 9: Several badges created for this course. Figure 10: Mobile robots 3D environment. At the same time, we decided to use a 3D simula- Webots provided us with a unique simple robot with two tor, Webots [44], which provided us with a more realistic motors that allow it to move through a plane. Also, the robot environment. Thanks are due to Cyberbotics (http://www has seven distance sensors that inform it of its surroundings. .cyberbotics.com/about), the company that was generous to As the simulator is realistic, the robot can fall down from giftuswithafreeunlimitedlicense ofWebotsthatwe the platform, it takes time to move, and the sensors have installed in one of our servers. limitations. The programming environment is thus deeply changed Following gamification techniques, the course is orga- from previous courses,as canbeseeninFigure10. nized in vfi e worlds (task) of increasing complexity in which 10 Journal of Robotics the user has to learn to use new blocks (instructions) from the system. As we are not the creators of the relatedtocharacteristicsoftherobot.Thecourseincludes a simulator, we decided not to enter into that problem. competition with oneself, a race against the clock with the five Modifying the Virtual Machine to clean better aer ft worlds. When the student nishes fi the course, he/she receives itself solved part of the problem. the corresponding badge. As usual, in the course, we use innovative gamification The first final satisfaction quiz completed by students techniques to increase the students’ interest: there are tasks motivated us to make one important change: we removed (problems) that the students have to solve and completing the na fi l test, as it was felt to be strange in the gamificated these tasks grants them badges and a final Mozilla Open- environment of this course. Also, some young students Badges when they pass the na fi l test and finish successfully (7–11 years old) followed the course without problems until the course to show their accomplishments. arriving to the last world, which they found too complex. We Several months aeft r HUMABOT, we n fi ally removed improved the help system and added some videos (https:// it from public view. eTh simulator presented problems and www.youtube.com/watch?v=kONe0zC5HnY&feature=youtu we could not maintain the kitchen environment and a .be), which seem to have eliminated the problem, but it is a NAO robot dedicated permanently to the project in our known problem of enquiry-based learning [19] that it should installation. We have been studying alternatives as changing be reinforced with the correct use of scaffolding (like more to another (cheaper) humanoid robot, like Bioloid, to be able videos and manuals) to reduce the cognitive load of the user. to have several robots available at the same time, or changing simulators, maybe jumping to cloud through the Construct, 3.2.4. Introduction to Humanoid Robots/HUMABOT 2014. but there has not been interest by the general public. As part of the congress Humanoids 2014, there was a chal- lenge, HUMABOT 2014 (http://www.irs.uji.es/humabot/), in 3.2.5. Mobile Robots with the Construct. After taking part which an artificial environment, a kitchen (as can be seen in the organization of the summer school RASPEBRAS in Figure 6, right subwindow, using the cameras added to 2015 (Summer School on Experimental Methodology, the environment), was created. In this kitchen, the robot, the Performance Evaluation and Benchmarking in Robotics NAO humanoid robot [45], had different tasks to solve, like http://www.ieee-raspebras2015.org/) and creating a bench locating the tea box or moving the tomato to the pot. We mark [48] with the Construct (http://sw.theconstructsim have already seen how we create a window in the system user .com/), a company dedicated to provide robotic simulations interface (in Figure 6, left subwindow) in which we can see inthecloud,wearrivedtoanagreement tousetheir system the NAO’s camera view. for our courses. As ahelpfortheparticipantsinthechallenge, we As theintegration betweenRPN andtheConstructis created a copy of the challenge and connected it to the not complete, the student has to have two different accounts, Internet through our system. Communication with the robot one in our system, which has the instructions and theory is possible because the ROS NAO driver (http://www.ros needed to complete the tasks, and another in the Construct .org/wiki/Robots/Nao/) connects to a custom module run- (the free account offers up to 10 hours of simulation). eTh ning the robot middleware (NAOqi), which has been devel- recommended work way is with two different tags in a web oped for USARSim [46]. eTh y could connect to the course browser. in RPN and prove their programs in the real environment u Th s, we created a version of our Mobile Robots course without the need to create their own. using their system and two different simulators, Gazebo The development for the challenge was reused to create (http://gazebosim.org/) [49] and Webots. The robots used a course in humanoid robotics [47], but we also decided were a Pioneer model (Figure 11) and a Kobuki. to include a simulator as a complement and alternative. The complete course [41] could be done in one of them, Although there are a lot of possibilities for humanoid robot but adding a different choice gives the students the opportu- simulators available in ROS, like REEM-C, HUBO, TUlip, nity to experiment how their knowledge can be transferred or PR2, we selected NAO as both the simulator and the real from one robot to another. robot are available. eTh students begin to program using the The programming language continues being Python, simulator (which they could download and use in their own but the Construct includes Jupyter Notebook ([50]http:// computer) and when they have passed several tasks, they jupyter.org/, in Figure 12), which provides a powerful but begintousetherealrobot. simple environment for programming [51]. An example of the simulator can be seen in Figure 3, where the NAO robot is standing in a room (top left we can 3.3. Evaluation. eTh evaluation of each course was made see the image from the robot camera). through the use of a n fi al questionnaire (we can see an eTh re are two problems that we would like to solve: example in Table 2) to the students and the results have (1) Several users wanted to use the NAO at the same time, already been published in previous papers like [37, 38, 41, 43, which is evidently impossible. A simple reservation 52]. The number of students in the individual experiences was system helped to improve users’ coordination. limitedfrom10to40. (2) eTh NAO simulator available in ROS is not reliable. It In general, the answers to the questions related to the crashed aeft r working continuously for several hours satisfaction degree, the learning process, and quality of the and sometimes it did not remove itself completely virtual robot were very positive answers (about 90%, as can Journal of Robotics 11 Figure 11: Pioneer robot simulation in the Construct. Figure 12: Jupyter Notebook. eTh green arrow marks the run button. be seen in Figure 13 for the first experiences with the Turtle The number of students in the rest of the courses was very Robot course [37]). Partial results of a different experience reduced, so results and conclusions cannot be considered with high-school students can be seen in Figure 14 (taken signicfi ant, but they tend to be similar to those obtained from [52]). It is clearly shown how the general satisfaction with the Turtle Robot course: interesting but connections and decreased to 60%. This was caused by different problems with simulators were not always reliable. the simulators and the connections in different courses and at different moments (how is explained in [52]). 4. Conclusions and Future Work It is also interesting to note that the students did not seem to perceive the gamification techniques (badges, points, In this paper, we have shown that RPN is a mature tool increasing difficult tasks, forums, etc.) as something espe- that has already shown its capabilities to help in teaching cially interesting or engaging, except in the case of the basic programming skills to students, although its devel- competitions with public results, in which some of them opment is ongoing, and it must yet be tested for larger entered into a very competitive stage, with repeated tries to (hundreds) number of users. A thorough study of sys- improve their results. More exhaustive testing is needed to tem vulnerabilities to malicious code must also be carried get a definitive reason for this behaviour, but it seems as if out, butthe system hasbeenproventobefairlyrobust. we need more collaborative tasks to increase communication Although the Robotic Intelligence Laboratory continues among the students and their competitiveness. being the main supporter of the RPN, two companies, 12 Journal of Robotics Table 2: Students’ questionnaire feedback for the Turtle Robot course. eTh answers are in a scale from one to ve fi : “strongly agree,” “agree,” “neutral,” “disagree,” and “strongly disagree.” Learning compared with traditional methods Didthe Turtle Robothelpyouto visualizethetheoreticalconcepts to belearned? How would you rate the outcome of your learning using the Turtle Robot if compared with “traditional methods”? Did the Turtle Robot enhance your ability to understand the theoretical concepts about programming in a new way? Ease of use DidyoufindeasytheuseoftheTurtle Robot? Did you think that the course was well structured and organized? Were you able to use the Turtle Robot by following the instructions provided? Quality of the virtual robot In which grade will you score to the quality of the virtual robot and its simulation? In which grade will you score to the quality of the remote connection? Was the response time of the remote laboratory suitable? Suitability in learning of relevant concepts Did the Turtle Robot help you for understanding the concepts of structured programming (conditions, loops) of the lectures? In which grade do you think that the Turtle Robot can be used for learning programming? Satisfaction degree In general, do you feel satisfied with the practical experiences through the Internet? Figure 13: Results of the Turtle Robot course students questionnaire, from [37]. Cyberbotics and the Construct, are actively collaborating development of their classes [52]. Most of them have not with us. n fi ally applied the system, citing lack of familiarity with the The initiative and the courses have woken up interest subject and time and organization problems. among high-school teachers, several of which have tested the Some university teachers have also expressed interest, but courses with the stated intention of using them in the normal in general they nd fi the courses too easy for their students. Journal of Robotics 13 Satisfaction degree At the same time, looking for a more attractive pre- sentation and following the users recommendations, we have created a different type of course, a more traditional MOOC called Autonomous Mobile Robots (http://mooc .uji.es/enrol/index.php?id=22) that began in February 2017 and had a moderate success, with more than 100 students. In 2018,theMOOCwillhaveitssecondedition andwehopeit will be still more successful. Computer science master students at Jaume I University will continue testing the courses and help us to improve them, becoming open access when they reach an acceptable level. At theendof2017,wearestilltryingtoimprovetheintegrationof the Construct system with ours and testing the 2018 MOOC, which will include more collaborative tasks. Technically, a possible extension of the system is the addition of feedback messages during the execution of the script, a possibility already available in the actionlib ROS Strongly agree package. The client would then periodically update the output Agree in the browser window, thus providing the user with a more Neutral interactive experience. The system is restricted to scripting Disagree languages (Python), but any scripting language with ROS Figure 14: Results of the Turtle Robot course students question- supportcouldbe used.Specialattentionshouldbedevoted naire, from [52]. to Matlab, a leading programming language for science and engineering. We plan to develop further courses about cooperative Given the opportunity to create their own courses (or ver- robots, robot manipulators, or drones. sions of ours) using our simulators, they have preferred to use As part of our educational initiative and aiming to attract their own systems (usually some Moodle version provided by students, we participate several times a year in robotics their university) and have a bigger control of the process. demonstrations oriented to young people and general public In general, the students are interested in robots and like“Conecta conlaCiencia”organized byJaumeIUniversity controlling them, but they find programming a robot a (http://www.uji.es/perfils/futurs/base/accions/grau/connec- challenge. ta/&idioma=es) or DESTACA2014 (http://feriadestaca.es/) There are three general types of student, in decreasing organized by Cat ´ edra de Innovacion ´ Ceramica ´ «Ciutat numbers: de Vila-real» and Vila-real City, with Fundacion ´ Globalis collaboration. These activities have guaranteed our presence (1) Curious ones that enter into the courses but do not inthelocalmedia. Andfinallywehavemadeaconscious begin the assignments effort to have a presence in the media (through a Facebook (2) Half-way students who aer ft completing several tasks page https://www.facebook.com/RobotProgrammingNet- of increasing difficulty leave the course work/ and a YouTube channel https://www.youtube.com/ (3) Completion students who complete all the tasks and channel/UCeWlJxX52YHjf62xAoWfLeg), as a further meth- do the tests od to increase visibility of the project. In some cases, both teachers and students expected a more “traditional” MOOC, with video lectures that they Abbreviations could use directly in class. eTh completion users have expressed a wish for more real- AENUI: Asociacion ´ de Ensena ˜ ntes Universitarios isticrobots, whichhasmovedusfrom2Dto3Dsimulators. de la Informat ´ ica At the same time, to compensate for the lack of programming API: Application Programming Interfaces experience, we have chosen simple programming languages CEMRA: Creation of Educational Materials for and intuitive environments. Robotics and Automation We also plan to improve our approach to enquiry-based IEEE-RAS: Institute of Electrical and Electronics learning including more reinforcing materials, as manuals Engineers Robotics and Automation and videos, as suggested by other authors, like [19]. This Society should help students to make the more difficult exercises LTI: Learning Tools Interoperability easier andalsofinish thecourses successfully. MOOC: Massive Online Open Courses In the latest developments, we have oriented the initiative RASPEBRAS: Robotic and Automation Society Summer to usethe Constructsimulator.Thefreetoolsitprovides are School on Experimental Methodology, a big improvement over other systems and free us from the PerformanceEvaluationand necessity of our own servers. Benchmarking in Robotics 14 Journal of Robotics [12] N. Tillmann, M. Moskal, J. de Halleux et al., “eTh future of RMS: Robot Management System teaching programming is on mobile devices,” in Proceedings ROS: Robot Operating System of the Proc. 17th ACM annual conference on Innovation and RPN: Robot Programming Network Technology in Computer Science Education, ITiCSE’12,pp. 156– VM: Virtual Machine. 161, Haifa, Israel, 2012. [13] E. Wang, “Teaching freshmen design, creativity and program- Conflicts of Interest ming with LEGOs and Labview,” in Proceedings of the 31st Annual Frontiers in Education Conference. Impact on Engineer- eTh authors declare that there are no conflicts of interest ing and Science Education.,pp. F3G–11-15,Reno, NV,USA. regarding the publication of this paper. [14] F. Mondada, M. Bonani, X. Raemy et al., “The e-puck, a robot designed for education in engineering,” in 9th Conference on Autonomous Robot Systems and Competitions,vol.1,no.1,pp. Acknowledgments 59–65, 2009. This project was made possible thanks to IEEE Robotics and [15] J. Trevelyan, “Lessons learned from 10 years experience with Automation Society (IEEE-RAS http://www.ieee-ras.org/) remote laboratories,” in Proceedings of International Conference through a CEMRA grant (Creation of Educational Materials on Engineering Education and Research, iCEER,pp. 687–697, Bouzov Castle, Check Republic, 2004. for Robotics and Automation). Thanks are due to to the Construct and Cyberbotics. Thanks are also due to Minis- [16] V. Djalic, P. Maric, D. Kosic, D. Samuelsen, B. yTh berg, and O. terio de Econom´ıa y Competitividad (DPI2011-27846) and Graven, “Remote laboratory for robotics and automation as a tool for remote access to learning content,” in Proceedings of the Generalitat Valenciana (PROMETEOII/2014/028) at Jaume I 2012 15th International Conference on Interactive Collaborative University (P1-1B2011-54). Learning, ICL 2012, Villach, Austria, September 2012. [17] M. Casini, A. Garulli, A. Giannitrapani, and A. Vicino, “A References remote lab for experiments with a team of mobile robots,” Sensors,vol.14, no.9,pp.16486–16507,2014. [1] J. G. Wilhelm and P. J. Wilhelm, “Inquiring minds learn to read, [18] C. D’Angelo, D. Rutstein, C. Harris, R. Bernard, E. Borokhovski, write, and think: Reaching all learners through inquiry,” Middle and G. Haertel, “Simulations for STEM Learning: Systematic School Journal,pp. 39–46, 2010. Review and Meta-Analysis,” in Proceedings of the SRI Interna- [2] E. M. Furtak, T. Seidel, H. Iverson, and D. C. Briggs, “Experi- tional, Menlo Park, CA, USA, 2014. mental and quasi-experimental studies of inquiry-based science [19] T. De Jong, M. C. Linn, and Z. C. Zacharia, “Physical and Virtual teaching. A meta-analysis,” Review of Educational Research,vol. Laboratories in Science and Engineering Education,” Science, 82, no. 3, Article ID 0034654312457206, pp. 300–329, 2012, vol. 340, no. 6130, 2013. https://doi.org/10.3102/0034654312457206. [20] T.de Jong,S.Sotiriou, andD.Gillet,“InnovationsinSTEMedu- [3] C.BonwellandJ.Eison,ActiveLearning:CreatingExcitement cation: the Go-Lab federation of online labs,” Smart Learning in the Classroom AEHE-ERIC Higher Education Report No. 1, Environments,vol.1,no. 1,2014. Jossey-Bass, Washington, D.C., USA, ISBN 1-878380-08-7, 1991. [21] M. Quigley, K. Conley, B. Gerkey et al., “ROS,” An open-source [4] M. A. Albanese and S. Mitchell, “Problem-based learning: a robot operating system,2009. review of literature on its outcomes and implementation issues,” Academic Medicine,vol.68,no.1,pp.52–81, 1993. [22] S. Osentoski, G. Jay, C. Crick, B. Pitzer, C. Du Hadway, and O. C. Jenkins, “Robots as web services: Reproducible experimen- [5] J. Johnson, “Children, robotics, and education,” Artificial Life tation and application development using rosjs,” in Proceedings and Robotics,vol.7,no. 1-2, pp.16–21,2003. of the 2011 IEEE International Conference on Robotics and [6] V. Dagdilelis, M. Sartatzemi, and K. Kagani, “Teaching (with) Automation, ICRA 2011, pp. 6078–6083, chn, May 2011. robots in secondary schools: Some new and not-so-new peda- [23] M. Kulich, J. Chudoba, K. Kosnar, T. Krajnik, J. Faigl, and L. gogical problems,” in Proceedings of the 5th IEEE International Preucil, “SyRoTek-Distance teaching of mobile robotics,” IEEE Conference on Advanced Learning Technologies, ICALT 2005,pp. Transactions on Education,vol.56, no.1,pp. 18–23,2013. 757–761, Kaohsiung, Taiwan, July 2005. [24] M.Waibel,M.Beetz,J.Civeraetal.,“Robo earth,” IEEE Robotics [7] F. Barreto and V. Benitti, “Exploring the educational potential and Automation Magazine,vol.18, no.2,pp. 69–82,2011. of robotics in schools: A systematic review,” Computers & Education, vol. 58, no. 3, pp. 978–988, 2012. [25] M. C. Viegas, G. Alves, A. Marques et al., “eTh VISIR+ Project Preliminary results of the training actions,” Online Engineering [8] K. Schilling, H. Roth, and O. J. Ros ¨ ch, “Mobile mini-robots for &InternetofThings ,pp. 375–391, 2018. engineering education,” Global Journal of Engineering Educa- tion,vol.6,no. 1, pp.79–84,2002. [26] A. Mej´ıas and J. M. Anduja ´ r, “Interaction of Real Robots [9] S. Djenic, R. Krneta, and J. Mitic, “Blended learning of program- with Virtual Scenarios through Augmented Reality: Application to Robotics Teaching/ Learning by Means of Remote Labs,” ming in the internet age,” IEEE Transactions on Education,vol. 54, no. 2, pp. 247–254, 2011. International Journal of Engineering Education,vol.9,no.3, [10] C. C. Ratcliff and S. E. Anderson, “Reviving the turtle: Explor- ing the use of logo with students with mild disabilities,” [27] B.Pitzer,S.Osentoski,G.Jay,C.Crick,andO.C. Jenkins, Computers in the Schools,vol.28,no.3,pp.241–255, 2011, “PR2 Remote Lab: An environment for remote development https://doi.org/10.1080/07380569.2011.594987. and experimentation,” pp. 3200–3205. [11] K. Asanovic, R. Bodik, J. Demmel et al., “A view of the parallel [28] R. Mar´ın, P. J. Sanz, and A. P. Del Pobil, “The UJI Online Robot: computing landscape,” Communications of the ACM,vol.52,no. An Education and Training Experience,” Autonomous Robots, 10, pp. 56–67, 2009. vol. 15, no. 3, pp. 283–297, 2003. Journal of Robotics 15 [29] B. Alexander, K. Hsiao, C. Jenkins, B. Suay, and R. Toris, [47] G. A. Casan, ˜ E. Cervera, A. del Pobil, and G. A. Casan, ˜ “Online “ROS Topics: Robot Web Tools,” IEEE Robotics & Automation teaching of humanoid robots,” in Human Robot Interaction Magazine,vol.19, no.4,pp.20–23,2012. Education Workshop, Portland, Oregon, 2015. [30] C. Crick, G. Jay, S. Osentoski, and O. C. Jenkins, “ROS and [48] G. A. Casan˜,E.Cervera,O.Michel,R.Tellez, andG.A.Casan, ˜ “NAO Race Competition,” ReVision ´ ,vol.8,no.3, ISSN1989- Rosbridge: Roboticists out of the loop,” in Proceedings of the 7th Annual ACM/IEEE International Conference on Human-Robot 1199, 2015. Interaction, HRI’12, pp. 493-494, USA, March 2012. [49] N. Koening and A. Howard, “Design and Use Paradigms for Gazebo, An Open-Source Multi-Robot Simulator,” in Proceed- [31] M. Dougiamas and P. C. Taylor, “Moodle, Using learning ings of IEEE/RSJ International Conference on Intelligent Robots communities to create an open source course management and Systems,pp. 2149–2154, Sendai,Japon, 2004. system,” in Proceedings of World conference on educational multimedia, hypermedia and telecommunications, pp. 171–178, [50] V. V. Klndratenko, C. P. Steffen, and R. J. Brunner, “Accelerating scientific applications with reconfigurable computing: getting started,” Computing in Science & Engineering,vol.9,no.5, pp. [32] M. Alier, M. J. Casan, ˜ and J. Piguillem, “Moodle 2.0: Shifting 70–77, 2007. from a learning toolkit to a open learning platform,” Commu- nications in Computer and Information Science,vol.73, pp.1–10, [51] D. Pritchard and T. Vasiga, “CS Circles: An in-browser python 2010. course for beginners,” in Proceedings of the 44th ACM Technical Symposium on Computer Science Education, SIGCSE 2013,pp. [33] M. Casini, F. Chinello, D. Prattichizzo, and A. Vicino, “RACT: A 591–596, usa, March 2013. remote lab for robotics experiments,” in Proceedings of the 17th IFAC World Congress, Seoul , korea, July 2008. [52] G. A. Casan˜ and P. Ramo, “Una experiencia en la ensena ˜ nza en secundaria de robo´ticayprogramacion ´ con recursos remotos: [34] I. Matijevics, “Local and remote laboratories in the education el curso Tortuga del RPN,” ReVision, vol. 10, no. 3, ISSN 1989- of robot architectures,” in Intelligent Engineering Systems and 1199, 2017. Computational Cybernetics,pp.27–36, Springer,2009. [35] H. Banchi and R. Bell, “eTh Many Levels of Inquiry,” Science and Children,vol.46, no.2,pp. 26–29, 2008. [36] K. M. Kapp, The Gamification of Learning and Instruction , Pfeiffer, Game-Based Methods and Strategies for Training and Education, 2012. [37] E. Cervera, P. Martinet, R. Marin et al., “eTh Robot Program- ming Network,” Journal of Intelligent and Robotic Sytems,vol. 81,no.1, pp.77–95,2015. [38] E. Cervera and G. A. Casan, ˜ “Robot Programming Network: un sistema distribuido para el aprendizaje de la programacion ´ de robots,” ReVision, vol. 8, no. 1, ISSN 1989-1199, 2015. [39] P. B. Lawhead, M. E. Duncan, C. G. Bland et al., “A road map for teaching introductory programming using LEGO' mindstorms robots,” ACM SIGCSE Bulletin,vol.35,no.2,pp. 191–201, 2003. [40] R. R. Murphy, “Competing for a robotics education,” IEEE Robotics and Automation Magazine,vol.8,no. 2, pp.44–55, [41] G. A. Casan˜ and E. Cervera, “Introduccion ´ a la Programacion ´ de Robots Movi ´ les: un curso en 3D con simuladores,” ReVision ´ , vol. 9, no. 3, ISSN 1989-1199, 2016. [42] R. Vaughan, “Massively multi-robot simulation in stage,” Swarm Intelligence,vol.2,no.2-5, pp.189–208,2008. [43] G. A. Casan˜ and E. Cervera, “RPN: aprendizaje de la pro- gramacion ´ de robots mediante bloques en un entorno 3D,” ReVision ´ , vol. 8, no. 3, ISSN 1989-1199, 2014. [44] O. Michel, “Webots: professional mobile robot simulation,” International Journal of Advanced Robotic Systems,vol.1,no.1, pp.39–42,2004. [45] D. Gouaillier, V. Hugel, P. Blazevic et al., “Mechatronic design of NAO humanoid. Proc. IEEE International Conference on Robotics and Automation, ICRA’09,” in Proceedings of IEEE International Conference on Robotics and Automation,pp.769– 774, ICRA’09, Kobe, Japon, ´ 2009. [46] S. Van Noort and A. Visser, “Validation of the dynamics of an humanoid robot in USARSim,” in Proceedings of the 11th Workshop on Performance Metrics for Intelligent Systems,pp. 190–197, March 2012. International Journal of Advances in Rotating Machinery Multimedia Journal of The Scientific Journal of Engineering World Journal Sensors Hindawi Hindawi Publishing Corporation Hindawi Hindawi Hindawi Hindawi www.hindawi.com Volume 2018 http://www www.hindawi.com .hindawi.com V Volume 2018 olume 2013 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 Journal of Control Science and Engineering Advances in Civil Engineering Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 Submit your manuscripts at www.hindawi.com Journal of Journal of Electrical and Computer Robotics Engineering Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 VLSI Design Advances in OptoElectronics International Journal of Modelling & Aerospace International Journal of Simulation Navigation and in Engineering Engineering Observation Hindawi Hindawi Hindawi Hindawi Volume 2018 Volume 2018 Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com www.hindawi.com www.hindawi.com Volume 2018 International Journal of Active and Passive International Journal of Antennas and Advances in Chemical Engineering Propagation Electronic Components Shock and Vibration Acoustics and Vibration Hindawi Hindawi Hindawi Hindawi Hindawi www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018 www.hindawi.com Volume 2018

Journal

Journal of RoboticsHindawi Publishing Corporation

Published: Jun 7, 2018

References