[ros-users] uvc_camera not publishing width and height on /camera_info topic
Patrick Goebel
patrick at casbs.stanford.edu
Sun Dec 19 17:18:57 UTC 2010
Hi Ken and Eric,
I've been doing some more testing and this is what I have found.
First, my camera is a Logitech Quickcam Pro 9000 according to lsusb.
Regarding uvc_camera, I uninstalled the entire umd-ros-pkg and reinstall
it and this time I *do* get control of frame resolution and frame rate
in my launch file when using uvc_camera. So false alarm on that one!
Turning now to Eric's uvc_cam and dynamic_reconfigure. The guvcview
utility is very nice and indicates that I should have the following
valid setting values for the Logitech camera:
Brightness: 0-255 (which goes from completely dark to completely washed out)
Contrast: 0-255 (also works as expected across the range).
Saturation: 0-255 (also works--black and white at 0 and false-color like
at 255; normal seems to be about 38)
White Balance Temperature Auto checkbox: seems to have no effect
Gain: 0-255 (works as expected)
Sharpness: 0-255 (works as expected)
Backlight Compensation: 0, 1, 2 (has no effect)
Exposure, Auto pull down:
Manual Mode: (Exposure absolute slider): 0-10000 (0 is highest
exposure, 10000 is lowest, possibly inverse of shutter speed)
Auto Mode: works the same as Manual Mode with slider control
Shutter Priority Mode: works the same as Manual Mode with slider control
Aperture Priority Mode: works truly as an auto exposure with the slider
bar locked.
Exposure, Auto Priority checkbox: Turns Aperture Priority Mode on or off.
Next I launched the uvc_cam node using the following launch file:
<launch>
<node name="uvc_cam_node" pkg="uvc_cam" type="uvc_cam_node"
output="screen">
<param name="device" value="/dev/video3" />
<param name="exposure" type="int" value="0" />
<param name="absolute_exposure" type="int" value="20" />
<param name="brightness" value="128" />
<param name="saturation" value="38" />
<param name="contrast" value="32" />
<param name="gain" value="100" />
<param name="sharpness" value="100" />
</node>
</launch>
Even thought the initial output complains about a lot of the settings,
they seem to be getting set anyway when I try different values and
relaunch the node. Very often though, when relaunching the node, I get
the error:
[ WARN] [1292778385.643706002]: Reconfigure callback failed with
exception couldn't set format:
And I have to unplug the camera and plug it in again to get past it and
unfreeze the image in image_view. This is the same warning and freezing
issue I have when trying to set a different resolution in
dynamic_reconfigure even though I am setting one of the supported
resolutions.
Finally, in case it isn't obvious to others interested in this thread,
the "exposure" settings in the launch file above or in
dynamic_reconfigure for this Logitech camera are:
0, 1 or 2 gives you "manual exposure" and then you can set the absolute
exposure and/or gain values
3 means auto exposure and the absolute exposure and gain settings have
no effect.
Finally, the slider controls in dynamic_reconfigure have a rather huge
range when connecting to uvc_cam_node, namely -2147483648 to 2147483648.
Not sure if this is intentional.
--patrick
On 12/18/2010 08:19 PM, Eric Perko wrote:
> On Sat, Dec 18, 2010 at 10:53 PM, Patrick Goebel
> <patrick at casbs.stanford.edu <mailto:patrick at casbs.stanford.edu>> wrote:
>
> Thanks Eric--this is great! Using dynamic_reconfigure with the
> Logitech 9000, I see the expected effect with all parameters except
> exposure which generates the error:
>
> setting control 9a0901
> current value of 9a0901 is 3
>
> unable to set control
> : Input/output error
> [ERROR] [1292729915.173487152]: Problem setting exposure. Exception
> was unable to set control
>
>
> What value did you attempt to set? Not all values that are possible for
> controls such as automatic exposure are actually valid for all cameras.
> Currently, there is no way for a driver to tell dynamic_reconfigure
> which values are valid or not (at least not that I know of). You can
> check the guvcview tool (install it with apt-get) to see if a value
> should or should not be supported. Better behavior when somebody tries
> to set a control that isn't supported is on the todo list, but, since
> the driver works "good enough" for what we've been using it for, it
> hasn't really been high on the list of things to do.
>
>
> but setting absolute exposure works fine so no problem there. The
> one glitch I ran into was in setting the width and/or height in
> dynamic_reconfigure; because you can only set one at a time, as soon
> as one is set, uvc_cam warns:
>
> [ WARN] [1292730153.471431256]: Reconfigure callback failed with
> exception pixel format unavailable:
>
> and then image_view freezes. If you then continue to set the other
> dimension in dynamic_reconfigure, it does not unfreeze the image.
> Restarting the uvc_cam node *does* unfreeze image_view and picks up
> the new resolution, as long as you don't have width and height hard
> coded in the launch file.
>
>
> Really? Hmm... that's a bit odd, because all of the settings (including
> height/width) should be causing the driver to close and reopen the
> camera. I'm surprised it just completely crashes (unless the camera
> itself is crashing, which I have seen a few times before). I guess this
> could be fixed by moving from selecting individual width/heights to
> something closer to what camera1394 does and just giving you a
> "video_mode" setting that has valid pairs of width and height.
>
>
> Will test more tomorrow.
>
>
> Thanks for reporting these issues. Let me know if you have any other
> issues (and what specific settings you tried to generate the above and
> any further errors) and I'll see about figuring out why they happen.
> Also, a little specifics, is that a Webcam 9000 or Quickcam 9000? They
> are pretty similar, but might have slight differences if we don't have
> the same model.
>
> - Eric
>
>
> --patrick
>
>
>
> ------------------------------------------------------------------------
> If this email is spam, report it to www.OnlyMyEmail.com
> <https://support.onlymyemail.com/view/report_spam/NDE2OTM6MTIwMzEyNTUzNjpwYXRyaWNrQGNhc2JzLnN0YW5mb3JkLmVkdTpkZWxpdmVyZWQ>
>
More information about the ros-users
mailing list