Tải bản đầy đủ (.docx) (71 trang)

(Luận văn thạc sĩ) điều hướng xe tự hành dùng trí tuệ nhân tạo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.79 MB, 71 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA - 8520216

SKC006074

Tp. Hồ Chí Minh, tháng 04/2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
THUẬT THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA - 8520216

Tp Hồ Chí Minh, tháng 04/2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
THUẬT THÀNH PHỐ HỒ CHÍ MINH


LUẬN VĂN THẠC SĨ
DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA - 8520216
Hướng dẫn khoa học:
TS. LÊ MỸ HÀ

Tp Hồ Chí Minh, tháng 04/2019

ii


QUYẾT ĐỊNH GIAO ĐỀ TÀI

i


LÝ LỊCH KHOA HỌC
I. LÝ LỊCH SƠ LƯỢC:
Họ & tên: Dương Minh Thiện

Giới tính: Nam

Ngày, tháng, năm sinh: 22/06/1994

Nơi sinh: Bà Rịa Vũng Tàu

Quê quán: Bà Rịa Vũng Tàu


Dân tộc: Kinh

Địa chỉ liên lạc: 167/1/7 Võ Thị Sáu, Thị Trấn Long Điền, Huyện Long
Điền, Tỉnh Bà Rịa Vũng Tàu
Điện thoại liên hệ: 0909 196 940
E-mail:
AI. QUÁ TRÌNH ĐÀO TẠO:

1. Đại học:
Hệ đào tạo: Chính qui

.

Thời gian đào tạo: từ 09/2012 đến 12/2016.
Nơi học: Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh.
Ngành học: Cơng Nghệ Kỹ Thuật Điều Khiển & Tự Động Hóa.
Tên đồ án, luận án hoặc môn thi tốt nghiệp: Thiết Kế, Thi Công và Lập
Trình Điều Khiển Cánh Tay Máy Gắp Vật Thể Sử Dụng Thuật Tốn Nhận
Dạng Màu Sắc và Hình Khối
Ngày & nơi bảo vệ đồ án tốt nghiệp: tháng 07/2016 tại Trường Đại Học Sư
Phạm Kỹ Thuật Thành Phố Hồ Chí Minh.
Người hướng dẫn: TS. Nguyễn Văn Thái.
BI. Q TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP

ĐẠI HỌC:

Thời gian

10/2017- nay


ii


LỜI CAM ĐOAN
Tơi cam đoan đây là cơng trình nghiên cứu của tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ cơng trình nào khác
Tp. Hồ Chí Minh, ngày 13 tháng 04 năm
2019
(Ký tên và ghi rõ họ tên)

iii


LỜI CẢM ƠN
Trong suốt quá trình thực hiện đề tài, với sự giúp đỡ nhiệt tình của q thầy
cơ, hướng dẫn về mọi mặt từ thiết kế phần cứng đến phần mềm điều khiển là những
yếu tố quyết định đến sự thành công của đề tài ngày hôm nay. Tôi xin chân thành
gửi lời cảm ơn đến:
Giảng viên hướng dẫn TS. Lê Mỹ Hà đã định hướng, nhiệt tình giúp đỡ, chỉ
bảo tận tình và tạo điều kiện tốt nhất cho tơi khi làm việc tại phịng thí nghiệm
(ISLab) trong suốt q trình thực hiện đề tài.
Tơi cũng xin gửi lời cảm ơn đến tồn bộ q thầy cơ trong Khoa Điện – Điện tử
và Bộ môn Tư Động Điều Khiển đã giúp đỡ tơi rất nhiều trong q trình thực hiện đề
tài cũng như đóng góp ý kiến và tạo điều kiện thuận lợi giúp đề tài hoàn thiện hơn.

Tôi xin gửi lời cảm ơn đến tập thể lớp cao học TĐH17B, trong quá trình làm
đề tài các anh chị đã có những ý kiến thiết thực và giúp đỡ tôi trong việc thiết kế và
thi công đề tài.

Cuối cùng, tôi xin gửi lời cảm ơn chân thành tới nhà trường, thầy cô, cha mẹ
và bạn bè đã động viên và giúp đỡ trong suốt quá trình thực hiện đề tài.

Tôi xin chân thành cảm ơn!

iv


TĨM TẮT
Trong đề tài này, mơ hình xe tự lái dựa trên thị giác máy sử dụng mạng nơron
học sâu trên máy tính Raspberry Pi được đề xuất. Xe tự lái là một trong những lĩnh
vực được quan tâm nghiên cứu nhiều nhất trong những năm gần đây nhờ vào sự
phát triển mạnh mẽ của công nghệ phần cứng cũng như phần mềm liên quan đến
khả năng tự lái hoàn tồn, khơng có sự can thiệp của con người. Cấp độ 3 trên 4 của
phương tiện tự hành sẽ đạt được trong tương lai rất gần. Việc sử dụng cơ điện tử và
trí tuệ nhân tạo (AI) sẽ hỗ trợ người lái xe điều khiển và kiểm soát phương tiện một
cách dễ dàng hơn. Điều này đóng góp rất nhiều cho các vấn đề giao thơng hiện nay,
có xe tự hành, sẽ khơng cịn kẹt xe, hạn chế tai nạn giao thơng do con người. Mạng
nơron tích chập (CNN) đã được chứng minh rằng có hiệu suất đáng kể trong rất
nhiều bài toán nhận dạng và điều khiển so với các kỹ thuật khác trong thời gian gần
đây. Những yếu tố quyết định kết quả ấn tượng này chính là khả năng học hàng triệu
thông số sử dụng một lượng lớn dữ liệu đã được gán nhãn. Ở đây, tác giả tập trung
vào việc tìm kiếm một model trực tiếp ánh xạ các hình ảnh đầu vào đến các góc lái
dự đoán ở đầu ra mạng nơron học sâu.
Việc thực hiện luận văn này bao gồm ba việc chính. Đầu tiên, các thông số của
model CNN được huấn luyện bằng cách sử dụng dữ liệu thu thập được từ một xe
mơ hình tỉ lệ 1/10, gắn máy tính Raspberry Pi 3 Model B và một camera ở phía
trước. Dữ liệu dùng để huấn luyện mạng là hình ảnh đường đi và góc lái đồng bộ
với thời gian thu thập lúc xe được lái. Tiếp theo, dữ liệu đó được chuyển sang máy
tính và dùng để huấn luyện cho model điều hướng xe. Cuối cùng, thực nghiệm

model đó trên máy tính Raspberry để xe tự chạy trong mơi trường ngồi trời, xung
quanh đường trịn và đường số 8 có biển báo giao thơng. Kết quả thực nghiệm cho
thấy tính hiệu quả và sự mạnh mẽ của model lái tự động trong việc giữ làn đường
trong thời gian thực. Tốc độ tối đa của xe khoảng 5-6km/h trong nhiều điều kiện lái
khác nhau, bất kể vạch đường có bị che khuất hay không.

v


ABSTRACT
In this thesis, a monocular vision-based self-driving car prototype using Deep
Neural Network on Raspberry Pi is proposed. Self-driving cars are one of the most
increasing interests in recent years as the definitely developing relevant hardware and
software technologies toward fully autonomous driving capability with no human
intervention. Level-3/4 autonomous vehicles are potentially turning into a reality in
near future. It involves the use of Mechatronics and Artificial Intelligence (AI) to
control the vehicle, thereby taking the responsibilities of the driver, providing a more
manageable control over it. And a swarm of autonomous vehicles could just be the
solution to our traffic problems: no traffic jam, no road accidents, no delayed journey.
Convolutional Neural Networks (CNNs) have been shown to achieve significant
performance in various perception and control tasks in comparison to other techniques
in the latest years. The key factors behind these impressive results are their ability to
learn millions of parameters using a large amount of labeled data. In this work, we
concentrate on finding a model that directly maps raw input images to a predicted
steering angle as output using a deep neural network.

The technical contributions of this work are three-fold. First, the CNN model
parameters were trained by using data collected from vehicle platform built with a
1/10 scale RC car, Raspberry Pi 3 Model B computer and front-facing camera. The
training data were road images paired with the time-synchronized steering angle

generated by manually driving. Second, the stored data is then transferred to a
desktop computer and used for training the model to autonomously navigate the car.
Finally, road tests the model on Raspberry to drive itself in the outdoor environment
around oval-shaped and 8-shaped with traffic sign lined track. The experimental
results demonstrate the effectiveness and robustness of autopilot model in real-time
lane keeping task. Vehicle’s top speed is about 5-6km/h in a wide variety of driving
conditions, regardless of whether lane markings are present or not.

vi


MỤC LỤC
LÝ LỊCH KHOA HỌC .............................................................................................
LỜI CAM ĐOAN ....................................................................................................
LỜI CẢM ƠN ..........................................................................................................
TÓM TẮT

...........

ABSTRACT .............................................................................................................
MỤC LỤC

...........

DANH MỤC CÁC CHỮ VIẾT TẮT.....................................................................
DANH MỤC CÁC BẢNG BIỂU .............................................................................
DANH MỤC CÁC HÌNH ẢNH VÀ BIỂU ĐỒ .....................................................
Chương 1: TỔNG QUAN ........................................................................................

