[ ROS ] Point Cloud Library (PCL) 소개

2021. 3. 17. 15:38ROS

Point Cloud Library (PCL)은 3D Point Cloud를 다양하게 처리할 수 있는 도구를 제공하는 오픈 라이브러리이다.

 

LiDAR (Light Detection and Ranging, 라이다)는 레이저를 이용해 주변 사물의 거리를 측정하는 센서로, 자율주행에 많이 쓰인다.

 

물론, LiDAR를 쓰지 않고 카메라만을 이용해 자율 주행을 하는 경우도 있다. 앨런 머스크는 라이다 비싸다구 카메라로만...
LiDAR 제조 회사로는 Velodyne, Ouster, Sick.. 등등... 얘네 제품 가격보면 그럴만두 하다..

 

 

Velodyne의 VLP-32C

3D LiDAR로 데이터를 측정하게 되면 3차원 점들의 집합의 형태로 데이터가 출력되는데, 이를 Point Cloud라고 부른다.

 

2D LiDAR도 있는데, 얘네가 측정한 데이터는 Laser Scan으로 부르기도 하고

 

아래의 사진은 VLP-16이라는 LiDAR 센서로 얻어낸 3D Point Cloud이다.

 

VLP-16은 Velodyne 사의 제품이며, '16'이라는 숫자는 채널의 갯수가 16개임을 의미한다.
즉, 수직한 방향으로 16개의 층이 측정된다고 생각하면 된다.
VLP-32는 채널이 32개, VLP-64는 64개, VLP-128은 128개로 숫자가 높을수록 해상도가 높고, 가격도 당연히 비싸다.
VLP-16의 수평 FoV가 360도, 수직 FoV가 30도(-15º ~ +15º)이다. 따라서 층마다의 각도 차이가 약 1.875º(=30º/16)가 된다.

 

3D Point Cloud

 

이렇게 얻어낸 3D Point Cloud들을 가공할 때 좋은 도구가 바로 Point Cloud Library, PCL이다.

  • Point Cloud를 이동시키거나 회전시키는 것부터, 일부분을 잘라낼 수도 있고, 필터링도 가능하다.
  • 표면(surface)이나 모서리(edge)를 찾아내는 것도 되고, 서로 다른 부분의 분할(segmentation)도 된다.
  • 결과를 파악하기 위해 Point Cloud를 시각화하는 cloud viewer도 있다.
  • 두 개의 Point Cloud를 정합하는 ICP나 NDT 알고리즘도 구현되어 있다.
  • 생각해볼 만한 건 거의 다 있다 :)

 

따라서, 다양한 기능을 제공하는 PCL은 Point Cloud 데이터의 가공이 필요한 SLAM에서 많이 사용되고 있으며,

공개되어 있는 여러 SLAM 패키지들이 대부분 PCL을 사용하여 Point Cloud를 처리하고 있음을 확인할 수 있다.

 

아래의 튜토리얼을 통해, PCL를 사용해보자.

 

 

'ROS' 카테고리의 다른 글

[ ROS ] ROS를 이해해보자 #3  (0) 2021.04.28
[ ROS ] ROS 커맨드 정리  (0) 2021.03.19
[ ROS ] ROS를 이해해보자 #2  (0) 2021.03.18
[ ROS ] ROS를 이해해보자 #1  (0) 2021.03.17
[ ROS ] ROS 설치 가이드  (1) 2021.03.17