6.141/16.405J (Formerly 6.188/16.401)
Spring 2009

Robotics: Science and Systems I


Course Information
[RSS home]

Course Staff
Course Details
Resources
Syllabus & Lecture Handouts
Wiki
Acknowledgements



Challenge and Debate Info
Grand Challenge
Course Debates



Lab Information
Lab Handouts
Lab Staffing Schedule
Lab Announcements



Staff
Staff only pages (short list)


 
6.141/16.405J - RSS Basic Information

Instructors

  • Nick Roy (Carmen support)
Picture of Nick Roy
  • Daniela Rus
    • Office: 32-374
    • Phone: 258-7567
    • Office Hours: by appointment
    • E-mail: rus@csail.mit.edu
Picture of Daniela Rus
  • Seth Teller (Course Coordinator)
Picture of Seth Teller

RSS Writing Program Lecturers

  • Jennifer Craig

Teaching Assistant

Picture of Carrick Detweiler

Lab Assistants

Picture of Vinayak Ranade
Picture of Melissa Tanner
Picture of Lauren White

Course Administrators

Picture of Bryt Bradley

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

Class Meetings

  • 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 33-136 (Aero-Astro's Neumann Hangar) - Tel: (617) 452-3316 (as of Spring 2009)
    These times do not conflict with most 6.01X, 6.03X, 6.04X subjects.

Course Designations

  • 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 as such, or as an elective within the AI and Applications Engineering Concentration.
  • Engineering Design Points (EDPs): RSS I carries 8 EECS EDPs.
  • EECS Communication-Intensive Subjects in the Major (CI-M): RSS I is CI-M subject.
  • 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.

Assignments

  • You will write two or three of eight lab reports (depending on team size), due approximately every week, through the first two-thirds of the term. You will be graded on technical content for all reports, and you will be graded for communications content on those reports for which you are the "scribe", or responsible author. All lab reports are to be submitted electronically via the course website (more detail will be given in lab).

  • The field of Robotics has certain philosophical aspects to it. We will learn about this by means of class debates, which will occur during the final third of the term. A list of debate topics will be posted; you will be asked to sign up 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 as an oral/visual presentation in class.

  • The course will culminate 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 the challenge project and his or her contribution to the team's effort.

Exams

RSS I has no midterm or final exam.
RSS I has a final project due the last week of classes, and a final report due during finals week.

Grading Criteria

Subject grades are formed from a weighted average as follows:
  • Lab Reports: 30% (20% Technical, 10% Briefing)
  • Debate Performance: 10% (5% Technical, 5% Presentation)
  • Challenge design & proposal: 10% (5% Technical, 5% Writing)
  • Challenge implementation and performance: 20%
  • Challenge presentation: 10% (5% Technical, 5% Presentation)
  • Final report: 10% (5% Technical, 5% Writing)
  • Class participation: 10%
Thus technical performance accounts for roughly 70% of your final grade, and communications effectiveness accounts for the remaining 30%.

Additional policies

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 encouraged 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. We expect, however, that the text of each lab report will be solely authored by the designated team "scribe" for the lab. We do encourage scribes to share their writing with teammates, before the due date, to solicit constructive criticism.

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 you; 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.

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 course staff.

Resources

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 for $40 ($50 less 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 robotics are:

  • 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.

Programming Languages:

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 implementations.

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. Java is sufficiently similar to Ada that this should be easy if you have experience in Ada from Aero-Astro's Unified Engineering curriculum. However, if you haven't had a lot of Java exposure you might find one or more of the following books helpful:

  • 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 discussed.
  • 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 at http://java.sun.com/docs/books/jls/index.html.
  • 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.

2008 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 or 16.30); software (1.00 or 6.170 or 16.35); electronics (6.002 or 6.070 or 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:
  1. Specify the requirements for an integrated hardware and software design and implementation of an autonomous system performing a specified task;
  2. Critically evaluate choices of design and architectures;
  3. Use kinematics, control theory, state estimation and planning to implement controllers, estimators and planners that satisfy the requirements of specified tasks;
  4. Operate the system for an extended and specified time;
  5. Communicate, orally and in writing, the results of the project design process and the key aspects of the overall project (from concept to end goal).

6.141/16.405J Measurable Outcomes

Each of these outcomes corresponds to one or more deliverables in the course.
  1. An integrated hardware-software system that performs the desired task;
  2. A written design proposal that specifies and presents the integrated software and hardware design that satisfies design requirements;
  3. Lab reports and briefings that demonstrate mastery of key design skills;
  4. Development and delivery of an oral presentation suitable for a professional audience;
  5. Development and delivery of a debate that evaluates design choices and demonstrates ability to use evidence to argue for conclusions;
  6. Completion of a final report that analyzes the design and its success or failure, and reflects upon learning.

Disabilities

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 their behalf.


Back to:

Picture of Bryt Bradley
RSS-Webmaster, Britton "Bryt" Bradley
Last modified: Tue May 26 11:13:42 EDT 2009