Visualization of Datasets
You can visualize a given episode of a LeRobot dataset using the opentau-dataset-viz command.
The following example shows how to visualize the first episode (index 0) of the lerobot/droid_100 dataset:
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0
When the dataset is already available in a local directory, --repo-id is optional and you can point directly to it with --root:
opentau-dataset-viz --root ~/.cache/huggingface/lerobot/lerobot/droid_100 --episode-index 0
This command will open a rerun window displaying the selected episode, allowing you to explore the episode interactively.
Camera Logging Mode
For datasets that include camera streams stored as MP4 files, opentau-dataset-viz supports different camera logging modes:
frames: logs decoded frames withrr.Image.asset_video: logs source MP4 files withrr.AssetVideoand synchronizes playback usingrr.VideoFrameReference.auto(default): same behavior asasset_videowith graceful fallback toframeswhen MP4 assets or required Rerun APIs are unavailable.
If your episodes contain one or more videos and the generated .rrd files are large, prefer asset_video (or auto) to take advantage of video compression.
# Prefer MP4 assets (smaller .rrd when videos are available)
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --camera-log-mode asset_video
# Always log decoded frames (existing behavior)
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --camera-log-mode frames
To compare storage size, save both outputs and compare the resulting files:
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --save 1 --output-dir ./rrd_frames --camera-log-mode frames
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --save 1 --output-dir ./rrd_asset --camera-log-mode asset_video
OpenTau also supports visualizing a dataset with URDF models. To do this, you need to first install opentau with optional URDF support:
pip install "opentau[urdf]"
or, if you are installing with uv from source:
git clone https://github.com/TensorAuto/OpenTau.git
cd OpenTau
uv sync --extra urdf
source .venv/bin/activate
Then, you can visualize an episode with URDF models using the following command:
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --urdf </path/to/your/model.urdf>
If your URDF model comes with its own package of meshes, you can specify the package path using the --urdf-package-dir argument:
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --urdf </path/to/your/model.urdf> --urdf-package-dir </root/of/your/urdf/package>
If no --urdf-package-dir is passed, the environment variable ROS_PACKAGE_PATH will be used to locate packages:
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:</root/of/your/urdf/package>
opentau-dataset-viz --repo-id lerobot/droid_100 --episode-index 0 --urdf </path/to/your/model.urdf>