- HW 01 (due Tu, Jan 22)
intro; basic movement
- HW 02 (due Tu, Jan 29)
kinesis, pillbugs, Ecoli
- HW 03 (due Tu, Feb 05)
paramecium, taxis
- HW 04 (due Tu, Feb 12)
food/photo-taxis, collisions
- HW 05 (due Tu, Feb 19)
informational cues
- HW 06 (due Tu, Feb 26)
edge following
- HW 07 (due Tu, Mar 04)
indiv project (DRAFT)
- Proj #1 (due Tu, Mar 11)
indiv project (FINAL)
- HW 08 (due Tu, Apr 01)
bee foraging
- HW 09 (due Tu, Apr 08)
ant trails
- HW 10 (due Mo, Apr 14)
project peer eval
- Proj #2 (due Mo, Apr 28)
showcase projects
|
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
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:
- the screen layout of all key elements: playfields,
controls, viewers, etc.
- graphical prototypes for key simulation components
(background images, bots, food, etc.)
- 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)
|