So với các phương pháp nhận dạng bằng cách sử dụng mô hình hộp đen, mô hình hộp xám có một số lợi ích cụ thể.. - Xây dựng phương pháp nhận dạng mô hình hộp xám phi tuyến qua các hàm tối
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG
LÊ THỊ THANH NGA
ỨNG DỤNG MATLAB ĐỂ PHÁT TRIỂN CÔNG CỤ NHẬN DẠNG MÔ HÌNH HỘP XÁM
Chuyên ngành : Tự động hóa
Mã số: 60.52.60
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2013
Trang 2Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: TS TRẦN ĐÌNH KHÔI QUỐC
Phản biện 1: PGS.TS BÙI QUỐC KHÁNH
Phản biện 2: TS.NGUYỄN HOÀNG MAI
Luận văn được bảo vệ tại Hội đồng chấm luận văn tốt nghiệp Thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 05 tháng
05 năm 2013
* Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
- Trung Học liệu, Đại học Đà Nẵng
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài:
Nhận dạng tham số của mô hình đối tượng có vai trò và ý nghĩa
to lớn trong điều khiển tự động, là cơ sở cho việc tính chọn các bộ điều khiển hay phát hiện sự biến đổi thông số Khi xây dựng mô hình toán học của một đối tượng vật lý, người sử dụng thường có hai nguồn thông tin: kiến thức cho trước và dữ liệu thực nghiệm Các vấn đề dùng mô hình toán học thường được phân loại thành mô hình hộp đen và hộp trắng, tùy vào lượng thông tin có sẵn về hệ thống
Mô hình hộp đen là một hệ thống mà thông tin có sẵn về hệ thống là không có Mô hình hộp trắng là một hệ thống mà mọi thông tin cần thiết đều có sẵn
Mọi hệ thống thực tế thì nằm dao động ở giữa cả 2 loại trên, nó không hoàn toàn là hộp đen mà cũng không hoàn toàn là hộp trắng
Ở giữa hai mô hình này là mô hình hộp xám, là mô hình mà người sử dụng đã biết một phần thông tin của đối tượng hay thông tin về mô tả toán học của mô hình đối tượng So với các phương pháp nhận dạng bằng cách sử dụng mô hình hộp đen, mô hình hộp xám có một số lợi ích cụ thể Số tham số đã biết của mô hình hộp xám có thể ít hơn nhưng vẫn có thể nhận dạng gần đúng một hệ thống thực
Phần lớn các hệ thống vật lý chỉ tuyến tính trong những khoảng nhất định của các biến Tất cả các hệ thống trong thực tế đều trở thành phi tuyến nếu các biến của chúng có thể thay đổi không giới hạn Ví dụ về một hệ thống biến đổi là một quả tên lửa, với trọng lượng là một tham số thay đổi do nhiêu liệu bị đốt cháy trong khi bay Các hệ thống phi tuyến hay đa biến trong thực tế cũng rất nhiều,
Trang 4vì phần lớn các hệ thống điều khiển trong thực tế là các hệ thống phi tuyến và đa biến
Xuất phát từ những lời phân tích ở trên tác giả chọn đề tài
“ỨNG DỤNG MATLAB ĐỂ PHÁT TRIỂN CÔNG CỤ NHẬN DẠNG MÔ HÌNH HỘP XÁM”
2 Mục tiêu nghiên cứu:
- Xây dựng phương pháp tạo dữ liệu mô phỏng cho hệ phi tuyến phục vụ nhận dạng
- Xây dựng phương pháp nhận dạng mô hình hộp xám phi tuyến qua công cụ nhận dạng của Matlab
- Xây dựng phương pháp nhận dạng mô hình hộp xám phi tuyến qua các hàm tối ưu của Matlab
- Ứng dụng bài toán nhận dạng hộp xám phi tuyến để nhận dạng được thông số của mô hình Cụ thể trong đề tài là nhận dạng được thông số của động cơ không đồng bộ và cánh tay máy một bậc
tự do
3 Đối tượng và phạm vi nghiên cứu:
Đối tượng nghiên cứu:
Đề tài tập trung nghiên cứu các thuật toán tối ưu trong Matlab rồi từ đó giải quyết bài toán về nhận dạng cho mô hình hộp xám phi tuyến
- Phạm vi nghiên cứu:
Phạm vi của đề tài này là tập trung nghiên cứu các nhận dạng các tham số của mô hình hộp xám phi tuyến của động cơ không đồng
bộ và cánh tay máy hai bậc tự do
4 Phương pháp nghiên cứu:
Để thực hiện nghiên cứu đề tài khoa học này, thì cần phải kết hợp 2 phương pháp sau:
Trang 5- Phương pháp nghiên cứu lý thuyết: Nghiên cứu các vấn đề về
nhận dạng hệ thống, mô hình động cơ không đồng bộ, mô hình cánh tay máy hai bậc tự do, các hàm tối ưu trong Matlab và các tính toán
hỗ trợ các hàm tối ưu
- Phương pháp thực nghiệm: Sử dụng công cụ tính toán tìm tối
ưu trong phần mềm Matlab, dùng công cụ nhận dạng trong Matlab, tạo dữ liệu mô phỏng, mô phỏng kiểm chứng thuật toán
Tài liệu tham khảo
Quyết định giao đề tài luận văn
Phụ lục
6 Tổng quan tài liệu nghiên cứu:
Đề tài được nghiên cứu thực hiện dựa trên các tài liệu có liên quan đến nội dung SXSH như lý thuyết SXSH, phương pháp luận SXSH, áp dụng SXSH trong công nghiệp, các khóa tập huấn về SXSH, các quyết định, chiến lược quốc gia về SXSH,
Trang 6CHƯƠNG 1 – GIỚI THIỆU VỀ NHẬN DẠNG VÀ MÔ
HÌNH HỘP XÁM PHI TUYẾN
1.1 KHÁI NIỆM VỀ NHẬN DẠNG
Nhận dạng là phương pháp thực nghiệm, nhằm xác định một mô hình cụ thể trong lớp các mô hình thích hợp đã cho, trên cơ sở quan sát tín hiệu vào ra
Mô hình tìm được phải có sai số với đối tượng là nhỏ nhất
1.2 CẤU TRÚC MÔ HÌNH
1.2.1 Khái quát
1.2.2 Mô hình có tham số
1.2.3 Cấu trúc mô hình hệ phi tuyến
1.3 CÁC LOẠI MÔ HÌNH TUYẾN TÍNH
1.4 MÔ HÌNH HỘP XÁM PHI TUYẾN
Mô hình hộp xám phi tuyến liên tục của đối tượng được mô tả toán học dưới dạng phương trình trạng thái như sau:
)) ( ), ( ( )
(
t u t x h y
t u t x f t
Trang 71.5 MỘT SỐ THUẬT TOÁN NHẬN DẠNG KHÔNG HỒI QUY
1.5.1 Các phương pháp dựa trên sai lệch dự đoán
a Phương pháp bình phương bé nhất đơn giản
b Phương pháp bình phương bé nhất tổng quát
1.5.2 Phương pháp dựa trên sai lệch tín hiệu ra
Phương pháp nhận dạng này sử dụng mô hình E của đối tượng
Sơ đô khối của phương pháp nhận dạng này như sau:
Hình 1.8: Sơ đô khối của phương pháp nhận dạng sai lệch tín hiệu ra
Điểm khác biệt của phương pháp nhận dạng này là tín hiệu ra dự đoán của mô hình, phụ thuộc vào các tín hiệu ra trước đó của mô hình chứ không phụ thuộc vào tín hiệu ra trước đó của đối tượng
1.6 KÊT LUẬN
Nhận dạng là phương pháp thực nghiệm nhằm xác định một mô hình cụ thể trong lớp các mô hình thích hợp đã cho trên cơ sở quan sát tín hiệu vào ra, việc xây dựng mô hình cho đối tượng được gọi là
mô hình hoá Mô hình hoá là phương pháp thiết lập mô hình dựa trên các định luật có sẵn về quan hệ vật lý bên trong và quan hệ giao tiếp với môi trường bên ngoài của đối tượng Các quan hệ này được
mô tả theo quy luật lý-hoá, quy luật cân bằng,…dưới dạng các
Trang 8phương trình toán học Với mục đích giới thiệu tổng quan về nhận dạng trong chương một, tác giả đưa ra một số phương pháp nhận dạng thường dùng Phương pháp dựa trên sai lệch tín hiệu ra sẽ được
sử dụng để nhận dạng mô hình hộp xám phi tuyến bằng hàm tối ưu
fmincon và công cụ nhận dạng Idnlgrey trong Matlab
Trang 9CHƯƠNG 2 – NHẬN DẠNG HỘP XÁM PHI TUYẾN QUA CÔNG CỤ NHẬN DẠNG TRONG MATLAB
2.1 GIỚI THIỆU CÔNG CỤ NHẬN DẠNG CỦA MATLAB 2.1.1 Giới thiệu
2.1.2 Các lệnh trong Toolbox Matlab dùng để nhận dạng tham số mô hình hộp xám tuyến tính
Để nhận dạng mô hình hộp xám thì trước tiên phải xây dựng cấu trúc cho mô hình hộp xám Đó chính là lệnh Idnlgrey, dùng để xây dựng cấu trúc cho mô hình hộp xám phi tuyến:
Cú pháp:
Minit=idnlgrey('filename', Order, Parameters, InitialStates, Ts)
Sau khi xây dựng được cấu trúc mô hình hộp xám, ta tiến hành
nhận dạng các tham số chưa biết của hộp xám Lệnh pem dùng để
nhận dạng các tham số chưa biết của mô hình hộp xám phi tuyến
i
j ij n
i
j j n
Trang 10 Theo phương pháp Runge-Kutta thì :
) , (
1 f yn tn
k
) ,
( 21 1 2
2 f y h a k t c h
) ),
( ( 31 1 32 2 3
3 f y h a k a k t c h
…
) ),
( ( y h a 1k1 a , 1k 1 t c h
f
k n n
)
Trong đó p là vector tham số chưa biết
Bước 2: Tạo mô hình ban đầu để nhận dạng hộp xám bằng lệnh
Minit= idnlgrey ('filename', Order, Parameters, InitialStates, Ts)
Bước 3: Nhận dạng các tham số chưa biết bằng lệnh
Từ dữ liệu mô phỏng vào ra của đối tượng này với nhiễu 2%
được thêm vào ngõ ra Sử dụng lệnh pem trong toolbox của Matlab
Trang 11để nhận dạng các tham số chưa biết, tác giả thu được kết quả nhận dạng tham số mô hình hộp xám phi tuyến là :
Bảng 2.2 Kêt quả nhận dạng 3 tham số của mô hình (2.2)
Trang 12CHƯƠNG 3 – XÂY DỰNG PHƯƠNG PHÁP NHẬN DẠNG HỘP XÁM PHI TUYẾN QUA CÁC HÀM TỐI ƯU
TRONG MATLAB
3.1 CÔNG CỤ TÍNH TOÁN TÌM TỐI ƯU
3.2 MỘT SỐ HÀM TỐI ƯU TRONG MATLAB ĐỂ GIẢI BÀI TOÁN TÌM TỐI ƯU
b x
x c
x c
eq eq
bAx
0)(
0)(
Trang 13Hàm này được sử dụng khi tìm cực tiểu cho hàm mục tiêu dưới
nhiều điều kiện phụ khác nhau (có thể là điều kiện phụ phi tuyến hay
điều kiện phụ tuyến tính)
Cú pháp:
[x,fval,exitfag,output,lambda,grad,hessian]=fmincon(fun,x0,A,
b,Aeq,beq,lb,ub,nonlcon,options)
3.3 ỨNG DỤNG HÀM FMINCON TRONG MATLAB ĐỂ
NHẬN DẠNG THAM SỐ MÔ HÌNH HỘP XÁM PHI TUYẾN
Với việc sử dụng mô hình nhận dạng có tham số dựa trên tổng
sai lệch tín hiệu ra, từ đó ta phải đi xác định được hàm mục tiêu chứa
các tham số của mô hình Để giải hàm mục tiêu này ta sử dụng hàm
tối ưu của Matlab Các tham số của mô hình tìm được là giá trị để
hàm mục tiêu đạt cực trị Việc giải hàm mục tiêu được thực hiện
bằng cách tính đạo hàm theo các tham số, sau đó sử dụng hàm
fmincon trong Matlab Phương pháp nhận dạng trên đã được áp dụng
cho mô hình OE (Output Error Model ) của đối tượng, là phương
pháp dựa trên sai lệch tín hiệu ra
Phương pháp nhận dạng này là tín hiệu ra dự đoán của mô hình
phụ thuộc vào các tín hiệu ra trước đó của mô hình chứ không phụ
thuộc vào tín hiệu ra trước đó của đối tượng
Phương pháp nhận dạng mô hình có tham số qua các
Trang 14Trong đó:
p : Vector các tham số cần nhận dạng
N : Số lượng các đo lường ( chiều dài dữ liệu)
y ˆ km( ) : là tín hiệu ra của mô hình chứa vectơ các tham số p
cần nhận dạng
f ( p) : là đại lượng vô hướng
Tín hiệu ra của mô hình phụ thuộc vào các tham số chưa biết p,
do vậy hàm mục tiêu là hàm vô hướng của tham số p
Vector tham số nhận dạng được sẽ thoả mãn :
Sử dụng hàm fmincon trong Matlab để tìm lời giải cho (3.1)
3.4 XÂY DỰNG HÀM FMINCON NHẬN DẠNG THÔNG SỐ CHO MÔ HÌNH HỘP XÁM PHI TUYẾN
3.4.1 Các bước xây dựng
Bước 1: Định nghĩa cấu trúc mô hình hộp xám trong mfile qua
các phương trình trạng thái chứa các tham số chưa biết p và tham số
f
1
2)(ˆ)()
( (3.3)
Bước 3 : Tính đạo hàm của hàm mục tiêu theo các tham số p
Trang 15
i
k m
k N
k i
i
p
y k y y p
p f g
1
(3.4)
Bước 4 : Xác định các tham số nhận dạng theo hàm fmincon,
trong đó bậc tùy chọn gradobj để có kết quả nhận dạng
2 2 3 1 1 2
)
(
5 0
)
(
x
x t
y
u x
p x p
x dt
f
1
2)(ˆ)()
(
- Để có thể sử dụng hàm fmincon có độ chính xác cao, ta cần
tính gradient của hàm mục tiêu
Kết quả nhận dạng được thể hiện trong bảng sau:
Bảng 3.1 Kết quả nhận dạng của mô hình (3.5) khi có gradient
Trang 16Khi bỏ qua bước 3: không tính đạo hàm của hàm mục tiêu Ta thực hiên nhận dạng tuần tự như trên Kết quả nhận dạng như sau: Bảng 3.2 Kết quả nhận dạng của mô hình (3.5) khi không có
Hàm fmincon là một lệnh rất mạnh, ứng dụng tìm tối ưu cho
hàm nhiều biến và có thể xét đồng thời nhiều điều kiện phụ khác
nhau, cho kết quả khá chính xác Do vậy ta sử dụng hàm fmincon
làm công cụ hữu hiệu để tối ưu cho hàm mục tiêu cũng như cho việc nhận dạng tham số cho các mô hình có tham số
Từ kết quả nhận dạng được các tham số của mô hình hộp xám ở các bảng kết quả trên,ta thấy khi dùng hàm tối ưu fmincon khi có đạo hàm hàm mục tiêu và không có đạo hàm thì hàm fmincon có gradient cho kết quả nhận dạng chính xác cao hơn
Trang 17CHƯƠNG 4 - ỨNG DỤNG NHẬN DẠNG HỘP XÁM PHI
TUYẾN
4.1 NHẬN DẠNG THAM SỐ CỦA MÔ HÌNH ĐỘNG CƠ KHÔNG ĐỒNG BỘ
4.1.1 Mô hình toán học của động cơ không đồng bộ
Sau khi biến đổi ta có mô hình liên tục của động cơ không đồng
bộ ba pha như sau
r sd
sq r r s
s r r s sd r r s
r sq
r sq
sd r r s
s r r s sq r r s
r sd
s
sq
sd sd
s
sd
u L L L
L i
i L L L
L R L R L
L L
L L
L i
i L L L
L R L R L
L L
L L
R
dt
d
u i
R
dt
d
2 2
2 2
2 2
2 2
sq sd sq
u
sq
sd i i
Trong mô hình trên, đặt các biến p 1 = Rs ; p2 = Rr ; p3 = Ls ; p4 =
Lr thì ta có mô hình phi tuyến theo p mô tả toán học của động cơ không đồng bộ với các ma trận trạng thái như sau :
Trang 184 1 3 2
4 3 4 2
4 3 4
4
4 3 4
4 1 3 2
4 3 4 4
4 3 4
2
1
1
0 0
0
0 0
0
p p p
p p p p K
p p p
p p
p p
p K
K p
p p
p p p p p p p
p K p p
p
p
p p
0
0)
(
10
01
4 3 4 4 4
3 4
4
p p p p p
0 1
0 0
0 0
4.1.2 Tạo dữ liệu nhận dạng động cơ
Để kiểm chứng các thuật toán, tạo ra dữ liệu mô phỏng cho dữ liệu thu thập được :
Bảng 4.1 Tên các tập dữ liệu được tạo ra để sử dụng cho nhận dạng Tên file Biên độ nhiễu μ Chiều dài dữ liệu N
Trang 19Các tập dữ liệu này sẽ sử dụng cho các phương pháp nhận dạng của mô hình phi tuyến qua các hàm tối ưu và qua công cụ nhận dạng của matlab
4.1.3 Dùng hàm tối ưu fmincon để nhận dạng
a Kết quả nhận dạng với số thông tin biết trước
Nhận dạng 1 tham số Rs khi biết 3 tham số còn lại
Sử dụng hàm fmincon trong Matlab để nhận dạng các tham số
chưa biết, tác giả thu được kết quả nhận dạng của mô hình hộp xám như sau :
Bảng 4.2 Kết quả nhận dạng 1 tham số với tập dữ liệu Data2
Tham số p
p Sai lệch %Sai lệch
Thời gian (s)
Trang 20Nhận xét:
Từ kết quả nhận dạng trong 3 bảng trên, ta thấy khi mức độ
thông tin của mô hình động cơ càng biết nhiều thì kết quả nhận dạng các tham số chưa biết có độ chính xác càng cao Cụ thể là khi nhận dạng 1 tham số p1 cho kết quả nhận dạng với phần trăm sai lệch thấp nhất là 0.0132% Khi cả 4 tham số cần nhận dạng thì phần trăm sai lệch cao nhất là 0.1719% Điều này chứng tỏ rằng khi dùng hàm tối
ưu fmincon để nhận dạng mô hình động cơ không đồng bộ, nếu biết được mức độ thông tin càng nhiều để cung cấp cho mô hình nhận dạng, thì kết quả nhận dạng các tham số của mô hình hộp xám có độ chính xác càng cao
b Kết quả nhận dạng với ảnh hưởng của chiều dài dữ liệu
Sử dụng tập dữ liệu data1: biên độ nhiễu =0.01, chiều dài dữ liệu N=500
Bảng 4.6 Kết quả nhận dạng 4 tham số với tập dữ liệu Data1
Trang 21Bảng 4.8 Kết quả nhận dạng 4 tham số với tập dữ liệu Data3
khi chiều dài dữ liệu N thay đổi, thì kết quả nhận dạng các tham số
trong mô hình hộp xám cũng thay đổi tùy thuộc vào chiều dài dữ liệu Cụ thể là khi N=1024 và N=5000 thì kết quả nhận dạng khác nhau Nếu chiều dài dữ liệu càng lớn thì kết quả nhận dạng có sai lệch phần trăm càng nhỏ và thời gian nhận dạng càng lớn Vì khi chiều dài dữ liệu càng lớn thì quá trình tính toán được lặp lại càng nhiều nên mất nhiều thời gian hơn và kết quả nhận dạng có độ chính xác càng cao
4.1.4 Dùng công cụ nhận dạng Idnlgrey
Sử dụng tập dữ liệu data2: biên độ nhiễu =0.01, chiều dài
dữ liệu N=1024
Trang 22Bảng 4.9 Kết quả nhận dạng 4 tham số với tập dữ liệu Data2
Thời gian (s)
Trang 23)()(
1)
()(
)(cos)(
)(
1
2 2
2 1
2
2
t x
t
y
t u
m l J t x
m l J
B t
x
m l J
g Ml
m l
t x dt
dx
C
Trong đó:
l =0.5m; lc=0.2m; m=0.1 kg; J=0.02 kg.m2; g=9.81 m/s2 , M=0.45 kg và B=0.8
4.2.2 Tạo dữ liệu nhận dạng
4.2.3 Dùng hàm Idnlgrey để nhận dạng
Kết quả nhận dạng với ảnh hưởng của nhiễu
Bảng 4.21 Kết quả nhận dạng với tập dữ liệu DataM2 khi μ = 0.01
4.2.4 Dùng hàm tối ưu fmincon để nhận dạng