33
Appendix A MATLAB Codes for Parameter Identification of the Underactuated Mechanical Systems in Chap. 3 A.1 Identification of the Furuta Pendulum This section contains the MATLAB code for the identification of the Furuta pendulum in Sect. 3.2. The data measured from the identification experiment of the Furuta pendulum can be downloaded from https://www.dropbox.com/s/ahs8c9z9swl1l54/ furutadataexp.mat?dl=1. The identification procedure is performed in the following order: (i) The measured position signals are filtered; (ii) The velocity estimation algorithm for the computation of the first and second joint velocities is applied; (iii) The filtered regression model is computed; and (iv) The LS algorithm is applied and the estimated parameters θ are obtained. 1 % Motion Control of Underactuated Mechanical Systems % 2 % Parameter identification of the Furuta Pendulum % 3 % Created: 12/Oct/2016 % 4 % Chapter 3, Section 3.2 ... % 5 6 %% Data from the identification experiment are loaded % 7 clc 8 clear all 9 % The file furutadataexp.mat containing the data measured from % 10 % the identification experiment of the Furuta pendulum can be % 11 % downloaded from: 12 % www.dropbox.com/s/ahs8c9z9swl1l54/furutadataexp.mat?dl=1 % 13 14 load furutadataexp.mat 15 16 time=20.0; % Time of the identification experiment % 17 T=0.001; % Sample time % 18 l=time/T; % Number of samples to be considered % 19 t=Posicion.time(1:l); % Time vector from experimental data % 20 21 % Position signals from experimental data % 22 q1=Posicion.signals(1,2).values(1:l,1); % Pendulum position % 23 q2=Posicion.signals(1,3).values(1:l,1); % Wheel position % 24 25 % Torque constant of the DC motor model MBR3410NI % 26 KT=0.1757; 27 KI=2.0; % Volatje/current relation of the servoamplifier % © Springer International Publishing AG 2018 J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of Underactuated Mechanical Systems, Intelligent Systems, Control and Automation: Science and Engineering 88, DOI 10.1007/978-3-319-58319-8 189

Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

  • Upload
    lephuc

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix AMATLAB Codes for Parameter Identificationof the Underactuated Mechanical Systemsin Chap. 3

A.1 Identification of the Furuta Pendulum

This section contains theMATLABcode for the identification of the Furuta pendulumin Sect. 3.2. The data measured from the identification experiment of the Furutapendulum can be downloaded from https://www.dropbox.com/s/ahs8c9z9swl1l54/furutadataexp.mat?dl=1. The identification procedure is performed in the followingorder: (i) The measured position signals are filtered; (ii) The velocity estimationalgorithm for the computation of the first and second joint velocities is applied;(iii) The filtered regression model is computed; and (iv) The LS algorithm is appliedand the estimated parameters θ are obtained.

1 % Motion Control of Underactuated Mechanical Systems %2 % Parameter identification of the Furuta Pendulum %3 % Created: 12/Oct /2016 %4 % Chapter 3, Section 3.2 ...

%5

6 %% Data from the identification experiment are loaded %7 clc8 clear all9 % The file furutadataexp.mat containing the data measured from %

10 % the identification experiment of the Furuta pendulum can be %11 % downloaded from:12 % www.dropbox.com/s/ahs8c9z9swl1l54/furutadataexp.mat?dl=1 %13

14 load furutadataexp.mat15

16 time =20.0; % Time of the identification experiment %17 T=0.001; % Sample time %18 l=time/T; % Number of samples to be considered %19 t=Posicion.time (1:l); % Time vector from experimental data %20

21 % Position signals from experimental data %22 q1=Posicion.signals (1,2) .values (1:l,1); % Pendulum position %23 q2=Posicion.signals (1,3) .values (1:l,1); % Wheel position %24

25 % Torque constant of the DC motor model MBR3410NI %26 KT=0.1757;27 KI=2.0; % Volatje/current relation of the servoamplifier %

© Springer International Publishing AG 2018J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of UnderactuatedMechanical Systems, Intelligent Systems, Control and Automation: Scienceand Engineering 88, DOI 10.1007/978-3-319-58319-8

189

Page 2: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

190 Appendix A: MATLAB Codes for Parameter Identification …

28 % Applied torque of the arm u_1(t) from the experimental data %29 % The torque applied to the arm is tau(t)=KT*KI*v(t) %30 u1=Posicion.signals (1,1) .values (1:l,1)*KI*KT;31 u2=zeros(l,1); % Input signal of the pendulum %32

33

34 %% Filtering of the joint position measurements q1 and q2 to %35 % reduce the quantization error from the experimental data %36 % Filter design %37 N=30; % Filter order %38 Fc=0.07; % Normalized cutoff frequency %39 flag='scale ';40 win=nuttallwin(N+1);41 b=fir1(N,Fc ,'low',win ,flag); % Numerator coefficients %42 a=1; % Denominator coefficients of the filter %43 % Filtering of the joint position %44 qf1=filtfilt(b,a,q1); % Filtered pendulum position qf1(t) %45 qf2=filtfilt(b,a,q2); % Filtered wheel position qf2(t) %46

47 % Example: Position q_1(t) after and before the filtering %48 f1=figure (1);49 hold all; grid on;50 plot(t,q1,'Color ' ,[1 0 0],'LineWidth ',1.5);51 plot(t,qf1 ,'Color ' ,[0 0 1],'LineWidth ',1.5);52 xlabel('Time [s]','FontSize ',14,...53 'FontName ','Times New Roman ');54 ylabel('Position [rad]','FontSize ',14,...55 'FontName ','Times New Roman ');56 % Create legend57 leg = legend('$q_1$ ','$q_{f1}$','Location ',...58 'NorthEast ','Orientation ','horizontal ');59 set(leg ,'Interpreter ','latex ','FontSize ',18,...60 'FontName ','Times New Roman ');61 axis ([6.24 6.325 1.925 1.9425 ]);62

63

64 %% Procedure to compute joint velocities dot(q)_1 and dot(q)_2 %65 % using the central difference algorithm %66

67 % The first values of the velocity vectors are assigned to zero%68 dq1(1) = 0.0;69 dq2(1) = 0.0;70

71 % Central difference algorithm %72 for i=2:l-173 dq1(i) = (qf1(i+1)-qf1(i-1))/(2*T);74 dq2(i) = (qf2(i+1)-qf2(i-1))/(2*T);75 end

76 % The last values of the velocity vectors are copied from their%77 % respective penultimate values to complete vectors dimensions %78 dq1(l) = dq1(l-1);79 dq2(l) = dq2(l-1);80 dq1 = dq1 ';81 dq2 = dq2 ';82

83

84 %% Construction of the regression matrices Omega_a and Omega_b %85 r=100.0; % Constant to approximate the sign function with tanh %86

87 % Matrix Omega_a(q,dq) %88 Oa11 = dq1;89 Oa12 = (dq1.* sin(qf2)).* sin(qf2);90 Oa13 = dq2.*cos(qf2);91 Oa14 = zeros(size(qf1));92 Oa15 = zeros(size(qf1));

Page 3: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix A: MATLAB Codes for Parameter Identification … 191

93 Oa16 = zeros(size(qf1));94 Oa17 = zeros(size(qf1));95 Oa18 = zeros(size(qf1));96 Oa19 = zeros(size(qf1));97

98 Oa21 = zeros(size(qf1));99 Oa22 = zeros(size(qf1));100 Oa23 = dq1.*cos(qf2);101 Oa24 = dq2;102 Oa25 = zeros(size(qf1));103 Oa26 = zeros(size(qf1));104 Oa27 = zeros(size(qf1));105 Oa28 = zeros(size(qf1));106 Oa29 = zeros(size(qf1));107

108 % Matrix Omega_b(q,dq) %109 Ob11 = zeros(size(qf1));110 Ob12 = zeros(size(qf1));111 Ob13 = zeros(size(qf1));112 Ob14 = zeros(size(qf1));113 Ob15 = zeros(size(qf1));114 Ob16 = dq1;115 Ob17 = zeros(size(qf1));116 Ob18 = tanh(r*dq1);117 Ob19 = zeros(size(qf1));118

119 Ob21 = zeros(size(qf1));120 Ob22 = -0.5*(dq1.*dq1).*sin(2*qf2);121 Ob23 = (dq2.*dq1).*sin(qf2);122 Ob24 = zeros(size(qf1));123 Ob25 = -sin(qf2);124 Ob26 = zeros(size(qf1));125 Ob27 = dq2;126 Ob28 = zeros(size(qf1));127 Ob29 = tanh(r*dq2);128

129

130 %% Discrete filtering of the regression matrices Omega_a and %131 % Omega_b in order to compute the filtered matrices Omega_{af} %132 % and Omega_{bf} %133

134 % Filter h_D(z) design for matrix Omega_{af}(q,dq) %135 Lambda =30;136 B1 = [Lambda -Lambda ];137 A1 = [1 -exp(-Lambda*T)];138

139 % Matrix Omega_{af}(q,dq) %140 Oaf11 = filter(B1 ,A1,Oa11);141 Oaf12 = filter(B1 ,A1,Oa12);142 Oaf13 = filter(B1 ,A1,Oa13);143 Oaf14 = filter(B1 ,A1,Oa14);144 Oaf15 = filter(B1 ,A1,Oa15);145 Oaf16 = filter(B1 ,A1,Oa16);146 Oaf17 = filter(B1 ,A1,Oa17);147 Oaf18 = filter(B1 ,A1,Oa18);148 Oaf19 = filter(B1 ,A1,Oa19);149

150 Oaf21 = filter(B1 ,A1,Oa21);151 Oaf22 = filter(B1 ,A1,Oa22);152 Oaf23 = filter(B1 ,A1,Oa23);153 Oaf24 = filter(B1 ,A1,Oa24);154 Oaf25 = filter(B1 ,A1,Oa25);155 Oaf26 = filter(B1 ,A1,Oa26);156 Oaf27 = filter(B1 ,A1,Oa27);157 Oaf28 = filter(B1 ,A1,Oa28);158 Oaf29 = filter(B1 ,A1,Oa29);159

Page 4: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

192 Appendix A: MATLAB Codes for Parameter Identification …

160 % Filter f_D(z) design for matrix Omega_{bf}(q,dq) %161 B2 = [0 1-exp(-Lambda*T)];162 A2 = [1 -exp(-Lambda*T)];163

164 % Matrix Omega_{bf}(q,dq)165 Obf11 = filter(B2 ,A2,Ob11);166 Obf12 = filter(B2 ,A2,Ob12);167 Obf13 = filter(B2 ,A2,Ob13);168 Obf14 = filter(B2 ,A2,Ob14);169 Obf15 = filter(B2 ,A2,Ob15);170 Obf16 = filter(B2 ,A2,Ob16);171 Obf17 = filter(B2 ,A2,Ob17);172 Obf18 = filter(B2 ,A2,Ob18);173 Obf19 = filter(B2 ,A2,Ob19);174

175 Obf21 = filter(B2 ,A2,Ob21);176 Obf22 = filter(B2 ,A2,Ob22);177 Obf23 = filter(B2 ,A2,Ob23);178 Obf24 = filter(B2 ,A2,Ob24);179 Obf25 = filter(B2 ,A2,Ob25);180 Obf26 = filter(B2 ,A2,Ob26);181 Obf27 = filter(B2 ,A2,Ob27);182 Obf28 = filter(B2 ,A2,Ob28);183 Obf29 = filter(B2 ,A2,Ob29);

184

185 % Computation of the elements of filtered regression matrix %186 % Omega_f(kT)=Omega_{af}+ Omega_{bf}187 Of11=Oaf11+Obf11;188 Of12=Oaf12+Obf12;189 Of13=Oaf13+Obf13;190 Of14=Oaf14+Obf14;191 Of15=Oaf15+Obf15;192 Of16=Oaf16+Obf16;193 Of17=Oaf17+Obf17;194 Of18=Oaf18+Obf18;195 Of19=Oaf19+Obf19;196

