Course Project
The primary objective of the course project is to give you in-depth, hands-on experiences developing your own robot manipulation and learning solutions. A successful project should satisfy the following requirements:
- It should tackle a problem in robot manipulation;
- 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.
- 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 Manipulation and 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 manipulation and 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 (depending on the number of students in the class). 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.
Default Project
We will use a simulator for robot manipulation for the projects. Successful projects may be tested on one of our real platforms. Some simulators you could use include robosuite, iGibson and OmniGibson.
Your project should constitute at least the following two components:
- Task design. Design one or a set of simulated tasks in the simulator
- Algorithm Design. Develop a Robot Manipulation and Learning algorithm that tackles a clearly formulated technical and scientific problem with the environment(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 the simulators, making contributions to the research community. For extraordinary projects, we could support you on converting it into a conference submission.
Grading Policy
The course project is worth 40% of the total grade. The following shows the breakdown:- Project Proposal (5% of final grade). Due Thu Week 3 (1 Feb 2024)
- Project Milestone (5% of final grade). Due Fri 8 Mar 2024
- Final Report (20% of final grade). Due Mon 29 Apr 2024
- Spotlight Talk + Interactive Poster (10% of final grade). Week 15 (23 and 25 Apr 2024)
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 on Gradescope. 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 Gradescope. 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.
- 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 in a single ZIP file on Gradescope. 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 CS395T 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 CS395T. All co-authors should have their institutional/organizational affiliation specified below the title.
If you have non-CS395T contributors, you will be asked to describe the following:
- Specify the involvement of non-CS395T 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-CS395T 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 Robotics conferences, such as RSS, CoRL, and NeurIPS. 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 9 minutes (may be adapted depending on the number of groups). If your video is longer than that, 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 (15-20 mins). 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.