Triển Khai Hệ Thống Nhận Dạng và Lập Kế Hoạch Cho Xe Tự Hành

Khóa luận trình bày các tác vụ nhận dạng và lập kế hoạch cho xe tự hành trên hệ thống đa máy tính nhúng, mang lại giải pháp hiệu quả cho công nghệ hiện đại.

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2023

88
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Tình hình hành công nghiệp Automotive. Tình hình nghiên cứu trên thế giới. Tình hình nghiên cứu trong nước

1.2. Mục tiêu đề tài. Phương pháp thực hiện

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ĐỀ TÀI

2.1. Stream Socket và Datagram Socket. Socket là dấu ấn. Giao thức MQTT

2.2. Kiến trúc thành phần. Mô hình Pub/Sub. Kiến trúc Entity Components System. Kinematic Bicycle model. Mô hình YOLOP

2.3. Hàm độ lỗi và phương pháp huấn luyện

3. CHƯƠNG 3: GIẢI PHÁP ĐỀ XUẤT

3.1. Thiết kế kiến trúc hệ thống

3.2. Cơ chế giao tiếp trong MULTI-COMP. Thiết kế cơ chế truyền tensor sử dụng Stream Sockets. Sử dụng MQTT trong điều phối hệ thống. Giao tiếp giữa Node Master Controller với Node Vehicles

3.3. Thiết kế kiến trúc phần mềm. Thiết kế Node Backbone chạy Pipelines trên mô hình ECS

3.4. Thiết kế Node Segment chạy pipeline trên mô hình ECS. Thiết kế node Master Controller trong hệ thống

3.5. Car Controller System. Thiết kế giải thuật điều khiển Ultra-Fast Control. Phương pháp tìm kiếm lộ trình di chuyển. Phương pháp Ultra-Fast Control

3.6. Thiết kế hệ thống phần cứng

4. CHƯƠNG 4: KẾT QUẢ THỰC HIỆN

4.1. Kết quả tốc độ xử lý và độ trễ hệ thống

4.2. Tốc độ truyền Tensor. Tốc độ xử lý Node Backbone. Tốc độ xử lý Node Segment. Điện năng tiêu thụ

4.3. Kết quả giải thuật điều khiển trên môi trường mô phỏng. Kết quả chạy hệ thống trên phương tiện thực tế

5. CHƯƠNG 5: ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA ĐỀ TÀI

5.1. Nhược điểm. Khó khăn gặp phải. Hướng phát triển đề tài

LỜI CAM ĐOAN

LỜI CẢM ƠN

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Tổng Quan Về Triển Khai Hệ Thống Nhận Dạng Xe Tự Hành

Hệ thống nhận dạng và lập kế hoạch cho xe tự hành đang trở thành một trong những lĩnh vực nghiên cứu nóng bỏng nhất hiện nay. Công nghệ này không chỉ giúp cải thiện an toàn giao thông mà còn tối ưu hóa quy trình vận chuyển hàng hóa. Việc triển khai hệ thống này đòi hỏi sự kết hợp chặt chẽ giữa phần mềm và phần cứng, cùng với các thuật toán tiên tiến để xử lý dữ liệu từ cảm biến. Nghiên cứu này sẽ cung cấp cái nhìn tổng quan về các công nghệ hiện có và xu hướng phát triển trong tương lai.

1.1. Tình Hình Nghiên Cứu Về Xe Tự Hành

Nghiên cứu về xe tự hành đã phát triển mạnh mẽ trên toàn cầu, với nhiều công ty và tổ chức tham gia. Các công nghệ như hệ thống nhận dạnglập kế hoạch cho xe tự hành đang được cải tiến liên tục. Các cuộc thi như DARPA Urban Challenge đã thúc đẩy sự phát triển này, tạo ra nhiều sản phẩm và giải pháp mới.

1.2. Xu Hướng Công Nghệ Trong Ngành Ô Tô

Công nghệ xe tự hành đang chứng kiến sự bùng nổ với sự xuất hiện của nhiều sản phẩm mới từ các công ty lớn như Tesla và Google. Những công nghệ như trí tuệ nhân tạocảm biến lidar đang được áp dụng rộng rãi, tạo ra những giải pháp an toàn và hiệu quả hơn cho việc di chuyển.