1.1.Đặt vấn đề ................................................


1.2.Mục tiêu đề tài .........................................

1.3.Giới hạn đề tài .........................................

1.4.Nội dung đề tài ........................................
Chương 2: CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH .......................................

2.1.Giới thiệu về xe tự hành .........................

2.2.Tổng quan về trí tuệ nhân tạo ...............
2.2.1. Trí tuệ nhân tạo (Artificial Intelligence- AI) ......................................
2.2.2. Machi

2.2.3. Deep L
2.3.Convolutional Neural Network (CNN)

2.4.Bộ điều khiển PID ..................................
Chương 3: THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ ..........................................

3.1.Các thành phần phần cứng ...................
3.1.1. Xe điều khiển Trophy Truck .............................................................
3.1.2. Động cơ Brushed Motor RC-540PH .................................................
3.1.3. Động cơ RC Servo TowerPro MG946R ............................................
3.1.4. Waterproof Brushed ESC Controller WP-1040 ..............................
3.1.5. Raspberry Pi 3 Model B .....................................................................

3.1.6. Raspb

vii



3.1.7.

Raspberry

3.1.8.

Arduino U

3.1.9.

PWM/Serv

3.1.10. Encoder Omron E6B2-CWZ6C 10P/R .............................................
3.1.11. Pin Lipo 2S-30C 3600mAh .................................................................

3.2.Sơ đồ kết nối phần cứng ........................

3.3.Cấu trúc phần cứng của mơ hình xe tự
Chương 4: GIẢI THUẬT ĐIỀU KHIỂN CỦA MƠ HÌNH XE TỰ HÀNH .....

4.1.Sơ đồ khối thu thập dữ liệu huấn luyện

4.2.Sơ đồ khối điều hướng mơ hình xe tự h

4.3.Cấu trúc mạng và tối ưu các thông số .

4.4.Phần mềm và các thư viện sử dụng để l
4.4.1. Giới thiệu thư viện Tensorflow ..........................................................

4.4.2. Giới thiệu thư viện Keras ...................................................................
Chương 5: THỰC NGHIỆM ................................................................................

5.1.Môi trường thực nghiệm .......................

5.2.Mô tả tập dữ liệu ....................................

5.3.Các phương pháp để tạo ra các nhiều d

5.4.Quá trình huấn luyện ............................

5.5.Kết quả thực nghiệm ngoài trời: ..........
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .........................................

6.1.Kết luận ..................................................

6.2.Hướng phát triển ...................................
TÀI LIỆU THAM KHẢO ......................................................................................
PHỤ LỤC

..................

viii


DANH MỤC CÁC CHỮ VIẾT TẮT

1.

AI:


2.

ANN:

3.

CNN:

4.

CPU:

5.

ESC:

6.

GPS:

7.

GPU:

8.

PID:

9.


PWM:

10. RNN:
11. USB:

ix


DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1: Thông số hoạt động của RC Servo TowerPro MG946R................................. 29
Bảng 3.2: Thông số của board Arduino Uno........................................................................... 33
Bảng 5.1: Sự ảnh hưởng của chu kỳ huấn luyện đến độ chính xác của mơ hình.......47
Bảng 6.1: Sự ảnh hưởng của số lượng mẫu huấn luyện đến độ chính xác của mơ hình
50

x


DANH MỤC CÁC HÌNH ẢNH VÀ BIỂU ĐỒ
Hình 2.1: Sự phát triển của xe tự hành trong tương lai.......................................................... 4
Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning............................7
Hình 2.3: Cấu trúc của một tế bào thần kinh sinh học............................................................ 8
Hình 2.4: Cấu trúc tế bào thần kinh nhân tạo.......................................................................... 10
Hình 2.5: Học có giám sát.............................................................................................................. 11
Hình 2.6: Học khơng giám sát....................................................................................................... 12
Hình 2.7: Học tăng cường............................................................................................................... 12
Hình 2.8: So sánh hiệu suất giữa DL với các thuật tốn học theo thứ tự...................... 14
Hình 2.9: Tổ chức của hệ thống vỏ não thị giác..................................................................... 15
Hình 2.10: Mơ hình RNN............................................................................................................... 15

Hình 2.11: Kiến trúc mạng autoencoders.................................................................................. 16
Hình 2.12: Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ...................... 17
Hình 2.13: Ý tưởng thiết kế CNN................................................................................................ 17
Hình 2.14: Minh họa tích chập...................................................................................................... 18
Hình 2.15: Ví dụ ứng dụng tích chập.......................................................................................... 19
Hình 2.16: Các thành phần của lớp tích chập.......................................................................... 20
Hình 2.17: Ví dụ về lớp Convolution trong ảnh..................................................................... 21
Hình 2.18: Cách tính tham số của lớp pooling........................................................................ 22
Hình 2.19: Q trình tinh chỉnh tuyến tính............................................................................... 23
Hình 2.20: Flatten dữ liệu nhận được từ một lớp convolution. a) là ma trận 3x3. b) là

