Initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
S10 model adapted from the Deep Robotics deployment SDK
|
||||
(`S10_description/s10_mjcf/S10.xml`). Only the 17 mesh files referenced by
|
||||
`s10.xml` are included. The source XML is BSD-3-Clause, see `../LICENSE_s10`.
|
||||
|
||||
Local changes:
|
||||
|
||||
- Removed the world floor and light so mjlab can attach the robot to its own
|
||||
terrain.
|
||||
- Removed the torque `<motor>` actuator block; mjlab adds native position
|
||||
actuators for the 12 leg joints and native velocity actuators for the 4
|
||||
wheels.
|
||||
- Added names to the four wheel collision cylinders
|
||||
(`fl/fr/hl/hr_wheel_collision`) so wheel friction randomisation and contact
|
||||
sensors can address them.
|
||||
- Removed the `<sensor>` block. The SDK XML has unnamed `accelerometer` and
|
||||
`gyro` elements, which mjlab tries to wrap as a sensor with an empty name and
|
||||
fails with `KeyError: Invalid name ''` during scene initialization. The
|
||||
training actor/world model read MuJoCo data directly and do not use these XML
|
||||
sensors.
|
||||
- `robot/config.py` names remaining unnamed collision geoms, clears collision
|
||||
margins for Warp MULTICCD compatibility, and delegates solver options to the
|
||||
task.
|
||||
- `meshdir` changed from `../meshes/` to `meshes/`.
|
||||
|
||||
Default pose, joint limits, link geometry and inertial values are unchanged
|
||||
from the SDK model. Actuator gains follow the SDK/IsaacLab S10 configuration:
|
||||
legs kp=80, kd=2, effort=50 N·m; wheels damping=0.8, effort=14 N·m.
|
||||
These values are taken from the provided deployment/training projects and are
|
||||
not independently hardware-calibrated here.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,176 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<mujoco model="S10">
|
||||
<default>
|
||||
<default class="robot">
|
||||
<default class="motor">
|
||||
<joint />
|
||||
<motor />
|
||||
</default>
|
||||
<default class="visual">
|
||||
<geom material="default_material" contype="0" conaffinity="0" group="2" />
|
||||
</default>
|
||||
<default class="collision">
|
||||
<geom material="collision_material" condim="3" contype="1" conaffinity="1" solref="0.005 1" friction="1 0.01 0.001" density="0" group="1" />
|
||||
</default>
|
||||
</default>
|
||||
</default>
|
||||
<compiler angle="radian" meshdir="meshes/" />
|
||||
<compiler autolimits="true" />
|
||||
<asset>
|
||||
<material name="default_material" rgba="0.7 0.7 0.7 1" />
|
||||
<material name="collision_material" rgba="0.0 0.4 0.8 0.2" />
|
||||
<mesh name="base_link" file="base_link.STL" />
|
||||
<mesh name="fl_hipx" file="fl_hipx.STL" />
|
||||
<mesh name="fl_hipy" file="fl_hipy.STL" />
|
||||
<mesh name="fl_knee" file="fl_knee.STL" />
|
||||
<mesh name="fl_wheel" file="fl_wheel.STL" />
|
||||
<mesh name="fr_hipx" file="fr_hipx.STL" />
|
||||
<mesh name="fr_hipy" file="fr_hipy.STL" />
|
||||
<mesh name="fr_knee" file="fr_knee.STL" />
|
||||
<mesh name="fr_wheel" file="fr_wheel.STL" />
|
||||
<mesh name="hl_hipx" file="hl_hipx.STL" />
|
||||
<mesh name="hl_hipy" file="hl_hipy.STL" />
|
||||
<mesh name="hl_knee" file="hl_knee.STL" />
|
||||
<mesh name="hl_wheel" file="hl_wheel.STL" />
|
||||
<mesh name="hr_hipx" file="hr_hipx.STL" />
|
||||
<mesh name="hr_hipy" file="hr_hipy.STL" />
|
||||
<mesh name="hr_knee" file="hr_knee.STL" />
|
||||
<mesh name="hr_wheel" file="hr_wheel.STL" />
|
||||
<texture name="texplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 0.15 0.2" width="512" height="512" />
|
||||
<material name="MatPlane" reflectance="0.3" texture="texplane" texrepeat="1 1" texuniform="true" />
|
||||
</asset>
|
||||
<worldbody>
|
||||
<body name="base_link" pos="0 0.0 0.5" quat="1 0 0 0" childclass="robot">
|
||||
<freejoint name="floating_base" />
|
||||
<inertial pos="-0.000512 0.057317 0.001182" quat="1 0 0 0" mass="8.023087" diaginertia="0.115559 0.171329 0.262028" />
|
||||
<site name="imu_site" pos="0.0075 -0.0373 0.0556" size="0.005" rgba="1 0 0 1" />
|
||||
<site name="base_site" pos="0 0 0" quat="1 0 0 0" />
|
||||
<geom type="mesh" class="visual" mesh="base_link" />
|
||||
<geom size="0.08 0.3" pos="0 0.024 0" quat="0.707107 0 0.707107 0" type="cylinder" class="collision" />
|
||||
<geom size="0.08 0.3" pos="0 -0.024 0" quat="0.707107 0 0.707107 0" type="cylinder" class="collision" />
|
||||
<geom size="0.08 0.024 0.3" quat="0.707107 0 0.707107 0" type="box" class="collision" />
|
||||
<body name="fl_hipx" pos="0.2277 0.0574 0">
|
||||
<inertial pos="-0.005034 0.023524 4.6e-05" quat="0.25609 0.665262 -0.228203 0.663151" mass="0.627405" diaginertia="0.000415056 0.000391723 0.000223221" />
|
||||
<joint name="fl_hipx_joint" pos="0 0 0" axis="-1 0 0" range="-0.6109 0.6109" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fl_hipx" />
|
||||
<geom size="0.04 0.05" pos="0 0.054 0" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" />
|
||||
<body name="fl_hipy" pos="0 0.0779 0">
|
||||
<inertial pos="7.4e-05 0.018439 -0.129675" quat="0.701304 -0.0510428 0.0516391 0.709155" mass="0.885874" diaginertia="0.00454086 0.00445199 0.00030515" />
|
||||
<joint name="fl_hipy_joint" pos="0 0 0" axis="0 -1 0" range="-2.5307 2.5307" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fl_hipy" />
|
||||
<geom size="0.032 0.012 0.09" pos="0 0.012 -0.09" type="box" class="collision" />
|
||||
<geom size="0.04 0.04" pos="0 0.018 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fl_knee_joint_collision" />
|
||||
<body name="fl_knee" pos="0 0 -0.18">
|
||||
<inertial pos="-3.2e-05 0.013504 -0.156308" quat="0.703786 -0.068447 0.068447 0.703786" mass="0.640283" diaginertia="0.0022296 0.002221 0.000193398" />
|
||||
<joint name="fl_knee_joint" pos="0 0 0" axis="0 -1 0" range="-2.7227 2.7227" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fl_knee" />
|
||||
<geom size="0.029 0.01 0.09" pos="0 -0.012 -0.09" type="box" class="collision" name="fl_shin_collision" />
|
||||
<geom size="0.04 0.025" pos="0 0.002 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fl_knee_hub_collision" />
|
||||
<body name="fl_wheel" pos="0 0.045891 -0.18">
|
||||
<inertial pos="-8e-06 0.001694 -5e-06" quat="0.707107 0 0 0.707107" mass="0.587952" diaginertia="0.002003 0.001059 0.001059" />
|
||||
<joint name="fl_wheel_joint" pos="0 0 0" axis="0 -1 0" actuatorfrcrange="-14 14" />
|
||||
<geom type="mesh" class="visual" mesh="fl_wheel" />
|
||||
<geom size="0.081 0.0185" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fl_wheel_collision" />
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
<body name="fr_hipx" pos="0.2277 -0.0574 0">
|
||||
<inertial pos="-0.004831 -0.02349 0.000169" quat="-0.278522 0.675499 0.205833 0.650968" mass="0.626546" diaginertia="0.000415238 0.000395047 0.000218715" />
|
||||
<joint name="fr_hipx_joint" pos="0 0 0" axis="-1 0 0" range="-0.6109 0.6109" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fr_hipx" />
|
||||
<geom size="0.04 0.05" pos="0 -0.054 0" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" />
|
||||
<body name="fr_hipy" pos="0 -0.0779 0">
|
||||
<inertial pos="-7.4e-05 -0.018439 -0.129675" quat="0.701304 0.0510428 -0.0516391 0.709155" mass="0.885874" diaginertia="0.00454086 0.00445199 0.00030515" />
|
||||
<joint name="fr_hipy_joint" pos="0 0 0" axis="0 -1 0" range="-2.5307 2.5307" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fr_hipy" />
|
||||
<geom size="0.032 0.012 0.09" pos="0 -0.012 -0.09" type="box" class="collision" />
|
||||
<geom size="0.04 0.04" pos="0 -0.018 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fr_knee_joint_collision" />
|
||||
<body name="fr_knee" pos="0 0 -0.18">
|
||||
<inertial pos="3.2e-05 -0.013504 -0.156308" quat="0.703786 0.068447 -0.068447 0.703786" mass="0.640283" diaginertia="0.0022296 0.002221 0.000193398" />
|
||||
<joint name="fr_knee_joint" pos="0 0 0" axis="0 -1 0" range="-2.7227 2.7227" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="fr_knee" />
|
||||
<geom size="0.029 0.01 0.09" pos="0 0.012 -0.09" type="box" class="collision" name="fr_shin_collision" />
|
||||
<geom size="0.04 0.025" pos="0 -0.002 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fr_knee_hub_collision" />
|
||||
<body name="fr_wheel" pos="0 -0.045891 -0.18">
|
||||
<inertial pos="8e-06 -0.001694 5e-06" quat="0.707107 0 0 0.707107" mass="0.587952" diaginertia="0.002003 0.001059 0.001059" />
|
||||
<joint name="fr_wheel_joint" pos="0 0 0" axis="0 -1 0" actuatorfrcrange="-14 14" />
|
||||
<geom type="mesh" class="visual" mesh="fr_wheel" />
|
||||
<geom size="0.081 0.0185" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="fr_wheel_collision" />
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
<body name="hl_hipx" pos="-0.2277 0.0574 0">
|
||||
<inertial pos="0.004831 0.02349 0.000169" quat="-0.205833 0.650968 0.278522 0.675499" mass="0.626546" diaginertia="0.000415238 0.000395047 0.000218715" />
|
||||
<joint name="hl_hipx_joint" pos="0 0 0" axis="-1 0 0" range="-0.6109 0.6109" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hl_hipx" />
|
||||
<geom size="0.04 0.05" pos="0 0.054 0" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" />
|
||||
<body name="hl_hipy" pos="0 0.0779 0">
|
||||
<inertial pos="7.4e-05 0.018439 -0.129675" quat="0.701304 -0.0510428 0.0516391 0.709155" mass="0.885874" diaginertia="0.00454086 0.00445199 0.00030515" />
|
||||
<joint name="hl_hipy_joint" pos="0 0 0" axis="0 -1 0" range="-2.5307 2.5307" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hl_hipy" />
|
||||
<geom size="0.032 0.012 0.09" pos="0 0.012 -0.09" type="box" class="collision" />
|
||||
<geom size="0.04 0.04" pos="0 0.018 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hl_knee_joint_collision" />
|
||||
<body name="hl_knee" pos="0 0 -0.18">
|
||||
<inertial pos="-3.2e-05 0.013504 -0.156308" quat="0.703786 -0.068447 0.068447 0.703786" mass="0.640283" diaginertia="0.0022296 0.002221 0.000193398" />
|
||||
<joint name="hl_knee_joint" pos="0 0 0" axis="0 -1 0" range="-2.7227 2.7227" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hl_knee" />
|
||||
<geom size="0.029 0.01 0.09" pos="0 -0.012 -0.09" type="box" class="collision" name="hl_shin_collision" />
|
||||
<geom size="0.04 0.025" pos="0 0.002 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hl_knee_hub_collision" />
|
||||
<body name="hl_wheel" pos="0 0.045891 -0.18">
|
||||
<inertial pos="-8e-06 0.001694 -5e-06" quat="0.707107 0 0 0.707107" mass="0.587952" diaginertia="0.002003 0.001059 0.001059" />
|
||||
<joint name="hl_wheel_joint" pos="0 0 0" axis="0 -1 0" actuatorfrcrange="-14 14" />
|
||||
<geom type="mesh" class="visual" mesh="hl_wheel" />
|
||||
<geom size="0.081 0.0185" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hl_wheel_collision" />
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
<body name="hr_hipx" pos="-0.2277 -0.0574 0">
|
||||
<inertial pos="0.005034 -0.023524 4.6e-05" quat="0.228203 0.663151 -0.25609 0.665262" mass="0.627405" diaginertia="0.000415056 0.000391723 0.000223221" />
|
||||
<joint name="hr_hipx_joint" pos="0 0 0" axis="-1 0 0" range="-0.6109 0.6109" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hr_hipx" />
|
||||
<geom size="0.04 0.05" pos="0 -0.054 0" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" />
|
||||
<body name="hr_hipy" pos="0 -0.0779 0">
|
||||
<inertial pos="-7.4e-05 -0.018439 -0.129675" quat="0.701304 0.0510428 -0.0516391 0.709155" mass="0.885874" diaginertia="0.00454086 0.00445199 0.00030515" />
|
||||
<joint name="hr_hipy_joint" pos="0 0 0" axis="0 -1 0" range="-2.5307 2.5307" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hr_hipy" />
|
||||
<geom size="0.032 0.012 0.09" pos="0 -0.012 -0.09" type="box" class="collision" />
|
||||
<geom size="0.04 0.04" pos="0 -0.018 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hr_knee_joint_collision" />
|
||||
<body name="hr_knee" pos="0 0 -0.18">
|
||||
<inertial pos="3.2e-05 -0.013504 -0.156308" quat="0.703786 0.068447 -0.068447 0.703786" mass="0.640283" diaginertia="0.0022296 0.002221 0.000193398" />
|
||||
<joint name="hr_knee_joint" pos="0 0 0" axis="0 -1 0" range="-2.7227 2.7227" actuatorfrcrange="-50 50" />
|
||||
<geom type="mesh" class="visual" mesh="hr_knee" />
|
||||
<geom size="0.029 0.01 0.09" pos="0 0.012 -0.09" type="box" class="collision" name="hr_shin_collision" />
|
||||
<geom size="0.04 0.025" pos="0 -0.002 -0.18" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hr_knee_hub_collision" />
|
||||
<body name="hr_wheel" pos="0 -0.045891 -0.18">
|
||||
<inertial pos="8e-06 -0.001694 5e-06" quat="0.707107 0 0 0.707107" mass="0.587952" diaginertia="0.002003 0.001059 0.001059" />
|
||||
<joint name="hr_wheel_joint" pos="0 0 0" axis="0 -1 0" actuatorfrcrange="-14 14" />
|
||||
<geom type="mesh" class="visual" mesh="hr_wheel" />
|
||||
<geom size="0.081 0.0185" quat="0.707107 0.707107 0 0" type="cylinder" class="collision" name="hr_wheel_collision" />
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</worldbody>
|
||||
<contact>
|
||||
<exclude body1="base_link" body2="fl_hipx" />
|
||||
<exclude body1="fl_hipx" body2="fl_hipy" />
|
||||
<exclude body1="fl_hipy" body2="fl_knee" />
|
||||
<exclude body1="fl_knee" body2="fl_wheel" />
|
||||
<exclude body1="base_link" body2="fr_hipx" />
|
||||
<exclude body1="fr_hipx" body2="fr_hipy" />
|
||||
<exclude body1="fr_hipy" body2="fr_knee" />
|
||||
<exclude body1="fr_knee" body2="fr_wheel" />
|
||||
<exclude body1="base_link" body2="hl_hipx" />
|
||||
<exclude body1="hl_hipx" body2="hl_hipy" />
|
||||
<exclude body1="hl_hipy" body2="hl_knee" />
|
||||
<exclude body1="hl_knee" body2="hl_wheel" />
|
||||
<exclude body1="base_link" body2="hr_hipx" />
|
||||
<exclude body1="hr_hipx" body2="hr_hipy" />
|
||||
<exclude body1="hr_hipy" body2="hr_knee" />
|
||||
<exclude body1="hr_knee" body2="hr_wheel" />
|
||||
</contact>
|
||||
</mujoco>
|
||||
Reference in New Issue
Block a user