Introductory Control Theory I400/B659: Intelligent robotics Kris Hauser
Control Theory The use of feedback to regulate a signal Controller Plant Desired signal x d Signal x Control input u Error e = x-x d (By convention, x d = 0) x = f(x,u)
What might we be interested in? Controls engineering Produce a policy u(x,t), given a description of the plant, that achieves good performance Verifying theoretical properties Convergence, stability, optimality of a given policy u(x,t)
Agenda PID control Feedforward + feedback control Control is a huge topic, and we wont dive into much detail
Model-free vs model-based Two general philosophies: Model-free: do not require a dynamics model to be provided Model-based: do use a dynamics model during computation Model-free methods: Simpler Tend to require much more manual tuning to perform well Model-based methods: Can achieve good performance (optimal w.r.t. some cost function) Are more complicated to implement Require reasonably good models (system-specific knowledge) Calibration: build a model using measurements before behaving Adaptive control: learn parameters of the model online from sensors
PID control Proportional-Integral-Derivative controller A workhorse of 1D control systems Model-free
Proportional term u(t) = -K p x(t) Negative sign assumes control acts in the same direction as x x t Gain
Integral term x t Residual steady-state errors driven asymptotically to 0 Integral gain
Instability For a 2 nd order system (momentum), P control x t Divergence
Derivative term u(t) = -K p x(t) – K d x(t) x Derivative gain
Putting it all together
Parameter tuning
Example: Damped Harmonic Oscillator Second order time invariant linear system, PID controller x(t) = A x(t) + B x(t) + C + D u(x,x,t) For what starting conditions, gains is this stable and convergent?
Stability and Convergence System is stable if errors stay bounded System is convergent if errors -> 0
Example: Damped Harmonic Oscillator x = A x + B x + C + D u(x,x) PID controller u = -K p x –K d x – K i I x = (A-DK p ) x + (B-DK d ) x + C - D K i I Assume K i =0…
Homogenous solution Instable if A-DK p > 0 Natural frequency 0 = sqrt(DK p -A) Damping ratio =(DK d -B)/2 0 If > 1, overdamped If < 1, underdamped (oscillates)
Example: Trajectory following x des (t) x(t)
Controller Tuning Workflow Hypothesize a control policy Analysis: Assume a model Assume disturbances to be handled Test performance either through mathematical analysis, or through simulation Go back and redesign control policy Mathematical techniques give you more insight to improve redesign, but require more work
Example
Feedforward control If we know a model for a system and know how it should move, why dont we just compute the correct control? Ex: damped harmonic oscillator x = A x + B x + C + D u Calculate a trajectory x(t) leading to x(T)=0 at some point T Compute its 1 st and 2 nd derivatives x(t), x(t) Solve for u(t) = 1/D*(x(t) - A x(t) + B x(t) + C) Would be perfect!
Feedforward control If we know a model for a system and know how it should move, why dont we just compute the correct control? Ex: damped harmonic oscillator x = A x + B x + C + D u Calculate a trajectory x(t) leading to x(T)=0 at some point T Compute its 1 st and 2 nd derivatives x(t), x(t) Solve for u(t) = 1/D*(x(t) - A x(t) + B x(t) + C) Problems Control limits: trajectory must be planned with knowledge of control constraints Disturbances and modeling errors: open loop control leads to errors not converging to 0
Handling errors: feedforward + feedback Idea: combine feedforward control u ff with feedback control u fb e.g., u fb computed with PID control Feedback term doesnt have to work as hard (= 0 ideally) Plant u ff Feedforward calculation x(0) + u fb Feedback controller u x(t) x des
Application: Feedforward control Feedback control: let torques be a function of the current error between actual and desired configuration Problem: heavy arms require strong torques, requiring a stiff system Stiff systems become unstable relatively quickly
Application: Feedforward control Solution: include feedforward torques to reduce reliance on feedback Estimate the torques that would compensate for gravity and achieve desired accelerations (inverse dynamics), send those torques to the motors
Handling errors: feedforward + feedback Idea: combine feedforward control u ff with feedback control u fb e.g., u fb computed with PID control Feedback term doesnt have to work as hard (= 0 ideally) Plant u ff Feedforward calculation x(0) + u fb Feedback controller u x(t) x des Model based Model free
Model predictive control (MPC) Idea: repeatedly compute feedforward control using model of the dynamics In other words, rapid replanning Plant Feedforward calculation u=u ff x(t) x des
MPC to avoid moving obstacles
Next class: Sphero Lab You will design a feedback controller for the move command