NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING NMT EE 589 & UNM ME 482/582
Simplified drive train model of a robot joint Inertia seen by the motor Link k 1 I I D ( q) k mk 2 kk Gk Torque amplification G k k m k For high gear ration the link inertia effect is relatively small The motor can be modeled as I B K K u k m a Motor Motor Inertia where B is viscous friction, K a the scale factor from motor voltage (u) to current, and K m the torque constant U(s) K m K a I k s + B 1: Gk (s) Load Inertia Slide 2 / 16
An example of independent joint control: Consider the PUMA 560 robot Video: Puma 560 - Gravity Compensation Open Loop Slide 3 / 16
At the nominal configuration: q = [0, 45, 180, 0, 45, 0 ] The required joint torques to balance gravity [0, 31.6, 6.04, 0, 0.03, 0] (Nm) Joint torques without gravity [0, 0, 0, 0, 0, 0] (Nm) Joint torques without gravity & θ 1 = 57 /s [30.5, 0.6, -0.36, ~0, 0, 0] (Nm) Viscous Friction Coriolis & Centripetal Slide 4 / 16
A simple position control example (Puma 560 the 2 nd link) Approximate the inertia seen by the motor G 2 =107, I m2 =2X10-4, D 22 2, hence, J=3.7X10-4 1 J I D ( q) m2 2 22 G2 qdesired qactual Outer Position Loop Inner Velocity Loop Slide 5 / 16
dq/dt (rad/s) 8. Manipulator Control 8.3 Independent Joint Control Torque (Nm) Speed Control Example K v =1.5, 0.5, 1.0 1.53 2 1.8 2.5 1.5 1.61 2 1.4 1 1.5 0.5 1.2 0.5 1 Desired vs Actual Speed: K v =1.0 =1.5 =0.5 Desired Actual K v =1.0 gives a reasonable system response 0.8 0.6 0.4 0.2 Torque vs Time for Various Gain Values K v =0.5 K v =0.5 K v =1.0 K v =1.0 K v =1.5 K v =1.5 0.80 0.5 0 0.6 0-0.5 0.4-0.5-0.5 0.2-1 0 00.485 0.10.49 0.2 0.495 0.30.5 0.4 0.505 0.51 0.6 0.515 0.7 0.52 0.525 0.8 0.53 0.9 0.535 1 Time (sec) 0-0.2-0.4-0.6-0.8 0 0.5 0.1 0.2 0.520.3 0.40.54 0.5 0.6 0.56 0.7 0.8 0.58 0.9 0.6 1 Time (sec) Slide 6 / 16
G 2 (Nm) 8. Manipulator Control 8.3 Independent Joint Control Speed Control Example What about the effect of gravity? Varies with configuration! (-40 < G 2 < 40) G 2 (q) vs q 2 and q 3 50 Let s add a gravity induced disturbance torque of 20 Nm 0-50 200 100 0 q 3 (deg) -100-200 -200-100 0 q 2 (deg) 100 200 Slide 7 / 16
dq/dt (rad/s) Add a 20 Nm gravity induced disturbance Needs some integral control!! Disturbance Rejection!! 1.52 20 Nm Disturbance Torque - Desired With PI Control: vs Actual KSpeed: v =1.0, K i =10.0 v =1.0 1.51 Desired Desired Actual Actual 0.51 0.50-0.50-0.5-1 Massive (1 rad/s) steady state error!! -1.5 Ki=10 => No steady state error!! -1.5-2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Time (sec) 20 Nm 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Slide 8 / 16
The robot can be thought of as a nonlinear, coupled multi-input multi-output (MIMO) control system. Unfortunately, the n-joint variables are coupled. However, under appropriate conditions, the n-joints can be treated as independent (uncoupled) dynamic systems, for the purposes of control. Let's approximate the (assumed independent) dynamic models of each joint by the second order system: aq( t) bq( t) cq( t) ( t) ( t) (8.8) where ζ(t represents neglected aspects (i.e., coupling, friction, etc.) of the complete model. Slide 9 / 16
This term will be treated as an unknown small disturbance, and temporarily neglected. Furthermore, it is simple to scale (8.8) by a, therefore, no loss of generality occurs by letting a = 1. The model thus becomes q( t) bq( t) cq( t) ( t) (8.9) By selecting the control law ( t) q( t) q( t) u( t) (8.10) Slide 10 / 16
and applying this to equation (8.9), the closed loop system becomes q( t) ( b ) q( t) ( c ) q( t) u( t) By choice of α and β in (8.10), we can affect the behavior of the closed loop system. Let s choose α = b and β = c, which results in q( t) u( t) (8.11) This first controller of equation (8.10) basically results in a simplified relationship between the input and the output. Slide 11 / 16
Now, let s choose the input u(t to make the closed loop system follow a desired trajectory (q d say), i.e., we want lim q d (t q(t 0!! t Consider selecting the control as u( t) q ( t) k ( q ( t) q( t)) k ( q ( t) q( t)) d v d p d where, the error signal (8.12) Applying the control law of equation (8.12) to the system of equation (8.11) gives q( t) u( t) q qd kve k pe Hence, q ( t) k e( t) k e( t) d v p e( t) q ( t) q( t) d e k e k e 0 v p (8.13) Slide 12 / 16
Given that e(0 = q d (0 q(0 is typically non-zero (i.e., e(0 0), by appropriate choice of the scalars k v and k p we can make e(0) 0 fairly quickly q( t) q ( t) d Slide 13 / 16
Steady state errors may still occur due to the inclusion of the disturbance term it ζ(t previously neglected. Assume that ζ(t changes very slowly ζ 1 0 and ζ 1 0. Thus, including this effect into the error dynamics of equation (8.13), e kve k pe in steady state both e 0 and e 0, hence we have k pe( t) ( t) () t lim et ( ) lim (if ξ is approximately constant) t t k p kp Obviously, choosing a large value for k p can help minimize the steady state error. However, this may also cause the system to be undesirably sensitive!! To cope with this steady state error add an integral term into the control law of (8.12). Thus, t u( t) q ( ) ( ) ( ) ( ) (8.14) d t kve t k pe t ki e d 0 Slide 14 / 16
Inserting this controller into the error dynamics of equation (8.13), gives In steady state, both (e, e, e 0 and ζ 0, hence we have e k e k e k e e k e k e k e v p i v p i lim et ( ) 0 t ki The controller of equation (8.14) is known as a position-integral-derivative or PID controller, and the inclusion of the integral term will help enforce a zero steady state error. Slide 15 / 16
o o We can prove that these types of local control schemes actually do work, at least asymptotically. The simplest way to show this is by creating a Lyapunov function using the closed loop system resulting from the two stage control scheme described above. Slide 16 / 16