1 #ifndef MAP_MERGE_MAP_MERGE_NODE_H_ 2 #define MAP_MERGE_MAP_MERGE_NODE_H_ 5 #include <forward_list> 8 #include <unordered_map> 68 std::unordered_map<std::string, MapSubscription*>
robots_;
79 void mapUpdate(
const PointCloud::ConstPtr& msg,
111 std::vector<PointCloudConstPtr>
getMaps();
127 #endif // MAP_MERGE_MAP_MERGE_NODE_H_
std::unordered_map< std::string, MapSubscription * > robots_
void discovery()
Initiates discovery of new robots (maps) under current ROS core.
std::atomic_flag tf_current_flag_
std::vector< geometry_msgs::TransformStamped > tf_transforms_
void mapCompositing()
Composes and publishes the global map based on estimated transformations.
std::forward_list< MapSubscription > subscriptions_
size_t subscriptions_size_
std::string robot_map_topic_
std::string robotNameFromTopic(const std::string &topic)
std::mutex subscriptions_mutex_
ros::Timer estimation_timer_
Parameters for map merging high-level interface.
ros::Timer discovery_timer_
ros::Publisher merged_map_publisher_
bool isRobotMapTopic(const ros::master::TopicInfo &topic)
void mapUpdate(const PointCloud::ConstPtr &msg, MapSubscription &subscription)
void transformsEstimation()
Estimates transformations between maps.
tf2_ros::TransformBroadcaster tf_publisher_
std::vector< Eigen::Matrix4f > transforms_
MapMergingParams map_merge_params_
std::vector< PointCloudConstPtr > getMaps()
Get currently stored maps.
pcl::PointCloud< PointT >::ConstPtr PointCloudConstPtr
ros::Timer compositing_timer_
std::vector< Eigen::Matrix4f > getTransforms()
Get currently stored transforms. For each map there should be a transform between map and global refe...
std::mutex transforms_mutex_
std::string robot_namespace_