Implementation of Voxel-based vision for SERL#77
Open
nisutte wants to merge 343 commits intorail-berkeley:mainfrom
Open
Implementation of Voxel-based vision for SERL#77nisutte wants to merge 343 commits intorail-berkeley:mainfrom
nisutte wants to merge 343 commits intorail-berkeley:mainfrom
Conversation
added 28 commits
August 23, 2024 11:31
Collaborator
|
Hi, thanks for the work, since this is quite different from the main branch, I think it would make more sense if you push to a different branch on its own and write a documentation how to use it? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi all
This is a pull request as mentioned here.
The goal was to implement voxel-based vision for a box picking task with a UR5 robot arm.
New implementations:
serl_robot_infra/robot_controllers/ur5_controller.pyUR5 Impedance controllerserl_robot_infra/ur_envA new environment for picking boxesexamples/box_picking_drqNew experiment files for the same purposeserl_launcher/vision/resnet_v1_18.pyA pre-trained ResNet18 model by Pytorch trained on ImagNet.serl_launcher/vision/voxel_grid_encoders.pyImplementation of a 3D-conv based Voxel encoder.serl_launcher/wrappersSome new wrappers for: (1) Scaling the observation (2) Logging the observation statistics to wandb.Modifications to SERL:
These modifications improved the performance for my case, you can choose which you want to include / change.
serl_launcher/agents/continuous/sac.pyUsed original jax_rl implementation withbackup_entropyenabled. Also, the target entropy is set to-action_spaceinstead of-action_space/2.serl_launcher/agents/continuous/drq.pyAdded classmethodcreate_voxel_drqwith voxel encoders. Additionally, implemented the 3D augmentation technique for voxels analogous tobatched_random_cropfor images.serl_launcher/common/encoding.pyAdded a Masked EncodingWrapper to easily ignore certain proprioceptive states (in our experiments, forces/torques were too noisy and decreased the performance).serl_launcher/vision/resnet_v1.pyDropout bugfix and added an optionalnum_kpparameter, which controls the number of keypoints.Additional library requirements
ur-rtdeLibrary implements API for Universal Robots RTDE realtime interface.open3dUsed to visualize the voxel perception of the end effector.cluCommon Loop Utils for a quick parameter overview of the model. (Is not needed, but useful)Videos showing the voxel-based policies can be seen here: Videos