<mujoco model="472-grimshaw-compressed-air-hammer">
<compiler angle="radian" autolimits="true"/>
<option timestep="0.0002" integrator="implicitfast" iterations="60" cone="elliptic" impratio="10" gravity="0 0 -9.81"/>
<asset><mesh name="hammer_h0" vertex="-0.04 -0.03 0.035 0.04 -0.03 0.035 0.04 0.03 0.035 -0.04 0.03 0.035 -0.04 -0.03 -0.035 0.04 -0.03 -0.035 0.04 0.03 -0.035 -0.04 0.03 -0.035"/><mesh name="frame_h0" vertex="-0.06 -0.025 0.1 0.06 -0.025 0.1 0.06 0.025 0.1 -0.06 0.025 0.1 -0.06 -0.025 0.07 0.06 -0.025 0.07 0.06 0.025 0.07 -0.06 0.025 0.07"/></asset>
<size memory="64M"/>
<worldbody>
<body name="hammer" pos="0 0 0.1352"><joint name="j_h" type="slide" axis="0 0 1" damping="0.5" frictionloss="0" range="-0.004 0.131" solreflimit="0.002 1" solimplimit="0.95 0.99 0.001"/><inertial pos="0 0 0.05025744747" mass="4" fullinertia="0.04805382322 0.04880165489 0.002891533367 0 0 0"/><geom name="hammer_h0" type="mesh" mesh="hammer_h0" contype="8" conaffinity="16" condim="3" friction="0.15 0.005 0.0001" solref="0.004 1" solimp="0.9 0.95 0.001" margin="0" group="2" mass="0"/></body>
<body name="pumppis" pos="-0.24 0 0.2"><joint name="j_d" type="slide" axis="0 0 1" damping="0.1" frictionloss="0" range="-0.01 0.09" solreflimit="0.002 1" solimplimit="0.95 0.99 0.001"/><inertial pos="0 0 0.0677122287" mass="0.3" fullinertia="0.0001514840196 0.000151469665 0.0002162802146 0 0 0"/><body name="pumprod" pos="0 0 0"><joint name="j_dr" type="hinge" axis="0 1 0" damping="0.001" frictionloss="0"/><inertial pos="0 0 -0.06" mass="0.1" fullinertia="0.00012050625 0.00012050625 0.0000010125 0 0 0"/></body>
</body>
<body name="crank" pos="-0.24 0 0.12"><joint name="j_k" type="hinge" axis="0 1 0" damping="0.01" frictionloss="0"/><inertial pos="0.0000689022383 -0.004301300049 -0.004863251192" mass="6" fullinertia="0.001334918461 0.001824810897 0.000716426784 0.000002976039237 -0.000002333409244 -0.00001991418833"/></body>
<body name="valve" pos="0 0 0.603"><joint name="j_v" type="slide" axis="1 0 0" damping="0.01" frictionloss="0" range="-0.04 0.04" solreflimit="0.002 1" solimplimit="0.95 0.99 0.001"/><inertial pos="-0.003817901615 0.01089760464 -0.007182792428" mass="0.05" fullinertia="0.00000387608518 0.00002303946277 0.00002463429137 -0.000002808749165 0.000001371159741 3.959138531e-7"/><body name="vrod" pos="-0.065 0 0"><joint name="j_vr" type="hinge" axis="0 1 0" damping="0.0005" frictionloss="0"/><inertial pos="-0.085284 -0.016 -0.2411095" mass="0.05" fullinertia="0.0009690666692 0.001090272319 0.0001215118999 0 -0.0003426649037 0"/></body>
</body>
<body name="frame" pos="0 0 0"><geom name="frame_h0" type="mesh" mesh="frame_h0" contype="16" conaffinity="8" condim="3" friction="0.15 0.005 0.0001" solref="0.004 1" solimp="0.9 0.95 0.001" margin="0" group="2" mass="0"/></body>
<geom name="floor" type="plane" size="1 1 0.1" contype="0" conaffinity="0" group="1"/>
</worldbody>
<equality><connect name="p_d" body1="crank" body2="pumprod" anchor="0 0 -0.04" solref="0.002 1" solimp="0.95 0.99 0.001"/><connect name="p_v" body1="crank" body2="vrod" anchor="0.004432 0 0.000781" solref="0.002 1" solimp="0.95 0.99 0.001"/></equality>
<contact><exclude body1="crank" body2="pumprod"/><exclude body1="crank" body2="vrod"/></contact>
<actuator><velocity name="drive" joint="j_k" kv="100" forcerange="-200 200"/></actuator>
</mujoco>
