Table 4.
State | Description | Entered if |
---|---|---|
Start-up | Initialize peripherals and communications, check for errors, report status and enter Idle or Error state based on status | Power on |
Idle | Instrument is ready to accept commands, while continuously monitoring position and system status | Either: Successful start-up Disarming profiler Reload ballast/arm complete |
Reload ballast/arm | Reload actuator by melting used PCL material for easy removal. This is done by heating the heating element to a predefined temperature using a PID controller. | Received reload ballast/arm command and system state is idle |
Armed | Ready the instrument for drop and flight by UAV: Read CTD sensors Update position based on GPS input Broadcast instrument status by LoRa Check for incoming commands Enter Dive state if dropped from UAV |
State is idle and received arm command |
Dive | Measures CTD downcast profile and continuously monitors if the dive should be aborted by setting Release ballast state if: Depth reached Leak detected Max dive time elapsed |
Detected drop from UAV in arm state |
Release ballast | Release ballast to start ascent by heating the heating element. Repeat if depth is not decreasing. Set ascent state when complete | Dive completed/aborted |
Ascent | Measures CTD upcast profile and check if the instrument has reached the surface: Set state Release arm if surface reached Set state Low power surface if max ascent time elapsed |
Decreasing depth detected after releasing ballast |
Release arm | Release arms to enable pickup by heating the heating element. Sets state Surface when complete | Surface detected after ascent |
Low power surface | Wait for reaching surface with non-essential systems shut down for low power consumption. Set state Release arm if surface reached | Surface not detected after ascent |
Surface | Update position based on GPS input and broadcast it using LoRa radio along with system status | Release arm complete |
Error | Broadcast error message while monitoring system status | Error detected |