Hello, I'm trying to "torque control" iiwa 14 with FRI (Fast Robot Interface). I have 2 questions.
Q1) What is EXACT relationship between (joint_FRI, torque_FRI) and (joint_command, and torque_command) in following "LBRTorqueSineOverlayClient.cpp" code??
My FRI and Sunrise codes are as follows :
<FRI : "LBRTorqueSineOverlayClient.cpp">
robotCommand().setJointPosition(joint_FRI)
robotCommand().setTorque(torque_FRI);
memcpy(joint_command, robotState().getCommandedJointPosition(), LBRState::NUMBER_OF_JOINTS * sizeof(double));
memcpy(torque_command, robotState().getCommandedTorque(), LBRState::NUMBER_OF_JOINTS * sizeof(double));
<Sunrise: "LBRTorqueSineOverlay.java">
JointImpedanceControlMode ctrMode = new JointImpedanceControlMode(0, 0, 0, 0, 0, 0, 0);
ctrMode.setStiffnessForAllJoints(0.0);
ctrMode.setDampingForAllJoints(0.0);
PositionHold posHold = new PositionHold(ctrMode, -1, TimeUnit.SECONDS);
_lbr.move(posHold.addMotionOverlay(torqueOverlay));
Q2) I expect "torque_command" obtained from "robotState().getCommandedTorque()" is different from actual "Motor Torque input known as torque_motor". As long as I know, because of flexible joints, torque_motor (motor torque input) and torque_joint (torque affecting actual link of robot) are also different. Therefore, I also want to know relationship between "torque_motor" and "torque_command".