Bối cảnh và vấn đề nghiên cứu

Lý do chọn đề tài và bối cảnh thực tiễn

Trong những thập kỷ gần đây, máy bay không người lái (UAV), đặc biệt là dòng nhiều cánh quạt (multi-rotor drone/quadcopter), được ứng dụng ngày càng rộng rãi trong cả lĩnh vực dân sự lẫn quân sự như lập bản đồ, khảo sát trắc địa, viễn thám, truyền dữ liệu, cứu hộ vùng núi, giám sát giao thông và giao hàng tự động. Tuy nhiên, thời gian vận hành ngắn do dung lượng pin hạn chế là rào cản kỹ thuật lớn ảnh hưởng đến hiệu quả hoạt động của UAV.

Để giải quyết vấn đề này, mô hình kết hợp giữa UAV và các phương tiện mặt đất di động đóng vai trò trạm sạc pin (recharging stations) được xem là một giải pháp phát triển hiệu quả cho các nhiệm vụ đòi hỏi tầm hoạt động xa và bay lặp lại trong thời gian dài. Do đó, việc nghiên cứu và triển khai khả năng hạ cánh tự động của UAV lên mục tiêu di động trở thành bài toán kỹ thuật cấp thiết.

Trong việc hạ cánh lên mục tiêu di động, phương pháp dựa trên thị giác máy tính (vision-based method) được sử dụng rộng rãi nhờ độ chính xác cao và chi phí thấp so với các hệ thống phức tạp, đắt đỏ như GNSS-RTK hoặc cảm biến Lidar tầm xa. Các nghiên cứu quốc tế trước đây từng sử dụng bộ điều khiển dự báo mô hình (MPC) kết hợp GPS-RTK, hoặc dùng drone thương mại của DJI với camera gimbal. Tuy nhiên, các giải pháp này đòi hỏi phần cứng tính toán đắt tiền hoặc khó can thiệp sâu vào hệ thống điều khiển từ đầu.

Tại Việt Nam, các nghiên cứu trước đây tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã tiếp cận bài toán hạ cánh chính xác nhưng sử dụng mô hình nhận diện học sâu (deep learning) phức tạp, dẫn đến tốc độ xử lý kém hiệu quả hơn so với phương pháp đánh dấu chuẩn (fiducial marker) như ArUco hoặc AprilTags, đồng thời thuật toán bám vị trí chưa tối ưu cho bài toán đánh chặn quỹ đạo. Đề tài này được thực hiện nhằm khắc phục các hạn chế trên bằng một hệ thống chi phí thấp, tối ưu thuật toán xử lý ảnh và kết hợp chiến lược điều khiển hiệu quả.

Mục tiêu và nhiệm vụ nghiên cứu

Mục đích chính của đồ án là hiện thực hóa mô hình thực nghiệm quadcopter có khả năng tự động bám và hạ cánh lên mục tiêu mặt đất di chuyển thẳng với vận tốc thấp không đổi trong thời gian thực.

Các mục tiêu và nhiệm vụ cụ thể được xác định bao gồm:

  1. Xây dựng bộ điều khiển vị trí và độ cao dựa trên sự kết hợp giữa luật dẫn đường tỷ lệ (Proportional Navigation - PN guidance law), bộ điều khiển tỷ lệ - tích phân - vi phân (PID) và bộ điều khiển tỷ lệ (P) cho quadcopter.
  2. Tích hợp kỹ thuật thị giác máy tính truyền thống và các bộ điều khiển để điều khiển UAV hạ cánh trên mục tiêu di động trong môi trường mô phỏng (ArduPilot SITL kết hợp Gazebo).
  3. Triển khai phần cứng thực nghiệm, thu thập dữ liệu bay thực tế và đánh giá hiệu năng hoạt động của hệ thống.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Hệ thống điều khiển bay tự động cho quadcopter; thuật toán xử lý ảnh nhận diện và ước lượng tư thế dấu ArUco; luật dẫn đường tỷ lệ PN và thuật toán điều khiển PID/P ứng dụng trong hạ cánh chính xác.
  • Phạm vi không gian và hệ thống:
    • UAV sử dụng cảm biến GPS thông thường và hệ thống định vị quán tính (INS/IMU) trên bo mạch thay vì tích hợp các cảm biến định vị chính xác cao như GPS-RTK hay Lidar.
    • Camera quan sát được lắp đặt cố định hướng xuống dưới mặt đất (down-facing camera) với góc nhìn (FOV) $145^\circ$, không sử dụng cơ cấu gimbal xoay.
    • Mục tiêu mặt đất là xe mô hình di chuyển tuyến tính theo đường thẳng với vận tốc chậm, ổn định trong khoảng 2–3 dặm/giờ (mph), tương đương dải thử nghiệm từ 0,3 m/s đến 1,0 m/s.
    • Không trang bị hệ thống định vị tầm xa riêng cho mục tiêu; phương tiện di chuyển được điều khiển đi qua trường nhìn của camera dưới bụng UAV để bắt đầu chu trình bám và hạ cánh.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình động lực học quadcopter

Khung lý thuyết của đề tài dựa trên động lực học vật thể bay 6 bậc tự do (6-DOF) gồm 3 chuyển động tịnh tiến dọc các trục $x, y, z$ và 3 chuyển động quay quanh các trục (góc roll $\phi$, pitch $\theta$, yaw $\psi$). Mô hình động lực học của quadcopter cấu hình chữ "X" được xây dựng bằng phương pháp Newton–Euler, liên hệ giữa hệ quy chiếu quán tính Đông - Bắc - Dưới (NED) và hệ quy chiếu gắn liền với thân vật thể (body-fixed frame):

$$m\ddot{\xi} = -mgD + RF$$

Trong đó:

  • $\xi = (x, y, z)^T$ là vector vị trí trọng tâm của quadcopter trong hệ quy chiếu quán tính NED.
  • $m$ là tổng khối lượng quadcopter, $g$ là gia tốc trọng trường, $D = (0, 0, 1)^T$ là vector hướng của trọng lực.
  • $R$ là ma trận xoay biến đổi từ hệ quy chiếu gắn với thân sang hệ quy chiếu NED, phụ thuộc vào các góc Euler $\phi, \theta, \psi$.
  • $F = (0, 0, -u)^T$ là tổng lực đẩy do 4 động cơ tạo ra theo chiều trục $Z$ thân máy bay.

Mô hình phân bổ lực và mô-men cho 4 động cơ cấu hình chữ "X" tuân theo hệ phương trình:

  • $U_1 = T - T_{roll} + T_{pitch} - T_{yaw}$
  • $U_2 = T - T_{roll} - T_{pitch} + T_{yaw}$
  • $U_3 = T + T_{roll} + T_{pitch} + T_{yaw}$
  • $U_4 = T + T_{roll} - T_{pitch} - T_{yaw}$

Phương pháp thị giác máy tính và nhận diện mục tiêu

Hệ thống sử dụng thư viện ArUco dựa trên nền tảng OpenCV để phát hiện mục tiêu và ước lượng tư thế không gian 3 chiều:

  • Đặc điểm dấu nhận diện: Sử dụng dấu ArUco ma trận nhị phân vuông viền đen thuộc bộ từ điển 4x4 (ArUco Library, kích thước ma trận $4 \times 4$ gồm 16 bit, mã định danh ID = 4).
  • Quy trình xử lý ảnh (3 bước chính):
    1. Tiền xử lý ảnh (Image Acquisition): Chuyển đổi khung hình màu sang ảnh mức xám (grayscale), áp dụng cân bằng biểu đồ mức xám (Histogram Equalization) để nâng cao độ tương phản. Sau đó, nhị phân hóa ảnh bằng kỹ thuật ngưỡng thích nghi cục bộ (Local Adaptive Thresholding) nhằm thích ứng với điều kiện chiếu sáng phức tạp và ánh sáng yếu.
    2. Trích xuất và lọc đường biên (Contour Extraction & Filtering): Sử dụng thuật toán Suzuki & Abe để phát hiện và truy vết các đường biên trong ảnh nhị phân. Để loại bỏ các biên dạng nhiễu không phải hình vuông, thuật toán Douglas-Peucker được áp dụng để đơn giản hóa đa giác và lọc các đường bao sai lệch.
    3. Trích xuất mã nhị phân (Marker Code Extraction): Khử biến dạng phối cảnh (perspective projection) bằng ma trận Homography, nhị phân hóa lại bằng thuật toán tách ngưỡng Otsu để trích xuất các ô bit trắng/đen (giá trị 0 và 1), sau đó đối chiếu với từ điển để xác định ID dấu.
  • Ước lượng tư thế mục tiêu (Target Pose Estimation):
    • Hiệu chuẩn camera bằng bàn cờ (checkerboard) để xác định ma trận thông số nội tại camera $K$ ($f_x, f_y, c_x, c_y$) và các hệ số méo (distortion coefficients).
    • Sử dụng hàm estimatePoseSingleMarkers() trong OpenCV để tính toán vector tịnh tiến không gian 3 chiều $t_{vec} = (x, y, z)$ và vector quay $r_{vec} = (r_x, r_y, r_z)$ theo định dạng biểu diễn Rodrigues giữa tâm ArUco marker và gốc tọa độ camera.

Lý thuyết điều khiển và dẫn đường

  1. Luật dẫn đường tỷ lệ (Proportional Navigation - PN Guidance Law): Được sử dụng trong giai đoạn tiếp cận tầm xa. Luật dẫn đường tạo ra lệnh gia tốc vuông góc với đường ngắm trực tiếp (Line of Sight - LOS) giữa UAV và mục tiêu: $$a_{\perp} = -N |v| \dot{\lambda}$$ (theo công thức vector trong văn bản: $a_{\perp} = -\frac{u}{|u|} \times \dots$), dựa trên nguyên lý duy trì góc đường ngắm không đổi khi cự ly thu hẹp để đưa UAV vào quỹ đạo đánh chặn phương tiện di động.
  2. Bộ điều khiển bám PID (PID Tracking Controller): Kết hợp các khâu tỷ lệ ($K_p$), tích phân ($K_i$) và vi phân ($K_d$) để giảm thiểu sai số vị trí theo mặt phẳng ngang ($x, y$), nâng cao tốc độ đáp ứng và triệt tiêu sai số xác lập khi tiếp cận cự ly gần.
  3. Bộ điều khiển hạ độ cao tỷ lệ (P Descent Controller): Điều chỉnh lực đẩy động cơ để hạ độ cao theo sai số trục thẳng đứng $z$.
  4. Cấu trúc điều khiển tư thế ArduPilot: Vòng điều khiển hai cấp gồm vòng ngoài điều khiển góc (P Angle Controller kết hợp Square Root Controller để tạo đáp ứng phi tuyến mượt mà) và vòng trong điều khiển tốc độ góc (Inner Loop Rate PID Controller) trực tiếp điều khiển các trục Roll, Pitch, Yaw thông qua ma trận phân bổ lệnh cấp phát xung PWM tới các động cơ.

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp nghiên cứu: Kết hợp nghiên cứu lý thuyết động lực học, mô phỏng trên nền tảng phần mềm ArduPilot SITL và môi trường mô phỏng vật lý Gazebo, phát triển phần mềm nhúng giao tiếp qua hệ điều hành Robot (ROS), và kiểm nghiệm trên phần cứng thực tế.
  • Nguồn dữ liệu: Dữ liệu cảm biến thời gian thực từ Pixhawk 6C (IMU, Barometer, Magnetometer, GPS M10), dữ liệu hình ảnh từ camera IMX179, dữ liệu truyền thông MAVLink/MAVROS, và nhật ký dữ liệu bay (flight telemetry logs) thu thập qua phần mềm Mission Planner.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc mô-đun hóa, phân tách rõ ràng giữa tầng tính toán cao cấp (xử lý hình ảnh và dẫn đường) và tầng điều khiển bay cốt lõi (cân bằng và ổn định tư thế).

Kiến trúc phần cứng

  • Khung máy bay (Airframe): Sử dụng khung S500 cấu hình chữ "X", có độ bền cao, đối xứng lực đẩy, trọng tâm tập trung và tích hợp sẵn chân đáp hỗ trợ cất/hạ cánh.
  • Máy tính nhúng đồng hành (Companion Computer): Bo mạch Raspberry Pi 4 Model B (RAM 4GB, vi xử lý lõi tứ Cortex-A72 1.5 GHz), chạy hệ điều hành Ubuntu 20.04. Bo mạch chịu trách nhiệm thu nhận hình ảnh USB, xử lý thuật toán ArUco trên OpenCV, tính toán luật dẫn đường PN và thuật toán bám PID.
  • Bộ điều khiển bay (Flight Controller Unit - FCU): Pixhawk 6C tích hợp vi xử lý STM32H753 tốc độ xung nhịp 480 MHz, cài đặt firmware ArduPilot Copter. Pixhawk 6C tiếp nhận dữ liệu cảm biến nội tại, chạy vòng lặp điều khiển góc quay Rate PID và xuất tín hiệu PWM điều khiển trực tiếp 4 ESC.
  • Cảm biến hình ảnh: Camera USB IMX179 độ phân giải 8MP (cảm biến Type A), góc nhìn rộng $145^\circ$, kết nối trực tiếp với Raspberry Pi 4 qua cổng USB.
  • Hệ thống truyền thông và định vị: Module GPS M10 kết nối UART với Pixhawk; 2 module Telemetry Radio công suất 100mW hoạt động ở phạm vi 300m kết nối giữa Pixhawk và trạm mặt đất GCS; máy tính nhúng kết nối Wi-Fi phục vụ giám sát và cấu hình.
  • Hệ thống động lực và nguồn điện: 4 động cơ không chổi than SunnySky 2216-1100KV kết hợp cánh quạt 1045; 4 bộ điều tốc ESC Hobbywing SkyWalker 40A-UBEC; pin chính LiPo GNB 5500mAh 4S (14,8V, xả 70C/140C); mạch phân phối nguồn PDB (dòng định mức 60A, dòng tức thời 120A) và pin phụ 5V-3A cấp nguồn riêng cho máy tính nhúng.
STT Thiết bị Số lượng Khối lượng thực tế Thông số kỹ thuật chính
1 Động cơ BLDC SunnySky 2216 4 268 g (tổng 4 chiếc) 1100KV, đường kính 27,7 mm, dòng tối đa 24A, hỗ trợ 2–4S
2 ESC Hobbywing SkyWalker 4 156 g (tổng 4 chiếc) Dòng liên tục 40A, điện áp vào 3–4S LiPo, tích hợp UBEC
3 Cánh quạt 1045 4 112 g (tổng 4 chiếc) Đường kính 10 inch, bước xoắn 4,5 inch
4 Pin LiPo GNB 4S 1 445 g Dung lượng 5500 mAh, 14,8V, dòng xả 70C/140C
5 Camera USB IMX179 (Type A) 1 10 g Độ phân giải 8MP (3288x2512), góc nhìn FOV $145^\circ$, nguồn 5VDC
6 Raspberry Pi 4 Model B 1 40 g RAM 4GB, Cortex-A72 1.5GHz, nguồn vào 5VDC
7 Pixhawk 6C Plastic 1 34,6 g STM32H753 480MHz, hỗ trợ cổng USB, I2C, SPI, 5 cổng UART
8 Module GPS M10 1 32 g Điện áp hoạt động 4,2V
9 Mạch chia nguồn (PDB) 1 30 g Kích thước lỗ gắn 45x45mm, định mức 60A, cực đại 120A
10 Power Module 1 20 g Hỗ trợ vào 2S–12S, ra 5,2VDC - 3A, dòng cực đại 120A
11 Pin ngoài 5V 1 300 g Điện áp ra 5VDC - 3A cấp riêng cho máy tính nhúng
12 Telemetry Radio 2 47 g Công suất phát tối đa 100mW, điện áp 5V, tầm xa 300m
Tổng Khối lượng thiết bị - ~1,495 kg (~1,5 kg) Khung S500, dây nối, ốc vít, trụ đồng: chiếm ~1,1 kg còn lại