mảng sau khi áp dụng flatten......................................................................................................... 23
Hình 2.21: Kiến trúc mạng CNN cơ bản................................................................................... 24
Hình 2.22: Bộ điều khiển PID....................................................................................................... 26
Hình 2.23: Bộ điều khiển PID cho tốc độ của xe................................................................... 26
Hình 3.1: Sơ đồ khối của mơ hình xe tự hành......................................................................... 27
Hình 3.2: Xe điều khiển Trophy Truck...................................................................................... 27
Hình 3.3: Chi tiết bên trong xe điều khiển............................................................................... 28

xi


Hình 3.4: Động cơ Brushed Motor RC-540PH...................................................................... 28
Hình 3.5: RC Servo TowerPro MG946R.................................................................................. 29
Hình 3.6: Waterproof Brushed ESC Controller WP-1040.................................................. 30
Hình 3.7: Raspberry Pi 3 Model B.............................................................................................. 30
Hình 3.8: Raspberry Pi Power Pack............................................................................................ 31
Hình 3.9: Raspberry Pi Camera............................................................................... 32
Hình 3.10: Board Arduino Uno (mặt trước và sau)............................................................... 32
Hình 3.11: Mạch Điều Khiển 16 Chanel PWM PCA9685................................................. 33

Hình 3.12: Encoder Omron E6B2-CWZ6C 10P/R............................................................... 34
Hình 3.13: Pin Lipo 2S-30C 3600mAh..................................................................................... 34
Hình 3.14: Sơ đồ kết nối phần cứng............................................................................................ 35
Hình 3.15: Phía trên của mơ hình xe tự hành.......................................................................... 36
Hình 3.16: Phía trái của mơ hình xe tự hành........................................................................... 36
Hình 3.17: Bên trong xe tự hành. (a) bên trong xe nhìn từ phía trên. (b) bánh răng của

encoder. (c) hệ thống bể lái. (d) Motor và ESC...................................................................... 37
Hình 4.1: Sơ đồ khối thu thập dữ liệu huấn luyện................................................................. 38
Hình 4.2: Sơ đồ khối điều hướng mơ hình xe tự hành......................................................... 39
Hình 4.3: Cấu trúc mạng huấn luyện cho mơ hình xe tự hành.......................................... 40
Hình 4.4: Lớp dropout. a) mạng nơ-ron tiêu chuẩn, b) mạng nơ-ron sau khi áp dụng
dropout................................................................................................................................................... 42
Hình 5.1: Quỹ đạo thực nghiệm 1: (a) Quỹ đạo hình bầu dục.(b) góc rẽ của đường đi
.(c) mơ hình xe đang di chuyển theo quỹ đạo.......................................................................... 44
Hình 5.2:Quỹ đạo thực nghiệm 2: (a) quỹ đạo hình số 8. (b) và (c) biển báo hiệu chỉ
đường...................................................................................................................................................... 44
Hình 5.3: Tập dữ liệu thu thập được: (a) là các mẫu từ tập dữ liệu lái xe. (b), (c) và
(d) là những hình ảnh điển hình trong tập dữ liệu................................................................. 45
Hình 5.4: Ví dụ về các phương pháp tạo thêm dữ liệu huấn luyện................................. 46
Hình 5.5: Sơ đồ huấn luyện cho mơ hình xe tự hành........................................................... 47

xii


Hình 5.6: Trực quan các lớp tích chập. a) ảnh gốc. b), c) và d) là lần lượt là các lớp
tích chập thứ 1,2 và 3........................................................................................................................ 48
Hình 5.7: Độ chính xác của mạng CNN được đề xuất......................................................... 49
Hình 5.8: Giá trị góc lái được dự đốn...................................................................................... 49


xiii


Chương 1:

TỔNG QUAN

