Dynamic Control Questions

Question1

The page here:

https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.dynamic_control/docs/index.html

Contains this line in the example:

dof_state = dc.get_dof_state(dof_ptr)

However the API listing below shows the API as taking (int, int).

I had to add a “0” argument to make things work, so it looks like the example is wrong. But what is this second argument supposed to represent?

Question 2

When using set_def_position on my simple 1-joint robot, I can get my joint to move. However with set_dof_position_target it does not move. What is needed for this to work? A drive? Or … ?

Thanks!

Hi @dan.sandberg

According to code and release notes (see omni.isaac.dynamic_control/docs/CHANGELOG.md file, section [0.1.6] - 2021-08-04), the second argument is a State Flags.

As far as I know, yes… the joint needs a Joint Driver.


Btw, Have you tried the Isaac Sim Core Articulation API?
It provides a provide high-level functionalities to manipulate articulation using Python… and it is more documented :)

Thanks Toni! I’ve played around a bit with the articulation API but will give it another look.