Skip to content

Commit d50ecda

Browse files
committed
fix: compose in the correct direction
1 parent fa3ecc7 commit d50ecda

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

lat_alignment/alignment.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def main():
238238
meas, common_mode = mir.remove_cm(
239239
meas, "primary", cfg.get("compensate", 0), **cfg.get("common_mode", {})
240240
)
241-
full_alignment = mt.compose_transform(*alignment, *common_mode)
241+
full_alignment = mt.compose_transform(*common_mode, *alignment)
242242
if cfg.get("only_adj", True):
243243
panels = mir.gen_panels(
244244
"primary",
@@ -259,7 +259,7 @@ def main():
259259
cfg.get("compensate", 0),
260260
**cfg.get("common_mode", {}),
261261
)
262-
full_alignment = mt.compose_transform(*full_alignment, *common_mode_2)
262+
full_alignment = mt.compose_transform(*common_mode_2, *full_alignment)
263263
full_alignment = tf.affine_basis_transform(
264264
full_alignment[0], full_alignment[1], "opt_primary", "opt_global", False
265265
)
@@ -287,7 +287,7 @@ def main():
287287
cfg.get("compensate", 0),
288288
**cfg.get("common_mode", {}),
289289
)
290-
full_alignment = mt.compose_transform(*alignment, *common_mode)
290+
full_alignment = mt.compose_transform(*common_mode, *alignment)
291291
if cfg.get("only_adj", True):
292292
panels = mir.gen_panels(
293293
"secondary",
@@ -308,7 +308,7 @@ def main():
308308
cfg.get("compensate", 0),
309309
**cfg.get("common_mode", {}),
310310
)
311-
full_alignment = mt.compose_transform(*full_alignment, *common_mode_2)
311+
full_alignment = mt.compose_transform(*common_mode_2, *full_alignment)
312312
full_alignment = tf.affine_basis_transform(
313313
full_alignment[0],
314314
full_alignment[1],
@@ -381,7 +381,7 @@ def main():
381381
transforms = {}
382382
align_to_inv = mt.invert_transform(*elements[align_to])
383383
for element, full_transform in elements.items():
384-
aff, sft = mt.compose_transform(*full_transform, *align_to_inv)
384+
aff, sft = mt.compose_transform(*align_to_inv, *full_transform)
385385
scale, shear, rot = mt.decompose_affine(aff)
386386
rot = np.rad2deg(mt.decompose_rotation(rot))
387387
transform = {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"changeState": 2, "revision": 857, "id": {"value": [63, 27, 217, 179, 184, 130, 69, 59, 168, 98, 150, 219, 6, 40, 214, 199]}, "versionId": {"value": {"value": [60, 253, 217, 23, 0, 137, 72, 113, 158, 187, 86, 161, 18, 138, 17, 62]}}, "user": "Open Protcol Client", "timestamp": {"value": 1743480134}, "name": "Program", "descr": "", "indexId": {"value": 406}, "threadDirection": 1, "tighteningType": 2, "operationMode": 1, "useTrueAngleCompensation": false, "traceConfig": {"enabled": false, "sampleType": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "steps": [{"internalNumber": 1, "stepNumber": 0, "nextInternalNumber": 2, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 10, "instanceGuid": {"value": [205, 39, 201, 17, 94, 208, 76, 244, 142, 70, 36, 169, 226, 243, 14, 107]}}, {"internalNumber": 2, "stepNumber": 1, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 14, "stepLoosenToAngle": {"motorControlSpeedRamp": {"speedTarget": 60, "acceleration": 500, "speedRampType": 1}, "brake": true, "angleTarget": 30, "speedRampChanges": [], "brakeConfig": {"brakeType": 1, "configErgoStop": {"isBrakeRamptimeAdaptive": true, "rampTime": 200}}}, "instanceGuid": {"value": [23, 108, 203, 126, 136, 157, 72, 14, 159, 185, 184, 138, 106, 29, 174, 210]}}, {"internalNumber": 14, "stepNumber": 2, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 11, "instanceGuid": {"value": [6, 99, 157, 50, 240, 251, 79, 224, 131, 153, 152, 77, 153, 241, 129, 50]}}], "syncPoints": [], "programRestrictions": [{"internalNumber": 10, "type": 2, "timeHigh": {"timeLimitHigh": 30}}, {"internalNumber": 11, "type": 1, "torqueHigh": {"torqueLimitHigh": 2.2597}}, {"internalNumber": 12, "type": 6, "angle": {"enabled": false}}, {"internalNumber": 13, "type": 7, "time": {"enabled": false}}], "stepMonitors": [{"internalNumber": 3, "startInternalStepNumber": 2, "type": 2, "peakTorque": {}, "instanceGuid": {"value": [0, 15, 214, 137, 167, 2, 78, 33, 152, 31, 83, 28, 61, 18, 81, 164]}}, {"internalNumber": 4, "startInternalStepNumber": 2, "type": 6, "angle": {"stopCondition": 3}, "instanceGuid": {"value": [170, 157, 181, 73, 218, 99, 73, 101, 161, 217, 234, 136, 130, 170, 132, 231]}}], "stepRestrictions": [{"internalNumber": 5, "startInternalStepNumber": 2, "type": 3, "timeHigh": {"timeLimitHigh": 5}, "instanceGuid": {"value": [1, 90, 172, 92, 244, 104, 77, 152, 178, 168, 215, 49, 40, 211, 14, 40]}}, {"internalNumber": 6, "startInternalStepNumber": 2, "type": 1, "torqueHigh": {"torqueLimitHigh": 2.2597}, "instanceGuid": {"value": [48, 182, 75, 243, 21, 147, 72, 114, 187, 200, 152, 110, 231, 213, 165, 116]}}], "programMonitors": [{"internalNumber": 7, "type": 1, "angle": {"enabled": false, "stopCondition": 2}}, {"internalNumber": 8, "type": 2, "torque": {"enabled": false, "stopCondition": 0}}, {"internalNumber": 9, "type": 3, "time": {"enabled": false}}], "resultReporters": [], "nokOnTriggerRelease": true}
1+
{"changeState": 2, "revision": 857, "id": {"value": [63, 27, 217, 179, 184, 130, 69, 59, 168, 98, 150, 219, 6, 40, 214, 199]}, "versionId": {"value": {"value": [60, 253, 217, 23, 0, 137, 72, 113, 158, 187, 86, 161, 18, 138, 17, 62]}}, "user": "Open Protcol Client", "timestamp": {"value": 1743480134}, "name": "Program", "descr": "", "indexId": {"value": 406}, "threadDirection": 1, "tighteningType": 2, "operationMode": 1, "useTrueAngleCompensation": false, "traceConfig": {"enabled": false, "sampleType": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "steps": [{"internalNumber": 1, "stepNumber": 0, "nextInternalNumber": 2, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 10, "instanceGuid": {"value": [205, 39, 201, 17, 94, 208, 76, 244, 142, 70, 36, 169, 226, 243, 14, 107]}}, {"internalNumber": 2, "stepNumber": 1, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 14, "stepLoosenToAngle": {"motorControlSpeedRamp": {"speedTarget": 60, "acceleration": 500, "speedRampType": 1}, "brake": true, "angleTarget": 30, "speedRampChanges": [], "brakeConfig": {"brakeType": 1, "configErgoStop": {"isBrakeRamptimeAdaptive": true, "rampTime": 200}}}, "instanceGuid": {"value": [23, 108, 203, 126, 136, 157, 72, 14, 159, 185, 184, 138, 106, 29, 174, 210]}}, {"internalNumber": 14, "stepNumber": 2, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 11, "instanceGuid": {"value": [6, 99, 157, 50, 240, 251, 79, 224, 131, 153, 152, 77, 153, 241, 129, 50]}}], "syncPoints": [], "programRestrictions": [{"internalNumber": 10, "type": 2, "timeHigh": {"timeLimitHigh": 60}}, {"internalNumber": 11, "type": 1, "torqueHigh": {"torqueLimitHigh": 9.38954}}, {"internalNumber": 12, "type": 6, "angle": {"enabled": false}}, {"internalNumber": 13, "type": 7, "time": {"enabled": false}}], "stepMonitors": [{"internalNumber": 3, "startInternalStepNumber": 2, "type": 2, "peakTorque": {}, "instanceGuid": {"value": [0, 15, 214, 137, 167, 2, 78, 33, 152, 31, 83, 28, 61, 18, 81, 164]}}, {"internalNumber": 4, "startInternalStepNumber": 2, "type": 6, "angle": {"stopCondition": 3}, "instanceGuid": {"value": [170, 157, 181, 73, 218, 99, 73, 101, 161, 217, 234, 136, 130, 170, 132, 231]}}], "stepRestrictions": [{"internalNumber": 5, "startInternalStepNumber": 2, "type": 3, "timeHigh": {"timeLimitHigh": 15}, "instanceGuid": {"value": [1, 90, 172, 92, 244, 104, 77, 152, 178, 168, 215, 49, 40, 211, 14, 40]}}, {"internalNumber": 6, "startInternalStepNumber": 2, "type": 1, "torqueHigh": {"torqueLimitHigh": 9.38954}, "instanceGuid": {"value": [48, 182, 75, 243, 21, 147, 72, 114, 187, 200, 152, 110, 231, 213, 165, 116]}}], "programMonitors": [{"internalNumber": 7, "type": 1, "angle": {"enabled": false, "stopCondition": 2}}, {"internalNumber": 8, "type": 2, "torque": {"enabled": false, "stopCondition": 0}}, {"internalNumber": 9, "type": 3, "time": {"enabled": false}}], "resultReporters": [], "nokOnTriggerRelease": true}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"changeState": 2, "revision": 623, "id": {"value": [63, 27, 217, 179, 184, 130, 69, 59, 168, 98, 150, 219, 6, 40, 214, 199]}, "versionId": {"value": {"value": [190, 33, 70, 16, 142, 189, 65, 30, 164, 44, 181, 21, 252, 210, 144, 22]}}, "user": "Open Protocol client", "timestamp": {"value": 1743478707}, "name": "Program", "descr": "", "indexId": {"value": 406}, "threadDirection": 1, "tighteningType": 2, "operationMode": 1, "useTrueAngleCompensation": false, "traceConfig": {"enabled": false, "sampleType": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "steps": [{"internalNumber": 1, "stepNumber": 0, "nextInternalNumber": 2, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 10, "instanceGuid": {"value": [205, 39, 201, 17, 94, 208, 76, 244, 142, 70, 36, 169, 226, 243, 14, 107]}}, {"internalNumber": 2, "stepNumber": 1, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 13, "stepTightenToAngle": {"motorControlSpeedRamp": {"speedTarget": 60, "acceleration": 500, "speedRampType": 1}, "brake": true, "angleTarget": 300, "speedRampChanges": [], "brakeConfig": {"brakeType": 1, "configErgoStop": {"isBrakeRamptimeAdaptive": true, "rampTime": 200}}}, "instanceGuid": {"value": [185, 221, 130, 239, 9, 159, 75, 61, 183, 15, 24, 107, 250, 252, 8, 173]}}, {"internalNumber": 14, "stepNumber": 2, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 11, "instanceGuid": {"value": [6, 99, 157, 50, 240, 251, 79, 224, 131, 153, 152, 77, 153, 241, 129, 50]}}], "syncPoints": [], "programRestrictions": [{"internalNumber": 10, "type": 2, "timeHigh": {"timeLimitHigh": 30}}, {"internalNumber": 11, "type": 1, "torqueHigh": {"torqueLimitHigh": 2.2597}}, {"internalNumber": 12, "type": 6, "angle": {"enabled": false}}, {"internalNumber": 13, "type": 7, "time": {"enabled": false}}], "stepMonitors": [{"internalNumber": 3, "startInternalStepNumber": 2, "type": 2, "peakTorque": {}, "instanceGuid": {"value": [107, 230, 97, 128, 249, 162, 70, 223, 189, 162, 53, 202, 60, 233, 62, 228]}}, {"internalNumber": 4, "startInternalStepNumber": 2, "type": 6, "angle": {"stopCondition": 3}, "instanceGuid": {"value": [30, 79, 74, 252, 111, 131, 73, 34, 167, 104, 82, 220, 168, 97, 51, 100]}}], "stepRestrictions": [{"internalNumber": 5, "startInternalStepNumber": 2, "type": 3, "timeHigh": {"timeLimitHigh": 5}, "instanceGuid": {"value": [189, 247, 225, 50, 201, 233, 72, 16, 172, 242, 140, 158, 206, 114, 153, 58]}}, {"internalNumber": 6, "startInternalStepNumber": 2, "type": 1, "torqueHigh": {"torqueLimitHigh": 2.2597}, "instanceGuid": {"value": [9, 87, 207, 243, 108, 195, 64, 245, 148, 166, 192, 45, 239, 103, 39, 127]}}], "programMonitors": [{"internalNumber": 7, "type": 1, "angle": {"enabled": false, "stopCondition": 2}}, {"internalNumber": 8, "type": 2, "torque": {"enabled": false, "stopCondition": 0}}, {"internalNumber": 9, "type": 3, "time": {"enabled": false}}], "resultReporters": [], "nokOnTriggerRelease": true}
1+
{"changeState": 2, "revision": 623, "id": {"value": [63, 27, 217, 179, 184, 130, 69, 59, 168, 98, 150, 219, 6, 40, 214, 199]}, "versionId": {"value": {"value": [190, 33, 70, 16, 142, 189, 65, 30, 164, 44, 181, 21, 252, 210, 144, 22]}}, "user": "Open Protocol client", "timestamp": {"value": 1743478707}, "name": "Program", "descr": "", "indexId": {"value": 406}, "threadDirection": 1, "tighteningType": 2, "operationMode": 1, "useTrueAngleCompensation": false, "traceConfig": {"enabled": false, "sampleType": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "steps": [{"internalNumber": 1, "stepNumber": 0, "nextInternalNumber": 2, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 10, "instanceGuid": {"value": [205, 39, 201, 17, 94, 208, 76, 244, 142, 70, 36, 169, 226, 243, 14, 107]}}, {"internalNumber": 2, "stepNumber": 1, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 13, "stepTightenToAngle": {"motorControlSpeedRamp": {"speedTarget": 60, "acceleration": 500, "speedRampType": 1}, "brake": true, "angleTarget": 300, "speedRampChanges": [], "brakeConfig": {"brakeType": 1, "configErgoStop": {"isBrakeRamptimeAdaptive": true, "rampTime": 200}}}, "instanceGuid": {"value": [185, 221, 130, 239, 9, 159, 75, 61, 183, 15, 24, 107, 250, 252, 8, 173]}}, {"internalNumber": 14, "stepNumber": 2, "nextInternalNumber": 14, "stepPath": 1, "traceConfig": {"traceSetting": 0, "traceConfig": {"sampleTime": 0, "sampleAngle": 2}}, "type": 11, "instanceGuid": {"value": [6, 99, 157, 50, 240, 251, 79, 224, 131, 153, 152, 77, 153, 241, 129, 50]}}], "syncPoints": [], "programRestrictions": [{"internalNumber": 10, "type": 2, "timeHigh": {"timeLimitHigh": 60}}, {"internalNumber": 11, "type": 1, "torqueHigh": {"torqueLimitHigh": 3.38954}}, {"internalNumber": 12, "type": 6, "angle": {"enabled": false}}, {"internalNumber": 13, "type": 7, "time": {"enabled": false}}], "stepMonitors": [{"internalNumber": 3, "startInternalStepNumber": 2, "type": 2, "peakTorque": {}, "instanceGuid": {"value": [107, 230, 97, 128, 249, 162, 70, 223, 189, 162, 53, 202, 60, 233, 62, 228]}}, {"internalNumber": 4, "startInternalStepNumber": 2, "type": 6, "angle": {"stopCondition": 3}, "instanceGuid": {"value": [30, 79, 74, 252, 111, 131, 73, 34, 167, 104, 82, 220, 168, 97, 51, 100]}}], "stepRestrictions": [{"internalNumber": 5, "startInternalStepNumber": 2, "type": 3, "timeHigh": {"timeLimitHigh": 15}, "instanceGuid": {"value": [189, 247, 225, 50, 201, 233, 72, 16, 172, 242, 140, 158, 206, 114, 153, 58]}}, {"internalNumber": 6, "startInternalStepNumber": 2, "type": 1, "torqueHigh": {"torqueLimitHigh": 3.38954}, "instanceGuid": {"value": [9, 87, 207, 243, 108, 195, 64, 245, 148, 166, 192, 45, 239, 103, 39, 127]}}], "programMonitors": [{"internalNumber": 7, "type": 1, "angle": {"enabled": false, "stopCondition": 2}}, {"internalNumber": 8, "type": 2, "torque": {"enabled": false, "stopCondition": 0}}, {"internalNumber": 9, "type": 3, "time": {"enabled": false}}], "resultReporters": [], "nokOnTriggerRelease": true}

lat_alignment/ixb.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,9 @@ def main():
435435
adjs_full, *adjs_part = get_adjs_names()#[args.part]
436436
adjs = adjs_part[args.part - 1]
437437

438+
degs = np.array(list(adjustments.values()))
439+
print(f"{np.sum(np.abs(degs) > thresh)} above threshold")
440+
438441
# Connect to tool and send info
439442
sock, send, recv = init(args.host, args.port)
440443
template = {1: tighten_template, -1: loosen_template}
@@ -449,21 +452,21 @@ def main():
449452
sock, send, recv = init(args.host, args.port)
450453
continue
451454
_, prog = decode2501(mid, dat)
452-
# print(construct_2500(i + 1, prog))
453455
rev = prog["revision"] + 1
454456
prog_id = prog["id"]
455-
# prog_id["value"] = [23,125,93,221,120,229,79,175,133,107,214,249,176,98,143,238] #[v + 1 for v in prog_id["value"]]
456457
ver_id = prog["versionId"]
457-
# ver_id["value"]["value"] = [60,253,217,23,0,137,72,113,158,187,86,161,18,138,17,62] #[v + 1 for v in ver_id["value"]["value"]]
458458
ang = adjustments.get(adj, 0.1)
459459
sign = np.sign(ang)
460+
if sign == 0:
461+
sign = 1
460462
ang_use = max(int(np.abs(np.round(ang))), .1)
461463
if np.abs(ang) < thresh:
462464
ang = 0.1
463465
ang_use = ang
464466
else:
465467
to_hit += [(adj, sign*ang_use)]
466468
prog["steps"] = deepcopy(template[sign])["steps"]
469+
prog["programRestrictions"] = deepcopy(template[sign])["programRestrictions"]
467470
prog["name"] = adjs_full[i]
468471
prog["revision"] = rev
469472
prog["id"] = prog_id

0 commit comments

Comments
 (0)