Swarm-SLAM  1.0.0
C-SLAM Framework
map_manager.h
Go to the documentation of this file.
1 #ifndef _MAPMANAGER_H_
2 #define _MAPMANAGER_H_
3 
4 #include <rclcpp/rclcpp.hpp>
5 
6 #include <chrono>
7 
10 
11 namespace cslam {
12 
17 class IMapManager {
18  public:
19  virtual ~IMapManager() {};
20 };
21 
32 template <class DataHandlerType> class MapManager: public IMapManager {
33 public:
39  MapManager(std::shared_ptr<rclcpp::Node> &node);
41 
47 
48 private:
49  std::shared_ptr<rclcpp::Node> node_;
50 
51  unsigned int max_nb_robots_, robot_id_;
52 
53  int map_manager_process_period_ms_;
54 
55  DataHandlerType local_data_handler_;
56 
57  rclcpp::TimerBase::SharedPtr process_timer_;
58 };
59 
60 // List possible data types for C++ linker
61 template class MapManager<StereoHandler>;
62 template class MapManager<RGBDHandler>;
63 } // namespace cslam
64 #endif
Map management interface class.
Definition: map_manager.h:17
virtual ~IMapManager()
Definition: map_manager.h:19
Loop Closure Detection Management.
Definition: map_manager.h:32
void process_new_sensor_data()
Looks for loop closures in the current keyframe queue.
Definition: map_manager.cpp:25
MapManager(std::shared_ptr< rclcpp::Node > &node)
Initialization of parameters and ROS 2 objects.
Definition: map_manager.cpp:7
Definition: __init__.py:1