OmniIsaacGymEnvs : skrl for iiwa reaching task

Hi @toni.sm !

I’m using the skrl you wrote really well.

In particular, I am testing by customizing some based on your iiwa reaching task.

I changed a part of def pre_physics_step of reaching_iiwa_omniverse_isaacgym_env.py as follows and added target orientation.

def pre_physics_step(self, actions) -> None:
...
   robot_dof_pos = self._robots.get_joint_positions(clone=False)
   target_pos, target_rot = self._targets.get_world_poses(clone=False)
   end_effector_pos, end_effector_rot = self._end_effectors.get_world_poses(clone=False)
   ...
   if self._control_space == "cartesian":
         goal_position =  target_pos
         goal_orientation = target_rot
         delta_dof_pos = omniverse_isaacgym_utils.ik(jacobian_end_effector=self.jacobians[:, 7 - 1, :, :7],  # iiwa_link_7 index: 7
                                                     current_position=end_effector_pos,
                                                     current_orientation=end_effector_rot,
                                                     goal_position=goal_position,
                                                     goal_orientation=goal_orientation)
         targets = robot_dof_pos + delta_dof_pos

My questions in this regard are:

1. DLS IK convergence failure
The robot’s end-effector goes near the target, but does not decrease below the error threshold (<0.01).

2. Orientation randomization
As a result of target orientation randomization evaluation, there was almost no convergence. I wondered if it was a joint limit problem with the robot, so I released all joint limits (-540 to 540) and evaluated it, but the results were similar.


Can you share any experiences with these issues?

Thank you in advance !

@toni.sm - Can you please review this question and help the user?

Hi @swimpark

Sorry for the late reply, I had missed this topic in the notification history.

Please, note that target (sphere) and iiwa_link_7 (used to compute IK) don’t have aligned coordinate systems. The robot will try to reach the sphere using the unusual joint configuration shown in your videos.

Regarding to IK convergence, the training is designed to learn how to move the iiwa_link_7 to a distance of at least 3.5 cm from the center of the sphere. Also note that iiwa_link_7 is 4.5 cm displaced in the z-axis of what should be the end-effector, which, being defined in the iiwa14.urdf file with a fixed joint, was merged with iiwa_link_7 under the same prim (because the option to merge fixed joints was activated during import).

Regarding to the orientation randomization, what did you do to release all the joint limits?
This information may help to identify the problem


@rthaker thanks for reminding me of this topic

Hi, @toni.sm !

I fixed the problem by changing the stiffness and damping of the robot.

It successfully worked, but I don’t know why the K and P values of the robot actuator affect the result.

Thank you.