16642: Manipulation, Estimation, and Control

Robotics Institute, Carnegie Mellon University, Fall 2024

Last update: 2-11-2024

More details can be found in course canvas.

Course Introduction


This course provides an overview of the current techniques that allow robots to move around, interact with the world, and keep track of where they are. The kinematics and dynamics of electromechanical systems will be covered with a particular focus on their application to robotic arms. Some basic principles of robot control will be discussed, ranging from independent-joint PID tracking to coupled computed torque approaches. State estimation techniques including the Kalman filter will be covered, especially as they are used in solving common problems faced in robotics applications.


There is no assigned textbook for this class. However, there are some books that you might find useful as reference material for various parts of the class:

Prerequisite knowledge:

There are no formal prerequisites for this class. Informally, a year of calculus, a year of programming, and familiarity with matrix algebra will greatly increase your chances of success in this class. Also helpful, but not required, is a course on classical mechanics.

Course Activities and Grading

Problem sets (4)60%
Exam 120%
Exam 220%


08/26Lecture 0Overview
08/28Lecture 1State Space Systems: State-space models; numerical integration
09/02Labor DayNo Class
09/04Lecture 2State Space Systems: MATLAB tutorial; equilibrium points; stability; stability analysis for linear systems
09/09Lecture 3Linear State Feedback: Linearization; Controllability; eigenvalue placement
09/11Lecture 4Linear State Feedback: Complex plane intuition; LQR; tracking controllers
09/16Lecture 5Classical Control: LTI systems; transfer functions; state space realizations
09/18Lecture 6Classical Control: Block diagrams; stability; step response for second order systems
09/23Lecture 7Classical Control: Design of poles and zeros; root locus; PID control
09/25Lecture 8Linear State Observer: PID tuning; observability; observer design; discrete-time state systems
09/30Lecture 9Kalman Filter: Multivariate Gaussian distribution; Kalman filter
10/02Lecture 10Bayes Filter: Extended Kalman filter; conditional probability; Bayes filter
10/07Lecture 11Review 1
10/09Exam 1 
10/14Fall BreakNo Class
10/16Fall BreakNo Class
10/21Lecture 12Particle Filter: Formulation and examples
10/23Lecture 13SLAM: Definition; EKF SLAM; GraphSLAM; FastSLAM
10/28Lecture 14Foundations of Manipulation: Manipulator modeling; task, joint, and configuration space; rotation matrices
10/30Lecture 15Homogeneous Transformation: Rotation transformation; other rotation representations; basic displacements; composing displacements
11/04Lecture 16Forward Kinematics: Using geometry and trigonometry on simple examples; Denavit-Hartenberg convention; DH Example
11/06Lecture 17Inverse Kinematics: Setting up the problem; kinematic decoupling; numerical approach
11/11Lecture 18Velocity Kinematics: Angular velocity; building Jacobians in SE(3); examples
11/13Lecture 19Velocity Kinematics: Tool velocity; analytical Jacobian; singularities; inverse velocity
11/18Lecture 20Euler Lagrange Dynamics: EL equations; planar example
11/20Lecture 21Euler Lagrange Dynamics: Inertia tensor and kinetic energy; n-link manipulator cookbook method
11/25Lecture 22Robotic Manipulator Control: Independent PID control, gravity compensation, inverse dynamics control
11/27Thanksgiving BreakNo Class
12/02Lecture 23Review 2
12/04Exam 2