Đồ án tốt nghiệp: Xây dựng ứng dụng SLAM Robot trên Kit X3 PLUS

Tài liệu đồ án xây dựng ứng dụng SLAM cho robot. Trình bày quy trình thiết lập bản đồ tự động bằng Kit Robot X3 PLUS, cảm biến Lidar và ROS.

Người đăng

Ẩn danh

Thể loại

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

2024

77
7
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về SLAM Robot và ứng dụng thực tiễn

SLAM Robot (Simultaneous Localization and Mapping) là công nghệ tiên tiến cho phép robot tự định vị và xây dựng bản đồ môi trường xung quanh một cách tự động. Đây là một trong những nền tảng quan trọng nhất trong lĩnh vực robot tự hànhtrí tuệ nhân tạo. Ứng dụng SLAM được sử dụng rộng rãi trong các lĩnh vực như điều hàng robot, drone tự hành, xe tự lái, và các hệ thống robot phục vụ sinh hoạt. Dự án này tập trung vào việc xây dựng ứng dụng SLAM trên nền tảng Robot X3 PLUS sử dụng cảm biến YDLIDAR 4ROS, hệ điều hành Ubuntu và ngôn ngữ lập trình Python 3. Thông qua đồ án này, sinh viên sẽ hiểu sâu hơn về cách hoạt động của hệ thống SLAM robot và khả năng ứng dụng thực tiễn của nó.

1.1. Nguyên lý hoạt động SLAM Robot

SLAM robot hoạt động dựa trên hai quá trình chính: định vị (Localization) và lập bản đồ (Mapping). Cảm biến YDLIDAR 4ROS phát ra tia laser để quét môi trường xung quanh, tạo ra dữ liệu point cloud. Robot sử dụng những dữ liệu này để xác định vị trí hiện tại của mình và đồng thời xây dựng bản đồ 2D/3D của không gian. Quá trình này được lặp lại liên tục, cho phép robot tự điều hướng trong môi trường chưa biết.

1.2. Ứng dụng thực tiễn của SLAM trong robot hiện đại

Ứng dụng SLAM xuất hiện trong nhiều lĩnh vực công nghiệp và dân sự. Robot tự hành sử dụng SLAM để điều hàng trong các nhà kho, robot vệ sinh sử dụng để tạo bản đồ căn nhà, drone sử dụng SLAM để bay trong nhà. Công nghệ SLAM cũng được ứng dụng trong dịch vụ giao hàng tự động, robot y tế, và các hệ thống bảo vệ tự động.

II. Kiến trúc hệ thống SLAM Robot X3 PLUS

Hệ thống SLAM Robot X3 PLUS được thiết kế bao gồm các thành phần cứng và phần mềm tích hợp chặt chẽ. Robot X3 PLUS được trang bị 4 động cơ DC 12V encoder, pin lithium 9600mAh, kích thước 300mm × 246mm, cân nặng 3kg, sử dụng hệ điều hành Ubuntu để quản lý các quy trình. Cảm biến YDLIDAR 4ROS được gắn trên robot để quét laser 360 độ, cung cấp dữ liệu môi trường thực tời. Hệ thống điều khiển sử dụng phần mềm Rviz để hiển thị bản đồ 3D và trạng thái robot SLAM trong không gian ảo. Tất cả các tính toán xử lý dữ liệu được thực hiện thông qua ROS (Robot Operating System), một framework mạnh mẽ cho phát triển ứng dụng robot.

2.1. Cảm biến YDLIDAR 4ROS và khả năng quét laser

Cảm biến YDLIDAR 4ROS là thiết bị quét laser quay vòng, cung cấp dữ liệu khoảng cách đến các vật thể xung quanh. Cảm biến này có tầm quét tối đa 30 mét, độ phân giải cao, tốc độ quét 12 lần/giây. YDLIDAR gửi dữ liệu qua giao tiếp ROS đến hệ thống xử lý tâm. Dữ liệu laser này là cơ sở để robot SLAM xây dựng bản đồ môi trường.

2.2. Hệ thống điều khiển động cơ và định vị robot

