Thiết Kế Hệ Thống Cánh Tay Robot Di Động Ứng Dụng Thuật Toán Marker-Vision Tracking

Luận văn thạc sĩ về thiết kế hệ thống cánh tay robot di động, ứng dụng thuật toán Marker-Vision Tracking trong kỹ thuật điều khiển và tự động hóa.

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2023

82
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Cánh Tay Robot Di Động Ứng Dụng Lợi Ích Vượt Trội

Trong bối cảnh khoa học kỹ thuật phát triển mạnh mẽ, việc vận chuyển hàng hóa và nguyên vật liệu trong các nhà máy, xưởng sản xuất đang dần được tự động hóa bởi robot tự hành. Tuy nhiên, các robot này vẫn còn hạn chế khi cần sự hỗ trợ của con người trong việc xếp dỡ hàng hóa. Để khắc phục nhược điểm này, cánh tay robot được tích hợp lên trên robot tự hành, tạo thành cánh tay robot di động (Mobile Manipulator Robot). Hệ thống này có khả năng thay thế hoàn toàn sự tham gia của con người, tăng hiệu quả và giảm thiểu rủi ro. Thị trường Mobile Manipulator ước tính đạt 470.2 triệu USD vào năm 2021 và dự kiến tăng trưởng với tốc độ CAGR là 11.1% trong giai đoạn 2022-2027. Sự tăng trưởng này được thúc đẩy bởi chi phí lao động tăng, quy trình sản xuất phức tạp hơn và nhu cầu tự động hóa ngày càng cao. Theo Phạm Phước Dũng (2023), “Hệ thống ấy được gọi là Cánh tay robot di động (Mobile Manipulator Robot). Trong nhiệm vụ vận chuyển đồ vật ở những khoảng cách xa sử dụng cánh tay robot di động, phần thân robot tự hành đòi hỏi phải đạt được độ chính xác cao thì cánh tay robot phía trên mới có thể gắp vật một cách chính xác.”

1.1. Tổng Quan về Cánh Tay Robot Di Động Mobile Manipulator

Cánh tay robot di động là sự kết hợp giữa robot tự hànhcánh tay robot, tạo ra một hệ thống linh hoạt và đa năng. Chúng có thể di chuyển trong không gian làm việc và thực hiện các thao tác phức tạp như gắp, thả, lắp ráp. Ứng dụng của cánh tay robot di động rất đa dạng, từ sản xuất, logistics đến y tế và nhiều lĩnh vực khác. Việc tích hợp này mang lại hiệu quả cao hơn so với việc sử dụng riêng lẻ robot tự hành hoặc cánh tay robot cố định.

1.2. Tại Sao Cần Độ Chính Xác Cao Cho Robot Tự Hành

Trong hệ thống cánh tay robot di động, độ chính xác của robot tự hành đóng vai trò then chốt. Nếu robot tự hành không di chuyển đến đúng vị trí, cánh tay robot sẽ gặp khó khăn trong việc gắp và thả vật. Điều này đặc biệt quan trọng khi vận chuyển vật ở khoảng cách xa hoặc trong môi trường có nhiều chướng ngại vật. Các thuật toán localization robot như SLAM (Simultaneous Localization and Mapping) thường được sử dụng để tăng độ chính xác cho robot tự hành.

1.3. Ứng Dụng Robot Di Động Trong Công Nghiệp và Logistics

Cánh tay robot di động mở ra nhiều khả năng ứng dụng trong các ngành công nghiệp và logistics. Chúng có thể được sử dụng để vận chuyển hàng hóa trong kho, lắp ráp sản phẩm trên dây chuyền sản xuất, hoặc thực hiện các nhiệm vụ kiểm tra và bảo trì. Việc tự động hóa các công việc này giúp giảm chi phí, tăng năng suất và cải thiện điều kiện làm việc cho con người. Ứng dụng trong logistics đặc biệt hiệu quả nhờ khả năng di chuyển linh hoạt và xử lý đa dạng các loại hàng hóa.

II. Thách Thức Giải Pháp Tracking Robot Di Động Hiệu Quả

