báo cáo cuối kì môn học nhận dạng và điềukhiển hệ thống đề tài mô hình hoá và thiết kế bộ điều khiển cho hệ pendubot

50 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo cuối kì môn học nhận dạng và điềukhiển hệ thống đề tài mô hình hoá và thiết kế bộ điều khiển cho hệ pendubot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

111Equation Chapter 1 Section 1BỘ GIÁO DỤC & ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬBỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

BÁO CÁO CUỐI KÌ

Môn học: NHẬN DẠNG VÀ ĐIỀUKHIỂNHỆ THỐNG

Tp Hồ Chí Minh tháng 5 năm 2023

Trang 3

MỤC LỤC

DANH SÁCH HÌNH ẢNH 2

DANH SÁCH BẢNG 3

1.Mô Hình Đối Tượng: 1

1.1Giới thiệu Pendubot: 1

1.2Xây dựng phương trình toán học: 1

2.Xây dựng môi trường mô phỏng: 9

2.1Xây dựng môi trường chung: 9

2.2Xây dựng hệ thống Pendubot: 10

3.Bộ điều khiển tối ưu: 13

3.1 Bộ điều khiển LQR: 13

3.1.1Cơ sở lý thuyết: 13

3.1.2Thiết kế bộ điều khiển LQR: 15

3.1.3Mô phỏng bộ điều khiển LQR cho hệ PENDUBOT: 17

3.1.4Kết quả mô phỏng: 19

3.2 Bộ điều khiển LQG: 20

3.2.1Tính toán và thiết kế bộ lọc Kalman: 20

3.2.2Mô phỏng bộ điều khiển LQR + Kalman: 22

3.2.3Kết quả mô phỏng: 23

4.Bộ điều khiển phi tuyến: 24

4.1Bộ điều khiển trượt: 24

4.1.1Cơ sở lý thuyết: 24

4.1.2Thiết kế bộ điều khiển trượt cho hệ thống SIMO: 24

4.1.3Thiết kế bộ điều khiển trượt cho hệ pendubot 27

4.1.4Mô phỏng bộ điểu khiển trượt cho hệ PENDUBOT: 29

4.1.5Kết quả mô phỏng bộ điểu khiển trượt cho hệ PENDUBOT: 38

Trang 4

DANH SÁCH HÌNH ẢNH

Hình 1:Một số mô hình pendubot 1

Hình 2: Mô hình hoá Pendubot 1

Hình 3:Mô hình động cơ điện 1 chiều 7

Hình 4: Thiết lập môi trường step 1 9

Hình 5: Thiết lập môi trường step 2 10

Hình 6: Thiết lập môi trường step 3 10

Hình 7:Cấu trúc khối Matlab-Function mô tả hệ xe Pendubot 11

Hình 8 Khối chuyển đổi q1 thành X1 12

Hình 9: Thông số trong khối Integrator và Integrator1 12

Hình 10: Thông số trong khối Integrator2 và Integrator3 12

Hình 11:Sơ đồ bộ điều khiển LQR 18

Hình 12:Thông số khối Gain 18

Hình 13:Tín hiệu điều khiển điện áp 19

Hình 14:Góc lệch thanh 1 19

Hình 15: Góc lệch thanh 2 20

Hình 16: Sơ đồ cấu trúc bộ lọc Kalman 20

Hình 17:Sơ đồ bộ điều khiển LQG 22

Hình 18:Góc lệch thanh 1 23

Hình 19:Góc lệch thanh 2 24

Hình 20: Cấu trúc bậc của các mặt trượt 25

Hình 21:Sơ đồ bộ điều khiển trượt 29

Hình 22 Lưu đồ giải thuật GA 31

Hình 23: Tín hiêu điều khiển u 36

Hình 24:Góc lệch thanh 1 37

Hình 25:Góc lệch thanh 2 37

Hình 26: Kết quả mô phỏng ngõ ra góc thanh 1 38

Hình 27: Kết quả mô phỏng ngõ ra góc thanh 2 38

Hình 28 Tín hiệu điều khiển ngõ ra của bộ điều khiển trượt 39

