I am trying to understand the control of the quadrotor in 2 dimensions from the Penn course on aerial robotics. The attached image describes the linearization of the control efforts assuming that the quadrotor is near the hover position. Everything seems fine except Equation 7 to me. The control effort u1 makes sense as u1 = mg + mz¨c. The original equation z¨ = − g + u1*m is solved for u1, and z¨c (the actual z acceleration) is used.

However, the equation for u2 goes from φ¨ =u2/Ixx to u2 =Ixx*φ¨T (t), where φ¨T (t) is the desired value of φ acceleration instead of the actual value of φ acceleration.

Can anyone explain this to me?


EDIT: For further clarity, let me try rephrasing this question.

We start with three simplified, linearized equations:

$$ \ddot{y} = -g * \phi $$ $$ \ddot{z} = -g + \frac{u_1}{m} $$ $$ \ddot{\phi} = \frac{u_2}{I_{xx}} $$

For $u_1$, we solve to get: $$ u_1 = m\ddot{z} +mg $$

and since our control effort is defined as:

$$ \ddot{r_c} = \ddot{r_T}(t) k_{v}(\dot{r_T}-\dot{r}) + k_{p}(r_T-r) + $$

we plug in the Z part of this control effort and get

$$ u_1 = m\ddot{z} +mg $$ $$ u_1 = \ddot{z_T}(t) + k_{p,z}(\dot{z_T}(t)-z) + k_{v,z}(\dot{z_T}(t)-\dot{z}) +mg $$

In this case, when we took the Z part of the PD control effort, we replaced $\ddot{z}$ with the formula for $\ddot{z_c}$ (our control effort)

However, that is not what happens when solving for u2. We start off

$$ u_2 = I_{xx}*\ddot{\phi} $$

This time, when we replace $\ddot{\phi}$, I would think it would be replaced the same way as above, using $\ddot{\phi_c}$ our control effort. So it would look like this: $$ u_2 = I_{xx}*\ddot{\phi_c} $$ $$ u_2 = I_{xx} [\ddot{\phi_T}(t) + k_{v,\phi}(\dot{\phi_T}(t)-\dot{\phi}) + k_{p,\phi}(\phi_T(t)-\phi)] $$

Instead, we do this:

$$ u_2 = I_{xx}*\ddot{\phi_T} $$ $$ u_2 = I_{xx} [\ddot{\phi_c}(t) + k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) + k_{p,\phi}(\phi_c-\phi)] $$

If we go back to our basic PD control effort formula, this contradicts it. With this replacement, we are saying that: $$ \ddot{\phi_T} = \ddot{\phi_c}(t) + k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) + k_{p,\phi}(\phi_c-\phi) $$ which is not true because $$ \ddot{r_c} = \ddot{r_T}(t) + k_{v}(\dot{r_T}-\dot{r}) + k_{p}(r_T-r) $$ which means that the real solution for $\ddot{\phi_T}$ would be $$ \ddot{\phi_T} = \ddot{\phi_c}(t) - k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) - k_{p,\phi}(\phi_c-\phi) $$ That is my confusion!

  • $\begingroup$ This problem is usually described as P-VTOL in the literature, for Planar Vertical Take Off and Landing. $\endgroup$
    – N. Staub
    Commented Jan 26, 2018 at 15:23
  • $\begingroup$ I have edited my original question with a more specific analysis. I am sure I am missing something, but I am just not sure what i am missing! $\endgroup$ Commented Jan 26, 2018 at 19:13

1 Answer 1


Remember, the $y$ position of the quadrotor depends on the angle $\phi$, therefore, in order to control $y$, we need to control $\phi$ in a way that yields the desired $y$. To control the angle $\phi$, we start from the original equation: $$ \ddot{\phi} = \frac{u_2}{I_{xx}} $$ Now the goal is to design a controller by which the angle is controlled. The PD-computed torque controller has this form:

$$ u_2 = I_{xx} [\ddot{\phi_c} + k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) + k_{p,\phi}(\phi_c-\phi)] $$

Now plug $u_2$ inside the original function of the angle, hence

$$ \begin{align} \ddot{\phi} &= \frac{u_2}{I_{xx}} \\ &= \frac{I_{xx} [\ddot{\phi_c} + k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) + k_{p,\phi}(\phi_c-\phi)]}{I_{xx}} \\ &= \ddot{\phi_c} + k_{v,\phi}(\dot{\phi_c}-\dot{\phi}) + k_{p,\phi}(\phi_c-\phi) \end{align} $$

Notice that the term $I_{xx}$ is eliminated deliberately. The notion is trivial. Relying on the mathematical model, we can design a controller that compensates for linear or nonlinear terms (e.g. as the case with $I_{xx}$).

  • $\begingroup$ I am still confused as to why the PD-computed torque controller uses the measured acceleration of phi instead of a commanded acceleration of phi. The PD-computer controller for u1 uses the commanded Z acceleration, but for u2 is uses the measured Phi acceleration. Why are they different? How would we know to use commanded vs measured? Thanks!!! $\endgroup$ Commented Jan 26, 2018 at 14:26
  • $\begingroup$ In the setup described it seems that you want to control the position of the P-VTOL, for which you have two control inputs: the thrust and the torque. Hence from the you need to "convert" from desired y, subscript T, to a desired $\phi_c$ which you want to track to achieve the desired y trajectory. The control $u_2$ enforce the tracking of $\phi_c$. $\endgroup$
    – N. Staub
    Commented Jan 26, 2018 at 15:36
  • $\begingroup$ I have updated my question with a more specific analysis, but in your comment here, why is $y_T$ the desired y value, but $\phi_c$ is the desired $\phi$? Shouldn't desired $\phi$ be $\phi_T$? Thanks! $\endgroup$ Commented Jan 26, 2018 at 19:15
  • $\begingroup$ In my comment I assumed that the notation from the desired trajectory are $z_T$ and $y_T$, from this desired trajectory an intermediate reference for $\phi$ is conmputed, $\phi_c$. I hope my wording is clearer on this one :) $\endgroup$
    – N. Staub
    Commented Jan 29, 2018 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.