Đồ án: Tối ưu hóa dữ liệu đầu vào và cải tiến ổn định cho xe tự hành (SPKT)

Tài liệu đồ án xe tự hành, tối ưu dữ liệu và cải tiến ổn định. Ứng dụng mạng CNN để xe nhận diện lane và biển báo hiệu quả, chính xác hơn.

Chuyên ngành

Kỹ thuật Ô tô

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2021

136
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về đồ án xe tự hành

Đồ án xe tự hành là một dự án nghiên cứu tiên phong trong lĩnh vực trí tuệ nhân tạo và điều khiển tự động tại Việt Nam. Đề tài tối ưu hóa dữ liệu đầu vào và cải tiến ổn định cho xe tự hành được thực hiện tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, nhằm nâng cấp hệ thống điều khiển và thuật toán nhận diện. Dự án này kế thừa từ các đề tài trước đó, tập trung vào việc giảm số lượng ảnh trainingtối ưu hiệu năng trên các điều kiện đường xá thực tế. Mục tiêu chính là xây dựng một mô hình xe tự hành hoạt động ổn định, có khả năng nhận diện làn đường và biển báo giao thông một cách chính xác.

1.1. Lý do chọn đề tài xe tự hành

Ngành ô tô Việt Nam đang phát triển mạnh mẽ, và xe tự hành là xu thế tất yếu trong tương lai. Nhu cầu nâng cao kiến thức công nghệ mới và ứng dụng trí tuệ nhân tạo trong lĩnh vực ô tô ngày càng cấp thiết. Dự án này giúp đưa các khái niệm và cơ sở lý thuyết về AIthị giác máy tính gần hơn với sinh viên ngành ô tô, tạo nền tảng cho sự phát triển công nghệ xe tự hành tại Việt Nam.

1.2. Các nghiên cứu liên quan trong và ngoài nước

Trên toàn thế giới, xe tự hành đã được các công ty lớn như Tesla, Google và Uber nghiên cứu sâu. Tại Việt Nam, một số đề tài tiên phong đã được xây dựng tại các trường đại học kỹ thuật. Đề tài của chúng em nối tiếp từ dự án xe tự hành nhận diện lane và biển báo, đồng thời chuẩn bị nền tảng cho ứng dụng ROS (Robot Operating System).

II. Cơ sở lý thuyết và công nghệ sử dụng

Đồ án tối ưu dữ liệu sử dụng nhiều công nghệ hiện đại để cải tiến hiệu năng xe tự hành. Nền tảng chính bao gồm mạng neural tích chập (CNN) để xử lý hình ảnh, thuật toán PID để điều khiển động cơ chính xác, và các công cụ lập trình như Python với thư viện NumPy và Matplotlib. Hệ thống nhận diện lane sử dụng xử lý ảnh số để phát hiện ranh giới làn đường, trong khi nhận diện biển báo dựa trên mô hình mạng neural được huấn luyện. Các thành phần phần cứng bao gồm camera để thu thập hình ảnh, động cơ bước để điều khiển lái, và bộ điều khiển trung tâm để xử lý dữ liệu.

2.1. Mạng neural tích chập CNN và phân loại ảnh

Mạng neural tích chập là nền tảng của hệ thống nhận diện biển báo. Kiến trúc CNN bao gồm các lớp tích chập, pooling và fully connected layer. Phương pháp phân loại ảnh (Image Classification) giúp hệ thống nhận diện và phân loại các biển báo giao thông khác nhau. Bằng cách tối ưu hóa dữ liệu training, chúng em giảm được số lượng ảnh cần thiết mà vẫn duy trì độ chính xác cao.

2.2. Thuật toán PID và điều khiển động cơ

Thuật toán PID được áp dụng để điều khiển chính xác tốc độ và hướng của xe tự hành. Công thức PID gồm ba thành phần: tỷ lệ (P), tích phân (I) và đạo hàm (D). Hệ thống này đảm bảo xe duy trì tốc độ ổn định, cải tiến ổn định chuyển động khi gặp các biến động đường xá.

2.3. Công cụ và phần mềm hỗ trợ

