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

Is there a good way to verify my odometry data is sensible?

asked 2011-03-18 10:20:08 -0600

Murph gravatar image

So i've got my laserscan and my odometry and i load up amcl and it doesn't seem to be working - it's pose estimates are literally miles off the map.

I can load up my laserscans in rviz - they look pretty good.

Is there a good way to verify that my odometry drivers are producing sensible output? I can watch them with rostopic echo, but I don't know how to compare the values well.

I am hoping that there is an easy/good way to select where i am on the map and then have it just trust my odometry so i can see if they're at all accurate or not.

edit retag flag offensive close merge delete

Comments

Also, small side question, would it be good practice to tell my odometry driver to keep publishing unchanged readings when the robot stays still or should i omit those messages?
Murph gravatar image Murph  ( 2011-03-18 10:21:55 -0600 )edit
Publishing new messsages on /odom is likely optional, but you'll definitely have to keep publishing you odometry tf transform to keep that fresh. I like to publish my odometry at a fixed rate so that I can use it as a "trigger" for nodes that should run at the same rate as my odometry estimation.
Eric Perko gravatar image Eric Perko  ( 2011-03-18 10:25:07 -0600 )edit

3 Answers

Sort by » oldest newest most voted
11

answered 2011-03-20 14:06:09 -0600

Brian Gerkey gravatar image

The basic check I use for odometry is to have rviz accumulate laser scans in the odometric frame, and verify visually that they're coherent.

Set the Fixed Frame to odom (or whatever the name of your odometric frame is) and turn up the decay time on the laser scans (e.g., to 600 seconds). Drive the robot around, and see what happens with the accumulated laser scans. If the odometry is reasonable, you'll see a crude "map" being built. It should be obvious immediately whether there's something seriously wrong.

edit flag offensive delete link more

Comments

Where you get the decay time? In which file it resides?

Mercy gravatar image Mercy  ( 2014-01-22 19:14:24 -0600 )edit

you set the decay time in rviz, in the config of the visualization of your laser data.

Procópio gravatar image Procópio  ( 2014-01-22 19:39:43 -0600 )edit

Do I need to transform laser scan to odom frame?

sarthak gravatar image sarthak  ( 2017-04-28 02:16:44 -0600 )edit

no, you don't. you will visualize the scans with respect to the odom frame.

Procópio gravatar image Procópio  ( 2017-05-09 04:19:11 -0600 )edit
4

answered 2011-03-18 14:23:38 -0600

joq gravatar image

The rviz node can visualize Odometry data. Maybe display that along with the map.

edit flag offensive delete link more
3

answered 2011-03-19 01:09:31 -0600

raphael favier gravatar image

updated 2011-03-19 01:11:42 -0600

You could make your robot follow a predefined path in his own odometry frame. By comparing its real movements VS the predefines ones, you can have a basic idea of how fine is your odometry.

You could for instance make your robot follow a 1m square like this:

Move forward 1m
Stop
Rotate +90 Deg.
Rapeat 4 times

And compare the real movements of your robot VS the odometry estimate. Check this tutorial, it shows how to send simple navigation goals in the robot's odometry frame.

You could also drive your robot manually along a predefined path (using a joystick for example) and check the odometry estimate.

Raph

edit flag offensive delete link more

Comments

This is very similar to UMBMark, a way of measuring and correcting odometry data in mobile robots. There are many publicly-available papers from University of Michigan, and it is worthwhile to read a few to get a good idea on how to do odometry calibration and correction.
mjcarroll gravatar image mjcarroll  ( 2011-03-19 06:32:20 -0600 )edit

@raphael favier, Can you please elaborate how teleop can be used to check odometry? In rviz there is no affect of teleop i.e we don't know to which co-ordinate it's moving?

Mercy gravatar image Mercy  ( 2014-01-23 18:18:44 -0600 )edit

Question Tools

3 followers

Stats

Asked: 2011-03-18 10:20:08 -0600

Seen: 8,741 times

Last updated: Mar 20 '11