Skip to content
Snippets Groups Projects
Commit 90045d13 authored by Davis, Duane T's avatar Davis, Duane T
Browse files

LIB: Reordered behavior enumerations and changed LandingOrderParser type field

parent 924209b2
No related branches found
No related tags found
No related merge requests found
......@@ -99,29 +99,32 @@ ALT_BLOCK_SIZE = 10.0 # Altitude block size for altitude-separated behaviors
# Enumeration for available swarm behaviors
SWARM_STANDBY = 0 # No swarm behavior (set no payload control)
SWARM_LINEAR_FORMATION = 1 # Straight line high-to-low formation
SWARM_SEARCH = 2 # Conduct a coordinated search of a specified area
NAIVE_SHOOTER = 3 # Shoot closest red UAV & ignore other UAV results
GREEDY_SHOOTER = 4 # Shoot the closest red UAV but use other UAV results
PN_INTERCEPTOR = 5 # Proportional navigation intercept of a target UAV
ALTITUDE_SORT = 6 # Consensus algorithm to sort UAVs by rel_alt
LAZY_ALTITUDE_SORT = 7 # Lazy consensus algorithm to sort UAVs by rel_alt
INDEPENDENT_TRANSIT = 8 # Transit independently to a specified location
SMART_SHOOTER = 9 # Shoot the closest red UAV but use other UAV results and dont pursue enemy already being pursued by a friendly
CONSTRAINED_SHOOTER = 10 # Built on Smart Shooter - Constrained FOV Angle and Range of engaging targets
OPPORTUNISTIC_SHOOTER = 11 # Reactive version of Greedy Shooter (reselects target every iteration)
WINGMAN = 12 # Combination of Linear Formation and Constrained Shooter Behaviors
PATROL_BOX = 13 # Randomly patrol a rectangular box
PATROL_BOX_SHOOTER = 14 # Randomly patrol a rectangular box & engage approaching red UAVs
TACTIC_INTERFACE = 15 # Use generic tactic interface
EVADER = 16 # Move to a waypoint while avoiding enemies
AREA_SPREAD = 17 # Disperse uniformly through a rectangular area
SIMPLE_GRND_ATTACK = 18 # Basic ground attack behavior (just land there)
WAVE_ATTACK = 19 # Formation flyin and sequential drop
DELAYED_ATTACK = 20 # Time delay between individual attacks one one location
OVERWATCH_ATTACK = 21 # Formation flyin and sequential drop with highboy overwatch
INDEPENDENT_TRANSIT = 2 # Transit independently to a specified location
SWARM_SEARCH = 3 # Conduct a coordinated search of a specified area
PATROL_BOX = 4 # Randomly patrol a rectangular box
AREA_SPREAD = 5 # Disperse uniformly through a rectangular area
RANDOM_STATION = 6 # Take up (fixed) random stations across a rectangular area
GREEDY_SHOOTER = 7 # Shoot the closest red UAV but use other UAV results
SMART_SHOOTER = 8 # Shoot the closest red UAV but use other UAV results and dont pursue enemy already being pursued by a friendly
CONSTRAINED_SHOOTER = 9 # Built on Smart Shooter - Constrained FOV Angle and Range of engaging targets
OPPORTUNISTIC_SHOOTER = 10 # Reactive version of Greedy Shooter (reselects target every iteration)
PATROL_BOX_SHOOTER = 11 # Randomly patrol a rectangular box & engage approaching red UAVs
WAVE_ATTACK = 12 # Formation flyin and sequential drop
DELAYED_ATTACK = 13 # Time delay between individual attacks one one location
OVERWATCH_ATTACK = 14 # Formation flyin and sequential drop with highboy overwatch
SWARM_SEQUENCE_LAND = 99 # Land in order (low-to-high UAV)
# Obsolete behaviors that are still included for backwards compatibility
NAIVE_SHOOTER = 89 # Shoot closest red UAV & ignore other UAV results
PN_INTERCEPTOR = 90 # Proportional navigation intercept of a target UAV
ALTITUDE_SORT = 91 # Consensus algorithm to sort UAVs by rel_alt
LAZY_ALTITUDE_SORT = 92 # Lazy consensus algorithm to sort UAVs by rel_alt
WINGMAN = 93 # Combination of Linear Formation and Constrained Shooter Behaviors
EVADER = 94 # Move to a waypoint while avoiding enemies
SIMPLE_GRND_ATTACK = 95 # Basic ground attack behavior (just land there)
TACTIC_INTERFACE = 96 # Use generic tactic interface
FIXED_TURN = 97 # Simple test behavior for turn-rate control capability
SWARM_SEQUENCE_LAND = 98 # Land in order (low-to-high UAV)
SWARM_EGRESS = 99 # Egress the swarm for recovery
SWARM_EGRESS = 98 # Egress the swarm for recovery
# Enumeration for available swarm ROS commands
TRIGGER_PAYLOAD_FORCE = 0 # Trigger payload command directly to autopilot (do_digicam_control)
......@@ -151,6 +154,7 @@ SWARM_BHVRS = { SWARM_STANDBY: 'Standby', \
SWARM_SEQUENCE_LAND: 'Sequence Land', \
INDEPENDENT_TRANSIT: 'Independent Transit', \
AREA_SPREAD: 'Area Spread', \
RANDOM_STATION: 'Random Station', \
PATROL_BOX: 'Patrol Box', \
TACTIC_INTERFACE: 'Tactic Interface', \
EVADER: 'Evader', \
......@@ -176,6 +180,7 @@ SWARM_BHVR_VALUES = { 'Standby': SWARM_STANDBY, \
'Sequence Land': SWARM_SEQUENCE_LAND, \
'Independent Transit': INDEPENDENT_TRANSIT, \
'Area Spread': AREA_SPREAD, \
'Random Station': RANDOM_STATION, \
'Patrol Box': PATROL_BOX, \
'Patrol Box Shooter': PATROL_BOX_SHOOTER, \
'Evader': EVADER, \
......
......@@ -546,7 +546,7 @@ class SearchWaypointParser(VariableLengthBitmappedBytes):
class LandingOrderParser(BitmappedBytes):
''' Parser for landing orders
'''
fmt = ">B"
fmt = ">B3x"
def __init__(self):
''' Initializes parameters with default values
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment