Commit Graph

253 Commits

Author SHA1 Message Date
Pepijn
1dbb8f0fc3 Add bundled OpenArm URDF and meshes for UMI evaluation
- Copy openarm_bimanual_pybullet.urdf and all referenced STL/DAE meshes
  into src/lerobot/robots/openarms/urdf/
- Update openarms_follower.py to prefer the bundled URDF over the
  external ~/Documents/openarm_description path
- Includes visual and collision meshes for arm, body, and end-effector
- Force-add .stl and .urdf files past .gitignore
2026-04-02 13:16:06 +02:00
pepijn
936187cd76 fix relative actions: convert before normalization, use global stats
The previous implementation had a double-normalization bug: the
preprocessor normalized actions with absolute stats, then
convert_to_relative subtracted normalized state (wrong), then the
per-timestep normalizer re-normalized.

Now the correct flow is:
1. Convert batch to relative on raw data (before preprocessing)
2. Compute global relative stats (mean/std across all timesteps)
3. Hotswap the preprocessor normalizer to use relative stats
4. Preprocessor normalizes relative values correctly

This brings loss from ~3000+ down to ~0.5, matching the main branch.

Made-with: Cursor
2026-04-01 20:45:35 +00:00
pepijn
900f1a42e9 fix relative stats computation with rename_map
When rename_map maps a dataset key to observation.state, the raw
dataset used for stats computation still has the original key.
Reverse the rename_map to find the correct key.