197 Of21=Oaf21+Obf21;198 Of22=Oaf22+Obf22;199 Of23=Oaf23+Obf23;200 Of24=Oaf24+Obf24;201 Of25=Oaf25+Obf25;202 Of26=Oaf26+Obf26;203 Of27=Oaf27+Obf27;204 Of28=Oaf28+Obf28;205 Of29=Oaf29+Obf29;206

207 % Filtered input vector u_f(kT) obtained from filtering the %208 % input vector u(t) using the filter f_D(z) %209 uf1=filter(B2 ,A2 ,u1);210 uf2=filter(B2 ,A2 ,u2);211

212

213 %% Computation of the estimated parameters \hat{\theta} using %214 %the least squares algorithm. With this method only the final %215 %value of each parameter is obtained in a single operation %216

217 Off=[Of11 (1:l) Of12 (1:l) Of13 (1:l) Of14 (1:l) Of15 (1:l)...218 Of16 (1:l) Of17 (1:l) Of18 (1:l) Of19 (1:l);219 Of21 (1:l) Of22 (1:l) Of23 (1:l) Of24 (1:l) Of25 (1:l)...220 Of26 (1:l) Of27 (1:l) Of28 (1:l) Of29 (1:l)];221 TauF=[uf1(1:l); uf2(1:l)];222

223

224 disp('Values of the estimated parameters:');

Page 5: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix A: MATLAB Codes for Parameter Identification … 193

225 format short G226 % Least squares algorithm using pseudoinverse %227 theta_mat =(Off '*Off)^(-1)*(Off '*TauF)228

229

230 %% Computation of the estimated parameters \hat{\theta} using %231 %the least squares algorithm. With this method the time %232 %evolution of the estimated parameters is computed and plotted %233

234

235 % Construction of the filtered regression matrix Omega_f %236 % and the filtered input vector u_f %237

238 Of=zeros (2,9); % Initialization of Omega_f %239 Uf=zeros (2,1); % Initialization of u_f %240

241 for i=1:l242 Of(:,:,i)=[Of11(i) Of12(i) Of13(i) Of14(i) Of15(i)...243 Of16(i) Of17(i) Of18(i) Of19(i);244 Of21(i) Of22(i) Of23(i) Of24(i) Of25(i) Of26(i)...245 Of27(i) Of28(i) Of29(i)];246 Uf(:,:,i)=[uf1(i);uf2(i)];247 end248

249 P=zeros (9,9); % Initialization of P %250 Z=zeros (9,1); % Initialization of Z %251

252 % Least squares algorithm %253 for i=1:l254 P=P+(Of(:,:,i)')*Of(:,:,i);255 Z=Z+(Of(:,:,i)')*Uf(:,:,i);256 thetai(:,i)=P^(-1)*Z;257 end258

259 % Time evolution of the estimated parameters to be plotted %260 theta1=thetai (1,:);261 theta2=thetai (2,:);262 theta3=thetai (3,:);263 theta4=thetai (4,:);264 theta5=thetai (5,:);265 theta6=thetai (6,:);266 theta7=thetai (7,:);267 theta8=thetai (8,:);268 theta9=thetai (9,:);269

270

271 % Display of the time evolution of the estimated parameters %272 % Figure dimensions and properties %273 x0=0;y0=0; width =800; height =600;274 f2 = figure('position ',[x0 ,y0 ,width ,height],'Color ' ,[1 1 1]);275 set(f2 ,'PaperPositionMode ','auto')

276

277 % Subplot of \hat{\theta}_1 %278 f = subplot (3,3,1);279 hold all; box on; grid on280 plot(t,theta1 ,'Color ' ,[0 0 0],'LineWidth ',1.5);281 set(f,'FontName ','Times New Roman ','FontSize ' ,12);282 xlabel({'Time [s]'},'FontSize ',12,...283 'FontName ','Times New Roman ');284 ylabel('${\hat{\theta}_1}$','Interpreter ','latex ',...285 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);286 axis ([0 time 0 0.1]);287

288 % Subplot of \hat{\theta}_2 %289 f = subplot (3,3,2);

Page 6: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

194 Appendix A: MATLAB Codes for Parameter Identification …

290 hold all; box on; grid on291 plot(t,theta2 ,'Color ' ,[0 0 0],'LineWidth ',1.5);292 set(f,'FontName ','Times New Roman ','FontSize ' ,12);293 xlabel({'Time [s]'},'FontSize ',...294 12,'FontName ','Times New Roman ');295 ylabel('${\hat{\theta}_2}$','Interpreter ','latex ',...296 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);297 axis ([0 time -0.1 0.1]);298

299 % Subplot of \hat{\theta}_3 %300 f = subplot (3,3,3);301 hold all; box on; grid on302 plot(t,theta3 ,'Color ' ,[0 0 0],'LineWidth ',1.5);303 set(f,'FontName ','Times New Roman ','FontSize ' ,12);304 xlabel({'Time [s]'},'FontSize ',12,...305 'FontName ','Times New Roman ');306 ylabel('${\hat{\theta}_3}$','Interpreter ','latex ',...307 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);308 axis ([0 time -0.01 0.03]);309

310 % Subplot of \hat{\theta}_4 %311 f = subplot (3,3,4);312 hold all; box on; grid on313 plot(t,theta4 ,'Color ' ,[0 0 0],'LineWidth ',1.5);314 set(f,'FontName ','Times New Roman ','FontSize ' ,12);315 xlabel({'Time [s]'},'FontSize ',12,...316 'FontName ','Times New Roman ');317 ylabel('${\hat{\theta}_4}$','Interpreter ','latex ',...318 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);319 axis ([0 time -0.01 0.02]);320

321 % Subplot of \hat{\theta}_5 %322 f = subplot (3,3,5);323 hold all; box on; grid on324 plot(t,theta5 ,'Color ' ,[0 0 0],'LineWidth ',1.5);325 set(f,'FontName ','Times New Roman ','FontSize ' ,12);326 xlabel({'Time [s]'},'FontSize ',...327 12,'FontName ','Times New Roman ');328 ylabel('${\hat{\theta}_5}$','Interpreter ','latex ',...329 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);330 axis ([0 time -0.1 0.7]);331

332 % Subplot of \hat{\theta}_6 %333 f = subplot (3,3,6);334 hold all; box on; grid on335 plot(t,theta6 ,'Color ' ,[0 0 0],'LineWidth ',1.5);336 set(f,'FontName ','Times New Roman ','FontSize ' ,12);337 xlabel({'Time [s]'},'FontSize ',12,...338 'FontName ','Times New Roman ');339 ylabel('${\hat{\theta}_6}$','Interpreter ','latex ',...340 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);341 axis ([0 time -0.1 0.05]);342

343 % Subplot of \hat{\theta}_7 %344 f = subplot (3,3,7);345 hold all; box on; grid on346 plot(t,theta7 ,'Color ' ,[0 0 0],'LineWidth ',1.5);347 set(f,'FontName ','Times New Roman ','FontSize ' ,12);348 xlabel({'Time [s]'},'FontSize ',12,...349 'FontName ','Times New Roman ');350 ylabel('${\hat{\theta}_7}$','Interpreter ','latex ',...351 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);352 axis ([0 time -0.01 0.01]);353

354 % Subplot of \hat{\theta}_8 %355 f = subplot (3,3,8);356 hold all; box on; grid on

Page 7: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix A: MATLAB Codes for Parameter Identification … 195

357 plot(t,theta8 ,'Color ' ,[0 0 0],'LineWidth ',1.5);358 set(f,'FontName ','Times New Roman ','FontSize ' ,12);359 xlabel({'Time [s]'},'FontSize ',12,...360 'FontName ','Times New Roman ');361 ylabel('${\hat{\theta}_8}$','Interpreter ','latex ',...362 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);363 axis ([0 time -0.01 0.4]);364

365 % Subplot of \hat{\theta}_9 %366 f = subplot (3,3,9);367 hold all; box on; grid on368 plot(t,theta9 ,'Color ' ,[0 0 0],'LineWidth ',1.5);369 set(f,'FontName ','Times New Roman ','FontSize ' ,12);370 xlabel({'Time [s]'},'FontSize ',12,...371 'FontName ','Times New Roman ');372 ylabel('${\hat{\theta}_9}$','Interpreter ','latex ',...373 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);374 axis ([0 time -0.01 0.02]);375

376 % End of the code %

A.2 Identification of the Inertia Wheel Pendulum

This section contains theMATLAB code for the identification of the IWP in Sect. 3.3.The data measured from the identification experiment can be downloaded fromhttps://www.dropbox.com/s/5hco66oaik4ovw2/iwpdataexp.mat?dl=1. The identifi-cation procedure is performed in the following order: (i) The measured positionsignals are filtered; (ii) The velocity estimation algorithm for the computation ofthe first and second joint velocities is applied; (iii) The filtered regression model iscomputed; and (iv) The LS algorithm is applied and the estimated parameters θ areobtained.

1 % Motion Control of Underactuated Mechanical Systems %2 % Parameter identification of the Inertia Wheel Pendulum %3 % Created: 12/Oct /2016 %4 % Chapter 3, Section 3.3 ...

%5

6 %% Data from the identification experiment are loaded %7 clc8 clear all9

10 % The file iwpdataexp.mat containing the data measured from the%11 % identification experiment of the IWP can be downloaded from: %12 % www.dropbox.com/s/5 hco66oaik4ovw2/iwpdataexp.mat?dl=1 %13 load iwpdataexp.mat14

15 time =10.0; % Time of the identification experiment %16 T=0.001; % Sample time %17 l=time/T; % Number of samples to be considered %18 t=DataIdenExp.time (1:l); % Time vector from experimental data %19

20 % Position signals from experimental data %21 q1=DataIdenExp.signals (1,2) .values (1:l); % Pendulum position %

Page 8: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

196 Appendix A: MATLAB Codes for Parameter Identification …

22 q2=DataIdenExp.signals (1,3) .values (1:l); % Wheel position %23

24 %Torque/current constant of the 24VDC motor Leadshine DCM20202A%25 KT=0.0551;26 u1=zeros(l,1); % Input vector of the pendulum %27 % Applied torque of the wheel u_2(t) from the experimental data%28 % The torque applied to the wheel is computed as tau(t)=KT*v(t)%29 %since the servoamplifier voltage -current relation is 1A per 1V%30 u2=KT.*DataIdenExp.signals (1,1) .values (1:l);31

32

33 %% Filtering of the joint position measurements q1 and q2 to %34 % reduce the quantization error from the experimental data %35 % Filter design %36 N=30; % Filter order %37 Fc=0.07; %Normalized cutoff frequency %38 flag='scale ';39 win=nuttallwin(N+1);40 b=fir1(N,Fc ,'low',win ,flag); % Numerator coefficients %41 a=1; % Denominator coefficients of the filter %42 % Filtering of the joint position %43 qf1=filtfilt(b,a,q1); % Filtered pendulum position qf1(t) %44 qf2=filtfilt(b,a,q2); % Filtered wheel position qf2(t) %45

46

47 %% Procedure to compute joint velocities dot(q)_1 and dot(q)_2 %48 % using the central difference algorithm %49

50 % The first values of the velocity vectors are assigned to zero%51 dq1(1)=0.0;52 dq2(1)=0.0;53

54 % Central difference algorithm %55 for i=2:l-156 dq1(i)=(qf1(i+1)-qf1(i-1))/(2*T);57 dq2(i)=(qf2(i+1)-qf2(i-1))/(2*T);58 end59

60 % The last values of the velocity vectors are copied from their%61 % respective penultimate values to complete vectors dimensions %62 dq1(l)=dq1(l-1);63 dq1=dq1 ';64 dq2(l)=dq2(l-1);65 dq2=dq2 ';66

