ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Setting up Asus Xtion Pro Live sensor on Raspberry Pi 3 with ROS Kinetic installed

asked 2017-07-07 04:04:21 -0500

Zoid gravatar image

updated 2017-07-09 15:21:54 -0500

Hello all,

For some time now I am trying to correctly setup my Asus Xtion Pro live sensor on my Raspberry Pi 3, which has a ROS Kinetic installed. I successfully added and compiled the openni2_camera and openni2_launch packages. Also I tested the sensor by either installing the pre-compiled libopenni2-dev library:

$ sudo apt-get libopenni2-dev

For Linux Debian - Jessie. Furthermore, I tested the sensor with compiling the OpenNI2 libraries from source and installing them according to:

Finally, I copied the files:

$ cd OpenNi2/Bin/Arm-Release/OpenNI2/Drivers
$ sudo cp *.so /opt/ros/kinetic/lib

As indicated in:

It seams that the sensor as it is, works correctly in both cases (either pre-compiled openni2 libraries or compiling them from source), since I successfully run the ./SimpleRead test program inside the Openni2 library and it also works fine when I do the:

$ rosrun openni2_camera openni2_camera_node

and I am getting rgb, ir and depth camera images in Rviz (using the "image" component) at 30Hz.

The problems start when I am trying to get a 3D point cloud by launching:

$ roslaunch openni2_launch openni2.launch

Then I continuously getting the following error and I cannot overcome it so far:

... logging to /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/roslaunch-raspberrypi-1145.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://raspberrypi:42699/


PARAMETERS  * /camera/camera_nodelet_manager/num_worker_threads: 4  * /camera/depth_rectify_depth/interpolation: 0  * /camera/driver/auto_exposure: True  * /camera/driver/auto_white_balance: True  * /camera/driver/color_depth_synchronization: False  * /camera/driver/depth_camera_info_url: 
* /camera/driver/depth_frame_id: camera_depth_opti...  * /camera/driver/depth_registration: False  * /camera/driver/device_id: #1 
* /camera/driver/rgb_camera_info_url:   * /camera/driver/rgb_frame_id: camera_rgb_optica...  * /rosdistro: kinetic  * /rosversion: 1.12.7

NODES   /camera/
    camera_nodelet_manager (nodelet/nodelet)
    depth_metric (nodelet/nodelet)
    depth_metric_rect (nodelet/nodelet)
    depth_points (nodelet/nodelet)
    depth_rectify_depth (nodelet/nodelet)
    depth_registered_sw_metric_rect (nodelet/nodelet)
    driver (nodelet/nodelet)
    points_xyzrgb_sw_registered (nodelet/nodelet)
    register_depth_rgb (nodelet/nodelet)
    rgb_rectify_color (nodelet/nodelet)   /
    camera_base_link (tf2_ros/static_transform_publisher)
    camera_base_link1 (tf2_ros/static_transform_publisher)
    camera_base_link2 (tf2_ros/static_transform_publisher)
    camera_base_link3 (tf2_ros/static_transform_publisher)

auto-starting new master process[master]: started with pid [1156] ROS_MASTER_URI=http://localhost:11311

setting /run_id to 72747be2-62e2-11e7-bc03-b827ebcc4b86 process[rosout-1]: started with pid [1169] started core service [/rosout] process[camera/camera_nodelet_manager-2]: started with pid [1172] process[camera/driver-3]: started with pid [1173] process[camera/rgb_rectify_color-4]: started with pid [1174] process[camera/depth_rectify_depth-5]: started with pid [1175] process[camera/depth_metric_rect-6]: started with pid [1176] process[camera/depth_metric-7]: started with pid [1177] process[camera/depth_points-8]: started with pid [1178] process[camera/register_depth_rgb-9]: started with pid [1179] process[camera/points_xyzrgb_sw_registered-10]: started with pid [1185] process[camera/depth_registered_sw_metric_rect-11]: started with pid [1205] process[camera_base_link-12]: started with pid [1231] process[camera_base_link1-13]: started with pid [1246] process[camera_base_link2-14]: started with pid [1258] process[camera_base_link3-15]: started with pid [1271] [ INFO] [1499411045.433073462]: Initializing nodelet with 4 worker threads.

And the following nodlet error appears:

[FATAL] [1499411048.689301785]: Failed to load nodelet '/camera/points_xyzrgb_sw_registered` of type `depth_image_proc/point_cloud_xyzrgb` to manager ...
edit retag flag offensive close merge delete



for me it worked out of the box, but with 0.25 Hz, so 1 frame per 4 seconds, not really useful. All I had to install was ros-kinetic-openni2-launch, everything else comes automatically with that package. Make your life easier and install Ubuntu on the RPi3.

Mehdi. gravatar image Mehdi.  ( 2017-10-20 05:44:32 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-09-03 11:26:35 -0500

130s gravatar image

Not really an answer, but according to your description, multiple nodelets start to fail once sensor output is subscribed. I'm not entirely sure but it may be related to processing power of the computer. Publishing 3D sensor's output causes high load on the computer. Do you really need to handle 3D sensor with RasPi3?

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-07-07 04:04:21 -0500

Seen: 2,071 times

Last updated: Sep 03 '17