mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
Optimizing the graph if gravity or prior constraints are added in SLAM mode
This commit is contained in:
@@ -2560,8 +2560,8 @@ bool Rtabmap::process(
|
||||
(_loopClosureHypothesis.first>0 ||
|
||||
lastProximitySpaceClosureId>0 || // can be different map of the current one
|
||||
statistics_.reducedIds().size() ||
|
||||
(signature->hasLink(signature->id(), Link::kPosePrior) && !_graphOptimizer->priorsIgnored() && !_memory->isIncremental()) || // prior edge
|
||||
(signature->hasLink(signature->id(), Link::kGravity) && _graphOptimizer->gravitySigma()>0.0f && !_memory->isIncremental()) || // gravity edge
|
||||
(signature->hasLink(signature->id(), Link::kPosePrior) && !_graphOptimizer->priorsIgnored()) || // prior edge
|
||||
(signature->hasLink(signature->id(), Link::kGravity) && _graphOptimizer->gravitySigma()>0.0f) || // gravity edge
|
||||
proximityDetectionsInTimeFound>0 ||
|
||||
landmarkDetected!=0 ||
|
||||
((_memory->isIncremental() || graph::filterLinks(signature->getLinks(), Link::kSelfRefLink).size()) && // In localization mode, the new node should be linked
|
||||
@@ -2839,7 +2839,9 @@ bool Rtabmap::process(
|
||||
{
|
||||
if( iter->second.type() != Link::kNeighbor &&
|
||||
iter->second.type() != Link::kVirtualClosure &&
|
||||
iter->second.type() != Link::kLandmark)
|
||||
iter->second.type() != Link::kLandmark &&
|
||||
iter->second.type() != Link::kGravity &&
|
||||
iter->second.type() != Link::kPosePrior)
|
||||
{
|
||||
UWARN("Optimization: clearing guess poses as %s may have changed state, now %s (normMapCorrection=%f)", Parameters::kRGBDOptimizeFromGraphEnd().c_str(), _optimizeFromGraphEnd?"true":"false", normMapCorrection);
|
||||
poses.clear();
|
||||
|
||||
Reference in New Issue
Block a user