Khả năngtính toán và phân tích dữ liệu của AI có thể giúp xác định các hành tinh tiềmnăng cho sự sinh tồn của loài người, tìm hiểu về nguồn năng lượng và tàinguyên mới, và nghiên cứu về
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Thành viên nhóm :
Nguyễn Chu Kiều Trang 21CN1
Nguyễn Thị Tâm Nhi 21CN1
Giảng viên hướng dẫn : Ths.Nguyễn Quốc Huy
Đề tài :
ÁP DỤNG AI TRONG VIỆC TÌM ĐƯỜNG ĐI CHO
ÔTÔ
TIỂU LUẬNTRÍ TUỆ NHÂN TẠO
Nhóm: 07
Trang 2từ những con robot với khả năng xử lý công việc nhỏ cho đến những siêu máytính được thu nhỏ trong hình dạng một cỗ máy Việc nhân loại nắm trong taycông nghệ Trí tuệ nhân tạo đã giúp chúng ta thực hiện các công việc tưởng nhưkhông thể, khám phá và phân tích những nơi mà chúng ta không thể đặt chântới.
Trí tuệ nhân tạo có thể thực hiện các nhiệm vụ mà cần đòi hỏi công sứclớn và tính chính xác, giảm bớt áp lực công việc và mệt mỏi cho con người Ví
dụ, robot công nghiệp có thể thực hiện công việc khó khăn và nguy hiểm.Ngoài ra còn giúp khám phá và thay đổi lớn trong nhiều lĩnh vực, dự đoán vàtối ưu hóa quyết định dựa trên dữ liệu Mặc dù đem lại cho nhân loại lợi ích tolớn, những nó đồng thời cũng là nguyên nhân chính gây ra tình trạng thấtnghiệp và sự phụ thuộc vào trí truệ nhân tạo của loài người
Trang 3MỤC LỤC PHẦN I: ĐẶT VẤN ĐỀ
3 I Lý do lựa chọn đề tài
II Bảng phân công công việc
PHẦN II: TÌM HIỂU ĐỀ TÀI
I Phân tích bài toán
II Cơ sở lý thuyết
2.1 Ngôn ngữ Python
2.2 Ứng dụng Python đối với đề tài
2.3 Học máy (Machine Learning)
2.4 Thuật toán NEAT
III Biểu diễn trạng thái bài toán
3.1 Trạng thái của Xe
3.2 Trạng thái màn hình hiển thị
3.3 Trạng thái bản đồ
3.4 Trạng thái thời gian
3.5 Mạng nơ ron
IV Cấu trúc dữ liệu lưu trữ và cài đặt
4.1 Biến toàn cục
4.2 Lớp Car
4.3 Hàm run_car
4.4 Khởi tạo NEAT
4.5 Vòng lặp chính
4.6 Hoàn thiện bài toán
V Giao diện và kết quả
5.1 Giao diện
5.2 Kết quả
Trang 4Trong tương lai, con người sẽ không chỉ dừng lại ở việc khám phá mộtvài hành tinh, ghé thăm đáy đại dương, hay khám phá biển, mặt trăng Sự hiệndiện của AI đã mở ra tầm nhìn mới về việc khai phá toàn bộ vũ trụ Khả năngtính toán và phân tích dữ liệu của AI có thể giúp xác định các hành tinh tiềmnăng cho sự sinh tồn của loài người, tìm hiểu về nguồn năng lượng và tàinguyên mới, và nghiên cứu về cuộc sống trên các hành tinh khác.
Tuy nhiên, một trong những ứng dụng thực tế và quan trọng của AIngay trong thời điểm hiện tại là trong việc tự động tìm kiếm đường đi cho ô tô.Đây là một lĩnh vực đang chứng kiến sự phát triển đáng kể và có tác động đếnhàng tỷ người trên khắp thế giới
Trí tuệ nhân tạo đóng một vai trò then chốt trong việc cải thiện tìnhtrạng giao thông và tìm kiếm đường đi an toàn và hiệu quả cho ô tô AI có khảnăng phân tích dữ liệu giao thông thời gian thực, xem xét các yếu tố như lưulượng xe cộ, tình hình thời tiết, và sự cố trên đường để đưa ra các quyết địnhthông minh về tuyến đường tốt nhất Điều này không chỉ giúp giảm tình trạng
Trang 5ùn tắc giao thông, mà còn giúp giảm nguy cơ tai nạn giao thông, vì AI có khảnăng dự đoán và tránh được các tình huống nguy hiểm.
Ngoài ra, việc giảm thiểu thời gian di chuyển trong giao thông đô thịcũng đồng nghĩa với việc giảm lượng khí thải và tiêu thụ nhiên liệu Sự tối ưuhóa tuyến đường có thể giúp tiết kiệm hàng triệu gallon xăng dầu và giảm tácđộng đến môi trường Điều này trở thành một phần quan trọng trong cuộcchiến chống lại biến đổi khí hậu và ô nhiễm môi trường
Bên cạnh các lợi ích kể trên, việc nghiên cứu và phát triển trong lĩnhvực tìm kiếm đường đi cho ô tô còn có tiềm năng tạo ra cơ hội kinh doanh vàlàm thay đổi ngành công nghiệp ô tô Các công ty công nghệ và sản xuất ô tôđang cạnh tranh để cung cấp các dịch vụ tìm kiếm đường đi thông minh và đadạng
Trong bối cảnh này, nghiên cứu về tìm kiếm đường đi cho ô tô trở thànhmột mảng công nghệ quan trọng, không chỉ giúp cải thiện cuộc sống hàng ngày
mà còn có tiềm năng thay đổi tương lai của chúng ta và cả tương lai của việckhám phá không gian và vũ trụ
II Bảng phân công công việc
Tên thành viên Mã sinh viên Công việc được giao Tiến độ
trúc dữ liệu về thiết lậpđối tượng
20%
và cách thức nhân diệnbản đồ
năng tìm đường của đối
20%
Trang 6tượngNguyễn Thị Tâm Nhi 2155010191 Tìm hiểu và thiết lập
giao diện màn hình
20%
PHẦN II: TÌM HIỂU ĐỀ TÀI
I Phân tích bài toán
Dự án triển khai thuật toán NEAT (NeuroEvolution of AugmentingTopologies) để hỗ trợ ô tô tìm đường đi trên một bản đồ là một ứng dụng thú vịcủa Trí tuệ Nhân tạo và học tăng cường Bằng việc sử dụng ngôn ngữ lập trìnhPython và thư viện NEAT-Python, chúng ta có thể đạt được mục tiêu này
Trước hết, chúng ta cần thiết lập mô hình NEAT bằng cách định rõ cácinput và output của mạng nơ-ron Các input có thể là dữ liệu từ các radar trên ô
tô, ví dụ như khoảng cách đến các vật cản xung quanh Các output có thể đạidiện cho các hành động điều khiển như tăng tốc, phanh, quẹo trái/phải
Tiếp theo, chúng ta xác định cách đánh giá hiệu suất của mạng nơ-ron,thường là dựa trên số lần va chạm Mạng nơ-ron sẽ được đánh giá cao nếu thựchiện ít va chạm hơn Quy tắc chọn lọc và tiến hóa của NEAT sẽ tạo ra các thế
hệ mới của mạng nơ-ron, kết hợp các mạng tốt nhất từ các thế hệ trước và thayđổi kiến trúc của chúng để tạo ra sự đột phá
Sau khi mô hình đã được thiết lập, chúng ta bắt đầu quá trình huấnluyện Mạng nơ-ron sẽ học từ các dữ liệu đầu vào và cố gắng tránh va chạmtrong quá trình điều khiển ô tô Các thế hệ tiếp theo sẽ tiếp tục tiến hóa và cảithiện hiệu suất
Chương trình sẽ kết thúc khi số lượng thế hệ hoặc số lần lặp đã đạt giớihạn Lúc này, mạng nơ-ron tốt nhất sẽ được lưu lại Khi ô tô thực hiện đường
đi, mạng nơ-ron tốt nhất này sẽ được sử dụng để đưa ra quyết định về hànhđộng dựa trên dữ liệu radar và thông tin môi trường Chương trình kết thúc khi
ô tô đi hết được bản đồ mà không có va chạm nào xảy ra
Trang 7II Cơ sở lý thuyết
II.1 Ngôn ngữ Python
Python phiên bản 2.0 (2000-2010): Phiên bản Python 2.0 được phát hànhvào năm 2000 và được phát triển song song với Python 1.0 Phiên bản Python2.0 trở nên rất phổ biến và ổn định trong thập kỷ sau đó, với các phiên bản như2.7 cuối cùng được phát hành vào năm 2010
Python phiên bản 3.0 (2008-hiện tại): Phiên bản Python 3.0 (còn gọi làPython 3000 hoặc Py3k) được phát hành vào năm 2008 Phiên bản này đánhdấu một sự thay đổi lớn về cú pháp và thư viện so với Python 2.0, với mục tiêu
là làm cho ngôn ngữ trở nên rõ ràng hơn và loại bỏ những tính năng lỗi thời.Mặc dù có sự chậm trễ trong việc chuyển từ Python 2.0 sang Python 3.0 do sựkhông tương thích ngược, nhưng Python 3.0 đã trở thành phiên bản chínhthống và phát triển tiếp tục trong loạt 3.0
2.1.2 Đặc điểm Python
Ưu điểm của Python
- Dễ Đọc và Viết: Python được thiết kế với cú pháp rất dễ đọc, giúp các
lập trình viên tạo mã nguồn dễ dàng đọc và hiểu Điều này giúp tăng hiệu suấtphát triển và bảo trì mã nguồn Python làm cho việc lập trình trở nên thứ vị,cho phép bạn tập trung vào giải pháp chứ không phải các cú pháp
Trang 8- Ngôn Ngữ Tự Nhiên: Python sử dụng các từ và cú pháp gần gũi với
ngôn ngữ tự nhiên, giúp giảm ngưỡng học và nâng cao tính đồng thuận trongđội ngũ phát triển
- Miễn phí, mã nguồn mở: Python là ngôn ngữ mã nguồn mở, có nghĩa
là ai cũng có thể xem, sửa đổi và phân phối mã nguồn mà không gặp rào cảnpháp lý Bạn có thể tự do sử dụng và phân phối Python, thậm chí là dùng chomục đích thương mại Vì là mã nguồn mở, bạn không những có thể sử dụngcác phần mềm, chương trình được viết trong Python mà còn có thể thay đổi mãnguồn của nó Python có một cộng đồng rộng lớn, không ngừng cải thiện nómỗi lần cập nhật
- Đa Năng: Python có thể được sử dụng trong nhiều lĩnh vực khác nhau,
bao gồm phát triển ứng dụng web, trí tuệ nhân tạo, khoa học dữ liệu, game, vànhiều ứng dụng khác Giả sử bạn giả sử bạn đã viết mã Python cho máyWindows của mình Bây giờ, nếu bạn muốn chạy nó trên máy Mac, bạn khôngcần phải thay đổi nó như cũ Nói cách khác, bạn có thể lấy một mã và chạy nótrên bất kỳ máy nào, không cần phải viết mã khác nhau cho các máy khácnhau Điều này làm cho Python trở thành một ngôn ngữ di động, đa năng
- Thư Viện Phong Phú: Python đi kèm với một loạt các thư viện và
framework mạnh mẽ, giúp đơn giản hóa việc phát triển ứng dụng và giải quyếtcác vấn đề phức tạp Ví dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Webserver? Bạn có thể nhập thư viện MySQLdb và sử dụng nó Có các thư việncho các biểu thức thông thường, tạo tài liệu, kiểm tra đơn vị, trình duyệt web,phân luồng, cơ sở dữ liệu, CGI, email, thao tác hình ảnh và rất nhiều chức năngkhác Vì vậy, bạn có thể chắc chắn rằng nó sẽ không làm hỏng code hay ứngdụng của mình
Trang 9 Ví dụ về một số cú pháp Python đơn giản
Hình 2.1 Ví dụ về cú pháp trong Python
II.2 Ứng dụng Python đối với đề tài
- Tạo và Kiểm Tra Bản Đồ Đường: Python có thể được sử dụng để
xây dựng bản đồ đường cho xe tự động thông qua dự án như OpenStreetMap
và các thư viện như Folium để hiển thị bản đồ Các dự án và thư viện này cungcấp dữ liệu địa lý và cấu trúc dữ liệu cho việc tạo và kiểm tra bản đồ đường
- Thuật Toán Tìm ĐườngPython thường được sử dụng để triển khai
các thuật toán tìm đường đi như Dijkstra, A*, hoặc thuật toán tìm đường tối ưukhác Thư viện như NetworkX cung cấp các công cụ để xây dựng và thực hiệncác thuật toán tìm đường trên đồ thị
- Mô Phỏng Hành Vi Xe Ô TôPython có thể được sử dụng để mô
phỏng hành vi của xe ô tô trong các môi trường ảo để kiểm tra và đánh giá cácthuật toán lái xe tự động
- Điều Khiển Xe Tự Động: Python có thể được sử dụng để triển khai
và kiểm tra các thuật toán điều khiển xe tự động Các thư viện như CARLAcung cấp môi trường mô phỏng cho phát triển và kiểm tra xe tự động
Trang 10- Làm Việc với Dữ Liệu LIDAR và Camera: Python có thể được sử
dụng để xử lý dữ liệu từ cảm biến như LIDAR và camera để phát hiện và theodõi các vật thể xung quanh xe
- Học Máy và Trí Tuệ Nhân Tạo: Python là ngôn ngữ phổ biến cho
việc phát triển mô hình học máy và trí tuệ nhân tạo để giúp xe tự động họccách lái và đưa ra quyết định an toàn
- Kết Nối Mạng và Giao Tiếp Với Xe Tự Động: Python có thể được
sử dụng để tạo giao diện và ứng dụng để điều khiển và tương tác với xe tựđộng thông qua kết nối mạng và giao thức truyền dữ liệu
II.3 Học máy (Machine Learning)
II.3.1.Khái niệm
Học máy (Machine learning) là khả năng chương trình máy tính sửdụng kinh nghiệm, quan sát, hoặc dữ liệu trong quá khứ để cải thiện công việccủa mình trong tương lai Chẳng hạn, máy tính có thể học được cách dự đoándựa trên các ví dụ, hay học cách tạo ra các hành vi phù hợp dựa trên quan sáttrong quá khứ
II.3.2.Mạng Nơ-ron
Khái niệm: Mạng nơ-ron nhân tạo là một chuỗi những thuật toánđược đưa ra để tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu.Thông qua việc bắt bước cách thức hoạt động từ não bộ con người Nói cáchkhác, mạng nơ ron nhân tạo được xem là hệ thống của các tế bào thần kinhnhân tạo Đây thường có thể là hữu cơ hoặc nhân tạo về bản chất
Trang 11Hình 2.2 Ví dụ về mạng nơ ron
Mạng nơ-ron có khả năng thích ứng được với mọi thay đổi từ đầuvào Do vậy, nó có thể đưa ra được mọi kết quả một cách tốt nhất có thể màbạn không cần phải thiết kế lại những tiêu chí đầu ra
Đặc điểm: Trong lĩnh vực tài chính, mạng nơ ron nhân tạo hỗ trợ choquá trình phát triển các quy trình như: giao dịch thuật toán, dự báo chuỗi thờigian, phân loại chứng khoán, mô hình rủi ro tín dụng và xây dựng chỉ báo độcquyền và công cụ phát sinh giá cả Mạng nơ ron nhân tạo có thể hoạt động nhưmạng nơ ron của con người Mỗi một nơ ron thần kinh trong nơ ron nhân tạo làhàm toán học với chức năng thu thập và phân loại các thông tin dựa theo cấutrúc cụ thể
II.4 Thuật toán NEAT
II.4.1.Cơ sở lý thuyết
NEAT là viết tắt của NeuroEvolution of Augmenting Topologies,một thuật toán di truyền được sử dụng trong lĩnh vực học tăng cường(reinforcement learning) và học máy (machine learning) Thuật toán NEATđược phát triển bởi Kenneth O Stanley và Risto Miikkulainen vào năm 2002
NEAT là một thuật toán tối ưu hóa di truyền dựa trên việc tiến hóamạng nơ-ron nhân tạo (neural networks) để giải quyết các bài toán phức tạp.Thuật toán này cho phép tự động tạo ra và tiến hóa cấu trúc của mạng nơ-ron,bao gồm các liên kết (connections) và nơ-ron (neurons)
Thuật toán NEAT sử dụng một chiến lược đặc biệt để tăng cườngtính đa dạng và khả năng tiến hóa của mạng nơ-ron Thay vì chỉ thêm hoặc xóacác liên kết và nơ-ron, NEAT cho phép tiến hóa cả cấu trúc mạng nơ-ron theothời gian Điều này giúp thuật toán NEAT có thể tìm ra các cấu trúc mạng phứctạp hơn để giải quyết các bài toán khó khăn
Thuật toán NEAT đã được áp dụng thành công trong nhiều lĩnh vựcnhư điều khiển robot, chơi game và các bài toán tối ưu hóa Nó đã được chứng
Trang 12minh là có khả năng tạo ra các mạng nơ-ron có hiệu suất tốt hơn so với cácphương pháp tiến hóa truyền thống.
2.4.2 Ứng dụng của thuật toán NEAT
- Điều khiển robot: NEAT có thể tạo ra các mạng nơ-ron để điềukhiển robot trong môi trường không xác định và thay đổi
- Chơi game: NEAT đã được sử dụng để tạo ra các chương trìnhchơi game tự động, như chơi Mario hoặc chơi các trò chơi trên Atari
- Tối ưu hóa: NEAT có thể được sử dụng để tìm ra cấu trúc mạngnơ-ron tối ưu cho các bài toán tối ưu hóa
2.4.3.Thuật toán NEAT đối với đề tài tìm đường đi cho oto
Kế đến, các vật cản trên đường đi của oto (nếu có) cần được bố trí hợp
lý trên bản đồ Các thông số của oto cũng cần được các định và cài đặt như:vận tốc, hướng đi, hình dạng của oto, hướng di chuyển,…
Xác định các hành động mà oto có thể thực hiện Các thiết lập giúpcho oto có thể di chuyển sang trái, di chuyển sang phải, tăng/giảm tốc độ, dừnglại và nhiều hành động khác
Xác định cấu trúc mạng nơ-ron:
Xác định số lượng nơ-ron đầu vào tương ứng với các trạng thái củamôi trường và oto Xác định số lượng nơ-ron đầu ra tương ứng với các hànhđộng của oto Cấu trúc mạng nơ-ron có thể được xác định trước hoặc cho phéptiến hóa tạo ra cấu trúc mạng
Định nghĩa hàm fitness:
Trang 13Xác định tiêu chí để đánh giá hiệu suất của oto trong việc tìm đường
đi Ví dụ: khoảng cách đã di chuyển, thời gian hoàn thành, số lần va chạm, v.v.Dựa trên các tiêu chí này, xây dựng một hàm fitness để tính điểm cho mỗigenome (mạng nơ-ron) trong quần thể
Tiến hóa quần thể:
Sử dụng thuật toán NEAT để tiến hóa các genome (mạng nơ-ron)trong quần thể Áp dụng các toán tử tiến hóa như lai ghép, đột biến để tạo rathế hệ tiếp theo Đánh giá hiệu suất của các genome bằng cách sử dụng hàmfitness và lựa chọn genome tốt nhất để tiếp tục tiến hóa
Lặp lại quá trình tiến hóa:
Lặp lại các bước 3 và 4 cho đến khi đạt được kết quả tối ưu hoặc điềukiện dừng được đáp ứng Điều kiện dừng có thể là số thế hệ, đạt được kết quảmong muốn hoặc không có sự tiến bộ đáng kể
Kiểm thử và đánh giá:
Thử nghiệm genome tốt nhất được tìm thấy trong quá trình tiến hóa.Đánh giá hiệu suất của genome tốt nhất trong các tình huống thực tế để xácnhận tính khả thi và hiệu quả của nó
Trang 14III Biểu diễn trạng thái bài toán
III.1 Trạng thái của Xe
Trạng thái
Tên biến dùng trong đề tài
Biểu diễn
hiện tọa độ x và y của xe trên màn hình
self.pos = [700, 650]
xe Góc này được cập nhật khi xe quay
self.angle = 0
trị cố định
self.speed = 5
Trung tâm center Đây là tọa độ của trung tâm của xe và được tính
từ pos Nó sẽ được sử dụng để tính toán vị trícủa các cảm biến radar
self.center = [self.pos[0] + 50,
self.pos[1] + 50]
Cảm biến
Radar
radars Một danh sách chứa các thông tin về cảm biến
radar của xe Mỗi cảm biến bao gồm một tọa độ
và khoảng cách từ xe đến vật cản tương ứng vớigóc quay hiện tại của xe
def check_radar(self, degree, map):
len = 0
x = int(self.center[0] + math.cos(math.radians(360 - (self.angle + degree))) * len)
y = int(self.center[1] + math.sin(math.radians(360 -
Trang 15(self.angle + degree))) * len)
while not map.get_at((x, y))
== (255, 255, 255, 255) and len
< 300: len = len + 1
x = int(self.center[0] +math.cos(math.radians(360 -
(self.angle + degree))) * len)
y = int(self.center[1] +math.sin(math.radians(360 -
(self.angle + degree))) * len)
int(math.sqrt(math.pow(x -
self.center[0], 2) + math.pow(y
- self.center[1], 2))) self.radars.append([(x, y),
return self.is_alive
thành vòng đua hoặc mục tiêu khác)
self.goal = False
Khoảng cách
đi được
distance Là khoảng cách mà xe đã di chuyển từ khi bắt
đầu hoặc từ lần cuối hoàn thành mục tiêu
Trang 16Trạng thái màn hình hiển thị trong bài toán là sự đại diện cho trạng tháicủa cửa sổ Pygame và nội dung được hiển thị trong màn hình
Trạng thái màn hình thay đổi trong mỗi vòng lặp của trò chơi Các đốitượng (xe và bản đồ) được vẽ lại, và thông tin cập nhật được hiển thị trên mànhình Điều này tạo ra sự tương tác và thay đổi liên tục trong trò chơi, cho phép
xe tham gia đua và thu thập dữ liệu để đào tạo mạng nơron của chúng
III.2.3 Các vùng hiển thị trên màn hình
Màn hình được chia thành các vùng hiển thị khác nhau, chẳng hạn như:Vùng hiển thị cho bản đồ đường đua (map) được vẽ bằng lệnh:
screen.blit(map, (0, 0))
Các vùng hiển thị văn bản cho thông tin như thời gian đã trôi qua, thế
hệ hiện tại và số lượng xe còn sống
III.2.4 Sự kiện của màn hình
Màn hình Pygame sẽ xử lý các sự kiện như sự kiện đóng cửa sổ
(pygame.QUIT) Nếu người chơi tương tác để đóng cửa sổ, chương trình sẽ
thoát
III.3 Trạng thái bản đồ
Trang 17Môi trường tìm đường của xe được biểu diễn bằng một hình ảnh (hình ảnhđường đua) Xe di chuyển trên bản đồ này và phải tránh va chạm với các vậtcản được biểu diễn bằng màu trắng trong hình ảnh.
Bản đồ được phân cấp theo 3 mức độ khó: Easy, Medium và Hard
Hình 3.1 Bản đồ ở trạng thái Easy
Bản đồ này được thiết kế dựa trên ý tưởng đơn giản Đối tượng sẽ di chuyển
và tìm đường trên bản đồ không có chướng ngại vật và số lượng góc cua sẽ ít nhất
Trang 18Hình 3.2 Bản đồ ở trạng thái Medium
Ở trạng thái này bản đồ sẽ được nâng cấp thêm nhiều đoạn cua, đường đi cũng được kéo dài hơn Việc này nhằm nâng độ khó cho việc học hỏi của đối tượng
Hình 3.3 Bản đồ ở trạng thái Hard
Khác với 2 trạng thái bản đồ trước, bản nâng cấp trạng thái này đã bổ sung thêm đường tắt và ngõ cụt Điều này giúp chúng ta khảo sát thêm được quá trình mà đối tượng học tập thông qua thuật toán NEAT
III.4 Trạng thái thời gian
Trạng thái thời gian được theo dõi để tính toán thời gian đã trôi qua từ khiứng dụng bắt đầu Thời gian này được sử dụng để hiển thị lên màn hình và để
đo thời gian một vòng đua hoặc mục tiêu khác
Trang 19Hình 3.4 Trạng thái thời gian được hiển thị
III.5 Mạng nơ ron
Đóng vai trò quan trọng trong việc đièu khiển hành vị của xe tự lái Mỗi đốitượng sẽ được trang bị một mạng nơ – ron riêng biệt cho phép nó tự đưa raquyết định về cách điều chỉnh góc quay của xe dựa trên thông tin thu thập từcác cảm biến radar
Hình 3.5 Biểu diễn trạng thái radar
Các cảm biến radar trên xe hoạt động như "mắt" của nó, quét môi trườngxung quanh và gửi dữ liệu về khoảng cách đến các vật cản Mạng nơ-ron củamỗi xe nhận thông tin này và tiến hành xử lý để đưa ra quyết định Thông quaquá trình học máy, mạng nơ-ron đã được đào tạo để phản ứng phù hợp với môitrường, dự đoán các tình huống tiềm năng và điều chỉnh góc quay của xe đểtránh va chạm hoặc tiến gần đến mục tiêu
Quá trình học máy là một phần quan trọng của việc điều khiển xe tự lái.Trong quá trình đào tạo, các mạng nơ-ron được cung cấp dữ liệu từ các trườnghợp tương tự với các tình huống thực tế mà xe có thể gặp phải Dựa trên dữliệu này, mạng nơ-ron học cách phản ứng một cách thích hợp và tối ưu hóahành vi của xe
Nhờ vào sự kết hợp giữa cảm biến radar và mạng nơ-ron, các chiếc xe trongtrò chơi có khả năng tự điều chỉnh và thích nghi với môi trường, thực hiện cácpha chuyển động thông minh và an toàn Điều này tạo ra một trải nghiệm đua
Trang 20xe đầy thách thức và thú vị, đồng thời minh chứng sự ứng dụng mạnh mẽ củahọc máy và trí tuệ nhân tạo trong lĩnh vực xe tự lái và tự động hóa.