Giới thiệu dự án
Bối cảnh ngành và thống kê thực trạng
Theo báo cáo toàn cầu của Tổ chức Y tế Thế giới (WHO), mỗi năm có khoảng 1,19 triệu người tử vong do tai nạn giao thông đường bộ, trong đó hơn 90% nguyên nhân xuất phát từ sự chậm trễ trong nhận thức và phản xạ của người điều khiển phương tiện. Nhằm giải quyết vấn đề này, các tổ chức đánh giá xe mới trên toàn cầu như Euro NCAP, ANCAP và C-NCAP đã đưa hệ thống cảnh báo tiền va chạm (Pre-Collision System - PCS) và hệ thống phanh tự động khẩn cấp (Automatic Emergency Braking - AEB) trở thành tiêu chí bắt buộc để đánh giá tiêu chuẩn an toàn 5 sao.
Tại Việt Nam, với mật độ phương tiện hỗn hợp (ô tô, xe máy, xe đạp, người đi bộ) lưu thông cùng làn đường vô cùng phức tạp, nguy cơ va chạm khuất tầm nhìn hoặc va chạm điểm mù phía trước xe diễn ra thường xuyên. Do đó, việc nghiên cứu các hệ thống hỗ trợ lái xe nâng cao (Advanced Driver Assistance Systems - ADAS) có khả năng cảnh báo sớm nguy cơ va chạm trong thời gian thực là yêu cầu cấp thiết.
+-----------------------------------+
| Dữ liệu Môi trường Giao thông |
+-----------------+-----------------+
|
+-----------------------+-----------------------+
| |
v v
+-----------------------+ +-----------------------+
| Camera (Hình ảnh) | | RpLidar (Laser ToF) |
| Raspberry Pi v2 | | A1M8 (360 độ, 12m) |
+-----------+-----------+ +-----------+-----------+
| |
| (Khung hình RGB) | (Góc & Khoảng cách)
v v
+-----------------------------------------------------------------------+
| Bộ xử lý trung tâm: NVIDIA Jetson Nano B01 |
| - Thuật toán thị giác máy tính: MobileNetV2-SSD (Object Detection) |
| - Trích xuất tọa độ & Hộp bao (Bounding Box / ROI) |
| - Hợp nhất dữ liệu không gian Lidar (Sensor Fusion) |
| - Cảm biến tốc độ Hall 3144E -> Tính quãng đường phanh an toàn |
+-----------------------------------+-----------------------------------+
|
| (Mức độ nguy cơ: Level 1 -> 3)
v
+-----------------------+-----------------------+
| |
v v
+-----------------------+ +-----------------------+
| Màn hình hiển thị LCD | | Còi chíp 12V / Relay |
| (Cảnh báo Trực quan) | | (Cảnh báo Âm thanh) |
+-----------------------+ +-----------------------+
Vấn đề kỹ thuật cần giải quyết (Problem Statement)
Các hệ thống PCS thương mại hiện nay (như Mobileye 630, Toyota Safety Sense, Bosch Radar/Camera Fusion) sở hữu độ tin cậy cao nhưng giá thành đắt đỏ (dao động từ 1.500 - 3.500 USD cho module chuyên dụng), kiến trúc phần cứng khép kín và giao thức CAN-bus độc quyền, gây khó khăn cho việc nghiên cứu, thử nghiệm trên các phương tiện tự chế, xe điện cỡ nhỏ (micro-EV) hoặc phương tiện tự hành chuyên dụng trong khuôn viên hẹp.
Ngược lại, các giải pháp giá rẻ dựa trên cảm biến siêu âm (Sonar) hoặc một Camera đơn lẻ (Mono Camera) thường gặp các hạn chế kỹ thuật:
- Cảm biến siêu âm: Tầm quét ngắn (< 3m), góc mở hẹp, dễ bị nhiễu sóng âm bởi môi trường.
- Camera đơn lẻ: Ước lượng khoảng cách (Monocular Depth Estimation) có sai số cao ($\pm 15-25%$), phụ thuộc nhiều vào điều kiện ánh sáng và góc đặt camera.
Mục tiêu dự án
- Nghiên cứu cơ sở lý thuyết: Làm chủ nguyên lý hợp nhất cảm biến (Sensor Fusion) giữa dữ liệu hình ảnh 2D và dữ liệu đám mây điểm Laser.
- Thiết kế phần cứng hệ thống: Xây dựng mô hình nhúng tích hợp bộ vi xử lý AI NVIDIA Jetson Nano B01, cảm biến RpLidar A1M8, Camera Raspberry Pi v2 và cảm biến tốc độ hiệu ứng Hall A3144E.
- Phát triển thuật toán phần mềm: Tối ưu hóa mạng nơ-ron tích chập MobileNetV2-SSD bằng thư viện OpenCV và CUDA để phát hiện đa đối tượng (người đi bộ, xe máy, ô tô) với độ trễ thấp.
- Kiểm nghiệm thực tế: Chế tạo mô hình xe thử nghiệm và đánh giá độ chính xác cảnh báo trong 4 kịch bản động: xe di chuyển cùng chiều, ngược chiều, cắt ngang đầu xe và vào cua.
Phương pháp tiếp cận và kết quả kỳ vọng
Hệ thống sử dụng phương pháp hợp nhất cảm biến bất đối xứng (Asymmetric Sensor Fusion):
- Thị giác máy tính (Camera + MobileNet-SSD): Đảm nhận vai trò phân loại đối tượng (Classification) và xác định vùng không gian quan tâm (Region of Interest - ROI).
- Lidar quét 2D (RpLidar A1M8): Đo khoảng cách vật lý thực tế (Physical Distance) tại góc quét tương ứng với tâm của ROI.
- Cảm biến Hall 3144E: Đo vận tốc tức thời của xe chủ ($v_0$) để thuật toán tự động tính toán quãng đường dừng xe an toàn ($S_{safe}$) thay vì áp dụng khoảng cách cố định.
Chỉ số kỳ vọng đạt được:
- Tốc độ xử lý hình ảnh: $\ge 20\text{ FPS}$ trên bo mạch nhúng Jetson Nano.
- Độ trễ phản hồi cảnh báo (System Latency): $\le 50\text{ ms}$.
- Độ chính xác phát hiện vật cản trong tầm $1.0\text{ m} - 6.0\text{ m}$: $\ge 85%$.
- Cảnh báo âm thanh/hình ảnh chính xác theo 3 cấp độ an toàn (Safe, Warning, Critical Hazard).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí kỹ thuật |
Hệ thống Radar đơn thuần |
Hệ thống Mobileye 630 |
Hệ thống Mono Camera AI |
Giải pháp Đề xuất (Jetson + Lidar + Camera) |
| Loại cảm biến |
Radar sóng Milimet 77GHz |
Camera chuyên dụng + EyeQ chip |
1x RGB Camera |
Camera Pi v2 + RpLidar A1M8 + Hall Sensor |
| Phân loại vật cản |
Kém (chỉ phát hiện khối kim loại) |
Xuất sắc (Người, xe, biển báo, vạch làn) |
Tốt (Phụ thuộc mô hình Deep Learning) |
Tốt (MobileNetV2-SSD phát hiện đa lớp) |
| Độ chính xác đo cự ly |
Rất cao ($\pm 0.1\text{ m}$ trong $1-150\text{ m}$) |
Cao ($\pm 0.2\text{ m}$ qua xử lý ảnh) |
Kém ($\pm 0.5-1.5\text{ m}$) |
Rất cao ($\pm 0.05\text{ m}$ trong $0.15-12\text{ m}$) |
| Hiệu năng thời gian thực |
$40-50\text{ Hz}$ |
$30\text{ Hz}$ ($0.1\text{ s}$ latency) |
$15-25\text{ FPS}$ |
$20-28\text{ FPS}$ (GPU CUDA Acceleration) |
| Chi phí phần cứng |
Cao ($800 - 1.500\text{ USD}$) |
Rất cao ($1.200 - 2.000\text{ USD}$) |
Rất thấp ($50 - 100\text{ USD}$) |
Thấp - Tối ưu ($200 - 250\text{ USD}$) |
| Khả năng tùy biến |
Khép kín (Black-box) |
Khép kín (Black-box) |
Mã nguồn mở hoàn toàn |
Mã nguồn mở, dễ dàng nâng cấp thuật toán |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must-have (Bắt buộc):
- Nhận diện chính xác 3 nhóm đối tượng: Người đi bộ (
person), Ô tô (car), Xe máy/Xe đạp (bicycle/motorbike).
- Quét laser đo cự ly vật cản trong góc $0^\circ \pm 30^\circ$ phía trước đầu xe.
- Kích hoạt cảnh báo âm thanh qua Còi 12V và cảnh báo trực quan qua Màn hình LCD khi khoảng cách nhỏ hơn ngưỡng phanh an toàn.
- Should-have (Nên có):
- Tự động thay đổi ngưỡng khoảng cách kích hoạt cảnh báo dựa trên vận tốc đo từ cảm biến Hall.
- Hiển thị hộp bao (Bounding box), nhãn lớp (Class label), độ tin cậy (Confidence score) và khoảng cách Lidar trực tiếp trên màn hình theo thời gian thực.
- Could-have (Có thể có):
- Xuất tín hiệu điều khiển Relay ngắt mạch động cơ xe tự chế mô phỏng cơ chế phanh khẩn cấp tự động (AEB).
- Won't-have (Chưa triển khai ở giai đoạn này):
- Tích hợp mạng giao tiếp CAN-bus tiêu chuẩn ô tô thương mại.
- Phân tích bản đồ 3D SLAM không gian môi trường.
Thiết kế hệ thống
Ngăn xếp công nghệ (Technology Stack)
- Hệ điều hành nhúng: Linux Ubuntu 18.04 LTS (NVIDIA JetPack 4.6 SDK).
- Trình biên dịch & Ngôn ngữ: Python 3.6.9, GCC 7.5.0.
- Thư viện thị giác máy tính & Tăng tốc phần cứng:
- OpenCV 4.5.4 (Biên dịch với cờ hỗ trợ CUDA và cuDNN).
- CUDA Toolkit 10.2, cuDNN 8.2.1.
- Deep Learning Framework: Caffe / TensorFlow Lite / PyTorch inference engine.
- Giao thức truyền thông phần cứng:
- CSI-2 (Camera Serial Interface) cho Camera Raspberry Pi v2.
- UART/USB (Baudrate 115200 bps) cho RpLidar A1M8.
- GPIO Interrupts cho cảm biến Hall A3144E.
- Digital Output (Relay control) kích hoạt còi báo động 12V.
Thông số kỹ thuật chi tiết phần cứng
+-----------------------------------------------------------------------------------+
| CẤU HÌNH PHẦN CỨNG HỆ THỐNG |
+-----------------------------------------------------------------------------------+
| 1. Bộ máy tính nhúng: NVIDIA Jetson Nano Developer Kit B01 |
| - CPU: Quad-core ARM Cortex-A57 MPCore @ 1.43 GHz |
| - GPU: 128-core NVIDIA Maxwell architecture @ 921 MHz |
| - Bộ nhớ RAM: 4GB 64-bit LPDDR4 25.6 GB/s |
| |
| 2. Cảm biến hình ảnh: Raspberry Pi Camera Module v2 |
| - Cảm biến: Sony IMX219 8-megapixel |
| - Độ phân giải khung hình: 640x480 pixels @ 30 FPS |
| |
| 3. Cảm biến Lidar 2D: RpLidar A1M8 (Slamtec) |
| - Tần số quét (Scan Frequency): 5.5 Hz - 10 Hz |
| - Tần số lấy mẫu (Sample Rate): 4000 - 8000 mẫu/giây |
| - Khoảng cách đo: 0.15m - 12m (Góc mở 360 độ, lấy góc trước ±30 độ) |
| |
| 4. Cảm biến tốc độ: Cảm biến Hall A3144E gắn đĩa từ bánh xe |
| - Điện áp hoạt động: 4.5V - 24V DC, ngõ ra Open-Collector TTL xung vuông |
| |
| 5. Khối nguồn và Chấp hành: |
| - Nguồn cấp: Bình ắc quy khô GS 12V-12Ah qua Mạch Buck hạ áp LM2596 (5V-4A) |
| - Màn hình LCD 7 inch (HDMI Interface, 1024x600) + Còi báo động DC 12V |
+-----------------------------------------------------------------------------------+
Phương pháp nghiên cứu và quy trình phát triển
Dự án áp dụng mô hình phát triển lặp kết hợp phần cứng và phần mềm (Hardware-in-the-loop V-Model):
Tuần 1-3: Nghiên cứu lý thuyết, lựa chọn phần cứng & khảo sát cảm biến
Tuần 4-6: Xây dựng thuật toán AI MobileNet-SSD & tiền xử lý OpenCV trên Jetson Nano
Tuần 7-9: Lập trình giao tiếp Lidar A1M8, cảm biến Hall & thuật toán hợp nhất
Tuần 10-11: Lắp ráp cơ khí lên xe tự chế, tích hợp Relay, LCD, Còi cảnh báo
Tuần 12+: Thực nghiệm hiện trường (4 kịch bản), đo đạc số liệu & tối ưu hóa
Đánh giá rủi ro và giải pháp khắc phục
- Rủi ro quá nhiệt và tụt xung (Thermal Throttling) của Jetson Nano:
- Khắc phục: Lắp đặt quạt tản nhiệt PWM 5V chuyên dụng và đặt chế độ năng lượng cực đại 10W (
nvpmodel -m 0 kết hợp jetson_clocks).
- Nhiễu dữ liệu Lidar do phản xạ ánh sáng mặt trời ngoài trời:
- Khắc phục: Thiết lập bộ lọc trung vị (Median Filter) loại bỏ các điểm phản xạ bất thường có khoảng cách $d \le 0.15\text{ m}$ hoặc $d > 10\text{ m}$, đồng thời chỉ lấy dữ liệu trong nón góc nhìn $FOV = [-30^\circ, +30^\circ]$.
- Độ trễ khung hình khi kết hợp nhiều luồng xử lý (Threading Bottleneck):
- Khắc phục: Tách luồng đọc Camera (CSI Pipeline), luồng đọc Lidar (PyLidar Serial) và luồng xử lý AI thành các tiến trình song song (Multi-threading).
Triển khai và kết quả thực nghiệm
Quá trình phát triển và thuật toán cốt lõi
1. Mô hình Deep Learning nhận diện vật thể: MobileNetV2-SSD
Mô hình kết hợp giữa kiến trúc trích xuất đặc trưng MobileNetV2 (sử dụng các khối Inverted Residual và tích chập tách biệt theo chiều sâu - Depthwise Separable Convolution) và bộ phát hiện đa tỷ lệ Single Shot MultiBox Detector (SSD). Kiến trúc này giúp giảm 70% số lượng phép tính (FLOPs) so với VGG-16 SSD truyền thống, cho phép thực thi thời gian thực trên GPU nhúng.
2. Thuật toán tính toán quãng đường phanh và vùng cảnh báo (Warning Zone)
Tốc độ di chuyển của xe ($v$) được tính toán từ cảm biến Hall dựa trên số xung đếm được trên một đơn vị thời gian:
$$v = \frac{N \times 2\pi R}{P \times \Delta t} \quad (\text{m/s})$$
Trong đó: $N$ là số xung đếm được; $P$ là số cực nam châm trên bánh xe ($P = 4$); $R$ là bán kính bánh xe ($R = 0.2\text{ m}$); $\Delta t$ là chu kỳ lấy mẫu.
Quãng đường phanh dừng xe an toàn ($S_{safe}$) bao gồm quãng đường di chuyển trong thời gian phản xạ của tài xế ($t_{rx} \approx 0.8\text{ s}$) và quãng đường phanh trượt cơ học:
$$S_{safe} = v \cdot t_{rx} + \frac{v^2}{2 \mu g} + d_{buffer}$$
Trong đó: $\mu$ là hệ số ma sát giữa lốp và mặt đường ($\mu \approx 0.7$ trên đường bê tông khô); $g = 9.81\text{ m/s}^2$; $d_{buffer} = 1.0\text{ m}$ là khoảng cách an toàn tối thiểu.
3. Cấu trúc mã nguồn hệ thống (Trích xuất các đoạn mã thực thi cốt lõi)
import cv2
import numpy as np
import time
from rplidar import RPLidar
import Jetson.GPIO as GPIO
# Khởi tạo thông số hình học và vùng cảnh báo
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class WarningZone:
def __init__(self, top_left, bottom_right):
self.tl = top_left
self.br = bottom_right
def is_overlap(self, obj_center):
return (self.tl.x <= obj_center.x <= self.br.x) and (self.tl.y <= obj_center.y <= self.br.y)
# Khởi tạo mô hình mạng MobileNetV2-SSD qua OpenCV DNN
prototxt_path = "models/MobileNetSSD_deploy.prototxt"
model_path = "models/MobileNetSSD_deploy.caffemodel"
net = cv2.dnn.readNetFromCaffe(prototxt_path, model_path)
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
CLASSES = ["background", "aeroplane", "bicycle", "bird", "boat",
"bottle", "bus", "car", "cat", "chair", "cow", "diningtable",
"dog", "horse", "motorbike", "person", "pottedplant", "sheep",
"sofa", "train", "tvmonitor"]
# Khởi tạo Lidar A1M8
lidar = RPLidar('/dev/ttyUSB0', baudrate=115200)
def get_lidar_distance(scan_data, min_angle=-30, max_angle=30):
"""Trích xuất khoảng cách nhỏ nhất của vật cản phía trước xe"""
distances = []
for (_, angle, distance) in scan_data:
# Chuẩn hóa góc quét về dải -180 đến 180 độ
normalized_angle = angle if angle <= 180 else angle - 360
if min_angle <= normalized_angle <= max_angle and distance > 150: # Bỏ nhiễu < 15cm
distances.append(distance / 1000.0) # Đổi sang mét
if len(distances) > 0:
return np.min(distances)
return 999.0 # Không có vật cản
# Luồng xử lý chính hợp nhất dữ liệu (Sensor Fusion Pipeline)
def process_system_pipeline(frame, scan_data, vehicle_speed):
(h, w) = frame.shape[:2]
# Thiết lập Vùng cảnh báo trung tâm (ROI Zone)
warning_zone = WarningZone(Point(int(w * 0.25), int(h * 0.3)), Point(int(w * 0.75), h))
# Tiền xử lý ảnh và trích xuất dự đoán
blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)), 0.007843, (300, 300), 127.5)
net.setInput(blob)
detections = net.forward()
obstacle_detected = False
for i in range(detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.55:
idx = int(detections[0, 0, i, 1])
if CLASSES[idx] in ["car", "person", "motorbike", "bicycle"]:
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
center_point = Point(int((startX + endX) / 2), int((startY + endY) / 2))
# Kiểm tra đối tượng có nằm trong vùng nguy hiểm phía trước xe
if warning_zone.is_overlap(center_point):
obstacle_detected = True
cv2.rectangle(frame, (startX, startY), (endX, endY), (0, 0, 255), 2)
cv2.putText(frame, f"{CLASSES[idx]}: {confidence*100:.1f}%",
(startX, startY - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
# Đo khoảng cách thực từ Lidar
front_distance = get_lidar_distance(scan_data)
# Tính toán ngưỡng phanh an toàn theo tốc độ xe
stopping_distance = vehicle_speed * 0.8 + (vehicle_speed**2) / (2 * 0.7 * 9.81) + 1.0
# Phân cấp cảnh báo nguy hiểm
if obstacle_detected and front_distance <= stopping_distance:
# CẤP ĐỘ 3: NGUY HIỂM VA CHẠM CAO -> KÍCH HOẠT CÒI VÀ CẢNH BÁO MÀN HÌNH
GPIO.output(RELAY_PIN, GPIO.HIGH) # Bật còi 12V
cv2.putText(frame, f"CANH BAO! PHANH GAP: {front_distance:.2f}m", (50, 80),
cv2.FONT_HERSHEY_DUPLEX, 1.0, (0, 0, 255), 3)
elif obstacle_detected and front_distance <= (stopping_distance * 1.5):
# CẤP ĐỘ 2: CẢNH BÁO CHÚ Ý
GPIO.output(RELAY_PIN, GPIO.LOW)
cv2.putText(frame, f"CHU Y VAT CAN: {front_distance:.2f}m", (50, 80),
cv2.FONT_HERSHEY_DUPLEX, 0.9, (0, 255, 255), 2)
else:
# CẤP ĐỘ 1: AN TOÀN
GPIO.output(RELAY_PIN, GPIO.LOW)
cv2.putText(frame, f"AN TOAN - Khoang cach: {front_distance:.2f}m", (50, 80),
cv2.FONT_HERSHEY_DUPLEX, 0.8, (0, 255, 0), 2)
return frame
Kiểm nghiệm và đánh giá thực tế
Hệ thống được lắp đặt hoàn chỉnh trên mô hình xe tự chế của Khoa Cơ khí Động lực (Đại học Sư phạm Kỹ thuật TP.HCM) và chạy thử nghiệm tại các tuyến đường nội bộ trong khuôn viên trường.
+---------------------------------------------------------------------------------------+
| KẾT QUẢ ĐO ĐẠC ĐỘ CHÍNH XÁC KHI THỬ NGHIỆM ĐA KỊCH BẢN |
+---------------------------------------------------------------------------------------+
| Kịch bản thử nghiệm | Số lần test | Nhận diện đúng | Báo động đúng | Tỷ lệ |
+------------------------------+-------------+----------------+---------------+---------+
| 1. Xe di chuyển cùng chiều | 50 | 48 | 47 | 94.0% |
| 2. Vật cản ngược chiều | 50 | 46 | 45 | 90.0% |
| 3. Vật cản cắt ngang đầu xe | 50 | 44 | 43 | 86.0% |
| 4. Xe đang vào cua (R=5m) | 50 | 42 | 41 | 82.0% |
+------------------------------+-------------+----------------+---------------+---------+
| TỔNG HỢP TOÀN BỘ KỊCH BẢN | 200 | 180 | 176 | 88.0% |
+---------------------------------------------------------------------------------------+
Độ chính xác đo khoảng cách của RpLidar A1M8 so với Thước đo Laser chuẩn
| Khoảng cách chuẩn (m) |
Khoảng cách đo qua Lidar (m) |
Sai số tuyệt đối (cm) |
Tỷ lệ sai số (%) |
| 0.50 |
0.512 |
+1.2 |
2.40% |
| 1.00 |
1.018 |
+1.8 |
1.80% |
| 2.00 |
2.025 |
+2.5 |
1.25% |
| 3.00 |
2.965 |
-3.5 |
1.17% |
| 4.00 |
4.048 |
+4.8 |
1.20% |
| 5.00 |
4.938 |
-6.2 |
1.24% |
| 6.00 |
6.082 |
+8.2 |
1.37% |
Đánh giá hiệu năng phần cứng trên NVIDIA Jetson Nano
- Tốc độ khung hình (Inference FPS): Đạt trung bình $23.6\text{ FPS}$ với độ phân giải đầu vào $640\times 480$ pixels (sử dụng TensorRT/CUDA DNN backend).
- Mức tiêu thụ điện năng: Dao động từ $6.8\text{ W} - 8.5\text{ W}$ ở chế độ tải tối đa (toàn bộ Lidar, Camera, Màn hình LCD và Jetson Nano hoạt động).
- Thời gian đáp ứng tổng thể (End-to-End Latency): $42.3\text{ ms}$ (từ khi cảm biến ghi nhận dữ liệu đến khi kích hoạt còi báo động qua Relay).
Đổi mới và đóng góp khoa học
- Kiến trúc Hợp nhất Cảm biến Chi phí Tối ưu (Ultra-low-cost Fusion):
Kết hợp thành công công nghệ thị giác máy tính Deep Learning (trích xuất ngữ nghĩa) và Lidar 2D Time-of-Flight (đo cự ly chính xác tuyệt đối). Giải pháp loại bỏ hoàn toàn nhược điểm ước lượng sai khoảng cách của camera đơn, đồng thời giữ giá thành toàn bộ hệ thống ở mức dưới 250 USD (tiết kiệm hơn 85% chi phí so với việc nhập khẩu các bộ kit ADAS thương mại như Mobileye 630).
- Cơ chế Cảnh báo Động theo Vận tốc Thực (Dynamic Speed-adaptive Threshold):
Thay vì sử dụng khoảng cách cố định (Fixed Range Threshold) gây ra nhiều cảnh báo giả (False Positives) khi xe chạy chậm, hệ thống tích hợp cảm biến Hall A3144E để tính toán phương trình động lực học phanh thời gian thực, tự động co giãn vùng an toàn theo tốc độ xe.
- Mô hình Hóa Module Nhúng Hoàn Chỉnh cho Ngành Ô tô Việt Nam:
Tạo ra một bộ mô hình phần cứng mở, hoàn chỉnh từ sơ đồ khối điện, giải thuật AI đến quy trình hiệu chuẩn thực nghiệm. Đây là tài liệu kỹ thuật thực chứng giá trị cho các nhóm sinh viên, kỹ sư nghiên cứu phát triển xe tự hành và xe điện cỡ nhỏ tại Việt Nam.
Ứng dụng thực tế và kế hoạch triển khai
Trường hợp sử dụng thực tế (Use Cases)
- Xe điện sân golf / Xe chở khách tham quan nội khu: Tăng cường an toàn khi di chuyển trong khu du lịch có mật độ người đi bộ đông đúc.
- Robot vận chuyển tự hành trong nhà máy (AGV/AMR): Ứng dụng phát hiện công nhân hoặc vật cản bất ngờ trên lối đi để dừng xe khẩn cấp.
- Giải pháp Retrofit (Nâng cấp) cho xe ô tô đời cũ: Lắp đặt bổ sung trên táp-lô ô tô chưa có sẵn gói công nghệ ADAS, đóng vai trò như thiết bị cảnh báo va chạm độc lập hỗ trợ tài xế.
+-----------------------------------------------------------------------------------+
| BẢNG DỰ TOÁN CHI PHÍ PHẦN CỨNG (BOM) |
+-----------------------------------------------------------------------------------+
| STT | Tên linh kiện / Thiết bị | Số lượng | Đơn giá (VNĐ) | Thành tiền |
+-----+------------------------------------+----------+---------------+-------------+
| 1 | Bo mạch NVIDIA Jetson Nano B01 4GB | 01 | 2.800.000 | 2.800.000 |
| 2 | Cảm biến Slamtec RpLidar A1M8 2D | 01 | 1.950.000 | 1.950.000 |
| 3 | Camera Raspberry Pi v2 (Sony IMX) | 01 | 650.000 | 650.000 |
| 4 | Màn hình LCD 7 inch HDMI 1024x600 | 01 | 850.000 | 850.000 |
| 5 | Cảm biến Hall A3144E + Phụ kiện | 01 | 50.000 | 50.000 |
| 6 | Bình ắc quy GS 12V-12Ah + Mạch Buck| 01 | 450.000 | 450.000 |
| 7 | Còi báo 12V, Relay 2 kênh, Khung xe| 01 | 400.000 | 400.000 |
+-----+------------------------------------+----------+---------------+-------------+
| | TỔNG CỘNG KINH PHÍ PHẦN CỨNG | | | 7.150.000 đ |
+-----------------------------------------------------------------------------------+
Lộ trình nâng cấp công nghiệp
Giai đoạn 1 (Hiện tại): Hoàn thiện hệ thống cảnh báo độc lập (PCS Warning Level 1-2).
Giai đoạn 2 (6 tháng tới): Tích hợp giao tiếp CAN-Shield để kết nối với cơ cấu chấp hành phanh tự động (AEB Level 3).
Giai đoạn 3 (12 tháng tới): Tối ưu hóa mô hình AI sang TensorRT Engine chạy trên NVIDIA Jetson Orin Nano, mở rộng nhận diện vạch làn đường (LDW).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Góc quét phẳng 2D của Lidar: RpLidar A1M8 chỉ quét trên một mặt phẳng nằm ngang duy nhất. Khi xe đi vào đường dốc hoặc gờ giảm tốc mấp mô, chùm tia laser có thể quét xuống mặt đường gây ra cảnh báo sai.
- Hiệu năng Camera trong điều kiện khắc nghiệt: Khả năng nhận diện của mạng MobileNet-SSD giảm sút rõ rệt khi thử nghiệm vào ban đêm thiếu sáng hoặc trời mưa lớn làm mờ ống kính.
- Chưa can thiệp trực tiếp hệ thống phanh thủy lực: Hệ thống hiện dừng lại ở mức kích hoạt tín hiệu Relay đóng/cắt còi và động cơ điện thử nghiệm, chưa tích hợp van điều khiển thủy lực của hệ thống phanh ABS ô tô thật.
Hướng phát triển đề xuất
- Nâng cấp cảm biến: Thay thế Lidar 2D bằng cụm Lidar thể rắn (Solid-State Lidar) hoặc Camera chiều sâu Stereo Depth (như Intel RealSense D435i) để có dữ liệu đám mây điểm 3D toàn diện.
- Nâng cấp thuật toán: Huấn luyện các mô hình tiên tiến hơn như YOLOv8-Nano / RT-DETR trên tập dữ liệu giao thông Việt Nam và lượng tử hóa mô hình sang dạng INT8 để tăng tốc độ xử lý lên $> 40\text{ FPS}$.
- Mở rộng chức năng ADAS: Bổ sung tính năng Cảnh báo chệch làn đường (Lane Departure Warning - LDW) và Nhận diện biển báo giới hạn tốc độ (Traffic Sign Recognition - TSR).
Đối tượng hưởng lợi
- Sinh viên & Nghiên cứu sinh ngành Ô tô, Cơ điện tử, Tự động hóa: Cung cấp tài liệu thực hành hoàn chỉnh, tường minh từ phần cứng nhúng đến thuật toán thị giác máy tính và hợp nhất cảm biến.
- Kỹ sư phát triển phần mềm nhúng (Embedded AI Developers): Mô hình tham chiếu về cách tối ưu hóa pipeline OpenCV kết hợp CUDA và đa luồng xử lý trên nền tảng Jetson.
- Doanh nghiệp sản xuất xe điện cỡ nhỏ & Robot tự hành (AGV): Sở hữu thiết kế mẫu với chi phí linh kiện chỉ khoảng 7,1 triệu VNĐ, sẵn sàng tùy biến sản xuất cho các ứng dụng vận tải nội khu.
- Các nhóm nghiên cứu An toàn giao thông: Bộ dữ liệu thực nghiệm về độ tin cậy của cảnh báo tiền va chạm trong điều kiện mặt đường và vật cản thực tế tại Việt Nam.
Câu hỏi thường gặp
1. Hệ thống có thể hoạt động ổn định vào ban đêm hoặc trời mưa không?
Khi thiếu sáng, độ chính xác nhận diện phân loại của Camera giảm sút, tuy nhiên cảm biến RpLidar A1M8 phát tia laser hồng ngoại độc lập nên vẫn đo chính xác khoảng cách vật lý tới chướng ngại vật phía trước. Ở các phiên bản thương mại tiếp theo, việc bổ sung đèn chiếu hồng ngoại hoặc tích hợp cảm biến Radar sóng milimet sẽ giúp khắc phục hoàn toàn hạn chế thời tiết.
2. Tại sao lại chọn mô hình MobileNet-SSD thay vì YOLOv5 hay YOLOv8?
MobileNet-SSD sử dụng kiến trúc Depthwise Separable Convolution cực kỳ nhẹ, yêu cầu bộ nhớ RAM và năng lực tính toán thấp. Trên bo mạch Jetson Nano B01 (128 nhân GPU Maxwell), MobileNet-SSD chạy trực tiếp qua Caffe backend đạt tốc độ ổn định $\approx 24\text{ FPS}$ mà không gây quá nhiệt hay sụt giảm khung hình, đảm bảo tính thời gian thực cho phản xạ an toàn.
3. Làm thế nào để loại bỏ các điểm đo nhiễu từ mặt đất khi xe rung lắc?
Hệ thống sử dụng bộ lọc thuật toán giới hạn góc quét hữu ích ở dải $[-30^\circ, +30^\circ]$ trùng khớp với góc mở (FOV) của Camera. Đồng thời, các điểm đo có cự ly thay đổi đột ngột vượt quá ngưỡng biến thiên vật lý của phương tiện trong chu kỳ $\Delta t = 0.04\text{ s}$ sẽ bị loại bỏ bởi bộ lọc trung vị (Median Filter).
4. Hệ thống này có thể lắp đặt trực tiếp lên ô tô thương mại (Toyota, Hyundai,...) không?
Hoàn toàn có thể lắp đặt dưới dạng Hệ thống cảnh báo độc lập (Aftermarket Retrofit PCS). Thiết bị chỉ cần cấp nguồn 12V từ cổng tẩu thuốc hoặc ắc quy xe, gắn camera và lidar sau kính chiếu hậu trung tâm/mặt ca-lăng, và đặt màn hình cảnh báo hiển thị trên táp-lô mà không cần can thiệp cắt nối dây điện nguyên bản của xe.
5. Độ trễ 42.3 ms của hệ thống có đủ an toàn để tránh va chạm ở tốc độ cao?
Ở tốc độ $50\text{ km/h}$ ($\approx 13.89\text{ m/s}$), trong thời gian trễ $42.3\text{ ms}$, xe chỉ di chuyển được khoảng $0.58\text{ m}$. Do thuật toán đã cộng thêm khoảng cách an toàn đệm ($d_{buffer} = 1.0\text{ m}$) và tính trước thời gian phản xạ của tài xế ($0.8\text{ s}$), hệ thống đảm bảo phát tín hiệu cảnh báo trước khi khoảng cách chạm tới giới hạn nguy hiểm tối thiểu từ $1.5 - 2.5\text{ giây}$.
Kết luận
Đề tài tốt nghiệp "Nghiên cứu lắp đặt và lập trình hệ thống cảnh báo tiền va chạm (PCS) trên mô hình xe tự chế" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết thành công bài toán tích hợp hệ thống hỗ trợ lái xe an toàn chi phí thấp. Bằng việc kết hợp sáng tạo giữa thị giác máy tính Deep Learning (MobileNetV2-SSD), cảm biến đo khoảng cách laser RpLidar A1M8 và cảm biến tốc độ bánh xe Hall, hệ thống đạt độ chính xác cảnh báo trung bình 88.0% trên toàn bộ 200 lượt thử nghiệm thực tế với độ trễ phản hồi ấn tượng 42.3 ms.
Công trình không chỉ khẳng định tính khả thi của việc ứng dụng Trí tuệ nhân tạo nhúng vào an toàn giao thông mà còn mở ra tiềm năng thương mại hóa các bộ kit an toàn chủ động giá rẻ dành riêng cho thị trường xe điện và phương tiện tự hành nội khu tại Việt Nam.