II. Vấn Đề và Thách Thức Trong Triển Khai Hệ Thống Nhận Dạng

Mặc dù công nghệ xe tự hành đã có những bước tiến đáng kể, nhưng vẫn còn nhiều thách thức cần phải vượt qua. Các vấn đề như độ chính xác của cảm biến, khả năng xử lý dữ liệu lớn và an toàn trong giao thông vẫn đang là những câu hỏi lớn. Việc phát triển một hệ thống có thể hoạt động hiệu quả trong môi trường thực tế là một thách thức không nhỏ.

2.1. Độ Chính Xác Của Cảm Biến

Độ chính xác của các cảm biến như lidar và camera là rất quan trọng trong việc nhận diện môi trường xung quanh. Các nghiên cứu cho thấy rằng việc cải thiện độ chính xác này có thể giảm thiểu tai nạn và tăng cường an toàn cho xe tự hành.

2.2. Khả Năng Xử Lý Dữ Liệu Lớn

Xe tự hành cần xử lý một lượng lớn dữ liệu từ nhiều cảm biến khác nhau trong thời gian thực. Việc phát triển các thuật toán tối ưu để xử lý dữ liệu này là một thách thức lớn, đòi hỏi sự kết hợp giữa phần mềm và phần cứng mạnh mẽ.

III. Phương Pháp Triển Khai Hệ Thống Nhận Dạng Cho Xe Tự Hành

Để triển khai hệ thống nhận dạng và lập kế hoạch cho xe tự hành, cần áp dụng các phương pháp và công nghệ tiên tiến. Việc sử dụng các mô hình học sâu và thuật toán tối ưu sẽ giúp cải thiện hiệu suất của hệ thống. Hệ thống MULTI-COMP được phát triển nhằm tối ưu hóa việc xử lý dữ liệu và chia sẻ thông tin giữa các máy tính nhúng.

3.1. Sử Dụng Mô Hình YOLOP Trong Nhận Dạng

Mô hình YOLOP được sử dụng để nhận diện các đối tượng trong môi trường xung quanh xe. Mô hình này cho phép xe tự hành nhận diện làn đường, biển báo và các vật cản một cách chính xác, từ đó đưa ra quyết định điều khiển phù hợp.

3.2. Giải Thuật Ultra Fast Control Trong Lập Kế Hoạch

Giải thuật Ultra-Fast Control được phát triển để tính toán lộ trình di chuyển cho xe tự hành. Giải thuật này giúp xe có thể điều khiển một cách linh hoạt và an toàn trong các tình huống giao thông phức tạp.

IV. Ứng Dụng Thực Tiễn Của Hệ Thống Nhận Dạng Xe Tự Hành

Hệ thống nhận dạng và lập kế hoạch cho xe tự hành đã được thử nghiệm trên nhiều phương tiện thực tế. Kết quả cho thấy rằng hệ thống này có thể hoạt động hiệu quả trong các điều kiện giao thông khác nhau, từ đường thẳng đến đường cong. Việc áp dụng công nghệ này không chỉ giúp cải thiện an toàn mà còn tối ưu hóa quy trình vận chuyển.

4.1. Kết Quả Thử Nghiệm Trên Phương Tiện Thực Tế

Các thử nghiệm trên xe golf chạy điện cho thấy hệ thống có khả năng nhận diện và lập kế hoạch di chuyển một cách chính xác. Hệ thống đã hoạt động ổn định trong các tình huống giao thông thực tế, chứng minh tính khả thi của công nghệ.

4.2. Ứng Dụng Trong Ngành Vận Tải

Công nghệ xe tự hành có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ vận tải hàng hóa đến giao thông công cộng. Việc triển khai công nghệ này sẽ giúp giảm thiểu chi phí và tăng cường hiệu quả trong ngành vận tải.

V. Kết Luận và Tương Lai Của Hệ Thống Nhận Dạng Xe Tự Hành

