MSCEqF
1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Toggle main menu visibility
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
26
namespace
msceqf
27
{
33
class
ZeroVelocityUpdater
34
{
35
public
:
42
ZeroVelocityUpdater
(
const
ZeroVelocityUpdaterOptions
& opts,
const
Checker
& checker);
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
:
78
ZeroVelocityUpdaterOptions
opts_;
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
msceqf::Checker
Simple class to perform various checks.
Definition
checker.hpp:35
msceqf::MSCEqFState
this class represent the state of the MSCEqF. This includes the state of the lifted system (element o...
Definition
state.hpp:38
msceqf::SystemState
The SystemState class represent the state of the system posed on the Homogenous space.
Definition
system.hpp:37
msceqf::ZeroVelocityUpdater::setMeasurement
void setMeasurement(const SE23 &y)
Set the static extended pose measurement.
msceqf::ZeroVelocityUpdater::zvUpdate
bool zvUpdate(MSCEqFState &X, const SystemState &xi0) const
Perform a zero velocity update.
msceqf::ZeroVelocityUpdater::ZeroVelocityUpdater
ZeroVelocityUpdater(const ZeroVelocityUpdaterOptions &opts, const Checker &checker)
Zero velocity updater constructor.
msceqf::ZeroVelocityUpdater::setMotion
void setMotion()
Set motion flag indicating that we are not in the static phase at the beginning but we have moved.
msceqf::ZeroVelocityUpdater::isActive
bool isActive(const Tracks &tracks)
Check whether the zero velocity updater is active.
msceqf::ZeroVelocityUpdaterOptions
Definition
msceqf_options.hpp:145
include
msceqf
filter
updater
zero_velocity_updater.hpp
Generated by
1.17.0