Tìm phương trình trạng thái bằng Maple 29

Một phần của tài liệu Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG (Trang 46)

Các phương trình không gian trạng thái tuyến tính là

x Ax Bu

y Cx Du

Trong đó x là trạng thái, u là đầu vào điều khiển, A, B, C và D là ma trận không gian trạng thái. Đối với hệ thống con lắc ngược đôi, trạng thái và đầu ra được xác định [9]

x = [  α   α  ] Và

y = [ x x x ]

Thay vì sử dụng cơ học cổ điển, phương pháp Lagrange được sử dụng để tìm các phương trình chuyển động của hệ thống. Phương pháp hệ thống này thường được sử dụng cho các hệ thống phức tạp hơn như các bộ điều khiển robot có nhiều khớp [9].

Cụ thể hơn, các phương trình mô tả chuyển động của cánh tay quay và con lắc ngược đôi liên quan đến điện áp động cơ servo, tức là động lực học, sẽ được lấy bằng cách sử dụng phương trình Euler-Lagrange [9]:

 -  = Q

Các biến qi được gọi là tọa độ tổng quát. Đối với hệ thống này là: q t = [ (t) α(t) (t) ]

Vận tốc tương ứng là

q t == [    ]

Chú thích: Quy ước dấu chấm cho đạo hàm thời gian sẽđược sử dụng trong toàn

bộ tài liệu này, ví dụ: = d/dt. Biến thời gian t cũng sẽđược loại bỏ từ, α và , tức là,

= (t), α = α(t), = (t).

Với các tọa độ tổng quát được xác định, các phương trình Euler-Lagrange cho hệ thống con lắc ngược đôi là :

 -   = Q

 -  = Q

 -  = Q

L = T – V

Trong đó T là tổng động năng của hệ và V là tổng thế năng của hệ. Do đó, Lagrangian là sự khác biệt giữa động năng và thế năng của một hệ thống.

Các lực tổng quát Q được sử dụng để mô tả các lực không bảo toàn (ví dụ: ma sát) được áp dụng cho một hệ thống đối với các tọa độ tổng quát. Trong trường hợp này, lực tổng quát tác dụng lên cánh tay quay là:

Q =  - D 

Và tác dụng lên con lắc dưới và trên cùng là Q = - D α

Q = - D 

Mô-men xoắn được áp dụng tại đế của tay quay (tức là, tại bánh răng tải) được tạo ra bởi động cơ servo như được mô tả bởi phương trình:

 =   

Biến điều khiển là điện áp động cơ servo đầu vào . Đối lập với mô-men xoắn ứng dụng là mô-men ma sát nhớt, hoặc giảm xóc nhớt. Vì con lắc không được kích hoạt, lực duy nhất tác dụng lên liên kết là giảm xóc. Hệ số giảm độ nhớt của các con lắc dưới và trên được ký hiệu là D và D [9].

Để giải bài toán ta cần tìm các ma trận chuyển đổi sau: T_0_1, T_1_2, T_1_h, T_h_3 T_0_2 = T_0_1 * T_1_2 T_0_h= T_0_1 * T_1_h T_0_3= T_0_h * T_h_3 Vị trí cartesian: x T_0_1 1,4 y T_0_1 2,4 T_0_1 3,4 Tại

x T_0_2 1,4 y T_0_2 2,4 z T_0_2 3,4 Tại x T_0_h 1,4 y T_0_h 2,4 z T_0_h 3,4 Tại X T_0_3 1,4 y T_0_3 2,4 z T_0_3 3,4 Tại Đạo hàm vị trí: ( 1, 1, 1), ( 2, 2, 2 ), ( h, h, h ), ( 3, 3, 3) Tính tổng thế năng: V = 0 : tại O1 V = m g z : tại O2 V = m g z : tại Oh V = m g z : tại O3 V= V + V + V + V Tính tổng động năng:

