16 Hình 5 : Khối mô phỏng Pendulum Trong đó khối FCN có thông số là các giá trị các biểu thức của hệ trên được mô tả như sau : Hình 6: Khối Fcn Chương trình Matlab tìm thông số của bộ
Trang 22
MỤC LỤC
LỜI CẢM ƠN 3
Phần 1 : Thành lập phương trình vi phân chuyển động 4
Phần 2 : Tìm hàm truyền của hệ thống 7
Phần 3: Thiết kế bộ điều khiển Fuzzy ( bộ điều khiển mờ ) 11
Phần 4: Thiết kế bộ điều khiển LQR cho con lắc ngược 15
Phần 5: Thiết kế bộ điều khiển LQR kết hợp bộ lọc Kalman 21
4.1 Tính toán thông số cho bộ điều khiển LQR 21
4.2 Khảo sát bộ lọc Kalman 22
Phụ lục 25
Tài liệu tham khảo 26
Trang 3
3 LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy, cô trường Đại Học Giao Thông Vận Tải đã tận tình dạy dỗ trong suốt những năm qua Trong đó phải kể đến quý thầy cô trong Khoa Cơ Khí đã tạo điều kiện cho chúng em thực hiện đề tài nghiên cứu khoa học này
Đặc biệt, em xin chân thành cảm ơn thầy – giảng viên hướng dẫn Phạm Xuân Hiển đã tận tình giúp đỡ chúng em trong quá trình lựa chọn đề tài và hỗ trợ em trong quá trình thực hiện đề tài Cung cấp cho em những kiến thức quý báu cũng như những lời khuyên cực kỳ hữu ích Tạo động lực cho em hoàn thành tốt nhiệm vụ của mình Bên cạnh đó, em cũng xin cảm ơn các bạn sinh viên lớp Cơ Điện Tử 2 K60 đã đóng góp ý kiến cho em thực hiện đề tài đạt hiệu quả hơn Với thời gian thực hiện đề tài ngắn, kiến thức còn hạn hẹp, dù
em đã rất cố gắng nhưng vẫn không tránh khỏi những sai sót, em rất mong nhận được lời chỉ dẫn thêm của quý thầy cô và bạn bè
Hà Nội, ngày 24 tháng 10 năm 2022
Sinh viên Long Đặng Xuân Long
Trang 44
Đề bài :
Cho mô hình con lắc ngược như hình vẽ trong đó xe đẩy di chuyển trong mặt phẳng có khối lượng , con lắc có khối lượng , thanh nối có chiều dài (bỏ qua khối lượng và quán tính) Tác dụng lên xe đẩy một lực điều khiển 𝑢(𝑡) với mục đích điều khiển là ổn định con lắc tại vị trí thẳng đứng ( 𝜃= 0°) Yêu cầu:
Phần 1 : Thành lập phương trình vi phân chuyển
động
Yêu cầu : Viết phương trình vi phân chuyển động của mô hình con lắc
với hai tọa độ suy rộng là 𝜃 (rad , góc nghiêng của con lắc) và x ( m , vị trí của xe đẩy)
Với thông số như sau :
Trang 5
5
Vị trí tọa độ của con lắc Rad
Chọn hệ tọa độ gắn liền hệ như hình Ta sử dụng hệ tọa độ suy rộng ở đây là 𝑞1 = 𝑥 và 𝑞2 = 𝜃
Ta có : {𝑦𝑥𝑀 = 𝑥
𝑀 = 0 (1)
{𝑥𝑚 = 𝑥 + 𝑙 sin 𝜃
𝑦𝑚 = 𝑙 cos 𝜃 (2) Đạo hàm hai vế của hệ phương trình (1) và (2) ta lần lượt xác định được vận tốc của m và M :
{𝑥̇𝑦̇𝑀 = 𝑥̇
𝑀 = 0
{𝑥̇𝑚 = 𝑥̇ + 𝜃̇𝑙 cos 𝜃
𝑦̇𝑚 = −𝜃̇𝑙 sin 𝜃Động năng của hệ là :
Trang 66 Lại có :
Trong trường hợp này có một lực đẩy u(t) tác dụng lên vật M
Phương trình Lagrange loại 2 có dạng :
𝑑
𝑑𝑡( 𝜕𝐿
𝜕𝑞̇𝑖 ) - 𝜕𝐿
𝜕𝑞𝑖 = 𝑄𝑖Thay các giá trị vừa tính được vào phương trình Lagrange :
Nhân cả 2 vế của (3) với cos 𝜃 ta được hệ :
{( M + m )𝑥̈ + ml𝜃̈ cos 𝜃 − ml𝜃̇
2sin 𝜃 = u(t) (4)m𝑥̈ (cos 𝜃)2+ m𝑙𝜃̈ cos 𝜃 = mg sin 𝜃 cos 𝜃 (5)
Trang 77 𝜃̈ = −( 𝑀 + 𝑚 )𝑔 sin 𝜃 + 𝑢(𝑡) cos 𝜃 + 𝑚𝑙𝜃̇2(sin 𝜃 cos 𝜃)
𝑚𝑙 (cos 𝜃)2 − (𝑀+𝑚)𝑙 (7)
Phần 2 : Tìm hàm truyền của hệ thống
Yêu cầu : Tuyến tính hóa mô hình bằng việc xấp xỉ các đại lượng , khi
góc là 𝜃 bé Viết hệ phương trình vi phân chuyển động của hệ dưới dạng
mô hình không gian trạng thái
Do ta phải giữ con lắc ngược thẳng đứng nghĩa là 𝜃(𝑡) , 𝜃(𝑡)̇ rất nhỏ (𝜃 < 10° ) Đồng thời bỏ qua khối lượng cũng như momen quán tính dây
Bởi vậy 𝜃 → 0 => sin 𝜃 ≈ 𝜃 & cos 𝜃 = 1 & 𝜃𝜃̇2 = 0
Từ đó hệ phương trình vi phân chuyển động được viết lại như sau :
{( M + m )𝑥̈ + ml𝜃̈ = u(t)
m𝑙2𝜃̈ + ml𝑥̈ = mgl𝜃
Đây là mô hình tuyến tính hóa của con lắc đảo ngược
Từ mô hình tuyến tính hóa ta suy ra được hệ sau :
{ M𝑥̈ = 𝑢(𝑡) − 𝑚𝑔𝜃 𝑀𝑙𝜃 ̈ = (𝑀 + 𝑚)𝑔𝜃 − 𝑢(𝑡) Đặt biến 𝑧1, 𝑧2, 𝑧3, 𝑧4 là các biến trạng thái
{
𝑧1 = 𝜃
𝑧2 = 𝜃̇ = 𝑧1̇
𝑧2̇ = 𝜃̈
Trang 88 {
Thay các gias trị M = 5,6 ; m = 0,8 ; l = 0,5 ; g = 9,8 ta được : [
0
−0,357 0 0,179
3 Xem góc nghiêng 𝜃(t) của con lắc là đầu ra (Output), lực điều khiển
u(t) là đầu vào (Input) Tìm hàm truyền 𝐺(𝑠) = 𝜃(𝑠)
𝑢(𝑠) của hệ
Xét hệ thống tuyến tính có phương trình trạng thái tổng quát :
Trang 99 {𝑥 ̇ = 𝐴𝑥 + 𝐵𝑢𝑦 = 𝐶𝑥 + 𝐷𝑢
Biến đổi Laplace 2 vế của hệ ta được :
Để đơn giản hóa ta dùng Matlab tính toán Với Matlab ta có 2 phương
pháp để tính hàm truyền từ mô hình trạng thái ( state space model) và
được trình bày như sau :
Cách 1
Trang 1111
Phần 3: Thiết kế bộ điều khiển Fuzzy ( bộ điều khiển mờ )
Để điều khiển cân bằng con lắc, ta sử dụng bộ điều khiển Fuzzy bằng phương pháp Sugeno
1 Chọn các biến vào/ra : Ta chọn bốn biến vào ra và góc lệch của con lắc, vận tốc của con lắc, vị trí xe và tốc độ xe, biến ra là lực tác dụng vào
xe Tập cơ sở của các biến phụ thuộc chủ yếu vào đối tượng ta chọn như sau :
Hệ số hậu xử lý : K5 = 100;
Trang 1212
3 Định nghĩa các tập mờ mô tả các giá trị ngôn ngữ của các biến vào và biến ra của bộ điều khiển mờ Chọn 3 tập mờ ( giá trị ngôn ngữ ) cho mỗi biến vào, các tập mờ này được phân hoạch mờ trên cơ sở chuẩn hóa và hàm liên thuộc có dạng tam giác Số tập mờ cho biến ở ngõ ra được chọn bằng 9 Với càng nhiều liên thuộc đầu ra, đầu vào hệ thống sẽ được ổn định và hoạt động mượt mà hơn
5 Vì ta ứng dụng quy tắc mờ trong điều khiển và khối hậu xử lý không
có khâu tích phân nên chọn phương pháp giải mờ trọng tâm ( COA)
Trang 1313 Hình 1 : Tập mờ chuẩn hóa biến ngõ vào
Các hàm liên thuộc được xác định như sau :
Trang 1414
Hình 3: Sơ đồ khối Pendulum
Hình 4: Kết quả mô phỏng hệ thống điều khiển giữ cân bằng con lắc ngược
Trang 1515 Kết quả mô phỏng trên cho thấy bộ điều khiển đã thiết kế có thể điều khiển vị trí xe đúng vị trí đặt động thời giữ được trạng thái con lắc cân bằng quanh vị trí thẳng đứng Tuy vậy thời gian ổn định tương đối lâu
Phần 4: Thiết kế bộ điều khiển LQR cho con lắc ngược
Từ mô hình trạng thái đã xây dựng ở chương trên Ta áp dụng để xây dựng mô hình LQR
2(sin 𝜃 cos 𝜃)
𝑚𝑙 (cos 𝜃)2 − (𝑀 + 𝑚)𝑙
Ta xây dựng được mô hình con lắc ngược :
Trang 1616
Hình 5 : Khối mô phỏng Pendulum
Trong đó khối FCN có thông số là các giá trị các biểu thức của hệ trên
được mô tả như sau :
Hình 6: Khối Fcn
Chương trình Matlab tìm thông số của bộ điều khiển LQR:
Trang 1717
Hình 7: Thông số bộ điều khiển LQR
Ta lần lượt khảo sát các giá trị khác nhau của ma trận Q và R:
- Trường hợp 1: q11 = 1; q33 = 1; r =1
Ta được độ lợi hồi tiếp trạng thái: K = [-182,2531 -30.2385 -1 -4,125]
Luật điều khiển tối ưu :
u(t) = −Kx(t) → u(t) = [-182,2531 -30.2385 -1 -4,125]x(t)
Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống:
Trang 18Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống:
Hình 9: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống trường hợp 2
- Trường hợp 3: q11 = 1; q33 = 100; r =10
Trang 19Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống:
Hình 10: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống trường hợp 3
Nhận xét
- Tùy theo độ lớn tương đối giữa trọng số Q và R mà hệ thống có đáp
ứng quá độ và năng lượng tiêu tổn khác nhau Muốn trạng thái đáp ứng
nhanh, ta tăng thành phần Q tương ứng (tăng q11 thì góc lệch được giữ
cân bằng tốt, tuy nhiên vị trí xe dao động khá lớn tăng q33 thì vị trí xe ít
dao động hơn, tuy nhiên năng lượng tiêu tốn tăng lên), khi ta tăng R năng
lượng tiêu tốn ít hơn tuy nhiên thời gian đáp ứng quá độ của hệ thống lâu
hơn
Trang 2020
Do đó, với bài báo cáo này em chọn hệ số q11 = l;q33 = 100; r = 1 Bộ
điều khiển LQR có đáp ứng hệ thống tốt chỉ khi trong trường hợp không
có nhiễu, nếu có nhiều hệ thống hoặc nhiễu đo lường thì chất lượng điều
khiển bị ảnh hưởng đáng kể
Mô hình bộ điều khiển LQR cho hệ con lắc ngược trong trường hợp có
nhiễu đo lường:
Hình 11 Mô hình mô phỏng điều khiểu LQR cho hệ con lắc ngược khi có nhiễu
Đáp ứng quả độ và năng lượng tiêu tốn của hệ thống khi có nhiễu đo
lường:
Hình 12: Đáp ứng quả độ và năng lượng tiêu tốn của hệ thống khi có nhiễu đo lường
Trang 2121
Phần 5: Thiết kế bộ điều khiển LQR kết hợp bộ lọc
Kalman
4.1 Tính toán thông số cho bộ điều khiển LQR
Giả thiết:
- Hệ thống hoạt động trong miền tuyến tỉnh
- Gia sử chỉ đo được góc lệch và vị trí xe
- Có nhiều tác động vào hệ thống Nhiều đo vị trí xe có phương sai là
0.01; nhiều đo góc lệch con lắc có phương sai là 0.001
+ Dùng lọc Kalman để ược lượng trạng thái và lọc nhiều
Dựa theo nguyên lý tách rời: bài toàn tối ưu LQG có thể giải bằng cách
giải riêng bài toán điều khiển tối ưu tiền định và bài toán ước lượng trạng
thái tối ưu :
LQG = LQR+Kalman
Thiết kế dùng Matlab:
Tín hiệu đo
Mô hình hệ thống
Bộ lọc Kalman
Trang 22]
4.2 Khảo sát bộ lọc Kalman
Ta có mô hình Simulink khảo sát bộ lọc Kalman:
Trang 2323
Hình 13: Mô hình mô phỏng khảo sát bộ lọc Kalman
Hình 14: Mô hình LQR + bộ lọc Kalman
Trang 2424
Hình 15: So sánh tin hiệu trước và sau khi qua bộ lọc Kalman cho góc lệch
Hình 16: So sánh tin hiệu trước và sau khi qua bộ lọc Kalman cho vị trí xe
Hình 17: So sánh tin hiệu trước và sau khi qua bộ lọc Kalman cho tín hiệu điều
khiển
Nhận xét: Tín hiệu sau khi vào bộ lọc Kalman ổn định và bớt nhiễu Bộ
lọc Kalman ước lượng trạng thái và lọc nhiễu, nhờ vậy mà đáp ứng của
hệ thống điều khiển LQG tốt hơn LQR trong trường hợp hệ thống có
nhiều Từ việcxây dựng mô tả toán học của mô hình con lắc
ngược, chứng tỏ con lắc ngược là đối tượng điều khiển
phi tuyến Tuyến tính hoá xung quanh điểm cân bằng cho thấy
mô hình con lắc là hệ không ổn định ở vị trí thẳng đứng phía
Trang 2525 trên Sử dụng bộ điều khiển tối ưu LQR cho phép ổn định góc
quay nhưng không di chuyển xe đến vị trí đặt Bằng việc bổ
sung mạch vòng phản hồi vị trí xe bên ngoài mạch phản hồi
trạng thái và thực hiện một số biến đổi, ta có thể áp
dụng bộ điều khiển LQR cho hệ thống 2 mạch vòng Kết quả
mô phỏng cho thấy hệ thống 2 mạch vòng cho phép điều khiển
xe đến vị trí đặt trong khi con lắc giữ được cân bằng Nhằm
giảm ảnh hưởng của nhiễu đo lường tác động lên mô hình lắp
ráp trong quá trình điều khiển, ta sử dụng bộ lọc
Kalman để lọc nhiễu và ước lượng trạng thái Kết quả từ mô
hình thực nghiệm đã chứng tỏ việc sử dụng 2 mạch vòng điều
khiển kết hợp với bộ lọc Kalman đã giảm đáng kể tác động
của nhiễu đo lường đến điều khiển, đồng thời mô hình đáp
ứng các yêu cầu điều khiển đặt ra
Phụ lục Bảng luật mờ của điều khiển mờ
Trang 2626
Tài liệu tham khảo
[1] Hệ thống điều khiển thông minh – Huỳnh Thái Hoàng