ロボット研究開発、ソフトウェア開発、コンテンツ制作配信

【自作ロボットROS2化】jetsonNano+Docker(ROS2 Humble)でRPLidarを動かす


前回、jetsonNanoにDockerでROS2 Humbleを入れることができました。
今回は、jetsonNanoのDocker(ROS2 Humble)からRPLiadrのノードを起動したいと思います。
※なお、私が持っているRPLidarは、RPLiDAR A1M8です。

追記:2024.10.05

jetsonNanoにDocker+ROS2 Humbleを入れて開発していましたが、モーター周りのスクリプトを動かす際、
Python関連のバージョン不一致によるエラーが発生してしまいました。。
色々解決が困難そうなので、jetsonNanoにDocker+ROS2 Humbleは断念します。
ということで、jetsonNano→ラズパイ5にメインボードを変更しようと思います。
またその内容は記事で公開していきます。
スポンサーリンク

Dockerコンテナ起動

RPLiDAR A1M8をUSBでjetsonNanoに接続し、以下コマンドで、Dockerコンテナを立ち上げます。
※RPLiDAR A1M8をコンテナ内からアクセスするため、–deviceオプションで、/dev/ttyUSB0を指定してます。

sudo docker run --network host --runtime nvidia -it --device /dev/ttyUSB0 --name lidar_test dustynv/ros:humble-ros-base-l4t-r32.7.1

ワークスペースを作成

Dockerコンテナ内で以下を実行し、ワークスペースを作成します。

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
colcon build

lidar用のパッケージをダウンロード

gitからRPLiDARのROS2用パッケージをダウンロードしてビルドします。

cd ~/ros2_ws/src
git clone https://github.com/Slamtec/sllidar_ros2.git
cd ~/ros2_ws/
colcon build
source install/setup.bash

色々warningは出ましたが、ビルド通りました。
次に実行してみます。

lidar用のノードを実行

以下コマンドでlidar用ノードを実行します。

ros2 launch sllidar_ros2 sllidar_a1_launch.py

Docker環境内で実行しているので、jetsonNano内ではrvizが実行できません。
したがって、別PC(Ubuntu22.04 ROS Humble)でrvizを起動して動作確認します。

別PCでrvizを起動します。

rviz2

ADDから、LaserScanを追加し、トピック名は/scanを設定します。
別PCでもう1つターミナルを開き、以下コマンドで静的TFを発行します。

ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 map laser

以下のようにrviz上でLaserScanが描画されているので問題なくlidarが動作しているようです。

最後に

今回は、Docker(ROS2 Humble)環境でRPLidarを動かしてみました。
次はモーター周りのノードをROS2で動かしたいです。
それでは!!

スポンサーリンク

いいね!を押すと、
最新記事をお届けします。

Twitter で
関連記事(一部広告含む)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン