Skip to content
Page auto-generated from this source.

Science/circle_acoustic_contact.tl

Mission ID: circle_acoustic_contact

Mission Path: Science/circle_acoustic_contact.tl

This mission runs a circle around a specified acoustic contact. The tracking behavior periodically queries the DAT for range and direction to the contact, and the DAT acoustically interrogates the contact. The tracking component then calculates the position of the contact to update the center of the circle. When the vehicle surfaces and updates its own position with GPS, it queries the contact again, then sends the contact position to shore.

Arguments

MissionTimeout

MissionTimeout = 2 hour

Maximum duration of mission

NeedCommsTime

NeedCommsTime = 60 minute

Elapsed time after previous surface communications when vehicle will begin to ascend for additional surface communications

AcousticContactTimeout

AcousticContactTimeout = 15 minute

If the vehicle does not receive an acoustic signal for more than this length of time, it will surface for communications with shore.

ContactLabel

ContactLabel = 0 count

The acoustic address of the asset to be tracked

ContactDepth

ContactDepth = NaN meter

The depth of the asset to be tracked, if known.

PeakDetectChl

PeakDetectChl = false

Whether to enable peak chl detection on each yo-yo profile

SendPeakDepthAvgProfilesChl

SendPeakDepthAvgProfilesChl = false

Whether to report profiles-averaged max-per-profile depth of chlorophyll: _.peakdepth.

PeakDetectPlanktivoreLMavgROI

PeakDetectPlanktivoreLMavgROI = false

Whether to enable peak PlanktivoreLMavgROI detection on each yo-yo profile

SendPeakDepthAvgProfilesPlanktivoreLMavgROI

SendPeakDepthAvgProfilesPlanktivoreLMavgROI = false

Whether to report profiles-averaged max-per-profile depth of PlanktivoreLMavgROI: _.peakdepth.

ListenToTerminateMissionMsg

ListenToTerminateMissionMsg = false

Whether to listen to the _.terminateMission acoustic message.

SendNearSignal

SendNearSignal = false

Whether to send the _.near acoustic message to the contact.

ModemIDForSendingSignal

ModemIDForSendingSignal = 0 enum

ID of destination modem to send acoustic messages to. Defaults to the same as ContactLabel but doesn't have to be the same modem as that being tracked.

CenterLatitude

CenterLatitude = 36.81544 degree

The latitude of the center of the circle. Fill this in to specify a start position, it will be overwritten once the vehicle receives an acoustic signal from the contact.

CenterLongitude

CenterLongitude = -121.82506 degree

The longitude of the center of the circle. Fill this in to specify a start position, it will be overwritten once the vehicle receives an acoustic signal from the contact.

OuterCircleRadius

OuterCircleRadius = 300 meter

Radius of circle around acoustic contact during wait time

InnerCircleRadius

InnerCircleRadius = 50 meter

Radius of circle around acoustic contact during wait time

ThreshRangeContact

ThreshRangeContact = 100 meter

Send _.near acoustic message to the contact when the range is closer than this threshold.

TrackingUpdatePeriod

TrackingUpdatePeriod = 60 second

How long to wait between acoustic queries

NumberOfPings

NumberOfPings = 1 count

Number of return pings to request with each acoustic query (more than 1 will activate oneway mode)

LowPassWindowLengthVertical

LowPassWindowLengthVertical = 20 count

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

NumProfilesAvgPeakDepth

NumProfilesAvgPeakDepth = 3 count

Number of yoyo profiles for averaging the max-per-profile peak depths.

InnerCircleTime

InnerCircleTime = 0 minute

Time before each normal communication cycle to move to the inner circle. Default value of 0 means vehicle will stay at OuterCircleRadius the whole time.

CircleMaxError

CircleMaxError = 100 meter

If this distance away from the circle, drive straight towards (or away from the center). Otherwise, try to reduce distance from the ideal circle.

CircleTurnToPort

CircleTurnToPort = false

If true, vehicle turns to the left around the center point. If false, vehicle turns to the right.

FixedDepth

FixedDepth = NaN meter

If non-nan, vehicle flies a flat-and-level circle at the specified depth instead of yo-yos. See noyo settings below.

YoYoMinDepth

YoYoMinDepth = 3 meter

Minimum depth during yo-yo's.

YoYoMaxDepth

YoYoMaxDepth = 20 meter

Maximum depth during yo-yo's.

ValidLegDeepThresh

ValidLegDeepThresh = NaN meter

