//--------------------------------------------------- // Helm Behavior file initialize DEPLOY = false initialize RETURN = false initialize STATION_KEEP = false initialize LOITER = true initialize AVOID = true initialize CONTACT_AVOID = false initialize AVOIDING = idle set MODE = ACTIVE { DEPLOY = true } INACTIVE set MODE = STATION-KEEPING { MODE = ACTIVE STATION_KEEP = true } set MODE = RETURNING { MODE = ACTIVE RETURN = true } SURVEYING //---------------------------------------------- Behavior = BHV_Waypoint { name = waypt_survey pwt = 100 condition = MODE==SURVEYING endflag = RETURN = true updates = WPT_UPDATE perpetual = true lead_condition = AVOIDING != active lead = 8 lead_damper = 1 lead_to_start = true speed = 2.5 // meters per second capture_line = true capture_radius = 5.0 slip_radius = 15.0 efficiency_measure = all polygon = 60,-40 : 60,-160 : 150,-160 : 180,-100 : 150,-40 order = normal repeat = 1 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=5, edge_size=1 } //---------------------------------------------- Behavior = BHV_AvdColregsV17 //Behavior = BHV_AvoidCollision { name = ac_ pwt = 500 condition = AVOID = true condition = MODE==SURVEYING updates = CONTACT_INFO idleflag = AVOIDING = idle activeflag = AVOIDING = active inactiveflag = AVOIDING = inactive runflag = AVOIDING = running endflag = AVOIDING = end endflag = CONTACT_RESOLVED = $[CONTACT] templating = spawn contact = to-be-set on_no_contact_ok = true extrapolate = true decay = 30,60 pwt_outer_dist = 50 pwt_inner_dist = 20 completed_dist = 75 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_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 }