Nghiên Cứu và Thiết Kế Robot Tự Hành Trong Nhà Sử Dụng Lidar

Tài liệu nghiên cứu Nghiên cứu và thiết kế mobile robot tự hành trong nhà sử dụng lidar đồ tốt nghiệp khoa chất lượng, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên

2022

96
14
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu chung

1.2. Vấn đề đặt ra

1.3. Phương pháp nghiên cứu

1.4. Nội dung thực hiện đề tài

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Động lực học của Mobile robot

2.2. Động học thuận của robot

2.3. Tính toán động lực học của robot

2.4. Giới thiệu về hệ thống ROS

2.5. Giới thiệu về ROS (Hệ điều hành Robot)

3. CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

3.1. Tổng quan phần cứng robot

3.2. Sơ đồ tổng quát hệ thống

3.3. Thiết kế khung xe robot

3.4. Gá động cơ và trụ đồng

3.5. Tổng hợp các chi tiết cho phần cứng

3.6. Lựa chọn các thiết bị cho robot

3.7. Raspberry Pi 4 Model B

3.8. Lựa chọn động cơ

3.9. Lựa chọn mạch cầu điều khiển

3.10. Cảm biến IMU

3.11. Vi điều khiển Arduino Uno

3.12. Mô hình robot thực tế

4. CHƯƠNG 4: THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN

4.1. Chương trình điều khiển robot

4.2. Chương trình điều khiển robot trên ROS

4.3. Xử lý tín hiệu từ cảm biến IMU và Encoder

4.4. Chương trình điều khiển PID

4.5. Tích hợp hệ thống trên ROS

4.6. Lập bản đồ môi trường

4.7. Điều hướng trên bản đồ (Navigation)

4.8. Link và Joints robot

4.9. Thiết kế giao diện điều khiển qua mạng wifi

5. CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM

5.1. Khảo sát bộ điều khiển PID

5.2. Tạo lập bản đồ môi trường

5.3. Tự động di chuyển đến điểm đích và tránh vật cản

5.4. Di chuyển thắng đến toạ độ (1.5,0) và giữ nguyên góc 0o

5.5. Di chuyển thẳng đến toạ độ (1,0) và xoay góc -900

5.6. Di chuyển thẳng đến toạ độ (1.5,0) và tránh vật cản

5.7. Di chuyển thẳng đến toạ độ (2.5,3) và tránh vật cản

5.8. Nhận xét và kết luận

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu chung

Robot tự hành, hay còn gọi là robot di chuyển tự động, là một phần quan trọng trong lĩnh vực công nghệ hiện đại. Chúng có khả năng di chuyển mà không cần sự can thiệp của con người, nhờ vào các cảm biến và thuật toán điều khiển. Thiết kế robot trong nhà sử dụng lidar là một trong những ứng dụng nổi bật của công nghệ này. Công nghệ lidar cho phép robot quét môi trường xung quanh, tạo ra bản đồ 3D và xác định vị trí của nó trong không gian. Điều này rất quan trọng cho việc di chuyển an toàn và hiệu quả trong các không gian hạn chế như trong nhà. Robot tự hành không chỉ được sử dụng trong công nghiệp mà còn trong đời sống hàng ngày, như robot hút bụi tự động. Sự phát triển của robot thông minh đã mở ra nhiều cơ hội mới cho việc tự động hóa trong các lĩnh vực khác nhau.

II. Vấn đề đặt ra

Trong quá trình nghiên cứu và phát triển robot tự hành, việc định vị và tìm đường là những thách thức lớn. Mục tiêu chính là tìm ra con đường ngắn nhất từ điểm xuất phát đến điểm đích, đồng thời tránh các vật cản trên đường đi. Việc sử dụng cảm biến lidar giúp robot có thể nhận diện và lập bản đồ môi trường xung quanh. Tuy nhiên, việc tìm đường tự động vẫn gặp khó khăn khi bản đồ phức tạp. Các thuật toán tìm đường như A* hay DWA (Dynamic Window Approach) được áp dụng để tối ưu hóa quá trình này. Việc phát triển các giải pháp hiệu quả cho vấn đề này không chỉ giúp cải thiện khả năng di chuyển của robot mà còn nâng cao tính an toàn trong quá trình hoạt động.

