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

what is the standard way to get the quality of the obtained pose from slam_toolbox?

asked 2020-11-07 06:35:52 -0500

darshb34 gravatar image

How to get an accuracy metric of the predicted pose from slam_toolbox?

Visually, we look at how the laserscan aligns with obstacles on the map, but for my application I want to trigger an action if the localization is way off.

Thank you

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-11-08 12:55:59 -0500

I use the un-corrected (no tf) robot odometry as a baseline: if your robot is reasonably accurate, its basic odom reading (x,y,yaw) should be reasonably consistent (steady progress) at it moves.

You can then compare this to the odometry transformed into the SLAM frame (e.g. map): logging to a file (say at ~ 5Hz). Looking at the diference between these two sets, dx, dy, dyaw, you get a good idea of any extreme movement in the transform suggested by the SLAM process, and the degree of oscillation in the transform. You can additionally or alternatively log the transform topic directly (e.g. odom to map). Any extreme transform, outside of its normal standard deviation suggests "the localization is way off": or the robot's wheel are skidding excessively.

As a "batch" check, get your robot to perform a simple route (e.g. go in a square), and see how close it actually gets to a goal (measure with a ruler !): both with SLAM tf correction, and without. This real measure can be compared to the odometry the robot thinks it is at when it reaches the goal.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-11-07 06:35:52 -0500

Seen: 147 times

Last updated: Nov 08 '20