diff --git a/Marcos.xml b/Marcos.xml index 0c589f9..1f4c4fa 100644 --- a/Marcos.xml +++ b/Marcos.xml @@ -184,7 +184,7 @@ 0.0 90.0 - 65.0 + 48.0 0.01 @@ -385,7 +385,7 @@ 0.0 90.0 - 65.0 + 48.0 0.01 @@ -586,7 +586,7 @@ 0.0 90.0 - 65.0 + 48.0 0.0 @@ -787,7 +787,7 @@ 0.0 90.0 - 65.0 + 48.0 0.01 @@ -814,7 +814,6 @@ - DummyLeftRear @@ -897,10 +896,10 @@ -85.0 40.25 137.0 - -0.4999999999993643 - -0.5000000000006358 - -0.49999999999936434 - 0.5000000000006358 + -0.4999999999993642 + -0.5000000000006357 + -0.49999999999936423 + 0.5000000000006357 diff --git a/MarcosCad.groovy b/MarcosCad.groovy index 2ab4f18..47dcb93 100644 --- a/MarcosCad.groovy +++ b/MarcosCad.groovy @@ -1406,7 +1406,7 @@ class cadGenMarcos implements ICadGenerator{ spars = Vitamins.get(calibrationJigFile); } if(makeCalibration) { - double blockDepth = 35 + double blockDepth = 25 double blockHeight = 20 double scoochUpDistance = 1 CSG label = CSG.unionAll(TextExtrude.text((double)1.0,semver,font)) @@ -1426,13 +1426,12 @@ class cadGenMarcos implements ICadGenerator{ CSG neckBit = getNeckLink().transformed(neck) CSG buttBit = getNeckLink().transformed(butt) - + CSG calBlock = new ChamferedCube(blockDepth,25,blockHeight,numbers.Chamfer2).toCSG() .toZMin() .movez(scoochUpDistance) + //.movez(5) - CSG calLeft =calBlock.toYMin().movey(2) - CSG calRight = calBlock.toYMax().movey(-2) CSG footLeftFront=getFoot(getByName(arg0,"LeftFront").getDH_R(2)).transformed(tipLeftFront) CSG footRightFront=getFoot(getByName(arg0,"RightFront").getDH_R(2)).transformed(tipRightFront) CSG footLeftRear=getFoot(getByName(arg0,"LeftRear").getDH_R(2)).transformed(tipLeftRear) @@ -1441,13 +1440,9 @@ class cadGenMarcos implements ICadGenerator{ CSG fCenter=calBlock.toXMax().move(tipLeftFront.x, 0, tipLeftFront.z) CSG rCenter=calBlock.move(tipRightRear.x, 0, tipRightRear.z) - CSG Center = fCenter - .union(rCenter) - .hull() - label=label.movex(tipLeftFront.x-5) - .movez(Center.getMaxZ()) + double calSinkInDistance =4 - CSG fCal = calBlock.toZMax().move(neck.x, neck.y, neckBit.getMinZ()+numbers.Chamfer2+calSinkInDistance) + CSG fCal = calBlock.union(calBlock.movex(5)).toZMax().move(neck.x, neck.y, neckBit.getMinZ()+numbers.Chamfer2+calSinkInDistance) .union(fCenter) .hull() .difference(neckBit) @@ -1456,9 +1451,15 @@ class cadGenMarcos implements ICadGenerator{ .hull() .difference(buttBit) double inset=2 + CSG lowerBlock = new ChamferedCube(10,25,blockHeight/2,numbers.Chamfer2).toCSG() + .toZMax() + .toXMax() + .movex(-15) + .movez(scoochUpDistance+calBlock.getMinZ()+3) CSG scoochedUp = calBlock + .union(lowerBlock) .toXMax() - .movex(5) + .movex(12) CSG fl = scoochedUp.toYMax().movey(inset) CSG fr = scoochedUp.toYMin().movey(-inset) CSG rl = scoochedUp.toYMax().movey(inset) @@ -1473,6 +1474,14 @@ class cadGenMarcos implements ICadGenerator{ .hull() .difference(footLeftRear) .difference(footRightRear) + CSG Center = fCenter + .union(rCenter) + .hull() + .toZMin() + .movez(RearSpar.getMinZ()) + .movex(-15) + label=label.movex(tipLeftFront.x-5) + .movez(Center.getMaxZ()) CSG gearAllignment = null; def gearLimbs = [getByName(arg0,"DummyRightFront"), getByName(arg0,"DummyLeftFront"), diff --git a/MarcosWalk.groovy b/MarcosWalk.groovy index eef4756..bbf022e 100644 --- a/MarcosWalk.groovy +++ b/MarcosWalk.groovy @@ -35,10 +35,10 @@ IDriveEngine engine = new IDriveEngine () { */ boolean firstRun=true - double zoffsetOfFeetHome = -12.5 - double xOffsetOfFeetHome = 5 - double ySplayOut = 10 - double stepOverHeight = 7 + double zoffsetOfFeetHome = -7.5 + double xOffsetOfFeetHome = 0 + double ySplayOut = 5 + double stepOverHeight = 20 public void DriveArc(MobileBase source,TransformNR newPose,double seconds) { try { @@ -81,7 +81,7 @@ enum CycleState { class BodyController{ int numberOfInterpolationPoints=0 double stepOverHeight =1 - int numMsOfLoop = 64; + int numMsOfLoop = 16; double numPointsInLoop =12 double unitScale =1.0/(numPointsInLoop/2.0) Thread bodyLoop = null; diff --git a/printbed.json b/printbed.json index 0dbaadb..b990e0c 100644 --- a/printbed.json +++ b/printbed.json @@ -547,8 +547,8 @@ } }, "PassiveLinkHead": { - "x": 28.996272036182745, - "y": -50.14634059059578, + "x": 20.282339980725492, + "y": -50.17541427473076, "z": 0.0, "rotation": { "storage": { @@ -1028,7 +1028,7 @@ } }, "CalibrationJig": { - "x": 151.28562863811544, + "x": 151.28562849883713, "y": -105.40872955322266, "z": 0.0, "rotation": {