Xây dựng giải thuật Fuzzy trên mô phỏng và áp dụng trên mô hình thực nghiệm điều khiển cân bằng và điều khiển hệ với tín hiệu vào thay đổi... Luận văn có thực hiện ước lượng các tham số
Giới thiệu đề tài
Trong lĩnh vực điều khiển, đối tượng điều khiển rất phong phú từ tuyến tính đến phi tuyến, có thể có một hoặc nhiều đầu vào, một hoặc nhiều đầu ra, số bậc của hệ thống đa dạng Thông thường, các bài toán điều khiển trên đối tượng phi tuyến sẽ phức tạp hơn so với trên đối tượng tuyến tính Các hệ thống có số ngõ vào bằng số ngõ ra sẽ đơn giản hơn so với các hệ thống có số ngõ vào ít hơn so với ngõ ra, tức là tồn tại một ngõ ra tự do, không bị điều khiển trực tiếp, ngõ ra này được điều khiển gián tiếp tuỳ theo đối tượng Đây cũng là một trong những lý do mà tác giả chọn Pendubot làm đối tượng để khảo sát.
Pendubot [1] là một dạng của hệ thống có số bậc tự do nhiều hơn số ngõ vào điều khiển (underactuated) (Hình 1-1) Cụ thể với mô hình Pendubot, đây là một mô hình phi tuyến có hai khớp tự do, và một ngõ vào điều khiển Cơ cấu chấp hành được gắn và truyền động trực tiếp vào khớp thứ nhất, khớp thứ hai gắn với khớp thứ nhất và được truyền động gián tiếp từ cơ cấu chấp hành thông qua khớp thứ nhất Mô hình này dùng để kiểm chứng các giải thuật phi tuyến đối với hệ thống có số ngõ vào điều khiển ít hơn số ngõ ra.
Quá trình điều khiển bao gồm hai giai đoạn Giai đoạn thứ nhất là swing-up và giữ cân bằng tại điểm cân bằng không ổn định [2], giai đoạn thứ hai là điều khiển khớp thứ nhất bám theo giá trị đặt trong khi khớp thứ hai ở trạng thái đứng thẳng lên có
Hình 1-1: Hình minh họa mô hình Pendubot phương song song với hướng của trọng lực [3] Ở giai đoạn hai bao gồm luôn cả việc giữ cân bằng khớp trên ở trạng thái cân bằng không ổn định.
Tổng quan tình hình nghiên cứu
Vấn đề tìm kiếm một luật điều khiển hiệu quả cho hệ thống có số cơ cấu chấp hành ít hơn số bậc tự do cần điều khiển thu hút sự chú ý ngày càng tăng vì đặc tính đặc biệt của nó Hệ có số cơ cấu chấp hành ít hơn số bậc tự do xuất hiện ngày càng nhiều trong các ứng dụng, chẳng hạn như các robot trong lĩnh vực hàng không vũ trụ hay các robot hoạt động dưới nước Với sự có mặt của khớp tự do có cơ cấu chấp hành và khớp tự do không có cơ cấu chấp hành khiến cho việc điều khiển theo cách thông thường không thể kiểm soát tốt các ngõ ra theo mong muốn Do đó, hệ này không thể điều khiển bám theo tín hiệu đặt một cách tùy ý Pendubot là một mô hình không mới, từ xưa đến nay đã có rất nhiều nghiên cứu về mô hình này Tuy nhiên đây vẫn là một mô hình phi tuyến có số ngõ vào ít hơn số ngõ ra kinh điển, được dùng để kiểm chứng các giải thuật, bao gồm các thuật toán từ kinh điển đến hiện đại Các kết quả thu được đều có những ưu điểm và hạn chế.
Giải thuật điều khiển kinh điển:
Nhóm tác giả Thamer Albahkali, Ranjan Mukherjee, and Tuhin Das [4] dựa vào mo- ment để xây dựng thuật toán điều khiển swing-up và một giải thuật tuyến tính để giữ ổn định tại điểm cân bằng Nhóm tác giả J Serrano-Heredia, A G Loukianov and E.
Bayro-Corrochano [5] áp dụng giải thuận điều khiển trượt (sliding mode) để điều khiển bám theo tín hiệu đặt hình sine Nhóm tác giả Xin Xin và Kousuke Juuri [6] đề xuất giải thuật điều khiển ổn định hoá hệ thống thông qua việc tuyến tính hoá mô hình phi tuyến tại điểm cân bằng không ổn định từ đó rút ra luật điều khiển với một số điều kiện ràng buộc, kết quả điểu khiển được ở vị trí cân bằng không ổn định Nhóm tác giả Dianwei Qian, Jianqiang Yi, and Dongbin Zhao [7] dùng phương pháp điều khiển trượt với nhiều mặt trượt, tạo thành một cấu trúc phân lớp mặt trượt điều khiển swing-up và ổn định hoá tại vị trí cân bằng không ổn định Tác giả Dong Sang Yoo [8] áp dụng giải thuật điều khiển trượt để điều khiển hệ thống cân bằng tại vị trí không ổn định.
Tác giả Rowland W O’Flaherty, Ricardo G Sanfelice and Andrew R Teel [9] kết hợp các giải thuật LQR, điều khiển vòng hở, và một số giải thuật khác hình thành giải thuật lai điều khiển swing-up và ổn định tại điểm cân bằng.
Giải thuật điều khiển hiện đại:
Tác giả CAI Zhen [3] trong luận văn có đề cập đến điều khiển ổn định hệ thống với giải thuật LQR Tác giả cải thiện mặt hạn chế của phương pháp điều khiển tuyến tính khi áp dụng với mô hình phi tuyến (luật điều khiển chỉ áp dụng quanh điểm cân bằng) bằng cách kết hợp giải thuật điều khiển mờ (fuzzy) kết hợp với việc tuyến tính hoá(LQR) nhiều điểm để mở rộng tầm hoạt động, kết quả điều khiển ở giai đoạn thứ hai,bám theo hình sine Nhóm tác giả Xiao Qing Ma and Chun-Yi Su [10] đề xuất giải thuật điều khiển mở để giải quyết giai đoạn swing-up và giữ ổn định tại điểm cân bằng không ổn định của hệ thống Nhóm tác giả Dongbin Zhao and Jianqiang Yi [11] áp dụng thuật toán di truyền (GA) tối ưu hoá các thông số cho một bộ điều khiển tuyến tính giữ ổn định tại vị trí cân bằng Nhóm tác giả Chia-Ju Wu, Tsong-Li Lee, Yu-YiFu and Li-Chun Lai [12], Jen-Hsing Li [13] áp dụng giải thuật PID mờ, PD mờ với các thông số được chỉnh định thông qua giải thuật di truyền, kết quả swing-up và ổn định hệ thống tại điểm cân bằng không ổn định Nhóm tác giả Yu-Yi Fu, Chia-Ju Wu,Ting-Li Chien, Chia-Nan Ko [14] sử dụng thuật toán PSO, GA để tối ưu hoá các thông số bộ điều khiển Fuzzy PID, PID điều khiển swing-up và cân bằng hệ thống Tác giả
WeiLi, Kazuo Tanaka, and Hua O Wang [15] sử dụng mô hình mờ vào nhận dạng hệ thống để xây dựng mô hình hệ thống thông qua việc xây dựng mô hình tuyến tính tại nhiều điểm rồi kết hợp lại qua mô hình mờ Takagi-Sugeno.
Cấu trúc luận văn
Luận văn này sẽ được trình bày theo cấu trúc sau:
Chương 2 nói về cơ sở lý thuyết về các bộ điều khiển LQR, Fuzzy, Sliding Mode, bộ quan sát trạng thái Kalman và giải thuật tìm thông số tối ưu GA
Chương 3 nói về mô hình Pendubot, mô hình động lực học, cấu trúc cơ khí, xây dựng mô hinh mô phỏng và nhận dạng các thông số của mô hình thực tế.
Chương 4 nói về xây dựng các bộ điều khiển Sliding Mode, LQR, Fuzzy, bộ quan sát Kalman trên nền mô phỏng Matlab/Simulink.
Chương 5 tập trung về thực hiện các giải thuật LQR, LQG, Sliding Mode, Fuzzy trên mô hình thực nghiệm, so sánh giữa mô hình thực nghiệm và mô phỏng.
Cuối cùng là chương 6, tổng kết các kết quả đạt được, khó khăn và hướng phát triển của đề tài.
Chương 2Cơ sở lý thuyết
Cơ sở lý thuyết về bộ điều khiển
Bộ điều khiển LQR
Giải thuật toàn phương tuyến tính LQR đã được nhiều tác giả sử dụng để điều khiển mô hình Pendubot Giải thuật LQR tính luật điều khiển dựa trên mô hình tuyến tính cho trước Đối với mô hình Pendubot, đây là mô hình phi tuyến, để áp dụng giải thuật LQR, ta phải tuyến tính hoá nó.
Ta sẽ tuyến tính hoá tại điểm làm việc (𝜃 1 = 𝜋 2 , 𝜃 2 = 0,𝜃˙ 1 = 0,𝜃˙ 2 = 0) Mô hình tuyến tính có dạng: ˙ 𝑥=𝐴(𝑥−𝑥 0 ) +𝐵(𝑢−𝑢 0 ) (2.1)
Hàm mục tiêu có dạng
P là ma trận (n x n), xác định dương, là nghiệm của phương trình đại số Ricatti
Mô hình Fuzzy Takegi-Sugeno
Một cách tổng quát, một hệ thống mờ (Fuzzy) [16],[17] là một tập hợp các qui tắc dưới dạng If Then để tái tạo hành vi của con người được tích hợp vào cấu trúc điều khiển của hệ thống.
Việc thiết kế một hệ thống mờ mang rất nhiều tính chất chủ quan, nó tùy thuộc vào kinh nghiệm và kiến thức của người thiết kế Ngày nay, tuy kỹ thuật mờ đã phát triển vượt bậc, nhưng vẫn chưa có một cách thức chính qui và hiệu quả để thiết kế một hệ thống mờ Việc thiết kế vẫn dựa trên một kỹ thuật cổ điển là thử - sai và đòi hỏi phải đầu tư nhiều thời gian để đi tới một kết quả có thể chấp nhận được Ở trong luận văn này, mô hình mờ được sử dụng để kết hợp các luật điều khiển tuyến tính tại nhiều điểm làm việc của mô hình để mở rộng phạm vi điều khiển.
Với mô hình mờ Takegi-Sugeno, ngõ ra không phải là một hàm liên thuộc, ngõ ra ở đây là một ma trận.
Hình 2-1: Sơ đồ khối mô hình fuzzy
Bộ điều khiển Sliding Mode
Bộ điều khiển trượt [18] được thiết kế dựa trên lý thuyết ổn định Lyapunov.
Vấn đề chính của bộ điều khiển Sliding mode chính là tìm mặt trượt𝑠, mặt trượt này phải chứa các biến trạng thái cần điều khiển, 𝑠 không phụ thuộc tường minh vào 𝑢 nhưng 𝑠˙ phụ thuộc tường minh vào 𝑢 Và phải chọn mặt trượt sao cho khi 𝑠 →0 thì các sai số cũng tiến về 0 khi 𝑡→ ∞ tín hiệu điều khiển được chọn sao cho: ˙
Như vậy, khi𝑠 và𝑠˙ trái dấu,𝑠 = 0thì𝑠˙ = 0thỏa điều kiện ổn định Lyapunov, hệ thống sẽ ổn định, lúc này 𝑠→0 kéo theo sai số sẽ tiến về 0 khi 𝑡→ ∞. Để khắc phục hiện tượng chattering, ta có thể giảm biên độ của K trong phương trình(2.8) hoặc thày hàm 𝑠𝑖𝑔𝑛bằng hàm 𝑠𝑎𝑡𝑢𝑟𝑎𝑡𝑖𝑜𝑛
Bộ ước lượng trạng thái Kalman
Trong bộ điều khiển, thực tế, ta rất khó bố trí đầy đủ các cảm biến để đo đạc tất cả các biến trạng thái của hệ thống Đối với mô hình Pendubot thực nghiệm, ta sử dụng bộ QEI đọc giá trị encoder để suy ra vị trí, còn vận tốc không đo được trực tiếp hoặc khi đo qua phương pháp đạo hàm gây ra sai số lớn khi lấy mẫu tần số cao Trong trường hợp đó, ta phải ước lượng các biến trạng thái của hệ thống thông qua các giá trị vào và ra. Để ước lượng các biến trạng thái đó, ta chọn bộ quan sát Kalman [18], [17]
Hệ thống với biểu diễn trạng thái
Trong đó 𝑤 và 𝑣 là nhiễu trắng, có phân bố Gauss, với tương quan như sau:
Bộ ước lượng trạng thái có dạng:
(2.11) Định nghĩa sai số ước lượng: ˜ 𝑥=𝑥−𝑥ˆ ˙˜
Trong đó 𝐾 𝑓 được xác định sao cho 𝐸{𝑥 𝑇 𝑥} cực tiểu:
Với 𝑃 𝑓 là ma trận (n x n) đối xứng, xác định dương, là nghiệm của phương trình đại số Ricatti
Lúc này ta có bộ điều khiển LQG (LQG + Kalman) Ta sẽ ước lượng tất cả các biến trạng thái từ 2 giá trị vị trí đo được rồi hồi tiếp các biến trạng thái ước lượng về bộ điều khiển.
Cơ sở lý thuyết giải thuật GA
GA [16] là giải thuật tìm kiếm lời giải tối ưu mô phỏng sự tiến hóa của một quần thể tự nhiên Các cá thể thích nghi tốt với môi trường có tỉ lệ sống sót cao hơn Ở đây, mỗi cá thể là một lời giải cho bài toán Môi trường chình là bài toán Với mỗi lời giải, sẽ có một kết quả, kết quả tốt hơn chứng tỏ sự thích nghi tốt hơn, các cá thể thích nghi tốt sẽ có cơ hội truyền lại bộ gen của mình cho thế hệ sau Cứ lặp lại như vậy cho đến khi tìm được kết quả tối ưu.
Hình 2-2 thể hiện lưu đồ giải thuật GA, trong đó:
∙ Khối khởi tạo quần thể: tạo ra quần thể ban đầu với𝑛 cá thể Mỗi cá thể là một lời giải.
∙ Đánh giá: Tìm độ thích nghi của từng cá thể đối với môi trường.
∙ Điều kiện dừng: Đánh giá độ thích nghi của cá thể tốt nhất thế hệ so với yêu cầu đặt ra Nếu đạt yêu cầu hoặc tới số lần lặp giới hạn thì dừng lại Nếu không thì tiếp tục.
∙ Mã hóa: Mã hóa lời giải về dạng gen, mỗi gen mang một hoặc nhiều nhiễm sắc thể qui định một hoặc nhiều tính trạng.
Hình 2-2: Lưu đồ giải thuật GA
∙ Chọn lọc: chọn cá thể cha mẹ theo tiêu chí, cá thể có độ thích nghi cao sẽ có tỉ lệ được chọn cao hơn.
∙ Lai ghép: lai ghép cá thể cha, mẹ tạo thành thế hệ con.
∙ Đột biến: các cá thể có một tỉ lệ đột biến, khi đột biến, gen của cá thể bị thay đổi một hoặc nhiều điểm.
∙ Giải mã: giải mã gen sang lời giải.
Giới thiệu
Nội dung chương này liên quan đến việc xây dựng mô hình Pendubot trên mô phỏng lẫn thực nghiệm và các vấn đề liên quan. Đầu tiên, mô hình cơ khí phần cứng được xây dựng dựa với các thông số được tham khảo từ các mô hình Pendubot đã chạy thực nghiệm thành công được công bố [19] và hiện tại thông số mô hình này được rất nhiều tác giả khác sử dụng trong mô phỏng và thực nghiệm Mô hình này không tính đến yếu tố ma sát.
Bảng 3.1: Thông số vật lý mô hình mẫu
Ký hiệu Ý nghĩa Giá trị Đơn vị
𝑑 1 khoảng cách đến trọng tâm thanh 1 0.1206 𝑚 𝑑 2 Khoảng cách đến trọng tâm thanh 2 0.1135 𝑚 𝐼 1 Moment quán tính thanh 1 0.0031 𝑘𝑔.𝑚 2 𝐼 2 Moment quán tính thanh 2 0.0035 𝑘𝑔.𝑚 2
Bảng 3.1 thể hiện thông số vật lý và Bảng 3.2 thể hiện các giá trị P của mô hình mẫu Các giá trị P sẽ được dùng để mô phỏng và thiết kế bộ điều khiển sau này Mối liên hệ giữa P và các đại lượng vật lý sẽ được trình bày trong phần "Động lực học mô hình Pendubot" ở chương này.
Bảng 3.2: Các giá trị tham số P của mô hình mẫu
Ký hiệu Giá trị Đơn vị
Khi thiết kế mô hình thực nghiệm dựa vào mô hình mẫu, các giá trị khối lượng rất khó để thực thi, mô hình thực nghiệm ở luận văn này chỉ có thể bám theo 2 thông số chiều dài 𝑙 1 và 𝑙 2 , còn các thông số khác không thể giống như mô hình tham khảo Ở phần tiếp theo, tôi sẽ trình bày về cấu tạo cơ khí và các mạch điện tử của mô hình.
Cấu hình mô hình phần cứng
Mô hình cơ khí
Pendubot có cấu trúc cơ khí giống với cánh tay robot phẳng 2 bậc tự do, nhưng chỉ có một động cơ ở khớp thứ 1, khớp thứ 2 tự do được gắn với một Encoder để đo góc.
Mô hình Pendubot thực nghiệm được thể hiện ở Hình 3-1
Hình 3-1: Hình ảnh thật của hệ thống
Sơ đồ khối hệ thống được thể hiện ở Hình 3-2.
Hình 3-2: Sơ đồ khối hệ thống
Khối PC: Máy tính, ở khối này thực hiện nhiệm vụ giao tiếp với vi điều khiển, nhận thông tin trong quá trình điều khiển.
Vi điều khiển trung tâm: khối này có chức năng đọc cảm biến từ encoder, tính toán luật điều khiển sau đó xuất tín hiệu điều khiển đến mạch công suất Vi điều khiển giao tiếp máy tính qua giao tiếp UART.
Mạch công suất: điều khiển động cơ khớp thứ 1.
Mô hình pendubot: được cắt laser trên mica dày 8mm Thanh thứ nhất dài 15.08𝑐𝑚,thanh thứ hai dài26.67𝑐𝑚
Các mạch điện tử
Mạch điều khiển trung tâm sử dụng chip ARM Cortex M4 của ST (STM32F407) (Hình 3-3).
Một số lý do chọn vi điều khiển STM32F407 của ST:
∙ Tốc độ 168Mhz, có tích hợp nhân DSP hỗ trợ tính toán.
∙ Có hỗ trợ lập trình hoặc tạo code C từ Matlab.
∙ Đáp ứng yêu cầu đặt ra (đọc 2 encoder và xuất 1 tín hiệu PWM).
∙ Có sẵn mạch nạp trên board, có các header ra chân.
Mạch công suất được thiết kế dựa vào IC IR2184 Mạch được thiết kế với khả năng chịu tải lý thuyết 240W (24V, 10A).
Hình 3-4: Sơ đồ nguyên lý mạch công suấtHình 3-4 thể hiện sơ đồ nguyên lý được vẽ trên Altium Degigner 14 Và hình 3-5 là hình ảnh thật của mạch công suất.
Hình 3-5: Hình thực tế mạch công suất điều khiển động cơ Động cơ DC Minertia 27V/70W 2000RPM kèm encoder 400 xung/vòng hình 3-6 Khi dùng bộ QEI đọc giá trị Encoder và dùng phương pháp lấy đạo hàm để ra vận tốc góc, sai số góc và vận tốc góc khi lấy mẫu ở 100Hz±0.00393 𝑟𝑎𝑑và ±0.393 𝑟𝑎𝑑/𝑠
Hình 3-6: Động cơ DC Minertia
Encoder 1024 xung/vòng Tương tự động cơ, sai số góc và vận tốc góc khi lấy mẫu ở 100Hz lần lượt là ±0.00153 𝑟𝑎𝑑 và ±0.153 𝑟𝑎𝑑/𝑠.
Lý do khi chọn lấy mẫu ở 100Hz (10ms):
∙ Sai số vận tốc sẽ tăng gấp 10 nếu lấy mẫu 1ms.
∙ Hệ thống được thiết kế với giao thức UART cần thời gian để gửi dữ liệu lên máy tính Gói dữ liệu lớn nhất lên đến 30 bytes, với tốc độ 115200 bit/s tương đương 14400 byte/s Như vậy đễ truyển 30 bytes cần ít nhất 2ms và để trừ hao thời gian tính toán, ta chọn lấy mẫu ở thời gian 10ms hay 100Hz. Ở phần tiếp theo, sau khi đã có mô hình Pendubot, ta sẽ xây dựng phương trình toán của mô hình Đây là cơ sở để xây dựng mô hình mô phỏng và thiết kế các bộ điều khiển.
Động lực học mô hình Pendubot
Mô hình toán học của hệ Pendubot được xây dựng dựa vào phương trình Euler- Lagrange như sau:
Hình 3-7 Minh họa hệ thống Pendubot và tên các biến được sử dụng trong luận văn
Bảng 3.3: Ý nghĩa các biến được sử dụng trong mô hình
Ký hiệu Ý nghĩa Đơn vị
𝑑 1 Khoảng cách từ trục quay đến trọng tâm thanh 1 𝑚 𝑑 2 Khoảng cách từ trục quay đến trọng tâm thanh 2 𝑚
Phương trình thể hiện tọa độ tâm của hệ Pendubot
Bằng cách lấy đạo hàm theo thời gian phương trình (3.1), ta có được hệ phương trình vận tốc:
Từ phương trình (3.1) và (3.2), ta có thể viết được phương trình động năng và thể năng của hệ:
(3.16) Áp dựng phương trình Euler-Lagrange
Phương trình toán của hệ được viết lại với dạng sau
Từ phương trình (3.29) và (3.33), hệ phương trình có thể viết lại như sau:
Ta có phương trình không gian trạng thái như sau:
Các vị trí đặc biệt:
Với 𝜃 1 = 𝜋 2 , 𝜃 2 = 0: cả hai khớp ở vị trí hướng lên.
Với 𝜃1 = 𝜋 2 , 𝜃2 =𝜋: thanh thứ nhất hướng lên, thanh thứ 2 hướng xuống.
Với 𝜃 1 =− 𝜋 2 , 𝜃 2 = 0: cả hai thanh hướng xuống Với 𝜃1 =− 𝜋 2 , 𝜃2 =𝜋: thanh thứ nhất hướng xuống, thanh thứ hai hướng lên.
Nhận xét: từ các phương trình (3.29), (3.30), (3.31), (3.32), ta thấy rằng các tham số P có vai trò chính trong phương trình toán của hệ thống và sẽ là các tham số được sử dụng để xây dựng mô hình mô phỏng cũng như thiết kế các giải thuật Độ chính xác của tham số P sẽ quyết định đến độ chính xác của mô phỏng cũng như bộ điều khiển Vì vậy, ở mục tiếp theo, tôi sẽ trình bày về việc áp dụng giải thuật GA để ước lượng các tham số P và ma sát của mô hình.
Ước lượng thông số mô hình thực
Chỉ tiêu ước lượng
Từ phương trình (3.41) và (3.43) các tham số được nhận dạng lần lượt là 𝑃1, 𝑃2,𝑃3, 𝑃4, 𝑃5, 𝑏1,𝑏2 Và ta thấy rằng 𝜏 tỉ lệ với các biến được nhận dạng Hay nói cách khác là𝐾 𝐷𝐶 , mối liên hệ giữa ngõ ra bộ điều khiển số với lực tác động có thể được bỏ qua.
Khi nhận dạng mô hình, ta không biết đã cấp chính xác bao nhiêu 𝑁.𝑚 Vì vậy, các tham số của mô hình không phản ánh chính xác giá trị của tham số đó mà sẽ thay đổi tuyến tính theo tỉ lệ sai lệch giá trị 𝑁.𝑚 thực tế Nhưng các tham số được nhận dạng vẫn có giá trị khi mô phỏng và thiết kế bộ điều khiển.𝐾 𝐷𝐶 sẽ tồn tại ở trong các giá trị P và ma sát.
Khi hàm chi phí (3.46) tiến về 0, cũng là khi các giá trị cần nhận dạng ở trạng thái gần đúng nhất Vậy chỉ tiêu ước lượng được đặt ra là tối thiểu hàm chi phí.
Phương pháp ước lượng
Phương pháp ước lượng được sử dụng là giải thuật di truyền GA truyền thống được tham khảo từ [16].
Mục tiêu là tối thiểu hàm chi phí (3.46).
Phương pháp mã hóa: mã hóa thập phân.
Phương pháp chọn lọc: Chọn lọc xếp hạng tuyến tính.
Bảng 3.4: Các giá trị tham số sử dụng trong giải thuật GA
Ký hiệu Ý nghĩa Giá trị pop_size Số cá thể trong quần thể 200 max_generation Số lần lặp tối đa 4000 cross_prob Xác suất lai ghép 0.9 mutate_prob Xác suất đột biến 0.01 epsilon Điều kiện dừng 0.00000000001 dec Vị trí dấu chấm thập phân 1 sig Số chữ số có nghĩa 6
Range_P Giá trị [Min - Max] của P [0 - 0.5]
Range_b Giá trị [Min - Max] của b [0 - 0.1]
Giải thích ý nghĩa từ Bảng 3.4:
∙ Có 7 tham số cần được ước lượng.
∙ Các tham số có dạng 0.00000.
∙ Khi nào hàm mục tiêu nhỏ hơn epsilon hoặc đạt tới max_generation thì giải thuật sẽ dừng lại
Lấy mẫu dữ liệu
Ngõ vào Dữ liệu ta chỉ có 𝑢, 𝜃 1 và 𝜃 2 (Hình 3-8) Từ đây ta gọi tín hiệu là 𝑢, không phải là 𝜏 và 𝜃˙1, 𝜃˙2 có được bằng cách đạo hàm 𝜃1 và 𝜃2, sau đó dùng một bộ lọc để làm đẹp tín hiệu (Hình 3-9).
Hình 3-8: Dữ liệu dùng nhận dạng
Hình 3-9: Dữ liệu vận tốc góc trước và sau lọc
Kết quả ước lượng
Kết quả nhận dạng mô hình khi sử dụng giải thuật GA (Bảng 3.5).
Từ Hình 3-10, ta thấy kết quả nhận dạng cho kết quả rất gần với giá trị đo thực tế Ta chấp nhận kết quả này và những tham số từ Bảng 3.5 sẽ được sử dụng trong mô phỏng và thiết kế các bộ điều khiển.
Bảng 3.5: Kết quả khi chạy giải thuật GA để nhận dạng mô hình
Hình 3-10: Kết quả đánh giá mô hình
Xây dựng mô hình mô phỏng trên Matlab
Sau khi có được phương trình động lực học, các giá trị tham số của hệ thống đã được nhận dạng Ở mục này, ta xây dựng mô hình mô phỏng trên Matlab/Simulink và mô hình 3D trên SolidWorks 2012.
Thông số mô phỏng (Bảng 3.6) được lấy từ các thông số đã được ước lượng từ phần trước.
Bảng 3.6: Các giá trị của tham số mô phỏng
Ký hiệu Giá trị Đơn vị
Mô hình Matlab/Simulink (Hình 3-11)
Hình 3-11: Sơ đồ Matlab/Simulink mô phỏng hệ Pendubot
Hình 3-11 các phương trình xây dựng mô phỏng được lấy từ phương trình (3.30), (3.33), (3.34) Có 2 khâu giới hạn vận tốc, để tránh lỗi mô phỏng khi điều khiển mất ổn định.
Mô hình 3D của hệ Pendubot được xây dựng trên SolidWorks và được đưa vàoMatlab/Simulink gói gọn trong khối "3D Model" ở Hình 3-11 với 2 ngõ vào là 2 giá trị góc𝜃 1 và 𝜃 2 Mô hình 3D sẽ thay đổi tùy theo giá trị góc ở ngõ vào Hình 3-12 là hình ảnh 3D minh họa 2 vị trí cân bằng ổn định và vị trí cân bằng không ổn định của hệ.
Hình 3-12: Hình ảnh mô hình Pendubot 3D Kiểm tra các vị trí đặc biệt
Hình 3-13: Đáp ứng của mô hình tại điểm cân bằng không ổn định
Hình 3-13 cho thấy tại điểm cân bằng không ổn định,nếu không có lực tác động, hệ sẽ không thay đổi trạng thái
Hình 3-14 khi bị tác động bởi ngoại lực, hệ mất đi trạng thái cân bằng không ổn định, chuyển về trạng thái cân bằng ổn định
Hình 3-14: Đáp ứng của mô hình tại điểm cân bằng không ổn định khi có lực tác động
Hình 3-15: Đáp ứng của mô hình tại điểm cân bằng ổn địnhHệ có một vị trí cân bằng ổn định Hình 3-15 và một vị trí cân bằng không ổn địnhHình 3-13 với tín hiệu điều khiển 𝜏 = 0 Khi ở vị trí cân băng không ổn định, nếu
Hình 3-16: Đáp ứng của mô hình tại điểm bất kỳ chịu tác động của ngoại lực thì hệ sẽ trở về vị trí cân bằng ổn định Hình 3-14 hoặc khi không ở vị trí cân bằng, hệ có xu hướng tiến về phía điểm cân bằng ổn định Hình 3-16.
Ngoài ra, hệ còn vô số điểm cân bằng với 𝜏 ̸= 0 Từ phương trình (3.29), (3.32), tại điểm cân bằng (𝜃 1 +𝜃 2 = 𝜋 2 )
Như vậy, tại điểm cân bằng bất kỳ, giá trị của 𝜏 như sau:
Bộ điều khiển LQR cân bằng
Bộ điều khiển LQR được thiết kế đễ giữ cân bằng hệ tại vị trí cân bằng không ổn định.
Với những thông số đã chọn như Bảng 3.6, ta tính được mô hình tuyến tính của hệ như sau:
Chọn ma trận𝑄 và𝑅 theo tiêu chí đơn giản nhất cho hệ thống đủ ổn định, chưa tính đến việc tối ưu các thông số.
Tính điều khiển được của hệ thống:
Như vậy, hệ thống có tính điều khiển được Ma trận độ lợi𝐾 được tính ra từ các thông số của hệ thống mô phỏng.
Sơ đồ mô phỏng Matlab/Simulink của giải thuật LQR (Hình 4-1):
Hình 4-1: Sơ đồ mô phỏng giải thuật LQR
Kiểm chứng kết quả với các giá trị khởi tạo 𝜃 1 = 90,𝜃 2 = 5 (𝐷𝑒𝑔) Ta có được đáp ứng (Hình 4-2): Kiểm chứng kết quả với các giá trị khởi tạo𝜃1 = 90,𝜃2 = 5 (𝐷𝑒𝑔), có tác động tại giây thứ 3 (Hình 4-3).
Hình 4-2: Kết quả mô phỏng bộ điều khiển LQR
Hình 4-3: Kết quả mô phỏng bộ điều khiển LQR có tác động
Nhận xét: Bộ điều khiển LQR giữ cân bằng tốt và cả khi có tác động bên ngoài, hệ thống nhanh chóng trở lại vị trí cân bằng.
Bộ điều khiển Sliding Mode swing-up
Để đưa hệ Pendubot từ vị trí cân bằng ổn định lên vị trí cân bằng ổn định ta cần một bộ điều khiển riêng biệt Cơ chế của quá trình này là bộ điều khiển vị trí dùng phương pháp Sliding Mode Phương pháp này có đặc điểm là tính ổn định do dựa trên một hàm lyapunov khi thiết kế Khi đưa hệ đến vị trí gần điểm cân bằng không ổn định sẽ có một cơ chế chuyển đổi sang bộ điều khiển cân bằng để giữ cân bằng và điều khiển bám tín hiệu đặt. sai số được xác định như sau:
Từ phương trình (4.1), ta có đạo hàm của sai số: ˙
Chọn mặt trượt sao cho khi mặt trượt tiến về 0, sẽ kéo theo các biến trạng thái tiến về 0.
Từ phương trình (4.3), ta thấy nghiệm của phương trình khi𝑠→0có dạng𝑒=𝐴.𝑒 −𝑐.𝑡 với A là hằng số Khi 𝑡→ ∞ thì 𝑒 →0 ˙ 𝑠 =𝑐𝑒˙+ ¨𝑒=𝑐(𝑥 2 −𝑟)˙ −𝑟¨+𝑓 1 +𝑔 1 𝜏 (4.4) Ở trong mô phỏng, ta chọn 𝑐= 3 và 𝐾 = 50. đặt ˙
Từ các phương trình (4.3), (4.4), (4.5), ta có thể dẫn ra luật điều khiển
Mục tiêu của bộ điều khiển là bám theo tín hiệu đặt (Hình 4-4) mô phỏng theo quá trình như sau: Đầu tiên, hệ phải lùi lại lấy đà để tạo ra thế năng Sau đó động cơ cung cấp một động năng đưa thanh 1 bám theo tín hiệu đặt, đồng thời thanh thứ 2 cũng nhận được động năng gián tiếp từ thanh 1 Tại thời điểm thanh 1 ở gần vị trí cân bằng không ổn định, động năng của thanh thứ 2 phải đủ lớn hơn thế năng để có thể đưa lên được vị trí cân bằng không ổn định.
Hình 4-4: Tín hiệu tham chiếu swing-up
Giá trị 11.13 𝜋 ở phương trình (4.7) chính là chìa khóa tạo ra thế năng ban đầu Giá trị này được chọn lựa qua thử sai Giá trị càng lớn thì động năng để swing-up càng lớn, giá trị này chọn vừa đủ để khi thực hiện swing-up, hệ không mất ổn định khi chuyển sang bộ điều khiển cân bằng.
Khâu chuyển đổi từ swing-up sang cân bằng
Hình 4-5: Sơ đồ khối bộ điều khiển kết hợp swing-up và cân bằng
Kết quả mô phỏng được thể hiện ở Hình 4-6Minh họa swing-up với hình ảnh 3D (Hình 4-7)Nhận xét: Kết quả mô phỏng hình 4-6 cho thấy đáp ứng của hệ ở khâu swing-up rất tốt giá trị 11.13 𝜋 ở phương trình (4.7) và 𝑆𝑊 𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 được chọn là phù hợp Sự chuyển đổi giữa swing-up và cân bằng tốt, hầu như không nhận ra thời điểm có sự chuyển đổi.
Hình 4-6: Kết quả mô phỏng khâu swing-up với bộ điều khiển Sliding Mode
Hình 4-7: Minh họa 3D khâu Swing-up
Bộ điều khiển LQR với tín hiệu vào thay đổi
Từ kết quả của bộ điều khiển cân bằng khi thay thế 𝜃 0 (điểm làm việc của hệ tuyến tính) bằng một tính hiệu 𝑟𝑒𝑓 ta được sơ đồ bộ điều khiển bám (Hình 4-8) và giá trị của 𝑢 0 là 0, ta chưa xét đến giá trị này.
Hình 4-8: Sơ đồ bộ điều khiển bám LQR
Hình 4-9 là kết quả của bộ điều khiển bám LQR với tín hiệu tham chiếu 𝑟𝑒𝑓 1 𝜋 5𝑠𝑖𝑛( 𝜋.𝑡 10 ) + 𝜋 2 , 𝑟𝑒𝑓 2 = 𝜋 2 −𝑟𝑒𝑓 1 s
Hình 4-9: Đáp ứng bộ điều khiển bám LQR
Tuy nhiên vẫn còn hạn chế về biên độ, khi biên độ của tín hiệu đặt ở mức 𝜋 4 thì hệ không thể bám theo được và trở nên mất ổn định Điều này có thể lý giải do bộ điều khiển LQR tuyến tính hóa tại điểm làm việc, khi càng xa điểm làm việc thì hàm truyền phương trình tuyến tính không còn chính xác dẫn đến luật điều khiển cũng không chính xác gây nên mất ổn định cho hệ thống.
Bộ điều khiển Fuzzy với tín hiệu vào thay đổi
Từ hạn chế của bộ điều khiển bám LQR trên, tôi đề xuất một mô hình Fuzzy là một sự mở rộng của thuật toán LQR, làm tăng phạm vi điều khiển của giải thuật Ý tưởng chính của giải thuật là tuyến tính hóa tại nhiều điểm, rôi kết hợp chúng lại nhờ mô hình Fuzzy Càng nhiều điểm thì độ chính xác càng tăng Khi số điểm tuyến tính lên tới vô hạn, ta có bộ điều khiển non-L QR. Đối với bài toán bám quỹ đạo Pendubot, tôi chọn tuyến tính hóa tại 5 điểm:
Với mỗi điểm, ta có các mô hình tuyến tính sau:
Tính điều khiển được của thệ thống
Với các giá trị của x từ 1 đến 5 ta đều được
Như vậy hệ thống có tính điều khiển được.
Tương ứng với các giá trị 𝐾:
Mô hình Fuzzy Takegi-Sugeno một ngõ vào là 𝜃1, 1 ngõ ra tương ứng với các giá trị của hệ số 𝐾.
Ngõ ra của mô hình Fuzzy tương ứng với 5 giá trị K.
Hình 4-10: Hàm liên thuộc ngõ vào mô hình Fuzzy
Luật mờ: If 𝜃 1 is mf1 then 𝐾 is 𝐾 1 If 𝜃 1 is mf2 then 𝐾 is 𝐾 2 If 𝜃 1 is mf3 then 𝐾 is 𝐾 3 If 𝜃 1 is mf4 then 𝐾 is 𝐾 4 If 𝜃 1 is mf5 then 𝐾 is 𝐾 5 Với luật mờ này, nếu như 𝜃 1 ra ngoài phạm vi thì ngõ ra sẽ trở về 0 Đảm bảo an toàn cho mô hình khi luật điều khiển mất ổn định hoặc mô hình đang hoạt động gặp sự cố.
Như vậy, luật điều khiển sẽ là:
Giải thích phương trình (4.12), giá trị𝐾 sẽ là ngõ ra của mô hình mờ, mô hình mờ với ngõ vào là các biến trạng thái Giá trị 𝑢𝑟𝑒𝑓 có thể tính bới công thức sau:
Từ phương trình (3.29), (3.32), tại điểm cân bằng (𝜃 1 +𝜃 2 = 0)
Như vậy, tại điểm cân bằng giá trị của 𝑢 𝑟𝑒𝑓 như sau:
Tuy nhiên, đây là giá trị 𝑢 𝑟𝑒𝑓 chỉ đúng khi hệ đang cân bằng, còn hệ di chuyển, thi
Hình 4-11: Sơ đồ Matlab/Simulink bộ điều khiển Fuzzy-LQR giá trị trên chưa chính xác Ở bộ điều khiển Fuzzy-LQR, ta chọn 𝑢 𝑟𝑒𝑓 = 0 và trong sơ đồ Matlab/simulink của bộ điều khiển Fuzzy-LQR (Hình 4-11) 𝑢𝑟𝑒𝑓 được thể hiện qua bộ điều khiển PID với các thông số 𝑃, 𝐼, 𝐷 đều bằng 0.
Kết quả của bộ điều khiển bám LQR với tín hiệu tham chiếu 𝑟𝑒𝑓1 = 𝜋 4 𝑠𝑖𝑛( 𝜋.𝑡 10 ) + 𝜋 2 , 𝑟𝑒𝑓 2 = 𝜋 2 −𝑟𝑒𝑓 1
Hình 4-12 cho thấy đáp ứng của bộ điều khiển Fuzzy-LQR tốt hơn so với bộ điều
Hình 4-12: Đáp ứng bộ điều khiển bám Fuzzy LQR
Hình 4-13: Sự thay đổi của giá trị K trong quá trình bám tín hiệu sin khiển LQR bình thường Và hình 4-13 cho thấy sự thay đổi K với tín hiệu vào thay đổi theo hình sin.
Nhận xét: Bộ điều khiển Fuzzy cho đáp ứng khi bám tốt hơn so với bộ điều khiển LQR do bộ Fuzzy là kết hợp của nhiều bộ điều khiển LQR Kết quả này chứng minh khả năng của mô hình mờ trong lĩnh điều khiển là rất lớn.
Bộ quan sát Kalman
Bộ quan sát Kalman có ý nghĩa quan trọng trong việc triển khai trên mô hình thực Ở mô hình thực nghiệm, ta chỉ dùng 2 Encoder để đo vị trí góc (𝑟𝑎𝑑) Còn vận tốc góc nếu sử dụng phương pháp đạo hàm thì sẽ bị nhiễu do lấy mẫu ở tần số 1000𝐻𝑧 (đã nói ở chương 3) Bộ quan sát Kalman với ngõ vào là 2 vị trí góc, ngõ ra là đầy đủ các biến trạng thái, bao gồm 2 vị trí góc và 2 vận tốc góc được ước lượng Và bộ quan sát Kalman có thể giúp hệ chạy ở tần số 1000𝐻𝑧 hoặc hơn.
Từ lý thuyết bộ quan sát kalman, ta xây dựng mô hình mô phỏng trên Matlab/Simulink:
Hình 4-14: Sơ đồ Matlab/Simulink của bộ quan sát Kalman
Khi kết hợp ngõ ra của bộ quan sát Kalman với ngõ vào bộ điều khiển LQR, ta có bộ điều khiển LQG.
Kiểm chứng kết quả với các giá trị khởi tạo 𝜃1 = 90, 𝜃2 = 5 (𝐷𝑒𝑔) và so sánh ngõ ra bộ quan sát Kalman với ngõ ra mô hình mô phỏng (Hình 4-16) ta thấy bộ quan sát
Hình 4-15: Sơ đồ Matlab/Simulink của bộ điều khiển LQG Kalman thực hiện rất tốt nhiệm vụ các biến trạng thái được ước lượng chính xác.
Hình 4-16: So sánh ngõ ra bộ quan sát kalman
Xây dựng chương trình chạy thực nghiệm
Hình 5-1: Lưu đồ các bước chạy thực nghiệm Để chạy thực nghiệm, ta cần phải có chương trình nạp xuống vi điều khiển Để chương trình chạy thực nghiệm giống với chương trình chạy mô phỏng, ta chỉ cần việc dùng Matlab để tạo ra nó.
Chương trình chạy thực nghiệm được xây dựng trên nên Matlab/Simulink Mat- lab/Simulink sẽ chuyển sơ đồ khối mô phỏng thành một hàm code C Gọi hàm này trong chương trình tương đương với một "step time" trong mô phỏng Hàm này sẽ đặt trong một vòng lặp timer có thời gian bằng với thời gian lấy mẫu là 0.01s, tương đương100Hz Trước khi gọi hàm này, ta phải cung cấp các biến ngõ vào như góc𝜃 1 ,𝜃 2 được đo bằng cách đọc Encoder Sau khi gọi hàm này, ta cung cấp ngõ ra vào bộ PWM để điều khiển động cơ Với cách làm như vậy chương trình chạy thực nghiệm và mô phỏng sẽ tương đương nhau Lưu đồ được thể hiện ở Hình 5-1
Kết quả thực nghiệm
Bộ điều khiển LQR
Hình 5-2: Sơ đồ bộ điều khiển LQR trong thực nghiệm
Hình 5-3: Đáp ứng của bộ điều khiển cân bằng LQR Ở Hình 5-3 cho thấy khả năng giữ cân bằng tại điểm cân bằng không ổn định của bộ LQR Các giây thứ 10, 17, hệ thống chịu tác động ngoại lực từ bên ngoài và bộ điều khiển đã thực hiện tốt chức năng giữ cân bằng của mình.
Bộ điều khiển LQR khi thực hiện bám tín hiệu sin𝑟𝑒𝑓 = 𝜋 4 𝑠𝑖𝑛(0.1𝜋.𝑡) + 𝜋 2 (Hình 5-4)Bộ điều khiển LQR cho kết quả tốt khi thực hiện điều khiển giữ cân bằng tại điểm cân bằng không ổn định Hình 5-3, tuy nhiên khi sang chế độ điều khiển bám Hình 5-4,bộ điều khiển tỏ ra yếu thế khi không thực hiện được nếu biên độ tín hiệu bám tăng lên 𝜋 3
Hình 5-4: Đáp ứng của bộ điều khiển LQR khi bám theo tin hiệu sine
Bộ điều khiển LQG
Bộ điều khiển LQG là kết hợp giữa bộ điều khiển LQR và bộ quan sát trạng thái Kalman Bộ quan sát trạng thái Kalman có nhiệm vụ cung cấp tín hiệu các biến trạng thái cho bộ điều khiển LQR.
Bộ quan sát Kalman có 2 ngõ vào là 𝜃 1 và 𝜃 2 , 4 ngõ ra bao gồm 4 biến trạng thái 𝑥 1 ,𝑥 2 ,𝑥 3 ,𝑥 4 được ước lượng, mục đích của bộ quan sát kalman này la ước lượng 2 biến trạng thái vận tốc góc 𝑥 2 ,𝑥 4 bị nhiễu do Encoder độ phân giải kém và thời gian lấy mẩu nhanh đặc biệt là𝑥 2
Bô điều khiển LQG cho kết quả chưa tốt, có thể giữ được cân bằng, tuy nhiên chưa
Hình 5-5: Sơ đồ bộ điều khiển LQG trong thực nghiệm
Hình 5-6: Đáp ứng của bộ điều khiển LQG khi giữ cân bằng
Hình 5-7: Ước lượng thông số của bộ quan sát kalman giữ được vị trí.Do bộ điều khiển LQG lấy giá trị gián tiếp thông qua một bộ quan sát kalman, nên yêu cầu hệ phải cách ly Ở phần thực thi mô hình, dây encoder gây nhiễu, nên làm hỏng bộ quan sát kalman.
Tuy nhiên, bộ điều khiển LQG có thể giúp hệ thống hoạt động ở thời gian lấy mẫu nhỏ hơn 1ms (nếu không xét đến vấn đề truyển thông và tốc độ tính toán của vi điều khiển).
Với những lý do trên, đến đây bộ điều khiển LQG sẽ không kết hợp với Fuzzy như dự kiến mà sẽ dừng lại vì lý do phần mô hình thực nghiệm không đáp ứng được.
Bộ điều khiển Fuzzy
Bộ điều khiển Fuzzy được xây dựng như mô phỏng với ngõ vào là biến trạng thái ở thanh thứ nhất, ngõ ra là các giá trị hệ số K, các giá trị của K được xây dựng trên ý tưởng kết hợp các bộ điều khiển LQR để mở rộng tầm điều khiển.
Khả năng giữ cân bằng tại vị trí cân bằng không ổn định của bộ điều khiển Fuzzy giống hoàn toàn so với bộ điều khiển LQR, chỉ khác với tín hiệu vào thay đổi theo hình sin, bộ điều khiển Fuzzy cho kết quả tối ưu hơn bộ điều khiển LQR.
Bộ điều khiển Fuzzy với tín hiệu vào dạng sin𝑟𝑒𝑓 = 𝜋 3 𝑠𝑖𝑛(0.1𝜋.𝑡) + 𝜋 2 (Hình 5-9)
Hình 5-8: Sơ đồ bộ điều khiển Fuzzy-Sliding Mode trong thực nghiệm
Kết quả (Hình 5-9) cho thấy, đáp ứng với tín hiệu vào có biên độ 𝜋 3 bộ điều khiển fuzzy vẫn giữ được ổn định, trong khi bộ điều khiển LQR chỉ ổn định với tín hiệu có biên độ bé hơn 𝜋 4
Hình 5-9: Đáp ứng của bộ điều khiển Fuzzy khi bám tín hiệu sin
Từ các giả thuyết khi thiết kế ban đầu, bộ điều khiển Fuzzy đã cho thấy tiềm năng hơn hẳn bộ điều khiển LQR Khả năng mở rộng tầm điều khiển, khả năng kết hợp các giải thuật và với kết quả thực tế đã minh chứng cho điều đó.
Bộ điều khiển Sliding Mode
Bộ điều khiển Sliding Mode không thể đứng một mình trong chương trình, nó phải đi cùng một bộ điều khiển cân bằng nào đó Ở đây bộ điều khiển Fuzzy được sử dụng kết hợp với bộ điều khiển Swing-up Sliding Mode (Hình 5-8) Đơn giản vì bộ điều khiển Fuzzy hiện tại là bộ điều khiển cân bằng tốt nhất đối với luận văn này.
Hình 5-10: Sơ đồ khối Sliding Mode trong thực nghiệm
Hình 5-11: Sơ đồ bộ điều khiển Sliding Mode trong thực nghiệm
Bộ điều khiển Swing-up Sliding Mode cho kết quả tốt Hệ thống dễ dàng chuyển đổi từ swing-up sang cân bằng Hiện tại, kết quả thực nghiệm swing-up cho kết quả với tỉ lệ trên 90% thành công Các trường hợp thất bại do lỗi phát sinh từ phần cơ khí.
Một số hình ảnh từ thực nghiệm, Hình 5-13 thể hiện các giai đoạn của quá trình Swing- up theo thứ tự từ trái qua phải, từ trên xuống dưới Hình 5-14 là hình ảnh tại 2 đỉnh
Hình 5-12: Đáp ứng của khâu swing-up biên độ khi bám theo tín hiệu sine.
Hình 5-13: Các giai đoạn swing-up thực tế
Hình 5-14: Hình hệ thống tại 2 đỉnh khi bám tín hiệu sine
So sánh với kết quả mô phỏng
Kết quả thực nghiệm sẽ được so sánh với mô hình mô phỏng có nhiễu giống với mô hình thực nghiệm nhất
Hình 5-15: Hệ thống Pendubot mô phỏng có nhiễu
Các nhiễu được thêm vào có𝑚𝑒𝑎𝑛= 0, và𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒được tính như sau: Giả thuyết các sai số lý thuyết từ Mục 3.2.2, các sai số xuất hiện với tần suất 5% Áp dụng công thức tính Variance:
Giả sử, ta có(𝑥 𝑛 −𝜇) 2 luôn bằng𝑒𝑟𝑟𝑜𝑟 2 𝑥 , khi tín hiệu quanh giá trị 0 Ta có công thức tính Variance được viết lại như sau:
𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 của noise_theta1 = 7.7225e-07 𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 của noise_theta1_dot = 0.0077 𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 của noise_theta2 = 1.1704e-07 𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 của noise_theta2_dot = 0.0012
Do là giải thuật tốt nhất, nên giải thuật Fuzzy-Sliding Mode sẽ được so sánh giữa mô phỏng và thực tế Và Hình 5-16 là đáp ứng của hệ thống mô phỏng.
Hình 5-16: Đáp ứng của hệ thống Pendubot mô phỏng có nhiễu
So sánh với đáp ứng mô hình thực nghiệm Hình 5-9 với kết quả mô phỏng Hình5-16, ta thấy kết quả tương đồng với nhau Kể cả tín hiệu điều khiển, cũng có biên độ dao động giống nhau Điều này chứng minh được giải thuật GA ước lượng thông số mô hình cho kết quả tốt, mô hình mô phỏng và thực nghiệm gần với nhau
Vấn đề và hướng phát triển
Những vấn đề cần khắc phục đối với luận văn:
∙ Cải tiến mô hình cơ khí khắc phục tình trạng dây encoder gây nhiễu
∙ Áp dụng giải thuật LQG trên mô hình thực với kết quả tốt hơn.
∙ Thay đổi động cơ với moment lớn hơn, Encoder độ phân giải cao hơn để giảm sai số, giảm thời gian lấy mẫu.
Hướng phát triển trong tương lai:
∙ Kết hợp Fuzzy với LQG hoắc kết hợp thuật toán khác với mô hình Fuzzy cho bài toán điều khiển Pendubot hoặc mô hình khác
∙ Điều khiển bám trên toàn phạm vi điều khiển.
∙ Phát triển giải thuật điều khiển trong "vùng chết" của mô hình
∙ Áp dụng giải thuật tối ưu tìm thông số bộ điều khiển
[1] M Spong and D Block, “The pendubot: a mechatronic system for control research and education,” in Decision and Control, 1995., Proceedings of the 34th IEEE Conference on, vol 1, pp 555–556, Dec 1995.
[2] M Spong, “Underactuated Mechanical Systems,” Lecture notes in control and information sciences, Control problems in robotics and automation, pp 135–150, 1998.
[3] C Zhen, “Trajectory tracking control of pendubot using the takagi-sugeno fuzzy sheme,” 2002.
[4] T D Thamer Albahkali, Ranjan Mukherjee, “Swing-up control of the pendubot:
An impulse–momentum approach,” vol 25, pp 975–982, august 2009.
[5] E B.-C Serrano Heredia, Alexander G Loukianov, “Sliding mode block control regulation of the pendubot,” inDecision and Control and European Control Con- ference (CDC-ECC), 2011 50th IEEE Conference on, pp 8249–8254, Dec 2011.
[6] K J Xin Xin, “Existence and design of a strongly stabilizing controller for the pendubot,” vol 1, pp 1598–1602, August 2012.
[7] D Z Dianwei Qian, Jianqiang Yi, “Hierarchical sliding mode control to swing up a pendubot,” Proceedings of the American Control Conference, pp 5254–5259, July 2007.
[8] D S Yoo, “Balancing control for the pendubot using sliding mode,” in Robotics (ISR), 2013 44th International Symposium on, pp 1–4, October 2013.
[9] R G S Rowland W O’Flaherty and A R Teel, “Hybrid control strategy for robust global swing-up of the pendubot,” Proceedings of the American Control Conference, pp 1424–1429, June 2008.
[10] C.-Y S Xiao Qing Ma, “A new fuzzy approach for swing up control of pendubot,”
Proceedings of the 2002 American Control Conference, vol 2, pp 1001–1006, May 2002.
[11] J Y Dongbin Zhao, “Swing up pendubot with a ga-tuned bang-bang controller,”
IEEE International Conference on Robotics, Intelligent Systems and Signal Pro- cessing, vol 2, pp 752–757, October 2003.