nonlinear MPC controller (about deviation term)

58 views
Skip to first unread message

Touraj Eslami

unread,
Dec 28, 2021, 1:00:52 PM12/28/21
to YALMIP

Dear Prof Löfberg

In nonlinear MPC controller, for predicting the system I turned my equation from

Xk=f(Xk-1,Uk-1)

Yk=g(Xk-1)

To this format :

Xk+Np=Fk*Xk-1+Gk*Uk-1+Hk *ΔU

When we perform Taylor series expansion to linearize the system around the trajectory point, we change the states to a linear format with a deviation term (  X_NL=X ̅+∆X, U_NL=U ̅+∆U  and the same for Y)

Here is my question, what should I use for Uk-1 and Xk-1 ? I know they aren’t the actual state but the deviation term, then what is the amount of these terms ? is it related to the cycle time? or I have to neglect them and just use the Hk*ΔU term to optimize the system?

 

All the best,

Touraj

Johan Löfberg

unread,
Dec 28, 2021, 1:51:03 PM12/28/21
to YALMIP
They are precisely what you say they are, U(k-1) and X(k-1), previous solution and previous predictions. You simply carry them over from the last sample

Touraj Eslami

unread,
Dec 30, 2021, 4:37:12 AM12/30/21
to YALMIP

but when we linearize around the operating point,I believe the U(k-1) and X(k-1) should be linearized and I cannt use their real value, please correct me if I'm wrong. my question is exactly this,then what should I use here? should I assume its a deviation term with a small value or not?

all the best

Johan Löfberg

unread,
Dec 30, 2021, 7:10:43 AM12/30/21
to YALMIP
X(k-1) and U(k-1) are the solutions from the previous iteration, which you have saved from the previous solution

Alessandro Maria Laspina

unread,
Jan 4, 2022, 12:28:29 PM1/4/22
to YALMIP
Predictions on what U(k-1) and X(k-1) can be depend on the system. What does this trajectory represent? You will have to pick a starting point based on your limits. Alternatively, you could try and group the x(k) and x(k-1) and like u(..) terms together to have a change in x and u, but you still need to know these 2 variables. 

Johan Löfberg

unread,
Jan 4, 2022, 12:45:59 PM1/4/22
to YALMIP
As far as I've understood you're trying to use the good'ol "linearize nonlinear MPC along previous computed trajectory", i.e. poor mans nonlinear optimization

Something like this (don't take this as a reference or any kind of truth or correctness, it was my first summer project as a fresh phd student...)

https://www.diva-portal.org/smash/get/diva2:316602/FULLTEXT01.pdf

0. at time k-1: Magically obtain optimal solution U(k-) with associated trajectories X(k-1)
1. at time k: Linearize MPC along previous solution U(k-1) and X(k-1) to compute optimal U(k) and X(k)
2. k = k+1. Goto 1.



Johan Löfberg

unread,
Jan 4, 2022, 12:46:48 PM1/4/22
to YALMIP
oops, saw now that it wasn't a follow up question from the orginal poster but an more of an answer. anyway...
Reply all
Reply to author
Forward
0 new messages