Skip to content
Page auto-generated from XML file.

Science/trackPatch_yoyo.xml

Mission ID: trackPatch_yoyo

Mission Path: Science/trackPatch_yoyo.xml

Vehicle yo-yos with patch detect enabled for oil concentration. NOTE: oil concentrations may vary strongly with depth! Suggested settings for simulaton: Config/sim/[username]/Simulator.cfg: oceanModelData = "Resources/BurgerOilfieldSpill.nc:mass_concentration_of_petroleum_hydrocarbons_in_sea_water:kg/m3"; eastCurrent = 0.05 m/s; // vel y wrto LV northCurrent = 0.005 m/s; // vel x wrto LV Config/sim/[username]/workSite.cfg: initLat = 71.2225805280196 arcdeg; // Initial latitude initLon = -163.5093252100575 arcdeg; // Initial longitude Config/sim/[username]/sim.cfg: WetLabsBB2FL.loadAtStartup = 0 bool; WetLabsSeaOWL_UV_A.loadAtStartup = 1 bool; WetLabsSeaOWL_UV_A.simulateSensors = 1 bool; WetLabsSeaOWL_UV_A.serial = "SEAOWLA2K-019"; WetLabsSeaOWL_UV_A.scaleFactor700 = 3.204e-7 1/m/sr/count; WetLabsSeaOWL_UV_A.darkCounts700 = 48 count; WetLabsSeaOWL_UV_A.scaleFactorFDOM = 8.096e-3 ppb/count; WetLabsSeaOWL_UV_A.darkCountsFDOM = 50 count; WetLabsSeaOWL_UV_A.fdomAccuracy = 8.19 ppb; WetLabsSeaOWL_UV_A.scaleFactorChl = 2.170e-3 ug/l/count; WetLabsSeaOWL_UV_A.darkCountsChl = 50 count; WetLabsSeaOWL_UV_A.chlAccuracy = 1.475 ug/l; WetLabsSeaOWL_UV_A.scaleFactorOil = 2.8 ppb/count; WetLabsSeaOWL_UV_A.darkCountsOil = 50 count; WetLabsSeaOWL_UV_A.oilAccuracy = 3.6 ppb; NavChartDb.charts = "US1AK90M,US2AK92M,US5AK9NM,US5AK9OM,US5AK9PM,US5AK9QM,US5AK9RM,US5AK9SM,US5AK9TM,US5AK9UM";

Arguments

MissionTimeout

MissionTimeout = 12 hour

Timeout for the entire mission

AcousticTrackingTimeout

AcousticTrackingTimeout = 240 hour

If the vehicle does not receive an acoustic signal for more than this length of time, it will surface for communications. Set longer than MissionTimeout to effectively disable.

Speed

Speed = 1 meter_per_second

Vehicle speed.

PeakDetectChl

PeakDetectChl = true

Chlorophyll patch tracking.

PeakDetectSalinity

PeakDetectSalinity = false

Salinity patch tracking.

PeakDetectOil

PeakDetectOil = false

Oil patch tracking.

DetectTheTrough

DetectTheTrough = false

Whether to track a trough. If false, track peak; if true, track trough. Default is false.

MinAltitude

MinAltitude = 5 meter

Minimum altitude for the entire mission.

MaxDepth

MaxDepth = 50 meter

Maximum depth for the entire mission.

MinWaterDepth

MinWaterDepth = 10 meter

Minimum water depth for the entire mission.

MinOffshore

MinOffshore = 2000 meter

Minimum offshore distance for the entire mission.

MarginMinOffshore

MarginMinOffshore = 100 meter

If closer than MinOffshore+MarginMinOffshore, turn back from shore.

MinDistFromPolygonSides

MinDistFromPolygonSides = 200 meter

If a operational safety polygon is specified and the vehicle is closer than this minimum distance to the polygon sides, turn back.

NeedCommsTimeInTransit

NeedCommsTimeInTransit = 60 minute

Maximum time between surfacings for communications during transit

NeedCommsTimePatchTracking

NeedCommsTimePatchTracking = 300 minute

Maximum time between surfacings for communications during patch tracking. This is checked only on every NumRoundsBtnCrossLegSurfacings rounds of CrossLeg.

NeedCommsTimeMarginPatchTracking

