2019년 6월 5일 수요일

오드로이드 XU4 우분투와 ROS, RVIZ 설치하기

오드로이드(ODROID)는 개발용으로 자주 사용되는 임베디드 컴퓨터로 라즈베리파이와 비슷한 크기를 가지나 성능은 훨씬 좋다.

이 글은 오드로이드에 로버 기반 LiDAR 스캔 장치를 개발하고 데이터를 획득해 볼 생각으로 진행한 우분투와 ROS(Robot Operating System)설치 방법을 간략히 정리한다.

참고로 NVIDIA, 라즈베리파이에 ROS 설치 후 비전을 개발하는 방법은 여기를 참고하길 바란다.

오드로이드 연결
다음 그림과 같이, 모니터 HDMI, 키보드, 마우스 및 WiFi 동글을 연결한다.

우분투 설치
다음 링크를 참고하여, 우분투 18.04를 설치한다.
설치 순서는 다음과 같다.
  1. ODROID 사이트에서 제공하는 우분투 이미지 다운로드
  2. 7-Zip 이용해 우분투 이미지 압축 해제
  3. Win32 Disk Imager와 이미지를 이용해 micro SD 메모리 부팅 드라이브 만들기
  4. micro SD 메모리를 오드로이드 슬롯에 삽입
  5. 오드로이드 파워 켜기
  6. 오드로이드 WiFi 동글 삽입 후 WiFi 설정
  7. 오드로이드 우분투 날짜 설정 
  8. 터미널창에서 다음 명령 이용해 우분투 업데이트 및 설치
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo reboot
업데이트 중에 다음 같은 lock 파일 에러가 나올 수 있다.
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

이 경우, rm 명령을 실행해 lock 걸린 해당 파일을 삭제한다. 
sudo rm /var/lib/apt/lists/lock

재부팅하면 우분투가 설치된다. 이제 여러 패키지를 설치할 수 있다.
$ sudo apt install smplayer


3차원 그래픽 성능은 다음과 같이 확인한다. 
$ glmark2-es2
$ es2gears

webglsamples.org 사이트를 방문하면 webgl 예제로 성능을 테스트할 수 있다. 


ROS 설치
다음 링크를 참고해 ROS를 설치한다. ROS 버전은 melodic 이다.
오드로이드는 GPU가 없으므로 OpenGL 관련 패키지 실행시 에러가 있다. 이는 임베디드 보드에서 ROS의 RViz 사용 시 고질적인 GL 관련 에러를 발생한다. 이 문제를 해결하기 위해서 다음 명령을 우분투 터미널에서 입력한다(관련 링크). 

sudo -s
wget -O /usr/local/bin/odroid-utility.sh https://raw.githubusercontent.com/mdrjr/odroid-utility/master/odroid-utility.sh
chmod +x /usr/local/bin/odroid-utility.sh
odroid-utility.sh

오드로이드 유틸리티 쉘을 실행해 나오는 화면에서 6번 화면을 선택해 업데이트한다. 

내장된 Embedded GL인 EG를 사용해야 하므로, 이에 맞게 GUI로 사용되는 QT를 다시 업데이트해야 한다. 다음 명령을 터미널에 입력해 실행한다(관련 링크).

sudo apt update && sudo apt upgrade
sudo apt install libfbclient2 libodbc1 libpq5 libsybdb5 libgles2-mesa-dev libxext-dev libinput-dev libxkbcommon-dev
wget https://dn.odroid.com/5422/ODROID-XU3/Ubuntu/qt5.9.5_armhf_bionic.tar.gz
tar xvfz qt5.9.5_armhf_bionic.tar.gz
cd qt5.9.5_armhf_bionic/
sudo dpkg -i *.deb

제대로 설치되었다면, 다음 명령을 실행했을 때 QT 3D 그래픽 창을 볼 수 있다. 
DISPLAY=:0.0 /usr/lib/arm-linux-gnueabihf/qt5/examples/opengl/hellogles3/hellogles3


참고로, 디스크 용량을 절약하려면, 다운로드한 파일들을 다음처럼 삭제다.
cd ..
rm -rf qt5.9.5_armhf_bionic*

ROS와 RVIZ 실행
다음 명령을 실행한다.
source ~/.bashrc
roscore

이제 터미널 창을 하나 더 띄우고, 다음 명령을 실행한다. 혹시 GL관련 에러가 있다면, ROS RVIZ Troubleshooting 페이지를 참고해 "export LIBGL_ALWAYS_SOFTWARE=1" 명령어를 이용하여 하드웨어 가속기를 OFF한다. 
rosrun rviz rviz

그럼 다음과 같이 오드로이드 우분투 환경에서 RVIZ 화면을 확인할 수 있다.


ROS 상세한 사용법은 다음 튜토리얼 및 레퍼런스를 참고한다.
기타, ROS 관련 3D 이미지 비전은 이 링크를 참고한다.

댓글 없음:

댓글 쓰기