|
LRAUV
revA
|
This section illustrates how the Tethys/LRAUV State-Configured Layered Control stack behaves during a simple mission that navigates around 4 waypoints 2 times, and occasionally surfaces for GPS updates and satellite communications.
The actual mission script that creates the example stack is here: Example mission that navigates around 4 waypoints 2 times, and occasionally surfaces for GPS updates and satellite communications:
In the graphics that follow, active behaviors and commands are shown in blue * inactive ones are shown in gray. Likewise, inactive "stacks", or collections of behaviors and commands are shown in grey, while active ones appear white.
Highest-level behaviors are active (they are always active, BTW), along with lower-level behaviors to yo-yo beneath the surface towards a waypoint.
The middle set of commands associated with surfacing are not active, as they are controlled by a "When" clause that only becomes active after a period of time has elapsed.
The ReadSensor behaviors for Temperature and Salinity are not active, as their "While" clause specifies reads only below the surface.
Since the vehicle is underwater, the ReadSensor behaviors for Temperature and Salinity are now active.
The command to reach Waypoint #1 is satisfied, so the next command (Waypoint #2) becomes active.
Vehicle heads towards surface, but all other (lower priority) behaviors remain in effect (although the lower-level DepthEnvelope is subsumed).
After the GoToSurface command has finished, the next command block is Preemptive * therefore, all lower-priority behaviors and commands are temporarily disabled, and will remain disabled until the command block is completed (by getting a GPS fix and completing satellite communications).
After the preemptive command block finishes, the lower-priority commands and behaviors can resume, and the larger timer-triggered block of commands for surfacing and communicating will become disabled (until enough time passes to trigger them again).