imt-ring 1.2.1__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 (83) hide show
  1. imt_ring-1.2.1.dist-info/METADATA +91 -0
  2. imt_ring-1.2.1.dist-info/RECORD +83 -0
  3. imt_ring-1.2.1.dist-info/WHEEL +5 -0
  4. imt_ring-1.2.1.dist-info/top_level.txt +1 -0
  5. ring/__init__.py +63 -0
  6. ring/algebra.py +100 -0
  7. ring/algorithms/__init__.py +45 -0
  8. ring/algorithms/_random.py +403 -0
  9. ring/algorithms/custom_joints/__init__.py +6 -0
  10. ring/algorithms/custom_joints/rr_imp_joint.py +69 -0
  11. ring/algorithms/custom_joints/rr_joint.py +33 -0
  12. ring/algorithms/custom_joints/suntay.py +424 -0
  13. ring/algorithms/dynamics.py +345 -0
  14. ring/algorithms/generator/__init__.py +25 -0
  15. ring/algorithms/generator/base.py +414 -0
  16. ring/algorithms/generator/batch.py +282 -0
  17. ring/algorithms/generator/motion_artifacts.py +222 -0
  18. ring/algorithms/generator/pd_control.py +182 -0
  19. ring/algorithms/generator/randomize.py +119 -0
  20. ring/algorithms/generator/transforms.py +410 -0
  21. ring/algorithms/generator/types.py +36 -0
  22. ring/algorithms/jcalc.py +840 -0
  23. ring/algorithms/kinematics.py +202 -0
  24. ring/algorithms/sensors.py +582 -0
  25. ring/base.py +1046 -0
  26. ring/io/__init__.py +9 -0
  27. ring/io/examples/branched.xml +24 -0
  28. ring/io/examples/exclude/knee_trans_dof.xml +26 -0
  29. ring/io/examples/exclude/standard_sys.xml +106 -0
  30. ring/io/examples/exclude/standard_sys_rr_imp.xml +106 -0
  31. ring/io/examples/inv_pendulum.xml +14 -0
  32. ring/io/examples/knee_flexible_imus.xml +22 -0
  33. ring/io/examples/spherical_stiff.xml +11 -0
  34. ring/io/examples/symmetric.xml +12 -0
  35. ring/io/examples/test_all_1.xml +39 -0
  36. ring/io/examples/test_all_2.xml +39 -0
  37. ring/io/examples/test_ang0_pos0.xml +9 -0
  38. ring/io/examples/test_control.xml +16 -0
  39. ring/io/examples/test_double_pendulum.xml +14 -0
  40. ring/io/examples/test_free.xml +11 -0
  41. ring/io/examples/test_kinematics.xml +23 -0
  42. ring/io/examples/test_morph_system/four_seg_seg1.xml +26 -0
  43. ring/io/examples/test_morph_system/four_seg_seg3.xml +26 -0
  44. ring/io/examples/test_randomize_position.xml +26 -0
  45. ring/io/examples/test_sensors.xml +13 -0
  46. ring/io/examples/test_three_seg_seg2.xml +23 -0
  47. ring/io/examples.py +42 -0
  48. ring/io/test_examples.py +6 -0
  49. ring/io/xml/__init__.py +6 -0
  50. ring/io/xml/abstract.py +300 -0
  51. ring/io/xml/from_xml.py +299 -0
  52. ring/io/xml/test_from_xml.py +56 -0
  53. ring/io/xml/test_to_xml.py +31 -0
  54. ring/io/xml/to_xml.py +94 -0
  55. ring/maths.py +397 -0
  56. ring/ml/__init__.py +33 -0
  57. ring/ml/base.py +292 -0
  58. ring/ml/callbacks.py +434 -0
  59. ring/ml/ml_utils.py +272 -0
  60. ring/ml/optimizer.py +149 -0
  61. ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  62. ring/ml/ringnet.py +279 -0
  63. ring/ml/train.py +318 -0
  64. ring/ml/training_loop.py +131 -0
  65. ring/rendering/__init__.py +2 -0
  66. ring/rendering/base_render.py +271 -0
  67. ring/rendering/mujoco_render.py +222 -0
  68. ring/rendering/vispy_render.py +340 -0
  69. ring/rendering/vispy_visuals.py +290 -0
  70. ring/sim2real/__init__.py +7 -0
  71. ring/sim2real/sim2real.py +288 -0
  72. ring/spatial.py +126 -0
  73. ring/sys_composer/__init__.py +5 -0
  74. ring/sys_composer/delete_sys.py +114 -0
  75. ring/sys_composer/inject_sys.py +110 -0
  76. ring/sys_composer/morph_sys.py +361 -0
  77. ring/utils/__init__.py +21 -0
  78. ring/utils/batchsize.py +51 -0
  79. ring/utils/colab.py +48 -0
  80. ring/utils/hdf5.py +198 -0
  81. ring/utils/normalizer.py +56 -0
  82. ring/utils/path.py +44 -0
  83. ring/utils/utils.py +161 -0
