Skip to content
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

optimiser parameter-server configuration pattern is incompatible with ROS2 parameters #2

Closed
BrettRD opened this issue Nov 2, 2021 · 2 comments

Comments

@BrettRD
Copy link
Owner

BrettRD commented Nov 2, 2021

The Optimiser base class expects to load an XML data structure containing all relevant parameters from the parameter server.

In ROS2, all parameters must be forward-declared, making a dynamic tree extremely verbose, with a lot of data duplication to facilitate the necessary forward declarations.

An alternative is to load the old XML data structure via a retained message on a configuration topic, similar to how robot_state_publisher passes a URDF file to downstream entities. This opens the possibility of integrating fuse configurations into URDF models.

@BrettRD
Copy link
Owner Author

BrettRD commented May 3, 2022

under ROS1, sensor_model, motion_model and publisher expect to load parameters from the root of the parameter server.
In ROS2, the parameter server is strictly name-spaced per node, meaning that sensor_model config needs to be listed against the node name of the sensor_model, not the node name of the optimizer

The human-readable names of plugins needs to be declared first

The resulting config files aren't much different, just more explicit about nodes and somewhat flatter.

@BrettRD
Copy link
Owner Author

BrettRD commented Jul 1, 2022

proposed config layout in 4e4d80b
broader issue tracked in locusrobotics#275
ignoring the URDF possibility for now

@BrettRD BrettRD closed this as completed Jul 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant