Vision/robotics Final Project
Demo: Thursday, April 28, 2011
Write-up: Saturday, May 8, 2011

Readings for the finale:

The Stanford Cart Ph.D. thesis, Chapter 2
by Hans Moravec
(provided in class, a perspective on projects)


Final project demos

On Thursday, 4/28 each team should demonstrate their final project during class

  • this is meant to represent the final state of the system, though certainly small additions/changes may be made by the write-up's deadline (see below)
  • we'll begin at the classroom at the usual time (9:35)
  • first, we'll run the demonstrations that use the lab space
  • it's not a problem if your demo is situated somewhere else, however -- we'll head to the dorms next, and then Pomona, if needed...



Final project write-up

In order to focus on the final project itself (instead of its write-up), the final webpage update isn't required until 5/8, while the final project demos are on Thursday, April 28th.

The write-up does not have to be elaborate! Rather, the goal of the write-up is to summarize your results and provide ideas or a starting point for others who might want to start there in creating a variation on your project in the future.

With that in mind, here are the of things to include on your final project's webpage(s):

  • Be sure to include archives/zip files of all of your code, along with a short, one- or two- paragraph description of what to look for - and look out for - if trying to use that code.
    Keep in mind that it is more than likely that a team in the future will want to start with your platform and then extend it to a task of their own design... .
  • Include final pictures and movies from your project -- both in progress and from the final project demos. I will post movies I take from the final project demos so that you can link them in, but you should consider taking a few of your own, as well.
  • A final description of your approach and the results of your project -- be sure to highlight any algorithmic decisions that had an impact on your robot's performance, as well as any design decisions: both in terms of programming and in terms of the engineering of your robot platform. How did things go, in the end?
  • Some concluding comments for the project, including how you might approach it differently if you were to undertake it again and/or any overall impressions you took away from working on the robot(s).



Final assignment

Although the final project is the largest portion of this semester's work, each team (or individual, if desired) should choose one topic among the course's second-half topics on which to complete a (relatively short) problem or investigation: many are a bit different from ordinary problem sets. Below are the options.

Each team should choose one of these four options to complete. The write-up for your problem is due along with the final project write-up. You can include it along with that, or in a separate location.

  • Option 1   -   Written problems on path planning

    This link should take you to the problems on configuration space complexity, and some path-planning exercises.

  • Option 2:   -   Robotics: Judgment Day

    Friday, April 29, 2011 from 11am to 2pm is the Claremont School District's annual robot contest, involving mixed-age teams and their Lego Mondstorms NXT robots. It is at CGU's "Descombes Quadrangle" just two blocks southwest of HMC. Each year CS students have enjoyed being the judges for the contest, which includes a poster presentation and robot-trial events.

    Judges are needed from 11-12:30 for interviews and poster evaluation and from 12:30-2 for timing/supervising the competitions. (Subs from Subway are provided around 12:30, if you'd like.)

    Judging for the contest counts: ideally, they need 4-6 people to judge the posters and 3-6 people to judge the robot events. Regardless of being one of the choices for this assignment, I would encourage you to consider checking out what the students have done and helping judge the event -- it's fun!

    If you're interested, please let me know -- so that we can coordinate who's judging which part of the competition... . I'll be there to help coordinate the judging, as well.

  • Option 3   -   SLAM study and questionnaire

    This is a survey that is being taken as part of the postgraduate work by Alex Kozlov at the University of Aukland in New Zealand, which has an active SLAM research group. The goal is to study how different visualizations affect obsrevers' understanding of mapping algorithms.

    Your task is to simply take that survey - as a team. Alex estimates that it will take about an hour to complete: you watch a number of videos of renderings of SLAM algorithms and then answer multiple-choice or single-sentence questions about what you observed.

    Simply add your answers into a copy of this "survey script": Evaluation_detection.doc - and then post that document to your final assignment page (or with the final project write-up)

    All of the videos are online, but you can download the whole set of them from this one zip file: SLAM_survey.zip

    I will collect all of the survey results and send them to Alex, who is excited about having the class participate!

    If a team is choosing this option, each memeber of the team should complete the survey themselves. Feel free to confer afterwards, but having the results from many people will be of greater help to Alex in his SLAM-visualization project.

  • Option 4   -   Trying out ROS

    The robotics company Willow Garage (http://www.willowgarage.com/) has developed a "Robot Operating System" named ROS that includes a simulator and visualizer for its PS2 manipulation robot.

    ROS seems poised to become a fairly well-established robotics software base (and I would love to know if it should be come the basis for future offerings of robotics and vision at HMC!)

    Thus, this option is simply to get ROS's demos working on our lab's Ubuntu machine: installing the system and running its simulator and visualizer (as well as documenting any difficulties you may have overcome in getting it working and your thoughts on the system). I've heard that under Ubuntu, the installation is smooth... .

  • Option 5   -   OpenCV Eigenfaces...

    This option is to build an eigenfaces-based recognition system in OpenCV, using the online guide available at http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html. This guide has been used before by students working on vision projects, with good success (in fact, one student mentioned that the guide might be too good, leaving too little open-ended. For this small assignment, that's probably a good characteristic!)