Localisation score of Robot
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.
Would AMCL's
/amcl_pose
topic work, by looking at the covariance of the estimate (wiki)?@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?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 But neither
/amcl_pose
covariance nor/particlecloud
is not getting higher after relocalization in a totally wrong place. You can check it yourself.