67

68 %% Construction of the regression matrices Omega_a and Omega_b %69 g=9.81; % Gravitational acceleration constant %70 r=100.0; % Constant to approximate the sign function with tanh %71

72 % Matrix Omega_a(q,dq) %73 Oa11=dq1;74 Oa12=dq2;75 Oa13=zeros(l,1);76 Oa14=zeros(l,1);77 Oa15=zeros(l,1);78 Oa16=zeros(l,1);79 Oa17=zeros(l,1);80

81 Oa21=zeros(l,1);82 Oa22=dq1+dq2;83 Oa23=zeros(l,1);84 Oa24=zeros(l,1);85 Oa25=zeros(l,1);86 Oa26=zeros(l,1);87 Oa27=zeros(l,1);88

Page 9: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix A: MATLAB Codes for Parameter Identification … 197

89 % Matrix Omega_b(q,dq) %90 Ob11=zeros(l,1);91 Ob12=zeros(l,1);92 Ob13=-g*sin(q1);93 Ob14=dq1;94 Ob15=zeros(l,1);95 Ob16=zeros(l,1);96 Ob17=zeros(l,1);97

98 Ob21=zeros(l,1);99 Ob22=zeros(l,1);100 Ob23=zeros(l,1);101 Ob24=zeros(l,1);102 Ob25=dq2;103 Ob26=0.5+0.5*tanh(r*dq2);104 Ob27=-0.5 -0.5*tanh(-r*dq2);105

106

107 %% Discrete filtering of the regression matrices Omega_a and %108 % Omega_b in order to compute the filtered matrices Omega_{af} %109 % and Omega_{bf} %110

111 % Second order filter h_D(z) design for matrix Omega_{af}(q,dq)%112 Lambda =8;113 B1=[ Lambda*Lambda -Lambda*Lambda ];114 A1=[T*((1/T)+Lambda)*((1/T)+Lambda) -2*((1/T)+Lambda) (1/T)];115

116 % Matrix Omega_{af}(q,dq) %117 Oaf11=filter(B1 ,A1 ,Oa11);118 Oaf12=filter(B1 ,A1 ,Oa12);119 Oaf13=filter(B1 ,A1 ,Oa13);120 Oaf14=filter(B1 ,A1 ,Oa14);121 Oaf15=filter(B1 ,A1 ,Oa15);122 Oaf16=filter(B1 ,A1 ,Oa16);123 Oaf17=filter(B1 ,A1 ,Oa17);124

125 Oaf21=filter(B1 ,A1 ,Oa21);126 Oaf22=filter(B1 ,A1 ,Oa22);127 Oaf23=filter(B1 ,A1 ,Oa23);128 Oaf24=filter(B1 ,A1 ,Oa24);129 Oaf25=filter(B1 ,A1 ,Oa25);130 Oaf26=filter(B1 ,A1 ,Oa26);131 Oaf27=filter(B1 ,A1 ,Oa27);

132

133 % Second order filter f_D(z) design for matrix Omega_{bf}(q,dq)%134 B2=[ Lambda*Lambda ];135 A2 =[((1/T)+Lambda)*((1/T)+Lambda) ...136 -2*((1/T)+Lambda)*(1/T) (1/(T*T))];137

138 % Matrix Omega_{bf}(q,dq)139 Obf11=filter(B2 ,A2 ,Ob11);140 Obf12=filter(B2 ,A2 ,Ob12);141 Obf13=filter(B2 ,A2 ,Ob13);142 Obf14=filter(B2 ,A2 ,Ob14);143 Obf15=filter(B2 ,A2 ,Ob15);144 Obf16=filter(B2 ,A2 ,Ob16);145 Obf17=filter(B2 ,A2 ,Ob17);146

147 Obf21=filter(B2 ,A2 ,Ob21);148 Obf22=filter(B2 ,A2 ,Ob22);149 Obf23=filter(B2 ,A2 ,Ob23);150 Obf24=filter(B2 ,A2 ,Ob24);151 Obf25=filter(B2 ,A2 ,Ob25);152 Obf26=filter(B2 ,A2 ,Ob26);

Page 10: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

198 Appendix A: MATLAB Codes for Parameter Identification …

153 Obf27=filter(B2 ,A2 ,Ob27);154

155 % Computation of the elements of filtered regression matrix %156 % Omega_f(kT)=Omega_{af}+ Omega_{bf}157 Of11=Oaf11+Obf11;158 Of12=Oaf12+Obf12;159 Of13=Oaf13+Obf13;160 Of14=Oaf14+Obf14;161 Of15=Oaf15+Obf15;162 Of16=Oaf16+Obf16;163 Of17=Oaf17+Obf17;164

165 Of21=Oaf21+Obf21;166 Of22=Oaf22+Obf22;167 Of23=Oaf23+Obf23;168 Of24=Oaf24+Obf24;169 Of25=Oaf25+Obf25;170 Of26=Oaf26+Obf26;171 Of27=Oaf27+Obf27;172

173 % Filtered input vector u_f(kT) obtained from filtering the %174 % input vector u(t) using the filter f_D(z) %175 uf1=filter(B2 ,A2 ,u1);176 uf2=filter(B2 ,A2 ,u2);177

178

179 %% Computation of the estimated parameters \hat{\theta} using %180 %the least squares algorithm. With this method only the final %181 %value of each parameter is obtained in a single operation %182

183 Off=[Of11 (1:l) Of12 (1:l) Of13 (1:l) Of14 (1:l) ...184 Of15 (1:l) Of16 (1:l) Of17 (1:l);185 Of21 (1:l) Of22 (1:l) Of23 (1:l) Of24 (1:l) ...186 Of25 (1:l) Of26 (1:l) Of27 (1:l)];187 TauF=[uf1(1:l); uf2(1:l)];188

189 disp('Values of the estimated parameters:');190 format short G191 % Least squares algorithm using pseudoinverse %192 theta_mat =(Off '*Off)^(-1)*(Off '*TauF)193

194

195 %% Computation of the estimated parameters \hat{\theta} using %196 %the least squares algorithm. With this method the time %197 %evolution of the estimated parameters is computed and plotted %198

199 % Construction of the filtered regression matrix Omega_f %200 % and the filtered input vector u_f %201

202 Of=zeros (2,7); % Initialization of Omega_f %203 Uf=zeros (2,1); % Initialization of u_f %204

205 for i=1:l206 Of(:,:,i)=[Of11(i) Of12(i) Of13(i) ...207 Of14(i) Of15(i) Of16(i) Of17(i);208 Of21(i) Of22(i) Of23(i) ...209 Of24(i) Of25(i) Of26(i) Of27(i)];210 Uf(:,:,i)=[uf1(i);uf2(i)];211 end212

213 P=zeros (7,7); % Initialization of P %214 Z=zeros (7,1); % Initialization of Z %215

216 % Least squares algorithm %217 for i=1:l218 P=P+(Of(:,:,i)')*Of(:,:,i);219 Z=Z+(Of(:,:,i)')*Uf(:,:,i);

Page 11: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix A: MATLAB Codes for Parameter Identification … 199

220 thetai(:,i)=P^(-1)*Z;221 end222

223 % Time evolution of the estimated parameters to be plotted %224 theta1=thetai (1,:);225 theta2=thetai (2,:);226 theta3=thetai (3,:);227 theta4=thetai (4,:);228 theta5=thetai (5,:);229 theta6=thetai (6,:);230 theta7=thetai (7,:);

231

232 % Display of the time evolution of the estimated parameters %233 % Figure dimensions and properties %234 x0=0;y0=0; width =800; height =600;235 f1 = figure('position ',[x0 ,y0 ,width ,height],'Color ' ,[1 1 1]);236 set(f1 ,'PaperPositionMode ','auto')237

238 % Subplot of \hat{\theta}_1 %239 f = subplot (3,3,1);240 hold all; box on; grid on241 plot(t,theta1 ,'Color ' ,[0 0 0],'LineWidth ',1.5);242 set(f,'FontName ','Times New Roman ','FontSize ' ,12);243 xlabel({'Time [s]'},'FontSize ',12,...244 'FontName ','Times New Roman ');245 ylabel('${\hat{\theta}_1}$','Interpreter ','latex ',...246 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);247 axis ([0 time -0.1 0.1]);248

249 % Subplot of \hat{\theta}_2 %250 f = subplot (3,3,2);251 hold all; box on; grid on252 plot(t,theta2 ,'Color ' ,[0 0 0],'LineWidth ',1.5);253 set(f,'FontName ','Times New Roman ','FontSize ' ,12);254 xlabel({'Time [s]'},'FontSize ',12,...255 'FontName ','Times New Roman ');256 ylabel('${\hat{\theta}_2}$','Interpreter ','latex ',...257 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);258 axis ([0 time -0.0002 0.001]);259

260 % Subplot of \hat{\theta}_3 %261 f = subplot (3,3,3);262 hold all; box on; grid on263 plot(t,theta3 ,'Color ' ,[0 0 0],'LineWidth ',1.5);264 set(f,'FontName ','Times New Roman ','FontSize ' ,12);265 xlabel({'Time [s]'},'FontSize ',12,...266 'FontName ','Times New Roman ');267 ylabel('${\hat{\theta}_3}$','Interpreter ','latex ',...268 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);269 axis ([0 time -0.2 0.4]);270

271 % Subplot of \hat{\theta}_4 %272 f = subplot (3,3,4);273 hold all; box on; grid on274 plot(t,theta4 ,'Color ' ,[0 0 0],'LineWidth ',1.5);275 set(f,'FontName ','Times New Roman ','FontSize ' ,12);276 xlabel({'Time [s]'},'FontSize ',12,...277 'FontName ','Times New Roman ');278 ylabel('${\hat{\theta}_4}$','Interpreter ','latex ',...279 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);280 axis ([0 time -0.1 0.3]);281

282 % Subplot of \hat{\theta}_5 %283 f = subplot (3,3,5);284 hold all; box on; grid on285 plot(t,theta5 ,'Color ' ,[0 0 0],'LineWidth ',1.5);

Page 12: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

200 Appendix A: MATLAB Codes for Parameter Identification …

286 set(f,'FontName ','Times New Roman ','FontSize ' ,12);287 xlabel({'Time [s]'},'FontSize ',12,...288 'FontName ','Times New Roman ');289 ylabel('${\hat{\theta}_5}$','Interpreter ','latex ',...290 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);291 axis ([0 time -2e-03 2e-03]);292

293 % Subplot of \hat{\theta}_6 %294 f = subplot (3,3,6);295 hold all; box on; grid on296 plot(t,theta6 ,'Color ' ,[0 0 0],'LineWidth ',1.5);297 set(f,'FontName ','Times New Roman ','FontSize ' ,12);298 xlabel({'Time [s]'},'FontSize ',12,...299 'FontName ','Times New Roman ');300 ylabel('${\hat{\theta}_6}$','Interpreter ','latex ',...301 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);302 axis ([0 time -0.02 0.02]);303

304 % Subplot of \hat{\theta}_7 %305 f = subplot (3,3,8);306 hold all; box on; grid on307 plot(t,theta7 ,'Color ' ,[0 0 0],'LineWidth ',1.5);308 set(f,'FontName ','Times New Roman ','FontSize ' ,12);309 xlabel({'Time [s]'},'FontSize ',12,...310 'FontName ','Times New Roman ');311 ylabel('${\hat{\theta}_7}$','Interpreter ','latex ',...312 'FontSize ',14,'FontName ','Times New Roman ','rotation ' ,0);313 axis ([0 time -0.02 0.02]);314

315 % End of the code %

Page 13: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix BConditions to Ensure that Matrix Ain Chaps. 5 and 6 is Hurwitz

