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.