The goal for this project is to move objects between containers for bin picking. Specifically, the forward task is to move objects from the middle container to containers on the side, and the reset task is to move objects back from the side containers to the middle one. The robot should switch to the other task when the current container is empty.
We implemented the state-machine for both forward and resetting task
- ResNet-based binary classier is used to check if the container is empty or not
- GQCNN 2.0 is used to predict the optimal grasping pose
- RRT is used to plan the trajectory
Please use Python 3.6
- Install PyRep
- Install RLBench
pip install -r requirements.txt
- Install gqcnn by
git clone https://github.com/BerkeleyAutomation/gqcnn.git
cd gqcnn
,pip install .
- Install perception by
git clone git@github.com:BerkeleyAutomation/perception.git
cd perception
,pip install -e .
Run python main.py
to launch the script.
Here, the EmptyContainer
task is used
This script contains code on how to control the robot, get observations, and get noisy object pose readings.
Please watch the demo video on Youtube
The following files may be useful to reference from the In the rlbench
folder in the RLBench
repo:
rlbench/action_modes.py
- Different action modes to control the robotrlbench/backend/observation.py
- All fields available in the observation object