Bump 0.20.8 version. Parameters: updated default of Vis/CorGuessWinSize=40 (was 20), GFTT/MinDistance=7 (was 3), Optimizer/GravitySigma=0.3 if built with g2o or gtsam. Those parameters help for smooth tracking on latest sensors with higher resolution and use IMU by default if available. Updated docker jfr2018 to use original parameters. CameraStereoZed: wait for imu to be available before sending frames (Zed-m and Zed2).

This commit is contained in:
matlabbe
2021-01-08 13:04:24 -05:00
parent 792c967d46
commit 1a967127d9
12 changed files with 46 additions and 86 deletions

View File

@@ -175,13 +175,11 @@ protected Q_SLOTS:
void selectK4A();
void selectRealSense();
void selectRealSense2();
void selectRealSense2i();
void selectRealSense2L515();
void selectRealSense2Stereo();
void selectStereoDC1394();
void selectStereoFlyCapture2();
void selectStereoZed();
void selectStereoZedi();
void selectStereoTara();
void selectStereoUsb();
void selectMyntEyeS();

View File

@@ -436,12 +436,10 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
connect(_ui->actionRealSense_ZR300, SIGNAL(triggered()), this, SLOT(selectRealSense()));
connect(_ui->actionRealSense2_SR300, 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->actionStereoDC1394, SIGNAL(triggered()), this, SLOT(selectStereoDC1394()));
connect(_ui->actionStereoFlyCapture2, SIGNAL(triggered()), this, SLOT(selectStereoFlyCapture2()));
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->actionStereoUsb, SIGNAL(triggered()), this, SLOT(selectStereoUsb()));
connect(_ui->actionRealSense2_T265, SIGNAL(triggered()), this, SLOT(selectRealSense2Stereo()));
@@ -459,13 +457,11 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
_ui->actionRealSense_ZR300->setEnabled(CameraRealSense::available());
_ui->actionRealSense2_SR300->setEnabled(CameraRealSense2::available());
_ui->actionRealSense2_D400->setEnabled(CameraRealSense2::available());
_ui->actionRealSense2_IMU->setEnabled(CameraRealSense2::available());
_ui->actionRealSense2_L515->setEnabled(CameraRealSense2::available());
_ui->actionRealSense2_T265->setEnabled(CameraRealSense2::available());
_ui->actionStereoDC1394->setEnabled(CameraStereoDC1394::available());
_ui->actionStereoFlyCapture2->setEnabled(CameraStereoFlyCapture2::available());
_ui->actionStereoZed->setEnabled(CameraStereoZed::available());
_ui->actionZed_sdk_IMU->setEnabled(CameraStereoZed::available());
_ui->actionStereoTara->setEnabled(CameraStereoTara::available());
_ui->actionMYNT_EYE_S_SDK->setEnabled(CameraMyntEye::available());
this->updateSelectSourceMenu();
@@ -4729,17 +4725,15 @@ void MainWindow::updateSelectSourceMenu()
_ui->actionOpenNI2_sense->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcOpenNI2);
_ui->actionFreenect2->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcFreenect2);
_ui->actionKinect_for_Windows_SDK_v2->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcK4W2);
_ui->actionKinect_for_Azure->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcK4W2);
_ui->actionKinect_for_Azure->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcK4A);
_ui->actionRealSense_R200->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense);
_ui->actionRealSense_ZR300->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense);
_ui->actionRealSense2_SR300->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->actionStereoDC1394->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcDC1394);
_ui->actionStereoFlyCapture2->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcFlyCapture2);
_ui->actionStereoZed->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoZed);
_ui->actionZed_sdk_IMU->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoZed);
_ui->actionStereoTara->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoTara);
_ui->actionStereoUsb->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoUsb);
_ui->actionRealSense2_T265->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcStereoRealSense2);
@@ -6487,13 +6481,9 @@ void MainWindow::selectRealSense2()
{
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2);
}
void MainWindow::selectRealSense2i()
{
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 1);
}
void MainWindow::selectRealSense2L515()
{
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 2);
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 1);
}
void MainWindow::selectRealSense2Stereo()
@@ -6514,10 +6504,6 @@ void MainWindow::selectStereoZed()
{
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcStereoZed);
}
void MainWindow::selectStereoZedi()
{
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcStereoZed, 1);
}
void MainWindow::selectStereoTara()
{

View File

@@ -1978,7 +1978,7 @@ void PreferencesDialog::resetSettings(QGroupBox * groupBox)
_ui->lineEdit_cameraImages_imu_transform->setText("0 0 1 0 -1 0 1 0 0");
_ui->spinBox_cameraImages_max_imu_rate->setValue(0);
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
_ui->doubleSpinBox_imuFilterMadgwickGain->setValue(Parameters::defaultImuFilterMadgwickGain());
_ui->doubleSpinBox_imuFilterMadgwickZeta->setValue(Parameters::defaultImuFilterMadgwickZeta());
_ui->doubleSpinBox_imuFilterComplementaryGainAcc->setValue(Parameters::defaultImuFilterComplementaryGainAcc());
@@ -3722,23 +3722,15 @@ void PreferencesDialog::updateParameters(const ParametersMap & parameters, bool
void PreferencesDialog::selectSourceDriver(Src src, int variant)
{
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.0");
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
_3dRenderingRoiRatios[0]->setText("0.0 0.0 0.0 0.0");
_3dRenderingRoiRatios[1]->setText("0.0 0.0 0.0 0.0");
if(src >= kSrcRGBD && src<kSrcStereo)
{
_ui->comboBox_sourceType->setCurrentIndex(0);
_ui->comboBox_cameraRGBD->setCurrentIndex(src - kSrcRGBD);
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)
if(src == kSrcOpenNI_PCL)
{
_ui->lineEdit_openniOniPath->clear();
}
@@ -3749,16 +3741,12 @@ void PreferencesDialog::selectSourceDriver(Src src, int variant)
else if (src == kSrcK4A)
{
_ui->lineEdit_k4a_mkv->clear();
if(Optimizer::isAvailable(Optimizer::kTypeG2O) || Optimizer::isAvailable(Optimizer::kTypeGTSAM))
{
// enable IMU
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.3");
}
_3dRenderingRoiRatios[0]->setText("0.05 0.05 0.05 0.05");
_3dRenderingRoiRatios[1]->setText("0.05 0.05 0.05 0.05");
}
else if (src == kSrcRealSense2)
{
if(variant > 1) // L515
if(variant > 0) // L515
{
_ui->spinBox_rs2_width->setValue(1280);
_ui->spinBox_rs2_height->setValue(720);
@@ -3770,38 +3758,17 @@ void PreferencesDialog::selectSourceDriver(Src src, int variant)
_ui->spinBox_rs2_height->setValue(480);
_ui->spinBox_rs2_rate->setValue(60);
}
if(variant>0 && (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 >= kSrcStereo && src<kSrcRGB)
{
_ui->comboBox_sourceType->setCurrentIndex(1);
_ui->comboBox_cameraStereo->setCurrentIndex(src - kSrcStereo);
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)
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.3");
}
else if(src == kSrcStereoRealSense2) // T265
{
// enable IMU
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.3");
}
else if(src == kSrcStereoMyntEye)
{
// enable IMU
_ui->comboBox_imuFilter_strategy->setCurrentIndex(1);
this->setParameter(Parameters::kOptimizerGravitySigma(), "0.3");
}
// disable IMU filtering (zed sends already quaternion)
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
}
}
else if(src >= kSrcRGB && src<kSrcDatabase)

View File

@@ -207,7 +207,6 @@
<normaloff>:/images/d435.png</normaloff>:/images/d435.png</iconset>
</property>
<addaction name="actionRealSense2_D400"/>
<addaction name="actionRealSense2_IMU"/>
</widget>
<widget class="QMenu" name="menuRealSense_SR300">
<property name="title">
@@ -268,7 +267,6 @@
<normaloff>:/images/zed.png</normaloff>:/images/zed.png</iconset>
</property>
<addaction name="actionStereoZed"/>
<addaction name="actionZed_sdk_IMU"/>
<addaction name="actionStereoUsb"/>
</widget>
<widget class="QMenu" name="menuTara_Camera">
@@ -1619,22 +1617,6 @@
<string>RealSense2</string>
</property>
</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>
<customwidgets>
<customwidget>