Out: Feb 6
Due: Feb 13

This is the 2nd player-stage assignment. At this point you should have player-stage set up and you've written some basic code for it.

Now, I would like for for you to create a multi-threaded robot control program, using some version of the ideas presented in Chapter 4 of the Arkin book. E.g.:

  • you could use the schema method of combining motor signals from multiple agents (some linear combination of outputs from the different agents)
  • you could do a version of Brooks' subsumption architecture, where one agent subsumes (takes over) from another
  • some way of a given agent (e.g. a FSM) disclosing its internal state to others, so as to prevent the "I'm stuck" problem from hamstringing the whole robot. Please see Marvin Minsky essay (Attach:WER-INFO-64.pdf) and read the B-Brains controlling the A-Brain (page 320 of the article -- 5th page of the PDF)
  • adding a noise field to prevent being perfectly stuck between two competing goals
  • some combination or something different

Please continue the basic task of navigating in the presence of obstacles and "taxis" (being drawn to a target). You might consider taxis to two different signals.

Please be prepared to show your work in class on Wednesday. Bring your laptop if you have installed on that, make sure your code is net-accessible otherwise.