This review aims to elucidate the multiple options, challenges, and opportunities to incorporate ROS into undergraduate robotics courses. First, the importance of ROS in the robotics research and industry community is discussed as motivation to learn how to use this middleware (and frequently used packages) in the classroom. Additionally, examples of use in the classroom and challenges of implementation are described based on both literature and interviews with instructors across the country. Then, specific implementation approaches for getting students started using ROS are introduced/described along with specific examples and pros/cons of each approach. Finally, ROS1 versus ROS2 will be discussed to describe the utility of each option for instructors as they develop their courses. Overall, this review is meant to collate motivation and options for instructors in robotics trying to incorporate ROS into their courses with minimal overhead for themselves and students.
Introduction
Importance of ROS
ROS has become a powerful staple of robotics research and development. ROS is a software suite with efficient, modular, and easily customizable software tools. It is free to use, well-documented, and widely supported. Robotics researchers and developers can quickly spin up projects using ROS packages, devoting their time to novel robotic applications rather than reinventing the “wheel” of tried-and-true low-level software programs for communication, visualization, and resource management. ROS was created to be the “Linux of Robotics,” and to this day it is supported by an international community of open-source contributors.
ROS has long straddled the academic and industrial research communities. It began as an ambitious project by Keenan Wyrobek and Eric Berger at the beginning of their PhD’s at Stanford. Development skyrocketed when the project moved to Scott Hassan’s Willow Garage technology incubator in concert with the development of the PR1 robot line. Today, ROS can be found in virtually every academic robotics research lab, and industry leaders like Boston Dynamics and iRobot use ROS to prototype and test their products. Thus, students who learn ROS gain an important and ubiquitous skill that sets them up for success in academia and industry.
Function of ROS in undergraduate courses
ROS has been used in undergraduate robotics courses as a tool to learn about, simulate, and actuate robotic mechanisms. On top of ROS, there are many packages that can be used to and visualize physical environments, like Gazebo and develop, simulate and execute motion plans, like MoveIt, for examples. Examples of implementation include course projects and the main subject of some entire courses at the undergraduate and graduate level.
Challenges of using ROS in Undergraduate Curricula
Though it has a significant learning curve, ROS is considered foundational for many applied roboticists and is often found in robotics job listings. Key limitations in using ROS include the learning curve and the computational resources needed to run the middleware with most common packages. ROS was designed to run on Linux based systems. Although some other options are described in detail in the paper, streamlining these processes for instructors and students and making sure students have access to sufficient computational power to run simulations are huge barriers for teaching and implementing ROS.
Review of ROS implementation approaches
This paper will review the following approaches along with general description, case examples (along with git repositories for set up), and discussion of pros/cons:
Linux via Dual Boot / Local Installation
Linux via virtual machines (VM) / Container
ROS for Windows
ROS for Mac
Robostack
Finally, this paper will review the experiences and available resources of multiple institutions implementing ROS1 v ROS 2 in their classes. Although ROS1 is more common in courses today, ROS 2 was developed and will be the supported version in the future. Still certain hardware of ROS1 have been discontinued or not yet transferred to ROS 2. This review will help educators decide when to make this transfer for their courses, with clear benefits and drawbacks for each option. Overall, this review will help educators in deciding if/how to incorporate ROS into their robotics courses to help train the next generation of roboticists.
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.