mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
MainWindow: added /map and /odom coordinate frames
This commit is contained in:
@@ -1340,6 +1340,9 @@ 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)
|
||||
_cloudViewer->addOrUpdateLine("odom_to_base_link", _odometryCorrection, _odometryCorrection*odom.pose(), Qt::yellow, false, false);
|
||||
#endif
|
||||
|
||||
}
|
||||
_cloudViewer->update();
|
||||
@@ -2017,6 +2020,7 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
_cloudViewer->updateCameraFrustum(poses.rbegin()->second, stat.getLastSignatureData().sensorData().stereoCameraModel());
|
||||
}
|
||||
}
|
||||
|
||||
_cloudViewer->updateCameraTargetPosition(poses.rbegin()->second);
|
||||
|
||||
if(_ui->graphicsView_graphView->isVisible())
|
||||
@@ -2025,6 +2029,12 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
}
|
||||
}
|
||||
|
||||
#if PCL_VERSION_COMPARE(>=, 1, 7, 2)
|
||||
_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, Qt::yellow, false, false);
|
||||
#endif
|
||||
|
||||
if(_cachedSignatures.contains(0) && stat.refImageId()>0)
|
||||
{
|
||||
if(poses.find(stat.refImageId())!=poses.end())
|
||||
@@ -4683,6 +4693,9 @@ void MainWindow::newDatabase()
|
||||
_newDatabasePath.clear();
|
||||
_newDatabasePathOutput.clear();
|
||||
_databaseUpdated = false;
|
||||
_cloudViewer->removeLine("map_to_odom");
|
||||
_cloudViewer->removeLine("odom_to_base_link");
|
||||
_cloudViewer->removeCoordinate("odom_frame");
|
||||
ULOGGER_DEBUG("");
|
||||
this->clearTheCache();
|
||||
std::string databasePath = (_preferencesDialog->getWorkingDirectory()+QDir::separator()+QString("rtabmap.tmp.db")).toStdString();
|
||||
|
||||
Reference in New Issue
Block a user