Modifiying parameter settings in dynamic_reconfigure

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Modifiying parameter settings in dynamic_reconfigure

Markus Achtelik
Hi all,

is it possible to modify e.g. min/max values of a
dynamic_reconfigure-parameter that was generated using the *.cfg file at
runtime?
I'm currently trying to make our point grey cameras dynamically
reconfigurable and e.g. the maximum shutter time changes according to
the framerate. So it would be nice to change the maximum value of the
parameter accordingly.
Is there any way to tell the dynamic_reconfigure - client if setting the
parameter was successful?

I had a look at the prosilica camera package to see how dynamic
reconfigure works there. Is there a package that you would recommend
more to see how it works?

Thanks a lot!

Best, Markus

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Modifiying parameter settings in dynamic_reconfigure

rusu
Administrator
Hi Markus,

I do not think this is possible at the moment, but Blaise or Tim might be able to provide a roadmap on when things like
that will get into dynamic_reconfigure.

Cheers,
Radu.

Markus Achtelik wrote:

> Hi all,
>
> is it possible to modify e.g. min/max values of a
> dynamic_reconfigure-parameter that was generated using the *.cfg file at
> runtime?
> I'm currently trying to make our point grey cameras dynamically
> reconfigurable and e.g. the maximum shutter time changes according to
> the framerate. So it would be nice to change the maximum value of the
> parameter accordingly.
> Is there any way to tell the dynamic_reconfigure - client if setting the
> parameter was successful?
>
> I had a look at the prosilica camera package to see how dynamic
> reconfigure works there. Is there a package that you would recommend
> more to see how it works?
>
> Thanks a lot!
>
> Best, Markus
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/ros-users

--
| Radu Bogdan Rusu | http://rbrusu.com/

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Modifiying parameter settings in dynamic_reconfigure

Blaise Gassend
In reply to this post by Markus Achtelik
Hi Markus,

Currently you should set the min/max values to the min/max values you
expect to see across any cameras, and do your own range checking.

If you get values that are out of range for the current camera, you
should override them with a clipped value before returning from the
reconfigure callback so that the GUI and parameter server will properly
reflect the value that was actually used.

At some point there is going to be support for dynamically changing the
ranges in the GUI. But not sure when yet.

Cheers,
Blaise

On Thu, 2010-01-28 at 15:22 +0100, Markus Achtelik wrote:

> Hi all,
>
> is it possible to modify e.g. min/max values of a
> dynamic_reconfigure-parameter that was generated using the *.cfg file at
> runtime?
> I'm currently trying to make our point grey cameras dynamically
> reconfigurable and e.g. the maximum shutter time changes according to
> the framerate. So it would be nice to change the maximum value of the
> parameter accordingly.
> Is there any way to tell the dynamic_reconfigure - client if setting the
> parameter was successful?
>
> I had a look at the prosilica camera package to see how dynamic
> reconfigure works there. Is there a package that you would recommend
> more to see how it works?
>
> Thanks a lot!
>
> Best, Markus
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/ros-users


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Modifiying parameter settings in dynamic_reconfigure

Markus Achtelik
Hi Blaise,

thanks for your answer! I think that works for us so far.
Just some ideas for dynamic_reconfigure:
- feedback if setting a parameter was successful
- deactivating controls if the parameter is set to auto (e.g. useful for
the shutter-setting)
- tell the callback function which parameter has changed, so that only
its set-method needs to be called

Cheers, Markus
 

On Thu, 2010-01-28 at 12:23 -0800, Blaise Gassend wrote:

