You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our paper, the whole task is decomposed into two subtasks, namely cube rotation and layer-wise operation. We provide the two subtasks here including the trained policy. You can find the video and project page.
If you find our project helpful, your citations are highly appreciated:
@article{li2019learning,
title={Learning to Solve a Rubik's Cube with a Dexterous Hand},
author={Li, Tingguang and Xi, Weitao and Fang, Meng and Xu, Jia and Meng, Max Qing-Hu},
journal={arXiv preprint arXiv:1907.11388},
year={2019}
}
Prerequisites
The following platforms are currently supported:
Linux with Python3.6+
OS X with Python3.6+
Please make sure the following packages have been installed on your computer:
tensorflow (if you want to load our trained policies)
Installation
You can install the project with
git clone https://github.com/TeaganLi/RubikCube-InHandManipulation.git
cd RubikCube-InHandManipulation
pip install -e .
Run Demos
After you installed our package and tensorflow, you can run our demos with our trained policy.
cd manipulation/demo
python subtask_demo.py --env CubeRot # run the cube rotation demo
python subtask_demo.py --env LayerOp # run the layer-wise operation demo
You can run the cube solver demo with
python cube_solver_demo.py
Train your model
We provide the following environments based on the mujoco simulator. All of them are gym-compatible and you can easily train your model using RL libraries like baselines.
CubeRotEnv-v0: cube rotation environment
LayerOpUpEnv-v0: layer-wise operation with upper layer clockwise goal
LayerOpUpPrimeEnv-v0: layer-wise operation with upper layer anticlockwise goal
LayerOpRightEnv-v0: layer-wise operation with right layer clockwise goal
LayerOpRightPrimeEnv-v0: layer-wise operation with right layer anticlockwise goal
LayerOpFrontEnv-v0: layer-wise operation with front layer clockwise goal
LayerOpFrontPrimeEnv-v0: layer-wise operation with front layer anticlockwise goal
License:
This project is for uncommercial use.
Contact Tingguang Li if you have any questions.