ra ra Q
Fig. 6. Basic on-board software structure.
The basic on-board software follows the structured depicted in Fig. 6. The interface with the hardware is managed by dedicated processes that provide an abstraction layer. Processes that deal with navigation sensors and systems transmit their data to the navigation module. This one implements all necessary algorithms to estimate the AUV state in real time. It also sends such estimate to the control module.
The control module is responsible for the execution of the mission. In each control cycle it verifies the completion of the current maneuver and schedules the next one whenever the current ending conditions are met. This module also executes the procedures required by the different control loops.
A supervision module continuously monitors the behaviour of the vehicle and aborts the autonomous operation if safety margins are exceeded or unexpected events occur. This module can also be used to configure the whole software of the vehicle. For that purpose, it establishes a communication link with a shore control station whenever the vehicle is at the surface.
A black box data logging system registers all information related to the vehicle operation on the flash disk. The information includes raw data from the navigation sensors and systems, health monitoring data, processed navigation data and control data. This black box system is also prepared to register payload data.
Payload sensors and systems are typically controlled by additional dedicated modules. In general, these modules interact with the supervision module, for configuration and communication with the control station, and also with the data logger.
Additional modules implementing sensor based control strategies or other advanced features are easily integrated with the basic software structure. Besides programming and installing the new module, it is only necessary to redefine data paths, assuring that required sensor data is also sent to the new module, and that the new module sends its output data to the control module. The operation of such new module is then configured in the mission plan.
Was this article helpful?