NeedCommsTimeMarginPatchTracking = 60 minute

In case vehicle does not surface on periodic rounds of InLeg or CrossLeg, vehicle will be forced to surface at NeedCommsTimePatchTracking+NeedCommsTimeMarginPatchTracking.

WaitAfterBouncing

WaitAfterBouncing = 5 minute

After the vehicle bounces off the boundary (defined by minimum distance to shore or polygon sides), wait this long before re-checking the distance.

LatPatchTrackingStart

LatPatchTrackingStart = NaN degree

Latitude of patch tracking start location. If nan, transit is skipped.

LonPatchTrackingStart

LonPatchTrackingStart = NaN degree

Longitude of patch tracking start location. If nan, transit is skipped.

Repeat

Repeat = 5 count

Maximum number of rounds (one round = one full set of sweeps in four directions)

NumRoundsBtnCrossLegSurfacings

NumRoundsBtnCrossLegSurfacings = 5 count

Every so many rounds, vehicle surfaces on CrossLeg. Set to a big number to practially disable surfacing on CrossLeg.

WpMaxDistance

WpMaxDistance = 1000 meter

Maximum length of each tracking leg

WpTimeout

WpTimeout = 4000 second

Maximum duration of each tracking leg

TransitYoYoMinDepth

TransitYoYoMinDepth = 2 meter

Minimum depth while performing the YoYo behavior during transit.

TransitYoYoMaxDepth

TransitYoYoMaxDepth = 30 meter

Maximum depth while performing the YoYo behavior during transit.

PatchTrackingYoYoMinDepth

PatchTrackingYoYoMinDepth = 2 meter

Minimum depth while performing the YoYo behavior during patch tracking.

PatchTrackingYoYoMaxDepth

PatchTrackingYoYoMaxDepth = 25 meter

Maximum depth while performing the YoYo behavior during patch tracking.

YoYoMinAltitude

YoYoMinAltitude = 9 meter

Minimum altitude while performing the YoYo behavior (for bottom-terminated YoYos).

YoYoUpPitch

YoYoUpPitch = 20 degree

Vehicle up pitch while performing the YoYo behavior.

YoYoDownPitch

YoYoDownPitch = -20 degree

Vehicle down pitch while performing the YoYo behavior.

PeakShallowBnd

PeakShallowBnd = 5 meter

Shallow depth bound for detecting peak on each descent or ascent profile.

PeakDeepBnd

PeakDeepBnd = 20 meter

Deep depth bound for detecting peak on each descent or ascent profile.

BeginThresholdChl

BeginThresholdChl = 1.0 microgram_per_liter

If non-NaN, sets chlorophyll threshold for starting horizontal patch detection

BeginThresholdSalt

BeginThresholdSalt = 33.0 psu

If non-NaN, sets salinity threshold for starting horizontal patch detection

BeginThresholdOil

BeginThresholdOil = 0.2 kilogram_per_cubic_meter

If non-NaN, sets threshold for starting horizontal patch detection

WpBearing

WpBearing = 90 degree

Bearing being followed in the current leg. Set this to initialize start direction of patch tracking.

OffPeakFraction

OffPeakFraction = 90 percent

When filtered horizontal value is this fraction of the peak, consider it outside the patch.

DetectionTimeout

DetectionTimeout = 30 minute

Look for signal for this long. If none found within this timeout, switch to the next leg.

TimeWindowPeakRpt

TimeWindowPeakRpt = NaN minute

If greater than zero, report a peak every such time window has elapsed. If NaN or zero, this variable is ignored.

LowPassWindowLen

LowPassWindowLen = 20 count

Low-pass window length (based on depth sensor sampling interval 0.4 second) for low-pass filtering.

MedianFilterLength

MedianFilterLength = 5 count

Median filter length (only for chlorophyll fluorescence which tends to have spikes). The median-filtered signal enters the succeeding low-pass filter. If set to 1, then no median filtering, i.e., the raw fluorescence signal directly enters the low-pass filter.

NumOfProfilesSlidingwindow

NumOfProfilesSlidingwindow = 50 count

Length of horizontal sliding window. The highest per-yoyo peak (after low-pass filtering by a filter of length FilterWidthHorizontal) is picked out within this window.

