mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
RGBD/SavedLocalizationIgnored: if true, it is now starting at the origin (0,0,0) instead of null (not linked to graph).
This commit is contained in:
@@ -3019,6 +3019,11 @@ void DatabaseViewer::regenerateSavedMap()
|
||||
else
|
||||
{
|
||||
dbDriver_->save2DMap(map, xMin, yMin, grid.getCellSize());
|
||||
Transform lastlocalizationPose;
|
||||
dbDriver_->loadOptimizedPoses(&lastlocalizationPose);
|
||||
if(lastlocalizationPose.isNull() && !graphes_.back().empty())
|
||||
{
|
||||
// use last pose by default
|
||||
lastlocalizationPose = graphes_.back().rbegin()->second;
|
||||
}
|
||||
dbDriver_->saveOptimizedPoses(graphes_.back(), lastlocalizationPose);
|
||||
@@ -4345,7 +4350,7 @@ void DatabaseViewer::update(int value,
|
||||
}
|
||||
|
||||
if(data.laserScanRaw().size())
|
||||
{
|
||||
{
|
||||
labelScan->setText(tr("Format=%1 Points=%2 [max=%3] Range=[%4->%5 m] Angle=[%6->%7 rad inc=%8] Has [Color=%9 2D=%10 Normals=%11 Intensity=%12]")
|
||||
.arg(data.laserScanRaw().formatName().c_str())
|
||||
.arg(data.laserScanRaw().size())
|
||||
|
||||
@@ -1344,7 +1344,6 @@ void MainWindow::processOdometry(const rtabmap::OdometryEvent & odom, bool dataI
|
||||
{
|
||||
_cloudViewer->updateCameraFrustum(_odometryCorrection*odom.pose(), odom.data().stereoCameraModel());
|
||||
}
|
||||
_cloudViewer->updateCameraTargetPosition(_odometryCorrection*odom.pose());
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 7, 2)
|
||||
if(_preferencesDialog->isFramesShown())
|
||||
{
|
||||
@@ -1355,7 +1354,7 @@ void MainWindow::processOdometry(const rtabmap::OdometryEvent & odom, bool dataI
|
||||
_cloudViewer->removeLine("odom_to_base_link");
|
||||
}
|
||||
#endif
|
||||
|
||||
_cloudViewer->updateCameraTargetPosition(_odometryCorrection*odom.pose());
|
||||
}
|
||||
_cloudViewer->update();
|
||||
|
||||
@@ -2041,6 +2040,21 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
|
||||
UDEBUG("time= %d ms", time.restart());
|
||||
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 7, 2)
|
||||
if(_preferencesDialog->isFramesShown())
|
||||
{
|
||||
_cloudViewer->addOrUpdateCoordinate("map_frame", Transform::getIdentity(), 0.5, false);
|
||||
_cloudViewer->addOrUpdateCoordinate("odom_frame", _odometryCorrection, 0.35, false);
|
||||
_cloudViewer->addOrUpdateLine("map_to_odom", Transform::getIdentity(), _odometryCorrection, qRgb(255, 128, 0), false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_cloudViewer->removeLine("map_to_odom");
|
||||
_cloudViewer->removeCoordinate("odom_frame");
|
||||
_cloudViewer->removeCoordinate("map_frame");
|
||||
}
|
||||
#endif
|
||||
|
||||
if(!_odometryReceived && poses.size() && poses.rbegin()->first == stat.refImageId())
|
||||
{
|
||||
if(poses.rbegin()->first == stat.getLastSignatureData().id())
|
||||
@@ -2063,21 +2077,6 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
}
|
||||
}
|
||||
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 7, 2)
|
||||
if(_preferencesDialog->isFramesShown())
|
||||
{
|
||||
_cloudViewer->addOrUpdateCoordinate("map_frame", Transform::getIdentity(), 0.5, false);
|
||||
_cloudViewer->addOrUpdateCoordinate("odom_frame", _odometryCorrection, 0.35, false);
|
||||
_cloudViewer->addOrUpdateLine("map_to_odom", Transform::getIdentity(), _odometryCorrection, qRgb(255, 128, 0), false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_cloudViewer->removeLine("map_to_odom");
|
||||
_cloudViewer->removeCoordinate("odom_frame");
|
||||
_cloudViewer->removeCoordinate("map_frame");
|
||||
}
|
||||
#endif
|
||||
|
||||
if(_cachedSignatures.contains(0) && stat.refImageId()>0)
|
||||
{
|
||||
if(poses.find(stat.refImageId())!=poses.end())
|
||||
|
||||
Reference in New Issue
Block a user