M ファイル adip.m で定義された,アーム型倒立振子の LPV モデル
を考える.ただし,
の変動範囲をぞれぞれ
とする.このとき,LPV モデルを安定化し,しかも,有界条件
を満足するゲインスケジューリング (GS: Gain Scheduling) コントローラ
を設計する.ただし,
である.
この設計問題の可解条件は,連立 PDLMI
を満足する
が存在することである.ただし, は を満足する正方行列である.このとき,有界条件を満足する GS コントローラは,
で与えられる.
PDLMI の解を求めるため,
という形式に限定すると,
となる.このとき,PDLMI は,
に関する多項式型の PDLMI
となる.ただし, は決定変数
の要素であり,また,
である.したがって,有限個の LMI
を満足する解
を得ることができれば,これらは,PDLMI を満足させることができる.
M ファイル gs.m では,重み
と変動範囲の上限値
を与え,有限個の LMI の解が存在する範囲で線形目的関数 を最小化する凸最適化問題を解いている.
>> gs
SeDuMi 1.3 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
Alg = 2: xz-corrector, theta = 0.250, beta = 0.500
eqs m = 29, order n = 97, dim = 809, blocks = 13
nnz(A) = 748 + 0, nnz(ADA) = 825, nnz(L) = 427
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
0 : 3.23E+003 0.000
1 : -1.35E+000 1.11E+003 0.000 0.3437 0.9000 0.9000 3.09 1 1 2.5E+002
2 : -3.08E+000 4.85E+002 0.000 0.4362 0.9000 0.9000 0.84 1 1 1.4E+002
3 : -5.23E+000 2.44E+002 0.000 0.5032 0.9000 0.9000 0.57 1 1 9.1E+001
4 : -7.64E+000 1.25E+002 0.000 0.5106 0.9000 0.9000 0.41 1 1 6.1E+001
5 : -9.87E+000 7.31E+001 0.000 0.5872 0.9000 0.9000 0.27 1 1 4.7E+001
6 : -1.30E+001 4.04E+001 0.000 0.5523 0.9000 0.9000 0.19 1 1 3.6E+001
7 : -1.65E+001 2.27E+001 0.000 0.5632 0.9000 0.9000 0.14 1 1 2.7E+001
8 : -2.01E+001 1.35E+001 0.000 0.5933 0.9000 0.9000 0.09 1 1 2.2E+001
9 : -2.48E+001 7.72E+000 0.000 0.5722 0.9000 0.9000 0.07 1 1 1.7E+001
10 : -2.97E+001 4.58E+000 0.000 0.5928 0.9000 0.9000 0.07 1 1 1.4E+001
11 : -3.55E+001 2.72E+000 0.000 0.5934 0.9000 0.9000 0.07 1 1 1.1E+001
12 : -4.17E+001 1.67E+000 0.000 0.6132 0.9000 0.9000 0.09 1 1 9.1E+000
13 : -4.89E+001 1.02E+000 0.000 0.6151 0.9000 0.9000 0.11 1 1 7.3E+000
14 : -5.67E+001 6.43E-001 0.000 0.6280 0.9000 0.9000 0.14 1 1 6.0E+000
15 : -6.55E+001 4.04E-001 0.000 0.6281 0.9000 0.9000 0.17 1 1 4.8E+000
16 : -7.48E+001 2.58E-001 0.000 0.6374 0.9000 0.9000 0.21 1 1 3.9E+000
17 : -8.52E+001 1.64E-001 0.000 0.6360 0.9000 0.9000 0.25 1 1 3.1E+000
18 : -9.61E+001 1.05E-001 0.000 0.6402 0.9000 0.9000 0.30 1 1 2.5E+000
19 : -1.08E+002 6.69E-002 0.000 0.6375 0.9000 0.9000 0.34 1 1 2.0E+000
20 : -1.19E+002 4.26E-002 0.000 0.6377 0.9000 0.9000 0.39 1 1 1.5E+000
21 : -1.31E+002 2.70E-002 0.000 0.6340 0.9000 0.9000 0.44 1 1 1.2E+000
22 : -1.43E+002 1.70E-002 0.000 0.6301 0.9000 0.9000 0.50 1 1 8.7E-001
23 : -1.54E+002 1.06E-002 0.000 0.6228 0.9000 0.9000 0.56 1 1 6.3E-001
24 : -1.64E+002 6.49E-003 0.000 0.6118 0.9000 0.9000 0.63 1 1 4.4E-001
25 : -1.73E+002 3.86E-003 0.000 0.5941 0.9000 0.9000 0.70 1 1 2.9E-001
26 : -1.80E+002 2.18E-003 0.000 0.5665 0.9000 0.9000 0.77 1 2 1.8E-001
27 : -1.86E+002 1.14E-003 0.000 0.5236 0.9000 0.9000 0.84 1 4 1.0E-001
28 : -1.90E+002 5.33E-004 0.000 0.4660 0.9000 0.9000 0.89 1 2 5.0E-002
29 : -1.92E+002 1.98E-004 0.000 0.3708 0.9000 0.9000 0.94 2 2 1.9E-002
30 : -1.93E+002 5.26E-005 0.000 0.2663 0.9000 0.9000 0.96 4 4 5.2E-003
31 : -1.94E+002 2.39E-005 0.000 0.4536 0.9000 0.9000 0.92 1 13 2.4E-003
32 : -1.94E+002 6.69E-006 0.000 0.2805 0.9000 0.9000 0.92 7 7 7.0E-004
33 : -1.94E+002 1.66E-006 0.000 0.2485 0.9000 0.9000 0.93 7 7 1.8E-004
34 : -1.94E+002 5.96E-008 0.000 0.0358 0.9900 0.9900 0.99 8 8 6.5E-006
Run into numerical problems.
iter seconds digits c*x b*y
34 1.7 7.4 -1.9388153490e+002 -1.9388152726e+002
|Ax-b| = 7.8e-006, [Ay-c]_+ = 1.4E-008, |x|= 3.8e+004, |y|= 3.7e+002
Detailed timing (sec)
Pre IPM Post
3.600E-002 1.168E+000 2.997E-003
Max-norms: ||b||=1, ||c|| = 2,
Cholesky |add|=1, |skip| = 2, ||L.L|| = 36015.8.
sol =
yalmiptime: 0.2490
solvertime: 1.2080
info: 'Numerical problems (SeDuMi-1.3)'
problem: 4
dimacs: [3.9129e-006 0 0 7.1465e-009 -1.9652e-008 5.1702e-007]
gamma_opt =
193.8815
X_0_opt =
0.9762 -0.0725 -3.4455 1.1987
-0.0725 4.5524 0.1786 -28.5313
-3.4455 0.1786 27.7755 -11.8733
1.1987 -28.5313 -11.8733 183.9239
X_1_opt =
-0.1513 0.1405 1.4518 -1.5499
0.1405 -6.2658 -0.2912 39.2640
1.4518 -0.2912 -20.8204 14.9295
-1.5499 39.2640 14.9295 -253.9216
F_0_opt =
-1.3316 0.2786 6.4606 -3.2162
F_1_opt =
0.5816 -0.1166 -8.3415 5.9812
pres =
7.5017e-003
6.1021e-004
-6.1715e-009
8.7407e-008
-2.7577e-009
1.8727e-008
3.5027e-008
4.1861e-008
2.7232e-010
-8.6368e-009
2.3438e-003
-1.4293e-008