Skip to content

Obstacle layer dynamic parameters#2922

Merged
SteveMacenski merged 8 commits intoros-navigation:mainfrom
AadityaRavindran:obstacle-layer-dynamic-parameters
May 2, 2022
Merged

Obstacle layer dynamic parameters#2922
SteveMacenski merged 8 commits intoros-navigation:mainfrom
AadityaRavindran:obstacle-layer-dynamic-parameters

Conversation

@AadityaRavindran
Copy link
Contributor


Basic Info

Info Please fill out this column
Ticket(s) this addresses #956
Primary OS tested on Ubuntu
Robotic platform tested on gazebo turtlebot simulation

Description of contribution in a few bullet points

Added dynamic parameter update from this list: https://github.com/ros-planning/navigation/blob/noetic-devel/costmap_2d/cfg/ObstaclePlugin.cfg (enabled, footprint_clearing_enabled, max_obstacle_height, and combination_method)

Description of documentation updates required from your changes


Future work that may be required in bullet points

For Maintainers:

  • Check that any new parameters added are updated in navigation.ros.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@mergify
Copy link
Contributor

mergify bot commented Apr 21, 2022

@AadityaPatanjali, please properly fill in PR template in the future. @SteveMacenski, use this instead.

  • Check that any new parameters added are updated in navigation.ros.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@jwallace42
Copy link
Contributor

LGTM I would wait for @SteveMacenski to take a look and for wait for checks to pass.

@SteveMacenski
Copy link
Member

@indraneelpatil what are your thoughts on this? You approve? @AadityaPatanjali, @indraneelpatil did the initial one for Obstacle layer, but this looks good to me!

@SteveMacenski SteveMacenski merged commit da602f8 into ros-navigation:main May 2, 2022
@AadityaRavindran AadityaRavindran deleted the obstacle-layer-dynamic-parameters branch May 3, 2022 05:32
@doisyg
Copy link
Contributor

doisyg commented May 3, 2022

Hum, what happens here if the update frequency of the layer is very small or equal to zero ? combination_method probably won't have an immediate effect after being set. Same for max_obstacle_height, enabled and footprint_clearing_enabled
I believe costs, footprint and bounds have to be updated in case a parameter impacting them has been changed

@SteveMacenski
Copy link
Member

SteveMacenski commented May 3, 2022

Why? It wouldn't take effect until the next time there's a costmap layer update anyway so why preemptively do it?

Enabled / footprint_clearing_enabled / combination_method are only used when there's an update coming. So changing it immediately or waiting for the next cycle would make no difference (e.g. it won't be used until then anywhere). Even Max Obstacle Height is only used in update bounds too https://github.com/ros-planning/navigation2/blob/da602f8a19fa6aaa7078e56ff0c3c83517feb533/nav2_costmap_2d/plugins/obstacle_layer.cpp#L452.

You would be correct about max_obstacle_height though if we were talking about the sensor's data stream max_obstacle_height since the observation buffer will do some work. However, only the global layer-level max_obstacle_height is reconfigurable. So far, none of the individual sensor stream parameterizations are dynamic here or in the voxel layer

redvinaa pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Jun 30, 2022
* Added doxygen HTML to gitignore

* dynamicParametersCallback with max_obstacle_height

* Added dynamic update of enabled, footprint_clearing_enabled, and combination_method

* Fixed failing collision test

* Moved mutex locking from updateFootprint to updateBounds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants