CS 154 Homework #1
Due Wednesday, January 28 by 11:59 pm



Reading for Hw #1: Achieving Artificial Intelligence through Building Robots by Rodney Brooks.
Click here for the paper (pdf).


Submission: You should post your answers/solutions to your team's webpage - in fact, deciding on a team and setting up a webpage is the first item on the assignment.

You may create a webpage anywhere you like, for example your webspace on the CS server, or another free web-hosting service you like to use. In 2007 a team used a page at blogspot as their web site. In '08, almost all of the teams simply used the wiki. Regardless, do create a wiki page that links to your site - or that is your site. Here is a link to this year's wiki:

https://www.cs.hmc.edu/twiki/bin/view/Robotics/CS154Projects2009

With the exception of the question asking for an additional real and fictional robot, each team should submit one answer for this (and future) assignments. For that question, please have each team member contribute one of each kind of robot, as well as some background and a link.



  1. Teams and projects for the first half of the term...

    Please settle on (1) a team of about 3 students with whom you will work on the first lab project and (2) a project you would like to work on. In the past, even larger teams have been successful with more ambitious projects (such as preparing for a competition). If you're particularly detemined to work on your own, I'm happy to accommodate that, as well - let's talk.

    The earlier you can let me know your preference for a project, the better. Feel free to email me your team/project even before this assignment is due. I will then organize the hardware and, possibly, space in the robot lab, so that you can get started on your project.

    Need project ideas? Check out previous CS154 students' projects at http://www.cs.hmc.edu/~dodds/projects/index.html.

    Introduction Once you have an initial idea for your semester's project, please add an introduction page, tab, or section to your website with a brief description of what your plan is. Even if you're planning simply to follow the default, "spatial-reasoning" tasks of localizing, mapping, and navigating, indicate that this is the case.

    I would encourage you to consider a website layout in which your HWs and project progress are organized and accessible. think of the page, perhaps, as more than simply this semester's work: it is an opportunity to show off in the future. It's a great resource to have a well-documented set of projects online whose URL you can forward to employers, grad schools, etc.

    Here were some of the pre-Wiki sites that worked out well:

    Once you indicate your team and what project you'll be working on, I'll get you started with the hardware and some references you'll need to get acquainted with it. The earlier you decide this, the better -- if you already have a plan, please let me know!



  2. Other example robots - to be done by each team member

    In the introductory slides there is one robotics "timeline" that includes a number of fictional robots. Another timeline includes real robots.

    Find another fictional and another real robot, also with dates, that could be added to these timelines. Write a few sentences of explanation for each. Also, include a URL -- I will add them to my slides' collection! Each team member should submit one real and one fictional example.



  3. What is robotics?

    According to Benjamin Kuipers of the University of Texas at Austin (www.cs.utexas.edu/users/kuipers/),
    A robot is a computational system coupled with the physical world through its sensors and effectors. An intelligent robot learns about its world from experience, and uses the knowledge it accumulates to make better plans to achieve its goals. Robotics is hard, partly because it crosses many of the abstraction boundaries that simplify other areas of computer science.
    Given this definition, write a paragraph defending, attacking, or equivocating on the position: a computer (a desktop PC) is an intelligent robot. You might consider specific "abstraction boundaries." Only one answer for a team is needed.


  4. Human control: state-machine vs. potential-fields architectures

    On Thursday 1/22 and Tuesday 1/27, we will (or did) talk a bit about different architectures that have been used to govern robots. One example was the state-machine approach of behavior-based or subsumption control. Another example was the task-layering of potential-fields-based control (also called motor schemas). Describe two human tasks - or invent your own scenarios - such that, for the first, a person would act in a manner analogous to Rodney Brooks's subsumption-based behavioral control. The second task should be one in which a person would act in a way resembling Ronald Arkin's motor-schema control strategy. Only one answer for a team is needed. Creativity is welcome... !