-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrig.xml
79 lines (66 loc) · 4 KB
/
rig.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<mujoco model='rig'>
<compiler inertiafromgeom='true' angle='degree'/>
<default>
<joint limited='true' damping='0' armature='0' />
<geom contype='1' conaffinity='1' condim='1' rgba='0.8 0.6 .4 1'
margin="0.001" solref=".02 1" solimp=".8 .8 .01" material="geom"/>
<motor ctrlrange='-.4 .4' ctrllimited='true'/>
</default>
<option timestep='0.002' iterations="50" solver="PGS">
<flag energy="enable"/>
</option>
<visual>
<map fogstart="3" fogend="5" force="0.1"/>
<quality shadowsize="2048"/>
</visual>
<asset>
<texture type="skybox" builtin="gradient" width="100" height="100" rgb1=".4 .6 .8"
rgb2="0 0 0"/>
<texture name="texgeom" type="cube" builtin="flat" mark="cross" width="127" height="1278"
rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" markrgb="1 1 1" random="0.01"/>
<texture name="texplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 0.15 0.2"
width="100" height="100"/>
<material name='MatPlane' reflectance='0.5' texture="texplane" texrepeat="1 1" texuniform="true"/>
<material name='geom' texture="texgeom" texuniform="true"/>
</asset>
<worldbody>
<geom name='floor' pos='0 0 0' size='10 10 0.125' type='plane' material="MatPlane" condim='3'/>
<!-- 32' high, x=0 -->
<body name='fly_crane' pos='0 0 9.7' >
<geom name='fly_crane' type='cylinder' fromto='0 -1 0 0 1 0' size='0.05' />
<inertial mass='0.0' />
</body>
<!-- 23' high, approx. 13' = 3.94 m right of fly crane -->
<!-- seems too close to fly bar, move a bit further -->
<body name='board' pos='4.45 0 6.97' size='1.0 2.0 0.05' type='plane' material='MatPlane' condim='3' >
<geom name='board' type='box' pos='1.0 0 -0.05' size='1.0 2.0 0.05' />
<geom name='ridge' type='box' pos='0.3 0 0.04' size='0.1 2.0 0.08' />
<inertial mass='0.0' />
</body>
<!-- fly cable length 12' = 3.64 m -->
<!-- height = 8.3 m set by reasonable offset from board height -->
<!-- 3.64^2 = (9.7-8.3)^2 + x^2 -->
<body name='fly_bar' pos='3.36 0 8.3' >
<geom name='fly_bar' type='cylinder' fromto='0 -0.45 0 0 0.45 0' size='0.01' />
<body name='l_fly_cable' pos='0 -0.45 0'>
inertial mass='1' />
<geom name='l_fly_cable' type='cylinder' fromto='-0.02 0 0 -3.36 0 1.34' size='0.0025' />
<joint name='l_fly_cable_bar_x' type='hinge' pos='0 0 0' axis='1 0 0' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
<joint name='l_fly_cable_bar_y' type='hinge' pos='0 0 0' axis='0 1 0' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
<joint name='l_fly_cable_bar_z' type='hinge' pos='0 0 0' axis='0 0 1' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
</body>
<body name='r_fly_cable' pos='0 0.45 0'>
inertial mass='1' />
<geom name='r_fly_cable' type='cylinder' fromto='-0.02 0 0 -3.36 0 1.34' size='0.0025' />
<!-- <joint name='r_fly_cable_bar_attach' type='ball' axis='0 0 1' range='-180 180' pos='0 0 0' damping='0' stiffness='0' armature='0.001' /> -->
<joint name='r_fly_cable_bar_x' type='hinge' pos='0 0 0' axis='1 0 0' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
<joint name='r_fly_cable_bar_y' type='hinge' pos='0 0 0' axis='0 1 0' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
<joint name='r_fly_cable_bar_z' type='hinge' pos='0 0 0' axis='0 0 1' range='-180 180' damping='0' stiffness='.0' armature='0.01' />
</body>
</body>
</worldbody>
<actuator>
<motor name='l_fly_cable_bar_attach' gear='100' joint='l_fly_cable_bar_attach' />
<motor name='r_fly_cable_bar_attach' gear='100' joint='r_fly_cable_bar_attach' />
</actuator>
</mujoco>