Skip to content

Commit a307639

Browse files
committed
Fixed RGBD/LocalizationPriorError not used when adding external links
1 parent 210aadb commit a307639

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

corelib/src/Rtabmap.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6315,14 +6315,15 @@ bool Rtabmap::addLink(const Link & link)
63156315
std::map<int, Transform> poses = _odomCachePoses;
63166316
std::multimap<int, Link> constraints = _odomCacheConstraints;
63176317
constraints.insert(std::make_pair(link.from(), link));
6318+
cv::Mat priorInfMat = cv::Mat::eye(6,6, CV_64FC1)*_localizationPriorInf;
63186319
for(std::multimap<int, Link>::iterator iter=constraints.begin(); iter!=constraints.end(); ++iter)
63196320
{
63206321
std::map<int, Transform>::iterator iterPose = _optimizedPoses.find(iter->second.to());
63216322
if(iterPose != _optimizedPoses.end() && poses.find(iterPose->first) == poses.end())
63226323
{
63236324
poses.insert(*iterPose);
63246325
// make the poses in the map fixed
6325-
constraints.insert(std::make_pair(iterPose->first, Link(iterPose->first, iterPose->first, Link::kPosePrior, iterPose->second, cv::Mat::eye(6,6, CV_64FC1)*999999)));
6326+
constraints.insert(std::make_pair(iterPose->first, Link(iterPose->first, iterPose->first, Link::kPosePrior, iterPose->second, priorInfMat)));
63266327
}
63276328
}
63286329

0 commit comments

Comments
 (0)