LRAUV  revA
Todo List
Page Architectural Requirements
Automatically generate failure effects analyses in the event of failures, and use these analyses to avoid unachievable mission states.
Page Built in Test (BIT) Requirements
Implement Implement Estimate vehicle degradation, based on performance history and use these estimates in vehicle control and energy estimates.
Page Communications Requirements
Implement Implement Implement Implement Implement Implement Implement Implement Implement Allow user to send a diffs for a new mission to vehicle via communications
Page Control and Timing Requirements

Need to do profile testing to verify this requirement has been met

Modify ReadSensor to allow asynchronous reads

Modify ReadSensor to allow variable loop periods.

Need to test this.

Implement 1 millisecond optional resolution to save log space

Page Data Decimation for Transfer Requirements
Implement Implement Implement Implement Implement Implement Implement Allow selection based on other variables
Page Data Post-Processing Tool Requirements
Provide more robust Data Post-Processing tool for meeting requirement: Provide more robust Data Post-Processing tool for meeting requirement: Provide Data Post-Processing tool for meeting requirement: Provide Data Post-Processing tool for meeting requirement: Deal with data files both as a continuous time stream and as a sequence of discrete missions
Page Data Storage Requirements

Test ability to recover from corrupted files.

Implement new file every hour.

Log mission transitions as EventEntry instances.

Implement Scaling values for storing floating values as integers must be available.

Class DepthRateCalculator
augment with 3 and 4-point backwards difference formulas: $ dz/dt \approx \frac{3z(t)-4z(t-\delta t)+z(t-2\delta t)}{2\delta t} $ and $ dz/dt \approx \frac{11z(t)-18z(t-\delta t)+9z(t-2\delta t)-2z(t-3\delta t)}{6\delta t} $
Class Execute
add timing options, etc. to meet requirements: Allow science data acquisition to occur asynchronous to core vehicle control and Allow science data acquisition to occur at a variable loop period
Class InternalSim
The first X seconds of each dive are used to tune the settings of mass zero position and buoyancy zero gain.
Class KeepStation
add in Catherine's code to use other variables to specify the max/min limits.
Page Mission Scripting Requirements
Implement fix and test Scripting
Class ModuleLoader
Eventually, will handle module unloading and reloading.
Class NavigationSim
The first X seconds of each dive are used to tune the settings of mass zero position and buoyancy zero gain.
Class PitchRateCalculator
augment with 3 and 4-point backwards difference formulas: $ d\theta/dt \approx \frac{3\theta(t)-4\theta(t-\delta t)+\theta(t-2\delta t)}{2\delta t} $ and $ d\theta/dt \approx \frac{11\theta(t)-18\theta(t-\delta t)+9\theta(t-2\delta t)-2\theta(t-3\delta t)}{6\delta t} $
Class ReadDataComponent
add timing options, etc. to meet requirements: Allow science data acquisition to occur asynchronous to core vehicle control and Allow science data acquisition to occur at a variable loop period
Page Simulation Requirements
Implement Implement Allow for very fast mission emulation
Member Simulator::invertMass (SimResultStruct &results)
Need to add check for singularity before inverting A
Class Str
share strings to reduce mallocs
Member Tracking::unitVectorToAzimuthAndElevation (Point3D &uhat, float &azimuth, float &elevation)

This is a generally useful conversion and should be made available at a higher level (maybe in AuvMath.cpp?) to avoid having multiple versions of the same method.

This is a generally useful conversion and should be made available at a higher level (maybe in AuvMath.cpp?) to avoid having multiple versions of the same method.

Class YawRateCalculator
augment with 3 and 4-point backwards difference formulas: $ d\psi/dt \approx \frac{3\psi(t)-4\psi(t-\delta t)+\psi(t-2\delta t)}{2\delta t} $ and $ d\psi/dt \approx \frac{11\psi(t)-18\psi(t-\delta t)+9\psi(t-2\delta t)-2\psi(t-3\delta t)}{6\delta t} $