diff options
author | Martin Miller | 2017-03-18 22:31:28 -0500 |
---|---|---|
committer | Martin Miller | 2017-03-18 22:31:28 -0500 |
commit | f098647e69c1fe3a3a20599405962e7e1f3c7c0f (patch) | |
tree | 017a8f4dc8a509748ac9abfb562e8cccc4d137fe /src/feature.h | |
parent | 10e0571454de1ceb5e959d3eda3c9b6102e2543b (diff) | |
download | refslam-f098647e69c1fe3a3a20599405962e7e1f3c7c0f.zip refslam-f098647e69c1fe3a3a20599405962e7e1f3c7c0f.tar.gz |
Add Feature class
Diffstat (limited to 'src/feature.h')
-rw-r--r-- | src/feature.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/feature.h b/src/feature.h new file mode 100644 index 0000000..d6c43d0 --- /dev/null +++ b/src/feature.h @@ -0,0 +1,59 @@ +#ifndef feature_INC +#define feature_INC +#include <Eigen/Dense> +#include "types.h" + +using Eigen::Vector3d; +using Eigen::Matrix; +using Eigen::Quaterniond; + +/* + * ===================================================================================== + * Class: Feature + * Description: + * ===================================================================================== + */ +class Feature +{ + public: + /* ==================== LIFECYCLE ======================================= */ + Feature (); /* constructor */ + + /* ==================== ACCESSORS ======================================= */ + + /* ==================== MUTATORS ======================================= */ + + /* ==================== OPERATORS ======================================= */ + Matrix<double,3,9> Fx(); + Matrix<double,3,3> Fy( const Vector3d &vel, const Vector3d &ang); + Matrix<double,6,9> Hx( const Vector3d &pos, const Quaterniond &q); + Matrix<double,6,3> Hy( const Vector3d &pos, const Quaterniond &q); + /* + Matrix<double,6> Hy + Matrix<double,6,1> h(); + void motionModel ( const Vector3d &acc, const Vector3d &ang, + const Quaterniond &q, const double dt); + Matrix<double,9,9> Q(double dt); + Matrix<double,1,1> R(); + Matrix<double,1,1> S(const Matrix<double,9,9> &P); + void skewSymmetric(const Vector3d &x, Matrix<double,3,3> &y); + void unicsv(); + */ + + protected: + /* ==================== METHODS ======================================= */ + + /* ==================== DATA MEMBERS ======================================= */ + + private: + /* ==================== METHODS ======================================= */ + + /* ==================== DATA MEMBERS ======================================= */ + Vector3d X; + Quaterniond q0; + Vector3d xb0w; + +}; /* ----- end of class Feature ----- */ + + +#endif /* ----- #ifndef feature_INC ----- */ |