lockwire 0.2.0__py3-none-any.whl

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 (52) hide show
  1. lockwire/__init__.py +9 -0
  2. lockwire/__main__.py +9 -0
  3. lockwire/advice.py +119 -0
  4. lockwire/api.py +1216 -0
  5. lockwire/api_payload.py +985 -0
  6. lockwire/bench.py +182 -0
  7. lockwire/blame.py +100 -0
  8. lockwire/catalog.py +100 -0
  9. lockwire/catalog_seed.yaml +545 -0
  10. lockwire/checks.py +3483 -0
  11. lockwire/cli.py +1799 -0
  12. lockwire/cli_line.py +73 -0
  13. lockwire/constraints.py +313 -0
  14. lockwire/copy.py +302 -0
  15. lockwire/describe.py +682 -0
  16. lockwire/edit.py +2098 -0
  17. lockwire/emit_ts.py +150 -0
  18. lockwire/export_mhs.py +115 -0
  19. lockwire/factdiff.py +254 -0
  20. lockwire/forces.py +334 -0
  21. lockwire/gitref.py +188 -0
  22. lockwire/hw.py +388 -0
  23. lockwire/mcp_server.py +276 -0
  24. lockwire/mechanism.py +379 -0
  25. lockwire/mesh_dae.py +555 -0
  26. lockwire/mesh_simple.py +198 -0
  27. lockwire/page.py +1485 -0
  28. lockwire/plan.py +849 -0
  29. lockwire/plan_payload.py +151 -0
  30. lockwire/plugins.py +70 -0
  31. lockwire/report.py +848 -0
  32. lockwire/report_html.py +707 -0
  33. lockwire/report_json.py +168 -0
  34. lockwire/review_draft.py +315 -0
  35. lockwire/scan.py +732 -0
  36. lockwire/scene.py +535 -0
  37. lockwire/scene_import.py +309 -0
  38. lockwire/scene_urdf.py +750 -0
  39. lockwire/scene_view.py +376 -0
  40. lockwire/schema.py +3616 -0
  41. lockwire/sdf.py +240 -0
  42. lockwire/serve.py +1256 -0
  43. lockwire/start_operation.py +92 -0
  44. lockwire/statics.py +77 -0
  45. lockwire/units.py +115 -0
  46. lockwire/urdf.py +348 -0
  47. lockwire/vcs.py +402 -0
  48. lockwire/whatif.py +161 -0
  49. lockwire-0.2.0.dist-info/METADATA +192 -0
  50. lockwire-0.2.0.dist-info/RECORD +52 -0
  51. lockwire-0.2.0.dist-info/WHEEL +4 -0
  52. lockwire-0.2.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,545 @@
