mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 01:50:24 +08:00
MainWindow: added driver options to differentiate between cameras having IMU or not (D400 vs D435i, ZED vs Zedm and Zed2). Enabled imu filtering by default for Freenect driver (Kinect XBOX360).
This commit is contained in:
@@ -175,11 +175,13 @@ protected Q_SLOTS:
|
|||||||
void selectK4A();
|
void selectK4A();
|
||||||
void selectRealSense();
|
void selectRealSense();
|
||||||
void selectRealSense2();
|
void selectRealSense2();
|
||||||
|
void selectRealSense2i();
|
||||||
void selectRealSense2L515();
|
void selectRealSense2L515();
|
||||||
void selectRealSense2Stereo();
|
void selectRealSense2Stereo();
|
||||||
void selectStereoDC1394();
|
void selectStereoDC1394();
|
||||||
void selectStereoFlyCapture2();
|
void selectStereoFlyCapture2();
|
||||||
void selectStereoZed();
|
void selectStereoZed();
|
||||||
|
void selectStereoZedi();
|
||||||
void selectStereoTara();
|
void selectStereoTara();
|
||||||
void selectStereoUsb();
|
void selectStereoUsb();
|
||||||
void selectMyntEyeS();
|
void selectMyntEyeS();
|
||||||
|
|||||||
@@ -436,10 +436,12 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
|
|||||||
connect(_ui->actionRealSense_ZR300, SIGNAL(triggered()), this, SLOT(selectRealSense()));
|
connect(_ui->actionRealSense_ZR300, SIGNAL(triggered()), this, SLOT(selectRealSense()));
|
||||||
connect(_ui->actionRealSense2_SR300, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
connect(_ui->actionRealSense2_SR300, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||||
connect(_ui->actionRealSense2_D400, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
connect(_ui->actionRealSense2_D400, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||||
|
connect(_ui->actionRealSense2_IMU, SIGNAL(triggered()), this, SLOT(selectRealSense2i()));
|
||||||
connect(_ui->actionRealSense2_L515, SIGNAL(triggered()), this, SLOT(selectRealSense2L515()));
|
connect(_ui->actionRealSense2_L515, SIGNAL(triggered()), this, SLOT(selectRealSense2L515()));
|
||||||
connect(_ui->actionStereoDC1394, SIGNAL(triggered()), this, SLOT(selectStereoDC1394()));
|
connect(_ui->actionStereoDC1394, SIGNAL(triggered()), this, SLOT(selectStereoDC1394()));
|
||||||
connect(_ui->actionStereoFlyCapture2, SIGNAL(triggered()), this, SLOT(selectStereoFlyCapture2()));
|
connect(_ui->actionStereoFlyCapture2, SIGNAL(triggered()), this, SLOT(selectStereoFlyCapture2()));
|
||||||
connect(_ui->actionStereoZed, SIGNAL(triggered()), this, SLOT(selectStereoZed()));
|
connect(_ui->actionStereoZed, SIGNAL(triggered()), this, SLOT(selectStereoZed()));
|
||||||
|
connect(_ui->actionZed_sdk_IMU, SIGNAL(triggered()), this, SLOT(selectStereoZedi()));
|
||||||
connect(_ui->actionStereoTara, SIGNAL(triggered()), this, SLOT(selectStereoTara()));
|
connect(_ui->actionStereoTara, SIGNAL(triggered()), this, SLOT(selectStereoTara()));
|
||||||
connect(_ui->actionStereoUsb, SIGNAL(triggered()), this, SLOT(selectStereoUsb()));
|
connect(_ui->actionStereoUsb, SIGNAL(triggered()), this, SLOT(selectStereoUsb()));
|
||||||
connect(_ui->actionRealSense2_T265, SIGNAL(triggered()), this, SLOT(selectRealSense2Stereo()));
|
connect(_ui->actionRealSense2_T265, SIGNAL(triggered()), this, SLOT(selectRealSense2Stereo()));
|
||||||
@@ -457,11 +459,13 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
|
|||||||
_ui->actionRealSense_ZR300->setEnabled(CameraRealSense::available());
|
_ui->actionRealSense_ZR300->setEnabled(CameraRealSense::available());
|
||||||
_ui->actionRealSense2_SR300->setEnabled(CameraRealSense2::available());
|
_ui->actionRealSense2_SR300->setEnabled(CameraRealSense2::available());
|
||||||
_ui->actionRealSense2_D400->setEnabled(CameraRealSense2::available());
|
_ui->actionRealSense2_D400->setEnabled(CameraRealSense2::available());
|
||||||
|
_ui->actionRealSense2_IMU->setEnabled(CameraRealSense2::available());
|
||||||
_ui->actionRealSense2_L515->setEnabled(CameraRealSense2::available());
|
_ui->actionRealSense2_L515->setEnabled(CameraRealSense2::available());
|
||||||
_ui->actionRealSense2_T265->setEnabled(CameraRealSense2::available());
|
_ui->actionRealSense2_T265->setEnabled(CameraRealSense2::available());
|
||||||
_ui->actionStereoDC1394->setEnabled(CameraStereoDC1394::available());
|
_ui->actionStereoDC1394->setEnabled(CameraStereoDC1394::available());
|
||||||
_ui->actionStereoFlyCapture2->setEnabled(CameraStereoFlyCapture2::available());
|
_ui->actionStereoFlyCapture2->setEnabled(CameraStereoFlyCapture2::available());
|
||||||
_ui->actionStereoZed->setEnabled(CameraStereoZed::available());
|
_ui->actionStereoZed->setEnabled(CameraStereoZed::available());
|
||||||
|
_ui->actionZed_sdk_IMU->setEnabled(CameraStereoZed::available());
|
||||||
_ui->actionStereoTara->setEnabled(CameraStereoTara::available());
|
_ui->actionStereoTara->setEnabled(CameraStereoTara::available());
|
||||||
_ui->actionMYNT_EYE_S_SDK->setEnabled(CameraMyntEye::available());
|
_ui->actionMYNT_EYE_S_SDK->setEnabled(CameraMyntEye::available());
|
||||||
this->updateSelectSourceMenu();
|
this->updateSelectSourceMenu();
|
||||||
@@ -4730,10 +4734,12 @@ void MainWindow::updateSelectSourceMenu()
|
|||||||
_ui->actionRealSense_ZR300->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense);
|
_ui->actionRealSense_ZR300->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense);
|
||||||
_ui->actionRealSense2_SR300->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
_ui->actionRealSense2_SR300->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||||
_ui->actionRealSense2_D400->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
_ui->actionRealSense2_D400->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||||
|
_ui->actionRealSense2_IMU->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||||
_ui->actionRealSense2_L515->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
_ui->actionRealSense2_L515->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||||
_ui->actionStereoDC1394->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcDC1394);
|
_ui->actionStereoDC1394->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcDC1394);
|
||||||
_ui->actionStereoFlyCapture2->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcFlyCapture2);
|
_ui->actionStereoFlyCapture2->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcFlyCapture2);
|
||||||
_ui->actionStereoZed->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoZed);
|
_ui->actionStereoZed->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoZed);
|
||||||
|
_ui->actionZed_sdk_IMU->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoZed);
|
||||||
_ui->actionStereoTara->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoTara);
|
_ui->actionStereoTara->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoTara);
|
||||||
_ui->actionStereoUsb->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoUsb);
|
_ui->actionStereoUsb->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoUsb);
|
||||||
_ui->actionRealSense2_T265->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoRealSense2);
|
_ui->actionRealSense2_T265->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoRealSense2);
|
||||||
@@ -6481,10 +6487,14 @@ void MainWindow::selectRealSense2()
|
|||||||
{
|
{
|
||||||
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2);
|
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2);
|
||||||
}
|
}
|
||||||
void MainWindow::selectRealSense2L515()
|
void MainWindow::selectRealSense2i()
|
||||||
{
|
{
|
||||||
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 1);
|
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 1);
|
||||||
}
|
}
|
||||||
|
void MainWindow::selectRealSense2L515()
|
||||||
|
{
|
||||||
|
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 2);
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::selectRealSense2Stereo()
|
void MainWindow::selectRealSense2Stereo()
|
||||||
{
|
{
|
||||||
@@ -6504,6 +6514,10 @@ void MainWindow::selectStereoZed()
|
|||||||
{
|
{
|
||||||
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcStereoZed);
|
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcStereoZed);
|
||||||
}
|
}
|
||||||
|
void MainWindow::selectStereoZedi()
|
||||||
|
{
|
||||||
|
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcStereoZed, 1);
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::selectStereoTara()
|
void MainWindow::selectStereoTara()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3723,13 +3723,22 @@ void PreferencesDialog::updateParameters(const ParametersMap & parameters, bool
|
|||||||
void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
||||||
{
|
{
|
||||||
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
|
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
|
||||||
this->setParameter(Parameters::kOptimizerGravitySigma(), uNumber2Str(Parameters::defaultOptimizerGravitySigma()));
|
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.0");
|
||||||
|
|
||||||
if(src >= kSrcRGBD && src<kSrcStereo)
|
if(src >= kSrcRGBD && src<kSrcStereo)
|
||||||
{
|
{
|
||||||
_ui->comboBox_sourceType->setCurrentIndex(0);
|
_ui->comboBox_sourceType->setCurrentIndex(0);
|
||||||
_ui->comboBox_cameraRGBD->setCurrentIndex(src - kSrcRGBD);
|
_ui->comboBox_cameraRGBD->setCurrentIndex(src - kSrcRGBD);
|
||||||
if(src == kSrcOpenNI_PCL)
|
if(src == kSrcFreenect)
|
||||||
|
{
|
||||||
|
if(Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM))
|
||||||
|
{
|
||||||
|
// enable IMU
|
||||||
|
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
|
||||||
|
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.3");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(src == kSrcOpenNI_PCL)
|
||||||
{
|
{
|
||||||
_ui->lineEdit_openniOniPath->clear();
|
_ui->lineEdit_openniOniPath->clear();
|
||||||
}
|
}
|
||||||
@@ -3749,7 +3758,7 @@ void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
|||||||
}
|
}
|
||||||
else if (src == kSrcRealSense2)
|
else if (src == kSrcRealSense2)
|
||||||
{
|
{
|
||||||
if(variant > 0) // L515
|
if(variant > 1) // L515
|
||||||
{
|
{
|
||||||
_ui->spinBox_rs2_width->setValue(1280);
|
_ui->spinBox_rs2_width->setValue(1280);
|
||||||
_ui->spinBox_rs2_height->setValue(720);
|
_ui->spinBox_rs2_height->setValue(720);
|
||||||
@@ -3761,7 +3770,7 @@ void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
|||||||
_ui->spinBox_rs2_height->setValue(480);
|
_ui->spinBox_rs2_height->setValue(480);
|
||||||
_ui->spinBox_rs2_rate->setValue(60);
|
_ui->spinBox_rs2_rate->setValue(60);
|
||||||
}
|
}
|
||||||
if(Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM))
|
if(variant>0 && (Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM)))
|
||||||
{
|
{
|
||||||
// enable IMU
|
// enable IMU
|
||||||
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
|
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
|
||||||
@@ -3775,7 +3784,7 @@ void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
|||||||
_ui->comboBox_cameraStereo->setCurrentIndex(src - kSrcStereo);
|
_ui->comboBox_cameraStereo->setCurrentIndex(src - kSrcStereo);
|
||||||
if(Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM))
|
if(Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM))
|
||||||
{
|
{
|
||||||
if(src == kSrcStereoZed) // Zedm, Zed2
|
if(src == kSrcStereoZed && variant>0) // Zedm, Zed2
|
||||||
{
|
{
|
||||||
// enable IMU (zed sends already quaternion)
|
// enable IMU (zed sends already quaternion)
|
||||||
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
|
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
|
||||||
|
|||||||
@@ -207,6 +207,7 @@
|
|||||||
<normaloff>:/images/d435.png</normaloff>:/images/d435.png</iconset>
|
<normaloff>:/images/d435.png</normaloff>:/images/d435.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionRealSense2_D400"/>
|
<addaction name="actionRealSense2_D400"/>
|
||||||
|
<addaction name="actionRealSense2_IMU"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuRealSense_SR300">
|
<widget class="QMenu" name="menuRealSense_SR300">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@@ -267,6 +268,7 @@
|
|||||||
<normaloff>:/images/zed.png</normaloff>:/images/zed.png</iconset>
|
<normaloff>:/images/zed.png</normaloff>:/images/zed.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionStereoZed"/>
|
<addaction name="actionStereoZed"/>
|
||||||
|
<addaction name="actionZed_sdk_IMU"/>
|
||||||
<addaction name="actionStereoUsb"/>
|
<addaction name="actionStereoUsb"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuTara_Camera">
|
<widget class="QMenu" name="menuTara_Camera">
|
||||||
@@ -1617,6 +1619,22 @@
|
|||||||
<string>RealSense2</string>
|
<string>RealSense2</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionZed_sdk_IMU">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Zed sdk (Zedm, Zed2)</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionRealSense2_IMU">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>RealSense2 (D435i)</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
|||||||
Reference in New Issue
Block a user