in ml3/envs/bullet_sim.py [0:0]
def inverse_dynamics(self, des_acc):
for link_idx in self.controlled_joints:
self.sim.changeDynamics(self.robot_id, link_idx, linearDamping=0.0, angularDamping=0.0, jointDamping=0.0)
cur_joint_states = self.sim.getJointStates(self.robot_id, self.controlled_joints)
cur_joint_angles = [cur_joint_states[i][0] for i in range(self.n_dofs)]
cur_joint_vel = [cur_joint_states[i][1] for i in range(self.n_dofs)]
torques = self.sim.calculateInverseDynamics(self.robot_id,
cur_joint_angles,
cur_joint_vel,
des_acc)
return np.asarray(torques)