1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf

102 22 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển Công Cụ Mô Phỏng Robot Di Động Trong Môi Trường Gazebo Ứng Dụng Giải Thuật SLAM Và URDF
Tác giả Phạm Văn Hòa
Người hướng dẫn TS. Nguyễn Xuân Hạ
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật cơ điện tử
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 102
Dung lượng 2,31 MB

Cấu trúc

  • MỤC LỤC

  • CHƯƠNG 1.

  • CHƯƠNG 2.

  • CHƯƠNG 3.

  • CHƯƠNG 4.

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

Nội dung

TỔNG QUAN VỀ ROBOT TỰ HÀNH

ROBOTICS VÀ ROBOT

Robotics là một lĩnh vực kỹ thuật và khoa học liên ngành kết hợp giữa kỹ thuật cơ khí, điện tử, thông tin và khoa học máy tính Ngành này tập trung vào thiết kế, xây dựng, vận hành và sử dụng robot cùng với các hệ thống máy tính để nhận thức, kiểm soát và xử lý thông tin Mục tiêu chính của robotics là phát triển những cỗ máy thông minh nhằm hỗ trợ con người trong cuộc sống hàng ngày và đảm bảo an toàn cho mọi người.

Ngày nay, robotics được chia thành ba loại chính: robot công nghiệp, robot tự hành và robot con người Robot công nghiệp nổi bật với khả năng làm việc nhanh chóng, chính xác và liên tục, góp phần tăng năng suất lao động đáng kể, đặc biệt trong các môi trường độc hại như hàn, phun sơn và lắp ráp linh kiện điện tử Tuy nhiên, chúng bị hạn chế bởi không gian làm việc do số bậc tự do tay máy và vị trí gắn robot Robot con người, với hình dáng và cử chỉ giống con người, có khả năng di chuyển trên địa hình gồ ghề nhưng có cấu trúc và phương pháp điều khiển phức tạp, dẫn đến chi phí cao Trong khi đó, robot tự hành có khả năng tự di chuyển bằng bánh xe hoặc bánh xích, không thể di chuyển trên địa hình khó khăn như robot con người nhưng có cấu trúc đơn giản và chi phí thấp, nên được ứng dụng rộng rãi trong logistics, xe tự lái và các thiết bị gia dụng như máy hút bụi.

ROBOT TỰ HÀNH THÔNG MINH

1.2.1 Robot tự hành thông minh

Robot tự hành thông minh là loại robot có khả năng di chuyển độc lập bằng bánh xe hoặc bánh xích, thực hiện các nhiệm vụ mà không cần sự can thiệp của con người Loại robot này được ứng dụng phổ biến trong nhiều lĩnh vực, bao gồm công nghiệp, y tế và logistics.

Hình 1.1: Robot tự hành Vibot hỗ trợ điều trị bênh nhân Covid-19

1.2.2 Đặc trưng của robot tự hành thông minh

Robot tự hành thông minh có các đặc trưng sau:

 Có khả năng nhận biết được môi trường xung quanh

 Làm việc trong thời gian dài mà không cần sự can thiệp của con người

 Có khả năng tự di chuyển đến vị trí mục tiêu mà không cần sự can thiệp của con người

 Có khả năng tự tìm đường, tránh vật cản, chướng ngại vật trong quá trình di chuyển đến vị trí mục tiêu

1.2.3 Đặc điểm của robot tự hành thông minh

Robot tự hành thông minh có khả năng tự bảo trì bằng cách tự tìm đến các vị trí sạc và kết nối với cổng sạc khi pin yếu Hình 1.2 minh họa khả năng này của robot tự hành khi hết pin.

Hình 1.2: Robot có khả năng tự tìm vị trí sạc pin

 Cảm nhận được môi trường xung quanh:

Robot tự hành được trang bị nhiều loại cảm biến như cảm biến nhiệt độ, cảm biến khoảng cách, cảm biến siêu âm và cảm biến hóa chất, cho phép chúng nhận biết môi trường xung quanh, bao gồm vật cản, nhiệt độ và âm thanh.

Robot tự hành thông minh có khả năng tự động điều hướng trong cả môi trường indoor và outdoor Được trang bị cảm biến và thuật toán tiên tiến, robot có thể xác định vị trí và vẽ lại bản đồ trong không gian hẹp của môi trường indoor, nơi ít biến động Trong khi đó, việc điều hướng outdoor gặp nhiều thách thức do địa hình gồ ghề, vì vậy nghiên cứu chủ yếu tập trung vào các ứng dụng như máy bay không người lái hoặc ô tô không người lái trên địa hình bằng phẳng.

1.2.4 Phân loại robot tự hành

Robot tự hành được phân thành hai loại chính: robot di chuyển bằng chân và robot di chuyển bằng bánh Bên cạnh đó, một số loại robot hoạt động trong môi trường đặc biệt như dưới nước hoặc trên không cũng được trang bị các cơ cấu di chuyển đặc trưng.

Robot tự hành di chuyển bằng chân (Legged robot) có ưu điểm nổi bật là khả năng thích nghi và di chuyển trên địa hình gồ ghề, cũng như vượt qua các vật cản như hố và vết nứt sâu Tuy nhiên, nhược điểm chính của loại robot này là quá trình chế tạo phức tạp, do chân robot có cấu trúc nhiều bậc tự do, dẫn đến tăng trọng lượng và giảm tốc độ di chuyển Các kỹ năng như cầm, nắm và nâng tải cũng làm giảm độ cứng vững của robot Đặc biệt, tính linh hoạt cao của robot càng làm tăng chi phí chế tạo Robot này được mô phỏng theo các loài động vật và có thể có 1, 2, 4, 6 chân hoặc nhiều hơn.

4 a) robot 2 chân b) robot 4 chân c) robot 6 chân

 Robot tự hành di chuyển bằng bánh (Wheel robot)

Bánh xe là cơ cấu chuyển động phổ biến trong công nghệ robot tự hành, với vấn đề cân bằng thường không được chú trọng Robot 3 bánh có khả năng duy trì cân bằng tốt nhất, trong khi robot 2 bánh cũng có thể đạt được sự cân bằng Đối với robot có hơn 3 bánh, cần thiết kế hệ thống treo để đảm bảo tất cả bánh xe tiếp xúc với mặt đất Những thách thức đối với loại robot này bao gồm lực kéo, độ ổn định và khả năng điều khiển chuyển động, với các loại robot phổ biến như robot 4 bánh, 3 bánh và 2 bánh có bánh lái phía trước.

1.2.5 Ứng dụng Robot tự hành thông minh

 Ứng dụng trong công nghiệp:

Robot tự hành đang được ứng dụng phổ biến trong ngành công nghiệp Chẳng hạn, robot tự hành Kuka, như mô tả trong hình 1.3, được sử dụng trong các nhà máy để vận chuyển các tấm dầm có trọng lượng lớn lên đến 11 tấn với độ chính xác chỉ trong vài milimet.

