Skip to content

Latest commit

 

History

History
88 lines (56 loc) · 4.87 KB

README.md

File metadata and controls

88 lines (56 loc) · 4.87 KB

CARES Gripper Gym

Python 3.10.12 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.