mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-05 09:37:46 +08:00
Integration of the path planner into rtabmap's memory management to actually retrieve nodes on the planned path on the graph.
Added Rtabmap::clearPath(), Rtabmap::computePath(), Rtabmap::getPathGoalId() and Rtabmap::updateGoalIndex() methods. Added virtual links when path retrieval is activated (virtual links are not saved to database and removed when the path goal is reached). New parameters: RGBD/GoalReachedRadius and RGBD/MaxAnticipatedNodes Refactored how loop closure hypotheses are selected (fixed ratio between consecutive hypotheses, not the last loop closure). Updated getNodesInRadius() to use all filtered scans. GUI: window can be saved/loaded maximized GUI: saving Graph View parameters to config.ini
This commit is contained in:
+13
-1
@@ -2134,7 +2134,10 @@ bool Memory::addLoopClosureLink(int oldId, int newId, const Transform & transfor
|
||||
return true;
|
||||
}
|
||||
|
||||
_memoryChanged = true;
|
||||
if(type != Link::kVirtualClosure)
|
||||
{
|
||||
_memoryChanged = true;
|
||||
}
|
||||
UDEBUG("Add loop closure link between %d and %d", oldS->id(), newS->id());
|
||||
|
||||
oldS->addLink(Link(oldS->id(), newS->id(), type, transform.inverse(), variance));
|
||||
@@ -2184,6 +2187,15 @@ void Memory::updateNeighborLink(int fromId, int toId, const Transform & transfor
|
||||
}
|
||||
}
|
||||
|
||||
void Memory::removeAllVirtualLinks()
|
||||
{
|
||||
UDEBUG("");
|
||||
for(std::map<int, Signature*>::iterator iter=_signatures.begin(); iter!=_signatures.end(); ++iter)
|
||||
{
|
||||
iter->second->removeVirtualLinks();
|
||||
}
|
||||
}
|
||||
|
||||
void Memory::dumpMemory(std::string directory) const
|
||||
{
|
||||
UINFO("Dumping memory to directory \"%s\"", directory.c_str());
|
||||
|
||||
Reference in New Issue
Block a user