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

openni_launch + fuerte + ubuntu 12.04: No image received

asked 2012-08-27 01:00:41 -0500

yigit gravatar image

updated 2016-10-24 09:04:23 -0500

ngrennan gravatar image

Hello,

I just installed openni_camera and openni_launch stacks. When I launch the driver and rviz using the following commands:

roslaunch openni_launch openni.launch

rosrun rviz rviz

in rviz, I see a warning telling me that it didn't receive any images. I try to echo the messages sent by /camera/rgb/image_raw, but no messages are published on that topic.

I need to mention that I get some number of messages from /camera/depth/points topic. The interesting thing here is that only a number of messages are published by that topic. It stops after a random number of messages.

There are a few similar problems like mine. Following the proposed answers, I suspect that my drivers might be faulty. But reinstalling them didn't solve the problem.

Here is a screen shot: In this run, I only got 74 point cloud messages. It just stopped at that point. I also didn't get any image messages.

I deeply appreciate any help.

EDIT: --------------------------------------------------------------

I must also add that when I run the following command:

rosrun image_view disparity_view image:=/camera/depth/disparity and not rviz, I can see the camera working for only a few(5-10) seconds, and again it hangs.

-------------------------------------------------------------------------

EDIT 2: --------------------------------------------------------------

I get lots of errors and warnings but they are said to be harmless, for example

  • Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading'="" from="" '="" usr="" lib="" python2.7="" threading.pyc'=""> ignored

  • [ERROR] [1346137170.283120890]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/compressed/set_parameters]

  • [ WARN] [1346137171.480522722]: Using default parameters for RGB camera calibration.

In several questions on Ros Answers, I ran into the problems with the same errors and warning. They all say that ignoring these errors wouldn't do any harm.

I paste the full output here

-------------------------------------------------------------------------

EDIT 3: I cannot comment on the posts, that's why I will post this edit. As pgorczak says, I don't believe that my problem is performance related, I use a powerful computer. In addition to that, even if I don't start rviz or image_view and just echo, let's say, /camera/rgb/image_raw, I don't see any messages on that topic. I believe openni just freezes.

I will keep trying to see if I can get it to work. And, thanks a lot pgorczak, I am looking forward to your update.

edit retag flag offensive close merge delete

Comments

Did you check for any suspicious log messages? Try running roscore and rxconsole before the driver's launch file and see if anything shows up when it hangs.

pgorczak gravatar image pgorczak  ( 2012-08-27 10:25:33 -0500 )edit

I updated the question. Please check edit2.

yigit gravatar image yigit  ( 2012-08-27 21:15:26 -0500 )edit

@yygyt were you able to ever solve your problem? I think I am having the same issue. Are you using Ubuntu 12.04 64-bit? Are you using the openni-dev unstable and ps-engine avin2 packages found here?

georgebrindeiro gravatar image georgebrindeiro  ( 2012-12-21 09:15:02 -0500 )edit

Yeah, somehow... Please take a look at this reply http://answers.ros.org/question/46066/kinect-dynamic-reconfigure-does-not-work/#46450. In my case, both problems are related

yigit gravatar image yigit  ( 2012-12-23 07:36:43 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted
1

answered 2012-08-29 11:28:30 -0500

pgorczak gravatar image

updated 2012-08-30 23:22:07 -0500

The first exception is not harmful as you can see here.

When I am using roslaunch openni_launch openni.launch, I also get messages like:

[ERROR] [1346317018.377804268]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/compressedDepth/set_parameters]
[ERROR] [1346317018.384694527]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/compressed/set_parameters]
[ERROR] [1346317018.413763705]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/theora/set_parameters]
(...)
[ WARN] [1346317020.499849507]: Camera calibration file (...)/rgb_A00364A06244047A.yaml not found.
[ WARN] [1346317020.500131130]: Using default parameters for RGB camera calibration.
[ WARN] [1346317020.500289570]: Camera calibration file (...)/depth_A00364A06244047A.yaml not found.
[ WARN] [1346317020.500426152]: Using default parameters for IR camera calibration.

Still, everything works just fine (image_view and rviz) so those shouldn't be the issue.

I think running only image_view like in your first edit and still getting the freeze pretty much rules out a performance issue--at least concerning rviz. I think (I'm not sure though) the point cloud only gets computed when you subscribe to the points topic which would mean there is pretty much nothing going on computationally when you just display an image with image_view.

You could also try a different Kinect device or make sure your Kinect works e.g. on Windows with the OpenNI examples to make sure there is no problem with the device itself.

And my last question would be: What is your version of ROS and your operating system (version)? I'm using ubuntu 12.04 with fuerte and it worked with the OpenNI-packages I got with sudo apt-get install ros-fuerte-openni-camera.

You could try the driver from openni_camera_deprecated just to see if it gives you different output or some hints on what's going on.

Kinect launch file using openni_camera/OpenNINodelet (deprecated version of the driver):

<launch> 
    <node pkg="nodelet" type="nodelet" name="openni_manager" output="screen" respawn="true" args="manager"/>
    <node pkg="nodelet" type="nodelet" name="openni_launch" args="load openni_camera/OpenNINodelet openni_manager" respawn="true">
        <!--<param name="rgb_frame_id" value="camera_rgb_optical_frame" />-->
        <!--<param name="depth_frame_id" value="camera_depth_optical_frame" />-->
        <param name="depth_registration" value="true" />
        <param name="image_mode" value="VGA_30Hz" />
        <param name="depth_mode" value="VGA_30Hz" />
        <param name="debayering" value="EdgeAwareWeighted" />
        <param name="depth_time_offset" value="-0.055" /> <!-- Taken from TurtleBot's kinect.launch -->
        <param name="image_time_offset" value="0" />
    </node>
</launch>
edit flag offensive delete link more
0

answered 2015-04-29 06:14:16 -0500

This post solved my problem about the double advertising

http://answers.ros.org/question/12244...

hope it helps

edit flag offensive delete link more
0

answered 2012-08-27 22:34:28 -0500

Hi,

I read through the description of your problem and it reminded me of a similar situation I was stuck up in earlier. The solution i found was something to do with the frames settings in your rviz.

You need to check the fixed frame and the target frame that you have chosen in rviz. Your screenshot did not show the fixed frame. However, you can look at the dropdown box for other options of fixed frame and chose the one in which you would be able to see the rgb image output. You may do a trial and error to find the right one. Usually the fixed frame has to be something like

/camera/rgb_optical_frame or /camera/base_link

If you exactly know the various transforms published, you can directly type in the transform relevant to rgb frames in the fixed frame option.

As far as hanging of your system is concerned, remember that rviz and image topics always consume an ample amount of memory in order to run. Thus, it may get frozen sometimes when it runs out of memory. Always try to use a computer with a high configuration for rviz operations. Besides, you may want to run rviz with the --sync option, i.e.

rosrun rviz rviz --sync

This could help you to some extent as it would add necessary delays to synchronize the data flow using buffers.

Good luck.

Regards.

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2012-08-27 01:00:41 -0500

Seen: 2,808 times

Last updated: Aug 30 '12