summaryrefslogtreecommitdiff
path: root/src/body.h
diff options
context:
space:
mode:
authorMartin Miller2017-03-17 21:31:12 -0500
committerMartin Miller2017-03-17 21:31:12 -0500
commit6e0de4f0d4fac653dde826712e81cee95b470195 (patch)
treef19eb814f3f375a9a1651a223b72b4de930a4667 /src/body.h
parent622d6805689aec4f6619c5e2edd026850d8c2498 (diff)
downloadrefslam-6e0de4f0d4fac653dde826712e81cee95b470195.zip
refslam-6e0de4f0d4fac653dde826712e81cee95b470195.tar.gz
Integration is implemented. But there are problems.
The coordinates are not working correctly. When I run integration on a known dataset the body seems to turn in the opposite direction of reality. It's probably best to change it to NED and FRD. Currenty it is ENU and RFU.
Diffstat (limited to 'src/body.h')
-rw-r--r--src/body.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/body.h b/src/body.h
new file mode 100644
index 0000000..d668957
--- /dev/null
+++ b/src/body.h
@@ -0,0 +1,42 @@
+#ifndef body_INC
+#define body_INC
+#include <Eigen/Dense>
+#include <iostream>
+using Eigen::Matrix;
+using Eigen::Vector3d;
+using Eigen::Quaternion;
+
+/*
+ * =====================================================================================
+ * Class: Body
+ * Description: State representation of body.
+ * =====================================================================================
+ */
+class Body
+{
+ public:
+ /* ==================== LIFECYCLE ======================================= */
+ Body (){}; /* constructor */
+
+ /* ==================== ACCESSORS ======================================= */
+
+ /* ==================== MUTATORS ======================================= */
+
+ /* ==================== OPERATORS ======================================= */
+ void motionModel ( Matrix<double,9,1> &X, const Vector3d &acc, const Vector3d &ang, const Quaternion<double> &q, const double dt);
+ void skewSymmetric(const Vector3d &x, Matrix<double,3,3> &y);
+
+ protected:
+ /* ==================== METHODS ======================================= */
+
+ /* ==================== DATA MEMBERS ======================================= */
+
+ private:
+ /* ==================== METHODS ======================================= */
+
+ /* ==================== DATA MEMBERS ======================================= */
+
+}; /* ----- end of class Body ----- */
+
+
+#endif /* ----- #ifndef body_INC ----- */