All the parameter manager does currently is manage the interface with the ROS2 parameter system and save the values locally into a dictionary. This was probably originally needed because of the speed at which we need to query parameters and get the return value (several times per execution loop).
However, a simpler implementation of the param_manager would be to not have it and just call the params directly from the ROS2 node. Since ROS2 params are managed by each node (instead of rosmaster as in ROS1), it might be fast enough. If it is fast enough, it would be better to do away with the param_manager and just use the ROS2 system.
We should do a speed test and calculate the difference in speed between calling params from the param_manager and calling them from the ROS2 node.
All the parameter manager does currently is manage the interface with the ROS2 parameter system and save the values locally into a dictionary. This was probably originally needed because of the speed at which we need to query parameters and get the return value (several times per execution loop).
However, a simpler implementation of the
param_managerwould be to not have it and just call the params directly from the ROS2 node. Since ROS2 params are managed by each node (instead ofrosmasteras in ROS1), it might be fast enough. If it is fast enough, it would be better to do away with theparam_managerand just use the ROS2 system.We should do a speed test and calculate the difference in speed between calling params from the
param_managerand calling them from the ROS2 node.