ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

server parameters vs dynamic reconfigure?

asked 2014-06-25 13:29:38 -0500

emacsd gravatar image

updated 2014-06-25 21:41:59 -0500

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

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
9

answered 2014-06-25 18:49:33 -0500

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.

edit flag offensive delete link more

Comments

Thank you so much. The last argument you mentioned is the one I will use when someone asks me about the difference.

emacsd gravatar image emacsd  ( 2014-06-25 21:40:33 -0500 )edit

Question Tools

Stats

Asked: 2014-06-25 13:29:38 -0500

Seen: 2,624 times

Last updated: Jun 25 '14