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 Apache License, Version 2.0
7// (the "License"); you may not use this file except in compliance with the
8// License. You may obtain a copy of the License at
9//
10// http://www.apache.org/licenses/LICENSE-2.0
11//
12// Unless required by applicable law or agreed to in writing, software
13// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15// License for the specific language governing permissions and limitations
16// under the License.
17//
18// You can contact the authors at <alessandro.fornasier@ieee.org>
19
20#ifndef ZERO_VELOCITY_UPDATER_HPP
21#define ZERO_VELOCITY_UPDATER_HPP
22
23#include "msceqf/filter/checker/checker.hpp"
24#include "msceqf/state/state.hpp"
25
26namespace msceqf
27{
34{
35 public:
43
48 void setMotion();
49
55 void setMeasurement(const SE23& y);
56
65 [[nodiscard]] bool isActive(const Tracks& tracks);
66
75 [[nodiscard]] bool zvUpdate(MSCEqFState& X, const SystemState& xi0) const;
76
77 private:
79
80 const Checker& checker_; // The MSCEqF checker
81
82 SE23 y_;
83
84 bool motion_;
85};
86
87} // namespace msceqf
88
89#endif // ZERO_VELOCITY_UPDATER_HPP
Simple class to perform various checks.
Definition checker.hpp:35
this class represent the state of the MSCEqF. This includes the state of the lifted system (element o...
Definition state.hpp:38
The SystemState class represent the state of the system posed on the Homogenous space.
Definition system.hpp:37
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:145