Project 3 -- Deliberating and Acting

Friday, April 11: Both Team Organization & Timeline Documents

Friday and Monday, April 25 and 28: Demonstrations

Wednesday and Friday, April 30 and May 2: Presentations

Wednesday, April 30: Final Report

Friday, May 2: Team Organization Evaluation

Friday, May 2: Electronic Review Forms

NOTE: The hard copies of the documents for this assignment are due at the beginning of the class period on the date given above. This means that if you are even a minute late, you lose 20%. If you are worried about potentially being late, turn in these documents ahead of time. Do this by submitting them to me during office hours or by sliding them under my office door. Do not leave them in my departmental mail box.

NOTE: Electronic copies of all of the documents for this assignment are due within 24 hours of the time that the hard copies are due. Note that this is 24 hours from the start of the class period. This is not 24 hours from the end of the day in which the hard copy was due.

One problem with purely reactive systems is that they are limited to acting based on their current sensory information. This is a problem because that information may not be sufficient for the robot to efficiently accomplish the task given to it. For example, if you want a robot to get from point A to point B but the robot is unable to sense B from A, then there must be some other way for the robot to know which way to head next or the robot will be likely to take a very inefficient route, if it manages to find B at all. Because it is impractical to create a set of reactive behaviors that will overcome this problem in the general case, robotics researchers often add a deliberative component to the system. This deliberative component can plan an appropriate sequence of actions to carry out based on information not directly available to the robot through its sensors. Such information may be given to the robot from an outside source or recorded by the robot during its previous activities.

This project asks you to design, build, program, and demonstrate a robot that accomplishes a task somewhat different than the one from the previous project. To accomplish this task you will again need to have the robot autonomously carry out several different activities at appropriate times and in appropriate ways based on its sensing. However, in the present project, you will be graded in part on how efficiently your robot carries out the task. Use of a hybrid deliberative/reactive robotic paradigm is suggested, but not required, for this project.

Goals of this project:



The Assignment

You will design, build, program, and demonstrate an autonomous robotic system that carries out the following task: To efficiently find and move a set of target objects in the environment to one or more locations within the environment and, if possible, to find and disable a moving dynamic object. You will also turn in written material regarding team structure and organization, timelines and milestones, and design and implementation of the robot and its software. You will complete online evaluations of team members and other teams. One or more team members will present information to the class about their team's robot.

Details of the task (many are similar to those discussed 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. You should note here any changes from your previous team organization and method of task allocation with indications for why you are making these changes and where your new ideas originate. Keep in mind that after this there will be no more projects where team members will switch tasks.

This should be from 2 to 2.5 pages in length (roughly 80 characters per line, 50 lines per page). This is due Friday, April 11.

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 is due Friday, April 11.

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 is due Wednesday, April 30.

Robot Code

You will turn in the actual code you have written to control this robot. This will be written in Interactive C. Your source code should be well structured and well commented. It should conform to good coding standards (e.g., no memory leaks).

This is due Wednesday, April 30.

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 is due Wednesday, April 30.

Presentation Materials

If you choose to use a computer or overhead projector for your presentation, you should turn in a copy of your slides. If you choose to use the board or simply talk, you should turn in an outline of your talk and any notes you use during your presentation.

This is due Wednesday, April 30.

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 is due Friday, May 2.

Individual Evaluations

You will be given access to web-based evaluation forms for your team members and for the other teams. These are due before class time on Friday, May 2.



Notes on this assignment

You will turn in both a hard copy and an electronic copy of all documentation, including code. Electronic copies should be mailed to hougen@ou.edu as mime enclosures. The electronic copies should be in a format that is stable and easily readable for people using software on a wide variety of operating systems. PostScript and PDF are good candidates for this. MS Word and PowerPoint are not.

You will test your robot during a 30 minute period between 9:00 am and 5:30 pm on Friday, April 25 and/or Monday, April 28 (or on an earlier date, if you so choose). You may schedule up to two test periods, one on each day. The thirty minutes will include set up and clean up times. You must be ready to test your robot when your scheduled time arrives.

Your demonstration will be video-taped for later use, including your use in your presentation if you so choose.

You will also have one or more group members present to the class the key features of your robot, including both its hardware and its software. This presentation will last 8 minutes and will be followed by a 1 minute question and answer period. Your group will be selected for presentation in a random order. You must be ready to present when your group number is called. If you will be using a laptop for your presentation, you should ensure that it works with the classroom projector before April 30.

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 programs 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. Failure to give credit where credit is due is academic fraud and will be dealt with accordingly.