컴패니언 컴퓨터 셋업
저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo
본 과정에서는 컴패니언컴퓨터인Jetson Nano에 설치된 librealsense_SDK 2.0 라이브러리와 RealSense ROS Wrapper를 이용하여 ROS(MAVROS)로 PX4에 Odometry 메시지를 전달하는 방법에 대해 다룹니다. (MAVSDK는 MAVROS와 ROS Wrapper가 필요 없습니다.)
설치 과정은 복잡하므로 본 과정에서는 생략하고 모든 소프트웨어가 설치된 "쿼드(QUAD) 드론연구소에서 제작한 Jetson Nano용 VIO SDCard 이미지"를 사용 합니다.
소프트웨어 설치에 대한 자세한 사항은 아래 PX4 링크를 참고 하시기 바랍니다.
참고
VIO SDCard 이미지는 쿼드(QUAD) 에서 구입할 수 있습니다.
librealsense SDK 설치
인텔 리얼센스 T265 카메라를 사용하기 위해서는 librealsense SDK 를 설치 하여야 합니다.
1. Ubuntu PC에서 소스 빌드 방법
T265 지원을 위해 R/253 소스빌드 해야함. (253 이후 부터는 T265 지원 안함)
참고.
git clone -b R/253 https://github.com/IntelRealSense/librealsense.git
librealsense SDK R/253 버전 Git 소스 삭제로 인해 에러가 발생할 수 있습니다.
네이버 "쿼드(QUAD) 드론연구소" 카페 교재 게시판에서 소스를 직접 다운로드 하시기 바랍니다.
소스 빌드
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev
sudo apt-get install git wget cmake build-essential
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
git clone -b R/253 https://github.com/IntelRealSense/librealsense.git
cd librealsense
./scripts/setup_udev_rules.sh
#Build and apply patched kernel modules for:
#Ubuntu 20/22 (focal/jammy) with LTS kernel 5.13, 5.15
./scripts/patch-realsense-ubuntu-lts-hwe.sh
#Ubuntu 18/20 with LTS kernel (< 5.13)
./scripts/patch-realsense-ubuntu-lts.sh
mkdir build && cd build
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3
#Builds librealsense2 along with the demos and tutorials:
cmake ../ -DBUILD_EXAMPLES=true -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3
#For systems without OpenGL or X11 build only textual examples:
cmake ../ -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=false -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3
#Python 바인딩을 위한 옵션 https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python 참고
make -j12
sudo make install
sudo ldconfig
Python 샘플 실행
샘플 실행시 예제 import 문 아래와 같이 변경해 줘야 에러가 안남.
import pyrealsense2.pyrealsense2 as rs
$ python3 python-tutorial-1-depth.py
python-tutorial-1-depth.py:37: SyntaxWarning: "is" with a literal. Did you mean "=="?
if y%20 is 19:
module 'pyrealsense2' has no attribute 'pipeline'
결과 확인
quad@ubuntu:~/librealsense/wrappers/python/examples$ python3 t265_example.py
Frame #0
Position: x: 0, y: 0, z: 0
Velocity: x: 0, y: 0, z: 0
Acceleration: x: 0, y: 0, z: 0
Frame #1
Position: x: 0, y: 0, z: 0
Velocity: x: 0, y: 0, z: 0
Acceleration: x: 0, y: 0, z: 0
............
realsense-viewer 실행

2. Jetson Nano 소스 빌드 방법
265 지원을 위해 R/253 소스빌드 해야함. (253 이후 부터는 T265 지원 안함)
소스 빌드
#.bashrc 파일에 추가
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI
export PATH=$PATH:$CUDA_HOME/bin
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev
sudo apt-get install git wget cmake build-essential
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
git clone -b R/253 https://github.com/IntelRealSense/librealsense.git
cd librealsense
./scripts/setup_udev_rules.sh
mkdir build && cd build
cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true
make -j$(($(nproc)-1))
sudo make install
sudo ldconfig
realsense-viewer # 정상실행 확인

librealsense SDK ROS Wrapper 설치
ROS에서 리얼센스 카메라를 사용하기 위해서는 librealsense SDK ROS Wrapper를 설치해야 합니다.
https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy 참고.
sudo apt-get install ros-noetic-ddynamic-reconfigure
cd ~/catkin_ws/src
git clone -b ros1-legacy https://github.com/IntelRealSense/realsense-ros.git
cd ..
catkin build
. devel/setup.bash
Last updated