Robot X3 PLUS sử dụng 4 động cơ DC 12V có encoder để điều khiển chuyển động. Encoder cung cấp thông tin vị trí và tốc độ quay của bánh xe, giúp robot SLAM xác định vị trí chính xác. Hệ thống điều khiển tích hợp ROS để điều phối chuyển động, đảm bảo robot di chuyển theo con đường được lập kế hoạch dựa trên bản đồ.

III. Quy trình xây dựng ứng dụng SLAM Robot

Quá trình xây dựng ứng dụng SLAM robot được chia thành các giai đoạn rõ ràng, từ nghiên cứu tài liệu đến triển khai và thử nghiệm. Trước tiên, cần nghiên cứu nguyên lý hoạt động của cảm biến YDLIDAR 4ROSđộng cơ Robot X3 PLUS. Tiếp theo, thiết lập máy ảo Ubuntu và cài đặt ROS để phát triển ứng dụng. Sử dụng Python 3 để lập trình các module xử lý dữ liệu từ cảm biến. Phần mềm Rviz được sử dụng để hiển thị và kiểm tra bản đồ được xây dựng. Giai đoạn tiếp theo là chạy thuật toán SLAM trên dữ liệu thực tế từ cảm biến, tối ưu hóa độ chính xác bản đồ. Cuối cùng, thực hiện các bài thử nghiệm, đánh giá hiệu năng, và hiệu chỉnh các tham số để đạt kết quả tốt nhất.

3.1. Cài đặt ROS và xây dựng môi trường phát triển

ROS (Robot Operating System) là nền tảng quan trọng để phát triển ứng dụng SLAM robot. Cài đặt ROS trên Ubuntu, tạo workspace để quản lý các package robot. Cấu hình giao tiếp giữa cảm biến YDLIDAR 4ROS và hệ thống ROS qua cổng USB hoặc UART. Thiết lập phần mềm Rviz để hiển thị dữ liệu sensor và bản đồ trong thời gian thực.

3.2. Lập trình xử lý dữ liệu và thuật toán SLAM

Sử dụng Python 3 để viết các script xử lý dữ liệu từ YDLIDAR. Integrating thuật toán SLAM như Gmapping hoặc Cartographer vào ứng dụng robot. Các bước: đọc dữ liệu laser, chuyển đổi tọa độ, áp dụng thuật toán lập bản đồ, cập nhật vị trí robot. Lập trình điều khiển động cơ để robot di chuyển theo kế hoạch từ bản đồ SLAM.

IV. Thử nghiệm đánh giá và kết quả dự án SLAM Robot

Giai đoạn thử nghiệm là bước quan trọng để xác nhận hiệu suất ứng dụng SLAM robot. Các bài test được thực hiện trong môi trường đa dạng: phòng kín, hành lang, khu vực có chướng ngại vật. Robot SLAM được quan sát thông qua Rviz để kiểm tra độ chính xác bản đồ, định vị vị trí. So sánh bản đồ được xây dựng tự động với bản đồ chuẩn để đánh giá sai số. Các tham số của thuật toán SLAM như số lần lặp, khoảng cách tối thiểu quét được điều chỉnh để tối ưu. Kết quả menunjukkan rằng robot SLAM có thể xây dựng bản đồ với độ chính xác cao, điều hàng hiệu quả trong môi trường mới. Ứng dụng SLAM này chứng minh tiềm năng lớn trong các ứng dụng robot tự hành thực tiễn.

4.1. Phương pháp thử nghiệm và metric đánh giá SLAM

Thử nghiệm ứng dụng SLAM robot bằng cách cho robot di chuyển tự do trong các khu vực đã được lập bản đồ trước. Đánh giá độ chính xác bản đồ bằng cách so sánh với bản đồ chuẩn. Tính toán sai số vị trí (Position Error), sai số định hướng (Orientation Error). Kiểm tra thời gian xây dựng bản đồ, tốc độ xử lý dữ liệu của robot SLAM. Đánh giá khả năng định vị robot trong quá trình di chuyển.

4.2. Kết quả đạt được và hướng phát triển tiếp theo

