Course Description: This class focuses on the kinematics, dynamics and programming of robotic mechanisms. The fundamental techniques apply to robotic arms, mobile robots, active sensor platforms and other computer-controlled kinematic linkages. Arms are the primary application, and we will study 2D and 3D concepts using motors from Hebi Robotics.  

Prerequisites: 15122 or 16311 or 24311 or 21241 or 18202

Lectures are held twice a week for 1.5 hours on Tuesdays and Thursdays 9.00 AM - 10.30 AM,  in NSH 1507 for the first two classes.  Starting next week, the class will be held in GHC 4303 for the rest of the semester.

Lecture videos are a supplementary method for acquiring knowledge. In general, these videos are a constant work in progress, and we are always open to taking feedback on how to improve them. Powerpoint slides accompany each video and may be freely downloaded. Occasionally we may also link supplementary notes and videos as well.

Problem sets are individual and assigned weekly and consist of a mix of mathematical and contextual questions, as well as programming assignments in Matlab. Each assignment is intended to review and strengthen your knowledge of the material learned during the week and must be completed individually. Programming may involve simulations using Robotics Toolbox.  Each problem set consists of three parts: theory, Matlab, and a program for the robot. Homework 0 is worth 5% and remaining homeworks are worth 8% of your final grade for a total of 45%.  There are 6 problem sets in this course.  In general, problem sets will be assigned at the end of Tuesday morning's class and will be due on Thursday (next week) by 11:59pm. Please refer to course schedule for details and up to date schedule.

Capstone is mandatory and worth 25% of your final grade.  It will involve most skills and tools that you develop in the course through homeworks, lectures, labs and exams. 


Open Learning Initiative (OLI) is a supplementary website designed to help you fully grasp the material in this course.  Completing the exercises on the site is worth 5% of your final grade.  Low-stakes exercises can be completed at any time and as often as you like during the duration of the course prior to the final exam. There are due dates for high-stakes quizzes in the second half of the course, but solutions can be reviewed after submission.  To gauge your base knowledge before the course, we are requiring a pre-test to be taken.  In addition, you have up until 7pm the night before class to complete the week's corresponding OLI module, however we will be grading it solely upon effort.  

Midterm is worth 10% of your final grade.  It is required, cumulative, and designed to test you on your knowledge of the course thus far.

Final Exam is worth 15% of your final grade.  It is required, cumulative, and designed to test you on your knowledge of the course thus far.

Homework Submission and Grading Policy

Written homework should be submitted to Gradescope under the 16384 course.  Programming assignments should be submitted to Autolab.  You will be able to view your total grades for a problem set on Autolab and detailed comments on the written portions on Gradescope.  Both portions of an assignment are due at 11:59 PM EST on the day specified in the course schedule.  If either portion is submitted past the deadline, you will receive an automatic F for the course!  All homework must be typed and submitted (hand-written assignments will receive a 0!).  Grading is subject to delays due to the number of students enrolled.   

Late Hand-in Policy

There are no late days offered for this course due to its scheduling, rigor, and demos.  Students who hand in assignments past the deadline will receive an automatic F for the course!  If you would like further information or if you have any questions or concerns, please speak with the instructors.

Regrade Requests

If you believe that your homework has been graded in error, please privately post to piazza or speak with one of the TAs in their office hours.  

Questions or Concerns

Please post questions or concerns to the piazza course page.  Refrain from making a post private unless the post is personal (e.g. about your grades, homework, etc.).  If you need help setting up OLI, Piazza, Autolab, or Gradescope account please see the TAs in any office hour.  

Collaboration Policy

Students in 16-384 are encouraged to discuss problems with each other, TAs, the instructor(s), or anyone else about course assignments.  Any assistance, however, should be limited to the discussion of the problems and sketching general approaches to a solution.  Programming portions and write-ups must be written and coded individually.  Consulting another student's completed or semi-completed solution is prohibited and submitted solutions may not be copied from any source.  These and any other form of collaboration on assignments constitute cheating.  If you have any questions about whether some activity would constitute cheating, be cautious and ask the instructors before proceeding.

You may not supply code, assignment write-ups, or exams you complete during 16-384 to other students in future instances of this course or make these items available (e.g. on the web) for use in future instances of this course.  You may also not use the work completed by students who have previously taken the course.  If you are using a public source control host like github, ensure that the repository is private