Skip to content

Commit e299673

Browse files
committed
tidy up diagrams
1 parent bea766d commit e299673

3 files changed

Lines changed: 58 additions & 60 deletions

File tree

dyad/closed_loop.dyad

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ metadata {
621621
},
622622
"sampler_theta": {
623623
"Dyad": {
624-
"placement": {"diagram": {"x1": 780, "y1": 730, "x2": 680, "y2": 830, "rot": 90}}
624+
"placement": {"diagram": {"x1": 780, "y1": 710, "x2": 680, "y2": 810, "rot": 90}}
625625
}
626626
},
627627
"sampler_x": {
@@ -637,7 +637,7 @@ metadata {
637637
},
638638
"clock": {
639639
"Dyad": {
640-
"placement": {"diagram": {"x1": 490, "y1": 740, "x2": 590, "y2": 840, "rot": 90}}
640+
"placement": {"diagram": {"x1": 490, "y1": 710, "x2": 590, "y2": 810, "rot": 90}}
641641
}
642642
},
643643
"id14": {

dyad/segway_3d.dyad

Lines changed: 48 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -256,17 +256,19 @@ component RollingDyadBot3D
256256
relations
257257
initial pitch.phi = phi0
258258
initial pitch.w = 0
259-
connect(wheels.frame_middle, pitch.frame_a) {^id1}
260-
connect(pitch.frame_b, body.frame_a) {^id2}
261-
connect(torque, gain_half.u) {^id3}
262-
connect(gain_half.y, torque_left.tau, torque_right.tau) {^id4}
263-
connect(torque_left.spline, damper_left.spline_a, wheels.axis1) {^id5}
264-
connect(torque_right.spline, damper_right.spline_a, wheels.axis2) {^id6}
265-
connect(torque_left.support, torque_right.support, damper_left.spline_b, damper_right.spline_b, pitch.axis) {^id7}
266259
x = wheels.x
267260
theta = pitch.phi
268261
x_dot = der(wheels.x)
269262
theta_dot = pitch.w
263+
connect(body.frame_a, pitch.frame_b) {^id14}
264+
connect(pitch.frame_a, wheels.frame_middle) {^id15}
265+
connect(torque_left.spline, wheels.axis1) {^id16}
266+
connect(torque_right.spline, wheels.axis2) {^id17}
267+
connect(damper_right.spline_b, wheels.axis2) {^id18}
268+
connect(damper_left.spline_b, wheels.axis1) {^id19}
269+
connect(torque_left.tau, torque_right.tau, gain_half.y) {^id20}
270+
connect(torque, gain_half.u) {^id21}
271+
connect(pitch.axis, torque_left.support, damper_left.spline_a, torque_right.support, damper_right.spline_a) {^id22}
270272
metadata {
271273
"Dyad": {"icons": {"default": "dyad://DyadBotComponents/DyadBot3D.svg"}},
272274
"_links": {
@@ -279,27 +281,35 @@ metadata {
279281
}
280282
},
281283
"pitch": {
282-
"Dyad": {"placement": {"diagram": {"x1": 450, "y1": 480, "x2": 550, "y2": 580}}}
284+
"Dyad": {
285+
"placement": {"diagram": {"x1": 450, "y1": 320, "x2": 550, "y2": 420, "rot": 270}}
286+
}
283287
},
284288
"body": {
285289
"Dyad": {
286-
"placement": {"diagram": {"x1": 350, "y1": 130, "x2": 650, "y2": 430, "rot": 270}}
290+
"placement": {"diagram": {"x1": 350, "y1": -10, "x2": 650, "y2": 290, "rot": 270}}
287291
}
288292
},
289293
"gain_half": {
290-
"Dyad": {"placement": {"diagram": {"x1": 180, "y1": 460, "x2": 260, "y2": 540}}}
294+
"Dyad": {
295+
"placement": {"diagram": {"x1": 70, "y1": 650, "x2": 150, "y2": 730, "rot": 90}}
296+
}
291297
},
292298
"torque_left": {
293-
"Dyad": {"placement": {"diagram": {"x1": 150, "y1": 620, "x2": 250, "y2": 720}}}
299+
"Dyad": {"placement": {"diagram": {"x1": 240, "y1": 670, "x2": 340, "y2": 570}}}
294300
},
295301
"torque_right": {
296-
"Dyad": {"placement": {"diagram": {"x1": 850, "y1": 620, "x2": 750, "y2": 720}}}
302+
"Dyad": {"placement": {"diagram": {"x1": 770, "y1": 670, "x2": 670, "y2": 570}}}
297303
},
298304
"damper_left": {
299-
"Dyad": {"placement": {"diagram": {"x1": 150, "y1": 760, "x2": 250, "y2": 860}}}
305+
"Dyad": {
306+
"placement": {"diagram": {"x1": 350, "y1": 490, "x2": 450, "y2": 590, "rot": 90}}
307+
}
300308
},
301309
"damper_right": {
302-
"Dyad": {"placement": {"diagram": {"x1": 850, "y1": 760, "x2": 750, "y2": 860}}}
310+
"Dyad": {
311+
"placement": {"diagram": {"x1": 650, "y1": 490, "x2": 550, "y2": 590, "rot": 270}}
312+
}
303313
},
304314
"torque": {
305315
"Dyad": {
@@ -341,53 +351,39 @@ metadata {
341351
"tags": []
342352
}
343353
},
344-
"id1": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}], "renderStyle": "standard"}},
345-
"id2": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}], "renderStyle": "standard"}},
346-
"id3": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}], "renderStyle": "standard"}},
347-
"id4": {
348-
"Dyad": {
349-
"edges": [
350-
{"S": 1, "M": [], "E": -1},
351-
{"S": -1, "M": [{"x": 200, "y": 670}], "E": 2},
352-
{"S": 3, "M": [{"x": 800, "y": 670}], "E": -1}
353-
],
354-
"junctions": [{"x": 300, "y": 560}],
355-
"renderStyle": "standard"
356-
}
357-
},
358-
"id5": {
359-
"Dyad": {
360-
"edges": [
361-
{"S": 1, "M": [], "E": -1},
362-
{"S": -1, "M": [], "E": 2},
363-
{"S": 3, "M": [], "E": -1}
364-
],
365-
"junctions": [{"x": 350, "y": 700}],
366-
"renderStyle": "standard"
367-
}
368-
},
369-
"id6": {
354+
"id14": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
355+
"id15": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
356+
"id16": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
357+
"id17": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
358+
"id18": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
359+
"id19": {"Dyad": {"edges": [{"S": 1, "M": [], "E": 2}]}},
360+
"id20": {
370361
"Dyad": {
371362
"edges": [
372-
{"S": 1, "M": [], "E": -1},
373-
{"S": -1, "M": [], "E": 2},
374-
{"S": 3, "M": [], "E": -1}
363+
{"S": 1, "M": [{"x": 210, "y": 620}], "E": -1},
364+
{
365+
"S": -1,
366+
"M": [{"x": 210, "y": 880}, {"x": 800, "y": 880}, {"x": 800, "y": 620}],
367+
"E": 2
368+
},
369+
{"S": 3, "M": [{"x": 110, "y": 880}], "E": -1}
375370
],
376-
"junctions": [{"x": 650, "y": 700}],
377-
"renderStyle": "standard"
371+
"junctions": [{"x": 210, "y": 880}]
378372
}
379373
},
380-
"id7": {
374+
"id21": {"Dyad": {"edges": [{"S": 1, "M": [{"x": 110, "y": 500}], "E": 2}]}},
375+
"id22": {
381376
"Dyad": {
382377
"edges": [
383378
{"S": 1, "M": [], "E": -1},
384-
{"S": -1, "M": [], "E": 2},
385-
{"S": 3, "M": [], "E": -1},
386-
{"S": 4, "M": [], "E": -1},
387-
{"S": 5, "M": [], "E": -1}
379+
{"S": 2, "M": [{"x": 290, "y": 460}], "E": -2},
380+
{"S": -2, "M": [], "E": -1},
381+
{"S": 3, "M": [], "E": -2},
382+
{"S": -1, "M": [], "E": -3},
383+
{"S": -3, "M": [{"x": 720, "y": 460}], "E": 4},
384+
{"S": 5, "M": [], "E": -3}
388385
],
389-
"junctions": [{"x": 500, "y": 900}],
390-
"renderStyle": "standard"
386+
"junctions": [{"x": 500, "y": 460}, {"x": 400, "y": 460}, {"x": 600, "y": 460}]
391387
}
392388
}
393389
}

generated/RollingDyadBot3D_definition.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,15 @@ the top level of the enclosing model.
172172
push!(__eqs, theta ~ pitch.phi)
173173
push!(__eqs, x_dot ~ ModelingToolkit.D_nounits(wheels.x))
174174
push!(__eqs, theta_dot ~ pitch.w)
175-
push!(__eqs, connect(wheels.frame_middle, pitch.frame_a))
176-
push!(__eqs, connect(pitch.frame_b, body.frame_a))
177-
push!(__eqs, connect(torque, gain_half.u))
175+
push!(__eqs, connect(body.frame_a, pitch.frame_b))
176+
push!(__eqs, connect(pitch.frame_a, wheels.frame_middle))
177+
push!(__eqs, connect(torque_left.spline, wheels.axis1))
178+
push!(__eqs, connect(torque_right.spline, wheels.axis2))
179+
push!(__eqs, connect(damper_right.spline_b, wheels.axis2))
180+
push!(__eqs, connect(damper_left.spline_b, wheels.axis1))
178181
push!(__eqs, connect(gain_half.y, torque_left.tau, torque_right.tau))
179-
push!(__eqs, connect(torque_left.spline, damper_left.spline_a, wheels.axis1))
180-
push!(__eqs, connect(torque_right.spline, damper_right.spline_a, wheels.axis2))
181-
push!(__eqs, connect(torque_left.support, torque_right.support, damper_left.spline_b, damper_right.spline_b, pitch.axis))
182+
push!(__eqs, connect(torque, gain_half.u))
183+
push!(__eqs, connect(pitch.axis, torque_left.support, damper_left.spline_a, torque_right.support, damper_right.spline_a))
182184

183185
# Return completely constructed System
184186
return System(__eqs, t, __vars, __params; systems=__systems, initial_conditions=__initial_conditions, guesses=__guesses, name, initialization_eqs=__initialization_eqs, bindings=__bindings, assertions=__assertions)

0 commit comments

Comments
 (0)