Jetson Xavier NX(JetPack 5.01)にROS2とRealSense SDKをインストールする
開発環境
- PC:Jetson Xavier NX
- OS:JetPack 5.01
JetPack 5.01のダウンロード・OSイメージの書き込み
適当なPC上での作業
JetPack 5.01を以下のリンクからダウンロード
https://developer.nvidia.com/embedded/jetpack-sdk-501dp
ここ のインストールガイドに従ってOSを書き込む。
SDカードをSD Memory Card Formatterでクイックフォーマットでフォーマットする。
フォーマットしたのちEtcherで先ほどダウンロードしたOSイメージを書き込む。
完了したらSDカードをJetsonに刺して準備完了。Jetsonの電源をいれるとUbuntuが起動するようになる。
RealSense SDK 2.0のインストール
RealSense SDK 2.0のインストールガイドに従おうとしたけけどx86/ x64ではaptインストールできるが、Armアーキテクチャではできないらしいのでソースからビルドする必要がある。(Jetson Xavier NXはARMv8)
↓
https://hackmd.io/FxWqPYAeRpK2Jv70leGXhghttps://github.com/IntelRealSense/librealsense/issues/10197#issuecomment-1042997148
ビルド方法
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense/scripts/
.libuvc_installation.sh
これでビルドが開始される。結構時間がかかる。
終了したら
rs-depth
とかrs-multicam
を実行できるようになる。
ROS2(Foxy)のインストール
https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html# に従って、
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
sudo apt upgrade
sudo apt install ros-foxy-desktop
これでインストール完了
source /opt/ros/foxy/setup.bash
を.bachrcに追加しておく
RealSenseのROS2 Wrapperのインストール
https://github.com/IntelRealSense/realsense-ros/tree/ros2-beta に従ってインストールする
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src/
ros2_ws/src/にクローンしてros2-betaブランチにする
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-beta
cd ~/ros2_ws
sudo apt-get install python3-rosdep -y
sudo rosdep init # "sudo rosdep init --include-eol-distros" for Dashing
rosdep update
rosdep install -i --from-path src --rosdistro $ROS_DISTRO --skip-keys=librealsense2 -y
ここはReadmeでは特に書かれていなかったけれどもcolconが最初インストールされてないのでインストールしてからビルドする。
sudo apt install python3-colcon-common-extensions
colcon build
これで完了。
使い方
RealSenseノードの起動
cd ~/ros2_ws
. install/local_setup.bash
ros2 launch realsense2_camera rs_launch.py
別のターミナルで
rviz2
でrvizを起動
Fixed Frameをcamera_color_frame
にする。
AddでImageを追加してImage>Topicを/camera/color/image_raw
にする。
同様にもう一つImageを追加してImage>Topicを/camera/depth/image_rect_raw
にする。
これでROS2でRealSenseを使うことができた。