Giới thiệu dự án
Sự bùng nổ của cuộc cách mạng công nghiệp 4.0 cùng các công nghệ Trí tuệ nhân tạo (AI), Thị giác máy tính (Computer Vision) và Internet of Things (IoT) đang tái định hình ngành công nghiệp ô tô toàn cầu. Xu hướng phát triển xe thông minh ngày nay không chỉ dừng lại ở hiệu suất động cơ hay an toàn chủ động, mà còn mở rộng sang trải nghiệm cá nhân hóa khoang lái (Smart Cabin Personalization). Theo các báo cáo nghiên cứu thị trường ô tô quốc tế, hơn 78% người tiêu dùng phân khúc xe cận sang và xe sang coi các tiện ích tự động hóa cá nhân là yếu tố quyết định khi mua xe.
Tuy nhiên, hệ thống ghế chỉnh điện trên hầu hết các dòng xe thương mại hiện nay vẫn dựa trên thao tác cơ học hoặc cụm nút bấm nhớ vị trí truyền thống (như các nút SET, M1, M2). Việc phải dừng lại thao tác bấm nút, căn chỉnh thủ công mỗi khi thay đổi người lái gây mất thời gian, bất tiện và làm phân tâm tài xế. Đồ án "Nghiên cứu, thiết kế và thi công mô hình điều khiển ghế thông minh bằng nhận diện khuôn mặt" (thực hiện tại Khoa Cơ khí Động lực, Trường Đại học Sư phạm Kỹ thuật TP.HCM) được xây dựng nhằm giải quyết triệt để rào cản này thông qua việc ứng dụng công nghệ sinh trắc học khuôn mặt để tự động hóa hoàn toàn quá trình nhận diện và điều khiển vị trí ghế.
+-------------------------------------------------------------------------+
| HỆ THỐNG GHẾ THÔNG MINH |
| |
| [ Camera USB ] ---> ( Raspberry Pi 4 ) ---> UART/Serial |
| | [Edge AI Engine] | |
| | - Haar / LBPH v |
| | - Dlib / ResNet ( Arduino Mega 2560 ) |
| v | |
| [ SQLite Database ] v |
| [ GUI Tkinter ] ( Mạch cầu H BTS7960 ) |
| | |
| v |
| [ Động cơ DC + Cảm biến Hall ] |
| - Motor trượt tiến/lùi |
| - Motor ngả lưng |
| - Motor nâng đùi & mông |
+-------------------------------------------------------------------------+
Mục tiêu của đồ án
- Nghiên cứu cơ sở lý thuyết: Khảo sát cơ cấu cơ điện tử của ghế chỉnh điện ô tô (nguyên lý động cơ DC chổi than, động cơ BLDC, cơ cấu trục vít - bánh vít, cảm biến Hall hiệu ứng từ trường).
- Nghiên cứu thị giác máy tính & AI: Ứng dụng các thuật toán nhận dạng đặc trưng không gian và học sâu (Haar-Like Cascades, Local Binary Patterns Histogram - LBPH, Dlib 68 Facial Landmarks, ResNet, Support Vector Machine - SVM) để nhận diện khuôn mặt người lái.
- Thiết kế phần cứng & kiến trúc nhúng: Xây dựng hệ thống điều khiển phân tầng gồm vi máy tính xử lý biên Raspberry Pi 4 Model B (4GB RAM) kết hợp vi điều khiển thời gian thực Arduino Mega 2560 Pro.
- Thiết kế giao diện người dùng & quản trị dữ liệu: Xây dựng GUI trực quan bằng thư viện Tkinter trên màn hình cảm ứng 7 inch, quản trị hồ sơ người dùng bằng cơ sở dữ liệu nhúng SQLite.
- Chế tạo và kiểm nghiệm mô hình thực tế: Gia công khung cơ khí chịu lực 1:1, tích hợp mạch động lực cầu H BTS7960 (43A), mạch giảm áp Buck LM2596 và đánh giá độ chính xác định vị dưới các điều kiện ánh sáng khác nhau.
Phạm vi và giới hạn nghiên cứu
- Cơ cấu truyền động: Điều khiển vị trí 3 trục chuyển động chính của ghế (motor trượt tiến/lùi, motor ngả/gập lưng ghế, motor nâng/hạ đùi và mông).
- Hồ sơ lưu trữ: Hỗ trợ lưu trữ và truy xuất tức thời 3 hồ sơ người dùng (Driver Profiles) tương ứng với 3 bộ thông số xung encoder từ cảm biến Hall.
- Khoảng cách nhận diện: Vận hành tối ưu trong cự ly 0.8m – 1.0m (khoảng cách thực tế từ gương chiếu hậu/cột A đến khuôn mặt người lái).
- Môi trường hoạt động: Kiểm thử trong các điều kiện chiếu sáng: đủ sáng, thiếu sáng, thừa sáng và ngược sáng tại các góc chụp thẳng đứng ($0^\circ$) và nghiêng ($\pm 30^\circ$).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Sự phát triển của công nghệ ghế ngồi trên ô tô trải qua các mốc tiến hóa rõ rệt: từ ghế cứng cố định, ghế chỉnh cơ (trục gạt lò xo), ghế chỉnh điện đa hướng, đến ghế nhớ vị trí qua ECU thân xe (Body Control Module).
| Tiêu chí |
Ghế cơ khí truyền thống |
Ghế điện nhớ vị trí (Button SET/M1/M2) |
Giải pháp Ghế thông minh AI (Đồ án) |
| Cơ chế điều khiển |
Kéo lẫy gạt, thanh trượt cơ |
Công tắc điện + ECU nhớ vị trí |
Tự động quét khuôn mặt không tiếp xúc |
| Thời gian thiết lập |
10 – 20 giây |
5 – 8 giây (nhấn & giữ nút) |
< 1.2 giây (nhận diện tức thì) |
| Mức độ tiện nghi |
Thấp, phải dùng lực tay |
Trung bình, phụ thuộc nút bấm |
Tối đa, cá nhân hóa tự động 100% |
| Độ chính xác vị trí |
Thủ công theo cảm giác |
Cao (dùng cảm biến Hall) |
Rất cao (đếm xung Hall ngắt ngoài) |
| Khả năng mở rộng |
Không có |
Cố định 2 – 3 vị trí bằng nút |
Tùy biến hồ sơ dữ liệu không giới hạn |
Phân loại yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc): Tự động phát hiện và nhận diện khuôn mặt; đếm xung cảm biến Hall chính xác để định vị vị trí motor; điều khiển tiến/lùi/ngả lưng qua cầu H công suất cao; tính năng dừng khẩn cấp và bảo vệ chống kẹt.
- Should have (Nên có): Giao diện đồ họa Tkinter trên màn hình cảm ứng 7 inch để thêm/xóa khuôn mặt; kết nối ngoại vi qua giao thức nối tiếp UART; lưu trữ trạng thái vị trí trên cơ sở dữ liệu SQLite.
- Could have (Có thể có): Thuật toán bù sáng tự động cân bằng Histogram để tăng tỷ lệ nhận diện trong điều kiện ngược sáng.
- Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp túi khí an toàn SRS, hệ thống cảm biến phân loại hành khách OCS (Occupant Classification System) và mạch sưởi ấm PTC/NTC.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình xử lý phân tầng (Hierarchical Control Architecture), tách biệt giữa tầng tính toán nhận thức (Cognitive/Vision Layer) và tầng chấp hành thời gian thực (Real-time Actuation Layer).
graph TD
A[Camera USB 720p/1080p] -->|Hình ảnh RAW| B(Raspberry Pi 4 Model B - 4GB)
B -->|Xử lý ảnh & Trích xuất đặc trưng| C{Thuật toán Nhận diện}
C -->|Haar + LBPH / Dlib + ResNet| D[SQLite Database / Tkinter GUI]
C -->|Gửi User ID qua UART 115200bps| E(Arduino Mega 2560 Pro)
E -->|Tín hiệu PWM & Direction| F[Mạch cầu H BTS7960 43A]
F -->|Dòng động lực 12V DC| G[Motor DC: Trượt, Ngả lưng, Nâng hạ]
G -->|Phản hồi xung Encoder| H[Cảm biến Hall từ trường]
H -->|Tín hiệu Ngắt ngoài Interrupt| E
Technology Stack và phiên bản linh kiện
- Nền tảng xử lý biên (SBC): Raspberry Pi 4 Model B (Broadcom BCM2711, Quad-core Cortex-A72 64-bit SoC @ 1.5GHz, 4GB LPDDR4-3200 SDRAM).
- Bộ vi điều khiển (MCU): Arduino Mega 2560 Pro (ATmega2560 @ 16MHz, 54 chân Digital I/O, 4 bộ UART phần cứng).
- Môi trường & Ngôn ngữ lập trình: Python 3.9 (trên Raspberry Pi OS 64-bit), C/C++ (trên Arduino IDE v2.3.2).
- Thư viện thị giác máy tính & AI: OpenCV v4.5.5, Dlib v19.22, Scikit-learn v1.0.2, NumPy v1.21, Pillow v9.0, Tkinter.
- Phần mềm thiết kế cơ điện: SolidWorks 2021 (thiết kế khung cơ khí 3D), Proteus VSM v8.13 (mô phỏng mạch nhúng), CadSoft EAGLE v9.6 (thiết kế mạch in PCB).
- Phần cứng công suất: Mạch cầu H BTS7960 (dòng tải cực đại 43A, hỗ trợ băm xung PWM tần số cao), IC giảm áp xung LM2596 (12V xuống 5V/3A cấp nguồn logic).
Thiết kế cơ sở dữ liệu (SQLite Schema)
Hệ thống sử dụng cơ sở dữ liệu quan hệ nhúng SQLite 3 để ánh xạ giữa vector khuôn mặt người dùng và tọa độ vật lý của ghế:
CREATE TABLE IF NOT EXISTS driver_profiles (
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
user_name TEXT NOT NULL UNIQUE,
face_encoding BLOB NOT NULL,
slide_pulses INTEGER NOT NULL DEFAULT 0,
recline_pulses INTEGER NOT NULL DEFAULT 0,
lift_pulses INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Giao thức truyền thông UART (RPi $\leftrightarrow$ Arduino)
Dữ liệu truyền thông giữa Raspberry Pi 4 và Arduino Mega 2560 qua cổng nối tiếp phần cứng (Baud rate: 115200 bps, Data bits: 8, Parity: None, Stop bits: 1). Cấu trúc gói tin định dạng:
$$\text{Frame format: } \texttt{$CMD,USER_ID,POS_SLIDE,POS_RECLINE,POS_LIFT#}$$
- Ký tự bắt đầu:
$ | Ký tự kết thúc: #
- Tốc độ đáp ứng khung truyền: $\le 5\text{ ms}$.
Methodology
Quy trình phát triển tuân thủ mô hình chữ V tinh gọn (Agile V-Model) kết hợp kiểm thử song song giữa mô phỏng phần mềm và lắp ráp phần cứng:
[Phân tích yêu cầu] ------------------------------------> [Kiểm thử nghiệm thu (UAT)]
\ /
[Thiết kế kiến trúc] ---------------------------> [Tích hợp & Kiểm thử hệ thống]
\ /
[Thiết kế mạch & CAD] -----------> [Kiểm thử phần cứng & Bo mạch]
\ /
[Lập trình AI & Firmware] ---> [Kiểm thử đơn vị (Unit Test)]
- Quản lý rủi ro: Nhiễu điện từ do tia lửa điện chổi than động cơ DC được triệt tiêu bằng cách sử dụng diode dập xung ngược Flyback Schottky và cách ly quang Optocoupler tích hợp trên module BTS7960. Hiện tượng sụt áp nguồn 12V bình ắc quy khi motor khởi động được giải quyết bằng việc tách biệt đường nguồn logic (qua Buck LM2596) và đường nguồn động lực.
Implementation và kết quả
Development process
Quá trình triển khai dự án được chia thành 4 giai đoạn chính:
- Giai đoạn 1 - Khảo sát cơ cấu & Thiết kế cơ khí: Bóc tách sơ đồ mạch điện ghế Lexus RX300 (1999) và hệ thống nhớ ghế Toyota Camry (2015). Dựng mô hình 3D khung ghế sắt chịu lực trên SolidWorks 2021 và gia công cắt laser CNC.
- Giai đoạn 2 - Phát triển mạch nhúng điều khiển: Thiết kế mạch giao tiếp giữa cảm biến Hall nam châm vĩnh cửu và bộ ngắt ngoài (External Interrupt) trên Arduino Mega 2560 để đếm xung vuông quadrature.
- Giai đoạn 3 - Xây dựng Pipeline thị giác máy tính: Triển khai hai chương trình xử lý ảnh độc lập để so sánh đánh giá:
- Chương trình 1: Bộ phát hiện khuôn mặt Haar Cascade kết hợp bộ trích xuất và phân loại Local Binary Patterns Histogram (LBPH).
- Chương trình 2: Bộ phát hiện 68 điểm mốc đặc trưng (Facial Landmarks) sử dụng Dlib kết hợp mạng nơ-ron tích chập ResNet-34 và bộ phân loại Support Vector Machine (SVM).
- Giai đoạn 4 - Tích hợp hệ thống & Tối ưu hóa: Đồng bộ giao diện Tkinter, truyền thông dữ liệu qua cổng UART và hiệu chuẩn sai số vị trí dừng motor.
Trích xuất thuật toán & Code Snippets cốt lõi
1. Xử lý ảnh nhận diện khuôn mặt trên Raspberry Pi (Python):
import cv2
import numpy as np
import serial
import time
# Khởi tạo giao tiếp UART với Arduino
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
time.sleep(2) # Đợi ổn định kết nối
# Khởi tạo bộ phát hiện khuôn mặt Haar Cascade & LBPH Recognizer
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
recognizer = cv2.face.LBPHFaceRecognizer_create(radius=1, neighbors=8, grid_x=8, grid_y=8)
recognizer.read('models/lbph_seat_model.yml')
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
def detect_and_drive_seat():
ret, frame = cap.read()
if not ret:
return
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Cân bằng lược đồ xám để khử chênh lệch ánh sáng
equalized_gray = cv2.equalizeHist(gray)
faces = face_cascade.detectMultiScale(equalized_gray, scaleFactor=1.2, minNeighbors=5, minSize=(100, 100))
for (x, y, w, h) in faces:
roi_gray = equalized_gray[y:y+h, x:x+w]
user_id, confidence = recognizer.predict(roi_gray)
# Ngưỡng tin cậy (Confidence threshold càng thấp thì độ tương đồng càng cao)
if confidence < 55.0:
command_packet = f"$GOTO,{user_id}#\n"
ser.write(command_packet.encode('utf-8'))
print(f"Verified User: ID {user_id} with Confidence: {confidence:.2f}")
break
2. Điều khiển xung động cơ và đọc phản hồi Hall trên Arduino Mega (C++):
#include <Arduino.h>
// Định nghĩa chân PWM & DIR cho Mạch cầu H BTS7960
const uint8_t RPWM_SLIDE = 5;
const uint8_t LPWM_SLIDE = 6;
const uint8_t HALL_INTERRUPT_PIN = 2; // Chân ngắt INT0
volatile long currentPulseCount = 0;
long targetPulseCount = 0;
bool isMoving = false;
// Trình phục vụ ngắt ngoài đọc tín hiệu cảm biến Hall
void IRAM_ATTR hallSensorISR() {
currentPulseCount++;
}
void setup() {
Serial.begin(115200);
pinMode(RPWM_SLIDE, OUTPUT);
pinMode(LPWM_SLIDE, OUTPUT);
pinMode(HALL_INTERRUPT_PIN, INPUT_PULLUP);
// Đăng ký ngắt tại sườn lên (RISING) của xung cảm biến Hall
attachInterrupt(digitalPinToInterrupt(HALL_INTERRUPT_PIN), hallSensorISR, RISING);
}
void driveMotorToPosition(long target) {
targetPulseCount = target;
isMoving = true;
while(abs(targetPulseCount - currentPulseCount) > 2) { // Ngưỡng dung sai +-2 xung
if (currentPulseCount < targetPulseCount) {
analogWrite(RPWM_SLIDE, 180); // Chạy tiến với Duty cycle ~70%
analogWrite(LPWM_SLIDE, 0);
} else {
analogWrite(RPWM_SLIDE, 0);
analogWrite(LPWM_SLIDE, 180); // Chạy lùi
}
}
// Hãm động năng (Active Braking)
analogWrite(RPWM_SLIDE, 0);
analogWrite(LPWM_SLIDE, 0);
isMoving = false;
}
Testing và validation
Quá trình kiểm nghiệm thực nghiệm được thực hiện trên 100 lượt thử nghiệm độc lập trên từng điều kiện ánh sáng và góc mặt nhằm đánh giá hiệu năng giữa hai chương trình:
- Chương trình 1 (Haar Cascade + LBPH)
- Chương trình 2 (Dlib 68 Landmarks + ResNet CNN + SVM)
| Điều kiện kiểm nghiệm |
Góc nhìn |
Tỷ lệ nhận diện (Chương trình 1 - LBPH) |
Tỷ lệ nhận diện (Chương trình 2 - ResNet) |
Thời gian xử lý TB (Latency) |
| Đủ sáng (300 - 500 Lux) |
Thẳng đứng ($0^\circ$) |
90.0% |
96.5% |
0.42s (P1) / 0.85s (P2) |
|
Nghiêng ($\pm 30^\circ$) |
75.0% |
88.0% |
0.45s (P1) / 0.89s (P2) |
| Thiếu sáng (< 50 Lux) |
Thẳng đứng ($0^\circ$) |
60.0% |
82.5% |
0.51s (P1) / 0.94s (P2) |
|
Nghiêng ($\pm 30^\circ$) |
45.0% |
70.0% |
0.53s (P1) / 0.98s (P2) |
| Thừa sáng (> 1000 Lux) |
Thẳng đứng ($0^\circ$) |
80.0% |
91.0% |
0.44s (P1) / 0.87s (P2) |
|
Nghiêng ($\pm 30^\circ$) |
65.0% |
80.0% |
0.48s (P1) / 0.91s (P2) |
| Ngược sáng mạnh |
Thẳng đứng ($0^\circ$) |
55.0% |
77.5% |
0.55s (P1) / 1.02s (P2) |
|
Nghiêng ($\pm 30^\circ$) |
40.0% |
65.0% |
0.58s (P1) / 1.05s (P2) |
Tỷ lệ nhận diện tổng thể theo góc nhìn:
Chương trình 1 (LBPH): [======= 63.75% =======]
Chương trình 2 (ResNet/SVM): [========= 81.31% =========] (Vượt trội +17.56%)
Kết quả đạt được
- Độ chính xác định vị cơ điện: Hệ thống phản hồi xung cảm biến Hall đạt độ lệch vị trí $\le \pm 1.5\text{ mm}$ đối với hành trình trượt và $\le \pm 1.0^\circ$ đối với góc ngả lưng ghế.
- Thời gian đáp ứng toàn chu trình: Toàn bộ quá trình từ lúc camera kích hoạt, nhận dạng khuôn mặt, truyền gói tin UART và điều khiển motor đưa ghế về đúng vị trí được thiết lập chỉ mất trung bình 3.5 – 5.2 giây (nhanh hơn 55% so với thao tác chỉnh cơ thủ công).
- Độ ổn định hệ thống: Đạt 100% tỷ lệ dừng an toàn nhờ giải thuật ngắt mềm và tính năng hãm động lực qua cầu H BTS7960, không xảy ra hiện tượng kẹt động cơ hay quá dòng.
Đổi mới và đóng góp
- Chuyển đổi phương thức tương tác người - xe (HMI): Xóa bỏ hoàn toàn thao tác ấn nút nhớ truyền thống; tự động nhận diện cá nhân hóa ngay khi tài xế ngồi vào khoang lái.
- Kiến trúc tính toán biên cục bộ (Edge Computing AI): Toàn bộ mô hình học sâu và dữ liệu sinh trắc học được xử lý và lưu trữ cục bộ 100% trên Raspberry Pi 4, không gửi dữ liệu ra đám mây, đảm bảo tuyệt đối quyền riêng tư và an toàn an ninh mạng cho chủ xe.
- Tối ưu hóa chi phí chế tạo: Giải pháp kết hợp giữa phần cứng nhúng mã nguồn mở (Raspberry Pi + Arduino Mega) và động cơ DC thương mại giúp giảm chi phí sản xuất xuống chỉ bằng $\approx 25%$ so với các cụm ECU ghế nhớ chuyên dụng trên xe hạng sang.
- Nền tảng nghiên cứu ứng dụng cho ngành Kỹ thuật Ô tô: Đồ án cung cấp bộ tài liệu thực nghiệm hoàn chỉnh về việc tích hợp Thị giác máy tính vào các cơ cấu điều khiển khung gầm - thân xe (Chassis & Body Control Systems), tạo tiền đề phát triển các hệ thống ADAS cao cấp.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Xe gia đình dùng chung (Shared Family Cars): Tự động điều chỉnh cấu hình ghế, gương và vô lăng cho các thành viên trong gia đình (vợ, chồng, con) ngay khi nhận diện khuôn mặt.
- Dịch vụ chia sẻ xe thông minh (Car-sharing & Robo-taxi): Nhận diện hành khách đã đăng ký trên ứng dụng và tự động khôi phục tư thế ngồi quen thuộc.
- Hệ thống giám sát tài xế (Driver Monitoring System - DMS): Kết hợp camera nhận diện khuôn mặt sẵn có để phát hiện trạng thái ngủ gật, mất tập trung khi lái xe.
Dự toán chi phí phần cứng (BOM - Bill of Materials)
| Thành phần linh kiện |
Thông số kỹ thuật |
Số lượng |
Chi phí ước tính (VNĐ) |
| Raspberry Pi 4 Model B |
4GB LPDDR4, Quad-Core 1.5GHz |
1 |
1,850,000 |
| Arduino Mega 2560 Pro |
ATmega2560, 16MHz, Micro USB |
1 |
240,000 |
| Màn hình cảm ứng 7 inch |
HDMI LCD (C), 1024×600 Capacitive |
1 |
1,150,000 |
| Mạch cầu H BTS7960 |
43A High Power Driver |
3 |
270,000 |
| Khung ghế & 3 Motor DC |
12V DC Worm Gear + Hall Sensors |
1 bộ |
2,500,000 |
| Module giảm áp LM2596 + Nguồn |
Buck 12V to 5V/3A + Dây nguồn, Relay |
1 bộ |
350,000 |
| Camera HD + Khung gá mica |
USB 720p / 1080p Lens góc rộng |
1 |
300,000 |
| TỔNG CỘNG CHI PHÍ |
|
|
~ 6,660,000 VNĐ (~ $265 USD) |
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Môi trường ánh sáng cực đoan: Camera RGB thông thường bị suy giảm độ chính xác rõ rệt khi ánh sáng yếu ($< 50\text{ Lux}$) hoặc khi có luồng sáng ngược rọi trực tiếp vào ống kính.
- Chống giả mạo sinh trắc học (Anti-Spoofing): Chưa tích hợp cảm biến đo chiều sâu 3D (ToF/Structured Light) để chống lại các hình thức giả mạo khuôn mặt bằng ảnh chụp hoặc video 2D.
- Số lượng trục chuyển động: Mô hình hiện tại mới điều khiển 3 motor chính (trượt, ngả lưng, nâng mông), chưa tích hợp cơ cấu bơm đệm đỡ lưng 4 hướng (Lumbar Support) và đệm đỡ bắp chân (Ottoman).
Hướng phát triển trong tương lai
- Nâng cấp cảm biến hồng ngoại IR / 3D ToF: Trang bị hệ thống đèn LED hồng ngoại bước sóng $850\text{nm}/940\text{nm}$ và cảm biến IR để nhận diện khuôn mặt chính xác 100% trong bóng đêm.
- Tích hợp mạng truyền thông CAN-bus: Giao tiếp trực tiếp với mạng CAN trên xe thật thông qua module MCP2515 để điều khiển đồng bộ cả gương chiếu hậu, vị trí vô lăng và điều hòa nhiệt độ theo hồ sơ người lái.
- Mở rộng thuật toán DMS: Ứng dụng mạng học sâu MobileNet/YOLOv8-Face để theo dõi điểm nhìn mắt (Eye Gaze Tracking) cảnh báo mệt mỏi theo thời gian thực.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
| |
| [ Sinh viên & Kỹ sư Ô tô ] [ Lập trình viên Nhúng / AI ] |
| * Nắm vững cơ cấu ghế điện * Kiến trúc giao tiếp RPi-Arduino |
| * Sơ đồ mạch điện RX300/Camry * Pipeline tối ưu OpenCV/ResNet trên Edge SBC |
| |
| [ Doanh nghiệp & Garage ] [ Nhà nghiên cứu (Researchers) ] |
| * Giải pháp Retrofit xe cũ * Bộ dữ liệu benchmark ánh sáng thực nghiệm |
| * Chi phí thấp (< 300 USD) * Cơ sở tích hợp hệ thống Cabin thông minh |
+-------------------------------------------------------------------------------+
- Sinh viên & Kỹ sư Công nghệ Ô tô: Tài liệu tham khảo trực quan, chi tiết từ bóc tách sơ đồ nguyên lý mạch điện ghế Lexus/Toyota đến phương pháp lập trình điều khiển động cơ DC công suất lớn bằng cảm biến Hall.
- Lập trình viên Hệ thống Nhúng & AI: Nắm bắt mô hình kiến trúc chuẩn kết hợp giữa Linux nhúng (Raspberry Pi) và Real-time MCU (Arduino), cách thiết kế gói tin truyền thông và tối ưu bộ nhớ.
- Doanh nghiệp & Đơn vị độ xe (Automotive Aftermarket): Mô hình hóa giải pháp nâng cấp (Retrofit) tính năng ghế thông minh cho các dòng xe đời cũ với chi phí linh kiện cực kỳ cạnh tranh.
- Cộng đồng Nghiên cứu khoa học: Cung cấp số liệu thực nghiệm đo kiểm chi tiết về sự ảnh hưởng của cường độ sáng và góc nghiêng đến độ chính xác của các thuật toán nhận dạng khuôn mặt truyền thống (LBPH) so với học sâu (ResNet).
Câu hỏi thường gặp
1. Hệ thống cần những yêu cầu phần cứng tối thiểu nào để có thể lắp đặt lên xe ô tô thật?
Để triển khai trên phương tiện thực tế, hệ thống yêu cầu nguồn điện ắc quy 12V ổn định (dòng điện đỉnh $\ge 20\text{A}$ khi khởi động motor), bộ vi máy tính Raspberry Pi 4 (hoặc module tương đương như Jetson Nano/Raspberry Pi CM4), vi điều khiển tương thích mạch ngắt ngoài, camera USB có dải động cao (WDR) và cụm ghế đã trang bị sẵn các động cơ DC tích hợp đĩa từ/cảm biến Hall.
2. Sự khác biệt cơ bản giữa thuật toán LBPH và ResNet trong bài toán này là gì?
- LBPH (Local Binary Patterns Histogram): Là phương pháp trích xuất đặc trưng kết cấu cục bộ 2D. Thuật toán có ưu điểm là tốc độ tính toán cực nhanh, tốn rất ít RAM và tài nguyên CPU (thích hợp cho vi xử lý yếu), nhưng độ chính xác giảm mạnh khi góc quay khuôn mặt lớn hơn $15^\circ$ hoặc ánh sáng thay đổi.
- ResNet (Deep Residual Network): Là mạng học sâu nhiều lớp sử dụng kết nối tắt (Skip Connections) để trích xuất 128/512 vector đặc trưng biểu diễn khuôn mặt. ResNet có khả năng bất biến cao với góc nghiêng ($\pm 30^\circ$) và biến thiên ánh sáng, nhưng đòi hỏi tài nguyên tính toán lớn hơn và thời gian xử lý khoảng $0.8\text{s} - 1.0\text{s}$ trên Raspberry Pi.
3. Làm thế nào để hệ thống nhớ chính xác tọa độ ghế khi bị mất nguồn điện bất ngờ?
Mỗi khi động cơ di chuyển và dừng lại, số xung đếm được từ cảm biến Hall sẽ được lưu tức thời vào cơ sở dữ liệu SQLite trên thẻ nhớ của Raspberry Pi hoặc ghi trực tiếp vào bộ nhớ EEPROM của Arduino Mega 2560. Khi hệ thống khởi động lại, vi điều khiển sẽ đọc lại giá trị xung đã lưu mà không bị mất dữ liệu.
4. Hệ thống xử lý thế nào trong trường hợp người lạ (chưa đăng ký) ngồi lên xe?
Khi camera quét khuôn mặt không khớp với bất kỳ hồ sơ nào trong cơ sở dữ liệu (độ tin cậy vượt ngưỡng Confidence Threshold hoặc khoảng cách Euclidean $> 0.6$), hệ thống sẽ giữ nguyên vị trí ghế hiện tại, hiển thị thông báo "Unknown User" trên màn hình 7 inch và cho phép người dùng điều khiển ghế hoàn toàn bằng các công tắc tay thủ công.
5. Chi phí sản xuất và thời gian hoàn vốn (ROI) khi ứng dụng thương mại như thế nào?
Chi phí vật tư sản xuất hàng loạt (BOM) ước tính khoảng $180 - $220 USD/xe (so với cụm ECU chính hãng thường có giá $> $800 USD). Đối với các hãng taxi công nghệ hoặc dịch vụ xe chia sẻ, giải pháp giúp tiết kiệm thời gian bàn giao ca lái xe, gia tăng độ thỏa dụng của tài xế và hoàn vốn trong vòng 6 – 9 tháng vận hành.
Kết luận
Đồ án "Nghiên cứu, thiết kế và thi công mô hình điều khiển ghế thông minh bằng nhận diện khuôn mặt" của nhóm sinh viên Khoa Cơ khí Động lực - 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ự động hóa và cá nhân hóa vị trí ngồi trên ô tô thông qua sự kết hợp nhịp nhàng giữa Trí tuệ nhân tạo và Kỹ thuật Cơ điện tử.
Hệ thống đã chứng minh tính khả thi vượt trội với độ chính xác nhận diện đạt 96.5% trong điều kiện tiêu chuẩn, định vị motor chính xác với sai số $\le \pm 1.5\text{ mm}$, thời gian phản hồi toàn chu trình dưới $5\text{ giây}$ và chi phí sản xuất tối ưu. Thành công của mô hình không chỉ khẳng định năng lực ứng dụng công nghệ xử lý ảnh và mạng nơ-ron tích chập vào các hệ thống tiện nghi ô tô hiện đại, mà còn mở ra hướng nghiên cứu mới cho việc phát triển các khoang lái thông minh (Smart Cockpit) tự hành trong tương lai.