Trong những năm gần đây phát triển mạnh trong lĩnh vực điều khiểnthông minh có nhiều phương pháp giúp ta chỉnh định các thông số của bộ điềukhiển PID tuy nhiên đáp ứng hệ thống đạt một m
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả trong luận văn là thực và chưa từng được ai công
bố trong bất kỳ các công trình nghiên cứu nào khác.
Tác giả luận văn
DƯƠNG HỒNG PHƯỚC
Trang 3MỤC LỤC
Trang
TRANG BÌA PHỤ
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC CÁC KÝ HIỆU v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH VẼ vii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Đối tượng và phạm vi nghiên cứu 1
3 Phương pháp nghiên cứu 2
4 Ý nghĩa khoa học và thực tiễn đề tài 2
5 Cấu trúc luận văn 3
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 5
1.1 Giới thiệu đề tài 5
1.2 Mục đích nghiên cứu của đề tài 7
1.3 Nội dung đề tài 7
CHƯƠNG 2: LÝ THUYẾT TỐI ƯU BẦY ĐÀN 10
2.1 Thuật toán PSO chuẩn 10
2.1.1 Mở đầu 10
2.1.2 Thuật toán tiến hóa PSO 12
2.1.3 Lưu đồ giải thuật thuật toán tiến hóa PSO 14
2.2 Cải tiến thuật toán PSO 17
2.2.1 Mở đầu 17
2.2.2 Các cải tiến với các tham số 18
2.2.3 Các cải tiến với hàm mục tiêu 19
Trang 4CHƯƠNG 3: ĐIỀU KHIỂN VỊ TRÍ QUẢ BÓNG CHỈNH ĐỊNH CÁC
THÔNG SỐ PID THEO THUẬT TOÁN TỐI ƯU BẦY ĐÀN 35
3.1 Đối tượng phi tuyến 35
3.1.1 Mô tả đối tượng 35
3.1.2 Đặc tính của đối tượng phi tuyến 36
3.2 Điều khiển PID 36
3.2.1 Khái quát về bộ điều khiển PID 36
3.2.2 Các phương pháp xác định tham số bộ điều khiển PID 38
3.2.3 Kết luận và nhận xét 41
3.3 Sử dụng thuật toán tối ưu bày đàn để chỉnh định các thông số Kp, Ki, Kd 42
3.3.1 Mô tả phương pháp chỉnh định PSO 42
3.3.2 Áp dụng PSO trong chỉnh định PID 43
3.3.3 Thuật toán PSO trong cấu trúc điều khiển 44
3.3.4 Hàm mục tiêu – fitness function 45
3.3.5 Thuật toán PSO trong cấu trúc điều khiển chỉnh định PID 46
3.4 Mô hình toán của hệ thống điều khiển vị trí bóng “Ball in tube” 48
3.4.1 Mô hình “Ball in tube” 48
3.4.2 Xây dựng mô hình toán trong matlab simulink 62
3.4.3 Tuyến tính hóa quanh điểm cân bằng 63
3.5 Kết quả mô phỏng điều khiển PID và chỉnh định các thông số PID theo thuật toán tối ưu bầy đàn 65
3.5.1 Thông số mô hình 65
3.5.2 Mô phỏng simulink hàm truyền vòng hở 66
3.5.3 Mô phỏng simulink điều khiển PID 67
3.5.4 Mô phỏng simulink điều khiển PID – PSO 70
3.5.5 So sánh phương pháp PID – ZN2 với PID – PSO 79
Trang 5CHƯƠNG 4: KẾT QUẢ CHẠY TRÊN MÔ HÌNH THỰC 82
4.1 Điều khiển thời gian thực hệ “Ball in tube” 82
4.1.1 Sơ đồ khối hệ “Ball in tube” 82
4.1.2 Sơ đồ Simulink điều khiển thời gian thực hệ “Ball in tube” 84
4.2 Kết quả thực tế hệ thống điều khiển PID – ZN2 84
4.2.1 Khi tín hiệu đặt là hàm nấc 86
4.2.2 Khi tín hiệu đặt thay đổi 87
4.3 Kết quả thực tế hệ thống chỉnh định PID – PSO 88
4.3.1 Khi tín hiệu đặt là hàm nấc 89
4.3.2 Khi tín hiệu đặt thay đổi 90
4.4 So sánh phương pháp PID – ZN2 với PID – PSO điều khiển đối tượng thực 91
CHƯƠNG 5: KẾT QUẢ – HẠN CHẾ – HƯỚNG PHÁT TRIỂN 92
5.1 Tổng hợp những kết quả đạt được 92
5.2 Những hạn chế của đề tài 92
5.3 Đánh giá kiến nghị và hướng nghiên cứu tiếp theo 93
TÀI LIỆU THAM KHẢO 94
PHỤ LỤC 96
Trang 6DANH MỤC CÁC KÝ HIỆU
R: điện trở cuộn dây (Ω)
L: điện cảm cuộn dây ( H )
U0: điện áp định mức của động cơ (V)
J: mômen quán tính tải ( k g m ) 2
ρ : khối lượng riêng không khí (kg/m 3)
A: diện tích mặt cắt quả bóng (mặt cản lưu chất) ( m )2
t xl (2%): thời gian xác lập tiêu chuẩn 2%
t r: thời gian lên
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1: Phân tích kết quả một vài bài toán tối ưu thông dụng 31
Bảng 2.2: Kích thước quần thể và miền giá trị khởi tạo cho bài toán tối ưu 31
Bảng 3.1: Các tham số PID theo phương pháp Ziegler-Nichols thứ nhất .40
Bảng 3.2: Các tham số PID theo phương pháp Ziegler-Nichols thứ hai .41 Bảng 3.3: Thông số động cơ BLDC 55
Bảng 3.4: Các thông số khởi tạo quần thể 70
Bảng 3.5: Bảng so sánh các kết quả giữa PID – ZN2 và PID – PSO 80
Bảng 4.1: Các thông số khởi tạo quần thể điều khiển thời gian thực 88
Bảng 4.2: Bảng so sánh các kết quả điều khiển thời gian thực giữa PID – ZN2 và PID – PSO 91
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Các mô hình thí nghiệm “Ball in tube” 5
Hình 1.2: Các ứng dụng thực tế 6
Hình 1.3: Các thiết bị sử dụng trong mô hình thí nghiệm “Ball in tube” 8
Hình 2.1: Khái niệm về sự thay đổi điểm tìm kiếm của PSO 12
Hình 2.2: Lưu đồ giải thuật thuật toán PSO 15
Hình 2.3: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm với λ=1 20
Hình 2.4: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm với λ=10 21
Hình 2.5: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm với λ=0.1 22
Hình 2.6: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm , với λ=1 23
Hình 2.7: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm , với λ=0.1 24 Hình 2.8: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm , với λ=10.25 Hình 2.9: Đồ thị của hàm Levy No.5 trong khối 27
Hình 2.10: Giai đoạn đầu G(x) của kỹ thuật kéo giãn cho hàm Levy No.5 trong khối 28
Hình 2.11: Hàm Levy No.5 trong khối sau giai đoạn hai H(x) của kỹ thuật kéo giãn 29
Hình 3.1: Cấu trúc bộ điều khiển PID 37
Hình 3.2: Điều khiển hồi tiếp với bộ điều khiển PID 37
Hình 3.3: Đáp ứng nấc của hệ hở có dạng S 40
Hình 3.4: Xác định hằng số khuếch đại tới hạn 40
Hình 3.5: Đáp ứng nấc của hệ kín khi k = kth 41
Hình 3.6: Vị trí của cá thể nhóm bầy trong không gian tìm kiếm 3D 43
Hình 3.7: Vị trí của thuật toán tối ưu PSO trong hệ thống SISO 44
Hình 3.8: Sơ đồ khối điều khiển PID sử dụng PSO chỉnh định thông số 46 Hình 3.9: Lưu đồ giải thuật hệ thống điều khiển PSO – PID 47
Trang 9Hình 3.10: Mô hình thí nghiệm “Ball in tube” 49
Hình 3.11: Đối tượng “Ball in tube” 50
Hình 3.12: Sơ đồ mô hình động cơ DC 50
Hình 3.13: Sơ đồ động cơ Brushless DC 53
Hình 3.14: Sự chuyển động của không khí trong ống 56
Hình 3.15: Đường đặc tuyến của quạt 57
Hình 3.16: Các định luật về quạt 58
Hình 3.17: Tổng hợp lực tác động lên bóng 61
Hình 3.18: Sơ đồ simulink hệ mô hình thí nghiệm “Ball in tube” 63
Hình 3.19: Điều khiển vòng hở với tín hiệu đầu vào là hàm nấc 66
Hình 3.20: Đáp ứng vòng hở với tín hiệu vào là hàm nấc đơn vị 67
Hình 3.21: Điều khiển PID hệ “Ball in tube” 68
Hình 3.22: Đáp ứng ngõ ra khi tín hiệu đặt là hàm nấc (Mb =2.7g) (PID – ZN2) 69
Hình 3.23: Đáp ứng ngõ ra khi tín hiệu đặt là hàm nấc (Mb =4g) (PID – ZN2) 69
Hình 3.24: Kết quá trình tiến hóa quần thể bầy đàn 70
Hình 3.25: Đáp ứng ngõ ra khi tín hiệu đặt là hàm nấc (Mb=2.7g) (PID – PSO) 72
Hình 3.26: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là hàm nấc (Mb=2.7g) (PID – PSO) 72
Hình 3.27: Đáp ứng ngõ ra khi tín hiệu đặt là tín hiệu xung vuông (Mb=2.7g) (PID – PSO) 73
Hình 3.28: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là tín hiệu xung vuông (Mb=2.7g) (PID – PSO) 73
Hình 3.29: Đáp ứng ngõ ra khi tín hiệu đặt là tín hiệu sin (Mb=2.7g) (PID – PSO) 74
Trang 10Hình 3.30: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là tín hiệu sin
(Mb=2.7g) (PID – PSO) 74
Hình 3.31: Đáp ứng ngõ ra khi có tín hiệu nhiễu tác động (Mb=2.7g) (PID – PSO) 75
Hình 3.32: Tín hiệu tác động lên đối tượng khi có tín hiệu nhiễu tác động (Mb=2.7g) (PID – PSO) 75
Hình 3.33: Đáp ứng ngõ ra khi tín hiệu đặt là hàm nấc (Mb=4g) (PID – PSO) 76
Hình 3.34: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là hàm nấc (Mb=4g) (PID – PSO) 76
Hình 3.35: Đáp ứng ngõ ra khi tín hiệu đặt là tín hiệu xung vuông (Mb=4g) (PID – PSO) 77
Hình 3.36: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là tín hiệu xung vuông (Mb=4g) (PID – PSO) 77
Hình 3.37: Đáp ứng ngõ ra khi tín hiệu đặt là tín hiệu sin (Mb=4g) (PID – PSO) 78
Hình 3.38: Tín hiệu tác động lên đối tượng khi tín hiệu đặt là tín hiệu sin (Mb=4g) (PID – PSO) 78
Hình 3.39: So sánh đáp ứng ngõ ra PID – ZN2 và PID – PSO với Mb = 2.7g 79
Hình 3.40: So sánh đáp ứng ngõ ra PID – ZN2 và PID – PSO với Mb = 4g 79
Hình 4.1: Mô hình thực tế hệ “Ball in tube” 82
Hình 4.2: Sơ đồ khối tổng quát hệ “Ball in tube” 83
Hình 4.3: Sơ đồ simulink điều khiển thời gian thực hệ “Ball in tube” 84
Hình 4.4: Sơ đồ khối “Ball in tube (Real Time)” 84
Trang 11Hình 4.5: Đáp ứng ngõ ra theo thời gian thực khi tín hiệu đặt là hàm nấc (PID – ZN2) 86 Hình 4.6: Tín hiệu tác động theo thời gian thực lên đối tượng khi tín hiệu đặt là hàm nấc (PID – ZN2) 86 Hình 4.7: Đáp ứng ngõ ra theo thời gian thực khi tín hiệu đặt thay đổi (PID – ZN2) 87 Hình 4.8: Tín hiệu tác động theo thời gian thực lên đối tượng khi tín hiệu đặt thay đổi (PID – ZN2) 87 Hình 4.9: Đáp ứng ngõ ra theo thời gian thực khi tín hiệu đặt là hàm nấc (PID – PSO) 89 Hình 4.10: Tín hiệu tác động theo thời gian thực lên đối tượng khi tín hiệu đặt là hàm nấc (PID – PSO) 89 Hình 4.11: Đáp ứng ngõ ra theo thời gian thực khi tín hiệu đặt thay đổi (PID – PSO) 90 Hình 4.12: Tín hiệu tác động theo thời gian thực lên đối tượng khi tín hiệu đặt thay đổi (PID – PSO) 90
Trang 12ổn định tốt nhất nếu thông số bộ điều khiển là tối ưu, nhưng trên thực tế việcxác định các thông số này khá là tốn kém thời gian và còn phụ thuộc nhiềuvào kinh nghiệm điều này làm chúng ta không đạt được kết quả tốt Hơn thếnữa khi mà việc bám theo tín hiệu đặt, loại bỏ nhiễu và ổn định bền vững liênquan đến tất cả các thông số hiệu chỉnh, thì khó có thể điều chỉnh cùng lúcđược Trong những năm gần đây phát triển mạnh trong lĩnh vực điều khiểnthông minh có nhiều phương pháp giúp ta chỉnh định các thông số của bộ điềukhiển PID tuy nhiên đáp ứng hệ thống đạt một mức độ nhất định Trong đề tàinày sẽ đề cập đến 2 cách thức điều khiển, đó là điều khiển PID kinh điển theoZiegler – Nichols và điều khiển PID với các thông số Kp – Ki – Kd được hiệuchỉnh bằng thuật toán tối ưu bầy đàn (Particle Swarm Optimization – PSO).Giải thuật tối ưu bầy đàn có nhiều ưu thế trong việc thiết kế hệ thống điềukhiển nhưng nó yêu cầu đối tượng cần điều khiển phải ổn định hoặc đối tượngkhông ổn định phải ổn định thông qua hồi tiếp, với hệ thống “Ball in tube” làđối tượng không ổn định và phi tuyến Phần sau đây trình bày cách thiết kế bộđiều khiển với các thông số tối ưu để hệ thống bền vững và ổn định.
2 Đối tượng và phạm vi nghiên cứu.
Đối tượng nghiên cứu và mô hình thí nghiệm điều khiển vị trí bóng
“Ball in tube”
Trang 13Phạm vi nghiên cứu của đề tài là sử dụng phương pháp Ziegler-Nichols
và thuật toán tối ưu bầy đàn để chỉnh định các thông số Kp, Ki, Kd nhằm mụcđích cải thiện chất lượng đáp ứng ngõ ra của hệ thống
3 Phương pháp nghiên cứu.
Để thực hiện đề tài khoa học này cần kết hợp thực hiện các phươngpháp nghiên cứu sau:
- Phương pháp nghiên cứu lý thuyết: nghiên cứu các vấn đề về điềukhiển hệ phi tuyến, thuật toán toán tối ưu theo trí tuệ bầy đàn, các phươngpháp chỉnh định thông số bộ điều khiển
- Phương pháp mô phỏng: sử dụng phần mềm Matlab thực hiện môhình hóa hệ thống và thiết kế bộ điều khiển, sử dụng công cụ Simulink và lậptrình *m file để khảo sát mô phỏng đối tượng nghiên cứu
- Phương pháp kiểm tra thực nghiệm: thiết kế và thi công mô hình thínghiệm điều khiển vị trí bóng “Ball in tube”, điều khiển đối tượng theo thờigian thực (real time) Sử dụng máy tính kết nối với đối tượng thông qua cardgiao tiếp để điều khiển và ghi nhận các kết quả
4 Ý nghĩa khoa học và thực tiễn đề tài.
Lý thuyết tối ưu bầy đàn được trình bày vào năm 1995 và phát triểnnhững năm sau đó Ở cấp độ nghiên cứu trong nước thì đề tài nghiên cứu tối
ưu bầy đàn còn tương đối mới mẻ, cần phải nghiên cứu chuyên sâu để pháttriển những điểm mạnh giúp giải quyết một vấn đề hiệu quả nhất
Kết quả đề tài sẽ góp phần hoàn thiện một phương pháp mới trong việcchỉnh định thông số bộ điều khiển PID Khắc phục một số nhược điểm củamột số phương pháp chỉnh định kinh điển Từ đó mở ra một tiềm năng ápdụng và cài đặt vào thiết bị điều khiển công nghiệp làm nâng cao hơn nữachất lượng điều khiển hệ thống
Trang 14Tính cấp thiết đáp ứng nhu cầu phát triển kinh tế - xã hội, nâng cao chấtlượng đào tạo Khả năng ứng dụng của đề tài trong các lĩnh vực tự động hóa(điều khiển đối tượng bám đuổi,…), lĩnh vực viễn thông (thiết kế mạng,…),lĩnh vực xã hội (sắp xếp lịch trình, thời gian biểu)…
5 Cấu trúc luận văn.
Cấu trúc luận văn gồm các phần như sau:
Chương 1: Tổng quan đề tài.
Giới thiệu về mô hình thí nghiệm điều khiển vị trí bóng “Ball in tube”Trình tổng quan khái quát nội dung đề tài khoa học, và các mục tiêucủa đề tài cần đạt được
Chương 2: Lý thuyết tối ưu bầy đàn.
Trình bày tổng quan về lý thuyết tối ưu bầy đàn
Trình bày giải thuật tối ưu bầy đàn các thức nâng cao chất lượng củathuật toán
Chương 3: Điều khiển vị trí quả bóng chỉnh định các thông số pid theo thuật toán tối ưu bầy đàn.
Giới thiệu về bộ điều khiển PID và phương pháp chỉnh định kinh điển.Giới thiệu về phương pháp tối ưu bầy đàn để chỉnh định các thông số
bộ điều khiển PID
Mô hình hóa đối tượng nghiên cứu
Thực hiện mô phỏng và so sánh giữa hai phương pháp chỉnh định thông
số bộ điều khiển PID: theo phương pháp Ziegler-Nichols thứ 2 (PID – ZN2)
và theo thuật toán tối ưu bầy đàn (PID – PSO)
Chương 4: Kết quả mô phỏng chạy trên mô hình thực.
Thực hiện điều khiển đối tượng theo thời gian thực và so sánh giữa haiphương pháp: (PID – ZN2) và (PID – PSO)
Trang 15Chương 5: Kết quả – Hạn chế – Hướng phát triển.
Trình bày về kết quả đạt được trong nghiên cứu cũng như những khókhăn hạn chế và các định hướng cải tiến phát triển đề tài
Trang 16CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI.
1.1 Giới thiệu đề tài.
Hiện nay để tìm hiểu về một đối tượng phi tuyến cũng như áp dụng mộtthuật toán điều khiển lên trên đối tượng thì chúng ta cần phải có một mô hình
mô phỏng giúp chúng ta thực hiện các phép thử cũng như kiểm tra chất lượngđiều khiển Đề tài luận văn này là xây dựng một mô hình thí nghiệm gọi làbóng trong ống “Ball in tube”, đây là một đối tượng phi tuyến điển hình phục
vụ công tác học tập nghiên cứu
Một số mô hình thí nghiệm “Ball in tube” đã được phục vụ công tácnghiên cứu giảng dạy, và ứng dụng nguyên lý tương tự vào thực tế
Hình 1.1: Các mô hình thí nghiệm “Ball in tube”
Trang 17Hình 1.2: Các ứng dụng thực tế.
Điều khiển hệ thống tuyến tính có thể chỉnh định dễ dàng bằng các kỹthuật điều chỉnh cổ điển như: chỉnh định Ziegler-Nichols hoặc Cohen-Coon Nghiên cứu thực nghiệm đã cho thấy rằng những phương pháp điều chỉnhthông thường thực hiện không đạt yêu cầu khi áp dụng cho các hệ phi tuyếnlớn có các tác động gây bất ổn Chính vì lý do này các bộ điều khiển thực tếphải thích ứng để điều chỉnh các hệ thống phi tuyến lớn dựa trên ứng dụngthử nghiệm và hiệu chỉnh sai số Do đó cần phải phát triển một kỹ thuật điềuchỉnh phù hợp áp dụng cho các bộ điều khiển mà điều chỉnh thông thườngkhông không đáp ứng thỏa đáng
Một số công nghệ mới đặc biệt là “trí tuệ bầy đàn” Swarm Intelligence(SI) đã được sử dụng để giải quyết các vấn đề về kỹ thuật phi tuyến tính “Tối
ưu bầy đàn” Particle Swarm Optimization (PSO), được phát triển bởi Eberhart
và Kennedy (1995), là một lĩnh vực của Swarm Intelligence (SI) được lấycảm hứng từ quần thể bầy đàn xảy ra trong tự nhiên Đó là quan sát sự thayđổi của mỗi cá thể so với thực nghiệm trước đó, do đó kiến thức về vị trí tốt
Trang 18nhất “best position” đạt được bởi mỗi các thể trở thành kiến thức trên toàncục Trong nghiên cứu, vấn đề xác định các thông số điều khiển PID được coi
là một vấn đề tối ưu hóa Và ta thực hiện sử dụng kỹ thuật PSO để xác địnhcác thông số PID Đề tài sử dụng các mô hình quá trình điển hình thường gặptrong ngành công nghiệp để đánh giá hiệu quả của phương pháp PSO So sánhkết quả đạt được giữa kỹ thuật PSO và các phương pháp thông thường kháctrên mô phỏng và điều khiển thời gian thực
1.2 Mục đích nghiên cứu của đề tài.
Thực hiện thiết kế và thi công mô hình điều khiển vị trí bóng bám theogiá trị đặt theo thuật toán PID
Sử dụng thuật toán tối ưu bầy đàn để chỉnh định các thông số Kp, Ki,
Kd nhằm mục đích cải thiện chất lượng đáp ứng ngõ ra của hệ thống
So sánh đánh giá chất lượng giữa điều khiển PID với cách chỉnh địnhkinh điển và điều khiển PID chỉnh định bằng thuật toán tối ưu bầy đàn
1.3 Nội dung đề tài.
Mô hình thí nghiệm “Ball in tube” có thể áp dụng trong công nghiệp:chẳng hạn như ngành công nghiệp mỏ dầu Nó được sử dụng nhiều trongphòng thí nghiệm các trường đại học để nghiên cứu công nghệ điều khiển phituyến tính Đối tượng điều khiển “Ball in tube” là điều khiển tốc độ của mộtmotor quạt DC thổi không khí vào ống để giữ cho quả bóng Ping - Pong giữmột độ cao ổn định trong ống
Trong thí nghiệm này được sử dụng card giao tiếp thời gian thực DAQUSB Hình 1.3 trình bày các thiết bị sử dụng trong thí nghiệm “Ball in tube”.Bóng được đặt bên trong ống và phía dưới ống là một quạt DC sử dụng đểđẩy không khí vào ống tạo lực nâng quả bóng Ping – pong và một cảm biếnsiêu âm ở phía dưới để đọc chiều cao của quả bóng Và quạt DC được đặttrong hộp kín để đảm bảo đủ lực nâng quả bóng, vận tốc quạt được điều khiển
Trang 19thông qua phương pháp PWM.
Mặc dù khái niệm về mô hình là khá đơn giản, nhưng chúng ta gặp khókhăn trong kiểm soát các tác động phi tuyến tính trên quả bóng, và các tácđộng vật lý phức tạp lên quả bóng
Hơn nữa, quả bóng là cực kỳ nhạy cảm với tác động từ cánh quạt, mộttác động nhiễu bé cũng làm quả bóng trở nên bất ổn
Tóm lại, chúng ta sẽ gặp khó khăn nếu sử dụng phương pháp điềukhiển truyền thống, ở đây ta sử dụng phương pháp điều khiển PID Đồng thời
ta cũng áp dụng phương pháp PID có chỉnh định các thông số để so sánh
Hình 1.3: Các thiết bị sử dụng trong mô hình thí nghiệm “Ball in tube”
Sơ đồi khối bao gồm các khối cơ bản như sau:
“Ball in tube”: đối tượng điều khiển
Card USB – DAQ: cho phép chúng ta đọc/ghi dữ liệu analog/digitalgiao tiếp với PC qua cổng USB 2.0
USB cable
FANsensor
Computer
“Ball in tube”
Xử lý cảm biến PWM
USB – DAQ
ADC
DAC
Trang 20Mạch điều khiển động cơ: cấu tạo là mạch động lực cầu H cho phépchuyển đổi tín hiệu analog 0:5V thành tín hiệu công suất PWM
Cảm biến đo khoảng cách: chuyển đổi đại lượng vật lý là khoảng cáchthành tín hiệu điện analog 0:5V
Computer (PC): giữ chức năng là bộ điều khiển trung tâm, hoạt độngtrên nền matlab điều khiển thời gian thực đối tượng
Trang 21CHƯƠNG 2: LÝ THUYẾT TỐI ƯU BẦY ĐÀN
2.1 Thuật toán PSO chuẩn.
2.1.1 Mở đầu.
Thuật toán Particle Swarm Optimization (PSO) được Eberhat vaKennedy đề nghị lần đầu tiên năm 1995 Đây là thuật toán tiến hóa mới khácvới các kỹ thuật tính toán tiến hóa trước đây ở chỗ nó dựa trên việc mô phỏngcách cư xử xã hội Thật vậy, trong PSO, mô phỏng cách cư xử của một đànchim với sự chia sẻ thông tin và chúng thu lợi từ sự khám phá và kinh nghiệmtrước đó của tất cả bạn bè trong việc tìm kiếm thức ăn Như thế mỗi bạn bèhay còn gọi là cá thể (particle) tập hợp lại gọi là quần thể (swarm), được giả
sử đang “bay” trong không gian tìm kiếm theo thứ tự để tìm vùng đất đầy hứahẹn [1] Thí dụ, trong trường hợp cực tiểu hóa, các vùng như vậy có giá trịhàm số thấp hơn các vùng đã thăm dò trước đó Như vậy mỗi cá thể được xemnhư một điểm trong không gian D chiều với sự điều chỉnh hướng “bay” của
nó theo kinh nghiệm bay trước đó của nó cũng như của các cá thể khác
Có hai điểm khác nhau giữa thuật giải PSO và thuật giải tiến hóa GA:Thuật giải tiến hóa GA dựa trên ba cơ chế xử lý: thay thế cha mẹ, chọncác cá thể và điều chỉnh các tham số cho phù hợp Còn PSO chỉ dựa vào hai
cơ chế, không thông qua cơ chế lựa chọn cá thể rõ ràng, thay vào đó, PSO sửdụng các cá thể đầu đàn hướng dẫn cho việc tìm kiếm
Khác nhau về cách thức các cá thể được xử lý PSO thiết lập vận tốccủa cá thể theo một hướng cụ thể Việc này có thể xác định hướng đột biến,trong đó, hướng này được xác định bởi cá thể tốt nhất và cá thể tốt nhất toàncục Ngược lại, thuật giải tiến hóa sử dụng đột biến để thiết lập các cá thể theobất kì hướng nào
Các định nghĩa trong thuật giải PSO:
Trang 22Bầy (swarm): quần thể của thuật giải.
Cá thể (particle): thành viên của bầy Mỗi cá thể đại diện cho một lời
giải để giải quyết bài toán Vị trí của cá thể được xác định bởi lời giải hiện tạiđược thay thế
Pbest (personal best): vị trí tốt nhất của một cá thể cho đến thời điểm
hướng bay của một cá thể để cải thiện vị trí hiện tại của nó
Chỉ số quán tính (Inertia weight): được sử dụng để kiểm soát tác động
của vận tốc trước đó so với vận tốc hiện tại của một cá thể
Yếu tố học tập (learning factor): đại diện cho sự thu hút Hai Yếu tố
được sử dụng là C1 và C2 (hằng số)
với thành công của riêng nó
công của các cá thể láng giềng
Cấu trúc liên kết láng giếng (neighborhood topology): xác định tập
hợp những cá thể góp phần vào việc tính giá trị lbest của cá thể.
Các cá thể trong bầy liên kết với các cá thể xung quanh bằng một sốloại cầu trúc liên kết láng giềng như một đồ thị Có những loại đồ thị sau:
Đồ thị rỗng (empty graph): trong cấu trúc liên kết này, các cá thể bị cô
lập, mỗi hạt chỉ liên kết với chính nó, và so sánh vị trí hiện tại của nó với vị
trí tố nhất tìm được cho tới hiện tại (pbest) [1] Trong trường hợp này, C2 = 0
Trang 23Đồ thị tốt nhất cục bộ (local best): trong cấu trúc liên kết này, mỗi cá
thể được tác động bởi hiệu quả tốt nhất của k cá thể láng giềng Những cá thể
bị ảnh hưởng bởi vị trí tốt nhất trong láng giềng xung quanh nó (lbest), cũng như kinh nghiệm trong quá khứ của nó (pbest) [1].
2.1.2 Thuật toán tiến hóa PSO.
Trong một hệ thống PSO, mỗi phần tử trong bầy đàn sẽ thay đổi vị tríbằng cách di chuyển nhiều vị trí khác nhau trong không gian tìm kiếm chođến khi tìm được vị trí tốt nhất [1] Khái niệm về sự thay đổi những điểm tìmkiếm của thuật giải PSO được biễu diễn ở hình 2.1
Hình 2.1: Khái niệm về sự thay đổi điểm tìm kiếm của PSO
Trang 24Gbest : vị trí tốt nhất của cá thể thứ 1 trong quần thể
Để cho dễ hiểu tư tưởng của thuật toán PSO Chúng ta xem xét một ví
dụ như sau: giả sử có một bầy chim đang tìm kiếm thức ăn trong một vùngnào đó Tất cả các con chim là không biết thức ăn ở đâu Tuy nhiên, chúngbiết là thức ăn cách xa bao nhiêu sau mỗi lần bay đi bay lại (lặp) Câu hỏi đặt
ra là: cách tốt nhất để tìm được thức ăn là gì? câu trả lời đơn giản là, theo saunhững con chim gần chỗ thức ăn nhất PSO phỏng theo kịch bản này và sửdụng nó để giải các bài toán tối ưu
Trong PSO, mỗi giải pháp đơn, trong ví dụ trên mỗi con chim “bird”,được gọi là particle Mỗi particle có một giá trị thích nghi (fitness value),được đánh giá bằng hàm đo độ thích nghi (fitness function), và một vận tốc(velocity) để định hướng việc bay (flying), tìm kiếm, của nó Các particle sẽduyệt (fly through) không gian bài toán bằng cách theo sau các particles cóđiều kiện tốt nhất hiện thời (current optimum particles)
PSO là được khởi tạo bởi một nhóm ngẫu nhiên các particles, sau đótìm kiếm giải pháp tối ưu bằng việc cập nhật các thế hệ (lần lặp) Trong mỗithế hệ, mỗi particle là được cập nhật bởi hai giá trị: giá trị thứ nhất, gọi là
Pbest (là nghiệm tốt nhất đạt được cho tới thời điểm hiện tại) hay là fitness
value của particle tốt nhất trong thế hệ hiện thời Giá trị thứ hai, gọi là Gbest
(là nghiệm tốt nhất mà cá thể lân cận cá thể này đạt được cho tới thời điểmhiện tại) hay là fitness value của particle tốt nhất trong tất cả các thế hệ từtrước đến bây giờ Nói cách khác, mỗi cá thể trong quần thể cập nhật vị trícủa nó theo vị trí tốt nhất của nó và của cá thể trong quần thể tính tới thời
Trang 25điểm hiện tại Quá trình cập nhật các particle dựa trên hai công thức sau[1]:
p: số lượng cá thể trong quần thể
2.1.3 Lưu đồ giải thuật thuật toán tiến hóa PSO.
Trang 26Hình 2.2: Lưu đồ giải thuật thuật toán PSOThuật toán PSO có thể viết dưới dạng mã giả như sau:
For Each particle
Khởi tạo particle
Trang 27End For
If Pbest < Gbest then Gbest = Pbest
End if For each particle
Tính vật tốc particle theo công thức (2.1) Cập nhật vị trí theo công thức (2.2) End For
While (chưa đạt đến số thế hệ tối đa cho phép);
Thuật toán PSO có thể dùng để tìm tối ưu toàn cục và vị trí mà tại đóhàm thích nghi đạt giá trị tối ưu, cũng như để xác định hiệu suất hội tụ nếu đãbiết giá trị tối ưu toàn cục
Việc đạt ngưỡng của chỉ số hội tụ ở đây phụ thuộc vào mục đích sửdụng của thuật toán Trong trường hợp thuật toán được dùng để tìm vị trí tối
ưu toàn cục, sau một số lần định trước, nếu kết quả không được cải thiện xemnhư chỉ số hội tụ đạt ngưỡng Còn trong trường hợp đã biết trước kết quả, saumột số vòng lặp chọn trước (thí dụ 200), nếu sự sai khác giữa giá trị hàmthích nghi và giá trị tối ưu nhỏ hơn một ngưỡng được chọn (thí dụ 0.0001), taxem lần lượt thì đó là hội tụ, ngược lại là không hội tụ
Trang 28Với những gì trình bày ở trên, rõ ràng là PSO rất giống với tính toántiến hóa Tuy nhiên, trong PSO thay vì sử dụng các toán tử di truyền mỗi cáthể cập nhật vị trí của mình không chỉ dựa trên kinh nghiệm tìm kiếm của bảnthân mà còn tận dụng kinh nghiệm và sự khám phá của các bạn bè khác Việcđưa thêm khái niệm vận tốc vào vị trí hiện hành để sản sinh vị trí kế tiếpgiống với toán tử đột biến trong thuật giải di truyền Chỉ khác là, trong PSOtoán tử đột biến được trợ giúp bởi kinh nghiệm “bay” không chỉ của bản thân
mà còn của đồng loại trong khi đột biến của di truyền là ngẫu nhiên Vì thế,PSO có tính tất định cao hơn thuật giải di truyền
2.2 Cải tiến thuật toán PSO.
2.2.1 Mở đầu.
Tối ưu toàn cục nhằm mục đích tìm ra lời giải tốt nhất cho hàm mụctiêu Bài toán này trở nên khó khăn khi hàm mục tiêu phức tạp và có nhiều lờigiải tối ưu cục bộ Các tính toán tiến hóa có thể được sử dụng để khác phụckhó khăn này Tuy nhiên, một khó khăn khác nảy sinh khi sử dụng kỹ thuậttiến hóa giải bài toán tối ưu là tính không tất định của các thuật giải tiến hóa.Giải pháp thường được sử dụng để chuyển từ không tất định sang tất định là
cố định số bước lặp tiến hóa Tuy nhiên, tính tất định giả tạo như vậy chỉ cóthể sử dụng với những bài toán không đòi hỏi về thời gian xử lý Trong cácbài toán ấy, lời giải tối ưu toàn cục có thể đạt đến khi cho số bước lặp cao.Trong thực tiễn, những bài toán như thế không nhiều và ví thế, số bước lặpthường không thể cao khiến cho lời giải toàn cục khó đạt đến hoàn toàn
Thuật toán PSO, như đã trình bày ở mục 2.1.2, là một kỹ thuật tiến hóanên cũng gặp vấn đề về tính tất định như các thuật toán tiến hóa khác khi ápdụng giải bài toán tối ưu toàn cục Vì thế, từ khi thuật toán PSO chuẩn đượcgiới thiệu bởi Eberhat và Kennedy năm 1995[1], đã có nhiều nghiên cứu thựcnghiệm nhằm nâng cao hiệu quả sử dụng của PSO Các nghiên cứu tập trung
Trang 29vào hai hướng chính: thực nghiệm trên các tham số hoặc thực nghiệm trên cácmục tiêu.
2.2.2 Các cải tiến với các tham số.
2.2.2.1 Tham số lực quán tính.
Shi va Eberhat cải tiến thuật toán PSO bằng cách đưa vào tham số lựcquán tính để cân đối việc tìm kiếm toàn cục và cục bộ của quần thể Lực quántính w dùng trong việc cập nhật vận tốc theo công thức sau:
Vid = w Vid + c1 r1 (Pid- Xid) + c2r2(Pgd- X id) (2.3)Lực quán tính được tận dụng để kiểm tra sự tác động của vận tốc trướclên vận tốc hiện hành Bằng cách này, tham số w được điều chỉnh một cáchthỏa hiệp giữa sự khảo sát toàn cục (phạm vi rộng khắp) và cục bộ (phạm vigần) của quần thể và sự ảnh hưởng đến khả năng hội tụ của PSO Lực quántính lớn thuận tiện cho việc khảo sát toàn cục (tìm vùng lãnh thổ mới), trongkhi lực nhỏ hướng tới sự thuận tiện cho việc khảo sát cục bộ Giá trị phù hợpcủa lực quán tính w thường được cân bằng giữa sự khảo sát toàn cục và cục
bộ có thể và do đó làm giảm số lần lặp quy định để tìm lời giải tối ưu Tốtnhất là khởi tạo w với giá trị lớn để có thể khảo sát toàn cục không gian tìmkiếm tốt hơn và điều chỉnh giảm dần nó để được lời giải tinh tế hơn
Shi và Eberhat đề nghị khởi tạo w bằng 0.9 và giảm dần tuyến tính đến0.4 trong quá trình tiềm kiếm
2.2.2.2 Hệ số co.
Hệ số co được Clerc và Kennedy đề xuất khi phân tích toán học hành vicủa đơn thể (một cá thể duy nhất) [1] Hệ số co được dùng trong việc cập nhậtvận tốc theo các công thức sau:
Vid = K [wVid + c1r1 (Pid – Xid) + c2r2(Pgd – Xid)] (2.4)
Trang 301 1 2 2 2
2.2.3 Các cải tiến với hàm mục tiêu.
PSO, giống như nhiều phương pháp tiến hóa và tối ưu (cực tiểu) hóa cổđiển khác, cũng gặp phải vấn đề là thỉnh thoảng xảy ra sự hội tụ địa phương,nhất là trong tình huống nhiều trạng thái và rải rác K.E.Parsopoulos vàM.N.Vrahatis đề xuất một vài cách sửa đổi PSO bằng cách sử dụng các kỹthuật làm lệch (Deflection Technique) và kỹ thuật kéo giãn (StretchingTecchnique) để làm dịu đi vấn đề cực tiểu đại phương, trong khi vẫn duy trìcực tiểu toàn cục Các thực nghiệm của họ cho thấy PSO có trang bị các kỹthuật này bộc lộ phẩm chất hiệu xuất tốt và kết quả tìm thấy cực tiểu toàn cụcđáng tin cậy và có thể đoán trước
2.2.3.1 Kỹ thuật làm lệch (Deflection Technique).
Giả sử hàm f : E →R E, ⊂ R n là hàm mục tiêu có m cực tiểu x*i ,i=1, ,m Khi đó, kỹ thuật làm lệch được định nghĩa như sau:
i, còn tất cả các điểm cực tiểu khác của
Trang 31thõa tất cả các yêu cầu ở trên.
Hiệu ứng của việc áp dụng thủ tục làm lệch đối với hàm một chiều f(x) = x4 −12x3 +47x2 −60x+25 (2.8)tại cực tiểu địa phương x* = 4.60095589 được minh họa ở các hình 2.3;2.4 và 2.5
Hình 2.3: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm x* =4.60095589
với λ=1
Trang 32Hình 2.4: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm x* =4.60095589
với λ=10
Trang 33Hình 2.5: Áp dụng kỹ thuật làm lệch cho hàm (2.8), tại điểm x* =4.60095589
Ngoài ra, không còn cực tiểu nào khác (cả toàn cục lẫn địa phương)
Giả sử ta xét điểm cực tiểu *
2
x =π , khi đó hiệu ứng của việc làm lệch, với
Trang 34λ=1, 10 và 0.1 được minh họa lần lượt ở các hình 2.6, 2.7 và 2.8
Hình 2.6: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm x* =( 2)π , với
λ=1
Trang 35Hình 2.7: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm x* =( 2)π , với
λ=0.1
Trang 36Hình 2.8: Áp dụng kỹ thuật làm lệch cho hàm (2.9), tại điểm x* =( 2)π , với
λ=10
Rõ ràng là các giá trị lớn của λ, hiệu ứng của kỹ thuật làm lệch đối vớihàm mục tiêu tương đối nhẹ Ngược lại, sử dụng λ<1 dẫn đến việc hàm F cógiá trị lớn trong lân cận của điểm cực tiểu được làm lệch và có thể ảnh hưởngđến các cực tiểu lân cận, như trong hình 2.8 Trong tất cả các hình, việc làmlệch đều dẫn đến việc phát sinh các cực tiểu địa phương mới ở cả hai phía, tạo
ra hiệu ứng “ mũ Mehico” xung quanh điểm được làm lệch
2.2.3.2 Kỹ thuật kéo giãn (Stetching Technique).
Trang 37K.E.Parsopoulous và M.N.Vrahatis mô tả kỹ thuật hàm “kéo giãn” và
đề xuất một mô hình thuật toán để trang bị PSO với hàm này PSO với sự sửađổi này gọi là SPSO (“ Stretched” PSO)
Ý tưởng chính của hàm “kéo giãn” là thực hiện phép biến đổi hai giaiđoạn trên hàm f(x) ban đầu Điều này có thể thực hiện ngay sau khi cực tiểuđịa phương x của hàm f được tìm thấy:
.( ( ( ) ( )) 1)( ) ( )
công thức (2.11), làm giảm lân cận của x và quy định giá trị hàm số cao hơn
cho các điểm này Cả hai giai đoạn không làm thay đổi các cực tiểu địa
phương thấp hơn x Như thế, vị trí của cực tiểu toàn cục cũng không thay
với các giá trị của λ1 và λ2 lớn
Chúng ta lấy một ví dụ minh họa cho ứng dụng kỹ thuật này và hiệuquả của nó Sau đây là hàm Levy No 5 hai chiều :
Trang 38Với: 10 10
1,2
i
x i
− ≤ ≤
= (2.12)
Hàm này có khoảng 760 cực tiểu địa phương và một cực tiểu toàn cụcvới giá trị hàm f* = −176.1375 tại x* = −( 1.3068, 1.4248)− Số lượng lớn cựctiểu địa phương như thế gây khó khăn cho bất kỳ phương pháp nào xác địnhcực tiểu toàn cục Hình (2.9) cho thấy đồ thị rắc rối của hàm Levy No.5 trongkhối [ ]2
2,2
− Lưu ý là các cực tiểu ở góc trái thấp hơn góc phải
Hình 2.9: Đồ thị của hàm Levy No.5 trong khối [ ]2
2,2
Sau khi áp dụng phép biến đổi với công thức (2.10) ( giai đoạn thứ nhấtcủa hàm “kéo giãn”) vào hàm Levy No.5, hình dáng mới của đồ thị hàm trunggian được thấy ở hình (2.8)
Trang 39Hình 2.10: Giai đoạn đầu G(x) của kỹ thuật kéo giãn cho hàm Levy No.5
ở hình (2.11) là kết quả của việc áp dụng giai đoạn biến đổi thứ hai cho hàmLevy No.5 Nó cho thấy rõ ràng vùng lân cận của cực tiểu địa phương đượcnâng cao như thế nào và kết quả là cực tiểu địa phương lúc trước chuyểnthành cực đại địa phương của hàm
Trang 40Hình 2.11: Hàm Levy No.5 trong khối [ ]2
Chi tiết hiệu suất của SPSO với một vài phép thử thông dụng cũng nhưviệc chọn tham số cho kỹ thuật hàm “kéo giãn”:
Bước 0: Gán số vòng lặp it = 0 và số cực tiểu địa phương LMC = 0.Bước 1: Khởi tạo ngẫu nhiên quần thể và vận tốc như là hai ma trận D
x N, trong đó D là số chiều của bài toán còn N là kích thước của quần thể
Bước 2: Gán vị trí tốt nhất cho mỗi cá thể là vị trí khởi tạo ở bước 1.Bước 3: Gán w giá trị khởi tạo w0
Bước 4: Tìm chỉ số g của cá thể tốt nhất trong quần thể
Bước 5: Lặp các bước sau trong khi chưa tới đích