Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh ngành công nghiệp ô tô hiện đại đang chuyển dịch mạnh mẽ sang các phương tiện thông minh, các hệ thống hỗ trợ lái xe nâng cao (ADAS) và công nghệ tự hành đóng vai trò nòng cốt nhằm nâng cao an toàn giao thông, tối ưu hóa quá trình vận hành và hạn chế tai nạn do lỗi con người. Một trong những thách thức kỹ thuật cơ bản của xe tự hành là khả năng duy trì quỹ đạo di chuyển ổn định ở chính giữa làn đường cũng như nhận dạng chính xác các tín hiệu chỉ dẫn giao thông trong thời gian thực. Các phương pháp điều khiển truyền thống dựa trên việc tính toán góc lái hình học thuần túy hoặc sử dụng hệ thống định vị toàn cầu (GPS) bộc lộ nhiều điểm hạn chế, đặc biệt khi tín hiệu vệ tinh bị gián đoạn, làn đường bị che khuất hoặc điều kiện chiếu sáng biến đổi.
Để giải quyết vấn đề này, đồ án tốt nghiệp "Nghiên cứu ứng dụng AI trong điều khiển xe RC nhận dạng biển báo và giữ làn đường" của sinh viên Trần Trường Lâm và Huỳnh Trí Đức (ngành Công nghệ Kỹ thuật Ô tô, Khoa Cơ khí Động lực, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Trọng Thức, hoàn thành tháng 12/2024) tập trung ứng dụng kỹ thuật thị giác máy tính và trí tuệ nhân tạo (mạng nơ-ron tích chập CNN và thuật toán học máy Haar Cascade) trên mô hình xe điều khiển từ xa (RC) tỷ lệ 1:10.
Đề tài xác định bốn mục tiêu nghiên cứu cụ thể được đánh số như sau:
- Huấn luyện mô hình xe RC tự hành: Áp dụng các kỹ thuật thuộc lĩnh vực trí tuệ nhân tạo để huấn luyện mô hình xe RC tự hành có khả năng duy trì quỹ đạo ổn định trong làn đường và di chuyển chính xác trên tuyến đường thiết kế sẵn phục vụ các mục đích cụ thể (như trong khuôn viên doanh nghiệp, dây chuyền công nghiệp).
- Nhận diện và phản hồi biển báo: Sử dụng mô hình học máy để nhận diện và phản hồi chính xác đối với biển báo giao thông đã được huấn luyện (cụ thể là biển báo STOP), nâng cao tính an toàn và mức độ tự động hóa của phương tiện.
- Đánh giá quá trình học tập: Tiến hành thử nghiệm thực nghiệm qua nhiều đợt huấn luyện khác nhau, so sánh và đánh giá sự cải thiện về độ chính xác và độ mất mát giữa các phiên bản mô hình, từ đó chỉ ra các giới hạn kỹ thuật làm cơ sở phát triển.
- Tối ưu hóa hệ thống cho thời gian thực: Thiết kế, phối hợp và tối ưu hóa hệ thống tính toán trên phần cứng nhúng công suất giới hạn (kết hợp Raspberry Pi 4 và vi điều khiển ESP8266), bảo đảm việc thu nhận ảnh, suy luận mô hình và xuất tín hiệu điều khiển góc lái, tốc độ diễn ra ổn định với độ trễ thấp.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Cơ chế tự hành trên ô tô; cơ sở lý thuyết trí tuệ nhân tạo, học máy (Machine Learning), học sâu (Deep Learning); thuật toán mạng nơ-ron tích chập (CNN) và bộ phân loại Haar Cascade; các vi điều khiển và linh kiện điện tử nhúng (Raspberry Pi 4, ESP8266, động cơ DC, động cơ servo, driver công suất).
- Phạm vi không gian: Thực nghiệm được giới hạn trên sa hình mô phỏng khép kín với làn đường có vạch kẻ biên tương phản rõ nét (trắng/đen) và biển báo tiêu chuẩn trong nhà; không vận hành trên hệ thống giao thông công cộng ngoài đời thực.
- Phạm vi đối tượng thử nghiệm: Mô hình xe RC dẫn động cầu sau tỷ lệ 1:10, chỉ sử dụng dữ liệu thị giác từ một camera đơn (webcam) gắn cố định phía trước xe, không tích hợp cảm biến khoảng cách LIDAR hay Radar.
- Thời gian thực hiện: Đồ án được nghiên cứu, chế tạo và nghiệm thu vào tháng 12 năm 2024.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình ứng dụng
Đề tài dựa trên các cơ sở lý thuyết nền tảng về hệ thống tự hành và thị giác máy tính:
- Cơ chế nhận thức môi trường của xe tự hành: Đồ án tổng thuật ba nhóm cảm biến phổ biến gồm Radar (sóng vô tuyến), LIDAR (quét laser tạo mô hình 3D) và Camera quang học. Do giới hạn kinh phí và yêu cầu bài toán nhận dạng vạch kẻ đường, nhóm nghiên cứu lựa chọn camera độ phân giải cao làm nguồn dữ liệu đầu vào duy nhất.
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Cấu trúc học sâu được dùng cho bài toán giữ làn đường (Lane Keeping). Trọng tâm lý thuyết gồm:
- Lớp tích chập (Convolutional Layer): Áp dụng các bộ lọc (kernel/filter) trượt trên ma trận ảnh để trích xuất đặc trưng biên, hướng, cạnh của vạch làn. Đồ án phân tích nguyên lý chia sẻ trọng số (shared weights) và tham số độ lệch (bias), giúp giảm số lượng tham số cần huấn luyện so với mạng nơ-ron kết nối đầy đủ (Fully Connected).
- Lớp hàm kích hoạt phi tuyến (ReLU - Rectified Linear Unit): Loại bỏ các giá trị âm, giữ lại giá trị dương để tạo tính phi tuyến cho mạng.
- Lớp tổng hợp rút gọn (Pooling Layer): Sử dụng phép tính Max Pooling kích thước 2x2 với bước trượt $S=2$ nhằm giảm chiều không gian của dữ liệu, giảm thiểu chi phí tính toán và hạn chế hiện tượng quá khớp (overfitting).
- Lớp duỗi thẳng (Flatten) và Fully Connected (FC): Biến đổi ma trận đặc trưng thành vector một chiều và kết nối với tầng đầu ra để dự đoán các trạng thái điều khiển lái.
- Bộ phân loại tầng Haar Cascade (Haar Cascade Classifier): Thuật toán học máy dựa trên các đặc trưng Haar-like kết hợp thuật toán tăng cường AdaBoost và cấu trúc tầng (cascade) để phát hiện nhanh đối tượng trong khung hình. Đồ án ứng dụng kỹ thuật này để nhận dạng biển báo dừng (STOP) trong môi trường thị giác máy tính OpenCV.
Phương pháp nghiên cứu
- Phương pháp phân tích - tổng hợp tài liệu: Khảo cứu các công trình nghiên cứu xe tự hành cấp độ 4 trong nước (như xe tự hành Phenikaa tại ĐH Phenikaa, dự án xe điện tự hành của VinBigdata/Vingroup, các đề tài tại ĐH Công nghiệp Hà Nội và ĐH Quốc gia Hà Nội) cùng chính sách và xu hướng phát triển xe tự hành quốc tế tại Hoa Kỳ, Nhật Bản, Trung Quốc.
- Phương pháp thiết kế kỹ thuật và tích hợp hệ thống: Thiết kế sơ đồ khối phân tầng xử lý; phân định nhiệm vụ tính toán thị giác máy tính/AI cho máy tính nhúng và nhiệm vụ tạo xung điều khiển động cơ/servo cho vi điều khiển thứ cấp.
- Phương pháp thu thập dữ liệu thực nghiệm: Điều khiển xe chạy thủ công trên sa hình bằng ứng dụng RF Speed control thông qua kết nối Wi-Fi, đồng thời ghi lại luồng hình ảnh từ webcam kèm nhãn góc lái tương ứng.
- Phương pháp thực nghiệm và đánh giá so sánh: Huấn luyện mô hình qua 3 chu kỳ độc lập (Lần 1, Lần 2, Lần 3) với việc mở rộng kích thước tập dữ liệu và tinh chỉnh siêu tham số; sau đó nạp mô hình vào xe thực nghiệm chạy 10 vòng cho mỗi phiên bản (modelV1, modelV2, modelV3) để thống kê sai lệch và phân tích các yếu tố vật lý ảnh hưởng (góc nghiêng camera, cự ly quan sát).
Thiết kế và triển khai
Hệ thống điều khiển xe RC tự hành được xây dựng bao gồm hai phân hệ: kiến trúc phần cứng và quy trình phần mềm.
Kiến trúc phần cứng
Phần cứng được bố trí trên khung gầm xe RC tỷ lệ 1:10, gồm các khối chức năng chính:
- Khối xử lý trung tâm: Sử dụng máy tính nhúng Raspberry Pi 4 Model B (RAM 2GB). Thiết bị này đảm nhiệm tiếp nhận luồng video thời gian thực từ webcam, chạy các mô hình AI dự đoán (CNN và Haar Cascade), sau đó gửi lệnh điều khiển trạng thái lái sang khối chấp hành.
- Khối điều khiển trung gian: Sử dụng vi điều khiển ESP8266, nhận dữ liệu lệnh từ Raspberry Pi, tạo xung PWM điều chế độ rộng xung để điều khiển góc xoay của servo lái và tốc độ quay của động cơ truyền động; đồng thời cung cấp giao thức kết nối Wi-Fi với ứng dụng điều khiển di động.
- Khối cảm biến hình ảnh: Sử dụng Webcam Logitech Brio 100 gắn ở đầu xe để thu nhận dữ liệu hình ảnh mặt đường và biển báo.
- Khối mạch công suất và động cơ: Sử dụng module mạch cầu H BTS7960 (sử dụng MOSFET công suất cao) để điều khiển đảo chiều và điều tốc cho động cơ một chiều DC Motor 550 (dẫn động cầu sau). Cơ cấu lái sử dụng động cơ servo Steering Servo MG996R với lực kéo cao để bẻ góc hai bánh trước.
- Khối nguồn cấp: Bộ pin LiPo (Lithium Polymer) cung cấp năng lượng độc lập cho hệ thống chấp hành và mạch logic.
| Linh kiện / Thiết bị |
Thông số kỹ thuật chính |
Vai trò trong hệ thống |
| Raspberry Pi 4 Model B |
Broadcom BCM2711, 4 nhân Cortex-A72 1.5GHz, 2GB LPDDR4 |
Xử lý ảnh OpenCV, suy luận mô hình CNN và Haar Cascade |
| ESP8266 |
Vi điều khiển 32-bit, tích hợp giao thức Wi-Fi 802.11 b/g/n |
Nhận lệnh lái, tạo xung PWM cho servo và driver động cơ |
| BTS7960 |
Module cầu H kép MOSFET, điện áp hoạt động 6V–27V, dòng tải đỉnh 43A |
Điều khiển chiều quay và tốc độ động cơ DC Motor 550 |
| DC Motor 550 |
Động cơ chổi than DC, dải điện áp làm việc định mức |
Dẫn động hệ thống truyền lực cầu sau của mô hình xe |
| Steering Servo MG996R |
Động cơ servo bánh răng kim loại, góc quay 0–180°, điều khiển PWM |
Chuyển hướng trục lái hai bánh trước theo tín hiệu dự đoán |
| Webcam Logitech Brio 100 |
Độ phân giải Full HD 1080p/30fps, giao tiếp USB |
Thu nhận hình ảnh vạch làn và biển báo thời gian thực |
| Pin LiPo |
Khối pin Lithium Polymer, dung lượng và dòng xả cao |
Cung cấp nguồn động lực và điều khiển cho mô hình |
Thiết kế phần mềm và quy trình xử lý
Hệ thống phần mềm được xây dựng trên môi trường Microsoft Visual Studio với ngôn ngữ Python và C++ (nạp ESP8266), kết hợp các thư viện TensorFlow, Keras và OpenCV. Quy trình hoạt động chia thành bốn giai đoạn:
- Thu thập dữ liệu: Xe được điều khiển thủ công chạy nhiều vòng trên quỹ đạo sa hình bằng ứng dụng điện thoại qua sóng Wi-Fi của ESP8266. Hình ảnh từ webcam được lưu đồng bộ cùng nhãn điều khiển tương ứng tạo thành bộ dữ liệu ảnh thô.
- Tiền xử lý và huấn luyện nhận diện làn đường (CNN): Ảnh được cắt bỏ phần nhiễu không liên quan, chuẩn hóa kích thước, chuyển đổi không gian màu và đưa qua mạng CNN gồm các tầng Convolution, Max Pooling, Flatten và Dense. Bộ tối ưu hóa Adam cùng hàm mất mát (loss function) được sử dụng để tối ưu các trọng số.
- Huấn luyện nhận diện biển báo STOP (Haar Cascade): Sử dụng phần mềm chuyên dụng Cascade-Trainer-GUI, tập dữ liệu ảnh dương (chứa biển STOP ở nhiều góc nghiêng, cự ly) và ảnh âm (khung cảnh không có biển báo) được đưa vào huấn luyện để sinh ra tệp mô hình phân loại dạng
.xml.
- Chương trình dự đoán và điều khiển thời gian thực: Trên Raspberry Pi, camera đọc từng khung hình. Khung hình được đưa song song qua bộ phân loại Haar Cascade để phát hiện biển STOP và mô hình CNN để dự đoán góc lái. Nếu phát hiện biển STOP thỏa mãn điều kiện cự ly, lệnh dừng khẩn cấp được ưu tiên. Nếu không có biển báo, mô hình CNN xác định độ lệch của xe so với tâm làn và phát lệnh điều khiển hồi tiếp (gồm các mức: rẽ trái nhiều, rẽ trái nhẹ, giữ thẳng, vào cua, rẽ phải nhẹ, rẽ phải nhiều) gửi sang ESP8266 điều chỉnh góc servo lái.
Nội dung chính theo từng chương
CHƯƠNG 1: TỔNG QUAN
Chương 1 thiết lập tính cấp thiết của đề tài xuất phát từ nhu cầu tự động hóa và phát triển các hệ thống hỗ trợ lái xe trong ngành ô tô. Nhóm tác giả tổng quan chi tiết các thành tựu xe tự hành tại Việt Nam (xe cấp độ 4 của Phenikaa thử nghiệm năm 2022 tại Bình Dương; xe điện cấp độ 4 của VinBigdata thử nghiệm với 2 LIDAR, 6 camera góc rộng và bản đồ độ chính xác cao 5 cm; các mô hình nghiên cứu tại Trường Đại học Công nghiệp Hà Nội sử dụng Jetson TX2 kết hợp ROS, và Đại học Quốc gia Hà Nội). Ở phạm vi quốc tế, chương này điểm qua các chính sách cấp phép thử nghiệm không cần vô lăng tại Hoa Kỳ, quy mô thương mại hóa của Waymo, hệ thống FSD của Tesla, liên minh đầu tư 500 tỷ Yên giữa Toyota và NTT tại Nhật Bản, cùng mạng lưới hơn 500 xe robotaxi Apollo Go của Baidu tại Vũ Hán, Trung Quốc. Từ đó, chương xác định mục tiêu áp dụng AI điều khiển xe RC tỷ lệ 1:10 trong môi trường khép kín, phân định giới hạn nghiên cứu không triển khai ngoài đường phố công cộng và vạch ra phương pháp luận thực hiện.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chương 2 trình bày có hệ thống các lý thuyết kỹ thuật về xe tự hành, bao gồm ba khâu cốt lõi: Xây dựng bản đồ (kết hợp camera, LIDAR, IMU, GPS), Lập kế hoạch đường đi (ngắn hạn và dài hạn), và Tránh chướng ngại vật (nhận diện vật thể bằng máy học và giao tiếp không dây). Tiếp theo, chương khái quát lịch sử phát triển AI qua ba giai đoạn (1940–1980 với perceptron và mùa đông AI thứ nhất; 1980–2006 với hệ chuyên gia, Deep Blue và sự trỗi dậy của học sâu; 2007 đến nay với điện toán đám mây, AlexNet, AlphaZero và mô hình ngôn ngữ lớn). Trọng tâm lý thuyết của chương đi sâu vào:
- Các phương pháp học máy: học có giám sát, học không giám sát, học bán giám sát và học tăng cường.
- Cấu tạo và nguyên lý hoạt động của mạng nơ-ron tích chập (CNN): bản chất toán học của phép nhân chập kernel trên ma trận ảnh $W_1 \times H_1 \times D_1$, cách tính kích thước đầu ra $W_2, H_2$, nguyên lý dùng chung trọng số (shared weights) giúp tối ưu số tham số cần học theo công thức $(F \times F \times D_1) \times K + K$, cơ chế hàm kích hoạt ReLU và lớp Max Pooling.
- Kỹ thuật phân loại Haar Cascade: nguyên lý trích xuất đặc trưng vùng sáng tối và thuật toán phân tầng nhằm phát hiện đối tượng với chi phí tính toán thấp.
- Khái quát về thư viện thị giác máy tính OpenCV và các nguyên tắc xử lý ảnh số.
CHƯƠNG 3: GIỚI THIỆU LINH KIỆN VÀ PHẦN MỀM LẬP TRÌNH
Chương này cung cấp bảng thông số kỹ thuật chi tiết của các phần cứng được lựa chọn:
- Bảng 3.1: Thông số kỹ thuật của Raspberry Pi 4 Model B 2GB.
- Bảng 3.2: Thông số kỹ thuật vi điều khiển ESP8266.
- Bảng 3.3: Thông số kỹ thuật động cơ DC Motor 550.
- Bảng 3.4: Thông số kỹ thuật module công suất BTS7960.
- Bảng 3.5: Thông số kỹ thuật webcam Logitech Brio 100.
- Bảng 3.6: Thông số kỹ thuật Steering Servo MG996R.
- Bảng 3.7: Thông số kỹ thuật bộ nguồn Pin LiPo.
Về phần mềm, chương mô tả môi trường phát triển Microsoft Visual Studio, bộ công cụ học sâu TensorFlow/Keras trên nền tảng Python, phần mềm Cascade-Trainer-GUI phục vụ huấn luyện Haar Cascade và ứng dụng di động RF Speed control điều khiển xe qua kết nối Wi-Fi.
CHƯƠNG 4: THIẾT KẾ THI CÔNG MÔ HÌNH
Chương 4 mô tả toàn diện bản vẽ kỹ thuật và sơ đồ đấu nối:
- Trình bày sơ đồ khối hệ thống điều khiển, bản vẽ bố trí vị trí các linh kiện trên khung gầm xe RC và sơ đồ nguyên lý mạch điện kết nối giữa Pin LiPo, mạch hạ áp, Raspberry Pi 4, ESP8266, module BTS7960, DC Motor 550, Servo MG996R và Webcam Brio 100.
- Trình bày các sơ đồ khối giải thuật: quy trình thu thập dữ liệu bằng lái thủ công; quy trình xử lý ảnh và cấu trúc mạng CNN dùng để huấn luyện nhận diện làn đường; quy trình huấn luyện nhận diện biển báo STOP bằng Cascade-Trainer-GUI.
- Chi tiết hóa lưu đồ thuật toán chương trình dự đoán trên Raspberry Pi (đọc khung hình -> xử lý song song Haar Cascade và CNN -> ra quyết định điều khiển -> truyền mã lệnh qua giao tiếp nối tiếp/mạng) và lưu đồ thuật toán điều khiển trên vi điều khiển ESP8266 (nhận mã lệnh -> giải mã -> xuất tín hiệu PWM tương ứng ra BTS7960 và servo).
CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Chương 5 là phần thực nghiệm trọng tâm của đồ án, tiến hành trên quỹ đạo sa hình khép kín có các góc cua và bố trí biển báo dừng STOP:
- Trình bày cấu trúc tập dữ liệu ảnh thu thập từ camera gắn trên xe qua các giai đoạn.
- Đồ thị hóa quá trình huấn luyện mô hình qua 3 đợt (lần 1, lần 2, lần 3), thể hiện sự biến thiên của đường cong hàm mất mát (loss) và độ chính xác (accuracy).
- Thống kê kết quả chạy thực nghiệm 10 vòng cho mỗi mô hình trên sa hình:
- Mô hình huấn luyện lần 1 (modelV1): Độ mất mát còn cao, xe chạy thiếu ổn định, thường xuyên chệch làn ở các khúc cua gắt và độ chính xác nhận diện biển báo thấp.
- Mô hình huấn luyện lần 2 (modelV2): Sau khi bổ sung mẫu dữ liệu và điều chỉnh tốc độ học, quỹ đạo xe bám tâm làn tốt hơn ở đường thẳng nhưng vẫn có sai số khi chuyển tiếp vào cua.
- Mô hình huấn luyện lần 3 (modelV3): Tập dữ liệu được cân bằng tốt các trạng thái lái rẽ và góc cua; xe vận hành mượt mà, hoàn thành các vòng chạy với tỷ lệ giữ làn cao và phản hồi phanh kịp thời trước biển STOP.
- Phân tích các trạng thái điều khiển hồi tiếp của xe: xe lệch trái nhiều (bẻ lái phải nhiều), xe lệch trái nhẹ (bẻ lái phải nhẹ), xe thẳng (giữ nguyên lái), xe vào cua (bẻ lái theo quỹ đạo cua), xe lệch phải nhẹ (bẻ lái trái nhẹ), xe lệch phải nhiều (bẻ lái trái nhiều).
- Khảo sát thực nghiệm các yếu tố ảnh hưởng đến thị giác máy tính:
- Vị trí góc đặt camera: Thử nghiệm ở 3 góc nâng (thấp nhất, trung bình, cao nhất). Kết quả chỉ ra rằng góc camera thấp hạn chế tầm nhìn xa dẫn đến khoảng cách nhận diện góc cua ngắn; góc camera quá cao gây biến dạng phối cảnh vạch làn; góc đặt trung bình cho khoảng cách nhận diện góc cua và biển báo STOP tối ưu nhất.
- Hiện tượng góc nhìn camera khi lệch làn: Khi xe bị lệch làn quá lớn sang một bên, biển báo STOP bị lọt ra khỏi trường nhìn (FOV) của camera, dẫn đến thuật toán Haar Cascade không thể phát hiện biển báo để phanh dừng.
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Chương 6 tổng kết toàn bộ kết quả chế tạo phần cứng, xây dựng thuật toán AI và kết quả thử nghiệm mô hình xe RC giữ làn, nhận diện biển báo STOP. Đồng thời, nhóm tác giả nêu rõ các hạn chế kỹ thuật hiện tại và vạch ra định hướng nghiên cứu mở rộng trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Chế tạo thành công mô hình vật lý hoàn chỉnh: Tích hợp đồng bộ hệ thống cơ - điện tử trên khung gầm xe RC 1:10, bảo đảm sự phối hợp nhịp nhàng giữa máy tính nhúng Raspberry Pi 4 và vi điều khiển ESP8266 thông qua giao thức truyền thông chuyên dụng.
- Xây dựng mô hình học sâu CNN giữ làn đường: Mô hình mạng nơ-ron tích chập được tối ưu hóa thành công trên dữ liệu thực tế của sa hình, có khả năng phân loại chính xác các trạng thái di chuyển và xuất tín hiệu điều chỉnh góc lái hồi tiếp theo thời gian thực.
- Ứng dụng thành công bộ phân loại Haar Cascade: Mô hình trích xuất tệp XML cho phép phát hiện biển báo STOP với tốc độ xử lý nhanh, đáp ứng yêu cầu xử lý khung hình thời gian thực trên Raspberry Pi 4.
- Thực nghiệm so sánh qua 3 phiên bản mô hình:
| Phiên bản mô hình |
Đặc điểm tập dữ liệu & Huấn luyện |
Kết quả vận hành trên sa hình (10 vòng chạy) |
| modelV1 (Lần 1) |
Tập dữ liệu ban đầu, số lượng ảnh ít, chủ yếu là đoạn đường thẳng |
Xe thường xuyên mất lái ở các khúc cua gắt; tỷ lệ lệch ra ngoài làn cao; nhận diện biển báo kém ổn định |
| modelV2 (Lần 2) |
Mở rộng số lượng ảnh cua và lệch làn, tinh chỉnh lại trọng số |
Cải thiện độ mất mát huấn luyện; xe bám làn ổn định trên đường thẳng, giảm số lần văng làn ở các góc cua vừa |
| modelV3 (Lần 3) |
Tập dữ liệu hoàn thiện, cân bằng mẫu rẽ và dữ liệu ở các điều kiện góc nhìn |
Đường cong loss tiệm cận tối ưu; xe giữ tâm làn mượt mà qua các góc cua liên tục, tự động phanh chính xác trước biển STOP |
- Xác định các thông số vật lý tối ưu cho hệ thống thị giác: Qua thực nghiệm ba mức góc nhìn camera (thấp nhất, trung bình, cao nhất), nghiên cứu đã chứng minh bằng số liệu hình ảnh thực nghiệm rằng vị trí camera ở góc trung bình cho phép cân bằng tốt nhất giữa cự ly phát hiện góc cua từ xa và độ phân giải hình học của vạch kẻ biên.
Đóng góp của đề tài
- Chứng minh tính khả thi của việc triển khai kết hợp hai phương pháp AI khác nhau (học sâu CNN cho bài toán giữ làn và học máy Haar Cascade cho bài toán biển báo) trên nền tảng phần cứng nhúng chi phí thấp, công suất tiêu thụ nhỏ.
- Cung cấp mô hình tham chiếu thực nghiệm về quy trình xử lý tín hiệu điều khiển phân tầng: tách biệt tầng tính toán AI nặng (Raspberry Pi) và tầng điều khiển chấp hành thời gian thực (ESP8266), giảm thiểu rủi ro nghẽn xung PWM động cơ khi CPU bị quá tải tác vụ xử lý ảnh.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế kỹ thuật
Theo các phân tích thực nghiệm trong văn bản đồ án, hệ thống còn tồn tại các giới hạn sau:
- Phạm vi môi trường hoạt động: Hệ thống chỉ được huấn luyện và hoạt động ổn định trong môi trường sa hình khép kín với điều kiện ánh sáng ổn định và vạch kẻ làn tương phản rõ nét; không có khả năng tự thích ứng ngoài môi trường giao thông thực tế hoặc khi gặp thời tiết bất lợi (mưa, sương mù, mặt đường trơn trượt).
- Hạn chế của bộ cảm biến: Chỉ sử dụng camera đơn (webcam) thu thập dữ liệu 2D, không đo đạc được độ sâu vật thể chính xác do thiếu các cảm biến chuyên dụng như LIDAR hoặc Radar.
- Giới hạn số lượng đối tượng nhận diện: Hệ thống mới chỉ huấn luyện duy nhất một loại biển báo giao thông là biển STOP; chưa nhận diện được các loại biển báo chỉ dẫn, biển báo tốc độ hay hệ thống đèn tín hiệu giao thông.
- Vấn đề góc nhìn camera khi xe lệch làn: Khi xe bị chệch góc lái lớn, biển báo STOP trôi ra ngoài vùng bao quát (FOV) của camera, dẫn đến hệ thống mất khả năng phản hồi phanh dừng.
- Quy mô thử nghiệm: Đề tài mới dừng lại ở mô hình xe điều khiển từ xa tỷ lệ 1:10, chưa thử nghiệm trên các phương tiện giao thông kích thước thực có tải trọng và quán tính lớn.
Hướng nghiên cứu tiếp
Nhóm tác giả đề xuất các định hướng mở rộng gồm:
- Mở rộng tập dữ liệu huấn luyện để nhận diện thêm nhiều biển báo giao thông khác nhau và hệ thống đèn tín hiệu giao thông nhiều trạng thái.
- Tích hợp thêm các cảm biến đo khoảng cách như cảm biến siêu âm, Radar hoặc LIDAR nhằm nâng cao khả năng phát hiện vật cản 3D và lập bản đồ không gian xung quanh.
- Nâng cấp phần cứng máy tính nhúng chuyên dụng cho AI (như dòng vi xử lý tích hợp GPU NVIDIA Jetson) để nâng cao tốc độ xử lý khung hình (FPS) và xử lý hình ảnh độ phân giải cao hơn.
- Cải tiến giải thuật điều khiển tự động để xử lý các tình huống giao thông phức tạp như nút giao ngã ba, ngã tư và các khúc cua có bán kính quay vòng hẹp.
- Nghiên cứu khả năng chuyển giao và áp dụng giải pháp trên các phương tiện tự hành chuyên dụng trong nhà máy, kho bãi hoặc khuôn viên doanh nghiệp khép kín.
Giá trị tham khảo
Báo cáo đồ án tốt nghiệp này mang lại giá trị tham khảo chuyên môn thiết thực cho các nhóm đối tượng:
- Sinh viên ngành Công nghệ Kỹ thuật Ô tô, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử: Cung cấp tài liệu thiết kế hệ thống điều khiển nhúng thực tế, kết nối giao tiếp phần cứng giữa các vi điều khiển khác nhau (Raspberry Pi và ESP8266), mạch công suất điều khiển động cơ DC và servo.
- Người nghiên cứu về Thị giác máy tính và AI ứng dụng: Phần nội dung Chương 2, Chương 4 và Chương 5 là tài liệu tham khảo cụ thể về quy trình thu thập dữ liệu, cấu trúc lớp mạng CNN cho bài toán bám làn, cách sử dụng phần mềm Cascade-Trainer-GUI để tạo mô hình Haar Cascade, cũng như các kỹ thuật tiền xử lý khung hình với OpenCV.
- Các nhóm nghiên cứu đồ án xe tự hành quy mô nhỏ (Scale Model): Bản vẽ mạch điện nguyên lý tại Chương 4, bảng thông số kỹ thuật các linh kiện tại Chương 3 và phương pháp khảo sát góc đặt camera tại Chương 5 cung cấp những chỉ dẫn thực nghiệm cụ thể giúp tiết kiệm thời gian thiết kế, lựa chọn phần cứng và bố trí kết cấu cơ khí.
Câu hỏi thường gặp
1. Hệ thống phần cứng trên mô hình xe RC tỷ lệ 1:10 được phân chia nhiệm vụ như thế nào?
Hệ thống sử dụng cấu trúc xử lý phân tầng:
- Máy tính nhúng Raspberry Pi 4 Model B (2GB) đóng vai trò xử lý trung tâm cấp cao: đọc luồng hình ảnh từ Webcam Logitech Brio 100 qua cổng USB, thực thi thuật toán OpenCV, chạy song song mô hình CNN (dự đoán góc lái) và Haar Cascade (phát hiện biển STOP), sau đó phát lệnh điều khiển.
- Vi điều khiển ESP8266 đóng vai trò điều khiển chấp hành cấp thấp: nhận lệnh điều khiển từ Raspberry Pi, xuất tín hiệu PWM tương ứng đến driver BTS7960 để điều khiển động cơ DC Motor 550 (tốc độ và chiều quay) và động cơ Servo MG996R (góc bẻ lái).
2. Thuật toán AI nào được áp dụng cho từng tác vụ cụ thể trong đề tài?
- Tác vụ giữ làn đường (Lane Keeping) sử dụng mạng nơ-ron tích chập (CNN - Convolutional Neural Network) thuộc nhóm học sâu (Deep Learning). Mạng tiếp nhận ảnh mặt đường, trích xuất đặc trưng vạch kẻ qua các lớp tích chập, pooling và xuất ra nhãn điều khiển tương ứng với độ lệch của xe.
- Tác vụ nhận dạng biển báo dừng (STOP) sử dụng bộ phân loại tầng Haar Cascade Classifier thuộc nhóm học máy (Machine Learning) truyền thống, được huấn luyện qua phần mềm Cascade-Trainer-GUI và chạy trực tiếp bằng thư viện OpenCV.
3. Quá trình thực nghiệm mô hình giữ làn trải qua bao nhiêu lần huấn luyện và có sự khác biệt gì?
Quá trình huấn luyện mô hình CNN giữ làn được thực hiện qua 3 lần độc lập:
- Lần 1 (modelV1): Huấn luyện trên tập dữ liệu ban đầu; xe giữ làn tốt trên đường thẳng nhưng thường xuyên mất quỹ đạo và lệch ra ngoài vạch khi gặp khúc cua gắt.
- Lần 2 (modelV2): Bổ sung thêm nhiều mẫu ảnh ở các góc cua và tư thế lệch xe; kết quả cải thiện độ chính xác, xe vượt qua được các khúc cua vừa nhưng vẫn còn dao động.
- Lần 3 (modelV3): Tập dữ liệu được chuẩn hóa và cân bằng tốt; đồ thị loss và accuracy đạt mức tối ưu nhất; xe duy trì quỹ đạo ổn định qua các góc cua liên tục trong cả 10 vòng chạy thử nghiệm.
4. Vị trí và góc đặt của camera ảnh hưởng như thế nào đến khả năng nhận diện của xe?
Nhóm tác giả đã tiến hành khảo nghiệm ở 3 góc nâng camera: thấp nhất, trung bình và cao nhất.
- Khi đặt ở góc thấp nhất, tầm quan sát bị thu hẹp vào khoảng cách quá gần đầu xe, khiến hệ thống phát hiện khúc cua muộn và không kịp bẻ lái.
- Khi đặt ở góc cao nhất, hình ảnh bị biến dạng phối cảnh, làm giảm độ chính xác trích xuất đặc trưng của vạch làn.
- Góc đặt trung bình mang lại hiệu quả tối ưu nhất, cho phép nhận diện khúc cua từ cự ly xa thích hợp và duy trì biển báo STOP trong khung hình đủ lâu để kích hoạt phanh dừng.
5. Vì sao hệ thống không thể nhận diện được biển báo STOP trong một số trường hợp xe bị lệch làn?
Trong các bài đo thực nghiệm tại Chương 5, khi xe bị lệch quá sâu về một bên làn đường (ví dụ lệch hẳn sang bên trái), hướng quan sát quang học của camera cố định sẽ quay chệch khỏi trục đường. Lúc này, biển báo STOP đặt bên lề đường bị rơi ra ngoài trường nhìn (Field of View - FOV) của camera, khiến thuật toán Haar Cascade không thu thập được đặc trưng biển báo để gửi lệnh phanh dừng.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu ứng dụng AI trong điều khiển xe RC nhận dạng biển báo và giữ làn đường" của sinh viên Trần Trường Lâm và Huỳnh Trí Đức đã thiết kế và chế tạo thành công một mô hình xe tự hành quy mô 1:10 hoạt động ổn định trong môi trường thực nghiệm khép kín. Bằng việc kết hợp kiến trúc mạng nơ-ron tích chập (CNN) cho tác vụ giữ làn và bộ phân loại Haar Cascade cho tác vụ nhận dạng biển báo STOP trên phần cứng nhúng Raspberry Pi 4 kết hợp ESP8266, đề tài đã giải quyết hiệu quả bài toán tự động điều hướng thời gian thực với chi phí tối ưu. Mặc dù còn giới hạn về phạm vi sa hình thử nghiệm và số lượng cảm biến, công trình cung cấp những dữ liệu thực nghiệm có giá trị cao về cấu hình thị giác máy tính và là nền tảng kỹ thuật quan trọng cho các ứng dụng xe tự hành trong khuôn viên kiểm soát.