TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ ĐỘNG LỰC
ĐỒ ÁN TỐT NGHIỆP
TỐI ƯU HĨA DỮ LIỆU ĐẦU VÀO VÀ CẢI TIẾN TÍNH
ỔN ĐỊNH CHO XE TỰ HÀNH
SVTH: TRƯƠNG ĐÌNH PHÚC
MSSV: 16145599
SVTH: PHẠM HÀ VĨ
MSSV: 16145577
GVHD: Th.S NGUYỄN THÀNH TUYÊN
Tp. Hồ Chí Minh, ngày 25 tháng 1 năm 2021
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ ĐỘNG LỰC
ĐỒ ÁN TỐT NGHIỆP
Chuyên ngành: Cơng nghệ Kỹ thuật Ơ tơ
Tên đề tài:
TỐI ƯU HĨA DỮ LIỆU ĐẦU VÀO VÀ CẢI TIẾN TÍNH
ỔN ĐỊNH CHO XE TỰ HÀNH
SVTH: TRƯƠNG ĐÌNH PHÚC
MSSV: 16145599
SVTH: PHẠM HÀ VĨ
MSSV: 16145577
GVHD: Th.S NGUYỄN THÀNH TUYÊN
Tp. Hồ Chí Minh, ngày 25 tháng 1 năm 2021
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT
TP. HỒ CHÍ MINH
KHOA CƠ KHÍ ĐỘNG LỰC
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
TP. Hồ Chí Minh, ngày ….. tháng ..… năm ……
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên:
1. Trương Đình Phúc
MSSV: 16145599
(E-mail:
2. Phạm Hà Vĩ
Điện thoại:0354502227)
MSSV: 16145577
(E-mail:
Lớp: 161452A
Lớp: 161451B
Điện thoại:0338785311 )
Ngành: Công Nghệ Kỹ Thuật Ơ Tơ
Khóa: 2016
1. Tên đề tài
Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành
2. Nhiệm vụ đề tài
- 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 khn viên khoa)
- Xây dựng được thuật tốn CNN cho việc traning model
3. Sản phẩm của đề tài
-
1 cuốn thuyết minh đề tài
-
1 file thuyết minh đề tài
-
1 mơ hình xe thực hiện đề tài
4. Ngày giao nhiệm vụ đề tài: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5. Ngày hoàn thành nhiệm vụ: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TRƯỞNG BỘ MÔN
CÁN BỘ HƯỚNG DẪN
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP. HCM
KHOA CƠ KHÍ ĐỘNG LỰC
Bộ mơn Điện - Điện tử
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
PHIẾU NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
(Dành cho giảng viên hướng dẫn)
Họ và tên sinh viên: Trương Đình Phúc MSSV: 16145599
Họ và tên sinh viên: Phạm Hà Vĩ
MSSV: 16145577
Tên đề tài: Tối ưu hóa dữ kiệu đầu vào và cải thiện tính ổn định cho xe tự hành
Ngành đào tạo: Cơng nghệ Kỹ Thuật Ơ Tơ
Họ và tên GV hướng dẫn: Ths. Nguyễn Thành Tuyên
Ý KIẾN NHẬN XÉT
1. Nhận xét về tinh thần thái độ làm việc của sinh viên (không đánh máy)
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
2. Nhận xét về kết quả thực hiện của ĐATN (khơng đánh máy)
2.1. Kết cấu, cách thức trình bày ĐATN:
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
2.2. Nội dung đồ án:
(Cơ sở lý luận, tính thực tiễn và khả năng ứng dụng của đồ án, các hướng nghiên cứu có thể tiếp tục
phát triển)
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
2.3. Kết quả đạt được:
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
2.4. Những tồn tại (nếu có):
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
3. Đánh giá:
TT
1.
Điểm
tối đa
Mục đánh giá
Hình thức và kết cấu ĐATN
30
Đúng format với đầy đủ cả hình thức và nội dung của các mục
10
10
10
Mục tiêu, nhiệm vụ, tổng quan của đề tài
Tính cấp thiết của đề tài
2.
Điểm đạt
được
Nội dung ĐATN
50
Khả năng ứng dụng kiến thức toán học, khoa học và kỹ thuật, khoa
học xã hội…
5
Khả năng thực hiện/phân tích/tổng hợp/đánh giá
10
15
Khả năng thiết kế chế tạo một hệ thống, thành phần, hoặc quy trình
đáp ứng yêu cầu đưa ra với những ràng buộc thực tế.
Khả năng cải tiến và phát triển
15
Khả năng sử dụng công cụ kỹ thuật, phần mềm chuyên ngành…
5
3.
Đánh giá về khả năng ứng dụng của đề tài
10
4.
Sản phẩm cụ thể của ĐATN
10
Tổng điểm
100
4. Kết luận:
Được phép bảo vệ
Không được phép bảo vệ
TP. HCM, ngày
tháng năm 2021
Giảng viên hướng dẫn
(Ký, ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM
KHOA CƠ KHÍ ĐỘNG LỰC
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc
Bộ môn Điện – Điện tử
PHIẾU NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
(Dành cho giảng viên phản biện)
Họ và tên sinh viên: Trương Đình Phúc
MSSV: 16145599
Hội đồng…………
Họ và tên sinh viên: Phạm Hà Vĩ
MSSV: 16145577
Hội đồng…………
Tên đề tài: Tối ưu hóa dữ liệu đầu vào và cải thiện tính ổn định cho xe tự hành
Ngành đào tạo: Cơng Nghệ Kỹ Thuật Ơ Tơ
Họ và tên GV phản biện: (Mã GV) ..................................................................................................
Ý KIẾN NHẬN XÉT
1. Kết cấu, cách thức trình bày ĐATN:
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
2. Nội dung đồ án:
(Cơ sở lý luận, tính thực tiễn và khả năng ứng dụng của đồ án, các hướng nghiên cứu có thể tiếp tục phát triển)
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
3. Kết quả đạt được:
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
4. Những thiếu sót và tồn tại của ĐATN:
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
...................................................................................................................................................................................
5. Câu hỏi:
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
6. Đánh giá:
TT
1.
Mục đánh giá
Hình thức và kết cấu ĐATN
Đúng format với đầy đủ cả hình thức và nội dung của các mục
Mục tiêu, nhiệm vụ, tổng quan của đề tài
Tính cấp thiết của đề tài
2.
Nội dung ĐATN
Khả năng ứng dụng kiến thức toán học, khoa học và kỹ thuật, khoa
học xã hội…
Khả năng thực hiện/phân tích/tổng hợp/đánh giá
Khả năng thiết kế, chế tạo một hệ thống, thành phần, hoặc quy trình
đáp ứng yêu cầu đưa ra với những ràng buộc thực tế.
Khả năng cải tiến và phát triển
Khả năng sử dụng công cụ kỹ thuật, phần mềm chuyên ngành…
3.
4.
Đánh giá về khả năng ứng dụng của đề tài
Sản phẩm cụ thể của ĐATN
Tổng điểm
Điểm
tối đa
30
10
10
10
50
5
10
15
15
5
10
10
100
Điểm đạt
được
7. Kết luận:
Được phép bảo vệ
Không được phép bảo vệ
TP.HCM, ngày
tháng
năm 2021
Giảng viên phản biện
((Ký, ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ ĐỘNG LỰC
XÁC NHẬN HỒN THÀNH ĐỒ ÁN
Tên đề tài: TỐI ƯU HÓA DỮ LIỆU ĐẦU VÀO VÀ CẢI THIỆN TÍNH ỔN ĐỊNH CHO XE
TỰ HÀNH
Họ và tên sinh viên:
Trương Đình Phúc
MSSV: 16145599
Phạm Hà Vĩ
MSSV: 16145577
Ngành: Cơng Nghệ Kỹ Thuật Ơ Tơ
Sau khi tiếp thu và điều chỉnh theo góp ý của Giảng viên hướng dẫn, Giảng viên phản biện và
các thành viên trong Hội đồng bảo vệ. Đồ ấn tốt nghiệp đã được hoàn chỉnh đúng theo yêu
cầu về nội dung và hình thức.
Chủ tịch Hội đồng:
Giảng viên hướng dẫn:
Giảng viên phản biện:
Tp. Hồ Chí Minh, ngày
tháng
năm 2021
LỜI CẢM ƠN
Trong thời gian làm đề tài tốt nghiệp, nhóm chúng em đã nhận được nhiều sự giúp
đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cơ, gia đình và bạn bè.
Nhóm chúng em xin gửi lời cảm ơn chân thành đến Th.s Nguyễn Thành Tuyên,
giảng viên Bộ môn Điện-Điện tử - trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí
Minh người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện đề tài tốt
nghiệp.
Đồng thời cả nhóm cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại
Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh nói chung, các thầy trong Bộ mơn ĐiệnĐiện tử nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn
chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em
trong suốt quá trình học tập.
Cuối cùng chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều
kiện, quan tâm, giúp đỡ, động viên cả nhóm trong suốt q trình học tập, nghiên cứu và
hoàn thành đề tài tốt nghiệp.
TĨM TẮT
Đề 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.”
Đề tài được xây dựng trên nền tảng “Xe tự hành chạy theo lane và nhận diện biển
báo” của sinh viên Lê Minh Hùng, Nguyễn Trung Trực đề tài được nghiên cứu và chế tạo
tại trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Thời gian thực hiện
1/2020 đến 7/2020 là đề tài được ứng dụng vào thực tế. Đề tài của chúng em sẽ thay thế,
nâng cấp một số phần cứng, tối ưu thuật toán, giảm số lượng ảnh training trên đoạn đường
có khoảng cách tương tự, đồng thời đề tài sẽ mở rộng phạm vi hoạt động của xe so với đề
tài ban đầu, điều quan trọng nhất là cải tiến và thiết kế thuật toán traning với kiến trúc mạng
neural tích chập. Đề tài của chúng em sẽ nối tiếp đề tài đi trước và trở thành bước đệm cho
đề tài ROS (Robot operating system) cho xe tự hành.
Mục đích thứ hai của nhóm là thực hiện đề tài liên quan đến mảng trí tuệ nhân tạo,
thị giác máy tính trên xe tự hành nhằm đem khái niệm, cơ sở lý thuyết về trí tuệ nhân tạo
đến gần hơn với người học đặc biệt là sinh viên nghành ô tô trường chúng ta.
Là một kỹ sư ô tơ thì đam mê ơ tơ là chưa đủ,chúng ta phải ngày càng nâng cao kiến
thức,tìm tịi học hỏi những cơng nghệ mới trên thế giới hiện nay. Thì xe tự hành đang và
sẽ là xu thế tất yếu của ngành ô tô trong vài năm tới,nên việc nghiên cứu và xây dựng mơ
mình là điều cấp thiết hiện nay. Ngành ô tô Việt Nam đang ngày càng phát triển mạnh
mẽ,rất có tiềm năng trong tương lai,cộng thêm sự đam mê nghiên cứu ngày càng nhiều thì
chúng em tin rằng trong một tương lai khơng xa nữa thì ơ tơ tự hành ở Việt Nam khơng
cịn là một định nghĩa xa vời,mà thay vào đó là thực tế hiển nhiên.
Bởi các lý do nhận thấy ở trên,nên nhóm em đã quyết định và nghiên cứu đề 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”
ii
MỤC LỤC
LỜI CẢM ƠN ....................................................................................................................... i
TÓM TẮT ............................................................................................................................ii
MỤC LỤC ......................................................................................................................... iii
DANH MỤC CÁC HÌNH..................................................................................................vii
DANH MỤC CÁC BẢNG ................................................................................................. xi
CHƯƠNG 1: TỔNG QUÁT ................................................................................................ 1
1.1. LÝ DO CHỌN ĐỀ TÀI ............................................................................................ 1
1.2. CÁC NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC ................................................ 2
1.2.1. Nghiên cứu trong nước ................................................................................ 2
1.2.2. Nghiên cứu ngoài nước ................................................................................ 2
1.3. MỤC ĐÍCH CỦA ĐỀ TÀI ....................................................................................... 3
1.4. NHIỆM VỤ VÀ GIỚI HẠN CỦA ĐỀ TÀI ............................................................. 3
1.5. PHƯƠNG PHÁP NGHIÊN CỨU ............................................................................ 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .................................................................................... 5
2.1. XE TỰ HÀNH ......................................................................................................... 5
2.1.1. Giới thiệu về xe tự hành............................................................................... 5
2.1.2. Cấp độ xe tự hành ........................................................................................ 5
2.2. PHƯƠNG PHÁP NHẬN DIỆN LANE ................................................................... 7
2.3. THUẬT TOÁN PID ............................................................................................... 12
2.3.1. Giới thiệu .................................................................................................... 12
2.3.2. Nguyên lý của thuật tốn ............................................................................ 12
2.3.3. Cơng thức PID ............................................................................................ 13
2.4. GIỚI THIỆU VỀ PYTHON ANACONDA3 ......................................................... 14
2.4.1. Giới thiệu ................................................................................................... 14
2.4.2. Chức năng .................................................................................................. 14
iii
2.5. GIỚI THIỆU VỀ NUMPY- MATPLOTLIB ......................................................... 15
2.5.1. Numpy........................................................................................................ 15
2.5.2. Matplotlib ................................................................................................... 16
2.6. LÝ THUYẾT VỀ MẠNG NEURAL TÍCH CHẬP ................................................ 16
2.6.1. Giới thiệu: .................................................................................................. 16
2.6.2. Phân loại ảnh (Image Classification) ......................................................... 17
2.6.3. Cấu trúc của mạng neural tích chập ........................................................... 17
2.6.3.1. Convolution layer...........................................................................18
2.6.3.2. Nonline layer ..................................................................................19
2.6.3.3. Pooling layer ..................................................................................19
2.6.3.4. Fully connected layer .....................................................................20
2.7. GIỚI THIỆU VỀ MỘT SỐ PHẦN MỀM HỖ TRỢ KHÁC ................................. 21
2.7.1. Giới thiệu Proteus ...................................................................................... 21
2.7.2. Giới thiệu Inventor..................................................................................... 22
2.7.3. Giới thiệu Arduino IDE ............................................................................. 22
CHƯƠNG 3: XÂY DỰNG VÀ LẬP TRÌNH HỆ THỐNG.............................................. 24
3.1. GIỚI THIỆU ........................................................................................................... 24
3.2. XÂY DỰNG PHẦN CỨNG .................................................................................. 26
3.2.1. Xây dựng khối điều khiển lái ..................................................................... 26
3.2.1.1. Bộ Bánh vít – Trục vít ....................................................................27
3.2.1.2 Động cơ bước 57HS7630A4 ............................................................29
3.2.1.3. Module TB6600 ..............................................................................30
3.2.2. Khối điều khiển và xử lý trung tâm ............................................................ 32
3.2.2.1. Laptop HP Pavalion 15 ...................................................................32
3.2.2.2. Arduino Uno R3 ..............................................................................34
iv
3.2.3. Khối thu thập hình ảnh ............................................................................... 37
3.2.3.1. Camera ............................................................................................37
3.2.3.2. Thiết kế kệ chống rung cho Camera ...............................................38
3.2.4. Xây dựng khối động cơ .............................................................................. 43
3.2.4.1. Động cơ ...........................................................................................44
3.2.4.2. Module BTS7960 ............................................................................45
3.2.4.3. Module Encoder xoay .....................................................................46
3.2.5. Nguồn ắc quy .............................................................................................. 47
3.3. THIẾT BỊ, LINH KIỆN, MÔ-ĐUN VÀ SƠ ĐỒ NGUYÊN LÝ TỒN MẠCH CỦA
HỆ THỐNG ................................................................................................................... 49
3.4. LẬP TRÌNH HỆ THỐNG ...................................................................................... 54
3.4.1. Lập trình PID cho động cơ ......................................................................... 54
3.4.2. Cài đặt Anaconda3 và NvidiaCuda............................................................. 57
3.4.3. Sửa đổi thuật toán training ........................................................................ 60
3.4.4. Xây dựng lưu đồ giải thuật ......................................................................... 66
3.4.4.1. Lưu đồ nhận diện lane .....................................................................66
3.4.4.2. Lưu đồ nhận diện biển báo Stop .....................................................66
3.4.4.3 Cải tiến thuật toán training cho ảnh màu và thiết kế bộ CNN mới..68
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ ............................................................. 73
4.1. KẾT QUẢ ............................................................................................................... 73
4.2. THỰC NGHIỆM .................................................................................................... 76
4.2.1. Thực nghiệm xe nhận diện biển báo và lane .............................................. 76
4.2.2. Thực nghiệm PID ở khối động cơ của xe ................................................... 77
4.3. THỐNG KÊ ............................................................................................................ 78
4.3.1. Thống kê khi cho xe nhận diện biến báo và lane........................................ 78
4.3.1.1. Lập bảng thống kê ...........................................................................78
v
4.3.1.2 Lập bảng thống kê ở 4 đoạn đường xung quanh khuôn viên khoa ..82
4.3.1.2.1 Đoạn đường cong thứ 1 ........................................................82
4.3.1.2.2 Đoạn đường cong thứ 2 ........................................................84
4.3.1.2.3 Đoạn đường cong thứ 3 ........................................................85
4.3.1.2.4 Đoạn đường cong thứ 4 ........................................................87
4.3.1.3 Lập bảng thống kê PID của 2 động cơ .............................................88
4.3.1.4 Lập bảng so sánh dữ liệu đầu vào ...................................................90
4.3.2. Các lỗi thường gặp ...................................................................................... 90
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................. 94
5.1. KẾT LUẬN ............................................................................................................ 94
5.2. HƯỚNG PHÁT TRIỂN ......................................................................................... 94
TÀI LIỆU THAM KHẢO ................................................................................................. 96
PHỤ LỤC........................................................................................................................... 97
vi
DANH MỤC CÁC HÌNH
Trang
Hình 2.1. Các cấp độ xe tự hành .........................................................................................7
Hình 2.2 Khởi tạo mơi trường .............................................................................................8
Hình 2.3. Cài đặt và kiểm tra các thư viện ..........................................................................8
Hình 2.4. Thuật tốn chụp ảnh bằng python .......................................................................9
Hình 2.5.Chuẩn bị các file ảnh training ..............................................................................9
Hình 2.6. Tạo liên kết từ thuật tốn traning đến thư mục chứa dữ liệu ............................10
Hình 2.7. Quá trình traning ...............................................................................................10
Hình 2.8. Kết quả sau khi hồn tất quá trình traning ....................................................... 10
Hình 2.9. Thử nghiệm file traning và thuật tốn ...............................................................11
Hình 2.10. Cơng thức PID (Wikipedia.com) ....................................................................13
Hình 2.11. Anaconda3 .......................................................................................................14
Hình 2.12. Chức năng Anaconda- Python ........................................................................15
Hình 2.13. Cấu trúc của CNN ...........................................................................................18
Hình 2.14. So sánh Filter ...................................................................................................18
Hình 2.15. Cơng thức hàm kích hoạt ................................................................................19
Hình 2.16. Các dạng tổng hợp ...........................................................................................20
Hình 2.17. Giao diện Proteus ............................................................................................21
Hình 2.18. Giao diện Inventor ...........................................................................................22
Hình 2.19. Giao diện IDE..................................................................................................23
Hình 3.1. Mơ hình xe ........................................................................................................24
Hình 3.2. Bánh xe ..............................................................................................................25
Hình 3.3. Sơ đồ khối hệ thống ..........................................................................................26
Hình 3.4. Cơ cấu hệ thống lái............................................................................................26
Hình 3.5. Hệ thống lái trên mơ hình..................................................................................27
Hình 3.6. Mơ phỏng nối trục trên Inventor .......................................................................28
Hình 3.7. Bánh răng trục vít trên mơ hình ........................................................................29
Hình 3.8. Động cơ bước size 57 ........................................................................................29
Hình 3.9. Phương pháp điều khiển động cơ bước .............................................................30
Hình 3.10. Module TB6600 ..............................................................................................31
vii
Hình 3.11. Mơ phỏng hệ thống lái trên Proteus ................................................................32
Hình 3.12. Laptop HP Pavalion 15 ...................................................................................32
Hình 3.13. Arduino Uno R3 ..............................................................................................34
Hình 3.14. Sơ đồ chân trên Arduino trên mạch mơ ..........................................................36
Hình 3.15. Các thơng số của Arduino Uno R3 .................................................................36
Hình 3.16. Camera logitech C270 .....................................................................................37
Hình 3.17. Trục Pitch, Yaw, Roll biểu diễn trên khơng gian............................................38
Hình 3.18. Cảm biến MPU6050 mơ phỏng.......................................................................39
Hình 3.19. Cảm biến MPU6050 ........................................................................................39
Hình 3.20. Servo SG90 .....................................................................................................40
Hình 3.21. Arduino Nano V3.0 Atmega328P ..................................................................40
Hình 3.22. Sơ đồ đi dây của thiết bị ..................................................................................42
Hình 3.23. Các bộ phận của hệ thống được mơ phỏng để chế tạo ....................................42
Hình 3.24. Cơ cấu hệ thống truyền động trên thực tế .......................................................43
Hình 3.25. Mơ phỏng và thực hiện CNC khớp nối ...........................................................43
Hình 3.26. Động cơ RS550 ...............................................................................................44
Hình 3.27. Module BTS7690 43A ....................................................................................45
Hình 3.28. Sơ đồ chân Module BTS7690 43A .................................................................46
Hình 3.29. Module BTS7690 43A trên mơ hình ...............................................................46
Hình 3.30. Mơ phỏng khối động cơ trên Proteus ..............................................................46
Hình 3.31. Module encoder xoay ......................................................................................47
Hình 3.32. Ắc quy .............................................................................................................48
Hình 3.33. Cầu chì.............................................................................................................48
Hình 3.34. Sơ đồ mạch của hệ thống trên proteus ............................................................53
Hình 3.35. Mạch đo điện áp từ động cơ size.................................................................... 55
Hình 3.36. Mơ phỏng 3D bánh răng dẫn động module encoder .......................................55
Hình 3.37. Mơ phỏng 2D bánh răng dẫn động encoder ....................................................56
Hình 3.38. Bánh răng hồn chỉnh được lắp đặt trên xe.....................................................56
Hình 3.39. Bảng phương pháp dị các chỉ số ....................................................................56
Hình 3.40 =>3.47. Các bước thực hiện cài đặt ................................................................ 59
Hình 3.48. Giao diện Anaconda3 ..................................................................................... 60
viii
Hình 3.49. Mơi trường chạy thuật tốn .............................................................................61
Hình 3.50. Mơi trường training .........................................................................................62
Hình 3.51 => 3.53. Các bước cài đặt cuDNN ................................................................... 63
Hình 3.54. Lưu đồ nhận diện và chạy theo lane................................................................66
Hình 3.55. Lưu đồ nhận diện biển báo ..............................................................................67
Hình 3.56. Nhận diện biến báo Stop ở trong xưởng .........................................................70
Hình 3.57. Chỉ số Accuracy của file traning và biểu đồ q trình train .......................... 70
Hình 4.1. Mơ hình xe ........................................................................................................ 73
Hình 4.2. Mơ hình xe sau khi thi cơng .............................................................................. 73
Hình 4.3. Sơ đồ mạch điện cũ ........................................................................................... 74
Hình 4.4. Mạch điện mới................................................................................................... 74
Hình 4.5. Khi xe nhận diện thẳng ..................................................................................... 74
Hình 4.6. Khi xe đi thẳng .................................................................................................. 75
Hình 4.7. Khi xe nhận diện cong ....................................................................................... 75
Hình 4.8. Khi xe vào cua ................................................................................................... 76
Hình 4.9. Khi xe nhận diện biển báo ................................................................................. 76
Hình 4.10. Thực nghiệm cho xe chạy PID ........................................................................ 77
Hình 4.11. Thực nghiệm đoạn thẳng cũ ............................................................................ 79
Hình 4.12. Thực nghiệm biển báo ..................................................................................... 79
Hình 4.13. Thực nghiệm đường cong cũ........................................................................... 80
Hình 4.14. Biểu đồ so sánh 2 bảng thống kê..................................................................... 81
Hình 4.15. Cụm ảnh thực nghiệm đường cong số 1 ......................................................... 82
Hình 4.16. Biểu đồ so sánh các cung đường thược nghiệm cong số 1 ............................. 83
Hình 4.17. Cụm ảnh thực nghiệm đường cong số 2 ......................................................... 84
Hình 4.18. Biểu đồ so sánh các cung đường thược nghiệm đường cong 2 ...................... 85
Hình 4.19. Cụm ảnh thực nghiệm đường cong số 3 ......................................................... 85
Hình 4.20. Biểu đồ so sánh các cung đường thược nghiệm đường cong số 3 .................. 86
Hình 4.21. Cụm ảnh thực nghiệm đường cong số 4 ......................................................... 87
Hình 4.22. Biểu đồ so sánh các cung đường thực nghiệm P4........................................... 88
Hình 5.23. Biểu đồ thể hiện dữ liệu đầu vào ..................................................................... 90
ix
DANH MỤC CÁC BẢNG
Trang
Bảng 3.1. Bảng thông số của bộ trục vít – bánh vít ... ...................................................... 28
Bảng 3.2. Bảng thống kê các linh kiện, thiết bị nhóm đã sử dụng ................................... 49
Bảng 3.3. Phân tích số lượng tích chập ........................................................................... 69
Bảng 4.1. Bảng thống kê thực nghiệm .............................................................................. 78
Bảng 4.2. Bảng thực nghiệm cũ được cập nhật phần 1 ................................................... 80
Bảng 4.3. Bảng thực nghiệm cũ được cập nhật phần 2 ................................................... 81
Bảng 4.4. Bảng thống kê đường cong số 1 ....................................................................... 83
Bảng 4.5. Bảng thống kê đường cong số 2 ....................................................................... 84
Bảng 4.6. Bảng thống kê đường cong số 3 ....................................................................... 86
Bảng 4.7. Bảng thống kê đường cong số 4 ....................................................................... 87
x
CHƯƠNG 1: TỔNG QUÁT
1.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 q 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 q
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ự đố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 tồn bộ hệ thống, thuật toán cho ROS(Robot
operating system).
1
1.2. CÁC NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC
1.2.1. Nghiên cứu trong nước
Về PID chúng em tham khảo đề tài P.I.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 tố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 tố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 tố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.
1.2.2. 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 tố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.h5 .xml.
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 tốn test hình ảnh training.
1.3. MỤC ĐÍCH CỦA ĐỀ TÀI
Mục đích của đề tài là hồn thiện tối đa về phần cứng, tối ưu hóa thuật tố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.
1.4. 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 hồ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 q tối) vẫn chưa khắc phục được.
-
Tốc độ xử lý không được cải thiện vì tồn bộ q 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.
1.5. 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.1. XE TỰ HÀNH
2.1.1. 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. Phần
lớn các hệ thống phát hiện làn đường đã được phát triển và ứng dụng trong nhiều loại xe
sang.
Nhận dạng đối tượng: Đây là một thành phần quan trọng của hệ thống xe tự hành.
Gần đây, công nghệ này đã có những bước tiến bộ lớn như nhận dạng được đối tượng tĩnh
như xe đạp, người đi bộ, ô tô, biển báo giao thông… và đang tiến tới việc nhận dạng đối
tượng động như xe/người đang di chuyển trên đường thật…
2.1.2. Cấp độ xe tự hành
Cấp độ 0: Cấp độ 0 phụ thuộc hoàn toàn vào người lái ở phía sau tay lái để điều
khiển các tính năng của xe, hồn tồn khơng có tính năng tự lái (self-driving). Hầu hết
những xe trên thị trường hiện này đều có thể được xếp vào cấp độ này, kể cả những xe hơi
có tính năng như cảnh báo va chạm hoặc cảm biến cảnh báo điểm mù…
5
Cấp độ 1: Có một vài tính năng hỗ trợ người lái ví dụ như có thể điều khiển tốc độ
của xe hoặc hướng lái, nhưng không thể hoạt động cả hai chức năng cùng một lúc. Ví dụ
về cấp độ 1 có thể kể đến tính năng cruise control – giữ chân ga tự động khi có thiết lập từ
người lái. Hoặc hãng xe Subaru cịn có tính năng chủ động điều khiển làn đường trên những
xe phổ thông. Những xe hơi có tính năng tự phanh/thắng khẩn cấp, cũng nằm trong cấp độ
1 này.
Cấp độ 2: Hỗ trợ người lái nhiều hơn, nhưng xe tự lái ở cấp độ này không thể tự
điều khiển xe ở mọi trường hợp, bao gồm nhập làn trên cao tốc. Một vài hãng xe cao cấp
hiện đã cung cấp tính năng tự điều khiển hướng lái và tốc độ đồng thời mà không cần tương
tác từ người lái trong một khoảng thời gian nhất định (dưới 1 phút). Volvo, MercedesBenz và BMW đều đã cung cấp tính năng cấp độ 2, nhưng tất cả đều yêu cầu người lái phải
theo dõi điều kiện môi trường xung quanh khi xe di chuyển. Autopilot của Tesla cũng có
thể coi là một tính năng tự hành cấp độ 2, nó sẽ điều chỉnh lực xoay trên vô-lăng dựa trên
khả năng tập trung của tài xế.
Cấp độ 3: Tự lái tùy điều kiện. Không giống cấp độ 2, những xe tự lái cấp độ 3 có
thể tự điều hành trong mọi tình huống, chiếc xe cũng sẽ tự theo dõi điều kiện đường xá,
nhưng chiếc xe sẽ chuyển về cho con người điều khiển khi chúng khơng thể tiếp tục xử lý
tình huống. Theo định nghĩa từ SAE, xe cấp độ 3 sẽ yêu cầu con người can thiệp khi hệ
thống tự lái có lỗi nhưng theo một số hãng sản xuất xe, họ cho rằng điều này có thể ảnh
hưởng tới an tồn của người lái, một vài hãng xe như Ford hay Volvo công bố sẽ bỏ qua
giai đoạn này.
Cấp độ 4: Gần như là tự lái. Ở cấp độ 4, chiếc xe sẽ không cần tương tác của lái xe
nữa và hệ thống sẽ tự dừng lại khi phát hiện có lỗi. Một vài hãng xe như Tesla hay
Mercedes-Benz đã tích hợp tính năng tự giảm tốc độ hoặc phát cảnh báo bằng đèn nếu phát
hiện người lái mất tập trung. Mới đây, Ford và Volvo đều công bố sẽ cho ra đời những
chiếc xe tự lái cấp độ 4 trước năm 2021.
Cấp độ 5: Tự lái hoàn toàn. Đây là cấp độ cuối cùng và nếu chiếc xe nào đạt tới cấp
độ này, nó có thể tự lái ở mọi điều kiện, khơng cần sự có mặt của lái xe. Cấp 4 và 5 là một
bước nhảy vọt và cần nhiều cải tiến công nghệ. Cấp độ 5 không cần con người, nó sẽ tự xử
lý khi có tình huống xảy ra. Các bộ phận cơ bản của xe như chân ga, tay lái, chân phanh sẽ
không cần thiết trên một chiếc xe tự lái cấp độ cuối này, bởi khơng cịn con người trên đó
6