Project Overview

For our final project, we wanted to get more experience with applying machine learning to learn a control policy in robots, so we chose dodgeball as our area of focus due to how scalable it was - we could start with a simple model where a simple differential drive robot learns how to dodge a ball thrown straight at it, and could go as far as implementing this on a drone with balls thrown at it from all directions. Ultimately, we were able to train two different types of models using imitation learning, where we recorded a dataset of us playing dodgeball then trained the model to imitate what we did. Over the course of this project, we looked into Long-Short Term Memory models (LSTM) and standard neural networks. Using these models, we were able to train a differential drive robot to dodge balls with some degree of success.

LSTM:

Standard:

Interestingly enough, in addition to learning how to dodge balls, the models appear to have learned to emulate human reflexes too!

Curious to read about how we got to this point? Check out our other project webpages!