Hi Ugo, The best way to load pid gains is to place them on the parameter server and load them from your controller's init() function. If you'd like to change them on the fly, then check out the dynamic reconfigure tool: http://www.ros.org/wiki/dynamic_reconfigure If dynamic reconfigure is too heavyweight, then write an updateParametersFromServer() function (as Dejan suggested). Next, add a service call (likely of type std_srvs/Empty) that calls the function. Then you can use `rosparam set` to change the parameters and then `rosservice call` to pull the new configuration into your controller. But try dynamic_reconfigure first. -Stu On Mon, Apr 19, 2010 at 11:18 AM, Dejan Pangercic wrote: > Hi Ugo, > > I am by no means authority but this is the way I update parameters in my nodes: > Define node's member function, e.g.: > ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// >  double param_; >  void >      updateParametersFromServer () >    { >      nh_.getParam ("my_param", param_); >    } > and then constantly call it in that node's spin function: > >      updateParametersFromServer (); > > See also an attached example file. > > Furthermore, I just recently stumbled upon > http://www.ros.org/wiki/dynamic_reconfigure which "facilitates dynamic > node reconfiguration". However I do not really understand in how far > is it different to conventional updating of parameters as discussed > before. But maybe Blaise can tell here more. > > D. > On Mon, Apr 19, 2010 at 6:56 PM, Ugo Cupcic wrote: >> Hi, >> >> I'm currently setting the parameters for the controllers (PID and so on) >> via a message (I have a subscriber which updates the values when it >> receives the corresponding message). >> >> It works well, but I wanted to know what was the recommended way of >> doing that in ROS. Is it better to do it using parameters? (But then how >> can I  change the corresponding values when the parameters are updated?) >> >> Cheers, >> >> Ugo >> >> -- >> Ugo Cupcic         |  Shadow Robot Company | ugo@shadowrobot.com >> Software Engineer      251 Liverpool Road >> need a Hand?           London  N1 1LX       | +44 20 7700 2487 >> http://www.shadowrobot.com/hand/              @shadowrobot >> >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > > > > -- > MSc. Dejan Pangercic > PhD Student/Researcher > Computer Science IX > Technische Universität München > Telephone: +49 (89) 289-17780 > E-Mail: dejan.pangercic@in.tum.de > WWW: http://ias.cs.tum.edu/people/pangercic > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > > -- Stuart Glaser sglaser -at- willowgarage -dot- com www.willowgarage.com