Home        Store        Learn        Blog

Python script - depth and heading output for OV-REC on Linux

Hi BR team,

I am trying to use OV-REC software from Etienne of DeltaROV for a demanding operation requiring overlay + ROV position displayed on client’s dwg drawing (from EIVA NaviPac) on the ROV video.

I run OV-REC + NaviPac on one gaming computer under windows and QGC on another one which is a GETAC (to avoid too much CPU consumption and lag risk on navigation because of screen record).

My GETAC runs under linux because I have too much video lag under Windows 8 on QGC + @alexis developped a specific python script for Ubuntu while working for us to open/close/save all the required files automatically and output NMEA GPS position for external software.

I downloaded the python script “BR2data” you developped in order to get depth and heading data for OV-REC. It worked fine when I tried it on the gaming Windows 10 computer running stand-alone for QGC and OV-REC.
I wondered if you developped the same one for Linux so that I can run it on my GETAC computer now that I have a LAN. Indeed, the companion communicates with IP 192.168.2.1 which is the GETAC while the other one is declared as 192.168.2.254 so the script does not receive data anymore.

I will otherwise switch QGC to the gaming computer as well.

One last question: the use of the BR2data script to output depth and heading is compatible with the use of waterlinked in parrallel which also get depth info out of the companion? Can I pass by a specific UDP created by the waterlinked script otherwise to get this data as overlay (at least depth)?

Thank you for your help.

This is a 3rd party software is developed and supported by @etienne, not Blue Robotics. I recommend you get in touch on his website.

I have too much video lag under Windows 8 on QGC

Windows 8 is not supported, you might want to try Windows 10.

Hi Jacob,

Thank you for pushing my details on the forum.

Steven is looking for a python script to get the depth and heading data out of the ROV from a Linux computer.

Since this script is coming from you guys I asked him to get in contact with you to see how to install it on a Linux machine because I have no idea how to do this.

Cheers,
E.

Hi,

I have installed windows 10 on my QGC computer, will be easier. Thank you

I don’t know what script is being referred to here. There is documentation on how to get data from the rov on ardusub.com.

The one you made to broadcast the depth and heading to a secondary UDP port.

Hi all,

I finally found the famous script on a past topic called “heading and depth data to surface”, thank you.

I will try to modify it in order to output on a different IP iand on 2 UDP ports instead of one 25102 and 25103 for instance (because I need it for two different client/software).

Steven

Some time ago I was trying to find a similar solution to overlay ROV data on the video. I came to OBS Studio, where I can use python scripts to decode data to screen.
But the solution to get the data from ROV was a little bit different from the heading and depth data to surface script you mentioned (which worked as well).
I routed the Pixhawk serial data to a UDP port in the RPI companion, and then used pymavlink library to get all the data I needed. Then I can get Pictures like this:

2 Likes

Nice job @VMartini .

I was wondering which function did you use in OBS STUDIO to input depth and heading data from the UDP port …

Thank you .
Davide

Hi David!

Basically, you need to route the Pixhawk serial data to UDP in the companion, and use Pymavlink library to decode mavlink data. Example below:

OBS Studio has a support for Python scripting, through obspython module, check out the documentation : https://obsproject.com/docs/scripting.html

And also the video must be streamed to a different port: Get video in Videolan and Get video in Videolan

Hope that helps!

— VMartini

Hi Vagner and David,

Just a reminder, our last companion version 0.0.20 has the new mavlink REST API, mavlink libraries and udp connections are not necessary anymore, a single http GET request will work.
Check: https://www.ardusub.com/operators-manual/companion-web.html

@patrickelectric, that’s great! I haven’t had the opportunity to check the last companion version yet, but for sure it’s a wonderful improvement. It will make things a lot easier.

I also worked on an overlay for OBS studio some time ago, but this lost traction.

Hi Steven,

I integrated Rest API in the latest version of OV-REC.

You can download it here: http://www.deltarov.com/new/download/

You can see the latest update info here: https://forum.deltarov.com/t/oceanvault-recorder-version-history/51/7

Cheers,
E.

1 Like