Personal tools

Syllabus

Document Actions
  • Send this
  • Print this
  • Content View
  • S5 Presentation
  • Bookmarks

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

Course Objectives

    This project course is a hands-on introduction to robotics. You will be introduced to the basic concepts in robotics, focusing on the mechanics and electronics principles behind building robots and on the classic algorithms, architectures, and theories behind controlling and programming robots. Topics include: motion planning, geometric reasoning, kinematics and dynamics, state estimation, tracking, map building, manipulation, human-robot interaction, fault diagnosis and embedded system development. You will build a robot in teams using a robot building kit. This robot will be used to implement the algorithms discussed in class in the context of the course challenge task.

    Lecture and lab attendance is mandatory. The challenge solutions will be demoed during the last laboratory.

    You will build your robots in teams. Each group will design and implement the hardware and software for their robot. All robots will have to be able to execute the same challenge task.

      Prerequisites

      This course has no formal prerequisites other than a facility with computers and programming, some exposure to algorithms and formal methods, and a desire to build robots. Permission of the instructor is required. A course in mechanical design and construction is helpful but not necessary.

      Robotics: Science and Systems I is a prerequisite for Robotics: Science and Systems II. We encourage Mechanical Engineering students to enroll but advise them that they will have to petition to use these credits to fulfill ME degree requirements.

      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, AddisonWesley, 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 betterappreciated 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.

      Required Textbook

      Introduction to Autonomous Mobile Robots (Intelligent Robotics and Autonomous Agents) by Roland Siegwart, Illah R. Nourbakhsh

      Other Reading

      In addition there will be reading distributed in the form of course notes and papers. You have to read all the materials you will receive in the course. Here are some other relevant books:

       

      • 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

      Grading

      Component Percentage
      Final Paper
      5%
      Class Participation
      5% 
      Challenge presentation
      10%
      Written Lab Reports
      35%
      Debate Performance
      10%
      Challenge proposal
      10%
      Challenge design
      10%
      Challenge implementation and performance
      10%

      The table above includes sample data. Edit the table as befits the class being worked on.

      Copyright 2007, by the Contributing Authors. Cite/attribute Resource. Rus, D., Roy, N., Teller, S. (2007, October 29). Syllabus. Retrieved January 05, 2009, from RoboticsCourseWare.org Web site: http://roboticscourseware.org/fullcourses/mit-csail-robotics-science-and-systems/syllabus. This work is licensed under a Creative Commons License. Creative Commons License