Mission planner
The mission planner answers the question the endurance number alone cannot: does this specific flight fit in this battery? You describe the mission as a sequence of legs (climb to altitude, cruise out, hover on station, drop a payload, cruise back), and the planner flies them in order at each phase's real analyzed power, holding a reserve back, and tells you whether the aircraft lands with that reserve to spare.
It lives inside the Throttle Simulator at https://rotorlab.app/sim, under the flight clock, and plans for whichever build the simulator has loaded. It is a first-order planning estimate, terrain-free and thermal-free, not a flight log.
Legs#
Add legs with the Climb, Cruise, Hover, and Drop buttons. Each leg has one input, and the ✕ control removes it:
| Leg | Input | What the planner does |
|---|---|---|
| Climb | Altitude gain (m) | Climbs at the build's analyzed climb rate, spending hover power plus the potential energy of the altitude gain |
| Cruise | Distance (km), plus a wind direction | Flies the distance at the build's cruise power and speed, corrected for wind |
| Hover | Time (min) | Holds station at the analyzed hover power |
| Drop | Mass released (g) | Takes no time or energy itself, but lightens the aircraft for every leg after it |
A new mission starts with a sensible default: climb 80 m, cruise 5 km out, hover 3 min, cruise 5 km back. Edit or replace it. The plan recomputes as you type; Plan mission forces a recompute.
Dropping payload matters because hover power scales with weight to the 1.5 power, so a lighter aircraft after a drop hovers cheaper; cruise power scales about linearly with weight.
A pure multirotor has no wing-borne cruise, so the planner flies its cruise legs at roughly hover power and a conservative transit speed rather than the airframe's top speed, keeping the range estimate honest.
Reserve and wind#
- Reserve % (default 20) is the fraction of usable pack energy the mission must not touch. The mission is only judged a pass if it lands with at least this much left.
- Wind (km/h) applies to cruise legs through their direction selector: out legs are flown into the wind (ground speed drops), back legs with the wind behind (ground speed rises), and none legs ignore it. Because a leg into the wind takes longer than the same leg downwind saves, wind always costs energy overall.
The go-and-return radius#
The Go & return radius readout answers the classic operational question: after a fixed takeoff-and-landing hover overhead, how far out can the aircraft cruise and still make it back, landing on reserve? The radius accounts for wind both ways, which is why any wind shortens it.
The battery-vs-time chart#
The chart plots remaining battery percentage against mission time. Thin vertical lines mark leg boundaries, a dashed red line with a shaded band marks the reserve, and the end-point dot is green if the mission lands above reserve and red if it does not. The shape tells you where the energy goes: hover legs are steep, cruise legs shallower.
The verdict#
The text under the chart gives one of three outcomes:
- Completes with reserve: the landing percentage, the reserve it beat, total distance and time, and the hover and cruise powers the plan used.
- Completes, but lands below reserve: the flight fits in the pack but eats into your reserve, with the landing percentage against the reserve you asked for.
- Runs out mid-mission: the time at which the pack empties, the energy the mission needed versus what the pack gives, and the advice to trim a leg or carry more battery.
The /api/mission endpoint#
The same planner is available as an API. POST to /api/mission with:
{
"params": { "...": "the build parameters" },
"legs": [
{"type": "climb", "alt_m": 80},
{"type": "cruise", "km": 5, "dir": "out"},
{"type": "hover", "min": 3},
{"type": "drop", "grams": 250},
{"type": "cruise", "km": 5, "dir": "back"}
],
"reserve": 0.2,
"wind_kmh": 10,
"hover_overhead_min": 2.0
}Leg types are climb, cruise, hover, and drop. A cruise leg takes km or, if absent, min; its dir is out, back, or none. At most 64 legs are accepted. hover_overhead_min is the fixed takeoff-and-landing hover charged against the go-and-return radius (default 2 minutes).
The response includes the per-leg breakdown (time, energy, distance, remaining energy), total_time_min, total_dist_km, spent_wh, land_pct, reserve_ok, depleted with depleted_at_min, the battery-vs-time samples, and radius_km.