#ifndef body_INC #define body_INC #include #include #include "types.h" using Eigen::Matrix; using Eigen::Vector3d; using Eigen::Quaternion; /* * ===================================================================================== * Class: Body * Description: State representation of body. * ===================================================================================== */ class Body { public: /* ==================== LIFECYCLE ======================================= */ Body (){}; /* constructor */ /* ==================== ACCESSORS ======================================= */ /* ==================== MUTATORS ======================================= */ void accelerometer_bias( const Vector3d &b); void enu( const UTM &utm); void update(const Matrix &dx); void vel(const Matrix &v); /* ==================== OPERATORS ======================================= */ Matrix F(const Vector3d &ang, const Quaternion &q); Matrix H(); Matrix h(); void motionModel ( const Vector3d &acc, const Vector3d &ang, const Quaternion &q, const double dt); Matrix Q(double dt); Matrix R(); Matrix S(const Matrix &P); void skewSymmetric(const Vector3d &x, Matrix &y); void unicsv(); protected: /* ==================== METHODS ======================================= */ /* ==================== DATA MEMBERS ======================================= */ private: /* ==================== METHODS ======================================= */ /* ==================== DATA MEMBERS ======================================= */ Matrix X; char utm_c; int utm_i; }; /* ----- end of class Body ----- */ #endif /* ----- #ifndef body_INC ----- */