DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
Tools for extracting the HELHEST robot dataset from ROS 2 bags
Developer toolsPython · HTMLGitHub @vlk-janOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Tools for turning HELHEST robot recordings (ROS 2 bags) into a flat, learning-friendly dataset: synchronised camera frames, deskewed lidar clouds in the robot base frame, odometry, gravity alignment, height maps and proprioception, with a validator and a web viewer for the result.
Bags are read with the pure-Python rosbags
library, so no ROS installation is required.
Documentation: https://vlk-jan.github.io/dataset_tools/
| Page | What it covers |
|---|---|
| Installation | the extraction and viewer virtualenvs, the cluster container, the cloudini decoder |
| Tools | every helhest-* command and its options |
| Building a release root | bag list and spec, the Slurm jobs, the same without Slurm |
| Dataset layout | a root's scenes and files, frames, ground truth, clocks, the recordings |
| Viewer | browsing a root locally, on the cluster, or from a web server |
The site is built from docs/ (mkdocs.yml); docs/README.md
lists the other documents kept there.
python3 -m venv .venv && .venv/bin/pip install -e . # extraction; Python >= 3.12
.venv/bin/helhest-extract /path/to/bags /path/to/root --jobs 8 # one scene per bag: 0000/, 0001/, ...
.venv/bin/helhest-validate /path/to/root --csv /path/to/root/validation.csv
uv venv --python 3.12 .venv-viewer && uv pip install --python .venv-viewer -e ".[viewer]"
.venv-viewer/bin/helhest-viewer /path/to/root --open # http://127.0.0.1:8080/
That gives a bare root (clouds, images, poses). A release root also carries the odometry-frame rotation, height maps, keyframe lists and a manifest; see Building a release root.
| Module | Entry point | What it does |
|---|---|---|
dataset_tools/extract/ | helhest-extract | bags -> scene directories |
dataset_tools/odom_frame.py | helhest-odom-frame | rotate the Odin1 odometry onto its clouds' frame (needs the build extra) |
dataset_tools/heightmap.py | helhest-heightmap | height maps and validity masks from a scene's clouds |
dataset_tools/keyframes.py | helhest-keyframes | the root's keyframe lists (all / train / held out) |
dataset_tools/release.py | helhest-release | a release's root-level files from its spec in docs/releases/ |
dataset_tools/validate_scene.py | helhest-validate | check extracted scenes and whole roots |
dataset_tools/viewer/ | helhest-viewer | browse a root in a web browser |
dataset_tools/disk_usage.py | helhest-disk-usage | bytes per scene and modality, for the viewer |
dataset_tools/image_format.py | helhest-image-format | declare or check a root's image format |
dataset_tools/sort_bag.py | helhest-sort-bag | rewrite a bag sorted by header stamp |
slurm/ holds the CTU RCI cluster jobs the releases were
built with, scripts/ the tools that are not part of the
package (the viewer's atlas, clock probes, viewer launchers).
Code comments refer to DRIFT: the downstream training code the roots are
extracted for (a separate repository). It adds its own per-frame products to a
root (proprio_labels/, driven_similarity/); everything else in a root is
this repository's.
No bags are needed; everything runs on synthetic data.
.venv/bin/pip install -e ".[test]"
.venv/bin/python -m pytest tests
.github/workflows/ci.yml runs the lint (black, ruff, pinned), the
extraction tests and the viewer tests; .github/workflows/docs.yml builds and
publishes the documentation site. CONTRIBUTING.md covers the
two virtualenvs and the lint.
BSD-3-Clause, see LICENSE. Copyright (c) VRAS (Vision for Robotics and Autonomous Systems), Czech Technical University in Prague. To cite the software, see CITATION.cff.