Course Project

 
This course has concluded. You can view the list of student projects from our past offerings here.
The primary objective of the course project is to give you in-depth, hands-on experiences applying AI-based techniques to practical robot learning problems. A successful project topic should involve at least one, ideally both, of the two critical components: a perception component, i.e., processing raw sensory data, and a decision making component, i.e., controlling robot actions, for example,
  • Learning vision-based robot manipulation with deep reinforcement methods;
  • Self-supervised representation learning of visual and tactile data;
  • Model-based object pose estimation for 6-DoF grasping from RGB-D images.
Potential projects can have the following flavors:
  • Improve an existing approach. You can select a paper you are interested in, reimplement it, and improve it with what you learned in the course.
  • Apply an algorithm to a new problem. You will need to understand the strengths and weaknesses of an existing algorithm from research work, reimplement it, and apply it to a new problem.
  • Stress test existing approaches. This kind of project involves a thorough comparison of several existing approaches to a robot learning problem.
  • Design your own approach. In these kinds of projects, you come up with an entirely new approach to a specific problem. Even the problem may be something that has not been considered before.
  • Mix and Match approaches. For these projects, you typically combine approaches that have been developed separately to address a larger and more complex problem.
  • Join a research project. You can join an existing Robot Learning project with UT faculty and researchers. You are expected to articulate your own contributions in your project reports (more detail below).

You may work individually or pair up with one teammate on the project, and grades will be calibrated by team size. Projects of a larger scope are expected for teams of two. Your project may be related to research in another class project as long as consent is granted by instructors of both classes; however, you must clearly indicate in the project proposal, milestone, and final reports the exact portion of the project that is being counted for this course. In this case, you must prepare separate reports for each course, and submit your final report for the other course as well.

Grading Policy

The course project is worth 40% of the total grade. The following shows the breakdown:
  • Project Proposal (5%). Due Thu Sept 17.
  • Project Milestone (5%). Due Thu Oct 15.
  • Final Report (25%). Due Fri Dec 11.
  • Spotlight Talk (5%). Week 15.

Project Inspirations and Resources

To inspire ideas, you might also look at recent robotics publications from top-tier conferences, as well as other resources below.

  • RSS: Robotics: Science and Systems
  • ICRA: IEEE International Conference on Robotics and Automation
  • IROS: IEEE/RSJ International Conference on Intelligent Robots and Systems
  • CORL: Conference on Robot Learning
  • ICLR: International Conference on Learning Representations
  • NeurIPS: Neural Information Processing Systems
  • ICML: International Conference on Machine Learning
  • Publications from the UT Robot Perception and Learning Lab

You may also look at popular simulated environments and robotics datasets as listed below.

Simulated Environments

  • robosuite: MuJoCo-based toolkit and benchmark of learning algorithms for robot manipulation
  • RoboVat: Tabletop manipulation environments in Bullet Physics
  • OpenAI Gym: MuJoCo-based environments for continuous control and robotics
  • AI2-THOR: open-source interactive environments for embodied AI
  • RLBench: robot learning benchmark and learning environment built around V-REP
  • CARLA: self-driving car simulator in Unreal Engine 4
  • AirSim: simulator for autonomous vehicles built on Unreal Engine / Unity
  • Interactive Gibson: interactive environment for learning robot manipulation and navigation
  • AI Habitat: simulation platform for research in embodied artificial intelligence

Robotics Datasets

  • Dex-Net: 3D synthetic object model dataset for object grasping
  • RoboTurk: crowdsourced human demonstrations in simulation and real world
  • RoboNet: video dataset for large-scale multi-robot learning
  • YCB-Video: RGB-D video dataset for model-based 6D pose estimation and tracking
  • nuScenes: large-scale multimodal dataset for autonomous driving

Project Proposal

The project proposal should be one paragraph (300-400 words). Your project proposal should describe:

  • (20%) What is the problem that you will be investigating? Why is it interesting?
  • (20%) What reading will you examine to provide context and background?
  • (20%) What data will you use? If you are collecting new data, how will you do it?
  • (20%) What method or algorithm are you proposing? If there are existing implementations, will you use them and how? How do you plan to improve or modify such implementations? You don't have to have an exact answer at this point, but you should have a general sense of how you will approach the problem you are working on.
  • (20%) How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g., plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or compare your results (e.g., what performance metrics or statistical tests)?

Submission: Please submit your proposal as a PDF on Canvas. Only one person on your team should submit.

Project Milestone

Your project milestone report should be between 2-3 pages using the RSS template in LaTeX. The following is a suggested structure for your report:

  • Title, Author(s)
  • Introduction: Introduce your problem and the overall plan for approaching your problem
  • Problem Statement: Describe your problem precisely specifying the dataset to be used, expected results and evaluation
  • Literature Review: Describe important related work and their relevance to your project
  • Technical Approach: Describe the methods you intend to apply to solve the given problem
  • Intermediate/Preliminary Results: State and evaluate your results up to the milestone

