0
$\begingroup$

Rosanswers logo

Hi!

I'm trying to use Openni to use the Kinect in my Raspberry Pi, but I can't make it run.

I'm using the image from the installation tutorial, and installed the openni_launch package in my workspace using wstool.

I installed Openni as follow:

$ cd &myCatkinWs&
$ mkdir src
$ cd src
$ wstool init
$ wstool set openni_launch --git git://github.com/ros-drivers/openni_launch.git
$ wstool set openni_camera --git git://github.com/ros-drivers/openni_camera.git
$ sudo wstool update
$ cd ..
$ source devel/setup.bash
$ catkin_make

When I use the roslaunch openni_launch openni.launch, I get the next error msg:

[ERROR] [1364061846.229535130]: Failed to load nodelet [/camera/driver] of type [openni_camera/driver]: Could not find library corresponding to plugin openni_camera/driver. Make sure the plugin description XML file has the correct name of the library and that the library actually exists. [FATAL] [1364061846.267566179]: Service call failed! [camera/driver-3] process has died [pid 3297, exit code 255, cmd /opt/ros/groovy/lib/nodelet/nodelet load openni_camera/driver /camera_nodelet_manager --no-bond ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered projector:=projector __name:=driver __log:=/home/pi/.ros/log/db4f0fba-93e3-11e2-b03f-b827eb51381c/camera-driver-3.log].

The plugin description XML of the openni_camera is:

<!-- OpenNI driver nodelet publisher -->
<library path="lib/libopenni_nodelet">

  <class name="openni_camera/driver" type="openni_camera::DriverNodelet" base_c$
    <description>`
      OpenNI camera driver nodelet.
    </description>
  </class>

</library>

The error says that it couldn't find a library, and the xml file calls a library path that I can't find.

so: what can I do? How can I find or make the missing path and files?


Originally posted by FBernuy on ROS Answers with karma: 31 on 2013-03-23

Post score: 2


Original comments

Comment by fsotosan on 2013-03-27:
how did you install openni_launch? I've used sudo wstool init src -j1 https://github.com/ros-drivers/openni_launch.git

from a catkin workspace but I get the following error:

..Invalid multiproject yaml format in [https://github.com/ros-drivers/openni_launch.git]: mapping values are not allowed

Comment by FBernuy on 2013-03-27:
I added the steps to the original post. I hope it helps.

Comment by fsotosan on 2013-03-27:
Thanks. It helped me a lot indeed. I can launch openni_launch but get: "Failed to load nodelet [/camera/driver] of type [openni_camera/driver]: According to the loaded plugin descriptions the class openni_camera/driver with base class type nodelet::Nodelet ..."

Comment by miguel on 2015-08-15:
Did you manage to fix the error you had @fsotosan?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

I also tried out a few things with the Kinect and did not get it to work on the raspi. My solution was to use Openni2 for which I wrote a ROS node

https://github.com/kalectro/openni2_camera.git

You will first need to install Openni2. I forked the repo and made changes so it would compile on the raspberry. Just run make in this repo

https://github.com/kalectro/OpenNI2.git


Originally posted by kalectro with karma: 1554 on 2013-05-01

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by FBernuy on 2013-05-10:
I'll try this as soon as I can, thanks!!!

Comment by kalectro on 2013-05-10:
Since Openni2 does not provide a 'make install' you will need to manually copy the libraries. I also needed to call rosrun from OpenNi2/Bin/Arm-Release so that it found the libraries. If anyone finds a better solution, please fork it and issue a pull request

$\endgroup$
0
$\begingroup$

Rosanswers logo

The problem was that I didn't use the catkin workspace, and instead of using catkin_make, I used rosmake.

So, using the catkin workspace and catkin_make makes the openni_launch run, but there appears a different problem related with the USB, and so far I haven't had luck.


Originally posted by FBernuy with karma: 31 on 2013-03-27

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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