19 #include <bfl/wrappers/rng/rng.h> 20 #define NUMCONDARGUMENTS_MOBILE 2 32 for (
unsigned int i=1; i<=6; i++){
33 for (
unsigned int j=1; j<=6; j++){
34 if (i==j)
df(i,j) = 1;
45 ColumnVector state = ConditionalArgumentGet(0);
46 ColumnVector vel = ConditionalArgumentGet(1);
47 state(1) += cos(state(6)) * vel(1);
48 state(2) += sin(state(6)) * vel(1);
50 return state + AdditiveNoiseMuGet();
57 double vel_trans = ConditionalArgumentGet(1)(1);
58 double yaw = ConditionalArgumentGet(0)(6);
60 df(1,3)=-vel_trans*sin(yaw);
61 df(2,3)= vel_trans*cos(yaw);
67 if (i >= NumConditionalArgumentsGet())
69 cerr <<
"This pdf Only has " << NumConditionalArgumentsGet() <<
" conditional arguments\n";
73 cerr <<
"The df is not implemented for the" <<i <<
"th conditional argument\n";
virtual ~NonLinearAnalyticConditionalGaussianOdo()
Destructor.
virtual MatrixWrapper::Matrix dfGet(unsigned int i) const
#define NUMCONDARGUMENTS_MOBILE
virtual MatrixWrapper::ColumnVector ExpectedValueGet() const
NonLinearAnalyticConditionalGaussianOdo(const Gaussian &additiveNoise)
Constructor.