Parameter Reference Manual

SCHOOL OF OCEANOGRAPHY
and
APPLIED PHYSICS LABORATORY
UNIVERSITY OF WASHINGTON
v66.05 July 2008

Chapter 1

Conventions and Introduction

1.1 Conventions

All parameters have a leading $ in their name. Parameters will be given in bold font, file names in italic. Example (not default) values follow each parameter's description in square brackets.

1.2 Introduction

This manual provides an alphabetical reference to the parameters that govern the operation of the Seaglider. All parameters described in this manual are changeable by the pilot via the command file, using the name,value (example: $SM_CC,475) convention. Clicking a parameter name jumps to that parameter's description. The "Back" button returns to the previous location in the document.

Values reported by the Seaglider in the log file associated with a dive include all the pilot-changeable parameters described in this document. The log file also contains other values that are given parameter-like names for consistency of parsing during post-dive data processing.

Chapter 2

Seaglider Command File (cmdfile) Directives

2.1 Introduction

Command file (cmdfile) directives control the fundamental state of autonomous Seaglider operations. The two fundamental states of autonomous Seaglider operation are diving and recovery. The diving state is the normal repeating sequence of canonical dives. The recovery state is when the Seaglider is held at the surface, calling to the basestation at pilot-specified intervals with an updated position and receiving instructions.

Command file (cmdfile) directives are given as the last (and perhaps only) line of the command file, as stored on the basestation and transferred to the Seaglider during its communication session.

2.2 Directives

$GO
This command will cause the glider to continue in its current mode of operation. If in an autonomous run, doing repeated dives, it will continue to dive according to its current set of parameters. If a $GO command is received while the Seaglider is in the recovery phase, the Seaglider will stay in the recovery phase.

$RESUME
This command will cause the Seaglider to resume diving from within the recovery phase, using its current set of parameters. It acts just like a $GO directive if the Seaglider is diving.

$QUIT
This command will cause the Seaglider to go immediately to the recovery phase. The Seaglider will hold at the surface, sleeping $T_RSLEEP minutes between the end of one communications session and the start of the next. There are about two minutes of communications overhead associated with each session, so that sessions are about ($T_RSLEEP + 2) minutes apart. Replacing the $QUIT directive with a $RESUME directive will cause the Seaglider to initiate a new dive with the existing set of parameters.

The state table below outlines the effect of each directive on the glider in each of the two autonomous run states: diving and recovery.

State Directive $GO $RESUME $QUIT
Diving Diving Diving Recovery
Recovery Recovery Diving Recovery

Chapter 3

Seaglider Parameters

Example (not default) values follow each parameter's description in square brackets.

$AD7714Ch0Gain
The gain assigned to the pressure sensor channel on the AD7714 analog-to-digital converter. The parameter takes two values: 128 for normal Seaglider operations with the installed Paine pressure sensor, and 1 for bench testing where a synthetic voltage is injected in place of the pressure sensor output to simulate diving. The advent of the parameters $SIM_W and $SIM_PITCH have obviated this parameter. [128]


The capacity of the 10V (low-voltage) primary battery pack (AmpHr). There is some safety factor in this number, but its accuracy has been verified in post-recovery depletion testing of Seaglider battery packs. The Seaglider goes into the recovery state if the total 10V battery pack amp-hours used on a mission equals or exceeds this value. [61.2]

$AH0_24V
The capacity of the 24V (high-voltage) battery pack (AmpHr). There is some safety factor in this number, but its accuracy has been verified in post-recovery depletion testing of Seaglider battery packs. The Seaglider goes into the recovery state if the total 24V battery pack amp-hours used on a mission equals or exceeds this value. [91.8]

$ALTIM_BOTTOM_PING_RANGE
The range (in meters) from the presumed apogee depth (the nominal depth at which the glider will begin its apogee maneuver) to initiate bottom pings. A value of 0 disables pinging. If the configured transponder device does not have a ping function, these parameters are ignored. See also $ALTIM_PING_DEPTH. [0]

$ALTIM_BOTTOM_TURN_MARGIN
The distance (in meters) from the altimeter-detected seafloor (or an obstacle) at which to initiate the apogee maneuver (bottom turn). A value of 0 disables use of the altimeter to determine the start of the apogee maneuver. [0]

$ALTIM_FREQUENCY
The frequency (kHz) to use for altimeter pings. Must be an integer between 10 and 25. [15]

$ALTIM_PING_DELTA
If the altimeter does not get a successful return and confirmation ping return at $ALTIM_PING_DEPTH, it will continue to issue pings at depth intervals of $ALTIM_PING_DELTA meters. See $ALTIM_PING_DEPTH.

$ALTIM_PING_DEPTH
The depth of the first altimeter ping (meters), if non-zero. If the altimeter gets a return, and a return to an immediate second confirmation ping, it will set the bottom depth equal to the current depth plus the altimeter range to the bottom. The apogee maneuver will be initiated at $ALTIM_BOTTOM_TURN_MARGIN meters above the bottom. If $ALTIM_PING_DEPTH is non-zero, the altimeter timeout will be set so that the maximum range is the larger of 0.75*$ALTIM_PING_DEPTH and 1.2*$ALTIM_TOP_PING_RANGE, if set. The first test is meant to exclude surface returns. Note that $ALTIM_PING_DEPTH and the $ALTIM_BOTTOM_PING_RANGE modes are mutually exclusive. If $ALTIM_BOTTOM_PING_RANGE is set, it will be honored to the exclusion of $ALTIM_PING_DEPTH.

