Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh ngành công nghiệp ô tô toàn cầu đang chuyển dịch mạnh mẽ sang tự động hóa và phương tiện thông minh, xe tự hành nổi lên như một giải pháp công nghệ nhằm nâng cao an toàn giao thông, giảm thiểu tai nạn do lỗi con người (nguyên nhân chính xuất phát từ sự mệt mỏi, mất tập trung hoặc sử dụng chất kích thích), tối ưu hóa thời gian di chuyển và giải quyết các bài toán về môi trường, ùn tắc đô thị. Tại Việt Nam, nghiên cứu xe tự hành đang ở giai đoạn khởi đầu thông qua các sự kiện công nghệ tiêu biểu như cuộc thi "Cuộc đua số" do Tập đoàn FPT phát động từ cuối năm 2016 và các mô hình thử nghiệm xe không người lái từ năm 2017.

Nhằm tiếp cận xu thế công nghệ điều khiển tự động trên phương tiện giao thông, đề tài "Nghiên cứu xây dựng hệ thống điều khiển bám đường, tránh vật cản cho xe tự hành" được thực hiện tại Bộ môn Công nghệ Kỹ thuật Ô tô – Viện Kỹ thuật HUTECH (Trường Đại học Công nghệ TP.HCM). Mục tiêu tổng quát của đồ án là chế tạo mô hình xe tự hành có khả năng tự động nhận diện làn đường để bám đường theo sa hình mô phỏng thực tế và phát hiện vật cản để thực hiện cơ chế tránh an toàn.

Tác giả xác định 9 nhiệm vụ/mục tiêu nghiên cứu cụ thể bao gồm:

  1. Xây dựng mô hình xe tự hành có đầy đủ trang thiết bị cho việc xác định làn đường và vật cản, có khả năng di chuyển trên sa hình mô phỏng đường thực tế.
  2. Nắm vững và làm chủ các thiết bị phần cứng trang bị trên xe để phục vụ lập trình, điều khiển hệ thống.
  3. Làm chủ các cơ sở lý thuyết liên quan đến việc xác định làn đường, nhận diện vật cản và thuật toán điều khiển.
  4. Nghiên cứu và xây dựng thuật toán xác định làn đường.
  5. Nghiên cứu và xây dựng thuật toán điều khiển xe bám đường.
  6. Nghiên cứu và xây dựng thuật toán xác định vật cản.
  7. Nghiên cứu và xây dựng thuật toán điều khiển tránh vật cản.
  8. Tích hợp đồng bộ các thuật toán thành một chương trình điều khiển xe bám đường, tránh vật cản hoàn chỉnh.
  9. Vận hành thử nghiệm mô hình thực tế và đưa ra các đánh giá kỹ thuật.
  • Đối tượng nghiên cứu: Mô hình xe tự hành quy mô thu nhỏ; hệ thống phần cứng điều khiển nhúng; thuật toán xử lý ảnh nhận diện làn đường; thuật toán định vị vật cản; giải thuật điều khiển mờ (Fuzzy Logic Control) cho cơ cấu lái và chuyển động.
  • Phạm vi nghiên cứu: Mô hình xe tự hành thử nghiệm di chuyển trên sa hình mô phỏng đường thực tế với vạch kẻ phân làn rõ ràng; hệ thống xử lý trung tâm nền tảng Raspberry Pi kết hợp vi điều khiển; cảm biến siêu âm HC-SR04 đo khoảng cách chướng ngại vật; camera xử lý thị giác máy tính trong phạm vi môi trường phòng thí nghiệm.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình ứng dụng

Đồ án xây dựng dựa trên các nền tảng lý thuyết và công nghệ chuyên ngành kỹ thuật điều khiển và thị giác máy tính:

  • Tiêu chuẩn phân cấp xe tự hành của SAE (Society of Automotive Engineers): Khung tham chiếu 6 cấp độ tự hành (Level 0 đến Level 5) được ban hành năm 2014, làm cơ sở định vị công nghệ điều khiển bám làn và tránh vật cản thuộc nhóm tính năng tự hành cấp độ 1 và 2.
  • Thư viện thị giác máy tính OpenCV (Open Source Computer Vision Library): Thư viện mã nguồn mở theo giấy phép BSD, hỗ trợ đa nền tảng (Linux, Windows, Android...). Đồ án tập trung khai thác các module chuyên dụng:
    • Core: Quản lý cấu trúc dữ liệu cơ bản, mảng đa chiều Mat và các phép toán ma trận điểm ảnh.
    • Imgproc: Xử lý ảnh số (lọc tuyến tính, phi tuyến, chuyển đổi không gian màu, lược đồ, biến đổi hình học phối cảnh và nhị phân hóa).
    • Highgui: Giao diện thu thập luồng hình ảnh từ camera và hiển thị thời gian thực.
    • Các module phụ trợ: Video, Calib3d, Features2d, Objdetect, Gpu.
  • Thư viện điều khiển phần cứng wiringPi: Thư viện C/C++ dùng để giao tiếp và điều khiển trực tiếp 40 chân GPIO của chip BCM2835/BCM2837 trên bo mạch Raspberry Pi, hỗ trợ xuất tín hiệu số, xung PWM và giao tiếp ngoại vi.
  • Lý thuyết Logic mờ (Fuzzy Logic) và Bộ điều khiển mờ (Fuzzy Logic Controller - FLC):
    • Khái niệm tập mờ $B$ xác định trên tập kinh điển $M$ thông qua hàm liên thuộc $\mu_B(x) \in [0, 1]$; các đại lượng đặc trưng: độ cao $H$, miền xác định $S$, miền tin cậy $T$.
    • Dạng hàm liên thuộc: Hàm tam giác (Triangular), hình thang (Trapezoidal), hàm Gauss, hàm Sign và hàm chuông.
    • Cấu trúc mệnh đề điều khiển: Cấu trúc SISO (một vào, một ra), MISO (nhiều vào, một ra), MIMO (nhiều vào, nhiều ra).
    • Luật hợp thành: Sử dụng phương pháp Mamdani với hai công thức cơ bản là MIN và PROD, triển khai cấu trúc luật hợp thành phức Sum-Min.
    • Phương pháp giải mờ: Phương pháp cực đại (nguyên lý trung bình, cận trái, cận phải) và phương pháp điểm trọng tâm (Center of Gravity/Height Method) cho luật Sum-Min.

Phương pháp nghiên cứu

Tác giả kết hợp đồng bộ 4 phương pháp nghiên cứu kỹ thuật:

  1. Phương pháp nghiên cứu tài liệu: Thu thập, phân tích tài liệu kỹ thuật về kiến trúc máy tính nhúng Raspberry Pi, giao thức điều khiển động cơ bước/DC, tập lệnh OpenCV và tài liệu toán học về logic mờ của Lotfi Zadeh và Mamdani.
  2. Phương pháp phân tích và tổng hợp: Thiết kế cấu trúc hệ thống phân tầng từ xử lý hình ảnh đầu vào, tính toán toán học đến tầng điều khiển chấp hành.
  3. Phương pháp hỏi ý kiến chuyên gia: Tham vấn giảng viên hướng dẫn (TS. Phạm Văn Thức) và các chuyên gia bộ môn Công nghệ Kỹ thuật Ô tô HUTECH về giải pháp cơ khí, mạch động lực và thuật toán điều khiển.
  4. Phương pháp thực nghiệm: Lắp ráp mô hình phần cứng, nạp chương trình, chạy thử nghiệm trên sa hình thực tế với các kịch bản làn đường và vị trí vật cản khác nhau để hiệu chỉnh tham số.

Nguồn dữ liệu

  • Luồng khung hình video kỹ thuật số thu nhận trực tiếp từ Camera Module 8MP của Raspberry Pi.
  • Dữ liệu khoảng cách thời gian thực thu thập từ sóng phản hồi của cảm biến siêu âm HC-SR04.

Thiết kế và triển khai

Cấu trúc phần cứng và sơ đồ liên kết thiết bị

Mô hình xe tự hành được thiết kế với trung tâm điều khiển và xử lý tín hiệu là máy tính nhúng kết hợp vi điều khiển và mạch công suất:

  • Khối xử lý trung tâm (Raspberry Pi 3 Model B / Raspberry Pi 4): Xử lý luồng hình ảnh từ camera bằng OpenCV, chạy thuật toán tính toán tâm đường, phát hiện vật cản và thực thi thuật toán điều khiển mờ để đưa ra tín hiệu góc lái và tốc độ. Cấu hình phần cứng Raspberry Pi 3 gồm vi xử lý Broadcom BCM2837 Quad-core 64-bit ARM Cortex-A53 1.2 GHz, RAM 1 GB LPDDR2, tích hợp Wi-Fi 802.11 b/g/n, Bluetooth 4.1 và 40 chân GPIO (28 chân I/O lập trình được, 4 chân cấp nguồn 3.3V/5V, 8 chân nối đất GND).
  • Khối vi điều khiển phụ trợ (Arduino Uno R3): Phối hợp điều khiển cơ cấu lái và nhận lệnh chấp hành.
  • Khối thu nhận hình ảnh (Camera Module V2 8MP): Gắn ở đầu xe, kết nối trực tiếp với Raspberry Pi qua cáp Ribbon CSI, thu thập hình ảnh làn đường phía trước.
  • Khối đo khoảng cách (Cảm biến siêu âm HC-SR04): Đo khoảng cách từ 2 cm đến 45 cm. Hoạt động theo nguyên lý: chân Trig phát xung kích $5\ \mu\text{s}$, chân Echo nhận tín hiệu phản xạ; tính toán thời gian truyền với tốc độ âm thanh $340\text{ m/s}$ (tương đương $29{,}412\ \mu\text{s/cm}$) và chia đôi để xác định khoảng cách vật cản.
  • Khối cơ cấu lái (Động cơ RC Servo MG996R): Động cơ servo góc quay $0^\circ - 90^\circ$ (hoặc $180^\circ$), kích thước $41 \times 20 \times 36\text{ mm}$, trọng lượng $38\text{ g}$, bánh răng nhựa, điện áp hoạt động $4{,}0\text{V} - 6{,}0\text{V}$. Nhận tín hiệu điều khiển xung PWM chu kỳ $20\text{ ms}$ ($50\text{ Hz}$), độ rộng xung mức cao từ $1\text{ ms}$ đến $2\text{ ms}$ tương ứng dải góc lái $0^\circ - 90^\circ$.
  • Khối điều khiển động cơ chính (Mạch cầu H L298N): Tích hợp IC L298 gồm 2 mạch cầu H, dải điện áp động cơ $V_S$ từ $3\text{V} - 45\text{V}$, dòng tải tối đa $\le 2\text{A}$, điện áp logic $V_{SS}$ từ $5\text{V} - 7\text{V}$, điều khiển chiều quay và tốc độ động cơ DC qua các chân IN1, IN2, IN3, IN4 và chân điều xung ENA, ENB.
  • Khối nguồn và hạ áp: Pin nguồn 3S cung cấp điện áp $12\text{V}$ cho động cơ qua L298N; mạch hạ áp DC-DC LM2596 điều chỉnh nguồn cấp $5{,}1\text{V}$ cho Raspberry Pi qua cổng USB-Type C / MicroUSB.
Tên thiết bị Công dụng chính Chân / Cổng kết nối
Raspberry Pi (3 / 4) Bộ xử lý trung tâm, chạy OpenCV và giải thuật mờ Cổng CSI, cổng USB, 40 chân GPIO
Arduino Uno R3 Kiểm soát cơ cấu lái, phối hợp điều khiển động cơ chính Giao tiếp chân D1-C4-D5
Camera Pi Version 2 (8MP) Thu nhận hình ảnh sa hình gửi về Raspberry Pi Cáp FPC cắm cổng CSI (A3-C3-D7)
Cảm biến siêu âm HC-SR04 Đo khoảng cách phát hiện chướng ngại vật Chân VCC, GND, Trig, Echo (D4-C7-A5)
Động cơ RC Servo MG996R Điều khiển góc bẻ lái bánh trước và hướng quét cảm biến Chân tín hiệu PWM, VCC, GND (C1-D2-G)
Mạch công suất L298N Mạch đệm cầu H điều khiển chiều quay và tốc độ động cơ DC Chân IN1-IN4, ENA, ENB, Out1-Out4
Mạch hạ áp LM2596 Chuyển đổi điện áp DC-DC ổn định nguồn hệ thống Đầu vào Pin 3S, đầu ra 5V (A9-B7-A3)
Nguồn Pin 3S (12V) Cung cấp nguồn động lực cho động cơ DC Jack cắm nguồn qua L298

Xây dựng thuật toán và phần mềm điều khiển

                      [ Luồng xử lý dữ liệu hệ thống ]
 [Camera Pi V2]                                             [HC-SR04]
[Xử lý ảnh OpenCV]                                          [Tính khoảng cách]
(Lọc màu, cắt ROI,                                          (Xung Trig 5µs,
 xác định biên & tâm đường)                                  Echo / 29.412 / 2)
[10 trường hợp vạch đường]    [3 trường hợp vật cản]       [Bộ điều khiển mờ]
(Giữa vạch, lệch trái/phải,   (Trái, phải, giữa đường)     (Biến vào: gocthuc,
 mất vạch trái/phải)          (Tính toán lại tâm đường)    Biến ra: DeltaPWM)
                        [Bộ xử lý trung tâm Pi]
           [Servo lái MG996R]                 [Mạch công suất L298]
           (Góc bẻ lái PWM)                   (Tốc độ & chiều quay DC)
  1. Thuật toán xử lý ảnh và bám làn đường (Lane Following):

    • Thu nhận khung hình từ camera, cắt vùng quan tâm (ROI - Region of Interest) phía dưới thành hai vùng ảnh bán phần trái (left) và phải (right).
    • Xử lý lọc nhiễu, nhị phân hóa và tìm biên để trích xuất vạch kẻ đường hai bên, xác định tọa độ tâm đường lý thuyết và tâm hình học của xe.
    • Thuật toán phân loại và xử lý 10 kịch bản vị trí thực tế của xe so với làn đường:
      • Trường hợp 1: Xe nằm chính giữa hai vạch đường.
      • Trường hợp 2: Xe nằm hoàn toàn bên ngoài phía bên phải của cả hai vạch đường.
      • Trường hợp 3: Xe nằm bên trong lệch về bên phải một vạch đường.
      • Trường hợp 4: Xe nằm hoàn toàn bên ngoài phía bên trái của cả hai vạch đường.
      • Trường hợp 5: Xe nằm bên trong lệch về bên trái một vạch đường.
      • Trường hợp 6: Xe nằm giữa đường nhưng bị mất vạch đường bên phải.
      • Trường hợp 7: Xe lệch sang phải và đồng thời mất vạch đường bên phải.
      • Trường hợp 8: Xe nằm giữa đường nhưng bị mất vạch đường bên trái.
      • Trường hợp 9: Xe lệch sang trái và đồng thời mất vạch đường bên trái.
      • Trường hợp 10: Xe hoàn toàn không bắt được cả hai vạch đường.
  2. Thiết kế bộ điều khiển mờ bám đường (Fuzzy Controller):

    • Quy trình 5 bước xây dựng FLC:
      • Bước 1: Định nghĩa biến ngôn ngữ vào/ra: Biến đầu vào là góc lệch thực tế của xe so với tâm đường (gocthuc); biến đầu ra là độ thay đổi độ rộng xung PWM cấp cho cơ cấu lái (DeltaPWM).
      • Bước 2: Mờ hóa: Định nghĩa các hàm liên thuộc dạng tam giác và hình thang trên miền xác định của gocthuc và DeltaPWM.
      • Bước 3: Xây dựng tập luật hợp thành: Các mệnh đề điều kiện dạng Nếu gocthuc là $A_i$ thì DeltaPWM là $B_i$ dựa trên kinh nghiệm điều khiển lái thực nghiệm.
      • Bước 4: Thiết bị hợp thành: Áp dụng luật hợp thành Sum-Min.
      • Bước 5: Giải mờ: Sử dụng phương pháp giải mờ điểm trọng tâm (Center of Gravity) để tính toán giá trị rõ $y_0$ cấp cho bộ điều khiển servo.
  3. Thuật toán phát hiện và điều khiển tránh vật cản (Obstacle Avoidance):

    • Camera kết hợp với giải thuật lọc màu để xác định vùng ảnh chứa vật thể chướng ngại; cảm biến siêu âm liên tục quét đo khoảng cách an toàn.
    • Thuật toán phân loại 3 trường hợp vị trí vật thể trên sa hình:
      • Vật cản nằm bên trái đường: Hệ thống tính toán dời tâm đường mục tiêu mới lệch sang bên phải để xe lách qua.
      • Vật cản nằm bên phải đường: Hệ thống dời tâm đường mục tiêu mới lệch sang bên trái.
      • Vật cản nằm chính giữa đường: Hệ thống tính toán khoảng trống hai bên để thiết lập quỹ đạo tránh an toàn tối ưu.

Nội dung chính theo từng chương

Chương 1: TỔNG QUAN VỀ XE TỰ HÀNH VÀ BÀI TOÁN ĐIỀU KHIỂN XE TỰ HÀNH

  • Nội dung lý luận và tổng quan: Định nghĩa xe tự hành là phương tiện có khả năng cảm nhận môi trường và tự điều hướng di chuyển mà không cần sự can thiệp của con người. Trình bày lịch sử phát triển từ những năm 1920, các dự án tiền đề thập niên 1980 như ALV của Đại học Carnegie Mellon (1984), dự án Prometheus EUREKA của Mercedes-Benz và Đại học Munich (1987), thử nghiệm xe BRAiVE của VisLab (2013).
  • Ưu và nhược điểm: Đánh giá các lợi ích về an toàn, giảm tải người lái, hỗ trợ người khuyết tật/người già, thay đổi thiết kế nội thất xe thành không gian sinh hoạt; phân tích các rào cản về cơ sở hạ tầng, chi phí đầu tư, phụ thuộc thời tiết và khung pháp lý phân định trách nhiệm tai nạn.
  • Dự báo xu thế: Dự báo giai đoạn 2021 có khoảng 10 mẫu xe tự hành thương mại tích hợp giao tiếp V2V (Vehicle-to-Vehicle) và điện toán đám mây; mốc 2026 xe tự hành hoàn toàn sẽ phổ biến cùng hệ thống pháp lý hoàn chỉnh.
  • Tình hình nghiên cứu thế giới và trong nước:
    • Thế giới: Phân tích chi tiết 6 cấp độ tự hành theo chuẩn SAE (Level 0 đến Level 5); điểm qua các tiến bộ công nghệ của Audi (Audi A7 tự lái 885 km năm 2016), Mercedes-Benz (Daimler), Apple (Project Titan), General Motors, Ford, Nissan và Toyota (dự án Lexus tự lái phục vụ Olympics Tokyo 2020).
    • Việt Nam: Hoạt động nghiên cứu của FPT Software với cuộc thi "Cuộc đua số" (2/11/2016), hội thảo ô tô và robot (15/4/2017) và mô hình thử nghiệm tự hành có khả năng leo dốc $45^\circ$, lội nước ngập $10\text{ cm}$.
  • Đặt bài toán: Xác lập 9 mục tiêu, 4 phương pháp nghiên cứu và định hình mô hình điều khiển thực nghiệm trên vi xử lý Raspberry Pi 3.

Chương 2: CƠ SỞ XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO XE TỰ HÀNH

  • Cơ sở phần mềm và thư viện: Tổng quan cấu trúc module của OpenCV (Core, Imgproc, Video, Calib3d, Features2d, Objdetect, Highgui, Gpu). Hướng dẫn thư viện wiringPi, chi tiết 4 hàm khởi tạo truy cập phần cứng GPIO: wiringPiSetup(), wiringPiSetupGpio(), wiringPiSetupPhys(), wiringPiSetupSys().
  • Lý thuyết điều khiển mờ chuyên sâu:
    • Lịch sử từ công bố năm 1965 của Lotfi Zadeh, ứng dụng đầu tiên của Mamdani tại Anh (điều khiển máy hơi nước thập niên 1970), Hans Zimmermann tại Đức, các ứng dụng công nghiệp tại Nhật Bản (nhà máy lọc nước Fuji Electric 1983, tàu điện ngầm Hitachi 1987, Omron với 350 bằng sáng chế).
    • Khái niệm tập mờ, hàm liên thuộc (tam giác, hình thang, Gauss, Sign, hình chuông).
    • Phân loại cấu trúc mệnh đề hợp thành (SISO, MISO, MIMO), quy tắc Mamdani (công thức MIN và PROD).
    • Phương pháp giải mờ cực đại (nguyên lý trung bình, cận trái, cận phải) và phương pháp điểm trọng tâm theo quy tắc Sum-Min.
    • Chu trình 5 bước thiết kế bộ điều khiển mờ (Định nghĩa biến ngôn ngữ $\to$ Mờ hóa $\to$ Xây dựng luật $\to$ Chọn thiết bị hợp thành/giải mờ $\to$ Giải mờ và tối ưu hóa).

Chương 3: XÂY DỰNG MÔ HÌNH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO XE TỰ HÀNH

  • Thiết kế phần cứng: Xây dựng sơ đồ khối và sơ đồ kết nối chân giữa Raspberry Pi, vi điều khiển Arduino Uno R3, Camera Pi V2, cảm biến HC-SR04, mạch L298N, Servo MG996R, mạch LM2596 và khối nguồn Pin 3S.
  • Chi tiết thông số linh kiện: Trình bày chi tiết cấu hình phần cứng Raspberry Pi 3 Model B, chức năng 40 chân GPIO; nguyên lý đo khoảng cách bằng xung $5\ \mu\text{s}$ của HC-SR04; sơ đồ chân và công suất mạch cầu H L298N; nguyên lý điều khiển servo MG996R bằng chu kỳ PWM $20\text{ ms}$ ($1\text{ ms} - 2\text{ ms}$).
  • Thuật toán phần mềm:
    • Quy trình xử lý ảnh bám đường với 10 trạng thái vị trí xe và biên làn đường.
    • Cài đặt bộ điều khiển mờ bám đường với biến ngôn ngữ gocthuc và DeltaPWM, ứng dụng giải mờ điểm trọng tâm cho luật Sum-Min (với giá trị thực nghiệm minh họa gocthuc = 26,25).
    • Thuật toán định vị vật cản qua lọc màu ảnh và tính toán tái lập tâm đường cho 3 vị trí vật cản (trái, phải, giữa).
  • Thử nghiệm và đánh giá: Vận hành mô hình thực nghiệm trên sa hình để đánh giá độ ổn định của giải thuật bám vạch và độ chính xác khi tránh chướng ngại vật.

Chương 4: KẾT LUẬN CHUNG

  • Tổng kết toàn bộ quá trình nghiên cứu lý thuyết, thiết kế phần cứng và lập trình hệ thống.
  • Khái quát mức độ hoàn thành so với các mục tiêu nghiên cứu đã đề ra ban đầu.

Kết quả và đóng góp