Robot tự hành, như hình 1.4, được áp dụng trong nhà máy sản xuất máy bay của Boeing để vận chuyển các thiết bị và cấu kiện nặng, yêu cầu độ chính xác cao trong quá trình hoạt động.

Hình 1.4: Ứng dụng robot tự hành thông minh trong sản xuất máy bay Boeing

 Ứng dụng trong đời sống, dịch vụ

Robot tự hành đang ngày càng phổ biến trong đời sống và dịch vụ, giúp thay thế con người trong những công việc lặp đi lặp lại và nhàm chán như lau dọn nhà cửa Ngoài ra, chúng còn được sử dụng trong các quán cà phê để phục vụ khách hàng, như robot bồi bàn, mang lại hiệu quả và tiết kiệm thời gian cho nhân viên.

 Ứng dụng trong nghiên cứu

Robot tự hành không chỉ thay thế con người trong các công việc nặng nhọc và nguy hiểm, mà còn được ứng dụng rộng rãi trong nghiên cứu khoa học, thám hiểm vũ trụ và khám phá đáy biển Những robot này cho phép con người tiếp cận những khu vực khó khăn và nguy hiểm mà chúng ta không thể đặt chân đến Hình 1.7 minh họa một robot tự hành của NASA đang thực hiện nhiệm vụ thám hiểm không gian.

Hình 1.7: Robot tự hành NASA thám hiểm vũ trụ

Những thách thức trong nghiên cứu Robot tự hành thông minh

Robot tự hành là thiết bị có khả năng di chuyển và hoạt động tự động, được lập trình để thực hiện các nhiệm vụ cụ thể trong nhiều môi trường khác nhau như mặt đất, nước, không khí và không gian Các loại robot di động bao gồm xe tự hành trên mặt đất (AGV), robot tự hành dưới nước (AUV), robot tự hành trên không (UAV) và robot vũ trụ Để hoạt động hiệu quả, robot tự hành cần có năng lượng dự trữ, khả năng nhận diện vật cản, tránh va chạm và xử lý các thuật toán phức tạp trong thời gian thực Tuy nhiên, nghiên cứu và phát triển robot tự hành gặp nhiều thách thức và khó khăn.

 Điều khiển và khả năng tự điều hướng trong robot tự hành

 Vấn đề tích hợp và đồng bộ các cảm biến trên robot tự hành

 Mô hình hóa và mô phỏng robot trong môi trường ảo

1.3.1 Điều khiển và khả năng tự điều hướng của Robot

Khả năng định hướng của robot được định nghĩa là sự kết hợp của ba khả năng

- Định vị bản thân – Self –localization

- Lập lộ trình – Path Planning

- Dựng và diễn dịch bản đồ - Map building and interpretation

Self-localization là khả năng mà robot có thể nhận diện vị trí và định hướng của bản thân trong không gian Trong khi đó, path-planning là quá trình xác định các tọa độ cần thiết để robot di chuyển đến đích một cách hiệu quả.

Robot cần xác định 8 độ hiện thời và các tọa độ tiếp theo để đến được tọa độ mục tiêu Công việc xây dựng bản đồ (map building) liên quan đến việc nhận diện môi trường thông qua các phép đo từ cảm biến, sau đó kết hợp những dữ liệu này thành một mô hình trong hệ tọa độ của robot Mô hình này đóng vai trò quan trọng trong việc định vị và lập lộ trình cho robot.

Bài toán định vị và lập bản đồ đồng thời (SLAM) là một thách thức quan trọng trong lĩnh vực robot, liên quan đến việc xây dựng và cập nhật bản đồ trong khi xác định vị trí của robot SLAM kết hợp hai nhiệm vụ này một cách chặt chẽ; robot chỉ có thể cập nhật bản đồ một cách chính xác khi biết vị trí của mình Ngược lại, bản đồ chính xác giúp robot đánh giá chính xác sự di chuyển trong môi trường xung quanh Để thực hiện SLAM hiệu quả, robot cần khả năng hoạt động trong nhiều tình huống khác nhau, bao gồm cả những vị trí có vật cản chưa biết hoặc khi dữ liệu cảm biến không đủ để xác định vị trí, chẳng hạn như trong các hành lang dài với bối cảnh không thay đổi Các vấn đề lý thuyết về định hướng và SLAM sẽ được phân tích sâu hơn trong các phần tiếp theo.

1.3.2 Tích hợp và đồng bộ cảm biến trên robot tự hành

Cảm biến đóng vai trò quan trọng trong robot tự hành, tuy nhiên, việc tích hợp và đồng bộ hóa các cảm biến từ nhiều nhà sản xuất khác nhau, như cảm biến khoảng cách, cảm biến hình ảnh và cảm biến nhiệt độ, vẫn là một thách thức lớn Để tạo ra một mô hình hoặc hình ảnh duy nhất từ các tín hiệu cảm biến đầu vào, cần có những phương pháp hiệu quả Điều này cho phép robot tự hành sử dụng thông tin từ phản ứng tổng hợp cảm biến, hỗ trợ cho các hành động thông minh hơn trong quá trình hoạt động.

Mỗi loại cảm biến đều có những ưu điểm và nhược điểm riêng Radar nổi bật trong việc xác định chính xác khoảng cách và tốc độ, ngay cả trong điều kiện thời tiết khó khăn, nhưng lại không thể nhận diện các biển báo đường phố hay màu sắc đèn giao thông Trong khi đó, cảm biến hình ảnh rất hiệu quả trong việc đọc dấu hiệu và phân loại các đối tượng như người đi bộ, xe đạp hay phương tiện khác, nhưng chúng dễ bị ảnh hưởng bởi bụi bẩn, ánh sáng mặt trời, mưa, tuyết hoặc bóng tối LIDAR có khả năng phát hiện chính xác các đối tượng, nhưng lại gặp khó khăn trong việc nhận diện các vật thể trong suốt như gương và kính.

Việc tích hợp và đồng bộ hóa các loại cảm biến thông qua thuật toán và phần mềm là cần thiết để cung cấp hình ảnh môi trường chính xác và toàn diện cho robot Điều này giúp robot hoạt động hiệu quả và chính xác hơn.

Hệ điều hành đóng vai trò quan trọng trong nghiên cứu robot tự hành, đặc biệt trong bối cảnh công nghệ thông tin phát triển mạnh mẽ hiện nay Việc lựa chọn hệ điều hành phù hợp là cần thiết, nhất là khi thương mại hóa sản phẩm Hệ điều hành cần phải dễ sử dụng, có cộng đồng người dùng rộng lớn và mang tính toàn cầu để đảm bảo hỗ trợ lẫn nhau hiệu quả.

ROS (Robot Operating System) là hệ điều hành được ưa chuộng số một hiện nay được sử dụng trong robot tự hành

