Giới thiệu dự án

Sự phát triển mạnh mẽ của cuộc cách mạng công nghiệp 4.0 đã thúc đẩy nhu cầu tự động hóa trong chuỗi cung ứng và logistics nội khu. Theo các báo cáo thị trường logistics toàn cầu, chi phí cho chặng vận chuyển nội bộ và giao hàng chặng cuối (last-mile delivery) chiếm tới 40–53% tổng chi phí vận tải. Tại các khuôn viên trường đại học, khu công nghiệp mở, cảng biển và sân bay, phương thức vận chuyển thủ công bộc lộ nhiều hạn chế về chi phí nhân công, sai sót con người và tính gián đoạn trong vận hành. Đồ án tốt nghiệp ngành Cơ điện tử tại Đại học Bách Khoa Hà Nội với đề tài "Thiết kế và điều khiển xe tự hành sử dụng định vị GPS" (thực hiện bởi nhóm tác giả: Vũ Hữu Lực, Hoàng Hải Anh, Nguyễn Văn Đức, Nguyễn Văn Thắng; dưới sự hướng dẫn của TS. Dương Văn Lạc) giải quyết bài toán vận chuyển hàng hóa tự động ngoài trời mà không phụ thuộc vào hạ tầng dẫn đường cố định.

                  +-----------------------------+
                  |     Python GCS (Laptop)     |
                  |  - Folium Map & Waypoints   |
                  |  - Protocol Encoding (0xFF) |
                  +--------------+--------------+
                                 | LoRa AS32 (UART 9600bps)
                                 v
                  +-----------------------------+
                  |   Arduino Mega 2560 (MCU)   |
                  |  - NMEA Parser ($GPGGA)     |
                  |  - Declination Correction   |
                  |  - Heading State Machine    |
                  |  - PID Velocity Loop        |
                  +--+--------+--------+-----+--+
                     |        |        |     |
      +--------------+        |        |     +--------------+
      |                       |        |                    |
      v                       v        v                    v
+-----------+          +-----------+ +------------+  +--------------+
| GPS NEO   |          | Compass   | | Ultrasonic |  | 4x DC Motors |
| M8N (UART)|          | HMC5883L  | | HC-SR04    |  | & L298N Logic|
| (2.5m CEP)|          | (I2C)     | | (Trig/Echo)|  | (PWM + DIR)  |
+-----------+          +-----------+ +------------+  +--------------+

Vấn đề kỹ thuật cần giải quyết (Problem Statement)

Các hệ thống xe tự hành trong nhà (Indoor AGV) chủ yếu dựa trên dẫn đường từ tính (magnetic tape) hoặc quang học (optical line). Tuy nhiên, môi trường ngoài trời chịu tác động lớn của thời tiết, bụi bẩn và địa hình rộng lớn, khiến chi phí thi công và bảo trì đường dẫn vật lý trở nên bất khả thi. Mặt khác, các hệ thống điều hướng ngoài trời cao cấp sử dụng RTK-GPS hoặc 3D LiDAR SLAM lại có chi phí linh kiện quá cao, gây khó khăn cho việc triển khai quy mô vừa và nhỏ. Đồ án tập trung giải quyết bài toán định vị, điều hướng bám tọa độ mục tiêu (waypoints navigation) và chống va chạm với giá thành tối ưu nhưng vẫn đảm bảo độ tin cậy vận hành.

Mục tiêu kỹ thuật cụ thể của dự án

  1. Thiết kế cơ khí chính xác: Chế tạo kết cấu khung xe bằng nhôm định hình 15x15mm, chịu tải trọng hàng hóa định mức 10 kg (khối lượng xe 5 kg), sử dụng hệ thống truyền động 4 bánh đa hướng cho phép linh hoạt 11 trạng thái chuyển động.
  2. Tích hợp phần cứng điều khiển: Xây dựng khối vi điều khiển Arduino Mega 2560 giao tiếp đa cảm biến: GPS u-blox NEO-M8N, la bàn số HMC5883L, cảm biến siêu âm HC-SR04, mạch công suất L298N và truyền thông không dây LoRa AS32 cự ly xa.
  3. Phát triển thuật toán định vị và điều hướng: Xử lý chuỗi dữ liệu chuẩn NMEA-0183 ($GPGGA), bù góc nghiêng từ trường (magnetic declination) cho la bàn số tại Hà Nội, và thuật toán bám sai lệch góc (heading error) kết hợp bộ điều khiển PID ổn định tốc độ động cơ.
  4. Xây dựng trạm điều khiển mặt đất (GCS): Lập trình giao diện người dùng (GUI) trên nền tảng Python, cho phép quản lý tọa độ thời gian thực trên bản đồ số, hỗ trợ hai chế độ vận hành: Tự động (Autonomous Waypoints) và Thủ công (Manual Control).

Phạm vi và giới hạn của đề tài

  • Phạm vi: Hoạt động trong không gian ngoài trời thông thoáng, có tín hiệu vệ tinh GPS ổn định (khuôn viên trường học, khu công nghiệp, kho bãi mở).
  • Giới hạn: Độ chính xác định vị phụ thuộc vào sai số tự nhiên của module GPS dân dụng (~2.5m CEP); hệ thống chưa tích hợp thuật toán định vị vi sai RTK hoặc camera AI nhận diện vật cản phức tạp.

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

Phân tích hiện trạng và đánh giá giải pháp

Tiêu chí kỹ thuật AGV Dẫn đường Từ tính (Magnetic Line) AGV Trong nhà LiDAR SLAM Hệ thống Xe tự hành GPS (Đề tài)
Môi trường hoạt động Nhà xưởng bằng phẳng, trong nhà Trong nhà, cấu trúc ít thay đổi Ngoài trời, khuôn viên rộng lớn
Chi phí triển khai hạ tầng Rất cao (dán băng từ, cắt rãnh sàn) Thấp (không cần hạ tầng) Không cần can thiệp hạ tầng mặt đường
Độ linh hoạt quỹ đạo Kém (cố định theo đường kẻ) Cao (tính toán lại đường đi) Rất cao (chọn điểm bất kỳ trên bản đồ)
Khả năng chịu thời tiết Kém (bong tróc khi mưa nắng) Kém ngoài trời (bụi, ánh nắng chói) Tốt (hoạt động bền bỉ ngoài trời)
Chi phí phần cứng Trung bình ($1,500 - $3,000) Rất cao ($4,000 - $10,000) Thấp ($150 - $300)

Phân tích theo mô hình MoSCoW:

  • Must have: Đọc và parse dữ liệu GPS $GPGGA; bù góc nghiêng la bàn số HMC5883L; thuật toán điều hướng theo heading error; tự động dừng khi phát hiện vật cản $< 3.5\text{ m}$; giao tiếp không dây qua LoRa.
  • Should have: Điều khiển tốc độ vòng kín PID; giao diện bản đồ GUI Python tương tác trực tiếp; cơ cấu dẫn động 4 bánh đa hướng.
  • Could have: Tích hợp bộ lọc Kalman kết hợp IMU và GPS; bổ sung lưu trữ dữ liệu hành trình vào EEPROM/SD Card.
  • Won't have (lần này): Hệ thống định vị RTK độ chính xác centimet; camera AI nhận diện biển báo.

Thiết kế kiến trúc hệ thống

Kiến trúc hệ thống chia thành 3 phân tầng chính:

[Tầng Giám sát & Giao diện (Python GCS)] 
         ^ (Giao thức UART / LoRa AS32 410-441MHz)
         v
[Tầng Điều khiển Trung tâm (Arduino Mega 2560)]
   ├── Cảm biến: GPS NEO-M8N (UART), HMC5883L (I2C), HC-SR04 (GPIO)
   └── Cơ cấu chấp hành: Mạch Logic (74HC08/74HC04) -> Driver L298N -> 4x Động cơ JGB37-545
           VCC (+5V)
               |
               +-----------------------+
               |                       |
      +--------+--------+     +--------+--------+
      |                 |     |                 |
      |   74HC04 (NOT)  |     |   74HC08 (AND)  |
      |                 |     |                 |
DIR --+--->[ NOT ]------+--+  |                 |
      |                 |  +->| IN1A            |
      |                 |     |                 |
PWM --+-----------------------+->[ AND ]=======> In1 (to L298N)
      |                 |     |                 |
      |                 |  +->| IN2A            |
