robotics//drone//multirotor

A multirotor is a rotorcraft lifted and steered only by several fixed-pitch propellers, whose individual speeds the controller varies to produce total thrust and the three torques of roll, pitch and yaw, and it is the plant underneath almost every small drone. Its mechanics are simple (no swashplate, no control surfaces), so everything the aircraft does goes through the motors, and the control problem is as much about actuators as about dynamics.


A multirotor is a rotorcraft lifted and steered only by several fixed-pitch propellers, whose individual speeds the controller varies to produce total thrust and the three torques of roll, pitch and yaw, and it is the plant underneath almost every small drone. Its mechanics are simple (no swashplate, no control surfaces), so everything the aircraft does goes through the motors, and the control problem is as much about actuators as about dynamics.

The chain from command to force has four links, each a member of this family. The flight controller sends each motor a command; its ESC commutates the brushless motor; the propeller turns speed into propeller thrust, roughly proportional to the square of the rotor speed, with a rotor time constant of 10 to 100 ms; and the motor mixer decides how a demanded thrust and three torques are split among the motors, protecting roll and pitch when they cannot all be met. When a motor weakens or dies, control allocation redistributes the work, easily on a hexacopter and only by sacrificing yaw on a quadcopter.

An actuator that lives near its limit leaves the controller nothing to command, and no theory fixes that. The thrust-to-weight sizing rule gives a multirotor at least twice its weight in maximum thrust, so that hover sits near the middle of the motors' range with authority left in both directions.

Battery voltage sag and thrust loss change the plant during every flight. Motor speed is roughly proportional to voltage and thrust to its square, so a cell falling from 4.2 to 3.6 V costs about 25 % of thrust for the same command; payload changes and propeller damage do the same more abruptly.

Hover thrust estimation is the production answer, and the humblest form of indirect adaptive control. Near hover the accelerometer reads a vertical specific force fz≈βuf_z\approx\beta ufz​≈βu, with uuu the thrust command and β\betaβ the thrust efficiency. A scalar recursive least squares estimates β^\hat\betaβ^​ in flight, the hover command becomes g/β^g/\hat\betag/β^​, and that estimate corrects the feedforward and rescales the gains; PX4 runs an estimator of this kind.

That same β^\hat\betaβ^​ doubles as a health indicator across a fleet: a drone whose estimated efficiency sits 15 % below its siblings has a suspect propeller or motor (health indicator).

A multirotor's rotation dynamics are fast and its translation slow, which is why it is flown by a cascade of loops at very different rates (autopilot); the planar drone is its model reduced to one plane.