0
$\begingroup$

Rosanswers logo

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:

http://www.ferienvillaflorida.de/labs//3d/sensors/2016/12/01/raspberry-pi.html

http://myzharbot.robot-home.it/blog/software/configuration-nvidia-jetson-tk1/asus-xtion-pro-live-openni2-compilation-install-instructions/

https://ariandy1.wordpress.com/2013/02/27/getting-raspberry-pi-openni-and-asus-xtion-pro-live-to-work/

Finally, I copied the files:

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

As indicated in: http://www.voidcn.com/blog/kristpan/article/p-4313301.html

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/

SUMMARY
========

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 `camera_nodelet_manager'
[FATAL] [1499411048.690090427]: Failed to load nodelet '/camera/depth_points` of type `depth_image_proc/point_cloud_xyz` to manager `camera_nodelet_manager'
[FATAL] [1499411048.691229849]: Failed to load nodelet '/camera/register_depth_rgb` of type `depth_image_proc/register` to manager `camera_nodelet_manager'
[FATAL] [1499411048.691229849]: Failed to load nodelet '/camera/depth_metric` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[FATAL] [1499411048.691981199]: Failed to load nodelet '/camera/rgb_rectify_color` of type `image_proc/rectify` to manager `camera_nodelet_manager'
[FATAL] [1499411048.692014376]: Failed to load nodelet '/camera/depth_registered_sw_metric_rect` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[FATAL] [1499411048.693764576]: Failed to load nodelet '/camera/depth_metric_rect` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[FATAL] [1499411048.694111137]: Failed to load nodelet '/camera/depth_rectify_depth` of type `image_proc/rectify` to manager `camera_nodelet_manager'
[FATAL] [1499411048.694939674]: Failed to load nodelet '/camera/driver` of type `openni2_camera/OpenNI2DriverNodelet` to manager `camera_nodelet_manager'
[camera/camera_nodelet_manager-2] process has died [pid 1172, exit code -11, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet manager __name:=camera_nodelet_manager __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-camera_nodelet_manager-2.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-camera_nodelet_manager-2*.log
[camera/driver-3] process has died [pid 1173, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load openni2_camera/OpenNI2DriverNodelet camera_nodelet_manager --no-bond ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered rgb/image:=rgb/image_raw depth/image:=depth_registered/image_raw __name:=driver __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-driver-3.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-driver-3*.log
[camera/rgb_rectify_color-4] process has died [pid 1174, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load image_proc/rectify camera_nodelet_manager --no-bond image_mono:=rgb/image_raw image_rect:=rgb/image_rect_color __name:=rgb_rectify_color __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-rgb_rectify_color-4.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-rgb_rectify_color-4*.log
[camera/depth_points-8] process has died [pid 1178, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyz camera_nodelet_manager --no-bond image_rect:=depth/image_rect_raw points:=depth/points __name:=depth_points __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_points-8.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_points-8*.log
[camera/points_xyzrgb_sw_registered-10] process has died [pid 1185, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyzrgb camera_nodelet_manager --no-bond rgb/image_rect_color:=rgb/image_rect_color rgb/camera_info:=rgb/camera_info depth_registered/image_rect:=depth_registered/sw_registered/image_rect_raw depth_registered/points:=depth_registered/points __name:=points_xyzrgb_sw_registered __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-points_xyzrgb_sw_registered-10.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-points_xyzrgb_sw_registered-10*.log
[camera/depth_registered_sw_metric_rect-11] process has died [pid 1205, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth_registered/sw_registered/image_rect_raw image:=depth_registered/sw_registered/image_rect __name:=depth_registered_sw_metric_rect __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_registered_sw_metric_rect-11.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_registered_sw_metric_rect-11*.log
[camera/depth_rectify_depth-5] process has died [pid 1175, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load image_proc/rectify camera_nodelet_manager --no-bond image_mono:=depth/image_raw image_rect:=depth/image_rect_raw __name:=depth_rectify_depth __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_rectify_depth-5.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_rectify_depth-5*.log
[camera/depth_metric_rect-6] process has died [pid 1176, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth/image_rect_raw image:=depth/image_rect __name:=depth_metric_rect __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_metric_rect-6.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_metric_rect-6*.log
[camera/depth_metric-7] process has died [pid 1177, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth/image_raw image:=depth/image __name:=depth_metric __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_metric-7.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-depth_metric-7*.log
[camera/register_depth_rgb-9] process has died [pid 1179, exit code 255, cmd /home/pi/ros_catkin_ws/devel/lib/nodelet/nodelet load depth_image_proc/register camera_nodelet_manager --no-bond rgb/camera_info:=rgb/camera_info depth/camera_info:=depth/camera_info depth/image_rect:=depth/image_rect_raw depth_registered/image_rect:=depth_registered/sw_registered/image_rect_raw __name:=register_depth_rgb __log:=/home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-register_depth_rgb-9.log].
log file: /home/pi/.ros/log/72747be2-62e2-11e7-bc03-b827ebcc4b86/camera-register_depth_rgb-9*.log

Does anybody have any ideas how to solve this problem?

Thank you in advance!!!


Originally posted by Zoid on ROS Answers with karma: 21 on 2017-07-07

Post score: 1


Original comments

Comment by Mehdi. on 2017-10-20:
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.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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?


Originally posted by 130s with karma: 10937 on 2017-09-03

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

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