-
Notifications
You must be signed in to change notification settings - Fork 1
SLAM Package Choice
Objective :
- Document the SLAM package chosen for the rover and the reasoning behind doing so
Key Factors in decision :
-
Package Performance - How well the package can model real world and perform SLAM mostly based on research papers and the metrics by the researchers
-
Compatibility with rover - Is the robot configured with onboard components that we can use to run the SLAM package to its full potential
-
Ease of integration and testing - How costly in terms of time and effort is it to integrate and test with our rover
Methodology :
-
We compared popular slam packages based on package performance and narrowed our choices to rtab_map ,cartographer and gmapping to be the best for 2D SLAM with LIDAR .
-
Rtab_map while being best in terms of performance needs some form of depth sensor like a Kinect/realsense for optimal performance.
- NOTE: We have a camera (stereo) on board (or else how will the CV team do CV). We can leverage it using Rtab_map
-
Cartographer seems to be harder to integrate and test with (I think we really need to look into this more).
-
Currently we believe gmapping to be most compatible and easy to use with the rover . This is subject to change in light of new information
- NOTE: Gmapping is not recommended to use for short range LIDARs such as Hokuyo (our LIDAR) with standard parameter settings. See this link for reference
- NOTE: Gmapping is no longer maintained (thus perhaps getting outdated)
References :
- https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/7/7a/Labbe18JFR_preprint.pdf
- more references in github issue if needed
- To use gmapping on its own run:
$ roslaunch gmap gmapping.launch - To use gmapping + navigation stack run:
$ roslaunch gmap gmapping_navigation.launch - To save the current map run:
$ rosrun map_server map_saver -f <path-to-desired-file-location>/<file-name> - To view the map created use
$ xdg-open <path-to-desired-file-location>/<file-name>
General ROS and Technical Help
- Creating a rospy package
- Model the Robot
- Odometry - General Information
- Odometry - Configuring with ROS
Creating and Using Our Packages