Ghi chú: Tổng khối lượng mô hình thiết kế mục tiêu là 2,6 kg. Tổng lực nâng cực đại của 4 động cơ đạt khoảng 4,92 kgf (ở mức điện áp 14,8V và lực đẩy cực đại mỗi động cơ 1230 gf), đảm bảo tỷ lệ lực đẩy trên khối lượng (Thrust-to-Weight) đạt gần 2:1 đến 3:1 đối với tải trọng bay thực tế. Thời gian bay tính toán lý thuyết đạt khoảng 15–16 phút.

Kiến trúc phần mềm và quy trình điều khiển nhiệm vụ (Task Planning)

Hệ thống sử dụng Robot Operating System (ROS) làm nền tảng trung gian liên kết các node phần mềm thông qua giao thức MAVROS. Toàn bộ chu trình hạ cánh tự động lên mục tiêu di động được điều phối qua máy trạng thái gồm 3 pha liên tiếp với các ngưỡng sai số thực nghiệm:

  • Pha tiếp cận (Approach Phase): Sau khi cất cánh lên độ cao quy định 5m và phát hiện dấu ArUco trong trường nhìn camera, bộ điều khiển kích hoạt luật dẫn đường tỷ lệ PN để giảm nhanh sai số vị trí tương đối giữa UAV và mục tiêu. Pha này duy trì cho đến khi sai số tọa độ mặt phẳng ngang $E_x$ và $E_y$ giảm xuống dưới 3 mét.
  • Pha bám sát (Tracking Phase): Khi $E_x, E_y < 3$m, hệ thống chuyển sang bộ điều khiển bám PID nhằm đồng bộ vận tốc và quỹ đạo bay của UAV trùng khớp với hướng chuyển động của phương tiện mặt đất. Pha này hoạt động cho tới khi sai số $E_x, E_y$ xuống dưới 0,3 mét.
  • Pha hạ độ cao (Descend Phase): Khi $E_x, E_y < 0,3$m, bộ điều khiển tỷ lệ P điều khiển giảm dần độ cao. Khi độ cao thẳng đứng chỉ còn cách mặt sàn $E_z = 0,5$m, UAV tạm dừng hạ độ cao và bay treo để tránh nhiễu loạn khí động do hiệu ứng mặt đất (ground effect) đồng thời duy trì dấu ArUco trong tầm nhìn hẹp của camera.
  • Pha tiếp đất hoàn tất: Khi sai số mặt phẳng ngang đạt độ chính xác cao ($E_x, E_y < 0,1$m), hệ thống lập tức giảm nhanh lực đẩy động cơ để đáp dứt khoát lên mặt sàn di động.
  • Cơ chế an toàn (Failsafe): Trong suốt quá trình thực thi, nếu mục tiêu bị mất dấu khỏi khung hình ở bất kỳ pha nào, UAV sẽ tự động dừng chuyển động bám, chuyển sang chế độ bay treo cố định tại tọa độ điểm chờ (waypoint) và tiếp tục quét camera để tìm lại mục tiêu.

Nội dung chính theo từng chương

CHAPTER 1: OVERVIEW

Chương 1 trình bày tổng quan về thực trạng phát triển UAV, nhấn mạnh rào cản về dung lượng pin và nêu bật giải pháp trạm sạc di động trên xe mặt đất. Tác giả tiến hành tổng quan các công trình nghiên cứu trong và ngoài nước:

  • Phân tích các nghiên cứu quốc tế sử dụng MPC, GPS-RTK và drone DJI thương mại, chỉ ra nhược điểm về chi phí cao và tính đóng kín của hệ thống.
  • Đánh giá nghiên cứu trước đó của nhóm sinh viên Trường ĐH Sư phạm Kỹ thuật TP.HCM (hướng dẫn bởi TS. Hà Lê Như Ngọc Thành) sử dụng nhận diện học sâu (deep learning), làm rõ nhược điểm tính toán nặng, độ trễ khung hình cao và thuật toán bám chưa tối ưu.
  • Xác định mục tiêu, phương pháp nghiên cứu (mô phỏng SITL/Gazebo, ROS, thực nghiệm phần cứng) và giới hạn phạm vi nghiên cứu (dùng GPS thường/INS, xe chạy thẳng đều 2–3 mph, camera hướng xuống).
  • Đưa ra 3 kịch bản bay thử nghiệm: bay hình vuông ở độ cao 3m (Square flight), bay hạ cánh trên mục tiêu cố định và bay hạ cánh trên mục tiêu di động.

