ROS2のWebotsでTurtlebot3のNavigationをする
はじめに
Gazeboの代わりにROS2で使えるシミュレータを検討していたところWebotsというロボットシミュレータを知り、
ROS2のパッケージやドキュメントも充実していたので、ROS2 Foxyにインストールしてチュートリアル通りにTurtlebot3のNavigationをしてみた
Webotsについて
Webots自体についてはこちらの記事が詳しく書かれているので参照してください
動作環境
この記事は以下の環境で実行しています
CPU | Ryzen5 |
OS | Ubuntu20.04.02LTS |
ROS2 | Foxy Fitzroy |
Webotsのインストール
こちらの通りにインストールする。
aptで一発で最新のWebots本体とROS2パッケージが入るので簡単。
インストール
$ sudo apt install ros-foxy-webots-ros2
Galacticの場合(動作未確認)
$ sudo apt install ros-galactic-webots-ros2
デモの実行
$ ros2 launch webots_ros2_demos armed_robots.launch.py
以下のようにアームロボットが動いているシミュレーションが実行できたら成功
Turtlebot3のNavigation
以下のチュートリアル通りに進める
turtlebot3_navigation2のインストール
$ sudo apt install ros-foxy-turtlebot3-navigation2
$ sudo sed -i 's/nav2\_bringup\_launch.\py/bringup\_launch.\py/g' /opt/ros/foxy/share/turtlebot3_navigation2/launch/navigation2.launch.py
ソースからビルドする場合
$ source /opt/ros/foxy/local_setup.bash
$ cd /path/to/ros2_ws
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3.git src/turtlebot3
$ rosdep update
$ rosdep install --from-paths src --ignore-src --rosdistro foxy
$ colcon build --packages-up-to turtlebot3_navigation2
$ source install/local_setup.bash
Webotsの実行
$ ros2 launch webots_ros2_turtlebot robot_launch.py
Turtlebot3 Burgerが現れる
この状態で/cmd_vel
トピックを送るとTurtlebot3が動く
Navigation2の実行
$ export TURTLEBOT3_MODEL='burger'
$ ros2 launch turtlebot3_navigation2 navigation2.launch.py \
use_sim_time:=true \
map:=$(ros2 pkg prefix webots_ros2_turtlebot --share)/resource/turtlebot3_burger_example_map.yaml
以下のコマンドでamclのinitialpose
を初期化、
またはrviz2の2D Pose Estimate
ボタンをクリックして初期位置を指定。
$ ros2 topic pub --once /initialpose geometry_msgs/msg/PoseWithCovarianceStamped '{
"header": { "frame_id": "map" },
"pose": {
"pose": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"orientation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 }
}
}
}'
あとはrviz2のNavigation2 Goal
をクリックしてマップ上のゴールを指定を指定するとTurtlebot3が指定した位置に向かって動き出す。
Webots上のTurtlebot3をNavigation2で動かす
— porizou (@porizou1) August 23, 2021
tutorial通りに実行するだけなので簡単#webots#ROS2#Navigation2https://t.co/FVbraTssxG pic.twitter.com/vbux1cVZc3
参考
webots_ros2
Webots公式サイト
Author And Source
この問題について(ROS2のWebotsでTurtlebot3のNavigationをする), 我々は、より多くの情報をここで見つけました https://qiita.com/porizou1/items/55b4457c399d65217c4c著者帰属:元の著者の情報は、元の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 .