Bộ điều khiển PID chỉnh tham số bằng mạng nơ-ron dùng cho máy lái tự động tàu thủy

21/09/2015 07:00

Bài báo nghiên cứu đề xuất bộ điều khiển PID với tham số được điều chỉnh bằng mạng nơ-ron nhân tạo ứng dụng cho máy lái tự động tàu thủy.

PGS. TS. Nguyễn Phùng Hưng

Trường Đại học Giao thông vận tải TP. Hồ Chí Minh

PGS. TS. Phạm Kỳ Quang

Trường Đại học Hàng hải Việt Nam

ThS. NCS. Võ Hồng Hải

Trường Đại học Hàng hải Việt Nam

Người phản biện:

TS. Võ Công Phương

TS. Đặng Xuân Kiên

 

Tóm tắt: Bài báo nghiên cứu đề xuất bộ điều khiển PID với tham số được điều chỉnh bằng mạng nơ-ron nhân tạo ứng dụng cho máy lái tự động tàu thủy. Bộ điều khiển được thiết kế cho nhiệm vụ điều khiển giữ hướng và chuyển hướng tàu; điều khiển tàu tự động chuyển hướng theo hướng đi đã đặt trước. Kết quả được mô phỏng và kiểm chứng trên máy tính.

Từ khóa: PID, điều khiển mạng nơ-ron, hướng tàu.

Abstract: This article presents a study on PID controller which is tuned by a neural networks using for ship autopilot system.The controller is usedfor heading control and changing course control; automatically controling ship altering course to a preset one. Control performance is then simulated on computer.

Keywords: PID, neural network controller, ship heading.

1. Đặt vấn đề

Từ những năm 1990 đến nay, lý thuyết và những ứng dụng của mạng nơ-ron nhân tạo trong tự động điều khiển đã được nhiều tác giả trình bày [1]. Nhóm tác giả trong  [2], [3] đã giới thiệu thuật toán mạng nơ-ron nhân tạo điều khiển hướng đi và quỹ đạo chuyển động tàu thủy. Tuy nhiên, những ứng dụng như vậy trong hệ thống lái tự động, đặc biệt ở Việt Nam còn mới mẻ và chưa phổ biến.

Các hệ thống lái tự động cho tàu thủy chủ yếu vẫn dùng kiểu điều khiển PID truyền thống, có thể kết hợp thêm tính năng thích nghi [5]. Bài báo này giới thiệu bộ điều khiển (BĐK) PID điều hưởng bằng mạng nơ-ron nhân tạo, nâng cao chất lượng điều khiển hướng đi tàu thủy.

2. Bộ điều khiển PID nơ-ron

2.1. Sơ đồ nguyên lý

Cấu trúc của bộ điều khiển PID dựa trên mạng nơ-ron lan truyền ngược (Back Propagation Neural Network - BPNN) (Hình 2.1) gồm có hai phần: 1) BĐK PID thông thường và 2) mạng nơ-ron lan truyền ngược. BĐK PID được sử dụng để điều khiển hướng tàu. Chất lượng điều khiển phụ thuộc vào việc thiết lập các tham số Kp, Ki Kd được điều hưởng bởi mạng BPNN. Mạng BPNN sử dụng thuật toán huấn luyện online dựa trên phương pháp giảm gradient để cập nhật các trọng số và bảo đảm cho mạng nơ-ron được thiết kế có thể tính toán được các tham số PID mong muốn. Vì vậy, trong phương pháp này, bằng việc kết hợp BĐK PID thông thường và mạng BPNN cho chất lượng điều khiển mong muốn và ổn định.

h1
Hình 2.1: Sơ đồ BĐK PID nơ-ron

 

2.2. Thuật toán điều khiển

2.2.1. Bộ điều khiển PID

Lệnh điều khiển (góc bẻ lái)  từ BĐK PID được dùng như trong [5] như sau:

1

 

      (1)

 

Trong đó, δPId - Đầu ra của BĐK PID; Kp, Ki Kd - Tương ứng là hệ số tỷ lệ, tích phân và vi phân; e (K) - Sai số của hệ thống được biểu diễn như sau, e (K)= y (K) - r (K).

