Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
3,34 MB
Nội dung
H BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM C PHẠM QUỐC PHƢƠNG U TE NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH QUADROTOR TRONG GIÁM SÁT VÀ CỨU HỘ LUẬN VĂN THẠC SĨ H CHUYÊN NGÀNH: THIẾT BỊ, MẠNG VÀ NHÀ MÁY ĐIỆN MÃ SỐ : 60.52.50 TP HỒ CHÍ MINH, tháng 06 năm 2012 H BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM C PHẠM QUỐC PHƢƠNG TE NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH QUADROTOR TRONG GIÁM SÁT VÀ CỨU HỘ U LUẬN VĂN THẠC SĨ H CHUYÊN NGÀNH: THIẾT BỊ, MẠNG VÀ NHÀ MÁY ĐIỆN MÃ SỐ : 60.52.50 CÁN BỘ HƢỚNG DẪN KHOA HỌC: TS VÕ HỒNG DUY TP HỒ CHÍ MINH, tháng 06 năm 2012 CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HCM Cán hƣớng dẫn khoa học : TS.VÕ HOÀNG DUY Cán chấm nhận xét 1: H Cán chấm nhận xét 2: tháng năm 2012 TE ngày C Luận văn thạc sĩ đƣợc bảo vệ Trƣờng Đại học Kỹ thuật Công nghệ TP HCM Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: PGS.TS H TS U PGS.TS Chủ tịch Hội đồng Phản biện Phản biện TS Ủy viên TS Thƣ ký Xác nhận Chủ tịch Hội đồng đánh giá luận văn Khoa quản lý chuyên ngành sau luận văn đƣợc sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá Luận văn Khoa quản lý chuyên ngành TRƢỜNG ĐH KỸ THUẬT CÔNG NGHỆ TP.HCM CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG QLKH – ĐTSĐH Độc lập - Tự - Hạnh phúc Tp Hồ Chí Minh, ngày 15 tháng 06 năm 2012 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Phạm Quốc Phƣơng Giới tính: Nam Ngày, tháng, năm sinh: 24/05/1979 Nơi sinh: Khánh Hòa Chuyên ngành: Thiết bị, mạng nhà máy điện MSHV:1081031014 H I TÊN ĐỀ TÀI SÁT VÀ CỨU HỘ” C “NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH QUADROTOR TRONG GIÁM TE II.NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ đề tài: Nghiên cứu phƣơng pháp điều khiển Quadrotor U Xác định mơ hình tốn học Quadrotor Xây dựng mơ hình thuật tốn điều khiển Quadrotor H Mơ mơ hình Quadrotor sử dụng Matlab Simulink Thi cơng mơ hình Quadrotor để kiểm nghiệm thực tế Nhận xét kết đạt đƣợc so sánh với kết đƣợc nƣớc Nội dung đề tài: Phần 1: Nghiên cứu phƣơng pháp điều khiển Quadrotor, từ đƣa vấn đề cần giải để phục vụ cho việc xây dựng mơ hình Quadrotor Phần 2: Xác định mơ hình tốn học Quadrotor Phần 3: Xây dựng mơ hình thuật tốn điều khiển, mơ đáp ứng ứng suất phần mềm Matlab Simulink & Inventor Phần 4: Thi cơng mơ hình Quadrotor III NGÀY GIAO NHIỆM VỤ: ngày 15 tháng 09 năm 2011 IV NGÀY HOÀN THÀNH NHIỆM VỤ: ngày 15 tháng 06 năm 2012 V CÁN BỘ HƢỚNG DẪN: TS Võ Hoàng Duy Khoa quản lý chuyên ngành H U TE C H Cán hƣớng dẫn LỜI CAM ĐOAN Tôi xin cam đoan luận văn với nội dung “Nghiên cứu ứng dụng mơ hình Quadrotor giám sát cứu hộ” cơng trình nghiên cứu riêng tơi, hướng dẫn TS Võ Hoàng Duy Các số liệu, kết mô nêu luận văn trung thực, có nguồn trích dẫn chưa cơng bố cơng trình nghiên cứu khác Tp Hồ Chí Minh, ngày 15 tháng 06 năm 2012 H U TE C H Ngƣời thực luận văn Phạm Quốc Phƣơng LỜI CẢM ƠN Xin cảm ơn Trường Đại học Kỹ thuật Cơng nghệ thành phố Hồ Chí Minh, Q Thầy, Cơ tận tình truyền đạt kiến thức tạo điều kiện tốt cho lớp chúng tơi suốt q trình học cao học Với lịng tri ân sâu sắc, tơi muốn nói lời cám ơn đến Thầy TS Võ Hồng Duy, người nhiệt tình hướng dẫn bảo cho suốt thời gian thực nghiên cứu đề tài H Cám ơn lãnh đạo Khoa Cơ – Điện – Điện tử quý Thầy Cô khoa C giúp đỡ tơi q trình thực đề tài Cám ơn tất bạn khóa học, người chung chí hướng TE đường tri thức để tất có kết ngày hơm Cảm ơn gia đình người thân động viên, hỗ trợ suốt U thời gian thực nghiên cứu H Xin trân trọng gửi lịng tri ân cảm ơn q Thầy Cơ Tp Hồ Chí Minh, ngày 15 tháng 06 năm 2012 Ngƣời thực luận văn Phạm Quốc Phƣơng i MỤC LỤC MỤC LỤC i DANH MỤC CÁC CHỮ VIẾT TẮT iii DANH MỤC HÌNH ẢNH v TÓM TẮT vi ABSTRACT vii Chƣơng 1: MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu H 1.3 Phƣơng pháp nghiên cứu C 1.4 Phạm vi nghiên cứu 1.5 Ý nghĩa khoa học thực tiễn TE 1.6 Bố cục luận văn Chƣơng 2: TỔNG QUAN 2.1 Lịch sử phát triển Quadrotor 2.2 Đặt vấn đề U 2.3 Nhiệm vụ mục tiêu luận văn H Chƣơng 3: CƠ SỞ ĐIỀU KHIỂN 3.1 Giới thiệu Quadrotor 3.2 Phƣơng trình chuyển động 12 3.3 Tổng quan kỹ thuật điều khiển Quadrotor .18 Chƣơng 4: MÔ PHỎNG 28 4.1 Xây dựng mơ hình Quadrotor Matlab Simulink .28 4.2 Mơ hình matlab kết mơ .31 Chƣơng 5: THI CÔNG 36 5.1 Xây dựng mơ hình Quadrotor phần mềm Inventor 36 5.2 Sơ đồ khối mạch điều khiển Quadrotor PC – Transmitter .40 5.3 Mơ hình kiểm tra lực đẩy motor .40 ii 5.4 Xây dựng giao diện Labview dùng để giám sát 42 Chƣơng 6: TỔNG KẾT 43 6.1 Kết .43 6.2 Hiệu kinh tế, xã hội, giáo dục, an ninh, quốc phòng, … 44 H U TE C H 6.3 Hƣớng phát triển 44 iii DANH MỤC CÁC CHỮ VIẾT TẮT x: Vị trí dài theo trục xE y: Vị trí dài theo trục yE z: Vị trí dài theo trục zE : Góc roll ( xoay quanh trục X) : Góc yaw ( xoay quanh trục Z) Ψ: Góc pitch ( xoay quanh trục Y) u: Vận tốc dài theo trục xB v: Vận tốc dài theo trục yB H w: Vận tốc dài theo trục zB v: Gia tốc dài theo trục yB TE w: Gia tốc dài theo trục zB C u: Gia tốc dài theo trục xB q: Vận tốc góc theo trục xB p: Vận tốc góc theo trục yB U r: Vận tốc góc theo trục zB q: Gia tốc góc theo trục xB H p: Gia tốc góc theo trục yB r: Gia tốc góc theo trục zB 𝑍: gia tốc theo phƣơng Zb Ω𝐻 : vận tốc góc cánh quạt Δ𝐴 : lƣợng tăng giảm Ω𝐻 để bay lên hay hạ xuống Φ: gia tốc theo phƣơng Xb Ω𝐻 : vận tốc góc cánh quạt Δ𝐴 ,Δ𝐵 (Δ𝐴 ≈ ∆𝐵 ): lƣợng tăng giảm Ω𝐻 ϑ: gia tốc theo phƣơng Yb Ω𝐻 : vận tốc góc cánh quạt Δ𝐴 ,Δ𝐵 (Δ𝐴 ≈ ∆𝐵 ): lƣợng tăng giảm Ω𝐻 41 Sau trình kiểm tra đánh giá kết quả, từ đƣa đƣợc bảng tham chiếu giá H U TE C H trị lực nâng động tín hiệu điều khiển độ rộng xung PWM Hình 5.8 Bảng tham chiếu tốc độ động H 42 C Hình 5.9 Đồ thị đáp ứng lực đẩy động H U TE 5.4 Xây dựng giao diện Labview dùng để giám sát Hình 5.10 Giao diện giám sát Quadrotor 43 Chƣơng 6: TỔNG KẾT 6.1 Kết Với mục tiêu đặt trình thực đề tài qua trình làm việc đạt đƣợc số kết nghiên cứu nhƣ sau: Nghiên cứu lý thuyết: Đã có nghiên cứu nắm bắt cách tổng thể nguyên lý lý thuyết tổng quan thiết bị bay Quadrotor Phần thiết kế thi cơng mơ hình: H Thiết kế, chế tạo khí hồn chỉnh mơ hình đảm bảo độ bền Thiết kế mơ hình thực xác kích thƣớc tối ƣu khối lƣợng (1000g), tận dụng C đƣợc nguồn thiết bị vật liệu có sẵn thị trƣờng Quadrotor có khả chịu tải trọng tĩnh tải trọng động tốt.Khả chịu TE moment xoắn, moment uốn đƣợc đảm bảo.Mơ hình đảm bảo đƣợc yêu cầu kỹ thuật thẩm mỹ.Tuy vậy, việc đƣa thơng số kết cấu khí cơng suất động cịn dựa nhiều vào kinh nghiệm thực tế U Thiết kế, chế tạo mạch điều khiển: Mạch đƣợc thiết kế phần mềm chuyên dụng Orcad, mạch trung tâm thiết kế nhỏ gọn có tính thẩm mĩ cao, kích thƣớc mạch H nhỏ gọn Về điều khiển: Xử lý cảm biến, lấy đƣợc liệu xử lý đƣợc liệu phục vụ cho việc điều khiển cân qua lọc số Kalman Điều khiển đƣợc động nhƣng đáp ứng động chƣa kịp thời, nguyên nhân ESC xung bị trễ đáp ứng thời gian dẫn đến cân Quadrotorchƣa tốt, chƣa khắc phục đƣợc quán tính bay Quadrotor Có đƣợc kết hợp tối ƣu pin, ESC, động cánh quạt nên sử dụng đƣợc nguồn lƣợng với hiệu suất cao 44 Chƣơng trình điều khiển đƣợc viết hoàn chỉnh linh hoạt, cho phép thay đổi lực nâng Quadrotor, điều khiển Quadrotor cất cánh, hạ cánh, quay trái, phải di chuyển sang trái, phải, trƣớc, sau Viết chƣơng trình giao diện giao tiếp máy tính để phục vụ test điều khiển Quadrotor có khả tự nâng lên, đáp ứng cân 6.2 Hiệu kinh tế, xã hội, giáo dục, an ninh, quốc phòng, … Giám sát tình trạng giao thơng thành phố lớn, quan sát chụp ảnh thung lũng sâu, rừng rậm, kiểm tra độ ẩm nhiệt độ vùng miền đất H nƣớc, hỗ trợ công tác cứu hộ cháy rừng, tai nạn tàu bay… Các ứng dụng quân sự: thám hoạt động đối phƣơng, mang vác C thiết bị quân tải trọng nhẹ Ngoài thiết kế dành cho quân sự, ứng dụng cho lĩnh vực khác TE đƣợc quan tâm nhƣ quan sát núi lửa, điều tra môi trƣờng, bảo dƣỡng thiết bị, gieo trồng, phun thuốc trừ sâu nơng nghiệp… Ngày có nhiều ứng dụng thƣơng mại đƣợc phát triển với Quadrotor U Mặt khác, đề tài phục vụ đắc lực cho luận án tốt nghiệp khơi nguồn sáng tạo nghiên cứu sinh viên khối kỹ thuật H 6.3 Hƣớng phát triển Tích hợp hệ thống định vị tồn cầu GPS Sau Quadrotor tự cân tự bay mà khơng cần ngƣời điều khiển mà phụ thuộc vào trạm điều khiển mặt đất thơng qua sóng wifi Việc tích hợp thêm hệ thống định vị GPS bƣớc giúp cho Quadrotor trở nên linh hoạt trình thực nhiệm vụ Ngồi ra, việc tích hợp thêm số thiết bị phụ trợ phục vụ cho loại nhiệm vụ cần đƣợc quan tâm nhƣ việc lắp thêm camera cho Quadrotor nhằm ghi lại đặc điểm địa hình thám hay cảm biến siêu âm để dị tìm mục tiêu… 45 Phát triển đề tài với ứng dụng quân sự, mang vác thiết bị quân Hiện Việt Nam bắt đầu có nhu cầu loại đồ chơi cơng nghệ cao dạng Quadrotor, việc nghiên cứu để hồn thiện thƣơng mại hóa loại sản phẩm H U TE C H hƣớng phát triển tốt 46 PHỤ LỤC Code Matlab % - global constants for quadrotor g = 9.81; % [m/s^2] b = 3.13e-5; d = 9e-7; m = 0.4794; % [kg] Ix = 0.0086; % [kg.m^2] H Iy = 0.0086; % [kg.m^2] Iz = 0.0172; % [kg.m^2] C Jr = 3.7404e-5; % [kg.m^2] L = 0.225; % [m] TE % - system dynamics for quadrotor function out = system_dynamics(in) x1 = in(1); % x position x2 = in(2); U % - state variables - % y position H x3 = in(3); % xdot velocity x4 = in(4); % ydot velocity x5 = in(5); % z position x6 = in(6); % zdot velocity x7 = in(7); % phi roll angle x8 = in(8); % phidot roll velocity x9 = in(9); % theta pitch angle x10 = in(10); % thetadot pitch velocity x11 = in(11); % psi yaw angle x12 = in(12); % psidot yaw velocity 47 % - system inputs Om_1 = in(13); Om_2 = in(14); Om_3 = in(15); Om_4 = in(16); U1 = b*(Om_1^2 + Om_2^2 + Om_3^2 + Om_4^2); U2 = b*(-Om_2^2 + Om_4^2); U3 = b*(Om_1^2 - Om_3^2); U4 = d*(-Om_1^2 + Om_2^2 - Om_3^2 + Om_4^2); H omega = - Om_1 + Om_2 - Om_3 + Om_4; % - first order differential equations -= x2; C xdot ydot = x4; TE xddot = 1/m * (cos(x7)*sin(x9)*cos(x11) + sin(x7)*sin(x11)) * U1; yddot = 1/m * (cos(x7)*sin(x9)*sin(x11) - sin(x7)*cos(x11)) * U1; zdot = x6; U zddot = g - (1/m)*cos(x7)*cos(x9) * U1; phidot = x8; = x10*x12*(Iyy-Izz)/Ixx + Jr/Ixx*x10*omega + L/Ixx * U2; H phiddot thetadot = x10; thetaddot = x8*x12*(Izz-Ixx)/Iyy - Jr/Iyy*x8*omega + L/Iyy * U3; psidot = x12; psiddot = x8*x10*(Ixx-Iyy)/Izz + U4/Izz; % - function output - state variable derivatives -out(1) = xdot; % xdot velocity out(2) = xddot; % xddot acceleration out(3) = ydot; % ydot velocity out(4) = yddot; % yddot acceleration out(5) = zdot; % zdot velocity 48 out(6) = zddot; % zddot acceleration out(7) = phidot; % phidot roll velocity out(8) = phiddot; % phiddot acceleration out(9) = thetadot; % thetadot roll velocity out(10) = thetaddot; % thetaddot acceleration out(11) = psidot; % psidot roll velocity out(12) = psiddot; % psiddot acceleration % - end of file % Transformation from U commands to Omd desired propellers speed H % INPUT: U vector (4 elements) % OUTPUT: Desired propellers speed (Omega) C function out=U2Om(in) % Control inputs U(1)=in(1); U(2)=in(2); U U(3)=in(3); TE const_global; U(4)=in(4); [1/(4*b), 0, H MM = 1/(4*b), -1/(2*L*b), 1/(4*b), 1/(4*b), 0, % outputs out(1)=Omd(1); % [dec] out(3)=Omd(3); out(4)=Omd(4); 0, -1/(4*d); 1/(4*d); -1/(2*L*b), -1/(4*d); 1/(2*L*b), Omd = sqrt(MM*U'); out(2)=Omd(2); 1/(2*L*b), 0, 1/(4*d)]; 49 % Altitude control function % INPUT: state, desired altitude % OUTPUT: desired speeds function out=alt_control(in) const_global; % State -x=in(1); dotx=in(2); y=in(3); z=in(5); H doty=in(4); % [m] % [m/s] roll=in(7); % [rad] pitch=in(9); dotpitch=in(10); U yaw=in(11); TE dotroll=in(8); % [rad/s] C dotz=in(6); dotyaw=in(12); H zd=in(13); % desired altitude [m] % Setpoint dotzd=0; % Control parameters % ALTITUDE (without motor dynamics) kp_z=0.6; kd_z=0.5; % % ALTITUDE (with motor dynamics) % kp_z=1.4; % kd_z=1; 50 U1=-(m/(cos(roll)*cos(pitch))) * (-g + (zd-z)*kp_z + (dotzd-dotz)*kd_z); %out(1)=m*g; % required thrust [N] out(1)=U1; % required thrust [N] % Rotations control function % INPUT: state, (phi,theta,psi)(ref) % OUTPUT: function out=rot_control(in) const_global; % - State - H x=in(1); dotx=in(2); C y=in(3); z=in(5); % [m] dotz=in(6); TE doty=in(4); % [m/s] roll=in(7); % [rad] U dotroll=in(8); % [rad/s] pitch=in(9); H dotpitch=in(10); yaw=in(11); dotyaw=in(12); % Setpoints -rolld=in(13); % desired ROLL angle [rad] pitchd=in(14); % desired PITCH angle [rad] yawd=in(15); % desired yaw angle [rad] Td=in(16); % desired thrust [N] (from Altitude controller) dotrolld=0; dotpitchd=0; dotyawd=0; 51 % Control parameters % ROLL (without motor dynamics) %kp_roll=0.8; %kd_roll=0.4; % PITCH (without motor dynamics) %kp_pitch=0.8; %kd_pitch=0.4; % YAW (with motor dynamics) %kp_yaw=0.8; H %kd_yaw=0.5; % **************************************************************** C % ROLL (with motor dynamics) kd_roll=0.4; TE kp_roll=0.1; % PITCH (with motor dynamics) kp_pitch=0.1; U kd_pitch=0.4; % YAW (with motor dynamics) H kp_yaw=0.1; kd_yaw=0.1; % ************ PD controllers **************************************** U(1)=Td; % [N] U(2)=(rolld-roll)*kp_roll + (dotrolld-dotroll)*kd_roll; % ROll U(3)=(pitchd-pitch)*kp_pitch + (dotpitchd-dotpitch)*kd_pitch; U(4)=(yawd-yaw)*kp_yaw + (dotyawd-dotyaw)*kd_yaw; out(1)=U(1); out(2)=U(2); out(3)=U(3); out(4)=U(4); % PITCH % YAW 52 Sơ đồ nguyên lí 2.1 Cảm biến H 2.1.2 Cảm biến góc nghiêng (Accelerometer ADXL345) H U TE C 2.1.2 Cảm biến gia tốc (Gyroscope L3G4200D) 2.1.3 Cảm biến từ trƣờng (Magnetometer HMC5883) 53 2.1.2 Cảm biến áp suất nhiệt độ (Barometric Pressure / Temperature H U TE C 2.2 Vi diều khiển (Atmega168) H Sensor BMP085 ) 54 TÀI LIỆU THAM KHẢO [1] Samir Bouabdallah, Pierpaolo Murrieri, Roland Siegwart, “Designand control of indoor micro Quadrocopter” [2] http://www.rctoys.com [3] Gabriel M Hoffmann ControlDesign:Intergal (2005), sliding “Multi-Agent mode vs Quadrocopter reinforcement Testbed learning”, IEEE InternationalConference on Intelligent Robots and Systems [4] Scott D Hanford, Lyle N Long, and Joseph F Horn (September 2005) “A SmallSemi-Autonomous Rotary-Wing Unmanned Air Vehicle (UAV)”, AIAA, H Arlington,Virginia C [5] http://www.enae.umd.edu/AGRC/Aero/history.html [6] http://www.eads.net/xml/content/OF00000000400005/8/98 Pounds, Robert Mahony, Joel Gresham (2004), “Towards TE [7] Paul DynamicallyFavorable Quad-Rotor Aerial Robots”, Proceedings of the 2004 AustralasianConference on Robotics andAutomation, Canberra, Australia C.J U [8] Hoffmann, G., Rajnarayan, D.G., Waslander, S.L., Dostal, D., Jang,J.S., Tomlin, H [9] Samir Bouadallah, Andre Noth and Roland Siegwart (September 2004), “PID vs LQControl Techniques Applied to an Indoor Micro Quadrocopter,”Proceedings of2004 IEEE/RSJ International Conference on Intelligent Robots and Systems,Sendal, Japan [10] Ming Chen and Mihai Huzmezan (2003), “A Combined MBPC/ DOFControler for a Quad Rotor UAV,” AIAA Guidance, Navigation, and ControlConference and Exhibit,Austin, Texas, August [11] Erdinc Altu, James P Ostrowski and Robert Mahony (May 2004), “Control of a Quadrotor Helicopter Using Visual Feedback”,Proceedings of the 2002 IEEE International Conference on Robotics and Automation, Washington, DC USA 55 [12] J Dunfied, M Tarbouchi and G Labonte (2004), “Neural Network Based Control of a Four Rotor Helicopter,” IEEE International Conference on Industrial Technology [13] H Goldstein (2002) et al., Classical Mechanics Addison Wesley [14] B Etkin and L Reid (1996), Dynamics of Flight: Stability and Control John Wiley and Sons [15] J Watkinson (2004), The Art of the Helicopter Elsevier [16] R Murray (1994)et al., A Mathematical Introduction to Robotic Manipulation CRC H [17] S Arimoto (1996), Control Theory of Non-linear Mechanical Systems Oxford H U TE C Science ... tài: “ Nghiên cứu ứng dụng mơ hình Quadrotor giám sát cứu hộ. ” 1.2 Mục đích nghiên cứu Đề tài: ? ?Nghiên cứu ứng dụng mơ hình Quadrotor giám sát cứu hộ? ?? đƣợc thực nhằm mục đích khảo sát mơ hình vật... trình trƣớc UAVs đƣợc quân đội sử dụng cho hoạt động tìm kiếm cứu hộ Luận văn: ? ?Nghiên cứu ứng dụng mô hình Quadrotor giám sát cứu H hộ? ?? Nghiên cứu đƣợc thực mô môi trƣờng MATLAB / Simulink kết... TÀI SÁT VÀ CỨU HỘ” C “NGHIÊN CỨU ỨNG DỤNG MƠ HÌNH QUADROTOR TRONG GIÁM TE II.NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ đề tài: Nghiên cứu phƣơng pháp điều khiển Quadrotor U Xác định mơ hình tốn học Quadrotor