Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
robot.hpp
00001 /* $Id$ */
00002 
00003 #ifndef SLAM_ROBOT_HPP
00004 #define SLAM_ROBOT_HPP
00005 
00006 #include "jmath/jblas.hpp"
00007 
00008 #include "slam/abstractMapObject.hpp"
00009 
00010 namespace jafar {
00011   namespace filter {
00012     class JacobianBlockCommandPredictModel;
00013   }
00014   namespace slam {
00015 
00022     class BaseRobot : public AbstractMapObject {
00023       friend class SlamEkf;
00024       public:
00025         jafar::filter::JacobianBlockCommandPredictModel& model;
00026       public:
00027         BaseRobot(unsigned int id, jafar::filter::JacobianBlockCommandPredictModel& model, std::size_t sizePose = 6);
00028         ~BaseRobot();
00032         std::size_t sizePose() const { return m_sizePose; }
00036         std::size_t sizeState() const;
00040         jblas::vec_range* refPose() { return m_refPose; }
00044         jblas::sym_mat_range* refPoseCov() { return m_refPoseCov; }
00048         const jblas::vec_range* refPose() const { return m_refPose; }
00052         const jblas::sym_mat_range* refPoseCov() const { return m_refPoseCov; }
00053       private:
00054         std::size_t m_sizePose;
00055         jblas::vec_range* m_refPose;
00056         jblas::sym_mat_range* m_refPoseCov;
00057     };
00058     
00059     
00060 //     /** Base robot model.
00061 //      *
00062 //      * \ingroup slam
00063 //      */
00064 //     template<std::size_t sizePose, class PredictModel>
00065 //     class BaseRobotModel {
00066 
00067 //     protected:
00068 
00069 //     public:
00070 
00071 //       PredictModel predictModel;
00072 
00073 //       BaseRobotModel() : 
00074 //  predictModel()
00075 //       {
00076 //  JFR_PRECOND(sizePose < predictModel.sizeState(),
00077 //        "BaseRobotModel::BaseRobotModel: invalid sizePose");
00078 //       };
00079 
00080 //       virtual ~BaseRobotModel() {};
00081 
00082 //       std::size_t sizePose() const {return sizePose;};
00083 //       std::size_t sizeState() const {return predictModel.sizeState();};
00084 
00085 
00086 //     };
00087 
00088 
00089 
00090 
00091   } // namespace slam
00092 } // namespace jafar
00093 
00094 
00095 #endif // SLAM_ROBOT_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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