//--------------------------------------------------- // Helm Behavior file initialize DEPLOY = false initialize RETURN = false initialize STATION_KEEP = false initialize LOITER = true initialize AVOID = 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 = LOITERING { MODE = ACTIVE LOITER = true } //---------------------------------------------- Behavior = BHV_Loiter { name = loiter pwt = 100 condition = MODE==LOITERING updates = UP_LOITER runflag = VEHICLE_UNDERWAY = TRUE endflag = VEHICLE_UNDERWAY = FALSE ipf_type = zaic_spd post_suffix = A speed = 1.4 clockwise = false radius = 8.0 nm_radius = 15.0 polygon = radial:: $(LOITER_POS), radius=15, pts=8, snap=1, label=$(VNAME)_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 } //---------------------------------------------- Behavior = BHV_Waypoint { name = waypt_return pwt = 100 updates = RETURN_UPDATES condition = MODE==RETURNING endflag = STATION_KEEP = true endflag = AVOID = false speed = 1.3 radius = 3.0 nm_radius = 15.0 points = $(START_POS) repeat = 10 lead = 8 } //---------------------------------------------- Behavior = BHV_StationKeep { name = station-keep pwt = 100 condition = MODE==STATION-KEEPING inactiveflag = STATIONING = false activeflag = STATIONING = true 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=gray50 } //---------------------------------------------- Behavior = BHV_AvdColregsV19 { name = avdcol_ pwt = 200 condition = AVOID = true updates = CONTACT_INFO endflag = CONTACT_RESOLVED = $[CONTACT] templating = spawn use_refinery = true contact = to-be-set on_no_contact_ok = true extrapolate = true decay = 30,60 pwt_outer_dist = 20 pwt_inner_dist = 11 completed_dist = 40 min_util_cpa_dist = 8 max_util_cpa_dist = 15 pwt_grade = linear bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0 } //---------------------------------------------- //Behavior = BHV_AvoidCollision { name = ac_ pwt = 200 condition = AVOID = true updates = CONTACT_INFO idleflag = AVOIDING = idle activeflag = AVOIDING = active inactiveflag = AVOIDING = inactive runflag = AVOIDING = running endflag = AVOIDING = end endflag = CONTACT_RESOLVED = $[CONTACT] templating = spawn use_refinery = true contact = to-be-set on_no_contact_ok = true extrapolate = true decay = 30,60 pwt_outer_dist = 20 pwt_inner_dist = 11 completed_dist = 40 min_util_cpa_dist = 8 max_util_cpa_dist = 15 pwt_grade = linear bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0 } //---------------------------------------------- //Behavior=BHV_AvoidObstacle { name = avdob_ pwt = 300 condition = DEPLOY = true templating = spawn updates = OBSTACLE_ALERT allowable_ttc = 10 buffer_dist = 7 pwt_outer_dist = 25 pwt_inner_dist = 15 completed_dist = 30 } //---------------------------------------------- Behavior = BHV_AvoidObstacleV21 { name = avdob_ pwt = 300 condition = DEPLOY = true templating = spawn updates = OBSTACLE_ALERT use_refinery = true allowable_ttc = 12 pwt_outer_dist = 15 pwt_inner_dist = 5 completed_dist = 18 min_util_cpa_dist = 4 max_util_cpa_dist = 8 visual_hints = obstacle_edge_color = white visual_hints = obstacle_vertex_color = gray60 visual_hints = obstacle_fill_color = gray60 visual_hints = obstacle_fill_transparency = 0.7 visual_hints = buffer_min_edge_color = gray60 visual_hints = buffer_min_vertex_color = dodger_blue visual_hints = buffer_min_vertex_size = 1 visual_hints = buffer_min_fill_color = gray70 visual_hints = buffer_min_fill_transparency = 0.25 visual_hints = buffer_max_edge_color = gray60 visual_hints = buffer_max_vertex_color = dodger_blue visual_hints = buffer_max_vertex_size = 0 visual_hints = buffer_max_fill_color = gray80 visual_hints = buffer_max_fill_transparency = 0.1 }