MSCEqF 1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Loading...
Searching...
No Matches
zero_velocity_updater.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 ZERO_VELOCITY_UPDATER_HPP
13#define ZERO_VELOCITY_UPDATER_HPP
14
15#include "msceqf/filter/checker/checker.hpp"
16#include "msceqf/state/state.hpp"
17
18namespace msceqf
19{
26{
27 public:
35
40 void setMotion();
41
47 void setMeasurement(const SE23& y);
48
57 [[nodiscard]] bool isActive(const Tracks& tracks);
58
67 [[nodiscard]] bool zvUpdate(MSCEqFState& X, const SystemState& xi0) const;
68
69 private:
71
72 const Checker& checker_; // The MSCEqF checker
73
74 SE23 y_;
75
76 bool motion_;
77};
78
79} // namespace msceqf
80
81#endif // ZERO_VELOCITY_UPDATER_HPP
Simple class to perform various checks.
Definition checker.hpp:27
this class represent the state of the MSCEqF. This includes the state of the lifted system (element o...
Definition state.hpp:30
The SystemState class represent the state of the system posed on the Homogenous space.
Definition system.hpp:29
Zero velocity updater class. This class implements the Equivariant Zero Velocity Update (ZVU) of the ...
Definition zero_velocity_updater.hpp:26
void setMeasurement(const SE23 &y)
Set the static extended pose measurement.
bool zvUpdate(MSCEqFState &X, const SystemState &xi0) const
Perform a zero velocity update.
ZeroVelocityUpdater(const ZeroVelocityUpdaterOptions &opts, const Checker &checker)
Zero velocity updater constructor.
void setMotion()
Set motion flag indicating that we are not in the static phase at the beginning but we have moved.
bool isActive(const Tracks &tracks)
Check whether the zero velocity updater is active.
Definition msceqf_options.hpp:137