Project 1 -- Sensing and Movement

Team Organization and Task Allocation due Friday, January 30

Timeline with Milestones and Fallback Plan due Friday, January 30

In-Class Demonstrations will be Friday, February 13

Final Report due Monday, February 16

In-Class Presentations will be Monday, February 16 and Wednesday, February 18

Evaluations due Friday, February 20

NOTE: The written parts of this assignment are due at the beginning of the class period. This means that if you are even a minute late, you lose 20%. If you are worried about potentially being late, turn in your assignments ahead of time. Do this by submitting them to me during office hours or by sliding them under my office door. Do not send assignments to me through email or leave them in my departmental mail box.

The basis of all of intelligent robotics is tying sensing to acting. To do that we need sensors, actuators, and some connections between them; these components comprise the robots. In this class, we'll build robots in teams. This assignment will introduce us to all of these aspects of robotics, which we'll make use of throughout the semester.

Goals of this assignment:



The Assignment

You will design, build, program, and demonstrate an autonomous robot that carries out the following simple task: To move around a course of colored "tiles." You will also turn in written material regarding team structure and organization, timelines and milestones, and the design and implementation of the robot and its software. You will also fill out web-based evaluations of team members and other teams.

Details of the task (most were described in class) follow:



What to turn in.
Team Organization and Task Allocation Proposal.

You will turn in a proposal for how your team will be organized, what tasks need to be carried out, and who will carry out each one. This should include reasons for carrying each task as well as for assigning them to particular people, with an eye towards balancing the amount of work each team member has to complete. Also keep in mind that this project is to help you figure out how to make team projects work for your team. After this there will be two more projects where team members will switch tasks. In the third project, we will use a simulation environment, rather than the LEGO kit.

This should be from 2 to 2.5 pages in length (roughly 80 characters per line, 50 lines per page). This will be turned in Friday, Jan. 30.

Timeline with Milestones and Fallback Plan.

You will turn in a list describing milestones to be accomplished and an associated timeline showing when each milestone is to be completed. You will also include a fallback plan describing what will be done in the event that a milestone is not reached on time.

This should be from 1.5 to 2 pages in length (roughly 80 characters per line, 50 lines per page). This will be turned in Friday, Jan. 30.

Robot Design

You will turn in a document describing the physical robot design, including its body, suspension, gearing, motors, sensors, and the layout of these components. This does not need to be detailed enough for an exact replica to be made (that is, you don't need to get to the level of the individual Lego pieces). Instead, it should give a high-level description of the parts used and how they are put together. This is the level of description I am looking for (taken with modifications from a description in my Ph.D. thesis of a real robot, constructed for a different task):

This robot consists of two parts, a truck cab unit and a trailer unit. The cab is an Ackerman-steering 4-wheeled vehicle with rear-wheel differential drive. The front of the cab has a binary bumper switch that lets the robot know when it has contacted something from the front. The trailer is attached to the cab by a hitch constructed from a single-turn potentiometer. A servo with a set of photoresistors (CdS cells) is mounted on the back of the trailer so that the robot can keep track of the goal (a light bulb). The trailer also has a binary bumper switch on its rear to tell the robot when it is in contact with the goal.

The potentiometer on the hitch measures the angle that the trailer makes with the cab. Valid angles that the trailer can make are within a 180 degree arc due to the physical constraints of the system. The light tracking servo on the trailer is also limited to a 180 degree arc.

This should be from 1.5 to 2 pages in length (roughly 80 characters per line, 50 lines per page). This will be turned in Monday, Feb. 16 as part of your final report.

Robot Code

You will turn in the actual code you have written to control this robot. This will (most likely) be written in Interactive C. You will turn in both a hard copy and an electronic copy of the code. You will be given instructions on how to send electronic copies.

Your source code should be well structured and well commented. It should conform to good coding standards (e.g., no memory leaks).

This will be turned in Monday, Feb. 16 as part of your final report.

Robot Code Documentation

You will turn in a document explaining the data structures and algorithms used in your code.

This should be from 1.5 to 2 pages in length (roughly 80 characters per line, 50 lines per page). This will be turned in Monday, Feb. 16 as part of your final report.

Team Organization Evaluation and Plans

You will turn in a document evaluating how well your team organization worked and giving a plan of what you would do the same and differently if you could do it over again. The plan should be agreed upon by all members. The evaluation can either be a consensus document or individual team members may give independent evaluations.

This should be from 1.5 to 2 pages in length (roughly 80 characters per line, 50 lines per page). This will be turned in Monday, Feb. 16 as part of your final report.

Individual Evaluations

You will be given access to web-based evaluation forms for your team members and for the other teams. These will be completed before class time on Friday, Feb. 20.



Notes on this assignment

You will demonstrate your robot in class on Friday, February 13. You may choose to have either a single demonstration period 5 minutes long or two separate demonstration periods (two tries to get it right) of 2.5 minutes each. These times includes set up and clean up times. Your team will be called in a random order. You must be ready to demonstrate your robot when called. When not demonstrating your robot, you will be expected to be watching the demonstrations by the other teams and taking notes.

You will have one or more group members tell the class about the key features and the success of your team organization and task divisions (roughly three minutes) and your robot and code (roughly seven minutes) on Monday, February 16 or Wednesday, February 18. The order of these presentations will be randomly determined. You will not know ahead of time which day your team will give its presentation. You should, therefore, be prepared to give your presentation on Monday, February 16

You will be graded on the following issues:

The page limitations given above do not include figures, which are encouraged and may take up any amount of space.



Other

You may write your program from scratch or may start from programs for which the source code is freely available (such as on the web or from friends or student organizations). If you do not start from scratch, you must give a complete and accurate accounting of where all of your code came from and indicate which parts are original or changed, and which you got from which other source. Similarly, for the written components of this assignment you may follow the format or content of other written works but you must give a complete and accurate accounting of who deserves credit for all parts of your documents. Failure to give credit where credit is due is academic fraud and will be dealt with accordingly. Please see the Provost's web pages on academic integrity.