mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-12 06:20:19 +08:00
normalize variance in loop closure
This commit is contained in:
@@ -4194,6 +4194,9 @@ void DatabaseViewer::refineConstraint(int from, int to, bool silent, bool update
|
||||
|
||||
if(!transform.isNull())
|
||||
{
|
||||
// normalize variance
|
||||
info.varianceLin *= transform.getNorm();
|
||||
info.varianceAng *= transform.getAngle();
|
||||
Link newLink(currentLink.from(), currentLink.to(), currentLink.type(), transform, info.varianceAng, info.varianceLin);
|
||||
|
||||
bool updated = false;
|
||||
@@ -4290,8 +4293,11 @@ bool DatabaseViewer::addConstraint(int from, int to, bool silent, bool updateGra
|
||||
updateWordsMatching();
|
||||
}
|
||||
|
||||
if(!t.isNull())
|
||||
if(!t.isNull() && !t.isIdentity())
|
||||
{
|
||||
// normalize variance
|
||||
info.varianceLin *= t.getNorm();
|
||||
info.varianceAng *= t.getAngle();
|
||||
newLink = Link(from, to, Link::kUserClosure, t, info.varianceAng, info.varianceLin);
|
||||
}
|
||||
else if(!silent)
|
||||
|
||||
Reference in New Issue
Block a user