CHAPTER 2: THEORETICAL BACKGROUND

Chương 2 thiết lập toàn bộ cơ sở lý thuyết phục vụ đề tài:

  • Phân loại UAV, cấu trúc khung chữ "X", nguyên lý định vị của IMU và hệ thống vệ tinh GPS (phương pháp giao hội không gian).
  • Xây dựng hệ phương trình động lực học quadcopter 6 bậc tự do thông qua hệ thức Newton–Euler trong hệ tọa độ NED và Body frame.
  • Giới thiệu hệ sinh thái ArduPilot (firmware Copter, phần mềm Mission Planner).
  • Chi tiết hóa lý thuyết nhận diện dấu ArUco kích thước ma trận nhị phân 4x4 (16 bit); phân tích thuật toán tiền xử lý ảnh xám, cân bằng biểu đồ mức xám, ngưỡng thích nghi cục bộ; thuật toán trích xuất biên Suzuki & Abe kết hợp giải thuật Douglas-Peucker; thuật toán tách mã nhị phân Otsu và khử biến dạng phối cảnh.
  • Trình bày công thức ước lượng tư thế 3D với ma trận camera nội tại $K$ và vector dịch chuyển/xoay ($t_{vec}, r_{vec}$) bằng hàm OpenCV estimatePoseSingleMarkers().
  • Thiết lập cơ sở toán học cho luật dẫn đường tỷ lệ PN dựa trên vận tốc góc đường ngắm (LOS rate), thuật toán điều khiển PID và cấu trúc điều khiển tư thế hai vòng của ArduPilot.

CHAPTER 3: HARDWARE DESIGN AND IMPLEMENTATION

Chương 3 chi tiết hóa việc lựa chọn, tính toán và tích hợp phần cứng cho mô hình quadcopter:

  • Đặt ra bài toán yêu cầu: bay treo ổn định ở độ cao 5m, bám và đáp lên phương tiện di động thẳng đều 2–3 mph.
  • Tính toán ước lượng khối lượng hệ thống (ước tính ban đầu 1,8 kg, thiết kế chịu tải mô hình 2,6 kg).
  • Lựa chọn khung S500 chữ "X"; lựa chọn động cơ SunnySky 2216-1100KV kết hợp cánh quạt 1045; phân tích bảng thực nghiệm lực đẩy của nhà sản xuất (ở 14,8V điện áp, dòng xả cực đại 28,2A, lực đẩy cực đại đạt 1230 gf mỗi động cơ, tổng lực nâng tối đa đạt 4,92 kgf).
  • Tính toán lựa chọn pin LiPo 4S GNB 5500mAh 70C (khả năng xả dòng liên tục cực đại đạt $70 \times 5,5 = 385$A, vượt xa nhu cầu tiêu thụ cực đại 112,8A của 4 động cơ), tính toán thời gian bay lý thuyết đạt 15–16 phút.
  • Lựa chọn ESC Hobbywing SkyWalker 40A, mạch Pixhawk 6C (chip STM32H753 480MHz), máy tính nhúng Raspberry Pi 4B (RAM 4GB), camera USB 8MP IMX179 góc nhìn $145^\circ$.
  • Lập bảng tổng hợp 12 thành phần linh kiện (tổng khối lượng thiết bị ~1,5 kg, khối lượng khung vỏ và phụ kiện ~1,1 kg).

CHAPTER 4: DESIGN OF CONTROL SYSTEM

Chương 4 tập trung vào việc thiết kế cấu trúc điều khiển tổng thể và lưu đồ lập lịch nhiệm vụ (Task Planning):

  • Phân chia kiến trúc điều khiển thành 3 khối chính: Trạm điều khiển mặt đất (GCS), Máy tính nhúng đồng hành (Companion Computer), và Khối điều khiển bay (FCU).
  • Xây dựng 3 quy trình lập lịch nhiệm vụ cụ thể:
    1. Lưu đồ bay treo (Hovering flight flowchart): Tích hợp chức năng kiểm tra an toàn tiền bay (PreArm check) tự động đánh giá cảm biến, pin, kết nối sóng vô tuyến và GCS; phục vụ tinh chỉnh hệ số PID điều khiển tốc độ góc.
    2. Lưu đồ bay hình vuông (Square flight flowchart): Điều hướng UAV tự động bay tuần tự qua 4 điểm mốc (waypoints) ở độ cao cố định 3m để đánh giá bộ điều khiển vị trí mặt phẳng ngang.
    3. Lưu đồ hạ cánh tự động (Task planning flowchart): Chuyển đổi trạng thái linh hoạt qua các pha Tiếp cận (Approach), Bám mục tiêu (Tracking), Hạ độ cao (Descend) dựa trên các ngưỡng sai số $E_x, E_y < 3$m, $0,3$m, $0,1$m và độ cao ngưỡng $E_z = 0,5$m; tích hợp thuật toán an toàn khi mất mục tiêu.
  • Thiết lập phương trình toán học cho luật dẫn đường tiếp cận PN và cấu trúc bộ điều khiển bám PID mặt phẳng ngang kết hợp khâu vi phân (PD structure) triệt tiêu dao động.

CHAPTER 5: SIMULATION AND EXPERIMENTATION

