TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO BÀI TẬP LỚN ĐIỀU KHIỂN ROBOT TỰ HÀNH Mô phỏng và điều hướng Robot di động hai bánh trong ROS và Gazebo TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO BÀI TẬP LỚN ĐIỀU KHIỂN ROBOT TỰ HÀNH Mô phỏng và điều hướng Robot di động hai bánh trong ROS và Gazebo TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO BÀI TẬP LỚN ĐIỀU KHIỂN ROBOT TỰ HÀNH Mô phỏng và điều hướng Robot di động hai bánh trong ROS và Gazebo
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO BÀI TẬP LỚN ĐIỀU KHIỂN ROBOT TỰ HÀNH Mô điều hướng Robot di động hai bánh ROS Gazebo NGUYỄN VĂN LINH linh.nv170797@sis.hust.edu.vn NGUYỄN ĐỨC TÙNG tung.nd170983@sis.hust.edu.vn PHẠM MẠNH CƯỜNG cuong.pm170674@sis.hust.edu.vn Ngành Kỹ thuật Cơ điện tử Giảng viên hướng dẫn: TS Bùi Đình Bá Bộ mơn: Viện: Cơ Điện Tử Cơ khí HÀ NỘI, 8/2022 LỜI CẢM ƠN “Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Lời đầu tiên, xin trân trọng gửi lời cảm ơn đến Thầy Bùi Đình Bá tận tình hướng dẫn nhóm chúng em suốt q trình học tập hồn thành tập lớn cách tốt Bước đầu vào thực tế, tìm hiểu lĩnh vực nghiên cứu khoa học, kiến thức chúng em hạn chế cịn nhiều bỡ ngỡ Do vậy, khơng tránh khỏi thiếu sót điều chắn, chúng em mong nhận ý kiến đóng góp quý báu quý thầy bạn học lớp để kiến thức em lĩnh vực hoàn thiện Sau cùng, chúng em xin kính chúc quý thầy Bùi Đình Bá tồn thể thầy môn điện tử thầy cô trường Cơ Khí thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau.” Chúng em xin chân thành cảm ơn! MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU CHƯƠNG GIỚI THIỆU TỔNG QUAN Robot phục vụ hay gọi Robot dịch vụ loại máy phục vụ người, hỗ trợ người nhiều công việc khác từ đơn giản đến phức tạp Chúng ngày trở nên phổ biến sống hàng ngày lĩnh vực cơng nghiệp, chăm sóc sức khỏe, y tế, giáo dục, xây dựng, giải trí Hầu hết robot dịch vụ di động chúng thực nhiệm vụ liên quan đến hỗ trợ người máy móc Tính di động robot cho phép chúng thực tốt nhiệm vụ mà chúng dự định mà khơng gặp khó khăn Ngày có nhiều loại robot di động, tùy theo chuyển động chúng người ta chia thành loại robot có bánh xe, xích, chân, bay hay lặn Phạm vi tập lơn robot di động có bánh xe Chúng loại phổ biến tương đối dễ vận hành, không giống rô bốt biết Robot di động có bánh xe trang bị loại bánh xe khác - tiêu chuẩn, bánh xe omni, bánh xe mecanum Có cấu hình khác tảng di động tùy theo vị trí số lượng bánh xe Do đó, chúng có bánh xe định vị khác biệt (chẳng hạn bệ kiểu xe tăng) với hai bánh xe, bệ bánh đa hình tam giác, bệ bốn bánh tiêu chuẩn với bánh mecanum loại cụ thể độc đáo khác Tất tảng cấu hình khí di động đặc trưng đặc điểm động học động lực học cụ thể Những chi tiết cụ thể trọng tâm việc quản lý robot di động Chúng xác định hành vi tảng điều khiển Trong mơ hình mơ phỏng, đặc điểm phải thiết lập xác để gần với mơ hình thực Mơ robot di động mang lại nhiều lợi ích Một mặt, có mơ hình rơ bốt mơi trường mơ nhiều người sử dụng mà không yêu cầu tất người sở hữu robot thật Mặt khác, số thí nghiệm nghiên cứu tiến hành mà khơng ảnh hưởng đến an ninh người, robot đối tượng mà robot xử lý tương tác Cuối không phần quan trọng, thời gian chạy thơng qua mơ giảm đáng kể, nhiều hoạt động chuẩn bị cho thí nghiệm khôi phục thông số ban đầu robot đặc tính mơi trường mà hoạt động loại bỏ Một vấn đề lớn khác với robot di động chuyển động tự động chúng Điều hướng tự động bao gồm địa hóa, lập kế hoạch đường điều khiển chuyển động tảng di động Tất vấn đề có số giải pháp nghiên cứu môi trường mô Bài báo cáo mơ tả việc tạo mơ hình mơ thiết bị tảng di động truyền động vi sai với cảm biến laze điều khiển mô môi trường Gazebo Sau đó, mơ tả việc sử dụng gói điều hướng ROS cơng cụ, chương trình cần thiết để triển khai CHƯƠNG ROS GAZEBO Hệ điều hành robot (ROS) phổ biến sử dụng rộng rãi tất người dùng lĩnh vực robot Hệ thống cho phép sử dụng nhiều gói, cơng cụ, mơ hình thư viện có sẵn cho robot Và mã nguồn mở nên người dùng có khả sử dụng sửa đổi gói, cơng cụ thư viện cho phù hợp Trình mơ Gazebo kết nối trực tiếp với ROS thơng qua gói đặc biệt Các gói cung cấp giao diện cần thiết để mô rô bốt Gazebo cách sử dụng thông báo, dịch vụ ROS cấu hình lại động lực học Để robot làm việc xác, cần mơ tả động học robot ROS Bằng cách này, quỹ đạo, điều hướng lập kế hoạch thực Cách ROS mô tả robot định thuộc tính tệp URDF (định dạng mô tả robot chung) URDF hỗ trợ ngôn ngữ XML XACRO (macro XML) Mã Xacro dễ triển khai, bảo trì có khả đọc tốt Để sử dụng tệp URDF Gazebo, số thẻ bổ sung dành riêng cho mô phải thêm vào để hoạt động bình thường với Gazebo Mối quan hệ ROS Gazebo giống mối quan hệ ROS phần cứng robot thực Bộ điều khiển ROS nhận liệu chủ đề từ tồn mơ hình xuất liệu chủ đề khác cho tồn mơ hình Mơ điều khiển robot thực thực lúc Bằng cách này, dễ dàng so sánh hành vi công việc robot Trên thực tế, ROS không tạo khác biệt cho dù điều khiển robot thật hay mơ hình mơ robot Điều quan trọng thực nút xác có chủ đề cần thiết cho giao tiếp Hình cho thấy cấu trúc mơ hình mơ Gazebo Nó bao gồm mơ hình với mơ tả robot, plugin thư viện Gazebo Mơ hình nhận liệu từ Giao diện huy chung dạng phản hồi gửi liệu qua Giao diện trạng thái chung Điều tương tự áp dụng cho mơ hình phần cứng (Hình 2), kết nối với điều khiển ROS thông qua giao diện giống Sự khác biệt hai mơ hình mơ hình phần cứng bao gồm thành phần điều khiển nhúng, truyền động cảm biến, Gazebo thay thành phần mô plugin thư viện Bộ điều khiển ROS thể Hình Nó xử lý liệu nhận từ mơ hình gửi lệnh điều khiển tương ứng Hình 2.1 Sơ đồ chuyển đổi liệu mơ hình robot với ROS CHƯƠNG THIẾT KẾ ROBOT DI ĐỘNG TRONG GAZEBO Mô robot trọng tâm việc tạo thử nghiệm mơ hình robot Mơ hình mơ thiết kế tốt cho phép thử nghiệm thuật tốn, điều khiển, thiết kế rơ bốt, đào tạo trí tuệ nhân tạo, … Nền tảng Gazebo cung cấp khả mơ xác hiệu robot mơi trường phức tạp, ngồi trời nhà Gazebo cung cấp mô vật lý mức độ trung thực cao nhiều, cảm biến giao diện cho người dùng chương trình Một số tính Gazebo bao gồm: ‒ Nhiều động vật lý, ‒ Một thư viện phong phú mơ hình mơi trường rô bốt, ‒ Nhiều loại cảm biến, ‒ Giao diện đồ họa lập trình thuận tiện Việc tạo mơ hình mơ robot thực cách sử dụng giao diện người dùng đồ họa Gazebo cách lập trình trực tiếp thơng số thuộc tính robot tệp Trong hai trường hợp, tính quy tắc để tạo robot mô tả thông số đơn vị giống Có thể thực số bước để tạo tảng di động Dưới mô tả số bước tối thiểu cần thiết để tạo mơ hình hoạt động rơ bốt di động: + Tạo thân (đế): xác định thuộc tính – hình dạng, kích thước, khối lượng, mơmen qn tính (tương ứng với dạng: hình trụ, hình lập phương, hình bình hành), loại đơn vị – parent (cha mẹ); + Tạo bánh xe dẫn động: tùy theo loại bệ, số lượng bánh xe yêu cầu tạo với tính chất sau – hình dạng, kích thước, khối lượng, mơmen qn tính, loại đơn vị – child (con); + Tạo bánh xe đẩy: chúng đặt theo hình bóng với bán kính vị trí xác định (áp dụng cho tảng dẫn động vi sai); + Đặt khớp đế bánh xe dẫn động: đặt loại khớp, đặt loại đơn vị – chân đế parent (cha mẹ), phần lại child (con), đặt trục quay bánh xe, định vị phận so với cứ; + Cố định khớp nối đế bánh xe đẩy: chúng quay theo hướng, chọn loại khớp bi, sau đặt chúng vào đế; + Thêm cảm biến: cảm biến mô tả giống đơn vị khác, điều quan trọng xác định kết nối khớp nối với đế Sau đó, mơ tả thuộc tính cảm biến thêm vào như: tỷ lệ cập nhật, độ phân giải, phạm vi, góc quét; + Thêm plugin: thêm plugin gazebo để điều khiển vi sai quét khu vực Lidar Bộ điều khiển Gazebo thiết lập số thông số tỷ lệ cập nhật, tên kết nối, đường kính bánh xe, khoảng cách bánh xe, mơ-men xoắn, phạm vi, góc quét, chủ đề đầu vào đầu 10 Kích thước thơng số tất phận robot trình bày Bảng Các tệp thuộc loại xacro chứa thơng tin kích thước vị trí tất khâu khớp robot Từng phận robot biểu diễn dạng khâu có tên cụ thể Khâu mơ tả với tính chất sau: collision (va chạm), visual (trực quan) inertial (quán tính) Sau tất khâu mô tả, khớp nối phải định nghĩa để có kết nối khâu Bảng 3.1 Kích thước phận robot Bộ phận chassis (khung xe) left_wheel (bánh trái) right_wheel (bánh phải) caster_wheel (bánh đẩy) Hình dáng, kích thước hình hộp, dài – 0.4m, rộng – 0.2m, cao – 0.1m hình trụ, bán kính – 0.1m, dày – 0.05m hình cầu, bán kính – 0.05m Thơng số khối lượng – 50kg khối lượng – 5kg khối lượng – 5kg Tệp cịn lại tiện ích mở rộng gazebo, chứa thông tin giao diện phận robot mô phỏng, plugin sử dụng để cài đặt thuộc tính tất cảm biến Plugin kết nối điều khiển gazebo với ros: Plugin ‘differential_drive_controller’ sử dụng để điều khiển robot di động Các thông số điều khiển là: Tham chiếu màu bánh xe thân đế thêm vào: Sau thông số tham chiếu cho máy quét laser tính nó: 11 Sau hồn thành tất bước này, robot di động sẵn sàng để sử dụng Hình cho thấy robot thiết kế Gazebo Hình 3.2 Robot Gazebo Giai đoạn cuối mơ hình hóa Gazebo tạo mơ hình giới mô Như vậy, robot định vị mơi trường 12 định với thuộc tính Để giúp nhà phát triển dễ dàng hơn, Gazebo cung cấp loạt vật phẩm sẵn sàng sử dụng chí tịa nhà Do đó, dễ dàng tạo giới lưu Thơng tin giới tạo lưu tệp twbot.world Cuối cùng, để khởi chạy robot giới, phải khởi chạy mơ hình robot tệp giới tệp launch (Hình 2) Hình 3.3 Robot với môi trường thử nghiệm gazebo 13 TÀI LIỆU THAM KHẢO [1] D Chikurtev, "Mobile Robot Simulation and Navigation in ROS and Gazebo," 2020 [2] S G Tzafestas, Introduction to Mobile Robot Control, 2013 [3] "ROS.org," [Online] Available: http://wiki.ros.org/ [4] "Gazebo ROS Control," [Online] Available: https://gazebosim.org/tutorials? tut=ros_control&cat=connect_ros 14 ... hoạt động chuẩn bị cho thí nghiệm khơi phục thơng số ban đầu robot đặc tính mơi trường mà hoạt động loại bỏ Một vấn đề lớn khác với robot di động chuyển động tự động chúng Điều hướng tự động. .. bốt biết Robot di động có bánh xe trang bị loại bánh xe khác - tiêu chuẩn, bánh xe omni, bánh xe mecanum Có cấu hình khác tảng di động tùy theo vị trí số lượng bánh xe Do đó, chúng có bánh xe... triển khai, bảo trì có khả đọc tốt Để sử dụng tệp URDF Gazebo, số thẻ bổ sung dành riêng cho mô phải thêm vào để hoạt động bình thường với Gazebo Mối quan hệ ROS Gazebo giống mối quan hệ ROS phần