Skip to content

Commit e14d471

Browse files
[clean] Correct release documentation (#66)
Align release guidance with the artifacts users can actually install and expose the current map APIs in generated docs.
1 parent efd72a3 commit e14d471

8 files changed

Lines changed: 68 additions & 35 deletions

File tree

README.md

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
![Demo](examples/assets/tutorial_multicamera_edex.gif)
44

55

6-
### [ArXiv paper](https://www.arxiv.org/abs/2506.04359) | [Python API](https://nvidia-isaac.github.io/cuVSLAM/python/) | [C++ API](https://nvidia-isaac.github.io/cuVSLAM/cpp/) | [ROS2](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam)
6+
### [Latest release](https://github.com/nvidia-isaac/cuVSLAM/releases/latest) | [ArXiv paper](https://www.arxiv.org/abs/2506.04359) | [Python API](https://nvidia-isaac.github.io/cuVSLAM/python/) | [C++ API](https://nvidia-isaac.github.io/cuVSLAM/cpp/) | [ROS2](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam)
77

88
## Overview
99

@@ -73,6 +73,9 @@ To use cuVSLAM in a ROS2 environment:
7373
- [cuVSLAM Technical Report](https://www.arxiv.org/abs/2506.04359)
7474
- [PyCuVSLAM API Documentation](https://nvidia-isaac.github.io/cuVSLAM/python/)
7575
- [cuVSLAM C++ API Documentation](https://nvidia-isaac.github.io/cuVSLAM/cpp/)
76+
- Version-matched offline API documentation is available as `cuvslam-docs-<version>.tar.gz` on the
77+
[latest release](https://github.com/nvidia-isaac/cuVSLAM/releases/latest). Extract it and open
78+
`python/index.html` or `cpp/index.html`.
7679

7780
# Performance
7881

@@ -107,19 +110,27 @@ PyCuVSLAM is the Python wrapper (bindings) for the cuVSLAM library.
107110
Pre-built wheels are available on the [cuVSLAM releases page](https://github.com/nvidia-isaac/cuVSLAM/releases)
108111
for the following configurations:
109112

110-
| Ubuntu | Python | CUDA | Architectures |
111-
|--------|--------|------|---------------|
112-
| 22.04 | 3.10 | 12, 13 | x86_64, aarch64 |
113-
| 24.04+ | 3.12+ | 12, 13 | x86_64, aarch64 |
113+
| Target | Ubuntu | Python wheel tag | CUDA wheel tag | Architecture |
114+
|--------|--------|------------------|----------------|--------------|
115+
| Desktop/server | 22.04 | `cp310` (Python 3.10) | `cu12`, `cu13` | x86_64 |
116+
| Desktop/server | 24.04 | `cp312-abi3` (Python 3.12+) | `cu12`, `cu13` | x86_64 |
117+
| Jetson Orin | 22.04 (JetPack 6.x) | `cp310` (Python 3.10) | `cu12` | aarch64 |
118+
| Jetson Thor | 24.04 (JetPack 7.x) | `cp312-abi3` (Python 3.12+) | `cu13` | aarch64 |
114119

115-
**Prerequisite**: [CUDA Toolkit 12 or 13](https://developer.nvidia.com/cuda/toolkit) must be installed separately (not included in the wheels).
120+
Only the combinations listed above are provided as pre-built wheels. The `cp312-abi3` wheels use Python's stable ABI
121+
and are compatible with Python 3.12 and later. Other Python, CUDA, or Jetson combinations require an
122+
[installation from source](#install-from-source).
123+
124+
**Prerequisite**: [CUDA Toolkit 12 or 13](https://developer.nvidia.com/cuda/toolkit) must be installed separately
125+
(not included in the wheels). Its major version must match the wheel's `cu12` or `cu13` tag.
116126

117127
Official wheels include cuNLS support for `Multisensor` mode; no separate cuNLS installation is required.
118128

119129
To install (virtual environment is recommended):
120130

121-
1. Go to the [releases page](https://github.com/nvidia-isaac/cuVSLAM/releases).
122-
2. Download the wheel matching your CUDA version (`cu12` or `cu13`), Python version, and platform (`x86_64` or `aarch64`).
131+
1. Go to the [latest release](https://github.com/nvidia-isaac/cuVSLAM/releases/latest).
132+
2. Download the wheel matching the table above. On Jetson, also match the device family: Orin uses `cu12`/`cp310`;
133+
Thor uses `cu13`/`cp312-abi3`.
123134
3. Install with pip:
124135

125136
```bash
@@ -144,8 +155,18 @@ CUVSLAM_BUILD_DIR=<path-to-cuvslam-build> pip install python/
144155

145156
## Pre-built Libraries
146157

147-
Pre-built C++ libraries are available on the [releases page](https://github.com/nvidia-isaac/cuVSLAM/releases)
148-
for Ubuntu 22.04/24.04 on x86_64 and Jetson(aarch64) with CUDA 12 and CUDA 13.
158+
Pre-built C++ SDK archives are available on the
159+
[latest release](https://github.com/nvidia-isaac/cuVSLAM/releases/latest):
160+
161+
| Target | Ubuntu | CUDA | Archive slug |
162+
|--------|--------|------|--------------|
163+
| Desktop/server | 22.04 or 24.04 | 12.6.3 or 13.2.0 | `x86_64-cuda<version>-ubuntu<version>` |
164+
| Jetson Orin | 22.04 (JetPack 6.x) | 12.6.3 | `orin-cuda12.6.3-ubuntu22.04` |
165+
| Jetson Thor | 24.04 (JetPack 7.x) | 13.0.1 | `thor-cuda13.0.1-ubuntu24.04` |
166+
167+
The desktop/server row represents four archives covering both Ubuntu versions with both listed CUDA versions. Select
168+
the archive matching your target, Ubuntu version, and CUDA version. Each archive contains `bin/libcuvslam.so`,
169+
`bin/cuvslam_api_launcher`, and the public headers under `include/cuvslam/`.
149170

150171
For Python usage, [pre-built wheels](#install-from-wheels) are the recommended approach.
151172

@@ -266,8 +287,9 @@ RERUN=1 ctest --output-on-failure
266287
267288
**Q**: What Python versions are supported by PyCuVSLAM?
268289
269-
**A**: Pre-built wheels are available for Python 3.10 (Ubuntu 22.04) and Python 3.12 or later (Ubuntu 24.04+).
270-
When built from source, PyCuVSLAM supports Python 3.9 and later.
290+
**A**: Pre-built wheels use `cp310` for Python 3.10 on Ubuntu 22.04 and `cp312-abi3` for Python 3.12 or later on
291+
Ubuntu 24.04. Jetson wheels are limited to Orin with `cu12`/`cp310` and Thor with `cu13`/`cp312-abi3`; see the
292+
[wheel table](#install-from-wheels). When built from source, PyCuVSLAM supports Python 3.9 and later.
271293
272294
273295
# Troubleshooting

TROUBLESHOOTING.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
## Overview
44

55
This document describes how to troubleshoot cuVSLAM when the system is installed and runs successfully but the computed
6-
pose is not sufficiently accurate. For installation or build issues, see the relevant sections of the documentation.
6+
pose is not sufficiently accurate. For installation or build issues, see
7+
[Install PyCuVSLAM](README.md#install-pycuvslam) and [Build cuVSLAM](README.md#build-cuvslam).
78

89
![Troubleshooting](doc/images/troubleshooting.png)
910

@@ -88,7 +89,7 @@ cuvslam::Odometry::Config::debug_dump_directory
8889
**Python API**
8990

9091
```python
91-
Odometry.Config.debug_dump_directory
92+
cuvslam.core.Odometry.Config.debug_dump_directory
9293
```
9394

9495
See [Python API Reference](https://nvidia-isaac.github.io/cuVSLAM/python/api.html#cuvslam.core.Odometry.Config.debug_dump_directory).
@@ -360,7 +361,7 @@ cuvslam::Odometry::Config::rectified_stereo_camera
360361
**Python API**
361362

362363
```python
363-
cuvslam.Odometry.Config.rectified_stereo_camera
364+
cuvslam.core.Odometry.Config.rectified_stereo_camera
364365
```
365366

366367
See [Python API Reference](https://nvidia-isaac.github.io/cuVSLAM/python/api.html#cuvslam.core.Odometry.Config.rectified_stereo_camera).
@@ -431,7 +432,7 @@ cuvslam::Odometry::Config::use_denoising
431432
**Python API**
432433

433434
```python
434-
Odometry.Config.use_denoising
435+
cuvslam.core.Odometry.Config.use_denoising
435436
```
436437

437438
See [Python API Reference](https://nvidia-isaac.github.io/cuVSLAM/python/api.html#cuvslam.core.Odometry.Config.use_denoising).
@@ -452,12 +453,12 @@ Mono → RGBD → Stereo Inertial → Stereo → Multicamera; Multisensor depend
452453

453454
Multisensor (see [examples/multisensor/](examples/multisensor/README.md)) does not slot at a fixed
454455
position — its accuracy scales with the sensor set it is given. It requires at least one RGB-D
455-
camera or one overlapping camera pair and currently supports pinhole cameras only. A single
456-
RGB-D + IMU rig is roughly RGBD-class. A multi-stereo + RGB-D + IMU rig may approach or exceed
457-
Multicamera under favorable conditions, but this is an empirical expectation rather than a
458-
guarantee; benchmark the actual rig and environment. Use Multisensor when you have a
459-
mixed-camera-type rig or want IMU fusion on a non-stereo configuration; otherwise prefer the mode
460-
that exactly matches your rig.
456+
camera or one overlapping camera pair, a cuNLS-enabled build, and currently supports pinhole cameras only. Official
457+
release wheels include cuNLS. Multisensor is experimental and may be inaccurate or fail for some sensor configurations
458+
and scenes. A single RGB-D + IMU rig is roughly RGBD-class. A multi-stereo + RGB-D + IMU rig may approach or exceed
459+
Multicamera under favorable conditions, but this is an empirical expectation rather than a guarantee; benchmark the
460+
actual rig and environment. Use Multisensor when you have a mixed-camera-type rig or want IMU fusion on a non-stereo
461+
configuration; otherwise prefer the mode that exactly matches your rig.
461462

462463
### Adjust motion prediction
463464

@@ -476,7 +477,7 @@ cuvslam::Odometry::Config::use_motion_model
476477
**Python API**
477478

478479
```python
479-
Odometry.Config.use_motion_model
480+
cuvslam.core.Odometry.Config.use_motion_model
480481
```
481482

482483
See [Python API Reference](https://nvidia-isaac.github.io/cuVSLAM/python/api.html#cuvslam.core.Odometry.Config.use_motion_model).

cuvslam-skills/cuvslam-onboard/SKILL.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,17 @@ Once the user provides a path, use it consistently throughout all subsequent com
4848

4949
## 2. Install PyCuVSLAM (Quickest Path)
5050

51-
Pre-built wheels from https://github.com/nvidia-isaac/cuVSLAM/releases:
51+
Pre-built wheels from https://github.com/nvidia-isaac/cuVSLAM/releases/latest:
5252

53-
| Ubuntu | Python | CUDA | Arch |
54-
|--------|--------|------|------|
55-
| 22.04 | 3.10 | 12, 13 | x86_64, aarch64 |
56-
| 24.04+ | 3.12+ | 12, 13 | x86_64, aarch64 |
53+
| Target | Ubuntu | Python wheel tag | CUDA wheel tag | Arch |
54+
|--------|--------|------------------|----------------|------|
55+
| Desktop/server | 22.04 | `cp310` (Python 3.10) | `cu12`, `cu13` | x86_64 |
56+
| Desktop/server | 24.04 | `cp312-abi3` (Python 3.12+) | `cu12`, `cu13` | x86_64 |
57+
| Jetson Orin | 22.04 (JetPack 6.x) | `cp310` (Python 3.10) | `cu12` | aarch64 |
58+
| Jetson Thor | 24.04 (JetPack 7.x) | `cp312-abi3` (Python 3.12+) | `cu13` | aarch64 |
59+
60+
Only these combinations are provided. The installed CUDA major must match the wheel's `cu12` or `cu13` tag; use a
61+
source build for other combinations.
5762

5863
```bash
5964
python3 -m venv .venv && source .venv/bin/activate

cuvslam-skills/cuvslam-troubleshoot/SKILL.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ cmake -S . -B build && cmake --build build --parallel $(nproc)
4040
```
4141

4242
### PyCuVSLAM install
43-
Pre-built wheels: https://github.com/nvidia-isaac/cuVSLAM/releases
43+
Pre-built wheels: https://github.com/nvidia-isaac/cuVSLAM/releases/latest
44+
45+
- x86_64: Ubuntu 22.04 / Python 3.10 has `cu12` and `cu13`; Ubuntu 24.04 / Python 3.12+ has `cu12` and `cu13`.
46+
- Jetson Orin: Ubuntu 22.04 / Python 3.10 / `cu12` only.
47+
- Jetson Thor: Ubuntu 24.04 / Python 3.12+ / `cu13` only.
4448

4549
From source (after building C++ lib):
4650
```bash
@@ -51,7 +55,7 @@ CUVSLAM_BUILD_DIR=<path-to-build> pip install python/
5155
- **Missing CUDA**: Set `CUDAToolkit_ROOT=/usr/local/cuda` or install CUDA Toolkit
5256
- **git-lfs not installed**: `apt install git-lfs && git lfs pull` (binary test data)
5357
- **CMake too old**: Need 3.19+
54-
- **Wheel ABI mismatch**: Match Python version (3.10 for Ubuntu 22.04, 3.12+ for 24.04)
58+
- **Wheel ABI mismatch**: Match the Python tag, CUDA major, architecture, and Jetson family using the matrix above.
5559

5660
## Tracking Issues
5761

examples/multisensor/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ RGB-D cameras (`lcam_front`, `lcam_back`) plus a synthetic IMU from the
1010

1111
## Requirements
1212

13-
- Use an official wheel or build with `USE_CUNLS=ON`.
13+
- Use an official release wheel, which includes cuNLS, or build from source with `USE_CUNLS=ON`.
1414
- Configure at least one RGB-D camera in `depth_camera_ids`, or provide at least one camera pair with overlapping
1515
frustums. A single RGB-D camera is valid, with or without an IMU.
1616
- Use pinhole cameras. Other camera models are not supported by the current solver.

examples/realsense/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,5 +121,6 @@ For a stereo + IMU multisensor smoke test using the same IR streams as the stere
121121
python3 run_vio.py
122122
```
123123

124-
> **Note:** Multisensor mode requires a cuNLS-enabled PyCuVSLAM build. The default source build enables cuNLS; if
125-
> cuVSLAM was configured with `-DUSE_CUNLS=OFF`, these multisensor examples are unavailable.
124+
> **Note:** Multisensor mode requires a cuNLS-enabled PyCuVSLAM build. Official release wheels include cuNLS, and the
125+
> default source build enables it. If cuVSLAM was configured with `-DUSE_CUNLS=OFF`, these multisensor examples are
126+
> unavailable.

python/docs/api.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Tracker class
6565
.. autoclass:: Tracker
6666
:members:
6767
:undoc-members:
68-
:exclude-members: save_map, localize_in_map, OdometryMode, MulticameraMode
68+
:exclude-members: OdometryMode, MulticameraMode
6969

7070
Functions
7171
---------

python/docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Welcome to PyCuVSLAM API documentation!
22
=======================================
33

4-
PyCuVSLAM is a Python bindings for the cuVSLAM (CUDA-accelerated Visual SLAM) library.
4+
PyCuVSLAM provides Python bindings for the cuVSLAM (CUDA-accelerated Visual SLAM) library.
55

66
.. toctree::
77
:maxdepth: 2

0 commit comments

Comments
 (0)