CS148 Building Intelligent Robots

Final Project Out: 2 Apr 2001

Introduction

For the next four and a half weeks, you will be working on a project of your own invention. Your proposal will be due at the end of this week and in two weeks you will give a preliminary demonstration of your work so far to the ta assigned to your group. The final demonstration will most likely consist of two parts: you will have a chance to demonstrate all of the specific behaviors of your robot to your ta, and then there will be a ‘Talent Show,’ open to the public, where you can show off your robot in all of its glory.

We are making a couple of provisions to allow you more freedom with this project than you have had previously: we realize that it is difficult to be restricted to the limited hardware of one brick, two motors, two touch sensors, etc., and so we will distribute the small amount of extra materials that we have to groups based on need. Also, if you come up with a project that requires more than one robot, we will consider letting you join up with another group (for a total of two robots and four people). However, to warrant this the project will have to be sufficiently more complicated. Another possible solution that may meet this need is to have several robots with a generic configuration available for use in the ai lab. We will determine if this is workable once we look at the project proposals.

The important dates are as follows:

• Thursday, April 5, midnight Proposals Due

• Wednesday, April 18, in class Preliminary Demo (TA)

• Wednesday, May 2, 1pm - 5pm Talent Show

• Thursday, May 3, midnight Notebook Due

Note that the paper handin deadlines are firm. We will be looking at the proposals Friday during the day, so we need them all Thursday night. As for the notebooks, we are giving you some time after the final demonstration for you to add finishing touches and clearly describe all the work you did in the last few days, so we expect them to be handed in on time so that we can begin grading them. Please put both documents in the 148 handin bin on the 2nd floor of the CIT.

Proposal

Your proposal should describe the premise of your project and give a detailed description of the tasks your robot will complete. This document will be the basis for your grade on both the preliminary and final demonstrations, so be sure to be specific about the expected behavior of your robot. If your proposal is too vague, we will try to point you in the right direction and you will have a few days to modify it, but what you hand in on Thursday should be as close to a final version as possible.

Be sure that your proposal includes at least the following:

• A description of your project. Discuss the premise behind it as well as what is involved both in terms of building and coding. You should explain why it is interesting and complicated enough for you to spend four weeks working on it. If you would like to join up with another group, be sure to justify this — why is your project significant enough to require four people working on it?

• A complete description of the tasks your robot will be able to accomplish by the time of the preliminary demonstration. This will be the basis for your grade. You should break down your final task into many smaller ones and list each one that you will demonstrate at this time. Explain what each task requires the robot to do, whether in hardware or in software, and how you will demonstrate it. Be specific — if this were RoboSoccer, it wouldn’t be enough to say that ‘the robot will recognize the goal,’ instead you would need to describe the exact behavior of the robot, e.g. ‘when the robot passes over three black lines in succession, it will recognize this as the goal by giving two beeps.’

• A complete description of the tasks your robot will be able to accomplish by the time of the final demonstration. This should include any tasks that were not included above as well as any from above that need to be more complicated for the final. Also describe how all the different parts of your robot will work together to accomplish your larger goal, and explain how you will demonstrate this.

• A list of potential problems that you may encounter. Describe what they are and how you plan to work around them.

• A description of the method you plan to use to accomplish your task. This should include a sketch of the robot you plan to build and an outline of the algorithms you plan to use. You will not be bound to this, but we want to see what you are thinking.

• A list of additional items that you need. This can include LEGO-specific equipment, like motors and sensors, as well as more general items, like lamps and rubber balls. Be sure to indicate which items are required, which items are helpful, and which items would allow for extensions. Be aware that our budget is very limited and while we will do our best to distribute the resources we have, we can’t guarantee anything. You may have to purchase some of these items yourself. If you would like to use one or more additional robots, indicate that here as well.

• The language, NQC or LegOS, you plan to use.

• The name of the ta you would like to work with you, as well as an alternate choice. The ta assigned to your group will be the one who tracks your work most closely and who evaluates you at the preliminary and final demonstrations.

Preliminary Demonstration

During class on Wednesday, April 18th you will be expected to demonstrate the basic behaviors of your robot that you have detailed in your proposal. This will be informal and only the ta assigned to your group will be evaluating you. You will also be required to show us your notebook.

Talent Show

The ‘Talent Show’ is still not entirely planned since we don’t know yet what projects there will be and how much time it will take to demonstrate and evaluate them. In general, there will be two sections. Each group will have a designated period of time to demonstrate their robot in detail to the tas (this is the basis of your grade), followed by a more general demonstration to the public. As the day approaches, we will ask each group for an estimate of how long it will take to demo their robot so that we can plan out the exact schedule.

Grading

The breakdown of your grade is as follows:

notebook  25%
proposal  10%
preliminary demo 20%
final demo  45%

Note that the grade for your notebook is based not only on the notes you include on your final project, but also on the notes you have from the first part of the semester. Don’t let this slide.

Project Ideas

We will discuss project ideas further on Wednesday in class, but here are a few to get you thinking:

Map/Room Learning The robot would be able to explore an unknown environment, making a map as it goes along. Then later it would be able to use that map to navigate.

Hide and Seek This requires multiple robots, some to ‘hide’ and some to ‘seek.’ This includes object detection, robot detection, and escape mechanisms.

Ball Handling (Getting a Ball Down a Field) Two robots would work together to move a ball down a field, passing it back and forth between them.

Animal Behavior The robot(s) would demonstrate some type of animal behavior, e.g. flocking or food gathering.

Self-calibrating Robots The challenge is to write a program that isn’t tied to the configuration of your robot, but instead can perform equally well on different robots. Ideally, your program could be downloaded onto any robot with a basic set of motors and sensors and the robot would then learn to perform a set of tasks using that configuration.