Book Image

Mastering ROS for Robotics Programming, Third edition - Third Edition

By : Lentin Joseph, Jonathan Cacace
Book Image

Mastering ROS for Robotics Programming, Third edition - Third Edition

By: Lentin Joseph, Jonathan Cacace

Overview of this book

The Robot Operating System (ROS) is a software framework used for programming complex robots. ROS enables you to develop software for building complex robots without writing code from scratch, saving valuable development time. Mastering ROS for Robotics Programming provides complete coverage of the advanced concepts using easy-to-understand, practical examples and step-by-step explanations of essential concepts that you can apply to your ROS robotics projects. The book begins by helping you get to grips with the basic concepts necessary for programming robots with ROS. You'll then discover how to develop a robot simulation, as well as an actual robot, and understand how to apply high-level capabilities such as navigation and manipulation from scratch. As you advance, you'll learn how to create ROS controllers and plugins and explore ROS's industrial applications and how it interacts with aerial robots. Finally, you'll discover best practices and methods for working with ROS efficiently. By the end of this ROS book, you'll have learned how to create various applications in ROS and build your first ROS robot.
Table of Contents (22 chapters)
1
Section 1 – ROS Programming Essentials
4
Section 2 – ROS Robot Simulation
11
Section 3 – ROS Robot Hardware Prototyping
15
Section 4 – Advanced ROS Programming

Working with point cloud data

We can handle the point cloud data from Kinect or other 3D sensors to perform a wide variety of tasks, such as 3D object detection and recognition, obstacle avoidance, 3D modeling, and so on. In this section, we will look at some basic functionalities; that is, using the PCL library and its ROS interface. We will discuss the following topics:

  • How to publish a point cloud in ROS
  • How to subscribe and process a point cloud
  • How to write point cloud data to a PCD file
  • How to read and publish a point cloud from a PCD file

Let's learn how to publish point cloud data as a ROS topic using a C++ example.

How to publish a point cloud

In this example, we will learn how to publish point cloud data using the sensor_msgs/PointCloud2 message. The code will use PCL APIs to handle and create the point cloud, as well as to convert the PCL cloud data into the PointCloud2 message type.

You can find the pcl_publisher.cpp example code...