Brief Course Description

This course will be a mathematical introduction to important algorithms in robotics and perception. We will study some or all of the following topics:

  1. Kinematics/zero-order control
    • Representation of rotation
    • Manipulator forward kinematics
    • Manipulator differential kinematics
    • Cartesian end-effector control
  2. Planning, Control
    • Sample-based planning methods (RRT, PRM)
    • Trajectory optimization, Newton's method, Sequential Quadratic Programming
    • Markov Decision Processes
    • Linear optimal control (LQR, TVLQR)
  3. Filtering, Localization, and Mapping
    • Kalman filter, EKF, Kalman smoothing
    • Occupancy grids
    • SLAM algorithms
    • Loop closure
  4. Perception, Computer Vision
    • RANSAC, ICP (iterative closest point)
    • Linear filtering
    • Feature representations
    • Object recognition; category recognition

The course schedule is subject to change. See the schedule tab above.


We will use several different texts in this course. All will be available online for free download EXCEPT for Robot Modeling and Control, by Mark W. Spong, Seth Hutchinson, M. Vidyasagar. You should buy this book.


There are no formal pre-requisites, but it will be very important for you to have a working knowledge of discrete math and probability.

Academic Integrity

Cheating and other acts of academic dishonesty will be referred to OSCCR (office of student conduct and conflict resolution). See this link.

Lateness Policy

Late assignments will be penalized by 10% for each day late. For example, if you turned in a perfect homework assignment two days late, you would receive an 80% instead of 100%.

Instruction Staff

Primary Instructor: Robert Platt ( r [dot] platt [at] neu [dot] edu )
Office hours: Fridays, 11-12, 208B West Village H, or by Appt.

Office hours: NA



Work Load

Required course work includes:

  • 4 Programming assignments (55% of your grade)
  • 2 Homework assignments (15% of your grade)
  • 1 Final project (30% of your grade)

Programming assignments

There will be four programming assignments. All programming assignments must be completed using Python or Matlab and are due on the day indicated on the schedule.

Homework assignments

There will be two written homework assignments due on the day indicated on the schedule.

Final project

Students must complete a final project. The amount of project work should be equivalent to approximately two programming assignments. If they want, students my work in pairs. See schedule for due dates.