| ▼Tethys/LRAUV Software Design | The Tethys/LRAUV software design summaries include: |
| State-Configured Layered Control | 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 |
| Embedded Scripting Language | Under Mission Scripting Requirements, there are several requirments that have pushed us towards adopting an embedded scripting language including: |
| Universal Data Values and Units | As described in requirement Use "Universal" Data Values, the system will be capable of handling data values in an abstract, "universal" manner, providing for example, the best available value for pressure when "pressure" is requested |
| Data Slate | As described in requirement Channel communications between software units through a single “slate”, all communication between software units will be performed through a world-readable "slate" |
| Modularity | Goal is to meet the requirement to Limit the interconnectedness of code to minimize full-system recompiles. |
| Mission Scripting | Tethys/LRAUV top-level mission syntax |
| Sequential Nested threads | Post PDR, various multi-treading approaches were tested |
| Binary Data Storage and Logging | Logging is primarily done behind the scenes, by using DataReader and DataWriter objects within a component |
| Simulation | The approach we have taken for this vehicle is to provide a core Simulator class that can be used with a simulator interface class to provide simulation in a variety of situations: |
| ▼Tethys/LRAUV Development Plan | |
| Modular Architecture | |
| Simulation | |
| Vehicle control | |
| Dependency-based execution within a computation cycle | |
| Ability to fall-back on abstract alternative to a faulty function input | |
| Missions including sub-sequences, triggers, and re-entrant states | |
| Hardware control | |
| Data transmission and command/control via limited/intermittent/noisy communications channels. | |
| Actuator failure recovery | |
| Assisted script generation | |
| Ship/Shore Side Tools | |
| Hardening | |
| ▼Tethys/LRAUV Requirements | The Tethys/LRAUV software requirements are divided in the following sections: |
| Architectural Requirements | |
| Control and Timing Requirements | |
| Mission Scripting Requirements | |
| Built in Test (BIT) Requirements | |
| Data Storage Requirements | |
| Data Decimation for Transfer Requirements | A key component of the vehicle communications scheme is the ability to transmit subsets of mission data back to shore, either for mid-mission quality control or to provide input for mission changes |
| System Log Requirements | |
| Data Post-Processing Tool Requirements | |
| Communications Requirements | |
| Simulation Requirements | In the context of this software, "simulation" refers to running a subset of the vehicle software in an environment where vehicle elements outside the purview of the software (actuators, sensors, the physical world) are replaced by artificial substitutes |
| Todo List | |