Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes | Protected Attributes
jafar::filter::BlockObserveModel Class Reference

Non linear observation model defined by blocks (two blocks). More...


Detailed Description

Non linear observation model defined by blocks (two blocks).

To define your own model you must derive this class. This model is well suited for feature observation model in the SLAM problem.

Definition at line 213 of file observeModel.hpp.

#include <observeModel.hpp>

Inheritance diagram for jafar::filter::BlockObserveModel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BlockObserveModel (std::size_t sizeObs_, std::size_t sizeState1_, std::size_t sizeState2_)
 BlockObserveModel (std::size_t sizeObs_, std::size_t sizeState1_, std::size_t sizeState2_, std::size_t sizeInnovation_, std::size_t sizePrediction_)
std::size_t sizeState1 () const
std::size_t sizeState2 () const
virtual jblas::vec const & predictObservation (const jblas::vec_range &x1_, const jblas::vec_range &x2_)=0
 Predict observation for state x_.
virtual jblas::vec const & computeInnovation (jblas::vec const &y_, jblas::vec const &zPred_)
 By default, simply do the substraction.
virtual void predictObservationJac (const jblas::vec_range &x1_, const jblas::vec_range &x2_)=0

Public Attributes

jblas::mat Jobs1
 Jacobian of the observe function with respect to block1.
jblas::mat Jobs2
 Jacobian of the observe function with respect to block2.

Protected Attributes

std::size_t _sizeState1
std::size_t _sizeState2

Member Function Documentation

virtual jblas::vec const& jafar::filter::BlockObserveModel::computeInnovation ( jblas::vec const &  y_,
jblas::vec const &  zPred_ 
) [inline, virtual]
virtual jblas::vec const& jafar::filter::BlockObserveModel::predictObservation ( const jblas::vec_range &  x1_,
const jblas::vec_range &  x2_ 
) [pure virtual]

Predict observation for state x_.

In order to minimize memory allocation, z vector is allocated once, predictObservation() implementation should look like:

   const vec& predictObservation(const range_vec& x1_, 
                                 const range_vec& x2_) {
     JFR_PRECOND(x1_.size() == _sizeState1, message);
     JFR_PRECOND(x2_.size() == _sizeState2, message);
     // compute z function of x1_ and x2_
     return z;
   }

Implemented in jafar::slam::BaseFeatureObserveModel.


Member Data Documentation

Jacobian of the observe function with respect to block1.

Warning:
do not forget to call computeJac() before using Jobs1

Definition at line 226 of file observeModel.hpp.

Jacobian of the observe function with respect to block2.

Warning:
do not forget to call computeJac() before using Jobs2

Definition at line 232 of file observeModel.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:36 for Jafar by doxygen 1.7.6.1
LAAS-CNRS