Rosanswers logo

I'm attempting to run the Turtlebot calibration routine on Fuerte. However, I run into the "Still waiting for scan. Please point me at a wall" error. I modified calibrate.launch as suggested on another topic:

<node pkg="turtlebot_calibration" type="calibrate.py" name="turtlebot_calibration" output="screen" required="true">
    <!--  <remap from="imu" to="imu/raw" /> -->
    <remap from="imu" to="mobile_base/sensors/imu_data_raw" />
    <remap from="cmd_vel" to="mobile_base/commands/velocity" /> 
    <remap from="scan_angle" to="scan_angle" />
    <remap from="odom" to="odom" />   


I believe the problem lies in the Pointcloud2 topic (and other depth related ones). When I try to visualize it into Rviz, nothing is being displayed; I see the grid and the robot model only. I don't see the LaserScan either. However, messages are begin published by openni:

rostopic info cloud_throttled
Type: sensor_msgs/PointCloud2

 * /openni_manager (http://localhost:54732/)

 * /rviz_1370361118464794599 (http://localhost:47752/)
 * /openni_manager (http://localhost:54732/)

rostopic hz cloud_throttled
subscribed to [/cloud_throttled]
average rate: 9.115
    min: 0.076s max: 0.171s std dev: 0.03235s window: 8

I have tried every possible type of Fixed Frame in RViz that contains camera. None seems to work. On the other hand, "Camera" displays a picture on the rgb/image_color topic. However, depth/image_raw only displays a thin horizontal line.

I have used the Asus camera before, and none of these problems were occurring. Why isn't the same with the Kinect? It shouldn't be any different! Note that I have plugged the Kinect directly into a wall socket, so it should function on its own without launching the Create.

[Edit] If I launch openni_launch openni.launch, I can visualize depth images on Rviz with sensorMsgs/Points. There seems to be a problem with the cloud_throttled...

Originally posted by Zayin on ROS Answers with karma: 343 on 2013-06-04

Post score: 1

Original comments

Comment by Neil Traft on 2014-06-17:
Did you ever find a solution to this? I'm having the exact same symptoms, except in Hydro. openni.launch works, but turtlebot launch files don't, despite messages being published.

Comment by charkoteow on 2014-08-07:
Necroed. You two have the solution? Having the same problem here.

Comment by Neil Traft on 2014-08-07:
Okay, I've just taken another look at it, and I have some suspicions. I don't have time to confirm right now, but maybe you can. In openni.launch, the depth_frame_id is set to /camera_depth_optical_frame, but in 3dsensor.launch it is trying to map the laserscan to the /camera_depth_frame...

Comment by Neil Traft on 2014-08-07:
... Also, the tf is not being published in the 3dsensor.launch version. But maybe Turtlebot provides its own version of that frame, I'm not sure.

Comment by Neil Traft on 2014-08-28:
What I'm observing is that the depth image (camera/depth/image_raw) is all 0's. This results in /scan being all NaNs. I don't yet know why the depth image is empty.


1 Answer 1


Rosanswers logo

Got it... or at least this is one workaround. You must specify depth_registration:=false when you launch 3dsensor.launch. I'm not sure what's wrong with the depth-registered image but this is actually the default if you look in openni.launch. Maybe the Kinect needs to be calibrated for registration to work?

Anyway, once I turn off depth registration, depthimage_to_laserscan starts using camera/depth/image_raw instead, and I can see both the image and the laserscan. calibrate.launch doesn't allow you to supply the depth_registration parameter, however, so you need to copy the launch file and edit it to turn off depth registration:

<include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
    <arg name="depth_registration" value="false" />

Originally posted by Neil Traft with karma: 205 on 2014-08-28

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by charkoteow on 2014-08-28:
This actually works.

I've tried the depth_registration:=false when launching 3dsensor.launch before but still the same thing came out.

One thing I've noticed is that I have to put the turtlebot really close to the wall.


Your Answer

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