diff options
author | Martin Miller | 2017-03-18 14:32:52 -0500 |
---|---|---|
committer | Martin Miller | 2017-03-18 14:32:52 -0500 |
commit | fde220c19346797c4d55c2f479f7efb2f8c9073a (patch) | |
tree | d1399a0c230ac38037909432a42ed7070ae8455b /src/main.h | |
parent | aeadc3d4f2a9a7a626a6c44f0bd0a0892c7a8251 (diff) | |
download | refslam-fde220c19346797c4d55c2f479f7efb2f8c9073a.zip refslam-fde220c19346797c4d55c2f479f7efb2f8c9073a.tar.gz |
Add support for INSCOVS.
The position and velocity covariances are rotated into the correct
frames: NED and FRD.
Diffstat (limited to 'src/main.h')
-rw-r--r-- | src/main.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -17,6 +17,11 @@ #define MAXLINE 8192 #define MAXFILENAME 1024 +// A struct for storing PVA covariance. +typedef struct { + Eigen::Matrix3d position,velocity,attitude; +} covariance_t; + // A struct for storing x,y,z data. typedef struct { double x,y,z; @@ -69,6 +74,7 @@ typedef struct { gps position; UTM utm; velocity_t velocity; + covariance_t covariance; } message; int parseLine(char *line, message *msg); @@ -77,6 +83,7 @@ timestamp update_dt(const timestamp t, timestamp *t_old); #ifdef USE_ROS void imuCallback(); #else /* ----- not USE_ROS ----- */ +void covCallback(const message &msg, Eigen::Matrix<double,9,9> &P, const Eigen::Quaternion<double> &q); void imgCallback(const message *msg); void imuCallback(const message &msg, Eigen::Matrix<double,9,1> &X, const Eigen::Quaternion<double> &q, const timestamp dt); void pvaCallback(const message &msg, Eigen::Matrix<double,9,1> &X, Eigen::Quaternion<double> &q); |