Mặc dù có nhiều ưu điểm, việc xây dựng hệ thống cánh tay robot di động cũng đối mặt với nhiều thách thức. Một trong số đó là làm thế nào để đảm bảo robot tự hành di chuyển chính xác đến vị trí mong muốn. Các phương pháp định vị truyền thống như sử dụng line từ có thể không phù hợp trong một số môi trường do gây nhiễu từ trường và can thiệp vào cấu trúc sàn. Thuật toán marker-vision tracking nổi lên như một giải pháp thay thế hiệu quả, giúp robot di động định vị và di chuyển một cách chính xác mà không cần đến line từ. Tuy nhiên, “sai số này vẫn có nên vẫn có thể ảnh hưởng đến khả năng gắp vật chính xác của cánh tay robot phía trên.”

2.1. Hạn Chế của Phương Pháp Định Vị Truyền Thống Line Từ

Việc sử dụng line từ để định vị robot di động có một số hạn chế. Thứ nhất, việc lắp đặt line từ đòi hỏi phải can thiệp vào cấu trúc sàn nhà máy hoặc nhà kho, gây tốn kém và phức tạp. Thứ hai, line từ có thể bị nhiễu từ trường, ảnh hưởng đến độ chính xác của hệ thống. Thứ ba, việc thay đổi vị trí hoặc đường đi của robot di động đòi hỏi phải điều chỉnh lại line từ, gây mất thời gian và công sức.

2.2. Ưu Điểm Của Thuật Toán Marker Vision Tracking Trong Robot

Thuật toán marker-vision tracking mang lại nhiều ưu điểm so với phương pháp định vị truyền thống. Không cần can thiệp vào cấu trúc sàn, dễ dàng triển khai và điều chỉnh. Robot di động sử dụng camera để nhận diện các marker (ví dụ: Aruco marker) và xác định vị trí của mình trong không gian. Phương pháp này ít bị ảnh hưởng bởi nhiễu từ trường và có thể hoạt động trong môi trường phức tạp. Marker vision cho phép định vị chính xác mà không cần các cảm biến đắt tiền.

2.3. Camera Vision Độ Chính Xác Gắp Thả Vật Của Robot

Để đảm bảo khả năng gắp và thả vật chính xác, camera vision đóng vai trò quan trọng trong hệ thống cánh tay robot di động. Camera vision giúp robot xác định vị trí và hướng của vật thể cần gắp, đồng thời cung cấp thông tin phản hồi để điều chỉnh vị trí và góc độ của cánh tay robot. Sử dụng camera RGB-D gắn trên cánh tay robot để có thông tin về độ sâu, giúp tăng độ chính xác khi gắp vật.

III. Thiết Kế Hệ Thống Cánh Tay Robot Di Động Hướng Dẫn Chi Tiết

Thiết kế một hệ thống cánh tay robot di động đòi hỏi sự kết hợp của nhiều lĩnh vực kỹ thuật khác nhau, bao gồm cơ khí, điện tử, điều khiển và phần mềm. Đầu tiên, cần lựa chọn robot tự hànhcánh tay robot phù hợp với ứng dụng cụ thể. Sau đó, thiết kế hệ thống cơ khí để tích hợp cánh tay robot lên robot tự hành, đảm bảo tính ổn định và độ bền. Tiếp theo, xây dựng hệ thống điều khiển để điều khiển robot tự hành, cánh tay robot và các cảm biến, đảm bảo sự phối hợp nhịp nhàng giữa các thành phần. Cuối cùng, phát triển phần mềm để điều khiển hệ thống và cung cấp giao diện người dùng thân thiện. “Luận văn ứng dụng các kiến thức trong lập trình điều khiển cho mobile robot, lập trình xử lý ảnh, lập trình giao tiếp thông qua Robot Operating System (ROS) và USB Serial, lập trình Matlab, thiết kế ứng dụng trên Qt sẽ nêu rõ hơn trong các phần nội dung sau của đề tài.”

3.1. Kiến Trúc Hệ Thống Điều Khiển Cánh Tay Robot Di Động

