Jetson Nanoでカメラ画像のPublish/Subscribeをやってみる(ROS2)ではNVIDIA提供のコンテナを使いましたがROS2のバージョンはEloquent Elusorでした。
ここでは、より新しいバージョンのFoxy FitzroyをUbuntu 20.04 のコンテナにインストールします。
参照するのはROS2公式のInstalling ROS 2 via Debian Packagesです。
NanoのOSイメージはJetpack 4.5.1
Docker Hub からUbuntu 20.04 のイメージをお借りします。
|
sudo docker pull ubuntu:20.04 |
my_ros2_foxyという名前でコンテナ作成
シンプル設定
|
sudo docker create -it --name my_ros2_foxy --network host ubuntu:20.04 |
USBカメラ などを使う場合(今回はこっち)

sudo docker create -it --name my_ros2_foxy --network host --device /dev/video0:/dev/video0 -e DISPLAY=$DISPLAY -v /tmp/.X-unix/:/tmp/.X-unix ubuntu:20.04
コンテナ起動
|
sudo docker start -i my_ros2_foxy |
アップデート&アップグレード、パッケージなどをインストール
|
apt update apt upgrade -y apt install nano apt install curl -y |
ロケールをセット
チェック
UTF-8をサポートしたロケール設定
|
apt update && apt install locales locale-gen en_US en_US.UTF-8 update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 |
ベリファイ
初期状態ではPythonも入っていません。
Python3.8 をインストール
|
apt install python3.8 ln -s /usr/bin/python3.8 /usr/bin/python3 |
OpenCVも入れておきます。
|
apt install libopencv-dev python3-opencv |
ソースをセットアップ
|
apt update && apt install curl gnupg2 lsb-release curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' |
ROS2 Foxyにはros-foxy-ros-baseとros-foxy-desktopの2種類あります。
ここではimage_toolsなども使いたいのでFoxy Desktop をインストールします。
|
apt update apt install ros-foxy-desktop |
環境をセットアップ
|
source /opt/ros/foxy/setup.bash |
恒久化
|
nano ~/.bashrc //追記 source /opt/ros/foxy/setup.bash |
Ctrl + D でコンテナ終了
Pub / Sub
コンテナ起動
|
sudo docker start -i my_ros2_foxy |
Publisher
テキストをメッセージ送信
|
ros2 run demo_nodes_cpp talker |
カメラ画像(イメージ) をメッセージ送信
|
ros2 run image_tools cam2image |
同コンテナで別ターミナル起動
イメージ受信用にXも設定しておきます。
|
sudo xhost si:localuser:root sudo docker exec -it my_ros2_foxy bash |
Subscriber
テキストメッセージ受信
|
ros2 run demo_nodes_py listener |
カメラ画像(イメージ) メッセージ受信
|
ros2 run image_tools showimage |
ROS2 アンインストール
|
apt remove ros-foxy-* && apt autoremove |
Leave a Reply