Skip to content

Open-Source SLAM Stack Comparison ​

This comparison is for engineering selection, not leaderboard admiration. A SLAM stack is useful when its sensor assumptions, license, ROS support, diagnostics, map outputs, runtime behavior, and maintenance model match the deployment. For airside AVs, the likely production architecture is a hybrid: offline LiDAR-inertial SLAM and factor-graph map optimization for survey, validated scan-to-map localization for runtime, and place-recognition recovery for startup and faults.

Related areaLinkWhy it matters
LiDAR algorithm detailLiDAR SLAM AlgorithmsDeeper comparison of KISS-ICP, LIO-SAM, FAST-LIO2, Faster-LIO-style voxel LIO, CT-ICP, and Point-LIO.
Runtime localizationProduction LiDAR Map LocalizationThe open-source stack should plug into or inform scan-to-map localization, not replace safety architecture blindly.
Place recognitionLiDAR Place Recognition and Re-LocalizationMost stacks need external loop/relocalization strengthening for production.
Map constructionMap Construction PipelineStack output must be compatible with survey processing, GCP alignment, map QA, and OTA deployment.
State estimationRobust State Estimation Multi-SensorPose output quality is not enough; covariance, gating, dropout, and sensor health matter.
Radar and Doppler fallbackDoppler Radar-LiDAR SLAM and Radar RIO Correspondence and UncertaintyRadarize and DRO are useful open-source Doppler/radar odometry baselines; radar_transformer and HKUST RIO add reviewable correspondence and uncertainty-aware RIO artifacts; Doppler-SLAM remains paper-backed but not yet code-mature.
Backend mathGTSAM Factor GraphsEssential for understanding LIO-SAM, GLIM, map optimization, and production factor insertion.
Gaussian/neural mapsGaussian Splatting for DrivingGood future-facing map/QA representation, but not yet a primary certified pose stack.
Coverage auditSLAM Coverage Audit and BacklogTracks remaining SLAM, odometry, localization, backend, dataset, and benchmark gaps after the promoted method-library waves.

Comparison Criteria ​

CriterionWhat to checkRed flag
Sensor assumptionsLiDAR type, camera model, IMU grade, wheel/GNSS support, time syncDemo works only on one sensor bag with hard-coded fields
Map representationVoxel map, submaps, occupancy grid, sparse landmarks, Gaussians, factor graphNo export path to production map format
BackendIEKF, pose graph, factor graph, bundle adjustment, Ceres/g2o/GTSAMBlack-box pose output with no residual/covariance access
ROS and middlewareROS 1/ROS 2, standalone API, bag replay, message typesROS 1-only when product stack is ROS 2 and wrappers are nontrivial
Runtime determinismP95/P99 latency, memory growth, thread modelMean-only timing or unbounded map growth
DiagnosticsResiduals, inlier ratio, degeneracy, covariance, loop acceptanceOnly publishes pose and point cloud
LicenseMIT/BSD/Apache/GPL/commercial constraintsGPL stack linked into closed product without legal review
MaintenanceActive issues, releases, build support, CI, dependency ageUnmaintained fork with old Ubuntu/ROS only
Production gapSafety case, fault handling, QA, calibration, maps"Works on KITTI" used as production readiness proof

Stack Comparison ​

