Skip to content

fabianschilling/openmv_cam

Repository files navigation

OpenMV Cam ROS package

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.

Resolving dependencies

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.

Getting started

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

Camera calibration

The calib folder contains calibrations for standard OpenMV lenses:

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.

License

The OpenMV Cam ROS package is released under the MIT License.