Learning Path: Control Theory & Robotics
Control Theory & Robotics Learning Path
A 16-week advanced path through nonlinear control, optimal control, and geometric mechanics.
Overview
This path deepens control theory expertise. Start here if you have: - Strong linear algebra and differential equations background - Some control theory experience (linear systems, state space) - Interest in nonlinear dynamics and trajectory optimization
Total Time: 120–160 hours | Difficulty: Advanced | Prerequisites: Linear control theory, multivariable calculus, ODEs
Module 1: Nonlinear Dynamics Deep Dive
Weeks 1–2 | 12–15 hours
What You’ll Learn
- Bifurcation theory and limit cycles
- Stability analysis: Lyapunov theory
- Input-output stability and passivity
Reading
- Strogatz, “Nonlinear Dynamics and Chaos” Chapters 3–8
- Focus: Bifurcations, limit cycles, strange attractors
- Time: 6–8 hours reading + 4–6 hours problems
- Khalil, “Nonlinear Systems” Chapters 1–4 (advanced)
- Focus: Lyapunov stability, invariant manifolds
- Time: 4–6 hours (denser, more rigorous)
Practice
- Analyze bifurcations in Van der Pol oscillator and other systems
- Prove stability using Lyapunov functions
- Numerical analysis: bifurcation diagrams in MATLAB/Python
- 8–10 problem sets on phase space analysis
Key Concepts
- ✓ Bifurcations and their types
- ✓ Limit cycles and periodic orbits
- ✓ Lyapunov functions and stability
- ✓ Invariant manifolds
Module 2: Linear Control Theory (Advanced)
Weeks 3–4 | 10–12 hours
What You’ll Learn
- State space analysis and canonical forms
- Controllability and observability
- Linear quadratic control (LQR)
- H-infinity and robust control concepts
Reading
- Åström & Murray, “Feedback Systems” Chapters 6–10
- Time: 5–7 hours reading + 3–4 hours problems
- Skelton, “Dynamic Systems Control” Chapter on LQR
- Or: Boyd & Vandenberghe, “Introduction to Applied Linear Algebra” (optional)
Practice
- Compute controllability and observability for 5 systems
- Design LQR controllers for multi-DOF systems
- MATLAB/Python: pole placement, observer design
- 6–8 problem sets
Key Concepts
- ✓ Controllability and stabilizability
- ✓ Observability and detectability
- ✓ LQR and Riccati equations
- ✓ Kalman filtering and state estimation
Module 3: Nonlinear Control Theory
Weeks 5–6 | 14–16 hours
What You’ll Learn
- Input-state linearization (exact feedback linearization)
- Control Lyapunov functions
- Backstepping design
- Passivity-based control
Reading
- Khalil, “Nonlinear Systems” Chapters 5–7
- Focus: Input-output linearization, feedback linearization, cascade systems
- Time: 8–10 hours reading + 4–6 hours problems
- Isidori, “Nonlinear Control Systems” Chapter 1–2 (if you want more rigor)
- Alternative: Khalil is sufficient
Practice
- Design feedback linearizing controllers for 3–4 underactuated systems
- Control Lyapunov function design
- Stability analysis proofs
- 8–10 problem sets including cascade stabilization
Key Concepts
- ✓ Lie brackets and relative degree
- ✓ Input-output linearization conditions
- ✓ Feedback linearization and normal form
- ✓ Cascade and backstepping design
Module 4: Differential Flatness
Weeks 7–8 | 12–14 hours
What You’ll Learn
- Differential flatness and flat systems
- Planning in flat coordinates
- Trajectory generation for underactuated systems
Reading
- Russ Tedrake, “Underactuated Robotics” Chapters 4–5
- Focus: Differential flatness, trajectory optimization
- Time: 6–8 hours reading + 4–6 hours problems
- Free online: https://underactuated.csail.mit.edu/
- Isidori, sections on differential flatness
- Alternative: Search papers (Murray et al. “Flat Systems”, Fliess et al.)
Practice
- Verify flatness for acrobat, cart-pole, and other systems
- Plan trajectories in flat coordinates
- Boundary condition computation
- 6–8 problem sets on flatness verification and planning
Key Concepts
- ✓ Flat outputs and differential flatness
- ✓ Lie derivatives and output computation
- ✓ Flatness for underactuated systems
- ✓ Trajectory planning in flat coordinates
Module 5: Geometric Mechanics & Affine Control
Weeks 9–10 | 14–16 hours
What You’ll Learn
- Riemannian geometry for control systems
- Control-affine systems and their structure
- Geometric control and input vector fields
- Moment maps and symmetries
Reading
- AffineDrift Volume I: Tangent-Space Methods Chapters 1–3
- Focus: Tangent space linearization, contraction theory, affine structure
- Time: 8–10 hours reading + 4–6 hours problem exploration
- Murray, Li, & Sastry, “Mathematical Introduction to Robotic Manipulation” Chapters 2–4
- Focus: Screw theory, twists, wrenches, and affine structure
- Time: 6–8 hours reading + 3–5 hours problems
Practice
- Compute tangent space mappings for 4–5 systems
- Verify contraction properties using metrics
- Screw theory calculations (twists, wrenches, Plücker coordinates)
- 8–10 problem sets on geometric control
Key Concepts
- ✓ Control-affine systems and their properties
- ✓ Tangent space and linearization without coordinates
- ✓ Contraction stability and metrics
- ✓ Screw theory and geometric mechanics
Module 6: Trajectory Optimization
Weeks 11–12 | 12–14 hours
What You’ll Learn
- Pontryagin’s maximum principle
- Direct and indirect methods
- DDP (Differential Dynamic Programming)
- Collocation and pseudospectral methods
Reading
- Tedrake, “Underactuated Robotics” Chapters 5–6
- Focus: Dynamic programming, trajectory optimization
- Time: 6–8 hours reading + 3–4 hours problems
- Boyd & Vandenberghe, “Convex Optimization” Chapter 1–2 (for optimization foundations)
- Optional: For deeper optimization theory
Practice
- Implement gradient descent trajectory optimization
- Use direct methods: minimum-time, minimum-energy problems
- DDP implementation in Drake/Pydrake
- 6–8 problem sets on trajectory optimization
Key Concepts
- ✓ Pontryagin’s maximum principle
- ✓ HJB equations and value functions
- ✓ Gradient-based trajectory optimization
- ✓ Differential dynamic programming
Module 7: Stability & Contraction Theory
Weeks 13–14 | 12–14 hours
What You’ll Learn
- Contraction mapping theory
- Metric-based stability analysis
- Incremental stability and robustness
- Applications to feedback design
Reading
- AffineDrift Volume I: Tangent-Space Methods Chapters 4–5
- Focus: Contraction theory, Lyapunov relationships, global properties
- Time: 6–8 hours reading + 4–6 hours exploration
- Lohmiller & Slotine, “Contraction Analysis” papers
- Key: “On Contraction Analysis…” and related papers
- Time: 4–5 hours
Practice
- Verify contraction for nonlinear systems
- Find contracting metrics for 5–6 systems
- Compare contraction with Lyapunov stability
- Proofs of global convergence using contraction
- 8–10 problem sets
Key Concepts
- ✓ Contraction mapping and fixed-point theorems
- ✓ Riemannian metrics and contracting metrics
- ✓ Incremental stability
- ✓ Global properties from local analysis
Module 8: Applications & Integration
Weeks 15–16 | 10–12 hours
What You’ll Learn
- Integration of all concepts to real systems
- Case studies: humanoid robots, aerial vehicles, manipulators
- Implementation in simulation (Drake, PyBullet, MuJoCo)
- Bridging to biomechanics applications
Reading
- Tedrake, “Underactuated Robotics” selected chapters on applications
- Time: 3–4 hours reading
- AffineDrift Articles: The Physics of Golf (case study application)
- Time: 4–6 hours reading + analysis
- Shows how control theory applies to real systems
Practice
- Implement a full controller for a 6-DOF arm (forward/inverse kinematics, control, trajectory planning)
- Simulate in Drake: humanoid walking, ball throwing, or golf swing
- Analyze sensitivity and robustness
- 4–6 implementation projects
Key Concepts
- ✓ Integration of kinematics, dynamics, control, planning
- ✓ Real-world constraints and computational limits
- ✓ Simulation verification and validation
- ✓ From theory to practice
What’s Next?
After completing this path, you’re ready to:
- Read AffineDrift Volumes II & IV:
- Volume II: Control Is Motion (applies to high-dimensional systems)
- Volume IV: Human Motor Control (neural implementations)
- Explore advanced topics:
- Geometric mechanics (symplectic integrators, energy-momentum integrators)
- Machine learning for control (neural networks, reinforcement learning)
- Distributed and networked control
- Implement and research:
- Build controllers for real robots
- Publish in control theory venues
- Contribute to open-source robotics
- Bridge to applications:
- Biomechanics & Motor Control — Neural implementations
- Golf Science — Application to golf
Resource Quick Links
| Topic | Best Resource | Time | Format |
|---|---|---|---|
| Nonlinear Dynamics | Strogatz “Chaos” | 10–14 hrs | Textbook |
| Linear Control | Åström & Murray “Feedback” | 8–10 hrs | Textbook |
| Nonlinear Control | Khalil “Nonlinear Systems” | 8–10 hrs | Textbook |
| Differential Flatness | Tedrake “Underactuated” | 6–8 hrs | Online |
| Geometric Mechanics | AffineDrift Vol I + Murray et al. | 12–15 hrs | Mixed |
| Trajectory Optimization | Tedrake “Underactuated” + Boyd | 10–12 hrs | Mixed |
| Contraction Theory | AffineDrift Vol I + Lohmiller & Slotine | 10–12 hrs | Mixed |
Recommended Reading Order Flowchart
Module 1: Nonlinear Dynamics
↓
Module 2: Linear Control (foundation review)
↓
Module 3: Nonlinear Control
↓
Module 4: Differential Flatness
↓
Modules 5–6 (parallel): Geometric Mechanics + Trajectory Optimization
↓
Module 7: Stability & Contraction
↓
Module 8: Applications & Integration
↓
AffineDrift Volumes II & IV (advanced applications)
Recommended Daily Schedule
Weeks 1–2: Nonlinear Dynamics
- Reading: 2–3 hours/day (Strogatz)
- Problems: 3–4 hours/day
- Total: 12 hours/week
Weeks 3–4: Linear Control
- Reading: 2–3 hours/day
- Problems: 2–3 hours/day
- Matlab/Python: 1–2 hours/day
- Total: 11 hours/week
Weeks 5–6: Nonlinear Control
- Reading: 3 hours/day (Khalil is dense)
- Problems: 3–4 hours/day
- Total: 14 hours/week
Weeks 7–8: Differential Flatness
- Reading: 2–3 hours/day
- Problems: 2–3 hours/day
- Verification: 1–2 hours/day
- Total: 13 hours/week
Weeks 9–10: Geometric Mechanics
- Reading: 3–4 hours/day (two books, some repetition helps)
- Problems: 3–4 hours/day
- Total: 14 hours/week
Weeks 11–12: Trajectory Optimization
- Reading: 2–3 hours/day
- Implementation: 4–5 hours/day
- Total: 12 hours/week
Weeks 13–14: Contraction Theory
- Reading: 2–3 hours/day
- Proofs: 3–4 hours/day
- Total: 13 hours/week
Weeks 15–16: Applications
- Reading/Studying: 2 hours/day
- Implementation: 5–6 hours/day
- Total: 11 hours/week
Total: ~120–160 hours over 16 weeks (8–10 hours/week)
Common Challenges
“Khalil’s Notation Is Dense”
Solution: Read Khalil’s chapters alongside AffineDrift Volume I. They use different notation—seeing both helps.
“Contraction Theory Seems Disconnected From Lyapunov”
Solution: They’re not. Read Khalil Chapter 4 (Lyapunov) first, then AffineDrift Chapter 4 shows the connection.
“I Can’t Verify Flatness for My System”
Solution: Write down the governing equations, compute gradients of the flat output systematically. If stuck, check Tedrake’s examples.
“Trajectory Optimization Is Slow”
Solution: Start with coarse discretization, then refine. Use warm-starting from previous solutions. Profile the code.
Success Check
By the end of this path, you should be able to:
- ✓ Analyze stability of nonlinear systems using multiple methods (Lyapunov, contraction, bifurcation)
- ✓ Design a feedback linearizing controller for a nonlinear system
- ✓ Verify differential flatness and plan trajectories in flat coordinates
- ✓ Understand and apply screw theory to robot kinematics
- ✓ Solve trajectory optimization problems (minimum-time, minimum-energy)
- ✓ Implement control strategies in simulation and on real hardware
- ✓ Read and understand papers in top control theory venues
Next Steps
- Start Module 1 this week: Begin Strogatz chapters 3–4
- Set up tools: MATLAB, Python (scipy, Drake, PyDrake), Jupyter
- Join the control theory community: Collaborate
- Work through examples: AffineDrift articles and Tedrake notebooks
- Build projects: Implement controllers on real or simulated robots
FAQ
Q: Should I do this path if I already have control systems background?
A: Yes! This path goes deeper into nonlinear systems and geometric mechanics that you may not have covered. Start at Module 3 if you’re strong in linear control.
Q: How does this relate to AffineDrift?
A: This path teaches you the mathematical language and tools AffineDrift uses. You’ll be able to read and understand all volumes after completing this path.
Q: What software should I use?
A: MATLAB for classical control, Python (Drake/PyDrake) for modern robotics, PyBullet for simulation. AffineDrift examples use these tools.
Feedback & Customization
- Want more theory? Add Isidori, classical differential geometry texts
- Want more applications? Increase weeks 11–16, focus on implementation
- Want faster pace? Some paths do this in 10–12 weeks if you have very strong background
Happy learning! 🤖