Đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng slam tối ưu hóa đường đi

Đồ án tốt nghiệp kỹ thuật điện tử: Thiết kế và chế tạo xe tự hành ứng dụng SLAM, tối ưu hóa đường đi. Giải pháp hiệu quả cho di chuyển tự động.

Chuyên ngành

Kỹ Thuật Điện Tử

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2024

105
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

BẢNG PHÂN BỐ CÔNG VIỆC

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

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

1.1. Lý do chọn đề tài

1.2. Mục tiêu nghiên cứu

1.3. Phạm vi nghiên cứu

1.4. Cấu trúc của báo cáo

2. CHƯƠNG 2: NỀN TẢNG LÝ THUYẾT

2.1. Tổng Quan Về Xe Tự Hành

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

2.1.2. Ứng dụng của xe tự hành

2.1.3. Công nghệ chính trong xe tự hành

2.1.4. Nguyên lý hoạt động của xe tự hành

2.2. Kiến Trúc Hệ Thống ROS 2

2.2.1. Khái Niệm và lịch sử phát triỂn

2.2.2. Các thành phan và giao tiếp trong ROS 2

2.2.3. Một số các công cụ phát triển và quan lý hệ thống của ROS2

2.2.4. Sự khác biệt giữa ROS] và ROS2

2.3. Tổng quan về SLAM?

2.3.1. Khái niệm và nguyên tắc hoạt động

2.3.2. Các phương pháp SLAM phổ biến

2.3.3. Các thuật toán thường được sử dụng trong SLAM

2.3.4. Ứng dụng SLAM trong hệ thống xe tự hành

2.4. Giới thiệu về NaV2

2.4.1. Các thành phần chính của NaV2

2.4.2. Sơ đồ khối hoạt động Navigation 2

2.4.3. Quy trình hoạt động của Navigation 2 đối với người dùng

2.4.4. Ung dụng của Navigation 2 trong hệ thống xe tự hành

2.5. Cac thuat toan tim 0ì

2.5.1. Giới thiệu chung về dẫn đường

2.5.2. Các thuật toán dẫn đường

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Các thuật toán được sử dung cho xe tự hành

3.1.1. Thuat toan tim 00

3.1.2. Thuật toán quét bản đồ

3.2. Phân tích yêu cầu hệ thống

3.3. Thiết kế hệ thống

3.4. Thiết kế chi tiết phần cứng

3.4.1. Waveshare Motor Driver HAT

3.4.2. Lắp ráp các linh kiện và thiết bị

3.5. Thiết kế chi tiết phần mềm

3.5.1. Xây dựng bản đồ (Mapping)

3.5.2. Tích hợp hệ thống điều hướng tự động (Navigation)

4. CHƯƠNG 4: TRIỂN KHAI VÀ THU NGHIỆM HỆ THỐNG

4.1. Triển khai xe tự hành

4.1.1. Triển khai trên môi trường mô phỏng

4.1.2. Triển khai trên xe thực tế

4.2. Thử nghiệm hệ thống tích hợp điều hướng

4.2.1. Thử nghiệm trong môi trường mô phỏng

4.2.2. Thử nghiệm trong môi trường thực tế

TRÁCH NHIỆM ĐẠO ĐỨC NGHỀ NGHIỆP

5. Chương 5

5.1. Thành tựu đã đạt được

5.2. Hạn chế và hướng khắc phục

5.2.1. Hướng phát triển trong tương lai

Tài liệu tham khảo

Tóm tắt

I. Hướng dẫn đồ án xe tự hành ứng dụng SLAM từ A đến Z

Bài viết này là một phân tích chi tiết về đề tài đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi. Đây là một lĩnh vực mang tính đột phá, kết hợp giữa kỹ thuật điều khiển tự động, hệ thống nhúng và trí tuệ nhân tạo. Mục tiêu của đề tài không chỉ dừng lại ở việc chế tạo một robot tự hành mà còn tập trung vào việc ứng dụng công nghệ SLAM (Simultaneous Localization and Mapping) để giải quyết hai bài toán cốt lõi: tự định vị trong không gian và xây dựng bản đồ môi trường theo thời gian thực. Theo tài liệu gốc của nhóm sinh viên Học viện Công nghệ Bưu chính Viễn thông, lý do chọn đề tài xuất phát từ nhu cầu thực tiễn về các hệ thống tự động hóa thông minh, có khả năng hoạt động độc lập trong các môi trường phức tạp như nhà xưởng, kho bãi hay khu đô thị. Việc tích hợp thuật toán SLAM cho phép xe tăng hiệu suất, tiết kiệm năng lượng và đảm bảo an toàn vận hành. Đề tài sử dụng nền tảng Robot Operating System (ROS), cụ thể là phiên bản ROS2 Humble, và framework Navigation2 để thực hiện các tác vụ dẫn đường tự độnghoạch định đường đi. Đây là một lựa chọn phù hợp, giúp sinh viên phát triển kỹ năng lập trình, tích hợp hệ thống và làm quen với các công cụ chuẩn công nghiệp. Phạm vi của báo cáo đồ án tốt nghiệp này bao trùm từ khâu thiết kế phần cứng, lựa chọn linh kiện, đến phát triển phần mềm và thử nghiệm trong cả môi trường mô phỏng lẫn thực tế. Nội dung bài viết sẽ đi sâu vào từng giai đoạn, cung cấp một cái nhìn tổng quan và chi tiết, hữu ích cho các sinh viên đang tìm hiểu hoặc thực hiện các luận văn kỹ thuật điện tử tương tự.

1.1. Mục tiêu cốt lõi của đồ án xe tự hành SLAM

Mục tiêu chính của đề tài là thiết kế và phát triển một hệ thống xe tự hành có khả năng tự định vị và xây dựng bản đồ 2D một cách chính xác. Cụ thể, hệ thống phải triển khai thành công công nghệ SLAM để robot có thể hoạt động trong môi trường chưa biết trước. Bên cạnh đó, đề tài hướng đến việc tích hợp framework Navigation2 trên nền tảng ROS2 để tối ưu hóa việc hoạch định đường đi, giúp xe di chuyển thông minh và tránh các chướng ngại vật hiệu quả. Một mục tiêu quan trọng khác là kết hợp hài hòa giữa phần cứng, bao gồm Raspberry Pi, cảm biến LIDAR, và cảm biến IMU, với phần mềm điều khiển để tạo ra một hệ thống ổn định. Cuối cùng, hiệu suất của xe sẽ được kiểm tra và đánh giá qua các thử nghiệm trong môi trường mô phỏng Gazebo và trên mô hình thực tế.

1.2. Tầm quan trọng của công nghệ SLAM trong robot tự hành

Công nghệ SLAM là nền tảng cho phép robot tự hành có được nhận thức về không gian. Nó giải quyết bài toán 'con gà và quả trứng': để định vị, robot cần bản đồ, nhưng để xây dựng bản đồ, robot cần biết vị trí của nó. Thuật toán SLAM giải quyết đồng thời cả hai vấn đề này. Trong bối cảnh của đề tài, SLAM không chỉ giúp định vị robot mà còn cung cấp dữ liệu đầu vào quan trọng cho hệ thống Navigation2. Nhờ đó, xe có thể lập kế hoạch lộ trình, tránh chướng ngại vật một cách linh hoạt. Việc làm chủ công nghệ này mở ra nhiều ứng dụng thực tiễn, từ xe tự hành AGV trong nhà kho đến robot giao hàng, đóng góp vào sự phát triển của ngành tự động hóa hiện đại.

II. Nền tảng lý thuyết cho xe tự hành ứng dụng SLAM

Để thực hiện thành công một đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi, việc nắm vững nền tảng lý thuyết là yêu cầu tiên quyết. Lý thuyết cốt lõi của đề tài xoay quanh ba trụ cột chính: công nghệ xe tự hành, hệ điều hành robot ROS2, và các thuật toán SLAM. Xe tự hành, hay robot di động, là một hệ thống cơ điện tử phức tạp, hoạt động dựa trên sự kết hợp của cảm biến, cơ cấu chấp hành và bộ xử lý trung tâm. Các công nghệ chính bao gồm hệ thống cảm biến (cảm biến LIDAR, camera, cảm biến IMU), công nghệ định vị (GPS, SLAM), hệ thống điều khiển và các thuật toán hoạch định đường đi. Nền tảng phần mềm được lựa chọn là Robot Operating System (ROS) phiên bản 2 (Humble Hawksbill). ROS2 cung cấp một kiến trúc phân tán, cho phép các tiến trình (node) giao tiếp với nhau một cách hiệu quả thông qua các cơ chế publish-subscribe, service và action. Sự khác biệt lớn nhất giữa ROS1 và ROS2 là việc sử dụng giao thức DDS (Data Distribution Service), mang lại khả năng hoạt động thời gian thực và bảo mật cao hơn. Cuối cùng, SLAM là công nghệ cho phép robot vừa định vị robot vừa xây dựng bản đồ. Có nhiều phương pháp SLAM phổ biến như LIDAR-based SLAM, Visual SLAM, và Multi-Sensor Fusion SLAM, mỗi loại có ưu và nhược điểm riêng. Việc hiểu rõ các khái niệm này là cơ sở để phân tích, thiết kế và triển khai hệ thống một cách hiệu quả.

2.1. Tìm hiểu về Robot Operating System ROS phiên bản 2

