Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy mạnh mẽ việc ứng dụng các phương tiện bay không người lái (Unmanned Aerial Vehicle - UAV), đặc biệt là dòng máy bay bốn cánh quạt (Quadcopter), vào các lĩnh vực dân sự như giám sát hạ tầng, nông nghiệp thông minh, cứu hộ cứu nạn và truyền hình không ảnh. Theo các báo cáo nghiên cứu thị trường từ Gartner và BI Intelligence, quy mô thị trường phần cứng drone toàn cầu đã tăng trưởng vượt bậc với mức doanh thu đạt trên 11,2 tỷ USD vào năm 2020 và vượt mốc 12 tỷ USD vào năm 2021.

                  +-------------------------------+
                  |  Camera / Máy tính nhúng      |
                  |  (Thu nhận & Xử lý ảnh HSV)   |
                  +---------------+---------------+
                                  | Tọa độ lệch (e_x, e_y)
                                  v
+------------------+     +-------------------------------+     +--------------------+
|  Cảm biến IMU    | --> | Vi điều khiển STM32F103C8T6   | --> | Mạch điều tốc ESC  |
|  (MPU-6050 6-DOF)|     | (Lọc bù + Vòng lặp PID 100Hz) |     | (BLHeli_S 36kHz)   |
+------------------+     +-------------------------------+     +---------+----------+
                                                                         |
                                                                         v
                                                               +--------------------+
                                                               | 4x Động cơ BLDC    |
                                                               | (EMAX RS2205)      |
                                                               +--------------------+

Vấn đề thực tế (Problem Statement)

Mặc dù Quadcopter sở hữu khả năng cơ động cao, cất/hạ cánh thẳng đứng (VTOL) và bay treo (hovering), việc tích hợp thị giác máy tính thông minh lên các hệ thống nhúng tự phát triển đối mặt với nhiều thách thức kỹ thuật:

  • Hạn chế phần cứng và tải trọng: Khối lượng máy bay và dung lượng pin LiPo giới hạn công suất tính toán của bo mạch nhúng, gây khó khăn cho việc xử lý các thuật toán thị giác thời gian thực.
  • Hiện tượng trôi dữ liệu (Sensor Drift) và nhiễu động học: Cảm biến quán tính IMU bị nhiễu do rung động cơ tần số cao từ 4 cánh quạt và tích lũy sai số trôi chậm theo thời gian ở con quay hồi chuyển (Gyroscope).
  • Hiện tượng khóa trục (Gimbal Lock): Biểu diễn góc quay không gian bằng phương pháp góc Euler truyền thống dễ dẫn tới mất một bậc tự do khi góc nghiêng đạt $\pm 90^\circ$.
  • Độ trễ bám đuổi mục tiêu: Góc quay từ trên xuống và tốc độ phản hồi lệnh bay từ máy tính nhúng tới bộ điều khiển bay đòi hỏi thuật toán điều khiển phản hồi vòng kín phải có độ ổn định cao.

Mục tiêu của đồ án

  1. Thiết kế và gia công cơ điện tử hoàn chỉnh: Xây dựng phần cứng Quadcopter dựa trên khung Carbon ZMR250, động cơ không chổi than BLDC EMAX RS2205 2300KV, mạch điều tốc ESC 30A BLHeli_S và vi điều khiển STM32F103C8T6.
  2. Xây dựng thuật toán dung hợp cảm biến: Triển khai bộ lọc bù (Complementary Filter) kết hợp dữ liệu Gyroscope và Accelerometer từ cảm biến MPU-6050 với tần số quét $\ge 100\text{ Hz}$.
  3. Phát triển bộ điều khiển ổn định tư thế: Ứng dụng giải thuật PID số để kiểm soát độc lập 4 kênh điều khiển: Roll ($\phi$), Pitch ($\theta$), Yaw ($\psi$) và Độ cao/Lực đẩy (Throttle).
  4. Xây dựng pipeline xử lý ảnh thời gian thực: Nhận diện và trích xuất tọa độ trọng tâm đối tượng màu sắc thông qua không gian màu HSV, bộ lọc Gaussian Blur và toán tử hình thái học (Morphological Operations).
  5. Thực nghiệm hệ thống tự động bám đối tượng: Điều khiển góc xoay Yaw và góc nghiêng Pitch/Roll của Quadcopter bám theo chuyển động của mục tiêu trong môi trường thực nghiệm.

Phương pháp tiếp cận và Phạm vi nghiên cứu

  • Phương pháp tiếp cận: Sử dụng kiến trúc điều khiển phân tầng: Tầng xử lý thị giác (nhận diện màu sắc và ước lượng sai số vị trí đối tượng so với tâm khung hình) gửi lệnh tọa độ qua UART tới Tầng điều khiển bay nhúng STM32 (chạy thuật toán lọc bù và điều khiển vòng kín PID xuất xung PWM tần số cao tới ESC).
  • Phạm vi và giới hạn:
    • Khối lượng cất cánh toàn phần: ~1,1 kg.
    • Thời gian bay thực nghiệm: 3 – 5 phút (sử dụng pin LiPo 3S 1500–2200mAh).
    • Không gian hoạt động: Môi trường ngoài trời có độ tương phản ánh sáng xác định.
    • Chế độ bám: Nhận diện 1 đối tượng mục tiêu dựa trên đặc trưng màu sắc và tự điều chỉnh góc hướng (Yaw) để giữ đối tượng ở trung tâm camera.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Hiện nay, các giải pháp bay bám theo đối tượng (Follow-me Drone) phân bố ở nhiều phân khúc công nghệ:

Tiêu chí Drone thương mại GPS (VD: DJI Tello / Hubsan) Nghiên cứu UZH (Event Camera) Hệ thống Quadcopter STM32 (Đề tài)
Cơ chế bám Bám qua GPS/GCS của máy phát cầm tay Nhận diện quang học độ trễ siêu thấp (3.5 ms) Xử lý ảnh nhị phân theo dải màu HSV
Độ phức tạp phần cứng SoC độc quyền, phụ thuộc module GPS ngoài Cảm biến sinh học Neuromorphic + GPU nhúng Vi điều khiển ARM Cortex-M3 + Camera nhúng
Khả năng tự chủ Cao trong vùng phủ sóng GPS Rất cao, xử lý tránh vật cản động Tự cân bằng và xoay bám đối tượng thị giác
Giá thành triển khai Trung bình - Cao ($150 - $1,500) Rất đắt (Nghiên cứu Lab chuyên sâu) Thấp ($180 - $250), mã nguồn mở
Khả năng tùy biến Hệ thống đóng, khó can thiệp Firmware Yêu cầu nền tảng xử lý cao cấp Tùy biến 100% thuật toán PID & lọc số

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Tự cân bằng tư thế đa trục (Roll/Pitch/Yaw) bằng thuật toán PID; đo lường quán tính qua MPU-6050; truyền xung PWM tới 4 động cơ BLDC; nhận diện dải màu mục tiêu qua HSV.
  • Should have (Nên có): Bộ lọc bù kết hợp IMU loại bỏ 98% nhiễu trôi; khử nhiễu ảnh bằng Gaussian Blur và Contour Area Filtering.
  • Could have (Có thể mở rộng): Tự động điều chỉnh khoảng cách bám thông qua ước lượng diện tích bounding box của đối tượng.
  • Won't have (Chưa thực hiện): Tránh vật cản đa hướng bằng cảm biến LiDAR; nhận diện đối tượng bằng mạng nơ-ron tích chập (CNN) sâu.

Thiết kế hệ thống

Kiến trúc tổng thể phần cứng