This appendix is devoted to deriving the conditions for ensuring that matrix A intro-duced in both (5.22) and (6.47) for Chaps. 5 and 6, respectively, is a Hurwitz matrix.With this aim, the explicit expressions of the internal dynamics functions w1(ζ1,η)

and w2(t, ζ1,η), introduced in both (5.20) and (6.42), are given.The explicit expression of w1(ζ1,η) is given by

w1(ζ1,η) = [w11 w12 w13

]T, (B.1)

where

w11 = −�1θ4η1 + �2θ4η2 + θ4η3 − ζ1θ4

θ4 − θ3 cos(η2),

w12 = [�1η1 + �2η2 − ζ1]θ3 cos(η2) + θ4η3

θ4 − θ3 cos(η2),

w13 = −θ3

θ4sin(η2)η1η2 + θ2

2θ4sin(2η2)η

21 + θ5

θ4sin(η2) − θ7

θ4η2.

The explicit expression of w2(t, ζ1,η) is given by

w2(t, ζ1,η) =⎡

⎣00

θ3θ4cos(η2)qd1 + θ2

2θ4sin(2η2)q2

d1 − θ2θ4sin(2η2)qd1η1

⎦ , (B.2)

with η1 and η2 given byw11 andw12 in (B.1), respectively. The total internal dynamicsis given by

η = w1(ζ1,η) + w2(t, ζ1,η).

© Springer International Publishing AG 2018J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of UnderactuatedMechanical Systems, Intelligent Systems, Control and Automation: Scienceand Engineering 88, DOI 10.1007/978-3-319-58319-8

201

Page 14: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

202 Appendix B: Conditions to Ensure that Matrix A …

The explicit expression of matrix A, which is defined as

A = ∂w1(0,η)

∂η

∣∣∣η=0

, (B.3)

can be obtained from the definition of w1(ζ1,η) in (B.1) with ζ1 = 0 as follows:

A =⎡

⎣�1G10 �2G10 G10

−�1G20 −�2G20 −G10

θ−14 θ7�1G20 θ−1

4 [θ5 + θ7�2G20] θ−14 θ7G10

⎦ , (B.4)

where the Furuta pendulum parameters θi are positive constants, the parameters �1

and �2 are control gains,

G10 = −θ4

θ4 − θ3, and G20 = −θ3

θ4 − θ3.

The characteristic polynomial of matrix A is given by

P = λ3 + �2θ3 − �1θ4 − θ7

θ3 − θ4λ2 + θ5 − �1θ7

θ3 − θ4λ + �1θ5

θ3 − θ4. (B.5)

Considering that the characteristic polynomial of matrix A is a third-order system ofthe form

a3λ3 + a2λ

2 + a1λ + a0,

necessary and sufficient conditions for A to be Hurwitz are that the coefficients a0,a1, a2, and a3 be positive and a2a1 − a0a3 > 0 [208].

In order to apply the Routh–Hurwitz criterion, it is necessary to assume thatθ3 > θ4, which is satisfied for our experimental case. Hence, the conditions for A tobe Hurwitz are the following:

• From a0 > 0, we have that the control gain �1 must be positive.• From a1 > 0, we have that �1 < (θ5/θ7).• From a2 > 0, we have that

�2 > κ1 = �1θ4 + θ7

θ3(B.6)

must be satisfied.• From a2a1 − a0a3 > 0, we have

(�2θ3 − �1θ4 − θ7)(θ5 − �1θ7)

(θ3 − θ4)2− �1θ5

θ3 − θ4> 0,

Page 15: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix B: Conditions to Ensure that Matrix A … 203

and considering that θ3 > θ4, it can be written that

(�2θ3 − �1θ4 − θ7)(θ5 − �1θ7) > �1θ5(θ3 − θ4)

�2θ3θ5 − �1θ4θ5 − θ7θ5 − �1�2θ3θ7 + �21θ4θ7 + �1θ

27 > �1θ3θ5 − �1θ4θ5,

and solving for �2, we obtain

�2 >�1θ3θ5 − �1θ4θ5 + �1θ4θ5 + θ7θ5 − �2

1θ4θ7 − �1θ27

θ3θ5 − �1θ3θ7,

and finally, after some simplifications, the inequality

�2 > κ2 = �1θ4 + θ7

θ3+ �1θ5(θ3 − θ4)

θ3(θ5 − �1θ7)(B.7)

is obtained.

If all the conditions mentioned above are satisfied, then κ2 in (B.7) is greater thanκ1 in (B.6). Therefore, necessary and sufficient conditions for ensuring that all theroots of the matrix A are in the left-half of the complex plane are as follows:

θ3 > θ4, (B.8)

0 < �1 <θ5

θ7, (B.9)

�2 >�1θ4 + θ7

θ3+ �1θ5(θ3 − θ4)

θ3(θ5 − �1θ7). (B.10)

Note that the conditions (B.8)–(B.10) correspond to (5.48)–(5.50).

Page 16: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix CConvergence Proof of the Swing-up Controllerfor the IWP in Chaps. 7 and 8

In this appendix, the swing-up scheme introduced in [13, 14], which was used inChaps. 7 and 8, is reviewed. In particular, the controller is rewritten in the notationfor the system (7.2) and no change of coordinates is necessary.

The swing-up controller is obtained from the assumption that the system is notaffected by friction, which in state-space form is as follows:

d

dtq1 = q1,

d

dtq1 = g0θ3θ2 sin(q1)

|M | − θ2

|M |τ ,

d

dtq2 = q2,

d

dtq2 = −g0θ3θ2 sin(q1)

|M | + θ1

|M |τ ,

where |M | = θ1θ2 − θ22 > 0.By invoking the ideas in [13], we define the output

y = q2 ,

which is the wheel velocity whose time derivative is then given by

˙y2 = q2 ,

= −θ2θ3g0 sin(q1)

|M | + θ1

|M |τ .

The control input τ is obtained by using the collocated partial feedback lineariza-tion controller

© Springer International Publishing AG 2018J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of UnderactuatedMechanical Systems, Intelligent Systems, Control and Automation: Scienceand Engineering 88, DOI 10.1007/978-3-319-58319-8

205

Page 17: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

206 Appendix C: Convergence Proof of the Swing-up Controller …

τ = θ2

θ1θ3g0 sin(q1) + |M |

θ1u, (C.1)

which produces the following closed-loop system:

θ1q1 − θ3g0 sin(q1) = −θ2u , (C.2)

q2 = u. (C.3)

Once the collocated partial feedback linearization technique is used, a procedurefor obtaining the swing-up controller is given such as is achieved in [14]. In otherwords, we show the design of the signal u for the system given by (C.2)–(C.3). Theswing-up controller is based on passivity properties.

First, the energy of the pendulum (C.2) is given by

E = 1

2θ1q1

2 + θ3g0(cos(q1) − 1) ,

whose time derivative is expressed as

E = θ1q1q1 − θ3g0 sin(q1)q1 ,

= θ1q1

[θ3g0 sin(q1)

θ1− θ2

θ1u

]− θ3g0 sin(q1)q1 ,

= −q1θ2u.

Therefore, the pendulum is passive with input −θ2u and output y1 = q1.On the other hand, the wheel energy is given by

Er = 1

2q2

2 ,

whose time derivative is

Er = q2q2 ,

= q2u.

In this case, the wheel is passive with input u and output y2 = q2.It will be useful to define

Eo = E − Eref ,

where Eref is constant and Eo ∈ IR is the energy error.

Page 18: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Appendix C: Convergence Proof of the Swing-up Controller … 207

Now let us consider the Lyapunov function

V (q1, q1, q2) = 1

2ke Eo

2 + 1

2kvq2

2,

with strictly positive constants ke and kv .The time derivative of V is computed as follows:

V = ke Eo Eo + kvq2q2 ,

= −ke Eoq1θ2u + kvq2u ,

= − [ke Eoq1θ2 − kvq2] u.

If the input u is introduced with form

u = ke Eoq1θ2 − kvq2, (C.4)

then

V = −u2 ≤ 0.

Multiplying equation (C.4) times a gain ku , which is an additional gain to modifythe answer of the controller, we have

u = ku [ke Eoq1θ2 − kvq2] . (C.5)

Hence,

V = −kuu2 ≤ 0.

So, V = 0 for S = S1⋃

S2, where

S1 ={[

qq

]∈ IR4 : q ∈ IR2 and q = 0 ∈ IR2

},

S2 ={[

qq

]∈ IR4 : 1

2θ1q1

2 + θ3g0(cos(q1) − 1) = Eref and q2 = 0 ∈ IR2

}.

By LaSalle’s invariance principle [41], the solutions [q(t)T q(t)T ]T converge to thebiggest invariant set in S. To ensure that a solution remains in S, the following shouldbe accomplished:

u(t) = 0, ∀ t ≥ 0, (C.6)

Page 19: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

208 Appendix C: Convergence Proof of the Swing-up Controller …

which also implies

˙u(t) = 0, ∀ t ≥ 0. (C.7)

By expanding (C.7) and replacing the closed-loop equations (C.2)–(C.3), as well as(C.6), it follows that

θ2ke E0(t)θ3g0

θ1sin(q1(t)) = 0, ∀ t ≥ 0,

which is simplified to

[E(t) − Eref ] sin(q1(t)) = 0, ∀ t ≥ 0.

As pointed out in [14], this equation says that the closed-loop system trajectories willconverge to either E = Eref or sin(q1) = 0. In the first case, E = Eref , it follows, inaddition, that q2 = 0. In the second case, it follows that q1 = nπ and q1 = constant.

Page 20: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography

1. Spong, M.W. 1994. Partial feedback linearization of underactuated mechanical systems. In1994 IEEE/RSJ/GI International Conference on Intelligent Robots and Systems, vol. 1, 314–321.

2. Olfati-Saber, R. 2001. Nonlinear control of underactuated mechanical systems with applica-tion to robotics and aerospace vehicles. Ph.D thesis, Department of Electrical Engineeringand Computer, Massachusetts Institute of Technology.

3. Rudra, S., R.K. Barai, and M. Maitra. 2014. Nonlinear state feedback controller design forunderactuatedmechanical system:Amodifiedblock backstepping approach. ISA Transactions53 (2): 317–326.

4. Mehdi, N., M. Rehan, F.M. Malik, A.I. Bhatti, and M. Tufail. 2014. A novel anti-windupframework for cascade control systems: An application to underactuated mechanical systems.ISA Transactions 53 (3): 802–815.

5. Xu, L., and Q. Hu. 2013. Output-feedback stabilisation control for a class of under-actuatedmechanical systems. IET Control Theory and Applications 7 (7): 985–996.

6. Liu, Y., and H. Yu. 2013. A survey of underactuated mechanical systems. IET Control Theoryand Applications 7 (7): 921–935.

7. Chen, Y.-F., andA.-C. Huang. 2012. Controller design for a class of underactuatedmechanicalsystems. IET Control Theory and Applications 6 (1): 103–110.

8. She, J., A. Zhang, X. Lai, and M. Wu. 2012. Global stabilization of 2-DOF underactuatedmechanical systems-an equivalent-input-disturbance approach. Nonlinear Dynamics 69 (1–2): 495–509.

9. El-Hawwary, M.I., A.L. Elshafei, H.M. Emara, and H.A.A. Fattah. 2006. Adaptive fuzzycontrol of the inverted pendulum problem. IEEE Transactions on Control Systems Technology14 (6): 1135–1144.

10. Furuta, K., M. Yamakita, and S. Kobayashi. 1991. Swing up control of inverted pendulum.1991 International Conference on Industrial Electronics, Control and Instrumentation, vol.3, 2193–2198. Kobe.

11. Furuta, K., M. Yamakita, and S. Kobayashi. 1992. Swing-up control of inverted pendulumusing pseudo-state feedback. Journal of Systems and Control Engineering 206 (4): 263–269.

