Skip to content

robot-learning-freiburg/CEILing

Repository files navigation

Correct Me if I am Wrong: Interactive Learning for Robotic Manipulation

Repository providing the source code for the paper "Correct Me if I am Wrong: Interactive Learning for Robotic Manipulation", see the project website. Please cite the paper as follows:

@article{chisari2021correct,
      title={Correct Me if I am Wrong: Interactive Learning for Robotic Manipulation},
      author={Eugenio Chisari and Tim Welschehold and Joschka Boedecker and Wolfram Burgard and Abhinav Valada},
      journal={arXiv preprint arXiv:2110.03316},
      year={2021},
}

Installation instruction

  • First you need to download the CoppeliaSim simulator. RLBench requires version 4.1 of CoppeliaSim:

    Add the following to your ~/.bashrc file: (NOTE: the 'EDIT ME' in the first line)

    export COPPELIASIM_ROOT=EDIT/ME/PATH/TO/COPPELIASIM/INSTALL/DIR
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COPPELIASIM_ROOT
    export QT_QPA_PLATFORM_PLUGIN_PATH=$COPPELIASIM_ROOT

    Remember to source your bashrc (source ~/.bashrc) or zshrc (source ~/.zshrc) after this.

  • Create your virtual environment and install Python and Pytorch. We used Conda as following:

    conda create --name ceiling_env  
    conda activate ceiling_env  
    conda install python=3.8.8
    pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 
  • Now you can install the ceiling code:

    pip install -r requirements.txt
    pip install .

You should be good to go!

Usage

To use this repository, you can run the following scripts:

  • Collecting demonstrations:

    python src/teleoperation_env.py --task CloseMicrowave
  • Training a CEILing policy:

    python src/feedback_train.py --task CloseMicrowave --feedback_type ceiling_full
  • Training Behavior Cloning policy:

    python src/behavior_cloning.py --task CloseMicrowave --feedback_type cloning_10
  • Evaluating a CEILing policy:

    python src/evaluate.py --task CloseMicrowave --feedback_type ceiling_full

For an overview of all the option each script can be run with, you can use the --help flag:

python src/feedback_train.py --help

Providing Feedback

In order to teleoperate the robot and to provide interactive feedback, the keyboard can be used. The key mappings are the following:

g -> good (evaluative)
b -> bad (evaluative)
c -> close gripper
v -> open gripper
f -> gripper free
x -> reset episode (for teleop only)
a -> move left
d -> move right
s -> move backward
w -> move forward
q -> move down
e -> move up
j -> look left
l -> look right
i -> look up
k -> look down
u -> rotate left
o -> rotate right

Nevertheless, we suggest using a gamepad for easier control. We used qjoypad to map the gamepad commands to the right keyboard key. The mapping we suggest are the following:

gamepad_labelled

Acknowledgements

This work was funded by the BrainLinks-BrainTools center of the University of Freiburg.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published