$ALTIM_PULSE
Pulse width (ms) of altimeter pings. Must be an integer between 1 and 9. [5]

$ALTIM_SENSITIVITY
Sensitivity of the envelope detector on the altimeter. Must be an integer between 0 and 5. A value of 0 disables the envelope detector, causing the altimeter to trigger on any return at the right frequency. Values between 1 and 5 require that the return signal be above that voltage for the duration of a pulse width before triggering. [1]

$ALTIM_TOP_MIN_OBSTACLE
The minimum obstacle depth (m) to honor in initiating a subsurface finish. [2]

$ALTIM_TOP_PING_RANGE
The range (in meters) from the surface (this is simply depth) at which to ping the altimeter. A value of 0 disables a ping. If the configured transponder device does not have a ping function these parameters are ignored. [0]

$ALTIM_TOP_TURN_MARGIN
The distance (in meters) from an altimeter-detected obstacle at which to initiate the sub-surface finish. A value of 0 disables use of the altimeter to determine the start of the sub-surface finish. [0]

$APOGEE_PITCH
The intermediate pitch (position of the pitch mass) the glider will pitch to between the dive and climb phases, to prevent stalling. The glider assumes $APOGEE_PITCH when it observes a depth of greater than the apogee depth (whether by altimeter, $D_TGT or $D_GRID). The apogee maneuver also includes pumping the VBD to 0cc. After the apogee maneuver, the climb is initiated by changing both pitch and VBD to the opposite-signed values from the dive. [-5]

$C_PITCH
The center (neutral, or flat) position (A/D counts) for pitch. [2590]

$C_ROLL_CLIMB
The center (neutral, or straight flight) position (A/D counts) for roll during the climb (positive pitch control) phase. Note that the two roll centers will probably be different. This was implemented to correct for roll biases induced by physical asymmetries in the glider. [2150]

$C_ROLL_DIVE
The center (neutral, or straight flight) position (A/D counts) for roll during the dive (negative pitch control) phase. [2150]

$C_VBD
The center (neutrally buoyant at a specified density) position (A/D counts) for VBD. [2735]

$CALL_NDIVES
The number of profiles (dive/climb cycles) to perform before attempting communications. The Seaglider will surface normally following each dive, and GPS fixes 1 and 2 will be obtained at each surfacing, independent of the value of $CALL_NDIVES. [1]

$CALL_TRIES
The maximum number of phone calls to attempt during a surfacing between dives. [5]

$CALL_WAIT
The wait time (seconds) between call attempts during a communication session. This is time to allow the Iridium satellite geometry to change and perhaps improve the connection. [60]

$CAPMAXSIZE
The maximum size (in bytes, prior to compression) of the capture file to upload. If the capture file is to be uploaded (either due to critical output, $CAPUPLOAD set to 1, or a completed self-test) and the capture file size exceeds this value, the glider will create a new capture file that is of the size requested, per the following strategy. If there are no critical lines of output, then the first $CAPMAXSIZE bytes will be sent. If there are critical lines of output, then the new capture file will consist of the first 20 of the critical output lines, with a window of output lines surrounding each critical line.

$CAPUPLOAD
A Boolean value that determines if the capture file from the current dive should be uploaded or not: 0 means do not upload the capture file, 1 means upload the capture file. If critical output is captured during a dive, or a self-test has been completed, then the capture file is uploaded regardless of the value of $CAPUPLOAD. [0]

$CF8_MAXERRORS
The maximum number of CF8 errors allowed before the Seaglider goes into recovery state. A CF8 error is counted against the $CF8_MAXERRORS limit when a CF8 open or write call continues to fail (returns an error code) after three retries.

$COMM_SEQ
The specification of the sequence of file transfer to use. A value of zero indicates the standard communication file transfer sequence: command, targets, science, current dive log file, current dive data file, earlier un-transferred log and data files, pdoscmds.bat, sgdddd.pz.nnn (the results of the pdoscmds.bat commands), and any other files as commanded in pdoscmds.bat. A value of one indicates skipping the normal log and data file transmission step, and going directly to pdoscmds.bat: command, targets, science, pdoscmds.bat, sgdddd.pz.nnn and any other files as commanded in pdoscmds.bat. This was implemented as a way of getting to the pdoscmds.bat file in the event that communications problems or file corruptions prevented data transfers. It is a control mode to be used only when communications or other glider problems exist. [0]

$COMPASS_DEVICE
Configuration flags specifying the specific model and port for the compass and transponder/altimeter devices. This integer value is equal to port_number + 16*type_number. For example, for a TCM2-50 (type 0) on general purpose port 1, $COMPASS_DEVICE = 1 + 16*0 = 1. The array of available models is specific to each device. The compass device must be defined (parameter cannot be -1). For transponders not connected to a serial port (e.g., Benthos ENT-380) the null port (generally index 0) can be specified. See $DEVICE[1/2/3/4/ 5/6]. [1]

$COURSE_BIAS
A heading bias (degrees) to compensate for a glider's observed tendency to veer to one side. This value is subtracted from the desired heading to produce the target heading. [0]

$D_ABORT
The maximum depth (meters) for Seaglider operations. If this depth is reached, the dive is aborted and the glider immediately enters the recovery phase. [1090]

