@things-factory/figure-ui 10.1.65 → 10.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/client/graphql/index.ts +0 -45
  2. package/client/modeller/figure-history-panel.ts +6 -145
  3. package/client/modeller/figure-v3-capability.ts +2 -2
  4. package/client/modeller/figure-v3-clips.ts +2 -2
  5. package/client/modeller/figure-v3-controls.ts +2 -2
  6. package/client/modeller/figure-v3-first-save.ts +1 -1
  7. package/client/modeller/figure-v3-links.ts +6 -6
  8. package/client/modeller/figure-v3-material.ts +11 -11
  9. package/client/modeller/figure-v3-parts.ts +7 -10
  10. package/client/modeller/figure-v3-preview.ts +3 -3
  11. package/client/modeller/figure-v3-properties.ts +5 -6
  12. package/client/modeller/figure-v3-verdict.ts +9 -10
  13. package/client/modeller/figure-view.ts +2 -3
  14. package/client/modeller/modeller-route.ts +2 -3
  15. package/client/modeller/scene-budget.ts +0 -14
  16. package/client/modeller/side-panel-styles.ts +5 -5
  17. package/client/modeller/v3-align.ts +16 -6
  18. package/client/modeller/v3-canvas.ts +12 -12
  19. package/client/modeller/v3-clips.ts +1 -1
  20. package/client/modeller/v3-controls.ts +1 -1
  21. package/client/modeller/v3-editor.ts +21 -21
  22. package/client/modeller/v3-fields.ts +1 -1
  23. package/client/modeller/v3-figure-facts.ts +1 -1
  24. package/client/modeller/v3-first-save.ts +3 -4
  25. package/client/modeller/v3-gizmo.ts +5 -5
  26. package/client/modeller/v3-help.ts +1 -1
  27. package/client/modeller/v3-joint-fan.ts +4 -5
  28. package/client/modeller/v3-keys.ts +1 -1
  29. package/client/modeller/v3-links.ts +9 -12
  30. package/client/modeller/v3-maturity.ts +22 -26
  31. package/client/modeller/v3-refusals.ts +17 -0
  32. package/client/modeller/v3-renderer.ts +1 -1
  33. package/client/modeller/v3-stage-model.ts +2 -2
  34. package/client/modeller/v3-thumbnail.ts +1 -3
  35. package/client/pages/figure-v3-modeller-page.ts +8 -11
  36. package/client/types.ts +2 -31
  37. package/dist-client/graphql/index.js +0 -45
  38. package/dist-client/graphql/index.js.map +1 -1
  39. package/dist-client/modeller/figure-history-panel.d.ts +4 -37
  40. package/dist-client/modeller/figure-history-panel.js +8 -154
  41. package/dist-client/modeller/figure-history-panel.js.map +1 -1
  42. package/dist-client/modeller/figure-v3-capability.d.ts +1 -1
  43. package/dist-client/modeller/figure-v3-capability.js +1 -1
  44. package/dist-client/modeller/figure-v3-capability.js.map +1 -1
  45. package/dist-client/modeller/figure-v3-clips.d.ts +2 -2
  46. package/dist-client/modeller/figure-v3-clips.js +2 -2
  47. package/dist-client/modeller/figure-v3-clips.js.map +1 -1
  48. package/dist-client/modeller/figure-v3-controls.d.ts +1 -1
  49. package/dist-client/modeller/figure-v3-controls.js +2 -2
  50. package/dist-client/modeller/figure-v3-controls.js.map +1 -1
  51. package/dist-client/modeller/figure-v3-first-save.d.ts +1 -1
  52. package/dist-client/modeller/figure-v3-first-save.js +1 -1
  53. package/dist-client/modeller/figure-v3-first-save.js.map +1 -1
  54. package/dist-client/modeller/figure-v3-links.d.ts +5 -5
  55. package/dist-client/modeller/figure-v3-links.js +6 -6
  56. package/dist-client/modeller/figure-v3-links.js.map +1 -1
  57. package/dist-client/modeller/figure-v3-material.d.ts +6 -6
  58. package/dist-client/modeller/figure-v3-material.js +11 -11
  59. package/dist-client/modeller/figure-v3-material.js.map +1 -1
  60. package/dist-client/modeller/figure-v3-parts.d.ts +6 -8
  61. package/dist-client/modeller/figure-v3-parts.js +1 -1
  62. package/dist-client/modeller/figure-v3-parts.js.map +1 -1
  63. package/dist-client/modeller/figure-v3-preview.js.map +1 -1
  64. package/dist-client/modeller/figure-v3-properties.d.ts +4 -5
  65. package/dist-client/modeller/figure-v3-properties.js +5 -6
  66. package/dist-client/modeller/figure-v3-properties.js.map +1 -1
  67. package/dist-client/modeller/figure-v3-verdict.d.ts +2 -2
  68. package/dist-client/modeller/figure-v3-verdict.js +9 -10
  69. package/dist-client/modeller/figure-v3-verdict.js.map +1 -1
  70. package/dist-client/modeller/figure-view.d.ts +2 -3
  71. package/dist-client/modeller/figure-view.js.map +1 -1
  72. package/dist-client/modeller/modeller-route.d.ts +2 -3
  73. package/dist-client/modeller/modeller-route.js +2 -3
  74. package/dist-client/modeller/modeller-route.js.map +1 -1
  75. package/dist-client/modeller/scene-budget.d.ts +0 -11
  76. package/dist-client/modeller/scene-budget.js +0 -12
  77. package/dist-client/modeller/scene-budget.js.map +1 -1
  78. package/dist-client/modeller/side-panel-styles.d.ts +2 -2
  79. package/dist-client/modeller/side-panel-styles.js +5 -5
  80. package/dist-client/modeller/side-panel-styles.js.map +1 -1
  81. package/dist-client/modeller/v3-align.d.ts +9 -5
  82. package/dist-client/modeller/v3-align.js +13 -3
  83. package/dist-client/modeller/v3-align.js.map +1 -1
  84. package/dist-client/modeller/v3-canvas.d.ts +4 -4
  85. package/dist-client/modeller/v3-canvas.js +9 -9
  86. package/dist-client/modeller/v3-canvas.js.map +1 -1
  87. package/dist-client/modeller/v3-clips.js.map +1 -1
  88. package/dist-client/modeller/v3-controls.js.map +1 -1
  89. package/dist-client/modeller/v3-editor.d.ts +13 -13
  90. package/dist-client/modeller/v3-editor.js +19 -18
  91. package/dist-client/modeller/v3-editor.js.map +1 -1
  92. package/dist-client/modeller/v3-fields.js.map +1 -1
  93. package/dist-client/modeller/v3-figure-facts.d.ts +1 -1
  94. package/dist-client/modeller/v3-figure-facts.js +1 -1
  95. package/dist-client/modeller/v3-figure-facts.js.map +1 -1
  96. package/dist-client/modeller/v3-first-save.js +3 -4
  97. package/dist-client/modeller/v3-first-save.js.map +1 -1
  98. package/dist-client/modeller/v3-gizmo.d.ts +5 -5
  99. package/dist-client/modeller/v3-gizmo.js +1 -1
  100. package/dist-client/modeller/v3-gizmo.js.map +1 -1
  101. package/dist-client/modeller/v3-help.d.ts +1 -1
  102. package/dist-client/modeller/v3-help.js +1 -1
  103. package/dist-client/modeller/v3-help.js.map +1 -1
  104. package/dist-client/modeller/v3-joint-fan.js +4 -5
  105. package/dist-client/modeller/v3-joint-fan.js.map +1 -1
  106. package/dist-client/modeller/v3-keys.js.map +1 -1
  107. package/dist-client/modeller/v3-links.d.ts +5 -7
  108. package/dist-client/modeller/v3-links.js +6 -8
  109. package/dist-client/modeller/v3-links.js.map +1 -1
  110. package/dist-client/modeller/v3-maturity.d.ts +7 -7
  111. package/dist-client/modeller/v3-maturity.js +20 -24
  112. package/dist-client/modeller/v3-maturity.js.map +1 -1
  113. package/dist-client/modeller/v3-refusals.d.ts +6 -0
  114. package/dist-client/modeller/v3-refusals.js +18 -0
  115. package/dist-client/modeller/v3-refusals.js.map +1 -1
  116. package/dist-client/modeller/v3-renderer.js +1 -1
  117. package/dist-client/modeller/v3-renderer.js.map +1 -1
  118. package/dist-client/modeller/v3-stage-model.js.map +1 -1
  119. package/dist-client/modeller/v3-thumbnail.js +1 -3
  120. package/dist-client/modeller/v3-thumbnail.js.map +1 -1
  121. package/dist-client/pages/figure-v3-modeller-page.d.ts +4 -5
  122. package/dist-client/pages/figure-v3-modeller-page.js +8 -11
  123. package/dist-client/pages/figure-v3-modeller-page.js.map +1 -1
  124. package/dist-client/route.d.ts +1 -1
  125. package/dist-client/tsconfig.fui.tsbuildinfo +1 -1
  126. package/dist-client/tsconfig.tsbuildinfo +1 -1
  127. package/dist-client/types.d.ts +2 -29
  128. package/dist-client/types.js +3 -0
  129. package/dist-client/types.js.map +1 -1
  130. package/docs/v3-product-cutover.md +14 -24
  131. package/package.json +5 -5
  132. package/test/browser/modeller-page.js +6 -7
  133. package/test/browser/modeller.check.mjs +9 -16
  134. package/test/fixtures/joint-column.json +1138 -0
  135. package/test/fixtures/joint-roller.json +872 -0
  136. package/test/fixtures/robot-arm-6dof.json +2776 -0
  137. package/test/i18n-prefix-guard.test.ts +0 -31
  138. package/test/modeller-route.test.ts +2 -3
  139. package/test/v3-align.test.ts +9 -4
  140. package/test/v3-clips.test.ts +1 -1
  141. package/test/v3-controls.test.ts +1 -1
  142. package/test/v3-fields.test.ts +4 -4
  143. package/test/v3-first-save.test.ts +1 -1
  144. package/test/v3-gizmo.test.ts +5 -5
  145. package/test/v3-joint-fan.test.ts +12 -42
  146. package/test/v3-keys.test.ts +1 -1
  147. package/test/v3-layout.test.ts +4 -5
  148. package/test/v3-links.test.ts +3 -3
  149. package/test/v3-material.test.ts +3 -3
  150. package/test/v3-maturity.test.ts +8 -9
  151. package/test/v3-parts-wiring.test.ts +3 -3
  152. package/test/v3-preview.test.ts +1 -1
  153. package/test/v3-product-write.test.ts +1 -1
  154. package/test/v3-properties.test.ts +3 -3
  155. package/test/v3-refusals.test.ts +12 -0
  156. package/test/v3-release-panel.test.ts +5 -5
  157. package/test/v3-scene-canvas.test.ts +2 -2
  158. package/test/v3-theme.test.ts +2 -2
  159. package/test/v3-verdict.test.ts +2 -2
  160. package/test/v3-view.test.ts +2 -2
  161. package/translations/en.json +2 -143
  162. package/translations/ja.json +2 -143
  163. package/translations/ko.json +2 -143
  164. package/translations/ms.json +2 -143
  165. package/translations/zh.json +2 -143
  166. package/client/modeller/figure-source.ts +0 -437
  167. package/client/modeller/part-edits.ts +0 -312
  168. package/dist-client/modeller/figure-source.d.ts +0 -238
  169. package/dist-client/modeller/figure-source.js +0 -193
  170. package/dist-client/modeller/figure-source.js.map +0 -1
  171. package/dist-client/modeller/part-edits.d.ts +0 -89
  172. package/dist-client/modeller/part-edits.js +0 -270
  173. package/dist-client/modeller/part-edits.js.map +0 -1
  174. package/test/expect.ts +0 -57
  175. package/test/figure-source.test.ts +0 -511
  176. package/test/part-edits.test.ts +0 -350