Trong đó,Y - Đầu ra thực tế, r - Đầu ra mong muốn của hệ thống.

2.2.2. Huấn luyện mạng nơ-ron

Nếu mạng nơ-ron có đủ số lượng nơ-ron, nó có thể xấp xỉ bất kỳ hàm liên tục nào với chỉ một lớp ẩn. Vì vậy, mạng nơ-ron chỉ có một lớp ẩn được thiết kế. Mạng nơ-ron lan truyền ngược có 3 lớp, cấu trúc của BĐK được minh họa trên Hình 2.2. Số lượng các nơ-ron lớp vào, lớp ẩn và lớp ra tương ứng là M, Q, 3.

h2
Hình 2.2: Cấu trúc mạng nơ-ron lan truyền ngược

 2.2.2.1. Tính toán truyền thẳng của BPNN

Đầu ra của mỗi nơ-ron trong lớp vào là:

2

     (2)

 

Trong đó, OP - Đầu ra của nơ-ron thứ p trong lớp vào.

Đầu vào và đầu ra của lớp ẩn của mạng là:

3,4

            (3)

           (4)

 

 

Với netj - Đầu vào của nơ-ron thứ j trong lớp ẩn; ωJP - Trọng số của lớp ẩn; ƒ(x)- Hàm kích hoạt của nơ-ron lớp ẩn, nó là hàm Sigmoid với đối xứng dương và âm.

5

       (5)

 

Đầu vào và đầu ra của lớp ra là:

6,7

              (6)

                 (7)   

                               

8

 

           (8)

 

 

 

Trong đó, wij - Trọng số của nơ-ron lớp ra; các đầu ra của nơ-ron lớp ra là Kp, Ki Kd; g(x) - Hàm kích hoạt của nơ-ron lớp ra, nó là hàm Sigmoid không âm.

9

      (9)

 

Mạng BPNN điều hưởng các tham số PID một cách tự động và làm giảm bớt thời gian thiết kế hệ thống điều khiển. Tuy nhiên, sai số mô hình toán học tàu thủy thường tồn tại và làm giảm độ chính xác điều khiển hệ thống. Vì vậy, thuật toán huấn luyện online được áp dụng để điều chỉnh trọng số nơ-ron nhằm làm giảm sai số hệ thống e(k) trong thiết kế BĐK BPNN.

2.2.2.2. Lan truyền ngược sai số và điều chỉnh trọng số

Hàm chỉ tiêu chất lượng có dạng như sau:              

10

 

      (10)

 

 

Trong đó, rin - Đầu ra mong muốn; yout - Đầu ra thực tế.

Quá trình huấn luyện mô hình mạng nơ-ron thường phải được thực hiện trước khi đưa vào sử dụng và được lặp lại cho đến khi sai số bình phương trung bình của dữ liệu huấn luyện đạt tối thiểu mong muốn. Trong nghiên cứu này, quá trình huấn luyện dựa trên thuật toán lan truyền ngược. Ý tưởng cơ bản của lan truyền ngược là nhằm điều chỉnh các trọng số nơ-ron sử dụng phương pháp giảm độ dốc cho hàm sai số trong một chu trình điều khiển. Nhìn chung, việc điều chỉnh trọng số từ lớp ẩn tới lớp ra được biểu diễn như sau:                          

11

      (11)

 

 

Tuy nhiên, để tránh cực tiểu cục bộ và tăng tốc độ hội tụ, ta thêm vào một xung lượng (tăng quán tính) vào thuật toán được đề xuất. Điều này có nghĩa là sự thay đổi trọng số trong chu trình này không chỉ phụ thuộc vào sai số hiện tại mà còn phụ thuộc vào sự thay đổi trước đó. Vì vậy, việc điều chỉnh mỗi trọng số từ lớp ẩn tới lớp ra được điều chỉnh dựa trên hàm sai số đầu ra của hệ thống như sau:     

12

        (12)

 

 

Trong đó, η - Hệ số tốc độ học, α - Hệ số xung lượng.

Từ đó:

13

                    (13)

                                   

