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 in the next chapters, 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 leverage our basic ROS skills in the following chapters for hands-on work. The abbreviation "ROS" refers to ROS 2 throughout the book.
As already pointed out 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 particular implementation of robotics concepts and algorithms to facilitate realistic code examples and exercises. This short chapter, dedicated to ROS, only introduces a few basic aspects specific to ROS as a particular 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' popularity, chances are you will benefit from both skill sets.