odom_estimation_node.hpp
Go to the documentation of this file.
1 
3 
4 // Original Author of FLOAM: Wang Han
5 // Email wh200720041@gmail.com
6 // Homepage https://wanghan.pro
7 
8 #ifndef FLOAM__ODOM_ESTIMATION_NODE_HPP_
9 #define FLOAM__ODOM_ESTIMATION_NODE_HPP_
10 
11 #include "ros/ros.h"
12 #include "nodelet/nodelet.h"
13 #include "sensor_msgs/PointCloud2.h"
19 #include "geometry_msgs/TransformStamped.h"
20 
21 
22 #include "floam/lidar_utils.hpp"
24 
25 namespace floam
26 {
27 namespace odom
28 {
29 
32 
34 {
35 public:
40 
45 
51  void onInit();
52 
53 private:
55 
57 
59  geometry_msgs::TransformStampedPtr m_tfGlobal;
60 
63 
66 
67  std::shared_ptr<ApproximateSynchronizer> m_approximateSync;
68  std::shared_ptr<ExactSynchronizer> m_exactSync;
69 
70  void handleClouds(
71  const sensor_msgs::PointCloud2ConstPtr & edges,
72  const sensor_msgs::PointCloud2ConstPtr & surfaces);
73 
74  bool m_isInitialized = false;
75  bool m_useExactSync = false;
76 
77  int m_queueSize = 5;
78 
79  double m_mapResolution = 0.4;
80 
81  std::string m_frameId, m_parentFrameId;
82 
84 
85 private:
87 };
88 
89 } // namespace odom
90 } // namespace floam
91 
92 #endif // FLOAM__ODOM_ESTIMATION_NODE_HPP_
floam::odom::OdomEstimationNode::m_queueSize
int m_queueSize
Definition: odom_estimation_node.hpp:77
ros::Publisher
floam::odom::OdomEstimationNode::m_nodeHandle
ros::NodeHandle m_nodeHandle
Definition: odom_estimation_node.hpp:54
message_filters::Synchronizer
ros.h
floam::odom::OdomEstimationNode::m_approximateSync
std::shared_ptr< ApproximateSynchronizer > m_approximateSync
Definition: odom_estimation_node.hpp:67
floam::odom::OdomEstimationNode::m_tfGlobal
geometry_msgs::TransformStampedPtr m_tfGlobal
ROS Transorm.
Definition: odom_estimation_node.hpp:59
floam::odom::OdomEstimationNode::handleClouds
void handleClouds(const sensor_msgs::PointCloud2ConstPtr &edges, const sensor_msgs::PointCloud2ConstPtr &surfaces)
Definition: odom_estimation_node.cpp:83
floam::odom::OdomEstimationNode::m_totals
floam::lidar::Total m_totals
Definition: odom_estimation_node.hpp:83
floam::odom::OdomEstimationNode::m_frameId
std::string m_frameId
Definition: odom_estimation_node.hpp:81
transform_broadcaster.h
message_filters::Subscriber< sensor_msgs::PointCloud2 >
floam::odom::OdomEstimationNode::m_exactSync
std::shared_ptr< ExactSynchronizer > m_exactSync
Definition: odom_estimation_node.hpp:68
floam::odom::OdomEstimationNode::~OdomEstimationNode
~OdomEstimationNode()
Definition: odom_estimation_node.cpp:35
floam::lidar::Total
Definition: lidar_utils.hpp:75
message_filters::sync_policies::ApproximateTime
floam::odom::OdomEstimationNode::m_subEdges
message_filters::Subscriber< sensor_msgs::PointCloud2 > m_subEdges
Definition: odom_estimation_node.hpp:64
floam::odom::OdomEstimationNode::ExactSynchronizer
message_filters::Synchronizer< ExactSyncPolicy > ExactSynchronizer
Definition: odom_estimation_node.hpp:62
floam::odom::OdomEstimationNode::m_subSurfaces
message_filters::Subscriber< sensor_msgs::PointCloud2 > m_subSurfaces
Definition: odom_estimation_node.hpp:65
floam::odom::OdomEstimationNode
Definition: odom_estimation_node.hpp:33
floam::odom::OdomEstimationNode::m_useExactSync
bool m_useExactSync
Definition: odom_estimation_node.hpp:75
floam::odom::OdomEstimationNode::onInit
void onInit()
Definition: odom_estimation_node.cpp:40
floam::odom::OdomEstimation
Definition: odom_estimation.hpp:48
exact_time.h
floam::odom::OdomEstimationNode::ApproximateSynchronizer
message_filters::Synchronizer< ApproximateSyncPolicy > ApproximateSynchronizer
Definition: odom_estimation_node.hpp:61
floam::odom::OdomEstimationNode::m_isInitialized
bool m_isInitialized
Definition: odom_estimation_node.hpp:74
floam::odom::OdomEstimationNode::m_odomEstimation
floam::odom::OdomEstimation m_odomEstimation
Definition: odom_estimation_node.hpp:86
lidar_utils.hpp
nodelet::Nodelet
floam::odom::OdomEstimationNode::m_pubLidarOdometry
ros::Publisher m_pubLidarOdometry
Definition: odom_estimation_node.hpp:56
floam::odom::ApproximateSyncPolicy
message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > ApproximateSyncPolicy
Definition: odom_estimation_node.hpp:31
nodelet.h
floam::odom::OdomEstimationNode::m_mapResolution
double m_mapResolution
Definition: odom_estimation_node.hpp:79
floam::odom::OdomEstimationNode::OdomEstimationNode
OdomEstimationNode()
Definition: odom_estimation_node.cpp:30
floam::odom::OdomEstimationNode::m_parentFrameId
std::string m_parentFrameId
Definition: odom_estimation_node.hpp:81
synchronizer.h
tf2_geometry_msgs.h
odom_estimation.hpp
approximate_time.h
message_filters::sync_policies::ExactTime
floam::odom::ExactSyncPolicy
message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > ExactSyncPolicy
Definition: odom_estimation_node.hpp:30
floam
Major rewrite Author: Evan Flynn.
Definition: lidar.hpp:15
ros::NodeHandle


floam
Author(s): Han Wang
autogenerated on Wed Mar 2 2022 00:23:09