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
filesWorking 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