Support pre-launch/maintenance checklists
Problem Summary
Vehicles generally have a variety of checks that should occur prior to launching, but are often ignored and not always known about.
Proposed Solution
Discussion raised here. In particular,
a “minimal” solution would
- automatically display a pre-launch checklist when a vehicle is connected
- have an option to “never show again” (for users who don’t want it)
and an “ideal” solution would additionally
- optionally allow physically checking off each item as it is completed
- with an option to disallow continuing until all boxes are checked off
- allow custom additions
- presumably read in from some kind of file
- possibly even stored on the autopilot itself
- automatically perform some extra checks using vision, e.g.
- tilt the camera and check that the video feed changes/moves
- turn up the lights and check that the video gets brighter on average soon afterwards
- allow lower frequency checks (including recommended maintenance scheduling) to be tracked and presented as relevant
- may need integration with BlueOS cloud or with the vehicle autopilot
- could be handled separately
Some additional valuable discussion in this forum thread.
In particular:
- Checklist points could be auto-determined based on the vehicle's connected components
- Device integration extensions may provide add-ons of additional checklist points, and extra lists should be shareable as add-ons more generally
- I'm thinking files like
list_name.<pre/post>.checklistcould easily allow several add-ons that get combined into the relevant checklists for before and after a dive/mission - These could be very simple text/markdown list files, or more advanced form descriptors like those GitHub uses for issue templates
- I'm thinking files like
- Device integration extensions may provide add-ons of additional checklist points, and extra lists should be shareable as add-ons more generally
- Fields may require more detailed input than just check-offs (e.g. operator signatures, confirmation pictures, etc)
- This may be extended rather than core functionality, although the base functionality should ideally at least be implemented with such extensions in mind
- Logging the checklist values would be valuable, especially for professional reporting
- Outputting some kind of official report (a PDF?) from the logged values would likely be desirable, especially together with #594, although that may be better handled as a separate add-on
- Priority cloud upload support would be valuable, especially as an initial indicator of dive/mission progress before the logs/video have been uploaded/shared
The base functionality of this is now largely possible using a Custom Widget Base and some checkbox Input Widgets, and a couple of button widgets to submit/clear the values.
If we could configure a data-lake variable as a prerequisite for arming then we could set that variable when the checklist gets submitted, and clear it when the checklist gets cleared (and possibly when disarming?)