Robot SLAM thành công xây dựng bản đồ với sai số định vị dưới 5cm. Ứng dụng SLAM hoạt động ổn định trong môi trường đa dạng. Các hướng phát triển tiếp theo: nâng cấp thuật toán SLAM 3D, tích hợp lập kế hoạch đường đi (Path Planning), phát triển giao diện người dùng. Robot SLAM có thể được ứng dụng trong các dự án thương mại như robot phục vụ, robot khám phá môi trường nguy hiểm.

18/12/2025

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

CHƯƠNG 1. TỔNG QUAN Thực hiện thiết kế của hệ thống từ phần cứng đến phần mềm. Trình bày các sơ đồ khối của hệ thống, nguyên lý hoạt động Chương 4: Thi Công Hệ Thống Trình bày chi tiết lập trình Robot thu thập dữ liệu, xây dựng bản đồ,sử dụng bản đồ kết hợp dữ liệu để có thể điều hướng trên bản đồ đã xây dựng trước đó. Viết tài liệu hướng dẫn sử dụng hệ thống Chương 5: Kết Quả - Nhận Xét – Đánh Giá Trình bày kết quả đạt được thông qua các bài kiểm tra, thử nghiệm, xác mình để đưa ra những nhận xét và đánh giá về mô hình chạy, đồ chính xác và tính ổn định của hệ thống những vấn đề chưa kịp thời giải quyết trong suốt quá trình nghiên cứu và triển khai hệ thống.

Chương 6: Kết Luận – Hướng Phát Triển Đưa ra kết luận cũng như đề xuất các hướng phát triển của đề tài. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2.1 Giới thiệu robot 2.1 Giới thiệu về ROBOT Robot X3 PLUS là một kit robot được giới thiệu bởi Yahboom (Trung Quốc) lần đầu vào năm 2022. Kit robot X3 PLUS là một sản phẩm được trang bị khá đầy đủ các cảm biến như LiDAR, gia tốc,… cùng với đó là các cơ cấu chấp hành như bánh xe đa hướng, cánh tay robot, còi, led nhằm đáp ứng việc học tập, nghiên cứu về Robot.1 Thông số kỹ thuật của robot STT Thông số Giá trị 1 Vi xử lý 6-core Arm® Cortex®-A78AE v8.2 64-bit 2 Hệ điều hành Linux Ubuntu 18.04 LTS 3 RAM 8 GB 4 ROM 128 GB (SSD) 5 Chiều dài 300 mm 6 Chiều rộng 246 mm 7 Khối lượng 4 kg 8 Điện áp pin 12.6 V 9 Dòng điện pin 6A 10 Thời lượng sử dụng 3 giờ 11 Giao tiếp điều khiển Wifi BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT Kit robot có thể được điều hành thông qua ứng dụng hay tay cầm điều Hình 2.1 NVIDIA Jetson Orin Nano 8GB Dev Kit Thông số kỹ thuật • CPU : 6-core Arm® Cortex®-A78AE v8. • GPU: NVIDIA AmpereTM architecture with o 1024 x NVIDIA CUDA Cores o 32 x Tensor Cores • RAM: 8GB, 128-bit, LPDDR5, 68GB/s • Dung lượng lưu trữ: 128GB SSD • Nguồn cấp: 19V DC • Điện năng tiêu thụ: từ 7W đến 15W • CSI Camera: 2 kết nối MIPI CSI-2 22-pin camera. • Cổng giao tiếp: o USB: 4 cổng USB 3.2 Type-A (10Gbps); 1 cổng USB2. o Mạng: 1 cổng Gigabit Ethernet (10/100/1000M).

o Hiển thị: 1x DisplayPort 1.2 o Cổng I/O khác: Đầu cắm mở rộng 40 chân (UART, SPI, I2S, I2C, GPIO) - Đầu nút 12 chân - Đầu quạt 4 chân - Khe cắm microSD - Giắc cắm nguồn DC b. Cảm biến LIDAR YDLIDAR 4ROS LiDAR - Light Dectection And Ranging ánh sáng laser được gửi từ một nguồn phát và phản xạ từ các vật thể trong môi trường. Thời gian phản xạ được bộ thu hệ phát hiện BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT thời gian bay (TOF) được sử dung để lập bản đồ khoảng cách các vật thể xung quanh.Cảm biến LiDAR – Light Detection And Ranging trong đề tài sử dụng cảm biến YDLIDAR 4ROS Hình 2.2 Cảm biến YDLIDAR 4ROS TOF lidar dựa trên việc đo thời gian bay của ánh sáng để thu được khoảng cách tới mục tiêu.

