How to develop ROS camera driver?
Hello,
I am new to driver development.
So, what are the basic requirements to develop ROS camera driver?
Thank you.
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
Hello,
I am new to driver development.
So, what are the basic requirements to develop ROS camera driver?
Thank you.
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 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/pointg...
https://github.com/ros-drivers/axis_c...
(Is there a generic network or security camera driver?)
Doesn't look like much has happened: https://github.com/ros-drivers/pointg...
camera_aravis looks like it has been forked like crazy which makes it hard to use, but maybe a generic genicam interface work with the Blackfly S?
Asked: 2018-02-20 09:01:51 -0600
Seen: 1,300 times
Last updated: Feb 20 '18
How can I speed up image rectification?
What driver should I use for my USB camera?
usb_cam: VIDIOC_S_FMT error 22
Is it possible to have memory mapped messages in ROS?
camera_calibration for multiple camera setup
camera1394 timestamps for Point Grey USB cameras
rosdep: trouble installing packages in Diamondback (prosilica_camera)