This package provides an interface between the OpenMV Cam and ROS.
Images are acquired by the camera and sent via USB to the ROS node which relays them as ROS image messages.
To resolve the dependencies run:
rosdep install --from-paths /path/to/your/catkin_ws/src --ignore-src
Note:
For ROS Noetic and later, the camera_info_manager_py
package is not available via apt-get
and has to be built from source.
Connect the camera and copy the main.py file, either using the OpenMV IDE or directly using the mounted storage device. Remember to reset the camera via the IDE or eject the storage device to prevent data loss.
Launch the node as follows:
roslaunch openmv_cam openmv_cam.launch
By default, the node uses the following parameters:
roslaunch openmv_cam openmv_cam.launch \
device:=/dev/ttyACM0 \
image:=image_raw \
camera:=camera_info \
calibration:=$(rospack find openmv_cam)/calib/standard_lens.yaml
The calib folder contains calibrations for standard OpenMV lenses:
- Standard lens (included with the camera)
- Ultra-wide angle lens
The calibrations were obtained using the ROS camera_calibration package.
Note: In order to obtain accurate calibration results for wide-angle cameras, consider using the OpenCV fisheye calibration model or the equidistant model from the Kalibr visual-inertial calibration toolbox. Both codebases rely on the Kannala-Brandt calibration method.
The OpenMV Cam ROS package is released under the MIT License.