ROS에서 Velodyne LiDAR을 작동 할 때 설정

2808 단어 LidarVelodyneROS

Velodyne 사용 시 곤란한 일



Velodyne LiDAR ROS 드라이버을 사용하여 Velodyne LiDAR을 운용했을 때 개인적으로 막혀 버린 것의 메모 쓰기입니다.

사용환경







OS
우분투 16.04

커널
4.15

ROS
키네틱

Velodyne-ros
ros-kinetic-velodyne

Velodyne LiDAR
VLP-16-HiRes


LiDAR을 각도 변환 할 때 점군이 이상합니다.



Velodyne LiDAR VLP-16-HiRes (이하 VLP-16-HiRes)를 각도 변환 할 수있는 운대에 설치하고 각도를 바꾸면서 운용을 시도했는데 다음과 같은 문제가 발생했습니다.
다음 이미지는 VLP-16-HiRes에서 얻은 포인트 클라우드 데이터를 rviz로 시각화 한 것입니다.

VLP-16-HiRes의 각도가 수평일 때



VLP-16-HiRes의 각도를 피치각으로 45 deg 기울일 때



두 번째 이미지는 VLP-16-HiRes를 피치 각도로 45 deg 각도로 변환 할 때 점 구름 데이터입니다. 대각선으로 표시되는 것은 바닥을 포착한 점군 데이터입니다. 올바르게 3차원 좌표를 측정할 수 있다면 바닥의 점군은 수평으로 표시되어야 합니다.

원인: 교정 파일 설정의 부족



원인은 교정 파일을 지정하는 설정에 결함이있었습니다.
Velodyne LiDAR은 LiDAR과 함께 USB와 함께 제공되며 USB에 LiDAR의 교정 데이터가 .yaml 파일로 저장됩니다.
이 캘리브레이션 데이터는 LiDAR의 형식에 따라 다르며 동일한 VLP-16에서도 일반 버전과 고해상도 버전 (HiRes)에서 다른 캘리브레이션 데이터를 사용해야합니다.

각도 변환시에 점군 데이터의 각도가 이상하게 되는 것은, VLP-16-HiRes(VLP-16의 고해상도판)를 사용하고 있음에도 불구하고, VLP-16의 캘리브레이션 데이터를 이용하고 있었던 것 그 때문이었습니다.

ROS 드라이버로 Velodyne LiDAR을 운용하는 경우의 캘리브레이션 데이터를 설정하는 방법입니다만 velodyne_pointcloud 패키지내의 launch 파일을 편집하는 것으로 설정합니다.

예를 들어, VLP-16 시리즈를 움직이면 VLP16_points.launch를 편집하십시오.
launch 파일의 calibration에 사용할 LiDAR에 적합한 교정 데이터의 경로를 지정합니다.

VLP16_points.launch
1 <!-- -*- mode: XML -*- -->
2 <!-- run velodyne_pointcloud/CloudNodelet in a nodelet manager for a VLP-16 -->
3
4 <launch>
5
6 <!-- declare arguments with default values -->
7 <arg name="calibration" default="<ここに適したキャリブレーションデータのパスを設定>"/>
8 <arg name="device_ip" default="" />
9 <arg name="frame_id" default="velodyne" />
....

이제 각도 변환을 사용해도 점 구름 데이터의 좌표를 적절하게 얻을 수 있습니다.

좋은 웹페이지 즐겨찾기