16642: Manipulation, Estimation, and Control

Robotics Institute, Carnegie Mellon University, Fall 2023

Last update: 12-10-2023

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