上QQ阅读APP看书,第一时间看更新
Applications of topics, services, and actionlib
Topics, services, and actionlib are used in different scenarios. We know topics are a unidirectional communication method, services are a bidirectional request/reply kind of communication, and actionlib is a modified form of ROS services in which we can cancel the executing process running on the server whenever required.
Here are some of the areas where we use these methods:
- Topics: Streaming continuous data flow, such as sensor data. For example, stream joypad data to teleoperate a robot, publish robot odometry, publish video stream from a camera.
- Services: Executing procedures that terminate quickly. For example, save calibration parameter of sensors, save a map generated by the robot during its navigation, or load a parameter file.
- Actionlib: Execute long and complex actions managing their feedback. For example, navigate towards a target or plan a motion path.
The complete source code of this project can be cloned from the following Git repository. The following command will clone the project repository:
$ git clone https://github.com/jocacace/mastering_ros_demo_pkg.git