1. Trang chủ
  2. » Cao đẳng - Đại học

Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG

93 57 0

Đ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

Thông tin cơ bản

Tiêu đề Con Lắc Ngược Đôi
Tác giả Đặng Tiểu Bình, Phạm Đức Hà, Đỗ Minh Hùng, Nguyễn Phúc Khải
Người hướng dẫn Th.S Bùi Thị Cẩm Quỳnh
Trường học Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Điện
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2019
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 5,2 MB

Cấu trúc

  • 1

    • Mục lục

    • Chương 1: Tổng quan về hệ con lắc ngược đôi và phương pháp điều khiển tối ưu

      • 1.1 Ý nghĩa khoa học và thực tiễn

      • 1.2 Mô hình nghiên cứu

      • 1.3 Tuyến tính hóa hệ phi tuyến

      • 1.4 Phương pháp điều khiển tối ưu

      • 1.5 Lý thuyết kỹ thuật robot

  • 2

    • Chương 2: Phần mềm Maple, phần mềm LadView và ứng dụng

      • 2.1 Phần mềm maple

      • 2.2 Phần mềm Labview

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

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

  • 3

    • Chương 3: Nghiên cứu mô hình

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

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

      • 3.3 Mô phỏng

      • 3.4 Điều khiển thực

      • 3.4 Điều khiển thực

  • 4

    • Chương 4: Phương pháp nghiên cứu mới dùng LQG

      • 4.1 Phương pháp

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

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

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

    • Tài liệu tham khảo

    • Phục lục

    • Lời cảm ơn

Nội dung

TỔNG QUAN VỀ HỆ CON LẮC NGƯỢC ĐÔI VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN TỐI ƯU

Ý nghĩa khoa học và thực tiễn

Con lắc ngược đóng vai trò quan trọng trong việc phát triển các hệ thống tự cân bằng như xe hai bánh tự cân bằng, điều khiển cân bằng cho tàu vũ trụ và giàn khoan trên biển Với sự tiến bộ của lý thuyết điều khiển hiện đại, con lắc ngược trở thành một đối tượng lý tưởng để kiểm tra và áp dụng các lý thuyết này.

Phương trình toán học của con lắc ngược có tính chất phi tuyến điển hình, làm cho nó trở thành mô hình lý tưởng cho các phòng thí nghiệm điều khiển tự động Nghiên cứu các giải thuật và phương pháp điều khiển trên mô hình này giúp tìm ra các giải pháp tối ưu cho ứng dụng điều khiển thiết bị tự động, bao gồm điều khiển tốc độ động cơ, giảm tổn hao công suất, điều khiển vị trí, điều khiển nhiệt độ và duy trì cân bằng hệ thống.

Mô hình nghiên cứu

Mô hình con lắc ngược đôi, như được trình bày trong hình 1.1, bao gồm một trục cánh tay quay gắn vào hệ thống SRV02 và được kích hoạt Cánh tay có chiều dài L và có mô men quán tính đặc trưng.

Góc J và giá trị của nó, ký hiệu là , tăng theo chiều dương khi quay ngược chiều kim đồng hồ (CCW) Để servo, hay còn gọi là cánh tay quay, hoạt động theo hướng CCW, cần cung cấp điện áp điều khiển dương, tức là V > 0.

Con lắc ngược đôi được kết nối với đầu cánh tay quay, bao gồm hai con lắc có chiều dài và trọng tâm khác nhau Con lắc dưới có chiều dài L, trọng tâm l và khối lượng M, trong khi con lắc trên cũng có chiều dài L, trọng tâm l và khối lượng M Góc của con lắc dưới là α, và góc của con lắc trên là φ; cả hai góc đều bằng không khi con lắc ở trạng thái thẳng đứng và tăng dần khi xoay theo chiều ngược kim đồng hồ (CCW) Bản lề giữa hai con lắc cũng có khối lượng M.

Hình 1.1 Mô hình con lắc ngược đôi

ID THÀNH PHẦN ID THÀNH PHẦN

SRV02 (rotary servo base unit)

Kết nối bộ encoder đo góc quay α

Khớp chữ T Con lắc dưới (liên kết 1) Kết nối bộ encoder đo góc quay  Khớp nối liên kết

Con lắc trên (liên kết 2)

Bảng 1.1 Các bộ phận con lắc ngược đôi [11]

Hình 1.2 Các bộ phận mô hình con lắc ngược đôi

Ký tự Miêu tả Giá trị Đơn vị r Cánh tay quay: chiều dài từ trục đến đỉnh 0.2159 m

Cánh tay quay: khối lượng 0.2570 kg

Mô men quán tính tương đương của động cơ SRV02 0.000998 Kg-m 2

Mô men quán tính tương đương của con lắc dưới 0.0012 Kg-m 2

Mô men quán tính tương đương của con lắc trên 0.000323 Kg-m 2

Con lắc dưới: khối lượng (có khớp chữ T) 0.127 kg

Hệ số ma sát của SRV02 0.0024 N-m-s/rad

Con lắc dưới: hệ số ma sát 0.0024 N-m-s/rad

Con lắc dưới: chiều dài từ trục đến đỉnh 0.216 m

Con lắc dưới: chiều dài từ trục đến trọng tâm 0.156 m

Con lắc trên : khối lượng 0.097 kg

Con lắc trên : hệ số ma sát 0.0024 N-m-s/rad

Con lắc trên: chiều dài từ trục đến đỉnh 0.2 m

Con lắc trên: chiều dài từ trục đến trọng tâm 0.164 m

Khối lượng bản lề encoder đặt giữa con lắc dưới và trên 0.141 kg

( Thông số tính momen của SRV02 ) 2.60 ohm

( Thông số tính momen của SRV02 ) 0.00767 V-s / rad

( Thông số tính momen của SRV02 ) 0.00767 N-m / A

( Thông số tính momen của SRV02 ) 70 Độ phân giải encoder (theo phương trình bậc hai) 4096 Counts/rev

Bảng 1.2 Thông số kĩ thuật [11]

Lưu ý: = , = , = , = , = , = , = , = r, = , = , = Các ký hiệu này được sử dụng trong bài có giá trị như nhau

1.2.2.3 Các thành phần bổ sung cần thiết

1 Bộ công cụ tạo mẫu điều khiển nhanh của Quanser cho NI LabVIEW ™ (Xem www.ni.com/labviewtools/rcp)

2 Bộ động cơ servo quay (SRV02)

3 Bộ khuếch đại công suất

4c Thiết bị thu thập dữ liệu: bảng điện tử loại NI PCI/PCIe với NI M và X

6 Cáp động cơ 4 Din to 6 Din

7 Cáp encoder 5 Din to 5 Din