Robot Operating System (ROS) 2 là một framework mã nguồn mở được thiết kế để phát triển các ứng dụng robot phức tạp. Khác với ROS1, ROS2 được xây dựng dựa trên DDS, cho phép giao tiếp tin cậy và hỗ trợ các hệ thống thời gian thực. Kiến trúc của ROS2 bao gồm các thành phần cơ bản như Nodes (các tiến trình độc lập), Topics (kênh giao tiếp publish-subscribe), Services (giao tiếp gọi-phản hồi đồng bộ), và Actions (cho các tác vụ kéo dài). Trong đề tài này, ROS2 đóng vai trò trung tâm, quản lý toàn bộ luồng dữ liệu từ cảm biến LIDAR đến các lệnh điều khiển động cơ DC, cũng như tích hợp các gói phần mềm quan trọng như SLAM Toolbox và Navigation2.

2.2. So sánh các thuật toán SLAM phổ biến hiện nay

Có nhiều thuật toán được sử dụng trong SLAM, mỗi thuật toán phù hợp với các ứng dụng và loại cảm biến khác nhau. EKF-SLAM (Extended Kalman Filter) là phương pháp kinh điển nhưng gặp hạn chế trong môi trường lớn. FastSLAM sử dụng bộ lọc hạt (Particle Filter) để xử lý tốt hơn trong môi trường phức tạp. GraphSLAM, một phương pháp hiện đại, biểu diễn bài toán dưới dạng đồ thị và tối ưu hóa để tăng độ chính xác. Trong đề tài này, các thuật toán dựa trên LIDAR như GMapping hoặc Cartographer thường được ưu tiên. GMapping dựa trên bộ lọc hạt, phù hợp cho việc xây dựng bản đồ 2D. Cartographer, do Google phát triển, kết hợp dữ liệu LIDAR và IMU để tạo bản đồ chính xác ngay cả trong các môi trường rộng lớn. Việc lựa chọn thuật toán phù hợp phụ thuộc vào yêu cầu về độ chính xác và tài nguyên tính toán của hệ thống nhúng.

2.3. Vai trò của Navigation2 trong hoạch định đường đi

Navigation2 (Nav2) là một framework điều hướng tự động thế hệ mới trên ROS2. Nó chịu trách nhiệm cho việc hoạch định đường đi và điều khiển robot di chuyển từ điểm bắt đầu đến điểm đích một cách an toàn. Nav2 bao gồm nhiều thành phần chính: Planner Server (sử dụng thuật toán A* hoặc thuật toán Dijkstra để tìm đường đi toàn cục), Controller Server (điều khiển cục bộ và tránh vật cản), và Recovery Server (xử lý các tình huống lỗi). Dữ liệu bản đồ từ thuật toán SLAM là đầu vào quan trọng cho Nav2. Hệ thống này giúp robot tự hành không chỉ tìm được đường đi ngắn nhất mà còn phản ứng linh hoạt với các chướng ngại vật xuất hiện trong thời gian thực.

III. Phương pháp thiết kế phần cứng xe tự hành ứng dụng SLAM

Giai đoạn phân tích và thiết kế hệ thống là bước bản lề trong đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi. Quá trình này bao gồm việc xác định yêu cầu, thiết kế kiến trúc tổng thể, và lựa chọn chi tiết các thành phần phần cứng và phần mềm. Về phần cứng, trái tim của hệ thống là bộ xử lý trung tâm Raspberry Pi 4, một máy tính nhúng mạnh mẽ, đủ khả năng chạy hệ điều hành Ubuntu và ROS2. Để thu thập dữ liệu môi trường, đề tài sử dụng cảm biến LIDAR RPLidar A1, có khả năng quét 360 độ để tạo ra đám mây điểm (point cloud), nền tảng cho việc xây dựng bản đồ 2D. Cảm biến quán tính IMU MPU6050 được tích hợp để cung cấp dữ liệu về gia tốc và góc quay, giúp cải thiện độ chính xác của quá trình định vị robot, đặc biệt là khi xe quay hoặc di chuyển nhanh. Hệ thống truyền động bao gồm các động cơ DC và bộ điều khiển motor chuyên dụng (Waveshare Motor Driver HAT), được kết nối trực tiếp với các chân GPIO của Raspberry Pi. Toàn bộ các linh kiện này được lắp ráp trên một khung xe được thiết kế sẵn. Sơ đồ nối dây tổng thể được tính toán cẩn thận để đảm bảo sự ổn định và dễ dàng trong việc bảo trì, sửa chữa. Việc lựa chọn phần cứng phù hợp không chỉ quyết định hiệu năng mà còn ảnh hưởng đến chi phí và tính khả thi của toàn bộ dự án robot tự hành.

3.1. Lựa chọn bộ xử lý trung tâm và cảm biến chủ đạo

Việc lựa chọn bộ xử lý trung tâm là quyết định quan trọng. Raspberry Pi 4 được chọn vì hiệu năng cao, cộng đồng hỗ trợ lớn và khả năng tương thích tốt với ROS2. Nó đóng vai trò như bộ não, xử lý dữ liệu từ cảm biến và ra quyết định điều khiển. Cảm biến chính cho bài toán SLAMcảm biến LIDAR RPLidar A1. Đây là cảm biến laser 2D, cung cấp dữ liệu khoảng cách chính xác, là đầu vào lý tưởng cho các thuật toán như GMapping hay Cartographer. Ngoài ra, cảm biến IMU MPU6050 bổ sung thông tin về chuyển động, giúp bộ lọc Kalman (thường được tích hợp trong các gói định vị) ước tính trạng thái của robot một cách chính xác hơn.

