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
144 trang | 
Chia sẻ: tueminh09 | Lượt xem: 1059 | 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 luan_an_phuong_phap_thiet_ke_huong_doi_tuong_trong_dieu_khie.pdf