Kết quả đạt được

  • Chế tạo hoàn chỉnh mô hình phần cứng: Tích hợp thành công máy tính nhúng Raspberry Pi, Camera Pi V2 8MP, cảm biến siêu âm HC-SR04, mạch công suất L298N và cơ cấu lái servo MG996R trên khung gầm xe mô hình hoạt động ổn định với nguồn cấp Pin 3S 12V qua mạch hạ áp LM2596.
  • Xây dựng giải thuật xử lý ảnh phân luồng: Xử lý và phân loại thành công 10 kịch bản lệch làn và mất vạch đường trên sa hình thông qua thư viện OpenCV; trích xuất chính xác tọa độ tâm đường phục vụ điều khiển.
  • Ứng dụng thành công giải thuật điều khiển mờ (FLC): Xây dựng bộ điều khiển mờ với 2 biến ngôn ngữ chính (gocthuc và DeltaPWM), áp dụng luật hợp thành Sum-Min và phương pháp giải mờ trọng tâm, giúp xe chuyển hướng mượt mà, hạn chế rung giật so với các thuật toán đóng/cắt ON-OFF truyền thống.
  • Thực thi cơ chế tránh vật cản đa kịch bản: Kết hợp dữ liệu thị giác lọc màu từ camera và khoảng cách đo từ cảm biến siêu âm ($2\text{ cm} - 45\text{ cm}$) để tái lập tâm đường mục tiêu mới trong cả 3 tình huống chướng ngại vật (nằm bên trái, bên phải và chính giữa làn đường).

Đóng góp của đề tài

  • Hệ thống hóa đầy đủ cơ sở lý thuyết từ phân cấp xe tự hành SAE, kỹ thuật xử lý ảnh OpenCV trên nền tảng Linux ARM đến toán học điều khiển logic mờ Mamdani.
  • Đưa ra sơ đồ thiết kế kết nối phần cứng và giải pháp tích hợp phần mềm mã nguồn mở (OpenCV và wiringPi) khả thi, chi phí thấp, phục vụ hiệu quả cho công tác nghiên cứu và đào tạo thực hành trong lĩnh vực xe tự hành quy mô phòng thí nghiệm.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Mô hình thử nghiệm giới hạn trên sa hình nhân tạo với độ tương phản vạch kẻ đường cố định; khả năng nhận diện dễ bị ảnh hưởng khi điều kiện chiếu sáng môi trường thay đổi đột ngột.
  • Cảm biến siêu âm HC-SR04 có góc quét hẹp và cự ly đo tối đa $45\text{ cm}$, giới hạn khả năng phát hiện sớm các chướng ngại vật ở tốc độ cao.
  • Cơ cấu lái sử dụng động cơ servo bánh răng nhựa MG996R bị giới hạn về dải góc quay ($0^\circ - 90^\circ$), độ mượt và độ bền cơ học khi vận hành liên tục.
  • Hệ thống chưa xử lý triệt để các tình huống sa hình phức tạp khi cả hai vạch đường đồng thời bị mất hoàn toàn trong thời gian dài.

Hướng nghiên cứu tiếp

  • Tối ưu hóa thuật toán xử lý ảnh OpenCV bằng các bộ lọc thích nghi để tăng độ chính xác trong điều kiện ánh sáng biến thiên hoặc mặt đường gồ ghề.
  • Nâng cấp phần cứng cảm biến sang dòng Lidar quang học hoặc cảm biến siêu âm đa kênh để mở rộng tầm quét và góc phát hiện chướng ngại vật.
  • Tích hợp thêm các bộ điều khiển phản hồi vòng kín (kết hợp Fuzzy-PID) để tối ưu hóa đồng thời cả vòng điều khiển tốc độ và góc bẻ lái.
  • Thử nghiệm trên các địa hình phức tạp hơn và mở rộng sang bài toán nhận diện biển báo giao thông thời gian thực.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo kỹ thuật hữu ích cho:

  • Sinh viên và giảng viên chuyên ngành: Công nghệ Kỹ thuật Ô tô, Cơ điện tử, Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Máy tính đang thực hiện các đề tài về xe tự hành, robot di động (AGV) và hệ thống hỗ trợ người lái (ADAS).
  • Phần nội dung giá trị nhất để tham khảo:
    • Tài liệu tổng quan lý thuyết và các bước thiết kế chi tiết bộ điều khiển mờ (Chương 2).
    • Bảng tra cứu đấu nối chân phần cứng GPIO giữa Raspberry Pi, Arduino, L298 và Servo (Mục 3.1).
    • Thuật toán phân loại 10 trường hợp bám làn đường bằng OpenCV và phương pháp dời tâm đường tránh vật cản (Chương 3).

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

