PCL2 non existing frame after depth_image_proc

asked 2017-09-22 06:31:53 -0500

YongZhann gravatar image

updated 2017-09-22 07:55:38 -0500

Hi all,

I've recently been running a bridge (provided by Carnegie Mellon University) between a Windows machine and a Linux machine in order to get Kinect 2 visualization data on the Linux machine.

This works adequately as I am able to get depth, IR and RGB information from the Kinect published as topics. Running rostopic list, I get topics such as:

/head/kinect/k2_depth/camera_info

/head/kinect/k2_depth/image

and many more.

So far, I'd like to be able to convert my sensor_msgs::image topics into point cloud 2 topics. I have seen that this can be done using depth_image_proc.

Following some tutorials, I wrote a launch file like so: <launch>

<!-- Nodelet Manager -->
<node pkg="nodelet" type="nodelet" args="manager" name="image2pclmanager" output="screen"/>

    <!-- Conversion process -->
        <node pkg="nodelet" type="nodelet" name="cloudify"
        args="load depth_image_proc/point_cloud_xyz image2pclmanager --no-bond">

    <!-- Remapping process: INPUT -->
        <!-- camera_info (sensor_msgs/CameraInfo) -->
        <remap from="camera_info"   to="/head/kinect2/k2_depth/camera_info"/>

        <!-- image_rect (sensor_msgs/Image) -->
        <remap from="image_rect" to="/head/kinect2/k2_depth/image"/>

    <!-- Remapping process: OUTPUT -->
        <!-- points (sensor_msgs/PointCloud2) -->
</node>

</launch>

(The last output part I did not need to remap, only added for convenience).

If my understanding is correct, depth_image_proc provides nodelets allowing for subscribing to sensor_msgs::image types, converts them to sensor_msgs::PointCloud2 and publishes them under a topic named points.

However, when I try to see this PointCloud2 under rviz, I get an odd error: Topic is OK, points are OK but under transform, I get: Frame k2/depth_frame does not exist.

Does anyone have prior experience with this error or did I not write my launch file correctly?

Thank you!

edit retag flag offensive close merge delete

Comments

Is there any reason you're not using code-iai/iai_kinect2? Those components directly output depth images, point clouds and more.

gvdhoorn gravatar image gvdhoorn  ( 2017-09-23 16:49:25 -0500 )edit

The last time I checked, the package did not include skeleton detection + drawing support, while the package I am running does. I would like to have both running on one instance of code. Correct me if I'm wrong though.

YongZhann gravatar image YongZhann  ( 2017-09-23 18:42:49 -0500 )edit

No, it doesn't include those things, but that is why I asked. Setting up iai_kinect2 is much easier, so if you only need pointclouds and associated topics, that would have been my suggestion.

gvdhoorn gravatar image gvdhoorn  ( 2017-09-25 02:32:18 -0500 )edit

Thanks for your input :) I'll see if I find a way to use both.

YongZhann gravatar image YongZhann  ( 2017-09-25 10:21:38 -0500 )edit