SYLLABUS

GEEN 1400, SECTION 050/051: LEGO ROBOTS

SPRING 2007

Instructor: Kevin Bauer
Email: kevin.bauer@colorado.edu
Office hours: Monday 1-3pm and by appointment in ITLL 2B10

TA: Trevor Mugele
Email: trevor.mugele@colorado.edu
Office hours: Wednesday 5-7pm in ITLL 2B10

TA: Albert Wu
Email: wua@colorado.edu
Office hours: Tuesday 5-8pm in ITLL 2B10

Web Site: http://csel.cs.colorado.edu/~bauerk/legorobots

Calendar: http://csel.cs.colorado.edu/~bauerk/legorobots/calendarS07.htm

Moodle: http://moodle.cs.colorado.edu

Meeting Times:
Lecture: 12:00pm - 12:50pm Monday in ITLL 160
Laboratory: 12:00pm - 1:50pm Tuesday and Thursday in ITLL 2B10

Course Description

GEEN 1400, Section 50 (LegoRobots) is a hands-on, learn-by-doing class in which participants design and build a robot that will play in a competition at the end of the class. From the student's perspective, the goal of the class is to design a robotic machine that will be able to navigate its way around the playing surface and successfully interact with game objects, including the opposing machine. The machines built by students of LegoRobots are real robots. They are fully autonomous entities, operating under their own battery power with a microprocessor in control. LegoRobots robots operate without human intervention. The design of a LegoRobots robot is a complex task, because the robot must be designed intelligently with respect to mechanical, electronic, and control factors.

The real goal of LegoRobots is to teach students about engineering and design by giving them the hardware, software, and information they need to design and build an operational robot. We hope that LegoRobots students will, by actively engaging in the process themselves, come to appreciate engineering design as an essentially creative process.

LegoRobots includes concepts and applications that are related to various CU engineering classes; however, there are no formal prerequisites for the course. We believe that people can learn everything they need to know by working with each other, being introduced to some material in class, and mostly, by working on their robots.

Textbook

The reference material for this course, including the textbook in html format, is accessible online from the course web site at http://csel.cs.colorado.edu/~bauerk/legorobots.

Laboratory Costs

Your LegoRobots kit is valued at over $750. The LegoRobots kit includes everything you need to build a functional robot, including a complete set of electronic hand tools, such as a soldering iron, diagonal cutters, long nose pliers, wire strippers, multi-meter, and several other useful implements. You will be required to pay the full replacement cost of any non-consumable item in the LegoRobots electronics, LEGO, or tool kit that is not returned in good condition at the end of the semester. Although this course is supported in part by the university, some of the budget comes from a laboratory fee of $40 per student. This fee will be used to partially defray the cost of materials that can only be used once. If this fee represents a hardship, contact the instructor. If you have any questions about this policy, contact the instructor.

Team Organization

