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

144 391 1
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT iv DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ viii MỞ ĐẦU 14 CHƯƠNG TỔNG QUAN VỀ PHƯƠNG TIỆN BAY KHÔNG NGƯỜI LÁI VÀ CÁC KỸ THUẬT ĐIỀU KHIỂN 19 1.1 Sơ lược trình phát triển ứng dụng phương tiện bay không người lái 19 1.2 Các phương pháp truyền thống phát triển hệ thống điều khiển UAV 25 1.3 Phương pháp lai công nghệ hướng đối tượng mô hình hóa hệ thống điều khiển 28 1.3.1 Hệ thống động lực lai Automate lai 28 1.3.2 Sử dụng công nghệ hướng đối tượng 31 1.3.3 Kiến trúc hướng theo mô hình 33 1.4 Lựa chọn ứng dụng 37 Kết luận chương 40 CHƯƠNG MÔ HÌNH ĐỘNG LỰC HỌC VÀ CẤU TRÚC HỆ THỐNG ĐIỀU KHIỂN CỦA Q-UAV VỚI AUTOMATE LAI 42 2.1 Mô hình động lực học điều khiển Q-UAV 42 2.1.1 Mô hình động lực học tổng quát điều khiển UAV 42 2.1.2 Mô hình động lực học điều khiển Q-UAV 44 2.2 Cấu trúc hệ thống điều khiển Q-UAV 49 2.2.1 Kiến trúc điều khiển Q-UAV tự hành 49 i 2.2.2 Sơ đồ khối chức thực thi hệ thống điều khiển cho Q-UAV 50 2.2.3 Mô hình hệ thống điều khiển phi tuyến lai cho Q-UAV 52 2.3 Mô hình mô hệ thống điều khiển cho Q-UAV 54 2.3.1 Mô nhân 55 2.3.2 Mô phi nhân 56 2.3.3 Sử dụng ngôn ngữ mô hệ thống 57 2.3.4 Mô mô hình phân tích hệ thống 58 Kết luận chương 69 CHƯƠNG MÔ HÌNH PHÂN TÍCH, THIẾT KẾ VÀ THỰC THI CỦA HỆ THỐNG ĐIỀU KHIỂN CHO Q-UAV BẰNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG 71 3.1 Mô hình hóa quy trình phát triển tái lặp trực quan cho hệ thống điều khiển nhúng thời gian thực 71 3.1.1 Mô hình hóa trực quan 71 3.1.2 Quy trình phát triển tái lặp trực quan cho hệ thống điều khiển nhúng thời gian thực 74 3.2 Qui trình MDA tổng quát phát triển hệ thống điều khiển cho QUAV 77 3.2.1 Lựa chọn MDA RealTime UML 77 3.2.2 Qui trình MDA thực thi cho hệ thống điều khiển Q-UAV 78 3.3 Cụ thể hóa qui trình MDA thực thi thời gian thực cho hệ thống điều khiển Q-UAV 80 3.3.1 CIM hệ thống điều khiển Q-UAV 80 3.3.2 PIM hệ thống điều khiển Q-UAV 86 3.3.3 PSM hệ thống điều khiển Q-UAV 95 Kết luận chương 103 ii CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG ĐIỀU KHIỂN Q-UAV 104 4.1 Các tình thử nghiệm đánh giá kết 104 4.2 Tích hợp thiết bị quy trình khởi động hệ thống thử nghiệm 104 4.2.1 Tích hợp thiết bị thử nghiệm 104 4.2.2 Quy trình khởi động hệ thống thử nghiệm 108 4.3 Tiến hành thử nghiệm đánh giá hệ thống điều khiển Q-UAV 110 4.3.1 Thử nghiệm đánh giá chế độ cất cánh, bay treo hạ cánh tự động 110 4.3.2 Thử nghiệm đánh giá bay tự động bám theo quỹ đạo mong muốn 112 Kết luận chương 123 KẾT LUẬN VÀ KIẾN NGHỊ 125 Kết luận 125 Kiến nghị 126 TÀI LIỆU THAM KHẢO 127 DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 134 PHỤ LỤC 136 Phụ lục Các mô hình, hàm chức mô thực thi điều khiển cho ứng dụng Q-AUV 136 Phụ lục Dữ liệu thông số quỹ đạo trạng thái Q-UAV theo kịch thử nghiệm 141 iii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu Viết đầy đủ (tiếng Anh) Ý nghĩa viết tắt BS Backstepping Phương thức điều khiển cấp ngược CIM Computation Independent Model Mô hình độc lập với thao tác tính toán CFD Computational Fluid Động lực học tính toán dòng Dynamics DAE Differential Algebraic Equation Phương trình đại số vi phân DoF Degree of Freedom Bậc tự EKF Extended Kalman Filter Bộ lọc Kalman mở rộng FB Function Block Khối chức IEC GPS Global Positioning Hệ thống định vị toàn cầu Systems GUI Graphical User Interface Giao diện người dung đồ họa HA Hybrid Automata Automate lai HDS Hybrid Dynamic System Hệ thống động lực lai HIL Hardware-In-the-Loop Mô phần cứng vật lý IB Integral Backstepping IDE Phương thức điều khiển tích phân cấp ngược Integrated Development Environment Môi trường phát triển tích hợp IEC International Electrotechnical Commission Ủy ban kỹ thuật điện quốc tế IGCB Instantaneous Global Continuous Behavior Ứng xử liên tục toàn cục tức thời INCOSE International Council on Systems Engineering IMU Inertial Measurement Unit Thiết bị đo quán tính iv Hội đồng quốc tế công nghệ hệ thống INS Inertial Navigation Systems Hệ thống dẫn đường quán tính LOS Line-Of-Sight Giải thuật bám đường LOS LQ Linear Quadratic Phương thức điều khiển toàn phương tuyến tính MARTE Modeling and Analysis of Real Time and Embedded systems Mô hình hóa phân tích hệ thống nhúng thời gian thực MDA Model-Driven Architecture Kiến trúc hướng theo mô hình MPC Model Predictive Control Điều khiển dự đoán mô hình MUAV Micro Unmanned Aerial Vehicle Máy bay siêu nhỏ không người lái MVC Model-View-Controller pattern Mẫu mô hình-khung nhìn-điều NED North-East-Down Hệ tọa độ gắn với trái đất ODE Ordinary Differential Equation Phương trình vi phân thường OO Object-Oriented Hướng đối tượng Proportional – Integral – Bộ điều chỉnh khuếch đại tỷ lệ- Derivative regulator tích phân-vi phân Platform Independent Mô hình độc lập với công nghệ PID PIM PLC PSM Q-UAV RealTime UML khiển Model Programmable Logic Bộ điều khiển logic lập trình Controller Platform Specific Model Quadrotor Unmanned Mô hình gắn với công nghệ cụ thể Aerial Vehicle Thiết bị bay không người lái dạng cánh quạt Real Time Unified Modeling Language Ngôn ngữ mô hình hóa hợp thời gian thực v RPY Roll-Pitch-Yaw ROPES Rapid Object-Oriented Process for Embedded Systems SMC Sliding Mode Control Điều khiển trượt UML Unified Modeling Language Ngôn ngữ mô hình hoá hợp VTOL WP Các góc Nghiêng-Chúc-Hướng Qui trình hướng đối tượng cho hệ thống nhúng Vertical Take-Off and Cất cánh hạ cánh thẳng đứng Landing Điểm đường (điểm lộ trình) Way-Point vi DANH MỤC CÁC BẢNG Trang Bảng 1.1 Các thông số vật lý ứng dụng Q-UAV 39 Bảng 2.1 Các tham số chuyển động phương tiện bay 43 Bảng 2.2 Các thành phần lực mô men tác động lên Q-UAV 45 Bảng 2.3 Liên kết HA với IB PI cho hệ thống điều khiển Q-UAV 53 Bảng 3.1 Nguyên tắc tùy biến tái sử dụng gói điều khiển 94 Bảng PL1.1 Các thông số động lực học ứng dụng Q-UAV 137 Bảng PL2.1 Trường hợp 1- Bay theo quỹ đạo điểm với góc mở lái lớn điểm 90 độ với vận tốc 2,5 m/s 141 Bảng PL2.2 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 60 độ với vận tốc 2,5 m/s 142 Bảng PL2.3 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 60 độ với vận tốc 3,5 m/s 143 Bảng PL2.4 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 30 độ với vận tốc 3,5 m/s vii 144 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Trang Hình 1.1 Hình ảnh ghi lại ứng dụng “chim bồ câu” bay vào năm 425 BC (a) mẫu máy bay Leonardo Da Vinci vào năm 1483 (b) 19 Hình 1.2 Hệ thống UAV đầu tiên: Aerial Torpedo (a) Kettering Bug (b) 20 Hình 1.3 UAV thập niên 1960s: Ryan Firebee (a) Gyrodyne DASH (b) 21 Hình 1.4 UAV thập niên 1970s: MBLE Epervier (a) Westland Wisp (b) 21 Hình 1.5 UAV thập niên 1980s: "Canadair CL-89" (a), "IAI Scout" (b), "Tadiran Mastiff" (c) "Pioneer" (d) 22 Hình 1.6 UAV thập niên 1990s: "Yamaha R50" phục vụ nông nghiệp 22 Hình 1.7 UAV thập niên 2000s: "Predator B" (a) "Reaper" (b) 23 Hình 1.8 FlyCam UAV “Align M690L” (a) DJI “Phantom Pro” (b) sử dụng quay phim truyền hình 24 Hình 1.9 Bộ giới hạn tín hiệu 30 Hình 1.10 Automate lai mô hình hóa ứng xử giới hạn tín hiệu 30 Hình 1.11 Sự phân loại mô hình MDA 34 Hình 1.12 Ví dụ phát triển hướng theo mô hình 34 Hình 1.13 Ví dụ CIM 35 Hình 1.14 Ví dụ PIM dựa theo hình 1.12 35 Hình 1.15 Ví dụ PSM dựa theo hình 1.13 với công nghệ J2EE 36 Hình 1.16 Mô tả phương hướng di chuyển Q-UAV 38 Hình 1.17 Mô hình thiết kế tổng quan hình học Q-UAV 39 Hình 1.18 Ví dụ phân bố áp suất (a) phân bố vận tốc cánh quạt viii (b) 39 Hình 2.1 Các tham số chuyển động Q-UAV 44 Hình 2.2 Cấu trúc kết nối điều khiển vị trí, độ cao RPY 48 Hình 2.3 Sơ đồ khối điều khiển, định vị dẫn đường Q-UAV 49 Hình 2.4 Sơ đồ khối chức thực thi hệ thống điều khiển cho Q-UAV 51 Hình 2.5 Ví dụ sơ đồ chức thực thi mở rộng 52 Hình 2.6 Sơ đồ khối mô hình HIL cho Q-UAV 60 Hình 2.7 Giao diện theo dõi thông số điều khiển Q-UAV phần mềm Matlab-Simulink 61 Hình 2.8 Đồ thị đáp ứng góc điều khiển nghiêng 61 Hình 2.9 Đồ thị đáp ứng góc điều khiển chúc 61 Hình 2.10 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xy - có GPS 62 Hình 2.11 Đánh giá sai số quỹ đạo theo hệ trục toạ độ yz - có GPS 63 Hình 2.12 Đánh giá sai số quỹ đạo theo hệ trục toạ độ xz - có GPS 63 Hình 2.13 Đánh giá sai số quỹ đạo theo hệ trục toạ độ xyz - có GPS 64 Hình 2.14 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xy - có INS 64 Hình 2.15 Đánh giá sai số quĩ đạo theo hệ trục toạ độ yz - có INS 65 Hình 2.16 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xz - có INS 65 Hình 2.17 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xyz - có INS 66 Hình 2.18 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xy - có kết hợp GPS/INS EKF 66 ix Hình 2.19 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xz - có kết hợp GPS/INS EKF 67 Hình 2.20 Đánh giá sai số quĩ đạo theo hệ trục toạ độ yz - có kết hợp GPS/INS EKF 67 Hình 2.21 Đánh giá sai số quĩ đạo theo hệ trục toạ độ xyz - có kết hợp GPS/INS EKF 68 Hình 3.1 Qui trình phát triển tái lặp ROPES 75 Hình 3.2 Tổng quan quy trình MDA thời gian thực cho hệ thống điều khiển Q-UAV 79 Hình 3.3 Sơ đồ lớp UML thể chức Q-UAV 81 Hình 3.4 Mô hình trường hợp sử dụng Q-UAV 82 Hình 3.5 Kịch điều khiển bám theo quỹ đạo mong muốn 83 Hình 3.6 Máy trạng thái cục trường hợp sử dụng “Bám quỹ đạo” 83 Hình 3.7 Máy trạng thái toàn cục Q-UAV 84 Hình 3.8 Mẫu kết nối truyền đạt gói điều khiển QUAV 88 Hình 3.9 Máy trạng thái gói phần rời rạc 88 Hình 3.10 Máy trạng thái gói IGCB 89 Hình 3.11 Sơ đồ tiến trình thời gian thực gói điều khiển nhằm thực thi HA cho Q-UAV 91 Hình 3.12 Cấu trúc tĩnh gói điều khiển 92 Hình 3.13 Tương tác gói điều khiển cho chu kỳ lấy mẫu 93 Hình 3.14 Chuyển đổi mô hình PIM-PSM MDA 96 Hình 3.15 Chuyển đổi mô hình PIM-PSM cho hệ thống điều khiển Q-UAV 97 x [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 634642 [47] MathWorks (2014) MatLab-Simulink http://www.mathworks.com/ [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, http://www.hiller.org/ [53] Nelson R (1998) Flight Stability and Automatic Control 2nd Edition McGraw Hill 130 [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, http://www.omg.org/spec/UML/2.4/ [56] OMG (2011) UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems OMG Formal Version http://www.omg.org/spec/MARTE/ [57] OMG (2014) The Architecture of Choice for a Changing World: Success Stories http://www.omg.org/mda/products_success.htm [58] OMG (2014) Model Driven Architecture (MDA) Guide rev 2.0 OMG Document ormsc/2014-06-01, http://www.omg.org/mda/ [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 129142 [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 151161 [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 ObjectOriented Point of View WSEAS Transactions on Communications, ISSN 11092742, 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 131 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 MPCcontrolled 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 http://www.yamahaprecisionagriculture.com/ [79] Yu Y , Sun F , Wang Y (2012) Controller Design of Quadrotor Aerial Robot Elsevier, Physics Procedia 33, pp 1254-1260 132 [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 10009361, 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 133 DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 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 RealTime UML, WSEAS Transactions on Systems (Indexed in Scopus, SCImago, http://www.scopus.com/), E-ISSN 2224-2678, Issue 10, Volume 12, (October 2013), pp 483-496 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-9832408-14-7, Kuala Lumpur, Malaysia, (2013), pp 146-156 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, http://www.scopus.com/), ISSN: print 1022-6680 ISSN, cd 1022-6680 ISSN, web 1662-8985,Volume 1016, (2014), pp 678-685 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 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 134 Tung P X., Diem P G., Huy V Q., Hien N V (2014) A CapsuleBased 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 1516, 2014), pp 179-186 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 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 mô hình hóa mô hệ thống đ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 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 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 năm 2014, 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 135 PHỤ LỤC Phụ lục Các mô hình, hàm chức mô thực thi điều khiển cho ứng dụng Q-AUV Chương trình mô Q-UAV MatLab kết hợp với Simulink lập trình giao diện (GUI) chia thành ba khối hình PL1.1 Hình PL1.1 Sơ đồ khối tổng quát mô Q-UAV với MatLab-Simulink Các hình PL1.2, hình PL1.3 Bảng PL1.1 mô tả phần tử mô khối điều khiển, khối động lực học thông số động lực học ứng dụng điều khiển Q-UAV Hình PL1.2 Các thành phần mô khối điều khiển Q-UAV với MatLab-Simulink 136 Hình PL1.3 Các thành phần mô 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 ứ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 trục x (Ixx) 51.34e-3 kg.m2 Mô men quán tính trục y (Iyy) 51.34e-3 kg.m2 Mô men quán tính 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 động (Jr) Khoảng cách ngang dọc từ tâm cánh quạt tới trọng tâm (l) 36.24e-5 kg.m2 0.515 m Một số hàm chức minh họa mô HIL xử lý MatLab cho ứng dụng Q-UAV: + Các hàm mặc định gọi khởi tạo chương trình 137 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 nạp vi xử lý điều khiển cho ứng dụng QUAV: Phần mềm bao gồm mô đun điều khiển giao diện người sử dụng lập trình dựa IDE mã nguồn mở Arduino Microsoft Visual 2010 C# Dưới phần ví dụ minh họa mã chương trình Automate lai (HA) cho Q-UAV hai tệp “HA_Q_UAV.h” “HA_Q_UAV.cpp” Hình PL1.4 minh họa kiểm tra mã chương trình tất mô đun biên dịch để nạp vào vi xử lý MCU-STM32Cortex M4 Arduino IDE Trong đó, chương trình có tùy biến tái sử dụng số mô đun sẵn có thư viện Arduino IDE, như: , , , , , , , , , , , , 138 /*********************************************************************    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) { 139 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 tất mô đun biên dịch trước nạp vào vi xử lý MCU-STM32-Cortex M4 140 Phụ lục Dữ liệu thông số quỹ đạo trạng thái Q-UAV theo kịch thử nghiệm Các Bảng PL1, PL2, PL3 PL4 mô tả liệu thông số quỹ đạo trạng thái Q-UAV thu thực tế cho trường hợp theo kịch thử nghiệm khả bay tự động bám theo quỹ đạo mong muốn đặt trước Bảng PL2.1 Trường hợp 1- Bay theo quỹ đạo điểm với góc mở lái lớn điểm 90 độ với vận tốc 2,5 m/s Time Latitude Longitude (ms) Altitude Error Roll Pitch Yaw (m) Trajectory (rad) (rad) (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 141 Bảng PL2.2 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 60 độ với vận tốc 2,5 m/s Time Latitude Longitude Altitude (m) Trajectory (rad) (rad) (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 (ms) Error Roll Pitch Yaw 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 142 Bảng PL2.3 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 60 độ với vận tốc 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 143 Bảng PL2.4 Trường hợp - Bay theo quỹ đạo điểm với góc mở lái lớn điểm 30 độ với vận tốc 3,5 m/s Error Time Latitude Longitude Altitude 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 1.1830880e+06 2.1006369e+01 1.0584314e+02 1.0610000e+01 2.0684150e+00 -7.0824988e-02 -2.6345355e-02 -5.2596211e-01 1.8582568e+00 -8.0209643e-02 -3.9423764e-02 1.1837070e+06 2.1006366e+01 1.0584313e+02 1.0790000e+01 -8.2158184e-01 1.4413362e+00 2.3532839e-01 8.4919259e-02 -1.0587517e+00 1.1842330e+06 2.1006365e+01 1.0584312e+02 1.1848980e+06 2.1006369e+01 1.0584312e+02 1.1020000e+01 8.7714849e+00 1.2818059e-01 1.3573709e-01 -1.1032330e+00 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.1858060e+06 2.1006382e+01 1.0584313e+02 1.1540000e+01 8.3594764e+00 6.7237675e-02 5.6717820e-03 -7.3574823e-01 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 1.1879010e+06 2.1006412e+01 1.0584315e+02 1.2370000e+01 6.8641559e+00 1.3295867e-02 -4.4527758e-02 3.9583600e-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 1.1917180e+06 2.1006489e+01 1.0584315e+02 1.2930000e+01 5.9095706e+00 -7.3907889e-02 -8.2582355e-02 -3.3438277e-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 1.1928530e+06 2.1006513e+01 1.0584313e+02 1.3410000e+01 4.4512406e+00 2.7672680e-02 -2.9451910e-02 -4.8791069e-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 Trajectory 144

Ngày đăng: 20/10/2016, 15:53