Nội dung thực hiện: Đề tài nghiên cứu tập trung vào vấn đề điều khiển cân bằng cho hệ “Con lắc ngược quay kép” hay còn gọi là “Double Rotary Inverted Pendulum” sử dụng bộ điều khiển LQR.
TỔNG QUAN
Đặt vấn đề
RIP là một hệ thống kinh điển, phi tuyến đã được điều khiển ổn định trên mô phỏng và thực tế Đây là mô hình chuẩn dành cho sinh viên khảo sát giải thuật trong ngành điều khiển tự động Do ứng dụng rộng rãi của nó nên cấu trúc chuẩn này đã được công nghiệp hóa thông qua hãng Quanser để cung cấp cho các cơ sở đào tạo Ở nước ngoài, đã có nhiều nhóm tác giả thực hiện khảo sát thành công trên hệ thống này như bộ điều khiển PID [1], bộ điều khiển LQR [8], bộ điều khiển mạng Neuron [14], Bên cạnh các bộ điều khiển cổ điển và thông minh, các giải thuật lai cũng đã được phát triển như Fuzzy-LQR [13], Fuzzy-PD [16] Như vậy, RIP đã trở nên kinh điển và việc đặt ra vấn đề nâng cấp giải thuật cho các hệ phức tạp hơn là cần thiết Từ đó, mô hình DRIP được phát triển Hãng Quanser cũng đã chuẩn hóa mô hình trên cho các nghiên cứu bậc SIMO bậc cao hơn Ở Việt Nam, một nghiên cứu ổn định hệ DRIP trên mô phỏng đã được thực hiện thành công trên mô phỏng ở nghiên cứu [7] Tuy nhiên, tín hiệu điều khiển trong nghiên cứu đó lại là momen lực động cơ, hơi thiếu tính thực tế Do vậy, phát triển hệ DRIP được điều khiển bằng tín hiệu điện áp động cơ là cần thiết
Bộ điều khiển LQR là một phương pháp điều khiển tuyến tính được thiết kế để tối ưu hóa hiệu suất của hệ thống động lực tuyến tính Được phát triển trong lĩnh vực điều khiển tự động, LQR được sử dụng rộng rãi trong nhiều ứng dụng từ điều khiển robot đến điều khiển ô tô và các hệ thống tự động hóa khác LQR dựa trên một nguyên tắc cơ bản của lý thuyết điều khiển tuyến tính, nơi một hệ thống động lực tuyến tính được biểu diễn bằng các phương trình vi phân tuyến tính Bằng cách tối ưu hóa một hàm chi phí toàn cục, LQR giúp xây dựng một bộ điều khiển tuyến tính sao cho hiệu suất của hệ thống là tốt nhất theo một tiêu chí cụ thể Trước hết, để áp dụng LQR, chúng ta cần có một mô hình toán học của hệ thống Nó thường bao gồm các biến trạng thái, biến điều khiển, và các phương trình vi phân tuyến tính mô tả sự biến đổi của hệ thống theo thời gian
Trong tổng quan, LQR không chỉ là một phương pháp điều khiển mà còn là một công cụ mạnh mẽ Vì vậy, trong đề tài này, đối với hệ “Con lắc ngược quay kép”, sinh viên
2 nhận ra việc áp dụng bộ điều khiển LQR sẽ mang lại hiệu quả tốt hơn so với các bộ điều khiển khác ở việc điều khiển cân bằng hệ tại điểm làm việc.
Mục tiêu
Đề tài nghiên cứu có mục tiêu chính là điều khiển cân bằng hệ “Con lắc ngược quay kép” Kết quả của đề tài sẽ là bước đầu cho việc thực hiện nghiên cứu áp dụng các bộ điều khiển khác cho hệ Nhiệm vụ cần thực hiện để đạt được mục tiêu nghiên cứu:
Trình bày một cái nhìn tổng quan về hệ “Con lắc ngược quay kép” và bộ điều khiển LQR
Đưa ra khái niệm, mục tiêu chung của đề tài, tiêu chí đánh giá, các phương pháp thực hiện
Thực hiện đưa chương trình của bộ điều khiển LQR vào mô hình thực tế
Quan sát kết quả, so sánh và đánh giá với từng trường hợp đề ra Xem xét và so sánh độ hiệu quả của bộ điều khiển và rút ra kết luận.
Nội dung nghiên cứu
Các nội dung trong đề tài sẽ bao gồm
Chương 2: Cơ sở lý thuyết
Chương 3: Mô phỏng và khảo sát hệ trên phần mềm Matlab Simulink
Chương 4: Xây dựng mô hình thực tế
Chương 5: Kết luận và hướng phát triển
Giới hạn
Đề tài chỉ tập trung điều khiển cân bằng hệ tại vị trí link 1 hướng lên và link 2 hướng xuông Hệ thống chỉ đáp ứng khi góc lệch ban đầu của 2 thanh con lắc không quá
10 0 Chỉ điều khiển cân bằng được tại vị trí link 1 hướng lên link 2 hướng xuống, chưa điều khiển được cân bằng ở hai vị trí còn lại là 2 thanh cùng hướng lên và link 1 hướng xuống, link 2 hướng lên
CƠ SỞ LÝ THUYẾT
Mô hình hệ con lắc ngược quay kép
Biểu đồ của hệ con lắc ngược quay kép được hiển thị như Hình 2.1 [7]:
Hình 2.1 Hệ con lắc ngược quay kép
Mô hình hệ con lắc ngược quay kép bao gồm 3 thanh rắn và 1 động cơ Thanh thứ nhất được gọi là thanh cánh tay được gắn với trục động cơ theo phương nằm ngang, thanh thứ hai được gọi là thanh con lắc 1 được dựng theo phương thẳng đứng, thanh thứ
3 được gọi là thanh con lắc 2 nối tiếp với thanh con lắc 1
Bảng 2.1 Mô tả ký hiệu được sử dụng
Ký hiệu Mô tả Đơn vị
𝑚 1 Khối lượng thanh cánh tay kg
𝑚 2 Khối lượng thanh con lắc 1 kg
𝑚 3 Khối lượng thanh con lắc 2 kg
𝜃 1 Góc quay của thanh cánh tay rad
𝜃 2 Góc quay của thanh con lắc 1 rad
Phương trình phi tuyến hệ Con lắc ngược quay kép
Trong chương này, chúng ta sẽ khảo sát hệ DRIP từ việc từng bước lập hệ phương trình vi phân của hệ DRIP trước tiên, rồi sau đó tuyến tính hóa tại điểm làm việc là cả 2 thanh cùng hướng lên và link 1 hướng lên, link 2 hướng xuống Dựa vào hệ phương trình khi tuyến tính hóa, ta sẽ xét đến yếu tố điều khiển được và thiết kế bộ điều khiển LQR cho mô phỏng và thực nghiệm
Mô hình của hệ DRIP được biểu diễn từ phương trình Euler-Lagrange như sau [7]: 𝑑
𝑞(𝑡): vector vị trí góc 𝑞̇(𝑡): vector vận tốc góc
𝜃 3 Góc quay của thanh con lắc 2 rad
𝐿 1 Chiều dài của thanh cánh tay m
𝐿 2 Chiều dài của thanh con lắc 1 m
𝐿 3 Chiều dài của thanh con lắc 2 m
𝑙 1 Khoảng cách gốc tọa độ đến trọng tâm cánh tay m
𝑙 2 Khoảng cách gốc tọa độ đến trọng tâm con lắc 1 m
𝑙 3 Khoảng cách gốc tọa độ đến trọng tâm con lắc 2 m
𝐽 1 Momen quán tính của thanh cánh tay Kgm 2
𝐽 2 Momen quán tính của thanh con lắc 1 Kgm 2
𝐽 3 Momen quán tính của thanh con lắc 2 Kgm 2 g Gia tốc trọng trường m/s 2
𝐾 𝑡 Hằng số momen điều khiển N.M/A
𝐾 𝑣 Hằng số suất điện động V.s
𝑅 𝑚 Điện trở động cơ Ohm
𝐶 𝑚 Hệ số ma sát nhớt động cơ N.m.s e Điện áp điều khiển động cơ V
𝑊: Năng lượng tiêu hao Để có được phương trình Euler-Lagrange, tập hợp đạo hàm riêng của Lagrange, L được định nghĩa như sau:
𝑇 𝑡𝑜𝑡𝑎𝑙 : Tổng động năng của hệ
𝑉 𝑡𝑜𝑡𝑎𝑙 : Tổng thế năng của hệ
Tổng động năng của hệ là tổng động năng của thanh cánh tay và 2 thanh con lắc, được tính như sau:
𝑇 𝑡𝑜𝑡𝑎𝑙 = 𝑇 𝑐á𝑛ℎ 𝑡𝑎𝑦 + 𝑇 𝑐𝑜𝑛 𝑙ắ𝑐 1 + 𝑇 𝑐𝑜𝑛 𝑙ắ𝑐 2 (3) Để sử dụng phương trình Euler-Lagrange cho việc mô tả hệ DRIP, ma trận 𝑞 𝑖 được định nghĩa như sau:
Ma trận 𝑞̇ 𝑖 cũng được định nghĩa như sau:
Và cuối cùng là ma trận 𝑄 𝑖 :
Các hệ tọa độ để mô tả hệ thống là 𝜃 1 , 𝜃 2 , 𝜃 3 Do có 3 hệ tọa độ khác nhau nên phương trình Euler-Lagrange sẽ được áp dụng cho mỗi hệ tọa độ
Nên tổng động năng của thanh cánh tay là:
Tương tự cho thanh con lắc 1 và thanh con lắc 2, sau đó ta được tổng động năng của hệ như sau:
Tổng thế năng của hệ là tổng thế năng của thanh cánh tay và 2 thanh con lắc, được tính như sau:
Từ đó ta được tổng thế năng của hệ là:
Do bỏ qua ma sát, nên năng lượng tiêu hao xấp xỉ là 0 nên
Phương trình Lagrange có dạng:
Hệ phương trình động học của hệ thống là:
Quy đổi tín hiểu điều khiển từ momen lực về điện áp điều khiển động cơ Phương trình diễn tả momen lực theo điện áp là [7]:
Hệ phương trình động học dưới dạng vi phân của hệ thống là:
Bảng 2.2 Bảng tham số trung gian
Khảo sát hệ tại điểm làm việc cả 2 thanh con lắc cùng hướng lên
2.3.1 Tuyến tính hóa hệ tại điểm làm việc Để tuyến tính hóa hệ, ta bắt đầu từ phương trình động lực học trước khi tuyến tính được trình bày dưới dạng vi phân Khi thanh cánh tay ở vị trí gốc, hai thanh con lắc ở vị trí thẳng đứng hướng lên (𝜽 𝟏 = 𝟎 𝟎 , 𝜽 𝟐 = 𝟎 𝟎 , 𝜽 𝟑 = 𝟎 𝟎 ), ta có thể tuyến tính hóa bằng cách áp dụng xấp xỉ góc nhỏ: 𝒄𝒐𝒔𝜽 ≈ 𝟏, 𝒔𝒊𝒏𝜽 ≈ 𝟎
Từ đó, ta được hệ phương trình tuyến tính của hệ tại điểm làm việc:
2.3.2 Mô tả hệ thống dưới dạng phương trình trạng thái Để có thể mô tả hệ thống dưới dạng phương trình trạng thái, trước tiên ta cần đặt các biến trạng thái như sau:
Phương trình trạng thái của hệ được viết như sau:
Với ma trận A, B được tính như sau:
Ta có thông số mô hình như sau:
Bảng 2.3 Bảng thông số mô hình
Ký hiệu Giá trị Đơn vị
Tại điểm cân bằng khi 2 thanh con lắc đều hướng lên, ta có ma trận A là:
2.3.3 Khảo sát tính điều khiển được
Với giá trị A và B được tính ở trên, ma trận điều khiển được M được tính như sau:
Ta tính được Rank(M) = 6 nên hệ điều khiển được tại điểm làm việc cả 2 thanh cùng hướng lên
Khảo sát hệ tại điểm làm việc link 1 hướng lên, link 2 hướng xuống
2.4.1 Tuyến tính hóa hệ tại điểm làm việc
Tương tự như điểm làm việc trước đó, ta bắt đầu từ phương trình động lực học trước khi tuyến tính được trình bày dưới dạng vi phân Khi thanh cánh tay ở vị trí con lắc 1 ở vị trí hướng lên, con lắc 2 ở vị trí hướng xuống (𝜽 𝟏 = 𝟎 𝟎 , 𝜽 𝟐 = 𝟎 𝟎 , 𝜽 𝟑 𝟏𝟖𝟎 𝟎 ), ta có thể tuyến tính hóa bằng cách áp dụng xấp xỉ góc nhỏ: 𝒄𝒐𝒔𝜽 𝟏 ≈ 𝟎, 𝒄𝒐𝒔𝜽 𝟐 ≈
Từ đó ta được hệ phương trình tuyến tính của hệ:
2.4.2 Mô tả hệ thống dưới dạng phương trình trạng thái
Tương tự như tại điểm làm việc trước đó, ta áp dụng (29), (30), (31), (32), (33) và (34), tại điểm cân bằng là link 1 hướng lên, link 2 hướng xuống, ta được ma trận A là:
Ta được ma trận B là:
2.4.3 Khảo sát tính điều khiển được
Với giá trị A và B được tính ở trên, ma trận điều khiển được M được tính như sau:
Ta tính được Rank(M) = 6 nên hệ điều khiển được tại điểm làm việc thanh 1 hướng lên, thanh 2 hướng xuống.
Thiết kế bộ điều khiển LQR
Bộ điều khiển LQR là một trong những công cụ quan trọng trong lý thuyết điều khiển và ứng dụng trong nhiều lĩnh vực khác nhau như tự động hóa, robot, điều khiển hệ thống động cơ, và nhiều ứng dụng công nghiệp khác Nó được thiết kế để tối ưu hóa hiệu suất của hệ thống điều khiển tuyến tính trong môi trường có nhiễu Ta có được cấu trúc của bộ điều khiển LQR đối với hệ con lắc ngược quay kép như Hình 2.2 với đầu vào là 6 biến trạng thái của hệ thống từ link 0 đến link 2 và đầu ra là tín hiệu điện áp điều khiển cho động cơ
Hình 2.2 Cấu trúc bộ điều khiển LQR cho hệ DRIP
Bộ điều khiển LQR hoạt động dựa trên phương pháp tối ưu hóa phương trình bậc hai Mục tiêu của nó là tối thiểu hóa hàm mất mát tuyến tính được xác định bằng tổng trọng số của sự sai khác giữa trạng thái thực tế của hệ thống và trạng thái mong muốn, cộng với tổng trọng số của tín hiệu điều khiển Cụ thể, hàm mất mát được định nghĩa là
13 tổng của bình phương của trạng thái và điều khiển, được điều chỉnh thông qua các ma trận trọng số Để xây dựng bộ điều khiển LQR, ta cần phải thực hiện các bước sau:
1 Mô hình hóa hệ thống: Đầu tiên, hệ thống cần được mô hình hóa dưới dạng phương trình vi phân tuyến tính
2 Xác định hệ số trọng số: Xác định các ma trận trọng số Q và R để xác định mức độ ưu tiên giữa sự sai khác về trạng thái và điều khiển
3 Giải phương trình Riccati: Sử dụng phương trình Riccati để tính toán ma trận điều khiển tối ưu
4 Tính toán tín hiệu điều khiển: Tính toán tín hiệu điều khiển tối ưu từ ma trận điều khiển
Việc sử dụng bộ điều khiển LQR sẽ mang lại cho ta những ưu điểm như sau:
Ổn định: Bộ điều khiển LQR tạo ra các tín hiệu điều khiển ổn định dựa trên các mô hình toán học của hệ thống
Tối ưu hóa: Cung cấp tín hiệu điều khiển tối ưu dựa trên các ma trận trọng số được xác định trước, giúp cải thiện hiệu suất hệ thống
Dễ triển khai: Phương pháp này có thể triển khai dễ dàng trên các hệ thống tuyến tính và ít phức tạp
Từ những ưu điểm trên, ta có thể thấy được sự ứng dụng rộng rãi của bộ điều khiển LQR:
Tự Động Hóa: Điều khiển xe tự lái, robot công nghiệp, và các hệ thống tự động khác
Công Nghiệp: Điều khiển quá trình trong sản xuất, điều khiển cánh tay robot công nghiệp
Hàng Không và Vũ Trụ: Điều khiển máy bay và vệ tinh
Từ những điểm nêu trên, ta có thể đúc kết ra được bộ điều khiển LQR được áp dụng cho một hệ thống “điều khiển được” để ổn định hệ thống tại điểm làm việc cân bằng Đây là phương pháp có thể áp dụng cho các hệ có số ngõ vào-ra thay đổi, dễ dàng thiết kế và triển khai với sự hỗ trợ của phần mềm Matlab nên thường được áp dụng cho các
14 hệ thống quen thuộc Vì vậy ta sẽ sử dụng bộ điều khiển LQR để điều khiển hệ DRIP trong đồ án lần này
Khi điều khiển LQR, tín hiệu điều khiển của hệ được tính toán như sau [7]:
Dựa vào phương trình Ricatti, ta tìm được ma trận P:
Từ đó tìm được ma trận K:
Trong đó Q là ma trận trọng số tương ứng với các biến trạng thái của hệ thống, nó phản ánh mức độ quan trọng của việc giữ từng biến trạng thái gần với giá trị đặt Và R là ma trận trọng số tương ứng với tín hiệu điều khiển
Tuy nhiên, do bộ điều khiển LQR đã trở nên phổ biến trong giải thuật điều khiển cân bằng, Matlab đã hỗ trợ cho người dùng tính toán thông số cho bộ điều khiển K của LQR với công thức đơn giản hơn Đối với hệ liên tục thì ta sẽ sử dụng công thức sau [17]:
𝐾 = 𝑙𝑞𝑟(𝐴, 𝐵, 𝑄, 𝑅) (45) Đối với hệ rời rạc, ta sẽ sử dụng công thức sau [17]:
Trong đó, A, B là các ma trận mô tả hệ DRIP Q là ma trận trọng số tương ứng với các biến trạng thái của hệ thống, nó phản ánh mức độ quan trọng của việc giữ từng biến trạng thái gần với giá trị đặt R là ma trận trọng số tương ứng với tín hiệu điều khiển, và
T là thời gian lấy mẫu đối với hệ rời rạc.
MÔ PHỎNG VÀ KHẢO SÁT TRÊN MATLAB SIMULINK
Mô phỏng hệ con lắc ngược quay kép trên Matlab Simulink
Hệ DRIP sẽ có đầu vào nhận tín hiệu điều khiển là điện áp cung cấp cho động cơ và có 4 ngõ ra quan sát là góc lệch của thanh cánh tay, con lắc 1, con lắc 2 và tín hiệu điều khiển
Ta có sơ đồ khối mô phỏng hệ DRIP trên Matlab Simulink như Hình 3.1
Hình 3.1 Sơ đồ khối mô phỏng hệ DRIP và bộ điều khiển LQR
Trong phần mô phỏng này, ta sẽ khảo sát hệ DRIP ở hai điểm làm việc là cả 2 thanh cùng hướng lên và link 1 hướng lên, link 2 hướng xuống Trong mỗi điểm làm việc ta sẽ khảo sát hệ bằng cách từ ma trận đơn vị, ta tăng từng thành 𝑄 1 , 𝑄 3 , 𝑄 5 lên 10 và cuối cùng là tăng R lên 10 để xem đáp ứng của hệ qua mỗi lần thay đổi thành phần điều khiển của các ma trận Q và R
Khảo sát bộ điều khiển LQR khi cả 2 thanh cùng hướng lên
3.2.1 Ma trận điều khiển Q và R là ma trận đơn vị
Vì để chon một bộ thông số chuẩn để bắt đầu khảo sát hệ nên ta chọn ma trận Q là ma trận đơn vị như sau:
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈1 1.1892 −60.212 −2.0439 1.0899 0.1437⌉ (49) Với các thông số ban đầu là:
Ta được kết quả mô phỏng như Hình 3.2
Hình 3.2 Kết quả mô phỏng trường hợp 1
17 Các biểu đồ từ trên xuống dưới trong Hình 3.2, lần lượt là góc của thanh cánh tay, góc của con lắc 1, góc của con lắc 2 và tín hiệu điện áp điều khiển động cơ Ta thấy được thanh cánh tay có biên độ dao động lên tới 32 0 , còn 2 thanh con lắc sẽ có biên độ dao động 0.6 0 và mất 10 giây để trở về vị trí cân bằng là cả 2 thanh cùng hướng lên
3.2.2 Tăng thành phần 𝑸 𝟏 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 1 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈3.1623 2.1623 −60.212 −2.0439 1.0899 0.1437⌉ (53) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.3
Hình 3.3 Kết quả mô phỏng trường hợp 2
18 Vẫn như Hình 3.2, biểu đồ đầu tiên thể hiện góc của thanh cánh tay, tiếp theo lần lượt là góc của con lắc 1, con lắc 2 và tín hiệu điện áp điều khiển động cơ Ta thấy được so với bộ điều khiển trước đó thì biên độ dao động của thanh cánh tay giảm từ 32 0 xuống còn 20 0 khi tăng thành phần điều khiển 𝑄 1 , 2 thanh con lắc vẫn giữ nguyên biên độ dao động là 0.6 0 và cũng sẽ mất 10 giây để hệ cân bằng
3.2.3 Tăng thành phần 𝑸 𝟑 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 3 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈1 1.1892 −71.3217 −2.1432 1.0899 0.1437⌉ (56) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.4
Hình 3.4 Kết quả mô phỏng trường hợp 3
19 Sắp xếp của 4 biểu đồ cũng tương tự như 2 trường hợp trước, ta nhận thấy khi không tăng thành phần điều khiển 𝑄 1 , biên độ dao động của thanh cánh tay sẽ tăng lên 32 0 rồi giảm xuống về 0, còn thanh con lắc 1 và thanh con lắc 2 vẫn giữ nguyên biên độ dao động là 0.6 0 , và vẫn mất 10 giây để hệ cân bằng Như vậy, mặc dù tăng thành phần điều khiển 𝑄 3 , song thanh con lắc 1 vẫn không có thay đổi gì nhiều so với khi chưa tăng thành phần điều khiển 𝑄 3
3.2.4 Tăng thành phần 𝑸 𝟓 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 5 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈1 1.1892 −60.212 −2.0439 1.021 0.1502⌉ (59) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.5
Hình 3.5 Kết quả mô phỏng trường hợp 4
20 Các biểu đồ vẫn lần lượt là góc của thanh cánh tay, góc của con lắc 1, con lắc 2 là tín hiệu điện áp điều khiển Như trường hợp trước, khi không tăng thành phần điều khiển
𝑄 1 , biên độ dao động của thanh cánh tay sẽ là 32 0 rồi giảm xuống, biên độ dao động của 2 thanh con lắc vẫn sẽ là là 0.6 0 , và vẫn mất 10 giây để hệ cân bằng Tương tự như khi ta tăng thành phần điều khiển 𝑄 3 , thì khi tăng thành phần điều khiển 𝑄 5 , thanh con lắc 2 vẫn không thay đổi gì nhiều so với khi chưa tăng
3.2.5 Giữ nguyên ma trận Q và tăng ma trận R
Ta giữ nguyên ma trận Q là ma trận đơn vị và tăng ma trận R lên 10 để khảo sát hệ khi có sự thay đổi về ma trận điều khiển R
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈0.3162 0.8516 −52.718 −1.5681 1.0816 0.1321⌉ (62) Với các thông số ban đầu theo (50) Ta được kết quả mô phỏng như Hình 3.6
Hình 3.6 Kết quả mô phỏng trường hợp 5
21 Khi ta tăng ma trận R, biên độ dao động thanh cánh tay tăng lên đến 60 0 rồi mới từ từ quay về 0, góc của 2 thanh con lắc vẫn như các trường hợp trước, có biên độ dao động là 0.6 0 và mất 10 giây để hệ về vị trí cân bằng Như vậy khi tăng ma trận R, vẫn chưa ảnh hưởng gì nhiều đến góc của 2 thanh con lắc nhưng ảnh hưởng đến góc của thanh cánh tay, khiến góc của thanh cánh tay có biên độ dao động lớn hơn và thời gian đáp ứng lâu hơn.
Khảo sát bộ điều khiển LQR khi link 1 hướng lên link 2 hướng xuống
3.3.1 Ma trận điều khiển Q và R là ma trận đơn vị
Vì cũng để chọn một bộ thông số ban đầu là chuẩn để khảo sát hệ, nên ban đầu ta đều chọn ma trận Q và R sẽ đều là ma trận đơn vị
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈−1 −1.0831 −62.321 −1.2102 1.0921 0.1021⌉ (65) Với các thông số ban đầu là
Do lần này là link 2 hướng xuống nên có sự khác biệt về thông số ban đầu đối với trường hợp cả 2 thanh cùng hướng lên ở thông số của góc của thanh con lắc 2 là 𝑝𝑖 + 0.01, còn lại vẫn giữ nguyên như khi 2 thanh cùng hướng lên
Ta được kết quả mô phỏng như Hình 3.7
Hình 3.7 Kết quả mô phỏng trường hợp 6
Các biểu đồ lần lượt là góc của thanh cánh tay, góc của con lắc 1, con lắc 2 và cuối cùng là tín hiệu điện áp điều khiển Thông qua biểu đồ của thanh cánh tay, ta thấy có biên độ dao động lên đến 8, con lắc 1 thì có biên đô dao động là 29 0 rồi từ từ quay về vị trí cân bằng là 0 0 trong thời gian 40 giây Con lắc 2 sẽ dao động lên 210 0 rồi từ quay về để dao động quanh vị trí cân bằng là 180 0 cũng trong thời gian 40 giây
3.3.2 Tăng thành phần 𝑸 𝟏 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 1 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈−3.1623 −2.1464 −62.321 −1.2102 1.0921 0.1021⌉ (69) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.8
Hình 3.8 Kết quả mô phỏng trường hợp 7
Ta thấy được biên độ dao động của thanh cánh tay đã giảm xuống còn 2.2 0 , biên độ dao động của thanh con lắc 1 giảm xuống 26 0 và mất 25 giây để trở về vị trí cân bằng là 0 0 , thanh con lắc 2 có biên độ dao động còn 208 0 , và cũng, mất 25 giây để trở về dao động quanh vị trí cân bằng là 180 0 Ta thấy được khi tăng thành phần 𝑄 1 , thì thanh cánh tay sẽ mau chóng ổn định hơn và cũng sẽ dẫn đến 2 thanh con lắc cũng sẽ nhanh ổn định hơn
3.3.3 Tăng thành phần 𝑸 𝟑 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 3 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈−1 −1.0831 −69.673 −1.2105 1.0921 0.1021⌉ (72) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.9
Hình 3.9 Kết quả mô phỏng trường hợp 8
Ta thấy biểu đồ của 3 trường hợp này tương tự như của trường hợp ma trận Q và R là ma trận đơn vị, do tăng lên quá ít nên dao động của bộ điều khiển trường hợp này vẫn không khác gì so với bộ điều khiển của trường hợp ma trận Q và R là ma trận đơn vị
3.3.4 Tăng thành phần 𝑸 𝟓 và giữ nguyên các thành phần khác
Ta tăng thành phần điều khiển 𝑄 5 lên 10 trong ma trận Q và giữ nguyên các thành phần còn lại để khảo sát hệ khi có sự thay đổi của ma trận điều khiển
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈−1 −1.0831 −62.321 −1.2105 1.0934 0.1033⌉ (75) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.10
Hình 3.10 Kết quả mô phỏng trường hợp 9
Tương tự như trường hợp chỉ tăng thành phần điều khiển 𝑄 3 , đáp ứng của hệ vẫn không khác gì so với trường hợp ma trận Q và R là ma trận đơn vị Con lắc 1 vẫn có biên độ dao động là 29 0 và mất 40 giây để quay trở về vị trí cân bằng là 0 0 , con lắc 2 có biên độ dao động là 210 0 và cũng mất 40 giây để quay về dao động quanh vị trí cân bằng là 180 0
3.3.5 Giữ nguyên ma trận Q và tăng ma trận R
Ta giữ nguyên ma trận Q là ma trận đơn vị và tăng ma trận R lên 10 để khảo sát hệ khi có sự thay đổi về ma trận điều khiển R
Sử dụng Matlab với công thức (45) ta có được bộ điều khiển K như sau:
K = ⌈−0.3162 −0.6931 −56.1037 −1.2072 1.0904 0.1013⌉ (78) Với các thông số ban đầu theo (66) Ta được kết quả mô phỏng như Hình 3.11
Hình 3.11 Kết quả mô phỏng trường hợp 10
Ta nhận thấy hệ mất thời gian lâu hơn để quay về vị trí cân bằng, con lắc 1 biên độ dao động vẫn là 29 0 nhưng mất 60 giây để quay trở về vị trí cân bằng là 0 0 , con lắc 2 có biên độ dao động là 210 0 và cũng mất 60 giây để quay về dao động quanh vị trí cân bằng là 180 0
Từ việc khảo sát hệ DRIP ở cả hai trường hợp là cả hai thanh cùng hướng lên và link
1 hướng lên, link 2 hướng xuống, ta nhận thấy được khi tăng các thành phần điều khiển tương ứng, thì thời gian đáp ứng và biên độ giao động của từng thanh cũng sẽ giảm đi
27 đáng kể, nhưng do có liên quan mật thiết đến nhau, nên khi tăng 𝑄 3 , 𝑄 5 lên 10 thì vẫn chưa đủ lớn để có thể khiến hệ thay đổi nhiều so với khi là ma trận đơn vị Cuối cùng ta nhận thấy được R biểu thị cho mức độ sử dụng tín hiệu điều khiển, khi càng tăng R, biên độ dao động và thời gian đáp ứng của hệ DRIP sẽ lâu hơn Vì vậy, để có thể khiến hệ xác lập nhanh chóng, ta nên tăng các thành phần điều khiển trong ma trận Q và giảm R.
XÂY DỰNG MÔ HÌNH THỰC TẾ VÀ KHẢO SÁT
Mục tiêu thiết kế
Từ mục đích của bài toán điều khiển và phân tích đối tượng thực tế, ta đi đến mục tiêu thiết kế một hệ thống điều khiển nhúng có thể đạt được các yêu cầu sau:
Khả năng tính toán nhanh đảm bảo tính thời gian thực khi thực hiện các bộ điều khiển đã cài đặt
Đầy đủ các thiết bị ngoại vi để đo được các biến quá trình là các giá trị góc
Có khả năng giao tiếp máy tính để thu thập số liệu phục vụ khảo sát đặc tính đối tượng
Mô hình có tính thẩm mỹ, hoạt động an toàn, ổn định
Phương pháp thực hiện
Hình 4.1 Sơ đồ khối điều khiển hệ con lắc
PC: Có chức năng giao tiếp và giám sát hệ thông qua các số đo nhận được từ vi điều khiển
Vi điều khiển: Nhận tín hiệu đưa về từ khối hồi tiếp, tính toán tín hiệu điều khiển và truyền thông giao tiếp với máy tính
Động cơ: Là thiết bị chấp hành, tạo chuyển động cho con lắc
Encoder: Đo vị trí góc của thanh cánh tay và 2 thanh con lắc
Motor driver: Xuất mức điện áp tương ứng với tín hiệu điều khiển để đưa vào động cơ
Dựa vào mô hình tổng quát của hệ DRIP, ta thiết kế hệ DRIP thực tế trên phần mềm Solidworks như Hình 4.2
Hình 4.2 Thiết kế hệ DRIP trên SOLIDWORKS
Ta lựa chọn vi điều khiển Arduino Mega 2560 có lõi chip là ATmega2560 Với các thông số hoàn toàn có thể thỏa mãn yêu cầu của bài toán thiết kế:
54 chân Digital (15 chân có thể được sử dụng cho PWM)
Arduino MEGA 2560 có nhiều tính năng nổi bật sau:
Nhiều chân I/O: Với 54 chân digital và 16 chân analog, MEGA 2560 có khả năng kết nối với nhiều cảm biến, module và các thiết bị ngoại vi khác nhau, lý tưởng cho các dự án phức tạp
Bộ nhớ lớn: Với 256 KB bộ nhớ flash và 8 KB SRAM, MEGA 2560 có thể lưu trữ và thực thi các chương trình lớn và phức tạp hơn so với nhiều board Arduino khác
Khả năng mở rộng: Hỗ trợ nhiều shield Arduino, giúp dễ dàng mở rộng chức năng của board mà không cần phải thiết kế phần cứng từ đầu
Giao tiếp: Hỗ trợ nhiều giao thức giao tiếp như UART, SPI và I2C, giúp dễ dàng kết nối với các module khác nhau như module GSM, module Wi-Fi, và các thiết bị ngoại vi khác
Arduino MEGA 2560 được lập trình bằng Arduino IDE, ngôn ngữ lập trình tương tự C/C++ Arduino IDE hỗ trợ nhiều thư viện, giúp việc phát triển các ứng dụng phức tạp trở nên dễ dàng hơn Ngoài ra, cộng đồng Arduino rất lớn mạnh, cung cấp nhiều tài liệu hướng dẫn, dự án mẫu và hỗ trợ từ cộng đồng Vì vậy, Arduino MEGA 2560 sẽ được chọn trong việc xây dựng mô hình thực tế hệ DRIP
Hình 4.3 Sơ đồ chân Arduino Mega 2560
BTS7960 là một module điều khiển động cơ mạnh mẽ, thường được sử dụng trong các dự án điện tử và robot để điều khiển động cơ DC có công suất lớn Module này sử dụng IC BTS7960 của Infineon Technologies, nổi bật với khả năng xử lý dòng điện cao và tích hợp nhiều tính năng bảo vệ với các thông số hoạt động như sau:
Điện áp hoạt động: 5.5V đến 27V
Dòng điện liên tục: Lên đến 43A
Điện áp điều khiển: 3.3V đến 5V (tương thích với Arduino, Raspberry Pi)
Tần số PWM: Lên đến 25 kHz
Bảo vệ quá nhiệt: BTS7960 bảo vệ chống quá nhiệt bằng cảm biến nhiệt tích hợp bên trong Đầu ra sẽ bị ngắt khi có hiện tượng quá nhiệt
Tự động shutdown khi điện áp thấp: để tránh điều khiển động cơ ở mức điện áp thấp thiết bị sẽ tự shutdown Nếu điện áp < 5.5VDC, driver sẽ tự ngắt điện và sẽ mở lại sau khi điện áp > 5.5VDC
Kích thước: 40x50x12mm Để kết nối module này với Vi điều khiển, ta cần biết các chân đấu nối của module như sau:
VCC: Điện áp cấp cho module
RPWM và LPWM: Tín hiệu điều khiển PWM để điều khiển chiều quay của động cơ
R_EN và L_EN: Chân kích hoạt cho điều khiển động cơ
Motor A và Motor B: Đầu ra kết nối với động cơ
BTS7960 là một module điều khiển động cơ mạnh mẽ và linh hoạt với sơ đồ chân đơn giản, hiệu quả nên từ trước đến nay BTS7960 rất thích hợp cho nhiều ứng dụng khác nhau từ các dự án nhỏ đến các hệ thống công nghiệp lớn Với khả năng xử lý dòng điện cao và các tính năng bảo vệ tích hợp, vì vậy BTS7960 là một lựa chọn an toàn và hiệu quả cho đồ án lần này
Động cơ Động cơ RS775SH là một loại động cơ DC (Direct Current) mạnh mẽ, thường được sử dụng trong các ứng dụng yêu cầu momen xoắn cao và hiệu suất ổn định Được biết đến với khả năng hoạt động ở điện áp 12V, động cơ này rất phổ biến trong các dự án DIY, công nghiệp và robot
Các thông số kỹ thuật của động cơ như sau:
Điện áp hoạt động: 12V DC
Tốc độ không tải: Thường từ 6000 đến 9000 vòng/phút (rpm) tùy thuộc vào model cụ thể
Dòng tải: Khoảng 5-20A (tùy thuộc vào tải)
Mô-men xoắn: Cao, có thể đạt đến 1.5 Nm hoặc hơn
Kích thước: Đường kính khoảng 42mm, chiều dài thân động cơ khoảng 66mm
Với thông số kỹ thuật trên, động cơ RS775 có thể phù hợp với module BTS7960 được giới thiệu ở trên để dễ dàng kiểm soát tốc độ và hướng quay của động cơ
Encoder LDP3806 600 xung là một loại encoder quang học có độ phân giải 600 xung trên mỗi vòng quay (PPR - Pulses Per Revolution) Đây là một thiết bị quan trọng trong việc đo lường chính xác vị trí và tốc độ quay của trục động cơ hoặc các bộ phận chuyển động khác trong các hệ thống cơ điện tử
Các thông số kỹ thuật của encoder như sau:
Điện áp hoạt động: DC5-24V
Tốc độ cơ khí tối đa 6000 vòng / phút
Tần số đáp ứng điện 20K / giây
LPD3806-600BM có 2 pha AB sử dụng điện áp từ 5-24V với ngõ ra NPN cực thu để hở Được cấu tạo kích thước nhỏ, trọng lượng nhẹ, cài đặt dễ dàng, lợi thế chi phí Được ứng dụng trong nhiều lĩnh vực khác nhau như: đo tốc độ quay của vật thể, góc, gia tốc vì vậy rất phù hợp để đo góc và tốc độ của các link trong mô hình thực tế của hệ DRIP
Ta sử dụng nguồn tổ ong có các thông số:
Điện áp đầu vào: 220AC – 50Hz
Điện áp đầu ra: 12V DC
Kích thước: 199mm x 110mm x 50mm
Ta sử dụng nguồn tổ ông để tạo nguồn 12VDC từ nguồn 220VAC để cung cấp điện áp cho động cơ và các module cần sử dụng
Mạch giảm áp LM2596 là một loại mạch chuyển đổi DC-DC được thiết kế để giảm điện áp đầu vào xuống một mức điện áp đầu ra thấp hơn với hiệu suất cao Mạch này sử dụng IC LM2596, một bộ chuyển đổi giảm áp (buck converter) có khả năng cung cấp dòng điện đầu ra lên đến 3A
Các thông số kỹ thuật của mạch như sau:
Điện áp đầu vào: 3-30VDC
Điện áp đầu ra: có thể điều chỉnh từ 1.5-30VDC
Kết nối cơ bản của mạch sẽ như sau:
Vin: Kết nối với điện áp đầu vào (4.5V đến 40VDC)
GND: Kết nối với ground của nguồn điện và tải
Vout: Kết nối với tải sử dụng (điện áp đầu ra từ 1.23V đến 37VDC)
Phần cơ khí: Với các thiết bị gồm, thanh cánh tay, thanh con lắc 1, thanh con lắc
2, các encoder đo thông số của các link tương ứng và động cơ điều khiển cánh tay được thể hiện thông qua Hình 4.10
Hình 4.10 Phần cứng của mô hình thực tế
Phần điện: Sẽ gồm các module đã giới thiệu trước đó, được đấu nối nhằm mục đích điều khiển cân bằng hệ DRIP
Phần cơ khí của mô hình có kích thước 15x15x40 cm
Phần điện của mô hình có kích thước 25x15x12 cm
Với phần điện ta xem như là phần đầu não để điều khiển, còn phần cơ khí có thể được xe là cơ cấu chấp hành
Hình 4.11 Sơ đồ nối dây
Dựa vào thông số, đặc tính và datasheet của các linh kiện đã được trình bày trước đó, ta thiết kế sơ đồ đấu dây cho phần điện của hệ DRIP Arduino MEGA2560 sẽ đóng vai trò là đầu não để xuất tín hiệu điều khiển động cơ, cùng với đó là giao tiếp với máy tính thông qua UART Chiều quay và tốc độ quay của động cơ sẽ được tính toán trong Aruino với bộ điều khiển LQR
Hình 4.12 Mô hình thực tế phần điện
Trong Hình 4.12, ta sẽ có các phần như sau:
Phần điện của mô hình sẽ sử dụng những linh kiện đã giới thiệu trước đó Trong đó nguồn 24VDC sẽ được lấy bằng cách sử dụng nguồn tổ ong Các chân tín hiệu của encoder sẽ nối vào các chân ngắt của Arduino MEGA 2560 là chân 2,3,18,19,20 và 21 Module BTS7960 sẽ đóng vai trò nhận xung PWM từ vi điều khiển và sau đó điều khiển chiều quay và tốc độ quay của động cơ
Khảo sát mô hình
Ta sử dụng ngôn ngữ C# để xây dựng giao diện điều khiển như Hình 4.13 để có thể quan sát dữ liệu các góc quay và tín hiệu điều khiển của hệ DRIP
Hình 4.13 Giao diện điều khiển
1: Dùng để chọn lựa link cần hiển thị thông số lên biểu đồ
2: Hiển thị các thông số gồm góc và tốc độ góc của thanh cánh tay, thanh con lắc
1, thanh con lắc 2 và điện áp điều khiển động cơ
3: Dùng để kết nối với PC
4: Hiển thị thông số của bộ điều khiển LQR
Ta khảo sát mô hình tại vị trí cân bằng link 1 hướng lên và link 2 hướng xuống tương ứng với con lắc 1 cân bằng tại vị trí 0 0 và con lắc 2 cân bằng tại vị trí 180 0 Từ đó ta sẽ hiểu hơn về hoạt động của hệ tại điểm làm việc và đáp ứng của hệ khi có dao động
Sử dụng Matlab Simulink, ta thử các trường hợp của ma trận Q và R để tìm ra thông số bộ điều khiển K có thể điều khiện hệ DRIP một cách tối ưu Sau khi thử nhiều lần, em đã chọn thông số ma trận Q như sau:
Sử dụng (46), ta tìm được bộ điều khiển K như sau:
Sử dụng bộ điều khiển vừa tính ra được, ta có kết quả mô phỏng như Hình 4.14
Hình 4.14 Kết quả mô phỏng bộ điều khiển
Ta thấy được thông qua kết quả mô phỏng, hệ đáp ứng khá nhanh chóng, trong 4 giây đầu, hệ đã cân bằng về vị trí xác lập, với thanh cánh tay sẽ cân bằng tại vị trí lệch
6 0 , thanh con lắc 1 và thanh con lắc 2 sẽ lệch 0.2 0 so với vị trí cân bằng và mất 4 giây để trở về vị trí cân bằng Có thể nói thông số bộ điều khiển này khá tối ưu cho hệ DRIP thức tế
Ta bắt đầu áp dụng thông số bộ điều khiển vào mô hình thực tế nhưng thấy được hệ không hoạt động ổn định thông qua Hình 4.15 và Hình 4.16
Hình 4.15 Đáp ứng của link 1 với bộ điều khiển ban đầu
1 Thời gian thanh con lắc 1 cân bằng ở vị trí cân bằng 0 0
2 Thời gian thanh con lắc 1 mất ổn định và rơi xuống
Ta thấy được bộ điều khiển không thể duy trì lâu thanh con lắc 1 ở vị trí cân bằng là
0 0 Có thể do thông số bộ điều khiển chưa đủ để khiến hệ đáp ứng hoặc do phần thiết kế cơ khi còn sai sót ở khâu nào đó Ta cũng xem xét đến đáp ứng của thanh con lắc 2 thông qua Hình 4.16
Hình 4.16 Đáp ứng của link 2 với bộ điều khiển ban đầu
1 Thời gian thanh con lắc 2 cân bằng ở vị trí cân bằng 180 0
2 Thời gian thanh con lắc 2 mất ổn định và rơi xuống
Ta thấy được với thông số bộ điều khiển ban đầu, hệ chỉ có thể duy trì trong khoảng 2-3 giây, chứng tỏ bộ điểu khiển này chưa tối ưu, vì vậy ta bắt đầu hiệu chỉnh bộ điều khiển với thứ tự ưu tiên là để thanh link 1 có thể cân bằng lâu dài rồi đến thanh cánh tay và cuối cùng là thanh link 2 Để có thể hiệu chỉnh, ta sẽ tăng dần các thông số trong bộ điều khiển K tương ứng với các link, ví dụ như muốn thanh link 1 có thể cân bằng, ta sẽ tăng dần thành phần
K 3 và K 4 trong bộ điều khiển K, còn thanh cánh tay sẽ tương ứng với K 1 và K 2 , cuối cùng là K 5 và K 6 sẽ ứng với thanh link 2
Cuối cùng, ta thu được bộ điều khiển có thể khiến hệ cân bằng với thông số như sau:
Ta thu được kết quả thực tế của hệ DRIP thông qua các hình Hình 4.17, Hình 4.18, Hình 4.19, Hình 4.20 sẽ lần lượt là đáp ứng của thanh cánh tay, đáp ứng của thanh con lắc 1, đáp ứng của thanh con lắc 2 và cuối cùng là tín hiệu điện áp điều khiển
Hình 4.17 Biểu đồ dao động của thanh cánh tay với bộ điều khiển LQR
Thông qua Hình 4.17, ta thấy được thanh cánh tay sẽ dao động quanh vi trí 0 0 với biên độ từ −7 0 đến 31.2 0 với đường thể hiện là màu đỏ
Ta thấy được khi hệ cân bằng, thanh cánh tay sẽ dao động quanh vị trí 0 0 chứ không đứng yên ở vị trí 0 0 Một phần là do để duy trì cân bằng của 2 thanh cánh tay, 1 phần là do thông số của bộ điều khiển chưa tối ưu để làm giảm biên độ dao động hoặc để thanh cánh tay cân bằng ở vị trí 0 0
Tiếp theo ta sẽ quan sát đáp ứng của thanh link 1 thông qua Hình 4.18
Hình 4.18 Biểu đồ dao động của con lắc 1 với bộ điều khiển LQR
Với Hình 4.18 đường màu đỏ cũng thể hiện góc của con lắc 1 Ta thấy được con lắc
1 sẽ luôn được giữ cân bằng quanh vị trí 0 0
Ta thấy được mặc dù thanh cánh tay sẽ dao động nhưng thanh con lắc 1 vẫn sẽ được duy trì rất gần với vị trí 0 0 với biện độ khoảng từ 0.3 0 đến 0.5 0 Vì vậy dao động của thanh cánh tay cũng sẽ 1 phần nhằm duy trì cân bằng của 2 thanh con lắc
Hình 4.19 Biểu đồ dao động của con lắc 2 với bộ điều khiển LQR
Với Hình 4.19, đường màu đỏ cũng thể hiện góc của con lắc 2 và cũng sẽ dao động chứ không đứng yên nhưng ta thấy được con lắc 2 sẽ luôn được giữ cân bằng quanh vị trí 180 0
Ta thấy được sự khác biệt giữa hệ RIP và DRIP là hệ DRIP sẽ vừa duy trì thanh con lắc 1 ở vị trí 0 0 , vừa duy trì thanh con lắc 2 ở vị trí 180 0 Nhìn vào đường màu đỏ, ta thấy được bộ điều khiển có thể duy trì khá ổn định thanh con lắc 2 xung quanh vị trí
Hình 4.20 Điện áp điều khiển động cơ
Ta thấy điện áp điều khiển động cơ thông qua Hình 4.20 Khi hệ đã cân bằng, điện áp điều khiển cũng sẽ trở về 0 Và khi có dao động ở các link, Vi điều khiển sẽ tính toán mức điện áp cần thiết để điều khiển hệ quay về vị trí cân bằng, vì vậy, để đánh giá 1 bộ điều khiển có tối ưu hay không, không chỉ nhìn vào đáp ứng của các link mà còn nhìn vào việc thay đổi của tín hiệu điều khiển khi hệ có sự dao động làm hệ ra xa khỏi vị trí cân bằng
Hình 4.21 Hệ hoạt động khi ở trạng thái cân bằng
Thông qua Hình 4.21 thì vị trí cân bằng của hệ sẽ như ta muốn ở mục đích ban đầu là thanh con lắc 1 hướng lên và thanh con lắc 2 hướng xuống Thanh con lắc 1 duy trì ở vị trí 0 0 thanh con lắc 2 duy trì ở vị trí 180 0
Ta bắt đầu so sánh sự dao động quanh vị trí cân bằng của link 2 trong 2 trường hợp: khi không có bộ điều khiển (Hình 4.22) và khi có bộ điều khiển (Hình 4.23) để thấy được tầm quan trọng của bộ điều khiển
Hình 4.22 Góc của link 2 khi không có bộ điều khiển LQR