Tải bản đầy đủ (.pdf) (22 trang)

Thuật toán PID thích nghi dùng mạng nơ ron điều khiển hệ con lắc ngược đơn p3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.43 MB, 22 trang )

CHƯƠNG 3

THIẾT KẾ MÔ PHỎNG BỘ ĐIỀU KHIỂN

Bộ điều khiển Swing up – PD

Swing-up Controller

Switch
Control
ref

+_

Inverted
Pendulum
System

q1,q2

PID Controller

Hình 3.1 Sơ đồ điều khiển Swing up – PID cho hệ
Bộ điều khiển Swing up
Phương pháp điều khiển Swing-up thực hiện ở đây sử dụng dựa vào điều khiển năng
lượng của hệ thống theo [28], [29] [30].
Động lực học của con lắc có thể xác địn lại theo gia tốc của trục quay như sau
𝐽𝑝 𝑞̈ 2 + 𝑚𝑔𝑙𝑠𝑖𝑛𝑞2 = 𝑚𝑔𝑙. 𝑢𝑐𝑜𝑠𝑞2

(3-1)


Quan hệ giữa u và moment tác động vào trục
𝜏 = 𝑚𝑎 . 𝐿𝑎 . 𝑢

(3-2)

Năng lượng của hệ được đánh giá như sau
𝐸 = 𝐸𝑝 + 𝐸𝑘 = 𝑚𝑔𝑙. (1 − 𝑐𝑜𝑠𝑞2 ) + 𝐽𝑝 𝑞̇ 2
Lấy đạo hàm theo thời gian ta được
𝐸̇ = 𝑞̇ 2 (𝐽𝑝 𝑞̈ 2 + 𝑚𝑔𝑙𝑠𝑖𝑛𝑞2 )
Kết hợp (4-1) và (4-2) ta được
𝐸̇ = 𝑚𝑔𝑙. 𝑢𝑞̇ 2 𝑐𝑜𝑠𝑞2

25

(3-3)


Suy ra
𝑢 = (𝐸𝑚 − 𝐸)𝑞̇ 2 𝑐𝑜𝑠𝑞2

(3-4)

Với 𝐸𝑚 là năng lượng con lắc tại vị trí cân bằng trên (𝑞2 = 0𝑟𝑎𝑑), E là năng lượng
hê theo (4-1). Chú ý rằng (𝐸𝑚 − 𝐸) thực tế không lớn, tốc độ thay đổi không nhanh
và dấu bộ độ điều khiển phụ thuộc vào dấu của 𝑞̇ 2 và khi 𝑞2 là ±𝜋/2. Để quá trình
swing-up dể thực hiện và nhanh hơn, ta đề xuất luật điều khiển cho quá trình swingup như sau
𝑢 = 𝑠𝑎𝑡𝑢𝑚 (𝜇. 𝑠𝑖𝑔𝑛(𝑞̇ 2 𝑐𝑜𝑠𝑞2 ))

(3-5)


