OpenDroneKit

Orbit

Circles around a point of interest at one or more heights, camera aimed at the subject.

Updated 2026-10-02_compile_orbit_primitive · planned at 0ae10e4

Waypoints
48
Flight length
437.8 m
Estimated time
1.3 min
Altitude
32.5–47.5 m
Gimbal pitch
-35°
Est. GSD
0.94 cm/px

Geometry, from the planner

Planned by OpenDroneKit with these inputs: orbit of 35 m radius about the centre of a 100 x 100 m area, 40 m. The drawing is the planner’s actual output for that test site in Aukerman Park, Ohio, not an illustration.

Planner output · 48 waypointsLocal metres · north up
20 mN
Plan · blue: flight path · ring: first waypoint · dashed: drawn area
01020304050
Elevation, looking north · x: east–west position (m), y: altitude above take-off (m) · 32.5–47.5 m · gimbal -35°

How is the orbit mission laid out?

Points are spaced evenly around a circle of the chosen radius, one ring per altitude level; the count per ring follows from the circumference and the photo spacing, with at least 24.

By default the heading is locked to face the point of interest and the camera is pitched -35 deg; with the lock off the aircraft faces along the circle.

Inputs

ParameterMeaningDefault
altitude_mFlight altitude in metres, relative to the take-off point unless an AMSL terrain model is loaded60
front_overlap_pctForward overlap between consecutive photos; with the camera footprint it sets the capture spacing80
side_overlap_pctOverlap between neighbouring lines or rows; with the camera footprint it sets the line spacing70
speed_m_sPlanned cruise speed, written to every export5
cameraCamera profile used for footprint and ground-sample-distance estimatesmavic2pro
gimbal_tilt_degCamera pitch; left blank, the template's own default is used-35
orbit_center_lonlatCentre of the orbit (defaults to the area's centroid)—
orbit_radius_mOrbit radius—
orbit_level_countNumber of orbit rings—
orbit_vertical_step_mHeight between rings—
orbit_poi_yaw_lockKeep the camera yawed at the point of interesttrue
orbit_poi_lonlatPoint of interest, if not the centre—

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 48 have a CONDITION_YAW heading lock; 48 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: 48 waypoints fit in one file (the exporter splits at 99).

Each format has known issues, listed on its page: QGC .plan · .waypoints · DJI WPML · Litchi CSV.

Limits

  • 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 _compile_orbit_primitive 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.py
  • tests/test_mission_constraints.py
  • tests/test_mission_exports_carry_the_plan.py
  • tests/test_special_mission_types.py
  • tests/test_standoff.py
  • tests/test_template_inventory_is_derived.py

Paths around or along something, single-point captures, and joined missions.

  • 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.
  • Linked mission: Two or more saved missions joined into one sortie, with planned transitions between them.

All 22 templates: mission templates · mission planning.