Kết hợp với các giả thuyết và tiến trình thực thi HA của hệ thống điều
khiển cho Q-UAV đã được đề xuất trong mô hình CIM, tính cạnh tranh trong
thời gian thực của 5 gói điều khiển chính cho Q-UAV được thể hiện trên Hình
3.11. Ở đây, Ee1, Ee2, Ee3 , Ei1, Ei2, Ei3, lần lượt là các sự kiện tương tác
bên ngoài và sự kiện phát sinh bên trong; q1, q2, q3, là các vị trí của HA; ec1,
ec2, , ecn: thể hiện các tiến trình của các phần tử liên tục trong gói phần liên
tục; T là chu kỳ lấy mẫu của gói IGCB. Cụ thể tiến trình thực thi trong thời
gian thực của 5 gói điều khiển chính được mô tả như sau:
- Nếu cuối tiến trình của gói phần rời rạc được xác định trước hoặc
ngay khi khoảng chu kỳ lấy mẫu (∆T) của gói IGCB thì mô hình liên tục
IGCB hiện thời sẽ chuyển sang mô hình IGCB mới tương ứng với tiến trình
này;
144 trang |
Chia sẻ: tueminh09 | Ngày: 26/01/2022 | Lượt xem: 615 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận án Phương pháp thiết kế hướng đối tượng trong điều khiển phương tiện bay không người lái, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
kênh RC. Vi mạch này có thể được cung cấp nguồn điện
thông qua thiết bị nhận RC hoặc một nguồn điện riêng rẽ. Nó có thể được cho
phép lập trình, biên dịch và nạp chương trình dựa trên ngôn ngữ C++ trên
Arduino IDE.
107
+ Tích hợp các thiết bị khác
Các hình 4.3, 4.4, 4.5, 4.6, 4.7 và 4.8 lần lượt mô tả thêm: tích hợp vi
mạch trên Q-UAV, thiết bị điều khiển bằng tay Futaba T8FG, bộ thu nhận tín
hiệu trạng thái của Q-UAV, màn hình hiển thị video thu được tại mặt đất và
hiển thị thông số, pin và mạch sạc điện Cellpro và động cơ T-motor kèm theo
các thông số kỹ thuật, tham gia vào thử nghiệm và đánh giá hệ thống điều
khiển Q-UAV.
Hình 4.3. Tích hợp vi mạch trên Q-UAV
Hình 4.4. Thiết bị điều khiển bằng tay Futaba T8FG
Hình 4.5. Bộ thu nhận tín hiệu trạng thái của Q-UAV
108
Hình 4.6. Màn hình hiển thị video thu được tại mặt đất và hiển thị thông số
Hình 4.7. Pin và mạch sạc điện Cellpro
Hình 4.8. Động cơ T-motor và các thông số kỹ thuật
4.2.2. Quy trình khởi động hệ thống thử nghiệm
Bước 1: Kiểm tra các bất thường của Q-UAV bằng mắt thường, tránh
tình trạng lỏng ốc, nứt cánh quạt, cong vênh trục động cơ, v.v...
109
Bước 2: Kiểm tra điện áp của pin là 25.2V đối với pin 6 cells. Đây là
một bước rất quan trọng tránh tình trạng hết pin ngay lập tức sẽ làm rơi Q-
UAV.
Bước 3: Kết nối bộ thu phát tín hiệu điều khiển để theo dõi các thông
số trạng thái của Q-UAV truyền về máy tính.
Bước 4: Chạy chương trình điều khiển Mission Planner trên máy tính.
Bước 5: Cấp nguồn cho mạch điều khiển trên Q-UAV.
Bước 6: Trên giao diện của phần mềm điều khiển MissonPlanner, chọn
cổng giao tiếp COM và Baudrate để tiến hành kết nối máy tính với bảng
mạch điều khiển (hình 4.9).
Hình 4.9. Giao diện phần mềm điều khiển và theo dõi trạng thái trên máy tính
Bước 7: Kiểm tra các thông số của Q-UAV trước lúc cất cánh thông
qua bộ thu phát tín hiệu RFD900; toàn bộ các thông số về trạng thái của Q-
UAV, bao gồm: góc nghiêng cánh, góc chúc, góc hướng (RPY), độ cao, gia
110
tốc tịnh tiến theo 3 trục oxyz và gia tốc góc sẽ được hiển thị trên màn hình
máy tính. Hình 4.10 minh họa màn hình kiểm tra tham số PID cho Q-UAV.
Bước 8: Tiến hành thực nghiệm theo từng kịch bản khác nhau với
những cài đặt cụ thể riêng.
Chỉnh hệ số PID cho chế
độ bay cân bằngHệ số PID cho góc Roll Hệ số PID cho góc Yaw
Hệ số PID cho góc Pitch
Hệ số PID cho chế độ
bay giữ tại 1 điểm
Hình 4.10. Ví dụ: Giao diện kiểm tra các tham số PID cho Q-UAV
4.3. Tiến hành thử nghiệm và đánh giá hệ thống điều khiển Q-UAV
4.3.1. Thử nghiệm và đánh giá các chế độ cất cánh, bay treo và hạ cánh tự
động
Hình 4.11 minh họa hình ảnh thử nghiệm khả năng cất cánh tự động và
bay treo cân bằng tại một điểm trong điều kiện ngoài trời và đánh giá khả
năng giữ cân bằng và ổn định tại một điểm bay treo đó, cũng như thử nghiệm
khả năng hạ cánh tự động nhằm đánh giá khả năng tự quay về điểm xuất phát
trong các trường hợp khẩn cấp, như: nguồn điện cung cấp sắp cạn kiệt và mất
111
tín hiệu điều khiển. Hình 4.12 mô tả giao diện cài đặt các chế bộ an toàn cho
Q-UAV.
Hình 4.11. Hình ảnh thử nghiệm và đánh giá các chế độ cất cánh, bay treo và
hạ cánh tự động
Hình 4.12. Giao diện cài đặt các chế độ an toàn cho Q-UAV
112
Q-UAV đã cất cánh tự động tới độ cao 20m và đã bay treo cân bằng
trong 9 phút 36 giây với các dao động của các góc RPY xung quanh điểm “0”
do ảnh hưởng của các yếu tố môi trường (hình 4.13).
Hình 4.13. Đồ thị theo dõi trạng thái Q-UAV trên máy tính
Tiếp theo, Q-UAV đã tự động hạ cánh theo tham số an toàn đã cài đặt
(hình 4.12) về điểm cất cánh với sai số 0,5m.
Với kết quả thử nghiệm trên đây cho thấy hệ thống điều khiển Q-UAV
đã được thiết kế có độ tin cậy cao trong các chế độ cất cánh, bay treo và hạ
cánh tự động.
4.3.2. Thử nghiệm và đánh giá bay tự động bám theo các quỹ đạo mong
muốn
Đây là kịch bản thử nghiệm khả năng bay tự động bám theo các quỹ
đạo mong muốn được đặt trước thông qua máy tính điều khiển, nhằm đánh
giá khả năng bám quỹ đạo cũng như khả năng tự cân bằng ổn định của Q-
UAV.
Để thiết lập các điểm đi, sau khi kết nối phần cứng điều khiển trên Q-
UAV với máy tính, ta sẽ chuyển sang Tab Flight Plan. Ở đây xuất hiện khung
giao diện bản đồ với bản đồ Google Map khi có kết nối Internet.
Trong kịch bản này, luận án đã thực hiện theo 4 quỹ đạo với 3 góc mở
lái và tốc độ bay khác nhau như sau:
113
Trường hợp 1: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 90 độ với vận tốc là 2,5 m/s.
Trường hợp 2: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 60 độ với vận tốc là 2,5 m/s.
Trường hợp 3: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 60 độ với vận tốc là 3,5 m/s.
Trường hợp 4: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 30 độ với vận tốc là 3,5 m/s.
Dưới đây là các kết quả thử nghiệm và đánh giá khả năng bám quỹ đạo
cũng như khả năng tự cân bằng ổn định của Q-UAV cho các trường hợp trên.
+ Trường hợp 1: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 90 độ với vận tốc là 2,5 m/s (hình 4.14). Trong đó, đường màu vàng
là quỹ đạo mong muốn cài đặt trên máy tính; đường màu xanh nước biển là
quỹ đạo thực tế mà Q-UAV đã di chuyển.
Hình 4.14. Màn hình theo dõi và cài đặt các điểm đường (WP): trường hợp 1
Sau khi tiến hành bay thực tế và thu được toàn bộ bảng ghi (dạng
logfile) các tham số điều khiển và thông số trạng thái của Q-UAV. Luận án
thực hiện lấy số liệu thực tế thu được từ thiết bị GPS và chuyển các giá trị
114
kinh độ và vĩ độ thu được từ GPS sang hệ trục tọa độ NED, nhằm dễ dàng
trực quan đánh giá sai số chi tiết trong trường hợp bay bám theo quỹ đạo đặt
sẵn trên phần mềm MatLab-Simulink (hình 4.15 và 4.16).
Hình 4.15. Quỹ đạo di chuyển thực tế thu được của Q-UAV: trường hợp 1
Hình 4.16. Quỹ đạo di chuyển mô phỏng của Q-UAV: trường hợp 1
Như trên các hình 4.14, 4.15 và 4.16: tại các điểm WP1 và WP2, Q-
UAV đã bay bám khá sát với góc quỹ đạo mong muốn; tại điểm WP3, Q-
UAV đã bay vọt qua điểm cài đặt ~ 2,0m. Tuy nhiên, tại mỗi điểm WP đã
được đặt một vòng tròn sai số có bán kính là 2,0m. Điều này hoàn toàn phù
115
hợp trong điều kiện thử nghiệm thực tế hiện nay. Trên quãng đường di chuyển
giữa các WP, Q-UAV đã bám sát với đường thẳng quỹ đạo đặt ra với sai số
lớn nhất là 0,8m.
Hình 4.17 cho thấy được khoảng cách và thời gian di chuyển giữa các
WP của Q-UAV, cũng như theo dõi được khoảng cách còn lại để đi đến các
điểm WP tiếp theo.
Hình 4.17. Khoảng cách và thời gian di chuyển giữa các WP của Q-UAV:
trường hợp 1
Hình 4.18 và 4.19 cho phép đánh giá được sự đáp ứng điều khiển đối
với các góc RPY tương ứng. Ở đây, góc điều khiển trạng thái thực tế hoàn
toàn bám được so với góc điều khiển trạng thái mong muốn.
Hình 4.18. Đồ thị theo dõi giữa góc chúc điều khiển mong muốn và thực tế:
trường hợp 1
116
Hình 4.19. Đồ thị theo dõi giữa góc nghiêng điều khiển mong muốn và thực
tế: trường hợp 1
+ Trường hợp 2: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 60 độ với vận tốc là 2,5 m/s (hình 4.20). Trong đó, đường màu vàng
là quỹ đạo mong muốn cài đặt trên máy tính; đường màu xanh nước biển là
quỹ đạo thực tế mà Q-UAV đã di chuyển.
Hình 4.20. Màn hình theo dõi và cài đặt các điểm đường (WP): trường hợp 2
Như trên hình 4.20, quỹ đạo di chuyển thực tế của Q-UAV từ điểm
Home đến điểm WP1 chưa được bám sát vào quỹ đạo cài đặt trên máy tính vì
117
do quá trình quá độ cất cánh bằng tay sau đó mới chuyển chế độ từ bằng tay
sang chế độ tự động và ngay sau đó Q-UAV di chuyển tự động tới điểm WP1.
Điều này hoàn toàn phù hợp so với quỹ đạo di chuyển mô phỏng của Q-UAV
(hình 4.21).
Hình 4.21. Quỹ đạo di chuyển mô phỏng của Q-UAV: trường hợp 2
Trên hình 4.22: tại điểm WP3, Q-UAV bay quanh điểm này là lâu nhất
và duy trì khoảng cách tới điểm tiếp theo ở 11m với lý do thời gian quá độ
trong điều khiển thiết bị bay và bộ điều khiển cần thời gian để đáp ứng điều
khiển tới điểm tiếp theo.
Hình 4.22. Khoảng cách và thời gian di chuyển giữa các WP của Q-UAV:
trường hợp 2
118
Hình 4.23 và 4.24 cho phép đánh giá được sự đáp ứng điều khiển đối
với các góc RPY tương ứng. Ở đây, góc điều khiển trạng thái thực tế hoàn
toàn bám được so với góc điều khiển trạng thái mong muốn.
Hình 4.23. Đồ thị theo dõi giữa góc chúc điều khiển mong muốn và thực tế:
trường hợp 2
Hình 4.24. Đồ thị theo dõi giữa góc nghiêng điều khiển mong muốn và thực
tế: trường hợp 2
+ Trường hợp 3: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 60 độ với vận tốc là 3,5 m/s (hình 4.25). Trong đó, đường màu vàng
là quỹ đạo mong muốn cài đặt trên máy tính; đường màu xanh nước biển là
quỹ đạo thực tế mà Q-UAV đã di chuyển.
119
Hình 4.25. Màn hình theo dõi và cài đặt các điểm đường (WP): trường hợp 3
Khi tăng tốc độ di chuyển lên 3.5 m/s, Q-UAV bám khá tốt vào quỹ
đạo được cài đặt như trên. Thời gian quá độ điều khiển tại mỗi điểm WP cài
đặt là nhỏ. Điều này là hoàn toàn phù hợp so với quỹ đạo di chuyển mô phỏng
của Q-UA trên hình 4.26.
Hình 4.26. Quỹ đạo di chuyển mô phỏng của Q-UAV: trường hợp 3
120
Trong trường hợp này, do tốc độ di chuyển của Q-UAV được gia tăng
lên 3,5 m/s nên tốc độ đáp ứng góc điều khiển trạng thái sẽ bị chậm hơn so
với góc điều khiển trạng thái mong muốn như trên hình 4.27 và 4.28.
Hình 4.27. Đồ thị theo dõi giữa góc chúc điều khiển mong muốn và thực tế:
trường hợp 3
Hình 4.28. Đồ thị theo dõi giữa góc nghiêng điều khiển mong muốn và thực
tế: trường hợp 3
+ Trường hợp 4: Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất tại mỗi
điểm là 30 độ với vận tốc là 3,5 m/s (hình 4.29). Trong đó, đường màu vàng
là quỹ đạo mong muốn cài đặt trên máy tính; đường màu xanh nước biển là
quỹ đạo thực tế mà Q-UAV đã di chuyển.
121
Hình 4.29. Màn hình theo dõi và cài đặt các điểm đường (WP): trường hợp 4
Như được mô tả trên hình 4.29 và 4.30: tại điểm WP3, với góc mở lái
hẹp (~30 độ) và tốc độ di chuyển là 3.5 m/s thì Q-UAV sẽ không bám hoàn
toàn được vào điểm WP3 như trong với trường hợp 1 và 2. Tuy nhiên, tại mỗi
một điểm WP cài đặt lại luôn có một bán kính sai số giúp cho bị bay dễ tiếp
cận được điểm WP tiếp theo. Trong trường hợp này, bán kính sai số tại mỗi
điểm WP cài đặt là 2,0m; Q-UAV vẫn hoàn toàn bám được vào điểm WP cài
đặt đó với sai số ~2,0m.
Hình 4.30. Quỹ đạo di chuyển mô phỏng của Q-UAV: trường hợp 4
122
Trên hình 4.31 và 4.32, tại một số thời điểm góc điều khiển chúc có thể
đạt tới 15 độ và góc điều khiển nghiêng đạt tới -15 độ. Điều này chính là do
các góc mở lái hẹp; từ đó dẫn đến Q-UAV phải nghiêng lớn hơn nhằm di
chuyển bám theo quỹ đạo đã được cài đặt.
Hình 4.31. Đồ thị theo dõi giữa góc chúc điều khiển mong muốn và thực tế:
trường hợp 4
Hình 4.32. Đồ thị theo dõi giữa góc nghiêng điều khiển mong muốn và thực
tế: trường hợp 4
Như vậy, qua kết quả thử nghiệm với các kịch bản đã được đặt ra, Q-
UAV đã thực hiện với các sai số nằm trong khoảng từ 0,5m đến 5,0 m tùy
theo điều kiện thời tiết, các thông số cấu hình tinh chỉnh cho Q-UAV và đặc
123
biệt là sai số của GPS. Bảng dữ liệu các thông số của quỹ đạo và trạng thái
của Q-UAV thu được trên thực tế cho 4 trường hợp theo kịch bản thử nghiệm
khả năng bay tự động bám theo các quỹ đạo trên đây được mô tả trong Phụ
lục 2.
Trong ứng dụng trên đây, phương thức điều khiển tích cấp ngược (IB)
kết hợp với bộ lọc Kalman mở rộng (EKF) và Automate lai (HA) đã được sử
dụng trong hệ thống điều khiển chính; đa bộ điều chỉnh PI cục bộ được áp
dụng cho các động cơ điện. Từ đó, ứng xử liên tục tức thời (IGCB) của toàn
bộ hệ thống được xây dựng dựa trên sơ đồ khối chức năng thực thi (hình 2.4)
nhằm nâng cao hiệu năng kiểm soát cao độ (z), vị trí theo mặt ngang (x, y) và
trạng thái (RPY) trong quá trình hoạt động theo máy trạng thái toàn cục của
Q-UAV (hình 3.7). Các kết quả thực hiện điều khiển và kiểm soát an toàn hệ
thống đã được cải thiện so với việc sử dụng đơn lẻ một trong các phương thức
điều khiển truyền thống [13] (các phương thức điều khiển truyền thống được
trình bày trong Mục 1.2 của Chương 1). Ngoài ra, các qui tắc tùy biến và tái
sử dụng các gói điều khiển chính, cổng, giao thức và máy trạng thái trong
PIM của hệ thống điều khiển Q-UAV (Bảng 3.1) và mẫu kết nối truyền đạt
giữa các gói điều khiển (hình 3.8) có thể được áp dụng trong phát triển ứng
dụng điều khiển cho các Q-UAV hoặc MUAV mới.
Kết luận chương
Trong chương này, luận án đã trình bày về thử nghiệm và đánh giá hệ
thống điều khiển Q-UAV đã được thiết kế bằng công nghệ hướng đối tượng,
bao gồm các điểm chính, như:
+ Mô tả tích hợp thiết bị và qui trình khởi động hệ thống thử nghiệm.
+ Đưa ra các kịch bản thử nghiệm.
+ Tiến hành thử nghiệm và đánh giá hệ thống: Thử nghiệm khả năng
cất cánh tự động và bay treo cân bằng tại một điểm trong điều kiện ngoài trời
và đánh giá khả năng giữ cân bằng và ổn định tại một điểm bay treo đó; Thử
124
nghiệm khả năng hạ cánh tự động nhằm đánh giá khả năng tự quay về điểm
xuất phát trong các trường hợp khẩn cấp, như: nguồn điện cung cấp sắp cạn
kiệt và mất tín hiệu điều khiển; Thử nghiệm khả năng bay tự động bám theo
các quỹ đạo mong muốn được đặt trước thông qua máy tính điều khiển, nhằm
đánh giá khả năng bám quỹ đạo cũng như khả năng tự cân bằng ổn định của
Q-UAV.
Với các kết quả thử nghiệm và đánh giá các đáp ứng điều khiển trên
đây có thể minh chứng cho tính khả thi về hiệu năng và tính năng của hệ
thống điều khiển Q-UAV đã được phân tích, thiết kế và thực thi bởi MDA kết
hợp với RealTime UML và ROPES.
125
KẾT LUẬN VÀ KIẾN NGHỊ
1. Kết luận
Luận án đã đề cập tới mô hình phân tích, thiết kế và thực thi hệ thống
điều khiển cho thiết bị bay chong chóng mang Q-UAV có chế độ cất cánh và
hạ cánh thẳng đứng (VTOL); mô hình này dựa trên việc cụ thể hóa công nghệ
hướng đối tượng trong thời gian thực. Nội dung của luận án được thể hiện
thông qua các điểm chính như sau:
+ Nghiên cứu tổng quan về UAV và các kỹ thuật mô hình hóa, mô
phỏng và thực thi điều khiển.
+ Dựa trên mô hình động lực học trong điều khiển Q-UAV kết hợp với
cụ thể hóa HA thông qua các giả thuyết thi hành hệ thống nhằm đưa ra cấu
trúc điều khiển cho Q-UAV tự hành bám theo quỹ đạo mong muốn.
+ Đưa ra mô hình phân tích, thiết kế và thực thi hướng đối tượng thông
qua MDA kết hợp với RealTime UML và ROPES cho hệ thống điều khiển Q-
UAV, bao gồm các mô hình: CIM, PIM và PSM cùng với các qui tắc theo vết
giữa các mô hình này theo các nền tảng công nghệ khác nhau có hỗ trợ hướng
đối tượng. Các mô hình thiết kế và thực thi đã được minh họa với sự hỗ trợ
của các phần mềm IBM Rational Rose RealTime, OpenModelica và MatLab-
Simulink cùng với nền công nghệ Arduino nhằm thực hiện nhanh chóng mô
hình triển khai cho Q-UAV.
+ Thử nghiệm, hiệu chỉnh và đánh giá chương trình điều khiển thông
qua các kịch bản cụ thể; kết quả thử nghiệm đã cho thấy mô hình điều khiển
Q-UAV bảo đảm được tính ổn định và tính năng điều khiển phù hợp với mô
hình phân tích và thiết kế.
Các điểm mới trong nghiên cứu bao gồm:
+ Đưa ra cấu trúc điều khiển cho Q-UAV dựa trên việc cụ thể hóa các
đặc trưng của hệ thống động lực lai (HDS) có ứng xử điều khiển được mô tả
bởi Automate lai (HA).
126
+ Đưa ra các mô hình phân tích, thiết kế và thực thi điều khiển hướng
đối tượng trong thời gian thực cho hệ thống điều khiển Q-UAV thông qua cụ
thể hóa MDA và các giả thuyết thực thi Automate lai (HA) được kết hợp với
RealTime UML và ROPES. Dựa theo các mô hình đã đề xuất này, hệ thống
điều khiển cho Q-UAV tự hành bám theo quỹ đạo mong muốn đã được triển
khai thành công.
+ Các qui tắc tùy biến và tái sử dụng các thành phần thiết kế của PIM
được đưa ra nhằm ứng dụng trong điều khiển Q-UAV hoặc MUAV dạng
chong chóng mang và cất cánh/hạ cánh thẳng đứng (VTOL) khác nhau.
Tuy nhiên, trong luận án này có một số tồn tại sau:
- Chưa đưa ra các hoạt động chi tiết của vòng lặp thứ hai trong vòng
đời phát triển hệ thống điều khiển của Q-UAV dựa theo qui trình MDA đã đề
xuất.
- Do giới hạn về mặt tài chính, ứng dụng Q-UAV mới sử dụng vi điều
khiển mô hình Arduino; nên hiệu năng tính toán điều khiển và phạm vi hoạt
động của hệ thống cũng bị hạn chế theo.
2. Kiến nghị
Trong thời gian sắp tới, NCS kết hợp với các đồng nghiệp sẽ phát triển
cách tiếp cận trên đây với các ngôn ngữ hình thức khác nhau (ví dụ: [37])
nhằm cải thiện việc mô hình hóa các thành phần vật lý của hệ thống và chi tiết
các thành phần của chu trình phát triển lặp tiếp theo. Đặc biệt là ứng dụng sẽ
được trang bị các cảm biến và vi xử lý công nghiệp nhằm cải thiện hiệu năng
và phạm vi hoạt động của toàn bộ hệ thống.
Cách tiếp cận này có thể được phát triển tiếp theo cho ứng dụng điều
khiển phối hợp nhóm các UAV tự hành theo đội hình.
127
TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Nguyễn Phú Hùng, Nguyễn Phú Khánh, Vũ Quốc Huy, Phạm Gia Điềm et al.
(2013) Nghiên cứu, thiết kế, chế tạo máy bay siêu nhỏ tự động bay theo quĩ đạo yêu
cầu. Báo cáo nghiệm thu cấp Nhà nước, Đề tài Khoa học và Công nghệ Tiềm năng,
Mã số KC03.TN03/11-15, Trường Đại học Bách khoa Hà Nội.
Tiếng Anh:
[2] Agner L. T. W., Soares I. W., Stadzisz P. C., Simão J. M. (2014) A Brazilian survey
on UML and model-driven practices for embedded software development. Journal
of Systems and Software, Elsevier, ISSN 0164-1212, Volume 86, Issue 4, pp. 997-
1005.
[3] Akhlaki K. B., Tuñón M. I. C., Terriza J. A. H., Morales L. E. M. (2007) A
methodological approach to the formal specification of real-time systems by
transformation of UML-RT design models. Science of Computer Programming,
Elsevier, ISSN 0167-6423, Volume 65, Issue 1, pp. 41-56.
[4] Alexis K., Nikolakopoulos G., Tzes A. (2014) On Trajectory Tracking Model
Predictive Control of an Unmanned Quadrotor Helicopter Subject to Aerodynamic
Disturbances. Asian Journal of Control, Wiley, Volume 16, Issue 1, pp. 209-224.
[5] ANSYS (2015) Simulation-Driven Product Development. Ansys-Fluent,
[6] Arduino (2013) Open-source electronics prototyping platform for hardware and
software.
[7] Austin R. (2010) Unmanned Aircraft Systems: UAV Design, Development and
Deployment. Wiley and Sons.
[8] Bader P., Blanes S., Ponsoda E. (2014) Structure preserving integrators for solving
(non-)linear quadratic optimal control problems with applications to describe the
flight of a quadrotor. Journal of Computational and Applied Mathematics, Elsevier,
ISSN 0377-0427, Volume 262, pp. 223-233.
[9] Balint A. (Eds.) (2011) Advances in Flight Control Systems. InTech.
[10] Béla L. , Lorinc M. (2011) Nonlinear Control of Vehicles and Robots. Springer.
[11] Bi Y., Duana H. (2013) Implementation of autonomous visual tracking and landing
for a low-cost quadrotor. Optik: International Journal for Light and Electron
Optics, Elsevier, ISSN 0030-4026, Volume 124, Issue 18, pp. 3296–3300.
128
[12] Booch G., Rumbaugh J., Jacobson I. (1999) The Unified Modeling Language User
Guide. Addison-Wesley.
[13] Bouabdallah S. (2007) Design and control of quadrotors with application to
autonomous flying. PhD Thesis, École Polytechnique Fédérale de Lausanne,
France.
[14] Bouchoucha M., Seghour S., Osmani H., Bouri M. (2011) Integral Backstepping
for Attitude Tracking of a Quadrotor System. Electronics and Electrical
Engineering, ISSN 1392 – 1215, Vol 116, No 10, pp. 75-80.
[15] Bui M. D. (2007) Real-Time Object Uniform Design Methodology with UML.
Springer.
[16] Carloni L. P. , Passerone R. , Pinto A. , Sangiovanni-Vincentelli A. L. (2006)
Languages and Tools for Hybrid Systems Design. now Publishers Inc.
[17] Carrillo L. R. G., López A. E. D., Lozano R., Pégard C. (2013) Quad Rotorcraft
Control: Vision-Based Hovering and Navigation. Springer.
[18] Cichella V., Kaminer I., Xargay E., Dobrokhodov V., Hovakimyan N., Aguiar A.
P., et al., "A Lyapunov-based approach for Time-Coordinated 3D Path-Following
of multiple quadrotors," 2012, pp. 1776-1781.
[19] Colorado J., Barrientos A., Martinez A., Lafaverges B., Valente P. (2010) Mini-
quadrotor attitude control based on Hybrid Backstepping & Frenet-Serret theory.
Robotics and Automation (ICRA), IEEE International Conference, ISSN 1050-
4729, pp. 1617-1622.
[20] DJI (2015) DJI: The future of posible.
[21] Douglass B. P. (2004) Real Time UML: Advances in The UML for Real-Time
Systems, Third Edition. Addison Wesley.
[22] Douglass B. P. (2014) Real-Time UML Workshop for Embedded Systems, 2nd
Edition. Elsevier.
[23] Drouot A., Richard E. , Boutayeb M. (2014) Hierarchical Backstepping Based
Control of A Gun Launched MAV in crosswinds: Theory and experiment. Control
Engineering Practice, Elsevier, ISSN 0967-0661, Volume 25, pp. 16-25.
[24] FAA (2009) Advanced Avionics Hanbook. U.S. Department of Transportation,
Federal Aviation Administration (FAA), Washington, DC 20402-9325, U.S.A.
[25] Fahlstrom P. G., Gleason T. J. (2012) Introduction to UAV Systems, 4th Edition.
Wiley & Sons.
129
[26] FlyCam (2015) Fly Cam UAV - Drone Headquarters.
[27] Fossen T. I. (2013) Mathematical Models for Control of Aircraft and Satellites, 3rd
Edition. Department of Engineering Cybernetics, NTNU, Norway.
[28] Fritzson P. (2011) Introduction to Modeling and Simulation of Technical and
Physical Systems with Modelica. Wiley & Sons.
[29] Gamma E., Helm R., Johnson R., Vlissides J. (1995) Design Patterns: Elements of
Reusable Object-Oriented Software. Addison-Wesley.
[30] Guillaume J. J. D. (2009) Fault-tolerant Flight Control and Guidance Systems:
Practical Methods for Small Unmanned Aerial Vehicles. Springer.
[31] Ha C., Zuo Z., Francis B Choi F. B., Lee D. (2014) Passivity-based adaptive
backstepping control of quadrotor-type UAVs. Robotics and Autonomous Systems,
Elsevier, ISSN 0921-8890, Volume 62, Issue 9, pp. 1305–1315.
[32] Henzinger T. A., Kopke P. W., Puri A., Varaiya P. (1998) What's Decidable about
Hybrid Automata? Journal of Computer and System Sciences, Elsevier, ISSN
0022-0000, Volume 57, Issue 1, pp. 94-124.
[33] Hien N. V, Soriano T (2001) Implementing Hybrid Automata for Developing
Industrial Control Systems. 8th IEEE-ETFA, vol. 2, pp. 129-137.
[34] Hien N. V. (2001) Une Méthode Industrielle de Conception de Commande par
Automate Hybride Développée en Objets vol. Thèse de Doctorat, Univertsité
Marseille III, France.
[35] Hien N. V. , Vinh H. T. , Soriano T. (2006) Using Model-Driven Architecture to
Develop Industrial Control Systems. Proc. of 4th IEEE-RIVF, pp. 75-80.
[36] IBM (2013) IBM Rational online documentation, Redbooks and Training kit.
https://www.ibm.com/developerworks/university/.
[37] INCOSE (2014). Systems Engineering Vision 2025. San Diego, C.A. 92111-2222,
U. S. A.
[38] Iriondo N., Estévez E., Orive D., Marco M. (2014) On the use of model-based
techniques for achieving multi-mode control architectures. Journal of
Mechatronics: The Science of Intelligent Machines, ISSN 0957-4158, Volume 24,
Issue 7, pp. 866-882.
[39] Jazar R. N. (2011) Advanced Dynamics: Rigid Body, Multibody, and Aerospace
Applications. Wiley & Sons.
130
[40] Lavagno L. , Martin G. , Selic B. (Eds.) (2003) UML for Real: Design of Embedded
Real-Time Systems. Kluwer Academic Publishers.
[41] Levine W. S. (Eds.) (2011) The Control Handbook: Control system-advanced
methods. CRC Press, Taylor & Francis Group.
[42] Lin H.J, Tsay T.S (2011) Modeling Identification and Simulation of Bank to Turn
Unmanned Aerial Vehicle. WSEAS Transactions on Systems, vol. 10, pp. 91-103.
[43] Liu C., Chen W. H., Andrews J. (2012) Tracking control of small-scale helicopters
using explicit nonlinear MPC augmented with disturbance observers. Control
Engineering Practice, Elsevier, ISSN 0967-0661, Volume 20, Issue 3, pp. 258-268.
[44] Liu Y., Qi N., Tang Z. (2012) Linear Quadratic Differential Game Strategies with
Two-pursuit Versus Single-evader. Chinese Journal of Aeronautics, Elesevier,
ISSN 1000-9361, Volume 25, Issue 6, pp. 896-905.
[45] Lombaerts T. (Eds.) (2012) Automatic Flight Control Systems – Latest
Developments. InTech.
[46] Maopeng R., Qing W., Delong H., Chaoyang D. (2014) Backstepping design of
missile guidance and control based on adaptive fuzzy sliding mode control. Chinese
Journal of Aeronautics, Elesevier, ISSN 1000-9361, Volume 27, Issue 3, pp. 634-
642.
[47] MathWorks (2014) MatLab-Simulink.
[48] Moallemi M., Wainer G. (2013) Modeling and simulation-driven development of
embedded real-time systems. Journal of Simulation Modelling Practice and Theory,
Elsevier, ISSN 1569-190X, Volume 38, pp. 115-131.
[49] Mohammadi B., Pironneau O. (1994) Analysis of the K-epsilon turbulence model.
Wiley.
[50] Mosterman P. J. (1997) Hybrid Dynamic Systems: a Bon Graph Modeling
Paradigm and Its Application in Diagnosis. PhD Thesis, Vanderbilt University,
USA.
[51] Murray M. et al. (1994) A Mathematical Introduction to Robotic Manipulation.
CRC Press.
[52] Museum Hiller Aviation (2004) History of helicopters. HILLER,
[53] Nelson R. (1998) Flight Stability and Automatic Control 2nd Edition. McGraw
Hill.
131
[54] Nonami K. , Kendoul F., Suzuki S. , Wang W. , Nakazawa D. (2010) Autonomous
Flying Robots - Unmanned Aerial Vehicles and Micro Aerial Vehicles. Springer.
[55] OMG (2010) Documents Associated With Unified Modeling Language (UML),
V2.4. OMG,
[56] OMG (2011) UML Profile for MARTE: Modeling and Analysis of Real-Time
Embedded Systems. OMG Formal Version.
[57] OMG (2014) The Architecture of Choice for a Changing World: Success Stories.
[58] OMG (2014) Model Driven Architecture (MDA) Guide rev. 2.0. OMG Document
ormsc/2014-06-01,
[59] OpenModelica (2014) OpenModelica Software, Version 1.9.2
https://www.openmodelica.org/.
[60] Pounds P. E. I., Bersak D. R., M. Dollar A. M. (2012) Stability of small-scale UAV
helicopters and quadrotors with added payload mass under PID control.
Autonomous Robots, Springer, ISSN 0929-5593, Volume 33, Issue 1-2, pp. 129-
142.
[61] Regula G., Lantos B. (2009) Backstepping based control design with state
estimation and path tracking to an indoor quadrotor helicopter. Periodica
Polytechnica Electrical Engineering, ISSN 1587-3781, Vol. 53, No. 3-4, pp. 151-
161.
[62] Salih A. L., M. Moghavvemi M. , Mohamed H. A. F., Gaeid K. S. (2010) Flight
PID controller design for a UAV quadrotor. Academic Journals, ISSN 1992-2248,
Vol. 5(23),
[63] Selic B. (1998) Using UML for modeling complex real-time systems. Lecture Notes
in Computer Science, Springer, ISSN 0302-9743, Volume 1474., pp. 250-260.
[64] Selic B., Gerard S. (2014) Modeling and Analysis of Real-Time and Embedded
Systems with UML and MARTE. Elsevier.
[65] Soriano T. , Sghaier A. , Hien N. V. (2004) Mechatronics Design from an Object-
Oriented Point of View. WSEAS Transactions on Communications, ISSN 1109-
2742, Volume 3, Issue 1, pp. 282-287.
[66] Taylor D. A. (1992) Object-oriented Information Systems: Planning and
Implementation. Wiley & Sons.
[67] Templeton T., Shim D. H., Geyer C., Sastry S. S. (2007) Autonomous Vision-based
Landing and Terrain Mapping Using an MPC-controlled Unmanned Rotorcraft.
132
Robotics and Automation, IEEE International Conference, ISSN 1050-4729, pp.
1349 - 1356.
[68] Tewari A. (2011) Advanced Control of Aircraft, Spacecraft and Rockets. Wiley &
Sons.
[69] Todd Templeton, David Hyunchul Shim, Christopher Geyer, S. Shankar Sastry,
"Autonomous Vision-based Landing and Terrain Mapping Using an MPC-
controlled Unmanned Rotorcraft," presented at the IEEE International Conference
on Robotics and Automation, Roma, Italy, 2007.
[70] Traoré S. (1994) Une approche orientée objet dans la simulation des systèmes
dynamiques hybrides. Thèse de doctorat, Université de Rennes, France.
[71] Turki S. (2008) Ingénierie système guidée par les modèles: Application du
standard IEEE 15288, de l’architecture MDA et du langage SysML à la conception
des systèmes mécatroniques. Thèse de Doctorat, Université du Sud Toulon Var,
France.
[72] Valavanis K. P., Vachtsevanos G. J., Antsaklis P. J. (2007) Technology and
autonomous mechanisms in the Mediterranean: from ancient Greece to Byzantium.
Proceedings of the European Control Conference (ECC2007), Kos, pp. 263-270.
[73] Valavanis K. P., Vachtsevanos G. J. (Eds.) (2015) Handbook of Unmanned Aerial
Vehicles. Springer.
[74] Valavanis K. P. (Eds.) (2007) Advances in Unmanned Aerial Vehicles - State of the
Art and the Road to Autonomy. Springer.
[75] Verries J. (2010) Approche pour la Conception de Systèmes Aéronautiques
Innovants en Vue d'Optimiser L'Architecture Application au Système Portes
Passagers. Thèse de Doctorat, Université de Toulouse, France.
[76] Versteeg H. K. , Malalasekera W. (2007) An Introduction to Computational Fluid
Dynamics: The Finite Volume Method, 2nd Edition. Pearson Education
[77] Xun Gong, Zhicheng Hou, Changjun Zhao, Yue Bai, Yantao Tian, "Backstepping
Sliding Mode Attitude Control of Quad rotor with Adaptive Algorithm," presented
at the 2nd International Conference on Materials, Mechatronics and Automation,
2012.
[78] Yamaha (2015) Yamaha: Precision agriculture and agricultural spraying.
[79] Yu Y. , Sun F. , Wang Y. (2012) Controller Design of Quadrotor Aerial Robot.
Elsevier, Physics Procedia 33, pp. 1254-1260.
133
[80] Zhao W., Go T. H. (2014) Quadcopter formation flight control combining MPC
and robust feedback linearization. Journal of the Franklin Institute, Elsevier, ISSN
0016-0032, Volume 351, Issue 3, pp. 1335-1355.
[81] Zhao Y., Sheng Y., Liu X. (2014) Sliding mode control based guidance law with
impact angle constraint. Chinese Journal of Aeronautics, Elesevier, ISSN 1000-
9361, Volume 27, Issue 1, pp. 145-152.
[82] Zheng E. H., Xiong J. J., Luo J. L. (2014) Second order sliding mode control for a
quadrotor UAV. ISA Transactions®, Elsevier, ISSN 0019-0578, Volume 53, Issue
4, pp. 1350–1356.
134
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN
1. Diem P. G., Hien N. V., Khanh, N. P. (2013) An Object-Oriented
Analysis and Design Model to Implement Controllers for Quadrotor
UAVs by Specializing MDA’s Features with Hybrid Automata and Real-
Time UML, WSEAS Transactions on Systems (Indexed in Scopus,
SCImago, E-ISSN 2224-2678, Issue 10,
Volume 12, (October 2013), pp. 483-496.
2. Diem P. G., Khanh N. P., Hien N. V., Hung N. P. (2013) A Real-Time
Object Collaboration to Develop Controllers of Small-Scale
Autonomous Unmanned Aerial Vehicles, RCMME, ISBN: 978-983-
2408-14-7, Kuala Lumpur, Malaysia, (2013), pp. 146-156.
3. Diem P. G., Anh P. H., Khanh N. P., Hung N. P., Hien N. V. (2014) A
Hybrid Control Model to Develop the Trajectory-Tracking Controller
for a Quadrotor UAV, the 5th ICMAE, Madrid, Spain, (July 18-19,
2014), Proc. of ICMAE2014, ISBN-13: 978-3-03835-223-5; Journal of
Advanced Materials Research (Indexed in Scopus, SCImago,
ISSN: print 1022-6680 ISSN, cd 1022-6680
ISSN, web 1662-8985,Volume 1016, (2014), pp. 678-685.
4. Diem P. G., Khanh N. P., Hien N. V. (2014) An Object-Oriented
Design Model to Implement Controllers of Miniature Quadrotor UAVs,
Journal of Science and Technology, VAST - Vietnam Academy Of
Science And Technology, ISSN: 0866-708X, (2014), pp. 150-159.
5. Anh P. H., Diem P. G., Tuan D. T., Hien N. V. (2014) A Hybrid
Automata-Based Model to Develop Controllers for Quadrotor UAVs,
Proc. of RCMME2014, ISBN: 978-604-911-942-2, Hanoi, Vietnam,
(2014), pp. 397-401.
135
6. Tung P. X., Diem P. G., Huy V. Q., Hien N. V. (2014) A Capsule-
Based Model to Implement Controllers for Quadrotor UAVs, Proc. of
International Conference on Engineering Mechanics and Automation
(ICEMA 3), ISBN: 978-604-913-367-1, Hanoi, Vietnam, (October 15-
16, 2014), pp. 179-186.
7. Phạm Gia Điềm, Nguyễn Phú Khánh, Ngô Văn Hiền, Nguyễn Phú
Hùng (2014), Mô hình thiết kế điều khiển phi tuyến cho Quadrotor UAV
siêu nhỏ, Hội nghị Cơ học Thủy khí Toàn quốc, Đồng hới, Quảng Bình,
Việt Nam, 2013, Tuyển tập, ISSN: 1859-4182, (2014), Tr. 134-141.
8. K.M Tuấn, N. Đông, N.H. Nam, P.G. Điềm, N.V. Hiền (2014) Qui
trình hướng đối tượng trong mô hình hóa và mô phỏng các hệ thống cơ
điện tử điều khiển thông qua tích hợp SysML/Modelica/MDA với
Automate lai, Tạp chí Cơ khí Việt Nam, ISSN: 0866-7056, (2014), Tr.
150-157.
9. Phạm Hoàng Anh, Phạm Gia Điềm, Đỗ Trọng Tuấn, Ngô Văn Hiền,
Nguyễn Phú Hùng (2015) Mô hình thiết kế hệ thống điều khiển cho
Quadrotor UAV dựa trên nền công nghệ Arduino. Hội nghị Khoa học
Cơ học Thuỷ khí Toàn quốc năm 2014, tổ chức từ 24 đến 26 tháng 7
năm 2014, tại Hoàn Cầu Resort, Tp. Phan Rang, tỉnh Ninh Thuận, Việt
Nam, Tuyển tập, ISSN: 1859-4182, (2015), Tr. 1-9.
136
PHỤ LỤC
Phụ lục 1. Các mô hình, hàm chức năng cơ bản trong mô phỏng và thực
thi điều khiển cho ứng dụng Q-AUV
Chương trình mô phỏng Q-UAV bằng MatLab được kết hợp với
Simulink và lập trình giao diện (GUI) được chia thành ba khối như trên hình
PL1.1.
Hình PL1.1. Sơ đồ khối tổng quát mô phỏng Q-UAV với MatLab-Simulink
Các hình PL1.2, hình PL1.3 và Bảng PL1.1 lần lượt mô tả các phần tử
mô phỏng chính của khối điều khiển, khối động lực học và các thông số động
lực học cơ bản của ứng dụng điều khiển Q-UAV.
Hình PL1.2. Các thành phần mô phỏng trong khối điều khiển Q-UAV với
MatLab-Simulink
137
Hình PL1.3. Các thành phần mô phỏng trong khối động lực học cho điều
khiển Q-UAV
Bảng PL1.1. Các thông số động lực học cơ bản của ứng dụng Q-UAV
Tên thông số Giá trị
Khối lượng (m) 4.450 kg
Mô men quán tính đối với trục x (Ixx) 51.34e-3 kg.m2
Mô men quán tính đối với trục y (Iyy) 51.34e-3 kg.m2
Mô men quán tính đối với trục z (Izz) 11.18e-2 kg.m2
Góc tới nghiêng (θo) 0.25 rad
Mô men quán tính rô to của động cơ (Jr) 36.24e-5 kg.m2
Khoảng cách ngang và dọc từ tâm cánh quạt
tới trọng tâm (l)
0.515 m
Một số hàm chức năng minh họa mô phỏng HIL được xử lý trong MatLab
cho ứng dụng Q-UAV:
+ Các hàm mặc định được gọi khi khởi tạo chương trình
138
function varargout = multi_sim(varargin)
function multi_sim_OpeningFcn(hObject, eventdata, handles, varargin)
+ Hàm đặt thuộc tính cho đối tượng
set(handles.start_button, 'Enable', 'on');
set(handles.stop_button, 'Enable', 'off');
+ Khai báo biến toàn cục
global v f v_r index accelerometer gyroscope plot_length update_rate;
+ Nạp mô hình hệ thống
load_system('multi_model');
set_param('multi_model/ch1_input', 'Value', '1000');
set_param('multi_model/ch2_input', 'Value', '1000');
set_param('multi_model/ch3_input', 'Value', '1000');
set_param('multi_model/ch4_input', 'Value', '1000');
set_param('multi_model/ch5_input', 'Value', '1000');
set_param('multi_model/ch6_input', 'Value', '1000');
axes(handles.model_plot);
axis('off');
fid = fopen('model.stl', 'r');
handles.timer = timer('ExecutionMode', 'fixedSpacing', 'Period', round(1000 / update_rate) / 1000,
'TimerFcn', {@update_data, handles});
function stop_button_Callback(hObject, eventdata, handles)
function ch5_pwm_Callback(hObject, eventdata, handles)
function ch6_center_Callback(hObject, eventdata, handles)
Chương trình minh họa được nạp trên vi xử lý điều khiển cho ứng dụng Q-
UAV:
Phần mềm bao gồm mô đun điều khiển chính và giao diện người sử
dụng được lập trình dựa trên IDE mã nguồn mở của Arduino và Microsoft
Visual 2010 C#. Dưới đây là một phần ví dụ minh họa mã chương trình chính
của Automate lai (HA) cho Q-UAV bởi hai tệp “HA_Q_UAV.h” và
“HA_Q_UAV.cpp”. Hình PL1.4 minh họa kiểm tra mã chương trình chính
của tất cả các mô đun được biên dịch để nạp vào vi xử lý MCU-STM32-
Cortex M4 trên Arduino IDE. Trong đó, chương trình chính có tùy biến và tái
sử dụng một số mô đun sẵn có trong thư viện của Arduino IDE, như:
, , ,
, , , ,
, , , ,
, ...
139
/*********************************************************************
Login : User
Configuration : DefaultConfig
Model Element : Main HA algorithm for the Q‐UAV, with EEPROM‐backed storage
File Path : DefaultConfig\HA_Q_UAV.h
*********************************************************************/
#ifndef HA_Q_UAV_H
#define HA_Q_UAV_H
#include
#include
//## link itsState
class State;
//## package Default
//## class HA_Q_UAV
class HA_Q_UAV {
public :
HA_Q_UAV();
~HA_Q_UAV();
//## operation request()
void request();
//// Additional operations ////
OMIterator getItsState() const;
void addItsState(State* p_State);
void removeItsState(State* p_State);
void clearItsState();
protected :
void cleanUpRelations();
//// Relations and components ////
OMCollection itsState; //## link itsState
//// Framework operations ////
public :
void _addItsState(State* p_State);
void _removeItsState(State* p_State);
void _clearItsState();
};
#endif
/*********************************************************************
END of HA_Q_UAV.h
*********************************************************************/
/********************************************************************
Login : User
Configuration : DefaultConfig
Model Element : HA_Q_UAV
File Path : DefaultConfig\HA_Q_UAV.cpp
*********************************************************************/
#include "HA_Q_UAV.h"
//## link itsState
#include "State.h"
//## package Default
//## class HA_Q_UAV
HA_Q_UAV::HA_Q_UAV() {
}
HA_Q_UAV::~HA_Q_UAV() {
cleanUpRelations();
}
void HA_Q_UAV::request() {
//#[ operation request()
//#]
}
OMIterator HA_Q_UAV::getItsState() const {
OMIterator iter(itsState);
return iter;
}
void HA_Q_UAV::addItsState(State* p_State) {
if(p_State != NULL)
{
p_State->_setItsHA_Q_UAV(this);
}
_addItsState(p_State);
}
void HA_Q_UAV::removeItsState(State* p_State) {
if(p_State != NULL)
{
140
p_State->__setItsHA_Q_UAV(NULL);
}
_removeItsState(p_State);
}
void HA_Q_UAV::clearItsState() {
OMIterator iter(itsState);
while (*iter){
(*iter)->_clearItsHA_Q_UAV();
iter++;
}
_clearItsState();
}
void HA_Q_UAV::cleanUpRelations() {
{
OMIterator iter(itsState);
while (*iter){
HA_Q_UAV* p_HA_Q_UAV = (*iter)->getItsHA_Q_UAV();
if(p_HA_Q_UAV != NULL)
{
(*iter)->__setItsHA_Q_UAV(NULL);
}
iter++;
}
itsState.removeAll();
}
}
void HA_Q_UAV::_addItsState(State* p_State) {
itsState.add(p_State);
}
void HA_Q_UAV::_removeItsState(State* p_State) {
itsState.remove(p_State);
}
void HA_Q_UAV::_clearItsState() {
itsState.removeAll();
}
/*********************************************************************
END of HA_Q_UAV.cpp
*********************************************************************/
Hình PL1.4. Kiểm tra mã chương trình chính của tất cả các mô đun được biên
dịch trước khi nạp vào vi xử lý MCU-STM32-Cortex M4
141
Phụ lục 2. Dữ liệu các thông số quỹ đạo và trạng thái của Q-UAV theo
các kịch bản thử nghiệm
Các Bảng PL1, PL2, PL3 và PL4 lần lượt mô tả dữ liệu các thông số
của quỹ đạo và trạng thái của Q-UAV thu được trên thực tế cho 4 trường hợp
theo kịch bản thử nghiệm khả năng bay tự động bám theo các quỹ đạo mong
muốn đặt trước.
Bảng PL2.1. Trường hợp 1- Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất
tại mỗi điểm là 90 độ với vận tốc là 2,5 m/s
Time
(ms)
Latitude Longitude Altitude
(m)
Error
Trajectory
Roll
(rad)
Pitch
(rad)
Yaw
(rad)
2.3671800e+05 2.1006370e+01 1.0584313e+02 2.0010000e+01 1.5213621e+01 -2.9671950e-02 2.2968713e-02 2.1739205e-02
2.3740500e+05 2.1006367e+01 1.0584313e+02 2.0000000e+01 1.5068075e+01 -1.1591826e-02 4.7924290e-03 3.2390989e-02
2.3789400e+05 2.1006365e+01 1.0584313e+02 2.0010000e+01 1.4974574e+01 -1.8342872e-04 -1.8079877e-02 3.2682836e-02
2.3856600e+05 2.1006363e+01 1.0584313e+02 2.0020000e+01 1.4943460e+01 6.0451742e-02 -7.3653243e-02 2.9652911e-01
2.3889300e+05 2.1006363e+01 1.0584313e+02 2.0030000e+01 1.4943673e+01 2.9481465e-02 -3.1512659e-02 4.7436687e-01
2.3956000e+05 2.1006364e+01 1.0584313e+02 2.0040000e+01 1.4850014e+01 1.8481784e-02 3.0010257e-02 8.7430108e-01
2.4025100e+05 2.1006367e+01 1.0584313e+02 2.0020000e+01 1.4683537e+01 4.6815131e-02 1.5818711e-02 1.2948327e+00
2.4076800e+05 2.1006369e+01 1.0584313e+02 2.0040000e+01 1.4278169e+01 7.4806526e-02 3.9965101e-02 1.5300236e+00
2.4127000e+05 2.1006371e+01 1.0584313e+02 2.0060000e+01 1.3644227e+01 6.9219381e-02 -1.1287396e-02 1.5533226e+00
2.4194100e+05 2.1006372e+01 1.0584313e+02 2.0100000e+01 1.3103956e+01 8.5745357e-02 -4.1815754e-02 1.5223298e+00
2.4261300e+05 2.1006371e+01 1.0584313e+02 2.0080000e+01 1.2916694e+01 3.9520692e-02 -6.1822195e-02 1.4622834e+00
2.4293900e+05 2.1006370e+01 1.0584314e+02 2.0030000e+01 1.2677586e+01 5.6046482e-02 -2.7763125e-02 1.4601727e+00
2.4362800e+05 2.1006368e+01 1.0584314e+02 2.0010000e+01 1.2448932e+01 4.2612154e-02 -2.5957424e-02 1.4585043e+00
2.4411800e+05 2.1006367e+01 1.0584315e+02 2.0040000e+01 1.2137134e+01 4.3786731e-02 6.5492988e-02 1.4783641e+00
2.4476600e+05 2.1006366e+01 1.0584315e+02 2.0080000e+01 1.2085179e+01 1.4395665e-02 5.0298914e-02 1.4524754e+00
2.4513100e+05 2.1006365e+01 1.0584315e+02 2.0040000e+01 1.2022840e+01 1.4439395e-02 1.2942056e-02 1.4413280e+00
2.4575100e+05 2.1006363e+01 1.0584316e+02 2.0000000e+01 1.1867107e+01 -2.6745997e-02 2.5763987e-03 1.4314312e+00
2.4611000e+05 2.1006361e+01 1.0584316e+02 2.0000000e+01 1.1763391e+01 -3.4737948e-02 6.1564948e-03 1.4328871e+00
2.4736000e+05 2.1006362e+01 1.0584316e+02 2.0010000e+01 1.1617889e+01 5.5489670e-03 1.0846124e-02 1.4723568e+00
2.4785200e+05 2.1006363e+01 1.0584316e+02 2.0020000e+01 1.1524270e+01 3.2995097e-02 -2.6346689e-02 1.4543859e+00
2.4848800e+05 2.1006365e+01 1.0584316e+02 2.0030000e+01 1.1440843e+01 2.6296455e-02 3.8886070e-04 1.4743736e+00
2.4899000e+05 2.1006366e+01 1.0584316e+02 2.0070000e+01 1.1347272e+01 2.1007748e-02 9.2521321e-04 1.4888135e+00
2.4950700e+05 2.1006366e+01 1.0584316e+02 2.0100000e+01 1.1170563e+01 1.4581425e-02 -5.1637986e-03 1.5014433e+00
2.4997100e+05 2.1006366e+01 1.0584317e+02 2.0100000e+01 1.1087560e+01 7.0212842e-03 -1.0506039e-02 1.5008492e+00
2.5064800e+05 2.1006366e+01 1.0584317e+02 2.0090000e+01 1.0962968e+01 6.3799345e-03 -2.7024833e-02 1.4892942e+00
2.5130100e+05 2.1006367e+01 1.0584317e+02 2.0040000e+01 1.0890148e+01 1.7803458e-02 -2.1932816e-02 1.4827819e+00
2.5179800e+05 2.1006367e+01 1.0584317e+02 2.0030000e+01 1.0744532e+01 4.2402893e-03 -1.9293899e-02 1.4833158e+00
2.5279800e+05 2.1006367e+01 1.0584317e+02 2.0020000e+01 1.0515767e+01 -1.5268864e-02 -3.6511157e-02 1.4773740e+00
2.5329000e+05 2.1006367e+01 1.0584317e+02 2.0060000e+01 1.0255933e+01 -6.9125877e-03 -4.2861067e-02 1.4728551e+00
2.5393800e+05 2.1006367e+01 1.0584317e+02 2.0080000e+01 1.0100073e+01 -3.0452741e-02 -5.8276694e-02 1.4786282e+00
2.5477800e+05 2.1006368e+01 1.0584317e+02 2.0070000e+01 9.8609856e+00 -2.4936771e-02 -8.7782994e-02 1.4911931e+00
142
Bảng PL2.2. Trường hợp 2 - Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất
tại mỗi điểm là 60 độ với vận tốc là 2,5 m/s
Time
(ms)
Latitude Longitude Altitude
(m)
Error
Trajectory
Roll
(rad)
Pitch
(rad)
Yaw
(rad)
3.8698600e+05 2.1006390e+01 1.0584310e+02 2.7150000e+01 1.3389874e+01 9.7297214e-02 3.2043967e-02 9.1593206e-02
3.8747500e+05 2.1006397e+01 1.0584310e+02 2.7400000e+01 1.3132028e+01 1.6740854e-01 3.0424995e-03 2.7583358e-01
3.8812400e+05 2.1006402e+01 1.0584310e+02 2.7880000e+01 1.3028301e+01 6.3089795e-02 -2.4169747e-02 6.1173975e-01
3.8860800e+05 2.1006408e+01 1.0584311e+02 2.8100000e+01 1.2479694e+01 2.8580284e-02 -4.0914495e-02 8.9975661e-01
3.8933400e+05 2.1006414e+01 1.0584312e+02 2.8190000e+01 1.1768573e+01 5.5262130e-02 -1.0900140e-02 1.0404824e+00
3.8994500e+05 2.1006420e+01 1.0584312e+02 2.8220000e+01 1.1092738e+01 4.0863421e-02 -3.2199539e-02 9.7676575e-01
3.9059500e+05 2.1006425e+01 1.0584313e+02 2.8220000e+01 1.0437703e+01 4.0762212e-02 -3.6661319e-02 9.3370515e-01
3.9108400e+05 2.1006431e+01 1.0584314e+02 2.8160000e+01 9.7579596e+00 9.0565652e-02 -3.1107310e-02 9.4356406e-01
3.9196500e+05 2.1006439e+01 1.0584315e+02 2.8130000e+01 8.9781205e+00 7.7030815e-02 -2.2560075e-02 9.4455820e-01
3.9268800e+05 2.1006445e+01 1.0584316e+02 2.8140000e+01 8.5190846e+00 6.9165148e-02 -7.9276962e-03 9.3603373e-01
3.9350600e+05 2.1006452e+01 1.0584318e+02 2.8210000e+01 1.4385977e+01 -4.3797936e-02 2.5646600e-01 6.9776005e-01
3.9433400e+05 2.1006457e+01 1.0584319e+02 2.8230000e+01 1.4828323e+01 -1.2506370e-01 4.8339617e-02 2.7600715e-01
3.9524100e+05 2.1006457e+01 1.0584319e+02 2.8290000e+01 1.4788967e+01 7.5162174e-03 -1.0761227e-01 -3.4581915e-01
3.9616400e+05 2.1006459e+01 1.0584318e+02 2.8410000e+01 1.4151802e+01 1.0144272e-01 3.2493176e-03 -7.8022730e-01
3.9660800e+05 2.1006465e+01 1.0584317e+02 2.8450000e+01 1.3143426e+01 7.7788427e-02 3.0417539e-02 -7.6811337e-01
3.9744300e+05 2.1006473e+01 1.0584316e+02 2.8460000e+01 1.2168618e+01 8.3069950e-02 -1.1605002e-02 -6.6533202e-01
3.9842600e+05 2.1006483e+01 1.0584315e+02 2.8480000e+01 1.1167825e+01 9.1849901e-02 5.7757802e-02 -7.3214650e-01
3.9939300e+05 2.1006495e+01 1.0584314e+02 2.8470000e+01 1.0092819e+01 6.1985910e-02 1.3078956e-01 -7.3265111e-01
3.9998800e+05 2.1006505e+01 1.0584313e+02 2.8450000e+01 9.4417869e+00 3.1034257e-02 5.1078252e-02 -7.3916888e-01
4.0106300e+05 2.1006524e+01 1.0584312e+02 2.8370000e+01 8.5914959e+00 4.7795046e-02 4.9942538e-02 -6.8182248e-01
143
Bảng PL2.3. Trường hợp 3 - Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất
tại mỗi điểm là 60 độ với vận tốc là 3,5 m/s
Time
(ms) Latitude Longitude Altitude
Error
Trajectory (m)
Roll
(rad)
Pitch
(rad)
Yaw
(rad)
8.8937400e+05 2.1006362e+01 1.0584314e+02 1.0130000e+01 5.9082193e+00 -7.1306271e-03 4.4077467e-02 2.2739077e-02
8.8984500e+05 2.1006363e+01 1.0584314e+02 1.0270000e+01 5.6689583e+00 -9.8559245e-02 2.4492677e-02 -2.1913463e-01
8.9021300e+05 2.1006364e+01 1.0584314e+02 1.0500000e+01 5.4500739e+00 -1.1757275e-01 -4.5581762e-02 -4.5123446e-01
8.9087100e+05 2.1006364e+01 1.0584313e+02 1.0770000e+01 1.0773302e+01 1.3689587e-02 1.3689224e-02 -7.5263482e-01
8.9149300e+05 2.1006365e+01 1.0584312e+02 1.1070000e+01 1.1357458e+01 1.1597564e-01 2.9583788e-02 -4.9596813e-01
8.9198800e+05 2.1006366e+01 1.0584312e+02 1.1430000e+01 1.1535110e+01 8.3755068e-02 -7.7545598e-02 -1.6857411e-01
8.9248500e+05 2.1006368e+01 1.0584312e+02 1.1740000e+01 1.1423385e+01 3.8993124e-02 -9.1382809e-02 2.8491029e-01
8.9315100e+05 2.1006374e+01 1.0584312e+02 1.2080000e+01 1.0841630e+01 -3.5533002e-03 -7.5505480e-02 8.5144806e-01
8.9364100e+05 2.1006382e+01 1.0584313e+02 1.2390000e+01 9.9535438e+00 -4.9388584e-02 -4.5284957e-02 8.5826027e-01
8.9430600e+05 2.1006390e+01 1.0584314e+02 1.3070000e+01 9.0491381e+00 -6.4756878e-02 -6.7155801e-02 6.3188463e-01
8.9479600e+05 2.1006399e+01 1.0584314e+02 1.3360000e+01 8.0422555e+00 -2.1231221e-02 -1.1016943e-01 5.6177056e-01
8.9550300e+05 2.1006409e+01 1.0584315e+02 1.3630000e+01 7.0224249e+00 2.2126442e-02 -9.6008889e-02 6.1010987e-01
8.9599100e+05 2.1006421e+01 1.0584316e+02 1.3880000e+01 5.9409683e+00 6.8622306e-03 -8.3605155e-02 6.2731218e-01
8.9648300e+05 2.1006430e+01 1.0584317e+02 1.4120000e+01 5.3375720e+00 -4.9890198e-02 2.3743648e-02 4.6756664e-01
8.8937400e+05 2.1006362e+01 1.0584314e+02 1.0130000e+01 5.9082193e+00 -7.1306271e-03 4.4077467e-02 2.2739077e-02
144
Bảng PL2.4. Trường hợp 4 - Bay theo quỹ đạo 4 điểm với góc mở lái lớn nhất
tại mỗi điểm là 30 độ với vận tốc là 3,5 m/s
Time Latitude Longitude Altitude Error Trajectory Roll Pitch Yaw
1.1814290e+06 2.1006369e+01 1.0584314e+02 1.0210000e+01 2.4204145e+00 8.4147369e-03 -8.1135415e-02 7.3727588e-03
1.1825960e+06 2.1006370e+01 1.0584314e+02 1.0440000e+01 2.0684150e+00 -7.0824988e-02 -2.6345355e-02 -5.2596211e-01
1.1830880e+06 2.1006369e+01 1.0584314e+02 1.0610000e+01 1.8582568e+00 -8.0209643e-02 -3.9423764e-02 -8.2158184e-01
1.1837070e+06 2.1006366e+01 1.0584313e+02 1.0790000e+01 1.4413362e+00 2.3532839e-01 8.4919259e-02 -1.0587517e+00
1.1842330e+06 2.1006365e+01 1.0584312e+02 1.1020000e+01 8.7714849e+00 1.2818059e-01 1.3573709e-01 -1.1032330e+00
1.1848980e+06 2.1006369e+01 1.0584312e+02 1.1280000e+01 8.6338126e+00 1.0188278e-01 2.5564633e-02 -9.0613884e-01
1.1852330e+06 2.1006373e+01 1.0584312e+02 1.1540000e+01 8.3594764e+00 6.7237675e-02 5.6717820e-03 -7.3574823e-01
1.1858060e+06 2.1006382e+01 1.0584313e+02 1.1800000e+01 7.6540489e+00 4.4380788e-02 1.0390303e-02 -4.0573406e-01
1.1868810e+06 2.1006390e+01 1.0584313e+02 1.2100000e+01 6.8641559e+00 1.3295867e-02 -4.4527758e-02 3.9583600e-01
1.1879010e+06 2.1006412e+01 1.0584315e+02 1.2370000e+01 4.6867903e+00 -1.6026497e-02 -9.9515490e-02 5.2215868e-01
1.1894150e+06 2.1006440e+01 1.0584316e+02 1.2640000e+01 5.9095706e+00 -7.3907889e-02 -8.2582355e-02 -3.3438277e-01
1.1917180e+06 2.1006489e+01 1.0584315e+02 1.2930000e+01 4.8652208e+00 2.4811685e-02 1.5039711e-03 -4.9404266e-01
1.1922880e+06 2.1006502e+01 1.0584314e+02 1.3200000e+01 4.4512406e+00 2.7672680e-02 -2.9451910e-02 -4.8791069e-01
1.1928530e+06 2.1006513e+01 1.0584313e+02 1.3410000e+01 4.2108860e+00 -7.1599321e-03 1.4085494e-01 -6.4456201e-01
1.1934130e+06 2.1006522e+01 1.0584313e+02 1.3520000e+01 4.0550498e+00 -3.4699224e-02 6.7507923e-02 -8.9697605e-01
Các file đính kèm theo tài liệu này:
- luan_an_phuong_phap_thiet_ke_huong_doi_tuong_trong_dieu_khie.pdf