Skip to content

jasiex01/leo_sim_slam_comparison_workspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SLAM comparison ROS 2 workspace

This repository contains a ROS 2 workspace with tools that can collect data to benchmark SLAM algorithms using a Gazebo simulation with Leo Rover.

Installation

  1. Clone this package: git clone https://github.com/jasiex01/leo_sim_slam_comparison_workspace
  2. Install Gazebo
  3. Install all dependencies with rosdep and install all SLAM packages:
  4. Build the workspace using colcon build
  5. Source the workspace source install/setup.bash

Data collection

Data collection happens in 2 steps:

  1. Preparation of rosbag with sensor and robot data
  2. Running the SLAM algorithm with data from rosbag and collecting results

Preparation of rosbags

  1. Launch the simulation: ros2 launch leo_gz_bringup leo_gz.launch.py
  2. Start collecting the data using ros2 bag record. Make sure that the following topics are recorded:
  • /tf_static
  • /world/leo_empty/dynamic_pose/info
  • /joint_states
  • /odom
  • /clock
  • /tf
  • /imu/data_raw
  • /lidar/laserscan
  • /cmd_vel
  • /camera/camera_info
  • /robot_description
  • /camera/points Note: the bag might reach sizes above 20-30 GB. Ensure that you have enough disk space. The size might be greatly reduced if /camera/points topic is not recorded - the topic is not needed if only algorithms using LiDAR are compared.
  1. Drive the rover manually in the simulation world. To do that you can use for example: ros2 launch leo_teleop joy_teleop.launch.xml which will allow you to control the rover using a gamepad.
  2. Save your rosbag

Running SLAM algorithms

  1. Launch SLAM algorithm, ground_truth_odom node to calculate the rover position in simulation, pose_logger and ram_logger to export pose information and RAM usage information to .CSV files. To do all that you can use and modify the test_environment.launch.xml file
  2. Launch rotop tool to provide CPU usage data.
  3. Play your recorded rosbag
  4. Wait until the rosbag finishes its playback
  5. Save the map generated by SLAM algorithm using nav2_map_server tool

After following the steps you should have .CSV files containing RAM usage, CPU usage and poses (ground truth and estimated), and a .PGM map file.

Now you can perform the analysis using tools in the SLAM comparison tools repository.

Note: make sure to crop the maps to the size of the ground truth maps.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published