usb_cam icon indicating copy to clipboard operation
usb_cam copied to clipboard

ROS 2 Jazzy: USB camera setting parameters not specified in my YAML

Open s4lmon opened this issue 8 months ago • 0 comments

When starting usb_cam with an Arducam I get parameters which are automatically set, causing errors. The camera appears to be working fine but this is a qualitative assessment, of course.

This is the output:

[usb_cam_node_exe-1] unknown control 'white_balance_temperature_auto'
[usb_cam_node_exe-1] 
[usb_cam_node_exe-1] [INFO] [1750428798.545360800] [arducam.arducam]: Setting 'white_balance_temperature_auto' to 1
[usb_cam_node_exe-1] [INFO] [1750428798.545469232] [arducam.arducam]: Setting 'exposure_auto' to 3
[usb_cam_node_exe-1] unknown control 'exposure_auto'
[usb_cam_node_exe-1] 
[usb_cam_node_exe-1] [INFO] [1750428798.549476764] [arducam.arducam]: Setting 'focus_auto' to 0
[usb_cam_node_exe-1] unknown control 'focus_auto'

The source code (src/usb_cam_node.cpp) confirms how these parameters are read, and I'm not setting them in my YAML file:

# Based on v4l2-ctl output
/**:
  ros__parameters:
    # --- Stream Configuration ---
    video_device: "/dev/arducam"
    framerate: 20.0
    image_width: 2720
    image_height: 1536
    camera_name: "arducam"
    pixel_format: "yuyv" 
    io_method: "mmap"

    # User Controls
    brightness: 0
    contrast: 10
    saturation: 10
    gain: 100
    
    white_balance_automatic: true
    auto_exposure: 0

I know the YAML file is being read correctly as I can adjust resolution/framerate etc.

If I force set these parameters that are causing errors (e.g. focus_auto—which is actually autofocus, looking at the sourcecode) I still get this issue.

Is there any way to resolve this?

Thank you.

Full logs:

[usb_cam_node_exe-1] [INFO] [1750428798.160127485] [arducam.arducam]: camera_name value: arducam
[usb_cam_node_exe-1] [WARN] [1750428798.160205771] [arducam.arducam]: framerate: 20.000000
[usb_cam_node_exe-1] [INFO] [1750428798.161728080] [arducam.arducam]: camera calibration URL: file:///home/hasan/dev/ros_ws/install/arducam/share/arducam/cfg/camera_info.yaml
[usb_cam_node_exe-1] [INFO] [1750428798.512709581] [arducam.arducam]: Starting 'arducam' (/dev/video4) at 2720x1536 via mmap (yuyv) at 20 FPS
[usb_cam_node_exe-1] This device supports the following formats:
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (120 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (60 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (30 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (15 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (10 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1280 x 720 (5 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1920 x 1080 (60 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1920 x 1080 (30 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1920 x 1080 (15 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1920 x 1080 (10 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 1920 x 1080 (5 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 2720 x 1536 (40 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 2720 x 1536 (20 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 2720 x 1536 (10 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 2720 x 1536 (5 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 3840 x 2160 (20 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 3840 x 2160 (10 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 3840 x 2160 (5 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 5472 x 3648 (9 Hz)
[usb_cam_node_exe-1] 	YUYV 4:2:2 5472 x 3648 (5 Hz)
[usb_cam_node_exe-1] [INFO] [1750428798.519116767] [arducam.arducam]: Setting 'brightness' to 0
[usb_cam_node_exe-1] [INFO] [1750428798.523835465] [arducam.arducam]: Setting 'contrast' to 10
[usb_cam_node_exe-1] [INFO] [1750428798.529956829] [arducam.arducam]: Setting 'saturation' to 10
[usb_cam_node_exe-1] [INFO] [1750428798.535628944] [arducam.arducam]: Setting 'gain' to 100
[usb_cam_node_exe-1] unknown control 'white_balance_temperature_auto'
[usb_cam_node_exe-1] 
[usb_cam_node_exe-1] [INFO] [1750428798.545360800] [arducam.arducam]: Setting 'white_balance_temperature_auto' to 1
[usb_cam_node_exe-1] [INFO] [1750428798.545469232] [arducam.arducam]: Setting 'exposure_auto' to 3
[usb_cam_node_exe-1] unknown control 'exposure_auto'
[usb_cam_node_exe-1] 
[usb_cam_node_exe-1] [INFO] [1750428798.549476764] [arducam.arducam]: Setting 'focus_auto' to 0
[usb_cam_node_exe-1] unknown control 'focus_auto'
[usb_cam_node_exe-1] 

s4lmon avatar Jun 20 '25 14:06 s4lmon