PointCloud2 Message 변환
1. sensor_msgs/PointCloud2
ROS에서 Velodyne이나 Ouster LiDAR의 points topic에 대한 type을 확인해보면 sensor_msgs::PointCloud2임을 확인할 수 있다.
- Compact Message Definition of sensor_msgs/PointCloud2
PointCloud2의 경우, data 변수에는 encoding되어있는 데이터가 들어있다. 이에 x,y,z와 같은 값을 바로 얻을 수 없다. 이에 PointCloud2를 PointCloud type으로 변환하여 사용해야 한다.
std_msgs/Header header uint32 height uint32 width sensor_msgs/PointField[] fields bool is_bigendian uint32 point_step uint32 row_step uint8[] data bool is_dense
- Compact Message Definition of sensor_msgs/PointCloud
sensor_msgs/PointCloud의 Definition에 있는 points를 보면 x,y,z 값에 접근할 수 있음을 확인할 수 있다.
std_msgs/Header header geometry_msgs/Point32[] points sensor_msgs/ChannelFloat32[] channels
- Compact Message Definition of geometry_msgs/Point32
float32 x float32 y float32 z