MCB419 logo  




Homework

MCB 419 Homework 7 (Spring 2008)


Questions appearing in red are to be answered in the hw07.txt file.

When you've finished the assignment, email your responses to as a plain text file, and attach a DRAFT version of your individual project file. Email to mcb419@gmail.com with 'hw07' in the Subject line.

The homework is due by 11:59PM on Tue, Mar 4.


Individual Project #1

Draft version (this week's assignment): due Tu Mar 4
Final version (next week's assignment): due Tu Mar 11

lunarbot

Your homework assignment for the next two weeks is to develop your own INDIVIDUAL PROJECT in Squeak that illustrates or expands on some of the ideas covered in class so far. This is a chance to exercise your creativity and imagination. The content and scope are open-ended. The only guidelines are:
a) you should incorporate some of the information-processing principles that we've covered in class so far this semester
b) the 'intelligent' agents in your project can only act on information that they receive through their sensors; they are not allowed to 'peek' at other variables in the simulation

Your project could be a 'game' (like LunarLander), or a 'tutorial' (like EtoysChallenge), or a 'demonstration' (like SalmonSniff), or an 'exhibition' of some sort. Feel free to email me if you have an idea for a project, but aren't sure if it fits.

The final projects will be posted on the class web site. You and your classmates will have an opportunity to vote for your favorites (excluding your own, of course), and the top projects will receive some extra credit points (details to be provided later). So try to think of ways to make your project FUN, ORIGINAL, ENGAGING, and EDUCATIONAL.

To help get things started, here are a few random snippets of project ideas. These aren't fleshed out... you would need to think about types of sensors, movement capabilities, information processing strategies, etc.

  • a galactic rescue ship that flys around picking up stranded space-walking astronauts, while avoiding asteroid collisions
  • a cat-mouse-cheese scenario (or other predator-prey interactions)
  • something with a roomba-like vacuum cleaning robot
  • a frogger-type game (frog crossing a busy road without getting smushed)
  • a computer-controlled vs. human-controlled bot competition, where the human only gets the same type of sensor data that the bot gets (rather than being able to see the entire layout of the playfield)
  • a mouse that finds its way through a maze using tactile feedback from its whiskers
  • simulated evolution, survival of the fittest (see: www.swimbots.com for a fun example of evolving locomotor patterns in swimming bots)
  • a game where the player guides a taxis-controlled bot through a course/maze by by strategically placing 'attractive' and 'repulsive' stimuli at key locations along the course; the game could include several levels of increasing complexity
  • an animated bug with leg movements controlled by a neural net with reciprocal inhibition
  • animated Braitenberg vehicles; animate the motor output so you can see the wheels spinning at different speeds as stimulus intensity changes; add ability to graphically switch between crossed/uncrossed, excitatory/inhibitory connections
  • take a look at some of the kid-created projects on scratch.mit.edu. Scratch is very similar to Squeak. On the scratch site, the movements of the agents tend to be scripted, or controlled directly by the user. Think about how you could make the agents more autonomous, using principles we've discussed in class. Look for scratch projects with tags like 'robot', 'fish', 'frog', etc.
  • feel free to incorporate elements in your project that haven't been discussed in class yet like learning, memory, spatial maps, communication, etc.
You are not limited to these particular topics... they are just here as examples, to help get you started.


Draft Squeak Project File

You need to turn in a DRAFT version of your SQUEAK PROJECT FILE that includes:

  1. the screen layout of all key elements: playfields, controls, viewers, etc.
  2. graphical prototypes for key simulation components (background images, bots, food, etc.)
  3. skeleton Squeak code for basic movement control; try to get as far as you can toward actually implementing the desired functionality; but at a minimum, each simulation component in your draft version must have associated squeak code to allow it to exhibit basic run/pause/reset functionality, even if it just moves in a circle)

Questions

NOTE: all answers provided this week are considered DRAFT versions and can be modified before submission of the final project.

1. What's the SHORT NAME of your project (60 char max)? Try to come up with something unique; this is how your project will be identified on the web site.

2. Provide a SHORT DESCRIPTION of the project (40 words max). The short description will appear on the web page just below the project name.

3. Provide 4-8 KEYWORDS describing the project. (e.g., edge-following, kinesis, taxis, foraging, predator-prey, ...
for more ideas, see scratch.mit.edu/tags)

4. Provide a single paragraph OVERVIEW (300 words max). What's the overall goal of the project? What are the major design elements? What specific information processing principles from the course will be utilized in your project?

5. Provide a brief USER'S GUIDE (whatever the user needs to know to run/reset/manipulate/appreciate the project).

6. If any of your graphics or sound files came from the web, please provide a list of the items and corresponding web links: (e.g. dog image - http://ci.stcloud.mn.us/HealthInsp/dog.gif)



Copyright © Mark E. Nelson, University of Illinois at Urbana-Champaign, 2005-2008. All rights reserved.