@@ -0,0 +1,2776 @@
1
+ {
2
+ "version": "figure-v3-asset-1",
3
+ "name": "ROBOT_ARM_6DOF",
4
+ "document": {
5
+ "version": "figure-v3-prototype-1",
6
+ "model": {
7
+ "version": "r3-spatial-1",
8
+ "inputs": [
9
+ {
10
+ "id": "size.x",
11
+ "unit": "mm",
12
+ "min": 1,
13
+ "max": 6000,
14
+ "role": "design"
15
+ },
16
+ {
17
+ "id": "size.y",
18
+ "unit": "mm",
19
+ "min": 1,
20
+ "max": 14000,
21
+ "role": "design"
22
+ },
23
+ {
24
+ "id": "size.z",
25
+ "unit": "mm",
26
+ "min": 1,
27
+ "max": 6000,
28
+ "role": "design"
29
+ },
30
+ {
31
+ "id": "base-pan",
32
+ "unit": "deg",
33
+ "min": -180,
34
+ "max": 180,
35
+ "role": "state"
36
+ },
37
+ {
38
+ "id": "shoulder-lift",
39
+ "unit": "deg",
40
+ "min": -90,
41
+ "max": 90,
42
+ "role": "state"
43
+ },
44
+ {
45
+ "id": "elbow-flex",
46
+ "unit": "deg",
47
+ "min": -150,
48
+ "max": 150,
49
+ "role": "state"
50
+ },
51
+ {
52
+ "id": "wrist-pitch",
53
+ "unit": "deg",
54
+ "min": -120,
55
+ "max": 120,
56
+ "role": "state"
57
+ },
58
+ {
59
+ "id": "wrist-yaw",
60
+ "unit": "deg",
61
+ "min": -180,
62
+ "max": 180,
63
+ "role": "state"
64
+ },
65
+ {
66
+ "id": "tool-roll",
67
+ "unit": "deg",
68
+ "min": -360,
69
+ "max": 360,
70
+ "role": "state"
71
+ },
72
+ {
73
+ "id": "gripper",
74
+ "unit": "percent",
75
+ "min": 0,
76
+ "max": 100,
77
+ "role": "state"
78
+ }
79
+ ],
80
+ "constants": [
81
+ {
82
+ "id": "k.base.x",
83
+ "unit": "mm",
84
+ "value": 600
85
+ },
86
+ {
87
+ "id": "k.base.y",
88
+ "unit": "mm",
89
+ "value": 1400
90
+ },
91
+ {
92
+ "id": "k.pedestal.y.at",
93
+ "unit": "ratio",
94
+ "value": -0.464286
95
+ },
96
+ {
97
+ "id": "k.half",
98
+ "unit": "ratio",
99
+ "value": 0.5
100
+ },
101
+ {
102
+ "id": "k.deg.0",
103
+ "unit": "deg",
104
+ "value": 0
105
+ },
106
+ {
107
+ "id": "k.shoulder.y.at",
108
+ "unit": "ratio",
109
+ "value": -0.378571
110
+ },
111
+ {
112
+ "id": "k.upper-arm.y.at",
113
+ "unit": "ratio",
114
+ "value": -0.178571
115
+ },
116
+ {
117
+ "id": "k.forearm.y.at",
118
+ "unit": "ratio",
119
+ "value": 0.107143
120
+ },
121
+ {
122
+ "id": "k.wrist-1.y.at",
123
+ "unit": "ratio",
124
+ "value": 0.275
125
+ },
126
+ {
127
+ "id": "k.wrist-2.y.at",
128
+ "unit": "ratio",
129
+ "value": 0.335714
130
+ },
131
+ {
132
+ "id": "k.flange.y.at",
133
+ "unit": "ratio",
134
+ "value": 0.378571
135
+ },
136
+ {
137
+ "id": "k.finger-left.x.at",
138
+ "unit": "ratio",
139
+ "value": -0.058333
140
+ },
141
+ {
142
+ "id": "k.finger-left.y.at",
143
+ "unit": "ratio",
144
+ "value": 0.414286
145
+ },
146
+ {
147
+ "id": "k.finger-right.x.at",
148
+ "unit": "ratio",
149
+ "value": 0.058333
150
+ },
151
+ {
152
+ "id": "k.minusHalf",
153
+ "unit": "ratio",
154
+ "value": -0.5
155
+ },
156
+ {
157
+ "id": "k.zero",
158
+ "unit": "mm",
159
+ "value": 0
160
+ },
161
+ {
162
+ "id": "k.gripper.finger-left.translation.min",
163
+ "unit": "percent",
164
+ "value": 0
165
+ },
166
+ {
167
+ "id": "k.gripper.finger-left.translation.slope",
168
+ "unit": "mm",
169
+ "value": 20
170
+ },
171
+ {
172
+ "id": "k.gripper.finger-right.translation.slope",
173
+ "unit": "mm",
174
+ "value": -20
175
+ },
176
+ {
177
+ "id": "k.base-pan.base-pan.min",
178
+ "unit": "deg",
179
+ "value": 180
180
+ },
181
+ {
182
+ "id": "k.base-pan.base-pan.slope",
183
+ "unit": "ratio",
184
+ "value": 1
185
+ },
186
+ {
187
+ "id": "k.base-pan.base-pan.v0",
188
+ "unit": "deg",
189
+ "value": -180
190
+ },
191
+ {
192
+ "id": "k.base-pan.origin.y.offset",
193
+ "unit": "mm",
194
+ "value": 50
195
+ },
196
+ {
197
+ "id": "k.base-pan.axis.x",
198
+ "unit": "ratio",
199
+ "value": 0
200
+ },
201
+ {
202
+ "id": "k.shoulder-lift.shoulder-lift.min",
203
+ "unit": "deg",
204
+ "value": 90
205
+ },
206
+ {
207
+ "id": "k.shoulder-lift.shoulder-lift.v0",
208
+ "unit": "deg",
209
+ "value": -90
210
+ },
211
+ {
212
+ "id": "k.shoulder-lift.origin.y.offset",
213
+ "unit": "mm",
214
+ "value": 70
215
+ },
216
+ {
217
+ "id": "k.elbow-flex.elbow-flex.min",
218
+ "unit": "deg",
219
+ "value": 150
220
+ },
221
+ {
222
+ "id": "k.elbow-flex.elbow-flex.v0",
223
+ "unit": "deg",
224
+ "value": -150
225
+ },
226
+ {
227
+ "id": "k.elbow-flex.origin.y.offset",
228
+ "unit": "mm",
229
+ "value": 210
230
+ },
231
+ {
232
+ "id": "k.wrist-pitch.wrist-pitch.min",
233
+ "unit": "deg",
234
+ "value": 120
235
+ },
236
+ {
237
+ "id": "k.wrist-pitch.wrist-pitch.v0",
238
+ "unit": "deg",
239
+ "value": -120
240
+ },
241
+ {
242
+ "id": "k.wrist-pitch.origin.y.offset",
243
+ "unit": "mm",
244
+ "value": 190
245
+ },
246
+ {
247
+ "id": "k.wrist-yaw.origin.y.offset",
248
+ "unit": "mm",
249
+ "value": 45
250
+ },
251
+ {
252
+ "id": "k.tool-roll.tool-roll.min",
253
+ "unit": "deg",
254
+ "value": 360
255
+ },
256
+ {
257
+ "id": "k.tool-roll.tool-roll.v0",
258
+ "unit": "deg",
259
+ "value": -360
260
+ },
261
+ {
262
+ "id": "k.tool-roll.origin.y.offset",
263
+ "unit": "mm",
264
+ "value": 40
265
+ },
266
+ {
267
+ "id": "k.pedestal.dim.radiusX",
268
+ "unit": "mm",
269
+ "value": 180
270
+ },
271
+ {
272
+ "id": "k.pedestal.dim.y",
273
+ "unit": "mm",
274
+ "value": 100
275
+ },
276
+ {
277
+ "id": "k.shoulder.dim.radiusX",
278
+ "unit": "mm",
279
+ "value": 110
280
+ },
281
+ {
282
+ "id": "k.shoulder.dim.y",
283
+ "unit": "mm",
284
+ "value": 140
285
+ },
286
+ {
287
+ "id": "k.upper-arm.dim.y",
288
+ "unit": "mm",
289
+ "value": 420
290
+ },
291
+ {
292
+ "id": "k.forearm.dim.y",
293
+ "unit": "mm",
294
+ "value": 380
295
+ },
296
+ {
297
+ "id": "k.wrist-1.dim.y",
298
+ "unit": "mm",
299
+ "value": 90
300
+ },
301
+ {
302
+ "id": "k.wrist-2.dim.y",
303
+ "unit": "mm",
304
+ "value": 80
305
+ },
306
+ {
307
+ "id": "k.flange.dim.radiusX",
308
+ "unit": "mm",
309
+ "value": 35
310
+ },
311
+ {
312
+ "id": "k.finger-left.dim.x",
313
+ "unit": "mm",
314
+ "value": 12
315
+ },
316
+ {
317
+ "id": "k.finger-left.dim.y",
318
+ "unit": "mm",
319
+ "value": 60
320
+ },
321
+ {
322
+ "id": "k.finger-left.dim.z",
323
+ "unit": "mm",
324
+ "value": 24
325
+ }
326
+ ],
327
+ "nodes": [
328
+ {
329
+ "id": "scale.x",
330
+ "op": "div@1",
331
+ "args": [
332
+ "size.x",
333
+ "k.base.x"
334
+ ],
335
+ "outputs": {
336
+ "value": "scale.x.value"
337
+ }
338
+ },
339
+ {
340
+ "id": "scale.y",
341
+ "op": "div@1",
342
+ "args": [
343
+ "size.y",
344
+ "k.base.y"
345
+ ],
346
+ "outputs": {
347
+ "value": "scale.y.value"
348
+ }
349
+ },
350
+ {
351
+ "id": "pedestal.y.centre",
352
+ "op": "mul@1",
353
+ "args": [
354
+ "size.y",
355
+ "k.pedestal.y.at"
356
+ ],
357
+ "outputs": {
358
+ "value": "pedestal.y.centre.value"
359
+ }
360
+ },
361
+ {
362
+ "id": "scale.z",
363
+ "op": "div@1",
364
+ "args": [
365
+ "size.z",
366
+ "k.base.x"
367
+ ],
368
+ "outputs": {
369
+ "value": "scale.z.value"
370
+ }
371
+ },
372
+ {
373
+ "id": "pedestal.round",
374
+ "op": "geomean@1",
375
+ "args": [
376
+ "scale.x.value",
377
+ "scale.z.value"
378
+ ],
379
+ "outputs": {
380
+ "value": "pedestal.round.value"
381
+ }
382
+ },
383
+ {
384
+ "id": "pedestal.y.lift",
385
+ "op": "mul@1",
386
+ "args": [
387
+ "size.y",
388
+ "k.half"
389
+ ],
390
+ "outputs": {
391
+ "value": "pedestal.y.lift.value"
392
+ }
393
+ },
394
+ {
395
+ "id": "pedestal.y.fromBottom",
396
+ "op": "add@1",
397
+ "args": [
398
+ "pedestal.y.centre.value",
399
+ "pedestal.y.lift.value"
400
+ ],
401
+ "outputs": {
402
+ "value": "pedestal.y.fromBottom.value"
403
+ }
404
+ },
405
+ {
406
+ "id": "shoulder.y.centre",
407
+ "op": "mul@1",
408
+ "args": [
409
+ "size.y",
410
+ "k.shoulder.y.at"
411
+ ],
412
+ "outputs": {
413
+ "value": "shoulder.y.centre.value"
414
+ }
415
+ },
416
+ {
417
+ "id": "shoulder.round",
418
+ "op": "geomean@1",
419
+ "args": [
420
+ "scale.x.value",
421
+ "scale.z.value"
422
+ ],
423
+ "outputs": {
424
+ "value": "shoulder.round.value"
425
+ }
426
+ },
427
+ {
428
+ "id": "shoulder.y.lift",
429
+ "op": "mul@1",
430
+ "args": [
431
+ "size.y",
432
+ "k.half"
433
+ ],
434
+ "outputs": {
435
+ "value": "shoulder.y.lift.value"
436
+ }
437
+ },
438
+ {
439
+ "id": "shoulder.y.fromBottom",
440
+ "op": "add@1",
441
+ "args": [
442
+ "shoulder.y.centre.value",
443
+ "shoulder.y.lift.value"
444
+ ],
445
+ "outputs": {
446
+ "value": "shoulder.y.fromBottom.value"
447
+ }
448
+ },
449
+ {
450
+ "id": "upper-arm.y.centre",
451
+ "op": "mul@1",
452
+ "args": [
453
+ "size.y",
454
+ "k.upper-arm.y.at"
455
+ ],
456
+ "outputs": {
457
+ "value": "upper-arm.y.centre.value"
458
+ }
459
+ },
460
+ {
461
+ "id": "upper-arm.y.lift",
462
+ "op": "mul@1",
463
+ "args": [
464
+ "size.y",
465
+ "k.half"
466
+ ],
467
+ "outputs": {
468
+ "value": "upper-arm.y.lift.value"
469
+ }
470
+ },
471
+ {
472
+ "id": "upper-arm.y.fromBottom",
473
+ "op": "add@1",
474
+ "args": [
475
+ "upper-arm.y.centre.value",
476
+ "upper-arm.y.lift.value"
477
+ ],
478
+ "outputs": {
479
+ "value": "upper-arm.y.fromBottom.value"
480
+ }
481
+ },
482
+ {
483
+ "id": "forearm.y.centre",
484
+ "op": "mul@1",
485
+ "args": [
486
+ "size.y",
487
+ "k.forearm.y.at"
488
+ ],
489
+ "outputs": {
490
+ "value": "forearm.y.centre.value"
491
+ }
492
+ },
493
+ {
494
+ "id": "forearm.y.lift",
495
+ "op": "mul@1",
496
+ "args": [
497
+ "size.y",
498
+ "k.half"
499
+ ],
500
+ "outputs": {
501
+ "value": "forearm.y.lift.value"
502
+ }
503
+ },
504
+ {
505
+ "id": "forearm.y.fromBottom",
506
+ "op": "add@1",
507
+ "args": [
508
+ "forearm.y.centre.value",
509
+ "forearm.y.lift.value"
510
+ ],
511
+ "outputs": {
512
+ "value": "forearm.y.fromBottom.value"
513
+ }
514
+ },
515
+ {
516
+ "id": "wrist-1.y.centre",
517
+ "op": "mul@1",
518
+ "args": [
519
+ "size.y",
520
+ "k.wrist-1.y.at"
521
+ ],
522
+ "outputs": {
523
+ "value": "wrist-1.y.centre.value"
524
+ }
525
+ },
526
+ {
527
+ "id": "wrist-1.round",
528
+ "op": "geomean@1",
529
+ "args": [
530
+ "scale.x.value",
531
+ "scale.z.value"
532
+ ],
533
+ "outputs": {
534
+ "value": "wrist-1.round.value"
535
+ }
536
+ },
537
+ {
538
+ "id": "wrist-1.y.lift",
539
+ "op": "mul@1",
540
+ "args": [
541
+ "size.y",
542
+ "k.half"
543
+ ],
544
+ "outputs": {
545
+ "value": "wrist-1.y.lift.value"
546
+ }
547
+ },
548
+ {
549
+ "id": "wrist-1.y.fromBottom",
550
+ "op": "add@1",
551
+ "args": [
552
+ "wrist-1.y.centre.value",
553
+ "wrist-1.y.lift.value"
554
+ ],
555
+ "outputs": {
556
+ "value": "wrist-1.y.fromBottom.value"
557
+ }
558
+ },
559
+ {
560
+ "id": "wrist-2.y.centre",
561
+ "op": "mul@1",
562
+ "args": [
563
+ "size.y",
564
+ "k.wrist-2.y.at"
565
+ ],
566
+ "outputs": {
567
+ "value": "wrist-2.y.centre.value"
568
+ }
569
+ },
570
+ {
571
+ "id": "wrist-2.round",
572
+ "op": "geomean@1",
573
+ "args": [
574
+ "scale.x.value",
575
+ "scale.z.value"
576
+ ],
577
+ "outputs": {
578
+ "value": "wrist-2.round.value"
579
+ }
580
+ },
581
+ {
582
+ "id": "wrist-2.y.lift",
583
+ "op": "mul@1",
584
+ "args": [
585
+ "size.y",
586
+ "k.half"
587
+ ],
588
+ "outputs": {
589
+ "value": "wrist-2.y.lift.value"
590
+ }
591
+ },
592
+ {
593
+ "id": "wrist-2.y.fromBottom",
594
+ "op": "add@1",
595
+ "args": [
596
+ "wrist-2.y.centre.value",
597
+ "wrist-2.y.lift.value"
598
+ ],
599
+ "outputs": {
600
+ "value": "wrist-2.y.fromBottom.value"
601
+ }
602
+ },
603
+ {
604
+ "id": "flange.y.centre",
605
+ "op": "mul@1",
606
+ "args": [
607
+ "size.y",
608
+ "k.flange.y.at"
609
+ ],
610
+ "outputs": {
611
+ "value": "flange.y.centre.value"
612
+ }
613
+ },
614
+ {
615
+ "id": "flange.round",
616
+ "op": "geomean@1",
617
+ "args": [
618
+ "scale.x.value",
619
+ "scale.z.value"
620
+ ],
621
+ "outputs": {
622
+ "value": "flange.round.value"
623
+ }
624
+ },
625
+ {
626
+ "id": "flange.y.lift",
627
+ "op": "mul@1",
628
+ "args": [
629
+ "size.y",
630
+ "k.half"
631
+ ],
632
+ "outputs": {
633
+ "value": "flange.y.lift.value"
634
+ }
635
+ },
636
+ {
637
+ "id": "flange.y.fromBottom",
638
+ "op": "add@1",
639
+ "args": [
640
+ "flange.y.centre.value",
641
+ "flange.y.lift.value"
642
+ ],
643
+ "outputs": {
644
+ "value": "flange.y.fromBottom.value"
645
+ }
646
+ },
647
+ {
648
+ "id": "finger-left.x.centre",
649
+ "op": "mul@1",
650
+ "args": [
651
+ "size.x",
652
+ "k.finger-left.x.at"
653
+ ],
654
+ "outputs": {
655
+ "value": "finger-left.x.centre.value"
656
+ }
657
+ },
658
+ {
659
+ "id": "finger-left.y.centre",
660
+ "op": "mul@1",
661
+ "args": [
662
+ "size.y",
663
+ "k.finger-left.y.at"
664
+ ],
665
+ "outputs": {
666
+ "value": "finger-left.y.centre.value"
667
+ }
668
+ },
669
+ {
670
+ "id": "finger-left.y.lift",
671
+ "op": "mul@1",
672
+ "args": [
673
+ "size.y",
674
+ "k.half"
675
+ ],
676
+ "outputs": {
677
+ "value": "finger-left.y.lift.value"
678
+ }
679
+ },
680
+ {
681
+ "id": "finger-left.y.fromBottom",
682
+ "op": "add@1",
683
+ "args": [
684
+ "finger-left.y.centre.value",
685
+ "finger-left.y.lift.value"
686
+ ],
687
+ "outputs": {
688
+ "value": "finger-left.y.fromBottom.value"
689
+ }
690
+ },
691
+ {
692
+ "id": "finger-right.x.centre",
693
+ "op": "mul@1",
694
+ "args": [
695
+ "size.x",
696
+ "k.finger-right.x.at"
697
+ ],
698
+ "outputs": {
699
+ "value": "finger-right.x.centre.value"
700
+ }
701
+ },
702
+ {
703
+ "id": "finger-right.y.centre",
704
+ "op": "mul@1",
705
+ "args": [
706
+ "size.y",
707
+ "k.finger-left.y.at"
708
+ ],
709
+ "outputs": {
710
+ "value": "finger-right.y.centre.value"
711
+ }
712
+ },
713
+ {
714
+ "id": "finger-right.y.lift",
715
+ "op": "mul@1",
716
+ "args": [
717
+ "size.y",
718
+ "k.half"
719
+ ],
720
+ "outputs": {
721
+ "value": "finger-right.y.lift.value"
722
+ }
723
+ },
724
+ {
725
+ "id": "finger-right.y.fromBottom",
726
+ "op": "add@1",
727
+ "args": [
728
+ "finger-right.y.centre.value",
729
+ "finger-right.y.lift.value"
730
+ ],
731
+ "outputs": {
732
+ "value": "finger-right.y.fromBottom.value"
733
+ }
734
+ },
735
+ {
736
+ "id": "occupancy.x.min",
737
+ "op": "mul@1",
738
+ "args": [
739
+ "size.x",
740
+ "k.minusHalf"
741
+ ],
742
+ "outputs": {
743
+ "value": "occupancy.x.min.value"
744
+ }
745
+ },
746
+ {
747
+ "id": "occupancy.x.max",
748
+ "op": "mul@1",
749
+ "args": [
750
+ "size.x",
751
+ "k.half"
752
+ ],
753
+ "outputs": {
754
+ "value": "occupancy.x.max.value"
755
+ }
756
+ },
757
+ {
758
+ "id": "occupancy.z.min",
759
+ "op": "mul@1",
760
+ "args": [
761
+ "size.z",
762
+ "k.minusHalf"
763
+ ],
764
+ "outputs": {
765
+ "value": "occupancy.z.min.value"
766
+ }
767
+ },
768
+ {
769
+ "id": "occupancy.z.max",
770
+ "op": "mul@1",
771
+ "args": [
772
+ "size.z",
773
+ "k.half"
774
+ ],
775
+ "outputs": {
776
+ "value": "occupancy.z.max.value"
777
+ }
778
+ },
779
+ {
780
+ "id": "gripper.finger-left.translation.u",
781
+ "op": "add@1",
782
+ "args": [
783
+ "gripper",
784
+ "k.gripper.finger-left.translation.min"
785
+ ],
786
+ "outputs": {
787
+ "value": "gripper.finger-left.translation.u.value"
788
+ }
789
+ },
790
+ {
791
+ "id": "gripper.finger-left.translation.scaled",
792
+ "op": "mul@1",
793
+ "args": [
794
+ "gripper.finger-left.translation.u.value",
795
+ "k.gripper.finger-left.translation.slope"
796
+ ],
797
+ "outputs": {
798
+ "value": "gripper.finger-left.translation.scaled.value"
799
+ }
800
+ },
801
+ {
802
+ "id": "gripper.finger-left.translation.q",
803
+ "op": "add@1",
804
+ "args": [
805
+ "gripper.finger-left.translation.scaled.value",
806
+ "k.zero"
807
+ ],
808
+ "outputs": {
809
+ "value": "gripper.finger-left.translation.q.value"
810
+ }
811
+ },
812
+ {
813
+ "id": "gripper.finger-left.shift.x",
814
+ "op": "mul@1",
815
+ "args": [
816
+ "gripper.finger-left.translation.q.value",
817
+ "scale.x.value"
818
+ ],
819
+ "outputs": {
820
+ "value": "gripper.finger-left.shift.x.value"
821
+ }
822
+ },
823
+ {
824
+ "id": "gripper.finger-right.translation.u",
825
+ "op": "add@1",
826
+ "args": [
827
+ "gripper",
828
+ "k.gripper.finger-left.translation.min"
829
+ ],
830
+ "outputs": {
831
+ "value": "gripper.finger-right.translation.u.value"
832
+ }
833
+ },
834
+ {
835
+ "id": "gripper.finger-right.translation.scaled",
836
+ "op": "mul@1",
837
+ "args": [
838
+ "gripper.finger-right.translation.u.value",
839
+ "k.gripper.finger-right.translation.slope"
840
+ ],
841
+ "outputs": {
842
+ "value": "gripper.finger-right.translation.scaled.value"
843
+ }
844
+ },
845
+ {
846
+ "id": "gripper.finger-right.translation.q",
847
+ "op": "add@1",
848
+ "args": [
849
+ "gripper.finger-right.translation.scaled.value",
850
+ "k.zero"
851
+ ],
852
+ "outputs": {
853
+ "value": "gripper.finger-right.translation.q.value"
854
+ }
855
+ },
856
+ {
857
+ "id": "gripper.finger-right.shift.x",
858
+ "op": "mul@1",
859
+ "args": [
860
+ "gripper.finger-right.translation.q.value",
861
+ "scale.x.value"
862
+ ],
863
+ "outputs": {
864
+ "value": "gripper.finger-right.shift.x.value"
865
+ }
866
+ },
867
+ {
868
+ "id": "base-pan.base-pan.u",
869
+ "op": "add@1",
870
+ "args": [
871
+ "base-pan",
872
+ "k.base-pan.base-pan.min"
873
+ ],
874
+ "outputs": {
875
+ "value": "base-pan.base-pan.u.value"
876
+ }
877
+ },
878
+ {
879
+ "id": "base-pan.base-pan.scaled",
880
+ "op": "mul@1",
881
+ "args": [
882
+ "base-pan.base-pan.u.value",
883
+ "k.base-pan.base-pan.slope"
884
+ ],
885
+ "outputs": {
886
+ "value": "base-pan.base-pan.scaled.value"
887
+ }
888
+ },
889
+ {
890
+ "id": "base-pan.base-pan.q",
891
+ "op": "add@1",
892
+ "args": [
893
+ "base-pan.base-pan.scaled.value",
894
+ "k.base-pan.base-pan.v0"
895
+ ],
896
+ "outputs": {
897
+ "value": "base-pan.base-pan.q.value"
898
+ }
899
+ },
900
+ {
901
+ "id": "base-pan.origin.x",
902
+ "op": "add@1",
903
+ "args": [
904
+ "k.zero",
905
+ "k.zero"
906
+ ],
907
+ "outputs": {
908
+ "value": "base-pan.origin.x.value"
909
+ }
910
+ },
911
+ {
912
+ "id": "base-pan.origin.y.offset",
913
+ "op": "mul@1",
914
+ "args": [
915
+ "k.base-pan.origin.y.offset",
916
+ "scale.y.value"
917
+ ],
918
+ "outputs": {
919
+ "value": "base-pan.origin.y.offset.value"
920
+ }
921
+ },
922
+ {
923
+ "id": "base-pan.origin.y",
924
+ "op": "add@1",
925
+ "args": [
926
+ "pedestal.y.fromBottom.value",
927
+ "base-pan.origin.y.offset.value"
928
+ ],
929
+ "outputs": {
930
+ "value": "base-pan.origin.y.value"
931
+ }
932
+ },
933
+ {
934
+ "id": "base-pan.origin.z",
935
+ "op": "add@1",
936
+ "args": [
937
+ "k.zero",
938
+ "k.zero"
939
+ ],
940
+ "outputs": {
941
+ "value": "base-pan.origin.z.value"
942
+ }
943
+ },
944
+ {
945
+ "id": "base-pan.frameOnParent",
946
+ "op": "rigid@1",
947
+ "args": [
948
+ "base-pan.origin.x.value",
949
+ "base-pan.origin.y.value",
950
+ "base-pan.origin.z.value",
951
+ "k.deg.0",
952
+ "k.deg.0",
953
+ "k.deg.0"
954
+ ],
955
+ "outputs": {
956
+ "pose": "base-pan.frameOnParent.value"
957
+ },
958
+ "params": {
959
+ "from": "base-pan.onParent",
960
+ "to": "asset"
961
+ }
962
+ },
963
+ {
964
+ "id": "base-pan.frameOnChild",
965
+ "op": "rigid@1",
966
+ "args": [
967
+ "base-pan.origin.x.value",
968
+ "base-pan.origin.y.value",
969
+ "base-pan.origin.z.value",
970
+ "k.deg.0",
971
+ "k.deg.0",
972
+ "k.deg.0"
973
+ ],
974
+ "outputs": {
975
+ "pose": "base-pan.frameOnChild.value"
976
+ },
977
+ "params": {
978
+ "from": "base-pan.onChild",
979
+ "to": "asset.rest"
980
+ }
981
+ },
982
+ {
983
+ "id": "base-pan.motion",
984
+ "op": "axis-turn@1",
985
+ "args": [
986
+ "k.base-pan.axis.x",
987
+ "k.base-pan.base-pan.slope",
988
+ "k.base-pan.axis.x",
989
+ "base-pan.base-pan.q.value"
990
+ ],
991
+ "outputs": {
992
+ "pose": "base-pan.motion.value"
993
+ },
994
+ "params": {
995
+ "from": "base-pan.onChild",
996
+ "to": "base-pan.onParent"
997
+ }
998
+ },
999
+ {
1000
+ "id": "base-pan.attach",
1001
+ "op": "attach@1",
1002
+ "args": [
1003
+ "base-pan.frameOnParent.value",
1004
+ "base-pan.motion.value",
1005
+ "base-pan.frameOnChild.value"
1006
+ ],
1007
+ "outputs": {
1008
+ "pose": "base-pan.attach.value"
1009
+ }
1010
+ },
1011
+ {
1012
+ "id": "shoulder-lift.shoulder-lift.u",
1013
+ "op": "add@1",
1014
+ "args": [
1015
+ "shoulder-lift",
1016
+ "k.shoulder-lift.shoulder-lift.min"
1017
+ ],
1018
+ "outputs": {
1019
+ "value": "shoulder-lift.shoulder-lift.u.value"
1020
+ }
1021
+ },
1022
+ {
1023
+ "id": "shoulder-lift.shoulder-lift.scaled",
1024
+ "op": "mul@1",
1025
+ "args": [
1026
+ "shoulder-lift.shoulder-lift.u.value",
1027
+ "k.base-pan.base-pan.slope"
1028
+ ],
1029
+ "outputs": {
1030
+ "value": "shoulder-lift.shoulder-lift.scaled.value"
1031
+ }
1032
+ },
1033
+ {
1034
+ "id": "shoulder-lift.shoulder-lift.q",
1035
+ "op": "add@1",
1036
+ "args": [
1037
+ "shoulder-lift.shoulder-lift.scaled.value",
1038
+ "k.shoulder-lift.shoulder-lift.v0"
1039
+ ],
1040
+ "outputs": {
1041
+ "value": "shoulder-lift.shoulder-lift.q.value"
1042
+ }
1043
+ },
1044
+ {
1045
+ "id": "shoulder-lift.origin.x",
1046
+ "op": "add@1",
1047
+ "args": [
1048
+ "k.zero",
1049
+ "k.zero"
1050
+ ],
1051
+ "outputs": {
1052
+ "value": "shoulder-lift.origin.x.value"
1053
+ }
1054
+ },
1055
+ {
1056
+ "id": "shoulder-lift.origin.y.offset",
1057
+ "op": "mul@1",
1058
+ "args": [
1059
+ "k.shoulder-lift.origin.y.offset",
1060
+ "scale.y.value"
1061
+ ],
1062
+ "outputs": {
1063
+ "value": "shoulder-lift.origin.y.offset.value"
1064
+ }
1065
+ },
1066
+ {
1067
+ "id": "shoulder-lift.origin.y",
1068
+ "op": "add@1",
1069
+ "args": [
1070
+ "shoulder.y.fromBottom.value",
1071
+ "shoulder-lift.origin.y.offset.value"
1072
+ ],
1073
+ "outputs": {
1074
+ "value": "shoulder-lift.origin.y.value"
1075
+ }
1076
+ },
1077
+ {
1078
+ "id": "shoulder-lift.origin.z",
1079
+ "op": "add@1",
1080
+ "args": [
1081
+ "k.zero",
1082
+ "k.zero"
1083
+ ],
1084
+ "outputs": {
1085
+ "value": "shoulder-lift.origin.z.value"
1086
+ }
1087
+ },
1088
+ {
1089
+ "id": "shoulder-lift.frameOnParent",
1090
+ "op": "rigid@1",
1091
+ "args": [
1092
+ "shoulder-lift.origin.x.value",
1093
+ "shoulder-lift.origin.y.value",
1094
+ "shoulder-lift.origin.z.value",
1095
+ "k.deg.0",
1096
+ "k.deg.0",
1097
+ "k.deg.0"
1098
+ ],
1099
+ "outputs": {
1100
+ "pose": "shoulder-lift.frameOnParent.value"
1101
+ },
1102
+ "params": {
1103
+ "from": "shoulder-lift.onParent",
1104
+ "to": "asset.rest"
1105
+ }
1106
+ },
1107
+ {
1108
+ "id": "shoulder-lift.frameOnChild",
1109
+ "op": "rigid@1",
1110
+ "args": [
1111
+ "shoulder-lift.origin.x.value",
1112
+ "shoulder-lift.origin.y.value",
1113
+ "shoulder-lift.origin.z.value",
1114
+ "k.deg.0",
1115
+ "k.deg.0",
1116
+ "k.deg.0"
1117
+ ],
1118
+ "outputs": {
1119
+ "pose": "shoulder-lift.frameOnChild.value"
1120
+ },
1121
+ "params": {
1122
+ "from": "shoulder-lift.onChild",
1123
+ "to": "asset.rest"
1124
+ }
1125
+ },
1126
+ {
1127
+ "id": "shoulder-lift.motion",
1128
+ "op": "axis-turn@1",
1129
+ "args": [
1130
+ "k.base-pan.base-pan.slope",
1131
+ "k.base-pan.axis.x",
1132
+ "k.base-pan.axis.x",
1133
+ "shoulder-lift.shoulder-lift.q.value"
1134
+ ],
1135
+ "outputs": {
1136
+ "pose": "shoulder-lift.motion.value"
1137
+ },
1138
+ "params": {
1139
+ "from": "shoulder-lift.onChild",
1140
+ "to": "shoulder-lift.onParent"
1141
+ }
1142
+ },
1143
+ {
1144
+ "id": "shoulder-lift.attach",
1145
+ "op": "attach@1",
1146
+ "args": [
1147
+ "shoulder-lift.frameOnParent.value",
1148
+ "shoulder-lift.motion.value",
1149
+ "shoulder-lift.frameOnChild.value"
1150
+ ],
1151
+ "outputs": {
1152
+ "pose": "shoulder-lift.attach.value"
1153
+ }
1154
+ },
1155
+ {
1156
+ "id": "shoulder-lift.chain",
1157
+ "op": "compose@1",
1158
+ "args": [
1159
+ "base-pan.attach.value",
1160
+ "shoulder-lift.attach.value"
1161
+ ],
1162
+ "outputs": {
1163
+ "pose": "shoulder-lift.chain.value"
1164
+ }
1165
+ },
1166
+ {
1167
+ "id": "elbow-flex.elbow-flex.u",
1168
+ "op": "add@1",
1169
+ "args": [
1170
+ "elbow-flex",
1171
+ "k.elbow-flex.elbow-flex.min"
1172
+ ],
1173
+ "outputs": {
1174
+ "value": "elbow-flex.elbow-flex.u.value"
1175
+ }
1176
+ },
1177
+ {
1178
+ "id": "elbow-flex.elbow-flex.scaled",
1179
+ "op": "mul@1",
1180
+ "args": [
1181
+ "elbow-flex.elbow-flex.u.value",
1182
+ "k.base-pan.base-pan.slope"
1183
+ ],
1184
+ "outputs": {
1185
+ "value": "elbow-flex.elbow-flex.scaled.value"
1186
+ }
1187
+ },
1188
+ {
1189
+ "id": "elbow-flex.elbow-flex.q",
1190
+ "op": "add@1",
1191
+ "args": [
1192
+ "elbow-flex.elbow-flex.scaled.value",
1193
+ "k.elbow-flex.elbow-flex.v0"
1194
+ ],
1195
+ "outputs": {
1196
+ "value": "elbow-flex.elbow-flex.q.value"
1197
+ }
1198
+ },
1199
+ {
1200
+ "id": "elbow-flex.origin.x",
1201
+ "op": "add@1",
1202
+ "args": [
1203
+ "k.zero",
1204
+ "k.zero"
1205
+ ],
1206
+ "outputs": {
1207
+ "value": "elbow-flex.origin.x.value"
1208
+ }
1209
+ },
1210
+ {
1211
+ "id": "elbow-flex.origin.y.offset",
1212
+ "op": "mul@1",
1213
+ "args": [
1214
+ "k.elbow-flex.origin.y.offset",
1215
+ "scale.y.value"
1216
+ ],
1217
+ "outputs": {
1218
+ "value": "elbow-flex.origin.y.offset.value"
1219
+ }
1220
+ },
1221
+ {
1222
+ "id": "elbow-flex.origin.y",
1223
+ "op": "add@1",
1224
+ "args": [
1225
+ "upper-arm.y.fromBottom.value",
1226
+ "elbow-flex.origin.y.offset.value"
1227
+ ],
1228
+ "outputs": {
1229
+ "value": "elbow-flex.origin.y.value"
1230
+ }
1231
+ },
1232
+ {
1233
+ "id": "elbow-flex.origin.z",
1234
+ "op": "add@1",
1235
+ "args": [
1236
+ "k.zero",
1237
+ "k.zero"
1238
+ ],
1239
+ "outputs": {
1240
+ "value": "elbow-flex.origin.z.value"
1241
+ }
1242
+ },
1243
+ {
1244
+ "id": "elbow-flex.frameOnParent",
1245
+ "op": "rigid@1",
1246
+ "args": [
1247
+ "elbow-flex.origin.x.value",
1248
+ "elbow-flex.origin.y.value",
1249
+ "elbow-flex.origin.z.value",
1250
+ "k.deg.0",
1251
+ "k.deg.0",
1252
+ "k.deg.0"
1253
+ ],
1254
+ "outputs": {
1255
+ "pose": "elbow-flex.frameOnParent.value"
1256
+ },
1257
+ "params": {
1258
+ "from": "elbow-flex.onParent",
1259
+ "to": "asset.rest"
1260
+ }
1261
+ },
1262
+ {
1263
+ "id": "elbow-flex.frameOnChild",
1264
+ "op": "rigid@1",
1265
+ "args": [
1266
+ "elbow-flex.origin.x.value",
1267
+ "elbow-flex.origin.y.value",
1268
+ "elbow-flex.origin.z.value",
1269
+ "k.deg.0",
1270
+ "k.deg.0",
1271
+ "k.deg.0"
1272
+ ],
1273
+ "outputs": {
1274
+ "pose": "elbow-flex.frameOnChild.value"
1275
+ },
1276
+ "params": {
1277
+ "from": "elbow-flex.onChild",
1278
+ "to": "asset.rest"
1279
+ }
1280
+ },
1281
+ {
1282
+ "id": "elbow-flex.motion",
1283
+ "op": "axis-turn@1",
1284
+ "args": [
1285
+ "k.base-pan.base-pan.slope",
1286
+ "k.base-pan.axis.x",
1287
+ "k.base-pan.axis.x",
1288
+ "elbow-flex.elbow-flex.q.value"
1289
+ ],
1290
+ "outputs": {
1291
+ "pose": "elbow-flex.motion.value"
1292
+ },
1293
+ "params": {
1294
+ "from": "elbow-flex.onChild",
1295
+ "to": "elbow-flex.onParent"
1296
+ }
1297
+ },
1298
+ {
1299
+ "id": "elbow-flex.attach",
1300
+ "op": "attach@1",
1301
+ "args": [
1302
+ "elbow-flex.frameOnParent.value",
1303
+ "elbow-flex.motion.value",
1304
+ "elbow-flex.frameOnChild.value"
1305
+ ],
1306
+ "outputs": {
1307
+ "pose": "elbow-flex.attach.value"
1308
+ }
1309
+ },
1310
+ {
1311
+ "id": "elbow-flex.chain",
1312
+ "op": "compose@1",
1313
+ "args": [
1314
+ "shoulder-lift.chain.value",
1315
+ "elbow-flex.attach.value"
1316
+ ],
1317
+ "outputs": {
1318
+ "pose": "elbow-flex.chain.value"
1319
+ }
1320
+ },
1321
+ {
1322
+ "id": "wrist-pitch.wrist-pitch.u",
1323
+ "op": "add@1",
1324
+ "args": [
1325
+ "wrist-pitch",
1326
+ "k.wrist-pitch.wrist-pitch.min"
1327
+ ],
1328
+ "outputs": {
1329
+ "value": "wrist-pitch.wrist-pitch.u.value"
1330
+ }
1331
+ },
1332
+ {
1333
+ "id": "wrist-pitch.wrist-pitch.scaled",
1334
+ "op": "mul@1",
1335
+ "args": [
1336
+ "wrist-pitch.wrist-pitch.u.value",
1337
+ "k.base-pan.base-pan.slope"
1338
+ ],
1339
+ "outputs": {
1340
+ "value": "wrist-pitch.wrist-pitch.scaled.value"
1341
+ }
1342
+ },
1343
+ {
1344
+ "id": "wrist-pitch.wrist-pitch.q",
1345
+ "op": "add@1",
1346
+ "args": [
1347
+ "wrist-pitch.wrist-pitch.scaled.value",
1348
+ "k.wrist-pitch.wrist-pitch.v0"
1349
+ ],
1350
+ "outputs": {
1351
+ "value": "wrist-pitch.wrist-pitch.q.value"
1352
+ }
1353
+ },
1354
+ {
1355
+ "id": "wrist-pitch.origin.x",
1356
+ "op": "add@1",
1357
+ "args": [
1358
+ "k.zero",
1359
+ "k.zero"
1360
+ ],
1361
+ "outputs": {
1362
+ "value": "wrist-pitch.origin.x.value"
1363
+ }
1364
+ },
1365
+ {
1366
+ "id": "wrist-pitch.origin.y.offset",
1367
+ "op": "mul@1",
1368
+ "args": [
1369
+ "k.wrist-pitch.origin.y.offset",
1370
+ "scale.y.value"
1371
+ ],
1372
+ "outputs": {
1373
+ "value": "wrist-pitch.origin.y.offset.value"
1374
+ }
1375
+ },
1376
+ {
1377
+ "id": "wrist-pitch.origin.y",
1378
+ "op": "add@1",
1379
+ "args": [
1380
+ "forearm.y.fromBottom.value",
1381
+ "wrist-pitch.origin.y.offset.value"
1382
+ ],
1383
+ "outputs": {
1384
+ "value": "wrist-pitch.origin.y.value"
1385
+ }
1386
+ },
1387
+ {
1388
+ "id": "wrist-pitch.origin.z",
1389
+ "op": "add@1",
1390
+ "args": [
1391
+ "k.zero",
1392
+ "k.zero"
1393
+ ],
1394
+ "outputs": {
1395
+ "value": "wrist-pitch.origin.z.value"
1396
+ }
1397
+ },
1398
+ {
1399
+ "id": "wrist-pitch.frameOnParent",
1400
+ "op": "rigid@1",
1401
+ "args": [
1402
+ "wrist-pitch.origin.x.value",
1403
+ "wrist-pitch.origin.y.value",
1404
+ "wrist-pitch.origin.z.value",
1405
+ "k.deg.0",
1406
+ "k.deg.0",
1407
+ "k.deg.0"
1408
+ ],
1409
+ "outputs": {
1410
+ "pose": "wrist-pitch.frameOnParent.value"
1411
+ },
1412
+ "params": {
1413
+ "from": "wrist-pitch.onParent",
1414
+ "to": "asset.rest"
1415
+ }
1416
+ },
1417
+ {
1418
+ "id": "wrist-pitch.frameOnChild",
1419
+ "op": "rigid@1",
1420
+ "args": [
1421
+ "wrist-pitch.origin.x.value",
1422
+ "wrist-pitch.origin.y.value",
1423
+ "wrist-pitch.origin.z.value",
1424
+ "k.deg.0",
1425
+ "k.deg.0",
1426
+ "k.deg.0"
1427
+ ],
1428
+ "outputs": {
1429
+ "pose": "wrist-pitch.frameOnChild.value"
1430
+ },
1431
+ "params": {
1432
+ "from": "wrist-pitch.onChild",
1433
+ "to": "asset.rest"
1434
+ }
1435
+ },
1436
+ {
1437
+ "id": "wrist-pitch.motion",
1438
+ "op": "axis-turn@1",
1439
+ "args": [
1440
+ "k.base-pan.base-pan.slope",
1441
+ "k.base-pan.axis.x",
1442
+ "k.base-pan.axis.x",
1443
+ "wrist-pitch.wrist-pitch.q.value"
1444
+ ],
1445
+ "outputs": {
1446
+ "pose": "wrist-pitch.motion.value"
1447
+ },
1448
+ "params": {
1449
+ "from": "wrist-pitch.onChild",
1450
+ "to": "wrist-pitch.onParent"
1451
+ }
1452
+ },
1453
+ {
1454
+ "id": "wrist-pitch.attach",
1455
+ "op": "attach@1",
1456
+ "args": [
1457
+ "wrist-pitch.frameOnParent.value",
1458
+ "wrist-pitch.motion.value",
1459
+ "wrist-pitch.frameOnChild.value"
1460
+ ],
1461
+ "outputs": {
1462
+ "pose": "wrist-pitch.attach.value"
1463
+ }
1464
+ },
1465
+ {
1466
+ "id": "wrist-pitch.chain",
1467
+ "op": "compose@1",
1468
+ "args": [
1469
+ "elbow-flex.chain.value",
1470
+ "wrist-pitch.attach.value"
1471
+ ],
1472
+ "outputs": {
1473
+ "pose": "wrist-pitch.chain.value"
1474
+ }
1475
+ },
1476
+ {
1477
+ "id": "wrist-yaw.wrist-yaw.u",
1478
+ "op": "add@1",
1479
+ "args": [
1480
+ "wrist-yaw",
1481
+ "k.base-pan.base-pan.min"
1482
+ ],
1483
+ "outputs": {
1484
+ "value": "wrist-yaw.wrist-yaw.u.value"
1485
+ }
1486
+ },
1487
+ {
1488
+ "id": "wrist-yaw.wrist-yaw.scaled",
1489
+ "op": "mul@1",
1490
+ "args": [
1491
+ "wrist-yaw.wrist-yaw.u.value",
1492
+ "k.base-pan.base-pan.slope"
1493
+ ],
1494
+ "outputs": {
1495
+ "value": "wrist-yaw.wrist-yaw.scaled.value"
1496
+ }
1497
+ },
1498
+ {
1499
+ "id": "wrist-yaw.wrist-yaw.q",
1500
+ "op": "add@1",
1501
+ "args": [
1502
+ "wrist-yaw.wrist-yaw.scaled.value",
1503
+ "k.base-pan.base-pan.v0"
1504
+ ],
1505
+ "outputs": {
1506
+ "value": "wrist-yaw.wrist-yaw.q.value"
1507
+ }
1508
+ },
1509
+ {
1510
+ "id": "wrist-yaw.origin.x",
1511
+ "op": "add@1",
1512
+ "args": [
1513
+ "k.zero",
1514
+ "k.zero"
1515
+ ],
1516
+ "outputs": {
1517
+ "value": "wrist-yaw.origin.x.value"
1518
+ }
1519
+ },
1520
+ {
1521
+ "id": "wrist-yaw.origin.y.offset",
1522
+ "op": "mul@1",
1523
+ "args": [
1524
+ "k.wrist-yaw.origin.y.offset",
1525
+ "scale.y.value"
1526
+ ],
1527
+ "outputs": {
1528
+ "value": "wrist-yaw.origin.y.offset.value"
1529
+ }
1530
+ },
1531
+ {
1532
+ "id": "wrist-yaw.origin.y",
1533
+ "op": "add@1",
1534
+ "args": [
1535
+ "wrist-1.y.fromBottom.value",
1536
+ "wrist-yaw.origin.y.offset.value"
1537
+ ],
1538
+ "outputs": {
1539
+ "value": "wrist-yaw.origin.y.value"
1540
+ }
1541
+ },
1542
+ {
1543
+ "id": "wrist-yaw.origin.z",
1544
+ "op": "add@1",
1545
+ "args": [
1546
+ "k.zero",
1547
+ "k.zero"
1548
+ ],
1549
+ "outputs": {
1550
+ "value": "wrist-yaw.origin.z.value"
1551
+ }
1552
+ },
1553
+ {
1554
+ "id": "wrist-yaw.frameOnParent",
1555
+ "op": "rigid@1",
1556
+ "args": [
1557
+ "wrist-yaw.origin.x.value",
1558
+ "wrist-yaw.origin.y.value",
1559
+ "wrist-yaw.origin.z.value",
1560
+ "k.deg.0",
1561
+ "k.deg.0",
1562
+ "k.deg.0"
1563
+ ],
1564
+ "outputs": {
1565
+ "pose": "wrist-yaw.frameOnParent.value"
1566
+ },
1567
+ "params": {
1568
+ "from": "wrist-yaw.onParent",
1569
+ "to": "asset.rest"
1570
+ }
1571
+ },
1572
+ {
1573
+ "id": "wrist-yaw.frameOnChild",
1574
+ "op": "rigid@1",
1575
+ "args": [
1576
+ "wrist-yaw.origin.x.value",
1577
+ "wrist-yaw.origin.y.value",
1578
+ "wrist-yaw.origin.z.value",
1579
+ "k.deg.0",
1580
+ "k.deg.0",
1581
+ "k.deg.0"
1582
+ ],
1583
+ "outputs": {
1584
+ "pose": "wrist-yaw.frameOnChild.value"
1585
+ },
1586
+ "params": {
1587
+ "from": "wrist-yaw.onChild",
1588
+ "to": "asset.rest"
1589
+ }
1590
+ },
1591
+ {
1592
+ "id": "wrist-yaw.motion",
1593
+ "op": "axis-turn@1",
1594
+ "args": [
1595
+ "k.base-pan.axis.x",
1596
+ "k.base-pan.base-pan.slope",
1597
+ "k.base-pan.axis.x",
1598
+ "wrist-yaw.wrist-yaw.q.value"
1599
+ ],
1600
+ "outputs": {
1601
+ "pose": "wrist-yaw.motion.value"
1602
+ },
1603
+ "params": {
1604
+ "from": "wrist-yaw.onChild",
1605
+ "to": "wrist-yaw.onParent"
1606
+ }
1607
+ },
1608
+ {
1609
+ "id": "wrist-yaw.attach",
1610
+ "op": "attach@1",
1611
+ "args": [
1612
+ "wrist-yaw.frameOnParent.value",
1613
+ "wrist-yaw.motion.value",
1614
+ "wrist-yaw.frameOnChild.value"
1615
+ ],
1616
+ "outputs": {
1617
+ "pose": "wrist-yaw.attach.value"
1618
+ }
1619
+ },
1620
+ {
1621
+ "id": "wrist-yaw.chain",
1622
+ "op": "compose@1",
1623
+ "args": [
1624
+ "wrist-pitch.chain.value",
1625
+ "wrist-yaw.attach.value"
1626
+ ],
1627
+ "outputs": {
1628
+ "pose": "wrist-yaw.chain.value"
1629
+ }
1630
+ },
1631
+ {
1632
+ "id": "tool-roll.tool-roll.u",
1633
+ "op": "add@1",
1634
+ "args": [
1635
+ "tool-roll",
1636
+ "k.tool-roll.tool-roll.min"
1637
+ ],
1638
+ "outputs": {
1639
+ "value": "tool-roll.tool-roll.u.value"
1640
+ }
1641
+ },
1642
+ {
1643
+ "id": "tool-roll.tool-roll.scaled",
1644
+ "op": "mul@1",
1645
+ "args": [
1646
+ "tool-roll.tool-roll.u.value",
1647
+ "k.base-pan.base-pan.slope"
1648
+ ],
1649
+ "outputs": {
1650
+ "value": "tool-roll.tool-roll.scaled.value"
1651
+ }
1652
+ },
1653
+ {
1654
+ "id": "tool-roll.tool-roll.q",
1655
+ "op": "add@1",
1656
+ "args": [
1657
+ "tool-roll.tool-roll.scaled.value",
1658
+ "k.tool-roll.tool-roll.v0"
1659
+ ],
1660
+ "outputs": {
1661
+ "value": "tool-roll.tool-roll.q.value"
1662
+ }
1663
+ },
1664
+ {
1665
+ "id": "tool-roll.origin.x",
1666
+ "op": "add@1",
1667
+ "args": [
1668
+ "k.zero",
1669
+ "k.zero"
1670
+ ],
1671
+ "outputs": {
1672
+ "value": "tool-roll.origin.x.value"
1673
+ }
1674
+ },
1675
+ {
1676
+ "id": "tool-roll.origin.y.offset",
1677
+ "op": "mul@1",
1678
+ "args": [
1679
+ "k.tool-roll.origin.y.offset",
1680
+ "scale.y.value"
1681
+ ],
1682
+ "outputs": {
1683
+ "value": "tool-roll.origin.y.offset.value"
1684
+ }
1685
+ },
1686
+ {
1687
+ "id": "tool-roll.origin.y",
1688
+ "op": "add@1",
1689
+ "args": [
1690
+ "wrist-2.y.fromBottom.value",
1691
+ "tool-roll.origin.y.offset.value"
1692
+ ],
1693
+ "outputs": {
1694
+ "value": "tool-roll.origin.y.value"
1695
+ }
1696
+ },
1697
+ {
1698
+ "id": "tool-roll.origin.z",
1699
+ "op": "add@1",
1700
+ "args": [
1701
+ "k.zero",
1702
+ "k.zero"
1703
+ ],
1704
+ "outputs": {
1705
+ "value": "tool-roll.origin.z.value"
1706
+ }
1707
+ },
1708
+ {
1709
+ "id": "tool-roll.frameOnParent",
1710
+ "op": "rigid@1",
1711
+ "args": [
1712
+ "tool-roll.origin.x.value",
1713
+ "tool-roll.origin.y.value",
1714
+ "tool-roll.origin.z.value",
1715
+ "k.deg.0",
1716
+ "k.deg.0",
1717
+ "k.deg.0"
1718
+ ],
1719
+ "outputs": {
1720
+ "pose": "tool-roll.frameOnParent.value"
1721
+ },
1722
+ "params": {
1723
+ "from": "tool-roll.onParent",
1724
+ "to": "asset.rest"
1725
+ }
1726
+ },
1727
+ {
1728
+ "id": "tool-roll.frameOnChild",
1729
+ "op": "rigid@1",
1730
+ "args": [
1731
+ "tool-roll.origin.x.value",
1732
+ "tool-roll.origin.y.value",
1733
+ "tool-roll.origin.z.value",
1734
+ "k.deg.0",
1735
+ "k.deg.0",
1736
+ "k.deg.0"
1737
+ ],
1738
+ "outputs": {
1739
+ "pose": "tool-roll.frameOnChild.value"
1740
+ },
1741
+ "params": {
1742
+ "from": "tool-roll.onChild",
1743
+ "to": "asset.rest"
1744
+ }
1745
+ },
1746
+ {
1747
+ "id": "tool-roll.motion",
1748
+ "op": "axis-turn@1",
1749
+ "args": [
1750
+ "k.base-pan.axis.x",
1751
+ "k.base-pan.base-pan.slope",
1752
+ "k.base-pan.axis.x",
1753
+ "tool-roll.tool-roll.q.value"
1754
+ ],
1755
+ "outputs": {
1756
+ "pose": "tool-roll.motion.value"
1757
+ },
1758
+ "params": {
1759
+ "from": "tool-roll.onChild",
1760
+ "to": "tool-roll.onParent"
1761
+ }
1762
+ },
1763
+ {
1764
+ "id": "tool-roll.attach",
1765
+ "op": "attach@1",
1766
+ "args": [
1767
+ "tool-roll.frameOnParent.value",
1768
+ "tool-roll.motion.value",
1769
+ "tool-roll.frameOnChild.value"
1770
+ ],
1771
+ "outputs": {
1772
+ "pose": "tool-roll.attach.value"
1773
+ }
1774
+ },
1775
+ {
1776
+ "id": "tool-roll.chain",
1777
+ "op": "compose@1",
1778
+ "args": [
1779
+ "wrist-yaw.chain.value",
1780
+ "tool-roll.attach.value"
1781
+ ],
1782
+ "outputs": {
1783
+ "pose": "tool-roll.chain.value"
1784
+ }
1785
+ },
1786
+ {
1787
+ "id": "pedestal.dim.radiusX",
1788
+ "op": "mul@1",
1789
+ "args": [
1790
+ "k.pedestal.dim.radiusX",
1791
+ "pedestal.round.value"
1792
+ ],
1793
+ "outputs": {
1794
+ "value": "pedestal.dim.radiusX.value"
1795
+ }
1796
+ },
1797
+ {
1798
+ "id": "pedestal.dim.radiusZ",
1799
+ "op": "mul@1",
1800
+ "args": [
1801
+ "k.pedestal.dim.radiusX",
1802
+ "pedestal.round.value"
1803
+ ],
1804
+ "outputs": {
1805
+ "value": "pedestal.dim.radiusZ.value"
1806
+ }
1807
+ },
1808
+ {
1809
+ "id": "pedestal.dim.y",
1810
+ "op": "mul@1",
1811
+ "args": [
1812
+ "k.pedestal.dim.y",
1813
+ "scale.y.value"
1814
+ ],
1815
+ "outputs": {
1816
+ "value": "pedestal.dim.y.value"
1817
+ }
1818
+ },
1819
+ {
1820
+ "id": "pedestal.shape",
1821
+ "op": "cylinder-shape@1",
1822
+ "args": [
1823
+ "pedestal.dim.radiusX.value",
1824
+ "pedestal.dim.y.value"
1825
+ ],
1826
+ "outputs": {
1827
+ "shape": "pedestal.shape.value"
1828
+ },
1829
+ "params": {
1830
+ "frame": "pedestal.local"
1831
+ }
1832
+ },
1833
+ {
1834
+ "id": "pedestal.pose",
1835
+ "op": "rigid@1",
1836
+ "args": [
1837
+ "k.zero",
1838
+ "pedestal.y.fromBottom.value",
1839
+ "k.zero",
1840
+ "k.deg.0",
1841
+ "k.deg.0",
1842
+ "k.deg.0"
1843
+ ],
1844
+ "outputs": {
1845
+ "pose": "pedestal.pose.value"
1846
+ },
1847
+ "params": {
1848
+ "from": "pedestal.local",
1849
+ "to": "asset"
1850
+ }
1851
+ },
1852
+ {
1853
+ "id": "pedestal",
1854
+ "op": "place@1",
1855
+ "args": [
1856
+ "pedestal.shape.value",
1857
+ "pedestal.pose.value"
1858
+ ],
1859
+ "outputs": {
1860
+ "placed": "pedestal.value"
1861
+ }
1862
+ },
1863
+ {
1864
+ "id": "shoulder.dim.radiusX",
1865
+ "op": "mul@1",
1866
+ "args": [
1867
+ "k.shoulder.dim.radiusX",
1868
+ "shoulder.round.value"
1869
+ ],
1870
+ "outputs": {
1871
+ "value": "shoulder.dim.radiusX.value"
1872
+ }
1873
+ },
1874
+ {
1875
+ "id": "shoulder.dim.radiusZ",
1876
+ "op": "mul@1",
1877
+ "args": [
1878
+ "k.shoulder.dim.radiusX",
1879
+ "shoulder.round.value"
1880
+ ],
1881
+ "outputs": {
1882
+ "value": "shoulder.dim.radiusZ.value"
1883
+ }
1884
+ },
1885
+ {
1886
+ "id": "shoulder.dim.y",
1887
+ "op": "mul@1",
1888
+ "args": [
1889
+ "k.shoulder.dim.y",
1890
+ "scale.y.value"
1891
+ ],
1892
+ "outputs": {
1893
+ "value": "shoulder.dim.y.value"
1894
+ }
1895
+ },
1896
+ {
1897
+ "id": "shoulder.shape",
1898
+ "op": "cylinder-shape@1",
1899
+ "args": [
1900
+ "shoulder.dim.radiusX.value",
1901
+ "shoulder.dim.y.value"
1902
+ ],
1903
+ "outputs": {
1904
+ "shape": "shoulder.shape.value"
1905
+ },
1906
+ "params": {
1907
+ "frame": "shoulder.local"
1908
+ }
1909
+ },
1910
+ {
1911
+ "id": "shoulder.pose",
1912
+ "op": "rigid@1",
1913
+ "args": [
1914
+ "k.zero",
1915
+ "shoulder.y.fromBottom.value",
1916
+ "k.zero",
1917
+ "k.deg.0",
1918
+ "k.deg.0",
1919
+ "k.deg.0"
1920
+ ],
1921
+ "outputs": {
1922
+ "pose": "shoulder.pose.value"
1923
+ },
1924
+ "params": {
1925
+ "from": "shoulder.local",
1926
+ "to": "asset.rest"
1927
+ }
1928
+ },
1929
+ {
1930
+ "id": "shoulder.moved",
1931
+ "op": "compose@1",
1932
+ "args": [
1933
+ "base-pan.attach.value",
1934
+ "shoulder.pose.value"
1935
+ ],
1936
+ "outputs": {
1937
+ "pose": "shoulder.moved.value"
1938
+ }
1939
+ },
1940
+ {
1941
+ "id": "shoulder",
1942
+ "op": "place@1",
1943
+ "args": [
1944
+ "shoulder.shape.value",
1945
+ "shoulder.moved.value"
1946
+ ],
1947
+ "outputs": {
1948
+ "placed": "shoulder.value"
1949
+ }
1950
+ },
1951
+ {
1952
+ "id": "upper-arm.dim.x",
1953
+ "op": "mul@1",
1954
+ "args": [
1955
+ "k.shoulder.dim.y",
1956
+ "scale.x.value"
1957
+ ],
1958
+ "outputs": {
1959
+ "value": "upper-arm.dim.x.value"
1960
+ }
1961
+ },
1962
+ {
1963
+ "id": "upper-arm.dim.y",
1964
+ "op": "mul@1",
1965
+ "args": [
1966
+ "k.upper-arm.dim.y",
1967
+ "scale.y.value"
1968
+ ],
1969
+ "outputs": {
1970
+ "value": "upper-arm.dim.y.value"
1971
+ }
1972
+ },
1973
+ {
1974
+ "id": "upper-arm.dim.z",
1975
+ "op": "mul@1",
1976
+ "args": [
1977
+ "k.shoulder.dim.y",
1978
+ "scale.z.value"
1979
+ ],
1980
+ "outputs": {
1981
+ "value": "upper-arm.dim.z.value"
1982
+ }
1983
+ },
1984
+ {
1985
+ "id": "upper-arm.shape",
1986
+ "op": "box-shape@1",
1987
+ "args": [
1988
+ "upper-arm.dim.x.value",
1989
+ "upper-arm.dim.y.value",
1990
+ "upper-arm.dim.z.value"
1991
+ ],
1992
+ "outputs": {
1993
+ "shape": "upper-arm.shape.value"
1994
+ },
1995
+ "params": {
1996
+ "frame": "upper-arm.local"
1997
+ }
1998
+ },
1999
+ {
2000
+ "id": "upper-arm.pose",
2001
+ "op": "rigid@1",
2002
+ "args": [
2003
+ "k.zero",
2004
+ "upper-arm.y.fromBottom.value",
2005
+ "k.zero",
2006
+ "k.deg.0",
2007
+ "k.deg.0",
2008
+ "k.deg.0"
2009
+ ],
2010
+ "outputs": {
2011
+ "pose": "upper-arm.pose.value"
2012
+ },
2013
+ "params": {
2014
+ "from": "upper-arm.local",
2015
+ "to": "asset.rest"
2016
+ }
2017
+ },
2018
+ {
2019
+ "id": "upper-arm.moved",
2020
+ "op": "compose@1",
2021
+ "args": [
2022
+ "shoulder-lift.chain.value",
2023
+ "upper-arm.pose.value"
2024
+ ],
2025
+ "outputs": {
2026
+ "pose": "upper-arm.moved.value"
2027
+ }
2028
+ },
2029
+ {
2030
+ "id": "upper-arm",
2031
+ "op": "place@1",
2032
+ "args": [
2033
+ "upper-arm.shape.value",
2034
+ "upper-arm.moved.value"
2035
+ ],
2036
+ "outputs": {
2037
+ "placed": "upper-arm.value"
2038
+ }
2039
+ },
2040
+ {
2041
+ "id": "forearm.dim.x",
2042
+ "op": "mul@1",
2043
+ "args": [
2044
+ "k.shoulder.dim.radiusX",
2045
+ "scale.x.value"
2046
+ ],
2047
+ "outputs": {
2048
+ "value": "forearm.dim.x.value"
2049
+ }
2050
+ },
2051
+ {
2052
+ "id": "forearm.dim.y",
2053
+ "op": "mul@1",
2054
+ "args": [
2055
+ "k.forearm.dim.y",
2056
+ "scale.y.value"
2057
+ ],
2058
+ "outputs": {
2059
+ "value": "forearm.dim.y.value"
2060
+ }
2061
+ },
2062
+ {
2063
+ "id": "forearm.dim.z",
2064
+ "op": "mul@1",
2065
+ "args": [
2066
+ "k.shoulder.dim.radiusX",
2067
+ "scale.z.value"
2068
+ ],
2069
+ "outputs": {
2070
+ "value": "forearm.dim.z.value"
2071
+ }
2072
+ },
2073
+ {
2074
+ "id": "forearm.shape",
2075
+ "op": "box-shape@1",
2076
+ "args": [
2077
+ "forearm.dim.x.value",
2078
+ "forearm.dim.y.value",
2079
+ "forearm.dim.z.value"
2080
+ ],
2081
+ "outputs": {
2082
+ "shape": "forearm.shape.value"
2083
+ },
2084
+ "params": {
2085
+ "frame": "forearm.local"
2086
+ }
2087
+ },
2088
+ {
2089
+ "id": "forearm.pose",
2090
+ "op": "rigid@1",
2091
+ "args": [
2092
+ "k.zero",
2093
+ "forearm.y.fromBottom.value",
2094
+ "k.zero",
2095
+ "k.deg.0",
2096
+ "k.deg.0",
2097
+ "k.deg.0"
2098
+ ],
2099
+ "outputs": {
2100
+ "pose": "forearm.pose.value"
2101
+ },
2102
+ "params": {
2103
+ "from": "forearm.local",
2104
+ "to": "asset.rest"
2105
+ }
2106
+ },
2107
+ {
2108
+ "id": "forearm.moved",
2109
+ "op": "compose@1",
2110
+ "args": [
2111
+ "elbow-flex.chain.value",
2112
+ "forearm.pose.value"
2113
+ ],
2114
+ "outputs": {
2115
+ "pose": "forearm.moved.value"
2116
+ }
2117
+ },
2118
+ {
2119
+ "id": "forearm",
2120
+ "op": "place@1",
2121
+ "args": [
2122
+ "forearm.shape.value",
2123
+ "forearm.moved.value"
2124
+ ],
2125
+ "outputs": {
2126
+ "placed": "forearm.value"
2127
+ }
2128
+ },
2129
+ {
2130
+ "id": "wrist-1.dim.radiusX",
2131
+ "op": "mul@1",
2132
+ "args": [
2133
+ "k.wrist-yaw.origin.y.offset",
2134
+ "wrist-1.round.value"
2135
+ ],
2136
+ "outputs": {
2137
+ "value": "wrist-1.dim.radiusX.value"
2138
+ }
2139
+ },
2140
+ {
2141
+ "id": "wrist-1.dim.radiusZ",
2142
+ "op": "mul@1",
2143
+ "args": [
2144
+ "k.wrist-yaw.origin.y.offset",
2145
+ "wrist-1.round.value"
2146
+ ],
2147
+ "outputs": {
2148
+ "value": "wrist-1.dim.radiusZ.value"
2149
+ }
2150
+ },
2151
+ {
2152
+ "id": "wrist-1.dim.y",
2153
+ "op": "mul@1",
2154
+ "args": [
2155
+ "k.wrist-1.dim.y",
2156
+ "scale.y.value"
2157
+ ],
2158
+ "outputs": {
2159
+ "value": "wrist-1.dim.y.value"
2160
+ }
2161
+ },
2162
+ {
2163
+ "id": "wrist-1.shape",
2164
+ "op": "cylinder-shape@1",
2165
+ "args": [
2166
+ "wrist-1.dim.radiusX.value",
2167
+ "wrist-1.dim.y.value"
2168
+ ],
2169
+ "outputs": {
2170
+ "shape": "wrist-1.shape.value"
2171
+ },
2172
+ "params": {
2173
+ "frame": "wrist-1.local"
2174
+ }
2175
+ },
2176
+ {
2177
+ "id": "wrist-1.pose",
2178
+ "op": "rigid@1",
2179
+ "args": [
2180
+ "k.zero",
2181
+ "wrist-1.y.fromBottom.value",
2182
+ "k.zero",
2183
+ "k.deg.0",
2184
+ "k.deg.0",
2185
+ "k.deg.0"
2186
+ ],
2187
+ "outputs": {
2188
+ "pose": "wrist-1.pose.value"
2189
+ },
2190
+ "params": {
2191
+ "from": "wrist-1.local",
2192
+ "to": "asset.rest"
2193
+ }
2194
+ },
2195
+ {
2196
+ "id": "wrist-1.moved",
2197
+ "op": "compose@1",
2198
+ "args": [
2199
+ "wrist-pitch.chain.value",
2200
+ "wrist-1.pose.value"
2201
+ ],
2202
+ "outputs": {
2203
+ "pose": "wrist-1.moved.value"
2204
+ }
2205
+ },
2206
+ {
2207
+ "id": "wrist-1",
2208
+ "op": "place@1",
2209
+ "args": [
2210
+ "wrist-1.shape.value",
2211
+ "wrist-1.moved.value"
2212
+ ],
2213
+ "outputs": {
2214
+ "placed": "wrist-1.value"
2215
+ }
2216
+ },
2217
+ {
2218
+ "id": "wrist-2.dim.radiusX",
2219
+ "op": "mul@1",
2220
+ "args": [
2221
+ "k.tool-roll.origin.y.offset",
2222
+ "wrist-2.round.value"
2223
+ ],
2224
+ "outputs": {
2225
+ "value": "wrist-2.dim.radiusX.value"
2226
+ }
2227
+ },
2228
+ {
2229
+ "id": "wrist-2.dim.radiusZ",
2230
+ "op": "mul@1",
2231
+ "args": [
2232
+ "k.tool-roll.origin.y.offset",
2233
+ "wrist-2.round.value"
2234
+ ],
2235
+ "outputs": {
2236
+ "value": "wrist-2.dim.radiusZ.value"
2237
+ }
2238
+ },
2239
+ {
2240
+ "id": "wrist-2.dim.y",
2241
+ "op": "mul@1",
2242
+ "args": [
2243
+ "k.wrist-2.dim.y",
2244
+ "scale.y.value"
2245
+ ],
2246
+ "outputs": {
2247
+ "value": "wrist-2.dim.y.value"
2248
+ }
2249
+ },
2250
+ {
2251
+ "id": "wrist-2.shape",
2252
+ "op": "cylinder-shape@1",
2253
+ "args": [
2254
+ "wrist-2.dim.radiusX.value",
2255
+ "wrist-2.dim.y.value"
2256
+ ],
2257
+ "outputs": {
2258
+ "shape": "wrist-2.shape.value"
2259
+ },
2260
+ "params": {
2261
+ "frame": "wrist-2.local"
2262
+ }
2263
+ },
2264
+ {
2265
+ "id": "wrist-2.pose",
2266
+ "op": "rigid@1",
2267
+ "args": [
2268
+ "k.zero",
2269
+ "wrist-2.y.fromBottom.value",
2270
+ "k.zero",
2271
+ "k.deg.0",
2272
+ "k.deg.0",
2273
+ "k.deg.0"
2274
+ ],
2275
+ "outputs": {
2276
+ "pose": "wrist-2.pose.value"
2277
+ },
2278
+ "params": {
2279
+ "from": "wrist-2.local",
2280
+ "to": "asset.rest"
2281
+ }
2282
+ },
2283
+ {
2284
+ "id": "wrist-2.moved",
2285
+ "op": "compose@1",
2286
+ "args": [
2287
+ "wrist-yaw.chain.value",
2288
+ "wrist-2.pose.value"
2289
+ ],
2290
+ "outputs": {
2291
+ "pose": "wrist-2.moved.value"
2292
+ }
2293
+ },
2294
+ {
2295
+ "id": "wrist-2",
2296
+ "op": "place@1",
2297
+ "args": [
2298
+ "wrist-2.shape.value",
2299
+ "wrist-2.moved.value"
2300
+ ],
2301
+ "outputs": {
2302
+ "placed": "wrist-2.value"
2303
+ }
2304
+ },
2305
+ {
2306
+ "id": "flange.dim.radiusX",
2307
+ "op": "mul@1",
2308
+ "args": [
2309
+ "k.flange.dim.radiusX",
2310
+ "flange.round.value"
2311
+ ],
2312
+ "outputs": {
2313
+ "value": "flange.dim.radiusX.value"
2314
+ }
2315
+ },
2316
+ {
2317
+ "id": "flange.dim.radiusZ",
2318
+ "op": "mul@1",
2319
+ "args": [
2320
+ "k.flange.dim.radiusX",
2321
+ "flange.round.value"
2322
+ ],
2323
+ "outputs": {
2324
+ "value": "flange.dim.radiusZ.value"
2325
+ }
2326
+ },
2327
+ {
2328
+ "id": "flange.dim.y",
2329
+ "op": "mul@1",
2330
+ "args": [
2331
+ "k.tool-roll.origin.y.offset",
2332
+ "scale.y.value"
2333
+ ],
2334
+ "outputs": {
2335
+ "value": "flange.dim.y.value"
2336
+ }
2337
+ },
2338
+ {
2339
+ "id": "flange.shape",
2340
+ "op": "cylinder-shape@1",
2341
+ "args": [
2342
+ "flange.dim.radiusX.value",
2343
+ "flange.dim.y.value"
2344
+ ],
2345
+ "outputs": {
2346
+ "shape": "flange.shape.value"
2347
+ },
2348
+ "params": {
2349
+ "frame": "flange.local"
2350
+ }
2351
+ },
2352
+ {
2353
+ "id": "flange.pose",
2354
+ "op": "rigid@1",
2355
+ "args": [
2356
+ "k.zero",
2357
+ "flange.y.fromBottom.value",
2358
+ "k.zero",
2359
+ "k.deg.0",
2360
+ "k.deg.0",
2361
+ "k.deg.0"
2362
+ ],
2363
+ "outputs": {
2364
+ "pose": "flange.pose.value"
2365
+ },
2366
+ "params": {
2367
+ "from": "flange.local",
2368
+ "to": "asset.rest"
2369
+ }
2370
+ },
2371
+ {
2372
+ "id": "flange.moved",
2373
+ "op": "compose@1",
2374
+ "args": [
2375
+ "tool-roll.chain.value",
2376
+ "flange.pose.value"
2377
+ ],
2378
+ "outputs": {
2379
+ "pose": "flange.moved.value"
2380
+ }
2381
+ },
2382
+ {
2383
+ "id": "flange",
2384
+ "op": "place@1",
2385
+ "args": [
2386
+ "flange.shape.value",
2387
+ "flange.moved.value"
2388
+ ],
2389
+ "outputs": {
2390
+ "placed": "flange.value"
2391
+ }
2392
+ },
2393
+ {
2394
+ "id": "finger-left.dim.x",
2395
+ "op": "mul@1",
2396
+ "args": [
2397
+ "k.finger-left.dim.x",
2398
+ "scale.x.value"
2399
+ ],
2400
+ "outputs": {
2401
+ "value": "finger-left.dim.x.value"
2402
+ }
2403
+ },
2404
+ {
2405
+ "id": "finger-left.dim.y",
2406
+ "op": "mul@1",
2407
+ "args": [
2408
+ "k.finger-left.dim.y",
2409
+ "scale.y.value"
2410
+ ],
2411
+ "outputs": {
2412
+ "value": "finger-left.dim.y.value"
2413
+ }
2414
+ },
2415
+ {
2416
+ "id": "finger-left.dim.z",
2417
+ "op": "mul@1",
2418
+ "args": [
2419
+ "k.finger-left.dim.z",
2420
+ "scale.z.value"
2421
+ ],
2422
+ "outputs": {
2423
+ "value": "finger-left.dim.z.value"
2424
+ }
2425
+ },
2426
+ {
2427
+ "id": "finger-left.shape",
2428
+ "op": "box-shape@1",
2429
+ "args": [
2430
+ "finger-left.dim.x.value",
2431
+ "finger-left.dim.y.value",
2432
+ "finger-left.dim.z.value"
2433
+ ],
2434
+ "outputs": {
2435
+ "shape": "finger-left.shape.value"
2436
+ },
2437
+ "params": {
2438
+ "frame": "finger-left.local"
2439
+ }
2440
+ },
2441
+ {
2442
+ "id": "finger-left.pose",
2443
+ "op": "rigid@1",
2444
+ "args": [
2445
+ "finger-left.x.centre.value",
2446
+ "finger-left.y.fromBottom.value",
2447
+ "k.zero",
2448
+ "k.deg.0",
2449
+ "k.deg.0",
2450
+ "k.deg.0"
2451
+ ],
2452
+ "outputs": {
2453
+ "pose": "finger-left.pose.value"
2454
+ },
2455
+ "params": {
2456
+ "from": "finger-left.local",
2457
+ "to": "finger-left.rest0"
2458
+ }
2459
+ },
2460
+ {
2461
+ "id": "finger-left.slide0",
2462
+ "op": "axis-slide@1",
2463
+ "args": [
2464
+ "k.base-pan.base-pan.slope",
2465
+ "k.base-pan.axis.x",
2466
+ "k.base-pan.axis.x",
2467
+ "gripper.finger-left.shift.x.value"
2468
+ ],
2469
+ "outputs": {
2470
+ "pose": "finger-left.slide0.value"
2471
+ },
2472
+ "params": {
2473
+ "from": "finger-left.rest0",
2474
+ "to": "asset.rest"
2475
+ }
2476
+ },
2477
+ {
2478
+ "id": "finger-left.shifted0",
2479
+ "op": "compose@1",
2480
+ "args": [
2481
+ "finger-left.slide0.value",
2482
+ "finger-left.pose.value"
2483
+ ],
2484
+ "outputs": {
2485
+ "pose": "finger-left.shifted0.value"
2486
+ }
2487
+ },
2488
+ {
2489
+ "id": "finger-left.moved",
2490
+ "op": "compose@1",
2491
+ "args": [
2492
+ "tool-roll.chain.value",
2493
+ "finger-left.shifted0.value"
2494
+ ],
2495
+ "outputs": {
2496
+ "pose": "finger-left.moved.value"
2497
+ }
2498
+ },
2499
+ {
2500
+ "id": "finger-left",
2501
+ "op": "place@1",
2502
+ "args": [
2503
+ "finger-left.shape.value",
2504
+ "finger-left.moved.value"
2505
+ ],
2506
+ "outputs": {
2507
+ "placed": "finger-left.value"
2508
+ }
2509
+ },
2510
+ {
2511
+ "id": "finger-right.dim.x",
2512
+ "op": "mul@1",
2513
+ "args": [
2514
+ "k.finger-left.dim.x",
2515
+ "scale.x.value"
2516
+ ],
2517
+ "outputs": {
2518
+ "value": "finger-right.dim.x.value"
2519
+ }
2520
+ },
2521
+ {
2522
+ "id": "finger-right.dim.y",
2523
+ "op": "mul@1",
2524
+ "args": [
2525
+ "k.finger-left.dim.y",
2526
+ "scale.y.value"
2527
+ ],
2528
+ "outputs": {
2529
+ "value": "finger-right.dim.y.value"
2530
+ }
2531
+ },
2532
+ {
2533
+ "id": "finger-right.dim.z",
2534
+ "op": "mul@1",
2535
+ "args": [
2536
+ "k.finger-left.dim.z",
2537
+ "scale.z.value"
2538
+ ],
2539
+ "outputs": {
2540
+ "value": "finger-right.dim.z.value"
2541
+ }
2542
+ },
2543
+ {
2544
+ "id": "finger-right.shape",
2545
+ "op": "box-shape@1",
2546
+ "args": [
2547
+ "finger-right.dim.x.value",
2548
+ "finger-right.dim.y.value",
2549
+ "finger-right.dim.z.value"
2550
+ ],
2551
+ "outputs": {
2552
+ "shape": "finger-right.shape.value"
2553
+ },
2554
+ "params": {
2555
+ "frame": "finger-right.local"
2556
+ }
2557
+ },
2558
+ {
2559
+ "id": "finger-right.pose",
2560
+ "op": "rigid@1",
2561
+ "args": [
2562
+ "finger-right.x.centre.value",
2563
+ "finger-right.y.fromBottom.value",
2564
+ "k.zero",
2565
+ "k.deg.0",
2566
+ "k.deg.0",
2567
+ "k.deg.0"
2568
+ ],
2569
+ "outputs": {
2570
+ "pose": "finger-right.pose.value"
2571
+ },
2572
+ "params": {
2573
+ "from": "finger-right.local",
2574
+ "to": "finger-right.rest0"
2575
+ }
2576
+ },
2577
+ {
2578
+ "id": "finger-right.slide0",
2579
+ "op": "axis-slide@1",
2580
+ "args": [
2581
+ "k.base-pan.base-pan.slope",
2582
+ "k.base-pan.axis.x",
2583
+ "k.base-pan.axis.x",
2584
+ "gripper.finger-right.shift.x.value"
2585
+ ],
2586
+ "outputs": {
2587
+ "pose": "finger-right.slide0.value"
2588
+ },
2589
+ "params": {
2590
+ "from": "finger-right.rest0",
2591
+ "to": "asset.rest"
2592
+ }
2593
+ },
2594
+ {
2595
+ "id": "finger-right.shifted0",
2596
+ "op": "compose@1",
2597
+ "args": [
2598
+ "finger-right.slide0.value",
2599
+ "finger-right.pose.value"
2600
+ ],
2601
+ "outputs": {
2602
+ "pose": "finger-right.shifted0.value"
2603
+ }
2604
+ },
2605
+ {
2606
+ "id": "finger-right.moved",
2607
+ "op": "compose@1",
2608
+ "args": [
2609
+ "tool-roll.chain.value",
2610
+ "finger-right.shifted0.value"
2611
+ ],
2612
+ "outputs": {
2613
+ "pose": "finger-right.moved.value"
2614
+ }
2615
+ },
2616
+ {
2617
+ "id": "finger-right",
2618
+ "op": "place@1",
2619
+ "args": [
2620
+ "finger-right.shape.value",
2621
+ "finger-right.moved.value"
2622
+ ],
2623
+ "outputs": {
2624
+ "placed": "finger-right.value"
2625
+ }
2626
+ }
2627
+ ]
2628
+ },
2629
+ "capabilities": {
2630
+ "version": "r3-capability-3",
2631
+ "assetFrame": "asset",
2632
+ "bindings": [],
2633
+ "names": [
2634
+ "Holdable"
2635
+ ]
2636
+ }
2637
+ },
2638
+ "designInputs": {
2639
+ "size.x": 600,
2640
+ "size.y": 1400,
2641
+ "size.z": 600
2642
+ },
2643
+ "stateDefaults": {
2644
+ "base-pan": 0,
2645
+ "shoulder-lift": 0,
2646
+ "elbow-flex": 0,
2647
+ "wrist-pitch": 0,
2648
+ "wrist-yaw": 0,
2649
+ "tool-roll": 0,
2650
+ "gripper": 0
2651
+ },
2652
+ "palette": {
2653
+ "palette.dark": "#2b2b2b",
2654
+ "palette.primary": "#477b9e",
2655
+ "palette.accent": "#f79c40",
2656
+ "palette.light": "#dddddd"
2657
+ },
2658
+ "appearance": [
2659
+ {
2660
+ "target": "pedestal",
2661
+ "material": {
2662
+ "token": "palette.dark",
2663
+ "preset": "metal"
2664
+ },
2665
+ "segments": 12
2666
+ },
2667
+ {
2668
+ "target": "shoulder",
2669
+ "material": {
2670
+ "token": "palette.primary",
2671
+ "preset": "metal"
2672
+ },
2673
+ "segments": 12
2674
+ },
2675
+ {
2676
+ "target": "upper-arm",
2677
+ "material": {
2678
+ "token": "palette.primary",
2679
+ "preset": "metal"
2680
+ }
2681
+ },
2682
+ {
2683
+ "target": "forearm",
2684
+ "material": {
2685
+ "token": "palette.accent",
2686
+ "preset": "metal"
2687
+ }
2688
+ },
2689
+ {
2690
+ "target": "wrist-1",
2691
+ "material": {
2692
+ "token": "palette.dark",
2693
+ "preset": "metal"
2694
+ },
2695
+ "segments": 12
2696
+ },
2697
+ {
2698
+ "target": "wrist-2",
2699
+ "material": {
2700
+ "token": "palette.accent",
2701
+ "preset": "metal"
2702
+ },
2703
+ "segments": 12
2704
+ },
2705
+ {
2706
+ "target": "flange",
2707
+ "material": {
2708
+ "token": "palette.light",
2709
+ "preset": "metal"
2710
+ },
2711
+ "segments": 12
2712
+ },
2713
+ {
2714
+ "target": "finger-left",
2715
+ "material": {
2716
+ "token": "palette.dark",
2717
+ "preset": "metal"
2718
+ }
2719
+ },
2720
+ {
2721
+ "target": "finger-right",
2722
+ "material": {
2723
+ "token": "palette.dark",
2724
+ "preset": "metal"
2725
+ }
2726
+ }
2727
+ ],
2728
+ "occupancy": {
2729
+ "bounds": {
2730
+ "x": {
2731
+ "min": "occupancy.x.min.value",
2732
+ "max": "occupancy.x.max.value"
2733
+ },
2734
+ "y": {
2735
+ "min": "k.zero",
2736
+ "max": "size.y"
2737
+ },
2738
+ "z": {
2739
+ "min": "occupancy.z.min.value",
2740
+ "max": "occupancy.z.max.value"
2741
+ }
2742
+ },
2743
+ "placement": "floor"
2744
+ },
2745
+ "detailLevel": "L",
2746
+ "stateInputs": {
2747
+ "base-pan": {
2748
+ "label": "Base pan (J1)",
2749
+ "sweep": 4
2750
+ },
2751
+ "shoulder-lift": {
2752
+ "label": "Shoulder lift (J2)",
2753
+ "sweep": 3
2754
+ },
2755
+ "elbow-flex": {
2756
+ "label": "Elbow flex (J3)",
2757
+ "sweep": 3
2758
+ },
2759
+ "wrist-pitch": {
2760
+ "label": "Wrist pitch (J4)",
2761
+ "sweep": 2
2762
+ },
2763
+ "wrist-yaw": {
2764
+ "label": "Wrist yaw (J5)",
2765
+ "sweep": 2
2766
+ },
2767
+ "tool-roll": {
2768
+ "label": "Tool roll (J6)",
2769
+ "sweep": 2
2770
+ },
2771
+ "gripper": {
2772
+ "label": "Gripper stroke",
2773
+ "sweep": 1
2774
+ }
2775
+ }
2776
+ }