Skip to content

Commit b14f79c

Browse files
author
Kevin Harrington
committed
addign a disconnect pass through for sub mobile bases
1 parent 7ec7d1a commit b14f79c

File tree

4 files changed

+45
-33
lines changed

4 files changed

+45
-33
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ repositories {
4444
dependencies {
4545
//TODO change as many of these as possible to Maven repositories
4646
compile fileTree (dir: 'libs', includes: ['*.jar'])
47-
testCompile 'junit:junit:4.10'
47+
testCompile 'junit:junit:4.12'
4848
compile 'gov.nist.math:jama:1.0.2'
4949
compile 'com.miglayout:miglayout-swing:4.1'
5050
compile 'org.igniterealtime.smack:smack:3.2.1'

src/main/java/com/neuronrobotics/sdk/addons/kinematics/AbstractKinematicsNR.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public void onConnect(BowlerAbstractDevice source) {
319319
&& linkNode.getNodeName().contentEquals("ZframeToRAS")) {
320320
Element eElement = (Element) linkNode;
321321
try {
322-
setZframeToGlobalTransform(new TransformNR(
322+
setGlobalToFiducialTransform(new TransformNR(
323323
Double.parseDouble(XmlFactory.getTagValue("x", eElement)),
324324
Double.parseDouble(XmlFactory.getTagValue("y", eElement)),
325325
Double.parseDouble(XmlFactory.getTagValue("z", eElement)),
@@ -329,13 +329,13 @@ public void onConnect(BowlerAbstractDevice source) {
329329
Double.parseDouble(XmlFactory.getTagValue("rotz", eElement)) })));
330330
} catch (Exception ex) {
331331
ex.printStackTrace();
332-
setZframeToGlobalTransform(new TransformNR());
332+
setGlobalToFiducialTransform(new TransformNR());
333333
}
334334
} else if (linkNode.getNodeType() == Node.ELEMENT_NODE
335335
&& linkNode.getNodeName().contentEquals("baseToZframe")) {
336336
Element eElement = (Element) linkNode;
337337
try {
338-
setBaseToZframeTransform(new TransformNR(Double.parseDouble(XmlFactory.getTagValue("x", eElement)),
338+
setRobotToFiducialTransform(new TransformNR(Double.parseDouble(XmlFactory.getTagValue("x", eElement)),
339339
Double.parseDouble(XmlFactory.getTagValue("y", eElement)),
340340
Double.parseDouble(XmlFactory.getTagValue("z", eElement)),
341341
new RotationNR(new double[] { Double.parseDouble(XmlFactory.getTagValue("rotw", eElement)),
@@ -344,7 +344,7 @@ public void onConnect(BowlerAbstractDevice source) {
344344
Double.parseDouble(XmlFactory.getTagValue("rotz", eElement)) })));
345345
} catch (Exception ex) {
346346
ex.printStackTrace();
347-
setBaseToZframeTransform(new TransformNR());
347+
setRobotToFiducialTransform(new TransformNR());
348348
}
349349
} else {
350350
// System.err.println(linkNode.getNodeName());
@@ -902,15 +902,15 @@ public TransformNR getFiducialToGlobalTransform() {
902902
return fiducial2RAS;
903903
}
904904

905-
/**
906-
* Sets the base to zframe transform.
907-
*
908-
* @param baseToFiducial the new base to zframe transform
909-
*/
910-
@Deprecated
911-
public void setBaseToZframeTransform(TransformNR baseToFiducial) {
912-
setRobotToFiducialTransform(baseToFiducial);
913-
}
905+
// /**
906+
// * Sets the base to zframe transform.
907+
// *
908+
// * @param baseToFiducial the new base to zframe transform
909+
// */
910+
// @Deprecated
911+
// public void setBaseToZframeTransform(TransformNR baseToFiducial) {
912+
// setRobotToFiducialTransform(baseToFiducial);
913+
// }
914914
public void setRobotToFiducialTransform(TransformNR baseToFiducial) {
915915
if (baseToFiducial == null) {
916916
Log.error("Fiducial can not be null " + baseToFiducial);
@@ -925,15 +925,15 @@ public void setRobotToFiducialTransform(TransformNR baseToFiducial) {
925925

926926
runRenderWrangler();
927927
}
928-
/**
929-
* Sets the zframe to global transform.
930-
*
931-
* @param fiducialToRAS the new zframe to global transform
932-
*/
933-
@Deprecated
934-
private void setZframeToGlobalTransform(TransformNR fiducialToRAS) {
935-
setGlobalToFiducialTransform(fiducialToRAS);
936-
}
928+
// /**
929+
// * Sets the zframe to global transform.
930+
// *
931+
// * @param fiducialToRAS the new zframe to global transform
932+
// */
933+
// @Deprecated
934+
// private void setZframeToGlobalTransform(TransformNR fiducialToRAS) {
935+
// setGlobalToFiducialTransform(fiducialToRAS);
936+
// }
937937

938938
/**
939939
* Gets the robot to fiducial transform.

src/main/java/com/neuronrobotics/sdk/addons/kinematics/DHParameterKinematics.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,23 @@ public DHParameterKinematics(BowlerAbstractDevice bad, Element linkStream) {
6868
getFactory().getDyio(lf).addConnectionEventListener(l);
6969
return;
7070
}
71+
addConnectionEventListener(new IDeviceConnectionEventListener() {
72+
73+
@Override
74+
public void onDisconnect(BowlerAbstractDevice source) {
75+
for(int i=0;i<getNumberOfLinks();i++) {
76+
MobileBase m = getSlaveMobileBase(i);
77+
if(m!=null)
78+
m.disconnect();
79+
}
80+
}
81+
82+
@Override
83+
public void onConnect(BowlerAbstractDevice source) {
84+
// TODO Auto-generated method stub
85+
86+
}
87+
});
7188
}
7289

7390
/**
@@ -775,7 +792,7 @@ public Object getListener(int i) {
775792
*/
776793
@Override
777794
public void setRobotToFiducialTransform(TransformNR newTrans) {
778-
super.setBaseToZframeTransform(newTrans);
795+
super.setRobotToFiducialTransform(newTrans);
779796
}
780797

781798
public void refreshPose() {

src/main/java/com/neuronrobotics/sdk/addons/kinematics/MobileBase.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,6 @@ public String getXml() {
613613
*/
614614
public String getEmbedableXml() {
615615
TransformNR location = getFiducialToGlobalTransform();
616-
setGlobalToFiducialTransform(new TransformNR());
617616

618617
String allVitamins = "";
619618
for (String key : getVitamins().keySet()) {
@@ -871,8 +870,8 @@ public void setGlobalToFiducialTransform(TransformNR frameToBase) {
871870
* @param frameToBase the new global to fiducial transform
872871
*/
873872
@Override
874-
public void setBaseToZframeTransform(TransformNR baseToFiducial) {
875-
super.setBaseToZframeTransform( baseToFiducial);
873+
public void setRobotToFiducialTransform(TransformNR baseToFiducial) {
874+
super.setRobotToFiducialTransform( baseToFiducial);
876875
fireBaseUpdates();
877876
}
878877

@@ -910,16 +909,12 @@ public boolean connect() {
910909
addRegistrationListener(new IRegistrationListenerNR() {
911910
@Override
912911
public void onFiducialToGlobalUpdate(AbstractKinematicsNR source, TransformNR regestration) {
913-
for (DHParameterKinematics kin : getAllDHChains()) {
914-
// Log.debug("Motion of mobile base event ");
915-
// this represents motion of the mobile base
916-
kin.setGlobalToFiducialTransform(regestration);
917-
}
912+
fireBaseUpdates();
918913
}
919914

920915
@Override
921916
public void onBaseToFiducialUpdate(AbstractKinematicsNR source, TransformNR regestration) {
922-
917+
fireBaseUpdates();
923918
}
924919
});
925920
return isAvailable();

0 commit comments

Comments
 (0)