Skip to content

Improve detect more loop closures tool to avoid overpowering odometry contribution in local graph optimization #1671

@matlabbe

Description

@matlabbe

The issue is that when using rtabmap-detectMoreLoopClosures tool (or doing it in the UI) with many iterations, it could add many loop closures between nodes that are very close in the graph (e..g, nodes taken a couple of seconds apart). Normally, for a couple of nodes in the graph, the odometry constraints should be more accurate than loop closure constraints. Thus keeping locally consistent optimization is already implicitly handled by smaller covariance for odometry links and larger covariance for loop closure links. However, even if loop closure links have generally higher covariance, adding many of them on consecutive nodes could bend the odometry constraints (maybe because the odometry was not confident enough). The idea would be to add a parameter that will make detectMoreLoopClosures ignore nodes close in the graph (in terms of number of nodes between them or in time) for potential loop closures.

In summary, currently doing many iterations in that tool can make the overall map worst because loop closure constraints overpower the odometry constraints locally.

Original discussion: http://official-rtab-map-forum.206.s1.nabble.com/More-loops-isn-t-always-better-td11560.html

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions