CHƯƠNG I. TỔNG QUAN VỀ DRONE. Giới thiệu chung về Drone. Nguyên lý hoạt động của Drone.4 CHƯƠNG II.
SƠ ĐỒ KẾT NỐI VÀ PHẦN CỨNG. Sơ đồ kết nối của hệ thống. Tay cầm FlySky. Động cơ BLDC, cánh quạt và bộ điều khiển ESC.
7 CHƯƠNG III. XÂY DỰNG MÔ HÌNH ĐỘNG LỰC HỌC. Mô hình động lực học. Công thức Newton - Euler.
Công thức Euler - Lagrange. 17 CHƯƠNG IV. SỬ DỤNG KIT OPEN SOURCE PX4. Tổng quan về PX4 Autopilot.
Lắp đặt và kết nối PX4. THIẾT KẾ GIAO DIỆN ĐỒ HỌA NGƯỜI DÙNG ĐIỀU KHIỂN DRONE. Tổng quan về QGroundControl – trạm kiểm soát mặt đất. Mô phỏng jmavsim.
Thiết kế giao diện người dùng (Graphical User Interface) điều khiển Drone. Điều khiển Drone với giao diện người dùng (GUI). 34 TÀI LIỆU THAM KHẢO. TỔNG QUAN VỀ DRONE I.
Giới thiệu chung về Drone Drone hay Quadcopter hiện nay được sử dụng khá phổ biến trong lĩnh vực giải trí để cung cấp thêm góc quan sát từ trên cao như trong các môn thi đấu thể thao hoặc được sử dụng để di chuyển bám theo đối tượng trong cảnh quay hành động. Ngoài ra, Drone còn được sử dụng trong lĩnh vực quân sự như dùng để do thám, cứu hộ, như quan sát và phán đoán hướng di chuyển của các vụ cháy rừng và trong lĩnh vực vận chuyển bưu kiện có khối lượng nhỏ trong phạm vi gần do ưu điểm về tính linh hoạt, chi phí chế tạo và vận hành thấp hơn so với các loại máy bay khác. Mô hình bay hoạt động dựa trên nguyên lý cân bằng góc nghiêng của từng cặp động cơ đặt đối diện nhau. Vấn đề đặt ra là làm thế nào để điều khiển bốn động cơ giúp cho máy bay có thể cân bằng từng trục, kết hợp cân bằng các trục với nhau, triệt tiêu quán tính xoay tròn và điều khiển Drone di chuyển ổn định.
Yếu tố quan trọng nhất để có thể điều khiển cân bằng và di chuyển đó là giá trị các góc nghiêng đọc từ cảm biến phải chính xác. Khi thiết kế drone, cần phải có mạch cân bằng để có thể cân bằng được drone. Ở đây, ta có thể dùng cảm biến GY-521 6DOF IMU MPU6050 để đo gia tốc, vận tốc, định hướng, độ dịch chuyển và nhiều thông số liên quan đến chuyển động khác của vật thể.Thuật toán PID được xây dựng kết hợp giữa các công thức NEWTON – EULER , EULER - LAGRANGE và kinh nghiệm thực tế để lựa chọn thông số điều khiển cân bằng và di chuyển mô hình bay. Nguyên lý hoạt động của Drone Các cánh quạt quay sẽ tạo ra một lực đẩy và momen xoắn.
Để drone có thể bay lên, tổng hợp lực đẩy phải lớn hơn trọng lực của vật. Cặp cánh quạt 1-2 quay theo chiều kim đồng hồ, cặp cánh quạt 3-4 quay ngược chiều kim đồng hồ (hoặc ngược lại) nhằm cân bằng momen xoắn tạo ra bởi các cánh quạt trên khung. Có 4 chiều chuyển động của drone có thể điều khiển được: roll, pitch, yaw và thrust Khi drone cất cánh hoặc hạ cánh (take off/landing), 4 cánh quạt cần phải tạo ra một lực đẩy bằng nhau, khi đó tổng lực đẩy F song song với trục z (Hình 1) Hình 1: Thrust Để drone nghiêng (roll), cần phải thay đổi tốc độ giữa 2 cặp cánh bên phải và bên trái (Hình 2) Hình 2: Roll Để drone cần hướng mũi lên/xuống (pitch), cần phải thay đổi tốc độ giữa 2 cặp cánh trước và sau (Hình 3) Hình 3: Pitch Để drone xoay quanh trục Z, cần phải thay đổi tốc độ giữa 2 cặp cánh cùng chiều quay và ngược chiều quay. Để giữ ổn định độ cao, nên thay đổi đồng thời tốc độ các cặp cánh để tổng hợp lực không đổi.
CHƯƠNG II. SƠ ĐỒ KẾT NỐI VÀ PHẦN CỨNG II. Sơ đồ kết nối của hệ thống II. Phần cứng II.
Khung quadcopter Khung cơ khí quadcopter là phần thiết kế quan trọng để đảm bảo sự chắc chắn, tính đối xứng để đảm bảo momen quán tính phân bố đều, khối lượng không quá nặng. Pin Lipo Được sử dụng phổ biến cho các robot điều khiển từ xa. Đặc điểm nổi trội của pin Lipo như: pin có thể sạc, năng lượng dự trữ lớn,… II. Tay cầm FlySky FlySky là bộ truyền nhận sóng từ xa để có thể điều khiển quadcopter, tay cầm có khoảng cách xa và kết nối giao tiếp được đảm bảo tin cậy II.
Động cơ BLDC, cánh quạt và bộ điều khiển ESC Động cơ và cánh Động cơ được sử dụng là động cơ BLDC MT2204 – 2300KV. Động cơ BLDC đi kèm định mức KV, nghĩa là động cơ sẽ quay ở tốc độ RPM nhất định nếu ta cung cấp điện áp V cho động cơ khi không tải RPM = KV * V Với động cơ trên, ta nên dùng cánh 6045 (6 inch), 2 cặp cánh thuận nghịch. Bộ điều khiển động cơ ESC Ở đây ta dùng 12AE ESC. Để điều khiển tốc độ động cơ, ta cần cấp xung PPM với tần số 50/60Hz.
Động cơ hoạt động trong khoảng 1ms – 2ms với 1ms thì động cơ dừng, 2ms thì động cơ quay tốc độ lớn nhất. Các thông số có thể cài đặt cho ESC: Bôi đen là mặc định • Cài đặt phanh : Có/Không • Loại pin: Lipo / NiMH • Chế độ bảo vệ điện áp thấp: Cắt mềm (giảm dần công suất đầu ra) / Cắt (dừng ngay) • Ngưỡng bảo vệ điện áp thấp: Thấp/Trung bình/Cao • Chế độ khởi động: Bình thường/Mềm/Siêu mềm Các bước khởi động động cơ: o Cài đặt phạm vi bướm ga (Chỉ cần cài đặt lần đầu tiên, các lần sau có thể bỏ qua bước này) (Mỗi khi sử dụng thiết bị khác cần phải cài đặt lại) 1. Kéo bướm ga tới vị trí max 2. Kết nối ESC với pin và đợi 2s 3.
Tiếng beep-beep được phát ra nghĩa là điểm lớn nhất của phạm vi bướm ga đã được xác nhận 4. Kéo bướm ga tới vị trí min, vài tiếng beep sẽ được phát ra để xác nhận số cell pin 5. Tiếng beep dài được phát ra nghĩa là điểm nhỏ nhất của phạm vi bướm ga đã được xác nhận o Điều khiển động cơ 1. Kéo bướm ga tới vị trí min 2.
Kết nối ESC với pin và sẽ có giai điệu “123” phát ra để xác nhận đã cung cấp nguồn 3. Vài tiếng beep sẽ được phát ra để xác nhận số cell pin 4. Khi hoàn thành, một tiếng beep dài được phát ra 5. Điều chỉnh bướm ga để điều chỉnh tốc độ động cơ Xử lý lỗi và cài đặt các thông số (xem thêm trong Datasheet) II.
Cảm biến MPU6050 Cảm biến góc GY-521 MPU6050 là một cảm biến sáu trục, có chứa một gia tốc 3 trục con quay hồi chuyển 3 trục. Hoạt động với 3.3V và giao tiếp I2C với tốc độ tối đa 400kHz. THÔNG SỐ KỸ THUẬT • Điện áp sử dụng: 3~5VDC • Điện áp giao tiếp: 3~5VDC • Chuẩn giao tiếp: I2C • Giá trị Gyroscopes trong khoảng: +/- 250 500 1000 2000 degree/sec • Giá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16g • Chip : MPU-6050 • Giao tiếp: I2C, SPI • Hỗ trợ AD 16 Bit CHỨC NĂNG CÁC CHÂN VCC 5V/3V3 GND 0V SCL Chân SCL trong giao tiếp I2C SDA Chân SDA trong giao tiếp I2C XDA Chân dữ liệu (kết nối với cảm biến khác) XCL Chân xung (kết nối với cảm biến khác) AD0 Bit địa chỉ I2C - Địa chỉ = 0x68 khi AD0 = 0 INT Chân ngắt MPU6050 là một cảm biến có gia tốc kế và con quay hồi chuyển, có thể đo 3 trục tốc độ quay ��, ��, �� (Gyro) (◦/s), 3 trục gia tốc hướng ��, ��, �� (Accelerometer) (�⁄�2). Khi đặt cảm biến song song với mặt đất, � � = �� = 0 , �� = 1� (� ∕ �2 ).
CÁC THANH GHI CẦN ĐỌC VÀ GHI Thanh ghi chứa địa chỉ i2c 6 bit của MPU. Giá trị mặc định: 0x68 Thanh ghi cho phép người dùng cấu hình chế độ nguồn và nguồn xung nhịp. Thanh ghi chỉ định bộ chia từ tốc độ đầu ra con quay hồi chuyển được sử dụng để tạo ra Tốc độ lấy mẫu cho MPU-60X0. Sample Rate = Gyroscope Output Rate / (1 + SMPLRT_DIV) Thanh ghi dùng để cấu hình thang đo cho con quay hồi chuyển.
Các mode: Thanh ghi dùng để cấu hình thang đo cho gia tốc kế. Thanh ghi này chứa giá trị tốc độ quay 3 trục, mỗi trục gồm 2 thanh ghi High và Low. Cần chia cho LSB Sensitivity ở bảng bên dưới để tìm tốc độ tương ứng. Các mode: Thanh ghi chứa gia tốc 3 trục, mỗi trục gồm 2 thanh ghi High và Low.
Cần chia cho LSB Sensitivity ở bảng bên dưới để tìm tốc độ tương ứng Các mode: TÍNH TOÁN Các giá trị đo được là các giá trị thô, cần phải thông qua các công thức để có thể tính toán được góc nghiêng. Để tính góc nghiêng thông qua gia tốc, ta có thể sử dụng công thức (Hình 1 bên trên): ��,��� ∅ = ���− 1 √√√√√√√√ 2 + 2 �,��� �,��� ( ) ��,��� � = ���− 1 √√√√√√√√ 2 + 2 �,��� �,��� ( ) √√√√√√√√ 2 + 2 �,��� �,��� = ���−1 ��,��� ( ) Gia tốc kế và con quay hồi chuyển khi hoạt động riêng lẻ mang lại lợi thế mạnh mẽ cho hệ thống định vị; tuy nhiên, cả hai đều có những vùng dữ liệu không chắc chắn. Với việc cả hai cảm biến này đều thu thập dữ liệu về các hiện tượng giống nhau, đó là chuyển động của một đối tượng, ta nên kết hợp giá trị của cả 2 cảm biến để có giá trị chính xác nhất.02*(Acceleration_data) Trong đó, dt là thời gian giữa 2 lần đọc dữ liệu cảm biến NOTE Khi để sensor đứng im, các giá trị ��, ��, �� không bằng 0 do nhiễu. Vì vậy, ta cần phải calib giá trị ��, ��, �� bằng cách để sensor đứng im và đọc giá trị hàng trăm lần rồi lấy trung bình.
Đó chính là giá trị offset của từng trục. Sau đó, mỗi lần lấy giá trị trả về, ta chỉ cần trừ cho giá trị offset. Có thể calib gia tốc nếu cần thiết. CHƯƠNG III.
XÂY DỰNG MÔ HÌNH ĐỘNG LỰC HỌC III. Mô hình động lực học Để mô tả các chuyển động của drone, ta chọn hệ quy chiếu quán tính xyz (inertial frame) và và hệ quy chiếu gắn với vật (body frame). Đối với hệ quy chiếu gắn với vật, có thể gắn trục x,y trùng với trục của drone hoặc xoay 1 góc 45 độ. Vị trí tuyến tính của drone trong hệ quy chiếu quán tính được biểu diễn qua ma trận ξ, góc nghiêng được biểu diễn qua ma trận η.
Trong ma trận η, góc φ (roll) xác định chuyển động quay của drone quanh trục x, góc θ (pitch) xác định chuyển động quay quanh trục y và góc ψ (yaw) quanh trục z.