3.2. Thiết kế hệ thống truyền động và mạch điều khiển

Hệ thống truyền động bao gồm động cơ và bộ điều khiển. Đề tài sử dụng các động cơ DC để cung cấp lực kéo cho bánh xe. Để điều khiển tốc độ và chiều quay của động cơ, một mạch cầu H được tích hợp trong bo mạch Waveshare Motor Driver HAT. Bo mạch này giao tiếp với Raspberry Pi 4 thông qua giao thức I2C, cho phép điều khiển chính xác các động cơ một cách độc lập. Thiết kế này giúp đơn giản hóa việc kết nối phần cứng và lập trình điều khiển động cơ DC, cho phép tập trung nhiều hơn vào các thuật toán cấp cao như SLAMhoạch định đường đi.

IV. Cách triển khai phần mềm xe tự hành trên nền tảng ROS2

Triển khai phần mềm là giai đoạn hiện thực hóa các thuật toán trên hệ thống phần cứng đã thiết kế. Trong đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi, toàn bộ hệ thống phần mềm được xây dựng trên Robot Operating System (ROS) phiên bản 2. Quy trình triển khai bao gồm cài đặt môi trường, xây dựng các node ROS2, tích hợp driver cho cảm biến và cơ cấu chấp hành, và cấu hình các gói phần mềm cấp cao. Môi trường làm việc bao gồm hệ điều hành Ubuntu 22.04 và ROS2 Humble. Đầu tiên, các node ROS2 được viết bằng Python hoặc C++ để đọc dữ liệu từ cảm biến LIDARcảm biến IMU, sau đó publish các dữ liệu này lên các topic tương ứng. Một node khác sẽ subscribe topic lệnh vận tốc (cmd_vel) và chuyển thành tín hiệu PWM để điều khiển động cơ DC. Quá trình xây dựng bản đồ 2D được thực hiện bằng gói SLAM Toolbox, một công cụ mạnh mẽ trong ROS2. Gói này nhận dữ liệu từ topic /scan (LIDAR) và /tf (biến đổi tọa độ) để tạo ra bản đồ. Sau khi có bản đồ, hệ thống điều hướng tự động Navigation2 được tích hợp. Navigation2 sử dụng bản đồ đã tạo để hoạch định đường đi, tránh vật cản và đưa xe đến vị trí mục tiêu. Toàn bộ quá trình này đòi hỏi sự hiểu biết sâu sắc về kiến trúc của ROS2 và kỹ năng gỡ lỗi hệ thống.

4.1. Quy trình xây dựng bản đồ 2D với SLAM Toolbox

Quy trình mapping bắt đầu bằng việc khởi chạy node driver của cảm biến LIDAR và hệ thống robot tự hành. Tiếp theo, gói SLAM Toolbox được khởi chạy ở chế độ mapping. Người dùng sẽ điều khiển xe di chuyển thủ công (sử dụng teleop_twist_keyboard) để quét toàn bộ khu vực cần lập bản đồ. Trong quá trình này, SLAM Toolbox sẽ liên tục xử lý dữ liệu laser scan và thông tin odometry để xây dựng và tinh chỉnh bản đồ. Giao diện đồ họa Rviz được sử dụng để trực quan hóa quá trình này, hiển thị bản đồ đang được tạo, vị trí của robot và các điểm laser scan. Khi khu vực đã được quét hoàn tất, bản đồ sẽ được lưu lại dưới dạng file .yaml và .pgm để sử dụng cho giai đoạn điều hướng sau này.

4.2. Tích hợp hệ thống điều hướng tự động Navigation2

Sau khi có bản đồ, giai đoạn tiếp theo là tích hợp Navigation2 để xe có thể dẫn đường tự động. Quá trình này bao gồm việc cấu hình các tệp YAML cho các server của Nav2 (Planner, Controller, Recovery). Bản đồ đã lưu sẽ được nạp bởi Map Server. Gói AMCL (Adaptive Monte Carlo Localization) được sử dụng để định vị robot trên bản đồ trong thời gian thực. Khi người dùng gửi một mục tiêu (goal) thông qua Rviz, BT Navigator của Nav2 sẽ điều phối các thành phần. Planner Server sử dụng thuật toán A* để tìm đường đi tối ưu trên bản đồ, trong khi Controller Server tạo ra các lệnh vận tốc để xe bám theo lộ trình và tránh các vật cản cục bộ.

V. Kết quả thử nghiệm xe tự hành SLAM mô phỏng và thực tế

Giai đoạn triển khai và thử nghiệm là thước đo thành công của đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi. Quá trình này được thực hiện song song trên hai môi trường: mô phỏng và thực tế. Mô phỏng robot Gazebo là bước đầu tiên, cho phép kiểm tra các thuật toán và cấu hình phần mềm trong một môi trường ảo an toàn và có kiểm soát. Trong Gazebo, một mô hình 3D của robot tự hành được tạo ra, trang bị các plugin mô phỏng cảm biến LIDAR và bộ điều khiển vi sai. Tại đây, nhóm nghiên cứu đã thử nghiệm thành công quá trình xây dựng bản đồ 2D bằng SLAM Toolbox và điều hướng tự động bằng Navigation2. Kết quả mô phỏng cho thấy hệ thống có khả năng lập bản đồ chính xác và tìm đường đi hiệu quả trong các môi trường có chướng ngại vật đơn giản. Sau khi xác thực trên mô phỏng, hệ thống được triển khai trên xe thực tế. Quá trình thử nghiệm thực tế gặp nhiều thách thức hơn do các yếu tố nhiễu từ môi trường, sai số của cảm biến và sự không hoàn hảo của cơ cấu cơ khí. Tuy nhiên, kết quả cho thấy xe có khả năng xây dựng được bản đồ của một khu vực trong nhà và di chuyển đến các điểm mục tiêu đã định trước. Hiện tượng chồng bản đồ và lỗi định vị đôi khi xảy ra, đây là những hạn chế cần được khắc phục. Nhìn chung, kết quả đạt được đã chứng minh tính khả thi của giải pháp thiết kế và là nền tảng vững chắc cho các hướng phát triển trong tương lai.

5.1. Phân tích kết quả trên môi trường mô phỏng Gazebo

Trong môi trường mô phỏng Gazebo, xe tự hành đã hoàn thành tốt nhiệm vụ quét và tạo bản đồ. Bản đồ thu được có độ chính xác cao, phản ánh đúng cấu trúc của môi trường ảo. Khi thử nghiệm Navigation2, xe có thể thiết lập lộ trình và di chuyển tới đích. Đặc biệt, khi có vật cản đột ngột xuất hiện, hệ thống đã tính toán lại và tìm ra một lộ trình mới để né tránh. Các kết quả này được trực quan hóa trên Rviz, cho thấy sự phối hợp nhịp nhàng giữa các thành phần của ROS2. Mô phỏng robot Gazebo đã giúp tiết kiệm thời gian, giảm thiểu rủi ro và tinh chỉnh các tham số quan trọng trước khi triển khai lên phần cứng thật.

5.2. Đánh giá hiệu năng và thách thức trong môi trường thực tế

Khi triển khai trên xe tự hành thực tế, hệ thống đã chứng tỏ khả năng hoạt động. Xe đã xây dựng thành công bản đồ một phòng lab và điều hướng cơ bản. Tuy nhiên, hiệu năng thực tế đối mặt với một số thách thức. Sai số từ odometry của bánh xe và sự trơn trượt có thể làm giảm độ chính xác của thuật toán SLAM, đôi khi gây ra hiện tượng chồng bản đồ. Ánh sáng môi trường và các bề mặt phản chiếu cũng có thể ảnh hưởng đến dữ liệu của cảm biến LIDAR. Việc hiệu chỉnh các tham số của Navigation2 cho phù hợp với động học thực tế của xe cũng là một công việc đòi hỏi sự kiên nhẫn và nhiều lần thử nghiệm.

VI. Kết luận đồ án SLAM và định hướng phát triển tương lai

Đề tài đồ án tốt nghiệp kỹ thuật điện tử thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi đã đạt được những thành tựu quan trọng. Hệ thống đã thiết kế và chế tạo thành công một mô hình robot tự hành hoàn chỉnh, tích hợp các thành phần phần cứng như Raspberry Pi 4, cảm biến LIDAR, và cảm biến IMU. Về mặt phần mềm, đề tài đã triển khai thành công các công nghệ tiên tiến trên nền tảng ROS2, bao gồm khả năng xây dựng bản đồ 2D bằng SLAM Toolbox và khả năng dẫn đường tự động sử dụng framework Navigation2. Kết quả thử nghiệm trong cả môi trường mô phỏng và thực tế đã chứng minh tính đúng đắn của phương pháp nghiên cứu và tính khả thi của hệ thống. Tuy nhiên, bên cạnh những thành tựu, báo cáo đồ án tốt nghiệp cũng chỉ ra một số hạn chế. Độ chính xác của bản đồ và định vị trong môi trường thực tế còn có thể được cải thiện, đặc biệt khi xe di chuyển với tốc độ cao hoặc trên các bề mặt trơn trượt. Hệ thống hiện tại cũng chưa xử lý tốt các vật cản động. Hướng phát triển trong tương lai rất rộng mở. Có thể nâng cấp hệ thống bằng cách tích hợp thêm camera để thực hiện Visual SLAM hoặc VSLAM, kết hợp dữ liệu hình ảnh và LIDAR để tăng độ tin cậy. Áp dụng các bộ lọc Kalman nâng cao (ví dụ: EKF trong gói robot_localization) để hợp nhất dữ liệu từ nhiều cảm biến (sensor fusion) sẽ cải thiện đáng kể độ chính xác của odometry. Ngoài ra, việc nghiên cứu các thuật toán hoạch định đường đi cho môi trường động và triển khai trên các hệ thống nhúng mạnh hơn như Jetson Nano sẽ là những bước tiến đầy hứa hẹn.

