University of Calgary
Rob Kremer
Group Assignment: Multi-agent Robots in CASA

CPSC 601.68/599.68: Agent Communication
Fall 2009
Department of Computer Science
Computer
Science

Note: This is an group assignment. The work is shared among the group members and each member is responsible for all of the work. For example, if there is plagiarism is found in the assignment, every member is responsible. The group is expected to do it's own work, and must properly cite any and all work taken from external sources.
Each member is responsible to carry their own portion of the workload. To this end, there is a peer assessment process where each member must assess each other member's contribution. Individual marks may differ based on the peer assessment, the instructor's assessment, and other factors.
Another note: You will need to download the CASA project and the iRobotCreate project to this assignment. For details, see the getting CASA and the iRobot code page.
iRobot Create

This is a multi-agent (multi-robot) assignment in which you have to write agents to autonomously control two or more communicating robots. The environment will consist of a rectangular room with "islands" drawn on the floor. The islands will be at least one robot diameter in size, and will be large enough to place each robot in your team such that at least the two front cliff sensors are on the island.

The goal of the task is to program your N robots to compete against 0 or more teams of N robots by another group in the class. The object of the game to be the first to claim an island. You claim an island by having ALL your robots placed such that at least the front two cliff sensors are on the island and you recognize this by doing their victory display. A victory display consists fo having every robot on your team flashing their lights alternating red and green in one second intervals, and each of the robots playing a successive note in a C major chord (middle C, the next highest E, the next highest G, the next highest C, etc.)

The referee (me) reserves the right to make up reasonable rules, with associated penalties and awards, as the game proceeds.

You may not use any other sensors other than the sensors the iRobot Create has built-in. The cliff sensors are very useful for detecting islands. You will be provided with software (available from the CVS repository) to help you in basic tasks. You are NOT required to use this software, and you may modify it as you see fit.

Each of your robot should play an interesting short tune to indicate readiness but wait for a "start" command. You should implement a run time command "start" to start your robots. In the event that you always win or always loose, you should implement commands "flash victory" (which will cause both robots to flash red/green in coordinated unison when sent to only one robot) and "whimper" to demo these to the instructor.

Your mark on this assignment will not necessarily have much to do with the points you score, but it is anticipated that there will be a reasonably strong correlation between marks and score. Marks will be awarded for brilliant inter-agent communication design (based on the CASA architecture and social commitment theory), program design, documentation, and an oral "exam" immediately following the competition.

Competition schedule is to be determined.

Example in the simulator

An example showing two teams of 3 players, and 2 islands


UofC
CPSC 601.68/599.68: Agent Communication
Department of Computer Science

Last updated 2009-11-13 16:25
Rob Kremer