Helicopter

Example

This example is demonstrated in Version 1808-1.

Where you can find this helicopter

Quanser website. 3 DoF Helicopter.
Model: Benchmark model of Quanser’s 3 DOF Helicopter - 2018

Problem Description

  • The state vector of the helicopter is x = [q,\dot{q} ]^{T}\in\mathbb{R}^{6}, where q = [\epsilon,\rho,\lambda]^T is the vector of the elevation angle, pitch angle, and yaw angle. The pitch angle \rho is set to be |\rho|\leq 1.

  • The input vector is u=[V_f,V_b]^T, where V_f is the voltage on the front motor and V_b is the voltage on the back motor. The control input is bounded by [0,0]^T \leq u \leq [20,20]^T.

  • The dynamics of the helicopter are given by the following equations:

\begin{align*} \ddot{q} = &-\left[ \begin{array}{c} \sin(\epsilon)(a_{\epsilon_1}+a_{\epsilon_2}\cos(\rho)) \\ -a_{\rho} \cos(\epsilon)\sin(\rho)\\ 0 \end{array} \right] - \left[ \begin{array}{ccc} C_\epsilon & & \\ & C_\rho& \\ & & C_\lambda \end{array} \right]\dot{q}\\ &+K_f \left[ \begin{array}{cc} b_{\epsilon}\cos(\rho)& 0 \\ 0 & b_{\rho}\\ b_{\lambda}\cos(\epsilon)\sin(\rho)& 0 \end{array} \right]u \end{align*}

The task is to control the helicopter to track a given yaw reference.

Experiment settings:

  • CPU: i7-8700
  • DoP: 1
  • Prediction horizon T=4 s
  • Number of the discritization grids N=48
  • Discretization method: Euler

Closed-loop control using ParNMPC

Experiment results (left: first 15 seconds; right: last 15 seconds):