Size: 9854
Comment:
|
← Revision 16 as of 2017-09-20 01:25:52 ⇥
Size: 9806
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<PackageHeader(libuvc_camera)>> <<TOC(4)>> |
<<PackageHeader(libuvc_camera)>> <<TOC(4)>> |
Line 5: | Line 4: |
Line 8: | Line 6: |
## <<TracLink(REPO PKG)>> | ## <<TracLink(REPO PKG)>> |
Line 11: | Line 8: |
Line 15: | Line 11: |
Line 23: | Line 18: |
Line 25: | Line 19: |
Line 31: | Line 24: |
Line 37: | Line 29: |
Line 45: | Line 36: |
Line 53: | Line 43: |
Line 57: | Line 46: |
Line 61: | Line 51: |
Line 64: | Line 53: |
'''REMINDER: For Ubuntu 12.04 and above the udev rules syntax changed! Replace SYSFS{...} with ATTRS{...}''' |
'''REMINDER: For Ubuntu 12.04 and above the udev rules syntax changed! Replace SYSFS{...} with ATTRS{...}''' |
Line 72: | Line 60: |
Line 74: | Line 61: |
Line 82: | Line 68: |
Line 98: | Line 83: |
<param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/jpeg --> | <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/mjpeg --> |
Line 110: | Line 95: |
Line 113: | Line 96: |
Line 114: | Line 98: |
Line 116: | Line 99: |
{{{ #!clearsilver CS/NodeAPI |
{{{#!clearsilver CS/NodeAPI |
Line 140: | Line 123: |
0.default= | 0.default= |
Line 142: | Line 125: |
0.desc=Vendor ID, hex digits including '0x' ex: '0x046d'(use camera of any vendor if null). | 0.desc=Vendor ID, hex digits including '0x' ex: '0x046d'(use camera of any vendor if null). |
Line 144: | Line 127: |
1.default= | 1.default= |
Line 146: | Line 129: |
1.desc=Product ID, hex digits including '0x' ex: '0x0809' (use camera of any model if null). | 1.desc=Product ID, hex digits including '0x' ex: '0x0809' (use camera of any model if null). |
Line 148: | Line 131: |
2.default= | 2.default= |
Line 150: | Line 133: |
2.desc=Serial number, arbitrary string (use camera of any serial number if null). | 2.desc=Serial number, arbitrary string (use camera of any serial number if null). |
Line 178: | Line 161: |
9.desc=ROS tf frame of reference, resolved with tf_prefix unless absolute. | 9.desc=ROS tf frame of reference, resolved with tf_prefix unless absolute. |
Line 180: | Line 163: |
10.default= | 10.default= |
Line 182: | Line 165: |
10.desc=Path to camera calibration file. | 10.desc=Path to camera calibration file. |
Line 186: | Line 169: |
11.desc=Scanning mode. Possible values are: Interlaced (0): , Progressive (1): | 11.desc=Scanning mode. Possible values are: Interlaced (0): , Progressive (1): |
Line 206: | Line 189: |
16.desc=Maintain focus automatically. | 16.desc=Maintain focus automatically. |
Line 226: | Line 209: |
21.desc=Image capture disabled. | 21.desc=Image capture disabled. |
Line 250: | Line 233: |
27.desc=Automatic hue control. | 27.desc=Automatic hue control. |
Line 270: | Line 253: |
32.desc=Automatic white balance. | 32.desc=Automatic white balance. |
Line 287: | Line 270: |
Show EOL distros:
Package Summary
USB Video Class camera driver
- Maintainer: Ken Tossell <ken AT tossell DOT net>
- Author:
- License: BSD
- Source: git https://github.com/ktossell/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer: Ken Tossell <ken AT tossell DOT net>
- Author:
- License: BSD
- Source: git https://github.com/ktossell/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer status: developed
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ktossell/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ros-drivers/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer status: unmaintained
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ros-drivers/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer status: unmaintained
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ros-drivers/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer status: unmaintained
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ros-drivers/libuvc_ros.git (branch: master)
Package Summary
USB Video Class camera driver
- Maintainer status: unmaintained
- Maintainer: Ken Tossell <ken AT tossell DOT net>, ROS Orphaned Package Maintainers <ros-orphaned-packages AT googlegroups DOT com>
- Author:
- License: BSD
- Source: git https://github.com/ros-drivers/libuvc_ros.git (branch: master)
Overview
This package provides a ROS interface for digital cameras meeting the USB Video Class standard (UVC) using libuvc. Most webcams are UVC-compliant.
Limitations
Some controls are missing, though the most common ones (focus, exposure and others) are supported. There is no support for UVC extension units, which are sometimes used to implement behavior such as pan-tilt and zoom.
Features
Current features include:
- Dynamic reconfiguration and monitoring of the camera's control settings
Camera calibration (camera_info_manager)
Image pipeline integration (image_transport)
Usage
Permissions
Under Linux, the user that runs camera_node must have write permissions to the /dev/bus/usb/... device that corresponds to the camera. You may run the node as root:
$ sudo -E rosrun libuvc_camera camera_node vendor:=...
This command gives information on the webcam's vendor and product ID's:
lsusb -v
However, use of udev rules is recommended. In /etc/udev/rules.d/99-uvc.rules, to give every user camera access:
# UVC cameras SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="08cc", MODE="0666" # ^ Change the vendor and product IDs to match your camera.
To give only one user access:
# UVC cameras SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="08cc", OWNER="myuser" # ^ Change the owner and the vendor and product IDs to match your camera.
Alternatively, set GROUP="mygroup" to grant access for any user in that group.
The following rule works with any Logitech camera:
#UVC cameras SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", MODE="0666"
These settings will be applied the next time the camera is connected.
REMINDER: For Ubuntu 12.04 and above the udev rules syntax changed! Replace SYSFS{...} with ATTRS{...}
Or, run the following before starting the camera. It gets access to the USB device:
sudo chmod o+w /dev/bus/usb/001/024 <-- where 024 is port# from the error code
Running the driver
You may need to disable your operating system's builtin USB video or audio drivers. On Linux, the snd-usb-audio and uvcvideo modules conflict with libuvc. Try unloading them with sudo rmmod snd-usb-audio; sudo rmmod uvcvideo and consider blacklisting them -- e.g., add the lines blacklist uvcvideo and blacklist snd-usb-audio to an /etc/modprobe.d/uvc.conf file. (Applications that don't use libuvc will be unable to stream from the camera.)
Get started with the following launch file. If you need assistance with your webcam's supported resolutions and frame rates, try:
v4l2-ctl --list-formats-ext
<launch> <group ns="camera"> <node pkg="libuvc_camera" type="camera_node" name="mycam"> <!-- Parameters used to find the camera --> <param name="vendor" value="0x0"/> <param name="product" value="0x0"/> <param name="serial" value=""/> <!-- If the above parameters aren't unique, choose the first match: --> <param name="index" value="0"/> <!-- Image size and type --> <param name="width" value="640"/> <param name="height" value="480"/> <!-- choose whichever uncompressed format the camera supports: --> <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/mjpeg --> <param name="frame_rate" value="15"/> <param name="timestamp_method" value="start"/> <!-- start of frame --> <param name="camera_info_url" value="file:///tmp/cam.yaml"/> <param name="auto_exposure" value="3"/> <!-- use aperture_priority auto exposure --> <param name="auto_white_balance" value="false"/> </node> </group> </launch>
ROS API