a

Dependencies:   mbed mbed-rtos

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ekf_am.hpp Source File

ekf_am.hpp

00001 /**
00002   ******************************************************************************
00003   * @file    Ekf_am.hpp
00004   * @author  RBRO/PJ-IU
00005   * @version V1.0.0
00006   * @date    day-month-year
00007   * @brief   This file contains the class declaration for the Ackermann model example
00008   *          functionality.
00009   ******************************************************************************
00010  */
00011 
00012 /* Include guard */
00013 #ifndef EKF_AM_HPP
00014 #define EKF_AM_HPP
00015 
00016 #include <Filter/filter.hpp>
00017 #include <Examples/SystemModels/ackermannmodel.hpp>
00018 
00019 namespace examples
00020 {
00021     namespace filter
00022     {
00023         /* Extended Kalman Filter */
00024         template <class T, uint32_t NA, uint32_t NB, uint32_t NC>
00025         using CEKF  =   ::filter::ltv::mimo::CEKF<T,NA,NB,NC>;
00026         //!  CEKF_AM class. 
00027         /*!
00028         * It inherits class CEKF. 
00029         * Extended Kalman Filter aplied on the Ackermann Model.
00030         */
00031         class CEKF_AM:public CEKF<double,2,10,5>
00032         {
00033             private:
00034                 /* Ackermann model*/
00035                 using CAckermannModel = ::examples::systemmodels::ackermannmodel::CAckermannModel;
00036                 /* Ackermann model Jacobian Matrix */
00037                 using CJMAckermannModel = ::examples::systemmodels::ackermannmodel::CJMAckermannModel;
00038             public:
00039                 /* Constructor */
00040                 CEKF_AM(CAckermannModel&              f_ackermannModel
00041                         ,CJMAckermannModel             f_jacobianMatrixCalc
00042                         ,const CJMTransitionType&      f_Q
00043                         ,const CObservationNoiseType&  f_R);
00044         };
00045     };
00046 };
00047 
00048 #endif