So how do you know when something is going wrong with your robot?
Step 1: You need instrumentation.
We have lots of sensors and instrumentation in OpenROV, but the raw data is just that, data. It needs to be interpreted to create information we can use.
Step 2: Interpet the data
After hundreds of hours of flying OpenROV, we have gotten a sense for when something is wrong with the ROV. But even though we know what to look for in the data, manually scanning a rapidly changing telemetry stream is hard.
Step 3: Have the robot do what robots do well, monitor the data.
In a tele-robotic system, it is asking a lot for a pilot to monitor a rapidly changing telemetry stream for data anomalies while they are busy piloting the robot. This is a task better left to the robot.
For OpenROV I have created the divealert plugin. This plugin extends the OpenROV cockpit with a system that monitors the incoming telemetry stream from the ROV and looks for data anomalies based on our experience in driving the ROV.
Some key features of the alerts:
- Different severity alerts look different
- Audio indicator of the alert for when you are not looking at the screen
- Alerts can be easily dismissed
- Alerts stack, they don't block one another
- Dismissed alerts sleep for a set time, but if the root problem still persists they will fire again.
- Can be easily extended to look for new patterns
The home page to discuss the plugin can be found here: http://openrov.com/forum/topics/plugin-divealerts