Tr1 = Jr : Động năng chuyển động quay tại O1 Tt1 = 0 : Động năng chuyển động thẳng tại O1 Tr2 = 0 : tại O2 Tt2 = mp1[ ( 2)2 + ( 2)2 + ( 2)2 ] : tại O2 Trh = 0 : tại Oh Tth = mh[ ( h)2 + ( h)2 + ( h)2 ] : tại Oh Tr3 = 0 : tại O3 Tt3 = mp2[ ( 3)2 + ( 3)2 + ( 3)2 ] : tại O3  T = Tr1 + Tt1 + Tr2 + Tt2 + Trh + Tth + Tt3 + Tr3 Dùng maple để tính tổng động năng, thế năng của hệ.

Sau khi tuyến tính hóa các phương trình chuyển động phi tuyến, giải các thuật ngữ gia tốc, tức là , α , và thay thế trạng thái đã cho, chúng ta có được các ma trận không gian trạng thái(xem thêm chương trình tạo các ma trận không gian trạng thái ở phụ lục).

2.4 Ứng dụng Labview vào nghiên cứu

Tính toán mô hình không gian trạng thái thực từ phương trình trạng thái được tính bởi Maple.

Mô phỏng mô hình không gian trạng thái thực, quan sát các cực trên mặt phẳng phức. Mô phỏng mô hình không gian trạng thái thực với ma trận điều khiển K (được tính bởi phương pháp điều khiển LQR), quan sát độ ổn định của hệ thống.

CHƯƠNG 3 : NGHIÊN CỨU MÔ HÌNH

3.1 Mô hình không gian trạng thái thực

Sau khi tìm được mô hình không gian trạng thái dưới dạng các biến phương trình, ta có thể nhập các ma trận A, B, C, D vào các phần mềm để tính toán như maple, matlab, labview…Ở đây người dùng sử dụng labview để tính toán các ma trận A, B, C, D.

3.1.1 Tính ổn định

Độ ổn định của một hệ thống có thể được xác định từ các cực của nó. Hệ thống ổn định chỉ có những cực nằm bên trái mặt phẳng phức.

Hệ thống không ổn định có ít nhất một cực nằm bên phải mặt phẳng phức(như mô phỏng trên ta cũng có thể thấy được hệ thống không ổn định).

Hệ thống ở biên giới ổn định có ít nhất một cực trên trục ảo và các cực khác đều nằm bên trái mặt phẳng phức [9].

Các cực là nghiệm của phương trình đặc trưng của hệ thống. Từ không gian trạng thái, phương trình đặc trưng của hệ thống có thể được tìm thấy bằng cách sử dụng phương trình:

det(sI - A) = 0

Trong đó det () là hàm tính định thức, s là toán tử Laplace và I là ma trận đơn vị. Đây là các giá trị riêng của ma trận không gian trạng thái A.

Ở đây ta dùng Maple để tìm phương trình đặc trưng (Ta cũng thấy được hệ thống là không ổn định).

3.1.2 Tính điều khiển được

Các phương trình không gian trạng thái tuyến tính là:

x Ax Bu

y Cx Du

Một hệ thống được gọi là điều khiển được hoàn toàn nếu tồn tại luật điều khiển u(t) có khả năng chuyển hệ từ trạng thái ban đầu tại x( ) đến trạng thái cuối x( ) bất kỳ trong khoảng thời gian hữu hạn . Điều này có nghĩa là hệ thống có thể điều khiển được nếu mỗi biến trạng thái của hệ đều có thể bị ảnh hưởng bởi tín hiệu điều khiển u(t). Tuy nhiên, nếu một hoặc vài biến trạng thái không bị ảnh hưởng bởi u(t) thì các biến trạng thái này không thể bị điều khiển bởi u(t) trong khoảng thời gian hữu hạn và trong trường hợp này hệ thống không điều khiển được hoàn toàn [1].

Để kiểm tra tính điều khiển được của hệ thống, ta thành lập ma trận C (ma trận điều khiển được).