III. Phương pháp nghiên cứu

Để thiết kế một robot di chuyển trong nhà, nhóm nghiên cứu đã lựa chọn sử dụng hệ điều hành ROS (Robot Operating System) để phát triển phần mềm điều khiển. ROS cung cấp một nền tảng mạnh mẽ cho việc lập trình và điều khiển robot, cho phép tích hợp nhiều cảm biến và thuật toán khác nhau. Nhóm đã tiến hành nghiên cứu và thiết kế phần cứng cho robot, bao gồm việc lựa chọn các linh kiện như Raspberry Pi, Arduino và cảm biến lidar. Việc sử dụng cảm biến lidar giúp robot có khả năng quét và lập bản đồ môi trường, từ đó xác định vị trí và di chuyển đến các điểm đích một cách chính xác. Hệ thống điều khiển PID được áp dụng để điều chỉnh tốc độ và hướng di chuyển của robot, đảm bảo tính ổn định và hiệu quả trong quá trình hoạt động.

IV. Thiết kế phần cứng

Phần cứng của robot tự hành được thiết kế với kích thước nhỏ gọn, phù hợp cho việc di chuyển trong không gian hạn chế. Sơ đồ tổng quát hệ thống bao gồm các thành phần chính như khung xe, động cơ, và các cảm biến. Việc lựa chọn động cơ và mạch điều khiển là rất quan trọng để đảm bảo robot có thể di chuyển linh hoạt và chính xác. Cảm biến lidar được lắp đặt trên robot để quét môi trường và tạo bản đồ. Thiết kế phần cứng không chỉ đảm bảo tính năng hoạt động mà còn phải tính đến khả năng chịu tải và độ bền trong quá trình sử dụng. Các chi tiết được thiết kế trên phần mềm Solidworks, giúp mô phỏng và kiểm tra trước khi sản xuất thực tế.

V. Kết quả thực nghiệm

Kết quả thực nghiệm cho thấy robot di chuyển tự động có khả năng xây dựng bản đồ môi trường và di chuyển đến các điểm đích một cách hiệu quả. Robot đã thực hiện thành công việc tránh vật cản và điều chỉnh hướng di chuyển dựa trên dữ liệu từ cảm biến lidar. Các thử nghiệm cho thấy robot có thể di chuyển đến tọa độ xác định và giữ nguyên góc quay một cách chính xác. Việc sử dụng công nghệ lidar đã giúp robot nhận diện và xử lý các tình huống trong môi trường thực tế một cách nhanh chóng. Kết quả này không chỉ chứng minh tính khả thi của thiết kế mà còn mở ra hướng phát triển cho các ứng dụng khác trong tương lai.

VI. Kết luận và hướng phát triển

Đề tài nghiên cứu và thiết kế robot tự hành trong nhà sử dụng lidar đã đạt được những kết quả khả quan. Robot không chỉ có khả năng di chuyển tự động mà còn có thể lập bản đồ và tránh vật cản một cách hiệu quả. Tuy nhiên, vẫn còn nhiều thách thức cần giải quyết, như cải thiện độ chính xác trong việc định vị và tối ưu hóa thuật toán tìm đường. Hướng phát triển trong tương lai có thể bao gồm việc tích hợp thêm các cảm biến khác, cải thiện khả năng xử lý dữ liệu và mở rộng ứng dụng của robot trong các lĩnh vực khác nhau như y tế, giáo dục và dịch vụ. Việc phát triển robot thông minh sẽ góp phần nâng cao chất lượng cuộc sống và thúc đẩy sự phát triển của công nghệ tự động hóa.

10/02/2025

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

CHƯƠNG 1: TỔNG QUAN Chương 3: Thiết kế và xây dựng phần cứng cho robot. Chương 3: Thiết kế phần cứng robot trên solidworks, tìm hiểu và lựa chọn các module, vi điều khiển cho robot. Đồng thời thể hiện sơ đồ phần điều khiển của robot. Chương 4: Thiết kế chương trình điều khiển và lập trình tích hợp điều khiển robot Chương 4: Thiết kế chương trình điều khiển động cơ và nghiên cứu thiết đặt các thông số để tối ưu việc tảo bản đồ và di chuyển tránh vật cản của robot ngoài thực tế.

Chương 5: Kết quả thực nghiệm Chương 5: Trình bày kết quả từ thực nghiệm của robot của phần cứng và phần mềm. Chương 6: Kết luận và hướng phát triển Chương 6: Trình bày những vấn đề mà đề tài giải quyết được dựa trên các yêu cầu đề ra, cùng với khó khăn chưa giải quyết và đưa ra một số hướng phát triển để giúp đề tài hoàn thiện hơn. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Động lực học của Mobile robot Hình 2.1: Hệ trục toạ độ của mobile robot Để có thể tìm ra bảng DH cho robot ta cần dựa theo 6 quy tắc bàn tay phải về cách đặt hệ trục tọa độ cho các khớp như sau.1: Bản D-H của robot 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trong đó: ai-1 là khoảng cách từ trục zi-1 đến trục zi đo dọc theo trục xi-1, αi-1 là góc lệch từ trục zi-1 đến trục zi đo dọc theo trục xi-1, di là khoảng cách từ trục xi-1 đến trục xi đo dọc theo trục zi, θi là góc quay từ trục xi-1 đến trục xi đo dọc theo trục zi.

