=Paper= {{Paper |id=Vol-2329/paper-05 |storemode=property |title=Teaching ROS efficiently to mixed skill classes |pdfUrl=https://ceur-ws.org/Vol-2329/paper-05.pdf |volume=Vol-2329 |authors=Benjamin Staehle,Wolfgang Ertel |dblpUrl=https://dblp.org/rec/conf/erf/StaehleE18 }} ==Teaching ROS efficiently to mixed skill classes== https://ceur-ws.org/Vol-2329/paper-05.pdf
      Teaching ROS efficiently to mixed skill classes
      A blended learning approach with gamification elements

                              Staehle Benjamin and Ertel Wolfgang

               Institute for Artificial Intelligence University of Applied Sciences
                Ravensburg-Weingarten, Germany staehle@hs-weingarten.de



           Abstract. In this work in progress report, we illustrate how to efficiently
           teach a mixed skill class the foundations of ROS within one semester in a
           single course. The goal is to equip students with the basic knowledge and
           tools to join our Robocup@Home team, start a scientific project or thesis.
           To achieve this in a mixed skill setting we combine blended learning with
           gamification elements supported by a code versioning system. We believe
           that this approach is not only the most efficient way to teach this kind of
           matter but also bridges the gap between academic and industry working
           concepts.


  1     Introduction
  Developing Service Robots for over a decade, we experienced how frustrating it
  can be for students having to deal with multiple barriers before being able to
  start working with their actual field of interest. Many students came to our lab
  with big visions but then had to spend months understanding the depending
  software frameworks and setting up their development environment. We noticed
  that such tasks can consume a lot of the initial motivation which can even
  lead to a dropout. This also reflects back on researchers and employees of the
  university as they have to invest a serious amount of time explaining and assisting
  novice students. In order to leverage this problem and to increase efficiency
  inside our institute, we decided to start a practical oriented course to create a
  balanced foundation for students interested in robotics. This also gives us the
  opportunity to include students from non-pure computer-science fields such as
  electrical engineering and mechatronics whose curriculum usually covers merely
  basic education in complex software development.

  1.1     Robotic Frameworks
  [HC11] describe the most relevant toolkits and frameworks for robotic develop-
  ment. The diversity in the late 2000s made it difficult to build applications upon
  other research group’s software. In many cases, this led to the development of
  isolated solutions resulting in redundant applications even among different de-
  partments inside the same university. Established frameworks like ROS1 , their
  1
      Robot Operating System http://www.ros.org/




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)           41
                                                                                          41
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  vivid communities and broad support of robotic hardware have improved the col-
  laboration and communication among robotic research groups drastically over
  the past years. Yet the complexity of hardware and software on robot systems
  remains extraordinary challenging but the foundation laid down by ROS makes
  entering the world of robotics much easier and therefore interesting for teaching.

  1.2     Teaching Concepts
  The vision of this work is motivating students to transform their already ac-
  quired, but mostly theoretical, knowledge into solutions for real-world problems.
  Service Robots are an ideal platform for this transition as they incorporate
  aspects of various study fields and therefore can be used to address a broad
  audience. Already evolved courses like [Yim+08], [CWC13] and [Cap13] state
  that the most effective and fun way to acquire this kind of knowledge is a prac-
  tical approach that involves interaction and experimenting along learning the
  theoretical concepts. Classic lectures, that separate theory from practical exer-
  cises, cannot meet this requirement as each student has to pass an individual
  point of understanding which cannot be forced from outside. This requires an
  asynchronous teaching method as proposed in [Kel+06]. Methods like flipped
  classroom likewise demand that the student can freely choose when to learn and
  at which speed. As the name indicates the method flips the lecture to the stu-
  dents free time and homework or exercises to the original class session. Still, the
  method emphasizes a strict separation between teaching and exercising [Chr16].
  Blended learning, however, transforms lecture times into hybrid teach and exer-
  cise sessions in which students can choose how to approach their current problems
  while benefiting from group discussions in a workshop-like atmosphere. In this
  approach, the teacher is no longer the singular source of knowledge but a mentor
  to whom the students can directly address specific questions. A very important
  component in this rather loose way of teaching is the strict definition of dead-
  lines and a consequent reaction if they are not respected. Another way to achieve
  this is the usage of gamification elements such as live exercise rankings during
  the sessions to trigger a competitive motivation among the students. Also, the
  course can be separated into major parts that act similar to an achieved goal
  in a computer game. In this work, we combine the mentioned concepts into a
  practically oriented course which we describe in the following section.


  2     Method
  2.1     Code Versioning and Issue Based Working
  Being familiar with a code versioning system such as git and platforms that are
  building functions around it is an essential skill for any software developer these
  days. Popular platforms for code versioning are github2 , bitbucket3 or source-
  2
      https://github.com
  3
      https://bitbucket.org




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)           42
                                                                                          42
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  forge4 . We still experience that sometimes even high semester students are not
  familiar with these tools. Our approach is centered around a university-hosted
  version of gitlab5 but there are no functions used that an online platform such
  as github could not easily replace. A core functionality of such platforms aside
  from supporting the development process are issue trackers. In general, these
  mechanisms are used for bug reports or feature requests. They can have rich
  descriptions including code samples or images and have a comment function to
  discuss specific topics in the scope of the current issue. We use these mechanisms
  to distribute course materials and exercises. Additionally, it is an effective com-
  munication channel to our students as they can ask questions individually and
  in relation to their current exercise. Each repository also contains an own wiki
  area which the students can use for personal notes. The built-in CI6 pipelines,
  similar to the popular jenkins7 and travis8 used in many open-source projects,
  evaluate the work in progress of the students at each commit and provide instant
  feedback that is visualized in the web frontend as shown in Fig. 1a.

  2.2     Course Overview
  Our prototype lecture Introduction to Autonomous Mobile Robots is a 5 ECTS9
  course with two lab sessions per week. It is separated into four tiers with a rising
  degree of difficulty. Also, it is a mixed skill course that masters and bachelor
  students of different study fields can attend in parallel. The exercises and course
  materials cover the same topics but masters have more challenging exercises and
  also have to dig deeper into the theoretical background than bachelors. Each
  session is started with a 10min wrap up of the current progress stating how
  many students have already reached which level and how the overhaul class
  performs. All statistics are anonymized to protect the student’s privacy.

  Tier1. The entry part of the course aims to balance the basic skills among the
  participants necessary to work in a robotic environment. This includes an intro-
  duction to the Linux shell, git code versioning and Python. For this purpose we
  use the well-known, free online learning platform codecademy10 which provides
  comprehensible tutorials at a beginner level and live code evaluation. In parallel,
  the students get an introduction to our gitlab platform and their tier1 reposi-
  tory. Here they have to solve additional exercises covering relevant topics from
  codeacademy and with extra tips and tricks for daily use which are not part of
  the online-tutorials. Students that claim to have sufficient skills are allowed to
  skip the codecademy courses and only solve the gitlab exercises but in return
  have to work more autonomously than other students in this tier.
  4
    https://sourceforge.net
  5
    https://about.gitlab.com
  6
    Continous Integration
  7
    https://jenkins.io
  8
    https://travis-ci.org/
  9
    European Credit Transfer and Accumulation System for students
 10
    https://www.codecademy.com




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)           43
                                                                                          43
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  Tier2. The next level consists of plain python exercises and explains the funda-
  mentals of a robotic system such as actuators and sensors. This tier’s primary
  goal is to familiarize students with the gitlab platform and python. All course
  materials and exercises are organized inside the gitlab platform from this point
  on. The students have to do basic calculations on a given set of simulated laser
  data as seen in Fig. 1b and are introduced to creating own tests for the CI engine.


  Tier3. In this chapter, the students learn about the most important ROS con-
  cepts such as topics, services, actions and helper tools. Beforehand the students
  are introduced to a virtualized development environment. We provide virtual-
  box11 , docker12 and kvm13 images from which the students can choose based
  on their personal preference. All exercises can be conducted inside this environ-
  ment using gazebo14 , a popular simulation framework. In this environment, the
  students only have to do minor adjustments such as generating ssh keys to start
  working. The degree of difficulty rises constantly while progressing to encourage
  the students to discuss the materials rather than just solving the tasks. This
  tier ends with a mini project where the students have to navigate a turtlebot
  robot through a gap in a wall. The project is evaluated individually and acts as
  a midterm exam.


  Tier4. The course ends with the so-called maze challenge in which the students
  get a laser-equipped turtlebot and a training maze which they can use to test
  their algorithms. Before, we reflect common mistakes that occurred during the
  tier3 mini project and point out what could be improved. After this, the students
  get a clean repository which they have to organize and document on their own.
  The final grading does not only depend on the performance of their robot in the
  challenge, but also on the quality of code and development process (e.g. using
  issues, commit messages, tests). The best students of this course are given the
  opportunity to become a member of the universities RoboCup@Home15 Team
  alongside with project and thesis offerings.


  2.3     Comparison to Online Platforms

  Flipped and blended learning approaches strongly depend on online teaching
  resources and exercise frameworks. Before starting to run an own infrastructure
  which has to be set up and maintained it is advisable to check the currently
  available online platforms. When we started the course 2016 we enrolled our
  students at the robotIgniteAcademy16 offered by the company The Construct.
 11
    https://www.virtualbox.org
 12
    https://www.docker.com
 13
    https://www.linux-kvm.org
 14
    http://gazebosim.org
 15
    http://www.robocupathome.org
 16
    http://www.theconstructsim.com




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)           44
                                                                                          44
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
                           (a)                                                 (b)

                           Fig. 1: CI result and Python laser exercise


  Starting from scratch this is one of the most comfortable ways to set up a class.
  Besides the great tutorials, the web-based coding and simulation environment
  is the key benefit of this approach, as students only need a web browser to
  work. Nevertheless, we decided to run our own setup in the end due to flexibility
  and cost reduction reasons. Also, we experienced connection issues from time to
  time and other small problems that tarnished the experience for our students.
  In Table 1 we compare the two approaches. The results only reflect our personal
  experience and may depend on external factors, such as connection speed, which
  the provider cannot influence.



            Table 1: Comparison of online platform and self hosted solution
  Criteria                                        Online platform                Self hosted
  Setup effort                                             ++                              -
  Maintenance effort                                       ++                              o
  Flexibility (e.g. self defined exer-                      -                             ++
  cises and challenges)
  Costs                                                     --                            +
  Reliability                                               o                             +
  ++ very good, + good, o neutral, - bad, - - very bad




  3     Conclusion and Outlook

  At the time of writing this work is still in progress and will be evaluated at the
  end of 2018. Nevertheless, we can already state that those students which have
  completed this course during the last semesters were able to achieve a homoge-
  neous skill level in the context of ROS basics regardless of their background. This
  is also reflected by the composition of our current RoboCup@Home Team where
  the amount of mechatronic and computer-science students is equally distributed.




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)                45
                                                                                               45
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  Currently, we are investigating evaluation instruments such as [CWC13] to doc-
  ument and compare the learning quality among multiple classes and study fields.
  Also, we are continuing to improve the instant feedback mechanisms and want
  to apply the proposed methods in other lectures to continuously enhance the
  learning quality at our university. Further, we plan to establish follow up classes
  that are focused on specialized topics of robotics such as manipulation, object
  recognition or navigation.

  4     Acknowledgements
  The Authors would like to thank Martin Preussentanz, Jochen Weissenrieder, Jo-
  erg Wendorff, Benjamin Kathan, Christopher Bonenberger and Markus Schnei-
  der for the inspiring discussions. In addition, we want to thank Sashidhar Reddy
  Kanuboddi, Simon Bucher and Igor Chernov for supporting the lecture as tutors
  and coworkers. Special thanks go out to Steffen Pfiffner for helping to run this
  course in the start phase. This work was conducted within a practically oriented
  curriculum development program named WILLE17 founded by the MWK18 State
  Department of Baden-Wuerttemberg Germany.

  References
  [Cap13]  D. J. Cappelleri. “A Novel Lab and Project-Based Learning Intro-
           ductory Robotics Course”. In: IEEE Transactions on Education 56.1
           (2013), pp. 73 –81.
  [CWC13] N. Correll, R. Wing, and D. Coleman. “A one-year introductory
           robotics curriculum for computer science upperclassmen”. In: IEEE
           Transactions on Education 56.1 (2013), pp. 54–60. issn: 00189359.
           doi: 10.1109/TE.2012.2220774.
  [HC11]   A. Harris and J. M. Conrad. “Survey of popular robotics simula-
           tors, frameworks, and toolkits”. In: Conference Proceedings - IEEE
           SOUTHEASTCON. IEEE, 2011, pp. 243–249. isbn: 9781612847399.
           doi: 10 . 1109/ SECON . 2011. 5752942. arXiv: 0412052 [cs]. url:
           http://ieeexplore.ieee.org/document/5752942/.
  [Kel+06] J. O. Kelly et al. “A non-prescriptive approach to teaching program-
           ming”. In: ACM SIGCSE Bulletin 38.3 (2006), pp. 217–221.
  [Yim+08] M. Yim et al. “A practice-integrated undergraduate curriculum in
           mechanical engineering”. In: ASEE Annual Conference and Exposi-
           tion, Conference Proceedings (2008). issn: 21535965.
  [Chr16]  Christopher Pappas. Blended Learning vs Flipped Learning: Can
           You Tell The Difference? - eLearning Industry. 2016. url: https:
           / / elearningindustry . com / blended - learning - vs - flipped -
           learning-can-tell-difference (visited on 02/19/2018).
 17
      Wissenschaft lernen und lehren, trans: learning and teaching science
 18
      Ministerium fuer Wissenschaft, Forschung und Kunst, trans: state department for
      science, research and art




TRROS 2018 – European Robotics Forum 2018 Workshop “Teaching Robotics with ROS”
TRROS   2018
(Edited by S. –Schiffer,
                European A. Robotics Forum
                            Ferrein, M.     2018 Workshop
                                        Bharatheesha,      “Teaching
                                                      and C.         Robotics
                                                             Hernández        with ROS”
                                                                       Corbato)           46
                                                                                          46
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)