DIR --+--------------------+  |                 |
      |                       +->[ AND ]=======> In2 (to L298N)
      +-----------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Vi điều khiển: ATmega2560 (8-bit AVR @ 16 MHz, 256 KB Flash, 8 KB SRAM).
  • Bộ điều hướng & Cảm biến:
    • u-blox NEO-M8N GPS Module (Độ chính xác 2.5m CEP, 66 channels, 10 Hz refresh rate).
    • Honeywell HMC5883L 3-axis Digital Compass (Giao tiếp I2C, dải đo $\pm 1.3\text{ to } 8\text{ Gauss}$, tần số 75 kHz).
    • Cảm biến siêu âm HC-SR04 (Đo khoảng cách 2cm – 400cm, độ chính xác $\pm 3\text{mm}$, phát xung 40 kHz).
  • Cơ cấu chấp hành & Nguồn:
    • 4 Động cơ DC giảm tốc JGB 37-545 ($P = 60\text{ W}$, tốc độ không tải 332 RPM, định mức 208 RPM, moment 94 N.cm, tỉ số truyền 1:19).
    • Driver L298N Dual H-Bridge kết hợp cổng logic AND/NOT phụ trợ nhằm tối ưu chân điều khiển vi điều khiển.
    • Nguồn động lực: Pin LiPo Tiger 3S 11.1V – 4500mAh – 35C xả tối đa 70C.
  • Mô-đun truyền thông không dây: Semtech LoRa AS32 (Công suất 1W, băng tần 410–441 MHz, cự ly truyền thông thực tế tới 8000m, giao tiếp UART 9600 bps).
  • Phần mềm trạm mặt đất: Python 3.9, Tkinter GUI, Thư viện bản đồ Folium, PySerial.

Thiết kế mạch logic điều khiển động cơ

Nhằm khắc phục nhược điểm tốn chân I/O và tối ưu xung PWM trên IC L298N, hệ thống tích hợp khối logic phụ trợ với phương trình đại số Boole: $$In_1 = PWM \land \overline{DIR}$$ $$In_2 = PWM \land DIR$$

Bảng chân lý của mạch logic:

PWM DIR $In_1$ $In_2$ Trạng thái động cơ
0 0 0 0 Dừng tự do
0 1 0 0 Dừng tự do
1 0 1 0 Quay thuận (Forward)
1 1 0 1 Quay nghịch (Reverse)

Thiết kế này cho phép vi điều khiển chỉ cần dùng 1 chân PWM (điều chỉnh tốc độ) và 1 chân Digital DIR (chọn chiều quay) cho mỗi kênh động cơ, tiết kiệm 50% chân PWM so với điều khiển độc lập thông thường.


Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

Quy trình phát triển hệ thống tuân theo mô hình V-Model từ khâu mô phỏng ứng suất cơ khí trên Autodesk Inventor, lập trình nhúng phần cứng đến xây dựng trạm điều khiển trên máy tính.

       [Start]
          |
          v
[Read Sensors: GPS & Compass]
          |
          v
[Compute Heading Error (e_h)]
          |
          +-----------------------+-----------------------+
          |                       |                       |
          v                       v                       v
  [-10 deg <= e_h <= 10 deg]   [e_h > 10 deg]          [e_h < -10 deg]
          |                       |                       |
          v                       v                       v
     [Drive Straight]        [Turn Right]            [Turn Left]
          |                       |                       |
          +-----------------------+-----------------------+
                                  |
                                  v
                    [Read Ultrasonic Sensor (d)]
                                  |
                                  +-------------------+
                                  |                   |
                                  v                   v
                             [d < 0.15 m]        [d >= 0.15 m]
                                  |                   |
                                  v                   v
                         [Stop & Next WP]       [PID Speed Loop]
                                                      |
                                                      v
                                                   [Loop]

1. Thuật toán trích xuất dữ liệu GPS NMEA-0183

Module NEO-M8N xuất bản tin chuẩn qua UART. Chương trình sử dụng máy trạng thái hữu hạn để nhận diện header $GPGGA, trích xuất vĩ độ (Latitude) và kinh độ (Longitude) từ các trường dữ liệu thứ 2 và thứ 4 sau dấu phẩy:

