Odometry: Added Kalman Filtering option

This commit is contained in:
matlabbe
2015-12-14 16:50:17 -05:00
parent 82d76f3e99
commit f5c062448d
7 changed files with 366 additions and 21 deletions

View File

@@ -86,7 +86,7 @@
<enum>QFrame::Raised</enum>
</property>
<property name="currentIndex">
<number>8</number>
<number>17</number>
</property>
<widget class="QWidget" name="page_22">
<layout class="QVBoxLayout" name="verticalLayout_29" stretch="0,1">
@@ -6575,7 +6575,7 @@ see Sqlite3 doc 'PRAGMA temp_store'.</string>
<item row="4" column="1">
<widget class="QLabel" name="label_233">
<property name="text">
<string>Particle filtering to smooth the odometry trajectory. See &quot;Particle Filter&quot; panel for the related parameters.</string>
<string>Pose estimation filtering strategy.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -6592,13 +6592,6 @@ see Sqlite3 doc 'PRAGMA temp_store'.</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="odom_particleFiltering">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_103">
<property name="text">
@@ -6714,6 +6707,28 @@ see Sqlite3 doc 'PRAGMA temp_store'.</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QComboBox" name="odom_filteringStrategy">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>No filtering</string>
</property>
</item>
<item>
<property name="text">
<string>Kalman filtering</string>
</property>
</item>
<item>
<property name="text">
<string>Particle filtering</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
@@ -7446,6 +7461,119 @@ see Sqlite3 doc 'PRAGMA temp_store'.</string>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_52">
<layout class="QVBoxLayout" name="verticalLayout_84">
<item>
<widget class="QGroupBox" name="groupBox_odometryKalmanFilter2">
<property name="title">
<string>Kalman Filter</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_171">
<item>
<widget class="QLabel" name="label_673">
<property name="text">
<string>Parameters for the Kalman filter when used to smooth the odometry trajectory.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_168" columnstretch="0,1">
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_kalmanMeasurementNoise">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_kalmanProcessNoise">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.001000000000000</double>
</property>
<property name="value">
<double>0.001000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_674">
<property name="text">
<string>Process noise.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_675">
<property name="text">
<string>Measurement noise.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_43">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1953</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_46">
<layout class="QVBoxLayout" name="verticalLayout_81">
<item>