Hệ thống điều khiển cánh tay robot di động thường bao gồm các thành phần chính: bộ điều khiển trung tâm, bộ điều khiển robot tự hành, bộ điều khiển cánh tay robot, cảm biến và bộ truyền động. Bộ điều khiển trung tâm có nhiệm vụ quản lý và điều phối hoạt động của toàn hệ thống. Bộ điều khiển robot tự hànhcánh tay robot điều khiển chuyển động của các thành phần tương ứng. Cảm biến cung cấp thông tin về môi trường và vị trí của robot. Bộ truyền động thực hiện các lệnh điều khiển từ bộ điều khiển.

3.2. Thiết Kế Cơ Khí Tích Hợp Robot và Cánh Tay Robot

Thiết kế cơ khí đóng vai trò quan trọng trong việc đảm bảo tính ổn định và độ bền của hệ thống cánh tay robot di động. Cần lựa chọn vật liệu phù hợp, tính toán tải trọng và thiết kế các khớp nối để đảm bảo cánh tay robot có thể hoạt động một cách trơn tru và chính xác. Việc tích hợp cánh tay robot lên robot tự hành cần được thực hiện một cách cẩn thận để tránh gây mất cân bằng hoặc ảnh hưởng đến khả năng di chuyển của robot tự hành.

3.3. Xây Dựng Giải Thuật Điều Khiển Chính Cho Robot Di Động

Giải thuật điều khiển chính của hệ thống cánh tay robot di động có nhiệm vụ điều khiển robot tự hành di chuyển đến vị trí mong muốn và điều khiển cánh tay robot thực hiện các thao tác gắp và thả vật. Giải thuật này cần xem xét các yếu tố như vị trí mục tiêu, vị trí hiện tại của robot, các chướng ngại vật trên đường đi và khả năng của cánh tay robot. Các thuật toán như PID, MPC có thể được sử dụng để điều khiển chuyển động của robot tự hànhcánh tay robot.

IV. Ứng Dụng Thuật Toán Marker Vision Giải Pháp Thực Tế

Thuật toán marker-vision tracking được ứng dụng rộng rãi trong việc điều khiển robot tự hành di chuyển chính xác đến vị trí mong muốn. Bằng cách sử dụng camera để nhận diện các marker (ví dụ: Aruco marker) được đặt trong môi trường, robot có thể xác định vị trí và hướng của mình trong không gian. Sau đó, robot sử dụng thông tin này để điều chỉnh chuyển động và di chuyển đến mục tiêu một cách chính xác. Độ chính xác của thuật toán marker-vision tracking phụ thuộc vào nhiều yếu tố, bao gồm chất lượng camera, kích thước và hình dạng của marker, điều kiện ánh sáng và khoảng cách từ camera đến marker. “Phương pháp marker-vision tracking nhằm đưa robot tự hành di chuyển đến vị trí gắp với sai số nhỏ nhất mà không cần dùng đến line từ.”

4.1. Nhận Diện Aruco Marker Chi Tiết Thuật Toán Ứng Dụng

Aruco marker là một loại marker phổ biến được sử dụng trong thuật toán marker-vision tracking. Aruco marker có hình dạng vuông với một mã nhị phân bên trong, giúp dễ dàng nhận diện và phân biệt. Quá trình nhận diện Aruco marker bao gồm các bước: phát hiện marker trong ảnh, khử méo ảnh, giải mã mã nhị phân và ước tính vị trí và hướng của marker. Aruco marker có thể được sử dụng trong nhiều ứng dụng khác nhau, bao gồm điều khiển robot, thực tế tăng cường và theo dõi đối tượng.

4.2. Camera RGB D Kết Hợp Với Marker Vision Để Định Vị Vật Thể

Camera RGB-D cung cấp thông tin về màu sắc (RGB) và độ sâu (Depth) của môi trường, giúp robot nhận biết và phân biệt các đối tượng. Kết hợp camera RGB-D với marker vision giúp tăng độ chính xác và độ tin cậy của hệ thống định vị. Camera RGB-D có thể được sử dụng để xác định vị trí và hình dạng của vật thể cần gắp, đồng thời cung cấp thông tin phản hồi để điều chỉnh vị trí và góc độ của cánh tay robot. Ví dụ, camera có thể phát hiện các vật cản trên đường đi, giúp robot tránh va chạm.

4.3. Điều Khiển Robot Tự Hành Dựa Trên Thông Tin Từ Marker

Sau khi nhận diện và xác định vị trí của marker, robot tự hành sử dụng thông tin này để điều chỉnh chuyển động và di chuyển đến mục tiêu một cách chính xác. Giải thuật điều khiển có thể sử dụng các phương pháp như PID, MPC hoặc các thuật toán điều khiển thích nghi để đảm bảo robot di chuyển một cách mượt mà và chính xác. Thông tin từ marker vision cũng có thể được sử dụng để điều chỉnh tốc độ và hướng của robot, giúp tránh va chạm và đảm bảo an toàn.

V. Thực Nghiệm Đánh Giá Hiệu Suất Hệ Thống Robot Di Động

Để đánh giá hiệu suất của hệ thống cánh tay robot di động, cần thực hiện các thí nghiệm và đo lường các thông số quan trọng, bao gồm độ chính xác, tốc độ, độ ổn định và khả năng lặp lại. Các thí nghiệm có thể được thực hiện trong môi trường mô phỏng hoặc trong môi trường thực tế. Kết quả thí nghiệm sẽ cung cấp thông tin quan trọng để cải thiện thiết kế và điều khiển hệ thống. Sai số cơ khí của cánh tay robot có thể ảnh hưởng đến sai số chung của toàn hệ thống. “Kết quả thử nghiệm cho thấy hệ thống hoạt động ổn định và có thể gắp thả thành công hàng hóa ở những vị trí cách xa. Sai số của hệ thống nằm trong giới hạn cho phép. Mặt khác, kết quả cũng chỉ ra hạn chế của hệ thống khi sử dụng một cánh tay robot có sai số cơ khí khá lớn ảnh hưởng đến sai số chung của toàn hệ thống.”

5.1. Xác Định Sai Số Của Camera RGB D và Cánh Tay Robot

Sai số của camera RGB-Dcánh tay robot có thể ảnh hưởng đến độ chính xác của toàn hệ thống. Cần thực hiện các thí nghiệm để xác định sai số này và tìm cách giảm thiểu nó. Ví dụ, có thể sử dụng các phương pháp hiệu chuẩn để giảm sai số của camera RGB-D. Sai số của cánh tay robot có thể được giảm thiểu bằng cách sử dụng các khớp nối chất lượng cao và các thuật toán điều khiển chính xác.

5.2. So Sánh Độ Chính Xác Khi Sử Dụng và Không Sử Dụng Marker Vision

Để đánh giá hiệu quả của thuật toán marker-vision tracking, cần so sánh độ chính xác của robot tự hành khi sử dụng và không sử dụng thuật toán này. Các thí nghiệm có thể được thực hiện bằng cách yêu cầu robot di chuyển đến một vị trí xác định và đo khoảng cách thực tế giữa vị trí robot đạt được và vị trí mục tiêu. Kết quả so sánh sẽ cho thấy liệu thuật toán marker-vision tracking có giúp tăng độ chính xác của robot hay không.

5.3. Đánh Giá Khả Năng Vận Hành Hệ Thống Trong Môi Trường Thực Tế

Cuối cùng, cần đánh giá khả năng vận hành của hệ thống cánh tay robot di động trong môi trường thực tế. Các thí nghiệm có thể được thực hiện trong nhà máy, kho hàng hoặc các môi trường khác nơi hệ thống sẽ được sử dụng. Đánh giá khả năng của hệ thống trong việc xử lý các tình huống thực tế, chẳng hạn như có nhiều chướng ngại vật, ánh sáng thay đổi hoặc bề mặt không bằng phẳng. Từ đó, có các điều chỉnh và cải thiện để hệ thống hoạt động tốt nhất.

VI. Kết Luận Hướng Phát Triển Cho Cánh Tay Robot Di Động

Hệ thống cánh tay robot di động mang lại nhiều lợi ích trong các ngành công nghiệp và logistics. Việc kết hợp robot tự hànhcánh tay robot giúp tăng tính linh hoạt, độ chính xác và hiệu quả của quá trình sản xuất và vận chuyển. Thuật toán marker-vision tracking giúp robot tự hành di chuyển chính xác đến vị trí mong muốn, trong khi camera RGB-D giúp cánh tay robot gắp và thả vật một cách chính xác. Tuy nhiên, vẫn còn nhiều thách thức cần vượt qua, chẳng hạn như giảm sai số của hệ thống, tăng tốc độ hoạt động và cải thiện khả năng hoạt động trong môi trường phức tạp. “Nhận xét về kết quả thực nghiệm và nêu lên những hạn chế của đề tài. Đưa ra hướng phát triển trong tương lai cho đề tài.”

6.1. Những Kết Quả Đạt Được Hạn Chế Của Đề Tài Nghiên Cứu

Đề tài nghiên cứu đã đạt được những kết quả nhất định trong việc thiết kế và xây dựng hệ thống cánh tay robot di động sử dụng thuật toán marker-vision tracking. Tuy nhiên, vẫn còn một số hạn chế cần khắc phục, chẳng hạn như sai số của hệ thống, khả năng hoạt động trong môi trường phức tạp và chi phí của hệ thống. Các nghiên cứu trong tương lai cần tập trung vào việc giải quyết những hạn chế này để hệ thống cánh tay robot di động có thể được ứng dụng rộng rãi hơn.

6.2. Các Hướng Phát Triển Tiềm Năng Trong Tương Lai

Trong tương lai, hệ thống cánh tay robot di động có thể được phát triển theo nhiều hướng khác nhau. Một hướng là tích hợp thêm các cảm biến và thuật toán trí tuệ nhân tạo (AI) để hệ thống có thể hoạt động một cách tự động và linh hoạt hơn. Một hướng khác là phát triển các hệ thống cánh tay robot di động có khả năng hoạt động trong môi trường khắc nghiệt, chẳng hạn như trong không gian hoặc dưới nước. Một hướng khác nữa là giảm chi phí của hệ thống để nó có thể được sử dụng rộng rãi hơn trong các doanh nghiệp nhỏ và vừa.

6.3. Ứng Dụng Trí Tuệ Nhân Tạo AI Cho Cánh Tay Robot Di Động

Việc tích hợp trí tuệ nhân tạo (AI) vào hệ thống cánh tay robot di động sẽ mở ra nhiều khả năng mới. AI có thể được sử dụng để nhận diện và phân loại đối tượng, lập kế hoạch đường đi, điều khiển chuyển động và học hỏi từ kinh nghiệm. Nhờ AI, hệ thống cánh tay robot di động có thể hoạt động một cách tự động và linh hoạt hơn, giảm sự phụ thuộc vào con người và tăng hiệu quả hoạt động. Ví dụ, AI có thể giúp robot tự động điều chỉnh vị trí và góc độ của cánh tay robot để gắp vật một cách chính xác, ngay cả khi vật thể nằm ở vị trí không xác định.

16/05/2025
Luận văn thạc sĩ kỹ thuật điều khiển và tự động hóa thiết kế hệ thống cánh tay robot di động ứng dụng thuật toán marker vision tracking

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

CHƯƠNG 1. GIỚI THIỆU: Lý do hình thành đề tài, tình hình nghiên cứu liên quan đến cánh tay robot di động và mục tiêu cần đạt được khi thực hiện đề tài. CƠ SỞ LÝ THUYẾT: Cơ sở lý thuyết liên quan đến việc tính toán Odometry và SLAM cho robot tự hành. Lý thuyết liên quan đến phương pháp Marker-Vision Tracking và ứng dụng trong robot tự hành.

Phương pháp sử dụng Aruco marker để xác định vị trí gắp cho cánh tay robot. THIẾT KẾ HỆ THỐNG CÁNH TAY ROBOT DI ĐỘNG: Thiết kế tổng thể hệ thống cánh tay robot di động. Thiết kế và lắp ráp cơ khí cho hệ thống cánh tay robot di động. Thiết kế tay gắp, khay xếp bảng mạch cho ứng dụng pich-and-place.

Xây dựng giải thuật và phần mềm điều khiển cho hệ thống. Ứng dụng những phương pháp đã nêu ở Chương 2 vào hệ thống. THỰC NGHIỆM VÀ KẾT QUẢ: Xác định sai số thực tế của phương pháp Marker-Vision Tracking trước và sau khi ứng dụng vào hệ thống. Kiểm tra và đánh giá khả năng vận hành của hệ thống trong môi trường nhà máy.

• CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Các kết luận dựa trên số liệu khi vận hành hệ thống cánh tay robot di động trong thực tế. Nhận xét về kết quả thực nghiệm và nêu lên những hạn chế của đề tài. Đưa ra hướng phát triển trong tương lai cho đề tài. Xây dựng hệ thống robot tự hành sử dụng SLAM 2.

Tính toán Odometry của robot từ dữ liệu encoder Robot tự hành trong luận văn được thiết kế theo mô hình robot dẫn động hai bánh (differential drive robot). Giả sử robot chuyển động không trượt, ta sẽ ước lượng tọa độ của robot dựa vào giá trị hồi tiếp từ encoder. Trong hệ tọa độ, robot chuyển động với vận tốc tịnh tiến là 𝑣 và vận tốc xoay 𝜔. Trong khoảng thời gian rất bé, và 𝜔 không đổi, chuyển động của robot là chuyển động tròn quanh tâm quay tức thời với bán kính 𝑟.

Tại đầu khoảng thời gian 𝑑𝑡, tọa độ tâm 𝑂𝑚 của robot trong hệ tọa độ gồm bộ 𝑥 ba [𝑦], tại điểm này ta có tọa độ của tâm 𝐶: 𝜃 𝜋 𝑥𝐶 = 𝑥 − 𝑟 ∗ cos (𝜃 − ) = 𝑥 − 𝑟 ∗ 𝑠𝑖𝑛𝜃 (2.1 Mô hình robot dẫn động hai bánh 6 Sau khoảng thời gian 𝑑𝑡 góc 𝜃 thay đổi một lượng 𝑑𝜃 = 𝜔 ∗ 𝑑𝑡, tọa độ mới 𝑥′ của 𝑂𝑚 sau 𝑑𝑡 là [𝑦′], sử dụng lại phương trình (2.2) để tìm quan hệ giữa 𝜃′ 𝐶 và điểm này, ta có quan hệ giữa tọa độ mới và tọa độ cũ: 𝑥 ′ − 𝑟 ∗ sin(𝜃 + 𝜔 ∗ 𝑑𝑡 ) = 𝑥 − 𝑟 ∗ 𝑠𝑖𝑛𝜃 𝑦 ′ + 𝑟 ∗ cos(𝜃 + 𝜔 ∗ 𝑑𝑡 ) = 𝑦 + 𝑟 ∗ 𝑐𝑜𝑠𝜃 𝑥′ 𝑥 𝑟 ∗ sin(𝜃 + 𝜔 ∗ 𝑑𝑡 ) − 𝑟 ∗ 𝑠𝑖𝑛𝜃  [𝑦′] = [𝑦] + [−𝑟 ∗ cos(𝜃 + 𝜔 ∗ 𝑑𝑡 ) + 𝑟 ∗ 𝑐𝑜𝑠𝜃 ] (2.3) 𝜃′ 𝜃 𝜔 ∗ 𝑑𝑡 Ta sẽ tìm quan hệ giữa các đại lượng 𝑣, 𝜔, 𝑟 với giá trị thu được từ encoder và thay vào phương trình trên. Sử dụng quan hệ giữa vận tốc dài và vận tốc góc của một vật thể trong chuyển động tròn, ta có các phương trình sau: 𝐿 𝑣𝑅 = 𝜔 ∗ (𝑟 + ) (2.6) Trong đó: 𝑣𝑅 vận tốc dài quanh trục bánh phải. 𝑣𝐿 vận tốc dài quanh trục bánh trái. 𝐿 khoảng cách giữa 2 bánh xe.

𝑟 bán kính quay tức thời. 𝜔 vận tốc quay của robot. Lấy phương trình (2.4) trừ phương trình (2.5) ta được quan hệ giữa vận tốc của hai bánh và vận tốc góc: 𝑣𝑅 − 𝑣𝐿 𝜔= (2.7) 𝐿 7 Lấy phương trình (2.4) cộng phương trình (2.6) vào phương trình trên ta có quan hệ giữa vận tốc tịnh tiến và vận tốc hai bánh: 1 𝑣= ∗ (𝑣𝑅 + 𝑣𝐿 ) (2.9) 2 Ta suy ra được bán kính quay tức thời 𝑟 của robot từ các phương trình (2.10) 𝜔 2 𝑣𝑅 − 𝑣𝐿 𝑑𝑠𝑅 𝑑𝑠𝐿 Thay 𝑣𝑅 = và 𝑣𝐿 = vào phương trình (2.10) với 𝑑𝑠𝑅 và 𝑑𝑠𝐿 là 𝑑𝑡 𝑑𝑡 độ dài mỗi bánh dịch chuyển được trong thời gian 𝑑𝑡. Thay lại 𝑟 và 𝜔 trong các biểu thức này vào phương trình (2.11) 𝐿 𝜃′ 𝜃 𝑑𝑠𝑅 − 𝑑𝑠𝐿 [ 𝐿 ] Phương trình trên cho ta quan hệ chính xác giữa chuyển động của hai bánh với tọa độ của robot.

Ta có thể xây dựng giải thuật xấp xỉ phương trình trên để cập nhật tọa độ của robot với đầu vào ở mỗi thời điểm cập nhật là 𝑛𝑅 và 𝑛𝐿 , là số đếm tăng thêm từ encoder của mỗi bánh, và tọa độ 𝑥, 𝑦, 𝜃 cuối chu kỳ trước. Khi đó ta gán giá trị 𝑛𝑅 𝐷𝜋 và 𝑛𝐿 𝐷𝜋 vào vị trí của 𝑑𝑠𝑅 và 𝑑𝑠𝐿 trong phương trình (2.11) Nếu như chuyển động xoay của robot rất nhỏ, ta có thể xấp xỉ các phương trình trên trở thành dạng đơn giản.12) 2 𝜃′ 𝜃 𝑑𝑠𝑅 − 𝑑𝑠𝐿 [ 𝐿 ] 8 Phương trình xấp xỉ trên cũng là lim của phương trình gốc khi 𝑑𝑠𝑅 − 𝑑𝑠𝐿 → 0, ứng với việc robot chỉ di chuyển tịnh tiến theo phương có hệ số góc 𝜃. Để điều khiển robot, ta có có quan hệ giữa 𝑣𝑅 , 𝑣𝐿 với 𝑣 và 𝜔 như sau: 𝐿 𝑣𝑅 = 𝑣 + ∗ 𝜔 2 𝐿 𝑣𝐿 = 𝑣 − ∗ 𝜔 2 2. Ứng dụng SLAM cho robot tự hành trên nền tảng ROS 2.

