Proposal: single-environment OVRTX LiDAR adapter through the shared renderer lifecycle #7094
StriverAlex
started this conversation in
Ideas
Replies: 1 comment
|
Thank you for posting this. I'll move it to our issues so we can address this as a proper feature request proposal. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Proposal
I have a working proof of concept for exposing OVRTX 0.4 PointCloud LiDAR products as an IsaacLab
sensor in the kitless
isaaclab_ovstack.The proposed design adds a narrow renderer transaction/registration seam and an
OVRTXLiDARCfg/OVRTXLiDARData/OVRTXLiDARadapter. Camera and LiDAR products share the samesimulation-scoped OVStage and OVRTX renderer. The sensor owns only its product specification and
handle; it does not create a second stage or renderer. PointCloud outputs remain on CUDA and retain
valid counts, flags, coordinates, intensity, time offset, emitter, channel, tick, and echo fields.
Because OVRTX 0.4
EchoIdreadback was not reliable in the proof, the initial adapter explicitlyrequires
maxReturns=1instead of claiming multi-return support.LiDAR profile authoring remains explicit and asset-owned. IsaacLab core would not contain Livox or
other vendor scan tables, and the adapter would not fall back to Newton or another backend when
OVRTX is unavailable.
Motivation
IsaacLab's current OVRTX integration exposes camera rendering, while OVRTX itself also provides a
generic LiDAR schema and CUDA PointCloud output. Users who need intensity, timing, emitter/channel
metadata, material response, or OVRTX motion compensation currently have no IsaacLab sensor
lifecycle for that product.
Earlier IsaacLab RTX LiDAR work in PR #802 and
PR #1372 targeted the Isaac Sim/Replicator stack;
issue #865 and
Discussion #291 record the related request
history. This proposal instead targets the kitless
isaaclab_ovrenderer and shares its existingscene sync and renderer ownership.
Proven boundary
The proof branch has passed its single-environment correctness and integration gates:
maxReturns=1validation for the current OVRTX 0.4EchoIdlimitation;There is one intentional hard boundary. In paired low-level probes on OVRTX
0.4.0.346409,non-tiled PointCloud products did not trace scene-partitioned geometry. With only partitioned
geometry both products returned zero points; with an unpartitioned control object they hit only that
control geometry. The adapter therefore rejects
num_envs != 1before opening the renderer scene.It does not disable partitioning, post-filter points, or allocate one renderer per environment.
The initial contribution would be documented as a generic single-environment OVRTX LiDAR. It would
not claim batched support, strict Livox scan equivalence, or calibrated real-device noise.
Proposed pull-request split
read order;
OmniLidarprofiles;isaaclab_ovchangelog coverage.The second pull request would depend on the first. Vendor scan profiles and application-specific
robot mounts would remain outside IsaacLab.
Questions for maintainers
boundary, or should the contribution wait for a public PointCloud geometry-isolation contract?
main, butsource/isaaclab_ovexists ondevelopand noton the audited
main. Should these PRs targetdevelop?even though Add RTX Lidar sensor #865 and its successor PRs concerned the Isaac Sim RTX path?
work should track?
Build info
3.0.0135cf98904cbd73f3b8bdd89188e1a463ebcbb97upstream/develop:45ca595b11c271f1f202d00f66099480e8f77e320.4.0.346409(ovrtx>=0.4.0,<0.5.0)0.1.0.346039Acceptance criteria proposed for the initial contribution
maxReturns != 1fails explicitly until OVRTX provides reliable echo identity readback.All reactions