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>