Is it possible to check if a future state/joint_configuration is in collision?
How are you planning to set the future target state / joint configuration?
If it’s using the joint state API, that will require a simulation step in order to be applied and may not be acceptable for your use case.
Or are you instead manipulating USD transforms directly to bring the model in the future position?
In the upcoming release you will be able to use some new OmniGraph nodes (Immediate nodes) to query intersection between pairs of meshes with Convex Hull or Triangle Mesh approximation. These nodes do not require simulation stepping.
So this means that you can set your articulation to the target position you want to check for collision, run the ActionGraph with these nodes, list the pairs of meshes you want to check for collision and then check results to see if any of them is actually intersecting.
You can control the ActionGraph from python too if that’s your workflow.
There will be also an helper node called
Compute Geometry Bounds that can figure out automatically the pairs of object to check for detailed / narrow intersection.
Would that work be working for your use case?