$D_BOOST
The depth (meters) above which only the boost pump will be run.[0]

$D_FINISH
Depth (meters) at which to consider a dive completed. Normally, this is 0, but may be a number greater than zero to specify the depth at which subsurface finish maneuvers should be started. Used only when an additional trigger to initiate a subsurface finish is present (see $N_NOSURFACE). [0]

$D_FLARE
The depth (meters) at which the glider flares to the computed desired pitch angle following the initial dive from the surface. The guidance and control (G&C) action at the start of the dive phase maintains full pitch forward as VBD bleeding takes place. A new G&C action is initiated as soon as a glider reaches $D_FLARE: pitch is adjusted first (the flare), then VBD is adjusted (continued bleed to the target VBD), then roll is actuated to turn the glider to the desired heading. [3]

$D_NO_BLEED
The depth (meters) below which the Seaglider will not bleed (move oil from the bladder into the internal reservoir, making the Seaglider less buoyant) on dives. This parameter also defines the depth at which the $T_NO_W parameter takes effect. [50]

$D_OFFGRID
The depth (meters) that the bathymetry map look-up routine returns in the event the Seaglider's position is outside an area for which the Seaglider carries a map. [1001]

$D_SURF
The depth (meters) at which the glider begins its approach to the surface. In order to collect data all the way to the surface, at $D_SURF the Seaglider computes how many more data samples to take, based on the observed vehicle vertical speed, depth, and the data sample interval. The number of additional points is limited to 50. The Seaglider then goes into passive G&C mode and collects that number of data points at the appropriate sample interval for the depth range. When complete, the Seaglider enters the surface phase. Note that this approach will occasionally result in the last few data samples being taken when the conductivity sensor is actually in air, giving unrealistic conductivity values. These samples can be removed in shore-side processing, if necessary.[3]

$D_TGT
The nominal depth (meters) at which the Seaglider begins the apogee phase, the transition from the negatively buoyant, pitch-down dive to positively buoyant, pitch-up climb. This depth is also used in conjunction with $T_DIVE to determine the specified vertical velocity for the dive and climb.

The actual depth of the starting point of the apogee maneuver may be determined by reading a digital bathymetric map ($D_GRID), or by using the altimeter. In either case, the vertical velocity specified by the combination of $D_TGT and $T_DIVE is retained by appropriate scaling of $T_DIVE. The apogee maneuver is not started until a depth greater than $D_TGT (or other depth trigger) is detected. In scenario runs, $D_TGT is also the depth at which the Seaglider enters the recovery phase. [990]

$DEVICE[1/2/3/4/5/6]
Configuration flags specifying device type and port for each of the six possible attached science sensors. Empty device slots are indicated with a parameter value of -1. Non-negative entries indicate that a device is attached. The encoding is specific to the version of the Seaglider software. These entries are set through the Seaglider menu system by the builder/assemblers.

$DIVE
The number of the next dive the Seaglider will start. [314]

$ESCAPE_HEADING
The base heading the Seaglider will steer in an escape recovery situation when either no position fix is available or no escape target was supplied in the targets file.

$ESCAPE_HEADING_DELTA
The actual heading steered by the Seaglider in an escape recovery situation will always be $ESCAPE_HEADING +/- $ESCAPE_HEADING_DELTA. The sign will switch (and thus the heading will toggle) when the bottom depth (as detected by altimetry or $T_NO_W) shallows by 5% relative to the depth at the last toggle.

$FILEMGR
An integer parameter that specifies how aggressively to manage the onboard file system, as follows.

0: none
1: only store compressed files
2: delete splits on failed phone call

$FERRY_MAX
The maximum correction (in degrees) to apply to the rhumb line to the active (next) waypoint when $NAV_MODE = 2. This is a safety limit to prevent spurious depth-averaged current calculations from giving the Seaglider a heading in the wrong direction. [45]

$GLIDE_SLOPE
The absolute value of the maximum glide slope (degrees) allowed for the Seaglider. The desired glide slope is calculated on board the Seaglider to best achieve the goals of the next dive. The stall angle provides the lower limit; this parameter is the upper limit. [30]

$GPS_DEVICE
Configuration value specifying the model of the attached device. These devices have dedicated hardware ports on all motherboard revisions and as such a port specification is not necessary. A GPS device must be defined (cannot be -1). [32]

$HD_A
The hydrodynamic parameter representing the lift coefficient, determined empirically and used in the glider's on-board performance prediction and guidance calculations. [0.0029217]

$HD_B
The hydrodynamic parameter representing the drag coefficient, determined empirically and used in the glider's on-board performance prediction and guidance calculations.[0.010758]

$HD_C
The hydrodynamic parameter representing the induced drag coefficient, determined empirically and used in the glider's on-board performance prediction and guidance calculations. [2.8991001e-06]

$HEAD_ERRBAND
Deadband for heading (degrees). This value is used to determine if a correction to heading is required during an active G&C mode. If the absolute value of the difference between the actual heading and the desired heading is less than or equal to $HEAD_ERRBAND, no heading correction is made. If the difference is greater than $HEAD_ERRBAND, then a turn is performed until the desired heading is passed, or until the amount of time $T_TURN has elapsed. [10]

In a scenario run, $HEAD_ERRBAND is the deadband for roll angle. If the absolute value of the specified position of the mass shifter (in degrees) is less than or equal to $HEAD_ERRBAND, no roll is performed. [10]

