Transcript Control 1
IVR: Control Theory Overview: • PID control • Steady-state error and the integral method • Overshoot and ringing in system with time delay • Overshoot and ringing in second order systems • The derivative method IVR 30/10/2009 Herrmann 1 PID control • P = Proportional error • I = Integral • D = Derivative A standard and very useful method for augmenting simple feedback control E.g. used in - wheel position/speed control in the Khepera IVR 30/10/2009 Herrmann 2 Proportional error control Desired output Control Law Actual output Motor command Robot in environment Disturbances Measurement • Same as servo, i.e. using a control signal proportional to the difference between the actual (measured) output and the desired (target) output. • I.e. want to make large change when error is large, small change if error is small IVR 30/10/2009 Herrmann 3 Steady state error Servo control law: Battery voltage VB K p (sgoal s) VB New process: K p sgoal MR ds ( K p k1 ) s k2 dt s gain=K sgoal s With steady state (ds/dt=0): s Steady state error: sgoal s sgoal ? K p sgoal Vehicle speed K p k1 K p sgoal K p k1 K p sgoal k1sgoal K p sgoal K p k1 k1 sgoal K p k1 IVR 30/10/2009 Herrmann 4 Steady state error Battery voltage k1 sgoal s sgoal K p k1 VB ? Vehicle speed s gain=K sgoal s k1 is determined by the motor physics: e= k1 s Can choose Kp: to reach target want K p But we can’t put an infinite voltage into our motor! IVR 30/10/2009 Herrmann 5 Steady state error For any sensible Kp the system will undershoot the target velocity. s sgoal t IVR 30/10/2009 Herrmann 6 Proportional Integral (PI) Control If we could estimate this error we could add it to the control signal: VB K p (sgoal s) The best way to estimate it is to integrate the error over time: ( sgoal s)dt Obtain new control law: VB K p ( sgoal s ) K i ( sgoal s )dt Basically, this sums some fraction of the error until the error is reduced to zero. With careful choice of Kp and Ki this can eliminate the steady state error. IVR 30/10/2009 Herrmann 7 Feedback with time delays Desired output Control Law Actual output Motor command Robot in environment Disturbances Measurement • Imagine trying to move a robot to some zero position with the simple control law: – If xt < -δ move forward at 1cm/second, – If xt > δ move backward at 1cm/second, – If -δ < xt < δ stop • What happens if there is a 1 second delay in feedback? IVR 30/10/2009 Herrmann 8 Feedback with time delays • In general, a time-lag in a feedback loop will result in overshoot and oscillation. • Depending on the dynamics, the oscillation could fade out, continue or increase. • Sometimes we want oscillation, e.g. CPG IVR 30/10/2009 Herrmann 9 Central Pattern Generators • Many movements in animals, and robots, are rhythmic, e.g. walking • Rather than explicitly controlling position, can exploit an oscillatory process, e.g. If A is tonically active, it will excite B A B When B becomes active it inhibits A When A is inhibited, it stops exciting B When B is inactive it stops inhibiting A IVR 30/10/2009 Herrmann 10 www.sarcos.com Auke Ijspeert: Bastian IVR 30/10/2009 Herrmann 11 Feedback with time delays • In general, a time-lag in a feedback loop will result in overshoot and oscillation. • Depending on the dynamics, the oscillation could fade out, continue or increase. • Sometimes we want oscillation, e.g. CPG • Note that integration introduces a time delay. • Time delays are equivalent to energy storage e.g. inertia will cause similar effects. IVR 30/10/2009 Herrmann 12 Second order system Need more sophisticated model for oscillations θgoal error Amplification K of current I Output torque T θ θ Want to move to desired postion θgoal 2 d d For a DC motor on a robot joint T J F dt dt where J = joint inertia, F = joint friction Proportional control: T K p (goal ) IVR 30/10/2009 Herrmann 13 Second order system solution g 0 For simplicity let d d Then the system process is K p ( g ) J F dt dt • The solution to this equation has the form e F 2J t c1e t 2 2 c2 e F 2 4K p where 2 J J t 2 [May be complex] The system behaviour depends on J, F, Kp as follows: IVR 30/10/2009 Herrmann 14 Over and Under Damping e F2 F2 F2 4K p 4K p 4K p F t 2J c1e t 2 c2 e t 2 F 2 4K p 2 J J J The system returns to the goal e (critical damping) J The system returns to the goal with over-damping J The system returns to the goal with under-damped, sinusoidal behaviour IVR 30/10/2009 Herrmann F 2J t 15 Steady state error – Load Droop • If the system has to hold a load against gravity, it requires a constant torque • But P controller cannot do this without error, as torque is proportional to error (so, needs some error) • If we knew the load L could use T L K p • But in practice this is not often possible IVR 30/10/2009 Herrmann 16 Proportional integral (PI) control • As before, we integrate the error over time, i.e. L Ki goal t dt t 0 • Effectively this gradually increases L until it produces enough torque to compensate for the load • PI copes with Load Droop IVR 30/10/2009 Herrmann 17 Proportional derivative (PD) control • Commonly, inertia is large and friction small • Consequently the system overshoots, reverses the error and control signal, overshoots again… • To actively brake the motion, we want to apply negative torque when error is small and velocity high 2 d d d • Make T K p ( g ) K d J F dt Artificial friction: dt dt d 2 d K p ( g ) J F K d dt dt IVR 30/10/2009 Herrmann 18 Combine as PID control d (t ) T (t ) K p g t K d K i g t dt dt t0 t Ki θg error Kp Torque θ Kdd/dt IVR 30/10/2009 Herrmann 19 PID control demo d (t ) T (t ) K p g t K d K i g t dt dt t0 t d 2 d T (t ) J 2 F dt dt Rearranging becomes (almost) solvable as: b c d 0 b ( F Kd ) / J , c K p / J , where t d [ Ki ( g )dt K p g ] / J 0 IVR 30/10/2009 Herrmann 20 PID control demo II Pure proportional control g 5.5 with friction & inertia Overdamped, overshoot, oscillate Choosing Kp, Kd, Ki a bit tricky IVR 30/10/2009 Herrmann 21 PID control demo III Use Kp=0.003 Add integral control Less overdamped, overshoot, oscillate IVR 30/10/2009 Herrmann 22 PID control demo IV Add derivative control Less overdamped, overshoot, oscillate IVR 30/10/2009 Herrmann 23 PID control demo V Goal: track oscillating goal position (red) Original Kp=0.003 gain lags, undershoots Kp=0.006 ok, but lags. Kp=0.03 tracks better but overshoots IVR 30/10/2009 Herrmann 24 Limitations of PID control • Tuning: largely empirical e.g. by Ziegler– Nichols method • Delays: Combine with Feedforward • Non-linearities: gain scheduling, multi-point controller, fuzzy logic • Noise: D-term particularly sensitive: use low-pass filter (May cancel out D → PI) • Often PI or PD is sufficient IVR 30/10/2009 Herrmann 25 Further reading: Most standard control textbooks discuss PID control. For the research on robot juggling see: Rizzi, A.A. & Koditschek, D.E. (1994) Further progress in robot juggling: Solvable mirror laws. IEEE International Conference on Robotics and Automation 2935-2940 S. Schaal and C.G. Atkeson. Open Loop Stable Control Strategies for Robot Juggling. In Proc. IEEE Conf. Robotics and Automation, pages 913 -- 918, Atlanta, Georgia, 1993. CPGs are used in many more recent examples of walking robots. IVR 30/10/2009 Herrmann 26 Bose suspension IVR 30/10/2009 Herrmann 27 Next time: Bob Fisher IVR 30/10/2009 Herrmann 28