Gain Tuning Guide for Proper joint movement | Position control movement

I am trying to move a robot arm (Husky with a mounted UR attached with a Robotiq Gripper) and the gains are not properly tuned



so the robot arm is showing a weird behaviour as shown in the video.

The gains are

stiffness kp = 5.729578e+11*np.array([1000,1000,1000,1000,1000,1000,0.001,0.001,0.001,0.001,0,0,0,0,0.001,0.001])

and

damp kd = np.array([5729578,5729578,5729578,5729578,5729578,5729578,5729578,5729578,5729578,5729578, 5729578.,5729578.,5729578.,5729578., 5729578,5729578])

and the dof index for the joints are shown in the pictures gain_1 and gain_2.

How should I learn the proper tuning values ? Is there any guide ?

Please look into this. I will be grateful.

Thanks and regards,
Tribikram.

1 Like

Hi @tribikram - Have you looked at these documents?

https://docs.omniverse.nvidia.com/isaacsim/latest/advanced_tutorials/tutorial_advanced_adding_new_manipulator.html#gains-tuning

https://docs.omniverse.nvidia.com/isaacsim/latest/features/robots_simulation/ext_omni_isaac_gain_tuner.html#isaac-gain-tuner

Hi @rthaker,
I am looking into this 5.6. Adding a New Manipulator — Omniverse IsaacSim latest documentation and is there any way I can manually set the target joint positions instead of randomizing them ?

Because I am getting this PhysX error in the Isaac Sim console.

2023-11-24 06:14:55 [Error] [omni.physx.plugin] PhysX error: PxArticulationJointReducedCoordinate::setDriveTarget() only supports target angle in range [-2Pi, 2Pi] for joints of type PxArticulationJointType::eREVOLUTE, FILE /buildAgent/work/74336105e89c4a74/source/physx/src/NpArticulationJointReducedCoordinate.cpp, LINE 300

For revolute joints it should take values within [-2Pi, +2Pi] but due to randomization it might be taking values out of range.
Lets say if I want to test move my arm joints only and not the other joints. Can I do that ?

Thanks and regards,
Tribikram.