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

sciencompass34 has written 118 articles

はじめまして!”あおやぎ”と言います。
メーカーで研究開発の仕事をしています。このブログでは、私の専門分野である半導体やそれに関連する内容を紹介していきます。
半導体関連の知識をまとめたデータベースのようにしたいなと思っています。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください