Syllabus

Course description

This course will help you gain the skills needed to understand and contribute to robotics research. The focus is on the motion and programming of robotics mechanisms. Topics will include configuration space planning, kinematics, contact mechanics, dynamics, control, and simulation.

Many lectures will have the feel of a mathematics or physics lecture, but we will read several research papers that show examples of how algorithms for robot control, planning, and design can be developed from the mathematical foundations covered in lecture. You will also have the chance to tackle a term-long research project in a small group. At the end of the term, you will write a research paper on this project, and present the paper to the class in a conference format.

Contact

Professor Devin Balkcom
e-mail: devin AT cs.dartmouth.edu
Office: Sudikoff 211
Office hours: 11 am MWF

Schedule

There will be a standard lecture on Mondays and Wednesdays at 10 am. We will meet at noon on Thursdays (during our x-hour) to discuss the reading for the week; this will be informal and you are welcome to bring lunch. On Fridays we will have informal project discussions. All meetings will be in Sudikoff 214.

Here is a broad outline of the course:

Week Topic Lectures Reading
1 Mechanisms Introduction, Mechanisms
2 Configuration space Configuration space Minsky
3 Rigid bodies Rigid bodies
4 Kinematics Kinematics, Differential Kinematics
5 Motion Planning Graph search, Motion planning LaValle and Kuffner
6 Grasping Grasping
7 Dynamics Dynamics Baraff
8 Contact mechanics Contact mechanics LMT

Online lecture notes

There are good textbooks available, and I'll recommend a few during the first lecture as supplemental reading. However, it can be useful to have a succinct set of notes that is closer to what we actually cover, so I am putting together a collection on online notes. These notes are very much a work in progress.

The notes are not a substitute for taking your own notes during lecture. Sometimes there will be geometric concepts explained without a figure; in some places the notes will be no more than a sparse outline. Wherever possible, the notes link to the outside world; definitions or pages on wikipedia or mathworld, robotics companies, and other places of interest on the web. I expect you to click on all the links, and possibly work deeper from there.

Expectations and grading

We have only ten weeks together in this class. It can be easy to fall behind on projects-based courses. To prevent this, there will be strict grade penalties for missing a course meeting or making insufficient progress on your project. I will also ask you to schedule specific hours in the lab for working on your project.

Each week you will be responsible for

  • Attending lectures and meetings. If you are late for class by 5 minutes or more, you will lose one point from your grade. If you do not attend a class (without a darned-good reason, and prior notice) you will lose three points from your grade.
  • Progress on your research project. You will need to schedule eight hours in the lab per week, and sign in using the attendance log in the lab. On Fridays, you will give a brief informal presentation about the progress you have made, and describe your plans for the next week. Every two weeks I will ask you to revise your schedule for the project to make sure it matches your current progress.
  • One paper review. I expect it will take about two hours to read the paper, and another half an hour or so to write a brief discussion of the paper.
  • One short assignment. In order to make sure you are keeping up with lectures, I will assign a few homework problems each week. I do not expect these to take more than a few hours.

The points will be allocated as follows:

Weekly project progress: 25%
Paper reviews and discussion: 25%
Homework: 25%
Final paper: 25%

You will not earn points for attending lecture, but you will lose points if you do not attend, or are not punctual.

Prerequisites

  • The equivalent of one term of calculus.
  • The equivalent of one term of basic matrix algebra.
  • Familiarity with at least one programming language, equivalent to CS 5.

Honor code

I take academic honesty very seriously. Please read the Dartmouth Academic Honor Principle. Here are some additional guidelines for this course.

Homework. You must complete homework assignments on your own, and you should never under any circumstances turn in homework that is a duplication or partial duplication of another student's solution.

Project. You are allowed to work in teams on your project, and you may use any libraries or other code you like, so long as you respect the copyright restrictions and carefully attribute work that is not your own. You may also discuss the project with anyone you like, as long as you acknowledge useful input or ideas.

Attendance logs. There will be an attendance log to record your hours spent in the lab. Inaccurate logs of time spent would be a violation of the honor code. The time logged should accurately reflect time actually spent working on your project; it would be an honor code violation to record three hours spent working on the project, if one of those hours was spent in the lab working on homework for another class or surfing the web.

This course will help you gain the skills needed to understand and contribute to robotics research. The focus is on the motion and programming of robotics mechanisms. Topics will include configuration space planning, kinematics, contact mechanics, dynamics, control, and simulation.

Many lectures will have the feel of a mathematics or physics lecture, but we will read several research papers that show examples of how algorithms for robot control, planning, and design can be developed from the mathematical foundations covered in lecture. You will also have the chance to tackle a term-long research project in a small group. At the end of the term, you will write a research paper on this project, and present the paper to the class in a conference format.

FERPA, privacy, and the web

FERPA regulations limit what information about students can be distributed. This web page provides a forum for class discussion, and I will also ask you to write a web page about your final project. It would be unethical and probably illegal for me to require you to publish your forum interactions or web page publicly on the web.

Therefore, I do not require you to use the forums in any way — although there is a section to submit paper discussions, for example, you may instead choose to hand that work to me directly. The same is true for the web page development — although you must develop the page, you are not required to distribute it. Furthermore, the forums are password protected, and on a separate page. Please feel free to talk to me about privacy issues at any time.

Having said that, I'm excited about the possibilities the forum and web page offer. If you do decide to make use of the forum or publish your project results on the web, I recommend that you be as professional as possible. For example, u should use Correct capitalization punctuation & speling.

page_revision: 84, last_edited: 1238606423|%e %b %Y, %H:%M %Z (%O ago)