Hệ thống nhận dạng và lập kế hoạch cho xe tự hành đang mở ra nhiều cơ hội mới cho ngành công nghiệp ô tô. Với sự phát triển không ngừng của công nghệ, tương lai của xe tự hành hứa hẹn sẽ mang lại nhiều lợi ích cho xã hội. Việc tiếp tục nghiên cứu và phát triển các giải pháp mới sẽ giúp nâng cao hiệu suất và an toàn cho xe tự hành.

5.1. Xu Hướng Phát Triển Trong Tương Lai

Trong tương lai, công nghệ xe tự hành sẽ tiếp tục phát triển với sự xuất hiện của nhiều giải pháp mới. Các công nghệ như trí tuệ nhân tạoInternet of Things sẽ đóng vai trò quan trọng trong việc nâng cao hiệu suất của hệ thống.

5.2. Thách Thức Cần Vượt Qua

Mặc dù có nhiều tiềm năng, nhưng vẫn còn nhiều thách thức cần phải giải quyết, bao gồm vấn đề an toàn, độ tin cậy và chi phí. Việc nghiên cứu và phát triển các giải pháp mới sẽ giúp vượt qua những thách thức này.

10/07/2025

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

Chương 1: Tổng quan đề tài Chương 2: Cơ sở lý thuyết đề tài Chương 3: Nội dung thực hiện Chương 4: Kết quả thực hiện Chương 5: Kết luận. CƠ SỞ LÝ THUYET DE TÀI 2. Stream Socket và Datagram Socket 2. Socket là gi? Socket là giao diện lập trình ứng dụng mạng được dùng dé truyén và nhận dữ liệu trên Internet.

Giữa hai chương trình chạy trên mạng cần có một liên kết giao tiếp hai chiều, hay còn gọi là two-way communication dé kết nối 2 process trò chuyện với nhau. Socket hoạt động trên cả giao thức TCP và UDP và được định nghĩa bằng công thức ( 2.1), với Portnumber ở đây chính là Port logic của máy tính (16 bits = 65535 ports). Socket = IP Address + Portnumber (2.1) Application Layer eS Application ĐT KHEE —— Presentation Layer Session Layer re b Session Tr: t Lay Transport a ae a Network Layer NT Data Link =—— Data Link Layer Physical Layer — Physical Hình 2.1: Mô hình OSI [13] Có 2 loại Socket chính ma ta cần quan tâm trong đề tài này bao gồm: - Stream Socket - Datagram Socket 2. Stream Socket Stream Socket hay còn gọi là socket hướng kết nối, là socket hoạt động thông qua giao thức TCP (Transmission Control Protocol).

Stream Socket chỉ hoạt động khi server và client đã kêt nôi với nhau, ta có thê thay miêu ta của giao thức ở Hình 2. CLIENT SERVER Listen{) Close) Close[] Hình 2.2: Cấu trúc Stream Socket Ưu điểm: - _ Dữ liệu truyền đi được đảm bảo truyền đến đúng nơi nhận, đúng thứ tự với thời gian nhanh chóng. - Mỗi thông điệp gửi đi đều có xác nhận trả về dé thông báo cho người dùng thông tin về quá trình truyền tải. Nhược điểm: - Gitta máy chủ và máy nhận chỉ có 1 IP, nên khi kết nối, 1 máy phải chờ may còn lai chap nhận kết nôi.

Datagram Socket Datagram Socket hay còn gọi là socket không hướng kết nối, là socket hoạt động thông qua giao thức UDP ( User Datagram Protocol). Datagram Socket có thể hoạt động ké cả khi không có sự thiết lập kết nối giữa 2 máy với nhau, ta có thé thấy miêu tả của giao thức ở Hình 2. CUENT SERVER Bind{) ee Retvfrom|] Hình 2.3: Cấu trúc Datagram Socket Ưu điểm: - Qua trình kết nối và truyền tai thông tin đơn giản, không cần thực hiện nhiều thao tác. - _ Thời gian truyền tải dữ liệu cực nhanh.

Nhược điểm: - Qua trình truyền thông tin không đảm bảo tin cậy, thông tin có thé truyền sai thứ tự hoặc bị lặp 11 2. Giao thức MQTT 2. Dinh nghĩa MQTT (Message Queuing Telemetry Transport) [14] là giao thức truyền thông điệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dung cho các thiết bị loT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ồn định. Nó dựa trên một Broker (tạm dich là “Máy chủ môi giới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho ứng dụng cụ thể nào), đơn giản và dễ cài đặt.

Một số ưu điểm nồi bật của MQTT như: băng thông thấp, độ tin cậy cao va có thể sử dụng ngay cả khi hệ thống mạng không ồn định, tốn rất it byte cho việc kết nối với server và connection có thê giữ trạng thái open xuyên suốt, có thể kết nối nhiều thiết bị (MQTT client) thông qua một MQTT server (broker). Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng IoT va sử dụng như một bộ điều phối thông tin tin cậy trong các hệ thống lớn như xe tự hành. Kiến trúc thành phần Kiến trúc thành phần của giao thức MQTT được mô tả chỉ tiết trong Hình 2. 12 Thành phần chính của MQTT là Client (Publisher/Subscriber), Server (Broker), Sessions (tạm dịch là Phiên làm việc), Subscriptions va Topics.

MỌTTT Client (Publisher/Subscriber): Clients sẽ subscribe một hoặc nhiều topics để gửi và nhận thông điệp từ những topic tương ứng. MQTT Server (Broker): Broker nhận những thông tin subscribe (Subscriptions) từ client, nhận thông điệp, chuyên những thông điệp đến các Subscriber tương ứng dựa trên Subscriptions từ client. Topic: Có thé coi Topic là một hàng đợi các thông điệp, và có săn khuôn mẫu dành cho Subscriber hoặc Publisher. Một cach logic thì các topic cho phép Client trao đồi thông tin với những ngữ nghĩa đã được định nghĩa sẵn.

Ví dụ: Dữ liệu cảm biến nhiệt độ của một tòa nhà. Session: Một session được định nghĩa là kết nối từ client đến server. Tất cả các giao tiép giữa client và server đêu là 1 phân của session. 13 - Subscription: Không giống như session, subscription về mặt logic là kết nối từ client đến topic.

Khi đã subscribe một topic, Client có thê nhận/gửi thông điệp (message) với topIc đó. Mô hình Pub/Sub - Client: o Publisher : Nơi gửi thông điệp o Subscriber : Nơi nhận thông điệp - Broker : May chủ môi giới Trong đó Broker được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ Client (Publisher/Subscriber). Nhiệm vụ chính của Broker là nhận thông điệp (message) từ Publisher, xếp vào hàng đợi rồi chuyên đến một địa điểm cụ thể. Nhiệm vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mat message, lưu trữ message, logs,.

Client thì được chia thành hai nhóm là Publisher va Subscriber. Client chi làm ít nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụ thể hoặc subscribe một/nhiêu topic nào đó đê nhận message từ topic nay. Kiến trúc Entity Components System Entity Components System - ECS [16] là một kién tric phan mềm được thiết kế theo cầu tric DOD (Thiết kế hướng dit liệu — Data Driented Design) thay vì hướng đối tượng - OOP (Object-oriented programming) trong các ứng dụng thông thường khác. Kiến trúc này được tông hợp lên từ 3 thành phần chính: - Component: Chia tính chat, đặc điểm của một đối tượng hay còn gọi là đữ liệu của đối tượng đó và thường được thêm vào đối tượng để hỗ trợ thực hiện hành vi.

Một component được thêm vào đối tượng nó sẽ thể hiện một tính chất duy nhất, một component tự nó sẽ không có hành vi. 14 - System: Là những module con, hoạt động độc lập với nhau, xử lý một “behaviour” nào đó trong hệ thống. Có thé ké đến như các System tìm đường đi, System nhận diện vat thê. - Entity: Entity như là một thực thé được triển khai dưới dạng liên kết duy nhất của các components.

Entity sẽ không có dữ liệu hay hành vị thực tế nào, nó chỉ là nơi liên kết các tính chất của component tới các System dé hỗ trợ một hành vi nào đó. Về cơ bản, ECS giúp ta phân tách chương trình thành các phần riêng lẻ có thê chạy độc lập với nhau. Mỗi System có thé sử dụng một hoặc nhiều Component và ta có thể thay đôi thêm bớt bất cứ Component nào ta muốn mà không gây ảnh hướng tới các System khác. Ví dụ, trong đề tài này, các chương trình liên quan đến tác vụ nhận dạng hoặc lập lịch có thể được tách thành nhiều System nhỏ khác chạy độc lập với nhau, chúng có thé liên kết với nhau thông qua các Component chứa dữ liệu của toàn bộ hệ thống.

