USB camera driver based on ros_control
Slides from ROS Japan UG #28 (in Japanese)
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
depends on controllers
~video_device (string, default: "/dev/video0")
~image_width (int, default: 640)
~image_height (int, default: 480)
~pixel_format (string, default: "mjpeg")
- Possible values are mjpeg, h264, rgb24, yuyv, uyvy
~framerate (int, default: 30)
- All topics and parameters are defined in each controller's namespace
- See example launch files to find how to use controllers
publishes camera information syncronized to packets from the camera
camera_info (sensor_msgs/CameraInfo)
camera_frame_id (string, default: "head_camera")
camera_info_url (string, default: "")
camera_name (string, default: "head_camera")
publishes raw packets from the camera as images
image (sensor_msgs/Image)
image_width (int, default: 640)
image_height (int, default: 480)
encoding (string, default: "bgr8")
- value of Image::encoding
skip (int, default: 0)
- number of packets skipped after publishment
- useful to throttle network usage
publishes raw packets from the camera as compressed images
packet (sensor_msgs/CompressedImage)
format (string, default: "jpeg")
- value of CompressedImage::format
skip (int, default: 0)
- number of packets skipped after publishment
- useful to throttle network usage
decodes mjpeg-compressed packets and publishes decoded images
image (sensor_msgs/Image)
decodes h264-compressed packets and publishes decoded images
image (sensor_msgs/Image)
converts rgb-formatted packets to bgr images and publishes them
image (sensor_msgs/Image)
image_width (int, default: 640)
image_height (int, default: 480)
converts uyvy-formatted packets to bgr images and publishes them
image (sensor_msgs/Image)
image_width (int, default: 640)
image_height (int, default: 480)
converts yuyv-formatted packets to bgr images and publishes them
image (sensor_msgs/Image)
image_width (int, default: 640)
image_height (int, default: 480)
- for subscriber-side decoding of h264 packets published by the CompressedPacketController