- Seth Teller (Course Coordinator)
- Office: 32-333
- Phone: 258-7885
- Office Hours: by appointment
- E-mail: teller AT mit.edu
- Una-May O'Reilly (lab tzarina)
RSS Writing Program Lecturers
- Mary Caulfield
- Office: 12-113 & 12-117
- Phone: 617-324-2494 & 617-253-3039
- Office Hours: by appointment
- E-mail: mcaulf AT mit DOT edu
Syllabus / Course Schedule
You can see the full syllabus & course schedule by following
the Syllabus & Lecture Handouts
link in the left-hand menu.
Course Help Outside Lab Hours
- Lectures: Mon and Wed (and occasional Fri) 1:00 pm - 2:00 pm in Room 32-155
- Labs: Mon and Wed 3:00 pm - 5:00 pm in 38-530
These times do not conflict with most 6.01X, 6.03X, 6.04X subjects.
Lab Space and Stockroom Availability
- Lab Space (38-530): Open Monday through Thursday, 9:00am-11:45pm; Friday, 9:00am-5:15pm; and Sunday, 1:00pm-11:45pm.
The 38-530 lab area is also open by arrangement with the course staff.
- Hours of the EECS Stockroom (38-501): Monday through Friday, 9:00am-5:00pm
- Units: 12, 2-6-4 (Lectures: 2; Labs: 6; Out-of-class: 4)
- Institute Lab Classification: RSS I is now an Undergraduate Institute Lab.
- EECS Department Lab: RSS I is also an EECS Department Lab and can be used to satisfy the Department Laboratory requirement in Course 6-1, 6-2, and 6-3. See http://www.eecs.mit.edu/ug/NC-MEng_checklist1-2_09-15-09.pdf for more information.
- EECS Communication-Intensive Subjects in the Major (CI-M): RSS I is a CI-M subject in Courses 6-1, 6-2, and 6-3.
- Aero-Astro Communication-Intensive Subjects in the Major (CI-M): Aero-Astro students can petition to have RSS I counted towards their CI-M requirement as an elective PAS in Course 16.
- Engineering Design Points (EDPs): RSS I carries 12 EECS EDPs.
- 6.UAP: RSS I can be petitioned for use to satisfy 6.UAP.
- The class has seven lab exercises during
the first nine weeks of the term. Teams will
post data, plots, screenshots, photos, videos
and descriptive prose to the RSS wiki for each
lab. Teams will also give a short technical
briefing on each lab to the RSS staff,
usually during lab hours on the day the lab
is due. RSS staff will also come to each
team's area to see the team's robot operating.
- The field of Robotics has ethical and
philosophical aspects to it. We will learn
about this by means of class debates, which
will occur during the latter part of the term.
A list of debate topics will be posted; you
will be asked to sign up in small teams for
the "pro" or "con" position for one topic
You will research and prepare an argument
in support of your position, and deliver
your argument in class.
- The class culminates in a final
"Challenge" project. The deliverables for
the challenge project consist of a team
challenge proposal, a team implementation,
a team presentation and demonstration, and
an individual final report. Each challenge
proposal, written as a team, frames the
team's attack on the posed design problem.
The implementation is the delivered
hardware and software produced by the
students over the challenge period. The
presentation and demonstration consist of
the students describing their approach to
the challenge, demonstrating the operation
of their implemented design, and discussing
its performance. The final report is
written individually, and consists of each
student's reflections on his or her growth
through the term, on the challenge
project, and on his or her contribution to the
RSS I has no midterm or final exam.
RSS I has a final project demonstrated during
the last week of class,
and a reflective report due on the last day of the classes.
Subject grades are formed from a weighted average as follows:
Each of the components above incorporates both
technical performance and communications effectiveness.
- Lab Quality, Wiki, Briefings: 35%
- Team Challenge Design & Proposal: 10%
- Challenge implementation and performance: 30%
- Debate Performance: 10%
- Participation in Lecture and Lab: 5%
- Initial ideas and Reflective Report: 10%
Late work will receive no credit, except
under extraordinary circumstances
(e.g. severe illness), and with written
support from your undergraduate advisor or
one of the counseling Deans.
Collaboration is essential for all
assignments. Within teams, teamwork is an
absolute necessity, and we expect that teams
will work together to generate the technical
content of each lab report and briefing.
Across teams, we encourage collaboration and
discussion. However, we explicitly forbid
the appropriation of code, data, plots, or
writing across teams, even with modifications
or paraphrasing. In other words, any writing
included in a lab report, proposal, or final
report must be authored by your team; any data or
plots must come from your team. You must
also explicitly credit any collaborators.
The correct model is to discuss solution
strategies, credit your collaborator(s), and
write your solutions individually or as a
team depending on the assignment.
For the final project, full collaboration
within the team on all aspects of the
challenge is encouraged. Every member of the
team will be expected to contribute a roughly
equal share to the design, implementation and
presentation of the challenge.
Should you require any clarification of the
policies above, contact a member of the
The course textbook is Introduction to
Autonomous Mobile Robots (Intelligent
Robotics and Autonomous Agents) by
Roland Siegwart, Illah R. Nourbakhsh. This
book is available at MIT Press in Kendall
Square, at a 20% student discount.
In addition, there will be occasional
readings distributed in the form of course
notes and papers.
Some other excellent books you should
consider for your reference library on
- Robot Motion Planning, Latombe, Kluwer Academic Publishers.
- Mobile Robots, Inspiration to Implementation, Jones & Flynn, A. K. Peters.
- Artificial Intelligence, A Modern Approach Russel & Norvig, Prentice Hall.
- Behavior-Based Robotics, Arkin, MIT Press, 1998.
- Robotic Explorations, Martin, Prentice Hall.
- Computational Principles of Mobile Robotics, Dudek and Jekin, Cambridge University Press.
Robots can be programmed in many different languages. In this
class, we require that you submit your assignments in Java, and
we will provide assistance only for Java-based
Additionally, we support only the Linux operating system in RSS.
We will not provide assistance with the problem sets or the
project in anything other than Java running on Linux. If you
choose to use something other than the supported flavors of Java
and Linux, you are responsible for generating correct, real-time
behavior on your robot.
You will need to understand the Java syntax by the end of the
first week. If you haven't had a lot of
Java exposure you might find one or more of the following books
- David Flanagan. Java in a Nutshell, 4th
edition, O'Reilly, 2002. A reference book rather than a
tutorial. Succinct but covers a lot. Assumes knowledge
of a language like C. Details at http://www.oreilly.com/catalog/javanut4/.
- Joshua Bloch. Effective Java: Programming
Language Guide, Addison-Wesley, 2001. The Bloch book
explains, in about 60 short items, some key ideas in
program style, as well as some subtleties of Java; it's
perhaps better appreciated when you have some familiarity
with Java and want to delve deeper. Both books are
available at Quantum Books.
- Ivor Horton. Beginning Java 2 - JDK 1.4
Edition, Wrox Press, 2002. Tutorial introduction to all
parts of Java, including user interface libraries. No
knowledge of other languages is assumed.
- Ken Arnold, James Gosling, and David Holmes. The
Java Programming Language, 3rd edition,
Addison-Wesley, 2000. A brief explanation of Java.
Assumes more background; much less explanation about how
to use Java's features. User interface libraries not
- James Goslin, Bill Joy, and Guy Steele. The Java
Language Specification. The official reference for
Java by its inventors. Good for reference, but not an
easy way to learn Java. Available as a book, or online
- Bruce Eckel. Thinking in Java, 3rd edition,
Prentice-Hall, 2002. Also available on-line at
Mindview.net (but don't try printing it yourself - it's
over 1000 pages long!). Written for someone who can
already program but isn't familiar with Java or
object-oriented programming notions. Goes into lots of
detail on tricky aspects like GUIs, multithreading, and
remote method invocation.
MIT Subject Catalog Description
Presents concepts, principles, and algorithms for
computation and action in the physical world. Topics
covered are: motion planning; geometric reasoning;
kinematics and dynamics; state estimation; tracking; map
building; manipulation; human-robot interaction; fault
diagnosis; and embedded system development. Students
specify and design a small scale yet complex robot
capable of real-time interaction with the natural
world. Students may continue content in 6.142. Prior
knowledge of one or more of the following areas would be
useful: control (2.004, 6.302, or 16.30); software (1.00, 6.005,
or 16.35); electronics (6.002, 6.070, 6.111, or
6.115); mechanical engineering (2.007); or independent
experience such as MasLAB, 6.270 or a relevant
UROP. Enrollment limited. 12 Engineering Design Points.
6.141/16.405J Learning Objectives:
Students completing 6.141/16.405J will be able to:
- Specify the requirements for an integrated
hardware and software design and implementation of an
autonomous system performing a specified task;
- Critically evaluate choices of design and
- Use kinematics, control theory, state
estimation and planning to implement controllers,
estimators and planners that satisfy the requirements
of specified tasks;
- Operate the system for an extended and
- Communicate, orally and in writing, the
results of the project design process and the key
aspects of the overall project (from concept to end
6.141/16.405J Measurable Outcomes
Each of these outcomes corresponds to one or more
deliverables in the course.
- An integrated hardware-software system that performs the desired task;
- A written design proposal that specifies and presents the integrated software and hardware design that satisfies design requirements;
- Lab reports and briefings that demonstrate mastery of key design skills;
- Development and delivery of an oral presentation suitable for a professional audience;
- Development and delivery of a debate that evaluates design choices and demonstrates ability to use evidence to argue for conclusions;
- Completion of a final report that analyzes the design and its success or failure, and reflects upon learning.
We encourage students with disabilities, including "invisible"
disabilities such as chronic diseases and learning disabilities, to
discuss with us any appropriate accommodations that we might make on