Instructions to use maximellerbach/omx-multicubes-mujoco with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use maximellerbach/omx-multicubes-mujoco with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
File size: 6,242 Bytes
83f121c f19469c 83f121c a2183f4 83f121c b022719 83f121c a2183f4 83f121c b022719 83f121c b022719 83f121c b022719 83f121c b022719 83f121c b022719 83f121c b022719 83f121c f19469c 83f121c f19469c 83f121c f19469c 83f121c f19469c 83f121c | 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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | <!--
OMX multicubes scene: a ROBOTIS OMX arm on a grey board, a fence of wooden slats, a blue tape square and
four painted wooden cubes, as in the maximellerbach/omx_multicubes and omx_pickandplace datasets.
The arm (ROBOTIS's robotis_omx MJCF) is attached at the `omx_mount` site; env.py adds the wrist camera to
its `link5`. Positions are in meters from the arm's base, x forward and y to the arm's left. The layout and
the top camera were measured on the dataset's top camera images (see README).
-->
<mujoco model="omx_multicubes">
<!-- The extent of the workspace, not of the room: MuJoCo scales the near clipping plane and the shadow
map with it, and the wrist camera sees the gripper from a few centimeters. -->
<statistic center="0.2 0 0.1" extent="0.6"/>
<!-- The arm model's options, which attaching it drops, and several contact points between convex
meshes, so that the fingers hold a cube flat instead of on a single point. -->
<option cone="elliptic" impratio="10">
<flag multiccd="enable"/>
</option>
<visual>
<headlight diffuse="0.25 0.25 0.25" ambient="0.30 0.30 0.30" specular="0 0 0"/>
<quality shadowsize="4096"/>
</visual>
<asset>
<texture type="skybox" builtin="gradient" rgb1="0.75 0.75 0.75" rgb2="0.45 0.45 0.45" width="512" height="3072"/>
<texture name="carpet" type="2d" builtin="flat" mark="random" random="0.4" rgb1="0.42 0.41 0.39"
markrgb="0.55 0.53 0.50" width="512" height="512"/>
<material name="carpet" texture="carpet" texuniform="true" texrepeat="8 8"/>
<material name="board" rgba="0.62 0.66 0.71 1" specular="0.1" shininess="0.2"/>
<material name="slat" rgba="0.84 0.75 0.62 1" specular="0.05"/>
<material name="tape" rgba="0.10 0.30 0.62 1" specular="0.2"/>
<material name="aluminium" rgba="0.75 0.76 0.78 1" specular="0.5" shininess="0.5"/>
<!-- Painted wooden cubes: one light wood grain, tinted by each cube's material. -->
<texture name="wood" type="cube" file="textures/wood.png"/>
<material name="red_wood" texture="wood" rgba="0.92 0.10 0.10 1" specular="0.2" shininess="0.3"/>
<material name="green_wood" texture="wood" rgba="0.18 0.55 0.18 1" specular="0.2" shininess="0.3"/>
<material name="blue_wood" texture="wood" rgba="0.10 0.35 0.85 1" specular="0.2" shininess="0.3"/>
<material name="yellow_wood" texture="wood" rgba="1.0 0.85 0.10 1" specular="0.2" shininess="0.3"/>
<!-- Board outline: its near edge back-projected from the top images, its sides 8 mm outside the side slats. -->
<mesh name="board" vertex="-0.0880 -0.3134 0.0 0.5600 -0.3625 0.0 0.5600 0.3320 0.0 -0.0880 0.3320 0.0 -0.0880 -0.3134 -0.02 0.5600 -0.3625 -0.02 0.5600 0.3320 -0.02 -0.0880 0.3320 -0.02"/>
</asset>
<default>
<default class="cube">
<geom type="box" size="0.0145 0.0145 0.0145" mass="0.02" condim="4" friction="1 0.03 0.003" solref="0.004 1"
solimp="0.95 0.99 0.001"/>
</default>
<!-- Fence slats: 9 x 9 mm wooden strips that the cubes can bump into. -->
<default class="slat">
<geom type="box" material="slat"/>
</default>
<!-- Tape and mast: visual only. -->
<default class="decor">
<geom type="box" contype="0" conaffinity="0"/>
</default>
</default>
<worldbody>
<light pos="0.2 0 2.5" dir="0 0 -1" directional="true" diffuse="0.35 0.35 0.35"/>
<light pos="-0.5 -0.4 1.2" dir="0.4 0.3 -1" diffuse="0.25 0.25 0.25" castshadow="true"/>
<!-- Carpet floor and the 2 cm board the arm is screwed onto, its outline back-projected from the top images; the board's top is z = 0. -->
<geom name="floor" type="plane" size="0 0 0.05" pos="0 0 -0.02" material="carpet"/>
<geom name="board" type="mesh" mesh="board" material="board"/>
<site name="omx_mount" pos="0 0 0"/>
<!-- Fence: seven slats around the workspace, open behind the arm, back-projected from the dataset's top
images. A top photo of the real setup agrees within about 1 cm: the front slats' inner face is about
0.38 m from the pan axis, so the arm reaches them just before it is fully straight. -->
<geom class="slat" fromto="-0.0548 -0.0839 0.0045 -0.0110 -0.3067 0.0045" size="0.0045"/>
<geom class="slat" fromto="-0.0110 -0.3067 0.0045 0.2370 -0.3255 0.0045" size="0.0045"/>
<geom class="slat" fromto="0.2370 -0.3255 0.0045 0.3738 -0.1372 0.0045" size="0.0045"/>
<geom class="slat" fromto="0.3738 -0.1372 0.0045 0.3795 0.1367 0.0045" size="0.0045"/>
<geom class="slat" fromto="0.3795 0.1367 0.0045 0.2450 0.3194 0.0045" size="0.0045"/>
<geom class="slat" fromto="0.2450 0.3194 0.0045 -0.0108 0.3195 0.0045" size="0.0045"/>
<geom class="slat" fromto="-0.0108 0.3195 0.0045 -0.0633 0.0742 0.0045" size="0.0045"/>
<!-- Blue tape square, 12.8 x 15.3 cm outside, 1.4 cm tape. -->
<body name="square" pos="0.172 -0.1875 0">
<geom class="decor" material="tape" size="0.0640 0.0070 0.0003" pos="0 0.0695 0.0003"/>
<geom class="decor" material="tape" size="0.0640 0.0070 0.0003" pos="0 -0.0695 0.0003"/>
<geom class="decor" material="tape" size="0.0070 0.0765 0.0003" pos="0.0570 0 0.0003"/>
<geom class="decor" material="tape" size="0.0070 0.0765 0.0003" pos="-0.0570 0 0.0003"/>
</body>
<!-- The top camera's aluminium mast at the far end of the board, as the wrist camera sees it. -->
<geom class="decor" material="aluminium" size="0.02 0.02 0.26" pos="0.47 0 0.26"/>
<body name="red_cube" pos="0.15 0.20 0.0145">
<freejoint/>
<geom class="cube" material="red_wood"/>
</body>
<body name="green_cube" pos="0.20 0.24 0.0145">
<freejoint/>
<geom class="cube" material="green_wood"/>
</body>
<body name="blue_cube" pos="0.14 0.16 0.0145">
<freejoint/>
<geom class="cube" material="blue_wood"/>
</body>
<body name="yellow_cube" pos="0.18 0.28 0.0145">
<freejoint/>
<geom class="cube" material="yellow_wood"/>
</body>
<!-- Fitted to the dataset's top camera: mostly straight down, the arm at the top of the image. -->
<camera name="top" pos="0.2541 -0.0099 0.4250" quat="0.70592 0.06232 0.06204 0.70282" fovy="62.22"/>
</worldbody>
</mujoco>
|