ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Nav2 multi_tb3_simulation_launch.py - cannot get plugin param value for wait_at_waypoint

asked 2022-01-20 11:51:53 -0600

ljaniec gravatar image

updated 2022-02-08 06:03:28 -0600

Hello,

Right now Navigation2 minimal demo of the simulation with multiple mobile robots with Nav2 stacks doesn't seem to work at all. Every goal is rejected by server, on both robots, every time. I tried to find a bug there but I don't know how to fix it.

I have used:

  • Ubuntu 20.04
  • ROS2 Galactic (binaries)

Steps to reproduce:

  • Source ROS, your workspace and start the script:

ros2 launch nav2_bringup multi_tb3_simulation_launch.py

  • Click 'Startup' in both RViz for Nav2 stack and set initial poses for both TB3s.

  • Try to give any sensible Nav2 goal to robot1 or robot2

Expected behavior - similar to these from single TB3 demo:

[rviz2-4] Start navigation
[rviz2-4] [INFO] [1638358971.369842831] [_]: NavigateToPose will be called using the BT Navigators default behavior tree.
[bt_navigator-11] [INFO] [1638358971.371246080] [bt_navigator]: Begin navigating from current location to (-1.15, -0.68)
[controller_server-8] [INFO] [1638358971.392980651] [controller_server]: Received a goal, begin computing control effort.
[controller_server-8] [WARN] [1638358971.393121450] [controller_server]: No goal checker was specified in parameter 'current_goal_checker'. Server will use only plugin loaded general_goal_checker . This warning will appear once.
[controller_server-8] [INFO] [1638358972.443702721] [controller_server]: Passing new path to controller.
[controller_server-8] [INFO] [1638358973.493587536] [controller_server]: Passing new path to controller.
[controller_server-8] [INFO] [1638358973.849973317] [controller_server]: Reached the goal!
[bt_navigator-11] [INFO] [1638358973.881616953] [bt_navigator]: Goal succeeded

Chosen TB3 navigates to the goal.

Actual behavior

Every goal is rejected by server, on both robots, every time.

(...)
[rviz2-4] Start navigation
[rviz2-4] [INFO] [1638358155.906285384] [robot1._]: NavigateToPose will be called using the BT Navigator's default behavior tree.
[rviz2-4] [ERROR] [1638358155.908410790] [robot1._]: Goal was rejected by server
(...)

When I have tried to find the error source, I have found these lines in terminal log:

[waypoint_follower-24] [FATAL] [1642597452.744755801] [robot2.waypoint_follower]: Can not get 'plugin' param value for wait_at_waypoint
[ERROR] [waypoint_follower-24]: process has died [pid 45587, exit code 255, cmd '/opt/ros/galactic/lib/nav2_waypoint_follower/waypoint_follower --ros-args -r __node:=waypoint_follower -r __ns:=/robot2 --params-file /tmp/tmpvn927bmw -r /tf:=tf -r /tf_static:=tf_static'].
...
[rviz2-15] Start navigation
[rviz2-15] [INFO] [1642597504.499973379] [robot2._]: NavigateToPose will be called using the BT Navigators default behavior tree.
[rviz2-15] [ERROR] [1642597504.500514584] [robot2._]: Goal was rejected by server
...
[waypoint_follower-13] [INFO] [1642597516.141306448] [robot1.waypoint_follower]: Configuring
[waypoint_follower-13] [FATAL] [1642597516.153151747] [robot1.waypoint_follower]: Can not get 'plugin' param value for wait_at_waypoint
[ERROR] [waypoint_follower-13]: process has died [pid 45413, exit code 255, cmd '/opt/ros/galactic/lib/nav2_waypoint_follower/waypoint_follower --ros-args -r __node:=waypoint_follower -r __ns:=/robot1 --params-file /tmp/tmpj1a15_ie -r /tf:=tf -r /tf_static:=tf_static'].
...
rviz2-15] Start navigation
[rviz2-15] [INFO] [1642597562.923893887] [robot2._]: NavigateToPose will be called using the BT Navigators default behavior tree.
[rviz2-15] [ERROR] [1642597562.924373425] [robot2._]: Goal was rejected by server
[rviz2-4] Start navigation
[rviz2-4] [INFO] [1642597567.179889265] [robot1._]: NavigateToPose will be called using the BT Navigators default behavior tree.
[rviz2-4] [ERROR] [1642597567.180410933] [robot1._]: Goal was rejected by server

It seems like something in the waypoint_follower isn't configured correctly (plugin param value for wait_at_waypoint?). How should I try to fix ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-01-20 14:25:58 -0600

[waypoint_follower-24] [FATAL] [1642597452.744755801] [robot2.waypoint_follower]: Can not get 'plugin' param value for wait_at_waypoint

Did you provide the pluginfield? Look at our docs https://navigation.ros.org/configurat... and migration guides https://navigation.ros.org/migration/.... You're probably using an old file on a newer distribution and not paying attention to our library's significant changes.

edit flag offensive delete link more

Comments

I have added in the edit versions of my Nav2 packages - everything was installed through sudo apt-get install ros-galactic-nav2* - I supposed it was enough to get newest version. Maybe I was wrong there and it wasn't updated.

I have used the launch file from nav2_bringup called multi_tb3_simulation_launch.py without changes. I will compare now this version with the newest in the Nav2 repository.

ljaniec gravatar image ljaniec  ( 2022-01-20 15:35:29 -0600 )edit

There may be a big in the configs then there - PR would be appreciated if that is indeed the issue!

stevemacenski gravatar image stevemacenski  ( 2022-01-20 18:16:01 -0600 )edit
1

The simulation started working after updating in the nav2_bringup package on the branch galactic the YAML files (nav2_multirobot_params_1.yaml and nav2_multirobot_params_2.yaml in the folder params), similar to the nav2_params.yaml. Full info in the new edit.

I guess the binary version installed through sudo apt-get install ros-galactic-nav2-bringup has the same incorrect parameters for multi-robot simulation there.

ljaniec gravatar image ljaniec  ( 2022-02-08 04:47:44 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2022-01-20 11:51:53 -0600

Seen: 1,029 times

Last updated: Feb 08 '22