Resources and Roadmap for Control Theory
A Blog on resources and roadmap for control theory.
Robot kinematics and dynamics
Courses
-
Introduction to Robotics by Oussama Khatib: robotics foundations in kinematics, dynamics and control
- The purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems
- In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control
Books for reference
- A Mathematical Introduction to Robotic Manipulation - Richard M. Murray, CalTech
- Robot Dynamics Lecture Notes - Robotic Systems Lab, ETH Zurich
- Nonlinear dynamics and Chaos by Steven Strogatz: This is a gem of a book. Not focused on robotic systems but the underlying concepts are universal
Control Theory
Classical Control
-
Classical Control Theory by Brian Douglas. Why this lecture series? : This collection of videos is intended to supplement a first-year controls class, not replace it. Here the goal will be to take specific concepts in controls and expand on them to provide an intuitive understanding which will ultimately make one a better controls engineer. Let’s take an example of a system that we want to control, say a simple pendulum (the most basic example), suppose we want the pendulum to go upright and stay there, well how do we achieve that? The most basic approach is using the knowledge from control systems to make it stay upright and be able to handle external disturbances for robustness.
-
Control Bootcamp by Steve Brunton. Series info : This course provides a rapid overview of optimal control (controllability, observability, LQR, Kalman filter, etc.). It is not meant to be an exhaustive treatment, but instead provides a high-level overview of some of the main approaches, applied to simple examples in Matlab.
Note: For beginners, It is recommended to first go through Brian Douglas (till video 27) course before starting Steve Brunton’s course.
- Control of Mobile Robots by Dr. Magnus Egerstedt. For whom ?: Whoever wants to explore the field of Control Theory, Motion, or path planning should surely have a look at this course to get a basic overview. This course will focus more on differential drive robots. What’s good about this course ?: It is fairly different from the general long lectured continuous courses, it maintains a very good balance between theory and its implementation. The concepts are explained excellently using some elegant analogies. Course info: Course focuses on the problem of establishing control over a robot with the pursuit of making it move safely and optimally. The course covers the classic PID control and its applications in controlling a differential drive robot and then moves on to cover few concepts from the Classical Control Theory which helps span principles and fundamentals applicable for control of almost all types of dynamical systems.
Advanced
Note: the focus of these courses is on math and algorithms. You will not study mechanical or electrical design of robots
- Underactuated Robotics by Russ Tedrake [textbook] [videos]: Algorithms for Walking, Running, Swimming, Flying, and Manipulation
- This course introduces nonlinear dynamics and control of underactuated mechanical systems, with an emphasis on computational methods
- Topics include the nonlinear dynamics of robotic manipulators, applied optimal and robust control and motion planning
- Discussions include examples from biology and applications to legged locomotion, compliant manipulation, underwater robots, and flying machines
- Main topics covered Dynamic Programming, LQR, Lyapunov Analysis, Trajectory Optimization, Model Predictive Control, Motion Planning as Search, Pixels to Torques, Robust and Stochastic Control to State Estimation, Reinforcement Learning and few other
-
Advanced Robotics by Peiter Abbeel: (optional, only for more conceptual understanding and depth)
- Learn the math and algorithms underneath state-of-the-art robotic systems
- The majority of these techniques are heavily based on optimization and probabilistic reasoning — both areas with wide applicability in modern Artificial Intelligence.
- An intended side-effect of the course is to generally strengthen your expertise in these areas
- Be able to understand research papers in the field of robotics:
- Main conferences: ICRA, IROS, RSS, CoRL, ISER, ISRR
- Main journals: IJRR, T-RO, Autonomous Robots
- Main topics covered: MDPs, Discretization of Continuous State Space MDPs, Function Approximation / Feature-based Representations, LQR, iterative LQR / Differential Dynamic Programming, Unconstrained Optimization, Constrained Optimization, Optimization-based Control: Collocation, Shooting, MPC, Contact-Invariant Optimization, Motion Planning: RRT, PRM, Trajopt, 3-d poses, Probability Review, Bayes Filters, Multivariate Gaussians, Kalman Filtering, EKF, UKF, Smoother, MAP, Maximum Likelihood, EM, KF parameter estimation, Particle Filters, POMDPs, Imitation Learning, Policy Gradients, Off-policy RL, Model-based RL, Physics simulators working, Sim2Real and few other
- Learn the math and algorithms underneath state-of-the-art robotic systems
Specific Control Methods
PID control
- Understanding PID control from MATLAB.
Sliding Mode Control
- Lecture by Sarah Spurgeon.
Adaptive Control
- Non-Linear & Adaptive Control (Nptel) lecture by Dr. Shubendu Bhasin.
Pure Pursuit controller
Books for Reference
- Robotics Modeling, Planning, and Controls By Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo.
- Modern Control Engineering by Kastukio Ogota.
- Sliding Mode Control by Christopher Edwards and Sarah Spurgeon.
- Non-Linear and adaptive control by Zhengato Din. (Good explanation of Backstepping).
Libraries, Tools and Frameworks
- ROS
- Matlab & Simulink (For Windows)
- CasADi
- Python Control Systems package
- C++ control toolbox
- Drake
- OpenAI Gym (Some environments will need to be modified to implement control algorithms)
Some Interesting Repositories to check out
- Python - Robotic Algorithms
- Robotics Planning, Dynamics and Control
- MATLAB - Trajectory Optimization
- TOWR (Trajectory Optimization Library for legged Robots)