#リンク
説明
複数台Navigationが動作する環境を調べていたら上のリポジトリをみつけたので、動かすまでのトラブルシュートをメモしました。
記事執筆時点から2年前のコードだったので書式の仕様変更によるものなどもあり、エラー文で調べる人の助けになれば良いなと思ってます。
動かすまで。
- 環境の用意
→こちらにクローンした直後に動くようにしたDockerFileを用意しました。
→その他melodicの動作環境ならだいたい動く気がします。 - 上記リポジトリのclone、catkin_make
- 下記コマンドで動作する。
roslaunch multi_turtlebots_sim main.launch #別タブで roslaunch multi_turtlebots_nav navigation.launch
- (とりあえず動かす場合)Rviz→ToolProperty で、2D Nav Goal のトピック名を/robot1/move_base_simple/goalなどとして、移動してほしい場所をクリックする
※4の動作は下記の動画が細かい所の説明になっている。(02:20ぐらいから)
https://www.youtube.com/watch?v=iyL_hsqjKWI
トラブルシュートの記録
遭遇したトラブルと修正方法を記録しておきます。
Error Code: 11 Msg: Unable to find uri[model://turtlebot3_house]
→ turtlebotのhouseモデルに依存しているので、turtle-botをインストールする。
sudo apt-get install -y ros-melodic-turtlebot3-*
ERROR: cannot launch node of type [map_server/map_server]: map_server
こちらは1つ上のエラーに伴うもので、一通りパッケージを入れればOK(apt で)
sudo apt-get install -y ros-melodic-amcl ros-melodic-move-base ros-melodic-map-server ros-melodic-dwa-local-planner
[ERROR] [1643752530.868833955]: failed to open image file "/home/pallav/test/map.pgm": Couldn't open /home/pallav/test/map.pgm
map.yamlのPathがもともとの開発者のままなので修正すればOK
- image: /home/pallav/test/map.pgm
+ image: ./map.pgm
Warning: Invalid argument "/map" passed to canTransform argument target_frame in tf2 frame_ids cannot start with a '/' like:at line 134 in /tmp/binarydeb/ros-melodic-tf2-0.6.5/src/buffer_core.cpp
move_base のlaunchファイルのglobal_frame_idを変更
- <arg name="global_frame_id" default="/map"/>
+ <arg name="global_frame_id" default="map"/>
[FATAL] [1644070324.098345686, 640.975000000]: Failed to create the dwa_local_planner/DWAPlannerROS planner,
以下のようなエラー、DWAが入っていないので入れる。(上のほうの対応でdwaを入れなかった場合。)
sudo apt-get install ros-melodic-dwa-local-planner
global_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters
[ WARN] [1644240052.367456706, 143.033000000]: global_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters
[ WARN] [1644240052.824814640, 143.490000000]: local_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters
またcostmapの使用がHydroから大きく変わっていて、パラメーター設定の方法がpre-Hydro形式と最新の形>式があります。pluginsというパラメーターがないとpre-Hydro形式になって色々なパラメーターを良しなに>内部で設定してくれます。
警告ということもあり一旦保留。
Parameter max_trans_vel is deprecated
[ WARN] [1644240052.944792306, 143.610000000]: Parameter max_trans_vel is deprecated (and will not load properly). Use max_vel_trans instead.
[ WARN] [1644240052.944981141, 143.610000000]: Parameter min_trans_vel is deprecated (and will not load properly). Use min_vel_trans instead.
[ WARN] [1644240052.945159060, 143.610000000]: Parameter max_rot_vel is deprecated (and will not load properly). Use max_vel_theta instead.
[ WARN] [1644240052.945326440, 143.610000000]: Parameter min_rot_vel is deprecated (and will not load properly). Use min_vel_theta instead.
dwaのパラメメータ指定の名前の指定が古いので変更する(公式の修正時コミット)
https://github.com/ROBOTIS-GIT/turtlebot3/pull/415/commits/36166ef18615f23837362970059a11c664b97230