Show EOL distros:
Package Summary
The usb_cam_hardware package
- Maintainer status: developed
- Maintainer: Yoshito Okada <okada AT rm.is.tohoku.ac DOT jp>
- Author:
- License: MIT
- Source: git https://github.com/yoshito-n-students/usb_cam_hardware.git (branch: kinetic-devel)
Package Summary
The usb_cam_hardware package
- Maintainer status: developed
- Maintainer: Yoshito Okada <okada AT rm.is.tohoku.ac DOT jp>
- Author:
- License: MIT
- Source: git https://github.com/yoshito-n-students/usb_cam_hardware.git (branch: melodic-devel)
Package Summary
The usb_cam_hardware package
- Maintainer status: maintained
- Maintainer: Yoshito Okada <okada AT rm.is.tohoku.ac DOT jp>
- Author:
- License: MIT
- Source: git https://github.com/yoshito-n-students/usb_cam_hardware.git (branch: noetic-devel)
Contents
- About
- Nodelets
-
Controllers
- usb_cam_controllers/CameraInfoController
- usb_cam_controllers/PacketController
- usb_cam_controllers/CompressedPacketController
- usb_cam_controllers/MjpegController
- usb_cam_controllers/H264Controller
- usb_cam_controllers/RGB24Controller
- usb_cam_controllers/UYVYController
- usb_cam_controllers/YUYVController
- Examples
- Related ROS packages
About
This package contains an USB camera driver which is almost compatible to usb_cam but based on ros_control. Major enhancements over usb_cam are;
- impremented as a nodelet
- supports h264 pixel format (1/10 network usage compared with mjpeg)
- publishes raw packets from the camera (1/10 cpu usage and less latency compared with decoding mjpeg packets in the node)
- accepts 3rd party controllers
Slides from ROS Japan UG #28 (in Japanese)
Nodelets
usb_cam_hardware/USBCamHardware
an USB camera driver based on ros_controlPublished Topics
<controller-defined> (<controller-defined>)- see the controller section below
Parameters
~video_device (string, default: "/dev/video0")- path to the camera device
- image width in pixels
- image height in pixels
- pixel format of the camera device. supported formats are "grey", "h264", "mjpeg", "rgb24", "uyvy", and "yuyv".
- desired framerate per second
Controllers
All topics and parameters are defined in each controller's namespace
usb_cam_controllers/CameraInfoController
publishes camera information syncronized to packets from the cameraPublished Topics
camera_info (sensor_msgs/CameraInfo)- camera info
Parameters
camera_frame_id (string, default: "head_camera")- camera frame id
- camera info URI
- camera name
usb_cam_controllers/PacketController
publishes raw packets from the camera as imagesPublished Topics
image (sensor_msgs/Image)- images in raw image format
Parameters
image_width (int, default: 640)- value of Image::width
- value of Image::height
- value of Image::encoding
- number of packets skipped after publishment. useful to throttle network usage.
usb_cam_controllers/CompressedPacketController
publishes raw packets from the camera as compressed imagesPublished Topics
packet (sensor_msgs/CompressedImage)- compressed images
Parameters
format (string, default: "jpeg")- value of CompressedImage::format
- number of packets skipped after publishment. useful to throttle network usage.
usb_cam_controllers/MjpegController
decodes mjpeg-compressed packets and publishes decoded imagesPublished Topics
image (sensor_msgs/Image)- decoded images
usb_cam_controllers/H264Controller
decodes h264-compressed packets and publishes decoded imagesPublished Topics
image (sensor_msgs/Image)- decoded images
usb_cam_controllers/RGB24Controller
converts rgb-formatted packets to bgr images and publishes themPublished Topics
image (sensor_msgs/Image)- bgr-formatted images
Parameters
image_width (int, default: 640)- value of Image::width
- value of Image::height
usb_cam_controllers/UYVYController
converts uyvy-formatted packets to bgr images and publishes themPublished Topics
image (sensor_msgs/Image)- bgr-formated images
Parameters
image_width (int, default: 640)- value of Image::width
- value of Image::height
usb_cam_controllers/YUYVController
converts yuyv-formatted packets to bgr images and publishes themPublished Topics
image (sensor_msgs/Image)- bgr-formatted images
Parameters
image_width (int, default: 640)- value of Image::width
- value of Image::height
Examples
See the github repository.
Related ROS packages
for subscriber-side decoding of h264 packets published by the CompressedPacketController