ring/io/__init__.py ADDED
@@ -0,0 +1,9 @@
1
+ from .examples import list_examples
2
+ from .examples import list_load_examples
3
+ from .examples import load_example
4
+ from .xml import load_comments_from_str
5
+ from .xml import load_comments_from_xml
6
+ from .xml import load_sys_from_str
7
+ from .xml import load_sys_from_xml
8
+ from .xml import save_sys_to_str
9
+ from .xml import save_sys_to_xml
@@ -0,0 +1,24 @@
1
+ <x_xy model="branched">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2" edge_color="black" color="white"/>
5
+ <body pos="1 0 0" joint="rz"/>
6
+ </defaults>
7
+ <worldbody>
8
+ <body name="0th" pos="0 0 0" euler="0 90 0" joint="free">
9
+ <geom/>
10
+ <body name="1st">
11
+ <geom/>
12
+ </body>
13
+ <body name="2nd" joint="rx">
14
+ <geom/>
15
+ <body name="3rd">
16
+ <geom/>
17
+ </body>
18
+ <body name="4th" joint="ry">
19
+ <geom/>
20
+ </body>
21
+ </body>
22
+ </body>
23
+ </worldbody>
24
+ </x_xy>
@@ -0,0 +1,26 @@
1
+ <x_xy model="knee_trans_dof">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <worldbody>
4
+ <geom type="xyz" dim="0.15"/>
5
+ <body name="_femur" joint="py" euler="90 90 0" pos="0.5 0.5 0.8">
6
+ <geom type="xyz" dim="0.1"/>
7
+ <body name="femur" joint="rz">
8
+ <geom type="xyz" dim="0.1"/>
9
+ <geom type="capsule" mass="10" euler="0 90 0" pos="0.2 0 0" dim="0.05 0.4"/>
10
+ <body name="imu_femur" joint="frozen" pos="0.2 0 0.06" pos_min=".05 -.06 -.06" pos_max=".35 .06 .06">
11
+ <geom type="xyz" dim="0.05"/>
12
+ <geom type="box" mass="0" dim="0.05 0.05 0.02" color="orange"/>
13
+ </body>
14
+ <body name="tibia" joint="knee_hinge" pos="0.4 0 0">
15
+ <geom type="xyz" dim="0.1"/>
16
+ <geom type="capsule" mass="10" euler="0 90 0" pos="0.2 0 0" dim="0.04 0.4"/>
17
+ <body name="imu_tibia" joint="frozen" pos="0.2 0 0.06" pos_min=".05 -.06 -.06" pos_max=".35 .06 .06">
18
+ <geom type="xyz" dim="0.05"/>
19
+ <geom type="box" mass="0" dim="0.05 0.05 0.02" color="orange"/>
20
+ </body>
21
+ <geom type="box" mass="5.0" pos="0.45 -.1 0" dim="0.025 0.2 0.05"/>
22
+ </body>
23
+ </body>
24
+ </body>
25
+ </worldbody>
26
+ </x_xy>
@@ -0,0 +1,106 @@
1
+ <?xml version="1.0" ?>
2
+ <x_xy model="arm_1Seg">
3
+ <options dt="0.01" gravity="0.0 0.0 9.81"/>
4
+ <worldbody>
5
+ <body joint="free" name="seg2_1Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
6
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
7
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
8
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
9
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
10
+ <body joint="frozen" name="imu2_1Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
11
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
12
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
13
+ </body>
14
+ </body>
15
+ <body joint="free" name="seg2_2Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
16
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
17
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
18
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
19
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
20
+ <body joint="frozen" name="imu2_2Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
21
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
22
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
23
+ </body>
24
+ <body joint="ry" name="seg3_2Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0">
25
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
26
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
27
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
28
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
29
+ <body joint="frozen" name="imu3_2Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
30
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
31
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
32
+ </body>
33
+ </body>
34
+ </body>
35
+ <body joint="free" name="seg2_3Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
36
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
37
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
38
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
39
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
40
+ <body joint="frozen" name="imu2_3Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
41
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
42
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
43
+ </body>
44
+ <body joint="ry" name="seg3_3Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0">
45
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
46
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
47
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
48
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
49
+ <body joint="frozen" name="imu3_3Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
50
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
51
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
52
+ </body>
53
+ <body joint="rz" name="seg4_3Seg" pos="0.19999999 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0">
54
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
55
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
56
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
57
+ <omc pos="0.0 0.0 -0.02" name="seg4" pos_marker="4"/>
58
+ <body joint="frozen" name="imu4_3Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15000004 0.05 0.05">
59
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
60
+ <omc pos="0.1 0.0 0.015" name="seg4" pos_marker="4"/>
61
+ </body>
62
+ </body>
63
+ </body>
64
+ </body>
65
+ <body joint="free" name="seg5_4Seg" pos="0.2 0.0 0.0" pos_min="0.15 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
66
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
67
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="dustin_exp_white" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
68
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="dustin_exp_white" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
69
+ <omc pos="0.0 0.0 -0.02" name="seg5" pos_marker="2"/>
70
+ <body joint="frozen" name="imu5_4Seg" pos="0.10000001 0.0 0.035" pos_min="0.049999997 -0.05 -0.05" pos_max="0.15000002 0.05 0.05">
71
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
72
+ <omc pos="0.1 0.0 0.015" name="seg5" pos_marker="2"/>
73
+ </body>
74
+ <body joint="rx" name="seg2_4Seg" pos="0.2 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0">
75
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
76
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
77
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
78
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
79
+ <body joint="frozen" name="imu2_4Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
80
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
81
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
82
+ </body>
83
+ <body joint="ry" name="seg3_4Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0">
84
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
85
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
86
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
87
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
88
+ <body joint="frozen" name="imu3_4Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
89
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
90
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
91
+ </body>
92
+ <body joint="rz" name="seg4_4Seg" pos="0.19999999 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0">
93
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
94
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
95
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
96
+ <omc pos="0.0 0.0 -0.02" name="seg4" pos_marker="4"/>
97
+ <body joint="frozen" name="imu4_4Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15000004 0.05 0.05">
98
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
99
+ <omc pos="0.1 0.0 0.015" name="seg4" pos_marker="4"/>
100
+ </body>
101
+ </body>
102
+ </body>
103
+ </body>
104
+ </body>
105
+ </worldbody>
106
+ </x_xy>
@@ -0,0 +1,106 @@
1
+ <?xml version="1.0" ?>
2
+ <x_xy model="arm_1Seg">
3
+ <options dt="0.01" gravity="0.0 0.0 9.81"/>
4
+ <worldbody>
5
+ <body joint="free" name="seg2_1Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
6
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
7
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
8
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
9
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
10
+ <body joint="frozen" name="imu2_1Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
11
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
12
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
13
+ </body>
14
+ </body>
15
+ <body joint="free" name="seg2_2Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
16
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
17
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
18
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
19
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
20
+ <body joint="frozen" name="imu2_2Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
21
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
22
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
23
+ </body>
24
+ <body joint="rr_imp" name="seg3_2Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0 3.0">
25
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
26
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
27
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
28
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
29
+ <body joint="frozen" name="imu3_2Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
30
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
31
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
32
+ </body>
33
+ </body>
34
+ </body>
35
+ <body joint="free" name="seg2_3Seg" pos="0.4 0.0 0.0" pos_min="0.2 -0.05 -0.05" pos_max="0.55 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
36
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
37
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
38
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
39
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
40
+ <body joint="frozen" name="imu2_3Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
41
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
42
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
43
+ </body>
44
+ <body joint="rr_imp" name="seg3_3Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0 3.0">
45
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
46
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
47
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
48
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
49
+ <body joint="frozen" name="imu3_3Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
50
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
51
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
52
+ </body>
53
+ <body joint="rr_imp" name="seg4_3Seg" pos="0.19999999 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0 3.0">
54
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
55
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
56
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
57
+ <omc pos="0.0 0.0 -0.02" name="seg4" pos_marker="4"/>
58
+ <body joint="frozen" name="imu4_3Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15000004 0.05 0.05">
59
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
60
+ <omc pos="0.1 0.0 0.015" name="seg4" pos_marker="4"/>
61
+ </body>
62
+ </body>
63
+ </body>
64
+ </body>
65
+ <body joint="free" name="seg5_4Seg" pos="0.2 0.0 0.0" pos_min="0.15 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="5.0 5.0 5.0 25.0 25.0 25.0">
66
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
67
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="dustin_exp_white" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
68
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="dustin_exp_white" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
69
+ <omc pos="0.0 0.0 -0.02" name="seg5" pos_marker="2"/>
70
+ <body joint="frozen" name="imu5_4Seg" pos="0.10000001 0.0 0.035" pos_min="0.049999997 -0.05 -0.05" pos_max="0.15000002 0.05 0.05">
71
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
72
+ <omc pos="0.1 0.0 0.015" name="seg5" pos_marker="2"/>
73
+ </body>
74
+ <body joint="rr_imp" name="seg2_4Seg" pos="0.2 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0 3.0">
75
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_blue" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
76
+ <geom pos="0.05 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
77
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
78
+ <omc pos="0.0 0.0 -0.02" name="seg2" pos_marker="1"/>
79
+ <body joint="frozen" name="imu2_4Seg" pos="0.099999994 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15 0.05 0.05">
80
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
81
+ <omc pos="0.1 0.0 0.015" name="seg2" pos_marker="1"/>
82
+ </body>
83
+ <body joint="rr_imp" name="seg3_4Seg" pos="0.20000002 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35 0.05 0.05" damping="3.0 3.0">
84
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
85
+ <geom pos="0.1 0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
86
+ <geom pos="0.15 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
87
+ <omc pos="0.0 0.0 -0.02" name="seg3" pos_marker="2"/>
88
+ <body joint="frozen" name="imu3_4Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.14999998 0.05 0.05">
89
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
90
+ <omc pos="0.1 0.0 0.015" name="seg3" pos_marker="2"/>
91
+ </body>
92
+ <body joint="rr_imp" name="seg4_4Seg" pos="0.19999999 0.0 0.0" pos_min="0.0 -0.05 -0.05" pos_max="0.35000002 0.05 0.05" damping="3.0 3.0">
93
+ <geom pos="0.1 0.0 0.0" mass="1.0" color="dustin_exp_white" edge_color="black" type="box" dim="0.2 0.05 0.05"/>
94
+ <geom pos="0.03 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
95
+ <geom pos="0.17 -0.05 0.0" mass="0.1" color="black" edge_color="black" type="box" dim="0.01 0.1 0.01"/>
96
+ <omc pos="0.0 0.0 -0.02" name="seg4" pos_marker="4"/>
97
+ <body joint="frozen" name="imu4_4Seg" pos="0.100000024 0.0 0.035" pos_min="0.050000012 -0.05 -0.05" pos_max="0.15000004 0.05 0.05">
98
+ <geom mass="0.1" color="dustin_exp_orange" edge_color="black" type="box" dim="0.05 0.03 0.02"/>
99
+ <omc pos="0.1 0.0 0.015" name="seg4" pos_marker="4"/>
100
+ </body>
101
+ </body>
102
+ </body>
103
+ </body>
104
+ </body>
105
+ </worldbody>
106
+ </x_xy>
@@ -0,0 +1,14 @@
1
+ <x_xy model="inv_pendulum">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="cart" joint="px" damping="0.01">
8
+ <geom type="box" mass="1" dim="0.4 0.1 0.1"/>
9
+ <body name="pendulum" joint="ry" euler="0 -90 0" damping="0.01" pos_min="0 0 0" pos_max="0 0 5">
10
+ <geom type="box" mass="0.5" pos="0.5 0 0" dim="1 0.1 0.1"/>
11
+ </body>
12
+ </body>
13
+ </worldbody>
14
+ </x_xy>
@@ -0,0 +1,22 @@
1
+ <x_xy model="knee_flexible_imus">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <worldbody>
4
+ <body name="femur" joint="free" pos="0.5 0.5 0.3" damping="5 5 5 25 25 25">
5
+ <geom type="xyz" dim="0.1"/>
6
+ <geom type="capsule" mass="1" euler="0 90 0" pos="0.2 0 0" dim="0.05 0.4"/>
7
+ <body name="imu1" joint="frozen" pos="0.2 0 0" pos_min="0.05 0 0" pos_max="0.35 0 0">
8
+ <geom type="xyz" dim="0.05"/>
9
+ <geom type="box" mass="0.1" dim="0.05 0.05 0.02" color="orange"/>
10
+ </body>
11
+ <body name="tibia" joint="ry" pos="0.4 0 0" damping="3">
12
+ <geom type="xyz" dim="0.1"/>
13
+ <geom type="capsule" mass="1" euler="0 90 0" pos="0.2 0 0" dim="0.04 0.4"/>
14
+ <body name="imu2" joint="frozen" pos="0.2 0 0" pos_min="0.05 0 0" pos_max="0.35 0 0">
15
+ <geom type="xyz" dim="0.05"/>
16
+ <geom type="box" mass="0.1" dim="0.05 0.05 0.02" color="orange"/>
17
+ </body>
18
+ <geom type="box" mass="0" pos="0.45 0 .1" dim="0.025 0.05 0.2"/>
19
+ </body>
20
+ </body>
21
+ </worldbody>
22
+ </x_xy>
@@ -0,0 +1,11 @@
1
+ <x_xy model="spherical_stiff">
2
+ <options gravity="0 0 0" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="upper" pos="0 0 0" euler="0 0 0" joint="spherical" damping="2 2 2" spring_stiff="20 20 20">
8
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ </body>
10
+ </worldbody>
11
+ </x_xy>
@@ -0,0 +1,12 @@
1
+ <x_xy model="symmetric">
2
+ <options gravity="0 0 0" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="upper" pos="0 0 0" euler="0 0 0" joint="free">
8
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ <geom type="box" mass="10" pos="-0.5 0 0" dim="1 0.25 0.2"/>
10
+ </body>
11
+ </worldbody>
12
+ </x_xy>
@@ -0,0 +1,39 @@
1
+ <x_xy model="all_1">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom dim="1 10 4" mass="2" edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="worldbody-bookkeeping" joint="frozen">
8
+ <body name="ry" pos="1 0 0" euler="0 90 0" joint="ry" damping="2"> <!-- NEEDS TO DIFFER FROM test_all_0&2 -> pos 1 0 0 -->
9
+ <geom type="box"/>
10
+
11
+ <body name="px" joint="px" pos="5.0 0 1">
12
+ <geom type="box"/>
13
+
14
+ <body name="py" joint="py" pos="1 1 1">
15
+ <geom type="box"/>
16
+
17
+ <body name="pz" joint="pz" pos="1 10 2">
18
+ <geom type="box"/>
19
+ </body>
20
+ </body>
21
+ </body>
22
+ </body>
23
+ <body name="rx" pos="0 0 0" euler="0 90 0" joint="rx" damping="1">
24
+ <geom type="box"/>
25
+
26
+ <body name="frozen" joint="frozen" pos="5.0 0 1">
27
+ <geom type="box"/>
28
+ </body>
29
+ </body>
30
+ <body name="rz" pos="0 0 0" euler="0 90 0" joint="rz" damping="1">
31
+ <geom type="box"/>
32
+
33
+ <body name="free" joint="free" pos="0.5 0 0">
34
+ <geom type="box"/>
35
+ </body>
36
+ </body>
37
+ </body>
38
+ </worldbody>
39
+ </x_xy>
@@ -0,0 +1,39 @@
1
+ <x_xy model="all_2">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom dim="1 10 4" mass="2" edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="worldbody-bookkeeping" joint="frozen">
8
+ <body name="ry" pos="2 0 0" euler="0 90 0" joint="ry" damping="2"> <!-- NEEDS TO DIFFER FROM test_all_1 -> pos 2 0 0 -->
9
+ <geom type="box"/>
10
+
11
+ <body name="px" joint="px" pos="5.0 0 1">
12
+ <geom type="box"/>
13
+
14
+ <body name="py" joint="py" pos="1 1 1">
15
+ <geom type="box"/>
16
+
17
+ <body name="pz" joint="pz" pos="1 10 2">
18
+ <geom type="box"/>
19
+ </body>
20
+ </body>
21
+ </body>
22
+ </body>
23
+ <body name="rx" pos="0 0 0" euler="0 90 0" joint="rx" damping="1">
24
+ <geom type="box"/>
25
+
26
+ <body name="frozen" joint="frozen" pos="5.0 0 1">
27
+ <geom type="box"/>
28
+ </body>
29
+ </body>
30
+ <body name="rz" pos="0 0 0" euler="0 90 0" joint="rz" damping="1">
31
+ <geom type="box"/>
32
+
33
+ <body name="free" joint="free" pos="0.5 0 0">
34
+ <geom type="box"/>
35
+ </body>
36
+ </body>
37
+ </body>
38
+ </worldbody>
39
+ </x_xy>
@@ -0,0 +1,9 @@
1
+ <x_xy model="test_ang0_pos0">
2
+ <worldbody>
3
+ <body name="px" joint="px">
4
+ <body name="rx" joint="ry">
5
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
6
+ </body>
7
+ </body>
8
+ </worldbody>
9
+ </x_xy>
@@ -0,0 +1,16 @@
1
+ <x_xy model="test_control">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="6D" joint="free" damping="2500 2500 2500 25 25 25">
8
+ <body name="upper" pos="0 0 0" euler="0 90 0" joint="ry" damping="25">
9
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
10
+ <body name="lower" pos="1 0 0" quat="1 0 0 0" joint="ry" damping="25" armature="1">
11
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
12
+ </body>
13
+ </body>
14
+ </body>
15
+ </worldbody>
16
+ </x_xy>
@@ -0,0 +1,14 @@
1
+ <x_xy model="test_double_pendulum">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="upper" pos="0 0 0" euler="0 90 0" joint="ry" damping="2">
8
+ <geom type="box" mass="1" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ <body name="lower" pos="1 0 0" quat="1 0 0 0" joint="ry" damping="2" armature="1">
10
+ <geom type="box" mass="1" pos="0.5 0 0" dim="1 0.25 0.2"/>
11
+ </body>
12
+ </body>
13
+ </worldbody>
14
+ </x_xy>
@@ -0,0 +1,11 @@
1
+ <x_xy model="free">
2
+ <options gravity="0 0 0" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="6D body" joint="free">
8
+ <geom type="box" mass="10" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ </body>
10
+ </worldbody>
11
+ </x_xy>
@@ -0,0 +1,23 @@
1
+ <x_xy model="test_kinematics">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom mass="5" pos="0.2 0.1 0.05" dim="0.4 0.2 0.1" type="box"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="0th" joint="free">
8
+ <geom/>
9
+ <body name="1st" joint="rz">
10
+ <geom/>
11
+ </body>
12
+ <body name="2nd" joint="rz" pos="1 0 0">
13
+ <geom/>
14
+ <body name="3rd" joint="rz" pos="1 0 0">
15
+ <geom/>
16
+ </body>
17
+ <body name="4th" joint="ry" pos="1 0 0">
18
+ <geom/>
19
+ </body>
20
+ </body>
21
+ </body>
22
+ </worldbody>
23
+ </x_xy>
@@ -0,0 +1,26 @@
1
+ <x_xy model="four_seg_seg1">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="1 0.8 0.7 1"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="seg1" joint="free">
8
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ <body name="seg2" joint="rx" pos="1 0 0" pos_min="0.9 0 0" pos_max="1.1 0 0">
10
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
11
+ <body name="seg3" joint="ry" pos="1 0 0" pos_min="0.9 0 0" pos_max="1.1 0 0">
12
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
13
+ <body name="seg4" joint="rz" pos="1 0 0" pos_min="0.9 0 0" pos_max="1.1 0 0">
14
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
15
+ <body name="imu2" joint="frozen" pos="0.5 0 -0.125">
16
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="green"/>
17
+ </body>
18
+ </body>
19
+ </body>
20
+ </body>
21
+ <body name="imu1" joint="frozen" pos="0.5 0 0.125">
22
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="blue"/>
23
+ </body>
24
+ </body>
25
+ </worldbody>
26
+ </x_xy>
@@ -0,0 +1,26 @@
1
+ <x_xy model="four_seg_seg3">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="1 0.8 0.7 1"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="seg3" joint="free" pos="2 0 0" pos_min="1.9 0 0" pos_max="2.1 0 0">
8
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
9
+ <body name="seg2" joint="ry">
10
+ <geom type="box" mass="0.1" pos="-0.5 0 0" dim="1 0.25 0.2"/>
11
+ <body name="seg1" joint="rx" pos="-1 0 0" pos_min="-1.1 0 0" pos_max="-0.9 0 0">
12
+ <geom type="box" mass="0.1" pos="-0.5 0 0" dim="1 0.25 0.2"/>
13
+ <body name="imu1" joint="frozen" pos="-0.5 0 0.125">
14
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="blue"/>
15
+ </body>
16
+ </body>
17
+ </body>
18
+ <body name="seg4" joint="rz" pos="1 0 0" pos_min="0.9 0 0" pos_max="1.1 0 0">
19
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
20
+ <body name="imu2" joint="frozen" pos="0.5 0 -0.125">
21
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="green"/>
22
+ </body>
23
+ </body>
24
+ </body>
25
+ </worldbody>
26
+ </x_xy>
@@ -0,0 +1,26 @@
1
+ <x_xy model="test_randomize_position">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="1 0.8 0.7 1"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="seg2" joint="free">
8
+ <geom type="box" mass="0.1" dim="1 0.25 0.2"/>
9
+ <body name="seg1" joint="rx" pos_min="-0.2 -0.02 -0.02" pos_max="0 0.02 0.02">
10
+ <geom type="box" mass="0.1" pos="-0.5 0 0" dim="1 0.25 0.2"/>
11
+ <body name="imu1" joint="frozen" pos_min="-0.25 -0.05 -0.05" pos_max="-0.05 0.05 0.05">
12
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="orange"/>
13
+ </body>
14
+ </body>
15
+ <body name="seg3" joint="ry" pos_min="0 -0.02 -0.02" pos_max="0.2 0.02 0.02">
16
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
17
+ <body name="seg4" joint="rz" pos_min="0 -0.02 -0.02" pos_max="0.4 0.02 0.02">
18
+ <geom type="box" mass="0.1" pos="0.5 0 0" dim="1 0.25 0.2"/>
19
+ <body name="imu2" joint="frozen" pos_min="0.05 -0.05 -0.05" pos_max="0.25 0.05 0.05">
20
+ <geom type="box" mass="0" dim="0.2 0.2 0.05" color="orange"/>
21
+ </body>
22
+ </body>
23
+ </body>
24
+ </body>
25
+ </worldbody>
26
+ </x_xy>
@@ -0,0 +1,13 @@
1
+ <x_xy model="test_sensors">
2
+ <options gravity="0 0 9.81" dt="0.01"/>
3
+ <defaults>
4
+ <geom edge_color="black" color="white"/>
5
+ </defaults>
6
+ <worldbody>
7
+ <body name="hinge" pos="0 0 0" euler="0 90 0" joint="ry">
8
+ <geom type="box" mass="10" pos="0.25 0 0" dim="0.5 0.25 0.2"/>
9
+ <body name="imu1" pos="1 0 0" joint="frozen"></body>
10
+ <body name="imu2" pos="2 0 0" euler="0 0 90" joint="frozen"></body>
11
+ </body>
12
+ </worldbody>
13
+ </x_xy>