ROSでのPCLの扱い

  • 5
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

相互変換

PointCloud2 -> PointCloud<PointT>

$ sudo apt-get install ros-indigo-pcl-conversions

#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>
#include <pcl_conversions/pcl_conversions.h>
// 以下の2つは使わないこと。現在は使えない。
// #include <pcl/ros/conversions.h>
// #include <pcl/conversions.h>

void Callback(const sensor_msgs::PointCloud2ConstPtr& input) {
  pcl::PointCloud<pcl::PointXYZ> cloud;
  pcl::fromROSMsg (*input, cloud);
}

int main(int argc, char** argv) {
  ....
  ros::Subscriber sub = nh.subscribe<sensor_msgs::PointCloud2>("velodyne_points", 10, Callback);
}