control//vertical drone

Worked example: state, equilibrium, modes, sensors and control appearing in a single system. A reduction of a planar drone to its vertical motion, with instantaneous thrust and no drag, to isolate the ideas. It is not a flight design ready to implement.


Worked example: state, equilibrium, modes, sensors and control appearing in a single system. A reduction of a planar drone to its vertical motion, with instantaneous thrust and no drag, to isolate the ideas. It is not a flight design ready to implement.

Plant and state. q˙=v\dot q=vq˙​=v, mv˙=T−mgm\dot v=T-mgmv˙=T−mg, with qqq altitude, vvv vertical velocity, TTT thrust and mmm mass. The sufficient state is (q,v)T(q,v)^{\mathsf T}(q,v)T: two drones at the same altitude can have different futures if one is rising and the other falling. For a constant altitude rrr, equilibrium requires q=rq=rq=r, v=0v=0v=0 and T=mgT=mgT=mg. The input is not zero: it cancels the weight.

Deviations and open plant. With e=q−re=q-re=q−r, δT=T−mg\delta T=T-mgδT=T−mg and x=(e,v)Tx=(e,v)^{\mathsf T}x=(e,v)T,

x˙=Fx+BδT,F=[0100],B=[01/m].\dot x=Fx+B\delta T,\qquad F=\begin{bmatrix}0&1\\0&0\end{bmatrix},\quad B=\begin{bmatrix}0\\1/m\end{bmatrix}.x˙=Fx+BδT,F=[00​10​],B=[01/m​].

The open-loop eigenvalues are zero, but the matrix has a Jordan block: if v(0)≠0v(0)\ne0v(0)=0 the position error grows linearly. Those zeros must not be read as neutral stability of the point.

Controller and closed-loop modes. Choose δT=−kpe−kdv\delta T=-k_pe-k_dvδT=−kp​e−kd​v. Then

x˙=[01−kp/m−kd/m]x.\dot x=\begin{bmatrix}0&1\\-k_p/m&-k_d/m\end{bmatrix}x.x˙=[0−kp​/m​1−kd​/m​]x.

With m=1 kgm=1,\mathrm{kg}m=1kg, kp=5 N/mk_p=5,\mathrm{N/m}kp​=5N/m and kd=4 Ns/mk_d=4,\mathrm{Ns/m}kd​=4Ns/m, the rates are −2±i  s−1-2\pm i;\mathrm s^{-1}−2±is−1: decay with an envelope time constant of 0.5 s0.5,\mathrm s0.5s and oscillation at 1 rad/s1,\mathrm{rad/s}1rad/s. There is no force called eigenvalue: those numbers describe the joint effect of the balance and the controller (modes).

What acts and what is observed. For the open plant, C=[B  FB]\mathcal C=[B;FB]C=[BFB] has rank two: thrust changes velocity directly and position through integration. Measuring only y=ey=ey=e, C=[1  0]C=[1;0]C=[10] and O=[CCF]=I\mathcal O=\begin{bmatrix}C\CF\end{bmatrix}=IO=[CCF​]=I. Velocity is not measured instantly but is observable in the ideal model through the evolution of the altitude. With noise, estimating it takes more than numerically differentiating unfiltered measurements (controllability and observability).

Varying reference. For a smooth reference, e=q−re=q-re=q−r and e˙=v−r˙\dot e=v-\dot re˙=v−r˙. The ideal actuation T=m(g+r¨)−kpe−kde˙T=m(g+\ddot r)-k_pe-k_d\dot eT=m(g+r¨)−kp​e−kd​e˙ gives me¨+kde˙+kpe=0m\ddot e+k_d\dot e+k_pe=0me¨+kd​e˙+kp​e=0. The term mr¨m\ddot rmr¨ is feedforward; the corrections are feedback. The drone can move periodically while the error tends to zero: tracking is not a position equilibrium (feedback control).

Adding realism. If the motor obeys τTT˙=Tcmd−T\tau_T\dot T=T_{\mathrm{cmd}}-TτT​T˙=Tcmd​−T, thrust becomes a state and the command the input: one more mode. Dead time adds another temporal structure (delay and lag). If the computed thrust is negative or above the maximum, the ideal law is no longer realizable and the proof above does not cover that regime (saturation).