16642: Manipulation, Estimation, and Control
Robotics Institute, Carnegie Mellon University, Fall 2024
Last update: 10-22-2024
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 [second edition], Princeton University Press, 2021.
- A more detailed treatment of the material from our lectures on Estimation can be found here: S. Thrun, W. Burgard and D. Fox. Probabilistic Robotics, Intelligent Robotics and Autonomous Agents series, 2005.
- 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/26 | Lecture 0 | Overview and Matrix Algebra Refresher |
08/28 | Lecture 1 | State Space Systems: State-space models; numerical integration |
09/02 | Labor Day | No Class |
09/04 | Lecture 2 | State Space Systems: MATLAB tutorial; equilibrium points; stability; |
09/09 | Lecture 3 | Linear State Feedback: Stability analysis; linearization; |
09/11 | Lecture 4 | Linear State Feedback: Controllability; linear-state feedback; eigenvalue placement |
09/16 | Lecture 5 | Linear State Feedback: LQR; tracking controllers; state observer |
09/18 | Lecture 6 | Classical Control: LTI system; transfer functions |
09/23 | Lecture 7 | Classical Control: State-space realizations; block diagrams; stability |
09/25 | Lecture 8 | Classical Control: Step response for second-order systems; Design of poles and zeros |
09/30 | Lecture 9 | PID: Root locus; PID control; PID tuning |
10/02 | Lecture 10 | Estimation Basics: Intuition; Discrete-time systems; Multivariate Gaussian distribution |
10/07 | Lecture 11 | Review 1 |
10/09 | Exam 1 | |
10/14 | Fall Break | No Class |
10/16 | Fall Break | No Class |
10/21 | Lecture 12 | Kalman Filter: Kalman filter; Extended Kalman filter |
10/23 | Lecture 13 | Bayes Filter and Particle Filter: Conditional probability; Bayes filter; Particle filter |
10/28 | Lecture 14 | SLAM: Formulation and examples |
10/30 | Lecture 15 | Foundations of Manipulation: Manipulator modeling; task, joint, and configuration space; rotation matrices |
11/04 | Lecture 16 | Homogeneous Transformation: Rotation transformation; other rotation representations; basic displacements; composing displacements |
11/06 | Lecture 17 | Forward Kinematics: Using geometry and trigonometry on simple examples; Denavit-Hartenberg convention; DH Example |
11/11 | Lecture 18 | Inverse Kinematics: Setting up the problem; kinematic decoupling; numerical approach |
11/13 | Lecture 19 | Velocity Kinematics: Angular velocity; building Jacobians in SE(3); examples |
11/18 | Lecture 20 | Velocity Kinematics: Tool velocity; analytical Jacobian; singularities; inverse velocity |
11/20 | Lecture 21 | Euler Lagrange Dynamics: EL equations; planar example; Inertia tensor and kinetic energy; n-link manipulator cookbook method |
11/25 | Lecture 22 | Robotic Manipulator Control: Independent PID control, gravity compensation, inverse dynamics control |
11/27 | Thanksgiving Break | No Class |
12/02 | Lecture 23 | Review 2 |
12/04 | Exam 2 |