1.1. Đặt vấn đề
Ngày nay, với sự phát triển mạnh mẽ về khoa học công nghệ cũng như giao
thông vận tải, nhiều phương tiện được trang bị chế độ tự lái để hỗ trợ người lái xe
duy trì sức khỏe khi lái xe đường dài cũng như giảm thiểu rủi ro tai nạn giao thông.
Điều hướng quỹ đạo cho phương tiện giao thơng là một trong những khía
cạnh quan trọng nhất của sự phát triển của mơ hình xe khơng người lái. Có rất nhiều
phương pháp để thực hiện điều này, nhưng cách để có được kết quả tốt nhất và phù
hợp với cuộc cách mạng công nghiệp 4.0 là sử dụng một thuật toán liên quan đến
lĩnh vực trí tuệ nhân tạo. Cụ thể, chúng tơi đã thực hiện thuật tốn mạng nơ-ron tích
chập (CNN) để điều hướng cho các phương tiện tự hành. [1]
Học tập sâu (Deep Learning) là một lĩnh vực thuộc phần máy học (Machine
Learning) lấy cảm hứng từ một mạng nơron nhân tạo. Một trong những loại mạng
sâu đặc biệt như vậy là mạng nơ-ron tích chập, thường được gọi là CNN hoặc
ConvNet. Sự khác biệt của CNN so với mạng thần kinh truyền thống là số lượng
nơ-ron trong một lớp có thể giảm nhưng số lượng của các lớp ẩn sẽ lớn hơn và được
gọi là mạng sâu. Chúng thường được huấn luyện bằng chiến lược lan truyền ngược.
Vì vậy, nó có thể xây dựng các hệ thống thông minh với độ chính xác rất cao. [1]
Trước đây, đã có nhiều nghiên cứu về điều hướng cho xe tự hành đã đươc thực
hiện. Bao gồm các phương pháp như: phát hiện làn đường theo thời gian thực để điều
hướng tự động [2], hệ thống theo dõi làn đường cho ứng dụng xe thông minh [3], phát
hiện làn đường với xe di chuyển trong cảnh quan giao thông [4] hoặc các phương pháp
liên quan đến hướng nghiên cứu này là: [5], [6]. Mặc dù các phương pháp này mang lại
độ chính xác thuyết phục về phát hiện làn đường nhưng có một số lý do khiến việc phát

hiện không thành công. Lý do đầu tiên là chủ quan. Sau khi phát hiện hai vạch kẻ
đường chúng ta cần tính tốn và xây dựng một đường ảo tại tâm của làn xe, sau đó ước
tính góc lệch giữa thân xe và đường ảo đó, tiếp đến điều chỉnh góc lái

1


của xe sao cho xe ln ở vị trí chính giữa làn đường. Các tính tốn của góc lái được
đề cập ở trên là vơ cùng phức tạp và có thể gây ra nhiều sai số. Lý do thứ hai là
khách quan. Một số con đường mà vạch kẻ không có hoặc bị mờ. Thậm chí, khi các
xe đang chạy trên đường dốc, máy ảnh được gắn ở phía trước sẽ hướng lên trời và
không theo kịp làn đường ở phía trước. Điều này cũng có thể dẫn đến việc phát hiện
sẽ khơng chính xác.
Ngồi ra, phương pháp GPS cũng được áp dụng để điều hướng xe tự lái. Nếu
GPS được sử dụng độc lập, nó sẽ gây ra lỗi khá cao nên việc áp dụng phương pháp
này trên mô hình xe khơng người lái sẽ rất khó khăn và yêu cầu sự điều chỉnh sai số
[7], [8].
Nhận thấy với những hạn chế nêu trên, tác giả đề xuất một phương pháp sử
dụng mạng nơ-ron tích chập để điều hướng các phương tiện tự lái.
Trong nghiên cứu này, chúng tôi xây dựng một mơ hình xe tự hành bằng
cách dự đốn góc lái từ hình ảnh thơ được đào tạo qua mạng CNN. Dữ liệu được thu
thập từ một máy ảnh được gắn phía trước xe sau đó được tiền xử lý và đưa vào
mạng CNN để tính tốn giá trị góc lái. Giá trị góc lái sau khi tính tốn được so sánh
với giá trị góc lái mong muốn cho hình ảnh đó và trọng số của CNN được điều
chỉnh để thu được kết quả tốt hơn.
1.2. Mục tiêu đề tài
Mục tiêu của đề tài là huấn luyện một mơ hình xe tự lái có thể tự động điều
hướng theo thời gian thực trong mơi trường ngồi trời với nhiều điều kiện lái xe
khác nhau.
1.3. Giới hạn đề tài

Do hạn chế chính của phương pháp dựa trên thị giác là không bền vững với
những thay đổi về ánh sáng cũng như tác động của nhiễu từ môi trường bên ngồi.
Vì vậy đề tài “Điều hướng xe tự hành dung trí tuệ nhân tạo” có những giới hạn như:

2


