MỞ ĐẦU
Vấn đề điều khiển ổn định các hệ động học phi tuyến có phương trình động
học chuyển được về dạng tuyến tính hóa phản hồi trạng thái (state feedback
linearizable) hoặc tuyến tính hóa phản hồi vào-ra (input-output feedback
linearizable) có chứa các thành phần không rõ nhằm bám theo tín hiệu mẫu cho
trước với sai số bị chặn là mục tiêu giải quyết của luận án. Đây là vấn đề phức
tạp do đặc tính phi tuyến của động học cũng như của các thành phần chưa biết
trong phương trình động học của đối tượng. Các công trình nghiên cứu hiện nay
chủ yếu tìm cách giải quyết các vấn đề về điều khiển ổn định và bền vững hệ
phi tuyến có các thành phần bất định dựa trên điều khiển thích nghi, tuy nhiên
các phương pháp còn khá phức tạp và chưa chỉ rõ khả năng và mô hình áp dụng
trên các hệ thống điều khiển công nghiệp.
Nhằm đóng góp, đưa ra một phương pháp tổng hợp có khả năng áp dụng trên
các hệ thống điều khiển tự động tiên tiến hoạt động trong các phân cấp mạng
công nghiệp, tác giả trình bày một phương pháp tổng hợp mới dựa trên ý tưởng
thay thế ước lượng (không cần gần đúng như các phương pháp hiện nay) các
hàm trạng thái chưa biết bằng các hàm số đã biết, từ đó tìm cách xấp xỉ sai lệch
chung do phép thay thế ước lượng gây nên và thiết kế thành phần bù liên tục
nhằm triệt tiêu tác động này. Đặc điểm của phương pháp là sử dụng bộ xấp xỉ
vạn năng mờ nơron (xấp xỉ sai lệch nêu trên) làm thành phần bù trong luật điều
khiển phản hồi. Để xây dựng được một cơ sở toán học chứng minh cho phương
pháp đề xuất, luận án lần lượt phát triển phương pháp cho các trường hợp bù
tĩnh (luật điều khiển phản hồi tĩnh) và trường hợp bù động (luật điều khiển thích
nghi). Ngoài ra luận án còn phân tích và giải quyết một số vấn đề khác liên quan
đến các điều kiện giới hạn của quỹ đạo trạng thái và đầu vào của hệ phi tuyến
cũng như mở rộng phương pháp trong trường hợp hệ khả tuyến tính hóa phản
hồi chặt (strict-feedback linearizable system).
Ngoài cơ sở lý thuyết được chứng minh, luận án cũng phân tích và chỉ ra khả
năng áp dụng phương pháp trên các hệ thống điều khiển công nghiệp (PLC,
IPC) thông qua thử nghiệm trên một mô hình phần mềm ứng dụng được xây
dựng cho hệ thống SIMATIC S7 của hãng Siemens.
- ii -
Bố cục của luận án
Luận án chia thành 4 chương. Chương 1 trình bày tổng quan các vấn đề
trong điều khiển các hệ phi tuyến và ứng dụng, từ đó đưa ra mục tiêu và nội
dung nghiên cứu của luận án giới hạn vào các hệ khả tuyến tính hóa phản hồi có
chứa các thành phần không rõ trong bài toán bám theo tín hiệu mẫu bị chặn cho
trước.
Chương 2 trình bày chi tiết vấn đề cần giải quyết cũng như tổng quan các
nghiên cứu và các kết quả đã đạt được đến nay. Dựa trên phương pháp thiết kế
định nghĩa hệ sai số thỏa mãn giả thiết ban đầu, luận án xây dựng một số cơ sở
toán học (các định lý và bổ đề) để hình thành phương pháp mới theo hướng đơn
giản và có khả năng ứng dụng – được gọi là phương pháp thay thế ước lượng
hàm trạng thái – làm tiền đề phát triển các bộ điều khiển ổn định tĩnh và động
trong các chương tiếp theo.
Trong Chương 3, tác giả giới thiệu một số cơ sở toán học nhằm đưa ra luật
điều khiển tĩnh dùng bộ xấp xỉ vạn năng mờ nơron làm thành phần bù liên tục
để nghiệm của hệ sai số vòng kín bị chặn tới hạn đều (uniformly ultimately
bounded) cũng như trình bày phương pháp tính toán, xác định tham số điều
khiển và các điều kiện cần trong phương pháp để quỹ đạo trạng thái và tín hiệu
điều khiển bị chặn theo thiết kế. Ngoài ra Chương 3 còn tiếp tục mở rộng
phương pháp cho thiết kế bộ điều khiển ổn định tĩnh các hệ chuyển động hỗn
loạn (chaotic systems) có phương trình động học ở dạng tuyến tính hóa phản hồi
chặt.
Chương 4 tập trung vào giải quyết vấn đề bù động dựa trên luật điều khiển
tĩnh và sử dụng bộ xấp xỉ mờ nơron để xây dựng được bộ điều khiển thích nghi
ổn định cũng như trình bày mô hình phần mềm ứng dụng. Nhằm chứng minh
tính khả thi của phương pháp trong phát triển bộ điều khiển với thành phần bù
động, luận án sử dụng điều khiển thích nghi trực tiếp áp dụng phương pháp
chỉnh định để chỉnh định tham số của bộ xấp xỉ mờ nơron trong các trường
hợp bộ xấp xỉ tuyến tính và phi tuyến đối với tham số. Tác giả cũng đưa ra mô
hình phần mềm ứng dụng cho phép áp dụng các kiểu điều khiển tĩnh và động
trên các hệ thống điều khiển công nghiệp và phân tích khả năng ứng dụng trên
hệ thống tự động hóa SIMATIC S7 của hãng Siemens.
Phần cuối là kết luận và kiến nghị của luận án, tiếp theo sau là Phụ lục bao
gồm một số chứng minh và thiết kế.
- iii -
MỤC LỤC
CHưƠNG 1: TỔNG QUAN . 1
1.1. Đặt vấn đề . 1
1.2. Mục tiêu và nhiệm vụ nghiên cứu 9
CHưƠNG 2: ĐIỀU KHIỂN ỔN ĐỊNH CÁC HỆ THỐNG KHẢ TUYẾN
TÍNH HÓA PHẢN HỒI BẰNG PHưƠNG PHÁP THAY
THẾ ưỚC LưỢNG HÀM TRẠNG THÁI . . 11
2.1. Giới thiệu chung . 11
2.1.1. Đặt vấn đề . 11
2.1.2. Biểu diễn các hệ thống khả tuyến tính hóa phản hồi 12
2.1.3. Vấn đề trong điều khiển ổn định các hệ khả tuyến tính hóa
phản hồi trạng thái . 15
2.2. Điều khiển ổn định các hệ thống khả tuyến tính hóa phản hồi
trạng thái bằng phương pháp thay thế ước lượng hàm trạng thái . 21
2.2.1. Cơ sở toán học của phương pháp . 21
2.2.2. Tính bền vững của hệ vòng kín trong phương pháp . 31
2.3. Điều khiển ổn định các hệ thống khả tuyến tính hóa phản hồi vào-
ra bằng phương pháp thay thế ước lượng hàm trạng thái 44
2.3.1. Bài toán điều khiển và cơ sở toán học 44
2.3.2. Điều khiển ổn định bằng phương pháp thay thế ước lượng hàm
trạng thái . 47
2.3.3. Tính bền vững của hệ vòng kín đối với thành phần không rõ
trong phương trình động học 51
2.4. Tổng hợp thiết kế bộ điều khiển tĩnh ổn định . 55
2.5. Kết luận . 56
CHưƠNG 3: PHưƠNG PHÁP THAY THẾ ưỚC LưỢNG HÀM
TRẠNG THÁI DÙNG BỘ XẤP XỈ MỜ NƠRON 58
3.1. Đặt vấn đề và cơ sở lý thuyết xây dựng phương pháp . 58
3.1.1. Giới thiệu chung 58
3.1.2. Bộ xấp xỉ vạn năng 59
3.1.3. Cơ sở toán học xây dựng các bộ xấp xỉ dùng hệ mờ và mạng
nơron . 60
3.2. Thay thế ước lượng hàm trạng thái . 69
3.2.1. Cơ sở toán học của phương pháp . 69
3.2.2. Xác định tham số bộ điều khiển 74
3.2.3. Mô phỏng điều khiển tay rôbốt . 79
3.3. Thay thế ước lượng hàm trạng thái mở rộng trong điều khiển ổn
định các hệ khả tuyến tính hóa phản hồi chặt . 84
- iv -
3.3.1. Phương pháp cuốn chiếu 84
3.3.2. Phương pháp thay thế ước lượng hàm trạng thái khi hệ chứa
các thành phần không rõ 85
3.4. Tổng hợp và kết luận . 93
CHưƠNG 4: ĐIỀU KHIỂN THÍCH NGHI TRỰC TIẾP DÙNG HỆ MỜ
NƠRON TRONG PHưƠNG PHÁP THAY THẾ ưỚC
LưỢNG HÀM TRẠNG THÁI . 96
4.1. Giới thiệu chung . 96
4.1.1. Sự cần thiết phát triển bộ điều khiển thích nghi . 96
4.1.2. Vấn đề và cơ sở toán học xây dựng bộ điều khiển thích nghi
trực tiếp . 98
4.2. Điều khiển mờ nơron thích nghi trực tiếp các hệ thống khả tuyến
tính hóa phản hồi . 101
4.2.1. Hệ khả tuyến tính hóa phản hồi trạng thái . 101
4.2.2. Hệ khả tuyến tính hóa phản hồi vào-ra 108
4.3. Tổng hợp thiết kế bộ điều khiển thích nghi trực tiếp ổn định . 110
4.4. Mô hình điều khiển thích nghi trên hệ thống điều khiển công
nghiệp 111
4.4.1. Giới thiệu chung 111
4.4.2. Mô hình phần mềm ứng dụng và khả năng áp dụng trên hệ
thống điều khiển công nghiệp . 113
4.5. Kết luận . 121
KẾT LUẬN VÀ KIẾN NGHỊ . 122
CÁC CÔNG TRÌNH CÔNG BỐ LIÊN QUAN CỦA TÁC GIẢ . 124
TÀI LIỆU THAM KHẢO . 125
PHỤ LỤC
134
5.1. Một số thuật ngữ tiếng Anh 134
5.2. Bổ đề 1 trang 23 136
5.3. Bổ đề 3 trang 40 và kết quả (2-64) . 139
5.4. Tuyến tính hóa phương trình động lực học (3-23) . 143
5.5. Chương trình mô phỏng ví dụ điều khiển tay rôbốt trang 79 . 145
5.6. Bổ đề 6 trang 100 152
5.7. Một số môđun phần mềm trong mô hình phần mềm ứng dụng 155
205 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2966 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề tài Về một phương pháp tổng hợp hệ điều khiển mờ dùng mạng nơron ứng dụng trong công nghiệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
on”, Tuyển tập
các báo cáo khoa học Hội nghị toàn quốc lần thứ II về Tự động hóa, tr.220–
229.
Huỳnh Thái Hoàng, Nguyễn Thị Phương Hà, Nguyễn Thúc Loan (2002),
“Nhận dạng hệ hệ phi tuyến dùng logic mờ”, Tuyển tập các báo cáo khoa học
Hội nghị toàn quốc lần thứ V về Tự động hóa, tr.137–143.
Huỳnh Thái Hoàng, Nguyễn Thúc Loan, Nguyễn Phương Hà (2005), “Điều
khiển mờ thích nghi trực tiếp hệ phi tuyến MIMO có đặc tính động học không”,
Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ VI về Tự động
hóa, tr.239–244.
- 126 -
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
Nguyễn Duy Hưng (chủ nhiệm đề tài) và các cộng sự (2001), Nghiên cứu, thiết
kế hệ điều khiển mờ xây dựng trên cơ sở PLC ứng dụng trong công nghiệp,
Báo cáo kỹ thuật Đề tài cấp bộ (Bộ công nghiệp), Hà Nội.
Nguyễn Duy Hưng, Phạm Hùng Cường, Nguyễn Nam Hải (2002), “Hệ thống
điều khiển thời gian thực trên nền máy tính PC và triển vọng ứng dụng”, Tuyển
tập các báo cáo khoa học Hội nghị toàn quốc lần thứ V về Tự động hóa,
tr.157–162.
Nguyễn Duy Hưng (chủ nhiệm đề tài) và các cộng sự (2004), Nghiên cứu, xây
dựng hệ điều khiển Neurofuzzy trên cơ sở PLC cho các ứng dụng công nghiệp,
Báo cáo tổng kết khoa học và kỹ thuật Đề tài cấp bộ (Bộ công nghiệp), Hà Nội.
Chu Văn Hỷ (1998), “Điều khiển thích nghi phi tuyến trên cơ sở mạng nơron
RBF”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ III về Tự
động hóa, tr.238–241.
Cao Tiến Huỳnh (1998), “Về một phương pháp tổng hợp các hệ điều khiển có
chất lượng cao”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ
III về Tự động hóa, tr.226–232.
Cao Tiến Huỳnh (2000), “Điều khiển trượt trên các mặt trượt mờ”, Tuyển tập
các báo cáo khoa học Hội nghị toàn quốc lần thứ IV về Tự động hóa, tr.237–
242.
Cao Tiến Huỳnh (2005), “Tổng hợp hệ điều khiển trượt thích nghi cho các đối
tượng có trễ”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ VI
về Tự động hóa, tr.288–293.
Lê Hùng Lân (1996), “Xác định mô hình bất định đối tượng nhận dạng trong
điều khiển robust”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ
II về Tự động hóa, tr.314–322.
Phan Xuân Minh, Nguyễn Tiến Hiếu (2005), “Điều khiển thích nghi tay máy
trên cơ sở hệ mờ”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ
VI về Tự động hóa, tr.370–375.
Phan Xuân Minh, Nguyễn Doãn Phước (1997), Lý thuyết điều khiển mờ, Nhà
xuất bản Khoa học và Kỹ thuật, Hà Nội.
Lê Văn Ngự (1996), “Giới hạn chuyển động của người máy công nghiệp theo
quỹ đạo hình học cho trước”, Tuyển tập các báo cáo khoa học Hội nghị toàn
quốc lần thứ II về Tự động hóa, tr.386–390.
Trần Quang Oánh, Nguyễn Văn Tiềm, Lê Hùng Lân (2002), “Điều khiển thích
nghi gián tiếp chuyển động trên cơ sở các bộ xấp xỉ mờ”, Tuyển tập các báo
cáo khoa học Hội nghị toàn quốc lần thứ V về Tự động hóa, tr.289–294.
Phân viện Tự động hóa, Viện Công nghệ thông tin (1997), Các báo cáo về
nghiên cứu hệ điều khiển Fuzzy, Báo cáo Đề tài cấp nhà nước mã số KHCN 04-
09-04.
- 127 -
[25]
[26]
[27]
[28]
[29]
[30]
[31]
Nguyễn Doãn Phước, Phan Xuân Minh (2000), Điều khiển tối ưu và bền vững,
Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội.
Nguyễn Doãn Phước (2005), “Một phương pháp thiết kế bộ điều khiển thích
nghi ổn định tiệm cận toàn cục cho bài toán điều khiển thích nghi kháng
nhiễu”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần thứ VI về Tự
động hóa, tr.414–419.
Nguyễn Doãn Phước (2005), “Thiết kế bộ điều khiển tuyến tính hóa chính xác
bằng phương pháp cuốn chiếu (backstepping)”, Tuyển tập các báo cáo khoa
học Hội nghị toàn quốc lần thứ VI về Tự động hóa, tr.420–425.
Nguyễn Hoàng Phương, Bùi Công Cường, Nguyễn Doãn Phước, Phan Xuân
Minh, Chu Văn Hỷ (1998), Hệ mờ và ứng dụng, Nhà xuất bản khoa học và kỹ
thuật, Hà Nội.
Thái Quang Vinh (2002), “Điều khiển bền vững theo chế độ trượt mờ cho các
hệ phức hợp nhiều thành phần”, Tuyển tập các báo cáo khoa học Hội nghị toàn
quốc lần thứ V về Tự động hóa, tr.456–461.
Nguyễn Xuân Quỳnh, Lưu Hoàng Long (1996), “Hệ thống điều khiển số trong
tự động lái tàu thủy”, Tuyển tập các báo cáo khoa học Hội nghị toàn quốc lần
thứ II về Tự động hóa, tr.479–485.
Thái Quang Vinh (2002), “Điều khiển bền vững theo chế độ trượt mờ cho các
hệ phức hợp nhiều thành phần”, Tuyển tập các báo cáo khoa học Hội nghị toàn
quốc lần thứ V về Tự động hóa, tr.456–461.
v Tiếng Anh
[32]
[33]
[34]
[35]
[36]
[37]
Alberto Isidori, Maria Domenica Di Benedetto (1996), “Feedback
Linearization of Nonlinear Systems”, The Control Handbook, Editor William
S. Levine, CRC Press and IEEE Press, pp.909–917.
Alberto Isidori, Christopher I. Byrnes (1996), “Nonlinear Zero Dynamics”, The
Control Handbook, Editor William S. Levine, CRC Press and IEEE Press,
pp.917–923.
Bart Kosko (1997), Fuzzy Engineering, Prentice Hall, USA.
Bong-Jun Yang (2004), Adaptive Output Feedback Control of Flexible
Systems, Ph.D. Thesis, Georgia Institute of Technology.
Bui Trong Tuyen, Pham Thuong Cat (2004), “An ANN-based method to
control Hand-eye Robot for tracking of moving objects”, The 8th International
Conference on Mechatronics Technology, Hanoi, pp.195–199.
C.Wang, S.S. Ge (2001), “Adaptive Backstepping Control of Uncertain Lorenz
System”, International Journal of Bifurcation and Chaos, Vol. 11, No. 4,
pp.1115–1119.
- 128 -
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
[48]
[49]
[50]
[51]
[52]
Carl D. Meyer (2000), Matrix Analysis and Applied Linear Algebra, SIAM,
Philadelphia, USA.
Chen Gang, Ye Dong, Che Rensheng (2007), "Developing Trend of Industrial
Fieldbus Control System”, The 8th IEEE International Conference on
Electronic Measurement and Instruments, ICEMI '07, pp.1-765–1-768.
Dong-Ling Tsay, Hung-Yuan Chung, and Ching-Jung Lee (1999), “The
Adaptive Control of Nonlinear Systems Using the Sugeno-Type of Fuzzy
Logic", IEEE Transactions on Fuzzy Systems, Vol. 7, No. 2, pp.225–229.
F. Abdollahi and K. Khorasani (2006), “Stable Robust Adaptive Controller for
a Class of Nonlinear Systems”, The 2006 IEEE International Conference on
Control Applications, Germany, pp. 1825–1830.
F.C. Chen, C.C. Liu (1994), “Adaptively controlling nonlinear continuous-time
systems using multilayer neural networks”, IEEE Transactions on Automatic
Control, Vol. 39, pp. 1306–1310.
Feryâl Alayont (2005), Project on the Stone-Weierstrass Theorem, Integration
Workshop.
F.L. Lewis, J. Camos, R. Selmic (2002), Neuro-Fuzzy Control of Industrial
Systems with Actuator Nonlinearities, Society for Industrial and Applied
Mathematics (SIAM), Philadelphia, USA.
G. Conte, C.H. Moog, A.M. Perdon (1999), Nonlinear Control Systems: An
Algebraic Setting, Springer-Verlag, London, Great Britain.
Gang Tao, Petar V. Kokotović (1996), Adaptive Control of Systems with
Actuator and Sensor Nonlinearities, John Wiley & Sons, Inc., New York,
USA.
George J. Klir, Ute St. Clair, Bo Yuan (1997), Fuzzy Set Theory: Foundations
and Applications, Prentice Hall, New Jersey, USA.
George J. Pappasy, John Lygeros and Datta N. Godbole (1995), Stabilization
and Tracking of Feedback Linearizable Systems under Input Constraints, The
34th CDC Report, Intelligent Machines and Robotics Laboratory, University of
California at Berkeley.
Graebe Stefan, Salgado Mario, Graham C. Goodwin, Mario Salgado, Stefan
Greabe (2000), Control System Design, Prentice Hall, New Jersey, USA.
Hassan K. Khalil (2001), Nonlinear Systems, 3rd Edition, Prentice Hall, USA.
Horacio J. Marquez (2003), Nonlinear Control Systems: Analysis and Design,
Wiley Interscience, USA.
Hugang Han, Chun-Yi Su, and Yury Stepanenko (2001), “Adaptive Control of
a Class of Nonlinear Systems with Nonlinearly Parameterized Fuzzy
Approximators", IEEE Transactions on Fuzzy Systems, Vol. 9, No. 2, pp.315–
323.
- 129 -
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
[61]
[62]
[63]
[64]
Indrani Kar and Laxmidhar Behera (2008), “Direct Adaptive Neural Control
Scheme for Discrete Time Affine Nonlinear Systems”, ISIC 2008 – IEEE
International Symposium on Intelligent Control, pp. 1097–1102.
Jang-Hyun Park, Seong-Hwan Kim, Chae-Joo Moon (2006), “Adaptive Fuzzy
Controller for the Nonlinear System with Unknown Sign of the Input Gain",
International Journal of Control, Automation, and Systems, Vol. 4, No. 2, pp.
178–186.
Jan Jantzen (2003), Neural and Neurofuzzy Control, Tech. report no 99-H 999,
Technical University of Denmark.
Jeffrey T. Spooner, K.M. Passino (1996), “Stable adaptive control using fuzzy
systems and neural networks”, IEEE Transations on Fuzzy Systems, Vol. 4,
pp.339–359.
Jeffrey T. Spooner, Mangredi Maggiore, Raúl Ordónez, Kelvin M. Passino
(2002), Stable Adaptive Control and Estimation for Nonlinear Systems: Neural
and Fuzzy Approximator Techniques, Wiley Interscience, USA.
José C. Principe, Neil R. Euliano, W. Curt Lefebvre (2000), Neural and
Adaptive Systems: Fundamentals Through Simulations, John Wiley & Sons,
Inc., USA.
Indrani Kar and Laxmidhar Behera (2006), “Neural Network Based Direct
Adaptive Control for a Class of Affine Nonlinear Systems”, The 2006 IEEE
International Symposium on Intelligent Control, Munich, Germany, pp.2030–
2035.
Jun Nakanishi, Jay A. Farrell, and Stefan Schaal (2002), “A Locally Weighted
Learning Composite Adaptive Controller with Structure Adaptation”,
IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.882–
889.
Jun Nakanishi, Jay A. Farrell, and Stefan Schaal (2004), “Learning Composite
Adaptive Control for a Class of Nonlinear Systems”, The 2004 IEEE
International Conference on Robotics & Automation, New Orleans, LA,
pp.2647–2652.
Jun Nakanishi, Jay A. Farrell, and Stefan Schaal (2005), “Composite adaptive
control with locally weighted statistical learning”, Elsevier Neural Networks,
vol. 18 (1), pp.71–90.
Jun Nakanishi, Stefan Schaal (2004), “Feedback Error Learning and Nonlinear
Adaptive Control”, Elsevier Neural Networks, vol. 17 (10), pp.1453–1465.
Jyh-Shing Roger Jang (1993), “Adaptive-Network-Based Fuzzy Inference
System”, IEEE Transactions on Systems, Man and Cybernetics, vol. 23(3),
pp.665–685.
- 130 -
[65]
[66]
[67]
[68]
[69]
[70]
[71]
[72]
[73]
[74]
[75]
[76]
[77]
[78]
Jyh-Shing Roger Jang, Chuen-Tsai Sun (1995), “Neuro-Fuzzy Modeling and
Control”, The Proceedings of the IEEE, vol. 83(3), pp.378–406.
Jyh-Shing Roger Jang, Chuen-Tsai Sun, Eiji Mizutani (1996), Neuro-Fuzzy and
Soft Computing: A Computational Approach to Learning and Machine
Intelligence, Prentice Hall, USA.
Jyh-Shing Roger Jang, Mizutani E. (1996), “Levenberg-Marquardt method for
ANFIS learning”, Fuzzy Information Processing Society, NAFIPS 1996
Biennial Conference of the North American, pp.87-91.
Karl J. Åström, Björn Wittenmark (1995), Adaptive Control, 2nd Edition,
Addison-Wesley Publishing, USA.
Karl J. Åström, Tore Hagglund (1995), PID Controllers: Theory, Design, and
Tuning, 2nd Edition, Instrument Society of America, USA.
Katsuhiko Ogata (1995), Modern Control Engineering, 2nd Edition, Prentice
Hall, USA.
Li Tieshan, Zou Zaojian, and Zhou Xiaoming (2008), “Adaptive NN Control
for a Class of Strict-feedback Nonlinear Systems”, American Control
Conference, Washington, USA, pp.81–86.
Marios M. Polycarpou, Petros A. Ioannou (1991), Identification and Control of
Nonlinear Systems using Neural Network Models: Design and Stability
Analysis, Report 91-09-01.
Marios M. Polycarpou, Petros A. Ioannou (1992), “Modeling, Identification
and Stable Adaptive Control of Continuous-time Nonlinear Dynamical System
using Neural Networks”, American Control Conference, Chicago, IL, pp. 36–
40.
Matt Young (2006), The Stone-Weierstrass Theorem, MATH 328 Notes,
Queen's University at Kingston, Winter Term.
Mehrdad Hojati and Saeed Gazor (2002), “Hybrid Adaptive Fuzzy
Identification and Control of Nonlinear Systems", IEEE Transactions on Fuzzy
Systems, Vol. 10, No. 2, pp.198–210.
Michael A. Arbib (2003), The Handbook of Brain Theory and Neural
Networks, The MIT Press, USA.
N.G.Nath and Nguyen N. San (1996), “On a New Approach to Parameter
Estimation of a Control System: Input-Error Approach”, The second Vietnam
Conference on Automation, pp.373–378.
Nguyen Phung Quang (2004), “Nonlinear Control Structures: New Application
Perspective in Three-Phase AC Drives”, The 8th International Conference on
Mechatronics Technology, Hanoi, pp.213–219.
- 131 -
[79]
[80]
[81]
[82]
[83]
[84]
[85]
[86]
[87]
[88]
[89]
[90]
[91]
[92]
Nguyen Xuan Quynh, Do Khac Duc (1998), “A method to Design Robust
Adaptive Controller of Nonlinear First Order Systems”, The third Vietnam
Conference on Automation, pp.669–677.
Nguyen Xuan Quynh, Do Khac Duc (1998), “Adaptive Control Law for a Class
of Uncertain Nonlinear Systems with Input Time Delay”, The third Vietnam
Conference on Automation, pp.73–84.
Nguyen Xuan Quynh, Do Khac Duc (2000), “An Adaptive Controller for a
Class of Nonlinear Systems with Unknown Parameters Appearing
Nonlinearly”, The fourth Vietnam Conference on Automation, pp.384–389.
Nguyen Xuan Quynh, Do Khac Duc (2000), “N-term Adaptive Control of a
Class of Uncertain Nonlinear Systems”, The fourth Vietnam Conference on
Automation, pp.390–395.
Nguyen Xuan Quynh, Do Khac Duc, F.G. De Boer (2000), “Indirect Optimal
Adaptive Control of Nonlinear Systems”, The fourth Vietnam Conference on
Automation, pp.396–401.
Richard Zurawski (2005), The Industrial Communication Technology
Handbook, CRC Press.
R.M. Corless, G.H. Gonnet, D.E.G. Hare, D.J. Jeffrey (1996), “On the
Lambert's W Function”, Technical Report, Advances in Computational
Mathematics, Vol 5, pp.329–359.
Robert Fullér (1995), Neural Fuzzy Systems, Ǻbo Akademi University.
Saverio Mascolo, Giuseppe Grassi (1999), “Controlling Chaotic Dynamics
Using Backstepping Design With Application to the Lorenz System and Chua’s
Circuit”, International Journal of Bifurcation and Chaos, Vol. 9, No. 7,
pp.1425–1434.
Siemens-AG (2003), FuzzyControl++, Version 5.0, User’s Manual.
Siemens-AG (1998), NeuroSystems, User’s Manual, Version 1.0.
Siemens-AG (1999), Recipes for Easy Applications of Neural Networks,
NeuroSystems-Cookbook.
Simon Haykin (1999), Neural Networks A Comprehensive Foundation, 2nd
Edition, Prentice Hall, USA.
Shouling He, Konrad Reif, Rolf Unbehauen (1998), “A Neural Approach for
Control of Nonlinear Systems with Feedback Linearization”,
Transactions on Neural Networks, Vol. 9, No. 6, pp.1409–1421.
IEEE
[93]
S.P. Moustakidis, G.A. Rovithakis, and J.B. Theocharis (2006), “An Adaptive
Neuro-Fuzzy Control Approach for Nonlinear Systems via Lyapunov Function
Derivative Estimation”, The 2006 IEEE International Symposium on Intelligent
Control, Munich, Germany, pp.1602–1607.
- 132 -
[94]
[95]
[96]
[97]
[98]
[99]
S. Seshagiri and H. K. Khalil (2000), “Output feedback control of nonlinear
systems using RBF neural networks”, IEEE Transactions on Neural Networks,
Vol. 11, No. 1, pp. 69–79.
S.S. Ge, C. C. Hang, Tao Zhang (1999), “Adaptive Neural Network Control of
Nonlinear Systems by State and Output Feedback", IEEE Transactions on
Systems, Man, and Cybernetics, Part B: Cybernetics, Vol. 29, No. 6.
S.S. Ge, C.Wang, T.H.Lee (2000), “Adaptive Backstepping Control of a Class
of Chaotic Systems”, International Journal of Bifurcation and Chaos, Vol. 10,
No. 5, pp.1149–1156.
Tianping Zhang and Shuzhi Sam Ge (2006), “Robust Adaptive Neural Control
of SISO Nonlinear Systems with Unknown Nonlinear Dead-Zone and
Completely Unknown Control Gain”, The 2006 IEEE International Symposium
on Intelligent Control, Munich, Germany, pp.88–93.
T. John Koo (2001), “Stable Model Reference Adaptive Fuzzy Control of a
Class of Nonlinear Systems", IEEE Transactions on Fuzzy Systems, Vol. 9, No.
4, pp.624–636.
Tomohisa Hayakawa (2003), Direct Adaptive Control for Nonlinear Uncertain
Dynamical Systems, Ph.D. Thesis, Georgia Institute of Technology.
[100] Tomohisa Hayakawa (2005), “A New Characterization on the Approximation
of Nonlinear Functions via Neural Networks: An Adaptive Control
Perspective”, The 44th IEEE Conference on Decision and Control, and the
European Control Conference, Spain, pp.4117–4122.
[101] Tomohisa Hayakawa, Wassim M. Haddad, James M. Bailey, Naira
Hovakimyan (2005), “Passivity-Based Neural Network Adaptive Output
Feedback Control for Nonlinear Nonnegative Dynamical Systems", IEEE
Transactions on Neural Networks, Vol. 16, No. 2, pp.387–398.
[102] Tomohisa Hayakawa, Wassim M. Haddad, Naira Hovakimyan, VijaySekhar
Chellaboina (2005), “Neural Network Adaptive Control for Nonlinear
Nonnegative Dynamical Systems", IEEE Transactions on Neural Networks,
Vol. 16, No. 2, pp.399–413.
[103] Tomohisa Hayakawa, Wassim M. Haddad, and Naira Hovakimyan (2008),
“Neural Network Adaptive Control for a Class of Nonlinear Uncertain
Dynamical Systems with Asymptotic Stability Guarantees", IEEE Transactions
on Neural Networks, Vol. 19, No. 1, pp.80–89.
[104] T. Zhang, S. S. Ge, C. C. Hang (2000), “Stable Adaptive Control for a Class of
Nonlinear Systems using a Modified Lyapunov Function", IEEE Transactions
on Automatic Control, Vol. 45, No. 1, pp.129–132.
- 133 -
[105] Wenjie Dong, Yuanyuan Zhao, Jay A. Farrell (2008), “Tracking Control of
Nonaffine Systems: A Self-organizing Approximation Approach”, American
Control Conference, Washington, USA, pp. 69–74.
[106] Won Kee Son, Jin Young Choi, and Oh Kyu Kwon (2002), “Robust Predictive
Control of Uncertain Nonlinear System With Constrained Input", Transactions
on Control, Automation and Systems Engineering, Vol. 4, No. 4, pp.289–295.
[107] Yansheng Yang, Changjiu Zhou (2005), “Robust Adaptive Fuzzy Tracking
Control for a Class of Perturbed Strict-feedback Nonlinear Systems via Small-
gain Approach”, Elsevier Information Sciences, Vol. 170, pp.211–234.
[108] Yixin Diao, Kelvin M. Passino (2004), “Stable Adaptive Control of Feedback
Linearizable Time-varying Non-linear Systems with Application to Fault-
tolerant Engine Control”, International Journal of Control, Vol. 77, No. 17,
pp.1463–1480.
- 134 -
PHỤ LỤC
5.1.
Một số thuật ngữ tiếng Anh
class K (hàm lớp K): g ( E ) Î K nếu g : D ® Â+ đồng biến chặt trên D = [0, r) với
r Î Â+ và g (0) = 0 .
class K¥ (hàm thuộc lớp K¥): g ( E ) Î K¥ nếu g Î K
với D = [0, ¥) và
lim g ( E ) = ¥ .
E ®¥
n +
b (x, t) Î K với mỗi t không đổi và giảm dần đối với t khi x không đổi và
b (x, t) Î K khi t ® ¥ .
compact set/space (tập compac): Tập compac Wx Ì Ân là tập con đóng (closed) và bị
chặn.
+
+ n
tồn tại hàm γ Î K định nghĩa trên [0, r) với r > 0 định nghĩa trên [0, ¥) sao cho
V (t, x) £ γ( x ) với "t ³ 0 và x Î Bh , h > 0 (hoặc x Î Ân ). Ngoài ra V (t, x) giảm
dần khi và chỉ khi tồn tại hàm xác định dương trên Bh (hoặc trên Ân ) để
V (t, x) £ w(x) với mọi x Î Bh (hoặc x Î Ân ) và t ³ 0
n
gọi là vi (đồng) phôi nếu tồn tại phép biến đổi ngược T-1 với T , T-1 là các hàm
trơn (smooth).
globally uniformly asymtotically stable (ổn định tiệm cận đều toàn cục): Gốc của hệ
(2-68) xe = 0 là ổn định tiệm cận đều (hoặc đơn trị) toàn cục nếu là ổn định đều
toàn cục và với mọi e > 0 và t0 ³ 0 luôn tồn tại d0 > 0 không phụ thuộc vào t0
, x
t ³ t0 + T (e ) khi x0 - xe < d (e ) .class KL (hàm thuộc lớp KL ): Hàm liên tục b : Â ´ Â ® Â+ thuộc lớp KL nếu
decrescent function (hàm giảm dần): Hàm liên tục V (t, x) : Â ´ Bh ® Â ,
{ }
Bh = x Î Ân : x < h
(hoặc V (t, x) : Â ´ Â ® Â ) được gọi là giảm dần nếu
diffeomorphism (phép biến đổi vi đồng phôi): Phép biến đổi T : W Î Â ® Ân được
và e , T (e ) > 0 không phụ thuộc vào t0 để cho x(t, t0 0 ) - xe £ e với mọi
- 135 -
Lambert w function (hàm Lambert w): ([84]) Hàm Lambert w( x) là nghiệm của
phương trình w( x)ew( x) = x . Trong MATLAB hàm được gọi như sau
Y = lambertw( X ) .
+ n
là không bị chặn theo tia nếu V (t, 0) = 0 với t ³ 0 và tồn tại hàm γ Î K ¥ để
n
Rayleigh-Ritz (bất đẳng thức Rayleigh-Ritz): Nếu P : n ´ n là ma trận đối xứng và
T T T
relative degree (bậc tương đối): ([50], [51]) Hệ (2-1) có bậc tương đối n tại ξ0 nếu
h(ξ) = L L h(ξ) = L = L L
ξ ξ ξ ξ ξ
L
ξ ξ ξ
n + d n + d
ξ
¶h(ξ)
¶ξ
k h(ξ) = L
ξ ξ
è ξ ø
k ³ 2 . Ý nghĩa của bậc tương đối là số lần phải lấy đạo hàm của đầu ra theo quỹ
đạo động học của hệ để đầu vào xuất hiện rõ hay để ánh xạ đầu vào-đầu ra là tuyến
tính.
state feedback linearization (tuyến tính hóa phản hồi trạng thái): ([50], [51]) Hệ (2-1)
là khả tuyến tính hóa phản hồi trạng thái nếu tồn tại phép biến đổi x = T(ξ) xác
định trên U (chứa gốc tọa độ) và T(0) = 0 để chuyển hệ sang dạng thức
x& = Ax + b( f (x) + g(x)u) với (A, b) là cặp điều khiển được ([49]).
, x
đơn trị nếu với mỗi a > 0 và t0 ³ 0 luôn tồn tại b (a ) > 0 (không phụ thuộc vào
, x
, x
chặn tới hạn đều nếu tồn tại B > 0 và với mỗi a > 0 , t0 ³ 0 luôn tồn tại T (a ) > 0
, x
unitary matrix (ma trận unita): U là ma trận unita nếu U -1 = U* với ký hiệu U* là
chuyển vị liên hợp phức của U. Trường hợp ma trận số thực thì U -1 = UT .radially unbounded (không bị chặn tia): Hàm liên tục V (t, E) : Â ´ Â ® Â được gọi
V (t, E) ³ γ( E ) với "t ³ 0 và E Î Â .
x Î Ân thì lmin max (P)x x .
(P)x x £ x Px £ l
Lg g f g fn - 2h(ξ) = 0 với "ξ trong lân cận của ξ0 và
Lg fn - 1h(ξ0 ) ¹ 0 , trong đó ký hiệu Lf h(ξ) là đạo hàm Lie – hay còn gọi là
đạo hàm của h(ξ) : D Ì Â ® Â theo fξ (ξ) : D Ì Â ® Ân + d – và
được định nghĩa như sau: Lf h(ξ) =
fξ (ξ) , Lf f
æ k - 1 ö
ç Lf h(ξ) ÷ với
uniformly bounded (tính bị chặn đều) x(t, t0 0 ) được gọi là bị chặn đều hay bị chặn
t0 ) để x0 t0 ³ 0 .
uniformly ultimately bounded (bị chặn tới hạn đều): Nghiệm x(t, t0 0 ) được gọi là bị
(không phụ thuộc vào t0 ) để x0 < a thì x(t, t0 0 ) < B với mọi t ³ t0 + T (a ) .
- 136 -
5.2.
Bổ đề 1 trang 23
Để chứng minh hệ sai số (2-16) thỏa mãn Giả thiết 1 ta cần chỉ ra hàm số
+ +
với E Î Â+ khi t không đổi để x £y x (t, E ) với mọi t .
Từ định nghĩa hệ sai số (2-16): E(t, x) = k Ed E + ( xn - r (n-1) ) với k TE = [k1,K, kn-1]
và d E = é x1 - r, x2 - r,K, xn-1 - r ( n-2) û
Ô
ta có:
é x2 - r ù é x2 - r ù é0ù
M M
( n-2) ( n-2)
( n-1) T
é 0 ù é0ù
I
ê 0 ú ê0ú
ê ú ê ú
ë1û
T
)
Đặt Ak =
I
é 0 ù é0ù
ê 0 ú ê0ú
ê ú ê ú
ë1û
học đối với d E như sau:
d& E = Akd E + bE
với Ak là Hurwitz do s n-1 + kn-1s n-2 + K + k1 là Hurwitz.
Biết nghiệm của phương trình vi phân tuyến tính (5-1) là:
(5-1)
d E (t ) = e
Akt
t
d E (0) + ò e Ak (t -t )bE(t )dt
(5-2)
0
Do Ak là Hurwitz nên luôn tìm được các số dương p1 và p2 để eAkt £ p1e-p2t
bằng phương pháp sau:
T
ë & ù
ê ú ê ú ê ú
M
(
d& E = êê úú = êê úú + ê ú k E E n - r ( n-1)
d + x
ê0ú
xn-1 - r
xn-1 - r
ê ú ê ú ê ú
êë xn - r
úû
êë -k E E
úû ë û
1
d
ê M
ê M ú
ú
= ê ú d E + ê ú E
ë-k1 2 L -kn-1 û
-k
& &
ê M ê M ú
ú
ê ú
ê ú và b = Î Ân-1 dẫn đến phương trình động
ë-k1 2 L -kn-1 û
-k
- 137 -
Phương trình trạng thái (5-1) khi E = 0 có nghiệm là d E (t ) = eAktd E (0) . Đặt
V (t ) = dTE Pd E
với
P
là ma trận đối xứng xác định dương thỏa mãn
T 2
Áp dụng bất đẳng thức Rayleigh-Ritz với lmin (P), lmax (P) tương ứng là các giá trị
riêng nhỏ nhất và lớn nhất của P :
-
T T
T
lmin (P) lmax (P)
Û-
V
lmin (P)
£ V& £ -
V
lmax (P)
Giải bất phương trình vế phải V& £ -
thay vào bất đẳng thức vế trái sẽ có:
V
lmax (P)
ta được V £ V (0)e-t /lmax (P) , mặt khác
2
V
lmin (P)
£
V (0)
lmin (P)
e-t /lmax ( P )
Þ d E £
e
Do vậy nếu chọn p1 =
dTE (0)Pd E (0)
lmin (P)
và p2 =
1
2lmax (P)
thì eAkt £ p1e-p2t .
Từ kết quả trên và (5-2) suy ra:
d E (t ) £ p1e
-p2t
t
d E (0) + ò p1e-p2 (t -t ) E(t ) dt = y dE (t, E )
(5-3)
0
Mặt khác từ định nghĩa hệ sai số có thể viết:
é d E ù é d E ù é d E ù
x - r = ê ( n-1) ú = ê ú Û x = r + ê ú
T T
Do r £ r và từ (5-3) nên ta xác định được hàm y x cần tìm để x £y x (t, E ) như
sau:(PAk kT P) = -I thì V& = d& TE (PAk kT P)d E E E E .
+ A
= -d d = - d
+ A
d E E
Pd d E E
Pd
£ -d E E £ -
d
d E £
d E (0)Pd E (0) -t /( 2lmax ( P ) )
ë xn - r ë E - k E E û ë E - k E E û
û
d d
- 138 -
x £ r +
d E
E - k TEd E
T
T
(5-4)
£ r + E + (1 + k TE
)
d E
n-1
è i=1 ø
Rõ ràng là y x (t, E ) tìm được trong (5-4) thỏa mãn tính chất là hàm số bị chặn khi
E bị chặn và không giảm dần đối với E Î Â+ khi t không đổi nên Bổ đề 1 đã được
chứng minh.£ r + d E + E - k Ed E
£ r + d E + E + k Ed E
æ ö
£ r + E + ç1 + å ki ÷ y d E (t, E ) = y x (t, E )
- 139 -
5.3.
Bổ đề 3 trang 40 và kết quả (2-64)
Do μ E (r,k , E) = E ( r - sign(E) bsig(k , E)) với 0 < r £ 1 là hàm chẵn nên ta chỉ
cần xét hàm μ E+ (r,k , E) = E ( r - bsig(k , E)) với E ³ 0 hay:
μ E + ( r ,k , E ) =
r - 1 + ( r + 1)e-k E
1 + e-k E
E
Tính đạo hàm của μ E + (r ,k , E) theo E thu được:
d
dE
μ E + =
-k E
ë û
2
é r - 1 + (r + 1)e-k E ù Ek e-k E
2
=
+
=
=
[-(r + 1)k E + (r + 1) + (r + 1)k E ] e-2k E
- E 2
[-(r + 1)k E + (r + 1) + (r - 1) + (r - 1)k E ] e-k E + r - 1
- E 2
(r + 1) e-2k E + 2(r - k E ) e-k E + r - 1
2
f (r , x)
- x 2
trong đó ký hiệu f (r, x) = (r +1)e-2 x + 2(r - x)e- x + r -1 và x = k E .
Để tìm cực trị của μ E + cần thiết giải phương trình:
f (r, x) = 0
(5-5)
với 0 < r £ 1 . Phương pháp khảo sát hàm số f (r, x) dưới đây chứng minh rằng
phương trình (5-5) trên luôn có nghiệm duy nhất.
Từ đạo hàm:é-k (r + 1)e E + r - 1 + (r + 1)e-k E ù (1 + e-k E )
( )
1 + e-k E
+ ë û
( )
1 + e-k E
(1 + e k )
(1 + e k )
( )
1 + e-k E
(1 + e )
- 140 -
d
dx
ë
-e- x - (r - x)e- x
cho thấy
d
dx
f ( r , x) = 0 khi và chỉ khi x là nghiệm của phương trình:
-x + (r + 1) = -(r + 1)e- x
(5-6)
Để giải phương trình (5-6), ta sử dụng kết quả của Bổ đề 8 dưới đây:
Bổ đề 8: Nghiệm của phương trình x + b = ae x với a ¹ 0 là x = -b - w(-ae-b )
với w( x) là hàm Lambert.
Chứng minh Bổ đề 8 từ biến đổi x + b = ae x Þ
(trang 34) như sau:
x b
a a
-b/ a
x b b
a a log(ea ) a a
Þ x = -b - w ( -ae-b ).
)
(5-7)
▲
Thay a = -(r + 1) , b = r +1 dẫn đến nghiệm của phương trình (5-6) là:
Þ x0 = r + 1 + w ( (r + 1)e-( r +1) ) = r + 1 + w(p)
- x = - x0 = -(r + 1) - w ( ( r + 1)e-( r +1) )
(5-8)
trong đó ký hiệu p = (r + 1)e-( r +1) . Do
d p
d r
= - r (2 + r )e-( r +1) < 0 nên p luôn giảm
2
ë
Khi đó f (r, x) chỉ có một điểm cực trị duy nhất (kết quả phân tích dưới đây cho
thấy đó là điểm cực tiểu) tại ( x0 , f0 ) với x0 xác định theo (5-8) và:f (r , x) = -2(r + 1)e-2 x + 2 éë ûù
= 2e x - (r + 1) - (r + 1)e- x ùû
- x é
+ = (ea ) x / a và áp dụng Bổ đề 2
w ( -(ea ) log(ea )) w ( -ae-b
=- - =- -
dần đối với r Î ( 0,1] và p(1) £ p(r ) < p(0) hay p Î é2 e ,1 e) .
- 141 -
f0 = f ( r , x0 )
= (r + 1)e-2 x0 + 2( r - x0 )e- x0 + r - 1
= (r + 1)e
è e ø
2
-( r +1)
e
1
w(p)
+ r - 1
= (r + 1)e
-2( r +1)
é w(p) ù
ê -( r +1) ú
û
2
- 2 (1 + w(p)) e-( r +1)
w(p)
( r + 1)e-( r +1)
+ r - 1
2 2
+ r - 1 =
r + 1 r + 1 r + 1
=
r 2 - ( w(p) + 1)
r + 1
2
.
Do hàm Lambert là đồng biến chặt trên [-1 e, ¥) nên w(2 e2 ) £ w(p) < w(1 e) ,
suy ra x0 > 1 và f0 0 , f (r, ¥) = r -1 £ 0 nên f (r, x)
luôn cắt trục hoành chỉ tại một điểm xm nằm trong khoảng ( 0, x0 ) và f0 là giá trị cực
tiểu của hàm số f (r, x) . Lưu ý là
d f (r , x)
dE - x 2
nên kết quả trên cũng cho
phép suy ra tại Em =
xm
k
, μ E + đạt giá trị lớn nhất bằng μ E _ max (r,k ) = μ E+ (r,k , Em ) ,
ngoài ra do μ E+ (r,k ,0) = 0 < μ E+ (r,k , Em ) = μ E _ max (r,k ) nên giá trị lớn nhất là
dương.
Để tính giá trị lớn nhất này ta có thể sử dụng phương pháp giải trên MATLAB.
Dưới đây là mã code chương trình viết trên m-file để tạo ra đồ thị μ E (r ,k , E) trong
các trường hợp k = 5 , k = 10 và giá trị r được chọn trong mỗi trường hợp là 1, 0.9
và 0.5 (Hình 4 trang 41):
% mu_E_max; VIELINA–NDH, 2006
function mu_E_max()
clear all
global xm ym
step=0.01; xmax=2;
a=0; rho1=1; rho2=0.9; rho3=0.5;
kappa=5; subplot(1,2,1); plot_mu(xmax, step, a, rho1, rho2, rho3, kappa);
kappa=10; subplot(1,2,2); plot_mu(xmax, step, a, rho1, rho2, rho3, kappa);
function Y=bsig(K,A,E)
Y=(2/(1+exp(-K*(E-A))) - 1);-2( r +1) æ
1 ö
ç w(p) ÷ + 2[ r - ( r + 1) - w(p)] e
ë (r + 1)e
- w (p) - 2 w(p) - 1 + r 2
w (p) w(p)
= - 2 (1 + w(p))
μ E + =
( )
1 + e
- 142 -
function Y=f_mu(K,A,B,E)
Y=abs(E)*(B-sign(E)*bsig(K,A,E));
function Y=f_mu_em(K,B)
str=sprintf('(%4.2f+1)*exp(-2*x)+2*(%4.2f-x)*exp(-x)+%4.2f-1=0',B,B,B);
Y=solve(str)/K;
function plotf_mu(kappa, a, rho, w, color)
global xm ym
em=double(f_mu_em(kappa,rho)); %E_m
fe=f_mu(kappa,a,rho,em); %mu_E_max
s=sprintf('\\fontsize{10}\\it%5.4f',fe);
text(xm(1)-0.03,fe,s, 'Color', color, 'HorizontalAlignment', 'Right');
line([xm(1),em],[fe,fe], 'LineStyle', '-.', 'Color', color);
sprintf('mu(%f,%i,%5.4f)\t= %5.4f',rho,kappa,em,fe) % prints mu_E_max
function plot_mu(xmax, step, a, rho1, rho2, rho3, kappa)
global xm ym
x=[-xmax:step:xmax]';
for i=1:size(x,1)
y1(i)=f_mu(kappa,a,rho1,x(i));
y2(i)=f_mu(kappa,a,rho2,x(i));
y3(i)=f_mu(kappa,a,rho3,x(i));
end;
handle=plot(x,y1,'-r',x,y2,'-b',x,y3,'-k','LineWidth',1);
xlabel('\fontsize{10}\it\bfE'); ylabel('\fontsize{15}\bf\mu\fontsize{10}_{E}');
grid on;
if kappa==5
xlim([-1 1]); ylim([-0.04 0.12]); set(gca,'XTick',[-1:0.5:1]);
x1=0.52; x2=0.56; x3=0.25;
title('\fontsize{15}\bf\it\kappa\fontsize{10}\rm\bf = 5');
else if kappa==10
xlim([-0.5 0.5]); ylim([-0.02 0.06]); set(gca,'XTick',[-0.5:0.25:0.5]);
x1=0.26; x2=0.28; x3=0.125;
title('\fontsize{15}\bf\it\kappa\fontsize{10}\rm\bf = 10');
end
end
text(x1,f_mu(kappa,a,rho1,x1),'\fontsize{10}\leftarrow \it\rho\rm\fontsize{9} = 1', 'Color','r');
text(x2,f_mu(kappa,a,rho2,x2),'\fontsize{10}\leftarrow \it\rho\rm\fontsize{9} = 0.9',
'Color','b');
text(x3,f_mu(kappa,a,rho3,x3),'\fontsize{10}\leftarrow \it\rho\rm\fontsize{9} = 0.5',
'Color','k');
e=exp(1); w=1+lambertw(1/e); xm=xlim; ym=ylim;
plotf_mu(kappa, a, rho1, w, 'r')
plotf_mu(kappa, a, rho2, w, 'b')
plotf_mu(kappa, a, rho3, w, 'k')
- 143 -
5.4.
Tuyến tính hóa phƣơng trình động lực học (3-23)
Đặt ξT = [x1,..,x 4 ] = [q1, q&1, q2 , q& 2 ] , khi đó phương trình động lực học (3-23) và đầu
ra có thể viết dưới dạng:
x1 = x 2
x&2 = -a sin x1 - b(x1 - x3 )
x3 = x 4
x&4 = c(x1 - x3 ) + du
y = x1
(5-9)
với a =
MgL
I
, b =
k
I
, c =
k
J
và d =
1
J
hoặc:
ξ = fξ (ξ) + gξ (ξ)u
y = h(ξ)
(5-10)
với fξ (ξ) =
é x2 ù é 0 ù
1 1 3
ê ú ê ú
ë û ëd û
Hệ (5-10) có điểm cân bằng tại ξ = 0 và có bậc đầy đủ n = 4 do từ:
Lfξ h(ξ) =
¶h(ξ)
¶ξ
fξ = [1,0,0,0]fξ = x 2
Lf2ξ h(ξ) =
¶Lfξ h(ξ)
¶ξ
fξ = [0,1,0,0]fξ = -a sin x1 - b(x1 - x3 )
Lf3ξ h(ξ)
Lf4ξ h(ξ)
=
=
¶Lf2ξ h(ξ)
¶ξ
¶Lf3ξ h(ξ)
¶ξ
fξ = [-a cos x1 - b,0, b,0]fξ = -ax 2 cos x1 - b(x 2 - x 4 )
fξ = [ax 2 sin x1, -a cos x1 - b,0, b]fξ
2
ta có:&
&
&
ê-a sin x - b(x - x )ú ê 0 ú
ê ú , g ξ (ξ) = ê ú và h(ξ) = x1 .
ê x4 ú ê 0 ú
c(x1 3 )
- x
= ax 2 sin x1 + ( a cos x1 + b) ( a sin x1 + b(x1 - x3 )) + bc(x1 - x3 )
- 144 -
Lgξ h(ξ) =
¶h(ξ)
¶ξ
gξ = [1,0,0,0] gξ = 0
L
¶Lfξ h(ξ)
¶ξ
gξ = [0,1,0,0] gξ = 0
L
L
=
=
¶Lf2ξ h(ξ)
¶ξ
¶Lf3ξ h(ξ)
¶ξ
gξ = [-a cos x1 - b,0, b,0] gξ = 0
gξ = [ax 2 sin x1, -a cos x1 - b,0, b] gξ = bd ¹ 0
T
-1
é h(ξ) ù
fξ ê ú
2 2 2
ê ú ê ú ê ú
ë x4 û ëT4 û
f (x) = L4fî h(î) = ax22 sin x1 + ( a cos x1 + b) ( a sin x1 + b(x1 - x3 )) + bc(x1 - x3 )
2 æ 1 ö
è b ø
2
g (x) = Lgî Lf3î h(î) = bd
và biểu diễn hệ ở dạng tuyến tính hóa phản hồi trạng thái chuẩn tắc:
x1 = x2
x2 = x3
x3 = x4
x4 = a( x2 - c) sin x1 - ( a cos x1 + b + c ) x3 + bdu
(5-11)
y = x1
Kết quả trên cho thấy nếu giả thiết ξ là véctơ trạng thái đo được thì x cũng tính
được qua phép biến đổi x = T(ξ ) nêu trên.Lgξ ξf h(ξ) =
Lgξ ξ2f h(ξ)
Lgξ ξ3f h(ξ)
Như vậy có thể sử dụng phép biến đổi vi đồng phôi T(ξ) = [T1 4 (ξ)] với
(ξ),K,T
ξ = T ( x) để xác định:
é x1 ù é T1 ù é
ù
ê L h(ξ)ú
ê x ú êT ú
ê ú
x = = = ê 2
ú =
ê ú ê ú ê ú
ê x3 ú êT3 ú ê Lfξ h(ξ)ú ê -a sin x1 - b(x1 - x3 ) ú
ê 3
ú
ë-ax2 1 2 4 )û
cos x - b(x - x
êë Lfξ h(ξ)úû
sin x - ( a cos x + b) x
= ax2 1 1 3 + bc ç x1 3 1 1) ÷
- ( x + a sin x + bx
= a( x2 - c) sin x1 - ( a cos x1 + b + c ) x3
&
&
&
&
- 145 -
5.5.
Chƣơng trình mô phỏng ví dụ điều khiển tay rôbốt trang 79
% Robot Link Control Simulation; VIELINA–NDH, 2006
%function RobotSim1()
clear all;
global T_min T_step T_max fig a b c d a2 b2 c2 d2
nlStateFeedback_siso = ...
struct('Name','Nonlinear State-feedback Linearizable SISO Model', ...
'N', 0, 'CTRMode', '', ... % Control Mode
'fx', [], 'gx', [], 'hx', [], ... % Plant Model parameters
'fxa', [], 'gxa', [], 'hxa', [], ... % Plant Model Approximation
'FX', [], 'X',[],'W', [], 'Dg',[], 'Df', [], ... % Neural Network Approximator
'Fdxn', [], ... % Neural Network Approximator
'SatLim', 1, 'uLow', -1, 'uHigh', 1, ... % Saturation limiter
'RateLim', 1, 'duLow', -1, 'duHigh', 1, ... % Rate limiter
'K', [], 'eta', 1, 'ETA', [], 'kappa', [], ...
'alpha', 0, 'rho', 0, 'theta', 0, ... % Control parameters
'tempData', [], 'tempData2', []); % Testing data templates
% Nonlinear state-feedback linearizable SISO plant model:
%
%
%
%
%
% where
%
dx1/dt = x2
dx2/dt = x3
dx[N-1] = xN
dxN/dt = f(x) + g(x)*u
y = h(x)
x = [x1; x2; ...; xN] (state vector)
u: plant input; y: plant output
% Parameters:
% N: Number of continuous states
% fx, gx, hx: f(x), g(x), h(x) respectively
% fxa, gxa, hxa: known functions for replacement of f(x), g(x), h(x) respectively
RefModel_siso = struct( 'Name','SISO Reference Model','Formula', '');
% Simulation Settings --------------------------------------------------
T_min=0; T_max=50; T_step=0.01;
T=T_min:T_step:T_max; % Simulation time interval, fix step
T_Ref=[T_min:T_step/5:T_max]; % Reference signal's sampling time interval
flag='';
options = odeset('RelTol',1e-3,'AbsTol',1e-4);
% Plant Model Definition -----------------------------------------------
nlPlant=nlStateFeedback_siso; % Defines Plant Model
nlPlant.N=4; % Number of states (x)
nlPlant.fx='(a*(x(:,2).^2-c).*sin(x(:,1))-a*(cos(x(:,1))+b+c).*x(:,3))';
nlPlant.gx='b*d';
nlPlant.hx='x(:,1)';
- 146 -
nlPlant.K=poly([-0.5 -0.8 -1]);
nlPlant.eta=200;
nlPlant.ETA(1)=nlPlant.eta*nlPlant.K(1);
for i=2:nlPlant.N
nlPlant.ETA(i)=nlPlant.K(i-1)+nlPlant.eta*nlPlant.K(i);
end
nlPlant.kappa=0; % static feedback control law applies
I=0.04; J=0.04; k=0.8; L=0.1; M=6; g=9.8;
a=M*g*L/I; b=k/I; c=k/J; d=1/J;
% Reference Signal Definition -------------------------------------------------------
RefSignal='FORMULA'; % Defines Reference Signal Type
fig=0;
RefModel=RefModel_siso;
RefModel.Formula='pi*sin(0.5*t).*cos(0.1*t)/3'; % Reference signal
Ref=fRefGen(RefModel.Formula, T_Ref'); % Ref=[t Ref(t)]
s=sprintf('r(t)=%s',RefModel.Formula);
dr = fDeriv(Ref(:,1:2), nlPlant.N+1); % Reference data & its derrivatives
r = [Ref(1:size(dr,1),1:2) dr(:,2:nlPlant.N+1)];
% R = [t r(t) dr(t)/dt..d^(N)r(t)/dt^N]
rt=fxt(r,0,'approx'); % rt=[t r dr/dt ...]
X0=[0 0 0 0];
% Trains approximator ---------------------------------------------------------------
nlPlant.u='5.15*sin(0.25*t)-0.95*sin(t)'; % u for testing (maybe varies)
nlPlant.fxa='(-a2*c2.*sin(x(:,1))-a2*(b2+c2).*x(:,3))';
nlPlant.gxa='b2*d2';
nlPlant.hxa=nlPlant.hx;
nlPlant.X='[x uxa]';
a2=a; b2=b*0.9; c2=1.1*c; d2=1.3*d;
T1=T;
nlPlant = fStateFeedback2(T1, X0, options, 'train', nlPlant, r);
nlPlant.W
save data;
% Tests the trained controller -------------------------------------------------------
%function RobotSim2()
clear all;
load data;
T2=T;
- 147 -
nlPlant.kappa=1;
nlPlant.rho=1; % 0<rho<=1
nlPlant = fStateFeedback2(T2, X0, options, 'approx', nlPlant, r);
Error=[nlPlant.W; nlPlant.Df; nlPlant.Dg]
pause
nlPlant.kappa=1;
nlPlant.rho=0.8; % 0<rho<=1
nlPlant = fStateFeedback2(T2, X0, options, 'approx', nlPlant, r);
Error=[nlPlant.W; nlPlant.Df; nlPlant.Dg]
% ----- Backstepping ----------------------------------------------------------------
function [y]= fStateFeedback2(T, X0, options, flag, Plant, r)
% flag={'exact','approx','learn'}
global T_min T_step T_max fig a b c d a2 b2 c2 d2
stime='\fontsize{12}\itt\rm [s]';
sk=sprintf('\\fontsize{15}\\it\\kappa\\rm\\fontsize{12} = %.0f',Plant.kappa);
if Plant.kappa~=0
sk=sprintf('%s, \\fontsize{15}\\it\\rho\\rm\\fontsize{12} = %.1f',sk,Plant.rho);
end
N=Plant.N; s='';
t=[]; x=[]; y=[]; z=[];
[t,x] = ode45(@fdx_statefb2, T, X0(1:N), options, {flag, 'deriv'}, Plant, r); % x=[x1..xN]
for i=1:length(t)
y(i,:) = feval(@fdx_statefb2, t(i), x(i,:), {flag, 'output'}, Plant, r); % y=[h(x) ufb E e1..eN]
if strcmp(flag,'train')
z(i,:) = feval(@fdx_statefb2, t(i), x(i,:), {flag, 'trndata'}, Plant, r);
end
end
Plant.tempData=[t y(:,1) y(:,2) x]; % Saves data for later testing [t h(x) ufb x]
ufb=y(:,2);
fig=fig+1; figure(fig); clf;
plot(t,y(:,3),'-r', t,y(:,4),'-b') % Plots E, e1
if N>1
hold on;
plot(t,y(:,5),'-g') % Plots e2
hold off;
end
%s=sprintf('\\fontsize{12}Error system - \\bf%s\\rm mode', flag);
title(sk); xlabel(stime); ylabel('\fontsize{12}\itE');
- 148 -
fig=fig+1; figure(fig); clf;
plot(t(:,1),x(:,1),'-r', t(:,1),x(:,2),'-b', t(:,1),x(:,3),'-g', t(:,1),x(:,4),'-m') % Plots r(t), y(t)
title(sk); xlabel(stime); ylabel('\fontsize{12}\bfx');
fig=fig+1; figure(fig); clf;
plot(r(:,1),r(:,2),'-r', t,y(:,1),'-b') % Plots r(t), y(t)
rt=fxt(r,t,'approx'); % rt=[t r dr/dt ...]
title(sk); xlabel(stime); ylabel('\fontsize{12}\itr\rm, \ity');
ylim([-1.2 1.2]);
s1='\fontsize{11}\leftarrowReference signal';
text(r(3.9/T_step*5,1),r(3.9/T_step*5,2),s1,'Color','r');
s2='\fontsize{11}\leftarrowPlant''s output'; text(t(1.8/T_step),y(1.8/T_step,1),s2,'Color','b');
fig=fig+1; figure(fig); clf; plot(t,y(:,2),'-r') % Plots ufb
%s=sprintf('\\fontsize{12}Control signal - \\bf%s\\rm mode', flag);
title(sk); xlabel(stime); ylabel('\fontsize{12}\itu');
switch flag
case 'train' % Sets and trains approximators
Plant.Fdxn=[]; trData=[]; X=[]; Y=[]; Z=[];
MF_No=2; MF_Type='gbellmf'; Epoch_No=10;
uxa=y(:,2); X=eval(Plant.X);
Z=z(:,2); % Z=dxN/dt
trData=[X Z];
crAnfis=genfis1(trData, MF_No, MF_Type)
% Generates an FIS structure from data used as initial conditions for anfis training
Plant.Fdxn = anfis(trData, crAnfis, Epoch_No)
% Training routine for Sugeno-type FIS
Y=evalfis(X, Plant.Fdxn);
Plant.W=[norm(Z-Y) abs(max(Z-Y))]; % abs(max(Z-Y));
fig=fig+1; figure(fig); clf;
plot(t,Z,'-r',t,Y,'-b') % Plots u(t)=uN
s1='\fontsize{15}\Delta\fontsize{11}_{dxn}';
s=sprintf('\\fontsize{11}Trained ANFIS Approximator - %s',s1);
title(s); xlabel(stime); ylabel(s1);
case 'approx'
uxa=y(:,2); X=eval(Plant.X);
fx=eval(Plant.fx); fxa=eval(Plant.fxa);
Plant.Df=[norm(fxa-fx) abs(max(fxa-fx))];
gx=eval(Plant.gx); gxa=eval(Plant.gxa);
Plant.Dg=[norm(gxa-gx) abs(max(gxa-gx))];
- 149 -
Delta_f=fxa-fx; Delta_g=gxa-gx;
fig=fig+1; figure(fig); clf;
plot(t,Delta_f,'-r',t,Delta_g,'-b') % Plots u(t)=uN
s1='\fontsize{13}\Delta\fontsize{12}\it_{f}\rm(\bfx\rm)';
s2='\fontsize{13}\Delta\fontsize{12}\it_{g}\rm(\bfx\rm)';
title(sk); xlabel(stime); ylabel(sprintf('%s, %s',s1,s2));
s=sprintf('\\leftarrow%s',s1); text(t(6/T_step),Delta_f(6/T_step),s,'Color','r');
s=sprintf('\\downarrow%s',s2); text(15,Delta_g+10,s,'Color','b');
end
y=Plant;
% ----- Nonlinear Plant Model ---------------------------------------------------------
function [y] = fdx_statefb2(t, x, flag, Plant, rData)
% rData=[t r dr/dt .. (d^N)r/dt^N]: Reference database
% flag meanings:
%
%
'exact' & 'deriv': exact model states derivative
'exact' & '
% ALL VECTORS MUST BE ROW VECTORS !!!
% MATRIX ROW : indicates one record of variable(s)
% MATRIX COLUMN: indicates one variable in time steps
global a b c d a2 b2 c2 d2
N=Plant.N; ETA=Plant.ETA(:)'; K=Plant.K(1:N); K=K(:);
u=[]; y=[]; t=t(:);x=x(:)';
rt=fxt(rData,t,'approx');
e=x-rt(:,2:N+1); E=e*K;
fx=eval(Plant.fx); gx=eval(Plant.gx); hx=eval(Plant.hx);
fxa=eval(Plant.fxa); gxa=eval(Plant.gxa); hxa=eval(Plant.hxa);
[t E]
switch flag{1} % Control mode
case 'exact'
ufb = (rt(:,N+2)-e*ETA'-fx)./gx; % Feedback control law
case 'approx'
uxa = (rt(:,N+2)-e*ETA'-fxa)./gxa; % Approx. control law
X=eval(Plant.X); Phi=(evalfis(X, Plant.Fdxn));
Edxn=E*Phi;
if (0)
ufb = uxa-abs(Phi)*bsig(Plant.kappa,E,0)./gxa; % Feedback control law
else
ufb = uxa-Phi*bsig(Plant.kappa,Edxn,0)/Plant.rho./gxa; % Feedback control law
end
case 'test' % Testing model with tempData
- 150 -
ut=fxt(Plant.tempData,t,'approx'); ufb=ut(:,3);
case 'train' % Archiving data for approximator trainning
uxa = (rt(:,N+2)-e*ETA'-fxa)./gxa; % Approx. control law
ufb=uxa;
otherwise
error(['Unhandled Control Type = ', flag{1}]);
end
switch flag{2}
case 'deriv' % y=[dx1/dt..dxN/dt]
y=[x(:,2:N) fx+gx.*ufb]';
case 'output' % y=[h(x) ufb E e1..eN delta_dxn]
if strcmp(flag{1},'approx')
y=[hxa ufb E e (fxa-fx+(gxa-gx).*uxa)];
else
y=[hx ufb E e (fxa-fx+(gxa-gx).*ufb)];
end
case 'trndata' % y=[r delta_dxn]
y=[rt(:,2) (fxa-fx+(gxa-gx).*uxa)];
otherwise
error(['Unhandled Return Type = ', flag{2}]);
end
% ----- Reference r(t) signal Generator ------------------------------------------------
function [Ref] = fRefGen(RefSignal, tRef)
% Reference signal r(t) Generator
% Ref = [tRef yRef] ; max(size(Ref))=2
t=tRef;
Ref = [tRef eval(RefSignal)];
% ----- Derrivative calculation ----------------------------------------------------------
function [y] = fDeriv(xData, p)
% Calculates derrivatives up to p power of xData
% xData=[t x1 .. x(N-1)]: xdata matrix (M rows, N columns)
% y = [t dx1/dt..dx(N-1)/dt ... (d^p)x1/dt^p..(d^p)x(N-1)/dt^p];
% size(y)=[M-p 1+(N-1)*p]
[M N]=size(xData);
t=xData(:,1); dt=diff(t); x=[]; %x=xData(:,2:N);
for i=1:p
k=(i-1)*(N-1);
for j=1:N-1
x(1:M-i,k+j)=diff(xData(1:M,j+1),i) ./ (dt(1:M-i).^i);
end
end
y = [t(1:M-p) x(1:M-p,:)];
- 151 -
% ----- Function values calculation -----------------------------------------------------
function [y] = fxt(xData, t, flag)
% Calculation of x1(t)..xN(t) based on specification data stored in xData (t>=0)
% t: time (row or column vector) for calculation of xi(t)
% xData=[t x1(t) .. xN(t)]: xdata matrix
% y = [t x1~(t) .. xN~(t)]; max(size(Ref))=N+1
% flag: mode of calculation (now works with 'approx' only)
[M N] = size(xData); K=length(t); t=t(:);
for i=1:K
ti=t(i); j=1;
while (xData(j,1)<=ti & j<M) j=j+1; end
if (j==M) k=j; else k=j-1; end
xt=xData(k,:); dt=ti-xt(1,1);
if dt>0
switch flag % currently works with 'approx' only
case 'approx'
for j=2:N-1
xt(1,j)=xt(1,j)+xt(1,j+1)*dt;
end
otherwise
;
end
end
y(i,:)=[ti xt(2:N)];
end
% ----- bipolar sigmoidal function calculation -----------------------------------------
function f=bsig(kappa,E,A)
kappa=kappa(:); E=E(:); A=A(1);
f=2./(1+exp(-kappa.*(E-A))) - 1;
- 152 -
5.6.
Bổ đề 6 trang 100
v Trƣờng hợp 1
Do A là ma trận xác định dương nên theo [38] luôn tồn tại phép phân tích LU (LU
factorization) duy nhất A = LU với:
L =
é 1 0 L 0ù éu11 u12 L u1n ù
21
ê M O M ú ê M O M ú
ê ú ê ú
ë 0 0
tương ứng là các ma trận tam giác dưới (lower triangular matrix) và ma trận tam giác
trên (upper triangular matrix); uii > 0, i = 1..n .
Mặt khác có thể phân tích:
U =
éu11 0 L 0 ù é1 u12 / u11 L u1n / u11 ù
ê M O M ú ê M O M ú
0 0 L 1
nên nếu ký hiệu lại U =
é1 u12 / u11 L u1n / u11 ù
ê M O M ú
0 0 L 1
A có thể phân tích thành A = LDU với các ma trận tam giác L , U đều có các số
hạng trên đường chéo bằng 1 và D là ma trận chéo.
T T T
T
Ma trận chéo D có các giá trị trên đường chéo dương nên A có thể phân tích:
T T 1/ 2 1/ 2
1/ 2
T
T
với D1/2 = diag
(
1/ 2 1/2êl
ê 0
u22 2n ú
ú
ê ú , U = ê ú
1 0 u
L unn û
ëln1 ln 2 L 1û
ê 0 u22 0 ú ê0 1 u2n / u22 ú
ê ú * ê ú
L unn û ë û
ê ú ê ú
ë 0 0
ê0 1 u2n / u22 ú
ê ú và D = diag (u11, u22 ,K, unn ) thì
ê ú
ë û
Biết A đối xứng nên từ A = AT suy ra A = LDU = U D LT = U DLT . Do phép
phân tích trên là duy nhất nên L = UT hay A = U DU = LDLT .
A = U DU = U D D U
= ( D U
) ( D U)
1/ 2
= C C
u11 22 ,K, unn ) và C = D U = D LT là ma trận tam giác trên.
, u
- 153 -
v Trƣờng hợp 2
Nếu A có các giá trị riêng phân biệt thì ngoài phương pháp phân tích chung như
trên còn có thể phân tích theo phương pháp đường chéo hóa ma trận A bằng phép
-1
él1 0 L 0 ù
ê
ê M O M ú
ê ú
ë 0 0
, li > 0 : i = 1..n là các giá trị riêng
phân biệt và P =
é p11 p12 K p1n ù
21 22 2n
ê M M M ú
ê ú
ë pn1
véctơ riêng độc lập tuyến tính của A . Mặt khác ta có:
-T
-1 -T T
Þ DQ - QD = 0
T
)
-1
-1
Đặt Q =
é q11 q12 K q1n ù
21 22
ê ú
ëqn1
ij ji
é l1q11 l1q12
ê M M
ê
q q
é 0
ê M
ê
K l1q1n ù é l1q11 l2q12 K lnq1n ù
q ú êl q l q
-
M M M M
ú ê ú
q q
(l1 - l2 )q12 K (l1 - ln )q1n ù
0
M M ú
ú
0
= 0
Do Q đối xứng nên biểu thức trên chỉ đúng khi qij = 0 với i ¹ j , ngoài ra do:biến đổi P AP = D với D =
0 úú
ê 0 l2
L ln û
ê p p K p ú
ê ú = [P1 P2 n ] là tập hợp đầy đủ các
L P
pn 2 K pnn û
A = PDP -1 = P DPT = AT
Þ D = P P DP P = QDQ-1
với Q = ( P P
= P P -T = QT là ma trận đối xứng.
êq q K q2n ú
ê ú với q = q | i, j = 1..n , dẫn đến:
ê M M M ú
qn 2 K qnn û
êl q l q
DQ - QD = ê 2 21 2 22
ëln n1 ln n 2
K l2 2 n ú ê 1 21 2 22 K lnq2 n úú
ú ê ú
K ln nn û ël1qn1 2qn 2 K ln nn û
ê(l - l )q
= ê 2 1 21
ë(ln - l1)qn1
K (l2 - ln )q2 n úú
(ln - l2 )qn 2 K
û
- 154 -
éP1T ù
T êP2 ú
M
êP T ú
P2 L Pn ]
T
êP P
ê M
T
T T
ú
T T
M M úú
T T
=
é1 / q11 0 K 0 ù
22
ê M M M ú
ê ú
ë 0 0
T T
và chọn U = PT thì do li > 0 : i = 1..n nên có thể biến đổi A như sau:
T T 1/2 1/2
1/2
T
T
1/2 1/2
(
l1 , l2 ,K, ln ) và U là ma trận unita.ê T ú
P P = ê ú [P1
ê ú
ë n û
éP1 1
P
ê T
= ê 2 1
êP P
ë n 1
P1 2 1 n ù
L P P
P
P2 2 2 n ú
L P P
P
Pn 2 n n úû
L P P
P
ê 0 1/ q K 0 ú
ê ú
K 1 / qnn û
nên Pi , i = 1..n cũng là các vectơ trực giao. Như vậy nếu chọn Pi i = 1 hay P P = I
P
A = U DU = U D D U
= ( D U
) ( D U)
1/2
= C C
với C = D U = D PT , D1/2 = diag
- 155 -
5.7.
Một số môđun phần mềm trong mô hình phần mềm ứng dụng
v Môđun phần mềm cung cấp dữ liệu quá trình cho IPC-Server
Hình 14 cho biết hoạt động của môđun phần mềm cung cấp dữ liệu quá trình
(Process I/O Data Transmission) và cấu trúc vùng bộ nhớ đệm với 2 nhiệm vụ chính
là lưu dữ liệu quá trình vào bộ đệm (kích hoạt bởi ngắt thời gian theo chu kỳ lấy mẫu)
và cung cấp dữ liệu trong bộ đệm theo yêu cầu cho PC-Server (điều khiển bởi PC-
Server thông qua giao thức truyền thông). Ngoài ra môđun còn bảo đảm quản lý được
vùng bộ nhớ đệm, xử lý các trường hợp đầy tràn vùng nhớ.
Bộ đệm (FIFO)
I/O Process
Image
Header
¼
Current Plant
REAL 1
pRecRd
REAL n
¼
REAL 1
Record
¼
REAL n
Rec 1
¼
REAL n
¼
Data
available
for PC
reading
¼
Ánh xạ
REAL 1
pRecWr
REAL ...
¼
Current Plant Record will
be written to the Buffer
at sampling times
Rec i
¼
REAL n
Note:
n:
m:
Number of related I/Os (all in real
number format) of the plant(s)
have to be stored at sampling
times.
Max. number of records available
¼
REAL 1
in the Buffer for
storage of plant data.
temporary
Rec m
¼
pRecRd: Pointer to the record for next
reading from the Buffer.
pRecWr: Pointer to the next record for next
writting to the Buffer.
REAL n
Unused
Hình 14 : Cấu trúc bộ đệm và dữ liệu quá trình cung cấp cho PC-Server
Môđun phần mềm được xây dựng tổng quát cho phép mỗi lần thực hiện truy cập
vào buffer có thể viết hoặc đọc nhiều bản ghi (records) với mỗi bản ghi chứa ít nhất 1
giá trị quá trình (dạng số thực 4 byte).
- 156 -
v Môđun phần mềm ANFIS trên PLC
Đây là môđun phần mềm cơ bản trong mô hình hệ thống NF dựa trên mô hình
mạng ANFIS. Môđun phần mềm cho phép tùy chọn các tham số/kiểu hàm trong các
lớp mạng với các tùy chọn như sau:
q
Lớp 1: (Tính toán các đầu ra hàm liên thuộc) Môđun phần mềm hỗ trợ 2 dạng
hàm liên thuộc đầu vào chính là hàm liên thuộc dạng hình chuông (Bell) và hàm
Gauss. Số lượng các trọng số có thể điều chỉnh trong quá trình học của mỗi hàm
này tương ứng là 3 và 2 (ký hiệu từ w0 đến w2) như đẳng thức sau:
ABell ( x) =
1 +
1
x - w2
w0
2 w1
0
ê 2 è w1 ø û
q
Lớp 2: (Tính vế đầu của các luật) Có thể lựa chọn các dạng t-norm và t-conorm
khác nhau cho tính toán như sau (mặc định t-norm=MIN và t-conorm=MAX)
§ t-norm:
+ MIN:
+ Lukasiewicz LAND:
+ Probabilistic PAND:
§ t-conorm:
+ MAX:
+ Lukasiewicz LOR:
+ Probabilistic POR:
MIN(a,b) = min(a,b)
LAND(a,b) = max(a+b-1,0)
PAND(a,b) = ab
MAX(a,b) = max(a,b)
LOR(a,b) = min(a+b,1)
POR(a,b) = a+b-ab
q
Lớp 3: (Chuẩn hóa đầu ra vế đầu của các luật) Phép chuẩn hóa đầu ra các luật
được tính như sau:
bi =
a i
N
j =1
, i = 1,K, N
q
q
Lớp 4: (Tính đầu ra của các luật) Đầu ra của mỗi luật được tính là tích của mức
tác động đã được chuẩn hóa của mỗi luật (theo cơ chế luật của Sugeno) với đầu ra
vế đầu của mỗi luật. Các trọng số trong lớp này có thể điều chỉnh trong quá trình
học.
Lớp 5: (Tính đầu ra của ANFIS) Mỗi đầu ra của ANFIS được tính trong lớp này
và là tổng của toàn bộ đầu ra của các luật.
Môđun phần mềm ANFIS được thiết kế cho dòng PLC SIMATIC S7-400 hoặc
WinAC RTX hiện cho phép thực hiện 8 đầu vào với mỗi đầu vào mờ có thể có nhiều
nhất tới 7 hàm liên thuộc (dạng Bell hoặc Gauss). Số lượng đầu ra lớn nhất cho phép
của hệ thống ANFIS là 1 đầu ra tuy nhiên có thể mở rộng khi cần.é 1 æ x - w ö2 ù
, BGauss ( x) = exp ê- ç ÷ ú
ë ú
åa j
- 157 -
Hình 15 : Các khối môđun phần mềm trên giao diện STEP7 V5
Các file đính kèm theo tài liệu này:
- 236.kilobooks.com.doc