This course teaches how to design, build, and program autonomous robots. Topics include robot architecture (e.g., sensors, effectors, processors, and platforms), as well as adaptive behavior (e.g., navigation, machine learning, and evolutionary robotics). A significant portion of the course incorporates hands-on experience with real robots as well as simulators. The second half of the course will involve team-based projects and a final demonstration.
Rationale
We have offered this class as a CS 495 Special Topics in Computer Science
and as a CS 490 Special Projects in Computer Science. It has been popular
with and educational for students. No other course at NMU offers
these topics. These topics (i.e., embedded systems, situated computing,
real-time systems, adaptive systems, intelligent systems) are important
in industry today. In addition, many of the fundamental concepts of
computer science will be covered, applied, and reinforced in this course,
including object-oriented program design, systems analysis, computer
architecture and performance issues, algorithm design and analysis, operating
systems, and problem formulation, formalization, decomposition, and solution.
CS 370 may be used to partly fulfill the CS Elective requirement in both the Computer Science and Network Computing majors.
Although it is primarily targeted at our CS and NC majors, the prerequisites will allow other students to take this course. Robotics has a wide appeal, and experience shows that students from related majors, such as CIS, Physics, Psychology, Biology, and Electronics Engineering Technology, will take such a course. Physics, CIS, and Electronics Engineering Technology majors would already be qualified to take this course, since their core curricula include courses meeting the prerequisites of CS 370. Such diverse enrollment is not only anticipated but will be encouraged, as diverse interests and backgrounds will complement each other and allow the undertaking of more ambitious projects.
Course Number
This class is meant for juniors and seniors. CS 370 is an appropriate
number. It is not in use by any other course.
Course Outline
(Please note that
this course continues to evolve as instructors gain experience teaching it and
as new robotics technologies become available at lower costs.)
Anticipated Costs
By utilizing existing robots, parts, and tools in the department's NERL
(Northern Evolutionary Robotics Laboratory), we will avoid costs for new
equipment. We do anticipate a small cost for maintaining the robots during
the course (e.g., replacing rechargeable batteries that no longer re-charge, or
infrared LEDs that burn out). Experience has shown that by using
off-the-shelf, low-end components, we can keep the costs minimal (perhaps
$50-$100 per semester). Historically we have been able to cover these costs with
grants, departmental funds, and industry sponsorship.
We also plan to apply for LTF funds . Covering these
small expenses should not be an undue burden.
Staffing
Faculty are currently available to teach this course.
Equipment and Supplies
We anticipate no additional requirements for this course beyond the
computer laboratories already in existence. In particular, the NERL (robot lab) will
be used for building, modifying, and maintaining the robots, while the larger PC
lab in NSF 1207 will be used for instruction, programming, testing, and
demonstration.
Library and Reading Requirements
We expect no library component.
Effects on Other Departments
We hope this course will be made an elective for the Electronics Engineering
Technology
program. We will be communicating this to that department. This change
will likely have no effect on other departments.
Additional Course Description
Text
Mobile Robots: Inspiration to Implementation, 2nd Edition, by Joseph L. Jones, Anita M. Flynn, and Bruce A. Seiger
Objectives
Requirements
Series of written homeworks, sometimes from text, involving some robot programming, some essays, some mathematics (e.g., geometry) and some web-based research. Examples include designing the control circuit for a digital Braitenberg vehicle that avoids light, programming a microcontroller to manipulate servos, planning paths, navigating, and map- building.
Use the web, library, periodicals, manufacturers' technical assistance, other NMU faculty and students, etc. to research and document a particular capability or piece of equipment (e.g., what kind of laser rangefinders are available that can be interfaced to a laptop?). Document in a short report, to be linked to onthe web or published as a NERL (robotics lab) technical note. Present to class.
Sample Syllabus