ROS2 Jazzy GazeboでNav2を動かす環境構築(備忘録)
どうもこんにちは、
ROS2 JazzyにGazeboとNav2をインストールして、自律走行を動かしてみたので備忘録としてまとめておきます。
前提:Docker環境を使った
はじめに、今回はROS2 JazzyのDocker環境にインストールしました。
以下コマンドでコンテナを立ち上げ、ブラウザで「http://localhost:6080/」にアクセスするとROS2 Jazzyの環境にアクセスできます。
docker run -p 6080:80 --shm-size=512m tiryoh/ros2-desktop-vnc:jazzy
以降の手順は、すべてDocker環境内での操作です。
1.Gazebo Harmonic のインストール
以下の手順でGazeboをインストールします。
sudo apt-get update
sudo apt-get install curl lsb-release gnupg
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic
sudo apt install ros-jazzy-nav2-bringup ros-jazzy-turtlebot3*
turtlebo3-gazebo連携のパッケージは、apt経由で取得できなかったので、ソースから落としてきました。
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
ビルドします。
cd ~/ros2_ws
rosdep install --from-paths src -yi --rosdistro jazzy
colcon build --symlink-install
source install/setup.bash
3.turtlebot3のモデル設定
.bashrcにturtlebot3のモデル設定を記載しておきます。
1 2 3 4 5 |
source /opt/ros/jazzy/setup.bash # export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST source /home/ubuntu/ros2_ws/install/setup.bash export TURTLEBOT3_MODEL=burger |
source ~/.bashrc
Terminalを2つ開き、以下コマンドを実行します。
Gazeboの起動
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
Nav2の起動
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=true
Rviz2の「2D Pose Estimate」からロボットの初期位置を設定します。
Rviz2の「Nav2 Goal」で目的地を指定してみます。
シミュレーション上で自律走行が開始されます。
最後に
以上、Gazebo上でNav2を動かしてみました。
ただ、Gazeboはかなり重いみたいでそれなりのPCスペックがないと動かないかもしれません。
Gazeboはあまり詳しくないので色々使い方を覚えていこうと思います。
それでは!!
スポンサーリンク