You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug Report] Newton FrameView fails for frames under an articulation root Xform (e.g. a camera at the robot prim) #8211
On Newton, NewtonSiteFrameView attaches a frame to its nearest ancestor that has RigidBodyAPIor ArticulationRootAPI (isaaclab_newton/sim/views/newton_site_frame_view.py, _resolve_source_prim). Many
official assets (Franka, UR10, Spot, Allegro, Shadow, Cartpole) put ArticulationRootAPI on the root Xform. That
Xform is not a Newton body, so any frame below it that is not also below a rigid body fails to resolve:
ValueError: FrameView '/World/envs/env_[^/]+/Robot/camera' body pattern '/World/envs/env_0/Robot' matched no Newton bodies.
Camera hits this directly. When prim_path is an ArticulationRootAPI prim, it spawns the camera at <prim_path>/camera. The same happens for any camera or frame spawned at a new child of the robot prim. On
PhysX the same camera works, because the Fabric view reads the simulated transforms, and the OVPhysX view also
walks to the nearest RigidBodyAPI ancestor. The camera stays at the root Xform's pose, because that Xform is not
simulated.
Steps to reproduce
robot=SPOT_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot") # or FRANKA_PANDA_CFGcamera=CameraCfg(
prim_path="{ENV_REGEX_NS}/Robot",
spawn=sim_utils.PinholeCameraCfg(),
width=64,
height=64,
data_types=["distance_to_camera"],
)
# InteractiveScene(num_envs=2) with SimulationCfg(physics=NewtonCfg(solver_cfg=MJWarpSolverCfg())), then sim.reset()
PhysX: the camera is created at Robot/camera. pos_w stays at the root Xform (+offset) while the root body moves.
Newton (RTX or Newton Warp renderer): sim.reset() raises the error above from Camera._initialize_impl.
{ENV_REGEX_NS}/Robot/cam_mount (a new non-body child) fails the same way. {ENV_REGEX_NS}/Robot/body/cam works
on both backends.
System Info
Commit: develop 3791c0f; also on release/3.0.0 (4d6241e)
Isaac Sim Version: 6.1.0-rc.26
Newton 1.6.0
OS: Ubuntu 24.04
GPU: RTX PRO 5000 Blackwell, driver 580.126.20
Additional context
This was introduced with the clone-plan-based Newton frame resolution (#5743). The same predicate is in the Camera redirect, where it is needed, because the root prim itself cannot be the camera. In the ancestor walk it
is wrong, because ArticulationRootAPI does not make a prim a simulated body.
Checklist
I have checked that there is no similar issue in the repo (required)
I have checked that the issue is not in running Isaac Sim itself and is related to the repo
Acceptance Criteria
On Newton, a frame below a non-body ArticulationRootAPI prim and outside every rigid body resolves as a static per-environment frame, as on PhysX.
Activity
Keep Newton frames below a non-body articulation root static (#8212)
Keep Newton frames below a non-body articulation root static (isaac-s…