TNU Journal of Science and Technology 227(11): 42 - 49 DESIGN ROS-BASED SLAM MOBILE ROBOT FOUR WHEELS DRIVE * Luu Trong Hieu , Vo Cong Thanh, Trinh Nguyen Minh Nhut, Nguyen Khac Nguyen College of Engineering Technology, Can Tho University ARTICLE INFO Received: 04/6/2022 Revised: 24/6/2022 Published: 24/6/2022 KEYWORDS Slam Robot Four wheels drive ROS Navigation system Mapping ABSTRACT The topic of mobile robot is still interested by many researchers because of the flexible on moving and searching unknown environment In recent years, Slam with robot operating system (ROS) is one of the main research topics However, many researchers simulate by software or use an industrial mobile robot This paper aims to introduce a design method of a Slam mobile robot with four wheels drive Overall system includes: i) a low-level-control system and ii) a high-level-control system The low-level-control system controls and sends robot’s velocity to the high-level-control while the high-levelcontrol gathers environment information from Lidar sensor, maps and calculates the mobile robot kinematics Testing includes mapping an indoor room and mapping a maze Results show that Slam works well with high accuracy Besides, controller can control robot moving to any position in the map THIẾT KẾ MƠ HÌNH SLAM ROBOT BỐN BÁNH CHỦ ĐỘNG SỬ DỤNG ROS Lưu Trọng Hiếu*, Võ Công Thành, Trịnh Nguyễn Minh Nhựt, Nguyễn Khắc Ngun Khoa Cơng nghệ, Trường Đại học Cần Thơ THƠNG TIN BÀI BÁO Ngày nhận bài: 04/6/2022 Ngày hoàn thiện: 24/6/2022 Ngày đăng: 24/6/2022 TỪ KHÓA Slam Robot Bộ lái bánh chủ động ROS Hệ thống định vị Xây dựng đồ TÓM TẮT Lĩnh vực robot di động chủ đề nhiều nhà khoa học quan tâm khả di chuyển, khám phá tìm hiểu địa điểm mà người không tới Trong đó, Slam với hệ điều hành robot (robot operating system - ROS) xu hướng phát triển Tuy nhiên, nghiên cứu đa số tập trung vào mơ thuật tốn dựa vào mơ hình robot hai bánh bán thị trường Nghiên cứu đề xuất thiết kế mơ hình robot bốn bánh chủ động hoạt động Slam dựa vào ROS Toàn hệ thống bao gồm: i) điều khiển cấp thấp ii) điều khiển cấp cao Trong điều khiển cấp thấp điều khiển gửi thông tin vận tốc cấp cao Bộ điều khiển cấp cao thu thập liệu môi trường từ cảm biến Lidar, xây dựng đồ thiết lập toán động học từ liệu nhận Kết thử nghiệm phịng thí nghiệm mê cung nhân tạo cho thấy robot hoạt động tốt, xây dựng đồ diện tích vùng quan sát có diện tích xác cao Bên cạnh đó, robot di chuyển đồ theo yêu cầu người điều khiển DOI: https://doi.org/10.34238/tnu-jst.6113 * Corresponding author Email: luutronghieu@ctu.edu.vn http://jst.tnu.edu.vn 42 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 42 - 49 Giới thiệu Ngày nay, nhiều ứng dụng thực tế Robot di động áp dụng tồn giới Robot di động tìm thấy hệ thống logistic để mang cất hàng hóa, dẫn đường, giám sát kiểm sốt chất lượng Trong nghiên cứu, toán Slam (The Simultaneous Localisation and Mapping) lĩnh vực nhiên mẻ robot học Các nghiên cứu tiên phong hệ robot thông minh Leonard [1] trình bày vào năm 1990 Tiếp theo nghiên cứu SLAM robot giới thiệu Durrant-Whyte Bailey [2], [3] trở thành móng cho nghiên cứu SLAM toàn giới Hiện nay, xu hướng nghiên cứu robot di động tập trung vào sử dụng ROS [4] – [7] Các nghiên cứu tập trung vào mơ thuật tốn sử dụng robot di động có sẵn thị trường Pioneer Turtlebot, điều thật không phù hợp với môi trường Việt Nam kinh phí nghiên cứu cịn hạn hẹp Tại Việt Nam, nghiên cứu Robot di động chủ đề tập trung nghiên cứu Thiết kế điều khiển cho robot di động nghiên cứu nhóm tác giả [8], [9] Các nghiên cứu tập trung thiết kế điều khiển mờ cho robot di động điều khiển định vị vị trí từ hệ máy ảnh trần nhà Đặc điểm nghiên cứu môi trường biết trước được, không xuất nhiều chướng ngại vật Bên cạnh đó, nghiên cứu SLAM tiến hành Việt Nam [10], [11] Các nghiên cứu tập trung xây dựng giải thuật phát triển dựa mơ hình robot di động có sẵn, đa số mơ hình mơ hình xe bánh, với mơ hình động học khơng đổi Do đó, giải pháp điều khiển di chuyển, tính tốn vận tốc tương đối giống Nghiên cứu trình bày giải pháp thiết kế mơ hình Slam robot hệ điều hành ROS Robot di động thiết kế phần mềm vẽ chuyên dụng in 3D để lắp đặt mạch điều khiển cấu chấp hành Bộ điều khiển cấp thấp bao gồm vi điều khiển STM32F4 điều khiển động chủ động thông qua mạch công suất L298 Bộ điều khiển cao cấp bao gồm laptop máy tính nhúng Raspberry pi 4, cài đặt hệ điều hành ROS Robot di động có khả tự định vị, tự lập đồ tự di chuyển để cập nhật đồ Sau trình dựng đồ kết thúc, người điều khiển điều khiển robot di chuyển đến vị trí mong muốn Cấu trúc báo bao gồm: phần trình bày nghiên cứu quốc tế bật xu hướng nghiên cứu Việt Nam Phần trình bày phương pháp thiết kế phần cứng, điều khiển cấp thấp bao gồm PID vận tốc cho bánh chuyển động Tiếp đó, điều khiển cấp cao trình bày phương pháp định vị xây dựng đồ hỗ trợ hệ điều hành ROS Phần trình bày kết thực nghiệm phịng thí nghiệm mơ hình mê cung nhân tạo nhóm xây dựng nên Từ đó, ưu khuyết điểm nghiên cứu trình bày phần Hình Sơ đồ tổng quan hệ thống http://jst.tnu.edu.vn 43 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 42 - 49 Phương pháp thiết kế Sơ đồ tổng quan hệ thống trình bày hình Người dùng sử dụng máy tính để điều khiển, quan sát kết tạo đồ lệnh cho robot di chuyển đến vị trí thơng qua máy tính nhúng Raspberry pi Cả hai thiết bị cài đặt hệ điều hành ROS Ubuntu 20.04 kết nối chung hệ thống wifi, giao tiếp qua chuẩn SSH, Raspberry cấu hình IP tĩnh Máy tính nhúng nhận tín hiệu từ cảm biến Lidar để xây dựng đồ giao tiếp với vi điều khiển STM32F4 thông qua chuẩn USB Vi điều khiển nhận tín hiệu từ IMU gửi máy tính nhúng, đồng thời điều khiển cấu chấp hành gồm động DC dựa điều khiển PID 2.1 Thiết kế khí Tồn khung xe in 3D, có kích thước mm, trục động có (hình 2a) Do mục tiêu xe di chuyển phịng thí nghiệm nơi có địa hình phẳng với độ trượt bánh thấp, bánh xe sử dụng dạng bánh đa hướng mecanum với bán kính Khung robot tính tốn thiết kế với phần nắp xe bao gồm cảm biến Lidar RPLidar A1, phần thân xe bao gồm máy tính nhúng Raspberry Pi 4, mạch vi điều khiển MTS32F4, hai mạch cơng suất L298 bốn động DC GA-25 có gắn encoder hai kênh A, B (hình 2b) với thông số kỹ thuật sau: Điện áp hoạt động 12 (V) Dịng khơng tải 0,15 (A) Dịng chịu đựng tối đa có tải 0,75 (A) Tốc độ khơng tải 130 vịng/phút (a) (b) Hình Mơ hình Robot (a) bên ngồi, (b) bên 2.2 Quá trình SLAM Robot di động Đối với SLAM robot, trình xây dựng đồ môi trường không xác định yếu tố quan trọng Quá trình SLAM bao gồm nhiều bước: xác định mốc, thu thập liệu khoảng cách môi trường, ước tính giá trị trạng thái, liên kết liệu lại, di chuyển cập nhật vị trí trạng thái cho robot Tổng hợp SLAM q trình phần đơn q trình thực nhiều thuật tốn khác Tồn q trình SLAM nghiên cứu gồm bước sau: - Thiết lập hệ trục tọa độ cố định môi trường quan sát - Thiết lập hệ trục tọa độ di động nằm robot - Thiết lập phương trình động học cho Robot (vận tốc điều khiển bánh quãng đường di chuyển được) - Tính tốn vị trí robot vật thể quan sát với hệ trục tọa độ cố định dựa tính hiệu từ cảm biến Lidar - Kết nối liệu xây dựng đồ quan sát - Cập nhật vị trí, so sánh thay đổi nâng cấp đồ quan sát http://jst.tnu.edu.vn 44 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 42 - 49 Quá trình di chuyển Robot đồ thực từ điều khiển cấp thấp cấp cao Trong điều khiển cấp thấp bao gồm: điều khiển PID cho động vận tốc cho bánh di chuyển đọc góc xoay từ IMU robot Bộ điều khiển cao cấp tính tốn thay đổi vị trí robot theo thời gian (Odometry) dựa tín hiệu nhận từ vi điều khiển cảm biến lidar thơng qua thư viện đóng gói robot_locolization từ ROS 2.2.1 Thiết lập điều khiển PID cho động Để điều khiển robot chuyển động, điều khiển PID thiết lập cho động lái bánh xe Tín hiệu ngõ vào số xung xác lập (vịng/phút), giá trị ngõ vận tốc động dạng độ rộng xung, tín hiệu hồi tiếp số xung đo đạc từ encoder (vịng/phút) Phương trình PID cho hệ động cơ: (1) (2) Trong đó: - RPM: số vòng phút , : chênh lệch số vòng phút động khoảng thời gian t : số xung xác lập Bằng phương pháp thử sai, hệ số PID , 2.2.2 Mô hình động học Mơ hình động học robot di động sử dụng bánh xe chủ động hệ tọa độ Descarte trình bày hình Hình Mơ hình động học robot di động bánh chủ động Mơ hình động học SLAM robot nghiên cứu miêu tả sau: 1- Thiết lập hệ trục tọa độ cố định môi trường quan sát: vi điều khiển gửi tọa độ ROS – Thiết lập hệ tọa độ cho Robot di động – ROS gửi vận tốc xuống cho Robot Phương trình biến đổi vận tốc dài thành vận tốc bánh xe trình bày sau: Vận tốc tiếp tuyến: (3) ( ) http://jst.tnu.edu.vn 45 Email: jst@tnu.edu.vn 227(11): 42 - 49 TNU Journal of Science and Technology Số vòng quay phút theo phương lần lượt: (4) (5) (6) Số vòng quay motor là: (7) (8) (9) (10) – Robot gửi thông số vận tốc ROS cách liên tục thơng qua phương trình sau: ( (11) ) ( ) ( ) ( ) (12) (13) (14) Trong : giá trị vận tốc nhận từ ROS (m/s), tối đa 0,5 m/s bán kính đường kính bánh xe (mm) khoảng cách bánh xe theo phương x phương y (mm) : tốc độ hướng quay theo phương động thứ Giá trị dương quay thuận chiều, âm quay ngược chiều (vòng/phút) số vòng quay motor (vòng/phút) 2.2.3 Định vị (navigation) xây dựng đồ (mapping) ROS hỗ trợ đa dạng toán định vị: định vị cục (Simultaneous localization) định vị toàn cục (Simultaneous globalization) dựa gói hàm thư viện đóng gói (package) Global_planner hàm thư viện hỗ trợ giải tốn tồn cục Phương pháp sử dụng thuật tốn A* để tìm đường [12] Dwa_local_planner (Dynamic Window Approach - DWA) [13] hàm thư viện cung cấp điều khiển robot di chuyển mặt phẳng Bộ điều khiển kết nối kết tốn tìm đường đến robot Khi có đồ, tìm đường tạo quỹ đạo động học để robot từ vị trí đầu đến đích Trên đường đi, tìm đường tạo đồ lưới nhỏ xung quanh robot điều khiển robot di chuyển theo ô lưới Công việc điều khiển xác định vận tốc dài vận tốc góc để gửi tới robot Sau tinh chỉnh thông số cho hai hàm thư viện toàn cục cục bộ, trình SLAM robot bắt đầu Lúc robot vừa di chuyển vừa tính tốn tốn vận tốc, định vị xây dựng đồ Quá trình xây dựng đồ robot thiết kế Hình Quy trình xây dựng đồ tự động thực sau: robot thu thập tồn mơi trường chưa xác định thơng qua cảm biến Lidar Các tọa độ sử dụng để vẽ đồ phương pháp Gmapping [14], từ vị trí cịn thiếu sót đồ vị trí Robot cần di chuyển đến để hoàn thiện đồ [15] Robot tự động di chuyển đến vị trí xác định, http://jst.tnu.edu.vn 46 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 227(11): 42 - 49 suốt giai đoạn di chuyển, liệu cập nhật thời gian thực máy tính, từ người quan sát kiểm tra tình hình Robot Khi đến vị trí mới, trình thu thập liệu thực Q trình kết thúc Lidar khơng thể thu thập liệu mới, hay nói cách khác đồ hoàn thiện Lúc này, trình SLAM kết thúc, người điều khiển điều khiển Robot đến vị trí đồ theo yêu cầu Hình Quy trình tự động xây dựng đồ Kết đạt Để đánh giá khả vận hành phần mềm, Robot thiết kế để chạy thí nghiệm: môi trường nhà mê cung nhân tạo 3.1 Thực nghiệm phịng thí nghiệm Thí nghiệm bố trí phịng thí nghiệm Hệ thống thơng minh, mơn Tự động hóa, Khoa Cơng nghệ, trường Đại học Cần Thơ Phịng thí nghiệm có diện tích 8x8 m2, lát gạch, địa hình di chuyển phù hợp với Robot thiết kế Khi tiến hành thí nghiệm, phịng trống khơng có sinh viên, robot di chuyển địa hình trống trải Vì vậy, trình Slam robot diễn khoảng phút Hình 5a miêu tả phịng thí nghiệm, hình 5b,c cho thấy q trình Slam hoàn thành đồ Bản đồ thu hình 5(c) tập hợp đám mây điểm (point cloud) cảm biến Lidar quét tạo Đây tập hợp vị trí chướng ngại vật (chấm màu đỏ) vùng không gian trống không gian 2D biểu thị dạng tọa độ so với tọa độ gốc Đường màu đỏ thể cho đường biên (boundary) phịng thí nghiệm Diện tích vùng quan sát đo lại phần mềm, kết cho thấy tồn diện tích vùng quan sát 7,53x7,76 m2, có sai lệch so với diện tích thực phịng Ngun nhân tủ đặt sát tường, từ làm nhỏ diện tích sát phịng thí nghiệm (a) (b) (c) Hình Q trình Slam đồ phịng thí nghiệm (a) Hiện trường phịng thí nghiệm (b) bắt đầu q trình dựng đồ (c) hoàn thành đồ 3.2 Thực nghiệm mê cung nhân tạo Mê cung nhân tạo xây dựng hình 6a với diện tích 4x4 m2 Mê cung có nhiều vị trí khuất địi hỏi robot phải di chuyển để tìm vị trí Robot bố trí vị trí kín góc mê cung, máy ảnh thương mại sử dụng để ghi lại tồn q trình Slam robot Do mê cung tương đối phức tạp, robot phải di chuyển tới vị trí khác để hồn thành đồ (Hình 6b, c) Diện tích đồ sau hoàn thành 3,88x3,96 m2, kết cho thấy độ xác cao so với thí nghiệm Sau hoàn thành đồ, người điều khiển điều khiển vị trí http://jst.tnu.edu.vn 47 Email: jst@tnu.edu.vn 227(11): 42 - 49 TNU Journal of Science and Technology robot di chuyển đến mê cung (hình 6d), mũi tên hồng biển diễn cho phần đầu xe hướng tới sau thực trình di chuyển Sau xác định điểm đích đồ, ROS tính tốn quỹ đạo di chuyển hiển thị lên hình điều khiển đường xanh (hình 6e) (a) (b) (c) (d) (e) Hình Quá trình Slam mê cung nhân tạo (a) Hình mê cung nhân tạo thực tế (b), (c)q trình Slam hồn thành đồ, (d) định vị vị trí cho robot di chuyển (e) quỹ đạo di chuyển Kết luận đề nghị Nghiên cứu thiết kế mô hình SLAM robot bánh chủ động phục vụ cho nghiên cứu phịng thí nghiệm Phần cứng thiết kế phần mềm chuyên dụng trước in 3D lắp đặt Phần mềm bao gồm máy tính có cài đặt ROS cho người dùng quan sát trạng thái robot vi máy tính Raspberry Pi có cài đặt ROS Mơ hình động học cho Robot đề xuất để tính tốn vận tốc cho bánh xe, gửi liệu ROS để đo đạc quãng đường Robot suốt trình vận hành Quá trình định vị xây dựng đồ robot tiến hành thông qua gói liệu hỗ trợ ROS http://jst.tnu.edu.vn 48 Email: jst@tnu.edu.vn ... động học robot di động sử dụng bánh xe chủ động hệ tọa độ Descarte trình bày hình Hình Mơ hình động học robot di động bánh chủ động Mơ hình động học SLAM robot nghiên cứu miêu tả sau: 1- Thiết lập... chuyển (e) quỹ đạo di chuyển Kết luận đề nghị Nghiên cứu thiết kế mơ hình SLAM robot bánh chủ động phục vụ cho nghiên cứu phịng thí nghiệm Phần cứng thiết kế phần mềm chuyên dụng trước in 3D lắp đặt... nghiên cứu Robot di động chủ đề tập trung nghiên cứu Thiết kế điều khiển cho robot di động nghiên cứu nhóm tác giả [8], [9] Các nghiên cứu tập trung thiết kế điều khiển mờ cho robot di động điều