CS482: Robotics - May 2003
Chris Hardie - Department of Computer Science - Earlham College


[ main | syllabus | schedule | resources | mailing list ]

Course Syllabus

 

Course Description

CS482 explores the theory, technique, and practice behind autonomous mobile robotic systems. The course uses hardware, software, and mechanical tools to investigate the issues and ideas associated with these systems, including robot design and construction techniques, software design, feedback control, emergence, randomness, practical debugging, communications, data collection, and collaboration. Students will participate through research, lab work, and personal and group projects. Experience with electronics is helpful but not required.

Organization

The majority of the in-class time will consist of students building and programming robots, and structured exercises in LEGO mechanics, sensor principles, software design, and practical programming. Other in-class time will consist of lectures and research time. All of this work will be geared towards comprehension of the topics and achievement of the objectives listed below.

We'll start out meeting from 9 AM to 12 PM, Monday through Friday, in Dennis Hall 128 (ENI/Robotics Lab). This may be adjusted as needed. Given that this is a 3 credit course, it's expected that you'll spend an average of 8 hours per weekday (including in-class/lab time) on the course and related material for the duration of May Term.

Primary Course Objectives

  1. Explore various design, mechanical, electronic, and control issues that arise from working with autonomous mobile robots.
  2. Identify and discuss issues related to "real world" software application design and testing
  3. Facilitate an increased understanding of engineering design and the process of invention

Instructor

Chris Hardie
E-mail: chris@cs.earlham.edu
Website: http://www.chrishardie.com/

Teaching Assistants

Chip Yeakey
E-mail: chip@cs.earlham.edu

Hanna Rabah
E-mail: rabah@cs.earlham.edu

Reading

The primary text for the course is Robotic Explorations: A Hands-On Introduction to Engineering by Fred G. Martin (Prentice-Hall, Inc., 2001).

The Handy Board Technical Reference by Fred G. Martin, included in the robot kits, is also used to clarify and expand on some of the information found in Robotic Explorations, but most of its contents correspond to the appendices of the book.

All reading assignments are inclusive unless otherwise specified. Readings are due as specified in the course schedule, and completion of readings will be factored into the participation grade. Other readings in the form of websites or photocopies may be assigned as the course progresses. Additional recommended readings may be found on the resources page.

Journal

Each class member should maintain a regularly updated journal. Each journal entry should contain some or all of the following:

The purpose of the journal is to help you track and learn from your work in the course, while providing an opportunity for reflecting on the "big picture" of robotics and related topics. It is not meant to be a blow-by-blow account of the class, and if you find yourself copy/pasting from previous entries, you're not using it as intended. As well, one cannot be expected to make effective use of the journal by creating a week's worth of entries in one sitting.

Journals should be maintained as a publicly accessible electronic document, preferably a web page. Feel free to include any sketches/images that might enhance your entries. You should send the instructor a link to your journal location within the first few days of class.

Research Paper

The research paper will allow you to explore a topic related to robotics that will not necessarily be addressed by the work we do with the HandyBoard robots. You should frame a question that A) is of personal interest to you, B) requires library research (including scientific journals) to answer, and C) goes beyond the area of simple autonomous mobile robots like the HandyBoards. Sample topics are available, but feel free to branch out.

A paragraph describing your topic and giving at least 3 references should be approved by the instructor prior to beginning work (see syllabus for due date). The final written report should be about 4-6 pages, including references. One class meeting will be devoted to informal presentations on your findings.

Wildman Science Library is open 8:00am to 12:00pm, and 1:00pm to 4:30pm on weekdays, closed on weekends.

Programming

The most important aspect of your HandyBoard programming is that it is functional and meets the requirements of the milestones. However, effective software design, especially in "real-world" and collaborative environments, requires quality in the style and design of the code as much as the functionality. Good documentation, formatting/readability, use of functions and variables, modularization, and other practices will be evaulated.

Current source code should be available upon request, and the code used to meet each milestone should be submitted to the instructor when achievement of the milestone is being evaluated. You're welcome to post this information online and link to it from your course journal, as long as it's clear what code is being "turned in" at the time.

Grading Plan

Since the field of robotics is so broad, mastery of the topic as covered by the scope of our course can be manifested in a variety of ways. Your grade in the course will be based on your achievement of the course objectives as demonstrated in your robot programming, research paper, course journal, success in milestone evaluation, and participation in discussions:

Course Component Grading Weight
Programming Milestones
50%
Course Journal
15%
Research Paper
15%
Code Quality and Style
10%
Participation
10%

 

Suggestions for Success

  1. Make sure you know what you want to get out of the course before you get very far into it; there are lots of directions to go in, and having a focus will help to inspire you
  2. Update your journal daily; use it as a tool to develop / explore ideas and track your progress
  3. Don't wait until a given milestone is complete to start on the next one; the schedule is structured to require simultaneous work on multiple concepts
  4. Raise concerns early; if an assignment or milestone doesn't seem feasible, say so as soon as you realize it
  5. Have fun being creative with different robot constructions; just because it's a college course doesn't mean you can't enjoy playing with LEGOs.

 

 

Last significant update: May 18, 2003

 

[ main | syllabus | schedule | resources | mailing list ]