Transcript Control
IVR:Control Theory OVERVIEW Control problems Kinematics Examples of control in a physical system A simple approach to kinematic control 20/10/2009 IVR Herrmann The control problem Goal Motor command Action Robot in environment Outcome • For given motor commands, what is the outcome? → Forward model • For a desired outcome, what are the motor commands? → Inverse model • From observing the outcome, how should we adjust the motor commands to achieve a goal? → Feedback control 20/10/2009 IVR Herrmann The control problem command V(t) T(t) C(t) A(t) X(t) voltage torque force angle position • Forward kinematics is not trivial but usually possible • Forward dynamics is hard and at best will be approximate • But what we actually need is backwards kinematics and dynamics Difficult! 20/10/2009 IVR Herrmann camera Inverse model V(t) T(t) C(t) A(t) X(t) Find motor command given desired outcome Solution might not exist Non-linearity of the forward transform Ill-posed problems in redundant systems Robustness, stability, efficiency, ... Partial solution and their composition 20/10/2009 IVR Herrmann Problem: Non-linearity • In general, we have good formal methods for linear systems • Reminder: F(x) Linear function: F ( x) a bx x F ( x1 x2 ) F ( x1 ) F ( x2 ) • In general, most robot systems are non-linear 20/10/2009 IVR Herrmann Kinematic (motion) models • Differentiating the geometric model provides a motion model (hence sometimes these terms are used interchangeably) • This may sometimes be a method for obtaining linearity (i.e. by looking at position change in the limit of very small changes) 20/10/2009 IVR Herrmann Example: A simple arm model r = (x,y) y l φ x 0 x = l cos φ y = l sin φ φ = atan2(x,y) Differential Equations Using known relations between quantities and their rate of change in order to find out how these quantities change • Mathematics: Equation that is to be solved for an unknown function • Physics: Description of processes in nature • Engineering: Realizability of a goal by a plant by including control terms • Informatics: Tool for realistic modeling 20/10/2009 IVR Herrmann dx t f x t dt xt0 x0 Differential Equations dx (t ) x (t ) a x(t ) dt t t0 t 1 1 dxdx (t ' )(t ) dt 'a a dt ' x (tx' )(t ) dt 'dt t0 x t 1 x t a dt0' 0 a(t t0 ) xx(dx log log ' | log x log log x't|0x)0' at t0xat x' x 0 x ( t0 ) t0 x(t ) x0 expa(t t0 ) a0 a0 20/10/2009 IVR fast growth starting from initial value x(t0)=x0 decay with time scale -1/a=τ Herrmann Dynamic models • Kinematic models neglect forces: motor torques, inertia, friction, gravity… • To control a system, we need to understand the continuous process • Now: An Example for control of a physically realistic model • Next: A simple example of control 20/10/2009 IVR Herrmann Dynamic models • Kinematic models neglect forces: motor torques, inertia, friction, gravity… • To control a system, we need to understand the continuous process • Start with simple linear example: IR Battery voltage Vehicle speed ? VB 20/10/2009 IVR Herrmann VB s e Example: Electric motor • Ohm’s law & Kirchhoff's law • Motor generates voltage: proportional to speed • Vehicle acceleration: (M is a motor constant) • Torque t is proportional to current: • Putting together: M ds VB R k1s k2 dt 20/10/2009 IVR Herrmann VB I R e e k1s ds t dt M t k2 I General form M ds VB k1s R k2 dt ds V B B As dt VB – Control variable – input s – State variable – output A+Bd/dt – Process dynamics Dynamics determines the process, given an initial state s(t0)=s0. • State variable s(t) separates past and future • Continuous process models are often differential equations! • • • • 20/10/2009 IVR Herrmann Process Characteristics Given the process, how to describe the behaviour? M ds VB k1s R k2 dt Concise, complete, implicit, obscure… Characteristics: Steady-state: What happens if we wait for the system to settle, given a fixed input? Transient behaviour: What happens if we suddenly change the input? Frequency response: What if we smoothly/regularly change the inputs? 20/10/2009 IVR Herrmann Control theory Control theory provides tools: M ds VB k1s R k2 dt • Steady-state: ds/dt = 0, VB VB k1s so s k1 • Transient behaviour (e.g. change in voltage from 0 to 7V) exponential decay towards steady state VB using z s ) (Solve for z s k1 • Half-life of decay: 20/10/2009 IVR Herrmann MR t1 0.7 2 k1k2 Steady - state: t , VB so s k1 VB k1s 1 VB Halflife: solvefor t when s 2 k1 1 1 e 2 k1k2 1 t ln MR 2 MR t 0.7 k1k2 20/10/2009 IVR k1k 2 t MR Herrmann VB s k1 kk 1 2t 1 e MR Example Suppose: ds V 7s20 B dt k1 MR M: vehicle mass R: setting k2 • If robot starts at rest, and apply 7 volts: VB 1 s 1 m s • Steady state speed k1 • Half-life: MR 20 t 1 0.7 0.7 2s 2 k1k2 7 Time taken to cover half the gap between current and steady-state speed 20/10/2009 IVR Herrmann Motor with gears Battery voltage VB ? smotor Gear ratio g where more gear-teeth near output means g > 1 sout smotor= g sout : for g > 1, output velocity is slower torquemotor= g -1 torqueout : for g > 1, output torque is higher Thus: MR ds VB g k1 s g k2 dt Same form, different steady-state, time-constant etc. 20/10/2009 IVR Herrmann Motor with gears • Steady-state: • Half-life: VB s g k1 MR t1 0.7 2 2 g k1k2 i.e. for γ > 1, reach lower speed in faster time, robot is more responsive, though slower. N.B. we have modified the dynamics by altering the robot morphology. 20/10/2009 IVR Herrmann Electric Motor Over Time Simple dynamic example – We have a process model: Battery voltage MR ds V k s B 1 k 2 dt Solve to get forward model: • Derivation of this and more general cases using e.g. Laplace transformation Herrmann v IR VB IVR ? VB V k k B 1 2 s 1 exp( t ) k MR 1 20/10/2009 Vehicle speed e A fairly simple control algorithm Compensator High-frequency oscillator Control of the compensator characteristics Addition Compensator in order to determine the effector characteristics Effector High pass filter N. Wiener: Cybernetics, 1948 20/10/2009 IVR Herrmann A Simple Controller dx f (x ) System: x dt System + Controller: a simple choice for the controller: K ( x, c) ci xi i a simple choice for prediction: xpred = xold What if there is no analytical description of the system? Stabilizing controller for box pushing or wall-following more complex behaviors for more complex predictors 20/10/2009 IVR Herrmann A Simple Controller How to find better parameters ci in K = Σ ci xi ? cexpl= c + a sin(w t) Δc = < E(t) sin (w t) > short-term average Perform “test actions” at both sides of the trajectory works best in 1D (e.g. for steering) 20/10/2009 IVR Herrmann Summary Forward and inverse models Calculating control is hard … but not impossible for many control problems Controlling by probing Feed back control (next time) 20/10/2009 IVR Herrmann Beyond Inverse Models Feed-back control Dynamical systems Adaptive control Learning control 1788 by James Watt following a suggestion from Matthew Boulton 20/10/2009 IVR Herrmann