C = [B AB A B A B ….. A B]

Điều kiện cần và đủ để hệ thống điều khiển được là:

rank (C) = n

Đối với hệ thống một đầu vào – một đầu ra (SISO) thì ma trận C là ma trận vuông cấp n. Do đó điều kiện trở thành:

det (C) # 0

3.1.3 Tính quan sát được

Một hệ thống được gọi là quan sát được hoàn toàn nếu cho tín hiệu điều khiển u(t) và đầu ra c(t) trong khoảng ta có thể xác định được trạng thái đầu x( ).

Hệ thống là quan sát được nếu mỗi biến trạng thái của hệ đều ảnh hưởng đến đầu ra c(t). Thường, chúng ta muốn xác định thông tin về trạng thái của hệ thống dựa vào việc đo c(t). Tuy nhiên nếu chúng ta không quan sát được một hay nhiều trạng thái từ việc đo c(t) thì hệ thống không quan sát được hoàn toàn [1].

Để kiểm tra tính quan sát được của hệ thống, ta thành lập ma trận C (ma trận quan sát được). C = C CA ⋮ CA

Điều kiện cần và đủ để hệ thống quan sát được là: rank(C) = n

Đối với hệ thống một đầu vào (SISO) thì ma trận C là ma trận vuông cấp n. Do đó điều kiện trở thành:

Kiểm tra tính điều khiển được và quan sát được bằng phần mềm matlab:

Kết quả hạng của các ma trận C bằng với bậc của n (6). Vậy hệ thống có thể điều khiển được và quan sát được hoàn toàn.

3.2 Điều khiển hồi tiếp trạng thái

Để hệ thống ổn định, chúng ta cần tìm ma trận K của vector điều khiển tối ưu: u(t)= -Kx(t) , thỏa mãn chỉ tiêu chất lượng J đạt giá trị cực tiểu. Lúc này mô hình không gian trạng thái sẽ trở thành [9]:

x A BK x

y Cx

Vòng điều khiển hồi tiếp trạng thái như hình:

Hình 3.3 Xét tính ổn định bằng matlab

Trạng thái đặt được xác định: = [ 0 0 0 0 0] Và tín hiệu điều khiển là: u = K ( –x )

Nếu xd bằng 0 thì u = -Kx, là luật điều khiển được sử dụng trong thuật toán LQR. Để hệ thống ổn định, ta có thể tăng cường hệ thống để bao gồm một bộ tích hợp (xem thêm trong tài liệu đính kèm từ nhà sản xuất để biết thêm chi tiết) sao cho:

 = 0

1 0  + B 0 u

Trong đó A và B là các ma trận không gian trạng thái đã được xác định và các trạng thái là [9]: = [ α α  dt] Và  = [ 0 0 0 0 0  dt] Với  (t) =  dt u = K ( - )

Để tính được giá trị K ta có thể dùng matlab hay labview, ở đây sử dụng matlab để tìm K:

Giá trị của Q và R được lấy từ tài liệu đi kèm của nhà sản xuất.

Q 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0.5 Và R = 30

Để góc  ít dao động hơn, người dùng đã đặt Q (4, 4) là 5, Để tạo ra một lợi ích nhỏ tích phân cho các theo dõi góc  của servo, Q (7, 7) được thiết lập là 0.5 [9].

Ta tìm được:

K = [0.4776 -14.4435 -43.1858 0.5390 -5.5365 -4.3338 0.1291]

Kiểm tra lại tính ổn định của hệ thống với ma trận K, tìm phương trình đặc trưng mới của hệ thống bằng maple.

Ở đây ta thấy hệ đã ổn định (ta có thể xét tính ổn định bằng các tiêu chuẩn ổn định đại số như tiêu chuẩn Routh, Hurwitz…).

3.3 Mô phỏng

3.3.1 Phần mềm cần thiết

