ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The bare minimum is to get images from your camera and then publish them as sensor_msgs/Image.
OpenCV is good as a data intermediate format, if you can get images from your camera and display them with cv::imshow or save them to disk with imwrite and they look good then converting them to ros with cv_bridge should be painless.
The next thing to do is use image_transport CameraPublisher and use a CameraInfoManager along with it and you will be able to get compressed image outputs and synchronized camera_info messages along with the standard image.
For performance it is good to have the driver be a nodelet.
Dynamic reconfigure support is nice for adjusting parameters that should be adjustable live- exposure, frame rate, and anything else the camera supports.
Beyond that look at examples of existing cameras:
https://github.com/ros-drivers/usb_cam
https://github.com/magazino/pylon_camera
https://github.com/ros-drivers/pointgrey_camera_driver
https://github.com/ros-drivers/axis_camera
(Is there a generic network or security camera driver?)
2 | No.2 Revision |
The bare minimum is to get images from your camera and then publish them as sensor_msgs/Image.
OpenCV is good as a data intermediate format, if you can get images from your camera and display them with cv::imshow or save them to disk with imwrite and they look good then converting them to ros with cv_bridge should be painless.
The next thing to do is use image_transport CameraPublisher and use a CameraInfoManager along with it and you will be able to get compressed image outputs and synchronized camera_info messages along with the standard image.
For performance it is good to have the driver be a nodelet.
Dynamic reconfigure support is nice for adjusting changing parameters that should be adjustable live- exposure, frame rate, and anything else the camera supports.
Beyond that look at examples of existing cameras:
https://github.com/ros-drivers/usb_cam
https://github.com/magazino/pylon_camera
https://github.com/ros-drivers/pointgrey_camera_driver
https://github.com/ros-drivers/axis_camera
(Is there a generic network or security camera driver?)