Main Page
From cs54: Introduction to Robotics
Welcome! This is the webpage for CS 54, Winter 2011. The 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 the goal is always to build algorithms for robot control, planning and design. Assignments will be programming-intensive.
Due to the time limitations of a ten-week course, I will not require a final project. At the same time, the primary goal of the course is to give you the tools needed to tackle your own robotics projects, through undergraduate research grants, for a senior thesis, or in the CS88/188 class in the spring. The robotics lab is available to provide equipment and space for your projects, and I'd be very happy to talk with you about exciting research ideas.
We meet during the 2A period (Tuesdays and Thursdays) in Sudikoff 115.
Prerequisites
CS 5 or the equivalent is required. You will also need the equivalent of one term of vector calculus and one term of matrix algebra.
Contact
Professor Devin Balkcom
e-mail: myfirstname AT cs.dartmouth.edu
Office: Sudikoff 211
Taking notes
This course will introduce robotics from several viewpoints, including AI, mobile robots, kinematics and control of manipulators, and ways of studying or modeling robotic manipulation problems. For this reason there is no one particular textbook for the course. I will frequently distribute notes and materials from various sources, but this is not a substitute for taking notes in class, the old-fashioned way.
Homework submission instructions
Starting with the third assignment, I will ask you to submit all homework electronically. Electronic submission reduces the risk that I will lose your assignment, and will allow us each to have a copy of your work. Preparing a solution electronically is also good practice for writing papers and presentations.
To submit your assignment, create a folder with the name cs54_assignX_lastname_firstname, where X is the number of the assignment, and lastname and firstname are your last and first names. Put all of your files in that folder, and zip it. Then email that zip file to me as an attachment in a mail with the subject
cs54 submit assignment X
(The important thing here is the 'cs54 submit'; any email with this phrase in the title will be sorted into the submission folder by my e-mail software.)
Some of the assignments will involve mathematical equations, proofs, or figures. You can send these to me in any reasonable electronic format you prefer, but I have a few suggestions. First, figures are best drawn in a vector graphics format, rather than a bitmap. I use Adobe Illustrator, but that costs money, and you might not have it. Inkscape looks like a very promising substitute, though I have not used it extensively.
For mathematical formulas, LaTeX can't be beat. There are free distributions available for Mac, Windows, and Linux, and plenty of tutorials on the web. If you need a little help figuring out how to typeset a particular equation, I'd be happy to provide it. If you use LaTeX, please provide the source file, and I will grade and make comments directly in the source.
Expectations and grading
There will be several assignments of different types, including programming and design work, critical analysis of reading assignments, and problem sets. Not all assignments will be weighted equally, and the correlation between numerical and letter grades will depend on the overall performance of the class throughout the term. There will be a midterm exam, but no final exam.
Assignments: 80%
Midterm exam: 20%
I will grade assignments out of a maximum possible score of 20, with a "default" value of 10. This means that if you did everything asked of you reasonably correctly and without any major errors, you will get a score of 10. If you go beyond the requirements or turn in particularly excellent solutions, you may score more than 10 points, and if the quality of your solutions is less than great, you will score fewer than 10 points. An average homework score of 10 would roughly correspond to a B for an undergrad, or a "pass" for a graduate student.
If you have a legitimate reason to miss a class, please let me know at least one week in advance. Please show up for class on time, and read the assigned reading materials before the class.
Honor code
We take academic honesty very seriously, and the Dartmouth Academic Honor Principle applies. You may discuss homework with other students at a high level, but should never look at or copy another student's written work. You should never under any circumstances turn in homework that is a duplication or partial duplication of another student's solution. You must also credit other students you have talked with, or any other sources. You may NOT discuss exam problems with other students, until all exams have been graded and returned.
