mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
fixed #401
This commit is contained in:
@@ -741,14 +741,15 @@ bool DBDriver::getNodeInfo(
|
||||
_trashesMutex.lock();
|
||||
if(uContains(_trashSignatures, signatureId))
|
||||
{
|
||||
pose = _trashSignatures.at(signatureId)->getPose();
|
||||
pose = _trashSignatures.at(signatureId)->getPose().clone();
|
||||
mapId = _trashSignatures.at(signatureId)->mapId();
|
||||
weight = _trashSignatures.at(signatureId)->getWeight();
|
||||
label = _trashSignatures.at(signatureId)->getLabel();
|
||||
label = std::string(_trashSignatures.at(signatureId)->getLabel());
|
||||
stamp = _trashSignatures.at(signatureId)->getStamp();
|
||||
groundTruthPose = _trashSignatures.at(signatureId)->getGroundTruthPose();
|
||||
gps = _trashSignatures.at(signatureId)->sensorData().gps();
|
||||
sensors = _trashSignatures.at(signatureId)->sensorData().envSensors();
|
||||
groundTruthPose = _trashSignatures.at(signatureId)->getGroundTruthPose().clone();
|
||||
velocity = std::vector<float>(_trashSignatures.at(signatureId)->getVelocity());
|
||||
gps = GPS(_trashSignatures.at(signatureId)->sensorData().gps());
|
||||
sensors = EnvSensors(_trashSignatures.at(signatureId)->sensorData().envSensors());
|
||||
found = true;
|
||||
}
|
||||
_trashesMutex.unlock();
|
||||
|
||||
@@ -3761,15 +3761,15 @@ bool Memory::getNodeInfo(int signatureId,
|
||||
const Signature * s = this->getSignature(signatureId);
|
||||
if(s)
|
||||
{
|
||||
odomPose = s->getPose();
|
||||
odomPose = s->getPose().clone();
|
||||
mapId = s->mapId();
|
||||
weight = s->getWeight();
|
||||
label = s->getLabel();
|
||||
label = std::string(s->getLabel());
|
||||
stamp = s->getStamp();
|
||||
groundTruth = s->getGroundTruthPose();
|
||||
velocity = s->getVelocity();
|
||||
gps = s->sensorData().gps();
|
||||
sensors = s->sensorData().envSensors();
|
||||
groundTruth = s->getGroundTruthPose().clone();
|
||||
velocity = std::vector<float>(s->getVelocity());
|
||||
gps = GPS(s->sensorData().gps());
|
||||
sensors = EnvSensors(s->sensorData().envSensors());
|
||||
return true;
|
||||
}
|
||||
else if(lookInDatabase && _dbDriver)
|
||||
|
||||
@@ -2708,7 +2708,7 @@ bool Rtabmap::process(
|
||||
targetRotation = Transform(0,0,0,roll,pitch,targetRotation.theta());
|
||||
Transform error = transform.rotation().inverse() * signature->getPose().rotation().inverse() * targetRotation;
|
||||
transform *= error;
|
||||
|
||||
|
||||
u = signature->getPose() * transform;
|
||||
}
|
||||
Transform up = u * oldPose.inverse();
|
||||
@@ -4245,7 +4245,7 @@ void Rtabmap::get3DMap(
|
||||
signatures.at(*iter).setWords(words);
|
||||
signatures.at(*iter).setWords3(words3);
|
||||
signatures.at(*iter).setWordsDescriptors(wordsDescriptors);
|
||||
if(!velocity.empty())
|
||||
if(velocity.size()==6)
|
||||
{
|
||||
signatures.at(*iter).setVelocity(velocity[0], velocity[1], velocity[2], velocity[3], velocity[4], velocity[5]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user