ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Localisation score of Robot

asked 2020-04-01 05:58:28 -0500

Goki gravatar image

updated 2020-04-01 11:27:17 -0500

Hi Folks

My goal is to know how well localised is my robot with the map. I used the pose array /particlecloud topic initially to qualify the localisation, as the size of the array decreases while moving, I considered that the robot is getting well localised.

Failure Cases : Imagine the robot's initial position is given in a different orientation or in an entirely random place in the map or after giving an /global_localization command, the robot localises itself to a random place; Initially as always the /particlecloud size will be high and when moved using a joystick, even if the robot position is not in sync with the map, somehow the size of array decreases as in the previous success case. So came to know this method can't be used to know how well the robot is localised.

End application: Consider the robot is turned off and due to some reason, the robot is pushed to a different place or changed the orientation and then being turned back on. The guy who remotely controls the robot doesnt have much technical knowledge, then robot might fail in navigation. At this case we should have some control on software end if we come to know whether the robot is properly localised or not.

What is needed - If we have a node which could calculate the localisation score say some node which could take scan data and compare it with static map and give you a matching percentage, we could have an idea how well is the localisation score currently. Is there any existing nodes for the same, if yes please let me know.

What are the strategies that you follow to know the localisation scores?

Thanks in advance.

edit retag flag offensive close merge delete


Would AMCL's /amcl_pose topic work, by looking at the covariance of the estimate (wiki)?

gvdhoorn gravatar image gvdhoorn  ( 2020-04-01 06:34:27 -0500 )edit

@gvdhoom, do you mean to say that if I consider covariance of /amcl_pose rather than considering pose array of /particlecloud ; even if the initial position of robot is different, the covariance would help in qualify the localisation, stating that the robot is off from its actual position?

Goki gravatar image Goki  ( 2020-04-01 11:17:06 -0500 )edit

I've not verified this -- perhaps @stevemacenski can chime in -- but I would expect the covariance to become significantly higher after teleporting the robot to a different location. That could perhaps be used as a "localisation score".

gvdhoorn gravatar image gvdhoorn  ( 2020-04-01 11:37:01 -0500 )edit

@gvdhoorn But neither /amcl_pose covariance nor /particlecloud is not getting higher after relocalization in a totally wrong place. You can check it yourself.

Pashek gravatar image Pashek  ( 2021-12-02 09:00:57 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-04-01 21:30:46 -0500

There's an innumerable number of ways to compute some localization metric, so I won't try to do so but I can tell you that the covariance information, qualities of the particle cloud (number, distribution, scores, resampled distribution) all contain information you may use to compute such a metric.

I've done this before using some data set I had an operator label with "good" versus "bad" localization and trained a simple AI to give me some output. But you can probably do something simpler with PCA, distribution properties, directly analyzing the covariance information, etc.

edit flag offensive delete link more


But problem considering this is that, imagine you lift the robot and keep it somewhere else or say you move the robot after switching it OFF and turn it back ON, the /particlecloud values still get reduced even if it doesn't sync with the map(consider the initial position is different from actual position), just a matter of movement with joystick could reduce the pose array numbers, giving us a good score.

I have tested this one and had mentioned in the failure case session.

Goki gravatar image Goki  ( 2020-04-02 02:38:23 -0500 )edit

Filtering techniques as a class of problem require information to make updates. If you haven’t yet provided information, you can’t expect much.

stevemacenski gravatar image stevemacenski  ( 2020-04-02 14:05:13 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-04-01 05:58:28 -0500

Seen: 261 times

Last updated: Apr 01 '20