- 개발 환경 : 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 설치하기
Step2. Ubuntu 18.04에 ROS melodic 설치하기
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 주소를 알수없을 경우
가끔 라이다의 IP주소가 변경되어 찾기 힘든 경우가 있습니다.
이럴 때에는 Wireshark를 설치하여 연결된 이더넷의 IP 주소를 확인할 수 있습니다.
- rivz no fixed frame 에러
만약 rivz에서 no fixed frame 에러가 발생한다면, 아래의 명령어를 입력해주세요.
$ rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map velodyne 10
'작업 일기' 카테고리의 다른 글
Arduino와 ROS로 DC 모터 x2 제어하기 (0) | 2021.12.29 |
---|---|
라즈베리파이 4B(Ubuntu 18.04)에 Pi Camera V2.1 연결하기 (0) | 2021.12.24 |
Raspberry Pi 4B에서 모터 드라이버 (MD200T) 구동하기 (0) | 2021.11.12 |
Arduino와 ROS로 Flexible LED 구동하기 (0) | 2021.10.28 |
Arduino와 ROS로 IMU 센서 (MPU 9250 ) 사용하기 (0) | 2021.10.27 |