mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
Added OpenVINS minimal support (tested with EuRoC dataset)
This commit is contained in:
@@ -234,6 +234,22 @@ AboutDialog::AboutDialog(QWidget * parent) :
|
||||
_ui->label_msckf_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_VINS
|
||||
_ui->label_vins_fusion->setText("Yes");
|
||||
_ui->label_vins_fusion_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_vins_fusion->setText("No");
|
||||
_ui->label_vins_fusion_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
#ifdef RTABMAP_OPENVINS
|
||||
_ui->label_openvins->setText("Yes");
|
||||
_ui->label_openvins_license->setEnabled(true);
|
||||
#else
|
||||
_ui->label_openvins->setText("No");
|
||||
_ui->label_openvins_license->setEnabled(false);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
AboutDialog::~AboutDialog()
|
||||
|
||||
@@ -1492,7 +1492,8 @@ 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::kTypeVINS ||
|
||||
odom.info().type == (int)Odometry::kTypeOpenVINS)
|
||||
{
|
||||
std::vector<cv::KeyPoint> kpts;
|
||||
cv::KeyPoint::convert(odom.info().newCorners, kpts, 7);
|
||||
@@ -1541,7 +1542,8 @@ 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::kTypeVINS ||
|
||||
odom.info().type == (int)Odometry::kTypeOpenVINS)
|
||||
{
|
||||
if(_ui->imageView_odometry->isFeaturesShown() && !_preferencesDialog->isOdomOnlyInliersShown())
|
||||
{
|
||||
@@ -5427,7 +5429,10 @@ void MainWindow::startDetection()
|
||||
_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcImages) &&
|
||||
!_preferencesDialog->getIMUPath().isEmpty())
|
||||
{
|
||||
if(odomStrategy != Odometry::kTypeOkvis && odomStrategy != Odometry::kTypeMSCKF && odomStrategy != Odometry::kTypeVINS)
|
||||
if( odomStrategy != Odometry::kTypeOkvis &&
|
||||
odomStrategy != Odometry::kTypeMSCKF &&
|
||||
odomStrategy != Odometry::kTypeVINS &&
|
||||
odomStrategy != Odometry::kTypeOpenVINS)
|
||||
{
|
||||
QMessageBox::warning(this, tr("Source IMU Path"),
|
||||
tr("IMU path is set but odometry chosen doesn't support IMU, ignoring IMU..."), QMessageBox::Ok);
|
||||
|
||||
@@ -192,6 +192,9 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
|
||||
#ifndef RTABMAP_VINS
|
||||
_ui->odom_strategy->setItemData(9, 0, Qt::UserRole - 1);
|
||||
#endif
|
||||
#ifndef RTABMAP_OPENVINS
|
||||
_ui->odom_strategy->setItemData(10, 0, Qt::UserRole - 1);
|
||||
#endif
|
||||
|
||||
#if CV_MAJOR_VERSION < 3
|
||||
_ui->stereosgbm_mode->setItemData(2, 0, Qt::UserRole - 1);
|
||||
@@ -6371,7 +6374,8 @@ void PreferencesDialog::testOdometry()
|
||||
{
|
||||
if(this->getOdomStrategy() != Odometry::kTypeOkvis &&
|
||||
this->getOdomStrategy() != Odometry::kTypeMSCKF &&
|
||||
this->getOdomStrategy() != Odometry::kTypeVINS)
|
||||
this->getOdomStrategy() != Odometry::kTypeVINS &&
|
||||
this->getOdomStrategy() != Odometry::kTypeOpenVINS)
|
||||
{
|
||||
QMessageBox::warning(this, tr("Source IMU Path"),
|
||||
tr("IMU path is set but odometry chosen doesn't support IMU, ignoring IMU..."), QMessageBox::Ok);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,7 +63,7 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-1011</y>
|
||||
<y>-120</y>
|
||||
<width>686</width>
|
||||
<height>3414</height>
|
||||
</rect>
|
||||
@@ -95,7 +95,7 @@
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>22</number>
|
||||
<number>19</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_22">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_29" stretch="0,1">
|
||||
@@ -13621,6 +13621,11 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
<string>VINS-Fusion</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>OpenVINS</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -13924,7 +13929,7 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget_odometryType">
|
||||
<property name="currentIndex">
|
||||
<number>5</number>
|
||||
<number>10</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_52">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_77">
|
||||
@@ -17100,6 +17105,48 @@ If set to false, classic RTAB-Map loop closure detection is done using only imag
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_93">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_162">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_odomVINS_2">
|
||||
<property name="title">
|
||||
<string>VINS-Fusion</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_161" stretch="0">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_632">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>OpenVINS: <a href="https://github.com/rpng/open_vins"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/rpng/open_vins</span></a></p><p>Currently tested only with EuRoC data set.</p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_89">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>1049</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_26">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_88">
|
||||
<item>
|
||||
|
||||
Reference in New Issue
Block a user