Skip to content

Missions

V-formation pointed in heading_deg direction.

First drone is the leader at the tip.

Arrange drones in a line perpendicular to heading_deg.

Returns one waypoint list per drone.

Divide a rectangular area into strips using Boustrophedon decomposition.

This is a backwards-compatible wrapper around :func:polygon_sweep. The rectangle defined by the SW and NE corners is converted to a polygon and swept with the lawnmower pattern.

Each drone sweeps its assigned strips. The function preserves the old contract: returns one waypoint list per drone.

Boustrophedon (lawnmower) decomposition for an arbitrary polygon.

Parameters:

Name Type Description Default
polygon list[tuple[float, float]]

List of (lat, lon) vertices defining the area.

required
altitude float

Flight altitude in meters.

required
num_drones int

Number of drones to split the work across.

required
overlap_pct float

Percentage overlap between adjacent sweep lines (0-100).

0.0
line_spacing_m float

Base distance in meters between sweep lines before overlap adjustment.

20.0

Returns:

Type Description
list[list[Waypoint]]

A list of waypoint lists, one per drone.

Drones orbit a point of interest, evenly spaced around the circle.