Velodyne VLP-16 등 LiDAR Sensor를 사용하기 위해서는

sensor_msgs.msg의 PointCloud2를

Open3D의 open3d.geometry.pointcloud 형식으로 변경해줘야 한다.

https://github.com/dup06087/PointCloud2-to-Open3D

위 코드는 vlp-16의 pointcloud2 센서 스트림을 실시간으로 받아

open3d의 pointcloud 형식으로 변경하는 ros의 최소 노드 코드이다.

ROS2의 Humble에서 테스트 되었으며,

pc2.read_points를 사용하기 위하여

sudo apt-get install ros-humble-sensor-msgs-py

위 패키지를 설치해야 한다.

  1. 좌표 값 추출

pc2.read_points를 통하여 PointCloud2에서 x,y,z 좌표를 추출한다.

PointCloud2의 데이터 포맷은 다음 링크에 설명해 두었다.

PointCloud2 Data Format (VLP 16 Case)

  1. 임시 리스트에 담기