Version0.8.1
Revision4
Size290.0 MB
LicenseBSD-3-Clause
Confinementstrict
Basecore24

ROS 2 driver for V4L2 USB cameras (Logitech C920 and others)


Snap of the ros-drivers/usbcam ROS 2 node.
The snap runs usb-cam node as a daemon,
sharing the ROS 2 Jazzy runtime from the ros-jazzy-ros-base.

Camera configuration always goes through a ROS params YAML file, matching
upstream usb
cam's own --params-file interface. A managed default is
seeded at $SNAPCOMMON/config/usbcam.yaml on install, including videodevice: "/dev/video0" by default.
This can be edited directly for full
control, or use the video-device key as a shortcut for the common case
of just pointing at a camera:

   snap install ros2-usb-cam
   snap connect ros2-usb-cam:camera
   snap set ros2-usb-cam video-device=/dev/video4 namespace=/staticcamera


General ROS environment (ROSDOMAINID, RMWIMPLEMENTATION,
FASTDDS
DEFAULTPROFILESFILE, ...) is set via the env-injector
extension, e.g.:

   snap set ros2-usb-cam env.ros-domain-id=42
   snap set ros2-usb-cam env.rmw-implementation=rmwfastrtpscpp


For anything beyond the video-device path (resolution, framerate, pixel
format, brightness, camerainfourl, ...), edit
$SNAPCOMMON/config/usbcam.yaml directly, or hand the snap a completely
separate file/URL, which takes precedence over the default file:

   snap set ros2-usb-cam config-file=https://example.com/usbcam.yaml


To discard local edits and restore the packaged default config, run the
reset-config app (this also unsets the video-device shortcut so the
reset sticks), then restart:

   ros2-usb-cam.reset-config
   snap restart ros2-usb-cam


Run a second camera on the same host with snapd parallel installs
(experimental snapd feature; each instance gets its own configuration):

   snap set system experimental.parallel-instances=true
   snap install ros2-usb-camwrist
   snap set ros2-usb-camwrist video-device=/dev/video2 namespace=/wrist


The snap publishes the standard usb
cam topics (imageraw, imageraw/compressed, camerainfo), scoped by the ROS namespace. The cameraname parameter
is not part of the topic path -- upstream only uses it for camera
metadata (CameraInfo).

Update History

0.8.1 (4)
5 Nov 2026, 10:30 UTC

Published13 Aug 2026, 14:36 UTC

Last updated5 Nov 2026, 09:46 UTC

First seen5 Nov 2026, 10:30 UTC