TỔNG QUAN
Tổngquan
Với sự phát triển nhanh chóng của khoa học kỹ thuật, công nghệ ngày càng thay đổi nhằm nâng cao chất lượng cuộc sống và an toàn cho con người Các công việc nặng nhọc và nguy hiểm trong môi trường hóa chất dễ cháy nổ đang dần được robot thay thế Robot hiện diện trong nhiều lĩnh vực như kinh tế, khoa học kỹ thuật và đời sống, đáp ứng nhu cầu ngày càng cao của con người Việc chế tạo robot yêu cầu kiến thức về cơ khí, điện tử, kỹ thuật điều khiển và công nghệ thông tin, và chúng được coi là sản phẩm của ngành cơ điện tử (mechatronic) Hiện nay, robot có khả năng nhận dạng giọng nói, cảm xúc và di chuyển như con người Thiết kế robot ngày càng phức tạp, thường chia nhỏ công việc thành các phần đơn giản để thực hiện, trong đó việc giữ thăng bằng khi di chuyển là rất quan trọng Để robot di chuyển giống như con người, chúng cần nhẹ và nhỏ gọn để tiết kiệm năng lượng, mặc dù một số cơ cấu dẫn động có thể được giảm bớt mà vẫn đảm bảo tính linh hoạt và khả năng di chuyển hiệu quả.
Pendubot là một mô hình điển hình cho hệ thống thiếu cơ cấu truyền động, với thiết kế robot có hai bậc tự do hoạt động trong mặt phẳng đứng Mô hình này minh họa rõ nét các đặc trưng của hệ thống mà không cần cơ cấu truyền động.
Pendubot là một hệ thống truyền động phức tạp với hai cơ cấu truyền động, trong đó khớp thứ nhất được gắn với cơ cấu truyền động và khớp thứ hai nối với khớp thứ nhất qua trục liên kết tự do Hệ thống này có hai bậc tự do, cho phép điều khiển từ vị trí cân bằng dưới lên vị trí cân bằng trên, và giữ ổn định tại vị trí đó Pendubot có tính không ổn định cao và độ phi tuyến lớn, thường được ứng dụng trong kiểm chứng kỹ thuật điều khiển Đặc tính động học của Pendubot tương tự như quá trình phóng tên lửa hoặc chuyển động của cần cẩu, làm cho nó trở thành một công cụ quan trọng trong nhiều ứng dụng thực tế.
Với sự phát triển của khoa học kỹ thuật, các phương pháp điều khiển thông minh đã được ứng dụng rộng rãi, mang lại hiệu quả cao hơn khi kết hợp nhiều phương pháp để điều khiển một đối tượng Luận văn này tập trung vào việc kết hợp bộ điều khiển PID và bộ điều khiển Fuzzy nhằm nâng cao chất lượng điều khiển cho Pendubot Bộ điều khiển PID đảm nhiệm vai trò chính trong việc giữ Pendubot cân bằng, trong khi bộ điều khiển Fuzzy được sử dụng để tinh chỉnh và bù đắp các sai số do nhiễu và mômen sinh ra từ động cơ Bên cạnh đó, thuật toán tối ưu hóa GA được áp dụng để tìm ra các thông số điều khiển tốt nhất cho cả Fuzzy và PID Do đó, đề tài nghiên cứu "Ứng dụng Fuzzy trong tối ưu hóa bộ điều khiển PID cho hệ con lắc ngược" được lựa chọn.
1.1.2Các kết quả nghiên cứu trong và ngoài nước Đã có nhiều các công trình nghiên cứu khoa học, các bài báo trong và ngoài nước thực hiện công việc nghiên cứu về pendubot Đặc biệt vấn đề swing-up và cân bằng Pendubot đƣợc các nhà khoa học đang nghiên cứu và cải tiến, có rất nhiều giải thuật đƣợc đề xuất để phát triển đề tài này nhƣ: điều khiển trƣợt, điều khiển PID, điều khiển PID-Fuzzy…
1.1.2.1 Các kết quả nghiên cứu ngoài nước
Các phương pháp điều khiển Pendubot bao gồm: điều khiển tuyến tính hóa, điều khiển thông minh, điều khiển lai, điều khiển phi tuyến, điều khiển PID, điều khiển trượt, thuật toán điều khiển tối ưu LQR và điều khiển logic mờ Fuzzy cùng với TS Fuzzy.
Bài báo nghiên cứu một phương pháp tiếp cận mới sử dụng thuật toán Fuzzy để điều khiển swing-up cho Pendubot, nhấn mạnh tính khả thi của bộ điều khiển mờ trong việc quản lý hệ phi tuyến Phương pháp này được đánh giá là dễ tiếp cận hơn so với các phương pháp cổ điển trước đó Tuy nhiên, bài viết vẫn chưa đề cập đến sự kết hợp giữa bộ điều khiển PID và Fuzzy, điều này mở ra hướng nghiên cứu tiếp theo trong lĩnh vực điều khiển tự động.
Điều khiển fuzzy sử dụng card DSP điều khiển Pendubot tại vị trí giữa
Bài báo đề cập đến việc điều khiển swing-up và cân bằng cho pendubot bằng bộ điều khiển mờ, với ưu điểm nổi bật là sử dụng card DSP giúp giảm thời gian lập trình Tuy nhiên, bài viết chỉ tập trung phân tích bộ điều khiển mờ mà chưa đề cập đến việc kết hợp giữa bộ điều khiển PID và bộ điều khiển mờ.
Pendubot là một hệ thống cơ điện tử được sử dụng trong nghiên cứu điều khiển và học tập Bài báo này chủ yếu tập trung vào việc thiết kế phần cứng của Pendubot, trong khi chưa đi sâu vào phân tích các phương pháp điều khiển cho hệ thống này.
1.1.2.2 Các kết quả nghiên cứu trong nước
Trong luận văn "Giữ cân bằng hệ Pendubot sử dụng bộ điều khiển Fuzzy PID cải tiến" của Phùng Khánh Vinh (2014), tác giả đã áp dụng bộ điều khiển PID-fuzzy với cấu trúc Fuzzy được kết nối sau bộ PID Ưu điểm nổi bật của nghiên cứu là việc sử dụng thuật toán di truyền để tối ưu hóa bộ PID-fuzzy, giúp nâng cao hiệu suất điều khiển Tuy nhiên, nhược điểm của hệ thống này là tín hiệu điều khiển có thể bị khuếch đại lên mức giá trị lớn, gây khó khăn trong việc duy trì sự ổn định của hệ thống.
Bài viết của Nguyễn Hồng Phúc (2013) trình bày việc điều khiển hệ Pendubot bằng kỹ thuật điều khiển trượt Bộ điều khiển trượt đa bậc được thiết kế nhằm đưa hệ Pendubot từ vị trí cân bằng ổn định lên vị trí cân bằng bất ổn định và duy trì sự thăng bằng tại điểm này Cấu trúc đa bậc của mặt trượt được xây dựng dựa trên đặc tính của hệ thống, và luật điều khiển được đề xuất Cuối cùng, việc ổn định tiệm cận của các mặt trượt được chứng minh lý thuyết thông qua bổ đề Barbalat.
Ổn định tiệm cận của hai mặt trượt con đã được chứng minh, với các thông số cận được lựa chọn dựa trên các mặt trượt tương ứng Kết quả mô phỏng xác nhận tính khả thi trong thiết kế và chiến lược điều khiển cho hệ thống Hệ thống thể hiện ưu điểm ổn định khi chịu tác động của nhiễu với cường độ thấp, tuy nhiên, khi cường độ nhiễu tăng cao, hệ thống không còn duy trì sự ổn định Hiện tại, hệ thống chưa được thi công thực tế để kiểm chứng tính khả thi.
Mô hình điều khiển cân bằng Pendubot, được nghiên cứu bởi Đỗ Minh Thư vào năm 2015, đã cung cấp cái nhìn tổng quan về các phương pháp điều khiển trước đó Luận văn này tập trung vào phương pháp hồi tiếp tuyến tính hóa riêng phần cho quá trình Swing-up của hệ Pendubot Tuy nhiên, hệ thống thực nghiệm chỉ đạt được việc swing-up trong 3 giây và giữ cân bằng tại vị trí trên.
1.1.3 Những vấn đề còn tồn tại luận văn tập trung giải quyết
1.1.3.1 Những vấn đề còn tồn đọng
Về phần cứng: thiết kế mô hình cơ khí chƣa tốt, rung động nhiều, nhiễu
Về phần điều khiển: việc mô phỏng giải thuật PID – Fuzzy trên phần mềm
Simulink Matlabtương đối ổn định nhưng khi đưa vào mô hình thực tế để điều khiển thì cần hiệu chỉnh lại các thông số để hệ Pendubot cân bằng
1.1.3.2 Mục tiêu đề tài hướng đến giải quyết
Về phần cứng: thiết kế Pendubot sao cho hạn chế rung động
Tìm hiểu bộ điều khiển PID – fuzzy
So sánh kết kết quả mô phỏng giữa bộ điều khiển PID và PID – fuzzy
Sử dụng bộ điều khiển PID – fuzzy để điều khiển Pendubot cân bằng tại vị trí trên.
Ý nghĩa khoa học và cơ sở thực tiễn của đề tài nghiên cứu
Mô hình Pendubot có nhiều ứng dụng thực tiễn, bao gồm cánh tay robot, giữ cân bằng cho robot khi di chuyển, điều khiển xe hai bánh tự cân bằng, và hỗ trợ cân bằng phi hành gia trong không gian Ngoài ra, nó còn được sử dụng để ổn định giàn khoan ngoài biển, giảm thiểu dao động rung lắc, cũng như trong việc điều khiển cẩu hàng và nhiều ứng dụng khác, mang lại lợi ích thiết thực cho con người.
Xác định mục đích nghiên cứu, khách thể và đối tƣợng nghiên cứu
Tính toán xây dựng mô hình toán học của hệ thống
Xác định các thông số của hệ thống
Xây dựng mô hình phi tuyến
Xây dựng các phương pháp điều khiển PID-Fuzzy dựa trên simulink- Matlab và thực nghiệm
Thi công mô hình hệ Pendubot
Giữ ổn định cân bằng Pendubot
Bộ điều khiển PID - fuzzy
Nhiệm vụ nghiên cứu
Xây dựng mô hình toán hệ Pendubot với thanh 1, thanh 2
Thiết kế, mô phỏng bộ điều khiển PID - fuzzy trên phần mềm Simulink Matlab
Thực nghiệm điều khiển hệ Pendubot trên mô hình thực tế
Nhận xét kết quả từ thực nghiệm
Phương pháp nghiên cứu
Tìm kiếm và thu thập thông tin về hệ Pendubot, bao gồm các mô hình toán học và ứng dụng thực tế, từ các bài báo và luận văn cả trong nước và quốc tế.
Sử dụng kết quả mô phỏng trên phần mềm Matlab – Simulink cho Pendubot để kiểm chứng độ tin cậy của bộ điều khiển đƣợc thiết kế
CƠ SỞ LÝ THUYẾT
Bộ điều khiển PID
Bộ điều khiển PID là một trong những bộ điều khiển đƣợc ứng dụng rộng rãi trong nhiều ứng dụng hiện nay bởi tính hiệu quả của nó
Bộ điều khiển PID là sự kết hợp của ba khâu điều khiển: tỷ lệ (P), tích phân (I) và vi phân (D) Khâu tỷ lệ giữ cho đối tượng điều khiển ổn định, trong khi khâu tích phân điều chỉnh độ sai lệch Khâu vi phân giúp bộ điều khiển PID phản ứng nhanh chóng với sự thay đổi của môi trường, đồng thời hỗ trợ việc đảo chiều cho Pedubot.
Bộ điều khiển PID nổi bật với khả năng cải thiện chất lượng điều khiển, đáp ứng các yêu cầu về độ chính xác và ổn định trong công nghệ Tuy nhiên, nó chỉ duy trì sự ổn định quanh một điểm làm việc cố định.
Khâu P tạo ra tín hiệu điều khiển tỷ lệ với giá trị sai lệch bằng cách nhân sai lệch e với hằng số Kp, được gọi là hằng số tỷ lệ.
Khâu P đƣợc tính dựa trên công thức: out p (t)
P out Giá trị ngõ ra
Sơđồ khối của khâu P Hàm truyền
Nếu chỉ có khâu P, sai số tĩnh sẽ luôn xuất hiện, trừ khi giá trị đầu vào của hệ thống bằng 0 hoặc trùng với giá trị mong muốn.
Nếu giá trị khâu P quá lớn sẽ làm cho hệ thống mất ổn định
Khâu I cộng thêm tổng các sai số trước đó vào giá trị điều khiển Việc tính tổng các sai số đƣợc thực hiện liên tục cho đến khi giá trị đạt đƣợc bằng với giá trị đặt, và kết quả là khi hệ cân bằng thì sai số bằng 0
Khâu I đƣợc tính theo công thức:
I out Giá trị ngõ ra khâu I
Khâu I thường đi kèm với khâu P, hợp thành bộ điều khiển PI Nếu chỉ sử dụng khâu I thì đáp ứng của hệ thống sẽ chậm và thường bị dao động
Ta có thể nhận thấy là khâu I làm cho đáp ứng của hệ thống bị chậm đi rất nhiều, còn khâu PI giúp triệt tiêu sai số xác lập
Khâu D trong hệ thống điều khiển tăng cường tốc độ thay đổi của sai số vào giá trị điều khiển ở ngõ ra Khi sai số thay đổi nhanh, nó tạo ra thành phần cộng thêm vào giá trị điều khiển, từ đó cải thiện đáp ứng của hệ thống Điều này giúp hệ thống nhanh chóng thay đổi trạng thái và đạt được giá trị mong muốn một cách hiệu quả.
Khâu D đƣợc tính theo công thức: e out d
D out Ngõ ra của khâu D
K d Hệ số vi phân e Sai số e= SP-PV
Tổng hợp 3 khâu- Bộ điều khiển PID
Bộ điều khiển PID là cấu trúc ghép song song giữa 3 khâu P,I và D
Phương trình vi phân của bộ PID lý tưởng
Phương pháp điều khiển Fuzzy (điều khiển mờ)
2.2.1 Điều khiển mờ Điều khiển sử dụng lý thuyết logic mờ gọi là điều khiển mờ
Bộ điều khiển mờ dựa trên kinh nghiệm của người vận hành hệ thống được thể hiện qua luật mờ Chất lượng của quá trình điều khiển vì vậy phụ thuộc nhiều vào kinh nghiệm và sự hiểu biết của người vận hành.
Một quá trình xử lý mờ nhƣ sau:
Hình 2.1: Sơ đồ khối quá trình xử lý mờ
Trong luận văn này, tín hiệu ngõ vào được xác định là các tín hiệu encoder từ thanh 1 và thanh 2, được truyền về DSP DSP tiếp nhận giá trị điện áp ngõ vào là 3.3VDC.
Ngõ ra: là tín hiệu xung từ DSP xuất tín hiệu sang bo mạch cầu H có giá trị điện áp mức thấp 0VDC, mức cao 5VDC
Cơ sở tri thức: đó là kinh nghiệm của người vận hành hiểu về hệ thống đó
Mờ hóa và giải mờ là quy trình quan trọng trong việc xử lý tín hiệu từ các encoder thanh 1 và thanh 2 Tín hiệu góc rõ ràng được chuyển đổi thành luật mờ, sau đó thực hiện giải mờ để thu được ngõ ra chính xác.
Sơ đồ khối của bộ điều khiển mờ có hồi tiếp có thể trình bày nhƣ sau
Hình 2.2: Các thành phần của bộ điều khiển mờ có hồi tiếp tín hiệu
Trình tự thiết kế một bộ điều khiển mờ
Bước 1: Định nghĩa tất cả các biến ngôn ngữ vào/ra
Bước 2: Xác định các tập mờ cho từng biến ngôn ngữ vào /ra (mờ hóa)
Miền giá trị vật lý của các biến ngôn ngữ
Xác định hàm phụ thuộc + Rời rạc hóa tập mờ
Bước 3: Xây dựng luật hợp thành
Bước 4: Chọn thiết bị hợp thành
Bước 5: Giải mờ Một số nhược điểm của điều khiển mờ:
Mặc dù điều khiển mờ đã có nhiều phát triển, nhưng hiện tại vẫn thiếu các nguyên tắc chuẩn mực cho thiết kế, cũng như chưa thể khảo sát tính ổn định, bền vững, chất lượng và quá trình ảnh hưởng của nhiễu đối với các bộ điều khiển mờ Hơn nữa, nguyên lý tối ưu cho các bộ điều khiển này vẫn chưa được xác định rõ ràng về mặt lý thuyết.
Bộ điều khiển PID kết hợp với bộ điều khiển mờ nhằm nâng cao chất lượng điều khiển cho Pendubot Trong đó, bộ điều khiển PID đảm nhiệm vai trò chính trong việc giữ Pendubot cân bằng, trong khi bộ điều khiển mờ thực hiện việc tinh chỉnh một lượng bù nhỏ để tăng cường độ ổn định của hệ thống Lượng bù này cần thiết để đối phó với các yếu tố như nhiễu, mômen và nhiệt độ động cơ phát sinh khi Pendubot liên tục đảo chiều.
Giải thuật PID được sử dụng làm bộ điều khiển chính cho Pendubot cân bằng, nhưng trong quá trình hoạt động, các yếu tố như momen và nhiễu cơ khí ảnh hưởng đến chất lượng điều khiển Do đó, cần kết hợp bộ điều khiển mờ với bộ điều khiển PID để cải thiện khả năng kiểm soát, giúp Pendubot ổn định hơn tại vị trí cân bằng.
Bộ điều khiển PID-Fuzzy đƣợc sử dụng để điều khiển trong hệ Pendubot nhƣ sau
Hình 2.3: Bộ điều khiển PID-Fuzzy
2.2.5 Thuật toán tối ƣu hóa GA (GENETIC ALGORITHMS)
Thuật toán di truyền GA được áp dụng trong luận văn này để xác định các thông số PID cùng với các giá trị tiền xử lý và hậu xử lý của bộ điều khiển Fuzzy, nhằm tối ưu hóa hiệu suất điều khiển.
Người lập trình xác định khoảng tìm kiếm cho thuật toán GA nhằm tối ưu hóa các thông số bộ PID và fuzzy, với mục tiêu giảm thiểu sai số hệ thống Quá trình tìm kiếm này diễn ra ngẫu nhiên và có thể kéo dài từ 2 đến 3 ngày đêm để đạt được kết quả tối ưu.
HÌNH HÓA HỆ THỐNG
Cơ sở chung
Phương pháp Lagrange [12]dựa trên mối liên hệ tổng năng lượng của hệ thống với lực tổng quát trong một hệ tọa độ tổng quát
Giả thuyết đã xác định một tập hợp các biến 𝜆, 𝑖 = 1, 2, 3, … , 𝑛, được sử dụng làm tọa độ tổng quát để mô tả vị trí các khâu của tay máy n bậc tự do Hàm Lagrange của hệ cơ học là một hàm số phụ thuộc vào các tọa độ tổng quát này.
Trong đó K và V tương ứng là động năng và thế năng của hệ
Từ đó, ta có công thức Lagrange nhƣ sau:
0 là lực tổng quát liên kết với hệ tọa độ tổng quát q, 𝑞 : vector góc và vận tốc góc hệ thống
Động năng của hệ thống là hàm toàn phương của 𝑞 (𝑞 là vector vận tốc góc)
2𝑞 𝑇 𝐷(𝑞)𝑞 (3.3) Ở đây D(q): là ma trận đối xứng định nghĩa dương với mỗi q ∈ R 2 , hay ma trận quán tính
Thế năng của Pendubot là hàm của vị trí góc V = V(q), và độc lập với 𝑞
Phương trình toán hệ thống
3.2.1 Giới thiệu các thông số của hệ thống
Hệ trục tọa độ Pendubot, như mô tả trong Hình 3.1, thể hiện cấu trúc của một hệ thống Pendubot Đây là một hệ thống cơ khí kích thích dưới, hay còn gọi là hệ thống robot với bộ truyền động ở thanh 1, trong khi thanh 2 hoạt động như một thanh quay tự do xung quanh thanh 1.
Để xây dựng mô hình toán học cho Pendubot, cần thiết lập một phương trình động lực học chính xác nhằm hỗ trợ quá trình tổng hợp bộ điều khiển và mô phỏng trên máy tính Một trong những phương pháp phổ biến để thực hiện điều này là phương pháp Euler-Lagrange Phương trình Euler-Lagrange sẽ được áp dụng để tìm ra các đặc tính động lực học của Pendubot.
Với𝐿 = 𝐾 − 𝑉𝐿: hàm Lagrange 𝐾: động năng
𝑉: thế năng 𝜏: lực tác dụng , 𝜏 = 𝜏 1
Bảng 3.1: giải thích các ký hiệu q 1 Góc của thanh 1 q 2 Góc của thanh 2
q 1 Gia tốc góc của thanh 1
q 2 Gia tốc góc của thanh 2 m 1 Khối lƣợng của Thanh 1 l 1 Chiều dài thanh 1
1 l c Khoảng cách từ trục của động cơ đến tâm thanh 1
I 1 Moment quán tính của thanh 1 m 2 Khối lƣợng thanh 2 l 2 Chiều dài thanh 2
2 l c Khoảng cách từ trục Encoder trọng tâm thanh 2
I 2 Moment quán tính thanh 2 g Gia tốc trọng trường
3.2.2 Thiết lập mô hình toán học cho hệ thống pendubot
Tổng động năng hệ thống nhƣsau:
2𝑚 1 𝑣 1 2 :động năng tịnh tiến thanh 1
2𝑚 2 𝑣 2 2 : động năng tịnh tiến thanh 2
Từ hình 3.1 vector vị trí hệ thống là:
𝑦 1 = 𝑙 𝑐1 𝑠𝑖𝑛𝑞 1 → 𝑦 1 = 𝑙 𝑐1 𝑞 1 𝑐𝑜𝑠𝑞 1 : vận tốc theo trục y Thế vào ta đƣợc𝑣 1 2 = 𝑥 1 2 + 𝑦 1 2 = 𝑙 𝑐1 2 𝑞 1 2 𝑠𝑖𝑛 2 𝑞 1 + 𝑙 𝑐1 2 𝑞 1 2 𝑐𝑜𝑠 2 𝑞 1 = 𝑙 𝑐1 2 𝑞 1 2
⇨ 𝑥 2 = −𝑙 1 𝑞 1 𝑠𝑖𝑛𝑞 1 − 𝑙 𝑐2 (𝑞 1 + 𝑞 2 )sin(𝑞 1 + 𝑞 2 ): vận tốc theo trục x
⇨ 𝑦 2 = 𝑙 1 𝑞 1 𝑐𝑜𝑠𝑞 1 + 𝑙 𝑐2 (𝑞 1 + 𝑞 2 )cos(𝑞 1 + 𝑞 2 ): vận tốc theo trục y
2 * cos 2 c c c c v x y l q l q q l l q q q sinq sin q q cosq q q l q l q q l l q q q cosq
Do đó, động năng của hệ thống:
Thế năng của hệ thống:
𝑉 = 𝑚 1 𝑦 1 𝑔 + 𝑚 2 𝑦 2 𝑔 = 𝑚 1 𝑔𝑙 𝑐1 sin𝑞 1 +𝑚 2 𝑔𝑙 1 sin𝑞 1 +𝑚 2 𝑔𝑙 𝑐2 sin(𝑞 1 + q2) (3.10) Đặt các thông số hệ thống nhƣ sau:
Tính toán theo công thức (3.2) và đƣa về dạng ma trận
Mô hình động học hệ thống sẽ là:
𝑤 2 là vector lực ma sát
Xét giả định không có ma sát, mô hình động học hệ thống có thể đƣợc suy ra theo dạng phương trìnhEuler-Lagrange như sau:
Trong đó: D(q): ma trận quán tính
C(𝑞, 𝑞 ): coroilis/ vector hướng tâm G(q) : vector trọng lực
Với 𝑞 = 𝑞1 𝑞 2 𝑇 ; 𝑞 1 và 𝑞 2 là góc của thanh 1 so với phương ngang và góc của thanh 2 so với thanh 1; 𝑞 và 𝑞 là vector vận tốc góc và vector gia tốc góc;
𝜏 = 𝜏 1 0 𝑇 , 𝜏 1 là mô men xoắn bên ngoài đƣa vào thanh 1
Vì 𝐷 𝑞 là ma trận đối xứng dương nên 𝐷 𝑞 có thể viết dưới dạng:
Từ công thức động năng của hệ thống (3.3), (3.9) và (3.12):
𝛽 5 𝑔𝑐𝑜𝑠(𝑞 1 + 𝑞 2 ) Vậy nên các phần 𝐷 𝑞 , 𝐶 𝑞, 𝑞 và 𝐺 𝑞 có thể đƣợc trình bày với năm thông số 𝛽 1 , 𝛽 2 , 𝛽 3 , 𝛽 4 , 𝛽 5 nhƣ sau:
Những thông số sau là cần thiết diễn tả hệ thống:
Những thông số của các thanh có thể đo trực tiếp hoặc đƣợc tính bằng công thức từng thành phần riêng
Moment của mỗi thanh có thể đƣợc tính bằng công thức nhƣ sau: là moment của từng thành phần trên thanh đó
Với các thông số ta đo trực tiếp hoặc tính theo công thức ta đƣợc:
Bảng 3.2: Bảng giá trị các thông số của hệ pendubot
Thế vào các thông số:
Diễn tả không gian trạng thái hệ thống
Bởi vì ma trận 𝐷(𝑞) là ma trận định nghĩa dương, ma trận nghịch đảo 𝐷 −1 (𝑞) của nó là tồn tại
Từ (3.14), hệ thống phương trình hoạt động có thể được viết lại như sau:
(3.19) Tính các thành phần trong (3.19):
− 𝛽 3 𝑞 1 2 𝑠𝑖𝑛𝑞 2 𝛽 1 + 𝛽 3 𝑐𝑜𝑠𝑞 2 Biến trạng thái định nghĩa lại nhƣ sau:
Phương trình không gian trạng thái được diễn tả như sau:
Các thông số từ 𝛽 1 đến 𝛽 5 đƣợc định nghĩa nhƣ (3.11), 𝜏 là moment tín hiệu vào điều khiển và 𝑥 1 đến 𝑥 4 là vector trạng thái của hệ thống Pendubot
Giải q q 1, 2 từ phương trình trên miêu tả 4 điểm cân bằng của hệ thống
: cả thanh 1 và thanh 2 bị đảo ngươ ̣c ở điểm cao nhất, gọi là điểm cân bằng không ổn đi ̣nh vi ̣ trí trên
: cả thanh 1 và thanh 2 trở xuống ở điểm thấp nhất, gọi là điểm cân bằng ổn đi ̣nh ở vị trí dưới
3) 1, 2 , q q 2 : Thanh 1 ở vị trí trên cao và thanh 2 ở vị trí thấp hơn: gọi là điểm cân bằng không ổn định vị trí giữa-cao
4) 1 , 2 , q q 2 : thanh 1 ở vị trí thấp hơn và thanh 2 ở vị trí cao hơn: gọi là điểm cân bằng không ổn đi ̣nh vi ̣ trí giữa-thấp
Hình 3.2: Các vị trí cân bằng
Tuyến tính hóa phương trình chuyển động
Hệ pendubot có xu hướng ổn định ở vị trí cân bằng dưới do tác động của trọng lực Để duy trì vị trí cân bằng không ổn định trên, cần sử dụng một động cơ servo DC để tạo moment xoắn lên thanh 1.
Hệ pendubot gồm 26 thanh nằm ở vị trí cân bằng Khi có nhiễu nhỏ tác động lên thanh 2, thanh này sẽ nghiêng sang phải hoặc trái tùy thuộc vào hướng của nhiễu Sự mất ổn định của hệ thống yêu cầu một moment xoắn tác dụng lên thanh 1, tạo ra moment xoay ngược chiều với độ nghiêng của thanh còn lại để giữ cho nó cân bằng thẳng đứng Để thiết kế điều khiển cân bằng cho pendubot, cần tiến hành tuyến tính hóa phương trình phi tuyến tại điểm làm việc của hệ thống.
Phương trình biến trạng thái có dạng:
Ma trận Jacobian A, B, C có dạng nhƣ sau:
Phương pháp xấp xỉ tuyến tính sử dụng khai triển hàm phi tuyến theo chuỗi Taylor quanh điểm làm việc, đồng thời duy trì các điều kiện tuyến tính Đối với n biến 𝑥₁, 𝑥₂, …, 𝑥ₙ, phương pháp này có thể được biểu diễn một cách ngắn gọn.
Ta có các điểm cân bằng sau:
2, 0, 𝜋, 0 Theo định nghĩa biến trạng thái nhƣ sau:
Hệ thống tại điểm cân bằng vị trí trên
Hình 3.3: Vị trí cân bằng trên
Tại vị trí cân bằng trên 𝜋 2 , 0, 0, 0 ta có:
Thế các biến trên vào phương trình phi tuyến sau đó lấy đạo hàm để tìm ma trận A, B và C
Ma trận A, B, C trong vị trí TOP
Chương 3 đã trình bày quá trình xây dựng mô hình toán học, từ đó dẫn đến việc phát triển các bộ điều khiển nhằm ổn định hệ thống tại vị trí đã đề cập trong chương tiếp theo.
CỨNG VÀ PHẦN MỀM HỆ THỐNG
Giới thiệu về mô hình Pendubot
Hiện nay, nhu cầu về sản phẩm mới và tự động hóa trong các nhà máy là rất quan trọng Trên toàn cầu và trong nước, việc nghiên cứu và ứng dụng robot vào sản xuất đang diễn ra mạnh mẽ.
Trong bài viết này, tác giả nghiên cứu hệ thống Pendubot, một dạng phát triển của hệ thống con lắc ngược Mô hình Pendubot bao gồm hai thanh máy, được điều khiển từ vị trí cân bằng ổn định bên dưới và chuyển sang vị trí cân bằng mới không ổn định Hệ thống này có cơ cấu chấp hành bên dưới, tạo ra sự tương tác giữa hai thanh để duy trì trạng thái cân bằng.
Tại trường đại học Illinois, nghiên cứu về thiết kế robot đã phát triển với khái niệm Acrobot, một robot hai thanh khởi động bên dưới trên mặt phẳng Để mở rộng khái niệm này, hệ thống Pendubot được giới thiệu, bao gồm hai thanh.
Hệ thống Pendubot bao gồm hai thanh, trong đó thanh 1 được gắn vào trục động cơ servo và thanh 2 nối với thanh 1 tại khủy chung, nơi có gắn một encoder để đo giá trị góc của các liên kết Tên gọi Pendubot được hình thành từ sự kết hợp của từ "Pendulum" và "robot" Hệ thống này hoạt động tại vai của thanh 1, trong khi thanh 2 dao động tự do xung quanh thanh 1 nhờ vào moment quán tính của thanh 1 được kết nối trực tiếp với động cơ servo.
Hệ thống Pendubot, như hình 4.1, có độ khó cao trong việc điều khiển cân bằng, đòi hỏi nhiều thời gian và công sức Để đạt được sự cân bằng, mô hình cần được thiết kế một cách chính xác, và thuật toán điều khiển phải được tối ưu hóa.
Có nhiều phương pháp điều khiển hệ thống, bao gồm điều khiển tối ưu, điều khiển thích nghi, điều khiển thích nghi bền vững và điều khiển Fuzzy.
Nhiệm vụ trong đề tài này điều khiển cân bằng hệ thống Pendubot sử dụng phương pháp PID-Fuzzy, thuật toán này được viết dựa trên ngôn ngữ Matlab.
Mô tả phần cứng hệ thống
Pendubot sẽ hoạt động hiệu quả hơn khi phần cơ khí được thiết kế chính xác, vì gia công cơ khí ảnh hưởng trực tiếp đến khả năng điều khiển của hệ thống Thiết kế cơ khí kém có thể dẫn đến chất lượng hệ thống giảm sút, thậm chí không thể điều khiển được Ngoài ra, khối lượng và chiều dài của hai thanh cũng có tác động lớn đến công suất động cơ; nếu hai thanh quá dài, động cơ sẽ dễ bị nóng do sinh nhiệt quá mức.
Phần chính hệ thống Pendubot gồm những chi tiết sau đây:
Là thanh nhôm cứng, thanh 1 với đầu trên đƣợc gắn trực tiếp vào động cơ
DC, đầu còn lại kết nối với thanh 2 bằng trục của encoder 2
Hình 4.2 Thanh 1của hệ thống Hình 4.3 Thanh 2 của hệ thống
Thanh nhôm tròn cứng được gắn vào trục encoder ở một đầu, trong khi đầu còn lại được bổ sung vật nặng bằng ống nhôm dài để cải thiện khả năng cân bằng của hệ thống.
Mô hình sử dụng hai encoder để đo góc quay của thanh 1 và thanh 2, với encoder của thanh 1 gắn sau đuôi động cơ có số xung là 400 xung/vòng và encoder của thanh 2 có số xung 200 xung/vòng DSP TMS320F28335 với bộ nhân bốn giúp tăng số xung lên thành 800 xung/vòng Encoder được cấp nguồn 5VDC và sau đó chuyển đổi thành điện áp 3VDC để đưa vào chân đọc xung của DSP.
4.2.4 Module công suất và bộ nguồn 5VDC
Bảng 4.1: Tên và chức năng của cầu H
Tên Chức năng DIR Chân đảo chiều của động cơ
PWM Chân điều khiển độ rộng duty của encoder, từ đó thay đổi tốc độ động cơ DIR- và PWM- Nối với chân GND của board DSP
Mạch công suất điều khiển động cơ sử dụng cầu H với điện áp đầu vào 24VDC Bộ nguồn cho mạch này là nguồn tổ ong 24VDC 5A, đảm bảo cung cấp đủ năng lượng cho hoạt động hiệu quả của động cơ.
Hình 4.4: nguồn 24VDC Hình 4.5: driver cầu H Để hạn chế tín hiệu encoder bị nhiễu, chân nối đất của bộ nguồn 24VDC đƣợc nối xuống đất
4.2.5 Giới thiệu về động cơ Động cơ đƣợc sử dụng có điện áp 24VDC có gắn encoder 400 xung/vòng, DSP điều khiển động cơ hoạt động thông qua driver cầu H
Dây động cơ và dây tín hiệu encoder nên đi riêng để tránh bị nhiễu tín hiệu encoder
Mô tả phần mềm hệ thống
Phần mềm Matlab Simulink 2012b đƣợc cài trên win7-32bit
Khi cài đặt xong Matlab ta gõ lệnh max- setup, chọn yes, compiler chọn 1sau đó nhấn yes
Hình 4.6: Phần mềm Matlab đang biên dịch chương trình để đổ chương trình vào
Dùng để kết nối giữa Matlab Simulink với card DSP thực tế, ta có thể reset DSP, tải chương trình xuống card DSP thông qua chương trình này
Phần mềm điều khiển card DSP F28335 được sử dụng trong quá trình thực nghiệm với mô hình, tuy nhiên, người dùng chủ yếu thực hiện các thao tác trên phần mềm MATLAB.
Phần mềm Hyperterminal dùng để online, lưu trữ dữ liệu nhằm vẽ đồ thị
Hình 4.8: Sử dụng phần mềm Hyperterminal để lấy dữ liệu thu thập từ DSP
Tổng hợp toàn bộ phần cứng và phần mềm đã được giới thiệu, chúng ta có thể xây dựng một mô hình hoàn chỉnh cho hệ thống Để điều khiển hệ thống hiệu quả, từ mô hình cơ khí, chúng ta phác thảo sơ đồ liên kết hệ thống như hình 4.10 bên dưới.
Hệ thống được kết nối theo sơ đồ trong hình 4.10, với chương trình được phát triển trên máy tính sử dụng phần mềm Matlab 2012b và sau đó tải xuống board DSP TMS320F28335 để điều khiển mô hình Pendubot thực tế Chip DSP TMS320F28335 có khả năng truyền dữ liệu trực tuyến lên máy tính thông qua chương trình Hyperterminal Đồng thời, chip này điều khiển động cơ thông qua board driver cầu H và đọc giá trị encoder với chu kỳ lấy mẫu 10ms để cập nhật trạng thái của hệ thống.
Hình 4.9: Mô hình thật hoàn chỉnh của hệ thống
Hình 4.10: Phác họa sơ đồ kết nối hệ thống Pendubot với thiết bị điều khiển
Lập trình trên ngôn ngữ Matlab mang lại nhiều lợi ích nhờ vào phần mềm Matlab/Simulink dễ sử dụng với các khối (block) trực quan Matlab không chỉ là một ngôn ngữ lập trình mạnh mẽ mà còn sở hữu toolbox real_time, cho phép điều khiển trực tiếp mô hình thực Điều này tạo ra lợi thế lớn về thời gian và chi phí trong quá trình phát triển và triển khai.
KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM
Bộ điều khiển mờ đƣợc sử dụng
Bộ điều khiển mờ được thiết kế với một biến trạng thái mờ đầu vào và một biến mờ đầu ra, mỗi biến này được chia thành nhiều giá trị tập mờ (tập mờ con) Số lượng giá trị mờ trên mỗi biến được chọn để bao quát tất cả các khả năng cần thiết, nhằm tối ưu hóa khả năng điều khiển với số lượng tối thiểu các luật điều khiển mờ.
Trong hình 5.1, chúng ta thấy ngõ vào chuẩn hóa cho thanh 1 và thanh 2 Để thực hiện quá trình này, cần chọn 7 tập mờ (giá trị ngôn ngữ) cho mỗi biến vào và ra Các tập mờ này được phân hoạch mờ dựa trên chuẩn hóa và sử dụng hàm liên thuộc dạng tam giác.
Chuẩn hoá tập cơ sở của các biến vào/ra về miền [-1 1]
Bảng 5.1: Các biến giá trị mờ
Hình 5.2: Tập mờ chuẩn hoá dạng Singleton của biến ngõ ra
Chuẩn hóa tập cơ sở của các biến đầu vào và đầu ra về miền [-1, 1] là cần thiết, từ đó xác định các ma trận hệ số khuếch đại cho các khối tiền xử lý và hậu xử lý.
Các hệ số tiền xử lí: K1, K3, K5 (nhƣ hình 5.8)
Hệ số hậu xử lí: K2, K4, K6 (nhƣ hình 5.8)
Luật mờ đƣợc sử dụng
Sử dụng 7 luật mờ để điều khiển Pendubot cân bằng
1 If (input1 is verynegative) then (output1 is verynegative)
2 If (input1 is negative) then (output1 is negative)
3 If (input1 is littlenegative) then (output1 is littlenegative)
4 If (input1 is zero) then (output1 is zero)
5 If (input1 is littlepositive) then (output1 is littlepositive)
6 If (input1 is positive) then (output1 is positive)
7 If (input1 is verypositive) then (output1 is verypositive)
Kết quả mô phỏng Matlab
5.2.1 Thanh 1,thanh 2 đƣợc điều khiển bởi PID
Hình 5.3: q1,q2 đƣợc điều khiển bởi bộ PID
Trong bài viết này, chúng ta sẽ tìm hiểu về góc của thanh 1 (q1) và góc của thanh 2 (q2) trong hệ thống điều khiển PID Các thông số Kp, Ki, Kd của hai bộ điều khiển PID được xác định thông qua thuật toán gen duy truyền, nhằm tối ưu hóa hiệu suất của bộ điều khiển Thuật toán này được triển khai trên phần mềm MATLAB, cho phép máy tính thực hiện các phép tính phức tạp để đạt được kết quả tối ưu.
2 - 3 ngày để cho ra thông số Kp,Ki,Kd này
Hình 5.4 trình bày bộ điều khiển PID-PID trong chương trình mô phỏng pendubot sử dụng phần mềm MATLAB Simulink Trong mô hình này, các tham số q1 và q2 được điều khiển bởi bộ điều khiển PID, trong khi tải được xác định là Pendubot1 Các khối simout được sử dụng để truyền dữ liệu từ Simulink sang workspace, giúp thuận tiện cho việc vẽ hình và lập báo cáo.
Hình 5.5 Bộ điều khiển PID Hình 5.5 là bộ PID đƣợc thiết kế trên phần mềm matlab simulink với các thông số Ki, Kp, Kd
Hình 5.6Kết quả góc q1 đƣợc điều khiển bởi bộ điều khiển PID
Kết quả mô phỏng cho thấy giá trị góc q1 sẽ ổn định theo lý thuyết trong khoảng thời gian3s, giá trị góc đƣợc sử dụng theo đơn vị rad
Hình 5.7Kết quả góc q2 đƣợc điều khiển bởi bộ điều khiển PID
Kết quả mô phỏng cho thấy giá trị góc q2 sẽ ổn định theo lý thuyết trong khoảng thời gian 3s, giá trị góc đƣợc sử dụng theo đơn vị rad
5.2.2 Thanh 1 đƣợc điều khiển bởi PID, thanh 2 đƣợc điều khiển bởi PID- fuzzy
Hình 5.8 minh họa q1 được điều khiển bởi bộ PID và q2 được điều khiển bởi bộ PID-Fuzzy Các thông số Kp, Ki, Kd, K1, K2, K3, K4, K5, K6 của hai bộ điều khiển PID này được tối ưu hóa thông qua thuật toán GA nhằm tìm ra các giá trị tốt nhất cho hiệu suất điều khiển.
Hình 5.9:Bộ điều khiển PID và PID–Fuzzy (q1 là PID,q2 là PID-Fuzzy)
Chương trình mô phỏng pendubot được thực hiện trên phần mềm MATLAB Simulink, với các thành phần tải là subsystem và subsystem1 Kết quả mô phỏng cho thấy sự so sánh giữa bộ điều khiển PID-fuzzy và bộ điều khiển PID, giúp đánh giá hiệu quả của từng phương pháp điều khiển.
Hình 5.10:Bộ điều khiển PID3, PID4, PID5 Các thông số Ki,Kp,Kd của bộ PID đƣợc tìm dựa vào giải thuật duy truyền
Hình 5.11: Giá trị Ki,K d và K p của bộ PID-Fuzzy
Hình 5.11 trình bày bộ điều khiển mờ được thiết kế bằng phần mềm MATLAB Simulink, với các thông số K1, K2, K3, K4, K5, K6 đóng vai trò là tiền xử lý và hậu xử lý cho bộ điều khiển này.
Hình 5.12: Kết quả so sánh góc q1 giữa bộ điều khiển PID và PID–
Kết quả mô phỏng cho thấy bộ điều khiển PID-Fuzzy có giá trị góc q1 dao động quanh điểm cân bằng với biên độ nhỏ hơn và nhanh chóng đạt đến giá trị cân bằng so với bộ điều khiển PID.
Kết quả mô phỏng cho thấy góc q2 của bộ điều khiển PID-Fuzzy có biên độ dao động quanh điểm cân bằng nhỏ hơn và nhanh chóng đạt giá trị cân bằng hơn so với bộ điều khiển PID.
5.2.3 Thanh 1, Thanh 2 đƣợc điều khiển bởi PID – Fuzzy (Fuzzy hybrid)
Bộ điều khiển Fuzzy Hybrid được điều khiển bởi các tín hiệu q1 và q2, với các thông số tiền xử lý, hậu xử lý và PID được xác định thông qua thuật toán gen duy truyền, nhằm tối ưu hóa hiệu suất của bộ điều khiển.
Hình 5.15 trình bày bộ điều khiển PID và Fuzzy hybrid trong chương trình mô phỏng pendubot được phát triển trên phần mềm MATLAB Simulink Trong mô phỏng này, tải được chia thành các subsystem và subsystem1, và kết quả mô phỏng được so sánh giữa bộ điều khiển Fuzzy hybrid và bộ điều khiển PID.
Hình 5.16: Bộ PID Các thông số Kp,Ki,Kd của bộ PID đƣợc tìm dựa vào giải thuật duy truyền
Hình 5.17: Giá trịK p Ki,K d của bộ PID - Fuzzy
Bộ điều khiển mờ được thiết kế trên phần mềm MATLAB Simulink, như thể hiện trong Hình 5.17, với các thông số K1, K2, K3, K4, K5, K6 đóng vai trò là tiền xử lý và hậu xử lý cho hệ thống điều khiển.
Hình 5.18: Kết quả so sánh góc q1 giữa bộ điều khiển PID và Fuzzy hybrid
Kết quả mô phỏng cho thấy bộ điều khiển Fuzzy Hybrid nhanh chóng đạt giá trị cân bằng cho góc q1 trong khoảng 1 giây và có độ dao động thấp hơn so với bộ điều khiển PID.
Hình 5.19: góc q2 giữa bộ điều khiển PID và Fuzzy Hybrid
Kết quả mô phỏng cho thấy bộ điều khiển Fuzzy Hybrid nhanh chóng đạt giá trị cân bằng với độ dao động thấp hơn so với bộ điều khiển PID.
So sa ́nh các kết quả mô phỏng
Hình 5.20: So sánh góc lê ̣ch q1 của các bộ điều khiển
Bộ điều khiển mờ lai cho hệ pendubot cân bằng tại vị trí với giá trị q1 = π/2 và q2 = 0 cho thấy chất lượng điều khiển vượt trội so với bộ điều khiển PID kinh điển và bộ điều khiển mờ Hình 5.21 minh họa sự so sánh góc lệch q2 của các bộ điều khiển, nhấn mạnh hiệu suất tốt hơn của bộ điều khiển mờ lai trong việc duy trì trạng thái cân bằng.
Thời gian quáđộ trước khi đưa hệ thống về trạng thái ổn định cân bằng giảm khoảng 1s
Độ vọt lố thấp nhất trong số các bộ điều khiển
Hệ thống ổn định cân bằng tại vị trí trên không còn dao động xung quanh vị trí cân bằng nhƣ bộ điều khiển mờ
Khi lựa chọn các tập giá trị mờ và luật điều khiển phù hợp, luật điều khiển mờ có thể giúp hệ thống đạt được độ chính xác cao, ngay cả khi giá trị đặt ở mức rất nhỏ.
Nhƣ vậy hệ thống đảm bảo đƣợc chất lƣợng tĩnh vàđộng tốt hơn khi dùng hệ PID kinh điển
Kết quả thực nghiệm
5.4.1Giới thiệu sơ lƣợc cách thực hiện
Bài viết này trình bày phương pháp điều khiển hệ thống Pendubot thông qua chương trình được lập trình bằng ngôn ngữ Matlab Việc điều khiển được thực hiện trên phần mềm Matlab Simulink, nơi tín hiệu điều khiển sẽ được DSP chuyển đổi thành điện áp và xuất ra mô hình thực tế Phương pháp này dễ thực hiện và có ưu điểm tiết kiệm thời gian thiết kế.
Người dùng có thể dễ dàng hình dung về điều khiển học thông qua 50 phép toán, tận dụng các hàm toán học của phần mềm cùng với khả năng tính toán và lưu trữ mạnh mẽ của máy tính.
5.4.2Xây dựng mô hình điều khiển cân bằng trên phần mềm Matlab
Xây dựng chương trình điều khiển mờ cho hệ Pendubot trên Matlab/Simulink nhƣ hình sau
Hình 5.22Bộ điều khiển fuzzy hybrid trên phần mềm Simulink Matlab
Hình 5.23 Sơ đồ khối của khối PID - Fuzzy Khối PID-fuzzy1
Hình 5.24: Sơ đồ khối của khối PID - Fuzzy
5.4.3 Kết quả góc lê ̣ch q1,q2 và điện áp đặt lên động cơ
Hình 5.25: So sánh đáp ứng góc q1 của bộ điều khiển PID và bộ điều khiển Fuzzy
Góc thanh 1 điều khiển trong thời gian thực bằng phương pháp mờ lai giúp duy trì cân bằng tại vị trí 90° (π/2) Tuy nhiên, hệ thống vẫn chưa đáp ứng nhanh và còn bị nhiễu trong khoảng -8° đến 8°, mặc dù có khả năng bám theo tín hiệu đặt nhưng vẫn xuất hiện dao động.
Giải thuật PID được áp dụng để điều khiển góc q1 dao động quanh vị trí cân bằng với độ lệch từ -10° đến 10° Tuy nhiên, chất lượng điều khiển của giải thuật này kém hơn so với giải thuật mờ lai.
Lưu ý là ở đây giá trị góc q1 được đưa từ rad về độ, và độ lệch sau khi trừ đi π/2 đƣợc so sánh tại vị trí 0
Hình 5.26: So sánh đáp ứng góc q2 của bộ điều khiển PID và bộ điều khiển Fuzzy
Góc thanh 2 điều khiển trong thời gian thực bằng phương pháp mờ lai có khả năng giữ cân bằng tại vị trí 0, nhưng phản ứng chưa nhanh và vẫn còn nhiễu trong khoảng từ -6.9° đến 7° Mặc dù hệ thống có thể bám theo tín hiệu đặt, nhưng vẫn xuất hiện dao động.
Giải thuật PID được áp dụng để điều khiển góc q2 dao động quanh vị trí cân bằng với độ lệch từ -8° đến 8.1° Tuy nhiên, chất lượng điều khiển của giải thuật này kém hơn nhiều so với giải thuật mờ lai.
Lưu ý là ở đây giá trị góc q2 được đưa từ rad về độ