Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
kpertsch authored Mar 13, 2024
1 parent 19fe843 commit 2cc7f5f
Showing 1 changed file with 6 additions and 81 deletions.
87 changes: 6 additions & 81 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,86 +10,11 @@ For more information about DROID, please see the following links:
---------
## Setup Guide

Setup this repository on both the server and client machine (ie: NUC and workstation)
We assembled a step-by-step guide for setting up the DROID robot platform in our [developer documentation](XXX).
This guide has been used to set up 18 DROID robot platforms over the course of the DROID dataset collection. Please refer to the steps in this guide for setting up your own robot. Specifically, you can follow these key steps:

Install the necesary packages:

```bash
pip install -e .

# Done like this to avoid dependency issues
pip install dm-robotics-moma==0.5.0 --no-deps
pip install dm-robotics-transformations==0.5.0 --no-deps
pip install dm-robotics-agentflow==0.5.0 --no-deps
pip install dm-robotics-geometry==0.5.0 --no-deps
pip install dm-robotics-manipulation==0.5.0 --no-deps
pip install dm-robotics-controllers==0.5.0 --no-deps
```

NOTE: This repository has two dependencies listed below. If you are setting this up on the robot NUC, (1) is required. If you are setting this up on the control workstation, (2) is required:

(1) https://github.com/facebookresearch/fairo

(2) https://github.com/rail-berkeley/oculus_reader

If you are using miniconda instead of anaconda:
- Go into droid/franka, then open launch_gripper.sh and launch_robot.sh
- In both files, change the word anaconda to miniconda, change the paths to be absolute (ie. starting from /home), and save it
- Go into scripts/server, and do the same thing to launch_server.sh

Regardless of the machine, go into droid/misc/parameters.py, and:
- Set robot_ip to match the IP address of your robot
- Set nuc_ip to match the IP address of your NUC

If you are setting this up on the robot NUC:
- In droid/misc/parameters.py, set "sudo_password" to your machine's corresponding sudo password. Sudo access is needed to launch the robot. The rest of the parameters can be ignored for now.
- For the robot_type variable, enter 'fr3' or 'panda' depending on which Franka robot you are using

If you are setting this up on the control workstation:
- Go into droid/misc/parameters.py
- Set robot_serial_number to match your robot's serial number (found on your franka website, under Settings -> Franka World -> Control S/N)
- For the robot_type variable, enter 'fr3' or 'panda' depending on which Franka robot you are using
- Update the Charuco board parameters to match yours. If you ordered it through calib.io, the parameters should be on the board.
- With the cameras plugged in, launch the GUI, and go to the calibration page. Clicking the camera ID’s will show you which view they correspond to. Update hand_camera_id, varied_3rd_person_camera_id, and fixed_3rd_person_camera_id values in parameters.py with the correct camera ID for each camera.

To make DROID compatible with polymetis:
- If you have an FR3, you will need [these](https://drive.google.com/drive/folders/178-MJTAVV0m5_RDs2ScUNcYameGDA0Eg?usp=sharing) files
- If you have a Panda, you will need [these](https://drive.google.com/drive/folders/1wXTQQbFKjd9ed3yKxB4td9GzA_XrR7Xk?usp=sharing) files
- Go into fairo/polymetis/polymetis/conf/robot_client/:
- Delete the default franka_hardware.yaml file
- Replace it with the franka_hardware[robot_name].yaml file from the folder linked above for your respective robot
- Delete the “[robot_name]” text from the file name. For example, change franka_hardware[FR3].yaml to franka_hardware.yaml
- IMPORTANT: Open up your new franka_hardware.yaml file, and change executable_cfg.robot_ip to match your robot’s IP address
- Go into fairo/polymetis/polymetis/conf/robot_model/:
- Delete the default franka_panda.yaml file
- Replace it with the franka_panda[robot_name].yaml file from the folder linked above for your respective robot
- Delete the “[robot_name]” text from the file name. For example, change franka_panda[FR3].yaml to franka_panda.yaml
- Note: Yes, this might seem a bit wrong if you have an FR3, but the file needs to be named franka_panda.yaml

## Usage

### Server Machine
Activate the polymetis conda environment:

```bash
conda activate polymetis-local
```

Start the server:

```python
python scripts/server/run_server.py
```

### Client Machine
After activating your conda environment, try collecting a trajectory:

```python
python scripts/tests/collect_trajectory.py
```

To collect data, run:
```python
python scripts/main.py
```
1. [Hardware Assembly and Setup](XXX)
2. [Software Installation and Setup](XXX)
3. [Example Workflows to collect data or calibrate cameras](XXX)

If you encounter issues during setup, please raise them as issues in this github repo.

0 comments on commit 2cc7f5f

Please sign in to comment.