Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.
Ubuntu 24.04
☑ Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
Model: NVIDIA RTX A4500
Driver Version: 535.183.06
Topic Description
Cannot Visualize Spatial Tendon in Isaac Sim and Need to Measure Tension in Isaac Lab
Detailed Description
I have implemented a Spatial Tendon on a bipedal robot built in Isaac Sim.
While it appears the tension is being applied, I cannot visualize the tendon itself in the simulation, which makes it impossible to observe its behavior.
I have two main questions:
Is there a way to visualize the Spatial Tendon within the Isaac Sim environment?
Is it possible to measure and record the tension acting on this Spatial Tendon during training in Isaac Lab?
I attempted to use visualization code through the Script Editor but was unsuccessful.
Please let me know if there are any issues with the description itself.
Hi, There is currently no built-in scene level “wire/cable” rendering for PhysX Spatial Tendons in Isaac Sim, and tension must be inferred/recorded through physics properties and sensors rather than a dedicated tendon-force API.
Visualizing the spatial tendon
Isaac Sim’s PhysX tendons are constraint objects (PhysxTendon / PhysxTendonAxisRoot/Leaf/Attachment prims) and do not automatically draw a visible cable along the attachment points in the viewport. To visualize them, you have to create your own debug geometry (lines/spheres) linked to the tendon’s attachment poses:
Author or inspect your tendon in USD (e.g., via Mujoco/MJCFTendon import or PhysxTendon schemas) to get the list of spatialAttachments and their transforms relative to the links.
In a Python extension or Script Editor, on every frame:
Read each attachment’s world pose via the corresponding body/link prim.
Draw a line strip or small capsules/spheres between successive attachment points with DebugDraw or by driving a separate visual prim hierarchy.
Color, thickness, and on/off behavior can be controlled via your own script.
Measuring / recording tendon tension in Isaac Lab
Isaac Lab exposes tendons through the simulation schemas and articulation wrappers, but there is no direct “tendon force sensor” primitive; the usual workflow is to log either: (a) tendon state and reconstruct tension from its spring-damper model, or (b) joint/link forces affected by the tendon.
Typical options:
Use tendon properties + length error
From USD / sim schemas, obtain: stiffness, damping, rest length, and length offset for each spatial tendon (PhysxTendonAxisRootAPI / spatial tendon schema).
At runtime, compute current tendon length from the attachment point world positions, and then estimate tension with your model
Use articulation joint force sensors as a proxy
Isaac Sim provides Articulation Joint Sensors that report active and passive joint forces, including contributions from tendons and other constraints.
In Isaac Lab, you can read joint forces/torques from the articulation interface during each simulation step and log them as observations or extras in the RL loop.
By knowing which joints are involved in a given tendon, you can map those joint forces back to approximate tendon tension (possibly with a small calibration experiment).
Access tendons via Isaac Lab articulation utilities
Isaac Lab articulations expose helpers like find_spatial_tendons to get tendon indices by name, which you can then use with lower-level sim APIs to read or update tendon properties during training (e.g., rest length modulation for control).
Use these indices to structure your logging buffers (e.g., one scalar tension estimate per tendon per environment) and write them to disk or to your RL logger in the same way you log joint torques or contact forces.