ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org

# Slam gmapping tutorial troubleshooting

Hello, I'm following the map-building tutorial at http://www.ros.org/wiki/slam_gmapping... and I can get all the way through step 2 (hurray). Then when I enter:

 $rosbag play aptLaserData.bag  which is the second part 1 of step 2, I get the error: [ INFO] [1311128237.384522694]: Opening aptLaserData.bag [FATAL] [1311128237.388682646]: Time is out of dual 32-bit range  My .bag file is indeed named aptLaserData.bag, but could you tell me what's causing the problem? Thanks, Khiya edit retag close merge delete ## Comments Another user reported the same problem, using the bag supplied with the tutorial: http://answers.ros.org/question/248/slam_gmapping-mappingfromloggeddata-out-of-dual-32. I wasn't able to reproduce it. Can you post your bag somewhere that we can try playing it back? ( 2011-07-20 03:42:18 -0600 )edit Brian, I can't find a way to upload a .bag file onto ROS answers. Unless you know of a better way to put my data online, I'm going to upload it to the repository for one of my other projects and make it available there. ( 2011-07-20 06:10:44 -0600 )edit PS, could this problem have to do with the fact that I'm using a virtual machine running Ubuntu 10.10 from a 32-bit Windows machine running Vista? ( 2011-07-21 03:01:18 -0600 )edit Hi Brian, thanks for your patience! Please see my comment on Tim's post, below, for access to my aptLaserData.bag file. ( 2011-07-28 05:39:48 -0600 )edit ## 5 Answers Sort by » oldest newest most voted No activity in a month, closing. In the future, please use the 'edit' feature to update the original question, or 'post a comment' feature in order to do followup so that it is more easy to track the state of the Q&A. more One more thing: when I downloaded the provided .bag file from Willow Garage and tried playing it, this is what happened: $ rosbag play basic_localization_stage.bag
[ INFO] [1311183994.765718223]: Opening basic_localization_stage.bag

Waiting 0.2 seconds after advertising topics... done.

Hit space to toggle paused, or 's' to step.
[RUNNING]  Bag Time:     34.600000   Duration: 0.000000 / 1239670987.745222
[RUNNING]  Bag Time:     34.600420   Duration: 0.000420 / 1239670987.745222
[RUNNING]  Bag Time:     34.703970   Duration: 0.103970 / 1239670987.745222
[RUNNING]  Bag Time:     34.872898   Duration: 0.272898 / 1239670987.745222


...etc. It ran until bag time hit 126, then this message came up:

 [RUNNING]  Bag Time:    126.300712   Duration: 91.700712 / 1239670987.745222
[RUNNING]  Bag Time:    126.400910   Duration: 91.800910 / 1239670987.745222
[RUNNING]  Bag Time:    126.510560   Duration: 91.910560 / 1239670987.745222
[RUNNING]  Bag Time:    126.600720   Duration: 92.000720 / 1239670987.745222
[FATAL] [1311182318.849101157]: Time is out of dual 32-bit range


I went ahead with the next few steps in the tutorial anyway, and generated a partial map off the data from WG, below.

(not sure what's going on with the picture there - I'll try to get it up somehow)

Any enlightenment?

Thanks,

-Khiya

more

Hi Khiya,

I am very new at ROS.org but I had a similar problem. First of all did you set your time to sim_time?

$rosparam set use_sim_time true  After that try this command: $ rosbag play aptLaserData.bag --clock


If it works let me know.

Jan

more

Hi Jan, thanks for the suggestion, but it didn't work. I also tried setting use_sim_time to false, just in case, but of course that didn't work either. I'm still getting the exact same error either way.
( 2011-07-20 02:53:02 -0600 )edit
I also forced use_sim_time to be false while I was logging the data, then set it back to true while trying to play it, but still no luck.
( 2011-07-28 09:01:23 -0600 )edit
When should I use parameter --clock?When should not? Thank you~
( 2011-07-28 13:21:54 -0600 )edit
Hm I dont know. Normally I did it every time when I let a rosbag-file play. @ Khiya I tried to reproduce the error but it works on my system without a problem. Have you tried to install a normal Ubuntu not in a VM?
( 2011-07-28 18:51:50 -0600 )edit
Hi Jan, yes, I did test the same laser on an Ubuntu machine, same results. Sad Trombone.
( 2011-07-29 01:36:19 -0600 )edit

Khiya, I'd like to reproduce your problem. Can you please give me a link to aptLaserData.bag?

Also, I reindexed the basic_localization_stage.bag referenced in the tutorial. If you have a chance, can you try downloading the bag again and see if you have the same problem.

more

Tim, thanks for your patience. I've added aptLaserData.bag to my current project trunk at googlecode, https://e-bot.googlecode.com/svn/trunk/ . I think you should be able to use svn to get a copy. And if you know of a better way to pass .bag files around the Internet, please let me know. Thanks!
( 2011-07-28 05:38:22 -0600 )edit
Tim, I also just tried reindexing basic_localization_stage.bag before playing it. Unfortunately the same error occurred at almost the exact same time.
( 2011-07-28 06:01:45 -0600 )edit
Just in case it's relevant, I first calibrated my laser scanner following the basic suggestions at http://www.ros.org/wiki/hokuyo_node/Tutorials/UsingTheHokuyoNode . I started hokuyo_node, then began the gmapping tutorial above. Could it just be a configuration I've missed?
( 2011-08-02 07:48:47 -0600 )edit

I've found a partial solution: I do not have a fully functional robot yet - I was assuming I could just set up slam_gmapping with a Hokuyo URG-04LX laser ranger and an ASUS EeeBox running ROS. That means I had not set up my /tf or /odom nodes. I'm not sure why this caused trouble, but apparently it did. As a temporary fix, I used this launch file to initialize the laser before I ran through the steps in slam_gmapping tutorial:

 <launch>
<node pkg="hokuyo_node" type="hokuyo_node" name="scan">
<param name="port" value = "/dev/robot/laser" />
<param name="max_ang_degrees" value="90" />
<param name="min_ang_degrees" value="-90" />
<param name="frame_id" value="base_scan" />
</node>

<node pkg="tf" type="static_transform_publisher" name="hokuyo_static_tf_publisher" args="0 0 0 0 0 0 1 base_link base_scan 50" />

<node pkg="tf" type="static_transform_publisher" name="odom_static_tf_publisher" args="0 0 0 0 0 0 1 odom base_link 50"/>

</launch>


All I did in this file was set up a static identity transform from base_link to base_scan, and from odom to base_link. The dual 32-bit error did not appear, thankfully, but another problem did happen: In the terminal running slam_gmapping, this warning appeared when I played back the bag file:

[WARN] [1312405487.766138148]: TF_OLD_DATA ignoring data from the past for frame /odom at time 1.31241e+09 according to authority /play_1312405475737786833
Possible reasons are listed at
[ WARN] [1312405487.768969562]: TF_OLD_DATA ignoring data from the past for frame /base_scan at time 1.31241e+09 according to authority /play_1312405475737786833
Possible reasons are listed at
[ WARN] [1312405487.780878676]: TF_OLD_DATA ignoring data from the past for frame /odom at time 1.31241e+09 according to authority /play_1312405475737786833
Possible reasons are listed at


and then nothing, so I don't know where 'Possible reasons' are listed. After that, when I ran the map_saver function, it began but I received a 'Waiting for map' message that did not end until I canceled the process.

There must be something else that's obvious, I'm just missing it. Can anyone spot it?

Thanks,

Khiya

more