UROP Openings

Have a UROP opening you would like to submit?

Please fill out the form.

Submit your UROP opening

Activity and Trajectory Reasoning based on Deep (Reinforcement) Learning




CSAIL: Computer Science and Artificial Intelligence Lab

Faculty Supervisor:

Daniela Rus

Faculty email:


Apply by:

June 1, 2020



Project Description

The Distributed Robotics Lab at MIT CSAIL is contributing to the development of self-driving cars within the Toyota-CSAIL joint research center. Our work addresses the full scope of challenges in the development of this new and exciting technology, involving theoretical and applied works on decision making, perception, and control. Deep learning has been successfully applied to different aspects of the autonomous driving task such as lane and vehicle detection as well as full end-to-end control. In this project, we are interested in enabling safe autonomy by focussing on robust behavior models of agents surrounding an autonomous vehicle (such as other vehicles or pedestrians). The main tasks of this project involve developing novel and implementing existing algorithms for trajectory prediction of heterogeneous traffic agents. The UROP will also involve the implementation and development of full data-pipelines and model evaluation on standard benchmark datasets.


- Extensive Python programming and object-oriented design experience (having written at least 10k lines of Python code). - Extensive experience in PyTorch (you should have done at least two different projects in PyTorch. You are also welcome to apply if you have done 5+ projects in TensorFlow and feel comfortable learning new frameworks on the fly). - Experience in independently re-implementing of deep learning research papers. - Track-record of having implemented different deep learning architectures for Sequence and Image modeling (LSTMs, CNNs) as well as generative modeling (such as VAEs or GANs). - Knowledge of modern software development methodologies (such as working in a collaborative large codebase using code reviews and style guides) and tools such as GIT (particularly branching, merging, and the feature-branch workflow), pylint, or yapf. - Experience with OpenCV, Conda, Docker, or Kubernetes is a big plus. - Students outside of EECS are also encouraged to apply. Furthermore, we welcome applications from students who do not satisfy some of the above requirements but have extensive programming experience instead (having written over 100k lines of code spanning multiple programming languages and APIs on different operating systems). If you are interested, please apply with your CV, grade transcript, and, if available, references to public repositories containing code samples. Work hours can be organized flexibly and are expected to be full-time during the summer.