Help us understand the problem. What is going on with this article?

Jetson NanoにROSをインストールする方法

20190603031221.png

Jetson NanoにROSをインストールする

 Jetson Nanoでロボットを制御したりしたいので、ロボット制御によく使われるミドルウェアのROS(Robot Operating System)をインストールします。

 以下のブログ記事を参考に、Jetson Nanoの基本的なセットアップは実施しておいてください。ディープラーニング関係のソフトのセットアップまでは不要です。
Jetson Nanoをセットアップしてディープラーニングで画像認識試してみた

 ROSのインストールは、以下のSTEREOLABSというメーカのサイトを参考にしました。STEREOLABSはZEDというステレオカメラを作っているメーカーです。NVIDIAのGPU・Jetson・ROSに積極的に対応しているメーカーです。Jetson NanoでのROSのセットアップ方法を公開しているのもそういう理由からでしょう。

Getting Started with ROS on Jetson Nano

 今回は、以下の点を変更しています。

  • ZEDのステレオカメラは使わないので後半のステレオカメラ関係のセットアップを省略
  • ビルドシステムとして、catkin_makeでなくcatkin buildを使用(好みです)
  • セットアップをスクリプト化

 スクリプトにしたので、以下3行を実行すれば待っているだけでROSがインストールできます。インストールは時間がかかります(數十分程度)

$ git clone https://github.com/karaage0703/jetson-nano-tools
$ cd jetson-nano-tools
$ ./install-ros-melodic.sh

 また、自分の場合、何故か最後のcatkin_wsでのビルドに失敗していました。ビルドに失敗していたら、以下の通りWSを作ってやりなおせばOKと思います。

$ source ~/.bashrc
$ rm -rf ~/catkin_ws
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws
$ catkin init
$ catkin build
$ source ~/.bashrc

apt(apt-get) updateのエラーに関して(補足)

 セキュリティー関係で認証keyが変更になったようです(2019年6月頃)。updateでエラーが出る場合は、以下2行のコマンドで古いキーを削除して新しいキーを入れ直しましょう。

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

 冒頭で紹介した、インストールスクリプトのキーは修正済みなので、これからスクリプト使ってアップデートする人は、上記の作業は不要です。

参照元:apt update fails / cannot install pkgs: key not working?

 もっと簡単な方法としては、tiryhoさん作成の以下のスクリプト1行実行するだけでもOKです。

$ curl -SsfL git.io/ros-gpg-key-update | sh

参照元:ros_gpg_key_update(GitHub)

Jetson NanoでのROS動作確認

 ROSのインストールが完了したら、動作確認をしましょう。

 ターミナルを開いて、以下実行します。

$ roscore

 次に、新しいウィンドウでターミナルを開き、以下実行します。

$ rosrun turtlesim turtlesim_node

 以下のようなカメさんの画面が表示されたらOKです。
20190603031221.png

 以下でRvizというROSの可視化ソフトを起動してみましょう。

$ rosrun rviz rviz

 素早く立ち上がります。Rvizはかなり重いソフトなのでRaspberry Piだと起動しなかったりします。Jetson Nanoのパワーが体感できますね。

20190603031227.png

まとめ

 Jetson NanoにROSを入れてみました。Ubuntuなので、特に苦労することなくすんなりインストールできますね。

 ROSを使えば、ROSに対応している色々なデバイスやロボットを制御することができます。身近なところだと、ルンバなどが面白いかもしれませんね。以前、ラズパイでルンバをROSで制御したことがあるので、参考までに紹介します。まだ試せていませんが、Jetson Nanoでも同じ要領で同じことができるはずです。ただ、恐らくルンバの電源では電力不足なので、電源は別から供給する必要があると思います。

ルンバをRaspberry Piを使ってROSでコントロールできるように改造してみた(半田付け無しでOK)

 ロボット用の3Dカメラとしては、STEREOLABSのZEDのステレオカメラも良いのですが、個人で買うには高いので安く小型で高性能な、Intel Realsense D415/D435がおすすめです。こちらは、別途セットアップ記事を書く予定です。

関連記事

Jetson Nano関係のTIPSまとめ
Jetson Nano関係の情報はこちらにまとめています

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away