Download presentation
Presentation is loading. Please wait.
1
Model Predictive Control
Lecture 17.1 Model Predictive Control
2
So far,, So far, trajectory optimization as a nonlinear program
- very general, nonlinear dynamics, non-convex constraints. - but non complete. (may fail to find a solution when one exists.) - RRT -> “probabilistically complete” Today, Trajectory optimization that is guaranteed to succeed.
3
Quadratic Program(QP)
Quadratic bowl min 𝑧 { 𝑧 𝑇 𝑄𝑧+ 𝑐 𝑇 𝑧} 𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝐴𝑧≤𝑏 Quadratic objective Linear constraints - Q≧0 (Positive semi define) - actually mean a convex quadratic program - z1,z2 : decision parameter - Quadratic objective -> Quadratic bowl Linear constraints -> Convex region of feasible points - optimal z : Convex region 안에서 minimum of a quadratic bowl - If we can formulate some trajectory optimization problems as a quadratic program, these program are guaranteed to find a solution if one exists. Convex region decision parameter는 정확히 뭐임?
4
LQR as a QP Two approaches : Direct transcription, Linear MPC
𝑥 𝑛+1 =𝐴𝑥 𝑛 +𝐵𝑢 𝑛 → min 𝑢 0 ,…,𝑢[𝑁−1] 𝑛=0 𝑁−1 𝑥 𝑇 𝑛 𝑄𝑥 𝑛 + 𝑢 𝑇 𝑛 𝑅𝑢 𝑛 ,𝑄= 𝑄 𝑇 ≥0, 𝑅= 𝑅 𝑇 >0 Two approaches : Direct transcription, Linear MPC Direct transcription - Decision parameter : z=[ 𝑥 1 ,…, 𝑥 𝑁 , 𝑢 0 ,…, 𝑢 𝑁−1 ] min 𝑧 𝑧 𝑇 𝐻𝑧 𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝐴 𝑧=𝑏, 𝑢 ≤ 𝑢 𝑚𝑎𝑥 - Giving up on solving a potentially big optimization problem and solving from a particular initial condition and a particular trajectory > 대신 Linear MPC(Model Predictive Control) 사용 - Nonlinear trajectory optimization -> iterative LQR, DDP(Differential Dynamic Programming) 사용 noise가 없으면 초기에 구한 traj. optim.의 u[0],...,u[N-1]대로 가면 됨. 하지만, 예를 들어 noise가 u[4]에 발생하면 traj. optim.를 다시 계산하여 u[5]부터 u[N-1]까지를 다시 구하고, LQR로 제어
5
MPC Az=b는 뭘로 정하는거임?
6
MPC Solution of marching forward of linear system
noise가 없으면 초기에 구한 traj. optim.의 u[0],...,u[N-1]대로 가면 됨. 하지만, 예를 들어 noise가 u[4]에 발생하면 traj. optim.를 다시 계산하여 u[5]부터 u[N-1]까지를 다시 구하고, LQR로 제어
7
Explicit MPC Explicit MPC
: derive feedback controller that would emerge from MPC at every step -> Multi-parametric Quadratic Program (mpQP; Parameterized QP) QP(x0) : 𝑉 ∗ 𝑥 0 = 𝑥 0 𝑇 𝑦 𝑥 0 + min 𝑧 𝑧 𝑇 𝐻𝑧+ 𝑥 0 𝑇 𝐹𝑧 𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝐺𝑧≤𝑊+𝑆 𝑥 0 <Theorem 1> in Alessio ’ Feasible set x0 is polyhedral Value function V*(x0) is continuous, convex, piecewise quadratic Optimizer Z*(x0) is continuous, piecewise affine number of piece by 2(number of constraints) noise가 없으면 초기에 구한 traj. optim.의 u[0],...,u[N-1]대로 가면 됨. 하지만, 예를 들어 noise가 u[4]에 발생하면 traj. optim.를 다시 계산하여 u[5]부터 u[N-1]까지를 다시 구하고, LQR로 제어
8
Example of mpQP LQR without constraints Value function is a quadratic hole. Linear controller LQR with constraints (mpQP (?)) Piecewise quadratic function(In every segment, the cost-to-go is a quadratic noise가 없으면 초기에 구한 traj. optim.의 u[0],...,u[N-1]대로 가면 됨. 하지만, 예를 들어 noise가 u[4]에 발생하면 traj. optim.를 다시 계산하여 u[5]부터 u[N-1]까지를 다시 구하고, LQR로 제어
9
Example of mpQP noise가 없으면 초기에 구한 traj. optim.의 u[0],...,u[N-1]대로 가면 됨. 하지만, 예를 들어 noise가 u[4]에 발생하면 traj. optim.를 다시 계산하여 u[5]부터 u[N-1]까지를 다시 구하고, LQR로 제어 number of constraints = 2 7 regions number of constraints = regions number of constraints = regions
Similar presentations