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

Một phần của tài liệu 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 (luận văn thạc sĩ) (Trang 38 - 60)

Inverted Pendulum System Swing-up Controller

Switch Control PID Controller

ref +_

q1,q2

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 (3-3) 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

26 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 swing- up 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 toán ta được

𝐴 = [

0 0 1 0 0 0 0 1 0 − 19.9295 − 0.2318 0.0275 0 66.5677 0.3262 − 0.0918

] ; 𝐵 = [ 0 0 27.8294

−39.2568 ] ;

27 𝐶 = [1 0 0 0

0 1 0 0] ; 𝐷 = [0 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 (**)

28

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

29

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ơ 𝑀(𝑞). 𝑞̈ + 𝐶(𝑞, 𝑞̇). 𝑞̇ + 𝐺𝑚(𝑞) + 𝑓𝑣(𝑞̇) = 𝑢 (3-6) 𝑞 = [𝑞1, 𝑞2]𝑇 , 𝑞 = [𝜏, 0]𝑇

𝑀(𝑞) = [𝑃1+ 𝑃2𝑠𝑖𝑛2(𝑞2) 𝑃3cos(𝑞2) 𝑃3cos(𝑞2) 𝑃4 ]

30 𝐶(𝑞, 𝑞̇) = [

1

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

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

−1

2𝑃2𝑞̇1sin(2𝑞2) 0 ]

𝐺𝑚(𝑞) = [ 0

−𝑃5sin(𝑞2)], 𝑓𝑣(𝑞̇) = [𝑃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 đó,

 

1 22 1 12 2

1 .

det( )

f M H M H

= M − (3-7)

 

2 11 2 21 1

1 .

det( )

f M H M H

= M − (3-8)

1 11 1 12 2 6 1

H = −C qC qP q (3-9)

2 21 1 22 2 7 2 5sin( 2)

H = −C qC qP qP q (3-10)

22

1 det( )

g M

= M , 2 21 det( ) g M

M

= − (3-11)

Sai số bám vị trí 𝑒 = [𝑒1

𝑒2] = [𝑞𝑑1− 𝑞1

𝑞𝑑2− 𝑞2] = [𝑞𝑑1 − 𝑞1

− 𝑞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

31 𝑒̇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

3 4

5 1

7

1 4 7 1 5 3 4

2

3 3 5 1 7

0

( )

( )

P P

k P P

k P P k P P P

k P P P k P

 



  

 + −

 +

 −

(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)𝜏

32 𝑦̇(𝑡) = 𝑘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

1 1 2 2 d1 3

k e k e q F k y

 = + +G − + với k3 0 (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

f1 + f2 (g1 + g2)-1

1

qd

q1

q2

q1

q2

1

qd

k1 k2 -1

-1

k1 k2

1

qd

k3

e1 e2 e2

e1

y

_

_

_

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

33 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

34

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.

35 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ả toá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 WfWg ta xét hàm Lyapunov sau

36 𝑉 = 1

2𝑦2+ 1

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

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

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

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

+ 𝑇𝑟 (𝑊̃𝑔𝑇𝐾𝑔−1𝑊̃̇𝑔)

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

𝐺̂ )

− 𝐺̃𝜏] + 𝑇𝑟 (𝑊̃

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

𝑉̇ = 𝑦(𝐹̂ − 𝐹 − 𝐺̃𝜏 − 𝑘3𝑦 − 𝑢𝑠) + 𝑇𝑟 (𝑊̃

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

𝑉̇ = −𝑘3𝑦2− 𝑦𝑊̃

𝑓𝑇𝜑(𝑉𝑓𝑇𝑥) − 𝑦𝑊̃𝑔𝑇𝜑(𝑉𝑔𝑇𝑥)𝜏 − 𝑇𝑟 (𝑊̃

𝑓𝑇𝐾𝑓−1𝑊̂̇𝑓)

− 𝑇𝑟 (𝑊̃𝑔𝑇𝐾𝑔−1𝑊̂̇𝑔) − 𝑦𝑢𝑠− 𝜀𝑓 − 𝜀𝑔𝜏

𝑉̇ = −𝑘3𝑦2− 𝑇𝑟 [𝑊̃

𝑓𝑇(𝑦𝜑(𝑉𝑓𝑇𝑥) + 𝐾𝑓−1𝑊̂̇𝑓)] − 𝑇𝑟 [𝑊̃𝑔𝑇(𝑦𝜏𝜑(𝑉𝑓𝑇𝑥) + 𝐾𝑔−1𝑊̂̇𝑔)]

− 𝑦𝑢𝑠− 𝜀𝑓 − 𝜀𝑔𝜏

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

37 Suy ra

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

𝑢𝑠 = − 1

𝑦(𝜀𝑓 + 𝜀𝑔𝜏) Khi đó

𝑉̇ = −𝑘3𝑦2 ≤ 0 nên 𝑦(𝑡), 𝑊̃𝑓, 𝑊̃𝑔 hội tụ, theo bổ đề Barbalat 𝑦(𝑡) → 0 𝑘ℎ𝑖 𝑡 →∝

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

𝑒2] = [𝑞𝑑1− 𝑞1

− 𝑞2 ] ; 𝑦 = 𝑘1𝑒1+ 𝑘2𝑒2+ 𝑒̇1+ 𝑒̇2

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

𝐹̂ = 𝑊̂

𝑓𝑇𝜑(𝑉𝑓𝑇𝑥) , 𝐺̂ = 𝑊̂

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

𝑢𝑠 = − 1

𝑦(𝜀𝑓 + 𝜀𝑔𝜏)

Inverted Pendulum System

1 2 1 1 2 2

y= + +e e k e +k e

ˆ ˆTf (fT) F=WV x

ˆ ˆgT (gT) G=WV x

ˆg g (gT)

W = −K yV x

ˆf f (gT ) W = −K y V x

1 1 2 2

k e+k e

k y3

2 2

d dt

( )

1

f g

y +

qd

- -

Neuron network estimator ˆ1

G

- e

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

38 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;

39

- 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

40

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

41 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)} (3-24)

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

42 0 ≤1

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

3

F k 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ả toá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

( )

T T

F W V x

G =  + (3-26)

𝜀𝑓 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 ÷ 𝑚 (𝑠ố 𝑛𝑒𝑢𝑟𝑜𝑛 𝑙ớ𝑝 ẩ𝑛)

43 𝑊 = [𝑊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ó

ˆT ( T ) F W V 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𝑦2+ 1

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

𝑉̇ = 1 2

2𝐺. 𝑦. 𝑦̇ − 𝑦2𝐺̇

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

𝑉̇ = − 𝐺̇

𝐺2𝑦2+ 𝑦̇

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

𝑉̇ = − 𝐺̇

𝐺2𝑦2+ (𝐹

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

𝑉̇ = − 𝐺̇

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

𝑉̇ = − 𝐺̇

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

44 Chọn

[𝜎(𝑉𝑇𝑥)𝑦 − 𝐾𝑊−1𝑊̂̇ ] = 0 (𝜀 − 𝑢𝑠)𝑦 = 0

Suy ra

𝑊̂̇ = 𝐾𝑊𝜎(𝑉𝑇𝑥)𝑦 𝑢𝑠 = 𝜀

Khi đó

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

Inverted Pendulum System

1 2 1 1 2 2

y= + +e e k e +k e k y3

2 2

d dt

qd

Neuron network estimator

- e

4 ( )

k sign y

ˆ W ( T )

W=K yV x

ˆT ( T ) F W V x G= 

-- -

q

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

45 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

46

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 luôn ổ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

47

Một phần của tài liệu 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 (luận văn thạc sĩ) (Trang 38 - 60)

Tải bản đầy đủ (PDF)

(83 trang)