Jetson XavierにROSを導入

概要と動機

ZED Camera で3D-SLAMをしたいのですが、そのためにはROSの導入が必要。
というわけで、Jetson XavierにROSを導入したので、今回はその備忘録です。


参考にしたサイト

Robot Operating System (ROS) on NVIDIA Jetson AGX Xavier Developer Kit - JetsonHacks
melodic/Installation/Ubuntu - ROS Wiki
基本は上記のサイトを参考にすれば、導入できると思います。


ROS導入にあたって

色々なサイトを参考にすると、導入するROSはUbuntuのバージョンによって違うらしい?ということが書いてありました。
自分の所持しているJetson XavierはJetpack4.2.1なので、ROS Melodicを導入することになります。
・・・違っていたら、ごめんなさい。指摘ください。


ROSのinstall

wiki.ros.org
基本はこの通りに導入していくだけです。
バージョン違いの場合は適宜読み変えたりしてください。


Ubuntuリポジトリの構成』
まずは、packages.ros.org. からダウンロードの受け入れを可能にします。
コマンドはこれを入力します。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

次にセットアップ用のkeyを設定します。
・・・Keyはどういうタイミングかは分かりませんが、変更されることもあるようです。

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

Key Serverにアクセスできない場合は、

sudo apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

もしくは、

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

通しでやるとこんな感じになります。
f:id:chihayaChitose:20190815010827p:plain



『ROS melodicのインストール』
例によって、まずaptをupdateします。

sudo apt update

次、ros-melodicをインストールします。
特に理由がなければ、full版でいいと思います。fullだとこんな感じ。

sudo apt install ros-melodic-desktop-full

これを実行すると、このようにパッケージのダウロードが始まり
f:id:chihayaChitose:20190815011241p:plain

インストール作業に移行し、
f:id:chihayaChitose:20190815011351p:plain

途中でこのように再起動がどうこう聞かれますが、
f:id:chihayaChitose:20190815011443p:plain
私はよくわからずにエンターを押してしまいましたが、上手くいきました。
ここでRestartしたかったのですが、できませんでしたが何とかなりました。
分かる人は教えてください。
・・・この辺は自己責任で。

このような感じで、ROS-Melodicのインストール作業は終了です。
f:id:chihayaChitose:20190815011714p:plain


ここでinstallしたROSの利用可能パッケージを確認します。

apt search ros-melodic

f:id:chihayaChitose:20190815012124p:plain
こんな感じですね。


ROSのinstall後の作業

ROSをinstallした後、利用するための準備がいるそうです。
・・・ここから先はよくわかっていませんが、書いてある通りにやればとりあえず動作しました。


まずは、rosdepと言うのをinitializeする必要があるようです。

sudo rosdep init
rosdep update

この2行を入力します。
f:id:chihayaChitose:20190815012418p:plain
こんな感じです。


次に環境変数の設定です。
私にはわかりませんが、ROS環境変数bashセッションに自動的に追加されると便利なのだそうです。

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc

上記コマンドを実行して、複数出てきた場合は、下記を実行するといいようです。
私の場合は複数出てきたので実行しました。

source /opt/ros/melodic/setup.bash

f:id:chihayaChitose:20190815012846p:plain
こんな感じですね。


次はパッケージの依存関係を定義するらしいです。

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

f:id:chihayaChitose:20190815013316p:plain
こんな感じになります。


以上で導入終了です。