MỤC LỤC
LỜI CAM ĐOAN. vi
LỜI CẢM ƠN. vii
TÓM TẮT .viii
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU . x
DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ.xiii
DANH MỤC CÁC BẢNG. xvii
MỞ ĐẦU . 1
1. Tính cấp thiết của đề tài . 2
2. Mục đích nghiên cứu của đề tài. 3
3. Đối tượng và phạm vi nghiên cứu. 3
4. Phương pháp nghiên cứu. 3
5. Ý nghĩa khoa học và thực tiễn. 3
6. Những điểm đóng góp mới của luận án . 4
7. Kết cấu của luận án . 4
CHƯƠNG 1. 5
TỔNG QUAN VỀ ĐIỀU KHIỂN ROBOT LẶN TỰ HÀNH (AUTONOMOUS
UNDERWATER VEHICLE). 5
1.1. Tổng quan về robot lặn tự hành AUV (Autonomous Underwater Vehicle) 5
1.1.1Các ứng dụng của AUV trên thế giới . 6
1.1.2Các ứng dụng của AUV tại Việt Nam . 9
1.1.3Mô hình toán học và phương trình động học tổng quát của AUV . 11
1.2 Tổng quan về điều khiển AUV hiện nay. 18
1.2.1Các nghiên cứu về điều khiển AUV trên thế giới. 18
1.2.2Các nghiên cứu về điều khiển AUV tại Việt Nam . 25
1.3 Kết luận chương 1 . 26
CHƯƠNG 2. 27
CƠ SỞ LÝ THUYẾT ĐIỀU KHIỂN NƠ-RON THÍCH NGHI THIẾT BỊ LẶN
TỰ HÀNH . 27
2.1 Mạng nơ-ron nhân tạo . 27
2.1.1 Tổng quan về mạng nơ-ron nhân tạo trong điều khiển . 27
2.1.1.1 Cấu trúc của mạng nơ-ron . 27iv
2.1.1.2 Các hình trạng của mạng . 31
2.1.1.3 Các luật học của mạng nơ-ron nhân tạo. 32
2.1.2 Điều khiển tự động dùng mạng nơ-ron nhân tạo . 33
2.2 Ứng dụng mạng nơ-ron nhân tạo điều khiển AUV. 34
2.3 Kết luận chương 2 . 38
CHƯƠNG 3. 39
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NƠ-RON THÍCH NGHI CHO ROBOT
LẶN TỰ HÀNH. 39
3.1 Mô hình toán học AUV sử dụng trong nghiên cứu. 39
3.1.1Cấu tạo của mô hình NPS AUV II. 39
3.1.2Mô hình toán học AUV. 40
3.2 Mạng nơ-ron thích nghi trong điều khiển . 47
3.2.1Bộ điều khiển nơ-ron thích nghi tương tác . 47
3.2.2Mô hình tổng quát của bộ điều khiển NNC huấn luyện trực tuyến. 48
3.3 Thiết kế hệ thống điều khiển nơ-ron cho AUV. 50
3.3.1Điều khiển riêng biệt các chuyển động của AUV. 50
3.3.2Thiết kế bộ điều khiển nơ-ron cho các hệ thống con . 51
3.3.3Điều khiển tổng hợp các chuyển động của AUV bằng phương pháp tách rời
(decoupled control) . 54
3.4 Hệ thống điều khiển dẫn đường AUV và thực hiện các nhiệm vụ dưới nước
. 55
3.4.1Điều khiển AUV theo quỹ đạo đặt trước . 55
3.4.2Điều khiển AUV bám theo địa hình đáy. 58
3.5 Các phương án thích nghi cho hệ thống điều khiển AUV . 58
3.5.1Mô hình dòng chảy tác động lên AUV . 58
3.5.2Thích nghi với tác động của dòng chảy . 59
3.6 Kết luận chương 3 . 61
156 trang |
Chia sẻ: thinhloan | Ngày: 12/01/2023 | Lượt xem: 600 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu điều khiển thích nghi cho robot lặn tự hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tại Phụ lục.
Hình 3.1 Mô hình NSP AUV II
40
Hình 3.2 Sơ đồ cấu tạo các chi tiết của NSP AUV II
Mô hình AUV này có chiều dài 3m, rộng 0,4m và cao 0,25m. Vỏ bằng
nhôm 6061 dày 0,25 inch. Trọng lượng toàn bộ là 220kg. Phần mũi làm bằng
vật liệu mica đặc biệt chứa ắc-quy, các cảm biến, các mạch điện và công tắc.
Nguồn cấp là ắc-quy 12V. Tốc độ cao nhất của AUV là 4 hải lý/giờ (knots),
ở tốc độ này AUV duy trì thời gian làm việc được 4 giờ. AUV được thiết kế
để hoạt động ở vùng nước nông với độ sâu hoạt động 30m, nếu gia cường
thêm có thể hoạt động ở độ sâu tối đa 100m.
Cấu tạo hệ động lực AUV này gồm 2 cánh điều khiển hướng phía trước,
2 cánh điều khiển hướng phía sau; 2 cánh điều khiển độ sâu phía trước, 2 cánh
điều khiển độ sâu phía sau; 2 chân vịt cố định phía sau vận hành bằng động
cơ điện. Ngoài ra NSP AUV II còn có chân vịt đẩy theo chiều ngang (thruster)
ở phía trước và phía sau, tuy nhiên với luận án này tác giả không sử dụng đến
trong các mô phỏng điều khiển của mình.
3.1.2 Mô hình toán học AUV
Phần này mô tả sơ bộ phương pháp diễn giải phương trình động học
tuyến tính 6 bậc tự do, các vấn đề chi tiết đã được trình bày trong [31]. Dạng
tổng quát và đầy đủ của hệ phương trình động học được thể hiện trong (3.1)
và (3.2).
ẋ = Ax + Bu (3.1)
41
[
ẋ1
ẋ2
] = [
−M−1(C + D) −M−1g(t)
JB/E(t) 0
] [
x1
x2
] + [M
−1
0
] τc (3.2)
Trong đó, x1(t) = Δν(t) = ν(t) - νref(t) và x2(t) = Δη(t) = η(t) - ηref(t) là
các đại lượng thu được thu được tự trạng thái; M, C, D, g, JB/E, và τC lần lượt
là ma trận khối lượng, ma trận lực Coriolis, ma trận lực cản thủy động, ma
trận lực trọng trường, ma trận chuyển đổi từ hệ trục Body-fixed{B} sang hệ
trục Earth-fixed {E}, và ma trận lực / mô-men điều khiển [30], [31].
Phương trình chuyển động của AUV:
Theo [30], [31], phương trình chuyển động động lực học phi tuyến của
AUV như sau:
𝑀�̇� + 𝐶(𝑉)𝑉 + 𝐷(𝑉)𝑉 + g(𝜂) + g0 = 𝜏 + 𝜏𝑤𝑖𝑛𝑑 + 𝜏𝑤𝑎𝑣𝑒 (3.3)
Trong trường hợp có xét vận tốc dòng chảy, ta được vector vận tốc
tương đối là:
𝑉𝑟 = 𝑉 − 𝑉𝑐 , 𝑉𝑐 = [𝑢𝑐 , v𝑐 , 𝑤𝑐 , 0,0,0]
𝑇
Phương trình (3.3) trở thành:
𝑀𝑅𝐵�̇� + 𝐶𝑅𝐵(𝑉)𝑉 + 𝑀𝐴�̇�𝑟 + 𝐶𝐴(𝑉𝑟)𝑉𝑟 + 𝐷(𝑉𝑟)𝑉𝑟 + g(𝜂) + g0
= 𝜏 + 𝜏𝑤𝑖𝑛𝑑 + 𝜏𝑤𝑎𝑣𝑒
(3.4)
Nếu chỉ giới hạn ở nước tĩnh trong hồ thì có thể bỏ qua ảnh hưởng của
dòng chảy, ảnh hưởng của gió và của sóng. Phương trình chuyển động của
AUV cuối cùng là:
𝑀�̇�𝑟 + 𝐶(𝑉𝑟)𝑉𝑟 + 𝐷(𝑉𝑟)𝑉𝑟 + g(𝜂) + g0 = 𝜏 (3.5)
Trong đó:
- 𝑀 = 𝑀𝑅𝐵 + 𝑀𝐴: ma trận lực quán tính (tính cả quán tính chất lỏng).
- 𝐶(𝑉𝑟) = 𝐶𝑅𝐵(𝑉𝑟) + 𝐶𝐴(𝑉𝑟): ma trận lực hướng tâm Coriolis (tính cả
quán tính chất lỏng).
- 𝐷(𝑉𝑟): ma trận lực cản.
- g(𝜂): vector trọng lực/lực đẩy Acsimet và moment (lực phục hồi).
42
- g0: vector trọng lực thêm vào để làm AUV cân bằng.
- 𝜏: vector lực điểu khiển đầu vào.
Lực và moment xuất phát từ bản thân vật rắn:
Theo tài liệu [31], ta có công thức của ma trận quán tính vật rắn (Rigid-
body system inertial matrix) 𝑀𝑅𝐵 là duy nhất và thỏa mãn điều kiện sau:
𝑀𝑅𝐵 = 𝑀𝑅𝐵
𝑇 > 0, �̇�𝑅𝐵 = 06×6 (3.6)
Trong đó:
𝑀𝑅𝐵 =
[
𝑚 0 0 0 𝑚𝑧𝑔 −𝑚𝑦𝑔
0 𝑚 0 −𝑚𝑧𝑔 0 𝑚𝑥𝑔
0 0 𝑚 𝑚𝑦𝑔 −𝑚𝑥𝑔 0
0 −𝑚𝑧𝑔 𝑚𝑦𝑔 𝐼𝑥 −𝐼𝑥𝑦 −𝐼𝑥𝑧
𝑚𝑧𝑔 0 −𝑚𝑥𝑔 −𝐼𝑦𝑥 𝐼𝑦 −𝐼𝑦𝑧
−𝑚𝑦𝑔 𝑚𝑥𝑔 0 −𝐼𝑧𝑥 −𝐼𝑧𝑦 𝐼𝑧 ]
(3.7)
Cũng theo tài liệu [31], ma trận Coriolis 𝐶𝑅𝐵(𝑉) thõa mãn điều kiện
sau:
𝐶𝑅𝐵(𝑉) = −𝐶𝑅𝐵(𝑉)
𝑇 > 0, ∀𝑣𝑟 ∈ 𝑅
6 (3.8)
𝐶𝑅𝐵(𝑉) =
[
0 0 0
0 0 0
0 0 0
−𝑚(𝑦𝑔𝑞 + 𝑧𝑔𝑟) 𝑚(𝑦𝑔𝑝 + 𝑤) 𝑚(𝑧𝑔𝑝 − v)
𝑚(𝑥𝑔𝑞 − 𝑤) −𝑚(𝑧𝑔𝑟 + 𝑥𝑔𝑝) 𝑚(𝑧𝑔𝑞 + 𝑢)
𝑚(𝑥𝑔𝑟 + v) 𝑚(𝑦𝑔𝑟 − 𝑢) −𝑚(𝑥𝑔𝑝 + 𝑦𝑔𝑞)
𝑚(𝑦𝑔𝑞 + 𝑧𝑔𝑟) −𝑚(𝑥𝑔𝑞 − 𝑤) −𝑚(𝑥𝑔𝑟 + v)
−𝑚(𝑦𝑔𝑝 + 𝑤) 𝑚(𝑧𝑔𝑟 + 𝑥𝑔𝑝) −𝑚(𝑦𝑔𝑟 − 𝑢)
−𝑚(𝑧𝑔𝑝 − v) −𝑚(𝑧𝑔𝑞 + 𝑢) 𝑚(𝑥𝑔𝑝 + 𝑦𝑔𝑞)
0 −𝐼𝑦𝑧𝑞 − 𝐼𝑥𝑧𝑝 + 𝐼𝑧𝑟 𝐼𝑦𝑧𝑟 + 𝐼𝑥𝑦𝑝 − 𝐼𝑦𝑞
𝐼𝑦𝑧𝑞 + 𝐼𝑥𝑧𝑝 − 𝐼𝑧𝑟 0 −𝐼𝑥𝑧𝑟 − 𝐼𝑥𝑦𝑞 + 𝐼𝑥𝑝
−𝐼𝑦𝑧𝑟 − 𝐼𝑥𝑦𝑝 + 𝐼𝑦𝑞 𝐼𝑥𝑧𝑟 + 𝐼𝑥𝑦𝑞 − 𝐼𝑥𝑝 0 ]
(3.9)
Vì chọn gốc tọa độ Ob trùng với trọng tâm của AUV, ngoài ra có thể coi
như AUV đối xứng qua các mặt phẳng Oxy, Oyz, Oxz (vì vận tốc nhỏ) nên các
ma trận 𝑀𝑅𝐵 và ma trận 𝐶𝑅𝐵(𝑉) trở thành:
43
𝐶𝑅𝐵(𝑉) =
[
0 0 0
0 0 0
0 0 0
0 𝑚𝑤 −𝑚v
−𝑚𝑤 0 𝑚𝑢
𝑚v −𝑚𝑢 0
0 𝑚𝑤 −𝑚v
−𝑚𝑤 0 𝑚𝑢
𝑚v −𝑚𝑢 0
0 𝐼𝑧𝑟 −𝐼𝑦𝑞
−𝐼𝑧𝑟 0 𝐼𝑥𝑝
𝐼𝑦𝑞 −𝐼𝑥𝑝 0 ]
(3.10)
𝑀𝑅𝐵 =
[
𝑚 0 0 0 0 0
0 𝑚 0 0 0 0
0 0 𝑚 0 0 0
0 0 0 𝐼𝑥 0 0
0 0 0 0 𝐼𝑦 0
0 0 0 0 0 𝐼𝑧]
(3.11)
Lực và moment thủy động lực học:
Các lực và moment này gồm 3 thành phần:
- 𝑀𝐴 : quán tính chất lỏng.
- 𝐶𝐴(𝑉𝑟) : Lực hướng tâm Coriolis khi xét tới quán tính chất lỏng.
- 𝐷(𝑉𝑟) : lực cản thủy động lực học (hydrodynamic damping).
Gọi 𝑇𝐴 là năng lượng thủy động lực học của dòng lưu chất, ta có được
phương trình:
𝑇𝐴 =
1
2
𝑉𝑇𝑀𝐴𝑉, �̇�𝐴 = 0
(3.12)
Trong đó, ma trận 𝑀𝐴 = 𝑀𝐴
𝑇 ≥ 0 là 1 ma trận quán tính 6x6:
𝑀𝐴 = −
[
𝑋�̇� 𝑋�̇� 𝑋�̇� 𝑋�̇� 𝑋�̇� 𝑋�̇�
𝑌�̇� 𝑌�̇� 𝑌�̇� 𝑌�̇� 𝑌�̇� 𝑌�̇�
𝑍�̇� 𝑍�̇� 𝑍�̇� 𝑍�̇� 𝑍�̇� 𝑍�̇�
𝐾�̇� 𝐾�̇� 𝐾�̇� 𝐾�̇� 𝐾�̇� 𝐾�̇�
𝑀�̇� 𝑀�̇� 𝑀�̇� 𝑀�̇� 𝑀�̇� 𝑀�̇�
𝑁�̇� 𝑁�̇� 𝑁�̇� 𝑁�̇� 𝑁�̇� 𝑁�̇� ]
(3.13)
Với các giá trị trong ma trận là hệ số quán tính của chất lỏng. Ví dụ,
lực quán tính chất lỏng Y theo trục y gây ra bởi gia tốc �̇� theo trục x được
tính như sau:
𝑌 = −𝑌�̇��̇� , 𝑌�̇� ≔
𝜕𝑌
𝜕�̇�
(3.14)
Theo [28], ma trận quán tính chất lỏng (added mass) phụ thuộc nhiều
vào hình dạng của AUV. Bởi vì, ta giả sử rằng AUV đối xứng qua 3 mặt
44
phẳng và gốc của hệ tọa độ {b} đặt tại trọng tâm AUV nên ma trận 𝑀𝐴 trở
thành:
𝑀𝐴 = −
[
𝑋�̇� 0 0 0 0 0
0 𝑌�̇� 0 0 0 0
0 0 𝑍�̇� 0 0 0
0 0 0 𝐾�̇� 0 0
0 0 0 0 𝑀�̇� 0
0 0 0 0 0 𝑁�̇�]
(3.15)
Các thông số này là hằng số khi AUV hoàn toàn chìm trong nước. Các
giá trị này thường khó tìm và thường được chọn theo kinh nghiệm trong lân
cận từ 10% - 100% giá trị từ ma trận 𝑀𝑅𝐵. Theo tìm hiểu một số thông số từ
các AUV, có thể chọn các thông số quán tính chất lỏng ở ma trận 𝑀𝐴 bằng
50% giá trị từ ma trận 𝑀𝑅𝐵.
Đối với 1 vật thể cứng khi đi xuyên qua 1 chất lỏng lý tưởng, lực hướng
tâm Coriolis 𝐶𝐴(𝑉) có thể luôn được tham số hóa thỏa mãn điều kiện:
𝐶𝐴(𝑉) = −𝐶𝐴(𝑉)
𝑇 > 0, ∀𝑣𝑟 ∈ 𝑅
6 (3.16)
Trong đó:
𝐶𝐴(𝑉) =
[
0 0 0 0 −𝑎3 𝑎2
0 0 0 𝑎3 0 −𝑎1
0 0 0 −𝑎2 𝑎1 0
0 −𝑎3 𝑎2 0 −𝑏3 𝑏2
𝑎3 0 −𝑎1 𝑏3 0 −𝑏1
−𝑎2 𝑎1 0 −𝑏2 𝑏1 0 ]
(3.17)
Với:
𝑎1 = 𝑋�̇�𝑢 + 𝑋�̇�v + 𝑋�̇�𝑤 + 𝑋�̇�𝑝 + 𝑋�̇�𝑞 + 𝑋�̇�𝑟
𝑎2 = 𝑌�̇�𝑢 + 𝑌�̇�v + 𝑌�̇�𝑤 + 𝑌�̇�𝑝 + 𝑌�̇�𝑞 + 𝑌�̇�𝑟
𝑎3 = 𝑍�̇�𝑢 + 𝑍�̇�v + 𝑍�̇�𝑤 + 𝑍�̇�𝑝 + 𝑍�̇�𝑞 + 𝑍�̇�𝑟 (3.18)
𝑏1 = 𝐾�̇�𝑢 + 𝐾�̇�v + 𝐾�̇�𝑤 + 𝐾�̇�𝑝 + 𝐾�̇�𝑞 + 𝐾�̇�𝑟
𝑏2 = 𝑀�̇�𝑢 + 𝑀�̇�v + 𝑀�̇�𝑤 + 𝑀�̇�𝑝 + 𝑀�̇�𝑞 + 𝑀�̇�𝑟
𝑏3 = 𝑁�̇�𝑢 + 𝑁�̇�v + 𝑁�̇�𝑤 + 𝑁�̇�𝑝 + 𝑁�̇�𝑞 + 𝑁�̇�𝑟
Bởi vì, giả sử rằng AUV đối xứng qua 3 mặt phẳng và AUV di chuyển
với vận tốc chậm nên ma trận 𝐶𝐴(𝑉) có thể được viết dưới dạng đơn giản sau
đây:
45
𝐶𝐴(𝑉𝑟) =
−𝐶𝐴
𝑇(𝑉𝑟) =
[
0 0 0 0 −𝑍�̇�𝑤𝑟 𝑌�̇�v𝑟
0 0 0 𝑍�̇�𝑤𝑟 0 −𝑋�̇�𝑢𝑟
0 0 0 −𝑌�̇�v𝑟 𝑋�̇�𝑢𝑟 0
0 −𝑍�̇�𝑤𝑟 𝑌�̇�v𝑟 0 −𝑁�̇�𝑟 𝑀�̇�𝑞
𝑍�̇�𝑤𝑟 0 −𝑋�̇�𝑢𝑟 𝑁�̇�𝑟 0 −𝐾�̇�𝑝
−𝑌�̇�v𝑟 𝑋�̇�𝑢𝑟 0 −𝑀�̇�𝑞 𝐾�̇�𝑝 0 ]
(3.19)
Lực cản thủy động lực học:
Vì trong thực tế rất khó để có thể xác định toàn bộ các hệ số để xác
định các lực cản. Theo [28], xấp xỉ công thức như sau:
𝐷(𝑉𝑟) = −𝑑𝑖𝑎𝑔{𝑋𝑢 + 𝑋𝑢|𝑢||𝑢| , 𝑌v + 𝑌v|v||v| , 𝑍𝑤 + 𝑍𝑤|𝑤||𝑤| ,
𝐾𝑝 + 𝐾𝑝|𝑝||𝑝| ,𝑀𝑞 + 𝑀𝑞|𝑞||𝑞| , 𝑁𝑟 + 𝑁𝑟|𝑟||𝑟|}
(3.20)
Với:
𝑋𝑢, 𝑌v, 𝑍𝑤 , 𝐾𝑝, 𝑀𝑞 , 𝑁𝑟: là thành phần tuyến tính của hệ số cản thủy động.
𝑋𝑢|𝑢|, 𝑌v|v|,, 𝑍𝑤|𝑤|, 𝐾𝑝|𝑝|, 𝑀𝑞|𝑞|, 𝑁𝑟|𝑟|: thành phần bậc hai của hệ số cản
thủy động.
Lực phục hồi:
Gọi ∇ là thể tích của chất lỏng bị chiếm bởi AUV, g là gia tốc trọng
trường, ρ là khối lượng riêng chất lỏng. Trọng lượng riêng W và lực đẩy
Acsimet Archimet B là:
𝑊 = 𝑚𝑔 , 𝐵 = 𝜌𝑔∇ (3.21)
Theo [5], công thức lực phục hồi được tính như sau:
g(𝜂) = [
𝑓𝑔
𝑏 + 𝑓𝑏
𝑏
𝑟𝑔
𝑏 × 𝑓𝑔
𝑏 + 𝑟𝑏
𝑏 × 𝑓𝑏
𝑏] = − [
𝑅𝑏
𝑛(𝑓𝑔
𝑛 + 𝑓𝑏
𝑛)
𝑟𝑔
𝑏 × 𝑅𝑏
𝑛𝑓𝑔
𝑛 + 𝑟𝑏
𝑏 × 𝑅𝑏
𝑛𝑓𝑏
𝑛]
(3.22)
Trong đó:
𝑓𝑔
𝑛 = [
0
0
𝑊
] 𝑣à 𝑓𝑏
𝑛 = −[
0
0
𝐵
]
(3.23)
Suy ra được công thức:
46
g(𝜂) =
[
(𝑊 − 𝐵)s𝜃
−(𝑊 − 𝐵)𝑐𝜃s𝜙
−(𝑊 − 𝐵)c𝜃c𝜙
−(𝑦𝑔𝑊 − 𝑦𝑏𝐵)c𝜃c𝜙 + (𝑧𝑔𝑊 − 𝑧𝑏𝐵)c𝜃s𝜙
(𝑧𝑔𝑊 − 𝑧𝑏𝐵)s𝜃 + (𝑥𝑔𝑊 − 𝑥𝑏𝐵)c𝜃c𝜙
−(𝑥𝑔𝑊 − 𝑥𝑏𝐵)c𝜃s𝜙 − (𝑦𝑔𝑊 − 𝑦𝑏𝐵)s𝜃 ]
(3.24)
Với (𝑥𝑏 , 𝑦𝑏 , 𝑧𝑏) là tọa độ của tâm lực đẩy Acsimet.
Để đơn giản trong quá trình tính toán, chọn 𝑊 = 𝐵 nên:
𝐵𝐺̅̅ ̅̅ = ( 𝐵𝐺̅̅ ̅̅ 𝑥 , 𝐵𝐺̅̅ ̅̅ 𝑦 , 𝐵𝐺̅̅ ̅̅ 𝑧)
𝑇 = (𝑥𝑔 − 𝑥𝑏 , 𝑦𝑔 − 𝑦𝑏 , 𝑧𝑔 − 𝑧𝑏 )
𝑇 (3.25)
Suy ra:
g(𝜂) =
[
0
0
0
−𝐵𝐺̅̅ ̅̅ 𝑦𝑊c𝜃c𝜙 + 𝐵𝐺̅̅ ̅̅ 𝑧𝑊c𝜃s𝜙
𝐵𝐺̅̅ ̅̅ 𝑧𝑊s𝜃 + 𝐵𝐺̅̅ ̅̅ 𝑥Wc𝜃c𝜙
−𝐵𝐺̅̅ ̅̅ 𝑥Wc𝜃s𝜙 − 𝐵𝐺̅̅ ̅̅ 𝑦Ws𝜃 ]
(3.26)
Trọng lực thêm vào:
Đối với trọng lực được thêm để AUV ở trạng thái cân bằng theo ý
muốn, theo [31] sẽ có công thức như sau:
g0 =
[
0
0
−𝑍𝑏𝑎𝑙𝑙𝑎𝑠𝑡
−𝐾𝑏𝑎𝑙𝑙𝑎𝑠𝑡
−𝑀𝑏𝑎𝑙𝑙𝑎𝑠𝑡
0 ]
(3.27)
Mô hình điều động trong mặt phẳng độ sâu
Trong đề tài nghiên cứu này, để tập trung vào việc điều khiển riêng độ
sâu của AUV, tác giả chỉ quan tâm đến mô hình điều động trong mặt phẳng
độ sâu. Do đó phương trình động lực mặt phẳng độ sâu sẽ được sử dụng như
là hàm truyền mô tả hệ thống. Đối với mô hình điều động trong mặt phẳng độ
sâu, góc pitch (𝜃) của AUV sẽ được điều khiển. Do đó, có thể bỏ qua các
biến trạng thái 𝑦, 𝜙, 𝜓, 𝜐, 𝑝, 𝑟 trong mặt phẳng nằm ngang, vậy nên phương
trình động lực học của hệ thống được rút gọn thành (3.28) với các hệ số được
mô tả trong bảng 4.1.
47
[
𝐼𝑦𝑦 − 𝑀�̇� 0 0
0 1 0
0 0 1
] [
�̇�
�̇�
�̇�
] + [
−𝑀𝑞 0 −𝑀𝜃
0 0 𝑈
−1 0 0
] [
𝑞
𝑧
𝜃
] = [
𝑀𝛿𝑠
0
0
] (3.28)
trong đó: 𝐼𝑦𝑦 là moment quán tính quanh trục Y; 𝑀𝜃, 𝑀𝑞, 𝑀�̇� là các hệ số
thủy động lực học được mô tả trong bảng 4.1.
3.2 Mạng nơ-ron thích nghi trong điều khiển
Trong [3] tác giả đề xuất phương pháp điều khiển thích nghi với mạng
nơ-ron bằng lý thuyết thích nghi tương tác. Theo nghiên cứu này, các nơ-ron
trong mạng được xem như các hệ thống con gọi là các thiết bị trong một hệ
thống phức tạp. Phương pháp này tương tự như thuật toán lan truyền ngược
nhưng không cần đến mạng lan truyền ngược để truyền ngược tín hiệu sai số.
Mạng nơ-ron điều khiển thích nghi của một số hệ thống dùng phương pháp
này được mô phỏng trong [3] và ứng dụng trong [8], [9] để minh họa tính khả
thi và hiệu quả của phương pháp. Phần 3.2.1 sẽ mô tả tóm tắt thuật toán thích
nghi tương tác áp dụng cho mạng nơ-ron để tạo thành bộ điều khiển nơ-ron
thích nghi tương tác (Adaptive Neural Network by Adaptive Interaction -
ANNAI).
3.2.1 Bộ điều khiển nơ-ron thích nghi tương tác
Tham khảo trong tài liệu [3] và sử dụng các ký hiệu dưới đây với Nji ,
iO tín hiệu ra của nơ-ron thứ i;
iI tín hiệu vào của nơ-ron thứ i;
i giá trị ngưỡng của nơ-ron thứ i;
ijw trọng số của liên kết từ nơ-ron thứ i đến nơ-ron thứ j;
)(xg hàm kích hoạt của một nơ-ron;
d
iO giá trị đầu ra mong muốn của nơ-ron thứ i (đối với nơ-ron lớp
ra);
bước học,
Mạng nơ-ron sẽ được mô tả như sau:
+=
Nj
ijiji OwI , (3.29)
48
+==
Nj
ijijii OwgIgO )( . (3.30)
Mục tiêu của mạng là cực tiểu hóa sai số sau đây
=
Ni
ieE
2
2
1
, (3.31)
trong đó idii OOe −= nếu i là nơ-ron lớp ra.
Thuật toán cập nhật trọng số cho mạng nơ-ron trong [3] được viết như
sau
iji
Nk
kiki
i
j
iij eOIgww
O
O
Igw )()( −=
, (3.32)
trong đó ijw là số gia hay tốc độ thay đổi của trọng số, )( iIg là đạo hàm của
)( iIg theo iI .
Phương trình (3.32) thể hiện thuật toán Brandt-Lin để cập nhật trọng
số của mạng nơ-ron. Sau đó trong nghiên cứu [3] một bộ điều khiển nơ-ron
dựa vào thuật toán Brandt-Lin được đề xuất và các thí nghiệm mô phỏng được
trình bày đã minh họa hiệu quả của bộ điều khiển.
Hình 3.3 Cấu trúc bộ điều khiển NNC
3.2.2 Mô hình tổng quát của bộ điều khiển NNC huấn luyện trực tuyến
Cấu trúc của bộ điều khiển NNC giới thiệu trong chương này được thể
hiện trên hình 3.4. Sử dụng hàm mục tiêu dưới đây như trong tài liệu [3], [8],
[9]:
k
T
kk
d
k
T
k
d
kk uuXXPXXE +−−=
2
1
)()(
2
1 , (3.33)
Trong đó Xkd và Xk lần lượt là các véc-tơ trạng thái mong muốn và trạng
p
j
i
iO
jO
pO
ijw
jpw
ek
ek-1
ek-p+1
Ii
Ij
49
thái thực tế; ukc là véc-tơ lệnh điều khiển và uk là véc-tơ điều khiển thực tế tác
động lên hệ thống; P là ma trận đối xứng dương phản ánh các trọng số của
các biến của đối tượng được điều khiển; Λ là ma trận đối xứng dương của
véc-tơ điều khiển.
Hình 3.4 Cấu trúc bộ điều khiển NNC. Véc-tơ tín hiệu vào gồm sai số ek và
các tín hiệu trễ của ek. Hàm mục tiêu Ek được xử lý bằng thuật toán Brandt-
Lin nhằm cập nhật các trọng số sao cho giá trị của Ek được cực tiểu [3].
Hình 3.5 Sơ đồ giải thuật phương pháp huấn luyện lan truyền ngược “tăng
cường” với n và bước học cố định.
NNC Cơ cấu tác động
Đối
tượng -
+
z-m
Tác động bên
ngoài
ek
Thuật toán
Brandt-Lin
Ek
Đặt n và ;
Khởi tạo Ek = 0
ite = 1
Hiệu chỉnh trọng số
(Thuật toán BP)
ite = ite + 1
ite n
Tính tín hiệu ra của nơ-
ron lớp ẩn và lớp ra
k = k + 1
ĐÚNG
Vòng lặp
mới
Chu trình
mới
Tính giá trị hàm mục
tiêu Ek+1
Tính trọng số và
tín hiệu điều khiển
cho chu trình thứ k
Quá trình lặp cập
nhật trọng số
Khởi tạo trọng số mạng
SAI
50
Quá trình huấn luyện mạng nơ-ron được thực hiện trong mỗi chu trình
điều khiển chỉ thị bởi đối số k với n là số lần huấn luyện trong một chu trình.
Thuật toán thích nghi (3.32) được áp dụng để điều chỉnh trọng số của các kết
nối trong mạng nơ-ron sao cho hàm mục tiêu Ek đạt được cực tiểu. Thông số
đầu vào của bộ điều khiển nơ-ron bao gồm sai số k
d
kk XXe −= và các tín hiệu
trễ của sai số. Nhiệm vụ của bộ điều khiển nơ-ron là tạo ra các tín hiệu điều
khiển phù hợp trong chu trình điều khiển tiếp theo sau khi đã “học” được đặc
tính của trạng thái mong muốn cũng như trạng thái thực tế của đối tượng được
điều khiển thông qua sai số ek.
3.3 Thiết kế hệ thống điều khiển nơ-ron cho AUV
3.3.1 Điều khiển riêng biệt các chuyển động của AUV
Harley và Marco trong nghiên cứu [26] đã giả thiết rằng một mô hình
động học đầy đủ các bậc tự do có thể được chia ra 3 hệ thống con độc lập, gọi
là điều khiển tốc độ theo chiều dọc, điều khiển hướng và điều khiển độ sâu
[25-29]. Các phương trình họ đưa ra đều thu được từ phương trình chính (3.2),
trong đó các thành phần không liên quan của các hệ thống con khác đều được
bỏ qua.
Điều khiển tốc độ theo chiều dọc: Hệ thống con này chủ yếu điều
khiển tốc độ theo chiều dọc của AUV là giá trị u, có phương trình vi phân
như sau [31]:
(m − Xu̇)u̇ = Xu|u|u|u| + Xthruster (3.34)
Trong đó, Xthruster là lực tạo bởi chân vịt của AUV. Lực này có thể
tính được từ giá trị vận tốc điều khiển uc:
Xthruster = -Xu|u|uC|uC| (3.35)
Điều khiển hướng: Là hệ thống con điều khiển hướng làm nhiệm vụ
điều khiển chuyển động xoay trên mặt phẳng ngang của AUV với các giá trị
v, r, ψ. Phương trình vi phân của hệ thống con này được thể hiện như (3.36)
[30], [31]:
51
[
m − Yv̇ mxG − Yṙ 0
mxG − Nv̇ Izz − Nṙ 0
0 0 1
] [
v̇
ṙ
ψ̇
] + [
−Yv muref − Yr 0
−Nv mxG − Nr 0
0 −1 0
] [
u
v
ψ
] = [
Yuuδruref
2
Nuuδruref
2
0
]δr (3.36)
Trong đó, uref là vận tốc mong muốn, δr là góc bẻ lái gắn trên thân
AUV.
Điều khiển độ sâu: Là hệ thống con điều khiển chuyển động của AUV
theo chiều đứng với các giá trị w, , và z. Phương trình vi phân hệ thống con
này được mô tả như sau (2.6):
[
𝑚 − 𝑍�̇� 𝑚𝑥𝐺 − 𝑍�̇� 0 0
𝑚𝑥𝐺 − 𝑀�̇� 𝐼𝑧𝑧 − 𝑀�̇� 0 0
0 0 1 0
0 0 0 1
] [
�̇�
�̇�
�̇�
�̇�
] +
[
−𝑍𝑤 𝑚𝑢𝑟𝑒𝑓 − 𝑍𝑞 0 0
−𝑀𝑤 𝑚𝑥𝐺𝑢𝑟𝑒𝑓 − 𝑀𝑞 𝑧𝐺𝑊 0
0 −1 0 0
−1 0 𝑢𝑟𝑒𝑓 0]
[
𝑤
𝑞
𝜃
𝑧
] =
[
𝑍𝑢𝑢𝛿𝑠𝑢𝑟𝑒𝑓
2
𝑀𝑢𝑢𝛿𝑠𝑢𝑟𝑒𝑓
2
0
0 ]
𝑠 (3.37)
Trong đó, δs là góc của cánh chỉnh độ sâu gắn ở phần đuôi AUV.
3.3.2 Thiết kế bộ điều khiển nơ-ron cho các hệ thống con
Trong phần này tác giả thiết kế 3 hệ thống điều khiển nơ-ron độc lập
cho 3 hệ thống con nói trên. Các biến vào và ra của mỗi BĐK nơ-ron phụ
thuộc vào phương trình vi phân mô tả ở (3.34), (3.36) và (3.37).
a. Hệ thống điều khiển hướng
Hình 3.6 Sơ đồ hệ thống điều khiển hướng AUV
Dựa theo tài liệu [3], ta có thể sử dụng hàm mục tiêu cho bộ điều khiển
dưới dạng:
52
])([
2
1 2
1
2
1
2
11 kRkk
d
kk rE ++−= , (3.38)
trong đó, Rk và kr lần lượt là góc bẻ lái và tốc độ đổi hướng phương tiện ngầm
tại thời điểm k , các hằng số
1 , 1 , và 1 tương ứng là hệ số tỷ lệ, hệ số phản
hồi góc bẻ lái và hệ số vi phân hướng đi.
Bộ điều khiển nơ-ron được chọn là một mạng nơ-ron nhiều lớp truyền
thẳng có một lớp ẩn. Mạng gồm bốn nơ-ron lớp vào, sáu nơ-ron lớp ẩn và một
nơ-ron lớp ra tương tự như đã mô tả ở [3]. Trong đó, ijw là ký hiệu hàm trọng
lượng của nơ-ron lớp ra, jpw là ký hiệu hàm trọng lượng nơ-ron lớp ẩn. Các
chỉ số p, i và j tương ứng là số lượng nơ-ron lớp vào, lớp ra và lớp ẩn. Các tín
hiệu vào của bộ điều khiển chỉ gồm sai số hướng đi của phương tiện ngầm và
các giá trị trễ của sai số này. Ký hiệu dk là hướng đi mong muốn và k là
hướng đi thực tế của phương tiện ngầm, nhiệm vụ của bộ điều khiển là tính
toán góc bẻ lái phù hợp để hàm mục tiêu (3.38) đạt cực tiểu bằng luật cập
nhật trọng số sau:
)(]0)([ 11111111 jjpjjpjp IsigOIsigOw −=+−= , (3.39)
)()()( 1111111111111 kRkkjkRkkjij reOreIsigw ++=++= . (3.40)
Chỉ số 1 biểu thị BĐK nơ-ron thứ nhất dùng cho điều khiển hướng,
trong đó
k
d
kke −=1 , và
)exp(1
1
)(
1
11
j
jj
I
IsigO
−+
== , (3.41)
+=
p
jpjpj OwI 1111 )( , (3.42)
ijijj ww 111 = . (3.43)
b. Hệ thống điều khiển độ sâu
Tương tự [9] ta chọn hàm mục tiêu cho BĐK độ sâu như sau:
])([
2
1 2
2
2
2
2
2
2
22 kkSkk
d
kk wzzE +++−= , (3.44)
trong đó
2 , 2 , 2 , và 2 là hằng số;
d
kz , kz là độ sâu mong muốn và độ sâu
53
thực;
Sk là góc bẻ của bánh lái độ sâu; kw là tốc độ theo phương đứng; và k
là góc chúi của phương tiện ngầm (được thêm vào nhằm hạn chế góc chúi
trong quá trình thay đổi độ sâu).
Hình 3.7 Sơ đồ hệ thống điều khiển độ sâu AUV
Luật cập nhật trọng số trong trường hợp này, áp dụng phương pháp
biến đổi trong [3], được tính như sau:
)(]0)([ 22222222 jjpjjpjp IsigOIsigOw −=+−= , (3.45)
)()( 22222222 kkSkkjij weIsigw +++= .
).( 2222222 kkSkkj weO +++= (3.46)
Chỉ số 2 biểu thị BĐK nơ-ron thứ hai dùng cho điều khiển độ sâu, trong
đó 𝑒2𝑘 = 𝑧𝑘
𝑑 − 𝑧𝑘.
c. Hệ thống điều khiển tốc độ
Hình 3.8 Sơ đồ hệ thống điều khiển tốc độ AUV
54
Để thực hiện nhiệm vụ điều khiển tốc độ, hàm mục tiêu của bộ điều
khiển NNC được chỉnh với các thành phần như sau:
𝐸3𝑘 =
1
2
[𝜌3(𝑢𝑘
𝑑 − 𝑢𝑘)
2 + 𝜆3𝑛𝑘
2 + 𝜎3�̇�𝑘
2 + 𝜅3𝑍𝑘
2], (3.47)
trong đó 3 , 3 , 3 , và 3 là các hằng số;
d
ku , ku là giá trị mong muốn và
giá trị thực tế của tốc độ phương tiện; 𝑛𝑘 là tốc độ vòng quay của máy; ku là
thành phần vi phân của tốc độ phương tiện; 𝑍𝑘 là tích phân của sai số tốc độ.
Luật cập nhật trọng số trong trường hợp này, áp dụng phương pháp
biến đổi trong [3], được tính như sau:
�̇�3𝑗𝑝 = 𝑂3𝑝[𝜑3𝑗𝑠𝑖𝑔(−𝐼3𝑗) + 𝛾3 ⋅ 0] = 𝑂3𝑝𝜑3𝑗𝑠𝑖𝑔(−𝐼3𝑗), (3.48)
�̇�3𝑖𝑗 = 𝛾3 ⋅ 𝑠𝑖𝑔(𝐼3𝑗) ⋅ (𝜌3𝑒3𝑘 + 𝜆3𝑛𝑘 + 𝜎3�̇�𝑘 + 𝜅3𝑍𝑘
= 𝛾3 ⋅ 𝑂3𝑗 ⋅ (𝜌3𝑒3𝑘 + 𝜆3𝑛𝑘 + 𝜎3�̇�𝑘 + 𝜅3𝑍𝑘). (3.49)
Chỉ số 3 biểu thị BĐK nơ-ron thứ ba dùng cho điều khiển tốc độ, trong
đó
k
d
kk uue −=3 , và
= dttetZ kk )()( 3 (3.50)
3.3.3 Điều khiển tổng hợp các chuyển động của AUV bằng phương pháp
tách rời (decoupled control)
Hình 3.9 Sơ đồ hệ thống dẫn đường và điều khiển AUV
55
Trong luận án này, ngoài việc điều khiển riêng từng chuyển động của
AUV (hướng, độ sâu và tốc độ) tác giả nghiên cứu điều khiển cả 3 yếu tố này
trong hoạt động của AUV một cách đồng thời. Sơ đồ hệ thống điều khiển
AUV về hướng đi, độ sâu, tốc độ và điều khiển dẫn đường, thực hiện các
nhiệm vụ làm việc dưới nước được thể hiện trên Hình 3.9.
3.4 Hệ thống điều khiển dẫn đường AUV và thực hiện các nhiệm vụ
dưới nước
3.4.1 Điều khiển AUV theo quỹ đạo đặt trước
Điều khiển AUV theo quỹ đạo đặt trước thường sử dụng trong trường
hợp AUV khảo sát đáy biển, tìm kiếm cứu nạn, dò tìm hư hỏng trên đường
ống ngầm Việc điều khiển này giả định tốc độ AUV không thay đổi, quỹ
đạo theo mặt phẳng ngang được định trước bằng các điểm chuyển hướng tạo
thành tuyến (route). Độ sâu có thể thay đổi theo lệnh hoặc cố định. Trong đề
tài này, tác giả sử dụng luật dẫn đường LOS (Line-of-Sight) để điều khiển
AUV theo tuyến.
Giả sử AUV có tọa độ trong hệ trục tọa độ {n} di chuyển trong
mặt phẳng nằm ngang và bám theo quỹ đạo mong muốn là một đoạn thẳng
được tạo thành từ hai điểm chuyển hướng và
như trong hình 3.10, vận tốc và hướng đi AUV sẽ được xác định như sau:
(3.51)
(3.52)
Để xác định sai số bám quỹ đạo của con tàu e(t), ta tiến hành chuyển
tọa độ của con tàu trong hệ trục tọa độ {n} sang hệ trục tọa độ tham
chiếu với gốc đặt tại waypoint và hệ trục tọa độ tham chiếu này
quay quanh trục zn của hệ trục tọa độ {n} một góc được xác định như sau:
(3.53)
(3.54)
( )x, y
Tn
k k kp x , y=
Tn
k 1 k 1 k 1p x , y+ + +=
( ) ( ) ( )
2 2
U t x t y t= +
( ) ( ) ( )( ) tan 2 , ,t a y t x t = −
( )x, y
Tn
k k kp x , y=
k
( )1 1tan 2 ,k k k k ka a y y x x+ += − −
( ) ( ) ( )
T n n
p k kt R a p t p = −
56
trong đó:
.
: là khoảng cách along-track.
e(t): là sai số bám quỹ đạo.
Theo tài liệu [31] thì giá trị ma trận được tính như sau:
(3.55)
Ta có thể xác định được sai số bám quỹ đạo của con tàu như sau:
(3.56)
Nhiệm vụ chính của hệ thống dẫn đường (Guidance) là tính toán các
trạng thái mong muốn giúp cho AUV bám theo quỹ đạo được định trước, điều
này cũng tương đương với việc hệ thống dẫn đường phải làm cho sai số bám
quỹ đạo e(t) tiến về 0 ( ). Để thực hiện được điều này thì hệ thống
dẫn đường LOS sử dụng nguyên lý Lookahead-based Steering để tính toán
hướng đi mong muốn và từ đó tính ra góc mũi tàu mong muốn cung
cấp cho hệ thống máy lái tự động. Hệ thống máy lái tự động sẽ sử dụng
như là tín hiệu điều khiển đầu vào nhằm điều khiển con tàu bám theo quỹ đạo
mong muốn và làm cho sai số bám quỹ đạo của con tàu giảm dần về 0.
Hình 3.10 Luật điều hướng LOS
T
(t) s(t),e(t) =
s(t)
T
p kR ( )
( )
cos sin
sin cos
T k k
p k
k k
a a
R a
a a
−
=
( ) ( ) ( )sin cosk k k ke t x t x a y t y a= − − + −
t
lime(t) 0
→
=
d d
d
57
Phương pháp điều khiển tàu bằng nguyên lý Lookahead-based Steering
sẽ làm cho sai số bám quỹ đạo e(t) tiến về 0 bằng cách hướng vector vận tốc
của AUV đến điểm chuyển hướng kế tiếp trên quỹ đạo mà con tàu cần phải
đi đến hay cũng chính là điểm chuyển hướng trên đoạn thẳng quỹ đạo mà
con tàu đang bám theo như hình 3.10.
Theo tài liệu [31] thì hướng đi mong muốn theo nguyên lý
Lookahead-based Steering sẽ được tách thành hai thành phần như sau:
(3.57)
Trong đó là góc tiếp tuyến của đoạn thẳng quỹ đạo mong muốn còn
là góc tương quan giữa vận tốc và quỹ đạo chuyển. Góc được thêm vào
nhằm đảm bảo rằng vector vận tốc U của con tàu luôn hướng về điểm
chuyển hướng .
(3.58)
𝜒𝑟(𝑒) = 𝑎𝑟𝑐𝑡𝑎𝑛 (−
𝑒(𝑡)
Δ
) (3.59)
Trong đó là khoảng cách từ hình chiếu của điểm trên đoạn
thẳng quỹ đạo mong muốn cho đến điểm chuyển hướng .
Từ (3.57), (3.58) và (3.59) thì ta có thể tính được hướng đi mong muốn
(desired heading) theo nguyên lý Lookahead-based Steering như sau:
(3.60)
Trong đó là góc trượt của con tàu. Tuy nhiên vì v U
nên ta có thể giả thiết như .
Khi đó (3.60) được viết lại thành:
(3.61)
Khoảng cách từ vị trí AUV đến điểm chuyển hướng được tính như sau:
(3.62)
n
k 1p +
d
( )d p r e = +
p
r r
d
n
k 1p +
p ka =
np (t)
n
k 1p +
d d p r = − = + −
v
arcsin
U
=
0
( )d p r e = +
( ) ( )
2 2 2
n n nx x t y y t R− + −
58
Đây là điều kiện để AUV chuyển sang điểm chuyển hướng tiếp theo.
Trong trường hợp không gian 3 chiều (3D), độ sâu điểm chuyển hướng được
tính đến:
[𝑥𝑛 − 𝑥(𝑡)]
2 + [𝑦𝑛 − 𝑦(𝑡)]
2 + [𝑧𝑛 − 𝑧(𝑡)]
2 ≤ 𝑅𝑛
2 (3.63)
Trong đề tài này, tác giả điều khiển AUV theo quỹ đạo vuông góc và
zig-zag. Các kết quả mô phỏng đượ