1.2.2.4 Thiết lập phần cứng (Đã thiết lập sẵn, chỉ xem để kiểm tra lại)

A Trước khi tiến hành, hãy thiết lập và kiểm tra bộ động cơ servo quay của bạn Để biết hướng dẫn chi tiết, xem tài liệu Rotary Servo Base Unit Quick Start Guide or User Manual[11]

Hình 1.3 Các thành phần cần thiết [11]

B Đảm bảo mọi thứ đều được TẮT trước khi thực hiện bất kỳ kết nối nào, bao gồm cả máy tính và bộ khuếch đại [10]

C Trượt con lắc ngược đôi vào trục kim loại và siết chặt nó bằng bộ vít

Các khớp nối phải ở cuối trục kim loại trên tay quay và được gắn chặt

Không siết vít quá chặt

Lưu ý: Đảm bảo đầu nối encoder trên con lắc ngược đang quay mặt ra khỏi servo [10]

D Gắn mô đun con lắc ngược đôi vào trục bánh răng tải của Rotary Servo Base Unit bằng bộ ốc 2 chân [10]

E Đặt hệ thống con lắc ngược trên bàn để tránh mọi vật cản Bạn nên kẹp cố định Rotary Servo Base Unit xuống bàn [10]

Hãy chắc chắn rằng con lắc được tự do xoay 360 độ

F Sử dụng cáp RCA to RCA, kết nối Analog Output Channel #0 (AO #0) trên thiết bị thu thập dữ liệu tới ổ cắm Amplifier Command trên bộ khuếch đại [10]

G Sử dụng cáp động cơ 4 Din to 6 Din, kết nối ổ cắm To Load bộ khuếch đại với ổ cắm Motor trên bộ động cơ servo quay [10]

H Sử dụng cáp encoder Din 5 to Din 5 kết nối ổ cắm Bộ mã hóa trên Rotary Servo Base Unit với ổ cắm Encoder vào Encoder Input #0 trên thiết bị thu thập dữ liệu[10]

I Sử dụng cáp encoder Din 5 to Din 5, kết nối ổ cắm Encoder mô đun con lắc ngược với ổ cắm Encoder Input #1 trên thiết bị thu thập dữ liệu [10]

J Sử dụng cáp encoder 5 Din to 5 Din, kết nối ổ cắm Encoder trên mô đun con lắc ngược với ổ cắm Encoder Input #2 trên thiết bị thu thập dữ liệu [10]

Người dùng: Đảm bảo bạn đặt GAIN trên VoltPAQ-X1 thành 1 khi sử dụng bất kỳ thử nghiệm Rotary Servo Base Unit [10]

L Bật công tắc nguồn trên VoltPAQ-X1 Nó nằm ở phía sau của thiết bị [10]

Bộ encoder được sử dụng để đo góc con lắc trên mô-đun DBPEN-ROT là bộ mã hóa trục quang đơn đầu S1 của Hoa Kỳ, cung cấp độ phân giải cao với 4096 xung trên mỗi vòng quay ở chế độ vuông góc.

Các kết nối được đưa ra trong Bảng 1.3 và được minh họa trong Hình 1.6 Quy trình đấu dây chi tiết được đưa ra dưới đây

Cáp Từ Đến Tín hiệu

1 Thiết bị thu thập dữ liệu: Analog Output #0

Bộ kết nối Amplifier Command Điều khiển tín hiệu đến amplifier

2 Bộ kết nối "to load" Đầu nối "Motor" SRV02 Nguồn điện dẫn đến động cơ

3 Thiết bị thu thập dữ liệu: Encoder Input #0

SVR02 “encorder” kết nối Đo góc trục tải mã hóa

4 Thiết bị thu thập dữ liệu: Encoder Input #1 Đầu nối encoder ROTPEN-SE DBPEN-ROT đo góc con lắc liên kết ngắn Hình 1.6 Encoder [11]

5 Thiết bị thu thập dữ liệu: Encoder Input #2

Bộ mã hóa liên kết 2 DBPEN- ROT Đo góc con lắc liên kết dài DBPEN-ROT

1.2.3.3 Thông tin về rotary unit (SVR02)

Kích thước thực của thiết bị (L x W x H) 15cm x 15cm x 18cm

Khối lượng thực của thiết bị 1.2 kg Điện áp đầu vào động cơ 6V

Dòng điện tối đa liên tục của động cơ ( khuyên dùng ) 1A

Tốc độ tối đa của động cơ ( khuyên dùng ) 6000 vòng/phút

Phạm vi đo điện thế 5V Độ nhạy của máy đo tốc độ 0.0015V/vòng/phút Độ phân giải của bộ mã hóa (theo phương trình bậc hai) 4096 đếm/vòng/phút

Bảng 1.4 Bảng thông số động cơ servo [13]

Tuyến tính hóa hệ phi tuyến

Kết hợp tất cả các hệ phương trình mô tả đặc tính động của các bộ phận chức năng để được hệ phương trình mô tả hệ thống

Tuyến tính hóa quan hệ phi tuyến để được mô tả toán học tuyến tính

Xét hệ phi tuyến bậc n có p ngõ vào, q ngõ ra mô tả bởi phương trình trạng thái:

Hình 1.7 Sơ đồ kết nối [11] x , a ,

Trong hệ thống điều khiển, vector trạng thái x(t), vector tín hiệu vào u(t), và vector tín hiệu ra y(t) được mô tả bằng các hàm phi tuyến f(.) và h(.) Khi thực hiện khai triển Taylor quanh điểm làm việc tĩnh (x, u), hệ thống có thể được biểu diễn bằng phương trình trạng thái tuyến tính: x(t) = Ax(t) + Bu(t) và y(t) = Cx(t) + Du(t) Trong đó, x(t) được tính là x(t) - x, u(t) là u(t) - u, và y(t) là y(t) - y, với y(t) cũng được xác định bởi hàm h(x, u).

Các ma trận trạng thái của hệ tuyến tính gần đúng được tính như sau:

Phương pháp điều khiển tối ưu

1.4.1 Phương pháp điều khiển tối ưu toàn phương tuyến tính LQR ( Linear Quadratic Regulator – LQR )

Phương pháp điều khiển tối ưu toàn phương tuyến tính LQR (Linear Quadratic Regulator – LQR)

Trong lý thuyết điều khiển tối ưu, LQR (Linear Quadratic Regulator) là phương pháp thiết kế luật điều khiển phản hồi trạng thái cho hệ tuyến tính nhằm tối thiểu hóa hàm giá trị toàn phương Thuật ngữ “Linear” ám chỉ động học hệ thống được mô tả bởi các phương trình vi phân tuyến tính, trong khi “Quadratic” đề cập đến chỉ số hiệu suất được mô tả bởi hàm toàn phương Mục tiêu của LQR là tìm bộ điều khiển phản hồi trạng thái, mang lại lợi ích là tạo ra hệ thống bền vững và đảm bảo các giới hạn ổn định.

