-
Notifications
You must be signed in to change notification settings - Fork 54
Log when a parameter is set #106
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
Conversation
d2f57b8
to
3f23f6f
Compare
Signed-off-by: Tyler Weaver <tyler@picknik.ai>
3f23f6f
to
02babfa
Compare
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.
tested and lgtm
Thank you |
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.
LGTM 👏
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.
It works, LGTM (except for the missing dash in your instructions ;) --params-file
).
I'm just wondering: At the first run, all parameters are listed in the debug output. After changing .frame.id, there is an output line with the change of this parameter but also a subset of other parameters (pid. and gains. structure. I guess all __map - parameters?). Is this intentional?
The output that seems extra is intentional, because of how the map parameters work they are reread anytime a parameter changes. The log is printed anytime we read a parameter from ROS including on startup. |
ok, I just saw that at the beginning "all" parameters are written, at run-time only the changed one and the __map parameters. |
The reason the map parameters are re-read after any parameter change is it accounts for if you change the key parameter for the map. Re-reading in the library also will declare any parameters that have not been declared and give them default values in the map. Eventually, I hope to fix this by detecting when the key is changed and only re-reading the map parameters then. |
Fixes #86
If you build this locally, you can test this by running the example node with debug logging:
Then in another terminal change a parameter:
ros2 param set /admittance_controller control.frame.id new_frame
You should see an output like this in the logs: