summaryrefslogtreecommitdiff
path: root/src/feature.h
diff options
context:
space:
mode:
authorMartin Miller2017-03-18 22:31:28 -0500
committerMartin Miller2017-03-18 22:31:28 -0500
commitf098647e69c1fe3a3a20599405962e7e1f3c7c0f (patch)
tree017a8f4dc8a509748ac9abfb562e8cccc4d137fe /src/feature.h
parent10e0571454de1ceb5e959d3eda3c9b6102e2543b (diff)
downloadrefslam-f098647e69c1fe3a3a20599405962e7e1f3c7c0f.zip
refslam-f098647e69c1fe3a3a20599405962e7e1f3c7c0f.tar.gz
Add Feature class
Diffstat (limited to 'src/feature.h')
-rw-r--r--src/feature.h59
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 ----- */