$HEADING
A floating point value between -1.0 and 360.0 (true degrees, 0.0 and 360.0 are equivalent values) used in conjunction with certain navigation modes (controlled by the $NAV_MODE parameter) to determine the heading taken by the Seaglider.

-If $NAV_MODE is 0, and the value of $HEADING is between 0.0 and 360.0, the glider will use this value as the course to steer in degrees true (constant heading navigation). This is actually accomplished by creating a waypoint 20 km distant on the specified heading.

-If $NAV_MODE is 1 or 2, $HEADING does not have any effect on the chosen Seaglider heading.

-If $NAV_MODE is 3, $HEADING is added to the depth-averaged current calculated for the previous dive, to give a Seaglider heading that is the specified amount to the right of the current. [-1]

$ID
Seaglider identification (serial) number. This is a number between 1 and 999. Leading zeros are not required. This number is used in many ways, including creating the Seaglider's login on the basestation, in file naming conventions, and as a serial number for manufacturing purposes.

$INT_PRESSURE_SLOPE
The slope (psia per A/D count) calibration of the internal pressure sensor. The sensor has a span of 0 to 30 psia, with a 90mV output at full-scale at 12V excitation. The output is proportional to supply. The Seaglider excitation is 4.096V and the gain is 100, so 30 psia = 90*4.096/12*100*1. Full-scale = 90*4.096*gain*counts/mVolt, so the nominal slope is 0.009766 psia per A/D count. [0.0097660]

$INT_PRESSURE_YINT
The y-intercept of the linear calibration of the internal pressure sensor. [0]

$KALMAN_USE
The control parameter for the run state of the Kalman filter navigation program. The $NAV_MODE parameter controls whether the Kalman filter output heading is used to control the Seaglider. This separation of functions allows the Kalman filter to be run, but not used, while it "learns" the currents.

0: Reset the Kalman filter. Set Kalman state vector and origin of local Kalman coordinate system to 0 and restart the filter.
1: Run the Kalman filter.
2: Do not run the Kalman filter.

-If $KALMAN_USE is 0 or 1, and $NAV_MODE is 1, the Kalman filter results will be used to determine the Seaglider's heading.

-If $NAV_MODE is 1, but is 2 (not being run), the Seaglider acts as though $NAV_MODE is 0.

$MASS
The mass of the glider in grams. Used in on-board buoyancy and current estimation calculations. [52000]

$MAX_BUOY
The absolute value of the maximum negative buoyant force (grams) to which the glider is allowed to bleed during the dive phase. There is no restriction on positive buoyancy during the climb phase. [150]

$MISSION
The current Seaglider mission number. This value is intended to be unique for each of a particular Seaglider's various deployments. It has no effect on glider operations, but is reported back in data files for the purpose of data file distinction from other missions a glider may have performed. [0]

$MOTHERBOARD
An integer value indicating the motherboard revision carried by the glider and set by the builder or assembler. 1 = NOPP, 2 = A.1, 3 = B.1, etc. [2]

$NAV_MODE
An integer value specifying the method used to choose a heading for the Seaglider to maintain on the next dive, according to the following table.

0: Steer constant heading ($HEADING)
1: Kalman filter (see $KALMAN_USE)
2: Ferry angle correction with respect to calculated depth-averaged current
3: Steer relative to depth-averaged current

Navigation flow proceeds as follows.

1. If we have calculated a valid depth-averaged-current (DAC) and$NAV_MODE = 3 (steer relative to DAC), synthesize a heading = currentdirection + $HEADING.

2. If a synthesized heading exists from (1) or $HEADING >= 0, synthesizea target 20 km away at a true bearing given by that heading. Otherwise,choose a target based on the usual selection process. Calculate rangeand bearing to the target.

3. Modify dive time and depth as needed to honor safeties and grids.Calculate speed limits - Seaglider minimum and maximum possible horizontalspeeds through the water. The speed limits and dive times fix the rangeof possibilities for the Seaglider's distance through the water.

4. Choose a glide slope that gets the Seaglider closest to the target (maximum speed ifthe target is distant, minimum speed if the target is too close).

5. At this point the Seaglider has a bearing and glide slope in hand. If $NAV_MODE = 0 or $NAV_MODE = 3, then these will be the heading and slope for this dive.

6. If $NAV_MODE = 2 (calculate set/ferry angle correction) and we have calculated a valid DAC, we apply $SPEED_FACTOR to the speed limits to account for the fact that the Seaglider actually won't achieve its ideal speed over the entire dive. We then iteratively calculate set corrections as a function of our horizontal speed through the water so that we optimize the Seaglider's travel toward the target (just as we chose our slope above). At each speed setting, the code uses a nonlinear solver to solve for ferry angle. First guess at speed is maximum. If the predicted distance over ground (DOG) with the set correction is less than the range to target (typical case) then the computation is complete. Otherwise we try the minimum speed. If the resulting DOG is greater than the range to target then the computation can't do any better and it is complete. If neither limit applies, we iterate via bisection to settle on the best speed. At convergence, the Seaglider has a ferry angle to steer and a horizontal speed to apply. The predicted horizontal speed is used to calculate a new value for glide slope.

