initialize TRAIL = false initialize STATION_KEEP = true initialize RETURN = false initialize DEPLOY = false initialize TAGGED = false initialize ENEMY_TERRITORY = false set MODE = ACTIVE { DEPLOY = true } INACTIVE set MODE = STATION-KEEPING { MODE = ACTIVE TRAIL != true STATION_KEEP = true } set MODE = TRAILING { MODE = ACTIVE TRAIL = true } set MODE = RETURNING { MODE = ACTIVE RETURN = true TAGGED = false } ATTACKING set MODE = TAGGED { MODE = ACTIVE:ATTACKING TAGGED != false } UNTAGGED set MODE = AVOIDING { MODE = ACTIVE:ATTACKING:UNTAGGED ENEMY_TERRITORY = true } Behavior = BHV_AvoidCollision { name = avdcollision_ // example pwt = 200 //behavior specific configuration condition = MODE==ACTIVE templating = spawn // example updates = CONTACT_INFO endflag = CONTACT_RESOLVED = $[CONTACT] // example contact = chaser2 decay = 15,30 on_no_contact_ok = true extrapolate = true completed_dist = 22 pwt_outer_dist = 200 pwt_inner_dist = 50 min_util_cpa_dist = 10 max_util_cpa_dist = 75 pwt_grade = linear bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0 } //---------------------------------------------- Behavior = BHV_Waypoint { name = waypt_grab pwt = 50 perpetual = true condition = MODE==UNTAGGED updates = WPT_UPDATE endflag = FLAG_GRAB_REQUEST=vname=$(VNAME) endflag = RETURN=true speed = 5 // meters per second capture_line = false capture_radius = 5.0 slip_radius = 5.0 points = $(GRAB_POS) visual_hints = nextpt_color=gray20 visual_hints = nextpt_vertex_size=2 visual_hints = nextpt_lcolor=invisible visual_hints = label_color=invisible visual_hints = vertex_color=invisible, edge_color=invisible visual_hints = vertex_size=2, edge_size=1 } //---------------------------------------------- Behavior = BHV_Waypoint { name = waypt_untag pwt = 100 perpetual = true condition = MODE==TAGGED activeflag = RETURN = false endflag = TAGGED = false speed = 5 capture_radius = 10.0 slip_radius = 10.0 points = $(UNTAG_POS) } //Behavior = BHV_OpRegion { name = opregion pwt = 100 condition = MODE==ACTIVE polygon = pts={-220, -120 : -100, -430 : 380, -240 : 254, 46 : 112, 21 }, label_area=SAFETY_OPAREA breached_poly_flag = SAY_MOOS = ALERT op region has been violated trigger_entry_time = 1 trigger_exit_time = 1 visual_hints = edge_color = aqua visual_hints = edge_size=1 } //Behavior = BHV_Trail { name = trail_mokai // example pwt = 100 // default condition = MODE == TRAILING //TRAIL_ALLOWED = true updates = TRAIL_INFO // example // runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=Betty Is Following // runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=file=t2_affirmative.wav runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=file=t3_programmed.wav // General Contact Behavior Parameters contact = mokai // example decay = 15,30 // default (seconds) extrapolate = true // default on_no_contact_ok = true // default time_on_leg = 60 // default (seconds) // Parameters specific to this behavior nm_radius = 1 // default (meters) no_alert_request = false // default post_trail_dist_on_idle = true // default pwt_outer_dist = 0 // default (meters) radius = 1 // default (meters) trail_angle = 220 // default (degrees) trail_angle_type = relative // default (relative or absolute) trail_range = 8 // default (meters) } Behavior = BHV_StationKeep { name = station-keep pwt = 100 condition = MODE == STATION-KEEPING // runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=Betty Is Stationing runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=file=t2_no_problemo.wav center_activate = true inner_radius = 5 outer_radius = 10 outer_speed = 1.0 transit_speed = 1.3 swing_time = 7 hibernation_radius = 25 visual_hints = vertex_size=0, edge_color=blue } //------RETURN---------------------------------------- Behavior = BHV_Waypoint { name = waypt_return pwt = 100 updates = RETURN_UPDATES condition = MODE == RETURNING // runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=Betty Is Returning runflag = NODE_MESSAGE_LOCAL=src_node=betty,dest_node=mokai,var_name=SAY_MOOS,string_val=file=t1_be_back.wav endflag = STATION_KEEP = true speed = 3.0 radius = 3.0 nm_radius = 15.0 points = $(RETURN_POS) repeat = 10 lead = 8 }