summaryrefslogtreecommitdiff
path: root/src/feature.h
diff options
context:
space:
mode:
authorMartin Miller2017-03-19 14:26:28 -0500
committerMartin Miller2017-03-19 14:26:28 -0500
commit666d4e7b02b97402d2e977864528b743b9e1c184 (patch)
tree7c725675a1c8e18d90296280ba8d4f3ca58c2441 /src/feature.h
parenteb8abfc142fa6aada8057fbca57d1c909950416d (diff)
downloadrefslam-666d4e7b02b97402d2e977864528b743b9e1c184.zip
refslam-666d4e7b02b97402d2e977864528b743b9e1c184.tar.gz
Add motion model.
The motion model is broken into two parts, the creation of the L matrix and the state update. This means that ydot can be computed from the state object for many features at once, saving computation time.
Diffstat (limited to 'src/feature.h')
-rw-r--r--src/feature.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/feature.h b/src/feature.h
index 2982276..971c952 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -22,6 +22,7 @@ class Feature
/* ==================== ACCESSORS ======================================= */
/* ==================== MUTATORS ======================================= */
+ void motionModel ( const Vector3d &ang, const Vector3d &vel, const double dt);
/* ==================== OPERATORS ======================================= */
Matrix<double,3,9> Fx();
@@ -29,9 +30,9 @@ class Feature
Matrix<double,6,9> Hx( const Vector3d &pos, const Quaterniond &q);
Matrix<double,6,3> Hy( const Vector3d &pos, const Quaterniond &q);
Matrix<double,6,1> h( const Vector3d &x, const Quaterniond &q);
+ Matrix<double,3,6> L();
+
/*
- void motionModel ( const Vector3d &acc, const Vector3d &ang,
- const Quaterniond &q, const double dt);
Matrix<double,9,9> Q(double dt);
Matrix<double,1,1> R();
Matrix<double,1,1> S(const Matrix<double,9,9> &P);