chưa chạy được trong môi trường ban đêm, sương mù và quỹ đạo di chuyển còn khá
đơn giản.
1.4. Nội dung đề tài
Đề tài “Điều hướng xe tự hành dung trí tuệ nhân tạo” bao gồm các chương
sau:
Chương I: Tổng quan: Chương này trình bày tổng quan sơ bộ về các yêu
cầu của cuốn báo cáo như đặt vấn đề, mục tiêu, giới hạn và nội dung đề tài.
Chương II: Cơ sở lý thuyết: Chương này trình bày về giới thiệu xe tự hành,
các công nghệ khác nhau được sử dụng trong xe tự hành, tổng quan về trí tuệ nhân
tạo và lý thuyết và mạng nơ-ron tích chập (CNN).
Chương III: Thiết kế phần cứng và lựa chọn thiết bị: Chương này trình
bày về thiết kế phần cứng và lựa chọn thiết bị phần cứng cho mơ hình xe tự hành.
Chương IV: Giải thuật điều khiển xe tự hành : Chương này sẽ trình bày
giải thuật, lưu đồ thu thập dữ liệu huấn luyện, điều hướng xe tự hành bằng mô hình
đã được huấn luyện, cấu trúc mạng và tối ưu hóa các thơng số.
Chương V: Thực nghiệm: Chương này sẽ trình bày về việc thực hiện điều
hướng cho xe tự hành theo hai quỹ đạo hình bầu dục và hình số 8.
Chương VI: Kết quả: Kết luận chung về ưu điểm và hạn chế của đề tài,
khẳng định những kết quả đóng góp đạt được, đề xuất ý kiến để cải thiện khuyết
điểm và định hướng phát triển đề tài.

3



Chương 2:

CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH

2.1. Giới thiệu về xe tự hành
Xe tự hành là phương tiện được thiết kế để di chuyển giữa các điểm đến mà
không cần người lái xe phải liên tục theo dõi đường. Công nghệ của xe tự hành phải
đạt được các mục tiêu sau:
- Xử lý một lượng dữ liệu rất lớn và sử dụng nó để đưa ra quyết định thơng

minh.
- Có khả năng thích nghi với mơi trường đã biết hoặc chưa biết.

Nhìn vào tương lai, chúng ta tin rằng vơ lăng của xe sẽ biến mất hồn tồn và
chiếc xe sẽ tự hành một cách tự động kết hợp với việc sử dụng một số hệ thống cảm
biến, radar và bản đồ GPS. Xe ô tô ngày càng thơng minh hơn được minh họa trong
hình 2.1
Những chiếc xe tự hành sử dụng nhiều công nghệ tự động khác nhau để cung
cấp một phương thức di chuyển thông minh. Việc cung cấp loại phương thức này
đòi hỏi sự đồng bộ hài hịa giữa các cảm biến thu thập thơng tin về mơi trường xung
quanh và các thuật tốn phức tạp xử lý dữ liệu điều khiển xe trong thời gian thực.
Những cơng nghệ này có thể nhận biết đối tượng, con người, ô tô, đánh dấu
đường, biển báo và đèn giao thông, tuân thủ các quy tắc của luật giao thông đường
bộ và cảnh báo nhiều mối nguy hiểm khơng thể đốn trước.

Hình 2.1: Sự phát triển của xe tự hành trong tương lai

4



2.2. Tổng quan về trí tuệ nhân tạo
2.2.1. Trí tuệ nhân tạo (Artificial Intelligence- AI)
Trí tuệ nhân tạo (AI) có sức mạnh phân chia nhiều ngành cơng nghiệp, và
khơng có gì ngạc nhiên khi nó là một trong những chủ đề đáng chú ý nhất trong hầu
hết các vấn đề về khoa học, kinh tế và xã hội hiện nay. Tuy nhiên, AI cũng rất hoài
nghi và các ứng dụng của nó: ngồi việc được áp dụng mạnh mẽ trong quy trình vận
hành cũng như sản xuất của các cơng ty tiên tiến, AI còn được cho là sẽ thay thế
công nhân của con người và phá hủy ngành công nghiệp như chúng ta biết
Trí tuệ nhân tạo được hiểu đơn giản là máy móc sử dụng các q trình ra
quyết định hoặc tính tốn bắt chước nhận thức của con người. Trong thực tế, điều
này đòi hỏi một loại máy có cấu hình phải hiểu thơng tin về mơi trường của nó, cho
dù đó là một khơng gian vật lý hay thông tin liên quan từ cơ sở dữ liệu. Sau đó, một
hệ thống thơng minh nhân tạo có thể sử dụng dữ liệu này để tối ưu hóa các hành
động giúp đạt được mục tiêu cụ thể, như thực hiện lại một hoạt động đã được huấn
luyện trước đó hay chiến thắng một ván cờ.
Trí tuệ nhân tạo là một lĩnh vực rộng bao gồm một số trường con, kỹ thuật và
thuật tốn. Lĩnh vực trí tuệ nhân tạo dựa trên mục tiêu tạo ra một cỗ máy thơng
minh như con người. Đó thực sự là mục tiêu bao trùm ban đầu. Quay trở lại năm
1956, các nhà nghiên cứu đã đến với nhau tại Dartmouth với mục tiêu rõ ràng là lập
trình máy tính để hành xử giống như con người. Đây là sự ra đời hiện đại của trí tuệ
nhân tạo như chúng ta biết ngày nay.
Để giải thích thêm về các mục tiêu của trí tuệ nhân tạo, các nhà nghiên cứu
đã mở rộng mục tiêu chính của họ sang sáu mục tiêu chính sau:
- Lý luận logic: Cho phép máy tính thực hiện các loại nhiệm vụ tinh thần