Kể từ khi ra đời, ROS đã đạt được nhiều thành tựu ấn tượng, với hơn 600 nhà phát triển đóng góp hơn 2000 gói phần mềm hiện đang được duy trì Hệ điều hành này đã được áp dụng trong gần 80 loại robot thương mại và được trích dẫn trong hàng ngàn bài báo nghiên cứu.

ROS là một nền tảng mạnh mẽ với bộ trình điều khiển đa dạng, giúp người dùng dễ dàng đọc dữ liệu từ cảm biến và điều khiển các cơ cấu chấp hành Nó tích hợp nhiều thuật toán cho việc xây dựng bản đồ, điều hướng robot, thu thập dữ liệu và hoạch định đường đi Hơn nữa, ROS còn sở hữu một cộng đồng lớn các nhà nghiên cứu robot, tạo điều kiện cho việc chia sẻ kiến thức và phát triển công nghệ.

1.3.4 Mô hình hóa và mô phỏng robot trong môi trường ảo

Trong nghiên cứu và phát triển robot, mô hình hóa và mô phỏng là rất quan trọng, giúp tiết kiệm thời gian và chi phí Mô hình càng chi tiết sẽ nâng cao khả năng đánh giá tính chính xác và độ ổn định của robot trong thực tế Quá trình này có thể bao gồm việc xây dựng mô hình mới hoặc chỉnh sửa các mô hình có sẵn bằng cách thêm dữ liệu đầu vào và các yếu tố tác động, từ đó đánh giá hiệu suất hoạt động của robot.

Hiện nay, sự phát triển của công nghệ thông tin đã mang đến nhiều công cụ hỗ trợ mô phỏng robot trong môi trường ảo, trong đó có thể kể đến một số công cụ tiêu biểu.

Gazebo là một công cụ mô phỏng robot đa dạng, mã nguồn mở, được phát triển bởi Open-Source Robotics Foundation Đây là công cụ chủ yếu để mô phỏng robot di động, hoạt động trên hệ điều hành ROS và được ưa chuộng rộng rãi tại Mỹ.

ARGoS là một công cụ mô phỏng robot đa dạng, cho phép mô phỏng tính chất và hình dạng vật lý của robot, cũng như năng lượng tiêu hao trong quá trình hoạt động Mặc dù ARGoS không phải là mã nguồn mở, nó được phát triển bởi dự án Swarmanoid và chủ yếu được sử dụng tại thị trường Bỉ và Italy.

ODE (Open Dynamics Engine) là một công cụ mô phỏng mã nguồn mở, chủ yếu được sử dụng để mô phỏng tính chất động học của robot Tương tự như Gazebo, ODE được áp dụng phổ biến tại Pháp trong các nghiên cứu và phát triển công nghệ robot.

CƠ SỞ LÝ THUYẾT

Robot Operation System – ROS và ứng dụng trong mô phỏng robot

Hệ điều hành Robot (ROS) là nền tảng phần mềm quan trọng cho việc phát triển và mô phỏng robot Bài viết này cung cấp cái nhìn tổng quan về ROS, bao gồm các khái niệm cơ bản và thành phần chính của hệ thống ROS không chỉ giúp chuẩn hóa quy trình lập trình robot mà còn nâng cao khả năng tương tác giữa các mô-đun, từ đó thúc đẩy sự phát triển nhanh chóng và hiệu quả trong lĩnh vực robot Tầm quan trọng của ROS trong mô phỏng robot không thể phủ nhận, vì nó cung cấp các công cụ mạnh mẽ để kiểm tra và tối ưu hóa các thuật toán điều khiển trước khi triển khai trên phần cứng thực tế.

2.1.1 Tổng quan hệ điều hành ROS

ROS là hệ điều hành mã nguồn mở dành cho ứng dụng robot, cung cấp các khả năng cơ bản như thực hiện tác vụ song song, giao tiếp và quản lý dữ liệu Để phục vụ cho lĩnh vực robotics, ROS phát triển các khái niệm, thư viện và công cụ chuyên biệt cho việc thu thập, xử lý, hiển thị và điều khiển dữ liệu Hệ thống này còn tương tác và kết hợp với nhiều framework khác như player, Orocos, Carmen và Orca, giúp nâng cao hiệu suất và khả năng của robot.

ROS sử dụng nhiều khái niệm dựa trên đồ thị để biểu diễn mối quan hệ giữa các thành phần trong hệ điều hành, bao gồm stack, package, node, topic, message, và service Ngoài ra, nó cũng liên quan đến các khái niệm về hệ tọa độ và phép chuyển đổi giữa các hệ tọa độ.

ROS tích hợp nhiều chuẩn giao tiếp, bao gồm giao tiếp đồng bộ qua RPC thông qua các dịch vụ, truyền dữ liệu bất đồng bộ qua các topics và lưu trữ dữ liệu trên Parameter Server Hình 2.1 minh họa sơ đồ truyền tin trong ROS.

Hình 2.1: Sơ đồ truyền tin trong ROS [1]

ROS được áp dụng phổ biến trong các trường đại học và đóng góp đáng kể cho nghiên cứu và phát triển Cộng đồng ROS rất lớn, với nhiều dự án được hỗ trợ, tạo ra một môi trường thân thiện cho các hệ thống phát triển robot khác.

Hình 2.2: Cộng đồng các trung tâm tham gia, đóng góp phát triển ROS trên thế giới [2]

ROS hoàn toàn tương thích với hệ điều hành Linux, đặc biệt là Ubuntu Ngoài ra, ROS cũng được phát triển để tương thích với nhiều hệ điều hành khác như ARM, Debian, Gentoo, Mac OSX, Android, Windows và Open Embedded.

Hình 2.3: Các hệ điều hành hỗ trợ ROS [2]

Việc phát triển ứng dụng robotics dựa trên nền tảng ROS sẽ giúp giảm thiểu đáng kể khối lượng công việc lập trình và thiết lập hệ thống, đồng thời tận dụng hiệu quả nguồn tài nguyên mã nguồn mở phong phú từ cộng đồng.

Ta có thể so sánh khối lượng công việc kỹ thuật cơ bản (required engineering) và khối lượng nghiên cứu khoa học nòng cốt (Core Research) như sau:

Hình 2.4: So sánh khối lượng công việc phải làm khi dùng và không dùng ROS

Sự hiệu quả của ROS giúp giảm đáng kể thời gian cho các công việc kỹ thuật cơ bản, từ đó tạo điều kiện cho việc nghiên cứu chuyên sâu Nhờ vậy, hàm lượng khoa học trong đề tài sẽ được nâng cao nhiều lần.

Một số đặc điểm giúp cho ROS trở thành một hệ điều hành nên được sử dụng khi nghiên cứu phát triển một ứng dụng robot là:

- ROS là hệ điều hành mã nguồn mở

