//******************************************************* // Vehicle behavior configuration file initialize DEPLOY = false initialize RETURN = false initialize STATION_KEEP = false initialize OPTION = guard_base initialize RESCUE_REGION = pts={-262,-182:-82,-537:465,-310:251,37} set MODE = ACTIVE { DEPLOY = true } INACTIVE set MODE = GUARDING_BASE { MODE = ACTIVE OPTION = guard_base } set MODE = PERIMETER_SEARCHING { MODE = ACTIVE OPTION = perim_search } set MODE = COVERING { MODE = ACTIVE OPTION = coverage } set MODE = STATION-KEEPING { MODE = ACTIVE STATION_KEEP = true } set MODE = RETURNING { MODE = ACTIVE RETURN = true } TRAVERSING //---------------------------------------------- Behavior = BHV_Voronoi { name = voronoi_cover pwt = 10 condition = MODE==COVERING idleflag = PROX_POLY_VIEW = false activeflag = PROX_POLY_VIEW = true UPDATES = VCOVER_UPDATE 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 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 = zone3 // example } //---------------------------------------------- // Simple Guard Base behavior //---------------------------------------------- Behavior = BHV_Loiter { name = guard_base_loiter pwt = 100 condition = MODE==GUARDING_BASE UPDATES = LOITER_UPDATE perpetual = true runflag = ENCIRCLE_ACTIVE=true idleflag = ENCIRCLE_ACTIVE=false activeflag = ENCIRCLE_POSITION=format=ellipse, x=80, y=-245, degs=25, pts=14, snap=1,major=130, minor=80 post_suffix = A speed = 1.3 clockwise = false radius = 8.0 nm_radius = 15.0 polygon = label=GUARD_BASE_LOITER, format=ellipse, x=80, y=-245, degs=25, pts=14, snap=1,major=130, minor=80 //polygon = 63,11:72,-6:-72,-72:-80,-56:label,GUARD_BASE_LOITER visual_hints = nextpt_color=white, nextpt_lcolor=khaki visual_hints = edge_color=orange, vertex_color=white visual_hints = edge_size=1, vertex_size=2 } //---------------------------------------------- // Simple Perimeter search behavior //---------------------------------------------- Behavior = BHV_Loiter { name = loiter_perim_search pwt = 100 condition = MODE == PERIMETER_SEARCHING endflag = RETURN = true UPDATES = LOITER_UPDATE_TWO perpetual = true post_suffix = B speed = 1.0 clockwise = false radius = 8.0 nm_radius = 15.0 polygon = -222,-193:-70,-499:423,-300:240,1:label,PERIM_SEARCH visual_hints = nextpt_color=yellow visual_hints = nextpt_vertex_size=8 visual_hints = nextpt_lcolor=gray70 visual_hints = edge_color=white, vertex_color=dodger_blue visual_hints = vertex_size=5, edge_size=1 } //---------------------------------------------- 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 = 35 pwt_inner_dist = 10 completed_dist = 40 min_util_cpa_dist = 10 max_util_cpa_dist = 18 pwt_grade = linear // bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0 }