Communication between OpenMV and ROS

Hi there!

I’m fairly new to using the OpenMV cam (just starting), and I’d like to use it as part of a project which I will be working on.

In my desired setup for the project, I have an OpenMV cam and another MCU (still not quite certain which one), which will be running ROS.

My question is, is there a way to achieve communication between the OpenMV cam and ROS? Has it been done before, and if so, is there a guide/tutorial on how to do it?

I am not trying to actually run ROS on the cam itself. All computation will be done on the cam (as per usual), and the results will be forwarded to the other unit running ROS.

Hi, you’d need to write a ROS node that receives serial data from a serial port and publishes the messages in ROS. In python code this isn’t really a lot of lines.

Keep in mind the OpenMV Cam isn’t a fixed function sensor where there’s an obvious way to do this. You can design whatever application you want on the camera that sends serial data to a ROS node.

Hi, you may be interested in my GitHub - fabianschilling/openmv_cam: OpenMV Cam ROS package ROS package. I happen to have the exact same use case so I wrote a very minimal package that provides a OpenMV → ROS interface.

Would you like this to be distributed with OpenMV IDE? It will get more usage then.

Hi there,

Glad to find that it doesn’t look like i have to start from square 0.

I’m interested in publishing images messages into ROS collected from openMV with a flir lepton 3.5 camera, however it looks like the camera calibration part relies on RGB vision. I haven’t looked into it deeper than that but thought i would ask for pointer(s) on implementing with the lepton.

@kwagyeman, it would strike me that it should be included in the IDE (samples). it took me a bit to discover that any ROS integration had been attempted. one of the biggest values of open MV is the IDE and how comprehensive the samples are (thanks!).

It’s hard to put ROS integration in the examples because it’s really just host driver software. The code on the camera is trivial (which is what the IDE will run). However, if you Google OpenMV and ROS there are a few projects to choose to use from.