0.2.0
Loading...
Searching...
No Matches
PinData.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
13
14#pragma once
15
16#include "util/Eigen.hpp"
17
18namespace NAV
19{
20
22struct PinData
23{
24 // ------------------------------------- State and variance units ----------------------------------------
26 enum class AngRateUnit
27 {
28 deg_s,
29 rad_s,
30 };
31
34 {
35 m_s2,
36 };
37
40 {
41 rad2_s2,
42 rad_s,
43 deg2_s2,
44 deg_s,
45 };
46
49 {
50 m2_s4,
51 m_s2,
52 };
53
54 // ---------------------------------------- Unit initialization ------------------------------------------
55
60
77
78 // --------------------------------------- State initialization ------------------------------------------
79
81 Eigen::Vector3d initAngularRateBias{ 0.0, 0.0, 0.0 };
83 Eigen::Vector3d initAccelerationBias{ 0.0, 0.0, 0.0 };
84
86 Eigen::Vector3d initCovarianceAngularRate{ 1.0, 1.0, 1.0 };
88 Eigen::Vector3d initCovarianceAcceleration{ 0.1, 0.1, 0.1 };
90 Eigen::Vector3d initCovarianceBiasAngRate{ 1.0, 1.0, 1.0 };
92 Eigen::Vector3d initCovarianceBiasAcc{ 0.1, 0.1, 0.1 };
94 Eigen::Vector3d varBiasAngRateNoise = { 1.0, 1.0, 1.0 };
96 Eigen::Vector3d varBiasAccelerationNoise{ 0.1, 0.1, 0.1 };
98 Eigen::Vector3d measurementUncertaintyAngularRate{ 1.0, 1.0, 1.0 };
100 Eigen::Vector3d measurementUncertaintyAcceleration{ 0.1, 0.1, 0.1 };
101};
102
105{
106 // ----------------------------------- State and variance units --------------------------------------
108 enum class AngularAccUnit
109 {
110 deg_s2,
111 rad_s2,
112 };
114 enum class JerkUnit
115 {
116 m_s3,
117 };
118
121 {
122 rad2_s4,
123 rad_s2,
124 deg2_s4,
125 deg_s2,
126 };
129 {
130 m2_s6,
131 m_s3,
132 };
133
134 // -------------------------------------- Unit initialization ----------------------------------------
135
144
149
154
155 // ------------------------------------- State initialization ----------------------------------------
156
158 Eigen::Vector3d initAngularRate{ 0.0, 0.0, 0.0 };
160 Eigen::Vector3d initAngularAcc{ 0.0, 0.0, 0.0 };
162 Eigen::Vector3d initAcceleration{ 0.0, 0.0, 0.0 };
164 Eigen::Vector3d initJerk{ 0.0, 0.0, 0.0 };
165
167 Eigen::Vector3d initCovarianceAngularAcc{ 0.1, 0.1, 0.1 };
169 Eigen::Vector3d initCovarianceJerk{ 0.1, 0.1, 0.1 };
170
172 Eigen::Vector3d varAngularAccNoise{ 0.1, 0.1, 0.1 };
174 Eigen::Vector3d varJerkNoise{ 0.1, 0.1, 0.1 };
175};
176
179{
180 // -------------------------------------- Unit initialization ----------------------------------------
181
186
191
196
197 // ------------------------------------- State initialization ----------------------------------------
198
200 Eigen::VectorXd initCoeffsAngRate = Eigen::VectorXd::Zero(9);
202 Eigen::VectorXd initCoeffsAccel = Eigen::VectorXd::Zero(9);
203
205 Eigen::VectorXd initCovarianceCoeffsAngRate = Eigen::VectorXd::Ones(9);
207 Eigen::VectorXd initCovarianceCoeffsAccel = Eigen::VectorXd::Ones(9);
208
210 Eigen::VectorXd varCoeffsAngRateNoise = Eigen::VectorXd::Ones(9) * 0.1;
212 Eigen::VectorXd varCoeffsAccelNoise = Eigen::VectorXd::Ones(9) * 0.1;
213};
214} // namespace NAV
Vector space operations.
Sensor information specific to the Bspline-KF.
Definition PinData.hpp:179
Eigen::VectorXd initCovarianceCoeffsAngRate
GUI selection for the initial covariance of the B-spline coefficients of the angular rate.
Definition PinData.hpp:205
PinData::AccelerationUnit initCoeffsAccelUnit
Gui selection for the unit of the initial coefficients of the acceleration B-splines.
Definition PinData.hpp:185
PinData::AccelerationVarianceUnit initCovarianceCoeffsAccelUnit
Gui selection for the unit of the initial covariance for the coefficients of acceleration.
Definition PinData.hpp:190
Eigen::VectorXd initCoeffsAngRate
GUI selection for the initial B-spline coefficients of the angular rate.
Definition PinData.hpp:200
PinData::AngRateVarianceUnit initCovarianceCoeffsAngRateUnit
Gui selection for the unit of the initial covariance for the coefficients of angular rate.
Definition PinData.hpp:188
Eigen::VectorXd varCoeffsAccelNoise
GUI selection for the coeffs of the acceleration process noise (diagonal values)
Definition PinData.hpp:212
Eigen::VectorXd initCoeffsAccel
GUI selection for the initial B-spline coefficients of the acceleration.
Definition PinData.hpp:202
Eigen::VectorXd initCovarianceCoeffsAccel
GUI selection for the initial covariance of the B-spline coefficients of the acceleration.
Definition PinData.hpp:207
Eigen::VectorXd varCoeffsAngRateNoise
GUI selection for the coeffs of the angular rate process noise (diagonal values)
Definition PinData.hpp:210
PinData::AngRateVarianceUnit varCoeffsAngRateUnit
GUI selection for the B-spline coeffs of the angular rate process noise (diagonal values)
Definition PinData.hpp:193
PinData::AccelerationVarianceUnit varCoeffsAccelUnit
GUI selection for the B-spline coeffs of the acceleration process noise (diagonal values)
Definition PinData.hpp:195
PinData::AngRateUnit initCoeffsAngularRateUnit
Gui selection for the unit of the initial coefficients of the angular rate B-splines.
Definition PinData.hpp:183
Sensor information specific to the IRW-KF.
Definition PinData.hpp:105
JerkVarianceUnit initCovarianceJerkUnit
Gui selection for the unit of the initial covariance for the jerk.
Definition PinData.hpp:148
PinData::AccelerationUnit initAccelerationUnit
Gui selection for the unit of the initial acceleration.
Definition PinData.hpp:141
Eigen::Vector3d initAcceleration
GUI selection for the initial acceleration.
Definition PinData.hpp:162
AngularAccUnit initAngularAccUnit
Gui selection for the unit of the initial angular acceleration.
Definition PinData.hpp:139
Eigen::Vector3d initCovarianceAngularAcc
GUI selection for the initial covariance diagonal values for angular acceleration (standard deviation...
Definition PinData.hpp:167
AngularAccUnit
Possible Units for the angular acceleration.
Definition PinData.hpp:109
@ deg_s2
in [deg/s², deg/s², deg/s²]
@ rad_s2
in [rad/s², rad/s², rad/s²]
Eigen::Vector3d initAngularRate
GUI selection for the initial angular rate.
Definition PinData.hpp:158
JerkUnit
Possible Units for the jerk.
Definition PinData.hpp:115
@ m_s3
in [m/s³, m/s³, m/s³]
Eigen::Vector3d initCovarianceJerk
GUI selection for the initial covariance diagonal values for jerk (standard deviation σ or Variance σ...
Definition PinData.hpp:169
Eigen::Vector3d varJerkNoise
GUI selection for the jerk process noise diagonal values.
Definition PinData.hpp:174
AngularAccVarianceUnit varAngularAccNoiseUnit
Gui selection for the unit of the angular acceleration process noise.
Definition PinData.hpp:151
AngularAccVarianceUnit
Possible Units for the variance for the process noise of the angular acceleration (standard deviation...
Definition PinData.hpp:121
@ deg_s2
Standard deviation [deg/s², deg/s², deg/s²].
@ deg2_s4
Variance [(deg^2)/(s^4), (deg^2)/(s^4), (deg^2)/(s^4)].
@ rad2_s4
Variance [(rad^2)/(s^4), (rad^2)/(s^4), (rad^2)/(s^4)].
Eigen::Vector3d initJerk
GUI selection for the initial jerk.
Definition PinData.hpp:164
Eigen::Vector3d varAngularAccNoise
GUI selection for the angular acceleration process noise diagonal values.
Definition PinData.hpp:172
AngularAccVarianceUnit initCovarianceAngularAccUnit
Gui selection for the unit of the initial covariance for the angular acceleration.
Definition PinData.hpp:146
PinData::AngRateUnit initAngularRateUnit
Gui selection for the unit of the initial angular rate.
Definition PinData.hpp:137
Eigen::Vector3d initAngularAcc
GUI selection for the initial angular acceleration.
Definition PinData.hpp:160
JerkVarianceUnit varJerkNoiseUnit
Gui selection for the unit of the jerk process noise.
Definition PinData.hpp:153
JerkUnit initJerkUnit
Gui selection for the Unit of the initial jerk.
Definition PinData.hpp:143
JerkVarianceUnit
Possible Units for the variance for the process noise of the jerk (standard deviation σ or Variance σ...
Definition PinData.hpp:129
@ m2_s6
Variance [(m^2)/(s^6), (m^2)/(s^6), (m^2)/(s^6)].
@ m_s3
Standard deviation [m/s³, m/s³, m/s³].
Information about a sensor which is connected to a certain pin (i.e. sensor characteristics defined i...
Definition PinData.hpp:23
AccelerationVarianceUnit measurementUncertaintyAccelerationUnit
Gui selection for the unit of the acceleration's measurement uncertainty.
Definition PinData.hpp:76
Eigen::Vector3d initCovarianceAngularRate
GUI selection for the initial covariance diagonal values for angular rate (standard deviation σ or Va...
Definition PinData.hpp:86
Eigen::Vector3d measurementUncertaintyAngularRate
Gui selection for the angular rate measurement uncertainty diagonal values.
Definition PinData.hpp:98
AccelerationVarianceUnit initCovarianceBiasAccUnit
Gui selection for the Unit of the initial covariance for the acceleration biases.
Definition PinData.hpp:68
Eigen::Vector3d varBiasAngRateNoise
GUI selection for the process noise of the angular rate diagonal values (standard deviation σ or Vari...
Definition PinData.hpp:94
Eigen::Vector3d initCovarianceBiasAcc
GUI selection for the initial covariance diagonal values for acceleration biases (standard deviation ...
Definition PinData.hpp:92
Eigen::Vector3d initCovarianceAcceleration
GUI selection for the initial covariance diagonal values for acceleration (standard deviation σ or Va...
Definition PinData.hpp:88
AccelerationUnit
Possible Units for the acceleration.
Definition PinData.hpp:34
@ m_s2
in [m/s², m/s², m/s²]
Eigen::Vector3d measurementUncertaintyAcceleration
Gui selection for the acceleration measurement uncertainty diagonal values.
Definition PinData.hpp:100
AngRateVarianceUnit
Possible Units for the variance for the process noise of the angular rate (standard deviation σ or Va...
Definition PinData.hpp:40
@ rad2_s2
Variance [rad²/s², rad²/s², rad²/s²].
@ deg2_s2
Variance [deg²/s², deg²/s², deg²/s²].
@ deg_s
Standard deviation [deg/s, deg/s, deg/s].
AngRateVarianceUnit varBiasAngRateNoiseUnit
Gui selection for the Unit of the process noise of the angular rate.
Definition PinData.hpp:70
AccelerationUnit initAccelerationBiasUnit
GUI selection for the unit of the initial angular acceleration bias.
Definition PinData.hpp:59
AngRateVarianceUnit measurementUncertaintyAngularRateUnit
Gui selection for the unit of the angular rate's measurement uncertainty.
Definition PinData.hpp:74
Eigen::Vector3d initAccelerationBias
GUI selection for the initial acceleration bias.
Definition PinData.hpp:83
Eigen::Vector3d initAngularRateBias
GUI selection for the initial angular rate bias.
Definition PinData.hpp:81
AngRateVarianceUnit initCovarianceAngularRateUnit
Gui selection for the Unit of the initial covariance for the angular rate.
Definition PinData.hpp:62
Eigen::Vector3d initCovarianceBiasAngRate
GUI selection for the initial covariance diagonal values for angular rate biases (standard deviation ...
Definition PinData.hpp:90
AccelerationVarianceUnit
Possible Units for the variance for the process noise of the acceleration (standard deviation σ or Va...
Definition PinData.hpp:49
@ m2_s4
Variance [(m^2)/(s^4), (m^2)/(s^4), (m^2)/(s^4)].
@ m_s2
Standard deviation [m/s², m/s², m/s²].
AccelerationVarianceUnit initCovarianceAccelerationUnit
Gui selection for the Unit of the initial covariance for the acceleration.
Definition PinData.hpp:64
AngRateUnit
Possible Units for the angular rate.
Definition PinData.hpp:27
@ deg_s
in [deg/s, deg/s, deg/s]
@ rad_s
in [rad/s, rad/s, rad/s]
Eigen::Vector3d varBiasAccelerationNoise
GUI selection for the process noise of the acceleration diagonal values (standard deviation σ or Vari...
Definition PinData.hpp:96
AngRateVarianceUnit initCovarianceBiasAngRateUnit
Gui selection for the Unit of the initial covariance for the angular rate biases.
Definition PinData.hpp:66
AccelerationVarianceUnit varBiasAccelerationNoiseUnit
Gui selection for the Unit of the process noise of the acceleration.
Definition PinData.hpp:72
AngRateUnit initAngularRateBiasUnit
GUI selection for the unit of the initial angular rate bias.
Definition PinData.hpp:57