LQR (Bộ điều khiển tuyến tính bậc hai) là một thuật toán điều khiển dựa trên nguyên lý phản hồi trạng thái, thường được biết đến như là phương pháp tuyến tính hóa dạng toàn phương.

Bộ điều khiển LQR được sử dụng phổ biến cho các hệ phi tuyến với nhiều ngõ vào và ngõ ra Bộ điều khiển này nhận tín hiệu đầu vào từ trạng thái của hệ thống và tín hiệu đặt, sau đó thực hiện tính toán để tạo ra tín hiệu điều khiển cho hệ thống Đầu ra của bộ điều khiển phản hồi trạng thái được biểu diễn bằng công thức u = -Kx, với tín hiệu đặt bằng 0.

Trong đó: x: trạng thái của hệ thống

K: véctơ thu được dựa trên các tiêu chuẩn tối ưu hóa và mô hình hệ thống

A, B, C, D: Ma trận trạng thái của đối tượng được điều khiển

Hệ điều khiển hiệu quả nhất là hệ luôn duy trì trạng thái tối ưu theo tiêu chuẩn chất lượng cụ thể, đạt giá trị cực đại Việc đạt được trạng thái tối ưu này phụ thuộc vào yêu cầu chất lượng, sự hiểu biết về đối tượng cũng như các tác động và điều kiện làm việc của hệ thống.

Lý thuyết điều khiển LQR là phương pháp điều khiển mạch hiệu quả cho hệ thống tuyến tính, được mô tả qua các phương trình trạng thái Kỹ thuật LQR giúp tạo ra bộ điều khiển vòng kín ổn định, đồng thời tối thiểu hóa trọng số cung cấp cho hệ thống.

, , … , : 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 u(t) điều chỉnh hệ thống từ trạng thái đầu

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

Q và M là các ma trận trọng số bán xác định dương

R là ma trận trọng số xác định dương

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

Ma trận K tối ưu được xác định từ phương trình Ricati có dạng:

Luật điều khiển tối ưu cho bài toán điều khiển tối ưu dạng toàn phương với chỉ tiêu chất lượng được biểu diễn bằng một phương trình tuyến tính.

Ma trận P khi đó phải được thỏa mãn với phương trình Riccati sau:

Khi P thay đổi theo thời gian = 0, ta có phương trình Riccati sau:

0 Bài toán LQR liên tục thời gian vô hạn Đối tượng tuyến tính mô tả bởi phương trình trạng thái:

Hàm chỉ tiêu chất lượng dạng toàn phương trong đó ( ) = 

Tín hiệu điều khiển tối ưu : u(t) = -Kx(t)

Và P là nghiệm bán xác định dương của phương trình đại số Ricati:

Lưu ý: trong trường hợp này K và P là không phụ thuộc vào thời gian

Giá trị cực tiểu của hàm chỉ tiêu chất lương :

Theo phương pháp LQR, chúng ta bắt đầu bằng cách xác định điểm làm việc ổn định của hệ thống đã được tuyến tính hóa, cụ thể là tại 0, 0,  0, θ 0, 0,  0 Sau đó, sử dụng các công thức toán học và phần mềm chuyên dụng như Matlab và Maple, ta tìm ra các ma trận trạng thái A, B, C, D Tiếp theo, chúng ta chọn ma trận Q và R trong hàm mục tiêu J Cuối cùng, thông qua quá trình này, ta xác định được ma trận tối ưu K, chứa các thông số điều khiển quan trọng cho hệ thống.

Lời giải bài toán LQR thời gian vô hạn dùng Matlab:

Nghiệm phương trình đại số Ricati liên tục (continuous algebraic Ricatti equation – care) [2]

Lời giải bài toán LQR (Linear quadratic Regulator – LQR) liên tục:

Nghiệm phương trình đại số Ricatti rời rạc (discrete algebraic Ricatti equation – dare)

Lời giải bài toán LQR (Linear quadratic Regulator – LQR) rời rạc:

1.4.2 Bộ ước lượng trạng thái tối ưu (bộ lọc kalman)

Một phương pháp khác để ước lượng trạng thái trong của hệ thống là sử dụng bộ ước lượng toàn phương tuyến tính (LQE) Trong lý thuyết điều khiển, LQE được coi như một bộ lọc Kalman hoặc bộ quan sát Bộ lọc Kalman hoạt động như một bộ ước lượng hồi quy.

Bộ lọc Kalman hoạt động dựa trên mô hình toán học của hệ thống, được tính toán thông qua các ma trận không gian trạng thái và tín hiệu nhiễu đo lường Khi áp dụng bộ lọc Kalman hoặc các bộ quan sát, nhiễu tại đầu vào của quá trình thường được xem như là "nhiễu hệ thống".

Xét một hệ tuyến tính liên tục:

Trong đó: w(t) là nhiễu hệ thống v(t) là nhiễu đo lường

Giả sử nhiễu hệ thống và nhiễu đo lường có phân bố Gaus, không tương quan, có trung bình bằng 0 và phương sai là [2]:

Bộ lọc Kalman liên tục :

Trong đó: w(t) là nhiễu hệ thống v(t) là nhiễu đo lường

Giả sử nhiễu hệ thống và nhiễu đo lường có phân bố Gaus, không tương quan, có trung bình bằng 0 và phương sai là [2]:

Bộ lọc Kalman liên tục: x y Trong đó L là độ lợi của bộ lọc Kalman:

Với là nghiệm của phương trình Ricatti:

Sơ đồ khối của bộ lọc Kalman liên tục:

Lời giải bộ lọc Kalman dùng Matlab:

Lời giải bộ lọc Kalman kiên tục:

1.4.3 Bộ điều khiển LQG (linear quadratic Gaussian)

LQG là phương pháp kết hợp giữa LQR và LQE, được sử dụng để thiết kế các luật điều khiển phản hồi trạng thái cho hệ thống tuyến tính Phương pháp này tối thiểu hóa hàm giá trị toàn phương trong điều kiện có nhiễu Gaussian.

Thiết kế LQR và LQE có thể thực hiện độc lập, trong khi LQG giúp tối ưu hóa chất lượng hệ thống và giảm thiểu nhiễu đo lường LQE cung cấp các ước lượng trạng thái của quá trình, còn LQR tính toán vector hệ số tối ưu và tín hiệu điều khiển Tuy nhiên, trong thiết kế bộ điều khiển phản hồi trạng thái, việc giảm sai lệch bám không được tự động nhận diện.

Nguyên lý tách rời cho phép giải bài toán tối ưu LQG bằng cách xử lý độc lập hai vấn đề: 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.