Trang 5

DANH SÁCH BẢNG

Bảng 1: Kí hiệu các thông số mô hình 2

Bảng 2:Các thông số của mô hình 6

Bảng 3: Danh sách các khối cần sử dụng tạo hệ Pendubot 11

Bảng 4: Các khối sử dụng trong matlab simulation 23

Trang 7

1 Mô Hình Đối Tượng:1.1 Giới thiệu Pendubot:

Mô hình Pendubot là mô hình có ngõ vào điều khiển ít hơn số bậc tự do, có độ phi tuyến caovà rất khó để điều khiển Pendubot với cấu trúc cơ khí không quá phức tạp nên được nhiềunhà nghiên cứu sử dụng để kiểm tra giải thuật điều khiển trong các phòng thí nghiệm.Trongbài báo cáo này em sẽ xây dựng bộ điều khiển tối ưu LQR, bộ điều khiển phi tuyến (bộ điềukhiển trượt) dùng giải thuật GA tìm thông số cho bộ điều khiển trượt ở vị trí TOP với thờigian dài.

Hình 1:Một số mô hình pendubot

1.2 Xây dựng phương trình toán học:

Hệ thống cơ khí kích thích dưới là một robot với một bộ truyền động ở khớp 1 và khớp 2quay tự do quanh khớp 1

Trang 8

Từ cấu tạo của Pendubot ta cần xây dựng mô hình toán học cho nó để phục vụ quá trình tổnghợp bộ điều khiển và mô phỏng trên máy tính một cách chính xác Khi xây dựng phươngtrình động lực học ta sử dụng phương pháp Euler-Lagrange

Phương trình Euler-Lagrange để mô tả chuyển động của một hệ bảo toàn Phương trình nàythường được dùng để khảo sát những chuyển động cân bằng như dao động hay quỹ đạo củacác hành tinh hệ cân bằng con lắc, xe cân bằng cũng như các hệ SIMO khác Do vậy phươngtrình Euler – Larange đóng một vai trò rất quan trọng trong điều khiển nói chung và hệpendubot của nhóm nói riêng

Dạng tổng quát của phương trình Euler – Larange.

212\* MERGEFORMAT (.)

Trong đó:

Các biến:q , 1 q và 2  Trong đó,q và 1 q là các tín hiệu đầu ra và τ là tín hiệu đầu vào Do hệ2pendubot có 1 tín hiệu vào vào hai tín hiệu ra điều khiển nên  là j  Khi đó 1  dựa trên bộ1điều khiển được thiết kế Mỗi biến được định nghĩa như sau:

Bảng 1: Kí hiệu các thông số mô hình

Trang 9

K: động năng (kinetic energy) V: Thế năng (potential energy) : lực tác dụng (generalized forces)

q: tọa độ suy rộng (generalized coordinates)

Với hệ toán học pendubot ta xét các thanh là đồng chất và có tâm của mỗi thanh ở vị trí chínhgiữa của mỗi khớp Ta tiến hành xây dựng phương trình toán học cho hệ pendubot thông quatính toán động năng và thế năng của hệ

- Tổng động năng của hệ thống pendubot như sau:12

MERGEFORMAT (.)1

Trang 10

Khi đó: v22 x22y v22; 12 x12y12 12112\*MERGEFORMAT (.)

Từ (1.9) (1.10) (1.11)ta có:

Thay (1.12) (1.13) vào (1.4) (1.5) ta có phương trình động năng của hệ thống:

Thế năng của hệ pendubot là:

1 12 211sin 121sin 122sin( 12)

Trang 11

qd L

wD q q C q q q G q

Với 12

ww

Trang 12

Với q[q1 q2]T ;q và 1 q là góc của khớp 1 so với phương ngang và góc giữa thanh 2 so với2khớp 1; qq là vector vận tốc và vector gia tốc góc; 1 0T;  là mô men xoắn bên1ngoài đưa vào thanh 1.

D q( ) là ma trận đối xứng định nghĩa dương nên D q( ) có thể viết dưới dạng:

 12 11 12 121222

