Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
4,12 MB
Nội dung
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NĂM 2019 PHÁT TRIỂN BỘ PID MỀM TỰ CHỈNH ỨNG DỤNG TRONG ĐIỀU KHIỂN CÂN BẰNG THIẾT BỊ VTOL UAV Sinh viên thực Nguyễn Nhật Anh Nguyễn Trọng Quý Anh Đặng Văn Hào Lưu Trọng Hiếu Nguyễn Việt Anh Lớp: KTĐT&THCN-K56 Lớp: KTĐT&THCN-K56 Lớp: KTĐT&THCN-K57 Lớp: KTĐT&THCN-K57 Lớp: KTĐT&THCN-K57 Người hướng dẫn: TS Ngơ Thanh Bình Khoa: Điện – Điện tử Khoa: Điện – Điện tử Khoa: Điện – Điện tử Khoa: Điện – Điện tử Khoa: Điện – Điện tử TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NĂM 2019 PHÁT TRIỂN BỘ PID MỀM TỰ CHỈNH ỨNG DỤNG TRONG ĐIỀU KHIỂN CÂN BẰNG THIẾT BỊ VTOL UAV Sinh viên thực Nguyễn Nhật Anh Nam, Nữ: Nam Lớp: KTĐT&THCN Khoa: Điện-Điện tử Ngành học: Kỹ thuật Điện tử Nguyễn Trọng Quý Anh Nam, Nữ: Nam Lớp: KTĐT&THCN Khoa: Điện-Điện tử Ngành học: Kỹ thuật Điện tử Đặng Văn Hào Nam, Nữ: Nam Lớp: KTĐT&THCN Khoa: Điện-Điện tử Ngành học: Kỹ thuật Điện tử Lưu Trọng Hiếu Nam, Nữ: Nam Lớp: KTĐT&THCN Khoa: Điện-Điện tử Ngành học: Kỹ thuật Điện tử Nguyễn Việt Anh Nam, Nữ: Nam Lớp: KTĐT&THCN Khoa: Điện-Điện tử Ngành học: Kỹ thuật Điện tử Người hướng dẫn: TS Ngơ Thanh Bình Dân tộc: Kinh Năm thứ: 4/4.5 năm Dân tộc: Kinh Năm thứ: 4/4.5 năm Dân tộc: Kinh Năm thứ: 3/4.5 năm Dân tộc: Kinh Năm thứ: 3/4.5 năm Dân tộc: Kinh Năm thứ: 3/4.5 năm MỤC LỤC MỞ ĐẦU TỔNG QUAN VỀ NGHIÊN CỨU, LÝ DO CHỌN ĐỀ TÀI VÀ MỤC TIÊU NGHIÊN CỨU LÝ DO CHỌN ĐỀ TÀI MỤC TIÊU CỦA DỰ ÁN NGHIÊN CỨU KHOA HỌC : KẾT QUẢ NGHIÊN CỨU VÀ PHÂN TÍCH .3 CHƯƠNG 1:CƠ SỞ LÝ THUYẾT 1.1 1.2 1.3 1.4 MEMS INS .3 PID .3 BỘ LỌC KALMAN VTOL UAV .5 CHƯƠNG 2:TÍNH TỐN VÀ XỬ LÝ .9 2.1 XỬ LÝ TÍN HIỆU IMU, GPS VÀ CHẾ TẠO MODULE CẢM BIẾN .9 2.1.1 Xử lý tín hiệu IMU .9 2.1.2 Xử lý liệu từ trường 11 2.1.3 Chế tạo mô-đun cảm biến 15 2.2 XÂY DỰNG MƠ HÌNH KHUNG TỰ CÂN BẰNG .16 2.3 ÁP DỤNG BỘ LỌC VÀ THUẬT TOÁN PID 22 2.3.1 Bộ lọc Kalman Filter 22 2.3.2 Bộ điều khiển PID tầng .24 CHƯƠNG 3:NGHIÊN CỨU ỨNG DỤNG PID MỀM TỰ CHỈNH TRÊN VTOL UAV HEXACOPTER 31 3.1 TÍNH TỐN VÀ XÂY DỰNG MƠ HÌNH VTOL UAV HEXACOPTER .31 3.1.1 Hệ tọa độ 31 3.1.2 Ma trận quay .32 3.1.3 Lực nâng 33 3.1.4 Mô-men lực .33 3.1.5 Mơ hình động học Hexacopter 35 3.1.6 Mơ hình hệ thống Hexacopter 37 3.1.7 Mơ mơ hình hệ thống VTOL UAV Hexacopter Matlab 39 3.2 THỬ NGHIỆM MƠ HÌNH VTOL UAV HEXACOPTER 41 CHƯƠNG 4:KẾT LUẬN 46 4.1 4.2 KẾT QUẢ NGHIÊN CỨU 46 KIẾN NGHỊ 50 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC .54 DANH MỤC BẢNG BIỂU Hình 1 INS sử dụng máy bay Concord Hình Quá trình rời rạc tuyến tính Hình Phương thức hoạt động Kalman Filter Hình VTOL UAV Hexacopter Hình 2.1 Dữ liệu góc từ cảm biến đo thực tế 10 Hình 2.2 Tốc độ đáp ứng độ xác liệu góc nghiêng 11 Hình 2.3 Xác định góc Phi từ trường 12 Hình 2.4 Dữ liệu từ kế sau hiệu chỉnh 12 Hình 2.5 Sai lệch nhiễu từ trường cứng 13 Hình 2.6 Sai lệch nhiễu từ trường mềm 14 Hình Dữ liệu sau trước hiệu chỉnh 15 Hình Mạch thiết kế phần mềm Altium .15 Hình Mạch điều khiển sử dụng Arduino UNO R3 15 Hình 10 Khung cân dùng thí nghiệm 16 Hình 11 Động cơ, ESC 17 Hình 12 Pin Lipo 3S .17 Hình 13 Sức phản điện động hình thang động BLDC 18 Hình 14 Cấu tạo bên động BLDC 18 Hình 15 Đặc tính mơ-men - tốc độ động BLDC .19 Hình 16 ESC Hobby King 30A sử dụng chip điều khiển ATMega8 19 Hình 17 Sơ đồ ESC 20 Hình 18 Một số loại ESC thông dụng 21 Hình 19 Ví dụ datasheet động V5208-350KV 21 Hình 20 Cánh quạt chiều nghịch 22 Hình 21 Dữ liệu góc nghiêng tình từ gia tốc kế CF 23 Hình 22 Kalman Filter CF .23 Hình 23 Hệ thống PID truyền thống 24 Hình 24 PID truyền thống với điểm đặt 24 Hình 25 so sánh PID thường PID cộng với điểm đặt 0,30 -30 25 Hình 26 Bộ điều khiển PID tầng 26 Hình 27 Dữ liệu góc nghiêng với thiết kế PID khác 26 Hình 28 Dữ liệu góc nghiêng điểm đặt sử dụng PID tầng 27 Hình 29 Lưu đồ thuật toán PID mềm tự chỉnh .28 Hình 30 Lưu đồ thuật toán Autotune() 29 Hình Hệ tọa độ 31 Hình Hệ tọa độ vật thể .31 Hình 3 Phối hợp tốc độ động 34 Hình Hệ thống mơ Simulink/Matlab .39 Hình Dữ liệu chạy mơ 39 Hình Dữ liệu góc Euler 40 Hình Dữ liệu vận tốc góc 40 Hình Chế tạo khung máy bay .41 Hình Khung thiết bị bay Hexacopter 42 Hình 10 Cấu hình động Hexacopter 42 Hình 11 VTOL UAV Hexacopter 44 Hình 12 Cấu trúc điều khiển bay .44 Hình 13 Bộ điều khiển bay Pixhawk Raspberry Pi (gắn dưới) 45 Hình 14 Sơ đồ kết nối RPi với Pixhawk 45 Hình Dữ liệu góc nghiên sau lọc lọc CF lọc Kalman 46 Hình Dữ liệu góc Euler sau hiệu chỉnh .47 Hình Khung tự cân .47 Hình 4 Bay thử nghiệm ngồi sân bóng trường .48 Hình Máy bay cất cánh ổn định đạt độ cao nhanh chóng .48 Hình Thiết bị bay hạ cánh êm 48 Hình Biểu đồ so sánh Roll thực tế Roll mong muốn 49 Hình Biểu đồ so sánh Pitch thực tế Pitch mong muốn 49 Hình Biểu đồ so sánh Yaw thực tế Yaw mong muốn 50 Hình 10 Vị trí GPS .50 Bảng Bảng tra thông số theo phương pháp ZN 27 DANH MỤC NHỮNG TỪ VIẾT TẮT STT Từ viết tắt Nội dung Nghĩa Tiếng Việt BLDC Brushless Direct Current Động DC chiều không chổi than CF Complementary Filter Bộ lọc bổ sung khiếm khuyết DMP Digital Motion Processor Xử lý chuyển động GPS Global Positioning System Hệ thống định vị toàn cầu IMU Inertial Measure Unity Đơn vị đo lường quán tính INS Inertial Navigation System Hệ thống định vị quán tính LQR Linear-Quadratic Điều khiển tối ưu Regulator MEMS Micro Electronic Hệ thống vi điện tử Mechanic System UAV Unmanned Aerial Vehicle Máy bay không người lái 10 UGV Unmanned Ground Xe không người lái Vehicle 11 VTOL Vertical Take-off and Cất hạ cánh thẳng đứng Landing 12 ZN Ziegler Nichols - TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: Phát triển PID mềm tự chỉnh ứng dụng điều khiển cân thiết bị VTOL UAV - Sinh viên thực hiện: Nguyễn Nhật Anh Nguyễn Trọng Quý Anh Đặng Văn Hào Lưu Trọng Hiếu Nguyễn Việt Anh - Lớp: KTĐT&THCN Khoa: Điện – Điện tử Năm thứ: 3, Số năm đào tạo: 4.5 - Người hướng dẫn: TS Ngô Thanh Bình Mục tiêu đề tài: Nghiên cứu phát triển PID mềm tự chỉnh (Soft-Tuning Proportional Integral Derivative) ứng dụng điều khiển cân thiết bị bị bay không người lái dạng hạ cánh thẳng đứng VTOL UAV (Vertical Take-Off and Landing Unmanned Aerial Vehicle ) Tính sáng tạo: Phát triển thành cơng điều khiển PID mềm tự chỉnh kiến trúc dạng PID tầng (Cascade PID) có khả tự chỉnh thơng số vi xử lý điều khiển, từ nâng cao chất lượng phát triển tính cho điều khiển bay Kết nghiên cứu: Bộ điều khiển PID tầng xây dựng vi xử lý có khả tự chỉnh thơng số phù hợp đáp ứng cân bay tốt, từ kết nối máy tính đơn chip để phát triển tính cho điều khiển bay Đã xây dựng mơ hình tính tốn thiết kế thiết bị bay Hexacopter thể rõ ràng kết nghiên cứu lý thuyết Đóng góp mặt kinh tế - xã hội, giáo dục đào tạo, an ninh, quốc phòng khả áp dụng đề tài: Mơ hình VTOL UAV phát triển để sử dụng cho mục đích an ninh quốc phịng, khảo sát cơng trình, GTVT, thăm dò, theo dõi từ cao Sử dụng điều khiển bay tự chế tạo với chi phí thấp sẽ giảm chi phí, tự chủ công nghệ, đảm bảo mặt bảo mật thông tin Về mặt giáo dục, nghiên cứu giúp nâng cao trình độ kiến thức cơng nghệ thơng tin, truyền thơng, điện tử, tự động hóa, đặc biệt kỹ thuật điều khiển mơ hình phi tuyến có tác động nhiễu Cơng bố khoa học sinh viên từ kết nghiên cứu đề tài (ghi rõ họ tên tác giả, nhan đề yếu tố xuất có) nhận xét, đánh giá sở đã áp dụng kết nghiên cứu (nếu có): Ngo Thanh Binh, Nguyen Quang Tuấn, Nguyen Nhat Anh, Nguyen Trong Quy Anh (2019) “Modeling and Control Hexacopter Using Cascaded PID Controller with Open Source Flight Controller and Companion Computer.”, VCCA 2019 (submitted) Ngày tháng năm Sinh viên chịu trách nhiệm thực đề tài (ký, họ tên) Nhận xét người hướng dẫn đóng góp khoa học sinh viên thực đề tài (phần người hướng dẫn ghi): Ngày tháng năm Người hướng dẫn (ký, họ tên) MỞ ĐẦU Tổng quan nghiên cứu, lý chọn đề tài mục tiêu nghiên cứu Thiết bị bay khơng người lái có nhiều loại máy bay cánh bằng, VTOL – Máy bay lên thẳng Với linh hoạt ưu điểm vượt trội mà UAV có đã giúp trở thành công cụ đắc lực cho nhiều ứng dụng, đặc biệt nhiệm vụ khó khăn mà người khó thực UAV hoạt động mơi trường mà gây nguy hiểm cho người vùng nhiễm xạ, vùng xạt lở hay lũ quét vùng núi hiểm trở UAV dễ dàng trang bị thay thiết bị cảm biến ngoại vi tùy theo mục đích sử dụng Trong nhiệm vụ giải cứu, UAV sử dụng cảm biến để tìm kiếm người bị nạn gửi hình ảnh trạm điều khiển, thiết bị bay khơng người lái thả đồ sơ cứu cho nạn nhân báo vị trí cho lực lượng cứu hộ Trong xây dựng dân dụng giao thông vận tải, máy bay khơng người lái sử dụng để khảo sát khu vực giúp kỹ sư nắm bắt tình hình tổng quát khu vực quy hoạch Ngồi hệ thống để sử dụng để khảo sát hay quản lý cơng trình dân dụng, cơng trình giao thơng vận tải từ xa Ví dụ khảo sát đập thủy điện giúp kỹ sư quan sát nơi khó chạm đến nhất, quét phát vết nứt cứu khỏi thảm họa vỡ đập Hiện giới có nhiều hãng lớn đã phát triển ứng dụng UAV thương mại hóa Riegl, DJI, Yellow Scan, Phoenix, ScanSolution Nhưng Việt Nam chính sách qui định UAV chưa rõ ràng nên việc phát triển cơng nghệ cịn hạn chế Với cơng nghệ như cảm biến MEMS (Microelectromechanical systems – Hệ thống vi điện tử) thiết bị không người lái sử dụng vi xử lý vi điều khiển sản xuất với kích thước nhỏ gọn với chi phí thấp nhiều so với trước Trong viết thiết bị UAV thiết kế chế tạo thử nghiệm loại Hexacopter (Thiết bị bay sử dụng sáu động cơ) Lý chọn đề tài Đặc biệt với ứng dụng sử dụng công nghệ quan sát khảo sát camera Lidar, để thu tập liệu xác đối tượng hay khu vực quan sát, đòi hỏi thiết bị bay phải ổn định Dự án nghiên cứu thiết kế chỉnh PID tầng mềm để giải toán điều khiển thiết bị bay VTOL UAV Để hoạt động hệ thống cần thơng tin phản hồi xác vị trí độ cao, đo cảm biến trục (bao gồm loại cảm biển: Gyro, Gia tốc Trọng trường) số ngoại vi đo đạc khác GPS Vì để nâng cao khả hoạt động Hexacopter, phần cứng mã nguồn mở Pixhawk sử dụng với firmware chạy thuật toán riêng Mục tiêu dự án nghiên cứu khoa học : - Tìm hiểu thiết bị bay khơng người lái UAV, từ phát triển PID mềm tự chỉnh ứng dụng điều khiển cân thiết bị VTOL UAV - Giải mã thiết bị công nghiệp bay chuyên dụng Pixhawk tích hợp Raspberry Pi tác động điều khiển sở lập trình Python 41 3.2 Thử nghiệm mơ hình VTOL UAV Hexacopter Thiết bị VTOL UAV Hexacopter thiết kế với chiểu dài sải cánh 920 mm, gồm sáu cánh tay cách hướng tâm tạo với góc 60o Để tối ưu hóa trọng lượng thiết bị bay tối thiểu nhất, thân máy bay sử dụng vật liệu tôn thép mm, sau tay đòn sử dụng inox rỗng Ở đầu tay, động gá vào gá mica nẹp vào tay, Các động phải gắn cách chính xác, hai động đối xứng xuyên tâm thân máy bay khoảng cách từ tâm đến trục động khơng đổi Hình Chế tạo khung máy bay 42 Hình Khung thiết bị bay Hexacopter Hình 10 Cấu hình động Hexacopter Sơ đồ bên sơ đồ vị trí động để điều khiển lắp đặt chiều quay cho canh quạt Động có hai chiều quay: quay thuận (Clock Wise – CW) quay ngược CCW (Counter Clock Wise) Nhằm nâng tải trọng mong muốn, động cần 43 phải tính tốn lựa chọn kỹ lưỡng Lực nâng động tính cơng thức sau: 𝐿ự𝑐 𝑛â𝑛𝑔 = 𝑇ổ𝑛𝑔 𝑡𝑟ọ𝑛𝑔 𝑙ượ𝑛𝑔×2 𝑆ố 𝑙ượ𝑛𝑔 độ𝑛𝑔 𝑐ơ (56) VD: Với tổng tải trọng kg = 6000 gram (bao gồm động cơ, khung, cánh quạt, pin, mạch thiết bị, thùng đồ) Lực nâng động cần là: Lực nâng = 6000×2 = 2000 gram (57) Lí nhân đơi tổng trọng lượng hoạt động hệ thống công suất lớn hexacopter không sử dụng tối đa tốc độ, điều gây nóng cho động chí làm tải hệ thống điện máy bay sử dụng mức ga liên tục Trên lý thuyết đã chứng minh mức làm việc tốt tỉ lệ lực nâng : khối lượng 2:1 Để tính cơng suất động cơ: W = Kp × D4 × φprop × ω3 (58) Trong Kp hệ số cánh quạt, hệ số tùy thuộc vào chất liệu làm cánh Đối với loại GWS RS APC SF khoảng 1,1; với loại GWS HD khoảng 0,75 D đường kính φprop góc nghiêng cánh quạt, góc nghiêng cánh quạt sẽ ảnh hưởng đến lượng không khí qua để tạo nên lực đẩy ω tốc độ (RPM) động cơ, RPM sẽ tính từ hệ số KV nhân với điện áp nguồn cấp KV hệ số vận tốc động ứng với đơn vị điện áp, với động to, sẽ có hệ số KV bé, nên kích thước cánh sẽ to sinh lực mơ-men lớn Qua tính tốn từ công thức (56)(57)(58) ta chọn động 3512 460KV, loại động sử dụng máy bay Quadcopter thương mại Inspire hãng DJI Động có lực đẩy khoảng 2000 gram, sử dụng pin Lipo 6s, ESC 40A 44 Hình 11 VTOL UAV Hexacopter Trước đấy, nhóm nghiên cứu đã sử dụng chip ARM STM32F103C khung cân PID tự chỉnh Để đáp ứng tốc độ xử lý điều khiện hệ thống phức tạp sử dụng PID tầng, nhóm sử dụng phần cứng mã nguồn mở Pixhawk có sử dụng cùng loại vi xử lý STM32 hệ với tốc độ cao hơn, cụ thể STM32F765 Hơn sử dụng loại cảm biến cao cấp có độ phân giải cao hơn, giúp nhóm nghiên cứu dễ dàng áp dụng thuật tốn tự chỉnh mềm P-PID tầng mà nhóm phát triển khung cân vào điều khiển bay Pixhawk Bộ điều khiển bay nạp lại chương trình sử dụng thuật toán điều khiển PID tầng xử lý lọc liệu cảm biến mà nhóm đã phát triển đề cập phía GNSS PPM Gyro DSM Flight Controller RSSI Air Speed UART Mag SPI Comp ass USB Range SBUS GPS I2C External Sensors Baro LED Buzz Memory PWM Vol Cur CPU Status SBUS Mag Out Internal Sensors Accel Hình 12 Cấu trúc điều khiển bay 45 Hình 13 Bộ điều khiển bay Pixhawk Raspberry Pi (gắn dưới) Thiết bị bay VTOL UAV Hexacopter kết nối với máy tính thông qua truyền dẫn không dây RF tần số 433MHz, công suất 500mW, dựa vào giao thức MAVlink phát triển công ty 3DR Robotics, nhằm giao tiếp hiệu bảo mật thiết bị bay hệ thống theo dõi (máy tính, điện thoại thông minh, máy tính bảng,….) Ngồi nhóm sử dụng thêm máy tính nhúng Raspberry Pi kết nối với điều khiển Pixhawk qua UART, giao tiếp giao thức MAVlink Máy tính nhúng sẽ chạy chế độ bay giữ độ cao, giữ độ cao vị trí thông qua GPS Hình 14 Sơ đồ kết nối RPi với Pixhawk 46 CHƯƠNG 4: KẾT LUẬN 4.1 Kết nghiên cứu Dữ liệu cảm biến trục MPU6050 xử lý hai lọc CF Kalman Filter Conplementary sử dụng lọc thông cao liệu cảm biến quay hồi chuyển sử dụng Kalman Filter lọc thông thấp với liệu cảm biến gia tốc kế, sử dụng việc dự đoán tính tốn liệu góc nghiêng Dữ liệu cảm biến đo hình 4.1 phía Hình Dữ liệu góc nghiên sau lọc lọc CF lọc Kalman Trục tung đồ thị thể góc nghiêng cảm biến, đường màu đỏ góc lọc CF, đường màu xanh góc lọc lọc Kalman (góc Kalman cộng thêm offset để dễ quan sát) Ta thấy liệu góc tính từ gia tốc kế CF dễ bị nhiễu từ gia tốc kế có tác động nhiễu từ bên – rung động động hoạt động Có thể thấy góc tính lọc Kalman đã khử hầu hết liệu nhiễu từ gia tốc kế Nhóm nghiên cứu đã xác định sai lệch nhiễu trường điện từ cảm biến la bàn số tính bù sai lệch, với sai số đạt thực nghiệm khoảng ±1,18o Trong hình 4.2 liệu cảm biến trục MPU6050 cảm biến trục la bàn HMC5883, thực nghiệm với nhiệt độ phịng bình thường 47 Hình Dữ liệu góc Euler sau hiệu chỉnh Thiết kế chế tạo mô-đun đo khung cân để thực nghiệm thuật toán điều khiển PID phát triển điều khiển tầng P-PID Hình Khung tự cân Thơng qua việc thực nghiệm khung cân bằng, đã xây dựng phát triển thành công điều chỉnh mềm PID tầng sử dụng phương pháp ZN Dựa vào bước để tìm tham số theo phương pháp điều chỉnh ZN, nhóm nghiên cứu đã xây dựng điều khiển tự chỉnh mềm P-PID tương đối hoàn chỉnh với tốc độ đáp ứng đầu độ mức cho phép để thực nghiệm thiết bị VTOL UAV Hexacopter Thiết bị bay VTOL UAV Hexacopter thử nghiệm vào thời gian 11h30-12h30, nhiệt độ khoảng 31oC, sức gió khoảng 8-11 km/h Trước bay thiết bị kiểm tra kỹ lưỡng khớp nối thân thiết bị bay, nguồn pin, chiều quay động cơ, GPS nhận tọa độ vị trí, nhận tín hiệu tay khiển Máy tính nhúng Raspberry Pi cắm với Pixhawk để chạy chế độ bay giữ độ cao vị trí theo GPS 48 Hình 4 Bay thử nghiệm ngồi sân bóng trường Hình Máy bay cất cánh ổn định đạt độ cao nhanh chóng Hình Thiết bị bay hạ cánh êm 49 Hình Biểu đồ so sánh Roll thực tế Roll mong muốn Thiết bị Pixhawk có hỗ trợ tự động lưu liệu thông số vào thẻ nhớ hộp đen máy bay, nên ta xem lại liệu để phân tích sau lần bay Hình 4.7 biểu đồ so sánh liệu góc Roll điều khiển (mong muốn) điều khiển P-PID tầng tự chỉnh góc Roll thực tế cảm biến đo được, trục tung đồ thị góc nghiêng Roll, trục hoành đồ thị biểu thị thời gian bay Do thời tiết có gió nên bay lên, thiết bị bay chạy điều khiển P-PID với tham số điều chỉnh theo Matlab nên chưa ổn định tuyệt đối, điều khiển cân thiết bị bay ngưỡng cho phép Tương tự hình 4.8 số liệu góc Pitch vậy, đơi bị gió thổi tác động Hình Biểu đồ so sánh Pitch thực tế Pitch mong muốn Qua hai đồ thị Roll, Pitch ta thấy điều khiển mềm P-PID tầng hoạt động tương đối ổn định, tốc độ đáp ứng tín hiệu nhanh độ lọt vố nhỏ 5% 50 Hình Biểu đồ so sánh Yaw thực tế Yaw mong muốn Góc Yaw mặc đù hiệu chỉnh thời gian để tính tốn kết hợp với hướng GPS, hình 4.9 trục tung góc la bàn, góc 0o hướng Bắc, 90o hướng Đông, 180o hướng Nam, 270o hướng Tây Theo biểu đổ góc Yaw góc 220o (góc Tây Nam) bị gió đẩy lệch khoảng 50o hướng Nam Khi điều khiển góc Yaw, góc Yaw khơng ổn định bị vọt lố khoảng 27% Hình 10 Vị trí GPS 4.2 Kiến nghị Thuật toán áp dụng khung tự cân có kết hoạt động ngưỡng chấp nhận chưa đạt độ chính xác tuyệt đối mong muốn, 51 điều khiển điều chỉnh mềm P-PID tầng cần phải thực nghiệm để điều chỉnh số tốt Trong thời gian tới nhóm sẽ tiếp tục phát triển nghiên cứu điều khiển tự chỉnh mềm PI-PID tầng có khả tự chỉnh vận hành thiết bị bay không, đồng thời sẽ lắp đặt hệ thống quét laser LiDAR với mục đích khảo sát đo đạc địa hình từ khơng Sử dụng máy tính nhúng Raspberry Pi để điều khiển máy bay theo tọa độ đặt trước, theo chế độ tùy chỉnh Sử dụng thêm Servo để cắp thả đồ cứu hộ với tải trọng lớn 52 TÀI LIỆU THAM KHẢO [1] Ngo Thanh Binh, Nguyen Canh Minh, Nguyen Nhat Anh, Nguyen Trong Quy Anh.(2019) “Vibration Measurement System Based on IoT”, The 2018 International Conference on Building Smart City in Vietnam: Vision and Solutions, Ho Chi Minh City, Vietnam, pp 6, 5th Sept 2018 [2] J Fogelberg “Navigation and Autonomous Control of a Hexacopter in Indoor Environments”, Lund University, ISSN 0280-5316, 2013 [3] N Ohlsson and M Stahl “A Model-Based Approach to Computer Vision and Automatic Control using Matlab Simulink for an Autonomous Indoor multirotor UAV”, Department of Signals and Systems, CHALMERS UNIVERSITY OF TECHNOLOGY, Sweden, 2013 [4] Y H Lee, G G Jin, and M O So “Level control of single water tank system using fuzzy-PID technique”, Journal of the Korean Society of Marine Engineering, vol 38, no 5, pp 550-556, 2014 [5] P Martin and E Salaun “The true role of accelerometer feedback in quadrotor control,” in Robotics and Automation (ICRA), 2010 IEEE International Conference, pp 1623–1629, 2010 [6] R Leishman, J Macdonald, T McLain, R Beard, “Relative navigation and control of a hexacopter”, Robotics and Automation (ICRA), 2012 IEEE International Conference, pp 4937–4942, 2012 [7] S Bouabdallah, “Design and control of quadrotors with application to autonomous flying,” Ecole Polytechnique Federale de Lausanne, 2007 [8] R Kandepu, B Foss, L Imsland, “Applying the unscented Kalman filter for nonlinear state estimation,” Journal of Process Control, vol 18, no 7, pp 753–768, 2008 [9] J Macdonald, R Leishman, R Beard, T McLain, “Analysis of an Improved IMUBased Observer for Multirotor Helicopters,” Journal of Intelligent & Robotic Systems, pp 1–13, 2013 [10] I Sa and P Corke, “System identification, estimation and control for a cost effective open-source quadcopter,” in Robotics and Automation (ICRA), 2012 IEEE International Conference on, 2012 53 [11] S Lange, N Sunderhauf, P Protzel, “A vision based onboard approach for landing and position control of an autonomous multirotor UAV in GPSdenied environments,” in Advanced Robotics, 2009 ICAR 2009 International Conference, 2009 [12] D Khanh Le, Tack-Kun Nam, “A study on the modeling of a hexacopter”, Journal of the Korean Society of Marine Engineering, Vol 39, No 10, 2015 54 PHỤ LỤC Chương trình chạy Raspberry Pi B+ from droneapi.lib import VehicleMode, Location from pymavlink import mavutil import time import math api = local_connect() vehicle = api.get_vehicles()[0] def arm_and_takeoff(aTargetAltitude): if vehicle.mode.name == "INITIALISING": print "Waiting for vehicle to initialise" time.sleep(1) while vehicle.gps_0.fix_type < 2: print "Waiting for GPS :", vehicle.gps_0.fix_type time.sleep(1) print "Arming motors" vehicle.mode = VehicleMode("GUIDED") vehicle.armed = True vehicle.flush() while not vehicle.armed and not api.exit: print " Waiting for arming " time.sleep(1) print "Taking off!" vehicle.commands.takeoff(aTargetAltitude) vehicle.flush() while not api.exit: print " Altitude: ", vehicle.location.alt if vehicle.location.alt>=aTargetAltitude*0.95: #Just below target, in case of undershoot print "Reached target altitude" break; time.sleep(1) 55 arm_and_takeoff(3) def condition_yaw(heading, relative=False): if relative: is_relative=1 #yaw relative to direction of travel else: is_relative=0 #yaw is an absolute angle msg = vehicle.message_factory.command_long_encode( 0, 0, 0, 0, 1, 0, 0, 0) vehicle.send_mavlink(msg) vehicle.flush() def set_speed(speed): msg = vehicle.message_factory.command_long_encode(0, 0, mavutil.mavlink.MAV_CMD_DO_CHANGE_SPEED, 0, 0, speed,0, 0, 0, 0, 0) vehicle.send_mavlink(msg) vehicle.flush() def get_location_metres(original_location, dNorth, dEast): earth_radius=6378137.0 dLat = dNorth/earth_radius dLon = dEast/(earth_radius*math.cos(math.pi*original_location.lat/180)) newlat = original_location.lat + (dLat * 180/math.pi) newlon = original_location.lon + (dLon * 180/math.pi) return Location(newlat, newlon,original_location.alt,original_location.is_relative) def get_distance_metres(aLocation1, aLocation2): dlat = aLocation2.lat - aLocation1.lat dlong= aLocation2.lon - aLocation1.lon return math.sqrt((dlat*dlat) + (dlong*dlong)) * 1.113195e5 print 'goto_target_globalint_position' msg = vehicle.message_factory.set_position_target_global_int_encode(0,0,0, 0, 0, 0, 0, 0) print("Setting LAND mode ") vehicle.mode = VehicleMode("LAND") vehicle.flush() print("Completed")