Science/circle_acoustic_contact.tl
¶
Mission ID: ``
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.
ListenToTerminateMissionMsg¶
ListenToTerminateMissionMsg = false
Whether to listen to the _.terminateMission acoustic message.
SendNearSignal¶
SendNearSignal = false
Whether to send the _.near acoustic message to the contact.
ModemIDForNearSignal¶
ModemIDForNearSignal = 0 enum
ID of modem to send _.near acoustic message. 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)
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 = 33 meter
Maximum depth during yo-yo's.
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.
TrueVar¶
TrueVar = true
NearSignalSent¶
NearSignalSent = false
Have sent the _.near message to the contact.
Inserts¶
Insert/AbortDrift.tl
¶
redefineArg AcousticTimeout = AcousticContactTimeout
Insert/NeedComms.tl
¶
Insert/StandardEnvelopes.tl
¶
Insert/BackseatDriver.tl
¶
Insert/PowerOnly.tl
¶
Insert/TerminateMissionByMsg.tl
¶
redefineArg ListenToMsgTerminateMission = ListenToTerminateMissionMsg
Insert/Science.tl
¶
Get science data, including PeakDetectChl
redefineArg PeakDetectChlActive = true