Bối cảnh và vấn đề nghiên cứu
Cuộc Cách mạng công nghiệp lần thứ tư (CMCN 4.0) đang diễn ra mạnh mẽ với sự bùng nổ của các công nghệ nền tảng như Internet vạn vật (IoT), Trí tuệ nhân tạo (AI), Thực tế ảo (VR), Thực tế tăng cường (AR), Điện toán đám mây và Phân tích dữ liệu lớn. Trong làn sóng công nghệ này, xe tự hành (Autonomous Vehicles) đóng vai trò là một trong những hướng phát triển đột phá, được dự báo sẽ trở nên phổ biến và thay thế dần các phương tiện giao thông truyền thống trong vòng 15 đến 20 năm tới.
Trên thế giới, xe tự hành được nghiên cứu từ năm 1939; đến giai đoạn 2010–2016, các tính năng hỗ trợ lái thông minh và tự động hóa cao cấp bắt đầu phát triển vượt bậc. Các quốc gia tiên phong như Mỹ, Nhật Bản, Trung Quốc đã ban hành nhiều khung pháp lý thử nghiệm. Các hãng sản xuất ô tô hàng đầu (Tesla, Mercedes-Benz, Ford, Volvo, Nissan...) đã tiến hành thử nghiệm xe tự hành cấp độ 4 tại nhiều bang của Mỹ (California, Arizona, Texas, Michigan), trong đó bang California đã cấp phép dịch vụ giao hàng thương mại bằng xe không người lái từ năm 2021. Tại khu vực Đông Nam Á, Singapore, Malaysia và Việt Nam là ba quốc gia dẫn đầu; theo báo cáo của KPMG, Singapore xếp thứ 2 trong 25 quốc gia sẵn sàng cho công nghệ xe tự hành.
Tại Việt Nam, các doanh nghiệp công nghệ và sản xuất lớn đã chủ động tham gia vào lĩnh vực này. FPT bắt đầu thử nghiệm xe điện tự lái trong sân golf (tốc độ 25 km/h) từ năm 2017 và triển khai xe điện tự hành Yamaha tại khu đô thị Ecopark, đồng thời tổ chức cuộc thi "Cuộc đua số" cho sinh viên. Hãng ô tô VinFast đã phát triển các mẫu xe điện thông minh (VF e35, VF e36) tích hợp hệ thống hỗ trợ lái tự động nâng cao (ADAS) đáp ứng tiêu chuẩn an toàn của NHTSA và EURO NCAP. Để giảm thiểu áp lực, loại bỏ sự phân tâm của người điều khiển phương tiện và nâng cao độ an toàn giao thông, việc nghiên cứu các thuật toán tối ưu hóa điều khiển bám làn, tránh vật cản và nhận diện biển báo là yêu cầu cấp thiết.
Đề tài "Nghiên cứu, thiết kế và chế tạo xe tự hành ứng dụng xử lý ảnh và AI" được thực hiện bởi nhóm tác giả Đinh Thanh Tùng và Nguyễn Công Trung, dưới sự hướng dẫn của TS. Vũ Văn Phong tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (khoảng thời gian từ tháng 02/2022 đến ngày 15/08/2022).
Mục tiêu cụ thể của đề tài bao gồm:
- Thiết kế và xây dựng mô hình xe theo yêu cầu thiết kế ban đầu đã đặt ra.
- Xe tự hành hoạt động, di chuyển bám theo lane đường.
- Điều khiển và duy trì tốc độ hoạt động ổn định của xe.
- Nhận diện phần lane đường với độ chính xác 100%.
- Tự động phát hiện và tránh được vật cản xuất hiện trên đường đi.
- Nhận dạng được các biển báo giao thông theo quy chuẩn đề ra và điều khiển xe di chuyển theo tín hiệu chỉ dẫn của biển báo với độ chính xác đạt 90%.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Mô hình xe tự hành tỷ lệ 1/10 tích hợp hệ thống xử lý thị giác máy tính, mạng nơ-ron học sâu và bộ điều khiển mờ lai.
- Phạm vi không gian và môi trường thử nghiệm: Xe hoạt động trong nhà trên mô hình sa bàn (Map) có tổng diện tích $10\text{ m}^2$, độ rộng làn đường thiết kế từ 40 đến 50 cm; môi trường có điều kiện ánh sáng đầy đủ và kết nối mạng Wi-Fi ổn định.
- Phạm vi nhận dạng biển báo: Nhận diện 5 loại biển báo giao thông gồm: biển báo Dừng lại (STOP), biển báo Rẽ phải (Turn Right), biển báo Rẽ trái (Turn Left), biển báo Cấm rẽ phải (No Turn Right) và biển báo Cấm rẽ trái (No Turn Left).
- Phạm vi né tránh vật cản: Hệ thống phát hiện và tránh các vật thể chướng ngại vật có màu sắc khác với màu trắng của vạch kẻ làn đường.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết và mô hình áp dụng
Khóa luận xây dựng hệ thống điều khiển tự hành dựa trên sự kết hợp của nhiều khối kiến thức liên ngành:
-
Lý thuyết xử lý ảnh số và Thư viện OpenCV:
- Quy trình xử lý ảnh chuẩn gồm 5 giai đoạn: Thu nhận ảnh $\to$ Tiền xử lý (lọc nhiễu, tăng độ tương phản) $\to$ Phân đoạn (Segmentation) $\to$ Trích chọn đặc điểm $\to$ Nhận dạng và giải thích.
- Các phương pháp phát hiện biên: Toán tử Gradient bậc nhất (toán tử Roberts với mặt nạ $2\times 2$, toán tử Sobel với mặt nạ $3\times 3$), toán tử Laplace bậc hai, và thuật toán phát hiện biên Canny (gồm 4 bước: Giảm nhiễu bằng lọc Gauss, Tính Gradient, Triệt tiêu không cực đại - Non-maximum suppression, Phân ngưỡng đôi).
- Biến đổi Hough Transform để trích xuất đường thẳng trên ảnh trong hệ tọa độ cực $x \cos\theta + y \sin\theta = \rho$.
- Không gian màu HSV (Hue: 0–360°, Saturation: 0–100%, Value: 0–100%) và ảnh xám (Grayscale). Các hàm OpenCV sử dụng:
cv2.imread(), cv2.imshow(), cv2.cvtColor(), cv2.threshold(), cv2.resize(), cv2.line().
-
Trí tuệ nhân tạo và Mô hình học sâu YOLOv4:
- Mạng nơ-ron tích chập (CNN) cấu trúc YOLOv4 gồm 3 khối: Backbone (trích xuất đặc trưng), Neck (tổng hợp đặc trưng) và Dense Prediction (dự đoán dày đặc).
- Cơ chế chia ảnh thành lưới $S \times S$ ô; ngõ ra ma trận kích thước $S \times S \times (5 \times N + M)$ với $N$ là số Bounding Box và $M$ là số Class.
- Hàm tổn thất (Loss function) tính bằng tổng của ba thành phần: Classification loss (độ lỗi nhãn), Localization loss (độ lỗi tọa độ tâm và kích thước hộp bao) và Confidence loss (độ lỗi mức độ tin cậy chứa đối tượng).
-
Lý thuyết điều khiển tự động và Bộ điều khiển PD-Fuzzy:
- Bộ điều khiển kinh điển PID gồm ba thành phần: tỉ lệ ($P$), tích phân ($I$) và vi phân ($D$).
- Lý thuyết tập mờ (Fuzzy Logic): Khái niệm độ cao, miền xác định, miền tin cậy; các dạng hàm liên thuộc (Singleton, tam giác, hình thang, hình chuông); luật hợp thành Mamdani/PROD và phương pháp giải mờ trọng tâm (Centroid), giải mờ cực đại.
- Cấu trúc bộ điều khiển động PD-Fuzzy: Bộ điều khiển vòng kín có hai ngõ vào là sai số $e$ (khoảng cách lệch giữa đường hồi quy tâm làn và tâm khung hình camera) và đạo hàm sai số $\Delta e$ ($de/dt$); hai ngõ ra là góc bẻ lái $\alpha$ của động cơ servo và vận tốc di chuyển $v$ của động cơ DC.
-
Kiến trúc hệ thống truyền thông và Xử lý song song:
- Mô hình mạng Server - Client: Sử dụng thư viện
socket trên Python (Address Family AF_INET, Socket Type SOCK_STREAM qua giao thức TCP) để truyền luồng ảnh thời gian thực từ bo nhúng Raspberry Pi lên máy tính chủ (Server) chạy mô hình AI và nhận kết quả điều khiển phản hồi.
- Lập trình đa luồng: Module
threading trên Python (run(), join(), isAlive(), activeCount(), cơ chế khóa lock()) giúp thực thi đồng thời các tác vụ thu nhận ảnh, tính toán bám làn và giao tiếp mạng mà không bị nghẽn luồng.
- Giao thức điều khiển phần cứng: Thư viện
PyFirmata giao tiếp qua cổng USB nối tiếp giữa Raspberry Pi và bo mạch Arduino Uno chạy mã nguồn StandardFirmata.
Phương pháp nghiên cứu thực tế
- Phương pháp phân tích - tổng hợp lý thuyết: Hệ thống hóa các thuật toán xử lý ảnh, cấu trúc mạng nơ-ron và giải thuật điều khiển mờ.
- Phương pháp thiết kế và chế tạo kỹ thuật: Ứng dụng phần mềm SolidWorks thiết kế cơ khí 3D/2D; thiết kế mạch điện tử phối ghép giữa các khối phần cứng.
- Phương pháp thực nghiệm - kiểm chứng: Xây dựng tập dữ liệu ảnh biển báo, gán nhãn, huấn luyện mô hình YOLOv4; lập trình tích hợp hệ thống nhúng và tiến hành chạy thử nghiệm lặp lại nhiều lần trên sa bàn thực tế để tinh chỉnh tham số điều khiển.
Thiết kế và triển khai hệ thống
Kiến trúc phần cứng và cơ khí
Mô hình xe tự hành được phát triển trên nền tảng khung gầm xe mô hình điều khiển từ xa (RC) tỷ lệ 1/10, bao gồm hệ thống lái chuyển hướng, hệ thống giảm xóc và bộ hộp số nhông kim loại truyền động. Nhóm tác giả đã thiết kế bổ sung tấm đế Mica bằng phần mềm SolidWorks để bố trí cố định các bo mạch điện tử, cùng với cụm giá đỡ camera đặt ở đầu xe.
| Khối chức năng |
Tên thiết bị / Linh kiện |
Thông số & Vai trò trong hệ thống |
| Xử lý trung tâm |
Raspberry Pi |
Thu nhận hình ảnh từ camera, tính toán bám làn đường, phát hiện vật cản, truyền dữ liệu Socket lên Server. |
| Điều khiển chấp hành |
Bo mạch Arduino Uno |
Nhận lệnh điều khiển từ Raspberry Pi thông qua giao tiếp USB (giao thức Firmata) để phát xung PWM. |
| Cảm biến hình ảnh |
Raspberry Pi Camera (G) |
Góc nhìn rộng, thu nhận khung hình làn đường và biển báo phía trước xe. |
| Động cơ truyền động |
Động cơ DC & Mạch ESC |
Mạch điều tốc điện tử ESC (tích hợp mạch BEC, LVC) nhận tín hiệu PWM từ Arduino để điều khiển tốc độ xe. |
| Cơ cấu bẻ lái |
Động cơ RC Servo |
Nhận xung điều khiển góc quay từ Arduino để thay đổi hướng di chuyển của hai bánh trước. |
| Nguồn cung cấp |
Pin LiPo (Lithium Polymer) |
Cung cấp nguồn năng lượng dòng xả cao cho toàn bộ hệ thống động lực và bo mạch điện tử. |
| Máy chủ xử lý |
Máy tính cá nhân (Server) |
Cấu hình card đồ họa rời để chạy mô hình mạng nơ-ron YOLOv4 nhận dạng biển báo giao thông thời gian thực. |
[ Raspberry Pi Camera (G) ]
[ Arduino Uno ]
Quy trình giải thuật và tích hợp phần mềm
- Thuật toán nhận diện làn đường và tìm tâm: Khung hình từ camera thu nhận được đưa qua phép biến đổi hình chiếu mắt chim (Bird's Eye View/Perspective Transform) để loại bỏ hiện tượng phối cảnh xa gần. Ảnh sau đó được lọc chuyển sang không gian màu HSV, áp dụng ngưỡng nhị phân để tách vạch kẻ đường màu trắng. Thuật toán trích xuất các điểm biên và khớp đường hồi quy tuyến tính, từ đó xác định tọa độ tâm làn đường.
- Bộ điều khiển PD-Fuzzy bám làn: Sai số giữa tâm đường hồi quy và tâm khung hình ($e$) cùng tốc độ biến thiên sai số ($\Delta e$) được đưa qua khâu mờ hóa, áp dụng bảng luật mờ MISO để tính toán góc bẻ lái tối ưu $\alpha$ cho Servo và điều chỉnh tốc độ $v$ qua ESC, giúp xe vào cua êm và không bị vọt lố (overshoot).
- Giải thuật tránh vật cản: Khi xuất hiện vật thể trên làn đường có màu sắc khác màu trắng của vạch kẻ, hệ thống phân đoạn ảnh sẽ xác định vị trí vật cản (nằm bên trái, bên phải hoặc chính giữa làn). Dựa trên tọa độ vật cản, giải thuật điều hướng sẽ hiệu chỉnh đường hồi quy mục tiêu lệch sang vùng trống an toàn để xe tự động lách qua chướng ngại vật rồi quay trở lại tim đường.
- Nhận dạng biển báo giao thông: Khung hình được luồng phụ (Thread) gửi qua giao thức Socket TCP đến máy chủ PC. Mô hình YOLOv4 phân loại 5 nhóm biển báo và trả về nhãn tương ứng. Khi nhận tín hiệu biển báo, chương trình điều khiển sẽ ưu tiên thực thi lệnh hành vi tương ứng (dừng xe khi gặp biển STOP, rẽ hướng theo biển chỉ dẫn hoặc bỏ qua hướng cấm). Hệ thống tích hợp giao diện người dùng đồ họa (GUI) hiển thị trạng thái hoạt động, camera stream và các thông số điều khiển thời gian thực.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Trình bày lý do lựa chọn đề tài, tính cấp thiết của nghiên cứu xe tự hành trong bối cảnh CMCN 4.0. Khái quát lịch sử phát triển xe tự hành trên thế giới từ năm 1939 đến nay, tình hình ứng dụng tại các nước phát triển và khu vực Đông Nam Á (Singapore, Malaysia, Việt Nam). Điểm qua các hoạt động nghiên cứu trong nước của tập đoàn FPT (xe tự lái Ecopark, cuộc thi Cuộc đua số) và VinFast (ADAS trên VF e35, VF e36). Xác định rõ mục tiêu, nội dung 6 chương và giới hạn phạm vi nghiên cứu của đề tài (sa bàn $10\text{ m}^2$, làn rộng 40–50 cm, 5 loại biển báo giao thông).
Chương 2: Cơ sở lý thuyết
Cung cấp nền tảng toán học và kỹ thuật chuyên sâu về:
- Quy trình 5 bước trong xử lý ảnh số, các toán tử phát hiện biên Gradient (Roberts, Sobel), Laplace và Canny; phép biến đổi Hough Transform trích xuất đường thẳng.
- Thư viện OpenCV và các hàm xử lý ảnh cơ bản trên ngôn ngữ Python (
cvtColor, threshold, resize, line).
- Khái niệm về AI, Machine Learning, Deep Learning; cấu trúc và nguyên lý hoạt động của mạng nơ-ron tích chập YOLOv4.
- Giao thức điều khiển Firmata/PyFirmata giữa máy tính nhúng và vi điều khiển Arduino.
- Bộ điều khiển kinh điển PID; Lý thuyết tập mờ (Fuzzy Logic), các dạng hàm liên thuộc (singleton, tam giác, hình thang, hình chuông), bảng luật hợp thành Mamdani/PROD, các phương pháp giải mờ cực đại và trọng tâm; Thiết kế bộ điều khiển lai PD-Fuzzy.
- Kỹ thuật lập trình đa luồng (
threading) đồng bộ hóa bằng lock(), mô hình mạng Server - Client truyền thông qua module socket TCP.
Chương 3: Thiết kế mô hình
Xác định các yêu cầu kỹ thuật của hệ thống xe tự hành. Trình bày chi tiết bản vẽ thiết kế cơ khí 3D và 2D trên SolidWorks bao gồm khung xe RC 1/10, đế Mica gắn bo mạch và giá đỡ camera. Lựa chọn các thiết bị điện tử, lập bảng thông số kỹ thuật (động cơ DC, ESC, RC Servo, bo mạch Raspberry Pi, Arduino Uno, camera RPi, pin LiPo, trụ đồng M3, các loại ốc vít). Thiết lập sơ đồ kết nối khối và sơ đồ đấu nối dây chi tiết giữa các thiết bị điện; xây dựng quy cách sa bàn thử nghiệm diện tích $10\text{ m}^2$ và mẫu chuẩn 5 loại biển báo giao thông.
Chương 4: Giải thuật và chương trình
Xây dựng lưu đồ và thuật toán điều khiển tổng thể cho xe tự hành:
- Thuật toán tìm tâm đường: Biến đổi góc nhìn Bird's Eye View, lọc màu HSV, nhị phân hóa và thuật toán khớp đường hồi quy.
- Thuật toán điều khiển bám đường ứng dụng bộ điều khiển PD-Fuzzy (định nghĩa các tập mờ ngõ vào sai số $e$, đạo hàm sai số $de/dt$, ngõ ra góc lái $\alpha$, vận tốc $v$ và thiết lập bảng luật mờ).
- Thuật toán nhận biết và tránh vật cản phân bố theo các vị trí khác nhau trên làn đường.
- Quy trình thu thập tập dữ liệu, gán nhãn, cấu hình file huấn luyện mô hình YOLOv4 nhận diện 5 loại biển báo giao thông.
- Thiết kế giao diện đồ họa GUI (màn hình chính và màn hình điều khiển) để giám sát và vận hành hệ thống xe.
Chương 5: Kết quả và đánh giá
Trình bày các kết quả thực nghiệm đạt được sau quá trình chế tạo và tích hợp:
- Mô hình xe hoàn thiện về cơ khí và mạch điện, hoạt động ổn định trên sa bàn.
- Kết quả nhận diện làn đường và thuật toán điều khiển bám đường bám sát tim đường hồi quy với độ chính xác nhận diện 100%.
- Kết quả né tránh vật cản thành công ở cả 3 trường hợp: vật cản nằm bên trái, bên phải và ở giữa làn đường.
- Kết quả huấn luyện và thử nghiệm nhận diện 5 loại biển báo giao thông (No Turn Left, No Turn Right, Turn Left, Turn Right, STOP) đạt độ chính xác trên 90%.
- Đồ thị và bảng số liệu phân tích đáp ứng góc bẻ lái, vận tốc thực tế của xe trong quá trình bám làn và chuyển hướng theo biển báo.
Chương 6: Kết luận và hướng phát triển
Đánh giá tổng kết các mục tiêu đã hoàn thành của đề tài về mặt thiết kế phần cứng, giải thuật xử lý ảnh, điều khiển mờ và nhận dạng AI. Phân tích các ưu điểm và hạn chế còn tồn tại của mô hình. Đề xuất các giải pháp nâng cấp, mở rộng tính năng và hướng nghiên cứu phát triển tiếp theo trong tương lai.
Kết quả và đóng góp
Kết quả nghiên cứu chính
-
Về mặt thiết kế và chế tạo phần cứng:
- Chế tạo thành công mô hình phần cứng xe tự hành tỷ lệ 1/10 hoàn chỉnh, kết cấu cơ khí chắc chắn, bố trí các module điện tử (Raspberry Pi, Arduino Uno, Camera RPi, ESC, Servo, Pin LiPo) khoa học, dễ tháo lắp và bảo dưỡng.
- Xây dựng thành công sa bàn thử nghiệm chuẩn có diện tích $10\text{ m}^2$, độ rộng làn đường 40–50 cm cùng hệ thống 5 loại biển báo giao thông mô phỏng.
-
Về mặt giải thuật và xử lý phần mềm:
- Thuật toán xử lý ảnh phối hợp giữa phép biến đổi Bird's Eye View, lọc không gian màu HSV và hồi quy tuyến tính đạt độ chính xác nhận diện làn đường 100%.
- Bộ điều khiển PD-Fuzzy điều khiển mượt mà góc lái Servo và vận tốc động cơ DC, giúp xe bám làn ổn định, triệt tiêu hiện tượng dao động lắc lư khi xe vào cua.
- Giải thuật né tránh chướng ngại vật hoạt động chính xác đối với các vật cản khác màu trắng xuất hiện trên các vị trí khác nhau của làn đường.
- Mô hình YOLOv4 huấn luyện nhận diện chính xác 5 nhóm biển báo giao thông với tỷ lệ nhận dạng trung bình đạt trên 90%, điều khiển xe phản hồi đúng quy chuẩn tín hiệu biển báo.
- Hệ thống truyền thông mạng Socket TCP kết hợp lập trình đa luồng
threading và giao thức PyFirmata vận hành ổn định, đảm bảo tính thời gian thực cho hệ thống điều khiển nhúng.
Đóng góp so với các nghiên cứu trước
- Khóa luận đã tích hợp thành công mô hình điều khiển phân tán: Tách biệt khối tính toán xử lý ảnh bám làn thời gian thực trên bo nhúng (Raspberry Pi) và khối xử lý mạng nơ-ron học sâu phức tạp trên máy tính chủ (Server) thông qua giao thức Socket TCP. Giải pháp này giúp xe tự hành quy mô nhỏ tận dụng được sức mạnh của các mô hình AI hiện đại mà không bị giới hạn bởi năng lực tính toán hay tiêu hao quá nhiều năng lượng trên bo mạch nhúng cục bộ.
- Ứng dụng thành công bộ điều khiển mờ động PD-Fuzzy thay cho các thuật toán PID truyền thống, nâng cao khả năng thích ứng của hệ thống lái trước các khúc cua gắt và tình huống điều hướng tránh vật cản đột ngột.
Hạn chế và hướng nghiên cứu tiếp theo
Hạn chế của đề tài
- Phụ thuộc điều kiện môi trường: Hệ thống đòi hỏi hoạt động trong môi trường có điều kiện ánh sáng ổn định, đầy đủ; sự thay đổi đột ngột về cường độ sáng hoặc bóng râm có thể ảnh hưởng đến kết quả phân ngưỡng màu HSV.
- Phụ thuộc hạ tầng mạng: Việc nhận diện biển báo AI dựa vào giao tiếp Socket TCP truyền về máy chủ ngoài nên đòi hỏi đường truyền Wi-Fi phải liên tục và có độ trễ thấp.
- Giới hạn màu sắc vật cản: Thuật toán phát hiện chướng ngại vật hiện tại chỉ nhận diện được các vật thể có màu sắc khác biệt hoàn toàn với màu trắng của vạch kẻ đường.
- Quy mô tập biển báo: Hệ thống mới chỉ nhận diện và xử lý được 5 loại biển báo giao thông cơ bản trên sa bàn nhân tạo diện tích $10\text{ m}^2$.
Hạn chế và hướng mở rộng nghiên cứu
- Tích hợp các bộ vi xử lý nhúng chuyên dụng có bộ tăng tốc AI/GPU cục bộ (như dòng Nvidia Jetson) để chạy trực tiếp mô hình Deep Learning trên xe mà không cần phụ thuộc vào máy chủ qua kết nối Wi-Fi.
- Nghiên cứu các thuật toán tiền xử lý ảnh thích nghi (Adaptive Thresholding) để nâng cao độ bền vững của hệ thống nhận diện làn đường trong điều kiện ánh sáng phức tạp, ngược sáng hoặc ban đêm.
- Mở rộng tập dữ liệu huấn luyện để nhận dạng thêm nhiều loại biển báo, tín hiệu đèn giao thông, vạch kẻ đường cho người đi bộ và người đi đường thực tế.
- Bổ sung các loại cảm biến đo khoảng cách như cảm biến siêu âm, cảm biến LiDAR hoặc cảm biến chiều sâu để nâng cao độ chính xác trong bài toán phát hiện và định vị vật cản đa dạng về hình dạng, màu sắc.
Giá trị tham khảo
Tài liệu khóa luận tốt nghiệp này có giá trị tham khảo thiết thực cho:
- Sinh viên và học viên: Thuộc các chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Robot, Khoa học Máy tính và Công nghệ Thông tin đang thực hiện các đề tài về xe tự hành, robot di động (AGV/AMR) hoặc thị giác máy tính ứng dụng trong điều khiển.
- Các đội tuyển nghiên cứu và thi đấu học thuật: Các nhóm sinh viên tham gia các cuộc thi lập trình xe tự hành (như Cuộc đua số) có thể tham khảo trực tiếp cấu trúc thiết kế cơ khí trên nền xe RC 1/10, sơ đồ mạch điện điều khiển và giải pháp phân luồng xử lý đa nhiệm.
- Các phần nội dung đáng tham khảo chuyên sâu:
- Quy trình xử lý ảnh tìm tâm đường sử dụng kết hợp phép chiếu Bird's Eye View và đường hồi quy trong OpenCV.
- Phương pháp thiết kế, lập bảng luật và cài đặt bộ điều khiển mờ lai PD-Fuzzy trên vi điều khiển.
- Giải pháp giao tiếp phối hợp giữa Raspberry Pi, Arduino và Server thông qua Socket TCP và PyFirmata.
Câu hỏi thường gặp
1. Đề tài giải quyết bài toán khối lượng tính toán lớn của mô hình học sâu AI trên phần cứng nhúng bằng cách nào?
Tác giả sử dụng kiến trúc phân tán Server - Client thông qua module socket TCP trên Python. Bo mạch nhúng Raspberry Pi trên xe chỉ đảm nhiệm các thuật toán xử lý ảnh bám làn nhẹ và điều khiển chấp hành; luồng ảnh nhận diện biển báo được gửi trực tiếp qua Wi-Fi lên máy chủ PC (Server) có card đồ họa mạnh để chạy mô hình YOLOv4, sau đó máy chủ gửi nhãn điều khiển phản hồi lại cho xe.
2. Bộ điều khiển PD-Fuzzy trong khóa luận nhận tín hiệu đầu vào là gì và điều khiển những đại lượng ngõ ra nào?
Bộ điều khiển PD-Fuzzy có 2 tín hiệu ngõ vào gồm: sai số khoảng cách lệch $e$ (giữa tâm đường hồi quy tính từ ảnh và tâm khung hình camera) và đạo hàm của sai số $\Delta e$ ($de/dt$). Tín hiệu ngõ ra gồm 2 đại lượng: góc bẻ lái $\alpha$ gửi đến động cơ RC Servo và vận tốc di chuyển $v$ gửi đến mạch điều tốc ESC điều khiển động cơ DC.
3. Thuật toán phát hiện và bám làn đường được thực hiện qua các bước xử lý ảnh nào trong OpenCV?
Thuật toán bao gồm: (1) Thu nhận ảnh từ camera; (2) Chuyển đổi góc nhìn Bird's Eye View; (3) Chuyển sang không gian màu HSV và áp dụng hàm phân ngưỡng nhị phân threshold để tách vạch kẻ làn màu trắng; (4) Trích xuất các điểm biên và áp dụng thuật toán hồi quy tuyến tính để xác định đường tâm làn; (5) Tính toán độ lệch tâm để cấp tín hiệu vào bộ điều khiển PD-Fuzzy.
4. Bo mạch Raspberry Pi truyền tín hiệu điều khiển xuống cơ cấu chấp hành (ESC và Servo) thông qua cơ chế nào?
Raspberry Pi không xuất xung PWM trực tiếp mà kết nối với bo vi điều khiển Arduino Uno qua cổng USB. Trên Arduino nạp chương trình StandardFirmata, còn trên Raspberry Pi chạy thư viện PyFirmata để truyền thông điệp điều khiển các chân phát xung PWM nối tới mạch điều tốc ESC (chỉnh tốc độ động cơ DC) và động cơ RC Servo (chỉnh góc lái).
5. Phạm vi nhận diện biển báo và điều kiện vận hành của xe bị giới hạn ở những tiêu chí nào?
Hệ thống được thiết kế để nhận diện đúng 5 loại biển báo giao thông (STOP, Turn Left, Turn Right, No Turn Left, No Turn Right) trên sa bàn diện tích $10\text{ m}^2$, độ rộng làn 40–50 cm. Hệ thống yêu cầu điều kiện ánh sáng đầy đủ, kết nối mạng Wi-Fi ổn định và chỉ nhận diện né tránh được các vật cản có màu sắc khác với màu trắng của vạch kẻ đường.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu, thiết kế và chế tạo xe tự hành ứng dụng xử lý ảnh và AI" của sinh viên Đinh Thanh Tùng và Nguyễn Công Trung đã hoàn thành toàn diện các mục tiêu nghiên cứu, thiết kế và thực nghiệm mô hình xe tự hành tỷ lệ 1/10. Hệ thống tích hợp đồng bộ giữa kỹ thuật xử lý ảnh OpenCV để nhận diện làn đường chính xác 100%, bộ điều khiển mờ động PD-Fuzzy giúp xe bám làn mượt mà, cùng mạng nơ-ron học sâu YOLOv4 nhận dạng chính xác trên 90% các biển báo giao thông chỉ dẫn. Kết quả thử nghiệm thực tế trên sa bàn $10\text{ m}^2$ khẳng định tính đúng đắn của giải thuật, độ ổn định của cấu trúc phần cứng nhúng và mở ra nền tảng tham khảo giá trị cho các nghiên cứu phát triển phương tiện tự hành quy mô nhỏ.