$N_FILEKB
An integer value (-17 < $N_FILEKB < 17), which is the size (in kilobytes) and type (gzip-compressed or uncompressed) of file used for data uploading. Positive numbers direct the Seaglider to first use gzip to compress the data file, then split it into $N_FILEKB-sized pieces. Negative values for $N_FILEKB disable the gzip compression, but still cause the non-gzipped binary data file to be split into $N_FILEKB-sized pieces before transmission. A value of 0 means no splitting or compression is performed. The maximum allowed value of this parameter is currently set to 16. [4]

$N_GPS
The maximum number of seconds to wait for a GPS fix with HDOP = 2.0 or less. If no such fix is acquired, the last (most recent) GPS fix is used, which is probably, but not necessarily, the most accurate fix available in the specified time period. [20]

$N_NOCOMM
The number of dives that are allowed to occur without a complete and successful data communication session, before the surface buoyancy parameter $SM_CC is set to the maximum allowed by the software limits. This is a safety provision in the event $SM_CC is not sufficient to allow for a good antenna position. [1]

$N_NOSURFACE
An integer value that determines when the glider will finish the dive at $D_FINISH and when it will finish at the actual surface. For values greater than 1, the rule is that when the remainder of $DIVE divided by $N_NOSURFACE is zero, the glider will finish the dive at depth $D_FINISH. Other dives will finish at the surface. For negative values less than -1, this logic is reversed, and values of $DIVE divisible by $N_NOSURFACE will finish at the surface; all others will be subsurface finishes. Values of 1 and -1 are not allowed. A value of 0 disables this behavior. [0]

$P_OVSHOOT
The distance (cm) by which the pitch mass overshoots its target after the pitch motor is turned off. [0.05]

$PHONE_DEVICE
A configuration value specifying the model of the attached device, set by the assembler or builder. These devices have dedicated hardware ports on all motherboard revisions and, as such, a port specification is not necessary. [16]

$PITCH_AD_RATE
The pitch rate (A/D counts/second) used as the threshold for retries when pitching. If the observed rate is less than this number, the pitch will be stopped and restarted. The retries will continue until the pitch motor timeout limit is reached, then an error will be declared. [150]

$PITCH_ADJ_DBAND
This parameter, with $PITCH_ADJ_GAIN, enables and adjusts active (closed-loop) control on Seaglider pitch during a dive and climb. The Seaglider will automatically seek to maintain the desired pitch angle by moving the pitch mass when

| Pitchobserved - Pitchdesired | >$PITCH_ADJ_DBAND.

$PITCH_ADJ_DBAND has units of degrees. A value of 0 disables automatic pitch adjustment. [0.5]

$PITCH_ADJ_GAIN
This parameter, with $PITCH_ADJ_DBAND, enables and adjusts active (closed-loop) control on Seaglider pitch during a dive and climb. The amount of the adjustment is given by

(PitchDesired - PitchObserved)*$PITCH_ADJ_GAIN.

$PITCH_ADJ_GAIN has units of cm/degree. Adjustments are calculated at the beginning of the active guidance and control phase, based on the pitch observed over the same samples for which observed vertical speed is calculated. Adjustments are not made during the first two active guidance and control phases following the start of a dive or climb. A value of zero disables automatic pitch adjustment. [0.03]

$PITCH_CNV
Pitch position conversion factor, from A/D counts to centimeters (cm/AD count). This is a constant determined by the pitch of the worm gear that drives the pitch motion, and is set by the builder or assembler. [0.0046]

$PITCH_DBAND
The pitch position deadband (cm). [0.05]

$PITCH_GAIN
The amount of vehicle pitch (degrees) change corresponding to 1 cm movement of the pitch mass. [15]

$PITCH_MAX
Pitch position software limit (A/D counts) aft. [3850]

$PITCH_MAXERRORS
The number of pitch motor errors allowed before the Seaglider goes into recovery state.An error occurs when the $PITCH_TIMEOUT expires prior to achieving the commanded pitch A/D position.

$PITCH_MIN
Pitch position software limit (A/D counts) forward. This is also the value to which the pitch mass moves during the surface maneuver (fully forward for maximum pitch down). [490]

$PITCH_TIMEOUT
Pitch mass timeout (seconds). [20]

$PITCH_VBD_SHIFT
The pitch compensation (cm/cm3) required to balance the mass of the hydraulic oil moving forward and aft with the change in buoyancy as a result of VBD changes. [0.00167]

$PRESSURE_SLOPE
Slope of linear fit between psig and pressure sensor output (after digitization to A/D counts through AD7714). The fit is calculated from calibration data received with each pressure sensor, and converted to A/D counts knowing the configuration of the AD7714 and associated circuitry. This number is a constant for each pressure sensor and associated calibration. [1.159254e-04]

$PRESSURE_YINT
Y-intercept of linear fit between psig and pressure sensor output (after digitization to A/D counts through AD7714). This is the value that is adjusted in the field at launch to correct the pressure sensor relative to atmospheric pressure so that the seawater surface corresponds to 0m depth. [-19.65]

$R_PORT_OVSHOOT
Roll mass overshoot (A/D counts) to port after motor is turned off. Overshoots are assumed to be positive, in the sense of past the desired position. The sign of the $R_PORT_OVSHOOT parameter indicates how the code handles the overshoots, not a direction. Positive values allow the Seaglider operating software to automatically compute the roll overshoots and apply them after each roll maneuver. Negative values allow the pilot to specify a static overshoot value to be applied uniformly to each roll maneuver. In the case where the Seaglider is computing and applying the roll overshoots, the value reported in the log file is the last value computed during a dive. [25]

