//******************************************************* // Vehicle behavior configuration file initialize DEPLOY = false initialize RETURN = false initialize STATION_KEEP = false initialize LEG_RUNNING = false initialize FIX_TURNING = false initialize LEG_STARTED = false initialize OTHER_READY = false initialize START = false initialize PRE_START_DONE = false initialize UNREP_READY = false initialize STEADY = false set MODE = ACTIVE { DEPLOY = true } INACTIVE set MODE = STATION-KEEPING { MODE = ACTIVE STATION_KEEP = true } set MODE = RETURNING { MODE = ACTIVE RETURN = true } set MODE = FULL_STOP { MODE = ACTIVE FULL_STOPPING = true } set MODE = PRE_START { MODE = ACTIVE START = true PRE_START_DONE = false } set MODE = WAIT { MODE = ACTIVE OTHER_READY = false START = true PRE_START_DONE = true //LEG_STARTED = false } set MODE = STARTLINE { MODE = ACTIVE OTHER_READY = true START = true PRE_START_DONE = true LEG_STARTED = false } set MODE = APPROACHING { MODE = ACTIVE UNREP_READY=true } set MODE = STEADYING { MODE = ACTIVE STEADY = true } set MODE = LEGRUN { MODE = ACTIVE LEG_RUNNING = true } //---------------------------------------------- Behavior = BHV_LegRunZ { name = legs pwt = 100 condition = MODE == LEGRUN updates = LEG_UPDATE perpetual = true activeflag = LEG_STARTED = true //endflag = LEG_STARTED = false // Restart if needed endflag = LEG_RUNNING = false endflag = RETURN = true lead = 5 lead_damper = 4 speed = 1 capture_line = true capture_radius = 5 slip_radius = 15 //leg_length_min = 5 init_leg_mode = close_turn // (fixed), close_turn, far_turn #ifdef LOC north leg = x=20,y=-60,len=110,ang=64.64 // vx1 = 70, -60 // vx2 = -30, -60 turn1_dir = port turn2_dir = star #elseifdef LOC south leg = x=25,y=-70,len=100,ang=64.64 //vx1 = 75, -70 //vx2 = -25, -70 turn1_dir = star turn2_dir = port #else vx1 = 10, -70 vx2 = -10, -70 #endif repeat = 10 turn1_rad = 10 turn2_rad = 10 turn1_bias = 100 turn2_bias = 100 mid_pct = 20 // Set messages for UNREP #ifdef I_AM_LEAD yes start_leg_flag = NODE_MESSAGE_LOCAL="src_node=$(VNAME),dest_node=$(FOLLOWER_VEHICLE),var_name=UNREP_READY,string_val=true" start_leg_flag = STEADY=true start_turn_flag = NODE_MESSAGE_LOCAL="src_node=$(VNAME),dest_node=$(FOLLOWER_VEHICLE),var_name=UNREP_READY,string_val=false" #else start_leg_flag = APPROACH=true // Might no longer be needed #endif // legflag = PCT_TO_NEXT=$[PCT_NP] // wptflag = TEST_VAR=testwptflag // midflag = TEST_VAR=testmidflag // cycleflag = TEST_VAR=testcycleflag // start_leg_flag = TEST_VAR=startingLeg // start_turn_flag = TEST_VAR=startingTurn // wptflag = START_LOOP="id=$[LEG_ID]" // midflag = MIDFLAG=true //leg_spds = 2, 3:1.8, 1.5 //leg_spds = 2, 1.8, 1.6, 1.4, 1.2 //#ifdef VNAME ben // shift_point = 30,-80 //#elseifdef VNAME cal // shift_point = 30,-120 //#elseifdef VNAME deb // shift_point = 30,-140 //#elseifdef VNAME eve // shift_point = 30,-160 //#elseifdef VNAME fin // shift_point = 30,-180 //#endif 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 visual_hints = turn_edge_color=gray80 visual_hints = turn_vertex_color=green } //---------------------------------------------- Behavior=BHV_Waypoint { name = waypt_return pwt = 100 condition = MODE==RETURNING perpetual = true updates = RETURN_UPDATE endflag = RETURN = false endflag = DEPLOY = false endflag = MISSION = complete lead = 8 lead_damper = 1 lead_to_start = true speed = 1.0 capture_radius = 2.0 slip_radius = 8.0 #ifdef LOC north point = 5,-8 #elseifdef LOC south point = 25,-1 #else point = 17,-5 #endif } //---------------------------------------------- Behavior=BHV_Waypoint { name = waypt_startline pwt = 100 condition = MODE==STARTLINE perpetual = true endflag = START = false endflag = LEG_RUNNING = true lead = 5 lead_damper = 4 lead_to_start = true speed = 1.0 capture_radius = 2.0 slip_radius = 8.0 #ifdef LOC north // template is for the midpoint of the legrun as x3,y3. // the entire sequence is: x3-15,y3+5 : x3-10,y3 : x3,y3 //points = -10,-35:-5,-40:5,-40 points = 52,-31: 57,-36: 67,-36 #elseifdef LOC south //points = 20,-115:25,-120:35,-120 //points = 52,-43: 57,-48: 67,-48 points = 56,-56: 64,-56: 68, -51 #else points = -2,-35:4,-43:14,-44:25,-42 #endif } //---------------------------------------------- Behavior=BHV_Waypoint { name = waypt_wait_start pwt = 100 condition = MODE==PRE_START perpetual = true //endflag = START = false //endflag = LEG_RUNNING = true endflag = PRE_START_DONE = true // handle all the possible options. // extra postings will be ignored. #ifdef OTHER_VEHICLE no endflag = OTHER_READY=true #endif #ifdef VNAME ben endflag = NODE_MESSAGE_LOCAL="src_node=ben,dest_node=abe,var_name=OTHER_READY,string_val=true" endflag = NODE_MESSAGE_LOCAL="src_node=ben,dest_node=max,var_name=OTHER_READY,string_val=true" #elseifdef VNAME abe endflag = NODE_MESSAGE_LOCAL="src_node=abe,dest_node=ben,var_name=OTHER_READY,string_val=true" #elseifdef VNAME max endflag = NODE_MESSAGE_LOCAL="src_node=max,dest_node=ben,var_name=OTHER_READY,string_val=true" #endif lead = 8 lead_damper = 1 lead_to_start = true speed = 1.0 capture_radius = 2.0 slip_radius = 8.0 point = 25,-42 #ifdef LOC north point = 40,-15 #elseifdef LOC south point = 45,-50 #else point = -50,-30 #endif } //----------------------------------------------- Behavior = BHV_ConstantSpeed { // General Behavior Parameters // --------------------------- name = const_spd_wait // example pwt = 100 // default condition = MODE==WAIT // example // Parameters specific to this behavior // ------------------------------------ basewidth = 0.2 // default duration = 0 // default speed = 0 // default perpetual = true } //------------------------------------------ //Behavior = BHV_Trail { // General Behavior Parameters // --------------------------- name = trail_ pwt = 100 condition = MODE==APPROACHING updates = TRAIL_INFO templating = spawn // General Contact Behavior Parameters // ----------------------------------- contact = ben bearing_lines = true decay = 15,30 // default (seconds) extrapolate = true // default on_no_contact_ok = false // default time_on_leg = 60 // default (seconds) // Parameters specific to this behavior // ------------------------------------ nm_radius = 20 // default (meters) no_alert_request = false // default post_trail_dist_on_idle = true // default pwt_outer_dist = 0 // default (meters) radius = 5 // default (meters) trail_angle = 180 // default (degrees) trail_angle_type = relative // default (or absolute) trail_range = 5 // default (meters) } //---------------------------------------------- Behavior=BHV_Shell { name = unrep_approach pwt = 100 condition = MODE==APPROACHING input_heading_var = DES_UNREP_HEADING input_speed_var = DES_UNREP_SPEED } //---------------------------------------------- Behavior=BHV_Waypoint { name = waypt_steady pwt = 100 condition = MODE==STEADYING updates = STEADYING_UP perpetual = true endflag = STEADY = false endflag = STEADYING_UP=order=toggle lead = 5 lead_damper = 4 lead_to_start = true speed = 0.75 capture_radius = 2.0 slip_radius = 8.0 visual_hints = nextpt_color=yellow visual_hints = nextpt_vertex_size=8 //points = 62,-53:49,-65:24,-62:19,-86:-14,-90 //points = 53,-56:50,-72:17,-86:3,-80 //points = 51,-57:39,-71:20,-80:-1,-82 points = 69,-49:-19,-91 // straight line } // SAFETY RELATED:: //---------------------------------------------- Behavior = BHV_AvdColregsV22 { name = avdcol_ pwt = 350 condition = MODE==ACTIVE condition = MODE!=ACTIVE:STATION-KEEPING updates = CONTACT_INFO endflag = CONTACT_RESOLVED = $[CONTACT] templating = spawn contact = to-be-set on_no_contact_ok = true extrapolate = true decay = 30,60 headon_only = true //velocity_filter = min_spd=0.2, max_spd=1.0, pct=40 use_refinery = true // eval_tol = 30 pwt_outer_dist = 7 pwt_inner_dist = 6 completed_dist = 30 min_util_cpa_dist = 6 max_util_cpa_dist = 14 pwt_grade = linear // bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0 } Behavior = BHV_OpRegion { // General Behavior Parameters // --------------------------- name = op_region // example pwt = 100 // default condition = MODE==ACTIVE // example condition = MODE!=ACTIVE:RETURNING updates = OPREGION_UPDATES // example // Parameters specific to this behavior // ------------------------------------ max_time = 0 // default (seconds) max_depth = 0 // default (meters) min_altitude = 0 // default (meters) reset_var = DEPLOY // example trigger_entry_time = 1 // default (seconds) trigger_exit_time = 0.5 // default (seconds) polygon = pts={115,40:-101.87,-62.79:-24.78,-225.45:192.09,-122.64} breached_poly_flag = SAY_MOOS = Sir, the op region has been violated visual_hints = vertex_color = brown // default visual_hints = vertex_size = 3 // default visual_hints = edge_color = aqua // default visual_hints = edge_size = 1 // default }