Với các giá trị có thể chỉnh định bằng thực nghiệm mà không dựa vào tham số không
chắc chắn của hệ thống
▪ 𝑢𝑚 : giá trị điện áp tối đa cấp vào động cơ để tạo moment
▪ 𝜇 : hệ số khuếch đại sự thay đổi năng lượng của hệ thống
Bộ điều khiển PD
Mơ hình tuyến tính quanh điểm cân bằng xe = [x(0) u(0)] = [0 0]T có dạng
{

𝐴 𝑚𝑎𝑡𝑟𝑖𝑥: 𝑎𝑖𝑗 =

𝑥̇ = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥 + 𝐷𝑢

𝜕𝑓𝑖
𝜕𝑓𝑖
| ; 𝐵 𝑚𝑎𝑡𝑟𝑖𝑥: 𝑏𝑖 =
| ;
𝜕𝑥𝑗 𝑥
𝜕𝑢 𝑥𝑒
𝑒

𝐶 𝑚𝑎𝑡𝑟𝑖𝑥: 𝑐𝑖𝑗 =

𝜕ℎ𝑖
𝜕𝑓𝑖
| ; 𝐷 𝑚𝑎𝑡𝑟𝑖𝑥: 𝑑𝑖 =
|
𝜕𝑥𝑗 𝑥
𝜕𝑢 𝑥𝑒
𝑒


Thay số và tính tốn ta được

𝐴= [

0
0
0
0

0
0

1
0
0
0
1
0
]; 𝐵 = [
];
− 19.9295
− 0.2318
0.0275
27.8294
66.5677
0.3262 − 0.0918
−39.2568

26



𝐶= [

1000
0
];𝐷 = [ ]
0100
0

hệ không ổn định do phương trình đặc trưng của hệ thống
det(sI – A) = s4 + 11.0839s3 - 117.1086s2 -423.4872s không thỏa điều kiện cần
hệ là điều khiển được rank([B AB A2B A3B A4B]) = 4 (bằng bậc của hệ thống)
Bộ điều khiển PD quanh điểm cân bằng trên [31],[32],[33],[34],[35]
Sai số ngõ ra
{

𝑒𝜃 = 𝜃𝑟 − 𝜃
𝑒𝛼 = 𝛼𝑟 − 𝛼

⇒{

𝑒̇𝜃 = 𝜃̇𝑟 − 𝜃̇
𝑒̇𝛼 = 𝛼̇ 𝑟 − 𝛼̇

Để điều khiển ngõ ra về điểm cân bằng θr = 0, αr = 0, khi đó
{

𝑒𝜃 = − 𝜃
𝑒𝛼 = − 𝛼


⇒{

𝑒̇𝜃 = − 𝜃̇
𝑒̇𝛼 = − 𝛼̇

Theo sơ đồ điều khiển
𝑢(𝑡 ) = 𝑢𝑡ℎ + 𝑢𝑎𝑙 = 𝐾𝑝1 𝑒𝜃 + 𝐾𝑑1 𝑒̇𝜃 + 𝐾𝑝2 𝑒𝛼 + 𝐾𝑑2 𝑒̇𝛼
= 𝐾𝑝1 (− 𝜃) + 𝐾𝑑1 (− 𝜃̇) + 𝐾𝑝2 (− 𝛼) + 𝐾𝑑2 (− 𝛼̇ )
= 𝐾𝑝1 (− 𝑥1 ) + 𝐾𝑑1 (− 𝑥3 ) + 𝐾𝑝2 (− 𝑥2 ) + 𝐾𝑑2 (− 𝑥4 )
𝑥1
𝑥2
= −[𝐾𝑝1 𝐾𝑝2 𝐾𝑑1 𝐾𝑝2 ] [𝑥 ] = −𝐾𝑥
3
𝑥4
Phương trình đặc trưng của hệ kín det(sI -A+BK) = 0 (*)
Chọn cực mong muốn cho hệ thống kín là 𝑝1,2 = −𝜉. 𝜔𝑛 ± 𝑗𝜔𝑛 √1 − 𝜉 2 , 𝑝3,4 =
−10, với hệ số đệm 𝜉 = 0.7 tần số dao động tự nhiên 𝜔𝑛 = 4
Phương trình đặc trưng mong muốn

(𝑠 + 10)2 (𝑠 2 + 5.6𝑠 + 16) = 0 (**)

27


Cân bằng (*) và (**) ta được K = [-17.871 -55.6307 -7.3303 -7.1258]
Thực hiện mơ phỏng

Hình 3.2 Sơ đồ mơ phỏng điều khiển Swing – PD


Hình 3.3 Đáp ứng của hệ khi tín hiệu sin tần số ω = 0.5 rad/s

28


Hình 3.4 Đáp ứng của hệ khi tín hiệu xung vuông tần số ω = 0.5 rad/s
Nhận xét: Bộ điều khiển Swing-up làm việc tốt khi đưa con lắc từ vị trí cân bằng dưới
𝑞2 = ±𝜋 lên điểm cân bằng không ổn định trên 𝑞2 = 0 trong khoảng 4.5 giây; bộ
điều khiển PD điều khiển tay máy bám theo tín hiệu đặt theo yêu cầu thiết kế. Tuy
nhiên khi tăng tần số tín hiệu mong muốn và có nhiễu đo lường hay tham số hệ thống
thay đổi, đáp ứng của hệ thống kém và dễ mất ổn định. Điều này lý giải vì bộ điều
khiển được thiết kế quanh điểm làm việc tĩnh, khi càng xa điểm làm việc thì hàm
truyền phương trình tuyến tính khơng cịn đúng dẫn đến bộ điều khiển khơng chính
xác gây nên mất ổn định cho hệ thống. Hơn nữa để thiết kế bộ điều khiển tốt ta phải
biết chính xác mơ hình và tham số của hệ thống.
Bộ điều khiển hồi tiếp tuyến tính hóa
Thiết kế bộ điều khiển
Xét hệ con lắc ngược quay có phương trình động học khơng bao gồm động cơ
𝑀(𝑞). 𝑞̈ + 𝐶 (𝑞, 𝑞̇ ). 𝑞̇ + 𝐺𝑚 (𝑞) + 𝑓𝑣 (𝑞̇ ) = 𝑢
𝑞 = [𝑞1 , 𝑞2 ]𝑇 , 𝑞 = [𝜏, 0]𝑇
𝑀 (𝑞 ) = [

𝑃1 + 𝑃2 𝑠𝑖𝑛2 (𝑞2 )
𝑃3 cos(𝑞2 )

𝑃3 cos(𝑞2 )
]
𝑃4

29


(3-6)


1

𝐶 (𝑞, 𝑞̇ ) =

𝑃 𝑞̇ sin(2𝑞2 )
2 2 2
[ 1
− 𝑃2 𝑞̇ 1 sin(2𝑞2 )
2

𝐺𝑚 (𝑞) = [

0
],
−𝑃5 sin(𝑞2 )

1

−𝑃3 𝑞̇ 2 𝑠𝑖𝑛(𝑞2 ) + 𝑃2 𝑞̇ 1 sin (2𝑞2 )
2

0
𝑓𝑣 (𝑞̇ ) = [

]


𝑃6 𝑞̇ 1
]
𝑃7 𝑞̇ 2

Phương trình trạng thái động học
𝑞̇ 1 = 𝑞3
𝑞̇ 2 = 𝑞4
𝑞̇ 3 = 𝑓1 + 𝑔1 𝜏
𝑞̇ 4 = 𝑓2 + 𝑔2 𝜏
trong đó,
f1 =

1
 M 22 H1 − M 12 .H 2 
det( M )

(3-7)

f2 =

1
 M11H 2 − M 21.H1 
det( M )

(3-8)

H1 = −C11q1 − C12 q2 − P6 q1

(3-9)


H 2 = −C21q1 − C22 q2 − P7 q2 − P5 sin(q2 )

(3-10)

g1 =

− M 21
M 22
, g2 =
det( M )
det( M )

(3-11)

Sai số bám vị trí
𝑒1
𝑞𝑑1 − 𝑞1
𝑞𝑑1 − 𝑞1
𝑒 = [𝑒 ] = [ 𝑞 − 𝑞 ] = [ − 𝑞 ] ∈ ℛ 2
2
𝑑2
2
2
khi tay máy bám theo vị trí mong muốn qd1(t), con lắc ổn định tại vị trí cân bằng trên
qd2 = 0.
Biểu diễn phương trình trạng thái viết theo sai số bám

30



𝑒̇1 = 𝑞̇ 𝑑1 − 𝑞̇ 1 ,
𝑒̇2 = − 𝑞̇ 2 ,
𝑒̈1 = 𝑞̈ 𝑑1 − 𝑓1 − 𝑔1 𝜏
𝑒̈2 = − 𝑓2 − 𝑔2 𝜏
Giả thiết quỹ đạo mong muốn bám của tay máy là tín hiệu qd1(t) là hàm trơn, khả vi
bậc 2 và bị chặn
‖𝑞𝑑1 (𝑡 )‖, ‖𝑞̇ 𝑑1 (𝑡 )‖, ‖𝑞̈ 𝑑1 (𝑡 )‖ ≤ 𝛿

(3-12)

Ta cần thiết kế tín hiệu điều khiển τ sao cho tay máy bám theo tín hiệu đặt qd1(t) và
con lắc ổn định tại vị trí cân bằng trên
Do hệ thống là hệ dưới bậc (hai khớp nhưng chỉ có một tác động), ta đề xuất hàm lọc
sai số bám ngõ ra có dạng như sau
𝑦(𝑡 ) = 𝑘1 𝑒1 + 𝑘2 𝑒2 + 𝑒̇1 + 𝑒̇2

(3-13)

Với k1, k2 là hằng số dương được chọn sao cho ma trận H của hệ sai số là Huwizt.
Theo [36], phương pháp chọn k1, k2 sao cho thỏa điều kiện sau thì hệ thống sẽ đảm
bảo ổn định UUB


 P3  P4

P5
0  k1 
P7



k P + P7 k1P5 ( P3 − P4 )
+
 k2  1 4
P3
P3 ( P5 − k1P7 )


(3-14)

Đạo hàm theo thời gian của (3-13) ta được
𝑦̇ (𝑡 ) = 𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑒̈1 + 𝑒̈2
𝑦̇ (𝑡 ) = 𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝑓1 − 𝑔1 𝜏 − 𝑓2 − 𝑔2 𝜏
𝑦̇ (𝑡 ) = 𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − (𝑓1 +𝑓2 ) − (𝑔1 + 𝑔2 )𝜏

31


𝑦̇ (𝑡 ) = 𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − 𝐺𝜏
với 𝐹 = 𝑓1 +𝑓2 , 𝐺 = 𝑔1 + 𝑔2

(3-15)

Xét hàm Lyapunov sau
𝑉=

1 2
𝑦
2

Đạo hàm của V theo thời gian

𝑉̇ = 𝑦𝑦̇ = 𝑦 (𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − 𝐺𝜏)
Chọn tín hiệu điều khiển

=

k1e1 + k 2e2 + qd 1 − F + k3 y
với k3  0
G

(3-16)

Khi đó
𝑉̇ = 𝑦 (𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − 𝐺

𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 + 𝑘3 𝑦
)
𝐺

𝑉̇ = −𝑘3 𝑦 2 ≤ 0
Với tín hiệu điều khiển đã chọn như trên hệ thống đảm bảo y(t) sẽ tiến về 0 theo hàm
mũ khi t tiến ra ∞.

Inverted
Pendulum
System

qd 1
_

k1


k3

k2
(g1 + g2)-1

y

qd 1

k1
_

qd 1

e2

e1

e1

k2

f1 + f2

-1

e2
-1


_

Hình 3.5 Sơ đồ điều khiển tuyến tính hóa hồi tiếp

32

q1
q2
q1
q2


Thực hiện mơ phỏng

Hình 3.6 Sơ đồ mơ phỏng giải thuật hồi tiếp tuyến tính ngõ ra

Hình 3.7 Sơ đồ mơ phỏng bộ điều khiển tuyến tính hồi tiếp
Tiến hành mô phỏng hệ với các thông số k1 = 1, k2 = 5, k3 = 18

33


Hình 3.8 Đáp ứng của hệ khi tín hiệu sin tần số ω = 1 rad/s

Hình 3.9 Đáp ứng của hệ khi tín hiệu sin tần số ω = 1 rad/s có nhiễu đo
Nhận xét: bộ điều khiển hồi tiếp tuyến tính ngõ ra thực hiện tốt yêu cầu điều khiển
tay máy bám theo tín hiệu mong muốn đến trong khả năng đáp ứng của hệ thống đến
ω = 2 rad/s, kể cả khi có nhiễu đo lường. Điểm yếu của phương pháp này là khi tín
hiệu mong muốn khơng là hàm trơn thì bộ điều khiển khơng thực hiện được; hơn nữa
ta cũng cần biết chính xác thơng số mơ hình để thực thi bộ điều khiển.


34


Bộ điều khiển thích nghi
Thiết kế bộ điều khiển
Khi cấu trúc hệ thống (các thơng số hay mơ tả tốn học) khơng biết, nên ta khơng có
mơ tả F và G. Ta có thể xấp xỉ F và G thơng qua mạng nơ-ron như sau
𝐹 = 𝑊𝑓𝑇 𝜑(𝑉𝑓𝑇 𝑥) + 𝜀𝑓 , 𝐺 = 𝑊𝑔𝑇 𝜑(𝑉𝑔𝑇 𝑥) + 𝜀𝑔

(3-17)

trong đó
𝜀𝑓 , 𝜀𝑔 là hằng số biểu diễn các sai số xấp xỉ của F và G, 𝜀𝑁 > |𝜀| > 0
x là ngõ vào mạng neuron 𝑥 = [𝑞1 𝑞2 𝑞̇ 1 𝑞̇ 2 1 ]𝑇 ,
𝜑(. ) là hàm tác động lớp ẩn,
𝑉 = [𝑉𝑖𝑗 ], 𝑖 = 1 ÷ 𝑛 (𝑠ố 𝑛𝑔õ 𝑣à𝑜 𝑚ạ𝑛𝑔), 𝑗 = 1 ÷ 𝑚 (𝑠ố 𝑛𝑒𝑢𝑟𝑜𝑛 𝑙ớ𝑝 ẩ𝑛)
𝑊 = [𝑊1 𝑊2 … … 𝑊𝑚 ]𝑇
Để đơn giản ta có thể chọn V là ma trận có các giá trị hằng được chọn ngẫu nhiên
trong [-1; 1]. Do đó, khi các tín hiệu trạng thái hệ thống đo được ta có
̂𝑓𝑇 𝜑(𝑉𝑓𝑇 𝑥) , 𝐺̂ = 𝑊
̂𝑔𝑇 𝜑(𝑉𝑔𝑇 𝑥)
𝐹̂ = 𝑊

(3-18)

là ước lượng dựa vào mạng neuron của F và G, sai số ước lượng được định nghĩa như
sau
̃𝑓𝑇 𝜑(𝑉𝑓𝑇 𝑥);
𝐹̃ = 𝐹 − 𝐹̂ ≈ 𝑊

̃𝑓 = 𝑊𝑓 − 𝑊
̂𝑓 ;
𝑊

̃𝑔𝑇 𝜑(𝑉𝑔𝑇 𝑥)
𝐺̃ = 𝐺 − 𝐺̂ ≈ 𝑊

̃𝑔 = 𝑊𝑔 − 𝑊
̂𝑔
𝑊

(3-19)
(3-20)

Luật điều khiển thích nghi dựa vào mạng neuron ước lượng như sau
𝜏=

𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹̂ + 𝑘3 𝑦 + 𝑘4 ∫ 𝑦 + 𝑢𝑠
𝐺̂
(3-21)

Để tìm luật cập nhật cho Wf và Wg ta xét hàm Lyapunov sau

35


𝑉=

1 2 1
1

̃𝑓𝑇 𝐾𝑓−1 𝑊
̃𝑓 ) + 𝑇𝑟(𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃𝑔 )
𝑦 + 𝑇𝑟(𝑊
2
2
2

̃𝑓𝑇 𝐾𝑓−1 𝑊
̃̇𝑓 ) + 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃̇𝑔 )
𝑉̇ = 𝑦𝑦̇ + 𝑇𝑟 (𝑊
̃𝑓𝑇 𝐾𝑓−1 𝑊
̃̇𝑓 ) + 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃̇𝑔 )
𝑉̇ = 𝑦[𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − 𝐺𝜏] + 𝑇𝑟 (𝑊
̃𝑓𝑇 𝐾𝑓−1 𝑊
̃̇𝑓 )
𝑉̇ = 𝑦[𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − (𝐺̂ + 𝐺̃ )𝜏] + 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃̇𝑔 )
+ 𝑇𝑟 (𝑊
𝑉̇ = 𝑦 [𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹 − 𝐺̂ (

𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹̂ + 𝑘3 𝑦 + 𝑢𝑠
)
𝐺̂


̃𝑓𝑇 𝐾𝑓−1 𝑊
̃̇𝑓 ) + 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃̇𝑔 )
− 𝐺̃ 𝜏] + 𝑇𝑟 (𝑊
̃𝑓𝑇 𝐾𝑓−1 𝑊
̃̇𝑓 ) + 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̃̇𝑔 )
𝑉̇ = 𝑦(𝐹̂ − 𝐹 − 𝐺̃ 𝜏 − 𝑘3 𝑦 − 𝑢𝑠 ) + 𝑇𝑟 (𝑊
̃𝑓𝑇 𝐾𝑓−1 𝑊
̂̇𝑓 ) − 𝑇𝑟 (𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̂̇𝑔 ) − 𝑦𝑢𝑠
𝑉̇ = −𝑘3 𝑦 2 − 𝑦𝐹̃ − 𝑦𝐺̃ 𝜏 − 𝑇𝑟 (𝑊
̃𝑓𝑇 𝜑(𝑉𝑓𝑇 𝑥) − 𝑦𝑊
̃𝑔𝑇 𝜑(𝑉𝑔𝑇 𝑥)𝜏 − 𝑇𝑟 (𝑊
̃𝑓𝑇 𝐾𝑓−1 𝑊
̂̇𝑓 )
𝑉̇ = −𝑘3 𝑦 2 − 𝑦𝑊
̃𝑔𝑇 𝐾𝑔−1 𝑊
̂̇𝑔 ) − 𝑦𝑢𝑠 − 𝜀𝑓 − 𝜀𝑔 𝜏
− 𝑇𝑟 (𝑊
̃𝑓𝑇 (𝑦𝜑(𝑉𝑓𝑇 𝑥) + 𝐾𝑓−1 𝑊
̂̇𝑓 )] − 𝑇𝑟 [𝑊
̃𝑔𝑇 (𝑦𝜏𝜑(𝑉𝑓𝑇 𝑥) + 𝐾𝑔−1 𝑊
̂̇𝑔 )]
𝑉̇ = −𝑘3 𝑦 2 − 𝑇𝑟 [𝑊
− 𝑦𝑢𝑠 − 𝜀𝑓 − 𝜀𝑔 𝜏

Chọn luật cập nhật trọng số và tín hiệu bù sai số sao cho
̃𝑓𝑇 (𝑦𝜑(𝑉𝑓𝑇 𝑥) + 𝐾𝑓−1 𝑊
̂̇𝑓 )] = 0
𝑇𝑟 [𝑊
̃𝑔𝑇 (𝑦𝜏𝜑(𝑉𝑓𝑇 𝑥) + 𝐾𝑔−1 𝑊
̂̇𝑔 )] = 0
𝑇𝑟 [𝑊
−𝑦𝑢𝑠 − 𝜀𝑓 − 𝜀𝑔 𝜏 = 0

36


Suy ra
̂̇𝑓 = −𝐾𝑓 𝑦𝜑(𝑉𝑓𝑇 𝑥) ; 𝑊
̂̇𝑔 = −𝐾𝑔 𝑦𝜏𝜑(𝑉𝑓𝑇 𝑥)
𝑊
𝑢𝑠 = −

1
(𝜀 + 𝜀𝑔 𝜏)
𝑦 𝑓

Khi đó
̃𝑓 , 𝑊
̃𝑔 hội tụ, theo bổ đề Barbalat 𝑦(𝑡 ) → 0 𝑘ℎ𝑖 𝑡 →∝
𝑉̇ = −𝑘3 𝑦 2 ≤ 0 nên 𝑦(𝑡 ), 𝑊
Tóm lại, luật điều khiển thích nghi bám theo tín hiệu qd1(t) được thiết kế như sau
𝑒1
𝑞𝑑1 − 𝑞1
𝑒 = [𝑒 ] = [ − 𝑞 ] ; 𝑦 = 𝑘1 𝑒1 + 𝑘2 𝑒2 + 𝑒̇1 + 𝑒̇2

2
2
𝜏=

𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − 𝐹̂ + 𝑘3 𝑦 + 𝑢𝑠
𝐺̂

̂𝑓𝑇 𝜑(𝑉𝑓𝑇 𝑥) , 𝐺̂ = 𝑊
̂𝑔𝑇 𝜑(𝑉𝑔𝑇 𝑥); 𝑥 = [𝑞1 𝑞2 𝑞̇ 1 𝑞̇ 2 1 ]𝑇
𝐹̂ = 𝑊
̂̇𝑓 = −𝐾𝑓 𝑦𝜑(𝑉𝑓𝑇 𝑥) ; 𝑊
̂̇𝑔 = −𝐾𝑔 𝑦𝜏𝜑(𝑉𝑓𝑇 𝑥)
𝑊
𝑢𝑠 = −

1
(𝜀 + 𝜀𝑔 𝜏)
𝑦 𝑓
d2
dt 2
k1e1 + k2 e2

qd

-

e

y = e1 + e2 + k1e1 + k2e2


Inverted
Pendulum
System

k3 y

- 1
( f +  g )
y

Wˆ g = − K g y (VgT x )

Gˆ −1

Gˆ = Wˆ gT  (VgT x)

Neuron network estimator
Fˆ = Wˆ fT  (V fT x)

Wˆ f = − K f y (VgT x)

Hình 3.10 Sơ đồ thực hiện điều khiển thích nghi dùng mạng neuron

37


Thực hiện mơ phỏng

Hình 3.11 Sơ đồ mơ phỏng Simulink giải thuật thích nghi gián tiếp


Hình 3.12 Sơ đồ mơ phỏng mạng neuron cho hàm F
Tiến hành mô phỏng hệ với các thông số
-

Bộ điều khiển k1 = 1, k2 = 5, k3 = 18;

38


-

Mạng cho ước lượng hàm F: Kf = -10, kw = 0.1, số neuron lớp ẩn là 10, ma trận
Vf được tạo ngẫu nhiên trong [-1;1], hàm tác động lớp ẩn là tansig

-

Mạng cho ước lượng hàm G: Kg = -2.5, kw = 0.35, số neuron lớp ẩn là 10, ma trận
Vg được tạo ngẫu nhiên trong [-1;1], hàm tác động lớp ẩn là logsig

Hình 3.13 Kết quả mơ phỏng bộ điều khiển thích nghi gián tiếp

Hình 3.14 Kết quả mô phỏng ước lượng hàm G

39


Hình 3.15 Kết quả mơ phỏng ước lượng hàm F

Hình 3.16 Kết quả mơ phỏng điều khiển IAC khi có nhiễu đo lường


40


Nhận xét:
• Mạng neuron được thiết kế như trên, giá trị ước lượng ngõ ra gần giống tín hiệu
thực của mơ hình; các trọng số mạng hội tụ sau 4 giây, đáp ứng hệ thống ổn định
và ngõ ra bám theo tín hiệu mong muốn ngõ vào tốt.
• Với thơng số mơ hình thay đổi hay nhiễu tác động vào hệ thống, đáp ứng ngõ ra
cũng đạt kết quả mong muốn.
• Phương pháp khơng cần biết tham số của mơ hình, nhưng phải biết cấu trúc hay
đặc tính động học của mơ hình mới điều chỉnh được chất lượng điều khiển tốt.
Nhưng việc ước lượng hàm G rất khó khăn vì yếu tố này ảnh hưởng rất lớn đến
các thơng số điều khiển khác. Khi chưa điều chỉnh chính xác cho việc ước lượng
hàm G, hệ thống dể mất ổn định
Bộ điều khiển thích nghi dạng trực tiếp
Thiết kế bộ điều khiển
Hàm lọc sai số bám ngõ ra có dạng như sau
𝑦(𝑡 ) = 𝑘1 𝑒1 + 𝑘2 𝑒2 + 𝑒̇1 + 𝑒̇2
Với k1, k2 là hằng số dương được chọn sao cho ma trận H của hệ sai số là Huwizt
Đạo hàm theo thời gian của y(t),
𝑦̇ (𝑡 ) = 𝐹 + 𝐺𝜏

(3-22)

với 𝐹 = 𝑘1 𝑒̇1 + 𝑘2 𝑒̇2 + 𝑞̈ 𝑑1 − (𝑓1 +𝑓2 ), 𝐺 = −(𝑔1 + 𝑔2 )

(3-23)

𝑃


Ta có 𝐺 (𝑞2 ) xác định dương với mọi |𝑞2 | ≤ 𝑎𝑟𝑐𝑐𝑜𝑠 ( 4 ),
𝑃3

Giả thiết, xét tập kín
𝑃

𝐵𝑟 = {𝑟 ∈ ℛ 4 ∥ |𝑟| ≤ 𝑎𝑟𝑐𝑐𝑜𝑠 ( 4 )}

(3-24)

𝑃3

Với 𝑒𝑥 ∈ 𝐵𝑟 , ta có 𝐺 (𝑞2 ) xác định dương và 𝐺̇ (𝑞2 ) liên tục và bị chặn, hay

41


1 𝐺̇
0 ≤ | 2| ≤ 𝜇
2 𝐺
𝑦̇ (𝑡 ) 𝐹
= +𝜏
𝐺
𝐺
Từ đó, ta nhận thấy nếu ta có thể cưỡng bức vế phải phương trình trên về zero thì hệ
thống sẽ ổn định và y(t) sẽ hội tụ về zero.
Ta đề xuất luật điều khiển như sau
 =−

F

− k3 y
G

(3-25)

với k3 là hằng số xác định dương.
Xét hàm xác định dương Lyapunov như sau:
1 𝑦2
𝑉=
2 𝐺
𝑉̇ =

1 2𝐺. 𝑦. 𝑦̇ − 𝑦 2 𝐺̇
𝐺̇ 2
𝑦̇
𝐺̇ 2
𝐹
=

𝑦
+
𝑦
=

𝑦 + ( + 𝜏) 𝑦
2
2
2
2
𝐺

𝐺
𝐺
𝐺
𝐺

𝑉̇ ≤ − 𝜇𝑦 2 − 𝑘3 𝑦 2 ≤ 0,

∀ 𝑘3 > 𝜇

Do đó hệ thống ổn định và y(t) sẽ hội tụ về 0 theo hàm mũ khi t lớn.
Khi cấu trúc hệ thống (các thông số hay mơ tả tốn học) khơng biết, nên ta khơng có
mơ tả F và G. Ta có thể xấp xỉ F và G thông qua mạng nơ-ron như sau
F
= W T  (V T x) + 
G

𝜀𝑓 là hằng số biểu diễn các sai số xấp xỉ của F và G, 𝜀𝑁 > |𝜀| > 0
x là ngõ vào mạng neuron 𝑥 = [𝑞1 𝑞2 𝑞̇ 1 𝑞̇ 2 1 ]𝑇 ,
𝜑(. ) là hàm tác động lớp ẩn,
𝑉 = [𝑉𝑖𝑗 ], 𝑖 = 1 ÷ 𝑛 (𝑠ố 𝑛𝑔õ 𝑣à𝑜 𝑚ạ𝑛𝑔), 𝑗 = 1 ÷ 𝑚 (𝑠ố 𝑛𝑒𝑢𝑟𝑜𝑛 𝑙ớ𝑝 ẩ𝑛)

42

(3-26)


𝑊 = [𝑊1 𝑊2 … … 𝑊𝑚 ]𝑇
Để đơn giản ta có thể chọn V là ma trận có các giá trị hằng được chọn ngẫu nhiên
trong [-1; 1]. Do đó, khi các tín hiệu trạng thái hệ thống đo được ta có
F

= Wˆ T  (V T x )
G

(3-27)

𝑥 = [𝑞1 𝑞2 𝑞̇ 1 𝑞̇ 2 𝑒̇1 𝑒̇2 𝑞̈ 𝑑1 1]𝑇
𝑉 ∈ ℛ 8𝑥𝑛 ma trận trọng số ngõ vào, 𝑊 ∈ ℛ 𝑛 ma trận trọng số ngõ ra, n số nơ-ron
lớp ẩn, 𝜀 ∈ ℛ là sai số xấp xỉ hàm.
Tín hiệu điều khiển
̂ 𝑇 𝜎 ( 𝑉 𝑇 𝑥 ) − 𝑘 3 𝑦 − 𝑢𝑠
𝜏 =−𝑊

(3-28)

Xét hàm Lyapunov sau
𝑉=

1 2 1
−1 ̃
̃ 𝑇 𝐾𝑊
𝑦 + 𝑇𝑟(𝑊
𝑊)
2
2

1 2𝐺. 𝑦. 𝑦̇ − 𝑦 2 𝐺̇
−1 ̃̇
̃ 𝑇 𝐾𝑊
𝑉̇ =
+ 𝑇𝑟 (𝑊

𝑊)
2
𝐺2
𝑉̇ = −

𝑉̇ = −

𝐺̇ 2
𝑦̇
−1 ̃̇
̃ 𝑇 𝐾𝑊
𝑦
+
𝑦 + 𝑇𝑟 (𝑊
𝑊)
2
𝐺
𝐺

𝐺̇ 2
𝐹
−1 ̃̇
̃ 𝑇 𝐾𝑊
𝑦
+
(
+ 𝜏) 𝑦 + 𝑇𝑟 (𝑊
𝑊)
𝐺2
𝐺


𝑉̇ = −

𝐺̇ 2
̂ 𝑇 𝜎(𝑉 𝑇 𝑥) − 𝑘3 . 𝑦 − 𝑢𝑠 )𝑦
𝑦 + (𝑊 𝑇 𝜎(𝑉 𝑇 𝑥) + 𝜀 − 𝑊
2
𝐺
̃ 𝑇 𝐾 −1 𝑊
̃̇ )
+ 𝑇𝑟 (𝑊
𝑊

𝑉̇ = −

𝐺̇ 2
−1 ̂̇
̃ 𝑇 𝜎(𝑉 𝑇 𝑥)𝑦 − 𝑇𝑟 (𝑊
̃ 𝑇 𝐾𝑊
𝑦 − 𝑘3 𝑦 2 + 𝑊
𝑊 ) + (𝜀 − 𝑢𝑠 )𝑦
2
𝐺

−1 ̂̇
̃ 𝑇 [𝜎 (𝑉 𝑇 𝑥)𝑦 − 𝐾𝑊
𝑉̇ ≤ − 𝜇𝑦 2 − 𝑘3 𝑦 2 + 𝑊
𝑊 ] + (𝜀 − 𝑢𝑠 )𝑦

43



Chọn
−1 ̂̇
[𝜎 (𝑉 𝑇 𝑥)𝑦 − 𝐾𝑊
𝑊]=0

( 𝜀 − 𝑢𝑠 ) 𝑦 = 0
Suy ra
̂̇ = 𝐾𝑊 𝜎(𝑉 𝑇 𝑥)𝑦
𝑊
𝑢𝑠 = 𝜀
Khi đó
𝑉̇ ≤ − 𝜇𝑦 2 − 𝑘3 𝑦 2 ≤ 0,

∀ 𝑘3 > 𝜇
d2
dt 2

Wˆ = KW y (V T x )

Neuron network estimator
F
= Wˆ T  (V T x)
G

qd

-


e

-

y = e1 + e2 + k1e1 + k2e2

k3 y

-



-

Inverted
Pendulum
System

q

k4 sign( y )

Hình 3.17 Sơ đồ thực hiện điều khiển thích nghi dùng mạng neuron trực tiếp
Thực hiện mơ phỏng

Hình 3.18 Sơ đồ mơ phỏng Simulink giải thuật thích nghi trực tiếp

44



Tiến hành mơ phỏng với thơng số
• Bộ điều khiển k1 = 1, k2 = 5, k3 = 1;
• Mạng cho ước lượng hàm F: Kf = -100, kw = 1, số neuron lớp ẩn là 10, ma trận
Vf được tạo ngẫu nhiên trong [-1;1], hàm tác động là hàm tansig.

Hình 3.19 Kết quả mơ phỏng bộ điều khiển thích nghi trực tiếp

Hình 3.20 Kết quả mơ phỏng ước lượng mạng NN cho F/G

45


Hình 3.21 Kết quả mơ phỏng điều khiển thích nghi DAC khi có nhiễu đo
Nhận xét
• Phương pháp điều khiển thích nghi trực tiếp hệ thống ln ổn định khi k3 đủ lớn.
• Dễ dàng điều chỉnh các thơng số của bộ điều khiển do hệ thống ít nhạy với nhiễu
hơn

46



×