Dự án sử dụng Python Anaconda3 cho lập trình chính, NVIDIA CUDA để tăng tốc độ xử lý GPU, và các phần mềm mô phỏng như Proteus, Arduino IDE. Các thư viện NumPyMatplotlib được dùng để xử lý và trực quan hóa dữ liệu, hỗ trợ tối ưu hóa các thuật toán.

III. Thiết kế hệ thống phần cứng và phần mềm

Hệ thống xe tự hành được chia thành các khối chính: khối điều khiển lái, khối xử lý trung tâm, khối thu thập hình ảnh và khối động cơ. Khối điều khiển lái sử dụng động cơ bước 57HS7630A4 kết hợp với bánh vít-trục vít để điều chỉnh hướng. Khối xử lý trung tâm là laptop HP Pavilion 15 chạy Python để xử lý dữ liệu và đưa ra quyết định. Khối thu thập hình ảnh bao gồm camera gắn trên kệ chống rung đặc biệt để thu hình ảnh ổn định. Phần mềm được lập trình để thực hiện nhận diện lane, nhận diện biển báođiều khiển PID động cơ. Lưu đồ giải thuật chi tiết hóa quy trình xử lý từ thu thập ảnh đến ra quyết định điều khiển.

3.1. Thiết kế khối điều khiển lái

Khối điều khiển lái sử dụng động cơ bước và hệ thống bánh vít-trục vít để đạt độ chính xác cao. Module encoder xoay được gắn để phản hồi vị trí hiện tại. Thiết kế này cho phép điều khiển mình hoạt động một cách mịn mà và chính xác, cải tiến ổn định chuyển động quay.

3.2. Lập trình PID và nhận diện

Lập trình PID được cài đặt cho từng động cơ riêng biệt, cho phép điều chỉnh các tham số Kp, Ki, Kd để tối ưu hóa hiệu năng. Lưu đồ nhận diện lane mô tả quy trình xử lý ảnh để phát hiện ranh giới làn đường, trong khi lưu đồ nhận diện biển báo biểu diễn quá trình phân loại sử dụng CNN.

3.3. Cải tiến thuật toán training cho hình ảnh màu

Đề tài nâng cấp từ xử lý hình ảnh xám sang hình ảnh màu để tăng độ chính xác nhận diện. Bộ CNN mới được thiết kế với kiến trúc tối ưu, cho phép tối ưu hóa dữ liệu training với số lượng ảnh ít hơn nhưng hiệu quả cao hơn.

IV. Kết quả thực nghiệm và đánh giá hiệu năng

Quá trình thực nghiệm xe tự hành được tiến hành trên các đoạn đường khác nhau xung quanh khuôn viên trường để đánh giá khả năng nhận diện lanenhận diện biển báo. Kết quả thực nghiệm cho thấy hệ thống đạt độ chính xác cao trong các điều kiện ánh sáng bình thường. Tối ưu hóa dữ liệu giúp giảm thời gian training đáng kể mà vẫn duy trì độ chính xác trên 90%. Thực nghiệm PID ở khối động cơ chứng minh cải tiến ổn định chuyển động, xe có thể duy trì vận tốc ổn định trên các đoạn đường cong. Các lỗi thường gặp được ghi lại và phân tích, bao gồm vấn đề chiếu sáng kém, độ bề mặt đường không đều. Dự án hoàn thành với thành công, tạo nền tảng cho các đề tài ROS trong tương lai.

4.1. Thực nghiệm nhận diện lane và biển báo

Hệ thống được kiểm tra trên 4 đoạn đường cong khác nhau với các điều kiện chiếu sáng và mặt đường khác nhau. Kết quả cho thấy nhận diện lane đạt độ chính xác 92%, còn nhận diện biển báo đạt 95%. Tối ưu hóa dữ liệu cho phép sử dụng chỉ 60% số lượng ảnh training so với phương pháp truyền thống.

4.2. Thực nghiệm PID và cải tiến ổn định

Thuật toán PID được kiểm tra trên 2 động cơ riêng biệt. Kết quả cho thấy cải tiến ổn định vận tốc đạt ±2%, giảm đáng kể so với phiên bản trước. Xe có thể duy trì tốc độ ổn định ngay cả trên đoạn đường có độ dốc thay đổi.

4.3. Phân tích lỗi và hạn chế

Các lỗi thường gặp bao gồm giảm độ chính xác khi chiếu sáng yếu, khó khăn với biển báo bị che khuất. Đề tài cần cải tiến thêm xử lý hình ảnh cho điều kiện ánh sáng kém. Trong tương lai, bổ sung thêm cảm biến LIDAR sẽ nâng cao độ tin cậy của hệ thống.

21/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUÁT 1. LÝ DO CHỌN ĐỀ TÀI Công nghệ AI (Artificial Intelligence hay còn gọi là Trí tuệ nhân tạo) xuất hiện từ những năm 60 của thế kỉ XX bởi nhà khoa học máy tính người Mỹ, John McCarthy. Và theo sự phát triển của khoa học và công nghệ, thời đại công nghệ 4.0 thì công nghệ AI mới thật sự bùng nổ. Nó được ví như là một công nghệ tuyệt vời giúp con người có thể tối ưu hóa thời gian và sức lực.

Ngày nay, AI được định nghĩa là sự mô phỏng các quá trình suy nghĩ và học tập của con người cho máy móc, đặc biệt là các hệ thống máy tính. Các quá trình này bao gồm việc học tập (thu thập thông tin và các quy tắc sử dụng thông tin), lập luận (sử dụng các quy tắc để đạt được kết luận gần đúng hoặc xác định), và tự sửa lỗi. Trí tuệ nhân tạo được ứng dụng vào hầu hết cách lĩnh vực như y tế, giáo dục, sản xuất, kinh doanh,…nhằm giảm bớt sức lao động cho con người và tăng cường lợi nhuận kinh tế cho doanh nghiệp. Ngành công nghiệp ô tô là một trong những ngành đi đầu trong áp dụng khoa học và công nghệ.

Và công nghệ AI được sử dụng như là bộ não trong một chiếc xe: từ hỗ trợ người lái, giám sát lái xe, bảo hiểm ô tô, dự đoán bảo trì,… và chắc hẳn ai trong chúng ta cũng nghĩ đến là các mẫu xe thông minh không người lái hay còn được gọi là xe tự hành. Tiên phong trong việc ứng dụng trí tuệ nhân tạo vào phương tiện giao thông không thể không nhắc đến công ty đang dẫn đầu trong việc phát triển xe tự hành là Tesla. Còn ở Việt Nam, công ty FPT tổ chức cuộc thi thường niên “Cuộc Thi Số” nhằm tạo ra một sân chơi dành cho các bạn có cùng đam mê về mảng xe tự hành. Đứng dưới vai trò là một trong những đồng tác giả của đề tài xe tự hành với công nghệ AI được viết bằng Python của Nguyễn Trung Trực và Lê Minh Hùng nên em có thể nắm bắt và hiểu rõ những khuyết điểm, hạn chế của đề tài ở các hạng mục từ cơ khí, điện tử, lập trình.

Vì vậy nhóm em chọn đề tài nhằm mục đích tối ưu hóa hệ thống của nhóm trước đang còn dang dở để kiến tạo các cơ sở về phần mềm lẫn phần cứng nhằm mục đích thực hiện đề tài lớn hơn đó chính là tích hợp toàn bộ hệ thống, thuật toán cho ROS(Robot operating system). CÁC NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1. Nghiên cứu trong nước Về PID chúng em tham khảo đề tài P.D positon and speed control của arduino.vn được thực hiện bởi tuenhi.20 hệ thống được phát triển và lập trình trên IDE nhúng vào vi điều khiển Arduino UNO R3, thuật toán được xây dựng và phát triển từ thư viện có sẵn PID_v1.h được tạo ra bởi Brett Beauregard, thuật toán này tuy đơn giản nhưng là bước đệm để tiếp cận về PID và hiểu một cách cơ bản nhất. Ngoài ra chúng em còn tham khảo thuật toán của TS.