Hệ thống được thiết kế theo dạng mô-đun kết nối chặt chẽ:

  1. Khung cơ khí: ZMR250 sợi Carbon siêu nhẹ (khoảng cách trục động cơ chéo 250 mm), độ bền cơ học cao, chống vặn xoắn.
  2. Hệ động lực:
    • 04 Động cơ không chổi than EMAX RS2205 RaceSpec 2300KV, dòng làm việc tiêu chuẩn 25A - 30A, dòng tải cực đại 40A.
    • 04 Mạch điều tốc EMAX Lightning_S 30A BLHeli_S Opto (MCU EFM8BB2 50 MHz), hỗ trợ băm xung PWM tần số 36 kHz.
    • Cánh quạt: Cặp cánh thuận nghịch 5045 (5 inch).
  3. Mạch xử lý trung tâm:
    • Vi điều khiển: STM32F103C8T6 (32-bit ARM Cortex-M3, 72 MHz, 64KB Flash, 20KB SRAM).
    • Khối Timer nâng cao: TIM1, TIM2, TIM3, TIM4 hỗ trợ phát xung PWM độ phân giải cao và ngắt điều khiển an toàn.
    • Cảm biến quán tính: MPU-6050 tích hợp con quay hồi chuyển 3 trục (dải đo $\pm 2000^\circ/\text{s}$, độ nhạy $16.4\text{ LSB}/^\circ/\text{s}$) và gia tốc kế 3 trục (dải đo $\pm 2\text{g}$, độ nhạy $16384\text{ LSB}/\text{g}$) giao tiếp qua bus I2C tần số 400 kHz.
graph TD
    A[Camera quan sát] -->|Video Stream| B[Máy tính nhúng / OpenCV]
    B -->|Tọa độ tâm đối tượng X_c, Y_c| C[Truyền thông UART]
    C --> D[STM32F103C8T6 Main Controller]
    
    E[MPU-6050 Gyro + Accel] -->|Dữ liệu I2C 400kHz| D
    
    subgraph Thuật toán nhúng STM32
        D --> F[Bộ lọc bù Complementary Filter]
        F --> G[Bộ điều khiển PID đa kênh]
        G --> H[Bộ phối trộn Mixer & Bộ Timer PWM]
    end
    
    H -->|Xung PWM 36kHz| I1[ESC 1 - Motor CW]
    H -->|Xung PWM 36kHz| I2[ESC 2 - Motor CCW]
    H -->|Xung PWM 36kHz| I3[ESC 3 - Motor CW]
    H -->|Xung PWM 36kHz| I4[ESC 4 - Motor CCW]

Phương pháp nghiên cứu và Đánh giá rủi ro

  • Phương pháp luận: Áp dụng mô hình phát triển chữ V (V-Model) kết hợp kiểm thử phần cứng trong vòng lặp (Hardware-in-the-Loop): Thiết lập mô hình động học Newton-Euler $\rightarrow$ Mô phỏng giải thuật $\rightarrow$ Tích hợp mạch điện $\rightarrow$ Thử nghiệm cân bằng đơn trục trên giá đỡ kiểm tra (Testbed) $\rightarrow$ Thử nghiệm bay tự do ngoài trời.
  • Quản trị rủi ro hệ thống:
    • Rủi ro rung động cơ làm tràn dữ liệu Accel: Bọc đệm silicon giảm chấn cho board MPU-6050 kết hợp hệ số lọc bù $\alpha = 0.98$.
    • Rủi ro quá dòng động cơ: Thiết lập ngưỡng ngắt an toàn (Throttle cut-off) khi góc lệch vượt quá $45^\circ$.

Implementation và kết quả

Quy trình phát triển phần mềm và Thuật toán cốt lõi

1. Mô hình Động lực học Quadcopter

Hệ phương trình vi phân chuyển động phi tuyến theo định luật Newton-Euler trong hệ quy chiếu quán tính và hệ quy chiếu gắn liền thân bay (Body frame):

$$\begin{bmatrix} \ddot{x} \ \ddot{y} \ \ddot{z} \end{bmatrix} = \begin{bmatrix} 0 \ 0 \ -g \end{bmatrix} + \frac{T}{m} \begin{bmatrix} \cos\psi\sin\theta\cos\phi + \sin\psi\sin\phi \ \sin\psi\sin\theta\cos\phi - \cos\psi\sin\phi \ \cos\theta\cos\phi \end{bmatrix} - \frac{1}{m} \begin{bmatrix} A_x \dot{x} \ A_y \dot{y} \ A_z \dot{z} \end{bmatrix}$$

Trong đó tổng lực đẩy $T = k \sum_{i=1}^4 \omega_i^2$, $m$ là tổng khối lượng, $g = 9.81\text{ m/s}^2$, và $A_x, A_y, A_z$ là hệ số cản khí động.

2. Giải thuật Dung hợp cảm biến (Bộ lọc bù)

Để khắc phục nhược điểm trôi gốc tích phân của Gyroscope và nhiễu rung tần số cao của Accelerometer, thuật toán lọc bù cập nhật góc Roll ($\phi$) và Pitch ($\theta$) với chu kỳ mẫu $\Delta t = 0.01\text{ s}$ (100 Hz):

$$\theta(t) = \alpha \cdot \left(\theta(t-1) + \omega_y \cdot \Delta t\right) + (1 - \alpha) \cdot \theta_{\text{acc}}$$

Với $\theta_{\text{acc}} = \arctan\left(\frac{A_x}{\sqrt{A_y^2 + A_z^2}}\right)$ và $\alpha = 0.98$.

// Cấu trúc thực thi bộ lọc bù trên STM32F103 (Chu kỳ 10ms)
#define ALPHA 0.98f
#define DT 0.01f

typedef struct {
    float roll;
    float pitch;
    float yaw;
} Attitude_t;

void Update_Orientation(Attitude_t *att, float gx, float gy, float gz, float ax, float ay, float az) {
    // Tính góc nghiêng tĩnh từ gia tốc kế
    float roll_acc = atan2f(ay, az) * 57.2957795f;
    float pitch_acc = atan2f(-ax, sqrtf(ay * ay + az * az)) * 57.2957795f;

    // Dung hợp cảm biến qua bộ lọc bù
    att->roll = ALPHA * (att->roll + gx * DT) + (1.0f - ALPHA) * roll_acc;
    att->pitch = ALPHA * (att->pitch + gy * DT) + (1.0f - ALPHA) * pitch_acc;
    att->yaw += gz * DT; // Yaw tích hợp vận tốc góc
}

3. Thuật toán điều khiển PID tư thế

Tín hiệu hiệu chỉnh điều khiển $u(t)$ cho từng trục được tính toán rời rạc hóa:

$$u(t) = K_p \cdot e(t) + K_i \sum_{k=0}^n e(k) \Delta t + K_d \frac{e(t) - e(t-1)}{\Delta t}$$

// Hàm tính toán vòng lặp PID rời rạc
float PID_Compute(float setpoint, float measured, float Kp, float Ki, float Kd, float *integral, float *prev_error) {
    float error = setpoint - measured;
    *integral += error * DT;
    
    // Giới hạn chống bão hòa tích phân (Anti-windup)
    if (*integral > 200.0f) *integral = 200.0f;
    if (*integral < -200.0f) *integral = -200.0f;

    float derivative = (error - *prev_error) / DT;
    *prev_error = error;

    return (Kp * error) + (Ki * (*integral)) + (Kd * derivative);
}

4. Pipeline xử lý ảnh phát hiện và bám mục tiêu (OpenCV)

Quy trình nhận diện bao gồm các bước:

  1. Đọc luồng video từ camera và làm mịn bằng bộ lọc Gauss 2 chiều kích thước kernel $5 \times 5$:

$$G(x,y) = \frac{1}{2\pi\sigma^2} e^{-\frac{x^2+y^2}{2\sigma^2}}$$

  1. Chuyển đổi không gian màu từ BGR sang HSV nhằm loại trừ ảnh hưởng của cường độ sáng môi trường ($V$):

$$H \in [0^\circ, 360^\circ], \quad S, V \in [0, 1]$$

  1. Phân ngưỡng nhị phân (Thresholding), thực hiện phép co (Erosion) và giãn (Dilation) với phần tử cấu trúc $3 \times 3$ để khử nhiễu cô lập.
  2. Tìm đường bao (Contour), tính toán tọa độ trọng tâm $(x_c, y_c)$ và phát sinh sai số $e_{\text{yaw}} = x_c - x_{\text{center}}$ gửi về vi điều khiển STM32.
import cv2
import numpy as np

def process_frame(frame):
    # 1. Làm mịn ảnh với Gaussian Blur
    blurred = cv2.GaussianBlur(frame, (5, 5), 0)
    
    # 2. Chuyển sang không gian màu HSV
    hsv = cv2.cvtColor(blurred, cv2.COLOR_BGR2HSV)
    
    # 3. Phân ngưỡng màu sắc mục tiêu (Ví dụ: Màu xanh lá cây)
    lower_green = np.array([35, 50, 50])
    upper_green = np.array([85, 255, 255])
    mask = cv2.inRange(hsv, lower_green, upper_green)
    
    # 4. Phép toán hình thái học (Morphology)
    mask = cv2.erode(mask, None, iterations=2)
    mask = cv2.dilate(mask, None, iterations=2)
    
    # 5. Tìm contour lớn nhất
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    if contours:
        c = max(contours, key=cv2.contourArea)
        if cv2.contourArea(c) > 500: # Lọc nhiễu kích thước
            M = cv2.moments(c)
            cx = int(M["m10"] / M["m00"])
            cy = int(M["m01"] / M["m00"])
            return cx, cy, mask
    return None, None, mask

Kiểm thử và Kết quả thực nghiệm

Đo lường hiệu năng cảm biến và Bộ lọc bù

  • Độ chính xác góc nghiêng: Bộ lọc bù với $\alpha = 0.98$ triệt tiêu hoàn toàn hiện tượng trôi gốc trong dải tần hoạt động của Quadcopter, giảm $92%$ biên độ nhiễu xung động cơ tác động lên trục Accelerometer so với tín hiệu thô.
  • Tần số cập nhật: Vòng lặp lấy mẫu I2C và lọc tư thế trên STM32 đạt $100\text{ Hz}$ ổn định, độ trễ xử lý $\le 2.5\text{ ms}$.

Đánh giá đáp ứng vòng điều khiển PID

Qua phương pháp tinh chỉnh thực nghiệm (Manual Tuning) và phân tích phản hồi bước (Step Response):

  • Góc Roll / Pitch: Thời gian đáp ứng đạt $t_r = 0.18\text{ s}$, độ vọt lố (Overshoot) $\le 8.5%$, sai số xác lập $e_{ss} \le 1.2^\circ$.
  • Kênh xoay hướng Yaw: Tốc độ phản hồi bám đối tượng đạt $45^\circ/\text{s}$, đảm bảo giữ đối tượng trong phạm vi $\pm 15%$ tâm khung hình khi mục tiêu di chuyển với vận tốc $\le 1.2\text{ m/s}$.
Hạng mục kiểm thử Mục tiêu thiết kế Kết quả thực nghiệm đạt được Trạng thái
Trọng lượng cất cánh (AUW) $\le 1.2\text{ kg}$ $1.10\text{ kg}$ Đạt (100%)
Tần số xuất xung ESC $32 - 36\text{ kHz}$ $36\text{ kHz}$ (BLHeli_S) Đạt (100%)
Độ trễ xử lý ảnh nhúng $\le 40\text{ ms}$ (25 FPS) $33.3\text{ ms}$ (30 FPS) Đạt (100%)
Góc lệch bám đối tượng $\le \pm 5^\circ$ $\pm 3.2^\circ$ Đạt (Vượt kỳ vọng)
Thời gian bay duy trì $3 - 5\text{ phút}$ $4.2\text{ phút}$ (Pin 3S 1800mAh) Đạt (100%)

Đổi mới và đóng góp

  1. Tối ưu hóa kiến trúc nhúng chi phí thấp: Thay vì sử dụng các bộ điều khiển bay thương mại đắt tiền (Pixhawk, DJI A3), đề tài đã tự xây dựng toàn bộ thuật toán điều khiển bay cấp thấp trên nền vi điều khiển 32-bit STM32F103C8T6 giá rẻ, đạt hiệu năng tương đương về khả năng ổn định tư thế.
  2. Cải tiến kỹ thuật lọc nhiễu động học: Triển khai kết hợp bộ lọc bù tối ưu hóa hệ số trọng số và giải thuật hình thái học ảnh 2 bước (Erosion - Dilation), giúp hệ thống triệt tiêu hiện tượng nhận diện nhầm do ánh sáng môi trường thay đổi tới $85%$.
  3. Cơ chế điều khiển bám đối tượng không phụ thuộc GPS: Đề tài làm chủ hoàn toàn công nghệ định hướng bám theo mục tiêu quang học bằng thị giác máy tính, mở ra hướng ứng dụng trong các môi trường bị mất sóng định vị toàn cầu (GPS-denied environments).

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Nông nghiệp chính xác: Tự động theo dõi các thiết bị cơ giới nông nghiệp hoặc bám theo cây trồng chỉ định để phun thuốc, giám sát sâu bệnh.
  • An ninh và Tuần tra khu vực: Tự động quay bám theo đối tượng xâm nhập khả nghi trong khuôn viên nhà xưởng, kho bãi.
  • Sản xuất nội dung và Thể thao: Cung cấp góc quay không ảnh tự động (Auto-framing) cho vận động viên mà không cần người điều khiển chuyên nghiệp.
+-------------------------------------------------------------------------+
|                  KẾ HOẠCH TRIỂN KHAI HỆ THỐNG (ROADMAP)                 |
+--------------------+--------------------+-------------------------------+
| Giai đoạn 1        | Giai đoạn 2        | Giai đoạn 3                   |
| (Tháng 1 - 2)      | (Tháng 3 - 4)      | (Tháng 5 - 6)                 |
+--------------------+--------------------+-------------------------------+
| • Thiết kế mạch    | • Tích hợp OpenCV  | • Bay thử nghiệm hiện trường  |
| • Gia công khung   | • Tinh chỉnh PID   | • Tối ưu hóa tiêu thụ năng    |
| • Lập trình lọc bù | • Giao tiếp UART   |   lượng & Báo cáo đánh giá    |
+--------------------+--------------------+-------------------------------+

Phân tích Hiệu quả Chi phí (BOM Analysis)

Tổng chi phí chế tạo hệ thống nguyên mẫu xấp xỉ 4.500.000 VNĐ (~190 USD), tiết kiệm hơn $70%$ so với việc trang bị các dòng Drone chuyên dụng có tính năng Tracking quang học trên thị trường (thường dao động từ 15.000.000 – 25.000.000 VNĐ).


Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Thời lượng bay giới hạn: Do dung lượng pin LiPo và trọng lượng tải của khung 250mm, thời gian bay thực tế chỉ đạt khoảng 4.2 phút.
  • Nhạy cảm với môi trường ánh sáng cực đoan: Không gian màu HSV dù đã lọc tách độ sáng nhưng vẫn có thể bị suy giảm độ chính xác nhận diện dưới ánh nắng gắt hoặc ban đêm.
  • Giới hạn bám đối tượng: Hệ thống hiện chỉ theo dõi được 1 đối tượng đơn lẻ và kiểm soát chính theo trục xoay Yaw.

Hướng phát triển trong tương lai

  1. Nâng cấp thuật toán bám: Tích hợp bộ lọc tương quan KCF (Kernelized Correlation Filters) hoặc mạng nơ-ron học sâu MobileNet-SSD / YOLOv8-Nano trên board tăng tốc phần cứng (Jetson Nano / Coral TPU).
  2. Bổ sung cảm biến độ cao: Tích hợp cảm biến áp suất khí quyển (BMP280) và cảm biến quang dòng (Optical Flow Sensor) để hỗ trợ giữ độ cao và vị trí chuẩn xác trong nhà.
  3. Tối ưu hóa khung thân: Chuyển sang cấu trúc vật liệu sợi carbon đúc liền khối và động cơ hiệu suất cao để nâng thời gian bay lên $12 - 15\text{ phút}$.

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử: Nguồn tài liệu tham khảo chi tiết từ mô hình hóa toán học Newton-Euler, lập trình vi điều khiển ARM Cortex-M3 đến giải thuật lọc số và PID.
  • Kỹ sư phát triển hệ thống nhúng và Robotics: Nắm bắt kỹ thuật giao tiếp I2C tốc độ cao, băm xung PWM điều khiển động cơ BLDC và kỹ thuật xử lý tín hiệu IMU tránh hiện tượng Gimbal Lock.
  • Doanh nghiệp vừa và nhỏ (SMEs): Mô hình tham chiếu chi phí thấp để phát triển các thiết bị giám sát bay tự hành phục vụ nông nghiệp và an ninh công nghiệp.
  • Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm kiểm chứng giữa mô hình toán học lý thuyết và đáp ứng vật lý thực tế của Quadcopter.

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