Chương 5 trình bày toàn bộ kết quả mô phỏng và thử nghiệm thực tế:

  • Hệ thống mô phỏng: Cài đặt mô hình quadcopter trong Gazebo kết nối ArduPilot SITL thông qua các plugin điều khiển, xây dựng mô hình xe di động mang sàn đáp ArUco, mô phỏng camera hướng xuống và đồ thị các node trong hệ điều hành ROS.
  • Thực nghiệm thị giác: Thử nghiệm hiệu chuẩn camera bằng bàn cờ, kiểm tra nhận diện dấu ArUco ở các độ cao khác nhau lên đến 5m, đo đạc độ lệch tâm sai số trục $X$ và $Y$ cũng như góc quay $r_{vec}$.
  • Thử nghiệm điều khiển bay cơ bản: Đánh giá độ ổn định góc roll, pitch, yaw khi bay treo; hiệu chỉnh hệ số PID tốc độ góc (Rate PID gains); thử nghiệm khả năng giữ vị trí trong điều kiện gió nhỏ và gió lớn; thực nghiệm bay theo quỹ đạo hình vuông 2D ở độ cao 3m.
  • Thử nghiệm hạ cánh tự động:
    • Kịch bản hạ cánh trên sàn đáp cố định (Stationary pad): Đánh giá đáp ứng quỹ đạo 3D/2D, sai số vị trí theo 3 trục $x, y, z$ và đáp ứng góc xoay roll, pitch, yaw.
    • Kịch bản hạ cánh trên sàn đáp di động cùng chiều (Moving pad - same direction): Thử nghiệm ở các dải vận tốc xe di chuyển 0,3 m/s, 0,5 m/s và 1,0 m/s; phân tích đáp ứng vị trí và vận tốc bám theo trục $x$ và $y$.
    • Kịch bản hạ cánh trên sàn đáp di động ngược chiều (Moving pad - opposite direction): Thử nghiệm ở các vận tốc 0,3 m/s, 0,6 m/s và 1,0 m/s; ghi nhận đáp ứng góc nghiêng và sai số tiếp đất.
    • Kịch bản hạ cánh di động kết hợp cả hai trục $x$ và $y$.
    • Đánh giá hiệu quả của luật dẫn đường PN có và không có cấu trúc vi phân PD, chứng minh cấu trúc đề xuất triệt tiêu dao động vượt lố và ổn định sai số $E_x, E_y$ về dưới 0,1m.

CHAPTER 6: CONCLUSION AND DEVELOPMENT

Chương 6 tổng kết các kết quả đạt được của đề tài về mặt lý thuyết, mô phỏng và mô hình phần cứng thực nghiệm; khẳng định tính khả thi của giải pháp hạ cánh tự động giá thành thấp; đồng thời đề xuất các hướng phát triển tiếp theo của hệ thống.


Kết quả và đóng góp

Kết quả kỹ thuật chính

  1. Chế tạo thành công mô hình phần cứng: Lắp ráp hoàn chỉnh mẫu quadcopter khung S500 với tổng khối lượng thiết bị xấp xỉ 1,5 kg (tổng khối lượng toàn tải 2,6 kg), hệ thống động lực 4 động cơ SunnySky 2216-1100KV kết hợp cánh 1045 tạo lực nâng cực đại 4,92 kgf, thời gian bay tính toán đạt 15–16 phút với pin LiPo 4S 5500mAh.
  2. Khả năng nhận diện và bám mục tiêu thời gian thực: Thuật toán ArUco chạy trên Raspberry Pi 4B cho phép phát hiện chính xác dấu hạ cánh từ độ cao 5m với góc quan sát rộng $145^\circ$, trích xuất tọa độ 3D và góc lệch không gian ổn định.
  3. Hiệu năng điều khiển qua các kịch bản thử nghiệm:
    • Hoàn thành bài toán bay treo ổn định góc và bay bám quỹ đạo hình vuông ở độ cao cố định 3m.
    • Thực hiện hạ cánh thành công trên mục tiêu cố định với sai số vị trí tiếp đất nhỏ.
    • Hạ cánh chính xác trên xe di động ở các mức vận tốc 0,3 m/s, 0,5 m/s, 0,6 m/s và lên đến 1,0 m/s ở cả kịch bản di chuyển cùng chiều, ngược chiều và di chuyển chéo kết hợp hai trục $x-y$.
    • Kiểm chứng thành công chiến lược hạ cánh phân tầng: chuyển pha linh hoạt tại các ngưỡng $E_x, E_y < 3$m, $0,3$m, giữ độ cao ổn định tại $E_z = 0,5$m để triệt tiêu hiệu ứng mặt đất, và hạ cánh dứt khoát khi sai số ngang đạt dưới $0,1$m.

Giải pháp kỹ thuật tác giả đề xuất

  • Chiến lược điều khiển lai (Hybrid Guidance & Control): Kết hợp linh hoạt luật dẫn đường tỷ lệ (PN guidance law) để tiếp cận nhanh mục tiêu từ xa và bộ điều khiển bám PID ở cự ly gần để đồng bộ vận tốc chính xác.
  • Cơ chế ngắt độ cao phòng chống hiệu ứng mặt đất: Thiết lập ngưỡng giữ độ cao $E_z = 0,5$m trong giai đoạn cuối, giúp camera duy trì quan sát dấu ArUco không bị che khuất hoặc vượt khỏi tầm nhìn hẹp ở khoảng cách cực gần, đồng thời tránh nhiễu loạn khí động trước khi ngắt lực đẩy để hạ cánh.

