VINS Fusion overhaul (#1580)

* Updated correct focal length used by VINS, updated VINS visualization.

* Renamed OdometryVINS to OdometryVINSFusion
This commit is contained in:
matlabbe
2025-09-14 19:29:28 -07:00
committed by GitHub
parent 6a435c968f
commit cb0cc9ed18
15 changed files with 245 additions and 211 deletions
+1 -1
View File
@@ -281,7 +281,7 @@ AboutDialog::AboutDialog(QWidget * parent) :
_ui->label_msckf_license->setEnabled(false);
#endif
#ifdef RTABMAP_VINS
#ifdef RTABMAP_VINS_FUSION
_ui->label_vins_fusion->setText("Yes");
_ui->label_vins_fusion_license->setEnabled(true);
#else
+2 -2
View File
@@ -1675,7 +1675,7 @@ void MainWindow::processOdometry(const rtabmap::OdometryEvent & odom, bool dataI
odom.info().type == (int)Odometry::kTypeViso2 ||
odom.info().type == (int)Odometry::kTypeFovis ||
odom.info().type == (int)Odometry::kTypeMSCKF ||
odom.info().type == (int)Odometry::kTypeVINS ||
odom.info().type == (int)Odometry::kTypeVINSFusion ||
odom.info().type == (int)Odometry::kTypeOpenVINS)
{
std::vector<cv::KeyPoint> kpts;
@@ -1725,7 +1725,6 @@ void MainWindow::processOdometry(const rtabmap::OdometryEvent & odom, bool dataI
if( odom.info().type == (int)Odometry::kTypeF2M ||
odom.info().type == (int)Odometry::kTypeORBSLAM ||
odom.info().type == (int)Odometry::kTypeMSCKF ||
odom.info().type == (int)Odometry::kTypeVINS ||
odom.info().type == (int)Odometry::kTypeOpenVINS)
{
if(_ui->imageView_odometry->isFeaturesShown() && !_preferencesDialog->isOdomOnlyInliersShown())
@@ -1742,6 +1741,7 @@ void MainWindow::processOdometry(const rtabmap::OdometryEvent & odom, bool dataI
}
if((odom.info().type == (int)Odometry::kTypeF2F ||
odom.info().type == (int)Odometry::kTypeViso2 ||
odom.info().type == (int)Odometry::kTypeVINSFusion ||
odom.info().type == (int)Odometry::kTypeFovis) && odom.info().refCorners.size())
{
if(_ui->imageView_odometry->isFeaturesShown() || _ui->imageView_odometry->isLinesShown())
+8 -8
View File
@@ -226,7 +226,7 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
#ifndef RTABMAP_MSCKF_VIO
_ui->odom_strategy->setItemData(8, 0, Qt::UserRole - 1);
#endif
#ifndef RTABMAP_VINS
#ifndef RTABMAP_VINS_FUSION
_ui->odom_strategy->setItemData(9, 0, Qt::UserRole - 1);
#endif
#ifndef RTABMAP_OPENVINS
@@ -1556,8 +1556,8 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
_ui->OdomMSCKFInitCovExTrans->setObjectName(Parameters::kOdomMSCKFInitCovExTrans().c_str());
// Odometry VINS
_ui->lineEdit_OdomVinsPath->setObjectName(Parameters::kOdomVINSConfigPath().c_str());
connect(_ui->toolButton_OdomVinsPath, SIGNAL(clicked()), this, SLOT(changeOdometryVINSConfigPath()));
_ui->lineEdit_OdomVinsFusionPath->setObjectName(Parameters::kOdomVINSFusionConfigPath().c_str());
connect(_ui->toolButton_OdomVinsFusionPath, SIGNAL(clicked()), this, SLOT(changeOdometryVINSFusionConfigPath()));
// Odometry OpenVINS
_ui->checkBox_OdomOpenVINSUseStereo->setObjectName(Parameters::kOdomOpenVINSUseStereo().c_str());
@@ -5476,7 +5476,7 @@ void PreferencesDialog::updateOdometryStackedIndex(int index)
_ui->groupBox_odomOKVIS->setVisible(index==6);
_ui->groupBox_odomLOAM->setVisible(index==7);
_ui->groupBox_odomMSCKF->setVisible(index==8);
_ui->groupBox_odomVINS->setVisible(index==9);
_ui->groupBox_odomVINSFusion->setVisible(index==9);
_ui->groupBox_odomOpenVINS->setVisible(index==10);
_ui->groupBox_odomOpen3D->setVisible(index==12);
}
@@ -5567,20 +5567,20 @@ void PreferencesDialog::changeOdometryOKVISConfigPath()
}
}
void PreferencesDialog::changeOdometryVINSConfigPath()
void PreferencesDialog::changeOdometryVINSFusionConfigPath()
{
QString path;
if(_ui->lineEdit_OdomVinsPath->text().isEmpty())
if(_ui->lineEdit_OdomVinsFusionPath->text().isEmpty())
{
path = QFileDialog::getOpenFileName(this, tr("VINS-Fusion Config"), this->getWorkingDirectory(), tr("VINS-Fusion config (*.yaml)"));
}
else
{
path = QFileDialog::getOpenFileName(this, tr("VINS-Fusion Config"), _ui->lineEdit_OdomVinsPath->text(), tr("VINS-Fusion config (*.yaml)"));
path = QFileDialog::getOpenFileName(this, tr("VINS-Fusion Config"), _ui->lineEdit_OdomVinsFusionPath->text(), tr("VINS-Fusion config (*.yaml)"));
}
if(!path.isEmpty())
{
_ui->lineEdit_OdomVinsPath->setText(path);
_ui->lineEdit_OdomVinsFusionPath->setText(path);
}
}
+3 -3
View File
@@ -19461,7 +19461,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
<widget class="QWidget" name="page_79">
<layout class="QVBoxLayout" name="verticalLayout_139">
<item>
<widget class="QGroupBox" name="groupBox_odomVINS">
<widget class="QGroupBox" name="groupBox_odomVINSFusion">
<property name="title">
<string>VINS-Fusion</string>
</property>
@@ -19485,7 +19485,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
<item>
<layout class="QGridLayout" name="gridLayout_107" columnstretch="0,0,1">
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_OdomVinsPath"/>
<widget class="QLineEdit" name="lineEdit_OdomVinsFusionPath"/>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_526">
@@ -19501,7 +19501,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="toolButton_OdomVinsPath">
<widget class="QToolButton" name="toolButton_OdomVinsFusionPath">
<property name="text">
<string>...</string>
</property>