What ships¶
What you get with pip install alloy-engine 0.1.0, and what more you can download: ready-made environments, robots
and objects. Every name and count on this page was read from the 0.1.0 package.
import alloy
import alloy.envs
from alloy.api.catalog import objects
from alloy.cards.library import default_root
for name in sorted(alloy.envs.REGISTRY):
print(name)
robots = sorted(p.name for p in (default_root() / "robots").glob("emb_e?_*")
if not p.name.endswith(("_route", "_stiff")))
print(len(robots), "robots,", len(alloy.materials()), "materials,", len(objects()) >= 118)
ClothFold-v0
DrawerOpen-v0
GripperLift-v0
GripperLiftCamera-v0
PandaReach-v0
PegInsert-v0
PickCube-v0
PickPlace-v0
Pour-v0
9 robots, 90 materials, True
Ready-made environments¶
alloy.envs.make("<name>", num_envs=64) builds one (Train with RL). All nine give state
observations; one adds a camera image.
| Name | Task | Observations |
|---|---|---|
GripperLift-v0 |
a two-finger gripper lifts a cube 8 cm and holds it | state |
GripperLiftCamera-v0 |
the same task | state and a camera image |
PandaReach-v0 |
a Franka Panda arm moves its hand to a random target | state |
PickCube-v0 |
a Franka Panda arm picks a 4 cm cube and carries it to a point in the air | state |
PickPlace-v0 |
a gantry gripper puts a scanned object in a bin | state |
PegInsert-v0 |
a gripper inserts a 10 mm peg 2 cm into a 10.5 mm hole | state |
DrawerOpen-v0 |
a gripper pulls a cabinet drawer 15 cm open | state |
Pour-v0 |
move a bowl under a stream of water and catch it | state |
ClothFold-v0 |
experimental: fold a towel along its diagonal; slow, needs a GPU | state |
Two more for legged robots: from alloy.envs.loco import go2_velocity, go2_rough (a Unitree Go2 following velocity
commands on flat ground, and on rough terrain).
Robots¶
Nine robot files are in the package. Load one with
scene.add_robot("panda", default_root() / "robots" / "emb_e2_panda" / "scene.xml") (Robots).
| Folder | Robot | Kind | Licence of the source files |
|---|---|---|---|
emb_e1_fr3 |
Franka FR3 with the Franka Hand | arm | Apache-2.0 |
emb_e2_panda |
Franka Panda with the Franka Hand | arm | Apache-2.0 |
emb_e3_ur10e_2f85 |
Universal Robots UR10e with a Robotiq 2F-85 gripper | arm | BSD-3-Clause |
emb_e4_fr3_bimanual |
two Franka FR3 arms | two arms | Apache-2.0 |
emb_e5_fr3_duo |
Franka Mobile FR3 Duo: a mobile base, a spine, two FR3 arms | mobile, two arms | Apache-2.0 |
emb_e6_g1 |
Unitree G1 with Dex3 hands | humanoid | BSD-3-Clause |
emb_e7_h1_2 |
Unitree H1-2 with Inspire hands | humanoid | BSD-3-Clause |
emb_e8_go2 |
Unitree Go2 | quadruped | BSD-3-Clause |
emb_e9_leap |
LEAP Hand (right) | hand | MIT |
Your own robot loads from an MJCF or URDF file the same way.
Objects¶
In the package: 118 object cards and 90 materials. objects() lists the cards on your disk;
scene.add_object("mug", "<card name>", pos=(0, 0, 0.4)) places one.
On the Hugging Face Hub: 5,423 more object cards, each with its meshes and textures. Download by name:
pip install "alloy-engine[import]"
alloy fetch --list # what there is, by library and category
alloy fetch ycb_025_mug # one object, into ~/.cache/alloy/imports
| Library | Objects | What | Licence |
|---|---|---|---|
| YCB | 78 | scanned household objects | CC BY 4.0 |
| Google Scanned Objects | 1,033 | scanned household objects | CC BY 4.0 |
| Objaverse | 1,989 | everyday objects in 240 categories | CC BY 4.0 (1,965), CC0 1.0 (24) |
| Kitchen objects | 1,900 | kitchen objects and fixtures by Lightwheel, as packaged by RoboCasa | CC BY 4.0 |
| Gym-Anything parts | 393 | one card per rigid part of its articulated objects | MIT |
| Alloy's own | 30 | household, kitchen, lab and snap-fit parts | Apache-2.0 (25), CC0 1.0 (5) |
No account is needed. The kitchen library is objects only: no whole kitchen scenes ship.
Keep in mind¶
- Most object masses are estimates, not measurements: 5,180 of the 5,423 Hub cards are marked as estimates. Weigh the object or read its card before a result depends on its mass.
- Friction comes from the material a card names, never from a measurement of that object.
- Each card records its source's licence and credit line; check both before commercial use.
ClothFold-v0is experimental and slow; training an arm to grasp does not work reliably yet (Train with RL).
Next¶
- Train with RL: step and train one of the environments.
- Robots: load a robot and drive its joints.
- Keep in mind: what does not work yet.