Kết quả thực nghiệm cho thấy các phương pháp điều khiển trên đều hoàn toàn có thể điều khiển cân bằng hệ con lắc ngược ổn định tại vị trí cân bằng.. Vì thế, hệ thống trên là đối tượng th
Trang 1BÀI TẬP LỚN : KỸ THUẬT ĐIỀU KHIÊN ROBOT
ĐỀ TÀI : MÔ PHỎNG MATLAB BỘ ĐIỀU KHIỂN PID
CON LẮC NGƯỢC
Giảng viên hướng dẫn: PGS.TS Nguyễn Hùng
Lớp : 21DCTA1
Tp.HCM, ngày 31 tháng 12 năm 2024
Trang 2MỤC LỤC
Nội dung
MỤC LỤC 1
DANH MỤC HÌNH 2
TÓM TẮT 3
CHƯƠNG 1 : GIỚI THIỆU 4
CHƯƠNG 2 : MÔ PHỎNG CON LẮC NGƯỢC 6
2.1 Bộ điều khiển con lắc ngược 6
2.2 Xây dựng mô hình con lắc ngược 8
2.3 Kết quả mô phỏng 9
CHƯƠNG 3 : KẾT LUẬN 13
TÀI LIỆU THAM KHẢO 14
Trang 3DANH MỤC HÌNH
Hình 2.1: Sơ đồ của bộ điều khiển PID 6
Hình 2.2 : Sơ đồ của bộ điều khiển PID cho hệ con lắc ngược 7
Hình 2.3 : Mô hình tính toán hệ thống con lắc ngược quay 8
Hình 2.4 : Sơ đồ điều khiển PID hai biến tĩnh điều khiển hệ con lắc ngược quay 9
Hình 2.5 : Đáp ứng vị trí của bộ điều khiển PID cho hệ con lắc ngược 10
Hình 2.6 : sơ đồ simulink mô phỏng 10
Hình 2.6 : Mô phỏng simulink với chương trình LQR 12
Trang 4TÓM TẮT
Con lắc ngược quay là hệ thống phi tuyến và là mô hình phổ biến trong các ứng dụng kiểm chứng kỹ thuật điều khiển Khi áp dụng kỹ thuật PID cho hệ con lắc ngược quay, các thông số Kp, Ki, Kd được chọn lựa bằng phương pháp thực nghiệm Tuy nhiên, bộ thông số đó có thể làm hệ thống ổn định nhưng còn dao động lớn Bài báo này ứng dụng mạng thần kinh nhân tạo để chỉnh định trực tuyến thông số PID (PID-neuron) Các thông số trên được thay đổi dần để đảm bảo hệ thống ổn định và ít dao động Mô phỏng được thực hiện trong mô trường Matlab/Simulink cho thấy thông số Kp, Ki, Kd đã thay đổi trực tuyến dần theo hướng làm hệ thống ổn định Thuật toán điều khiển được xây dựng trên môi trường Matlab/Simulink thông qua card thu thập dữ liệu DSP-F2812 Kết quả thực nghiệm cho thấy bộ PID-neuron cho dao động của góc con lắc nhỏ hơn khi
sử dụng bộ PID tĩnh.Trong công trình này, tác giả đã xây dựng mô hình con lắc ngược đơn trên phần mềm Matlab và thiết kế thành công mô hình thực tế hệ con lắc ngược Đây là hệ thống phi tuyến điển hình giúp ích rất nhiều trong quá trình nghiên cứu, giảng dạy tại các trường đại học trên thế giới Tác giả đã sử dụng nh iều giải thuật điều khiển khác nhau để kiểm chứng trên mô hình con lắc ngược như : PID, LQR, tối ưu hóa ma trận LQR sử dụng giải thuật di truyền GA Hầu hết các phương pháp đều có khả năng điều khiển ổn định con lắc ngược xung quanh vị trí cân bằng.
Kết quả thực nghiệm đạt được: tác giả đã xây dựng thành công mô hình thực nghiệm hệ con lắc ngược thông qua giao tiếp máy tính giữa phần mềm Matlab với card DSP TMS320F28335 Kết quả thực nghiệm cho thấy các phương pháp điều khiển trên đều hoàn toàn có thể điều khiển cân bằng hệ con lắc ngược ổn định tại vị trí cân bằng Giá trị góc nghiêng và vị trí xe con lắc thu được luôn dao động xung quanh vị trí cân bằng mong muốn.
Trang 5CHƯƠNG 1 : GIỚI THIỆU.
Trong các hệ thống phi tuyến, con lắc ngược quay dễ chế tạo và có các đặc trưng phi tuyến cơ bản nhất Vì thế, hệ thống trên là đối tượng thông dụng cho các thí nghiệm nhận dạng và điều khiển Nhiều thuật toán điều khiển khác nhau đã được ứng dụng trên
mô hình con lắc ngược quay như thuật toán vi tích phân tỉ lệ (PID), đặt cực (pole -placement), tối ưu (LQR), điều khiển mờ (Fuzzy), dùng mạng neuron điều khiển… và đạt thành công đáng kể
Trong lĩnh vực điều khiển tự động, điều khiển con lắc ngược là một bài toán kinh điển do có nhiều ứng dụng khác nhau như: điều khiển cân bằng cánh tay robot trên các dây chuyền lắp ráp, điều khiển xe hai bánh tự cân bằng, điều khiển cân bằng khi phóng tàu vũ trụ, cân bằng giàn khoan trên biển… Ngoài ra, đây còn là một điển hình về việc
sử dụng các bộ điều khiển tuyến tính để điều khiển ổn định cho một đối tượng phi tuyến Khi lý thuyết về các luật điều khiển hiện đại ngày càng phong phú, cùng với sự phát triển mạnh mẽ của vi mạch số, việc thực thi các thuật toán điều khiển phức tạp tr
ên con lắc ngược được dễ dàng thực hiện để kiểm chứng các lý thuyết đó Đã có nhiều công trình nghiên cứu về điều khiển mô hình con lắc ngược, có thể kể đến như Varghese và các tác giả kết hợp bộ điều khiển PID với LQR trong điều khiển con lắc và
vị trí xe, Vora và Basu dùng phương pháp điều khiển phản hồi mạch vòng nội trên cơ sở các hàm truyền đạt của con lắc, Chalupa và Bobál giới thiệu phương pháp điều khiển
dự báo, Landry sử dụng bộ điều khiển có thời gian trễ và kiểm chứng bộ điều khiển trên
mô hình thực nghiệm dùng thuật toán điều khiển mờ giới thiệu phương pháp mô hình hóa và mô phỏng con lắc ngược và kiểm tra các đặc tính con lắc ngược trên Matlab, v.v Ngoài điều khiển con lắc đơn, bài toán điều khiển con lắc ngược kép cũng được một số tác giả nghiên cứu trong Các công trình nghiên cứu trên đã đưa ra các bộ điều khiển khác nhau cho hệ con lắc ngược, tuy nhiên việc ổn định con lắc tại vị trí đặt khi xét đến ảnh hưởng của nhiễu chưa được thực hiện và kiểm chứng trên mô hình thực Việc xuất hiện nhiễu trong đo lường có thể dẫn đến các đáp ứng sai và làm giảm độ tin cậy của hệ thống Chính vì vậy, lọc nhiễu và đảm bảo bộ điều khiển không tác động nhầm,
Trang 6Đồng thời ổn định xe mang con lắc tại vị trí đặt là một yêu cầu cần thiết cho hệ con lắc ngược Để giải quyết bài toán trên, các tác giả đề xuất sử dụng bộ điều khiển LQR với hai vòng phản hồi kết hợp với bộ lọc Kalman Thuật toán điều khiển được kiểm chứng trên mô phỏng và trên mô hình thật
Trang 7CHƯƠNG 2 : MÔ PHỎNG CON LẮC NGƯỢC 2.1 Bộ điều khiển con lắc ngược.
Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID- Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát đƣợc sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là bộ điều khiển đƣợc sử dụng nhiều nhất trong các bộ điều khiển phản hồi Bộ điều khiển PID sẽ tính toán giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặ
t mong muốn Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào
Hình 2.1: Sơ đồ của bộ điều khiển PID
Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn đƣợc gọi là điều khiển ba khâu: các giá trị tỉ lệ, tích phân và đạ
o hàm, viết tắt là P, I, và D Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ và giá trị vi phân xác định tác động của tốc độ biến đổi sai số Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ và D dự đoán các sai
số tương lai, dựa vào tốc độ thay đổi hiện tại.
Bộ điều khiển PID chỉ có thể điều khiển một thông số của hệ thống, để điều khiển được góc con lắc và vị trí của xe con lắc tại cùng một thời điểm thì chúng
ta cần hai bộ điều khiển PID Trong đó một thông số được xem như là thông số chính và được điều khiển trực tiếp moment của động cơ, trong khi đó thông số còn lại được được áp vào tác động của điểm tham chiếu của thông số chính Hai
Trang 8tín hiệu đầu vào được đưa vào bộ điều khiển PID và đầu ra là tín hiệu lực tác động vào xe Để cho con lắc ổn định cần sử dụng một bộ điều khiển hồi tiếp Việc sử dụng bộ điều khiển hồi tiếp, dữ liệu ngõ ra sẽ có thêm nhiều thông tin để
mô tả hệ thống.
Hình 2.2 : Sơ đồ của bộ điều khiển PID cho hệ con lắc ngược
Với sơ đồ khối điều khiển được trình bày trên hình 2.2 Giá trị hồi tiếp của góc lệch con lắc so với phương thẳng đứng đƣợc so sánh với giá trị đặt Bộ điều khiển PID1 sẽ tính toán giá trị ngõ ra dựa trên giá trị sai lệch này và quyết định giá trị điện áp đặt lên động cơ kéo con lắc Ban đầu, ta tiến hành thay đổi thông số bộ điều khiển PID1 để xác định đáp ứng góc lệch θ con lắc Sau đó, ta thiết lập sơ đồ khối điều khiển con lắc ổn định với bộ điều khiển hai bộ điều khiển PID có hai biến hồi tiếp là góc θ
và vị trí xe x Sơ đồ này đƣợc gọi là bộ điều khiển PID thõa hiệp từ hai bộ điều khiển
PID một biến để quyết định giá trị điện áp đặt lên động cơ kéo xe con lắc
Để thiết kế đƣợc bộ điều khiển PID hai biến cần phải dựa trên bộ điều khiển PID hồi tiếp góc θ (PID1) để điều khiển góc lệch và thiết kế thêm bộ điều khiển PID hồi tiếp (PID2) để điều khiển vị trí con lắc Với bộ điều khiển PID hai biến này không cần phải thay đổi các thông số của bộ PID1 mà chỉ cần điều chỉnh thông số của bộ PID2 bằng cách thực hiện mô phỏng nhiều lần với các bộ thông số Kp, Ki, Kd khác nhau Bộ thông
số được chọn có giá trị Kp1=125, Ki1=80, Kd1=12, Kp2=-7.93, Ki2=-0.24, Kd2=-9.5
và các thông số cài đặt ban đầu của các biến đầu ra Từ kết quả mô phỏng cho thấy rằng phương pháp điều khiển dùng PID hai biến hoàn toàn giữ cho con lắc ổn định ở vị trí cân bằng
Trang 92.2 Xây dựng mô hình con lắc ngược.
Hệ phương trình mô tả đặc tính động phi tuyến của hệ thống con lắc ngược quay (Hình 2.3)
Hình 2.3 : Mô hình tính toán hệ thống con lắc ngược quay
Hệ phương trình toán học được mô tả theo hệ phương trình :
Trong đó:
Trang 10 : góc quay cánh tay (rad)
Kt : hằng số momen quay động cơ (Nm/A)
Kb : hằng số sức điện động cảm ứng motor (Vs/rad)
C : hệ số ma sát trượt phần con lắc (kgm2/s)
Ku : hệ số khuếch đại tín hiệu điều khiển motor (V/count)
Ra :điện trở cuộn rotor của động cơ (Ω)
u : tín hiệu điều khiển động cơ (V)
g : gia tốc trọng trường (m/s2)
Ө : góc chuyển động của con lắc (rad)
Để điều khiển hệ thống một vào- nhiều ra như hệ con lắc ngược quay, tác giả trên đã đề xuất điều khiển PID hai biến tĩnh với sơ đồ khối điều khiển con lắc
ổn định như Hình 2.4 Hai bộ điều khiển PID lần lượt điều khiển góc con lắc α và góc cánh tay θ Tín hiệu điều khiển là kết quả thỏa hiệp của hai bộ điều khiển trên.
Hình 2.4 : Sơ đồ điều khiển PID hai biến tĩnh điều khiển hệ con lắc ngược quay 2.3 Kết quả mô phỏng.
Ưu điểm của bộ điều khiển PID là dễ dàng thiết kế không phụ thuộc nhiều vào mô hình toán của đối tượng Bộ điều khiển sẽ thực hiện giảm tối đa sai số
Trang 11bằng cách điều chỉnh giá trị điều khiển đầu vào Trong trường hợp không có kiến thức cơ bản về quá trình thì bộ điều khiển PID là tốt nhất Tuy nhiên để đạt được kết tốt nhất, các thông số PID sử dụng trong tính toán phải hiệu chỉnh theo tính chất và đặc thù của hệ thống.
Hạn chế các bộ điều khiển PID có thể dùng nhiều cho bài toán điều khiển
và thường đạt được kết quả như ý mà không dùng bất kỳ cải tiến hay điều chỉnh nào và thường không cho ta kết quả điều khiển tối ưu Khó khăn cơ bản của bộ điều khiển PID là phản hồi với hệ số không đổi và phải thực hiện “thử và sai” nhiều lần.
Hình 2.5 : Đáp ứng vị trí của bộ điều khiển PID cho hệ con lắc ngược
Hình 2.6 : sơ đồ simulink mô phỏng.
Trang 12Hình 2.5 mô tả quá trình điều khiển con lắc ngược khi bị tác động ngoại lực đủ lớn từ vị trí cân bằng được quan sát trên Labview Con lắc rơi khỏi vị trí thẳng đứng phía trên và quá trình swing up xuất hiện Sau 2 chu kỳ dao động nhờ tác động của quá trình swing up, bộ điều khiển LQR tiếp tục tác động làm xe dao động nhỏ để đưa hệ th ống về điểm cân bằng Kết quả thực nghiệm với các tác động ngoài và giá trị đầu khác nhau, cho thấy mô hình con lắc hoạt động ổn định với thông số bộ điều khiển đã tính toán và phù hợp với mô phỏng Con lắc có khả năng tự cân bằng trong khoảng thời gian ngắn khi khởi động cũng như khi bị tác động ngoại lực Tuy nhiên vẫn còn một số sai lệch nhỏ giữa mô phỏng và thực nghiệm, do mô hình mô phỏng đã sử dụng một số giả thiết để đơn giản hóa mô hình
Dựa vào giải thuật điều khiển trên để thiết lập chương trình điều khiển trong môi trường Simulink Matlab Trong thư viện Target Support Package lấy các khối eQEP, PWM, Digital Output, SCI Transmit, Embedded MATLAB và s-function builder để xây dựng chương trình
Trong sơ đồ chương trình điều khiển khối xác định góc lệch con lắc so với phương thẳng đứng là S-Function Builder 1, khối xác định vị trí di chuyển của xe con lắc là S- Function Builder 2, khối tính toán chiều quay, phát xung PWM (Embedded MATLAB Function) và bộ PID hai biến (Embedded MATLAB Function) đƣợc xác định như sau:
Xác định góc θ so với phương thẳng đứng bằng cách lúc ban đầu thả cho con lắc hướng xuống đất nhờ có lực trọng trường nên con lắc nằm yên theo phương thẳng đứng lúc này con lắc được qui định ở vị trí -180˚ Vì vậy khi quay con lắc theo chiều thuận một góc từ -180˚ đến 0˚ Lúc này vị trí của con lắc hướng lên theo phương thẳng đứng là 0˚ Góc con lắc được xác định bởi số xung phát ra từ encoder
Trang 13Hình 2.6 : Mô phỏng simulink với chương trình LQR.
Ta thực hiện lấy các khối chức năng đƣợc hỗ trợ trên Matlab tương tự như
bộ điều khiển PID, hình 2.6 trình bày các khối chức năng cho bộ điều khiển LQR Qua kết quả thực nghiệm cho thấy phương pháp điều khiển LQR và PID
có khả năng điều khiển con lắc ngược xung quanh vị trí cân bằng Tuy nhiên, sa
i số góc lệch con lắc khá lớn ±40.
Trang 14CHƯƠNG 3 : KẾT LUẬN
Từ việc xây dựng mô tả toán học của mô hình con lắc ngược, bài báo chứng tỏ co
n lắc ngược là đối tượng điều khiển phi tuyến Tuyến tính hoá xung quanh điểm cân bằng cho thấy mô hình con lắc là hệ không ổn định ở vị trí thẳng đứng phía trên Sử dụng b
ộ điều khiển tối ưu LQR cho phép ổn định góc quay nhưng không di chuyển xe đến vị trí đặt Bằng việc bổ sung mạch vòng phản hồi vị trí xe bên ngoài mạch phản hồi trạng thái và thực hiện một số biến đổi, các tác giả có thể áp dụng bộ điều khiển LQR cho
hệ thống 2 mạch vòng Kết quả mô phỏng cho thấy hệ thống 2 mạch vòng cho phép điều khiển xe đến vị trí đặt trong khi con lắc giữ được cân bằng Nhằm giảm ảnh hưởng của nhiễu đo lường tác động lên mô hình lắp ráp trong quá trình điều khiển, nhóm tác giả
sử dụng bộ lọc Kalman để lọc nhiễu và ước lượng trạng thái Kết quả từ mô hình thực nghiệm đã chứng tỏ việc sử dụng 2 mạch vòng điều khiển kết hợp với bộ lọc Kalman
đã giảm đáng kể tác động của nhiễu đo lường đến điều khiển, đồng thời mô hình đáp ứng các yêu cầu điều khiển đặt ra
Nghiên cứu một số giải thuật điều khiển khác nhau (PID, LQR, GA kết hợp với LQR) áp dụng trên mô hình con lắc ngược và cho kết quả mô phỏng rất tốt trên Matlab Sử dụng giải thuật di truyền GA nhằm tối ưu các thông số của bộ điều khiển LQR giúp tiết kiệm thời gian và hạn chế quá trình thử sai nhiều lần
Trang 15TÀI LIỆU THAM KHẢO
[1] Nguyễn Văn Đông Hải, Luận văn thạc sĩ “Xây dựng bộ điều khiển nhúng
tuyến tính hóa vào ra cho hệ con lắc ngược”, Trường Đại học Bách Khoa TP Hồ Chí
Minh, 2011, trang 39 – 41, 47 – 62
[2] Nguyễn Chí Ngôn, “Tối ưu hóa bộ điều khiển PID bằng giải thuật di truyền”
, Tạp chí Khoa học 2008:9, trang 244 – 245
[3] Vũ Chấn Hưng, 2005, Điều khiển hệ thống con lắc ngược quay, tuyển tập
các báo cáo khoa học: Hội nghị toàn quốc lần thứ VI về tự động hóa, số 0, trang 276-281
[4] Elisa Sara Varghese et al, Optimal Control of Inverted Pendulum System
Using PID Controller, LQR and MPC, IOP Conference Series: Materials Science and
Engineering 263 052007, 2017
[5] Nguyễn Văn Khanh et al, “Điều khiển cân bằng con lắc ngược sử dụng
thuật toán PD mờ”, Tạp chí Khoa học Trường Đại học Cần Thơ, Số 29, 2013, trang
15-22
[6] K.J Åström, K Furuta, “Swinging up a Pendulum by Energy Control”,
Automatica, Vol 36, Issue 2, 2000, pp 287-295.