Hello,
I am new to driver development.
So, what are the basic requirements to develop ROS camera driver?
Thank you.
Originally posted by SumitP on ROS Answers with karma: 1 on 2018-02-20
Post score: 0
Hello,
I am new to driver development.
So, what are the basic requirements to develop ROS camera driver?
Thank you.
Originally posted by SumitP on ROS Answers with karma: 1 on 2018-02-20
Post score: 0
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/pointgrey_camera_driver
https://github.com/ros-drivers/axis_camera
(Is there a generic network or security camera driver?)
Originally posted by lucasw with karma: 8729 on 2018-02-20
This answer was ACCEPTED on the original site
Post score: 4
Comment by SumitP on 2018-02-20:
@lucasw thank you for your information. For Point grey camera Blackfly S (Spinnaker SDK).
Comment by lucasw on 2018-02-20:
Is that not supported by the existing pointgrey drivers? If it is only a small set of changes on the existing drivers you should try to fork and make required changes then pull request the changes so that others can use it.
Comment by SumitP on 2018-02-20:
No. Existing Point Grey camera driver is using Flycapture 2 SDK but I need to use Spinnaker SDK since Blackfly S won't support Flycapture 2.
Comment by lucasw on 2018-02-20:
Doesn't look like much has happened: https://github.com/ros-drivers/pointgrey_camera_driver/issues/118
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?