Chapter 1. Introduction to ROS and Its Package Management
This is an introductory chapter that gives you an understanding of the core underlying concepts of ROS and how to work with ROS packages. We will also go through the ROS concepts such as ROS master, nodes, parameter server, topic, message, service, and actionlib to refresh your memory of the concepts you already know.
The basic building blocks of the ROS software framework are ROS packages. We will see how to create, build, and maintain a ROS package. We will also see how to create a wiki page for our package on the ROS website to contribute to the ROS community.
In this chapter, we will cover the following topics:
- Why should we learn ROS?
- Why we prefer ROS for robot
- Why we do not prefer ROS for robot
- Understanding the ROS file system level
- Understanding the ROS computation graph level
- Understanding ROS nodes, messages, topics, services, bags
- Understanding ROS Master
- Using ROS Parameter
- Understanding ROS community level
- Running ROS Master and ROS Parameter server
- Creating a ROS package
- Working with ROS topics
- Adding custom
msg
andsrv
files - Working with ROS services
- Working with ROS actionlib
- Creating launch files
- Applications of topics, services, and actionlib
- Maintaining the ROS package
- Releasing your ROS package
- Creating a wiki page for your ROS package