我是一个学习LIDAR算法的学生。我有一个订阅sensor_msgs/PointCloud2
的LIDAR代码。我现在正在接收geometry_msgs/Point
数据。我想将geometry_msgs/Point
转换为sensor_msgs/PointCloud2
。我想应用我写的代码。请告诉我c++中的sensor_msgs::PointCloud2
类型函数!!还有width
和height
,sensor_msgs/PointCloud2
里面等等,怎么转换呢,geometry_msgs/Point
里面没有,我很好奇。
如果它是sensor_msgs/LaserScan
,我已经转换了它,但我不确定geometry_msgs/Point
。
2条答案
按热度按时间wpx232ag1#
我认为最简单的方法是创建一个
sensor_msgs::PointCloud
,它是geometry_msgs::Point32
的contains a vector。然后将您的点添加到此msg中,并从point_cloud_conversion.hpp调用方法
convertPointCloudToPointCloud2
以获得
sensor_msgs::PointCloud2
或者您可以尝试创建一个
pcl::PointCloud2
,然后使用fromPCL
或moveFromPCL
方法从pcl_conversions转换lymnna712#
最简单的方法是创建一个pcl PointCloud 2结构体,用geometry_msgs/Point数据填充它,并相应地调整宽度。如果你有一个
geometry_msgs/Point
类型的矢量points
,你可以做以下操作。现在您可以使用已知方法将此PCL点云转换为Pointcloud 2。