Skip to content

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

@s4lmon

Description

@s4lmon

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] 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions