Computer vision is becoming an increasingly important tool for modern robotics. In this project you will be exploring a computer vision algorithm in depth with a team of 1 or 2 other students. You will have quite a bit of autonomy to choose a project topic that interests you.
For this project, you are required to work with at least one other student. There is a strict maximum of three members per team.
Your project should be about computer vision and its intersection with mobile robotics. While it is likely that a substantial component of your project will be about the vision part (and not necessarily its application to mobile robots), you should scope your project so that you have time to deploy your system on the Neatos.
In your project proposal you will be coming up with an implementation plan. That is, if you are using a particular algorithm to solve a problem, which parts of the algorithm will you implement, and which will you use pre-built implementations for? Be strategic in these decisions to balance learning about algorithms with programming the Neatos to do something interesting. As a brief aside about the pedagogy of this course, since as the course goes on I am going to spend less time discussing algorithms in the structured portion of the class, it is important for you to do project-based exploration of algorithms. To this end, I will expect that you will implement a non-trivial portion of the algorithms you wind up using.
Suggested Algorithm Topics
(see attached files at the end of of this page for some resources)
There are four deliverables for this project.
Project Proposal
Please come to class on Day 14 having thought of some project ideas. You should make sure to develop these ideas to some extent before coming to class. You don't have to be at the full project proposal stage, but you should be further than the "bunch of ideas on post-it notes" stage. Here is a potential structure you could use for fleshing out each idea. I'd try to come to class with at least two ideas fleshed out in this manner, but you should have at least have one.
Make sure to come to class with your idea on paper. This is crucial for Day 14 when we'll do some affinity diagramming where we read each others' ideas and group together similar proposals.
24 hours after class on Day 14 (5pm on March 7th for the M/R section and 12:30 on March 8th for the T/F section) you should share a Google doc with me (paullundyruvolo@gmail.com) with a project proposal. Please include the answers to the following questions. You should include enough detail for me to be able to give you minimum feedback, DO NOT just include one sentence responses to each of these prompts.
In-class Presentation / Demo
I'd like each team to spend about 10 minutes presenting what they did for this project. You can structure the presentation in whatever manner you'd like, however, you should try to meet these goals:
This presentation / demo should be very informal. This presentation will be assessed in a purely binary fashion (basically did you do the things above).
Code
You should turn in your code and writeup via Github. Please fork your repo from this one.
Writeup
in your ROS package create a file to hold your project writeup. Any format is fine (markdown, word, pdf, etc.). Your writeup should touch on the following topics: