Skip to content

Repository files navigation

RayCon-SLAM v0.1.0 public preview — concept artwork

Version v0.1.0 C++17 Python 3.10 or later Synthetic examples included

RayCon-SLAM

Visual-Inertial SLAM
Visual-Inertial Simultaneous Localization and Mapping

Quick start · Preview · Roadmap · Input formats · Changelog

RayCon-SLAM is a visual-inertial simultaneous localization and mapping (VI-SLAM) project with staged public code releases. The first public version opens the companion tools; the next version is planned to provide VI-SLAM system trial-run code, example configurations and launch scripts. v0.1.0 includes standalone C++17 and Python implementations, reproducible synthetic examples, preview images and local check scripts.

Public preview: v0.1.0 makes the companion tools and synthetic examples available. The VI-SLAM system trial-run entry point is planned for the next version. The cover is concept artwork; the preview below shows actual output from the synthetic data included in this repository.

Available in v0.1

Module Available in v0.1.0
Replay Compose supplied planar odometry increments and validate timestamp order and numeric values
Inspect Summarize pose count, path length and time span; generate synthetic-example previews
Export Export CSV, TUM text and a JSON summary
C++ + Python Standard-library implementations with no private dependencies; includes output cross-checks between both implementations

Quick start

C++ preview

Requires a C++17 compiler and CMake 3.16 or later. The default build includes checks, which also require Python 3.10 or later.

git clone https://github.com/Midoor98/RayCon-SLAM.git
cd RayCon-SLAM
bash run_cpp.sh

Outputs are written to a new result/cpp-* directory. To view the version and command-line options:

./build/raycon_slam_preview --version
./build/raycon_slam_preview --help

Python preview

Uses only the Python standard library; no additional packages are required:

bash run.sh
bash run.sh --version

Both entry points accept --input and --output. The specified output directory must not already exist. See Input formats for field definitions and data conventions. For a C++-only build without Python, configure CMake with -DBUILD_TESTING=OFF.

Preview

RayCon-SLAM synthetic data preview

The 121 poses are produced from generated planar motion increments. The time shown is the input sequence duration, not execution time. This preview does not measure localization or reconstruction accuracy.

Generate the example data, run the C++ tool and render the preview:

python3 scripts/make_example.py
bash run_cpp.sh --input data/showcase_odometry.csv --output result/my-preview
python3 -m pip install -r requirements-preview.txt
python3 scripts/render_preview.py --input result/my-preview/trajectory.csv

matplotlib is required only to render previews; normal execution and tests do not depend on it. Choose a new --output directory for each run. See Artwork for the cover provenance and generation prompt.

Roadmap

Target Planned public content Status
September 2026 · v0.1.0 C++ / Python tools, synthetic data, export examples and preview images Available
October 2026 Refine data interfaces, example configurations and companion-tool documentation Planned
November 2026 Prepare the VI-SLAM system trial-run entry point and test examples Planned
December 2026 · v0.2 preview Planned release of VI-SLAM trial-run code, example configurations and launch scripts Tentative

The next version targets VI-SLAM system trial runs, with a tentative public release in December 2026. Final functionality, supported data and setup requirements will be specified in the corresponding GitHub Release.

Build & checks

bash scripts/check.sh

Checks cover Python unit tests, a C++ Release build, output consistency between the two implementations, invalid inputs, protection of existing results and version reporting. The tools have been checked on Ubuntu with GCC. Platform-specific build artifacts are not included in the repository.

cpp/                 C++17 source and small CSV utilities
src/                 Python implementation
data/                Synthetic fixtures only
scripts/             Checks, fixture generation and preview rendering
tests/               Unit tests and C++/Python cross-checks
docs/                Input reference and visual assets
CMakeLists.txt       Standalone C++ build
VERSION              Public preview version

Feedback

Use Issues to report problems with reproduction steps, ask about input formats or suggest improvements to the public tools. Please use synthetic or publicly shareable data when describing an issue.

About

Visual-Inertial SLAM project. v0.1 opens companion tools; system trial-run code is planned for the next release.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages