Hello
I am trying to use impedance mode with practically zero stiffness on the IIWA 7. It works quite well apart from the fact that I don't see any effect of the dampings values. For me, setting high damping would cause the movement of the robot to be more rigid. However, when I set the stiffness to zero (or a very low value), the robot movements are very free, and if I try to move it by hand I don't feel any damping. I have tried adjusting the dampings values but I don't feel any difference.
Implementation wise I just set the stiffnesses to 0 and then do a position hold using an impedance controller.
Code
public class FreeImpedanceMode extends RoboticsAPIApplication {
@Inject
private LBR lbr;
private Tool gripper;
@Override
public void initialize() {
// initialize your application here
lbr = getContext().getDeviceFromType(LBR.class);
gripper = getApplicationData().createFromTemplate("GripperSchunk");
gripper.attachTo(lbr.getFlange());
}
@Override
public void run() {
// your application execution starts here
CartesianImpedanceControlMode impedanceControlMode = new CartesianImpedanceControlMode();
impedanceControlMode.parametrize(CartDOF.ALL).setStiffness(0);
impedanceControlMode.parametrize(CartDOF.ALL).setDamping(1);
IMotionContainer positionHoldContainer = lbr.moveAsync((new PositionHold(impedanceControlMode, -1, null)));
getLogger().info("Show modal dialog while executing position hold");
getApplicationUI().displayModalDialog(ApplicationDialogType.INFORMATION, "Press ok to finish the application.", "OK");
positionHoldContainer.cancel();
}
}
Display More