slam_technique.h
Go to the documentation of this file.
1 #ifndef SLAM_TECHNIQUE_H
2 #define SLAM_TECHNIQUE_H
3 
4 #include <tuw_geometry/tuw_geometry.h>
5 #include <opencv2/core/core.hpp>
6 #include <boost/date_time/posix_time/ptime.hpp>
7 
8 namespace tuw {
9 
14 typedef std::shared_ptr< SLAMTechnique > SLAMTechniquePtr;
15 typedef std::shared_ptr< SLAMTechnique const> SLAMTechniqueConstPtr;
16 
18 public:
22  enum Type {
23  EKF = 0,
24  };
25 
31  SLAMTechnique ( Type type );
32 
38  void reset ( );
39 
46  Type getType() const;
47 
54  const std::string getTypeName() const;
55 
61  const boost::posix_time::ptime& time_last_update() const;
62 
68  virtual void setConfig ( const void *config ) = 0;
69 
79  virtual void cycle ( std::vector<Pose2D> &yt, cv::Mat_<double> &C_Yt, const Command &ut, const MeasurementConstPtr &zt ) = 0;
80 protected:
81  static std::map<Type, std::string> TypeName_;
82 
86  virtual void init ( ) = 0;
87 
95  bool updateTimestamp(const boost::posix_time::ptime& t);
96 
97  bool reset_;
98  boost::posix_time::ptime timestamp_last_update_;
99  boost::posix_time::time_duration duration_last_update_;
100 private:
102 };
103 };
104 
105 #endif // SLAM_TECHNIQUE_H
const boost::posix_time::ptime & time_last_update() const
const std::string getTypeName() const
virtual void cycle(std::vector< Pose2D > &yt, cv::Mat_< double > &C_Yt, const Command &ut, const MeasurementConstPtr &zt)=0
boost::posix_time::time_duration duration_last_update_
time of the last processed measurment
virtual void setConfig(const void *config)=0
std::shared_ptr< SLAMTechnique > SLAMTechniquePtr
Definition: ekf_slam.h:8
bool updateTimestamp(const boost::posix_time::ptime &t)
static std::map< Type, std::string > TypeName_
std::shared_ptr< SLAMTechnique const > SLAMTechniqueConstPtr
boost::posix_time::ptime timestamp_last_update_
on true the system should be reseted on the next loop
virtual void init()=0
map of type enum to human readable names
Type getType() const
Type type_
time since the previous processed measurment
SLAMTechnique(Type type)


tuw_marker_slam
Author(s): Markus Macsek
autogenerated on Mon Jun 10 2019 15:39:09