Learning by Doing - Mobile Robotics in the FH Aachen ROS Summer School Patrick Wiesen, Heiko Engemann, Nicolas Limpert, Stephan Kallweit University of Applied Sciences Aachen, Institute for Mobile Autonomous Systems and Cognitive Robotics (MASCOR), Aachen, Germany Technical University of Tshwane, TUT, Pretoria {wiesen, engemann, limpert, kallweit}@fh-aachen.de Abstract. Mobile Robotics is one of the highest rated future technologies and a fast growing market. For a modern approach of this topic - mobile robotics - the most accepted framework is the Robot Operating System ROS. Learning ROS is still a challenging topic, so an educational concept for qualifying students is presented. The ROS Summer School is a “hands-on” approach for learning robotics with a high degree of practical aspects. The large number of participants shows the demand for educational programs covering the need for open source technologies in Robotics. Keywords: ROS, Summer School, robotics education, mobile robotics, autonomous navigation 1 Introduction Autonomous mobile robotics is a key technology for the upcoming digital revolution. In the future, the manufacturing industry will use mobile robotics for flexible, customized production. In the service sector, mobile robots are useful for logistic tasks, like warehousing, are able to support facility management and are useful for service economy. As a result, a lot of today's jobs will be affected by automated solutions. Current studies show that 47 % of the jobs in the USA, 57 % of the jobs in the OECD and 77 % jobs in China could be affected by this change [1]. One of the major challenges of the society is to shift workers into newly emerging jobs and to prepare students for the upcoming needs of the job market. It might be an opportunity to achieve this shift by teaching the Robot Operating System (ROS) [2]: one of the most accepted frameworks in the area of mobile robotics. It has become the standard in research and is increasingly introduced into industry. Research scientists worldwide are exchanging their results in form of ROS TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 47 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 47 2 modules, called ROS packages. The open source concept is supporting the development and the dissemination of this framework, so the importance of ROS increases constantly. The community, the number of packages, the questions and the wiki pages of ROS are growing exponentially since its release in 2009 [3], which can be proofed by the annual ROS metrics report1. The digital revolution leads to a demand in education in robotics and especially in the ROS framework . 1.1 The FH Aachen ROS Summer School In 2012, the University of Applied Sciences Aachen started to satisfy this demand by organizing the ROS Summer School for an international audience on an annual basis. Since the very beginning, the concept was to learn ROS by using it with real robots. The Aachen ROS Summer School was one of the first of its kind and became quite popular. The number of participants was growing quickly as shown in figure 1 (left). The Aachen ROS Summer School started initially with ten participants and multiplied the number quickly up to around 50 external participants within the last years, coming from between 15 to 25 different countries (s. Fig. 1). Fig. 1.​​ Left: Number of participants and nationalities in FH Aachen ROS Summer School. Right: World map highlighting the ROS Summer School participants origin. During the last six years the didactic concept and the used hardware has been continuously improved. The goal is to increase the theoretical knowledge about mobile robotics as well as handling real robots with the framework ROS in a short amount of time. 1 http://download.ros.org/downloads/metrics/metrics-report-2017-07.pdf TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 48 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 48 3 1.2 FH Aachen Rover A dedicated hardware for the Summer School was developed, in order to generate a suitable educational platform and to allow the participants to easily copy the hardware for their own purpose. The FH Rover is based on a common RC-Crawler chassis and uses a large amount of different hardware components. The hardware is attached to the rover using a customized mount. Figure 2 gives an overview about the different components of the FH Rover. The complete system is powered by just one LiPo battery. Fig. 2. Hardware components of the FH Rover. Clockwise, starting from the top left: 2D Laser Range Finder SICK Tim 571, Embedded PC Odroid XU4, Gamepad, Infrared Sensor Sharp GP2Y0A21YK0F, LiPo battery Turnigy nano-tech 5800 mAh, Battery beeper, Webcam Logitech C270 and Megapirate AIOP v2 Flight Controller. The Megapirate AIOP v2 flight controller interfaces the motor controller of the RC car and the additional infrared sensor mounted at the front of the chassis. The flight controller is based on an ATMega 2560 microcontroller. In addition it is equipped with the MPU6050 IMU. An embedded PC with ARM-architecture is used for high level processing running ROS under Ubuntu. The Odroid XU4 interfaces the 2D laser range finder SICK TIM571, the Logitech C270 webcam, the flight controller and the optional the gamepad. During the ROS Summer School, the participants will learn how to handle all the different hardware components. The participants go through the complete pipeline starting from the motor controller commands on microcontroller level, up to the high level tasks of path planning. This results in a complete bottom up study of a mobile robot. TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 49 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 49 4 2 Intended Learning Outcomes The main intended learning outcome (ILO) from the ROS Summer School is to achieve core competencies in the field of mobile robotics exemplary on a car like robot. The theoretical concepts are practically applied using ROS and handled within different subjects, which are separated in two parts: Basic ROS concepts and Higher Level Mobile Robotics. The Basic ROS concepts are learned within the practical sessions: Software Hierarchy, Communication, Interfacing Hardware and Development of Robot Applications. During the sessions about Higher Level Mobile Robotics, the participants can use their Rover platform to experience 3D (x, y, θ) robot simulation using Gazebo [4], Image processing with OpenCV [5] and Alvar for Marker Tracking [6], map generation and SLAM using hector_slam [7], navigation using move_base [8] and State Machine development for complex robot behaviours using SMACH [9]. In addition, the cultural exchange and an inspiring atmosphere are key elements for a successful training. Table 1 shows an overview about the covered concepts, ROS packages and ROS tools in form of a time schedule. Table 1.​​ Concepts, ROS packages and tools covered in the ROS Summer School. Day Concept related ROS packages and tools Welcome Day 1 Registration, ROS Show, ROS Introduction Basics 2 catkin, turtlesim Linux Introduction, ROS Filesystem, ROS Nodes Communication 3 rqt_graph, rviz, joy Publisher/Subscriber, Services, Parameter Server Hardware rosserial, tf2, 4 Microcontroller, Transformations, Hardware Interfaces sick_tim, rqt_tf_tree Simulation/ Image Processing 5 ar_track_alvar, gazebo_ros Robot model description URDF, Gazebo, AR-Tags 6 Trip to Paris laser_scanmatcher, amcl, 7 Localization and Mapping hector_slam, gmapping 8 Path Planning move_base, smach 9 Industrial Exhibition 10 Exam and challenge preparation 11 Challenge day TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 50 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 50 5 2 Didactic concept There are multiple concepts on how to teach ROS, like MOOCs, the ROS Wiki or e.g. books like “A Systematic Approach to Learning Robot Programming with ROS” by Newmann and Wyatt [10]. The didactic concept of the ROS Summer School is based on [11] by A. Ferrein et al. The aim is to build up knowledge in the field of mobile robotics and to bring the participants to an intermediate ROS level in just two weeks. The didactic concept is based on the SOLO Taxonomy concept [9] by J. Biggs et al., where SOLO means “Structure of the Observed Learning Outcome”, which was re-engineered by C. Brabrand et. al in [10] to clarify the five different SOLO levels by classifying them with verbs describing the Learning Outcome of the students.The intended learning outcomes are related to the daily structure of the sessions (s. Fig. 3). Fig. 3.​​ ROS Summer School SOLO Taxonomy based on [10]. Each day of the Summer School is mainly splitted in three different sessions: Lecture, Tutorial and Workshop. The daily procedure of the ROS Summer School is that every day a new topic is handled. The average participants usually arrive to the ROS Summer School with the pre-structural SOLO level 1. That means they have no detailed idea of the Robot Operating System, because they never used it before. Some participants might have worked already with ROS and possibly reached SOLO 2 or SOLO 3 for a couple of items. For other specific content they are trying to extend TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 51 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 51 6 their knowledge. The goal is to bring all students to SOLO 3 after each one day session for each specific topic. This starts in the morning with a 90 - 120 minutes interactive lecture where a subject in theory, e.g. ROS Communication is introduced. Key terms of this subject will be named and defined, e.g. ROS Master, Topics, Publisher, Subscriber or Services. The key words “define” and “name” are related to the uni-structured SOLO level 2. After the lecture the participants start with a practical Tutorial, which is done from the very first day using the robots. The Tutorial is a step by step instruction of how to implement the theoretical parts learned during the lecture in practice, using ROS. The participants just have to follow simple instructions. The students can work in their own pace and the Tutorials usually take 120 - 240 minutes depending on the complexity of the daily subject and the pace of the students. “Following simple instructions” is also related to SOLO 2, but in the Tutorials it is a practical implementation instead of theoretical knowledge. An example is e.g. to create a first Publisher and Subscriber for a simple “Hello ROS” node based on a given template. In the afternoon the participants can start with the Workshop. This Workshops requires to “apply the methods” from the Lecture and the Tutorial. The students have to solve a practical problem on their own, without step by step instructions. They have to “describe”, “structure” and “combine” the learned concepts. The keywords used to describe the Workshop are related to the multi-structural SOLO level 3. Depending on the topic and the students pace, the Workshops usually take 120 - 300 minutes. Based on the example for the Tutorial, the students would be asked in a Workshop to create a Publisher and Subscriber node to be able to teleoperate the robot. In this case they won’t get any template, but have to use the example from the Tutorial. The transfer effort is e.g. to choose the correct Message Type, which is different from the one in the Tutorial. The single days of the ROS Summer School are structured in such a way, that the content of the next day depends on the content of the day before. To be able to solve the new subject, the students have to reach SOLO 2, but not SOLO 3. Finally, on the last day of the ROS Summer School all participants compete in a challenge. This challenge invites the participants to “analyze”, “compare” and “integrate” all the knowledge they have gathered within the complete Summer School and transfer this knowledge to solve a real world problem. These keywords lead to a point, where participants can reach the relational SOLO level 4 during the challenge preparation and execution. 3 The Challenge To consolidate the learned aspects, the participants take part in a challenge. The challenge is a typical Find & Rescue scenario. It requires the robot to drive throughout a prepared arena (s. Fig. 4 top) and report position and identification of fiducial markers, called AR tags (s. Fig. 4 bottom left), that are commonly used for augmented reality purposes. The groups can decide to participate in the “real world” league or in the “simulation” league, which are separated to each other, but follow the TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 52 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 52 7 same rules. The simulation arena is a 1:1 rebuild in Gazebo from the real world scenario (s. Fig. 4 bottom right). Fig. 4.​​ Top: The challenge arena from ROS Summer School 2017. Bottom right: Fiducial marker - AR tag - detection in simulation.​ ​Bottom left: Gazebo simulated challenge arena. The rules are as follows: each group gets a time frame of 300 seconds to solve the task. The scoring does also start with 300 points. Every used second will subtract one point from the score. It is not allowed to finish before finding all victims, which are represented by the AR tags. Identification of a victim will add additional 10 points, reporting the correct position related to the world frame will add another 50 points. The participants have four options of autonomy level to perform through the arena, where autonomy will be honored by a multiplication factor of the total score: ● Teleoperated x1 ● Reactive x2 ● Semi autonomous x3 ● Fully autonomous x4 TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 53 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 53 8 In teleoperated mode participants are allowed to manually control the robot to move throughout the course using a game controller. They still have to send the information about the victims before they are allowed to finish. Reactive mode means, the robot can make use of a combination of distance information, e.g. laser range finder and infrared sensor, to be able to calculate motion directions and avoid collisions. In the semi autonomous level the participants are allowed to send goal positions manually, e.g. via command line or a GUI like rviz, but the robot has to plan and execute the path autonomously. The fully autonomous level requires the participants to make use of motion planners allowing to send navigational goals. In addition, they need to perform some task level behaviour. This approach is mainly based on the move_base ROS node and the SMACH task level architecture taught during the Summer School. The different levels of experience and motivation of the participants represent several approaches that lead to success or failure. The most successful Team in 2017 decided to work with several abstractions. High-level decisions made by their approach took care of a clean definition of a behaviour, which decided to only send navigation goals and react according to detected fiducial markers. Lower components, e.g. fiducial marker reporting or navigation, were only responsible to do their particular task. 5 Worldwide export In addition to the annual local ROS Summer School in Aachen, there was a demand for more educational ROS activities in other regions. In March 2016, the University of Applied Sciences Aachen started to export the Summer School concept to a partner university, the Tshwane University of Technology TUT in Pretoria, South Africa. The Hardware was shipped from Aachen to Pretoria and 20 participants from TUT joined the course. The training material was compressed to make it a “one-week” event. This time issue was the reason to remove the fully autonomous approaches including the subjects move_base and SMACH. In November 2017 another export was generated again at TUT. This time it was decided to use only simulation due to logistical and financial issues. The use of simulation allowed including more content, because the students did not need extra time to work on the hardware. In between a couple of ROS School and ROS Industrials trainings have been performed based on a similar agenda. All exports can be seen in Table 2. TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 54 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 54 9 Fig. 5.​​ Round course arena for ROS Winter School 2018 at MCI in Innsbruck The latest export took place in February 2018: the ROS Summer School in Innsbruck, Austria. It was hosted at the Management Center Innsbruck (MCI) and part of their Winter School program. The Winter School Program at MCI is another international event, 20 participants from six different countries participated. This ROS School lasted for five days, not including the option of a full autonomous approach during the competition. However, given a similar task compared to the other Summer Schools, the participants managed to move their robots throughout the arena. The main achievement was to move reactively through a round course (s. Fig. 5) and stop in front of a STOP shield represented by an AR tag. Table 2.​​ FH Aachen ROS Summer School exports Number Date Location Type of participants March 2016 TUT, Pretoria, South Africa ROS School 20 November 2016 Fraunhofer IPA, Stuttgart, Germany ROS-i Training 15 May 2017 TU Delft, Delft, Netherlands ROS-i Training 10 July 2017 Fraunhofer IPA, Stuttgart, Germany ROS-i Training 5 August 2017 Tartu, Estonia ROS School 20 October 2017 FabLab, Venice, Italy ROS-i Training 10 November 2017 TUT, Pretoria, South Africa ROS School 10 February 2018 MCI, Innsbruck, Austria ROS School 20 TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 55 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 55 10 6 Evaluation To identify issues or ways for improvement, the participants are supposed to fill a feedback questionnaire. The outcome from the questionnaire is consolidated in Figure 6. Throughout the years, the ROS Summer School hosted at FH Aachen continuously improved. The feedback from participants throughout the different Summer Schools resulted in several changes according to the participants needs. Fig. 6.​​ Evaluation of feedback questionnaire from 2015 - 2017. Average ratings filled by participants are in the range of 1 (very good) to 5 (very bad). Free text fields with info and comments for further improvement help to get an anonymous perspective from participants. In general, participants seem to prefer the increasing difficulty throughout the Summer School. In particular the approach to consolidate the learned aspects by the end of the Summer School was well received. According to the questionnaire the pace of lectures seems to be well met. Example comments from the free text fields in 2017 have been: ● “It was very interesting course with application on robot which helps learn and apply simultaneously.” ● “The lecture is a must for students interested in robotics.” ● “The amount of practical approach in relative to the seminar is much [...] to my liking.” These comments implement that the practical approach to learn ROS is very much accepted by the students and we will intensify and improve the practical sessions. TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 56 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 56 11 7 Conclusion The Aachen ROS Summer School is one of many ways to learn ROS. Nevertheless it is very well established and accepted by the ROS Community, proven by the evaluations of the event. With a regular participation number of 40 - 50 international students (s. Fig. 7), the presented Summer School fulfills the request in ROS education. Since the capacities of the FH Aachen are exhausted with a total of 50 external participants at a time, the international export concept has created another opportunity to grow. In spite of that, the great demand creates enough room in the field of ROS related robotics education for upcoming MOOCs and other ROS learning platforms. Fig. 7. ​Group photo ROS Summer School 2017. The evaluation also gives still some space to improve the ROS Summer School and keep it up to date, which is done every year in the phase before the Summer School starts. That includes: Documentation, Hardware and Software. In 2017 the evaluation feedback was better than all years before, but the main criticism was the difficulty in mastering the Ackerman kinematics of the RC car. This issue is related to the specific RC car model itself and will be solved for the ROS Summer School 2018 through further improvements. The later editions of the ROS Summer School are part of the ROSIN project. The ROSIN project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 732287. TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 57 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 57 12 Bibliography [1] Carl Benedikt Frey and Michael A. Osborne „The Future of Employment: How Susceptible Are Jobs to Computerisation? | Publications“. Oxford Martin School. Zugegriffen 20. Februar 2018. https://www.oxfordmartin.ox.ac.uk/publications/view/2279. [2] Quigley, Morgan, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, und Andrew Y. Ng. „ROS: an open-source Robot Operating System“. In ​ICRA workshop on open source software​, 3:5. Kobe, Japan, 2009. [3] Boren, J., und S. Cousins. „Exponential Growth of ROS [ROS Topics]“. ​IEEE Robotics Automation Magazine 18, Nr. 1 (März 2011): 19–20. https://doi.org/10.1109/MRA.2010.940147. [4] Koenig, N., und A. Howard. „Design and use paradigms for Gazebo, an open-source multi-robot simulator“. In ​2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566)​, 3:2149–54 Bd.3, 2004. https://doi.org/10.1109/IROS.2004.1389727. [5] Bradski, Gary, und Adrian Kaehler. „OpenCV“. ​Dr. Dobb’s journal of software tools​ 3 (2000). [6] Kato, H., und M. Billinghurst. „Marker tracking and HMD calibration for a video-based augmented reality conferencing system“. In ​2nd IEEE and ACM International Workshop on Augmented Reality, 1999. (IWAR ’99) Proceedings​, 85–94, 1999. https://doi.org/10.1109/IWAR.1999.803809. [7] Kohlbrecher, S., O. von Stryk, J. Meyer, und U. Klingauf. „A flexible and scalable SLAM system with full 3D motion estimation“. In ​2011 IEEE International Symposium on Safety, Security, and Rescue Robotics,​ 155–60, 2011. https://doi.org/10.1109/SSRR.2011.6106777. [8] Marder-Eppstein, E., E. Berger, T. Foote, B. Gerkey, und K. Konolige. „The Office Marathon: Robust navigation in an indoor office environment“. In ​2010 IEEE International Conference on Robotics and Automation​, 300–307, 2010. https://doi.org/10.1109/ROBOT.2010.5509725. [9] Bohren, J., und S. Cousins. „The SMACH High-Level Executive [ROS News]“. ​IEEE Robotics Automation Magazine 17, Nr. 4 (Dezember 2010): 18–20. https://doi.org/10.1109/MRA.2010.938836. [10] Newman, Wyatt. ​A Systematic Approach to Learning Robot Programming with ROS​. CRC Press, 2017. [11] Ferrein, Alexander, Stephan Kallweit, Ingrid Scholl, und Walter Reichert. „Learning to Program Mobile Robots in the ROS Summer School Series“. Zugegriffen 20. Februar 2018. http://opus.bibliothek.fh-aachen.de/frontdoor/index/index/docId/7418. [12] John, Biggs, and Tang Catherine. ​Teaching For Quality Learning At University.​ McGraw-Hill Education (UK), 2011. [13] Brabrand, Claus, und Bettina Dahl. „Using the SOLO Taxonomy to Analyze Competence Progression of University Science Curricula“. ​Higher Education 58, Nr. 4 (1. Oktober 2009): 531–49. https://doi.org/10.1007/s10734-009-9210-4. TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS” (Edited TRROS by S. – 2018 Schiffer, EuropeanA. Robotics Ferrein, M. Bharatheesha, Forum and C. 2018 Workshop Hernández “Teaching Corbato) Robotics with ROS” 58 (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato) 58