6.1. Tổng kết các thành tựu và hạn chế của hệ thống

Thành tựu chính của đồ án là đã xây dựng được một nguyên mẫu xe tự hành hoạt động, làm chủ được chu trình từ thiết kế, lắp ráp phần cứng đến lập trình và tích hợp các thuật toán phức tạp trên ROS2. Việc ứng dụng thành công thuật toán SLAM và Navigation2 là một minh chứng cho năng lực nghiên cứu và kỹ năng kỹ thuật. Hạn chế chính nằm ở độ chính xác và độ ổn định trong môi trường thực tế. Các vấn đề như sai số tích lũy của odometry, nhiễu cảm biến, và khả năng xử lý của Raspberry Pi khi chạy đồng thời nhiều tiến trình phức tạp cần được cải thiện.

6.2. Hướng phát triển ứng dụng thị giác máy tính và AI

Tương lai của robot tự hành gắn liền với thị giác máy tính cho robot và trí tuệ nhân tạo (AI). Một hướng phát triển tiềm năng là tích hợp camera và áp dụng các mô hình học sâu (Deep Learning) để nhận diện đối tượng (người, vật cản khác). Điều này cho phép xe không chỉ né tránh mà còn có thể tương tác với môi trường một cách thông minh hơn. Ví dụ, xe có thể nhận diện và đi theo một người, hoặc dừng lại ở các vị trí được đánh dấu bằng mã QR. Việc nâng cấp lên các nền tảng phần cứng mạnh mẽ hơn như NVIDIA Jetson Nano sẽ cung cấp đủ sức mạnh tính toán để triển khai các mô hình AI phức tạp này, mở ra vô số ứng dụng mới cho hệ thống xe tự hành AGV.

11/09/2025

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

Chương 1: Tổng quan về đề tài: Trình bày lý do chọn đề tài, mục tiêu nghiên cứu, phạm vi nghiên cứu, và cấu trúc của báo cáo. Chương 2: Nền tang lý thuyết: Cung cấp các kiến thức nền tảng và lý thuyết liên quan đến công nghệ và công cụ sử dụng trong đề tài, bao gồm SLAM, ROS2 Humble, và Navigation 2. Chương 3: Phân tích và thiết kế hệ thống: Trình bày chỉ tiết về các thành phần phần cứng và phần mềm, cấu trúc hệ thống, và cách triển khai thiết kế. Chương 4: Triển khai và thử nghiệm hệ thống: Mô tả quá trình triển khai hệ thống và thử nghiệm, đồng thời trình bày và phân tích kết quả thu được từ mô phỏng và thử nghiệm thực tế.

Chương 5: Kết luận và đánh giá: Tổng kết các kết quả đạt được, đánh giá các hạn chế của hệ thống. 16 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết CHUONG 2: NEN TANG LÝ THUYET 2. Tổng Quan Về Xe Tw Hành: 2. Giới thiệu về xe tự hành: Xe tự hành (Autonomous Vehicle) là một dạng robot di động, được thiết kế dé hoạt động độc lập mà không cần sự can thiệp trực tiếp từ con người.

Chúng kết hợp các công nghệ tiên tiễn như cảm biến, trí tuệ nhân tạo (AI), và thuật toán điều hướng đề tự nhận diện môi trường, định vi, va thực hiện nhiều nhiệm vụ phức tạp. Các cảm biến như LiDAR, camera, cảm biến siêu âm, và GPS đóng vai trò quan trọng trong việc thu thập dữ liệu từ môi trường xung quanh, trong khi AI và các thuật toán xử lý đọc dit liệu nay dé quyết định các hành động tiếp theo. Xe tự hành có thể thực hiện các tác vụ như điều hướng, tránh chướng ngại vật, và lập lịch di chuyên một cách chính xác. Xe tự hành 2.

Ung dụng của xe tự hành: Xe tự hành đang được ứng dụng rộng rãi trong nhiều lĩnh vực nhờ khả năng hoạt động độc lập và hiệu quả: e Sản xuất và logistics: o Vận chuyền nguyên liệu, sản phẩm giữa các khu vực trong nhà máy. o Quản lý kho tự động: phân loại, lưu trữ và giao hàng. ° Yté: o Van chuyén thuốc, thiết bi y tế hoặc mẫu xét nghiệm trong bệnh viện. o Giảm tải công việc và hạn chế nguy cơ lây nhiễm.