Lý thuyết kỹ thuật robot

1.5.1 Tính các ma trận biến xoay

Để hiểu rõ hơn về cách xác định động năng và thế năng của hệ thống, chúng ta cần áp dụng các ma trận trong lý thuyết robot nhằm tìm kiếm vị trí Việc này có thể thực hiện thông qua tính toán phương trình trạng thái bằng phần mềm Maple.

Giả sử hệ tọa độ O-xyz quay một góc α quanh trục z, tạo ra hệ tọa độ mới O-x’y’z’ Các vector đơn vị trong hệ tọa độ mới có thể được mô tả qua các thành phần tương ứng với hệ tọa độ tham chiếu Các phép quay cơ bản của hệ tọa độ tham chiếu được coi là dương nếu thực hiện theo hướng ngược chiều kim đồng hồ quanh trục tương đối.

Giả sử hệ tọa độ O-xyz quay một góc α quanh trục z, hệ tọa độ mới O-x’y’z’ sẽ được hình thành Vector đơn vị của hệ tọa độ mới được mô tả bằng các thành phần của nó theo hệ tọa độ tham chiếu, với công thức là [3] x cosα sinα.

Ma trận quay quanh z của O-x’y’z’

Tương tự ta cũng tìm được:

Ma trận quay quanh y của O-x’y’z’

Ma trận quay quanh x của O-x’y’z’

1.5.1.1 Phép quay quanh các trục toạ độ

Giả sử ta cần quay 1 điểm hay vật thể xung quanh 1 trục nào đó với góc quay  ta lần lượt có các ma trận chuyển động quay như sau [15]:

Rot(z, ) cos sin 0 0 sin cos 0 0

1.5.1.2 Phép tịnh tiến trên các trục toạ độ

Giả sử ta cần tịnh tiến 1 điểm hay vật thể trên 1 trục nào đó ta sẽ có các ma trận chuyển đổi như sau [15]:

Ma trận chuyển đổi tịnh tiến theo trục O X một đoạn d là :

Ma trận chuyển đổi tịnh tiến theo trục O Z một đoạn d là:

PHẦN MỀM MAPLE, PHẦN MỀM LABVIEW VÀ ỨNG DỤNG 13

Phần mềm maple

Maple là một phần mềm toán học thương mại đa năng, được phát triển bởi Nhóm Tính toán Hình thức tại Đại học Waterloo, Canada, vào năm 1980 Phần mềm này phục vụ cho nhiều mục đích khác nhau trong lĩnh vực toán học.

Từ năm 1988, Waterloo Maple Inc (hay còn gọi là Maplesoft), một công ty có trụ sở tại Waterloo, Ontario, Canada, đã phát triển và thương mại hóa phần mềm Maple Phiên bản mới nhất, Maple 13, được phát hành vào tháng 5 năm 2009 và hiện đang cạnh tranh với Mathematica.

Người dùng có thể nhập biểu thức toán học theo các ký hiệu toán học truyền thống

Maple cho phép người dùng dễ dàng tạo ra các giao diện tùy chỉnh, hỗ trợ cả tính toán số và tính toán hình thức Nền tảng này sử dụng thư viện số học NAG để thực hiện nhiều phép tính số học, đồng thời mở rộng các chương trình con NAG nhằm cung cấp độ chính xác ngẫu nhiên cao Các ví dụ về tính toán hình thức sẽ được giới thiệu trong các phần tiếp theo.

Maple là một ngôn ngữ lập trình cấp cao hoàn chỉnh, cung cấp giao diện cho nhiều ngôn ngữ khác như C, Fortran, Java, MatLab và Visual Basic Ngoài ra, Maple cũng hỗ trợ giao diện cho Excel, giúp người dùng dễ dàng tích hợp và sử dụng trong các ứng dụng văn phòng.

Phần lớn Maple được viết bằng ngôn ngữ java Maple chạy trên tất cả các hệ điều hành chính

Ngôn ngữ lập trình Maple là một ngôn ngữ kiểu động, tương tự như các hệ thống đại số máy tính Các biểu thức hình thức trong Maple được lưu trữ trong bộ nhớ theo cấu trúc đồ thị không chu trình.

Ngôn ngữ có hình thức lập trình hàm, nhưng cũng có hỗ trợ đầy đủ cho lập trình truyền thống, theo kiểu mệnh lệnh [14]

Một điều lạ đối với chương trình thương mại, đa số mã nguồn đều có thể xem tự do

Tên "Maple" không phải là một từ viết tắt hay từ ghép, mà chỉ đơn thuần là hình tượng của lá phong trên Quốc kỳ Canada.

Chứa chương trình và tệp đang mở

Chứa các chức năng, ứng với mỗi chức năng là một thực đơn dọc tương ứng

Chứa một số biểu tượng thể hiện một số lệnh thông dụng để người sử dụng thao tác nhanh

Công cụ này cho phép bạn định dạng văn bản giống như trong Microsoft Word, đồng thời hiển thị các phép tính và đồ thị toán học một cách rõ ràng.

Hình 2.2 Menu bar Hình 2.1 Title Bar

Là khu vực chiếm nhiều diện tích nhất Các lệnh, các công thức toán học, các phép tính, các đồ thị toán học đều sẽ hiện thị ở đây

Chứa các trợ giúp nhanh của chương trình

2.1.3 Một số lệnh thường sử dụng trong Menu Bar

File: chứa các lệnh liên quan tới các thao tác với tệp tin

New: Tạo một tệp mới

Open: Mở một tệp đã có

Save: Lưu tệp tin đang soạn thảo với dạng *.mw hoặc *.mws

Save As: Lưu tệp đang mở sang một tệp mới và đặt tên cho tệp mới này

Hình 2.5 Vùng làm việc của Maple

Hình 2.6 Cửa sổ Quick Help

Export As: Chuyển đổi tệp đã soạn thảo sang một số dạng khác như: Plain Text, LaTeX, HTML …

Close: Đóng tệp đang làm việc

Print: In tệp đang làm việc

Edit: chứa các lệnh liên quan tới sao chép, cắt, dán, xóa bỏ, … các đoạn khi làm việc với một tệp

View: chứa tập hợp các lệnh liên quan tới giao diện làm việc của Maple

Thanh công cụ chứa các lệnh tắt được biểu thị bằng biểu tượng, giúp người dùng thao tác nhanh chóng với văn bản Trong khi đó, Thanh ngữ cảnh cung cấp các lệnh hỗ trợ cho việc định dạng văn bản, bao gồm các tùy chọn như in đậm, in nghiêng, chọn phông chữ và cỡ chữ.

Zoom Factor: Chứa các lệnh về điều khiển kích cỡ của font chữ của trang đang làm việc trên màn hình

