Osd/hud & gui



Hi folks,

Any ideas, thoughts, progress regarding OSD (On Screen Display), HUD (Heads Up Display) & the GUI (Graphical User Interface)

I've been looking into the various other ROV DIY/DIT/homebuilt projects along with those relating to RC models. There appears to be some very good systems out there.

For ‘Professional’ video of the ROV’s excursion, clients don’t generally need to know the status of the ROV’s systems, only the ROV pilot, therefore, any video capture from the ROV should only really need the ROV’s orientation underwater.

To kick off the discussion, here's what I think (at the moment) would be needed on the OSD

  • Compass Heading
  • Depth
  • Temp
  • Pitch
  • Roll
  • Date
  • Time
  • ROV run time

The ROV’s diagnostic data is mainly for the ROV pilot, these could be displayed on the GUI.

As a point of note, on our systems, we have a small 3D model representation of the ROV on the GUI that rotates and mimics the actual ROV in pitch, roll & heading (ROV facing away from the pilot indicates North).

GUI elements could consist of

  • Voltage
  • Internal temp
  • Moisture/water ingress alarm
  • Various on board Electronic diagnostic readouts

Any other thoughts?





I'M TOTALLY WITH YOU! Yeah, I think you've called out most of the telemetry that would be good to have- perhaps one could make custom selections of what would be shown (so that the screen fits the needs of the pilot). Also, I think having a built in function tool that can do math or other functions to various telemetry would be good, for instance if you knew the depth of a lake floor was 28m, you could write "Display 'altatude' == 28m - [DEPTH]" where [DEPTH] pulls the value of the current depth which is then subtracted from 28 to show the altitude the ROV is above the floor. You could also say something like " 'ALARM1' if [BAT_VOLTAGE] < 9.2 " or "Display [TEMP] * 1.8 + 32". ... You catch my drift.

Anyway, I would LOVE if someone made a HUD type display for OpenROV Cockpit. Please let me know if you come up with anything else relating to this!

And don't even get me started on how I think Computer Vision could come into play here-- horizon tracking, optical flow using suspended particles, feature recognition-based navigation... oh man! One step in front of the other, I suppose, but I think that as an opensource project we can do all of this

Here's an image for inspiration:


Hi Eric,

Thanks for the reply, and the suggestions are great and full of future ideas.

Customized telemetry data would certainly be useful, especially as there is a multinational & multidisciplinary team involved in OpenROV.

It's worth noting that the primary reason for an ROV is 'Observation' and therefor the video should be as uncluttered as possible, keeping to the basic telemetry to a minimum to enable a pilot to control, observe and be aware of the ROV's orientation and surroundings, it can be all too much for clients observing video playback if there is too much info displayed.

It should be possible via the GUI to have 'Plugins' to collate and interpret data, maybe through 'scripts' and have it displayed in a panel to the side, I can certainly see the future where OpenROV will evolve into a mature system and will need to be operated on split/several screens to show all the data, imagine piloting an OpenROV with Ultra Short Base Line (USBL) positioning and tracking system while fitted with sidescan sonar and seabed 3D mapping modules!!!!!!!

With regards to distance from seabed, would a simple transducer from a fish finder not manage this, after all, seabed undulates just as much as the land does.

To encourage as many schools, colleges, universities, organisations and individuals to OpenROV, the base system should be kept as simple to build, maintain & operate as possible. Plugins and modules would be the way forward for customization.




Hi James

Here is something to add to your list.

Auto Depth/altitude. this would be very desirable when using in open sea or for videoing without disturbing silt/mud, or using tools.

Tether turn counter. I feel the present design is slightly flawed if used much. i.e you could put alot of twists and kinks in the tether which will strain both the cable and the potted connection at the back of the ROV.

with a turn counter you can periodically counter turn to compensate.

I think the connection needs a redesign anyway, get rid of the potted cable and go for a dedicated bulkhead connector. that way the cable can be changed out easily anyway.

Also consider oil filled electronics modules.

HUD? IMHO there seems to be too much emphasis in putting up an aircraft style OSD.

Your right to mention it needs to be uncluttered. I would definetley put it either offscreen or at least to side of frame.

The bare minimum needs to be Depth, Heading, Time, Runtime. and I would be inclined to have these top of screen in a single line. It would be desirable to be able to move them at press of a button, i.e switch depth to side off frame etc.

That way you can travel and video and declutter screen instantly but keep basic info.


Food for thought...How about a browser based UI? Using HTML5, CSS3, and Javascript a UI could be designed to be customizable, scalable and platform independent. HTML5 supports sockets for real-time data and <canvas> provides an immediate mode for rendering graphical information. Even supports streaming video/audio.