How to use set_rigid_body_linear_velocity(self, arg0, arg1) from class DynamicControl?

Ok I found the problem, actually the function name is quite misleading for me. Instead of get_rigid_body one should use get_articulation_root_body. Now it works for me:

from omni.isaac.dynamic_control import _dynamic_control
dc = _dynamic_control.acquire_dynamic_control_interface()

art = dc.get_articulation("/robot")
rigid_body = dc.get_articulation_root_body(art)
# print old values
print("Position", dc.get_rigid_body_pose(rigid_body).p)
print("Velocity", dc.get_rigid_body_linear_velocity(rigid_body))
dc.set_rigid_body_linear_velocity(rigid_body, [100, 0, 0])
# print new values
print("Velocity", dc.get_rigid_body_linear_velocity(rigid_body))

1 Like