- Các tài liệu kỹ thuật, tài liệu hướng dẫn và các kênh hỗ trợ đầy đủ, phong phú

Tính cộng đồng mạnh mẽ là yếu tố cốt lõi giúp ROS phát triển vượt bậc Nguồn tài nguyên phong phú của ROS chủ yếu được đóng góp và phát triển từ các viện nghiên cứu và đại học hàng đầu trên toàn thế giới.

ROS bao gồm ba cấp khái niệm chính: Filesystem, Computation Graph và Community Ngoài ra, ROS còn có những khái niệm cấp cao đặc trưng cho các ứng dụng robot, như hệ tọa độ, phép chuyển đổi và thông điệp mô tả.

Filesystem là nguồn tài nguyên source code ROS được lưu trữ trên bộ nhớ hệ thống, nó bao gồm các khái niệm:

Hình 2.5: Cấu trúc file hệ thống ROS [3]

Gói ứng dụng trong ROS là đơn vị cơ bản tổ chức phần mềm, bao gồm mã nguồn cho các chức năng cụ thể, danh sách các mã nguồn kế thừa và các file cấu hình như CMakeList.txt, chứa hướng dẫn biên dịch và yêu cầu cho file thực thi bin cũng như phiên bản thư viện.

Metapackage là một tập hợp các package liên quan, ví dụ như trong ROS, metapackage "navigation" hỗ trợ việc điều hướng cho robot tự hành Nó không chỉ lưu trữ thông tin về các package mà còn giúp quá trình cài đặt trở nên dễ dàng hơn.

Manifest là tệp tin chứa thông tin mô tả về một gói phần mềm (manifest.xml), cung cấp cơ sở dữ liệu liên quan đến gói đó, bao gồm điều kiện thực thi (giấy phép) và các phụ thuộc của gói Ngoài ra, manifest còn lưu trữ các thông tin về đặc trưng của ngôn ngữ lập trình, như cờ báo (flags) của trình biên dịch.

Thông tin mô tả message (.msg) được lưu trữ trong file có định dạng my_package/msg/MyMessageType.msg, và nó định nghĩa các cấu trúc dữ liệu của các message được gửi trong ROS.

Service (.srv) là thông tin mô tả các dịch vụ, được lưu trữ trong my_package/srv/MyServiceType.srv, và định nghĩa cấu trúc dữ liệu cho các lệnh truy cập (request) cũng như các phản hồi (response) của các dịch vụ trong ROS.

Các bài toán trong mobile robot

Bài toán động học là một trong những vấn đề cơ bản và quan trọng nhất trong kỹ thuật cơ khí, đặc biệt là trong lĩnh vực robot Nó đóng vai trò then chốt trong việc nghiên cứu và thiết kế các bộ điều khiển cho robot.

Trong lĩnh vực robot công nghiệp, bài toán động học tập trung vào việc xác định quỹ đạo của robot trong không gian làm việc dựa trên các thông số như khối lượng, kích thước và số bậc tự do Tương tự, đối với robot di động, bài toán động học cũng yêu cầu tính toán và xác định vị trí của robot trên bản đồ, từ đó lập kế hoạch đường đi đến vị trí mục tiêu.

Trong không gian 3 chiều, một vật thể có 6 bậc tự do: x, y, z và roll, pitch, yaw Tuy nhiên, trong bài luận văn này, chúng ta chỉ tập trung vào chuyển động của robot trong mặt phẳng 2D, do đó robot chỉ có 3 bậc tự do là x, y và theta, trong đó theta đại diện cho góc quay của robot.

Có nhiều phương pháp để xác định tọa độ của robot, trong đó phương pháp đơn giản nhất là ước lượng tọa độ từ giá trị hồi tiếp của encoder kết hợp với cảm biến quán tính IMU ROS cũng hỗ trợ ước lượng tọa độ bằng thị giác thông qua visual odometry, xử lý ảnh màu point cloud RGBXYZ để tìm các điểm đặc trưng trong các khung ảnh và ước lượng độ dịch chuyển của robot Độ chính xác của phương pháp này phụ thuộc vào môi trường, với các không gian như phòng có nhiều vật dụng cho phép tìm được nhiều điểm đặc trưng hơn so với hành lang, tuy nhiên khối lượng tính toán rất lớn.

2.2.1.1 Ước lượng tọa độ của robot từ giá trị hồi tiếp từ encoder

Giả sử robot chuyển động không trượt trong hệ tọa độ Oxy, với vận tốc tịnh tiến v và vận tốc xoay ω không đổi trong khoảng thời gian rất nhỏ dt Chuyển động của robot diễn ra quanh tâm quay tức thời C, với bán kính r, như minh họa trong hình 2.11.

Tại đầu khoảng thời gian dt, tọa độ tâm O m của robot trong hệ tọa độ Oxy bao gồm bộ ba x y

, tại điểm này ta có tọa độ của tâm C ( như hình vẽ 2.11)

Hình 2.11: Hệ trục tọa độcủa robot trong mặt phẳng [1]

Sau khoảng thời gian dt góc  thay đổi một lượng d  dt , tọa đội mới O m sau dt là

, sử dụng lại phương trình (2.1) và (2.2) để tìm quan hệ giữa C và điểm này, ta có quan hệ giữa tọa độ mới và tọa độ cũ như sau:

Chúng ta sẽ xác định mối quan hệ giữa các đại lượng vận tốc v, tốc độ góc ω và bán kính r dựa trên giá trị thu được từ encoder Bằng cách áp dụng mối liên 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, chúng ta có thể xây dựng các phương trình tương ứng.

Trong đó: v R là vận tốc dài quanh trục bánh trái v L là vận tốc dài quanh trục bánh phải

L là khoảng cách giữa hai bánh xe r là bán kính quay tức thời

 là vận tốc quay của robot

Lấy phương trình (2.6) trừ phương trình (2.7) ta được quan hệ vận tốc của hai bánh và vận tốc góc

Lấy phương trình (2.6) cộng với phương trình (2.7) ta có:

Thay v  r từ phương trình (2.8) 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

Suy ra, bán kính quay tức thời của robot

Thay dt vào phương trình (2.11) và (2.12) với d SR và d SL là độ dài mà mỗi bánh xe dịch chuyển trong khoảng thời gian dt Sau đó, thay các biểu thức này vào phương trình (2.5) để tiếp tục phân tích.

Phương trình này mô tả mối quan hệ giữa chuyển động của hai bánh xe và tọa độ của robot Để cập nhật tọa độ robot, ta có thể xây dựng một thuật toán xấp xỉ, sử dụng đầu vào là nR và nL, là số đếm từ encoder của mỗi bánh, cùng với tọa độ x, y, và θ từ chu kỳ trước Trong quá trình này, ta gán giá trị nDRπ và nDLπ vào dSR và dSL trong phương trình Hơn nữa, việc xấp xỉ phương trình cũng giúp giảm đáng kể khối lượng tính toán, đặc biệt khi cập nhật tọa độ trên hệ thống nhúng.

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 như sau:

Phương trình xấp xỉ được trình bày là giới hạn của phương trình gốc khi d SR - d SL tiến gần về 0, tương ứng với việc robot di chuyển tịnh tiến theo phương có hệ số góc θ Để điều khiển robot, mối quan hệ giữa vận tốc v của robot và vận tốc v R, v L cùng với tốc độ góc ω được xác định như sau:

2.2.1.2 Chuyển động học xác suất và phương pháp ước lượng tọa độ bằng Odometry

Trong phần 2.2.1.1, mặc dù mô tả toán học về chuyển động của robot là chính xác, nhưng các đại lượng vi phân trong biểu thức (I) chỉ có thể được xấp xỉ thông qua các phương pháp tính toán Giá trị từ encoder mang tính rời rạc, dẫn đến việc tọa độ ước lượng chứa sai số qua mỗi bước lặp, sai số này tích lũy dần, làm giảm độ tin cậy của tọa độ ước lượng theo thời gian Đối với một robot cụ thể được thiết kế theo mô hình toán học nhất định, ta có thể suy ra quỹ đạo và vị trí của nó Tuy nhiên, một vấn đề quan trọng là không bao giờ có thể tìm ra mô hình chính xác của robot, mà chỉ có thể xác định một tập hợp các mô hình với các hệ số trong một phạm vi chính xác nhất định.

Trong quá trình đo lường và điều khiển, sự hao mòn có thể dẫn đến sai số, do đó cần chú ý đến các yếu tố không chắc chắn Định lý Bayes, một trong những định lý quan trọng trong xác suất học, cho phép tính xác suất của một biến ngẫu nhiên x khi biết sự kiện z m đã xảy ra Trong phương pháp định vị Monte Carlo thích nghi, x đại diện cho tọa độ của robot, trong khi z m là giá trị đo được từ cảm biến và thông tin bản đồ Khi robot ở một vị trí bất kỳ trong hành lang có ba cánh cửa, cảm biến sẽ cung cấp một biến ngẫu nhiên z cho biết vị trí gần một cánh cửa với xác suất phân bố theo hàm Gauss Ban đầu, hàm cảm tính bel x ( ) của robot phân bố đều trên toàn chiều dài hành lang Khi robot bắt đầu hành trình và nhận tín hiệu từ cảm biến, phân bố xác suất p (z | x) sẽ tập trung quanh vị trí các cánh cửa, làm cho bel x ( ) của robot tương tự như p (z | x), cho thấy robot gần một trong ba cánh cửa Khi robot di chuyển, bel x ( ) sẽ dịch chuyển theo hướng di chuyển, nhưng do sự không chắc chắn trong odometry, đỉnh tại các vùng xác suất cao sẽ giảm dần.

Khi cảm biến cung cấp phép đo mới của z, cảm tính của robot sẽ tập trung chủ yếu quanh vị trí cánh cửa thứ hai, trong khi các khu vực khác sẽ giảm mạnh Mặc dù có sự giảm sút, cảm tính của robot dựa vào odometry vẫn duy trì giá trị cao cho vị trí thực tế từ cánh cửa hiện tại đến cánh cửa kế tiếp, và sẽ được cải thiện khi robot đến cánh cửa thứ ba.

Hình 2.12: Minh họa về quá trình định vị theo phương pháp xác suất, phân bố xác suất được biểu diễn ở dạng rời rạc [4]

Trong trường hợp chưa có thông tin về bản đồ m, tọa độ ước lượng của robot được mô tả bằng một phân bố xác suất hậu nghiệm Xác suất hậu nghiệm là xác suất có điều kiện của một biến ngẫu nhiên khi có bằng chứng liên quan Để tính toán phân bố xác suất hậu nghiệm của một biến ngẫu nhiên dựa trên giá trị của một biến khác, ta có thể áp dụng Định lý Bayes Phương trình động học xác suất của robot được biểu diễn dưới dạng một hàm phân bố.

Với x t và x t  1 là trạng thái của robot ở thời điểm t và t1 , u t là giá trị điều khiển tại thời điểm t

Phương trình này thể hiện hàm phân bố xác suất hậu nghiệm, với các điều kiện ràng buộc phụ thuộc vào trạng thái động học của robot Cần xem xét khả năng robot đạt được trạng thái xt dựa trên giá trị điều khiển ut, khi biết rằng robot đang ở trạng thái xt-1.

Trong ứng dụng cụ thể, u t có thể được xác định nhờ odometry, tuy nhiên khi phân tích lý thuyết, ta sẽ xem như u t là giá trị điều khiển

Hình 2.13: Minh họa mô hình xác suất của phương trình động học [4]

Trong quá trình di chuyển tịnh tiến, robot có thể gặp hiện tượng trượt hoặc chênh lệch vận tốc giữa hai bánh, dẫn đến việc tạo ra một phân bố xác suất vị trí ở cuối quãng đường Phân bố này dày ở các điểm gần đường thẳng và thưa dần ra xung quanh, cho thấy độ chắc chắn cao gần điểm cuối lý tưởng Trong những quãng đường phức tạp hơn, độ chắc chắn này phân bố đều hơn Mô hình odometry cho phép chúng ta sử dụng các số liệu chuyển động tương đối của robot; trong khoảng thời gian (t - 1, t), robot chuyển từ trạng thái x(t - 1) sang x(t), và thông qua odometry, chúng ta có thể nhận diện sự di chuyển của robot từ x(t - 1) = (x, y, θ) đến x(t).

URDF

URDF (Unified Robotic Description Format) là định dạng tệp XML tiêu chuẩn trong ROS, dùng để mô tả các yếu tố của robot Mặc dù URDF hữu ích, nó còn thiếu nhiều tính năng cần thiết và chưa được cập nhật để đáp ứng nhu cầu phát triển robot hiện đại Định dạng này chỉ có khả năng mô tả động học và động lực học trong một môi trường duy nhất, không thể hiện tư thế của robot, các vòng khớp, ma sát và các thuộc tính khác Hơn nữa, URDF không thể mô tả các đối tượng không phải robot, như đèn và chiều cao.

Hình 2.29: Sơ đồ các thành phần URDF [7]

 Cốt lõi của URDF là phân tích dữ liệu và cấu trúc dữ liệu Chúng hoạt động độc lập, không phụ thuộc vào ROS

File URDF và cấu trúc dữ liệu URDF là hai khái niệm khác nhau; file URDF có định dạng xml và được mô tả chi tiết trên wiki.ros.org, trong khi cấu trúc dữ liệu URDF là tập hợp các lớp với nhiều định dạng khác nhau.

 Một lớp plugin mới (urdf_parser_plugin) cho phép cấu trúc dữ liệu URDF bổ sung với các định dạng tệp khác nhau

 Các xác định trục tọa độ của các khâu trong URDF tuân theo quy tắc bàn tay phải như hình vẽ dưới đây

