Docker上のROS2 Foxy環境でNavigation2を動かす
はじめに
以前ubuntu20.04上のROS2 Foxy環境にTurtlebot3のシミュレーション環境とNavigation2をインストールしてNavigation2を動かす記事を書きました。
執筆時現在Navigation2 ドキュメントのGetting Startedの方法でTurtlebot3パッケージをインストールして簡単にNavigation2が動かせるようになっていたので、今回はubuntu20.04環境がない方向けにDocker上にROS2 Foxy環境を構築してNavigation2を実行する方法を書きます。
動作環境
Dockerが動く環境であればubuntuでもMacでもWindowsでも何でも可。
Docker自体のインストール方法については省略します。
docker-ros2-desktop-vncでROS2環境の構築
Docker上のROS2 Foxy環境構築にはTiryohさんが公開している
docker-ros2-desktop-vnc
を使用します。
こちらubuntu-desktop-lxde-vnc
を使ってブラウザ上でGazeboやrvizも動くGUIのROS2環境がコマンド1行で構築できる非常に便利なリポジトリです。
Dockerが使える環境で以下のコマンドを実行
$ docker run -p 6080:80 --shm-size=512m tiryoh/ros2-desktop-vnc:foxy
最初はImageのダウンロードをするので時間がかかります。(全部で4.8GBくらい)
以下実行後画面
docker run -p 6080:80 --shm-size=512m tiryoh/ros2-desktop-vnc:foxy
Unable to find image 'tiryoh/ros2-desktop-vnc:foxy' locally
foxy: Pulling from tiryoh/ros2-desktop-vnc
a70d879fa598: Pull complete
c4394a92d1f8: Pull complete
10e6159c56c0: Pull complete
54ce6fc330e9: Pull complete
1956e2222f9d: Pull complete
1c994628a0c6: Pull complete
e56a311ab0d9: Pull complete
ダウンロードが終わったらブラウザを開いて、以下アドレスにアクセス
http://127.0.0.1:6080/
こんな感じの画面になります。
ROS2とGazeboの動作確認
左下メニューのSystem Tools
→ LXTerminal
からターミナル起動
適当なGazeboデモを実行
$ gazebo /opt/ros/foxy/share/gazebo_plugins/worlds/gazebo_ros_camera_demo.world
Gazeboが起動してモデルが動いていれば成功
Navigation2とTurtlebot3パッケージのインストール
Navigation2のインストール
$ sudo apt install ros-foxy-navigation2
$ sudo apt install ros-foxy-nav2-bringup
Turtlebot3パッケージのインストール
$ sudo apt install ros-foxy-turtlebot3*
Turtlebot3の環境変数の設定
source /opt/ros/foxy/setup.bash
export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models
Navigation2の実行
以下を実行してTurtlebot3 GazeboワールドとNavigation2を起動
最初はモデルの読み込みに時間がかかります。
$ ros2 launch nav2_bringup tb3_simulation_launch.py
rviz2とGazeboが起動したらあとはNavigation2ドキュメント通り
rviz2上で2D Pose Estimate
をクリックして地図上の位置をドラックして初期位置を指定、
Navigaton2 Goal
をクリックして地図上の移動したい場所をドラックしてゴールを指定。
Gazebo上のモデルが指定したゴールに向かって動き出せば成功です。
参考
Author And Source
この問題について(Docker上のROS2 Foxy環境でNavigation2を動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/porizou1/items/0b7ed2e6644ef6ea2bb0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .