mickryley commited on
Commit ·
0dffc17
1
Parent(s): 72a72c0
feat: nero simple pick devpack
Browse files- ApiTests/ApiTests.zip +2 -2
- ApiTests/metadata.yaml +4 -1
- Nero/Nero.zip +2 -2
- Nero/metadata.yaml +4 -1
- SimplePick/SimplePick.zip +3 -0
- SimplePick/metadata.yaml +61 -0
- SimplePick/thumbnail.png +3 -0
- index.json +2 -1
ApiTests/ApiTests.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:17a8254b0f2d496e9ffaae83d842650193c6330edcf90183a3e68c60ab24bfd8
|
| 3 |
+
size 73116576
|
ApiTests/metadata.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
Name: "API Tests"
|
| 2 |
Type: Project
|
| 3 |
-
Version: "1.
|
| 4 |
EngineVersion:
|
| 5 |
Min: "2026.2"
|
| 6 |
Behaviour: Hide
|
|
@@ -31,6 +31,9 @@ Description: >
|
|
| 31 |
range-calibrated reflectivity, and pass-through secondary returns off the wall behind.
|
| 32 |
run_all_tests.py sweeps every scene and reports pass/fail, installing requirements.txt into
|
| 33 |
its test interpreter first.
|
|
|
|
|
|
|
|
|
|
| 34 |
Tags:
|
| 35 |
- tests
|
| 36 |
- determinism
|
|
|
|
| 1 |
Name: "API Tests"
|
| 2 |
Type: Project
|
| 3 |
+
Version: "1.8"
|
| 4 |
EngineVersion:
|
| 5 |
Min: "2026.2"
|
| 6 |
Behaviour: Hide
|
|
|
|
| 31 |
range-calibrated reflectivity, and pass-through secondary returns off the wall behind.
|
| 32 |
run_all_tests.py sweeps every scene and reports pass/fail, installing requirements.txt into
|
| 33 |
its test interpreter first.
|
| 34 |
+
1.8 replaces the embedded Nero with the Nero pack's own 1.3 files (arm turned to face +X, nero_-prefixed
|
| 35 |
+
joint and actuator names, gripper_joint1 actuator, retuned gains, reaching home keyframe, box finger pads)
|
| 36 |
+
and renames the Nero agents' joints to match; all four Nero scenes pass against it.
|
| 37 |
Tags:
|
| 38 |
- tests
|
| 39 |
- determinism
|
Nero/Nero.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:237e95ec68e605f89c4148c327434880b00988c1cfae5a530577333b4e9056ff
|
| 3 |
+
size 14413103
|
Nero/metadata.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
Name: "Nero"
|
| 2 |
Category: Robots
|
| 3 |
-
Version: "1.
|
| 4 |
Description: >
|
| 5 |
A detailed robotic arm asset pack for the AgileX Nero 7-DoF manipulator with parallel
|
| 6 |
gripper, including OBJ visual and STL collision assets for individual links, a grasp_site
|
|
@@ -18,6 +18,9 @@ Description: >
|
|
| 18 |
joint-to-actuator lookup requires, and gives the finger pads hard, high-priority contact
|
| 19 |
parameters so a gripped object does not creep down the pads under the engine's soft-friction
|
| 20 |
MuJoCo settings (see README.md).
|
|
|
|
|
|
|
|
|
|
| 21 |
Tags:
|
| 22 |
- robot
|
| 23 |
- manipulator
|
|
|
|
| 1 |
Name: "Nero"
|
| 2 |
Category: Robots
|
| 3 |
+
Version: "1.3"
|
| 4 |
Description: >
|
| 5 |
A detailed robotic arm asset pack for the AgileX Nero 7-DoF manipulator with parallel
|
| 6 |
gripper, including OBJ visual and STL collision assets for individual links, a grasp_site
|
|
|
|
| 18 |
joint-to-actuator lookup requires, and gives the finger pads hard, high-priority contact
|
| 19 |
parameters so a gripped object does not creep down the pads under the engine's soft-friction
|
| 20 |
MuJoCo settings (see README.md).
|
| 21 |
+
Pack 1.3 gives nero_arm.xml the same nero_ joint and actuator prefix as nero.xml, so neither
|
| 22 |
+
file can match the engine's Piper-specific overrides on any build, and the ApiTests project (1.8)
|
| 23 |
+
now embeds these exact files, so the Nero its four scenes test is the Nero this pack ships.
|
| 24 |
Tags:
|
| 25 |
- robot
|
| 26 |
- manipulator
|
SimplePick/SimplePick.zip
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b07611cb81374b73408d574b23b60f5b57567a92b4947ed23bbcd1d1852df45a
|
| 3 |
+
size 31724173
|
SimplePick/metadata.yaml
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Name: "SimplePick"
|
| 2 |
+
Type: Project
|
| 3 |
+
Version: "1.0"
|
| 4 |
+
EngineVersion:
|
| 5 |
+
Min: "2026.2"
|
| 6 |
+
Behaviour: Hide
|
| 7 |
+
Category: Examples
|
| 8 |
+
Description: >
|
| 9 |
+
A scripted pick-and-place data generator and policy-evaluation rig, built twice: once for the
|
| 10 |
+
AgileX Piper (6-DoF) and once for the AgileX Nero (7-DoF). A block spawns at a random position
|
| 11 |
+
and yaw inside a fan in front of the arm, a bin spawns elsewhere in it, and an engine-side C#
|
| 12 |
+
controller drives the arm through the scene's LimbIK motion graph to pick the block up and drop
|
| 13 |
+
it in. Every episode is recorded to a LeRobot v3.0 dataset (per-joint state, velocity and action
|
| 14 |
+
columns, end-effector and object poses, wrist and front cameras at 256x256, 50 Hz) and judged by
|
| 15 |
+
the same success test the policy rig uses, so generator and evaluator always agree.
|
| 16 |
+
Four scenes. Main (Piper) and Main-Nero record data. PolicyEval and PolicyEval-Nero run the
|
| 17 |
+
identical task with the arm driven by a trained policy over the External Action Gate instead of
|
| 18 |
+
by the script, on a seeded spawn sequence so two policies meet identical layouts;
|
| 19 |
+
PolicyEval-Nero-Holdout is the same on a second seed for confirming a winner. Tools/ holds the
|
| 20 |
+
session-to-LeRobot exporter (streams, detects the joint list, hardlinks video), the evaluation
|
| 21 |
+
client and runner (which read the robot off a checkpoint's action width and pick the scene), and
|
| 22 |
+
a training-strategy comparison harness.
|
| 23 |
+
The Nero port is the interesting half and its findings are written up in the project README and
|
| 24 |
+
in NeroArm.cs: the arm is turned to face +X because its elbow bends 123 degrees one way and 58
|
| 25 |
+
the other; the jaws slide along the grasp site's X axis where the Piper's slide along Y, a 90
|
| 26 |
+
degree difference in the commanded wrist yaw; LimbIK's Tracking Mode must be on or a redundant
|
| 27 |
+
7-DoF arm comes back on a different branch and the graph lerps every joint there; a vertical
|
| 28 |
+
tool is only reachable outside r = 0.31 m and below a height that falls with radius; and the
|
| 29 |
+
gripper actuator is named after its joint, because the engine resolves an agent's JointSpec
|
| 30 |
+
entry to an actuator by exact joint name and silently falls back to actuator 0 on a miss.
|
| 31 |
+
NOT INCLUDED, deliberately: the trained policies (198 MB each) and the recorded datasets (a
|
| 32 |
+
single 80k-episode session is 64 GB). Tools/lerobot_export.py plus lerobot-train regenerate a
|
| 33 |
+
policy from a fresh recording; the project README carries the exact commands and the measured
|
| 34 |
+
results (Piper 27/35, Nero 46/49 on 49 seeded layouts).
|
| 35 |
+
ONE THING TO FIX PER MACHINE: ObserverConfig.ColumnSchemaPath is an absolute path stored in the
|
| 36 |
+
recording scenes and will point at someone else's drive. The engine resolves it with a bare
|
| 37 |
+
filesystem check and refuses to record if it is missing, loudly, so it cannot corrupt a dataset -
|
| 38 |
+
but repoint it before recording. Evaluation does not record and needs no change.
|
| 39 |
+
Tags:
|
| 40 |
+
- example
|
| 41 |
+
- robotics
|
| 42 |
+
- pick-and-place
|
| 43 |
+
- data-generation
|
| 44 |
+
- imitation-learning
|
| 45 |
+
- lerobot
|
| 46 |
+
- policy-evaluation
|
| 47 |
+
- external-action-gate
|
| 48 |
+
- piper
|
| 49 |
+
- nero
|
| 50 |
+
- limbik
|
| 51 |
+
Files:
|
| 52 |
+
- 'SimplePick.hproj'
|
| 53 |
+
- 'README.md'
|
| 54 |
+
- 'Assets/Scenes/'
|
| 55 |
+
- 'Assets/Schemas/'
|
| 56 |
+
- 'Assets/Scripts/Client/Source/'
|
| 57 |
+
- 'Assets/ContentVault/'
|
| 58 |
+
- 'Assets/Materials/'
|
| 59 |
+
- 'Assets/Meshes/'
|
| 60 |
+
- 'Assets/EnvMap/'
|
| 61 |
+
- 'Tools/'
|
SimplePick/thumbnail.png
ADDED
|
|
Git LFS Details
|
index.json
CHANGED
|
@@ -30,6 +30,7 @@
|
|
| 30 |
"UnitreeG1FiveFingersHrobot",
|
| 31 |
"UnitreeG1ThreeFingersHrobot",
|
| 32 |
"CoffeeMachine",
|
| 33 |
-
"Nero"
|
|
|
|
| 34 |
]
|
| 35 |
}
|
|
|
|
| 30 |
"UnitreeG1FiveFingersHrobot",
|
| 31 |
"UnitreeG1ThreeFingersHrobot",
|
| 32 |
"CoffeeMachine",
|
| 33 |
+
"Nero",
|
| 34 |
+
"SimplePick"
|
| 35 |
]
|
| 36 |
}
|