-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-enable runtime configuration of key parameters #956
Comments
ros2/rclcpp#829 submitted to add additional support for parameter event subscriptions for dynamic parameter callbacks |
Major TODO list (tunable behaviors / algorithms)
Minor TODO list (lower impact, unlikely to be actually needed to change for tuning)
|
Moving the discussion from #2565
Short term solution of a callback triggered only when a parameter is changed on the hosting node:
In the constructor:
Callback:
Do you have examples of such a structure ? A bit like Teb https://github.com/rst-tu-dortmund/teb_local_planner/blob/ros2-master/teb_local_planner/include/teb_local_planner/teb_config.h ? (which is a bit messy, off topic I have a couple maintenance actions to take) |
That makes this seem like a real pain in the butt. Does this also work when the parameters are changed on the commandline? It's not clear to me that it does allow dynamic parameter changes from outside of the node itself . |
Yes but not called evey time a parameter is change anywhere. Only when a parameter is changed on the hosting node, which is the behavior I thought we had with the other method.
I am not sure I understand this. When will this be a problem ? If the callback is registered before calls to declare_parameter() ? (which I don't see a use case for)
Yes, tested with cli and also from other nodes in cpp |
Back from vacation.
I suppose, yes. I don't see a use for it, but I see something we need to defend against to make sure we're not doing things out of order, since it would trigger if it did happen. 👍 on commandline. I think this works in general, just need to take the appropriate precautions. If you submitted a trial PR to one of the nodes for us to look over together, I think we could make these changes to all of them . |
Welcome back, here it is: https://github.com/ros-planning/navigation2/pull/2576/files |
And now a PR making the same changes everywhere: #2585 |
Costmap2DROS dyn params discussion here : #2566 |
Only AMCL and the obstacle layer remaining... |
If nobody takes care of it before Humble, I ll try to do it |
I think @allenh1 mentioned he might be interested if he can find some spare time for AMCL. |
Yep -- I can take a look at this soon. |
@SteveMacenski I have not made any progress here, feel free to pass it on to someone who can get it done sooner. |
No promise but I am waiting for Humble branch from Rolling (next Monday) to setup a Humble test environment (with a real robot). From there and if everything goes smooth, I ll have a look. |
Just AMCL left! |
I can take AMCL.. |
Finally complete! Thanks everyone for their time and help in getting dynamic parameter support in Nav2. It was a real team effort over a couple of years and happy to have it in now! |
Is there any plan to have |
Feature request
Feature description
The lifecycle changes disabled all runtime reconfiguration of parameters. However, certain key parameters need to be dynamically adjusted to allow users to easily tune the stack for their use cases.
These key parameters need to be identified and support added to make them changeable while in the active state.
The text was updated successfully, but these errors were encountered: