diff options
author | Martin Miller | 2017-04-04 11:25:20 -0500 |
---|---|---|
committer | Martin Miller | 2017-04-04 11:25:20 -0500 |
commit | f683e1e8be18de841c714f3bf8ec15d2d0b68a75 (patch) | |
tree | 4ab444950d444deedeed58607405364082fde95e /src/feature.h | |
parent | e274f2347393e7cbf1f755c9ed1593bd31bd1370 (diff) | |
download | refslam-f683e1e8be18de841c714f3bf8ec15d2d0b68a75.zip refslam-f683e1e8be18de841c714f3bf8ec15d2d0b68a75.tar.gz |
Begin updating Feature to use FULLSTATE
Diffstat (limited to 'src/feature.h')
-rw-r--r-- | src/feature.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/feature.h b/src/feature.h index db4f05e..6260d71 100644 --- a/src/feature.h +++ b/src/feature.h @@ -58,16 +58,30 @@ class Feature /* ==================== OPERATORS ======================================= */ bool sane(); +#ifdef FULLSTATE + bool isInlier(const measurement_t &z, const Matrix<double,13,13> &Pxx, + const Matrix<double,13,3> &Pxy, const Matrix<double,3,3> &Pyy, + const Vector3d &pos, const Quaterniond &q, double thr); + Matrix<double,3,13> Fx( double dt ); + Matrix<double,6,13> Hx( const Vector3d &pos, const Quaterniond &q); + Matrix<double,6,6> S ( const Matrix<double,13,13> &Pxx, + const Matrix<double,13,3> &Pxy, const Matrix<double,3,3> &Pyy, + const Vector3d &pos, const Quaterniond &q); +#else bool isInlier(const measurement_t &z, const Matrix<double,9,9> &Pxx, const Matrix<double,9,3> &Pxy, const Matrix<double,3,3> &Pyy, const Vector3d &pos, const Quaterniond &q, double thr); + Matrix<double,3,9> Fx( double dt ); + Matrix<double,6,9> Hx( const Vector3d &pos, const Quaterniond &q); + Matrix<double,6,6> S ( const Matrix<double,9,9> &Pxx, + const Matrix<double,9,3> &Pxy, const Matrix<double,3,3> &Pyy, + const Vector3d &pos, const Quaterniond &q); +#endif bool isRansacInlier(const measurement_t &z, const Vector3d &pos, const Quaterniond &q); bool inFOV(); Vector3d findDepth( const Quaterniond &q, double z, const Vector3d &xs, const Vector3d &xr); - Matrix<double,3,9> Fx( double dt ); Matrix<double,3,3> Fy( const Vector3d &vel, const Vector3d &ang, double dt); - 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(); @@ -76,9 +90,6 @@ class Feature Matrix<double,3,3> Q(const double dt); Matrix<double,6,6> R(); - Matrix<double,6,6> S ( const Matrix<double,9,9> &Pxx, - const Matrix<double,9,3> &Pxy, const Matrix<double,3,3> &Pyy, - const Vector3d &pos, const Quaterniond &q); Vector3d p2x(const Vector3d &p); Vector3d x2p(const Vector3d &x); |