Trang 13

2( )



Trang 14

33133\*MERGEFORMAT (.)

( )

cos1( )

( ) ( , )

qD q

qD q

qD q C q q q

Trang 15

Hình 3:Mô hình động cơ điện 1 chiều

Ta thay (1.36) (1.35) vào (1.33) (1.34) ta có phương trình động học mới của pendubot:12

MERGEFORMAT (.)21( ) 1( )

MERGEFORMAT (.)34

MERGEFORMAT (.)42( ) 2( )

MERGEFORMAT (.)Với

Trang 16

Biến trạng thái mới X [X X X X1234]T để thay thếx[x x x x1 2 3 4]T.Mục đích là để lái biến

trạng thái X về 0 khi hệ thống ổn định X sẽ được đặt như sau: X1 x1 2 

; X2 x2;X3 x3

Xx Thay x1 X1 2

;x2 X2; x3 X3; x4 X4 vào F x , 1( ) B x , 1( ) F x , 2( ) B x ta2( )được F X , 1( ) B X , 1( ) F X , 2( ) B X 2( )

 Ta thay biến trạng thái mới X [X X X X1234]Tta có phương trình động học mới củapendubot:

MERGEFORMAT (.)221( ) 1( )

MERGEFORMAT (.)Trong đó:

Trang 17

- Bước 1: Vào Modeling, chọn Model settings Hoặc nhấn Ctrl + E để vào Model settings.

Hình 4: Thiết lập môi trường step 1

- Bước 2: Chọn lần lượt Solver => Type: chọn Fixstep => Fixstep size: 0.01

Trang 18

Hình 5: Thiết lập môi trường step 2

- Bước 3: Chọn lần lượt Data Import/Export => Tắt Single simulation output như hình bêndưới

Hình 6: Thiết lập môi trường step 3

2.2 Xây dựng hệ thống Pendubot:

 Các khối cần sử dụng:

Trang 19

Bảng 3: Danh sách các khối cần sử dụng tạo hệ Pendubot

Matlab Function Simulation/ Library Browser/ Simulink/ User-Defined Functions/ MATLAB Function.

Continuous/ Integrator.

Hình 7:Cấu trúc khối Matlab-Function mô tả hệ xe Pendubot

Trang 20

Hình 8 Khối chuyển đổi q1 thành X1

Hình 9: Thông số trong khối Integrator và Integrator1

Hình 10: Thông số trong khối Integrator2 và Integrator3

Trang 21

 Chương trình chuyển đổi q1 thành X1 khối Matlab-Functionfunction x1 = fcn(q1)

X1= q1-pi/2;

 Chương trình mô tả hệ thống pendubot ở khối Matlab-Function

3 Bộ điều khiển tối ưu:

%%Programmed by Võ Hữu Thành Nhân-20151527%Date 24/04/2023

function [q1_2d,q2_2d] = fcn(q1,q1_d,q2,q2_d,u)m1=0.137;

q1_2d=1/(beta1*beta2-beta3^2*(cos(q2))^2+K3*beta2)*(beta2*beta3*sin(q2)*(q1_d+q2_d)^2+beta3^2*cos(q2)*sin(q2)*q1_d^2-beta2*beta4*g*cos(q1)+beta3*beta5*g*cos(q2)*cos(q1+q2)+beta2*K1*u-K2*beta2*q1_d);q2_2d=-(beta5*g*cos(q1 + q2)*(K3 + beta1 + beta3*cos(q2)) - beta4*g*cos(q1)*(beta2 +

beta3*cos(q2)) - K2*q1_d*(beta2 + beta3*cos(q2)) + beta3*sin(q2)*(q1_d + q2_d)^2*(beta2 + beta3*cos(q2)) + K3*beta3*q1_d^2*sin(q2) + beta3*q1_d^2*sin(q2)*(beta1 + beta3*cos(q2)))/(- beta3^2*cos(q2)^2 + K3*beta2 + beta1*beta2) - (K1*u*(beta2 + beta3*cos(q2)))/(-

beta3^2*cos(q2)^2 + K3*beta2 + beta1*beta2);

