Skip to content

v0.4.0: ca slam-run and the 3-driver SLAM bake-off

Latest

Choose a tag to compare

@rsasaki0109 rsasaki0109 released this 24 May 13:29
· 20 commits to main since this release
fcd5500

CloudAnalyzer 0.4.0 closes the Phase 21-27 SLAM expansion arc.

Highlights

  • ca slam-run drives a LiDAR-odometry pipeline end-to-end on raw scans (KITTI .bin, .pcd, .ply, or a frames-list .txt) and emits the trajectory + accumulated map the rest of the QA stack consumes (ca run-evaluate, ca check, ca history, ca benchmark eval). Install via pip install 'cloudanalyzer[slam]'.
  • The slam_run experiment slice now ships three architecturally distinct real drivers plus a sentinel. All three real drivers pass the bundled synthetic-figure8 default gate:
Driver Architecture figure-8 ATE figure-8 AUC License
kiss_icp (adopted) scan-to-map + CV prediction 1.6 mm 1.00 BSD
kiss_slam (experimental) KISS-ICP + PGO + loop closure 1.6 mm 1.00 MIT
small_gicp (experimental) scan-to-map VGICP via GaussianVoxelMap 2.2 mm 0.99 MIT
identity_passthrough (sentinel) identity poses huge low -
  • The bundled benchmarks/slam/synthetic-figure8/ benchmark suite now ships raw scans under scans/ (200 frames, yaw-bearing tangent heading), so the full scans → SLAM → benchmark eval loop reproduces from a clean checkout with no BYO data.

What this means

Before v0.4.0, CloudAnalyzer was "you bring the SLAM output, I'll score it." After v0.4.0 it is "give me your raw scans, I'll pick a SLAM driver, run it, and score it for you" — with three independent drivers verified against a rotation-bearing dogfood suite in CI.

See also