Động học thuận của robot: Từ bảng DH, với cách đặt hệ trục tọa độ như trên, ta có thể tính các ma trận chuyển đổi đồng nhất giữa các hệ trục tọa độ theo công thức sau: 𝑐𝜃 −𝑠𝜃 𝑐𝛼 𝑠𝜃 𝑠𝛼 𝑎 × 𝑐𝜃 (2.1) 𝑖 𝑠𝜃 𝑐𝜃 𝑐𝛼 −𝑐𝜃 𝑠𝛼 𝑎 × 𝑠𝜃 𝑇𝑖+1 =[ ] 0 𝑠𝛼 𝑐𝛼 𝑑 0 0 0 1 Trong đó: 𝑐𝜃 là 𝑐𝑜𝑠𝜃; 𝑠𝜃 là 𝑠𝑖𝑛𝜃; 𝑐𝛼 là 𝑐𝑜𝑠𝛼; 𝑠𝛼 là 𝑠𝑖𝑛𝛼 Áp dụng công thức trên, ta tính được các ma trận chuyển động đồng nhất. Ma trận chuyển đổi đồng nhất giữa hệ trục 0 và hệ trục 1: 𝑐1 −𝑠1 0 0 (2.2) 𝑠 𝑐1 0 0] 𝑇10 = [ 1 0 0 1 0 0 0 0 1 Ma trận chuyển đổi đồng nhất giữa hệ trục 1 và hệ trục 2: 1 0 0 𝑑 (2.3) 𝑇12 = [0 1 0 0] 0 0 1 0 0 0 0 1 Và ta có thêm ma trận chuyển đổi đồng nhất giữa hệ trục tại gốc toạ độ và tại ví trí bắt đầu của robot.4) 0 𝑦 = [0 1 𝑚𝑎𝑝 𝑇0 ] 0 0 1 0 0 0 0 1 Nhân các ma trận với nhau ta thu được ma trận chuyển đổi đồng nhất giữa hệ trục thứ 2 và hệ trục thức 0. 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 𝑐1 −𝑠1 0 𝑑𝑐1 (2. 𝑇20 = [ 1 ] 0 0 1 0 0 0 0 1 Từ tọa độ điểm đầu cuối và ma trận chuyển đổi đồng nhất, ta có thể tính được tọa độ điểm đầu cuối so với hệ trục tọa độ 0, ta có phương trình động học thuận của robot là: 𝑥 + 𝑑𝑐1 (2.

Tính toán động lực học của robot Ta có toạ độ của robot sau khi di chuyển trên hệ trục là như sau: 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Hình 2.2: Hệ trục toạ độ của robot 𝑥 = 𝑥𝑐 + 𝑑𝑐𝑜𝑠(𝜃) (2.8) { 𝑟 𝑦𝑟 = 𝑦𝑐 + 𝑑𝑠𝑖𝑛(𝜃) Trong đó: (𝑥𝑟, 𝑦𝑟 ) là toạ độ điểm cuối của robot. (𝑥𝑐, 𝑦𝑐 ) là toạ độ điểm đầu của robot. Chuyển vế phương trình trên, ta có: 𝑥 − 𝑥𝑐 = 𝑑𝑐𝑜𝑠(𝜃) (2.14) Hàm vi phân của robot 𝑑 𝜕𝐿 𝑑𝐿 (2.15) − =𝜏 𝑑𝑡 𝜕𝜃̇ 𝑑𝜃 Tính động năng của robot: 𝑛 1 1 (2.16) 𝐾(𝜃, 𝜃̇) = ∑( 𝑚𝑖 𝑣𝑐𝑖 𝑇 𝑣𝑐𝑖 + 𝑤𝑖𝑇 𝐼𝑖 𝜔𝑖 ) 2 2 𝑖=1 Thế năng của robot: 𝑛 (2.17) 𝑈 = ∑ −𝑚𝑖 𝑔𝑇 𝑃𝑐𝑖0 + 𝑈𝑟𝑒𝑓𝑖 ) 𝑖=1 Trong đó 𝑚𝑖 là khối lượng ở khâu thứ i 8 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 𝑇 𝑣𝑐𝑖 vận tốc tại khâu thứ i 𝜔𝑖 là gia tốc góc của khâu thứ i 𝐼𝑖 là moment quán tính của khâu thứ i 𝑔𝑇 là gia tốc trọng trường 𝑃𝑐𝑖0 là vị trí trọng tâm khâu thứ i 𝑈𝑟𝑒𝑓𝑖 là năng lượng thế năng tại gốc Ta có vận tốc thẳng của robot được tính theo vận tốc bánh trái và vận tốc bánh phải: 𝑣𝑙 + 𝑣𝑟 (2.18) 𝑣= 2 Với 𝑣𝑙 là vận tốc bánh trái; 𝑣𝑟 là vận tốc bánh phải. Động năng của robot là: 1 𝑣𝑙 + 𝑣𝑟 2 1 𝑣𝑟 − 𝑣𝑙 2 2 (2.19) 𝐾 = 𝑚( ) + ((𝑚𝑑 2 + 𝐼𝑧 ) + ( ) 𝑅 ) 2 2 2 𝐿 Thế năng của robot: U = 0 vì phương của robot là phương ngang vuông góc với gia tốc trọng trường nên thế năng của robot bằng 0.21) Ta có hàm vi phân của robot: 𝑑 𝑑𝐿 𝑑𝐿 (2.22) ( + )=0 𝑑𝑡 𝑑𝜔𝑙 𝑑𝜔𝑟 Từ phương trình (2.20), ta tính toán như sau: 𝑑 1 2 𝑚𝑑 2 + 𝐼𝑧 2 2𝑚𝑑𝑅2 (2.23) ( 𝑚𝑅 (𝜔𝑙 + 𝜔𝑟 ) + (𝜔𝑙 − 𝜔𝑟 )𝑅 ) + (𝜔𝑙 − 𝜔𝑟 )) 𝑑𝑡 4 𝐿2 𝐿2 Từ phương trình trên ta tìm được phương trình Euler Lagrange của từng động cơ: 9 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 1 2 𝑚𝑑 2 + 𝐼𝑧 2𝑚𝑑𝑅2 (2.

Giới thiệu về hệ thống ROS 2. Giới thiệu về ROS (Hệ điều hành Robot): ROS là một hệ thống framework dùng cho các ứng dụng robot. ROS có những đặc tính thiết yếu của một hệ điều hành như khả năng thực hiện các tác vụ song song, trao đổi dữ liệu, quản lý dữ liệu. Đồng thời, nó cũng đi kèm với các công cụ và thư viện để xây dựng và viết các chương trình cho nhiều máy tính hỗ trợ việc vẽ đồ thị, lưu dữ liệu, hiện thị model 3D của robot.

Gói ROS của nó bao gồm SLAM, lập kế hoạch chuyển động, kiểm soát thao tác. Về mặt trao đổi dữ liệu và giao tiếp trong ROS: ROS tích hợp một vài chuẩn giao tiếp khác nhau.3: Mô hình robot với nền tảng ROS của mobile robot 2. Cấu trúc ROS ROS gồm ba cấp khái niệm: Filesystem, Computation Graph và Community [1]. Cấp thứ nhất – Filesystem: giải thích về các cấu trúc thư mục và các tập tin tối thiểu để ROS hoạt động.

10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Cấp thứ hai – Computation Graph: là giao tiếp giữa các quá trình xử lý và hệ thống. Quản lý các quá trình giao tiếp giữa nhiều máy tính với nhau, … Cấp thứ ba – Community: Giải thích/ hướng dẫn các công cụ và các khái niệm để chia sẻ kiến thức, thuật toán chương trình xử lý bất kỳ nhà phát triển nào. ROS filesystem Filesystem chủ yếu là các nguồn tài nguyên của ROS được thực thi trên bộ nhớ lưu trữ hệ thống, bao gồm: Packages: là đơn vị chính để tổ chức phần mềm trên ROS. Một package có thể chứa các nodes, các thư viện, các file hoặc bất cứ file nào cho việc tổ chức.

Mục đích của package là để tạo ra tập hợp chương trình có kích thước nhỏ nhất để có thể dễ dàng sử dụng lại.4: Cấu trúc package trong ROS Metapackages: là một pakage chuyên biệt, dùng để phục vụ cho việc thể hiện mối quan hệ một nhóm các pakage khác với nhau. Stacks: Khi chúng ta kết hợp các pakage với nhau với một vài chức năng thì được gọi là Stack. Trong ROS, có rất nhiều stack với công dụng khác nhau. Tương tự Pakage, nơi chứa thông tin về stack gọi là Stack Manifests.

11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Hình 2.5: Cấu trúc Stack trong ROS Message types: là mô tả của một thông điệp được gửi qua lại giữa các quá trình được lưu trữ dưới dạng my_pakage/msg/MyMessageType. Message định nghĩa cấu trúc dữ liệu cho các thông điệp được gửi đi. ROS Computation Graph Level Computation Graph là một mạng nơi các quy trình trong ROS được kết nối với nhau. Bất kỳ một node nào trong hệ thống cũng có thể truy cập vào mạng này, tương tác với các node khác, trao đổi các dữ liệu nằm trong mạng.

Các khái niệm cơ bản của Computation Graph là nodes, Master, Parameter Server, message, services, topics và bags. Nodes: là một quy trình đúng để tính toán, điều khiển. Một node có thể được tạo ra khi biên dịch một package thành công và trong cùng một pakage có thể tạo nhiều node. Khi một node muốn giao tiếp, tương tác các node khác thì bản thân node đó phải được kết nối với mạng ROS.

Trong một hệ thống, mỗi node sẽ có một chức năng khác nhau. Master: ROS master cung cấp một tên đăng ký và tra cứu phần còn lại của Computation Graph. Nếu không có ROS Master thì các node không thể tìm thấy nhau, trao đổi các message hay gọi các service. Parameter Server: cho phép dữ liệu được lưu trữ bởi các từ khoá trong một vị trí trung tâm.

Với các biến này, nó có thể được cấu hình các node trong khi nó đang hoạt động hoặc để thay đổi hoạt động của các node. 12 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Messages: các node giao tiếp với nhau thông qua message. Một message đơn giản là một cấu trúc dữ liệu, bao gồm các trường được định nghĩa như integer, floating, point, boolean, … Messages có thể bao gồm các kiểu cấu trúc và mảng lồng vào nhau (giống kiểu struct trong C). Chúng ta có thể tự phát triển kiểu message dựa trên các message chuẩn.

Topic: messages được định tuyến thông qua hệ thống vận chuyển, trong đó được phân loại thành publish và subcribe. Một node sẽ gửi một messages bằng việc publishing message đó lên một topic định trước. Topic chỉ là một cái tên để nhận nội dung của message. Một node thì có thể subcribe một topic có tên và kiểu dữ liệu được khai báo.

Trong cùng một thời điểm, có thể nhiều publishers và subcribers cùng truy cập vào một topic, và một node có thể publish và subcribe nhiều topic. Services: mô hình publish/subcribe thì rất linh hoạt trong việc giao tiếp nhưng đặc điểm là truyền được đa đối tượng và một chiều. Nhưng đôi khi lại không thích hợp cho việc truyền theo dạng request/reply, thường được dùng trong kiểu hệ thống phân bố. Do đó, việc truyền nhận theo dạng request/reply được dùng thông qua services.

Sevices được định nghĩa một cặp cấu trúc dữ liệu: một cho request và một cho reply. Một node cung cấp một service thông qua một thuộc tính name, và một client sử dụng service bằng việc gửi một request message và đợi phản hồi. Giới thiệu về SLAM (Simultaneous localization and mapping): Simultaneous localization and mapping (SLAM) là công nghệ định vị và xây dựng bản đồ đồng thời. Bằng cách sử dụng SLAM, các kết cấu hạ tầng có thể thay đổi dễ dàng.

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

Tài liệu "Thiết kế Robot Tự Hành Trong Nhà Sử Dụng Lidar" cung cấp cái nhìn sâu sắc về việc phát triển robot tự hành sử dụng công nghệ Lidar, một công nghệ tiên tiến giúp robot nhận diện và điều hướng trong không gian sống. Nội dung tài liệu không chỉ giải thích các nguyên lý hoạt động của Lidar mà còn trình bày các ứng dụng thực tiễn của robot trong việc hỗ trợ các hoạt động hàng ngày trong nhà, từ việc dọn dẹp đến giám sát an ninh. Độc giả sẽ nhận được những lợi ích thiết thực từ việc hiểu rõ hơn về công nghệ này, cũng như cách mà nó có thể cải thiện chất lượng cuộc sống.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng robot trong lĩnh vực y tế, hãy tham khảo tài liệu Hcmute nghiên cứu thiết kế và chế tạo robot massage cho người bệnh. Ngoài ra, để tìm hiểu về các hệ thống điều khiển robot di động, bạn có thể xem tài liệu Hcmute điều khiển hệ tay máy và robot di động bám theo quỹ đạo. Cuối cùng, nếu bạn quan tâm đến việc ứng dụng công nghệ trong nhà thông minh, tài liệu Đồ án hcmute ứng dụng chatbot vào điều khiển nhà thông minh sẽ là một nguồn tài liệu hữu ích. Những liên kết này sẽ giúp bạn khám phá sâu hơn về các khía cạnh khác nhau của công nghệ robot và ứng dụng của nó trong cuộc sống hàng ngày.