EXPERIMENTAL SLIDING MODE CONTROL OF A FLEXIBLE SINGLE LINK MANIPULATOR by TIMOTHY WEI TIE QIAN B.A.Sc., Shanghai Institute of Mechanical Engineering, 1982 M.A.Sc., Shanghai Institute of Mechanical Engineering, 1984 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY 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 September, 1993 © Timothy Wei Tie Qian, 1993 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) El ec, i nca_k En Department of ^ , - The University of British Columbia Vancouver, Canada Date DE-6 (2/88) v eep l i e ii ABSTRACT Employing flexible robot arms is of great importance to the intended enhancement of the performance of current generation robots to achieve higher efficiency. It is also indispensable to space related applications due to various restraining factors in that field. The reason that there is still very scarce usage of flexible arm lies in the difficulties involved in designing and implementing a good controller to achieve the desired performance. Though a wealth of literature has already appeared on this subject, the number of controller design schemes presented has been small. Still fewer are the experimental verifications which are essential to evaluating the real applicability of these designs. The objective of this thesis is to explore and develop practical controller designs based on the variable structure system (VSS) and sliding mode theory, and experimentally test them on a flexible robot arm. A new control design method (VSSMC) is firstly proposed based on the continuous time variable structure sliding mode theory. It can significantly simplify the VSS system designing process. Moreover, the variables concerned can be assigned separate gains. Direct application of the VSSMC to the flexible arm, however, has limitations due to the inherent properties of the system. Though these limitations are overcome by using a bigger sampling period and lower gain, these measures also constrain the maximum achievable response speed and the robustness margin on parameter uncertainties. To deal with the above mentioned problem and facilitate digital implementation and solve the undesirable "chattering" in conventional VSS control, another novel controller design method is developed, i.e., the Discrete-time Quasi-Sliding Mode Control (DQSMC). This design is proposed based on a re-visit to the necessary and sufficient iii conditions for the existence of the discrete-time sliding hypersurfaces. Two control algorithms are derived satisfying these two conditions. The analysis on these two algorithms results in the development of DQSMC. It is proven that this design is equivalent to a full state feedback with its steady-state motion constrained to the sliding hypersurfaces. It is also shown that the DQSMC method provides a general structure that unifies the three different kinds of discrete-time sliding mode control, i.e., the VSS, the non-VSS and the VSS with a smoothing boundary layer. Experimental testings for the DQSMC controller showed quite good results, thus verifying the effectiveness of the design method. The robustness under load variations is also tested. The experimental results compared favorably against the Linear Quadratic Gaussian (LQG) controller under the same load variations. To realize the proposed new controller designs, a novel approach is devised for these kinds of plants to obtain all the states. Separate first order observers are used to estimate the states that are not directly accessible. The advantages of the method are the simplified observer design processes and easier pole assignments for the observer according to different mode requirements. The designed observers are quite successful in obtaining the desired state estimates. The new control design methodologies developed in this thesis are easy to understand, design and implement. The smoothness in the control signal of DQSMC is especially desirable for applications where one wants to avoid exciting the high frequency unmodeled dynamics. It can be used in many control applications. Table of Contents ABSTRACT^ ii Table of Contents^ iv List of Figures^ ix List of Tables^ xiii List of Symbols^ xiv ACKNOWLEDGEMENT^ 1 xxvii INTRODUCTION 1 1.1 Motivation ^ 1 1.1.1^Significance and problems of employing flexible manipulators 1 1.1.2^Objective of the research ^ 2 1.1.3^Variable structure systems and flexible arm control 1.2 1.3 ^ 4 Literature review ^ 6 1.2.1^Dynamic modeling ^ 7 1.2.2^Controller design ^ 9 1.2.3^Variable structure control for manipulators ^ 12 1.2.4^Discrete-time sliding mode control ^ 14 Contributions ^ 16 iv V 2 EXPERIMENTAL SETUP 18 2.1 Introduction ^ 18 2.2 Flexible arm ^ 19 2.3 Motor and the drive system ^ 20 2.4 Optical encoder ^ 21 2.5 Strain gauges and tip position sensor ^ 21 2.6 Computer and interface boards ^ 23 2.7 Software and tools ^ 23 2.8 Sensor calibrations ^ 24 2.8.1^Strain gauge calibration ^ 24 2.8.2^Tip deflection sensor calibration ^ 25 Sensor resolution- and calibration-caused error ^ 26 2.10 Actuator torque calibration and error analysis ^ 27 2.9 3 MODELING, IDENTIFICATION AND MODEL REFINEMENT 30 3.1 Introduction ^ 30 3.2 Coordinates ^ 30 3.3 Assumptions ^ 31 3.4 PDE and boundary conditions ^ 32 3.5 Orthogonality condition and ODE ^ 33 3.6 State space description ^ 34 3.7 Strain gauge selection based on analytical model ^ 35 3.8 Why use the frequency identification method? ^ 36 3.9 IRPRBS identification of modal frequencies 38 ^ vi 3.10 Sinusoidal identification of modal frequencies and damping factors ^40 3.11 Identification of cba0), qt(L) and 01(x) / 3.12 Identification of -111 3.13 Model refinement ^ 3.14 Practical controllability study ^42 ^44 45 ^53 4 EXISTING CONTROL LAW IMPLEMENTATION ^59 4.1 Introduction ^59 4.2 PD control based on rigid joint model ^ 60 4.3 Tip position PD control ^ 64 4.4 Tip position LQG control 4.5 Performance evaluation ^ ^71 76 5 VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 80 5.1 Introduction 5.2 Model and controller design ^ ^80 80 5.3 Separate 1st-order observer design ^85 5.4 Simulation results ^87 5.5 Discussion ^91 6 DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 94 6.1 Introduction 6.2 Background information ^ 6.3 Sliding surface determination ^94 95 ^96 6.4 Discrete-time necessary existence condition and the control law .^99 VII 6.5 Discrete-time sufficient existence condition and the control law .^. 101 6.6 Discrete-time quasi-sliding mode control ^ 106 6.7 DQSMC analysis ^ 108 6.8 Unification of VSS and non-VSS ^ 108 7 EXPERIMENTAL VERIFICATION^ 112 7.1 Introduction ^ 112 7.2 Design model for DQSMC control ^ 112 7.3 Choosing controller parameters ^ 114 7.4 Experimental results ^ 117 7.5 Conclusions ^ 118 8 ROBUSTNESS TESTS^ 128 8.1 Introduction ^ 128 8.2 Robustness tests ^ 129 8.3 Robustness comparison with detuned LQG ^ 133 9 SUMMARY AND RECOMMENDATIONS ^ 137 9.1 Summary ^ 137 9.2 Recommendations ^ 139 APPENDICES^ 141 A MODEL DERIVATION ^ 141 A.1 PDE and boundary conditions ^ 141 A.2 Vibrational modes ^ 143 A.3 Orthogonality conditions and modal shapes ^ 144 viii A.4 State space model ^ 145 A.5 Analytical model for loaded case ^ 147 B IRPRBS EXCITING SIGNAL^ 149 C DISCRETIZED LQG CONTROL ALGORITHM^154 C.1 Discretized optimal control ^ 154 C.2 Kalman filter design ^ 157 C.3 Optimal control about nonzero set point ^ 158 C.4 Implementation considerations ^ 160 D PROJECTOR IN SLIDING SURFACE DESIGN^163 D.1 Projector definitions and properties ^ 163 D.2 Projector in sliding surface design ^ 165 E PROOF OF FACT 1^ 167 F REAL-TIME SOFTWARE DEVELOPMENT^ 170 F.1 Introduction ^ 170 F.2 Real time clock ^ 170 F.3 Real-time control, data acquisition and recording ^ 172 F.4 Floating point arithmetic ^ Bibliography^ 173 174 List of Figures 1.1 Simple example of sliding mode ^ 2.1 Schematic of the experimental setup ^ 19 2.2 Measuring tip deflection via PSD and LED ^ 22 2.3 Tip PSD calibration curve fitting 2.4 Schematic of torque calibration method ^ ^ 3.1 Flexible arm coordinate 3.2 Flexible arm length definition ^ ^26 28 31 41 3.3 Transfer function before model refinement (tip PSD, unloaded) . ^. 46 3.4 Transfer function after model refinement (tip PSD, unloaded) .^. 47 3.5 Transfer function before model refinement (strain gauge Z, unloaded)^47 3.6 Transfer function after model refinement (strain gauge Z, unloaded) . 48 3.7 Transfer function before model refinement (strain gauge R, unloaded)^48 3.8 Transfer function after model refinement (strain gauge R, unloaded) ^ 49 3.9 Transfer function before model refinement (tip PSD, loaded) ^ 49 3.10 Transfer function after model refinement (tip PSD, loaded) ^ 50 3.11 Transfer function before model refinement (strain gauge Z, loaded) . ^ 50 3.12 Transfer function after model refinement (strain gauge Z, loaded) . ^ 51 3.13 Transfer function before model refinement (strain gauge R, loaded) ^ 51 ix x 3.14 Transfer function after model refinement (strain gauge R, loaded) . . ^53 4.1 Block diagram of the rigid joint model closed-loop PD control . . ^61 4.2 Rigid joint model PD control, after block diagram manipulation . ^61 4.3 PD control based on rigid joint model, system's response ^63 4.4 PD control based on rigid joint model, control signal ^63 4.5 PID control based on rigid joint model, system's response ^ 64 4.6 PID control based on rigid joint model, control signal ^ 65 4.7 Block diagram for tip position PD control ^ 65 4.8 Open-loop pole/zero locations ^ 66 4.9 Tip position PD control, tip response ^ 67 4.10 Tip position PD control, control signal 4.11 Root locus for tip PD control ^ ^68 68 4.12 Experimental vs. friction-added-simulation results for tip PD control^70 4.13 Pole/zero locations of friction-included model ^71 4.14 Initial "dip", experiments vs. simulation ^73 4.15 After modifying 4(0), experiments vs. simulation ^ 74 4.16 Tip position, LQG control, only tip and joint sensors are used . . ^75 4.17 Joint position, LQG control, only tip and joint sensors are used . ^75 4.18 Control signal, LQG control, only tip and joint sensors are used . ^76 4.19 Tip position, LQG control, four sensors used ^77 4.20 Joint position, LQG control, four sensors used ^77 4.21 Strain gauge Z, LQG control, four sensors used ^ 78 xi 4.22 Strain gauge R, LQG control, four sensors used ^78 4.23 Control signal, LQG control, four sensors used ^79 5.1 Tip position VSSMC control, C=2.0 ^ 5.2 Phase plane trajectory, C=2.0 5.3 Tip position VSSMC control, C=3.0 ^ 5.4 Phase plane trajectory, C=3.0 5.5 Tip position VSSMC control, C=4.0 ^ 5.6 Phase plane trajectory, C=4.0 88 ^89 89 ^90 90 ^91 6.1 Definition of the smoothing layer parameters ^ 110 7.1 Group A., Tip position under DQSMC control ^ 118 7.2 Group A., Joint angle under DQSMC control ^ 119 7.3 Group A., Strain gauge Z under DQSMC control ^ 119 7.4 Group A., Strain gauge R under DQSMC control ^ 120 7.5 Group A., RP trajectory under DQSMC control ^ 120 7.6 Group A., Control signal in DQSMC control ^ 121 7.7 Group B., Tip position under DQSMC control ^ 121 7.8 Group B., Joint angle under DQSMC control ^ 122 7.9 Group B., Strain gauge Z under DQSMC control ^ 122 7.10 Group B., Strain gauge R under DQSMC control ^ 123 7.11 Group B., RP trajectory under DQSMC control ^ 123 7.12 Group B., Control signal in DQSMC control ^ 124 7.13 Group B., State variable X1 under DQSMC control ^ 124 xii 7.14 Group B., State variable X2 under DQSMC control ^ 125 7.15 Group B., State variable X3 under DQSMC control ^ 125 7.16 Group B., State variable X4 under DQSMC control ^ 126 7.17 Group B., State variable X5 under DQSMC control ^ 126 7.18 Group B., State variable X6 under DQSMC control ^ 127 8.1 LQG control when the system is unloaded ^ 130 8.2 DQSMC control when the system is unloaded ^ 131 8.3 Controller performances under the load of 154.1 grams ^ 132 8.4 Controller performances under the load of 177.0 grams ^ 132 8.5 Controller performances under the load of 331.1 grams ^ 133 8.6 Detuned LQG vs. DQSMC when the system is unloaded ^ 135 8.7 Detuned LQG vs. DQSMC under the load of 154.1 grams ^ 135 8.8 Detuned LQG vs. DQSMC under the load of 177.0 grams ^ 136 8.9 Detuned LQG vs. DQSMC under the load of 331.1 grams ^ 136 B.1 m series and its autocorrelation function ^ 151 B.2 Autocorrelation function of IRPRBS ^ 153 C.1 Block diagram of closed loop LQG control with nonzero set point . . 161 List of Tables 2.1 Physical parameters of the arm system ^ 20 3.1 Cantilevered modal frequencies, analytical and experimental ^ 41 3.2 Pinned-free modal frequencies, analytical and experimental ^ 45 3.3 Model parameter values (unloaded case) ^ 52 3.4 Model parameter values (loaded case) ^ 54 3.5 Controllability study ^ 56 3.6 Controllability study of Schmitz's model ^ 57 B.1 Example of IRPRBS, Np = 7. ^ 150 xiv List of Symbols a^viscous damping inside the actuator. (Chap. 3, 4, 5, 7) a^voltage level in a binary series. (Append. B) a ± jb complex conjugate poles in sliding surface design. (Chap. 7) A^system's matrix in state space equation. (Chap. 3, 4, 5, 7)(Append. A) A^coefficient of solution A.24. (Append. A) A(L.)^first row of the error model. (Chap. 7) A li^submatrix in discretized LQG performance index. (Append. C) Al2^submatrix in discretized LQG performance index. (Append. C) A21^submatrix in discretized LQG performance index. (Append. C) A22^submatrix in discretized LQG performance index. (Append. C) Aeq^closed-loop system's matrix when in sliding motion. (Append. D) b^input matrix in state space equation. (Chap. 3, 4, 5, 7) addition on mod 2 basis. (Append. B) ED^direction sum of disjoint subspaces. (Append. D) B^coefficient of solution A.24. (Append. A) c 1^constant coefficient in the equation describing harmonic vibration of a point on the flexible arm. (Append. A) C2^constant coefficient in the equation describing harmonic vibration of a point on the flexible arm. (Append. A) c,^ith element of sliding surface parameter vector. (Chap. 6) last element of the sliding surface parameter vector. (Chap. 6) c 2^constant coefficient in VSSMC design. (Chap. 5) c3^constant coefficient in VSSMC design. (Chap. 5) C4^constant coefficient in VSSMC design. (Chap. 5) XV C5^constant coefficient in VSSMC design. (Chap. 5) c6^constant coefficient in VSSMC design. (Chap. 5) c9^constant coefficient in VSSMC design. (Chap. 5) C^parameter in switching surface design. (Chap. 5) C^coefficient of solution A.24. (Append. A) Cd^sliding surface parameter vector. (Chap. 6) C T^sliding surface parameter vector. (Chap. 6, 7) Ci qg^optimal feed back gain in LQG control. (Append. C) Co^discretized model output matrix. (Chap. 6, 7) time delay in time series model. (Chap. 1) D^matrix in reference [93]. (Chap. 1) Dil^discretized gain for the ith mode in observer design. (Chap. 5) Di2^discretized gain for the ith mode in observer design. (Chap. 5) D 3^discretized gain for the ith mode in observer design. (Chap. 5) 2 D, VSS smoothing layer parameter. (Chap. 6) DL^controller parameter based on sufficient condition. (Chap. 6) D n^VSS smoothing layer parameter. (Chap. 6) ei^VSS smoothing layer parameter. (Chap. 6) en^VSS smoothing layer parameter. (Chap. 6) E^Young's modulus (Chap. 2, 3) E, calibration error of strain gauge. (Chap. 2) Et^total error for strain gauge due to resolution and calibration. (Chap. 2) f'^tensile force in motor torque calibration. (Chap. 2) f^balance force in motor torque calibration. (Chap. 2) fci^frequency of the ith cantilevered mode frequency. (Chap. 3, 4) xvi fm^upper frequency bound of the IRPRBS exciting signal. (Chap. 3) fm^lower frequency bound of the IRPRBS exciting signal. (Chap. 3) fpi^mode frequency of the ith pinned-free mode. (Chap. 3) friction force of the viscous friction on system. (Chap. 4) F^discretized model systems matrix. (Chap. 6) Fd^defined as (= F — Gi1.21 A21). (Append. C) F_^defined as F — I in DQSMC design. (Chap. 6) F_ i^the ith column of matrix F_. (chap. 6) F+^defined as F I in DQSMC design. (Chap. 6) F+^defined as F kI in (Append. E). F+i^the ith column of matrix F. (Chap. 6) F+i^the ith column of matrix F+ . (Append. E) G discretized model input matrix. (Chap. 6) Gd^defined as (=G). (Append. C) G,^gain in observer for the ith mode. (Chap. 5) G ST^gain for strain gauge readings. (strain/ (per A/D reading)) (Chap. 2) GTP^gain for tip PSD readings. (M./ (per A/D reading)) (Chap. 2) H matrix defined to be the combined form of G and W. (Chap. 6) H defined matrix for implementing LQG control. (Append. C) I^cross sectional moment of inertia of the flexible beam. (Chap. 2, 3) I^identity matrix. (Chap. 6) -TB^moment IH^motor of inertia of the flexible beam about the motor axis. (Chap. 2, 3) hub moment of inertia. (Chap. 2, 3) IT^combined moment of inertia of motor hub and the beam. (Chap. 3, 4, 5, 7) J^optimal performance index in LQG control. (Chap. 4) xvii J ^ diagonal matrix containing the desired closed-loop poles on its diagonal. (Chap. 6, 7) Jd ^ kit^ discretized performance index in LQG control. (Append. C) gain in observer for the ith mode in continuous design. (Chap. 5) kit^gain in observer for the ith mode in continuous design. (Chap. 5) ki 3^gain in observer for the ith mode in continuous design. (Chap. 5) K^equivalent state feed back gain matrix. (Chap. 6) K,^optimal feed back gain calculated from (C.15) and (C.17). (Append. C) Kp^proportional gain in PD control. (Chap. 4) Kp^gain in DQSMC controller. (Chap. 6, 7) Kd^derivative gain in PD control. (Chap. 4) Kd^derivative gain in DQSMC control. (Chap. 6, 7) Kpd^controller gain in DQSMC. (Chap. 6) Kies^feed back gain in LQG control. (Chap. 6) Ki^integral gain in PID control. (Chap. 4) Ki^VSS controller gain with a smoothing layer. (Chap. 6) K i^parameters in reference [93]. (Chap. 1) K r,^VSS controller gain with a smoothing layer. (Chap. 6) {l}^IRPRBS series. (Append. B) L^the length of the beam. (Fig. 3.1)(Chap. 3, 4, 5, 7) L^the surface length in strain measurement. (Chap. 2) L^defined matrix for implementing LQG control. (Append. C) L e^distance between force applying point to the motor axis in motor torque calibration. (Chap. 2) L 9^Kalman filter gain. (Append. C) xviii m^arm mass. (Append. A) m^exogenous term in time series model. (Chap. 1) In^maximum length pseudo-random binary series. (Append. B) mS^millisecond. (Chap. 3, 7) int^payload mass at the beam tip. (Chap. 2) M^matrix that provide linear combination of the eigenvector. (Chap. 6, 7) M^defined matrix for implementing LQG control. (Append. C) M^meter, length unit. (Chap. 2, 3) n^number of auto-regressive term in time series model. (Chap. 1) /7,i^number of elements in FEM method. (Chap. 1) N^defined matrix for implementing LQG control. (Append. C) Np^length of the cycle of the IRPRBS signal. (Chap. 3) N(P)^null space of projector P. (Append. D) Or^fixed reference line in Fig. 3.1 OX^flexible arm's neutral axis in Fig. 3.1 P point on the flexible arm in Fig. 3.1. P projector. (Append. D) P,^potential energy of the flexible arm. (Append. A) q system generalized variable in FEM method. (Chap. 1) system generalized variable in FEM method. (Chap. 1) qc^system input for nonzero set point in LQG control. (Append. C) qi(k)^discrete mode position for the ith mode. (Chap. 5) qt(t)^mode position of the ith mode. (Chap. 1, 3, 4, 5, 7) 4i (t)^mode velocity of the ith mode. (Chap. 3, 4, 5, 7) estimated mode velocity. (Chap. 5) xix 4(k)^estimated mode velocity at time k. (Chap. 5) Q^weighting parameter in LQG performance index. (Chap. 4) Q d^weighting matrix in discretized LQG performance index. (Append. C) Qnc^continuous time system's noise spectral density in LQG control. (Chap. 4) R^resistance of strain gauge. (Chap. 2) R^weighting parameter in LQG performance index. (Chap. 4) R^distance of strain gauge at the root to the motor shaft axis. (Chap. 3, 4, 5, 7) Rd^weighting matrix in discretized performance index in LQG control. (Append. C) R(P)^range space of projector P. (Append. D) Rnc^continuous time sensor noise spectral density in LQG control. (Chap. 4) R3 t^continuous time joint position sensor noise spectral density in LQG control. (Chap. 4) Rtp^continuous time tip position sensor noise spectral density in LQG control. (Chap. 4) R 11 (p)^autocorrelation function of IRPRBS. (Append. B) R uti (p) autocorrelation function of PRBS. (Append. B) Rz^continuous time strain gauge Z noise spectral density in LQG control. (Chap. 4) RR^continuous time strain gauge R noise spectral density in LQG control. (Chap. 4) s^Laplace operator (Chap. 3, 4) { s}^square wave series. (Append. B) S^switching surface (if S=0) or representative point (if SO). (Chap. 5) XX S^space. (Append. D) Si^disjoint subspace. (Append. D) 82^disjoint subspace. (Append. D) S^derivative of S. (Chap. 5) S(X(k)) discrete-time sliding surface (if S=0) or representative point (if S 0) at time k. (Chap. 6) S(k)^same as S(X(k)). (Chap. 6) S(k+1) same as S(k) but at time k + 1. (Chap. 6) derivative of S at time k. (Chap. 6) T^sampling period. (Chap. 5, 6) Tk^kinetic energy of the flexible arm. (Append. A) Tq^motor torque. (Chap. 3, 5) {u}^PRBS series. (Append. B) u01^control component in LQG control. (Append. C) ue q^component of the control signal in VSSMC design. (Chap. 5) up^component of the control signal in VSSMC design. (Chap. 5) it,^defined as^u i "1.21 A21Xi). (Append. C) perturbation from the equilibrium. (Append. C) u(k)^discrete control signal. (Chap. 5, 6) equilibrium control. (Append. C) u(s)^Laplace transform of the control signal. (Chap. 4) U^control input to the flexible arm system. (Chap. 3, 5) Uci (k)^control component that try to make S(k + 1) = S(k). (Chap. 6) U, 2 (k)^control component that try to make S(k + 1) = —8(k). (Chap. 6) Ueq^equivalent control signal. (Chap. 6) ^ xxi v^velocity of representative point toward sliding surface. (Chap. 6) v(t)^Gaussian white noise with spectral density lin ,. (Append. C) VP^velocity of a point on the flexible arm. (Append. A) w(L,t)^tip deflection at time t. (Chap. 2) w(t)^Gaussian white noise with spectral density Q nc . (Append. C) w(x,t)^elastic deflection of point at time t and distance x from the motor axis. (Chap. 3) W^eigenvector matrix corresponding to the desired poles. (Chap. 6) W^work done by the motor torque. (Append. A) x^distance of point P from motor axis in Fig. 3.1. x i^tip position error. (Chap. 5, 7) xi^vector that is in subspace Si . (Append. D) x2^derivative x2^vector of tip position error. (Chap. 5) that is in subspace S2. (Append. D) x i (k)^ith state variable at time k. (Chap. 6) x,,(k)^last state variable at time k. (Chap. 6) optimal prediction of state variable. (Append. C) xi^optimal feedback state variable at time i. (Append. C) optimal feedback state variable at time 1+1. (Append. C) X^state variable vector. (Chap. 3, 4, 5) X^neutral axis of undeformed arm. (Chap. 2) X(k)^discrete-time state variable vector. (Chap. 6) X(k+1) discrete-time state variable vector. (Chap. 6) X'^perturbation state from the equilibrium. (Append. C) X^equilibrium state variable. (Append. C) YSGZ^strain gauge Z output. (Chap. 4, 5) YSGR^strain gauge R output. (Chap. 4, 5) YsG(s) u(s) transfer function from control torque to strain gauge output. (Chap. 3) Ytp(s) u(s) transfer function from control torque to tip position. (Chap. 3, 4) Ye^joint angle output. (Chap. 4, 5) Ytp^tip position. (Chap. 4, 5, 7) Ytp^tip velocity. (Chap. 4) gtp^tip position set point. (Chap. 7) y(x,t)^the total displacement of arm tip in Fig. 3.1. Laplace transform of variable y. (Append. A) Yo^pseudo-output of the rigid mode subsystem. (Chap. 5) yi^pseudo-output of the flexible mode subsystem. (Chap. 5) Y(k)^discrete-time output variable vector. (Chap. 6) pseudo-outputs of the system. (Chap. 5) perturbation from the equilibrium. (Append. C) Y^equilibrium output. (Append. C) z^z transform operator. (Chap. 7) z i^first-order observer variable. (Chap. 5) zi(k)^discretized observer variable. (Chap. 5) z i (k+1) discretized observer variable. (Chap. 5) Zi^first-order observer variable. (Chap. 5) Z^distance of strain gauge at the middle to the motor shaft axis. (Chap. 3, 4, 5, 7) Greek a_i^variable defined in DQSMC design. (Chap. 6) cr +i^variable defined in DQSMC design. (Chap. 6) /3^defined variable. (Append. A) t(3_ i^variable defined in DQSMC design. (Chap. 6) 0-Fi^variable defined in DQSMC design. (Chap. 6) system's noise input matrix in LQG control. (Append. C) autocorrelation of white noise. (Append. B) thickness of the arm. (Chap. 3, 5, 7) variable defined in DQSMC design. (Chap. 6) 8+^variable defined in DQSMC design. (Chap. 6) 45_^variable defined in (Chap 6) variable defined in (Chap. 6) 8, 1^function defined in (Chap. 3) time interval of each random number in IRPRBS. (Chap. 3) O^controller parameter based on sufficient condition. (Chap. 6) defined as S(k + 1) — S(k) in (Chap. 6). A +^defined as S(k 1) S(k) in (Chap. 6). AL^change in length of resistive wire in strain gauge. (Chap. 2) OR^change in resistance of strain gauge. (Chap. 2) ). (Chap. 3) (Append. A) mL 2 equivalent second order system damping factor for rigid joint PD control. defined variable (=^ (Chap. 4) damping factor of the ith cantilevered mode frequency. (Chap. 3) controller parameter. (Append. E) xxiv O d (s)^the set point of the demanded joint angle. (Chap. 4) 0(t)^joint angle in Fig. 3.1. 0(s) transfer function from control torque to joint angle output. (Chap. 3) u(s) controller parameters. (Append. E) A^defined variable (= /3L). (Append. A) ai^eigenvalue of the ith mode. (Chap. 3) A i^complex conjugate pole in sliding surface design. (Chap. 7) A2^complex conjugate pole in sliding surface design. (Chap. 7) controller parameter based on sufficient condition. (Chap. 6) parameter in calculating autocorrelation. (Append. B) Si^damping factor for the ith pinned-free modal frequency. (Chap. 3, 5, 7) p^mass linear density of the flexible beam (Chap. 2, 3) weighting parameter in LQG performance index. (Chap. 4) Ti^weighting parameter for each mode in LQG performance index. (Chap. 4) cbi(L)^modal shape at the arm tip. (Chap. 3, 4, 5, 7) q5 i (x)^eigenfunction of the ith mode. (Chap. 1, 3) (0)^modal slope of the ith mode at the root of the arm. (Chap. 3, 5, 7) 0"i(x)^modal curvature of ith mode at place x. (Chap. 3, 5, 7) '1 ^controller parameter in VSSMC design. (Chap. 5) controller parameter in VSSMC design. (Chap. 5) ^controller parameter in VSSMC design. (Chap. 5) 03 ^controller parameter in VSSMC design. (Chap. 5) b4 05 ^controller parameter in VSSMC design. (Chap. 5) 06 ^controller parameter in VSSMC design. (Chap. 5) 07 ^controller parameter in VSSMC design. (Chap. 5) XXV variable defined in DQSMC design. (Chap. 6) 0+i^variable defined in DQSMC design. (Chap. 6) j)i^variable defined in DQSMC design. (Chap. 6) variable defined in DQSMC design. (Chap. 6) variable defined in DQSMC design. (Chap. 6) wi^ith modal frequency. (Chap. 3, 5, 7) Wn^equivalent second order system natural frequency for rigid joint PD control. (Chap. 4) fi i^cantilevered mode frequency of the ith mode. (Chap. 3) Abbreviations ACSL^advanced continuous simulation language. (Chap. 2) A/D^analog to digital conversion. (Chap. 2, 7) ARMA auto-regressive moving average. (Chap. 1) CPU^central processing unit. (Chap. 7) D/A^digital to analog conversion. (Chap. 2, 7) DC^direct current. (Chap. 2, 3, 4) DQSMC discrete-time quasi-sliding mode control. (Chap. 6, 7, 8, 9) FEM^finite element method. (Chap. 1) FFT^fast Fourier transform. (Chap. 3) GF^gauge factor (strain gauge parameter). (Chap. 2) GPC^generalized predictive control. (Chap. 1) IRPRBS inverse repetitive pseudo random binary series. (Chap. 3)(Append. B) xxvi LED^light emitting diode. (Chap. 2, 9) LHS^left hand side. (Chap. 3) LQ^linear quadratic optimal control. (Chap. 1) LQG^linear quadratic Gaussian. (Chap. 1, 4, 8, 9)(Append. C) MRAC model reference adaptive control. (Chap. 1) NMP^non-minimum phase. (Chap. 1, 4, 5) ODE^ordinary differential equation. (Chap. 3)(Append. A) PC^personal computer. (Chap. 3) PD^proportional plus derivative feed back control. (Chap. 4) PDE^partial differential equation. (Chap. 1, 3)(Append. A) PID^proportional plus derivative and integral feed back control. (Chap. 4, 5) PRBS pseudo-random binary series. (Chap. 3)(Append. B) PSD^position sensitive detector. (Chap. 2, 3, 9) RAM^randomly accessible memory. (Append. F) RHS^right hand side. (Chap. 3) RP^representative point. (Chap. 5, 6) VLSI^very large scale integrated circuit. (Chap. 1) VSS^variable structure systems. (abstract)(Chap. 1, 6, 8, 9) VSSMC variable structure sliding mode control. (Chap. 1, 5, 9) ZOH^zero order holder. (Append. C) xxvii ACKNOWLEDGEMENT I wish to express my deep gratitude and appreciation to my supervisor, Dr. C. C. H. Ma for suggesting the subject of the thesis, for his invaluable support and inspiring guidance throughout this research. Thanks are also due to Professor Ma for many insightful suggestions and helpful discussions. I wish to thank Dr. Eric Schmitz at Martin Marietta Astronautics Group for his correspondence to introduce his expert experience and suggestions on modeling the flexible arm. I wish to express my thanks to Dr. W. J. Book at Georgia Institute of Technology for kindly mailing me his most recent research paper and giving valuable comments and advice on related topics. I gratefully acknowledge NSERC for "NSERC Post Graduate Scholarships", the University of British Columbia for "U.B.C. Graduate Fellowships (UGF)", the late Mr. Wang Chang-lin's family and their friends for "C. L. Wang Memorial Scholarship". Thanks are also due to Professor Ma and the Department of Electrical Engineering for providing Research Assistantship and Teaching Assistantship. I would also like to thank the Faculty of Graduate Studies, for providing the "Graduate Student Travel Fund" . as partial financial support for me to attend conferences. Finally I wish to express my special thanks to my wife, my daughter and my parents for their persistent support and encouragement throughout the course of this research. Timothy Wei Tie Qian Chapter 1 INTRODUCTION 1.1 Motivation 1.1.1 Significance and problems of employing flexible manipulators Elastically flexible robot arm control has attracted quite strong research interest among scientists and engineers in recent years. This is caused mainly by the necessity in space related projects where the low-gravity environment, the far-reaching structure and the high-cost energy require that light-weight materials be used which leads to the flexibility of the structures. In addition, the study of light weight flexible robot arms also represents major research efforts to improve the current generation robots. Current generation of industrial robots need to be rigid to achieve precise control with today's established control methodologies. Rigidity, however, necessitates massive construction, which results in slow operation, low load to weight ratio and high energy consumption. To improve upon these properties and enhance the performance of the robots, they must be made ever lighter which will eventually lead to link flexibility in robot manipulators. The expected advantages of using such flexible manipulators in industry include higher speed, higher load to weight ratio, lower material and energy consumption, higher mobility and efficiency. 1 Chapter 1. INTRODUCTION 2 Control systems for light weight flexible arms, however, have to overcome more problems. Being flexible, the arms are prone to deflection and vibration, hence precise position control is much more difficult. Unlike a rigid arm, a flexible arm is basically a distributed parameter system described by partial differential equations (PDEs) and boundary conditions. Therefore, strictly speaking, it is a system of infinite order. But due to the limitations of computer facility, the sensor accuracy and the presence of system noise, it is justified to approximate a flexible arm by a finite order system and control it by a controller of finite order. The so-called "control spill over" and "observation spill over" may thus occur, which, under certain conditions, may lead to instability. In a single link manipulator arm, such as the one that will be experimented on in this study, the tip sensor and the actuator are located at the two ends of the arm. They are thus noncolocated. The transfer function from the actuator torque to the tip position sensor is a nonminimum phase (NMP) system. It is well known that such kinds of systems are difficult to control and the attainable performance of the system is also limited. 1.1.2 Objective of the research To solve the problems related to flexible arm control, we need good controller designs. A good controller design has to be simple, practical, easy to understand and implement and able to achieve good control performance. Though a wealth of literature has already appeared on the issue of flexible arm modeling and control, the controller designing schemes presented are few. Still fewer are the experimental results which are important in evaluating the applicability of the presented schemes. The objective of this research is to explore and develop new controller design methodologies and Chapter 1. INTRODUCTION^ 3 experimentally test the proposed designs on a flexible arm setup. The experimental setup includes a flexible manipulator arm, a motor and sensors. The arm constructed from a continuous aluminum beam is to move in a horizontal plane. The motor at the single rotating joint is the control actuator. Various sensors are employed to measure the position and vibration (see Fig. 2.1). The control objectives of the research are: • Active vibration suppression. • Fast slew motion. • Accurate end point positioning. • smooth control signal. • Relative robustness. Other primary objectives are: • Calibrating sensors, modeling systems, identifying and validating parameters. • Testing different existing control schemes. • Developing, simulating and experimentally testing new control designs. • Studying the related problems. Chapter .1. INTRODUCTION^ 4 S = X2 + CX1 = 0 X2 = -A71 Figure 1.1: Simple example of sliding mode 1.1.3 Variable structure systems and flexible arm control A variable structure system (VSS) is a system with its control having discontinuities on one or more hypersurfaces in the state space. The control switches to another member of a set of possible continuous functions of the states as the states cross each discontinuity surface. Thus a change of system's structure occurs. If the motion of the states in the neighborhood of a hypersurface is directed toward the surface then the states will cross and re-cross that surface repeatedly. Sliding motion will thus occur on an individual switching hypersurface or on all the switching hypersurfaces together. The system is then said to be in sliding mode. The term "sliding mode" is also used in the case where the dynamic motion of the system is effectively constrained to lie within a certain subspace of the full state space. A simple example of a variable structure sliding mode system is shown in Fig. 1.1. A switching line (when the systems order is 2, the hypersurface reduces to a line) Chapter 1. INTRODUCTION 5 S = 0 is formed in a phase plane with the system error and its derivative as its coordinates. If the switching line is so designed that when the states are kept on this line they will converge asymptotically to zero, and if all the trajectories on the phase plane are directed toward this switching line by the control, then once the states reach the switching line, they will keep sliding on the line until they reach zero. The sliding surface generally has lower order than the original system and possesses the desired convergence characteristics designed by the user. Consequently we can see that when a system is in sliding mode, its response is determined only by the slope of the switching line in this example. The system is thus insensitive to parameter uncertainties and robust to external disturbances. It also has the advantage of being computationally simple and straightforward for implementation. Variable structure sliding mode control has offered control engineers new possibilities for improving the performance of control in comparison to fixed-structure systems. One possibility is to improve the performance by combining properties of the structures at the two sides of the switching line, or even to possess new properties not present in any of the structures under consideration. For example, an asymptotically stable system is obtainable by switching between two structures, neither of which is asymptotically stable [82j. Another advantage of the sliding mode control is that the closed-loop dynamics of the system under sliding motion can be prespecified by properly designing the sliding hypersurfaces. Designing a controller based on the variable structure sliding mode theory, we can also solve the conflict between static accuracy and speed of response, for it enables us to split the system's transient state into two independent phases: a brief motion brings the system's states to the beginning of the sliding mode, which achieves high Chapter 1. INTRODUCTION 6 rate of decrease in the absolute value of the error, and another period of motion which is characterized by rapidly damped oscillation. This property is desirable to achieve fast and accurate flexible arm control. The good qualities of the variable structure sliding mode control mentioned above formulate the reasons why we attempt to develop new controller design methodologies for flexible arm control based on this theory. In our plant, a number of uncertainties exist: the nonlinearities caused by friction, dead band etc. in the actuator, the system parameter uncertainties due to the environment, such as the modal frequency and parameter variations effected by payload changes, and the uncertainty due to unmodeled dynamics such as the truncated higher modes, etc.. Therefore the controller has to be carefully designed to achieve good performance. From these points, it seems desirable to apply the VSS theory to the particular control problem at hand. 1.2 Literature review The earliest studies on flexible robot modeling and control began about twenty years ago. A group of MIT graduate students conducted research under the guidance of Prof. D.E. Whitney. These include Mirro [48], Book [8], and Maizza Neto [44]. The extensive research interests in this field appeared in the last decade, particularly in the last seven or eight years. A wealth of literature exists. The literature review here will center on four aspects: dynamic modeling, control design, variable structure control of manipulators, and discrete-time sliding mode control. Chapter 1. INTRODUCTION 1.2.1 Dynamic modeling Many approaches have been employed to derive the dynamic model of flexible arms. A few researchers applied lumping approximation to derive the model, where elastic links were approximated by masses and springs. Nelson et al. [53] modeled a flexible arm moving in a vertical plane, carrying a load at one end and clamped to the driving motor shaft at the other. Based on the measurements they assumed that the first bending mode was the only significant vibrational mode that was excited during motion. Then the deflection of the arm at the load end was approximated to a massspring-dashpot subsystem and a lumped parameter model of 4th order was obtained. Oosting and Dickerson [56] also considered the lowest vibrational mode and modeled the arm as a massless spring with a lumped mass at one end and a lumped rotary inertia at the other. The main stream modeling methods for the flexible arm are the use of the Lagrange equation, or Hamilton principle or Newton-Euler principle to derive the PDE and the corresponding boundary conditions. Cannon and Schmitz [10] derived the PDE using Hamilton's principle and obtained a 4th order PDE and 4 boundary conditions for a pinned-free arm. Several other researchers used the same method, see [91] [45] [71] [88]. Some researchers directly used the PDE and boundary conditions of the Euler-Bernoulli beam, see [58] [52] [67]. Since it is very hard to control a system model containing an infinite number of vibration modes, approximation is conventionally applied. There are mainly two approaches used to formulate the approximated model. One is the assumed-mode method (sometimes called modal expansion or Ritz-Kantrovitch method). The other Chapter 1. INTRODUCTION^ 8 is the finite element method. The former employs a modal analysis approach. The solution to the PDE is assumed to be in the form: 00 y (x,t).E O=(x)q=(t) where Oz (x) is the eigen-function of the ith mode, which only depends on the spatial coordinate x, q t (t) is a time dependent function. Higher frequency modes in this infinite series sum are generally assumed insignificant, thus only the first few lower frequency modes are retained to approximate the distributed parameter system. Book and Hastings [29] used the rigid mode and the first two flexible modes of the clampedfree boundary conditions to derive the model. Also see [88] [69] [25] [7]. Another often used approximating approach is the finite element method (FEM), which has the advantage that it can easily cope with plant models having complicated structures or boundary conditions. But in order to obtain an appropriate and accurate model, a large number of elements are needed. Usoro et al. [81] used finite element and Lagrangian methods coupled with the concept of generalized inertia matrix to derive their model. Each link was treated as an assemblage of n i elements. The kinetic and potential energy were found in terms of a selected system of generalized variables q and their rate 4. The total energy is obtained by combining all the elements' energy and Lagrange's equation was used to derive the model. Several other researchers also used the FEM method, see [51] [33] [50] [46] [5]. A few researchers addressed the modeling problem through other approaches. Khorrami et al. [34] applied asymptotic perturbation method to the PDE model obtained through an extension of Hamilton's principle. By introducing a perturbation parameter which is the inverse of the square of the lowest flexible mode, the dynamics were Chapter 1. INTRODUCTION 9 resolved into outer (or slow) and inner (or fast) subsystems. Thereafter, by considering the higher order terms in the expansion, the effects of the flexure on the rigid body motion was established. Nemir et al. [54] used a time series model consisting of n auto-regressive terms, m exogenous terms and a time delay d. Then they applied it for self-tuning controller design. Rovner and Cannon [66] used a filtered version of the recursive Least-Square algorithm and successfully identified two system transfer functions. Barbieri et al. [3] discussed the influence of the choices of including different modes (constrained and unconstrained) on the accuracy of the model. Balas [2] and Truckenbrodt [79] discussed the "spill over" problem. Balas suggested a comb filter to eliminate the instability. Truckenbrodt indicated that the control spill over is not necessarily bad for a hybrid system where both position and vibration of the arm are controlled simultaneously. Both Balas and Truckenbrodt considered the observation spill over as harmful and should be removed. Krishnan and Vidyasagar [38] proposed the selection of modes based on minimizing the Hankel-norm. 1.2.2 Controller design Most of the researchers have used LQG or LQ optimal control theory. Cannon and Schmitz [10] used LQG to control the tip position. They were the first to introduce a noncolocated tip position optical sensor into the control system design. The LQG algorithm was also used in [46], [38]. Book and Hastings [29] [30] used the LQ regulator with a prescribed degree of stability. Several others used the same method [67] [81] [73]. In [56] [58] [36], LQ regulators were employed to control the plant. Chapter 1. INTRODUCTION 10 Some researchers used pole-placement or feedback control schemes. Nebot [52] presented a decoupled pole-assignment algorithm. Cheng et al. [12] used pole-placement adaptive control and on-line estimation of an ARMA model. Wang and Wei [87] used modified PD feedback control which took into account the effects of the arm vibration. Feedback was also used in [88] [32] [89]. In [33] state feedback control was used. Fraser and Daniel [24] proposed the perturbation techniques for generating the necessary frequency correction term to compensate for the characteristic frequency change caused by the spatial boundary condition or payload changes. Nemir et al. [54] applied self-tuning type of control. Clarke et al. [14] [15] realized flexible arm control using generalized predictive control (GPC). A few researchers have tried model reference adaptive control (MRAC) to control the flexible robot arm. Meldrum [45] verified that for a system with noncolocated sensor/actuator, the positive realness condition is not satisfied for MRAC. He then moved the actuator closer to the sensor to obtain colocated system and realized a modified MRAC. Lee [41] investigated the direct application of a modified MRAC to the plant. Yuh [98] designed MRAC based on rigid body motion with the effect of flexibility treated as an internal disturbance torque acting on the system. Siciliano et al. [73] presented an MRAC scheme for a system with colocated angular position and velocity signal and provided simulation results. Since control of flexible arms is a difficult problem because of the complicated dynamics coupled with the non-minimum phase nature due to the noncolocated sensor and actuator, some researchers have tried other techniques to improve the control. Chapter 1. INTRODUCTION 11 One technique is to use a tendon or torque transmission mechanism [60] [94] so that the torque actuating point on the arm is relocated to get a minimum phase system. Asada et al. [1] shaped the arm to have more desirable control property. They used the inverse relationship from the pole-zero plot back to the arm structure to determine the desirable mass and stiffness distributions as well as the actuator and sensor locations. Thus an optimal structure that satisfies the desired pole-zero specifications is achieved. Some people also tried shaping the input signal or employing passive damping to avoid exciting vibrations. Bayo et al. [6] suggested the use of a fully smooth Gaussian velocity profile as an alternative to the double square pulse acceleration profile to avoid the excitation of vibration. Singer and Seering [74] suggested using the impulse sequence that would move an idealized system without vibration to convolve with any desired system input or trajectory. The resulting system response is similar to the requested trajectory with little or no residual vibration. Lane et al. [40] introduced a constrained viscoelastic damping layer to the surface of the flexible arm. The damping ratio of the system was greatly enhanced while only very little weight was added to the whole system. The controller then needed to control only the rigid and first vibration modes. Higher modes of vibrations were absorbed by the damping layer. Other techniques include using a piezoelectric film for vibration suppression [80] [70], using an optical fiber sensor [17] or holographic sensor [4] to measure the bending of the beam, using acceleration sensor [36] for feedback, using composite materials [13] for better dynamic properties of the beam, using a "bracing" strategy suggested by Book [9], etc.. These techniques are all aimed at reducing the requirements on the controller. Although there are quite a lot of papers dealing with controller design, the number of approaches used are relatively few. Furthermore, most of the previous work is Chapter 1. INTRODUCTION 12 either purely analytical in nature or only provides simulation results. Experimental results are relatively scarce. The more well known are the experiments carried out at Stanford Univ. (Cannon and Schmitz), Georgia Inst. of Tech. (Book, and Hastings), Ohio State Univ. ( Ozgiiner et al.), The Science Univ. of Tokyo (Fukuda et al.), Osaka Univ. (Sakawa et al.), Toronto Univ. (Kwong and Chang [39]), Waterloo Univ. ( Vidyasagar et al.). 1.2.3 Variable structure control for manipulators Variable structure sliding mode control (VSSMC) originated in the former USSR in the 1950's. In the thirty years afterwards, the theory was investigated largely in the Soviet literature. Utkin's survey papers [82] [83], his other two papers [84] [85] and book [86] and the references therein provide an overview of the development of this theory in the USSR. This theory was introduced to the west in late 1970's via Young's papers [95] [96] and Itkis' book [31]. Since this kind of controller is insensitive to a system's parameter changes and robust to external disturbances so long as they satisfy the invariance condition [22], it has attracted quite a lot of research interest in recent years. The paper by DeCarlo et al [19] is a good reference both as a tutorial and as a survey in this field. The book edited by Zinober [99] reflects the research of many authors in this field. The review here will center on two aspects of this development. One is on this theory as related to flexible manipulator control, the other is on the discrete-time design of a sliding mode controller. Chapter 1. INTRODUCTION 13 Although there are quite a number of papers on variable structure manipulator control, they mostly deal only with rigid robots, see [96] [35] [49] [77] [27] [28] [92] [97] [59] etc.. Since there is a fundmental difference between rigid robot control and flexible arm control, they will not be reviewed here. For the regulation of a single-link flexible arm based on VSS and sliding mode theory, Yeung and Chen [93] proposed an algorithm. Several problems remain. Firstly, the derivation and the proving of the algorithm is very tedious. The controller parameters need to be calculated from the inverse of a matrix D which may not always be well conditioned. Secondly, the states are assumed to be known. How to obtain these states is not solved. Thirdly, quite a number of parameters K t need to be determined which is quite difficult due to the lack of direct physical meaning related to choosing these parameters. And fourthly, the paper only provided simulation results which seemed to be based on the plant model with only one flexible mode. Therefore it is doubtful whether it is applicable to a real plant. Shusterman et al. [72] developed a VSS controller for a single-link flexible arm. By using a model following technique and the Lyapunov function approach, they derived the control signal. Simulation results were provided but seemed unsatisfactory for the controlled performance. Looke et al. [43] analytically proved the stability of controlling only the first few lower frequency modes by substituting the steady state equivalent control into the system's equation. To avoid chattering, they suggested using continuous torque and discontinuous piezoelectrical actuation. It was also proven that a kind of parameter uncertainty can be tolerated by properly choosing switching gains. The states were assumed to be available. How to acquire these states was not solved. No simulation or experimental results were provided. Singh et al [75] proposed a continuous VSS control scheme which needs one orthogonal transformation to design Chapter 1. INTRODUCTION 14 the controller. Numerical simulation results were provided. However, the problems of how to obtain the states and avoid the undesirable chattering were not solved. No experimental verification was performed. From the literature that has appeared, it seems that a simple and practical controller design based on the VSS and sliding mode theory for the flexible robotic manipulator is still to be developed. 1.2.4 Discrete time sliding mode control - Almost all the researchers working on VSS have been working in the continuous time setting (analysis and design). The implementations were also mostly done based on continuous-time design and small sampling periods ([90], [42]). The controller design in the discrete-time setting is less well developed. However, due to the rapid progress in VLSI and electronic technology, and the advantage of the increased flexibility of using a digital system, computer control is becoming more and more common. These conditions combined with the robustness property of continuous-time sliding mode control, make it worthwhile to extend this theory to the discrete-time case. A few papers have already addressed this issue (Drakunov and Utkin, 1989 [21]; Furuta, 1990 [26]; Milosavljevie, 1985 [47]; Opitz, 1986 [55]; Sarpturk et al, 1987 [68]; Kotta, 1989 [37]; Sira-Ramirez, 1991 [76]; Spurgeon,1991 [78]). Drakunov and Utkin (1989) introduced an inverse function to the ordinary Euler discretization procedure and applied this modified Euler procedure to the simulation of discretized sliding mode control. Furuta (1990) presented a stable discrete sliding mode control based on a discrete Lyapunov function. Milosavljevie (1985) formed the necessary condition for the existence of a quasi-sliding mode in discrete-time variable structure systems based on an Chapter 1. INTRODUCTION 15 analogy to the well-known continuous-time counterpart. He considered autonomous systems of nth order and plants with transfer functions without zeros. Two numerical examples were given for 2nd order and 3rd order systems. Opitz (1986) proposed a nonlinear discrete-time sliding controller design based on hyperstability theory for a linear time-invariant discretized plant. But the controller is rather complicated. The large number of degrees of freedom increases the difficulty in choosing the parameters. Sarpturk et al (1987) suggested a sufficient condition for the existence of the sliding surface. It was shown that the control must have upper and lower bounds. A numerical example was discussed. Kotta (1989) made comments on Sarpturk's paper and pointed out that these bounds depend on the distance of the system's states from the sliding surface. Sira-Ramirez (1991) analyzed the existence of quasi-sliding regimes for nonlinear SISO systems based on the relative-degree concept of Byrnes and Isidori. The disturbance rejection property of the sliding mode control was also examined and an invariance condition was formed. Spurgeon (1991) proposed a method to design a discrete-time sliding mode controller which used the state space partition of Dorling and Zinober [20] for designing VSS for continuous systems together with the results from the area of uncertain systems theory by Corless and co-workers [16]. He also cast doubts on the applicability of the sliding mode control based on the sufficient condition since the bounds of the control signal are always moving and will converge to one value when on the discontinuous hypersurface. His algorithm is of a linear feedback structure. Since it needs two state space transformations, the whole design procedure is quite complicated and tedious. Chapter 1. INTRODUCTION^ 16 1.3 Contributions The survey above shows that though there are lots of papers on modeling and control of flexible manipulator arms, successful controller design with quite satisfactory results are rather few. Still fewer are the experimental results that verify the applicability of the controller design to the real plant. The objective of this research is to develop new alternative controller design methodologies, and experimentally test them on the flexible manipulator setup. The contributions of this research are summarized as follows: 1. Development of a new discontinuous control design method (VSSMC) based on variable structure systems (VSS) theory for the tip position control of a flexible manipulator. The method can simplify the VSS system design process and can assign separate gains to the variables concerned. The design is evaluated and analyzed. 2. Derivation of two control algorithms based on a re-visit to the necessary- and sufficient- conditions for the existence of discrete-time sliding surfaces. Three interpolation schemes are suggested for implementing the control algorithm based on the sufficient condition. The pros and cons of these two algorithms are analyzed. 3. Development of another new, simple and practical controller design methodology: Discrete-time Quasi-Sliding-Mode Control (DQSMC). Analytical results showed that it is equivalent to a full state feedback law with its steady state motion constrained to the sliding surfaces. Chapter 1. INTRODUCTION 17 4. Unification of the discrete-time VSS, non-VSS and VSS with a smoothing boundary layer under the DQSMC approach. This resulted from the general structure that DQSMC provides and the fact that DQSMC itself can be viewed as a discrete-time VSS controller with a specific smoothing boundary layer. 5. Verification of the effectiveness of the DQSMC methodology by testing it experimentally on the flexible-link manipulator and comparing the results with those achieved by an LQG controller under unloaded and various loaded conditions. 6. Devising of a novel approach to obtain all the states for use in the methodologies 1) and 3). Separate first-order observers are designed to estimate the states that are not directly accessible. The advantages of the approach are the simplified observer design process and easier pole assignment for the observers according to different mode requirements. The experimental results proved the effectiveness of the approach for this kind of plant. Chapter 2 EXPERIMENTAL SETUP 2.1 Introduction • In this chapter we will present the experimental setup, the computer and the various hardware and software aspects of this research. The calibration and error analysis for the sensors and actuator are also introduced. The schematic of the experimental setup of the one-link flexible manipulator is shown in Fig. 2.1. The major components include a uniform aluminum beam, a motor with its power supply module and drive module, and the sensors. The controller consists of an IBM-PC-AT, which is also used as a designing tool, two PC-bus boards RTI-800/815 (made by Analog Devices for A/D and D/A) and M5312 (made by Technology 80 for reading encoder signals) interfacing the computer to the sensor signals, the power and sensor circuit box and the cables connecting the computer, the sensors and the motor actuating units. 18 Chapter 2. EXPERIMENTAL SETUP ^ 19 LED Position sensitive device • Strain gauges Motor with built-in optical encoder Figure 2.1: Schematic of the experimental setup 2.2 Flexible arm The flexible arm used for the experiments is shown in Fig. 2.1. The physical parameters of the flexible arm system are given in Table 2.1. The arm is to move in a horizontal plane driven by the motor at one end of the arm, with or without a payload at the other end (tip). Since the cross-sectional height is much bigger than the thickness, the arm is quite flexible in the horizontal plane but rigid in other directions. The product El is a measure of the flexure stiffness of the arm, where E is the Young's modulus which depends on the material of the arm, I is the cross-sectional moment of inertia. The flexibility of the arm within the horizontal plane is about 250 times more than its flexibility in the vertical plane. Therefore only the transversal bending and vibration within the horizontal plane will be considered Chapter 2. EXPERIMENTAL SETUP^ 20 Table 2.1: Physical parameters of the arm system Arm Material Type Arm Physical Length (M) Arm Height (M) Arm Thickness (M) Arm Mass (Kg) Mass Linear Density P (Kg/M) Young's Modulus E (N/M 2 ) Moment of Inertia about the Hub IB(Kg — M 2 ) Arm Cross-Sectional Moment of Inertia I (M 4 ) Motor Hub Moment of Inertia IH (Kg — M 2 ) Aluminum 6061-T6 0.989 0.0507 0.0032 0.4528 0.4578362 6.895x101° 0.1477 0.1384448e-9 0.00044 due to the physical dimensions of the arm adopted. 2.3 Motor and the drive system The actuator consists of a permanent magnet synchronous motor with built-in optical encoder, a power supply module and a drive module (Robbins & Myers, Inc.). The control signal from the computer D/A port can be directly connected to the drive module which accepts bipolar signals within the range of ±10VDC and has an input impedance of 13.3 Kohm. The motor has a stall torque of 31 in — lb (equivalent to 3.503 N — M) and a maximum continuous operating speed of 4, 000 rpm. The motor rotor (does not include the hub and PSD mounted on it) has a moment of inertia of 0.0011 in — lb — s' (equivalent to 0.00012428 Kg — M 2 ). The flexible arm is clamped on the motor shaft by a hub. The case holding the lens and the tip position sensitive Chapter 2. EXPERIMENTAL SETUP^ 21 detector and sensor pre-amplifier circuit is mounted on the hub. 2.4 Optical encoder The sensor for measuring the joint (or shaft) angle is a built-in 2000-line optical encoder. By detecting all state changes of the two-channel quadrature outputs of the encoder, 8000 encoder counts per revolution of the motor shaft can be obtained. Since the encoder provides a digital signal, it is accessed through the digital input port of the computer and via the M5312 Quadrature Encoder Input Card inserted in the PC's extension slot. 2.5 Strain gauges and tip position sensor Five pairs of strain gauges are cemented on the arm for measuring the vibration. Two pairs are actually used. The gauges are of type: CEA-13-125uw-350 (Measurements Group Inc.). Each pair of strain gauges is cemented at one site on the opposite sides of the beam. The signal thus obtained is larger compared to using only a single strain gauge at one site. Two high precision resistors of 350 ohm (0.01 %) are used for each pair of strain gauges to form a bridge circuit. The circuit for amplifying the strain gauge signal has a low-pass filter with the cutting off frequency at about 125 Hz. A Position Sensitive Detector (model 51771 by Hamamatsu Photonics) with lens and holding case is mounted on the hub aimed to receive pulsed light from an array of infrared Light Emitting Diodes (LED) fixed at the arm tip. The PSD itself has a rise time of 5 pS to make the transition from 10% to 90 % of the stationary output level, Chapter 2. EXPERIMENTAL SETUP^ 22 Position Sensitive Device Figure 2.2: Measuring tip deflection via PSD and LED so its response speed is quite high. Part of the PSD circuit is built inside the case to amplify the very weak sensor signal to a certain level before it is transmitted to the sensor circuit box for further amplification. The sensor circuit for the PSD has a low-pass filter with a corner frequency of approximately 200 Hz. The tip deflection measurement principle is shown in Fig. 2.2. The active surface of the PSD for receiving the incident light is perpendicular to axis X, which is the neutral axis of the undeformed arm. A deflection in the arm tip from the X axis will cause a proportional increase or decrease in the output of the PSD circuit depending on the direction of the deflection. Thus the PSD output is a measure of the tip deflection w(L,t) shown in the figure. The absolute tip position is then determined by adding the rigid motion caused tip displacement (multiplying the angular displacement of the motor hub with the arm length) with the tip deflection measured via the PSD. Compared with several other setups where the tip position is sensed by standby photo sensors [69] [57], this design has the advantage of having unlimited sensing range, easier calibration and higher portability. Chapter 2. EXPERIMENTAL SETUP^ 23 2.6 Computer and interface boards The computer used for the analysis, synthesis and control is an IBM PC-AT compatible with 80286 CPU and 12 MHz clock frequency (LEO 80286 personal computer by First International Computer, Inc.). It is equipped with an 80287 numerical coprocessor to meet the high speed and accuracy requirements. Analog Device's RTI-815F is employed for data acquisition. It has 16-channel 12-bit A/D input and 2-channel 12-bit D/A output with programmable gains. The motor optical encoder readings are obtained via a Quadrature Encoder Input Card (M5312 by Technology 80 Inc.) inserted in a PC's extension slot. 2.7 Software and tools Most of the experimental software is written in 80286/80287 assembly language with some in C, FORTRAN or BASIC. All the real-time control and data recording programs are written in assembly language to achieve the highest speed (see Appendix F). Most of the analysis, synthesis and simulation software is written based on MATLAB macro instructions with various tool boxes. Some use the software package of ACSL and IMSL. The software package UnkelScope developed by MIT and Unkel Software Inc. for Analog Devices' RTI family of data acquisition boards is also used in testing the A/D and sensor circuits. Chapter 2. EXPERIMENTAL SETUP^ 24 2.8 Sensor calibrations Sensor calibrations refer to deriving the relations between the sensor circuit outputs and their physical representations. The optical encoder has a fixed resolution so it does not need to be calibrated. The sensors that need to be calibrated are the strain gauges and the tip position sensitive detector. 2.8.1 Strain gauge calibration . Strain on the surface of a piece of material is defined as: change in length AL strain = ^ — original length^L • (2.1) Gauge factor of a strain gauge is defined as: GF = ARIR AL I L' (2.2) where GF is the gauge factor, R is the nominal resistance of the gauge, AR is the change in resistance due to strain on the material surface on which the gauge is installed. From the above equation we have: ARIR AL strain =^= L GF (2.3) Since R and GF are quite accurately known, if we know OR we can immediately calculate the strain via (2.3). The actual procedure is as follows: A flexible rule is fitted to the curve of normal tip motion trajectory. The joint is locked against rotation. Bend the arm to acquire fixed tip deflection readings from the rule and record the AID readings for strain gauge sensors and the corresponding resistance values of the strain gauge. A Fluke 45 Dual Display Multimeter (Fluke Electronics Chapter 2. EXPERIMENTAL SETUP ^ 25 Canada Inc.) is used to measure the resistance of the strain gauge. Working in slow mode the multimeter can give readings with five effective digits. For equal tip deflection increments, the differences in A/D reading increments are small (< 5 %), therefore we may assume it to be linear. Then there is only a gain between the A/D reading and the real strain. The gain is calculated as: A(strain) (ARM)/GF Gain =^ A(A/D)^A(A/D) (2.4) where OR is the average of the increments of resistance. R is the average of the two strain gauges at one site on both sides of the beam, A(A/D) is the average of the increments of A/D readings. 2.8.2 Tip deflection sensor calibration The tip deflection sensor is calibrated following the procedure below: A flexible rule is fixed to the curve of normal tip motion trajectory. The joint is locked against rotation. Bend the arm to acquire fixed tip deflection readings from the rule and record the corresponding A/D readings. Like in the process of strain gauge calibration, this process is repeated several times and the average is taken to reduce observation error. From the data recorded we find that for equal tip deflection increments, the differences in A/D reading increments are small (see next section for error analysis), thus we may assume it to be linear and use a straight line curve fitting to approximate it. The least square curve fitting result for the tip PSD is shown in Fig. 2.3. The gain thus calculated is GTP = 7.1217e — 5 (M./(per A/D reading)).^(2.5) ^= Chapter 2. EXPERIMENTAL SETUP ^ 26 1600 1200 900 600 300 0 -300 -600 -900 -1200 -1500 F^I -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 TIP POSITION (CM) Figure 2.3: Tip PSD calibration curve fitting 2.9 Sensor resolution- and calibration-caused error The joint angle reading resolution through the optical encoder is determined as follows: 360 ° 7(8000 readings) = 9 ° /(200 readings) = 540'/(200 readings) 2.7'/(per reading).^(2.6) The joint angle resolution converted to tip is calculated as: 2.7'/60 L * (joint angle resolution) = L * ^ * 180 2.7^2.7 L* * 7r = 1.001 * 10800 * 3.1416 = 0.78619*10 -3 M = 0.78619 mm. (2.7) 10800 The resolution for tip PSD is: Deflection ^= 0.071 mm/(per AID reading). AID readings (2.8) Chapter 2. EXPERIMENTAL SETUP ^ 27 The added resolution for tip position is: 0.78619 + 0.071 = 0.85719 mm.^ (2.9) The tip sensor calibration data show that the maximum deviation from a linear characteristic is 8.1 A/D readings (for the forty points taken in a range of 20 cm), therefore the maximum error due to the linear approximation is: 8.1 * (resolution of linear representation) = 0.5751 mm.^(2.10) The maximum total error in tip position measurement is: Resolution of joint angle converted to tip + Resolution of tip PSD +Calibration error = 0.85719 + 0.5751 = 1.43229 mm.^(2.11) In the strain gauge case the gain is just the resolution since: G ST = strain/(per AID reading).^(2.12) The maximum linear approximation caused error is 19 A/D readings. Therefore the calibration error is: Ec = GST * 19.^ (2.13) The total strain gauge error is the sum of the error due to resolution and calibration. Therefore the total error for strain gauge measurement is: Et = GST * 20.^ (2.14) 2.10 Actuator torque calibration and error analysis The motor torque calibration was also conducted. The data collecting method is shown in Fig. 2.4. Chapter 2. EXPERIMENTAL SETUP ^ 28 motor shaft torque -a-- arm •■•• 1■110 MIN wire --.^ r Nor,- pulley 1 -4-- weight o0009 il ..-- digital scale it Figure 2.4: Schematic of torque calibration method Chapter 2. EXPERIMENTAL SETUP 29 A piece of non-extendible wire is fastened to the tip of the arm. The other end of the wire is connected to a weight. The wire is perpendicular to the arm in horizontal plane. A pulley is used to change the direction of the wire from horizontal to vertical. The weight is placed on a digital scale. The wire is in a bit of tension before the measurement begins (i.e. preloaded). When a torque is applied to the motor shaft, the digital scale reading will decrease. This reading shows the force of f'; which is equivalent in magnitude to the balance force f applied at the tip of the arm. L e denotes the distance between the point at the tip at which the force is applied to the motor shaft axis. From f and L e we can calculate the torque. The actual torque is applied by sending different values to the D/A port. Thus the relation between the D/A value and the torque is obtained. The flexibility of the arm has little effect on the accuracy of torque calibration. Since the flexibility of the arm only cause very small angle change, its effects were neglected. From recorded data we found that except for a small region near zero the recorded digital scale reading increments or decrements remain almost constant while the D/A value is increased or decreased evenly. Therefore the positive side and the negative side of the data are curve-fitted to straight lines separately. The slope of the two lines has a very slight difference. The maximum error in the calibrated region for the motor torque is 2.6866e-2 N-M. Chapter 3 MODELING, IDENTIFICATION AND MODEL REFINEMENT 3.1 Introduction In this chapter we first present the model for identifying and designing the controller. Then model identification using Inverse Repetitive Pseudo-Random Binary Series (IRPRBS) and sinusoidal exciting signals for various modal parameters is described. The refinement of the identified model is given afterwards. The selection of strain gauge locations for control purposes and the controllability of the obtained model are also provided. 3.2 Coordinates A detailed analytical model derivation is given in Appendix A. The coordinates adopted for the flexible arm are shown in Fig. 3.1, where hi denotes the hub moment of inertia. It includes the motor rotor, the clamping mass and the PSD with the lens and the holding case mounted on the clamping mass. p is the linear mass density of the aluminum arm. E is the Young's modulus of the arm's material. / is the cross-sectional moment of inertia of the arm. Tq is the torque applied by the motor. L is the length of the arm. Or is a fixed reference line. OX is the neutral axis of the 30 Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 31 Tip Figure 3.1: Flexible arm coordinate undeformed arm. The displacement of any point P along the flexible arm's neutral axis at a distance x from the hub is given by the hub angle 0(t) and the small elastic deflection w(x,t) measured from line OX as shown in Fig. 3.1. This displacement y is related to w as follows: y(x,t) = w(x,t)+ xO(t).^ 3.3 Assumptions In deriving the analytic model, the following assumptions were made: • Only horizontal bending is considered. (beam cross sectional height beam cross sectional width) (3.1) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 32 • Axial deformation is neglected. (beam length L >> elastical deflection w(L, t)) • Torsional effects are also neglected. (Small elastic deflection assumption) 3.4 PDE and boundary conditions The analytical model is derived (see Appendix A) following the procedure below: First, we write out the energy equations of the system. By applying Hamilton's principle we obtain a partial differential equation (PDE) and its four pinned-free boundary conditions: 84y^82 y (3.2) ,o d^at2 82 y El^Tq^1HO^ = 0, ^—^ ax (3.3) y(0, t) = 0, (3.4) S EI^ EI = 0, (3.5) .(ry = 0. ax^ (3.6) 7 Secondly, taking the Laplace transform of the equations (3.2) -- (3.6) and solving for , the roots of the determinant of the coefficient matrix, we obtain a series of natural vibration modes of the system. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 33 3.5 Orthogonality condition and ODE Solving the eigenvalue problem and letting the external torque Tq equal to zero results in the free vibration modal shape. After some manipulation we can obtain the orthogonality conditions as follows: jL Jo CbitbiPdx IHC0)0i(0) = ITSij, sij =^ if i = j 01 if EI^01103'!dx (3.7) (3.8) (3.9) where cbi(x) is the eigenfunction of the ith mode. IT is the sum of moment of inertia of arm and hub around the motor axis. co i is the ith pinned-free mode. Using the assumed-mode method the system variables can be expressed as: E oi (x) q,(t),^(3.10) 00 y(x,t) = where the space dependent function cb i (x) is the eigenfunction of the ith mode, the time dependent function qi (t) is the generalized coordinate of the system. Substituting into the energy expressions in the Lagrange equation we can obtain a series of decoupled ordinary differential equations in the form: 1 4qi) =^i = 0, • • , oo,^(3.11) where w i is the ith vibration mode, i is the ith damping factor. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 34 3.6 State space description By truncating the series of ODE's we can rewrite the model as a low order state space description as follows (retaining 3 vibration modes): X = AX U = Tq , X = qo bU, 40 y = CX, q1 (3.12) q71^q2^q2 q3 (3.13) 0 1 0 —a 0^1 A= 2 -2 6W1 (3.14) 0^1 -2644/2 0^1 2 3 -26w3 0 4(0) 0 0/1 ( 0 ) 0 4 (0) 0 4(0) (3.15) ^ Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 35 1 0^c5(0)^0 0'2 (0) 0^03(0)^0 L 0 0 1 (L) 0 0 2 (L) 0 03 (L) 0 C =^ 0 0 Ig(Z) 0 01(Z) 0 '§g(Z) 0 (3.16) 0 0 g(R) 0 24(R) 0^(R) 0 where U is the torque input. y is the sensor output vector. X is composed of position and velocity variables of the rigid and first three flexible modes. co, is the ith modal frequency. a = 0.2 is the viscous damping in the actuator. .0(0) is the modal slope of the arm at the hub end. L is the length of the arm. 0z(L) is the modal shape at the tip of the arm. (5 is the thickness of the arm. 0/1,(x) is the ith modal curvature at position x on the arm from the hub. Z, R are the distances from the strain gauge locations to the motor shaft axis. 3.'7 Strain gauge selection based on analytical model Five pairs of strain gauges are cemented along the aluminum beam to measure vibration. If they are all used, the signal obtained would be redundant since the rank of the output matrix that contains all the sensor outputs is only 4. Therefore, only four sensors are actually used. They are the joint angle optical encoder, the tip deflection PSD, and the two pairs of strain gauges at locations near the motor hub (denoted as location R) and near the middle of the arm (denoted as location Z). The selection of the sensors is determined by an elimination method. We calculate the eigenvalues of the matrix C * C T (CT * C would give the same results). When one more sensor is used, the C matrix will have one more row. If the rank of the C matrix does not increase by 1 (which means the new eigenvalue obtained in C * CT is zero) then the newly added row is linearly dependent on the other rows of the C matrix. Therefore, Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 36 this new sensor signal is redundant and can be eliminated. If the corresponding eigenvalue to the newly added sensor is very small (though not zero), we may conclude that the newly added sensor is almost redundant. In such a case, this sensor only supply little additional information to the original measurements. Therefore, again, this sensor may be neglected. In this way we select the sensors for control purposes. 3.8 Why use the frequency identification method? The identification of various parameters of the derived continuous-time state- space model is performed using the frequency identification method. By applying a sinusoidal signal sweeping through a range of frequencies, one can accurately determine the resonance and the counter-resonance modal frequencies. Thus we obtained the pinned-free modal frequencies wi and the cantilevered modal frequencies Sli. By applying constant frequency sinusoids at resonance frequencies, then shutting them off and recording the decaying oscillations, one can also identify the modal damping factors. Then the modal slope parameters 0:(0) are calculated based on these information. Now by applying steady constant frequency sinusoids at resonance frequencies and recording the sensor signals, one can further use the recorded data together with the modal slope parameters to calculate the modal shape parameters 0,(L) and modal curvature parameters 01(x). The reasons for using such frequency identification method instead of the other more popular system identification methods are listed below: Firstly, the frequency method is widely acknowledged among the researchers working on flexible structures as the most accurate method for identifying the model of weakly Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 37 damped flexible structures. Secondly, the standard discrete-time identification methods such as the least squares, the instrumental variable, or the lattice filter etc, suffer a series of drawbacks when one desires to design controllers based on the derived continuous-time physically meaningful model. These drawbacks are: • The model most often used in applying these methods is the discrete-time ARMA model. Therefore, these methods are only well-suited for controller designs based on such a model. • In the ARMA model, the physical meanings of the estimated parameters are lost which is undesirable. • It is very difficult, if at all possible, to accurately transform the ARMA model back to the original continuous-time state-space model. Thirdly, these discrete-time identification methods are known to have problems in accurately estimating the parameters for lightly-damped systems. Modifications on these methods may solve some of the problems, but most of them are quite ad hoc. It is often quite difficult to determine precisely what changes are necessary to improve their performance. Based on the above analysis, we adopted the frequency identification method in this research. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 38 3.9 IRPRBS identification of modal frequencies The identification of the modal frequencies is firstly done using an Inverse Repetitive Pseudo-Random Binary Series (IRPRBS, see Appendix B) as the exciting signal which is generated in software by adding a square wave sequence on mod 2 basis with an ordinary Pseudo-Random Binary Series (PRBS). Compared with the ordinary PRBS this exciting signal has the following advantages: a) The cycle length is doubled b) Its autocorrelation has no constant DC bias. The reason for choosing this exciting signal is that it can be simply designed to have a certain exciting frequency range and intensity. Besides it can be easily generated in real time using only a few assembly language instructions. The experimental exciting signal and the response of the sensors are recorded and by using the spectrum analysis function in MATLAB (spectrum) we obtain the magnitude of the plant transfer functions. The IRPRBS is designed to give full excitation within the frequency range of 1Hz ,--, 90Hz. The specifications of the IRPRBS can be determined following the empirical formula [18]: A < 0.3 * Tm-, Np 1 fm, , (3.17) where A is the time interval of each random number within it the exciting signal keeps a constant value. Np is the length of a cycle of IRPRBS signal. fm and fM are the lower and upper frequency bounds of the exciting signal. Given fm and fM as chosen above, the values of A and Np can be calculated as: A < 0.3 * — 1 = ^0.003333 0.3 sec. = 3.333 mS, fM 90.0 (3.18) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 39 11 Np = 512 > f A = ^ 300.^(3.19) m ^1 * 0.003333 The actual parameters adopted are: The time interval for each random number is: A = 3.333 mS (i.e. 300 Hz). The cycle length is: Np = 1024. The shifting register used to generate the PRBS is of 9 stages. The feedback signal is taken from the 5th and the 9th stage. The cycle length of the produced PRBS is 512. Adding a square wave on mod 2 basis we obtain an IRPRBS signal of cycle length 1024. The voltage level is set to 0.31 v (for binary "1") or -0.31 v (for binary "0"). Before collecting data, one cycle of the IRPRBS signal is sent to the system as the pre-exciting signal. The modal frequencies thus determined are quite close to the actual values. However, further raising the accuracy is hindered by the hardware limitations. For example, if the IRPRBS cycle length is 512, the collected data length is 1024 (2 cycles) which is sampled at 300 Hz, the calculation is based on 512-point FFT then the magnitude of the transfer function is given out in 256 data points evenly spaced over 0 r•- , 150 Hz frequency band. In other words, the resolution for the smallest frequency division 150 is: 256 — Hz. Increasing the data points can raise the resolution but is limited by the memory size of the computer. If the same length of the exciting signal and response are collected as above but at a sampling frequency of 1000Hz, and 512-point FFT is used, then the magnitude of the transfer function is given out in 256 data points evenly spaced over 0 ti 500 Hz frequency band, i.e. the resolution of the smallest 500 frequency division differentiable is: — Hz. 256 Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 40 3.10 Sinusoidal identification of modal frequencies and damping factors Based on the results of IRPRBS identification, the sinusoidal identification is then conducted to determine accurately the modal parameters. In this experiment a sine wave exciting signal is applied to the plant with its frequency sweeping through the small regions containing the modal frequencies we already determined in the IRPRBS identification. By monitoring the input signal frequency and the joint angle readings, the resonance and counter resonance frequencies observed as peaks and valleys can be accurately determined. One problem that was encountered initially is the discrepancy between the analytical and the identified modal frequencies. It is found that this is caused by how we define the arm length. In the analysis, for the cantilevered modal frequencies we have the simple relationships to derive the analytical values as follows: - E*1 ^ * A? /(271-) p * (L 4 ) (3.20) where fci is the ith cantilevered modal frequency. A i is the eigenvalue determined from the cantilevered frequency equation: F 1 + cos cosh = 0. ^ (3.21) In the above two equations E is Young's modulus which is looked up in engineering manuals for materials of this type of aluminum. I is the cross sectional moment of inertia which can be calculated from the cross sectional size of the arm. p is the linear mass density and is obtained from the quotient of total weight of the aluminum arm divided by the physical length of that part. These values are all quite accurately known or obtainable. The only variable that seems to have influenced the analytical Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 41 ^ 0.97 m 0.989 m ^ 1.001 m Figure 3.2: Flexible arm length definition Table 3.1: Cantilevered modal frequencies, analytical and experimental mode # 1 2 3 identified 2.53 15.85 44.35 L=0.97 2.7156 17.019 47.653 analytical L=0.989 2.6123 16.371 45.840 L=1.001 2.55 15.981 44.747 result is how to define the length L of the arm (not in the case for determining p, in that case the length is the physical length of the aluminum part). The flexible arm length may be defined in three ways as is shown in Fig. 3.2. One is the length of 0.97 M, which represents that length of the aluminum arm that juts out of the clamping mass. Another length is 0.989 M, which is the physical length of the aluminum beam. Still another length is 1.001 M, which is measured from the arm tip to the motor shaft axis. The identified cantilevered modal frequencies and the analytical values based on these three definitions of length are listed in Table 3.1. From the table we can see the length L = 1.001M gives the closest analytical result Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 42 to the identified values. The maximum discrepancy between the identified and analytically determined modal frequencies under this condition is within 2%. Therefore this value is adopted in all the subsequent analysis. The damping factor e n 's are also identified via sinusoidal excitation. At resonance frequency, shut down the exciting sine wave and record the decaying oscillation afterwards. The recorded data then pass through a properly chosen Butterworth filter to eliminate the DC bias or low frequency drifting. Taking absolute value so that the negative half is folded to the positive side and abstracting the envelope that covers the peaks of this decaying oscillation we can obtain the damping factors via least-square curve-fitting. 3.11 Identification of 0:(0), 0,(L) and 0:'(x) The modal slope 0:(0) is determined using the relationship: 2 3 (—^+ 1) 1 ^TT ^11i /T s(s + a) 11 +1 ) ^kkii(o)}2 + IT E 1=1 S 1^1 3 hs(s+ a) 2 (3.22) + gtwis + co? where the LHS is the transfer function derived analytically from the PDE and its boundary conditions. S2, is the ith cantilevered mode frequency. 6 is the ith cantilevered mode damping factor. The RHS is calculated from the state-space equation. Since the frequencies are accurately known and we know 4 i ((i is generally close to . therefore we simply assumed it to be 0.01), CO) can be calculated immediately. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 43 For identifying Oi (L) we use the transfer function of 0(s) u(s) and Ytp (s) ^ u(s) calculated from the state-space model. It can be easily shown that YtpUcoi) 4(4 =^. ^0.(0), 004 (3.23) 2 where y tp is the tip position, 0 is the joint sensor output. Using the already known qt(0) and the recorded data at resonance frequency we can calculate cbi(L). Since 0:(0)'s always take positive values according to convention, the sign of Oi(L) is determined by checking the phase of ytp with respect to 0 at the resonance frequency. It is interesting to note that for this plant all of the first 3 flexible modal shapes c6i(L)'s take negative values. This means that all the three flexible modes tend to destabilize the system. In Schmitz's [69] plant it was found that O i (L)'s have alternate signs with increasing i and the odd numbered cbi(L)'s which take negative values tend to destabilize the plant while the even numbered O i (L)'s which take positive values tend to stabilize the plant. The modal curvature and 0(s) q5':(x) can be similarly found using the transfer function YsG(s) u(s) - calculated from the state space equation: u) (s 0/:(x) = YsG(x)Owi) 2 0 (iwi)^6 (3.24) 0:(0), where y sG is the strain gauge sensor output. The sign of 4):/(x) is determined by checking the phase of the recorded data at resonant frequency Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 44 3.12 Identification of IH The moment of inertia of the motor hub IH consists of the moment of inertia of the motor rotor, the clamping mass and the PSD with the lens and the holding case mounted on the clamping mass. It is also identified using the pinned-free modal frequency relations expressed in the following equations: ^EI = A2 pL 4 2 ' wi = 271- fpi , (3.26) F(A) = 2(sin A cosh A — cos A sinh A + EA 3 (1.0 + cos ) cosh A)) = 0, (3.27) IH 6^3IB' (3.28) wi (3.25) where A i is the eigenvalue of the pinned-free frequency equation (3.27). IB is the moment of inertia of the beam which can be calculated quite accurately. p is the aluminum beam linear density. L is the flexible arm length. E is Young's modulus. I is the cross-sectional moment of inertia of the beam. f p i is the ith pinned-free mode frequency. Given different IH, from the above equations we can obtain different eigenvalues A i . Since all the other physical parameters used in the calculation are quite accurately known or obtainable, we can let the IH take the value when the analytically calculated pinned-free modal frequencies get best match with the identified values. The IH thus obtained has the value: IH = 0.00044 (Kg * M 2 )^ (3.29) The analytical values thus determined are listed in Table 3.2 together with the experimentally identified pinned-free modal frequencies. The two sets of frequencies agree to within 5% of each other. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 45 Table 3.2: Pinned-free modal frequencies, analytical and experimental mode # Analytical Experimental 1 2 3 (Hz) 11.020 34.308 66.247 (Hz) 10.42 33.02 65.86 3.13 Model refinement The accuracy of the state-space model parameters identified in the previous subsections is further improved through fine tuning. This is done by comparing the Bode plot of the system obtained in section 3.9 using the IRPRBS excitation with that of the identified model, and modifying the identified parameters accordingly. In figures 3.3 ti 3.14, the solid line curves are obtained with the spectrum function, using the recorded IRPRBS input and the measured output signals. The smooth dashed-line curves are the Bode plots of the state space model identified using the frequency identification method. Since the solid-line curves were obtained consistently by applying spectrum analysis directly on different recorded data sets, it is assumed to be accurate and was used as the reference for model refinement. We then compare the Bode plots of the dashed-line curve with the solid-line curve within the frequency range of the first three flexible modes. The modal parameters identified and used in the dashed-line curve are further modified so that the new dashed-line curve based on the modified parameters gets closer to the solid-line curve. Since the modal slope parameters (0) are calculated directly from the system's modal frequencies which are quite accurately known, these parameters are kept unchanged. Only the modal shape parameters ¢ii (L) and modal curvature parameters q'(x) are modified. In view Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 46 101 10 0 g 10 -2 h C C td 10 -3 10 - 0^20^40^60^80 ^ 100 ^ 120 ^ 140 Frequency ( Hz.) Figure 3.3: Transfer function before model refinement (tip PSD, unloaded) of the fact that each curve corresponds to only three parameters of either modal slope or modal curvature and each of these parameters only affects that portion of the Bode plot that is around the frequency range of that mode, it is fairly easy to further modify these parameters one by one to observe the dashed-line curve getting closer and closer to the solid-line curve in the the corresponding frequency ranges. Fig. 3.3 to Fig. 3.8 show the results for tip sensor and strain gauges before and after the model parameter refinement in the unloaded case. Fig. 3.9 to Fig. 3.14 show the results for tip sensor and strain gauges before and after the model parameter refinement in the loaded case with a cylindrical load of 382.5 gram fixed at the tip. The analytical, identified and refined plant model parameters for the unloaded case are listed in Table 3.3. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 47 101 10 0 g 102 - 10 -3 20^40^60^80 100 120 140 Frequency ( Hz.) Figure 3.4: Transfer function after model refinement (tip PSD, unloaded) 10- 1 ^ 10 -2 10 -5 10 45 ^ 0 20^40^60^80^100^120^140 Frequency ( Hz.) Figure 3.5: Transfer function before model refinement (strain gauge Z, unloaded) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 48 10-1 ^ 140 Frequency ( Hz.) Figure 3.6: Transfer function after model refinement (strain gauge Z, unloaded) 10 -2 ^ 10 4 DD 2 10 4 - LL 10 -5 10-6 0 20^40^60^80 100^120^140 Frequency ( Hz.) Figure 3.7: Transfer function before model refinement (strain gauge R, unloaded) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 49 10-2 A 10 -3 2 0 10 -4 10-5 0 20 ^ ^ ^ ^ ^ ^ 140 80 40 60 100 120 Frequency ( Hz.) Figure 3.8: Transfer function after model refinement (strain gauge R, unloaded) A 0 t 6- , Frequency ( Hz.) Figure 3.9: Transfer function before model refinement (tip PSD, loaded) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 50 10 0 10 .1 a i s at ,.._ i A ON 10 .2 . Om 10 -2 1 0 -4 20^40^60^80 100 120 140 Frequency ( Hz.) Figure 3.10: Transfer function after model refinement (tip PSD, loaded) Figure 3.11: Transfer function before model refinement (strain gauge Z, loaded) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 51 140 Frequency ( Hz.) Figure 3.12: Transfer function after model refinement (strain gauge Z, loaded) 10 .2 g 120 140 Frequency ( Hz.) Figure 3.13: Transfer function before model refinement (strain gauge R, loaded) Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 52 Table 3.3: Model parameter values (unloaded case) Parameters w l ( Hz) w 2 (Hz) W3 (Hz) D i (Hz) 11 2 (Hz) 123 (Hz) 6 6 6 Ci. C2 6 4( 0 ) 012( 0 ) 03( 0 ) 01(L) 02(L) 03(L) 0'(z) 02(Z) qS'AZ) 0/1' ( R ) 0/(R) 03(R) Analytical 11.020 34.308 66.247 2.55 15.981 44.747 N/A N/A N/A N/A ditto ditto 3.0974 6.2006 9.6058 -1.1250 1.0879 -1.0151 12.8847 -2.0621 -64.187 1.9734 19.0494 82.4066 * Assumed value. Identified 10.42 33.02 65.86 2.53 15.85 44.35 0.011 0.010 0.0077 0.01* ditto ditto 3.1475 6.2090 10.3355 -4.4005 -5.2657 -10.8004 13.6146 -8.42935 -89.8760 2.46175 21.32915 83.3109 Refined 10.42 33.02 65.86 2.53 15.85 44.35 0.011 0.010 0.0077 0.01 ditto ditto 3.1475 6.2090 10.3355 -3.0 -3.5 -7.0 10.0 -3.0 -40.0 5.0 18.0 140.0 Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 53 10-2 80 100 120 140 Frequency ( Hz.) Figure 3.14: Transfer function after model refinement (strain gauge R, loaded) It is found that the values obtained after the refinement deviate quite a bit from the analytical values. This is especially true for 0 2 (L); it even changed sign. The analytical, identified and refined plant model parameters with a payload of 382.5g at the tip and the pinned-mass boundary conditions are listed in Table 3.4. From the table we can see that when the arm is loaded the modal frequencies become lower. Other modal parameters are also changed. 3.14 Practical controllability study Using the pinned-free boundary conditions and the small deflection assumption we obtained a linear state space description as was presented in section 3.6. To evaluate the practical controllability of the system, the model is truncated to contain: Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 54 Table 3.4: Model parameter values (loaded case) Parameters w i (Hz) w2 (Hz) w3 (Hz) fi i (Hz) 12 2 (Hz) Q3 (Hz) 6 6 6 Ci (2 (3 4( 0 ) 4( 0 ) 0;( 0 ) 01(L) 02(L) q3 (L) g(Z) g(Z) .tki (Z) 0'1(R) g(R) g(R) Analytical 7.7838 28.1836 58.4335 1.2077 11.8811 37.0271 N/A N/A N/A N/A ditto ditto 4.398 9.910 16.564 -0.4045 0.2439 -0.1676 14.5811 15.7103 -103.67 1.7572 22.672 116.46 * Assumed value. Identified 7.38 26.68 57.20 1.18 11.65 36.50 0.0151 0.0088 0.0071 0.01* ditto ditto 4.398 9.910 16.564 -4.8961 -10.0271 -17.2504 15.2093 13.3294 -129.7719 2.1947 24.1431 109.23 Refined 7.38 26.68 57.20 1.18 11.65 36.50 0.0151 0.0088 0.0071 0.01 ditto ditto 4.398 9.910 16.564 -4.8961 -8.0 -17.2504 15.2093 13.3294 -90.0 2.1947 24.1431 170.0 Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 55 Case 1. Only the rigid mode, n = 2. Case 2. The rigid mode plus the first flexible mode, n = 4. Case 3. The rigid mode plus the first two flexible modes, n = 6. Case 4. The rigid mode plus the first three flexible modes, n = 8. where n is the system's order of the truncated model. For each case the controllability matrix is calculated. The determinant, rank and condition number 1 of the matrix are listed in Table 3.5. The condition number of the controllability matrix is taken to be a measure of the difficulty involved in controlling the system. The bigger the condition number is, the more difficult it will be to control the system in practice. Then, it is purposefully assumed that the first three flexible modes are at lower frequencies (i.e. the arm assumed to be more flexible). The frequencies are assumed to be at: fl = 2.0 Hz 12 = 7.0 Hz = 11.0 Hz All the other modal parameters are assumed to be the same as the identified ones. 'Condition number of a matrix is the ratio of its largest singular value to its smallest singular value Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 56 Table 3.5: Controllability study Case 1) 2) 3) 4) 5) Determinant -6.93e+02 +5.75e+12 -2.81e+34 +1.84e+69 +3.10e+51 Rank Condition # 2 1.221e+00 4 1.221e+04 6 4.081e+10 oo 6 8 1.431e+12 The same controllability study procedure is repeated and the result is shown in Table 3.5, case 5. From the data listed in Table 3.5, we can acquire the following information: • When the arm is more rigid, its flexible modes will have higher modal frequencies. It is more difficult to actively control the flexible modes, or even not possible as is shown in case 4. • If only the rigid mode is considered (case 1), it is perfectly controllable and the control is easy to realize since the condition number is small. However, we need to limit the control signal band width to avoid exciting vibration. Thus the system response would be slow. • The case of rigid mode plus first flexible mode (case 2) is already a bit difficult to control since the condition number is already quite big. • The case of rigid mode plus first two flexible modes (case 3), though is still controllable, is quite difficult to do so. Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 57 Table 3.6: Controllability study of Schmitz's model Case Original Schmitz's model Schmitz's model with freq. quadrupled Determinant Rank 3.42e-1-39 8 Condition # 1.01e+11 9.64e+53 1.61e+15 6 • The case of rigid mode plus first three flexible modes (case 4), is not controllable. Obviously the newly added higher mode position and velocity states are not controllable. • The case of a model containing more modes (> 4) is not controllable. • Lowering the frequencies (case 5), the originally uncontrollable system become controllable again. This means that the more flexible the arm is, the easier to actively control the flexible modes. Then Schmitz's model [69] is used to check the controllability. Schmitz's arm is much more flexible than ours. The modal frequencies of the flexible modes in our case are more than four times those in his case. The original Schmitz's model and his model with the flexible mode frequencies quadrupled are used to calculate the controllability matrices. All the other parameters are assumed to be unchanged. Again, the determinant, the rank and the condition number are calculated. The results are listed in Table 3.6. As expected, the same result is observed as we can see the rank of the controllability matrix drops by 2 when the modal frequencies are quadrupled. Therefore it is confirmed again that if the arm is more rigid (such as in our case) it is more difficult to Chapter 3. MODELING, IDENTIFICATION AND MODEL REFINEMENT 58 get the higher frequency flexible modes under active control. It should be noted that there is no absolute division between the controllable and the uncontrollable cases. The criterion used here is the singularity of the controllability matrix. It is determined by comparing to a 'zero-threshold' value. If one or more of the singular values of a matrix are smaller than this value, the matrix is considered to be singular, otherwise to be nonsingular. The controllability study here is based on this MATLAB defined threshold. It is worth emphasizing that the study presented so far in this subsection is meant to evaluate the difficulty in controlling the system in practice, where finite precision arithmetic and numerical problems are inevitable. Therefore the results obtained may not correspond to theory where infinite precision arithmetic is assumed to be available and used. If one desires to pursue a more theoretical analysis of the system controllability, then reducing the (A, B) pair into the Hessenberg form may be a numerically more stable and precise method for the study. This is particularly true for a system with widely spaced modes. Chapter 4 EXISTING CONTROL LAW IMPLEMENTATION 4.1 Introduction Several existing control laws (PD, LQG, etc.) are implemented. The purpose is to: • verify the obtained dynamic model by comparing the experimental results with the simulation ones. • find discrepancies due to various assumptions and neglected or unmodeled dynamics like frictions etc. and make appropriate amendments. • check and correct all the implementation-related issues like sensor circuit DC bias, etc.. • provide a baseline for performance comparison with the new control laws that will be developed during this research. 59 ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^60 4.2 PD control based on rigid joint model When the flexible modes are not considered, the plant model becomes very simple. The transfer function from torque to joint angular position is: ^0(s)^1 ^u(s)^/T s(s -I- a) . (4.1) A proportional plus derivative feedback law for this rigid joint model is given by: u(s) = —Ifp 0(s) — KdsO(s),^ (4.2) where 0(6) is the joint angle which is measurable via the motor optical encoder. sO(s) is the joint angular velocity which is approximated by the difference of the joint position readings in adjacent sampling periods divided by the sampling period. Since the optical encoder is a digital device free of analog circuit noise, no extra noise is introduced by using this approximation method. The block diagram of the closed loop system is shown in Fig. 4.1, where Kr is in the unit of N • M/rad. Kd is in the unit of N • M sec/rad. Fig. 4.1 can be converted through a series of block diagram manipulation into the form shown in Fig. 4.2. Therefore the closed-loop transfer function from the commanded joint position to the actual joint position is expressed as: Kr 0(s) =^IT^ co 2 Kp - s 2 g wn s con2 Od(s)^s(s + a Kd IT^IT (4.3) where Kp IT (4.4) ' Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^61 6 1 —..--n--11b. 0 ITS + I Ta + Kd Figure 4.1: Block diagram of the rigid joint model closed-loop PD control Kp ea Tr - S(S+ Kp a + Ka --- ) + IT IT Figure 4.2: Rigid joint model PD control, after block diagram manipulation ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^62 Kd = (a + — )/(2w n ). (4.5) To avoid exciting the flexible mode, the closed loop bandwidth w n should be chosen to be lower than half of the first cantilevered mode frequency f a . In our case fa = 2.53 Hz (unloaded case). The closed loop bandwidth may be chosen to be 1 Hz. The controller parameters thus determined are: w n = 27r * 1 = 27r,^ (4.6) Kp = W n2 * = 47r 2 * IT = 5.8483.^ (4.7) As we can see Kp can only take rather small values to avoid exciting the flexible modes. Kd can be determined by specifying the damping factor to be: ^Kd C = 0.707,^ (4.8) = ( 2CCO n — a) * IT = 1.2865.^ (4.9) The experiments results showed that the above controller gains lead to oscillation so this set of parameters is abandoned. Then the closed-loop bandwidth is further reduced to 0.8 Hz. The damping factor remains unchanged. The calculated controller parameters are: Kp = 3.7429, Kd = 1.0233.^ (4.10) The system response and control signal are shown in Fig. 4.3 and Fig. 4.4, where the desired trajectory 0d is a step signal with amplitude 0.1m/L, L = 1.001m is the length of the arm. As we can see, there exists steady state error. Besides, the response is slow. Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^63 -0.01 -0.02 -0.03 •-:1 -0.04 a.) -0.05 z 1 -0.06 ... -0.07 -0.08 -0.09 2^4^6^8^10^12^14^16^18^20 Time (sec.) Figure 4.3: PD control based on rigid joint model, system's response 10 ^ -10 -20 -30 2^4^6^8^10^12^14^ 16^18 . Time (sec.) Figure 4.4: PD control based on rigid joint model, control signal 20 Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^64 0^ -0.02 -0.04 eo -0.06 -0.08 -0.1 4).12 0 2^4^6^8^10^12^14^16^18^20 Time (sec.) Figure 4.5: PID control based on rigid joint model, system's response To overcome the steady state error, integral action is added to the algorithm. PID velocity algorithm is used. The parameters used are: Kp = 3.7429, Kd = 1.0233, Ki = 0.4.^(4.11) The response and control are shown in Fig. 4.5 and Fig. 4.6. 4.3 Tip position PD control Tip position PD control based on the flexible link model is then tested. The closedloop block diagram is shown in Fig. 4.7. The open-loop pole/zero plot is shown in Fig. 4.8. The tip position is measured via joint optical encoder and the tip PSD. The tip Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^65 10 0 -20 -30 -500 ^2^4^6^8^10^12^14^16^18 Time (sec.) Figure 4.6: PID control based on rigid joint model, control signal yt (s Yt d ^...••••41P• Figure 4.7: Block diagram for tip position PD control Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^66 500 ^ 400 - x 300 200 f- 100 0 A 0 -100 0 -200 -300 -400 -500 ^ -40 -30^-20^-10^0^10^20^30^40 REAL Figure 4.8: Open-loop pole/zero locations velocity signal is approximated by the difference of the two adjacent sampled position values divided by the sampling period. In this case, the tip PSD signal may contain some noise. Therefore this kind of approximation may undesirably amplify the noise signal. The control algorithm derived based on this approximation is given below. The control signal is: u(s) = —Kp ytp (s) — Kd sy tp (s).^(4.12) Divide each term by u(s) we have: 1 + Ifd (s Kp Kd Ytp ) 17;-j = 0 . . (4.13) Yt s P is u( the open-loop motor torque to tip position transfer function. From (4.13) we can plot This is the characteristic equation of the closed-loop PD control system where () - ) the root locus following the procedure: Fixing Kd to a given value, then increasing Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^67 0.02 ^ 0 -0.02 g :22 -0.04 -0.06 -0.08 -0.1 ^ 0 200^400^600^800 1000 1200 1400 1600 1800 2000 Time k (x 0.01 sec.) Figure 4.9: Tip position PD control, tip response Kd we can obtain one root locus and determine the desired closed-loop poles and the corresponding feedback gains. The experimental results are shown in Fig. 4.9 and Fig. 4.10, where the desired trajectory y d is a 0.1m step signal. The controller parameters are: Kp = 4.0, Kd = 0.8.^ (4.14) When PD control is applied to tip position control, the gain cannot get large. This is because the NMP zero at the right half s plane "attracts" the closed loop poles toward the right half s plane. Fig. 4.11 shows the root locus for tip position PD control. Then the PD control experimental results are compared with the simulation results based on the truncated model. Some differences exist. It is speculated that this is Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^68 10 -50 ^ 0 200^400^600^800 1000 1200 1400 1600 1800 2000 Time k (x 0.01 sec.) • Figure 4.10: Tip position PD control, control signal 500 400 300 200 100 .5 E -100 -200 -300 -400 -50 200^0^200^400^600 800 Real Figure 4.11: Root locus for tip PD control 1000 1200 ^ ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^69 caused by the friction at the joint. Friction is generally nonlinear and dependent on such factors as velocity and pressure between the two moving surfaces and also on the surface composition. Analytically friction can be broken down into three distinct components: • viscous friction, which has linear relationship between frictional force and velocity. • static friction, which prevents initial motion. Once the motion begins this force vanishes. • Coulomb friction, also called running friction, which has a constant magnitude. Its sign is dependent on the direction of the velocity. It is quite difficult to determine the various frictional effects. We tried to add it in the simulation process to see the effects. The result gets quite close to the experimental result as is shown in Fig. 4.12, where the viscous friction added is: 0.08 * 0, the Coulomb friction added is: 0.003 * sign(è). Then we try to include these effects into the plant model. Since viscous friction is linear, it's quite easy to incorporate it into the plant model. The viscous friction torque is included in the model as: AX bU — bf,, —f, = —0.08 *. (40 + 4(0)41 + (4(0)4 2 + 4(0)6).^(4.15) Coulomb friction is nonlinear, so it is difficult to include it in a linear model. It is therefore neglected. The pole/zero plot for friction-included model is shown in Fig. Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^70 0.02 ^ a -0.02 -0.04 .c. -0.06 -0.08 -0.1 ^ 0 2^4^6^8^10^12^14^16^18^20 Time (sec.) Figure 4.12: Experimental vs. friction-added-simulation results for tip PD control 4.13. The inclusion of friction into the system's model has almost no influence on modal frequencies. However, the enhancement of the modal damping factor is obvious. Therefore in a certain sense its existence is not a bad thing because it increases the damping of the system. It is observed that friction is position-dependent. This may be caused by nonconformal bearing parts, nonalignment of the motor shaft or unbalanced load etc.. This further complicates the control problem. ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^71 500 ^ 400 - x 300 0 200 0 >- 100 0 Z X% 0 -100 0 -200^ x 0 -300 -400^x -50-40 -30^-20^-10^0^10^20^30 40 REAL Figure 4.13: Pole/zero locations of friction-included model 4.4 Tip position LQG control Tip position LQG control is also conducted. The discretized LQG algorithm is given in Appendix C. The plant model used to design the controller is an 8th-order viscous friction-included model. The performance index is chosen to be: 1 0^yip^ 1 (00 u * R * u} dt,^(4.16) {[Ytp^ Jo tp 0 T^y 2 J^= —2 where y ip is the tip position error, y tp is the derivative of y ip . The physical meaning of this index is obvious: the tip position error y ip and its velocity y ip are weighted. Increasing T will decrease the velocity and increase the damping. This performance Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^72 index can be written in state variable form as: L^0 0^* L ch(L)^0 1.r) T^0 T * 01(4 =— {X 2 o^ 02(L)^0 0^r * q¢ 2 (L) 0 3 (4^0 0^r * 03 (L) L^0^01M^0^q2(L)^0^c63(L)^0 0 T * L^0^T * 01(L)^0^*q2(L)^0^T * 03(L) U * R * dt = 2^ o X+ {X T QX uRu} dt, (4.17) where X = go 40 qi 41 q2 q2 q3 q3 I• (4.18) In a real implementation, the weighting parameter r is broken down to 71 for each of the flexible modes. The first run of experiments is performed. Various weighting parameters are tested based on a trial and error method. The best result achieved is the slewing time of about 320 ms for a tip excursion of 10 cm. The simulation is also performed. There are two points in the simulation results that are quite different from the experimental ones. One is in the initial "dip" (i.e. the motion opposite to the set point direction). The simulation "dip" is much larger than the experimental one, see Fig. 4.14. ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^73 0.02 —initial "dip", simulation > experiment 0 ^ -0.02 o -0.04 —simulation slower than experimental result -0.06 -0.08 -0.1 -0.12 ^^ 0 50^100^150 200^250^300 350 400^450 500 Time k (x 0.0] sec.) Figure 4.14: Initial "dip", experiments vs. simulation The other point is that the simulation results have a slower tip response than the experimental results. Increasing the gain inside the loop does not solve the problem. To find the problem, the weighting parameters are changed and a different group of controller parameters are obtained. Applying this group of controller parameters to the same model, we get simulation results closer to the experimental results. Checking the controller feedback gains thus obtained, it is found that the feedback gain for the rigid mode almost doubled while the other gains for the flexible modes changed only slightly. Then the model parameter (AO) is modified and increased from 1.0 to 3.9. Using the same controller feedback gains as in the experimental case and the new plant model, we run a new series of simulation. The results are quite good. The simulation becomes quite close to the experimental results, see Fig. 4.15. After that the controller is redesigned based on the modified model with new 00(0) Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^74 0.02 ^ -0.02 -0. oa 1:6 o. -0.06 -0.08 -0.1 -°.12 0 50^100^150^200^250^300^350 400^450 500 Time k (x 0.01 sec.) Figure 4.15: After modifying q0(0), experiments vs. simulation value and a new run of experiments is performed. The responses show some improvements in the performance of the system. The response time is shortened to about 230 ms for the same tip excursion. Fig. 4.16 ti Fig. 4.18 show the control results based on LQG control using only tip and joint sensor measurements. The controller weighting parameters are chosen as: TO = 0.08, r 1 = 0.09, r2 = 0.09, r3 = 0.09, R = 0.00001, Qnc = 160.0, R„, = 1.0, where Q n , is the continuous time systems noise spectral density, R„ is the continuous time sensor noise spectral density. Fig. 4.19 ,-, Fig. 4.23 give the control results of LQG based on sensor measurements of tip deflection, joint position, strain gauge Z and strain gauge R. The control weighting ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^75 0.02 ^ -0.02 g• -0.04 k -0.06 -0.08 -0.1 -0.12 ^^ 40^60^80^100^120^140^160^180^200 0 Time (0.01 sec.) Figure 4.16: Tip position, LQG control, only tip and joint sensors are used -0.02 -16 O -0.04 -0.06 V C •• -0.08 -0.1 -0.12 ^^ 20^40^60^80^100^120^140^160^180^200 0 Time (0.01 scc.) Figure 4.17: Joint position, LQG control, only tip and joint sensors are used ^ Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^76 150 ^ 100 50 0 -50 - -100 -150 -200 -250 -300 0 20^40^60^80^100^120^140^160^180^200 Time (0.01 sec.) Figure 4.18: Control signal, LQG control, only tip and joint sensors are used parameters are chosen as: = 0.1, 71 = 0.11, 72 = 0.11, 73 = 0.11, R = 0.00001, Qnc = 80.0, Rjt = 10.0, R tp = 1.0, Rz = 0.1, RR = 0.1, where Ra t , Rep, RZ, RR are sensor noise spectral densities. 4.5 Performance evaluation The LQG performance achieved is compared with Schmitz's results. Schmitz claimed in his thesis [69] that the shortest time duration for his flexible arm tip to complete a 10 cm excursion is about half the period of the first cantilevered frequency. His experimental setup is very flexible and thus has a very low first cantilevered mode frequency. Under this low frequency, 1 2.fa ^a relatively long period. Schmitz took Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^77 0.02 -0.02 -0.04 • -0.06 -0.08 -0.1 -°.12 0 20^40^60^80^100^120^140^160^180^200 Time (0.01 sec.) Figure 4.19: Tip position, LQG control, four sensors used -0.02 - -0.04 :17 -0.06 Q ; .EO • -0.08 -0.1 43.12 0 20^40^60^80^100^120^140^160^180 200 Time (0.01 sec.) Figure 4.20: Joint position, LQG control, four sensors used Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION ^78 1^ Et -2.5 20^40^60^80^100^120 140^160^180 200 Time (0.01 sec.) Figure 4.21: Strain gauge Z, LQG control, four sensors used 1.5 ^ k■ 1 I 0.5 0 1 MI -1.5 -2.5 20^40^60^80^100^120^140^160^180 200 Time (0.01 sec.) Figure 4.22: Strain gauge R, LQG control, four sensors used Chapter 4. EXISTING CONTROL LAW IMPLEMENTATION^79 150 100 O 4 -100 1 -150 -200 0 -300 ^ 0 20^40^60^80^100^120^140^160^180 200 Time (0.01 sec.) Figure 4.23: Control signal, LQG control, four sensors used about 1 second to control the tip to the set point 10 cm apart. In our case we tried the same control scheme (the algorithm is modified a little). The best achieved results for the same tip excursion is about 230 ms. Though it is four 1 times faster than Schmitz's case, it is still not up to the expected—. In our case, 2ici 1 Li = 2.5 Hz —^0.2 sec. = 200 ins. We believe the controller has been well 2Li tuned and the control signal is not clipped. It seems the best achievable results is 230 , ms. It is also doubtful whether the expectation of achieving response time of – 1– is universally valid for the whole range of flexible arms ranging from very flexible ones to the quite rigid ones. Anyway, this is the best results achieved on our setup. We will use it as the baseline for future comparisons with the newly developed controller designs. Chapter 5 VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 5.1 Introduction In this chapter we present a new controller design method for the noncolocated tip position control of a flexible one-link manipulator arm based on variable structure sliding mode systems theory [62]. The method based on the model given in Chapter 3 and Appendix A is presented in section 5.2. The separate first order observer design is given in section 5.3. The simulation results are provided in section 5.4, and finally the proposed design is analyzed in section 5.5. 5.2 Model and controller design By modal truncation we obtain a lower order state space description as follows (retaining 2 flexible modes): = AX bU,^X T = qo 40 q1 41. q2 42 80 ^ (5.1) Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 81 0 1 0 0 —a 0 01 ( 0 ) 0^1 A= _ ,,,2 b= —2^1 w 1 0 1 ,^(5.2) c (0) 0^1 0 — 24. 2c02 0 '2 ( 0 ) (5.3) U= Tq .^ The output equation is: go 0 01(0)^0^0 12 (0) 0 L 0 0 1 (L)^0^0 2 (L) 0 YSGZ 0 0 'IO i'(Z)^0^14(Z) 0 YSGR 0 0 6 ye YTP 1 0'3'(R)^0^10(R) 0 (5.4) q2 q2 where w i is the ith flexible mode frequency, 4 i is the ith mode damping factor, IT is . the combined moment of inertia of the motor hub and the arm, S is the thickness of the arm, y e is the joint angle measurement, y T p is the tip position measurement, ysGz and ysGR are the strain gauge measurements. Z and R denote the distances from the strain gauge locations to the motor shaft axis. This model is easily expanded to contain more modes or truncated to contain fewer modes. In variable structure sliding mode control (VSSMC) design, it is essential to use the error signal and its derivatives to form the coordinates and the switching hypersurface so that when the state variables slide on the switching hypersurface to the origin, the system error goes to zero and the desired target state is reached. Among the various error signals in the system, the variable of most concern is the tip position error. Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 82 It is well known that in rigid robot control, the tip position can be controlled via joint angle measurement and control. However, when the link is flexible, the tip position no longer has the simple fixed relationship with the joint angle. Therefore in a flexible arm control, it is of crucial importance to use the tip position measurement to achieve accurate tip position control. We choose the tip position error and its derivative as the state variables to be controlled. Then the error signal is (assuming the set point to be zero): Xi = yTp, ^ (5.5) where yTp is the current tip position. x 1 is the tip position error. The derivative of tip position error is denoted by x2^TP• ^ (5.6) The switching hypersurface (a line in this case) can be formed as: S = x 2 (t) C x 1 (0 = 0,^ (5.7) where C > 0 is the controller parameter we can manipulate, which determines the convergence rate when the state is in sliding motion on the switching line. From (5.7) we have: x 2 (t) = —Cx i (t),^ (5.8) x 1 (t) = —Cx 1 (t),^ (5.9) x i (t) = x i (0)e -ct .^ (5.10) i.e. Therefore so long as the system variables stay on the switching line, they will converge to zero exponentially. Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 83 The next step is to ensure that all of the states will be directed toward the switching line. This may be satisfied by letting: SS < 0.^ (5.11) Using the information contained in the analytical model we have: = ±2 + Cx2 = L40 = - (5.12) + 01(441 + 02(442 + CS — c 2 yTp C240 — c3qi —c441 — C5 12 - C642 ( C9U + CS - C 2 YTPI where the constant coefficients are: C2 = La, C3 = (.401(L), c4 = 261w031(L), c5 (5.13) wy 2 (L), C6 = 2 62W2 02(4, C9 = (L0 01 ( 0 ) + (L)0 11 ( 0 ) + 02(40 12 ( 0 ))/IT• From (5.10 -(5.13) we can assume that the VSSMC control U is in the following , form: U = 6.40 + 7,b4q1 + 15 + 71102 + 0742 + 2 S + YTP • ^ (5.14) By substituting (5.14) into (5.12) we have the RHS of (5.12) in the form of a sum of the terms containing variables q o , ql • • •, yT p respectively. Then multiplying both , sides of the equation with S, the resultant RHS of the equation will have to be less than zero in order to satisfy the inequality (5.11): SS = (c9 6 — c2) S4o + (c-904 — c 3 )Sq l. + • • •^ , + (c-902 + C ) S 2 + ( c9 03 — c 2 )syT p < 0. (5.15) Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 84 The obtained inequality is then further decomposed into a series of inequalities, each variable has its own inequality. (c-901 — c2)840 < 0, (5.16) (c94'3 — C 2 )sy Tp < 0. Actually to make (5.11) hold only one inequality in (5.16) needs to be a strict inequality, the others may have the < operators. If we let some of the inequalities in (5.16) to be equalities, the corresponding variable 0 2 's will not need to be calculated. In implementation the control signal U is composed of two parts to represent the equality part and the inequality part separately: U = U eq + Up .^ (5.17) For our preliminary study we set the equality part as: ?le g = (69qi + c441 + c5q2 + c642)/c9,^ (5.18) because these variables seem to have less obvious relationship with the output response. For the inequality part: p 4b1 40 + 4 2S 03YTP, where 01 1 021 03 (5.19) are obtained by solving the corresponding inequalities separately. The control signal is determined via (5.17) (5.18) and (5.19). Thus the algorithm is as simple as a PID controller, yet still possesses the property of a sliding mode controller. The designated errors, in our case the rigid mode velocity, the distance to the switching surface and the tip position error as are shown in (5.19) can be assigned with separate gains in the control signal. In this way we achieve separate Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 85 weighting for a specific error to obtain the desired performance. Furthermore, the physical meaning for the controller parameters is clear and easily understood. The maximum value that the parameter C may have in the VSSMC control is worthy of some discussion. As implied by (5.10), when the representative point is sliding on the predesigned sliding surface, the response of the system error is similar to that of an autonomous low pass filter with its initial value being the value of the error when the RP first hits the sliding surface. Since C is the corner frequency of the filter described by equation (5.10), it must be chosen to be "low" compared to the frequencies of the high frequency unmodeled dynamics to avoid exciting vibration. In view of the fact that fastest response time ever achieved empirically for single flexible link manipulators is half the first cantilevered mode time period, the value C may be further limited to be less than 27rfci , where L 1 is the first cantilevered modal frequency. 5.3 Separate 1st order observer design - The state variables q07 q1 , q2 are readily obtainable through the measurement equa- tion, since the submatrix relating these state variables and the output measurements is nonsingular and thus invertible. The rows in the output submatrix corresponding to strain gauge measurements are magnified 100 times to get a well-conditioned matrix inverse. The position state variables thus obtained can now be viewed as a new Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 86 system's outputs as follows: go go 1 0 0 0 0 0 = qi 0 0 1 0 0 0 (5.20) 0 0 0 0 1 0 q2 q2 Combined with the state space equation (5.1) (5.2), the system's state space description is now composed of the three decoupled subsystems as follows: 40^0 1^qo^0 40 0 —a^40 + 4(0) u,^(5.21) IT - (5.22) YO = [1 0 ][ q.° q0 qi 0^1^ qi^0 qi wi2 —giw i 1 [ 4i = [1 0^ qi CO) u,^i = 1,2^(5.23) IT i^1,2.^(5.24) The subsystems (5.21, 5.22) and (5.23, 5.24) are observable. Therefore we can build an observer for each of them. These observers are of first order and can place the poles separately according to the time requirements of each mode. The design of the observers is nothing new so it is omitted here. Readers may refer to [11] for details. The resulting observer for the mode velocity state variables takes the form: = ki i* Z i+ki2 qi ki3 (5.25) Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 87 qi = zi + Gi * qi ,^ (5.26) where G i is the continuous observer gain. The continuously designed observers are then discretized to facilitate digital implementation. The discretized observers have the following form: zi (k +1) = Da* zi(k) Dj2 * qi(k) D i3 * u(k),^(5.27) qi (k) = zi (k)^G i * qi (k),^ (5.28) where the parameters Di1 Di2, Di3 are calculated as follows: , = exp(kii * T),^ Di1 —1.0 rT^ ^* * t)dt * ki2 = Dj2 =^exP(kii 0 ^kxl (5.29) k i2,^(5.30) -1.0 fT exP(kii * t)dt * = Dt3^^D21 k ^,^* k i3 .^(5.31) ^/co. 5.4 Simulation results A series of simulations was conducted. The controller was designed based on the system model retaining two flexible modes. However, the plant was simulated with five flexible modes in addition to the rigid mode. The states were estimated every 25 mS, the control was calculated and applied every 100 mS. 1 The controller parameters used for C=2.0 are as follows: 1 The time for updating the state estimation and the control were set and verified via simulation. The time for updating the control was set so that stable control was realized. The time for updating the state estimation was decided by comparing the controlled result using true states with that using estimated states. The updating time was decided when there was almost no difference between the two. Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 88 0.1 0.0 z 0 N —0.1 0 ct_ —0.2 —0.3 0 2 ^ 4^6 8 TIME (SECOND) ^ 10 Figure 5.1: Tip position VSSMC control, C=2.0 C2 + 1.0 C9 if q0 S < 0 i f 40 S > 0, " W2 = C 2 + 8.0 — 0.5^ —C KGs = —CC29— 1.0 C9^ ^ C9 if yyps < 0 if yTps > o. (5.32) Other z//i s do not need to be calculated. The corresponding Ueq is determined via (5.18). The control signal thus obtained is then multiplied by a factor of value within (0,1) before applying to the plant. The simulation results are shown in Fig. 5.1 Ps Fig. 5.6. , Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 89 0.6 \ . 0.4 -N. •N, 0.2 ''''■ 0.0 • —0.2 —0 3 0.1 —0.2^—0.1^0 0 TIP POSITION ERROR X1(M) Figure 5.2: Phase plane trajectory, C=2.0 0.1 0 .0 -0.2 —0.3 0^2^4^6 TIME (SECOND) Figure 5.3: Tip position VSSMC control, C=3.0 8 10 Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 90 0.9 NN 0.6 '-. ■. N. ' 0.3 N... N. 0 NN —0.3 —0.3 ***■ —0.2^—0.1^0.0 TIP POSITION ERROR X1(M) 0. 1 Figure 5.4: Phase plane trajectory, C=3.0 0.1 0.0 z 0 0 —0.1 a_ P —0 . 2 —0.3 ^ ^ 10 8 0^2^4^6 TIME (SECOND) Figure 5.5: Tip position VSSMC control, C=4.0 Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 91 1.2 0.8 . \ 0.4 . N 0 —0.4 —0 3 —0.2 ^ —0.1^0 0 TIP POSITION ERROR X1(M) N, ^ 0.1 Figure 5.6: Phase plane trajectory, C=4.0 5.5 Discussion Variable structure sliding mode control has many attractive features. When in sliding mode, it is robust against external disturbances and plant parameter variations. Moreover, the system errors converge to zero along prescribed trajectories. However, designing VSSMC to control a plant which has low damping factors and highly vibratory poles as well as nonminimum phase zeros caused by noncolocated sensor/actuator involves special difficulties. To see the difficulties, let's first analyze the nature of a VSSMC controller. VSSMC in its essence is an error nullifying algorithm. The controller drives the system's error and its derivative to a prescribed switching hypersurface. These states (to be Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 92 referred to as the representative point (RP) ) then keep sliding on the hypersurface until they reach zero. The switching hypersurface is so designed that it has lowerorder asymptotically convergent characteristics. The controller switches the control to a different level at each side of the switching hypersurface such that an RP in the vicinity will be attracted to the switching hypersurface. Under ideal conditions, when in sliding mode, the switching would occur at infinite frequency. However, in reality, due to the limitation of the switching mechanism and the nonidealities in the system, e.g. time delays and small unmodeled time constants, etc. the switching will occur at a finite frequency. Then the RP will "chatter" around the switching surface as it converges to zero. Thus in implementing a sliding mode controller, a common practice is to shorten the sampling period as much as possible so as to alleviate the "chattering" problem caused by the nonidealities. Then the following special difficulty arises. It is well known that some of the NMP plants have a "dip" or "undershoot" phenomenon in their response to a step excitation. The flexible arm tip just has such a behavior. There is an equivalent time delay of about 50 mS between the instant the torque is applied and the instant when the tip response is in the direction of excitation. Therefore, each time the error is sampled, if we use a small sampling period comparable to 50 mS, the effect of the control signal derived from the error will not be easily determinable. It may actually magnify the error and excite vibration. Another special difficulty associated with the VSSMC control of flexible manipulator linkage lies in that the plant here is highly prone to vibration. The non-smooth control signal of VSSMC may excite the residual modes of the plant not retained in the truncated model based on which we designed the controller. If these modes are Chapter 5. VARIABLE STRUCTURE SLIDING MODE CONTROL (VSSMC) 93 within the bandwidth of sensor/actuator, they may cause possible instability of the system. In that case, using either continuous control signal approximation instead of the discontinuous control signal within a small band in the neighborhood of the switching surface as suggested in [77], or a low-pass filter appended to the plant before designing the controller may help to solve this problem. We shall introduce our further research in this direction in subsequent chapters. At present, the above problems are solved by using a large sampling period and lower controller gains. These methods, though successful, have their inherent limitations. One of the limitations is the speed. Enlarging the sampling period in a certain sense is a strategy of making the control and the sampled response more correlated. The plant is stable. Therefore this strategy may not cause bursts in intersampling period. However, it limits the highest achievable speed. Another limitation is that reducing the gain has the effect of reducing the margin against parameter variations. Thus it lowers the system's robustness. Therefore these preliminary solution methods need to be further improved. The crucial point that hindered using a small sampling period and a large gain lies in the error signal selection. If we choose the error signal to be that of the states and obtain the desired sliding control by assigning the reduced order closed-loop poles , then we may be able to overcome the difficulties existing in directly using tip position error alone. In that case we can employ a small sampling period and larger gains to achieve tighter control. Therefore the next step is to work in this direction. Chapter 6 DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 6.1 Introduction In this chapter a simple and practical design methodology is proposed which we refer to as the Discrete-time Quasi-Sliding Mode Control (DQSMC). The discrete-time sliding surface is determined via a geometric approach which can assign arbitrarily the closed-loop poles of the reduced-order system in sliding motion. The procedure is simple and the plant model does not need to be in any of the canonical forms, and no state-space transformation is required. By re-visiting the necessary and sufficient conditions for the existence of the discrete-time sliding hypersurface, we derive two control algorithms. For the sufficient condition, we suggest the use of interpolation of the two bounds of the control signal. Thus the algorithm is easily realizable. Based on these two algorithms, the discrete-time quasi-sliding mode control design methodology is proposed. In this design, instead of using separate discontinuous gains at the two sides of the sliding surface, only one gain is used. Besides the switching variable is also reduced to only one instead of a number of switching variables. Thus once the sliding surface is chosen, only one or two parameters need to be assigned and adjusted. It is proven that this controller is equivalent to a full state feedback law with its steady state motion constrained to the sliding surfaces. It is also shown that this design 94 Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 95 method provides a general structure that unifies the three different kinds of discretetime sliding mode control, i.e. the VSS sliding mode, the non-VSS sliding mode and the VSS sliding mode with a smoothing boundary layer. The advantages of the proposed scheme, in addition to its high performance, ease of understanding, design and implementation, lies in its smoothness of the control signal which is well suited for applications where one wants to avoid exciting the higher frequency dynamics neglected in modeling the plant. The experimental verification and the robustness testing of this design method on the flexible-link manipulator are given in subsequent chapters. 6.2 Background information Sliding mode control generally refers to a kind of control law that would force the plant state variables to slide on a set of prespecified hypersurfaces which have the desired dynamic property. Quite commonly the control law switches to different gains at different sides of the sliding surfaces. Thus the change of the system's structure upon the states crossing the surfaces occurs and the term "variable structure control" arises. Therefore, these two terms "sliding mode control" and "variable structure control" are often used interchangeably. However, there also exist the cases where the sliding mode is achieved without the structure of the system being changed. In this chapter, by quasi-sliding, we have a twofold meaning. One is that the control law is designed in a discrete-time setting, i.e., the control is computed at discrete instants and applied to the system during sampling intervals. Thus a nonideal sliding regime occurs. The other is that since in our case the system's structure is not changed (non-variable structure) and the gain is also finite, the representative point (RP) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 96 converges to the sliding surface asymptotically. Then what we achieve is a kind of quasi- sliding regime. The reward of the design is that it provides another approach to the controller design methodology which is simple, practical and has shown to have particular advantages when dealing with the case of a plant with higher frequency dynamics neglected in the modeling process. 6.3 Sliding surface determination The discrete-time plant model may be assumed without loss of generality to be in the following form: X(k d-1) = F * X(k)+ G * u(k), ^(6.1) Y(k) * X(k), where X(k) E (6.2) R n is the state variable at the current sampling instant kT (T is the sampling period dropped for brevity). F E Rn" is the system matrix. G E Rnx"1 is the input matrix. Here we limit our case to m = 1. C o E RP X n is the output matrix. Y(k) is a vector containing the sensor output measurements. [F iG] is assumed to be controllable. This model can be of any form, not necessarily a canonical form. The discrete-time sliding surface is defined as: S(X(k)) = CT * X(k) = 0, (6.3) where CT E R i " is a vector of constants. By appropriately choosing the elements of CT, we can obtain the desired pole placement when the system is in sliding mode. Define = S(k +1)— S(k) = CT * X(k +1) — CT * X(k).^(6.4) ^ Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 97 Then when the system's states are on the sliding surface we have: S(k) = CT * X(k) = 0,^ (6.5) and = S(k +1) — S(k) = S(k + 1) = O.^(6.6) Since ^S(k + 1) = CT * X(k +1) = CT * F * X(k)-F CT *^G * u(k) = 0,^(6.7) then we obtain the equivalent control as: ^Ueq (k) = —(C1 * G) -1 0; F * X(k).^(6.8) Substituting Ueq into the system's equation we have the closed-loop system dynamics described by: X(k + 1) = F * X(k) G * u(k) = (F — G * (CT * G) -1 CT F)X(k).^(6.9) Note that equation (6.9) is a reduced-order system. The order has already been reduced by 1, in the sense that one state variable can be represented by the linear combination of the remaining state variables via (6.5). The design of CI to achieve the desired pole placement is based on a geometric method proposed by El-Ghezawi et al. [23). The discrete design below is analogous to the continuous design. The principles of choosing Cd is simply explained as follows: When sliding we have: ^X(k 1) = (F — G * (CIG) -1 CT F)X(k) = (F — G *^K)X(k),^(6.10) where K = (CT G)'Cd F. Since this is a reduced-order system, only (n-m) eigenvalues can be assigned. We specify these desired poles in a diagonal (for distinct real Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 98 poles) or block diagonal (for complex conjugate poles) or Jordan block diagonal (for multiple real poles) matrix J E R (n- m )x(n- m ) . The corresponding eigenvectors are contained in a matrix W E R" (n-m) . Then from the definition of eigenvalue and eigenvector we immediately have (F GK)W = W * J. (6.11) Re-arranging the equation we have: FW — WJ = GKW. (6.12) This means that the columns of (FW-WJ) belong to the range of G, i.e., col(FW — WJ) E R(G). (6.13) Therefore we may solve matrix W through the following equation: FW — WJ = G * M,^ (6.14) where M is an arbitrary m x (n-m) full rank nonzero matrix chosen to provide linear combination of the columns of G. Since (6.14) is a Lyapunov equation, from known F,G, the desired J and an arbitrary M, we immediately obtain W (using one function in MATLAB). Having calculated W, we can form a matrix H = [Gin^ (6.15) Cd = first row of H -1 .^ (6.16) Then The whole procedure for calculating Cd is very simple. By calculating the eigenvalues of (F — G(CTI G)'CIF) it is easy to verify that the closed-loop dynamics when in Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC) 99 sliding mode have the desired poles as prespecified in the matrix J. Having decided ccf , the next step is to design u(k) such that the system states will be directed toward this sliding surface. In the following, the subscript in CI is dropped for simplifying the notation. 6.4 Discrete time necessary existence condition and the control law - The discrete-time necessary condition for the existence of the sliding surface is analogous to the sufficient condition in the continuous-time case (Milosavljevie, 1985 [47]). In continuous time we have SS < 0.^ (6.17) This condition can include the equal sign whenever appropriate. For simplicity it is not included here and in the following discussions. This condition ensures that the RP will always be driven to S = 0, the sliding surface. Similarly, in the discrete-time case, the necessary condition is: S(k) •^< 0.^ (6.18) Note that this condition is only necessary. It does not guarantee the existence of a sliding surface. Actually, an oscillatory S with increasing magnitude can also satisfy this condition. However, whenever the gain is appropriate, this condition can lead to stable sliding mode control. Therefore let us derive the control law based on this condition. Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)100 A control signal which satisfies the necessary condition is as follows: u(k) = — n-1 E o_ i x i (k) - 6_, (6.19) where 1 0-i = { ce_ i if x i (k)S(k) > 0 )3-i (6.20) if xi(k)S(k) < 0. 1 a , > ^ ( C^ T F_i — • i CTF_ n ) CT G Cn (6.21) 1 f3-2 < C T G (CTF-i — C7 , CT17-71)' 1 CTF 6_ > ^ ' S(k) if S(k) > 0 CTG c n - 1 CTF 6_ < ^ ' S(k) if S(k) < 0. CT G c n This can be verified by noting that (6.22) A_ = S(k + 1) — S(k) = C T FX(k) + C T Gu(k) — C T X(k) C T (F — I)X(k)-F C T Gu(k) = C T F_X(k) C T Gu(k), (6.23) where F_ = F — I. F_ i is the ith column of F_, x i (k) is the ith element of X(k). Substituting the u(k) given in (6.19)-(6.22) into this equation we have A_ = C T F_X(k) — C T G n-1 n-1 E o_ixi(k) - cTcs_ i=1 = E(C T F-i — C T GO-i)Xi(k) C T F_ n X n (k) — C T G6_.^(6.24) i=1 Since (from (6.3)) x n (k)^(8(k)^— c 2 x 2 (k) — • • • — e n _ 1 x n _ 1 (k))/cn ,^(6.25) A_ =^ (C T F_ i — C T Gzk_i — --i-C T F_ n )xj(k) 1=1^ Cn CTF-n^ S(k) en — C T GL , (6.26) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)101 then n-1 S(k) • A_ = E(cTF_ i 1=1 - cTG0_, C . - T F_OS(k)xj(k) TF , +( C^ S(k)—CTG6_)S(k), cn (6.27) which satisfies (6.18) if^and L are selected as in (6.19)-(6.22). As mentioned above this control law does not guarantee the stability of the system and the existence of the sliding surface. Besides, it is not necessary for every term in (6.27) to be negative in order to satisfy (6.18). The above solution (6.19)-(6.22) is only designed to facilitate computation. It is necessary to assign and adjust several gains which sometimes may not be easy in real applications. 6.5 Discrete-time sufficient existence condition and the control law In the necessary condition, we actually have a constraint only on one direction of the control. To prevent S(k) from diverging in an oscillatory manner while satisfying (6.18), we need to set magnitude constraints on both directions of the control signal. The sufficient condition for the existence of sliding surface is then that the RP satisfies (Sarpturk et al, 1987 [68]): 1S(k + 1)1 5_ 1S(k)1.^ (6.28) This condition can be expressed as —S(k) < S(k + 1) < S(k) if S(k) > 0 —S(k) > S(k + 1) > S(k) if S(k) < 0 ^ S(k +1) = 0^if S(k) = O. (6.29) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)102 (6.29) can be further expressed as S(k + 1) — S(k) < 0 AND S(k + 1) + S(k) > 0 if S(k) > 0 (6.30) S(k + 1) — S(k) > 0 AND S(k + 1) + S(k) < 0 if S(k) < 0 { S(k+1)=0 if S(k) = O. Define A + = S(k + 1) + S(k),^ (6.31) and use the definition of A_, (6.30) can be expressed as S(k)A_ < 0 AND S(k)i + > 0 if S(k) 0^ S(k + 1) = 0^ if S(k) = O. (6.32) For S(k)A_ < 0 we already derived its control signal as is shown in section 6.4. The control signal for S(k)A + > 0 has very similar form: n-1 u(k) — E 0+i x 1 (k) — 6+ ,^ (6.33) where 1 a +1 if S(k)x i (k) < 0 +i =^ 0+i if S(k)xi(k) > 0, 1 1 --CTF+n) 1 a+i > CTG (CTF+i — c n^ 1 /3+i < GTG (CTF+i —cn-CT'F+n ) ' CT F S(k) if S(k) < 0 8+ > CT G Cn +n (6.34) (6.35) 1 < 1 CT F+n 6+ ^ S(k) if S(k) > 0,^ CT G e n where F+i is the ith column of F + I, C T G > 0. Proof: Similar to the case for S(k)A_ < 0, so it is omitted here. (6.36) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)103 It is obvious that u(k) has to satisfy both groups of inequalities to satisfy the sufficient condition. For each switching variable there are two limits, the upper and lower limits. The selected value for that part of the control signal must fall within these boundaries. However, it is not easy to determine so many parameters, especially if their physical meanings are not quite clear. Besides, these boundaries depend on the distance of the system states from the sliding surface and they converge as the states approach the surface. Therefore fixed gains may be inappropriate. In the following, simple ways are proposed which are based on the insight that the two limits within which the value can be chosen for the current control signal u(k) correspond to the two limit cases one wants to achieve: u(k) taking the value of one limit will try to keep S(k + 1) at the same place as S(k), while u(k) taking the value of the other limit will try to move S(k + 1) to —S(k), i.e. the image point of S(k) symmetric to the sliding surface. The former case requires the least control effort while the latter requires the most control effort. Then the ideal control must lie between these two limiting values. Now suppose the least control is U ci (k) which tries to keep S(k 1) at S(k). The most control is U, 2 (k), which tries to move S(k + 1) to the symmetric point —8(k). Three control schemes for computing an 'ideal' control are suggested below: 1. u(k) = Uei (k)-F (U, 2 (k) — (1, 1 (0)* ttS(k) S(1) (6.37) where S(1) is the first step of S(k) which generally has the maximum value in magnitude. tt is a constant which can be adjusted to get appropriate interpolation between Uci (k) and U, 2 (k) Precautions have to be taken to ensure that so) itS(k)^ S(k)^S(k) S(k) instead instead of^to achieve _< 1. We may also use^ more desirable results. N 8(1) or ( ^8(1) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)104 2. To achieve faster reaching we may apply tjc 2 at the beginning few steps until IS(k)I _< A, where A is a given small value selected by the user. The control signal is: u(k) = 11, 1 (k) + (11.c2(k) — Uci(k)) Also measures should be taken to ensure that S(k) A S(k) A (6.38) < 1. 3. Still another choice is to let u(k) =11, 1 (k) + (11, 2 (k) — 11, 1 (k)) * S(k) DL (6.39) where D L > max{IS(k)I} is used as the 'tuning knob' to adjust the tightness of the control. Therefore initially we may give D L a certain big value, then gradually reduce it to tighten control. The calculation of Uci (k) and U,2(k) is quite simple. If we define Ci T C F„), (6.40) (C T F+ i — xC f+n), (6.41) CTG 0+ = i 1 CTG cm en 1 CT F S(k), CTG c n 1 C T F+m S(k), CTG cn (6.42) (6.43) and note that F_ i = ith column of (F — I), F+ 1 = ith column of (F + I), it is easy to verify that (6.44) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)105 and 1 CT Fn 1 = ^ S(k)^ S(k), CT G c n^CTG (6.45) 1 CT F^1 S(k) +^S(k). CT G c n^CTG (6.46) = Thus define Wi =^= P+i =^(CT Fi — c CTG^••i, C T Fn ), (6.47) then n-1 Uci (k) = — E Oi x i (k) — 8_ i=1 n-1^ =—E 1 CT F OiX i(k)^T ^ n S(k) —S(k), i=1^C G c n^CT G Ua(k) = — =—E T n-1 E oixi(k) - 8+ i=1 T F^1 Oixi(k) ^C CT G S(k) ^ S(k). G ^CT C i=1 n-1 (6.48) (6.49) Therefore U, 2 (k) — Uci (k ) = 2S(k) . (6.50) Since for our selection of C T , C T G = 1.0 (it can be chosen to have other values), then U, 2 (k) — Uci (k) = —2S(k).^ (6.51) Hence the increment of the control signal is proportional to the increment of RP. This also indicates that the upper and lower bounds become closer and closer as RP approaches the sliding surface. When S(k) = 0, they become the same. Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)106 6.6 Discrete time quasi sliding mode control - - The algorithm given in section 6.5 is simple, and can be applied to many real situations. But there are also limitations which might not be desirable for some applications. One limitation lies in the sufficient condition itself. By satisfying the sufficient condition, we actually limit the average approaching velocity of RP toward the sliding surface to the value of 0<v< 2S(k) (6.52) where v represents the magnitude of the velocity, T is the sampling period. Thus letting 1S(k + 1)1 < 1S(k)1 hold throughout the whole process seems a bit unreasonable. Another feature that is not so satisfactory is that the control signal is not quite smooth. An improvement on these problems leads to the design of DQSMC. From section 6.5 we know that the greatest control for the algorithm satisfying the sufficient condition is: u(k) = Uc i(k)— 2S(k).^ (6.53) If we let u(k) = Uci (k) — Kp S(k),^ (6.54) where K, is a constant decided by the user, then the average velocity is not limited. Another term which represents the derivative on S(k) may be added to achieve better damping. Therefore the control signal becomes: u(k) = Uci (k) — Kp S(k)—^ (6.55) where ,.(k) is the derivative of S(k) at the current sampling period. Since ,.(k) is Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)107 unavailable, we use a prediction to construct it. It is proven (see Appendix E) based on our derivation in this chapter that there exists a relation u(k) — Uci (k) = S(k + 1) — S(k).^(6.56) Therefore we have u(k) — U i (k) = S(k + 1) — S(k) = —Kp S(k) — KdS(k).^(6.57) Let S(k + 1) — S(k) T^ (6.58) then we have S(k + 1) S(k) , ^(6.59) T If d S(k + 1) =^1 K (1 — Kp + ---i— )S(k),^(6.60) ^S(k + 1) — S(k) = —KpS(k) — Kd 1 -I- — i,d Ka 1 — Kp + 77—T Kp ^(6.61) i^1)S(k) = S(k + 1) — S(k) = ( ^ T + Ifd S(k), 1 + Ti Ifd S(k + 1) — Kp S(k) Kd ^T S(k).^(6.62) Therefore the control signal now becomes: u(k) = Uci (k) — Kp S(k) — Kd S(k) = Uci (k) — KpS(k) = Uci(k) —Kpifd T + Kd T*K P T + If d S(k) S(k). (6.63) By this equation we realize DQSMC. From the equation we can see that the control signal is still proportional to the distance of RP from the sliding surface, but now we have two parameters to manipulate: one in the numerator and the other in the denominator. ^ Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)108 6.7 DQSMC analysis In the following we prove that DQSMC is equivalent to a full state feedback law with its steady state motion constrained to the sliding hypersurfaces. Substituting for Uci from (6.48) into (6.63) yields: u(k) = — E O x,(k) T*K CT^1 F„ ^ S(k) P S(k).^(6.64) S(k) CT^ G CT G^T If d n -1^1 t i=1 Noting that C T G = 1 and S(k) = C T X(k) we have u(k) = —E ciFi x j(k) + C T X (k) TT 1.* I.K .Cd C T X(k) ^(6.65) ,Pd, /)X(k). n = —C T (F — I + T *K T*K p I) is in general nonsingular, it is immediate that the obSince (F — I^ ^T^d tained control is equivalent to a full state feedback law with its steady state motion constrained to the sliding hypersurfaces. 6.8 Unification of VSS and non VSS - The DQSMC proposed above provides a general structure that unifies the discretetime sliding mode control of the VSS, the non-VSS and the VSS with a smoothing boundary layer. The control signal under the general structure is composed of two parts. One is the part that tries to keep S(k 1) at S(k). The other is the part that drives S(k 1) toward zero. Different ways to determine the second part lead to different sliding mode controllers. If a discontinuous law is used, then we have the VSS sliding mode. If a continuous law is used, then the DQSMC (or its variations) is obtained. In between these two conditions is the case where a smoothing layer is Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)109 used for a VSS sliding mode. If the smoothing layer is specifically chosen, as is shown below, then the VSS sliding mode control becomes non-VSS DQSMC. The same program can be used to realize these different control schemes by setting different parameters in the smoothing boundary layer. Thus the three control approaches are unified in the same control design methodology. It should be pointed out that if the sampling period is not small enough, a small boundary smoothing layer generally does not help. In the following we will prove that the non-VSS DQSMC itself can be viewed as a VSS with a specific smoothing boundary layer. In the control law based on the necessary condition we have: E oi x,(k) n-1 u(k) = — - i=1 8_, (6.66) where i(k) > 0 = (6.67) Sxj(k) < 0, 11 7'Fn) a, >^ CT G(CT Fi — cri C 1^ci^„, A < ^ (CTFi — —C .' Fn ), CTG^Cn 1 T^1 Fn s CT SifS>0 CT^ G C cm G 1 1 C/ F 6. _ < n ^ S if S < O. CTG e n^CTG 16_ > s^ ( 6.68) (6.69) Let = CT1 G (CT^CT F71), ^1 C C- T Fn^1 6_ = ^n S ^ S. CT G C ri^CT G ^ (6.70) (6.71) Then with the smoothing layer we have: n-1 u(k) = — E Kix (k) — K i=i i n, (6.72) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)110 ^ Ki Wi - SXj -ei ei Figure 6.1: Definition of the smoothing layer parameters where Ki = o i +---i- (sx i )^if Isxii<ei i = 1^n — 1 3 i + -46e2i :sign{Sx j } i f IS x i l > e i i = 1^n — 1, (6.73) s^D n s if Isl< Kn^(6.74) ^ en sign{S} if ISi^e n . D i , e i are smoothing layer parameters, see Fig. 6.1. D n , e n are similarly defined. Now if we let D, = 0, i =1- • • n —1 (6.75) and en > max{ISI}, Dn en = Kpd, (6.76) Chapter 6. DISCRETE-TIME QUASI-SLIDING MODE CONTROL (DQSMC)111 where KPd T * /fp T _KZ (6.77) we have n-1 U(k) - E^ - i=1 — Ifp dS = Uci (k) — Ifp dS. (6.78) This is the same as the DQSMC algorithm. The above discussion provides insights into the general structure of the discrete-time sliding mode control. Chapter '7 EXPERIMENTAL VERIFICATION 7.1 Introduction In this chapter we give the detailed design procedure for the flexible link manipulator using the method proposed in Chapter 6. Experimental results are also provided. 7.2 Design model for DQSMC control The design model of the flexible link manipulator is described in state-space form with small modifications. The model retaining two flexible modes is shown below (see Chapter 3, Appendix A or [62]): (t)^AX (t)^bu(t),^ Y (t)^Co X (t).^ (7.1) (7.2) The state vector is given by: T^ X ( i )^[ q0(t) 40(t) ql(t) 41(t) q2(t) q2(t)i (7.3) where the q,' (i=0,1,2) represent the position variables of the rigid mode and the 112 Chapter 7. EXPERIMENTAL VERIFICATION^ 113 1st and 2nd flexible modes respectively. 4 i 's are the corresponding mode velocity variables. The matrices A, Co and the vector b are defined by: 0 1 0 0 —a 0'0 ( 0 ) 0^1 A= "1 0 _( )t ,^(7.4) cb il ( 0 ) - 0^1 0 —2e 2 w 2 02 ( 0 ) 1 0^0'(0)^0^02(0)^0 Co = L 0 0 1 (4 0 0 2 (L) 0 0 0 —CZ) 0 —c61(Z) 0 0 0 — cb'i'(R) 0 — (4(R) 0 (7.5) i 2 2 where w i is the ith vibration mode,^is the ith damping factor, a is the viscous damping in the actuator, IT is the combined moment of inertia of the motor hub and the arm, 0:(0) is the modal slope at the hub, L is the length of the arm, 0 1 (L) is the modal shape at the tip, S is the thickness of the arm, cb'l(Z) and O'l(R) are the modal curvatures at locations Z and R on the arm from the hub. The output matrix Co represents the sensor outputs of the joint angle, the tip position and the strains at positions Z and R from the hub axis. In DQSMC design, the above model is modified to contain the tip position error as the first state variable in place of the rigid mode position variable qo (t): (t) = yTP(t) - yTp, ^ (7.6) Chapter 7. EXPERIMENTAL VERIFICATION ^ 114 where yrp is the measured tip position, 9 7-7, is the set point. Since (t) 4'0(0 i(t) = 7-p(t) — 0 = 7- p(t) = [ o L 0 0 1 (L) 0 0 2 (L) 41 (0 ) , ,^(7.7) (t) q2 (t) 6(0 the first row of the A matrix is modified correspondingly to become: A(1,•) = 0 L 0 45 1 (L) 0 46 2 (L)]. ^(7.8) Now all the states of this modified model should go to zero when the desired set point is reached, i.e. this design model is an error model. The controller's task is to drive all these errors to zero in a desired fashion. The model is then discretized using a sampling period T. The discretized model has the form of (6.1). 7.3 Choosing controller parameters The sliding hypersurface design is straightforward: firstly we specify the desired (n — 1) closed-loop poles in the continuous S plane, because one can easily relate them to the time domain responses. These poles will be arranged in a matrix in block diagonal form. For single distinct real poles we can simply place them on the diagonal. Multiple real poles are arranged in Jordan block form. The format for specifying complex conjugate poles is shown below. Suppose we want to assign a pair of complex Chapter 7. EXPERIMENTAL VERIFICATION^ 115 conjugate poles of: al = a + jb, a 2 = a jb,^ (7.9) where a and b are real numbers. They may be specified in block form as: a b — b al . Then these blocks are placed on the diagonal of a matrix. Off diagonal elements are all set to zero. Discretizing the poles, we obtain the desired J matrix. Combining J with the F, G matrices in (6.1) and an arbitrarily chosen matrix M: (7.10) and following the procedure described in section 6.3, we immediately obtain the switching hypersurface parameters contained in a row vector C T . The calculation of the controller parameters according to the equations in section 6.6 is straightforward. The whole procedure to calculate the controller parameters is performed off-line and by only a few MATLAB macro instructions, so it is quite simple. In implementation we need to know all the states to calculate the control signal. The first state is readily available from sensor measurements. The three modal position variables q 2 (t) (i=0,1,2) are directly computed from the sensor output signals multiplied by the inverse of the output submatrix. To fully utilize all the sensor signals, the output submatrix is taken from the model retaining three flexible modes. The three modal velocities are estimated through three separate first-order observers using the modal positions as the pseudo-outputs of the subsystems. More detailed information Chapter 7. EXPERIMENTAL VERIFICATION ^ 116 concerning model derivation and observer designing is contained in chapter 3, chapter 5, Appendix A or see [62]. The separate 1st-order observer gains were determined through simulation. Since in that case the actual states as well as the estimated ones are available at the same time, it is easy to compare them and adjust the observer gains accordingly. Quite good conformity was achieved between the real and the estimated states. The three observer poles thus determined are at the following locations: observer poles = [-0.5 — 16.44 — 44.149]^(7.11) The observers were used in real time control and quite good results were achieved. The DQSMC control was implemented with a 10mS sampling period. An IBM-PC-AT compatible with 80286 CPU, 12 MHz clock frequency and 80287 Math Coprocessor was used as both the designing tool and the real-time controller. The data acquisition board has 12-bit 16-channel A/D input and 12-bit 2-channel D/A output. More detailed description on the experimental set-up can be found in Chapter 2 or in [63]. The real-time software development is described in Appendix F. The controller parameters (eigenvalues of the J matrix) are chosen by trial-and-error. Different assignments of the poles were tested. They include: 1. All real distinct poles. 2. One real pole with two pairs of multiple real poles. 3. One real pole with two pairs of complex conjugate poles. Chapter 7. EXPERIMENTAL VERIFICATION ^ 117 4. Three distinct real poles with one pair of complex conjugate poles. The best result was found to be in the case of one real pole with two pairs of complexconjugate poles. The gains of Kr and Kd are not difficult to determine. 7.4 Experimental results The experimental results with three real poles and a pair of complex conjugate poles (referred to as group A ) are shown in Fig. 7.1 - Fig. 7.6, which correspond to the tip position (a step of 10 cm is specified), the joint angle, the strain gauge signals, the RP trajectory and the control signal. The poles were placed at the eigenvalues of: J = diag[ 18.0 —25.0 —35.0 — 18.0 ± j180.0]. ^(7.12) - The controller gains were found to be: Kp = 4.2, Kd = 0.145. ^ (7.13) The experimental results corresponding to the performance with one real pole and two pairs of complex-conjugate poles (referred to as group B) are given in Fig. 7.7 - Fig. 7.12, which correspond to the tip position, the joint angle, the strain gauge signals, the RP trajectory and the control signal. The closed-loop poles were located at the eigenvalues of: J = diag[ 14.0 — 4.0 ± j37.0 — 20.0 ± j205.0]. ^(7.14) - The gains were: Kp = 3.6, Kd = 0.3.^ (7.15) Chapter 7. EXPERIMENTAL VERIFICATION^ 20 ^ 40^60^80^100^120^140^160 Time k OE 0.01 ^ 118 180 200 sec.) Figure 7.1: Group A., Tip position under DQSMC control All the state variables converge to zero. Their plots are shown in Fig. 7.13 - Fig. 7.18. 7.5 Conclusions The experimental results show that DQSMC achieved quite satisfactory performance. For the given set point control problem it achieved about 320 mS for the desired tip excursion. Though it is still a bit slower than the LQG (which achieved about 230 mS), the result is comparable to the LQG case. Moreover, the control signal in DQSMC is smooth. It thus eliminated the undesirable "chattering" problem that commonly exists in VSS control, and this in turn, enabled it to avoid exciting the unmodeled higher frequency dynamics. Chapter 7. EXPERIMENTAL VERIFICATION ^ 0 -0.02 -0.04 :V. -0.06 -0.08 -0.1 -0.12 0 20^40^60^80^100 120 140^160^180^200 Time k (x 0.01 sec.) Figure 7.2: Group A., Joint angle under DQSMC control 2 x10-5 1.5 0.5 -1.5 -2 -2.5 -3 0 20^40^60^80^100^120^140^160^180 200 Time k (x 0.01 sec.) Figure 7.3: Group A., Strain gauge Z under DQSMC control 119 Chapter 7. EXPERIMENTAL VERIFICATION x10 -5 3^ -40 20^40^60^80^100^120^140^160^180 200 Time k (x 0.01 sec.) Figure 7.4: Group A., Strain gauge R under DQSMC control 0.7 0.6 0.5 0.4 0.3 V)^0.2 0.1 -0.1 -0.2 -0.3 ^ 0 20^40^60^80^100^120^140^160^180 200 Time k (x 0.01 sec.) Figure 7.5: Group A., RP trajectory under DQSMC control 120 ^ Chapter 7. EXPERIMENTAL VERIFICATION 40 ^ 30 20 ^ 10 ^ 0^ -10 -20 -30 -40 -50 -60 ^ 0 20^40^60^80^100 120^140^160^180 200 Time k (x 0.01 sec.) Figure 7.6: Group A., Control signal in DQSMC control 0.02 -0.02 c9 -0.04 °- -0.06 -0.08 -0.1 -0.12 ^^ 0 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.7: Group B., Tip position under DQSMC control 121 Chapter 7. EXPERIMENTAL VERIFICATION ^ 50^100^150^200^250^300^350 ^ 122 400 Time k (x 0.01 sec.) Figure 7.8: Group B., Joint angle under DQSMC control 4 x 10-5 1Yr ^ 0^50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.9: Group B., Strain gauge Z under DQSMC control Chapter 7. EXPERIMENTAL VERIFICATION ^ x10- 5 cc Ce3 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.10: Group B., Strain gauge R under DQSMC control 2.5 1.5 0 a. > 'Vs E 0. 0.5 -0.5 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.11: Group B., RP trajectory under DQSMC control 123 Chapter 7. EXPERIMENTAL VERIFICATION ^ 100 50 .>° a g -50 U -100 -150 o 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.12: Group B., Control signal in DQSMC control 0.12 0.1 0.08 Cc 0.06 0.04 0.02 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.13: Group B., State variable X1 under DQSMC control 124 ^ Chapter 7. EXPERIMENTAL VERIFICATION ^ 0.2 ^ 0.1 ^ 0 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 ^^ 0 50^100^150^200^250^300^350 Time k (x 0.01 sec.) Figure 7.14: Group B., State variable X2 under DQSMC control ID 3 X10 -3 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.15: Group B., State variable X3 under DQSMC control 125 ^ Chapter 7. EXPERIMENTAL VERIFICATION ^ 0.8 0.6 0.4 0.2 -0.2 ^ -0.4 ^ 0 50 100 150^200^250^300^350^400 Time k (x 0.0] sec.) Figure 7.16: Group B., State variable X4 under DQSMC control 2.5 s10-3 1.5 0.5 -0.5 -1.5 ^^ 0 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 7.17: Group B., State variable X5 under DQSMC control 126 Chapter 7. EXPERIMENTAL VERIFICATION ^ Figure 7.18: Group B., State variable X6 under DQSMC control 127 Chapter 8 ROBUSTNESS TESTS 8.1 Introduction In the preceding chapters we assumed that the manipulator model and its parameters are known or determined. However, some robot parameters may change during the work, and they may not always be known in advance, like coefficients of viscous or static friction. Quite often, their determination is rather difficult. These parameters do not affect significantly the functioning of the control system. Another group of parameters may undergo fast and drastic change during the robot's work that cannot always be known in advance. In modern industry, when the tasks for a robot are frequently changed, the task elements, like payload change, may not always be determined in advance. Then the robustness that a controller possesses will be valuable. In this chapter we present some robustness test results for the controller proposed in Chapter 6, and compare these results with that of an LQG controller under the same test conditions. 128 Chapter 8. ROBUSTNESS TESTS^ 129 8.2 Robustness tests It has been shown in Chapter 3 that adding a payload may substantially influence both the flexible arm's natural vibration frequencies and the modal shape parameters. From analytical and experimental results, we know that the modal frequencies of the arm when loaded are lowered. Hence according to the analysis in section 3.12, it is easier to get the elastic modes under active control. Most of the experiments in this study are conducted under unloaded conditions to cope with the more difficult situation. The robustness tests shown below are performed under the condition of adding different loads to the tip of the arm. Two control methods are used. They are the LQG controller and the DQSMC controller. Both controllers are designed based on an unloaded model. Their performances when the arm is loaded are compared. Two loads are employed. They are of cylindrical shape and each has a slot so that when they are fixed at the tip of the arm the center line of the cylinders aligns with the tip side of the arm. The weight of the loads are 154.1 grams and 177.0 grams respectively. Three cases were tested where the weight of the loads and the load/(arm weight) ratios were: 1. 154.1 grams, (smaller piece), load/(arm weight)=34.0 %. 2. 177.0 grams, (bigger piece), load/(arm weight)=39.1 %. 3. 331.1 grams, (two pieces added together), load/(arm weight)=73.1 %. Firstly, the controller performances before loading are shown in Fig. 8.1 and Fig. 8.2. ^ Chapter 8. ROBUSTNESS TESTS^ 130 0.02 ^ -0.02 ^ -0.04 ^ It -0.06 ^ IZ . -0.08 ^ -0.1 ^ 43.12 0 50^100^150^200^250^300^350 Time k (x 0.01 sec.) Figure 8.1: LQG control when the system is unloaded The LQG controller used tip and joint sensor measurements. The weighting parameters used in the LQG performance index are: To = 0.08, 7 1 = 0.09, 7-2 = 0.09, 7 3 = 0.09, - R 0.00001, Qnc = 160.0, Rnc = 1.0. The DQSMC controller used the tip, joint and strain sensor measurements. The parameters used are shown below: J = diag[-14.0 — 4.0 ± j37.0 — 10.0 ± j205.0], Kp = 4.5, Kd = 0.3. The controller performance under case 1 (with a load of 154.1 grams) is shown in Fig. 8.3. Both controlled systems remain stable and have a small amount of steady Chapter 8. ROBUSTNESS TESTS ^ 131 0.02 ^ -0.02 a a -0.04 -0.06 -0.08 -0.1 4).12 0 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 8.2: DQSMC control when the system is unloaded state error and the responses are slower. The settling times for both controllers are almost the same. The LQG controller showed some high frequency oscillation and a big overshoot which is undesirable while the DQSMC has no such effects. The controlled responses under a cylindrical load of 177.0 grams are shown in Fig. 8.4. Compared with the results in Fig. 8.3, we can see the systems' responses and the settling times for both controllers are almost the same. The. LQG controller showed less high frequency oscillation but the overshoot remained almost the same. Finally, the case of loading with 331.1 grams was tested. The results are shown in Fig. 8.5. As we can see stable control is achieved for both controllers. The settling time for both controllers are almost the same and longer than the previous cases. The LQG controller has an overshoot of almost 40% of the desired set point value in this case, while the DQSMC controller has almost no overshoot at all. Chapter 8. ROBUSTNESS TESTS ^ 132 '^0.02 100 150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 8.3: Controller performances under the load of 154.1 grams 0.02 150^200^250 300 350 Time k (x 0.01 sec.) Figure 8.4: Controller performances under the load of 177.0 grams Chapter 8. ROBUSTNESS TESTS^ 133 --DQSMC Control ss 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 8.5: Controller performances under the load of 331.1 grams 8.3 Robustness comparison with detuned LQG In section 8.2, the robustness of the DQSMC controller was compared to an LQG controller optimized to yield the fastest response. In this section, the LQG controller is detuned so that it has the same response time as the DQSMC when the arm is unloaded. Then different loads are added on. The experimental results obtained are shown in Figures 8.6 through 8.9. Fig. 8.6 shows that the detuned LQG has almost the same time response as the DQSMC when unloaded. The detuned LQG controller has the parameters: T = 0.22, R = 0.00001, Q,,, = 40.0, Rn , = 1.0. The bigger T gives more damping to the controlled system, hence resulting in the slower response. Chapter 8. ROBUSTNESS TESTS 134 Fig. 8.7 shows the results when the smaller piece of load is added on. Compared with the undetuned LQG controlled system, the detuned LQG controlled system is less oscillatory. But it still has bigger overshoot and steady state error than the DQSMC controlled system. Fig. 8.8 and Fig. 8.9 show the results when the 177.0 grams load and the 331.1 grams load are applied. When the load is heavier, the detuned LQG controlled system exhibits even bigger overshoots and steady state errors than the DQSMC controlled system. These additional robustness tests demonstrate further that the DQSMC control methodology indeed performs better than the LQG methodology under the given conditions. Chapter 8. ROBUSTNESS TESTS^ 135 0.02) 0 lk^ —DQSMC with no load -0.02 -0.04 :V. 6 0- -0.06 1:--0.08 -0.1 -0.12 50^100^150^200^250^300^350^400 Time k (x 0.01 sec.) Figure 8.6: Detuned LQG vs. DQSMC when the system is unloaded 0.C2 -0.02 •-• -0.04 0. -0.06 .o. '. -DQSMC with a smaller piece of load -0.08 Detuned LQG with a smaller piece of load •. 50 100 ^ 150^200^250 300 350 400 Time k (it 0.01 sec.) Figure 8.7: Detuned LQG vs. DQSMC under the load of 154.1 grams Chapter 8. ROBUSTNESS TESTS^ 136 0.02 -0.02 a k r-; . 0 . -0. r—DQSMC with a bigger piece of load -0.08 Detuned LQG with a bigger piece of load 50^100^150^200^250 ^ 300 350 400 Time k (x 0.01 sec.) Figure 8.8: Detuned LQG vs. DQSMC under the load of 177.0 grams 0.02 -0.02 -0.04 g •-•-,—DQSMC with two pieces of load -0.06 `-petuned LQG with two pieces of load I= -0.08 50^100^150^200^250^300^350 Time k (x 0.01 sec.) Figure 8.9: Detuned LQG vs. DQSMC under the load of 331.1 grams Chapter 9 SUMMARY AND RECOMMENDATIONS 9.1 Summary The research results in this thesis are summarized as follows: • The linear model containing the first few flexible modes is appropriate for designing the controller. It is neither possible nor necessary to actively control all the modes of the plant because the system model soon becomes uncontrollable when more modes with higher and higher modal frequencies are included in the model. Therefore, a practical strategy seems and has also proved to be the following: actively control the first few lower frequency modes and avoid exciting the remaining higher frequency modes that are neglected in the modeling process. To avoid exciting the unmodeled higher frequency dynamics, we could properly filter the sensor signal and smooth the control action. • The proposed VSSMC provides one method to simplify the VSS system design process. By dividing the control into two parts, one composed of control derived from equalities and the other from inequalities, the algorithm can be simplified significantly. Moreover, the variables that most concern us can be assigned 137 Chapter 9. SUMMARY AND RECOMMENDATIONS ^ 138 separate gains. Thus these variables are, in a sense, separately weighted to achieve the desired performance. • Direct application of the VSSMC to the error model that consists of tip position error and its derivative as coordinates has limitation due to the vibratory nature of the system. Though these limitations are overcome by using a bigger sampling period and lower gain, these measures also constrain the maximum achievable response speed and the robustness margin for parameter uncertainties. • The DQSMC developed in this thesis provides a simple and practical discretetime sliding mode controller design methodology. It can overcome the chattering problem that commonly exists in VSS systems by generating a smooth control signal. The method, therefore, is particularly suitable for applications where one wants to avoid exciting the unmodeled higher frequency dynamics such as those in the flexible manipulator studied here. • The proposed DQSMC has been proven to be equivalent to a full state feedback law with its steady state motion constrained to the sliding hypersurfaces. It is also shown that this method provides a general structure that unifies the discrete- time sliding mode controls of the VSS, the non-VSS, and the VSS with a smoothing boundary layer. • The novel approach of separate first order observers devised for this kind of plants uses the mode positions as the pseudo-system-outputs. The advantage of the method is that it simplifies the observer design process and can assign Chapter 9. SUMMARY AND RECOMMENDATIONS 139 observer poles more easily according to different mode requirements. In the experiments, the designed observers were quite successful in obtaining the desired state estimates. • The experiments conducted on the flexible-link manipulator setup verified the effectiveness of the DQSMC design. Its performance for set point control (though a bit slower than the LQG case), is comparable to the LQG performance. • The robustness tests show that under the same unloaded designs, the DQSMC compares favorably with the LQG controller when different loads are added to the tip of the manipulator. 9.2 Recommendations • It is observed in the experimental process that the tip position PSD, although giving good tip deflection measurements, is quite sensitive to the background (color and reflectability) of the LED. We use a layer of dark colored foam lined inside a curved cardboard sheet to form the background. For real applications, a more realistic background should be used. Therefore the study of accurate tip deflection measurements under practical conditions would be useful. • In the DQSMC experiments it is quite important to select the sliding surface parameters to achieve the desired performance. By manipulating the distance between the closed-loop and the open-loop plant poles, we can change the feedback gains just as we manipulate the weighting parameters in the performance Chapter 9. SUMMARY AND RECOMMENDATIONS 140 index in linear quadratic optimal control. However, as in choosing the performance index weighting parameters, this method is basically a matter of experience. How to find the optimal closed-loop pole locations (in the sense of achieving the fastest, non-vibratory response) in a more sensible way is another topic that needs further study. • As mentioned in the literature review, there are basically two major research trends toward achieving higher performance flexible manipulator control. This study has concentrated on one trend, i.e., developing new controller designing methodologies to achieve better performance. However, due to the inherent properties of the plant, the achievable performance is limited. Therefore the other trend that is represented by the research efforts of Asada [1] and others involving integrated mechanical and electrical design seems very promising in enhancing the performance of the system and reducing the requirements imposed on the control system. Appendix A MODEL DERIVATION The analytical model of the flexible arm is derived following the assumptions made in chapter 3. The uniform aluminum arm of length L is to move in a horizontal plane. . The coordinate is shown in Fig. 3.1. The various parameters follow the definitions in chapter 3. The arm's physical specifications are given in Table 2.1. A.1 PDE and boundary conditions The velocity of a point P on the flexible arm at a distance x from the motor shaft axis is expressed as: ^ vp = xo+ °u'axt t ( (A.1) ) Calculating the kinetic energy of an arm element and integrating over the whole arm and combining the kinetic energy of the hub we have the total kinetic energy: 1 • 1 IL Ow^• 2 (— at + xe) pdx. 2o Tk =^ .10^ 2+— (A.2) The potential energy is the strain energy due to bending deformation of the arm. It has the form: Pe = O 2 w(xt) )2 dx. 2 io^ax2 1 I L E I( — 141 (A.3) Appendix A. MODEL DERIVATION^ 142 The work done by the nonconservative actuator torque is: W = Tq B.^ (A.4) Applying the extended Hamiltonian principle and variational methods, we obtain the PDE and boundary conditions as follows: a4 w^a2 w El— p— = -pxa, ax4^ ate a2 w _ L = 0, axe - (A.5) Ef92— 1TL = 0 ax3 (A.7) w(x,t)I, 0 = 0, (A.8) a2 w EIT T Ilx=o+Tq - IH-ä = O. (A.9) EI—lx w (A.6) If we introduce a new variable y(x, t) such that: y(x,t) = w(x,t)+ xO(t),^(A.10) then (A.5) ti (A.9) become: azi y^82 y ^p at2^0, (A.11) 82 y EI—l x -L = 0, ax 2 (A.12) EI— = 0. a(93y x - (A.13) y(0, t) = 0, (A.14) 02 y El ax2ix=o — +Tq - 'H O = 0, (A.15) ^ Appendix A. MODEL DERIVATION ^ 143 A.2 Vibrational modes Taking the Laplace transform for equations (A.11) 0.4 ti (A.15) and defining: _Ps 2 El' (A.16) where s is the Laplace operator, we may write (A.11) as: dX4 — 4 = 0, (A.17) where p is the Laplace transform of y(x,t). The solution to (A.17) can be written as: p(x, s) = A sin /3x B sinh /3x C cos Ox — C cosh )3x.^(A.18) Define: A = )3L,^ IH e=^ (A.19) (A.20) where m is the arm mass, L is the arm length. Substituting the Laplace transform of the boundary conditions into (A.18) and using (A.19), (A.20), we obtain a set of linear equations of the parameters A, B, C. Solving for roots of the determinant of the coefficient matrix, we obtain a series of {A, }. The pinned-free natural vibration modes can be obtained as follows: cvt = EI A?. pL 4 (A.21) The cantilevered modes can be obtained using the same method, but the different boundary conditions. Appendix A. MODEL DERIVATION ^ 144 A.3 Orthogonality conditions and modal shapes From (A.11) we have: 04y^p (92 y OX 4^EI at 2 • (A.22) When the flexible arm is in transversal vibration in one of its natural modes, the deflection of any location x on the arm varies harmonically with time as follows: y(x, t) q(x)(c i cos wt c 2 sin wt), (A.23) where the subscript i for the ith mode has been omitted for notational convenience. Substituting the above expression into (A.22) and using (A.16) we obtain: d°(x)^34 0(x) = 0,^ dx 4 (A.24) for the ith mode. Solving the eigenvalue problem of (A.24) and letting the external torque Tq equal to zero results in the free vibration modal shape. After some manipulation we can obtain the orthogonality conditions as follows: I L 0,03P dx 'HO0)03 1 0 ) = Sii = 1 i=j 0 i j Elf (X'0'! dx = o (A.25) (A.26) (A.27) where 0,(x) is the eigenfunction of the ith mode. IT is the sum of moment of inertia of arm and hub around the motor axis. w, is the ith pinned-free mode. Appendix A. MODEL DERIVATION ^ 145 Solving (A.24) using the boundary conditions and the orthogonality conditions we can determine the coefficients of solution to (A.24) for various modes and the modal shapes. A.4 State space model Using assumed mode method, we can express the system variable as: E Oi (x)qi (t),^(A.28) 00 y(x,t) = where the space dependent function cb,(x) is the eigenfunction of the ith mode, the time dependent function qi (t) is the generalized coordinate of the system. From kinetic energy, potential energy and Lagrange's equation, it is easy to obtain a series of decoupled ODE's as follows: 1 (4i + 2iwiQi + qi ) = - cb:(0)7' 9 ,^i = 0,— , oo,^(A.29) where w i is the ith vibration mode, i is the damping factor. Noticing that for the rigid mode wo = 0,^00 (x) x,^4(x) = 1,^(A.30) and retaining 3 vibration modes we obtain a state space model as follows: AX + bU,^X = [ qo Qo qi 4 q2 42 q3 61 , ^(A.31) Appendix A. MODEL DERIVATION ^ 146 0 1 0 0 —a (yo (o) 0^1 0 —44)2 —2 1 w 1 A= b = IT 0^1 -W 22 -24-20)2 0'1(0) 0'2(0) 0^1 0 —24 3 w3 03(0) . (A. 32) - U = Tq . (A.33) Output equation is: go 4o Ye 1 0 0/1 (0)^0 02(0) 0 03(0) 0 YTP L 0 0 1 (4 0 q 2 (L) 0 0 3 (L) 0 YSGZ YSGR 0 0 2g1(Z) 0 2c4(Z) 0 2g(Z) 0 0 0 i.01(R) 0 1.4(R) 0 i g(R) 0 ,^ (A.34) q2 42 q3 q3 where 6 is thickness of the arm. This model is easy to expand to contain more modes or truncate to contain fewer modes. Appendix A. MODEL DERIVATION ^ 147 A.5 Analytical model for loaded case When the arm is loaded, the total kinetic energy should include that of the tip mass: 1 ,Ow 1^•2 1 1^+ x,;,2 = ^ Tk /HO + +^pdx+ - rnt(— xullx=L, 2 2 2 o^ Ot - (A.35) where m t is the tip mass. The partial differential equation and its boundary conditions become: 04tV^02U) p— ate -pxe, ax4^ ^ ^Pi/ EI 7_, T (92w axe Ix_L = 0, (92w a—I 3 tv ,^ x _ L = rn t (— xe), ax 3^at2 (A.36) (A.37) (A.38) w(x,t)I, 0 = 0, (A.39) a2 w EIl x - 0 -PT - IH O = O. axe (A.40) If we introduce a new variable y(x, t) such that: y(x,t) = w(x,t)-1- xt9(t),^ (A.41) then (A.36) ti (A.40) become: (94 y^492y (A.42) EI— p— = 0, ax 4^at2 2y = 0, ax 2 52y El^lx-L, = rn (A.43) y(0,t) = 0, (A.45) aX 3^t at 2 (A.44) Appendix A. MODEL DERIVATION^ EI^ a2 y lx=0 148 Tq — hie = 0,^(A.46) The orthogonality relations now become: rL J o 0i0j10 dx + mt0i( L )cb j (L ) + IH 00 ) (Yi ( 0) = - (A.47) where Sid t 1 i=j o i j EIdx 3 0 (A.48) (A.49) where 0, (x) is the eigenfunction of the ith mode. IT is the sum of moment of inertia of the arm, the hub and the tip mass around the motor axis. co i is the ith pinned-mass mode. The state space equation of the loaded case is of exactly the same form as the unloaded case. However, the parameters are different. They are now the modal frequencies and the modal parameters determined via the pinned-mass boundary conditions. The analytical and the identified model parameters for loaded case with a load of 382.5 grams are shown in Table 3.4. Appendix B IRPRBS EXCITING SIGNAL The maximum length pseudo-random binary series (or simply referred to as m series) can be generated by a linear feedback of shift registers in series. An n—stage shiftregister-generated PRBS, if its length is: N p = 2Th — 1, then this series is called an m series. Let logic "1" correspond to a voltage level of —a, logic "0" correspond to a voltage level of +a, T be the time interval of a shift register clock pulse, then an example of an m series and its autocorrelation function (Np = 15) are shown in Fig. B.1, where (a) is the 771 series, (b) is the autocorrelation function for this function, (c) and (d) are the decompositions of (b). The discrete time autocorrelation function of an m series of length N p is expressed as: 1 N-1 Ruit(p).^E u(k)u(k 11).^ (B.1) From Fig. B.1 we can see that the autocorrelation function of an m series within its length is quite similar to that of a white noise. The white noise's autocorrelation is: 1:?„„Gi =^0, Ru ,4 (/^0) = 0,^ (B.2) i.e., the autocorrelation for a white noise is a S function. The autocorrelation for an m 149 Appendix B. IRPRBS EXCITING SIGNAL ^ 150 Table B.1: Example of IRPRBS, Np = 7. 4-{21 } ED {s} {l} 1 1 0 1 0 1 0 1 1 Np 1 0 1 ----4 0 1 1 0 0 0 4- 1 1 0 1 0 1 1 1 0 0 0 0 Np 1 1 0 --- 0 0 0 0 1 1 1 0 1 series is a series of triangular pulses. Therefore, if we properly choose T, a triangular pulse can be very close to an ideal S pulse, especially when N p^oo. The Inverse Repetitive Pseudo-Random Binary Series (IRPRBS) is a more ideal PRBS. To generate an IRPRBS series we only need to add an 771 series of 2Np length on mod 2 basis with a square wave signal of 2Np length, i.e., {l} = { u } ®{ s }^(B.3) Example: when Np = 7, IRPRBS' formation is shown in Table B.1. It's easy to recognize that IRPRBS has the following properties: 1. The {l} series has double cycle length than the {u} series. 2. If logic "1" corresponds to voltage level of —a, logic "0" corresponds to voltage level of +a, then in {l} series the frequencies that these two voltages appear in one cycle are equal. Thus the average level is zero. 3. The former half cycle of the {l} series is inversely repetitive to the latter half, i.e., /(t) = —/(t + Tp )^ (B.4) Appendix B. IRPRBS EXCITING SIGNAL ^ 151 T I^I 0 A 2A 3A -a (a) R uu ( ) a2 Tp=N —0.1 A 141-R uu f t) • Np+ 1 Np a2 ^ (b) –A 0 A^ Tp (c) RuuST) ^ \ T l■ a2 Np •T t (d) Figure B.1: in series and its autocorrelation function Appendix B. IRPRBS EXCITING SIGNAL^ 152 4. Series {l} is uncorrelated with the original {u} series. 5. The autocorrelation of the IRPRBS is shown in Fig. B.2, where (b) and (c) are the decompositions of (a). Appendix B. IRPRBS EXCITING SIGNAL ^ —A 0 A (b) ( c) Figure B.2: Autocorrelation function of IRPRBS. 153 Appendix C DISCRETIZED LQG CONTROL ALGORITHM C.1^Discretized optimal control The continuous-time model is given by: X(t) = A * X(t)^b* u(t), Y(t) = C^X(t).^(C.1) The discretized model is described by: X2+1 = F * X2 + G *u i , Y =^* Xi ,^(C.2) where F = eAT G=^eAt di * b,^(C.3) T is the sampling period. The continuous-time performance index is: 1^/ llyt =^ 2^o^PP 1^0l[ytpl 7 02 - +u*R*uldt, ^(C.4) tp where y tp is the tip position error, y t p is the derivative of y tp . This performance index 154 Appendix C. DISCRETIZED LQG CONTROL ALGORITHM ^155 can be written in state variable form as: L^0 0^r * L 46 1(4^0 0^r * cb i (L) J = ^X T 00 02(L)^0 0^T * 02(L) 03(4^0 0^T * 03(L) L^0^0 1 (4^0^q2(L)^0^03(4^0 0 T * L^0^T * (L)^0^T * 02(L)^0^T* 03(L) * R* ul dt = 1 X+ 1 °.° {X T QX uRu} dt, (C.5) 2o where T X = q0 40 Q1 41 Q2 q2 q3 Q3 1 •^(C.6) The continuous performance index is then discretized (assuming ZOH is used. The derivation is simple. Therefore, it is omitted): A11 Al2^Xi 1^ Jd = uTi[ A21 A22^Ui i=0^ E^ (C.7) where F T (t)Q F (t) dt , (C.8) A22 = I [G T (t)Q G (t)^dt , (C.9) A 11 = f T T Al2 =^F T (t)QG(t) dt, A 21 = AL. (C.10) ^Qd Appendix C. DISCRETIZED LQG CONTROL ALGORITHM ^156 Jd may be written as: Jd = 2_, 1 tc0-,^A11 Al2^Xi — 2 i=0 [ X,T uT A21 A22 "^A = 1— E[A in —Al2A221A2oxi+(uT+xiTAl2A 2')A22(ui+ ili21 A21-X,)] 2 1=0 2 v - 1 x"--, = 2-d[ Xi Q dXi^Rditi], (C.11) where = All Al2A221 A211 ^Rd = ^ui A22, ^ (C.12) ^ (C.13) ^ (C.14) = ui A221 A21Xi• Using the above expressions we may formulate the discretized optimal control problem as follows: Xi +i = (F — GA. 21 A21)Xid- Gu i = FdXi^(C.15) where Fd = F — GAg A21 Gd = G,^(C.16) , with the performance index: 1" Jd = E(xTchxi+ 2 i=0 (C.17) From (C.15) and (C.17) we obtain the optimal feedback control as: Ui = ^ (C.18) where K, is the optimal feedback gain calculated from (C.15) and (C.17). The control signal for original system is: ui = —(K 0 + "4 221 A n )Xi = (C.19) ^ Appendix C. DISCRETIZED LQG CONTROL ALGORITHM ^157 where Cray = Ko A221,421.^ (C.20) C.2 Kalman filter design The continuous-time plant model is: X(t) = A * X(t)-F b* u(t) +Fw(t),^(C.21) Y = C * X (t) v(t), ^(C.22) where w(t)=Gaussian white noise with spectral density Q mo , v(t)=Gaussian white noise with spectral density R no . Assuming the main uncertainty in the system is the actuator uncertainty, then: F = b. Discretizing the continuous plant model (C.21) (C.22) we have : X2+1 = F * X i G * u i + I * w i ,^(C.23) = C * Xi vi,^(C.24) where I is an identity matrix. Discretize the noise spectral density Q.c and R7,0: Q. ^eAtbQ nc bT e A T t di ,^ 0 ^ Rnd= Rnc• (C.25) (C.26) ^= Appendix C. DISCRETIZED LQG CONTROL ALGORITHM^158 From F, I, C,Q„,d, _k id , we may solve for optimal filter gain L g (using one of MATLAB functions). The current estimator is then obtained as: Xi +1 = F *^G * ui,^(C.27) =^+ -4( 17i+1 — C-Xj+1). ^(C.28) Combining the controller in section C.1 and the Kalman filter above we have the LQG algorithm as: Xi+1 = F *^G * u i , X i+1 -4( 17i+1 C * ^(C.29) ^ Ui = - Cl qg * (C.30) ^ (C.31) C.3 Optimal control about nonzero set point Discretized linear plant model is: Xi+1 = F *^G * u i ,^ = C * Xi .^ (C.32) (C.33) Assuming equilibrium condition X, it exist which satisfy the steady state version of (C.32) and (C.33): ^k=F*.k-FG*12,^ - (C.34) =c*.k.^(C.35) Define variables with prime to denote perturbations from the equilibrium conditions: = Xi — X ,^ (C.36) ^ Appendix C. DISCRETIZED LQG CONTROL ALGORITHM 159 (C.37) tly (C.38) Substituting (C.36) ti (C.38) into (C.32) and (C.33) we have: X:+1 +X = F * (X: + X. )+ G * (u: + ft),^(C.39) 1/14-k=C*(X:+.k).^(C.40) Subtracting (C.34) (C.35) from (C.39) (C.40) we have: X:+1 = F * X: G*u:,^ (C.41) = C * Xi.^ (C.42) For system (C.41) (C.42), and the performance index: J= - 2 ^(C.43) E(xY2dx: + uRdu:), we have the optimal control as: u: =^ (C.44) then Ui = 2l - Ci gg (Xi -^=^Cigg.k) - Ci u Xi qc - (C.45) Substituting (C.45) into (C.34), we have: = F *^G * (q, - Ciqg * .k) = (I - F + GChig ) -i Gq c . (C.46) Thus = c * 5c = c * ( - F GChig ) -i Gq c , (C.47) (lc = [C * (I - F + GCN 9 ) -1 Gr 1 k. (C.48) . Appendix C. DISCRETIZED LQG CONTROL ALGORITHM ^160 Taking set point into account in both the controller and the estimator simultaneously, we have: ui —CNA + (C.49) Xi+1= F * + G * q c — G * Xi+1+ L9 (Y+1 (C.50) (C.51) C;V" i+l)• Combining (C.49) ti (C.51) we have: (F — GC1 q9 )5(i + Gqc+ L g Yi +i — L 9 C[(F — GCi gg ) i + Gqc ] = [(I — L 0 C)(F — GCl u )]Xi +^+ (I — Lg C)Gq, + L g Yi +i + Nqc , (C.52) where M = (I — L 2 C)(F — N (I — L 9 C)G. (C.53) (C.54) The block diagram of the closed loop LQG control system with nonzero set point is shown in Fig. C.1. C.4 Implementation considerations From (C.52) we have: ^j(i+i = Mk'i+ Lg Yi + i + Nqc ,^ (C.55) s ?Li =^qc•^ (C.56) Appendix C. DISCRETIZED LQG CONTROL ALGORITHM^161 Figure C.1: Block diagram of closed loop LQG control with nonzero set point Appendix C. DISCRETIZED LQG CONTROL ALGORITHM^162 This is not a good form for implementation. We modify the equations as follows: Let (C.57) Xi+1 -ki+1 LgYi+l• Then (C.55) and (C.56) become: Xj +i = MXi ML 9 Y + Nq c , (C.58) Ui = (C.59) — Cl qg Xi — CluLgYi qc• Define ML g = L, —Ci gg Lg = H, —Cl qg Xi qc U0i• (C.60) • Then (C.58) (C.59) become: Xj+1 = MXi LYi Nq c , (C.61) ui = Uoi HYi• (C.62) (C.61) (C.62) are the equations for real-time implementation. The initial values are given as follows: = 0, U0i 1i.0 = qc• ^ (C.63) Assuming four sensor outputs are used then at each sampling period the above algorithm performs a total of 116 multiplications, 108 additions and 260 memory accesses (not including the sampling, data conversion and control output clipping etc.). Appendix D PROJECTOR IN SLIDING SURFACE DESIGN D.1 Projector definitions and properties Definition of the decomposition of a space S into subspaces S 1 and S2: S is decomposed into S i and S2 if any vector x in S can be written uniquely as x 1 + x 2 , where x 1 is in S 1 and x 2 in S2. There is no vector that is common to S i and S2, i.e., Si and S2 are disjoint. If S is decomposed into S i and S2, we say that S is the direct sum of S1 and S2 symbolized: , S Si ED S2 • Definition of a projector: Given a decomposition of space S into subspaces S i and S2 so that for any x E S x = x l + x 2 , x l E S i , x 2 E S2. The linear operator P that maps x into x 1 is called a projector on Si 'along 52 i i.e., 163 Appendix D. PROJECTOR IN SLIDING SURFACE DESIGN^164 Px = x 1 , Px 2 = 0. Properties of a projector: 1. A linear operator P is a projector if and only if it is idempotent, i.e., if and only if p2 = p . 2. If P is the projector on S 1 along S2, then (I — P) is the projector on 82 along 3. If P is the projector on R(P) (range of P) along N(P) (null space of P) then (I — P) is the projector on N(P) along R(P). 4. For any x E R(P) Px = x, (I — P)x = 0, rank(P) = trace(P), rank(I — P) = n — rank(P), R(P) = N(I — P), N(P) = R(I — 13 ). The proof is omitted here, readers may refer to [61], [23]. Appendix D. PROJECTOR IN SLIDING SURFACE DESIGN ^165 D.2 Projector in sliding surface design 1. B(CTB) -1 CT is a projector. proof: [B(CTB)-1cT]2 = B(cTB) -1 CTB(CTB) -1 CT = B(C T B) -1 C T B(CTB) -1 CT is idempotent and consequently a projector. B(C T B) -1 CT projects R' on R(B) along N(CT) since R[B(CTB)'CT] = R(B), because R(BK) = R(B) if B and K are full rank. In this case K = (C T B) -i C T which is full rank (B and CTB are full rank). Similarly, N[B(C T B) -1 C T ] = N(C T ), since nullity(HCT) = nullity(CT), if H and CT are full rank, where H = B(CTB) -1 . 2. [I — B(C T B) -1 C T ] is a projector. proof: From above we know B(CTB) -1 CT is a projector on R(B) along N(C T ). According to property 2 in section D.1, we know that Appendix D. PROJECTOR IN SLIDING SURFACE DESIGN ^166 [I — B(C T B) -1 C T ] is a project on N(CT) along R(B). [I — B(C T B) - icT] projects Rn on N(C T ) along R(B). Since the rank of a matrix is the dimension of its rank space, by letting P = B(C T B) -1 C T , we obtain from section D.1 property 4: rank(P) = rank(B) = rank(I — P) = n — rank(P) = n — m. Therefore any n x 72 matrix pre-multiplied by [I — B(C T B)'CT] will have at most rank n — m. ^ order reduction in sliding mode (see 3. below). 3. Invariance condition. In the sliding mode, the equation describing the system is given by: X = [I — B(C T B) -1 CT[AX = A eq X — B(cTB)-1,T, is a projector which maps all the columns of A on N(CT). The order of the system has therefore been reduced because the state vector is now constrained to lie on N(C T ) which is an (n — m)th dimensional subspace, which also means the system's response is invariant to parameter variations and external disturbances. Appendix E PROOF OF FACT 1 proof of: u(k) — Uci (k) S(k +1) — S(k),^(E.1) where u(k) is the current control which will result in S(k+1) in the next sampling instant. Uci (k) is the control component which tries to keep the RP at the current position, i.e., to make S(k + 1) = S(k). As we have already derived that n-1 Uc1 (k) = —^ixi(k) — 6_,^ (E.2) where = ^(CTF. — f1 C T Fn ).^ CT G^cn 6_ = 1 CT G CT Fn en (E.3) S(k) c 1^ S(k). S(k).^(E.4) CT E R 1 xn is the sliding surface parameter vector. G E Rnx i is the discretized model input matrix. Fi E R nX1 is the ith column of the discretized model systems matrix. Assuming u(k) is derived such that S(k +1)= —kS(k), where k > 0 is an arbitrary positive real number, then from: S(k 1) = C T F X(k) C T Gu(k),^(E.5) 167 Appendix E. PROOF OF FACT 1^ 168 it is immediate that: — kS(k) = C T FX(k)+ C T Gu(k), (E.6) 0 = C T (F + kI)X(k) + C T Gu(k). (E.7) F + kI = F+ , (E.8) or: Define: then (E.7) becomes: 0 = C T F+ X(k) + C T Gu(k) n-1 E i=i cTF+i xi(k) + cTF+n x n (k) + CTGu(k). (E.9) Since: x n (k) = (S(k) — c i x i (k) — c2x2(k) — • • — c n _ i x n _ i (k))/cn , (E.10) the above equation becomes: n-1 = E(cTF+i - T CT F —C F+n )x j (k) + ^+n S(k) + C T Gu(k). cn i=1^cn - ^ Let n-1 u(k) = — E K i x i (k) (E.11) (E.12) i=i then n-1^ 0 = E(cTF+ i - TF C +n S(k) — C T G77). x i (k) +^ cTF+ n - cTGico^ a ( e^ n^ Cn (E.13) To make (E.13) hold for arbitrary x i (k) we have T -^Ci T ^ (C^— —C F+ n ) C T G^cn 1 T =^(C + kci fIC T Fn — c i k) cn C TG 1 = CTG(CT — fe-C T Fn ) = cn (E.14) Appendix E. PROOF OF FACT 1 ^ 169 and 1 CT P^1 CT F,^1 kc CTG c +n S(k) CTG Cn S(k) CTG cn S(k) 1^C T Fn kS(k) S(k) + ^CTG c,,^CTG •^(E.15) Therefore u(k) = — Uci (k) = — n-1 1 C TF kS(k) E 2kiXi(k) — CTG n S(k) c^ CTG • 1=1 (E.16) n-1 CT Fn 7.^ E oixi(k)^ S(k) + .o17S(k) . CTG 1=1 Subtracting (E.17) from (E.16) we have: u(k) — (E.17) Uci (k) = CTG ( k 1)8(k).^(E.18) Since C T G = 1, u(k) Q.E.D. — Uci (k) = — (k + 1)S(k) = — kS(k) — S(k) = S(k + 1) — S(k).^(E.19) Appendix F REAL-TIME SOFTWARE DEVELOPMENT F.1 Introduction A complete set of software is developed during the course of this research for system's modeling and identification, controller parameter calculation, real-time.control and data recording, data conversion, control algorithm simulation, etc.. These programs are written in different languages. The mostly used languages are 80x86/80x87 assembly language, MATLAB macro instructions, Turbo C, FORTRAN, BASIC and software tools like ACSL, IMSL, TELLAGRAF, I4TEX etc.. Most of the computations are performed on an IBM PC-AT compatible. Some of them are developed on main frame or SUN or SPARC work stations. In this appendix we introduce briefly on the major features of the real-time software. F.2 Real time clock To realize real-time computer control it is essential to have an accurate timing for the various events in the system and maintain a stable sampling period. All this depends on a real-time clock built for the system. The real-time clock we used is based on a software method [64]. It does not need to make any hardware alterations 170 Appendix F. REAL-TIME SOFTWARE DEVELOPMENT^171 on the computer hardware. It can achieve time interrupt of arbitrary time intervals in the range of a few micro seconds to about fifty milliseconds. If combined with a software counter the timing range can further spanned to seconds, minutes, hours or even longer. Another feature of this clock is that it can be initialized and locked for reading the time lapse before and after a specific operation. Thus it is useful in measuring the time needed for executing a specific segment of program. The basic principle of the real-time clock is to use the on-board timer/counter chip of the IBM PC-AT compatible by modifying the interrupt vector table to let the vector of the chip's channel 0 interrupt to point to the address of the user interrupt service routine. By writing commands to the chip we can set the timer/counter and achieve time interrupts of arbitrary time intervals. For example the actual clock pulse sent to the chip is 1.19318 MHz. Therefore if we want to achieve a 5 mS time interval clock, we need to write a constant of 174EH = 5966 10 into the chip, since 5966/(1.19318 * 10 6 ) = 5.0 *10 -3 sec. = 5.0 mS.^(F.1) After finishing the real-time task, the program recovers the original time interrupt vector table, records the data to the disk and exits to the DOS or DEBUG environment normally. To avoid the accidental occurrence of machine interrupts when the program is modifying the time interrupt vector table, all the machine interrupts are masked during this period. After the constant has been written to the chip, the machine interrupts are enabled again. Appendix F. REAL-TIME SOFTWARE DEVELOPMENT^172 F.3 Real-time control, data acquisition and recording Since we need to do quite sophisticated control algorithm computation and data recording in short sampling period, 80286/80287 assembly language is used to achieve the high speed and efficiency for real-time control and data recording. All the control tasks and data recording can be performed within a 10 mS sampling period, include the most complicated algorithm of LQG with an 8th-order model and four sensor outputs. To save time and space, only the binary form floating point data is recorded to the RAM area when the real-time control is going on. These data are then transformed into ASCII code upon completion of the real-time task and saved to the disk data files before exiting the program. In the programs developed, as many as 12 variables can be recorded, each has a length of 400 data points. The time interrupt service routine's task is to pop out the return address and check its correctness to see if overtime occurs. In the case of overtime, it will cause the program to return to the DOS or DEBUG environment immediately. Otherwise it will push down into the stack the beginning address of the control program as the return address and exit the interrupt service routine normally. The control program begins after the initialization of the system. After all the control tasks are performed in a sampling period the program will simply wait there for the next time interrupt to occur. All these functions are integrated into each real time control program using the 80286/80287 assembly language. Appendix F. REAL-TIME SOFTWARE DEVELOPMENT ^173 F.4 Floating point arithmetic 80x87 family of numerical processors can be used with 80x86 family of microprocessors. The numerical processors have their own instruction sets. They share with the 80x86 CPU the same instruction stream and the same system clock. However, these numerical processors have their own arithmetic processing unit and control unit and thus can execute the instructions concurrently if there is no confliction in sharing the system's bus or the memory with the machine CPU. Attention should be paid, though, to avoid such kinds of confliction from occurring [65]. Because of the above mentioned features, these numerical processors are often called co-processors. The co-processors have very strong numerical processing capabilities. They can perform read/write, comparison, testing, addition, subtraction, multiplication, division, taking absolute values, exponent, logarithm, and trigonometric calculations with data types of integer, long floating numbers and short floating numbers. The specific construction of these chips: 80-bit multiple stacks and the internal 80-bit wide data bus, enables these chips to complete complicated numerical computations within remarkably short period. Thus they are very desirable when high speed and precision results are required. In our real-time application, the short-floating data type is used which uses a four-byte word to represent one floating point number. The range and accuracy of short floating point number is enough for ordinary engineering calculation and applications. The programming for the co-processor is quite simple and explicit. Every numerical operation only needs one instruction. The 80x87 instructions are interwoven with the 80x86 instructions to fulfill the real time control and data recording tasks. Bibliography [1] Asada, H., Park, J. H. and Rai, S., "A control configured flexible arm: integrated structure/control design", Proc. of the 1991 IEEE Int. Conf. on Robotics and Automation, pp. 2356 - 2362, Sacramento, CA, Apr. 1991. - - [2] Balas, M. J., "Feedback control of flexible systems," IEEE Trans. Automat. Contr., vol. AC-23, pp. 673-679, 1978. • [3] Barbieri, E. and Ozgiiner, U., "Unconstrained and constrained mode expansions for a flexible slewing link," Trans. ASME J. of Dynamic Systems, Measurement and Control, vol. 110, No. 4, pp. 416 - 421, Dec., 1988, [4] Barsky, M. F., Lindner, D. K., "Holographic signal processing for control of a flexible beam", Proc. of the 28th CDC, pp. 1466 - 1467, Tampa, Florida, Dec. 1989. [5] Bayo, E., "A finite-element approach to control the end-point motion of a singlelink flexible robot," J. of Robotic Systems, vol. 4, No. 1, pp. 63-75, 1987. [6] Bayo, E. and Paden, B., "On trajectory generation for flexible robots," J. of Robotic Systems, vol. 4, No. 2, pp. 229-235, 1987. [7] Biswas, S. K. and Klafter, R. D., "Dynamic modeling and optimal control of flexible robotic manipulators," 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 15-20, 1988. [8] Book, W. J., "Modeling, design and control of flexible manipulator arms," Ph.D. Thesis, MIT, Dept. of Mech. Eng., Apr. 1974. [9] Book, W. J., "The bracing strategy for robot operation," Joint IFToMM CISM Symp. on the Theory of Robots and Manipulators, Udine, Italy, June, 1984. - 174 Bibliography^ 175 [10] Cannon, R. H., and Schmitz, E., "Precise control of flexible manipulators," Robotics Research, pp. 841-861, 1983. [11] Chen, C. T., Linear System Theory and Design, CBS College Publishing, pp. 361-362, 1984. [12] Cheng, S. K., Loh, N. K. and Beck, R. R., "Adaptive control of a flexible link," 15th Annual Southeastern Symp. on System Theory, pp. 282 285, Huntsville, Alabama, March, 1983. - [13] Choi, S. B., Thompson, B. S. and Gandhi, M. V., "Modeling and control of a single link flexible manipulator featuring a graphite-epoxy composite arm", Proc. of the 1990 IEEE Int. Conf. on Robotics and Automation, vol. 2, pp. 1450 1455, 1990. - [14] Clarke, D. W., Mohtadi, C. and Tuffs, P. S., "Generalized predictive control-part I, the basic algorithm," Automatica, vol. 23, No. 2, pp. 137-148, 1987. [15] Clarke, D. W., Mohtadi, C. and Tuffs, P. S., "Generalized predictive control-part II, extensions and interpretations," Automatica, vol. 23, No. 2, pp. 149-160, 1987. [16] Corless, M. and Manela, J., "Control of uncertain discrete-time systems", 1986 ACC, pp. 515 - 520, 1986. [17] Cox, D., Thomas, D., Reichard, K., Lindner, D. K. and Claus, R. 0., "Vibration control of a flexible beam using distributed fiber optic sensor", Proc. of the 28th CDC, pp. 2685 - 2686, Tampa, Florida, Dec. 1989. [18] Davies, W. D. T., System Identification for Self adaptive Control, John Wiley, 1970. - - [19] DeCarlo, R. A., Zak, S. H. and Matthews, G. P., "Variable structure control of nonlinear multivariable systems: a tutorial", Proc. IEEE, vol. 76, No. 3, pp. 212-232, 1988. [20] Dorling, C. M. and Zinober, A. S. I., "Two approaches to hyperplane design in multivariable variable structure control systems", Int. J. Control, vol. 44, No. 1, pp. 65 - 82, 1986. Bibliography^ 176 [21] Drakunov, S. V. and Utkin, V. I., "On discrete-time sliding modes", in Nonlinear Control Systems Design: science papers from the IFAC symposium, Capri, Italy, 14 - 16 June, 1989, Ed. by A. Isidori, Pergamon Press, pp. 273 - 278, 1990. [22] Dra22'enovie B., "The invariance conditions in variable structure systems", Automatica, vol. 5, pp. 287 - 295, 1969. [23] El-Ghezawi, 0. M. E., Zinober, A. S. I. and Billings, S. A., "Analysis and design of variable structure systems using a geometric approach", Int. J. Control, vol. 38, pp. 657-671, 1983. [24] Fraser, A. R. and Daniel R. W., Perturbation Techniques for Flexible Manipulators, Kluwer Academic Publishers, 1991. [25] Fukuda, T., "Flexible control of elastic robotics arms," J. of Robotics Systems, vol. 2, No. 1, pp. 73-88, 1985. [26] Furuta, K., "Sliding mode control of a discrete system", Systems & Control Letters, vol. 14, pp. 145 - 152, 1990. [27] Harashima, F., Hashimoto, H. and Karuyama, K., "Practical robust control of robot arm using variable structure system," IEEE 1986 Int. Conf. on Robotics and Automation, vol. 1, pp. 532-539, 1986. [28] Hashimoto, H., Maruyama, K. and Harashima, F., "A microprocessor based robot manipulator control with sliding mode," IEEE Trans. on Industrial Electronics, vol. 1E-34, No. 1, pp. 11 - 18, Feb., 1987. [29] Hastings, G. G. and Book, W. J., "Experiments in optimal control of a flexible arm," 1985 ACC, Boston, pp. 728-729, 1985. [30] Hastings, G. G., "Controlling flexible manipulators, an experimental investigation," Ph.D. Thesis, Dept. of Mech. Eng., Georgia Inst. of Tech., 1986. [31] Itkis, U., Control System of Variable Structure, John Wiley & Sons, Isreal Universities Press, 1978. Bibliography^ 177 [32] Kanoh, H. and Lee, H. G., "Vibration control of one-link flexible arm," Proc. of 24th CDC, pp. 1172 - 1177, Ft. Lauderdale, FL, Dec. 1985. [33] Karkkiinen, P. and Manninen, M., "Path modification for flexible manipulators," 1985 ACC, Boston, pp. 743-744, 1985. [34] Khorrami, F. and Ozgiiner, U., "Perturbation methods in control of flexible link manipulators," 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 310315, 1988. [35] Klein, C. A. and Maney, J. J., "Real-time control of a multiple element mechanical linkage with a microcomputer," IEEE Trans. on Industrial Electronics and Control Instrumentation, vol. IECI-26, No. 4, pp. 227 - 234, Nov. 1979. . [36] Kotnik, P. T., Yurkovich, S. and Ozg iiner, U., " Acceleration feedback control of a flexible manipulator arm," 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 322-323, 1988. [37] Kotta, U., "Comments on ' On the stability of discrete-time sliding mode control system' ", IEEE Trans. Aut. Control, vol. AC-34, pp. 1021-1022, 1989. [38] Krishnan, H. and Vidyasagar, M., "Control of a single-link flexible beam using a Hankel-norm based reduced order model," 1988 IEEE Int. Conf on Robotics and Control, vol. 1, pp. 9-14, 1988. [39] Kwong, R. H. and Chang, T. N., "Final report of development of control system hardware demonstration for third generation spacecraft (Phase III - Flexible beam structure controller", Dept. Elec. Eng., Univ. Toronto, June, 1986. [40] Lane, J. S. and Dickerson, S. L., "Contribution of passive damping to the control of flexible manipulators," ASME Computers in Engineering 1984, Las Vegas, Nevada, Aug. 1984. [41] Lee, B. K., "A model reference adaptive system for control of a flexible mechanical manipulator," Ph.D. Thesis, Dept. of Mech. Eng., Oregon State Univ., 1988. [42] Lim, K. W., Low, T. S., Rahman, M. F. and Wee, L. B., "A discrete time Bibliography^ 178 variable structure controller for a brushless dc motor drive", IEEE Trans. Indus. Electron., vol. 38, pp. 102-107, 1991. [43] Looke, T. D., Farooq, M. and Bayoumi, M. M., "The response of a one-link flexible arm to variable structure control using sliding surface", IFAC control of distributed parameter systems, pp. 333 - 337, Perpignan, France, 1989. [44] Maizza Neto, 0., "Modal analysis and control of flexible manipulator arms," Ph.D. Thesis, MIT, Dept. of Mech. Eng., Sept. 1974. [45] Meldrum, D. R. and Balas, M. J., "Application of model reference adaptive control to a flexible remote manipulator arm," 1986 ACC, vol. 2, pp. 825-832, 1986. [46] Meng, C. H. and Chen, J. S., "Dynamic modeling and payload-adaptive control of a flexible manipulator," 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 488-493, 1988. [47] MilosavljeviC, C "General conditions for the existence of a quasi-sliding mode on the switching hyperplane in discrete variable structure systems", Aut. Remote Control, vol. 46, pp. 307-314, 1985. , [48] Mirro, J., "Automatic feedback control of a vibrating flexible beam," Master Thesis, MIT, Dept. of Mech. Eng., Aug. 1972. [49] Morgan, R. G. and Ozgiiner, U. "A decentralized variable structure control algorithm for robot manipulators," IEEE J. of Robotics and Automation, vol. RA-1, No. 1, pp. 57-65, March, 1985. , [50] Movaghar, R. and Bayo, E., "An initial experiment on the end-point open-loop control of a flexible arm," LASTED, 1987, May, Santa Barbara, pp. 114-119, 1987. [51] Naganathan, G. and Soni, A. H., "Coupling effects of kinematics and flexibility in manipulators," Mt. J. of Robotics Research, vol. 6, No. 1, pp. 75 - 84, Spring, 1987. Bibliography^ 179 [52] Nebot, E. M., "Modeling and control of a single link flexible manipulator," Ph.D. Thesis, Dept. of Elec. Eng., Colorado State Univ., 1988. [53] Nelson, W. L, Mitra, D., and Boie, R. A., "End-point sensing and load adaptive control of a flexible robot arm," Proc. of 24th CDC, pp. 1410 - 1415, Ft. Lauderdale, FL, Dec., 1985. [54] Nemir, D. C., Koivo, A. J. and Kashyap, R. L., "Pseudolinks and the self-tuning control of a nonrigid link mechanism," IEEE Trans. on Sys., Man and Cyber., vol. 18, No. 1, pp. 40 - 48, Jan./Feb. 1988. [55] Opitz, H.-P., "Robustness properties of discrete-variable structure controllers", Int. J. Control, vol. 43, No. 3, pp. 1003 - 1014, 1986. [56] Oosting, K., and Dickerson, S. L., "Simulation of a high-speed lightweight arm," 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 494 - 496, 1988. [57] Ozgiiner, U. , Yurkovich, S., Martin, J. W. and Kotnik, T. P., " Laboratory facility for flexible structure control experiments", IEEE Control System Magazine, pp. 27 - 32, Aug., 1988. [58] Pal, S., Stephanou, H. E. and Cook, G., "Optimal control of a single link flexible manipulator," 1988 IEEE Mt. Conf. on Robotics and Control, vol. 1, pp. 171 - 175, 1988. [59] Pandian, S. R., Hanmandlu, M. and Gopal, M., "A decentralized variable structure model following controller for robot manipulators", 1988 IEEE Mt. Conf. on Robotics and Automation, vol. 3, pp. 1324 - 1328, 1988. [60] Park, J. - H., Asada, H., "Design and control of minimum - phase flexible arms with torque transmission mechanism", Proc. of the 1990 IEEE Mt. Conf. on Robotics and Automation, vol. 3, pp. 1790 - 1795, 1990. [61] Pease, III, M. C., Methods of matrix algebra, Academic Press, 1965. [62] Qian, W. T. and Ma, C. C. H., "A new controller design for a flexible one-link manipulator", IEEE Trans. Aut. Control, vol. 37, No. 1, pp. 132 - 137, 1992. Bibliography 180 [63] Qian, W. T. and Ma, C. C. H., "Experiments on a flexible one-link manipulator", Proc. of the IEEE Pacific Rim Conf. on Communications, Computers and Signal Processing, pp. 262-265, 1991. [64] Qian, W. T. and He, J. G., "A software method to achieve time interrupts of arbitrary time intervals on IBM-PC and its compatibles", J. of Shanghai Institute of Mechanical Engineering, (in Chinese with English abstract), vol. 8, No. 1, pp. 95 - 99, 1986. [65] Qian, W. T. and He, J. G., "Using 8087 numerical coprocessor on IBM-PC and its compatibles", Electrical Automation, (in Chinese), vol. 7, No. 2, pp. 40 - 43, 1986. [66] Rovner, D. M. and Cannon, R. H., "Experiments toward on-line identification and control of a very flexible one-link manipulator," Int. J. of Robotics Research, vol. 6, No. 4, pp. 3 - 19, Winter, 1987. [67] Sakawa, Y., Matsuno, F. and Fukushima, S., "Modeling and feedback control of a flexible arm," J. of Robotics Systems, vol. 2, No. 4, pp. 453-472, 1985. [68] Sarpturk, S. Z., Istefanopulos, Y. and Kaynak, 0., "On the stability of discretetime sliding mode control systems", IEEE Trans. Aut. Control, vol. AC-32, pp. 930-932, 1987. [69] Schmitz, E., "Experiments on the end-point position control of a very flexible one-link manipulator", Ph.D. Thesis, Dept. of Aeronautics and Astronautics, Stanford Univ., 1985. [70] Schoenwald, D. A., 6zgiiner, U. and Chan, H., "An analysis of distributed vibration control of flexible manipulators using integral manifolds", Proc. of the 28th CDC, pp. 2095 - 2100, 1989. [71] Shung, I. Y. and Vidyasagar, M., "Control of a flexible robot arm with bounded input: optimal step response", 1987 IEEE Int. Conf. on Robotics Automation, vol. 2, pp. 916-922, 1987. [72] Shusterman, D., Chirinos, L. and Widmann, G. R., "Robust control strategies for a single link flexible manipulator using variable structure control", Proc. Bibliography^ 181 of the 3rd Mt. Symp. on Robotics and Manufacturing: research, education and application, Ed. by M. Jamshidi and M. Saif, ASME press, pp. 591 - 596, 1990. [73] Siciliano, B., Yuan, B. S. and Book, W. J., "Model reference adaptive control of a one-link flexible arm", Proc. of 25th IEEE CDC, pp. 91 - 95, Athens, Greece, Dec., 1986. [74] Singer, N. C., Seering, W. P., "Experimental verification of command shaping methods for controlling residual vibration in flexible robots", 1990 ACC, pp. 1738 - 1744, San Diego, CA, May 23 - 25, 1990. [75] Singh, T., Golnaraghi, M. F. and Dubey, R. N., "Variable structure control of a single-link flexible arm robot", 1990 ACC, vol. 1, pp. 702 - 703, 1990. [76] Sira-Ramirez, H., "Nonlinear discrete variable structure systems in quasi-sliding mode", Int. J. Control, vol. 54, No. 5, pp. 1171 - 1187, 1991. [77] Slotine, J. J. and Sastry, S. S., "Tracking control of nonlinear systems using sliding surfaces with application to robot manipulators", Mt. J. Contr., vol. 38, No. 2, pp. 465-492, 1983. [78] Spurgeon, S. K., "On the development of discrete-time sliding mode control systems", IEE 322, Control'91, pp. 505-510, 1991. [79] Truckenbrodt, A., "Truncation problems in the dynamics and control of flexible mechanical systems", Proc. of the 8th Triennial World Congress of IFAC, vol. 1, No. 7, pp. 1909-1914, 1982. [80] Tzou, H. S., "Integrated distributed sensing and active vibration suppression of flexible manipulators using distributed piezoelectrics", J. of Robotic Systems, vol. 6, No. 6, pp. 745 - 767, 1989. [81] Usoro, P. B., Nadira, R. and Mahil, S. S., "Control of lightweight flexible manipulators: a feasibility study", 1984 ACC, vol. 3, pp. 1209-1216, 1984. [82] Utkin, V. I., "Variable structure systems with sliding modes", IEEE Trans. Automat. Contr., vol. AC-22, No. 2, pp. 212-222, Apr., 1977. Bibliography^ 182 [83] Utkin, V. I., "Variable structure systems: present and future", Automation and Remote Control, vol. 44, No. 9, pp. 1105-1120, 1983. [84] Utkin, V. I., "Equations of the slipping regime in discontinuous systems I", Automation and Remote Control, vol. 32, pp. 1897-1907, 1971. [85] Utkin, V. I., "Equations of the slipping regime in discontinuous systems II", Automation and Remote Control, vol. 33, pp. 211-219, 1972. [86] Utkin, V. I., Sliding Modes and Their Applications, Moscow, USSR, Mir, 1978. [87] Wang, P. K. C. and Wei, J. D., "Feedback control of vibrations in a moving flexible robot arm with rotary and prismatic joints", 1987 IEEE Int. Conf. on Robotics and Automation, vol. 3, pp. 1683-1689, 1987. [88] Wang, W. J., Lu, S. S. and Hsu, C. F., "Output feedback control of a flexible robot arm", Proc. of 25th CDC, Athens, Greece, Dec. pp. 86-90, 1988. [89] Wang, W. J., Lu, S. S., Chang, T. S. and Hsu, C. F., "Experiments on the position control of a one-link flexible robot arm", Proc. of 26th CDC, Los Angeles, pp. 2191-2195, 1987. [90] Xu, J. X., Hashimoto, H., Slotine, J. J. E., Arai, Y. and Harashima, F., " Implementation of VSS control to robotic manipulators-smoothing modification", IEEE Trans. Indus. Electron., vol. 36, pp. 321-329, 1989. [91] Yang, G. B. and Donath, M., "Dynamic model of one-link robot manipulator with both structural and joint flexibility", 1988 IEEE Int. Conf. on Robotics and Control, vol. 1, pp. 476-481, 1988. [92] Yeung, K. S. and Chen, Y. P., "A new controller design for manipulators using the theory of variable structure systems", IEEE Trans. Automat. Contr., vol. AC-33, No. 2, pp. 200-206, 1988. [93] Yeung, K. S. and Chen, Y. P., "Regulation of a one-link flexible robot arm using sliding mode technique", Mt. J. Control, vol. 49, No. 6, pp. 1965 - 1978, 1989. Bibliography 183 [94] Yoshida, K., "Position and vibration control of flexible systems by means of tendon mechanism", IFAC control of distributed parameter systems, Perpignan, France, pp. 355 - 360, 1989. [95] Young, K. D., Kokotovic, P. V. and Utkin, V. I., "A singular perturbation analysis of high gain feedback systems", IEEE Trans. Automat. Contr., vol. AC-22, pp. 931-938, 1977. [96] Young, K. D., "Controller design for a manipulator using theory of variable structure systems", IEEE Trans. Sys., Man and Cybern. vol. SMC-8, No. 2, pp. 101-109, 1978. [97] Young, K. D., "A variable structure model following control design for robotics applications", IEEE J. of Robotics and Automation, vol. RA-4, No. 5, pp. 556561, Oct., 1988. [98] Yuh, J., "Application of discrete-time model reference adaptive control to a flexible single-link robot", J. of Robotic Systems, vol. 4, No. 5, pp. 621-630, 1987. [99] Zinober, A. S. I., (Ed.)Deterministic control of uncertain systems, Peter Peregrinus Ltd. on behalf of the IEE, 1990.
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Experimental sliding mode control of a flexible single...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Experimental sliding mode control of a flexible single link manipulator Qian, Timothy W. T. 1993
pdf
Page Metadata
Item Metadata
Title | Experimental sliding mode control of a flexible single link manipulator |
Creator |
Qian, Timothy W. T. |
Date Issued | 1993 |
Description | Employing flexible robot arms is of great importance to the intended enhancement of the performance of current generation robots to achieve higher efficiency. It is also indispensable to space related applications due to various restraining factors in that field. The reason that there is still very scarce usage of flexible arm lies in the difficulties involved in designing and implementing a good controller to achieve the desired performance. Though a wealth of literature has already appeared on this subject, the number of controller design schemes presented has been small. Still fewer are the experimental verifications which are essential to evaluating the real applicability of these designs. The objective of this thesis is to explore and develop practical controller designs based on the variable structure system (VSS) and sliding mode theory, and experimentally test them on a flexible robot arm. A new control design method (VSSMC) is firstly proposed based on the continuous time variable structure sliding mode theory. It can significantly simplify the VSS system designing process. Moreover, the variables concerned can be assigned separate gains. Direct application of the VSSMC to the flexible arm, however, has limitations due to the inherent properties of the system. Though these limitations are overcome by using a bigger sampling period and lower gain, these measures also constrain the maximum achievable response speed and the robustness margin on parameter uncertainties. To deal with the above mentioned problem and facilitate digital implementation and solve the undesirable "chattering" in conventional VSS control, another novel controller design method is developed, i.e., the Discrete-time Quasi-Sliding Mode Control(DQSMC). This design is proposed based on a re-visit to the necessary and sufficient conditions for the existence of the discrete-time sliding hypersurfaces. Two control algorithms are derived satisfying these two conditions. The analysis on these two algorithms results in the development of DQSMC. It is proven that this design is equivalent to a full state feedback with its steady-state motion constrained to the sliding hypersurfaces. It is also shown that the DQSMC method provides a general structure that unifies the three different kinds of discrete-time sliding mode control, i.e., the VSS, the non-VSS and the VSS with a smoothing boundary layer. Experimental testings for the DQSMC controller showed quite good results, thus verifying the effectiveness of the design method. The robustness under load variations is also tested. The experimental results compared favorably against the Linear Quadratic Gaussian (LQG) controller under the same load variations. To realize the proposed new controller designs, a novel approach is devised for these kinds of plants to obtain all the states. Separate first order observers are used to estimate the states that are not directly accessible. The advantages of the method are the simplified observer design processes and easier pole assignments for the observer according to different mode requirements. The designed observers are quite successful in obtaining the desired state estimates. The new control design methodologies developed in this thesis are easy to understand, design and implement. The smoothness in the control signal of DQSMC is especially desirable for applications where one wants to avoid exciting the high frequency un-modeled dynamics. It can be used in many control applications. |
Extent | 7041753 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
FileFormat | application/pdf |
Language | eng |
Date Available | 2008-09-05 |
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. |
IsShownAt | 10.14288/1.0065077 |
URI | http://hdl.handle.net/2429/1663 |
Degree |
Doctor of Philosophy - PhD |
Program |
Electrical and Computer Engineering |
Affiliation |
Applied Science, Faculty of Electrical and Computer Engineering, Department of |
Degree Grantor | University of British Columbia |
GraduationDate | 1993-11 |
Campus |
UBCV |
Scholarly Level | Graduate |
AggregatedSourceRepository | DSpace |
Download
- Media
- 831-ubc_1993_fall_phd_qian_timothy.pdf [ 6.72MB ]
- Metadata
- JSON: 831-1.0065077.json
- JSON-LD: 831-1.0065077-ld.json
- RDF/XML (Pretty): 831-1.0065077-rdf.xml
- RDF/JSON: 831-1.0065077-rdf.json
- Turtle: 831-1.0065077-turtle.txt
- N-Triples: 831-1.0065077-rdf-ntriples.txt
- Original Record: 831-1.0065077-source.json
- Full Text
- 831-1.0065077-fulltext.txt
- Citation
- 831-1.0065077.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-0065077/manifest