0
$\begingroup$

Rosanswers logo

Hey :-)

I'm struggeling with the following problem:

System:

  • Ubuntu 16.04 64 Bit
  • ROS Kinetic (Desktop-Full) installed out of the repository via "apt install"

What I did:

  • Recorded a stream from Lenovo Phab2 (Tango Pointcloud) with all topics into an rosbag file. So far so good :-)

What I want to achieve:

  • Using the depth_image_proc package to join the information of the rgb-camera and the pointcloud-data with the node depth_image_proc/point_cloud_xyzrgb.

i am allowed to run a command like this without any troubles :

rosrun pcl_ros bag_to_pcd record.bag /tango/camera/color_1/image_rect

In my understanding i should be allowed to replace pcl_ros (package) and bag_to_pcd (node) with depth_image_proc (package) and point_cloud_xyzrgb (node).

But already running this command will prompt into an error:

rosrun depth_image_proc point_cloud_xyzrgb 

[rosrun] Couldn't find executable named point_cloud_xyzrgb below /opt/ros/kinetic/share/depth_image_proc

Investigations:

entering

rosrun pcl_ros + TAB

will show me the available nodes for pcl_ros. This mechanism is also not working with depth_image_proc. What could be wrong with the environment or am i doing something essentially wrong ? oO

thanks in advance and best regards

Mark


Originally posted by Markovicho on ROS Answers with karma: 15 on 2018-01-16

Post score: 1


Original comments

Comment by gvdhoorn on 2018-01-16:
Quick check: do you have depth_image_proc installed? What is the output of dpkg -l | grep depth-image-proc?

Comment by Markovicho on 2018-01-16:
output:

ii ros-kinetic-depth-image-proc 1.12.22-0xenial-20180105-150342-0800 amd64 Contains nodelets for processing depth images such as those produced by OpenNI camera.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

But already running this command will prompt into an error:

$ rosrun depth_image_proc point_cloud_xyzrgb 
[rosrun] Couldn't find executable named point_cloud_xyzrgb below /opt/ros/kinetic/share/depth_image_proc

This is normal: depth_image_proc does not provide any nodes (ie: binaries), but only nodelets (ie: libraries). The wiki page on depth_image_proc also mentions that:

Contains nodelets for processing depth images such as those produced by OpenNI camera.

You cannot run nodelets using rosrun, they can only be loaded into a nodelet manager.

See wiki/nodelets for more info on nodelets, and see wiki/nodelets/Running a nodelet for a tutorial on the basics of running a nodelet.


Originally posted by gvdhoorn with karma: 86574 on 2018-01-16

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Markovicho on 2018-01-16:
thank you!

Comment by gvdhoorn on 2018-01-16:
No problem.

Note that instead of starting your own nodelet manager, you'll probably want to reuse the manager that is already used by the Tango 'driver' (provided it uses/is a nodelet).

If you start a new one, you'll lose the zero-copy advantages.

Comment by bigbellmercy on 2020-08-28:
It's very clear answer:

You cannot run nodelets using rosrun, they can only be loaded into a nodelet manager.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.