Đảm bảo LabVIEW được cài đặt với các tiện ích bổ sung cần thiết sau: LabVIEW (ở đây người dùng sử dụng labview 2014)

NI-DAQmx

NI LabVIEW™ Control Design and Simulation Module NI LabVIEW™ MathScript RT Module

Quanser Rapid Control Prototyping Toolkit

3.3.2 Thiết lập cho mô phỏng

1. Mở ứng dụng LabVIEW

2. Mở dự án Lab Double Pendulum.lvproj LabVIEW, được hiển thị trong Hình 3.7.

3. Mở DBIP Modelling.vi được hiển thị trong Hình 3.8.

4. Theo mặc định, các tham số con lắc ngược và SRV02 đã được đặt. Chạy VI để tạo mô hình không gian trạng thái tuyến tính.

5. Trong tên mẫu, nhập tên của mô hình bạn và nhấp vào OK. Điều này sẽ lưu mô hình không gian trạng thái trong thư mục Mô hình DBIP. Bạn có thể đóng VI này ngay bây giờ.

6. Mở DBIP Contrl Design.vi thiết kế điều khiển VI, hiển thị trong Hình 3.9. 7. Sử dụng điều khiển đường dẫn tệp, chọn tệp model

Hình 3.7 Lab Double Pendulum.lvproj

8. Chạy VI. Các mô hình không gian trạng thái được tải lên. Bây giờ bạn đã sẵn sàng để thiết kế điều khiển LQR của mình và mô phỏng hồi tiếp trạng thái.

Theo mặc định, mô phỏng chạy trong 100 giây. Các scope hiển thị đáp ứng như Hình 3,8. Lưu ý rằng trong scope servo, đường màu xanh là vị trí đặt và đường màu đỏ là vị trí mô phỏng [10].

3.3.3 Nhận xét kết quả:

Kết quả mô phỏng rất tốt khi tín hiệu ngõ ra bám rất tốt tín hiệu đặt (tín hiệu đặt là xung vuông). Độ vọt lố thấp, thời gian đáp ứng khá nhanh.

3.4 Điều khiển thực

3.4.1 Thiết lập vận hành mô hình thực

Thực hiện theo quy trình này:

1. Đặt biên độ điều khiển bằng 0 để tắt điểm đặt của động cơ servo.

2. Đảm bảo ma trận K được đặt đúng với giá trị bạn tìm thấy trong mô phỏng Hình 3.9.

3. Đảm bảo cụm con lắc ngược ở vị trí treo hướng xuống và đứng yên. Biểu đồ Simulink sẽ đo góc α của con lắc dưới là -180 độ.

4. Mở DBIP Control.vi, được hiển thị trong Hình 3.10.

5. Định cấu hình DAQ: Đảm bảo khối Khởi tạo HIL được định cấu hình cho thiết bị DAQ được cài đặt trong hệ thống của bạn. Để thực hiện việc này, hãy chuyển đến sơ đồ khối (CTRL-E) và nhấp đúp chuột vào HIL Khởi tạo Express VI được hiển thị trong Hình 3.11.

Hình 3.10 DBIP Control.vi

Hình 3.11 HIL Khởi tạo Express VI [9]

6. Trong tab chính, chọn thiết bị thu thập dữ liệu được cài đặt trên hệ thống của bạn như Hình 3.12.( ở đây là ni_pcie_6351 )

7. Run để chạy điều khiển thực.

Hình 3.12 Chọn thiết bị thu thập dữ liệu

8. Xoay thủ công cụm con lắc đến vị trí thẳng đứng một cách từ từ và giữ cho các con lắc dưới cùng và trên cùng thẳng đứng với nhau. Khi có tín hiệu điều khiển tham gia, ngay lập tức nhả con lắc và để cho servo cân bằng các liên kết. Các scope hiển thị các đáp ứng tương tự như Hình 3.13. Lưu ý rằng trong scope của theta (deg), đường màu xanh là vị trí đặt, đường màu đỏ là vị trí đo đạt được.

