AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
kornia-slam:使用 Rust 的視覺慣性 SLAM,建構於 kornia-rs。追蹤相機、立體對或立體 + IMU,並繪製其周圍空間,可獨立執行或作為 Copper 任務。
AI 翻譯
kornia-slam: visual-inertial SLAM in Rust, built on kornia-rs. Tracks a camera, stereo pair or stereo + IMU and maps the space around it, standalone or as Copper tasks.
開發工具Rust · ShellGitHub @kornia上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證即時視覺慣性 SLAM,使用 Rust 語言,建構於 kornia-rs。
AI 翻譯
Real-time visual-inertial SLAM in Rust, built on kornia-rs.
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Real-time visual-inertial SLAM in Rust, built on kornia-rs.
v0.1 — early release. The API will change between minor versions.
EuRoC MH_01_easy
EuRoC V1_01_easy
Stereo + IMU at 2× speed. Each shows the map and trajectory, the left camera with its ORB
keypoints, and a follow view.
• Monocular, stereo, and visual-inertial ORB SLAM
• Local bundle adjustment, including visual-inertial BA
• Place recognition (DBoW2) and loop closure with pose-graph optimization
• Sources: EuRoC, Hilti, MCAP, OAK-D, UVC webcams
• Terminal UI, Rerun streaming, ATE/RPE evaluation
See ROADMAP.md for what's next.檢視完整 README ↗Real-time visual-inertial SLAM in Rust, built on kornia-rs.
v0.1 — early release. The API will change between minor versions.
Stereo + IMU at 2× speed. Each shows the map and trajectory, the left camera with its ORB keypoints, and a follow view.
See ROADMAP.md for what's next.
Linux x86_64 and aarch64 builds need glibc 2.35+ (Ubuntu 22.04+, Jetson JetPack 6):
TARGET=x86_64-unknown-linux-gnu # or aarch64-unknown-linux-gnu
NAME=kornia-slam-v0.1.0-$TARGET
curl -L --remote-name-all https://github.com/kornia/kornia-slam/releases/download/v0.1.0/$NAME.tar.gz{,.sha256}
sha256sum -c $NAME.tar.gz.sha256
tar -xzf $NAME.tar.gz
# stereo + IMU on an EuRoC sequence, with evaluation against ground truth
./$NAME/kornia-slam euroc --data /path/to/MH_01_easy --stereo --imu --evaluate
The archive holds the binary, README.md, CHANGELOG.md and LICENSE.
The v0.1.0 binary predates run files: it takes a source subcommand and flags
(kornia-slam --help, kornia-slam euroc --help) rather than the --config
run files described below. Global options go before the subcommand, e.g. loop
closing with the vocabulary from Quick start:
kornia-slam --vocab /path/to/ORBvoc.txt --apply-pgo euroc ….
It is built with the default features: Rerun streaming (--rerun-stream, which
needs the rerun 0.29.2 viewer on PATH, e.g. pip install rerun-sdk==0.29.2)
is in, live OAK-D and UVC cameras are not. Build from source with
--features oakd or --features uvc for those; OAK-D has extra prerequisites,
see apps/kornia-slam-app.
The app needs Rust 1.91+ (the libraries 1.89+). Build and run with Cargo as in Quick start, or with Pixi, which provides the toolchain:
pixi run rust-run -- --config configs/euroc.ron
pixi run rust-lint
pixi run rust-test
Download a EuRoC
sequence (ASL format) to data/euroc/MH_01_easy, or edit the data path in
the run file, then:
# monocular
cargo run --release -p kornia-slam-app -- --config configs/euroc.ron
# stereo + IMU with loop closing, with evaluation against ground truth
cargo run --release -p kornia-slam-app -- --config configs/euroc-stereo-imu-loop.ron --evaluate
Loop closing needs ORB-SLAM3's vocabulary: extract Vocabulary/ORBvoc.txt.tar.gz
from ORB-SLAM3 to weights/ORBvoc.txt.
A run file names the source and the system to run on it; see apps/kornia-slam-app.
More sources and options: apps/kornia-slam-app.
A system configuration and the source's calibrated rig build a SlamSystem,
which then takes IMU samples and images as they arrive and returns poses. Feature extraction,
stereo matching and frame history are the system's; sources supply
synchronized, calibrated (and, for stereo, rectified) images.
use kornia_slam::{CameraSelection, SensorSelection, SlamSystem, SystemConfig};
let config = SystemConfig {
sensors: SensorSelection { cameras: CameraSelection::Stereo, imu: true },
..SystemConfig::default()
};
let mut system = SlamSystem::build(config, rig)?; // rig: kornia_slam::SensorRig
for (idx, frame) in frames.enumerate() {
system.process_imu(&frame.imu);
let result = system.process_stereo(frame.timestamp_sec, &frame.left, &frame.right)?;
println!("{idx}: {:?} {:?}", result.status, result.pose_world_to_cam);
}
With the serde feature, SystemConfig::from_ron_file reads the same settings
from a RON file, the system section of a run file.
With Pixi, which sets up the toolchain for you:
pixi run rust-lint # fmt + clippy + check
pixi run rust-test # workspace tests
pixi shell # drop into the environment
Or with a Rust toolchain (1.91+; the library crates alone need 1.89) installed yourself:
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --workspace
Kornia-SLAM: An End-to-End Visual-Inertial SLAM System in Rust
Christie J. Purackal, Edgar Riba, Astik Srivastava.
Rust for Robotics workshop at IROS 2026 (preprint).
Paper (PDF) · Poster (PDF)
The paper's EuRoC results come from the August 2026 code, before v0.1.0. To cite kornia-slam, use GitHub's "Cite this repository" button, which reads CITATION.cff.
Apache-2.0