$R_STBD_OVSHOOT
Roll mass overshoot (A/D counts) to starboard after motor is turned off. See comments under $R_PORT_OVSHOOT above regarding sign conventions. [25]

$RAFOS_DEVICE
A configuration value specifying the model of the attached device, set by the builder or assembler. These devices have dedicated hardware ports on all motherboard revisions and, as such, a port specification is not necessary. A value of -1 for the RAFOS device specifies that RAFOS is not installed. [-1]

$RELAUNCH
A Boolean value: 1 means relaunch the Seaglider automatically in the event of a crash to TOM8 (or any watchdog timer reset), 0 means do not relaunch the Seaglider automatically in the event of a crash to TOM8 (or other watchdog timer reset). The Seaglider also uses this parameter internally with a value of 2 to indicate that a commanded reboot is in progress. This should always be set to 1 for any at-sea deployment. The glider automatically forces this value to 2 during a reboot commanded through pdoscmds.bat. The value is reset to 1 when the commanded reboot is complete. [1]

$RHO
The water density (g/cm3) used for converting buoyancy force in grams to seawater displacement in cm3. This parameter is also used in the on-board performance prediction computations. [1.023]

$ROLL_AD_RATE
The roll rate in A/D counts per second that the Seaglider operating code uses as the threshold for retries when rolling. If the observed rate is less than this number, the roll will be stopped and restarted. The retries will continue until the roll motor timeout limit is reached, then an error will be declared. [400]

$ROLL_ADJ_DBAND
This parameter, with $ROLL_ADJ_GAIN, controls the automatic adjustment of the Seaglider roll centers based on observed turn rate. At the end of a complete passive phase, a full guidance and control (GC) interval, the Seaglider will adjust the appropriate dive or climb roll center based on the turn rate over the last half of the passive phase if

|turn rate| > $ROLL_ADJ_DBAND.

$ROLL_ADJ_DBAND has units of degrees/second. A value of zero disables automatic adjustment of the roll centers. [0.03]

$ROLL_ADJ_GAIN
This parameter, with $ROLL_ADJ_DBAND, controls the automatic adjustment of the Seaglider roll centers based on observed turn rate. The amount of the adjustment is

-(turn rate)*$ROLL_ADJ_DBAND, if climbing, and,

(turn rate)*$ROLL_ADJ_DBAND, if diving.

$ROLL_ADJ_GAIN has units of degrees/(degrees/second). This adjustment is only meaningful the next time the Seaglider turns, as the Seaglider will roll back to this new neutral position on the next turn. It will not immediately roll from the old neutral to the new neutral at the start of the next active guidance and control (GC) phase. Note that if $HEAD_ERRBAND is large, then several active/passive GC phases might pass before a turn is initiated and the new roll center is used. A new adjustment is computed only after a turn has been completed. [1.0]

$ROLL_CNV
Roll position conversion factor, from A/D counts to degrees. This is a constant determined by the particulars of the roll gear train, motor and potentiometer. [0.02827]

$ROLL_DEG
The number of degrees to roll the internal roll mass during a turn. Traditionally, this was hard-coded to 40o, and is used in all turns. With larger battery packs, different trim lead configurations, and the possibility of longer wings, this was changed to allow the pilot to specify other roll targets for turns, primarily to take advantage of more of the available roll capacity. The roll software limits will still provide the effective roll maximums. [45]

$ROLL_MAX
Roll position software limit (A/D counts) to starboard. The glider operating software will stop the mass shifter at this value when rolling to starboard. [4000]

$ROLL_MAXERRORS
The number of roll motor errors allowed before the Seaglider goes into recovery state.An error occurs when the $ROLL_TIMEOUT expires prior to achieving the commanded roll A/D position.

$ROLL_MIN
Roll position software limit (A/D counts) to port. The Seaglider operating software will stop the mass shifter at this value when rolling to port. [120]

$ROLL_TIMEOUT
Roll maneuver timeout (seconds). [15]

$SEABIRD_[C_G/ C_H/ C_I/ C_J/ T_G/ T_H/ T_I/ T_J]
Sea-Bird Electronics-provided calibration coefficients for their conductivity and temperature sensor on the Seaglider. These values are used to compute calibrated temperature and salinity for hardware test purposes and in situ density for self-trimming applications. Currently used for subsurface finish maneuvers in which the glider attempts to become neutral at a fixed depth below the surface or an obstacle on the surface.

$SIM_PITCH
Simulated Seaglider desired pitch angle (degrees) during the dive phase of a simulated run. If non-zero, this value is used in place of observed pitch on the dive phase of a simulated run. A value of 0 disables this feature. This parameter is automatically zeroed during the Sea Launch procedure. [-20]

$SIM_W
Simulated Seaglider desired vertical velocity (m/s). If non-zero, this value is used to generate depths so that the Seaglider can do simulated dives in the lab or on the deck. A value of 0 disables this feature. This parameter is automatically zeroed during the Sea Launch procedure. [0.1]

$SM_CC
The specified minimum-buoyancy position of the VBD (cm3) the Seaglider attains at the surface. If the Seaglider enters the surface maneuver with less than this value of VBD, it pumps to this value. If the Seaglider enters the surface maneuver with more than this value of VBD, it does not change the value of VBD and continues to the next part of the surface maneuver. [350]

$SPEED_FACTOR
A factor to compensate for Seaglider's inability to dive at the desired horizontal velocity. This is a measure of the efficiency of the Seaglider's progress along a specified track. Factors that lower the Seaglider's efficiency are turns, leaving the surface at arbitrary headings, and reduced horizontal speed during the apogee maneuver. $SPEED_LIMITS are multiplied by this factor and $KALMAN_CONTROL components are divided by it. [0.9]

$T_ABORT
A safety time (minutes) such that if the current elapsed time on a given dive exceeds this time, the Seaglider will enter the recovery phase.

$T_DIVE
The desired time (minutes) for the glider to make one dive-climb cycle to the depth $D_TGT and back to the surface. This value does not include the time for pumping during the apogee phase. The value is used to calculate the Seaglider's desired vertical velocity in a particular dive, using the naive calculation w (cm/s) = 2*$D_TGT*100/($T_DIVE*60). The desired w is combined with $MAX_BUOY, the range to the target, and the Seaglider hydrodynamic model to calculate the Seaglider's desired pitch angle on any given dive. [330]

$T_GPS
The maximum allowed time (minutes) to obtain a GPS position (GPS timeout). We often run with a $T_GPS of longer than 12.5 minutes, in order to ensure that the GPS receiver has time to receive a complete set of almanac entries in the event that lack of an almanac prevents getting a timely fix. [15]

$T_GPS_ALMANAC
Time to wait (in minutes) to acquire the GPS almanac. The wait will happen the next timethe GPS is turned on. After the wait, the parameter will be reset to zero and the regular GPS operation (presumably a fix) will proceed. If the parameter is greater than zero then the almanac sentences will be checked every minute. The wait will halt when the time has expired or at least ten satellites have recent almanac sentences. If the parameter is negative then the wait will only halt after the time has expired. A negative value also forces a complete NVRAM reset before the wait starts. [0]

$T_GPS_CHARGE
Time to wait (in seconds) before trickle-charging the GPS receiver (for Garmin GPS25 engines only). Negative values mean the GPS25 does not need charging. [-348.74615]

$T_LOITER
Time (seconds) to loiter after going neutral at apogee, before pitching up and becoming positively buoyant for climb. While in the loiter state the glider will attempt to maintain zero vertical velocity. It will pump, but not bleed (become heavier) to do this. The glider does not servo on depth in this state. All other timeouts and depths are honored in this state. $T_MISSION and $T_ABORT need to be adjusted manually to account for the additional dive duration. Total dive duration will be $T_DIVE + $T_LOITER. GC and sampling intervals during the loiter state are controlled by the appropriate depth bins in the science file.

$T_MISSION
The maximum mission time (minutes) allowed. After $T_MISSION/2 minutes, the Seaglider will transition from dive phase to apogee phase, then commence the climb phase. If $T_MISSION is reached prior to the Seaglider reaching $D_SURF, the Seaglider immediately enters the surface phase. This time includes the dive, apogee and climb phases. [375]

$T_NO_W
The time (seconds) for the Seaglider to wait with no significantly non-zero vertical velocity (less than 1 cm/s, as measured by dP/dt) before proceeding the next phase of a dive. This is primarily used to move from dive phase to climb phase (initiate an apogee maneuver) when the Seaglider unexpectedly encounters the bottom. Note that this protection is only in place at depths below D_NO_BLEED $D_NO_BLEED. [120]