Flip-to-ascent depth needs to be deeper than this threshold to be considered a valid leg for peak reporting.

YoYoMinAltitude

YoYoMinAltitude = 10 meter

Min altitude while in yo-yo mode.

YoYoPitch

YoYoPitch = 20 degree

Pitch (plus and minus) for yo-yo behavior.

Speed

Speed = 1 meter_per_second

Vehicle speed.

KwpHeading

KwpHeading = 0.010 radian_per_meter

Used to relax waypoint cross-track error constant that is adjusted for docking. (You can override this setting by passing an argument.)

MinAltitude

MinAltitude = 7 meter

Minimum height above the sea floor for the entire mission.

MaxDepth

MaxDepth = 105 meter

Maximum depth for the entire mission.

MinOffshore

MinOffshore = 1.5 kilometer

Minimum offshore distance for the entire mission.

NoYoApproachSpeed

NoYoApproachSpeed = 0.7 meter_per_second

Speed while descending to target depth for flat-and-level circle Not used for yoyos

NoYoApproachDepthRate

NoYoApproachDepthRate = 0.05 meter_per_second

Descent depth rate (Positive depth rate means going down) for flat-and-level circle Not used for yoyos

NoYoApproachPitchLimit

NoYoApproachPitchLimit = 20 degree

Max vehicle pitch (+/-) when decending from the surface for flat-and-level circle Not used for yoyos

NoYoApproachDepthTimeout

NoYoApproachDepthTimeout = 15 minute

Maximum time duration for the vehicle to reach the target depth for flat-and-level circle Not used for yoyos

NoYoApproachSettleTimePreDive

NoYoApproachSettleTimePreDive = 1 minute

Time duration for the vehicle to pump down the VBS BEFORE leaving the surface for flat-and-level circle Not used for yoyos

NoYokpDepth

NoYokpDepth = 0.07 radian_per_meter

Dive loop proportional gain (applied only while the vehicle is descending to target depth).

Output

DiveMode

DiveMode = 0 count

Mission variable (don't change). The mission sets this variable to switch between dive modes. Initialized to DoingComms.

DoingComms

DoingComms = 0 count

Mission variable (don't change). The mission will run in this to mode when doing surface comms.

InitialDive

InitialDive = 1 count

Mission variable (don't change). The mission will run in this mode after surface comms are done to dive the vehicle to the approach depth.

MaintainDepth

MaintainDepth = 2 count

Mission variable (don't change). The mission will run in this mode to maintain the vehicle at the target depth.

PeakDepthAvgOverProfiles

PeakDepthAvgOverProfiles = 0 meter

The peak signal depth averaged over NumProfilesAvgPeakDepth of profiles.

TrueVar

TrueVar = true

NearSignalSent

NearSignalSent = false

Have sent the _.near message to the contact.

TerminateMissionMsgReceived

TerminateMissionMsgReceived = false

Whether this vehicle has received the _.terminateMission message from the other vehicle.

Inserts

Insert/AbortDrift.tl

redefineArg AcousticTimeout = AcousticContactTimeout

Insert/NeedComms.tl

Insert/StandardEnvelopes.tl

Insert/BackseatDriver.tl

Insert/PowerOnly.tl

Insert/TerminateMissionByMsg.tl

Insert/Science.tl

Get science data.

redefineArg PeakDetectChlActive = PeakDetectChl
redefineArg PeakDepthAvgProfilesChlActive = SendPeakDepthAvgProfilesChl
redefineArg PeakDetectPlanktivoreLMavgROIActive = PeakDetectPlanktivoreLMavgROI
redefineArg PeakDepthAvgProfilesPlanktivoreLMavgROIActive = SendPeakDepthAvgProfilesPlanktivoreLMavgROI
redefineArg LowPassWindowLength = LowPassWindowLengthVertical
redefineArg FilterWidthHorizontal = NumProfilesAvgPeakDepth
redefineArg ShallowBound = YoYoMinDepth
redefineArg DeepBound = YoYoMaxDepth
redefineArg DeepThreshValidLeg = ValidLegDeepThresh

Invoked Module Behaviors

Estimation:TrackAcousticContact

Guidance:AltitudeEnvelope

Guidance:Buoyancy

Guidance:Circle

Guidance:DepthEnvelope

Guidance:Execute

Guidance:Mass

Guidance:Pitch

Guidance:SetSpeed

Guidance:Wait

Guidance:YoYo

Sensor:SendDirect