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

Turtlebot Calibration on Fuerte - "Still waiting for Scan" & Openni manager dies

asked 2012-08-24 11:41:21 -0500

limbonic gravatar image

updated 2012-08-25 12:17:49 -0500

Please also have a look at the update.


After upgrading my turtlebot's ROS to Fuerte, I managed to get the Kinect Visualization running (using Electric on the turtlebot netbook and Fuerte on the Workstation would result in the workstation not receiving any of the messages published to the camera topics, even though one could echo them on the turtlebot). Using rviz, I can get depth images, visualize point-cloud data and get simple RGB images (not always, but still most of the times kinect.launch just works fine). Anyway, I now tried continuing with the tutorials just to run into the next problem: The gyro calibration does not work.

If I run "roslaunch turtlebot_calibration calibrate.launch" it starts all the processes (8 in total) followed by "Still waiting for Scan" outputs (I figure, this is probably caused by the robot waiting for the camera to be initialized). After a while I get this:

[INFO] [WallTime: 1345843537.794055] Still waiting for scan
[ INFO] [1345843538.061057606]: [/openni_launch] Number devices connected: 1
[ INFO] [1345843538.061425222]: [/openni_launch] 1. device on bus 001:08 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'B00366728246103B'
[ WARN] [1345843538.065080515]: [/openni_launch] device_id is not set! Using first device.
nodelet: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [with T = xn::NodeInfo, boost::shared_ptr<T>::reference = xn::NodeInfo&]: Assertion `px != 0' failed.
[FATAL] [1345843538.071094146]: Service call failed!
[FATAL] [1345843538.071270731]: Service call failed!
[FATAL] [1345843538.072680891]: Service call failed!
[INFO] [WallTime: 1345843538.095903] Still waiting for scan
[openni_manager-2] process has died

followed by a loop of processes being restarted and dieing again. To get anything kinect-related working again after running the calibration script, I have to restart the turtlebot service.

Any help would be much appreciated

update1: so, for the time being I ran the calibration using ROS electric. I have probably run the calibration procedure for 50 times right now, always multiplying the values, rilling the turtlebot node and restarting the calibration. The measurement range is set to 300, my raw outputs are at 308, the correction values i get are aprox 1.3 for the gyro_scale and 1.02 for odom_angular (even though it now tells me to multiply the gyro correction values with 0.96). It keeps going forever and I keep getting errors because the values are outside the standard deviation. I have looked through several threads dealing with calibration, some people seem to get values up to 2.4 - and I really can't see what I am doing wrong. I always check whether my values are set properly (to the most recent ones) before running calibration again.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-08-26 02:30:48 -0500

pgorczak gravatar image

I think, you might be having the issue that is explained here. Your loop occurs, because the OpenNI node has the respawn argument set - which isn't helpful because for the time being, it won't work until XnSensorServer is restarted. So I would recommend using the workaround killall XnSensorServer and then trying roslaunch ... again (I have to do this twice most of the time).

edit flag offensive delete link more

Question Tools


Asked: 2012-08-24 11:41:21 -0500

Seen: 1,629 times

Last updated: Aug 26 '12