StackSensorsBackend/optimizationLicenseROS/standaloneStrengthsCaveatsBest fit
KISS-ICP3D LiDARPoint-to-point ICP, voxel local mapMITStandalone, Python, ROS 2; ROS 1 deprecated in current repoVery simple, strong baseline, easy to run, low integration riskOdometry only; no global loop closure in base pipelineFallback odometry, survey validation, method baseline
KISS-SLAM3D LiDARKISS-ICP front-end, loop closure, g2oMITPython package/standaloneSimple LiDAR-only SLAM, indoor parameter guidance, reproducible paper tagNewer than KISS-ICP; production maturity still emergingLightweight LiDAR SLAM, survey prototypes
LIO-SAM3D LiDAR, IMU, optional GPSGTSAM factor graphs, IMU preintegration, feature-based LiDAR factorsBSD-3ROS 1 original; ROS 2 branch/community variantsExcellent teaching/reference architecture for factor-graph LIO with GPS/loopsFeature extraction and ROS 1 assumptions can be brittle; needs careful IMU setupSurvey mapping, factor-graph design reference
FAST-LIO23D LiDAR, IMUTightly coupled iterated EKF, ikd-tree mapGPL-2.0ROS 1High-rate direct LIO, supports spinning and solid-state LiDAR, strong real-time performanceGPL integration risk; no native loop closure in core; timing calibration criticalSurvey front-end, GPS-denied odometry, UAV/handheld
Faster-LIO family3D LiDAR, IMUTightly coupled LIO, iVox incremental voxelsGPL-family repo terms require reviewROS 1Faster map structure than tree-based LIO in many casesVoxel-size sensitivity; less common production adoptionSpeed-focused LIO experiments
Point-LIO3D LiDAR, IMUPoint-wise LIO with high-rate outputGPL-2.0 repo terms require reviewROS 1High-bandwidth odometry, aggressive motion/vibration robustnessIMU synchronization and saturation configuration are non-negotiableUAV, vibration-heavy platforms, high-rate control
CT-ICP3D LiDARContinuous-time ICP, LiDAR-only elastic modelCheck repo license before product useStandalone/ROS wrappersModels intra-scan motion without IMU; good LiDAR-only referenceLess natural multi-sensor fusion than factor-graph LIOLiDAR-only vehicles, motion-distortion studies
GLIMRange sensors, IMU optional, RGB-D capableDirect multi-scan registration on factor graphs, GPU scan-matching factors via gtsam_pointsMITROS 2 and standalone ecosystemModern, extensible, GPU-aware, GTSAM-based, manual map correctionNewer stack; dependencies include GTSAM/gtsam_points/CUDA for full benefitSerious 3D mapping research and survey tooling
Cartographer2D/3D LiDAR, IMU, odomSubmaps, scan matching, sparse pose adjustmentApache-2.0ROS integrations, standalone coreMature submap architecture, branch-and-bound loop closure, strong 2D heritageGoogle project is effectively mature/maintenance-mode; configuration-heavy2D/3D robotics mapping reference, indoor SLAM
RTAB-MapRGB-D, stereo, LiDAR, IMU/odom inputsGraph SLAM, appearance-based loop closureBSD-style core; verify dependenciesROS 1/2 and standaloneVery practical robotics tool, broad sensor support, visualizationMany knobs; not a minimal AV localization coreIndoor mapping, RGB-D, multi-sensor robot prototypes
ORB-SLAM3Monocular, stereo, RGB-D, visual-inertialSparse features, bundle adjustment, multi-map SLAMGPL-3.0Standalone examples, community ROS wrappersStrong visual/VIO baseline, multi-map recoveryGPL; visual degradation in glare/weather/low textureCamera-first robotics and research benchmark
OpenVINSMono/stereo cameras, IMUMSCKF/EKF visual-inertial estimatorGPL-3.0ROS 1/2 and ROS-freeExcellent documentation, evaluation tools, covariance disciplineSparse VIO, not full dense mapper; GPLVIO research, estimator consistency reference
VINS-FusionMono+IMU, stereo+IMU, stereo, GPS exampleSliding-window optimization with Ceres, loop fusionGPL-3.0ROS 1Widely used VIO baseline with multi-sensor modesOlder dependencies; GPL; calibration-sensitiveVisual-inertial baseline, GPS fusion reference
SLAM Toolbox2D LiDAR, odomPose graph, scan solvers, occupancy gridLGPL-2.1-familyROS 2Practical ROS 2 indoor mapping/localization stack, Nav2 integration2D only; not for 3D AV maps; LGPL obligations need reviewWarehouses, service robots, Nav2 products
Autoware NDT3D LiDAR, map, EKF/GNSS inputsNDT scan matching, Monte Carlo initial poseApache-2.0 ecosystemROS 2/AutowareProduction-oriented diagnostics, dynamic map loading, covariance, servicesLocalization stack, not full SLAM; tied to Autoware interfacesRoad/yard/airside localization reference
MOLALiDAR/LO/LIO/GNSS/kinematics/mapsModular localization and mapping, metric maps, particle filtersBSD-family/MRPT ecosystem; verify modulesROS 2 and standaloneStrong modularity, localization-only modes, georeferenced workflowsSmaller ecosystem than Autoware/ROS Nav2Research-to-product mapping/localization bridge
gtsam_pointsLiDAR/range factorsGICP/VGICP/colored ICP factors, CPU/GPU optionsMITLibrary with GLIM integrationDirect bridge from scan matching to GTSAM graphsLibrary, not a complete robot stackCustom factor-graph SLAM/localization
Uni-MapperHeterogeneous 3D LiDAR mapsDynamic-aware loop closure and anchor-node map mergingGPL-3.0 repo; review before product useResearch repo / OpenLMM releaseExplicitly handles dynamic residuals and multi-modal LiDAR map mergingLimited official release; research artifact, not production stackMulti-session or multi-rig map-merging research

