Measuring Physics Forces on Animated Joints in Isaac

Isaac Sim Version

4.2.0
4.1.0
4.0.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: RTX 3070
  • Driver Version: GeForce Game Ready 560.94

Detailed Description

I am working on animating a character and analyzing its physics within Isaac. The character animation was first generated in Machinima using the Pose Tracker, and this animation is now being used in Isaac to animate the character.

My primary objective is to measure the forces acting on different joints of the character during movement. For example, I want to analyze the forces applied to the knee while the character is walking or running. I am using characters available through omni.anim.people or the Biped_Setup Character for this task.

Is there any way of reading physics of such a character?

What I’ve Tried

I have attempted to write a Python script to read the joint forces. However, as far as I know, the OmniJoint used for Skeletons, which is required for animating the character, is not accessible through the Dynamic Control API.

AFAIK animated character movements generated from pose trackers are not physics-driven, so I don’t think joint forces can be made available. To get joint forces you would need to physically rig the character, basically turning it into a robot, this will however break the animation.

1 Like

Thank you for your reply.
I understand the issue you’ve pointed out, but I believe there might be a potential solution. Would it be feasible to create a secondary character that is rigged based on the relative positions of the animated character’s joints in each animation frame? This setup could then be used to extract the forces acting on the joints of the secondary character.
Thanks again for your support.