explaingit

musabali314/onslam

Analysis updated 2026-05-18

2PythonAudience · developer

TLDR

A Windows app that turns a ROS1 LiDAR and IMU recording into a downloadable 3D point cloud map, all processed locally.

Mindmap

mindmap
  root((OnSLAM))
    What it does
      LiDAR IMU mapping
      Local point cloud output
      Windows desktop app
    Tech stack
      Python FastAPI
      React
      ROS1 bags
    Use cases
      Bag to map conversion
      Live tracking preview
      PLY PCD export
    Audience
      Robotics developers
      Dataset researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Convert a ROS1 LiDAR and IMU bag file into a 3D point cloud map without setting up Linux or ROS.

USE CASE 2

Preview a scan's tracking quality and trajectory live while it processes.

USE CASE 3

Export a completed map as PLY or PCD for use in other 3D or robotics tools.

USE CASE 4

Test mapping quality against public LiDAR datasets like the TIERS multi-modal dataset.

What is it built with?

PythonFastAPIReactROS1

In plain English

OnSLAM is a Windows desktop application that turns a recorded LiDAR and IMU data file from the ROS1 robotics format into a navigable 3D point cloud map, without requiring the user to install Linux, ROS, Python, or Node.js, or type any terminal commands. Everything runs locally on the user's own computer, so no bag files, maps, or logs are ever sent anywhere else. After installing it, a user opens a recorded .bag file inside the app, which shows the available LiDAR and IMU data streams inside that file. They pick which stream to use, choose a processing quality preset such as fast, balanced, or detailed, and start the mapping process. The app then combines the LiDAR and motion sensor data using an IMU-assisted technique that matches each new scan against a growing local map, shows live progress including the estimated path and a tracking quality indicator, and previews the point cloud building up in the browser as it goes. Once finished, the result can be downloaded as a PLY or PCD file, two common formats for storing 3D point cloud data. Under the hood, the installer bundles a Python and FastAPI backend that does the actual processing, a compiled React interface for the browser view, and the various supporting libraries, and launches a local web service that opens automatically at an address only reachable from the same machine. It currently supports two types of LiDAR data (Livox's own format and the more generic PointCloud2 format) paired with standard IMU data, but does not yet support ROS2 bag files, correcting for accumulated drift over a full loop, or automatically figuring out how sensors are physically positioned relative to each other. The developer describes it as an experimental and practical tool rather than a full replacement for more complete mapping systems used in robotics research. Processing large recordings can use a lot of memory, CPU time, and temporary disk space depending on the length of the recording and the chosen quality setting. The README does not state a license for the project.

Copy-paste prompts

Prompt 1
Walk me through installing OnSLAM and processing my first ROS1 bag file into a point cloud.
Prompt 2
Explain how OnSLAM combines LiDAR and IMU data to build a map without loop closure.
Prompt 3
Show me which LiDAR and IMU topic types OnSLAM currently supports.
Prompt 4
Help me understand the difference between the Fast, Balanced, and Detailed processing presets.

Frequently asked questions

What is onslam?

A Windows app that turns a ROS1 LiDAR and IMU recording into a downloadable 3D point cloud map, all processed locally.

What language is onslam written in?

Mainly Python. The stack also includes Python, FastAPI, React.

Who is onslam for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.