Thuật toán EKF-SLAM sẽ được thực thi bởi 2 node là bản đồ (Map) và vị trí robot (Robot Pose), xuất ra dữ liệu về bản đồ và vị trí robot Lập bản đồ và lập kế hoạch di chuyển là rất quan trọng để điều hướng cho robot tự động
Hình 4 3 Nút lập bản đồ và vị trí sử dụng trong ROS
Trong ROS, với các nút và chủ đề đầy đủ, ngăn xếp điều hướng được hiển thị như Hình 4 3 cung cấp robot hỗ trợ thơng tin tồn diện để điều hướng Để đạt được mục tiêu này, các thuật tốn đã được phát triển với mục đích trích xuất bản đồ tạo điều kiện cho chuyển động chính xác của robot Khối Gmapping thực hiện nhiệm vụ thu nhận tín hiệu và lập bản đồ mơi trường hoạt động trong nhà (hoặc ngoài trời) Kỹ thuật này bao gồm xây dựng bản đồ của môi trường và đồng thời sử dụng bản đồ này để tính tốn vị trí của nó Khi q trình tập hợp thơng tin từ môi trường thông qua các cảm biến và việc tạo bản đồ đã hoàn thành, bản đồ được tạo có thể được lưu để sử dụng trong ngăn xếp điều hướng (Hình 4 4)
Bằng cách nhận thơng tin bao gồm vận tốc và vị trí của robot để tạo đường dẫn cục bộ, ROS sử dụng phép biến đổi tọa độ (tf) mô tả Oxyz tọa độ của cảm biến từ phép đo độ dời vị trí của robot Các nút “Sensor_msgs / LaserScan” hoặc
“sensor_msgs / PointCloud” lưu trữ thông tin cảm biến từ camera Astra và cảm biến
Lidar Omni_core Odom Omni_teleop Geometry_msgs/Twist tf/tfMessage tf RpLidar Sensor_msg/LaserScan scan Base_footprint Gmapping Base_link Base_scan map Nav_msgs/OccupancyGrid Map-server (map-saver)
Map pgm& map yaml
Hình 4 4 Cấu trúc thiết lập gói Gmapping
Bên cạnh đó, chuyển động của robot có thể được điều khiển thuận tiện trong môi trường không xác định do bản đồ được xây dựng bằng cách sử dụng thuật toán EKF-SLAM