Made-with: Cursor
2026-04-01 19:12:14 +00:00
Pepijn
5a15a6a911 use seperate process for stats computation 2026-01-07 16:52:15 +01:00
Pepijn
c23472e376 only main saves stat file 2026-01-07 15:30:25 +01:00
Pepijn
63619619bf fix data loader issue 2026-01-07 10:03:56 +01:00
Pepijn
574081ac02 fix mem bug 2026-01-03 11:34:31 +01:00
Pepijn
c5f66edff9 shuffle false 2026-01-02 22:34:57 +01:00
Pepijn
7f16e8cb09 fix 2026-01-02 19:56:42 +01:00
Pepijn
0367955590 add code for relative actions and state and unifing tasks 2026-01-02 18:58:47 +01:00
Pepijn
01c7c74070 Add relative position UMI style 2026-01-02 15:57:39 +01:00
Pepijn
90145426b4 add gripper in send feedback 2026-01-02 11:22:45 +01:00
Pepijn
640a7889fc use same flip for send_feedback 2026-01-01 16:49:04 +01:00
Pepijn
dfd229ae4f fix direction and encoding 2026-01-01 16:37:11 +01:00
Pepijn
aba42c805f some changes to smooth 2025-12-31 15:16:23 +01:00
Pepijn
8b6b41f8dc reverse 2025-12-31 15:11:00 +01:00
Pepijn
1771da222b openarms mini swap joints 6 and 7 2025-12-31 15:08:06 +01:00
Pepijn
38b814f3d4 add feedback to openarms mini 2025-12-30 10:48:55 +01:00
Pepijn
9833b84bf8 merge rac 2025-12-30 10:37:48 +01:00
Pepijn
60efd875fa resolve path correctlt (#2710)
Co-authored-by: Steven Palma <imstevenpmwork@ieee.org>
2025-12-26 23:57:17 +01:00
Alexis Alva
12043b3b5c fix: use importlib.metadata for plugin discovery to support PEP 660 (#2687) 2025-12-24 15:45:14 +01:00
Pepijn
ff271e8b51 pi fixes for dependencies (#2706)
* pi fixes for dependencies

* add walls sarm conflict

* also add conflicts for pi

* fix(ci): use --extra all instead of --all-extras + --no-extra

---------

Co-authored-by: Steven Palma <steven.palma@huggingface.co>
2025-12-23 23:58:34 +01:00
Pepijn
a142c365dd use syslink for wall-x readme (#2708)
* use syslink for wall-x readme

* remove whitespace
2025-12-23 14:13:32 +01:00
Tong Wu
17c5a0774f feat: support wallx model (#2593)
* support wallx

* fix bugs in flow

* incorporate wallx model into lerobot

* update the policy methods

* reduce to least config and params & pass lerobot basic test

* fixed dtype bugs

* add wallx dependencies

* update

* remove flash-attn requirement && fix bug in inference and fast mode

* fix bug for inference

* add some small modifications

* fix pre-commit errors

* remove lerobot[wallx]

* fix ci

* fix precommit issues

* fix: exclude wallx extra properly in CI workflows

* fix: add uv conflicts for wallx transformers version

* fix: peft test import

* pre-commit

* only export WallXConfig from wall_x package to avoid peft import in CI

* remove torch dep

* precommit

* add import

---------

Co-authored-by: vincentchen <chenlufang@x2robot.com>
Co-authored-by: Geoffrey19 <sympathischmann35@gmail.com>
Co-authored-by: Pepijn <138571049+pkooij@users.noreply.github.com>
Co-authored-by: Pepijn <pepijn@huggingface.co>
2025-12-22 10:12:39 +01:00
Pepijn
0071b1ff6e Add readme (#2698)
* Add readme

* change ref
2025-12-22 10:04:33 +01:00
Clément Verrier
00b5f65752 fix(optim): enable and resolve mypy type errors (#2683)
* fix(optim): enable and resolve mypy type errors

Resolves #1729

build(deps): add mypy as dependency and update pre-commit hook

* change build's type annotation
2025-12-20 17:19:42 +01:00
Pepijn
f04958527e Add sarm (#2639)
* add initial modeling

* make rewind pretrained policy

* add annotation

* small fix

* add sarm

* subtasks

* fix spawn

* fix rewind discrepancies

* Add script to generate embedding for dataset (#2138)

* Add generate and validate script

* fix precommit

* Improve generate embeddings function by using dataset tools (#2206)

---------

Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co>

* cleanup

* change order train log

* print batch size

* update sarm processor

* add reward output

* change expected features

* add image validation

* change validation

* get state input from dataset stats

* raise if no state key is found

* pass stats

* cleanup and refactor

* add episode inddex to complementary data

* add subtask init and detection

* revert lerobot_train changes

* pass dataset metadata to policy

* change loadig subtasks

* add small logging

* fix progress conversion and adding initial frame

* use large offset for initial frame (ugly)

* Remove rewind, use clip tokenizer

* add tests, implement formula 1,2 correctly and cleanup

* use task from dataset, cleanup visualizer

* simplify

* simplify and cleanup code and move compute_temporal_proportions to utils

* fix normalization in visualization

* Fix visualization and change prompt

* fix formatting

* add visualize subtask annotations

* use qwen thinking

* try different prompt

* format

* update prompt

* higher temp, long output

* different settings

* use instruct

* show full resp

* split message

* Temp: increase tolerance dataset

* Fix RA-BC (#2572)

* Add next observation loading for RA-BC progress deltas

* Compute weights based on temporal progress deltas instead of static rewards

* Add hard-masking for negative progress deltas in weight computation

* Feat/add dual head (#2582)

* Add dual dense sparse head and annotation

* Add docs

* add dual to procesor

* cleanup

* change sampling in visualize and cleanup

* remove validation

* remove compile

* Feat/test uniform (#2587)

* test uniform

* add different string for misaligned

* Fix rewind and add tests

* uncomment text implementation

* run precommit

* Add head mode for ra-bc

* fix visalization of single task

* add

* return per sample loss

* Fix RA_BC (#2602)

* update rabc implementation

* compute rabc beforehand

* fix import

* add only progress calulation

* use precomputed progress

* multi gpu processing

* import

* fix dataset meta data extraction

* add logging

* logging

* log

* progress per episode

* split differently

* move clip to gpu

* pre decode frames for an episode

* fix cuda initalization

* fix import

* multi processing

* rename

* fix import

* fix

* fix rabc

* use last known progress if oob

* use last known progress if oob

* add misalignment loss with random embeddings

* discard previous changes

* add selection of models to docs for ra_bc

* add transformers dep

* extend tolerance

* initial commit with new codebase

* add tests

* fix

* remove temporal sampler

* drop last frame for sampler

* use original ref

* some fixes

* fix visualization

* remove smoothing and fix order subtasks

* add stride rabc computation

* add push to hub

* add explanation

* add kappa expllaination

* better rabc logging

* feedback pr

* remove dataset tolerance

* revert dataset tool

* revert dataset changes

* add credit

* run precommit

* change path for generate ra_bc

* fix type

* include sarm in all in pyproject

* fix precommit

* lazy import matplotlib

* lazy import qwen

* remove rich console

* skip if transformers is not installed?

* run only when we have faker

* place transformer lazy loading

* Dont test if low transformer version

* fix

* increase transformer

* increase as 4.57.0 is yanked

* remove pi from all

* go back

---------

Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co>
Co-authored-by: s1lent4gnt <kmeftah.khalil@gmail.com>
2025-12-18 12:50:32 +01:00
Michel Aractingi
202a493c14 missing imports processor wallx 2025-12-17 18:25:21 +01:00
Pepijn
eadd4c0856 only export WallXConfig from wall_x package to avoid peft import in CI 2025-12-17 18:06:42 +01:00
Pepijn
c514d9ffe2 fix precommit issues 2025-12-17 18:06:40 +01:00
Geoffrey19
a0c9a7d85d fix pre-commit errors 2025-12-17 18:06:39 +01:00
Geoffrey19
9ce6dd9e25 add some small modifications 2025-12-17 18:06:39 +01:00
Geoffrey19
51bd288f1a fix bug for inference 2025-12-17 18:06:39 +01:00
Geoffrey19
fc6262e23d remove flash-attn requirement && fix bug in inference and fast mode 2025-12-17 18:06:38 +01:00
Geoffrey19
d2b16afb12 update 2025-12-17 18:06:38 +01:00
Geoffrey19
76e6dc1ba1 fixed dtype bugs 2025-12-17 18:06:37 +01:00
Geoffrey19
d10d3ef251 reduce to least config and params & pass lerobot basic test 2025-12-17 18:06:37 +01:00
Geoffrey19
feebca050a update the policy methods 2025-12-17 18:06:36 +01:00
Geoffrey19
a8e7a2967c incorporate wallx model into lerobot 2025-12-17 18:06:36 +01:00
Geoffrey19
2cf509795e fix bugs in flow 2025-12-17 18:06:36 +01:00
vincentchen
d3846b0beb support wallx 2025-12-17 18:06:35 +01:00
Michel Aractingi
08d2ed8015 lerobot dataset fix 2025-12-17 16:46:43 +01:00
CarolinePascal
9cfd56587e fix(num processes) 2025-12-17 16:46:43 +01:00
Caroline Pascal
ff8584a025 fix(os version)
Signed-off-by: Caroline Pascal <caroline8.pascal@gmail.com>
2025-12-17 16:46:43 +01:00
Caroline Pascal
6bc1e5186a fix(import os)
Signed-off-by: Caroline Pascal <caroline8.pascal@gmail.com>
2025-12-17 16:46:43 +01:00
Caroline Pascal
69dc8165ae fix(max workers)
Signed-off-by: Caroline Pascal <caroline8.pascal@gmail.com>
2025-12-17 16:46:42 +01:00
CarolinePascal
021bca2ad9 feat(multi-processes): adding support for multiprocess encoding 2025-12-17 16:46:42 +01:00
CarolinePascal
4e0ee0d643 feat(preset): adding encoding preset 2025-12-17 16:46:42 +01:00
croissant
19fe69dac0 add improv openarm mini 2025-12-17 16:46:41 +01:00
Pepijn
40e98ba690 fix calibration of gripper and add max clip positions for openarm for safety 2025-12-17 16:46:41 +01:00