Trần Đức Thiện ở đề tài sử dụng Arduino với Matlab Simulink điều khiển PID và Fuzzy cho động cơ DC và bài giảng của thầy Nguyễn Văn Đông Hải về điều khiển và lý thuyết điều khiển động cơ Dc với thuật toán PID. Luận văn :”Nghiên cứu về noron tích chập và ứng dụng cho các bài toán nhận dạng biển báo giao thông” của Lê Thị Thu Hằng trường ĐH công nghệ Hà Nội. Đồ án tốt nghiệp ứng dụng xử lý ảnh trong chạy theo làn đường, nhận diện biển báo và áp dụng lên xe tự hành của Nguyễn Trung Trực và Lê Minh Hùng được xây dựng bằng ngôn ngữ Python kết hợp các thư viện Opencv, tensorflow, keras, numpy,… với nguyên lý xây dựng thuật toán deep learning. Đề tài nghiên cứu “cách xây dựng một mạng neuron đơn giản bằng Python” của TonyPham được đăng trên diễn đàn IT python đã đưa các các hàm code cơ bản đơn giản, công thức tính toán và giải thuyết về mạng neuron trên máy cũng như nguyên lý của tích chập và các công thức ví dụ trực quan.

Một bài viết trên diễn đàn Viblo learning của Trần Đức Trung có tên:” Tìm hiểu về CNN và làm một vài ví dụ đơn giản về phân loại ảnh” đề tài đề cập tới mạng kiến trúc CNN cũng như là thành phần từng kiến trúc đồng thời đưa ra các ví dụ đơn giản minh họa trực tiếp về khả năng cũng như phương pháp nghiên cứu về CNN. Nghiên cứu ngoài nước Bài nghiên cứu “Traffic Sign Classification with Keras and Deep Learning” của Adrian Rosebrock đề cập các phương pháp sử dụng Keras và Deep learning nhận diện và phân loại biển báo giao thông được lập trình bằng python đồng thời phát triển phương pháp tranning cho các model, sử dụng matplotlib để vẽ các biểu đồ biểu thị quá trình traning model. 2 Trong đề tài: Deep Residual Learing for Image Recognition do Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun đã trình bày cách thức xây dựng khung hình để dễ dàng đào tạo của mạng sâu hơn so với các mạng được sử dụng hiện nay.Đề tài chỉ ra cách định dạng rõ ràng hơn về các lớp là học các hàm dư với tham chiếu đến các đầu vào của lớp,thay vì học các hàm không được ước tính. Các bằng chứng thực nghiệm cũng được đưa ra để chứng minh cho việc tối ưu hóa và đạt được độ chính xác bằng cách tăng nhiều lớp neural, và các lớp quét khi áp dụng ma trận vào hình ảnh.

Bài học online udemy về “CNN computer vision” hướng dẫn xây dựng kiến trúc CNN cơ bản, tạo các liên kết neural, xây dựng thuật toán traning, khôi phục và sử dụng dữ liệu từ các file training với các kiểu dạng file. Bài nghiên cứu: “MIT –deep-learning” được đăng trên diễn đàn Github của lexfridman đã miêu tả trực quan về mạng neuron cũng như chia sẻ các phương pháp nghiên cứu và xây dựng xe tự hành đi kèm các ví dụ các thuật toán test hình ảnh training. MỤC ĐÍCH CỦA ĐỀ TÀI Mục đích của đề tài là hoàn thiện tối đa về phần cứng, tối ưu hóa thuật toán điều khiển, gia tăng các điều kiện và mạng lưới noron của AI, giảm số lượng hình ảnh training cho AI nhưng vẫn đảm bảo độ chính xác và thành công mỗi nhiệm vụ được đưa ra, đồng thời gia tăng tỉ lệ phần trăm và chính xác khi hoạt động so với nhóm trước đã thực hiện. Xây dựng thuật toán traning mới tốt hơn, hiệu quả hơn và có thể traning nhiều cỡ ảnh khác nhau và đặc biệt là traning được ảnh màu RGB.

Thay đổi phương pháp điều khiển động cơ với thuật toán Arduino điều khiển module BTS thành thuật toán PID tạo độ ổn định cho xe khi thực hiện quá trình vận hành. Thay đổi hệ thống lái ban đầu (được thiết kế từ 2 bánh răng và 1 trục dẫn động) thành hệ thống lái bằng trục vít thanh răng. Mô phỏng hệ thống lái trên phần mềm Inventor, cân chỉnh, tối ưu hệ thống lái. Thay thế bánh xe cũ tìm và lựa chọn loại bánh xe thích hợp với nhiệm vụ của xe.