Hình 2.30: Quy tắc bàn tay phải [7]

Trục z được xác định theo phương và hướng của ngón cái (màu xanh dương), trục x theo ngón trỏ (màu đỏ), và trục y theo ngón giữa (màu xanh lá cây).

URDF bao gồm hai thành phần chính: khâu (link) và khớp (joint) Khâu được sử dụng để mô tả các thành phần cấu tạo nên robot, trong khi khớp thể hiện mối liên kết giữa các khâu Mỗi khớp thường bao gồm một khâu chủ động và một khâu bị động, tạo nên sự chuyển động cho robot.

Thẻ link đại diện cho liên kết của robot, tương tự như một khâu trong mô hình hóa Bằng cách sử dụng thẻ này, chúng ta có thể xác định các thuộc tính của liên kết robot, bao gồm kích thước, hình dạng và màu sắc Cấu trúc của thẻ link được thiết kế theo một định dạng cụ thể.

1

Thẻ joint là thành phần quan trọng trong robot, đại diện cho khớp của robot và được sử dụng để xác định động học và động lực học của khớp Nó giúp thiết lập giới hạn chuyển động và tốc độ của khớp, đồng thời hỗ trợ các loại khớp khác nhau như khớp trụ và khớp cầu Cấu trúc của thẻ khớp có hình dạng đặc trưng.

1

URDF chỉ mô tả tính chất động học và động lực học của Robot trong môi trường riêng biệt, không thể xác định vị trí và hướng của Robot trong không gian cụ thể Để khắc phục những hạn chế này, định dạng Simulation Description Format (SDF) đã được phát triển để sử dụng trong Gazebo Để chuyển đổi từ định dạng URDF sang SDF cho Gazebo, cần thực hiện một số bước cụ thể.

 Trong mỗi phải có các thẻ được điều chỉnh tương ứng

* Tùy chọn, tùy vào link:

 Thêm thẻ vào các

 Chuyển đổi màu sắc sang định dạng Gazebo

 Chuyển đổi tệp stl sang dae để có được màu sắc tốt hơn

 Thêm thẻ vào các

 Thêm các thông số vật lí cho các chuyển động

 Thêm plugin điều khiển cho các cơ cấu chuyển động

 Thêm thẻ cho thẻ

 Thêm để link robot với môi trường

* Các thẻ cần thiết cho link:

Mô tả giá trị vật liệu bao gồm các yếu tố như trọng lực, hệ số giảm chấn (dampingFactor) được tính bằng cách nhân giá trị với tốc độ link trước đó, và tốc độ tối đa (maxVel) có thể đạt được trong thời gian ngắn Độ sâu tối thiểu (minDepth) được xác định trước khi có động lực tại các tiếp xúc Hệ số ma sát (mu1) cho các hướng của liên kết được định nghĩa bởi Open Dynamics Engine (ODE), cùng với mu2 và fdir1 mô tả hướng của mu1 trong va chạm Độ cứng (kp) và hệ số cản nhớt (kd) cũng được xác định bởi ODE Nếu selfCollide là true, liên kết sẽ va chạm với các link khác Cuối cùng, số lượng liên kết tối đa (maxContacts) giữa hai thành phần và độ dày trả về bởi Laser (laserRetro) cũng được đề cập.

Ví dụ đoạn code sau mô tả chuyển động của 2 bánh xe:

2.3.4 Ví dụ tạo URDF với một chi tiết Đối với 1 chi tiết, trước hết chúng ta nên vẽ tâm chi tiết dựa trên gốc tọa độ của Solidworks

Như vậy khi Add-in tạo trục tọa độ nó có thể dễ dàng bắt vào tâm của tọa độ

 Mở chi tiết bằng Solidworks

 Vào File -> Export as URDF

Bảng chọn hiện ra như sau:

Chúng ta có thể chọn thư mục lưu và đánh dấu vào ô “Rotate global origin to make Z-axis vertical” để đảm bảo rằng khi xuất ra URDF, trục Z sẽ được tự động xoay thành phương thẳng đứng Lưu ý rằng Solidworks thường sử dụng trục Y làm phương thẳng đứng.

 Nhấn Finish để kết thúc

* Tùy chỉnh trục tọa độ: Để tùy chỉnh trục tọa độ của chi tiết này chúng ta có thể tạo các reference point/axis trước đó ở mục reference geometry:

Sau đó Edit feature đối với Origin_Global để thay đổi gốc tọa độ:

Tại đây chúng ta có thể xóa các reference gốc mà Add-in tự tạo bằng gốc hoặc trục tọa độ mà chúng ta tự tạo

Sau khi thực hiện xong, thực hiện lại thao tác Export as URDF để cập nhật trục tọa độ mới

* Cấu trúc thư mục được tạo ra:

 Launch: Chứa launcher của Rviz và Gazebo

 Meshes: Chứa tệp STL 3D Model của chi tiết

 Texture: Màu sắc/chất liệu đặc biệt cho chi tiết nếu có

Chúng ta có thể sử dụng cả gói package này để tích hợp, hoặc chỉ cần sao chép tệp STL cùng với các đoạn mã cần thiết trong URDF URDF được tạo ra như sau:

Originally created by Stephen Brawner (brawner@gmail.com)

Commit Version: 1.5.1-0-g916b5db Build Version: 1.5.7152.31018

For more information, please see http://wiki.ros.org/sw_urdf_exporter >

2.3.5 Ví dụ tạo URDF với một cụm chi tiết Đối với robot, thường có nhiều hơn 1 chi tiết Tuy nhiên chúng ta cần giảm thiểu tối đa số lượng chi tiết cần sử dụng, gộp các khối chi tiết vào một chi tiết Cuối cùng ta có:

 2 bánh xe: left/right_wheel_link

Robot cần được căn chỉnh đúng theo gốc tọa độ của bản vẽ lắp trên trục Z, với hai bánh xe của Robot tiếp xúc với mặt phẳng Top Plane, tương tự như mặt sàn nhà.

Chúng ta có thể tạo trước các trục tọa độ cần thiết bằng Reference Geometry

In a robotic system, there is a global coordinate system known as Global_origin, along with two coordinate systems for the left and right wheel joints (wheel_left/right_joint) and their respective rotational axes Additionally, there is a coordinate system for the LiDar sensor.

 Truy cập File -> Export as URDF

 Chọn hệ trục tọa độ

 Chọn chi tiết tương ứng

 Điền số link con (Child links)

 Sau đó Click vào các link con để lựa chọn tương tự cho các link này và chọn kiểu kết nối cho joint (fixed/continuous …)

Chọn Preview and Export để xuất ra URDF

 Đầu tiên là các Joint

 Nhấn Next để kiểm tra các Link

 Chọn 2 option: Export URDF Only (Chỉ tệp URDF), Export URDF and Meshes (Kèm theo URDF là tệp STL 3D Model tương ứng của các chi tiết)