14

 

        (14)

 

và dựa trên các phương trình (2.31), (2.37), các phương trình sau đây được tính:

15,16

          (15)

                                           

              (16)

 

17

 

        (17)

 

Sau đó, thuật toán học của việc cập nhật trọng số trong lớp ra được biểu diễn như sau:

18,19

       (18)

          (19)

 

 

Trong đó, δi - Hàm sai số của lớp ẩn, nó cần thiết cho việc điều chỉnh các trọng số từ lớp vào tới lớp ẩn. δi được biểu diễn như sau:

20

       (20)

 

 

Trong đó, đạo hàm bậc nhất của g(x) được cho bởi:

21

        (21)

 

 

Sau đó, sử dụng phép tính tương tự và việc cập nhật trọng số trong lớp ẩn được tính dựa trên thuật toán giảm gradient và hàm sai số lớp ẩn là  δJ. Thuật toán học được biểu diễn như sau:

22,23,24

      (22)

           (23)

           

(24)

 

Trong đó, đạo hàm bậc nhất của ƒ(x) được cho bởi:

25

 

 (25)

 

Thuật toán của điều khiển PID dựa trên BPNN ở đây sử dụng phương pháp huấn luyện tăng cường [1]. Các giá trị số lần huấn luyện trong một chu trình n và hệ số học ηlà cố định. Tại thời điểm bắt đầu của chu trình điều khiển chỉ thị bởi tham số k, trọng số của mạng nơ-ron được chọn là giá trị ngẫu nhiên rất nhỏ. Tín hiệu ra của các nơ-ron lớp ẩn và lớp ra được tính toán dựa trên các trọng số ban đầu này. Tiếp theo, trọng số của mạng nơ-ron được cập nhật bằng thuật toán lan truyền ngược sao cho giá trị của Ek đạt cực tiểu. Quá trình này được lặp đi lặp lại n lần trước khi bắt đầu một chu trình điều khiển mới (k=k+1). Tín hiệu ra của mạng nơ-ron tại vòng huấn luyện thứ n chính là tín hiệu điều khiển được xuất ra tại chu trình điều khiển thứ k.

3. Kết quả mô phỏng

Mạng nơ-ron gồm 4 nơ-ron lớp vào, 6 nơ-ron lớp ẩn và 3 nơ-ron lớp ra. Đầu vào của mạng bao gồm hướng đi mong muốn yr, hướng đi thực tế y, sai số hướng đi e(k) và hiệu số e(k) - e(k-1). Ba nơ-ron lớp ra cho tín hiệu ra tương ứng với các tham số Kp, Ki và Kd của bộ điều khiển PID. Hệ số học và số lần huấn luyện trong một chu trình là cố định (n=50, g= 0,5), giá trị xung lượng được thêm vào trong quá trình huấn luyện lan truyền ngược η= 0,025. Phạm vi đổi hướng từ -25,00 đến +25,00. Thời gian mô phỏng 900 giây.

Trong mỗi trường hợp mô phỏng, tổng bình phương độ lệch hướng đi so với hướng mong muốn, tổng bình phương góc bẻ lái được tính nhằm so sánh mức độ hoạt động của bánh lái và khả năng giữ hướng.

Trường hợp 1:Không có gió và nhiễu tín hiệu đo tác động. Hình 3.1 cho thấy hướng đi có độ vọt lố rất nhỏ, tính bền vững tốt và độ ổn định cao, thời gian xác lập nhanh hơn và góc bẻ lái nhỏ hơn so với BĐK PID thông thường. Trên Hình 3.2 biểu thị sự thay đổi của các tham số Kp, Ki Kd  được điều chỉnh bởi mạng nơ-ron được đề xuất.

h3
Hình 3.1: Mô phỏng BĐK hướng tàu sử dụng BĐK BPNN-PID và PID khi không có gió và nhiễu

 

h4
Hình 3.2: Sự thay đổi các tham số Kp, Ki, Kd

 

Hình 3.3 minh họa sai số hướng đi của tàu, tốc độ và gia tốc quay trở hướng mũi tàu, cho ta thấy tính hiệu quả và bền vững của BĐK BPNN-PID được đề xuất.

