三、 变量
// 点云容器
pcl::PointCloud<pcl::PointXYZI> laserCloud; // 一帧原始点云
pcl::PointCloud<pcl::PointXYZI> cornerPointsLessSharp; // 次极大边线点
pcl::PointCloud<pcl::PointXYZI> surfPointsLessFlat; // 次极小平面点
pcl::PointCloud<pcl::PointXYZ> laserCloudInVD; // 存储原始点云数据,不包含强度信息
pcl::PointCloud<VelodynePointXYZIRT> laserCloudInRS; // 存储带有时间戳和激光束编号的原始点云数据
// 图像数据和匹配
cv::Mat _LastImage; // 上一帧图像
std::vector<cv::Mat> _curr_images; // 当前帧图像的集合
std::vector<std::pair<cv::Point2f, pcl::PointXYZI>> _LastProj; // 上一帧图像的投影点与点云点对
std::map<int, cv::Point2f> _2DMatch1, _2DMatch2; // 2D 匹配点的集合
// ROS 话题发布器
ros::Publisher pubLaserCloudCornerLast; // 发布上一帧的角点
ros::Publisher pubLaserCloudSurfLast; // 发布上一帧的平面点
ros::Publisher pubLaserCloudFullRes; // 发布完整的点云数据
ros::Publisher pubLaserOdometry; // 发布激光里程计数据
ros::Publisher pubLaserPath; // 发布激光路径
image_transport::Publisher pubImage; // 发布图像数