Hi Guru
Here are my answers to your questions:
Q: What are the optimal settings for the inertia and damping parameters. Could someone provide some combinations that work well with the robot? I’ve been playing with these settings and can get the inertia parameters for translation to work like I would like them too, but for the rotational DOFs they are either too stiff or jumpy.
A: I can’t give you the perfect combination. Normally the default parameters work fine, but not in the case of your robot apparently. Here are some debugging steps before trying to change the inertia and damping parameters:
1) Insure your torque sensors are well calibrated. To do so, follow the ‘Zero torque’ calibration procedure detailed in the ‘Advanced specification guide’.
2) Use the optimal gravity mode. To do so, you will have to perform an automatic calibration trajectory with your robot in order to get some parameters (RunGravityZEstimationSequence). Then you will have to send these parameters to the robot and to activate the optimal gravity mode (SetOptimalZParam and SetGravityType)
3) If both of these previous steps are not enough, you can try to tweak orientation admittance parameters, while specifying inertia and damping values close to the default values.
Q:Is it possible to keep the orientation of the robot end effector constant with respect to the world coordinate system but have the position under admittance control?
A: You could increase a lot the damping and inertia parameters in orientation while keeping those in translation to their default value. This way, the admittance orientation command will always be close to zero. Also, please insre your arm is set in Fixed mode (and not in Rotating mode) if you want to keep the orientation constant. By default, the arm is the Rotating mode.
Q: I’d also like the default settings for the robot.
A: Do you have a Jaco or a Mico arm?
For Mico:
Damping_X=20.8 N/(m/s)
Damping_Y=20.8 N/(m/s)
Damping_Z=20.8 N/(m/s)
Damping_ThetaX=0.779 Nm/(rad/s)
Damping_ThetaY=0.779 Nm/(rad/s)
Damping_ThetaZ=0.779 Nm/(rad/s)
Inertia_X=5.0 N/(m/s^2)
Inertia_Y=5.0 N/(m/s^2)
Inertia_Z=5.0 N/(m/s^2)
Inertia_ThetaX=0.14 Nm/(rad/s^2)
Inertia_ThetaY=0.14 Nm/(rad/s^2)
Inertia_ThetaZ=0.14 Nm/(rad/s^2)
For Jaco V2
Damping_X=18.18 N/(m/s)
Damping_Y=31.82 N/(m/s)
Damping_Z=54.55 N/(m/s)
Damping_ThetaX=0.85 Nm/(rad/s)
Damping_ThetaY=0.85 Nm/(rad/s)
Damping_ThetaZ=0.85 Nm/(rad/s)
Inertia_X=6.36 N/(m/s^2)
Inertia_Y=11.14 N/(m/s^2)
Inertia_Z=19.10 N/(m/s^2)
Inertia_ThetaX=0.21 Nm/(rad/s^2)
Inertia_ThetaY=0.21 Nm/(rad/s^2)
Inertia_ThetaZ=0.21 Nm/(rad/s^2)
Q: If I use a different end effector, ie, change the gripper to something else, how do I modify force control so it knows the new kinematics/dynamics of the robot? Would RunGravityZEstimationSequence function help estimate the new parameters?
A: Yes, you can run the automatic calibration trajectory using RunGravityZEstimationSequence, and this function will output you the right gravity parameters with your new gripper. Of course, run RunGravityZEstimationSequence with your new gripper. Another method would be to use the TorqueConsole and specify the mass and center of mass of your new gripper in the Payload section.