Backend and Toolkit Comparison ​

ToolkitRoleLicenseStrengthsCaveatsUse here
GTSAMFactor graphs, smoothing, iSAM2, IMU preintegrationBSDRobotics-native factors, manifolds, incremental smoothing, Python/MATLAB wrappersAPI/version migration needs attention; not a turnkey SLAM systemPrimary backend reference for airside SLAM/map/localization factors
g2oGeneral graph optimizationBSDLightweight, proven in visual SLAM and pose graphsLess sensor-fusion-oriented than GTSAMLoop closure and pose-graph systems such as KISS-SLAM/ORB-style stacks
Ceres SolverNonlinear least squaresApache-2.0Mature, robust, production-proven, excellent for bundle adjustment/calibrationNo native factor-graph semantics; user handles graph structureVisual BA, calibration, scan-matching optimization
Open3D3D data processingMITRegistration, point-cloud processing, visualization, Python workflowsNot a full SLAM product by itselfMap QA, prototyping, post-processing
PCLPoint-cloud algorithmsBSDBroad point-cloud ecosystem, ICP/NDT filtersLegacy APIs and performance varyReference implementations and offline tools
FAISSSimilarity searchMITFast descriptor retrieval at scaleNot geometric verificationPlace recognition database acceleration

AV, Indoor, Outdoor Shortlists ​

DomainShortlistStack roleExpected additions
Airside runtime localizationAutoware NDT diagnostics, custom GPU VGICP/gtsam_points, GTSAM/iSAM2, Scan Context/MinkLoc3DRuntime pose in validated mapMulti-LiDAR calibration, covariance gating, RTK/wheel/IMU factors, safe fallback
Airside survey mappingFAST-LIO2, GLIM, LIO-SAM, KISS-ICP, KISS-SLAMBuild and validate mapsGCP factors, map QA, dynamic filtering, geodetic export
Indoor warehouse productSLAM Toolbox, AMCL/Nav2, RTAB-Map for RGB-DOccupancy map and navigationReflectors/AprilTags, map versioning, aisle relocalization
Construction/underground mappingGLIM, FAST-LIO2, Point-LIO, RTAB-Map3D mapping in hard geometryMulti-session loop closure, dust/dark testing, Hilti-style benchmark
Camera-first robotORB-SLAM3, OpenVINS, VINS-FusionVisual/VIO baselineExposure/blur checks, robust relocalization, calibration automation
Dense visual map researchRTAB-Map, NICE-SLAM, SplaTAM, Splat-SLAMReconstruction/QA/simulationClassical pose fallback, uncertainty estimation, static/dynamic segmentation

Integration Patterns ​

