訂閱雷達的數據(sensor_msgs::PointCloud2),需要對其進行解析,轉換爲pcl::PCLPointCloud2的辦法:
sudo apt-get install ros-melodic-pcl-conversions
sudo apt-get install ros-pcl-msgs
sudo apt-get install ros-melodic-pcl-ros
sudo apt-get install ros-melodic-pcl-msgs
通過以上安裝的pcl庫在/usr/include/pcl-1.8/pcl/*中,在編譯時添加頭文件非要加 pcl-1.8/
有點強迫症,直接就去把pcl-1.8/* 下面的文件都移動到/usr/include/pcl目錄中,所以頭文件就沒有pcl-1.8了
具體參見代碼
#include <pcl/conversions.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/PCLPointCloud2.h>
#include <pcl/point_types.h>
#include <pcl/common/transforms.h>
// 方法1 sensor_msgs::PointCloud2轉換pcl::PCLPointCloud2再轉pcl::PointXYZ
void Motion::Laser::connectMsg(const sensor_msgs::PointCloud2ConstPtr &ptrMsg) {
std_msgs::Bool bMsg;
pcl::PCLPointCloud2 msgPointClo