Robotics
Assignments/Grading Policies, Spring 2003
There are two main components to the coursework: short, written/programming assignments and three larger robot "lab projects". There is also one paper per week of required reading.
In order to reinforce and extend some of the algorithms and ideas presented in class, there are several short written/programming assignments interspersed with the lab projects. Feel free to print out the HTML pages and write solutions there, if you like. In contrast to the lab projects, the written assignments will follow material as it's presented. They may be completed individually or in lab-project teams.
For each written assignment there is a corresponding paper, with a link provided. For each, you should create a bibliographic entry that you use in your lab project's write-up (most likely the introduction). As mentioned in the overview, because robotics is not a mature subfield of computer science, fundamental results and principles are still being developed. These papers provide snapshots of this ongoing work, as well as some classic breakthroughs and concise overviews.
The lab projects intend to provide experience with robot programming, using both simulators and hardware. The expected size of a group of students working on a project is 2-3. (This may be required for the hardware-dependent assignments.)
Lab Assignment A -- Survivor and Explorer (Nomad 200 and Simulator)
Lab Assignment B -- Bug Algorithms (Nomad 200 and Simulator) (do
Lab A first!)
Lab Assignment BB -- Motion Planning (Nomad 200 and Simulator) (do
Lab A first!)
Lab Assignment C -- Fire! (Handyboards)
Lab Assignment D -- Robot Diviner (Robix arm)
Lab Assignment E -- Visual Tracking (Sony camera)
Lab Assignment F -- Send Ran to Spago (Pioneer)
Lab Assignment G -- Path Planning (Pioneer)
Lab Assignment H -- Wall Hugger (Rug Warrior)
Lab Assignment I -- The Cleanup challenge (RCX or Handyboard)
Lab Assignment J -- Spatial Autonomy: Localizing, Mapping, and Navigating
You will need to create an HTML write-up of your project as you progress. Each week at class time on Monday, you'll need to have at least one more page (and at leat one more photo!) of your system in development. You may use the assignment specification as a starting point. Many of the projects culminate in a task or other behavior -- each group should set up a time with me in order to demonstrate their results (on or before the due date).
The full projects will be due at midnight on the following Sundays:
Lab Project 1 (Due Mon, Feb 17)
Lab Project 2 (Due Mon, Mar 10)
Lab Project 3 (Due Mon, Apr 28)
Acknowledging teamwork It is important that the work on the lab projects be divided fairly, and this will be expected in all of the projects. However, in order to give credit where it is due, if one person does all or most of a particular project piece, that should be indicated in the write-up.
Protecting files It is natural to develop the assignments in your ~/public_html directory. However, if others are working on the same project as you, be sure that those files aren't visible until the submission date. There will be a time at which they'll be visible and others could use them inappropriately, but I think the following factors make this situation acceptable:
The weight that the assignments and projects contribute to a final grade breaks down as follows: