Proposals Due Friday March 28, 11pm
Presentations Friday April 11, in class
Demos Monday April 14, in lab
All Code Due Tuesday April 15, 11pm
Worth: 29% of your final grade
This final lab is intended to draw together the different capabilities you studied in the prior labs. Each group will define a project to implement an algorithm of your choice on the OHMM robot. Grad student groups must also identify one or more research papers in the recent research literature which relate closely to their project. All groups will have the option to use additional hardware.
We will make the following optional hardware available upon request:
Follow similar instructions as for lab 2 to update your svn checkout and copy the lab 5 framework into
Then rebuild and flash the LLP monitor code using the same procedure as for lab 2.
Finally, rebuild the HLP OHMM jarfile using the same procedure as for lab 2.
Each group must select an autonomous algorithm of interest and implement it on the OHMM robot. These algorithms can (and preferably should) leverage the capabilities you implemented in prior labs, but should add at least one significant new feature or capability. All projects are subject to the approval of the course staff during the proposal phase.
Given the type of robot we are working with, you should be thinking about algorithms in the areas of mobile manipulation, perception, wheeled robots, differential drive, monocular vision, point cloud perception (if using the Kinect), etc.
Pay careful attention to the amount of time you have available, and build in time to meet the various deliverables—written proposal, in-class presentation, live demo in lab, and code handin.
Graduate student projects must identify one or more key research papers (peer-reviewed conference or journal publications from the last 10-20y) which closely relate to your project. The clearest way to do this is to select one (or a few) papers which show how to implement something, and then implement it. Your implementation does not need to exactly follow the paper(s), but should be aimed to solve the same type of problem. Full bibliographic citations for these papers, including authors, title, publication venue, and page numbers, must be given in the project proposal and during the in-class presentation.
You may use existing reference code and external open-source libraries in your implementation, but you must clearly cite the original authors, as always. You may also use the provided solution code from prior labs (and you do not need to specifically cite the authors in that case unless you use—always with permission—another student’s solution instead of the officially posted one).
All your code must run autonomously (no human intervention). Clarifications and exceptions to this requirement may be made by discussing with course staff at the time of your proposal.
Possible example projects:
There are four components to the project:
You will be asked to demonstrate your code for the course staff in lab on the due date for this assignment (listed at the top of this page); 30% of your grade for the lab will be based on the observed behavior. Mainly want to see that your code works and is as bug-free as possible. Another 30% of your grade will be based on the written proposal and presentation, and the remaining 40% will be based on your code.
You will hand in your code following the general handin instructions by the due date and time listed at the top of this page. We will consider the code completeness, lack of bugs, architecture and organization, documentation, syntactic style, and efficiency, in that order of priority. You must also clearly document, both in your README and in code comments, the contributions of each group member.