chapter four

4 Robotics Libraries, Frameworks, and Tools (ROS)

 

This chapter covers

  • Core concepts of the Robot Operating System (ROS 2)
  • Creating ROS nodes that communicate via topics and services
  • Using the ROS command line tools

Before making robots move, we first learn the basics of the most popular open source robotics software framework: the Robot Operating System (ROS), specifically ROS 2. We will then use our basic ROS skills for subsequent hands-on work. The abbreviation "ROS" refers to ROS 2 throughout the book.

As mentioned in the introduction, the goal of Robotics for Programmers is to teach you robotics from a software point of view, independently of a particular robot software framework. The book uses ROS as a specific implementation of robotics concepts and algorithms to facilitate realistic code examples and exercises. This chapter, dedicated to ROS, introduces only a few basics of ROS as a concrete implementation. In later chapters, each newly introduced robotics subject will be matched to a corresponding implementation in the ROS ecosystem. Thus, you gain robotics skills, valuable in any robot software ecosystem, along with ROS skills. Given ROS’s popularity, chances are you will benefit from both skill sets.

4.1 Robot Operating System (ROS) concepts

4.2 Robots as Distributed Systems

4.3 ROS packages

4.4 ROS topics

4.5 ROS tools

4.6 ROS services

4.7 Exercises on ROS

4.8 Summary