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
Overview:
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.
Textbook:
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:
- A more detailed treatment of the material from our lectures on Control can be found here: K.J. Astrom and R.M. Murray, Feedback Systems: An Introduction for Scientists and Engineers, Princeton University Press, 2008.
- A more detailed treatment of the material from our lectures on Kinematics and Dynamics can be found here: M.W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and Control, John Wiley and Sons, Inc., 2006.
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 1 | 20% |
Exam 2 | 20% |
Schedule
Time: Mondays and Wednesdays 9:30am-10:50am
Date | Format | Topics |
---|---|---|
08/28 | Lecture 0 | Overview |
08/30 | Lecture 1 | State Space Systems: State-space models; numerical integration |
09/04 | Labor Day | No Class |
09/06 | Lecture 2 | State Space Systems: MATLAB tutorial; equilibrium points; stability; stability analysis for linear systems |
09/11 | Lecture 3 | Linear State Feedback: Linearization; Controllability; eigenvalue placement |
09/13 | Lecture 4 | Linear State Feedback: Complex plane intuition; LQR; tracking controllers |
09/18 | Lecture 5 | Classical Control: LTI systems; transfer functions; state space realizations |
09/20 | Lecture 6 | Classical Control: Block diagrams; stability; step response for second order systems |
09/25 | Lecture 7 | Classical Control: Design of poles and zeros; root locus; PID control |
09/27 | Lecture 8 | Linear State Observer: PID tuning; observability; observer design; discrete-time state systems |
10/02 | Lecture 9 | Kalman Filter: Multivariate Gaussian distribution; Kalman filter |
10/04 | Lecture 10 | Bayes Filter: Extended Kalman filter; conditional probability; Bayes filter |
10/09 | Lecture 11 | Review 1 |
10/11 | Exam 1 | |
10/16 | Fall Break | No Class |
10/18 | Fall Break | No Class |
10/23 | Lecture 12 | Particle Filter: Formulation and examples |
10/25 | Lecture 13 | SLAM: Definition; EKF SLAM; GraphSLAM; FastSLAM |
10/30 | Lecture 14 | Foundations of Manipulation: Manipulator modeling; task, joint, and configuration space; rotation matrices |
11/01 | Lecture 15 | Homogeneous Transformation: Rotation transformation; other rotation representations; basic displacements; composing displacements |
11/06 | Lecture 16 | Forward Kinematics: Using geometry and trigonometry on simple examples; Denavit-Hartenberg convention; DH Example |
11/08 | Lecture 17 | Inverse Kinematics: Setting up the problem; kinematic decoupling; numerical approach |
11/13 | Lecture 18 | Velocity Kinematics: Angular velocity; building Jacobians in SE(3); examples |
11/15 | Lecture 19 | Velocity Kinematics: Tool velocity; analytical Jacobian; singularities; inverse velocity |
11/20 | Lecture 20 | Euler Lagrange Dynamics: EL equations; planar example |
11/22 | Thanksgiving Break | No Class |
11/27 | Lecture 21 | Euler Lagrange Dynamics: Inertia tensor and kinetic energy; n-link manipulator cookbook method |
11/29 | Lecture 23 | Review 2 |
12/04 | Lecture 22 | Robotic Manipulator Control: Independent PID control, gravity compensation, inverse dynamics control |
12/06 | Exam 2 |