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 để nâng cao chất lượng cuộc sống, thay thế các công việc nặng nhọc và nguy hiểm bằng robot Robot hiện diện trong nhiều lĩnh vực như kinh tế, khoa học-kỹ thuật và dân sinh, phục vụ nhu cầu ngày càng cao của con người trong đời sống hàng ngày, như pha cà phê hay quét dọn nhà cửa Việc chế tạo robot đòi hỏi kiến thức về cơ khí, điện tử, kỹ thuật điều khiển và công nghệ thông tin, tạo thành sản phẩm của ngành cơ điện tử Hiện nay, robot có nhiều tính năng hiện đại như nhận diện giọng nói và cảm xúc, và khả năng di chuyển giống con người Thiết kế robot ngày càng phức tạp, thường chia nhỏ các công việc thành 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 như con người, nó cần nhẹ và nhỏ gọn để tiết kiệm năng lượng, đồng thời vẫn đảm bảo tính linh hoạt trong hoạt động.
Hệ thống thiếu cơ cấu truyền động có nhiều mô hình đặc trưng, trong đó Pendubot là một ví dụ điển hình Pendubot là một robot với hai bậc tự do, hoạt động trong mặt phẳng đứng.
Pendubot là một hệ thống truyền động có hai cơ cấu nằm ở hai khớp nối, trong đó khớp thứ nhất gắn với cơ cấu truyền động và điều khiển mômen Hệ thống này có hai bậc tự do, cho phép điều chỉnh từ vị trí cân bằng dưới lên vị trí cân bằng trên, đồng thời giữ ổn định tại vị trí đó Pendubot được biết đến là một hệ thống không ổn định với độ phi tuyến cao, thường được ứng dụng trong kiểm chứng kỹ thuật điều khiển Đặc điểm độ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 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 áp 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 Trong luận văn này, tôi nghiên cứu sự kết hợp giữa bộ điều khiển PID kinh điển 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 sẽ đảm nhiệm chính việc cân bằng Pendubot, trong khi bộ điều khiển Fuzzy sẽ điều chỉnh một lượng bù cần thiết để cải thiện độ ổn định của hệ thống, ứng phó với nhiễu và mômen tại các giá trị góc khác nhau do động cơ sinh ra Đồng thời, tôi áp dụng thuật toán tối ưu hóa GA để tìm ra các thông số điều khiển Fuzzy và PID tốt nhất Do đó, đề tài nghiên cứu của tôi là “Ứng dụng Fuzzy trong tối ưu hóa bộ điều khiển PID cho hệ con lắc ngược”.
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 này 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 và duy trì trạng thái cân bằng cho Pendubot Phương pháp này cho thấy tính khả thi cao trong việc áp dụng bộ điều khiển mờ cho hệ phi tuyến, mang lại ưu điểm 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 báo 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 mới cho việc cải thiện hiệu suất điều khiển.
Đ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 này tập trung vào 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à việc sử dụng card DSP giúp giảm thời gian lập trình Tuy nhiên, bài báo chỉ phân tích bộ điều khiển mờ mà chưa đề cập đến sự 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 tập trung vào thiết kế phần cứng của Pendubot, tuy nhiên 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 của Phùng Khánh Vinh năm 2014, tác giả đã đề xuất phương pháp giữ cân bằng cho hệ Pendubot bằng bộ điều khiển Fuzzy PID cải tiến Bộ điều khiển này kết hợp Fuzzy đặt sau và nối tiếp với bộ PID, mang lại ưu điểm nổi bật nhờ việc sử dụng giải thuật di truyền để tối ưu hóa hiệu suất của bộ PID-Fuzzy Tuy nhiên, nhược điểm đáng lưu ý là tín hiệu đầu ra có thể bị khuếch đại lên mức giá trị lớn, ảnh hưởng đến độ ổn định của hệ thống.
Bài viết của Nguyễn Hồng Phúc (2013) trình bày về 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ì 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ác đặc tính của hệ thống Luật điều khiển được đề xuất và tính ổ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 này Kết quả mô phỏng xác nhận tính khả thi của thiết kế và chiến lược điều khiển cho hệ thống Hệ thống cho thấy ưu điểm là vẫn ổn định khi chịu tác động của nhiễu ở cường độ thấp Tuy nhiên, khi cường độ nhiễu gia tăng, hệ thống không còn duy trì được sự ổn định Đến nay, vẫn chưa có thực nghiệm thực tế để xác minh tính khả thi này.
Mô hình điều khiển cân bằng Pendubot được giới thiệu bởi Đỗ Minh Thư vào năm 2015, nổi bật với việc 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 đã áp dụng 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ỉ có thể thực hiện quá trình 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 quan trọng như 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, hỗ trợ phi hành gia trong không gian, ổn định giàn khoan ngoài khơi để giảm rung lắc, và điều khiển cẩu hàng Những ứng dụng này không chỉ mang lại lợi ích cho con người mà còn nâng cao hiệu quả trong nhiều lĩnh vực khác nhau.
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à thực tiễn thông qua các bài báo và luận văn trong nước cũng như 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úp duy trì sự ổn định cho đối tượng điều khiển, trong khi khâu tích phân điều chỉnh độ sai lệch, và khâu vi phân cho phép bộ điều khiển phản ứng nhanh chóng với những thay đổi trong môi trường, đồng thời hỗ trợ việc đảo chiều cho Pedubot.
Bộ điều khiển PID mang lại chất lượng điều khiển tốt, đáp ứng yêu cầu về độ chính xác và ổn định cao trong các công nghệ hiện đại Tuy nhiên, nó chỉ đảm bảo sự ổn định quanh một điểm làm việc đã được xác định trước.
Khâu P tạo ra tín hiệu điều khiển tương ứng với giá trị sai lệch, thông qua việc 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 tồn tại trừ khi giá trị đầu vào của hệ thống bằng 0 hoặc bằ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 đóng vai trò quan trọng bằng cách cộng thêm tốc độ thay đổi của sai số vào giá trị điều khiển tại ngõ ra Khi sai số thay đổi nhanh chóng, nó tạo ra một thành phần bổ sung vào giá trị điều khiển, từ đó cải thiện khả năng đáp ứng của hệ thống Điều này giúp hệ thống thay đổi trạng thái nhanh chóng và đạt được giá trị mong muốn một cách hiệu quả hơn.
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 thể hiện qua luật mờ, vì vậy chất lượng điều khiển phụ thuộc nhiều vào kinh nghiệm 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 gửi về DSP DSP nhận giá trị điện áp đầu 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à quá 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 tiến bộ, nhưng hiện tại vẫn chưa có các tiêu chuẩn thiết kế rõ ràng cũng như chưa thể khảo sát đầy đủ về tính ổn định, tính bền vững, chất lượng và quá trình quá độ, cũng 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 phát triển một cách lý thuyết.
Bộ điều khiển PID truyền thống và bộ điều khiển mờ được kết hợp 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 cho hệ thống Lượng bù này được tạo ra do các yếu tố như nhiễu, mômen và nhiệt độ động cơ khi Pendubot thực hiện các chuyển động đảo chiều liên tục.
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 mà PID không thể kiểm soát 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 gen duy truyền GA được áp dụng trong luận văn này để tối ưu hóa các thông số PID cùng với các giá trị tiền xử lý và hậu xử lý cho bộ điều khiển Fuzzy.
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 này yêu cầu máy tính thực hiện tìm kiếm ngẫu nhiên, 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 𝜆, với 𝑖 = 1, 2, 3, … , 𝑛, là tọa độ tổng quát dùng để mô tả vị trí các khâu của một tay máy n bậc tự do Lagrange của cơ hệ được biểu diễn dưới dạng hàm số của 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 được mô tả trong Hình 3.1, thể hiện cấu trúc của hệ thống Pendubot Đây là một hệ thống cơ khí kích thích dưới, trong đó robot có một bộ truyền động ở thanh 1, còn 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, chúng ta cần phát triển một mô hình 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 Nhiều phương pháp có thể được áp dụng để tìm ra phương trình động lực học cho Pendubot, trong đó phương pháp Euler-Lagrange là một trong những phương pháp phổ biến nhất Phương trình Euler-Lagrange được trình bày như sau:
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 tự động trở về vị trí cân bằng ổn định dưới do tác động của trọng lực khi không có lực điều khiển nào Để duy trì hệ pendubot ở vị trí cân bằng không ổn định trên, một động cơ servo DC được sử dụng để tạo moment xoắn lên thanh 1.
Hệ pendubot có 26 thanh, khi có nhiễu nhỏ tác động lên thanh 2, nó sẽ nghiêng sang phải hoặc trái tùy thuộc vào tác động của nhiễu Khi hệ thống mất ổn định, moment xoắn tác dụng lên thanh 1 cần tạo moment xoay ngược chiều với thanh còn lại để duy trì trạng thái cân bằng thẳng đứng Để thiết kế điều khiển cân bằng cho hệ thống 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 xung 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ừ đó phát triển các bộ điều khiển nhằm ổn định hệ thống tại vị trí đã nêu 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 đang ngày càng tăng cao Trên toàn cầu và trong nước, việc nghiên cứu và ứng dụng robot vào quy trình sản xuất đang được triển khai mạnh mẽ.
Trong bài viết này, tác giả khám phá 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, thanh 1 và thanh 2, đượ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, cho phép nghiên cứu và ứng dụng trong các lĩnh vực điều khiển tự động.
Tại Đại học Illinois, nghiên cứu đã phát triển khái niệm thiết kế robot với hai thanh khởi động bên dưới trên mặt phẳng, được gọi là Acrobot Để mở rộng khái niệm này, hệ thống Pendubot, gồm hai thanh, đã được giới thiệu.
Hệ thống Pendubot bao gồm hai thanh, trong đó thanh 1 gắn với trục động cơ servo, còn thanh 2 kết nối với thanh 1 tại khủy chung và được trang bị một encoder Encoder tại các điểm nối cung cấp giá trị góc đo cho mỗi liên kết Tên gọi Pendubot được hình thành từ sự kết hợp giữa "Pendulum" và "robot" Hệ thống này hoạt động tại vai của thanh 1, trong khi thanh 2 có thể dao động tự do xung quanh thanh 1 nhờ vào moment quán tính chuyển động của thanh 1 được gắn trực tiếp với trục động cơ servo.
Hệ thống Pendubot rất khó khăn để điều khiển và tốn nhiều thời gian Để duy trì sự cân bằng, mô hình cần được thiết kế chính xác và thuật toán điều khiển phải đạt hiệu quả cao.
Có nhiều phương pháp điều khiển hệ thống như đ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 ổn định hơn nếu được thiết kế với cơ khí 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 Một 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 của động cơ; nếu hai thanh quá dài, động cơ sẽ dễ bị nóng và sinh nhiệt.
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 Encoder gắn trên thanh 1 có tần số 400 xung/vòng, trong khi encoder trên thanh 2 có tần số 200 xung/vòng Nhờ vào DSP TMS320F28335 với bộ nhân bốn, số xung được tăng 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 dùng để điều khiển động cơ là cầu H, với ngõ vào điều khiển được kết nối qua các chân Điện áp công suất của board là 24VDC, và bộ nguồn sử dụng là nguồn tổ ong 24VDC 5A.
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 thực nghiệm với mô hình, tuy nhiên, người dùng chủ yếu thực hiện thao tác trên phần mềm MATLAB, trong khi phần mềm điều khiển này chỉ được bật lên với ít thao tác.
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 tất cả phần cứng và phần mềm đã được giới thiệu, chúng ta xây dựng 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ằm điều khiển các chi tiết, như thể hiện trong hình 4.10 bên dưới.
Hệ thống được kết nối theo hình 4.10, với chương trình được phát triển trên máy tính bằ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 truyền dữ liệu lên máy tính theo thời gian thực thông qua chương trình Hyperterminal, đồng thời điều khiển động cơ 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 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 bằng ngôn ngữ Matlab rất thuận tiện nhờ vào phần mềm Matlab/Simulink với các khối (block) dễ sử dụng Matlab không chỉ là một ngôn ngữ lập trình mạnh mẽ mà còn cung cấp toolbox real_time, cho phép điều khiển trực tiếp các mô hình thực Điều này mang lại lợi thế lớn về thời gian và chi phí cho người dùng.
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ó nhiều giá trị tập mờ (tập mờ con) Số lượng giá trị mờ cho mỗi biến được lựa chọn để bao quát tất cả các khả năng cần thiết, đảm bảo khả năng điều khiển tối ưu 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 Để xử lý các biến vào/ra, chúng tôi đã chọn 7 tập mờ (giá trị ngôn ngữ) cho mỗi biến Các tập mờ này được phân hoạch mờ dựa trên quy trình chuẩn hóa và áp 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, do đó, các ma trận hệ số khuếch đại của các khối tiền xử lý và hậu xử lý được thiết lập như sau:
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ề 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 di truyền nhằm tối ưu hóa hiệu suất của bộ điều khiển Thuật toán di truyền này được phát triển 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 để xác định các thông số tối ưu cho việc điều khiển góc của thanh 1 (q1) và thanh 2 (q2).
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 được phát triển trên phần mềm MATLAB Simulink Trong đó, các biến q1 và q2 được điều khiển bởi bộ điều khiển PID, với tải là Pendubot1 Các khối simout được sử dụng để chuyể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 để 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 phát triển trên phần mềm Matlab Simulink, bao gồm các thành phần như 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 suất 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
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.11, với các thông số K1, K2, K3, K4, K5 và K6 đại diện cho các bước tiền xử lý và hậu xử lý của hệ thống điều khiển.
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 giá trị cân bằng hơn so với bộ điều khiển PID truyền thống.
Hình 5.13 minh họa góc q2 giữa bộ điều khiển PID và PID-Fuzzy (q1: PID, q2: PID-Fuzzy) Kết quả mô phỏng cho thấy bộ điều khiển PID-Fuzzy có độ dao động quanh điểm cân bằng nhỏ hơn và đạt giá trị cân bằng nhanh 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 trong hình 5.14 sử dụng các thông số tiền xử lý, hậu xử lý và PID được tối ưu hóa thông qua thuật toán gen duy truyền, nhằm tìm ra các thông số tốt nhất cho hiệu suất đ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 thực hiện trên phần mềm MATLAB Simulink Trong mô phỏng này, tải được chia thành hai subsystem, subsystem1 Kết quả mô phỏng cho thấy sự so sánh giữa hiệu suất củ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ò quan trọng trong quá trình tiền xử lý và hậu xử lý của 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, đồng thời có mứ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 góc q2, đồng thời có độ 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 thể hiện 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ờ, đặc biệt khi điều khiển tại vị trí với giá trị đặt q1 = pi/2 và q2 = 0 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 này, cho thấy hiệu quả vượt trội của bộ điều khiển mờ lai trong việc duy trì sự ổn định của hệ thố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 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, sử dụng chương trình viết trên ngôn ngữ Matlab Việc lập trình điều khiển được thực hiện qua phần mềm Matlab Simulink, trong đó tín hiệu điều khiển từ chương trình sẽ được DSP chuyển đổi thành giá trị điện áp và xuất ra mô hình thực 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 sử dụng có thể có cái nhìn trực quan 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 và khả năng tính toán, 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 được đ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 ở vị trí 90 (π/2) Tuy nhiên, phản ứng chưa đủ nhanh và vẫn còn nhiễu trong khoảng -8 đến 8 Mặc dù hệ thống có khả năng bám theo tín hiệu đặt, nhưng vẫn tồn tại hiện tượng 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 nó 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 vẫn chưa đáp ứng nhanh và còn nhiễu trong khoảng -6.9° đến 7° Mặc dù nó bám theo tín hiệu đặt, nhưng vẫn xuất hiện dao động.
Giải thuật PID đ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° cho thấy chất lượng điều khiển 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ề độ