FilterWidthHorizontal

FilterWidthHorizontal = 4 count

Width of boxcar filter used in horizontal patch detection

DepChangeThreshAttitudeFlip

DepChangeThreshAttitudeFlip = 2.0 meter

Depth change threshold for determining vehicle attitude flip.

WaterFrame

WaterFrame = true

Set WaterFrame true to drive towards waypoints in the water frame of reference

PatchMode

PatchMode = false

If true, use center of "in peak" range as the turn-around point. If false use maximum horizontal peak location as the turn-around point.

Turn

Turn = 90 degree

Amount to turn at each leg

Reverse

Reverse = 180 degree

Change in bearing which reverses vehicle direction

TwoPi

TwoPi = 360 degree

Applied to stop run-up of angles

MassDefault

MassDefault = Control:VerticalControl.massDefault

Static setting for mass during the mission. Defaults to massDefault setting in the Config/Control.cfg file.

BuoyancyNeutral

BuoyancyNeutral = Control:VerticalControl.buoyancyNeutral

Buoyancy bladder position while performing the YoYo behavior. Defaults to buoyancyNeutral setting in the Config/Control.cfg file.

Output

Reverse

Reverse = 180 degree

Change in bearing which reverses vehicle direction

TwoPi

TwoPi = 360 degree

Applied to stop run-up of angles

CntRounds

CntRounds = 1 count

Count of sweep rounds (initilized to 1).

PatchDetectOn

PatchDetectOn = false

Mission sets this to true when the patch has been crossed. Initialized to False.

WpDone

WpDone = true

Mission sets this to true when the cross-patch waypoint has been reached. Initialized to True.

CrossLegToPatchCenterCompleted

CrossLegToPatchCenterCompleted = false

Initialized to False.

CrossLegSearchForPeakStarted

CrossLegSearchForPeakStarted = false

Initialized to False.

AllDone

AllDone = false

Initialized to False.

FlagTurnBack

FlagTurnBack = false

Flag of turning back from shore. Initialized to False.

PatchPeakChl

PatchPeakChl = NaN microgram_per_liter

PatchPeakSalinity

PatchPeakSalinity = NaN psu

PatchPeakOil

PatchPeakOil = NaN kilogram_per_cubic_meter

PatchPeakDepth

PatchPeakDepth = NaN meter

PatchPeakLatitude

PatchPeakLatitude = NaN degree

PatchPeakLongitude

PatchPeakLongitude = NaN degree

PatchPeakDistance

PatchPeakDistance = 0 meter

StoppedForNaNPatchPeak

StoppedForNaNPatchPeak = false

Mission stopped because patch peak value is NaN. Initialized to False.

StoppedForBeingOutsideOfPolygon

StoppedForBeingOutsideOfPolygon = false

Mission stopped because the vehicle is outside of the polygon. Initialized to False.

ElapsedSinceStartOrLastDistCheck

ElapsedSinceStartOrLastDistCheck = 0 hour

The mission sets this variable to reset the timer for checking distance to shore and polygon sides.

Inserts

Insert/NeedComms.tl

Insert/AbortDrift.tl

redefineArg AcousticTimeout = AcousticTrackingTimeout

Insert/Science.tl

redefineArg PeakDetectChlActive = PeakDetectChl
redefineArg PeakDetectSalinityActive = PeakDetectSalinity
redefineArg PeakDetectOilActive = PeakDetectOil
redefineArg DetectTrough = DetectTheTrough
redefineArg TimeWindowPeakReport = TimeWindowPeakRpt
redefineArg LowPassWindowLength = LowPassWindowLen
redefineArg MedianFilterLen = MedianFilterLength
redefineArg PeakShallowBound = PeakShallowBnd
redefineArg PeakDeepBound = PeakDeepBnd
redefineArg DepChangeThreshForAttitudeFlip = DepChangeThreshAttitudeFlip

Invoked Module Behaviors

Guidance:AltitudeEnvelope

Guidance:Buoyancy

Guidance:DepthEnvelope

Guidance:Execute

Guidance:OffshoreEnvelope

Guidance:Pitch

Guidance:SetSpeed

Guidance:WaterDepthEnvelope

Guidance:Waypoint

Guidance:YoYo

Trigger:PeakDetectHorizontal