12. Furuta, K., M. Yamakita, and S. Kobayashi. 1992. VSS adaptive control based on nonlinearmodel for TITech pendulum. In 1992 International Conference on Industrial Electronics,Control, Instrumentation and Automation, vol. 3, 1488–1493.

13. Spong, M.W., P. Corke, and R. Lozano. 2001. Nonlinear control of the reaction wheel pen-dulum. Automatica 37 (11): 1845–1851.

© Springer International Publishing AG 2018J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of UnderactuatedMechanical Systems, Intelligent Systems, Control and Automation: Scienceand Engineering 88, DOI 10.1007/978-3-319-58319-8

209

Page 21: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

210 Bibliography

14. Spong, M.W., D.J. Block, and K.J. Åström. 2001. The mechatronics control kit for educa-tion and research. In Proceedings of the 2001 IEEE International Conference on ControlApplications, 105–110.

15. Fantoni, I., and R. Lozano. 2002. Non-linear Control for Underactuated Mechanical Systems.London: Springer.

16. Rudra, S., R.K. Barai, and M. Maitra. 2017. Block Backstepping Design of Nonlinear StateFeedback Control Law for Underactuated Mechanical Systems. Singapore: Springer.

17. Donaire, A., J.G. Romero, R. Ortega, B. Siciliano, and M. Crespo. 2016. Robust ida-pbc forunderactuated mechanical systems subject to matched disturbances. International Journal ofRobust and Nonlinear Control 1–17.

18. Ueda, R. 2016. Small implementation of decision-making policy for the height task of theacrobot. Advanced Robotics 30 (11–12): 744–757.

19. Kien, Van, Nguyen Ngoc Cao, and Son, and Ho Pham Huy Anh. 2016. A Stable LyapunovApproach of Advanced Sliding Mode Control for Swing up and Robust Balancing Implemen-tation for the Pendubot System, 411–425. Cham: Springer International Publishing.

20. Jafari, R., F.B. Mathis, R. Mukherjee, and H. Khalil. 2016. Enlarging the region of attractionof equilibria of underactuated systems using impulsive inputs. IEEE Transactions on ControlSystems Technology 24 (1): 334–340.

21. Flaßkamp, K., A.R. Ansari, and T.D. Murphey. 2016. Hybrid control for tracking of invariantmanifolds, Nonlinear Analysis: Hybrid Systems, 1–14.

22. Azeloglu, C.O., A. Sagirli, and A. Edincliler. 2016. Vibration mitigation of nonlinear cranesystemagainst earthquake excitationswith the self-tuning fuzzy logic pid controller.NonlinearDynamics 84 (4): 1915–1928.

23. Smoczek, J., and J. Szpytko. 2016. Particle swarm optimization-based multivariable general-ized predictive control for an overhead crane. IEEE/ASME Transactions on Mechatronics PP(99):1–11.

24. Wen-Jer, C., C. Po-Hsun, and K. Cheung-Chieh. 2016. Variance and passivity constrainedsliding mode fuzzy control for continuous stochastic non-linear systems. Neurocomputing201: 29–39.

25. Zhang,X.,X.Huang,H. Lu, andH. Zhang. 2016. Forwarding-based immersion and invariancecontrol for n-dimensional strict-feedback nonlinear systems. Nonlinear Dynamics 83 (1):483–496.

26. Ramírez-Neria, M., H. Sira-Ramírez, R. Garrido-Moctezuma, and A. Luviano-Juárez. 2016.On the linear control of underactuated nonlinear systems via tangent flatness and active dis-turbance rejection control: The case of the ball and beam system. ASME Journal of DynamicSystems, Measurement, and Control 138 (10): 1–5.

27. Hammadih, M.L., K.A. Hosani, and I. Boiko. 2016. Interpolating sliding mode observer fora ball and beam system. International Journal of Control 89 (9): 1879–1889.

28. Lai, X., Y. Wang, M. Wu, and W. Cao. 2016. Stable control strategy for planar three-linkunderactuated mechanical system. IEEE/ASME Transactions on Mechatronics 21 (3): 1345–1356.

29. Azad, M., and R. Featherstone. 2015. Angular momentum based balance controller for anunder-actuated planar robot. Autonomous Robots 40 (1): 93–107.

30. Huda, M.N., and Yu. Hongnian. 2015. Trajectory tracking control of an underactuated cap-subot. Autonomous Robots 39 (2): 183–198.

31. Chwa, D. 2015. Fuzzy adaptive output feedback tracking control of VTOL aircraft with uncer-tain input coupling and state-dependent disturbances. IEEE Transactions on Fuzzy Systems23 (5): 1505–1518.

32. Nguyen, K.D., and H. Dankowicz. 2015. Adaptive control of underactuated robots withunmodeled dynamics. Robotics and Autonomous Systems 64 (2015): 84–99.

33. Xu, J.-X., Z.-Q.Guo, andT.H. Lee. 2014.Design and implementation of integral sliding-modecontrol on an underactuated two-wheeled mobile robot. IEEE Transactions on IndustrialElectronics 61 (7): 1642–1650.

Page 22: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography 211

34. Wang, J.-J. 2012. Stabilization and tracking control of X-Z inverted pendulum with sliding-mode control. ISA Transactions 51 (6): 763–770.

35. Pérez-Alcocer, R., J.Moreno-Valenzuela, and R.Miranda-Colorado. 2016. A robust approachfor trajectory tracking control of a quadrotor with experimental validation. ISA Transactions65: 262–274.

36. Sun, S., S. Ionita, E. Volná, A. Gavrilov, and F. Liu. 2016. A pid and fuzzy logic basedmethod for quadrotor aircraft control motion. Journal of Intelligent and Fuzzy Systems 31 (6):2975–2983.

37. Kim, J., H. Joe, S.c. Yu, J.S. Lee, and M. Kim. 2016. Time-delay controller design for posi-tion control of autonomous underwater vehicle under disturbances. IEEE Transactions onIndustrial Electronics 63 (2): 1052–1061.

38. Petersen, C.D., F. Leve, and I. Kolmanovsky. 2016. Model predictive control of an under-actuated spacecraft with two reaction wheels. Journal of Guidance, Control, and Dynamics1–13.

39. Yoshimura, Y., T. Matsuno, and S. Hokamoto. 2016. Global trajectory design for position andattitude control of an underactuated satellite. Transactions of the Japan Society for Aeronau-tical and Space Sciences 59 (3): 107–114.

40. Sastry, S. 1999. Nonlinear Systems. New York: Springer.41. Khalil, H.K. 1996. Nonlinear Systems. Upper Saddle River: Prentice Hall.42. Krener, A.J. 1973. On the equivalence of control systems and linearization of nonlinear

systems. SIAM Journal on Control and Optimization 11: 670–676.43. Isidori, A. 1985. Nonlinear Control Systems: An Introduction. Lecture Notes in Control and

Information Sciences. Berlin: Springer.44. Slotine, J.-J.E., and W. Li. 1991. Applied Nonlinear Control. Upper Saddle River: Prentice

Hall.45. Acosta, J.A., and M. López-Martínez. 2005. Constructive feedback linearization of underac-

tuated mechanical systems with 2-DOF. In 44th IEEE Conference on Decision and Control,4909–4914.

46. Hassanzadeh, I., S.Mobayen, andA.Harifi. 2008. Input-output feedback linearization cascadecontroller using genetic algorithm for rotary inverted pendulum system. American Journal ofApplied Sciences 5 (10): 1322–1328.

47. Xin, X., and T. Yamasaki. 2012. Energy-based swing-up control for a remotely driven acrobot:Theoretical and experimental results. IEEE Transactions on Control Systems Technology 20(4): 1048–1056.

48. Sandoval, J., R. Kelly, and V. Santibáñez. 2011. Interconnection and damping assignmentpassivity-based control of a class of underactuated mechanical systems with dynamic friction.International Journal of Robust and Nonlinear Control 21 (7): 738–751.

49. Hu, G., C. Makkar, and W.E. Dixon. 2007. Energy-based nonlinear control of underactuatedEuler-Lagrange systems subject to impacts. IEEE Transactions on Automatic Control 52 (9):1742–1748.

50. Aguilar Ibáñez, C., and J.H. Sossa Azuela. 2007. Stabilization of the Furuta pendulum basedon a Lyapunov function. Nonlinear Dynamics 49 (1–2): 1–8.

51. Xin, X., and M. Kaneda. 2005. Analysis of the energy-based control for swinging up twopendulums. IEEE Transactions on Automatic Control 50 (5): 679–684.

52. Azar, A.T., and F.E. Serrano. 2015. Adaptive sliding mode control of the Furuta pendulum.Advances and Applications in Sliding Mode Control Systems Studies in Computational Intel-ligence 576: 1–42.

53. Tao, C.W., J. Taur, J.H. Chang, and Su Shun-Feng. 2010. Adaptive fuzzy switched swing-upand sliding control for the double-pendulum-and-cart system. IEEE Transactions on Systems,Man, and Cybernetics, Part B Cybernetics 40 (1): 241–252.

54. Kuo, T.C., Y.J. Huang, and B.W. Hong. 2009. Adaptive PID with sliding mode control for therotary inverted pendulum system. InProceedings of the IEEE/ASME International Conferenceon Advanced Intelligent Mechatronics, 1804–1809. Singapore.

Page 23: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

212 Bibliography

55. Yue, M., X. Wei, and Z. Li. 2014. Adaptive sliding-mode control for two-wheeled invertedpendulum vehicle based on zero-dynamics theory. Nonlinear Dynamics 76 (1): 459–471.

56. Chen, Y.F., and A.C. Huang. 2014. Adaptive control of rotary inverted pendulum system withtime-varying uncertainties. Nonlinear Dynamics 76 (1): 95–102.

57. Yang, C., Z. Li, and J. Li. 2013. Trajectory planning and optimized adaptive control for aclass of wheeled inverted pendulum vehicle models. IEEE Transactions on Cybernetics 43(1): 24–36.

58. Matsuda, N., M. Izutsu, J. Ishikawa, K. Furuta, and K.J. Åström. 2009. Swinging-up andstabilization control based on natural frequency for pendulum systems. In 2009 AmericanControl Conference, 5291–5296. MO: St. Louis.

59. Ebrahim, A., and G.V. Murphy. 2005. Adaptive backstepping controller design of an invertedpendulum. InThirty-Seventh Southeastern Symposium on System Theory (SSST’05), 172–174.

60. Lewis, F.L., S. Jagannathan, andA.Yesildirek. 1999.Neural Network Control of Robot Manip-ulators and Nonlinear Systems. Bristol, PA: Taylor & Francis Inc.

61. Haykin, S. 1999. Neural Networks: A Comprehensive Foundation. Upper Saddle River: Pren-tice Hall.

62. Armstrong, B. 1989. On finding exciting trajectories for identification experiments involvingsystems with nonlinear dynamics. International Journal of Robotics Research 8 (6): 28–48.

63. Khalil, W., and E. Dombre. 2002. Modeling, Identification and Control of Robots, 3rd ed.Bristol: Taylor & Francis.

64. Ljung, L. 1999. System Identification: Theory for the User. Englewood Cliffs: Prentice Hall.65. Sastry, S., and M. Bodson. 2011. Adaptive Control: Stability, Convergence and Robustness.

New York: Dover Publications.66. Soto, I., and R. Campa. 2015. Modelling and control of a spherical inverted pendulum on a

five-bar mechanism. International Journal of Advanced Robotic Systems 12 (95): 1–16.67. Zhang, A., X. Lai, M. Wu, and J. She. 2015. Stabilization of underactuated two-link gymnast

robot by using trajectory tracking strategy.Applied Mathematics and Computation 253 (2015):193–204.

68. Mathis, F.B., R. Jafari, and R. Mukherjee. 2014. Impulsive actuation in robot manipulators:Experimental verification of pendubot swing-up. IEEE/ASME Transactions on Mechatronics19 (4): 1469–1474.

