//------------------------------------------------- // NAME: M. Benjamin, Jason Webb MIT MechE // FILE: meta_vehicle.moos //------------------------------------------------- initialize DEPLOY = false initialize RETURN = false initialize SEARCH_1 = false initialize SEARCH_2 = false initialize SEARCH_1_DONE = false initialize SPDLIMIT = true //initialize DRIFT_X = 0.5 //initialize DRIFT_Y = 0.7 initialize AVOIDING = idle //---------------------------------------------- Behavior = BHV_HSLine { name = hsline time_on_leg = 5 condition = DEPLOY=true } //---------------------------------------------- Behavior=BHV_SailWaypoint { name = return pwt = 100 condition = RETURN = true condition = DEPLOY = true perpetual = true updates = RETURN_UPDATE endflag = RETURN = false endflag = DEPLOY = false endflag = MISSION = complete // endflag = EFLAG = r_endings=$[CTR_02] // cycleflag = CFLAG = r_cyles=$[CTR_01] // wptflag = WFLAG = r_waypoints=$[CTR] speed = 2.0 capture_radius = 10.0 slip_radius = 20.0 point = 0,-20 upwind_threshold = 45 // degrees patience = 0.9 // amount of importance of course zaic // polar plot parameters for 0 to 180° // Dramatically simplified from historic by mjs on 2/7/2023 // These are in heading/dimensionless magnitude pairs, _not_ speeds! polar_plot = 0,0:55,50:62,50:69,50:90,50:135,50:155,50:169,44:180,42 } //---------------------------------------------- Behavior=BHV_SailWaypoint { name = sail pwt = 100 condition = RETURN = false condition = DEPLOY = true condition = SEARCH_1 = false // endflag = RETURN = true endflag = RETURN = true updates = SAIL_UPDATE perpetual = true speed = 2.0 // meters per second capture_line = false capture_radius = 10 slip_radius = 15 upwind_threshold = 45 // degrees patience = 0.9 // amount of importance of course zaic // dist_from_track = 25 // sets allowable distance from trackline when navigating upwind // search = true // indicates that the function is to search the area provided by points below // track_space = 15 // width between sweeping lines in search pattern (25 may be sweet spot for simulation) // sensor_width = 10 // the effective width covered by the vehicle's sensor or the area covered in a single pass, determines search grid cell size // prop_installed = true //points = pts={50,-50:150,0:250,-15:190,-75:225,-100:50,-180} //points = pts={50,-50:150,0:225,-100:50,-180} //points = pts={10,-40:80,-150:140,-90:-130,-120:70,0:30,-130} //points = pts={-50,-100:150,-100:300,-250:-50,-250:-50,-100} //points = pts={50,-100:200,-50:250,-200:100,-250} // points = pts={50,-100:250,-25:300,-175:100,-250} // point = 100,-50 // Cannonical Mission: Path to first search area // point = 47,-398 // Cannonical Mission: Path to second search area points = pts={50,-50:100,-50:100,-150:50,-50} // triangle // points = pts={0,-50:150,-50:150,-200:0,-200} // rectangle // points = pts={50,-100:100,-100:100,-200:50,-200} // rectangle // points = pts={48,-25:102,-25:140,-63:140,-117:102,-155:48,-155:10,-117:10,-63:48,-25}// octagon // repeat = forever // number of _additional_ repeats or 'forever' // order = toggle // polar plot parameters for 0 to 180° // Dramatically simplified from historic by mjs on 2/7/2023 // These are in heading/dimensionless magnitude pairs, _not_ speeds! polar_plot = 0,0:55,50:62,50:69,50:90,50:135,50:155,50:169,44:180,42 visual_hints = nextpt_color=yellow visual_hints = nextpt_vertex_size=8 visual_hints = nextpt_lcolor=gray70 visual_hints = vertex_color=dodger_blue, edge_color=white visual_hints = vertex_size=6, edge_size=1 }