サイトアイコン sciencompass

Jetson NanoへのROSインストール

Jetson NanoへのROSインストールの方法とインストールが成功したかどうかの確認までこのページで説明します。

Jetson Nanoへのインストール

ロボットを動かすために広く使われているROSですが、これをJetson Nanoにインストールするのが、このページの目的です。
ROSはWindows, Macにインストールすることもできますが、UbuntuやLinuxにインストールするほうが主流で、そちらのほうが簡単にインストールすることができます。
Jetson NanoはUbuntuを使用しているため、非常に相性が良い組み合わせです。
ここでインストールするバージョンは、2018年5月23日にリリースされたROS Melodic Moreniaになります。

ROS Melodic Moreniaのロゴ(ROS.orgより引用)

インストール

ターミナルを開き、以下のコマンドを磁こうしてソフトウェアを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'

続いて、aptがパッケージを認識できるようにkeyを追加します。

$ class="wp-block-preformatted">$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

 

パッケージリストをアップデートし、更新します。(少々時間がかかります。)

$ sudo apt update
$ sudo apt upgrade

更新が完了したら、ROS Desktop packageをインストールします。このパッケージには、rqt, rvizandやその他の有用なパッケージが含まれています。

$ sudo apt install ros-melodic-desktop

ROS Desktop Fullというより完全なパッケージもありますが、Jetson Nanoのような組み込みプラットフォームには推奨されません。2D/3Dシミュレータのメモリ使用量が大きく、Jetson Nanoではキャパオーバーになってしまいます。

ROSのパッケージは、外部のライブラリやツールを必要とする場合があります。これらの要求されるライブラリやツールを、システム依存(system dependencies)と呼びます。システム依存はデフォルトではインストールされていない場合があります。ROSは、システム依存をダウンロードしインストールする単純なrosdepというツールというものを用意しています。
そこで、このrosdepの初期化を行います。

$ sudo rosdep init
$ rosdep update

ROSの環境変数を設定します。次のように.bashrcを書き換えます。

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

これでJetson NanoでROSパッケージを実行する環境が整いました。

catkinワークスペースを準備する

ROSパッケージを実行したり、ほかのパッケージをソースからインストールするためには、catkinワークスペースを作成する必要があります。

まず、次のシステム依存性をインストールします。

$ sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev python-rosinstall python-rosinstall-generator python-wstool build-essential git

catkinのルートディレクトリとソースフォルダを作成します。

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/

これらのフォルダは空なので、catkinをビルドします。

$ catkin_make

最後に、.bashrcスクリプトを次のようにアップデートします。

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

これで準備は完了です。

ROS動作確認

それでは動作確認をしましょう。
ターミナルを開いて、次のコマンドを実行します。

$ roscore

次に、新しいターミナルを開き、次のコマンドを実行します。

$ rosrun turtlesim turtlesim_node

以下のような画面が出れば成功です。

turtlesimを起動したところ([2]より引用)

終了するときには、ターミナルでCtrl + Cを入力します。(ROSは基本的にCtrl + Cで終了することが出来ます。)

まとめ

ROSをJetson Nanoにインストールする方法についてまとめました。
[2]には、これらを3行のスクリプトにまとめたものが紹介されています。
(ただ、私はそれだとうまくいかなかったので、このページで紹介したコマンドを一つずつ実行していくことにしました。)

次回からは、ROSを実際に使うところをやってみたいと思います。

参考ページ

[1]Getting Started with ROS on Jetson Nano

Getting Started with ROS on Jetson Nano

[2]Jetson NanoにROSをインストールする方法
https://qiita.com/karaage0703/items/aa54e086f0a2f165d3e9

[3]ROS Melodic Morenia
http://wiki.ros.org/melodic

[4]ROSを始めよう その1
https://qiita.com/hagi-suke/items/b0bb678678b0ec45147c

モバイルバージョンを終了