EasySLAM

Python package that makes SLAM accessible to beginners, with options for researchers

Status
Research
Version
0.1.0
Platform
Library / CLI
License
MIT
01 · Problem

Makes Simultaneous Localization and Mapping (SLAM) accessible to beginners while still offering features for researchers.

02 · Architecture

How it is put together.

EasySLAM is a Python SLAM library that wraps several algorithms behind a single EasySLAM class. It offers ORB-SLAM-style feature SLAM, FastSLAM, GraphSLAM, visual-inertial and RGB-D SLAM, with sensor back-ends for webcams, Intel RealSense, stereo pairs, LiDAR and TUM/KITTI datasets. Extras include semantic mapping, EKF sensor fusion, map merging, profiling, trajectory/point-cloud export and an optional PyQt6 GUI.

Core APIeasy_slam/core.pyAlgorithmseasy_slam/algorithms/Sensorseasy_slam/sensors/Utilitieseasy_slam/utils/GUI and viewereasy_slam/gui/Core APIeasy_slam/core.pyAlgorithmseasy_slam/algorithms/Sensorseasy_slam/sensors/Utilitieseasy_slam/utils/GUI and viewereasy_slam/gui/
FIG. 01Modules and data flows, from the repository layout and documentation.
  1. 1

    Core API

    EasySLAM class

    easy_slam/core.py
  2. 2

    Algorithms

    ORB, FastSLAM, GraphSLAM, visual-inertial, RGB-D

    easy_slam/algorithms/
  3. 3

    Sensors

    Webcam, RealSense, stereo, LiDAR, dataset readers

    easy_slam/sensors/
  4. 4

    Utilities

    Calibration, fusion, map merging, semantic, profiling, output

    easy_slam/utils/
  5. 5

    GUI and viewer

    PyQt6 GUI and visualisation viewer

    easy_slam/gui/
03 · Capabilities

Specification.

Algorithms
ORB-SLAM, FastSLAM, GraphSLAM, visual-inertial SLAM, RGB-D SLAM
Sensors
Webcam, Intel RealSense, stereo cameras, LiDAR, TUM/KITTI/custom datasets
Extras
Semantic mapping, EKF sensor fusion, map merging, performance profiling
Outputs
Trajectory (TUM, JSON, CSV), point clouds (PLY, PCD), mesh maps
Interfaces
Python API, easy-slam CLI, easy-slam-gui (PyQt6)
Configuration
YAML config for sensor, algorithm, visualisation and output
Runs on
pip-installable package with Python API and CLI/GUI entry points
Stack
  • Python
  • NumPy
  • OpenCV
  • SciPy
  • Matplotlib
  • PyYAML
  • Open3D (optional)
  • pyrealsense2 (optional)
  • python-g2o (optional)
  • PyQt6 (optional)