Submission: Please submit your milestone as a PDF on Canvas. Only one person on your team should submit.

Final Report

Your final write-up is required to be between 6-8 pages (8 pages max) using the RSS template, structured like a paper from a robotics conference. Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc. After the class, we will post all the final reports online so that you can read about each others' work. If you do not want your writeup to be posted online, please let us know when submitting. The following is a suggested structure for your report, as well as the rubric that we will follow when evaluating reports. You don't necessarily have to organize your report using these sections in this order, but that would likely be a good starting point for most projects.

  • Title, Author(s)
  • Abstract: Briefly describe your problem, approach, and key results. Should be no more than 300 words.
  • Introduction (10%): Describe the problem you are working on, why it's important, and an overview of your results
  • Related Work (10%): Discuss published work that relates to your project. How is your approach similar or different from others?
  • Data (10%): Describe the data or simulation environment you are working with for your project. What type is it? Where did it come from? How much data are you working with? How many simulation runs did you work with? Did you have to do any preprocessing, filtering, or other special treatment to use this data in your project?
  • Methods (30%): Discuss your approach for solving the problems that you set up in the introduction. Why is your approach the right thing to do? Did you consider alternative approaches? You should demonstrate that you have applied ideas and skills built up during the quarter to tackling your problem of choice. It may be helpful to include figures, diagrams, or tables to describe your method or compare it with other methods.
  • Experiments (30%): Discuss the experiments that you performed to demonstrate that your approach solves the problem. The exact experiments will vary depending on the project, but you might compare with previously published methods, perform an ablation study to determine the impact of various components of your system, experiment with different hyperparameters or architectural choices, use visualization techniques to gain insight into how your model works, discuss common failure modes of your model, etc. You should include graphs, tables, or other figures to illustrate your experimental results.
  • Conclusion (5%): Summarize your key results - what have you learned? Suggest ideas for future extensions or new applications of your ideas.
  • Writing / Formatting (5%): Is your paper clearly written and nicely formatted?
  • Supplementary Material, not counted toward your 6-8 page limit and submitted as a separate file. Your supplementary material might include:
    • Source code (if your project proposed an algorithm, or code that is relevant and important for your project).
    • Cool videos, interactive visualizations, demos, etc.
    Examples of things to not put in your supplementary material:
    • The entire PyTorch/TensorFlow Github source code.
    • Any code that is larger than 10 MB.
    • Model checkpoints.
    • A computer virus.

Submission: You will submit your final report as a PDF and your supplementary material as a separate PDF or ZIP file. We will provide detailed submission instructions as the deadline nears.

Additional Submission Requirements: We will also ask you do do the following when you submit your project report:

  • Your report PDF should list all authors who have contributed to your work; enough to warrant a co-authorship position. This includes people not enrolled in CS391R such as faculty/advisors if they sponsored your work with funding or data, significant mentors (e.g., PhD students or postdocs who coded with you, collected data with you, or helped draft your model on a whiteboard). All authors should be listed directly underneath the title on your PDF. Include a footnote on the first page indicating which authors are not enrolled in CS391R. All co-authors should have their institutional/organizational affiliation specified below the title.

    If you have non-CS391R contributors, you will be asked to describe the following:
    • Specify the involvement of non-CS391R contributors (discussion, writing code, writing paper, etc). For an example, please see the author contributions for AlphaGo (Nature 2016).
    • Specify whether the project has been submitted to a peer-reviewed conference or journal. Include the full name and acronym of the conference (if applicable). For example: Neural Information Processing Systems (NIPS). This only applies if you have already submitted your paper/manuscript and it is under review as of the report deadline.
  • Any code that was used as a base for projects must be referenced and cited in the body of the paper. This includes assignment code, finetuning example code, open-source, or Github implementations. You can use a footnote or full reference/bibliography entry.
  • If you are using this project for multiple classes, submit the other class PDF as well. Remember, it is not allowed to use the same final report PDF for multiple classes.

In summary, include all contributing authors in your PDF; include detailed non-CS391R co-author information; tell us if you submitted to a conference, cite any code you used, and submit your dual-project report.

Spotlight Talk

You will have an opportunity to present your awesome work to the instructor and other students in the last week of class. This resembles the spotlight talks in large AI conferences, such as CVPR, NeurIPS, RSS, and CoRL. See an example spotlight video in RSS 2018. Each team is required to submit an MP4 video of the slides with a resolution of 1280x720 preferred. This will enable us to load all talks onto the same laptop without any configuration or format issues while allowing presenters to use whatever graphics or video tools they choose to generate the presentation. Presentations should be limited to 4 minutes and 55 seconds with the next speaker's video starting automatically at the 5-minute mark. If your video is longer than 4:55 it will be truncated. Please see the CVPR Presenter Instructions page for more details about converting presentation slides to videos. We will send out information about uploading the presentation slides and videos as the deadline nears. For each project team, the spotlight talk can be presented by one member or multiple. The spotlight is worth 5% of the total grade, and will be graded with the same criteria as the in-class paper presentations.