$T_RSLEEP
The sleep time interval (minutes) during the recovery phase. During the recovery phase, the Seaglider first gets a GPS fix, then calls the basestation up to $CALL_TRIES times to upload the GPS fix, then goes into low-power sleep for this length of time. The surface evolution has about two minutes of "overhead", so that the Seaglider calls are about (#$T_RSLEEP + 2) minutes apart in practice. [8]

$T_TURN
The maximum amount of time (seconds) allowed to complete a turn during the active G&C mode. If this timeout is reached before the desired heading is reached, the Seaglider rolls back to neutral and continues. [225]

$T_TURN_SAMPINT
The sample interval during active and passive G&C. This should be short enough so that the glider cannot pass entirely through the desired heading deadband without sampling. This was implemented to correct a bug in the guidance routine that allowed for complete circles to occur when trying simple course corrections. Future versions of the code will implement $T_TURN_SAMPINT only when actually turning, not for all G&C periods. [5]

$T_WATCHDOG
The value to which the watchdog timer is set (minutes). This is an information-only parameter; the watchdog timer itself is set with DIP-switches on its chip on the main board. [10]

$TCM_PITCH_OFFSET
Static offset in pitch axis (degrees) between the compass output and the actual Seaglider body, as measured in the lab. [1.3]

$TCM_ROLL_OFFSET
Static offset in roll axis (degrees) between the compass output and the actual Seaglider body, as measured in the lab. [-0.9]

$TGT_AUTO_DEFAULT
A Boolean parameter: if set to 1, automatically update the default target in NVRAM, if set to 0, do not. [0]

$TGT_DEFAULT_LAT
Floating point value (decimal degrees) between -90.0 and 90.0. Together with $TGT_DEFAULT_LON this parameter provides a default target location when the targets file cannot be read.

$TGT_DEFAULT_LON
Floating point value (decimal degrees) between -180.0 and 180.0. See $TGT_DEFAULT_LAT, above.

$UPLOAD_DIVES_MAX
The maximum number of dives to upload at one surfacing. A value of -1 means upload all available dives that have not been previously uploaded. [-1]

$UNCOM_BLEED
The uncommanded change in A/D counts of VBD bleed that triggers the following actions in an attempt to save the Seaglider: stop whatever motor is running (the assumption is that electrical noise from one of the motors causes the Skinner valve to open) and disable it, close the Skinner valve, and enter the recovery phase (go to the surface and call home). [20]

$USE_BATHY
If 0, do not use bathymetry grid file. Either dive to $D_TGT, or use the on-board altimeter to determine the appropriate depth at which to enter the apogee maneuver. If positive, use bathymetry file named bathymap.nnn, where nnn = $USE_BATHY (with leading zeros, if necessary), and dive to the shallower of the two parameters $D_GRID and $D_TGT. If negative, search for an on-board bathymap.nnn appropriate for the current position of the glider. This would be the standard usage in operating areas covered by more than one map. Example: If href="#">$USE_BATHY = 7, then use the bathymetry file called bathymap.007 to get $D_GRID. No other map would be used. If $USE_BATHY = -4, then search all on-board bathymap.nnn files for one that covers the current glider position.

$USE_ICE
Same as $USE_BATHY above, except for the controlling the use of ice maps. When $USE_ICE is non-zero, the glider will use the appropriate maps to determine time-varying ice condition codes for surfacing decisions.

$VBD_BLEED_AD_RATE
The bleed rate in A/D counts per second that the code uses as the threshold for retries when bleeding. If the observed rate is less than this number, the bleed will be stopped and restarted. [10]

$VBD_CNV
VBD position conversion factor from A/D counts to cm3. This is a constant determined by the geometry of the internal hydraulic fluid reservoir and the potentiometers. The sign is negative to mean that higher A/D counts means more oil in the internal reservoir, hence a less-inflated external bladder, hence a lower Seaglider displacement, and thus a lower Seaglider buoyancy. [-0.2453]

$VBD_DBAND
VBD position deadband (cm3). [2]

$VBD_MAX
Variable Buoyancy Device (VBD) position (A/D counts) software limit when the internal reservoir is almost full (external bladder fully bled, minimum glider buoyancy). The Seaglider operating software will close the VBD main bleed valve (Skinner valve) when this value is reached. The builder or assembler typically sets this. [3800]

$VBD_MAXERRORS
Number of VBD errors allowed before entering recovery phase. This is an attempt to keep a Seaglider at the surface (prevent another dive) in the event it is reporting VBD errors. [1]

$VBD_MIN
Variable Buoyancy Device (VBD) position (A/D counts) software limit when the internal reservoir is almost empty (external bladder fully pumped). The Seaglider operating software will stop the VBD pump when this value is reached. The builder or assembler typically sets this. [300]

$VBD_PUMP_AD_RATE_APOGEE
The pump rate in A/D counts per second that the code uses as the threshold for retries when pumping at apogee. If the observed rate is less than this number, the pump will be stopped and restarted. The retries will continue until the pump timeout limit is reached, then an error will be declared. [4]

$VBD_PUMP_AD_RATE_SURFACE
The pump rate in A/D counts per second that the code uses as the threshold for retries when pumping at the surface. If the observed rate is less than this number, the pump will be stopped and restarted. The retries will continue until the pump timeout limit is reached, then an error will be declared. [6]

$VBD_TIMEOUT
VBD pump or bleed timeout (seconds). [720]

$XPDR_DEVICE
A configuration value specifying the model of the attached device, set by the builder or assembler. These devices have dedicated hardware ports on all motherboard revisions and, as such, a port specification is not necessary. See $COMPASS_DEVICE. [21]

$XPDR_INHIBIT
A configuration value specifying the transponder inhibit time in hundreds of milliseconds. The inhibit time is the time after a transponder reply during which the transponder will not reply to subsequent interrogation. Shorter times mean the transponder can be interrogated more rapidly. Valid values are from 1 (100 milliseconds) to 99 (9.9 seconds). [90]

$XPDR_VALID
A configuration value specifying the transponder interrogation validation sensitivity in units of 0.5 ms. Valid values are from 0 (no validation) to 6 (3 ms). The validation value is the total time over a 10 ms window following initial triggering that the detector circuit must remain triggered. Validation of interrogation pulses is only available on AAE transponder boards with firmware version 3.061 or later. Longer validation times will reduce spurious interrogration replies, but could result in decreased range. A value of zero results in no validation which is equivalent to the behavior of firmware prior to 3.061. [0]

Chapter 4

Acoustic Recorder System (ARS) Parameters

Starting in verison 66.05, the Acoustic Recorder System can be addressed via the Seaglider cmdfile. Parameters documented here are specific to the Seaglider flight code and are unknown to the ARS. All other parameteres that are prefixed with $AR_ are sent to the ARS for processing. Please consult the ARS documentation for details on the balance of the parameters.

$AR_NOTIFYAPOGEE
When set to 1, the glider will notify the ARS that the apogee pump has been completed. This notification will interrupt the ARS and cause the ARAPOGEE.ARS script (if present) to be executed on the ARS. [0]

$AR_RECORDBELOW
The depth in meters below which, the ARS will be record mode. When set to a non-zero value, the ars will be on, but in low power sleep until the glider passes below the specified depth. On the ascent, the ARS will move from dive, to surface mode when the glider climbs above the specified depth. [0]

$AR_RESETARS
When set to 1, the ARS will be power cycled during surface operations. [0]

Copyright University of Washington, 2006-2008 All Rights Reserved.