Ask Your Question

Revision history [back]

Are you setting the parameters before the ros usb camera driver (usb_cam?) is started up or after? usb_cam (and most other nodes) only load the parameters when they start up.

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

Are you setting the parameters before the ros usb camera driver (usb_cam?) is started up or after? usb_cam (and most other nodes) only load the parameters when they start up.

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

Are you setting the parameters before the ros usb camera driver is started up or after? usb_cam (and most other nodes) only load the parameters when they start up.

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden, so changing it after the launch is complete is the only way.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

Are you using usb_cam?

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden, so changing it after the launch is complete is the only way.

Can you disable the autofocus when running the camera outside of ros in a regular camera viewer? guvcview is a good test for this. Also try running v4l2ucp which can be done while the ros driver is running, it doesn't conflict (I made a ros node version of v4l2ucp https://github.com/lucasw/v4l2ucp and the parameters can be changed live via topics).

Or you run uvcdynctrl (not a ros node) separately on the command line to manipulate controls.

Are you using usb_cam?

Is the launch file setting focus or autofocus itself, overwriting your values?

It's possible the way the camera sets autofocus is not wired properly through V4L, or some startup sequence causes the param value to get overridden, so changing it after the launch is complete is the only way.