Điều khiển tự động đã và đang phát triển mạnh mẽ và rộng rãi trên toàn thế giới, nhằm đáp ứng cho nhu cầu bùng nổ của các hệ thống khoa học tiên tiến, máy móc phức tạp, đòi hỏi phải được điều khiển một cách tinh vi, chi tiết với độ chính xác cao. Điều khiển mực chất lỏng trong bồn chứa là quá trình rất phổ biến trong đời sống và công nghiệp như quá trình xử lý nước thải, lọc dầu hay hệ thống hóa học thực phẩm… Trong quá trình vận hành, mực chất lỏng trong các bồn chứa cần phải được điều khiển và giám sát chặt chẽ. Việc điều khiển và giám sát một cách chính xác là rất quan trọng, ảnh hưởng trực tiếp đến chất lượng hệ thống và sản phẩm đầu ra. Yêu cầu đặt ra là thiết kế được bộ điều khiển, điều khiển mực chất lỏng theo điều kiện cho trước và đảm bảo tính chính xác. Hệ bồn nước là một hệ phi tuyến, vì hệ có nhiều sự tác động và ảnh hưởng như môi trường, nhiễu bên ngoài, nhiễu của hệ thống… Do đó, bộ điều khiển cần phải có khả năng tự điều chỉnh các thông số nhằm thích nghi với những tác động bên ngoài sao cho đáp ứng ra của hệ thống đạt được một cách tốt nhất. Có rất nhiều phương pháp trong đó, bộ điều khiển Neuralmờthích nghi có khả năng dự báo, xấp xỉ hàm và ổn định thích nghi cho hệ thống, hoàn toàn là một định hướng khả thi cho việc điều khiển hệ phi tuyến này. Bên cạnh đó, Labview được biết đến như một thiết bị truyền thông tin cùng với ngôn ngữ lập trình dạng diễn đạt các cú pháp điều khiển thông qua các hình ảnh trực quan trong môi trường soạn thảo. Labview là một dạng môi trường mở, tương thích với hầu hết các phần cứng, cung cấp tính kết nối với đa số các thiết bị đo, nên những ứng dụng của Labview dễ dàng được kết hợp với các hệ thống hiện đại ngày nay. Ngày nay, khoa học kỹ thuật phát triển không ngừng, đặc biệt là trong lĩnh vực điều khiển tự động. Các lý thuyết điều khiển hiện đại như: Điều khiển tối ưu (Optimal Control), điều khiển bền vững (Robust Control), điều khiển thích nghi (Adaptive Control), điều khiển trên cơ sở logic mờ (Fuzzy Logic), điều khiển trên cơ sở mạng thần kinh nhân tạo (Artificial Neural Network) đang ngày càng được hoàn thiện. Việc áp dụng điều khiển thông minh trong các hệ thống điều khiển trên thực tế vẫn đang ở giai đoạn nghiên cứu và dần hoàn thiện phù hợp với tốc độ của chíp vi xử lý. Đa số các đối tượng điều khiển trong thực tế đều là hệ phi tuyến tính, các lý thuyết để áp dụng cho việc điều khiển hệ này vẫn còn đang trong quá trình nghiên cứu và phát triển, do đó các công cụ lý thuyết để tiếp cận hệ phi tuyến trực tiếp thường hạn chế hơn. Một cách thông dụng mà người ta vẫn thường hay làm để tiếp cận hệ phi tuyến người ta dùng cách nào đó biến đổi nó về hệ tuyến tính sau đó áp dụng các phương pháp điều khiển tuyến tính. Tuyến tính hoá hệ phi tuyến là một kỹ thuật rất quan trọng trong lĩnh vực điều khiển. Có hai phương pháp thường được áp dụng trong việc tuyến tính hoá hệ phi tuyến đó là Tuyến Tính Hoá VàoRa và Tuyến Tính Hoá Quanh Điểm Làm Việc. Điểm khác biệt cơ bản giữa hai phương pháp này là phương pháp tuyến tính hoá quanh điểm làm việc bằng cách biến đổi hệ phi tuyến thành hệ tuyến tính xung quanh một lân cận của điểm làm việc nhất định và ta chỉ có thể áp dụng các luật điều khiển tuyến tính trong lân cận điểm này, còn phương pháp tuyến tính hoá vào ra hay còn gọi là phương pháp hồi tiếp tuyến tính hóa là biến đổi hệ phi tuyến thành hệ tuyến tính toàn bộ bằng việc hồi tiếp về các biến trạng thái cần thiết kết hợp với phương pháp biến đổi hệ trục toạ độ. Sau khi hệ thống được tuyến tính hoá bằng hồi tiếp ta có thể áp dụng các bộ điều khiển tuyến tính để điều khiển hệ thống.
Trang 1CHƯƠNG 2
MÔ HÌNH TOÁN HỌC HỆ BỒN NƯỚC
VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN
2.1 Mô hình hệ bồn nước
2.1.1 Mô hình hệ SISO (Single Input Single Output) – 1 ngõ vào, 1 ngõ ra
Trong phần này ta sẽ xây dựng các bộ điều khiển cho hệ SISO, đối tượng được thiết kế xây dựng bộ điều khiển là hệ bồn nước kép 1 ngõ thông có cấu hình như sau:
Hình 2.1: Minh họa hệ thống bồn nước – dạng SISO
Phương trình toán học mô tả hệ thống
Các thông số của mô hình :
- a1 = 1 cm2 : Tiết diện van xả bồn 1 (cm2)
- a2 = 1.2 cm2 : Tiết diện van xả bồn 2 (cm2)
- a12 = 1.8 cm2 : Tiết diện các van thông nhau giữa hai bình (cm2)
- A = 85 cm2 : Tiết diện ngang bồn chứa (cm2)
- Up = 12 V : Điện áp một chiều cung cấp cho bơm (V)
Trang 2- k = 28 V/cm3.s : Hằng số bơm (V/cm3.s)
- Cd1; Cd2; Cd12 = 0.652 : Hằng số xả van a1; a2; a12
- g = 981 cm/s2 : Gia tốc trọng trường
Cấu trúc mô hình : Dùng một bơm nước để cấp nước vào bồn 1, nước từ bồn 1
sẽ chảy tự do qua bồn 2 thông qua van liên kết giữa hai bồn a12 Cả hai bồn đều có một van xả
Nhiệm vụ điều khiển: Bơm nước vào bồn 1 điều khiển mực nước bồn 2 theo giá trị mong muốn
2.1.2 Mô hình hệ MIMO (Multi Input Multi Output) – nhiều ngõ vào, nhiều
Hình 2.2 : Minh họa hệ bồn nước – dạng MIMO
- a1 = 1 cm2 : Tiết diện van xả bồn 1 (cm2)
- a2 = 1.2 cm2 : Tiết diện van xả bồn 2 (cm2)
- a12 = 1.8 cm2 : Tiết diện van thông nhau giữa hai bình (cm2)
- A = 85 cm2 : Tiết diện ngang bồn chứa (cm2)
- k1 = 28 V/cm3.s : Hằng số bơm 1(V/cm3.s)
- k2 = 17 V/cm3.s : Hằng số bơm 2 (V/cm3.s)
Trang 32.2 Tuyến tính hóa hệ phi tuyến
Các đối tượng điều khiển trên là các hệ phi tuyến, thiết kế bộ điều khiển cho những hệ phi tuyến là vấn đề rất phức tạp Vì vậy, khi nghiên cứu hệ phi tuyến người ta thường dùng phương phương pháp tuyến tính hóa để chuyển hệ phi tuyến thành hệ tuyến tính
Một cách tổng quát kỹ thuật này nhằm biến đổi hệ phi tuyến thành hệ tuyến tính bằng phương pháp hồi tiếp về các biến trạng thái và biến đổi hệ trục toạ độ Luật điều khiển tuyến tính hoá vào-ra chính xác được áp dụng khi ta biết được chính xác mô hình toán của đối tượng, nhưng điều này rất khó khăn vì trong thực tế các phương trình toán học không thể mô tả hoàn toàn chính xác mô hình hệ thống thực, do đó lý thuyết tuyến tính hóa vào-ra mờ thích nghi được áp dụng để khắc phục điều này Hiện nay đa số các công trình về điều khiển thích nghi hệ phi tuyến theo phương pháp tuyến tính hóa vào-ra đều giả thiết chưa biết mô hình đối tượng
và luật điều khiển tuyến tính hóa vào-ra được thực hiện bằng phương pháp
nhận dạng
2.2.1 Tuyến tính hóa vào - ra cho hệ SISO
Xét hệ phi tuyến SISO mô tả bởi phương trình trạng thái có dạng:
Trang 4
•
( )( )
Trang 5Đặt :
1
( ) ( ) ( )
r f r
Trong thực tế có khá nhiều các đối tượng điều khiển được mô tả như phương
trình (2.1) Vấn đề đặt ra là thiết kế một bộ điều khiển sao cho tín hiệu ra y(t) bám theo tín hiệu mong muốn y d (t)
Một trong những cách tiêu biểu nhất để thực hiện việc điều khiển trên là sử dụng luật điều khiển tuyến tính hóa vào - ra được rút ra từ phương trình (2.11):
1
( ) ( ) ( )
Với v(t) là tín hiệu vào mới của hệ thống tuyến tính hoá bằng hồi tiếp Với luật
điều khiển tuyến tính hoá vào-ra như trên hệ thống phi tuyến sẽ trở thành hệ thống
tuyến tính bậc r với ngõ vào là mới là v(t), quan hệ vào ra của hệ thống này như
trong hình sau:
( ) 1 ( ) r
Trang 6e o là sai số ngõ ra còn e s là sai số bám Các hệ số k 1 được chọn sao cho thoả
nên hệ thống tuyến tính hoá vào-ra ổn định , do đó e s 0khi t
Do (2.15), (2.16) suy ra e00khi t tức là tín hiệu ra y(t) tiệm cận theo tín hiệu chuẩn y m (t) Vậy với tín hiệu vào mới v(t) được chọn như (2.14) và luật điều
khiển tuyến tính hoá vào - ra (2.12) hệ thống có tín hiệu ra bám theo tín hiệu ra mong muốn
Trang 7Hệ phi tuyến (2.5) có bậc n sau khi thực hiện luật điều khiển tuyến tính hoá vào-ra hệ thống trở thành hệ tuyến tính bậc r, như vậy sau khi áp dụng luật điều
khiển tuyến tính hoá vào-ra hệ thống sẽ có (n-r) biến trạng thái không quan sát
được Ta chỉ có thể áp dụng được luật điều khiển tuyến tính hoá vào-ra (2.12) khi các biến trạng thái không quan sát được này bị chặn trong quá trình hệ thống hoạt động Do đó khi thiết kế bộ điều khiển cho hệ thống tuyến tính hoá vào-ra ta phải xem xét các dao động bên trong của hệ thống, một trong các phương pháp để thực hiện việc này đó là khảo sát động học không của hệ thống Các bước khảo sát động học không cho hệ phi tuyến được tóm tắt ngắn gọn như sau :
( ) ( ) ( )
- Hệ thống sau khi tuyến tính : y r v
- Khảo sát động học không (Zero dynamic)
Triệt tiêu tín hiệu vào mới v(t) = 0
Triệt tiêu các biến trạng thái quan sát được:
1
p 0
y
y y
Ta được hệ thống con tương ứng với biến trạng thái không quan sát được Nếu
hệ thống con này ổn định thì hệ thống cực tiểu pha Ta có thể áp dụng luật điều khiển (2.12)
Trong thực tế việc thực hiện luật điều khiển tuyến tính hoá vào-ra chính xác theo công thức (2.12) tương đối khó khăn vì ta khó có thể xác định chính xác các hàm ( ); ( )x x từ phương trình toán học mô tả hệ thống Để khắc phục điều này ta phải đi tìm thuật toán để nhận dạng luật điều khiển chính xác Có hai cách để thực hiện bài toán trên cách thứ nhất là nhận dạng trực tuyến từng thành phần ( ); ( )x x
hàm rồi sau đó thực hiện luật điều khiển (2.12) cách này gọi là điều khiển thích nghi gián tiếp (IAC- Indirect adaptive control) Cách thứ hai là nhận dạng trực tiếp luật điều khiển lý tưởng *
u , cách này gọi là điều khiển thích nghi trực tiếp (DAC- Direct Adaptive Control)
Trang 82.2.2 Điều khiển tuyến tính hoá vào - ra cho hệ MIMO
Ta tiến hành xét một hệ phi tuyến MIMO vuông (số ngõ vào bằng số ngõ ra
là m) như sau:
1 1
( )
m
i i i
T m
1
1 1
1
1 1
( ) ( ) ( )
( ) ( )
k m
m
r r
r r
1 1
r r r
r m r
d dt y
d dt
r m f
Trang 9Trong đó v v1 vmT là vector (mx1) tín hiệu vào mới cho hệ thống
sau khi được tuyến tính hoá:
1 1
1 1
r r
r m r
d
v dt
d
v dt
Đối với hệ MIMO khi thực hiện luật điều khiển tuyến tính hoá vào-ra ta cũng
phải xem xét tính ổn định của từng hệ thống con không quan sát được bên trong hệ
thống bằng phương pháp động học không Luật điều khiển tuyến tính hoá vào-ra
cho hệ MIMO cũng chỉ được áp dụng khi các biến trạng thái không quan sát được
cực tiểu pha
2.3 Điều khiển tuyến tính hóa vào - ra thích nghi
2.3.1 Điều khiển thích nghi gián tiếp (Indirect Adaptive Control - IAC)
Trong giải thuật thiết kế bộ điều khiển thích nghi gián tiếp ta giả thiết không
biết chính xác mô hình của đối tượng do đó ta sẽ dùng một hệ thống mờ hoặc mạng
Neuron để xấp xỉ các hàm thành phần ( ), ( )x x sau đó tính luật điều khiển tuyến
tính hoá vào-ra theo phương pháp ẩn trắc tương đương
Trang 10Trong công thức trên ( ), ( )x x là mô hình mờ hoặc mạng thần kinh nhân tạo dùng để xấp xỉ hàm ( ), ( )x x Nguyên tắc tổng quát để xấp xỉ như sau:
( ) ( ) ( ) ( )
mô hình thực và mô hình ước lượng
Trong đó D x D x( ); ( ) là sai số cấu trúc của hệ thống do chỉ sử dụng một số hữu hạn các qui tắc mờ hoặc mạng thần kinh Sai lệch giữa mô hình nhận dạng và
Trang 11( )( )
khi thành phần sai số cấu trúc D α ; D β nằm trong giới hạn định trước Quá trình thiết kế bộ điều khiển thích nghi gián tiếp IAC được tóm tắt ngắn gọn theo các bước sau đây:
Bước 1: Chọn các tập mờ hoặc mạng neuron để xấp xỉ các hàm thành phần( ), ( )x x của luật điều khiển tuyến tính hoá vào-ra
Trang 12- Các hàm ( ), ( )x x được xấp xỉ theo nguyên tắc : ( ) ( )
Bước 2 : Thực hiện luật thích nghi thông số trực tuyến online
Luật cập nhật thông số online dựa trên việc phân tích hàm Lyapunov cho đặc tính động học của sai số được tiến hành như sau :
Trang 131 1
s s
- es là sai số bám của hệ thống được tính theo công thức (2.15)
Bước 3 : Sau khi đã xác định được các hàm ( ), ( ) x x thực hiện tính thành phần điều khiển thích nghi uce theo công thức (2.31)
Bước 4 : Xác định thành phần điều khiển chế độ trượt usi theo nguyên tắc sau Thế (2.46) vào (2.45) ta được:
•
V e e u e D D u
Trang 14si L
Cấu trúc các bước thực hiện luật điều khiển IAC được thể hiện như hình sau:
Hình 2.3: Sơ đồ khối hệ thống điều khiển thích nghi gián tiếp
2.3.2 Điều khiển thích nghi trực tiếp (DAC - Direct Adaptive control):
Bộ điều khiển thích nghi trực tiếp xấp xỉ luật điều khiển tuyến tính hóa vào-ra (2.12) bằng một hệ mờ hoặc mạng thần kinh theo công thức (2.50) Bộ điều khiển
Trang 15DAC cho phép người thiết kế sử dụng thẳng thông tin biết trước hoặc kinh nghiệm
về đối tượng để thiết kế
( ) u T u( )
Trong đó vector thông số A u là giá trị hàm liên thuộc dạng vạch ở mệnh đề kết
luận của hệ mờ hoặc là trọng số của các tế bào thần kinh ở lớp ra của mạng thần
kinh A u được cập nhật trực tuyến để u x( )
tiệm cận với
*( )
Do luật điều khiển hồi tiếp chỉ được xấp xỉ bằng hữu hạn các tập mờ hay tế
bào thần kinh nên luôn tồn tại sai số giữa tín hiệu điều khiển ước lượng và tín hiệu
điều khiển chính xác có nghĩa là khi *
A là sai số thông số ước lượng
Với giả thiết là hệ mờ hoặc mạng thần kinh được chọn sao cho biết trước sai
số cấu trúc, tức là luôn tồn tại một hàm liên tụcD u
sao cho D xu( ) Du Do hệ thống có sai số cấu trúc nên ta phải thêm vào một thành phần điều khiển phụ để
đảm bảo tính ổn định của hệ thống, thành phần này gọi là điều khiển trượt usd do đó
tín hiệu điều khiển cấp cho đối tượng sẽ bao gồm hai thành phần như thể hiện trong
Trang 16 Bước 1 : Chọn một hệ mờ hoặc mạng thần kinh để xấp xỉ trực tiếp luật điều khiển tuyến tính hoá vào-ra theo công thức u x( )A u Tu( )x
- u Vector thông số của các hàm mờ trong mệnh đề điều kiện của hệ mờ, hoặc các hàm tác động ở lớp ần của mạng thần kinh, thường được chọn là hệ
mờ Takagi- Sugeno hoặc mạng RBF, mạng truyền thẳng
- A ulà vector thông số trong mệnh đề kết luận của hệ mờ hay trọng số ở lớp ra của mạng thần kinh
Bước 2 : Xác định luật cập nhật vecotor thông số A uonline theo phương pháp phân tích hàm Lyapunov cho phương trình động học sai số bám như sau :
Trang 17~ ~ 2
2 2
2
T s
Dựa vào (2.61) ta chọn thành phần điều khiển chế độ trượt như sau:
Thay (2.60) vào (2.61) với
sgn( )
Trang 18 Bước 5 : Tính thành phần u điều khiển cho cả hệ thống theo công thức (2.53)
Hình 2.4: Sơ đồ khối hệ thống điều khiển thích nghi trực tiếp
Sơ đồ khối điều khiển thích nghi trực tiếp cho ta thấy sự khác biệt với phương pháp điều khiển IAC, trong sơ đồ DAC thông số hệ mờ hay thần kinh được chỉnh định trực tiếp để xấp xỉ luật điều khiển tuyến tính hóa vào-ra chính xác mà không phải qua bước trung gian là nhận dạng mô hình toán của đối tượng điều này làm cho việc thiết kế bộ điều khiển DAC dễ dàng hơn và ít nhạy với nhiễu và các thay đổi thông số của mô hình hơn
2.4 Mạng Nơron (Neural)
2.4.1 Giới thiệu mạng truyền thẳng nhiều lớp
Mạng truyền thẳng nhiều lớp (Multilayer Feedforward) bao gồm các khối chứa nhiều lớp, các neural của lớp này chỉ được nối với các neural của lớp tiếp theo, không được kết nối các nút trong cùng một lớp và không có liên kết nhảy lớp Trong mạng này, các neural của lớp ngõ vào (input layer) không được tính toán, chỉ đóng vai trò là ngõ vào cho lớp neural kế tiếp, lớp kế tiếp này được gọi là lớp ẩn
Trang 19Theo lý thuyết, một mạng neural có thể có nhiều lớp ẩn nhưng điều này sẽ làm tăng
độ phức tạp trong việc huấn luyện mạng và vì vậy, mạng có một hoặc hai lớp ẩn sẽ cung cấp độ chính xác thích hợp và tổng quát hóa trong nhiều trường hợp Nếu mạng chỉ có một lớp ẩn, để đạt kết quả thỏa mãn cần sử dụng duy nhất hàm tác động phi tuyến cho lớp ẩn này Còn đối với mạng hai lớp ẩn sẽ cho độ chính xác cao hơn Lớp cuối cùng trong mạng được gọi là lớp ngõ ra (output layer)
Hình 2.5: Cấu trúc mạng neural truyền thẳng một lớp ẩn
Không có một quy luật chung để xác định số lớp ẩn và số nút của lớp ẩn, nên phụ thuộc vào độ phức tạp của phép ánh xạ (mapping) đạt được Trong mạng này, hàm tác động của lớp ngõ ra thường là hàm tuyến tính khi mạng neural được xem là đại diện của một hệ thống phi tuyến bằng cách sử dụng hàm tác động phi tuyến đối với các lớp ẩn
Số nút ngõ vào tương ứng với số đặc tính vật lý của hệ Việc huấn luyện mạng neural dựa vào những lần tính toán thử và sai nhằm đạt được số lớp ẩn và số nút lớp ẩn tối ưu
2.4.2 Giải thuật lan truyền ngƣợc
2.4.2.1 Định nghĩa hàm mục tiêu
Cấu trúc của neural:
Trang 20
K
k k kj
j w x Net
Hình 2.6: Cấu trúc của một neural
Hình 2.7: Cấu trúc của mạng neural một lớp ẩn
K
k k kj
Net
1
(2.64)
Hàm mục tiêu có dạng sau đây:
2
)) ( ) ( ( 2
1
k y k d
Với
T w
Trang 21T T
w
w
y y
J w
) ( ) 1
W(k) W(K+1) weigh
Hình 2.8: Sai số cực tiểu Mean-Squared error
2.4.2.2 Tính toán trọng số mạng truyền thẳng nhiều lớp (một lớp ẩn)
v31 v32
z1
z2
z3Hình 2.9: Mạng một lớp ẩn
Lan truyền thuận tín hiệu vào:
j j
ij x
Ta tính được đầu ra neural của lớp ẩn như sau: zi = a(neti) với a: hàm tác động Đối với lớp ngõ ra, ta tính được hàm vào:
Trang 22j j
j z w z
w z w z
Ta tính được đầu ra neural của lớp ngõ ra như sau: y = a(net)
Lan truyền ngƣợc sai lệch
Lan truyền ngược sai lệch là cơ sở của việc huấn luyện mạng Dữ liệu huấn
luyện tại thời điểm k là: x(k) =
)(2
1
k x
k x
, d(k) là dữ liệu ra mong muốn
Các vector trọng số được xác định như sau:
v
v v
Áp dụng giải thuật Steepest Descent:
J w
net net
y y
J w
J J
T T
) ( )
1
net
a k y k d w
v k
1
) ( ) 1
( ) ( ) ( )
1 1
1 1 1 1 1 1
1
k x net
a w net
a k y k d
v
net net
z z
net net
y y
J v
J J
T T
.)()
J1(k) = Jo(k)
1
1
net
a w
(2.79)
Trang 23Từ đó:
.)()1(
1 1 1
net
a w net
a k y k d k
v k
2 2 2
net
a w net
a k y k d k
v k
3 3 3
net
a w net
a k y k d k
v k
net
a k w net
a k y k d k
v k
v
i i
Ta xây dựng giải thuật huấn luyện lan truyền ngược:
Bước 1: Thiết lập hằng số học 0, sai số tối đa Jmax , hệ số vi (k=1),
w(k=1) ban đầu, J=0
Bước 2: Vòng lặp huấn luyện: gán giá trị đầu vào và tính giá trị y(k), z(k)
qua các lớp neural ẩn và lớp ngoài
1)
net
a k y k d
.)()
Ji(k) = Jo(k)
i i
net
a k w
( ) 1
) ( ) ( ).
( ) 1
Trang 24Bước 5: Tăng k = k+1 và quay về bước 1, kiểm tra J < Jmax thì kết thúc quá
trình huấn luyện
Bước 6: Nếu bị rơi vào cực trị địa phương hay J > Jmax thì thay đổi cấu trúc
mạng hay lấy ngẫu nhiên các trọng số khác
2.4.2.3 Tính toán trọng số mạng truyền thẳng nhiều lớp (hai lớp ẩn)
y6 y7 y8
Hình 2.10: Mạng truyền thẳng hai lớp ẩn
Cho mạng truyền thẳng hai lớp ẩn có:
Trọng số giữa lớp ngõ vào và lớp ẩn đầu tiên: w11(trọng số từ net đến x1), w12(trọng số từ net1 đến x2), w13, w21, w22, w23, w31, w32, w33
2 7 7
2 6 62
1
y y y
y y
ij ij
k ij
k ij
w
w J w
w w
1 84
)(
w
w J w
w
k k