// Trích xuất tọa độ từ chuỗi dữ liệu GPS $GPGGA
void parseGPSString(char* nmeaBuffer) {
    if (strstr(nmeaBuffer, "$GPGGA") != NULL) {
        char* token = strtok(nmeaBuffer, ",");
        int fieldIndex = 0;
        char latStr[15], lonStr[15];
        
        while (token != NULL) {
            fieldIndex++;
            if (fieldIndex == 3) strcpy(latStr, token); // Vĩ độ: ddmm.mmmm
            if (fieldIndex == 5) strcpy(lonStr, token); // Kinh độ: dddmm.mmmm
            token = strtok(NULL, ",");
        }
        // Chuyển đổi định dạng NMEA sang Decimal Degrees
        currentLat = convertNMEAToDecimal(latStr);
        currentLon = convertNMEAToDecimal(lonStr);
    }
}

2. Thuật toán bù góc nghiêng từ trường (Magnetic Declination)

Do cực Bắc từ trường không trùng với cực Bắc thực địa lý, giá trị đọc từ HMC5883L cần được hiệu chỉnh theo tọa độ địa phương. Tại khu vực Hà Nội, góc lệch từ trường là $-1^\circ 52'$ (tương đương $-0.0326\text{ rad}$): $$\theta_{\text{thực}} = \theta_{\text{đo}} + \delta_{\text{declination}} = \text{atan2}(Y, X) + (-0.0326)$$

3. Thuật toán điều hướng theo Heading Error

Sai lệch góc giữa hướng di chuyển hiện tại ($\theta_{\text{current}}$) và hướng tới điểm đích ($\theta_{\text{target}}$) được tính toán: $$\Delta\theta = \theta_{\text{target}} - \theta_{\text{current}}$$

Quy tắc điều khiển hướng lái chuyển động:

  • Nếu $-10^\circ \le \Delta\theta \le 10^\circ$: Xe tiếp tục Đi thẳng.
  • Nếu $\Delta\theta > 180^\circ$ hoặc $-180^\circ < \Delta\theta < -10^\circ$: Xe Quay trái.
  • Nếu $10^\circ < \Delta\theta \le 180^\circ$ hoặc $\Delta\theta < -180^\circ$: Xe Quay phải.
// Thuật toán điều hướng bám góc mục tiêu
void executeHeadingControl(float targetAngle, float currentAngle) {
    float headingError = targetAngle - currentAngle;
    
    // Chuẩn hóa góc sai lệch về khoảng [-180, 180] độ
    if (headingError > 180.0) headingError -= 360.0;
    if (headingError < -180.0) headingError += 360.0;
    
    if (headingError >= -10.0 && headingError <= 10.0) {
        setMotorDirection(FORWARD);
    } else if (headingError > 10.0) {
        setMotorDirection(TURN_RIGHT);
    } else {
        setMotorDirection(TURN_LEFT);
    }
}

4. Giao thức đóng gói dữ liệu truyền thông LoRa

Dữ liệu truyền nhận giữa vi điều khiển và GCS qua LoRa AS32 được đóng gói theo khung chuẩn 9 bytes để hạn chế mất mát dữ liệu và nhiễu sóng:

  • Byte 0: Byte đồng bộ 0xFF (Start Frame).
  • Bytes 1–4: 4 bytes mã hóa số nguyên của Vĩ độ ($Lat \times 10^6$).
  • Bytes 5–8: 4 bytes mã hóa số nguyên của Kinh độ ($Lon \times 10^6$).

Xử lý dịch bit (Bit-shifting) và toán tử logic OR tại bộ giải mã:

// Giải mã dữ liệu 16-bit góc và khoảng cách từ buffer LoRa
int16_t decodedAngle = (int16_t)((rxBuffer[1] << 8) | rxBuffer[2]);
uint16_t decodedDistance = (uint16_t)((rxBuffer[3] << 8) | rxBuffer[4]);

Đánh giá thử nghiệm và kết quả thực nghiệm