Giới thiệu ROS Hình 2.2 Nền tảng ROS ROS hay Robot Operating System là một nền tảng mã nguồn mở, chuyên dụng thường được tích hợp cho robot. Nó cung cấp các dịch vụ như một hệ điều hành, bao gồm hỗ trợ giao tiếp 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 thông dụng, truyền thông giữa các tiến trình và quản lý gói tin. ROS có một số đặc điểm cơ bản như sau: - Gọn nhẹ: ROS được thiết kế nhỏ gọn, vì vậy có thể tích hợp ROS vào các phần mềm robot. - Ngôn ngữ lập trình: ROS được thực hiện trong một số ngôn ngữ lập trình hiện đại gồm Python , C ++, Lisp và cả thư viện thực nghiệm trong Java và Lua.

- Dễ dàng kiểm tra: ROS hỗ trợ các bộ công cụ hỗ trợ việc kiểm tra và giám sát quá trình truyền nhận thông tin. 9 - Các hệ điều hành có thể sử dụng ROS: ROS hiện chỉ chạy trên nền tảng Unix. Phần mềm cho ROS chủ yếu được thử nghiệm trên hệ thống Ubuntu và Mac OS X, mặc dù cộng đồng ROS đã góp phần hỗ trợ cho Fedora, Gentoo, Arch Linux và các nền tảng Linux khác. Một số khái niệm trong ROS Packages: chứa thư viện phụ thuộc, tập hợp dữ liệu, các file cấu hình.

Các gói là thành phần nguyên tử cơ bản để tạo ra các phần tử thực thi khác trong ROS. Node: Node là nơi quá trình tính toán được thực hiện. Một hệ thống điều khiển robot dùng ROS thường bao gồm nhiều node. Ví dụ, một node đọc các tín hiệu ngõ vào và trạng thái của robot, một node điều khiển động cơ bánh xe, một node thực hiện hoạch định đường đi, một node cung cấp đồ họa cho hệ thống.