Thư mục tạo ra như sau:

Chúng ta có thể sử dụng luôn package này trở thành package description cho Robot

Copy toàn package vừa rồi vào thư mục src workspace (~/dashgo_ws/src)

 $ roslaunch urdf_tutorial display.launch model:='$(find air_hust_assembly_fix)/urdf/air_hust_assembly_fix.urdf'

 Bây giờ chúng ta có thể sử dụng nó làm description cho Robot

Mô phỏng có thể gặp phải một số lỗi liên quan đến trục tọa độ khi sử dụng hoàn toàn các trục do Add in tự tạo Để khắc phục vấn đề này, chúng ta nên kết hợp việc sử dụng các trục tọa độ tự tạo và tự tạo trục tọa độ, mặc dù việc tự tạo sẽ tốn thời gian hơn.

Nên cố gắng vẽ đúng với gốc tọa độ của Solidworks để giảm thiểu tối đa các lỗi phát sinh do trục tọa độ

File URDF được tạo ra khá dài dòng và phức tạp, nên sử dụng các tệp xacro để hệ thống hóa, đơn giản hóa description cho Robot

Hãy hạn chế sử dụng liên kết và gộp các chi tiết không quan trọng trong mô phỏng thành một phần duy nhất, chỉ giữ lại những thông tin cần thiết liên quan đến chuyển động.

RViz

Rviz 1 công cụ giả lập hình ảnh 3D, có thể mô phỏng khoảng cách từ cảm ứng LDS (Laser Distance Sensor), PCD của các cảm biến khoảng cách 3D như RealSense, Kinect, Xtion [6]

Nếu đã cài đặt bản full của ROS, RViz đã được cài đặt tích hợp trong hệ thống Nếu chưa, ta cài đặt thông qua lệnh:

$ sudo apt-get install ros-kinetic-rviz Để chạy rviz, đầu tiên chạy roscore, sau đó có thể khởi chạy như 1 node: rosrun rviz rviz hoặc $ rviz

Hình 2.33: Màn hình hiển thị Rviz

2.4.2 Các thành phần trong giao diện Rviz

 3D View: Vùng màu đen nằm giữa màn hình, cho phép quan sát dữ liệu

Thanh Display nằm ở cột trái màn hình, cho phép người dùng lựa chọn dữ liệu từ nhiều chủ đề khác nhau Để thêm dữ liệu vào danh sách hiển thị, người dùng chỉ cần nhấn vào nút [add] ở góc dưới bên trái của thanh màn hình.

Hình 2.34: Các công cụ trong display của Rviz

Axes - Hiển thị 3 trục XYZ

Camera - Tạo 1 cửa sổ render từ điểm và các lớp hủ của 1 ảnh từ đầu của nó

DepthCloud hiển thị một điểm đám mây dựa trên DepthMap, cho phép người dùng quan sát giá trị khoảng cách đo được từ cảm biến Đồng thời, nó chuyển đổi thông tin từ topic ColorImage thành các điểm phủ màu được thu nhận từ camera.

Effort - Hiển thị lực tác dụng lên khớp xoay của Robot

FluidPressure - Hiển thị áp lực của các chất có liên kết tự

Grid Cells - Hiển thị các ô trên lưới Chủ yếu được sử dụng để hiển thị vật cản trong costmap khi điều hướng

Group - Cho phép quản lý hiển thị thông qua các group hiển thị

Image - Hiển thị ảnh ở cửa sổ render mới Khác với Camera, không tạo các lớp phủ

- Chúng ta có thể thay đổi vị trí (x, y, z) và quay (roll, Pitch, yaw) với chuột

LaserScan - Hiển thị giá trị quét laser

Map - Hiển thị bản đồ, sử dụng trong định hướng và ở mặt chiếu bằng

- Hiển thị các đánh dấu như mũi tên, vòng tròn, tam giác, tứ giác, trụ, …

MarkArrray - Hiển thị tập hợp các dấu

Odometry - Hiển thị thông tin quan hệ giữa đường đi theo thời gian dưới dạng mũi tên

Path - Hiển thị quãng đường mà robot đã sử dụng định hướng

Point Cloud là công nghệ hiển thị dữ liệu dưới dạng đám mây điểm, sử dụng thông tin từ các cảm biến PointCloud2 tương thích với thư viện đám mây điểm mới nhất, giúp tối ưu hóa việc xử lý và phân tích dữ liệu không gian.

Point Stamped - Hiển thị các điểm thành vòng tròn

Polygon - Hiển thị khung đa giác, thường sử dụng để dựng khung đường cho Robot trên mặt phẳng 2D

Pose là cách hiển thị vị trí và hướng 3D thông qua các mũi tên, với gốc tọa độ tại điểm (x, y, z) Nó cho phép biểu thị cả vị trí và hướng của một mô hình robot 3D, có thể được thể hiện dưới dạng điểm.

Pose Array - Chuỗi các Pose

Range - Giả lập vùng đo được từ cảm biến ví dụ như siêu âm hay hồng ngoại

- Hiển thị độ ẩm liên quan

RobotModel - Hiển thị model của robot

TF hiển thị tọa độ biến đổi trong ROS, cho phép người dùng quan sát các trục xyz Mỗi trục tọa độ được biểu thị bằng một mũi tên, giúp dễ dàng nhận biết hướng và cấp độ của các tọa độ này.

Temperature - Hiển thị nhiệt độ

WrenchStamped - Hiển thị xoắn, với chuyển động xoắn, theo dạng mũi tên

