Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[Hybrid Planning] configurable planning scene topics #1052
[Hybrid Planning] configurable planning scene topics #1052
Changes from all commits
6161925
1948033
32d2e8f
343c287
d2cf1b3
7453188
bcc85ea
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Same question here about defaults. Should the defaults for all these be defined somewhere (maybe a header file with a struct that has default values).
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.
MoveIt already does have that header file. I don't think we should use it, though -- I think we should enforce correct yaml.
(Using defaults leads to issues. See Henning's previous comment about using MoveItCppOptions and my response.)
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.
You don't have to provide a default when you call declare_parameter.
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 tried something like this. It seems nice for several reasons but it crashes.
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.
has_parameter returns true if you have already declared the parameter, if you then call declare_parameter then it will throw an exception because it is already declared.
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.
That's a good point, maybe it will work without that. I'll try again.
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.
The naming of these parameters is atrocious from the perspective of the hybrid planner. I'm not sure what can be done about it since the parameters get passed to moveit_cpp.
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 it would make sense to use the MoveItCpp options directly and load them with a moveit_cpp.yaml. But you are right, those parameters are confusing
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.
Moving the parameters to a separate
moveit_cpp.yaml
makes a lot of sense as well as reducing LOC. Done.Yep, those parameters will still look confusing if somebody does
ros2 param list
.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.
Actually I'm not sure that will work. I have to test if the parameters are read properly or if it just uses defaults.
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.
@henningkayser I tried this in commit d2cf1b3. You can quickly verify that it doesn't work:
monitored_planning_scene_topic: "test/global_planner/planning_scene"
ros2 launch moveit_hybrid_planning hybrid_planning_demo.launch.py
ros2 node info /global_planner_private_xxx
You will see that it does not subscribe to the right topic.
I'm going to revert that commit
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'm going to try to write some small tests to try to understand how declaring and overriding parameters work. I think the ros2 interface is confusing and I don't know what the right answer is.
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.
Can we get this merged and make an issue in the meantime? It's better than the previous state because at least these parameters are being used.
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.
That seems reasonable for now, I would still like to better understand how this works so we can use parameters in a way we understand better.