My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
Loading...
Searching...
No Matches
GraphConfig.h
Go to the documentation of this file.
1/*
2Copyright 2024 by Julian Nubert, Robotic Systems Lab, ETH Zurich.
3All rights reserved.
4This file is released under the "BSD-3-Clause License".
5Please see the LICENSE file that has been included as part of this package.
6 */
7
8#ifndef GRAPH_CONFIG_H
9#define GRAPH_CONFIG_H
10
11#include <Eigen/Eigen>
12
13namespace holistic_fusion {
14
22
25
26 // General Config
31
32 // Sensor Params
33 double imuRate_ = 100;
38 double imuTimeOffset_ = 0.0;
39 bool isImuAccInG_ = false;
40
41 // Initialization
42 bool staticAtStartup_ = true;
44 double gravityMagnitude_ = 9.81;
45 Eigen::Vector3d W_gravityVector_ = Eigen::Vector3d(0.0, 0.0, -1) * gravityMagnitude_;
46
47 // Factor Graph
54 // Optimizer Config
64 // Alignment Parameters
69 // Calibration
71
72 // Noise Params (Noise Amplitude Spectral Density)
73 // Position
74 double accNoiseDensity_ = 1e-03; // [m/s^2/√Hz)]
75 double integrationNoiseDensity_ = 1.0e-04;
76 // Rotation
77 double gyroNoiseDensity_ = 1e-04; // [rad/s/√Hz]
78 // Earth rotation (Coriolis / centrifugal / Earth-rate compensation in the IMU preintegration)
79 bool earthRotationCompensationFlag_ = false; // If true, GTSAM's exact rotating-frame IMU model is used
80 double latitudeDeg_ = 47.4; // Geodetic latitude [deg], positive on the northern hemisphere (Zurich)
81 bool worldFrameNorthAlignedFlag_ = false; // If true, the y-axis of the world frame points north (ENU) and the
82 // horizontal Earth-rate component is used as well; otherwise only the
83 // vertical component (valid for any gravity-aligned world frame)
84 // Bias
85 double accBiasRandomWalkNoiseDensity_ = 1e-04; // [m/s^3/√Hz]
86 double gyroBiasRandomWalkNoiseDensity_ = 1e-05; // [rad/s^2/√Hz]
87 Eigen::Vector3d accBiasPrior_ = Eigen::Vector3d(0.0, 0.0, 0.0);
88 Eigen::Vector3d gyroBiasPrior_ = Eigen::Vector3d(0.0, 0.0, 0.0);
89 // Initial State
90 double initialPositionStdDev_ = 1e-01;
92 double initialVelocityStdDev_ = 1e-01;
93 double initialAccBiasStdDev_ = 1e-01;
94 double initialGyroBiasStdDev_ = 1e-01;
95
96 // Relinearization
97 // Thresholds
98 double positionReLinTh_ = 1e-3;
99 double rotationReLinTh_ = 1e-3;
100 double velocityReLinTh_ = 1e-3;
101 double accBiasReLinTh_ = 1e-3;
102 double gyroBiasReLinTh_ = 1e-3;
104 double calibrationReLinTh_ = 1e-3;
105 double displacementReLinTh_ = 1e-3;
106 double landmarkReLinTh_ = 1e-3;
107 // Flags
113
114 // Other
115 double maxSearchDeviation_ = 0.01;
116};
117
118} // namespace holistic_fusion
119
120#endif // GRAPH_CONFIG_H
@ kFunctioningAndStateMachine1
Definition GraphConfig.h:17
double windowSizeSecondsForMarginalsComputation_
Definition GraphConfig.h:63
bool realTimeSmootherUseCholeskyFactorizationFlag_
Definition GraphConfig.h:50
bool optimizeExtrinsicSensorToSensorCorrectedOffsetFlag_
Definition GraphConfig.h:70
Eigen::Vector3d W_gravityVector_
Definition GraphConfig.h:45
Eigen::Vector3d gyroBiasPrior_
Definition GraphConfig.h:88
bool centerMeasurementsAtKeyframePositionBeforeAlignmentFlag_
Definition GraphConfig.h:67
double createReferenceAlignmentKeyframeEveryNSeconds_
Definition GraphConfig.h:68
bool slowBatchSmootherUseCholeskyFactorizationFlag_
Definition GraphConfig.h:53
Eigen::Vector3d accBiasPrior_
Definition GraphConfig.h:87