No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
configs initial commit Feb 1, 2019
docker initial commit Feb 1, 2019
ros
scripts
src
.gitignore
README.md Update README.md Feb 13, 2019
setup_sandbox.sh initial commit Feb 1, 2019

README.md

Generalization through Simulation: Integrating Simulated and Real Data into Deep Reinforcement Learning for Vision-Based Autonomous Flight

arXiv paper link

Click below to view the video

IMAGE ALT TEXT HERE

Crazyflie Setup

Our quadrotor setup consists of a Crazyflie modified with an onboard camera. See here for the list of parts and here for for instructions on building the Crazyflie and running the software. The ROS code is in the ros directory included in this repository, and is a standalone package.

Software Setup

We run our code using docker.

Build and start the docker image:

$ cd docker
$ ./gcg-docker.sh build Dockerfile-gibson
$ ./gcg-docker.sh start

Your main interface to the docker will be through ssh:

$ ./gcg-docker.sh ssh

If you wish to change the docker image, you must run stop, build and start again:

$ ./gcg-docker.sh stop
$ ./gcg-docker.sh build Dockerfile-gibson
$ ./gcg-docker.sh start

Running our experiments

Download our data and models and place to <path to GtS>/data

The relevant experiment files are in the <path to GtS>/configs.

To evaluate our method in simulation:

$ cd scripts
$ python run_gcg_eval.py eval_in_sim -itr 800

To train from scratch in simulation:

$ python run_gcg.py train_in_sim

To train on the simulation data we gathered, enter '<path to GtS>/data/tfrecords' to the 'offpolicy' parameter in configs/train_tf_records.py and then run:

$ python run_gcg_train.py train_tf_records

To evaluate our pre-trained GtS model in the real world:

$ python run_gcg_eval.py eval_in_rw -itr 6

Note: you may need to run this on your local machine (not docker) because of ROS. See the Dockerfile-gibson for relevant system and python dependencies.

References

Katie Kang*, Suneel Belkhale*, Gregory Kahn*, Pieter Abbeel, Sergey Levine. "Generalization through Simulation: Integrating Simulated and Real Data into Deep Reinforcement Learning for Vision-Based Autonomous Flight." ICRA 2019