[ros-users] New Parameter Server
Ken Conley
kwc at kwc.org
Wed Apr 17 18:12:38 UTC 2013
Cool. Some more things to throw out there:
* One thing that let me to Redis was I was also experimenting with TTL.
This seemed to be an interesting concept (e.g., expiring an 'initialized'
parameter/calibration/pose). Wasn't sure if it would be useful, but it was
at least interesting.
* Another thing that led me to Redis was its support for Sets. These Sets
are very powerful; e.g. Instagram uses Redis Sets to represent the photos
you see in your stream.
And finally:
* Right now you're motivated to extract the Parameter Server from the
Master. I agree that it's useful to decouple them. But, to warp things a
bit, a Redis-backed, TTL supporting Key/Value store would make a great
backend for a master. i.e., the Master is little more than a special set
of Parameter APIs using Sets, TTLs, and PubSub.
cheers,
Ken
On Wed, Apr 17, 2013 at 7:22 AM, Jack O'Quin <jack.oquin at gmail.com> wrote:
> On Wed, Apr 17, 2013 at 8:06 AM, Gonzalo Abella <abellagonzalo at gmail.com>
> wrote:
> > Thank you very much for your answers. They are all pretty helpful. A
> > brief summarize:
>
> > - But (a possibility), rely on a simple key-value DB as Redis to
> > minimize development/maintenance.
>
> +1 to redis
>
> > - Priorities to initialize parameters: (0) default values, (1) launch
> > files, (2) parameter server, (3) command line. +number -> +priority
>
> Not sure why the server needs to worry about this. Parameters get set
> whenever someone sets them. Not your responsibility, its under user
> control.
>
> > The params lifecycle is a tricky problem. I think the best solution
> > would be a combination of both live/die with paramserver and live/die
> > with parent. It is reasonable to have global parameters which do not
> > depend on any node (or depend on the ROS Master). But other
> > parameters, such as private params, are meaningless and they should be
> > removed from the param server.
>
> Beware: in the existing implementation, parameters live and die with
> the parameter server (currently roscore). That is often useful.
>
> * I often find myself starting roscore first just so I don't have to
> reload parameters every time I test some node.
>
> * Sometimes parameters may be adjusted during node execution. If they
> are destroyed when the node terminates, we lose the opportunity to
> save them somewhere for the next session.
>
> * For general compatibility, interface issues like this should not be
> changed without a compelling reason.
> --
> joq
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20130417/e6306e18/attachment-0004.html>
More information about the ros-users
mailing list