AHRS.h
Go to the documentation of this file.
1 /*
2  * AHRS.h
3  *
4  * Created on: Jan 26, 2012
5  * Author: cbeall3
6  */
7 
8 #ifndef AHRS_H_
9 #define AHRS_H_
10 
11 #include "Mechanization_bRn2.h"
12 #include <gtsam_unstable/dllexport.h>
14 
15 namespace gtsam {
16 
17 class GTSAM_UNSTABLE_EXPORT AHRS {
18 
19 private:
20 
21  // Initial state
24 
25  // Quantities needed for integration
26  Matrix3 F_g_;
27  Matrix3 F_a_;
28 
30  Variances var_w_;
31 
32  // Quantities needed for aiding
35  Matrix3 n_g_cross_;
36 
37  Matrix3 Pg_, Pa_;
38 
39 public:
40 
42  static Matrix3 Cov(const Vector3s& m);
43 
50  AHRS(const Matrix& stationaryU, const Matrix& stationaryF, double g_e, bool flat=false);
51 
52  std::pair<Mechanization_bRn2, KalmanFilter::State> initialize(double g_e);
53 
54  std::pair<Mechanization_bRn2, KalmanFilter::State> integrate(
55  const Mechanization_bRn2& mech, KalmanFilter::State state,
56  const Vector& u, double dt);
57 
58  bool isAidingAvailable(const Mechanization_bRn2& mech,
59  const Vector& f, const Vector& u, double ge) const;
60 
68  std::pair<Mechanization_bRn2, KalmanFilter::State> aid(
69  const Mechanization_bRn2& mech, KalmanFilter::State state,
70  const Vector& f, bool Farrell=0) const;
71 
72  std::pair<Mechanization_bRn2, KalmanFilter::State> aidGeneral(
73  const Mechanization_bRn2& mech, KalmanFilter::State state,
74  const Vector& f, const Vector& f_expected, const Rot3& R_previous) const;
75 
77  void print(const std::string& s = "") const;
78 
79  virtual ~AHRS();
80 
82 };
83 
84 } /* namespace gtsam */
85 #endif /* AHRS_H_ */
void print(const Matrix &A, const string &s, ostream &stream)
Definition: Matrix.cpp:155
Matrix3f m
Mechanization_bRn2 mech0_
Initial mechanization state.
Definition: AHRS.h:22
Eigen::Vector3d Vector3
Definition: Vector.h:43
Vector3 sigmas_v_a_
measurement sigma
Definition: AHRS.h:33
GaussianDensity::shared_ptr State
Definition: KalmanFilter.h:56
Matrix3 F_g_
gyro bias dynamics
Definition: AHRS.h:26
Eigen::MatrixXd Matrix
Definition: base/Matrix.h:43
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition: Memory.h:690
Eigen::Matrix< double, 3, Eigen::Dynamic > Vector3s
Definition: AHRS.h:41
Matrix stationaryF
Definition: testAHRS.cpp:20
const double dt
double g_e
Definition: testAHRS.cpp:21
Eigen::VectorXd Vector
Definition: Vector.h:38
Matrix stationaryU
Definition: testAHRS.cpp:19
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
RealScalar s
Vector3 n_g_
gravity in nav frame
Definition: AHRS.h:34
KalmanFilter KF_
initial Kalman filter
Definition: AHRS.h:23
Variances var_w_
dynamic noise variances
Definition: AHRS.h:30
traits
Definition: chartTesting.h:28
Simple linear Kalman filter. Implemented using factor graphs, i.e., does Cholesky-based SRIF...
Matrix3 Pg_
Definition: AHRS.h:37
Matrix3 F_a_
acc bias dynamics
Definition: AHRS.h:27
Matrix3 n_g_cross_
and its skew-symmetric matrix
Definition: AHRS.h:35
Values initialize(const NonlinearFactorGraph &graph, bool useOdometricPath)
Definition: lago.cpp:338
Eigen::Matrix< double, 12, 1 > Variances
Definition: AHRS.h:29


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:41:36