h5
Hình 3.3: Sai số hướng đi, tốc độ và gia tốc quay trở hướng mũi tàu

 

Bảng 3.1. Tổng bình phương độ lệch hướng và tổng bình phương góc bẻ lái

b1

Trường hợp 2:Khi có gió và nhiễu tác động. Hình 3.4 cho thấy máy lái tự động sử dụng BĐK BPNN-PID cho hướng đi có mức độ dao động ít hơn, đảm bảo được tính bền vững và ổn định trong suốt thời gian tiến hành mô phỏng, góc bẻ lái nhỏ hơn so với BĐK PID thông thường. Điều này đảm bảo cho động cơ máy lái giảm nguy cơ bị quá tải trong điều kiện ngoại cảnh tác động.

h6
Hình 3.4: Mô phỏng BĐK hướng tàu sử dụng BĐK BPNN-PID và PID khi có nhiễu và gió tác động

 

h7
Hình 3.5: Mô phỏng sự thay đổi các tham số Kp, Ki và Kd  khi có gió

 

h8
Hình 3.6: Sai số hướng đi, tốc độ và gia tốc quay trở hướng mũi tàu

Hình 3.5 minh họa các tham số Kp, Ki Kd  được điều hưởng một cách tự động trong suốt quá trình mô phỏng bởi mạng nơ-ron nhân tạo dưới sự tác động của nhiễu và gió tác động tới hướng tàu.

Bảng 3.2. Tổng bình phương độ lệch hướng và tổng bình phương góc bẻ lái

b2

4. Kết luận

Bài báo đề xuất BĐK PID được điều hưởng bằng mạng nơ-ron nhân tạo dùng cho máy lái tự động tàu thủy. BĐK PID cung cấp khả năng điều khiển ban đầu cho đối tượng là hướng đi tàu thủy. Mạng nơ-ron được sử dụng để tinh chỉnh các tham số Kp, Ki, Kd của BĐK PID để đạt được chất lượng điều khiển mong muốn.

Có được điều này là do khả năng tự học và thích nghi với đối tượng điều khiển của mạng [1]. BĐK nơ-ron có khả năng thích nghi với đối tượng điều khiển giúp cho việc điều chỉnh các tham số của BĐK PID nhanh và phù hợp. Qua đó, hệ điều khiển vừa đạt hiệu quả tốt vừa hoạt động ổn định.

Trong các nghiên cứu sắp tới chúng tôi sẽ thí nghiệm thêm tác động của nhiễu ngẫu nhiên trong tín hiệu đo và ảnh hưởng của ngoại cảnh trong nhiều tình huống hơn để kiểm nghiệm sự hoạt động ổn định của BĐK được đề xuất.

Tài liệu tham khảo

[1]. Nguyễn Phùng Hưng (2013), Mạng nơ-ron nhân tạo - ứng dụng trong điều khiển phương tiện thủy, NXB. Khoa học và Kỹ thuật.

[2]. P.H. Nguyen, Y.C. Jung (2006), Improved Adaptive Neural Network Autopilot for Track-keeping Control of Ships: Design and Simulation, International Journal of Navigation and Port Research (KINPR)ISSN-1598-5725, Vol. 30, No. 4, pp. 259-265.

[3]. P.H. Nguyen, Y.C. Jung (2006), Design and Application of an Adaptive Neural Network to Dynamic Positioning Control of Ship, Proceedings of International Symposium on GPS/GNSS, Vol. 1 (12th IAIN World Congress), No. 1, pp. 285-290.

[4]. Nguyễn Lê Nhật Thắng, Nguyễn Phùng Hưng (10/2014), Nhận dạng mô hình toán và máy lái tự động Genetic PID cho mô hình tàu thủy thí nghiệm, Tạp chí GTVT, tr.34-39.

[5]. Fossen, T.I. (2002), Marine Control Systems: Guidance, Navigation and Control of Ships, Rigs and Underwater Vehicles, Marine Cybernetics, Trondheim, Norway, ISBN 82-92356-00-2.

Ý kiến của bạn

Bình luận