Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "linearanalyticmeasurementmodel_gaussianuncertainty.h"
00020 #include "../sample/sample.h"
00021 #include <cassert>
00022
00023 namespace BFL
00024 {
00025 using namespace MatrixWrapper;
00026
00027
00028
00029 LinearAnalyticMeasurementModelGaussianUncertainty::LinearAnalyticMeasurementModelGaussianUncertainty
00030 ( LinearAnalyticConditionalGaussian* pdf)
00031 : AnalyticMeasurementModelGaussianUncertainty( pdf )
00032 {}
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 LinearAnalyticMeasurementModelGaussianUncertainty::~LinearAnalyticMeasurementModelGaussianUncertainty()
00044 {}
00045
00046
00047 ColumnVector
00048 LinearAnalyticMeasurementModelGaussianUncertainty::PredictionGet(const ColumnVector& u,
00049 const ColumnVector& x)
00050 {
00051 MeasurementPdfGet()->ConditionalArgumentSet(0,x);
00052 if (MeasurementPdfGet()->NumConditionalArgumentsGet() == 2) MeasurementPdfGet()->ConditionalArgumentSet(1,u);
00053 return MeasurementPdfGet()->ExpectedValueGet();
00054 }
00055
00056
00057 SymmetricMatrix
00058 LinearAnalyticMeasurementModelGaussianUncertainty::CovarianceGet(const ColumnVector& u,
00059 const ColumnVector& x)
00060 {
00061 MeasurementPdfGet()->ConditionalArgumentSet(0,x);
00062 if (MeasurementPdfGet()->NumConditionalArgumentsGet() == 2) MeasurementPdfGet()->ConditionalArgumentSet(1,u);
00063 return MeasurementPdfGet()->CovarianceGet();
00064 }
00065
00066
00067 Matrix
00068 LinearAnalyticMeasurementModelGaussianUncertainty::df_dxGet(const ColumnVector& u,
00069 const ColumnVector& x)
00070 {
00071 MeasurementPdfGet()->ConditionalArgumentSet(0,x);
00072 if (MeasurementPdfGet()->NumConditionalArgumentsGet() == 2) MeasurementPdfGet()->ConditionalArgumentSet(1,u);
00073 return dynamic_cast<AnalyticConditionalGaussian *>(MeasurementPdfGet())->dfGet(0);
00074 }
00075
00076
00077 void
00078 LinearAnalyticMeasurementModelGaussianUncertainty::HSet(const Matrix& h)
00079 {
00080 dynamic_cast<LinearAnalyticConditionalGaussian *>(MeasurementPdfGet())->MatrixSet(0,h);
00081 }
00082
00083
00084 void
00085 LinearAnalyticMeasurementModelGaussianUncertainty::JSet(const Matrix& j)
00086 {
00087 dynamic_cast<LinearAnalyticConditionalGaussian *>(MeasurementPdfGet())->MatrixSet(1,j);
00088 }
00089
00090
00091 const Matrix&
00092 LinearAnalyticMeasurementModelGaussianUncertainty::HGet() const
00093 {
00094 return dynamic_cast<LinearAnalyticConditionalGaussian *>(_MeasurementPdf)->MatrixGet(0);
00095 }
00096
00097
00098 const Matrix&
00099 LinearAnalyticMeasurementModelGaussianUncertainty::JGet() const
00100 {
00101 return dynamic_cast<LinearAnalyticConditionalGaussian *>(_MeasurementPdf)->MatrixGet(1);
00102 }
00103
00104
00105 }
bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Mon Feb 11 2019 03:45:12