Report

Introductory Control Theory I400/B659: Intelligent robotics Kris Hauser Control Theory • The use of feedback to regulate a signal Desired signal xd Controller Control input u Signal x Plant Error e = x-xd (By convention, xd = 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 won’t 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 Gain • u(t) = -Kp x(t) • Negative sign assumes control acts in the same direction as x x t Integral term Integral gain • u(t) = -Kp x(t) - Ki I(t) • I(t) = 0 (accumulation of errors) x t Residual steady-state errors driven asymptotically to 0 Instability • For a 2nd order system (momentum), P control Divergence x t Derivative term Derivative gain • u(t) = -Kp x(t) – Kd x’(t) x Putting it all together • u(t) = -Kp x(t) - Ki I(t) - Kd x’(t) • I(t) = 0 Putting it all together • u(t) = -Kp x(t) - Ki I(t) - Kd x’(t) • I(t) = 0 • Intuition: • Kp controls the “spring stiffness” • Ki controls the “learning rate” • Kd controls the damping Putting it all together • u(t) = -Kp x(t) - Ki I(t) - Kd x’(t) • I(t) = 0 • Intuition: • Kp controls the “spring stiffness” • Kd controls the amount of damping • Ki controls the “learning rate” • Control limits • If u is bounded in range [umin,umax], need to: 1. Clamp u 2. Bound the magnitude of the I term to prevent overshoot 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 = -Kp x –Kd x’ – Ki I x’’ = (A-DKp) x + (B-DKd) x’ + C - D Ki I Assume Ki=0… Homogenous solution • • • • • Instable if A-DKp > 0 Natural frequency w0 = sqrt(DKp-A) Damping ratio z=(DKd-B)/2w0 If z > 1, overdamped If z < 1, underdamped (oscillates) Example: Trajectory following • Say a trajectory xdes(t) has been designed • E.g., a rocket’s ascent, a steering path for a car, a plane’s landing • Apply PID control • u(t) = Kp (xdes(t)- x(t)) - Ki I(t) + Kd (x’des(t)-x’(t)) • I(t) = 0 − • The designer of xdes needs to be knowledgeable about the controller’s behavior! x(t) xdes(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 don’t 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 1st and 2nd 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 don’t 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 1st and 2nd 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 uff with feedback control ufb • e.g., ufb computed with PID control • Feedback term doesn’t have to “work” as hard (= 0 ideally) x(0) Feedforward calculation uff + u ufb xdes Plant Feedback controller x(t) 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 uff with feedback control ufb • e.g., ufb computed with PID control • Feedback term doesn’t have to “work” as hard (= 0 ideally) x(0) Feedforward calculation uff + u ufb Model based xdes Model free Plant Feedback controller x(t) Model predictive control (MPC) • Idea: repeatedly compute feedforward control using model of the dynamics • In other words, rapid replanning Feedforward calculation u=uff Plant xdes x(t) MPC to avoid moving obstacles Next class: Sphero Lab • You will design a feedback controller for the “move” command