e Thuong mại điện tử: 17 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết o Giao hang tự động tại khu đô thị. o_ Tăng tốc quá trình phân loại và giao nhận hàng trong kho. Du lịch và dịch vụ: o Cho khách trong khu du lịch, công viên. o Vận chuyền hành lý hoặc giao hàng trong khách sạn, sân bay.

Những ứng dụng này giúp xe tự hành trở thành công cụ thiết yếu, tăng hiệu quả và an toàn trong các hoạt động công nghiệp và đời sông. Công nghệ chính trong xe tw hành: Xe tự hành hoạt động dựa trên sự kết hợp của các công nghệ chính sau: Hệ thông cảm biên: LiDAR (Light Detection and Ranging): Cung cấp bản đồ 2D hoặc 3D chỉ tiết của môi trường. Camera: Nhận diện vật thể, đọc biển báo giao thông, và phân loại các đối tượng xung quanh. Cảm biên siêu âm: Do khoảng cách dé tránh va cham.

Công nghệ định vị: Thuật toán SLAM (Simultaneous Localization and Mapping): Kết hop dit liệu từ cảm biến dé xây dựng bản đồ môi trường và định vị xe trong thời gian thực. Thuật toán này đảm bảo rằng xe có thê hoạt động hiệu quả trong các môi trường chưa biết hoặc thay đối liên tục. AMCL (Adaptive Monte Carlo Localization): Sử dung bản đồ sẵn có dé định vị chính xác xe trong môi trường đã biết, đảm bảo độ ồn định khi di chuyền. GPS và hệ thống định vị quán tính (IMU): Cung cap dit liệu hỗ trợ định vị toàn câu và thông tin vê gia tôc, góc quay của xe.

Hệ thống điều khiển: Điều khiển chuyển động: Sử dụng các thuật toán PID (Proportional-Integral- Derivative) để duy trì tốc độ và hướng di chuyên ổn định. Các thuật toán tiên tiến như MPC (Model Predictive Control) được áp dụng trong các tình huống phức tạp đề dự đoán và tối ưu hóa hành vi của xe. Điều khiến bánh xe: Framework ros2_control cho phép tích hợp linh hoạt giữa phần mềm và phần cứng đề điều chỉnh động cơ bánh xe, đảm bảo độ chính xác cao khi xe quay đầu hoặc di chuyền qua các địa hình phức tạp. 18 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết e Hệ thống tránh va chạm: Sử dụng dữ liệu từ LIDAR, camera, và cảm biến siêu âm dé phát hiện vật cản và đưa ra quyết định hành động phù hợp, như giảm tốc độ, dừng lại, hoặc thay đổi lộ trình.

Phần mềm và thuật toán: e Lap kế hoạch đường di: o Dijkstra: Thuật toán tìm kiếm đường đi ngắn nhất trên đồ thị, thường được sử dụng dé xác định tuyến đường tối ưu trong môi trường đã biết. o_ A* (A-star): Cải tiến từ Dijkstra, A* kết hợp chi phí thực tế và dự đoán (heuristic) dé tìm đường hiệu quả hon. o RRT (Rapidly-exploring Random Tree): Thích hợp cho các môi trường không gian lớn và phức tạp, giúp xe tự hành khám phá không gian và tìm lộ trình khả thi nhanh chóng. e Định vị và hợp nhất dữ liệu: o EKF (Extended Kalman Filter): Hợp nhất di liệu từ nhiều cảm biến (LIDAR, IMU, GPS) dé nâng cao độ chính xác khi định vi.

o robot localization: Một gói phần mềm ROS chuyên dụng, hỗ trợ tích hợp và xử lý dữ liệu cảm biến dé tạo ra thông tin vị trí chính xác. e Tránh chướng ngại vật: o Kết hợp dữ liệu từ LiDAR và camera dé phát hiện và né tránh các vật cản trong thời gian thực. o Sử dụng các thuật toán như VFH (Vector Field Histogram) hoặc DWA (Dynamic Window Approach) dé điều chỉnh hướng di chuyền an toàn. © Quản lý hệ thống: o Framework ROS2 đóng vai trò trung tâm trong việc quản lý giao tiếp giữa các thành phần phần mềm và phần cứng.

o Navigation2: Cung cấp khả năng điều hướng tự động, bao gồm lập lộ trình, định vi, và thực hiện các nhiệm vụ di chuyên phức tạp. Nguyên lý hoạt động của xe tự hành: Xe tự hành hoạt động theo quy trình tổng quát như sau: BI: Thu thập dữ liệu môi trường: 19 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết e Sử dụng các cam biến như LiDAR, camera, cảm biến siêu âm va GPS thu thập thông tin từ môi trường xung quanh, bao gồm vị trí của các vật thể, địa hình, và tín hiệu định vi. B2: Xử lý dữ liệu: e Xử lý dữ liệu cảm biến: Dữ liệu thô từ các cảm biến được gửi đến bộ xử lý trung tâm (ví du: Raspberry Pi hoặc NVIDIA Jetson). Quá trình này bao gồm các công đoạn: o Lọc nhiễu và chuẩn hóa đữ liệu từ cảm biến LiDAR, camera, và IMU.

