laser_assembler not giving output

asked 2019-03-13 09:18:35 -0500

athul gravatar image

updated 2019-03-13 09:27:38 -0500


I am trying to assemble point clouds (PointCloud2) received from a Kinect sensor mounted on a mobile robot, both of which are being simulated in Gazebo. I have been following these steps. The tf tree is being set up fine. The laser assembler service node (name=Kinect_point_cloud_assembler) is set up and running.

I have the following ros graph: image description

I have the following tf tree:

image description

The client node I am using is as follows:

#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>
#include <laser_assembler/AssembleScans2.h>

#include <pcl_conversions/pcl_conversions.h>
#include <pcl_ros/point_cloud.h>

using namespace laser_assembler;

int main(int argc, char *argv[])
    ros::NodeHandle nh;

    ros::ServiceClient client = nh.serviceClient<AssembleScans2>("assemble_scans2");
    AssembleScans2 srv;
    srv.request.begin = ros::Time(0,0);
    srv.request.end = ros::Time::now();

        // printf("Got cloud with %u points\n",;
        pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_assembled(new pcl::PointCloud<pcl::PointXYZ>());
        ROS_INFO("Number of Cloud Points =%d \n",cloud_assembled->width);
        printf("Service call failed\n");

    return 0;

When I run the client node for requesting the assembled point cloud I get the following output:

[INFO] [1552485878.037815075]: Number of Cloud Points =0

I do not understand what I am doing wrong. Everything seems fine and there are no warnings nor error messages. Please help.

This is the launch file I am using to launch point_cloud2_assembler:

  <node type="point_cloud2_assembler" pkg="laser_assembler" name="kinect_point_cloud_assembler" output="screen">
    <remap from="cloud" to="/camera/depth/points" />
    <param name="tf_cache_time_secs" type="double" value="100.0" />
    <param name="max_clouds" type="int" value="20" />
    <param name="fixed_frame" type="string" value="base_link" />
edit retag flag offensive close merge delete