69. Adhikary, N., and C. Mahanta. 2013. Integral backstepping sliding mode control for underac-tuated systems: Swing-up and stabilization of the cart-pendulum system.Control EngineeringPractice 52 (6): 870–880.

70. Soria-López, A., J.C. Martínez-García, and C.F. Aguilar-Ibáñez. 2013. Experimental evalua-tion of regulated non-linear under-actuatedmechanical systemsvia saturation-functions-basedbounded control: the cart-pendulum system case. IET Control Theory and Applications 7 (12):1642–1650.

71. Turker, T., H. Gorguna, and G. Cansevera. 2013. Stabilisation of a class of 2-DOF underactu-ated mechanical systems via direct Lyapunov approach. International Journal of Control 86(6): 1137–1148.

72. Sun, N., and Y. Fang. 2012. New energy analytical results for the regulation of underactuatedoverhead cranes: An end-effector motion-based approach. IEEE Transactions on IndustrialElectronics 59 (12): 4723–4734.

73. Singh, A.P., F.S. Kazi, N.M. Singh, and P. Srivastava. 2012. PIαDβ controller design forunderactuated mechanical systems. In Proceedings of the 12th International Conference onControl Automation Robotics and Vision, 1654–1658. Guangzhou.

74. Aguilar-Ibáñez, C., M.S. Suarez-Castañón, and N. Cruz-Cortés. 2012. Output feedback sta-bilization of the inverted pendulum system: A Lyapunov approach. Nonlinear Dynamics 70(4): 767–777.

75. Chang, D.E. 2012. Pseudo-energy shaping for the stabilization of a class of second-ordersystems. International Journal of Robust and Nonlinear Control 2 (18): 1999–2013.

76. Chang, D.E. 2010. Stabilizability of controlled Lagrangian systems of two degrees of freedomand one degree of under-actuation by the energy-shaping method. IEEE Transactions onAutomatic Control 15 (8): 1888–1893.

Page 24: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography 213

77. Zhang, M., and T. Tarn. 2002. Hybrid control of the Pendubot. IEEE/ASME Transactions onMechatronics 7 (1): 79–86.

78. Ortega, R., M.W. Spong, F. Gómez-Estern, and G. Blankenstein. 2002. Stabilization of aclass of underactuated mechanical systems via interconnection and damping assignment.IEEE Transactions on Automatic Control 47 (8): 1218–1233.

79. Charfeddine, M., K. Jouili, and N. Benhadj Braiek. 2013. Output tracking control of invertedcart-pendulum using input-output linearization and predictive contol. In Proceedings 14thInternational Conference on Sciences and Techniques of Automatic Control and ComputerEngineering, 84–88.

80. Liu, Y., H. Yu, S.Wan, and T. Yang. 2008. On tracking control of a pendulum-driven cart-poleunderactuated system. International Journal of Modelling, Identification and Control 4 (4):357–372.

81. Yu,H., Y. Liu, and T.Yang. 2008. Closed-loop tracking control of a pendulum-driven cart-poleunderactuated system. Journal of Systems and Control Engineering 222 (2): 109–125.

82. Mazenc, F., and S. Bowong. 2003. Tracking trajectories of the cart-pendulum system. Auto-matica 39 (4): 677–684.

83. White, W.N., J. Patenaude, M. Foss, and D. García. 2009. Direct Lyapunov approach fortracking control of underactuated mechanical systems. In Proceedings of the 2009 AmericanControl Conference, 1341–1346.

84. Berkemeier, M.D., and R.S. Fearing. 1999. Tracking fast inverted trajectories of the underac-tuated Acrobot. IEEE Transactions on Robotics and Automation 15 (4): 740–750.

85. Casanova, V., J. Alcaína, J. Salt, R. Pizá, and Á. Cuenca. 2016. Control of the rotary invertedpendulum through threshold-based communication. ISA Transactions.

86. Grof, P., and Yeung Yam. 2015. Furuta pendulum–A tensor product model-based designapproach case study. In 2015 IEEE International Conference on Systems, Man, and Cyber-netics (SMC), 2620–2625. Hong Kong: Kowloon.

87. Acosta, J.A. 2010. Furuta’s pendulum:Aconservative nonlinearmodel for theory and practice.Mathematical Problems in Engineering 1–29: 2010.

88. Nath, V., R. Singh, and K. Gupta. 2014. Natural frequency based swing up of rotary invertedpendulum and its stabilization. International Journal of Scientific Research Engineering andTechnology 3 (3): 655–658.

89. Aracil, J., J.A. Acosta, and F. Gordillo. 2013. A nonlinear hybrid controller for swinging-upand stabilizing the Furuta pendulum. Control Engineering Practice 21 (8): 989–993.

90. Seman, P., B. Rohal’-Ilkiv, M. Juh’as, and M. Salaj. 2013. Swinging up the Furuta pendulumand its stabilization via model predictive control. Journal of Electrical Engineering 64 (3):152–158.

91. Ordaz, P., and A. Poznyak. 2012. The Furuta’s pendulum stabilization without the use of amathematical model: Attractive ellipsoid method with KL-adaptation. In Proceedings of the51st IEEE Conference on Decision and Control, 7285–7290.

92. Izutsu, M., Y. Pan, and K. Furuta. 2011. Swing-up of Furuta pendulum by nonlinear slidingmode control. SICE Journal of Control, Measurement, and System Integration 1 (1): 12–17.

93. Aguilar-Ibáñez, C.,M.S. Suárez-Castañón, andO.Gutiérres-Frias. 2010. The direct Lyapunovmethod for the stabilisation of the Furuta pendulum. International Journal of Control 83 (11):2285–2293.

94. Pujol, G., and L. Acho. 2010. Stabilization of the Furuta pendulum with backlash usingH∞-LMI technique: Experimental validation. Asian Journal of Control 12 (4): 460–467.

95. Park,M.-S., andD.Chwa. 2009. Swing-up and stabilization control of inverted-pendulum sys-tems via coupled sliding-mode control method. IEEE Transactions on Industrial Electronics56 (1): 3541–3555.

96. LaHera, P.X., L.B. Freidovich,A.S. Shiriaev, andU.Mettin. 2009.Newapproach for swingingup the Furuta pendulum: Theory and experiments. Mechatronics 19 (8): 1240–1250.

97. Gordillo, F., J.A. Acosta, and J. Aracil. 2003. A new swing-up law for the Furuta pendulum.International Journal of Control 76 (8): 836–844.

Page 25: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

214 Bibliography

98. Ramírez-Neria, M., H. Sira-Ramírez, R. Garrido-Moctezuma, and A. Luviano-Juárez. 2014.Linear active disturbance rejection control of underactuated systems: The case of the Furutapendulum. ISA Transactions 53 (4): 920–928.

99. Aguilar-Ibáñez, C., and H. Sira-Ramírez. 2007. A linear differential flatness approach tocontrolling the Furuta pendulum. IMA Journal of Mathematical. Control and Information 24(1):31–35.

100. Yan, Q. 2003. Output tracking of underactuated rotary inverted pendulum by nonlinear con-troller. In 42nd IEEE Confernce on Decision and Control, vol. 3, 2395–2400.

101. Aguilar-Avelar, C., and J. Moreno-Valenzuela. 2016. New feedback linearization-based con-trol for arm trajectory tracking of the furuta pendulum. IEEE/ASME Transactions on Mecha-tronics 21 (2): 638–648.

102. Moreno-Valenzuela, J., C. Aguilar-Avelar, S.A. Puga-Guzmán, and V. Santibáñez. 2016.Adaptive neural network control for the trajectory tracking of the furuta pendulum. IEEETransactions on Cybernetics 46 (12): 3439–3452.

103. Chou, M.C., and C.M. Liaw. 2014. Pmsm-driven satellite reaction wheel system withadjustable dc-link voltage. IEEE Transactions on Aerospace and Electronic Systems 50 (2):1359–1373.

104. Chou, M.C., and C.M. Liaw. 2011. Dynamic control and diagnostic friction estimation for anspmsm-driven satellite reaction wheel. IEEE Transactions on Industrial Electronics 58 (10):4693–4707.

105. Lee, J., S. Han, and J. Lee. 2013. Decoupled dynamic control for pitch and roll axes of theunicycle robot. IEEE Transactions on Industrial Electronics 60 (9): 3814–3822.

106. Kim, H.W., J.W. An, H.D. Yoo, and J.M. Lee. 2013. Balancing control of bicycle robot usingpid control. 13th International Conference on Control, Automation and Systems, 145–147.South Korea: Gwangju.

107. Han, I.W., J.W. An, and J.M. Lee. 2013. Balancing control of unicycle robot. Advances inIntelligent Systems and Computing 193: 663–670.

108. Miková, L., and M. Curilla. 2013. Possibility of the kinematics arrangement of a mobilemechatronic system. American Journal of Mechanical Engineering, 1 (7): 390–393.

109. Biswas, J., andB. Seth. 2008. Dynamic stabilization of a reaction-wheel actuatedwheel-robot.International Journal of Factory Automation, Robotics and Soft Computing 4: 96–101.

110. Sanyal, A.K., and A. Goswami. 2013. Dynamics and balance control of the reaction masspendulum: A three-dimensional multibody pendulum with variable body inertia. Journal ofDynamic Systems, Measurement, and Control 136 (2): 1–10.

111. Hsiao, C.C., C.E. Tsai, J.Y. Tu, and Y.K. Ting. 2015. Development of a three-dimensional-flywheel robotic system. International Journal of Mechanical, Aerospace, Industrial, Mecha-tronic and Manufacturing Engineering 9 (4): 544–549.

112. Mayr, J., F. Spanlang, and H. Gattringer. 2015. Mechatronic design of a self-balancing three-dimensional inertia wheel pendulum. Mechatronics 20: 1–10.

113. Larimi, S.R., P. Zarafshan, and S.A.A. Moosavian. 2014. Stabilization algorithm for a two-wheeled mobile robot aided by reaction wheel. Journal of Dynamic Systems, Measurement,and Control 137 (1): 1–8.

114. Owczarkowski, A., M. Lis, and P. Kozierski. 2014. Tracking control of an inertial wheelpendulum by LQR regulation. In Proceedings 19th International Conference on Methods andModels in Automation and Robotics, 384–388.

115. Rudra, S., R.K. Barai, M. Maitra, D. Mandal, S. Ghosh, S. Dam, P. Bhattacharya, andA.Dutta. 2013.Global stabilization of a flat underactuated inertiawheel:Ablock backsteppingapproach. In 2013 International Conference on Computer Communication and Informatics(ICCCI), 1–4. India: Coimbatore.

116. Khalid, N., and A.Y. Memon. 2014. Output feedback stabilization of an inertia wheel pendu-lum using slidingmode control. InProceedings of the 2014 UKACC International Conferenceon Control, 157–162.

117. Moreno-Valenzuela, J., C. Aguilar-Avelar, S. Puga-Guzmán, and V. Santibáñez. 2017. Twoadaptive control strategies for trajectory tracking of the inertia wheel pendulum: Neural net-works vis à vis model regressor. Intelligent Automation and Soft Computing 23 (1): 63–73.

Page 26: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography 215

118. Olivares, M., and P. Albertos. 2014. Linear control of the flywheel inverted pendulum. ISATransactions 53 (7): 1396–1403.

119. Srinivas, K.N., and L. Behera. 2008. Swing-up control strategies for a reaction wheel pendu-lum. International Journal of Systems Science 39 (12): 1165–1177.

120. Zhang, A., C. Yang, S. Gong, and J. Qiu. 2016. Nonlinear stabilizing control of underactu-ated inertia wheel pendulum based on coordinate transformation and time-reverse strategy.Nonlinear Dynamics 1–10.

121. Hernández, V.M. 2003. A combined sliding mode generalized PI control scheme for swingingup and balancing the inertia wheel pendulum. Asian Journal of Control 5 (4): 620–625.