Expand All Selections: Mở tất cả các mục trong trang đang làm việc

Collapse All Selections: Đóng tất cả các mục của trang đang làm việc

Insert: chứa các lệnh về chèn thêm thông tin vào một tệp đang làm việc

Text: Chuyển sang chế độ soạn thảo văn bản

Maple Input: Chuyển từ text sang dạng lệnh của Maple (thực hiện các lệnh liên quan tới toán học)

Execution Group: Chèn vào một cụm xử lý trước vị trí con trỏ (Before Cursor) hoặc phía sau con trỏ (After Cursor)

Paragraph: Chèn vào một đoạn văn bản mới trước con trỏ (Before Cursor) hoặc sau con trỏ (After Cursor)

Section: Chèn vào một mục mới

Subsection: Chèn vào một mục con (của mục đang chứa con trỏ)

Toán học 2-D (Toán chuẩn) cho phép chèn trực tiếp biểu thức toán học vào vị trí con trỏ Ngoài ra, tính năng liên kết (Hyperlink) giúp kết nối với các tệp đã có hoặc di chuyển con trỏ giữa các trang làm việc một cách dễ dàng.

Format bao gồm các lệnh để định dạng các thành phần văn bản trên trang làm việc Style giúp định dạng các yếu tố như đoạn văn và tiêu đề, trong khi Paragraph tập trung vào việc định dạng các thành phần cụ thể của đoạn văn bản.

Character: Định dạng một cụm kí tự

Convert: Chuyển đổi một cụm kí tự sang biểu thức toán học, lệnh của Maple hay siêu liên kết

2.1.4 Các môi trường làm việc trong Maple

Chương trình Maple cung cấp năm môi trường làm việc: Text, Math, Draw, Plot và Animation Người dùng cơ bản thường chỉ sử dụng hai môi trường chính là Text và Math, trong khi các môi trường còn lại ít được sử dụng.

Trong môi trường soạn thảo văn bản của Maple, bạn có thể dễ dàng tạo và định dạng văn bản tương tự như trong Microsoft Word.

Trong môi trường toán học của Maple, bạn có thể thực hiện các phép tính số học, đại số, giải tích và vẽ đồ thị hàm số Đây là môi trường phổ biến nhất trong năm môi trường của chương trình và cũng là môi trường mặc định khi khởi động Maple.

Môi trường này cho phép người dùng vẽ thêm các đường hoặc hình cơ bản như tam giác, vuông, tròn vào đồ thị của bất kỳ hàm số nào.

Là một môi trường cho phép bạn tùy chỉnh lại một số thông số của đồ thị hàm số

Là môi trường cho phép bạn tạo các hiệu ứng chuyển động

Bạn có thể chọn chuyển đổi qua lại giữa các môi trường bằng cách chọn vào biểu tượng tương ứng có trên thanh công cụ

2.1.5.1 Một số điều qui định khi nhập lệnh

Kết thúc câu lệnh: Mỗi câu lệnh được kết thúc bởi dấu; (thì in kết quả ra màn hình) hoặc dấu: (không in kết quả)

Thi hành câu lệnh: Sau khi kết thúc lệnh thì ấn phím Enter để thực hiện lệnh

Các câu lệnh có thể được đánh dấu, sao chép theo cách thức như trong hệ điều hành Windows

2.1.5.2 Một số điều cần chú ý

Có phân biệt chữ hoa và chữ thường

Ví dụ: Int và int là hai lệnh khác nhau Để tạo một chú thích cho câu lệnh, ta dùng dấu # trước đoạn văn ghi chú

Ví dụ: # Tính tích phân

Dùng lệnh restart để khởi tạo mới các biến, hàm đã sử dụng trước đó

Để tra cứu cú pháp câu lệnh trong Maple, bạn có thể sử dụng mục Help trên thanh thực đơn Nếu muốn tìm kiếm nhanh, hãy dùng dấu hỏi (?) kèm theo tên mục cần tra cứu.

Dữ liệu Tên kiểu Ví dụ

Số phức Complex a+bI (I chữ hoa)

Xâu kí tự string “ab cd12”

Bảng 2.1 Bảng kiểu dữ liệu [4]

2.1.6.3 Các hàm số cho số nguyên (Integer)

Phần mềm Labview

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là phần mềm do National Instruments phát triển, được sử dụng rộng rãi trong các phòng thí nghiệm và lĩnh vực khoa học kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh và điện tử y sinh, đặc biệt phổ biến tại Mỹ, Hàn Quốc và Nhật Bản.

Ngôn ngữ lưu đồ đồ họa của LabVIEW thu hút sự quan tâm của các kỹ sư và nhà khoa học toàn cầu nhờ vào tính trực giác trong tự động hóa hệ thống đo lường và điều khiển Sự kết hợp giữa ngôn ngữ lưu đồ, I/O gắn liền, và giao diện người dùng tương tác cùng đèn chỉ báo khiến LabVIEW trở thành lựa chọn lý tưởng cho các chuyên gia trong lĩnh vực này.

2.2.2 Khả năng điều khiển và giao tiếp với thiết bị ngoại vi

LabVIEW đã trang bị nhiều công cụ và tính năng tiên tiến, giúp kỹ sư điều khiển tự động dễ dàng thực hiện các bài toán điều khiển Phần mềm này cho phép triển khai nhanh chóng các thuật toán như PID và Logic mờ (Fuzzy) thông qua các chức năng tích hợp sẵn Hơn nữa, LabVIEW còn hỗ trợ kết hợp với các ngôn ngữ lập trình truyền thống như C và C++.

Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông qua các cổng giao tiếp: RS232, RS485, USB, PCI, Enthernet [5]

2.2.3 Tổng quan về phần mềm LabView

Front panel là một bảng điều khiển tương tự như bảng của thiết bị thực tế, bao gồm các nút bấm, nút bật, đồ thị và bộ điều khiển Người dùng có thể sử dụng chuột và bàn phím để nhập dữ liệu, sau đó chạy chương trình và quan sát kết quả Front panel thường bao gồm các bộ điều khiển (Control) và bộ hiển thị (Indicator).

Control là các đối tượng trên Front Panel dùng để cung cấp dữ liệu cho chương trình, tương tự như đầu vào Trong khi đó, Indicator là các đối tượng hiển thị kết quả trên Front Panel, tương tự như bộ phận đầu ra của chương trình.

Block diagram của một VI là sơ đồ được tạo ra trong môi trường LabVIEW, bao gồm nhiều đối tượng và hàm để xây dựng cấu trúc lệnh cho chương trình Nó đại diện cho mã nguồn đồ họa của một VI, trong đó các đối tượng trên Front Panel được thể hiện bằng các thiết bị đầu cuối trên Block Diagram Các thiết bị đầu cuối này không thể bị loại bỏ trừ khi đối tượng tương ứng trên Front Panel bị xóa.

Hình 2.9 Cửa sổ front panel

Cấu trúc của một Block Diagram gồm các thiết bị đầu cuối (Terminal), nút (Node) và các dây nối (wire) [5]

Khác với các ngôn ngữ lập trình khác, LabVIEW nổi bật với việc sử dụng các bảng như Tools Palette, Controls Palette và Function Palette, thay vì những câu lệnh phức tạp khó nhớ Những bảng này cung cấp các chức năng giúp người dùng dễ dàng tạo và chỉnh sửa trên Front Panel và Block Diagram thông qua các biểu tượng và hình ảnh trực quan, mang lại sự linh hoạt và tiện lợi trong quá trình lập trình.

Tool Panel xuất hiện trên Font Panel và Block Diagram, cho phép người dùng thiết lập chế độ làm việc cho con trỏ chuột Khi chọn công cụ, biểu tượng con trỏ sẽ thay đổi theo công cụ đó Nếu chế độ tự động lựa chọn công cụ được kích hoạt, con trỏ sẽ tự động thay đổi khi di chuyển qua các đối tượng trên Front Panel hoặc Block Diagram.

Diagram, LabVIEW sẽ tự động lựa chọn công cụ phù hợp trên bảng Tool

Hình 2.10 Cửa sổ block diagram

2.2.3.4 Controls Palette (bảng điều khiển)

Bảng điều khiển chỉ duy nhất xuất hiện trên Front panel

Bảng điều khiển bao gồm các bộ điều khiển và bộ hiển thị, được minh họa trong hình bên dưới Để truy cập bảng controls palette, bạn vào menu View và chọn controls palette.

Bảng điều khiển cho phép người dùng thiết kế cấu trúc mặt hiển thị với các thiết bị như công tắc, đèn và màn hình hiển thị Người dùng có thể lựa chọn các bộ thiết bị chuẩn từ nhà sản xuất hoặc tự xây dựng thiết bị theo nhu cầu Bảng điều khiển không chỉ cung cấp dữ liệu đầu vào mà còn hiển thị kết quả đầu ra.

Trên bảng controls palette thể hiện khá phong phú các bộ điều khiển khác nhau như trên hình

Bảng Functions Palette chỉ xuất hiện trên Block Diagram

Bảng Function Palette cung cấp các VI và hàm thiết kế để tạo khối lưu đồ, cho phép người lập trình thực hiện các lệnh như phép tính số học, biểu thức toán học, vòng lặp và phép lựa chọn Người dùng có thể tạo và sử dụng lại các hàm tự xây dựng bên cạnh các chức năng có sẵn Các hàm toán học được minh họa bằng biểu tượng, và để thực hiện một hàm, người dùng chỉ cần chọn biểu tượng tương ứng, kéo thả vào Block Diagram, sau đó xác định các đầu vào và đầu ra cần thiết.

2.2.3.6 Các phép toán cơ bản

Cộng, Trừ, Nhân, Chia, Cộng 1, Trừ 1, Bình phương, Đảo dấu, Hàm Random, Dịch bit, …

So sánh hơn, so sánh bằng, bằng 0, khác 0, lấy số dư…

And, or, xor, not, true, false…

2.2.3.9 Các hàm toán học phức tạp

Lũy thừa, Logarit, hàm lượng giác, hàm với các ma trận, hàm nội suy, hàm tối ưu

Trong lập trình, việc xử lý các dãy số là cần thiết, và mỗi phần tử trong dãy có thể được xem như một thành phần riêng biệt Do đó, mảng trở thành công cụ hữu ích, bao gồm mảng một chiều (véc tơ), mảng hai chiều và mảng ba chiều.

Hàm Array Max & Min có chức năng tìm kiếm số lớn nhất và số nhỏ nhất trong một mảng các số, thường được sử dụng để trả về kết quả hiển thị.

Build array: Hàm này xây dựng mảng hoặc phần từ mảng

Index array: Hàm này trả về một phần tử hoặc phân đoạn của mảng

Array subset: Trả về một mảng theo yêu cầu

Array Size: Tìm kích thước mảng

Delete From Array: Xóa phần tử trong mảng

Insert Into Array: Chèn phần tử trong mảng

2.2.3.11 Thời gian thực thi vòng lặp và các hàm Delay Để có thể thiết lập thời gian thực thi cho các vòng lặp này một cách gần đúng, ta sử dụng các hàm Delay

Hàm Wait được sử dụng để thực hiện phép Delay thời gian trước và sau khi thực hiện các tác vụ trong hàm While Trong khi đó, hàm Wait Until ms Multiple cố định thời gian thực hiện.

Hình 2.14 Các hàm Delay các tác vụ trong hàm While với khoảng thời gian định trước, bất kể các tác vụ trong hàm là gì [5]

2.2.3.12 Các cấu trúc điều khiển luồng chương trình

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

2.3.1 Hệ phương trình trạng thái

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 hệ thống con lắc ngược đôi, trạng thái được biểu diễn bởi x, đầu vào điều khiển là u, và các ma trận không gian trạng thái là A, B, C, D Cụ thể, trạng thái và đầu ra của hệ thống được xác định là x = [θ α φ θ α φ].

Phương pháp Lagrange, thay vì cơ học cổ điển, được áp dụng để xác định các phương trình chuyển động cho hệ thống Phương pháp này thường được sử dụng trong các hệ thống phức tạp, chẳng hạn như bộ điều khiển robot với nhiều khớp.

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 của động cơ servo, tức là động lực học, sẽ được xác định thông qua phương trình Euler-Lagrange.

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 == [         ]

Trong toàn bộ tài liệu này, chúng tôi sẽ sử dụng quy ước dấu chấm để biểu thị đạo hàm theo thời gian, ví dụ như  = d/dt Ngoài ra, biến thời gian t sẽ được loại bỏ khỏi các ký hiệu , α và .

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à :

Lagrangian của hệ thống được mô tả

Lagrangian là sự chênh lệch giữa tổng động năng (T) và tổng thế năng (V) 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, như ma sát, tác động lên một hệ thống trong các tọa độ tổng quát Cụ thể, lực tổng quát ảnh hưởng đến cánh tay quay trong hệ thống này.

Và tác dụng lên con lắc dưới và trên cùng là

Mô-men xoắn tại đế của tay quay, hay còn gọi là bánh răng tải, được tạo ra bởi động cơ servo theo phương trình đã được mô tả.

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

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í:

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

 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 và giải các thuật ngữ gia tốc như , α, , chúng ta có thể thay thế trạng thái đã cho để thu được các ma trận không gian trạng thái Để tìm hiểu thêm, hãy tham khảo chương trình tạo các ma trận không gian trạng thái ở phụ lục.

Ứ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 bằng ma trận điều khiển K, được tính toán thông qua phương pháp điều khiển LQR, giúp quan sát độ ổn định của hệ thống.

Lập trình điều khiển thực với ma trận điều khiển K được tính bởi quá trình mô phỏng.

NGHIÊN CỨU MÔ HÌNH

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

Sau khi xác định mô hình không gian trạng thái với các biến phương trình, người dùng có thể nhập các ma trận A, B, C, D vào phần mềm như Maple, Matlab, hoặc LabVIEW Trong trường hợp này, LabVIEW được sử dụng để thực hiện các phép tính cho 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, điều này cho thấy rõ ràng sự không ổn định của hệ thống.

Hình 3.1 Mô hình không gian trạng thái hiển thị trên labview

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 của hệ thống được xác định từ nghiệm của phương trình đặc trưng Để tìm phương trình đặc trưng từ không gian trạng thái, ta sử dụng công thức: det(sI - A) = 0.

Hàm det() được sử dụng để tính định thức, trong khi s là toán tử Laplace và I là ma trận đơn vị Những giá trị này đại diện cho các giá trị riêng của ma trận không gian trạng thái A Chúng ta sử dụng phần mềm Maple để xác định phương trình đặc trưng, từ đó nhận thấy hệ thống không ổn định.

Các phương trình không gian trạng thái tuyến tính được biểu diễn dưới dạng: x = Ax + Bu, y = Cx + Du Một hệ thống được coi là hoàn toàn điều khiển được nếu có tồn tại luật điều khiển u(t) cho phép chuyển đổi từ trạng thái ban đầu x(0) đến trạng thái cuối x(t) trong khoảng thời gian hữu hạn Điều này có nghĩa là mọi biến trạng thái trong hệ thống đều có thể bị ảnh hưởng bởi tín hiệu điều khiển u(t) Ngược lại, nếu một hoặc nhiều biến trạng thái không bị ảnh hưởng bởi u(t), chúng sẽ không thể được điều khiển trong khoảng thời gian hữu hạn, dẫn đến việc hệ thống không hoàn toàn điều khiển được Để kiểm tra tính điều khiển được của hệ thống, cần 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à:

Hệ thống một đầu vào – một đầu ra (SISO) có phương trình đặc trưng với ma trận C là ma trận vuông cấp n Để đảm bảo tính khả thi của hệ thống, điều kiện cần thiết là định thức của ma trận C phải khác không, tức là det(C) # 0.

Một hệ thống được xem là hoàn toàn quan sát được khi từ tín hiệu điều khiển u(t) và đầu ra c(t) trong một khoảng thời gian nhất định, ta có khả năng xác định chính xác trạng thái ban đầu x( ).

Hệ thống được coi là quan sát được khi mỗi biến trạng thái ảnh hưởng đến đầu ra c(t) Mục tiêu thường thấy là xác định thông tin về trạng thái hệ thống thông qua việc đo c(t) Tuy nhiên, nếu không thể quan sát một hoặc nhiều trạng thái từ c(t), hệ thống sẽ không hoàn toàn quan sát được Để kiểm tra tính quan sát được, ta cần thành lập ma trận C, hay còn gọi là ma trận quan sát được.

Để hệ thống quan sát được, điều kiện cần và đủ là rank(C) = n Đối với hệ thống một đầu vào (SISO), ma trận C phải là ma trận vuông cấp n, do đó điều kiện trở thành det(C) ≠ 0.

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.

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

Để đảm bảo hệ thống ổn định, việc xác định ma trận K cho vector điều khiển tối ưu u(t) = -Kx(t) là cần thiết, với mục tiêu chất lượng J đạt giá trị tối thiểu Khi đó, mô hình không gian trạng thái sẽ được biểu diễn dưới dạng ẋ = Ax + Bu, y = Cx Hệ thống điều khiển hồi tiếp trạng thái sẽ được thiết lập như hình minh họa.

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

Hình 3.4 Sơ dồ khối vòng điều khiển hồi tiếp trạng thái

Trạng thái đặt được xác định:

Và tín hiệu điều khiển là: u = K ( –x )

Nếu \( xd = 0 \), thì \( u = -Kx \), đây là quy tắc điều khiển áp dụng trong thuật toán LQR Để đảm bảo hệ thống ổn định, có thể cải tiến hệ thống bằng cách bổ sung một bộ tích hợp (thông tin chi tiết có thể tham khảo trong tài liệu đính kèm từ nhà sản xuất).

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]:

 (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

Để giảm dao động của góc θ, người dùng đã thiết lập Q (4, 4) là 5 Đồng thời, để tạo ra lợi ích tích phân nhỏ cho việc theo dõi góc θ của servo, Q (7, 7) được đặt là 0.5.

Hình 3.5 Tính ma trận điều khiển K

Kiểm tra tính ổn định của hệ thống với ma trận K và tìm phương trình đặc trưng mới bằng phần mềm Maple Qua phân tích, hệ thống cho thấy đã đạt tính ổn định, có thể áp dụng các tiêu chuẩn ổn định đại số như tiêu chuẩn Routh và Hurwitz để xác nhận.

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

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

Hình 3.6 Phương trình đặc trưng của hệ thống khi có ma trận điều khiển K

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, quá trình mô phỏng diễn ra trong 100 giây Các biểu đồ hiển thị kết quả phản ánh như trong Hình 3.8 Đặc biệt, trong biểu đồ servo, đường màu xanh thể hiện vị trí đặt, trong khi đường màu đỏ biểu thị vị trí mô phỏng [10].

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

Đ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 độ

Hình 3.9 DBIP Contrl Design.vi

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.11 HIL Khởi tạo Express VI

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

Hình 3.13 Quá trình điều khiển thực

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 điều khiển hiện tại hoạt động hiệu quả, tuy nhiên vẫn tồn tại nhiễu điện áp và góc theta chưa ổn định Điều này mở ra cơ hội áp dụng phương pháp lọc nhiễu LQG để cải thiện quá trình điều khiển.

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

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.

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

Hình 4.2 Chương trình và mô phỏng LQR với nhiễu

Nhiễu hệ thống và nhiễu đo góc có ảnh hưởng đáng kể đến quá trình điều khiển, dẫn đến sự dao động trên đường bám của góc theta Hơn nữa, điện áp điều khiển cũng bị tác động mạnh mẽ bởi các yếu tố nhiễu này.

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

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

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

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ố.

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

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 lớn hơn R, ma trận L trở nên có thể điều khiển nhưng điện áp dao động mạnh Trong thí nghiệm với Q = 3.4E - 5 và R = 10, đường chéo chính của ma trận L ghi nhận được có giá trị lớn, cụ thể là [580, 530, 570].

Hình 4.7 Kết quả mô phỏng

Khi Q nhỏ hơn R, độ dao động của điện áp sẽ bị loại bỏ, nhưng hệ thống vẫn không thể điều khiển được Điều này xảy ra do giá trị đường chéo chính giảm đáng kể Để đạt được khả năng điều khiển và loại bỏ dao động biên độ điện áp, cần thực hiện các biện pháp phù hợp.

Chúng tôi đã chọn ma trận L với các giá trị của đường chéo chính lớn là [200, 150, 190, 250, 300, 300, 200], dựa trên quy luật tìm được từ thí nghiệm và qua nhiều lần thử nghiệm Các giá trị còn lại trong ma trận L, không nằm trên đường chéo chính, tương ứng với trường hợp độ nhiễu.

Q = 1E-16 và R = 1E-5 (khi L ở giá trị này thì độ nhiễu lọc tốt)

Tiến hành điều khiển thực với ma trận L được chọn

Hình 4.9 Chương trình điều khiển LQG

Hình 4.10 Chương trình điều khiển LQG

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

Bộ lọc Kalman giúp cải thiện đáng kể việc lọc nhiễu điện áp điều khiển, mang lại sự ổn định cao hơn cho điện áp này Đồng thời, góc vị trí theta cũng trở nên ổn định hơn khi chỉ sử dụng phương pháp điều khiển LQR Sự dao động và biên độ dao động của cả điện áp và góc theta được cải thiện rõ rệt.

Do thời gian nghiên cứu có hạn, nhóm chỉ hoàn thành một phần hướng nghiên cứu hiện tại Nếu có thêm thời gian và cơ hội, nhóm mong muốn thử nghiệm nhiều phương pháp điều khiển hiện đại khác như điều khiển thích nghi, điều khiển bền vững và điều khiển trượt Mục tiêu là so sánh và đánh giá tính ổn định mà các phương pháp này mang lại.

Kết quả thực thi điều khiển mô hình, như được thể hiện trong Hình 4.11, cung cấp nhiều kinh nghiệm và kiến thức vững chắc về lý thuyết điều khiển hiện đại.

Ngày đăng: 20/04/2022, 23:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] ĐATADA – ĐHNL 30/10/2009 . http://www2.hcmuaf.edu.vn/data/dtdanh/MapleV6.pdf [5] HÁI NAM, CHƯƠNG 3. PHẦN MỀM LABVIEW.https://www.academia.edu/7985901/CH%C6%AF%C6%A0NG_3_PH%E1%BA%A6N_M%E1%BB%80M_LABVIEW Link
[6] ĐỖ TRUNG HIẾU, CYBERLABJSC. http://www.dientuvietnam.net/forums/forum/l%E1%BA%ADp-tr%C3%ACnh-v%C3%A0-m%C3%B4-ph%E1%BB%8Fng/matlab-labview-20sim/189969-labview-t%E1%BB%B1-h%E1%BB%8Dc-labview Link
[12] PGS.TS. TRẦN ANH DŨNG, THS. NGUYỄN TIẾN DŨNG. NGHIÊN CỨU XÂY DỰNG HỆ THỐNG MÔ HÌNH CON LẮC NGƯỢC.http://www.khcn.vimaru.edu.vn/sites/khcn.vimaru.edu.vn/files/nghien_cuu_xay_dung_he_thong_dieu_khien_mo_hinh_con_lac_nguoc.pdf Link
[1] NGUYỄN THỊ PHƯƠNG HÀ, HUỲNH THÁI HOÀNG. LÝ THUYẾT ĐIỀU KHIỂN TỰ ĐỘNG, NXB ĐHQG TP HCM, 2011 Khác
[2] PGS.TS HUỲNH THÁI HOÀNG. BÀI GIẢNG LÝ THUYẾT ĐIỀU KHIỂN NÂNG CAO. ĐẠI HỌC BÁCH KHOA TP HCM Khác
[3] TS. DƯƠNG MIÊN KA. BÀI GIẢNG KỸ THUẬT ROBOT. ĐẠI HỌC CÔNG NGHIỆP TP HCM Khác
[9] Rotary Double Inverted Pendulum - Laboratory Guide.pdf [10] Rotary Double Inverted Pendulum – Quick-Start-Guide.pdf [11] Rotaru Double Inverted Pendulum – User Manual.pdf Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Mô hình con lắc ngược đôi - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 1.1 Mô hình con lắc ngược đôi (Trang 14)
Bảng 1.1 Các bộ phận con lắc ngược đôi [11]Hình 1.2 Các bộ phận mô hình con lắc ngược đôi - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Bảng 1.1 Các bộ phận con lắc ngược đôi [11]Hình 1.2 Các bộ phận mô hình con lắc ngược đôi (Trang 15)
4c. Thiết bị thu thập dữ liệu: bảng điện tử loại NI PCI/PCIe với NIM và X. 5. Cáp RCA to RCA - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
4c. Thiết bị thu thập dữ liệu: bảng điện tử loại NI PCI/PCIe với NIM và X. 5. Cáp RCA to RCA (Trang 17)
Hình 1.6 Encoder [11] - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 1.6 Encoder [11] (Trang 19)
Bảng 1.3 Bảng kết nối [11] - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Bảng 1.3 Bảng kết nối [11] (Trang 20)
Hình 1.9 Bộ điều khiển LQG [2] - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 1.9 Bộ điều khiển LQG [2] (Trang 27)
Bảng 2.1 Bảng kiểu dữ liệu [4] - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Bảng 2.1 Bảng kiểu dữ liệu [4] (Trang 36)
Bảng 2.3 Bảng các hàm số thực [4] - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Bảng 2.3 Bảng các hàm số thực [4] (Trang 37)
Hình 2.9 Cửa sổ front panel - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 2.9 Cửa sổ front panel (Trang 42)
Hình 2.15 Các vòng lặp - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 2.15 Các vòng lặp (Trang 46)
CHƯƠNG 3: NGHIÊN CỨU MÔ HÌNH - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
3 NGHIÊN CỨU MÔ HÌNH (Trang 51)
Vòng điều khiển hồi tiếp trạng thái như hình: - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
ng điều khiển hồi tiếp trạng thái như hình: (Trang 54)
Hình 3.13 Quá trình điều khiển thực - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 3.13 Quá trình điều khiển thực (Trang 61)
Hình 3.12 Chọn thiết bị thu thập dữ liệu - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 3.12 Chọn thiết bị thu thập dữ liệu (Trang 61)
Hình 4.1 CD Correlated Gaussian Random Noise (One Vector) - Điều khiển mô hình con lắc ngược đôi bằng phương pháp LQG
Hình 4.1 CD Correlated Gaussian Random Noise (One Vector) (Trang 63)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w