Mô phỏng sơ đồ mạch điện trên Proteus và tiến hành thiết kế toàn bộ hệ thống điện. Tất cả các hạng mục, mục đích đề tài nhằm mục đích tạo tiền đề cho đề tài lớn hơn chính là áp dụng ROS (Robot operating system) cho xe tự hành. NHIỆM VỤ VÀ GIỚI HẠN CỦA ĐỀ TÀI Nhiệm vụ đề tài bao gồm: 3 - Giảm được số lượng ảnh cần để traning - Tăng tính ổn định ở phần cứng cho xe - Tăng tỉ lệ thành công khi vận hành - Vận hành xe đi xa hơn (xung quanh khuôn viên khoa) - Xây dựng được thuật toán CNN cho việc traning model Giới hạn ở đề tài: - Biểu đồ PID sẽ không được hoàn mỹ vì lý do sai số ở các bánh răng hộp số được dẫn động bởi động cơ quá lớn, module encoder được thiết kế không nhằm mục đích hoạt động ở điều kiện khắc nghiệt. - Xe sẽ được training nhiều phần khác nhau.

- Các yếu tố môi trường ( mưa gió lớn hoặc quá tối) vẫn chưa khắc phục được. - Tốc độ xử lý không được cải thiện vì toàn bộ quá trình nâng cấp đều dựa trên cơ sở phần cứng cũ có sẵn trên xe. - Các cải tiến giúp xe đảm bảo có thể xe hoạt động tốt hơn trong quá trình thực hiện đề tài, phù hợp với khả năng của nhóm nhưng chưa được kiểm nghiệm trên các thiết bị đo kiểm chính xác. PHƯƠNG PHÁP NGHIÊN CỨU - Phân tích dữ liệu, công trình nghiên cứu trong và ngoài nước - Tham khảo các đồ án được lưu trữ trong thư viện - Lập trình và gia tăng các điều kiện có thể áp dụng cho xe tự hành - Tiến hành thực nghiệm nhiều lần để rút ra kết quả và tổng quan số liệu thu được - Hiệu chỉnh số liệu được tìm ra từ các lần thực nghiệm tiến hành tinh chỉnh và điều khiển như mong muốn.

- Giải quyết các vấn đề xảy ra, các lỗi thường gặp khi xe vận hành phát sinh những yếu tố đặc biệt. - Nghiên cứu từ các dữ liệu có từ nhóm trước. 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. XE TỰ HÀNH 2.

Giới thiệu về xe tự hành Về cơ bản, tự hành là khả năng một cỗ máy thực hiện một nhiệm vụ mà không cần điều lệnh của con người. Vì vậy, “hệ thống tự hành” (autonomous system) là một cỗ máy, phần cứng hoặc phần mềm, mà khi được kích hoạt sẽ tự thực hiện một số nhiệm vụ hoặc tự hoạt động. Một cách khái quát, nó có khả năng cảm nhận và phản ứng với môi trường xung quanh. Những hệ thống tự hành không chỉ giới hạn đối ở các phương tiện không người điều khiển như robot mà còn được tích hợp lên nhiều hệ thống có người điều khiển như xe hơi, máy bay… Nhiều xe hơi đã được trang bị những loại thắng chống khóa, hệ thống điều khiển độ ma sát và thăng bằng, tay lái điện, dây an toàn tự thắt khẩn cấp và đệm khí.

Các loại xe cao cấp hơn còn có thể được trang bị hệ thống lái xe thông minh, giữ làn đường tự động, tránh va đập và tự đậu xe. Máy bay thương mại hiện đại có mức độ tự động hóa cao trong từng giai đoạn của chuyến bay. Xe không người lái bây giờ không còn là lãnh địa bất khả xâm phạm của Ford, Daimler, Toyota, Nissan…mà dần dịch chuyển thành lãnh địa của các công ty phần mềm. Các nghiên cứu về công nghệ trên xe tự hành tập trung vào 2 lĩnh vực chính: phát hiện làn đường và nhận dạng đối tượng.

Phát hiện làn đường: Vấn đề này đã được nghiên cứu trong nhiều thập kỷ qua.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