ADAPTIVE RAPID TRACKING BY A 3 DOF ROBOT MANIPULATOR by Qu Jing B.S.E., Nanjing Aeronautical Institute, China, 1984 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTERS OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES • (DEPARTMENT OF ELECTRICAL ENGINEERING) We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA December 1991 © Qu Jing, 1991 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. (Signature) Department of ^C":18C-Y;c41^‘"4".;",3 The University of British Columbia Vancouver, Canada Date DE-6 (2/88) 31 Abstract In this thesis, an adaptive rapid tracking control methodology, which allows a robot manipulator to track an arbitrarily pre-specified short yet maybe complex trajectory quickly and precisely, is simulated. The dynamic equations of motion of the robot manipulator, which has a parallelogram mechanism, are established using Euler-Lagrange method. Recursive least-squares identification is carried out to identify the dynamic parameters of the manipulator system. This is followed by computed torque to approximately linearize the non-linear system using the estimated parameters. Because the approximately linearized plant is time-varying and has imprecisely-known parameters, and for the purpose of rapid tracking, adaptive control with again the recursive least-squares identification is applied to identify the parameters of the approximately linearized plant and of the controller, based on which a supplemental tracking control signal is learned and rapid tracking is accomplished by injecting this signal to the input of the approximately linearized plant. The simulation results show that this tracking methodology allows very good tracking performance. ii Contents Abstract ^ iv List of Figures ^ vi List of Tables ^ vii Acknowledgments ^ 1 Introduction ^ 1 9 2 Modelling of the 3 DOF RPDDM ^ 2.1 Kinematics ^ 9 2.1.1 Introduction ^ 9 12 2.1.2 Kinematics of the RPDDM ^ 18 2.2 Dynamics ^ 18 2.2.1 Introduction ^ 2.2.2 Dynamic equations of motion of the RPDDM ^ 23 30 3 Dynamic Parameter Identification ^ 30 3.1 The Estimation Equation set up ^ 3.2 Dynamic parameter identification of the RPDDM ^ 35 4 Basic Rapid Tracking Control Strategy ^ 38 38 4.1 Introduction ^ 40 4.2 Linearization ^ 41 4.3 q—learning algorithm I ^ 45 4.4 Summary ^ 47 5 Adaptive Rapid Tracking Strategy ^ 47 5.1 Adaptive Rapid Tracking with General Plant ^ 50 5.2 Application related issues ^ 5.3 Application of the ARTA to the linearized RPDDM system^52 5.3.1 Parameter identification for the approximately linearized 52 plant ^ 5.3.2 Controller design and controller parameter identification 53 55 6 Simulation Results and Conclusions ^ 55 6.1 Simulation Results ^ 67 6.2 Conclusions ^ 68 Bibliography ^ lll ^ List of Figures ^Figure 1.1^Block diagram of a MRAC system ^ 5 Figure 1.2^Block diagram of a STR ^ 6 Figure 1.3^Block diagram of the tracking system ^ 7 Figure 2.1^Mechanical configuration of RPDDM ^ 12 Figure 3.1^Basic parameter identification structure ^ 31 Figure 4.1^Standard feedback control system ^ 39 Figure 4.2^Tracking control system structure ^ 40 Figure 4.3^Block diagram of computed torque ^ 41 Figure 5.1^Tracking control system structure ^ 47 Figure 5.2^Over-all tracking control system structure ^ 52 Figure 6.1^Estimated dynamic parameters ^ 57 Figure 6.2^U — ij ^ 58 Figure 6.3^Estimated controller parameters for joint one . ^61 Figure 6.4^Estimated controller parameters for joint two . ^62 Figure 6.5^Estimated controller parameters for joint three ^62 Figure 6.6^Estimated plant parameters for joint one ^ 63 Figure 6.7^Estimated plant parameters for joint two ^ 63 Figure 6.8^Estimated plant parameters for joint three ^ 64 Figure 6.9^Tracking performance after 50 cycles of learning—unbounded ^ iv 64 Figure 6.10^Tracking control for unbounded tracking using true dynamic parameters ^ 65 Figure 6.11^Tracking performance after 90 cycles of learning—unbounded ^ 65 Figure 6.12^Bounded tracking, noise, estimated parameters, 50 learning cycles ^ 66 Figure 6.13^Tracking control for bounded tracking (noise, estimated parameters, 50 cycles) ^ 66 V List of Tables Table 6.1 True and estimated dynamic parameters ^ 56 Table 6.2 Initial controller and plant parameters and covariance matrices for RLS identification ^ 59 Table 6.3 True and estimated parameters of plant and controller ^ vi 61 Acknowledgments I wish to thank my supervisor, Dr. Chris C.H. Ma for his advice and help throughout my work on this thesis. Without Dr. Ma, this thesis would not have been possible. I also thank Dr. P. D. Lawrence from whom I first learned robotics. Thanks also due to Dr. T. Salcudean for the helpful discussion on robot kinematics and dynamics. vu Chapter 1 Introduction Control of robot manipulators is an important but difficult subject of study. It has attracted the interests of many researchers because of its high potential for increasing manufacturing productivity and improving the working conditions for the human workers. The difficulty of manipulator control lies in the complexity of the manipulator system itself, which is characterized by non-linear dynamics with coupling effects among the links. Good performance of manipulator depends on many factors, such as high quality manipulator, accurate modelling of manipulator system, appropriate control scheme, etc. The manipulator adopted in this thesis is a rigid, parallelogram direct drive manipulator (RPDDM). Typical industrial manipulator such as the PUMA has small actuators at the joints and use very large gear ratio in order to be able to exert enough torque onto the links. This arrangement of actuation introduces large amount of undesirable nonlinearities such as friction and backlash at the joints. Because of this, they are in general slow, and can not be used in high speed applications. In direct drive manipulators, the links are directly coupled to the motors, the backlash effects are eliminated and the joint frictional effects are reduced immensely. Therefore, the dynamics of the direct drive manipulators can be modelled accurately by the rigid body dynamics of the links. This characteristic enables them to be controlled by advanced control methodologies for high speed operations without compromising performance. Since productivity is directly proportional to the speed of operation, higher speed of operation should yield higher productivity. The advantage of the parallelogram manipulators over serial link manipulators is obvious. In serial configuration, the motors are located serially at the joints of the links, and the weight of the second motor is a load to the first motor down the serial linkage. Moreover, the reaction torque of the second motor acts on the first motor. When the second motor accelerates in the clockwise direction, a counter-clockwise torque acts on the first motor, and vice versa. Thus the two motors have significant interactions. In parallelogram configuration, on the other hand, two motors are fixed on the base to drive the two input links and cause a two-dimensional motion at the tip of the manipulator. The weight of one motor is not a load on the other and thus the robot can have high load-to-link mass ratio. Also, the reaction torque of one motor does not act directly upon the other, because the motors are fixed on the base. Besides lightweight and lower interaction and nonlinearity, analysis [2] also indicates that parallelogram manipulators have comparatively lower power consumption. Accurate modelling of manipulator system plays an important role in manipulator control. It could occupy as much as 90% of the control designer's efforts. Since the actuators are inherently parts of the links for direct drive manipulators, separate modelling of the mechanical properties of the actuators are unnecessary. The electrical dynamics of the actuators are often orders of magnitude faster than the inertial dynamics and it may not be necessary to include them in the robot 2 model. Usually, the kinematic parameters are known or can be calibrated, as long as the manipulator mechanism and link dimensions are decided. However, the inertial parameters, i.e. the mass, the location of the center of mass, and the moments of inertia of each rigid body link of a robot manipulator are not easily measurable. Also, even if the manipulator is modelled accurately, the inertial parameters vary with different payload. Therefore, seeking a good identification methodology is essential for the purpose of control, and thus becomes one important part of this thesis. Earlier work in identification of robot dynamics concentrated on estimating the mass of the payload, and this was later extended to estimating also the center of mass of the payload and the moment of inertia of the payload. In 1985, An, Atkeson, and Hollerbach [1] proposed an approach which uses a wrist torque/force sensor to estimate the inertial characteristics of the payload. Their approach has also been extended to estimate the inertial parameters of all the links of a robot manipulator. In recent years, more estimation methods have been proposed, and most of them can be classified by one of the following two categories: 1) directly use of the dynamic model and the measurements of the input actuating torques/forces and output joint positions, velocities, and accelerations, as shown in [4]; 2) Estimation methods in this category are based on the energy conservation theorem [5, 9]. The methods in the first category are actually an extension of the pioneer methodologies in manipulator dynamics estimation. They 3 are straightforward in nature. Parameters estimated using these methods have explicit physical interpretations. However, they need input joint accelerations, which usually are not measurable, in the estimation algorithms. Obviously, the calculation of joint accelerations increase the computational burden. Besides, this gives one more source of error. The methods in the second category represent the recent trend in manipulator inertial parameter estimation. The advantages of these methods over other methods are the ease of implementation and its applicability to both serial link and graph structured manipulators. The only measurements required are the joint positions, velocities and actuator torques. It is known that each link of a manipulator has ten different inertial parameters. They are the mass, the three components of the center of mass vector times the mass, and the six unique components of the moments of inertia. However, only some of these parameters are actually present in the manipulator dynamic equations of motion. Some appear in linear combinations (regrouped parameters). The parameters affecting the dynamic model separately and the regrouped parameters constitute the base parameters or the set of minimum number of parameters required for control [5], and they can be completely identified by using the energy equation which is a linear function of these base parameters. Based on the above analysis, the second approach is employed for the estimation of manipulator dynamic parameters in this thesis. Trajectory tracking control is one of the most common control tasks found in the industrial robot application. In these tasks, the robot manipulator is required to 4 move along a given ofter highly complex trajectory. Thus, the goal of the control design is to get the control signal which is able to drive the robot manipulator to follow the desired trajectory. Regarding trajectory tracking, there are many control techniques and methodologies: independent joint control; multi-variable control; computed torque, etc. However, all these algorithms require one sort of assumption or the other, such as accurate modelling of the manipulator dynamics, neglecting the coupling effects between the various joints, and so on. If the plant under consideration is linear, time-varying and/or parameter-imprecisely known, then any significant gain in performance for tracking the desired trajectory closely over the whole range of manipulator motion requires the use of adaptive control techniques In literature, there are mainly two categories of adaptive control methods applied to robotics: Model Reference Adaptive Control (MRAC), and Self-Tuning Regulator (STR) based control. The block diagrams of MRAC and STR are illustrated in Figure 1.1 and Figure 1.2. - Pi Model ym - Regulator parameters Adjustment mechanism r V u Regulator Plant Figure 1.1 Block diagram of a MRAC system 5 Plant parameters V Regulator Design r Parameter 1.4 Estimation Plant Regulator Y t Figure 1.2 Block diagram of a STR Both MRAC and STR have nice features to cope with parameter uncertainties. However, applying classical feedback adaptive control alone does not seem suitable enough for tracking tasks where high speed and accurate tracking is required along the entire span of the possibly highly complex yet ofter very short desired trajectory, due to the slow asymptotic convergence property. Repetitive control methodologies are suitable for tracking short duration trajectories, however, the trajectories to be tracked are required to be invariant from repetition to repetition. Most recently, Ma [6, 7] proposed a new rapid tracking algorithm, which is iterative in nature, for tracking short complex trajectories precisely, rapidly and to accommodate the inevitable saturation limits on the actuator. In his algorithm, the entire tracking control sequence q is modified one element at a time, in the order q0 ,q 1 ,...,qN 1 , where the subscript is the time index. Each time an element - is modified, the resulting tracking error energy for the rest of the trajectory is minimized. So by the time qk is modified, the error element ek in the tracking error sequence e = fe k l Ni has been minimized k times. Thus, error sequence e 6 will be comparatively large at the beginning, then becomes smaller and smaller as time elapses. In order to accommodate the possibly slowly time-varying and imprecisely known dynamics of the plant, an efficient adaptive feedback control is incorporated with the basic rapid tracking algorithm. Figure 1.3 illustrates the structure of this adaptive rapid tracking methodology. n^ • Tracking control generator q r + ^ v^+ u ^ Controller^Plant ^ ►• - e ^I y Figure 1.3 Block diagram of the tracking system where q is the supplemental tracking control signal and h is the impulse response sequence from q to y, which is identified every tracking trial. There are some obvious advantages of this iterative control method over the existing methods mentioned earlier. Besides the tracking precision and speed, it allows easy bounding of the actuation signal magnitude with minimum compromise on the tracking performance and thus mitigates the actuator saturation problem; the trajectory to be tracked need not be precisely repetitive from one trial to another; the convergence of the tracking (learning) algorithm has been theoretically proven; the stability of the closed-loop tracking system is ensured as long as the reference trajectory to be tracked stays complex as assumed. Another good feature of this method is that the supplemental tracking control signal tends 7 to converge to very small value (if not zero) before the end of each tracking trial. This is particularly desirable so that the plant needs not be driven to the final still position dynamically at the end of each trial. This implies that the tracking task needs not be precisely repetitive. The idle periods between consecutive trials can be non-uniform. Though theoretical analysis has given this method much prominence, it has never been implemented or simulated on any type of manipulator available, this thus becomes the main motivation of this thesis. The rest of this thesis are organized as follows: The modelling of the 3 DOF RPDDM is studied in Chapter two. Chapter three deals with the manipulator dynamic parameter identification. Chapters four and five discuss the rapid tracking algorithm and adaptive rapid tracking methodology. Simulation results and concluding remarks are given in Chapter six. 8 Chapter 2 Modelling of the 3 DOF RPDDM The objective of this chapter is to obtain the dynamic equations of motion of the RPDDM system. This includes two steps: The kinematics and the dynamics. Each step will be discussed in detail in a separate section. 2.1 Kinematics Robot manipulator kinematics deals with the analytical study of the geometry of motion of a robot manipulator with respect to a fixed reference coordinate frame (base coordinate frame) as a function of time without regard to the torques/moments that cause the motion. It is essential for deriving the dynamic equations of motion of the manipulator. 2.1.1 Introduction The links of a robot manipulator may rotate and/or translate with respect to a reference coordinate frame, the total spatial displacement of the end-effector is due to the angular rotations and linear translations of the links. To describe this translational and rotational displacement of the end-effector with respect to the base frame, Denavit and Hartenberg [1955] proposed a matrix method of systematically establishing a coordinate system (body attached frame) - to each link of an articulated chain. The Denavit-Hartenberg representation results in a 4 x 4 homogeneous transformation matrix representing each link's coordinate system at the joint with respect to the previous link's coordinate system. Thus, through sequential transformations, the end-effector expressed in the body attached 9 frame can be transformed and expressed in the base coordinate frame which is the inertial frame of the dynamic system. For a n DOF manipulator, there will be n+1 coordinate frames: one for each link plus the base frame (defined as the 0th coordinate frame). The ith coordinate frame corresponds to joint i+1 and is fixed in link i. When the joint actuator activates joint i, link i will move with respect to link i-1. Since the ith coordinate system is fixed in link i, it moves together with link i. Thus, the nth coordinate frame moves with the hand (link n). The common rules to establish a coordinate frame are: 1) The zi_ i axis lies along the axis of motion of the ith joint; 2) The xi axis is normal to the zi_i axis, and pointing away from it; 3) The yi axis completes the right-handed coordinate system as required. To determine the transformation relationship between two adjacent links, the following four basic homogeneous matrices are usually used, among which are three basic homogeneous rotation matrices and one basic homogeneous translation matrix Tx,a = Tz, 9 = 1 0 0 0 c9 sO 0 0 0^0 ca^—sa sa^ca 0^0 —.50^0 cO^0 0^1 0^0 0 0 0 1_ - 0 0 0 Ty ,4, = Ttran 1_ 10 cq 0 —30 0 1 0 0 0 0 1 0 0 0 1 0 0 scb^0 0^0 cq^0 0^1 0 0 1 0 dx dy dz 1 - (2.1) where x, y, z are the three principal axes of the reference coordinate frame, a, 0, 0 are the angles rotated by the body attached frame about x, y, z respectively, and dx, dy, dz are the coordinates of the origin of the body attached frame with respect to the reference coordinate frame. These basic matrices represent the basic transformation (either rotation or translation) of the body attached frame with respect to previous frame. More complex transformation between any two adjacent links can be interpreted as a sequence of these basic transformations. Thus, the transformation T H, which i specifies the location of the ith coordinate frame with respect to the (i-1)th coordinate frame, is the product of a sequence of the basic homogeneous rotationtranslation matrices. Once all the homogeneous transformation matrices describing the transformation relationships between adjacent links are available, the homogeneous transformation matrix Tr , which expresses the end-effector in the base frame, is the chain product of successive coordinate transformation matrices of 71 -1 , and is expressed as Tic). T1T2 1 -1 • • •^ H 11 for i = 1,2, • • • ,n. (2.2) y5c 15c y4c link 5 x5c link 4 link 3 Y3 y3c zl link 1 lc y0 I lc 01 x0 Figure 2.1 Mechanical configuration of RPDDM 2.1.2 Kinematics of the RPDDM The mechanical configuration of RPDDM is shown in figure 2.1, where the lengths of links one through five are 1 1 , / 2 , /3, /4 and 15 respectively, and / 1 ,, -2c, 13 c , /4 c , 15 c denote the lengths from the origins of the body-attached frames of the respective links to the origins of their previous frames. According to this configuration and the set up of coordinate frames, we have different homogeneous transformation matrices as follows 12 ^ ^c l^0^s l ^0^1^0 TP = —sl^0^el 0^0^0 c2^—s2^0 = 32^c2^0 0^0^1 0^0^0 c3^—s3^0 = s3^c3^0 0^0^1 0^0^0 c32^s32 —s32^c32 T:c = 0^0 0^0 0 /1 0 1 12c2 1232 0 1 13 c3 1353 0 1 el^0^s l 0^1^0 —sl^0^cl 0^0^0 c2^—s2^0 s2^c2^0 0^0^1 0^0^0 c3^—s3^0 s3^c3^0 0^0^1 0^0^0 —c32 —s32 T5c2 = 0 0 TP, = T2cl T31c = 0^14,c32 0^—14,332 1^0 0^1 1 0 1 l2 c c2 1 2 02 0 1 13,c3 13,33 0 1 s32^0 —c32^0 0^1 0^0 15,c32 —,332 4 0 1 where Ti is the homogeneous transformation matrix which transforms coordinates in frame i into the ones in frame j, and si = sin 0i, el = cos Oi, s32=sin(03 — 92), c32=cos(03 — 02). Assume that the coordinates of mass centers of the links (one through five) expressed in the corresponding body attached frames, are respectively xlc x2c X3c x4c x5c Ylc Y2c Y3c Y4c Y5c Z5c Z2c Z3c zlc Z4c 1^1^1^1^1 _ Coordinates of the mass centers of the links w.r.t. the base frame For simplicity, yi,, x2,, x3,, x4,, x5, can be assumed to be zeros, because the body attached frames can always be translated along yi, x2, x3, x4, x5 axes to satisfy this. Then, the coordinates of the mass centers of the links expressed in the base 13 ^ (0th) frame can be obtained as follows x1cc1 + z lc sl 1 1c — 713, Zl c —x1,s1 + zl c cl 1 1 '2c - 2c 0 Z 2c 0 l2, c1c2 — y 2,c1 s 2 + z2,31 = TP T1, Y2c 12 cS 2 + Y 2 c C 2 + 11 Z2c 1 —12,s1c2 + y2,3132 + z2,c1 1 = TPT 1, 0 — 1 3 ,c1c3 — y3,c 1 s3 + z 3, 31 13,33 + Y3cc3 + Y3c —13 ,31c3 + y3,3133 + z3,c1 Z3 c 1 1 1 o3 c 0 Y3c z 30 , 1 ,0 "4c ,0 Y4c 0 Z 0 — 14 c C1C2 — y4 c C132 + 13C1C3 Z4 c S1 - Y4c^1402 + y4 c C2 + 1333 + 11 3 712, T = 71 ^Z4c^—i4c31C2 + y4cSiS2 — 1331C3 Z4cC1 4c 1 1^ ° 0 - X 5c Y5c Z 5c 0 1 — Y5c Z5c 1 1 —15,c1c3 + y5 c c1s3 + 1 2 c1c2 + z u sl —1503 — y5,c3 + 1232 + 1 1 1 5 01c3 — y50133 — 1231c2 + z5,c1 1 Velocities of the mass centers of the links w.r.t. the base frame The velocities of the mass centers of the links w.r.t. the base coordinate frame can be easily obtained by taking the first derivatives of the position vectors of these mass centers with respect to time, and they can be written in the form of the product of the Jacobian matrix and the first derivative of the generalized coordinate vector. That is 14 v°x 1 ° Vx2 ° V° Y3 ° V z3 742 = .42e 0 V z2 =Jvl Vy i 0 v zl Vz3 ° V y° = 44e 0 V z4 vx°5 ^[V z 4 =434) ° v Y5 =J1,5O 0 v z5 where 0i 0= 02 [ —xics 1 + z l c cl 0 0 0 0 0 0 0 Jv1 = 03 — X I c a — zl c s l Y20 1,52 — 12 c S1C2 Z2 e Ci Jv2 =^0 Y2cC 1 S 2 — 12 c C1C2 — Z2 c ..91 Y3c 81 S3 — 13 c S1C3 Z3 c Ci Jv3 7-7^0 Y3cC 1 S3 — 13 c CiC3 — Z3 c Si Y2cc1c2 — 12 c c1s2 0 —y202 + 12 c e2^0 Y2cs1c2 + 120182 0 — 0 —y3 c c1c3 — 13 c c1s3 0^—y303 + 13 c c3 0 y3 c slc3 + 1301s3 Y40132 — 14 c S1C2 — 13S1C3 Z4 cCi =^ 0 4cC1S2 — 14cC1C2 — 13C1C3 — Z4 c Si — Y4cC 1 C2 — 14 c Ci S2 — Y4cS 2 14 c C2 Y 401 c2 + 1 40 182 [ 15 c s1c3 — y501s3 — 1231C2 + z5 c c1 —12c1s2 .45 =^ 0 /2c2 15 c C1C3 — y5 c C1S3 — 12CiC2 — Z5 c S1 /2s1s2 —/3c1s31 /3c3 /3s1s3 Y 5 c c1 c3 + l5,c1s3 Y503 — 15eC3 — Y5 c S C3 — 150 13 3 Angular velocities of mass centers w.r.t. the body attached frames To derive the rotational kinetic energy of the RPDDM, we need to know the angular velocities of all the mass centers of the links. There are two kinds of frames in which these angular velocities can be calculated: the base frame and the body 15 attached frame. Here, we choose the latter one. The reason for this will be explained in the next section. One way to obtain the angular velocities of the mass centers expressed in the body attached frame is to obtain the angular velocities of the mass centers expressed in the base frame first, and then transform them to the corresponding body attached frames respectively by using the homogeneous transformation matrices. It is clear that the angular velocities of the mass centers of the links of the RPDDM with respect to their previous frames are respectively 0 wi c 1 w2c = 0 0 02 3 W4c ,,1 w3c = 02 2 W5c 03 03 Now, transform these angular velocities to the base frame by using proper transformation matrices and we have 0 4c = el 0 [ ‘,2c = C44) + TPW1 c 0 2 .51 = 4, + TPWL = el 02 Ci [ 16 [ 3.91 4, = co? + TPwi c = (.4c + TPwi c = Oi 03 cl (02 + O3) Si 0 ^TO( 1 T1 3 W4c = W1 + 1 kW3 + 3 W4c^el. (02 + 03) Cl (e2 e3) S 1 =^Ti (W2 +nut) =^. el. (02 + 03) Cl When expressed in their own body attached frames, these angular velocities become o ,,,l .Tjc w?,, (Tpc )T 4c . a, o [ 1) L= T (Tio ) T wi 2c n cw ri c^__nc) T u4c = (7. =^ W2c [O1s2 C2 02 3c = W3c TO ei 33 ^(T3c)T4c = ( Tic) T (TP)^ T4c = el C3 03 el S2 ,,4c^ ( T31T4c 3 ) G.) 40^c2 w4c = T 0oW4c^ 0 e2 e3 —0133 -I 5c^ rr^ 5c 0 w 5c = 0 U)5c = ( 71971 7152c T w 5c = — BiC 3 Cs 92 e3 ) 17 These angular velocities can also be written in the form of the product of the Jacobian matrix and the first derivative of the generalized coordinate vector. That is j 0^,,2c^j lc Wlc W 3c =JW3 c e^cot =JW4c 0 where j,,,lc = [ Jw 3c 3c = 0 1 0 0 0 0 s3 c3 0 e lc 0 0 0 0 0 0 0 0 1 cot = J,,41 01 JW2 c = s2 0 c2 0 0 0 1 0 J 4c = s2 c2 0 0 0 0 0 1 1 J 5c = —s3 —c3 0 01 0 0 0 1 1 2.2 Dynamics Robot manipulator dynamics deals with the mathematical formulations of the equations of manipulator motion. These equations of motion describe the dynamic behavior of the manipulator. There are many ways of formulating the dynamic equations of motion of a robot manipulator. In this section, we will derive the dynamic equations of motion of the RPDDM system using LagrangeEuler formulation, and based on the kinematics analysis made in the last section. 2.2.1 Introduction Given a conservative n DOF manipulator, its equations of motion can be derived from the Lagrange-Euler equations: 18 d a L aL _ dt aqi (2.5) Ti Here L=K- V is the Lagrangian function, where K is the total kinetic energy of the robot manipulator, V is its total potential energy; qi is the generalized coordinates of the robot manipulator; Ti is the generalized torque applied at joint i to drive the ith link For a rigid body in motion, it is known that the total kinetic energy consists of two parts: One is the rotational kinetic energy, and the other is the translational kinetic energy. That is 1^1 K = —mv T 7), —wT 2 2 (2.6) where m is the mass of the rigid body; v c is the velocity of the mass center of the rigid body with respect to the base frame; w is the angular velocity of the mass center of the rigid body; and I is the inertia matrix about the mass center. Obviously, in different frames, w takes different values, and so does I. But the triple product 27(.0 is the same in all frames [10]. We choose the body attached frame to compute I, because in this case, I is independent of the motion of the body. This is why all the angular velocities of the links of the RPDDM were calculated in the body attached frames in the previous section. 19 For a manipulator having n links, the velocity of each link expressed in the base frame and the angular velocity of each link expressed in the body attached frame can be written systematically in the form of the product of the Jacobian matrix and the first derivative of the generalized coordinate vector q, i.e. q. That is v2, = 4, (q)4 c (2.7) wic =^ q)4 is ( Suppose now the mass of link i is rni, and the inertia matrix of link i, evaluated around a coordinate frame parallel to frame i but whose origin is at the center of the mass of link i, is I. Then, the overall kinetic energy of the manipulator is K= n^U + ± x—•1/4 ( L, 1^T E 2^2 mivicvic ^ -i- 7 t — i=1 = 4 ) 4 T 1 iL,. --e ' i=1 n •T \---` [„,„ . TT (,\ j je (q) ' 16 :'-' vi c k`il v q 2 i=1 1 — + (2.8) JTT u.,: (1 /^ r j wic (—\];. q i tc q) q This can be re-written in a more compact form as 1 K=— 2 E di ,i (q)qiq (2.9) — qi D(q)q 2 Now, consider the potential energy term. In case of a rigid manipulator, the only source of potential energy is gravity. Let g denote the gravity vector expressed in the base frame, rti c denote the three-dimensional coordinate vector ) 20 of the center of mass of link i expressed in base frame. Then the total potential energy is V (q) gT E r° m i= 1 ^ z (2.10) Equations of motion of a general multi-body Based on the results of the above analysis, we have the Lagrangian as L=K—V 2 ^j(04i4i — v( q ) ^ (2.11) and or, dk 3 (041 aqk d aL = " mi + E Tfidk j(q)4j E dki (04i + E adk • > dk i ( j ar,^av(q) aqk^aqk Thus the Lagrange-Euler equations can be written as 21 (2.12) {ad kj ladij }. . av Edki(04.;+ ^ a qi^2 aim qi qi^= TIC^k =1,- • • ,n^(2.13) By interchanging the order of summation and taking advantage of the sym- l metric nature of D(q), it can be shown [10] that E ado 4i4.^{ado + adki} 4.4. aq i^2^aqi Hence^ i,j (2.14) ado^1 adij ) . . a qi^Vgiqi = adkj + adki^. giq • a qi^a qj^a qk^3 If we define 1 {ad o adk i adii } cij k —^aqi^a qi^a qk (2.15) gk — a V(q) agk then the Lagrange-Euler equations become E dki(mi + E ciik(o4i4i + gk (q) = Tk k = 1,• • • ,n^(2.16) The first term of the left-hand side of the above equation is related to the acceleration of the joint variables. When j = k, dk3 is related to the acceleration 22 of joint j where the driving torque Ti acts, when j^k, dk j is related to the reaction torque induced by the acceleration of joint k and acting at joint j, or vice versa. The second term consists of centrifugal terms (when i = j) and Coriolis terms (when i j). The third term represents the gravity loading terms due to the links. Equation (2.16) can be written in matrix form as D(q)q C(q,q)q G(q) = T^ (2.17) where the k, jth element of the matrix C(q, 4) is defined as: co f Odki Od ki aqi^Oqi^aqk =^ciik(q)4i = 1= 1^i=1 (2.18) 2.2.2 Dynamic equations of motion of the RPDDM In section 2.1, we have derived the velocity of each mass center of the links expressed in the base frame, and the angular velocity of each link expressed in its own body attached frame. Suppose that the inertia matrix of link i is /i, and it is evaluated around a coordinate frame parallel to frame i but whose origin is at the center of mass. Noting that Iizz^-hxy --11Xz Ii =^hyy —h y z^(2.19) Iizz and making use of the Jacobian matrices derived in the last section, then the total kinetic energy of the RPDDM is 23 ^K -LOT E5 [ migc jvi^,c] c^wic i=1 (2.20) =2 —1OTD(0)e where D(0) is a 3x3 matrix. If we define the inertial parameters as pI = [P1 P2 • • • Pz • • • P24] T^(2.21) where P1 = 2 [m1(xi c ZL) rn2 (YL z3c)+ 711 3 (Yic z ic)+ M4 (Y ic zic) , + m5 (ygc zgc )I1 y P2 = 771 2Y3c — h xx i3 xx i4xx I5xx] ^moic- mvic- rri5 1 3 -1-2xx I4xx — 1-2yy — Llyy k2 P3 = MAC - rn3 1 3c MAC- 711 5 1 5c — M4 1 3 + 13xx I5xx — hyy — 15yy — k3 P4 = M2Y2c 1 2c+ ni4Y4c 1 4c hxy Llxy P5 = M3Y3c 1 3c+ M5Y5c 1 5c I3xy hxy P6 = 77134+ 717,313 c + 77l5y 5c + in51g c -1- 77143 + i3 zz I4zz+ 15 zz P7 = n1 2Y3c+ ni2 1 1c M4Y4c+ rn4lic+ 712512 1T2zz I4zz+ I5zz P8 = n1 2 1 2cZ2c+ 771 4 1 4cZ4c+ rn5 1 2Z5c I2xz I4xz P9 = in515 c Z5 c — 712313 c .Z3 c — M413Z4 c h xz — h xz P10 = M2Y2cZ2c+ M4Y4cZ4c hyz P11 = rn5Y5cZ5c — m3y3cz3c hyz hyz 24 P12 = 771 5 1 2 1 5c — 771 4 13 14c P13 = n1 5 1 2Y5c + M4 1 3Y4c P14 = M5 1 2Y5c — m4 1 3y4c P15 = -1-4xz P16 = hxz P17 = -14yz P18 = I5yz P19 = I4zz + 1-5zz P20 = 7n2 1 2c + M4 1 4c + m5 1 2 P21 = m2y2c + rn4Y4c P22 = in3 13c + rn413 — rn515c P23 = M5Y5c — 711 3Y3c P24 = k23 where k 2 , k 3 and k23 are three constants and they construct the moment of inertia of the manipulator about the rotating axis (y o ) of the base frame in the way 'lyy = k2 COS 2 02 + k3 COS 2 03 + k23 COS 92 COS 03 ^ (2.22) Then, according to equation (2.20), the elements of D(0) will be respectively 25 P2 cos (202) P24 — Pi2) COS (02 + 03) d11 =^P4 Sill (202) -F( 2^ 2 +P14 sin P24 2 (02+03) +I — — P12) cos (0 3 — 02)+P13 sin (03 — 02) —P5^ sin (203) P3cos (203) (P1 — P2 — P3) ^+ 2^2 d12 = d21 = — 1310cos02 — P8sin61 2 + P18COS03 + P16sin03 d 13 = d31 = — P1 7cos0 2 — P1 5 sin02 + P11 cos0 3 + P9 sin0 3 d22 = P7 d23 = d32 = —Pi2cos(03 — 02) + Pi3sin(03 — 02) + P19 d33 = P6 According to definitions (2.15) and (2.18), we have all the elements in C(0, e) matrix as follows: clii = 0 c211 = [P2 sin (202) — 2P4 cos (202) + P14 cos (02 + 03) — P13 COS (03 — 0 2) P24 ^ — ( — P12) Sill (02 + 03) + ( 2^ P24 2 — Pi2) sin (0 3 — 0 2 )1/2 c311 = [P14 cos (02 + 03) + P13 COS (03 — 02) — 2P5 COS (203) + P3 sin (203) — P2 4 (P2 4^ — P12) sin (02 + 03) — ( 2 2 26 — Pi2) sin (03 — 02)]/2 C121 = C211 C221 = P10 sin 02 — P8 cos 0 2 C321 = (PrS11102—pmcose2+P16c003—P18sin03)/2 C131 = C311 C231 = C321 C331 = P9 COS 03 — P11 Sill 03 C112 = — C211 C212 = 0 c 312 =(Pm cos02—Pr sin0 2 +Pm cos0 3 —Pi8 sin 0 3 )/2 C122 = 0 C222 = 0 C322 = 0 C132 = C312 C232 = 0 C332 = P12 sin (0 3 — 02) + P13 Cos (03 — 02) C113 = — C311 C213 = — C312 C313 = 0 27 0123 = — C312 C223 = — c332 C323 = C133 = 0 0 C233 = 0 C333 = 0 and c211e2+0311e3 c2i1e1+C221e2 FC321e3 0 c(0,e)^ =[ -c2110 1 +c31203 - . C311e1+C321e2+ 0331e3 —c312e1 —0332e2 —C311 0 1 —0312 02 c312 0 1 +C332 03 0 The total potential energy of the system is V= g T E 5 0 mir i c (2.24) i=i and thus according to equation (2.15), we have av ao = ° av g2 =^= Fog cos 02 — P21g sin 02 g1= i ao 2 av n g3 = = 1 22g cos 03 + P239 sin 03 ao3 (2.25) - Finally, with D(0), C(0,0 and G(0) available, and assume that the applied torques at the three independent joints are 28 T = [Ti T2 Td then the dynamic equations of motion of the RPDDM are D(0)0 + C (0,00 + G(0) = (2.26) T^ or 4 11 0 1 d ^ d13e3 +^C12e2 + C13 e3^= d12151 + d22 O2^23 + C21 e1 + C22 e2 C23^g2^T2 ^ (2.27) d13O1 d23O2 d33O3 + C31 e1 C32O2 + C33 O3 g3 = T3 Taking into account the viscous frictions at the three independent joints, the dynamic equations of motion of the RPDDM system become d1 1 Ol d12 8 2 d13b3 + C11 O1 + C12 e2 C13e3 µ1e1 + gi = d12b1 + d22O2 + d 23e3 + C21 e1 + C22 e2 + C23 0 3 fij2 g2 T2 ^ (2.28) d13 + d23 e2 d33 O3 C31e1 + C32 e2 + C33 e3 /IA g3 T3 where [it1^it3] = [P25 P26 F27] = Piz are the coefficients of viscous friction at the independent joints. 29 Chapter 3 Dynamic Parameter Identification The dynamic model of a robot manipulator is always inexact since 1) not all inertial parameters are precisely known; 2) the frictional forces of manipulator joints are usually unknown; 3) the inertial parameters of the load are not usually known. These parameters are known as the manipulator dynamic parameters. Inaccuracy in their estimates will degrade the performance of the manipulator controller and thus precise tracking of the desired trajectory can not be achieved. Therefore, a proper method is needed for accurately identifying these parameters. As mentioned in Chapter 1, the identification method used in this thesis is based on the energy conservation theorem, which states that the work done by the manipulator actuators minus the energy dissipated by the frictional forces over any time period is equal to the change in the kinetic and potential energy of the manipulator over the same time period. The advantages of this method are the ease of implementation, applicability to both serial-linkage manipulators and graph structured manipulators and computational efficiency (because it does not require the measurement or computation of joint accelerations as some of the other methods do). 3.1 The Estimation Equation set up Figure 3.1 is the block diagram of dynamic parameter identification. The lower rectangle contains a set of identification equations which will be derived below based on energy conservation theorem. 30 Robot Dynamics 0 , Dynamic Parameter Identification Figure 3.1 Basic parameter identification structure To derive the identification equations, let's first define the total energy of an n—link manipulator system as H(q,4)= K(q,q)+V(q)^ (3.1) where q^[q i q 2 • • • qn ] T is the generalized coordinate vector containing all independent joint variables, and K, V are the manipulator kinetic energy and potential energy, respectively. It is shown in [8] that dH = dt 2_, ri4i V (3.2) i= 1 where^is the non-conservative force at joint i, and it can be modelled as ra = Ti = Ti - ILA^(3.3) where Ti and fi are the input joint torque and frictional force at joint i respectively. ft, is the constant frictional coefficient of joint from to to t, it becomes 31 i. If we integrate equation (3.2) dH ri 4i dt f —dt =Ef dt 1=1 (3.4) to^to or H (t) — H (t o )=E I r i4i dt i=i (3.5) Since the total energy H is linear in the inertial parameters [5], it can be written as H(q,4, 52) = E T (q,4)12^ (3.6) where E(q, 4) is a non-linear function of the joint positions and velocities. St E R 113xn is the inertial parameter vector (IPV), which contains all the basic inertial parameters of the manipulator, i.e. Q = [ Q1 Q2 •^f2n ]T^ (3.7) and = [m, mix, mo i m,z, 1, xx Ityy Itzz Iixy iz y z Itxz ]T (3.8) Usually, only some of the parameters in equation (3.8) will appear in the dynamic equations of motion (this depends on if or not (a9 pic, ) 2 +^) 2 = 0 , 32 where K and V are the total kinetic and potential energy of the system. Because K and V are both linear in inertial parameters, i.e. K =^MPi, V = therefore if ( a pR: ) 2 -L i E av \ 2 = 0, then the change in parameter Pi can not cause any change in K, nor in V. Thus , Pi has no effect on the dynamic equation of motion = alf q = 1 • • • n), and some appear in the form of linear combination (regrouped parameters) of the basic parameters. The parameters affecting the dynamic model separately and the regrouped parameters constitute the base parameters required for control, and they are the only parameters needed to be identified. To this end, we rewrite equation (3.6) in terms of the base parameter vector PI as H (q, 4, PI) = F T (q, OPT^(3.9) If we substitute equation (3.3) and (3.9) into equation (3.5) and define F(ti) = F(q(ti), (t i )) , we will obtain the following linear equation of the unknown base parameter vector Pi and frictional coefficient vector Pm [F(t) — F(to)1 T^E i=1^ I dt By defining function W(to, t) and Ji(to, t) as 33 =E I to Ti 4 idt (3.10) f E i=i to W(to, t) = Ti4idt (3.11) Ji(to,t)= I 4Nt to equation (3.10) becomes [F(t) — F(to)FPI+J(to,t) T 13,=W(to,t)^(3.12) where J (to, t) = [ (t o , t) J2(to , t ) • • • = [P1^it2^• • • AN, OF (3.13) lin ] T Finally, we obtain the equation used for identification as 4) (t o , o T o = w (t o , t) (3.14) where F(t)— F(to)1 4)(to,t)=[^ J(to,t) o= (3.15) Equation (3.14) is a linear function of the unknown 0 (DPV—dynamic parameter vector) which can be identified by applying a recursive identification algorithm, such as RLS. 34 3.2 Dynamic parameter identification of the RPDDM For RPDDM, the generalized coordinates are 0 = [0 1 02 031 T . According to the definitions made in the last section, the total energy of the RPDDM can be written as H (0, O, PI) = F T (0, O PI ^ (3.16) where vector Pi have been previously defined as PI = [ P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 FT ^ P19 P20 P21 P22 P23 PA (3.17) T is a row vector and for RPDDM with given configuration, its elements are e2 F(1) = , i.-e 2 COS 2 (02) F(2) —^1 2 e 2c os 2 (03) F(3) —^1 2 9i F(4) =^1 ^(202) 2 9 2 sin (20 3 ) F(5) =^1 2 92 F(6) = 1 35 92 F(7) . -1 2 F(8) = — e1e2 sin 02 F(9) = 0103 sin 0 3 F(10) = — OA COS 02 F(11) = 01e3 COS 03 F(12) = Of cos (03 — 02) + q COS (03 + 02) + 202O3 cos (03 — 02) 2 e? sin (03 — 02) + 20203 sin (03 — 02) F(13) = 2 sin (03 + 0 2) F(14) = 2 elf F(15) = —01O3 sin 0 2 F(16) = 0102 sin 03 F(17) = —e1e3 COS 0 2 F(18) = e102 cos 03 F(19) := 0203 F(20) = g sin 02 F(21) = g cos 0 2 F(22) = g sin 0 3 F(23) = —g cos 03 F(24) = iq, cos 02 cos 03 2 36 Also according to earlier definitions, we have = [11 1 11 2 [1 3] T^(3.19) 3^t2 W(11,12) , E i=1 TAdt^(3.20) t iT Ati,t2) = f f I eid t ti^ti^ t2 2 [ qdt t2 qdt (3.21) ti Finally, the equation for identification of dynamic parameters can be obtained as W(ti, t2) = (Ht2 - HO + J T (tl, t2)Pit = [F( 1 2) — F(ti)J T PI + J T (ti,t2)Pit^(3.22) = (D T (ti,t2)P where (D T (1 1 , 12) = [[F(12) P = — F(ii)} T^JT (ti, 1 2)] Pi (3.23) Note that in equation (3.22), the term J T (ti, t2)131, represents the energy absorbed by the viscous fricions at the three indenpendent joints. By applying the RLS identification to equation (3.22), parameters P can be completely identified. 37 Chapter 4 Basic Rapid Tracking Control Strategy In the previous chapters, we have studied the issues of modelling and dynamic parameter identification. In the following two chapters, we will discuss the rapid tracking control methodology and adaptive rapid tracking control strategy. 4.1 Introduction Industrial robot manipulators are often required to follow a given trajectory closely, such as picking, placing and pelletizing, etc. For some of these problems, only the final position and/or orientation of the end-effector is of interest and the in-motion tracking performance is of little value. For these problems, the timing of the motion of the manipulator can be traded off for better tracking accuracy if necessary. However, if a task requires the manipulator to track the reference trajectory precisely over the entire most likely short trajectory , and also the timing over the tracking task is important, then the ability to track the reference trajectory rapidly and precisely by the manipulator end-effector becomes highly desirable. Given a linear time-invariant plant P and an arbitrary reference trajectory r with transfer function R, the standard feedback control system structure is shown in Figure 4.1 38 R Figure 4.1 Standard feedback control system It is known [3] that for such a control system, unless the open loop transfer function, PC, is divisible by the largest invariant factor of the denominator of R, it can not track reference trajectory r, not even asymptotically. If the reference trajectory is complex so that R is of high order, the controller C would have to be of high order as well in order to achieve just asymptotic tracking. Therefore, in order to track a possibly complex trajectory rapidly and precisely, a different control methodology must be applied. Most recently, Ma [6, 7] proposed a new tracking algorithm, namely the q-learning algorithm. The control system structure is shown in 4.2, where q represents the tracking control signal, and is to be generated through q-learning algorithm, C is the controller which stabilizes the linear, time-invariant plant P that may not be stable. In his method, the supplemental tracking control signal q is modified one element at a time, each time minimizing the tracking error energy for the remainder of the short-duration and complex trajectory. In this way, the resulting tracking error energy is minimized each time when an individual element in q is modified. When all elements in q have been modified, the next `learning' cycle can be started again from the very beginning and so on until tolerable tracking error is obtained. This results in a supplemental tracking control 39 generation (q-learning) methodology which would normally allow a particular variation to take place on an element of q only if such variation will lead to the maximum possible decrease in the resulting tracking error energy. Should such variation result in the particular control value exceeding a possible bound set on q, the variation can be simply limited to meet the bound, resulting in suboptimal minimization of the tracking error energy. Then the learning process can be allowed to continue, if more reduction in the error energy is desired, until next actual tracking task must begin. e, q, h 1 Tracking Signal Generator r^ e ^V ^iPi Figure 4.2 Tracking control system structure 4.2 Linearization Before the rapid tracking algorithm can be applied, the non-linear manipulator model must be linearized. For this purpose, computed torque technique is used. The idea is to equal the desired torques calculated from the real model, which is D(0)9 + C (0,0)0 + G(0) = T, to the computed torques calculated from the estimated model, which is b(0)u+0 (0, 0O+ = T, where u is the command input. and represents the identification. In this way, if the parameter estimates are close enough to the true ones, by equaling the above two equations, we will 40 end up with u P::: ã^ (4.1) which approximately is a double integrator, and thus the non-linear manipulator system is approximately linearized. Figure 4.3 shows the block diagram of the computed torque and the resulting approximately linearized plant. approximately linearized plant -.:=double integrator e, 6 u ^1,1Computed torque A t Robot dynamics _l til e, 6, 6 Dynamic parameter identification Dynamic parameters Figure 4.3 Block diagram of computed torque 4.3 q—learning algorithm I The q-learning algorithm is derived as follows. Suppose 1 cycles of learning have been made on the supplemental tracking control signal q, and we are just about to modify the kth element of q in the (1+1)th learning cycle to minimize the tracking error further. For the purpose of formulating an optimal modification algorithm, let's first define the following notations: 41 q l,k-1 : the latest computed desired supplemental tracking control signal, i.e. the control signal sequence obtained after the (k-1)th element of q in the (l+1)th learning cycle has been modified; ,k-i. qk^. the kth element of the vector q l,k-1 ; A q l,k^y l,k qki ' k : the kth element of q l,k , i.e. the modification to be made on the kth element of q during the (/+1)th learning cycle; e l,k-1 : the tracking error which would be obtained if q1,k-1 were applied to the tracking system; e l,k^e l,k-1 — With the notations defined, one can obviously draw that 1,k^1,k-1. 1,k^ qk = qk^aqk (4.2) Referring to Figure 4.2, and assuming that the pulse transfer functions from q to y and from r to y are H and Hr respectively, then, in terms of transfer functions, the output y is y = Hq + lir r^ (4.3) while in the time domain, equation (4.3) can be written in the convolution form as (if q 1,1c-1 has been applied as the tracking control) y l,k-1 = h 0 47 1,k-1 + hr 0 r^ 42 (4.4) where h = [h i , h2, • • • ,11A] T is the impulse response sequence at output y due to a unit pulse applied to input q at time k=0. N is the duration of a trial in a normally repetitive tracking process. The tracking error corresponding to equation (4.4) is e lk-1 '^= r- y l ' ic-1 (4.5) = r-h 0 q l,k-1 ___ hr or Now, if the modification on the kth element of q has been made, then we will have q l,k = q l,k-1 + A y l,k^ (4.6) and if q l,k were applied to the control system instead of q 1 A -1 , we would get y l,k _ _ _ h 0q 1,k + hr or h 0 (7 1,k-1 + Aq i,k) + hr 0 r^ =h0 ,7 1,k-i + h 0 A ql,k + hr or (4.7) = y 1,k-1 + h 0 Aq l,k which yields e l,k = r _ yl,k = r _ y l,k-1 — h 0 A q l,k (4.8) =e 1,k-1 _ h 0 Aq i,k Since Aq l,k = q l,k _ q l,k-1 =L:;,2, Aq k' k , fyL,..v_juu•• ,O k^N—k-1 43 T (4.9) ^ SO h 0 A q l,k 0,- ,O, hi Aqk,k h20qk,k^h N qk,k a^o,o,•••oT ftEN1•1■11■11011■1=11■, = k^ N^N—k-1 (4.10) k^N^N—k-1 Assuming that the plant will be stopped from responding after a tracking trial until the next trial begins (i.e. by applying brakes or turning off the motors, etc.), then only the first N elements in equation (4.10) are of interest to us, thus h Aql ,k can be expressed as h Aq l,k 0, • • ,O, hi, h2, • • • ,hN_kj T ^ k^N—k (4.11) Aqk,k h k where h k =^hi, h 2 , • , as hN_k] T. Therefore equation (4.8) can be written k^N—k 1 k^1 k-1^i,khk e^e^qk (4.12) If Aq ki ' k were to minimize the error energy ji,k =< e l,k ,61,k >, it must satisfy djl,k ik dAq k' = 0 = _ 2h k^_ Aq k1 ,k h k) (4.13) This yields the optimal k-th modification 1 k^ < hk ,e 1,k-1 > Aqk ^< hk , hk > k = 0,1,•••,N— 1^(4.14) Note that the unique solution in equation (4.14) is a minimum (rather than a maximum) point. This can be easily checked by taking the second derivative of 44 J 1,k with respect to Aq k' k . Equations (4.2), (4.12) and (4.14) constitute the basic rapid tracking control algorithm, which from here on is referred to as q-learning algorithm I. With q l,k and ei , k now available, the process can go on to calculate the next optimal modification Aqk'±+/ / (to yield q1,k+1 an d e l,k+1\) until all N elements of q have been modified. Then a new learning cycle can be started by calculating qi +1,1 ,••• and so on. The above learning algorithm has been proven to converge [6] with approaching zero and q l,k J-1, k approaching the corresponding optimal control q °P t , if the learning cycle is allowed to go on forever. 4.4 Summary In this chapter, the basic rapid tracking algorithm, namely q-learning algorithm I was studied. The algorithm, which is made up by equations (4.2), (4.12) and (4.14), is iterative in nature and theoretically converge with and q l,k approaching q °P t . Since the error element e = fekl i ek el , k approaching zero in the tracking error sequence gets minimized k times each modification cycle, the resulting value of ek tends to be larger when k is small than when k is large. Hence the tracking performance will be comparatively the worst at the beginning, then becomes better and better as time elapses during an actual tracking trial. Because the algorithm allows easy bounding of the actuation signal magnitude with minimum compromise on the tracking performance, it thus mitigates the actuator saturation problem. Another good feature of the algorithm is that the 45 tracking control signals begins with zero values and also ends with zeros (or very small) values at the end of each tracking trial, so that the manipulator does not need to be driven to the original still position dynamically. This implies that the reference trajectory to be tracked needs not be truly repetitive. 46 Chapter 5 Adaptive Rapid Tracking Strategy In the last chapter, we have discussed the basic rapid tracking algorithm, which is applicable only to linear time-invariant parameter-known systems. However, in practice, all industrial processes are at least slowly time-varying, parameter unknown or imprecisely known. In such case, adaptation should be applied. 5.1 Adaptive Rapid Tracking with General Plant Consider the system in the following figure where plant P is a linear plant. Tracking Signal Generator s r e -I I^ V 1.0 u + P y Figure 5.1 Tracking control system structure Let AB -1 and Y -1 X denote the polynomial coprime factorizations of P and controller C respectively. Then PC^P Y = 1+ PC r+ 1 +PO AX^AY = r+ AX + BY AX + BO (5.1) If AX+BY=1^ 47 (5.2) then y = AXr AYq (5.3) The fact that AX and AY are both polynomials with finite orders implies that the system is stable. Further, because AY is a polynomial with finite order and hence a finite impulse response from q to y, the convergence of q-learning algorithm can be relatively faster. In another word, the controller designed will not only stabilize the plant AB -1 if it is open-loop unstable, but also allow a finite impulse response from q to y and thus guarantee a fast convergence rate of the q-learning algorithm. Practically, as any physical plant operates, its components wear out, the operating environment changes and the dynamics of the plant changes (most likely slowly) with time. Thus, to maintain top performance under such situation, h, the impulse response sequence from q to y, the plant and controller parameters must be adaptively identified. To develop an adaptive control algorithm for the q-learning control system, let 6, V denote the degrees (in z -1 ) of B, A respectively, and U be a Hurwitz polynomial of degree v = v — 1, then there exist X1, Y1 [11] of orders — 1, v — 1 respectively such that AXid- BY1 = U^ 48 (5.4) Now, if we choose X1, Y1 as the controller, then according to equation (5.1), AX1 BY1 = U becomes the closed-loop characteristic polynomial. Note that U here is known, its coefficients can be determined by the prespecified performance requirements, such as on rise-time, overshoot, etc. Multiplying the right side of equation (5.4) by AX + BY yields AX 1 BY1 = U(AX + BY)^(5.5) To identify the controller, an error equation must be set up, the convergence of which to zero would lead to the controller being identified. Towards this end, let y = AB —l u = Ax, then u = Bx. Multiplying equation (5.5) by x yields Xly + Y1 u = U(Xy + Yu)^ (5.6) Since U is known and u, y can be measured, equation (5.6) is an equation linear in the unknown X, Y, X1, Y1. Therefore, X, Y, X1, Y1 can be identified by applying any reliable linear recursive identification algorithm after defining the error E to be E XUy kUu — Xiy — friu^(5.7) where ^ denotes estimates. Before applying the rapid tracking algorithm, it is still necessary to know h, the impulse response from q to y. This can be obtained by identifying the plant 49 P = AB - 1 first, which can be further done by applying another identification process to the error equation 7,b = y — Au^ (5.8) AY^- AY1 then h can be calculated from the transfer function U• AX1+BY1 There should be no stability problem with this adaptive control system because the assumption of complexity of the reference trajectory will lead to persistent excitation in the signal pair (u,y) which in turn lead to parameter convergence and hence stability. 5.2 Application related issues Before applying the adaptive rapid tracking algorithm (ARTA), the initial q and e or q°, e ° must be available. For a parameter known time-invariant plant, this implies that one tracking trial must normally be attempted first. During this trial, q°, e ° can be actually acquired to allow the learning algorithm to start, then rapid tracking algorithm can be invoked so that ever-more precise tracking can be attained in the second and future trials. For a parameter imprecisely known or unknown plant, however, one more trial is normally needed before q ° , e ° can be obtained for use by the rapid tracking algorithm. During the very first trial, the controller adapts to the desired one, and the plant gets identified, but the tracking error generated would not completely reflect that of the controlled system due to the adaptation at the start of the trial. 50 ° Hence a second trial is needed to generate the q , e° required by the rapid tracking algorithm for precise and rapid tracking in the third and future trials. In the time-varying case, h, the impulse response from q to y, must be either recursively identified during a tracking trial or in one-shot after the trial, then be used for generating the new tracking control q for the next trial. The identification can be carried out exactly as pointed out earlier. Since the reference trajectory to be tracked is assumed to be highly complex, the data acquired for identification will be sufficiently rich. The identification process will be uniformly stable. Therefore, the identified impulse response will be uniformly bounded as long as C continues to stabilize the plant P and the true impulse response of the slowly varying system is uniformly bounded. Since a uniform bound can be easily set on the tracking control q, q can also be assumed to be uniformly bounded. Hence the entire adaptive tracking system will be uniformly stable. 51 5.3 Application of the ARTA to the linearized RPDDM system Parameters of linearized plant u q,e,h^Rapid tracking Linearized plant algorithm r + e ^ ---11-0^►1 Controller A^A Iv u Identification e ei ■ Computed t torque • 0 Robot dynamics (non-linear) y parameterk identification Parameters^I- Controller design A u ...4.1Dynamics ^►Identificationi■^ Controller parameters Figure 5.2 Over-all tracking control system structure Figure 5.2 illustrates the over-all configuration of the control system when the adaptive rapid tracking algorithm is applied to the approximately linearized RPDDM. The dashed box contains the supposedly linearized plant, whose parameters are imprecisely known and need to be further identified. 5.3.1 Parameter identification for the approximately linearized plant Since the approximately linearized plant P is supposed to be a double integrator, that is Tz 1 I ______ u = or y =^ (i -z-i ) in discrete time domain, where T is the sampling period, it is reasonable to assume that P takes the form of A^bpiz-1 B 1 + a p iz -1 + a p 2z -2 P=—= ^ where bp 1, a p i and a p 2 are coefficients and need to be identified. 52 (5.9) Hence we can set up the error equation (5.8) as = (1 + a p iz -1 + a p 2z -2 )y — (5.10) which gives ap l y(k)=[—y(k —1)^—y(k —2)^u(k —1)] [ a p 2 +0 bpi (5.11) ,f,T n By applying RLS, parameter Op can be completely identified. 5.3.2 Controller design and controller parameter identification According to section 6.2 and equation (5.9), given a Hurwitz polynomial U of degree v = S + v —1 = 2 + 1 — 1 = 2, there would exist X1, Y1 of degrees S —1 =1 and v — 1 = 0 respectively, such that AX1 + BY1 = U^ (5.12) Equation (5.12) is the characteristic polynomial of the closed-loop system, which can be specified by specifying U given the performance specifications. Now, if a tracking rise-time of 0.1 sec is required, this together with the consideration that the end-effector should have no overshoot, which implies a critical damping ratio of = 1, will determine U as U = fo + fiz -1 + fez-2 (5.13) = 1 1.921578877z -1 + 0.923116346z -2 Now, considering equation (5.2) and the degree assignments for X1, Y1, we can — assume that Xi = be 0 + ^ { =1 53 (5.14) and similarly X = b o + biz -1 (5.15) ^ { Y=1 Substituting X ,Y, X1, Y1 into equation (5.7), we have 6 = Uu — (bo + biZ -1 )Uy — u — (b c 0 + bc iZly^(5.16) or e = (Uu — u) + (b o + biz -1 )Uy — (b o o + b c izly^(5.17) By defining Uu(k) — u(k) = u u (k) (5.18) ^ { Uy(k) = y u (k) equation (5.17) becomes u u (k) = [y(k) y(k — 1) —yu (k) —y u (k — 1)] _ 4: 7: O c 4. e ba ba bo b1 +6 (5.19) 1 Again, by applying RLS, the controller parameters b o o, b o l can be identified. To make sure that the plant's and controller's parameters are correctly identified, we can check to see if the equations AX + BY = 1^ (5.20) and AX 1 + 13f71 = U^ (5.21) hold, using the identified parameters. 54 Chapter 6 Simulation Results and Conclusions 6.1 Simulation Results For the purpose of demonstrating the identification of the dynamic parameters of RPDDM, the true (hypothetical) dynamic parameters to be used to simulate the robot dynamics are assumed to be given as in table 6.1. Also, the initial states of the manipulator are chosen to be 0 = [0 27r/5 57r/6] Tand 0 = [0 0 0] T . Identification of dynamic parameters are carried out using the actual work done by the torques applied at the three independent joints. The measurements of joint angles, angular velocities and applied torques at the joints are incorporated with normally distributed random noises. The variances of the noises incorporated with the applied torques and joint angles and joint angular velocities are assumed to be 4% and 1% of the peak values of the corresponding measurements, (i.e.[0.012;0.008;0.001] for the torques, [0.00035;0.002;0.0025] for 0 and [0.00015;0.00075;0.001] for 0). The initial dynamic parameters are assumed to be zeros. The covariance matrix for RLS identification is set to 10 7 1. Since the work done by applied torques is obtained through integration, the smaller the sampling period, the more accurately it will be calculated. On the other hand, considering the practical realizability, a sampling rate of 0.001 sec. is selected. 55 Figure 6.1 shows the 24 dynamic parameters identified under the conditions specified above. Their final values are also listed in table 6.1. •^Parameters Tme value Initial value Estimated value P(1) 0.8698 0 0.8687 P(2) -0.2503 0 -0.2380 P(3) -0.0226 0 -0.0254 P(4) 0.0789 0 0.0792 P(5) 0.0315 0 0.0334 P(6) 0.0163 0 0.0164 P(7) 0.1349 0 0.1321 P(8) 0.0660 0 0.0649 P(9) -0.0628 0 -0.0627 P(10) 0.0335 0 0.0334 P(11) 0.0048 0 0.0044 P(12) 0.0022 0 0.0021 P(13) 0.0092 0 0.0082 P(14) 0.0035 0 0.0046 P(15) 0.0100 0 0.0102 P(16) 0.0150 0 0.0146 P(17) 0.0200 0 0.0200 P(18) 0.0250 0 0.0242 P(19) 0.0069 0 0.0068 P(20) 0.4348 0 0.4254 P(21) 0.0334 0 0.0327 P(22) 0.0408 0 0.0408 P(23) 0.0129 0 0.0129 P(24) -0.0183 0 -0.0225 P(25) 0.0400 0 0.0403 P(26) 0.037 0 0.0353 P(27) 0.0410 0 0.0416 Table 6.1 True and estimated dynamic parameters 56 1 27 estimated dynamic parameters 0.8 0.6 0.4 0.2 0 -0.2 -1‘ -0.4 0 20^40^60^80^100^120 140 160 180^200 time (sec) Figure 6.1 Estimated dynamic parameters The simulation of the computed torque is one part of the simulation of the whole system. It is carried out using the estimated dynamic parameters of the manipulator. Because of the limitation in choosing the sampling rate, the work done by applied torques can not be accurately calculated so that it equals to the total energy change of the manipulator system, thus resulting in some deviation of the estimated dynamic parameters away from the true ones. As a result, the non-linear manipulator system can only be approximately linearized. Fortunately, this approximate linearization does not degrade the tracking performance very much, according to the simulation on tracking. Figure 6.2 shows the differences between the inputs and the second derivative of output angles of the approximately linearized plant, which depict the extend 57 of linearization. These differences may seem large. However, the corresponding relative differences are much smaller. This can be seen by refering to Figure 6.10. U-THETA_dd time (sec) Figure 6.2 U — e Because in practice, the approximately linearized plant is still parameter imprecisely-known, therefore, RLS is applied again to identify the parameters. At the same time the parameters of the controller are also identified. The initial controller and plant parameters and the covariance matrices for RLS identification are shown in table 6.2. The measurements for identification are the joint angles, which are the output of the approximately linearized plant, and u, the command input of the same plant. Both are assumed to be incorporated with normally distributed random noises with variances of 3% and 2% of the peak values of 58 the respective measurement. The covariance matrices are reset at the beginning of each trial. It should be mentioned that for the purpose of identifying the controller and plant parameters, a second-order linear model is used. Of course, higher-order model can also be adopted for this purpose. When a second-order model or a higher-order one should be used depends on how well the non-linear manipulator system is linearized. Plant Controller Initial covariance matrix Joint Initial parameters [bc0; bcl; b0; bl] 1 [1;-0.6;3;2] 1.Oe5eye(4) [0;0;0] 1.0e5eye(3) 2 [0.5;-1;1.2;0.7] 1.0e5eye(4) [0;0;0] 1.0e6eye(3) 3 [4.1;0.3;2.3;2] 1.0e4eye(4) [0;0;0] 1.0e7eye(3) Initial covariance matrix Initial parameters [apl; apt; bpl] Table 6.2 Initial controller and plant parameters and covariance matrices for RLS identification Before applying the adaptive rapid tracking algorithm, two trials should be attempted. In the first trial, the controller is allowed to adapt to the desired one, but the tracking error generated does not yet fully reflect that of the controlled system due to the adaptation of the controller at the beginning of the trial. Thus, a second trial is needed to generate the q°, e° required by the rapid tracking algorithm for precise tracking in the third and future trials. Figures 6.3 to 6.8 show the controller and the plant parameter estimates for the first two trials. 59 Figure 6.9 shows the unbounded tracking performance of tracking two successive tasks after 50 cycles of learning. Its control signals are shown in Figure 6.10. Comparing with Figure 6.11, which shows the tracking performance under the same conditions as that of Figure 6.9 except that it is obtained after 90 learning cycles, it can be known that the more cycles learnt, the better the tracking will be. Since in practice, saturation always exists, and for reality, the actual bounds on the DC motors are calculated and converted to the corresponding bounds on the control signals U. This can be done by using the dynamic equations of motion and assuming the worst case of actuation. Also, to make it realistic, normally distributed random noises are introduced into the identifier which identifys the controller and plant parameters. Figure 6.12 shows the tracking performance with the actual bound set on the control signals, and noise introduced to the identifier. The corresponding control signals are shown in Figure 6.13. The actual bounds on the control signals are found to be [109.7; 83.7; 225.3] for joints 1,2,3 respectively. The values of control signals for exact tracking are approximately [116; 108; 280]. Comparing Figure 6.12 and Figure 6.9, we can see that even when the tracking control signals are bounded at actual bounds, and the measurements for identification are noisy, the plant output can still track the input reference fast with fairly good precision. This is very important because it mitigates the practical problem of saturation of actuator while still allows satisfactory tracking performance. It is noted from Figures 6.10 and 6.13 that before the end of each tracking 60 task, the command signals tend to be very small. This is important in practice, because it implies that the manipulator does not need to be driven dynamically to its original still position after each tracking trial. plant controller apl ap2 bp 1 bc0 bc1 joint 1 -2.0031 0.9990 0.0101 66.136 -56.788 joint 2 -2.001 1.0001 0.0107 66.359 -55.637 joint 3 -2.007 1.0005 0.0103 81.203 -67.012 Table 6.3 True and estimated parameters of plant and controller controller parameters for joint one 300 250 200 150 100 50 0 -50 -100 -150 0 0.5 1.5 2 2.5 3 35 time (sec) Figure 6.3 Estimated controller parameters for joint one 61 controller parameters for joint two 300 200 100 0 -100 -200 -300 -400 0 0.5 1 1.5^2 2.5 3 35 time (sec) Figure 6.4 Estimated controller parameters for joint two controller parameters for joint three 250 200 150 100 50 0 -50 -100 -150 -200 0 0.5 1 1.5 2 2.5 3 35 time (sec) Figure 6.5 Estimated controller parameters for joint three 62 estimated plant parameters for joint one Figure 6.6 Estimated plant parameters for joint one estimated plant parameters for joint two Figure 6.7 Estimated plant parameters for joint two 63 estimated plant parameters for joint three 1.5 1 0.5 0 -0.5 -1 -1.5 -2 2.5 0 0.5 1 1.5^2 2.5 3 35 time (sec) Figure 6.8 Estimated plant parameters for joint three unbounded tracking after 50 cycles of learning 3 2.5 2 1.5 0.5 -0.5 ^ 0 05 1.5^2 2.5 3 35 time (sec) Figure 6.9 Tracking performance after 50 cycles of learning—unbounded 64 unbounded command signals U after 50 cycles of learning time (sec) Figure 6.10 Tracking control for unbounded tracking using true dynamic parameters unbounded tracking after 90 cycles of learning 2.5 ,, ..... I 1.5 - 0.5 -0.5 ^ 0 OS ^ 1 1.5^2 2.5 ^ ^ 3 35 time (sec) Figure 6.11 Tracking performance after 90 cycles of learning—unbounded 65 bounded tracking after 50 cycles of learning, noise introduced time (sec) Figure 6.12 Bounded tracking, noise, estimated parameters, 50 learning cycles 250 bounded command signals after 50 cycles of learning,noise introduced 200 150 100 50 -50 -100 -150 -200 -250 0 1 15^2 2.5 3 time (sec) Figure 6.13 Tracking control for bounded tracking (noise, estimated parameters, 50 cycles) 66 35 6.2 Conclusions In this thesis, an adaptive rapid tracking control methodology is applied to a simulated 3 DOF direct drive rigid manipulator with parallelogram mechanism. The non-linear, coupled dynamics of the manipulator was approximately linearized and decoupled via computed torque technique and by using the identified dynamic parameters. The identification was based on the Energy Conservation Theorem. Because of the limitation in choosing sampling rate and the presence of noise in the measurements, the identified dynamic parameters are some distance away from the true (hypothetical) ones. Though the linearization is approximate due to the imperfect identification of the dynamic parameters, it does not degrade the tracking performance very much. Since the parameters of the approximately linearized plant are still impreciselyknown, RLS is used to identify the plant and controller parameters adaptively, using the data collected from the input of the linearization block and the system's output, both of which are assumed noisy. Based on the identified controller and plant parameters, the supplemental tracking control signal is generated. Simulation results show that this rapid tracking methodology gives good tracking performance, even when the actual bound is set on the tracking control signal. This is particularly important in practice, since every actuator saturates. 67 Bibliography [1] C.H. An, C.G. Atkeson, and J.M. Hollerbach. "estimation of inertial parameters of rigid body links of manipulators". Proceedings of the 24th CDC, pp 990 995, 1985. - [2] Haruhiko Asada and Kamal Youcef-Toumi. "analysis and design of a directdrive arm with a five-bar-link parallel drive mechanism". Journal of Dynamic Systems, Measurements and Control, Vol. 106, pp 225-230, September, 1984. [3] B.A. Francis and M. Vidyasagar. "algebraic and topological aspects of the regulator problem for lumped linear systems". Automatica, Vol. 19, No. 1, pp. 87-90, 1983. [4] M. Gautier. "identification of robots dynamics". Proc. IFAC, Symp. on Theory of Robots, pp 125 130, Vienne, 1986. - [5] M. Gautier and W. Khalil. "a direct determination of minimum inertial parameters of robots". IEEE Conf. on Robotics and Automation, pp 16821687, Philadelphia, April, 1988. [6] C.C.H. Ma. "rapid tracking of complex trajectory in short-duration processes". Automatica, The Journal of IFAC, 1990. [7] C.C.H. Ma. "direct adaptive rapid tracking of complex trajectories". ASME Journal of Dynamics, Measurement and Control, submitted in 1991. [8] E.N. Moore. Theoretical Mechanics. John Wiley & Sons, 1983. 68 [9] S.Y. Sheu and M.W. Walker. "estimating the essential parameter space of robot manipulator dynamics". Proc. of the 28th CDC, pp 2135 2140, Tamps, - Florida, December, 1989. [10]Mark W. Spong and M. Vidyasagar. Robot Dynamics and Control. John Wiley and Sons, Inc., 1989. [MM. Vidyasagar. Control System Synthesis: A Factorization Approach. The MIT Press, 1985. 69
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Adaptive rapid tracking by a 3 DOF robot manipulator
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Adaptive rapid tracking by a 3 DOF robot manipulator Qu, Jing 1991
pdf
Page Metadata
Item Metadata
Title | Adaptive rapid tracking by a 3 DOF robot manipulator |
Creator |
Qu, Jing |
Date Issued | 1991 |
Description | In this thesis, an adaptive rapid tracking control methodology, which allows a robot manipulator to track an arbitrarily pre-specified short yet maybe complex trajectory quickly and precisely, is simulated. The dynamic equations of motion of the robot manipulator, which has a parallelogram mechanism, are established using Euler-Lagrange method. Recursive least-squares identification is carried out to identify the dynamic parameters of the manipulator system. This is followed by computed torque to approximately linearize the non-linear system using the estimated parameters. Because the approximately linearized plant is time-varying and has imprecisely-known parameters, and for the purpose of rapid tracking, adaptive control with again the recursive least-squares identification is applied to identify the parameters of the approximately linearized plant and of the controller, based on which a supplemental tracking control signal is learned and rapid tracking is accomplished by injecting this signal to the input of the approximately linearized plant. The simulation results show that this tracking methodology allows very good tracking performance. |
Extent | 2735830 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
File Format | application/pdf |
Language | eng |
Date Available | 2008-09-15 |
Provider | Vancouver : University of British Columbia Library |
Rights | For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. |
DOI | 10.14288/1.0065131 |
URI | http://hdl.handle.net/2429/1970 |
Degree |
Master of Applied Science - MASc |
Program |
Electrical and Computer Engineering |
Affiliation |
Applied Science, Faculty of Electrical and Computer Engineering, Department of |
Degree Grantor | University of British Columbia |
Graduation Date | 1992-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
Aggregated Source Repository | DSpace |
Download
- Media
- 831-ubc_1992_spring_jing_qu.pdf [ 2.61MB ]
- Metadata
- JSON: 831-1.0065131.json
- JSON-LD: 831-1.0065131-ld.json
- RDF/XML (Pretty): 831-1.0065131-rdf.xml
- RDF/JSON: 831-1.0065131-rdf.json
- Turtle: 831-1.0065131-turtle.txt
- N-Triples: 831-1.0065131-rdf-ntriples.txt
- Original Record: 831-1.0065131-source.json
- Full Text
- 831-1.0065131-fulltext.txt
- Citation
- 831-1.0065131.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0065131/manifest