Target Speed: 40 RPM
Max Response: 45 RPM (Over-shoot: +12.5%)
Min Response: 35 RPM (Under-shoot: -12.5%)

    RPM
     50 |           .---.           .---.
     45 | - - - - -/ - - \ - - - - / - - \ - - - - N_max (45 RPM)
     40 |=========+=======+=======+=======+======= N_yc  (40 RPM)
     35 | - - - -/ - - - - \ - - / - - - - \ - - - N_min (35 RPM)
     30 |       '           '---'           '
        +-------------------------------------------> Time (s)
  1. Thử nghiệm đáp ứng bộ điều khiển PID:

    • Bộ điều khiển vận tốc cho động cơ JGB 37-545 sử dụng thông số hiệu chỉnh thực nghiệm: $K_p = 125$, $K_d = 0.0001$.
    • Tốc độ thiết lập định mức: $N_{\text{yc}} = 40\text{ rpm}$.
    • Tốc độ đáp ứng thực tế đo được qua Encoder: Dao động trong dải $N_{\min} = 35\text{ rpm}$ đến $N_{\max} = 45\text{ rpm}$.
    • Sai số điều khiển ổn định tốc độ: $$\epsilon = \frac{|N_{\text{yc}} - N_{\text{thực}}|}{N_{\text{yc}}} \times 100% = \frac{|40 - 45|}{40} \times 100% = 12.5%$$
    • Hệ thống duy trì ổn định vận tốc tuyến tính danh định $v = 1.38\text{ m/s}$ (~5 km/h tương đương tốc độ đi bộ của con người).
  2. Thử nghiệm cảm biến siêu âm phát hiện vật cản:

    • Cảm biến HC-SR04 kích hoạt phát chùm sóng 40 kHz với xung kích $10,\mu\text{s}$.
    • Khoảng cách an toàn cảnh báo: $d_{\text{safe}} = 3.5\text{ m}$. Khoảng cách dừng khẩn cấp: $d_{\text{stop}} = 0.15\text{ m}$.
    • Tỷ lệ nhận diện vật cản phản xạ thẳng thành công đạt 98.2% trong cự ly $< 2.5\text{ m}$.
  3. Thử nghiệm bám điểm mốc tọa độ (Waypoints Tracking):

    • Xe thực hiện chuỗi 5 điểm mốc định sẵn trên sân thử nghiệm diện tích $50\text{ m} \times 50\text{ m}$.
    • Sai số tiếp cận điểm đích cuối cùng nằm trong bán kính $1.8\text{ m} - 2.4\text{ m}$, hoàn toàn phù hợp với giới hạn 2.5m CEP của module định vị u-blox NEO-M8N độc lập.

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

  1. Tối ưu hóa phần cứng điều khiển công suất: Thay vì sử dụng các module điều khiển đắt tiền hoặc tiêu tốn 4 chân PWM của vi điều khiển, việc kết hợp mạch cổng logic số phụ trợ ($In_1 = PWM \land \overline{DIR}$, $In_2 = PWM \land DIR$) đã giảm 50% tài nguyên chân điều khiển xung của ATmega2560, loại bỏ hoàn toàn hiện tượng trùng dẫn (shoot-through) của cầu H trên L298N.
  2. Cơ cấu bánh đa hướng 4 bánh dẫn động độc lập: Cho phép robot thực hiện 11 chế độ chuyển động linh hoạt (tiến, lùi, dạt ngang, xoay tròn tại tâm, đi chéo góc). Khả năng này giảm thiểu bán kính quay vòng về $0\text{ m}$, giúp xe xoay sở tốt trong các khúc cua hẹp ngoài trời mà xe bánh lái thông thường (Ackermann steering) không thể thực hiện được.
  3. Bù góc nghiêng từ trường động theo vị trí địa lý: Tích hợp giải thuật bù sai số góc từ trường cục bộ ($-1^\circ 52'$ tại miền Bắc Việt Nam) vào giá trị đo của cảm biến la bàn số HMC5883L, giúp độ chính xác hướng di chuyển cải thiện hơn 22% so với việc đọc góc thô trực tiếp.
  4. Truyền thông vô tuyến LoRa tầm xa ổn định: Sử dụng module Semtech AS32 công suất 1W trên tần số 433 MHz, đảm bảo khả năng truyền nhận dữ liệu telemetry và lệnh điều khiển từ GCS tới khoảng cách hàng nghìn mét trong điều kiện bị che chắn một phần bởi cây cối và công trình nhỏ.

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

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

  • Vận chuyển hành lý và hàng hóa tại sân bay, nhà ga: Tự động di chuyển giữa các khu vực check-in, kho hàng và bãi đỗ máy bay ngoài trời.
  • Logistics nội khu trường đại học và bệnh viện: Phân phát tài liệu, thuốc men, mẫu xét nghiệm giữa các tòa nhà mà không cần sự can thiệp của con người.
  • Nông nghiệp công nghệ cao: Vận chuyển nông sản, phân bón tại các trang trại mở, nhà kính diện tích lớn.
[Khu Vực Gửi Hàng] ---> [Lập Trình Điểm Đến (GCS Map)]
                                |
                                v
[Tự Hành Vượt Địa Hình Ngoài Trời (GPS Waypoints)]
                                |
                                v
[Tránh Vật Cản Chủ Động (HC-SR04)] ---> [Đến Đích & Giao Hàng]

Yêu cầu triển khai và khả năng mở rộng

  • Yêu cầu phần cứng trạm mặt đất: Máy tính cá nhân chạy Windows/Linux/macOS có cổng USB, kết nối module LoRa thu phát USB-UART.
  • Bảo trì và vận hành: Pin LiPo 3S 4500mAh hỗ trợ xe hoạt động liên tục 60–75 phút ở tải trọng 10 kg. Cần trang bị trạm sạc bán tự động hoặc cơ chế thay pin nhanh để đảm bảo xe vận hành 24/7.
  • Khả năng mở rộng: Kiến trúc phần mềm dễ dàng nâng cấp lên vi điều khiển 32-bit (STM32 / ESP32) hoặc máy tính nhúng (Raspberry Pi, NVIDIA Jetson) để tích hợp module RTK-GPS (độ chính xác cỡ cm) và thuật toán SLAM quang học.

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

Hạn chế kỹ thuật hiện tại

  • Độ chính xác định vị phụ thuộc thời tiết: GPS NEO-M8N suy giảm độ chính xác khi mây dày đặc hoặc đi vào các hẻm hẹp giữa các tòa nhà cao tầng (hiện tượng đa đường truyền - multipath).
  • Cảm biến tránh vật cản đơn hướng: Cảm biến siêu âm HC-SR04 chỉ quét được góc hẹp phía trước ($15^\circ$), chưa thể phát hiện các chướng ngại vật từ hai bên sườn hoặc phía sau.
  • Bộ điều khiển PID kinh nghiệm: Sai số bám tốc độ còn ở mức $12.5%$, cần thuật toán lọc nhiễu encoder tốt hơn.

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

  • Tích hợp công nghệ định vị GPS RTK (Real-Time Kinematic) hoặc module u-blox ZED-F9P để nâng độ chính xác vị trí lên mức centimet ($< 0.05\text{ m}$).
  • Bổ sung cụm 2D LiDAR quét $360^\circ$ và cảm biến quán tính IMU 9 bậc tự do (MPU-9250), áp dụng thuật toán Lọc Kalman mở rộng (EKF) để kết hợp dữ liệu (Sensor Fusion).
  • Nâng cấp trạm điều khiển GCS lên nền tảng Web-based chạy máy chủ đám mây, cho phép điều khiển và giám sát toàn bộ đội xe (Fleet Management) thông qua giao thức MQTT/4G-LTE.

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

  • Sinh viên ngành Cơ điện tử, Tự động hóa, Robot: Cung cấp tài liệu tham khảo hoàn chỉnh từ khâu tính toán kết cấu cơ khí, thiết kế mạch công suất logic đến lập trình nhúng C++ và giao diện Python.
  • Kỹ sư và lập trình viên nhúng: Nắm bắt kỹ thuật parse chuỗi NMEA GPS, xử lý bù từ trường địa phương và phương pháp đóng gói gói tin truyền thông LoRa.
  • Doanh nghiệp vừa và nhỏ (SMEs): Tiếp cận mô hình xe tự hành ngoài trời chi phí thấp ($< 300\text{ USD}$), dễ dàng tùy biến cho các bài toán chuyên chở nội bộ.
  • Nhà nghiên cứu: Nền tảng phần cứng mở (Open-architecture platform) để thử nghiệm các giải thuật điều khiển phi tuyến, bám quỹ đạo Pure Pursuit hoặc Navigation Vector Field.

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

1. Yêu cầu phần cứng tối thiểu để tự xây dựng lại mô hình này là gì?

Hệ thống yêu cầu bo mạch vi điều khiển hỗ trợ tối thiểu 4 cổng UART phần cứng (khuyến nghị Arduino Mega 2560 hoặc STM32F4), 1 module GPS NEO-M8N kèm ăng-ten gốm, 1 la bàn số HMC5883L/QMC5883L, 4 động cơ DC giảm tốc kèm driver cầu H (dòng tải liên tục $\ge 2\text{A}$ mỗi kênh), 1 cặp thu phát LoRa AS32 và nguồn pin LiPo $3\text{S } 11.1\text{V} \ge 3000\text{mAh}$.

2. Làm thế nào để cải thiện độ chính xác định vị của xe xuống dưới 1 mét?

Để đạt độ chính xác dưới $1\text{ m}$, có thể nâng cấp hệ thống định vị sang GPS vi sai (DGPS) hoặc GPS RTK (Real-Time Kinematic) sử dụng module u-blox ZED-F9P kết hợp trạm Base Station cố định. Ngoài ra, kết hợp thuật toán Lọc Kalman (EKF) giữa GPS, IMU và Odometry bánh xe sẽ loại bỏ nhiễu trôi vị trí tức thời.

3. Tại sao cần phải bù góc nghiêng từ trường cho cảm biến la bàn HMC5883L?

La bàn từ tính chỉ hướng về cực Bắc từ (Magnetic North), trong khi bản đồ địa lý sử dụng cực Bắc thực (True North). Sự chênh lệch giữa hai cực này thay đổi tùy theo tọa độ địa lý. Tại Hà Nội, góc lệch là $-1^\circ 52'$. Nếu không cộng bù góc này, xe sẽ luôn bị lệch hướng lái từ $2^\circ - 3^\circ$, dẫn đến sai số tích lũy lớn khi di chuyển quãng đường dài.

4. Hệ thống xử lý thế nào khi mất kết nối tín hiệu LoRa giữa xe và máy tính?

Trong chương trình nhúng trên vi điều khiển, hệ thống được thiết lập cơ chế an toàn (Fail-safe): Nếu quá 5 giây không nhận được gói tin đồng bộ 0xFF từ GCS khi đang ở chế độ Manual, xe sẽ tự động ngắt PWM động cơ về mức 0 để dừng khẩn cấp. Ở chế độ Auto, xe vẫn tiếp tục tự hành hoàn thành các tọa độ đã nạp trong bộ nhớ đệm trước đó.

5. Chi phí dự toán để chế tạo hoàn thiện một xe tự hành như đồ án là bao nhiêu?

Tổng chi phí linh kiện vật tư cho một xe tự hành hoàn thiện dao động từ 4.500.000 đến 6.000.000 VNĐ (khoảng 180 - 250 USD), bao gồm khung nhôm, 4 cụm động cơ giảm tốc, bo mạch vi điều khiển, các cảm biến định vị, module LoRa và pin LiPo dung lượng cao.


Kết luận

Đề tài "Thiết kế và điều khiển xe tự hành sử dụng định vị GPS" đã giải quyết trọn vẹn bài toán tự động hóa vận chuyển hàng hóa ngoài trời với chi phí tối ưu. Dự án kết hợp hài hòa giữa kỹ thuật cơ khí chính xác, mạch điện tử công suất tối ưu và thuật toán điều khiển nhúng thời gian thực. Hệ thống xe tự hành 4 bánh đa hướng vận hành ổn định, mang tải trọng 10 kg, định vị bám điểm mốc tọa độ chính xác qua GPS u-blox NEO-M8N và la bàn số HMC5883L, kết hợp khả năng phát hiện vật cản chủ động bằng sóng siêu âm và giám sát từ xa qua sóng vô tuyến LoRa.

Mô hình là nền tảng thực nghiệm giá trị, mở ra hướng ứng dụng rộng rãi cho logistics nội khu thông minh, nhà máy sản xuất và các khuôn viên trường học hiện đại. Để triển khai ứng dụng thực tế trên quy mô công nghiệp, quý độc giả và các đơn vị nghiên cứu có thể tiếp tục phát triển tích hợp công nghệ định vị vi sai RTK-GPS và hệ thống đa cảm biến LiDAR-Camera AI nhằm nâng cao tính tự chủ và an toàn tuyệt đối cho phương tiện.