## repository: git://ram.umd.edu/umd-ros-pkg.git <> <> == Deprecation == '''This package is no longer actively maintained.''' Please use another driver, such as [[libuvc_camera|libuvc_camera]] ([[https://github.com/ktossell/libuvc_ros|github]]). ----- == Overview == This package provides drivers for USB Video Class (UVC) cameras. This standard covers almost all consumer webcams. The source is on github https://github.com/ktossell/camera_umd It works with the ROS [[image_pipeline]] like other streaming [[camera_drivers|camera drivers]]. Its [[#Stereo|stereo node]] supports binocular streams, publishing synchronized image pairs from two cameras. The drivers are implemented as nodes and as [[nodelet|nodelets]]. <> == ROS API == {{{ #!clearsilver CS/NodeAPI node.0 { name=camera_node / CameraNodelet desc=UVC/USB camera driver. pub{ 0.name=image_raw 0.type=sensor_msgs/Image 0.desc=A stream of images from the camera. 1.name=camera_info 1.type=sensor_msgs/CameraInfo 1.desc=Camera intrinsics for images published on `camera/image_raw` with matching time stamps and frame IDs. If !CameraInfo calibration is not available or is incompatible with the current `video_mode`, uncalibrated data will be provided instead. } srv{ 1.name=set_camera_info 1.type=sensor_msgs/SetCameraInfo 1.desc=Set the camera's calibration. } param{ 0.name= ~camera_info_url 0.default= 0.type= string 0.desc= URL to camera's calibration file. See [[camera_info_manager]]. 2.name= ~device 2.default= /dev/video0 2.type= string 2.desc= Path to camera's device file 4.name= ~fps 4.default= 10 4.type= int 4.desc= Frames per second to request from camera 8.name= ~width 8.default= 640 8.type= int 8.desc= Width of image to request from camera 9.name= ~height 9.default= 480 9.type= int 9.desc= Height of image to request from camera 10.name= ~frame_id 10.default= frame 10.type= string 10.desc= TF frame representing position, orientation of camera } }}} <> {{{ #!clearsilver CS/NodeAPI node.0 { name=stereo_node / StereoNodelet desc=UVC/USB dual-camera driver. pub{ 0.name=left/image_raw 0.type=sensor_msgs/Image 0.desc=A stream of images from the left camera. 1.name=right/image_raw 1.type=sensor_msgs/Image 1.desc=A stream of images from the right camera. 2.name=left/camera_info 2.type=sensor_msgs/CameraInfo 2.desc=Camera intrinsics for images published on `left/image_raw` with matching time stamps and frame IDs. If !CameraInfo calibration is not available or is incompatible with the current `video_mode`, uncalibrated data will be provided instead. 3.name=right/camera_info 3.type=sensor_msgs/CameraInfo 3.desc=Camera intrinsics for images published on `right/image_raw` with matching time stamps and frame IDs. } srv{ 1.name=left/set_camera_info 1.type=sensor_msgs/SetCameraInfo 1.desc=Set the left camera's calibration. 2.name=right/set_camera_info 2.type=sensor_msgs/SetCameraInfo 2.desc=Set the right camera's calibration. } param{ 0.name= ~left/camera_info_url 0.default= 0.type= string 0.desc= URL to left camera's calibration file. See [[camera_info_manager]]. 1.name= ~right/camera_info_url 1.default= 1.type= string 1.desc= URL to right camera's calibration file. 2.name= ~left/device 2.default= /dev/video0 2.type= string 2.desc= Path to left camera's device file 3.name= ~right/device 3.default= /dev/video1 3.type= string 3.desc= Path to right camera's device file 4.name= ~fps 4.default= 10 4.type= int 4.desc= Frames per second to request from camera 5.name= ~skip_frames 5.default= 0 5.type= int 5.desc= Number of frames to skip between each published frame 6.name= ~left/rotate 6.default= false 6.type= bool 6.desc= Left image will be rotated 180 degrees if `true`. 7.name= ~right/rotate 7.default= false 7.type= bool 7.desc= Right image will be rotated 180 degrees if `true`. 8.name= ~width 8.default= 640 8.type= int 8.desc= Width of image to request from camera 9.name= ~height 9.default= 480 9.type= int 9.desc= Height of image to request from camera 10.name= ~frame_id 10.default= frame 10.type= string 10.desc= TF frame representing position, orientation of left camera } }}} == To Do == === Controls === - Add support for runtime control of various camera settings.