Repository navigation
feat(mcap): add SOMA body and hand recording, replay, and live preview - #1253
nv-mhaselton wants to merge 2 commits into
Conversation
|
📝 Docs preview is not auto-deployed for fork PRs. A maintainer with write access to |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
8e73110 to
7d5b500
Compare
Extend the existing body and hand commands with SOMA schema selection and support for joint-rotations and joint-poses. Preserve received FlatBuffer payloads in MCAP and render native SOMA skeletons through the existing sources. Share recording, replay, and visualization helpers while preserving legacy defaults and core replay behavior. Keep controllers opt-in for SOMA body workflows. Add round-trip, sparse-data, channel-selection, EOF, and repeatability tests, and document installation and usage. Signed-off-by: Michael Haselton <mhaselton@nvidia.com>
Reject controller collection-name collisions, keep hand-only grids fixed, and propagate recorder startup interrupts. Add focused regression tests. Signed-off-by: Michael Haselton <mhaselton@nvidia.com>
7d5b500 to
075e054
Compare
|
✅ Preview deployed: https://NVIDIA.github.io/IsaacCapture/preview/pr-1253/ Built from commit 075e054. It may take a minute for the updated preview to appear. |
Description
Extend the existing full-body and hand MCAP commands with selectable SOMA inputs for recording, offline replay, and live preview. Preserve the FullBodyPose and OpenXR hand defaults. SOMA body recording includes controllers only when explicitly enabled with
--controllers.joint-rotationsandjoint-posesrepresentations.Core schemas and replay ticking remain unchanged. Left and right hand trackers advance independently, following existing replay behavior. This does not introduce timestamp synchronization, resampling, or body/hand fusion.
Type of change
Testing
Validated live publishing, recording, and offline replay for body and hands in both representations. Repeated replay of each capture produced identical evaluated outputs.
Setup
For a fresh development environment, run from the repository root:
These examples use Viser and do not require the native Televiz build.
Automated checks
Tests cover repeated native MCAP round trips, payload and timestamp preservation, sparse joints, tracked-channel selection, EOF behavior, independent hand playback, and visualization.
Interactive validation
Follow the MCAP example README for complete publisher, live viewer, recorder, and replay commands.
For body joint-rotations:
--body-representation joint-rotations--body-schema soma --soma-body-representation joint-rotationsFor hand joint-rotations:
--hand-representation joint-rotations--hand-schema soma --soma-hand-representation joint-rotationsRepeat both workflows with
joint-posesinstead ofjoint-rotations. Match the representation across all commands and use a separate recording file for each mode. Offline replay does not require a CloudXR runtime or client.Checklist
SKIP=check-copyright-year pre-commit run --all-filesgit commit -s) per the DCOSummary by CodeRabbit