-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Add DynamicParameterPatterns to pose_pogress_checker plugin #5158
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
base: main
Are you sure you want to change the base?
Add DynamicParameterPatterns to pose_pogress_checker plugin #5158
Conversation
24ce814
to
23b3729
Compare
@SteveMacenski I'm not sure how you want to structure this for the plugins of nav2_controller. |
nav2_controller/include/nav2_controller/plugins/parameter_handler_pose_progress_checker.hpp
Outdated
Show resolved
Hide resolved
nav2_controller/include/nav2_controller/plugins/parameter_handler_pose_progress_checker.hpp
Outdated
Show resolved
Hide resolved
For trivial nodes / objects like this, I think it would be fine to define their parameter handler in the scope of its header file (or even inside of the class itself to be a specialization for the class). I don't think we can do that for the main planner/controller/smoother/etc that have alot of parameters and validations going on - plus some of the execution of the servers are in different threads as the dynamic parameter callbacks so we need mutex locking. But, for small things like this it seems overkill. |
3339cd9
to
fd79e23
Compare
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
fd79e23
to
152204d
Compare
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
@SteveMacenski thank you very much. I have made the changes. If it fits now, I would apply them to the rest of the nav2_controller plugins in this PR. |
Codecov ReportAttention: Patch coverage is
... and 8 files with indirect coverage changes 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this works (minus some linting items) for these smaller / simpler objects, but for the larger algorithm plugin ones in particular I would keep in mind:
- Maybe better to return a shared pointer to the parameters rather than a raw pointer?
- There are going to be situations where dynamic parameters are on another executor from the main task server thread so we need to lock the changes / access.
- Maybe atomic for the Parameters object would be sensible in that case, have a lock for accessing values on the value object, or do similar to what we do now and lock the dynamic callbacks and the action server callbacks (param_handler->getLock()) to generally lock up the resources during the entire scope of execution to not keep locking/unlocking
nav2_controller/include/nav2_controller/plugins/pose_progress_checker.hpp
Show resolved
Hide resolved
nav2_controller/include/nav2_controller/plugins/pose_progress_checker.hpp
Show resolved
Hide resolved
nav2_controller/include/nav2_controller/plugins/pose_progress_checker.hpp
Show resolved
Hide resolved
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Nils-Christian Iseke <48475933+Nils-ChristianIseke@users.noreply.github.com>
Signed-off-by: Nils-Christian Iseke <48475933+Nils-ChristianIseke@users.noreply.github.com>
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
Let me know when you want me to take a look again, you can request a new review in the github UX (or just say so in a comment) |
Changed that, a raw pointer for this is also present in some other controllers/plugins.
I have too look into this in more detail. After a first glimps i don't get the implementation of the mutex locks that are present in the other param handlers. |
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
@Nils-ChristianIseke, your PR has failed to build. Please check CI outputs and resolve issues. |
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
@Nils-ChristianIseke, your PR has failed to build. Please check CI outputs and resolve issues. |
This pull request is in conflict. Could you fix it @Nils-ChristianIseke? |
Signed-off-by: Nils-Christian Iseke <nilsmailiseke@gmail.com>
Basic Info
Description of how this change was tested
No additional test added.
Future work that may be required in bullet points
Apply dynamic parameter patters to the rest of nav2_controller.
For Maintainers: