Đặt vấn đề Ngày nay các lý thuyết điều khiển tuyến tính đã phát triển hoàn chỉnh và đƣợc áp dụng rất thành công trong các quá trình công nghiệp cũng nhƣ trong các thiết bị dân dụng. Tuy nhiên, các lý thuyết này không hiệu quả đối với các hệ thống phi tuyến mà không thể hoặc khó xác định chính xác mô hình toán học, nhất là đối với những hệ thống có mô hình toán học thay đổi và chịu tác động của nhiễu. Bên cạnh đó, lý thuyết điều khiển phi tuyến cũng đã có những bƣớc phát triển đáng kể. Từ đó chúng ta có nền tảng toán học cần thiết để thiết kế những bộ điều khiển đạt chất lƣợng.
Các lý thuyết đƣợc áp dụng thành công để điều khiển các hệ phi tuyến đƣợc chia thành hai nhóm chính: lý thuyết điều khiển kinh điển và lý thuyết điều khiển hiện đại. Nhóm phƣơng pháp điều khiển kinh điển dựa vào việc tuyến tính hóa đặc tuyến của hệ thống xung quanh điểm làm việc, sau đó áp dụng các phƣơng pháp điều khiển cho hệ tuyến tính. Lý thuyết điều khiển kinh điển đã bộc lộ ra những yếu điểm về chất lƣợng cũng nhƣ độ tin cậy khi đối tƣợng điều khiển là hệ phi tuyến, và nhất là những đối tƣợng không rõ hoặc khó xác định chính xác mô hình toán học, cũng nhƣ chịu tác động của nhiễu. Nhóm phƣơng pháp điều khiển hiện đại bao gồm điều khiển dùng giải thuật mờ, điều khiển dùng giải thuật di truyền, điều khiển dùng mạng thần kinh nhân tạo (Artificial Neural Network, trong đề tài này gọi tắt là mạng neural) … Điều khiển mờ dựa vào việc xấp xĩ thông số của đối tƣợng dùng mô hình mờ.
Các thông số này sẽ đƣợc cập nhật liên tục trong quá trình điều khiển dựa vào sai số hồi tiếp. Phƣơng pháp này vận dụng tính xấp xĩ hàm của hệ mờ và dùng luật thích nghi để cập nhật thông số của hệ mờ theo tiêu chuẩn ổn định Lyapunov. Mạng neural khi mới hình thành còn chƣa có tri thức về hệ thống, tri thức của mạng hình thành dần sau một quá trình huấn luyện. Mạng neural đƣợc huấn luyện bằng tập dữ liệu, bao gồm kích 1 Luan van 1 – Tổng Quan thích ngõ vào và đáp ứng ngõ ra của hệ thống.
Ta đƣa vào đầu vào mạng neural những kích thích, mạng neural sẽ hình thành những đáp ứng tƣơng ứng ở ngõ ra, đáp ứng phù hợp với từng loại kích thích sẽ đƣợc lƣu giữ, giai đoạn này đƣợc gọi là giai đoạn học của mạng. Khi đã hình thành tri thức, chúng ta có thể dùng mạng neural để điều khiển hệ thống mà nó đƣợc học. Hệ con lắc ngƣợc quay là một hệ thống không ổn định và có ít ngõ vào điều khiển hơn số bậc tự do. Đây là một hệ phi tuyến có hai điểm cân bằng: Điểm cân bằng thẳng đứng hƣớng lên (vị trí lật ngƣợc) và điểm cân bằng thẳng đứng hƣớng xuống dƣới (vị trí buông thõng), trong đó vị trí lật ngƣợc là điểm cân bằng không ổn định.
Bài toán đặt ra là thiết kế hệ thống điều khiển gồm hai phần: bộ điều khiển lật ngƣợc (swing-up) có nhiệm vụ đƣa con lắc từ vị trí buông thõng lên vị trí lật ngƣợc và bộ điều khiển cân bằng có nhiệm vụ giữ con lắc ổn định tại vị trí lật ngƣợc. Con lắc ngƣợc là đối tƣợng đại diện cho lớp các đối tƣợng có độ phi tuyến cao và không ổn định. Con lắc ngƣợc quay một bậc tự do có ƣu điểm là hệ thống cơ khí không quá phức tạp (so với con lắc ngƣợc xe), nó đƣợc sử dụng rộng rãi trong việc giảng dạy và nghiên cứu lý thuyết điều khiển tự động cũng nhƣ xây dựng các bộ điều khiển. Con lắc ngƣợc quay một bậc tự do bao gồm 3 phần chính: phần cơ khí, phần điện tử và phần chƣơng trình.
Phần cơ khí bao gồm một thanh kim loại (con lắc) quay quanh một trục thẳng đứng. Thanh kim loại đƣợc gắn gián tiếp với đầu của một cánh tay nằm ngang thông qua một cảm biến để đo góc, đầu còn lại của cánh tay đƣợc gắn vào trục quay của một động cơ DC. Động cơ DC đặt thẳng đứng để cánh tay có thể quay trong một mặt phẳng nằm ngang. Do trong quá trình vận hành cánh tay sẽ quay với tốc độ cao nên phần cơ khí cần phải đƣợc tính toán thiết kế chính xác, chắc chắn nhằm tránh rung gây nhiễu và hƣ hỏng trong quá trình vận hành.
Phần điện tử gồm 3 phần nhỏ là: cảm biến đo góc cánh tay và con lắc, mạch khuyếch đại công suất và mạch điều khiển. Phần cảm biến đóng vai trò hết sức quan trọng, nó sẽ cung cấp cho bộ điều khiển: vị trí, hƣớng của cánh tay và con lắc. 2 Luan van 1 – Tổng Quan Có nhiều loại cảm biến đƣợc sử dụng để đo góc, trong đề tài này tác giả sử dụng Bộ mã hóa vòng quay (Rotary Encorder) có độ phân giải 4096 xung/vòng. Tín hiệu từ bộ mã hóa vòng quay đƣợc khuyếch đại, lọc nhiễu rồi kết nối vào module ngoai vi eQEP (Enhanced Quadrature Encorder Pulse) của DSP.
Tùy thuộc vào tín hiệu từ các Bộ mã hóa vòng quay mà DSP đƣợc lập trình để xuất tín hiệu ngõ ra điều khiển động cơ DC qua một mạch khuyếch đại công suất. Phần chƣơng trình: Chƣơng trình điều khiển con lắc tác giả không viết trực tiếp trên Code Composer Studio mà kết hợp với Matlab2012a để tận dụng các hàm tính toán rất mạnh, có sẵn trong Matlab. Cách viết này về lý thuyết sẽ giúp ngƣời sử dụng tiết kiệm đƣợc thời gian vì không cần phải nắm vững cấu trúc phần cứng của DSP và tập lệnh C của CCS nhƣng thực tế do mã C sinh ra bởi Matlab sẽ không tối ƣu nên để chƣơng trình hoạt động tốt đòi hỏi ngƣời lập trình phải nắm thật vững cách lập trình bằng Matlab, cấu trúc mã C do Matlab sinh ra, cấu trúc phần cứng của DSP để có thể can thiệp và hiệu chỉnh trực tiếp vào mã C này. Lịch sử nghiên cứu Hệ con lắc ngƣợc có cấu trúc đơn giản nhƣng mang đầy đủ dặc tính phi tuyến.
Do đó, hệ thống trên đƣợc sử dụng rất rộng rãi trong các thí nghiệm kiểm chứng lý thuyết điều khiển. Một số dạng mô hình con lắc ngƣợc đƣợc sử dụng nhiều nhƣ: pendubot, hệ con lắc ngƣợc xe, hệ con lắc ngƣợc quay… Hình 1.1 Hệ Pendubot Hình 1.2 Hệ con lắc ngược xe 3 Luan van 1 – Tổng Quan Hình 1.3 Hệ con lắc ngược quay Hình 1.4 Hệ con lắc một bậc Trong các mô hình trên, hệ pendubot và hệ con lắc ngƣợc xe có khuyết điểm là khoảng hoạt động bị giới hạn vì cấu tạo phần cứng. Hệ con lắc một bậc là hệ SISO nên mô hình còn mang tính đơn giản. Hệ con lắc ngƣợc quay không bị giới hạn về không gian hoạt động và là một hệ SIMO nên giải thuật điều khiển phải đòi hỏi phức tạp hơn, phù hợp cho các giải thuật điều khiển chuyên sâu.
Quá trình điều khiển con lắc ngƣợc quay gồm hai giai đoạn: điều khiển swing-up và điều khiển cân bằng. Đối với điều khiển cân bằng cho con lắc, các giải thuật phi tuyến đã đƣợc sử dụng thành công nhƣ back-stepping [1], trƣợt [2], đặt cực [3]. Tuy nhiên, khuyết điểm chung của của các giải thuật điều khiển trên là ta phải biết đƣợc mô hình toán đối tƣợng và các thông số mô hình tƣơng ứng. Theo hƣớng nghiên cứu của nhóm MA và BT [4] thiết kế bộ điều khiển Logic mờ (Fuzzy) để điều khiển ổn định hệ thống con lắc ngƣợc.
Kết quả đáp ứng của hệ thống khi sử dụng bộ điều khiển Fuzzy hiệu quả hơn bộ điều khiển PID. Tuy nhiên bộ điều khiển mờ hoạt động chủ yếu phụ thuộc vào kinh nghiệm và phƣơng pháp 4 Luan van 1 – Tổng Quan rút ra kết luận theo tƣ duy con ngƣời, sau đó đƣợc cài đặt vào máy tính dựa trên cơ sở logic mờ. Theo hƣớng nghiên cứu của MAK [2] sử dụng bộ điều khiển trƣợt để điều khiển con lắc ngƣợc quay. Kết quả của nghiên cứu này là tác giả đã xác định đƣợc hai mặt trƣợt theo định nghĩa đúng đắn của hàm Lyapunov, kết hợp hai mặt trƣợt này để điều khiển con lắc ổn định.
Tuy nhiên trong phƣơng pháp điều khiển trƣợt việc tìm kiếm bề mặt trƣợt của hệ thống là không dễ dàng. Theo hƣớng nghiên cứu của nhóm ANKN, RMTRI, MAA [6] thiết kế bộ điều khiển trƣợt và bộ điều khiển PID để điều khiển cho con lắc ngƣợc. Mục tiêu của bài báo này là so sánh chất lƣợng đáp ứng của hệ thống khi sử dụng hai bộ điều khiển này để điều khiển ổn định cho con lắc ngƣợc. Cả hai bộ điều khiển này đƣợc mô phỏng trên môi trƣờng Simulink Matlab và cho thấy đều có khả năng điều khiển thành công mô hình con lắc.
Kết quả cho thấy rằng khi sử dụng bộ điều khiển trƣợt thì cho đáp ứng tốt hơn so với bộ điều khiển PID. Tuy nhiên, khi sử dụng hai bộ điều khiển này để điều khiển con lắc thì vị trí góc lệch con lắc tƣơng đối lớn. Để khắc phục các khuyết điểm trên của điều khiển phi tuyến cũng nhƣ tuyến tính, một số tác giả sử dụng các giải thuật điều khiển thông minh nhƣ điều khiển mờ [7], điều khiển dùng mạng neural [8], [9]. Việc sử dụng mạng neural [8], [9] đã mô phỏng thành công một giải thuật điều khiển trƣớc đó (bộ điều khiển PID) để điều khiển tốt đối tƣợng con lắc ngƣợc quay thực tế.
Tuy nhiên, có nhiều loại mạng neural đƣợc sử dụng trong thực tế. Vấn đề chọn mạng neural nào để sử dụng trong điều khiển là một vấn đề cần đƣợc quan tâm. Các kết quả trong [10] cho thấy cấu trúc mạng neural truyền thẳng khớp quan hệ vào ra (fitting neural network) tốt hơn mạng truyền thẳng ghép liên tầng (casde- feed forward) và mạng truyền thẳng chuẩn (feed-forward). Đồng thời các nghiên cứu trong [11] và [12] đã khắc phục đƣợc những nhƣợc điểm của thuật toán huấn luyện lan truyền ngƣợc chuẩn (standard back-propagation) bằng các sử dụng thuật toán lan truyền ngƣợc Levenberg-Marquardt (Levenberg-Marquardt back- 5 Luan van 1 – Tổng Quan propagation) và thuật toán lan truyền ngƣợc quy tắc hóa Bayesian (Bayesian regularization backpropagation).
Đối với điều khiển swing-up cho con lắc thì một số tác giả dùng kinh nghiệm để kích các xung có độ rộng khác nhau tùy vị trí con lắc để đƣa con lắc dần lên vị trí cân bằng đã đạt đƣợc thành công trong thực tế [3], cũng nhƣ mô phỏng [16]. Khi con lắc đến đƣợc vị trí gần với vị trí cân bằng thì giải thuật cân bằng mới đƣợc thực hiện.