9. Để dừng thử nghiệm, nhấp vào nút Stop nhưng đảm bảo bạn bắt được con lắc trước khi cánh tay của nó rơi xuống. Điều này sẽ ngăn chặn cánh tay chạm vào bề mặt bàn.[9]

3.4.2 Nhận xét và đánh giá:

Hệ thống đã được điều khiển tốt, nhưng điện áp vẫn còn có nhiễu, góc theta vẫn dao động chưa được đều và ổn định. Điều này cho ta hướng để nghĩ đến việc lọc nhiễu cho quá trình điều khiển bằng phương pháp LQG.

CHƯƠNG 4 : PHƯƠNG PHÁP NGHIÊN CỨU MỚI DÙNG LQG

4.1 Phương pháp

Để có thể thực hiện nghiên cứu bằng phương pháp LQG ta cần sử dụng ma trận điều khiển hồi tiếp trạng thái K, và thiết kế bộ lọc Kalman.

4.2 Mô phỏng LQR với nhiễu tự tạo

Tự tạo nhiễu vơi khối CD Correlated Gaussian Random Noise (One Vector)

Chương trình và mô phỏng LQR với nhiễu. (tự tạo với nhiễu hệ thống là 0.01, nhiễu các góc đo được là 0.001).

Hình 4.1 CD Correlated Gaussian Random Noise (One Vector)

Kết quả mô phỏng:

Nhận xét: Ta thấy được khi có nhiễu hệ thống và nhiễu đo góc sẽ ảnh hưởng rất nhiều đến quá trình điều khiển, đã có độ dao động trên đường bám của góc theta, điện áp điều khiển cũng bị ảnh hưởng nhiều do nhiễu.

Hình 4.4 Kết quả mô phỏng LQR có nhiễu Hình 4.3 Chương trình và mô phỏng LQR với nhiễu

4.3 Mô phỏng LQG để khử nhiễu

Ta cần tạo ra các ma trận không gian trạng thái A, B, C để tính toán ma trận lọc nhiễu L và thiết kế bộ lọc Kalman.

Chương trình block diagram:

Hình 4.6 Chương trình mô phỏng LQG Hình 4.5 Chương trình mô phỏng LQG

Kết quả mô phỏng:

Nhận xét: Kết quả lọc nhiễu tốt hơn khi mô phỏng LQR có nhiễu, giống như mô phỏng LQR khi không có nhiễu hệ thống và sai số.

4.4 Chạy thực với thí nghiệm LQG

Để có thể tạo ra được bộ lọc Kalman, ta cần sử dụng vector X có 7 thành phần.

X = [ α α  ]

Tìm ma trận L bằng phương pháp thử sai.

Nếu giá trị của ma trận L là không chính xác sẽ dẫn đến mất ổn định và không thể điều khiển được.

Vì chỉ có thể dò ma trận Q và R , G là ma trận đơn vị. Nên khi dò ta chỉ có thể thay đổi Q và R như sau:

Khi Q > R , ta nhận được ma trận L có thể điều khiển được nhưng độ dao động của điện áp lớn, đường chéo chính của ma trận L là lớn (Điều này được ghi lại khi thí nghiệm với Q =3.4E – 5 và R =1E – 10). Đường chéo của ma trận được ghi lại là [580 530 570 630 680 680 580].

Khi Q < R , ta thấy độ dao động của điện áp đã được loại bỏ, nhưng hệ thống không thể điều khiển được. Vì giá trị đường chéo chính thay đổi, nhỏ đi rất nhiều.

Để có thể điều khiển được mà có thể loại bỏ được dao động biên độ điện áp.

Ta chọn L với các giá trị của đường chéo chính lớn [200 150 190 250 300 300 200], giá trị này được lấy theo quy luật tìm được ở thí nghiệm trên và sau nhiều lần thử sai. Các

Một phần của tài liệu Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG (Trang 46)

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

(93 trang)