move_base_flex: move_base_legacy_relay.py throws error on Jetson Nano (ROS Melodic)

Related to issue #222, but I thought it’s better to open a separate issue for this. I tried @Rayman’s turtlebot_mbf implementation (https://github.com/Rayman/turtlebot3_mbf) on Kinetic and it worked fine. But on Melodic it throws this error:

Traceback (most recent call last):
  File "/opt/ros/melodic/lib/mbf_costmap_nav/move_base_legacy_relay.py", line 129, in <module>
    mb_drs = Server(MoveBaseConfig, mb_reconf_cb)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/server.py", line 81, in __init__
    self._change_config(self.config, ~0)  # Consistent with the C++ API, the callback gets called with level=~0 (i.e. -1)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/server.py", line 104, in _change_config
    self.config = self.callback(config, level)
  File "/opt/ros/melodic/lib/mbf_costmap_nav/move_base_legacy_relay.py", line 101, in mb_reconf_cb
    mbf_drc.update_configuration(mbf_config)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/client.py", line 185, in update_configuration
    raise DynamicReconfigureParameterException('don\'t know parameter: %s' % name)
dynamic_reconfigure.DynamicReconfigureParameterException: don't know parameter: make_plan_add_unreachable_goal

Due to this, I’m unable to run move_base_flex on Melodic. Has someone else faced the same issue on Melodic? Or is it Jetson Nano specific?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15

Most upvoted comments

The code on master should also contain the fix. I think this was the branch @corot meant with melodic-devel. We’ll release a new version soon.

I see; REJECTED makes sense in that case, as MBF cannot execute the goal as it is, and so rejects it. There’s no planner plugin named “global_planner/GlobalPlanner”. Here you use the name you give to the plugins on planners list, e.g. @Rayman’s TB3 config.

I’ll provide better result for that cases (#227)

Yes, also happens in melodic. It’s due to a couple of new parameters added to the move_base dynamic configuration. Was fixed on Aug 4th (58a5c6b968442bed2230e42c70955a9267753ea6), but not yet released. We will do soon, but meanwhile, you can use source code from noetic-devel or melodic-devel. Or even path your melodic installation by replacing the script at /opt/ros/melodic/lib/mbf_costmap_nav/ and deleting the .pyc version.

I think implementing mbf the way it is done in ceres navigation by @spuetz is the way to go, at least in Jetson Nano

@corot yes, I’m sending goals via Rviz. I’m using ROS Melodic and have built from source

How you send goals? Rviz 2D nav goal?

Hello @corot I tried melodic, noetic and noetic-devel. Only noetic-devel seems to have the issue fixed, the other two branches give the same error. (I couldn’t find melodic-devel). But when I ran @Rayman’s launch file from https://github.com/Rayman/turtlebot3_mbf (which works fine in Kinetic), I get following error: [FATAL] [1602699058.992457608, 199.320000000]: The states RECALLED and REJECTED are not implemented in the SimpleActionServer! Any idea how to solve it?