0
$\begingroup$

Rosanswers logo

I used to use the server parameters and the dynamic_reconfigure. I know the server parameters (rosparm) used to send messages to the node, in which those messages do not change much. The question is that I really don't understand the advantage of the server parameters over the dynamic_reconfigure. I feel I'm missing something or I don't understand the goal of the server parameters


Originally posted by emacsd on ROS Answers with karma: 194 on 2014-06-25

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

As you rightly suggest server parameters are based on a polling system whereby the Parameter server is polled by nodes to retrieve information loaded on startup (or during execution). This may be inefficient if the information doesn't change. Dynamic reconfigure utilises a callback that is called when the parameters are changed via a gui, hence it is more efficient than polling if we are expecting values to change.

As for why there are both. I'd expect that server parameters were developed first, and then dynamic reconfigure developed as an additional feature. Server parameters are useful particularly when parameters dont need to change during execution, and between runs, the config files can be updated without recompiling code. Additionally server parameters are a little easier to implement.

Dynamic reconfigure is useful when tuning during execution. But does require another node, either rqt_reconfigure or a dynamic reconfigure client to be implemented in order to send the changed parameters. If a parameter changes so much perhaps it is more efficient and simpler to implement a serviceServer/client or subscriber/publisher linking information between two nodes. Otherwise if using rqt_reconfigure then it requires a human to drive the gui, which is usually not what is required in robotic implementations.


Originally posted by PeterMilani with karma: 1493 on 2014-06-25

This answer was ACCEPTED on the original site

Post score: 9


Original comments

Comment by emacsd on 2014-06-25:
Thank you so much. The last argument you mentioned is the one I will use when someone asks me about the difference.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.