Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It seems like you have a frame or a transform problem, and gmapping isn't able to interpret your laser data.

I would check that the header frame_id on your laser scan messages is set to laser (it probably is), and then I would look more closely at the output from tf view_frames to see if there are any significant delays between the different transforms that would be preventing them from synchronizing.

Another good test would be to set the Fixed Frame in rviz to odom, and try to visualize your laser data. You should be able to drive the robot around and see it moving in rivz, while the the detections in the laser data should stay reasonably still (if your odometry is working)

I'm not sure where your rviz error is coming from; without seeing a screenshot of rviz or knowing which plugins you have enabled there are too many possibilities.

It would be helpful for you to attach a screenshot of rviz and the output from tf view_frames. I'll bump your karma so that you can post images.

It seems like you have a frame or a transform problem, and gmapping isn't able to interpret your laser data.

I would check that the header frame_id on your laser scan messages is set to laser (it probably is), and then I would look more closely at the output from tf view_frames to see if there are any significant delays between the different transforms that would be preventing them from synchronizing.

Another good test would be to set the Fixed Frame in rviz to odom, and try to visualize your laser data. You should be able to drive the robot around and see it moving in rivz, while the the detections in the laser data should stay reasonably still (if your odometry is working)

I'm not sure where your rviz error is coming from; without seeing a screenshot of rviz or knowing which plugins you have enabled there are too many possibilities.

It would be helpful for you to attach a screenshot of rviz and the output from tf view_frames. I'll bump your karma so that you can post images.

UPDATE

Yep, you have a time offset between your frames that is preventing them from synchronizing. TF keeps a history of past transform data so that it can transform data based on where the robot was at the time when the data was collected; this helps the robot perform better if sensor data is delayed.

Unfortunately, your transform between base_link and odom frames is claims it is coming from about 109 seconds in the future, and that time offset is preventing TF from properly buffering that transform (the time buffer is only 5 seconds by default).

If your RosAria node is running on different computer, you should make sure that the clock on that computer and the clock on your computer are synchronized. Most users do this with chrony. ( http://answers.ros.org/question/11570/ros-time-across-machines/ )

Simply installing chrony or another NTP client) on both computers may be enough to get your system working, but for best results you should configure one computer as a server (I think chrony sets this by default), and configure the other machine to synchronize from that machine instead of synchronizing from the internet.