122. Jepsen, F., A. Sborg, A.R. Pedersen, and Z. Yang. 2009. Development and control of aninverted pendulum driven by a reaction wheel. In International Conference Mechatronics andAutomation, 2829–2834. ICMA China: Changchun.

123. Kadam, S.N., and B. Seth. 2011. LQR controller of one wheel robot stabilized by reactionwheel principle. In 2nd International Conference on Instrumentation Control and Automation(ICA), 299–303. Bandung, Indonesia.

124. Aguilar-Ibáñez, C., O. Guitiérrez-Frias, and M. Suárez-Castañón. 2009. Controlling thestrongly damped inertia wheel pendulum via nested saturation functions. Computación ySistemas 12 (4): 436–449.

125. Aguilar-Ibáñez, C., O. Guitiérrez-Frias, and M. Suárez-Castañón. 2008. Stabilization of thestrongly damping inertia wheel pendulum by a nested saturation functions. In 2008 AmericanControl Conference, 3434–3439. Seattle: WA.

126. Ye, H., H. Wang, and H. Wang. 2007. Stabilization of a pvtol aircraft and an inertia wheelpendulum using saturation technique. IEEE Transactions on Control Systems Technology15 (6): 1143–1150.

127. Santibáñez, V., R. Kelly, and J. Sandoval. 2005. Control of the inertia wheel pendulum bybounded torques. In 44th IEEE Conference on Decision and Control and 2005 EuropeanControl Conference, CDC-ECC’05, 8266–8270. Spain: Seville.

128. Andary, S., A. Chemori, and S. Krut. 2009. Control of the underactuated inertia wheel invertedpendulum for stable limit cycle generation. Advanced Robotics 23 (15): 1999–2014.

129. Andary, S., A. Chemori, M. Benoit, and J. Sallantin. 2012. A dual model-free control ofunderactuated mechanical systems, application to the inertia wheel inverted pendulum. 2012American Control Conference, 1029–1034. Montreal: Canada.

130. Iriarte, R., L.T. Aguilar, and L. Fridman. 2013. Second order sliding mode tracking controllerfor inertia wheel pendulum. Journal of the Franklin Institute 350 (1): 92–106.

131. Huber, J., C. Gruber, and M. Hofbaur. 2013. Online trajectory optimization for nonlinearsystems by the concept of a model control loop - applied to the reaction wheel pendulum. InIEEE International Conference on Control Applications (CCA), 935–940. Hyderabad: India.

132. Ryalat, M., D.S. Laila, andM.M. Torbati. 2015. Integral ida-pbc and pid-like control for port-controlled hamiltonian systems. In 2015 American Control Conference, 5365–5370. Chicago,IL.

133. Aguilar-Avelar, C., and J. Moreno-Valenzuela. 2015. A composite controller for trajectorytracking applied to the Furuta pendulum. ISA Transactions 57 (2015): 286–294.

134. Khalil, H.K. 2002. Nonlinear Systems, 2nd ed. Upper Saddler River: Prentice Hall.135. Gautier, M., and Ph Poignet. 2001. Extended kalman filtering and weighted least squares

dynamic identification of robot. Control Engineering Practice 9 (12): 1361–1372.136. Logothetis, P., and J. Kieffer. 1996. On the identification of the robot dynamics without

acceleration measurements. Internal report, Faculty of Engineering and Information Technol-ogy, Australian National University. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8716.

137. Cazzolato, B.S., and Z. Prime. 2011. On the dynamics of the Furuta pendulum. Journal ofControl Science and Engineering 1–8: 2011.

138. Sciavicco, L., and B. Siciliano. 2000. Modelling and Control of Robots Manipulator. London:Springer.

Page 27: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

216 Bibliography

139. Reyes, F., and R. Kelly. 1997. Experimental evaluation of identification schemes on a directdrive robot. Robotica 15 (3): 563–571.

140. Chan, S., andH.Chen. 1999.An efficient algorithm for identification of scara robot parametersincluding drive characteristics. In 25th Annual Conference of the IEEE Industrial ElectronicsSociety, vol. 2, 1014–1019. San Jose, CA.

141. Iagnemma, G.L., S. Dubowsky, and G. Morel. 1998. A base force/torque sensor approachto robot manipulators inertial parameter estimation. In IEEE International Conference onRobotics and Automation, 3316–3321. Leuven: Belgium.

142. Orozco-Manriquez. E.A. 2009. Modelado, identificación y control de un robot manipuladorde dos grados de libertad. Master’s thesis, CITEDI-IPN.

143. Dorf, R.C., and R.H. Bishop. 2008. Modern Control Systems. Upper Saddle River: PearsonEducation.

144. Mitra, S.K. 2001. Digital Signal Processing: A Computer-Based Approach. New York:McGraw-Hill Higher Education.

145. Moreno-Valenzuela, J., R. Miranda-Colorado, and C. Aguilar-Avelar. 2017. A MATLAB-based identification procedure applied to a two degrees-of-freedom robot manipulator forengineering students. International Journal of Electrical Engineering Education 00 (00):1–22.

146. Wei, Enping, Tieshan Li, Junfang Li, Hu Yancai, and Qiang Li. 2014. Neural Network-BasedAdaptive Dynamic Surface Control for Inverted Pendulum System, 695–704. Berlin: Springer.

147. Moreno-Valenzuela, J. 2004. Design of output feedback tracking controllers for Euler-Lagrange systems by using a Lyapunov function-based procedure. In Proceedings of the43rd IEEE Conference on Decision and Control, 4051–4056.

148. de Queiroz, M.S., D.M. Dawson, S.P. Nagarkatti, and F. Zhang. 2000. Lyapunov-Based Con-trol of Mechanical Systems. Boston: Birkhäuser.

149. Gilbert, G.T. 1991. Positive definite matrices and Sylvester’s criterion. The American Math-ematical Monthly 98: 44–46.

150. Kelly, R., V. Santibáñez, and A. Loría. 2005. Control of Robot Manipulators in Joint Space.London: Springer.

151. Video 1: Slow trajectory. https://youtu.be/pdXGf2kfEfU. Accessed 04 March 2016.152. Video 2: Fast trajectory. https://youtu.be/yUKxUthV3po. Accessed 04 March 2016.153. Chen, M., and S.S. Ge. 2013. Direct adaptive neural control for a class of uncertain nonaffine

nonlinear systems based on disturbance observer. IEEE Transactions on Cybernetics 43 (4):1213–1225.

154. Xu, B., Z. Shi, C. Yang, and F. Sun. 2014. Composite neural dynamic surface control of a classof uncertain nonlinear systems in strict-feedback form. IEEE Transactions on Cybernetics 44(12): 2626–2634.

155. Lu, C.-H., C.-C. Tai, T.-C. Chen, andW.-C. Wang. 2015. Fuzzy neural network speed estima-tion method for induction motor speed sensorless control. International Journal of InnovativeComputing, Information and Control 11 (2): 433–446.

156. Xu, C.,M. Liao, andQ. Zhang. 2015. On themean square exponential stability for a stochasticfuzzy cellular neural network with distributed delays and time-varying delays. InternationalJournal of Innovative Computing, Information and Control 11 (1): 247–256.

157. Shi, P., Y. Zhang, M. Chadli, and R.K. Agarwal. 2016. Mixed h-infinity and passive filteringfor discrete fuzzy neural networks with stochastic jumps and time delays. IEEE Transactionson Neural Networks and Learning Systems 27 (4): 903–909.

158. Nelson, J., andL.G.Kraft. 1994. Real-time control of an inverted pendulum systemusing com-plementary neural network and optimal techniques. In Proceedings of the American ControlConference, vol. 3, 2553–2554. Baltimore: Maryland.

159. Sazonov,E.S., P.Klinkhachorn, andR.L.Klein. 2003.Hybrid lqg-neural controller for invertedpendulum system. In Proceedings of the 35th Southeastern Symposium on System Theory,206–210. Morgantown: WV.

160. Cong, S., and Y. Liang. 2009. Pid-like neural network nonlinear adaptive control for uncertainmultivariable motion control systems. IEEE Transactions on Industrial Electronics 56 (10):3872–3879.

Page 28: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography 217

161. Chang, Y.H., and W.S. Chan. 2014. Adaptive dynamic surface control for uncertain nonlin-ear systems with interval type-2 fuzzy neural networks. IEEE Transactions on Cybernetics44 (2): 293–304.

162. Sprangers, O., R. Babuska, S.P. Nageshrao, and G. Lopes. 2015. Reinforcement learning forport-hamiltonian systems. IEEE Transactions on Cybernetics 45 (5): 1003–1013.

163. Jung, S., andH.T.Cho. 2004.Decoupled neural network reference compensation technique fora pd controlled two degrees-of-freedom inverted pendulum. International Journal of Control,Automation and Systems 2 (1): 2004.

164. Noh, J.S., G.H. Lee, and S. Jung. 2008. Position control of a mobile inverted pendulumsystem using radial basis function network. In IEEE International Joint Conference on NeuralNetworks, 370–376.

165. Li, J., X. Guo, Z. Li, andW. Chen. 2014. Stochastic adaptive optimal control of under-actuatedrobots using neural networks. Neurocomputing 190–200: 2014.

166. Yang, C., Z. Li, R. Cui, and B. Xu. 2014. Neural network-based motion control of under-actuated wheeled inverted pendulum models. IEEE Transactions on Neural Networks andLearning Systems 25 (11): 2004–2016.

167. Hsu, C.-F. 2014. Adaptive backstepping elman-based neural control for unknown nonlinearsystems. Neurocomputing 136 (1): 170–179.

168. Hsu, C.-F., C.-M. Lin, and R.-G. Yeh. 2013. Supervisory adaptive dynamic rbf-basedneural-fuzzy control system design for unknown nonlinear systems. Applied Soft Computing13 (2013): 1620–1626.

169. Ping, Z. 2013. Tracking problems of a spherical inverted pendulum via neural networkenhanced design. Neurocomputing 106 (2013): 137–147.

170. Jung, S., and S.S. Kim. 2008. Control experiment of a wheel-drivenmobile inverted pendulumusing neural network. IEEE Transanctions on Control Systems Technology 16 (2): 297–303.

171. Jung, S., H.-T. Cho, and T.C. Hsia. 2007. Neural network control for position tracking ofa two-axis inverted pendulum system: Experimental studies. IEEE Transactions on NeuralNetworks 18 (4): 1042–1048.

172. Chaoui, H., and P. Sicard. 2011. Motion and balance neural control of inverted pendulumswith nonlinear friction and disturbance. In Proceedings of the 24th Canadian Conference onElectrical and Computer Engineering (CCECE), 1222–1227. Niagara Falls: ON.

173. Ramirez-Neria, M., H. Sira-Ramirez, R. Garrido-Moctezuma, and A. Luviano-Juarez. 2014.On the linear active disturbance rejection control of the inertia wheel pendulum. In Proceed-ings of the American Control Conference, 3398–3403.

174. Zhu, Y., Y. Gao, C. Xu, J. Zhao, H. Jin, and J. Lee. 2015. Adaptive control of a gyroscopi-cally stabilized pendulum and its application to a single-wheel pendulum robot. IEEE/ASMETransactions on Mechatronics 20 (5): 2095–2106.

175. Burkov, I.V. 2015. Asymptotic stabilization of the desired uniform rotation by linear andnonlinear feedback. In 2015 International Conference “Stability and Control Processes” inMemory of V.I. Zubov (SCP), 88–90. Russia, Saint-Petersburg.

176. Sun, N., Y. Fang, andH. Chen. 2015. A novel slidingmode control method for an inertia wheelpendulum system. In Proceedings of the 2015 International Workshop on Recent Advancesin Sliding Modes (RASM), 1–6.