phức tạp mà con người có khả năng thực hiện. Ví dụ về giải quyết các vấn đề lý
luận logic này bao gồm chơi cờ và giải các bài toán đại số.

5



- Trình bày kiến thức: Cho phép máy tính mơ tả các đối tượng, con người và

ngơn ngữ. Ví dụ về điều này bao gồm ngơn ngữ lập trình hướng đối tượng, chẳng hạn

như Smalltalk.
- Lập kế hoạch và điều hướng: Cho phép một robot đi từ điểm A đến điểm B.

Ví dụ, robot tự lái đầu tiên được chế tạo vào đầu năm 1960.
- Xử lý ngôn ngữ tự nhiên: Cho phép máy tính hiểu và xử lý ngơn ngữ. Một

trong những dự án đầu tiên liên quan đến vấn đề này, đã cố gắng dịch tiếng Anh
sang tiếng Nga và ngược lại.
- Nhận thức: Cho phép máy tính tương tác với thế giới thơng qua thị giác,

thính giác, xúc giác và khứu giác.
Ngay cả với những mục tiêu chính này, điều này khơng phân loại các thuật
tốn và kỹ thuật trí tuệ nhân tạo cụ thể. Đây chỉ là sáu trong số các thuật tốn và kỹ
thuật chính trong trí tuệ nhân tạo:
- Machine Learning là lĩnh vực trí tuệ nhân tạo cung cấp cho máy tính khả

năng học mà khơng cần lập trình rõ ràng.
- Tìm kiếm và tối ưu hóa: Các thuật tốn như Gradient Descent để lặp lại tìm

kiếm tối đa hoặc tối thiểu cục bộ.
- Sự thỏa mãn ràng buộc là quá trình tìm giải pháp cho một tập hợp các ràng

buộc áp đặt các điều kiện mà các biến phải thỏa mãn.
- Lý luận logic: Một ví dụ về lý luận logic trong trí tuệ nhân tạo là một hệ


thống máy tính chuyên gia mô phỏng khả năng ra quyết định của một chuyên gia về
con người.
- Lý luận xác suất là kết hợp lý thuyết xác suất để xử lý sự không chắc chắn

với năng lực logic suy diễn để khai thác cấu trúc của lập luận chính thức.
- Lý thuyết điều khiển là một cách tiếp cận chính thức để tìm các bộ điều khiển

có các thuộc tính có thể chứng minh được. Điều này thường liên quan đến một hệ

thống các phương trình vi phân, thường mơ tả một hệ thống vật lý như robot hoặc
máy bay.

6


Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning
Trí tuệ nhân tạo, học máy và học sâu là mỗi tập hợp con của trường trước đó
như trong Hình 2.2. Trí tuệ nhân tạo là thể loại bao quát cho Machine Learning.
Ngoài ra, Machine Learning là danh mục bao quát cho Deep Learning.
2.2.2. Machine Learning
Machine Learning là một tập hợp con của trí tuệ nhân tạo. Trí tuệ nhân tạo
nhằm mục đích làm cho máy tính trở nên thông minh, khái niệm Machine Learning
được hiểu rằng chúng ta nên cung cấp dữ liệu cho máy tính và để máy tính tự học.
Ý tưởng cho rằng máy tính có thể tự học được đã được Arthur Samuel đưa ra vào
năm 1959.
Một bước đột phá lớn đã dẫn đến sự xuất hiện của Machine Learning với tư
cách là động lực thúc đẩy trí tuệ nhân tạo là phát minh của internet. Internet đi kèm với
một lượng lớn thông tin về kỹ thuật số đang được tạo ra, lưu trữ và cung cấp để phân
tích. Đây là khi bạn bắt đầu nghe về dữ liệu lớn (big data). Hơn nữa, các thuật tốn