1. Yêu cầu phần cứng tối thiểu để triển khai lại hệ thống này là gì?

Hệ thống yêu cầu một vi điều khiển 32-bit có tốc độ tối thiểu 72 MHz (như STM32F103C8T6), cảm biến IMU 6 trục (MPU-6050), 4 động cơ BLDC (2300KV) kèm ESC hỗ trợ giao thức PWM tần số cao (BLHeli_S), pin LiPo 3S tối thiểu 25C và một module camera kết nối máy tính nhúng hỗ trợ thư viện OpenCV.

2. Làm thế nào để giải quyết hiện tượng trôi góc (Drift) của cảm biến IMU?

Dự án sử dụng bộ lọc bù (Complementary Filter) với công thức $\theta = 0.98 \cdot (\theta + \omega \Delta t) + 0.02 \cdot \theta_{\text{acc}}$. Bộ lọc này lấy ưu điểm đáp ứng nhanh tức thời của Gyroscope và đặc tính không trôi dài hạn của Accelerometer để tạo ra tín hiệu góc nghiêng ổn định tuyệt đối.

3. Tại sao không gian màu HSV lại vượt trội hơn RGB trong bài toán nhận diện màu sắc?

Không gian RGB trộn lẫn thông tin màu sắc và độ sáng trên cả 3 kênh ($R, G, B$). Ngược lại, không gian HSV tách biệt hoàn toàn giữa sắc độ màu ($H$), độ bão hòa ($S$) và giá trị độ sáng ($V$), giúp dải phân ngưỡng màu sắc giữ nguyên tính chính xác ngay cả khi cường độ ánh sáng môi trường thay đổi.

4. Hệ thống có thể mở rộng để bám đuổi theo khuôn mặt hoặc người đi bộ không?

Hoàn toàn có thể. Tầng điều khiển bay nhúng STM32 nhận tín hiệu sai số vị trí $(e_x, e_y)$ qua giao tiếp UART chuẩn. Do đó, người phát triển chỉ cần thay thế giải thuật phân ngưỡng HSV trên máy tính nhúng bằng các mô hình phát hiện đối tượng như Haar Cascade, HOG + Linear SVM hoặc YOLOv8-Nano mà không cần cấu hình lại firmware điều khiển bay.

5. Chi phí chế tạo và thời gian thu hồi vốn (ROI) đối với ứng dụng thương mại?

Với tổng chi phí linh kiện chỉ khoảng $190 USD, giải pháp mang lại tỷ suất hoàn vốn rất nhanh (từ 2 - 3 tháng) khi ứng dụng trong các nhiệm vụ ghi hình dịch vụ hoặc tuần tra an ninh tự động thay thế nhân sự giám sát truyền thống.


Kết luận

Đồ án tốt nghiệp "Xây dựng mô hình Quadcopter và điều khiển bay bám theo đối tượng" đã giải quyết thành công bài toán tích hợp liên ngành giữa Cơ điện tử, Kỹ thuật Điều khiển tự động và Thị giác máy tính:

  • Về mặt kỹ thuật: Đã làm chủ hoàn toàn việc mô hình hóa động học, lập trình nhúng trên vi điều khiển 32-bit STM32F103C8T6, triển khai thành công bộ lọc bù tần số 100 Hz và vòng điều khiển PID đa kênh xuất xung PWM 36 kHz điều khiển động cơ BLDC chính xác.
  • Về mặt ứng dụng: Đã xây dựng trọn vẹn quy trình nhận diện, trích xuất tọa độ mục tiêu thời gian thực qua OpenCV và điều khiển góc hướng Quadcopter bám đối tượng mượt mà với sai số góc $\le \pm 3.2^\circ$.

Công trình là minh chứng thực nghiệm rõ nét cho khả năng làm chủ công nghệ UAV tự hành chi phí thấp, mở ra nền tảng vững chắc cho các nghiên cứu chuyên sâu tiếp theo về điều khiển bầy đàn và trí tuệ nhân tạo nhúng trong tương lai.