Đóng góp so với các nghiên cứu trước

  • Khắc phục nhược điểm của nhóm nghiên cứu trước tại HCMUTE: Thay thế mô hình nhận diện học sâu (deep learning) nặng nề bằng thuật toán ArUco tối ưu trên OpenCV, giúp giảm tải tài nguyên tính toán, cho phép hệ thống chạy mượt mà theo thời gian thực trên bo mạch giá rẻ Raspberry Pi 4B thay vì phải trang bị GPU nhúng đắt tiền như Jetson Nano.
  • Phát triển hệ thống mở hoàn chỉnh từ phần cứng tới phần mềm dựa trên nền tảng ArduPilot và ROS mã nguồn mở, không phụ thuộc vào nền tảng đóng của drone thương mại (DJI), tạo khả năng tùy biến sâu cho các nghiên cứu tiếp theo.
  • Tối ưu hóa chi phí thực hiện khi không cần dùng đến các hệ thống cảm biến định vị đắt đỏ như GNSS-RTK hay Lidar.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Hệ thống cảm biến định vị: Chỉ sử dụng module GPS dân dụng thông thường và cảm biến quán tính INS có sẵn trên Pixhawk 6C, không có RTK hay cảm biến đo cự ly quang học chuyên dụng, dẫn đến độ chính xác ước lượng vị trí tuyệt đối còn phụ thuộc vào chất lượng tín hiệu GPS và độ trôi cảm biến.
  • Phạm vi chuyển động của mục tiêu: Mới chỉ thử nghiệm thành công với phương tiện mặt đất chuyển động thẳng đều ở dải vận tốc thấp (2–3 mph, tối đa 1,0 m/s); chưa thử nghiệm với mục tiêu chuyển động gia tốc, chuyển động ngoằn ngoèo hoặc quỹ đạo phi tuyến phức tạp.
  • Ràng buộc trường nhìn camera: Camera gắn cố định hướng xuống đáy UAV mà không có cơ cấu xoay gimbal, do đó xe mục tiêu bắt buộc phải đi qua vùng nhìn thấy (FOV) của camera. Hệ thống hoàn toàn chưa có cơ chế bám bắt mục tiêu ngoài tầm nhìn ở cự ly xa.

Hướng nghiên cứu mở rộng

  • Nâng cấp thuật toán điều khiển để thích ứng với mục tiêu chuyển động cơ động cao hơn, vận tốc lớn hơn và di chuyển theo quỹ đạo phi tuyến.
  • Tích hợp thêm cảm biến đo độ cao chính xác (như cảm biến laser/sonar rangefinder) để hỗ trợ tiếp đất an toàn hơn trong pha hạ cánh cuối.
  • Bổ sung hệ thống định vị tầm xa hoặc cơ cấu camera xoay (gimbal) để mở rộng vùng tìm kiếm mục tiêu trước khi tiến vào pha tiếp cận.
  • Nghiên cứu cơ chế khóa cơ khí và mạch sạc pin tự động trên sàn đáp để hoàn thiện mô hình trạm sạc di động khép kín.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này là tài liệu tham khảo kỹ thuật hữu ích cho:

  • Đối tượng tham khảo: Sinh viên, học viên cao học, giảng viên và kỹ sư nghiên cứu thuộc các chuyên ngành Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Robot, Kỹ thuật Hàng không và Công nghệ Thông tin (hướng thị giác máy tính ứng dụng).
  • Các nội dung có giá trị tham khảo chuyên sâu:
    • Quy trình tính toán chọn lựa phần cứng đồng bộ cho quadcopter (tính toán lực đẩy động cơ BLDC, bước xoắn cánh quạt, chọn dòng xả pin LiPo 4S và dòng định mức ESC) tại Chương 3.
    • Cấu trúc tích hợp phần cứng - phần mềm giữa máy tính nhúng (Raspberry Pi 4 / ROS / MAVROS) và bộ điều khiển bay mã nguồn mở (Pixhawk 6C / ArduPilot).
    • Thuật toán xử lý ảnh ArUco thời gian thực sử dụng OpenCV (từ lọc biên Suzuki-Abe, Douglas-Peucker đến ước lượng tư thế 3D với Rodrigues tvec/rvec).
    • Phương pháp xây dựng thuật toán điều khiển lai giữa luật dẫn đường PN và bộ điều khiển PID bám quỹ đạo, kèm theo các ngưỡng chuyển pha thực nghiệm rõ ràng trong bài toán tiếp cận - hạ cánh chính xác.

Câu hỏi thường gặp

1. Tại sao nhóm nghiên cứu lại chọn dấu ArUco thay vì mô hình học sâu (Deep Learning) hay các ký hiệu hạ cánh khác?

