From fde220c19346797c4d55c2f479f7efb2f8c9073a Mon Sep 17 00:00:00 2001 From: Martin Miller Date: Sat, 18 Mar 2017 14:32:52 -0500 Subject: Add support for INSCOVS. The position and velocity covariances are rotated into the correct frames: NED and FRD. --- src/main.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main.h') diff --git a/src/main.h b/src/main.h index 2139248..aa97995 100644 --- a/src/main.h +++ b/src/main.h @@ -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 &P, const Eigen::Quaternion &q); void imgCallback(const message *msg); void imuCallback(const message &msg, Eigen::Matrix &X, const Eigen::Quaternion &q, const timestamp dt); void pvaCallback(const message &msg, Eigen::Matrix &X, Eigen::Quaternion &q); -- cgit v1.1