Geometry, from the planner
Planned by OpenDroneKit with these inputs: a saved 180 x 120 m grid at 55 m linked to a saved 30 m-radius orbit at 40 m, 8 m/s. The drawing is the planner’s actual output for that test site in Aukerman Park, Ohio, not an illustration.
How is the linked mission mission laid out?
The inputs are saved mission versions, not a drawn area. Each is compiled from its stored recipe, the order can be optimised, and the connecting legs are planned between them.
A dry run checks each transition leg against the no-fly zones and the altitude band; a failed dry run is returned as a warning.
Also accepted by the planner as: linked mission, linked_route.
Inputs
| Parameter | Meaning | Default |
|---|---|---|
recipes | Two or more saved mission versions to join | — |
speed_m_s | Speed for the joined sortie | 5 |
optimize_order | Reorder the missions to shorten the transitions | true |
Footprint, line spacing and GSD come from the camera profile; the GSD calculator uses the same formulas.
What survives each export?
- QGroundControl .plan and .waypoints: every point carries a DO_MOUNT_CONTROL gimbal command; all points are NAV_WAYPOINT; 48 of 135 have a CONDITION_YAW heading lock; 133 DO_DIGICAM_CONTROL captures.
- DJI WPML .kmz: gimbalRotate on every waypoint; heading-locked points use smoothTransition; takePhoto at capture points; speed limited to 1-15 m/s.
- Litchi CSV: 135 waypoints exceed the exporter's 99-waypoint split, so the export is written as 2 consecutive files, each starting where the previous one ended.
Each format has known issues, listed on its page: QGC .plan · .waypoints · DJI WPML · Litchi CSV.
Limits
- Cannot be planned from an area alone: it needs at least two saved missions.
- Planned without a terrain model the plan assumes flat ground at the launch elevation, and it says so in a warning.
- Not flight-tested on an aircraft as part of these pages; the numbers above are the planner’s estimates.
Source and tests
Compiled by generate_linked_mission in mission/planner.py. The function is on public main (1ef6351); this drawing was planned with the development branch (0ae10e4), whose planner is ahead of main.
Tests in the development branch that exercise it:
tests/test_exported_headings_face_the_subject.pytests/test_mission_exports_carry_the_plan.pytests/test_template_inventory_is_derived.py
Related templates
Paths around or along something, single-point captures, and joined missions.
- Orbit: Circles around a point of interest at one or more heights, camera aimed at the subject.
- Closed loop: Continuous loops around a structure at one or more radii, without stopping at corners.
- Linear: Captures along a drawn route line, heading locked along it, for pipelines, rail, power lines and rivers.
- Lateral: Side-on photos of a linear asset from a parallel line at stand-off.
- Waypoints: A route through drawn waypoints, with a choice of heading behaviour.
- Panorama: A hover at one point, rotating to photograph the horizon for a stitched panorama.
- 360 bubble: A hover at one point covering the whole sphere below the horizon, for a 360 photo sphere.
All 22 templates: mission templates · mission planning.