mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-04 23:18:28 -04:00
20 lines
521 B
C++
20 lines
521 B
C++
/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
|
#pragma once
|
|
|
|
class PosVelEKF {
|
|
public:
|
|
void init(float pos, float posVar, float vel, float velVar);
|
|
void predict(float dt, float dVel, float dVelNoise);
|
|
void fusePos(float pos, float posVar);
|
|
void fuseVel(float vel, float velVar);
|
|
|
|
float getPos() const { return _state[0]; }
|
|
float getVel() const { return _state[1]; }
|
|
|
|
float getPosNIS(float pos, float posVar);
|
|
|
|
private:
|
|
float _state[2];
|
|
float _cov[3];
|
|
};
|