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

can't launch openni on Pandaboard

asked 2012-06-12 05:13:19 -0600

dinamex gravatar image

updated 2012-06-12 11:18:36 -0600

Hi ther,

I installed ROS electric (base + perception) from source on an armel platform and try to run a kinect and a webcam on it.

I used this command to install the perception based installation which went smooth and without failures.

rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=perception&overlay=no"

But when I try to run the included packages:

$roslaunch openni_camera camera_node.launch

or

$roslaunch openni_launch openni.launch

or for the Webcam (usb_cam & uvc_camera packages from source):

$roslaunch uvc_camera camera_node.launch

or

$roslaunch usb_cam 'MY OWN LAUNCH FILE

I always get the Error: cannot launch node of type [the specific package]: cannot locate node of type [specific node] in package [package]

Is there something wrong with my ROS installation or did I install all four Packages wrong?

the output of the $echo $ROS_PACKAGE_PATH is

/home/panda/ros_workspace:/opt/ros/electric

which is correct

edit retag flag offensive close merge delete

Comments

Please provide more information. Which packages did you install, what are the names of the packages that cannot be found. Did you install them?

Lorenz gravatar image Lorenz  ( 2012-06-12 05:47:46 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted
0

answered 2012-06-12 09:38:30 -0600

Lorenz gravatar image

updated 2012-06-12 09:54:17 -0600

You installed the rosinstall file into ~/ros, but your package path only contains ~/ros_workspace. Given you are using Ubuntu, there is no reason for installing the perception variant from source, i.e. using rosinstall. To install the ros perception variant and the kinect driver, just execute the following command:

sudo apt-get install ros-electric-perception ros-electric-openni-kinect

Edit: Since you cannot use Ubuntu packages on your platform, you have to install the stack openni_kinect from source. First, you'll have to install the openni driver. I'm not sure where to get it, but I guess the right location is here. Then you can install the openni_kinect stack. For that, create a new file openni_kinect.rosinstall with the following content:

- hg:
    local-name: openni_kinect
    meta:
      repo-name: wg-kforge
    uri: https://kforge.ros.org/openni/openni_ros

Then install it with:

rosinstall ~/ros_workspace /path/to/openni_kinect.rosinstall

Finally, try rosmake openni_launch. Please note that you probably won't be able to build the human tracker since it depends on a pre-compiled library for ia64 or i386 that might not work on your pandaboard.

edit flag offensive delete link more

Comments

sorry, that is a typo. I installed the rosinstall file into ~/ros_workspace and not ~/ros. The reason why I installed the perception variant from source is that I'm using a Armel architecture (pandaboard).

dinamex gravatar image dinamex  ( 2012-06-12 09:43:58 -0600 )edit

Well, then the reason for not being able to find openni_kinect is probably that you just didn't check it out. I'll update my answer.

Lorenz gravatar image Lorenz  ( 2012-06-12 09:45:30 -0600 )edit

by using sudo apt-get install ros-electric-perception ros-electric-openni-kinect I get following output: Reading state information... Done E: Unable to locate package ros-electric-perception E: Unable to locate package ros-electric-openni-kinect

dinamex gravatar image dinamex  ( 2012-06-12 09:47:15 -0600 )edit

now it complains about the platform when I try to install the openni_driver. By using hg clone "https://kforge.ros.org/openni/drivers" then make gives me now the failure massege Unknown platform: armv7l

dinamex gravatar image dinamex  ( 2012-06-12 10:56:38 -0600 )edit

Please always copy-paste the exact error message and the commands you were executing. The openni package you try to compile seems to build debian packages and contains nite. That means, it will not work on arm but there is a chance that you get at least openni built. You'll have to change Makefile.

Lorenz gravatar image Lorenz  ( 2012-06-12 11:06:39 -0600 )edit
1

answered 2012-06-12 05:51:35 -0600

It sounds like something is wrong with your ROS_PACKAGE_PATH environment variable. Did you make sure to add source /opt/ros/electric/setup.bash to your .bashrc?

Could you edit your question with the output of echo $ROS_PACKAGE_PATH?

edit flag offensive delete link more
0

answered 2012-06-12 07:34:10 -0600

karthik gravatar image

Hi, Easy way to check if ros is finding your package is to

roscd openni_kinect

if it finds the openni_kinect package path and changes the directory to that place then it is able to find the package. else you may have to check if the path of the openni_kinect is under your $ROS_PACKAGE_PATH. if not place it under this path and do

rosmake openni_kinect

Please post the results of these steps so that you get quick response on the same here.

Hope it helps,

Karthik

edit flag offensive delete link more

Comments

I can't find openni_kinect. In this perception stack is openni_ros (which I can find via roscd) integrated.

dinamex gravatar image dinamex  ( 2012-06-12 07:42:07 -0600 )edit

Question Tools

Stats

Asked: 2012-06-12 05:13:19 -0600

Seen: 703 times

Last updated: Jun 12 '12