ROS Master: Các ROS Master điều khiển việc giao tiếp và truyền nhận giữa các Node. Nếu không có master, các node sẽ không thể tìm thấy tin nhắn khác nhau và trao đổi thông tin. Messages: Các node giao tiếp với nhau bằng cách truyền gói tin. Một gói tin là một cấu trúc dữ liệu, bao gồm các kiểu dữ liệu, các mảng dữ liệu được xác định cấu trúc bởi chính người lập trình.

Topic: Message được định tuyến thông qua một hệ thống publish/subscribe. Một node tạo ra một message bằng cách publish nó vào một Topic. Topic là một tên được sử dụng để xác định các nội dung của message. Có thể có nhiều Publisher đồng thời và một Publisher chỉ publish cho một Topic duy nhất.

Một Node có thể publish/subscribe với nhiều topic khác nhau. 2D Navigation stack 2D Navigation stack dùng để lấy các thông tin, dữ liệu từ odometry, cảm biến (sensor), điểm mục tiêu (goal pose) và xuất ra tín hiệu vận tốc gửi xuống robot. 10 Việc sử dụng Navigation stack trên một robot bất kỳ thì khá là phức tạp. Điều kiện tiên quyết để sử dụng Navigation stack là robot phải được chạy trên ROS, phải có một tf transform tree, và publish dữ liệu của cảm biến theo đúng kiểu Message trong ROS.

Thứ hai, Navigation stack cần được cấu hình về hình dạng và đặc tính của robot để có thể hoạt động ở một cấp độ cao hơn. Mặc dù Navigation stack ược thiết kế sao cho dùng trong mục đích chung nhất có thể, nhưng vẫn có một số yêu cầu bắt buộc về phần cứng như sau: - Nó được thiết kế dành cho cả mô hình robot lái bằng hiệu tốc độ (differential drive) và mô hình robot có bánh xe đa hướng (holonomic wheeled robots). Nó chỉ việc gửi trực tiếp giá trị vận tốc xuống cho bộ phận điều khiển di chuyển của robot để đạt ược các giá trị của robot mong muốn như vận tốc theo trục x, vận tốc theo trục y và vận tốc xoay. - Navigation stack cần phải được lắp một cảm biến laser scan được gắn lên robot.

Laser scan này dùng để xây dựng bản đồ (mapping), định vị (localization) và phát hiện vật cản. - Nó được phát triển trên những robot có hình vuông vì thế để đạt được hiệu năng tốt nhất thì hình dạng robot nên là hình vuông hoặc hình tròn. Navigation stack cũng làm việc được trên robot có hình dạng và kích thước bất kỳ nhưng sẽ khó khăn với những robot có kích thước lớn khi làm việc trong những không gian hẹp.1 Tổng quan về Navigation stack Hình 2.3 Mô hình Navigation stack trong ROS Hình trên cho ta thấy được cái nhìn tổng quan về cách cài đặt cũng như những thành phần có trong Navigation stack. Những thành phần bên trong move_base (màu trắng) là những thành phần bắt buộc phải có.

Những thành phần như amcl, map_server (màu xám) là những thành phần tùy chọn. Và những thành phần còn lại (màu xanh) là những thành phần phải có tùy thuộc vào robot mà ta thiết kế.2 Costmap 2D Costmap 2D là một package để triển khai bản đồ chi phí (costmap) từ việc lấy dữ liệu của cảm biến từ môi trường, xây dựng một lưới các nơi bị chiếm chỗ và tăng vùng chi phí trong bản đồ chi phí 2D dựa trên lưới các nơi bị chiếm chỗ và bán kính tăng chi phí do người dùng định nghĩa.4 Bản đồ chi phí (costmap) trong ROS Costmap 2D dùng để chứa thông tin các vật cản cũng như những nơi mà robot không thể tới được. Costmap sử dụng dữ liệu của các cảm biến từ bản đồ đã được xây dựng trước đó và cập nhật thông tin của vật cản vào costmap.

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