177. Nguyen, T.S., and T.H. Huynh. 2016. Study on a two-loop control architecture to balance aninertia wheel pendulum. In 3rd National Foundation for Science and Technology DevelopmentConference on Information and Computer Science (NICS), 29–33, Danang City, Vietnam.

178. Ryalat, M., and D.S. Laila. 2016. A simplified ida-pbc design for underactuated mechanicalsystems with applications. European Journal of Control, 27 (January 2016):1–16.

179. Khalid, N., and A.Y. Memon. 2016. Output feedback control of a class of under-actuatednonlinear systems using extended high gain observer. Arabian Journal for Science and Engi-neering 1–12.

180. Owczarkowski, A., P. Kozierski, and M. Lis. 2015. Mathematical modeling of the bicyclerobot with the reaction wheel. Journal of Automation Mobile Robotics and Intelligent Systems9 (3): 3–8.

Page 29: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

218 Bibliography

181. Chaurais, J.R., H.C. Ferreira, J.Y. Ishihara, and R.A. Borges. 2015. Attitude control of anunderactuated satellite using two reaction wheels. Journal of Guidance, Control, and Dynam-ics 38 (10): 2010–2018.

182. Andrievsky, B.R. 2011. Global stabilization of the unstable reaction-wheel pendulum.Automation and Remote Control 72 (9): 1981–1993.

183. Moreno-Valenzuela, J., C. Aguilar-Avelar, and S. Puga-Guzmán. 2014. On trajectory trackingcontrol of the inertia wheel pendulum. In Proceedings of the International Conference onControl, Decision and Information Technologies, 572–577.

184. Freidovich, L.B., P. La Hera, U. Mettin, A. Robertsson, A.S. Shiriaev, and R. Johansson.2009. Shaping stable periodic motions of inertia wheel pendulum: theory and experiment.Asian Journal of Control 11 (5): 548–556.

185. Xu, Z., H. Xianlin, and L. Hongqian. 2015. Finite-time attractivity of manifold based immer-sion and invariance control for inertia-wheel pendulum system. In Proceedings of the 34thChinese Control Conference, 494–499.

186. Ye, H., G.P. Liu, C. Yang, and W. Gui. 2008. Stabilisation designs for the inertia wheelpendulum using saturation techniques. International Journal of Systems Science 39 (12):1203–1214.

187. Olfati-Saber, R. 2001. Global stabilization of a flat underactuated system: The inertia wheelpendulum. InProceedings of the 40th IEEE Conference on Decision and Control, 3764–3765.

188. Alonso, D.M., E.E. Paolini, and J.L. Moiola. 2005. Global bifurcation analysis of a controlledunderactuated mechanical system. Nonlinear Dynamics 40 (3): 205–225.

189. Jung, S., and S.S. Kim. 2007. Hardware implementation of a real-time neural network con-troller with a DSP and an FPGA for nonlinear systems. IEEE Transactions on IndustrialElectronics 54 (1): 265–271.

190. Lee, S.-H., and A. Goswami. 2007. Reaction mass pendulum (RMP): An explicit model forcentroidal angular momentum of humanoid robots. In Proceedings of the IEEE InternationalConference on Robotics and Automation, 4667–4672.

191. Goswami, A. 2008. Kinematic and dynamic analogies between planar biped robots and thereaction mass pendulum (RMP) model. In Proceedings of the 8th IEEE-RAS InternationalConference on Humanoid Robots, 182–188.

192. Tissera,M.S.C., J.W.Chia,K.S.Low, andY.T.Xing. 2016.Anovel simulator formeasuring theperformance of nanosatellite’s attitude control system. In 2016 IEEE Aerospace Conference,1–7.

193. Isidori, A. 1995. Nonlinear Control Systems, 3rd ed. New York: Springer.194. Ismail, Z., and R. Varatharajoo. 2015. A study of reaction wheel configurations for a 3-axis

satellite attitude control. Advances in Space Research 45 (6): 750–759.195. Zhang, Y., and J. Wang. 2001. Recurrent neural networks for nonlinear output regulation.

Automatica 37 (8): 1161–1173.196. Matsui, N., H. Nishimura, and F. Peper. 2005. An examination of qubit neural network in

controlling an inverted pendulum. Neural Processing Letters 22 (3): 277–290.197. Beigi, H.S. 1997. New adaptive and learning-adaptive control techniques based on an exten-

sion of the generalized secant method. Intelligent Automation and Soft Computing 3 (2):171–184.

198. Jang, J.O., H.T. Chung, and G.J. Jeon. 2007. Neuro-fuzzy controller for a xy positioning table.Intelligent Automation and Soft Computing 13 (2): 153–169.

199. Wang, Y., W. Sun, Y. Xiang, and S. Miao. 2009. Neural network-based robust tracking controlfor robots. Intelligent Automation and Soft Computing 15 (2): 211–222.

200. Kwakernaak, H., and R. Sivan. 1972. Linear Optimal Control Systems. New York: Wiley-interscience.

201. Wang, W., J. Yi, D. Zhao, and D. Liu. 2004. Design of a stable sliding-mode controllerfor a class of second-order underactuated systems. IEE Proceedings-Control Theory andApplications 151 (6): 683–690.

202. Xu, R., and U. Ozg uner. 2008. Sliding mode control of a class of underactuated systems.Automatica, 44 (1): 233–241.

Page 30: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Bibliography 219

203. Lai, X.Z., Y.W. Wang, J.Q. Cao, and M. Wu. 2016. A simple and quick control strategy for aclass of first-order nonholonomic manipulator. Nonlinear Dynamics, XX (XX):1–16.

204. Ortega, R., J.A.L. Perez, P.J. Nicklasson, and H. Sira-Ramirez. 2013. Passivity-based con-trol of Euler-Lagrange systems: Mechanical, electrical and electromechanical applications.Berlin: Springer Science & Business Media.

205. Ott, C., A. Albu-Schaffer, A. Kugi, and G. Hirzinger. 2008. On the passivity-based impedancecontrol of flexible joint robots. IEEE Transactions on Robotics 24 (2): 416–429.

206. Tian, L., and A.A. Goldenberg. 1995. Robust adaptive control of flexible joint robots withjoint torque feedback. 1995 IEEE International Conference on Robotics and Automation, vol.1, 1229–1234. Nagoya, Japan.

207. Canudas de Wit, C. 1996. Theory of robot control. London: Springer.208. Kelly Martínez, R.J., and J. Moreno-Valenzuela. 2001. Learning PID structures in an intro-

ductory course of automatic control. IEEE Transactions on Education 44 (4): 373–376.

Page 31: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Index

AAbsolute value, 13Acrobot, 1, 2Adaptation law, 98, 170Adaptive control, 6, 159, 167Additive Gaussian noise, 114Aircraft, 1

BBackpropagation, 109, 110Backstepping, 5Ball and beam system, 1, 3Barbalat’s lemma, 18, 169, 170Boundedness, 18Butterworth filter, 35

CCart-pole system, 1, 2Characteristic polynomial, 202Composite control, 51, 119Control problem, 53, 72, 96, 122, 145, 163Convey-crane system, 2

DDAQ, 33, 44DC motor, 30, 33, 39, 41, 44Decoupling control, 22Decoupling matrix, 22Degrees of freedom, 1Determinant, 13Discrete derivative algorithm, 28

Discretization, 32, 43Disturbance rejection, 110, 113Dynamics

closed-loop, 14error, 71, 96, 144, 151external, 5, 74, 101, 103, 104, 147, 179Internal, 201internal, 5, 55, 74, 101, 146, 152, 164,179

open-loop, 14output, 55, 98, 145, 164, 178zero, 5, 164

EEigenvalue, 13Energy function, 5, 56Energy-based control, 6Equilibrium, 14Euler-Lagrange, 28, 52Experimental platform, 7, 33, 44

FFeedback linearization, 5, 6, 19, 54, 72, 96,

145, 163Collocated partial, 205

Filter Design and Analysis Tool, 35, 45Filtered regression model, 30, 42Finite escape time, 5Flat system, 2Flexible joint robot, 182

model, 182Flexible link robots, 1

© Springer International Publishing AG 2018J. Moreno-Valenzuela and C. Aguilar-Avelar, Motion Control of UnderactuatedMechanical Systems, Intelligent Systems, Control and Automation: Scienceand Engineering 88, DOI 10.1007/978-3-319-58319-8

221

Page 32: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

222 Index

Frictioncoulomb, 29, 41viscous, 29, 41

Furuta pendulum, 2, 8, 189dynamic model, 28, 52, 70, 94

HHelicopter, 1Homogeneity, 3Hurwitz matrix, 15, 77, 80, 105, 148, 180,

201

IIdentity matrix, 13Induced norm, 13Inertia wheel pendulum, 1, 2, 8

dynamic model, 121, 143, 160Integral of absolute error, 89Integral of squared error, 89

JJacobian, 98, 148

LLaSalle’s invariance principle, 207Layer

hidden, 23input, 23outout, 23

Least squares, 6, 27, 36, 46, 189, 195Lie derivative, 20Limit cycles, 5Linear quadratic regulator, 121, 131Linear regression model, 7, 28Linearity in the parameters, 7, 30Linearization, 3

full-state, 20input-output, 20input-state, 20

Lipschitzcondition, 15constant, 15, 76, 102function, 15, 76, 103

Low-pass filter, 31second-order, 42

Lyapunov, 5direct method, 16equation, 77, 105, 186function, 17, 56, 149, 207

MMATLAB, 28, 33, 37, 189, 195Mean absolute value, 85Mean Value Theorem, 15, 75, 76, 102, 103,

148Motion control, 7, 28, 34, 45, 142Multi-input–multi-output, 21

NNegative definite, 5Neural networks, 160

adaptive, 6, 93artifitial, 22control, 97, 166two-layer, 23

Normal form, 99Null matrix, 13

OOutput design, 178, 181Output function, 54, 162Output tracking controller, 61, 81

PParameter identification, 6, 27, 189, 195Parameter vector, 30, 42Passivity, 206Passivity-based control, 5PD controller, 45Pendubot, 1, 2Perceptron, 22

two-layer, 23PID controller, 80, 108, 171Positive definite, 5, 13, 17

function, 60, 104, 105, 169, 170matrix, 107, 149

RReal-Time Windows Target, 33, 44Regression matrix, 30, 42Relative degree, 20, 22, 72, 145, 146, 151Root mean square, 66, 86, 113, 136, 173Rotary inverted pendulum, 1Routh–Hurwitz criterion, 152, 202

SSatellite, 1, 3Simulink, 33Single-input–single-output, 19Sliding mode control, 5

Page 33: Appendix A MATLAB Codes for Parameter Identification of …978-3-319-58319-8/1.pdf · 127 Ob29 = tanh(r*dq2); 128 129 130 %% Discrete filtering of the regression matricesOmega_a

Index 223

Spacecraft, 1, 3Stability, 15, 17

asymptotic, 16, 17exponential, 16, 17global, 16local, 16lyapunov, 16

Stabilization, 7State feedback control, 150State space

form, 53, 71, 95, 121, 144, 161realization, 31

State-space, 13form, 205

Superposition, 3Surface vessel, 1Swing-up, 7, 205

control, 132Sylvester’s criterion, 56Symetric matrix, 13System

autonomous, 14non-autonomous, 14time-invariant, 14time-varying, 14underactuated, 1unforced, 14

TTaylor series, 97Trajectory, 14

desired, 7, 45, 54, 63, 72, 82, 96, 111,114, 122, 134, 145, 155, 163, 171

planning, 7tracking, 6, 7

Translational oscillator with rotational actu-ator, 1, 2

UUltimate bound, 78Underactuated systems, 1, 2Underwater vehicle, 1, 3Uniformly bounded, 18Uniformly ultimately bounded, 18, 79, 108,

150Universal approximation property, 6, 24, 165Unstable, 16

VVector norm, 13Vertical takeoff and landing, 1, 3