In many ways, the quality of the interactions of the members of your team will profoundly affect the quality of your overall experience in LegoRobots. There are important questions to be answered when thinking about the organization of your design team:
  • Will each participant be responsible for one portion of the design? Conversely, will all participants take part in all activities?
  • How will major design decisions, like the overall machine strategy or physical configuration, be made? Will there need to be a consensus amongst all of the team members before these types of decisions will be made?
  • How will disputes be resolved? These are tough questions that rarely have simple answers. We recommend that questions like these be taken seriously, and that each team spend time discussing these issues at the start of the course. Each team should come up with a solution that works best for them.

    Credit and Grading Guidelines

    LegoRobots is offered for three hours of credit. Your grade will be based on the following:
    1. Class/Lab Attendance and Participation (20%) - Students in LegoRobots are not required to take exams, but they are required to attend class. Much of the material presented in class is complementary to the material learned in lab, and for that reason, we require class attendance. You may miss up to two classes for any reason without penalty. After that, missed classes will result in a grade penalty of one third of a letter grade per missed class. Those with extraordinary circumstances such as serious illness should contact the instructor.
    2. Lab Reports (15%) - For each milestone completed, each team must complete a lab report providing a detailed account of their design and construction process. This document is to be completed as a team. A lab report will be due exactly one week after your team completes a milestone, not necessarily one week after the milestone is due. Specific requirements for these lab reports will be described in class.
    3. Intermediate Milestones and Mini-Programming Assignments (35%) - You must meet a series of intermediate deadlines during the course of the semester. These deadlines are intended to encourage you to make regular progress on your robot. The robot(s) that you use to meet these intermediate milestones will not necessarily represent your final design; they probably will be small simple robots built to test a few construction ideas. This is a good way to approach the course. Plan on iterating your robot design many times. When you accomplish one of these milestones, be sure to let a lab assistant or the instructor know so that we can celebrate with you and verify the results. Also, record your success in your team lab reports. The milestones are the following:
      • Mobile Robot: Your robot should be able to cross the game board under its own power by February 1.
      • Robot Has a Meaningful Encounter With a Wall: Your robot should be able to move forward until it finds a wall and then back up. Deadline: February 8.
      • Robot Follows a Line: Your robot should be able to track a black line on a white background and a white line on a black background by March 1.
      • "Beat the Brick:" Your robot should be able to score at least one point against an inert placebo by March 15.
      • Score a Goal: Your robot should be able to score at least one goal by April 12.
      • Repeat "Beat the Brick": Your robot should be able to "beat the brick" on two consecutive attempts by April 26.
      The milestones are graded only on whether they are completed on time. If the instructor or a TA verifies that you have completed a milestone any time before the end of the lab period during which it is due, you will receive an "A" for that milestone. After the deadline, you will lose one letter grade per lab period until the milestone is completed. Remember, milestones must be verified by the instructor or a TA in order to count for a grade. Don't fall behind!
      The Mini-Programming assignments consist of several short assignments designed to evaluate your understanding of the fundamental programming concepts covered in class. During this course, your will become familiar with the C programming language. A working knowledge of the C programming language is essential in order to construct a successful robot. These assignments must be completed in C using the course's programming environment. More details about these assignments will be given in class.
    4. Final Report (20%) - Each team will produce a written report about their robot, due on Monday, May 7 by 11:55pm (this report takes the place of the final exam). Specific requirements for the final report will be described in class.
    5. Completed Robot - Your team must "show" a robot both days of the contest (i.e., all team members must be present and you must have a finished robot with you; it need not work). Your robot's functionality (or lack thereof) has no effect on your receiving credit for the work that you have done; the design reports will be the main indicator of your participation.
    6. Peer Evaluation (10%) - All members of each team will evaluate each other's performance.
    These course requirements are meant to be useful both to you, the course participant, and to the instructor, who will be assigning a grade for the course. If you have any questions about your standing in the course at any time, feel free to ask the instructor for feedback.

    All written assignments are to be submitted electronically using the Moodle unless otherwise specified.

    Schedule

    The schedule of activities between the start of the semester and the final competition is very tight. You will have to work steadily and with determination to produce a working machine by the end of the course. Consult the course calendar or the Moodle for a complete list of events. The course will have several meeting formats:

    Final Tournament

    The course will conclude with a robo-basketball tournament in which each robot will participate. Your attendance is MANDATORY at BOTH rounds of the tournament. See the course Web Site for a description of this year's contest: http://csel.cs.colorado.edu/~bauerk/legorobots

    Qualification Round

    Your robot must qualify during the first round, which will be held on Thursday, May 3 (12-2pm). All members of the group must be present. At some point during the day, your robot must successfully score one point against an inert opponent.

    Tournament Round

    The tournament will begin at 5pm on Friday, May 4. All members of the group must be present.

    Robot Disassembly and Parts Return

    Prior to receiving credit or a grade for the course, you must disassemble your robot, return all parts, tools, etc. to the appropriate containers. Disassembly will follow immediately after the tournament.

    Other course policies

    Disabilities

    If you qualify for accommodations because of a disability, please give the instructor a letter from Disability Services so that your needs can be taken care of.

    Religious observances

    If there is a conflict between a religious holiday and the class schedule, please let the instructor know far enough in advance to make alternate arrangements.

    Other university policies

    Please acquaint yourself with the following pages:
  • University of Colorado Academic Honor Code
  • www.colorado.edu/policies/classbehavior.html
  • www.colorado.edu/policies/discrimination.html