Nested parameters - Is it worth using a parameter server?

asked 2019-08-09 10:14:41 -0500

alsora gravatar image

ROS allows to declare and use nested parameters. However, it looks to me that the ROS parameter server mainly supports single-value parameters.

I can have something like

node
    calibration
          x
          y
          ts

What's the best way for storing/retrieving a nested structure like this?

  • Server:

    • PRO: The request/response can contain a structure.
    • CONS: I can't request a single value, but only the whole structure.
  • Parameter server:

    • PRO: I'm storing parameters, so a parameter server seems the obvious choice. I can easily load them from a persistent storage. I can request any combination of values.
    • CONS: The response is a list of parameters that the consumer node has to "assemble" into a structure. There are no warranties that all the parameters have been set. The "set" operation should not permit to update single parameters.
edit retag flag offensive close merge delete

Comments

I guess I can not help you with your decision. But you can also use the parameter server for nested structures. See: https://docs.ros.org/lunar/api/roscpp... <- with this you can retrieve any parameter as XmlRpcValue (https://docs.ros.org/lunar/api/xmlrpc...). The XmlRpcValue can then contain more XmlRpcValue within it and so on .. (turtles all the way down!)

ct2034 gravatar imagect2034 ( 2019-08-09 10:25:53 -0500 )edit