What is the relationship between UsdPhysics, Dynamic control and PhysicsView

Hi, I have been studying how to set the damping and friction of a joint controller from Python Code. There are at least 3 places which you can set.

  1. From UsdPhysics.DriveAPI.
  2. From DynamicControlInterface.set_dof_properties
  3. From physicsView.set_dof_dampings and physicsView.set_dof_stiffnesses

It seems that the first method updates the UI but not the physics while the second the third method updates the physics but not the UI. Can you please inform me which API to use and maybe an example?

Thanks.

UsdPhysics is the actual physics layer that is stored in the USD asset, and is recommended for authoring scenes.

DynamicControl is a convenience wrapper used in IsaacSim for high level control of the physics behavior on the scene, providing handles that can be used across the simulation, without the need to constantly read/write into the USD, gaining some performance at the cost of data persistency (it won’t write the changes into the USD). This is recommended for updating the values during simulation.

PhysicsView is a component of the IsaacCore Articulation, and is an instance of omni.physics.tensors.SimulationView. While omni.physics.tensor is a library for batch update physics parameters, Isaac Core the base of Isaac Sim and is the recommended library to use in general. Follow the tutorials here to learn how to use it.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.