How to preserve labeled nodes pose coordinates

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

How to preserve labeled nodes pose coordinates

akunin
Hi,
We dont want that during map update nodes that were marked with labels will move/change coordinates.
is there anyway to tell rtbmap/g20 optimizer to keep specific labels/nodes at same place?
 thanks
Reply | Threaded
Open this post in threaded view
|

Re: How to preserve labeled nodes pose coordinates

matlabbe
Administrator
Not why you don't want that, when they move it is because the map errors are corrected, which is good. Forcing arbitrary nodes to stay fixed in g2o (by adding a "global_pose" with current map->base_link pose + very low covariance and set Optimizer/PriorsIgnored to false) would make the optimizer not converging when trying to correct the map errors, thus rejecting any new loop closures. It is like disabling loop closure detection "Kp/MaxFeatures=-1".
Reply | Threaded
Open this post in threaded view
|

Re: How to preserve labeled nodes pose coordinates

akunin
Once map is created - users will save required goals with pose coordinates. After map update those coordinates/goals will be wrong so robot wont achieve its goal anymore. So i'm looking for a way to update map features w/o changing poses we had provided to an user earlier.
Reply | Threaded
Open this post in threaded view
|

Re: How to preserve labeled nodes pose coordinates

matlabbe
Administrator

If the robot is moving down a corridor, save a pose x=25, y=2 at the end of the corridor, continue looping around the building then come back to map origin, detecting there is an odometry drift of 2 meters in y axis, has to correct the map so that the psoe x=25, y=2 should be at x=25,y=0 to represent exactly the same location. If we keep x=25, y=2, instead of being in the middle of the corridor, the pose x=25, y=2 could be inside a room just next to it.

If we would change only features to match the new optimized graph but not the poses, the robot could appear to localize in walls.