Nguyên lý làm việc của nó chủ yếu như sau: tín hiệu laser được điều chế được phát ra thông qua máy phát laser. Ánh sáng điều chế được máy dò laser nhận được sau khi bị phản xạ bởi vật thể được đo. Khoảng cách đến mục tiêu có thể được tính bằng cách đo độ lệch pha giữa tia laser phát ra và tia laser nhận được.3 Khoảng cách của cảm lidar có thể quét BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.4 Nguyên lý hoạt động của LiDAR ToF Bảng 2.2 Thông số kỹ thuật của cảm biến LiDAR Thông số Giá trị Thông số Giá trị Model YDLIDAR 4ROS Góc quay nhỏ nhất 0.22°@12Hz Nguồn 5V Phương thức giao UART serial port tiếp Phạm vi quét 360 ° Sai số 0.05m – 5m ≈ ±6cm 5m – 20m ≈ ±4cm 20m – 30m ≈ ±10cm Phương pháp TOF Nhiệt độ hoạt động 0 °C – 50 °C đo Khoảng cách 0.05m ~ 30m Tần số quét 5 ~ 12Hz quét Tốc độ lấy 20000 lần / s Chống nước và IP65 mẫu chống bụi Kích thước 7.03cm x Laser IEC – 60825 3.47cm Lớp 1 Giao thức UART truyền thông BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 CHƯƠNG 2.

Bánh xe mecannum Bánh xe Mecanum là một dạng của bánh xe đa hướng (Mecanum Wheels), bánh xe này được tạo thành bởi những con lăn nhỏ với trục được lắp nghiêng một góc 45 độ so với trục quay chính của bánh xe, nhờ kết cấu đặc biệt này, bánh xe có thể tạo ra rất nhiều chuyển động phức hợp Hình 2.5 Bánh xe mecannum Xe được trang bị 4 bánh bánh xe Mecanum giúp xe có thể dễ dàng di chuyển và mỗi bánh xe sẽ có một động cơ truyển động có bộ mã hóa có thể đọc tốc độ bánh xe để điểu chỉnh và gia tăng tốc độ.6 Hướng đi bánh xe mecannum d. Pin BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Robot sử dụng pin lithium với dung lượng lượng lớn. Giúp thời gian làm việc của robot lâu dài cùng với độ là hoạt động ổn định.

Thông số kỹ thuật: Điện áp ra: 12.6V Dòng ra định mức: 6A Dung lượng: 9600mAh. Kích thước: 64*43*75mm.7 Pin đi kèm với robot e. Động cơ giảm tốc 12V DC kèm encoder Động cơ giảm tốc DC 12V đi kèm bộ encoder từ tính hall có độ chính xác cao, hiệu suất vượt trội so với động cơ bước. Nó được trang bị bộ encoder từ trường gia tăng pha AB 330 dòng, có đặc điểm là độ chính xác cao và khả năng chống nhiễu mạnh mẽ.8 Động cơ giảm tốc DC 12V BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10 CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT Thông số kỹ thuật: • Điện áp sử dụng: 12VDC • Dòng không tải: 360mA • Dòng chịu đựng tối đa khi có tải: 4A • Loại động cơ: động cơ chổi than. • Lực kéo Moment định mức: 10 kg.cm • Tỉ số truyền: 30:1 (động cơ quay 30 vòng trục chính hộp giảm tốc quay 1 vòng). • Tốc độ không tải: 11000 RPM • Tốc độ tối đa khi có tải: khoảng 330 RPM • Cổng giao tiếp: PH2.0 • Loại encoder: Hall encoder. • Điện áp cấp cho Encoder hoạt động: 3.2 Giới thiệu ROS 2.1 ROS là gì ROS – Robot Operate System (Hệ điều hành Robot) là hệ điều hành nguồn mở phù hợp cho robot.

