This is an old revision of the document!
Quadcopter
The quadcopter model here is a higher dimensional, more realistic implementation of actual flight using multi-rotorcraft than the Planar Bi-Rotor Helicopter model. Though it is still considered to be an underactuated model relative to the full $SE(3)$ state dynamics model, if the output states are restricted to be the 3D position and the yaw, then the model becomes fully actuated. The pitch and roll dynamics become passive variables implicitly determined by the trajectory taken or being followed. Many physically motivated mobile robot systems have this property, which is known as differential flatness. Control designers and roboticists have taken advantage of the differential flatness property to design nonlinear controllers for quadcopters that have better stabilization properties than their linear counterparts.
The simplest general form of the equations use the standard second order equations for the linear states and the Euler equations with dissipation for the angular states: \begin{equation} \begin{split} m \ddot q & = -D_t \dot q + R \left[ B_t \vec u - m \vec g \right] \\ \dot R & = R \cdot \omega \\ J \dot \omega & = -D_a \omega + (J\omega) \times \omega + B_a \vec u \end{split} \end{equation} where $J$ is the intertia matrix, $D_t$ and $D_a$ are the dissipation matrices, and $B_t$ and $B_a$ are the control matrices. The control matrices take the form: \begin{equation} B_t = b_t \begin{bmatrix} 0 & 0 & 0& 0 \\ 0& 0 & 0 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix} \qquad \text{and} \qquad B_a = \text{diag}(b_x,b_y, b_z) \begin{bmatrix} 0 & 0 & 1 & -1 \\ -1 & 1 & 0 & 0 \\ -1 & -1 & 1 & 1 \end{bmatrix} \end{equation}. The constant $b_t$ is the input to thrust factor, and $b_x$, $b_y$, and $b_z$ are input to angular acceleration factors for rotation about the body $x$, $y$, and $z$ axes. Note that this configuration is based on the first and second rotor inputs aligning with the body $x$-axis, and the third and fourth aligning with the body $y$-axis, and with both sets being counter-rotating. The first and second rotate counter in the positive sense and the third and fourth rotate in the negative sense. Thus spin-ups will induce the opposing angular acceleration as per the signs in $B_a$'s third row.
Activities
NEED TO ADD ACTIVITIES, BUT AT LEAST WE KNOW THAT STEP 1 IS THE LINEAR AT HOVER VERSION.
1: Stable Linear Controller
Linearize the equations of motion about hover, so that the linearized state and control inputs have an equiblirium at the origin with zero linearized control input. Establish performance specifications for the system and design a linear feedback controller that will stabilize the system and meet the performance specifications.
Step 2: Model Mismatch and Adaptive Control
Modify by 10-20% some of the model parameters of the system and compare the outcomes under a traditional linear controller. Incorporate linear adaptive control and show the resulting outcomes. Confirm how well the adaptive system meets the performance specifications versus the static controller.
Here, you should consider two cases. One is the initial case, where tracking a particular reference signal will lead to an adaptation transient. Simulate as normal, however pick a time post-transient and grab the adaptive gains from the output signals. Prepare a second simulation that starts with these gains. The second simulation would act like a second or subsequent deployment post-adaptation. Show that the system better meets the performance objectives.
Step 3: Nonlinear Controller
TBD
Step 4: Adaptive Nonlinear Controller
TBD
Step 5: What Else?
TBD
References
For sure you need to be careful with these references. In addition to different reference frame conventions between Aerospace engineers and others, plus different ways of representing the $SE(3)$ Lie group state, there are actually slightly different dynamical equations for the quadcopter. The references below just give some idea for how static controllers are synthesized for these systems. The model chosen depends on what the authors wish to demonstrate or what kinds of constraints their control method has.
- TBD