mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
L515 refactoring (realsense v2.41.0, firmware 1.5.3): added IR-only mode support, fixed support with latest firmware, T265+L515 working, related to #574 #614 #629. MainWindow: Selecting RealSense2, ZED sdk, K4A, Mynteye drivers automatically enable gravity optimization (with IMU filtering).
This commit is contained in:
@@ -175,6 +175,7 @@ protected Q_SLOTS:
|
||||
void selectK4A();
|
||||
void selectRealSense();
|
||||
void selectRealSense2();
|
||||
void selectRealSense2L515();
|
||||
void selectRealSense2Stereo();
|
||||
void selectStereoDC1394();
|
||||
void selectStereoFlyCapture2();
|
||||
|
||||
@@ -308,7 +308,7 @@ public Q_SLOTS:
|
||||
void setDetectionRate(double value);
|
||||
void setTimeLimit(float value);
|
||||
void setSLAMMode(bool enabled);
|
||||
void selectSourceDriver(Src src);
|
||||
void selectSourceDriver(Src src, int variant = 0);
|
||||
void calibrate();
|
||||
void calibrateSimple();
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ void CameraViewer::showImage(const rtabmap::SensorData & data)
|
||||
showScanCheckbox_->setEnabled(true);
|
||||
if(showScanCheckbox_->isChecked())
|
||||
{
|
||||
cloudView_->addCloud("scan", util3d::downsample(util3d::laserScanToPointCloud(data.laserScanRaw()), decimationSpin_->value()!=0?fabs(decimationSpin_->value()):1), Transform::getIdentity(), Qt::yellow);
|
||||
cloudView_->addCloud("scan", util3d::downsample(util3d::laserScanToPointCloud(data.laserScanRaw()), decimationSpin_->value()!=0?fabs(decimationSpin_->value()):1), data.laserScanRaw().localTransform(), Qt::yellow);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -435,13 +435,12 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
|
||||
connect(_ui->actionRealSense_R200, 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_D415, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||
connect(_ui->actionRealSense2_D435, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||
connect(_ui->actionRealSense2_L515, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||
connect(_ui->actionRealSense2_D400, SIGNAL(triggered()), this, SLOT(selectRealSense2()));
|
||||
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->actionStereoTara, SIGNAL(triggered()), this, SLOT(selectStereoTara()));
|
||||
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()));
|
||||
connect(_ui->actionMYNT_EYE_S_SDK, SIGNAL(triggered()), this, SLOT(selectMyntEyeS()));
|
||||
@@ -457,8 +456,7 @@ MainWindow::MainWindow(PreferencesDialog * prefDialog, QWidget * parent, bool sh
|
||||
_ui->actionRealSense_R200->setEnabled(CameraRealSense::available());
|
||||
_ui->actionRealSense_ZR300->setEnabled(CameraRealSense::available());
|
||||
_ui->actionRealSense2_SR300->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionRealSense2_D415->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionRealSense2_D435->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionRealSense2_D400->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionRealSense2_L515->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionRealSense2_T265->setEnabled(CameraRealSense2::available());
|
||||
_ui->actionStereoDC1394->setEnabled(CameraStereoDC1394::available());
|
||||
@@ -4731,8 +4729,7 @@ void MainWindow::updateSelectSourceMenu()
|
||||
_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_D415->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||
_ui->actionRealSense2_D435->setChecked(_preferencesDialog->getSourceDriver() == PreferencesDialog::kSrcRealSense2);
|
||||
_ui->actionRealSense2_D400->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);
|
||||
@@ -6484,6 +6481,10 @@ void MainWindow::selectRealSense2()
|
||||
{
|
||||
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2);
|
||||
}
|
||||
void MainWindow::selectRealSense2L515()
|
||||
{
|
||||
_preferencesDialog->selectSourceDriver(PreferencesDialog::kSrcRealSense2, 1);
|
||||
}
|
||||
|
||||
void MainWindow::selectRealSense2Stereo()
|
||||
{
|
||||
|
||||
@@ -682,6 +682,9 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
|
||||
connect(_ui->spinBox_rs2_width, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->spinBox_rs2_height, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->spinBox_rs2_rate, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->spinBox_rs2_width_depth, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->spinBox_rs2_height_depth, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->spinBox_rs2_rate_depth, SIGNAL(valueChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->checkbox_rs2_globalTimeStync, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->checkbox_rs2_dualMode, SIGNAL(stateChanged(int)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
connect(_ui->lineEdit_rs2_dualModeExtrinsics, SIGNAL(textChanged(const QString &)), this, SLOT(makeObsoleteSourcePanel()));
|
||||
@@ -1908,6 +1911,9 @@ void PreferencesDialog::resetSettings(QGroupBox * groupBox)
|
||||
_ui->spinBox_rs2_width->setValue(848);
|
||||
_ui->spinBox_rs2_height->setValue(480);
|
||||
_ui->spinBox_rs2_rate->setValue(60);
|
||||
_ui->spinBox_rs2_width_depth->setValue(640);
|
||||
_ui->spinBox_rs2_height_depth->setValue(480);
|
||||
_ui->spinBox_rs2_rate_depth->setValue(30);
|
||||
_ui->checkbox_rs2_globalTimeStync->setChecked(true);
|
||||
_ui->checkbox_rs2_dualMode->setChecked(false);
|
||||
_ui->lineEdit_rs2_dualModeExtrinsics->setText("0.009 0.021 0.027 0 -0.018 0.005");
|
||||
@@ -2364,6 +2370,9 @@ void PreferencesDialog::readCameraSettings(const QString & filePath)
|
||||
_ui->spinBox_rs2_width->setValue(settings.value("width", _ui->spinBox_rs2_width->value()).toInt());
|
||||
_ui->spinBox_rs2_height->setValue(settings.value("height", _ui->spinBox_rs2_height->value()).toInt());
|
||||
_ui->spinBox_rs2_rate->setValue(settings.value("rate", _ui->spinBox_rs2_rate->value()).toInt());
|
||||
_ui->spinBox_rs2_width_depth->setValue(settings.value("width_depth", _ui->spinBox_rs2_width_depth->value()).toInt());
|
||||
_ui->spinBox_rs2_height_depth->setValue(settings.value("height_depth", _ui->spinBox_rs2_height_depth->value()).toInt());
|
||||
_ui->spinBox_rs2_rate_depth->setValue(settings.value("rate_depth", _ui->spinBox_rs2_rate_depth->value()).toInt());
|
||||
_ui->checkbox_rs2_globalTimeStync->setChecked(settings.value("global_time_sync", _ui->checkbox_rs2_globalTimeStync->isChecked()).toBool());
|
||||
_ui->checkbox_rs2_dualMode->setChecked(settings.value("dual_mode", _ui->checkbox_rs2_dualMode->isChecked()).toBool());
|
||||
_ui->lineEdit_rs2_dualModeExtrinsics->setText(settings.value("dual_mode_extrinsics", _ui->lineEdit_rs2_dualModeExtrinsics->text()).toString());
|
||||
@@ -2847,6 +2856,9 @@ void PreferencesDialog::writeCameraSettings(const QString & filePath) const
|
||||
settings.setValue("width", _ui->spinBox_rs2_width->value());
|
||||
settings.setValue("height", _ui->spinBox_rs2_height->value());
|
||||
settings.setValue("rate", _ui->spinBox_rs2_rate->value());
|
||||
settings.setValue("width_depth", _ui->spinBox_rs2_width_depth->value());
|
||||
settings.setValue("height_depth", _ui->spinBox_rs2_height_depth->value());
|
||||
settings.setValue("rate_depth", _ui->spinBox_rs2_rate_depth->value());
|
||||
settings.setValue("global_time_sync", _ui->checkbox_rs2_globalTimeStync->isChecked());
|
||||
settings.setValue("dual_mode", _ui->checkbox_rs2_dualMode->isChecked());
|
||||
settings.setValue("dual_mode_extrinsics", _ui->lineEdit_rs2_dualModeExtrinsics->text());
|
||||
@@ -3708,8 +3720,11 @@ void PreferencesDialog::updateParameters(const ParametersMap & parameters, bool
|
||||
}
|
||||
}
|
||||
|
||||
void PreferencesDialog::selectSourceDriver(Src src)
|
||||
void PreferencesDialog::selectSourceDriver(Src src, int variant)
|
||||
{
|
||||
_ui->comboBox_imuFilter_strategy->setCurrentIndex(0);
|
||||
this->setParameter(Parameters::kOptimizerGravitySigma(), uNumber2Str(Parameters::defaultOptimizerGravitySigma()));
|
||||
|
||||
if(src >= kSrcRGBD && src<kSrcStereo)
|
||||
{
|
||||
_ui->comboBox_sourceType->setCurrentIndex(0);
|
||||
@@ -3725,12 +3740,60 @@ void PreferencesDialog::selectSourceDriver(Src src)
|
||||
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");
|
||||
}
|
||||
}
|
||||
else if (src == kSrcRealSense2)
|
||||
{
|
||||
if(variant > 0) // L515
|
||||
{
|
||||
_ui->spinBox_rs2_width->setValue(1280);
|
||||
_ui->spinBox_rs2_height->setValue(720);
|
||||
_ui->spinBox_rs2_rate->setValue(30);
|
||||
}
|
||||
else
|
||||
{
|
||||
_ui->spinBox_rs2_width->setValue(848);
|
||||
_ui->spinBox_rs2_height->setValue(480);
|
||||
_ui->spinBox_rs2_rate->setValue(60);
|
||||
}
|
||||
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 >= 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
|
||||
{
|
||||
// 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");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(src >= kSrcRGB && src<kSrcDatabase)
|
||||
{
|
||||
@@ -5738,6 +5801,7 @@ Camera * PreferencesDialog::createCamera(bool useRawImages, bool useColor)
|
||||
((CameraRealSense2*)camera)->setEmitterEnabled(_ui->checkbox_rs2_emitter->isChecked());
|
||||
((CameraRealSense2*)camera)->setIRFormat(_ui->checkbox_rs2_irMode->isChecked(), _ui->checkbox_rs2_irDepth->isChecked());
|
||||
((CameraRealSense2*)camera)->setResolution(_ui->spinBox_rs2_width->value(), _ui->spinBox_rs2_height->value(), _ui->spinBox_rs2_rate->value());
|
||||
((CameraRealSense2*)camera)->setDepthResolution(_ui->spinBox_rs2_width_depth->value(), _ui->spinBox_rs2_height_depth->value(), _ui->spinBox_rs2_rate_depth->value());
|
||||
((CameraRealSense2*)camera)->setGlobalTimeSync(_ui->checkbox_rs2_globalTimeStync->isChecked());
|
||||
((CameraRealSense2*)camera)->setDualMode(_ui->checkbox_rs2_dualMode->isChecked(), Transform::fromString(_ui->lineEdit_rs2_dualModeExtrinsics->text().toStdString()));
|
||||
((CameraRealSense2*)camera)->setJsonConfig(_ui->lineEdit_rs2_jsonFile->text().toStdString());
|
||||
|
||||
@@ -200,23 +200,13 @@
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuRealSense_D435">
|
||||
<property name="title">
|
||||
<string>RealSense D435</string>
|
||||
<string>RealSense D400</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../GuiLib.qrc">
|
||||
<normaloff>:/images/d435.png</normaloff>:/images/d435.png</iconset>
|
||||
</property>
|
||||
<addaction name="actionRealSense2_D435"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuRealSense_D415">
|
||||
<property name="title">
|
||||
<string>RealSense D415</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../GuiLib.qrc">
|
||||
<normaloff>:/images/d415.png</normaloff>:/images/d415.png</iconset>
|
||||
</property>
|
||||
<addaction name="actionRealSense2_D415"/>
|
||||
<addaction name="actionRealSense2_D400"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuRealSense_SR300">
|
||||
<property name="title">
|
||||
@@ -246,7 +236,6 @@
|
||||
<addaction name="menuRealSense_R200"/>
|
||||
<addaction name="menuRealSense_ZR300"/>
|
||||
<addaction name="menuRealSense_SR300"/>
|
||||
<addaction name="menuRealSense_D415"/>
|
||||
<addaction name="menuRealSense_D435"/>
|
||||
<addaction name="menuRealSense_L515"/>
|
||||
</widget>
|
||||
@@ -1572,15 +1561,7 @@
|
||||
<string>Kinect for Azure</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRealSense2_D435">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RealSense2</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionRealSense2_D415">
|
||||
<action name="actionRealSense2_D400">
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
|
||||
@@ -63,9 +63,9 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-677</y>
|
||||
<y>-687</y>
|
||||
<width>686</width>
|
||||
<height>3286</height>
|
||||
<height>3357</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_16">
|
||||
@@ -3220,7 +3220,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget_rgbd">
|
||||
<property name="currentIndex">
|
||||
<number>10</number>
|
||||
<number>9</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_32">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_63">
|
||||
@@ -4173,13 +4173,33 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
<string>RealSense2</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_100" columnstretch="0,0,1">
|
||||
<item row="9" column="1">
|
||||
<item row="6" column="1">
|
||||
<widget class="QSpinBox" name="spinBox_rs2_width_depth">
|
||||
<property name="suffix">
|
||||
<string> pix</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QSpinBox" name="spinBox_rs2_height_depth">
|
||||
<property name="suffix">
|
||||
<string> pix</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_rs2_jsonFile"/>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<item row="10" column="2">
|
||||
<widget class="QLabel" name="label_565">
|
||||
<property name="text">
|
||||
<string>Dual Mode (D400+T265): Odometry is computed by T265 and RGB-D frames are from D400.</string>
|
||||
<string>Dual Mode (D400/L500+T265): Odometry is computed by T265 and RGB-D frames are from D400/L500.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -4192,7 +4212,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
<item row="3" column="2">
|
||||
<widget class="QLabel" name="label_549">
|
||||
<property name="text">
|
||||
<string>Stream width.</string>
|
||||
<string>RGB/IR stream width. Set 1280 for L515.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -4281,7 +4301,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
<item row="4" column="2">
|
||||
<widget class="QLabel" name="label_550">
|
||||
<property name="text">
|
||||
<string>Stream height.</string>
|
||||
<string>RGB/IR stream height. Set 720 for L515.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -4291,7 +4311,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<item row="13" column="1">
|
||||
<spacer name="verticalSpacer_71">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
@@ -4307,7 +4327,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
<item row="5" column="2">
|
||||
<widget class="QLabel" name="label_551">
|
||||
<property name="text">
|
||||
<string>Stream rate.</string>
|
||||
<string>RGB/IR stream rate. Set 30 for L515.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -4340,7 +4360,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<item row="10" column="1">
|
||||
<widget class="QCheckBox" name="checkbox_rs2_dualMode">
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -4350,7 +4370,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<item row="11" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit_rs2_dualModeExtrinsics">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Format (3 values): x y z<br/>Format (6 values): x y z roll pitch yaw<br/>Format (7 values): x y z qx qy qz qw<br/>Format (9 values, 3x3 rotation): r11 r12 r13 r21 r22 r23 r31 r32 r33<br/>Format (12 values, 3x4 transform): r11 r12 r13 tx r21 r22 r23 ty r31 r32 r33 tz</p><p>KITTI: /base_link to /gray_camera = 0 0 1 -1 0 0 0 -1 0<br/>KITTI: /base_link to /color_camera = 0 0 1 0 -1 0 0 -0.06 0 -1 0 0<br/>KITTI: /base_footprint to /gray_camera = 0 0 1 0 -1 0 0 0 0 -1 0 1.67<br/>KITTI: /base_footprint to /color_camera = 0 0 1 0 -1 0 0 -0.06 0 -1 0 1.67</p><p>EuRoC MAV: /base_link to /cam0 = T_BS*T_SC0 = -0.0257742 0.00375623 0.999661 0.00981073 -0.999557 -0.0149672 -0.0257155 0.064677 0.0148655 -0.999881 0.00414038 -0.0216401</p></body></html></string>
|
||||
@@ -4360,23 +4380,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QLabel" name="label_566">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>Dual Mode extrinsics (T265's pose frame to D400's left IR camera). Default extrinsics match the 3D printed bracket <a href=" https://www.intelrealsense.com/depth-and-tracking-combined-get-started/"><span style=" text-decoration: underline; color:#0000ff;">here</span></a> (<a href="https://github.com/IntelRealSense/realsense-ros/blob/occupancy-mapping/realsense2_camera/meshes/mount_t265_d435.stl"><span style=" text-decoration: underline; color:#0000ff;">stl</span></a>).</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>
|
||||
<item row="9" column="2">
|
||||
<item row="12" column="2">
|
||||
<widget class="QLabel" name="label_571">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>D400 Series Visual Presets. See this <a href="https://github.com/IntelRealSense/librealsense/wiki/D400-Series-Visual-Presets"><span style=" text-decoration: underline; color:#0000ff;">page</span></a>.</p></body></html></string>
|
||||
@@ -4392,14 +4396,14 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<item row="12" column="0">
|
||||
<widget class="QToolButton" name="toolButton_rs2_jsonFile">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<item row="9" column="2">
|
||||
<widget class="QLabel" name="label_606">
|
||||
<property name="text">
|
||||
<string>Global time sync. This will make sure IMU data is interpolated at image timestamp, otherwise latest received IMU is synchronized to current frame. Set to off if your firmware of your camera cannot synchronize timestamps.</string>
|
||||
@@ -4412,7 +4416,7 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<item row="9" column="1">
|
||||
<widget class="QCheckBox" name="checkbox_rs2_globalTimeStync">
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -4422,6 +4426,71 @@ when using the file type, logs are saved in LogRtabmap.txt (located in the worki
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="label_611">
|
||||
<property name="text">
|
||||
<string>(L515) Depth stream width.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QSpinBox" name="spinBox_rs2_rate_depth">
|
||||
<property name="suffix">
|
||||
<string> Hz</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QLabel" name="label_612">
|
||||
<property name="text">
|
||||
<string>(L515) Depth stream height.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QLabel" name="label_613">
|
||||
<property name="text">
|
||||
<string>(L515) Depth stream rate.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="2">
|
||||
<widget class="QLabel" name="label_566">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>Dual Mode extrinsics (T265's pose frame to D400's left IR camera). Default extrinsics match the 3D printed bracket <a href=" https://www.intelrealsense.com/depth-and-tracking-combined-get-started/"><span style=" text-decoration: underline; color:#0000ff;">here</span></a> (<a href="https://github.com/IntelRealSense/realsense-ros/blob/occupancy-mapping/realsense2_camera/meshes/mount_t265_d435.stl"><span style=" text-decoration: underline; color:#0000ff;">stl</span></a>).</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>
|
||||
|
||||
Reference in New Issue
Block a user