Velodyne LiDAR의 3D 데이터를 PCD 파일로 출력

3512 단어 C++CMakeboostPCL

소개



레이저 레인지 센서Velodyne LiDAR VLP-16를 사용해 볼 기회가 많았기 때문에 3차원 점군 처리 라이브러리PCL(Point Cloud Library)에서 측거 데이터를 실시간으로 가시화하면서 PCD(Point Cloud Data) 파일로 출력해 보세요. 네.

Point Cloud Library with Velodyne LiDAR



우선 Velodyne LiDAR VLP-16 PCL에서 검색해 보면 그 자체의 기사 「Point Cloud Library with Velodyne LiDAR」를 발견했습니다.
PCL 1.8.0에 Velodyne LiDAR에서 데이터를 입력하기위한 Grabber가 추가되었습니다.
샘플 프로그램까지 공개해 주시고 있습니다. 고맙습니다.
즉시 CMakeLists.txt 및 main.cpp를 D:/velodyne/폴더로 만들고 저장합니다.

PCL 1.8.0 설치



수중 환경은 PCL 1.6.0, Visual Studio 2013이므로, 이 Point Cloud Library 1.8.0 has been released 에서 PCL 1.8.0 All-in-one Installer MSVC2013 x64을 다운로드, 인스톨.

환경 변수 PCL_ROOT를 변경합니다.PCL_ROOT=C:\Program Files\PCL 1.8.0

CMake



CMake 시작하고 Configure에서 Generate.


이제 Visual Studio 솔루션 파일을 생성합니다.
[Open Project]에서 Visual Studio가 시작되어 빌드, 실행, 무사 샘플 프로그램이 움직였습니다.

정기적으로 PCD 파일 출력



PCL은 C++ 라이브러리boost를 많이 사용하기 때문에
boost::timer 를 이용하여 정기적으로 PCD 파일을 출력해 보겠습니다.
#include <boost/timer.hpp>

main.cpp#L98-L110 while 루프 앞에서 타이머 시작.
 boost::timer t;

루프에서 타이머를 정기적으로 다시 시작하고 pcl::io::savePCDFile로 velodyne.pcd 파일로 출력합니다.
  if (t.elapsed() >= 5.0) { // 秒
      t.restart();

      pcl::io::savePCDFile("velodyne.pcd", *cloud);
  }

결론



PCL과 함께 제공되는 pcl_viewer에서 velodyne.pcd를 열면

위쪽, 방의 문이 열려 있고 복도의 벽이 보이는 것이 어쩐지 알 수 있다고 생각합니다.

좋은 웹페이지 즐겨찾기