Bằng cách này, ta có thê thiết kế một hệ thống chạy đa luồng và đạt tới khả năng đa nhiệm. Kinematic Bicycle model Mô hình động học của phương tiện thường được sử dụng trong các ứng dụng liên quan đến Motion Planning [17], [18]. Khi áp dụng các mô hình động hoc của xe trong lập lịch, ta có thể biết được sự thay đôi trạng thái của xe mỗi khi đánh lái hoặc thay đổi tốc độ. Các thay đối này có ý nghĩa như việc dự đoán trước tương lai của xe vậy.

Ta có thé đưa vào day giá trị của vận tốc, góc lái và cho mô hình vẽ lên chuyên động của xe. Đối với các mô hình xe 4 bánh, ta có thé làm đơn giản hoá nó lại bằng cách kết hợp 2 bánh trước và 2 bánh sau lại giống Hình 2.5, ta sẽ được mô hình xe hai bánh mang tên Kinematic Bicycle model và phải thoả những điều kiện sau: - Phuong tiện hoạt động trên mặt phăng 2D. 15 - Gia sử toan bộ trọng lượng của phương tiện được đặt ở trọng tâm. - Chico bánh trước của xe mới được bẻ hướng.5: Chuyên mô hình xe 4 bánh về 2 bánh Mô hình Kinematic bicycle model này còn được gọi với cái tên là Mô hình bánh lái trước (Font wheel steering model) vì hướng của bánh xe tác động trực tiếp tới hướng của cả xe.

Và khi nhìn vào Hình 2.6, ta có thé viết được phương trình của mô hình này như sau: X =Vcos(w +8) ( 2.2c) Với B là góc trượt tai trọng tâm: 16 tant) L, bn B = arctan ( ;+h (2.2d) Trong đó: - V: vận tốc phương tiện - — X: Toạ độ x - Y: Toa độ y - L: Chiều dai phương tiện - ww: Hướng của phương tiện - ¢: Góc đánh lái 2. Nó được thiết kế dé hoạt động theo kiểu bổ sung với các khung đảo tạo như TensorFlow, Caffe, PyTorch, MXNet, v. 17 Nó tập trung đặc biệt vào việc chạy một mạng đã được đảo tạo một cách nhanh chóng và hiệu quả trên GPU nhằm mục đích tạo ra một kết quả (một quy trình được gọi ở nhiều nơi khác nhau như cho điểm, phát hiện, hồi quy hoặc suy luận). Một số khuôn khổ dao tạo như TensorFlow đã tích hợp TensorRT để nó có thể được sử dụng dé tăng tốc suy luận trong khuôn khổ.

Ngoài ra, TensorRT có thé được sử dung như một thư viện trong ứng dụng người dùng. Nó bao gồm các trình phân tích cú pháp dé nhập các mô hình hiện có từ Caffe, ONNX hoặc TensorFlow và các API C++ và Python dé xây dựng các mô hình theo chương trình. Trained TheFET TensorRT Neural Optimizer Runtime Sar Automotive Data center Jetson Drive Tesla Hình 2.7: Ứng dụng của TensorRT 18 Hình 2.7 cho thấy TensorRT là một công cụ tối ưu hóa suy luận mạng thần kinh hiệu suât cao và công cụ thời gian chạy đê triên khai sản xuât. Mô hình YOLOP Trong bài toán nhận dạng cho xe tự hành thường có các các tác vụ như: - Nhận diện làn đường.

- Phat hiện vật. - Phat hiện vạch kẻ đường. Các giải thuật hoặc mô hình đã được phát triển mạnh dé việc nhận diện này trở lên nhanh hơn với độ chính xác cao hơn. Lấy một vài ví dụ như Mask R-CNN [23]va YOLOR [24] được dùng trong phát hiện vật.

Hoặc các mô hình như UNet [25] và PSPNet [26] cho các tác vụ phân đoạn ảnh làn đường.

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