safety_gym/xmls/doggo.xml (134 lines of code) (raw):
<mujoco model="doggo">
<option timestep="0.01"/>
<size njmax="3000" nconmax="1000"/>
<default>
<joint limited="true" stiffness="0.01"/>
<geom condim="6" size="0.032" rgba="1 0 0 1" type="capsule" density="5"/>
<motor ctrllimited="true" ctrlrange="-1.0 1.0" gear=".0125"/>
<site size="0.036" type="sphere" rgba="1 0 0 0"/>
</default>
<worldbody>
<geom name="floor" size="5 5 0.1" type="plane" condim="6"/>
<body name="robot" pos="0 0 0.22">
<camera name="vision" pos=".125 0 .2" xyaxes="0 -1 0 .4 0 1" fovy="100"/>
<!-- <geom name="cam" pos=".15 0 .2" type="sphere" size="0.005"/> -->
<site name="robot" pos="0 0 0"/>
<geom name="robot" pos="0 0 0" size="0.075" fromto="0 0 0 .2 0 0" type="cylinder" density="0.5"/>
<freejoint name="robot"/>
<body name="leg_1" pos="0 0 0">
<geom fromto=".1 0.0 0.0 0.2 0.1 0.0" name="aux_1"/>
<body name="aux_1" pos="0.2 0.1 0">
<joint axis="0 0 1" name="hip_1_z" pos="0.0 0.0 0.0" range="-10 30" type="hinge" springref="0"/>
<joint axis="0 1 0" name="hip_1_y" pos="0.0 0.0 0.0" range="-75 15" type="hinge" springref="-10"/>
<geom fromto="0.0 0.0 0.0 0.098 0.0566 -.05" name="hip_1"/>
<body pos="0.098 0.0566 -.05">
<joint axis="-.5 .866 0" name="ankle_1" pos="0.0 0.0 0.0" range="-75 0" type="hinge" springref="-20"/>
<geom fromto="0.0 0.0 0.0 -0.1176 -0.0679 -.1" name="ankle_1" rgba="0 0 1 1"/>
<site name="ankle_1a" pos="0 0 0"/>
<site name="ankle_1b" pos="-0.1176 -0.0679 -.1"/>
</body>
</body>
</body>
<body name="leg_4" pos="0 0 0">
<geom fromto=".1 0.0 0.0 0.2 -0.1 0.0" name="aux_4"/>
<body name="aux_4" pos="0.2 -0.1 0">
<joint axis="0 0 -1" name="hip_4_z" pos="0.0 0.0 0.0" range="-10 30" type="hinge" springref="0"/>
<joint axis="0 1 0" name="hip_4_y" pos="0.0 0.0 0.0" range="-75 15" type="hinge" springref="-10"/>
<geom fromto="0.0 0.0 0.0 0.098 -0.0566 -.05" name="hip_4"/>
<body pos="0.098 -0.0566 -.05">
<joint axis=".5 .866 0" name="ankle_4" pos="0.0 0.0 0.0" range="-75 0" type="hinge" springref="-20"/>
<geom fromto="0.0 0.0 0.0 -0.1176 0.0679 -.1" name="ankle_4" rgba="0 0 1 1"/>
<site name="ankle_4a" pos="0 0 0"/>
<site name="ankle_4b" pos="-0.1176 0.0679 -.1"/>
</body>
</body>
</body>
<body name="rear" pos="0 0 0">
<geom name="robot2" pos="0 0 0" size="0.075" fromto="-.2 0 0 0 0 0" type="cylinder" density="0.5"/>
<joint axis="1 0 0" name="waist_x" pos="0 0 0" range="-30 30" type="hinge" springref="0"/>
<body name="leg_2" pos="0 0 0">
<geom fromto="-.1 0.0 0.0 -0.2 0.1 0.0" name="aux_2"/>
<body name="aux_2" pos="-0.2 0.1 0">
<joint axis="0 0 1" name="hip_2_z" pos="0.0 0.0 0.0" range="-10 30" type="hinge" springref="0"/>
<joint axis="0 1 0" name="hip_2_y" pos="0.0 0.0 0.0" range="0 135" type="hinge" springref="0"/>
<geom fromto="0.0 0.0 0.0 0.098 0.0566 -.05" name="hip_2"/>
<body pos="0.098 0.0566 -.05">
<!-- <joint axis="-.5 .866 0" name="ankle_2" pos="0.0 0.0 0.0" range="-80 -30" type="hinge"/> -->
<joint axis="-.5 .866 0" name="ankle_2" pos="0.0 0.0 0.0" range="-75 0" type="hinge" springref="-20"/>
<geom fromto="0.0 0.0 0.0 -0.1176 -0.0679 -.1" name="ankle_2" rgba="0 1 0 1"/>
<site name="ankle_2a" pos="0 0 0"/>
<site name="ankle_2b" pos="-0.1176 -0.0679 -.1"/>
</body>
</body>
</body>
<body name="leg_3" pos="0 0 0">
<geom fromto="-.1 0.0 0.0 -0.2 -0.1 0.0" name="aux_3"/>
<body name="aux_3" pos="-0.2 -0.1 0">
<joint axis="0 0 -1" name="hip_3_z" pos="0.0 0.0 0.0" range="-10 30" type="hinge" springref="0"/>
<joint axis="0 1 0" name="hip_3_y" pos="0.0 0.0 0.0" range="0 135" type="hinge" springref="0"/>
<geom fromto="0.0 0.0 0.0 0.098 -0.0566 -.05" name="hip_3"/>
<body pos="0.098 -0.0566 -.05">
<!-- <joint axis=".5 .866 0" name="ankle_3" pos="0.0 0.0 0.0" range="-80 -30" type="hinge"/> -->
<joint axis=".5 .866 0" name="ankle_3" pos="0.0 0.0 0.0" range="-75 0" type="hinge" springref="-20"/>
<geom fromto="0.0 0.0 0.0 -0.1176 0.0679 -.1" name="ankle_3" rgba="0 1 0 1"/>
<site name="ankle_3a" pos="0 0 0"/>
<site name="ankle_3b" pos="-0.1176 0.0679 -.1"/>
</body>
</body>
</body>
</body>
</body>
</worldbody>
<sensor>
<touch site="ankle_1a" name="touch_ankle_1a"/>
<touch site="ankle_1b" name="touch_ankle_1b"/>
<touch site="ankle_2a" name="touch_ankle_2a"/>
<touch site="ankle_2b" name="touch_ankle_2b"/>
<touch site="ankle_3a" name="touch_ankle_3a"/>
<touch site="ankle_3b" name="touch_ankle_3b"/>
<touch site="ankle_4a" name="touch_ankle_4a"/>
<touch site="ankle_4b" name="touch_ankle_4b"/>
<jointpos joint="hip_1_z" name="jointpos_hip_1_z"/>
<jointpos joint="hip_2_z" name="jointpos_hip_2_z"/>
<jointpos joint="hip_3_z" name="jointpos_hip_3_z"/>
<jointpos joint="hip_4_z" name="jointpos_hip_4_z"/>
<jointpos joint="hip_1_y" name="jointpos_hip_1_y"/>
<jointpos joint="hip_2_y" name="jointpos_hip_2_y"/>
<jointpos joint="hip_3_y" name="jointpos_hip_3_y"/>
<jointpos joint="hip_4_y" name="jointpos_hip_4_y"/>
<jointpos joint="ankle_1" name="jointpos_ankle_1"/>
<jointpos joint="ankle_2" name="jointpos_ankle_2"/>
<jointpos joint="ankle_3" name="jointpos_ankle_3"/>
<jointpos joint="ankle_4" name="jointpos_ankle_4"/>
<jointvel joint="hip_1_z" name="jointvel_hip_1_z"/>
<jointvel joint="hip_2_z" name="jointvel_hip_2_z"/>
<jointvel joint="hip_3_z" name="jointvel_hip_3_z"/>
<jointvel joint="hip_4_z" name="jointvel_hip_4_z"/>
<jointvel joint="hip_1_y" name="jointvel_hip_1_y"/>
<jointvel joint="hip_2_y" name="jointvel_hip_2_y"/>
<jointvel joint="hip_3_y" name="jointvel_hip_3_y"/>
<jointvel joint="hip_4_y" name="jointvel_hip_4_y"/>
<jointvel joint="ankle_1" name="jointvel_ankle_1"/>
<jointvel joint="ankle_2" name="jointvel_ankle_2"/>
<jointvel joint="ankle_3" name="jointvel_ankle_3"/>
<jointvel joint="ankle_4" name="jointvel_ankle_4"/>
<!-- <actuatorpos actuator="hip_1"/>
<actuatorpos actuator="hip_2"/>
<actuatorpos actuator="hip_3"/>
<actuatorpos actuator="hip_4"/>
<actuatorpos actuator="ankle_1"/>
<actuatorpos actuator="ankle_2"/>
<actuatorpos actuator="ankle_3"/>
<actuatorpos actuator="ankle_4"/>
<actuatorvel actuator="hip_1"/>
<actuatorvel actuator="hip_2"/>
<actuatorvel actuator="hip_3"/>
<actuatorvel actuator="hip_4"/>
<actuatorvel actuator="ankle_1"/>
<actuatorvel actuator="ankle_2"/>
<actuatorvel actuator="ankle_3"/>
<actuatorvel actuator="ankle_4"/>
<actuatorfrc actuator="hip_1"/>
<actuatorfrc actuator="hip_2"/>
<actuatorfrc actuator="hip_3"/>
<actuatorfrc actuator="hip_4"/>
<actuatorfrc actuator="ankle_1"/>
<actuatorfrc actuator="ankle_2"/>
<actuatorfrc actuator="ankle_3"/>
<actuatorfrc actuator="ankle_4"/> -->
<!-- Used for observation -->
<accelerometer site="robot" name="accelerometer"/>
<velocimeter site="robot" name="velocimeter"/>
<gyro site="robot" name="gyro"/>
<magnetometer site="robot" name="magnetometer"/>
<!-- Used for intrinsic constraints -->
<subtreecom body="robot" name="subtreecom"/>
<subtreelinvel body="robot" name="subtreelinvel"/>
<subtreeangmom body="robot" name="subtreeangmom"/>
</sensor>
<actuator>
<motor name="hip_1_z" joint="hip_1_z"/>
<motor name="hip_2_z" joint="hip_2_z"/>
<motor name="hip_3_z" joint="hip_3_z"/>
<motor name="hip_4_z" joint="hip_4_z"/>
<motor name="hip_1_y" joint="hip_1_y"/> <!-- gear=".05"/> -->
<motor name="hip_2_y" joint="hip_2_y"/> <!-- gear=".05"/> -->
<motor name="hip_3_y" joint="hip_3_y"/> <!-- gear=".05"/> -->
<motor name="hip_4_y" joint="hip_4_y"/> <!-- gear=".05"/> -->
<motor name="ankle_1" joint="ankle_1"/>
<motor name="ankle_2" joint="ankle_2"/>
<motor name="ankle_3" joint="ankle_3"/>
<motor name="ankle_4" joint="ankle_4"/>
</actuator>
</mujoco>