280 likes | 329 Views
Learn about PID control theory and its application in automating systems. Explore topics such as steady-state error, overshoot, and ringing in control systems with time delay. Discover how to optimize control signals based on feedback loops and system dynamics.
E N D
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
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
Proportional error control Desired output Control Law Motor command Robot in environment • 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 Disturbances Actual output Measurement IVR 30/10/2009 Herrmann
Battery voltage VB Vehicle speed s ? Steady state error Servo control law: New process: gain=K sgoal s With steady state (ds/dt=0): Steady state error: IVR 30/10/2009 Herrmann
Battery voltage VB Vehicle speed s ? Steady state error k1is determined by the motor physics: e= k1 s Can chooseKp: to reach target want But we can’t put an infinite voltage into our motor! gain=K sgoal s IVR 30/10/2009 Herrmann
Steady state error For any sensibleKp the system will undershoot the target velocity. s sgoal t IVR 30/10/2009 Herrmann
Proportional Integral (PI) Control If we could estimate this error we could add it to the control signal: The best way to estimate it is to integrate the error over time: Obtain new control law: 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
Feedback with time delays Desired output Control Law Motor command Robot in environment • 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? Disturbances Actual output Measurement IVR 30/10/2009 Herrmann
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
A B 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 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
www.sarcos.com Auke Ijspeert: Bastian IVR 30/10/2009 Herrmann
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
θ error AmplificationK of current I Output torque T θ Second order system Need more sophisticated model for oscillations Want to move to desired postionθgoal For a DC motor on a robot joint whereJ = joint inertia, F = joint friction Proportional control: θgoal IVR 30/10/2009 Herrmann
Second order system solution For simplicity let Then the system process is • The solution to this equation has the form The system behaviour depends on J, F, Kpas follows: [May be complex] where IVR 30/10/2009 Herrmann
Over and Under Damping The system returns to the goal(critical damping) The system returns to the goal with over-damping The system returns to the goal with under-damped, sinusoidal behaviour IVR 30/10/2009 Herrmann
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 • But in practice this is not often possible IVR 30/10/2009 Herrmann
Proportional integral (PI) control • As before, we integrate the error over time, i.e. • 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
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 • Make Artificial friction: IVR 30/10/2009 Herrmann
Ki θg Torque error Kp θ Kdd/dt Combine as PID control IVR 30/10/2009 Herrmann
PID control demo Rearranging becomes (almost) solvable as: where IVR 30/10/2009 Herrmann
PID control demo II Pure proportional control with friction & inertia Overdamped, overshoot, oscillate Choosing Kp, Kd, Ki a bit tricky IVR 30/10/2009 Herrmann
PID control demo III UseKp=0.003 Add integral control Less overdamped, overshoot, oscillate IVR 30/10/2009 Herrmann
PID control demo IV Add derivative control Less overdamped, overshoot, oscillate IVR 30/10/2009 Herrmann
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
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
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
Bose suspension IVR 30/10/2009 Herrmann
Next time: Bob Fisher IVR 30/10/2009 Herrmann