0001
0002
0003
0004
0005 function sys = ssm_model_delay(sys)
0006
0007
0008 sys.paramnames ={'Tau'};
0009 sys.paramvalues = [0];
0010 sys.paramsigmas = [0.05];
0011
0012
0013 for i_params=1:length(sys.paramnames)
0014 cmd = [sys.paramnames{i_params}, '=sym(''', sys.paramnames{i_params},''');'];
0015 eval(cmd);
0016 end
0017
0018
0019
0020 Ts = 0.1;
0021 Tt = 0.3;
0022
0023 A1 = [...
0024 0 1 0 0 0 ;...
0025 0 0 1 0 0 ; ...
0026 0 0 0 1 0 ; ...
0027 0 0 0 0 1 ; ...
0028 0 0 0 0 0];
0029 B1 = [0; 0; 0; 0; 1];
0030 C1 = [Tau 1-Tau 0 0 0];
0031 D1 = 0;
0032 A = blkdiag(A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1,A1);
0033 B = blkdiag(B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1,B1);
0034 C = blkdiag(C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1,C1);
0035 D = blkdiag(D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1,D1);
0036
0037
0038
0039 sys.name = 'Delay';
0040
0041 sys.amats = {A};
0042 sys.bmats = {B};
0043 sys.cmats = {C};
0044 sys.dmats = {D};
0045 sys.timestep = 0.1;
0046
0047 sys.ssnames = {'Delay'};
0048
0049 sys.inputnames = {'DFACS_command' };
0050 sys.inputvarnames = {'fx_mps_c' 'fy_mps_c' 'fz_mps_c' 'tx_mps_c' 'ty_mps_c' 'tz_mps_c' ...
0051 'fx1_TMAct_c' 'fy1_TMAct_c' 'fz1_TMAct_c' 'tx1_TMAct_c' 'ty1_TMAct_c' 'tz1_TMAct_c' ...
0052 'fx2_TMAct_c' 'fy2_TMAct_c' 'fz2_TMAct_c' 'tx2_TMAct_c' 'ty2_TMAct_c' 'tz2_TMAct_c'};
0053
0054 sys.outputnames = {...
0055 'fx_mps_c_delayed' 'fy_mps_c_delayed' 'fz_mps_c_delayed' 'tx_mps_c_delayed' 'ty_mps_c_delayed' 'tz_mps_c_delayed' ...
0056 'fx1_TMAct_c_delayed' 'fy1_TMAct_c_delayed' 'fz1_TMAct_c_delayed' 'tx1_TMAct_c_delayed' 'ty1_TMAct_c_delayed' 'tz1_TMAct_c_delayed' ...
0057 'fx2_TMAct_c_delayed' 'fy2_TMAct_c_delayed' 'fz2_TMAct_c_delayed' 'tx2_TMAct_c_delayed' 'ty2_TMAct_c_delayed' 'tz2_TMAct_c_delayed' ...
0058 };
0059 sys.outputvarnames = {'DFACS_command_delayed'};
0060
0061 end