Machine Learning đã có hiệu quả nhất trong việc tận dụng tất cả dữ liệu lớn này.
Mạng nơ-ron là một phần quan trọng và thành công nhất của một số thuật toán
Machine Learning. Sự phát triển của mạng lưới thần kinh là chìa khóa để dạy máy tính
suy nghĩ và hiểu thế giới theo cách mà con người làm. Về cơ bản, một mạng lưới thần
kinh mô phỏng bộ não của con người. Các tế bào não, hay tế bào thần kinh, được kết
nối thông qua các khớp thần kinh. Điều này được trừu tượng hóa như một biểu

7


đồ của các nút (nơ ron) được kết nối bởi các cạnh có trọng số (khớp thần kinh). Cấu
trúc của một tế bào thần kinh sinh học được minh họa trong hình 2.3.
Bộ não của chúng ta sử dụng các mạng nơ-ron liên kết cực lớn để xử lý thông
tin và mơ hình hóa thế giới chúng ta đang sống. Các đầu vào được truyền qua mạng
lưới các nơ-ron này tạo ra đầu ra. Trong trường hợp não sinh học, điều này có thể
dẫn đến việc co thắt cơ bắp hoặc báo hiệu tuyến mồ hôi của bạn tiết ra mồ hôi. Một
nơ-ron thu thập các đầu vào bằng cách sử dụng một cấu trúc gọi là đuôi gai, nơ-ron
tổng hợp một cách hiệu quả tất cả các đầu vào này từ các sợi nhánh và nếu giá trị
kết quả lớn hơn ngưỡng loại bỏ của nó, thì nơ-ron sẽ xuất ra. Khi tế bào thần kinh
xuất ra, nó sẽ gửi một xung điện qua sợi trục của tế bào thần kinh đến các nút của
nó. Những nút này sau đó có thể được nối mạng với hàng ngàn tế bào thần kinh
khác thông qua các kết nối được gọi là khớp thần kinh. Có khoảng một trăm tỷ
(100.000.000) tế bào thần kinh bên trong não người, mỗi bộ có khoảng một nghìn
kết nối khớp thần kinh. Đó là cách hiệu quả mà các khớp thần kinh này có dây
mang lại cho bộ não của chúng ta khả năng xử lý thơng tin theo cách chúng làm.

Hình 2.3: Cấu trúc của một tế bào thần kinh sinh học

8



Các mơ hình nơ-ron ở các mơ hình đơn giản hóa của chúng cốt lỗi dựa trên
các nơ-ron sinh học. Điều này cho phép họ nắm bắt được bản chất của một tế bào
thần kinh sinh học hoạt động như thế nào. Chúng ta thường gọi những tế bào thần
kinh nhân tạo này là “nhận thức” (perceptions).
Như được hiển thị trong Hình 2.4, một tri giác (perceptron) điển hình sẽ có
nhiều đầu vào và các đầu vào này đều có trọng số riêng. Các trọng số perceptron có
thể khuếch đại hoặc khử tín hiệu đầu vào ban đầu. Ví dụ: nếu đầu vào là 1 và trọng
số của đầu vào là 0,2 thì đầu vào sẽ giảm xuống 0,2. Các tín hiệu có trọng số này
sau đó được thêm vào với nhau và được chuyển vào chức năng kích hoạt. Chức
năng kích hoạt được sử dụng để chuyển đổi đầu vào thành đầu ra hữu ích hơn. Có
nhiều loại chức năng kích hoạt khác nhau nhưng một trong những cách đơn giản
nhất sẽ là chức năng bước. Hàm bước thường sẽ xuất 1 nếu đầu vào cao hơn
ngưỡng nhất định, nếu khơng, đầu ra của nó sẽ là 0.
Chi tiết về một số thành phần này:
- Tế bào thần kinh: một mạng lưới thần kinh là một biểu đồ của các tế bào
thần kinh. Tương tự, một mạng lưới thần kinh có đầu vào và đầu ra. Các đầu vào và
đầu ra của một mạng nơ ron được thể hiện bằng các nơ ron đầu vào và các nơ ron
đầu ra. Tế bào thần kinh đầu vào khơng có tế bào thần kinh tiền thân nhưng có đầu
ra. Tương tự, một nơ-ron đầu ra khơng có nơ-ron kế tiếp nhưng khơng có đầu vào.
- Kết nối và trọng số: Một mạng lưới thần kinh bao gồm các kết nối, mỗi kết

nối chuyển đầu ra của một nơron sang đầu vào của một nơron khác. Mỗi kết nối
được gán một trọng số.
- Chức năng lan truyền: Chức năng lan truyền tính toán đầu vào của một nơron

từ đầu ra của các nơ ron tiền thân. Chức năng nhân giống được tận dụng trong giai
đoạn nhân giống về phía trước của đào tạo.

9



×