Velodyne LiDAR는 PointCloud2 message를 받아와서 Rviz에 시각화를 할꺼임.

ROI, 즉 관심영역을 설정해야하기 때문에 PointCloud2 data에서 들어오는 x, y, z 값을 추출해서 Rviz에 PonitCloud라는 data를 쏴주어야 함.

첫번째로 PointCloud Message가 어떻게 들어오는지 분석

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ba42968c-97ba-4515-b3dc-2dcc604dc414/Untitled.png

이를 보면 알다시피 PointCloud는 header, points 그리고 channels로 구성되어 있음.

<aside> 💡 ★★★ 여기서 points는 point32[] 형식으로 되어있는거 확인해야함★★★

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2c46fedb-5df2-4534-be6f-ca73a6810dfc/Untitled.png

Point32 형식으로 x, y, z는 각각 float32 형식을 띄고 있고 접근이 가능해짐

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d42cb742-1ee8-4f2a-9c75-56adb8fdb231/point.png

따라서 코드를 짤 때 위의 사진처럼 Point32로 선언해주고 x, y, z를 선언해주어야함.

test_lidar.py

이와 같은 코드처럼 LiDAR의 PointCloud를 ROI에 따라 시각화 할 수 있게 됨

  1. Terminal에서 명령 실행

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fbe69fdc-c8a5-473d-80da-c1c70a24647b/_.png

  1. 실행 시 나오는 값들

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/54cb5df2-3018-4d91-a2e8-5f0b5fd13eb6/__.png