o Kết hợp dữ liệu từ các nguồn cảm biến dé tạo ra góc nhìn tổng thé và chính xác hơn về môi trường. e_ Xây dung bản đồ: Sử dụng thuật toán SLAM dé xây dựng bản đồ môi trường trong thời gian thực. e_ Định vị: Hệ thống sử dung dir liệu ban đồ dé xác định vi trí hiện tại của xe với độ chính xác cao. B3: Lập kế hoạch di chuyển: e Tính toán lộ trình tối ưu: Phần mềm điều hướng (như Navigation2) tính toán tuyến đường ngắn nhất và an toàn nhất từ vị trí hiện tại đến mục tiêu, sử dụng các thuật toán như A*, Dijkstra, hoặc RRT.

e Phat hiện rủi ro: Phân tích các yếu tố nguy cơ như chướng ngại vật, thay đôi địa hình, hoặc mật độ giao thông đề điều chỉnh kế hoạch di chuyền. e Quyết định hành động: Lập kế hoạch cụ thể cho từng bước di chuyển, bao gồm tăng tốc, giảm tốc, hoặc dừng lại nếu cần thiết. B4: Điều khiến động cơ: e Cac lệnh từ hệ thống lập kế hoạch được chuyền đến bộ điều khiển động cơ (như PID hoặc MPC) dé thực thi. Hệ thống này đảm bảo xe di chuyền chính xác theo kế hoạch đã định.

e Điều chỉnh tốc độ và hướng di chuyên của xe dựa trên dữ liệu cảm biến thời gian thực. B5: Phản hồi và điều chỉnh: e Các cảm biến liên tục gửi dữ liệu mới về bộ xử lý dé cập nhật thông tin về môi trường và vi tri của xe. 20 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết e Hệ thống sử dụng các thuật toán như EKF để điều chỉnh lộ trình và tránh chướng ngại vật một cách hiệu quả. Bó: Thực hiện nhiệm vụ: e Sau khi đến đích, xe tự hành thực hiện các nhiệm vụ được lập trình như giao hàng, vận chuyên vật phẩm, hoặc hỗ trợ trong các hoạt động cụ thé.

Khái Niệm và lich sử phát triển: Khái niệm: ROS2 (Robot Operating System 2) là framework mã nguồn mở hỗ trợ phát triển hệ thống robot phức tap với các cải tiến vượt trội so với ROS1. Hệ thống nay đảm bảo khả năng mở rộng, hiệu năng cao, và hỗ trợ thời gian thực, phù hợp với ứng dụng trong công nghiệp. Lịch sử phát triển: Ra đời năm 2014 nhằm khắc phục hạn chế của ROS1, ROS2 sử dụng chuẩn giao thức DDS (Data Distribution Service) giúp tăng độ tin cậy và bảo mật. Từ phiên bản đầu tiên (2017), đến các phiên bản cải tiến như Galactic Geochelone và Humble Hawksbill, ROS2 đã mở rộng hỗ trợ đa nền tang (Linux, Windows, macOS) và các tính năng như mã hóa dữ liệu và điều khiến robot thời gian thực.

ROS2 hiện là lựa chọn phổ biến trong phát triển robot công nghiệp, xe tự hành và hệ thong IoT nhờ sự 6n định và tính linh hoạt cao. Hé diéu hanh ROS2 Dự án xe tự hành này sé sử dung phiên ban ROS 2 Humble, dưới day là các đặc điểm nỗi bật của ROS 2 Humble: 21 Đồ án tốt nghiệp đại học Chương 2: Nền tảng lý thuyết Hình 2. ROS Humble Hawksbill e Kién trúc phân tán hiện đại: Sử dung giao thức DDS, cho phép giao tiếp tin cậy và an toàn giữa các thành phần robot. e Tính linh hoạt cao: Hỗ trợ nhiều ngôn ngữ lập trình như C++, Python, và Java, giúp các nhà phát triển dé dàng tích hợp.

e_ Bảo mật va đáng tin cậy: Tích hợp các cơ chế bảo mật nâng cao, kiểm soát truy cập và mã hóa thông điệp. e Cai thiện hiệu năng: Giảm thiểu độ trễ, tối ưu hóa việc xử lý song song và quản lý tai nguyên. Kiến Trúc Hệ Thống ROS 2: ROS 2 được thiết kế theo kiến trúc phân tán, trong đó các thành phần (nodes) hoạt động như những tiễn trình độc lập. Mỗi node có thé đảm nhận các chức năng như xử lý đữ liệu từ cảm biến, điều khiển robot, hoặc gửi/nhận thông tin từ các node khác.

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