Nó cung cấp các dịch vụ mà hệ điều hành nên có, bao gồm trừu tượng hóa phần cứng, điều khiển thiết bị cấp thấp, thực hiện các chức năng chung, truyền thông báo giữa các quá trình và quản lý gói. Nó cũng cung cấp các công cụ và chức năng thư viện cần thiết để lấy, biên dịch, viết và chạy mã trên các máy tính. ROS là một khung quy trình phân tán (còn gọi là Nút) cho phép các tệp thực thi được thiết kế riêng lẻ và được ghép nối lỏng lẻo trong thời gian chạy. Các quy trình này có thể được nhóm thành Gói và Ngăn xếp, có thể dễ dàng chia sẻ và phân phối.

ROS cũng hỗ trợ một hệ thống liên kết các Kho lưu trữ mã cho phép phân phối cộng tác. Thiết kế này, từ cấp độ hệ thống tệp đến cấp độ cộng đồng, cho phép các quyết định độc lập về phát triển và triển khai, nhưng tất cả đều có thể được kết hợp với nhau bằng các công cụ cơ sở hạ tầng ROS. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Để hỗ trợ mục tiêu chính là chia sẻ và cộng tác này, có một số mục tiêu khác của khuôn khổ ROS: • Mã được viết cho ROS có thể được sử dụng với các khung phần mềm robot khác.

• Độc lập về ngôn ngữ: khung ROS dễ thực hiện bằng bất kỳ ngôn ngữ lập trình hiện đại nào. Có thể được viết bằng ngôn ngữ Python và C++ • Kiểm tra dễ dàng: ROS có một khung kiểm tra đơn vị/tích hợp dựng sẵn được gọi là rostest giúp dễ dàng mang lên và phá bỏ các thiết bị kiểm tra. • Mở rộng quy mô: ROS phù hợp với các hệ thống thời gian chạy lớn và cho các quy trình phát triển lớn.3 SLAM SLAM (bản địa hóa và lập bản đồ đồng thời là khả năng của robot trong việc xây dựng bản đồ của một môi trường không biết trước và đồng thời xác định vị trí của nó trong bản đồ. Nó được sử dụng rộng rãi trong lĩnh vực nghiên cứu, chế tạo robot.

Trong khi di chuyển, các phép đo hiện tại và bản địa hóa đang thay đổi, để tạo bản đồ, cần phải hợp nhất các phép đo từ các vị trí trước đó. Để xác định vấn đề SLAM, nhóm làm qua các bước: xác định mốc, thu thập dữ liệu khoảng cách trong môi trường, ước tính các giá trị trạng thái, liên kết dữ liệu lại, di chuyển và cập nhật vị trí và trạng thái mới cho robot. Tổng hợp SLAM là một quá trình trong đó mỗi phần đơn của quá trình đó được thực hiện bằng nhiều thuật toán khác nhau. Toàn bộ quá trình SLAM trong nghiên cứu này gồm các bước sau: - Thiết lập một hệ trục tọa độ cố định đối với môi trường quan sát.

- Thiết lập một hệ trục tọa độ di động nằm trên robot. - Thiết lập phương trình động học cho Robot (quãng đường di chuyển được) - Tính toán vị trí của robot và vật thể trong map dựa trên tính hiệu từ cảm biến Lidar. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT - Kết nối dữ liệu và xây dựng bản đồ quan sát.

- Cập nhật vị trí, so sánh thay đổi và nâng cấp bản đồ quan sát.1 Sử dụng Gmapping trong vẽ map Gmapping là thuật toán SLAM mã nguồn mở thường được sử dụng dựa trên khung SLAM đã được lọc. Thuật toán này dựa trên thuật toán lọc hạt Rao-Blackwellized, thuật toán này phân tách các quá trình định vị và ánh xạ theo thời gian thực. Định vị được thực hiện đầu tiên và sau đó ánh xạ được thực hiện. Trong Gmapping, robot liên tục cập nhật tư thế trên từng hạt được xử lý bằng cách ước tính phép đo hình học.

Trong quá trình thực hiện, khi nhận được lần quét laser đầu tiên, nó sẽ được đăng ký trực tiếp trên bản đồ.

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