(lực), mũi tên + vòng tròn (torque)

 Menu: Thanh lựa chọn nằm ở phần trên cùng của màn hình (Save/Load,

 Tools: Bộ công cụ được đặt ngay dưới thanh Menu Chứ các hàm như interact, camera movement (di chuyển cam), lựa chọn – selection, …

 View: Cài đặt góc nhìn của 3D View

→ Orbit: Xác định 1 điểm được gọi là trung tâm và quỹ đạo quay quanh điểm đó Đây là lựa chọn mặc định và phổ biến nhất

→ FPS: Góc nhìn thứ nhất

→ ThirdPersonFollower: Góc nhìn thứ 3, đi theo 1 đối tượng xác định

→ TopDownOrtho: Sử dụng trục Z làm gốc, và hiển thị 1 hình chiếu của đối tượng lên mặt XY

→ XY Orbit: Tương tự như Orbit nhưng điểm gốc được cố định vào mặt XY và coi tất cả các giá trị Z là 0

 Time: Hiển thị thời gian hiện tại, ROS time và thời gian đã trôi qua kể từ khi khởi động chúng.

Gazebo

Gazebo là một phần mềm giả lập 3D mạnh mẽ, cung cấp mô hình Robot, cảm biến và môi trường, cho phép mô phỏng các tính chất vật lý thực tế Trong những năm gần đây, Gazebo đã trở nên phổ biến và được ứng dụng rộng rãi trong lĩnh vực Robot Phần mềm này được phát triển và phân phối bởi Open Robotics, đồng thời được tích hợp trong Hệ thống Robot Mở (ROS).

2.5.1 Các tính chất của Gazebo [6]

Gazebo có các tính chất sau:

 Giả lập động lực học: Mới phát triển, hiện tại mới chỉ dừng lại ở ODE (Open Dynamics Engine)

Gazebo sử dụng công nghệ render OGRE trong đồ họa 3D, cho phép mô tả chi tiết hình dạng của Robot cùng với ánh sáng, đổ bóng và màu sắc, điều này thường thấy trong các trò chơi.

Cảm biến và tiếng ồn là yếu tố quan trọng trong công nghệ hiện đại, bao gồm cảm biến Laser (LRF), camera 2D/3D, camera độ sâu, cảm biến va chạm, cảm biến lực - quán tính cùng nhiều loại cảm biến khác, tất cả đều được thiết kế để hoạt động hiệu quả trong môi trường thực tế.

 Hình dạng Robot: Được hỗ trợ bằng định dạng SDF, người dùng có thể tự tạo mô hình cho riêng mình

 Giao thức truyền thông TCP/IP: Giả lập có thể chạy trên một server từ xa

 Cloud: Gazebo cung cấp giả lập đám mây thông qua môi trường CloudSim được sử dụng trong các môi trường đám mây như Amazon, Softlayer, và OpenStack

 Command Line Tool: Cả GUI và các công cụ GUI được hỗ trợ để kiểm tra và điều khiển trạng thái giả lập

Plugin được compile như một thư viện được chèn vào giả lập Plugin có thể được trực tiếp trang bị cho Gazebo thông qua các class C++ tiêu chuẩn

Plugin rất tiện dụng bởi:

 Có thể điều khiển mọi thứ của Gazebo

 Có thể chèn và xóa khỏi một hệ thống đang hoạt động

Plugin có các loại sau:

Mỗi plugin trong Gazebo đảm nhận một vai trò riêng biệt: Model plugin quản lý các mô hình cụ thể, World plugin mô tả môi trường, Sensor plugin đảm nhiệm việc mô tả các cảm biến, trong khi System plugin điều khiển command line và được khởi động đầu tiên khi Gazebo bắt đầu.

Trong chương này, tác giả trình bày các cơ sở lý thuyết quan trọng cho nghiên cứu robot tự hành, bao gồm hệ điều hành ROS, công cụ mô phỏng Gazebo, thao tác và điều khiển robot qua RViz, lý thuyết giải thuật SLAM, cùng với các ví dụ mô phỏng robot sử dụng định dạng URDF.

XÂY DỰNG GÓI CÔNG CỤ MÔ PHỎNG ROBOT AIR-HUST

Ngày đăng: 10/12/2021, 19:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] W. Burgard, "Introduction to Mobile Robotics - SS 2020," [Online]. Available: http://ais.informatik.uni-freiburg.de/teaching/ss20/robotics/ Sách, tạp chí
Tiêu đề: Introduction to Mobile Robotics - SS 2020
[7] "Gazebo tutorials," [Online]. Available: http://gazebosim.org/tutorials Sách, tạp chí
Tiêu đề: Gazebo tutorials
[1] L. Joseph, ROS Robotics Projects, Packt Publishing Ltd., 2017 Khác
[2] YoonSeok Pyo; HanCheol Cho; RyuWoon Jung; TaeHoon Lim, ROS Robot Programming, ROBOTIS Co.,Ltd., 2017 Khác
[3] L. Joseph, Mastering ROS for Robotics, Packt Publishing Ltd., 2015 Khác
[4] Sebastian Thrun; Wolfram Burgad; Dieter Fox, Probabilistic Robotic, Cambridge, Massachusetts: The MIT Press, 2006 Khác
[6] L. Joseph, Robot Operating System (ROS) for Absolute Beginners, 2018 Khác
[8] B. G. Morgan Quigley, Programming Robots with ROS, Sebastopol: O’Reilly Media, Inc.,, 2015 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1:  Robot tự hành Vibot hỗ trợ điều trị bênh nhân Covid-19 - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 1.1 Robot tự hành Vibot hỗ trợ điều trị bênh nhân Covid-19 (Trang 10)
Hình 1.2: Robot có khả năng tự tìm vị trí sạc pin - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 1.2 Robot có khả năng tự tìm vị trí sạc pin (Trang 10)
Hình 1.7:  Robot tự hành NASA thám hiểm vũ trụ - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 1.7 Robot tự hành NASA thám hiểm vũ trụ (Trang 15)
Hình 1.8:  Mô phỏng robot trên XDE Hình 1.9:  Mô phỏng robot trên ODE - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 1.8 Mô phỏng robot trên XDE Hình 1.9: Mô phỏng robot trên ODE (Trang 18)
Hình 1.11:  Mô phỏng robot trên V-Rep - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 1.11 Mô phỏng robot trên V-Rep (Trang 19)
Hình 2.2:  Cộng đồng các trung tâm tham gia, đóng góp phát triển ROS trên thế - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.2 Cộng đồng các trung tâm tham gia, đóng góp phát triển ROS trên thế (Trang 21)
Hình 2.4:  So sánh khối lượng công việc phải làm khi dùng và không dùng ROS - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.4 So sánh khối lượng công việc phải làm khi dùng và không dùng ROS (Trang 22)
Hình 2.5:  Cấu trúc file hệ thống ROS [3] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.5 Cấu trúc file hệ thống ROS [3] (Trang 23)
Hình 2.6:  Sơ đồ ROS computation graph [3] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.6 Sơ đồ ROS computation graph [3] (Trang 24)
Hình 2.9:  Mô hình truyền tin trong service [2] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.9 Mô hình truyền tin trong service [2] (Trang 26)
Hình 2.12: Minh họa về quá trình định vị theo phương pháp xác suất, phân bố xác suất - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.12 Minh họa về quá trình định vị theo phương pháp xác suất, phân bố xác suất (Trang 32)
Hình 2.16: Mô hình theo Odometry với các thông số thiết lập khác nhau [2] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.16 Mô hình theo Odometry với các thông số thiết lập khác nhau [2] (Trang 35)
Hình 2.17: Mô hình robot trong mặt phẳng Oxy - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.17 Mô hình robot trong mặt phẳng Oxy (Trang 37)
Hình 2.19: Kalman filter [5] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.19 Kalman filter [5] (Trang 40)
Hình 2.20: Scan và TF [6] - Phát triển công cụ mô phỏng robot di động trong môi trường gazebo ứng dụng giải thuật slam và urdf
Hình 2.20 Scan và TF [6] (Trang 42)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w