Course Project

 
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 should satisfy the following two requirements:

  • It involves at least one, ideally both, of the two critical components: a perception component (processing raw sensory data) and a decision making component (interacting with an environment);
  • Robots (following NSF's definition) should to be an integral part of the problem. In other words, the project cannot address perception or decision making problems without a robot, such as training CNN classifiers on ImageNet or reinforcement learning for Atari games.
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 will work in groups of three. As part of your reports, you need to include the contributions of each of the members, for example: Report writing: Student A (50%), Student B (30%), Student C (20%, Introduction), Coding: Student A (20%)...

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.

Note: This year, we provide a list of possible projects (below) but the students can decide to take on their own idea, using the default project based on the robosuite simulation framework, or a different one. For students who would like to explore alternative projects, please email a short description of your project idea (less than 200 words) to the instructor by Sept 11 to obtain approval in advance.

List of Project Ideas

The following is a list of suggested projects for the course. Some projects ideas, indicated by a name in parentheses, are offered by our colleagues in Texas Robotics; meetings and advising will come from them.

Default Project

We will use robosuite as the default choice for the course projects. It is a modular simulation framework powered by the MuJoCo physics engine. It also offers a suite of benchmark environments for reproducible research. This project is part of the broader Advancing Robot Intelligence through Simulated Environments (ARISE) Initiative, with the aim of lowering the barriers of entry for cutting-edge research at the intersection of AI and Robotics. It serves as the simulation infrastructure for the partner projects, such as robomimic and RoboTurk. robosuite has been actively used by the robot learning community for research prototyping and benchmarking. You can visit this page to browse a list of recent projects and publications that used this framework from the research community, including a broad range of topics such as reinforcement learning, learning from demonstrations, and sim-to-real transfer. This list will provide you some inspirations and potential directions to your course project ideas.

This default project aims at exposing you to a full stack of computational tools and methods for robot learning: physical engines, graphics renderers, robot controllers, teleoperation interfaces, and learning algorithms. We would like to leave the choice of your course project open-ended and encourage you to explore a challenging robot learning problem to your keen interest. Nonetheless, to ensure that you have a comprehensive view of the tools, your project should constitute at least the following two components:

  • Task design. Design one or a set of simulated Environments with robosuite's procedural generation APIs. You can check out the implementations of robosuite's standardized environments as references. For more advanced task designs, try importing new Robot models (e.g., quadrupeds, mobile manipulators), adding new Objects assets, implementing novel Controllers and Sensors, etc.
  • Algorithm Design. Develop a robot learning algorithm (perception or decision making, ideally both) that tackles a clearly formulated technical problem with the environmnet(s) you designed. For the algorithm design, you can either develop a novel algorithm or apply an existing one to a new problem — see our itemized list above on the project flavors for all options.

Your project will be evaluated based on the novelty of the task design and the technical quality of the algorithm design. Furthermore, We invite teams of high-quality work to (optionally) open-source their task/algorithm implementations in future versions of robosuite, making contributions to the research community through the ARISE Initiative. To get help with robosuite-related questions, you can submit Issues and Pull Requests to the robosuite repo, post questions on our course Piazza, or join the ARISE Initiative Slack workspace to contact our development team.

Grading Policy

The course project is worth 40% of the total grade. The following shows the breakdown:
  • Project Proposal (5%). Due Thu Sept 15.
  • Project Milestone (5%). Due Thu Oct 20.
  • Final Report (20%). Due Fri Dec 9.
  • Spotlight Talk + Interactive Poster (10%). Week 15.

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 to 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 and Interactive Poster Session

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.

After the spotlight presentations, we will have an interactive poster session. Using laptops, each presenting group will have the opportunity to interact with attendees directly. Bring slides for this. You could use a version of the slides used to create your video, but consider that the discussions may require additional slides (e.g., details of the experiments or the implementation). This session is also common in all AI and robotics conferences. The poster session is worth 5% of the total grade.