diff --git a/Cartesian motion open loop/iiwa/SimulinkIIWADirectServoCartesian.java b/Cartesian motion open loop/iiwa/SimulinkIIWADirectServoCartesian.java index 405d86b..fe08a07 100644 --- a/Cartesian motion open loop/iiwa/SimulinkIIWADirectServoCartesian.java +++ b/Cartesian motion open loop/iiwa/SimulinkIIWADirectServoCartesian.java @@ -1,6 +1,7 @@ package lbrExampleApplications; +import static com.kuka.roboticsAPI.motionModel.BasicMotions.lin; import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp; import java.io.IOException; @@ -70,6 +71,10 @@ * 4- To change the timeout value, change the argument for the instruction * soc.setSoTimeout(10000), the argument is in milliseconds. * + * + * Updated on 11th/June/2019 + * Bug fix (the bug happened only in 14R820) + * To fix the bug hard-coding of the Cartesian home position was performed. */ @@ -112,6 +117,12 @@ private void moveToInitialPosition() { _lbr.move( ptp(0., Math.PI / 180 * 30.,0.,-Math.PI / 180 * 80.,0.,Math.PI / 180 * 70., 0.).setJointVelocityRel(0.15)); + // Bug fix (the bug happened only in 14R820) + // Hard-code the Cartesian home position. + Frame daframe= new Frame(575.87,0.05,397.56,Math.PI,0,Math.PI); + _lbr.move( + lin(daframe).setJointVelocityRel(0.15)); + /* Note: The Validation itself justifies, that in this very time instance, the load parameter setting was * sufficient. This does not mean by far, that the parameter setting is valid in the sequel or lifetime of this * program */ diff --git a/Cartesian motion open loop/iiwa/SimulinkIIWASmartServoCartesian.java b/Cartesian motion open loop/iiwa/SimulinkIIWASmartServoCartesian.java index 7e0ffc6..57340c0 100644 --- a/Cartesian motion open loop/iiwa/SimulinkIIWASmartServoCartesian.java +++ b/Cartesian motion open loop/iiwa/SimulinkIIWASmartServoCartesian.java @@ -1,6 +1,7 @@ package lbrExampleApplications; +import static com.kuka.roboticsAPI.motionModel.BasicMotions.lin; import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp; import java.io.IOException; @@ -79,6 +80,10 @@ * 4- To change the timeout value, change the argument for the instruction * soc.setSoTimeout(10000), the argument is in milliseconds. * + * Updated on 11th/June/2019 + * Bug fix (the bug happened only in 14R820) + * To fix the bug hard-coding of the Cartesian home position was performed. + * */ public class SimulinkIIWASmartServoCartesian extends RoboticsAPIApplication @@ -146,6 +151,11 @@ private void moveToInitialPosition() { _lbr.move( ptp(0., Math.PI / 180 * 30.,0.,-Math.PI / 180 * 80.,0.,Math.PI / 180 * 70., 0.).setJointVelocityRel(0.15)); + // Bug fix (the bug happened only in 14R820) + // Hard-code the Cartesian home position. + Frame daframe= new Frame(575.87,0.05,397.56,Math.PI,0,Math.PI); + _lbr.move( + lin(daframe).setJointVelocityRel(0.15)); /* Note: The Validation itself justifies, that in this very time instance, the load parameter setting was * sufficient. This does not mean by far, that the parameter setting is valid in the sequel or lifetime of this * program */ diff --git a/Cartesian motion with feedback/iiwa/SimulinkFIIWADirectServoCartesian.java b/Cartesian motion with feedback/iiwa/SimulinkFIIWADirectServoCartesian.java index aa7cd3e..7acf69c 100644 --- a/Cartesian motion with feedback/iiwa/SimulinkFIIWADirectServoCartesian.java +++ b/Cartesian motion with feedback/iiwa/SimulinkFIIWADirectServoCartesian.java @@ -1,6 +1,7 @@ package lbrExampleApplications; +import static com.kuka.roboticsAPI.motionModel.BasicMotions.lin; import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp; import java.io.IOException; @@ -76,6 +77,10 @@ * from the external PC. * 4- To change the timeout value, change the argument for the instruction * soc.setSoTimeout(10000), the argument is in milliseconds. + * + * Updated on 11th/June/2019 + * Bug fix (the bug happened only in 14R820) + * To fix the bug hard-coding of the Cartesian home position was performed. * */ @@ -117,6 +122,11 @@ private void moveToInitialPosition() { _lbr.move( ptp(0., Math.PI / 180 * 30.,0.,-Math.PI / 180 * 80.,0.,Math.PI / 180 * 70., 0.).setJointVelocityRel(0.15)); + // Bug fix (the bug happened only in 14R820) + // Newly added, hard-coding of the Cartesian home position. + Frame daframe= new Frame(575.87,0.05,397.56,Math.PI,0,Math.PI); + _lbr.move( + lin(daframe).setJointVelocityRel(0.15)); /* Note: The Validation itself justifies, that in this very time instance, the load parameter setting was * sufficient. This does not mean by far, that the parameter setting is valid in the sequel or lifetime of this * program */ diff --git a/Cartesian motion with feedback/iiwa/SimulinkFIIWASmartServoCartesian.java b/Cartesian motion with feedback/iiwa/SimulinkFIIWASmartServoCartesian.java index 7ef6f65..b006773 100644 --- a/Cartesian motion with feedback/iiwa/SimulinkFIIWASmartServoCartesian.java +++ b/Cartesian motion with feedback/iiwa/SimulinkFIIWASmartServoCartesian.java @@ -1,6 +1,7 @@ package lbrExampleApplications; +import static com.kuka.roboticsAPI.motionModel.BasicMotions.lin; import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp; import java.io.IOException; @@ -37,8 +38,6 @@ import java.net.UnknownHostException; import java.nio.ByteBuffer; -import lbrExampleApplications.SimulinkFIIWADirectServoCartesian.UDPPublisher; - /* * SimulinkIIWA interface, soft real-time control in Cartesian position mode * Copyright: Mohammad SAFEEA, 22nd/May/2018 @@ -88,6 +87,10 @@ * 4- To change the timeout value, change the argument for the instruction * soc.setSoTimeout(10000), the argument is in milliseconds. * + * Updated on 11th/June/2019 + * Bug fix (the bug happened only in 14R820) + * To fix the bug hard-coding of the Cartesian home position was performed. + * */ public class SimulinkFIIWASmartServoCartesian extends RoboticsAPIApplication @@ -270,6 +273,11 @@ private void moveToInitialPosition() { _lbr.move( ptp(0., Math.PI / 180 * 30.,0.,-Math.PI / 180 * 80.,0.,Math.PI / 180 * 70., 0.).setJointVelocityRel(0.15)); + // Bug fix (the bug happened only in 14R820) + // Newly added, hard-coding of the Cartesian home position. + Frame daframe= new Frame(575.87,0.05,397.56,Math.PI,0,Math.PI); + _lbr.move( + lin(daframe).setJointVelocityRel(0.15)); /* Note: The Validation itself justifies, that in this very time instance, the load parameter setting was * sufficient. This does not mean by far, that the parameter setting is valid in the sequel or lifetime of this * program */