diff options
author | Martin Miller | 2017-03-19 14:26:28 -0500 |
---|---|---|
committer | Martin Miller | 2017-03-19 14:26:28 -0500 |
commit | 666d4e7b02b97402d2e977864528b743b9e1c184 (patch) | |
tree | 7c725675a1c8e18d90296280ba8d4f3ca58c2441 /src/feature.h | |
parent | eb8abfc142fa6aada8057fbca57d1c909950416d (diff) | |
download | refslam-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.h | 5 |
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); |