############################################################################## # PURPOSE: Temperature following behavior to track tide generated internal wave # AUTHOR: Zhang, Hoover # DATE: 2007MAR16 # NOTE: Planned as night time run from Inshore to Offshore and back a total # of 9 times, followed by one out and back to Midway to bring total # estimated time to 17hr45min with 1/2 hour interupt points at # 17hr15min (Midway) and 16hr45min (Inshore). # Sequential behavoirs are bottom-up. Priorities are top-down. # MODS: # ############################################################################# # # # Inshore waypoint: # Latitude: 36º 41.70 min (36.6950º) # Longitude: -121º 53.40 min (-121.8900º) # Depth: 45 fathoms or 80 meters # # Offshore waypoint: # Latitude: 36º 42.10 min (36.7017º) # Longitude: -121º 56.10 min (-121.9350º) # Depth: 55 fathoms or 100 meters # # Distance between 2 waypoints: 4.082 km # If vertical speed of AUV while doing yoyo is 1.3m/s, # it will take AUV 52min20s to go from one point to the other # # # Midway point: # Latitude: 36º 41.90 min (36.6984º) # Longitude: -121º 54.75 min (-121.9125º) # # Distance between Inshore and Midway is 2041 meters # If vertical speed of AUV while doing yoyo is 1.3m/s, # it will take AUV 1570s or 26min10s to go from Inshore to Midway # # # Enter values for mintemp and maxtemp here # # #define MINTEMP ??? #define MAXTEMP ??? # Mission timer # Total time in subroutines is 10680 # Time to travel distance is 7200 # Max time set at 63985 * 1.05 = 67184 => 67500 or 18hr45min # "Wrong way Charlie" AUV is at least 1000 m off the beach from any fix behavior missionTimer { timeOut = 67500; } # Maximum depth and Abort Depth behavior depthEnvelope { minDepth = 0; maxDepth = 60; abortDepth = 70; abortAltitude = 2.5; } # End of mission # # Total time to this point is 17hr46min25sec # # Time to here is additional 30m # # At Inshore, on surface # # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes # estimate 120sec from max depth to surface behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } # 30 minutes to Inshore behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 1800; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # # Total time to this point is 17hr16min25sec # # Time to here is additional 30m40sec # # At Midpoint, on surface # # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } # 30 minutes to Midway with temp bands behavior waypointtemp_yoyo { latitude = 36.6984; longitude = -121.9125; captureRadius = 10; duration = 1800; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 seconds or 30 GPS hits behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } ####################################### # # Time to this point is estimated at 16hr45min45sec (about 17 hr) # From this point forward runs will be to midpoint and back # This gives data until the AUV is recovered and makes recovery # an option at any surface point. # ####################################### ####################################### # 9 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 8 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 7 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 6 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 5 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 4 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 3 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 2 round trips # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } ####################################### # 1 Round Trip # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Inshore waypoint # ### # 60 minutes to Inshore with temp bands behavior waypointtemp_yoyo { latitude = 36.6950; longitude = -121.8900; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degre down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 101; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 101 behavior setpoint { duration = 30; heading = 101; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 secs or 30 GPS hits to continue behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; } # Surface, 20 upangle, for 20 minutes behavior ascend { duration = 1200; horizontalMode = rudder; horizontal = 10; pitch = 20; speed = 1.5; endDepth = 2; } ### # # At Offshore waypoint # ### # 60 minutes to Offshore with temp bands behavior waypointtemp_yoyo { latitude = 36.7017; longitude = -121.9350; captureRadius = 10; duration = 3600; speed = 1.5; minDepth = 2.5; maxDepth = 40; minAltitude = 10.0; minTemp = MINTEMP; maxTemp = MAXTEMP; maxCycles = 1000000; } # Dive, 15 degree down angle to 5 meter depth for 60 sec behavior descend { horizontalMode = heading; horizontal = 281; pitch = -15; speed = 1.5; maxDepth = 5; minAltitude = 9; duration = 60; } # 30 seconds to gain speed at heading 281 behavior setpoint { duration = 30; heading = 281; speed = 1.5; verticalMode = pitch; pitch = 0; } # 300 seconds or 30 GPS hits behavior getgps { duration = 300; minHits = 30; abortOnTimeout = True; }