Trang 22

3.1 Bộ điều khiển LQR:3.1.1 Cơ sở lý thuyết:

Ta có ma trận A và B khi ta điều khiển pendubot ở vị trí top được tính như sau:5312Equation Chapter (Next) Section 1542Equation Section (Next)553Equation Section(Next)

x xu

x xu



Trang 23

( ) ( ) ( )

* MERGEFORMAT (.)

Trong đó: ( ) [ ( ), ( ), , ( )]12 Tn

x tx t x tx t : Vector trạng thái

( ) [ ( ), ( ), , ( )]Tm

u tu t u tu t : Vector tín hiệu điều khiển

Bài toán đặt ra là tìm tín hiệu điều khiển 𝑢(𝑡) điều chỉnh hệ thống từ trạng thái đầu 𝑥(0) = x0

bất kỳ về trạng thái cuối x t( )f = 0 sao cho tối thiểu chỉ tiêu chất lượng dạng toàn phương

J ux t Mx t  x t Qx tu t Ru t dt

61361\*MERGEFORMAT (.)

Trong đó: 𝑄 và 𝑀 là các ma trận trọng số bán xác định dương 𝑅 là ma trận trọng số xác định dương

Bài toán trên được gọi là bài toán điều chỉnh toàn phương tuyến tính.Hàm Hamilton:

Điều kiện cần để có lời giải tối ưu:

64364\*MERGEFORMAT (.)

Trang 24

68368\*MERGEFORMAT (.)

Giải phương tình vi phân (3.9), tìm được 𝑥(𝑡) và 𝜆(𝑡) Thay 𝜆(𝑡) vào (3.7) ta tìm được lời giảitối ưu.

m2=0.042;l1=0.2;l2=0.22;lc1=0.1016;lc2=0.1052;I1=0.0017;I2=0.0001477;

Trang 25

X2_d=1/(beta1*beta2 -beta3^2*(cos(X3))^2+K3*beta2)*(beta2*beta3*sin(X3)*(X2+X4)^2 + beta3^2*cos(X3)*sin(X3)*X2^2 - beta2*beta4*g*cos((X1+pi/2))+ beta3*beta5*g

*cos(X3)*cos((X1+pi/2)+X3) + beta2*K1*u - K2*beta2*X2);X4_d=-(beta5*g*cos((X1+pi/2)+X3)*(K3+beta1+beta3*cos(X3)) -

beta4*g*cos((X1+pi/2))*(beta2+beta3*cos(X3)) - K2*X2*(beta2+beta3*cos(X3)) + beta3*sin(X3)*(X2 + X4)^2*(beta2+beta3*cos(X3)) + K3*beta3*X2^2*sin(X3) +

beta3*X2^2*sin(X3)*(beta1+beta3*cos(X3)))/(-beta3^2*cos(X3)^2+K3*beta2+beta1*beta2)-(K1*u*(beta2 + beta3*cos(X3)))/(- beta3^2*cos(X3)^2 + K3*beta2 + beta1*beta2);

Trang 26

 Sau khi có được ma trận A và ma trận B ta tiến hành tuyến tính hoá quanh điểm cân bằngTOP khi X1=0; X2=0; X3=0; X4=0; u=0:

Ta sẽ có được ma trận A và ma trận B như sau:

Ta sẽ tính K dựa vào hàm của matlab:

A =[ 0 1.0000 0 0; 43.2177 -0.1841 -17.2778 0; 0 0 0 1; -34.8035 0.4497 112.9692 0]B =[ 0;

2.6235; 0; -6.4084]

Q=[1 0 0 0; 0 1 0 0; 0 0 1 0;0 0 0 1]; R=1;

P = care(A,B,Q,R) K= lqr(A,B,Q,R)

 155.229 -29.9187 -155.1856 -17.6754

K  

3.1.3 Mô phỏng bộ điều khiển LQR cho hệ PENDUBOT:

Ta sẽ chọn thông số đầu vào cho góc lệch thanh 1, vận tốc góc thanh 1, góc lệch thanh 2,vận tốc góc thanh 2:

Trang 27

Hình 11:Sơ đồ bộ điều khiển LQR

Hình 12:Thông số khối Gain

3.1.4 Kết quả mô phỏng:

Trang 28

Hình 13:Tín hiệu điều khiển điện áp

Hình 14:Góc lệch thanh 1

Trang 29

Hình 15: Góc lệch thanh 2

Nhận xét:

+Khi ta sử dụng bộ điều khiển tối lưu LQR cho hệ thống pendubot khi không có nhiễu tanhận thấy thanh 1 và thanh 2 ổn định tại vị trí cân bằng nhanh và biên độ dao động ít Cụ thếthanh 1 chỉ mấy 1,3(s) để ở vị trí cân bằng và góc lệch lớn nhật là 0.15(rad), thanh 2 mấy 1(s)để ở vị trí cân bằng và góc lệch lớn nhất là 0.19(rad).

+Khi có nhiễu vô góc lệch thanh 1 và góc lệch thanh 2 thì ta nhận thấy bô điều khiển LQRkhông còn điều khiển hệ thống được tốt nữa Và nó cũng tiêu tốn nhiều năng lượng hơn.

3.2 Bộ điều khiển LQG:

3.2.1 Tính toán và thiết kế bộ lọc Kalman:

Hình 16 : Sơ đồ cấu trúc bộ lọc Kalman

Trang 30

75 3 75 \* MERGEFORMAT (.)

Trong đó:

LC R

 76 3 76 \* MERGEFORMAT (.)

+ L độ lợi ước lượng.

+ C là ma trận xác định trạng thái quan sát ngõ ra y.+ RN là phương sai của nhiễu tác động lên hệ thống +  nghiệm của phương trình Ricatti.

Tính toán cho bộ lọc nhiễu Kalman:

Từ công thức (3.21), tìm độ lợi bộ lọc Kalman:

Trang 31

3.2.2 Mô phỏng bộ điều khiển LQR + Kalman:

Hình 17 :Sơ đồ bộ điều khiển LQG

Chương trình cho bộ điều khiển:

%%Programmed by Võ Hữu Thành Nhân-20151527%Date 14/06/2023

A =[ 0 1.0000 0 0; 43.2177 -0.1841 -17.2778 0; 0 0 0 1.0000;

-34.8035 0.4497 112.9692 0]B =[ 0;

2.6235; 0; -6.4084]

Q=[1 0 0 0; 0 1 0 0; 0 0 1 0;0 0 0 1];R=1;

C=[1 0 0 0;0 0 1 0];G=diag([1 1 1 1]);QN=0.00000001*eye(4)RN=[0.0001 0;0 0.0001];

Trang 32

P=care(A,B,Q,R)L=lqe(A,G,C,QN,RN) K= lqr(A,B,Q,R)

Bảng 4 : Các khối sử dụng trong matlab simulation

User-Defined Functions/ MATLABFunction.

Trang 33

Hình 19 :Góc lệch thanh 2

Nhận xét: khi ta thêm bộ lọc Kalman vào thì tín hiệu đầu ra mượt hơn và nó bám theo cái tínhiệu nhiễu nhưng góc lệch vẫn dao động xung quanh vị trí cân bằng Bộ điều khiển LQG vẫnđiều khiển tốt hơn bộ điều khiển LQR khi có nhiễu

4 Bộ điều khiển phi tuyến:4.1 Bộ điều khiển trượt:

4.1.1Cơ sở lý thuyết:

Trong bài báo cáo này, một bộ điều khiển chế độ trượt phân cấp được phát triển cho lớp nàycủa các hệ thống SIMO hoạt động kém Theo cách tiếp cận này, một hệ thống hoạt động kémnhư vậy được chia thành nhiều hệ thống con theo cấu trúc vật lý của nó Mặt trượt của mọi hệcon được xác định, khi đó mặt trượt của một hệ con được chọn làm mặt trượt lớp thứ nhất.mặt trượt lớp thứ hai với mặt trượt của một hệ thống con khác Quá trình này tiếp tục cho đếnkhi bao gồm tất cả các bề mặt trượt của hệ thống con.

