본문 바로가기

작업 일기

ROS를 이용하여 Velodyne Lidar (VLP-16) 구동시키기

 

- 개발 환경 : Rasberry Pi 4B (Ubuntu 18.04 / ROS melodic)

- 준비물 : Velodyne Lidar (VLP-16)

- 참조 : http://wiki.ros.org/velodyne/Tutorials/Getting%20Started%20with%20the%20Velodyne%20VLP16

 

 

 

Step1. Raspberry Pi 4B에 Ubuntu 18.04 설치하기

https://do-9un6.tistory.com/2

 

Raspberry Pi 4B에 Ubuntu 18.04 설치하기

- 준비물 : Raspberry Pi 4B, SD Card, SD Card Reader - 참조 : https://www.youtube.com/watch?v=zasvSKaobVI&t=576s (유투브 구선생) Step1. SD Card 포맷 - SD 카드를 USB 리더기에 꽂아주고 PC에 연결합..

do-9un6.tistory.com

 

 

Step2. Ubuntu 18.04에 ROS melodic 설치하기

https://do-9un6.tistory.com/4

 

Ubuntu 18.04에 ROS melodic 설치하기

- 개발환경 : Raspberry Pi 4B (Ubuntu 18.04) - 참조 : http://wiki.ros.org/melodic/Installation/Ubuntu Step1. Ubuntu 18.04 설치 https://do-9un6.tistory.com/2 참고 Step2. ROS melodic 설치 - Ubuntu 18..

do-9un6.tistory.com

 

 

Step3. VLP-16 연결하기

- 라이다 전원을 연결하고, Ethernet 케이블을 이용하여 Raspberry Pi 4B (PC)와 연결합니다.

  (연결 후, WiFi 연결을 해제합니다.)

 

- Networks Connections에 들어가서 IPv4를 아래와 같이 설정합니다.

  (필자는 연결된 이더넷 설정에 들어가서 IPv4를 수정하였습니다.)

 

<IPv4 설정>

Method Manual
Address 192.168.1.100
(이때 맨 뒷자리는 201를 제외한 1~254 범위의 숫자를 골라 입력하면 됩니다.)
Netmask 255.255.255.0
Gateway 0.0.0.0

 

 

- 터미널 창을 열어 연결된 eth0 포트의 IP를 192.168.3.X로 할당해줍니다. 

$ sudo ifconfig eth0 192.168.3.100

 

 

- 라이다의 IP 주소를 route에 추가해줍니다.

  (라이다의 IP주소는 CD case에서 찾을 수 있으며, 기본 IP주소는 192.168.1.201 입니다.)

$ sudo route add 192.168.XX.YY eth0

 

 

- Web browser에 라이다 IP주소 (192.168.XX.YY)를 입력하여 연결을 확인합니다.

  (아래의 화면이 나타나는 것이 정상)

 

 

- 터미널을 열어 해당 ROS에 맞는 Velodyne 패키지를 다운받습니다. (필자의 경우 melodic)

$ sudo apt-get install ros-melodic-velodyne

 

 

- VLP-16의 driver를 설치하고 적용시킵니다.

$ cd ~/catkin_ws/src/ && git clone https://github.com/ros-drivers/velodyne.git
$ cd ..
$ rosdep install --from-paths src --ignore-src --rosdistro melodic -y
$ cd ~/catkin_ws/ && catkin_make

 

 

- Launch 파일 및 rviz를 실행하여 라이다 데이터를 시각화합니다.

$ roslaunch velodyne_pointcloud VLP16_points.launch
$ rosnode list
$ rostopic echo /velodyne_points
$ rosrun rviz rviz -f velodyne

 

 

- rviz에서 Point Cloud2를 Add하여 Topic 부분에 /velodyne_points를 선택하여 시각화합니다.

이때 Topic 선택 시 rviz가 종료되는 에러가 발생하였습니다.

확인 결과 Ubuntu가 32bit라서 발생하는 문제라고 생각되어 64bit로 재설치하니 문제가 해결되었습니다.

 

아래의 명령어를 이용하여 Ubuntu가 32bit인지 64bit인지 확인할 수 있습니다.

$ getconf LONG_BIT

 

 

 

※ 에러

 

Wired-Unmanaged 에러

더보기

- 참고 : https://yeobi27.tistory.com/entry/UbuntuServer-Wired-Unmanaged-Ubuntu-desktop-issue

$ cd /etc/netplan
$ sudo vi 00-installer-config.yaml

 

- yaml 파일을 아래와 같이 수정해줍니다.

network:
        ethernets:
        enpXXs0:
        dhcp4: true
    version: 2
    renderer: NetworkManager

 

- 네트워크 설정 수정 사항을 적용시킵니다.

$ sudo netplan generate
$ sudo netplan apply

 

-라이다의 IP 주소를 알수없을 경우

 

- rivz no fixed frame 에러

더보기

만약 rivz에서 no fixed frame 에러가 발생한다면, 아래의 명령어를 입력해주세요.

$ rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map velodyne 10