Final Project Guidelines

Introduction

CSC2626 involves a course project in which you will implement a research idea on the topic of imitation learning specifically related to robotics (e.g. control, human-robot interaction, computer vision) or related areas. Any of the broad topic descriptions on the course website, under which weekly readings are listed, can act as a good starting point for picking a project. The purpose of the final project is to give you the chance to spend a significant amount of time focusing on a single research direction. The types of projects that we envision include the following:

  • Implement the main algorithm described in one of the papers listed on the course website, try to replicate the results, and run it in 2-3 new scenarios.
  • Provide an empirical evaluation and comparison of at least three algorithms from the papers in the reading list, on 1-2 illustrative scenarios.
  • Provide a theoretical analysis of an algorithm from the papers in the reading list. This could included expected runtime, asymptotic analysis, variance analysis, existence of a property, or something different.
  • Extend the main algorithm described in one of the papers listed on the course website in a non-trivial way, and evaluate it on 1-2 new scenarios.
  • Design a new algorithm, and provide sufficient evaluation to demonstrate the merit of the idea, at minimum 1-2 scenarios.

You can get full marks for the project component by selecting any of these types of projects. You are not expected to produce a novel research idea, although courses like this are meant to create the conditions for students to attempt it. We encourage you to try.

Policy on Collaboration

Previous iterations of the course have allowed group collaborations for the final project. This year, we will experiment with only allowing individual final projects. Exceptions to this rule can be made only in rare cases provided there is good reason to do so. Email the instructor if this applies to you.

Project Proposal

You are expected to describe a well-defined research goal in the proposal. When choosing this goal try to identify the minimum viable objective that you think is likely to work and you can accomplish, just to get you started, some nice-to-haves that you will do provided there is time, and a short review of related work. The definition of your research project may change during the course of a month and a half that you will be working on your project, but your proposal should be as specific and well-defined as possible, otherwise we cannot provide helpful feedback. If you are unsure about your plans, contact the instructor well before the proposal due date. Proposals should not be based only on papers covered in class by the due date. Students are encouraged to look further ahead in the schedule and to start planning their project definition well ahead of the due date.

Proposals are limited to 3 pages, with the following suggested structure: 1/4 page for abstract/introduction 1 page for the problem, 1/2 page for related work, 1/2 page for the proposed method, 1/2 page for proposed evaluation, 1/4 page for references. Proposals should follow the template provided by the RSS conference (Robotics: Science and Systems). You will submit your proposal by uploading the pdf on Quercus.

Project Proposal FAQ

  • Can I extend a project I completed in a previous class? Yes, you are welcome to do this as long as you provide your final report from that class and include an appendix to the proposal that clarifies what is being added to the previous project.

  • Can I extend a project I completed or am working on as part of my research/thesis? Yes, you are welcome to do this as long as you include an appendix to the proposal that clarifies what is being added to the research you have done so far outside this course.

  • Which simulator or dataset should I use? Use the one that is going to allow you to quickly try ideas and prototype. I would not recommend starting with game engines like Unreal Engine 4 and Unity, unless you know what you are doing. Similarly, choose the easiest dataset to get started. Toy data is fine. So are simple scenarios. Start with the easiest and most predictable setting/environment, and only increase complexity if you are making progress. I do not suggest starting from the most complex environment and gradually moving to simpler ones.

  • I need a GPU but I don’t have access to one. What should I do? Email the instructor early on if this is a problem. You should also look into Google Colab, and any GPU desktops provided by your department (if any).

Presentation

This is a 10min presentation during class, during which you will present the main idea of your project and the progress you have made until that point. It is not required that you have finished your project by this point.

Final Report and Code

The final report needs to have at least five pages that include: 1/4 page abstract, 1/2 page introduction, 1/2 page related works, 1.5+ pages describing your method, 1.5+ pages describing your results and evaluation, 1/2 page limitations. The final report may include as many references and appendices as you need. Figures and tables are encouraged. Final reports should follow the same paper template as the proposal. Submit your final project report in pdf form, and a zip file with your code or a link to a github repository to the instructor.

Do not forget to enjoy your project and have fun with it. This is an opportunity to learn and investigate what you find exciting!