AquaMenu is the system through which we can control the robot without a tether. AquaMenu displays a list of actions or submenus mapped to numbers to the rear OLED display. A sample menu is below.
- Calib (runs calibration service)
- Fwd (Robot swims forward for some duration)
- Follw (Runs diver following code)
- Bagging (Sub-menu. When selected, gives options for duration of bagging)
Really, a menu item can be attatched to any arbitrary piece of code. It's very easy to attach ROS services and launch files to menu items, as well as submenus, but you can put any runable object as the target of the menu item, so you can easily use lambdas or functions to run anything.
AquaMenu has four status indicators on the upper right hand side of the OLED. Three out of four of these in the base AquaMenu are unused. Only the top indicator for calibration is used. However, our version of AquaMenu has been modified to repurpouse the other three indicators for camera health. They could, however, be used for anything. The indicators are as follows:
- CB, callibration. Red when uncalibrated, Green when calibrated.
- RC, right camera. Green when number of dropped frames is less than 100, red when it is greater.
- LC, left camera. Green when number of dropped frames is less than 100, red when it is greater.
- BC, back camera. Green when number of dropped frames is less than 100, red when it is greater.
At some point in the future, these indicators will be updated to display Red when off, Yellow when dropping frames, and Green when in good health. The frame drop detection will also be changed from total dropped to amount dropped in recent time.
When standard menus have been developed for field trials, etc, they will be described here in full.