I am a beginner to Isaac Sim, and I am trying to control my custom robot’s joints in Isaac Sim.
I noticed that there are two ways to do it:
- Using the UsdPhysics.
left_wheel_drive = UsdPhysics.DriveAPI.Get(stage.GetPrimAtPath(“/carter/chassis_link/left_wheel”), “angular”)
- Using Dynamic Control.
articulation = dc.get_articulation(“/carter”)
dof_ptr = dc.find_articulation_dof(articulation, “left_wheel”)
May I know the differences between these two methods (advantages or disadvantages)?
And, which one is more appropriate to deploy (for a custom robot)?
The following is an attempt to provide, to the best of my knowledge (and subjectivity), some information to your questions.
||Isaac Sim Core
|Omniverse applications availability
||only Isaac Sim
||only Isaac Sim
||stage and prims (USD schemas)
||articulations and rigid bodies
||creating and manipulating objects, robots (articulations), tasks, and environments, among others. It also provides a set of simulations-related tools and utilities
|API programming language
||C/C++ (not accessible), Python
If asked which is the most appropriate for deploying robotics applications, I would say Isaac Sim Core
For example, OmniIsaacGymEnvs, Isaac Orbit, and most of the standalone examples and extension examples in Isaac Sim rely on or use Isaac Sim Core :)
Wow, thank you so much! The answer is so perfect!
But, does the Isaac Sim Core provides APIs that can control a specific joint as USD and dynamic control do?
Because to my understanding, only USD and Dynamic control can to that.
There is a class for controlling specific joints: ArticulationSubset:
A utility class for viewing a subset of the joints in a robot Articulation object.
This class can be helpful in two ways:
- The order of joints returned by a robot Articulation may not match the order of joints expected by a function.
A function may only care about a subset of the joint states that are returned by a robot Articulation.
Also, you can control specific joints by defining the
joint_indices parameter in many Articulation methods and in the ArticulationAction class
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.