Tải bản đầy đủ (.pdf) (75 trang)

Điều khiển con lắc ngược sử dụng mạng NEURAL trên CHIP DSP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.82 MB, 75 trang )

vii

Mục lục
Trang tựa trang
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
viii

Chng 3 Điu Khin Cơn Bằng Dùng Mng Neural (Ann) 24
3.1. Mạng neural truyền thẳng nhiều lớp (Multilayer Feed-forward Neural


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
ix

5.1.2. Đáp ứng ca con lắc khi thêm m = 0.31kg tại 2L=16cm 49
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

x

Danh Sách Các Chữ Viết Tắt
1. PID: Proportional Integral Derivative
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



xi


Danh Sách Các Hình

Hình trang
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
xii

Hình 3.6: Trạng thái quá trình huấn luyn ca mạng Cascade-forward neural network 34
Hình 3.7: Histogram huấn luyn ca mạng Cascade-forward neural network 35
Hình 3.8 Hiu năng huấn luyn ca mạng fitting neural network 35
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
xiii

Hình 7.3. Phần c khí ca mô hình con lắc ngợc 60
Hình 7.4 Mạch đin tử điều khiển ca mô hình con lắc ngợc 61
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

xiv

Danh Sách Các Bng

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


1 – Tổng Quan
1

Chng 1
Tổng Quan


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
lợng.
Các lý thuyết đợc áp dng thƠnh công để điều khiển các h phi tuyến đợc
chia thành hai nhóm chính: lý thuyết điều khiển kinh điển và lý thuyết điều khiển
hin đại. Nhóm phng pháp điều khiển kinh điển dựa vào vic tuyến tính hóa đặc
tuyến ca h thống xung quanh điểm làm vic, sau đó áp dng các phng pháp
điều khiển cho h tuyến tính. Lý thuyết điều khiển kinh điển đƣ bc l ra những yếu
điểm về chất lợng cũng nh đ tin cậy khi đối tợng điều khiển là h phi tuyến, và
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
1 – Tổng Quan
2

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.
1 – Tổng Quan
3


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…



Hình 1.1 Hệ Pendubot
Hình 1.2 Hệ con lắc ngược xe

1 – Tổng Quan
4




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
1 – Tổng Quan
5

rút ra kết luận theo t duy con ngi, sau đó đợc cƠi đặt vào máy tính dựa trên c
s logic m.
Theo hớng nghiên cứu ca MAK [2] sử dng b điều khiển trợt để điều
khiển con lắc ngợc quay. Kết quả ca nghiên cứu này là tác giả đƣ xác đnh đợc
hai mặt trợt theo đnh nghƿa đúng đắn ca hàm Lyapunov, kết hợp hai mặt trợt
nƠy để điều khiển con lắc ổn đnh. Tuy nhiên trong phng pháp điều khiển trợt
vi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 (casde-
feed forward) và mạng truyền thẳng chuẩn (feed-forward). Đồng thi các nghiên
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-
1 – Tổng Quan
6

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
1 – Tổng Quan
7

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
1 – Tổng Quan
8

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.

2 – Mô Hình Toán Học
9

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
2L
có 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:
.cos( ).
.sin( ).
AB
AB
xL
yL







(2.1)
Đồng thi với chuyển đng quay quanh điểm A thì con lắc còn thực hin
chuyển đng quay quanh điểm O với vận tốc
r



2 – Mô Hình Toán Học
10


Do vậy, vận tốc ca điểm B so với điểm O cố đnh có thể đợc mô tả bi
phng trình:
. .cos( ).
.sin( ).
B
B
x r L
yL
  

  









(2.2)
Lấy vi phân 2 vế các phng trình ca h (2.2) ta đợc:
2
2
. .sin( ). .cos( ).
.cos( ). .sin( ).
B
B
x r L L
y L L

    
   

  

 

  



  


(2.3)
Áp dng đnh luật II Newton theo phng x vƠ phng y. Hình 2.3 mô tả sự
phân tích lực tác dng lên cánh tay và con lắc:
2
.
. . .sin( ). . .cos( ).
Bx
x
m x F
m r m L m L A
    


 

   



(2.4)
2
.
. .cos( ). . .sin( ).
By
y
m y F
m L m L mg A
   




    


(2.5)
Áp dng phng trình Euler cho chuyển đng quay ca con lắc quanh điểm B
ta đợc phng trình (2.6):

Hình 2.2 Phân tích chuyển động của con lắc ngược quay [9]
2
2
.
1
.(2 ) . . .cos( ) . .sin( )
12
1

. . . . .cos( ) . .sin( )
3
BB
xy
xy
JM
m L A L A L
m L A L A L

  
  




   
  


(2.6)
Phng trình chuyển đng quay ca cánh tay quanh điểm O:
2 – Mô Hình Toán Học
11

. . . .
O O eq L eq x
J M J T B A r
  
  
    



(2.7)
Thay (2.4), (2.5) vƠo (2.6) ta đợc:
22
2
1
. . [ . . . sin( ).
3
. .cos( ). ]. .cos( )
[ . . .cos( ). . sin( ). ]. .sin( )
m L m r m L
m L L
m g m L m L L
   
  
    

 







2
4
. . .cos( ). . . . . . sin( ) 0
3

m L r m L m g L
   
 
    

(2.8)
Thay (2.4) vào (2.7):
2
. . .
[ . . .sin( ). . .cos( ). ].
O O eq L eq
J M J T B
m r m L m L r
  
    
  

 
   
  


2
2
( . ). . . .cos( ).
. . .sin( ). .
eq
L eq
J m r m L r
m L r T B

  
  
 


  
  

(2.9)
Với:
. . . .
.
. . .
L m m m M m m
mE
m M m
m
T T J K I J
VK
KJ
R
  


 

   




(2.10)
Thế (2.9) vào (2.10)
2
2
( ). . . .cos( ).
. . .sin( ).
( . . ). . .
eq m
m
E
eq m M m M
mm
J mr J m L r
m L r
V
K
B K K
RR
  

  
 


   

  

(2.11)
H phng trình mô tả đặc tính đng phi tuyến ca h thống:

2
1
.[ .cos( ). .sin( ). . . ]
1
.[ .sin( ) .cos( ). ]
m
b b e f V
a
db
c
     
   

  
 

   








(2.12)
2 – Mô Hình Toán Học
12

Trong đó các tham số a, b, c, d, e, f đợc tính nh sau:

2
eq m
a J mr J  

2
4. .
3
mL
c 

b m L r
d m g l
( . . )
E
eq m M
m
K
e B K
R


.
M
m
m
K
f
R



Với góc

nhỏ
( 0, 0 sin( ) , cos( ) 1)
    

    
, ta tuyến tính hóa h
(2.12):
1
.( . . . )
1
.( . . )
m
b e f V
a
db
c
  
  
  
 

  









(2.13)
H phng trình biến trạng thái ca mô hình tuyến tính có đợc bằng cách giải
h (2.12) với hai ẩn là



.
2
2
1
( . . . . . . )
.
1
( . . . . . . )
.
m
m
b d c e c f V
a c b
a d b e b f V
a c b
  
  
 
 

  






  




Lấy Laplace cả hai vế ca mi phng trình h (2.13):
22
22
. . ( ) . . ( ) . . ( ) . ( )
. . ( ) . . ( ) . ( ) 0
m
a s s b s A s e s s f V s
b s s c s A s d A s

    


    



(2.14)
Hàm truyền ca mô hình tuyến tính:
2 3 2
( ) . .
( ) ( . ). . . . . .

m
A s b f s
V s a c b s c e s a d s d e

   

(2.15)
H phng trình biến trạng thái:
2 – Mô Hình Toán Học
13

22
22
0 1 0 0
0

00
.


0 0 0 1
0

00
.

m
c e b d
cf
a c b a c b

V
b e a d
bf
a c b a c b





 

 

     

     


     


     


     

     


     


     
     



(2.16)
0 1 0 0 0
.
0 0 1 0 0










     


     

     






(2.17)
Kết luận:
 H con lắc ngợc quay là h phi tuyến, có thể tuyến tính hóa quanh điểm làm
vic tƿnh.
 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.
2 – Mô Hình Toán Học
14




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



2 – Mô Hình Toán Học
15

Bảng 2.1. Các thông số ca mô hình
Ký hiu
Mô tả
Giá tr
m
Khối lợng con lắc
0.2
L
Nửa chiều dài con lắc
0.1675
r
Chiều dài cánh tay
0.215
J
eq

Mômen quán tính tng đng
0.0035842
g
Gia tốc trng trng
9.8
B
eq

H số cản tng đng
0.004
µ

m

Hiu suất đng c
0.69
K
E

Hằng số sức đin đng
0.00767
K
M

Hằng số mômen
0.00767
R
M

Đin tr phần ứng
2.6
2.1.1. Kho sát đáp ng ca con lắc tuyến tí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
2 – Mô Hình Toán Học
16

S đồ khối điều khiển con lắc khi cha có b điều khiển đợc thể hin  Hình

2.5. Ngõ vào là giá tr mong muốn góc α = 0. Khi cha có b điều khiển, con lắc b
ri xuống v trí buông thõng và kết quả đáp ứng ngõ ra ca đợc thể hin trên Hình
2.6.
Để 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


2 – Mô Hình Toán Học
17


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.

×