Re: [ros-users] uvc_camera not publishing width and height o…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: Re: [ros-users] uvc_camera not publishing width and height on /camera_info topic
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
> < <mailto:patrick@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>
>