Jetson Nano + コンテナ にROS1(Melodic)をインストール


Jetson Nano でコンテナにROS1(Melodic)をインストールしてみます。

ROS2に関しては以下を参照

Jetson Nano でコンテナにROS2 Foxy をインストール

ラズパイ4でROS2を動かしてみる(DDS)

…etc

 

元ネタはここ

Jetson Nano のOSはJetPack 4.6

Docker Image はNVIDIA提供のnvcr.io/nvidia/l4t-ml:r32.5.0-py3(Ubuntu 18.04.6 LTS)です。

OSはセットアップ済みとします。

 


イメージをダウンロード

作業フォルダー作成(この段階では使いませんが….)

my_ros1という名前でコンテナ作成

sudo docker create -it --name my_ros1 --gpus all --network host -e DISPLAY=$DISPLAY -v /home/jetson/work-ros1:/work -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/l4t-ml:r32.5.0-py3

コンテナ起動

アップデート&アップグレード、パッケージなどをインストール

リポジトリ追加

aptキーを追加

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

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

 

Melodicをインストール

ROSのソフトウェアパッケージのインストールに必要なrosinstallをインストール

apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential -y

ソースコンパイル時の依存パッケージインストールに使われるrosdepをインストール

 

ワークスペース作成

 

ROS起動

 

 


rviz、gazebo

ホスト側でXを設定しておきます。

rviz用にコンテナを別ターミナルでもう一つ開いておきます。

rviz起動

 

さらに、gazebo用にコンテナを別ターミナルでもう一つ開いておきます。

gazebo起動

Errorが出る場合

[Err] [REST.cc:205] Error in REST request

対処

以下のファイルをエディタで開きます。

~/.ignition/fuel/config.yaml

書き換え

url: https://api.ignitionfuel.org -> url: https://api.ignitionrobotics.org

gazeboを再起動

 


Appendix

コンテナ実行時に、ALSAのエラーが出た場合

サウンド関係を使う必要が無ければ、alsaが使うデフォルトのオーディオデバイスをnullに設定すればよい。

 

以下を記述

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*