4.1.2Thiết kế bộ điều khiển trượt cho hệ thống SIMO:

Xác định bề mặt trượt của nó là:794Equation Section (Next)2 12

MERGEFORMAT (.)

Trang 34

Trong đó c là một hằng số dương Đạo hàm is theo thời gian t trong (4.3) thì tồn tại:i

s c x  x c xfb u

81481\*MERGEFORMAT (.)

Đặt s = 0 trong (4.4), tín hiệu điều khiển tương đương của hệ thống con thứ i thu được là:i

Cấu trúc phân cấp của trượt, bề mặt trượt được thiết kế theo mô tả sau đây Một hệ con đượcchọn làm mặt trượt lớp thứ nhất S Dùng để dựng mặt trượt lớp thứ hai 1 S có mặt trượt là2một hệ thống con khác.Quá trình này tiếp tục cho đến khi tất cả các mặt trượt của hệ thốngcon Không mất tính tổng quát, s được định nghĩa là 1 S Cấu trúc của các bề mặt trượt được1thể hiện trong Hình 16.

Hình 20: Cấu trúc bậc của các mặt trượt

Hình 16, mặt trượt của lớp thứ i bao gồm toàn bộ thông tin của các mặt trượt i - 1 lớp khác vàmặt trượt thứ i của hệ thống con Kết quả, mặt trượt lớp thứ i được xác định như sau:

Trang 35

nghĩa là: uiui1ueqiuswi 84484\*MERGEFORMAT (.)

Trong đó: u  và 0 0 u là điều khiển chuyển mạch của lớp mặt trượt thứ i.swi

Luật điều khiển (4.5) trên có thể suy ra từ ổn định Lyapunov:

2( )

SV t 

85485\*MERGEFORMAT (.)

Đạo hàm V theo thời gian (4.4) ta có được công thức sau:i

87487\*MERGEFORMAT (.)

Trong đó: aj= (j=1,2,…,i-1) là hằng số,vàia =1.i

iiii iijr

j rr

iijrrrr irj r

Quan sát tính ổn định của mặt trượt thứ i ta có:sgn

ii iii

MERGEFORMAT (.)

Trang 36

trong đó k và i  là các hằng số dương.i

Từ (4.10) và (4.11) luật điều khiển chuyển mạch của lớp thứ i có thể thu được như sau:

jreqllrj r

91491\*MERGEFORMAT (.)

Với i = n từ (4.5) và (4.12) sau đó thứ bậc của luật trượt được thể hiện như sau:1

Trong(4.13), chỉ điều khiển chuyển đổi của bộ điều khiển chế độ trượt lớp cuối cùng Cácđiều khiển chuyển đổi của (n-1) lớp thấp hơn khác được hợp nhất Giai đoạn chế độ tiếp cận,khi bất kỳ trạng thái nào của một hệ thống con lệch khỏi trạng thái của chính nó bề mặt trượtcủa hệ thống con, điều khiển chuyển mạch của lớp cuối cùng sẽ điều khiển nó quay lại Dođó, trong giai đoạn chế độ trượt, các trạng thái của hệ thống tiếp tục trượt trên mặt trượt lớpcuối cùng.

4.1.3 Thiết kế bộ điều khiển trượt cho hệ pendubot

Như chúng ta thấy muốn xây dựng bộ điều khiển trượt cho hệ pendubot thì hệ thống phải códạng như phương trình 4.1 Mà theo phương trình 4.1 khi mà điều khiển được thìX1,X2,X3,X4 phải tiến về 0 hết Trong khi đó chúng ta muốn điều khiển hệ pendubot ở vị tríTop tức q1 tiến về pi/2 và q2 tiến về 0 Như vậy thì khi đến vị trí cân bằng thì q1 không có về0 Do đó chúng ta đặt biến mới như sau:

Ngày đăng: 09/05/2024, 14:37

Tài liệu cùng người dùng

Tài liệu liên quan