PatternComponentsWhen to useMain risk
LiDAR-only independent fallbackKISS-ICP running beside production scan-to-mapDetect IMU/map-localization failures and provide dead-reckoning fallbackDrift if used too long; must have safe-stop budget
LIO survey front-end plus graph backendFAST-LIO2 or Point-LIO producing odometry into GTSAMBuild high-quality survey maps with external anchorsDouble-counting IMU if factors are not modeled correctly
Full factor-graph SLAMLIO-SAM or GLIM-style graphNeed loop closure, GPS/GCP, multi-session constraintsBad loop factors can corrupt full map without robust gating
Localization-only modeAutoware NDT, MOLA localization, custom VGICPProduction operation in a known mapWrong initial pose and map staleness
Visual auxiliaryORB-SLAM3, OpenVINS, VINS-Fusion feeding health or relative motionCameras already available and lighting is acceptableVisual failure under glare/weather if treated as primary
Dense/neural QA overlayGaussian/RGB-D stack after classical pose/map generationInspect map, create digital twin, support simulationOverinterpreting rendering quality as localization certainty

License and Product-Risk Matrix ​

License/statusExamplesProduct implication
MIT/BSD/Apache-friendlyKISS-ICP, KISS-SLAM, GTSAM, Ceres, GLIM, AutowareUsually easier to integrate, but still review dependencies and modifications.
LGPL-familySLAM ToolboxPractical open-source option, but product linking/distribution obligations require legal review.
GPL-familyFAST-LIO2, Point-LIO, ORB-SLAM3, OpenVINS, VINS-FusionExcellent research baselines; product linking/distribution requires legal review or clean-room reimplementation.
Research/new stackSplat-SLAM, many Gaussian SLAM projects, newer LIO variantsUseful for experimentation; require extra maturity assessment and failure monitoring.
Dataset license restrictionsHilti non-commercial, some AV datasetsGood for benchmarking, not necessarily for commercial training/product use.

Stack-Specific Caveats ​

StackCaveatMitigation
KISS-ICPNo global correction; local map onlyPair with loop closure or use as odometry/fallback baseline.
LIO-SAMRequires correct IMU orientation, extrinsics, deskewing, and feature parametersBuild a calibration replay test before trusting results.
FAST-LIO2Great front-end but not a full map lifecycleFeed outputs into loop closure/GTSAM/GCP map optimization.
Point-LIOHigh-rate point updates expose sensor timestamp mistakes quicklyAdd IMU saturation checks and time-sync health metrics.
CT-ICPContinuous-time LiDAR-only modeling can be compute/config sensitiveCompare against IMU-deskewed LIO on same motion profiles.
GLIMPowerful but newer and dependency-richFreeze versions and benchmark CUDA/GTSAM compatibility on target hardware.
CartographerTuning submaps and loop closure can dominate project timeUse when submap behavior is needed and configuration effort is acceptable.
RTAB-MapBroad feature set can hide complexityLock a narrow sensor mode and parameter set for deployment.
ORB-SLAM3Visual-only failure under airport glare/night/rainUse as auxiliary or camera-first research baseline, not primary airside pose.
OpenVINSFilter consistency depends on calibration and feature tracking assumptionsUse its NEES/evaluation tooling to validate covariance.
Autoware NDTNDT can fail in sparse or changed geometryAdd GNSS/IMU/wheel priors, covariance monitoring, and fallback matching.
LayerRecommended open-source referenceProduction interpretation
Primary LiDAR-only baselineKISS-ICPKeep as a simple benchmark and independent odometry monitor.
Primary LIO survey baselineFAST-LIO2 and GLIMUse to generate survey trajectories/submaps; check license before product embedding.
Factor-graph referenceLIO-SAM, GTSAM, GLIM/gtsam_pointsReuse concepts for IMU, GPS/GCP, loop, scan-matching, and map factors.
Indoor navigation referenceSLAM Toolbox, Cartographer, RTAB-MapUse for warehouse/AGV scenarios, not as airside AV default.
Visual/VIO referenceORB-SLAM3, OpenVINS, VINS-FusionUse to benchmark camera contribution and calibration, not primary all-weather pose.
Runtime AV localization referenceAutoware NDT and MOLA localizationStudy diagnostics/interfaces; production stack may use custom VGICP/GTSAM.
Dense/neural map referenceSplaTAM, Splat-SLAM, NICE-SLAMTreat as map QA/simulation research; require classical pose fallback.

Sources ​

Public research notes collected from public sources.