1
+ # The starter parts catalog. NOT the contract schema (frozen) — see catalog.py.
2
+ #
3
+ # Two kinds of number live here, and every one says which it is:
4
+ # kind: datasheet - a manufacturer datasheet/spec-page/product-listing figure, cited.
5
+ # kind: source_file - a real number read out of a file already in this repo (a vendor URDF's
6
+ # own <mass> tag); real, but the citation is a file, not a datasheet.
7
+ # kind: assumed - fabricated for seeding. No real part backs this number. The source string
8
+ # says so in plain words — never presented as if it were measured.
9
+ #
10
+ # The 13 "x500.*" parts and their numbers are carried over verbatim from
11
+ # tests/fixtures/x500/contract.yaml's device_models/devices (each already witnessed there,
12
+ # locked_at dates and citations preserved). The 6 "anymal.*" parts are read from the masses in
13
+ # tests/fixtures/anymal_d.urdf. Everything else ("generic.*") is a labelled placeholder so the
14
+ # catalog covers common part families a user might reach for; replace before relying on it.
15
+
16
+ parts:
17
+ - id: x500.airframe.holybro-x500-v2
18
+ family: fam.airframe.multirotor
19
+ name: Holybro X500 V2 airframe kit
20
+ numbers:
21
+ frame_mass:
22
+ value: 610
23
+ unit: g
24
+ kind: datasheet
25
+ source: holybro.com/products/x500-v2-kits — published dry frame-kit weight (contract.yaml
26
+ model.links[0], locked 2026-07-25)
27
+ note: 500 mm wheelbase, 1045 propeller, per the kit page. MTOW is unknown (not carried
28
+ here).
29
+ - id: x500.flight-controller.pixhawk-6c
30
+ family: fam.flight-controller.autopilot
31
+ name: Pixhawk 6C flight controller
32
+ numbers:
33
+ mass:
34
+ value: 59.3
35
+ unit: g
36
+ kind: datasheet
37
+ source: docs.holybro.com/autopilot/pixhawk-6c/technical-specification — published
38
+ aluminium-case mass (plastic variant is 34.6 g), locked 2026-07-25
39
+ note: Board current draw is not published; no power number is carried here.
40
+ - id: x500.companion.jetson-orin-nano
41
+ family: fam.companion.sbc
42
+ name: NVIDIA Jetson Orin Nano (bare module, custom carrier)
43
+ numbers:
44
+ draw_max:
45
+ value: 25
46
+ unit: W
47
+ kind: datasheet
48
+ source: NVIDIA Jetson Orin Nano module datasheet + NVIDIA power-mode docs, 25
49
+ W power mode; locked 2026-07-26
50
+ input_voltage_min:
51
+ value: 5
52
+ unit: V
53
+ kind: datasheet
54
+ source: NVIDIA Jetson Orin Nano module datasheet — VDD_IN pin rating, locked
55
+ 2026-07-26
56
+ input_voltage_max:
57
+ value: 20
58
+ unit: V
59
+ kind: datasheet
60
+ source: NVIDIA Jetson Orin Nano module datasheet — VDD_IN pin rating, locked
61
+ 2026-07-26
62
+ note: Module-only mass is UNKNOWN (the published 176 g dev-kit figure is a different
63
+ product) and is not carried here.
64
+ - id: x500.gnss.here3-plus
65
+ family: fam.gnss.dronecan
66
+ name: Here3+ DroneCAN GNSS
67
+ numbers:
68
+ mass:
69
+ value: 51.8
70
+ unit: g
71
+ kind: datasheet
72
+ source: irlock.com, locked 2026-07-25
73
+ update_rate:
74
+ value: 8
75
+ unit: Hz
76
+ kind: datasheet
77
+ source: retailer product page (unnamed retailer, per contract.yaml note), locked
78
+ 2026-07-25
79
+ note: Current draw is unknown.
80
+ - id: x500.radio.rfd900x
81
+ family: fam.radio.telemetry
82
+ name: RFD900x telemetry radio
83
+ numbers:
84
+ mass:
85
+ value: 14.5
86
+ unit: g
87
+ kind: datasheet
88
+ source: 'store.rfdesign.com.au product page (''Weight: 14.5g''), first-hand
89
+ fetch 2026-09-06'
90
+ tx_power:
91
+ value: 30
92
+ unit: dBm
93
+ kind: datasheet
94
+ source: RFD900x datasheet v1.2, Power Requirements section, fetched 2026-09-06
95
+ rx_sensitivity:
96
+ value: -105
97
+ unit: dBm
98
+ kind: datasheet
99
+ source: RFD900x datasheet v1.2, sensitivity table (64 kbps row, 10^-5 BER),
100
+ fetched 2026-09-06
101
+ draw_transmit:
102
+ value: 5.2
103
+ unit: W
104
+ kind: datasheet
105
+ source: RFD900x datasheet v1.2, Power Requirements (1 A peak TX x 5.2 V), fetched
106
+ 2026-09-06
107
+ draw_receive:
108
+ value: 0.312
109
+ unit: W
110
+ kind: datasheet
111
+ source: RFD900x datasheet v1.2, Power Requirements (60 mA standby x 5.2 V),
112
+ fetched 2026-09-06
113
+ note: Default air rate 64 kbit/s, default serial 57600 bps per the same datasheet.
114
+ - id: x500.camera.oak-d-lite
115
+ family: fam.camera.stereo
116
+ name: Luxonis OAK-D Lite stereo depth camera
117
+ numbers:
118
+ draw_max:
119
+ value: 5
120
+ unit: W
121
+ kind: datasheet
122
+ source: Luxonis docs, published maximum component sum (3 W base + 1 W AI + 0.5
123
+ W depth + 0.5 W encode), locked 2026-07-25
124
+ note: Mass is unresolved (not published).
125
+ - id: x500.imu.icm-42688-p
126
+ family: fam.imu.mems
127
+ name: InvenSense ICM-42688-P IMU
128
+ numbers:
129
+ accel_hard_limit:
130
+ value: 156.9064
131
+ unit: m/s^2
132
+ kind: datasheet
133
+ source: invensense.tdk.com ICM-42688-P product page, +/-16 g full-scale (1 g
134
+ = 9.80665 m/s^2), fetched 2026-09-06
135
+ gyro_hard_limit:
136
+ value: 34.9066
137
+ unit: rad/s
138
+ kind: datasheet
139
+ source: invensense.tdk.com ICM-42688-P product page, +/-2000 dps full-scale,
140
+ fetched 2026-09-06
141
+ note: Primary IMU on Pixhawk 6C.
142
+ - id: x500.imu.bmi088
143
+ family: fam.imu.mems
144
+ name: Bosch BMI088 IMU
145
+ numbers:
146
+ accel_hard_limit:
147
+ value: 235.3596
148
+ unit: m/s^2
149
+ kind: datasheet
150
+ source: bosch-sensortec.com BMI088 product page, +/-24 g full-scale, fetched
151
+ 2026-09-06
152
+ gyro_hard_limit:
153
+ value: 34.9066
154
+ unit: rad/s
155
+ kind: datasheet
156
+ source: bosch-sensortec.com BMI088 product page, +/-2000 dps full-scale, fetched
157
+ 2026-09-06
158
+ note: Secondary IMU on Pixhawk 6C.
159
+ - id: x500.magnetometer.ist8310
160
+ family: fam.magnetometer.mems
161
+ name: IST8310 magnetometer
162
+ numbers: {}
163
+ note: Mass and current draw not separately published for this discrete part. I2C
164
+ address 0x0E per the Isentek IST8310 datasheet, fetched 2026-09-06 — not a physical
165
+ number, not carried here.
166
+ - id: x500.barometer.ms5611
167
+ family: fam.barometer.mems
168
+ name: MS5611 barometer
169
+ numbers: {}
170
+ note: No physical numbers published for this discrete part (docs.holybro.com/autopilot/pixhawk-6c/technical-specification,
171
+ locked 2026-07-25).
172
+ - id: x500.motor.holybro-2216-920kv
173
+ family: fam.motor.brushless
174
+ name: Holybro 2216, 920 KV brushless motor
175
+ numbers:
176
+ mass:
177
+ value: 80
178
+ unit: g
179
+ kind: datasheet
180
+ source: 'holybro.com spare-parts-store product JSON, SKU 520085/520086 (''weight:
181
+ 80.0, weight_unit: g''), first-hand fetch 2026-09-06'
182
+ draw_hover:
183
+ value: 61.67
184
+ unit: W
185
+ kind: datasheet
186
+ source: derived per-motor hover draw from Holybro's published ~18 min hover
187
+ flight-time figure on a 5000 mAh 4S pack (246.68 W total / 4 motors); see
188
+ tests/fixtures/x500/contract.yaml dev.motor.* provenance for the full derivation,
189
+ fetched 2026-09-06
190
+ note: 3S-4S, 920 KV. Max continuous current and max power are UNKNOWN (not published
191
+ anywhere checked).
192
+ - id: x500.esc.holybro-20a
193
+ family: fam.esc
194
+ name: Holybro 20A ESC
195
+ numbers:
196
+ mass:
197
+ value: 50
198
+ unit: g
199
+ kind: datasheet
200
+ source: 'holybro.com spare-parts-store product JSON, SKU 520081 (''weight: 50.0,
201
+ weight_unit: g''), first-hand fetch 2026-09-06'
202
+ current_continuous:
203
+ value: 20
204
+ unit: A
205
+ kind: datasheet
206
+ source: holybro.com/products/spare-parts-x500-v2-kit kit page, locked 2026-09-06
207
+ note: Burst current and DShot modes are unconfirmed (search aggregation only, not
208
+ carried here).
209
+ - id: x500.power-module.pm02-v3
210
+ family: fam.power-module
211
+ name: Holybro PM02 V3 power module
212
+ numbers:
213
+ mass:
214
+ value: 20
215
+ unit: g
216
+ kind: datasheet
217
+ source: docs/reference_robot_specs.md, published PM02 (V3) mass, locked 2026-07-25
218
+ output_voltage:
219
+ value: 5.2
220
+ unit: V
221
+ kind: datasheet
222
+ source: docs/reference_robot_specs.md, regulated output rating, locked 2026-07-25
223
+ output_current_max:
224
+ value: 3
225
+ unit: A
226
+ kind: datasheet
227
+ source: docs/reference_robot_specs.md, regulated output rating, locked 2026-07-25
228
+ note: 2S-12S input; 60 A continuous / 120 A burst PCB rating.
229
+ - id: anymal.actuator.anydrive
230
+ family: fam.actuator.series-elastic
231
+ name: ANYmal D leg actuator (HAA/HFE/KFE drive)
232
+ numbers:
233
+ mass:
234
+ value: 2.01511
235
+ unit: kg
236
+ kind: source_file
237
+ source: tests/fixtures/anymal_d.urdf, <link name="LF_HAA_drive"> (same mass
238
+ repeated on every *_HAA_drive/*_HFE_drive/*_KFE_drive link), fetched 2026-09-06
239
+ note: Same actuator model drives hip-abduction, hip-flexion and knee-flexion on
240
+ each of the 4 legs (12 instances total in the URDF).
241
+ - id: anymal.leg.foot
242
+ family: fam.structure.leg
243
+ name: ANYmal D foot
244
+ numbers:
245
+ mass:
246
+ value: 0.29644
247
+ unit: kg
248
+ kind: source_file
249
+ source: tests/fixtures/anymal_d.urdf, <link name="LF_FOOT">, fetched 2026-09-06
250
+ note: One of 4 (LF/LH/RF/RH), same mass in the URDF.
251
+ - id: anymal.leg.hip-housing
252
+ family: fam.structure.leg
253
+ name: ANYmal D hip housing
254
+ numbers:
255
+ mass:
256
+ value: 0.36386
257
+ unit: kg
258
+ kind: source_file
259
+ source: tests/fixtures/anymal_d.urdf, <link name="LF_hip_fixed">, fetched 2026-09-06
260
+ note: One of 4, same mass in the URDF.
261
+ - id: anymal.leg.thigh-housing
262
+ family: fam.structure.leg
263
+ name: ANYmal D thigh housing
264
+ numbers:
265
+ mass:
266
+ value: 1.10098
267
+ unit: kg
268
+ kind: source_file
269
+ source: tests/fixtures/anymal_d.urdf, <link name="LF_thigh_fixed">, fetched
270
+ 2026-09-06
271
+ note: One of 4, same mass in the URDF.
272
+ - id: anymal.leg.shank-housing
273
+ family: fam.structure.leg
274
+ name: ANYmal D shank housing
275
+ numbers:
276
+ mass:
277
+ value: 0.49854
278
+ unit: kg
279
+ kind: source_file
280
+ source: tests/fixtures/anymal_d.urdf, <link name="LF_shank_fixed">, fetched
281
+ 2026-09-06
282
+ note: One of 4, same mass in the URDF.
283
+ - id: anymal.power.battery
284
+ family: fam.battery.pack
285
+ name: ANYmal D battery pack
286
+ numbers:
287
+ mass:
288
+ value: 5.51206
289
+ unit: kg
290
+ kind: source_file
291
+ source: tests/fixtures/anymal_d.urdf, <link name="battery">, fetched 2026-09-06
292
+ note: Voltage/capacity not modelled in the URDF (mass only); not carried here.
293
+ - id: generic.battery.lipo-4s-5000mah
294
+ family: fam.battery.pack
295
+ name: Generic 4S 5000 mAh LiPo pack (placeholder)
296
+ numbers:
297
+ mass:
298
+ value: 550
299
+ unit: g
300
+ kind: assumed
301
+ source: ASSUMED for seeding — no datasheet consulted; typical order-of-magnitude
302
+ for a 4S 5000 mAh LiPo, not a real part's published figure — replace before
303
+ use.
304
+ nominal_voltage:
305
+ value: 14.8
306
+ unit: V
307
+ kind: assumed
308
+ source: ASSUMED for seeding — 4S nominal (4 x 3.7 V), not a specific product's
309
+ datasheet figure — replace before use.
310
+ note: Placeholder pack sized to match the X500's published ~18 min hover test pack;
311
+ not a specific vendor SKU.
312
+ - id: generic.motor.bldc-medium
313
+ family: fam.motor.brushless
314
+ name: Generic medium BLDC motor (placeholder)
315
+ numbers:
316
+ mass:
317
+ value: 70
318
+ unit: g
319
+ kind: assumed
320
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
321
+ replace before use.
322
+ note: Placeholder for a motor family not otherwise represented; see x500.motor.holybro-2216-920kv
323
+ for a real, sourced motor.
324
+ - id: generic.esc.escs-4in1
325
+ family: fam.esc
326
+ name: Generic 4-in-1 ESC stack (placeholder)
327
+ numbers:
328
+ mass:
329
+ value: 35
330
+ unit: g
331
+ kind: assumed
332
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
333
+ replace before use.
334
+ note: Placeholder; see x500.esc.holybro-20a for a real, sourced single-channel ESC.
335
+ - id: generic.gnss.rtk-module
336
+ family: fam.gnss.dronecan
337
+ name: Generic RTK GNSS module (placeholder)
338
+ numbers:
339
+ mass:
340
+ value: 45
341
+ unit: g
342
+ kind: assumed
343
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
344
+ replace before use.
345
+ note: Placeholder; see x500.gnss.here3-plus for a real, sourced GNSS unit.
346
+ - id: generic.radio.wifi-telemetry
347
+ family: fam.radio.telemetry
348
+ name: Generic WiFi telemetry radio (placeholder)
349
+ numbers:
350
+ mass:
351
+ value: 10
352
+ unit: g
353
+ kind: assumed
354
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
355
+ replace before use.
356
+ note: Placeholder; see x500.radio.rfd900x for a real, sourced telemetry radio.
357
+ - id: generic.camera.mono-usb
358
+ family: fam.camera.stereo
359
+ name: Generic monocular USB camera (placeholder)
360
+ numbers:
361
+ draw_max:
362
+ value: 2
363
+ unit: W
364
+ kind: assumed
365
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
366
+ replace before use.
367
+ note: Placeholder; see x500.camera.oak-d-lite for a real, sourced stereo depth camera.
368
+ - id: generic.lidar.2d-scanning
369
+ family: fam.lidar.scanning
370
+ name: Generic 2D scanning LIDAR (placeholder)
371
+ numbers:
372
+ mass:
373
+ value: 190
374
+ unit: g
375
+ kind: assumed
376
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
377
+ replace before use.
378
+ draw_max:
379
+ value: 4.5
380
+ unit: W
381
+ kind: assumed
382
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
383
+ replace before use.
384
+ note: Placeholder; no real part in this catalog covers a scanning LIDAR yet.
385
+ - id: generic.sensor.ultrasonic-rangefinder
386
+ family: fam.sensor.range
387
+ name: Generic ultrasonic rangefinder (placeholder)
388
+ numbers:
389
+ mass:
390
+ value: 9
391
+ unit: g
392
+ kind: assumed
393
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
394
+ replace before use.
395
+ note: Placeholder.
396
+ - id: generic.compute.sbc-arm
397
+ family: fam.companion.sbc
398
+ name: Generic ARM single-board computer (placeholder)
399
+ numbers:
400
+ mass:
401
+ value: 45
402
+ unit: g
403
+ kind: assumed
404
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
405
+ replace before use.
406
+ draw_max:
407
+ value: 10
408
+ unit: W
409
+ kind: assumed
410
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
411
+ replace before use.
412
+ note: Placeholder; see x500.companion.jetson-orin-nano for a real, sourced companion
413
+ computer.
414
+ - id: generic.actuator.servo-standard
415
+ family: fam.actuator.servo
416
+ name: Generic standard-size servo (placeholder)
417
+ numbers:
418
+ mass:
419
+ value: 60
420
+ unit: g
421
+ kind: assumed
422
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
423
+ replace before use.
424
+ note: Placeholder; no real part in this catalog covers a hobby servo yet.
425
+ - id: generic.flight-controller.f7-generic
426
+ family: fam.flight-controller.autopilot
427
+ name: Generic F7-class flight controller (placeholder)
428
+ numbers:
429
+ mass:
430
+ value: 12
431
+ unit: g
432
+ kind: assumed
433
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
434
+ replace before use.
435
+ note: Placeholder; see x500.flight-controller.pixhawk-6c for a real, sourced flight
436
+ controller.
437
+ - id: generic.imu.mems-generic
438
+ family: fam.imu.mems
439
+ name: Generic MEMS IMU (placeholder)
440
+ numbers:
441
+ accel_hard_limit:
442
+ value: 156.9
443
+ unit: m/s^2
444
+ kind: assumed
445
+ source: ASSUMED for seeding — illustrative +/-16 g figure, no datasheet consulted
446
+ — replace before use.
447
+ gyro_hard_limit:
448
+ value: 34.9
449
+ unit: rad/s
450
+ kind: assumed
451
+ source: ASSUMED for seeding — illustrative +/-2000 dps figure, no datasheet
452
+ consulted — replace before use.
453
+ note: Placeholder; see x500.imu.icm-42688-p or x500.imu.bmi088 for real, sourced
454
+ IMUs.
455
+ - id: generic.magnetometer.mems-generic
456
+ family: fam.magnetometer.mems
457
+ name: Generic MEMS magnetometer (placeholder)
458
+ numbers: {}
459
+ note: Placeholder, no numbers seeded (real x500.magnetometer.ist8310 entry also
460
+ carries no physical numbers — none are published for the discrete part).
461
+ - id: generic.barometer.mems-generic
462
+ family: fam.barometer.mems
463
+ name: Generic MEMS barometer (placeholder)
464
+ numbers: {}
465
+ note: Placeholder, no numbers seeded.
466
+ - id: generic.gimbal.2-axis
467
+ family: fam.gimbal.camera-mount
468
+ name: Generic 2-axis camera gimbal (placeholder)
469
+ numbers:
470
+ mass:
471
+ value: 130
472
+ unit: g
473
+ kind: assumed
474
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
475
+ replace before use.
476
+ draw_max:
477
+ value: 3
478
+ unit: W
479
+ kind: assumed
480
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
481
+ replace before use.
482
+ note: Placeholder.
483
+ - id: generic.power-module.pdb-generic
484
+ family: fam.power-module
485
+ name: Generic power distribution board (placeholder)
486
+ numbers:
487
+ mass:
488
+ value: 25
489
+ unit: g
490
+ kind: assumed
491
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
492
+ replace before use.
493
+ note: Placeholder; see x500.power-module.pm02-v3 for a real, sourced power module.
494
+ - id: generic.antenna.dipole-omni
495
+ family: fam.radio.telemetry
496
+ name: Generic omni dipole antenna (placeholder)
497
+ numbers:
498
+ gain:
499
+ value: 3
500
+ unit: dBi
501
+ kind: assumed
502
+ source: ASSUMED for seeding — illustrative figure matching the RFD900x bundle's
503
+ published dipole gain, but not itself a datasheet figure for a specific product
504
+ — replace before use.
505
+ note: Placeholder.
506
+ - id: generic.wheel-motor.hub-drive
507
+ family: fam.motor.brushless
508
+ name: Generic hub-drive wheel motor (placeholder)
509
+ numbers:
510
+ mass:
511
+ value: 900
512
+ unit: g
513
+ kind: assumed
514
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
515
+ replace before use.
516
+ note: Placeholder for ground-vehicle use cases; no real wheeled-robot part is in
517
+ this catalog yet.
518
+ - id: generic.encoder.magnetic-absolute
519
+ family: fam.sensor.encoder
520
+ name: Generic absolute magnetic encoder (placeholder)
521
+ numbers:
522
+ mass:
523
+ value: 4
524
+ unit: g
525
+ kind: assumed
526
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
527
+ replace before use.
528
+ note: Placeholder.
529
+ - id: generic.imu.industrial-fog
530
+ family: fam.imu.mems
531
+ name: Generic industrial-grade FOG IMU (placeholder)
532
+ numbers:
533
+ mass:
534
+ value: 250
535
+ unit: g
536
+ kind: assumed
537
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
538
+ replace before use.
539
+ draw_max:
540
+ value: 8
541
+ unit: W
542
+ kind: assumed
543
+ source: ASSUMED for seeding — illustrative figure, no datasheet consulted —
544
+ replace before use.
545
+ note: Placeholder for higher-grade navigation than the MEMS IMUs above.