Skip to content

UoA-CARES/gripper_gym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CARES Gripper Gym

Python 3.11.4 Pytorch 1.13.1

This repository contains the code used to control and train the grippers (Two-finger and Three-Finger) currently being designed and used in the CARES lab at the The University of Auckland. While being written for this specific system, it also intends to be applicable to many dynamixel servo systems with minor changes to the code.

See the gripper in action, learning to rotate the valve by 90 degrees:

Exploration Phase During Training Final Policy
explore during final

Contents

📋 Requirements

The repository was tested using Python 3.11.4 on a machine running Ubuntu 22.04.2 LTS. The repository relies on Pytorch relying on NVIDIA CUDA GPUs. Instructions for enabling CUDA in Pytorch can be found here.

A comprehensive list of dependencies is available in requirements.txt. Ensure that the hardware components for the gripper are turned on and connected to the machine.

👩‍🏫 Getting Started

  1. Clone the repository using git clone.

  2. Run pip3 install -r requirements.txt in the root directory of the package.

  3. Install the two CARES libraries as instructed in CARES Lib and CARES Reinforcement Learning Package.

  4. Create a folder named your_folder_name to store config files. To get started, copy and paste the files in scripts/config_examples into the folder. For a guide on changing configs, see the wiki.

📖 Usage

Consult the repository's wiki for a guide on how to use the package.

⚙️ Hardware Setup

The current setup uses Dynamixel XL-320 servo motors (4 for Two-Finger and 9 for Three-Finger Gripper), which are being controlled using a U2D2. Below is an example of the wiring setup for the three-fingered gripper. This is easily changed for other configurations, with a maximum of 4 daisy chains coming from the U2D2.

BOM

A list of items required to build the grippers can be found in Grippers BOM.

STL files

3D printed parts for both grippers can be found in Two-Finger STL and Three-Finger STL.

Picture of a CAD assembly that shows a rig that is holding a three-fingered gripper with the fingers hanging down

🗃️ Results

You can specify the folder to save results in using the local_results_path argument; otherwise, it defaults to {home_path}/gripper_training. The folder containing the results is named according to the following convention:

{date}_{robot_id}_{environment_type}_{observation_type}_{seed}_{algorithm}

Results are stored using the format as specified by standardised CARES RL format.

About

Code for running RL on multi-servo dexterous grippers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages