From 50834b4ba0904a13242476cc515f85fda4f30844 Mon Sep 17 00:00:00 2001 From: Martin Miller Date: Wed, 22 Mar 2017 15:47:00 -0500 Subject: Add feature handling to state --- src/state.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/state.h') diff --git a/src/state.h b/src/state.h index c91c1ae..8a9d318 100644 --- a/src/state.h +++ b/src/state.h @@ -1,11 +1,16 @@ #ifndef state_INC #define state_INC #include +#include +#include + #include "body.h" +#include "feature.h" #include "types.h" #define MAXFEATURES 30 using Eigen::Matrix; +using Eigen::MatrixXd; using Eigen::Dynamic; using Eigen::Vector3d; using Eigen::Quaterniond; @@ -22,19 +27,22 @@ class State State (); /* constructor */ /* ==================== ACCESSORS ======================================= */ + bool exists(int id); /* ==================== MUTATORS ======================================= */ void accelerometer_bias(const Vector3d &b); void enu(const UTM &utm); + void feature_update( const std::vector & z, const Quaterniond &q); + void initializePi(int i, const Matrix &Pi); void motionModel(const Vector3d &acc, const Vector3d &ang, const Quaterniond &q, const double dt); void position_covariance(const Matrix &p); void velocity_covariance(const Matrix &p); void vel(const Matrix &v); void Pkk1 ( const Vector3d &ang, const Quaterniond &q, const double dt); + void update ( const Matrix &z); /* ==================== OPERATORS ======================================= */ - void update ( const Matrix &z); void unicsv(); protected: @@ -44,12 +52,14 @@ class State private: /* ==================== METHODS ======================================= */ + void expandP(int Nnew); /* ==================== DATA MEMBERS ======================================= */ Body *body; Matrix P; char utm_c; int utm_i; + std::list features; }; /* ----- end of class State ----- */ -- cgit v1.1