1. Đồ án sử dụng phần cứng nào làm bộ xử lý trung tâm và kiểm soát cơ cấu lái?

Khối xử lý trung tâm của mô hình sử dụng máy tính nhúng Raspberry Pi (Raspberry Pi 3 Model B trang bị chip BCM2837 1.2 GHz, RAM 1 GB / Raspberry Pi 4) để xử lý ảnh OpenCV, tính toán tâm đường và thực thi giải thuật mờ; kết hợp với vi điều khiển Arduino Uno R3 và động cơ servo MG996R để điều khiển cơ cấu bẻ lái bánh trước.

2. Thư viện phần mềm nào được sử dụng để lập trình xử lý ảnh và điều khiển chân GPIO?

Hệ thống sử dụng thư viện thị giác máy tính OpenCV (các module Core, Imgproc, Highgui,...) để nhận diện vạch làn đường/vật cản và thư viện wiringPi (ngôn ngữ C/C++) để quản lý, xuất tín hiệu PWM và giao tiếp với 40 chân GPIO của Raspberry Pi.

3. Bộ điều khiển mờ (FLC) trên xe được thiết kế với các biến vào/ra và phương pháp giải mờ nào?

Bộ điều khiển mờ sử dụng biến ngôn ngữ đầu vào là góc lệch thực tế của xe so với tâm đường (gocthuc), biến ngôn ngữ đầu ra là độ thay đổi độ rộng xung điều khiển cơ cấu lái (DeltaPWM). Hệ thống áp dụng quy tắc suy diễn mờ Sum-Min và giải mờ theo phương pháp điểm trọng tâm (Center of Gravity) để xác định góc lái chính xác.

4. Hệ thống nhận diện và xử lý bao nhiêu trường hợp vị trí vạch kẻ làn đường?

Thuật toán xử lý ảnh phân loại và xử lý 10 trường hợp vị trí xe so với vạch làn: xe nằm giữa hai vạch, xe nằm ngoài bên phải cả hai vạch, xe lệch phải một vạch, xe nằm ngoài bên trái cả hai vạch, xe lệch trái một vạch, xe ở giữa nhưng mất vạch phải, xe lệch phải và mất vạch phải, xe ở giữa nhưng mất vạch trái, xe lệch trái và mất vạch trái, và xe mất hoàn toàn cả hai vạch.

5. Cơ chế tránh vật cản của xe được thực hiện như thế nào khi phát hiện chướng ngại vật?

Khi cảm biến siêu âm HC-SR04 và camera phát hiện vật cản trong cự ly an toàn (dải đo $2\text{ cm} - 45\text{ cm}$), hệ thống xác định vị trí vật cản (nằm bên trái, bên phải hoặc ở giữa đường) và tính toán thiết lập lại một "tâm đường mới" tương ứng để điều khiển cơ cấu servo bẻ lái cho xe lách qua an toàn.


Kết luận

Đồ án tốt nghiệp đã nghiên cứu và triển khai thực nghiệm thành công hệ thống điều khiển bám đường và tránh vật cản cho xe tự hành quy mô nhỏ trên nền tảng máy tính nhúng Raspberry Pi. Bằng việc kết hợp hiệu quả thư viện thị giác máy tính OpenCV để nhận diện 10 trạng thái làn đường và logic mờ Mamdani (luật Sum-Min, giải mờ trọng tâm) để điều khiển góc lái, mô hình xe vận hành ổn định trên sa hình thực nghiệm. Công trình cung cấp một giải pháp kỹ thuật hoàn chỉnh, có tính ứng dụng thực tiễn cao trong giảng dạy và nghiên cứu phát triển phương tiện tự hành.