> Hi Markus,
>
> Currently you should set the min/max values to the min/max values you
> expect to see across any cameras, and do your own range checking.
>
> If you get values that are out of range for the current camera, you
> should override them with a clipped value before returning from the
> reconfigure callback so that the GUI and parameter server will properly
> reflect the value that was actually used.
>
> At some point there is going to be support for dynamically changing the
> ranges in the GUI. But not sure when yet.
>
> Cheers,
> Blaise
>
> On Thu, 2010-01-28 at 15:22 +0100, Markus Achtelik wrote:
> > Hi all,
> >
> > is it possible to modify e.g. min/max values of a
> > dynamic_reconfigure-parameter that was generated using the *.cfg file at
> > runtime?
> > I'm currently trying to make our point grey cameras dynamically
> > reconfigurable and e.g. the maximum shutter time changes according to
> > the framerate. So it would be nice to change the maximum value of the
> > parameter accordingly.
> > Is there any way to tell the dynamic_reconfigure - client if setting the
> > parameter was successful?
> >
> > I had a look at the prosilica camera package to see how dynamic
> > reconfigure works there. Is there a package that you would recommend
> > more to see how it works?
> >
> > Thanks a lot!
> >
> > Best, Markus
> >
> > ------------------------------------------------------------------------------
> > The Planet: dedicated and managed hosting, cloud storage, colocation
> > Stay online with enterprise data centers and the best network in the business
> > Choose flexible plans and management services without long-term contracts
> > Personal 24x7 support from experience hosting pros just a phone call away.
> > http://p.sf.net/sfu/theplanet-com
> > _______________________________________________
> > ros-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/ros-users
>
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/ros-users


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Modifiying parameter settings in dynamic_reconfigure

Blaise Gassend
Hi Markus,

> - feedback if setting a parameter was successful

Are you talking about the GUI or the API here? Would something like a UI
color change while a dynamic_reconfigure request is in flight be the
type of think you have in mind? (Once the request has completed, the
state of the UI reflects the state of the node.)

> - deactivating controls if the parameter is set to auto (e.g. useful for
> the shutter-setting)

I have lots of requests for this one. :) It will happen at some point.

> - tell the callback function which parameter has changed, so that only
> its set-method needs to be called

That's what the reconfigure level is about, but it is rather limited as
it only allows up to sizeof(int)*8 parameters to be distinguished. Do
you have any suggestions on how you would want this to show up in the
API? I have felt the need, but haven't really converged on what is the
nicest way of doing this.

A few ideas:

1. Extra fields
config.my_parameter__has_changed in C++
config['my_parameter__has_changed'] in Python

2. A separate structure/dictionary with the changes?

Cheers,
Blaise


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Modifiying parameter settings in dynamic_reconfigure

Markus Achtelik
Hi Blaise,

> > - feedback if setting a parameter was successful
>
> Are you talking about the GUI or the API here? Would something like a UI
> color change while a dynamic_reconfigure request is in flight be the
> type of think you have in mind? (Once the request has completed, the
> state of the UI reflects the state of the node.)

Both GUI and API... when a call is not successful and the node hasn't
saved the old config, there could be no easy way to send the old
parameter value back in case setting the new value fails. In addition to
just writing the old value back, the user could be notified that
something went wrong. Maybe an extra field like
"config.my_parameter__changed_success" ?

> > - deactivating controls if the parameter is set to auto (e.g. useful for
> > the shutter-setting)
>
> I have lots of requests for this one. :) It will happen at some point.

Great, I'm looking forward to that ;-).

> > - tell the callback function which parameter has changed, so that only
> > its set-method needs to be called
>
> That's what the reconfigure level is about, but it is rather limited as
> it only allows up to sizeof(int)*8 parameters to be distinguished. Do
> you have any suggestions on how you would want this to show up in the
> API? I have felt the need, but haven't really converged on what is the
> nicest way of doing this.
>
> A few ideas:
>
> 1. Extra fields
> config.my_parameter__has_changed in C++
> config['my_parameter__has_changed'] in Python
>
> 2. A separate structure/dictionary with the changes?

When I was writing this, I just thought of a vector of strings
containing the names of the parameters that changed, but having extra
fields would work as well.

Cheers, Markus




------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users