From f2a48a3a12475b52e9fa525541eeebf0b3f7c7e8 Mon Sep 17 00:00:00 2001 From: Martin Miller Date: Sat, 18 Mar 2017 15:15:47 -0500 Subject: Update P during imuCallback --- src/body.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/body.cpp') diff --git a/src/body.cpp b/src/body.cpp index 330c0a8..4741911 100644 --- a/src/body.cpp +++ b/src/body.cpp @@ -19,6 +19,20 @@ #include #include "body.h" +Matrix +Body::Q (double dt) +{ + Matrix Q; + Q = Matrix::Zero(); + Q.block(0,0,3,3) = 0.25*dt*dt*dt*dt*Matrix::Identity(); + Q.block(3,0,3,3) = 0.5*dt*dt*dt*Matrix::Identity(); + Q.block(0,3,3,3) = 0.5*dt*dt*dt*Matrix::Identity(); + Q.block(3,3,3,3) = dt*dt*Matrix::Identity(); + Q *= 800e-6; + Q.block(6,6,3,3) = dt*dt*5e-8*Matrix::Identity(); + return Q; +} /* ----- end of method Body::q ----- */ + /* *-------------------------------------------------------------------------------------- * Class: Body @@ -56,7 +70,7 @@ Body::h ( const Matrix &X, Matrix &h ) * Description: Computes the Jacobian of the motion model of the body. *-------------------------------------------------------------------------------------- */ -void +Matrix Body::F ( const Matrix &X, const Vector3d &ang, const Quaternion &q ) { Matrix F = Matrix::Zero(); @@ -66,7 +80,7 @@ Body::F ( const Matrix &X, const Vector3d &ang, const Quaternion::Identity(); - return ; + return F; } /* ----- end of method Body::F ----- */ /* -- cgit v1.1