Eigen values computed for explicit mpc controlled quadcopter system are unstable, even though the simulation plots are on spot (reference tracking).

We designed an 8 state quadcopter system and linearized around different velocities. Then we designed reference tracking explicit mpc using the inbuilt toolbox in matlab. We simulated the outputs reference tracking and they were spot on. But we ran into an issue when we tried to compute closed loop stability system matrix. Even though plots are stable, the resulting eigen values showed unstability.

1 Comment

Given the quadcopter system and the Explicit MPC law , could you clarify how you constructed the closed-loop system matrix?
I believe that your simulation is stable because the Lyapunov function (the MPC cost) is decreasing, but your eigenvalues are unstable because you are likely looking at transitional regions. Like balancing an inverted broom, when you move your hand to catch the "falling" broom, you are intentionally allowing a "local instability". The MPC controller probably uses 'unstable' local moves to reach a 'stable' global goal. Did you check the eigenvalues specifically in the final steady-state region where the quadcopter is at its target velocity?

Sign in to comment.

Answers (0)

Asked:

on 4 Mar 2026 at 9:38

Commented:

on 4 Mar 2026 at 13:35

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!