Nhóm ph ng pháp điều khiển hi n đại bao gồm điều khiển dùng giải thuật m , điều khiển dùng giải thuật di truyền, điều khiển dùng mạng thần kinh nhân tạo Artificial Neural Network, trong
Trang 1vii
Quyết đ nh giao đề tài
Lụ L CH KHOA H C i
L i Cam Đoan iii
L i Cảm n iv
Tóm Tắt Luận Văn v
M c l c vii
Danh Sách Các Chữ Viết Tắt x
Danh Sách Các Hình xi
Danh Sách Các Bảng xiv
Ch ng 1 Tổng Quan 1
1.1 Đặt vấn đề 1
1.2 L ch sử nghiên cứu 3
1.3 M c tiêu và giới hạn c a đề tài 6
1.4 Ph ng pháp nghiên cứu 7
1.5 N i dung luận văn 7
Ch ng 2 Mô Hình Toán H c 9
2.1 Xây dựng mô hình toán h c [8], [9] 9
2.2 Mô phỏng con lắc ng ợc quay trên matlab 13
2.1.1 Khảo sát đáp ứng c a con lắc tuyến tính 15
2.1.2 Khảo sát đáp ứng góc c a con lắc với b điều khiển PID m t biến 16
2.1.3 Khảo sát đáp ứng góc c a con lắc với b điều khiển PID hai biến 17
2.1.4 Khảo sát đáp ứng c a con lắc phi tuyến 21
Trang 2viii
Network) [15], [16] 24
3.1.1 Vấn đề thiết kế cấu trúc mạng 25
3.1.2 Số lớp ẩn 26
3.1.3 Số neural trong lớp ẩn 27
3.2 Luật h c lan truyền ng ợc [16] 28
3.3 Lựa ch n và huấn luy n mạng 33
3.3.1 Mạng truyền thẳng (feedforwardnet) 34
3.3.2 Mạng truyền thẳng ghép cascade (Cascade-forward neural network) 35
3.3.3 Mạng truyền thẳng khớp quan h vào ra (fitting neural network) 37
3.4 Điều khiển con lắc bằng mạng fitting neural network 38
Ch ng 4 Đi u Khi n Swing-Up Dùng Logic Mờ 39
4.1 Tổng quan về điều khiển m [14] 39
4.1.1 Tiền xử lý 39
4.1.2 M hóa 39
4.1.3 H qui tắc m 40
4.1.4 Các phép toán trên tập m 41
4.2 Điều khiển Swing-up [14], [15] 42
4.3 Áp d ng điều khiển m trong Swing-up con lắc 44
Ch ng 5 Kết Qu Thực Nghi m 46
5.1 Điều khiển con lắc ng ợc dùng mạng fitting neural network 46
5.1.1 Đáp ứng c a con lắc khi ch a thay đổi thông số mô hình 47
Trang 3ix
5.1.3 Đáp ứng c a con lắc khi thêm m = 0.31kg tại 2L=30cm 51
5.2 Điều khiển Swing-up sử d ng logic m 54
Nhận xét: 56
Ch ng 6 Kết Luận VƠ H ớng Phát Tri n Đ TƠi 56
6.1 Kết luận 56
6.2 H ớng phát triển c a đề tài 56
TÀI LI U THAM KH O 59
Phụ Lục 62
A Giới thi u phần cứng h thống con lắc ng ợc quay 62
a Phần c khí: 62
b Phần mạch đi n tử: 63
c Các s đồ nguyên lý c a mạch đi n trên h thống thực 65
Trang 4x
2 PWM: Pulse-Width Modulation
3 SIMO: Single Input Multi Outputs
4 SISO: Single Input Single Outputs
5 MIMO: Multi Input Multi Outputs
6 DSP: Digital Signal Processing
7 PCI: Peripheral Component Interconnect
8 QEP: Quadrature Encoder Pulse
9 ANN: Artificial Neural Network
10 SSE: Sum Suquared Error
11 MSE: Mean Square Error
Trang 5xi
Hình 1.1 H Pendubot 3
Hình 1.1 H con lắc ng ợc xe 3
Hình 1.3 H con lắc ng ợc quay 4
Hình 1.4 H con lắc m t bậc 4
Hình 2 1 Mô hình cánh tay quay c a con lắc 9
Hình 2 2 Phân tích chuyển đ ng c a con lắc ng ợc quay 10
Hình 2 3 S đồ khối mô hình mô phỏng con lắc tuyến tính 14
Hình 2 4 S đồ khối mô hình mô phỏng con lắc phi tuyến 14
Hình 2 5 S đồ khối mô tả con lắc khi ch a có b điều khiển 15
Hình 2 6 Góc alpha c a con lắc khi ch a có b điều khiển 15
Hình 2 7 S đồ khối điều khiển con lắc hồi tiếp góc alpha 16
Hình 2.8 Đáp ứng góc l ch con lắc khi hồi tiếp góc alpha 17
Hình 2.9 Đáp ứng góc l ch cánh tay khi hồi tiếp góc theta 17
Hình 2.10 Điều khiển con lắc hồi tiếp cả hai góc alpha và theta 18
Hình 2.11 Đáp ứng góc alpha khi hồi tiếp cả hai góc alpha và theta 18
Hình 2.12 Đáp ứng góc theta khi hồi tiếp cả hai góc alpha và theta 19
Hình 2.13 Điều khiển con lắc hồi tiếp cả hai góc alpha và theta khi thay đổi m 20
Hình 2.14 Điều khiển con lắc không ổn đ nh khi khối l ợng m = 0.65kg 20
Hình 2.15 Điều khiển con lắc hồi tiếp cả hai góc alpha và theta khi thay đổi chiều dài 21
Hình 2.16 Điều khiển con lắc không ổn đ nh khi chiều dài bằng L=0.4194 m 21
Hình 2.17 Điều khiển con lắc hồi tiếp cả hai góc alpha và theta với tín hi u nhi u 22
Hình 2.18 Góc alpha c a con lắc khi ngõ vào là tín hi u nhi u ngẫu nhiên 22
Hình 2.19 Điều khiển con lắc ổn đ nh khi khối l ợng m = 0.62kg 23
Hình 2.20 Điều khiển con lắc ổn đ nh khi chiều dài bằng 0.4145m 23
Hình 3.1 Mạng neural truyền thẳng nhiều lớp 24
Hình 3.2: Hi u năng huấn luy n c a mạng feedforwardnet 32
Hình 3.3: Trạng thái quá trình huấn luy n c a mạng feedforwardnet 33
Hình 3.4: Histogram huấn luy n c a mạng feedforwardnet 33
Hình 3.5: Hi u năng huấn luy n c a mạng Cascade-forward neural network 34
Trang 6xii
Hình 3.9: Trạng thái quá trình huấn luy n c a mạng fitting neural network 36
Hình 3.10: Histogram huấn luy n c a mạng fitting neural network 36
Hình 3.11 S đồ khối b điều khiển cân bằng sử d ng mạng fitting neural network 37
Hình 4.1 S đồ khối b điều khiển m 39
Hình 4.2 Tập m ngõ ra c a khâu m hóa 40
Hình 4.3 Miền không gian trạng thái con lắc 43
Hình 4.4 Mô hình b điều khiển con lắc cân bằng và lật ng ợc 43
Hình 4.5 S đồ m hóa ngõ vào 44
Hình 4.6 S đồ giải m ngõ ra 44
Hình 4.7 Vùng tác đ ng điều khiển con lắc ng ợc 45
Hình 5.1 S đồ khối thu thập dữ li u 46
Hình 5.2 S đồ khối b điều khiển cân bằng sử d ng mạng fitting neural network 47
Hình 5.3 Đáp ứng góc alpha với mạng fitting neural network 48
Hình 5.4 Đáp ứng góc alpha với mạng truyền thẳng [9] 48
Hình 5.5 Đáp ứng góc theta với mạng fitting neural network 49
Hình 5.6 Đáp ứng góc theta với mạng truyền thẳng [9] 49
Hình 5.7 Đáp ứng góc alpha với mạng fitting neural network khi thêm m tại L=16cm 50
Hình 5.8 Đáp ứng góc alpha với mạng truyền thẳng [9] khi thêm m tại L=16cm 50
Hình 5.9 Đáp ứng góc theta với mạng fitting neural network khi thêm m tại L=16cm 51
Hình 5.10 Đáp ứng góc theta với mạng truyền thẳng [9] khi thêm m tại L=16cm 51
Hình 5.11 Đáp ứng góc alpha với mạng fitting neural network khi thêm m tại L=30cm 52
Hình 5.12 Đáp ứng góc alpha với mạng truyền thẳng [9] khi thêm m tại L=30cm 52
Hình 5.13 Đáp ứng góc theta với mạng fitting neural network khi thêm m tại L=30cm 53
Hình 5.14 Đáp ứng góc theta với mạng truyền thẳng [9] khi thêm m tại L=30cm 53
Hình 5.15 Vùng tác đ ng điều khiển Swing- up 54
Hình 5.16: L u đồ giải thuật điều khiển Swing-up 54
Hình 5.17 Góc con lắc khi điều khiển swing-up 55
Hình 7.1 S đồ h thống điều khiển con lắc ng ợc quay 59
Hình 7.2 H thống thực nghi m 59
Trang 7xiii
Hình 7.5 Mạch giao tiếp Encorder với 2 ngõ QEP c a DSP 62
Hình 7.6 Mạch cách ly giữa phần điều khiển và phần đ ng lực 62
Hình 7.7 Mạch đ ng lực điều khiển đ ng c 24V 63
Hình 7.8 Mạch giao tiếp SCI 63
Trang 8xiv
Bảng 2.1 Các thông số c a mô hình 15
Bảng 3.2 So sánh kết quả huấn luy n các loại mạng 40
Bảng 7.1 Thông số thực c a h thống con lắc ng ợc thực 65
Trang 91
Ch ng 1
1.1 Đặt vấn đ
Ngày nay các lý thuyết điều khiển tuyến tính đƣ phát triển hoàn ch nh vƠ đ ợc
áp d ng rất thành công trong các quá trình công nghi p cũng nh trong các thiết b dân d ng Tuy nhiên, các lý thuyết này không hi u quả đối với các h thống phi tuyến mà không thể hoặc khó xác đ nh chính xác mô hình toán h c, nhất lƠ đối với
những h thống có mô hình toán h c thay đổi và ch u tác đ ng c a nhi u Bên cạnh
đó, lỦ thuyết điều khiển phi tuyến cũng đƣ có những b ớc phát triển đáng kể Từ đó chúng ta có nền tảng toán h c cần thiết để thiết kế những b điều khiển đạt chất
nhất là những đối t ợng không rõ hoặc khó xác đ nh chính xác mô hình toán h c, cũng nh ch u tác đ ng c a nhi u
Nhóm ph ng pháp điều khiển hi n đại bao gồm điều khiển dùng giải thuật
m , điều khiển dùng giải thuật di truyền, điều khiển dùng mạng thần kinh nhân tạo (Artificial Neural Network, trong đề tài này g i tắt là mạng neural) … Điều khiển
m dựa vào vi c xấp xƿ thông số c a đối t ợng dùng mô hình m Các thông số này
sẽ đ ợc cập nhật liên t c trong quá trình điều khiển dựa vào sai số hồi tiếp Ph ng pháp này vận d ng tính xấp xƿ hƠm c a h m và dùng luật thích nghi để cập nhật thông số c a h m theo tiêu chuẩn ổn đ nh Lyapunov Mạng neural khi mới hình thƠnh còn ch a có tri thức về h thống, tri thức c a mạng hình thành dần sau m t quá trình huấn luy n Mạng neural đ ợc huấn luy n bằng tập dữ li u, bao gồm kích
Trang 102
thích ngõ vƠo vƠ đáp ứng ngõ ra c a h thống Ta đ a vƠo đầu vào mạng neural những kích thích, mạng neural sẽ hình thành những đáp ứng t ng ứng ngõ ra, đáp ứng phù hợp với từng loại kích thích sẽ đ ợc l u giữ, giai đoạn nƠy đ ợc g i là giai đoạn h c c a mạng Khi đƣ hình thƠnh tri thức, chúng ta có thể dùng mạng neural để điều khiển h thống mà nó đ ợc h c
H con lắc ng ợc quay là m t h thống không ổn đ nh vƠ có ít ngõ vƠo điều khiển h n số bậc tự do Đơy lƠ m t h phi tuyến có hai điểm cân bằng: Điểm cân
bằng thẳng đứng h ớng lên (v trí lật ng ợc) vƠ điểm cân bằng thẳng đứng h ớng
xuống d ới (v trí buông thõng), trong đó v trí lật ng ợc lƠ điểm cân bằng không
ổn đ nh BƠi toán đặt ra là thiết kế h thống điều khiển gồm hai phần: b điều khiển
lật ng ợc (swing-up) có nhi m v đ a con lắc từ v trí buông thõng lên v trí lật
ng ợc và b điều khiển cân bằng có nhi m v giữ con lắc ổn đ nh tại v trí lật
ng ợc
Con lắc ng ợc lƠ đối t ợng đại di n cho lớp các đối t ợng có đ phi tuyến cao và không ổn đ nh Con lắc ng ợc quay m t bậc tự do có u điểm là h thống c khí không quá phức tạp (so với con lắc ng ợc xe), nó đ ợc sử d ng r ng rãi trong
vi c giảng dạy và nghiên cứu lý thuyết điều khiển tự đ ng cũng nh xây dựng các
b điều khiển
Con lắc ng ợc quay m t bậc tự do bao gồm 3 phần chính: phần c khí, phần
đi n tử và phần ch ng trình Phần c khí bao gồm m t thanh kim loại (con lắc) quay quanh m t tr c thẳng đứng Thanh kim loại đ ợc gắn gián tiếp với đầu c a
m t cánh tay nằm ngang thông qua m t cảm biến để đo góc, đầu còn lại c a cánh tay đ ợc gắn vào tr c quay c a m t đ ng c DC Đ ng c DC đặt thẳng đứng để cánh tay có thể quay trong m t mặt phẳng nằm ngang Do trong quá trình vận hành cánh tay sẽ quay với tốc đ cao nên phần c khí cần phải đ ợc tính toán thiết kế chính xác, chắc chắn nhằm tránh rung gây nhi u vƠ h hỏng trong quá trình vận hành Phần đi n tử gồm 3 phần nhỏ là: cảm biến đo góc cánh tay vƠ con lắc, mạch khuyếch đại công suất và mạch điều khiển Phần cảm biến đóng vai trò hết sức quan tr ng, nó sẽ cung cấp cho b điều khiển: v trí, h ớng c a cánh tay và con lắc
Trang 113
Có nhiều loại cảm biến đ ợc sử d ng để đo góc, trong đề tài này tác giả sử d ng B
mã hóa vòng quay (Rotary Encorder) có đ phân giải 4096 xung/vòng Tín hi u từ
b mƣ hóa vòng quay đ ợc khuyếch đại, l c nhi u rồi kết nối vào module ngoai vi eQEP (Enhanced Quadrature Encorder Pulse) c a DSP Tùy thu c vào tín hi u từ các B mã hóa vòng quay mƠ DSP đ ợc lập trình để xuất tín hi u ngõ ra điều khiển
đ ng c DC qua m t mạch khuyếch đại công suất Phần ch ng trình: Ch ng trình điều khiển con lắc tác giả không viết trực tiếp trên Code Composer Studio mà
kết hợp với Matlab2012a để tận d ng các hàm tính toán rất mạnh, có sẵn trong Matlab Cách viết này về lý thuyết sẽ giúp ng i sử d ng tiết ki m đ ợc th i gian
vì không cần phải nắm vững cấu trúc phần cứng c a DSP và tập l nh C c a CCS
nh ng thực tế do mã C sinh ra b i Matlab sẽ không tối u nên để ch ng trình hoạt
đ ng tốt đòi hỏi ng i lập trình phải nắm thật vững cách lập trình bằng Matlab, cấu trúc mã C do Matlab sinh ra, cấu trúc phần cứng c a DSP để có thể can thi p và
hi u ch nh trực tiếp vào mã C này
1.2 L ch sử nghiên c u
H con lắc ng ợc có cấu trúc đ n giản nh ng mang đầy đ dặc tính phi tuyến
Do đó, h thống trên đ ợc sử d ng rất r ng rãi trong các thí nghi m kiểm chứng lý thuyết điều khiển M t số dạng mô hình con lắc ng ợc đ ợc sử d ng nhiều nh : pendubot, h con lắc ng ợc xe, h con lắc ng ợc quay…
Trang 124
Hình 1.3 H ệ con lắc ngược quay Hình 1.4 H ệ con lắc một bậc
Trong các mô hình trên, h pendubot và h con lắc ng ợc xe có khuyết điểm
là khoảng hoạt đ ng b giới hạn vì cấu tạo phần cứng H con lắc m t bậc là h SISO nên mô hình còn mang tính đ n giản H con lắc ng ợc quay không b giới
hạn về không gian hoạt đ ng và là m t h SIMO nên giải thuật điều khiển phải đòi hỏi phức tạp h n, phù hợp cho các giải thuật điều khiển chuyên sâu Quá trình điều khiển con lắc ng ợc quay gồm hai giai đoạn: điều khiển swing-up vƠ điều khiển cân bằng
Đối với điều khiển cân bằng cho con lắc, các giải thuật phi tuyến đƣ đ ợc sử
d ng thƠnh công nh back-stepping [1], tr ợt [2], đặt cực [3] Tuy nhiên, khuyết điểm chung c a c a các giải thuật điều khiển trên là ta phải biết đ ợc mô hình toán đối t ợng và các thông số mô hình t ng ứng
Theo h ớng nghiên cứu c a nhóm MA và BT [4] thiết kế b điều khiển Logic
m (Fuzzy) để điều khiển ổn đ nh h thống con lắc ng ợc Kết quả đáp ứng c a h
thống khi sử d ng b điều khiển Fuzzy hi u quả h n b điều khiển PID Tuy nhiên
b điều khiển m hoạt đ ng ch yếu ph thu c vào kinh nghi m vƠ ph ng pháp
Trang 13vi c tìm kiếm bề mặt tr ợt c a h thống là không d dàng
Theo h ớng nghiên cứu c a nhóm ANKN, RMTRI, MAA [6] thiết kế b điều khiển tr ợt và b điều khiển PID để điều khiển cho con lắc ng ợc M c tiêu c a bài báo này là so sánh chất l ợng đáp ứng c a h thống khi sử d ng hai b điều khiển nƠy để điều khiển ổn đ nh cho con lắc ng ợc Cả hai b điều khiển nƠy đ ợc mô
phỏng trên môi tr ng Simulink Matlab và cho thấy đều có khả năng điều khiển thành công mô hình con lắc Kết quả cho thấy rằng khi sử d ng b điều khiển tr ợt thì cho đáp ứng tốt h n so với b điều khiển PID Tuy nhiên, khi sử d ng hai b điều khiển nƠy để điều khiển con lắc thì v trí góc l ch con lắc t ng đối lớn
Để khắc ph c các khuyết điểm trên c a điều khiển phi tuyến cũng nh tuyến tính, m t số tác giả sử d ng các giải thuật điều khiển thông minh nh điều khiển
m [7], điều khiển dùng mạng neural [8], [9] Vi c sử d ng mạng neural [8], [9] đƣ
mô phỏng thành công m t giải thuật điều khiển tr ớc đó (b điều khiển PID) để điều khiển tốt đối t ợng con lắc ng ợc quay thực tế Tuy nhiên, có nhiều loại mạng neural đ ợc sử d ng trong thực tế Vấn đề ch n mạng neural nƠo để sử d ng trong điều khiển là m t vấn đề cần đ ợc quan tâm
Các kết quả trong [10] cho thấy cấu trúc mạng neural truyền thẳng khớp quan
h vào ra (fitting neural network) tốt h n mạng truyền thẳng ghép liên tầng feed forward) và mạng truyền thẳng chuẩn (feed-forward) Đồng th i các nghiên
(casde-cứu trong [11] vƠ [12] đƣ khắc ph c đ ợc những nh ợc điểm c a thuật toán huấn luy n lan truyền ng ợc chuẩn (standard back-propagation) bằng các sử d ng thuật toán lan truyền ng ợc Levenberg-Marquardt (Levenberg-Marquardt back-
Trang 146
propagation) và thuật toán lan truyền ng ợc quy tắc hóa Bayesian (Bayesian regularization backpropagation)
Đối với điều khiển swing-up cho con lắc thì m t số tác giả dùng kinh nghi m
để kích các xung có đ r ng khác nhau tùy v trí con lắc để đ a con lắc dần lên v trí cân bằng đƣ đạt đ ợc thành công trong thực tế [3], cũng nh mô phỏng [16] Khi con lắc đến đ ợc v trí gần với v trí cân bằng thì giải thuật cân bằng mới đ ợc thực
hi n Vi c điều khiển nh thế sẽ không áp d ng đ ợc các hiểu biết c a chuyên gia vào giải thuật cũng nh lƠm giải thuật điều khiển không đ ợc mềm dẻo trong các
trạng thái hoạt đ ng khác nhau c a h con lắc ng ợc quay Do đó, vi c áp d ng các giải thuật thông minh cho điều khiển swing-up là cần thiết Từ suy nghƿ đó, m t số tác giả n ớc ngoài [16] cũng đƣ mô phỏng thành công vi c điều khiển swing-up cho con lắc ng ợc dùng điều khiển m nh ng kết quả thực tế lại không đ ợc đề cập đến
Furura K., Yamakita M [14] đƣ xơy dựng thành công b điều khiển swing-up
hồi tiếp thành công Tuy nhiên giải thuật này ch tác đ ng lật ng ợc trong 2 miền không gian trạng thái nên ch a tối u đ ợc th i gian quá trình điều khiển lật
ng ợc Từ Ủ t ng này, tác giả đƣ xơy dựng b điều khiển swing-up tác đ ng trên
cả 4 miền không gian trạng thái, đ ợc trình bày ch ng 5
1.3 Mục tiêu và giới h n c a đ tài
M c tiêu c a đề tài là xây dựng h thống điều khiển con lắc ng ợc, bao gồm 2 phần: B điều khiển Swing-up dùng thuật toán logic m để đ a con lắc từ v trí buông thõng lên v trí lật ng ợc và b điều khiển cân bằng dùng mạng neural truyền thẳng khớp quan h vƠo ra để giữ con lắc ổn đ nh tại v trí này Tr ớc tiên cần xây dựng mô hình toán h c c a h thống con lắc ng ợc, sử d ng Simulink c a Matlab mô phỏng h thống con lắc tuyến tính và phi tuyến Khảo sát đáp ứng c a
h thống với b điều khiển cân bằng dùng PID
Tiếp theo là xây dựng b điều khiển cân bằng con lắc dùng mạng neural truyền thẳng khớp quan h vào ra, đ ợc huấn luy n mạng bằng luật h c lan truyền
ng ợc Bayesian B điều khiển lật ng ợc con lắc sẽ đ ợc xây dựng bằng giải thuật
Trang 157
logic m để đ a con lắc lên v trí lật ng ợc Sau đó kết hợp b điều khiển lật ng ợc
và b điều khiển cân bằng để có h thống điều khiển hoàn ch nh
Giới hạn c a đề tài ch thiết kế vƠ điều khiển mô hình con lắc ng ợc quay giữ cân bằng dùng mạng neural offline, ch a xơy dựng mạng neural online (mạng có
khả năng tự điều ch nh tr ng số trong quá trình điều khiển-tự h c)
1.4 Ph ng pháp nghiên c u
Các ph ng pháp nghiên cứu đ ợc sử d ng trong luận văn bao gồm:
Khảo sát, phân tích tổng hợp
Mô phỏng trên máy tính bằng phần mềm Matlab phiên bản 2012a
Thí nghi m trên mô hình thực và thu dữ li u qua cổng com bằng phần mềm Terminal Sau đó tác giả xử lý dữ li u và vẽ hình trên phần mềm Matlab Các thí nghi m trên mô hình thực nghi m đƣ đ ợc tác giả thực hi n tại x ng đi n 4A,
tr ng Đại H c S Phạm Kỹ Thuật TP HCM
Đánh giá kết quả dựa trên kết quả mô phỏng và thực nghi m
1.5 Nội dung luận văn
Phần còn lại c a n i dung luận văn bao gồm:
Ch ng 2 Mô hình toán h c c a h th ng con lắc ng c quay:
Phần đầu ch ng nƠy trình bƠy các b ớc xây dựng ph ng trình h thống
đ ng lực h c (tuyến tính và phi tuyến) Phần cuối c a ch ng thể hi n kết quả khảo sát đáp ứng c a h thống con lắc ng ợc với b điều khiển PID trên mô phỏng Matlab
Ch ng 3 Đi u khi n cân bằng sử dụng m ng thần kinh nhân t o (ANN):
Phần đầu ch ng nƠy trình bày về mạng neural nhân tạo truyền thẳng nhiều
lớp Phần này còn nêu lên các vấn đề: cấu trúc mạng, số lớp ẩn, số neural trong lớp
ẩn vƠ ph ng pháp ch n cấu trúc trong các ứng d ng c thể
Phần giữa ch ng, tác giả so sánh kết quả huấn luy n các loại mạng truyền
thẳng: truyền thẳng (feedforward), truyền thẳng ghép liên tầng (cascade feedforward), truyền thẳng khớp quan h vào ra (fitting- neural network) Đông
Trang 168
th i tác giả cũng trình bƠy ph ng pháp điều khiển mạng neural theo kiểu h c có giám sát, luật h c lan truyền ng ợc Phần cuối ch ng trình bƠy b điều khiển cân
bằng con lắc sử d ng mạng neural truyền thẳng khớp quan h vào ra
Ch ng 4 Đi u khi n lật ng c sử dụng logic mờ (Fuzzy logic):
Trong ch ng nƠy, tác giả trình bày lý thuyết về điều khiển m có liên quan
tới ứng d ng trong đề tài này Tiếp theo tác giả nêu lên giải thuật điều khiển lật
ng ợc con lắc sử d ng để xây dựng b điều khiển swing-up Phần cuối ch ng thể
hi n kết quả áp d ng logic m trong điều khiển lật ng ợc con lắc
Ch ng 5: Kết qu thực nghi m:
Ch ng nƠy trình bƠy kết quả thực nghi m điều khiển lật ng ợc con lắc và điều khiển cân bằng con lắc sử d ng hai b điều khiển đƣ trình bƠy trong ch ng 4 Đồng th i tác giả so sánh kết quả điều khiển cân bằng trong nghiên cứu này và kết quả trong công trình [9]
Ch ng 6 Kết luận vƠ h ớng phát tri n c a đ tài:
Trong ch ng nƠy, tác giả tóm tắt kết quả đạt đ ợc trong luận văn vƠ h ớng phát triển c a đề tài
Trang 179
Ch ng 2
Mô Hình Toán H c
2.1 Xây dựng mô hình toán h c [8], [9]
Tr ớc khi thiết lập mô hình toán, chúng ta phải hiểu rằng mô hình toán đ ợc dùng nhằm m c đích để mô phỏng và tìm hiểu về h thống Mặc khác mô hình toán còn đ ợc dùng để thiết kế, phân tích và tìm chiến l ợc điều khiển cho h thống
H thống con lắc ng ợc quay nh Hình 2.1, bao gồm m t con lắc có khối
l ợng m, chiều dài 2Lcó thể quay tự do, góc c a con lắc so với ph ng thẳng là
, con lắc đ ợc gắn với m t thanh nằm ngang có chiều dài r
Hình 2.1 Mô hình cánh tay quay của con lắc [9]
Giả sử tr ng lực c a con lắc đặt tại điểm giữa B , nh vậy điểm B sẽ thực hi n
m t chuyển đ ng quay so với điểm A với vận tốc:
Trang 20K f
Trang 21 H con lắc ng ợc quay có 4 biến trạng thái và 1 biến điều khiển
2.2 Mô ph ng con lắc ng c quay trên matlab
M c đích c a vi c trình bày con lắc ng ợc trong mô phỏng lƠ để kiểm chứng
lại lý thuyết từ các mô hình toán đƣ xơy dựng phần 2.1 vƠ đ nh h ớng các ph ng pháp điều khiển
Để tiến hành khảo sát đáp ứng c a h thống tác giả cần xây dựng mô hình mô
phỏng h thống con lắc trong Simulink Matlab Mô hình nƠy đ ợc xây dựng bằng cách sử d ng khối tích phân, khối hàm function Các khối nƠy đ ợc thiết lập dựa trên h ph ng trình 2.12 và 2.13 Tác giả xây dựng s đồ khối mô phỏng con lắc tuyến tính và phi tuyến trong Simulink Matlab theo ph ng trình (2.12) và (2.13)
S đồ khối này đ ợc thể hi n trên Hình 2.3 và Hình 2.4 Các thông số c a h thống
đ ợc trình bày Bảng 2.1
Trang 2214
Hình 2.3 Sơ đồ khối mô hình mô phỏng con lắc tuyến tính
Hình 2.4 Sơ đồ khối mô hình mô phỏng con lắc phi tuyến
Trang 2315
Bảng 2.1 Các thông số c a mô hình
M c đích c a phần nƠy lƠ nêu lên đặc tính không ổn đ nh c a h con lắc Từ
đó, chúng ta thấy đ ợc lý do cần phải có b điều khiển để ổn đinh con lắc
Hình 2.5 Sơ đồ khối mô tả con lắc khi chưa có bộ điều khiển
Hình 2.6 Góc α của con lắc khi chưa có bộ điều khiển
Trang 24Để cho con lắc ổn đ nh cần sử d ng m t b điều khiển hồi tiếp Vi c sử d ng
b điều khiển hồi tiếp giúp dữ li u ngõ ra có thêm nhiều thông tin để mô tả h
thống Để ổn đ nh con lắc v trí lật ng ợc, chúng ta có thể dùng ph ng pháp điều khiển PID m t biến và PID hai biến Qua 2 quá trình này, tác giả sẽ đánh giá chất
l ợng c a m i b điều khiển
2.1.2 Kh o sát đáp ng góc c a con lắc với bộ đi u khi n PID một biến
Tác giả trình bày phần này nhằm m c đích nêu lên vấn đề: con lắc ng ợc quay không ổn đ nh v trí cánh tay với b điều khiển 1 biến Đó lƠ lỦ do b điều khiển 2 biến đ ợc trình bày trong các phần tiếp theo
S đồ khối h điều khiển con lắc dùng b điều khiển PID m t biến đ ợc trình bày trên Hình 2.7 Giá tr hồi tiếp góc l ch c a con lắc so với ph ng thẳng đứng
đ ợc so sánh với giá tr đặt B điều khiển PID m t biến sẽ tính toán giá tr ngõ ra
dựa trên giá tr sai l ch này và quyết đ nh giá tr đi n áp đặt lên đ ng c quay cánh tay Bằng cách thực hi n mô phỏng nhiều lần với các b thông số Kp, Ki, Kd khác nhau, cuối cùng ta ch n đ ợc b thông số có giá tr Kp=20, Ki=204, Kd=4 Kết quả đáp ứng ngõ ra con lắc c a ph ng pháp nƠy đ ợc hiển th trên Hình 2.8 và Hình 2.9
Hình 2.7 Sơ đồ khối điều khiển con lắc hồi tiếp góc
Trang 2517
Hình 2.8 Đáp ứng góc lệch con lắc khi hồi tiếp góc
Hình 2.9 Đáp ứng góc lệch cánh tay khi hồi tiếp góc
Từ kết quả mô phỏng trên, ta thấy ph ng pháp điều khiển PID giữ đ ợc con lắc v trí cân bằng (Hình 2.8) Tuy nhiên, kết quả đáp ứng góc l ch c a cánh tay nằm ngang có xu h ớng ngƠy cƠng gia tăng (Hình 2.9) khi ch có hồi tiếp góc α, nên khi ta áp d ng đối với đối t ợng thực tế thì ph ng pháp nƠy có thể cho kết quả không tốt Con lắc sẽ b trôi theo m t h ớng nhất đ nh mà không thể kiểm soát đ ợc Do đó vấn đề đặt ra là h thống cần phải có b điều khiển PID hai biến
để điều khiển ổn đ nh con lắc
2.1.3 Kh o sát đáp ng góc c a con lắc với bộ đi u khi n PID hai biến
Từ kết quả khảo sát tác giả đƣ trình bƠy ỏ phần 2.1.2, ta thấy cần xây dựng b điều khiển 2 biến (hồi tiếp 2 góc: α vƠ θ) Trong phần này tác giả trình bày kết quả
mô phỏng đáp ứng c a con lắc khi dùng b điều khiển PID 2 biến
Trang 2618
S đồ khối điều khiển con lắc ổn đ nh với b điều khiển PID hai biến hồi tiếp
cả hai góc và đ ợc hiển th trên Hình 2.10 B điều khiển PID hai biến là sự
thỏa hi p c a hai b điều khiển PID m t biến để điều khiển giá tr đi n áp đặt lên
đ ng c quay cánh tay
Để thiết kế đ ợc b điều khiển PID hai biến, ta dựa trên b điều khiển PID hồi
tiếp góc α (PID1) và thiết kế thêm b điều khiển PID hồi tiếp góc (PID2) để điều khiển v trí cánh tay con lắc Với b điều khiển PID 1 đƣ có, tác giả ch cần điều
ch nh thông số c a b PID này bằng cách thực hi n mô phỏng nhiều lần với các b thông số Kp, Ki, Kd khác nhau để tạo ra b PID 2 B thông số b PID 2 đ ợc ch n
có giá tr Kp=2, Ki=0, Kd=1 Kết quả mô phỏng cho thấy ph ng pháp điều khiển dùng PID hai biến hoàn toàn giữ cho con lắc ổn đ nh v trí cân bằng, đ ợc hiển th trên Hình 2.11 và Hình 2.12
Hình 2.10 Điều khiển con lắc hồi tiếp cả hai góc và
Hình 2.11 Đáp ứng góc khi h ồi tiếp cả hai góc và
Trang 2719
Hình 2.12 Đáp ứng góc khi h ồi tiếp cả hai góc và
Ta có thể đánh giá thêm đ ổn đ nh c a h thống bằng cách khảo sát tr ng hợp thay đổi chiều dài và khối l ợng con lắc c a h thống Xét tr ng hợp khi thay đổi khối l ợng con lắc c a h thống thì s đồ khối điều khiển con lắc đ ợc thiết lập
nh Hình 2.13 Kết quả thực nghi m mô phỏng cho thấy h thống ch ổn đ nh khi khối l ợng con lắc thay đổi trong khoảng từ 0.125kg tới 0.64kg Khi ta tăng khối
l ợng lên 0.65 kg thì h thống mất ổn đ nh, điều này đ ợc hiển th trên Hình 2.14 Ngoài ra chúng ta có thể kiểm tra đ ổn đ nh c a h thống bằng cách thiết lập hàm truyền c a h thống với ngõ vƠo lƠ đi n áp và ngõ ra là góc l ch con lắc H thống đang xét có hàm truyền:
5
4.9( )
Trang 2820
Hình 2.13 Điều khiển con lắc hồi tiếp cả hai góc và khi thay đổi m
Hình 2.14 Điều khiển con lắc không ổn định khi khối lượng m = 0.65kg
Ta xét tr ng hợp tiếp theo khi thay đổi chiều dài con lắc thì s đồ khối điều khiển h thống đ ợc thiết lập lại nh hình 2.15 Kết quả mô phỏng cho thấy con lắc
ng ợc ch ổn đ nh khi chiều dài con lắc thay đổi trong khoảng từ 0.1675m tới 0.41m Khi ta tăng chiều dài lên 0.42 m thì h thống mất ổn đ nh, điều này thể hi n trên Hình 2.16 Mặt khác, khi ta thay đổi chiều dài L = 0.42m thì đ ổn đ nh c a h thống có thể đ ợc kiểm tra bằng cách thiết lập hàm truyền c a h thống đơy h
thống đ ợc xây dựng có hàm truyền:
5
2.29( )
Trang 29Hình 2.15 Điều khiển con lắc hồi tiếp cả hai góc và khi thay đổi chiều dài
Hình 2.16 Điều khiển con lắc không ổn định khi chiều dài bằng L=0.4194 m
2.1.4 Kh o sát đáp ng c a con lắc phi tuyến
Tr ng hợp ch a có b điều khiển, mô hình con lắc phi tuyến có đáp ứng
t ng tự nh mô hình con lắc tuyến tính Con lắc đi về v trí buông thõng Bây gi
ta sử d ng b điều khiển PID 2 biến đƣ khảo sát trên cho mô hình mô phỏng con
Trang 3022
lắc phi tuyến S đồ khối h thống này thể hi n trên Hình 2.17 Đơy lƠ mô hình mô
phỏng trên Matlab c a h thống điều khiển có hồi tiếp hai góc và θ Ngõ vào
đ ợc kích thích b i tín hi u nhi u (ngẫu nhiên) có biên đ 0.1 Hình 2.18 thể hi n
kết quả đáp ứng c a góc con lắc khi ngõ vào là tín hi u nhi u ngẫu nhiên
Hình 2.17 Điều khiển con lắc hồi tiếp cả hai góc và v ới tín hiệu nhiễu
Hình 2.18 Góc c ủa con lắc khi ngõ vào là tín hiệu nhiễu ngẫu nhiên
T ng tự nh phần 2.1.3, khối l ợng con lắc đ ợc thay đổi, kết quả mô phỏng cho thấy h thống ch ổn đ nh khi khối l ợng con lắc thay đổi trong khoảng từ 0.125kg tới 0.62kg Khi tăng khối l ợng lên 0.63 kg h thống mất ổn đ nh đ ợc
hiển th trên Hình 2.19
Trang 3123
Khi thay đổi chiều dài con lắc, kết quả mô phỏng cũng cho thấy con lắc ng ợc
ch ổn đ nh khi chiều dài con lắc thay đổi trong khoảng từ 0.1675m tới 0.412m Khi tăng chiều dài con lắc tăng lên 0.4145 m h thống mất ổn đ nh đ ợc hiển th trên Hình 2.20
Hình 2.19 Điều khiển con lắc ổn định khi khối lượng m = 0.62kg
Hình 2.20 Điều khiển con lắc ổn định khi chiều dài bằng 0.4145m
Tr ng hợp thay đổi khối l ợng, thay đổi chiều dài con lắc thì h thống vẫn ổn đ nh
nh ng với chiều dài và khối l ợng nằm trong giới hạn cho phép Sử d ng b điều khiển PID 2 biến để điều khiển h thống con lắc phi tuyến cho kết quả không tốt khi thay đổi khối l ợng và chiều dài con lắc
Trang 3224
Đi u Khi n Cân Bằng Dùng M ng Neural
(Ann)
Trong ch ng nƠy, tác giả trình bƠy ph ng pháp điều khiển cân bằng con
lắc sử d ng mạng neural khớp quan h vào ra (fitting neural network) Mạng neural
đ ợc huấn luy n theo luật h c lan truyền ng ợc Bayesian trên dữ li u thu thập từ
mô hình khi điều khiển mô hình bằng b điều khiển PID hai biến
3.1 M ng neural truy n thẳng nhi u lớp (Multilayer Feed-forward Neural Network) [15], [16]
M t mạng truyền thẳng nhiều lớp bao gồm m t lớp vào, m t lớp ra và m t
hoặc nhiều lớp ẩn Các neural đầu vào thực chất không phải các neural theo đúng nghƿa, b i lẽ chúng không thực hi n bất kỳ m t tính toán nào trên dữ li u vào, đ n giản nó ch tiếp nhận các dữ li u vào và chuyển cho các lớp kế tiếp Các neural lớp ẩn và lớp ra mới thực sự thực hi n các tính toán, kết quả đ ợc đ nh dạng b i hàm đầu ra (hàm chuyển) C m từ “truyền thẳng” (feed forward) (không phải là trái nghƿa c a lan truyền ng ợc) liên quan đến m t thực tế là tất cả các neural ch có thể đ ợc kết nối với nhau theo m t h ớng: tới m t hay nhiều các neural khác trong lớp kế tiếp (loại trừ các neural lớp ra)
Hình 3.1 M ạng neural truyền thẳng nhiều lớp [15]
Trang 3325
trong đó:
P: Vector đầu vào (vector c t)
Wi: Ma trận tr ng số c a các neural lớp thứ i
(SixRi: S hàng (neural) - R c t (số đầu vào))
bi: Vector đ l ch (bias) c a lớp thứ i (Six1: cho S neural)
ni: net input (Six1)
fi: Hàm chuyển (hàm kích hoạt)
ai: net output (Six1)
⊕ Hàm tổng
M i liên kết gắn với m t tr ng số, tr ng số này đ ợc thêm vào trong quá trình tín hi u đi qua liên kết đó Các tr ng số có thể d ng, thể hi n trạng thái kích thích, hay âm, thể hi n trạng thái kiềm chế M i neural tính toán mức kích hoạt c a chúng bằng cách c ng tổng các đầu vào và đ a ra hàm chuyển M t khi đầu ra c a
tất cả các neural trong m t lớp mạng c thể đƣ thực hi n xong tính toán thì lớp kế tiếp có thể bắt đầu thực hi n tính toán c a mình b i vì đầu ra c a lớp hi n tại tạo ra đầu vào c a lớp kế tiếp Khi tất cả các neural đƣ thực hi n tính toán thì kết quả
đ ợc trả lại b i các neural đầu ra Tuy nhiên, có thể là ch a đúng yêu cầu, khi đó
m t thuật toán huấn luy n cần đ ợc áp d ng để điều ch nh các tham số c a mạng Trong hình 3.1, số neural lớp thứ nhất, và lớp thứ hai t ng ứng là S1 và S2 Ma trận tr ng số đối với các lớp t ng ứng là W1 và W2 Có thể thấy sự liên kết giữa các lớp mạng thể hi n trong Hình 3.1 lớp thứ 2, vector đầu vào chính là
net output c a lớp thứ nhất
3.1.1 Vấn đ thiết kế cấu trúc m ng
Mặc dù, về mặt lý thuyết, có tồn tại m t mạng có thể mô phỏng m t bài toán
với đ chính xác bất kỳ Tuy nhiên, vi c tìm ra mạng này không đ n giản Để đ nh nghƿa chính xác m t kiến trúc mạng nh : cần sử d ng bao nhiêu lớp ẩn, m i lớp ẩn
cần có bao nhiêu neural xử lý cho m t bài toán c thể là m t công vi c hết sức khó
Trang 34Thậm chí đối với các bài toán cần sử d ng nhiều h n m t lớp ẩn thì trong phần lớn các tr ng hợp trong thực tế, sử d ng ch m t lớp ẩn cho ta hi u năng (performance) tốt h n sử d ng nhiều h n m t lớp Vi c huấn luy n mạng th ng rất
chậm khi số lớp ẩn sử d ng càng nhiều Sau đây tác giả giải thích cho vi c sử d ng càng ít các lớp ẩn càng tốt
Phần lớn các thuật toán luy n mạng cho các mạng neural truyền thẳng đều dựa trên ph ng pháp gradient Các lớp thêm vào sẽ thêm vi c phải lan truyền các l i làm cho vector gradient rất không ổn đ nh Sự thành công c a bất kỳ m t thuật toán tối u theo gradient ph thu c vào đ không thay đổi c a h ớng khi các tham số thay đổi
Số các cực tr đ a ph ng tăng lên rất lớn khi có nhiều lớp ẩn Phần lớn các thuật toán tối u dựa trên gradient ch có thể tìm ra các cực tr đ a ph ng, do vậy chúng có thể không tìm ra cực tr toàn c c Mặc dù thuật toán luy n mạng có thể tìm ra cực tr toàn c c, nh ng xác suất khá cao là chúng ta sẽ b tắc trong m t cực
tr đ a ph ng sau rất nhiều th i gian lặp và khi đó, ta phải bắt đầu lại
Dƿ nhiên, có thể đối với m t bài toán c thể, sử d ng nhiều h n m t lớp ẩn
với ch m t vài neural thì tốt h n sử d ng ít lớp ẩn với số neural là lớn, đặc bi t đối
với các mạng cần phải h c các hàm không liên t c Về tổng thể, ng i ta cho rằng
vi c đầu tiên là nên xem xét khả năng sử d ng mạng ch có m t lớp ẩn Nếu dùng
m t lớp ẩn với m t số l ợng lớn các neural mà không có hi u quả thì nên sử d ng thêm m t lớp ẩn nữa với m t số ít các neural
Trang 3527
3.1.3 S neural trong lớp ẩn
Vấn đề quan tr ng trong vi c thiết kế m t mạng là cần có bao nhiêu neural trong m i lớp Sử d ng quá ít neural có thể dẫn đến vi c không thể nhận dạng đ ợc các tín hi u đầy đ trong m t tập dữ li u phức tạp, hay thiếu ăn khớp
(underfitting) Sử d ng quá nhiều neural sẽ tăng th i gian luy n mạng Số l ợng lớn các neural có thể dẫn đến tình trạng thừa ăn khớp (overfitting), trong tr ng hợp này mạng có quá nhiều thông tin, hoặc l ợng thông tin trong tập dữ li u mẫu (training set) không đ các dữ li u đặc tr ng để huấn luy n mạng
Số l ợng tốt nhất c a các neural ẩn ph thu c vào rất nhiều yếu tố: số đầu vào, đầu ra c a mạng, số tr ng hợp trong tập mẫu, đ nhi u c a dữ li u đích, đ
phức tạp c a hàm l i, kiến trúc mạng và thuật toán huấn luy n mạng Các luật này
ch có thể đ ợc coi nh là các lựa ch n thô khi ch n lựa kích th ớc c a các lớp Chúng không phản ánh đ ợc thực tế, b i lẽ chúng ch xem xét đến nhân tố kích
th ớc đầu vào, đầu ra mà bỏ qua các nhân tố quan tr ng khác nh : số tr ng hợp
đ a vào huấn luy n, đ nhi u các đầu ra mong muốn, đ phức tạp c a hàm
l i, kiến trúc c a mạng (truyền thẳng hay hồi quy), và thuật toán h c
Trong phần lớn các tr ng hợp, không có m t cách để có thể d dàng xác
đ nh đ ợc số tối u các neural trong lớp ẩn mà không phải huấn luy n mạng sử
d ng số các neural trong lớp ẩn khác nhau và dự báo l i tổng quát hóa c a từng lựa
ch n Cách tốt nhất là sử d ng ph ng pháp thử-sai (trial-and-error) Trong thực
tế, có thể sử d ng ph ng pháp Lựa chọn tiến (forward selection) hay Lựa chọn
lùi (backward selection) để xác đ nh số neural trong lớp ẩn
Lựa ch n tiến bắt đầu với vi c ch n m t luật hợp lý cho vi c đánh giá hi u năng c a mạng Sau đó, ta ch n m t số nhỏ các neural ẩn, huấn luy n và thử mạng; ghi lại hi u năng c a mạng Sau đó, ta tăng m t chút số neural ẩn, huấn luy n và
thử lại cho đến khi l i là chấp nhận đ ợc, hoặc không có tiến triển đáng kể so với
tr ớc
Lựa ch n lùi, ng ợc với lựa ch n tiến, bắt đầu với m t số lớn các neural trong
lớp ẩn, sau đó giảm dần đi Quá trình này rất tốn th i gian nh ng sẽ giúp ta tìm
đ ợc số l ợng neural phù hợp cho lớp ẩn
Trang 3628
3.2.1 Luật h c lan truy n ng c chuẩn [16]
Bryson vƠ Ho đƣ đề xuất sử d ng luật h c lan truyền ng ợc (back propagation learning rule) cho mạng truyền thẳng nhiều lớp vƠo năm 1969
Cho tr ớc b cặp mẫu tín hi u vào ra k , k
x d với k = 1, 2,…, p, luật h c lan truyền ng ợc thực hi n hai giai đoạn trong quá trình h c cặp dữ li u mẫu
giai đoạn đầu, b mẫy tín hi u đầu vào x lan truyền theo chiều thuận từ lớp vào qua các lớp ần đến lớp ra để tạo tín hi u ra y
Giai đoạn thứ hai, sai l ch e = (d – y) đ ợc lan truyền theo h ớng ng ợc lại từ
lớp ra qua các lớp ẩn tr về lớp vào, có nhi m v điều ch nh lại giá tr tr ng số giữa các lớp sao cho tín hi u ra y bám theo đ ợc tín hi u mẫu đầu ra d
Trang 37Nếu sử d ng ặ) có dạng hàm sigmoid:
1( )
Tìm đ ợc các công thức có tín hi u sai l ch nh sau: