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])


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,

1 Like

Hi @tribikram - Have you looked at these documents?

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,