MSCEqF 1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Loading...
Searching...
No Matches
symmetry.hpp
1// Copyright (C) 2023 Alessandro Fornasier.
2// Control of Networked Systems, University of Klagenfurt, Austria.
3//
4// All rights reserved.
5//
6// This software is licensed under the terms of the BSD-2-Clause-License with
7// no commercial use allowed, the full terms of which are made available
8// in the LICENSE file. No license in patents is granted.
9//
10// You can contact the authors at <alessandro.fornasier@ieee.org>
11
12#ifndef SYMMETRY_HPP
13#define SYMMETRY_HPP
14
15#include "msceqf/state/state.hpp"
16#include "sensors/sensor_data.hpp"
17#include "msceqf/state/state.hpp"
18#include "utils/tools.hpp"
19
20namespace msceqf
21{
23{
24 public:
32 [[nodiscard]] static const SystemState phi(const MSCEqFState& X, const SystemState& xi);
33
41 [[nodiscard]] static const SystemState::SystemStateAlgebraMap lift(const SystemState& xi, const Imu& u);
42
50 [[nodiscard]] static const MatrixX curvatureCorrection(const MSCEqFState& X, const VectorX& inn);
51
52 static const Matrix5 D;
53
54 private:
55 Symmetry() = default;
56};
57
58} // namespace msceqf
59
60#endif // SYMMETRY_HPP
this class represent the state of the MSCEqF. This includes the state of the lifted system (element o...
Definition state.hpp:30
Definition symmetry.hpp:23
static const Matrix5 D
The D matrix.
Definition symmetry.hpp:52
static const SystemState phi(const MSCEqFState &X, const SystemState &xi)
Implement the right group action phi of the symmetry group, acting on the homogenous space (phi(X,...
static const SystemState::SystemStateAlgebraMap lift(const SystemState &xi, const Imu &u)
Implement the lift function. Lift the actual dynamics onto the symmetry group.
static const MatrixX curvatureCorrection(const MSCEqFState &X, const VectorX &inn)
Return the Gamma matrix for the reset / curvature correction.
The SystemState class represent the state of the system posed on the Homogenous space.
Definition system.hpp:29
std::unordered_map< SystemStateKey, VectorX > SystemStateAlgebraMap
System state algebra map.
Definition system.hpp:33
Struct for one IMU reading. It includes timestamp, angular velocity and linear acceleration....
Definition sensor_data.hpp:29