Jetson Nano でコンテナにROS1(Melodic)をインストールしてみます。
ROS2に関しては以下を参照
Jetson Nano でコンテナにROS2 Foxy をインストール
…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に設定すればよい。
以下を記述
Leave a Reply