Trong nghiên cứu trước đó tại trường, việc áp dụng mô hình nhận diện học sâu đòi hỏi năng lực tính toán rất lớn, gây độ trễ khung hình cao khi chạy trên các máy tính nhúng giá rẻ. Dấu ArUco được cấu tạo từ ma trận nhị phân viền đen đơn giản, cho phép trích xuất biên bằng thuật toán Suzuki & Abe, đơn giản hóa bằng Douglas-Peucker và nhận diện mã bit bằng ngưỡng Otsu rất nhanh trên OpenCV. Phương pháp này đảm bảo tần số cập nhật hình ảnh cao trong thời gian thực trên bo mạch Raspberry Pi 4B mà không cần GPU đắt tiền.

2. Chiến lược điều khiển hạ cánh của UAV được chia thành những pha nào và điều kiện chuyển pha là gì?

Chiến lược hạ cánh gồm 3 pha chính được kích hoạt sau khi UAV cất cánh lên độ cao 5m và phát hiện mục tiêu:

  1. Pha tiếp cận (Approach Phase): Sử dụng luật dẫn đường tỷ lệ PN để thu hẹp khoảng cách; duy trì khi sai số ngang $E_x, E_y \ge 3$m.
  2. Pha bám mục tiêu (Tracking Phase): Kích hoạt khi $E_x, E_y < 3$m, dùng bộ điều khiển PID để đồng bộ vận tốc và bám sát sàn đáp đến khi $E_x, E_y < 0,3$m.
  3. Pha hạ độ cao (Descend Phase): Dùng bộ điều khiển P để hạ thấp độ cao; khi đến ngưỡng $E_z = 0,5$m, UAV giữ độ cao để tránh hiệu ứng mặt đất và duy trì góc nhìn camera. Khi sai số ngang đạt $E_x, E_y < 0,1$m, lực đẩy động cơ được ngắt nhanh để tiếp đất hoàn tất.

3. Cấu hình phần cứng chính của quadcopter bao gồm những thiết bị gì và thời gian bay ước tính là bao nhiêu?

Hệ thống sử dụng khung S500 chữ "X", 4 động cơ BLDC SunnySky 2216-1100KV, cánh quạt 1045, 4 ESC Hobbywing SkyWalker 40A, pin chính LiPo GNB 5500mAh 4S (70C), mạch điều khiển bay Pixhawk 6C (vi xử lý STM32H753 480MHz chạy ArduPilot), máy tính nhúng Raspberry Pi 4B (RAM 4GB chạy Ubuntu 20.04/ROS), và camera USB 8MP IMX179 góc nhìn $145^\circ$. Tổng khối lượng thiết bị khoảng 1,5 kg, khối lượng toàn tải 2,6 kg, và thời gian bay tính toán lý thuyết đạt khoảng 15–16 phút.

4. Vai trò của luật dẫn đường tỷ lệ (PN guidance law) trong hệ thống là gì?

Luật dẫn đường tỷ lệ (PN) được ứng dụng trong giai đoạn tiếp cận ban đầu khi UAV ở cự ly xa mục tiêu (sai số lớn hơn 3m). Luật này tạo ra lệnh gia tốc vuông góc với đường ngắm (LOS) dựa trên tốc độ quay của vector LOS. Cơ chế này giúp UAV chủ động đón đầu và tạo quỹ đạo đánh chặn phương tiện di động một cách nhanh chóng và tối ưu hơn so với các bộ điều khiển bám sai số vị trí thông thường.

5. Phạm vi thử nghiệm vận tốc của mục tiêu di động trong khóa luận là bao nhiêu?

Mục tiêu di động mặt đất được thử nghiệm di chuyển thẳng đều trong dải vận tốc từ 2 đến 3 dặm/giờ (mph). Trong các kịch bản thực nghiệm mô phỏng và thực tế tại Chương 5, các mức vận tốc cụ thể được đo đạc và đánh giá chi tiết là 0,3 m/s, 0,5 m/s, 0,6 m/s và tối đa là 1,0 m/s ở các hướng di chuyển cùng chiều, ngược chiều và chéo góc so với UAV.


Kết luận

Đồ án tốt nghiệp "Implementation of automatic landing UAV on moving target" của sinh viên Nguyễn Chí Cường và Trần Phi Hùng (ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Trường Đại học Sư phạm Kỹ thuật TP.HCM) đã nghiên cứu, thiết kế và triển khai thành công một hệ thống quadcopter tự chủ có khả năng bám và hạ cánh chính xác lên mục tiêu mặt đất di chuyển ở dải vận tốc thấp (lên đến 1,0 m/s). Bằng việc tích hợp hài hòa kỹ thuật xử lý ảnh ArUco thời gian thực trên Raspberry Pi 4B với chiến lược điều khiển lai kết hợp luật dẫn đường tỷ lệ PN và bộ điều khiển PID/P trên nền tảng ArduPilot/ROS, công trình đã giải quyết tốt bài toán tiếp đất chính xác mà không cần phụ thuộc vào các cảm biến RTK đắt đỏ. Kết quả của khóa luận cung cấp một mô hình thực nghiệm hoàn chỉnh, có độ tin cậy cao, tạo nền tảng kỹ thuật vững chắc cho việc phát triển các ứng dụng trạm sạc di động và mở rộng tầm hoạt động cho các phương tiện bay không người lái trong tương lai.