mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-01 17:10:26 +08:00
check if same node before adding virtual link
This commit is contained in:
@@ -1387,7 +1387,9 @@ bool Rtabmap::process(const SensorData & data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add a virtual loop closure link to keep the path linked to local map
|
// Add a virtual loop closure link to keep the path linked to local map
|
||||||
if(_path.size() && !signature->hasLink(_path[_pathCurrentIndex]))
|
if(_path.size() &&
|
||||||
|
signature->id() != _path[_pathCurrentIndex] &&
|
||||||
|
!signature->hasLink(_path[_pathCurrentIndex]))
|
||||||
{
|
{
|
||||||
Transform virtualLoop = _optimizedPoses.at(signature->id()).inverse() * _optimizedPoses.at(_path[_pathCurrentIndex]);
|
Transform virtualLoop = _optimizedPoses.at(signature->id()).inverse() * _optimizedPoses.at(_path[_pathCurrentIndex]);
|
||||||
_memory->addLoopClosureLink(_path[_pathCurrentIndex], signature->id(), virtualLoop, Link::kVirtualClosure, 99999);
|
_memory->addLoopClosureLink(_path[_pathCurrentIndex], signature->id(), virtualLoop, Link::kVirtualClosure, 99999);
|
||||||
|
|||||||
Reference in New Issue
Block a user