diff --git a/matlab/index.html b/matlab/index.html index e1a13a3..06db955 100644 --- a/matlab/index.html +++ b/matlab/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Active Damping of Rotating Platforms using Integral Force Feedback - Matlab Computation @@ -34,58 +34,58 @@

Table of Contents

@@ -98,31 +98,81 @@ This document gathers the Matlab code used to for the paper ( -
  • Section 1: presents a simple model of a rotating suspended platform that will be used throughout this study.
  • -
  • Section 2: explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.
  • -
  • Section 3: suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
  • -
  • Section 4: proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
  • -
  • Section 5: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
  • -
  • Section 6: contains the notations used for both the Matlab code and the paper
  • +
  • Section 1: presents a simple model of a rotating suspended platform that will be used throughout this study.
  • +
  • Section 2: explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.
  • +
  • Section 3: suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
  • +
  • Section 4: proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
  • +
  • Section 5: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
  • +
  • Section 6: contains the notations used for both the Matlab code and the paper
  • -
    -

    1 System Description and Analysis

    +

    +The matlab code is accessible on Zonodo and Github (Dehaeze 2020). +

    + +

    +To run the Matlab code, go in the matlab directory and run the following Matlab files corresponding to each section. +

    + + + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1: Paper’s sections and corresponding Matlab files
    SectionsMatlab File
    Section 1s1_system_description.m
    Section 2s2_iff_pure_int.m
    Section 3s3_iff_hpf.m
    Section 4s4_iff_kp.m
    Section 5s5_act_damp_comparison.m
    + +
    +

    1 System Description and Analysis

    - +

    -
    -

    1.1 System description

    +
    +

    1.1 System description

    -The system consists of one 2 degree of freedom translation stage on top of a spindle (figure 1). +The system consists of one 2 degree of freedom translation stage on top of a spindle (figure 1).

    -
    +

    system.png

    Figure 1: Schematic of the studied system

    @@ -135,11 +185,11 @@ As the translation stage is rotating around the Z axis due to the spindle, the f
    -
    -

    1.2 Equations

    +
    +

    1.2 Equations

    -Based on the Figure 1, the equations of motions are: +Based on the Figure 1, the equations of motions are:

    \begin{equation} @@ -171,8 +221,8 @@ With:
    -
    -

    1.3 Numerical Values

    +
    +

    1.3 Numerical Values

    Let’s define initial values for the model. @@ -192,19 +242,19 @@ w0 = sqrt(k/m); % [rad/s]

    -
    -

    1.4 Campbell Diagram

    +
    +

    1.4 Campbell Diagram

    The Campbell Diagram displays the evolution of the real and imaginary parts of the system as a function of the rotating speed.

    -It is shown in Figure 2, and one can see that the system becomes unstable for \(\Omega > \omega_0\) (the real part of one of the poles becomes positive). +It is shown in Figure 2, and one can see that the system becomes unstable for \(\Omega > \omega_0\) (the real part of one of the poles becomes positive).

    -
    +

    campbell_diagram.png

    Figure 2: Campbell Diagram

    @@ -212,8 +262,8 @@ It is shown in Figure 2, and one can see that the syst
    -
    -

    1.5 Simscape Model

    +
    +

    1.5 Simscape Model

    In order to validate all the equations of motion, a Simscape model of the same system has been developed. @@ -244,7 +294,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 3, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1;

    @@ -268,11 +318,11 @@ The same transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) is written down

    -Both transfer functions are compared in Figure 3 and are found to perfectly match. +Both transfer functions are compared in Figure 3 and are found to perfectly match.

    -
    +

    plant_simscape_analytical.png

    Figure 3: Bode plot of the transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) as identified from the Simscape model and from an analytical model

    @@ -280,8 +330,8 @@ Both transfer functions are compared in Figure 3 and a
    -
    -

    1.6 Effect of the rotation speed

    +
    +

    1.6 Effect of the rotation speed

    The transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) are identified for the following rotating speeds. @@ -305,11 +355,11 @@ end

    -They are compared in Figure 4. +They are compared in Figure 4.

    -
    +

    plant_compare_rotating_speed.png

    Figure 4: Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed

    @@ -318,14 +368,14 @@ They are compared in Figure 4.
    -
    -

    2 Problem with pure Integral Force Feedback

    +
    +

    2 Problem with pure Integral Force Feedback

    - +

    -Force sensors are added in series with the two actuators (Figure 5). +Force sensors are added in series with the two actuators (Figure 5).

    @@ -333,15 +383,15 @@ Two identical controllers \(K_F\) are used to feedback each of the sensed force

    -
    +

    system_iff.png

    Figure 5: System with added Force Sensor in series with the actuators

    -
    -

    2.1 Plant Parameters

    +
    +

    2.1 Plant Parameters

    Let’s define initial values for the model. @@ -361,8 +411,8 @@ w0 = sqrt(k/m); % [rad/s]

    -
    -

    2.2 Equations

    +
    +

    2.2 Equations

    The sensed forces are equal to: @@ -407,8 +457,8 @@ Which then gives:

    -
    -

    2.3 Comparison of the Analytical Model and the Simscape Model

    +
    +

    2.3 Comparison of the Analytical Model and the Simscape Model

    The rotation speed is set to \(\Omega = 0.1 \omega_0\). @@ -433,7 +483,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1;

    @@ -457,10 +507,10 @@ The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down

    -The two are compared in Figure 6 and found to perfectly match. +The two are compared in Figure 6 and found to perfectly match.

    -
    +

    plant_iff_comp_simscape_analytical.png

    Figure 6: Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one

    @@ -468,8 +518,8 @@ The two are compared in Figure 6 and found to perfectl
    -
    -

    2.4 Effect of the rotation speed

    +
    +

    2.4 Effect of the rotation speed

    The transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) are identified for the following rotating speeds. @@ -493,10 +543,10 @@ end

    -The obtained transfer functions are shown in Figure 7. +The obtained transfer functions are shown in Figure 7.

    -
    +

    plant_iff_compare_rotating_speed.png

    Figure 7: Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) for several rotating speed

    @@ -504,8 +554,8 @@ The obtained transfer functions are shown in Figure 7.
    -
    -

    2.5 Decentralized Integral Force Feedback

    +
    +

    2.5 Decentralized Integral Force Feedback

    The decentralized IFF controller consists of pure integrators: @@ -518,12 +568,12 @@ The decentralized IFF controller consists of pure integrators: \end{equation}

    -The Root Locus (evolution of the poles of the closed loop system in the complex plane as a function of \(g\)) is shown in Figure 8. +The Root Locus (evolution of the poles of the closed loop system in the complex plane as a function of \(g\)) is shown in Figure 8. It is shown that for non-null rotating speed, one pole is bound to the right-half plane, and thus the closed loop system is unstable.

    -
    +

    root_locus_pure_iff.png

    Figure 8: Root Locus for the Decentralized Integral Force Feedback controller. Several rotating speed are shown.

    @@ -532,16 +582,16 @@ It is shown that for non-null rotating speed, one pole is bound to the right-hal
    -
    -

    3 Integral Force Feedback with an High Pass Filter

    +
    +

    3 Integral Force Feedback with an High Pass Filter

    - +

    -
    -

    3.1 Plant Parameters

    +
    +

    3.1 Plant Parameters

    Let’s define initial values for the model. @@ -561,8 +611,8 @@ w0 = sqrt(k/m); % [rad/s]

    -
    -

    3.2 Modified Integral Force Feedback Controller

    +
    +

    3.2 Modified Integral Force Feedback Controller

    Let’s modify the initial Integral Force Feedback Controller ; instead of using pure integrators, pseudo integrators (i.e. low pass filters) are used: @@ -597,10 +647,10 @@ And the following rotating speed.

    -The obtained Loop Gain is shown in Figure 9. +The obtained Loop Gain is shown in Figure 9.

    -
    +

    loop_gain_modified_iff.png

    Figure 9: Loop Gain for the modified IFF controller

    @@ -608,15 +658,15 @@ The obtained Loop Gain is shown in Figure 9.
    -
    -

    3.3 Root Locus

    +
    +

    3.3 Root Locus

    -As shown in the Root Locus plot (Figure 10), for some value of the gain, the system remains stable. +As shown in the Root Locus plot (Figure 10), for some value of the gain, the system remains stable.

    -
    +

    root_locus_modified_iff.png

    Figure 10: Root Locus for the modified IFF controller

    @@ -624,11 +674,11 @@ As shown in the Root Locus plot (Figure 10), for some
    -
    -

    3.4 What is the optimal \(\omega_i\) and \(g\)?

    +
    +

    3.4 What is the optimal \(\omega_i\) and \(g\)?

    -In order to visualize the effect of \(\omega_i\) on the attainable damping, the Root Locus is displayed in Figure 11 for the following \(\omega_i\): +In order to visualize the effect of \(\omega_i\) on the attainable damping, the Root Locus is displayed in Figure 11 for the following \(\omega_i\):

    wis = [0.01, 0.1, 0.5, 1]*w0; % [rad/s]
    @@ -636,7 +686,7 @@ In order to visualize the effect of \(\omega_i\) on the attainable damping, the
     
    -
    +

    root_locus_wi_modified_iff.png

    Figure 11: Root Locus for the modified IFF controller (zoomed plot on the left)

    @@ -659,12 +709,12 @@ The gain at which the system becomes unstable is \end{equation}

    -While it seems that small \(\omega_i\) do allow more damping to be added to the system (Figure 11), the control gains may be limited to small values due to \eqref{eq:iff_gmax} thus reducing the attainable damping. +While it seems that small \(\omega_i\) do allow more damping to be added to the system (Figure 11), the control gains may be limited to small values due to \eqref{eq:iff_gmax} thus reducing the attainable damping.

    There must be an optimum for \(\omega_i\). -To find the optimum, the gain that maximize the simultaneous damping of the mode is identified for a wide range of \(\omega_i\) (Figure 12). +To find the optimum, the gain that maximize the simultaneous damping of the mode is identified for a wide range of \(\omega_i\) (Figure 12).

    @@ -687,7 +737,7 @@ end
    -
    +

    mod_iff_damping_wi.png

    Figure 12: Simultaneous attainable damping of the closed loop poles as a function of \(\omega_i\)

    @@ -696,23 +746,23 @@ end
    -
    -

    4 IFF with a stiffness in parallel with the force sensor

    +
    +

    4 IFF with a stiffness in parallel with the force sensor

    - +

    -
    -

    4.1 Schematic

    +
    +

    4.1 Schematic

    In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the rotation.

    -
    +

    system_parallel_springs.png

    Figure 13: Studied system with additional springs in parallel with the actuators and force sensors

    @@ -727,8 +777,8 @@ In order to keep the overall stiffness \(k = k_a + k_p\) constant, a scalar para
    -
    -

    4.2 Equations

    +
    +

    4.2 Equations

    \begin{equation} @@ -767,8 +817,8 @@ In order to have two complex conjugate zeros (instead of real zeros):
    -
    -

    4.3 Plant Parameters

    +
    +

    4.3 Plant Parameters

    Let’s define initial values for the model. @@ -788,8 +838,8 @@ w0 = sqrt(k/m); % [rad/s]

    -
    -

    4.4 Comparison of the Analytical Model and the Simscape Model

    +
    +

    4.4 Comparison of the Analytical Model and the Simscape Model

    The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down from the analytical model. @@ -814,7 +864,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1; Giff = linearize(mdl, io, 0); @@ -837,7 +887,7 @@ Giff_th.OutputName = {'fu', 'fv'};

    -
    +

    plant_iff_kp_comp_simscape_analytical.png

    Figure 14: Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one

    @@ -845,8 +895,8 @@ Giff_th.OutputName = {'fu', 'fv'};
    -
    -

    4.5 Effect of the parallel stiffness on the IFF plant

    +
    +

    4.5 Effect of the parallel stiffness on the IFF plant

    The rotation speed is set to \(\Omega = 0.1 \omega_0\). @@ -866,7 +916,7 @@ And the IFF plant (transfer function from \([F_u, F_v]\) to \([f_u, f_v]\)) is i

    -The results are shown in Figure 15. +The results are shown in Figure 15.

    @@ -912,7 +962,7 @@ Giff_l = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2

    -
    +

    plant_iff_kp.png

    Figure 15: Transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\)

    @@ -920,11 +970,11 @@ Giff_l = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2
    -
    -

    4.6 IFF when adding a spring in parallel

    +
    +

    4.6 IFF when adding a spring in parallel

    -In Figure 16 is displayed the Root Locus in the three considered cases with +In Figure 16 is displayed the Root Locus in the three considered cases with

    \begin{equation} K_{\text{IFF}} = \frac{g}{s} \begin{bmatrix} @@ -945,7 +995,7 @@ Thus, decentralized IFF controller with pure integrators can be used if: \end{equation} -
    +

    root_locus_iff_kp.png

    Figure 16: Root Locus

    @@ -953,15 +1003,15 @@ Thus, decentralized IFF controller with pure integrators can be used if:
    -
    -

    4.7 Effect of \(k_p\) on the attainable damping

    +
    +

    4.7 Effect of \(k_p\) on the attainable damping

    However, having large values of \(k_p\) may decrease the attainable damping.

    -To study the second point, Root Locus plots for the following values of \(k_p\) are shown in Figure 17. +To study the second point, Root Locus plots for the following values of \(k_p\) are shown in Figure 17.

    kps = [2, 20, 40]*m*W^2;
    @@ -972,7 +1022,7 @@ To study the second point, Root Locus plots for the following values of \(k_p\)
     It is shown that large values of \(k_p\) decreases the attainable damping.
     

    -
    +

    root_locus_iff_kps.png

    Figure 17: Root Locus plot

    @@ -1007,7 +1057,7 @@ end
    -
    +

    opt_damp_alpha.png

    @@ -1015,11 +1065,11 @@ end
    -
    -

    5 Comparison

    +
    +

    5 Comparison

    - +

    Two modifications to adapt the IFF control strategy to rotating platforms have been proposed. @@ -1027,8 +1077,8 @@ These two methods are now compared in terms of added damping, closed-loop compli

    -
    -

    5.1 Plant Parameters

    +
    +

    5.1 Plant Parameters

    Let’s define initial values for the model. @@ -1056,8 +1106,8 @@ The rotating speed is set to \(\Omega = 0.1 \omega_0\).

    -
    -

    5.2 Root Locus

    +
    +

    5.2 Root Locus

    IFF with High Pass Filter @@ -1090,7 +1140,7 @@ k = k + kp;

    -
    +

    comp_root_locus.png

    Figure 19: Root Locus plot - Comparison of IFF with additional high pass filter, IFF with additional parallel stiffness

    @@ -1098,8 +1148,8 @@ k = k + kp;
    -
    -

    5.3 Controllers - Optimal Gains

    +
    +

    5.3 Controllers - Optimal Gains

    In order to compare to three considered Active Damping techniques, gains that yield maximum damping of all the modes are computed for each case. @@ -1143,8 +1193,8 @@ The obtained damping ratio and control are shown below.

    -
    -

    5.4 Passive Damping - Critical Damping

    +
    +

    5.4 Passive Damping - Critical Damping

    \begin{equation} \xi = \frac{c}{2 \sqrt{km}} @@ -1164,11 +1214,11 @@ Critical Damping corresponds to to \(\xi = 1\), and thus:
    -
    -

    5.5 Transmissibility And Compliance

    +
    +

    5.5 Transmissibility And Compliance

    - +

    @@ -1197,8 +1247,8 @@ G_ol.OutputName = {'Dx', 'Dy'};
    -
    -

    5.5.1 Passive Damping

    +
    +

    5.5.1 Passive Damping

    kp = 0;
    @@ -1268,7 +1318,7 @@ G_kp.OutputName = {'Dx', 'Dy'};
     
     
    -
    +

    comp_transmissibility.png

    Figure 20: Comparison of the transmissibility

    @@ -1277,7 +1327,7 @@ G_kp.OutputName = {'Dx', 'Dy'};
    -
    +

    comp_compliance.png

    Figure 21: Comparison of the obtained Compliance

    @@ -1286,11 +1336,11 @@ G_kp.OutputName = {'Dx', 'Dy'};
    -
    -

    6 Notations

    +
    +

    6 Notations

    - +

    @@ -1431,10 +1481,20 @@ G_kp.OutputName = {'Dx', 'Dy'};
    + +

    + +

    + +

    Bibliography

    +
    +
    Dehaeze, T., and C. Collette. 2020. “Active Damping of Rotating Platforms Using Integral Force Feedback.” In Proceedings of the International Conference on Modal Analysis Noise and Vibration Engineering (ISMA).
    +
    Dehaeze, Thomas. 2020. “Active Damping of Rotating Positioning Platforms.” https://doi.org/10.5281/zenodo.3894342.
    +

    Author: Thomas Dehaeze

    -

    Created: 2020-07-09 jeu. 09:56

    +

    Created: 2020-07-09 jeu. 10:19

    diff --git a/matlab/index.org b/matlab/index.org index 908fbc7..eb944c3 100644 --- a/matlab/index.org +++ b/matlab/index.org @@ -34,6 +34,19 @@ It is structured in several sections: - Section [[sec:comparison]]: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior. - Section [[sec:notations]]: contains the notations used for both the Matlab code and the paper +The matlab code is accessible on [[https://zenodo.org/record/3894343][Zonodo]] and [[https://github.com/tdehaeze/dehaeze20_contr_stewa_platf][Github]] cite:dehaeze20_activ_dampin_rotat_posit_platf. + +To run the Matlab code, go in the =matlab= directory and run the following Matlab files corresponding to each section. + +#+caption: Paper's sections and corresponding Matlab files +| Sections | Matlab File | +|------------------------------------+----------------------------| +| Section [[sec:system_description]] | =s1_system_description.m= | +| Section [[sec:iff_pure_int]] | =s2_iff_pure_int.m= | +| Section [[sec:iff_pseudo_int]] | =s3_iff_hpf.m= | +| Section [[sec:iff_parallel_stiffness]] | =s4_iff_kp.m= | +| Section [[sec:comparison]] | =s5_act_damp_comparison.m= | + * System Description and Analysis :PROPERTIES: :header-args:matlab+: :tangle matlab/s1_system_description.m @@ -231,7 +244,7 @@ The transfer function from $[F_u, F_v]$ to $[d_u, d_v]$ is identified from the S %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; - io(io_i) = linio([mdl, '/G'], 3, 'openoutput'); io_i = io_i + 1; + io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; #+end_src #+begin_src matlab @@ -502,7 +515,7 @@ And the transfer function from $[F_u, F_v]$ to $[f_u, f_v]$ is identified using %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; - io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; + io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1; #+end_src #+begin_src matlab @@ -1273,7 +1286,7 @@ The same transfer function from $[F_u, F_v]$ to $[f_u, f_v]$ is written down fro %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; - io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; + io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1; Giff = linearize(mdl, io, 0); @@ -2210,6 +2223,9 @@ Critical Damping corresponds to to $\xi = 1$, and thus: | Complex number | $j$ | =j= | | | Frequency | $\omega$ | =w= | [rad/s] | +* Bibliography :ignore: +bibliographystyle:unsrt +bibliography:ref.bib * Functions :noexport: ** Sort Poles for the Root Locus :PROPERTIES: diff --git a/matlab/matlab/s1_system_description.m b/matlab/matlab/s1_system_description.m index 6bbe588..60d968d 100644 --- a/matlab/matlab/s1_system_description.m +++ b/matlab/matlab/s1_system_description.m @@ -79,7 +79,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 3, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; G = linearize(mdl, io, 0); diff --git a/matlab/matlab/s2_iff_pure_int.m b/matlab/matlab/s2_iff_pure_int.m index c9d9b6b..ddc5c04 100644 --- a/matlab/matlab/s2_iff_pure_int.m +++ b/matlab/matlab/s2_iff_pure_int.m @@ -36,7 +36,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1; Giff = linearize(mdl, io, 0); diff --git a/matlab/matlab/s4_iff_kp.m b/matlab/matlab/s4_iff_kp.m index 5f4b1b8..d918fa9 100644 --- a/matlab/matlab/s4_iff_kp.m +++ b/matlab/matlab/s4_iff_kp.m @@ -35,7 +35,7 @@ mdl = 'rotating_frame'; %% Input/Output definition clear io; io_i = 1; io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1; -io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1; Giff = linearize(mdl, io, 0); diff --git a/matlab/ref.bib b/matlab/ref.bib index 408f50c..708dbe2 100644 --- a/matlab/ref.bib +++ b/matlab/ref.bib @@ -74,3 +74,13 @@ Analysis Noise and Vibration Engineering (ISMA)}, year = 2020, } + +@misc{dehaeze20_activ_dampin_rotat_posit_platf, + author = {Thomas Dehaeze}, + howpublished = {Source Code on Zonodo}, + month = 07, + title = {Active Damping of Rotating Positioning Platforms}, + url = {https://doi.org/10.5281/zenodo.3894342}, + doi = {10.5281/zenodo.3894342}, + year = 2020, +}