AdilZouitine
a90f4872f2
Add maniskill support.
...
Co-authored-by: Michel Aractingi <michel.aractingi@gmail.com >
2025-04-18 15:04:44 +02:00
Michel Aractingi
a16ea283f5
Fixed bug in the action scale of the intervention actions and offline dataset actions. (scale by inverse delta)
...
Co-authored-by: Adil Zouitine <adizouitinegm@gmail.com >
2025-04-18 15:04:44 +02:00
Michel Aractingi
8209a6dfb7
Modified crop_dataset_roi interface to automatically write the cropped parameters to a json file in the meta of the dataset
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:44 +02:00
Michel Aractingi
b5fbeb7401
Optimized the replay buffer from the memory side to store data on cpu instead of a gpu device and send the batches to the gpu.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:44 +02:00
Michel Aractingi
2ac25b02e2
nit
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
39fe4b1301
removed uncomment in actor server
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
140e30e386
Changed the init_final value to center the starting mean and std of the policy
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
ddcc0415e4
Changed bounds for a new so100 robot
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
5195f40fd3
Hardcoded some normalization parameters. TODO refactor
...
Added masking actions on the level of the intervention actions and offline dataset
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
98c6557869
fix log_alpha in modeling_sac: change to nn.parameter
...
added pretrained vision model in policy
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
ee820859d3
Added logging for interventions to monitor the rate of interventions through time
...
Added an s keyboard command to force success in the case the reward classifier fails
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:43 +02:00
Michel Aractingi
5d6879d93a
Added possiblity to record and replay delta actions during teleoperation rather than absolute actions
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:42 +02:00
Yoel
fae47d58d3
[PORT-Hilserl] classifier fixes ( #695 )
...
Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co >
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
f1af97dc9c
- Added JointMaskingActionSpace wrapper in gym_manipulator in order to select which joints will be controlled. For example, we can disable the gripper actions for some tasks.
...
- Added Nan detection mechanisms in the actor, learner and gym_manipulator for the case where we encounter nans in the loop.
- changed the non-blocking in the `.to(device)` functions to only work for the case of cuda because they were causing nans when running the policy on mps
- Added some joint clipping and limits in the env, robot and policy configs. TODO clean this part and make the limits in one config file only.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
9784d8a47f
Several fixes to move the actor_server and learner_server code from the maniskill environment to the real robot environment.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Eugene Mironov
af769abd8d
[HIL-SERL port] Add Reward classifier benchmark tracking to chose best visual encoder ( #688 )
2025-04-18 15:04:13 +02:00
Michel Aractingi
12c13e320e
- Added lerobot/scripts/server/gym_manipulator.py that contains all the necessary wrappers to run a gym-style env around the real robot.
...
- Added `lerobot/scripts/server/find_joint_limits.py` to test the min and max angles of the motion you wish the robot to explore during RL training.
- Added logic in `manipulator.py` to limit the maximum possible joint angles to allow motion within a predefined joint position range. The limits are specified in the yaml config for each robot. Checkout the so100.yaml.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
273fa2e6e1
fixed bug in crop_dataset_roi.py
...
added missing buffer.pt in server dir
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
d143043037
Added additional wrappers for the environment: Action repeat, keyboard interface, reset wrapper
...
Tested the reset mechanism and keyboard interface and the convert wrapper on the robots.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
ca45c34ad5
Added crop_dataset_roi.py that allows you to load a lerobotdataset -> crop its images -> create a new lerobot dataset with the cropped and resized images.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
b1679050de
- Added base gym env class for the real robot environment.
...
- Added several wrappers around the base gym env robot class.
- Including: time limit, reward classifier, crop images, preprocess observations.
- Added an interactive script crop_roi.py where the user can interactively select the roi in the observation images and return the correct crop values that will improve the policy and reward classifier performance.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
d2c41b35db
- Refactor observation encoder in modeling_sac.py
...
- added `torch.compile` to the actor and learner servers.
- organized imports in `train_sac.py`
- optimized the parameters push by not sending the frozen pre-trained encoder.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
2516101cba
Cleaned learner_server.py. Added several block function to improve readability.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
aebea08a99
Added support for checkpointing the policy. We can save and load the policy state dict, optimizers state, optimization step and interaction step
...
Added functions for converting the replay buffer from and to LeRobotDataset. When we want to save the replay buffer, we convert it first to LeRobotDataset format and save it locally and vice-versa.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
03616db82c
Removed unnecessary time.sleep in the streaming server on the learner side
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
8cd44ae163
- Added additional logging information in wandb around the timings of the policy loop and optimization loop.
...
- Optimized critic design that improves the performance of the learner loop by a factor of 2
- Cleaned the code and fixed style issues
- Completed the config with actor_learner_config field that contains host-ip and port elemnts that are necessary for the actor-learner servers.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
2ae657f568
FREEDOM, added back the optimization loop code in learner_server.py
...
Ran experiment with pushcube env from maniskill. The learning seem to work.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
Michel Aractingi
508f5d1407
Added server directory in lerobot/scripts that contains scripts and the protobuf message types to split training into two processes, acting and learning. The actor rollouts the policy and collects interaction data while the learner recieves the data, trains the policy and sends the updated parameters to the actor. The two scripts are ran simultaneously
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com >
2025-04-18 15:04:13 +02:00
AdilZouitine
c8b1132846
Stable version of rlpd + drq
2025-04-18 15:04:10 +02:00
Adil Zouitine
760d60ad4b
Change SAC policy implementation with configuration and modeling classes
2025-04-18 15:03:51 +02:00
Adil Zouitine
875c0271b7
SAC works
2025-04-18 15:03:51 +02:00
Adil Zouitine
46827fb002
Add rlpd tricks
2025-04-18 15:03:51 +02:00
Adil Zouitine
2fd78879f6
SAC works
2025-04-18 15:03:51 +02:00
Adil Zouitine
a0e2be8b92
[WIP] correct sac implementation
2025-04-18 15:03:51 +02:00
Michel Aractingi
181727c0fe
Extend reward classifier for multiple camera views ( #626 )
2025-04-18 15:03:50 +02:00
Eugene Mironov
d1d6ffd23c
[Port HIL_SERL] Final fixes for the Reward Classifier ( #598 )
2025-04-18 15:03:01 +02:00
Michel Aractingi
4624a836e5
Added normalization schemes and style checks
2025-04-18 15:03:01 +02:00
Michel Aractingi
d1f76cba8e
Update lerobot/scripts/train_hilserl_classifier.py
...
Co-authored-by: Yoel <yoel.chornton@gmail.com >
2025-04-18 15:02:13 +02:00
Eugene Mironov
d78cef1fee
Fixup
2025-04-18 15:02:13 +02:00
Michel Aractingi
30a808c0ae
Add human intervention mechanism and eval_robot script to evaluate policy on the robot ( #541 )
...
Co-authored-by: Yoel <yoel.chornton@gmail.com >
2025-04-18 15:02:13 +02:00
Yoel
4a7f85a6ec
Reward classifier and training ( #528 )
...
Co-authored-by: Daniel Ritchie <daniel@brainwavecollective.ai >
Co-authored-by: resolver101757 <kelster101757@hotmail.com >
Co-authored-by: Jannik Grothusen <56967823+J4nn1K@users.noreply.github.com >
Co-authored-by: Remi <re.cadene@gmail.com >
Co-authored-by: Michel Aractingi <michel.aractingi@huggingface.co >
2025-04-18 15:02:13 +02:00
Junshan Huang
a8db91c40e
Fix Windows HTML visualization to make videos could be seen ( #647 )
...
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Steven Palma <imstevenpmwork@ieee.org >
2025-04-17 15:07:28 +02:00
Steven Palma
4041f57943
feat(visualization): replace cv2 GUI with Rerun (and solves ffmpeg versioning issues) ( #903 )
2025-04-09 17:33:01 +02:00
mshukor
1c873df5c0
Support for PI0+FAST ( #921 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com >
Co-authored-by: Remi <re.cadene@gmail.com >
Co-authored-by: Steven Palma <imstevenpmwork@ieee.org >
2025-04-04 11:51:11 +02:00
Steven Palma
a6015a55f9
chore(scripts): remove deprecated script ( #887 )
2025-03-23 01:16:50 +01:00
Ermano Arruda
c37b1d45b6
parametrise tolerance_s in visualize_dataset scripts ( #716 )
2025-03-13 10:28:29 +01:00
Steven Palma
5e9473806c
refactor(config): Move device & amp args to PreTrainedConfig ( #812 )
...
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com >
2025-03-06 17:59:28 +01:00
Harsimrat Sandhawalia
10706ed753
Support for discrete actions ( #810 )
2025-03-06 10:27:29 +01:00
Steven Palma
5d24ce3160
chore(doc): add license header to all files ( #818 )
2025-03-05 17:56:51 +01:00
Mishig
a27411022d
[visualization] Ignore 2d or 3d data for now ( #809 )
2025-03-04 10:53:01 +01:00