-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add ROS 1 to ROS 2 migration note for group parameter handling #4983
Add ROS 1 to ROS 2 migration note for group parameter handling #4983
Conversation
Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration.
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 am not sure why you are comparing dynamic_reconfigure
package behavior that is NOT in rosmaster
parameter XMLRPC server against the ROS 2 parameter services? i think what we would want to add here is that difference between rosmaster
XMLRPC service behavior and ROS 2 parameter services of each node. (for example, ros::param::getCached is not supported with ROS 2 parameter interface.)
the default set_parameters
, i do not really understand default
by here. because ROS 2 provides both set_parameters
and set_parameters_atomically
that are different services with good explanation around line 93-96. if we only have set_parameters
service that works in default
non-atomic operation, but we can change this behavior with option to be atomic, then i think we can say default
is non-atomic operation?
i may be mistaken something here...
just fyi, rosmaster
parameter XMLRPC server only handles parameter request one by one.
https://github.com/strawlab/ros_comm/blob/6f7ea2feeb3c890699518cb6eb3d33faa15c5306/tools/rosmaster/src/rosmaster/master_api.py#L327-L351
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 document and sub-section are the right place for this to land and this greatly clarifies the available API.
This works for me. Thanks a bunch! We really appreciate it!
Hi @fujitatomoya, thank you for your detailed feedback! I understand your concern about comparing different parameter handling mechanisms. My addition focuses specifically on migrating parameter groups from ROS 1 to ROS 2, particularly for users who currently rely on I noticed that the current documentation doesn't address how to migrate from |
in that case, probably we would want to add this description to https://docs.ros.org/en/rolling/How-To-Guides/Migrating-from-ROS1/Migrating-Parameters.html instead? current change adds the ROS 1 migration note to generic ROS 2 parameter concept, i do not think this is the right place for the people who are looking for the migration information?
how about adding the section for |
Thank you @fujitatomoya for your valuable feedback and suggestions. I understand your point about the migration guide being a logical place for this information. However, after analyzing the documentation structure, I believe the current location might be more appropriate for the following reasons:
I'm open to further discussion about the best way to structure this information. |
i think this can be changed to add more concept, it does not have to be YAML file migration patterns.
this is true. How about adding the section and description in https://docs.ros.org/en/rolling/How-To-Guides/Migrating-from-ROS1/Migrating-Parameters.html#migrating-parameters, and add the link from |
OK @fujitatomoya, if I understand correctly, you propose moving the content of the current migrating-from-ros-1 section (https://docs.ros.org/en/rolling/Concepts/Basic/About-Parameters.html#migrating-from-ros-1) along with my PR modifications to: This way, the Table of Contents would look something like this:
For me, this is fine, and I can make this modification. However, I want to ensure I fully understand the concept and avoid any misunderstandings or breaking the existing structure. @fujitatomoya, is this correct from your point of view? |
yes that is what i mean. we can keep the links about migration procedure but main purpose is that contents align with main page title in consistent. i think we would not want to keep adding the ROS 1 specific packages migration explanation on https://docs.ros.org/en/rolling/Concepts/Basic/About-Parameters.html#migrating-from-ros-1 let's wait for the feedback from other people before changing it, thanks for your patience and understanding 👍 |
It looks like there are no objections to the files structure changes for the ROS1 to ROS2 migration guide, so I've adopted @fujitatomoya suggestion. I've moved the migration-specific content to the dedicated migration guide file. |
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.
@MariuszSzczepanikSpyrosoft really appreciate your effort. last comment, after that i will approve this. CC: @kscottz
If @fujitatomoya is happy after this last change, then I am happy. @MariuszSzczepanikSpyrosoft we really appreciate your help with this! |
I have committed the patch proposed by @fujitatomoya . Huge thanks @kscottz, @fujitatomoya for the great collaboration and valuable feedback during the review! |
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.
@MariuszSzczepanikSpyrosoft sorry that is my bad coming from suggested patch, could you apply the fix?
source/How-To-Guides/Migrating-from-ROS1/Migrating-Parameters.rst
Outdated
Show resolved
Hide resolved
@MariuszSzczepanikSpyrosoft i just merged this into rolling, backports are staging. again, thank you very much! |
* Add ROS 1 to ROS 2 migration note for group parameter handling Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration. * Remove 'default' terminology from parameter services note * Adapt the structure of the migration guide from ROS 1 to ROS 2 * Refactor based on code review * Fix console code-block (cherry picked from commit 3dbac70)
* Add ROS 1 to ROS 2 migration note for group parameter handling Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration. * Remove 'default' terminology from parameter services note * Adapt the structure of the migration guide from ROS 1 to ROS 2 * Refactor based on code review * Fix console code-block (cherry picked from commit 3dbac70)
#5002) * Add ROS 1 to ROS 2 migration note for group parameter handling Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration. * Remove 'default' terminology from parameter services note * Adapt the structure of the migration guide from ROS 1 to ROS 2 * Refactor based on code review * Fix console code-block (cherry picked from commit 3dbac70) Co-authored-by: MariuszSzczepanikSpyrosoft <[email protected]>
#5003) * Add ROS 1 to ROS 2 migration note for group parameter handling Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration. * Remove 'default' terminology from parameter services note * Adapt the structure of the migration guide from ROS 1 to ROS 2 * Refactor based on code review * Fix console code-block (cherry picked from commit 3dbac70) Co-authored-by: MariuszSzczepanikSpyrosoft <[email protected]>
Add information to help developers safely migrate parameter updates by highlighting that ROS 2's default set_parameters service behaves differently than ROS 1's dynamic_reconfigure regarding atomic updates. Points users to set_parameters_atomically service to maintain atomic behavior during migration.