=Paper= {{Paper |id=Vol-2329/paper-03 |storemode=property |title=Hands-on Robotics Teaching with ROS |pdfUrl=https://ceur-ws.org/Vol-2329/paper-03.pdf |volume=Vol-2329 |authors=Roel Pieters,Reza Ghabcheloo,Minna Lanz |dblpUrl=https://dblp.org/rec/conf/erf/PietersGL18 }} ==Hands-on Robotics Teaching with ROS== https://ceur-ws.org/Vol-2329/paper-03.pdf
            Hands-on Robotics Teaching with ROS

                       Roel Pieters, Reza Ghabcheloo and Minna Lanz

                      Tampere University of Technology, Tampere, Finland,
                                    roel.pieters@tut.fi




           Abstract. This paper describes the teaching efforts in several courses in
           our newly started robotics major in Tampere University of technology.
           While the fundamentals and theory in robotics are covered by tradi-
           tional courses, hands-on experiments and student projects use ROS as
           software platform. ROS is introduced by an overview lecture with prac-
           tical demonstration and aims to point students towards information and
           resources instead of providing ready-made solutions. This approach leads
           to much trial-and-error and a steep learning curve that, we believe, is
           highly valuable. We reflect on an early evaluation of our approach and
           conclude that the advantage of ROS as tool to educate robotics is due
           to its holistic nature. From low-level concepts (e.g. interfacing, commu-
           nication, diagnostics) to high-level functionality (e.g. visualization, ma-
           nipulation, SLAM), all are included in ROS and required to educate the
           next generation roboticists.

           Keywords: robotics, education, Robot Operating System



  1     Introduction

  Since the advent of robotics, considerable effort has been put in the development
  of theory, algorithms and their implementation. Similarly, such effort should
  also be represented in the education of robotics at academic institutes [1–4].
  The balance between theoretical foundations and practical work is, however,
  not trivial to find, and often complicated by the multitude of available software.
  Traditionally, robotics education has gone hand-in-hand with programming (e.g.
  C/C++) or higher-level computing environments such as Matlab R . In recent
  years, however, research has moved slowly to adopt ROS as middleware [5],
  and many other libraries and interfaces offer some form of integration towards
  it (e.g. ROS in Matlab). Education has caught up to this and many higher
  institutes of education now offer ROS in course form, or require ROS to be used
  as programming interface for project work1 . Additionally, professional education
  on ROS that is not part of a curriculum can be found in summer schools [6],
  conferences2 , online courses and in bookform3 . The take-up of industry, however,
  1
    https://wiki.ros.org/Courses
  2
    https://roscon.ros.org
  3
    https://wiki.ros.org/Books


                                                        1

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)           24
                                                                                          24
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  is slower but initiatives are ongoing to provide the reliability and robustness that
  is required in industrial environments (EU H2020 project ROSIN4 [7]).
       As educational design is mostly done behind closed doors, with this brief
  paper we report the route taken at Tampere University of Technology, in the
  recently started robotics major. By providing an overview of our approach and an
  early evaluation of outcomes, we hope to open up a discussion on best practices
  with respect to robotics education and ROS.

  2     Robotics major
  The robotics major at Tampere University of Technology started in September
  2017, and offers MSc students to specialize in robotics and the technology re-
  lated to it. The degree is offered by the Faculty of Engineering Sciences. The
  most significant contributions come from the laboraties of Automation and Hy-
  draulic Engineering (AUT) and Mechanical Engineering and Industrial Systems
  (MEI), although other units of the university, for example Signal Processing,
  also contribute. The two year program (120 ECTS) requires students to have
  solid mathematical background and good programming skills. Studies include
  the fundamentals of robotics, control of robotics, sensing/perception systems
  for robotics, robot programming and project work. After the studies, students
  are able to develop robot-based systems. The major consists of four mandatory
  courses complemented with elective courses that go deeper in a certain topic. In
  several of these courses, experimental work includes the use of ROS to connect
  to and control robotic systems, as described in Table 1 and 2.

  2.1     TUTRobolab
  While all traditional lectures are given in lecture rooms, practical work and
  demonstrations make use of a laboratory environment specifically designed for
  students. This TUTRobolab offers a place for students to work with robotic
  equipment and experiment without major restrictions. Robots and related tech-
  nology are for example industrial manipulators (Universal robots, Franka, PRob),
  mobile robots (turtlebot, in-house developed robot), a multitude of sensors (2D/3D
  ToF cameras, lidar, GPS, IMU, etc.) and different processing platforms (PCs,
  embedded PCs, Raspberry Pi). While giving preference to course students, the
  lab is available 24/7 to all students interested in robotics and aims to create a
  casual learning environment.

  2.2     Mandatory courses
  The core of the major consists of four mandatory courses, as described in Table
  1, designed to educate students on the basics and practicals of robotics and
  includes project-based work to prepare them for future professional work life.
  All courses emphasize practical implementation and require programming to be
  part of the work.
  4
      http://rosin-project.eu/


                                                        2

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)           25
                                                                                          25
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
                Table 1: Mandatory MSc courses as part of the robotics major


  Mechatronics and Robot Programming                     5 ECTS                      Lab exercises
  Provides an introduction to sensors and robots. Student groups (2-4 persons) complete
  exercises ranging from sensor interfacing and read-out, visualization, installation and
  set-up for different processing platforms (PC, Raspberry Pi, wireless networking, SSH)
  and robot platforms (motors, turtlebot, crane), to advanced algorithms (simulation,
  SLAM, navigation). All exercises are demonstrated by each group, questioned to assess
  each member’s understanding and finalized by a report.

  Robotics Project work                                  6 ECTS                      Group project
  Provides project-based group work. Student groups (2-4 persons) pick a topic and
  develop a robotics project, emphasized on interdisciplinary collaboration. Lectures are
  provided by speakers from industry and academia. The project requires students to de-
  velop project planning and management skills, and collaborate on multiple disciplines.
  Typical projects include LEGO house building with a UR5 robot, indoor delivery robot
  and upgrading an industrial robot manipulator.

  Robot Manipulators:                                    4 ECTS                      Theory, practicals
  Modeling, Control and Programming
  Provides a traditional introduction to robot manipulation. In this course students ob-
  tain knowledge on robot modeling (kinematics and dynamics, Denavit-Hartenberg no-
  tations), and programming for industrial manipulators. Exercises use Matlab and the
  course is finalized with an exam.

  Fundamentals of Mobile Robots                          5 ECTS                      Theory, practicals
  Provides the fundamentals of mobile robotics including localization, mapping and plan-
  ning. Extensive exercises use Matlab and ROS.




  2.3     Elective courses
  Besides the four mandatory courses, additional credits have to be taken to com-
  plete the major. These courses can be on specific topics such as computer vision
  and machine learning, or more focused on specific fields within robotics, such
  as planning and advanced control (e.g. see Table 2). In both mandatory and
  elective courses, where possible, ROS is used to ease the education of robotics
  and robotics related technology.

  2.4     Teaching philosophy
  The approach we take to educate robotics on a MSc level, is to find an appro-
  priate balance between theory and practice. While the fundamentals can only
  be taught by introducing the relevant mathematical theory, a deeper under-
  standing is obtained when such theory can be tried and tested in simulation
  or experiments. Take for example coordinate systems and their transformation.


                                                        3

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)                           26
                                                                                                          26
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
      Table 2: Elective MSc course as part of the robotics major that includes ROS


  Advanced Robotics                                      5 ECTS                      Theory, practicals
  Provides advanced theory on motion control for robots, such as dynamical systems,
  stability theory, visual servoing, force control, etc. Theory is supported by practical
  implementation and integration on an advanced robot manipulator (Panda, Franka
  Emika GmbH).




  Understanding the theory and its use can be assisted by tools such as Matlab5
  and ROS6 that ease implementation and visualization.
      A choice was made to not have a separate course purely on ROS, as other
  institutes offer (such as e.g. ETH Zürich7 ), but only provide an introductory
  lecture. This 1.5 hour lecture provides the basics of Linux and ROS, and shows
  students where to find information and how to develop their skills. In case of
  difficulties or problems student assistants are available to assist and help out
  with practical matters.


  3     Evaluation

  The first intake of the major attracted a significant number of students, where
  a selection had to be made based on background and motivation. Such decisions
  are difficult as grades and background do not always represent the best selec-
  tion criteria. For example, giving preference to students that have experience
  and background with ROS might be suitable for elective courses (e.g. Advanced
  Robotics), but not for mandatory courses, as ROS will be introduced there. De-
  spite this, the majority of students successfully passed, or are about to pass,
  the courses. Evaluation of (ROS) skills was assessed by oral examination and
  practical demonstration of the developed software.


  3.1     Lessons learned

  Lessons learned for the educators of the robotics major are mostly related to the
  time and effort necessary to prepare course work and practical experiments. It
  is very easy to underestimate the time required to set up simulations and ex-
  periments and verify that all will function properly on different platforms. This
  applies similarly for laboratory systems that are in continuous use for different
  projects. Software versions and hardware differences might simply not be com-
  patible. It is difficult to anticipate for this and to estimate how much time and
  effort it takes for students to master such realization.
  5
    https://se.mathworks.com/help/robotics/gs/coordinate-systems-in-robotics.html
  6
    https://wiki.ros.org/tf2
  7
    http://www.rsl.ethz.ch/education-students/lectures/ros.html


                                                        4

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)                           27
                                                                                                          27
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
      Even though ROS is a major step forward in providing a standard in robotics
  education, this also is a drawback. It is very convenient to install a package,
  execute the algorithms it provides and demonstrate a functioning system. This
  does not imply, however, that the fundamentals behind the algorithms and robot
  are understood. Such understanding has to come from studying the algorithms
  and experimenting with different parameters, or by developing and/or extending
  the methods. Again, we believe that by providing the tools and problems, and
  requiring from students a solution, will lead to a deeper understanding of the
  theory.
      Additionally, not all students have the same background, leading to gaps
  in programming capabilities and hands-on experiments with software coding.
  This leads to big differences in outcomes and progress throughout a course. One
  solution to this is to require a certain level of programming skills in order to be
  accepted in the major. Despite this, we found good results in creating group work
  with different skill sets. Even though this might cause one person to take the
  lead in project work, this can be compensated to ensure all participants have
  to demonstrate the learned skills. Group work also leads to students learning
  valuable skills necessary in professional work life, such as educating colleagues,
  team work, effctive time and project management, and communication.
      Feedback that was obtained from students after finalizing a course gave valu-
  able information on how to improve the education. Issues that were raised were
  for example, the lack of a lab technician for quick questions and small practical
  issues, and the deployment of a virtual workspace where students can collabo-
  rate, discuss and share ideas (e.g., Slack8 ).



  3.2     Post-graduate requirements


  In Finland, it is common to do a MSc thesis in a company, where ROS is most
  likely not being used. Why should an academic institute then spend so much
  effort on educating their students with ROS? Our answer to this is that it’s
  impossible to ensure a common framework that is supported by all involved
  partners. Even the most common tool for studying engineering (Matlab), is still
  underrepresented in industry due to its high cost. Our main aim is to educate
  future engineers with the skills and capabilities to design robotic systems. This
  whole overview of robotics ranges from interfacing sensors and actuators, to
  control architectures and high-level industrially relevant applications. With so
  much diversity a common ground is found in ROS, as it supports all. Moreover,
  different programming languages can be used, to accomodate different educa-
  tional backgrounds. Through ROS, students practice C/C++ or Python which
  is commonly used in industry, and learn what a complex robot control system
  should include.

  8
      https://slack.com/


                                                        5

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)           28
                                                                                          28
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)
  4     Conclusion

  This short paper described the efforts made in Tampere University of Technol-
  ogy with respect to robotics education. Our approach is to balance theory with
  significant hands-on experimental work, by utilizing the Robot Operating Sys-
  tem. The advantage that ROS has over other robotics software, such as Matlab,
  is that it provides a complete overview and implementation of required tools.
  From low-level concepts such as communication and interfacing to high-level
  algorithms, it educates roboticists the basics and pushes the state-of-the-art.
  Drawbacks of ROS are found in the limited adoption in industry and in compat-
  ibility or support issues (e.g., unsupported versions, hardware/software version
  mismatch). Despite this, a first evaluation of our robotics major suggests that
  students benefit greatly from a community-supported initiative such as ROS.
  The large user-base and growing support for robotic equipment, means that in-
  formation can be found and asked for on-line. This brings a steep learning curve
  that, we believe, is highly valuable.


  Acknowledgements

  The work presented is financed by the Academy of Finland project: ”Competitive
  funding to strengthen university research profiles”, decision number 310325.


  References
  1. Touretzky, D.S.: Computer Science Education: Robotics for computer scientists:
     whats the big idea? Computer Science Education, vol. 23, no.4, pp. 349-367, 2013.
  2. Correll, N., Wing, R. and Coleman, D.: A One-Year Introductory Robotics Curricu-
     lum for Computer Science Upperclassmen. IEEE Transactions on Education, vol.
     56, no. 1, pp. 54-60, 2013.
  3. Esposito, J.M.: The State of Robotics Education: Proposed Goals for Positively
     Transforming Robotics Education at Postsecondary Institutions. IEEE Robotics &
     Automation Magazine, vol. 24, no. 3, pp. 157-164, 2017.
  4. Sergeyev, A., Alaraje, N., Parmar, S., Kuhl, S., Druschke, V. and Hooker, J.: Pro-
     moting industrial robotics education by curriculum, robotic simulation software,
     and advanced robotic workcell development and implementation. Annual IEEE In-
     ternational Systems Conference (SysCon), Montreal, QC, pp. 1-8, 2017.
  5. Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R. and
     Ng, A.Y.: ROS: an open-source Robot Operating System. In ICRA workshop on
     open source software, Vol. 3, No. 3.2, pp. 5, 2009.
  6. Ferrein, A., Kallweit, S., Scholl, I. and Reichert, W.: Learning to program mobile
     robots in the ROS summer school series. In Proceedings of the 6th International
     Conference on Robotics in Education (RIE-15), 2015.
  7. Ferrein, A., Schiffer, S. and Kallweit, S.: The ROSIN Education Concept. In Iberian
     Robotics conference, Springer, Cham, pp. 370-381, 2017.




                                                        6

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)           29
                                                                                          29
(Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)