//******************************************************* // Vehicle behavior configuration file initialize DEPLOY = false initialize RETURN = false initialize STATION_KEEP = false initialize OPTION = inside_zone initialize RESCUE_REGION = pts={-262,-182:-82,-537:465,-310:251,37} initialize COVER = true // for region search control behavior initialize ACTIVE_OPINIONS = true // for opinions to be active initialize SEARCH_FOR_TARGET = true set MODE = ACTIVE { DEPLOY = true } INACTIVE set MODE = STATION-KEEPING { MODE = ACTIVE STATION_KEEP = true } set MODE = RETURNING { MODE = ACTIVE RETURN = true } set MODE = INTERROGATING { MODE = ACTIVE OPTION = INTERCEPT } set MODE = COVERING_INSIDE_ZONE { MODE = ACTIVE OPTION = INSIDE_ZONE } set MODE = COVERING_OUTSIDE_ZONE { MODE = ACTIVE OPTION = OUTSIDE_ZONE } COVERING_INSIDE_ZONE //---------------INSIDE_ZONE------------------------------ //---------------------------------------------- Behavior = BHV_Voronoi2 { name = voronoi_inside_zone pwt = 10 condition = MODE==COVERING_INSIDE_ZONE idleflag = PROX_POLY_VIEW = false activeflag = PROX_POLY_VIEW = true UPDATES = VCOVER_UPDATE_INSIDE perpetual = true // Parameters specific to this behavior // ------------------------------------ capture_radius = 10 activate_radius = 15 //turn_radius = 500 //op_region= pts={-262,-182:-82,-537:465,-310:251,37} speed = 1 stale_nav_thresh = 5 stale_poly_thresh = 10 setpt_method = center allow_slipping = true visual_hints = setpt_size = 4 visual_hints = setpt_color = dodger_blue visual_hints = vertex_color = yellow // default visual_hints = vertex_lcolor = aqua // default visual_hints = label = zone2 // example } //---------------OUTSIDE_ZONE------------------------------ //---------------------------------------------- Behavior = BHV_Voronoi2 { name = voronoi_outside_zone pwt = 10 condition = MODE==COVERING_OUTSIDE_ZONE idleflag = PROX_POLY_VIEW = false activeflag = PROX_POLY_VIEW = true UPDATES = VCOVER_UPDATE_OUTSIDE perpetual = true // Parameters specific to this behavior // ------------------------------------ capture_radius = 10 activate_radius = 10 //turn_radius = 500 //op_region= pts={-262,-182:-82,-537:465,-310:251,37} speed = 1 stale_nav_thresh = 5 stale_poly_thresh = 10 setpt_method = center allow_slipping = true visual_hints = setpt_size = 4 visual_hints = setpt_color = red visual_hints = vertex_color = green // default visual_hints = vertex_lcolor = magenta // default visual_hints = label = zone3 // example } //---------------------------------------------- Behavior = BHV_RegionSearchControl { name = regionsearch pwt = 100 condition = (MODE==COVERING_OUTSIDE_ZONE) condition = (VOI_STATE="slipping") or (VOI_STATE="captured") UPDATES = VECTOR_UPDATE perpetual = true // Parameters specific to this behavior // ------------------------------------ speed = 0.4 spin_rad = 120 //mode = stochastic mode = rotate //random_number = $(MOOS_PORT) } //---------------------------------------------- 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 speed = $(SPEED) capture_radius = 2.0 slip_radius = 8.0 #ifdef VNAME abe point = 52,9 #elseifdef VNAME ben point = 39,4 #elseifdef VNAME cal point = 29,0 #elseifdef VNAME deb point = 16,-6 #elseifdef VNAME eve point = 4,-11 #elseifdef VNAME fin point = 2,-15 #elseifdef VNAME max point = 26,-2 #elseifdef VNAME ned point = 12,-8 #elseifdef VNAME oak point = 40,-8 #else point = 0,-10 #endif } //---------------------------------------------- Behavior = BHV_StationKeep { name = station-keep pwt = 100 condition = MODE==STATION-KEEPING center_activate = true inner_radius = 5 outer_radius = 10 outer_speed = 1.0 transit_speed = 0.5 swing_time = 7 visual_hints = vertex_size=0, edge_color=gray50 } //---------------------------------------------- Behavior = BHV_AvoidCollision { 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 use_refinery = true pwt_outer_dist = 25 pwt_inner_dist = 10 completed_dist = 40 min_util_cpa_dist = 15 max_util_cpa_dist = 25 pwt_grade = linear bearing_lines = true bearing_lines = white:0, green:0.25, yellow:0.5, red:1.0 } Behavior = BHV_Trail { // General Behavior Parameters // --------------------------- name = trail_intruder // example pwt = 100 // default updates = TRAIL_INFO // example //templating = spawn // example // endflag = INTERROGATE = false // endflag = ACTIVE_OPINIONS = true condition = MODE==INTERROGATING condition = SEARCH_FOR_TARGET == false // General Contact Behavior Parameters // ----------------------------------- contact = $(VNAME) // example decay = 15,30 // default (seconds) extrapolate = true // default on_no_contact_ok = true // default time_on_leg = 60 // default (seconds) // duration = 360 // duration till completion // Parameters specific to this behavior // ------------------------------------ match_region = format=ellipse, x=80, y=-180, major=450, minor=350, degs=25.0, pts=20, snap=0.1, label=trigger_region exit_on_filter_region = true nm_radius = 5 // default (meters) no_alert_request = false // default post_trail_dist_on_idle = true // default pwt_outer_dist = 0 // default (meters) radius = 2.5 // default (meters) trail_angle = 225 // default (degrees) trail_angle_type = relative // default (or absolute) trail_range = 20 // default (meters) } //---------------------------------------------- Behavior=BHV_Waypoint { name = waypt_search_for_target pwt = 100 condition = MODE==INTERROGATING condition = SEARCH_FOR_TARGET == true updates = SEARCH_WAYPOINT_UP speed = $(SPEED) capture_radius = 2.0 slip_radius = 8.0 #ifdef VNAME abe point = 52,9 #elseifdef VNAME ben point = 39,4 #elseifdef VNAME cal point = 29,0 #elseifdef VNAME deb point = 16,-6 #elseifdef VNAME eve point = 4,-11 #elseifdef VNAME fin point = 2,-15 #elseifdef VNAME max point = 26,-2 #elseifdef VNAME ned point = 12,-8 #elseifdef VNAME oak point = 40,-8 #else point = 0,-10 #endif }