Bối cảnh và vấn đề nghiên cứu
Thiết bị bay không người lái (Unmanned Aerial Vehicle - UAV), thường được gọi phổ biến là Drone, ngày càng khẳng định vai trò quan trọng trong cả lĩnh vực quân sự lẫn dân sự nhờ tính linh hoạt, khả năng cơ động cao và khả năng mang theo các cảm biến đo lường hoặc thiết bị quan sát. Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0, sự phát triển mạnh mẽ của phần cứng máy tính nhúng, thị giác máy tính và các thuật toán học máy đã mở ra tiềm năng lớn cho việc nghiên cứu hệ thống bay tự hành. Một trong những bài toán thực tiễn có giá trị ứng dụng cao là nhận dạng và tự động bám theo đối tượng di động (phục vụ cứu nạn cứu hộ, giám sát an ninh trật tự, theo dõi mục tiêu hoặc ghi hình thể thao).
Theo nhóm tác giả, trước đây các nhiệm vụ này chủ yếu thực hiện thủ công bằng người điều khiển từ xa. Phương thức này đòi hỏi người vận hành phải có kỹ năng điều khiển bay thuần thục, tập trung liên tục trong suốt hành trình, đồng thời tín hiệu hình ảnh truyền về từ khoảng cách xa dễ bị gián đoạn hoặc trễ, gây lãng phí nhân lực và tiềm ẩn rủi ro mất dấu mục tiêu. Do đó, việc nghiên cứu một hệ thống UAV có khả năng độc lập xử lý hình ảnh và tự động điều khiển bám theo mục tiêu là yêu cầu thực tiễn cần giải quyết.
Khảo sát tổng quan các nghiên cứu liên quan cho thấy:
- Các nghiên cứu quốc tế: Nhiều công trình sử dụng các nền tảng thương mại như AR Drone của hãng Parrot kết hợp bộ lọc Kalman hoặc hệ điều hành robot ROS. Tuy nhiên, AR Drone có nhược điểm tải trọng hạn chế, khả năng kháng gió kém, chủ yếu phục vụ giải trí. Nền tảng ROS phân tán đòi hỏi kiến thức chuyên sâu và cấu hình phức tạp. Một số nghiên cứu khác sử dụng vi điều khiển cơ bản (như ATmega2560) nhận diện vật thể theo màu sắc bằng OpenCV, song phương pháp này rất nhạy cảm với điều kiện chiếu sáng và dễ gây nhầm lẫn khi môi trường thay đổi.
- Các nghiên cứu trong nước: Tại Việt Nam nói chung và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nói riêng, các đề tài về Drone của sinh viên còn tương đối hạn chế. Một số nghiên cứu trước đó chỉ dừng lại ở mạch điều khiển Arduino đơn giản với tốc độ xử lý thấp (3–4 FPS), sử dụng mô hình đóng gói sẵn (như Tello Drone), dừng lại ở bài toán cất/hạ cánh cố định bằng PID kinh điển, hoặc chỉ giải quyết bài toán mô phỏng trên không gian ảo (MATLAB, LabVIEW) mà chưa chế tạo và thực nghiệm trên mô hình vật lý hoàn chỉnh.
Từ những hạn chế trên, đề tài "Thiết kế mô hình bay không người lái và giải thuật bám theo đối tượng" được nhóm sinh viên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa thực hiện nhằm tự thiết kế, thi công một mô hình Quadcopter chi phí tối ưu, kết hợp mạch bay chuyên dụng và máy tính nhúng để bám theo đối tượng người trong thực tế.
Mục tiêu nghiên cứu:
- Mục đích tổng quát: Thiết kế mô hình máy bay không người lái và giải thuật điều khiển bám theo đối tượng.
- Mục tiêu cụ thể:
- Tính toán được các phương trình mô tả động học của máy bay bốn cánh, từ đó thiết kế mô hình bay có thể bay thăng bằng.
- Xây dựng được chương trình nhận dạng đối tượng cho máy tính nhúng khi máy bay đang bay.
- Thiết kế được thuật toán điều khiển bay bám theo đối tượng là con người.
- Áp dụng thành công giải thuật bay bám theo mục tiêu vào mô hình thực tế.
Nhiệm vụ nghiên cứu:
- Tìm hiểu, nghiên cứu về máy bay không người lái và các ứng dụng liên quan.
- Thiết kế mô hình Quadcopter trên phần mềm SolidWorks 2021.
- Phân tích động học máy bay bốn cánh.
- Tìm hiểu mô hình xử lý ảnh cho bài toán phát hiện đối tượng.
- Tìm hiểu về máy tính nhúng, cách cài đặt các thư viện và framework phục vụ thị giác máy tính và mô hình học sâu.
- Thi công, lắp ráp mô hình Quadcopter dựa trên bản thiết kế.
- Tính toán, thiết kế bộ điều khiển PID cho Quadcopter.
- Lập trình chuyển động của Quadcopter thông qua thư viện DroneKit.
- Áp dụng thị giác máy tính và mô hình học sâu để điều khiển Quadcopter bay bám theo đối tượng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Mô hình máy bay bốn cánh (Quadcopter cấu hình chữ X) tích hợp mạch điều khiển bay Pixhawk, máy tính nhúng và camera; đối tượng bám theo là con người.
- Phạm vi không gian: Thực nghiệm bay tại khuôn viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (khu E và sân bóng đá của trường).
- Phạm vi thời gian: Đồ án được triển khai thực hiện từ tháng 02/2023 đến tháng 07/2023.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình toán học
Đồ án xây dựng cơ sở lý thuyết dựa trên các trụ cột chính:
- Lý thuyết khí động học và phân loại UAV: Tác giả phân tích so sánh các cấu hình bay chính gồm cánh bằng (Fixed Wing), trực thăng đơn (Single Rotor) và cánh quạt đa hướng (Multirotor Drone). Trong nhóm Multirotor, đồ án so sánh các cấu hình Tricopter, Quadcopter, Hexacopter và Octocopter dựa trên các chỉ tiêu kỹ thuật:
| Yếu tố đánh giá |
Tricopter |
Quadcopter |
Hexacopter |
Octocopter |
| Số lượng cánh quạt |
3 |
4 |
6 |
8 |
| Khả năng ổn định (Stabilization) |
Điều chỉnh |
Tốt |
Rất tốt |
Rất tốt |
| Sức nâng / Tải trọng |
Thấp / Nhẹ |
Trung bình |
Cao |
Rất cao / Rất nặng |
| Độ ổn định |
Thấp |
Cao |
Rất cao |
Rất cao |
| Khả năng chịu gió |
Thấp |
Trung bình |
Cao |
Rất cao |
| Độ phức tạp |
Thấp |
Thấp |
Trung bình |
Cao |
| Tiêu thụ năng lượng |
Thấp |
Trung bình |
Trung bình |
Cao |
| Giá thành |
Thấp |
Thấp |
Trung bình |
Cao |
Quadcopter dạng khung chữ X được lựa chọn vì đảm bảo tính cơ động, kết cấu cơ khí nhỏ gọn, chi phí chế tạo thấp và thuật toán điều khiển phù hợp với cấp độ nghiên cứu đại học. Nguyên lý cân bằng gồm hai cặp động cơ quay ngược chiều: động cơ #1 và #3 quay ngược chiều kim đồng hồ (CCW), động cơ #2 và #4 quay cùng chiều kim đồng hồ (CW), giúp triệt tiêu phản lực mô-men xoắn.
- Mô hình động học 6 bậc tự do (6-DOF): Máy bay được mô tả qua 12 biến trạng thái trên 2 hệ quy chiếu:
- Hệ quy chiếu gắn trên thân (Body frame $B$): Gốc tại tâm khối lượng, xác định véc-tơ vận tốc dài $\mu = [u, v, w]^T$ và véc-tơ vận tốc góc $\omega = [p, q, r]^T$.
- Hệ quy chiếu mặt đất (Inertial Earth frame $E$ - NED): Xác định véc-tơ vị trí tuyến tính $\xi = [x, y, z]^T$ và véc-tơ góc hướng Euler $\eta = [\phi, \theta, \psi]^T$ tương ứng với các chuyển động Roll (cuộn), Pitch (nghiêng), Yaw (xoay).
- Ma trận xoay chuyển đổi tọa độ $R_T = R(x, \phi) R(y, \theta) R(z, \psi)$ và ma trận chuyển đổi vận tốc góc $T_O$ được nhóm tác giả chứng minh và thiết lập chi tiết để làm cơ sở cho bộ điều khiển trạng thái.
- Hệ thống đo lường, định vị và điều khiển chuyến bay:
- Hệ thống đo lường quán tính (IMU) gồm gia tốc kế (Accelerometer), con quay hồi chuyển (Gyroscope) và từ trường kế (Magnetometer); kết hợp với máy tính dẫn đường tạo thành hệ thống INS.
- Hệ thống định vị toàn cầu GPS cung cấp tọa độ địa lý dựa trên việc thu nhận tín hiệu tối thiểu từ 3 vệ tinh.
- Phần mềm mã nguồn mở Ardupilot nạp trên mạch bay Pixhawk.
- Giao thức truyền thông MAVLink dùng để đóng gói và gửi dữ liệu điều khiển giữa máy bay và trạm mặt đất.
- Thư viện lập trình DroneKit API cung cấp giao diện giao tiếp trực tiếp giữa máy tính nhúng và mạch bay Pixhawk.
- Phần mềm Mission Planner chạy trên máy tính mặt đất (Windows 11) tiếp nhận dữ liệu telemetry qua kết nối không dây Bluetooth (tần số 2,4 GHz) và Wi-Fi.
-
Bộ điều khiển vi tích phân tỉ lệ (PID):
Bộ điều khiển PID vòng kín tính toán sai số $e(t)$ giữa giá trị đặt và giá trị phản hồi để điều chỉnh đầu ra theo công thức:
$$u(t) = K_p e(t) + K_i \int_{0}^{t} e(\tau) d\tau + K_d \frac{de(t)}{dt}$$
Trong đó $K_p$, $K_i$, $K_d$ lần lượt là độ lợi tỉ lệ, tích phân và vi phân, dùng để điều khiển ổn định độ cao, góc xoay và vị trí của Quadcopter.
-
Thị giác máy tính và học sâu phát hiện đối tượng:
- Mạng nơ-ron tích chập CNN và kiến trúc mạng MobileNet kết hợp mô hình phát hiện đối tượng SSD (Single Shot MultiBox Detector). MobileNet sử dụng kỹ thuật tích chập phân tách theo chiều sâu (Depthwise Separable Convolution) gồm hai bước: tích chập chiều sâu (Depthwise Convolution) và tích chập điểm (Pointwise Convolution), giúp giảm đáng kể khối lượng phép tính so với tích chập tiêu chuẩn, phù hợp cho vi xử lý nhúng.
- Kỹ thuật lọc bỏ các khung bao trùng lặp Non-Maximum Suppression (NMS).
- Kỹ thuật học chuyển giao (Transfer Learning) dựa trên trọng số huấn luyện trước từ bộ dữ liệu COCO.
- Công cụ tối ưu hóa hiệu năng suy luận TensorRT trên phần cứng nhúng.
- Thuật toán bám đối tượng dựa trên tâm (Centroid based Object Tracking).
Phương pháp nghiên cứu
- Phương pháp thiết kế kỹ thuật: Thiết kế mô hình 3D khung, vỏ bảo vệ mạch bay và cơ cấu gá camera trên phần mềm SolidWorks 2021; gia công, thi công lắp ráp phần cứng.
- Phương pháp thực nghiệm dữ liệu: Thu thập tập dữ liệu bằng cách trích xuất khoảng 1.000 khung hình từ video quay thực tế; sử dụng phần mềm LabelImg để dán nhãn thủ công đối tượng người; huấn luyện mô hình MobileNet-SSD bằng ngôn ngữ Python trên nền tảng Google Colab; đánh giá mô hình bằng chỉ số mAP và đồ thị hàm mất mát (Loss).
- Phương pháp phân tích thực nghiệm: Tiến hành các chuyến bay thực tế trong các điều kiện môi trường khác nhau; ghi nhận dữ liệu đáp ứng qua Mission Planner và sử dụng phần mềm MATLAB để vẽ, phân tích đồ thị sai số góc, độ cao, vận tốc và xung xuất động cơ.
Thiết kế và triển khai hệ thống
Kiến trúc phần cứng và thiết kế cơ khí
Hệ thống Quadcopter được thiết kế trên SolidWorks 2021 với các thông số cấu trúc:
- Khung máy bay dạng chữ X, kích thước hình học dự kiến: 550 x 550 x 210 (mm).
- Kết cấu khung gồm mặt đế trên, mặt đế dưới, 4 cánh tay đòn gắn 4 động cơ không chổi than, cánh quạt và hệ thống chân đáp.
- Hộp bảo vệ mạch bay Pixhawk được thiết kế riêng nhằm che chắn cảm biến và chống nhiễu áp suất tĩnh do luồng gió từ cánh quạt tạo ra.
- Cụm chân đế xoay và giá đỡ gá camera được thiết kế chuyên dụng đặt ở phần dưới thân máy bay để đảm bảo góc quan sát đối tượng phía trước.
- Hệ thống điện gồm bộ chia nguồn, các bộ điều tốc điện tử (ESC), pin nguồn và hệ thống dây nối tín hiệu điều khiển.
Kiến trúc truyền thông và liên kết phần mềm
Hệ thống điều khiển phân tầng gồm hai khối xử lý chính:
- Khối điều khiển bay (Flight Controller): Sử dụng mạch điều khiển chuyên dụng Pixhawk chạy firmware Ardupilot, trực tiếp xử lý dữ liệu từ IMU, la bàn số, cảm biến áp suất và GPS, đồng thời thực thi thuật toán PID vòng kín để điều khiển tốc độ 4 động cơ thông qua ESC.
- Khối máy tính đồng hành (Companion Computer): Máy tính nhúng chịu trách nhiệm giao tiếp với camera, chạy mô hình học sâu MobileNet-SSD và thuật toán Centroid Tracking.
- Cơ chế giao tiếp MAVLink và DroneKit:
Máy tính nhúng kết nối với cổng telemetry của Pixhawk thông qua giao thức MAVLink. Cấu trúc gói tin MAVLink và cấu trúc thư viện DroneKit được triển khai như sau:
| Thành phần MAVLink |
Trường dữ liệu |
Mô tả chi tiết |
| Header |
STX, LEN, SEQ, SYS, COMP, MSG |
Đánh dấu đầu gói (0xFE), độ dài dữ liệu, số thứ tự gói, ID hệ thống, ID thành phần, mã định danh thông điệp |
| Payload |
Mission Data, Status Flags, Time Stamp, Fields |
Dữ liệu nhiệm vụ bay, cờ trạng thái hoạt động, dấu thời gian đồng bộ và các trường giá trị cảm biến |
| CRC |
CKA, CKB |
Mã kiểm tra phần dư tuần hoàn kiểm soát tính toàn vẹn dữ liệu |
| Module DroneKit |
Chức năng trong hệ thống |
| Connection |
Quản lý kết nối truyền thông qua giao thức MAVLink giữa máy tính nhúng và Pixhawk |
| Vehicle State |
Giám sát trạng thái máy bay (tọa độ GPS, độ cao, vận tốc, góc hướng Euler, pin) |
| Vehicle Control |
Gửi trực tiếp các lệnh điều khiển chế độ bay, vận tốc, cất cánh và hạ cánh |
| Telemetry |
Ghi nhận và truyền các thông số hoạt động theo thời gian thực về máy tính trạm |
| Mission Planning |
Lập trình và kiểm soát kế hoạch quỹ đạo bay tự động |
Nguyên lý giải thuật bám theo đối tượng
Quá trình xử lý hình ảnh và điều khiển bám mục tiêu diễn ra theo chu trình kín:
- Camera thu nhận luồng hình ảnh theo thời gian thực từ môi trường.
- Mô hình MobileNet-SSD phát hiện đối tượng người, áp dụng thuật toán NMS để loại bỏ khung bao trùng lặp và xuất tọa độ bounding box bao quanh người đầu tiên xuất hiện.
- Thuật toán Centroid Tracking tính toán tọa độ tâm của người $(x_c, y_c)$ trong khung hình.
- Hệ thống so sánh tọa độ tâm người với tọa độ tâm khung hình $(x_0, y_0)$ để tính độ lệch $\Delta x$ và $\Delta y$.
- Dựa trên sai lệch hình ảnh:
- Sai lệch theo phương ngang $(\Delta x)$: Máy tính nhúng gửi lệnh điều khiển góc Yaw qua DroneKit để xoay thân máy bay hướng thẳng về phía mục tiêu.
- Kích thước khung bao (diện tích bounding box) hoặc sai lệch vị trí: Dùng để điều khiển máy bay di chuyển tiến hoặc lùi nhằm duy trì khoảng cách tương đối.
- Sai lệch theo phương đứng $(\Delta y)$: Dùng để hiệu chỉnh độ cao bay của Quadcopter.
- Khi mục tiêu di chuyển ra khỏi tầm nhìn hoặc mất dấu, hệ thống kích hoạt lưu đồ tìm kiếm tự động để xoay quét tìm lại đối tượng.
Nội dung chính theo từng chương
CHƯƠNG 1: TỔNG QUAN
Chương này trình bày tính cấp thiết của đề tài trong xu hướng phát triển phương tiện bay không người lái tự hành. Tác giả tiến hành phân tích sâu các công trình nghiên cứu UAV trong và ngoài nước, chỉ ra ưu điểm và nhược điểm của các giải pháp trước đây (như AR Drone, Tello Drone, vi điều khiển cơ bản, phương pháp nhận diện màu sắc, các hệ thống mô phỏng LabVIEW). Từ đó, chương xác định mục đích, 4 mục tiêu nghiên cứu cụ thể, 9 nội dung công việc, phân tích 4 giới hạn kỹ thuật của đề tài và liệt kê các công cụ hỗ trợ đánh giá (Google Scholar, MATLAB, Mission Planner, bộ dữ liệu COCO).
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chương 2 cung cấp toàn bộ nền tảng toán học và kỹ thuật phục vụ triển khai đề tài:
- Lược sử phát triển UAV từ các mô hình sơ khai (khinh khí cầu Áo năm 1849, thiết kế George de Bothezat 1920) đến các thiết bị quân sự và dân sự hiện đại.
- So sánh ưu nhược điểm của các cấu hình cánh bằng, trực thăng đơn, trực thăng đa cánh quạt; phân tích nguyên lý cân bằng lực nâng và mô-men của Quadcopter cấu hình chữ X.
- Thiết lập hệ phương trình động học 6 bậc tự do (6-DOF), phân tích ma trận xoay góc Euler cổ điển để chuyển đổi giữa Body frame và Inertial Earth frame.
- Nguyên lý hoạt động của các cảm biến đo lường quán tính (IMU: gia tốc kế, con quay hồi chuyển, từ trường kế), hệ thống INS, cảm biến định vị toàn cầu GPS.
- Giới thiệu kiến trúc hệ thống Ardupilot, giao thức MAVLink, cấu trúc API thư viện DroneKit, phần mềm trạm Mission Planner cùng các phương thức truyền thông không dây Bluetooth, Wi-Fi.
- Lý thuyết thuật toán điều khiển PID.
- Nền tảng trí tuệ nhân tạo, học sâu, mạng nơ-ron tích chập CNN, kiến trúc MobileNet với tích chập phân tách chiều sâu, mạng Single Shot MultiBox Detector (SSD), quy trình huấn luyện học chuyển giao, công cụ tăng tốc TensorRT và giải thuật theo dõi đối tượng Centroid based Object Tracking.
CHƯƠNG 3: THIẾT KẾ MÔ HÌNH MÁY BAY BỐN CÁNH
Chương này tập trung vào khâu thiết kế cơ khí và tích hợp hệ thống phần cứng:
- Xây dựng bản vẽ 3D tổng thể của Quadcopter trên SolidWorks 2021 với cấu trúc khung dạng chữ X, kích thước hình học 550 x 550 x 210 (mm).
- Thiết kế chi tiết các cụm cơ khí: mặt đế trên, mặt đế dưới, cánh tay đòn, chân đáp, vỏ hộp bảo vệ mạch bay Pixhawk chống nhiễu khí động và cơ cấu đế xoay gắn camera phía trước.
- Lập bảng danh mục lựa chọn thành phần thiết bị: động cơ không chổi than, bộ điều tốc ESC, cánh quạt, pin nguồn, mạch bay Pixhawk, GPS, máy tính nhúng và camera.
- Triển khai sơ đồ đấu nối dây điện, bố trí thiết bị và thi công lắp ráp mô hình vật lý hoàn chỉnh.
CHƯƠNG 4: THUẬT TOÁN ĐIỀU KHIỂN
Nội dung chương 4 trình bày cấu trúc các giải thuật điều khiển và xử lý ảnh:
- Thiết kế bộ điều khiển bay cho Quadcopter: bộ điều khiển ổn định độ cao, bộ điều khiển trạng thái góc (Roll, Pitch, Yaw) và bộ điều khiển vị trí dựa trên nền tảng PID.
- Xây dựng mô hình nhận dạng đối tượng MobileNet-SSD: cấu trúc các tầng tích chập, cơ chế trích xuất bản đồ đặc trưng (feature maps), cơ chế tạo hộp neo mặc định (default boxes) và giải thuật lọc Non-Maximum Suppression (NMS) để nhận dạng người.
- Thiết kế thuật toán điều khiển bay bám theo đối tượng: chuyển đổi sai lệch vị trí tâm người trên khung ảnh thành tín hiệu điều khiển vận tốc dài và tốc độ góc, gửi lệnh qua DroneKit; đồng thời xây dựng giải thuật xử lý khi đối tượng bị mất dấu.
CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Chương 5 trình bày toàn bộ kết quả thử nghiệm thực tế và đánh giá định lượng:
- Xây dựng hệ thống lưu đồ thuật toán: nhận dạng đối tượng MobileNet-SSD, bay giữ độ cao, bay tiến và xoay, bay bám theo đối tượng, và thuật toán tìm kiếm khi không thấy đối tượng.
- Thực nghiệm huấn luyện mô hình xử lý ảnh: chuẩn bị tập dữ liệu gồm khoảng 1.000 ảnh từ video, dán nhãn bằng LabelImg, theo dõi quá trình huấn luyện qua các đồ thị hàm mất mát Loss trung bình, Train/Test sample Error của các nhánh phân loại (Classification) và hồi quy (Regression).
- Đánh giá khả năng nhận dạng của chương trình trong môi trường đủ sáng và môi trường thiếu sáng, kiểm tra trường hợp không có người.
- Thực nghiệm bay thực tế tại khu E và sân bóng trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh: thử nghiệm cất cánh, giữ độ cao, hạ cánh, di chuyển tiến/xoay và bay bám theo người kết hợp xử lý ảnh.
- Thu thập và phân tích dữ liệu telemetry bằng Mission Planner và MATLAB: phân tích các đồ thị đáp ứng góc Roll, Pitch, Yaw, đáp ứng độ cao, vận tốc theo trục x và tín hiệu xuất xung điều khiển động cơ.
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Tổng kết các kết quả kỹ thuật đã hoàn thành của đồ án tốt nghiệp và đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Thiết kế và thi công phần cứng:
- Chế tạo thành công mô hình Quadcopter hoàn chỉnh theo cấu hình chữ X, kích thước khung 550 x 550 x 210 (mm).
- Tích hợp thành công hộp bảo vệ mạch bay và chân gá camera, đảm bảo kết cấu cơ khí chịu lực và bảo vệ mạch Pixhawk khỏi nhiễu áp suất gió.
- Hoàn thiện sơ đồ nối dây hệ thống nguồn, mạch ESC, động cơ và liên kết truyền thông giữa máy tính nhúng với mạch bay.
- Triển khai mô hình học sâu và thị giác máy tính:
- Xây dựng thành công tập dữ liệu với khoảng 1.000 ảnh trích xuất từ video thực tế và hoàn thành dán nhãn đối tượng bằng công cụ LabelImg.
- Huấn luyện hoàn chỉnh mô hình MobileNet-SSD trên môi trường Google Colab với các thông số hội tụ thể hiện qua đồ thị hàm mất mát (Loss) và sai số huấn luyện/kiểm thử (Train/Test sample Error).
- Triển khai thành công mô hình phát hiện đối tượng trên máy tính nhúng gắn trên máy bay, tối ưu hóa suy luận nhằm đảm bảo tốc độ xử lý thời gian thực.
- Thử nghiệm nhận dạng thành công trong các điều kiện môi trường chiếu sáng đủ sáng và thiếu sáng theo các bảng đánh giá thực nghiệm.
- Thực nghiệm điều khiển bay và bám đối tượng:
- Quadcopter thực hiện ổn định các chức năng cất cánh, giữ độ cao tự động và hạ cánh an toàn.
- Thực nghiệm thành công thuật toán bay bám theo đối tượng người tại hai khu vực thực địa: khu E và sân bóng đá Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.
- Thu thập và xử lý toàn bộ dữ liệu thực nghiệm qua Mission Planner và MATLAB, ghi nhận đồ thị đáp ứng góc (Roll, Pitch, Yaw), độ cao bay, vận tốc dọc trục x và đồ thị xuất xung điều tốc cho 4 động cơ, chứng minh hệ thống vận hành bám sát lệnh điều khiển.
Đóng góp so với các nghiên cứu trước (do nhóm tác giả tự nêu)
- Tự thiết kế, gia công cơ khí và chế tạo một mô hình máy bay bốn cánh hoàn chỉnh với chi phí thấp thay vì phụ thuộc vào các nền tảng Drone thương mại đóng kín (như AR Drone của Parrot hoặc Tello Drone).
- Khắc phục hạn chế của các phương pháp phát hiện mục tiêu theo màu sắc truyền thống (nhạy cảm với ánh sáng, dễ mất dấu) bằng việc ứng dụng mô hình học sâu MobileNet-SSD kết hợp thuật toán bám tâm (Centroid Tracking).
- Khắc phục nhược điểm của các nghiên cứu trước đây chỉ dừng lại ở tính toán lý thuyết hoặc mô phỏng trên phần mềm (LabVIEW, MATLAB) bằng việc đưa thuật toán điều khiển và xử lý ảnh vào thực nghiệm bay ngoài trời trên hệ thống vật lý thật.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế kỹ thuật
Dựa trên công bố của nhóm tác giả trong báo cáo, đồ án tồn tại các giới hạn:
- Mô hình Quadcopter do nhóm sinh viên tự thiết kế, thi công và lắp ráp thủ công nên chưa có đầy đủ cơ sở thử nghiệm tiêu chuẩn để đánh giá toàn diện mức độ bền vững kết cấu và độ ổn định lâu dài trong điều kiện hoạt động khắc nghiệt.
- Khả năng đáp ứng động học của máy bay khi bám theo người chuyển động nhanh còn nhiều hạn chế do thời gian nghiên cứu và tinh chỉnh giải thuật có hạn.
- Hạn chế về kinh phí thực hiện nên hệ thống chỉ sử dụng một camera thông thường góc hẹp, không có khả năng đo lường hoặc tính toán trực tiếp khoảng cách từ đối tượng đến camera (không có camera đo chiều sâu).
- Thuật toán xử lý ảnh hiện tại chỉ mặc định bám theo người đầu tiên xuất hiện trong khung hình; trong trường hợp xuất hiện đồng thời nhiều người, hệ thống chưa có cơ chế phân biệt và chọn lọc đối tượng mục tiêu cụ thể.
Hướng nghiên cứu tiếp
Nhóm tác giả định hướng các nội dung phát triển tiếp theo:
- Nâng cấp cảm biến thu nhận hình ảnh bằng camera đo chiều sâu (Depth Camera) hoặc tích hợp cảm biến đo khoảng cách chuyên dụng để xác định chính xác cự ly đối tượng.
- Cải tiến giải thuật thị giác máy tính và nhận dạng để có thể theo dõi chính xác một người cụ thể trong điều kiện đám đông có nhiều người di chuyển qua lại.
- Tối ưu hóa độ bền cơ học của khung máy bay, tối ưu hóa thời lượng hoạt động của pin và nâng cao độ nhạy của bộ điều khiển bám chuyển động.
Giá trị tham khảo
Báo cáo đồ án tốt nghiệp này là tài liệu tham khảo hữu ích cho các nhóm đối tượng:
- Sinh viên và học viên chuyên ngành: Ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Robot và Công nghệ Thông tin đang tìm hiểu về mô hình máy bay không người lái hoặc ứng dụng trí tuệ nhân tạo nhúng.
- Người nghiên cứu các đề tài tương tự: Các kỹ sư hoặc nhóm nghiên cứu muốn tự phát triển một mô hình Quadcopter tự hành từ khâu thiết kế cơ khí đến khâu lập trình điều khiển.
Các nội dung có giá trị tham khảo cao nhất trong đồ án:
- Phần thiết kế 3D hoàn chỉnh khung máy bay, vỏ hộp chống nhiễu cho mạch bay và chân gá camera trên SolidWorks 2021 (Chương 3).
- Phương pháp xây dựng mô hình toán học động học 6-DOF, ma trận xoay góc Euler và thiết kế bộ điều khiển PID cho phương tiện bay (Chương 2 và Chương 4).
- Quy trình tích hợp phần cứng giữa máy tính nhúng và mạch bay Pixhawk thông qua giao thức MAVLink và thư viện DroneKit (Chương 2, Chương 3, Chương 4).
- Quy trình trích xuất dữ liệu, dán nhãn ảnh bằng LabelImg, huấn luyện mạng MobileNet-SSD và triển khai thuật toán bám tâm đối tượng trên thiết bị thực nghiệm (Chương 4 và Chương 5).
- Phương pháp thu thập và phân tích dữ liệu chuyến bay thực tế bằng Mission Planner và MATLAB (Chương 5).
Câu hỏi thường gặp
1. Tại sao nhóm nghiên cứu lại lựa chọn cấu hình máy bay bốn cánh (Quadcopter) dạng chữ X thay vì các cấu hình khác?
Trong đồ án, nhóm tác giả đã lập bảng phân tích so sánh giữa các loại UAV (cánh bằng, trực thăng đơn, cánh quạt đa hướng) và giữa các loại Multicopter (Tricopter, Quadcopter, Hexacopter, Octocopter). Cấu hình Quadcopter dạng chữ X được lựa chọn vì có kết cấu cơ khí đơn giản, kích thước nhỏ gọn (dự kiến 550 x 550 x 210 mm), linh hoạt trong không gian hẹp, chi phí chế tạo thấp, dễ điều khiển và có độ ổn định cao hơn so với Tricopter, đồng thời ít tiêu tốn năng lượng và giá thành rẻ hơn đáng kể so với Hexacopter và Octocopter.
2. Mô hình học sâu nào được lựa chọn để phát hiện người trên máy tính nhúng và nguyên lý hoạt động là gì?
Nhóm tác giả sử dụng mô hình kết hợp MobileNet-SSD. Mạng MobileNet sử dụng kỹ thuật tích chập phân tách theo chiều sâu (Depthwise Separable Convolution) gồm hai bước: tích chập chiều sâu (Depthwise Convolution) và tích chập điểm (Pointwise Convolution), giúp giảm đáng kể số lượng tham số tính toán so với tích chập thông thường, rất phù hợp cho máy tính nhúng có tài nguyên giới hạn. Mạng SSD (Single Shot MultiBox Detector) kết hợp cùng MobileNet cho phép dự đoán trực tiếp vị trí và nhãn của đối tượng trên các bản đồ đặc trưng (feature maps) đa tỉ lệ trong một lần truyền qua mạng, kết hợp thuật toán NMS để loại bỏ các khung bao trùng lặp.
3. Việc kết nối và truyền lệnh điều khiển giữa máy tính nhúng và mạch bay Pixhawk được thực hiện qua giao thức và công cụ nào?
Giao tiếp giữa máy tính nhúng và mạch bay Pixhawk được thực hiện thông qua giao thức MAVLink (gồm các thành phần Header, Payload và mã kiểm tra CRC). Nhóm nghiên cứu sử dụng thư viện lập trình DroneKit API viết bằng ngôn ngữ Python để quản lý kết nối, giám sát trạng thái máy bay (Vehicle State) và truyền trực tiếp các lệnh điều khiển vận tốc, góc xoay (Vehicle Control) từ chương trình xử lý ảnh trên máy tính nhúng sang phần mềm điều khiển bay Ardupilot trên mạch Pixhawk.
4. Tập dữ liệu dùng để huấn luyện mô hình nhận dạng đối tượng người được xây dựng như thế nào?
Nhóm tác giả tự xây dựng tập dữ liệu huấn luyện bằng cách trích xuất khoảng 1.000 hình ảnh từ các video thực tế thu nhận được. Sau đó, nhóm sử dụng phần mềm dán nhãn chuyên dụng LabelImg để khoanh vùng và dán nhãn thủ công cho đối tượng con người. Dữ liệu này được đưa vào huấn luyện mô hình MobileNet-SSD trên nền tảng Google Colab sử dụng kỹ thuật học chuyển giao (Transfer Learning) từ các trọng số tiền huấn luyện trên bộ dữ liệu chuẩn COCO.
5. Quá trình bay thực nghiệm và thu thập dữ liệu đáp ứng của Quadcopter được tiến hành tại đâu và dùng phần mềm nào?
Quá trình bay thực nghiệm nhận dạng và bám theo đối tượng được thực hiện trực tiếp ngoài trời tại hai địa điểm thuộc khuôn viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh: khu vực sân khu E và sân bóng đá của trường. Dữ liệu telemetry của chuyến bay (bao gồm các góc Roll, Pitch, Yaw, độ cao, vận tốc và tín hiệu xung động cơ) được truyền không dây về máy tính mặt đất và thu thập thông qua phần mềm Mission Planner, sau đó được trích xuất và vẽ đồ thị phân tích chi tiết bằng phần mềm MATLAB.
Kết luận
Đồ án tốt nghiệp "Thiết kế mô hình bay không người lái và giải thuật bám theo đối tượng" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã giải quyết trọn vẹn bài toán từ thiết kế cơ khí 3D, thi công mô hình Quadcopter vật lý đến xây dựng thuật toán điều khiển bay tự động. Công trình đã tích hợp thành công mô hình học sâu MobileNet-SSD và thuật toán Centroid Tracking lên máy tính nhúng, kết nối điều khiển mạch bay Pixhawk qua giao thức MAVLink để bám theo đối tượng con người theo thời gian thực. Toàn bộ hệ thống đã được thử nghiệm bay thực tế và đánh giá định lượng thông qua các công cụ Mission Planner và MATLAB, đóng góp một tài liệu tham khảo kỹ thuật hoàn chỉnh cho lĩnh vực phương tiện bay không người lái kết hợp thị giác máy tính tại Việt Nam.