12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include <ros/ros.h>
- #include <string>
- #include <Eigen/Dense>
- #include <memory>
- #include <message_filters/subscriber.h>
- #include <nav_msgs/Odometry.h>
- #include <sensor_msgs/PointCloud2.h>
- #include <message_filters/sync_policies/approximate_time.h>
- #include <message_filters/synchronizer.h>
- typedef message_filters::sync_policies::ApproximateTime<nav_msgs::Odometry, sensor_msgs::PointCloud2> ApproxSyncPolicy;
- typedef pcl::PointXYZI PointT;
- class hdl_backend {
- private:
-
- ros::NodeHandle nh;
- ros::Publisher map_points_pub;
-
- std::string map_frame_id;
-
-
- std::string map_cloud_resolution;
- Eigen::Matrix4f trans_odom2map;
- int max_keyframes_per_update;
- std::string points_topic;
- std::unique_ptr<message_filters::Subscriber<nav_msgs::Odometry>> odom_sub;
- std::unique_ptr<message_filters::Subscriber<sensor_msgs::PointCloud2>> cloud_sub;
- std::unique_ptr<message_filters::Synchronizer<ApproxSyncPolicy>> sync;
- void cloud_callback(const nav_msgs::OdometryConstPtr& odom_msg, const sensor_msgs::PointCloud2::ConstPtr& cloud_msg){};
- public:
- hdl_backend(){};
- ~hdl_backend(){};
- void init();
- std::string base_frame_id;
- };
|