robotics//drone//vertical drone
The vertical drone is a worked example in which state, equilibrium, modes, sensors and control appear in a single system. It reduces a planar drone to its vertical motion (the double integrator that the planar model's linearization at hover splits off), with instantaneous thrust and no drag, to isolate the ideas; it is not a flight design ready to implement. It is the smallest closed loop robotics runs, one axis, one sensor, one actuator, and already shows the difference between plant, controller and closed loop.
The vertical drone is a worked example in which state, equilibrium, modes, sensors and control appear in a single system. It reduces a planar drone to its vertical motion (the double integrator that the planar model's linearization at hover splits off), with instantaneous thrust and no drag, to isolate the ideas; it is not a flight design ready to implement. It is the smallest closed loop robotics runs, one axis, one sensor, one actuator, and already shows the difference between plant, controller and closed loop.
The plant has a two-number state. Its equations are 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 r\cc{r}r, equilibrium requires q=rq=\cc{r}q=r, v=0v=0v=0 and T=mgT=mgT=mg. The input is not zero: it cancels the weight. The reference in copper, the open plant's matrix in violet.
In deviations the open plant is linear. With e=q−re=q-\cc{r}e=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 it reads as follows:
x˙=Fx+BδT,F=[0100],B=[01/m].\dot x=\cd{F}x+B\delta T,\qquad \cd{F}=\begin{bmatrix}0&1\\0&0\end{bmatrix},\quad B=\begin{bmatrix}0\\1/m\end{bmatrix}.x˙=Fx+BδT,F=[0010],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.
A controller sets the closed-loop modes. Choose δT=−kpe−kdv\delta T=-k_pe-k_dvδT=−kpe−kdv, which gives this closed loop:
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/m1−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).
The open plant is controllable through thrust and observable from altitude alone. For the open plant, C=[B FB]\mathcal C=[B;\cd{F}B]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\C\cd{F}\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).
A varying reference turns regulation into tracking. For a smooth reference, e=q−re=q-\cc{r}e=q−r and e˙=v−r˙\dot e=v-\cc{\dot r}e˙=v−r˙. The ideal actuation T=m(g+r¨)−kpe−kde˙T=m(g+\cc{\ddot r})-k_pe-k_d\dot eT=m(g+r¨)−kpe−kde˙ gives me¨+kde˙+kpe=0m\ddot e+k_d\dot e+k_pe=0me¨+kde˙+kpe=0. The term mr¨m\cc{\ddot r}mr¨ 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).
Realism adds modes and limits. If the motor obeys τTT˙=Tcmd−T\tau_T\dot T=T_{\mathrm{cmd}}-TτTT˙=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).