diff --git a/content/article/zuo04_elemen_system_desig_activ_passiv_vibrat_isolat.md b/content/article/zuo04_elemen_system_desig_activ_passiv_vibrat_isolat.md index 1ad0943..0e89e59 100644 --- a/content/article/zuo04_elemen_system_desig_activ_passiv_vibrat_isolat.md +++ b/content/article/zuo04_elemen_system_desig_activ_passiv_vibrat_isolat.md @@ -8,7 +8,7 @@ Tags : [Vibration Isolation]({{< relref "vibration_isolation" >}}) Reference -: ([Zuo 2004](#orgdb2a627)) +: ([Zuo 2004](#orgb4186fb)) Author(s) : Zuo, L. @@ -16,6 +16,20 @@ Author(s) Year : 2004 +
+\( +\newcommand{\eatLabel}[2]{} +\newenvironment{subequations}{\eatLabel}{} +\) +
+ +\begin{equation} + \begin{align} + \left[ H\_{xf}(\omega) \right]\_{n \times n} &= \left[ S\_{x^\prime v}(\omega) \right]\_{n \times n} \left[ S\_{f^\prime v}(\omega) \right]\_{n \times n}^{-1} \\\\\\ + \left[ H\_{xf}(\omega) \right]\_{n \times n} &= \left[ S\_{f^\prime f^\prime}(\omega) \right]\_{n \times n}^{-1} \left[ S\_{x^\prime f^\prime}(\omega) \right]\_{n \times n} + \end{align} +\end{equation} + > Vibration isolation systems can have various system architectures. > When we configure an active isolation system, we can use compliant actuators (such as voice coils) or stiff actuators (such as PZT stacks). > We also need to consider how to **combine the active actuation with passive elements**: we can place the actuator in parallel or in series with the passive elements. @@ -26,23 +40,23 @@ Year > They found that coupling from flexible modes is much smaller than in soft active mounts in the load (force) feedback. > Note that reaction force actuators can also work with soft mounts or hard mounts. - + {{< figure src="/ox-hugo/zuo04_piezo_spring_series.png" caption="Figure 1: PZT actuator and spring in series" >}} - + {{< figure src="/ox-hugo/zuo04_voice_coil_spring_parallel.png" caption="Figure 2: Voice coil actuator and spring in parallel" >}} - + {{< figure src="/ox-hugo/zuo04_piezo_plant.png" caption="Figure 3: Transmission from PZT voltage to geophone output" >}} - + {{< figure src="/ox-hugo/zuo04_voice_coil_plant.png" caption="Figure 4: Transmission from voice coil voltage to geophone output" >}} ## Bibliography {#bibliography} -Zuo, Lei. 2004. “Element and System Design for Active and Passive Vibration Isolation.” Massachusetts Institute of Technology. +Zuo, Lei. 2004. “Element and System Design for Active and Passive Vibration Isolation.” Massachusetts Institute of Technology. diff --git a/content/book/du10_model_contr_vibrat_mechan_system.md b/content/book/du10_model_contr_vibrat_mechan_system.md index 1515be2..0728860 100644 --- a/content/book/du10_model_contr_vibrat_mechan_system.md +++ b/content/book/du10_model_contr_vibrat_mechan_system.md @@ -8,7 +8,7 @@ Tags : [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Vibration Isolation]({{< relref "vibration_isolation" >}}) Reference -: ([Du and Xie 2010](#orgad87753)) +: ([Du and Xie 2010](#orge0a6379)) Author(s) : Du, C., & Xie, L. @@ -21,4 +21,4 @@ Read Chapter 1 and 3. ## Bibliography {#bibliography} -Du, Chunling, and Lihua Xie. 2010. _Modeling and Control of Vibration in Mechanical Systems_. Automation and Control Engineering. CRC Press. . +Du, Chunling, and Lihua Xie. 2010. _Modeling and Control of Vibration in Mechanical Systems_. Automation and Control Engineering. CRC Press. . diff --git a/content/book/du19_multi_actuat_system_contr.md b/content/book/du19_multi_actuat_system_contr.md index b4d1bc3..46cbef7 100644 --- a/content/book/du19_multi_actuat_system_contr.md +++ b/content/book/du19_multi_actuat_system_contr.md @@ -9,7 +9,7 @@ Tags Reference -: ([Du and Pang 2019](#org86410b0)) +: ([Du and Pang 2019](#orgfa82dec)) Author(s) : Du, C., & Pang, C. K. @@ -17,6 +17,19 @@ Author(s) Year : 2019 +
+\( +\newcommand{\SI}[2]{#1\,#2} +% Simulate SIunitx +\newcommand{\ang}[1]{#1^{\circ}} +\newcommand{\degree}{^{\circ}} +\newcommand{\radian}{\text{rad}} +\newcommand{\percent}{\%} +\newcommand{\decibel}{\text{dB}} +\newcommand{\per}{/} +\) +
+ ## Mechanical Actuation Systems {#mechanical-actuation-systems} @@ -68,9 +81,9 @@ and the resonance \\(P\_{ri}(s)\\) can be represented as one of the following fo #### Secondary Actuators {#secondary-actuators} -We here consider two types of secondary actuators: the PZT milliactuator (figure [1](#orgf5ea358)) and the microactuator. +We here consider two types of secondary actuators: the PZT milliactuator (figure [1](#org2501c9c)) and the microactuator. - + {{< figure src="/ox-hugo/du19_pzt_actuator.png" caption="Figure 1: A PZT-actuator suspension" >}} @@ -92,9 +105,9 @@ There characteristics are shown on table [1](#table--tab:microactuator). ### Single-Stage Actuation Systems {#single-stage-actuation-systems} -A typical closed-loop control system is shown on figure [2](#orga949a40), where \\(P\_v(s)\\) and \\(C(z)\\) represent the actuator system and its controller. +A typical closed-loop control system is shown on figure [2](#org3f9b6d4), where \\(P\_v(s)\\) and \\(C(z)\\) represent the actuator system and its controller. - + {{< figure src="/ox-hugo/du19_single_stage_control.png" caption="Figure 2: Block diagram of a single-stage actuation system" >}} @@ -104,7 +117,7 @@ A typical closed-loop control system is shown on figure [2](#orga949a40), where Dual-stage actuation mechanism for the hard disk drives consists of a VCM actuator and a secondary actuator placed between the VCM and the sensor head. The VCM is used as the primary stage to provide long track seeking but with poor accuracy and slow response time, while the secondary stage actuator is used to provide higher positioning accuracy and faster response but with a stroke limit. - + {{< figure src="/ox-hugo/du19_dual_stage_control.png" caption="Figure 3: Block diagram of dual-stage actuation system" >}} @@ -130,7 +143,7 @@ In view of this, the controller design for dual-stage actuation systems adopts a ### Control Schemes {#control-schemes} -A popular control scheme for dual-stage actuation system is the **decoupled structure** as shown in figure [4](#orgb533d71). +A popular control scheme for dual-stage actuation system is the **decoupled structure** as shown in figure [4](#org371fae9). - \\(C\_v(z)\\) and \\(C\_p(z)\\) are the controllers respectively, for the primary VCM actuator \\(P\_v(s)\\) and the secondary actuator \\(P\_p(s)\\). - \\(\hat{P}\_p(z)\\) is an approximation of \\(P\_p\\) to estimate \\(y\_p\\). @@ -138,7 +151,7 @@ A popular control scheme for dual-stage actuation system is the **decoupled stru - \\(n\\) is the measurement noise - \\(d\_u\\) stands for external vibration - + {{< figure src="/ox-hugo/du19_decoupled_control.png" caption="Figure 4: Decoupled control structure for the dual-stage actuation system" >}} @@ -160,14 +173,14 @@ The sensitivity functions of the VCM loop and the secondary actuator loop are And we obtain that the dual-stage sensitivity function \\(S(z)\\) is the product of \\(S\_v(z)\\) and \\(S\_p(z)\\). Thus, the dual-stage system control design can be decoupled into two independent controller designs. -Another type of control scheme is the **parallel structure** as shown in figure [5](#org3c23d1d). +Another type of control scheme is the **parallel structure** as shown in figure [5](#org3d4cd09). The open-loop transfer function from \\(pes\\) to \\(y\\) is \\[ G(z) = P\_p(z) C\_p(z) + P\_v(z) C\_v(z) \\] The overall sensitivity function of the closed-loop system from \\(r\\) to \\(pes\\) is \\[ S(z) = \frac{1}{1 + G(z)} = \frac{1}{1 + P\_p(z) C\_p(z) + P\_v(z) C\_v(z)} \\] - + {{< figure src="/ox-hugo/du19_parallel_control_structure.png" caption="Figure 5: Parallel control structure for the dual-stage actuator system" >}} @@ -177,7 +190,7 @@ Because of the limited displacement range of the secondary actuator, the control ### Controller Design Method in the Continuous-Time Domain {#controller-design-method-in-the-continuous-time-domain} \\(\mathcal{H}\_\infty\\) loop shaping method is used to design the controllers for the primary and secondary actuators. -The structure of the \\(\mathcal{H}\_\infty\\) loop shaping method is plotted in figure [6](#org2b9887b) where \\(W(s)\\) is a weighting function relevant to the designed control system performance such as the sensitivity function. +The structure of the \\(\mathcal{H}\_\infty\\) loop shaping method is plotted in figure [6](#org6dcd465) where \\(W(s)\\) is a weighting function relevant to the designed control system performance such as the sensitivity function. For a plant model \\(P(s)\\), a controller \\(C(s)\\) is to be designed such that the closed-loop system is stable and @@ -187,11 +200,11 @@ For a plant model \\(P(s)\\), a controller \\(C(s)\\) is to be designed such tha is satisfied, where \\(T\_{zw}\\) is the transfer function from \\(w\\) to \\(z\\): \\(T\_{zw} = S(s) W(s)\\). - + {{< figure src="/ox-hugo/du19_h_inf_diagram.png" caption="Figure 6: Block diagram for \\(\mathcal{H}\_\infty\\) loop shaping method to design the controller \\(C(s)\\) with the weighting function \\(W(s)\\)" >}} -Equation [1](#orgcd45840) means that \\(S(s)\\) can be shaped similarly to the inverse of the chosen weighting function \\(W(s)\\). +Equation [1](#orgd1210d7) means that \\(S(s)\\) can be shaped similarly to the inverse of the chosen weighting function \\(W(s)\\). One form of \\(W(s)\\) is taken as \begin{equation} @@ -204,16 +217,16 @@ The controller can then be synthesis using the linear matrix inequality (LMI) ap The primary and secondary actuator control loops are designed separately for the dual-stage control systems. But when designing their respective controllers, certain performances are required for the two actuators, so that control efforts for the two actuators are distributed properly and the actuators don't conflict with each other's control authority. -As seen in figure [7](#orgec2571e), the VCM primary actuator open loop has a higher gain at low frequencies, and the secondary actuator open loop has a higher gain in the high-frequency range. +As seen in figure [7](#orgbe7f7d1), the VCM primary actuator open loop has a higher gain at low frequencies, and the secondary actuator open loop has a higher gain in the high-frequency range. - + {{< figure src="/ox-hugo/du19_dual_stage_loop_gain.png" caption="Figure 7: Frequency responses of \\(G\_v(s) = C\_v(s)P\_v(s)\\) (solid line) and \\(G\_p(s) = C\_p(s) P\_p(s)\\) (dotted line)" >}} -The sensitivity functions are shown in figure [8](#orgc3be866), where the hump of \\(S\_v\\) is arranged within the bandwidth of \\(S\_p\\) and the hump of \\(S\_p\\) is lowered as much as possible. +The sensitivity functions are shown in figure [8](#orgfed486e), where the hump of \\(S\_v\\) is arranged within the bandwidth of \\(S\_p\\) and the hump of \\(S\_p\\) is lowered as much as possible. This needs to decrease the bandwidth of the primary actuator loop and increase the bandwidth of the secondary actuator loop. - + {{< figure src="/ox-hugo/du19_dual_stage_sensitivity.png" caption="Figure 8: Frequency response of \\(S\_v(s)\\) and \\(S\_p(s)\\)" >}} @@ -246,13 +259,13 @@ A VCM actuator is used as the first-stage actuator denoted by \\(P\_v(s)\\), a P ### Control Strategy and Controller Design {#control-strategy-and-controller-design} -Figure [9](#org0a6e6a1) shows the control structure for the three-stage actuation system. +Figure [9](#orga4074a3) shows the control structure for the three-stage actuation system. The control scheme is based on the decoupled master-slave dual-stage control and the third stage microactuator is added in parallel with the dual-stage control system. The parallel format is advantageous to the overall control bandwidth enhancement, especially for the microactuator having limited stroke which restricts the bandwidth of its own loop. The reason why the decoupled control structure is adopted here is that its overall sensitivity function is the product of those of the two individual loops, and the VCM and the PTZ controllers can be designed separately. - + {{< figure src="/ox-hugo/du19_three_stage_control.png" caption="Figure 9: Control system for the three-stage actuation system" >}} @@ -281,15 +294,15 @@ The PZT actuated milliactuator \\(P\_p(s)\\) works under a reasonably high bandw The third-stage actuator \\(P\_m(s)\\) is used to further push the bandwidth as high as possible. The control performances of both the VCM and the PZT actuators are limited by their dominant resonance modes. -The open-loop frequency responses of the three stages are shown on figure [10](#org596d540). +The open-loop frequency responses of the three stages are shown on figure [10](#org11a6581). - + {{< figure src="/ox-hugo/du19_open_loop_three_stage.png" caption="Figure 10: Frequency response of the open-loop transfer function" >}} -The obtained sensitivity function is shown on figure [11](#orgb011ee0). +The obtained sensitivity function is shown on figure [11](#org58e9561). - + {{< figure src="/ox-hugo/du19_sensitivity_three_stage.png" caption="Figure 11: Sensitivity function of the VCM single stage, the dual-stage and the three-stage loops" >}} @@ -304,7 +317,7 @@ Otherwise, saturation will occur in the control loop and the control system perf Therefore, the stroke specification of the actuators, especially milliactuator and microactuators, is very important for achievable control performance. Higher stroke actuators have stronger abilities to make sure that the control performances are not degraded in the presence of external vibrations. -For the three-stage control architecture as shown on figure [9](#org0a6e6a1), the position error is +For the three-stage control architecture as shown on figure [9](#orga4074a3), the position error is \\[ e = -S(P\_v d\_1 + d\_2 + d\_e) + S n \\] The control signals and positions of the actuators are given by @@ -320,11 +333,11 @@ Higher bandwidth/higher level of disturbance generally means high stroke needed. ### Different Configurations of the Control System {#different-configurations-of-the-control-system} -A decoupled control structure can be used for the three-stage actuation system (see figure [12](#org13d72d1)). +A decoupled control structure can be used for the three-stage actuation system (see figure [12](#org066c259)). The overall sensitivity function is \\[ S(z) = \approx S\_v(z) S\_p(z) S\_m(z) \\] -with \\(S\_v(z)\\) and \\(S\_p(z)\\) are defined in equation [1](#org8cccb61) and +with \\(S\_v(z)\\) and \\(S\_p(z)\\) are defined in equation [1](#org7c7e2b1) and \\[ S\_m(z) = \frac{1}{1 + P\_m(z) C\_m(z)} \\] Denote the dual-stage open-loop transfer function as \\(G\_d\\) @@ -333,7 +346,7 @@ Denote the dual-stage open-loop transfer function as \\(G\_d\\) The open-loop transfer function of the overall system is \\[ G(z) = G\_d(z) + G\_m(z) + G\_d(z) G\_m(z) \\] - + {{< figure src="/ox-hugo/du19_three_stage_decoupled.png" caption="Figure 12: Decoupled control structure for the three-stage actuation system" >}} @@ -345,9 +358,9 @@ The control signals and the positions of the three actuators are u\_v &= C\_v(1 + \hat{P}\_p C\_p) (1 + \hat{P}\_m C\_m) e, \ y\_v = P\_v u\_v \end{align\*} -The decoupled configuration makes the low frequency gain much higher, and consequently there is much better rejection capability at low frequency compared to the parallel architecture (see figure [13](#org96a1b82)). +The decoupled configuration makes the low frequency gain much higher, and consequently there is much better rejection capability at low frequency compared to the parallel architecture (see figure [13](#org8c9fc90)). - + {{< figure src="/ox-hugo/du19_three_stage_decoupled_loop_gain.png" caption="Figure 13: Frequency responses of the open-loop transfer functions for the three-stages parallel and decoupled structure" >}} @@ -658,4 +671,4 @@ As a more advanced concept, PZT elements being used as actuator and sensor simul ## Bibliography {#bibliography} -Du, Chunling, and Chee Khiang Pang. 2019. _Multi-Stage Actuation Systems and Control_. Boca Raton, FL: CRC Press. +Du, Chunling, and Chee Khiang Pang. 2019. _Multi-Stage Actuation Systems and Control_. Boca Raton, FL: CRC Press. diff --git a/content/book/ewins00_modal.md b/content/book/ewins00_modal.md index d34cb30..d303715 100644 --- a/content/book/ewins00_modal.md +++ b/content/book/ewins00_modal.md @@ -8,7 +8,7 @@ Tags : [System Identification]({{< relref "system_identification" >}}), [Reference Books]({{< relref "reference_books" >}}), [Modal Analysis]({{< relref "modal_analysis" >}}) Reference -: ([Ewins 2000](#org3f74bcc)) +: ([Ewins 2000](#org300069f)) Author(s) : Ewins, D. @@ -19,6 +19,23 @@ Year PDF version : [link](/ox-hugo/ewins00_modal.pdf) +
+\( +\newcommand{\tcmbox}[1]{\boxed{#1}} +% Simulate SIunitx +\newcommand{\SI}[2]{#1\,#2} +\newcommand{\ang}[1]{#1^{\circ}} +\newcommand{\degree}{^{\circ}} +\newcommand{\radian}{\text{rad}} +\newcommand{\percent}{\%} +\newcommand{\decibel}{\text{dB}} +\newcommand{\per}{/} +% Bug with subequations +\newcommand{\eatLabel}[2]{} +\newenvironment{subequations}{\eatLabel}{} +\) +
+ ## Overview {#overview} @@ -127,9 +144,9 @@ There are three phases in the vibration analysis of such systems: The particular relevance of these specific response characteristics is the fact that they are the quantities which are the most likely to be able to **measure in practice**. However, the same expressions can be **drastically simplified if we use the modal properties** instead of the spatial properties and it is possible to write an expressing for any FRF, \\(H\_{jk}(\omega)\\), which has the general form - \begin{equation\*} + \begin{equation} H\_{jk}(\omega) = \frac{X\_j}{F\_k} = \sum\_{r=1}^{N}\frac{{}\_rA\_{jk}}{\lambda\_r^2 - \omega^2} \label{eq:frf\_modal} - \end{equation\*} + \end{equation} where \\(\lambda\_r^2\\) is the eigenvalue of the \\(r^{\text{th}}\\) mode, \\({}\_rA\_{jk}\\) (the modal constant) is constructed from \\(\phi\_{jk}\\) which is the \\(j^{\text{th}}\\) element of the \\(r^{\text{th}}\\) eigenvector \\(\phi\_r\\) and \\(N\\) is the number of degrees-of-freedom (or modes). This expression forms the foundation of modal analysis: it shows a **direct connection between the modal properties of a system and its response characteristics**. @@ -142,9 +159,9 @@ Indeed, we shall see later how these predictions can be quite detailed, to the p The main measurement technique studied are those which will permit to make **direct measurements of the various FRF** properties of the test structure. -The type of test best suited to FRF measurement is shown in figure [fig:modal_analysis_schematic](#fig:modal_analysis_schematic). +The type of test best suited to FRF measurement is shown in figure [1](#orge1f0d37). - + {{< figure src="/ox-hugo/ewins00_modal_analysis_schematic.png" caption="Figure 1: Basic components of FRF measurement system" >}} @@ -214,11 +231,11 @@ Thus there is **no single modal analysis method**, but rater a selection, each b One of the most widespread and useful approaches is known as the **single-degree-of-freedom curve-fit**, or often as the **circle fit** procedure. This method uses the fact that **at frequencies close to a natural frequency**, the FRF can often be **approximated to that of a single degree-of-freedom system** plus a constant offset term (which approximately accounts for the existence of other modes). -This assumption allows us to use the circular nature of a modulus/phase polar plot of the frequency response function of a SDOF system (see figure [fig:sdof_modulus_phase](#fig:sdof_modulus_phase)). +This assumption allows us to use the circular nature of a modulus/phase polar plot of the frequency response function of a SDOF system (see figure [2](#orgecf1743)). This process can be **repeated** for each resonance individually until the whole curve has been analyzed. At this stage, a theoretical regeneration of the FRF is possible using the set of coefficients extracted. - + {{< figure src="/ox-hugo/ewins00_sdof_modulus_phase.png" caption="Figure 2: Curve fit to resonant FRF data" >}} @@ -253,19 +270,19 @@ Even though the same overall procedure is always followed, there will be a **dif Theoretical foundations of modal testing are of paramount importance to its successful implementation. -The three phases through a typical theoretical vibration analysis progresses are shown on figure [fig:vibration_analysis_procedure](#fig:vibration_analysis_procedure). +The three phases through a typical theoretical vibration analysis progresses are shown on figure [3](#orge69e740). Generally, we start with a description of the structure's physical characteristics (mass, stiffness and damping properties), this is referred to as the **Spatial model**. - + {{< figure src="/ox-hugo/ewins00_vibration_analysis_procedure.png" caption="Figure 3: Theoretical route to vibration analysis" >}} Then, it is customary to perform a theoretical modal analysis of the spatial model which leads to a description of the structure's behavior as a set of vibration modes: the **modal model**. -
+
-This model is defined a set of **natural frequencies** with corresponding **modal damping factors** and **vibration mode shapes**. +A **modal model** is defined a set of **natural frequencies** with corresponding **modal damping factors** and **vibration mode shapes**. This solution describes the various ways in which the structure is capable of vibrating **naturally** (without any external forces or excitations), and so these are called the **natural** or **normal** modes of the structure.
@@ -275,10 +292,10 @@ It is convenient to present an analysis of the structure's response to a "standa The **standard excitation** chosen is a **unit-amplitude sinusoidal force applied to each point on the structure individually**, and at every frequency within a specified range. Thus our response model will consist of a set of **frequency response functions**. -
+
-As indicated in figure [fig:vibration_analysis_procedure](#fig:vibration_analysis_procedure), it is also possible to do an analysis in the reverse directly: from a description of the response properties (FRFs), we can deduce modal properties and the spatial properties: this is the **experimental route** to vibration analysis. +As indicated in figure [3](#orge69e740), it is also possible to do an analysis in the reverse directly: from a description of the response properties (FRFs), we can deduce modal properties and the spatial properties: this is the **experimental route** to vibration analysis.
@@ -287,7 +304,7 @@ As indicated in figure [fig:vibration_analysis_procedure](#fig:vibration_analysi Although very few practical structures could realistically be modeled by a SDOF system, the properties of such a system are very important because those for a more complex MDOF system can always be represented as a **linear superposition** of a number of SDOF characteristics. -
+
Three classes of system model will be described: @@ -298,10 +315,10 @@ Three classes of system model will be described:
-The basic model for the SDOF system is shown in figure [fig:sdof_model](#fig:sdof_model) where \\(f(t)\\) and \\(x(t)\\) are general time-varying force and displacement response quantities. +The basic model for the SDOF system is shown in figure [4](#org115fa16) where \\(f(t)\\) and \\(x(t)\\) are general time-varying force and displacement response quantities. The spatial model consists of a **mass** \\(m\\), a **spring** \\(k\\) and (when damped) either a **viscous dashpot** \\(c\\) or **hysteretic damper** \\(d\\). - + {{< figure src="/ox-hugo/ewins00_sdof_model.png" caption="Figure 4: Single degree-of-freedom system" >}} @@ -333,9 +350,11 @@ Now the equation of motion is from which we extract the required response model in the form of a **frequency response function**. -
+
+Receptance FRF - Undamped System: + \begin{equation} \alpha(\omega) = \frac{X}{F} = \frac{1}{x - \omega^2 m} \label{eq:receptance} \end{equation} @@ -375,9 +394,9 @@ which is a single mode of vibration with a complex natural frequency having two - **An imaginary or oscillatory part** - **A real or decay part** -The physical significance of these two parts is illustrated in the typical free response plot shown in figure [fig:sdof_response](#fig:sdof_response) +The physical significance of these two parts is illustrated in the typical free response plot shown in figure [5](#orgb1d4a98) - + {{< figure src="/ox-hugo/ewins00_sdof_response.png" caption="Figure 5: Oscillatory and decay part" >}} @@ -385,21 +404,21 @@ Lastly, we consider the forced response when \\(f(t) = F e^{i\omega t}\\) and, a \\[ \left( -\omega^2 m + i \omega c + k \right) X e^{i\omega t} = F e^{i \omega t} \\] gives a receptance FRF of the form -
+
+Receptance FRF - Viscous Damping: + \begin{equation} \alpha(\omega) = \frac{1}{(k - \omega^2 m) + i \omega c} \end{equation} which is now complex, containing both magnitude and phase information: -\begin{subequations} - \begin{align} - \frac{|X|}{|F|} &= \frac{1}{\sqrt{(k - \omega^2 m)^2 + (\omega c)^2}} \\\\\\ - \angle{X} - \angle{F} &= \text{tg}^{-1} \left( \frac{\omega c}{k - \omega^2 m} \right) - \end{align} -\end{subequations} +\begin{aligned} + \frac{|X|}{|F|} &= \frac{1}{\sqrt{(k - \omega^2 m)^2 + (\omega c)^2}} \\\\\\ + \angle{X} - \angle{F} &= \text{tg}^{-1} \left( \frac{\omega c}{k - \omega^2 m} \right) +\end{aligned}
@@ -408,7 +427,7 @@ which is now complex, containing both magnitude and phase information: All structures exhibit a degree of damping due to the **hysteresis properties** of the material(s) from which they are made. -A typical example of this effect is shown in the force displacement plot in figure [fig:material_histeresis](#fig:material_histeresis) in which the **area contained by the loop represents the energy lost in one cycle of vibration** between the extremities shown. +A typical example of this effect is shown in the force displacement plot in figure [1](#org640f8a0) in which the **area contained by the loop represents the energy lost in one cycle of vibration** between the extremities shown. The maximum energy stored corresponds to the elastic energy of the structure at the point of maximum deflection. The damping effect of such a component can conveniently be defined by the ratio of these two: \\[ \tcmbox{\text{damping capacity} = \frac{\text{energy lost per cycle}}{\text{maximum energy stored}}} \\] @@ -421,17 +440,17 @@ The damping effect of such a component can conveniently be defined by the ratio | ![](/ox-hugo/ewins00_material_histeresis.png) | ![](/ox-hugo/ewins00_dry_friction.png) | ![](/ox-hugo/ewins00_viscous_damper.png) | |-----------------------------------------------|----------------------------------------|------------------------------------------| -| Material hysteresis | Dry friction | Viscous damper | +| Material hysteresis | Dry friction | Viscous damper | | height=2cm | height=2cm | height=2cm | Another common source of energy dissipation in practical structures, is the **friction** which exist in joints between components of the structure. -It may be described very roughly by the simple **dry friction model** shown in figure [fig:dry_friction](#fig:dry_friction). +It may be described very roughly by the simple **dry friction model** shown in figure [1](#org915cf01). -The mathematical model of the **viscous damper** which we have used can be compared with these more physical effects by plotting the corresponding force-displacement diagram for it, and this is shown in figure [fig:viscous_damper](#fig:viscous_damper). +The mathematical model of the **viscous damper** which we have used can be compared with these more physical effects by plotting the corresponding force-displacement diagram for it, and this is shown in figure [1](#orgc37b9e9). Because the relationship is linear between force and velocity, it is necessary to suppose harmonic motion, at frequency \\(\omega\\), in order to construct a force-displacement diagram. The resulting diagram shows the nature of the approximation provided by the viscous damper model and the concept of the **effective or equivalent viscous damping coefficient** for any of the actual phenomena as being which provides the **same energy loss per cycle** as the real thing. -
+
The problem which arises with the **viscous damping model** is that it has a **frequency-dependence in the amount of energy loss per cycle** whereas the dry friction mechanism is clearly unaffected by the frequency of loading and experiments suggests that the hysteresis effect is similarly independent of frequency. @@ -444,9 +463,11 @@ However, it presents difficulties to a rigorous free vibration analysis and its In this case, we can write an equation of motion: \\[ (-\omega^2 m + k + i d) X e^{i\omega t} = F e^{i \omega t} \\] -
+
+Receptance FRF - Structural Damping: + \begin{equation} \alpha(\omega) = \frac{1/k}{1 - \left(\omega/\bar{\omega}\_0\right)^2 + i \eta} \end{equation} @@ -467,31 +488,37 @@ This ratio is complex: we can look at its **amplitude** ratio \\(|\alpha(\omega) We could have selected the response velocity \\(v(t)\\) as the output quantity and defined an alternative frequency response function \eqref{eq:mobility}. Similarly we could use the acceleration parameter so we could define a third FRF parameter \eqref{eq:inertance}. -
+
+**Mobility FRF**: + \begin{equation} \text{mobility} = Y(\omega) = \frac{V}{F} = i \omega \alpha(\omega) \label{eq:mobility} \end{equation}
-
+
+**Inertance FRF**: + \begin{equation} \text{inertance} = A(\omega) = \frac{A}{F} = - \omega^2 \alpha(\omega) \label{eq:inertance} \end{equation}
-Table [tab:frf_alternatives](#tab:frf_alternatives) gives details of all six of the FRF parameters and of the names used for them. +Table [2](#table--tab:frf-alternatives) gives details of all six of the FRF parameters and of the names used for them. **Inverse response** can also be defined. For instance, the **dynamic stiffness** is defined as the force over the displacement. -
+
+**Dynamic Stiffness**: + \begin{equation} \frac{\text{force}}{\text{displacement}} = (k - \omega^2 m) + (i \omega c) \label{eq:dynamic\_stiffness} \end{equation} @@ -530,7 +557,7 @@ Any simple plot can only show two of the three quantities and so there are diffe ##### Bode Plot {#bode-plot} -Bode plot are usually displayed using logarithmic scales as shown on figure [fig:bode_plots](#fig:bode_plots). +Bode plot are usually displayed using logarithmic scales as shown on figure [3](#table--fig:bode-plots).
@@ -540,7 +567,7 @@ Bode plot are usually displayed using logarithmic scales as shown on figure [fig | ![](/ox-hugo/ewins00_bode_receptance.png) | ![](/ox-hugo/ewins00_bode_mobility.png) | ![](/ox-hugo/ewins00_bode_accelerance.png) | |-------------------------------------------|-----------------------------------------|--------------------------------------------| -| Receptance FRF | Mobility FRF | Accelerance FRF | +| Receptance FRF | Mobility FRF | Accelerance FRF | | width=\linewidth | width=\linewidth | width=\linewidth | Each plot can be divided into three regimes: @@ -552,7 +579,7 @@ Each plot can be divided into three regimes: ##### Real part and Imaginary part of FRF {#real-part-and-imaginary-part-of-frf} -Real and imaginary part of a receptance FRF of a damped SDOF system is shown on figure [fig:plot_receptance_real_imag](#fig:plot_receptance_real_imag). +Real and imaginary part of a receptance FRF of a damped SDOF system is shown on figure [4](#table--fig:plot-receptance-real-imag). This type of display is not widely used as we cannot use logarithmic axes (as we have to show positive and negative values). @@ -563,7 +590,7 @@ This type of display is not widely used as we cannot use logarithmic axes (as we | ![](/ox-hugo/ewins00_plot_receptance_real.png) | ![](/ox-hugo/ewins00_plot_receptance_imag.png) | |------------------------------------------------|------------------------------------------------| -| Real part | Imaginary part | +| Real part | Imaginary part | | width=\linewidth | width=\linewidth | @@ -571,7 +598,7 @@ This type of display is not widely used as we cannot use logarithmic axes (as we It can be seen from the expression of the inverse receptance \eqref{eq:dynamic_stiffness} that the Real part depends entirely on the mass and stiffness properties while the Imaginary part is a only function of the damping. -Figure [fig:inverse_frf_mixed](#fig:inverse_frf_mixed) shows an example of a plot of a system with a combination of both viscous and structural damping. The imaginary part is a straight line whose slope is given by the viscous damping rate \\(c\\) and whose intercept at \\(\omega = 0\\) is provided by the structural damping coefficient \\(d\\). +Figure [5](#org50f821d) shows an example of a plot of a system with a combination of both viscous and structural damping. The imaginary part is a straight line whose slope is given by the viscous damping rate \\(c\\) and whose intercept at \\(\omega = 0\\) is provided by the structural damping coefficient \\(d\\).
@@ -581,13 +608,13 @@ Figure [fig:inverse_frf_mixed](#fig:inverse_frf_mixed) shows an example of a plo | ![](/ox-hugo/ewins00_inverse_frf_mixed.png) | ![](/ox-hugo/ewins00_inverse_frf_viscous.png) | |---------------------------------------------|-----------------------------------------------| -| Mixed | Viscous | +| Mixed | Viscous | | width=\linewidth | width=\linewidth | ##### Real part vs Imaginary part of FRF {#real-part-vs-imaginary-part-of-frf} -Figure [fig:nyquist_receptance](#fig:nyquist_receptance) shows Nyquist type FRF plots of a viscously damped SDOF system. +Figure [6](#table--fig:nyquist-receptance) shows Nyquist type FRF plots of a viscously damped SDOF system. The missing information (in this case, the frequency) must be added by identifying the values of frequency corresponding to particular points on the curve. @@ -598,7 +625,7 @@ The missing information (in this case, the frequency) must be added by identifyi | ![](/ox-hugo/ewins00_nyquist_receptance_viscous.png) | ![](/ox-hugo/ewins00_nyquist_receptance_structural.png) | |------------------------------------------------------|---------------------------------------------------------| -| Viscous damping | Structural damping | +| Viscous damping | Structural damping | | width=\linewidth | width=\linewidth | The Nyquist plot has the particularity of distorting the plot so as to focus on the resonance area. @@ -612,9 +639,11 @@ This makes the Nyquist plot very effective for modal testing applications. For an undamped MDOF system, with \\(N\\) degrees of freedom, the governing equations of motion can be written in matrix form \eqref{eq:undamped_mdof}. -
+
+**MDOF - Equation of Motion**; + \begin{equation} [M] \\{\ddot{x}(t)\\} + [K] \\{x(t)\\} = \\{f(t)\\} \label{eq:undamped\_mdof} \end{equation} @@ -627,7 +656,7 @@ We shall consider first the free vibration solution by taking \\(f(t) = 0\\). In this case, we assume that a solution exists of the form \\(\\{x(t)\\} = \\{X\\} e^{i \omega t}\\) where \\(\\{X\\}\\) is an \\(N \times 1\\) vector of time-independent amplitudes. Substitution of this condition into \eqref{eq:undamped_mdof} leads to -\begin{equation} +\begin{equation} \label{eq:free\_eom\_mdof} \left( [K] - \omega^2 [M] \right) \\{X\\} e^{i\omega t} = \\{0\\} \end{equation} @@ -637,7 +666,7 @@ from which we can find \\(N\\) values of \\(\omega^2\\) corresponding to the und Substituting any of these back into \eqref{eq:free_eom_mdof} yields a corresponding set of relative values for \\(\\{X\\}\\): \\(\\{\psi\\}\_r\\) the so-called **mode shape** corresponding to that natural frequency. -
+
The complete solution can be expressed in two \\(N \times N\\) **eigen matrices**. @@ -664,17 +693,17 @@ Indeed, the natural frequencies are fixed quantities, and the mode shapes are su #### Orthogonality Properties {#orthogonality-properties} -
+
-The modal model possesses some very important properties known as the **orthogonality** properties: +The modal model possesses some very important properties known as the **orthogonality properties**: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} [\Psi]^T[M][\Psi] &= [m\_r]\\\\\\ [\Psi]^T[K][\Psi] &= [k\_r] - \end{align} -\end{subequations} + \end{aligned} +\end{equation} from which \\([\bar{\omega}\_r^2] = [m\_r]^{-1} [k\_r]\\) where \\(m\_r\\) and \\(k\_r\\) are often referred to as the **modal mass** and **modal stiffness** of mode \\(r\\). @@ -684,17 +713,17 @@ Now, because the eigenvector matrix is subject to an **arbitrary scaling factor* Among the many scaling or normalization processes, the **mass-normalization** has the most relevance. -
+
-The mass-mormalized eigenvectors are written as \\([\Phi]\\) and have the particular property that +The **mass-normalized eigenvectors** are written as \\([\Phi]\\) and have the particular property that -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} [\Phi]^T[M][\Phi] &= [I]\\\\\\ [\Phi]^T[K][\Phi] &= [\bar{\omega}\_r^2] - \end{align} -\end{subequations} + \end{aligned} +\end{equation}
@@ -712,20 +741,21 @@ As mentioned, there is no unique value for the modal mass as it is directly rela However, the ratio between any modal stiffness and its associated modal mass is unique and is equal to the corresponding eigenvalue. The modal mass is generally used to convert the original mode shape vector \\(\\{\Psi\\}\_r\\) to the more useful mass-normalized mode shape vector \\(\\{\Phi\\}\_r\\). -
+
Using the mass-normalized mode shape vectors, we can see how to derive quantities which provide us with information about the **effective mass** (or stiffness) at any point on the structure (any DOF \\(j\\)). -The effective mass at DOF \\(j\\) for mode \\(r\\) is define as + +The **effective mass** at DOF \\(j\\) for mode \\(r\\) is define as \\[ (m\_{jj})\_r = \frac{1}{(\phi\_{jr})^2}, \text{ which as units of mass} \\] -and the effective stiffness at DOF \\(j\\) for mode \\(r\\) +and the **effective stiffness** at DOF \\(j\\) for mode \\(r\\) \\[ (k\_{jj})\_r = \frac{\bar{\omega}\_r^2}{(\phi\_{jr}^2)} \\]
It can be seen that since the mass-normalized eigenvectors are unique, these effective mass and stiffness properties are also unique and represent a useful description of the behavior of the structure point by point, and mode by mode. -
+
The other quantities which are sometimes referred to as unique properties of each mode are the **generalized mass** and **generalized stiffness**. @@ -753,10 +783,10 @@ Assuming solutions of the form \\(\\{x(t)\\} = \\{X\\} e^{i \omega t}\\), equati That can be written in the following form: \\[ \\{X\\} = \left( [K] - \omega^2 [M] \right)^{-1} \\{F\\} \\] -
+
-We define the \\(N \times N\\) receptance FRF matrix as +We define the \\(N \times N\\) **receptance FRF matrix** as \\[ [\alpha(\omega)] = \left( [K] - \omega^2 [M] \right)^{-1} \\] It constitutes the **Response Model** of the system. @@ -779,28 +809,28 @@ Pre-multiply both sides by \\([\Phi]^T\\) and post-multiply both sides by \\([\P \\[ [\Phi]^T ([K] - \omega^2 [M]) [\Phi] = [\Phi]^T [\alpha(\omega)]^{-1} [\Phi] \\] which leads to \eqref{eq:receptance_modal}. -
+
+Receptance FRF matrix - Modal Properties; + \begin{equation} [\alpha(\omega)] = [\Phi] \left[ \bar{\omega}\_r^2 - \omega^2 \right]^{-1} [\Phi]^T \label{eq:receptance\_modal} \end{equation} Equation \eqref{eq:receptance_modal} permits us to compute any individual FRF parameters \\(\alpha\_{jk}(\omega)\\) using the following formula -\begin{subequations} - \begin{align} - \alpha\_{jk}(\omega) &= \sum\_{r=1}^N \frac{\phi\_{jr} \phi\_{kr}}{\bar{\omega}\_r^2 - \omega^2}\\\\\\ - &= \sum\_{r=1}^N \frac{\psi\_{jr} \psi\_{kr}}{m\_r (\bar{\omega}\_r^2 - \omega^2)}\\\\\\ - &= \sum\_{r=1}^N \frac{{}\_rA\_{jk}}{\bar{\omega}\_r^2 - \omega^2} - \end{align} -\end{subequations} +\begin{align} + \alpha\_{jk}(\omega) &= \sum\_{r=1}^N \frac{\phi\_{jr} \phi\_{kr}}{\bar{\omega}\_r^2 - \omega^2}\\\\\\ + &= \sum\_{r=1}^N \frac{\psi\_{jr} \psi\_{kr}}{m\_r (\bar{\omega}\_r^2 - \omega^2)}\\\\\\ + &= \sum\_{r=1}^N \frac{{}\_rA\_{jk}}{\bar{\omega}\_r^2 - \omega^2} +\end{align} where \\({}\_rA\_{jk}\\) is called the **modal constant**.
-
+
It is clear from equation \eqref{eq:receptance_modal} that the receptance matrix \\([\alpha(\omega)]\\) is **symmetric** and this will be recognized as the **principle of reciprocity**. @@ -851,7 +881,7 @@ or If the damping matrix is proportional to the mass matrix, exactly the same type of result is obtained. A usual definition of proportional damping is that the damping matrix \\([C]\\) should be of the form -\begin{equation} +\begin{equation} \label{eq:rayleigh\_damping} \tcmbox{[C] = \beta [K] + \gamma [M]} \end{equation} @@ -915,13 +945,13 @@ and we define the mass-normalized eigenvectors For the forced vibration analysis in the case of harmonic excitation and response, we obtain -\begin{equation} +\begin{equation} \label{eq:force\_response\_eom} \\{X\\} = \left( [K] + i[D] - \omega^2[M] \right)^{-1} \\{F\\} \end{equation} By multiplying both sides of the equation by the eigenvectors, we can write -\begin{equation} +\begin{equation} \label{eq:force\_response\_eom\_solution} [\alpha(\omega)] = [\Phi] [\lambda\_r^2 - \omega^2]^{-1} [\Phi]^T \end{equation} @@ -944,7 +974,7 @@ Having derived an expression for the general term in the frequency response func The general behavior for this case is governed by equation \eqref{eq:force_response_eom} with solution \eqref{eq:force_response_eom_solution}. However, a more explicit form of the solution is -\begin{equation} +\begin{equation} \label{eq:ods} \\{X\\} = \sum\_{r=1}^N \frac{\\{\phi\\}\_r^T \\{F\\} \\{\phi\\}\_r}{\omega\_r^2 - \omega^2 + i \eta\_r \omega\_r^2} \end{equation} @@ -956,7 +986,7 @@ The resulting vector of responses is sometimes referred to as **force vibration It is possible to choose the vector of individual forces such that the response of the structure is entirely controlled by a **single normal mode** of the structure. -
+
The **normal modes** are the characteristic modes of the structure in its actual (damped) state. @@ -1039,24 +1069,20 @@ where \\(\omega\_r\\) is the **natural frequency** and \\(\xi\_r\\) is the **cri **Orthogonality equations** can also be derived: -\begin{subequations} - \begin{align} - (s\_r + s\_q) \\{\psi\\}\_q^T [M] \\{\psi\\}\_r + \\{\psi\\}\_q^T [C] \\{\psi\\}\_r &= 0 \\\\\\ - s\_r s\_q \\{\psi\\}\_q^T [M] \\{\psi\\}\_r - \\{\psi\\}\_q^T [K] \\{\psi\\}\_r &= 0 - \end{align} -\end{subequations} +\begin{align} \label{eq:viscous\_damping\_orthogonality} + (s\_r + s\_q) \\{\psi\\}\_q^T [M] \\{\psi\\}\_r + \\{\psi\\}\_q^T [C] \\{\psi\\}\_r &= 0 \\\\\\ + s\_r s\_q \\{\psi\\}\_q^T [M] \\{\psi\\}\_r - \\{\psi\\}\_q^T [K] \\{\psi\\}\_r &= 0 +\end{align} When the modes \\(r\\) and \\(q\\) are a complex conjugate pair: \\[ s\_r = \omega\_r \left( -\xi\_r - i\sqrt{1 - \xi\_r^2} \right); \quad \\{\psi\\}\_q = \\{\psi\\}\_r^\* \\] From equations \eqref{eq:viscous_damping_orthogonality}, we can obtain -\begin{subequations} - \begin{align} - 2 \omega\_r \xi\_r &= \frac{\\{\psi\\}\_r^H [C] \\{\psi\\}\_r}{\\{\psi\\}\_r^H [M] \\{\psi\\}\_r} = \frac{c\_r}{m\_r} \\\\\\ - \omega\_r^2 &= \frac{\\{\psi\\}\_r^H [K] \\{\psi\\}\_r}{\\{\psi\\}\_r^H [M] \\{\psi\\}\_r} = \frac{k\_r}{m\_r} - \end{align} -\end{subequations} +\begin{align} + 2 \omega\_r \xi\_r &= \frac{\\{\psi\\}\_r^H [C] \\{\psi\\}\_r}{\\{\psi\\}\_r^H [M] \\{\psi\\}\_r} = \frac{c\_r}{m\_r} \\\\\\ + \omega\_r^2 &= \frac{\\{\psi\\}\_r^H [K] \\{\psi\\}\_r}{\\{\psi\\}\_r^H [M] \\{\psi\\}\_r} = \frac{k\_r}{m\_r} +\end{align} #### Forced response solution {#forced-response-solution} @@ -1088,7 +1114,7 @@ The main difference with the result obtained with the proportional damping is in We saw that we can obtain complex eigenvalues whose real part represents the decay and imaginary part the oscillatory component. We can also obtain **complex eigenvectors** which means that the **mode shapes are complex**. -
+
A **complex mode** is one in which each part of the structure has not only its own magnitude of vibration but also its **own phase**. @@ -1096,7 +1122,7 @@ As a result, each part of a structure which is vibrating in a complex mode will
-
+
A **real mode** is one in which the phase angles are all identically \\(\SI{0}{\degree}\\) or \\(\SI{180}{\degree}\\) and which there has the property that all parts in the structure do reach their own maxima at the same time. @@ -1104,13 +1130,13 @@ Equally, in a real mode, all parts of the structure pass through their **zero de
-While the real mode has the appearance of a **standing wave**, the complex mode is better described as exhibiting **traveling waves** (illustrated on figure [fig:real_complex_modes](#fig:real_complex_modes)). +While the real mode has the appearance of a **standing wave**, the complex mode is better described as exhibiting **traveling waves** (illustrated on figure [6](#org9e29afc)). - + {{< figure src="/ox-hugo/ewins00_real_complex_modes.png" caption="Figure 6: Real and complex mode shapes displays" >}} -Another method of displaying **modal complexity** is by plotting the elements of the eigenvector on an **Argand diagram**, such as the ones shown in figure [fig:argand_diagram](#fig:argand_diagram). +Another method of displaying **modal complexity** is by plotting the elements of the eigenvector on an **Argand diagram**, such as the ones shown in figure [7](#table--fig:argand-diagram). Note that the almost-real mode shape does not necessarily have vector elements with near \\(\SI{0}{\degree}\\) or near \\(\SI{180}{\degree}\\) phase, what matters are the **relative phases** between the different elements. @@ -1121,7 +1147,7 @@ Note that the almost-real mode shape does not necessarily have vector elements w | ![](/ox-hugo/ewins00_argand_diagram_a.png) | ![](/ox-hugo/ewins00_argand_diagram_b.png) | ![](/ox-hugo/ewins00_argand_diagram_c.png) | |--------------------------------------------|--------------------------------------------|-----------------------------------------------| -| Almost-real mode | Complex Mode | Measure of complexity | +| Almost-real mode | Complex Mode | Measure of complexity | | width=\linewidth | width=\linewidth | width=\linewidth | @@ -1131,7 +1157,7 @@ There exist few indicators of the modal complexity. The first one, a simple and crude one, called **MCF1** consists of summing all the phase differences between every combination of two eigenvector elements: \\[ \text{MCF1} = \sum\_{j=1}^N \sum\_{k=1 \neq j}^N (\theta\_{rj} - \theta\_{rk}) \\] -The second measure is shown on figure [fig:argand_diagram_c](#fig:argand_diagram_c) where a polygon is drawn around the extremities of the individual vectors. +The second measure is shown on figure [7](#org4118fbf) where a polygon is drawn around the extremities of the individual vectors. The obtained area of this polygon is then compared with the area of the circle which is based on the length of the largest vector element. The resulting ratio is used as an indication of the complexity of the mode, and is defined as **MCF2**. @@ -1171,7 +1197,7 @@ The second definition comes from the general form of the FRF expression: Here \\(C\_r\\) may be complex whereas \\(D\_r\\) is real. \\(\omega\_r\\) is in general different to both \\(\bar{\omega}\_r\\) and \\(\omega\_r^\prime\\). -Table [tab:frf_natural_frequencies](#tab:frf_natural_frequencies) summarizes all the different cases. +Table [8](#table--tab:frf-natural-frequencies) summarizes all the different cases.
@@ -1227,7 +1253,7 @@ We write \\(\alpha\_{11}\\) the point FRF and \\(\alpha\_{21}\\) the transfer FR It can be seen that the only difference between the point and transfer receptance is in the sign of the modal constant of the second mode. -Consider the first point mobility (figure [fig:mobility_frf_mdof_point](#fig:mobility_frf_mdof_point)), between the two resonances, the two components have opposite signs so that they are substractive rather than additive, and indeed, at the point where they cross, their sum is zero. +Consider the first point mobility (figure [9](#org1acadea)), between the two resonances, the two components have opposite signs so that they are substractive rather than additive, and indeed, at the point where they cross, their sum is zero. On a logarithmic plot, this produces the antiresonance characteristic which reflects that of the resonance. @@ -1238,10 +1264,10 @@ On a logarithmic plot, this produces the antiresonance characteristic which refl | ![](/ox-hugo/ewins00_mobility_frf_mdof_point.png) | ![](/ox-hugo/ewins00_mobility_frf_mdof_transfer.png) | |---------------------------------------------------|------------------------------------------------------| -| Point FRF | Transfer FRF | +| Point FRF | Transfer FRF | | width=\linewidth | width=\linewidth | -For the plot in figure [fig:mobility_frf_mdof_transfer](#fig:mobility_frf_mdof_transfer), between the two resonances, the two components have the same sign and they add up, no antiresonance is present. +For the plot in figure [9](#orgff3476c), between the two resonances, the two components have the same sign and they add up, no antiresonance is present. ##### FRF modulus plots for MDOF systems {#frf-modulus-plots-for-mdof-systems} @@ -1257,13 +1283,13 @@ If they have apposite signs, there will not be an antiresonance. ##### Bode plots {#bode-plots} The resonances and antiresonances are blunted by the inclusion of damping, and the phase angles are no longer exactly \\(\SI{0}{\degree}\\) or \\(\SI{180}{\degree}\\), but the general appearance of the plot is a natural extension of that for the system without damping. -Figure [fig:frf_damped_system](#fig:frf_damped_system) shows a plot for the same mobility as appears in figure [fig:mobility_frf_mdof_point](#fig:mobility_frf_mdof_point) but here for a system with added damping. +Figure [7](#orga72841a) shows a plot for the same mobility as appears in figure [9](#org1acadea) but here for a system with added damping. Most mobility plots have this general form as long as the modes are relatively well-separated. This condition is satisfied unless the separation between adjacent natural frequencies is of the same order as, or less than, the modal damping factors, in which case it becomes difficult to distinguish the individual modes. - + {{< figure src="/ox-hugo/ewins00_frf_damped_system.png" caption="Figure 7: Mobility plot of a damped system" >}} @@ -1272,9 +1298,9 @@ This condition is satisfied unless the separation between adjacent natural frequ Each of the frequency response of a MDOF system in the Nyquist plot is composed of a number of SDOF components. -Figure [fig:nyquist_point](#fig:nyquist_point) shows the result of plotting the point receptance \\(\alpha\_{11}\\) for the 2DOF system described above. +Figure [10](#org498fea6) shows the result of plotting the point receptance \\(\alpha\_{11}\\) for the 2DOF system described above. -The plot for the transfer receptance \\(\alpha\_{21}\\) is presented in figure [fig:nyquist_transfer](#fig:nyquist_transfer) where it may be seen that the opposing signs of the modal constants of the two modes have caused one of the modal circle to be in the upper half of the complex plane. +The plot for the transfer receptance \\(\alpha\_{21}\\) is presented in figure [10](#org6052b7b) where it may be seen that the opposing signs of the modal constants of the two modes have caused one of the modal circle to be in the upper half of the complex plane.
@@ -1284,10 +1310,10 @@ The plot for the transfer receptance \\(\alpha\_{21}\\) is presented in figure [ | ![](/ox-hugo/ewins00_nyquist_point.png) | ![](/ox-hugo/ewins00_nyquist_transfer.png) | |------------------------------------------|---------------------------------------------| -| Point receptance | Transfer receptance | +| Point receptance | Transfer receptance | | width=\linewidth | width=\linewidth | -In the two figures [fig:nyquist_nonpropdamp_point](#fig:nyquist_nonpropdamp_point) and [fig:nyquist_nonpropdamp_transfer](#fig:nyquist_nonpropdamp_transfer), we show corresponding data for **non-proportional** damping. +In the two figures [11](#org6a1d778) and [11](#org58ff327), we show corresponding data for **non-proportional** damping. In this case, a relative phase has been introduced between the first and second elements of the eigenvectors: of \\(\SI{30}{\degree}\\) in mode 1 and of \\(\SI{150}{\degree}\\) in mode 2. Now we find that the individual modal circles are no longer "upright" but are **rotated by an amount dictated by the complexity of the modal constants**. @@ -1299,7 +1325,7 @@ Now we find that the individual modal circles are no longer "upright" but are ** | ![](/ox-hugo/ewins00_nyquist_nonpropdamp_point.png) | ![](/ox-hugo/ewins00_nyquist_nonpropdamp_transfer.png) | |-----------------------------------------------------|--------------------------------------------------------| -| Point receptance | Transfer receptance | +| Point receptance | Transfer receptance | | width=\linewidth | width=\linewidth | @@ -1348,7 +1374,7 @@ One these two series are available, the FRF can be defined at the same set of fr For most transient cases, the input function \\(f(t)\\) will satisfy the **Dirichlet condition** and so its Fourier Transform \\(F(\omega)\\) can be computed from \eqref{eq:fourier_transform}. -\begin{equation} +\begin{equation} \label{eq:fourier\_transform} F(\omega) = \frac{1}{2 \pi} \int\_{-\infty}^\infty f(t) e^{i\omega t} dt \end{equation} @@ -1415,7 +1441,7 @@ Neither excitation nor response signals can be subjected to a valid Fourier Tran It is necessary to introduce the **Correlation Function** and the **Spectral Densities**. -
+
The **Autocorrelation Function** \\(R\_{ff}(\tau)\\) of a random vibration parameter \\(f(t)\\), is defined as the expected value of the product \\(f(t) f(t + \tau)\\) computed along the time axis. @@ -1431,9 +1457,11 @@ This correlation function, unlike the original quantity \\(f(t)\\) does satisfy The resulting parameter we shall call a **Spectral Density**, in this case the **Auto** or **Power Spectral Density** (PSD) \\(S\_{ff}(\omega)\\). -
+
+**Power Spectral Density**: + \begin{equation} S\_{ff}(\omega) = \frac{1}{2\pi} \int\_{-\infty}^\infty R\_{ff}(\tau) e^{-i \omega \tau} d\tau \label{eq:powerspectraldensity} \end{equation} @@ -1443,7 +1471,7 @@ The resulting parameter we shall call a **Spectral Density**, in this case the * The Spectral Density is a real and even function of frequency, and does in fact provides a description of the frequency composition of the original function \\(f(t)\\). It has units of \\(f^2/\omega\\). -Examples of random signals, autocorrelation function and power spectral density are shown on figure [fig:random_signals](#fig:random_signals). +Examples of random signals, autocorrelation function and power spectral density are shown on figure [12](#table--fig:random-signals).
@@ -1453,15 +1481,15 @@ Examples of random signals, autocorrelation function and power spectral density | ![](/ox-hugo/ewins00_random_time.png) | ![](/ox-hugo/ewins00_random_autocorrelation.png) | ![](/ox-hugo/ewins00_random_psd.png) | |---------------------------------------|--------------------------------------------------|------------------------------------------------| -| Time history | Autocorrelation Function | Power Spectral Density | +| Time history | Autocorrelation Function | Power Spectral Density | | width=\linewidth | width=\linewidth | width=\linewidth | A similar concept can be applied to a pair of functions such as \\(f(t)\\) and \\(x(t)\\) to produce **cross correlation** and **cross spectral density** functions. -
+
-The cross correlation function \\(R\_{xf}(\tau)\\) between functions \\(f(t)\\) and \\(x(t)\\) is defined as +The **cross correlation function** \\(R\_{xf}(\tau)\\) between functions \\(f(t)\\) and \\(x(t)\\) is defined as \begin{equation} R\_{xf}(\tau) = E[x(t) f(t + \tau)] \label{eq:crosscorelation} @@ -1469,10 +1497,10 @@ The cross correlation function \\(R\_{xf}(\tau)\\) between functions \\(f(t)\\)
-
+
-The Cross Spectral Density (CSD) is defined as the Fourier Transform of the Cross Correlation function: +The **Cross Spectral Density** (CSD) is defined as the Fourier Transform of the Cross Correlation function: \begin{equation} S\_{xf}(\omega) = \frac{1}{2\pi} \int\_{-\infty}^\infty R\_{xf}(\tau) e^{-i \omega \tau} d\tau \label{eq:cross\_spectral\_density} @@ -1492,7 +1520,7 @@ Using this property, it is possible to derive an expression for $x(t) and for \\ This equation can be manipulated to describe the response autocorrelation in terms of the corresponding property of the excitation \\(R\_{ff}\\), but the result is complicated. However, the same equation can be transform to the frequency domain -\begin{equation} +\begin{equation} \label{eq:psd\_input\_output} \tcmbox{ S\_{xx}(\omega) = \left| H(\omega) \right|^2 S\_{ff}(\omega) } \end{equation} @@ -1501,15 +1529,13 @@ Further, it is clear that **is could not be used to determine the FRF** from mea A second equation is required and this may be obtain by a similar analysis, two alternative formulas can be obtained \eqref{eq:cross_relation_alternatives}. -
+
-\begin{subequations} - \begin{align} - S\_{fx}(\omega) &= H(\omega) S\_{ff}(\omega) \\\\\\ - S\_{xx}(\omega) &= H(\omega) S\_{xf}(\omega) - \end{align} -\end{subequations} +\begin{align} \label{eq:cross\_relation\_alternatives} + S\_{fx}(\omega) &= H(\omega) S\_{ff}(\omega) \\\\\\ + S\_{xx}(\omega) &= H(\omega) S\_{xf}(\omega) +\end{align}
@@ -1517,17 +1543,18 @@ A second equation is required and this may be obtain by a similar analysis, two ##### To derive FRF from random vibration signals {#to-derive-frf-from-random-vibration-signals} The pair of equations \eqref{eq:cross_relation_alternatives} provides the basic of determining a system's FRF properties from the measurements and analysis of a random vibration test. -Using either of them, we have a simple formula for determining the FRF from estimates of the relevant spectral densities \eqref{eq:frf_estimates_spectral_densities}. +Using either of them, we have a simple formula for determining the FRF from estimates of the relevant spectral densities \eqref{eq:H1} \eqref{eq:H2}. -
+
-\begin{subequations} - \begin{align} - H(\omega) &= \frac{S\_{fx}(\omega)}{S\_{ff}(\omega)} = H\_1(\omega)\label{eq:H1} \\\\\\ - H(\omega) &= \frac{S\_{xx}(\omega)}{S\_{xf}(\omega)} = H\_2(\omega)\label{eq:H2} - \end{align} -\end{subequations} +\begin{equation} \label{eq:H1} + H(\omega) = \frac{S\_{fx}(\omega)}{S\_{ff}(\omega)} = H\_1(\omega) +\end{equation} + +\begin{equation} \label{eq:H2} + H(\omega) = \frac{S\_{xx}(\omega)}{S\_{xf}(\omega)} = H\_2(\omega) +\end{equation}
@@ -1539,8 +1566,8 @@ The existence of two equations presents an opportunity to **check the quality** There are difficulties to implement some of the above formulae in practice because of noise and other limitations concerned with the data acquisition and processing. One technique involves **three quantities**, rather than two, in the definition of the output/input ratio. -The system considered can best be described with reference to figure [fig:frf_determination](#fig:frf_determination) which shows first in [fig:frf_siso_model](#fig:frf_siso_model) the traditional single-input single-output model upon which the previous formulae are based. -Then in [fig:frf_feedback_model](#fig:frf_feedback_model) is given a more detailed and representative model of the system which is used in a modal test. +The system considered can best be described with reference to figure [13](#table--fig:frf-determination) which shows first in [13](#orgc413fea) the traditional single-input single-output model upon which the previous formulae are based. +Then in [13](#org1dd02c9) is given a more detailed and representative model of the system which is used in a modal test.
@@ -1550,16 +1577,16 @@ Then in [fig:frf_feedback_model](#fig:frf_feedback_model) is given a more detail | ![](/ox-hugo/ewins00_frf_siso_model.png) | ![](/ox-hugo/ewins00_frf_feedback_model.png) | |------------------------------------------|--------------------------------------------------| -| Basic SISO model | SISO model with feedback | +| Basic SISO model | SISO model with feedback | | width=\linewidth | width=\linewidth | In this configuration, it can be seen that there are two feedback mechanisms which apply. We then introduce an alternative formula which is available for the determination of the system FRF from measurements of the input and output quantities \eqref{eq:H3}. -
+
-\begin{equation} +\begin{equation} \label{eq:H3} H(\omega) = \frac{S\_{x^\prime v}(\omega)}{S\_{f^\prime v(\omega)}} = H\_3(\omega) \end{equation} @@ -1570,20 +1597,18 @@ where \\(v\\) is a third signal in the system. ##### Derivation of FRF from MIMO data {#derivation-of-frf-from-mimo-data} -A diagram for the general n-input case is shown in figure [fig:frf_mimo](#fig:frf_mimo). +A diagram for the general n-input case is shown in figure [8](#orgad01713). We obtain two alternative formulas: -\begin{subequations} - \begin{align} +\begin{align} \left[ H\_{xf}(\omega) \right]\_{n \times n} &= \left[ S\_{x^\prime v}(\omega) \right]\_{n \times n} \left[ S\_{f^\prime v}(\omega) \right]\_{n \times n}^{-1} \\\\\\ \left[ H\_{xf}(\omega) \right]\_{n \times n} &= \left[ S\_{f^\prime f^\prime}(\omega) \right]\_{n \times n}^{-1} \left[ S\_{x^\prime f^\prime}(\omega) \right]\_{n \times n} - \end{align} -\end{subequations} +\end{align} In practical application of both of these formulae, care must be taken to ensure the non-singularity of the spectral density matrix which is to be inverted, and it is in this respect that the former version may be found to be more reliable. - + {{< figure src="/ox-hugo/ewins00_frf_mimo.png" caption="Figure 8: System for FRF determination via MIMO model" >}} @@ -1597,7 +1622,7 @@ Most of the preceding theory has been concerned with complete models; that is, t While this is a valid approach for a theoretical study, it is less generally applicable for experimentally-based investigations where it is **not usually possible to measure all the DOFs**, or to examine all the modes possessed by a structure. Because of this limitation, it is necessary to extend our analysis to examine the **implications of having access to something less than a complete set of data**, or model, and this leads us to the concept of a **reduced** or **incomplete** type of model. -
+
There are **different types of incomplete models**: @@ -1677,23 +1702,23 @@ It has been shown that the **orthogonality properties** of the modal model provi \\[ [\Phi]^T [M] [\Phi] = [I]; \quad [\Phi]^T [K] [\Phi] = [\omega\_r^2] \\] Which can be inverted to yield -\begin{subequations} - \begin{align} +\begin{equation} \label{eq:spatial\_model\_from\_modal} + \begin{aligned} [M] &= [\Phi]^{-T}[\Phi]^{-1}\\\\\\ [K] &= [\Phi]^{-T}[\omega\_r^2][\Phi]^{-1} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} If the modal model is incomplete, then we can note the implications for the orthogonality properties. First, if we have a **modal incompleteness** (\\(m +
-The sensitivity of a model describe the rates of change of some of the key properties, such as the natural frequencies and mode shapes, with small changes in some of the modal parameters, such as individual masses of stiffnesses. +The **sensitivity** of a model describe the rates of change of some of the key properties, such as the natural frequencies and mode shapes, with small changes in some of the modal parameters, such as individual masses of stiffnesses.
@@ -1853,9 +1878,9 @@ The experimental setup used for mobility measurement contains three major items: 2. **A transduction system**. For the most part, piezoelectric transducer are used, although lasers and strain gauges are convenient because of their minimal interference with the test object. Conditioning amplifiers are used depending of the transducer used 3. **An analyzer** -A typical layout for the measurement system is shown on figure [fig:general_frf_measurement_setup](#fig:general_frf_measurement_setup). +A typical layout for the measurement system is shown on figure [9](#org5658974). - + {{< figure src="/ox-hugo/ewins00_general_frf_measurement_setup.png" caption="Figure 9: General layout of FRF measurement system" >}} @@ -1909,21 +1934,21 @@ However, we need a direct measurement of the force applied to the structure (we The shakers are usually stiff in the orthogonal directions to the excitation. This can modify the response of the system in those directions. -In order to avoid that, a drive rod which is stiff in one direction and flexible in the other five directions is attached between the shaker and the structure as shown on figure [fig:shaker_rod](#fig:shaker_rod). +In order to avoid that, a drive rod which is stiff in one direction and flexible in the other five directions is attached between the shaker and the structure as shown on figure [10](#org227d83a). Typical size for the rod are \\(5\\) to \\(\SI{10}{mm}\\) long and \\(\SI{1}{mm}\\) in diameter, if the rod is longer, it may introduce the effect of its own resonances. - + {{< figure src="/ox-hugo/ewins00_shaker_rod.png" caption="Figure 10: Exciter attachment and drive rod assembly" >}} The support of shaker is also of primary importance. -The setup shown on figure [fig:shaker_mount_1](#fig:shaker_mount_1) presents the most satisfactory arrangement in which the shaker is fixed to ground while the test structure is supported by a soft spring. +The setup shown on figure [14](#org0d724dc) presents the most satisfactory arrangement in which the shaker is fixed to ground while the test structure is supported by a soft spring. -Figure [fig:shaker_mount_2](#fig:shaker_mount_2) shows an alternative configuration in which the shaker itself is supported. +Figure [14](#orgf8ba17d) shows an alternative configuration in which the shaker itself is supported. It may be necessary to add an additional inertia mass to the shaker in order to generate sufficient excitation forces at low frequencies. -Figure [fig:shaker_mount_3](#fig:shaker_mount_3) shows an unsatisfactory setup. Indeed, the response measured at \\(A\\) would not be due solely to force applied at \\(B\\), but would also be caused by the forces applied at \\(C\\). +Figure [14](#orge6e0404) shows an unsatisfactory setup. Indeed, the response measured at \\(A\\) would not be due solely to force applied at \\(B\\), but would also be caused by the forces applied at \\(C\\).
@@ -1933,7 +1958,7 @@ Figure [fig:shaker_mount_3](#fig:shaker_mount_3) shows an unsatisfactory setup. | ![](/ox-hugo/ewins00_shaker_mount_1.png) | ![](/ox-hugo/ewins00_shaker_mount_2.png) | ![](/ox-hugo/ewins00_shaker_mount_3.png) | |---------------------------------------------|-------------------------------------------------|------------------------------------------| -| Ideal Configuration | Suspended Configuration | Unsatisfactory | +| Ideal Configuration | Suspended Configuration | Unsatisfactory | | width=\linewidth | width=\linewidth | width=\linewidth | @@ -1948,10 +1973,10 @@ The magnitude of the impact is determined by the mass of the hammer head and its The frequency range which is effectively excited is controlled by the stiffness of the contacting surface and the mass of the impactor head: there is a resonance at a frequency given by \\(\sqrt{\frac{\text{contact stiffness}}{\text{impactor mass}}}\\) above which it is difficult to deliver energy into the test structure. -When the hammer tip impacts the test structure, this will experience a force pulse as shown on figure [fig:hammer_impulse](#fig:hammer_impulse). -A pulse of this type (half-sine shape) has a frequency content of the form illustrated on figure [fig:hammer_impulse](#fig:hammer_impulse). +When the hammer tip impacts the test structure, this will experience a force pulse as shown on figure [11](#orgf285619). +A pulse of this type (half-sine shape) has a frequency content of the form illustrated on figure [11](#orgf285619). - + {{< figure src="/ox-hugo/ewins00_hammer_impulse.png" caption="Figure 11: Typical impact force pulse and spectrum" >}} @@ -1980,9 +2005,9 @@ By suitable design, such a material may be incorporated into a device which **in #### Force Transducers {#force-transducers} The force transducer is the simplest type of piezoelectric transducer. -The transmitter force \\(F\\) is applied directly across the crystal, which thus generates a corresponding charge \\(q\\), proportional to \\(F\\) (figure [fig:piezo_force_transducer](#fig:piezo_force_transducer)). +The transmitter force \\(F\\) is applied directly across the crystal, which thus generates a corresponding charge \\(q\\), proportional to \\(F\\) (figure [12](#org7500151)). - + {{< figure src="/ox-hugo/ewins00_piezo_force_transducer.png" caption="Figure 12: Force transducer" >}} @@ -1991,11 +2016,11 @@ There exists an undesirable possibility of a cross sensitivity, i.e. an electric #### Accelerometers {#accelerometers} -In an accelerometer, transduction is indirect and is achieved using a seismic mass (figure [fig:piezo_accelerometer](#fig:piezo_accelerometer)). +In an accelerometer, transduction is indirect and is achieved using a seismic mass (figure [13](#org8d7da26)). In this configuration, the force exerted on the crystals is the inertia force of the seismic mass (\\(m\ddot{z}\\)). Thus, so long as the body and the seismic mass move together, the output of the transducer will be proportional to the acceleration of its body \\(x\\). - + {{< figure src="/ox-hugo/ewins00_piezo_accelerometer.png" caption="Figure 13: Compression-type of piezoelectric accelerometer" >}} @@ -2031,9 +2056,9 @@ However, they cannot be used at such low frequencies as the charge amplifiers an The correct installation of transducers, especially accelerometers is important. There are various means of fixing the transducers to the surface of the test structure, some more convenient than others. -Some of these methods are illustrated in figure [fig:transducer_mounting_types](#fig:transducer_mounting_types). +Some of these methods are illustrated in figure [15](#orgf956916). -Shown on figure [fig:transducer_mounting_response](#fig:transducer_mounting_response) are typical high frequency limits for each type of attachment. +Shown on figure [15](#orga10bae6) are typical high frequency limits for each type of attachment.
@@ -2043,7 +2068,7 @@ Shown on figure [fig:transducer_mounting_response](#fig:transducer_mounting_resp | ![](/ox-hugo/ewins00_transducer_mounting_types.png) | ![](/ox-hugo/ewins00_transducer_mounting_response.png) | |-----------------------------------------------------|------------------------------------------------------------| -| Attachment methods | Frequency response characteristics | +| Attachment methods | Frequency response characteristics | | width=\linewidth | width=\linewidth | @@ -2081,12 +2106,12 @@ In its simplest form, this states that a function \\(x(t)\\), periodic in time \ where \\(a\_i\\) and \\(b\_i\\) can be computed from knowledge of \\(x(t)\\) via the relationships: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} a\_n &= \frac{2}{T} \int\_0^T x(t) \cos \left(\frac{2 \pi n t }{T} \right) \\\\\\ b\_n &= \frac{2}{T} \int\_0^T x(t) \sin \left(\frac{2 \pi n t }{T} \right) - \end{align} -\end{subequations} + \end{aligned} +\end{equation} In the situation where \\(x(t)\\) is discretised and of finite duration, so that it is defined only at a set of \\(N\\) particular values of time (\\(t\_k; k = 1, \dots, N\\)), we can write a finite Fourier series for \\(k = 1, \dots, N\\): @@ -2097,12 +2122,12 @@ In the situation where \\(x(t)\\) is discretised and of finite duration, so that The coefficients \\(a\_i\\) and \\(b\_i\\) are the Fourier or Spectral coefficients for the function \\(x(t)\\) and they are often displayed in **modulus and phase form**: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} x\_n &= \sqrt{a\_n^2 + b\_n^2} \\\\\\ \phi\_n &= t g^{-1} \left( \frac{-b\_n}{a\_n} \right) - \end{align} -\end{subequations} + \end{aligned} +\end{equation} #### Basics of the DFT {#basics-of-the-dft} @@ -2113,12 +2138,12 @@ There is a basic relationship between the sample length \\(T\\), the number of d The range of the spectrum is \\([0, \omega\_\text{max}]\\) (\\(\omega\_\text{max}\\) is called the Nyquist frequency), and the resolution of lines in the spectrum is \\(\Delta\_\omega\\): -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} \omega\_{\text{max}} &= \frac{\omega\_s}{2} = \frac{1}{2} \left( \frac{2\pi N}{T} \right) \\\\\\ \Delta\_\omega &= \frac{\omega\_s}{N} = \frac{2\pi}{T} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} Various algorithms can be used to determine the spectral composition of the sampled signal, however, the most widely used is the **Fast Fourier Transform**. That however requires \\(N\\) to be an integral power of \\(2\\). @@ -2128,16 +2153,16 @@ That however requires \\(N\\) to be an integral power of \\(2\\). Aliasing originates from the discretisation of the originally continuous time history. With this discretisation process, the **existence of very high frequencies in the original signal may well be misinterpreted if the sampling rate is too slow**. -These high frequencies will be **indistinguishable** from genuine low frequency components as shown on figure [fig:aliasing](#fig:aliasing). +These high frequencies will be **indistinguishable** from genuine low frequency components as shown on figure [14](#org88605d5). - + {{< figure src="/ox-hugo/ewins00_aliasing.png" caption="Figure 14: The phenomenon of aliasing. On top: Low-frequency signal, On the bottom: High frequency signal" >}} A signal of frequency \\(\omega\\) and one of frequency \\(\omega\_s-\omega\\) are indistinguishable and this causes a **distortion of the spectrum** measured via the DFT. As a result, the part of the signal which has frequency components above \\(\omega\_s/2\\) will appear reflected or **aliased** in the range \\([0, \omega\_s/2]\\). -This is illustrated on figure [fig:effect_aliasing](#fig:effect_aliasing). +This is illustrated on figure [16](#table--fig:effect-aliasing).
@@ -2147,7 +2172,7 @@ This is illustrated on figure [fig:effect_aliasing](#fig:effect_aliasing). | ![](/ox-hugo/ewins00_aliasing_no_distortion.png) | ![](/ox-hugo/ewins00_aliasing_distortion.png) | |--------------------------------------------------|-----------------------------------------------------| -| True spectrum of signal | Indicated spectrum from DFT | +| True spectrum of signal | Indicated spectrum from DFT | | width=\linewidth | width=\linewidth | The solution of the problem is to use an **anti-aliasing filter** which subjects the original time signal to a low-pass, sharp cut-off filter. @@ -2168,12 +2193,12 @@ Leakage is a problem which is a direct **consequence of the need to take only a | ![](/ox-hugo/ewins00_leakage_ok.png) | ![](/ox-hugo/ewins00_leakage_nok.png) | |--------------------------------------|----------------------------------------| -| Ideal signal | Awkward signal | +| Ideal signal | Awkward signal | | width=\linewidth | width=\linewidth | -The problem is illustrated on figure [fig:leakage](#fig:leakage). -In the first case (figure [fig:leakage_ok](#fig:leakage_ok)), the signal is perfectly periodic and the resulting spectrum is just a single line at the frequency of the sine wave. -In the second case (figure [fig:leakage_nok](#fig:leakage_nok)), the periodicity assumption is not strictly valid as there is a discontinuity at each end of the sample. +The problem is illustrated on figure [17](#table--fig:leakage). +In the first case (figure [17](#org5c4b348)), the signal is perfectly periodic and the resulting spectrum is just a single line at the frequency of the sine wave. +In the second case (figure [17](#org9371337)), the periodicity assumption is not strictly valid as there is a discontinuity at each end of the sample. As a result, the spectrum produced for this case does not indicate the single frequency which the original time signal possessed. Energy has "leaked" into a number of the spectral lines close to the true frequency and the spectrum is spread over several lines. @@ -2191,14 +2216,14 @@ Leakage is a serious problem in many applications, **ways of avoiding its effect Windowing involves the imposition of a prescribed profile on the time signal prior to performing the Fourier transform. -The profiles, or "windows" are generally depicted as a time function \\(w(t)\\) as shown in figure [fig:windowing_examples](#fig:windowing_examples). +The profiles, or "windows" are generally depicted as a time function \\(w(t)\\) as shown in figure [15](#org8903f56). - + {{< figure src="/ox-hugo/ewins00_windowing_examples.png" caption="Figure 15: Different types of window. (a) Boxcar, (b) Hanning, (c) Cosine-taper, (d) Exponential" >}} The analyzed signal is then \\(x^\prime(t) = x(t) w(t)\\). -The result of using a window is seen in the third column of figure [fig:windowing_examples](#fig:windowing_examples). +The result of using a window is seen in the third column of figure [15](#org8903f56). The **Hanning and Cosine Taper windows are typically used for continuous signals**, such as are produced by steady periodic or random vibration, while the **Exponential window is used for transient vibration** applications where much of the important information is concentrated in the initial part of the time record. @@ -2214,7 +2239,7 @@ Common filters are: low-pass, high-pass, band-limited, narrow-band, notch. #### Improving Resolution {#improving-resolution} - + ##### Increasing transform size {#increasing-transform-size} @@ -2238,9 +2263,9 @@ The common solution to the need for finer frequency resolution is to zoom on the There are various ways of achieving this result. The easiest way is to use a frequency shifting process coupled with a controlled aliasing device. -Suppose the signal to be analyzed \\(x(t)\\) has a spectrum \\(X(\omega)\\) has shown on figure [fig:zoom_range](#fig:zoom_range), and that we are interested in a detailed analysis between \\(\omega\_1\\) and \\(\omega\_2\\). +Suppose the signal to be analyzed \\(x(t)\\) has a spectrum \\(X(\omega)\\) has shown on figure [18](#org41c500b), and that we are interested in a detailed analysis between \\(\omega\_1\\) and \\(\omega\_2\\). -If we apply a band-pass filter to the signal, as shown on figure [fig:zoom_bandpass](#fig:zoom_bandpass), and perform a DFT between \\(0\\) and \\((\omega\_2 - \omega\_1)\\), then because of the aliasing phenomenon described earlier, the frequency components between \\(\omega\_1\\) and \\(\omega\_2\\) will appear between \\(0\\) and \\((\omega\_2 - \omega\_1)\\) with the advantage of a finer resolution (see figure [fig:zoom_result](#fig:zoom_result)). +If we apply a band-pass filter to the signal, as shown on figure [18](#orgfb95cfe), and perform a DFT between \\(0\\) and \\((\omega\_2 - \omega\_1)\\), then because of the aliasing phenomenon described earlier, the frequency components between \\(\omega\_1\\) and \\(\omega\_2\\) will appear between \\(0\\) and \\((\omega\_2 - \omega\_1)\\) with the advantage of a finer resolution (see figure [16](#org1dc44b8)).
@@ -2250,10 +2275,10 @@ If we apply a band-pass filter to the signal, as shown on figure [fig:zoom_bandp | ![](/ox-hugo/ewins00_zoom_range.png) | ![](/ox-hugo/ewins00_zoom_bandpass.png) | |------------------------------------------------|------------------------------------------| -| Spectrum of the signal | Band-pass filter | +| Spectrum of the signal | Band-pass filter | | width=\linewidth | width=\linewidth | - + {{< figure src="/ox-hugo/ewins00_zoom_result.png" caption="Figure 16: Effective frequency translation for zoom" >}} @@ -2323,9 +2348,9 @@ For instance, the typical FRF curve has large region of relatively slow changes This is the traditional method of FRF measurement and involves the use of a sweep oscillator to provide a sinusoidal command signal with a frequency that varies slowly in the range of interest. It is necessary to check that progress through the frequency range is sufficiently slow to check that steady-state response conditions are attained. -If excessive sweep rate is used, then distortions of the FRF plot are introduced as shown on figure [fig:sweep_distortions](#fig:sweep_distortions). +If excessive sweep rate is used, then distortions of the FRF plot are introduced as shown on figure [17](#orgbb6a3e8). - + {{< figure src="/ox-hugo/ewins00_sweep_distortions.png" caption="Figure 17: FRF measurements by sine sweep test" >}} @@ -2361,13 +2386,13 @@ For a such a random excitation, a different approach is required in order to det The principle upon which the FRF is determined using random excitation relies on the following equations -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} S\_{xx}(\omega) &= |H(\omega)|^2 S\_{ff}(\omega)\\\\\\ S\_{fx}(\omega) &= H(\omega) S\_{ff}(\omega)\\\\\\ S\_{xx}(\omega) &= H(\omega) S\_{xf}(\omega) - \end{align} -\end{subequations} + \end{aligned} +\end{equation} where @@ -2378,12 +2403,12 @@ where Such parameters can never be measured exactly with only a finite length of data. However, we have the possibility of providing a **cross check** on the results by using the fact that the **FRF can be estimated using two sets of data**: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} H\_1(\omega) &= \frac{S\_{fx}(\omega)}{S\_{ff}(\omega)} \\\\\\ H\_2(\omega) &= \frac{S\_{xx}(\omega)}{S\_{xf}(\omega)} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} We now introduce a quantity \\(\gamma^2\\) which is called the **coherence** and which is defined as \\[ \gamma^2 = \frac{H\_1(\omega)}{H\_2(\omega)}; \quad 0 \le \gamma^2 \le 1 \\] @@ -2402,12 +2427,12 @@ There may well be noise on one or other of the two signals which could degrade t This is shown by the following equations: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} H\_1(\omega) &= \frac{S\_{fx}(\omega)}{S\_{ff}(\omega) + S\_{nn}(\omega)} \\\\\\ H\_2(\omega) &= \frac{S\_{xx}(\omega) + S\_{mm}(\omega)}{S\_{xf}(\omega)} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} where \\(S\_{mm}(\omega)\\) and \\(S\_{nn}(\omega)\\) are the autospectra of the noise on the output and input, \\(m(t)\\) and \\(n(t)\\) respectively. @@ -2441,9 +2466,9 @@ where \\(v(t)\\) is a third signal in the system, such as the voltage supplied t It is known that a low coherence can arise in a measurement where the frequency resolution of the analyzer is not fine enough to describe adequately the very rapidly changing functions such as are encountered near resonance and anti-resonance on lightly-damped structures. -This is known as a **bias** error and leakage is often the most likely source of low coherence on lightly-damped structures as shown on figure [fig:coherence_resonance](#fig:coherence_resonance). +This is known as a **bias** error and leakage is often the most likely source of low coherence on lightly-damped structures as shown on figure [18](#org7b09a80). - + {{< figure src="/ox-hugo/ewins00_coherence_resonance.png" caption="Figure 18: Coherence \\(\gamma^2\\) and FRF estimate \\(H\_1(\omega)\\) for a lightly damped structure" >}} @@ -2484,9 +2509,9 @@ For the chirp and impulse excitations, each individual sample is collected and p ##### Burst excitation signals {#burst-excitation-signals} -Burst excitation signals consist of short sections of an underlying continuous signal (which may be a sine wave, a sine sweep or a random signal), followed by a period of zero output, resulting in a response which shows a transient build-up followed by a decay (see figure [fig:burst_excitation](#fig:burst_excitation)). +Burst excitation signals consist of short sections of an underlying continuous signal (which may be a sine wave, a sine sweep or a random signal), followed by a period of zero output, resulting in a response which shows a transient build-up followed by a decay (see figure [19](#org98bdc4b)). - + {{< figure src="/ox-hugo/ewins00_burst_excitation.png" caption="Figure 19: Example of burst excitation and response signals" >}} @@ -2501,22 +2526,22 @@ In the case of burst random, however, each individual burst will be different to ##### Chirp excitation {#chirp-excitation} -The chirp consist of a short duration signal which has the form shown in figure [fig:chirp_excitation](#fig:chirp_excitation). +The chirp consist of a short duration signal which has the form shown in figure [20](#orgb584cc5). The frequency content of the chirp can be precisely chosen by the starting and finishing frequencies of the sweep. - + {{< figure src="/ox-hugo/ewins00_chirp_excitation.png" caption="Figure 20: Example of chirp excitation and response signals" >}} ##### Impulsive excitation {#impulsive-excitation} -The hammer blow produces an input and response as shown in the figure [fig:impulsive_excitation](#fig:impulsive_excitation). +The hammer blow produces an input and response as shown in the figure [21](#org4db89b3). This and the chirp excitation are very similar in the analysis point of view, the main difference is that the chirp offers the possibility of greater control of both amplitude and frequency content of the input and also permits the input of a greater amount of vibration energy. - + {{< figure src="/ox-hugo/ewins00_impulsive_excitation.png" caption="Figure 21: Example of impulsive excitation and response signals" >}} @@ -2524,9 +2549,9 @@ The frequency content of the hammer blow is dictated by the **materials** involv However, it should be recorded that in the region below the first cut-off frequency induced by the elasticity of the hammer tip structure contact, the spectrum of the force signal tends to be **very flat**. On some structures, the movement of the structure in response to the hammer blow can be such that it returns and **rebounds** on the hammer tip before the user has had time to move that out of the way. -In such cases, the spectrum of the excitation is seen to have "holes" in it at certain frequencies (figure [fig:double_hits](#fig:double_hits)). +In such cases, the spectrum of the excitation is seen to have "holes" in it at certain frequencies (figure [22](#orgb29cf45)). - + {{< figure src="/ox-hugo/ewins00_double_hits.png" caption="Figure 22: Double hits time domain and frequency content" >}} @@ -2580,12 +2605,12 @@ One of the reasons why the absolute type of calibration has not been further dev The parameters measured in a modal analysis are usually ratios between response and force levels, and so what is required is the ability to calibrate the whole measurement system. The voltage measured are related to the physical quantities (force and acceleration) by the sensitivities of the respective transducers: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} v\_f &= E\_f f \\\\\\ v\_{\ddot{x}} &= E\_{\ddot{x}} \ddot{x} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} As mentioned, the difficulty is to determine the individual values for \\(E\_f\\) and \\(E\_{\ddot{x}}\\). In practice, we only ever use the measured voltages as a **ratio** to obtain the FRF @@ -2599,9 +2624,9 @@ and so **what is required is the ratio of the two sensitivities**: The overall sensitivity can be more readily obtained by a calibration process because we can easily make an independent measurement of the quantity now being measured: the ratio of response to force. Suppose the response parameter is acceleration, then the FRF obtained is inertance which has the units of \\(1/\text{mass}\\), a quantity which can readily be independently measured by other means. -Figure [fig:calibration_setup](#fig:calibration_setup) shows a typical calibration setup. +Figure [23](#orgddf08d1) shows a typical calibration setup. - + {{< figure src="/ox-hugo/ewins00_calibration_setup.png" caption="Figure 23: Mass calibration procedure, measurement setup" >}} @@ -2614,9 +2639,9 @@ Thus, frequent checks on the overall calibration factors are strongly recommende It is very important the ensure that the force is measured directly at the point at which it is applied to the structure, rather than deducing its magnitude from the current flowing in the shaker coil or other similar **indirect** processes. This is because near resonance, the actual applied force becomes very small and is thus very prone to inaccuracy. -This same argument applies on a lesser scale as we examine the detail around the attachment to the structure, as shown in figure [fig:mass_cancellation](#fig:mass_cancellation). +This same argument applies on a lesser scale as we examine the detail around the attachment to the structure, as shown in figure [24](#orgc770be3). - + {{< figure src="/ox-hugo/ewins00_mass_cancellation.png" caption="Figure 24: Added mass to be cancelled (crossed area)" >}} @@ -2671,30 +2696,30 @@ There are two problems to be tackled: 1. measurement of rotational responses 2. generation of measurement of rotation excitation -The first of these is less difficult and techniques usually use a pair a matched conventional accelerometers placed at a short distance apart on the structure to be measured as shown on figure [fig:rotational_measurement](#fig:rotational_measurement). +The first of these is less difficult and techniques usually use a pair a matched conventional accelerometers placed at a short distance apart on the structure to be measured as shown on figure [25](#org672cadb). - + {{< figure src="/ox-hugo/ewins00_rotational_measurement.png" caption="Figure 25: Measurement of rotational response" >}} The principle of operation is that by measuring both accelerometer signals, the responses \\(x\_0\\) and \\(\theta\_0\\) can be deduced by taking the mean and difference of \\(x\_A\\) and \\(x\_B\\): -\begin{subequations} - \begin{align} +\begin{equation} \label{eq:rotational\_diff} + \begin{aligned} x\_0 &= 0.5(x\_A + x\_B) \\\\\\ - \theta\_0 &= (x\_A - x\_B)/l \label{eq:rotational\_diff} - \end{align} -\end{subequations} + \theta\_0 &= (x\_A - x\_B)/l + \end{aligned} +\end{equation} This approach permits us to measure half of the possible FRFs: all those which are of the \\(X/F\\) and \\(\Theta/F\\) type. The others can only be measured directly by applying a moment excitation. -Figure [fig:rotational_excitation](#fig:rotational_excitation) shows a device to simulate a moment excitation. +Figure [26](#org1e07ef2) shows a device to simulate a moment excitation. First, a single applied excitation force \\(F\_1\\) corresponds to a simultaneous force \\(F\_0 = F\_1\\) and a moment \\(M\_0 = -F\_1 l\_1\\). Then, the same excitation force is applied at the second position that gives a force \\(F\_0 = F\_2\\) and moment \\(M\_0 = F\_2 l\_2\\). By adding and subtracting the responses produced by these two separate excitations conditions, we can deduce the translational and rotational responses to the translational force and the rotational moment separately, thus enabling the measurement of all four types of FRF: \\(X/F\\), \\(\Theta/F\\), \\(X/M\\) and \\(\Theta/M\\). - + {{< figure src="/ox-hugo/ewins00_rotational_excitation.png" caption="Figure 26: Application of moment excitation" >}} @@ -2738,7 +2763,7 @@ It follows that this equation is valid only if \\(\det |H\_{\text{Re}}(\omega)| We here excite a MDOF system at a single sinusoidal frequency \\(a\\) by a set of \\(p\\) excitation forces \\(\\{F\\}e^{i\omega t}\\) such that there is a set of steady-state responses \\(\\{X\\}e^{i\omega t}\\). The two vectors are related by the system's FRF properties as: -\begin{equation} +\begin{equation} \label{eq:mpss\_equation} \\{X\\}\_{n\times 1} = [H(\omega)]\_{n\times p} \\{F\\}\_{p\times 1} \end{equation} @@ -2773,12 +2798,12 @@ The purpose of this methods is to obtain the FRF data in an optimal way and to r Let's consider the simplest form of a multi excitation as that of a system excited by two simultaneous forces \\(f\_1(t)\\) and \\(f\_2(t)\\) where the response \\(x\_i(t)\\) is of particular interest. We can derive expressions for the required FRF parameters functions of the auto and cross spectral densities between of three parameters of interest: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} H\_{i1}(\omega) &= \frac{S\_{1i}S\_{22} - S\_{2i}S\_{12}}{S\_{11}S\_{22} - S\_{12}S\_{21}}\\\\\\ H\_{i1}(\omega) &= \frac{S\_{2i}S\_{11} - S\_{1i}S\_{21}}{S\_{11}S\_{22} - S\_{12}S\_{21}} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} These expressions can be used provided that \\(S\_{11}S\_{22}\neq |S\_{12}|^2\\) which is equivalent of that the two excitation forces must not be fully correlated. @@ -2839,9 +2864,11 @@ Thus, in the same sense that a multiple-input test is a multi-reference measurem This section describes some of the many procedures that are used for **Modal Analysis** and attempts to explain their various advantages and limitations. These methods generally consists of **curve-fitting a theoretical expression for an individual FRF to the actual measured data**. -
+
+Degree of complexity of curve-fitting: + 1. **part of single FRF curve** 2. **complete curve** encompassing several resonances 3. **a set of many FRF plots** all on the same structure @@ -2859,19 +2886,23 @@ A majority of current curve-fitting methods operate on the response characterist Modal analysis methods can be classified into a series of different groups. -
+
+**Classification - Analysis Domain**: + It depends on the **domain in which the analysis is performed**: -- frequency domain of FRFs +- Frequency domain of FRFs - Time domain of IRFs
-
+
+**Classification - Frequency range**: + Next, it is appropriate to consider the **frequency range** over which each individual analysis will be performed. Either a single mode is to be extracted at a time, or several: @@ -2880,9 +2911,11 @@ Either a single mode is to be extracted at a time, or several:
-
+
+**Classification - Number of FRFs**: + A further classification relates to the **number of FRFs** which are to be included in a single analysis: - **SISO**: the FRF are measured individually @@ -2971,18 +3004,22 @@ These vectors are assembled into a matrix where \\(n\\) and \\(p\\) represent the number of measured DOFs and the number of excitation points. \\(L\\) represents the number of frequencies at which the FRF data are defined. -
+
+**Singular Value Decomposition**: + \begin{equation} [A]\_{L\times np} = [U]\_{L\times L} [\Sigma]\_{L\times np} [V]\_{np\times np}^T \end{equation}
-
+
+Interpretation of SVD: + - The **singular values** \\(\sigma\_1, \dots, \sigma\_w\\) describes the **amplitude** information - Number of **non-zero singular values** represents the **order of the system** (i.e. the number of independent modes of vibration which effectively contribute to the measured FRFs) - The columns of \\([U]\\) represent the **frequency distribution** of these amplitudes @@ -2990,7 +3027,7 @@ where \\(n\\) and \\(p\\) represent the number of measured DOFs and the number o
-
+
From the SVD, we can compute a new matrix \\([P]\_{L\times np}\\) which is referred to as the **Principal Response Function** (**PRF**) matrix. @@ -3004,15 +3041,15 @@ Then, each PRF is, simply, a particular combination of the original FRFs, and th
-On example of this form of pre-processing is shown on figure [fig:PRF_numerical](#fig:PRF_numerical) for a numerically-simulation test data, and another in figure [fig:PRF_measured](#fig:PRF_measured) for the case of real measured test data. +On example of this form of pre-processing is shown on figure [19](#table--fig:PRF-numerical) for a numerically-simulation test data, and another in figure [20](#table--fig:PRF-measured) for the case of real measured test data. -The second plot [fig:PRF_numerical_svd](#fig:PRF_numerical_svd) helps to determine the true order of the system because the number of non-zero singular values is equal to this parameter. -The third plot [fig:PRF_numerical_PRF](#fig:PRF_numerical_PRF) shows the genuine modes distinct from the computational modes. +The second plot [19](#org354c67b) helps to determine the true order of the system because the number of non-zero singular values is equal to this parameter. +The third plot [19](#org9b16f79) shows the genuine modes distinct from the computational modes. -
+
-It can be seen that the PRFs tend to tall into **two groups**: +It can be seen that the PRFs tend to fall into **two groups**: - The most prominent are a set of response function, each of which has a small number of dominant peaks. It represents the **physical modes** of the system. @@ -3034,7 +3071,7 @@ The two groups are usually separated by a clear gap (depending of the noise pres | ![](/ox-hugo/ewins00_PRF_numerical_FRF.png) | ![](/ox-hugo/ewins00_PRF_numerical_svd.png) | ![](/ox-hugo/ewins00_PRF_numerical_PRF.png) | |---------------------------------------------|---------------------------------------------|---------------------------------------------| -| FRF | Singular Values | PRF | +| FRF | Singular Values | PRF | | width=\linewidth | width=\linewidth | width=\linewidth | @@ -3045,7 +3082,7 @@ The two groups are usually separated by a clear gap (depending of the noise pres | ![](/ox-hugo/ewins00_PRF_measured_FRF.png) | ![](/ox-hugo/ewins00_PRF_measured_svd.png) | ![](/ox-hugo/ewins00_PRF_measured_PRF.png) | |--------------------------------------------|--------------------------------------------|--------------------------------------------| -| FRF | Singular Values | PRF | +| FRF | Singular Values | PRF | | width=\linewidth | width=\linewidth | width=\linewidth | @@ -3065,10 +3102,10 @@ These methods are used to **determine the number of modes** present in a given f The Complex Mode Indicator Function is defined simply by the SVD of the FRF (sub) matrix. -
+
-This decomposition, is defined as +The **Complex mode indicator function** (CMIF) is defined as \begin{align\*} [H(\omega)]\_{n\times p} &= [U(\omega)]\_{n\times n} [\Sigma(\omega)]\_{n\times p} [V(\omega)]\_{p\times p}^H\\\\\\ @@ -3077,7 +3114,7 @@ This decomposition, is defined as
-The actual mode indicator values are provided by the squares of the singular values and are usually plotted as a function of frequency in logarithmic form as shown in figure [fig:mifs](#fig:mifs): +The actual mode indicator values are provided by the squares of the singular values and are usually plotted as a function of frequency in logarithmic form as shown in figure [27](#org1684572): - **Natural frequencies are indicated by large values of the first CMIF** (the highest of the singular values) - **double or multiple modes by simultaneously large values of two or more CMIF**. @@ -3087,16 +3124,16 @@ Associated with the CMIF values at each natural frequency \\(\omega\_r\\) are tw - the left singular vector \\(\\{U(\omega\_r)\\}\_1\\) which approximates the **mode shape** of that mode - the right singular vector \\(\\{V(\omega\_r)\\}\_1\\) which represents the approximate **force pattern necessary to generate a response on that mode only** - + {{< figure src="/ox-hugo/ewins00_mifs.png" caption="Figure 27: Complex Mode Indicator Function (CMIF)" >}} -
+
In addition to identifying all the significant natural frequencies, the CMIF can also be used to **generate a set of enhanced FRFs** from the formula: -\begin{equation} +\begin{equation} \label{eq:efrf} [EFRF(\omega)]\_{n\times p} = [H(\omega)]\_{n\times p} [V(\omega)]\_{p\times p} \end{equation} @@ -3140,7 +3177,7 @@ can be rewritten as: \alpha\_{jk}(\omega) = \frac{{}\_rA\_{jk}}{\omega\_r^2 - \omega^2 + i \eta\_r \omega\_r^2} + \sum\_{\substack{s=1\\s \neq r}}^N \frac{{}\_sA\_{jk}}{\omega\_s^2 - \omega^2 + i \eta\_s \omega\_s^2} \end{equation} -
+
Now, the SDOF assumption is that for a small range of frequency in the vicinity of the natural frequency of mode \\(r\\), \\(\alpha\_{jk}(\omega)\\) can be approximated as @@ -3160,19 +3197,19 @@ In this method, it is assumed that close to one local mode, any effects due to t This is a method which works adequately for structures whose FRF exhibit **well separated modes**. This method is useful in obtaining initial estimates to the parameters. -The peak-picking method is applied as follows (illustrated on figure [fig:peak_amplitude](#fig:peak_amplitude)): +The peak-picking method is applied as follows (illustrated on figure [28](#org00f64f0)): 1. First, **individual resonance peaks** are detected on the FRF plot and the maximum responses frequency \\(\omega\_r\\) is taken as the **natural frequency** of that mode 2. Second, the **local maximum value of the FRF** \\(|\hat{H}|\\) is noted and the **frequency bandwidth** of the function for a response level of \\(|\hat{H}|/\sqrt{2}\\) is determined. The two points thus identified as \\(\omega\_b\\) and \\(\omega\_a\\) are the "half power points" 3. The **damping** of the mode in question can now be estimated from of the following formulae: - \begin{subequations} - \begin{align} + \begin{equation} + \begin{aligned} \eta\_r &= \frac{\omega\_a^2 - \omega\_b^2}{2 \omega\_r^2} \approx \frac{\Delta\omega}{\omega\_r} \\\\\\ 2\xi\_r &= \eta\_r - \end{align} - \end{subequations} + \end{aligned} + \end{equation} 4. We now obtain an estimate for the **modal constant** of the mode being analyzed by assuming that the total response in this resonant region is attributed to a single term in the general FRF series: \begin{equation} @@ -3182,7 +3219,7 @@ The peak-picking method is applied as follows (illustrated on figure [fig:peak_a It must be noted that the estimates of both damping and modal constant depend heavily on the accuracy of the maximum FRF level \\(|\hat{H}|\\) which is difficult to measure with great accuracy, especially for lightly damped systems. Only real modal constants and thus real modes can be deduced by this method. - + {{< figure src="/ox-hugo/ewins00_peak_amplitude.png" caption="Figure 28: Peak Amplitude method of modal analysis" >}} @@ -3207,7 +3244,7 @@ In the case of a system assumed to have structural damping, the basic function w \end{equation} since the only effect of including the modal constant \\({}\_rA\_{jk}\\) is to scale the size of the circle by \\(|{}\_rA\_{jk}|\\) and to rotate it by \\(\angle {}\_rA\_{jk}\\). -A plot of the quantity \\(\alpha(\omega)\\) is given in figure [fig:modal_circle](#fig:modal_circle). +A plot of the quantity \\(\alpha(\omega)\\) is given in figure [21](#orga9233a4).
@@ -3217,21 +3254,21 @@ A plot of the quantity \\(\alpha(\omega)\\) is given in figure [fig:modal_circle | ![](/ox-hugo/ewins00_modal_circle.png) | ![](/ox-hugo/ewins00_modal_circle_bis.png) | |----------------------------------------|--------------------------------------------------------------------| -| Properties | \\(\omega\_b\\) and \\(\omega\_a\\) points | +| Properties | \\(\omega\_b\\) and \\(\omega\_a\\) points | | width=\linewidth | width=\linewidth | For any frequency \\(\omega\\), we have the following relationship: -\begin{subequations} - \begin{align} +\begin{equation} \label{eq:modal\_circle\_tan} + \begin{aligned} \tan \gamma &= \frac{\eta\_r}{1 - (\omega/\omega\_r)^2}\\\\\\ - \tan(\SI{90}{\degree}-\gamma) &= \tan\left(\frac{\theta}{2}\right) = \frac{1 - (\omega/\omega\_r)^2}{\eta\_r} \label{eq:modal\_circle\_tan} - \end{align} -\end{subequations} + \tan(\SI{90}{\degree}-\gamma) &= \tan\left(\frac{\theta}{2}\right) = \frac{1 - (\omega/\omega\_r)^2}{\eta\_r} + \end{aligned} +\end{equation} From \eqref{eq:modal_circle_tan}, we obtain: -\begin{equation} +\begin{equation} \label{eq:modal\_circle\_omega} \omega^2 = \omega\_r^2 \left(1 - \eta\_r \tan\left(\frac{\theta}{2}\right) \right) \end{equation} @@ -3250,23 +3287,23 @@ It may be seen to reach a maximum value when \\(\omega=\omega\_r\\): It may also be seen that an **estimate of the damping** is provided by the sweep rate: -\begin{equation} +\begin{equation} \label{eq:estimate\_damping\_sweep\_rate} \tcmbox{\left(\frac{d\theta}{d\omega^2}\right)\_{\omega=\omega\_r} = -\frac{2}{\omega\_r^2 \eta\_r}} \end{equation} Suppose now we have two specific points on the circle, one corresponding to a frequency \\(\omega\_b\\) below the natural frequency and the other one \\(\omega\_a\\) above the natural frequency. -Referring to figure [fig:modal_circle_bis](#fig:modal_circle_bis), we can write: +Referring to figure [21](#org0ad9bc7), we can write: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} \tan\left(\frac{\theta\_b}{2}\right) &= \frac{1 - (\omega\_b/\omega\_r)^2}{\eta\_r}\\\\\\ \tan\left(\frac{\theta\_a}{2}\right) &= \frac{(\omega\_a/\omega\_r)^2 - 1}{\eta\_r} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} From these two equations, we can obtain an expression for the **damping of the mode**: -\begin{equation} +\begin{equation} \label{eq:estimate\_damping} \tcmbox{\eta\_r = \frac{\omega\_a^2 - \omega\_b^2}{\omega\_r^2 \left(\tan(\theta\_a/2) + \tan(\theta\_b/2)\right)}} \end{equation} @@ -3274,12 +3311,12 @@ which is an exact expression and applies for all levels of damping. If we take two points for which \\(\theta\_a = \theta\_b = \SI{90}{\degree}\\), we obtain: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} \eta\_r &= \frac{\omega\_2^2 - \omega\_1^2}{2 \omega\_r^2}\\\\\\ \eta\_r &= \frac{\omega\_2 - \omega\_1}{\omega\_r} \text{ for light damping} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} When scaled by a modal constant \\({}\_rA\_{jk}\\) added in the numerator, the diameter of the circle will be \\[ {}\_rD\_{jk} = \frac{\left|{}\_rA\_{jk}\right|}{\omega\_r^2 \eta\_r} \\] @@ -3296,12 +3333,12 @@ And we have From points at \\(\omega\_a\\) and \\(\omega\_b\\), we obtain -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} \xi &= \frac{\omega\_a^2 - \omega\_b^2}{2 \omega\_r \left( \omega\_a \tan(\theta\_a/2) + \omega\_b \tan(\theta\_b/2) \right)}\\\\\\ &= \frac{\omega\_a - \omega\_b}{\omega\_r \left( \tan(\theta\_a/2) + \tan(\theta\_b/2) \right)} \text{ for light damping} - \end{align} -\end{subequations} + \end{aligned} +\end{equation} Finally, selecting two points for which \\(\theta\_a = \theta\_b = \SI{90}{\degree}\\): @@ -3321,7 +3358,7 @@ The sequence is: 3. **Locate natural frequency, obtain damping estimate**. The rate of sweep through the region is estimated numerically and the frequency at which it reaches the maximum is deduced. At the same time, an estimate of the damping is derived using \eqref{eq:estimate_damping_sweep_rate}. - A typical example is shown on figure [fig:circle_fit_natural_frequency](#fig:circle_fit_natural_frequency). + A typical example is shown on figure [29](#org751f6e5). 4. **Calculate multiple damping estimates, and scatter**. A set of damping estimates using all possible combination of the selected data points are computed using \eqref{eq:estimate_damping}. Then, we can choose the damping estimate to be the mean value. @@ -3331,7 +3368,7 @@ The sequence is: 5. **Determine modal constant modulus and argument**. The magnitude and argument of the modal constant is determined from the diameter of the circle and from its orientation relative to the Real and Imaginary axis. - + {{< figure src="/ox-hugo/ewins00_circle_fit_natural_frequency.png" caption="Figure 29: Location of natural frequency for a Circle-fit modal analysis" >}} @@ -3347,12 +3384,12 @@ In order to determines the contribution of other modes on the resonance of mode The original version of this method uses the fact that a function which generates a circle when plotted in the complex plane will, when plotted as a reciprocal, trace out a **straight line**. Thus, if we were to plot the reciprocal of receptance of a SDOF system with structural damping, we would find that in the Argand diagram it produces a straight line: -\begin{subequations} - \begin{align} +\begin{equation} + \begin{aligned} \alpha(\omega) &= \frac{(k - \omega^2 m) - i d}{(k - \omega^2 m)^2 + d^2}\\\\\\ \frac{1}{\alpha(\omega)} &= (k - \omega^2 m) + i d - \end{align} -\end{subequations} + \end{aligned} +\end{equation} First, a least squares best-fit straight line is constructed through the data points and an **estimate for the damping parameters** is immediately available from the **intercept of the line with the Imaginary axis**. Furthermore, an indication of the reliability of that estimate may be gained from the nature of the deviations of the data points from the line itself. @@ -3409,7 +3446,7 @@ Now it can be shown that both these straight line slopes \\(m\_R\\) and \\(m\_I\ \\[ m\_R = n\_R \Omega^2 + d\_R \text{ and } m\_I = n\_I \Omega^2 + d\_I \\] where -\begin{equation} +\begin{equation} \label{eq:four\_parameters} \begin{aligned} n\_R &= a\_r; \quad n\_I = -b\_r \\\\\\ d\_R &= -b\_r(\omega\_r^2 \eta\_r) - a\_r \omega\_r^2; \quad d\_I = b\_r \omega\_r^2 - a\_r\omega\_r^2\eta\_r @@ -3418,7 +3455,7 @@ where Now let \\(p = n\_I/n\_R \text{ and } q = d\_I/d\_R\\), and noting that -\begin{equation} +\begin{equation} \label{eq:modal\_parameters\_formula} \begin{aligned} \eta\_r &= \frac{q - p}{1 + pq}; \quad \omega\_r^2 = \frac{d\_R}{(p\eta\_r - 1)n\_R} \\\\\\ a\_r &= \frac{\omega\_r^2(p\eta\_r - 1)}{(1 + p^2)d\_R}; \quad b\_r = -a\_r p @@ -3445,8 +3482,8 @@ We need to introduce the concept of **residual terms**, necessary in the modal a The first occasion on which the residual problem is encountered is generally at the end of the analysis of a single FRF curve, such as by the repeated application of an SDOF curve-fit to each of the resonances in turn until all modes visible on the plot have been identified. At this point, it is often desired to construct a theoretical curve (called "**regenerated**"), based on the modal parameters extracted from the measured data, and to overlay this on the original measured data to assess the success of the curve-fit process. -Then the regenerated curve is compared with the original measurements, the result is often disappointing, as illustrated in figure [fig:residual_without](#fig:residual_without). -However, by the inclusion of two simple extra terms (the "**residuals**"), the modified regenerated curve is seen to correlate very well with the original experimental data as shown on figure [fig:residual_with](#fig:residual_with). +Then the regenerated curve is compared with the original measurements, the result is often disappointing, as illustrated in figure [22](#orgf043f5e). +However, by the inclusion of two simple extra terms (the "**residuals**"), the modified regenerated curve is seen to correlate very well with the original experimental data as shown on figure [22](#org1a33e90).
@@ -3456,7 +3493,7 @@ However, by the inclusion of two simple extra terms (the "**residuals**"), the m | ![](/ox-hugo/ewins00_residual_without.png) | ![](/ox-hugo/ewins00_residual_with.png) | |--------------------------------------------|-----------------------------------------| -| without residual | with residuals | +| without residual | with residuals | | width=\linewidth | width=\linewidth | If we regenerate an FRF curve from the modal parameters we have extracted from the measured data, we shall use a formula of the type @@ -3475,7 +3512,7 @@ However, the equation which most closely represents the measured data is: which may be rewritten as -\begin{equation} +\begin{equation} \label{eq:sum\_modes} H\_{jk}(\omega) = \left( \sum\_{r=1}^{m\_1-1} + \sum\_{r=m\_1}^{m\_2} + \sum\_{r = m\_2+1}^{N} \right) \frac{{}\_rA\_{jk}}{\omega\_r^2 - \omega^2 + i \eta\_r \omega\_r^2} \end{equation} @@ -3485,9 +3522,9 @@ The three terms corresponds to: 2. the **high frequency modes** not identified 3. the **modes actually identified** -These three terms are illustrated on figure [fig:low_medium_high_modes](#fig:low_medium_high_modes). +These three terms are illustrated on figure [30](#orgd0e499e). - + {{< figure src="/ox-hugo/ewins00_low_medium_high_modes.png" caption="Figure 30: Numerical simulation of contribution of low, medium and high frequency modes" >}} @@ -3536,10 +3573,10 @@ There is one warning, however, and that is to point out that these pseudo modes In the modal analysis methods discussed above, an assumption is made that near the resonance under analysis, the effect of **all** the other modes could be represented by a constant. When there are neighboring modes close to the one being analyzed, this assumption may not be valid. -
+
-"Close" is begin loosely defined as a situation where the separation between the natural frequencies of two adjacent modes is less than the typical damping level, both measured as percentage. +**"Close" modes** is loosely defined as a situation where the separation between the natural frequencies of two adjacent modes is less than the typical damping level, both measured as percentage.
@@ -3547,11 +3584,11 @@ However, we can usually remove that restriction and thereby make a more precise We can write the receptance in the frequency range of interest as: -\begin{equation} +\begin{equation} \label{eq:second\_term\_refinement} \begin{aligned} H\_{jk}(\omega) &= \sum\_{s=m\_1}^{m\_2} \left( \frac{{}\_sA\_{jk}}{\omega\_s^2 - \omega^2 + i \eta\_s \omega\_s^2} \right) + \frac{1}{K\_{jk}^R}-\frac{1}{\omega^2 M\_{jk}^R} \\\\\\ &= \left( \frac{{}\_rA\_{jk}}{\omega\_r^2 - \omega^2 + i\eta\_r \omega\_r^2} \right) \\\\\\ - &+ \left(\sum\_{\substack{s=m\_1\\s \neq r}}^{m\_2} \frac{{}\_sA\_{jk}}{\omega\_s^2 - \omega^2 + i\eta\_s \omega\_s^2} + \frac{1}{K\_{jk}^R} - \frac{1}{\omega^2 M\_{jk}^R} \right) + &+ \left(\sum\_{\substack{s=m\_1 \cr s \neq r}}^{m\_2} \frac{{}\_sA\_{jk}}{\omega\_s^2 - \omega^2 + i\eta\_s \omega\_s^2} + \frac{1}{K\_{jk}^R} - \frac{1}{\omega^2 M\_{jk}^R} \right) \end{aligned} \end{equation} @@ -3570,7 +3607,7 @@ This procedure can be repeated iteratively for all the modes in the range of int There are a number of situations in which the SDOF approach to modal analysis is inadequate and for these there exist several alternative methods which may generally be classified as MDOF modal analysis methods. These situations are generally those with closely coupled modes where the single mode approximation is inappropriate and those with extremely light damping for which measurements at resonance are inaccurate. -
+
Three approach to curve-fit the entire FRF in one step are considered here: @@ -3611,7 +3648,7 @@ and express this as a scalar quantity: If we further increase the generality by attaching a **weighting factor** \\(w\_l\\) to each frequency point of interest, then the curve fit process has to determine the values of the unknown coefficients such that the total error: -\begin{equation} +\begin{equation} \label{eq:error\_weighted} E = \sum\_{l = 1}^p w\_l E\_l \end{equation} @@ -3632,15 +3669,18 @@ It is from this point that the differing algorithms choose their individual proc The method which has emerged as one the **standard** frequency domain modal analysis methods is that known as the **Rational Fraction Polynomial** (**RFP**) method. This method is a special version of the general curve fitting approach but is based on a different formulation for the theoretical expression used for the FRF. -
+
-\begin{subequations} -\begin{align} - H(\omega) &= \sum\_{r=1}^N \frac{A\_r}{\omega\_r^2 - \omega^2 + 2 i \omega \omega\_r \xi\_r} \label{eq:frf\_clasic} \\\\\\ - &= \frac{b\_0 + b\_1(i\omega) + \dots + b\_{2N-1}(i\omega)^{2N-1}}{a\_0 + a\_1(i\omega) + \dots + a\_{2N}(i\omega)^{2N}} \label{eq:frf\_rational} -\end{align} -\end{subequations} +Rational fraction FRF formulation: + +\begin{equation} + H(\omega) = \sum\_{r=1}^N \frac{A\_r}{\omega\_r^2 - \omega^2 + 2 i \omega \omega\_r \xi\_r} \label{eq:frf\_clasic} +\end{equation} + +\begin{equation} + H(\omega) = \frac{b\_0 + b\_1(i\omega) + \dots + b\_{2N-1}(i\omega)^{2N-1}}{a\_0 + a\_1(i\omega) + \dots + a\_{2N}(i\omega)^{2N}} \label{eq:frf\_rational} +\end{equation} In this formulation, we have adopted the **viscous damping model**. @@ -3658,7 +3698,7 @@ We shall denote each of our measured FRF data point by \\(\hat{H}\_k\\), where \ leading to the modified, but more convenient version actually used in the analysis -\begin{equation} +\begin{equation} \label{eq:rpf\_error} \begin{aligned} e\_k^\prime &= \left( b\_0 + b\_1(i\omega\_k) + \dots + b\_{2m-1}(i\omega\_k)^{2m-1} \right)\\\\\\ &- \hat{H}\_k\left( a\_0 + a\_1(i\omega\_k) + \dots + a\_{2m}(i\omega\_k)^{2m} \right) @@ -3763,10 +3803,10 @@ all FRF plots on a given testpiece should indicate the same values for natural f Such methods have the advantage of producing a **unique and consistent model** as direct output. -
+
-A way in which a set of measured FRF curves may be used collectively, rather than singly, is by the construction of a single Composite Response Function: +A way in which a set of measured FRF curves may be used collectively, rather than singly, is by the construction of a single **Composite Response Function**: \begin{equation} \sum\_j\sum\_k H\_{jk}(\omega) = \sum\_j\sum\_k\sum\_{r=1}^N (\dots) = HH(\omega) @@ -3778,7 +3818,7 @@ with
The composite function \\(HH(\omega)\\) can provide a useful means of determining a single (average) value for the natural frequency and damping factor for each mode where the individual functions would each indicate slightly different values. -As an example, a set of mobilities measured are shown individually in figure [fig:composite_raw](#fig:composite_raw) and their summation shown as a single composite curve in figure [fig:composite_sum](#fig:composite_sum). +As an example, a set of mobilities measured are shown individually in figure [23](#org2873c75) and their summation shown as a single composite curve in figure [23](#orge18611d).
@@ -3788,7 +3828,7 @@ As an example, a set of mobilities measured are shown individually in figure [fi | ![](/ox-hugo/ewins00_composite_raw.png) | ![](/ox-hugo/ewins00_composite_sum.png) | |-------------------------------------------|-----------------------------------------| -| Individual curves | Composite curve | +| Individual curves | Composite curve | | width=\linewidth | width=\linewidth | The global analysis methods have the disadvantages first, that the computation power required is high and second that there may be valid reasons why the various FRF curves exhibit slight differences in their characteristics and it may not always be appropriate to average them. @@ -3895,29 +3935,29 @@ The three types of model are usually derived as \\(\text{Spatial}\Rightarrow\tex We may now view them in a different order, according to the facility with which each may be derived from the test data: Modal, Response and then Spatial. This reflects the quantity of the completeness of data required in each case. -
+
-A modal model can be constructed using just one single mode, and including only a handful of degrees of freedom, even though the structure has many modes and many DOFs. +A **modal model** can be constructed using just one single mode, and including only a handful of degrees of freedom, even though the structure has many modes and many DOFs. Such a model can be built up by adding data from more modes, but it is not a requirement that **all** the modes should be included nor even that all the modes in the frequency range of interest be taken into account. Thus such a model may be derived with relatively few, or equally, with many data.
-
+
-The response type of model in the form of a FRF matrix, such as the mobility matrix, also needs only to include information concerning a limited number of point of interest: not all the DOFs need be considered. +The **response type of model** in the form of a FRF matrix, such as the mobility matrix, also needs only to include information concerning a limited number of point of interest: not all the DOFs need be considered. However, in this case, it is generally required that the model be valid over a specified frequency range, and here it is necessary that all the modes in that range be included. Also, some account should be taken of the modes whose natural frequencies lie outside of the range of interest to allow for the residual effects. Thus, the response type of model demands more data to be collected from the tests.
-
+
-A representative spatial model can only be obtained if we have measured most of the modes of the structure and if we have made measurements at a great many of the DOFs it possesses. +A representative **spatial model** can only be obtained if we have measured most of the modes of the structure and if we have made measurements at a great many of the DOFs it possesses. This is generally a very demanding requirement to meet, and as result, the derivation of a spatial model from test data is very difficult to achieve.
@@ -3946,7 +3986,7 @@ Thus, we can construct such a model with just a single mode, and a more complete The basic method of deriving a modal model is as follows. First, we note that from a single FRF curve, \\(H\_{jk}(\omega)\\), it is possible to extract certain modal properties for the \\(r^\text{th}\\) mode by modal analysis: -\begin{equation} +\begin{equation} \label{eq:modal\_model\_from\_frf} H\_{jk}(\omega) \longrightarrow \omega\_r, \eta\_r, {}\_rA\_{jk}; \quad r=1, m \end{equation} @@ -4097,7 +4137,7 @@ The steps are: #### Expansion of models {#expansion-of-models} -
+
An important model refinement is called **expansion** and consist of the addition to the actually measured modal data of estimates for selected DOFs which were not measured for one reason or another. @@ -4117,7 +4157,7 @@ These decisions are made for various practical reasons: 2. Expansion using the analytical model's **spatial properties** 3. Expansion using the analytical model's **modal properties** -
+
In all three approached, we are in effect seeking a transformation matrix \\([T]\\) that allows us to construct a long eigenvector \\(\\{\phi\\}\_{N\times 1}\\) from knowledge of a short (incomplete) one \\(\\{\phi\\}\_{n\times 1}\\): @@ -4146,12 +4186,15 @@ then we may write: \begin{equation\*} \left( \begin{bmatrix} - {}\_AK\_{11} & {}\_AK\_{12}\\\\\\ - {}\_AK\_{21} & {}\_AK\_{22} -\end{bmatrix} - \omega\_r^2 \begin{bmatrix} - {}\_AM\_{11} & {}\_AM\_{12}\\\\\\ - {}\_AM\_{21} & {}\_AM\_{22} -\end{bmatrix} \right) \begin{Bmatrix}{}\_A\phi\_1\\\{}\_A\phi\_2\end{Bmatrix} = \\{0\\} + {}\_AK\_{11} & {}\_AK\_{12} \\\\\\ + {}\_AK\_{21} & {}\_AK\_{22} + \end{bmatrix} - \omega\_r^2 \begin{bmatrix} + {}\_AM\_{11} & {}\_AM\_{12} \\\\\\ + {}\_AM\_{21} & {}\_AM\_{22} + \end{bmatrix} \right) \begin{bmatrix} + {}\_A\phi\_1 \\\\\\ + {}\_A\phi\_2 + \end{bmatrix} = \\{0\\} \end{equation\*} We can use this relationship between the measured and unmeasured DOFs as the basic for an expansion of the incomplete measured mode shapes: @@ -4177,14 +4220,16 @@ This method uses the analytical model for the interpolation, but is based on the We may write the following expression which relates the experimental model mode shapes to those of the analytical model: \begin{equation\*} - \begin{Bmatrix} - {}\_X\phi\_1 \\ {}\_X\phi\_2 -\end{Bmatrix} = \begin{bmatrix} + \begin{bmatrix} + {}\_X\phi\_1 \\\\\\ + {}\_X\phi\_2 +\end{bmatrix} = \begin{bmatrix} [{}\_A\Phi\_{11}] & [{}\_A\Phi\_{12}] \\\\\\ [{}\_A\Phi\_{21}] & [{}\_A\Phi\_{22}] -\end{bmatrix} \begin{Bmatrix} - \gamma\_1 \\ \gamma\_2 -\end{Bmatrix}\_r +\end{bmatrix} \begin{bmatrix} + \gamma\_1 \\\\\\ + \gamma\_2 +\end{bmatrix}\_r \end{equation\*} The basic of this method is to assume that the measured mode shape submatrix can be represented exactly by the simple relationship (which assumes that \\(\\{\gamma\_2\\}\_r\\) can be taken to be zero): @@ -4226,8 +4271,14 @@ Other formulations for \\([T]\\) are possible, they involve various combinations \begin{aligned} [T\_{(1)}] &= [\Phi\_A][{}\_A\Phi\_1]^+ & \text{A model - based} \\\\\\ [T\_{(2)}] &= [\Phi\_A][{}\_X\Phi\_1]^+ & \text{X model - based} \\\\\\ - [T\_{(3)}] &= \begin{bmatrix}{}\_X\Phi\_1\\\{}\_A\Phi\_2\end{bmatrix}[{}\_A\Phi\_1]^+ & \text{Mixed/A - based} \\\\\\ - [T\_{(4)}] &= \begin{bmatrix}{}\_X\Phi\_1\\\{}\_A\Phi\_2\end{bmatrix}[{}\_X\Phi\_1]^+ & \text{Mixed/X - based} + [T\_{(3)}] &= \begin{bmatrix} + {}\_X\Phi\_1 \\\\\\ + {}\_A\Phi\_2 + \end{bmatrix}[{}\_A\Phi\_1]^+ & \text{Mixed/A - based} \\\\\\ + [T\_{(4)}] &= \begin{bmatrix} + {}\_X\Phi\_1 \\\\\\ + {}\_A\Phi\_2 + \end{bmatrix}[{}\_X\Phi\_1]^+ & \text{Mixed/X - based} \end{aligned} \end{equation} @@ -4331,11 +4382,11 @@ There are basically two choices for the graphical display of a modal model: ##### Deflected shapes {#deflected-shapes} A static display is often adequate for depicting relatively simple mode shapes. -Measured coordinates of the test structure are first linked as shown on figure [fig:static_display](#fig:static_display) (a). -Then, the grid of measured coordinate points is redrawn on the same plot but this time displaced by an amount proportional to the corresponding element in the mode shape vector as shown on figure [fig:static_display](#fig:static_display) (b). +Measured coordinates of the test structure are first linked as shown on figure [31](#org6eef557) (a). +Then, the grid of measured coordinate points is redrawn on the same plot but this time displaced by an amount proportional to the corresponding element in the mode shape vector as shown on figure [31](#org6eef557) (b). The elements in the vector are scaled according the normalization process used (usually mass-normalized), and their absolute magnitudes have no particular significance. - + {{< figure src="/ox-hugo/ewins00_static_display.png" caption="Figure 31: Static display of modes shapes. (a) basic grid (b) single-frame deflection pattern (c) multiple-frame deflection pattern (d) complex mode (e) Argand diagram - quasi-real mode (f) Argand diagram - complex mode" >}} @@ -4344,16 +4395,16 @@ It is customary to select the largest eigenvector element and to scale the whole ##### Multiple frames {#multiple-frames} -If a series of deflection patterns that has been computed for a different instant of time are superimposed, we obtain a result as shown on figure [fig:static_display](#fig:static_display) (c). +If a series of deflection patterns that has been computed for a different instant of time are superimposed, we obtain a result as shown on figure [31](#org6eef557) (c). Some indication of the motion of the structure can be obtained, and the points of zero motion (nodes) can be clearly identified. -It is also possible, in this format, to give some indication of the essence of complex modes, as shown in figure [fig:static_display](#fig:static_display) (d). +It is also possible, in this format, to give some indication of the essence of complex modes, as shown in figure [31](#org6eef557) (d). Complex modes do not, in general, exhibit fixed nodal points. ##### Argand diagram plots {#argand-diagram-plots} -Another form of representation which is useful for complex modes is the representation of the individual complex elements of the eigenvectors on a polar plot, as shown in the examples of figure [fig:static_display](#fig:static_display) (e) and (f). +Another form of representation which is useful for complex modes is the representation of the individual complex elements of the eigenvectors on a polar plot, as shown in the examples of figure [31](#org6eef557) (e) and (f). Although there is no attempt to show the physical deformation of the actual structure in this format, the complexity of the mode shape is graphically displayed. @@ -4376,18 +4427,18 @@ We then tend to interpret this as a motion which is purely in the x-direction wh The second problem arises when the **grid of measurement points** that is chosen to display the mode shapes is **too coarse in relation to the complexity of the deformation patterns** that are to be displayed. This can be illustrated using a very simple example: suppose that our test structure is a straight beam, and that we decide to use just three response measurements points. -If we consider the first six modes of the beam, whose mode shapes are sketched in figure [fig:beam_modes](#fig:beam_modes), then we see that with this few measurement points, modes 1 and 5 look the same as do modes 2, 4 and 6. +If we consider the first six modes of the beam, whose mode shapes are sketched in figure [32](#org77a201c), then we see that with this few measurement points, modes 1 and 5 look the same as do modes 2, 4 and 6. All the higher modes will be indistinguishable from these first few. This is a well known problem of **spatial aliasing**. - + {{< figure src="/ox-hugo/ewins00_beam_modes.png" caption="Figure 32: Misinterpretation of mode shapes by spatial aliasing" >}} ### Response models {#response-models} -
+
There are two main requirements demanded for a response model: @@ -4403,7 +4454,7 @@ Usually **one column** or **one row** with a few additional elements are measure Thus, if we are to construct an acceptable response model, it will be necessary to synthesize those elements which have not been directly measured. However, in principle, this need present no major problem as it is possible to compute the full FRF matrix from a modal model using: -\begin{equation} +\begin{equation} \label{eq:regenerate\_full\_frf\_matrix} \tcmbox{[H]\_{n\times n} = [\Phi]\_{n\times m} [\lambda\_r^2 - \omega^2]\_{m\times m}^{-1} [\Phi]\_{m\times n}^T} \end{equation} @@ -4423,15 +4474,15 @@ This arises because if we measured three individual FRF such as \\(H\_{ik}(\omeg However, it must be noted that there is an important **limitation to this procedure** which is highlighted in the example below. -
+
As an example, suppose that FRF data \\(H\_{11}\\) and \\(H\_{21}\\) are measured and analyzed in order to synthesize the FRF \\(H\_{22}\\) initially unmeasured. -The predict curve is compared with the measurements on figure [fig:H22_without_residual](#fig:H22_without_residual). +The predict curve is compared with the measurements on figure [24](#orgf256093). Clearly, the agreement is poor and would tend to indicate that the measurement/analysis process had not been successful. However, the synthesized curve contained only those terms relating to the modes which had actually been studied from \\(H\_{11}\\) and \\(H\_{21}\\) and this set of modes did not include **all** the modes of the structure. Thus, \\(H\_{22}\\) **omitted the influence of out-of-range modes**. -The inclusion of these two additional terms (obtained here only after measuring and analyzing \\(H\_{22}\\) itself) resulted in the greatly improved predicted vs measured comparison shown in figure [fig:H22_with_residual](#fig:H22_with_residual). +The inclusion of these two additional terms (obtained here only after measuring and analyzing \\(H\_{22}\\) itself) resulted in the greatly improved predicted vs measured comparison shown in figure [24](#org15312a1).
@@ -4443,7 +4494,7 @@ The inclusion of these two additional terms (obtained here only after measuring | ![](/ox-hugo/ewins00_H22_without_residual.png) | ![](/ox-hugo/ewins00_H22_with_residual.png) | |--------------------------------------------------------|-----------------------------------------------------------| -| Using measured modal data only | After inclusion of residual terms | +| Using measured modal data only | After inclusion of residual terms | | width=\linewidth | width=\linewidth | The appropriate expression for a "correct" response model, derived via a set of modal properties is thus @@ -4484,10 +4535,10 @@ Simply defined, we can write: but, in fact, we need also to **specify the excitation conditions that give rise to the two responses** in question and these are missing from the above definition which is thus not rigorous. It does not give us enough information to be able to reproduce the conditions which have been used to measured \\(T\_{jk}(\omega)\\). -
+
-If the transmissibility is measured during a modal test which has a single excitation, say at DOF \\(i\\), then we can define the transmissibility thus obtained more precisely: +If the **transmissibility** is measured during a modal test which has a single excitation, say at DOF \\(i\\), then we can define the transmissibility thus obtained more precisely: \begin{equation} {}\_iT\_{jk}(\omega) = \frac{H\_{ji}(\omega)}{H\_{ki}(\omega)} @@ -4495,10 +4546,10 @@ If the transmissibility is measured during a modal test which has a single excit
-In general, the transmissibility **depends significantly on the excitation point** (\\({}\_iT\_{jk}(\omega) \neq {}\_qT\_{jk}(\omega)\\) where \\(q\\) is a different DOF than \\(i\\)) and it is shown on figure [fig:transmissibility_plots](#fig:transmissibility_plots). +In general, the transmissibility **depends significantly on the excitation point** (\\({}\_iT\_{jk}(\omega) \neq {}\_qT\_{jk}(\omega)\\) where \\(q\\) is a different DOF than \\(i\\)) and it is shown on figure [33](#orga7adcfa). This may explain why transmissibilities are not widely used in modal analysis. - + {{< figure src="/ox-hugo/ewins00_transmissibility_plots.png" caption="Figure 33: Transmissibility plots" >}} @@ -4506,7 +4557,7 @@ This may explain why transmissibilities are not widely used in modal analysis. #### Base excitation {#base-excitation} The one application area where transmissibilities can be used as part of modal testing is in the case of **base excitation**. -Base excitation is a type of test where the input is measured as a response at the drive point \\(x\_0(t)\\), instead of as a force \\(f\_1(t)\\), as illustrated in figure [fig:base_excitation_configuration](#fig:base_excitation_configuration). +Base excitation is a type of test where the input is measured as a response at the drive point \\(x\_0(t)\\), instead of as a force \\(f\_1(t)\\), as illustrated in figure [25](#table--fig:base-excitation-configuration). We can show that it is possible to determine, from measurements of \\(x\_i\\) and \\(x\_0\\), modal properties of natural frequency, damping factor and **unscaled** mode shape for each of the modes that are visible in the frequency range of measurement. The fact that the excitation force is not measured is responsible for the lack of formal scaling of the mode shapes. @@ -4519,7 +4570,7 @@ The fact that the excitation force is not measured is responsible for the lack o | ![](/ox-hugo/ewins00_conventional_modal_test_setup.png) | ![](/ox-hugo/ewins00_base_excitation_modal_setup.png) | |---------------------------------------------------------|-------------------------------------------------------| -| Conventional modal test setup | Base excitation setup | +| Conventional modal test setup | Base excitation setup | | height=4cm | height=4cm | @@ -4537,7 +4588,7 @@ We have that: from which is would appear that we can write -\begin{equation} +\begin{equation} \label{eq:m\_k\_from\_modes} \begin{aligned} [M] &= [\Phi]^{-T} [I] [\Phi]^{-1}\\\\\\ [K] &= [\Phi]^{-T} [\lambda\_r^2] [\Phi]^{-1} @@ -4562,4 +4613,4 @@ Because the rank of each pseudo matrix is less than its order, it cannot be inve ## Bibliography {#bibliography} -Ewins, DJ. 2000. _Modal Testing: Theory, Practice and Application_. _Research Studies Pre, 2nd Ed., ISBN-13_. Baldock, Hertfordshire, England Philadelphia, PA: Wiley-Blackwell. +Ewins, DJ. 2000. _Modal Testing: Theory, Practice and Application_. _Research Studies Pre, 2nd Ed., ISBN-13_. Baldock, Hertfordshire, England Philadelphia, PA: Wiley-Blackwell. diff --git a/content/book/fleming14_desig_model_contr_nanop_system.md b/content/book/fleming14_desig_model_contr_nanop_system.md index f1989ee..b401103 100644 --- a/content/book/fleming14_desig_model_contr_nanop_system.md +++ b/content/book/fleming14_desig_model_contr_nanop_system.md @@ -1,7 +1,7 @@ +++ title = "Design, modeling and control of nanopositioning systems" author = ["Thomas Dehaeze"] -draft = false +draft = true +++ Tags @@ -9,7 +9,7 @@ Tags Reference -: ([Fleming and Leang 2014](#org378bdb9)) +: ([Fleming and Leang 2014](#org53722bc)) Author(s) : Fleming, A. J., & Leang, K. K. @@ -821,11 +821,11 @@ Year ### Amplifier and Piezo electrical models {#amplifier-and-piezo-electrical-models} - + {{< figure src="/ox-hugo/fleming14_amplifier_model.png" caption="Figure 1: A voltage source \\(V\_s\\) driving a piezoelectric load. The actuator is modeled by a capacitance \\(C\_p\\) and strain-dependent voltage source \\(V\_p\\). The resistance \\(R\_s\\) is the output impedance and \\(L\\) the cable inductance." >}} -Consider the electrical circuit shown in Figure [1](#org80070ee) where a voltage source is connected to a piezoelectric actuator. +Consider the electrical circuit shown in Figure [1](#orgaaa53eb) where a voltage source is connected to a piezoelectric actuator. The actuator is modeled as a capacitance \\(C\_p\\) in series with a strain-dependent voltage source \\(V\_p\\). The resistance \\(R\_s\\) and inductance \\(L\\) are the source impedance and the cable inductance respectively. @@ -948,4 +948,4 @@ The bandwidth limitations of standard piezoelectric drives were identified as: ## Bibliography {#bibliography} -Fleming, Andrew J., and Kam K. Leang. 2014. _Design, Modeling and Control of Nanopositioning Systems_. Advances in Industrial Control. Springer International Publishing. . +Fleming, Andrew J., and Kam K. Leang. 2014. _Design, Modeling and Control of Nanopositioning Systems_. Advances in Industrial Control. Springer International Publishing. . diff --git a/content/book/hatch00_vibrat_matlab_ansys.md b/content/book/hatch00_vibrat_matlab_ansys.md index 6449624..200a0f7 100644 --- a/content/book/hatch00_vibrat_matlab_ansys.md +++ b/content/book/hatch00_vibrat_matlab_ansys.md @@ -8,7 +8,7 @@ Tags : [Finite Element Model]({{< relref "finite_element_model" >}}) Reference -: ([Hatch 2000](#org50dffcf)) +: ([Hatch 2000](#orgebf8ccb)) Author(s) : Hatch, M. R. @@ -21,14 +21,14 @@ Matlab Code form the book is available [here](https://in.mathworks.com/matlabcen ## Introduction {#introduction} - + The main goal of this book is to show how to take results of large dynamic finite element models and build small Matlab state space dynamic mechanical models for use in control system models. ### Modal Analysis {#modal-analysis} -The diagram in Figure [1](#org4d6ba0d) shows the methodology for analyzing a lightly damped structure using normal modes. +The diagram in Figure [1](#org242701e) shows the methodology for analyzing a lightly damped structure using normal modes.
@@ -46,7 +46,7 @@ The steps are:
- + {{< figure src="/ox-hugo/hatch00_modal_analysis_flowchart.png" caption="Figure 1: Modal analysis method flowchart" >}} @@ -58,7 +58,7 @@ Because finite element models usually have a very large number of states, an imp
-Figure [2](#org1081f0b) shows such process, the steps are: +Figure [2](#org398c443) shows such process, the steps are: - start with the finite element model - compute the eigenvalues and eigenvectors (as many as dof in the model) @@ -71,14 +71,14 @@ Figure [2](#org1081f0b) shows such process, the steps are:
- + {{< figure src="/ox-hugo/hatch00_model_reduction_chart.png" caption="Figure 2: Model size reduction flowchart" >}} ### Notations {#notations} -Tables [3](#orgb6964ec), [2](#table--tab:notations-eigen-vectors-values) and [3](#table--tab:notations-stiffness-mass) summarize the notations of this document. +Tables [3](#org02d84e8), [2](#table--tab:notations-eigen-vectors-values) and [3](#table--tab:notations-stiffness-mass) summarize the notations of this document.
@@ -127,22 +127,22 @@ Tables [3](#orgb6964ec), [2](#table--tab:notations-eigen-vectors-values) and [3] ## Zeros in SISO Mechanical Systems {#zeros-in-siso-mechanical-systems} - + The origin and influence of poles are clear: they represent the resonant frequencies of the system, and for each resonance frequency, a mode shape can be defined to describe the motion at that frequency. We here which to give an intuitive understanding for **when to expect zeros in SISO mechanical systems** and **how to predict the frequencies at which they will occur**. -Figure [3](#orgb6964ec) shows a series arrangement of masses and springs, with a total of \\(n\\) masses and \\(n+1\\) springs. +Figure [3](#org02d84e8) shows a series arrangement of masses and springs, with a total of \\(n\\) masses and \\(n+1\\) springs. The degrees of freedom are numbered from left to right, \\(z\_1\\) through \\(z\_n\\). - + {{< figure src="/ox-hugo/hatch00_n_dof_zeros.png" caption="Figure 3: n dof system showing various SISO input/output configurations" >}}
-([Miu 1993](#org03acd9e)) shows that the zeros of any particular transfer function are the poles of the constrained system to the left and/or right of the system defined by constraining the one or two dof's defining the transfer function. +([Miu 1993](#org39eead7)) shows that the zeros of any particular transfer function are the poles of the constrained system to the left and/or right of the system defined by constraining the one or two dof's defining the transfer function. The resonances of the "overhanging appendages" of the constrained system create the zeros. @@ -151,12 +151,12 @@ The resonances of the "overhanging appendages" of the constrained system create ## State Space Analysis {#state-space-analysis} - + ## Modal Analysis {#modal-analysis} - + Lightly damped structures are typically analyzed with the "normal mode" method described in this section. @@ -196,9 +196,9 @@ Summarizing the modal analysis method of analyzing linear mechanical systems and #### Equation of Motion {#equation-of-motion} -Let's consider the model shown in Figure [4](#org627cff8) with \\(k\_1 = k\_2 = k\\), \\(m\_1 = m\_2 = m\_3 = m\\) and \\(c\_1 = c\_2 = 0\\). +Let's consider the model shown in Figure [4](#org0c2921d) with \\(k\_1 = k\_2 = k\\), \\(m\_1 = m\_2 = m\_3 = m\\) and \\(c\_1 = c\_2 = 0\\). - + {{< figure src="/ox-hugo/hatch00_undamped_tdof_model.png" caption="Figure 4: Undamped tdof model" >}} @@ -297,17 +297,17 @@ One then find: \end{bmatrix} \end{equation} -Virtual interpretation of the eigenvectors are shown in Figures [5](#org0396b30), [6](#orgd3bc915) and [7](#orgc82dccd). +Virtual interpretation of the eigenvectors are shown in Figures [5](#orgc90fe3a), [6](#orgfd8222c) and [7](#orgaf9cc36). - + {{< figure src="/ox-hugo/hatch00_tdof_mode_1.png" caption="Figure 5: Rigid-Body Mode, 0rad/s" >}} - + {{< figure src="/ox-hugo/hatch00_tdof_mode_2.png" caption="Figure 6: Second Model, Middle Mass Stationary, 1rad/s" >}} - + {{< figure src="/ox-hugo/hatch00_tdof_mode_3.png" caption="Figure 7: Third Mode, 1.7rad/s" >}} @@ -346,9 +346,9 @@ There are many options for change of basis, but we will show that **when eigenve The n-uncoupled equations in the principal coordinate system can then be solved for the responses in the principal coordinate system using the well known solutions for the single dof systems. The n-responses in the principal coordinate system can then be **transformed back** to the physical coordinate system to provide the actual response in physical coordinate. -This procedure is schematically shown in Figure [8](#org2a145bc). +This procedure is schematically shown in Figure [8](#orgf9a2963). - + {{< figure src="/ox-hugo/hatch00_schematic_modal_solution.png" caption="Figure 8: Roadmap for Modal Solution" >}} @@ -696,7 +696,7 @@ Absolute damping is based on making \\(b = 0\\), in which case the percentage of ## Frequency Response: Modal Form {#frequency-response-modal-form} - + The procedure to obtain the frequency response from a modal form is as follow: @@ -704,9 +704,9 @@ The procedure to obtain the frequency response from a modal form is as follow: - use Laplace transform to obtain the transfer functions in principal coordinates - back-transform the transfer functions to physical coordinates where the individual mode contributions will be evident -This will be applied to the model shown in Figure [9](#org5228de8). +This will be applied to the model shown in Figure [9](#org48b68a4). - + {{< figure src="/ox-hugo/hatch00_tdof_model.png" caption="Figure 9: tdof undamped model for modal analysis" >}} @@ -888,9 +888,9 @@ Equations \eqref{eq:general_add_tf} and \eqref{eq:general_add_tf_damp} shows tha
-Figure [10](#org36b2696) shows the separate contributions of each mode to the total response \\(z\_1/F\_1\\). +Figure [10](#org87763b9) shows the separate contributions of each mode to the total response \\(z\_1/F\_1\\). - + {{< figure src="/ox-hugo/hatch00_z11_tf.png" caption="Figure 10: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_1\\)" >}} @@ -899,16 +899,16 @@ The zeros for SISO transfer functions are the roots of the numerator, however, f ## SISO State Space Matlab Model from ANSYS Model {#siso-state-space-matlab-model-from-ansys-model} - + ### Introduction {#introduction} -In this section is developed a SISO state space Matlab model from an ANSYS cantilever beam model as shown in Figure [11](#org332d1e7). +In this section is developed a SISO state space Matlab model from an ANSYS cantilever beam model as shown in Figure [11](#orga66d597). A z direction force is applied at the midpoint of the beam and z displacement at the tip is the output. The objective is to provide the smallest Matlab state space model that accurately represents the pertinent dynamics. - + {{< figure src="/ox-hugo/hatch00_cantilever_beam.png" caption="Figure 11: Cantilever beam with forcing function at midpoint" >}} @@ -987,7 +987,7 @@ If sorting of DC gain values is performed prior to the `truncate` operation, the ## Ground Acceleration Matlab Model From ANSYS Model {#ground-acceleration-matlab-model-from-ansys-model} - + ### Model Description {#model-description} @@ -1001,25 +1001,25 @@ If sorting of DC gain values is performed prior to the `truncate` operation, the ## SISO Disk Drive Actuator Model {#siso-disk-drive-actuator-model} - + -In this section we wish to extract a SISO state space model from a Finite Element model representing a Disk Drive Actuator (Figure [12](#org6d55a33)). +In this section we wish to extract a SISO state space model from a Finite Element model representing a Disk Drive Actuator (Figure [12](#org94e126d)). ### Actuator Description {#actuator-description} - + {{< figure src="/ox-hugo/hatch00_disk_drive_siso_model.png" caption="Figure 12: Drawing of Actuator/Suspension system" >}} -The primary motion of the actuator is rotation about the pivot bearing, therefore the final model has the coordinate system transformed from a Cartesian x,y,z coordinate system to a Cylindrical \\(r\\), \\(\theta\\) and \\(z\\) system, with the two origins coincident (Figure [13](#org482c35b)). +The primary motion of the actuator is rotation about the pivot bearing, therefore the final model has the coordinate system transformed from a Cartesian x,y,z coordinate system to a Cylindrical \\(r\\), \\(\theta\\) and \\(z\\) system, with the two origins coincident (Figure [13](#org4a20950)). - + {{< figure src="/ox-hugo/hatch00_disk_drive_nodes_reduced_model.png" caption="Figure 13: Nodes used for reduced Matlab model. Shown with partial finite element mesh at coil" >}} For reduced models, we only require eigenvector information for dof where forces are applied and where displacements are required. -Figure [13](#org482c35b) shows the nodes used for the reduced Matlab model. +Figure [13](#org4a20950) shows the nodes used for the reduced Matlab model. The four nodes 24061, 24066, 24082 and 24087 are located in the center of the coil in the z direction and are used for simulating the VCM force. The arrows at the nodes indicate the direction of forces. @@ -1045,6 +1045,9 @@ A small section of the exported `.eig` file from ANSYS is shown bellow..
+
+
+ LOAD STEP= 1 SUBSTEP= 1 FREQ= 8.1532 LOAD CASE= 0 @@ -1059,6 +1062,8 @@ NODE UX UY UZ ROTX ROTY ROTZ
+
+ Important information are: - `SUBSTEP`: mode number @@ -1082,7 +1087,7 @@ From Ansys, we have the eigenvalues \\(\omega\_i\\) and eigenvectors \\(\bm{z}\\ ## Balanced Reduction {#balanced-reduction} - + In this chapter another method of reducing models, “balanced reduction”, will be introduced and compared with the DC and peak gain ranking methods. @@ -1197,14 +1202,14 @@ The **states to be kept are the states with the largest diagonal terms**. ## MIMO Two Stage Actuator Model {#mimo-two-stage-actuator-model} - + -In this section, a MIMO two-stage actuator model is derived from a finite element model (Figure [14](#orgdc24ed7)). +In this section, a MIMO two-stage actuator model is derived from a finite element model (Figure [14](#org1453e17)). ### Actuator Description {#actuator-description} - + {{< figure src="/ox-hugo/hatch00_disk_drive_mimo_schematic.png" caption="Figure 14: Drawing of actuator/suspension system" >}} @@ -1226,9 +1231,9 @@ Since the same forces are being applied to both piezo elements, they represent t ### Ansys Model Description {#ansys-model-description} -In Figure [15](#org40d5587) are shown the principal nodes used for the model. +In Figure [15](#orge94bde1) are shown the principal nodes used for the model. - + {{< figure src="/ox-hugo/hatch00_disk_drive_mimo_ansys.png" caption="Figure 15: Nodes used for reduced Matlab model, shown with partial mesh at coil and piezo element" >}} @@ -1264,23 +1269,23 @@ The complete system is rebuilt by augmenting the rigid body mode with the reduce We define the system parameters. ```matlab -m = 1; -k = 1; + m = 1; + k = 1; ``` We write the mass and stiffness matrices: ```matlab -M = diag([m, m, m]); -K = [k, -k, 0; - -k, 2*k, -k; - 0, -k, k]; + M = diag([m, m, m]); + K = [k, -k, 0; + -k, 2*k, -k; + 0, -k, k]; ``` Compute the eigenvalues and eigenvectors: ```matlab -[z, w] = eig(M\K); + [z, w] = eig(M\K); ``` | | rad/s | @@ -1292,7 +1297,7 @@ Compute the eigenvalues and eigenvectors: Normalization of the eigenvectors: ```matlab -zn = z./sqrt(diag(z' * M * z)); + zn = z./sqrt(diag(z' * M * z)); ``` | zn1 | zn2 | zn3 | @@ -1304,22 +1309,22 @@ zn = z./sqrt(diag(z' * M * z)); Non-necessary step: ```matlab -Mn = zn' * M * zn; -Kn = zn' * K * zn; + Mn = zn' * M * zn; + Kn = zn' * K * zn; ``` By inspection: ```matlab -Mn = eye(3); -Kn = w; % Shouldn't this be equal to w.^2 ? + Mn = eye(3); + Kn = w; % Shouldn't this be equal to w.^2 ? ``` We add some simple proportional damping: ```matlab -xi = 0.03; -Cn = xi/2*sqrt(k*m) * eye(3); + xi = 0.03; + Cn = xi/2*sqrt(k*m) * eye(3); ``` The equations in the principal coordinates are: @@ -1329,11 +1334,11 @@ Let's note \\[ \bm{G}\_p(s) = \frac{\bm{z}\_p}{\bm{F}} \\] ```matlab -Gp = (tf(Mn)*s^2 + tf(Cn)*s + tf(Kn))\tf(eye(3))*zn'; + Gp = (tf(Mn)*s^2 + tf(Cn)*s + tf(Kn))\tf(eye(3))*zn'; ``` ```matlab -bodeFig({Gp(1,1), Gp(2,2), Gp(3,3)}) + bodeFig({Gp(1,1), Gp(2,2), Gp(3,3)}) ``` And we have the Laplace transform in the principal coordinates. @@ -1344,14 +1349,14 @@ And we note: \\[ \bm{G}(s) = \bm{z}\_n\ bm{G}\_p(s) = \frac{\bm{z}}{\bm{F}} \\] ```matlab -G = zn * Gp; + G = zn * Gp; ``` - + {{< figure src="/ox-hugo/hatch00_z13_tf.png" caption="Figure 16: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_3\\)" >}} - + {{< figure src="/ox-hugo/hatch00_z11_tf.png" caption="Figure 17: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_1\\)" >}} @@ -1362,13 +1367,13 @@ G = zn * Gp; ### Extract values {#extract-values} ```matlab -filename = 'files/cantbeam30bl.eig'; + filename = 'files/cantbeam30bl.eig'; -dir = 3; % UY -[xn, f0] = readEigFile(filename, dir); + dir = 3; % UY + [xn, f0] = readEigFile(filename, dir); -n_nodes = size(xn, 1); -n_modes = size(xn, 2); + n_nodes = size(xn, 1); + n_modes = size(xn, 2); ``` @@ -1377,8 +1382,8 @@ n_modes = size(xn, 2); First, define the node numbers corresponding to the inputs and outputs ```matlab -i_input = 14; -i_output = 29; + i_input = 14; + i_output = 29; ``` @@ -1387,7 +1392,7 @@ i_output = 29; We here use uniform damping. ```matlab -xi = 0.01; + xi = 0.01; ``` @@ -1401,116 +1406,116 @@ I could define 2x2 sub-matrices each corresponding to a particular mode and then System Matrix - A ```matlab -Adiag = zeros(2*n_modes,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0); + Adiag = zeros(2*n_modes,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0); -Adiagsup = zeros(2*n_modes-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*n_modes-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*n_modes-1,1); -Adiaginf(1:2:end) = -(2*pi*f0).^2; + Adiaginf = zeros(2*n_modes-1,1); + Adiaginf(1:2:end) = -(2*pi*f0).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*n_modes, length(i_input)); + B = zeros(2*n_modes, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn'*Fp; -end + B(2:2:end, i) = xn'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*n_modes); -C(:, 1:2:end) = xn(i_output, :); + C = zeros(length(i_output), 2*n_modes); + C(:, 1:2:end) = xn(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_f = ss(A, B, C, D); + G_f = ss(A, B, C, D); ``` ### Simple mode truncation {#simple-mode-truncation} -Let's plot the frequency of the modes (Figure [18](#org152bcb2)). +Let's plot the frequency of the modes (Figure [18](#orga04e866)). - + {{< figure src="/ox-hugo/hatch00_cant_beam_modes_freq.png" caption="Figure 18: Frequency of the modes" >}} - + {{< figure src="/ox-hugo/hatch00_cant_beam_unsorted_dc_gains.png" caption="Figure 19: Unsorted DC Gains" >}} Let's keep only the first 10 modes. ```matlab -m_max = 10; -xn_t = xn(:, 1:m_max); -f0_t = f0(1:m_max); + m_max = 10; + xn_t = xn(:, 1:m_max); + f0_t = f0(1:m_max); ``` ```matlab -Adiag = zeros(2*m_max,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0_t); + Adiag = zeros(2*m_max,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0_t); -Adiagsup = zeros(2*m_max-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*m_max-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*m_max-1,1); -Adiaginf(1:2:end) = -(2*pi*f0_t).^2; + Adiaginf = zeros(2*m_max-1,1); + Adiaginf(1:2:end) = -(2*pi*f0_t).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*m_max, length(i_input)); + B = zeros(2*m_max, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn_t'*Fp; -end + B(2:2:end, i) = xn_t'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*m_max); -C(:, 1:2:end) = xn_t(i_output, :); + C = zeros(length(i_output), 2*m_max); + C(:, 1:2:end) = xn_t(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_t = ss(A, B, C, D); + G_t = ss(A, B, C, D); ``` @@ -1519,114 +1524,114 @@ G_t = ss(A, B, C, D); Let's sort the modes by their DC gains and plot their sorted DC gains. ```matlab -dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; + dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; -[dc_gain_sort, index_sort] = sort(dc_gain, 'descend'); + [dc_gain_sort, index_sort] = sort(dc_gain, 'descend'); ``` - + {{< figure src="/ox-hugo/hatch00_cant_beam_sorted_dc_gains.png" caption="Figure 20: Sorted DC Gains" >}} Let's keep only the first 10 **sorted** modes. ```matlab -m_max = 10; + m_max = 10; -xn_s = xn(:, index_sort(1:m_max)); -f0_s = f0(index_sort(1:m_max)); + xn_s = xn(:, index_sort(1:m_max)); + f0_s = f0(index_sort(1:m_max)); ``` ```matlab -Adiag = zeros(2*m_max,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0_s); + Adiag = zeros(2*m_max,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0_s); -Adiagsup = zeros(2*m_max-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*m_max-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*m_max-1,1); -Adiaginf(1:2:end) = -(2*pi*f0_s).^2; + Adiaginf = zeros(2*m_max-1,1); + Adiaginf(1:2:end) = -(2*pi*f0_s).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*m_max, length(i_input)); + B = zeros(2*m_max, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn_s'*Fp; -end + B(2:2:end, i) = xn_s'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*m_max); -C(:, 1:2:end) = xn_s(i_output, :); + C = zeros(length(i_output), 2*m_max); + C(:, 1:2:end) = xn_s(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_s = ss(A, B, C, D); + G_s = ss(A, B, C, D); ``` ### Comparison {#comparison} ```matlab -freqs = logspace(0, 5, 1000); + freqs = logspace(0, 5, 1000); -figure; -hold on; -plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Full'); -plot(freqs, abs(squeeze(freqresp(G_t, freqs, 'Hz'))), 'DisplayName', 'Trun'); -plot(freqs, abs(squeeze(freqresp(G_s, freqs, 'Hz'))), 'DisplayName', 'Sort'); -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -ylabel('Amplitude'); xlabel('Frequency [Hz]'); -legend(); + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Full'); + plot(freqs, abs(squeeze(freqresp(G_t, freqs, 'Hz'))), 'DisplayName', 'Trun'); + plot(freqs, abs(squeeze(freqresp(G_s, freqs, 'Hz'))), 'DisplayName', 'Sort'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude'); xlabel('Frequency [Hz]'); + legend(); ``` ### Effect of the Individual Modes {#effect-of-the-individual-modes} ```matlab -freqs = logspace(0, 4, 1000); + freqs = logspace(0, 4, 1000); -figure; -hold on; -for mode_i = 1:6 - A = zeros(2); - A(2,2) = -2*xi.*(2*pi*f0(mode_i)); - A(1,2) = 1; - A(2,1) = -(2*pi*f0(mode_i)).^2; + figure; + hold on; + for mode_i = 1:6 + A = zeros(2); + A(2,2) = -2*xi.*(2*pi*f0(mode_i)); + A(1,2) = 1; + A(2,1) = -(2*pi*f0(mode_i)).^2; - B = [0; xn(i_input, mode_i)']; + B = [0; xn(i_input, mode_i)']; - C = [xn(i_output, mode_i), 0]; + C = [xn(i_output, mode_i), 0]; - D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); - plot(freqs, abs(squeeze(freqresp(ss(A,B,C,D), freqs, 'Hz'))), ... - 'DisplayName', sprintf('Mode %i', mode_i)); -end -plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'k--', ... - 'DisplayName', 'Full'); -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -ylabel('Amplitude'); xlabel('Frequency [Hz]'); -legend(); + plot(freqs, abs(squeeze(freqresp(ss(A,B,C,D), freqs, 'Hz'))), ... + 'DisplayName', sprintf('Mode %i', mode_i)); + end + plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'k--', ... + 'DisplayName', 'Full'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude'); xlabel('Frequency [Hz]'); + legend(); ``` @@ -1638,9 +1643,9 @@ legend(); If we want to use Rayleigh damping: ```matlab -a = 1e-2; -b = 1e-6; -xi = (a + b * (2*pi*f0).^2)./(2*pi*f0); + a = 1e-2; + b = 1e-6; + xi = (a + b * (2*pi*f0).^2)./(2*pi*f0); ``` @@ -1649,64 +1654,64 @@ xi = (a + b * (2*pi*f0).^2)./(2*pi*f0); System Matrix - A ```matlab -Adiag = zeros(2*n_modes,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0); + Adiag = zeros(2*n_modes,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0); -Adiagsup = zeros(2*n_modes-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*n_modes-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*n_modes-1,1); -Adiaginf(1:2:end) = -(2*pi*f0).^2; + Adiaginf = zeros(2*n_modes-1,1); + Adiaginf(1:2:end) = -(2*pi*f0).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*n_modes, length(i_input)); + B = zeros(2*n_modes, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn'*Fp; -end + B(2:2:end, i) = xn'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*n_modes); -C(:, 1:2:end) = xn(i_output, :); + C = zeros(length(i_output), 2*n_modes); + C(:, 1:2:end) = xn(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_d = ss(A, B, C, D); + G_d = ss(A, B, C, D); ``` #### Comparison with Uniform Damping {#comparison-with-uniform-damping} ```matlab -freqs = logspace(0, 5, 1000); + freqs = logspace(0, 5, 1000); -figure; -hold on; -plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Uniform Damping'); -plot(freqs, abs(squeeze(freqresp(G_d, freqs, 'Hz'))), 'DisplayName', 'Non-Uniform Damping'); -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -ylabel('Amplitude'); xlabel('Frequency [Hz]'); -legend(); + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Uniform Damping'); + plot(freqs, abs(squeeze(freqresp(G_d, freqs, 'Hz'))), 'DisplayName', 'Non-Uniform Damping'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude'); xlabel('Frequency [Hz]'); + legend(); ``` @@ -1715,79 +1720,79 @@ legend(); Let's sort the modes by their peak gains and plot their sorted peak gains. ```matlab -dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; -peak_gain = dc_gain./xi; + dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; + peak_gain = dc_gain./xi; -[peak_gain_sort, index_sort] = sort(peak_gain, 'descend'); + [peak_gain_sort, index_sort] = sort(peak_gain, 'descend'); ``` Let's keep only the first 10 **sorted** modes. ```matlab -m_max = 10; + m_max = 10; -xn_s = xn(:, index_sort(1:m_max)); -f0_s = f0(index_sort(1:m_max)); -xi_x = xi(index_sort(1:m_max)); + xn_s = xn(:, index_sort(1:m_max)); + f0_s = f0(index_sort(1:m_max)); + xi_x = xi(index_sort(1:m_max)); ``` ```matlab -Adiag = zeros(2*m_max,1); -Adiag(2:2:end) = -2*xi_s.*(2*pi*f0_s); + Adiag = zeros(2*m_max,1); + Adiag(2:2:end) = -2*xi_s.*(2*pi*f0_s); -Adiagsup = zeros(2*m_max-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*m_max-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*m_max-1,1); -Adiaginf(1:2:end) = -(2*pi*f0_s).^2; + Adiaginf = zeros(2*m_max-1,1); + Adiaginf(1:2:end) = -(2*pi*f0_s).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*m_max, length(i_input)); + B = zeros(2*m_max, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn_s'*Fp; -end + B(2:2:end, i) = xn_s'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*m_max); -C(:, 1:2:end) = xn_s(i_output, :); + C = zeros(length(i_output), 2*m_max); + C(:, 1:2:end) = xn_s(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_p = ss(A, B, C, D); + G_p = ss(A, B, C, D); ``` ```matlab -freqs = logspace(0, 5, 1000); + freqs = logspace(0, 5, 1000); -figure; -hold on; -plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Uniform Damping'); -plot(freqs, abs(squeeze(freqresp(G_d, freqs, 'Hz'))), 'DisplayName', 'Non-Uniform Damping'); -plot(freqs, abs(squeeze(freqresp(G_p, freqs, 'Hz'))), 'DisplayName', 'Peak sort'); -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -ylabel('Amplitude'); xlabel('Frequency [Hz]'); -legend(); + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(G_f, freqs, 'Hz'))), 'DisplayName', 'Uniform Damping'); + plot(freqs, abs(squeeze(freqresp(G_d, freqs, 'Hz'))), 'DisplayName', 'Non-Uniform Damping'); + plot(freqs, abs(squeeze(freqresp(G_p, freqs, 'Hz'))), 'DisplayName', 'Peak sort'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude'); xlabel('Frequency [Hz]'); + legend(); ``` @@ -1799,8 +1804,8 @@ legend(); Let's choose two inputs and two outputs. ```matlab -i_input = [14, 31]; -i_output = [14, 31]; + i_input = [14, 31]; + i_output = [14, 31]; ``` @@ -1809,49 +1814,49 @@ i_output = [14, 31]; System Matrix - A ```matlab -Adiag = zeros(2*n_modes,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0); + Adiag = zeros(2*n_modes,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0); -Adiagsup = zeros(2*n_modes-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*n_modes-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*n_modes-1,1); -Adiaginf(1:2:end) = -(2*pi*f0).^2; + Adiaginf = zeros(2*n_modes-1,1); + Adiaginf(1:2:end) = -(2*pi*f0).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*n_modes, length(i_input)); + B = zeros(2*n_modes, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn'*Fp; -end + B(2:2:end, i) = xn'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*n_modes); -C(:, 1:2:end) = xn(i_output, :); + C = zeros(length(i_output), 2*n_modes); + C(:, 1:2:end) = xn(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_m = ss(A, B, C, D); + G_m = ss(A, B, C, D); ``` @@ -1862,13 +1867,13 @@ First, we have to make sure that the rigid body mode is not included in the syst Then, we compute the controllability and observability gramians. ```matlab -wc = gram(G_m, 'c'); -wo = gram(G_m, 'o'); + wc = gram(G_m, 'c'); + wo = gram(G_m, 'o'); ``` And we plot the diagonal terms - + {{< figure src="/ox-hugo/hatch00_gramians.png" caption="Figure 21: Observability and Controllability Gramians" >}} @@ -1883,17 +1888,17 @@ We use `balreal` to rank oscillatory states. > to reduce the model order). ```matlab -[G_b, G, T, Ti] = balreal(G_m); + [G_b, G, T, Ti] = balreal(G_m); ``` - + {{< figure src="/ox-hugo/hatch00_cant_beam_gramian_balanced.png" caption="Figure 22: Sorted values of the Gramian of the balanced realization" >}} Now we can choose the number of states to keep. ```matlab -n_states_b = 20; + n_states_b = 20; ``` We now use `modred` to define reduced order oscillatory system using `mathdc` or `truncate` option. @@ -1906,7 +1911,7 @@ We now use `modred` to define reduced order oscillatory system using `mathdc` or > state vector and X2 is discarded. ```matlab -G_br = modred(G_b, n_states_b+1:size(A,1), 'truncate'); + G_br = modred(G_b, n_states_b+1:size(A,1), 'truncate'); ``` If needed, the rigid body mode should be added to the reduced system. @@ -1914,13 +1919,13 @@ If needed, the rigid body mode should be added to the reduced system. And other option is to specify the minimum value of the gramians diagonal elements for the modes to keep. ```matlab -G_min = 1e-4; -G_br = modred(G_b, G\d+),(?\d+)\]:(?[^\[]+)', 'names'); + str = fileread('files/Kdense.txt'); + % Remove spaces + str = regexprep(str,'\s+',''); + % Regex to get the data + parts = regexp(str, '\[(?\d+),(?\d+)\]:(?[^\[]+)', 'names'); -row = cellfun(@str2double, {parts.row}, 'UniformOutput', true); -col = cellfun(@str2double, {parts.col}, 'UniformOutput', true); -val = cellfun(@str2double, {parts.val}, 'UniformOutput', true); + row = cellfun(@str2double, {parts.row}, 'UniformOutput', true); + col = cellfun(@str2double, {parts.col}, 'UniformOutput', true); + val = cellfun(@str2double, {parts.val}, 'UniformOutput', true); -sz = [max(row), max(col)]; % size of output matrix -MatK = zeros(sz); % preallocate size -ix = sub2ind(sz, row, col); % get matrix positions -MatK(ix)= val; % assign data + sz = [max(row), max(col)]; % size of output matrix + MatK = zeros(sz); % preallocate size + ix = sub2ind(sz, row, col); % get matrix positions + MatK(ix)= val; % assign data ``` ```matlab -str = fileread('files/Mdense.txt'); -% Remove spaces -str = regexprep(str,'\s+',''); -% Regex to get the data -parts = regexp(str, '\[(?\d+),(?\d+)\]:(?[^\[]+)', 'names'); + str = fileread('files/Mdense.txt'); + % Remove spaces + str = regexprep(str,'\s+',''); + % Regex to get the data + parts = regexp(str, '\[(?\d+),(?\d+)\]:(?[^\[]+)', 'names'); -row = cellfun(@str2double, {parts.row}, 'UniformOutput', true); -col = cellfun(@str2double, {parts.col}, 'UniformOutput', true); -val = cellfun(@str2double, {parts.val}, 'UniformOutput', true); + row = cellfun(@str2double, {parts.row}, 'UniformOutput', true); + col = cellfun(@str2double, {parts.col}, 'UniformOutput', true); + val = cellfun(@str2double, {parts.val}, 'UniformOutput', true); -sz = [max(row), max(col)]; % size of output matrix -MatM = zeros(sz); % preallocate size -ix = sub2ind(sz, row, col); % get matrix positions -MatM(ix)= val; % assign data + sz = [max(row), max(col)]; % size of output matrix + MatM = zeros(sz); % preallocate size + ix = sub2ind(sz, row, col); % get matrix positions + MatM(ix)= val; % assign data ``` Find inputs/outputs: ```matlab -i_input = 14; -i_output = 29; + i_input = 14; + i_output = 29; ``` @@ -1987,27 +1992,27 @@ i_output = 29; Correspondence with DOF: ```matlab -a = readtable('files/Mass_HB.mapping', 'FileType', 'text'); -KM_i = strcmpi(a{:, 3},{'UZ'}); + a = readtable('files/Mass_HB.mapping', 'FileType', 'text'); + KM_i = strcmpi(a{:, 3},{'UZ'}); -MatM = MatM(KM_i, KM_i); -MatK = MatK(KM_i, KM_i); + MatM = MatM(KM_i, KM_i); + MatK = MatK(KM_i, KM_i); ``` ### Read Position of Nodes {#read-position-of-nodes} ```matlab -a = readmatrix('files/FEA-poutre-noeuds.txt'); -pos = a(:, 4:6); -node_i = a(:, 7); + a = readmatrix('files/FEA-poutre-noeuds.txt'); + pos = a(:, 4:6); + node_i = a(:, 7); ``` ```matlab -figure; -hold on; -plot3(pos(:,1),pos(:,3),pos(:,3), 'ko') -text(pos(:,1),pos(:,3),pos(:,3), num2cell(node_i)) + figure; + hold on; + plot3(pos(:,1),pos(:,3),pos(:,3), 'ko') + text(pos(:,1),pos(:,3),pos(:,3), num2cell(node_i)) ``` @@ -2016,73 +2021,73 @@ text(pos(:,1),pos(:,3),pos(:,3), num2cell(node_i)) Define Physical Inputs and Outputs ```matlab -i_input = 14; -i_output = 29; + i_input = 14; + i_output = 29; ``` Damping ```matlab -xi = 0.01; + xi = 0.01; ``` ```matlab -dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; + dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2; -[dc_gain_sort, index_sort] = sort(dc_gain, 'descend'); + [dc_gain_sort, index_sort] = sort(dc_gain, 'descend'); ``` ```matlab -m_max = 13; + m_max = 13; -xn_s = xn(:, index_sort(1:m_max)); -f0_s = f0(index_sort(1:m_max)); + xn_s = xn(:, index_sort(1:m_max)); + f0_s = f0(index_sort(1:m_max)); ``` ```matlab -Adiag = zeros(2*m_max,1); -Adiag(2:2:end) = -2*xi.*(2*pi*f0_s); + Adiag = zeros(2*m_max,1); + Adiag(2:2:end) = -2*xi.*(2*pi*f0_s); -Adiagsup = zeros(2*m_max-1,1); -Adiagsup(1:2:end) = 1; + Adiagsup = zeros(2*m_max-1,1); + Adiagsup(1:2:end) = 1; -Adiaginf = zeros(2*m_max-1,1); -Adiaginf(1:2:end) = -(2*pi*f0_s).^2; + Adiaginf = zeros(2*m_max-1,1); + Adiaginf(1:2:end) = -(2*pi*f0_s).^2; -A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); + A = diag(Adiag) + diag(Adiagsup, 1) + diag(Adiaginf, -1); ``` System Matrix - B ```matlab -B = zeros(2*m_max, length(i_input)); + B = zeros(2*m_max, length(i_input)); -for i = 1:length(i_input) - % Physical Coordinates - Fp = zeros(n_nodes, 1); - Fp(i_input(i)) = 1; + for i = 1:length(i_input) + % Physical Coordinates + Fp = zeros(n_nodes, 1); + Fp(i_input(i)) = 1; - B(2:2:end, i) = xn_s'*Fp; -end + B(2:2:end, i) = xn_s'*Fp; + end ``` System Matrix - C ```matlab -C = zeros(length(i_output), 2*m_max); -C(:, 1:2:end) = xn_s(i_output, :); + C = zeros(length(i_output), 2*m_max); + C(:, 1:2:end) = xn_s(i_output, :); ``` System Matrix - D ```matlab -D = zeros(length(i_output), length(i_input)); + D = zeros(length(i_output), length(i_input)); ``` State Space Model ```matlab -G_s = ss(A, B, C, D); + G_s = ss(A, B, C, D); ``` @@ -2091,15 +2096,15 @@ G_s = ss(A, B, C, D); Full Mass and Stiffness matrices in the principal coordinates: ```matlab -Mp = eye(length(f0)); -Kp = xn'*diag((2*pi*f0).^2)/xn; + Mp = eye(length(f0)); + Kp = xn'*diag((2*pi*f0).^2)/xn; ``` Reduced Mass and Stiffness matrices in the principal coordinates: ```matlab -Mr = Mp() -Kr = xn'*diag((2*pi*f0).^2)/xn; + Mr = Mp() + Kr = xn'*diag((2*pi*f0).^2)/xn; ``` Reduced Mass and Stiffness matrices in the physical coordinates: @@ -2109,28 +2114,28 @@ Reduced Mass and Stiffness matrices in the physical coordinates: ``` ```matlab -M = xn_s*eye(m_max)/xn_s; -K = xn_s*diag((2*pi*f0_s).^2)/xn_s; + M = xn_s*eye(m_max)/xn_s; + K = xn_s*diag((2*pi*f0_s).^2)/xn_s; ``` ```matlab -% M = xn*eye(length(f0))/xn; -% K = xn*diag((2*pi*f0).^2)/xn; + % M = xn*eye(length(f0))/xn; + % K = xn*diag((2*pi*f0).^2)/xn; -M = eye(length(f0)); -K = xn*diag((2*pi*f0).^2)/xn; + M = eye(length(f0)); + K = xn*diag((2*pi*f0).^2)/xn; ``` ### Frames for Simscape {#frames-for-simscape} ```matlab -pos_frames = pos([1, i_input, i_output], :); + pos_frames = pos([1, i_input, i_output], :); ``` ## Bibliography {#bibliography} -Hatch, Michael R. 2000. _Vibration Simulation Using MATLAB and ANSYS_. CRC Press. +Hatch, Michael R. 2000. _Vibration Simulation Using MATLAB and ANSYS_. CRC Press. -Miu, Denny K. 1993. _Mechatronics: Electromechanics and Contromechanics_. 1st ed. Mechanical Engineering Series. Springer-Verlag New York. +Miu, Denny K. 1993. _Mechatronics: Electromechanics and Contromechanics_. 1st ed. Mechanical Engineering Series. Springer-Verlag New York. diff --git a/content/book/leach14_fundam_princ_engin_nanom.md b/content/book/leach14_fundam_princ_engin_nanom.md index 2cb4021..2af7db2 100644 --- a/content/book/leach14_fundam_princ_engin_nanom.md +++ b/content/book/leach14_fundam_princ_engin_nanom.md @@ -8,7 +8,7 @@ Tags : [Metrology]({{< relref "metrology" >}}) Reference -: ([Leach 2014](#orgc3e03e3)) +: ([Leach 2014](#orgc132434)) Author(s) : Leach, R. @@ -89,4 +89,4 @@ This type of angular interferometer is used to measure small angles (less than \ ## Bibliography {#bibliography} -Leach, Richard. 2014. _Fundamental Principles of Engineering Nanometrology_. Elsevier. . +Leach, Richard. 2014. _Fundamental Principles of Engineering Nanometrology_. Elsevier. . diff --git a/content/book/leach18_basic_precis_engin_edition.md b/content/book/leach18_basic_precis_engin_edition.md index 1ba0854..397cb91 100644 --- a/content/book/leach18_basic_precis_engin_edition.md +++ b/content/book/leach18_basic_precis_engin_edition.md @@ -8,7 +8,7 @@ Tags : [Precision Engineering]({{< relref "precision_engineering" >}}) Reference -: ([Leach and Smith 2018](#org545df46)) +: ([Leach and Smith 2018](#org50ae2e1)) Author(s) : Leach, R., & Smith, S. T. @@ -19,4 +19,4 @@ Year ## Bibliography {#bibliography} -Leach, Richard, and Stuart T. Smith. 2018. _Basics of Precision Engineering - 1st Edition_. CRC Press. +Leach, Richard, and Stuart T. Smith. 2018. _Basics of Precision Engineering - 1st Edition_. CRC Press. diff --git a/content/book/skogestad07_multiv_feedb_contr.md b/content/book/skogestad07_multiv_feedb_contr.md index 6d41ce8..c39d169 100644 --- a/content/book/skogestad07_multiv_feedb_contr.md +++ b/content/book/skogestad07_multiv_feedb_contr.md @@ -8,7 +8,7 @@ Tags : [Reference Books]({{< relref "reference_books" >}}), [Multivariable Control]({{< relref "multivariable_control" >}}) Reference -: ([Skogestad and Postlethwaite 2007](#org11783d5)) +: ([Skogestad and Postlethwaite 2007](#org7d9b388)) Author(s) : Skogestad, S., & Postlethwaite, I. @@ -19,10 +19,51 @@ Year PDF version : [link](/ox-hugo/skogestad07_multiv_feedb_contr.pdf) +
+\( +% H Infini +\newcommand{\hinf}{\mathcal{H}_\infty} +% H 2 +\newcommand{\htwo}{\mathcal{H}_2} +% Omega +\newcommand{\w}{\omega} +% H-Infinity Norm +\newcommand{\hnorm}[1]{\left\|#1\right\|_{\infty}} +% H-2 Norm +\newcommand{\normtwo}[1]{\left\|#1\right\|_{2}} +% Norm +\newcommand{\norm}[1]{\left\|#1\right\|} +% Absolute value +\newcommand{\abs}[1]{\left\lvert#1\right\lvert} +% Maximum for all omega +\newcommand{\maxw}{\text{max}_{\omega}} +% Maximum singular value +\newcommand{\maxsv}{\overline{\sigma}} +% Minimum singular value +\newcommand{\minsv}{\underline{\sigma}} +% Diag keyword +\newcommand{\diag}[1]{\text{diag}\{{#1}\}} +% Vector +\newcommand{\colvec}[1]{\begin{bmatrix} #1 \end{bmatrix}} +\newcommand{\tcmbox}[1]{\boxed{#1}} +% Simulate SIunitx +\newcommand{\SI}[2]{#1\,#2} +\newcommand{\ang}[1]{#1^{\circ}} +\newcommand{\degree}{^{\circ}} +\newcommand{\radian}{\text{rad}} +\newcommand{\percent}{\%} +\newcommand{\decibel}{\text{dB}} +\newcommand{\per}{/} +% Bug with subequations +\newcommand{\eatLabel}[2]{} +\newenvironment{subequations}{\eatLabel}{} +\) +
+ ## Introduction {#introduction} - + ### The Process of Control System Design {#the-process-of-control-system-design} @@ -44,10 +85,10 @@ The process of designing a control system is a step by step design procedure as 13. Choose hardware and software and implement the controller 14. Test and validate the control system, and tune the controller on-line, if necessary -Input-output controllability analysis is studied in section [sec:perf_limit_siso](#sec:perf_limit_siso) for SISO systems and in section [sec:perf_limit_mimo](#sec:perf_limit_mimo) for MIMO systems. -The steps 4, 5, 6 and 7 are corresponding to the **control structure design**. This is treated in section [sec:controller_structure_design](#sec:controller_structure_design). -The design of the controller is described in section [sec:controller_design](#sec:controller_design). -The analysis of performance and robustness of a controlled system is studied in sections [sec:uncertainty_robustness_siso](#sec:uncertainty_robustness_siso) and [sec:robust_perf_mimo](#sec:robust_perf_mimo). +Input-output controllability analysis is studied in section for SISO systems and in section for MIMO systems. +The steps 4, 5, 6 and 7 are corresponding to the **control structure design**. This is treated in section . +The design of the controller is described in section . +The analysis of performance and robustness of a controlled system is studied in sections and . ### The Control Problem {#the-control-problem} @@ -64,7 +105,7 @@ A major source of difficulty is that models may be inaccurate or may change with The inaccuracy in \\(G\\) may cause instability problems as it is part of the feedback loop. To deal with such a problem, the concept of **model uncertainty** will be used.
-
+
**Nominal Stability (NS)** @@ -112,9 +153,11 @@ The variables \\(\hat{y}\\), \\(\hat{r}\\) and \\(\hat{e}\\) are in the same uni For MIMO systems, each variables in the vectors \\(\hat{d}\\), \\(\hat{r}\\), \\(\hat{u}\\) and \\(\hat{e}\\) may have a different maximum value, in which case \\(D\_e\\), \\(D\_u\\), \\(D\_s\\) and \\(D\_r\\), become diagonal scaling matrices. -
+
+**Scaled transfer functions**: + \begin{align\*} G &= D\_e^{-1} \hat{G} D\_u\\\\\\ G\_d &= D\_e^{-1} \hat{G\_d} D\_d @@ -123,7 +166,11 @@ G\_d &= D\_e^{-1} \hat{G\_d} D\_d
We then obtain the following model in terms of scaled variables: -\\[ y = G u + G\_d d \\] + +\begin{equation\*} + y = G u + G\_d d +\end{equation\*} + where \\(u\\) and \\(d\\) should be less than 1 in magnitude.
It is sometimes useful to introduce a **scaled reference** \\(\tilde{r}\\) which is less than 1 in magnitude: \\(\tilde{r} = \hat{r}/\hat{r}\_{\max} = D\_r^{-1}\hat{r}\\) @@ -145,11 +192,11 @@ In order to obtain a linear model from the "first-principle", the following appr ### Notation {#notation} -Notations used throughout this note are summarized in tables [table:notation_conventional](#table:notation_conventional), [table:notation_general](#table:notation_general) and [table:notation_tf](#table:notation_tf). +Notations used throughout this note are summarized in tables [1](#table--tab:notation-conventional), [2](#table--tab:notation-general) and [3](#table--tab:notation-tf). - +
- Table 1: + Table 1: Notations for the conventional control configuration
@@ -164,9 +211,9 @@ Notations used throughout this note are summarized in tables [table:notatio | \\(y\_m\\) | Measurements | | \\(u\\) | Control signals | - +
- Table 2: + Table 2: Notations for the general configuration
@@ -178,9 +225,9 @@ Notations used throughout this note are summarized in tables [table:notatio | \\(v\\) | Controller inputs: measurements | | \\(u\\) | Control signals | - +
- Table 3: + Table 3: Notations for transfer functions
@@ -193,7 +240,7 @@ Notations used throughout this note are summarized in tables [table:notatio ## Classical Feedback Control {#classical-feedback-control} - + ### Frequency Response {#frequency-response} @@ -206,10 +253,10 @@ By replacing \\(s\\) by \\(j\omega\\) in a transfer function \\(G(s)\\), we get After sending a sinusoidal signal through a system \\(G(s)\\), the signal's magnitude is amplified by a factor \\(\abs{G(j\omega)}\\) and its phase is shifted by \\(\angle{G(j\omega)}\\).
-
+
-**minimum phase systems** are systems with no time delays or RHP-zeros. +**Minimum phase systems** are systems with no time delays or RHP-zeros. The name minimum phase refers to the fact that such a system has the minimum possible phase lag for the given magnitude response \\(|G(j\omega)|\\). @@ -219,13 +266,13 @@ The name minimum phase refers to the fact that such a system has the minimum pos For minimum phase systems, there is a unique relationship between the gain and phase of the frequency response: the **Bode gain-phase relationship**: -\begin{equation} +\begin{equation} \label{eq:bode\_phase\_gain} \angle{G(j\w\_0)} = \frac{1}{\pi} \int\_{-\infty}^{\infty} \frac{d\ln{\abs{G(j\w)}}}{d\ln{\w}} \ln{\abs{\frac{\w+\w\_0}{\w-\w\_0}}} \frac{d\w}{\w} \end{equation} We note \\(N(\w\_0) = \left( \frac{d\ln{|G(j\w)|}}{d\ln{\w}} \right)\_{\w=\w\_0}\\) that corresponds to the **slope of the magnitude** of \\(G(s)\\) in log-variables. We then have the following approximation of the **Bode gain-phase relationship**: -\begin{equation} +\begin{equation} \label{eq:bode\_phase\_gain\_approx} \tcmbox{\angle{G(j\w\_0)} \approx \frac{\pi}{2} N(\w\_0)} \end{equation} @@ -235,30 +282,32 @@ We note \\(N(\w\_0) = \left( \frac{d\ln{|G(j\w)|}}{d\ln{\w}} \right)\_{\w=\w\_0} #### One Degree-of-Freedom Controller {#one-degree-of-freedom-controller} -The simple one degree-of-freedom controller negative feedback structure is represented in Fig. [fig:classical_feedback_alt](#fig:classical_feedback_alt). +The simple one degree-of-freedom controller negative feedback structure is represented in Fig. [1](#orgd511abe). The input to the controller \\(K(s)\\) is \\(r-y\_m\\) where \\(y\_m = y+n\\) is the measured output and \\(n\\) is the measurement noise. Thus, the input to the plant is \\(u = K(s) (r-y-n)\\). The objective of control is to manipulate \\(u\\) (design \\(K\\)) such that the control error \\(e\\) remains small in spite of disturbances \\(d\\). The control error is defined as \\(e = y-r\\). - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_alt.png" caption="Figure 1: Configuration for one degree-of-freedom control" >}} #### Closed-loop Transfer Functions {#closed-loop-transfer-functions} -
+
-\begin{subequations} - \begin{align} - y &= T r + S G\_d d + T n\\\\\\ - e &= -S r + S G\_d d - T n\\\\\\ - y &= KS r - KS G\_d d - KS n - \end{align} -\end{subequations} +**Closed-Loop Transfer Functions**: + +\begin{equation} \label{eq:closed\_loop\_tf\_1dof\_feedback} +\begin{aligned} +y &= T r + S G\_d d + T n\\\\\\ +e &= -S r + S G\_d d - T n\\\\\\ +y &= KS r - KS G\_d d - KS n +\end{aligned} +\end{equation}
@@ -266,12 +315,18 @@ The control error is defined as \\(e = y-r\\). #### Why Feedback? {#why-feedback} We could think that we can use a "perfect" feedforward controller \\(K\_r(s) = G^{-1}(s)\\) with \\(r-G\_d d\\) as the controller input: -\\[ y = G u + G\_d d = G K\_r (r - G\_d d) + G\_d d = r \\] + +\begin{equation\*} + y = G u + G\_d d = G K\_r (r - G\_d d) + G\_d d = r +\end{equation\*} + Unfortunately, \\(G\\) is never an exact model and the disturbances are never known exactly. -
+
+**Reasons for Feedback Control**: + - Signal uncertainty - Unknown disturbance - Model uncertainty @@ -300,7 +355,7 @@ Moreover, method 2 provides useful measure of relative stability and will be use The **Gain Margin** is defined as: -\begin{equation} +\begin{equation} \label{eq:gain\_margin} \tcmbox{\text{GM} = \frac{1}{|L(j\w\_{180})|}} \end{equation} @@ -314,7 +369,7 @@ The GM is the factor by which the loop gain \\(\vert L(s)\vert\\) may be increas The **Phase Margin** is defined as: -\begin{equation} +\begin{equation} \label{eq:phase\_margin} \tcmbox{\text{PM} = \angle L(j \w\_c) + \ang{180}} \end{equation} @@ -329,15 +384,15 @@ Note that by decreasing the value of \\(\omega\_c\\) (lowering the closed-loop b #### Maximum Peak Criteria {#maximum-peak-criteria} -
+
-\begin{subequations} - \begin{align} - M\_S &= \max\_{\w} \abs{S(j\w)} = \hnorm{S}\\\\\\ - M\_T &= \max\_{\w} \abs{T(j\w)} = \hnorm{T} - \end{align} -\end{subequations} +**Maximum peak criteria** for \\(S\\) and \\(T\\): + +\begin{align} + M\_S &= \max\_{\w} \abs{S(j\w)} = \hnorm{S}\\\\\\ + M\_T &= \max\_{\w} \abs{T(j\w)} = \hnorm{T} +\end{align}
@@ -351,7 +406,7 @@ Typically, we require \\(M\_S < 2\ (6dB)\\) and \\(M\_T < 1.25\ (2dB)\\).
There is a close **relationship between these maximum peaks and the gain and phase margins**. For a given value of \\(M\_S\\), we have: -\begin{equation} +\begin{equation} \label{eq:link\_pm\_gm\_mm} \tcmbox{\text{GM} \geq \frac{M\_S}{M\_S-1}; \quad \text{PM} \geq \frac{1}{M\_S}} \end{equation} @@ -365,10 +420,10 @@ Example of guaranteed stability margins: In general, a large bandwidth corresponds to a faster rise time, however, this also indicates an higher sensitivity to noise and to parameter variations. -
+
-The bandwidth, is the frequency range \\([\w\_1, \w\_2]\\) over which control is **effective**. In most case we simple call \\(\w\_2 = \w\_B\\) the bandwidth. +The **bandwidth**, is the frequency range \\([\w\_1, \w\_2]\\) over which control is **effective**. In most case we simple call \\(\w\_2 = \w\_B\\) the bandwidth.
@@ -387,7 +442,7 @@ Then we have the following regions: The closed-loop time constant \\(\tau\_{\text{cl}}\\) can be related to the bandwidth: -\begin{equation} +\begin{equation} \label{eq:bandwidth\_response\_time} \tcmbox{\tau\_{\text{cl}} \approx \frac{1}{\w\_b}} \end{equation} @@ -444,9 +499,10 @@ Fortunately, the conflicting design objectives are generally in different freque #### Fundamentals of Loop-Shaping Design {#fundamentals-of-loop-shaping-design} -
+
+**Loop Shaping**: Design procedure that involves explicitly shaping the magnitude of the loop transfer function \\(\abs{L(j\w)}\\).
@@ -454,12 +510,12 @@ Design procedure that involves explicitly shaping the magnitude of the loop tran To get the benefits of feedback control, we want the loop gain \\(\abs{L(j\w)}\\) to be as large as possible within the bandwidth region. However, due to time delays, RHP-zeros, unmodelled high-frequency dynamics and limitations on the allowed manipulated inputs, the loop gain has to drop below one at and above the crossover frequency \\(\w\_c\\). -
+
To measure how \\(\abs{L(j\w)}\\) falls with frequency, we consider the **logarithmic slope**: -\begin{equation} +\begin{equation} \label{eq:logarithmic\_slope} N = \frac{d \ln{\abs{L}}}{d \ln{\w}} \end{equation} @@ -491,7 +547,7 @@ First consider a **time delay** \\(\theta\\) which adds a phase of \\(-\theta \o Thus, we want \\(\theta \omega\_c < \SI{55}{\degree} \approx \SI{1}{\radian}\\). The attainable bandwidth is limited by the time delay: -\begin{equation} +\begin{equation} \label{eq:time\_delay\_bw\_limit} \tcmbox{\omega\_c < 1/\theta} \end{equation} @@ -500,7 +556,7 @@ To avoid an increase in slope cause by the zero, we add a pole at \\(s = -z\\), The phase contribution is \\(\approx \SI{-55}{\degree}\\) at \\(\w = z/2\\). Thus, this limits the attainable bandwidth: -\begin{equation} +\begin{equation} \label{eq:rhp\_zero\_bw\_limit} \tcmbox{\w\_c < z/2} \end{equation} @@ -529,7 +585,7 @@ A reasonable loop shape is then \\(\abs{L} = \abs{G\_d}\\). The corresponding controller satisfies -\begin{equation} +\begin{equation} \label{eq:K\_loop\_shaping\_dist\_reject} \abs{K} = \abs{G^{-1}G\_d} \end{equation} @@ -552,18 +608,18 @@ For reference tracking, we typically want the controller to look like \\(\frac{1 We cannot achieve both of these simultaneously with a single feedback controller. -The solution is to use a **two degrees of freedom controller** where the reference signal \\(r\\) and output measurement \\(y\_m\\) are independently treated by the controller (Fig. [fig:classical_feedback_2dof_alt](#fig:classical_feedback_2dof_alt)), rather than operating on their difference \\(r - y\_m\\). +The solution is to use a **two degrees of freedom controller** where the reference signal \\(r\\) and output measurement \\(y\_m\\) are independently treated by the controller (Fig. [2](#orgaf9baaf)), rather than operating on their difference \\(r - y\_m\\). - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_alt.png" caption="Figure 2: 2 degrees-of-freedom control architecture" >}} -The controller can be slit into two separate blocks (Fig. [fig:classical_feedback_sep](#fig:classical_feedback_sep)): +The controller can be slit into two separate blocks (Fig. [3](#orgdf34a4b)): - the **feedback controller** \\(K\_y\\) that is used to **reduce the effect of uncertainty** (disturbances and model errors) - the **prefilter** \\(K\_r\\) that **shapes the commands** \\(r\\) to improve tracking performance - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_sep.png" caption="Figure 3: 2 degrees-of-freedom control architecture with two separate blocs" >}} @@ -580,13 +636,13 @@ An alternative design strategy is to directly shape the magnitude of the closed The \\(\hinf\\) norm of a stable scalar transfer function \\(f(s)\\) is simply the peak value of \\(\abs{f(j\w)}\\) as a function of frequency: -\begin{equation} +\begin{equation} \label{eq:hinf\_norm} \tcmbox{\hnorm{f(s)} \triangleq \max\_{\w} \abs{f(j\w)}} \end{equation} Similarly, the symbol \\(\htwo\\) stands for the Hardy space of transfer function with bounded 2-norm: -\begin{equation} +\begin{equation} \label{eq:h2\_norm} \tcmbox{\normtwo{f(s)} \triangleq \left( \frac{1}{2\pi} \int\_{-\infty}^{\infty} \abs{f(j\w)}^2 d\w \right)^{1/2}} \end{equation} @@ -595,9 +651,11 @@ Similarly, the symbol \\(\htwo\\) stands for the Hardy space of transfer functio The sensitivity function \\(S\\) is a very good indicator of closed-loop performance. The main advantage of considering \\(S\\) is that we want \\(S\\) small and **it is sufficient to consider just its magnitude** \\(\abs{S}\\). -
+
+**Typical specifications in terms of** \\(S\\): + - Minimum bandwidth frequency \\(\w\_B^\*\\) - Maximum tracking error at selected freq. - The maximum steady state tracking error \\(A\\) @@ -612,19 +670,27 @@ Mathematically, these specifications may be captured by an **upper bound** \\(1/ The subscript \\(P\\) stands for **performance** since \\(S\\) is mainly used as a performance indicator. The performance requirement becomes -\\[ S(j\w) < 1/\abs{W\_P(j\w)}, \forall \w \\] + +\begin{equation\*} + S(j\w) < 1/\abs{W\_P(j\w)}, \forall \w +\end{equation\*} + Which can be expressed as an \\(\mathcal{H}\_\infty\\): -\begin{equation} +\begin{equation} \label{eq:perf\_requirements\_hinf} \tcmbox{\hnorm{W\_P S} < 1} \end{equation} -
+
-\\[W\_P(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A}\\] +**Typical performance weight**: -With (see Fig. [fig:performance_weigth](#fig:performance_weigth)): +\begin{equation\*} + W\_P(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A} +\end{equation\*} + +With (see Fig. [4](#org1e6ca86)): - \\(M\\): maximum magnitude of \\(\abs{S}\\) - \\(\w\_B\\): crossover frequency @@ -632,12 +698,15 @@ With (see Fig. [fig:performance_weigth](#fig:performance_weigth)):
- + {{< figure src="/ox-hugo/skogestad07_weight_first_order.png" caption="Figure 4: Inverse of performance weight" >}} If we want a steeper slope for \\(L\\) below the bandwidth, an higher order weight may be selected. A weight which ask for a slope of \\(-2\\) for \\(L\\) below crossover is: -\\[W\_P(s) = \frac{(s/M^{1/2} + \w\_B^\*)^2}{(s + \w\_B^\* A^{1/2})^2}\\] + +\begin{equation\*} + W\_P(s) = \frac{(s/M^{1/2} + \w\_B^\*)^2}{(s + \w\_B^\* A^{1/2})^2} +\end{equation\*} #### Stacked Requirements: Mixed Sensitivity {#stacked-requirements-mixed-sensitivity} @@ -649,14 +718,21 @@ To do this, we can make demands on another closed-loop transfer function \\(T\\) Also, to achieve robustness or to restrict the magnitude of the input signal \\(u\\), one may place an upper bound \\(1/\abs{W\_U}\\) on the magnitude \\(KS\\).
To combined these **mixed sensitivity specifications**, a **stacking approach** is usually used, resulting in the following overall specification: -\\[\maxw \maxsv(N(j\w)) < 1; \quad N = \colvec{W\_P S \\ W\_T T \\ W\_U KS}\\] + +\begin{equation\*} + \maxw \maxsv(N(j\w)) < 1; \quad N = \begin{bmatrix} + W\_P S \\\\\\ + W\_T T \\\\\\ + W\_U KS + \end{bmatrix} +\end{equation\*} After selecting the form of \\(N\\) and the weights, the \\(\hinf\\) optimal controller is obtained by solving the problem \\(\min\_K\hnorm{N(K)}\\). ## Introduction to Multivariable Control {#introduction-to-multivariable-control} - + ### Introduction {#introduction} @@ -674,7 +750,7 @@ A plant is said to be **ill-conditioned** if the gain depends strongly on the in For MIMO systems the order of the transfer functions matter, so in general: -\begin{equation} +\begin{equation} \label{eq:mimo\_gk\_neq\_kg} \tcmbox{GK \neq KG} \end{equation} @@ -683,7 +759,7 @@ even when \\(G\\) and \\(K\\) are square matrices. ### Transfer Functions {#transfer-functions} -
+
The main rule for evaluating transfer functions is the **MIMO Rule**: Start from the output and write down the transfer functions as you meet them going to the input. If you exit a feedback loop then we get a term \\((I-L)^{-1}\\) where \\(L = GK\\) is the transfer function around the loop (gain going backwards). @@ -693,13 +769,13 @@ The main rule for evaluating transfer functions is the **MIMO Rule**: Start from #### Negative Feedback Control Systems {#negative-feedback-control-systems} -For negative feedback system (Fig. [fig:classical_feedback_bis](#fig:classical_feedback_bis)), we define \\(L\\) to be the loop transfer function as seen when breaking the loop at the **output** of the plant: +For negative feedback system (Fig. [5](#org4a80576)), we define \\(L\\) to be the loop transfer function as seen when breaking the loop at the **output** of the plant: - \\(L = G K\\) - \\(S \triangleq (I + L)^{-1}\\) is the transfer function from \\(d\_1\\) to \\(y\\) - \\(T \triangleq L(I + L)^{-1}\\) is the transfer function from \\(r\\) to \\(y\\) - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_bis.png" caption="Figure 5: Conventional negative feedback control system" >}} @@ -723,7 +799,7 @@ The element \\(g\_{ij}(j\w)\\) of the matrix \\(G\\) represents the sinusoidal r For a SISO system, the gain at \\(\omega\\) is simply: -\begin{equation} +\begin{equation} \label{eq:gain\_siso} \frac{|y(\w)|}{|d(\w)|} = \frac{|G(j\w)d(\w)|}{|d(\w)|} = |G(j\w)| \end{equation} @@ -731,11 +807,14 @@ The gain depends on the frequency \\(\w\\) but it is independent of the input ma For MIMO systems, we have to use norms to measure the amplitude of the inputs/outputs. If we select vector 2-norm, the magnitude of the vector input signal is: -\\[ \normtwo{d(\w)} = \sqrt{\sum\_j |d\_j(\w)|^2} \\] + +\begin{equation\*} + \normtwo{d(\w)} = \sqrt{\sum\_j |d\_j(\w)|^2} +\end{equation\*} The gain of the system is then: -\begin{equation} +\begin{equation} \label{eq:gain\_mimo} \frac{\normtwo{y(\w)}}{\normtwo{d(\w)}} = \frac{\normtwo{G(j\w)d(\w)}}{\normtwo{d(\w)}} = \frac{\sqrt{\sum\_j |y\_j(\w)|^2}}{\sqrt{\sum\_j |d\_j(\w)|^2}} \end{equation} @@ -752,10 +831,12 @@ The main problem is that the eigenvalues measure the gain for the special case w We are interested by the physical interpretation of the SVD when applied to the frequency response of a MIMO system \\(G(s)\\) with \\(m\\) inputs and \\(l\\) outputs. -
+
-\begin{equation} +**Singular Value Decomposition**: + +\begin{equation} \label{eq:svd} G = U \Sigma V^H \end{equation} @@ -772,19 +853,29 @@ G = U \Sigma V^H The input and output directions are related through the singular values: -\begin{equation} +\begin{equation} \label{eq:svd\_directions} \tcmbox{G v\_i = \sigma\_i u\_i} \end{equation} So, if we consider an input in the direction \\(v\_i\\), then the output is in the direction \\(u\_i\\). Furthermore, since \\(\normtwo{v\_i}=1\\) and \\(\normtwo{u\_i}=1\\), we see that **the singular value \\(\sigma\_i\\) directly gives the gain of the matrix \\(G\\) in this direction**.
The **largest gain** for any input is equal to the **maximum singular value**: -\\[\maxsv(G) \equiv \sigma\_1(G) = \max\_{d\neq 0}\frac{\normtwo{Gd}}{\normtwo{d}} = \frac{\normtwo{Gv\_1}}{\normtwo{v\_1}} \\] -The **smallest gain** for any input direction is equal to the **minimum singular value**: -\\[\minsv(G) \equiv \sigma\_k(G) = \min\_{d\neq 0}\frac{\normtwo{Gd}}{\normtwo{d}} = \frac{\normtwo{Gv\_k}}{\normtwo{v\_k}} \\] -We define \\(u\_1 = \bar{u}\\), \\(v\_1 = \bar{v}\\), \\(u\_k=\ubar{u}\\) and \\(v\_k = \ubar{v}\\). Then is follows that: -\\[ G\bar{v} = \maxsv \bar{u} ; \quad G\ubar{v} = \minsv \ubar{u} \\] +\begin{equation\*} + \maxsv(G) \triangleq \sigma\_1(G) = \max\_{d\neq 0}\frac{\normtwo{Gd}}{\normtwo{d}} = \frac{\normtwo{Gv\_1}}{\normtwo{v\_1}} +\end{equation\*} + +The **smallest gain** for any input direction is equal to the **minimum singular value**: + +\begin{equation\*} + \minsv(G) \triangleq \sigma\_k(G) = \min\_{d\neq 0}\frac{\normtwo{Gd}}{\normtwo{d}} = \frac{\normtwo{Gv\_k}}{\normtwo{v\_k}} +\end{equation\*} + +We define \\(u\_1 = \overline{u}\\), \\(v\_1 = \overline{v}\\), \\(u\_k = \underline{u}\\) and \\(v\_k = \underline{v}\\). Then is follows that: + +\begin{equation\*} + G\overline{v} = \maxsv \overline{u} ; \quad G\underline{v} = \minsv \underline{u} +\end{equation\*} #### Non Square Plants {#non-square-plants} @@ -797,17 +888,23 @@ Similarly, for a plant with more inputs and outputs, the additional input singul #### Singular Values for Performance {#singular-values-for-performance} The gain of the MIMO system from the vector of reference inputs \\(r\\) and the vector of control error \\(e\\) is bounded by the minimum and maximum singular values of \\(S\\): -\\[ \minsv(S(j\w)) < \frac{\normtwo{e(\w)}}{\normtwo{r(\w)}} < \maxsv(S(j\w)) \\] + +\begin{equation\*} + \minsv(S(j\w)) < \frac{\normtwo{e(\w)}}{\normtwo{r(\w)}} < \maxsv(S(j\w)) +\end{equation\*} In terms of performance, we require that the gain remains small for any direction of \\(r(\w)\\) including the "worst-case" direction corresponding to the gain \\(\maxsv(S(j\w))\\). Let \\(1/\abs{W\_P(j\w)}\\) represent the maximum allowed magnitude of \\(\frac{\normtwo{e(\w)}}{\normtwo{r(\w)}}\\) at each frequency: -\\[ \maxsv(S(j\w)) < \frac{1}{\abs{W\_P}}, \forall \w \Leftrightarrow \hnorm{W\_P S} < 1 \\] -
+\begin{equation\*} + \maxsv(S(j\w)) < \frac{1}{\abs{W\_P}}, \forall \w \Leftrightarrow \hnorm{W\_P S} < 1 +\end{equation\*} + +
The \\(\hinf\\) norm is defined as the peak of the maximum singular value of the frequency response: -\begin{equation} +\begin{equation} \label{eq:hinf\_norm\_mimo} \hnorm{M(s)} \triangleq \max\_{\w} \maxsv(M(j\w)) \end{equation} @@ -825,7 +922,10 @@ A conceptually simple approach to multivariable control is given by a two-step p 2. **Design a diagonal controller** \\(K\_S(s)\\) for the shaped plant using methods similar to those for SISO systems. The overall controller is then: -\\[ K(s) = W\_1(s)K\_s(s) \\] + +\begin{equation\*} + K(s) = W\_1(s)K\_s(s) +\end{equation\*} #### Decoupling {#decoupling} @@ -847,10 +947,16 @@ The idea of decoupling control is appealing, but there are **several difficultie We can also introduce a **post compensator** \\(W\_2(s)\\). The shaped plant is then: -\\[G\_S(s) = W\_2(s)G(s)W\_1(s)\\] + +\begin{equation\*} + G\_S(s) = W\_2(s)G(s)W\_1(s) +\end{equation\*} A diagonal controller \\(K\_S\\) can then be designed for the shaped plant. The overall controller is then: -\\[K(s) = W\_1(s)K\_S(s)W\_2(s)\\] + +\begin{equation\*} + K(s) = W\_1(s)K\_S(s)W\_2(s) +\end{equation\*} The **SVD-controller** is a special case of a pre and post compensator design: \\(W\_1 = V\_0\\) and \\(W\_2 = U\_0^T\\). \\(V\_0\\) and \\(U\_0\\) are obtained from a SVD of \\(G\_0 = U\_0 \Sigma\_0 V\_0^T\\) where \\(G\_0\\) is a real approximation of \\(G(j\w\_0)\\). @@ -867,12 +973,20 @@ However, if off-diagonal elements in \\(G(s)\\) are large, the performance with Consider the problem of disturbance rejection: \\(y = S G\_d d\\) where \\(\normtwo{d}<1\\) and our performance requirement is that \\(\normtwo{y}<1\\) which is equivalent to requiring \\(\maxsv(SG\_d) < 1\\). However there is generally a trade-off between input usage and performance. The controller that minimize the input magnitude while meeting the performance requirement is the one that yields all singular values of \\(SG\_d\\) equal to 1, i.e. \\(\sigma\_i(SG\_d) = 1, \forall \w\\). This corresponds to: -\\[S\_{\text{min}} G\_d = U\_1\\] + +\begin{equation\*} + S\_{\text{min}} G\_d = U\_1 +\end{equation\*} + Where \\(U\_1\\) is some all-pass transfer function (which at each frequency has all its singular values equal to 1). At frequencies where feedback is effective, we have \\(S\approx L^{-1}\\) and then \\(L\_{\text{min}} = GK\_{\text{min}} \approx G\_d U\_1^{-1}\\). In conclusion, the controller and loop shape with the minimum gain will often look like: -\\[ K\_{\text{min}} \approx G^{-1} G\_d U\_2 \\] + +\begin{equation\*} + K\_{\text{min}} \approx G^{-1} G\_d U\_2 +\end{equation\*} + where \\(U\_2 = U\_1^{-1}\\) is some all-pass transfer function matrix. We see that for disturbances entering at the plant inputs, \\(G\_d = G\\), we get \\(G\_{\text{min}} = U\_2\\), so a simple constant unit gain controller yields a good trade-off between output performance and input usage. @@ -882,22 +996,29 @@ We see that for disturbances entering at the plant inputs, \\(G\_d = G\\), we ge In the mixed-sensitivity \\(S/KS\\) problem, the objective is to minimize the \\(\hinf\\) norm of: -\begin{equation} - N = \colvec{W\_P S \\ W\_U K S} +\begin{equation} \label{eq:s\_ks\_mixed\_sensitivity} + N = \begin{bmatrix} + W\_P S \\\\\\ + W\_U K S + \end{bmatrix} \end{equation} Here are some guidelines for the choice of the weights \\(W\_P\\) and \\(W\_U\\): - \\(KS\\) is the transfer function from \\(r\\) to \\(u\\), so for a system which has been scaled, a reasonable initial choice for the input weight is \\(W\_U = I\\) - \\(S\\) is the transfer function from \\(r\\) to \\(-e = r-y\\). A common choice for the performance weight is \\(W\_P = \text{diag}\\{w\_{p\_i}\\}\\) with: - \\[ w\_{p\_i} = \frac{s/M\_i + \w\_{B\_i}^\*}{s + \w\_{B\_i}^\*A\_i}, \quad A\_i \ll 1 \\] + + \begin{equation\*} + w\_{p\_i} = \frac{s/M\_i + \w\_{B\_i}^\*}{s + \w\_{B\_i}^\*A\_i}, \quad A\_i \ll 1 + \end{equation\*} + Selecting \\(A\_i \ll 1\\) ensures approximate integral action. Often we select \\(M\_i\\) about 2 for all outputs, whereas \\(\w\_{B\_i}^\*\\) may be different for each output. For disturbance rejection, we may in some cases want a steeper slope for \\(w\_{P\_i}(s)\\) at low frequencies. However it may be better to **consider the disturbances explicitly** by considering the \\(\hinf\\) norm of: -\begin{equation} +\begin{equation} \label{eq:mixed\_sensitivity\_4} N = \begin{bmatrix} W\_P S & W\_P S G\_d \\\\\\ W\_U K S & W\_U K S G\_d @@ -916,7 +1037,7 @@ This can be achieved in several ways: Whereas the poles \\(p\\) of MIMO system \\(G\\) are essentially poles of elements of \\(G\\), the zeros are generally not the zeros of elements of \\(G\\). However, for square MIMO plants, the poles and zeros are in most cases the poles and zeros of \\(\det G(s)\\). -
+
The zeros \\(z\\) of a MIMO system \\(G\\) are defined as the values \\(s=z\\) where \\(G(s)\\) loses rank. @@ -938,12 +1059,12 @@ If it is not, the zero is called a "**pinned zero**". #### Condition Number {#condition-number} -
+
-We define the condition number of a matrix as the ratio between its maximum and minimum singular values: +We define the **condition number** of a matrix as the ratio between its maximum and minimum singular values: -\begin{equation} +\begin{equation} \label{eq:condition\_number} \gamma(G) \triangleq \maxsv(G)/\minsv(G) \end{equation} @@ -957,7 +1078,7 @@ It then follows that the condition number is large if the product of the largest Note that the condition number depends strongly on scaling. One might consider minimizing the condition number over all possible scalings. This results in the **minimized or optimal condition number** which is defined by: -\begin{equation} +\begin{equation} \label{eq:condition\_number\_optimal} \gamma^\*(G) = \min\_{D\_1,D\_2} \gamma(D\_1 G D\_2) \end{equation} @@ -967,12 +1088,12 @@ However if the condition number is large (say, larger than 10), then this may in #### Relative Gain Array (RGA) {#relative-gain-array--rga} -
+
-The relative gain array (RGA) for a non-singular square matrix \\(G\\) is a square matrix defined as: +The **relative gain array** (RGA) for a non-singular square matrix \\(G\\) is a square matrix defined as: -\begin{equation} +\begin{equation} \label{eq:relative\_gain\_array} \text{RGA}(G) = \Lambda(G) \triangleq G \times G^{-T} \end{equation} @@ -1012,15 +1133,16 @@ The **structured singular value** \\(\mu\\) is a tool for analyzing the effects ### General Control Problem Formulation {#general-control-problem-formulation} -The general control problem formulation is represented in Fig. [fig:general_control_names](#fig:general_control_names). +The general control problem formulation is represented in Fig. [6](#org2f011da). - + {{< figure src="/ox-hugo/skogestad07_general_control_names.png" caption="Figure 6: General control configuration" >}} -
+
+**Control Design Problem**: Find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed-loop norm from \\(w\\) to \\(z\\).
@@ -1031,20 +1153,26 @@ Find a controller \\(K\\) which based on the information in \\(v\\), generates a We must first find a block diagram representation of the system and identify the signals \\(w\\), \\(z\\), \\(u\\) and \\(v\\). Then we have to break all the "loops" entering and exiting the controller \\(K\\) to obtain \\(P\\) such that: -\begin{equation} - \colvec{z\\v} = P \colvec{w\\u} +\begin{equation} \label{eq:generalized\_plant\_inputs\_outputs} + \begin{bmatrix} + z \\\\\\ + v + \end{bmatrix} = P \begin{bmatrix} + w \\\\\\ + u + \end{bmatrix} \end{equation} #### Controller Design: Including Weights in \\(P\\) {#controller-design-including-weights-in--p} -In order to get a meaningful controller synthesis problem, for example in terms of the \\(\hinf\\) norms, we generally have to include the weights \\(W\_z\\) and \\(W\_w\\) in the generalized plant \\(P\\) (Fig. [fig:general_plant_weights](#fig:general_plant_weights)). +In order to get a meaningful controller synthesis problem, for example in terms of the \\(\hinf\\) norms, we generally have to include the weights \\(W\_z\\) and \\(W\_w\\) in the generalized plant \\(P\\) (Fig. [7](#orgcf69c72)). We consider: - The weighted or normalized exogenous inputs \\(w\\) (where \\(\tilde{w} = W\_w w\\) consists of the "physical" signals entering the system) - The weighted or normalized controlled outputs \\(z = W\_z \tilde{z}\\) (where \\(\tilde{z}\\) often consists of the control error \\(y-r\\) and the manipulated input \\(u\\)) - + {{< figure src="/ox-hugo/skogestad07_general_plant_weights.png" caption="Figure 7: General Weighted Plant" >}} @@ -1055,11 +1183,17 @@ The weighted matrices are usually frequency dependent and typically selected suc We often partition \\(P\\) as: -\begin{equation} - \begin{bmatrix} z \\ v \end{bmatrix} = \begin{bmatrix} - P\_{11} & P\_{12} \\\\\\ - P\_{21} & P\_{22} - \end{bmatrix} \begin{bmatrix} w \\ u \end{bmatrix} +\begin{equation} \label{eq:general\_plant\_partitioning} + \begin{bmatrix} + z \\\\\\ + v + \end{bmatrix} = \begin{bmatrix} + P\_{11} & P\_{12} \\\\\\ + P\_{21} & P\_{22} + \end{bmatrix} \begin{bmatrix} + w \\\\\\ + u + \end{bmatrix} \end{equation} \\(P\_{22}\\) has dimensions compatible with the controller. @@ -1069,15 +1203,21 @@ We often partition \\(P\\) as: In the previous representations, the controller \\(K\\) has a separate block. This is useful when **synthesizing** the controller. However, for **analysis** of closed-loop performance the controller is given, and we may absorb \\(K\\) into the interconnection structure and obtain the system \\(N\\). -
+
-\begin{equation} +**Closed-loop transfer function** \\(N\\): + +\begin{equation} \label{eq:N\_formula} z = N w \end{equation} \\(N\\) is given by: -\\[N = P\_{11} + P\_{12}K(I-P\_{22}K)^{-1}P\_{12} \triangleq F\_l(P, K) \\] + +\begin{equation\*} + N = P\_{11} + P\_{12}K(I-P\_{22}K)^{-1}P\_{12} \triangleq F\_l(P, K) +\end{equation\*} + where \\(F\_l(P, K)\\) denotes a **lower linear fractional transformation** (LFT).
@@ -1085,9 +1225,9 @@ where \\(F\_l(P, K)\\) denotes a **lower linear fractional transformation** (LFT #### A General Control Configuration Including Model Uncertainty {#a-general-control-configuration-including-model-uncertainty} -The general control configuration may be extended to include model uncertainty as shown in Fig. [fig:general_config_model_uncertainty](#fig:general_config_model_uncertainty). +The general control configuration may be extended to include model uncertainty as shown in Fig. [8](#orgd20b47f). - + {{< figure src="/ox-hugo/skogestad07_general_control_Mdelta.png" caption="Figure 8: General control configuration for the case with model uncertainty" >}} @@ -1097,7 +1237,7 @@ It is usually normalized in such a way that \\(\hnorm{\Delta} \leq 1\\). ### Conclusion {#conclusion} -
+
The **Singular Value Decomposition** (SVD) of the plant transfer function matrix provides insight into **multivariable directionality**.
@@ -1115,7 +1255,7 @@ MIMO systems are often **more sensitive to uncertainty** than SISO systems. ## Elements of Linear System Theory {#elements-of-linear-system-theory} - + ### System Descriptions {#system-descriptions} @@ -1130,7 +1270,10 @@ For linear systems there are several alternative system representations: #### State-Space Representation {#state-space-representation} A natural way to represent many physical systems is by nonlinear state-space models of the form -\\[\dot{x} \triangleq \frac{dx}{dt} = f(x, u);\quad y = g(x, u)\\] + +\begin{equation\*} + \dot{x} \triangleq \frac{dx}{dt} = f(x, u);\quad y = g(x, u) +\end{equation\*} Linear state-space models may then be derived from the linearization of such models. @@ -1141,20 +1284,34 @@ y(t) & = C x(t) + D u(t) where \\(A\\), \\(B\\), \\(C\\) and \\(D\\) are real matrices. -These equations may be rewritten as -\\[\colvec{\dot{x}\\y} = \begin{bmatrix} -A & B \\\\\\ -C & D -\end{bmatrix} \colvec{x\\u}\\] +These equations may be rewritten as + +\begin{equation\*} + \begin{bmatrix} + \dot{x} \\\\\\ + y + \end{bmatrix} = \begin{bmatrix} + A & B \\\\\\ + C & D + \end{bmatrix} + \begin{bmatrix} + x \\\\\\ + u + \end{bmatrix} +\end{equation\*} + which gives rise to the short-hand notation -\\[G = \left[ \begin{array}{c|c} -A & B \\ \hline -C & D \\\\\\ -\end{array} \right]\\] + +\begin{equation} + G = \left[ \begin{array}{c|c} + A & B \cr \hline + C & D + \end{array} \right] +\end{equation} The state-space representation of a system is not unique, there exist realizations with the same input-output behavior, but with additional unobservable and/or uncontrollable state. -
+
A minimal realization is a realization with the **fewest number of states** and consequently **no unobservable or uncontrollable modes**. @@ -1167,40 +1324,62 @@ The state-space representation yields an internal description of the system whic #### Impulse Response Representation {#impulse-response-representation} The impulse response matrix is -\\[g(t) = \begin{cases} + +\begin{equation\*} + g(t) = \begin{cases} 0 & t < 0 \\\\\\ C e^{At} B + D \delta(t) & t \geq 0 -\end{cases}\\] +\end{cases} +\end{equation\*} + The \\(ij\\)'th element of the impulse response matrix, \\(g\_{ij}(t)\\), represents the response \\(y\_i(t)\\) to an impulse \\(u\_j(t)=\delta(t)\\) for a systems with a zero initial state. With initial state \\(x(0) = 0\\), the dynamic response to an arbitrary input \\(u(t)\\) is -\\[y(t) = g(t)\*u(t) = \int\_0^t g(t-\tau)u(\tau)d\tau\\] + +\begin{equation\*} + y(t) = g(t)\*u(t) = \int\_0^t g(t-\tau)u(\tau)d\tau +\end{equation\*} #### Transfer Function Representation - Laplace Transforms {#transfer-function-representation-laplace-transforms} The transfer function representation is unique and is defined as the Laplace transform of the impulse response. -
+
-\\[ G(s) = \int\_0^\infty g(t)e^{-st}dt \\] +**Laplace transform**: + +\begin{equation\*} + G(s) = \int\_0^\infty g(t)e^{-st}dt +\end{equation\*}
We can also obtain the transfer function representation from the state-space representation by taking the Laplace transform of the state-space equations -\\[ s x(s) = A x(s) + B u(s) \ \Rightarrow \ x(s) = (sI-A)^{-1} B u(s) \\] -\\[ y(s) = C x(s) + D u(s) \ \Rightarrow \ y(s) = \underbrace{\left(C(sI-A)^{-1}B+D\right)}\_{G(s)}u(s) \\] + +\begin{equation\*} + s x(s) = A x(s) + B u(s) \ \Rightarrow \ x(s) = (sI-A)^{-1} B u(s) +\end{equation\*} + +\begin{equation\*} + y(s) = C x(s) + D u(s) \ \Rightarrow \ y(s) = \underbrace{\left(C(sI-A)^{-1}B+D\right)}\_{G(s)}u(s) +\end{equation\*} Time delays and improper systems can be represented by Laplace transforms, but do not have a state-space representation. #### Coprime Factorization {#coprime-factorization} -
+
-\\[G(s) = N\_r(s) M\_r^{-1}(s)\\] +**Right coprime factorization of \\(G\\)**: + +\begin{equation\*} + G(s) = N\_r(s) M\_r^{-1}(s) +\end{equation\*} + where \\(N\_r(s)\\) and \\(M\_r(s)\\) are stable coprime transfer functions.
@@ -1219,7 +1398,10 @@ There are **many ways to check for state controllability and observability**, e. The method which yields the most insight is probably to compute the input and output directions associated with each pole (mode). For the case when \\(A\\) has distinct eigenvalues, we have the following dyadic expansion of the transfer function matrix from inputs to outputs -\\[G(s) = \sum\_{i=1}^{n} \frac{C t\_i q\_i^H B}{s - \lambda\_i} + D = \sum\_{i=1}^{n} \frac{y\_{p\_i} u\_{p\_i}}{s - \lambda\_i} + D\\] + +\begin{equation\*} + G(s) = \sum\_{i=1}^{n} \frac{C t\_i q\_i^H B}{s - \lambda\_i} + D = \sum\_{i=1}^{n} \frac{y\_{p\_i} u\_{p\_i}}{s - \lambda\_i} + D +\end{equation\*} - The \\(i\\)'th **input pole vector** \\(u\_{p\_i} \triangleq q\_i^H B\\) is an indication of how much the \\(i\\)'th mode is excited (and thus may be "controlled") by the inputs. - The \\(i\\)'th **output pole vector** \\(y\_{p\_i} \triangleq C t\_i\\) indicates how much the \\(i\\)'th mode is observed in the outputs. @@ -1228,14 +1410,22 @@ For the case when \\(A\\) has distinct eigenvalues, we have the following dyadic ##### State Controllability {#state-controllability} Let \\(\lambda\_i\\) be the \\(i^{\text{th}}\\) eigenvalue of \\(A\\), \\(q\_i\\) the corresponding left eigenvector (\\(q\_i^H A = \lambda\_i q\_i^H\\)), and \\(u\_{p\_i} = B^H q\_i\\) the \\(i^{\text{th}}\\) input pole vector. Then the system \\((A, B)\\) is state controllable if and only if -\\[u\_{p\_i} \neq 0, \forall i\\] + +\begin{equation\*} + u\_{p\_i} \neq 0, \forall i +\end{equation\*} + That is if and only if all its input pole vectors are nonzero. ##### State Observability {#state-observability} Let \\(\lambda\_i\\) be the \\(i^{\text{th}}\\) eigenvalue of \\(A\\), \\(t\_i\\) the corresponding right eigenvector (\\(A t\_i = \lambda\_i t\_i\\)), and \\(y\_{p\_i} = C t\_i\\) the \\(i^{\text{th}}\\) output pole vector. Then the system \\((A, C)\\) is state observable if and only if -\\[y\_{p\_i} \neq 0, \forall i\\] + +\begin{equation\*} + y\_{p\_i} \neq 0, \forall i +\end{equation\*} + That is if and only if all its output pole vectors are nonzero. @@ -1247,14 +1437,15 @@ It follows that a state-space realization is minimal if and only if \\((A, B)\\) ### Stability {#stability} -
+
+**Internal Stability**: A system is (internally) stable is none of its components contain hidden unstable modes and the injection of bounded external signals at any place in the system result in bounded output signals measured anywhere in the system.
-
+
A system is (state) **stabilizable** if all unstable modes are state controllable. @@ -1267,13 +1458,17 @@ A system with unstabilizable or undetectable modes is said to contain hidden uns ### Poles {#poles} -
+
+**Multivariable Pole**: The poles \\(p\_i\\) of a system with state-space description are the **eigenvalues** \\(\lambda\_i(A), i=1, \dotsc, n\\) of the matrix \\(A\\). The **pole or characteristic polynomial** \\(\phi(s)\\) is defined as \\(\phi(s) \triangleq \det(sI-A) = \Pi\_{i=1}^n (s-p\_i)\\). Thus the poles are the roots or the characteristic equation -\\[\phi(s) \triangleq \det(sI-A) = 0\\] + +\begin{equation\*} + \phi(s) \triangleq \det(sI-A) = 0 +\end{equation\*}
@@ -1294,26 +1489,40 @@ The poles are essentially the sum of the poles in the elements of the transfer f In multivariable system poles have **directions** associated with them. To quantify this, we use the **input and output pole vectors**. -
+
-\\[ u\_{p\_i} = B^H q\_i \\] +**Input pole vector**: + +\begin{equation\*} + u\_{p\_i} = B^H q\_i +\end{equation\*} + With \\(q\_i\\) the left eigenvector of \\(A\\) (\\({q\_i}^T A = \lambda\_i {q\_i}^T\\)). The input pole direction is \\(\frac{1}{\normtwo{u\_{p\_i}}} u\_{p\_i}\\)
-
+
-\\[ y\_{p\_i} = C t\_i \\] +**Output pole vector**: + +\begin{equation\*} + y\_{p\_i} = C t\_i +\end{equation\*} + With \\(t\_i\\) the right eigenvector of \\(A\\) (\\(A t\_i = \lambda\_i t\_i\\)). The output pole direction is \\(\frac{1}{\normtwo{y\_{p\_i}}} y\_{p\_i}\\)
The pole directions may be defined in terms of the transfer function matrix by evaluating \\(G(s)\\) at the pole \\(p\_i\\) and considering the directions of the resulting complex matrix \\(G(p\_i)\\). The matrix is infinite in the direction of the pole, and we may write -\\[ G(p\_i) u\_{p\_i} = \infty \cdot y\_{p\_i} \\] + +\begin{equation\*} + G(p\_i) u\_{p\_i} = \infty \cdot y\_{p\_i} +\end{equation\*} + where \\(u\_{p\_i}\\) is the input pole direction and \\(y\_{p\_i}\\) is the output pole direction. The pole directions may in principle be obtained from an SVD of \\(G(p\_i) = U\Sigma V^H\\). @@ -1326,9 +1535,10 @@ The pole direction is usually very interesting because it gives information abou Zeros of a system arise when competing effects, internal to the system, are such that the output is zero even when the inputs (and the states) are not themselves identically zero. -
+
+**Multivariable Zero**: \\(z\_i\\) is a zero of \\(G(s)\\) if the rank of \\(G(z\_i)\\) is less than the normal rank of \\(G(s)\\). The zero polynomial is defined as \\(z(s) = \Pi\_{i=1}^{n\_z}(s-z\_i)\\) where \\(n\_z\\) is the number of finite zeros of \\(G(s)\\) @@ -1338,10 +1548,19 @@ The zero polynomial is defined as \\(z(s) = \Pi\_{i=1}^{n\_z}(s-z\_i)\\) where \ #### Zeros from State-Space Realizations {#zeros-from-state-space-realizations} The state-space equations of a system may be written as -\\[P(s) \colvec{x\\u} = \colvec{0\\y}, \quad P(s) = \begin{bmatrix} -sI-A & -B \\\\\\ -C & D \\\\\\ -\end{bmatrix}\\] + +\begin{equation\*} + P(s) \begin{bmatrix} + x \\\\\\ + u + \end{bmatrix} = \begin{bmatrix} + 0 \\\\\\ + y + \end{bmatrix}, \quad P(s) = \begin{bmatrix} + sI-A & -B \\\\\\ + C & D + \end{bmatrix} +\end{equation\*} The zeros are then the values \\(s=z\\) for which the polynomial system matrix, \\(P(s)\\), loses rank, resulting in zero output for some non-zero input. @@ -1356,7 +1575,11 @@ The zeros are values of \\(s\\) for which \\(G(s)\\) looses rank. In general, th #### Zero Directions {#zero-directions} Let \\(G(s)\\) have a zero at \\(s=z\\). Then \\(G(s)\\) loses rank at \\(s=z\\), and there will exist non-zero vectors \\(u\_z\\) and \\(y\_z\\) such that -\\[G(z) u\_z = 0 \cdot y\_z\\] + +\begin{equation\*} + G(z) u\_z = 0 \cdot y\_z +\end{equation\*} + Here \\(u\_z\\) is defined as the **input zero direction** and \\(y\_z\\) is defined as the **output zero direction**. From a practical point of view, \\(y\_z\\) is usually of more interest than \\(u\_z\\) because it give information about **which combination of outputs may be difficult to control**. @@ -1377,11 +1600,15 @@ Again, we may obtain input and output zero directions from an SVD of \\(G(s)\\): - **Parallel**: \\(G+K\\). Poles are unchanged, zeros are moved (but note that physically a parallel interconnection requires an additional manipulated input) - **Pinned zeros**. A zero is pinned to a subset of the outputs if \\(y\_z\\) has one or more elements equal to zero. Their effect cannot be moved freely to any output. Similarly, a zero is pinned to certain input if \\(u\_z\\) has one or more elements equal to zero. -
+
+**Effect of feedback on poles and zeros**: Consider a SISO negative feedback system with plant \\(G(s)=\frac{z(s)}{\phi(s)}\\) and a constant gain controller, \\(K(s)=k\\). The closed-loop response from reference \\(r\\) to output \\(y\\) is -\\[T(s) = \frac{kG(s)}{1+kG(s)} = \frac{kz(s)}{\phi(s)+kz(s)} = k\frac{z\_{\text{cl}}(s)}{\phi\_{\text{cl}}(s)}\\] + +\begin{equation\*} + T(s) = \frac{kG(s)}{1+kG(s)} = \frac{kz(s)}{\phi(s)+kz(s)} = k\frac{z\_{\text{cl}}(s)}{\phi\_{\text{cl}}(s)} +\end{equation\*} We note that: @@ -1401,29 +1628,34 @@ RHP-zeros therefore imply high gain instability. ### Internal Stability of Feedback Systems {#internal-stability-of-feedback-systems} - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_stability.png" caption="Figure 9: Block diagram used to check internal stability" >}} -Assume that the components \\(G\\) and \\(K\\) contain no unstable hidden modes. Then the feedback system in Fig. [fig:block_diagram_for_stability](#fig:block_diagram_for_stability) is **internally stable** if and only if all four closed-loop transfer matrices are stable. +Assume that the components \\(G\\) and \\(K\\) contain no unstable hidden modes. Then the feedback system in Fig. [9](#orgde8788d) is **internally stable** if and only if all four closed-loop transfer matrices are stable. \begin{align\*} &(I+KG)^{-1} & -K&(I+GK)^{-1} \\\\\\ G&(I+KG)^{-1} & &(I+GK)^{-1} \end{align\*} -Assume there are no RHP pole-zero cancellations between \\(G(s)\\) and \\(K(s)\\), the feedback system in Fig. [fig:block_diagram_for_stability](#fig:block_diagram_for_stability) is internally stable if and only if **one** of the four closed-loop transfer function matrices is stable. +Assume there are no RHP pole-zero cancellations between \\(G(s)\\) and \\(K(s)\\), the feedback system in Fig. [9](#orgde8788d) is internally stable if and only if **one** of the four closed-loop transfer function matrices is stable. ### Stabilizing Controllers {#stabilizing-controllers} The **Q-parameterization** is a parameterization that generates all controllers that yield internal stability of the closed loop transfer function. -
+
+**Q-parameterization for stable plant**: For stable plants, a parameterization of all stabilizing negative feedback controllers for the stable plant \\(G(s)\\) is given by -\\[K = (I-QG)^{-1} Q = Q(I-GQ)^{-1}\\] + +\begin{equation\*} + K = (I-QG)^{-1} Q = Q(I-GQ)^{-1} +\end{equation\*} + where the parameter \\(Q\\) is any stable transfer function matrix.
@@ -1435,9 +1667,10 @@ The closed-loop transfer functions turn out to be affine in \\(Q\\), e.g. \\(S\\ ### Stability Analysis in the Frequency Domain {#stability-analysis-in-the-frequency-domain} -
+
+**Generalized (MIMO) Nyquist theorem**: Let \\(P\_{ol}\\) denote the number of unstable poles in \\(L(s) = G(s)K(s)\\). The closed-loop system with loop transfer \\(L(s)\\) and negative feedback is stable if and only if the Nyquist plot of \\(\det(I+L(s))\\): 1. makes \\(P\_{ol}\\) anti-clockwise encirclements of the origin @@ -1445,27 +1678,39 @@ Let \\(P\_{ol}\\) denote the number of unstable poles in \\(L(s) = G(s)K(s)\\).
-
+
-The spectral radius \\(\rho(L(j\w))\\) is defined as the maximum eigenvalue magnitude: -\\[ \rho(L(j\w)) \triangleq \max\_{i} \abs{\lambda\_i (L(j\w))} \\] +The **spectral radius** \\(\rho(L(j\w))\\) is defined as the maximum eigenvalue magnitude: + +\begin{equation\*} + \rho(L(j\w)) \triangleq \max\_{i} \abs{\lambda\_i (L(j\w))} +\end{equation\*}
-
+
+**Spectral radius stability condition**: Consider a system with a stable loop transfer function \\(L(s)\\). Then the closed-loop system is stable if -\\[ \rho(L(j\w)) < 1 \quad \forall \w \\] + +\begin{equation\*} + \rho(L(j\w)) < 1 \quad \forall \w +\end{equation\*}
-
+
+**Small Gain Theorem**: Consider a system with a stable loop transfer function \\(L(s)\\). Then the closed-loop system is stable if -\\[ \norm{L(j\w)} < 1 \quad \forall \w\\] + +\begin{equation\*} + \norm{L(j\w)} < 1 \quad \forall \w +\end{equation\*} + Where \\(\norm{L}\\) denotes any matrix norm that satisfies the multiplicative property \\(\norm{AB} \leq \norm{A}\cdot\norm{B}\\)
@@ -1474,7 +1719,9 @@ The Small gain theorem for SISO system says that the system is stable if \\(\abs This may be understood as follows: the signals which "return" in the same direction after "one turn around the loop" are magnified by the eigenvalues \\(\lambda\_i\\) (and the directions are the eigenvectors \\(x\_i\\)): -\\[ L x\_i = \lambda\_i x\_i \\] +\begin{equation\*} + L x\_i = \lambda\_i x\_i +\end{equation\*} So if all the eigenvalues \\(\lambda\_i\\) are less than 1 in magnitude, all signals become smaller after each round, and the closed-loop system is stable. @@ -1484,7 +1731,7 @@ So if all the eigenvalues \\(\lambda\_i\\) are less than 1 in magnitude, all sig #### \\(\htwo\\) norm {#htwo--norm} -
+
Consider a strictly proper system \\(G(s)\\). The \\(\htwo\\) norm is: @@ -1501,11 +1748,14 @@ The \\(\htwo\\) norm can have a stochastic interpretation where we measure the * #### \\(\hinf\\) norm {#hinf--norm} -
+
Consider a proper linear stable system \\(G(s)\\). The \\(\hinf\\) norm is the peak value of its maximum singular value: -\\[ \hnorm{G(s)} \triangleq \max\_{\w} \maxsv(G(j\w)) \\] + +\begin{equation\*} + \hnorm{G(s)} \triangleq \max\_{\w} \maxsv(G(j\w)) +\end{equation\*}
@@ -1516,7 +1766,9 @@ The \\(\hinf\\) norm has several interpretations in the time and frequency domai - it is the worst case steady-state gain for sinusoidal inputs at any frequency - it is equal to the 2-norm in the time domain: -\\[ \hnorm{G(s)} = \max\_{w(t) \neq 0} \frac{\normtwo{z(t)}}{\normtwo{w(t)}} = \max\_{\normtwo{w(t)} = 1} \normtwo{z(t)} \\] +\begin{equation\*} + \hnorm{G(s)} = \max\_{w(t) \neq 0} \frac{\normtwo{z(t)}}{\normtwo{w(t)}} = \max\_{\normtwo{w(t)} = 1} \normtwo{z(t)} +\end{equation\*} - is has an interpretation as an induced norm in terms of the expected values of stochastic signals @@ -1525,9 +1777,11 @@ The \\(\hinf\\) norm has several interpretations in the time and frequency domai Minimizing the \\(\hinf\\) norm corresponds to minimizing the peak of the largest singular value, whereas minimizing the \\(\htwo\\) norm corresponds to minimizing the sum of the square of all the singular values over all frequencies. -
+
+**Why is the \\(\hinf\\) norm is so popular?** + The \\(\hinf\\) norm is **convenient for representing unstructured model uncertainty** and because if satisfies the multiplicative property \\(\hnorm{A(s)B(s)} \leq \hnorm{A(s)} \cdot \hnorm{B(s)}\\) It follows that the \\(\hinf\\) norm is an **induced norm**. @@ -1540,7 +1794,11 @@ This implies that we cannot, by evaluating the \\(\htwo\\) norm of the individua #### Hankel norm {#hankel-norm} The Hankel norm of a stable system \\(G(s)\\) is obtained when one applies an input \\(w(t)\\) up to \\(t=0\\) and measures the output \\(z(t)\\) for \\(t>0\\), and selects \\(w(t)\\) to maximize the ratio of the 2-norms: -\\[ \left\\|G(s)\right\\|\_H \triangleq \max\_{w(t)} \frac{\sqrt{\int\_{0}^{\infty} \normtwo{z(\tau)}^2 d\tau }}{\sqrt{\int\_{-\infty}^0 \normtwo{w(\tau)}^2 d\tau}} \\] + +\begin{equation\*} + \left\\|G(s)\right\\|\_H \triangleq \max\_{w(t)} \frac{\sqrt{\int\_{0}^{\infty} \normtwo{z(\tau)}^2 d\tau }}{\sqrt{\int\_{-\infty}^0 \normtwo{w(\tau)}^2 d\tau}} +\end{equation\*} + The Hankel norm is a kind of induced norm from past inputs to future outputs. It may be shown that the Hankel norm is equal to \\(\left\\|G(s)\right\\|\_H = \sqrt{\rho(PQ)}\\) where \\(\rho\\) is the spectral radius, \\(P\\) is the controllability Gramian and \\(Q\\) the observability Gramian. @@ -1548,15 +1806,15 @@ It may be shown that the Hankel norm is equal to \\(\left\\|G(s)\right\\|\_H = \ ## Limitations on Performance in SISO Systems {#limitations-on-performance-in-siso-systems} - + ### Input-Output Controllability {#input-output-controllability} -
+
-The input-output controllability is the **ability to achieve acceptable control performance**; that is, to keep the outputs (\\(y\\)) within specified bounds from their references (\\(r\\)), in spite of unknown but bounded variations, such as disturbances (\\(d\\)) and plant changes, using available inputs (\\(u\\)) and available measurements (\\(y\_m\\)). +The **input-output controllability** is the **ability to achieve acceptable control performance**; that is, to keep the outputs (\\(y\\)) within specified bounds from their references (\\(r\\)), in spite of unknown but bounded variations, such as disturbances (\\(d\\)) and plant changes, using available inputs (\\(u\\)) and available measurements (\\(y\_m\\)).
@@ -1569,7 +1827,7 @@ It may be affected by changing the plant itself: - adding extra sensor or actuators - changing the configuration of the lower layers of control already in place -
+
Input-output controllability analysis is applied to a plant to find out **what control performance can be expected**. @@ -1609,12 +1867,12 @@ The required input must not exceed maximum physically allowed value (\\(\abs{u} #### \\(S\\) Plus \\(T\\) is One {#s--plus--t--is-one} -
+
From the definitions \\(S = (I + L)^{-1}\\) and \\(T = L(I+L)^{-1}\\) we derive -\begin{equation} +\begin{equation} \label{eq:S\_T\_identity} S + T = I \end{equation} @@ -1630,14 +1888,16 @@ In general, a trade-off between sensitivity reduction and sensitivity increase m 1. \\(L(s)\\) has at least two more poles than zeros (first waterbed formula) 2. \\(L(s)\\) has a RHP-zero (second waterbed formula) -
+
+**First Waterbed Formula**: + Suppose that the open-loop transfer function \\(L(s)\\) is rational and has at least two more poles than zeros. Suppose also that \\(L(s)\\) has \\(N\_p\\) RHP-poles at locations \\(p\_i\\). Then for closed-loop stability, the sensitivity function must satisfy the following **Bode Sensitivity Integral**: -\begin{equation} +\begin{equation} \label{eq:bode\_sensitivity\_integral} \int\_0^\infty \ln\abs{S(j\w)} d\w = \pi \sum\_{i=1}^{N\_p} \text{Re}(p\_i) \end{equation} @@ -1645,7 +1905,7 @@ Then for closed-loop stability, the sensitivity function must satisfy the follow For a **stable plant**, we must have: -\begin{equation} +\begin{equation} \label{eq:bode\_sensitivity\_integral\_stable} \int\_0^\infty \ln\abs{S(j\w)} d\w = 0 \end{equation} @@ -1657,17 +1917,29 @@ From the first waterbed formula, we expect that an increase in the bandwidth mus Although this is true in most practical cases, however this is not strictly implied by the formula. This is because the increase in area may happen over an infinite frequency range. -
+
+**Second Waterbed Formula**: + Suppose that \\(L(s)\\) has a single real **RHP-zero** \\(z\\) or a complex conjugate pair of zero \\(z=x\pm jy\\), and has \\(N\_p\\) RHP-poles \\(p\_i\\). For closed-loop stability, the sensitivity function must satisfy -\\[ \int\_0^\infty \ln\abs{S(j\w)} w(z, \w) d\w = \pi \ln \sum\_{i=1}^{N\_p} \abs{\frac{p\_i + z}{\bar{p\_i}-z}} \\] + +\begin{equation\*} + \int\_0^\infty \ln\abs{S(j\w)} w(z, \w) d\w = \pi \ln \sum\_{i=1}^{N\_p} \abs{\frac{p\_i + z}{\overline{p\_i}-z}} +\end{equation\*} where if the zero is real -\\[ w(z, \w) = \frac{2z}{z^2 + \w^2} \\] + +\begin{equation\*} + w(z, \w) = \frac{2z}{z^2 + \w^2} +\end{equation\*} + and if the zero pair is complex -\\[ w(z, \w) = \frac{x}{x^2 + (y-\w)^2} + \frac{x}{x^2 + (y+\w)^2} \\] + +\begin{equation\*} + w(z, \w) = \frac{x}{x^2 + (y-\w)^2} + \frac{x}{x^2 + (y+\w)^2} +\end{equation\*}
@@ -1675,7 +1947,10 @@ The second waterbed formula implies that the peak of \\(\abs{S}\\) is even highe The weight \\(w(z, \w)\\) effectively "cuts off" the contribution from \\(\ln\abs{S}\\) to the integral at frequencies \\(\w > z\\). So we have approximately: -\\[ \int\_0^z \ln \abs{S(j\w)} d\w \approx 0 \\] + +\begin{equation\*} + \int\_0^z \ln \abs{S(j\w)} d\w \approx 0 +\end{equation\*} This is similar to the Bode sensitivity integral, except that the trade-off is done over a limited frequency range. Thus, a large peak for \\(\abs{S}\\) is unavoidable if we try to push down \\(\abs{S}\\) at low frequencies. @@ -1683,18 +1958,20 @@ Thus, a large peak for \\(\abs{S}\\) is unavoidable if we try to push down \\(\a #### Interpolation Constraints {#interpolation-constraints} -
+
+**Interpolation contraints**: + If \\(p\\) is a **RHP-pole** of the loop transfer function \\(L(s)\\) then -\begin{equation} +\begin{equation} \label{eq:interpolation\_constaints\_p} T(p) = 1, \quad S(p) = 0 \end{equation} If \\(z\\) is a **RHP-zero** of the loop transfer function \\(L(s)\\) then -\begin{equation} +\begin{equation} \label{eq:interpolation\_constaints\_z} T(z) = 0, \quad S(z) = 1 \end{equation} @@ -1703,16 +1980,24 @@ If \\(z\\) is a **RHP-zero** of the loop transfer function \\(L(s)\\) then #### Sensitivity Peaks {#sensitivity-peaks} -
+
+**Maximum modulus principle**: + Suppose \\(f(s)\\) is stable, then the maximum value of \\(\abs{f(s)}\\) for \\(s\\) in the RHP is attained on the region's boundary (somewhere along the \\(j\w\\)-axis): -\\[ \hnorm{f(j\w)} = \max\_{\omega} \abs{f(j\w)} \geq \abs{f(s\_0)} \quad \forall s\_0 \in \text{RHP} \\] + +\begin{equation\*} + \hnorm{f(j\w)} = \max\_{\omega} \abs{f(j\w)} \geq \abs{f(s\_0)} \quad \forall s\_0 \in \text{RHP} +\end{equation\*}
We can derive the following bounds on the peaks of \\(S\\) and \\(T\\) from the maximum modulus principle: -\\[ \hnorm{S} \geq \max\_{j} \prod\_{i=1}^{N\_p} \frac{\abs{z\_j + \bar{p\_i}}}{\abs{z\_j - p\_i}} \quad \hnorm{T} \geq \max\_{i} \prod\_{j=1}^{N\_z} \frac{\abs{\bar{z\_j} + p\_i}}{\abs{z\_j - p\_i}} \\] + +\begin{equation\*} + \hnorm{S} \geq \max\_{j} \prod\_{i=1}^{N\_p} \frac{\abs{z\_j + \overline{p\_i}}}{\abs{z\_j - p\_i}} \quad \hnorm{T} \geq \max\_{i} \prod\_{j=1}^{N\_z} \frac{\abs{\overline{z\_j} + p\_i}}{\abs{z\_j - p\_i}} +\end{equation\*} This shows that **large peaks** for \\(\abs{S}\\) and \\(\abs{T}\\) are unavoidable if we have a **RHP-zero and RHP-pole located close to each other**. @@ -1721,11 +2006,16 @@ This shows that **large peaks** for \\(\abs{S}\\) and \\(\abs{T}\\) are unavoida Consider a plant \\(G(s)\\) that contains a time delay \\(e^{-\theta s}\\). Even the "ideal" controller cannot remove this delay and the "ideal" sensitivity function is \\(S = 1 - T = 1 - e^{-\theta s}\\). -
+
+**Upper bound on \\(\w\_c\\) for a time delay \\(\theta\\)**: + \\(S\\) crosses 1 at a frequency of about \\(1/\theta\\), so we expect to have an upper bound on \\(\w\_c\\): -\\[ \w\_c < 1/\theta \\] + +\begin{equation\*} + \w\_c < 1/\theta +\end{equation\*}
@@ -1755,18 +2045,30 @@ We require \\(\abs{S(j\w)} < 1/\abs{w\_P(j\w)} \quad \forall \w\\), so we must a ##### Performance at low frequencies {#performance-at-low-frequencies} If we specify performance at low frequencies, we may use the following weight: -\\[ w\_P = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A} \\] + +\begin{equation\*} + w\_P = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A} +\end{equation\*} + Where \\(\w\_B^\*\\) is the minimum wanted bandwidth, \\(M\\) the maximum peak of \\(\abs{S}\\) and \\(A\\) the steady-state offset. If we consider a **real RHP-zero**: -\\[ \w\_B^\* < z \frac{1 - 1/M}{1 - A} \\] + +\begin{equation\*} + \w\_B^\* < z \frac{1 - 1/M}{1 - A} +\end{equation\*} + For example, with \\(A=0\\) and \\(M=2\\), we must at least require \\(\w\_B^\* < 0.5z\\). If we consider an **imaginary RHP-zero**: -\\[ \w\_B^\* < \abs{z} \sqrt{1 - \frac{1}{M^2}} \\] + +\begin{equation\*} + \w\_B^\* < \abs{z} \sqrt{1 - \frac{1}{M^2}} +\end{equation\*} + For example, with \\(M=2\\), we must at least require \\(\w\_B^\* < 0.86\abs{z}\\). -
+
The presence of RHP-zero imposes an **upper bound on the achievable bandwidth** when we want tight control at low frequencies @@ -1777,13 +2079,20 @@ The presence of RHP-zero imposes an **upper bound on the achievable bandwidth** ##### Performance at high frequencies {#performance-at-high-frequencies} We consider the case where we want **tight control at high frequencies**, by use of the performance weight: -\\[ w\_P = \frac{1}{M} + \frac{s}{\w\_B^\*} \\] + +\begin{equation\*} + w\_P = \frac{1}{M} + \frac{s}{\w\_B^\*} +\end{equation\*} If we consider a **real RHP-zero**: -\\[ \w\_B^\* > z \frac{1}{1-1/M} \\] + +\begin{equation\*} + \w\_B^\* > z \frac{1}{1-1/M} +\end{equation\*} + For example, with \\(M=2\\) the requirement is \\(\w\_B^\* > 2z\\), so we can only achieve tight control at frequencies beyond the frequency of the RHP-zero. -
+
The presence of RHP-zero imposes and **lower bound on the achievable bandwidth** when we want tight control at high frequencies @@ -1795,11 +2104,17 @@ The presence of RHP-zero imposes and **lower bound on the achievable bandwidth** For unstable plants with a RHP-pole at \\(s = p\\), we **need** feedback for stabilization. -
+
+**RHP-pole Limitation - Input Usage**: + In presence of a RHP-pole at \\(s=p\\): -\\[ \hnorm{KS} \geq \abs{G\_s(p)^{-1}} \\] + +\begin{equation\*} + \hnorm{KS} \geq \abs{G\_s(p)^{-1}} +\end{equation\*} + where \\(G\_s\\) is the "stable version" of \\(G\\) with its RHP-poles mirrored into the LHP. Since \\(u = -KS(G\_d d + n)\\) and because of the previous inequality, the presence of disturbances \\(d\\) and measurement noise \\(n\\) may require the input \\(u\\) to saturate. @@ -1807,9 +2122,11 @@ When the inputs saturate, the system is practically open-loop and the **stabiliz
-
+
+**RHP-pole Limitation - Bandwidth**: + We need to react sufficiently fast. For a real RHP-pole \\(p\\) we must require that the closed-loop bandwidth is larger than \\(2p\\). The presence of **RHP-poles generally imposes a lower bound on the bandwidth**. @@ -1835,23 +2152,37 @@ Consider a single disturbance \\(d\\) and a constant reference \\(r=0\\). Withou We conclude that no control is needed if \\(\abs{G\_d(j\w)} < 1\\) at all frequencies. In that case, the plant is said to be "**self-regulated**". If \\(\abs{G\_d(j\w)} > 1\\) at some frequency, then **we need control**. In case of feedback control, we have -\\[ e(s) = S(s)G\_d(s)d(s) \\] -The performance requirement \\(\abs{e(\w)} < 1\\) for any \\(\abs{d(\w)}\\) at any frequency is satisfied if and only if -\\[ \abs{S G\_d(j\w)} < 1 \quad \forall\w \quad \Leftrightarrow \quad \abs{S(j\w)} < 1/\abs{G\_d(j\w)} \quad \forall\w \\] -
+\begin{equation\*} + e(s) = S(s)G\_d(s)d(s) +\end{equation\*} + +The performance requirement \\(\abs{e(\w)} < 1\\) for any \\(\abs{d(\w)}\\) at any frequency is satisfied if and only if + +\begin{equation\*} + \abs{S G\_d(j\w)} < 1 \quad \forall\w \quad \Leftrightarrow \quad \abs{S(j\w)} < 1/\abs{G\_d(j\w)} \quad \forall\w +\end{equation\*} + +
If the plant has a RHP-zero at \\(s=z\\), then \\(S(z) = 1\\) and we have the following condition: -\\[ \abs{G\_d(z)} < 1 \\] + +\begin{equation\*} + \abs{G\_d(z)} < 1 +\end{equation\*}
-
+
We also have that -\\[ \w\_B > \w\_d \\] + +\begin{equation\*} + \w\_B > \w\_d +\end{equation\*} + where \\(\w\_d\\) is defined by \\(\abs{G\_d(j\w\_d)} = 1\\).
@@ -1862,22 +2193,32 @@ The actual bandwidth requirement imposed by disturbances may be higher than \\(\ ##### Command tracking {#command-tracking} Assume than \\(d=0\\) and \\(r(t) = R\sin(\w t)\\). For acceptable control (\\(\abs{e} < 1\\)) we must have -\\[ \abs{S(j\w)R}<1 \quad \forall\w\leq\w\_r \\] + +\begin{equation\*} + \abs{S(j\w)R}<1 \quad \forall\w\leq\w\_r +\end{equation\*} + where \\(\w\_r\\) is the frequency up to which performance tracking is required. ### Limitation Imposed by Input Constraints {#limitation-imposed-by-input-constraints} -
+
To achieve acceptable control (\\(\abs{e}<1\\)) and avoid input saturation (\\(\abs{u}<1\\)), we must require: For **disturbance rejection**: -\\[ \abs{G} > \abs{G\_d} - 1 \text{ at frequencies where } \abs{G\_d} > 1 \\] + +\begin{equation\*} + \abs{G} > \abs{G\_d} - 1 \text{ at frequencies where } \abs{G\_d} > 1 +\end{equation\*} For **command tracking**: -\\[ \abs{G} > \abs{R} - 1 \quad \forall \w \leq \w\_r \\] + +\begin{equation\*} + \abs{G} > \abs{R} - 1 \quad \forall \w \leq \w\_r +\end{equation\*}
@@ -1886,19 +2227,22 @@ For **command tracking**: Phase lag in the plant present no fundamental limitations, however is usually does on practical designs. -
+
Let define \\(\w\_u\\) as the frequency where the phase lag of the plant \\(G\\) is \\(\SI{-180}{\degree}\\) -\begin{equation} +\begin{equation} \label{eq:w\_u\_definition} \angle G(j\w\_u) \triangleq \SI{-180}{\degree} \end{equation}
With simple controllers such as a proportional controller or a PI-controller, the phase lag does pose a fundamental limitation on the achievable bandwidth because of stability bounds: -\\[ \w\_c < \w\_u \\] + +\begin{equation\*} + \w\_c < \w\_u +\end{equation\*} However, if the model is exactly known and there are no RHP-zeros or time delays, one may extend \\(\w\_c\\) to infinite frequency by placing zeros in the controller at the plant poles. @@ -1909,9 +2253,17 @@ However, if the model is exactly known and there are no RHP-zeros or time delays ##### Uncertainty with feedforward control {#uncertainty-with-feedforward-control} Perfect control is obtained using a controller which generates the control input -\\[ u = G^{-1} r - G^{-1} G\_d d \\] + +\begin{equation\*} + u = G^{-1} r - G^{-1} G\_d d +\end{equation\*} + When we apply this perfect controller to the actual plant \\(y' = G' u + G\_d' d\\), we find -\\[ e' = y' - r = \underbrace{\left( \frac{G'}{G} - 1 \right)}\_{\text{rel. error in }G} r - \underbrace{\left( \frac{G'/G\_d'}{G/G\_d} - 1 \right)}\_{\text{rel. error in } G/G\_d} G\_d' d \\] + +\begin{equation\*} + e' = y' - r = \underbrace{\left( \frac{G'}{G} - 1 \right)}\_{\text{rel. error in }G} r - \underbrace{\left( \frac{G'/G\_d'}{G/G\_d} - 1 \right)}\_{\text{rel. error in } G/G\_d} G\_d' d +\end{equation\*} + For feedforward control, **the model error propagates directly to the control error**. If we want acceptable control (\\(\abs{e'}<1\\)), we must require that the model error in \\(G/G\_d\\) is less than \\(1/\abs{G\_d'}\\). This is very difficult to satisfy at frequencies where \\(\abs{G\_d'}\\) is much larger than 1. @@ -1927,7 +2279,7 @@ With model error, we get \\(y' - r = S'(G\_d'd - r)\\) where \\(S' = (I + G'K)^{ We see that the **control error in only weakly affected by model error at frequencies where feedback is effective** (\\(T \approx 1\\)). -
+
Uncertainty in the crossover frequency region can result in poor performance and even instability: @@ -1940,16 +2292,18 @@ Uncertainty in the crossover frequency region can result in poor performance and ### Summary: Controllability Analysis with Feedback Control {#summary-controllability-analysis-with-feedback-control} - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_meas.png" caption="Figure 10: Feedback control system" >}} -Consider the control system in Fig. [fig:classical_feedback_meas](#fig:classical_feedback_meas). +Consider the control system in Fig. [10](#orgb84b4ee). Here \\(G\_m(s)\\) denotes the measurement transfer function and we assume \\(G\_m(0) = 1\\) (perfect steady-state measurement). -
+
+**Controllability analysis rules**: + 1. **Speed of response to reject disturbances**. We approximately require \\(\w\_c > \w\_d\\). With feedback control we require \\(\abs{S(j\w)} \leq \abs{1/G\_d(j\w)} \quad \forall\w\\). 2. **Speed of response to track reference changes**. We require \\(\abs{S(j\w)} \leq 1/R\\) up to the frequency \\(\w\_r\\) where tracking is required. 3. **Input constraints arising from disturbances**. For acceptable control we require \\(\abs{G(j\w)} > \abs{G\_d(j\w)} - 1\\) at frequencies where \\(\abs{G\_d(j\w)} > 1\\). @@ -1967,9 +2321,12 @@ In summary: - rules 5, 6 and 7 tell us we must use low feedback gains in the frequency range where there are RHP-zeros or delays or where the plant has a lot of phase lag. Sometimes, the disturbances are so large that we hit input saturation or the required bandwidth is not achievable. To avoid the latter problem, we must at least require that the effect of the disturbance is less than \\(1\\) at frequencies beyond the bandwidth: -\\[ \abs{G\_d(j\w)} < 1 \quad \forall \w \geq \w\_c \\] - +\begin{equation\*} + \abs{G\_d(j\w)} < 1 \quad \forall \w \geq \w\_c +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_margin_requirements.png" caption="Figure 11: Illustration of controllability requirements" >}} @@ -1991,7 +2348,7 @@ The rules may be used to **determine whether or not a given plant is controllabl ## Limitations on Performance in MIMO Systems {#limitations-on-performance-in-mimo-systems} - + ### Introduction {#introduction} @@ -2022,12 +2379,10 @@ For example, the output angle between a pole and a zero is \\(\phi = \cos^{-1} \ From the identity \\(S + T = I\\), we get: -\begin{subequations} - \begin{align} - |1 - \maxsv(S)| \leq \maxsv(T) \leq 1 + \maxsv(S)\\\\\\ - |1 - \maxsv(T)| \leq \maxsv(S) \leq 1 + \maxsv(T) - \end{align} -\end{subequations} +\begin{align} + |1 - \maxsv(S)| \leq \maxsv(T) \leq 1 + \maxsv(S)\\\\\\ + |1 - \maxsv(T)| \leq \maxsv(S) \leq 1 + \maxsv(T) +\end{align} This shows that we cannot have \\(S\\) and \\(T\\) small simultaneously and that \\(\maxsv(S)\\) is large if and only if \\(\maxsv(T)\\) is large. @@ -2046,19 +2401,29 @@ The waterbed effect can be generalized for MIMO systems: The basis of many of the results in this chapter are the "**interpolation constraints**". -
+
+**Interpolation Constraints - RHP-zero** \\(z\\): + If \\(G(s)\\) has a RHP-zero at \\(z\\) with output direction \\(y\_z\\), \\(T(s)\\) must have a RHP-zero at \\(z\\), i.e., \\(T(z)\\) has a zero gain in the direction of output direction \\(y\_z\\) of the zero, and we get -\\[ y\_z^H T(z) = 0 ; \quad y\_z^H S(z) = y\_z^H \\] + +\begin{equation\*} + y\_z^H T(z) = 0 ; \quad y\_z^H S(z) = y\_z^H +\end{equation\*}
-
+
+**Interpolation Constraints - RHP-pole \\(p\\)**: + If \\(G(s)\\) has a RHP-pole at \\(p\\) with output direction \\(y\_p\\), \\(S(s)\\) must have a RHP-zero at \\(p\\), i.e. \\(S(p)\\) has a zero gain in the input direction of the output direction \\(y\_p\\) of the RHP-pole, and we get -\\[ S(p) y\_p = 0 ; \quad T(p) y\_p = y\_p \\] + +\begin{equation\*} + S(p) y\_p = 0 ; \quad T(p) y\_p = y\_p +\end{equation\*}
@@ -2067,7 +2432,11 @@ If \\(G(s)\\) has a RHP-pole at \\(p\\) with output direction \\(y\_p\\), \\(S(s Consider a plant \\(G(s)\\) with RHP-poles \\(p\_i\\) and RHP-zeros \\(z\_j\\). The factorization of \\(G(s)\\) in terms of **Blaschke products** is: -\\[ \tcmbox{G(s) = B\_p^{-1} G\_s(s), \quad G(s) = B\_z(s) G\_m(s)} \\] + +\begin{equation\*} + \tcmbox{G(s) = B\_p^{-1} G\_s(s), \quad G(s) = B\_z(s) G\_m(s)} +\end{equation\*} + where \\(G\_s\\) is the stable and \\(G\_m\\) the minimum-phase version of \\(G\\). \\(B\_p\\) and \\(B\_z\\) are stable all-pass transfer matrices (all singular values are 1 for \\(s=j\w\\)) containing the RHP-poles and RHP-zeros respectively.
@@ -2076,26 +2445,40 @@ where \\(G\_s\\) is the stable and \\(G\_m\\) the minimum-phase version of \\(G\ Suppose that \\(G(s)\\) has \\(N\_z\\) RHP-zeros \\(z\_j\\) with output directions \\(y\_{zj}\\), and \\(N\_p\\) RHP-poles \\(p\_i\\) with output direction \\(y\_{pi}\\). We define the all-pass transfer matrices from the Blaschke factorization and compute the real constants: -\\[ c\_{1j} = \normtwo{y\_{zj}^H B\_p(z\_j)} \geq 1; \quad c\_{2i} = \normtwo{B\_z^{-1}(p\_i) y\_{pi}} \geq 1 \\] + +\begin{equation\*} + c\_{1j} = \normtwo{y\_{zj}^H B\_p(z\_j)} \geq 1; \quad c\_{2i} = \normtwo{B\_z^{-1}(p\_i) y\_{pi}} \geq 1 +\end{equation\*} Let \\(w\_P(s)\\) be a stable weight. Then, for closed-loop stability the weighted sensitivity function must satisfy for each RPH-zero \\(z\_j\\) -\\[ \hnorm{w\_p S} \ge c\_{1j} \abs{w\_p(z\_j)} \\] + +\begin{equation\*} + \hnorm{w\_p S} \ge c\_{1j} \abs{w\_p(z\_j)} +\end{equation\*} Let \\(w\_T(s)\\) be a stable weight. Then, for closed-loop stability the weighted complementary sensitivity function must satisfy for each RPH-pole \\(p\_i\\) -\\[ \hnorm{w\_T T} \ge c\_{2j} \abs{w\_T(p\_i)} \\] -
+\begin{equation\*} + \hnorm{w\_T T} \ge c\_{2j} \abs{w\_T(p\_i)} +\end{equation\*} + +
+**Lower bound on \\(\hnorm{S}\\) and \\(\hnorm{T}\\)**: + By selecting \\(w\_P(s) = 1\\) and \\(w\_T(s) = 1\\), we get -\\[ \hnorm{S} \ge \max\_{\text{zeros } z\_j} c\_{1j}; \quad \hnorm{T} \ge \max\_{\text{poles } p\_i} c\_{2j} \\] + +\begin{equation\*} + \hnorm{S} \ge \max\_{\text{zeros } z\_j} c\_{1j}; \quad \hnorm{T} \ge \max\_{\text{poles } p\_i} c\_{2j} +\end{equation\*}
### Functional Controllability {#functional-controllability} -
+
An m-input l-output system \\(G(s)\\) is **functionally controllable** is the normal rank of \\(G(s)\\), denoted \\(r\\), is equal to the number of outputs (\\(r = l\\)), that is, if \\(G(s)\\) has full row rank. @@ -2108,12 +2491,17 @@ A square MIMO system is uncontrollable if and only if \\(\det{G(s)} = 0,\ \foral A plant is functionally uncontrollable if and only if \\(\sigma\_l(G(j\omega)) = 0,\ \forall\w\\). \\(\sigma\_l(G(j\w))\\) is then a **measure of how close a plant is to being functionally uncontrollable**. -
+
-If the plant is not functionally controllable (\\(r @@ -2123,7 +2511,10 @@ By analyzing the uncontrollable output directions, an engineer can decide on whe ### Limitation Imposed by Time Delays {#limitation-imposed-by-time-delays} Time delays pose limitation also in MIMO systems. Let \\(\theta\_{ij}\\) denote the time delay in the \\(ij\\)'th element of \\(G(s)\\). Then a **lower bound on the time delay for output** \\(i\\) is given by the smallest delay in row \\(i\\) of \\(G(s)\\), that is -\\[ \theta\_i^{\min} = \min\_j \theta\_{ij} \\] + +\begin{equation\*} + \theta\_i^{\min} = \min\_j \theta\_{ij} +\end{equation\*} For MIMO systems, we have the surprising result that an increase time delay may sometimes improve the achievable performance. The time delay may indeed increase the decoupling between the outputs. @@ -2133,7 +2524,10 @@ For MIMO systems, we have the surprising result that an increase time delay may The limitations imposed by RHP-zeros on MIMO systems are similar to those for SISO system, although they only apply in particular directions. The limitations of a RHP-zero located at \\(z\\) may be derived from the bound: -\\[ \hnorm{w\_P S(s)} = \max\_{\w} \abs{w\_P(j\w)} \maxsv(S(j\w)) \ge \abs{w\_P(z)} \\] + +\begin{equation\*} + \hnorm{w\_P S(s)} = \max\_{\w} \abs{w\_P(j\w)} \maxsv(S(j\w)) \ge \abs{w\_P(z)} +\end{equation\*} All the results derived for SISO systems generalize if we consider the "worst" direction corresponding to the maximum singular value \\(\maxsv(S)\\). For instance, if we choose \\(w\_P(s)\\) to require tight control at low frequencies, the bandwidth must satisfy \\(w\_B^\* < z/2\\).
@@ -2151,18 +2545,26 @@ For example, if we have a RHP-zero with \\(y\_z = [0.03,\ -0.04,\ 0.9,\ 0.43]^T\ For unstable plants, feedback is needed for stabilization. More precisely, the presence of an unstable pole \\(p\\) requires for internal stability \\(T(p) y\_p = y\_p\\) where \\(y\_p\\) is the output pole direction. -
+
+**Input Usage Limitation**: + The transfer function \\(KS\\) from plant output to plant inputs must satisfy for any RHP-pole \\(p\\) -\\[ \hnorm{KS} \ge \normtwo{u\_p^H G\_s(p)^{-1}} \\] + +\begin{equation\*} + \hnorm{KS} \ge \normtwo{u\_p^H G\_s(p)^{-1}} +\end{equation\*} + where \\(u\_p\\) is the input pole direction, and \\(G\_s\\) is the "stable version" of \\(G\\) with its RHP-poles mirrored in the LHP.
-
+
+**Bandwidth Limitation**: + From the bound \\(\hnorm{w\_T(s) T(s)} \ge \abs{w\_T(p)}\\), we find that a RHP-pole \\(p\\) imposes restrictions on \\(\maxsv(T)\\) which are identical to those derived on \\(\abs{T}\\) for SISO systems. Thus, we need to react sufficiently fast and we must require that \\(\maxsv(T(j\w))\\) is about 1 or larger up to the frequency \\(2 \abs{p}\\). @@ -2173,8 +2575,14 @@ Thus, we need to react sufficiently fast and we must require that \\(\maxsv(T(j\ For a MIMO plant with single RHP-zero \\(z\\) and single RHP-pole \\(p\\), we derive -\\[ \hnorm{S} \ge c \quad \hnorm{T} \ge c \\] -\\[ \text{with } c = \sqrt{\sin^2 \phi + \frac{\abs{z + p}^2}{\abs{z-p}^2} \cos^2 \phi} \\] +\begin{equation\*} + \hnorm{S} \ge c \quad \hnorm{T} \ge c +\end{equation\*} + +\begin{equation\*} + \text{with } c = \sqrt{\sin^2 \phi + \frac{\abs{z + p}^2}{\abs{z-p}^2} \cos^2 \phi} +\end{equation\*} + where \\(\phi = cos^{-1} \abs{y\_z^H y\_p}\\) is the angle between the RHP-zero and the RHP-pole. Thus the angle between the RHP-zero and the RHP-pole is of great importance, we usually want \\(\abs{y\_z^H y\_p}\\) close to zero so that they don't interact with each other. @@ -2185,13 +2593,13 @@ Thus the angle between the RHP-zero and the RHP-pole is of great importance, we For SISO systems, we found that large and "fast" disturbances require tight control and a large bandwidth. The same results apply for MIMO systems, but again the issue of **directions** is important. -
+
Consider a scalar disturbance \\(d\\) and let the vector \\(g\_d\\) represents its effect on the outputs (\\(y = g\_d d\\)). -The disturbance direction is defined as +The **disturbance direction** is defined as -\begin{equation} +\begin{equation} \label{eq:dist\_direction} y\_d = \frac{1}{\normtwo{g\_d}} g\_d \end{equation} @@ -2199,10 +2607,12 @@ For a plant with multiple disturbances, \\(g\_d\\) is a column of the matrix \\(
-
+
-\begin{equation} +**Disturbance Condition Number**: + +\begin{equation} \label{eq:dist\_condition\_number} \gamma\_d (G) = \maxsv(G) \maxsv(G^\dagger y\_d) \end{equation} @@ -2210,28 +2620,44 @@ where \\(G^\dagger\\) is the pseudo inverse of \\(G\\)
-The disturbance condition number provides a **measure of how a disturbance is aligned with the plant**. It may vary between 1 (for \\(y\_d = \bar{u}\\)) if the disturbance is in the "good" direction, and the condition number \\(\gamma(G) = \maxsv(G) \maxsv(G^\dagger)\\) (for \\(y\_d = \ubar{u}\\)) if it is in the "bad" direction.
+The disturbance condition number provides a **measure of how a disturbance is aligned with the plant**. It may vary between 1 (for \\(y\_d = \overline{u}\\)) if the disturbance is in the "good" direction, and the condition number \\(\gamma(G) = \maxsv(G) \maxsv(G^\dagger)\\) (for \\(y\_d = \underline{u}\\)) if it is in the "bad" direction.
Let assume \\(r=0\\) and that the system has been scaled. With feedback control \\(e = S g\_d d\\) and the performance objective is -\\[ \normtwo{S g\_d} = \maxsv(S g\_d) < 1 \ \forall\w \quad \Leftrightarrow \quad \hnorm{S g\_d} < 1 \\] + +\begin{equation\*} + \normtwo{S g\_d} = \maxsv(S g\_d) < 1 \ \forall\w \quad \Leftrightarrow \quad \hnorm{S g\_d} < 1 +\end{equation\*} We derive bounds in terms of the singular values of \\(S\\): -\\[ \minsv(S) \normtwo{g\_d} \le \normtwo{S g\_d} \le \maxsv(S) \normtwo{g\_d} \\] -
+\begin{equation\*} + \minsv(S) \normtwo{g\_d} \le \normtwo{S g\_d} \le \maxsv(S) \normtwo{g\_d} +\end{equation\*} + +
For acceptable performance **we must at least require that** -\\[ \maxsv(I+L) > \normtwo{g\_d} \\] + +\begin{equation\*} + \maxsv(I+L) > \normtwo{g\_d} +\end{equation\*} And **we may require that** -\\[ \minsv(I+L) > \normtwo{g\_d} \\] + +\begin{equation\*} + \minsv(I+L) > \normtwo{g\_d} +\end{equation\*}
If \\(G(s)\\) has a **RHP-zero** at \\(s = z\\), then the **performance may be poor if the disturbance is aligned with the output direction of this zero**. To satisfy \\(\hnorm{S g\_d} < 1\\), we must require -\\[ \abs{y\_z^H g\_d(z)} < 1 \\] + +\begin{equation\*} + \abs{y\_z^H g\_d(z)} < 1 +\end{equation\*} + where \\(y\_z\\) is the direction of the RHP-zero. @@ -2245,7 +2671,10 @@ We here consider the question: can the disturbances be rejected perfectly while For a square plant, the input needed for perfect disturbance rejection is \\(u = -G^{-1} G\_d d\\). For a single disturbance, as the worst-cast disturbance is \\(\abs{d(\w)} = 1\\), we get that input saturation is avoided (\\(\\|u\\|\_{\text{max}} \le 1\\)) if all elements in the vector \\(G^{-1} g\_d\\) are less than 1 in magnitude: -\\[ \\|G^{-1} g\_d\\|\_{\text{max}} < 1, \ \forall\w \\] + +\begin{equation\*} + \\|G^{-1} g\_d\\|\_{\text{max}} < 1, \ \forall\w +\end{equation\*} It is first recommended to **consider one disturbance at a time** by plotting as a function of frequency the individual elements of \\(G^{-1} G\_d\\). This will yields more information about which particular input is most likely to saturate and which disturbance is the most problematic. @@ -2257,12 +2686,12 @@ We here consider the question: is it possible to achieve \\(\\|e\\|<1\\) while u For SISO systems, we have to required \\(\abs{G} > \abs{g\_d} - 1\\) at frequencies where \\(\abs{g\_d} > 1\\). We would like to generalize this result to MIMO systems. -
+
Each singular value \\(\sigma\_i\\) of \\(G\\) must approximately satisfy: -\begin{equation} +\begin{equation} \label{eq:input\_acceptable\_control\_mimo} \sigma\_i(G) \ge \abs{u\_i^H g\_d} - 1 \text{ where } \abs{u\_i^H g\_d} > 1 \end{equation} @@ -2299,10 +2728,13 @@ The issues are the same for SISO and MIMO systems, however, with MIMO systems th In practice, the difference between the true perturbed plant \\(G^\prime\\) and the plant model \\(G\\) is caused by a number of different sources. We here focus on input and output uncertainty. -In multiplicative form, the input and output uncertainties are given by (see Fig. [fig:input_output_uncertainty](#fig:input_output_uncertainty)): -\\[ G^\prime = (I + E\_O) G (I + E\_I) \\] +In multiplicative form, the input and output uncertainties are given by (see Fig. [12](#org7f11e2b)): - +\begin{equation\*} + G^\prime = (I + E\_O) G (I + E\_I) +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_input_output_uncertainty.png" caption="Figure 12: Plant with multiplicative input and output uncertainty" >}} @@ -2326,11 +2758,14 @@ However, for the actual plant \\(G^\prime\\) (with uncertainty), the actual cont For output uncertainty, we have an identical result as for SISO systems: the worst case relative control error \\(\normtwo{e^\prime}/\normtwo{r}\\) is equal to the magnitude of the relative output uncertainty \\(\maxsv(E\_O)\\). However, for input uncertainty, the sensitivity may be much larger because the elements in the matrix \\(G E\_I G^{-1}\\) can be much larger than the elements in \\(E\_I\\). -
+
-For diagonal input uncertainty, the elements of \\(G E\_I G^{-1}\\) are directly related to the RGA: -\\[ \left[ G E\_I G^{-1} \right]\_{ii} = \sum\_{j=1}^n \lambda\_{ij}(G) \epsilon\_j \\] +For **diagonal input uncertainty**, the elements of \\(G E\_I G^{-1}\\) are directly related to the RGA: + +\begin{equation\*} + \left[ G E\_I G^{-1} \right]\_{ii} = \sum\_{j=1}^n \lambda\_{ij}(G) \epsilon\_j +\end{equation\*}
@@ -2355,12 +2790,16 @@ With feedback control, **the effect of the uncertainty is reduced** by a factor Consider a controller \\(K(s) = l(s)G^{-1}(s)\\) which results in a nominally decoupled response with sensitivity \\(S = s \cdot I\\) and complementary sensitivity \\(T = t \cdot I\\) where \\(t(s) = 1 - s(s)\\). Suppose the plant has diagonal input uncertainty of relative magnitude \\(\abs{w\_I(j\w)}\\) in each input channel. Then there exists a combination of input uncertainties such that at each frequency: -\\[ \maxsv(S^\prime) \ge \maxsv(S) \left( 1 + \frac{\abs{w\_I t}}{1+\abs{w\_I t}} \\|\Lambda(G)\\|\_{i\infty} \right) \\] + +\begin{equation\*} + \maxsv(S^\prime) \ge \maxsv(S) \left( 1 + \frac{\abs{w\_I t}}{1+\abs{w\_I t}} \\|\Lambda(G)\\|\_{i\infty} \right) +\end{equation\*} + where \\(\\| \Lambda(G) \\|\_{i\infty}\\) is the maximum row sum of the RGA and \\(\maxsv(S) = \abs{s}\\). We can see that with an inverse based controller, the worst case sensitivity will be much larger than the nominal sensitivity at frequencies where the plant has large RGA elements. -
+
These statements apply to the frequency range around crossover. @@ -2379,7 +2818,7 @@ By "small", we mean smaller than 2 and by "large" we mean larger than 10. Consider any complex matrix \\(G\\) and let \\(\lambda\_{ij}\\) denote the \\(ij\\)'th element in the RGA-matrix of \\(G\\). -
+
The matrix \\(G\\) becomes singular if we make a relative change \\(-1/\lambda\_{ij}\\) in its \\(ij\\)'th elements, that is, if a single element in \\(G\\) is perturbed from \\(g\_{ij}\\) to \\(g\_{pij} = g\_{ij}(1-\frac{1}{\lambda\_{ij}})\\) @@ -2438,7 +2877,7 @@ However, the situation is usually the opposite with model uncertainty because fo ## Uncertainty and Robustness for SISO Systems {#uncertainty-and-robustness-for-siso-systems} - + ### Introduction to Robustness {#introduction-to-robustness} @@ -2483,16 +2922,16 @@ The various sources of model uncertainty may be grouped into two main classes: 1. **Parametric uncertainty**. The structure of the model is known, but some parameters are uncertain 2. **Neglected and unmodelled dynamics uncertainty**. The model is in error because of missing dynamics, usually at high frequencies -
+
Parametric uncertainty will be quantified by assuming that **each uncertain parameters is bounded within some region** \\([\alpha\_{\min}, \alpha\_{\text{max}}]\\). That is, we have parameter sets of the form -\begin{equation} - \alpha\_p = \bar{\alpha}(1 + r\_\alpha \Delta); \quad r\_\alpha = \frac{\alpha\_{\text{max}} - \alpha\_{\min}}{\alpha\_{\text{max}} + \alpha\_{\min}} +\begin{equation} \label{eq:parametric\_uncertainty} + \alpha\_p = \overline{\alpha}(1 + r\_\alpha \Delta); \quad r\_\alpha = \frac{\alpha\_{\text{max}} - \alpha\_{\min}}{\alpha\_{\text{max}} + \alpha\_{\min}} \end{equation} -where \\(\bar{\alpha}\\) is the mean parameter value, \\(r\_\alpha\\) is the relative uncertainty in the parameter, and \\(\Delta\\) is any real scalar satisfying \\(\abs{\Delta} \le 1\\). +where \\(\overline{\alpha}\\) is the mean parameter value, \\(r\_\alpha\\) is the relative uncertainty in the parameter, and \\(\Delta\\) is any real scalar satisfying \\(\abs{\Delta} \le 1\\).
@@ -2503,16 +2942,20 @@ There is also a third class of uncertainty (which is a combination of the other Here the uncertainty description represents one or several sources of parametric and/or unmodelled dynamics uncertainty combined into a single lumped perturbation of a chosen structure. The frequency domain is also well suited for describing lumped uncertainty. -
+
-In most cases, we prefer to lump the uncertainty into a multiplicative uncertainty of the form -\\[ G\_p(s) = G(s)(1 + w\_I(s)\Delta\_I(s)); \quad \abs{\Delta\_I(j\w)} \le 1 \, \forall\w \\] -which may be represented by the diagram in Fig. [fig:input_uncertainty_set](#fig:input_uncertainty_set). +In most cases, we prefer to lump the uncertainty into a **multiplicative uncertainty** of the form + +\begin{equation\*} + G\_p(s) = G(s)(1 + w\_I(s)\Delta\_I(s)); \quad \abs{\Delta\_I(j\w)} \le 1 \, \forall\w +\end{equation\*} + +which may be represented by the diagram in Fig. [13](#org6f74f68).
- + {{< figure src="/ox-hugo/skogestad07_input_uncertainty_set.png" caption="Figure 13: Plant with multiplicative uncertainty" >}} @@ -2521,24 +2964,42 @@ which may be represented by the diagram in Fig. [fig:input_uncertainty_set] Parametric uncertainty may also be represented in the \\(\hinf\\) framework if we restrict \\(\Delta\\) to be real. -
+
-\\[ G\_p(s) = k\_p G\_0(s); \quad k\_{\min} \le k\_p \le k\_{\text{max}} \\] +Gain uncertainty: + +\begin{equation\*} + G\_p(s) = k\_p G\_0(s); \quad k\_{\min} \le k\_p \le k\_{\text{max}} +\end{equation\*} + where \\(k\_p\\) is an uncertain gain and \\(G\_0(s)\\) is a transfer function with no uncertainty. -By writing \\(k\_p = \bar{k}(1 + r\_k \Delta)\\) where \\(r\_k\\) is the relative magnitude of the gain uncertainty and \\(\bar{k}\\) is the average gain, be may write -\\[ G\_p = \underbrace{\bar{k}G\_0(s)}\_{G(s)} (1 + r\_k \Delta), \quad \abs{\Delta} \le 1 \\] +By writing \\(k\_p = \overline{k}(1 + r\_k \Delta)\\) where \\(r\_k\\) is the relative magnitude of the gain uncertainty and \\(\overline{k}\\) is the average gain, be may write + +\begin{equation\*} + G\_p = \underbrace{\overline{k}G\_0(s)}\_{G(s)} (1 + r\_k \Delta), \quad \abs{\Delta} \le 1 +\end{equation\*} + where \\(\Delta\\) is a real scalar and \\(G(s)\\) is the nominal plant.
-
+
-\\[ G\_p(s) = \frac{1}{\tau\_p s + 1}G\_0(s); \quad \tau\_{\min} \le \tau\_p \le \tau\_{\text{max}} \\] -By writing \\(\tau\_p = \bar{\tau}(1 + r\_\tau \Delta)\\), with \\(\abs{\Delta} \le 1\\), the model set can be rewritten as -\\[ G\_p(s) = \frac{G\_0}{1+\bar{\tau} s + r\_\tau \bar{\tau} s \Delta} = \underbrace{\frac{G\_0}{1+\bar{\tau}s}}\_{G(s)} \frac{1}{1 + w\_{iI}(s) \Delta} \\] -with \\(\displaystyle w\_{iI}(s) = \frac{r\_\tau \bar{\tau} s}{1 + \bar{\tau} s}\\). +Time constant uncertainty: + +\begin{equation\*} + G\_p(s) = \frac{1}{\tau\_p s + 1}G\_0(s); \quad \tau\_{\min} \le \tau\_p \le \tau\_{\text{max}} +\end{equation\*} + +By writing \\(\tau\_p = \overline{\tau}(1 + r\_\tau \Delta)\\), with \\(\abs{\Delta} \le 1\\), the model set can be rewritten as + +\begin{equation\*} + G\_p(s) = \frac{G\_0}{1+\overline{\tau} s + r\_\tau \overline{\tau} s \Delta} = \underbrace{\frac{G\_0}{1+\overline{\tau}s}}\_{G(s)} \frac{1}{1 + w\_{iI}(s) \Delta} +\end{equation\*} + +with \\(\displaystyle w\_{iI}(s) = \frac{r\_\tau \overline{\tau} s}{1 + \overline{\tau} s}\\).
@@ -2559,46 +3020,49 @@ This is of course conservative as it introduces possible plants that are not pre #### Uncertain Regions {#uncertain-regions} -To illustrate how parametric uncertainty translate into frequency domain uncertainty, consider in Fig. [fig:uncertainty_region](#fig:uncertainty_region) the Nyquist plots generated by the following set of plants -\\[ G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3 \\] +To illustrate how parametric uncertainty translate into frequency domain uncertainty, consider in Fig. [14](#orgd590978) the Nyquist plots generated by the following set of plants + +\begin{equation\*} + G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3 +\end{equation\*} - **Step 1**. At each frequency, a region of complex numbers \\(G\_p(j\w)\\) is generated by varying the parameters. In general, these uncertain regions have complicated shapes and complex mathematical descriptions - **Step 2**. We therefore approximate such complex regions as discs, resulting in a **complex additive uncertainty description** - + {{< figure src="/ox-hugo/skogestad07_uncertainty_region.png" caption="Figure 14: Uncertainty regions of the Nyquist plot at given frequencies" >}} #### Representing Uncertainty Regions by Complex Perturbations {#representing-uncertainty-regions-by-complex-perturbations} -
+
-The disc-shaped regions may be generated by additive complex norm-bounded perturbations around a nominal plant \\(G\\) +The disc-shaped regions may be generated by **additive** complex norm-bounded perturbations around a nominal plant \\(G\\) -\begin{equation} +\begin{equation} \label{eq:additive\_uncertainty} \begin{aligned} \Pi\_A: \ G\_p(s) &= G(s) + w\_A(s) \Delta\_A(s) \\\\\\ & \text{with }\abs{\Delta\_A(j\w)} \le 1 \, \forall\w \end{aligned} \end{equation} -At each frequency, all possible \\(\Delta(j\w)\\) "generates" a disc-shaped region with radius 1 centered at 0, so \\(G(j\w) + w\_A(j\w)\Delta\_A(j\w)\\) generates at each frequency a disc-shapes region of radius \\(\abs{w\_A(j\w)}\\) centered at \\(G(j\w)\\) as shown in Fig. [fig:uncertainty_disc_generated](#fig:uncertainty_disc_generated). +At each frequency, all possible \\(\Delta(j\w)\\) "generates" a disc-shaped region with radius 1 centered at 0, so \\(G(j\w) + w\_A(j\w)\Delta\_A(j\w)\\) generates at each frequency a disc-shapes region of radius \\(\abs{w\_A(j\w)}\\) centered at \\(G(j\w)\\) as shown in Fig. [15](#org446d9c7).
- + {{< figure src="/ox-hugo/skogestad07_uncertainty_disc_generated.png" caption="Figure 15: Disc-shaped uncertainty regions generated by complex additive uncertainty" >}} -
+
The disc-shaped region may alternatively be represented by a **multiplicative uncertainty** -\begin{equation} +\begin{equation} \label{eq:multiplicative\_uncertainty} \begin{aligned} \Pi\_I: \ G\_p(s) &= G(s)(1 + w\_I(s)\Delta\_I(s)); \\\\\\ & \text{with }\abs{\Delta\_I(j\w)} \le 1 \, \forall\w @@ -2608,7 +3072,10 @@ The disc-shaped region may alternatively be represented by a **multiplicative un
And we see that for SISO systems, additive and multiplicative uncertainty are equivalent if at each frequency: -\\[ \abs{w\_I(j\w)} = \abs{w\_A(j\w)}/\abs{G(j\w)} \\] + +\begin{equation\*} + \abs{w\_I(j\w)} = \abs{w\_A(j\w)}/\abs{G(j\w)} +\end{equation\*} However, **multiplicative weights are often preferred because their numerical value is more informative**. At frequencies where \\(\abs{w\_I(j\w)} > 1\\) the uncertainty exceeds \\(\SI{100}{\percent}\\) and the Nyquist curve may pass through the origin. Then, at these frequencies, we do not know the phase of the plant, and we allow for zeros crossing from the left to the right-half plane. **Tight control is then not possible** at frequencies where \\(\abs{w\_I(j\w)} \ge 1\\). @@ -2623,30 +3090,48 @@ This complex disc-shaped uncertainty description may be generated as follows: 1. Select a nominal \\(G(s)\\) 2. **Additive uncertainty**. At each frequency, find the smallest radius \\(l\_A(\w)\\) which includes all the possible plants \\(\Pi\\) - \\[ l\_A(\w) = \max\_{G\_p\in\Pi} \abs{G\_p(j\w) - G(j\w)} \\] - If we want a rational transfer function weight, \\(w\_A(s)\\), then it must be chosen to cover the set, so - \\[ \abs{w\_A(j\w)} \ge l\_A(\w) \quad \forall\w \\] - Usually \\(w\_A(s)\\) is of low order to simplify the controller design. -3. **Multiplicative uncertainty**. - This is often the preferred uncertainty form, and we have - \\[ l\_I(\w) = \max\_{G\_p\in\Pi} \abs{\frac{G\_p(j\w) - G(j\w)}{G(j\w)}} \\] - and with a rational weight \\(\abs{w\_I(j\w)} \ge l\_I(\w), \, \forall\w\\) + \begin{equation\*} + l\_A(\w) = maxG\_p∈Π \abs{G\_p(j\w) - G(j\w)} -
+\end{equation\*} + If we want a rational transfer function weight, \\(w\_A(s)\\), then it must be chosen to cover the set, so + + \begin{equation\*} + \abs{w\_A(j\w)} \ge l\_A(\w) \quad \forall\w +\end{equation\*} + +Usually \\(w\_A(s)\\) is of low order to simplify the controller design. + +1. **Multiplicative uncertainty**. + This is often the preferred uncertainty form, and we have + \begin{equation\*} + l\_I(\w) = maxG\_p∈Π \abs{\frac{G\_p(j\w) - G(j\w)}{G(j\w)}} + +\end{equation\*} + and with a rational weight \\(\abs{w\_I(j\w)} \ge l\_I(\w), \, \forall\w\\) + +
We want to represent the following set using multiplicative uncertainty with a rational weight \\(w\_I(s)\\) -\\[ \Pi: \quad G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3 \\] + +\begin{equation\*} + \Pi: \quad G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3 +\end{equation\*} + To simplify subsequent controller design, we select a delay-free nominal model -\\[ G(s) = \frac{\bar{k}}{\bar{\tau} s + 1} = \frac{2.5}{2.5 s + 1} \\] + +\begin{equation\*} + G(s) = \frac{\overline{k}}{\overline{\tau} s + 1} = \frac{2.5}{2.5 s + 1} +\end{equation\*} To obtain \\(l\_I(\w)\\), we consider three values (2, 2.5 and 3) for each of the three parameters (\\(k, \theta, \tau\\)). -The corresponding relative errors \\(\abs{\frac{G\_p-G}{G}}\\) are shown as functions of frequency for the \\(3^3 = 27\\) resulting \\(G\_p\\) (Fig. [fig:uncertainty_weight](#fig:uncertainty_weight)). +The corresponding relative errors \\(\abs{\frac{G\_p-G}{G}}\\) are shown as functions of frequency for the \\(3^3 = 27\\) resulting \\(G\_p\\) (Fig. [16](#orgc98eb6b)). To derive \\(w\_I(s)\\), we then try to find a simple weight so that \\(\abs{w\_I(j\w)}\\) lies above all the dotted lines.
- + {{< figure src="/ox-hugo/skogestad07_uncertainty_weight.png" caption="Figure 16: Relative error for 27 combinations of \\(k,\ \tau\\) and \\(\theta\\). Solid and dashed lines: two weights \\(\abs{w\_I}\\)" >}} @@ -2657,7 +3142,7 @@ With parametric uncertainty represented as complex perturbations, there are thre 1. **A simplified model**, for instance a low order, delay free model. It usually yields the largest uncertainty region, but the model is simple and this facilitates controller design in later stages. -2. **A model of mean parameter values**, \\(G(s) = \bar{G}(s)\\). +2. **A model of mean parameter values**, \\(G(s) = \overline{G}(s)\\). It is probably the most straightforward choice. 3. **The central plant obtained from a Nyquist plot**. It yields the smallest region, but in this case a significant effort may be required to obtain the nominal model which is usually not a rational transfer function. @@ -2672,30 +3157,43 @@ If we use a parametric uncertainty description, based on multiple real perturbat We saw that one advantage of frequency domain uncertainty description is that one can choose to work with a simple nominal model, and **represent neglected dynamics as uncertainty**. Consider a set of plants -\\[ G\_p(s) = G\_0(s) f(s) \\] + +\begin{equation\*} + G\_p(s) = G\_0(s) f(s) +\end{equation\*} + where \\(G\_0(s)\\) is fixed. We want to neglect the term \\(f(s) \in \Pi\_f\\), and represent \\(G\_p\\) by multiplicative uncertainty with a nominal model \\(G = G\_0\\). The magnitude of the relative uncertainty caused by neglecting the dynamics in \\(f(s)\\) is -\\[ l\_I(\w) = \max\_{G\_p} \abs{\frac{G\_p - G}{G}} = \max\_{f(s) \in \Pi\_f} \abs{f(j\w) - 1} \\] + +\begin{equation\*} + l\_I(\w) = \max\_{G\_p} \abs{\frac{G\_p - G}{G}} = \max\_{f(s) \in \Pi\_f} \abs{f(j\w) - 1} +\end{equation\*} ##### Neglected delay {#neglected-delay} -Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{max}}\\). We want to represent \\(G\_p(s) = G\_0(s)e^{-\theta\_p s}\\) by a delay-free plant \\(G\_0(s)\\) and multiplicative uncertainty. Let first consider the maximum delay, for which the relative error \\(\abs{1 - e^{-j \w \theta\_{\text{max}}}}\\) is shown as a function of frequency (Fig. [fig:neglected_time_delay](#fig:neglected_time_delay)). If we consider all \\(\theta \in [0, \theta\_{\text{max}}]\\) then: -\\[ l\_I(\w) = \begin{cases} \abs{1 - e^{-j\w\theta\_{\text{max}}}} & \w < \pi/\theta\_{\text{max}} \\ 2 & \w \ge \pi/\theta\_{\text{max}} \end{cases} \\] +Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{max}}\\). We want to represent \\(G\_p(s) = G\_0(s)e^{-\theta\_p s}\\) by a delay-free plant \\(G\_0(s)\\) and multiplicative uncertainty. Let first consider the maximum delay, for which the relative error \\(\abs{1 - e^{-j \w \theta\_{\text{max}}}}\\) is shown as a function of frequency (Fig. [17](#orgb7f2291)). If we consider all \\(\theta \in [0, \theta\_{\text{max}}]\\) then: - +\begin{equation\*} + l\_I(\w) = \begin{cases} \abs{1 - e^{-j\w\theta\_{\text{max}}}} & \w < \pi/\theta\_{\text{max}} \\ 2 & \w \ge \pi/\theta\_{\text{max}} \end{cases} +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_neglected_time_delay.png" caption="Figure 17: Neglected time delay" >}} ##### Neglected lag {#neglected-lag} -Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max}}\\). In this case the resulting \\(l\_I(\w)\\) (Fig. [fig:neglected_first_order_lag](#fig:neglected_first_order_lag)) can be represented by a rational transfer function with \\(\abs{w\_I(j\w)} = l\_I(\w)\\) where -\\[ w\_I(s) = \frac{\tau\_{\text{max}} s}{\tau\_{\text{max}} s + 1} \\] +Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max}}\\). In this case the resulting \\(l\_I(\w)\\) (Fig. [18](#orgbfc6539)) can be represented by a rational transfer function with \\(\abs{w\_I(j\w)} = l\_I(\w)\\) where - +\begin{equation\*} + w\_I(s) = \frac{\tau\_{\text{max}} s}{\tau\_{\text{max}} s + 1} +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_neglected_first_order_lag.png" caption="Figure 18: Neglected first-order lag uncertainty" >}} @@ -2703,16 +3201,27 @@ Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max} ##### Multiplicative weight for gain and delay uncertainty {#multiplicative-weight-for-gain-and-delay-uncertainty} Consider the following set of plants -\\[ G\_p = k\_p e^{-\theta\_p s} G\_0(s); \quad k\_p \in [k\_{\min}, k\_{\text{max}}], \ \theta\_p \in [\theta\_{\min}, \theta\_{\text{max}}] \\] -which we want to represent by multiplicative uncertainty and a delay-free nominal model \\(G(s) = \bar{k} G\_0(s)\\). + +\begin{equation\*} + G\_p = k\_p e^{-\theta\_p s} G\_0(s); \quad k\_p \in [k\_{\min}, k\_{\text{max}}], \ \theta\_p \in [\theta\_{\min}, \theta\_{\text{max}}] +\end{equation\*} + +which we want to represent by multiplicative uncertainty and a delay-free nominal model \\(G(s) = \overline{k} G\_0(s)\\). There is an exact expression, its first order approximation is -\\[ w\_I(s) = \frac{(1+\frac{r\_k}{2})\theta\_{\text{max}} s + r\_k}{\frac{\theta\_{\text{max}}}{2} s + 1} \\] -However, as shown in Fig. [fig:lag_delay_uncertainty](#fig:lag_delay_uncertainty), the weight \\(w\_I\\) is optimistic, especially around frequencies \\(1/\theta\_{\text{max}}\\). To make sure that \\(\abs{w\_I(j\w)} \le l\_I(\w)\\), we can apply a correction factor: -\\[ w\_I^\prime(s) = w\_I \cdot \frac{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.838 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.685 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1} \\] + +\begin{equation\*} + w\_I(s) = \frac{(1+\frac{r\_k}{2})\theta\_{\text{max}} s + r\_k}{\frac{\theta\_{\text{max}}}{2} s + 1} +\end{equation\*} + +However, as shown in Fig. [19](#org06b467d), the weight \\(w\_I\\) is optimistic, especially around frequencies \\(1/\theta\_{\text{max}}\\). To make sure that \\(\abs{w\_I(j\w)} \le l\_I(\w)\\), we can apply a correction factor: + +\begin{equation\*} + w\_I^\prime(s) = w\_I \cdot \frac{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.838 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.685 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1} +\end{equation\*} It is suggested to start with the simple weight and then if needed, to try the higher order weight. - + {{< figure src="/ox-hugo/skogestad07_lag_delay_uncertainty.png" caption="Figure 19: Multiplicative weight for gain and delay uncertainty" >}} @@ -2722,12 +3231,12 @@ It is suggested to start with the simple weight and then if needed, to try the h The most important reason for using frequency domain (\\(\hinf\\)) uncertainty description and complex perturbations, is the **incorporation of unmodelled dynamics**. Unmodelled dynamics, while being close to neglected dynamics, also include unknown dynamics of unknown or even infinite order. -
+
To represent unmodelled dynamics, we usually use a simple **multiplicative weight** of the form -\begin{equation} +\begin{equation} \label{eq:multiplicative\_simple\_weight} w\_I(s) = \frac{\tau s + r\_0}{(\tau/r\_\infty) s + 1} \end{equation} @@ -2741,9 +3250,13 @@ where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is th #### RS with Multiplicative Uncertainty {#rs-with-multiplicative-uncertainty} -We want to determine the stability of the uncertain feedback system in Fig. [fig:feedback_multiplicative_uncertainty](#fig:feedback_multiplicative_uncertainty) where there is multiplicative uncertainty of magnitude \\(\abs{w\_I(j\w)}\\). +We want to determine the stability of the uncertain feedback system in Fig. [20](#org8ede43d) where there is multiplicative uncertainty of magnitude \\(\abs{w\_I(j\w)}\\). The loop transfer function becomes -\\[ L\_P = G\_p K = G K (1 + w\_I \Delta\_I) = L + w\_I L \Delta\_I \\] + +\begin{equation\*} + L\_P = G\_p K = G K (1 + w\_I \Delta\_I) = L + w\_I L \Delta\_I +\end{equation\*} + We assume (by design) the stability of the nominal closed-loop system (with \\(\Delta\_I = 0\\)). We use the Nyquist stability condition to test for robust stability of the closed loop system: @@ -2752,14 +3265,14 @@ We use the Nyquist stability condition to test for robust stability of the close &\Longleftrightarrow \quad L\_p \ \text{should not encircle -1}, \ \forall L\_p \end{align\*} - + {{< figure src="/ox-hugo/skogestad07_input_uncertainty_set_feedback.png" caption="Figure 20: Feedback system with multiplicative uncertainty" >}} ##### Graphical derivation of RS-condition {#graphical-derivation-of-rs-condition} -Consider the Nyquist plot of \\(L\_p\\) as shown in Fig. [fig:nyquist_uncertainty](#fig:nyquist_uncertainty). \\(\abs{1+L}\\) is the distance from the point \\(-1\\) to the center of the disc representing \\(L\_p\\) and \\(\abs{w\_I L}\\) is the radius of the disc. +Consider the Nyquist plot of \\(L\_p\\) as shown in Fig. [21](#orgd4e7f02). \\(\abs{1+L}\\) is the distance from the point \\(-1\\) to the center of the disc representing \\(L\_p\\) and \\(\abs{w\_I L}\\) is the radius of the disc. Encirclements are avoided if none of the discs cover \\(-1\\), and we get: \begin{align\*} @@ -2768,16 +3281,16 @@ Encirclements are avoided if none of the discs cover \\(-1\\), and we get: &\Leftrightarrow \quad \abs{w\_I T} < 1, \ \forall\w \\\\\\ \end{align\*} - + {{< figure src="/ox-hugo/skogestad07_nyquist_uncertainty.png" caption="Figure 21: Nyquist plot of \\(L\_p\\) for robust stability" >}} -
+
The requirement of robust stability for the case with multiplicative uncertainty gives an **upper bound on the complementary sensitivity** -\begin{equation} +\begin{equation} \label{eq:robust\_stability\_siso} \text{RS} \quad \Leftrightarrow \quad \abs{T} < 1/\abs{w\_I}, \ \forall\w \end{equation} @@ -2797,16 +3310,23 @@ Since \\(L\_p\\) is assumed stable, and the nominal closed-loop is stable, the n \end{align\*} At each frequency, the last condition is most easily violated when the complex number \\(\Delta\_I(j\w)\\) is selected with \\(\abs{\Delta(j\w)} = 1\\) and with phase such that \\(1+L\\) and \\(w\_I L \Delta\_I\\) point in the opposite direction. Thus -\\[ \text{RS} \ \Leftrightarrow \ \abs{1 + L} - \abs{w\_I L} > 0, \ \forall\w \ \Leftrightarrow \ \abs{w\_I T} < 1, \ \forall\w \\] + +\begin{equation\*} + \text{RS} \ \Leftrightarrow \ \abs{1 + L} - \abs{w\_I L} > 0, \ \forall\w \ \Leftrightarrow \ \abs{w\_I T} < 1, \ \forall\w +\end{equation\*} + And we obtain the same condition as before. #### RS with Inverse Multiplicative Uncertainty {#rs-with-inverse-multiplicative-uncertainty} -We will derive a corresponding RS-condition for feedback system with inverse multiplicative uncertainty (Fig. [fig:inverse_uncertainty_set](#fig:inverse_uncertainty_set)) in which -\\[ G\_p = G(1 + w\_{iI}(s) \Delta\_{iI})^{-1} \\] +We will derive a corresponding RS-condition for feedback system with inverse multiplicative uncertainty (Fig. [22](#org7fd6c1d)) in which - +\begin{equation\*} + G\_p = G(1 + w\_{iI}(s) \Delta\_{iI})^{-1} +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_inverse_uncertainty_set.png" caption="Figure 22: Feedback system with inverse multiplicative uncertainty" >}} @@ -2820,12 +3340,12 @@ We assume that \\(L\_p\\) and the nominal closed-loop systems are stable. Robust &\Leftrightarrow \quad \abs{w\_{iI} S} < 1, \ \forall\w\\\\\\ \end{align\*} -
+
The requirement for robust stability for the case with inverse multiplicative uncertainty gives an **upper bound on the sensitivity** -\begin{equation} +\begin{equation} \label{eq:robust\_stability\_inverse\_uncertainty\_siso} \text{RS} \quad \Leftrightarrow \quad \abs{S} < 1/\abs{w\_{iI}}, \ \forall\w \end{equation} @@ -2841,12 +3361,12 @@ The reason is that the uncertainty represents pole uncertainty, and at frequenci #### SISO Nominal Performance {#siso-nominal-performance} -
+
-The condition for nominal performance when considering performance in terms of the **weighted sensitivity** function is +The condition for **nominal performance** when considering performance in terms of the **weighted sensitivity** function is -\begin{equation} +\begin{equation} \label{eq:siso\_nominal\_performance} \begin{aligned} \text{NP} &\Leftrightarrow \abs{w\_P S} < 1 \ \forall\omega \\\\\\ &\Leftrightarrow \abs{w\_P} < \abs{1 + L} \ \forall\omega @@ -2856,21 +3376,21 @@ The condition for nominal performance when considering performance in terms of t
Now \\(\abs{1 + L}\\) represents at each frequency the distance of \\(L(j\omega)\\) from the point \\(-1\\) in the Nyquist plot, so \\(L(j\omega)\\) must be at least a distance of \\(\abs{w\_P(j\omega)}\\) from \\(-1\\). -This is illustrated graphically in Fig. [fig:nyquist_performance_condition](#fig:nyquist_performance_condition). +This is illustrated graphically in Fig. [23](#orge41ae9d). - + {{< figure src="/ox-hugo/skogestad07_nyquist_performance_condition.png" caption="Figure 23: Nyquist plot illustration of the nominal performance condition \\(\abs{w\_P} < \abs{1 + L}\\)" >}} #### Robust Performance {#robust-performance} -
+
For robust performance, we require the performance condition to be satisfied for **all** possible plants: -\begin{equation} +\begin{equation} \label{eq:robust\_performance\_definition\_siso} \begin{aligned} \text{RP}\ &\overset{\text{def}}{\Leftrightarrow}\ \abs{w\_P S} < 1 \quad \forall S\_p, \forall \omega\\\\\\ \ &\Leftrightarrow\ \abs{w\_P} < \abs{1 + L\_p} \quad \forall L\_p, \forall \omega @@ -2879,18 +3399,21 @@ For robust performance, we require the performance condition to be satisfied for
-Let's consider the case of multiplicative uncertainty as shown on Fig. [fig:input_uncertainty_set_feedback_weight_bis](#fig:input_uncertainty_set_feedback_weight_bis). +Let's consider the case of multiplicative uncertainty as shown on Fig. [24](#org83b2671). The robust performance corresponds to requiring \\(\abs{\hat{y}/d}<1\ \forall \Delta\_I\\) and the set of possible loop transfer functions is -\\[ L\_p = G\_p K = L (1 + w\_I \Delta\_I) = L + w\_I L \Delta\_I \\] - +\begin{equation\*} + L\_p = G\_p K = L (1 + w\_I \Delta\_I) = L + w\_I L \Delta\_I +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_input_uncertainty_set_feedback_weight_bis.png" caption="Figure 24: Diagram for robust performance with multiplicative uncertainty" >}} ##### Graphical derivation of RP-condition {#graphical-derivation-of-rp-condition} -As illustrated on Fig. [fig:nyquist_performance_condition](#fig:nyquist_performance_condition), we must required that all possible \\(L\_p(j\omega)\\) stay outside a disk of radius \\(\abs{w\_P(j\omega)}\\) centered on \\(-1\\). +As illustrated on Fig. [23](#orge41ae9d), we must required that all possible \\(L\_p(j\omega)\\) stay outside a disk of radius \\(\abs{w\_P(j\omega)}\\) centered on \\(-1\\). Since \\(L\_p\\) at each frequency stays within a disk of radius \\(|w\_I(j\omega) L(j\omega)|\\) centered on \\(L(j\omega)\\), the condition for RP becomes: \begin{align\*} @@ -2898,12 +3421,12 @@ Since \\(L\_p\\) at each frequency stays within a disk of radius \\(|w\_I(j\omeg &\Leftrightarrow\ \abs{w\_P(1 + L)^{-1}} + \abs{w\_I L(1 + L)^{-1}} < 1 \quad \forall\omega\\\\\\ \end{align\*} -
+
-Finally, we obtain the following condition for Robust Performance: +Finally, we obtain the following condition for **Robust Performance**: -\begin{equation} +\begin{equation} \label{eq:robust\_performance\_condition\_siso} \text{RP} \ \Leftrightarrow\ \max\_{\omega} \left(\abs{w\_P S} + \abs{w\_I T} \right) < 1 \end{equation} @@ -2913,23 +3436,38 @@ Finally, we obtain the following condition for Robust Performance: ##### Algebraic derivation of RP-condition {#algebraic-derivation-of-rp-condition} RP is satisfied if the worst-case weighted sensitivity at each frequency is less than \\(1\\): -\\[ \text{RP} \ \Leftrightarrow\ \max\_{S\_p} \abs{w\_P S\_p} < 1, \quad \forall\omega \\] + +\begin{equation\*} + \text{RP} \ \Leftrightarrow\ \max\_{S\_p} \abs{w\_P S\_p} < 1, \quad \forall\omega +\end{equation\*} The perturbed sensitivity \\(S\_p\\) is -\\[ S\_p = \frac{1}{1 + L\_p} = \frac{1}{1 + L + w\_I L \Delta\_I} \\] + +\begin{equation\*} + S\_p = \frac{1}{1 + L\_p} = \frac{1}{1 + L + w\_I L \Delta\_I} +\end{equation\*} + Thus: -\\[ \max\_{S\_p} \abs{w\_P S\_p} = \frac{\abs{w\_P}}{\abs{1 + L} - \abs{w\_I L}} = \frac{\abs{w\_P S}}{1 - \abs{w\_I T}} \\] + +\begin{equation\*} + \max\_{S\_p} \abs{w\_P S\_p} = \frac{\abs{w\_P}}{\abs{1 + L} - \abs{w\_I L}} = \frac{\abs{w\_P S}}{1 - \abs{w\_I T}} +\end{equation\*} + And we obtain the same RP-condition as the graphically derived one. ##### Remarks on RP-condition {#remarks-on-rp-condition} 1. The RP-condition for this problem is closely approximated by the mixed sensitivity \\(\hinf\\) condition: - \\[ \tcmbox{\hnorm{\begin{matrix}w\_P S \\ w\_I T\end{matrix}} = \max\_{\omega} \sqrt{\abs{w\_P S}^2 + \abs{w\_I T}^2} <1} \\] - This condition is within a factor at most \\(\sqrt{2}\\) of the true RP-condition. - This means that **for SISO systems, we can closely approximate the RP-condition in terms of an \\(\hinf\\) problem**, so there is no need to make use of the structured singular value. - However, we will see that the situation can be very different for MIMO systems. -2. The RP-condition can be used to derive bounds on the loop shape \\(\abs{L}\\): + \begin{equation\*} + \tcmbox{\hnorm{\begin{matrix}w\_P S \\\\ w\_I T\end{matrix}} = maxω \sqrt{\abs{w\_P S}^2 + \abs{w\_I T}^2} <1} + +\end{equation\*} + This condition is within a factor at most \\(\sqrt{2}\\) of the true RP-condition. + This means that **for SISO systems, we can closely approximate the RP-condition in terms of an \\(\hinf\\) problem**, so there is no need to make use of the structured singular value. + However, we will see that the situation can be very different for MIMO systems. + +1. The RP-condition can be used to derive bounds on the loop shape \\(\abs{L}\\): \begin{align\*} \abs{L} &> \frac{1 + \abs{w\_P}}{1 - \abs{w\_I}}, \text{ at frequencies where } \abs{w\_I} < 1\\\\\\ @@ -2942,16 +3480,14 @@ And we obtain the same RP-condition as the graphically derived one. Consider a SISO system with multiplicative input uncertainty, and assume that the closed-loop is nominally stable (NS). The conditions for nominal performance (NP), robust stability (RS) and robust performance (RP) as summarized as follows: -
+
-\begin{subequations} - \begin{align} - \text{NP} & \Leftrightarrow |w\_P S| < 1,\ \forall \omega \\\\\\ - \text{RS} & \Leftrightarrow |w\_I T| < 1,\ \forall \omega \\\\\\ - \text{RP} & \Leftrightarrow |w\_P S| + |w\_I T| < 1,\ \forall \omega - \end{align} -\end{subequations} +\begin{align} + \text{NP} & \Leftrightarrow |w\_P S| < 1,\ \forall \omega \\\\\\ + \text{RS} & \Leftrightarrow |w\_I T| < 1,\ \forall \omega \\\\\\ + \text{RP} & \Leftrightarrow |w\_P S| + |w\_I T| < 1,\ \forall \omega +\end{align}
@@ -2959,7 +3495,11 @@ From this we see that **a prerequisite for RP is that we satisfy both NP and RS* This applies in general, both for SISO and MIMO systems and for any uncertainty.
In addition, for SISO systems, if we satisfy both RS and NP, then we have at each frequency: -\\[ |w\_P S| + |w\_I T| < 2 \cdot \max \\{|w\_P S|, |w\_I T|\\} < 2 \\] + +\begin{equation\*} + |w\_P S| + |w\_I T| < 2 \cdot \max \\{|w\_P S|, |w\_I T|\\} < 2 +\end{equation\*} + It then follows that, within a factor at most 2, we will automatically get RP when NP and RS are satisfied. This, RP is not a "big issue" for SISO systems.
@@ -2973,7 +3513,7 @@ This has implications for RP: &\ge \text{min}\\{|w\_P|, |w\_I|\\} \end{align\*} -This means that we cannot have both \\(|w\_P|>1\\) (i.e. good performance) and \\(|w\_I|>1\\) (i.e. more than \\(\si{100}{\%}\\) uncertainty) at the same frequency. +This means that we cannot have both \\(|w\_P|>1\\) (i.e. good performance) and \\(|w\_I|>1\\) (i.e. more than 100% uncertainty) at the same frequency. ### Examples of Parametric Uncertainty {#examples-of-parametric-uncertainty} @@ -2982,14 +3522,24 @@ This means that we cannot have both \\(|w\_P|>1\\) (i.e. good performance) and \ #### Parametric Pole Uncertainty {#parametric-pole-uncertainty} Consider the following set of plants: -\\[ G\_p(s) = \frac{1}{s - a\_p} G\_0(s); \quad a\_\text{min} \le a\_p \le a\_{\text{max}} \\] + +\begin{equation\*} + G\_p(s) = \frac{1}{s - a\_p} G\_0(s); \quad a\_\text{min} \le a\_p \le a\_{\text{max}} +\end{equation\*} If \\(a\_\text{min}\\) and \\(a\_\text{max}\\) have different signs, then this means that the plant can change from stable to unstable with the pole crossing through the origin. This set of plants can be written as -\\[ G\_p(s) = \frac{G\_0(s)}{s - \bar{a}(1 + r\_a \Delta)}; \quad -1 \le \Delta \le 1 \\] + +\begin{equation\*} + G\_p(s) = \frac{G\_0(s)}{s - \overline{a}(1 + r\_a \Delta)}; \quad -1 \le \Delta \le 1 +\end{equation\*} + which can be exactly described by inverse multiplicative uncertainty: -\\[ G(s) = \frac{G\_0(s)}{(s - \bar{a})}; \quad w\_{iI}(s) = \frac{r\_a \bar{a}}{s - \bar{a}} \\] + +\begin{equation\*} + G(s) = \frac{G\_0(s)}{(s - \overline{a})}; \quad w\_{iI}(s) = \frac{r\_a \overline{a}}{s - \overline{a}} +\end{equation\*} The magnitude of \\(w\_{iI}(s)\\) is equal to \\(r\_a\\) at low frequency and goes to \\(0\\) at high frequencies. @@ -2997,10 +3547,16 @@ The magnitude of \\(w\_{iI}(s)\\) is equal to \\(r\_a\\) at low frequency and go ##### Time constant form {#time-constant-form} It is also interesting to consider another form of pole uncertainty, namely that associated with the time constant: -\\[ G\_p(s) = \frac{1}{\tau\_p s + 1} G\_0(s); \quad \tau\_\text{min} \le \tau\_p \le \tau\_\text{max} \\] + +\begin{equation\*} + G\_p(s) = \frac{1}{\tau\_p s + 1} G\_0(s); \quad \tau\_\text{min} \le \tau\_p \le \tau\_\text{max} +\end{equation\*} The corresponding uncertainty weight is -\\[ w\_{iI}(s) = \frac{r\_\tau \bar{\tau} s}{1 + \bar{\tau} s} \\] + +\begin{equation\*} + w\_{iI}(s) = \frac{r\_\tau \overline{\tau} s}{1 + \overline{\tau} s} +\end{equation\*} This results in uncertainty in the pole location, but here the uncertainty affects the model at high frequency. @@ -3008,10 +3564,17 @@ This results in uncertainty in the pole location, but here the uncertainty affec #### Parametric Zero Uncertainty {#parametric-zero-uncertainty} Consider zero uncertainty in the "time constant" form as in: -\\[ G\_p(s) = (1 + \tau\_p s)G\_0(s); \quad \tau\_\text{min} \le \tau\_p \le \tau\_\text{max} \\] + +\begin{equation\*} + G\_p(s) = (1 + \tau\_p s)G\_0(s); \quad \tau\_\text{min} \le \tau\_p \le \tau\_\text{max} +\end{equation\*} This set of plants may be written as multiplicative uncertainty with: -\\[ w\_I(s) = \frac{r\_\tau \bar{\tau} s}{1 + \bar{\tau} s} \\] + +\begin{equation\*} + w\_I(s) = \frac{r\_\tau \overline{\tau} s}{1 + \overline{\tau} s} +\end{equation\*} + The magnitude \\(|w\_I(j\omega)|\\) is small at low frequencies and approaches \\(r\_\tau\\) at high frequencies. For cases with \\(r\_\tau > 1\\) we allow the zero to cross from the LHP to the RHP. @@ -3036,7 +3599,10 @@ Assume that the underlying cause for the uncertainty is uncertainty in some real where \\(A\\), \\(B\\), \\(C\\) and \\(D\\) model the nominal system. We can collect the perturbations \\(\delta\_i\\) in a large diagonal matrix \\(\Delta\\) with the real \\(\delta\_i\\)'s along its diagonal: -\\[ A\_p = A + \sum \delta\_i A\_i = A + W\_2 \Delta W\_1 \\] + +\begin{equation\*} + A\_p = A + \sum \delta\_i A\_i = A + W\_2 \Delta W\_1 +\end{equation\*} In the transfer function form: @@ -3047,9 +3613,9 @@ In the transfer function form: with \\(\Phi(s) \triangleq (sI - A)^{-1}\\). -This is illustrated in the block diagram of Fig. [fig:uncertainty_state_a_matrix](#fig:uncertainty_state_a_matrix), which is in the form of an inverse additive perturbation. +This is illustrated in the block diagram of Fig. [25](#org80cc1de), which is in the form of an inverse additive perturbation. - + {{< figure src="/ox-hugo/skogestad07_uncertainty_state_a_matrix.png" caption="Figure 25: Uncertainty in state space A-matrix" >}} @@ -3067,24 +3633,33 @@ We also derived a condition for robust performance with multiplicative uncertain ## Robust Stability and Performance Analysis {#robust-stability-and-performance-analysis} - + ### General Control Configuration with Uncertainty {#general-control-configuration-with-uncertainty} The starting point for our robustness analysis is a system representation in which the uncertain perturbations are "pulled out" into a **block diagonal matrix** -\\[ \Delta = \text{diag} \\{\Delta\_i\\} = \begin{bmatrix}\Delta\_1 \\ & \ddots \\ & & \Delta\_i \\ & & & \ddots \end{bmatrix} \\] + +\begin{equation\*} + \Delta = \text{diag} \\{\Delta\_i\\} = \begin{bmatrix} + \Delta\_1 & & & \\\\\\ + & \ddots & & \\\\\\ + & & \Delta\_i & \\\\\\ + & & & \ddots + \end{bmatrix} +\end{equation\*} + where each \\(\Delta\_i\\) represents a **specific source of uncertainty**, e.g. input uncertainty \\(\Delta\_I\\) or parametric uncertainty \\(\delta\_i\\). -If we also pull out the controller \\(K\\), we get the generalized plant \\(P\\) as shown in Fig. [fig:general_control_delta](#fig:general_control_delta). This form is useful for controller synthesis. +If we also pull out the controller \\(K\\), we get the generalized plant \\(P\\) as shown in Fig. [26](#orgbe92de5). This form is useful for controller synthesis. - + {{< figure src="/ox-hugo/skogestad07_general_control_delta.png" caption="Figure 26: General control configuration used for controller synthesis" >}} -If the controller is given and we want to analyze the uncertain system, we use the \\(N\Delta\text{-structure}\\) in Fig. [fig:general_control_Ndelta](#fig:general_control_Ndelta). +If the controller is given and we want to analyze the uncertain system, we use the \\(N\Delta\text{-structure}\\) in Fig. [27](#org041abfb). - + {{< figure src="/ox-hugo/skogestad07_general_control_Ndelta.png" caption="Figure 27: \\(N\Delta\text{-structure}\\) for robust performance analysis" >}} @@ -3102,9 +3677,9 @@ Similarly, the uncertain closed-loop transfer function from \\(w\\) to \\(z\\), &\triangleq N\_{22} + N\_{21} \Delta (I - N\_{11} \Delta)^{-1} N\_{12} \end{align\*} -To analyze robust stability of \\(F\\), we can rearrange the system into the \\(M\Delta\text{-structure}\\) shown in Fig. [fig:general_control_Mdelta_bis](#fig:general_control_Mdelta_bis) where \\(M = N\_{11}\\) is the transfer function from the output to the input of the perturbations. +To analyze robust stability of \\(F\\), we can rearrange the system into the \\(M\Delta\text{-structure}\\) shown in Fig. [28](#org4b32441) where \\(M = N\_{11}\\) is the transfer function from the output to the input of the perturbations. - + {{< figure src="/ox-hugo/skogestad07_general_control_Mdelta_bis.png" caption="Figure 28: \\(M\Delta\text{-structure}\\) for robust stability analysis" >}} @@ -3112,10 +3687,16 @@ To analyze robust stability of \\(F\\), we can rearrange the system into the \\( ### Representing Uncertainty {#representing-uncertainty} Each individual perturbation is assumed to be **stable and normalized**: -\\[ \maxsv(\Delta\_i(j\w)) \le 1 \quad \forall\w \\] + +\begin{equation\*} + \maxsv(\Delta\_i(j\w)) \le 1 \quad \forall\w +\end{equation\*} As the maximum singular value of a block diagonal matrix is equal to the largest of the maximum singular values of the individual blocks, it then follows for \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) that -\\[ \maxsv(\Delta\_i(j\w)) \le 1 \quad \forall\w, \forall i \quad \Leftrightarrow \quad \tcmbox{\hnorm{\Delta} \le 1} \\] + +\begin{equation\*} + \maxsv(\Delta\_i(j\w)) \le 1 \quad \forall\w, \forall i \quad \Leftrightarrow \quad \tcmbox{\hnorm{\Delta} \le 1} +\end{equation\*} #### Differences Between SISO and MIMO Systems {#differences-between-siso-and-mimo-systems} @@ -3135,11 +3716,13 @@ However, the inclusion of parametric uncertainty may be more significant for MIM Unstructured perturbations are often used to get a simple uncertainty model. We here define unstructured uncertainty as the use of a "full" complex perturbation matrix \\(\Delta\\), usually with dimensions compatible with those of the plant, where at each frequency any \\(\Delta(j\w)\\) satisfying \\(\maxsv(\Delta(j\w)) < 1\\) is allowed. -Three common forms of **feedforward unstructured uncertainty** are shown Fig. [fig:feedforward_uncertainty](#fig:feedforward_uncertainty): additive uncertainty, multiplicative input uncertainty and multiplicative output uncertainty. +Three common forms of **feedforward unstructured uncertainty** are shown Fig. [4](#table--fig:feedforward-uncertainty): additive uncertainty, multiplicative input uncertainty and multiplicative output uncertainty. -
+
+**Feedforward unstructured uncertainty**: + \begin{alignat\*}{3} &\Pi\_A: \quad &&G\_p = G + E\_A; \quad& &E\_a = w\_A \Delta\_a \\\\\\ &\Pi\_I: \quad &&G\_p = G(I + E\_I); \quad& &E\_I = w\_I \Delta\_I \\\\\\ @@ -3156,13 +3739,15 @@ Three common forms of **feedforward unstructured uncertainty** are shown Fig.&nb | ![](/ox-hugo/skogestad07_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_input_uncertainty.png) | ![](/ox-hugo/skogestad07_output_uncertainty.png) | |----------------------------------------------------|----------------------------------------------------------|-----------------------------------------------------------| -| Additive uncertainty | Multiplicative input uncertainty | Multiplicative output uncertainty | +| Additive uncertainty | Multiplicative input uncertainty | Multiplicative output uncertainty | -In Fig. [fig:feedback_uncertainty](#fig:feedback_uncertainty), three **feedback or inverse unstructured uncertainty** forms are shown: inverse additive uncertainty, inverse multiplicative input uncertainty and inverse multiplicative output uncertainty. +In Fig. [5](#table--fig:feedback-uncertainty), three **feedback or inverse unstructured uncertainty** forms are shown: inverse additive uncertainty, inverse multiplicative input uncertainty and inverse multiplicative output uncertainty. -
+
+**Feedback unstructured uncertainty**: + \begin{alignat\*}{3} &\Pi\_{iA}: \quad &&G\_p = G(I - E\_{iA} G)^{-1}; & & \quad E\_{ia} = w\_{iA} \Delta\_{ia} \\\\\\ &\Pi\_{iI}: \quad &&G\_p = G(I - E\_{iI})^{-1}; & & \quad E\_{iI} = w\_{iI} \Delta\_{iI} \\\\\\ @@ -3179,7 +3764,7 @@ In Fig. [fig:feedback_uncertainty](#fig:feedback_uncertainty), three **feed | ![](/ox-hugo/skogestad07_inv_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_input_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_output_uncertainty.png) | |--------------------------------------------------------|------------------------------------------------------------------|-------------------------------------------------------------------| -| Inverse additive uncertainty | Inverse multiplicative input uncertainty | Inverse multiplicative output uncertainty | +| Inverse additive uncertainty | Inverse multiplicative input uncertainty | Inverse multiplicative output uncertainty | ##### Lumping uncertainty into a single perturbation {#lumping-uncertainty-into-a-single-perturbation} @@ -3188,15 +3773,29 @@ For SISO systems, we usually lump multiple sources of uncertainty into a single This may be also done for MIMO systems, but then it makes a difference whether the perturbation is at the input or the output.
Since **output uncertainty is frequently less restrictive than input uncertainty in terms of control performance**, we first attempt to lump the uncertainty at the output. For example, a set of plant \\(\Pi\\) may be represented by multiplicative output uncertainty with a scalar weight \\(w\_O(s)\\) using -\\[ G\_p = (I + w\_O \Delta\_O) G, \quad \hnorm{\Delta\_O} \le 1 \\] + +\begin{equation\*} + G\_p = (I + w\_O \Delta\_O) G, \quad \hnorm{\Delta\_O} \le 1 +\end{equation\*} + where -\\[ l\_O(\w) = \max\_{G\_p \in \Pi} \maxsv\left( (G\_p - G)G^{-1} \right); \ \abs{w\_O(j\w)} \ge l\_O(\w), \, \forall\w \\] + +\begin{equation\*} + l\_O(\w) = \max\_{G\_p \in \Pi} \maxsv\left( (G\_p - G)G^{-1} \right); \ \abs{w\_O(j\w)} \ge l\_O(\w), \, \forall\w +\end{equation\*} If the resulting uncertainty weight is reasonable and the analysis shows that robust stability and performance may be achieve, then this lumping of uncertainty at the output is fine. If this is not the case, then one may try to lump the uncertainty at the input instead, using multiplicative input uncertainty with a scalar weight, -\\[ G\_p = G(I + w\_I \Delta\_I), \quad \hnorm{\Delta\_I} \le 1 \\] + +\begin{equation\*} + G\_p = G(I + w\_I \Delta\_I), \quad \hnorm{\Delta\_I} \le 1 +\end{equation\*} + where -\\[ l\_I(\w) = \max\_{G\_p \in \Pi} \maxsv\left( G^{-1}(G\_p - G) \right); \ \abs{w\_I(j\w)} \ge l\_I(\w), \, \forall\w \\] + +\begin{equation\*} + l\_I(\w) = \max\_{G\_p \in \Pi} \maxsv\left( G^{-1}(G\_p - G) \right); \ \abs{w\_I(j\w)} \ge l\_I(\w), \, \forall\w +\end{equation\*} However, in many cases, this approach of lumping uncertainty either at the output or the input does **not** work well because **it usually introduces additional plants** that were not present in the original set. @@ -3212,19 +3811,30 @@ In such cases we may have to represent the uncertainty as it occurs physically ( #### Diagonal Uncertainty {#diagonal-uncertainty} By "diagonal uncertainty" we mean that the perturbation is a complex diagonal matrix -\\[ \Delta(s) = \text{diag}\\{\delta\_i(s)\\}; \quad \abs{\delta\_i(j\w)} \le 1, \ \forall\w, \, \forall i \\] + +\begin{equation\*} + \Delta(s) = \text{diag}\\{\delta\_i(s)\\}; \quad \abs{\delta\_i(j\w)} \le 1, \ \forall\w, \, \forall i +\end{equation\*} Diagonal uncertainty usually arises from a consideration of uncertainty or neglected dynamics in the **individual input or output channels**. This type of diagonal uncertainty is **always present**. -
+
Let us consider uncertainty in the input channels. With each input \\(u\_i\\), there is a physical system (amplifier, actuator, etc.) which based on the controller output signal \\(u\_i\\), generates a physical plant input \\(m\_i\\) -\\[ m\_i = h\_i(s) u\_i \\] + +\begin{equation\*} + m\_i = h\_i(s) u\_i +\end{equation\*} + The scalar transfer function \\(h\_i(s)\\) is often absorbed into the plant model \\(G(s)\\). We can represent its uncertainty as multiplicative uncertainty -\\[ h\_{pi}(s) = h\_i(s)(1 + w\_{Ii}(s)\delta\_i(s)); \quad \abs{\delta\_i(j\w)} \le 1, \, \forall\w \\] + +\begin{equation\*} + h\_{pi}(s) = h\_i(s)(1 + w\_{Ii}(s)\delta\_i(s)); \quad \abs{\delta\_i(j\w)} \le 1, \, \forall\w +\end{equation\*} + which after combining all input channels results in diagonal input uncertainty for the plant \begin{align\*} @@ -3235,7 +3845,11 @@ which after combining all input channels results in diagonal input uncertainty f
Normally, we would represent the uncertainty in each input or output channel using a simple weight in the form -\\[ w(s) = \frac{\tau s + r\_0}{(\tau/r\_\infty)s + 1} \\] + +\begin{equation\*} + w(s) = \frac{\tau s + r\_0}{(\tau/r\_\infty)s + 1} +\end{equation\*} + where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is the frequency where the relative uncertainty reaches \\(\SI{100}{\percent}\\), and \\(r\_\infty\\) is the magnitude of the weight at high frequencies.
**Diagonal input uncertainty should always be considered because**: @@ -3246,27 +3860,36 @@ where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is th ### Obtaining \\(P\\), \\(N\\) and \\(M\\) {#obtaining--p----n--and--m} -Let's consider the feedback system with multiplicative input uncertainty \\(\Delta\_I\\) shown Fig. [fig:input_uncertainty_set_feedback_weight](#fig:input_uncertainty_set_feedback_weight). +Let's consider the feedback system with multiplicative input uncertainty \\(\Delta\_I\\) shown Fig. [29](#org4f9f011). \\(W\_I\\) is a normalization weight for the uncertainty and \\(W\_P\\) is a performance weight. - + {{< figure src="/ox-hugo/skogestad07_input_uncertainty_set_feedback_weight.png" caption="Figure 29: System with multiplicative input uncertainty and performance measured at the output" >}} We want to derive the generalized plant \\(P\\) which has inputs \\([u\_\Delta,\ w,\ u]^T\\) and outputs \\([y\_\Delta,\ z,\ v]^T\\). By breaking the loop before and after \\(K\\) and \\(\Delta\_I\\), we get -\\[ P = \begin{bmatrix} - 0 & 0 & W\_I \\\\\\ - W\_P G & W\_P & W\_P G \\\\\\ - -G & -I & -G -\end{bmatrix} \\] + +\begin{equation\*} + P = \begin{bmatrix} + 0 & 0 & W\_I \\\\\\ + W\_P G & W\_P & W\_P G \\\\\\ + -G & -I & -G + \end{bmatrix} +\end{equation\*} Next, we want to derive the matrix \\(N\\). We fist partition \\(P\\) to be compatible with \\(K\\): \begin{align\*} - P\_{11} = \begin{bmatrix}0&0\\GW\_P&W\_P\end{bmatrix},\quad & P\_{12} = \begin{bmatrix}W\_I\\GW\_P\end{bmatrix} \\\\\\ - P\_{21} = \begin{bmatrix}G&-1\end{bmatrix}, \quad & P\_{22} = -G \\\\\\ + P\_{11} = \begin{bmatrix} + 0 & 0 \\\\\\ + GW\_P & W\_P + \end{bmatrix}, \quad & P\_{12} = \begin{bmatrix} + W\_I \\\\\\ + GW\_P + \end{bmatrix} \\\\\\ + P\_{21} = \begin{bmatrix} G & -1 \end{bmatrix}, \quad & P\_{22} = -G \\\\\\ \end{align\*} and then we find \\(N\\) using \\(N = F\_l(P, K)\\). @@ -3289,7 +3912,7 @@ We have \\(z = F(\Delta) \cdot w\\) with We here use \\(\hinf\\) norm to define performance and require for RP that \\(\hnorm{F(\Delta)} \le 1\\) for all allowed \\(\Delta\\). A typical choice is \\(F = w\_P S\_P\\) where \\(w\_P\\) is the performance weight and \\(S\_P\\) represents the set of perturbed sensitivity functions. -
+
In terms of the \\(N\Delta\text{-structure}\\), our requirements for stability and performance can be summarized as follows: @@ -3307,16 +3930,22 @@ In terms of the \\(N\Delta\text{-structure}\\), our requirements for stability a ### Robust Stability for the \\(M\Delta\text{-structure}\\) {#robust-stability-for-the--m-delta-text-structure} Consider the uncertain \\(N\Delta\text{-system}\\) for which the transfer function from \\(w\\) to \\(z\\) is -\\[ F\_u(N, \Delta) = N\_{22} + N\_{21}\Delta(I - N\_{11}\Delta)^{-1} N\_{12} \\] + +\begin{equation\*} + F\_u(N, \Delta) = N\_{22} + N\_{21}\Delta(I - N\_{11}\Delta)^{-1} N\_{12} +\end{equation\*} + Suppose that the system is nominally stable (with \\(\Delta = 0\\)) that is \\(N\\) is stable. We also assume that \\(\Delta\\) is stable. We then see from the above equation that the **only possible source of instability** is the feedback term \\((I - N\_{11}\Delta)^{-1}\\). Thus, when we have nominal stability, the stability of the \\(N\Delta\text{-structure}\\) is equivalent to the stability of the \\(M\Delta\text{-structure}\\) where \\(M = N\_{11}\\). We thus need to derive conditions for checking the stability of the \\(M\Delta\text{-structure}\\). -
+
+**Determinant Stability Condition**: + Assume that the nominal system \\(M(s)\\) and the perturbations \\(\Delta(s)\\) are stable. Consider the convex set of perturbations \\(\Delta\\), such that if \\(\Delta^\prime\\) is an allowed perturbation then so is \\(c\Delta^\prime\\) where c is any **real** scalar such that \\(\abs{c} \le 1\\). Then the \\(M\Delta\text{-structure}\\) is stable for all allowed perturbations **if and only if** the Nyquist plot of \\(\det\left( I - M\Delta(s) \right)\\) does not encircle the origin, \\(\forall\Delta\\): @@ -3327,14 +3956,16 @@ Then the \\(M\Delta\text{-structure}\\) is stable for all allowed perturbations
-
+
+**Spectral Radius Condition**: + Assume that the nominal system \\(M(s)\\) and the perturbations \\(\Delta(s)\\) are stable. Consider the class of perturbations, \\(\Delta\\), such that if \\(\Delta^\prime\\) is an allowed perturbation, then so is \\(c\Delta^\prime\\) where c is any **complex** scalar such that \\(\abs{c} \le 1\\). Then the \\(M\Delta\text{-structure}\\) is stable for all allowed perturbations **if and only if**: -\begin{equation} +\begin{equation} \label{eq:spectral\_radio\_condition\_complex\_pert} \begin{aligned} &\rho(M\Delta(j\w)) < 1, \quad \forall\w, \, \forall\Delta\\\\\\ \Leftrightarrow \quad &\max\_{\Delta} \rho(M\Delta(j\w)) < 1, \quad \forall\w @@ -3356,7 +3987,7 @@ Then we have &= \maxsv(M) \end{align\*} -
+
Assume that the nominal system \\(M(s)\\) is stable and that the perturbations \\(\Delta(s)\\) are stable. @@ -3371,11 +4002,18 @@ Then the \\(M\Delta\text{-system}\\) is stable for all perturbations \\(\Delta\\ #### Application of the Unstructured RS-condition {#application-of-the-unstructured-rs-condition} -We will now present necessary and sufficient conditions for robust stability for each of the six single unstructured perturbations in Figs [fig:feedforward_uncertainty](#fig:feedforward_uncertainty) and [fig:feedback_uncertainty](#fig:feedback_uncertainty) with -\\[ E = W\_2 \Delta W\_1, \quad \hnorm{\Delta} \le 1 \\] +We will now present necessary and sufficient conditions for robust stability for each of the six single unstructured perturbations in Figs [4](#table--fig:feedforward-uncertainty) and [5](#table--fig:feedback-uncertainty) with + +\begin{equation\*} + E = W\_2 \Delta W\_1, \quad \hnorm{\Delta} \le 1 +\end{equation\*} To derive the matrix \\(M\\) we simply "isolate" the perturbation, and determine the transfer function matrix -\\[ M = W\_1 M\_0 W\_2 \\] + +\begin{equation\*} + M = W\_1 M\_0 W\_2 +\end{equation\*} + from the output to the input of the perturbation, where \\(M\_0\\) for each of the six cases is given by \begin{alignat\*}{2} @@ -3388,10 +4026,16 @@ from the output to the input of the perturbation, where \\(M\_0\\) for each of t \end{alignat\*} Using the theorem to check RS for unstructured perturbations -\\[ \text{RS} \quad \Leftrightarrow \quad \hnorm{W\_1 M\_0 W\_2(j\w)} < 1, \ \forall\w \\] + +\begin{equation\*} + \text{RS} \quad \Leftrightarrow \quad \hnorm{W\_1 M\_0 W\_2(j\w)} < 1, \ \forall\w +\end{equation\*} For instance, for feedforward input uncertainty, we get -\\[ \text{RS}\ \forall G\_p = G(I + w\_I \Delta\_I), \hnorm{\Delta\_I} \le 1 \Leftrightarrow \hnorm{w\_I T\_I} < 1 \\] + +\begin{equation\*} + \text{RS}\ \forall G\_p = G(I + w\_I \Delta\_I), \hnorm{\Delta\_I} \le 1 \Leftrightarrow \hnorm{w\_I T\_I} < 1 +\end{equation\*} In general, **the unstructured uncertainty descriptions in terms of a single perturbation are not "tight"** (in the sense that at each frequency all complex perturbations satisfying \\(\maxsv(\Delta(j\w)) \le 1\\) may not be possible in practice). Thus, the above RS-conditions are often **conservative**. @@ -3403,21 +4047,35 @@ In order to get tighter condition we must use a tighter uncertainty description Robust stability bound in terms of the \\(\hinf\\) norm (\\(\text{RS}\Leftrightarrow\hnorm{M}<1\\)) are in general only tight when there is a single full perturbation block. An "exception" to this is when the uncertainty blocks enter or exit from the same location in the block diagram, because they can then be stacked on top of each other or side-by-side, in an overall \\(\Delta\\) which is then full matrix. -One important uncertainty description that falls into this category is the **coprime uncertainty description** shown in Fig. [fig:coprime_uncertainty](#fig:coprime_uncertainty), for which the set of plants is -\\[ G\_p = (M\_l + \Delta\_M)^{-1}(Nl + \Delta\_N), \quad \hnorm{[\Delta\_N, \ \Delta\_N]} \le \epsilon \\] +One important uncertainty description that falls into this category is the **coprime uncertainty description** shown in Fig. [30](#org8bb0812), for which the set of plants is + +\begin{equation\*} + G\_p = (M\_l + \Delta\_M)^{-1}(Nl + \Delta\_N), \quad \hnorm{[\Delta\_N, \ \Delta\_N]} \le \epsilon +\end{equation\*} + Where \\(G = M\_l^{-1} N\_l\\) is a left coprime factorization of the nominal plant. This uncertainty description is surprisingly **general**, it allows both zeros and poles to cross into the right-half plane, and has proven to be very useful in applications. - + {{< figure src="/ox-hugo/skogestad07_coprime_uncertainty.png" caption="Figure 30: Coprime Uncertainty" >}} Since we have no weights on the perturbations, it is reasonable to use a normalized coprime factorization of the nominal plant. In any case, to test for RS we can rearrange the block diagram to match the \\(M\Delta\text{-structure}\\) with -\\[ \Delta = [\Delta\_N, \ \Delta\_M]; \quad M = -\begin{bmatrix}K\\I\end{bmatrix} (I + GK)^{-1} M\_l^{-1} \\] + +\begin{equation\*} + \Delta = [\Delta\_N, \ \Delta\_M]; \quad M = -\begin{bmatrix} + K \\\\\\ + I + \end{bmatrix} (I + GK)^{-1} M\_l^{-1} +\end{equation\*} + And we get -\\[ \text{RS}\ \forall\ \hnorm{\Delta\_N, \ \Delta\_M} \le \epsilon \quad \Leftrightarrow \quad \hnorm{M} < 1/\epsilon \\] + +\begin{equation\*} + \text{RS}\ \forall\ \hnorm{\Delta\_N, \ \Delta\_M} \le \epsilon \quad \Leftrightarrow \quad \hnorm{M} < 1/\epsilon +\end{equation\*} The coprime uncertainty description provides a good **generic uncertainty description** for cases where we do not use any specific a priori uncertainty information. Note that the uncertainty magnitude is \\(\epsilon\\), so it is not normalized to be less than 1 in this case. @@ -3428,33 +4086,47 @@ This is because this uncertainty description is most often used in a controller Consider now the presence of structured uncertainty, where \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) is block-diagonal. To test for robust stability, we rearrange the system into the \\(M\Delta\text{-structure}\\) and we have -\\[ \text{RS if } \maxsv(M(j\w)) < 1, \ \forall\w \\] + +\begin{equation\*} + \text{RS if } \maxsv(M(j\w)) < 1, \ \forall\w +\end{equation\*} We have here written "if" rather than "if and only if" since this condition is only sufficient for RS when \\(\Delta\\) has "no structure". The question is whether we can take advantage of the fact that \\(\Delta = \text{diag}\\{\Delta\_i\\}\\) is structured to obtain an RS-condition which is tighter. On idea is to make use of the fact that stability must be independent of scaling. To this effect, introduce the block-diagonal scaling matrix -\\[ D = \diag{d\_i I\_i} \\] + +\begin{equation\*} + D = \diag{d\_i I\_i} +\end{equation\*} + where \\(d\_i\\) is a scalar and \\(I\_i\\) is an identity matrix of the same dimension as the \\(i\\)'th perturbation block \\(\Delta\_i\\). -Now rescale the inputs and outputs of \\(M\\) and \\(\Delta\\) by inserting the matrices \\(D\\) and \\(D^{-1}\\) on both sides as shown in Fig. [fig:block_diagonal_scalings](#fig:block_diagonal_scalings). +Now rescale the inputs and outputs of \\(M\\) and \\(\Delta\\) by inserting the matrices \\(D\\) and \\(D^{-1}\\) on both sides as shown in Fig. [31](#orga3e207a). This clearly has no effect on stability. - + {{< figure src="/ox-hugo/skogestad07_block_diagonal_scalings.png" caption="Figure 31: Use of block-diagonal scalings, \\(\Delta D = D \Delta\\)" >}} Note that with the chosen form for the scalings we have for each perturbation block \\(\Delta\_i = d\_i \Delta\_i d\_i^{-1}\\), that is we have \\(\Delta = D \Delta D^{-1}\\). This means that we have -\\[ \text{RS if } \maxsv(DM(j\w)D^{-1}) < 1, \ \forall\w \\] -
+\begin{equation\*} + \text{RS if } \maxsv(DM(j\w)D^{-1}) < 1, \ \forall\w +\end{equation\*} + +
This applies for any \\(D\\), and therefore the "most improved" (least conservative) RS-condition is obtained by minimizing at each frequency the scaled singular value and we have -\\[ \text{RS if } \min\_{D(\w) \in \mathcal{D}} \maxsv(D(\w)M(j\w)D(\w)^{-1}) < 1, \ \forall\w \\] + +\begin{equation\*} + \text{RS if } \min\_{D(\w) \in \mathcal{D}} \maxsv(D(\w)M(j\w)D(\w)^{-1}) < 1, \ \forall\w +\end{equation\*} + where \\(\mathcal{D}\\) is the set of block-diagonal matrices whose structure is compatible to that of \\(\Delta\\), i.e, \\(\Delta D = D \Delta\\).
@@ -3476,16 +4148,20 @@ We will use \\(\mu\\) to get necessary and sufficient conditions for robust stab > Find the smallest structured \\(\Delta\\) (measured in terms of \\(\maxsv(\Delta)\\)) which makes the matrix \\(I - M \Delta\\) singular; then \\(\mu(M) = 1/\maxsv(\Delta)\\). Mathematically -\\[ \mu(M)^{-1} \triangleq \min\_{\Delta}\\{\maxsv(\Delta) | \det(I-M\Delta) = 0 \text{ for struct. }\Delta\\} \\] + +\begin{equation\*} + \mu(M)^{-1} \triangleq \min\_{\Delta}\\{\maxsv(\Delta) | \det(I-M\Delta) = 0 \text{ for struct. }\Delta\\} +\end{equation\*} + Clearly, \\(\mu(M)\\) depends not only on \\(M\\) but also on the **allowed structure** for \\(\Delta\\). This is sometimes shown explicitly by using the notation \\(\mu\_\Delta (M)\\).
The above definition of \\(\mu\\) involves varying \\(\maxsv(\Delta)\\). However, we prefer to normalize \\(\Delta\\) such that \\(\maxsv(\Delta)\le1\\). We can do that by scaling \\(\Delta\\) by a factor \\(k\_m\\), and looking for the smallest \\(k\_m\\) which makes the matrix \\(I - k\_m M \Delta\\) singular. \\(\mu\\) is then the reciprocal of this small \\(k\_m\\): \\(\mu = 1/k\_m\\). This results in the following alternative definition of \\(\mu\\). -
+
Let \\(M\\) be a given complex matrix and let \\(\Delta = \diag{\Delta\_i}\\) denote a set of complex matrices with \\(\maxsv(\Delta) \le 1\\) and with a given block-diagonal structure. -The real non-negative function \\(\mu(M)\\), called the structured singular value, is defined by +The real non-negative function \\(\mu(M)\\), called the **structured singular value**, is defined by \begin{align\*} \mu(M) \triangleq &(\min\\{ k\_m | \det(I - k\_m M \Delta) = 0\\\\\\ @@ -3512,7 +4188,11 @@ A larger value of \\(\mu\\) is "bad" as it means that a smaller perturbation mak 1. \\(\mu(\alpha M) = \abs{\alpha} \mu(M)\\) for any real scalar \\(\alpha\\) 2. Let \\(\Delta = \diag{\Delta\_1, \Delta\_2}\\) be a block-diagonal perturbation and let \\(M\\) be partitioned accordingly. - Then \\[ \mu\_\Delta \ge \text{max} \\{\mu\_{\Delta\_1} (M\_{11}), \mu\_{\Delta\_2}(M\_{22}) \\} \\] + Then + \begin{equation\*} + μ\_Δ ≥ \text{max} \\{μΔ\_1 (M11), μΔ\_2(M22) \\} + +\end{equation\*} #### Properties of \\(\mu\\) for Complex Perturbations \\(\Delta\\) {#properties-of--mu--for-complex-perturbations--delta} @@ -3524,20 +4204,24 @@ A larger value of \\(\mu\\) is "bad" as it means that a smaller perturbation mak \end{equation} 2. \\(\mu(\alpha M) = \abs{\alpha} \mu(M)\\) for any (complex) scalar \\(\alpha\\) 3. For a full block complex perturbation \\(\Delta\\) - \\[ \mu(M) = \maxsv(M) \\] -4. \\(\mu\\) for complex perturbations is bounded by the spectral radius and the singular value + \begin{equation\*} + μ(M) = \maxsv(M) + +\end{equation\*} + +1. \\(\mu\\) for complex perturbations is bounded by the spectral radius and the singular value \begin{equation} \tcmbox{\rho(M) \le \mu(M) \le \maxsv(M)} \end{equation} -5. **Improved lower bound**. +2. **Improved lower bound**. Defined \\(\mathcal{U}\\) as the set of all unitary matrices \\(U\\) with the same block diagonal structure as \\(\Delta\\). Then for complex \\(\Delta\\) \begin{equation} \tcmbox{\mu(M) = \max\_{U\in\mathcal{U}} \rho(MU)} \end{equation} -6. **Improved upper bound**. +3. **Improved upper bound**. Defined \\(\mathcal{D}\\) as the set of all unitary matrices \\(D\\) that commute with \\(\Delta\\). Then @@ -3550,18 +4234,26 @@ A larger value of \\(\mu\\) is "bad" as it means that a smaller perturbation mak Consider stability of the \\(M\Delta\text{-structure}\\) for the case where \\(\Delta\\) is a set of norm-bounded block-diagonal perturbations. From the determinant stability condition which applies to both complex and real perturbations, we get -\\[ \text{RS} \ \Leftrightarrow \ \det(I-M\Delta(j\w)) \ne 0, \ \forall\w,\, \forall\Delta, \, \\|\Delta\\|\_\infty \le 1 \\] + +\begin{equation\*} + \text{RS} \ \Leftrightarrow \ \det(I-M\Delta(j\w)) \ne 0, \ \forall\w,\, \forall\Delta, \, \\|\Delta\\|\_\infty \le 1 +\end{equation\*} + The problem is that this is only a "yes/no" condition. To find the factor \\(k\_m\\) by which the system is robustly stable, we scale the uncertainty \\(\Delta\\) by \\(k\_m\\), and look for the smallest \\(k\_m\\) which yields "borderline instability", namely -\\[ \det(I - k\_m M \Delta) = 0 \\] + +\begin{equation\*} + \det(I - k\_m M \Delta) = 0 +\end{equation\*} + From the definition of \\(\mu\\), this value is \\(k\_m = 1/\mu(M)\\), and we obtain the following necessary and sufficient condition for robust stability. -
+
Assume that the nominal system \\(M\\) and the perturbations \\(\Delta\\) are stable. Then the \\(M\Delta\text{-system}\\) is stable for all allowed perturbations with \\(\maxsv(\Delta)\le 1, \ \forall\w\\) if on only if -\begin{equation} +\begin{equation} \label{eq:RS\_block\_diagonal\_pert} \mu(M(j\w)) < 1, \ \forall \omega \end{equation} @@ -3575,14 +4267,24 @@ A value of \\(\mu = 1.1\\) for robust stability means that **all** the uncertain But if we want to keep some of the uncertainty blocks fixed, how large can one particular source of uncertainty be before we get instability? We define this value as \\(1/\mu^s\\), where \\(\mu^s\\) is called skewed-\\(\mu\\). We may view \\(\mu^s(M)\\) as a generalization of \\(\mu(M)\\). -
+
Let \\(\Delta = \diag{\Delta\_1, \Delta\_2}\\) and assume we have fixed \\(\norm{\Delta\_1} \le 1\\) and we want to find how large \\(\Delta\_2\\) can be before we get instability. The solution is to select -\\[ K\_m = \begin{bmatrix}I & 0 \\ 0 & k\_m I\end{bmatrix} \\] + +\begin{equation\*} + K\_m = \begin{bmatrix} + I & 0 \\\\\\ + 0 & k\_m I + \end{bmatrix} +\end{equation\*} + and look at each frequency for the smallest value of \\(k\_m\\) which makes \\(\det(I - K\_m M \Delta) = 0\\) and we have that skewed-\\(\mu\\) is -\\[ \mu^s(M) \triangleq 1/k\_m \\] + +\begin{equation\*} + \mu^s(M) \triangleq 1/k\_m +\end{equation\*}
@@ -3598,10 +4300,11 @@ To test for RP, we first "pull out" the uncertain perturbations and rearrange th Our RP-requirement, is that the \\(\hinf\\) norm of the transfer function \\(F = F\_u(N, \Delta)\\) remains less than \\(1\\) for all allowed perturbations. This may be tested exactly by computing \\(\mu(N)\\). -
+
-Rearrange the uncertain system into the \\(N\Delta\text{-structure}\\). Assume nominal stability such that \\(N\\) is stable. +Rearrange the uncertain system into the \\(N\Delta\text{-structure}\\). +Assume nominal stability such that \\(N\\) is stable. Then \begin{align\*} @@ -3610,7 +4313,14 @@ Then \end{align\*} where \\(\mu\\) is computed with respect to the structure -\\[ \hat{\Delta} = \begin{bmatrix}\Delta & 0 \\ 0 & \Delta\_P\end{bmatrix} \\] + +\begin{equation\*} + \hat{\Delta} = \begin{bmatrix} + \Delta & 0 \\\\\\ + 0 & \Delta\_P + \end{bmatrix} +\end{equation\*} + and \\(\Delta\_P\\) is a full complex perturbation with the same dimensions as \\(F^T\\).
@@ -3625,19 +4335,26 @@ Some remarks on the theorem: #### Summary of \\(\mu\text{-conditions}\\) for NP, RS and RP {#summary-of--mu-text-conditions--for-np-rs-and-rp} -
+
Rearrange the uncertain system into the \\(N\Delta\text{-structure}\\) where the block-diagonal perturbation satisfy \\(\hnorm{\Delta} \le 1\\). Introduce -\\[ F = F\_u(N, \Delta) = N\_{22} + N\_{21}\Delta(I - N\_{11} \Delta)^{-1} N\_{12} \\] + +\begin{equation\*} + F = F\_u(N, \Delta) = N\_{22} + N\_{21}\Delta(I - N\_{11} \Delta)^{-1} N\_{12} +\end{equation\*} + Let the performance requirement be \\(\hnorm{F} \le 1\\). \begin{align\*} \text{NS} \ &\Leftrightarrow \ N \text{ (internally) stable} \\\\\\ \text{NP} \ &\Leftrightarrow \ \text{NS and } \maxsv(N\_{22}) = \mu\_{\Delta\_P} < 1, \ \forall\w \\\\\\ \text{RS} \ &\Leftrightarrow \ \text{NS and } \mu\_\Delta(N\_{11}) < 1, \ \forall\w \\\\\\ - \text{RP} \ &\Leftrightarrow \ \text{NS and } \mu\_{\tilde{\Delta}}(N) < 1, \ \forall\w, \ \tilde{\Delta} = \begin{bmatrix}\Delta & 0 \\ 0 & \Delta\_P\end{bmatrix} + \text{RP} \ &\Leftrightarrow \ \text{NS and } \mu\_{\tilde{\Delta}}(N) < 1, \ \forall\w, \ \tilde{\Delta} = \begin{bmatrix} + \Delta & 0 \\\\\\ + 0 & \Delta\_P + \end{bmatrix} \end{align\*}
@@ -3668,22 +4385,39 @@ So \\(\mu\\) does not directly give us the worst-case performance \\(\max\_{\Del To find the worst-case weighted performance for a given uncertainty, one needs to keep the magnitude of the perturbation fixed (\\(\maxsv(\Delta) \le 1\\)), that is, **we must compute the skewed-\\(\mu\\)** of \\(N\\). We have, in this case -\\[ \max\_{\maxsv(\Delta) \le 1} \maxsv(F\_l(N, \Delta)(j\w)) = \mu^s (N(j\w)) \\] + +\begin{equation\*} + \max\_{\maxsv(\Delta) \le 1} \maxsv(F\_l(N, \Delta)(j\w)) = \mu^s (N(j\w)) +\end{equation\*} To find \\(\mu^s\\) numerically, we scale the performance part of \\(N\\) by a factor \\(k\_m = 1/\mu^s\\) and iterate on \\(k\_m\\) until \\(\mu = 1\\). That is, at each frequency skewed-\\(\mu\\) is the value \\(\mu^s(N)\\) which solves -\\[ \mu(K\_mN) = 1, \quad K\_m = \begin{bmatrix}I & 0 \\ 0 & 1/\mu^s\end{bmatrix} \\] + +\begin{equation\*} + \mu(K\_mN) = 1, \quad K\_m = \begin{bmatrix} + I & 0 \\\\\\ + 0 & 1/\mu^s + \end{bmatrix} +\end{equation\*} + Note that \\(\mu\\) underestimate how bad or good the actual worst case performance is. This follows because \\(\mu^s(N)\\) is always further from 1 than \\(\mu(N)\\). ### Application: RP with Input Uncertainty {#application-rp-with-input-uncertainty} -We will now consider in some detail the case of multiplicative input uncertainty with performance defined in terms of weighted sensitivity (Fig. [fig:input_uncertainty_set_feedback_weight](#fig:input_uncertainty_set_feedback_weight)). +We will now consider in some detail the case of multiplicative input uncertainty with performance defined in terms of weighted sensitivity (Fig. [29](#org4f9f011)). The performance requirement is then -\\[ \text{RP} \quad \stackrel{\text{def}}{\Longleftrightarrow} \quad \hnorm{w\_P (I + G\_p K)^{-1}} < 1, \quad \forall G\_p \\] + +\begin{equation\*} + \text{RP} \quad \stackrel{\text{def}}{\Longleftrightarrow} \quad \hnorm{w\_P (I + G\_p K)^{-1}} < 1, \quad \forall G\_p +\end{equation\*} + where the set of plant is given by -\\[ G\_p = G (I + w\_I \Delta\_I), \quad \hnorm{\Delta\_I} \le 1 \\] + +\begin{equation\*} + G\_p = G (I + w\_I \Delta\_I), \quad \hnorm{\Delta\_I} \le 1 +\end{equation\*} Here \\(w\_p(s)\\) and \\(w\_I(s)\\) are scalar weights, so the performance objective is the same for all the outputs, and the uncertainty is the same for all the inputs. @@ -3700,8 +4434,11 @@ In this section, we will: On rearranging the system into the \\(N\Delta\text{-structure}\\), we get -\begin{equation} - N = \begin{bmatrix} - w\_I T\_I & - w\_I K S \\ w\_p S G & w\_p S \end{bmatrix} +\begin{equation} \label{eq:n\_delta\_structure\_clasic} + N = \begin{bmatrix} + - w\_I T\_I & - w\_I K S \\\\\\ + w\_p S G & w\_p S + \end{bmatrix} \end{equation} where \\(T\_I = KG(I + KG)^{-1}\\), \\(S = (I + GK)^{-1}\\). @@ -3724,24 +4461,47 @@ For a SISO system with \\(N\\) as described above: Robust performance optimization, in terms of weighted sensitivity with multiplicative uncertainty for a SISO system, thus involves minimizing the peak value of \\(\mu(N) = |w\_I T| + |w\_P S|\\). This may be solved using DK-iteration. A closely related problem, which is easier to solve is to minimize the peak value (\\(\mathcal{H}\_\infty\\) norm) of the mixed sensitivity matrix: -\\[ N\_\text{mix} = \begin{bmatrix} w\_P S \\ w\_I T \end{bmatrix} \\] -At each frequency, \\(\mu(N)\\) differs from and \\(\bar{\sigma}(N\_\text{mix})\\) by at most a factor \\(\sqrt{2}\\). +\begin{equation\*} + N\_\text{mix} = \begin{bmatrix} + w\_P S \\\\\\ + w\_I T + \end{bmatrix} +\end{equation\*} + +At each frequency, \\(\mu(N)\\) differs from and \\(\overline{\sigma}(N\_\text{mix})\\) by at most a factor \\(\sqrt{2}\\). Thus, minimizing \\(\\| N\_\text{mix} \\|\_\infty\\) is close to optimizing robust performance in terms of \\(\mu(N)\\). #### Robust Performance for \\(2 \times 2\\) Distillation Process {#robust-performance-for--2-times-2--distillation-process} Consider a distillation process and a corresponding inverse-based controller: -\\[ G(s) = \frac{1}{75s + 1} \begin{bmatrix} 87.8 & -86.4 \\ 108.2 & -109.6 \end{bmatrix} ; \quad K(s) = \frac{0.7}{s} G(s)^{-1} \\] + +\begin{equation\*} + G(s) = \frac{1}{75s + 1} \begin{bmatrix} + 87.8 & -86.4 \\\\\\ + 108.2 & -109.6 + \end{bmatrix} ; + \quad K(s) = \frac{0.7}{s} G(s)^{-1} +\end{equation\*} The controller provides a nominally decoupled system: -\\[ L = l I,\ S = \epsilon I \text{ and } T = t I \\] + +\begin{equation\*} + L = l I,\ S = \epsilon I \text{ and } T = t I +\end{equation\*} + where -\\[ l = \frac{0.7}{s}, \ \epsilon = \frac{s}{s + 0.7}, \ t = \frac{0.7}{s + 0.7} \\] + +\begin{equation\*} + l = \frac{0.7}{s}, \ \epsilon = \frac{s}{s + 0.7}, \ t = \frac{0.7}{s + 0.7} +\end{equation\*} The following weights for uncertainty and performance are used: -\\[ w\_I(s) = \frac{s + 0.2}{0.5s + 1}; \quad w\_P(s) = \frac{s/2 + 0.05}{s} \\] + +\begin{equation\*} + w\_I(s) = \frac{s + 0.2}{0.5s + 1}; \quad w\_P(s) = \frac{s/2 + 0.05}{s} +\end{equation\*} We now test for NS, NP, RS and RP. @@ -3754,10 +4514,14 @@ with \\(G\\) and \\(K\\) as defined, we find that \\(S\\), \\(SG\\), \\(KS\\) an ##### NP {#np} with the decoupling controller we have: -\\[ \bar{\sigma}(N\_{22}) = \bar{\sigma}(w\_P S) = \left|\frac{s/2 + 0.05}{s + 0.7}\right| \\] -and we see from Fig. [fig:mu_plots_distillation](#fig:mu_plots_distillation) that the NP-condition is satisfied. - +\begin{equation\*} + \overline{\sigma}(N\_{22}) = \overline{\sigma}(w\_P S) = \left|\frac{s/2 + 0.05}{s + 0.7}\right| +\end{equation\*} + +and we see from Fig. [32](#org7d3694a) that the NP-condition is satisfied. + + {{< figure src="/ox-hugo/skogestad07_mu_plots_distillation.png" caption="Figure 32: \\(\mu\text{-plots}\\) for distillation process with decoupling controller" >}} @@ -3765,8 +4529,12 @@ and we see from Fig. [fig:mu_plots_distillation](#fig:mu_plots_distillation ##### RS {#rs} In this case \\(w\_I T\_I = w\_I T\\) is a scalar times the identity matrix: -\\[ \mu\_{\Delta\_I}(w\_I T\_I) = |w\_I t| = \left|0.2 \frac{5s + 1}{(0.5s + 1)(1.43s + 1)}\right| \\] -and we see from Fig. [fig:mu_plots_distillation](#fig:mu_plots_distillation) that RS is satisfied. + +\begin{equation\*} + \mu\_{\Delta\_I}(w\_I T\_I) = |w\_I t| = \left|0.2 \frac{5s + 1}{(0.5s + 1)(1.43s + 1)}\right| +\end{equation\*} + +and we see from Fig. [32](#org7d3694a) that RS is satisfied. The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may increase the uncertainty by a factor of \\(1/0.53 = 1.89\\) before the worst case uncertainty yields instability. @@ -3774,7 +4542,7 @@ The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may in ##### RP {#rp} Although the system has good robustness margins and excellent nominal performance, the robust performance is poor. -This is shown in Fig. [fig:mu_plots_distillation](#fig:mu_plots_distillation) where the \\(\mu\text{-curve}\\) for RP was computed numerically using \\(\mu\_{\hat{\Delta}}(N)\\), with \\(\hat{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\) and \\(\Delta\_I = \text{diag}\\{\delta\_1, \delta\_2\\}\\). +This is shown in Fig. [32](#org7d3694a) where the \\(\mu\text{-curve}\\) for RP was computed numerically using \\(\mu\_{\hat{\Delta}}(N)\\), with \\(\hat{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\) and \\(\Delta\_I = \text{diag}\\{\delta\_1, \delta\_2\\}\\). The peak value is close to 6, meaning that even with 6 times less uncertainty, the weighted sensitivity will be about 6 times larger than what we require. @@ -3783,9 +4551,16 @@ The peak value is close to 6, meaning that even with 6 times less uncertainty, t We here consider the relationship between \\(\mu\\) for RP and the condition number of the plant or of the controller. We consider unstructured multiplicative uncertainty (i.e. \\(\Delta\_I\\) is a full matrix) and performance is measured in terms of the weighted sensitivity. With \\(N\\) given by \eqref{eq:n_delta_structure_clasic}, we have: -\\[ \overbrace{\mu\_{\tilde{\Delta}}(N)}^{\text{RP}} \le [ \overbrace{\bar{\sigma}(w\_I T\_I)}^{\text{RS}} + \overbrace{\bar{\sigma}(w\_P S)}^{\text{NP}} ] (1 + \sqrt{k}) \\] + +\begin{equation\*} + \overbrace{\mu\_{\tilde{\Delta}}(N)}^{\text{RP}} \le [ \overbrace{\overline{\sigma}(w\_I T\_I)}^{\text{RS}} + \overbrace{\overline{\sigma}(w\_P S)}^{\text{NP}} ] (1 + \sqrt{k}) +\end{equation\*} + where \\(k\\) is taken as the smallest value between the condition number of the plant and of the controller: -\\[ k = \text{min}(\gamma(G), \gamma(K)) \\] + +\begin{equation\*} + k = \text{min}(\gamma(G), \gamma(K)) +\end{equation\*} We see that with a "round" controller (i.e. one with \\(\gamma(K) = 1\\)), there is less sensitivity to uncertainty. On the other hand, we would expect \\(\mu\\) for RP to be large if we used an inverse-based controller for a plant with large condition number, since then \\(\gamma(K) = \gamma(G)\\) is large. @@ -3795,10 +4570,27 @@ On the other hand, we would expect \\(\mu\\) for RP to be large if we used an in Consider output multiplicative uncertainty of magnitude \\(w\_O(j\omega)\\). In this case, we get the interconnection matrix -\\[ N = \begin{bmatrix} w\_O T & w\_O T \\ w\_P S & w\_P S \end{bmatrix} \\] + +\begin{equation\*} + N = \begin{bmatrix} + w\_O T & w\_O T \\\\\\ + w\_P S & w\_P S + \end{bmatrix} +\end{equation\*} + and for any structure of the uncertainty, \\(\mu(N)\\) is bounded as follows: -\\[ \bar{\sigma}\begin{bmatrix} w\_O T \\ w\_P S\end{bmatrix} \le \overbrace{\mu(N)}^{\text{RP}} \le \sqrt{2}\ \bar{\sigma} \overbrace{\underbrace{\begin{bmatrix} w\_O T \\ w\_P S \end{bmatrix}}\_{\text{NP}}}^{\text{RS}} \\] -This follows since the uncertainty and performance blocks both enter at the output and that the difference between bounding the combined perturbations \\(\bar{\sigma}[\Delta\_O \ \Delta\_P]\\) and the individual perturbations \\(\bar{\sigma}(\Delta\_O)\\) and \\(\bar{\sigma}(\Delta\_P)\\) is at most a factor \\(\sqrt{2}\\). + +\begin{equation\*} + \overline{\sigma}\begin{bmatrix} + w\_O T \\\\\\ + w\_P S + \end{bmatrix} \le \overbrace{\mu(N)}^{\text{RP}} \le \sqrt{2}\ \overline{\sigma} \overbrace{\underbrace{\begin{bmatrix} + w\_O T \\\\\\ + w\_P S + \end{bmatrix}}\_{\text{NP}}}^{\text{RS}} +\end{equation\*} + +This follows since the uncertainty and performance blocks both enter at the output and that the difference between bounding the combined perturbations \\(\overline{\sigma}[\Delta\_O \ \Delta\_P]\\) and the individual perturbations \\(\overline{\sigma}(\Delta\_O)\\) and \\(\overline{\sigma}(\Delta\_P)\\) is at most a factor \\(\sqrt{2}\\). Thus, we "automatically" achieve RP if we satisfy separately NP and RS. Multiplicative output uncertainty then poses no particular problem for performance. @@ -3816,13 +4608,13 @@ It combines \\(\hinf\\) synthesis and \\(\mu\text{-analysis}\\) and often yields The starting point is the upper bound on \\(\mu\\) in terms of the scaled singular value -\begin{equation} +\begin{equation} \label{eq:upper\_bound\_mu} \mu(N) \le \min\_{D \in \mathcal{D}} \maxsv(D N D^{-1}) \end{equation} The idea is to find the controller that minimizes the peak value over frequency of this upper bound, namely -\begin{equation} +\begin{equation} \label{eq:min\_peak\_value\_scale\_sv} \min\_{K} \left( \min\_{D \in \mathcal{D}} \hnorm{D N(K) D^{-1} } \right) \end{equation} @@ -3831,9 +4623,11 @@ by alternating between minimizing \\(\hnorm{DN(K)D^{-1}}\\) with respect to eith To start the iterations, one selects an initial stable rational transfer matrix \\(D(s)\\) with appropriate structure. The identity matrix is often a good initial choice for \\(D\\) provided the system has been reasonably scaled for performance.
-
+
+**DK-Procedure**: + 1. **K-step**. Synthesize an \\(\hinf\\) controller for the scaled problem, \\(\min\_{K} \hnorm{DN(K)D^{-1}}\\) with fixed \\(D(s)\\) 2. **D-step**. Find \\(D(j\w)\\) to minimize at each frequency \\(\maxsv(DND^{-1}(j\w))\\) with fixed \\(N\\) 3. Fit the magnitude of each element of \\(D(j\w)\\) to a stable and minimum phase transfer function \\(D(s)\\) and go to step 1 @@ -3859,10 +4653,18 @@ In \\(\mu\text{-synthesis}\\), the designer will usually adjust some parameter i Sometimes, uncertainty is fixed and we effectively optimize worst-cast performance by adjusting a parameter in the performance weight. Consider the performance weight -\\[ w\_p(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A} \\] + +\begin{equation\*} + w\_p(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A} +\end{equation\*} + where we want to keep \\(M\\) constant and find the high achievable bandwidth frequency \\(\w\_B^\*\\). The optimization problem becomes -\\[ \text{max} \abs{\w\_B^\*} \quad \text{such that} \quad \mu(N) < 1, \ \forall\w \\] + +\begin{equation\*} + \text{max} \abs{\w\_B^\*} \quad \text{such that} \quad \mu(N) < 1, \ \forall\w +\end{equation\*} + where \\(N\\), the interconnection matrix for the RP-problem, depends on \\(\w\_B^\*\\). This may be implemented as an **outer loop around the DK-iteration**. @@ -3878,9 +4680,9 @@ The latter is an attempt to "flatten out" \\(\mu\\). #### Example: \\(\mu\text{-synthesis}\\) with DK-iteration {#example--mu-text-synthesis--with-dk-iteration} For simplicity, we will consider again the case of multiplicative uncertainty and performance defined in terms of weighted sensitivity. -The uncertainty weight \\(w\_I I\\) and performance weight \\(w\_P I\\) are shown graphically in Fig. [fig:weights_distillation](#fig:weights_distillation). +The uncertainty weight \\(w\_I I\\) and performance weight \\(w\_P I\\) are shown graphically in Fig. [33](#org3040e0c). - + {{< figure src="/ox-hugo/skogestad07_weights_distillation.png" caption="Figure 33: Uncertainty and performance weights" >}} @@ -3894,8 +4696,8 @@ The scaling matrix \\(D\\) for \\(DND^{-1}\\) then has the structure \\(D = \tex - Iteration No. 1. Step 1: with the initial scalings, the \\(\mathcal{H}\_\infty\\) synthesis produced a 6 state controller (2 states from the plant model and 2 from each of the weights). - Step 2: the upper \\(\mu\text{-bound}\\) is shown in Fig. [fig:dk_iter_mu](#fig:dk_iter_mu). - Step 3: the frequency dependent \\(d\_1(\omega)\\) and \\(d\_2(\omega)\\) from step 2 are fitted using a 4th order transfer function shown in Fig. [fig:dk_iter_d_scale](#fig:dk_iter_d_scale) + Step 2: the upper \\(\mu\text{-bound}\\) is shown in Fig. [34](#orgfced99f). + Step 3: the frequency dependent \\(d\_1(\omega)\\) and \\(d\_2(\omega)\\) from step 2 are fitted using a 4th order transfer function shown in Fig. [35](#org462af49) - Iteration No. 2. Step 1: with the 8 state scalings \\(D^1(s)\\), the \\(\mathcal{H}\_\infty\\) synthesis gives a 22 state controller. Step 2: This controller gives a peak value of \\(\mu\\) of \\(1.02\\). @@ -3903,27 +4705,27 @@ The scaling matrix \\(D\\) for \\(DND^{-1}\\) then has the structure \\(D = \tex - Iteration No. 3. Step 1: The \\(\mathcal{H}\_\infty\\) norm is only slightly reduced. We thus decide the stop the iterations. - + {{< figure src="/ox-hugo/skogestad07_dk_iter_mu.png" caption="Figure 34: Change in \\(\mu\\) during DK-iteration" >}} - + {{< figure src="/ox-hugo/skogestad07_dk_iter_d_scale.png" caption="Figure 35: Change in D-scale \\(d\_1\\) during DK-iteration" >}} -The final \\(\mu\text{-curves}\\) for NP, RS and RP with the controller \\(K\_3\\) are shown in Fig. [fig:mu_plot_optimal_k3](#fig:mu_plot_optimal_k3). +The final \\(\mu\text{-curves}\\) for NP, RS and RP with the controller \\(K\_3\\) are shown in Fig. [36](#org75929f1). The objectives of RS and NP are easily satisfied. -The peak value of \\(\mu\\) is just slightly over 1, so the performance specification \\(\bar{\sigma}(w\_P S\_p) < 1\\) is almost satisfied for all possible plants. +The peak value of \\(\mu\\) is just slightly over 1, so the performance specification \\(\overline{\sigma}(w\_P S\_p) < 1\\) is almost satisfied for all possible plants. - + {{< figure src="/ox-hugo/skogestad07_mu_plot_optimal_k3.png" caption="Figure 36: \\(mu\text{-plots}\\) with \\(\mu\\) \"optimal\" controller \\(K\_3\\)" >}} -To confirm that, 6 perturbed plants are used to compute the perturbed sensitivity functions shown in Fig. [fig:perturb_s_k3](#fig:perturb_s_k3). +To confirm that, 6 perturbed plants are used to compute the perturbed sensitivity functions shown in Fig. [37](#org73cb573). - + -{{< figure src="/ox-hugo/skogestad07_perturb_s_k3.png" caption="Figure 37: Perturbed sensitivity functions \\(\bar{\sigma}(S^\prime)\\) using \\(\mu\\) \"optimal\" controller \\(K\_3\\). Lower solid line: nominal plant. Upper solid line: worst-case plant" >}} +{{< figure src="/ox-hugo/skogestad07_perturb_s_k3.png" caption="Figure 37: Perturbed sensitivity functions \\(\overline{\sigma}(S^\prime)\\) using \\(\mu\\) \"optimal\" controller \\(K\_3\\). Lower solid line: nominal plant. Upper solid line: worst-case plant" >}} ### Further Remarks on \\(\mu\\) {#further-remarks-on--mu} @@ -3939,15 +4741,27 @@ We have discussed how to represent uncertainty and how to analyze its effect on To analyze robust stability of an uncertain system, we make use of the \\(M\Delta\text{-structure}\\) where \\(M\\) represents the transfer function for the "new" feedback part generated by the uncertainty. From the small gain theorem -\\[ \tcmbox{RS \quad \Leftarrow \quad \maxsv(M) < 1, \ \forall\w} \\] + +\begin{equation\*} + \tcmbox{RS \quad \Leftarrow \quad \maxsv(M) < 1, \ \forall\w} +\end{equation\*} + which is tight (necessary and sufficient) for the special case where at each frequency any complex \\(\Delta\\) satisfying \\(\maxsv(\Delta) \le 1\\) is allowed. More generally, the **tight condition is** -\\[ \tcmbox{RP \quad \Leftrightarrow \quad \mu(M) < 1, \ \forall\w} \\] + +\begin{equation\*} + \tcmbox{RP \quad \Leftrightarrow \quad \mu(M) < 1, \ \forall\w} +\end{equation\*} + where \\(\mu(M)\\) is the **structured singular value**. The calculation of \\(\mu\\) makes use of the fact that \\(\Delta\\) has a given block-diagonal structure, where certain blocks may also be real (e.g. to handle parametric uncertainty).
We defined robust performance as \\(\hnorm{F\_l(N, \Delta)} < 1\\) for all allowed \\(\Delta\\). Since we used the \\(\hinf\\) norm in both the representation of uncertainty and the definition of performance, we found that RP could be viewed as a special case of RS, and we derived -\\[ \tcmbox{RS \quad \Leftrightarrow \quad \mu(N) < 1, \ \forall\w} \\] + +\begin{equation\*} + \tcmbox{RS \quad \Leftrightarrow \quad \mu(N) < 1, \ \forall\w} +\end{equation\*} + where \\(\mu\\) is computed with respect to the **block-diagonal structure** \\(\diag{\Delta, \Delta\_P}\\). Here \\(\Delta\\) represents the uncertainty and \\(\Delta\_P\\) is a fictitious full uncertainty block representing the \\(\hinf\\) performance bound.
@@ -3976,7 +4790,7 @@ If resulting control performance is not satisfactory, one may switch to the seco ## Controller Design {#controller-design} - + ### Trade-offs in MIMO Feedback Design {#trade-offs-in-mimo-feedback-design} @@ -3986,23 +4800,23 @@ By multivariable transfer function shaping, therefore, we mean the shaping of th The classical loop-shaping ideas can be further generalized to MIMO systems by considering the singular values. -Consider the one degree-of-freedom system as shown in Fig. [fig:classical_feedback_small](#fig:classical_feedback_small). +Consider the one degree-of-freedom system as shown in Fig. [38](#org86eebc5). We have the following important relationships: -\begin{subequations} - \begin{align} - y(s) &= T(s) r(s) + S(s) d(s) - T(s) n(s) \\\\\\ - u(s) &= K(s) S(s) \big(r(s) - n(s) - d(s) \big) - \end{align} -\end{subequations} +\begin{align} + y(s) &= T(s) r(s) + S(s) d(s) - T(s) n(s) \\\\\\ + u(s) &= K(s) S(s) \big(r(s) - n(s) - d(s) \big) +\end{align} - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_small.png" caption="Figure 38: One degree-of-freedom feedback configuration" >}} -
+
+**Typical Closed-Loop Objectives**: + 1. For disturbance rejection make \\(\maxsv(S)\\) small 2. For noise attenuation make \\(\maxsv(T)\\) small 3. For reference tracking make \\(\maxsv(T) \approx \minsv(T) \approx 1\\) @@ -4018,15 +4832,21 @@ This is not always as difficult as it sounds because the frequency range over wh In classical loop shaping, it is the magnitude of the open-loop transfer function \\(L = GK\\) which is shaped, whereas the above requirements are all in terms of closed-loop transfer functions. However, we have that -\\[ \minsv(L) - 1 \le \frac{1}{\maxsv(S)} \le \minsv(L) + 1 \\] + +\begin{equation\*} + \minsv(L) - 1 \le \frac{1}{\maxsv(S)} \le \minsv(L) + 1 +\end{equation\*} + from which we see that \\(\maxsv(S) \approx 1/\minsv(L)\\) at frequencies where \\(\minsv(L)\\) is much larger than \\(1\\). Furthermore, from \\(T = L(I+L)^{-1}\\) it follows that \\(\maxsv(T) \approx \maxsv(L)\\) at frequencies where \\(\maxsv(L)\\) is much smaller than \\(1\\). Thus, over specified frequency ranges, it is relatively easy to approximate the closed-loop requirements by open-loop objectives. -
+
+**Typical Open-Loop Objectives**: + 1. For disturbance rejection make \\(\minsv(GK)\\) large 2. For noise attenuation make \\(\maxsv(GK)\\) small 3. For reference tracking make \\(\minsv(GK)\\) large @@ -4036,9 +4856,9 @@ Thus, over specified frequency ranges, it is relatively easy to approximate the
-Typically, the open-loop requirements 1 and 3 are valid and important at low frequencies \\(0 \le \omega \le \omega\_l \le \omega\_B\\), while conditions 2, 4, 5 and 6 are conditions which are valid and important at high frequencies \\(\omega\_B \le \omega\_h \le \omega \le \infty\\), as illustrated in Fig. [fig:design_trade_off_mimo_gk](#fig:design_trade_off_mimo_gk). +Typically, the open-loop requirements 1 and 3 are valid and important at low frequencies \\(0 \le \omega \le \omega\_l \le \omega\_B\\), while conditions 2, 4, 5 and 6 are conditions which are valid and important at high frequencies \\(\omega\_B \le \omega\_h \le \omega \le \infty\\), as illustrated in Fig. [39](#org4fadbbc). - + {{< figure src="/ox-hugo/skogestad07_design_trade_off_mimo_gk.png" caption="Figure 39: Design trade-offs for the multivariable loop transfer function \\(GK\\)" >}} @@ -4068,11 +4888,15 @@ It is assumed that the plant dynamics are linear and known, and that the measure with \\(w\_d\\) and \\(w\_n\\) are the disturbance and measurement noise which are assumed to be uncorrelated zero-mean Gaussian stochastic processes with constant power spectral density matrices \\(W\\) and \\(V\\) respectively. -
+
-The LQG control problem is to find the optimal control \\(u(t)\\) that minimize: -\\[J = E \bigg\\{ \lim\_{T\rightarrow \infty} \frac{1}{T} \int\_0^T \big[ x^T Q x + u^T R u \big] dt \bigg\\} \\] +The **LQG control problem** is to find the optimal control \\(u(t)\\) that minimize: + +\begin{equation\*} + J = E \bigg\\{ \lim\_{T\rightarrow \infty} \frac{1}{T} \int\_0^T \big[ x^T Q x + u^T R u \big] dt \bigg\\} +\end{equation\*} + Where \\(Q\\) and \\(R\\) are appropriately chosen constant **weighting matrices** (design parameters) such that \\(Q = Q^T \ge 0\\) and \\(R = R^T > 0\\).
@@ -4082,7 +4906,7 @@ The solution to the LQG problem, known as the **Separation Theorem**, is separat It consists of first determining the **optimal control** to a deterministic **LQR problem** (LQG without \\(w\_d\\) and \\(w\_n\\)). The solution to this problem is a state feedback law -\begin{equation} +\begin{equation} \label{eq:lqr\_state\_feedback} \tcmbox{u(t) = -K\_r x(t)} \end{equation} @@ -4093,80 +4917,82 @@ The optimal state estimate is given by a **Kalman filter**. The solution to the LQG problem is then found by replacing \\(x\\) by \\(\hat{x}\\) to give \\(u(t) = -K\_r \hat{x}\\). -We therefore see that the LQG problem and its solution can be separated into two distinct parts as illustrated in Fig. [fig:lqg_separation](#fig:lqg_separation): the optimal state feedback and the optimal state estimator (the Kalman filter). +We therefore see that the LQG problem and its solution can be separated into two distinct parts as illustrated in Fig. [40](#orgc60d97c): the optimal state feedback and the optimal state estimator (the Kalman filter). - + {{< figure src="/ox-hugo/skogestad07_lqg_separation.png" caption="Figure 40: The separation theorem" >}} -
+
+**Optimal State Feedback**: + The LQR problem, where all the states are known is to find the input signal \\(u(t)\\) that takes the system \\(\dot{x} = Ax+Bu\\) to the zero state (\\(x=0\\)) by minimizing the deterministic cost -\begin{equation} +\begin{equation} \label{eq:lqr\_cost} J\_r = \int\_0^\infty \big( x(t)^T Q x(t) + u(t)^T R u(t) \big) dt \end{equation} The optimal solution is \\(u=-K\_r x(t)\\) with -\begin{equation} +\begin{equation} \label{eq:lqr\_optimal\_sol} K\_r = R^{-1} B^T X \end{equation} and \\(X\\) is the unique positive-semi definite solution of the algebraic Riccati equation: -\begin{equation} +\begin{equation} \label{eq:lqr\_riccati} A^T X + X A - XBR^{-1}B^TX + Q = 0 \end{equation}
-
+
-The Kalman filter has the structure of an ordinary state-estimator, as shown on Fig. [fig:lqg_kalman_filter](#fig:lqg_kalman_filter), with: +The **Kalman filter** has the structure of an ordinary state-estimator, as shown on Fig. [41](#org4105277), with: -\begin{equation} +\begin{equation} \label{eq:kalman\_filter\_structure} \dot{\hat{x}} = A\hat{x} + Bu + K\_f(y-C\hat{x}) \end{equation} The optimal choice of \\(K\_f\\), which minimize \\(E \big\\{ [x-\hat{x}]^T [x-\hat{x}] \big\\}\\) is given by -\begin{equation} +\begin{equation} \label{eq:kalman\_filter\_optimal} K\_f = Y C^T V^{-1} \end{equation} Where \\(Y\\) is the unique positive-semi definite solution of the algebraic Riccati equation -\begin{equation} +\begin{equation} \label{eq:kalman\_filter\_riccati} YA^T + AY - YC^TV^{-1}CY + W = 0 \end{equation}
- + {{< figure src="/ox-hugo/skogestad07_lqg_kalman_filter.png" caption="Figure 41: The LQG controller and noisy plant" >}} -The structure of the LQG controller is illustrated in Fig. [fig:lqg_kalman_filter](#fig:lqg_kalman_filter), its transfer function from \\(y\\) to \\(u\\) is given by +The structure of the LQG controller is illustrated in Fig. [41](#org4105277), its transfer function from \\(y\\) to \\(u\\) is given by \begin{align\*} L\_{\text{LQG}}(s) &= \left[ \begin{array}{c|c} - A - B K\_r - K\_f C & K\_f \\ \hline + A - B K\_r - K\_f C & K\_f \cr \hline -K\_r & 0 \end{array} \right] \\\\\\ &= \left[ \begin{array}{c|c} - A - B R^{-1} B^T X - Y C^T V^{-1} C & Y C^T V^{-1} \\ \hline + A - B R^{-1} B^T X - Y C^T V^{-1} C & Y C^T V^{-1} \cr \hline -R^{-1} B^T X & 0 \end{array} \right] \end{align\*} It has the same degree (number of poles) as the plant.
-For the LQG-controller, as shown on Fig. [fig:lqg_kalman_filter](#fig:lqg_kalman_filter), it is not easy to see where to position the reference input \\(r\\) and how integral action may be included, if desired. Indeed, the standard LQG design procedure does not give a controller with integral action. One strategy is illustrated in Fig. [fig:lqg_integral](#fig:lqg_integral). Here, the control error \\(r-y\\) is integrated and the regulator \\(K\_r\\) is designed for the plant augmented with these integral states. +For the LQG-controller, as shown on Fig. [41](#org4105277), it is not easy to see where to position the reference input \\(r\\) and how integral action may be included, if desired. Indeed, the standard LQG design procedure does not give a controller with integral action. One strategy is illustrated in Fig. [42](#org7d807ad). Here, the control error \\(r-y\\) is integrated and the regulator \\(K\_r\\) is designed for the plant augmented with these integral states. - + {{< figure src="/ox-hugo/skogestad07_lqg_integral.png" caption="Figure 42: LQG controller with integral action and reference input" >}} @@ -4179,36 +5005,46 @@ Their main limitation is that they can only be applied to minimum phase plants. ### \\(\htwo\\) and \\(\hinf\\) Control {#htwo--and--hinf--control} - + #### General Control Problem Formulation {#general-control-problem-formulation} - + There are many ways in which feedback design problems can be cast as \\(\htwo\\) and \\(\hinf\\) optimization problems. It is very useful therefore to have a **standard problem formulation** into which any particular problem may be manipulated. -Such a general formulation is afforded by the general configuration shown in Fig. [fig:general_control](#fig:general_control). +Such a general formulation is afforded by the general configuration shown in Fig. [43](#orgb9feed3). - + {{< figure src="/ox-hugo/skogestad07_general_control.png" caption="Figure 43: General control configuration" >}} The system is described by -\begin{subequations} - \begin{align} - \colvec{z\\v} &= P(s) \colvec{w\\u} = \begin{bmatrix}P\_{11}(s) & P\_{12}(s)\\ P\_{21}(s) & P\_{22}(s) \end{bmatrix} \colvec{w\\u}\\\\\\ - u &= K(s) v - \end{align} -\end{subequations} +\begin{align} + \begin{bmatrix} + z \\\\\\ + v + \end{bmatrix} &= P(s) \begin{bmatrix} + w \\\\\\ + u + \end{bmatrix} = \begin{bmatrix} + P\_{11}(s) & P\_{12}(s) \\\\\\ + P\_{21}(s) & P\_{22}(s) + \end{bmatrix} \begin{bmatrix} + w \\\\\\ + u + \end{bmatrix}\\\\\\ + u &= K(s) v +\end{align} With a state space realization of the generalized plant \\(P\\) given by \begin{equation} P = \left[ \begin{array}{c|cc} - A & B\_1 & B\_2 \\\\\\ + A & B\_1 & B\_2 \cr \hline C\_1 & D\_{11} & D\_{12} \\\\\\ C\_2 & D\_{21} & D\_{22} @@ -4233,7 +5069,7 @@ The following **assumptions** are typically made in \\(\htwo\\) and \\(\hinf\\) This is required for the existence of stabilizing controllers 2. \\(D\_{12}\\) and \\(D\_{21}\\) have full rank. This is sufficient to ensure that the controllers are proper -3. \\(\begin{bmatrix} A-j\w I & B\_2 \\ C\_1 & D\_{12} \end{bmatrix}\\) and \\(\begin{bmatrix} A-j\w I & B\_1 \\ C\_2 & D\_{21} \end{bmatrix}\\) have respectively full column and full row rank for all \\(\w\\). +3. \\(\begin{bmatrix} A-j\w I & B\_2 \cr C\_1 & D\_{12} \end{bmatrix}\\) and \\(\begin{bmatrix} A-j\w I & B\_1 \cr C\_2 & D\_{21} \end{bmatrix}\\) have respectively full column and full row rank for all \\(\w\\). This ensures that the controller does not cancel poles or zeros in the imaginary axis which would result in closed-loop instability 4. \\(D\_{11} = 0\\) and \\(D\_{22} = 0\\) is a conventional requirement for \\(\htwo\\) control. This is not required for \\(\hinf\\) control but this significantly simplify algorithm formulas @@ -4249,11 +5085,15 @@ This contrasts with \\(\htwo\\) theory, in which the optimal controller is **uni #### \\(\htwo\\) Optimal Control {#htwo--optimal-control} -
+
The standard \\(\htwo\\) optimal control problem is to find a stabilizing controller \\(K\\) which minimizes -\\[\normtwo{F(s)} = \sqrt{\frac{1}{2\pi}\int\_{-\infty}^{\infty} tr[F(j\w)F(j\w)^H]d\w }\\] + +\begin{equation\*} + \normtwo{F(s)} = \sqrt{\frac{1}{2\pi}\int\_{-\infty}^{\infty} tr[F(j\w)F(j\w)^H]d\w } +\end{equation\*} + With \\(F = F\_l(P, K)\\).
@@ -4264,7 +5104,10 @@ The \\(\htwo\\) norm can be given different **deterministic interpretations**. It also has the following **stochastic interpretation**. Suppose in the general control configuration that the exogenous input \\(w\\) is white noise of unit density. That is -\\[ E\\{w(t)w(\tau)^T\\} = I \delta(t-\tau) \\] + +\begin{equation\*} + E\\{w(t)w(\tau)^T\\} = I \delta(t-\tau) +\end{equation\*} Expected power in the error signal \\(z\\) is then given by @@ -4275,7 +5118,7 @@ Expected power in the error signal \\(z\\) is then given by &= \normtwo{F}^2 = \normtwo{F\_l(P,K)}^2 \end{align\*} -
+
Thus, by minimizing the \\(\htwo\\) norm, the error power of the generalized system, due to a unit intensity white noise input, is minimized. @@ -4295,46 +5138,76 @@ For the stochastic system \end{align\*} where -\\[ E \left\\{ \begin{bmatrix} w\_d(t)\\w\_n(t) \end{bmatrix} \begin{bmatrix} w\_d(\tau)^T & w\_n(\tau)^T \end{bmatrix} \right\\} = \begin{bmatrix} W & 0 \\ 0 & V \end{bmatrix} \delta (t - \tau) \\] + +\begin{equation\*} + E \left\\{ \begin{bmatrix} + w\_d(t) \\\\\\ + w\_n(t) + \end{bmatrix} \begin{bmatrix} + w\_d(\tau)^T & w\_n(\tau)^T \end{bmatrix} \right\\} = \begin{bmatrix} + W & 0 \\\\\\ + 0 & V + \end{bmatrix} + \delta (t - \tau) +\end{equation\*} The LQG problem is to find \\(u = K(s) y\\) such that -\\[ J = E \left\\{ \lim\_{T\to \infty} \frac{1}{T} \int\_0^T [x^T Q x + u^T R u] dt \right\\} \\] + +\begin{equation\*} + J = E \left\\{ \lim\_{T\to \infty} \frac{1}{T} \int\_0^T [x^T Q x + u^T R u] dt \right\\} +\end{equation\*} + is minimized with \\(Q = Q^T \ge 0\\) and \\(R = R^T > 0\\). This problem can be cast as an \\(\htwo\\) optimization in the general framework in the following manner. Define the error signal \\(z\\) as -\\[ z = \begin{bmatrix} + +\begin{equation\*} + z = \begin{bmatrix} Q^{\frac{1}{2}} & 0 \\\\\\ 0 & R^{\frac{1}{2}} \end{bmatrix} \begin{bmatrix} - x \\ u -\end{bmatrix} \\] + x \\\\\\ + u +\end{bmatrix} +\end{equation\*} Represent the stochastic inputs as -\\[ \begin{bmatrix} - w\_d \\ w\_n + +\begin{equation\*} +\begin{bmatrix} + w\_d \\\\\\ + w\_n \end{bmatrix} = \begin{bmatrix} W^{\frac{1}{2}} & 0 \\\\\\ 0 & V^{\frac{1}{2}} -\end{bmatrix} w \\] +\end{bmatrix} w +\end{equation\*} + where \\(w\\) is a white noise process of unit density. Then the LQG cost function is -\\[ K = E \left\\{ \lim\_{T\to \infty} \frac{1}{T} \int\_0^T z(t)^T z(t) dt \right\\} = \normtwo{F\_l(P,K)}^2 \\] + +\begin{equation\*} + K = E \left\\{ \lim\_{T\to \infty} \frac{1}{T} \int\_0^T z(t)^T z(t) dt \right\\} = \normtwo{F\_l(P,K)}^2 +\end{equation\*} #### \\(\hinf\\) Optimal Control {#hinf--optimal-control} -With reference to the general control configuration on Fig. [fig:general_control](#fig:general_control), the standard \\(\hinf\\) optimal control problem is to find all stabilizing controllers \\(K\\) which minimize -\\[ \hnorm{F\_l(P, K)} = \max\_{\omega} \maxsv\big(F\_l(P, K)(j\omega)\big) \\] +With reference to the general control configuration on Fig. [43](#orgb9feed3), the standard \\(\hinf\\) optimal control problem is to find all stabilizing controllers \\(K\\) which minimize + +\begin{equation\*} + \hnorm{F\_l(P, K)} = \max\_{\omega} \maxsv\big(F\_l(P, K)(j\omega)\big) +\end{equation\*} The \\(\hinf\\) norm has **several interpretations** in terms of performance. One is that it minimizes the peak of the maximum singular value of \\(F\_l(P(j\omega), K(j\omega))\\). It also has a time domain interpretation as the worst-cast 2-norm: -\begin{equation} +\begin{equation} \label{eq:hinf\_time\_domain\_worst\_2norm} \hnorm{F\_l(P,K)} = \max\_{w(t)\ne0} \frac{\normtwo{z(t)}}{\normtwo{w(t)}} \end{equation} @@ -4345,7 +5218,7 @@ In practice, it is usually not necessary to obtain an optimal controller for the Let \\(\gamma\_\text{min}\\) be the minimum value of \\(\hnorm{F\_l(P,K)}\\) over all stabilizing controllers \\(K\\). Then the \\(\hinf\\) **sub-optimal control problem** is: given a \\(\gamma > \gamma\_\text{min}\\), find all stabilizing controllers \\(K\\) such that -\begin{equation} +\begin{equation} \label{eq:hinf\_suboptimal\_problem} \hnorm{F\_l(P, K)} < \gamma \end{equation} @@ -4362,7 +5235,7 @@ All such controllers are then given by \\(K = F\_l(K\_c, Q)\\) where \begin{align\*} K\_c(s) &= \left[ \begin{array}{c|cc} - A\_\infty & -Z\_\infty L\_\infty & Z\_\infty B\_2 \\ \hline + A\_\infty & -Z\_\infty L\_\infty & Z\_\infty B\_2 \cr \hline F\_\infty & 0 & I \\\\\\ -C\_2 & I & 0 \end{array} \right], \ L\_\infty = -Y\_\infty C\_2^T \\\\\\ @@ -4374,19 +5247,24 @@ and \\(Q(s)\\) is any stable proper transfer function such that \\(\hnorm{Q} < \ For \\(Q(s) = 0\\), we get -\begin{equation} +\begin{equation} \label{eq:hinf\_central\_controller} K(s) = K\_{c11}(s) = -Z\_\infty L\_\infty (s I - A\_\infty)^{-1} F\_\infty \end{equation} This is called the **central controller** and has the same number of states as the generalized plant \\(P(s)\\). The central controller can be separated into a state estimator (observer) of the form -\\[ \dot{\hat{x}} = A\hat{x} + B\_1 \gamma^{-2} B\_1^T X\_\infty \hat{x} + B\_2 u + Z\_\infty L\_\infty (C\_2 \hat{x} - y) \\] + +\begin{equation\*} + \dot{\hat{x}} = A\hat{x} + B\_1 \gamma^{-2} B\_1^T X\_\infty \hat{x} + B\_2 u + Z\_\infty L\_\infty (C\_2 \hat{x} - y) +\end{equation\*} + and a state feedback \\(u = F\_\infty \hat{x}\\). -
+
+\\(\gamma\text{-iteration}\\): If we desire a controller that achieves \\(\gamma\_\text{min}\\), to within specified tolerance, then we can perform a **bisection** on \\(\gamma\\) until its value is sufficiently accurate. The above conditions provide a test for each value of \\(\gamma\\) to determine if \\(\gamma<\gamma\_\text{min}\\) or \\(\gamma>\gamma\_\text{min}\\). @@ -4420,7 +5298,7 @@ To do this, we could select a scalar low pass filter \\(w\_1(s)\\) with a bandwi This cost function alone is not very practical, it focuses on just one closed-loop transfer function and the controller may have infinite gain. It is far more useful in practice to minimize -\begin{equation} +\begin{equation} \label{eq:s\_ks\_hinf} \hnorm{\begin{matrix} w\_1 S \\ w\_2 KS \end{matrix}} \end{equation} @@ -4430,51 +5308,63 @@ In general, the scalar weighting functions \\(w\_1(s)\\) and \\(w\_2(s)\\) can b This can be useful for **systems with channels of quite different bandwidths**. In that case, **diagonal weights are recommended** as anything more complicated is usually not worth the effort.
-To see how this mixed sensitivity problem can be formulated in the general setting, we can imagine the disturbance \\(d\\) as a single exogenous input and define and error signal \\(z = [z\_1^T\ z\_2^T]^T\\), where \\(z\_1 = W\_1 y\\) and \\(z\_2 = -W\_2 u\\) as illustrated in Fig. [fig:mixed_sensitivity_dist_rejection](#fig:mixed_sensitivity_dist_rejection). +To see how this mixed sensitivity problem can be formulated in the general setting, we can imagine the disturbance \\(d\\) as a single exogenous input and define and error signal \\(z = [z\_1^T\ z\_2^T]^T\\), where \\(z\_1 = W\_1 y\\) and \\(z\_2 = -W\_2 u\\) as illustrated in Fig. [44](#orgfa217a8). We can then see that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\) as required. The elements of the generalized plant are \begin{equation\*} \begin{array}{ll} - P\_{11} = \begin{bmatrix}W\_1\\0\end{bmatrix} & P\_{12} = \begin{bmatrix}W\_1G\\-W\_2\end{bmatrix} \\\\\\ + P\_{11} = \begin{bmatrix} + W\_1 \\\\\\ + 0 + \end{bmatrix} & P\_{12} = \begin{bmatrix} + W\_1G \\\\\\ + -W\_2 + \end{bmatrix} \\\\\\ P\_{21} = -I & P\_{22} = -G \end{array} \end{equation\*} - + {{< figure src="/ox-hugo/skogestad07_mixed_sensitivity_dist_rejection.png" caption="Figure 44: \\(S/KS\\) mixed-sensitivity optimization in standard form (regulation)" >}} -Another interpretation can be put on the \\(S/KS\\) mixed-sensitivity optimization as shown in the standard control configuration of Fig. [fig:mixed_sensitivity_ref_tracking](#fig:mixed_sensitivity_ref_tracking). +Another interpretation can be put on the \\(S/KS\\) mixed-sensitivity optimization as shown in the standard control configuration of Fig. [45](#orgb5a3be8). Here we consider a tracking problem. The exogenous input is a reference command \\(r\\), and the error signals are \\(z\_1 = -W\_1 e = W\_1 (r-y)\\) and \\(z\_2 = W\_2 u\\). -As the regulation problem of Fig. [fig:mixed_sensitivity_dist_rejection](#fig:mixed_sensitivity_dist_rejection), we have that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\). +As the regulation problem of Fig. [44](#orgfa217a8), we have that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\). - + {{< figure src="/ox-hugo/skogestad07_mixed_sensitivity_ref_tracking.png" caption="Figure 45: \\(S/KS\\) mixed-sensitivity optimization in standard form (tracking)" >}} Another useful mixed sensitivity optimization problem, is to find a stabilizing controller which minimizes -\begin{equation} +\begin{equation} \label{eq:s\_t\_hinf} \hnorm{\begin{matrix} W\_1 S \\ W\_2 T \end{matrix}} \end{equation} The ability to shape \\(T\\) is desirable for tracking problems and noise attenuation. It is also important for robust stability with respect to multiplicative perturbations at the plant output. -The \\(S/T\\) mixed-sensitivity minimization problem can be put into the standard control configuration as shown in Fig. [fig:mixed_sensitivity_s_t](#fig:mixed_sensitivity_s_t). +The \\(S/T\\) mixed-sensitivity minimization problem can be put into the standard control configuration as shown in Fig. [46](#org8b13336). The elements of the generalized plant are \begin{equation\*} \begin{array}{ll} - P\_{11} = \begin{bmatrix}W\_1\\0\end{bmatrix} & P\_{12} = \begin{bmatrix}-W\_1G\\W\_2G\end{bmatrix} \\\\\\ - P\_{21} = -I & P\_{22} = -G \\\\\\ + P\_{11} = \begin{bmatrix} + W\_1 \\\\\\ + 0 + \end{bmatrix} & P\_{12} = \begin{bmatrix} + -W\_1G \\\\\\ + W\_2G + \end{bmatrix} \\\\\\ + P\_{21} = -I & P\_{22} = -G \end{array} \end{equation\*} - + {{< figure src="/ox-hugo/skogestad07_mixed_sensitivity_s_t.png" caption="Figure 46: \\(S/T\\) mixed-sensitivity optimization in standard form" >}} @@ -4492,7 +5382,7 @@ The trick is to replace a non proper term such as \\((1 + \tau\_1 s)\\) by \\(\f The signal-based approach to controller design is very general and is appropriate for multivariable problems in which several objectives must be taken into account simultaneously. In this approach, we define the plant, possibly the model uncertainty, the **class of external signals affecting the system** and the **norm of the error signals we want to keep small**. -
+
The focus of attention has moved to the size of signals and away from the size and bandwidth of selected closed-loop transfer functions. @@ -4500,9 +5390,9 @@ The focus of attention has moved to the size of signals and away from the size a
Weights are used to describe the expected or known frequency content of exogenous signals and the desired frequency content of error signals. -Weights are also used if a perturbation is used to model uncertainty, as in Fig. [fig:input_uncertainty_hinf](#fig:input_uncertainty_hinf), where \\(G\\) represents the nominal model, \\(W\\) is a weighting function that captures the relative model fidelity over frequency, and \\(\Delta\\) represents unmodelled dynamics usually normalized such that \\(\hnorm{\Delta} < 1\\). +Weights are also used if a perturbation is used to model uncertainty, as in Fig. [47](#orgc73293b), where \\(G\\) represents the nominal model, \\(W\\) is a weighting function that captures the relative model fidelity over frequency, and \\(\Delta\\) represents unmodelled dynamics usually normalized such that \\(\hnorm{\Delta} < 1\\). - + {{< figure src="/ox-hugo/skogestad07_input_uncertainty_hinf.png" caption="Figure 47: Multiplicative dynamic uncertainty model" >}} @@ -4511,9 +5401,9 @@ As we have seen, the weights \\(Q\\) and \\(R\\) are constant, but LQG can be ge When we consider a system's response to persistent sinusoidal signals of varying frequency, or when we consider the induced 2-norm between the exogenous input signals and the error signals, we are required to minimize the \\(\hinf\\) norm. In the absence of model uncertainty, there does not appear to be an overwhelming case for using the \\(\hinf\\) norm rather than the more traditional \\(\htwo\\) norm. -However, when uncertainty is addressed, as it always should be, \\(\hinf\\) is clearly the more **natural approach** using component uncertainty models as in Fig. [fig:input_uncertainty_hinf](#fig:input_uncertainty_hinf).
+However, when uncertainty is addressed, as it always should be, \\(\hinf\\) is clearly the more **natural approach** using component uncertainty models as in Fig. [47](#orgc73293b).
-A typical problem using the signal-based approach to \\(\hinf\\) control is illustrated in the interconnection diagram of Fig. [fig:hinf_signal_based](#fig:hinf_signal_based). +A typical problem using the signal-based approach to \\(\hinf\\) control is illustrated in the interconnection diagram of Fig. [48](#org045d86d). \\(G\\) and \\(G\_d\\) are nominal models of the plant and disturbance dynamics, and \\(K\\) is the controller to be designed. The weights \\(W\_d\\), \\(W\_r\\), and \\(W\_n\\) may be constant or dynamic and describe the relative importance and/or the frequency content of the disturbance, set points and noise signals. The weight \\(W\_\text{ref}\\) is a desired closed-loop transfer function between the weighted set point \\(r\_s\\) and the actual output \\(y\\). @@ -4521,21 +5411,34 @@ The weights \\(W\_e\\) and \\(W\_u\\) reflect the desired frequency content of t The problem can be cast as a standard \\(\hinf\\) optimization in the general control configuration by defining \begin{equation\*} - w = \begin{bmatrix}d\\r\\n\end{bmatrix},\ z = \begin{bmatrix}z\_1\\z\_2\end{bmatrix}, \ v = \begin{bmatrix}r\_s\\y\_m\end{bmatrix},\ u = u + w = \begin{bmatrix} + d \\\\\\ + r \\\\\\ + n + \end{bmatrix},\ z = \begin{bmatrix} + z\_1 \\\\\\ + z\_2 + \end{bmatrix}, \ v = \begin{bmatrix} + r\_s \\\\\\ + y\_m + \end{bmatrix},\ u = u \end{equation\*} - + {{< figure src="/ox-hugo/skogestad07_hinf_signal_based.png" caption="Figure 48: A signal-based \\(\hinf\\) control problem" >}} -Suppose we now introduce a multiplicative dynamic uncertainty model at the input to the plant as shown in Fig. [fig:hinf_signal_based_uncertainty](#fig:hinf_signal_based_uncertainty). +Suppose we now introduce a multiplicative dynamic uncertainty model at the input to the plant as shown in Fig. [49](#org80eb8d1). The problem we now want to solve is: find a stabilizing controller \\(K\\) such that the \\(\hinf\\) norm of the transfer function between \\(w\\) and \\(z\\) is less that 1 for all \\(\Delta\\) where \\(\hnorm{\Delta} < 1\\). We have assumed in this statement that the **signal weights have normalized the 2-norm of the exogenous input signals to unity**. This problem is a non-standard \\(\hinf\\) optimization. It is a robust performance problem for which the \\(\mu\text{-synthesis}\\) procedure can be applied where we require the structured singular value: -\\[ \mu(M(j\omega)) < 1, \quad \forall\omega \\] - +\begin{equation\*} + \mu(M(j\omega)) < 1, \quad \forall\omega +\end{equation\*} + + {{< figure src="/ox-hugo/skogestad07_hinf_signal_based_uncertainty.png" caption="Figure 49: A signal-based \\(\hinf\\) control problem with input multiplicative uncertainty" >}} @@ -4588,18 +5491,24 @@ The objective of robust stabilization is to stabilize not only the nominal model where \\(\epsilon > 0\\) is then the **stability margin**.
-For the perturbed feedback system of Fig. [fig:coprime_uncertainty_bis](#fig:coprime_uncertainty_bis), the stability property is robust if and only if the nominal feedback system is stable and -\\[ \gamma \triangleq \hnorm{\begin{bmatrix}K \\ I\end{bmatrix} (I - GK)^{-1} M^{-1}} \le \frac{1}{\epsilon} \\] +For the perturbed feedback system of Fig. [50](#org97456ed), the stability property is robust if and only if the nominal feedback system is stable and -Notice that \\(\gamma\\) is the \\(\hinf\\) norm from \\(\phi\\) to \\(\begin{bmatrix}u\\y\end{bmatrix}\\) and \\((I-GK)^{-1}\\) is the sensitivity function for this positive feedback arrangement. +\begin{equation\*} + \gamma \triangleq \hnorm{\begin{bmatrix} + K \\\\\\ + I + \end{bmatrix} (I - GK)^{-1} M^{-1}} \le \frac{1}{\epsilon} +\end{equation\*} - +Notice that \\(\gamma\\) is the \\(\hinf\\) norm from \\(\phi\\) to \\(\begin{bmatrix}u \cr y\end{bmatrix}\\) and \\((I-GK)^{-1}\\) is the sensitivity function for this positive feedback arrangement. + + {{< figure src="/ox-hugo/skogestad07_coprime_uncertainty_bis.png" caption="Figure 50: \\(\hinf\\) robust stabilization problem" >}} The lowest achievable value of \\(\gamma\\) and the corresponding maximum stability margin \\(\epsilon\\) are given as -\begin{equation} +\begin{equation} \label{eq:gamma\_min\_coprime} \gamma\_\text{min} = \epsilon\_{\text{max}}^{-1} = \left\\{ 1 - \\|N \ M\\|\_H^2 \right\\}^{-\frac{1}{2}} = (1 + \rho(XZ))^{\frac{1}{2}} \end{equation} @@ -4611,7 +5520,11 @@ where \\(\\|\ \cdot\ \\|\_H\\) denotes Hankel norm, \\(\rho\\) denotes the spect \end{align\*} where -\\[ R = I + D D^T, \quad S = I + D^T D \\] + +\begin{equation\*} + R = I + D D^T, \quad S = I + D^T D +\end{equation\*} + \\(X\\) is the unique positive definite solution of the following algebraic Riccati equation \begin{align\*} @@ -4620,19 +5533,24 @@ where \end{align\*} A controller which guarantees that -\\[ \hnorm{ \begin{bmatrix}K\\I\end{bmatrix} (I-GK)^{-1} M^{-1} } \le \gamma \\] + +\begin{equation\*} + \hnorm{ \begin{bmatrix} + K \\\\\\ + I + \end{bmatrix} (I-GK)^{-1} M^{-1} } \le \gamma +\end{equation\*} + for a specified \\(\gamma > \gamma\_\text{min}\\), is given by -\begin{subequations} - \begin{align} - K &\triangleq \left[ \begin{array}{c|c} - {\scriptstyle A + BF + \gamma^2L^{-T} Z C^T(C + DF)} & {\scriptstyle \gamma^2L^{-T} Z C^T} \\ \hline - {\scriptstyle B^T X} & {\scriptstyle -D^T} - \end{array} \right] \label{eq:control\_coprime\_factor} \\\\\\ - F &= -S^{-1}(D^T C + B^T X)\\\\\\ - L &= (1-\gamma^2) I + XZ - \end{align} -\end{subequations} +\begin{align} + K &\triangleq \left[ \begin{array}{c|c} + {\scriptstyle A + BF + \gamma^2L^{-T} Z C^T(C + DF)} & {\scriptstyle \gamma^2L^{-T} Z C^T} \cr \hline + {\scriptstyle B^T X} & {\scriptstyle -D^T} +\end{array} \right] \label{eq:control\_coprime\_factor} \\\\\\ + F &= -S^{-1}(D^T C + B^T X)\\\\\\ + L &= (1-\gamma^2) I + XZ +\end{align} The Matlab function `coprimeunc` can be used to generate the controller in \eqref{eq:control_coprime_factor}. It is important to emphasize that since we can compute \\(\gamma\_\text{min}\\) from \eqref{eq:gamma_min_coprime} we get an explicit solution by solving just two Riccati equations and avoid the \\(\gamma\text{-iteration}\\) needed to solve the general \\(\mathcal{H}\_\infty\\) problem. @@ -4640,7 +5558,7 @@ It is important to emphasize that since we can compute \\(\gamma\_\text{min}\\) #### A Systematic \\(\hinf\\) Loop-Shaping Design Procedure {#a-systematic--hinf--loop-shaping-design-procedure} - + Robust stabilization alone is not much used in practice because the designer is not able to specify any performance requirements. To do so, **pre and post compensators** are used to **shape the open-loop singular values** prior to robust stabilization of the "shaped" plant. @@ -4651,9 +5569,9 @@ If \\(W\_1\\) and \\(W\_2\\) are the pre and post compensators respectively, the G\_s = W\_2 G W\_1 \end{equation} -as shown in Fig. [fig:shaped_plant](#fig:shaped_plant). +as shown in Fig. [51](#org6f45506). - + {{< figure src="/ox-hugo/skogestad07_shaped_plant.png" caption="Figure 51: The shaped plant and controller" >}} @@ -4686,11 +5604,11 @@ Systematic procedure for \\(\hinf\\) loop-shaping design: - A small value of \\(\epsilon\_{\text{max}}\\) indicates that the chosen singular value loop-shapes are incompatible with robust stability requirements 7. **Analyze the design** and if not all the specification are met, make further modifications to the weights 8. **Implement the controller**. - The configuration shown in Fig. [fig:shapping_practical_implementation](#fig:shapping_practical_implementation) has been found useful when compared with the conventional setup in Fig. [fig:classical_feedback_small](#fig:classical_feedback_small). + The configuration shown in Fig. [52](#org7eb2c79) has been found useful when compared with the conventional setup in Fig. [38](#org86eebc5). This is because the references do not directly excite the dynamics of \\(K\_s\\), which can result in large amounts of overshoot. The constant prefilter ensure a steady-state gain of \\(1\\) between \\(r\\) and \\(y\\), assuming integral action in \\(W\_1\\) or \\(G\\) - + {{< figure src="/ox-hugo/skogestad07_shapping_practical_implementation.png" caption="Figure 52: A practical implementation of the loop-shaping controller" >}} @@ -4713,46 +5631,57 @@ Many control design problems possess two degrees-of-freedom: Sometimes, one degree-of-freedom is left out of the design, and the controller is driven by an error signal i.e. the difference between a command and the output. But in cases where stringent time-domain specifications are set on the output response, a one degree-of-freedom structure may not be sufficient.
-A general two degrees-of-freedom feedback control scheme is depicted in Fig. [fig:classical_feedback_2dof_simple](#fig:classical_feedback_2dof_simple). +A general two degrees-of-freedom feedback control scheme is depicted in Fig. [53](#orgc049587). The commands and feedbacks enter the controller separately and are independently processed. - + {{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_simple.png" caption="Figure 53: General two degrees-of-freedom feedback control scheme" >}} -The presented \\(\mathcal{H}\_\infty\\) loop-shaping design procedure in section [sec:hinf_loop_shaping_procedure](#sec:hinf_loop_shaping_procedure) is a one-degree-of-freedom design, although a **constant** pre-filter can be easily implemented for steady-state accuracy. +The presented \\(\mathcal{H}\_\infty\\) loop-shaping design procedure in section is a one-degree-of-freedom design, although a **constant** pre-filter can be easily implemented for steady-state accuracy. However, this may not be sufficient and a dynamic two degrees-of-freedom design is required.
-The design problem is illustrated in Fig. [fig:coprime_uncertainty_hinf](#fig:coprime_uncertainty_hinf). +The design problem is illustrated in Fig. [54](#org1ff3e15). The feedback part of the controller \\(K\_2\\) is designed to meet robust stability and disturbance rejection requirements. A prefilter is introduced to force the response of the closed-loop system to follow that of a specified model \\(T\_{\text{ref}}\\), often called the **reference model**. - + {{< figure src="/ox-hugo/skogestad07_coprime_uncertainty_hinf.png" caption="Figure 54: Two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping design problem" >}} -The design problem is to find the stabilizing controller \\(K = [K\_1,\ K\_2]\\) for the shaped plant \\(G\_s = G W\_1\\), with a normalized coprime factorization \\(G\_s = M\_s^{-1} N\_s\\), which minimizes the \\(\mathcal{H}\_\infty\\) norm of the transfer function between the signals \\([r^T\ \phi^T]^T\\) and \\([u\_s^T\ y^T\ e^T]^T\\) as defined in Fig. [fig:coprime_uncertainty_hinf](#fig:coprime_uncertainty_hinf). +The design problem is to find the stabilizing controller \\(K = [K\_1,\ K\_2]\\) for the shaped plant \\(G\_s = G W\_1\\), with a normalized coprime factorization \\(G\_s = M\_s^{-1} N\_s\\), which minimizes the \\(\mathcal{H}\_\infty\\) norm of the transfer function between the signals \\([r^T\ \phi^T]^T\\) and \\([u\_s^T\ y^T\ e^T]^T\\) as defined in Fig. [54](#org1ff3e15). This problem is easily cast into the general configuration. The control signal to the shaped plant \\(u\_s\\) is given by: -\\[ u\_s = \begin{bmatrix} K\_1 & K\_2 \end{bmatrix} \begin{bmatrix} \beta \\ y \end{bmatrix} \\] + +\begin{equation\*} + u\_s = \begin{bmatrix} K\_1 & K\_2 \end{bmatrix} \begin{bmatrix} + \beta \\\\\\ + y + \end{bmatrix} +\end{equation\*} + where \\(K\_1\\) is the prefilter, \\(K\_2\\) is the feedback controller, \\(\beta\\) is the scaled reference and \\(y\\) is the measured output. The purpose of the prefilter is to ensure that: -\\[ \left\\| (I - G\_s K\_2)^{-1} G\_s K\_1 - T\_{\text{ref}} \right\\|\_\infty < \gamma \rho^2 \\] + +\begin{equation\*} + \left\\| (I - G\_s K\_2)^{-1} G\_s K\_1 - T\_{\text{ref}} \right\\|\_\infty < \gamma \rho^2 +\end{equation\*} + \\(T\_{\text{ref}}\\) is the desired closed-loop transfer function and \\(\rho\\) is a scalar parameter that the designer can increase to place more emphasis on model matching in the optimization at the expense of robustness.
The main steps required to synthesize a two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller are: -1. Design a one degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller (section [sec:hinf_loop_shaping_procedure](#sec:hinf_loop_shaping_procedure)) but without a post-compensator \\(W\_2\\) +1. Design a one degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller (section ) but without a post-compensator \\(W\_2\\) 2. Select a desired closed-loop transfer function \\(T\_{\text{ref}}\\) between the commands and controller outputs 3. Set the scalar parameter \\(\rho\\) to a small value greater than \\(1\\); something in the range \\(1\\) to \\(3\\) will usually suffice 4. For the shaped \\(G\_s = G W\_1\\), the desired response \\(T\_{\text{ref}}\\), and the scalar parameter \\(\rho\\), solve the standard \\(\mathcal{H}\_\infty\\) optimization problem to a specified tolerance to get \\(K = [K\_1,\ K\_2]\\) 5. Replace the prefilter \\(K\_1\\) by \\(K\_1 W\_i\\) to give exact model-matching at steady-state. 6. Analyze and, if required, redesign making adjustments to \\(\rho\\) and possibly \\(W\_1\\) and \\(T\_{\text{ref}}\\) -The final two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller is illustrated in Fig. [fig:hinf_synthesis_2dof](#fig:hinf_synthesis_2dof). +The final two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller is illustrated in Fig. [55](#org4188cd2). - + {{< figure src="/ox-hugo/skogestad07_hinf_synthesis_2dof.png" caption="Figure 55: Two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller" >}} @@ -4767,10 +5696,13 @@ The clear structure of the \\(\mathcal{H}\_\infty\\) loop-shaping controllers ha - If offers computational savings in digital implementations Let's assume that the shaped plant is strictly proper, with a stabilizable and detectable state space realization -\\[ G\_s \triangleq \left[ \begin{array}{c|c} - A\_s & B\_s \\ \hline + +\begin{equation\*} + G\_s \triangleq \left[ \begin{array}{c|c} + A\_s & B\_s \cr \hline C\_s & 0 -\end{array} \right] \\] +\end{array} \right] +\end{equation\*} The single degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller can be realized as an observer for the shaped plant plus a state feedback control law: @@ -4807,24 +5739,33 @@ However, in the case of actuator saturation, the integrators continue to integra An anti-windup scheme is therefore required on the weighting function \\(W\_1\\). The approach we recommend is to implement the weight \\(W\_1\\) in its self-conditioned or Hanus form. Let the weight \\(W\_1\\) have a realization -\\[ W\_1 \triangleq \left[ \begin{array}{c|c} - A\_w & B\_w \\ \hline + +\begin{equation\*} + W\_1 \triangleq \left[ \begin{array}{c|c} + A\_w & B\_w \cr \hline C\_w & D\_w -\end{array} \right] \\] +\end{array} \right] +\end{equation\*} + and let \\(u\\) be the input to the plant actuators and \\(u\_s\\) the input to the shaped plant. Then \\(u = W\_1 u\_s\\). When implemented in Hanus form, the expression for \\(u\\) becomes -\\[ u = \left[ \begin{array}{c|cc} - A\_w - B\_wD\_w^{-1}C\_w & 0 & B\_wD\_w^{-1} \\ \hline + +\begin{equation\*} + u = \left[ \begin{array}{c|cc} + A\_w - B\_wD\_w^{-1}C\_w & 0 & B\_wD\_w^{-1} \cr \hline C\_w & D\_w & 0 \end{array} \right] \begin{bmatrix} - u\_s \\ u\_a -\end{bmatrix} \\] + u\_s \\\\\\ + u\_a +\end{bmatrix} +\end{equation\*} + where \\(u\_a\\) is the **actual plant input**, that is the measurement at the **output of the actuators** which therefore contains information about possible actuator saturation. -The situation is illustrated in Fig. [fig:weight_anti_windup](#fig:weight_anti_windup), where the actuators are each modeled by a unit gain and a saturation. +The situation is illustrated in Fig. [56](#org31876f1), where the actuators are each modeled by a unit gain and a saturation. - + {{< figure src="/ox-hugo/skogestad07_weight_anti_windup.png" caption="Figure 56: Self-conditioned weight \\(W\_1\\)" >}} @@ -4839,9 +5780,17 @@ Notice that such an implementation requires \\(W\_1\\) to be invertible and mini When multi-mode switched controller is designed, one should ensure **smooth transition from one controller to the other** (bumpless transfer). It was found useful to condition the reference models and the observers in each of the controllers. When on-line, the observer state evolves according to -\\[ \dot{\hat{x}}\_s = A\_s \hat{x}\_s + H\_s (C\_s \hat{x}\_s - y\_s) + B\_s u\_s \\] + +\begin{equation\*} + \dot{\hat{x}}\_s = A\_s \hat{x}\_s + H\_s (C\_s \hat{x}\_s - y\_s) + B\_s u\_s +\end{equation\*} + but when off-line, the state equation becomes -\\[ \dot{\hat{x}}\_s = A\_s \hat{x}\_s + H\_s (C\_s \hat{x}\_s - y\_s) + B\_s u\_{as} \\] + +\begin{equation\*} + \dot{\hat{x}}\_s = A\_s \hat{x}\_s + H\_s (C\_s \hat{x}\_s - y\_s) + B\_s u\_{as} +\end{equation\*} + where \\(u\_{as}\\) is the actual input to the shaped plant governed by the on-line controller. Doing so ensure that the inputs to the shaped plant for the off-line controller follows the actual shaped plant input \\(u\_{as}\\) given by the on-line controller. @@ -4872,14 +5821,14 @@ Moreover, one should be careful about combining controller synthesis and analysi ## Controller Structure Design {#controller-structure-design} - + ### Introduction {#introduction} -In previous sections, we considered the general problem formulation in Fig. [fig:general_control_names_bis](#fig:general_control_names_bis) and stated that the controller design problem is to find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed loop norm from \\(w\\) to \\(z\\). +In previous sections, we considered the general problem formulation in Fig. [57](#org26a1f1c) and stated that the controller design problem is to find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed loop norm from \\(w\\) to \\(z\\). - + {{< figure src="/ox-hugo/skogestad07_general_control_names_bis.png" caption="Figure 57: General Control Configuration" >}} @@ -4912,19 +5861,19 @@ The reference value \\(r\\) is usually set at some higher layer in the control h - **Optimization layer**: computes the desired reference commands \\(r\\) - **Control layer**: implements these commands to achieve \\(y \approx r\\) -Additional layers are possible, as is illustrated in Fig. [fig:control_system_hierarchy](#fig:control_system_hierarchy) which shows a typical control hierarchy for a chemical plant. +Additional layers are possible, as is illustrated in Fig. [58](#org66b6458) which shows a typical control hierarchy for a chemical plant. - + {{< figure src="/ox-hugo/skogestad07_system_hierarchy.png" caption="Figure 58: Typical control system hierarchy in a chemical plant" >}} -In general, the information flow in such a control hierarchy is based on the higher layer sending reference values (setpoints) to the layer below reporting back any problems achieving this (see Fig. [fig:optimize_control_b](#fig:optimize_control_b)). +In general, the information flow in such a control hierarchy is based on the higher layer sending reference values (setpoints) to the layer below reporting back any problems achieving this (see Fig. [6](#org72131f5)). There is usually a time scale separation between the layers which means that the **setpoints**, as viewed from a given layer, are **updated only periodically**.
The optimization tends to be performed open-loop with limited use of feedback. On the other hand, the control layer is mainly based on feedback information. The **optimization is often based on nonlinear steady-state models**, whereas we often use **linear dynamic models in the control layer**.
-From a theoretical point of view, the optimal performance is obtained with a **centralized optimizing controller**, which combines the two layers of optimizing and control (see Fig. [fig:optimize_control_c](#fig:optimize_control_c)). +From a theoretical point of view, the optimal performance is obtained with a **centralized optimizing controller**, which combines the two layers of optimizing and control (see Fig. [6](#org44604ac)). All control actions in such an ideal control system would be perfectly coordinated and the control system would use on-line dynamic optimization based on nonlinear dynamic model of the complete plant. However, this solution is normally not used for a number a reasons, included the cost of modeling, the difficulty of controller design, maintenance, robustness problems and the lack of computing power. @@ -4936,7 +5885,7 @@ However, this solution is normally not used for a number a reasons, included the | ![](/ox-hugo/skogestad07_optimize_control_a.png) | ![](/ox-hugo/skogestad07_optimize_control_b.png) | ![](/ox-hugo/skogestad07_optimize_control_c.png) | |--------------------------------------------------|--------------------------------------------------------------------------------|-------------------------------------------------------------| -| Open loop optimization | Closed-loop implementation with separate control layer | Integrated optimization and control | +| Open loop optimization | Closed-loop implementation with separate control layer | Integrated optimization and control | ### Selection of Controlled Outputs {#selection-of-controlled-outputs} @@ -4996,11 +5945,18 @@ If it is optimal to keep some variable at a constant, then we assume that this i For a fixed \\(d\\) we may express \\(J(u, d)\\) in terms of a Taylor series expansion in \\(u\\) around the optimal point. By neglecting terms of third order and higher, we obtain: -\\[ J(u, d) = J\_\text{opt}(d) + \frac{1}{2} (u - u\_\text{opt}(d))^T \left(\frac{\partial^2 J}{\partial u^2}\right)\_\text{opt} (u - u\_\text{opt}(d)) \\] + +\begin{equation\*} + J(u, d) = J\_\text{opt}(d) + \frac{1}{2} (u - u\_\text{opt}(d))^T \left(\frac{\partial^2 J}{\partial u^2}\right)\_\text{opt} (u - u\_\text{opt}(d)) +\end{equation\*} + This quantifies how \\(u-u\_\text{opt}\\) affects the cost function. For a fixed \\(d\\), we have: \\(y - y\_\text{opt} = G (u - u\_\text{opt})\\) where \\(G\\) is the steady state gain matrix. Thus, we get: -\\[ J - J\_\text{opt} \approx \frac{1}{2} \big(G^{-1}(y-y\_\text{opt})\big)^T \left(\frac{\partial^2 J}{\partial u^2}\right)\_\text{opt} G^{-1} (y - y\_\text{opt}) \\] + +\begin{equation\*} + J - J\_\text{opt} \approx \frac{1}{2} \big(G^{-1}(y-y\_\text{opt})\big)^T \left(\frac{\partial^2 J}{\partial u^2}\right)\_\text{opt} G^{-1} (y - y\_\text{opt}) +\end{equation\*} We conclude that we should select \\(y\\) such that: @@ -5008,11 +5964,11 @@ We conclude that we should select \\(y\\) such that: 2. \\(e\_\text{opt} = r - y\_\text{opt}(d)\\) is small: its optimal value \\(y\_\text{opt}(d)\\) depends only weakly on the disturbances and other changes 3. \\(e = y - r\\) is small: it is easy to keep the control error \\(e\\) small -Note that \\(\bar{\sigma}(G^{-1}) = 1/\underline{\sigma}(G)\\) and so **we want the smallest singular value of the steady state gain matrix to be large**. +Note that \\(\overline{\sigma}(G^{-1}) = 1/\underline{\sigma}(G)\\) and so **we want the smallest singular value of the steady state gain matrix to be large**. As this depends of scaling, we should first **scale the outputs** such that the expected magnitude of \\(y\_i - y\_{i\_\text{opt}}\\) is similar in magnitude for each output, and **scale the inputs** such that the effect of a given deviation \\(u\_j - u\_{j\_\text{opt}}\\) on the cost function \\(J\\) is similar for each input.
-
+
The use of the minimum singular value to select controlled outputs may be summarized in the following procedure: @@ -5020,10 +5976,14 @@ The use of the minimum singular value to select controlled outputs may be summar 1. From a (nonlinear) model compute the optimal parameters (inputs and outputs) for various conditions (disturbances, operating points). This yields a "look-up" table for optimal parameter values as a function of the operating conditions 2. From this data, obtain for each candidate output the variation in its optimal value - \\[ v\_i = \frac{(y\_{i\_{\text{opt,max}}} - y\_{i\_{\text{opt,min}}})}{2} \\] -3. Scale the candidate outputs such that for each output the sum of the magnitudes of \\(v\_i\\) and the control error (\\(e\_i\\), including measurement noise \\(n\_i\\)) is similar (e.g. \\(|v\_i| + |e\_i| = 1\\)) -4. Scale the inputs such that a unit deviation in each input from its optimal value has the same effect on the cost function \\(J\\) -5. Select as candidates those sets of controlled outputs which corresponds to a large value of \\(\underline{\sigma}(G)\\). + \begin{equation\*} + v\_i = \frac{(yi\text{opt,max} - yi\text{opt,min})}{2} + +\end{equation\*} + +1. Scale the candidate outputs such that for each output the sum of the magnitudes of \\(v\_i\\) and the control error (\\(e\_i\\), including measurement noise \\(n\_i\\)) is similar (e.g. \\(|v\_i| + |e\_i| = 1\\)) +2. Scale the inputs such that a unit deviation in each input from its optimal value has the same effect on the cost function \\(J\\) +3. Select as candidates those sets of controlled outputs which corresponds to a large value of \\(\underline{\sigma}(G)\\). \\(G\\) is the transfer function for the effect of the scaled inputs on the scaled outputs
@@ -5042,7 +6002,7 @@ Thus, the selection of controlled and measured outputs are two separate issues. ### Selection of Manipulations and Measurements {#selection-of-manipulations-and-measurements} -We are here concerned with the variable sets \\(u\\) and \\(v\\) in Fig. [fig:general_control_names_bis](#fig:general_control_names_bis). +We are here concerned with the variable sets \\(u\\) and \\(v\\) in Fig. [57](#org26a1f1c). Note that **the measurements** \\(v\\) used by the controller **are in general different from the controlled variables** \\(z\\) because we may not be able to measure all the controlled variables and we may want to measure and control additional variables in order to: - Stabilize the plant, or more generally change its dynamics @@ -5085,10 +6045,14 @@ Similarly, one may consider not using those outputs \\(v\\) corresponding to row We now assume that the measurements, manipulations and controlled outputs are fixed. The available synthesis theories presented in this book result in a _multivariable controller_ \\(K\\) which connects all available measurements \\(v\\) with all available manipulations \\(u\\): -\\[ u = K v \\] + +\begin{equation\*} + u = K v +\end{equation\*} + However, such a "big" controller may not be desirable. -
+
We define the **control configuration** to be the restrictions imposed on the overall controller \\(K\\) by decomposing it into a set of **local controllers** with predetermined links and with a possibly predetermined design sequence where subcontrollers are designed locally. @@ -5131,9 +6095,9 @@ Then when a SISO control loop is closed, we lose the input \\(u\_i\\) as a degre A cascade control structure results when either of the following two situations arise: - The reference \\(r\_i\\) is an output from another controller. - This is the **conventional cascade control** (Fig. [fig:cascade_extra_meas](#fig:cascade_extra_meas)) + This is the **conventional cascade control** (Fig. [7](#orgfd3fab2)) - The "measurement" \\(y\_i\\) is an output from another controller. - This is referred to as **input resetting** (Fig. [fig:cascade_extra_input](#fig:cascade_extra_input)) + This is referred to as **input resetting** (Fig. [7](#orgfc7ecf3))
@@ -5143,7 +6107,7 @@ A cascade control structure results when either of the following two situations | ![](/ox-hugo/skogestad07_cascade_extra_meas.png) | ![](/ox-hugo/skogestad07_cascade_extra_input.png) | |-------------------------------------------------------|---------------------------------------------------| -| Extra measurements \\(y\_2\\) | Extra inputs \\(u\_2\\) | +| Extra measurements \\(y\_2\\) | Extra inputs \\(u\_2\\) | #### Cascade Control: Extra Measurements {#cascade-control-extra-measurements} @@ -5167,7 +6131,7 @@ where in most cases \\(r\_2 = 0\\) since we do not have a degree-of-freedom to c ##### Cascade implementation {#cascade-implementation} -To obtain an implementation with two SISO controllers, we may cascade the controllers as illustrated in Fig. [fig:cascade_extra_meas](#fig:cascade_extra_meas): +To obtain an implementation with two SISO controllers, we may cascade the controllers as illustrated in Fig. [7](#orgfd3fab2): \begin{align\*} r\_2 &= K\_1(s)(r\_1 - y\_1) \\\\\\ @@ -5177,13 +6141,13 @@ To obtain an implementation with two SISO controllers, we may cascade the contro Note that the output \\(r\_2\\) from the slower primary controller \\(K\_1\\) is not a manipulated plant input, but rather the reference input to the faster secondary controller \\(K\_2\\). Cascades based on measuring the actual manipulated variable (\\(y\_2 = u\_m\\)) are commonly used to **reduce uncertainty and non-linearity at the plant input**. -In the general case (Fig. [fig:cascade_extra_meas](#fig:cascade_extra_meas)) \\(y\_1\\) and \\(y\_2\\) are not directly related to each other, and this is sometimes referred to as _parallel cascade control_. -However, it is common to encounter the situation in Fig. [fig:cascade_control](#fig:cascade_control) where the primary output \\(y\_1\\) depends directly on \\(y\_2\\) which is a special case of Fig. [fig:cascade_extra_meas](#fig:cascade_extra_meas). +In the general case (Fig. [7](#orgfd3fab2)) \\(y\_1\\) and \\(y\_2\\) are not directly related to each other, and this is sometimes referred to as _parallel cascade control_. +However, it is common to encounter the situation in Fig. [59](#org860571e) where the primary output \\(y\_1\\) depends directly on \\(y\_2\\) which is a special case of Fig. [7](#orgfd3fab2). -
+
-With reference to the special (but common) case of cascade control shown in Fig. [fig:cascade_control](#fig:cascade_control), the use of extra measurements is useful under the following circumstances: +With reference to the special (but common) case of cascade control shown in Fig. [59](#org860571e), the use of **extra measurements** is useful under the following circumstances: - The disturbance \\(d\_2\\) is significant and \\(G\_1\\) is non-minimum phase. If \\(G\_1\\) is minimum phase, the input-output controllability of \\(G\_2\\) and \\(G\_1 G\_2\\) are the same and there is no fundamental advantage in measuring \\(y\_2\\) @@ -5192,7 +6156,7 @@ With reference to the special (but common) case of cascade control shown in Fig.
- + {{< figure src="/ox-hugo/skogestad07_cascade_control.png" caption="Figure 59: Common case of cascade control where the primary output \\(y\_1\\) depends directly on the extra measurement \\(y\_2\\)" >}} @@ -5208,7 +6172,11 @@ These may be used to improve control performance. ##### Centralized implementation {#centralized-implementation} A centralized implementation where \\(K\\) is a 1-input-2-outputs controller may be written -\\[ u\_1 = K\_{11}(s)(r-y); \quad u\_2 = K\_{21}(s)(r-y) \\] + +\begin{equation\*} + u\_1 = K\_{11}(s)(r-y); \quad u\_2 = K\_{21}(s)(r-y) +\end{equation\*} + Here two inputs are used to control one output. We usually let \\(K\_{11}\\) have integral control whereas \\(K\_{21}\\) does not. Then \\(u\_2(t)\\) will only be used for **transient control** and will return to \\(0\\) as \\(t \to \infty\\). @@ -5216,21 +6184,29 @@ Then \\(u\_2(t)\\) will only be used for **transient control** and will return t ##### Cascade implementation {#cascade-implementation} -To obtain an implementation with two SISO controllers we may cascade the controllers as shown in Fig. [fig:cascade_extra_input](#fig:cascade_extra_input). +To obtain an implementation with two SISO controllers we may cascade the controllers as shown in Fig. [7](#orgfc7ecf3). We again let input \\(u\_2\\) take care of the **fast control** and \\(u\_1\\) of the **long-term control**. The fast control loop is then -\\[ u\_2 = K\_2(s)(r - y) \\] + +\begin{equation\*} + u\_2 = K\_2(s)(r - y) +\end{equation\*} + The objective of the other slower controller is then to use input \\(u\_1\\) to reset input \\(u\_2\\) to its desired value \\(r\_{u\_2}\\): -\\[ u\_1 = K\_1(s)(r\_{u\_2} - y\_1), \ y\_1 = u\_2 \\] + +\begin{equation\*} + u\_1 = K\_1(s)(r\_{u\_2} - y\_1), \ y\_1 = u\_2 +\end{equation\*} + and we see that the output from the fast controller \\(K\_2\\) is the "measurement" for the slow controller \\(K\_1\\). The cascade implementation again has the **advantage of decoupling the design of the two controllers**. It also shows more clearly that \\(r\_{u\_2}\\), the reference for \\(u\_2\\), may be used as a degree-of-freedom at higher layers in the control system. -
+
-Consider the system in Fig. [fig:cascade_control_two_layers](#fig:cascade_control_two_layers) with two manipulated inputs (\\(u\_2\\) and \\(u\_3\\)), one controlled output (\\(y\_1\\) which should be close to \\(r\_1\\)) and two measured variables (\\(y\_1\\) and \\(y\_2\\)). +Consider the system in Fig. [60](#org097dc0e) with two manipulated inputs (\\(u\_2\\) and \\(u\_3\\)), one controlled output (\\(y\_1\\) which should be close to \\(r\_1\\)) and two measured variables (\\(y\_1\\) and \\(y\_2\\)). Input \\(u\_2\\) has a more direct effect on \\(y\_1\\) than does input \\(u\_3\\) (there is a large delay in \\(G\_3(s)\\)). Input \\(u\_2\\) should only be used for transient control as it is desirable that it remains close to \\(r\_3 = r\_{u\_2}\\). The extra measurement \\(y\_2\\) is closer than \\(y\_1\\) to the input \\(u\_2\\) and may be useful for detecting disturbances affecting \\(G\_1\\). @@ -5242,7 +6218,7 @@ We would probably tune the three controllers in the order \\(K\_2\\), \\(K\_3\\)
- + {{< figure src="/ox-hugo/skogestad07_cascade_control_two_layers.png" caption="Figure 60: Control configuration with two layers of cascade control" >}} @@ -5284,7 +6260,7 @@ For example, one desirable property is that the steady-state gain from \\(u\_i\\ #### Partial Control {#partial-control} -
+
Partial control involves controlling only a subset of the outputs for which there is a control objective. @@ -5318,7 +6294,7 @@ Four applications of partial control are: The outputs \\(y\_1\\) have an associated control objective but are not measured. Instead, we aim at indirectly controlling \\(y\_1\\) by controlling the secondary measured variables \\(y\_2\\). -The table [tab:partial_control](#tab:partial_control) shows clearly the differences between the four applications of partial control. +The table [8](#table--tab:partial-control) shows clearly the differences between the four applications of partial control. In all cases, there is a control objective associated with \\(y\_1\\) and a feedback involving measurement and control of \\(y\_2\\) and we want: - The effect of disturbances on \\(y\_1\\) to be small (when \\(y\_2\\) is controlled) @@ -5339,17 +6315,17 @@ In all cases, there is a control objective associated with \\(y\_1\\) and a feed By partitioning the inputs and outputs, the overall model \\(y = G u\\) can be written -\begin{equation} +\begin{equation} \label{eq:partial\_control\_partitioning} \begin{aligned} y\_1 &= G\_{11} u\_1 + G\_{12} u\_2 + G\_{d1} d\\\\\\ y\_2 &= G\_{21} u\_1 + G\_{22} u\_2 + G\_{d2} d \end{aligned} \end{equation} -Assume now that feedback control \\(u\_2 = K\_2(r\_2 - y\_2 - n\_2)\\) is used for the "secondary" subsystem involving \\(u\_2\\) and \\(y\_2\\) (Fig. [fig:partial_control](#fig:partial_control)). +Assume now that feedback control \\(u\_2 = K\_2(r\_2 - y\_2 - n\_2)\\) is used for the "secondary" subsystem involving \\(u\_2\\) and \\(y\_2\\) (Fig. [61](#org192bdd8)). We get: -\begin{equation} +\begin{equation} \label{eq:partial\_control} \begin{aligned} y\_1 = &(G\_{11} - G\_{12}K\_2(I + G\_{22}K\_2)^{-1}G\_{21})u\_1 \\\\\\ & + (G\_{d1} - G\_{12}K\_2(I + G\_{22}K\_2)^{-1}G\_{d2})d \\\\\\ @@ -5357,7 +6333,7 @@ We get: \end{aligned} \end{equation} - + {{< figure src="/ox-hugo/skogestad07_partial_control.png" caption="Figure 61: Partial Control" >}} @@ -5365,11 +6341,14 @@ We get: ##### Tight control of \\(y\_2\\) {#tight-control-of--y-2} In some cases, we can assume that the control of \\(y\_2\\) is fast compared to the control of \\(y\_1\\) so we may let \\(K\_2 \to \infty\\) to get: -\\[ u\_2 = -G\_{22}^{-1} G\_{d2} d - G\_{22}^{-1} G\_{21} u\_1 + G\_{22}^{-1} y\_2 \\] + +\begin{equation\*} + u\_2 = -G\_{22}^{-1} G\_{d2} d - G\_{22}^{-1} G\_{21} u\_1 + G\_{22}^{-1} y\_2 +\end{equation\*} The dynamics of the system becomes: -\begin{equation} +\begin{equation} \label{eq:tight\_control\_y2} \begin{aligned} y\_1 = &\underbrace{(G\_{11} - G\_{12} G\_{22}^{-1} G\_{21})}\_{\triangleq P\_u} u\_1 \\\\\\ & + \underbrace{(G\_{d1} - G\_{12} G\_{22}^{-1} G\_{d2})}\_{\triangleq P\_d} d + \underbrace{G\_{12} G\_{22}^{-1}}\_{\triangleq P\_r} \underbrace{(r\_2 - e\_2)}\_{y\_2} @@ -5399,7 +6378,7 @@ The objectives for this hierarchical decomposition are: - to allow simple models when designing \\(K\_1\\) - to "stabilize" the plant using \\(K\_2\\) such that it is amenable to manual control -
+
The selection of \\(u\_2\\) and \\(y\_2\\) for use in the lower-layer control system can be done with the following criteria: @@ -5413,7 +6392,7 @@ The selection of \\(u\_2\\) and \\(y\_2\\) for use in the lower-layer control sy ##### Sequential design of cascade control systems {#sequential-design-of-cascade-control-systems} -Consider the conventional cascade control system in Fig. [fig:cascade_extra_meas](#fig:cascade_extra_meas) where we have additional "secondary" measurements \\(y\_2\\) with no associated control objective, and the objective is to improve the control of \\(y\_1\\) by locally controlling \\(y\_2\\). +Consider the conventional cascade control system in Fig. [7](#orgfd3fab2) where we have additional "secondary" measurements \\(y\_2\\) with no associated control objective, and the objective is to improve the control of \\(y\_1\\) by locally controlling \\(y\_2\\). The idea is that this should reduce the effect of disturbances and uncertainty on \\(y\_1\\). From \eqref{eq:partial_control}, it follows that we should select \\(y\_2\\) and \\(u\_2\\) such that \\(\\|P\_d\\|\\) is small and at least smaller than \\(\\|G\_{d1}\\|\\). @@ -5426,7 +6405,7 @@ More precisely, we want the input-output controllability of \\([P\_u\ P\_r]\\) w We here consider the case where we attempt to leave a set of primary outputs \\(y\_1\\) uncontrolled. This may be possible in cases where the outputs are correlated such that controlling the outputs \\(y\_2\\) indirectly gives acceptable control of \\(y\_1\\). -
+
A set of outputs \\(y\_1\\) may be left uncontrolled only if the effects of all disturbances (including \\(r\_2\\)) on \\(y\_1\\), as expressed by the elements in the corresponding partial disturbance gain matrix \\(P\_d\\) are less than \\(1\\) in magnitude at all frequencies. @@ -5449,10 +6428,16 @@ For small changes, we may assume linearity and write: With feedback control of \\(y\_2\\) we get \\(y\_2 = r\_2 + e\_2\\) where \\(e\_2\\) is the control error. From the above two equations, we obtain -\\[ y\_1 = (G\_{d1} - G\_1 G\_2^{-1} G\_{d2})d + G\_1 G\_2^{-1} (r\_2 + e\_2) \\] + +\begin{equation\*} + y\_1 = (G\_{d1} - G\_1 G\_2^{-1} G\_{d2})d + G\_1 G\_2^{-1} (r\_2 + e\_2) +\end{equation\*} With \\(e\_2 = 0\\) and \\(d = 0\\) this gives \\(y\_1 = G\_1 G\_2^{-1} r\_2\\), so \\(r\_2\\) must be chosen such that -\\[ r\_1 = G\_1 G\_2^{-1} r\_2 \\] + +\begin{equation\*} + r\_1 = G\_1 G\_2^{-1} r\_2 +\end{equation\*} The control error in the primary output is then @@ -5464,9 +6449,11 @@ To minimize \\(J\\), we should therefore select controlled outputs such that \\( Note that \\(P\_d\\) depends on the scaling of \\(d\\) and \\(y\_1\\). Also the magnitude of \\(e\_2\\) depends on the choice of outputs \\(y\_2\\). -
+
+**Selecting Controlled Outputs \\(y\_2\\)**: + Scale the disturbances \\(d\\) to be of magnitude 1, and scale the outputs \\(y\_2\\) so that the expected control error \\(e\_2\\) (measurement noise) is of magnitude 1 for each outputs. Then to minimize the control error for the primary output, \\(J = \\|y\_1 - r\_1\\|\\), we should select sets of controlled outputs which minimizes \\(\\|[ P\_d \ P\_r]\\|\\). @@ -5475,9 +6462,9 @@ Then to minimize the control error for the primary output, \\(J = \\|y\_1 - r\_1 ### Decentralized Feedback Control {#decentralized-feedback-control} -In this section, \\(G(s)\\) is a square plant which is to be controlled using a diagonal controller (Fig. [fig:decentralized_diagonal_control](#fig:decentralized_diagonal_control)). +In this section, \\(G(s)\\) is a square plant which is to be controlled using a diagonal controller (Fig. [62](#org395f5fe)). - + {{< figure src="/ox-hugo/skogestad07_decentralized_diagonal_control.png" caption="Figure 62: Decentralized diagonal control of a \\(2 \times 2\\) plant" >}} @@ -5486,12 +6473,14 @@ The design of **decentralized diagonal control systems** involves two steps: 1. The choice of pairing (control configuration selection) 2. The design of each controller \\(k\_i(s)\\) -\\[ K(s) = \text{diag}\\{k\_i(s)\\} = \begin{bmatrix} +\begin{equation\*} + K(s) = \text{diag}\\{k\_i(s)\\} = \begin{bmatrix} k\_1(s) & & & \\\\\\ & k\_2(s) & & \\\\\\ & & \ddots & \\\\\\ & & & k\_m(s) -\end{bmatrix} \\] +\end{bmatrix} +\end{equation\*} #### Notations for decentralized diagonal control {#notations-for-decentralized-diagonal-control} @@ -5499,12 +6488,16 @@ The design of **decentralized diagonal control systems** involves two steps: \\(G(s)\\) denotes a square \\(m \times m\\) plant with elements \\(g\_{ij}\\). \\(G^{ij}(s)\\) denotes the remaining \\((m-1) \times (m-1)\\) plant obtained by removing row \\(i\\) and column \\(j\\) in \\(G(s)\\). We introduce: -\\[ \tilde{G} \triangleq \text{diag}\\{g\_{ii}\\} = \begin{bmatrix} + +\begin{equation\*} + \tilde{G} \triangleq \text{diag}\\{g\_{ii}\\} = \begin{bmatrix} g\_{11} & & & \\\\\\ & g\_{22} & & \\\\\\ & & \ddots & \\\\\\ - & & & g\_{mm} \\\\\\ -\end{bmatrix} \\] + & & & g\_{mm} +\end{bmatrix} +\end{equation\*} + The loop transfer function in loop \\(i\\) is denoted \\(L\_i = g\_{ii} k\_i\\). @@ -5519,12 +6512,10 @@ There are two extreme cases: We now evaluate the effect \\(\partial y\_i / \partial u\_j\\) for the two cases: -\begin{subequations} - \begin{align} - & \left( \frac{\partial y\_i}{\partial u\_j} \right)\_{u\_k = 0, k \neq j} = g\_{ij} = [G]\_{ij}\\\\\\ - & \left( \frac{\partial y\_i}{\partial u\_j} \right)\_{y\_k = 0, k \neq i} \triangleq \hat{g}\_{ij} = 1/[G^{-1}]\_{ji} - \end{align} -\end{subequations} +\begin{align} + & \left( \frac{\partial y\_i}{\partial u\_j} \right)\_{u\_k = 0, k \neq j} = g\_{ij} = [G]\_{ij}\\\\\\ + & \left( \frac{\partial y\_i}{\partial u\_j} \right)\_{y\_k = 0, k \neq i} \triangleq \hat{g}\_{ij} = 1/[G^{-1}]\_{ji} +\end{align} The ratio between the gains corresponding the two extreme cases is a useful **measure of interactions** and is defined as the \\(ij\text{'th}\\) **relative gain**: @@ -5540,7 +6531,7 @@ The **Relative Gain Array** (RGA) is the corresponding matrix of relative gains: where \\(\times\\) denotes element-by-element multiplication. -
+
Intuitively, we would like to pair variables \\(u\_j\\) and \\(y\_i\\) so that \\(\lambda\_{ij}\\) is close to \\(1\\), because this means that the gain from \\(u\_j\\) to \\(y\_i\\) is unaffected by closing the other loops. @@ -5565,7 +6556,7 @@ An important relationship for decentralized control is: or equivalently in terms of the sensitivity function: -\begin{equation} +\begin{equation} \label{eq:S\_factorization} \tcmbox{S = \tilde{S} (I + E \tilde{T})^{-1}} \end{equation} @@ -5604,7 +6595,7 @@ Assume \\(G\\) is stable and that the individual loops are stable (\\(\tilde{T}\ The least conservative approach is to use \\(\rho(E\tilde{T}) \leq \mu(E) \maxsv(\tilde{T})\\). Then the entire system is closed-loop stable (\\(T\\) is stable) if -\begin{equation} +\begin{equation} \label{eq:decent\_contr\_cond\_stability} \tcmbox{\maxsv(\tilde{T}) = \max\_i |\tilde{t}\_i| < 1 / \mu(E) \quad \forall\omega} \end{equation} @@ -5620,9 +6611,11 @@ Suppose the plant \\(G(s)\\) is stable. If the RGA-matrix \\(\Lambda(G) = I\ \fo In most cases, it is sufficient for overall stability to require that \\(G(j\omega)\\) is close to triangular (or \\(\Lambda(G) \approx I\\)) at crossover frequencies. This gives the "first pairing rule". -
+
+**Pairing Rule 1**: + To achieve stability with decentralized control, prefer pairings such that at frequencies \\(\omega\\) around crossover, the rearranged matrix \\(G(j\omega)\\) (with the paired elements along the diagonal) is close to triangular. This is equivalent to requiring \\(\Lambda(G(j\omega)) \approx I\\), i.e. the RGA-number \\(\\|\Lambda(G(j\omega)) - I\\|\_\text{sum}\\) should be small. @@ -5636,7 +6629,7 @@ Mathematically, the system possesses integrity if it remains stable when the con An even stronger requirement is that the system remains stable as the gain in various loops are reduced: \\(0 \le \epsilon\_i \le 1\\). -
+
The plant \\(G(s)\\) (corresponding to a given pairing with the paired elements along its diagonal) is **Decentralized Integral Controllability** (DIC) if there exists a stabilizing decentralized controller with **integral action in each loop** such that each individual loop may be detuned independently by a factor \\(\epsilon\_1\\) (\\(0 \le \epsilon\_i \le 1\\)) without introducing instability. @@ -5653,10 +6646,10 @@ If a pairing of outputs and manipulated inputs corresponds to a **negative stead This can be summarized as follows: -
+
-\begin{equation} +\begin{equation} \label{eq:decent\_contr\_necessary\_cond\_stability} \begin{aligned} &\text{A stable (reordered) plant } G(s)\\\\\\ &\text{is DIC only if } \lambda\_{ii}(0) \ge 0 \text{ for all } i @@ -5675,16 +6668,20 @@ We have the following implications: - If we start by closing the loop involving input \\(u\_i\\) and \\(y\_j\\), then we will get a RHP-zero in \\(G^{ij}(s)\\) which will limit the performance in the other outputs - If we end by closing this loop, then we will get a RHP-zero in \\(\hat{g}\_{ij}(s)\\) which will limit the performance in output \\(y\_i\\) -
+
+**Pairing Rule 2**: + For a stable plant, avoid pairings that corresponds to negative steady-state RGA-elements \\(\lambda\_{ij}(0) < 0\\)
-
+
+\\(3 \times 3\\) plant: + \begin{align\*} G(0) &= \begin{bmatrix} 10.2 & 5.6 & 1.4 \\\\\\ @@ -5700,11 +6697,14 @@ G(0) &= \begin{bmatrix} For a \\(3 \times 3\\) plant there are 6 alternative pairings. From the steady state RGA, we see that there is only one positive element in columns 2, and only positive element in row 3, and therefore there is only on possible pairing if we require DIC: -\\[ u\_1 \leftrightarrow y\_2,\ u\_2 \leftrightarrow y\_1,\ u\_3 \leftrightarrow y\_3 \\] + +\begin{equation\*} + u\_1 \leftrightarrow y\_2,\ u\_2 \leftrightarrow y\_1,\ u\_3 \leftrightarrow y\_3 +\end{equation\*}
-
+
\begin{align\*} @@ -5770,7 +6770,7 @@ Let \\(L\_i = g\_{ii} k\_i\\) denote the loop transfer function in loop \\(i\\). Consider frequencies where feedback is effective so \\(\tilde{S}\Gamma\\) is small. Then for **acceptable disturbance rejection** (\\(|e\_i| < 1\\)) we must with decentralized control required for each loop \\(i\\) -\begin{equation} +\begin{equation} \label{eq:decent\_contr\_cond\_perf\_dist} \tcmbox{|1 + L\_i| > |\tilde{g}\_{di}| \quad \forall i} \end{equation} @@ -5784,7 +6784,7 @@ Consider a change in reference for output \\(j\\) of magnitude \\(R\_j\\). Consider frequencies where feedback is effective. Then for **acceptable reference tracking** (\\(|e\_i|<1\\)) we must require for each loop \\(i\\) -\begin{equation} +\begin{equation} \label{eq:decent\_contr\_cond\_perf\_ref} \tcmbox{|1 + L\_i| > |\gamma\_{ij}| \cdot |R\_j| \quad \forall i} \end{equation} @@ -5812,7 +6812,7 @@ When a reasonable choice of pairings have been made, one should rearrange \\(G\\
  • For systems with many loops, it is best to perform the analysis one loop at the time, that is, for each loop \\(i\\), plot \\(|\tilde{g}\_{dik}|\\) for each disturbance \\(k\\) and plot \\(|\gamma\_{ij}|\\) for each reference \\(j\\). For performance, we need \\(|1 + L\_i|\\) to be larger than each of these: -\begin{equation} +\begin{equation} \label{eq:decent\_contr\_one\_loop} |1 + L\_i| > \max\_{k,j}\\{|\tilde{g}\_{dik}|, |\gamma\_{ij}|\\} \end{equation} @@ -5822,7 +6822,7 @@ Since with decentralized control, we usually want to use simple controllers, the
  • Check for constraints by considering the elements of \\(G^{-1} G\_d\\) and make sure that they do not exceed one in magnitude within the frequency range where control is needed. Equivalently, one may for each loop \\(i\\), plot \\(|g\_{ii}|\\) and the requirement is then that -\begin{equation} +\begin{equation} \label{eq:decent\_contr\_dist\_rejec\_cond} |g\_{ii}| > |\tilde{g}\_{dik}| \quad \forall k \end{equation} @@ -5864,7 +6864,7 @@ The conditions are also useful in an **input-output controllability analysis** f ## Model Reduction {#model-reduction} - + ### Introduction {#introduction} @@ -5873,9 +6873,11 @@ Modern controller design methods such as \\(\mathcal{H}\_\infty\\) and LQG, prod These control laws may be **too complex** with regards to **practical implementation** and simpler designs are then sought. For this purpose, one can **either reduce the order of the plant model prior to controller design, or reduce the controller in the final stage**.
    -
    +
    +**Model Reduction Problem**: + Given a high-order linear time-invariant stable model \\(G\\), find a low-order approximation \\(G\_a\\) such that the infinity (\\(\mathcal{H}\_\infty\\) or \\(\mathcal{L}\_\infty\\)) norm of the difference \\(\\|G - G\_a\\|\_\infty\\) is small.
    @@ -5886,7 +6888,7 @@ This is sometimes called the **McMillan degree**.
    So far we have only been interested in the infinity (\\(\mathcal{H}\_\infty\\)) norm of stable systems. But the error \\(G-G\_a\\) may be unstable and **the definition of the infinity norm needs to be extended to unstable systems**. -
    +
    \\(\mathcal{L}\_\infty\\) defines the set of rational functions which have no poles on the imaginary axis, it includes \\(\mathcal{H}\_\infty\\), and its norm (like \\(\mathcal{H}\_\infty\\)) is given by @@ -5912,7 +6914,7 @@ We will describe this realization, but first we will show how the techniques of ### Truncation and Residualization {#truncation-and-residualization} -Let \\((A,B,C,D)\\) be a minimal realization of a stable system \\(G(s)\\), and partition the state vector \\(x\\), of dimension \\(n\\), into \\(\colvec{x\_1 \\ x\_2}\\) where \\(x\_2\\) is the vector of \\(n-k\\) states we wish to remove. +Let \\((A,B,C,D)\\) be a minimal realization of a stable system \\(G(s)\\), and partition the state vector \\(x\\), of dimension \\(n\\), into \\(\begin{bmatrix}x\_1 \cr x\_2\end{bmatrix}\\) where \\(x\_2\\) is the vector of \\(n-k\\) states we wish to remove. With approximate partitioning of \\(A\\), \\(B\\) and \\(C\\), the state space equations become \begin{equation} @@ -5941,9 +6943,12 @@ For simplicity, assume that \\(A\\) has been diagonalized so that \lambda\_1 & 0 & \dots & 0 \\\\\\ 0 & \lambda\_2 & \dots & 0 \\\\\\ \vdots & \vdots & \ddots & \vdots \\\\\\ - 0 & 0 & \dots & \lambda\_n \\\\\\ + 0 & 0 & \dots & \lambda\_n \end{bmatrix},\quad B = \begin{bmatrix} - b\_1^T \\ b\_2^T \\ \vdots \\ b\_n^T + b\_1^T \\\\\\ + b\_2^T \\\\\\ + \vdots \\\\\\ + b\_n^T \end{bmatrix} \\\\\\ C &= \begin{bmatrix} c\_1, c\_2, \dots, c\_n @@ -5952,7 +6957,11 @@ For simplicity, assume that \\(A\\) has been diagonalized so that Then, if the \\(\lambda\_i\\) are ordered so that \\(|\lambda\_1| < |\lambda\_2| < \dots\\), the fastest modes are removed from the model after truncation. The difference between \\(G\\) and \\(G\_a\\) following a k-th order model truncation is given by -\\[ G - G\_a = \sum\_{i = k+1}^n \frac{c\_i b\_i^T}{s - \lambda\_i} \\] + +\begin{equation\*} + G - G\_a = \sum\_{i = k+1}^n \frac{c\_i b\_i^T}{s - \lambda\_i} +\end{equation\*} + and therefore \begin{equation} @@ -6010,22 +7019,18 @@ A balanced realization is an asymptotically stable minimal realization in which Let \\((A,B,C,D)\\) be a minimal realization of a stable, rational transfer function \\(G(s)\\), then \\((A,B,C,D)\\) is called **balanced** if the solutions to be following Lyapunov equations -\begin{subequations} - \begin{align} - AP + PA^T + BB^T &= 0 \\\\\\ - A^TQ + QA + C^TC &= 0 - \end{align} -\end{subequations} +\begin{align} + AP + PA^T + BB^T &= 0 \\\\\\ + A^TQ + QA + C^TC &= 0 +\end{align} are \\(P = Q = \text{diag}(\sigma\_1, \sigma\_2, \dots, \sigma\_n) \triangleq \Sigma\\), where \\(\sigma\_1 \ge \sigma\_2 \ge \dots \ge \sigma\_n > 0\\). \\(P\\) and \\(Q\\) are the **controllability and observability Gramiams**, also defined by -\begin{subequations} - \begin{align} - P &\triangleq \int\_0^\infty e^{At} B B^T e^{A^Tt} dt \\\\\\ - Q &\triangleq \int\_0^\infty e^{A^Tt} C^T C e^{At} dt - \end{align} -\end{subequations} +\begin{align} + P &\triangleq \int\_0^\infty e^{At} B B^T e^{A^Tt} dt \\\\\\ + Q &\triangleq \int\_0^\infty e^{A^Tt} C^T C e^{At} dt +\end{align} \\(\Sigma\\) is therefore simply referred to as the Gramiam of \\(G(s)\\). The \\(\sigma\_i\\) are the **ordered Hankel singular values** of \\(G(s)\\), more generally defined as \\(\sigma\_i \triangleq \lambda\_i^{\frac{1}{2}}(PQ)\\), \\(i = 1, \dots, n\\). @@ -6033,7 +7038,7 @@ Notice that \\(\sigma\_1 = \\|G\\|\_H\\) is the Hankel norm of \\(G(s)\\).
    In balanced realization the value of each \\(\sigma\_i\\) is associated with a state \\(x\_i\\) of the balanced system. -
    +
    The size of \\(\sigma\_i\\) is a relative measure of the contribution that \\(x\_i\\) makes to the input-output behavior of the system. @@ -6111,10 +7116,10 @@ Then In this approach to model reduction, the problem that is directly addressed is the following: given a stable model \\(G(s)\\) of order \\(n\\), find a reduced order model \\(G\_h^k(s)\\) of degree \\(k\\) such that the Hankel norm of the approximation error, \\(\\| G(s) - G\_h^k(s) \\|\_H\\), is minimized. -
    +
    -The Hankel norm of any stable transfer function \\(E(s)\\) is defined as +The **Hankel norm** of any stable transfer function \\(E(s)\\) is defined as \begin{equation} \\| E(s) \\|\_H \triangleq \rho^{\frac{1}{2}} (PQ) @@ -6142,27 +7147,44 @@ Let \\((A,B,C,D)\\) be a balanced realization of \\(G(s)\\) with the Hankel sing \end{align\*} Partition \\((A,B,C,D)\\) to conform with \\(\Sigma\\) -\\[ A = \begin{bmatrix} A\_{11} & A\_{12} \\ A\_{21} & A\_{22} \end{bmatrix},\ B = \begin{bmatrix} B\_1 \\ B\_2 \end{bmatrix},\ C = \begin{bmatrix} C\_1 & C\_2 \end{bmatrix} \\] + +\begin{equation\*} + A = \begin{bmatrix} + A\_{11} & A\_{12} \\\\\\ + A\_{21} & A\_{22} + \end{bmatrix},\ B = \begin{bmatrix} + B\_1 \\\\\\ + B\_2 + \end{bmatrix},\ C = \begin{bmatrix} + C\_1 & C\_2 + \end{bmatrix} +\end{equation\*} + Define \\((\hat{A},\hat{B},\hat{C},\hat{D})\\) by -\begin{subequations} \begin{align} \hat{A} &\triangleq \Gamma^{-1} \left( \sigma\_{k+1}^2 A\_{11}^T + \sigma\_1 A\_{11} \Sigma\_1 - \sigma\_{k+1} C\_{1}^T U B\_{1}^T \right) \\\\\\ \hat{B} &\triangleq \Gamma^{-1} \left( \sigma\_1 B\_1 + \sigma\_{k+1} C\_1^T U \right) \\\\\\ \hat{C} &\triangleq C\_1 \Sigma\_1 + \sigma\_{k+1} U B\_1^T \\\\\\ \hat{D} &\triangleq D - \sigma\_{k+1} U \end{align} -\end{subequations} where \\(U\\) is a unitary matrix satisfying -\\[ B\_2 = - C\_2^T U \ \text{ and } \ \Gamma \triangleq \Sigma\_1^2 - \sigma\_{k+1}^2 I \\] + +\begin{equation\*} + B\_2 = - C\_2^T U \ \text{ and } \ \Gamma \triangleq \Sigma\_1^2 - \sigma\_{k+1}^2 I +\end{equation\*} The matrix \\(\hat{A}\\) has \\(k\\) "stable" eigenvalues; the remaining ones are in the open right-half plane. Then -\\[ G\_h^k(s) + F(s) = \left[ \begin{array}{c|cc} - \hat{A} & \hat{B} \\ \hline + +\begin{equation\*} + G\_h^k(s) + F(s) = \left[ \begin{array}{c|cc} + \hat{A} & \hat{B} \cr \hline \hat{C} & \hat{D} -\end{array} \right] \\] +\end{array} \right] +\end{equation\*} + where \\(G\_h^k(s)\\) is a stable optimal Hankel norm approximation of order \\(k\\), and \\(F(s)\\) is an anti-stable (all poles in the open right-half plane) transfer function of order \\(n-k-l\\). The Hankel norm of the error between \\(G\\) and the optimal approximation \\(G\_h^k\\) is equal to the \\((k+1)\text{'th}\\) Hankel singular value of \\(G\\): @@ -6184,7 +7206,7 @@ The truncated and optimal Hankel norm approximated systems do not preserve the s However, this scaling generally introduced **large model errors at other frequencies**. -
    +
    Hence **residualization** is to be preferred whenever low frequency matching is desired. @@ -6271,4 +7293,4 @@ In such a case, using truncation or optimal Hankel norm approximation with appro ## Bibliography {#bibliography} -Skogestad, Sigurd, and Ian Postlethwaite. 2007. _Multivariable Feedback Control: Analysis and Design_. John Wiley. +Skogestad, Sigurd, and Ian Postlethwaite. 2007. _Multivariable Feedback Control: Analysis and Design_. John Wiley. diff --git a/content/book/taghirad13_paral.md b/content/book/taghirad13_paral.md index 947b3ff..481bdab 100644 --- a/content/book/taghirad13_paral.md +++ b/content/book/taghirad13_paral.md @@ -8,7 +8,7 @@ Tags : [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Reference Books]({{< relref "reference_books" >}}) Reference -: ([Taghirad 2013](#org2a7dc83)) +: ([Taghirad 2013](#org128f66e)) Author(s) : Taghirad, H. @@ -22,24 +22,24 @@ PDF version ## Introduction {#introduction} - + This book is intended to give some analysis and design tools for the increase number of engineers and researchers who are interested in the design and implementation of parallel robots. A systematic approach is presented to analyze the kinematics, dynamics and control of parallel robots. To define the motion characteristics of such robots, it is necessary to represent 3D motion of the robot moving platform with respect to a fixed coordinate. This issue leads to the requirements for 3D representation of position, orientation and motion of bodies in space. -In chapter [sec:motion_representation](#sec:motion_representation), such representation are introduced with emphasis on screw coordinates, which makes the representation of the general motion of the robot much easier to follow.
    +In chapter , such representation are introduced with emphasis on screw coordinates, which makes the representation of the general motion of the robot much easier to follow.
    Kinematic analysis refers to the study of robot motion geometry without considering the forces and torques that cause the motion. -In this analysis (chapter [sec:kinematics](#sec:kinematics)), the relation between the geometrical parameters of the manipulator and the final motion of the moving platform is derived and analyzed.
    +In this analysis (chapter ), the relation between the geometrical parameters of the manipulator and the final motion of the moving platform is derived and analyzed.
    -In Chapter [sec:jacobian](#sec:jacobian), the kinematics analysis of robot manipulators is further examined beyond static positioning. +In Chapter , the kinematics analysis of robot manipulators is further examined beyond static positioning. Jacobian analysis not only reveals the relation between the joint variable velocities of a parallel manipulator and the moving platform linear and angular velocities, but also constructs the transformation needed to find the actuator forces from the forces and moments acting on the moving platform. A systematic means to perform Jacobian analysis of parallel manipulators is given in this chapter.
    Dynamic analysis of parallel manipulators presents an inherent complexity due to their closed-loop structure and kinematic constraints. Nevertheless, dynamic modeling is quite important for the control, in particular because parallel manipulators are preferred in applications where precise positioning and suitable dynamic performance under high loads are the prime requirements. -In Chapter [sec:dynamics](#sec:dynamics), the dynamic analysis of such robots is examined through three methods, namely the Newton-Euler principle of virtual work and Lagrange formations. +In Chapter , the dynamic analysis of such robots is examined through three methods, namely the Newton-Euler principle of virtual work and Lagrange formations. Furthermore, a method is presented in this chapter to formulate the dynamic equation of parallel robots into closed form, by which the dynamic matrices are more tractable, and dynamics verification becomes feasible.
    The control of parallel robots is elaborated in the last two chapters, in which both the motion and force control are covered. @@ -47,14 +47,14 @@ The control of parallel robots is elaborated in the last two chapters, in which ## Motion Representation {#motion-representation} - + ### Spatial Motion Representation {#spatial-motion-representation} Six independent parameters are sufficient to fully describe the spatial location of a rigid body. -Consider a rigid body in a spatial motion as represented in Figure [fig:rigid_body_motion](#fig:rigid_body_motion). +Consider a rigid body in a spatial motion as represented in Figure [1](#org5836a85). Let us define: - A **fixed reference coordinate system** \\((x, y, z)\\) denoted by frame \\(\\{\bm{A}\\}\\) whose origin is located at point \\(O\_A\\) @@ -62,7 +62,7 @@ Let us define: The absolute position of point \\(P\\) of the rigid body can be constructed from the relative position of that point with respect to the moving frame \\(\\{\bm{B}\\}\\), and the **position and orientation** of the moving frame \\(\\{\bm{B}\\}\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\). - + {{< figure src="/ox-hugo/taghirad13_rigid_body_motion.png" caption="Figure 1: Representation of a rigid body spatial motion" >}} @@ -87,7 +87,7 @@ It can be **represented in several different ways**: the rotation matrix, the sc ##### Rotation Matrix {#rotation-matrix} We consider a rigid body that has been exposed to a pure rotation. -Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#orga968fe2)). +Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#org808f5cb)). A \\(3 \times 3\\) rotation matrix \\({}^A\bm{R}\_B\\) is defined by @@ -109,7 +109,7 @@ in which \\({}^A\hat{\bm{x}}\_B, {}^A\hat{\bm{y}}\_B\\) and \\({}^A\hat{\bm{z}}\ The nine elements of the rotation matrix can be simply represented as the projections of the Cartesian unit vectors of frame \\(\\{\bm{B}\\}\\) on the unit vectors of frame \\(\\{\bm{A}\\}\\). - + {{< figure src="/ox-hugo/taghirad13_rotation_matrix.png" caption="Figure 2: Pure rotation of a rigid body" >}} @@ -135,7 +135,7 @@ The term screw axis for this axis of rotation has the benefit that a general mot The screw axis representation has the benefit of **using only four parameters** to describe a pure rotation. These parameters are the angle of rotation \\(\theta\\) and the axis of rotation which is a unit vector \\({}^A\hat{\bm{s}} = [s\_x, s\_y, s\_z]^T\\). - + {{< figure src="/ox-hugo/taghirad13_screw_axis_representation.png" caption="Figure 3: Pure rotation about a screw axis" >}} @@ -161,7 +161,7 @@ Three other types of Euler angles are consider with respect to a moving frame: t The pitch, roll and yaw angles are defined for a moving object in space as the rotations along the lateral, longitudinal and vertical axes attached to the moving object. - + {{< figure src="/ox-hugo/taghirad13_pitch-roll-yaw.png" caption="Figure 4: Definition of pitch, roll and yaw angles on an air plain" >}} @@ -237,7 +237,7 @@ Since the relative positions of a rigid body with respect to a moving frame \\(\ Representation of the position of \\(O\_B\\) is uniquely given by the position vector, while orientation of the rigid body is represented in different forms. However, for all possible orientation representation, a rotation matrix \\({}^A\bm{R}\_B\\) can be derived.
    -
    +
    Therefore, the location or **pose** of a rigid body, can be **fully determined** by: @@ -249,12 +249,13 @@ Therefore, the location or **pose** of a rigid body, can be **fully determined** The position of any point \\(P\\) of the rigid body with respect to the fixed frame \\(\\{\bm{A}\\}\\), which is denoted \\({}^A\bm{P}\\) may be determined thanks to the Chasles' theorem. -
    +
    +**Chasles' theorem**: If the pose of a rigid body \\(\\{{}^A\bm{R}\_B, {}^A\bm{P}\_{O\_B}\\}\\) is given, then the position of any point \\(P\\) of this rigid body with respect to \\(\\{\bm{A}\\}\\) is given by: -\begin{equation} +\begin{equation} \label{eq:chasles\_therorem} {}^A\bm{P} = {}^A\bm{R}\_B {}^B\bm{P} + {}^A\bm{P}\_{O\_B} \end{equation} @@ -265,7 +266,7 @@ If the pose of a rigid body \\(\\{{}^A\bm{R}\_B, {}^A\bm{P}\_{O\_B}\\}\\) is giv To describe general transformations, we introduce the \\(4\times1\\) **homogeneous coordinates**, and Eq. \eqref{eq:chasles_therorem} is generalized to -\begin{equation} +\begin{equation} \label{eq:homogeneous\_transformation} \boxed{{}^A\bm{P} = {}^A\bm{T}\_B {}^B\bm{P}} \end{equation} @@ -283,21 +284,21 @@ On the contrary, there exist quantities likes orientation that **hold for the wh For line vectors, both orientation and translation of the moving frame contribute to their value. Homogeneous coordinate of such vectors is generated by appending \\(1\\) to the three components of that vector: -\begin{equation} +\begin{equation} \label{eq:homogeneous\_coord\_line\_vector} \boxed{\bm{V} = \begin{bmatrix} v\_x \\ v\_y \\ v\_z \\ 1 \end{bmatrix}} \end{equation} For free vectors, only the orientation of the moving frame contributes to their value. The homogeneous coordinate is then -\begin{equation} +\begin{equation} \label{eq:homogeneous\_coord\_free\_vector} \boxed{\bm{\omega} = \begin{bmatrix} \omega\_x \\ \omega\_y \\ \omega\_z \\ 0 \end{bmatrix}} \end{equation} #### Homogeneous Transformation Matrix {#homogeneous-transformation-matrix} -
    +
    The **homogeneous transformation matrix** is a \\(4\times4\\) matrix, defined for the purpose of transformation mapping of a vector in a homogeneous coordinate from one frame to another in a compact form. @@ -309,9 +310,9 @@ It is partitioned as follows: \left[ \begin{array}{ccc|c} & & & \\\\\\ & {}^A\bm{R}\_B & & {}^A\bm{P}\_{O\_B} \\\\\\ - & & & \\\\\\ + & & & \cr \hline - 0 & 0 & 0 & 1 \\\\\\ + 0 & 0 & 0 & 1 \end{array} \right] \end{equation} @@ -320,32 +321,32 @@ It is partitioned as follows: The homogeneous transformation matrix \\({}^A\bm{T}\_B\\) is a \\(4\times4\\) matrix operator mapping **vector valued** quantities represented by \\(4\times1\\) homogeneous coordinates.: \begin{align\*} - \left[ \begin{array}{c} \\ {}^A\bm{P} \\ \\ \hline 1 \end{array} \right] + \left[ \begin{array}{c} \\ {}^A\bm{P} \\ \cr \hline 1 \end{array} \right] & = \left[ \begin{array}{ccc|c} & & & \\\\\\ & {}^A\bm{R}\_B & & {}^A\bm{P}\_{O\_B} \\\\\\ - & & & \\\\\\ + & & & \cr \hline - 0 & 0 & 0 & 1 \\\\\\ + 0 & 0 & 0 & 1 \end{array} \right] - \left[ \begin{array}{c} \\ {}^B\bm{P} \\ \\ \hline 1 \end{array} \right] \\\\\\ + \left[ \begin{array}{c} \\ {}^B\bm{P} \\ \cr \hline 1 \end{array} \right] \\\\\\ {}^A\bm{P} &= {}^A\bm{R}\_B {}^B\bm{P} + {}^A\bm{P}\_{O\_B} \end{align\*} Using homogeneous coordinate for a **free vector** like angular velocity of a rigid body: \begin{align\*} - \left[ \begin{array}{c} \\ {}^A\bm{\omega} \\ \\ \hline 0 \end{array} \right] + \left[ \begin{array}{c} \\ {}^A\bm{\omega} \\ \cr \hline 0 \end{array} \right] & = \left[ \begin{array}{ccc|c} & & & \\\\\\ & {}^A\bm{R}\_B & & {}^A\bm{P}\_{O\_B} \\\\\\ - & & & \\\\\\ + & & & \cr \hline - 0 & 0 & 0 & 1 \\\\\\ + 0 & 0 & 0 & 1 \end{array} \right] - \left[ \begin{array}{c} \\ {}^B\bm{\omega} \\ \\ \hline 0 \end{array} \right] \\\\\\ + \left[ \begin{array}{c} \\ {}^B\bm{\omega} \\ \cr \hline 0 \end{array} \right] \\\\\\ {}^A\bm{P} &= {}^A\bm{R}\_B {}^B\bm{P} \end{align\*} @@ -363,10 +364,10 @@ There exist transformations to from screw displacement notation to the transform ##### Consecutive transformations {#consecutive-transformations} -Let us consider the motion of a rigid body described at three locations (Figure [fig:consecutive_transformations](#fig:consecutive_transformations)). +Let us consider the motion of a rigid body described at three locations (Figure [5](#orgda91190)). Frame \\(\\{\bm{A}\\}\\) represents the initial location, frame \\(\\{\bm{B}\\}\\) is an intermediate location, and frame \\(\\{\bm{C}\\}\\) represents the rigid body at its final location. - + {{< figure src="/ox-hugo/taghirad13_consecutive_transformations.png" caption="Figure 5: Motion of a rigid body represented at three locations by frame \\(\\{\bm{A}\\}\\), \\(\\{\bm{B}\\}\\) and \\(\\{\bm{C}\\}\\)" >}} @@ -382,7 +383,7 @@ And we have: From which, the consecutive transformation can be defined as follows: -\begin{equation} +\begin{equation} \label{eq:consecutive\_transformation} \boxed{{}^A\bm{T}\_C = {}^A\bm{T}\_B {}^B\bm{T}\_C} \end{equation} @@ -399,7 +400,7 @@ To obtain \\({}^B\bm{T}\_A\\), it is necessary to compute \\({}^B\bm{R}\_A\\) an \left[ \begin{array}{ccc|c} & & & \\\\\\ & {}^B\bm{R}\_A & & {}^B\bm{P}\_{O\_A} \\\\\\ - & & & \\\\\\ + & & & \cr \hline 0 & 0 & 0 & 1 \\\\\\ \end{array} \right] @@ -420,7 +421,7 @@ Hence, the **inverse of the transformation matrix** can be obtain by \left[ \begin{array}{ccc|c} & & & \\\\\\ & {}^A\bm{R}\_B^T & & -{}^A \bm{R}\_B^T {}^A\bm{P}\_{O\_B} \\\\\\ - & & & \\\\\\ + & & & \cr \hline 0 & 0 & 0 & 1 \\\\\\ \end{array} \right] @@ -429,15 +430,15 @@ Hence, the **inverse of the transformation matrix** can be obtain by ## Kinematics {#kinematics} - + ### Introduction {#introduction} -
    +
    -Kinematic analysis refers to the study of the geometry of motion of a robot, without considering the forces an torques that cause the motion. +**Kinematic analysis** refers to the study of the geometry of motion of a robot, without considering the forces an torques that cause the motion. In this analysis, the relation between the geometrical parameters of the manipulator with the final motion of the moving platform is derived and analyzed.
    @@ -482,12 +483,12 @@ in which \\(\vec{AA\_i}\\) and \\(\vec{BB\_i}\\) can be easily obtained from the Let us defined \\(\bm{a}\_i = \vec{AA\_i}\\) in the fixed frame \\(\\{\bm{A}\\}\\), and \\(\bm{b}\_i = \vec{BB\_i}\\) in the moving frame \\(\\{\bm{B}\\}\\). Furthermore, \\(\bm{q}\_i = \vec{A\_iB\_i}\\) is defined as the **limb variable**, which indicated the geometry of the limb. -
    +
    The **loop closure** can be written as the unknown pose variables \\(\bm{p}\\) and \\(\bm{R}\\), the position vectors describing the known geometry of the base and of the moving platform, \\(\bm{a}\_i\\) and \\(\bm{b}\_i\\), and the limb vector \\(\bm{q}\_i\\) -\begin{equation} +\begin{equation} \label{eq:loop\_closure} \bm{p} = \bm{a}\_i + \bm{q}\_i - \bm{R} \bm{b}\_i \quad \text{for } i=1,2,\dots,n \end{equation} @@ -508,7 +509,7 @@ One frame \\(\\{\bm{A}\\}\\) is attached to the fixed base and frame \\(\\{\bm{B The number of actuators is equal to the degrees-of-freedom of the manipulator and hence the manipulator is **fully parallel**. -
    +
    Since all the limbs are connected to the moving platform and to the base by spherical joints, **no twisting torque** can be transmitted and the force acting on each limb is directed along the longitudinal axis of the limb. @@ -518,7 +519,7 @@ Since all the limbs are connected to the moving platform and to the base by sphe #### Geometry of the Manipulator {#geometry-of-the-manipulator} -
    +
    The position of the attachment points on the fixed base are denoted by the vectors \\(\bm{a}\_i\\) and the position of moving attachment points are denoted by the vectors \\(\bm{b}\_i\\). @@ -528,7 +529,7 @@ The geometry of each limb is described by its length \\(l\_i\\) and its directio The position of the point \\(O\_B\\) of the moving platform is described by the **position vector** \\({}^A\bm{P} = [p\_x\ p\_y\ p\_z]^T\\) and orientation of the moving platform is described by the **rotation matrix** \\({}^A\bm{R}\_B\\) which can by represented by the components of the unit vectors \\(\hat{\bm{u}}\\), \\(\hat{\bm{v}}\\), \\(\hat{\bm{z}}\\) as follows: -\begin{equation} +\begin{equation} \label{eq:rotation\_matrix} ^A\bm{R}\_B = \begin{bmatrix} u\_x & v\_x & w\_x \\\\\\ u\_y & v\_y & w\_y \\\\\\ @@ -536,16 +537,16 @@ The position of the point \\(O\_B\\) of the moving platform is described by the \end{bmatrix} \end{equation} - + {{< figure src="/ox-hugo/taghirad13_stewart_schematic.png" caption="Figure 6: Geometry of a Stewart-Gough platform" >}} -The geometry of the manipulator is shown Figure [fig:stewart_schematic](#fig:stewart_schematic). +The geometry of the manipulator is shown Figure [6](#org3a7000d). #### Inverse Kinematics {#inverse-kinematics} -
    +
    For **inverse kinematic analysis**, it is assumed that the position \\({}^A\bm{P}\\) and orientation of the moving platform \\({}^A\bm{R}\_B\\) are given and the problem is to obtain the joint variables \\(\bm{L} = \left[ l\_1, l\_2, l\_3, l\_4, l\_5, l\_6 \right]^T\\). @@ -554,7 +555,7 @@ For **inverse kinematic analysis**, it is assumed that the position \\({}^A\bm{P From the geometry of the manipulator, one can write: -\begin{equation} +\begin{equation} \label{eq:inverse\_kinematics} {}^A \bm{a}\_i + l\_i {}^A \hat{\bm{s}}\_i = {}^A\bm{P} + {}^A\bm{b}\_i \end{equation} @@ -573,7 +574,7 @@ Otherwise, the solution gives complex numbers. #### Forward Kinematics {#forward-kinematics} -
    +
    In **forward kinematic analysis**, it is assumed that the vector of limb lengths \\(\bm{L}\\) is given and the problem is to find the position \\({}^A\bm{P}\\) and the orientation \\({}^A\bm{R}\_B\\). @@ -589,12 +590,12 @@ The complexity of the problem depends widely on the manipulator architecture and ## Jacobian: Velocities and Static Forces {#jacobian-velocities-and-static-forces} - + ### Introduction {#introduction} -
    +
    The Jacobian matrix not only reveals the **relation between the joint variable velocities of a parallel manipulator to the moving platform linear and angular velocities**, it also constructs the transformation needed to find the **actuator forces from the forces and moments acting on the moving platform**. @@ -620,7 +621,7 @@ Therefore, it is necessary to define the arithmetics to transform the relative v Angular velocity is an attribute of a rigid body that describes the rotational motion of the frame \\(\\{\bm{B}\\}\\) that is attached to the rigid body. -
    +
    The **angular velocity vector** \\(\bm{\Omega}\\) describes the instantaneous rotation of frame \\(\\{\bm{B}\\}\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\). @@ -630,13 +631,13 @@ The direction of \\(\bm{\Omega}\\) indicates the instantaneous axis of rotation The angular velocity vector is related to the screw formalism by equation \eqref{eq:angular_velocity_vector}. -\begin{equation} +\begin{equation} \label{eq:angular\_velocity\_vector} \boxed{\bm{\Omega} \triangleq \dot{\theta} \hat{\bm{s}}} \end{equation} The angular velocity can be expressed in any frame. For example \\({}^A\bm{\Omega}\\) denotes the angular velocity of the rigid body expressed in the frame \\(\\{\bm{A}\\}\\) and we have: -\begin{equation} +\begin{equation} \label{eq:angular\_velocity\_frame\_A} \begin{aligned} ^A \bm{\Omega} &= \Omega\_x \hat{\bm{x}} + \Omega\_y \hat{\bm{y}} + \Omega\_z \hat{\bm{z}} \\\\\\ &= \dot{\theta}\left( s\_x \hat{\bm{x}} + s\_y \hat{\bm{y}} + s\_z \hat{\bm{z}} \right) @@ -651,32 +652,32 @@ in which \\(\Omega\_x\\), \\(\Omega\_y\\) and \\(\Omega\_z\\) are the three comp Linear velocity of a point P can be easily determined by the time derivative of the position vector \\(p\\) of that point with respect to a fixed frame: \begin{equation} - v\_p = \dot{p} = \left( \dv{p}{t} \right)\_{\text{fix}} + v\_p = \dot{p} = \left( \frac{dp}{dt} \right)\_{\text{fix}} \end{equation} If the variation of the position vector is determined with respect to a moving frame, we obtain the relative velocity: \begin{equation} - v\_{\text{rel}} = \left( \pdv{p}{t} \right)\_{\text{mov}} + v\_{\text{rel}} = \left( \frac{\partial p}{\partial t} \right)\_{\text{mov}} \end{equation} In classical mechanics, it is shown that the relation between absolute derivative of any vector to its relative derivative is given by: -\begin{equation} - \left( \dv{(\cdot)}{t} \right)\_{\text{fix}} = \left( \pdv{(\cdot)}{t} \right)\_{\text{mov}} + \bm{\Omega} \times (\cdot) +\begin{equation} \label{eq:rel\_fix\_derivative} + \left( \frac{d(\cdot)}{dt} \right)\_{\text{fix}} = \left( \frac{\partial (\cdot)}{\partial t} \right)\_{\text{mov}} + \bm{\Omega} \times (\cdot) \end{equation} in which \\(\bm{\Omega}\\) denotes the angular velocity of the moving frame with respect to the fixed frame. The term \\(\bm{\Omega}\times(\cdot)\\) can be written in matrix form: -\begin{equation} - \boxed{\left( \dv{(\cdot)}{t} \right)\_{\text{fix}} = \left( \pdv{(\cdot)}{t} \right)\_{\text{mov}} + \bm{\Omega}^\times(\cdot)} +\begin{equation} \label{eq:rel\_fix\_derivative\_matrix\_form} + \boxed{\left( \frac{d(\cdot)}{dt} \right)\_{\text{fix}} = \left( \frac{\partial (\cdot)}{\partial t} \right)\_{\text{mov}} + \bm{\Omega}^\times(\cdot)} \end{equation} The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined by: -\begin{equation} +\begin{equation} \label{eq:skew\_symmetric\_matrix} \boxed{\bm{\Omega}^\times = \begin{bmatrix} 0 & -\Omega\_z & \Omega\_y \\\\\\ \Omega\_z & 0 & -\Omega\_x \\\\\\ @@ -684,9 +685,9 @@ The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined \end{bmatrix}} \end{equation} -Now consider the general motion of a rigid body shown in Figure [fig:general_motion](#fig:general_motion), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\). +Now consider the general motion of a rigid body shown in Figure [7](#org48af385), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\). - + {{< figure src="/ox-hugo/taghirad13_general_motion.png" caption="Figure 7: Instantaneous velocity of a point \\(P\\) with respect to a moving frame \\(\\{\bm{B}\\}\\)" >}} @@ -699,16 +700,18 @@ To derive the velocity of point \\(P\\), we differentiate with respect to time: The time derivative of the rotation matrix \\({}^A\dot{\bm{R}}\_B\\) is: -\begin{equation} +\begin{equation} \label{eq:rotation\_matrix\_deriv} \boxed{{}^A\dot{\bm{R}}\_B = {}^A\bm{\Omega}^\times \ {}^A\bm{R}\_B} \end{equation} And we finally obtain equation \eqref{eq:absolute_velocity_formula}. -
    +
    -\begin{equation} +**Absolute Linear Velocity**: + +\begin{equation} \label{eq:absolute\_velocity\_formula} {}^A\bm{v}\_P = {}^A\bm{v}\_{O\_B} + {}^A\bm{\Omega}^\times \ {}^A\bm{R}\_B {}^B\bm{P} \end{equation} @@ -720,9 +723,10 @@ And we finally obtain equation \eqref{eq:absolute_velocity_formula}. Finite rotation of a rigid body can be expressed as a rotation \\(\theta\\) about a screw axis \\(\hat{\bm{s}}\\). Furthermore, it is shown that the angular velocity of a rigid body is also defined as the rate of instantaneous rotation angle \\(\dot{\theta}\\) about the same screw axis \\(\hat{\bm{s}}\\). -
    +
    +**Chasles' theorem**: The most general rigid-body displacement can be produced by a translation along a line followed by a rotation about the same line. Since this displacement is reminiscent of the displacement of a screw, it is called a **screw displacement**, and the line of axis is called the **screw axis**.
    @@ -750,16 +754,16 @@ We can differentiate this equation with respect to time and obtain: where -\begin{equation} - \bm{J}\_x = \pdv{f}{\bm{\mathcal{X}}} \quad \text{and} \quad \bm{J}\_q = -\pdv{f}{\bm{q}} +\begin{equation} \label{eq:jacobians} + \bm{J}\_x = \frac{\partial f}{\partial \bm{\mathcal{X}}} \quad \text{and} \quad \bm{J}\_q = -\frac{\partial f}{\partial \bm{q}} \end{equation} -
    +
    The **general Jacobian matrix** is defined as: -\begin{equation} +\begin{equation} \label{eq:jacobian\_disp} \dot{\bm{q}} = \bm{J} \dot{\bm{\mathcal{X}}} \end{equation} @@ -790,7 +794,7 @@ with By taking the time derivative, we obtain the following **Velocity Loop Closure**: -\begin{equation} +\begin{equation} \label{eq:velocity\_loop\_closure} \boxed{\dot{\bm{p}} = \dot{\bm{d}\_i} - \bm{\omega} \times \bm{R} \bm{b}\_i \quad \text{for}\ i = 1, \ldots, m} \end{equation} @@ -835,13 +839,13 @@ The input joint rate is denoted by \\(\dot{\bm{\mathcal{L}}} = [ \dot{l}\_1, \do The jacobian matrix can be derived by formulating a velocity loop closure equation of each limb. The loop closure equations for each limb are: -\begin{equation} +\begin{equation} \label{eq:loop\_closure\_limb} {}^A\bm{P} + {}^A\bm{R}\_B {}^B\bm{b}\_i = l\_i {}^A\hat{\bm{s}}\_i + {}^A\bm{a}\_i \end{equation} By differentiate this with respect to time: -\begin{equation} +\begin{equation} \label{eq:loop\_closure\_limb\_diff} {}^A\bm{v}\_p + {}^A \dot{\bm{R}}\_B {}^B\bm{b}\_i = \dot{l}\_i {}^A\hat{\bm{s}}\_i + l\_i {}^A\dot{\hat{\bm{s}}}\_i \end{equation} @@ -862,10 +866,12 @@ We then omit the superscript \\(A\\) and we can rearrange the 6 equations into a \boxed{\dot{\bm{\mathcal{L}}} = \bm{J} \dot{\bm{\mathcal{X}}}} \end{equation} -
    +
    -\begin{equation} +**Jacobian Matrix of a Stewart Platform**: + +\begin{equation} \label{eq:jacobian\_formula\_stewart} \bm{J} = \begin{bmatrix} {\hat{\bm{s}}\_1}^T & (\bm{b}\_1 \times \hat{\bm{s}}\_1)^T \\\\\\ {\hat{\bm{s}}\_2}^T & (\bm{b}\_2 \times \hat{\bm{s}}\_2)^T \\\\\\ @@ -919,7 +925,7 @@ Let the vector of actuator forces be denoted by \\(\bm{\tau} = [\tau\_1, \tau\_2 We assume that the frictional forces acting on the joints are negligible, and also that the gravitational forces of the limb links are much smaller than the interacting force of the moving platform to the environment. The principle of virtual work states that the total virtual work, \\(\delta W\\), done by all actuators and external forces is equal to zero: -\begin{equation} +\begin{equation} \label{eq:virtual\_work\_principle} \boxed{\delta W = \bm{\tau}^T \delta \bm{q} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0} \end{equation} @@ -929,12 +935,12 @@ Furthermore, from the definition of the Jacobian, the virtual displacements \\(\ We then have \\(\left( \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0\\) that holds for any arbitrary virtual displacement \\(\delta \bm{\mathcal{X}}\\), hence \\[ \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \\] -
    +
    We obtain that the **Jacobian matrix** constructs the **transformation needed to find the actuator forces** \\(\bm{\tau}\\) **from the wrench acting on the moving platform** \\(\bm{\mathcal{F}}\\): -\begin{equation} +\begin{equation} \label{eq:jacobian\_forces} \bm{\mathcal{F}} = \bm{J}^T \bm{\tau} \end{equation} @@ -943,9 +949,9 @@ We obtain that the **Jacobian matrix** constructs the **transformation needed to #### Static Forces of the Stewart-Gough Platform {#static-forces-of-the-stewart-gough-platform} -As shown in Figure [fig:stewart_static_forces](#fig:stewart_static_forces), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.
    +As shown in Figure [8](#orga0c6cd5), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.
    - + {{< figure src="/ox-hugo/taghirad13_stewart_static_forces.png" caption="Figure 8: Free-body diagram of forces and moments action on the moving platform and each limb of the Stewart-Gough platform" >}} @@ -1003,7 +1009,7 @@ Thus, the stiffness of a manipulator has a direct impact on its overall position The relation between the applied actuator force \\(\tau\_i\\) and the corresponding small deflection \\(\Delta q\_i\\) along the applied force axis can be approximated as a **linear function**: -\begin{equation} +\begin{equation} \label{eq:stiffness\_actuator} \boxed{\tau\_i = k\_i \cdot \Delta q\_i} \end{equation} @@ -1011,7 +1017,7 @@ in which \\(k\_i\\) denotes the **stiffness constant of the actuator**.
    Re-writing the equation \eqref{eq:stiffness_actuator} for all limbs in a matrix form result in -\begin{equation} +\begin{equation} \label{eq:stiffness\_matrix\_relation} \boxed{\bm{\tau} = \mathcal{K} \cdot \Delta \bm{q}} \end{equation} @@ -1020,7 +1026,7 @@ in which \\(\bm{\tau}\\) is the vector of actuator forces, and \\(\Delta \bm{q}\ Writing the Jacobian relation given in equation \eqref{eq:jacobian_disp} for infinitesimal deflection read -\begin{equation} +\begin{equation} \label{eq:jacobian\_disp\_inf} \Delta \bm{q} = \bm{J} \cdot \Delta \bm{\mathcal{X}} \end{equation} @@ -1028,22 +1034,24 @@ in which \\(\Delta \bm{\mathcal{X}} = [\Delta x\ \Delta y\ \Delta z\ \Delta\thet Furthermore, rewriting the Jacobian as the projection of actuator forces to the moving platform \eqref{eq:jacobian_forces} gives -\begin{equation} +\begin{equation} \label{eq:jacobian\_force\_inf} \bm{\mathcal{F}} = \bm{J}^T \bm{\tau} \end{equation} Hence, by substituting \eqref{eq:stiffness_matrix_relation} and \eqref{eq:jacobian_disp_inf} in \eqref{eq:jacobian_force_inf}, we obtain: -\begin{equation} +\begin{equation} \label{eq:stiffness\_jacobian} \boxed{\bm{\mathcal{F}} = \underbrace{\bm{J}^T \mathcal{K} \bm{J}}\_{\bm{K}} \cdot \Delta \bm{\mathcal{X}}} \end{equation} Equation \eqref{eq:stiffness_jacobian} implies that the moving platform output wrench is related to its deflection by the **stiffness matrix** \\(K\\). -
    +
    -\begin{equation} +**Stiffness Matrix**: + +\begin{equation} \label{eq:stiffness\_matrix} \bm{K} = \bm{J}^T \mathcal{K} \bm{J} \end{equation} @@ -1056,7 +1064,7 @@ The stiffness matrix has desirable characteristics for analysis: If the stiffness matrix is inversible (\\(\det( \bm{J}^T \bm{J}) \ne 0\\)), the **compliance matrix** of the manipulator is defined as -\begin{equation} +\begin{equation} \label{eq:compliance\_def} \boxed{\bm{C} = \bm{K}^{-1} = (\bm{J}^T \mathcal{K} \bm{J})^{-1}} \end{equation} @@ -1100,9 +1108,9 @@ in which \\(\sigma\_{\text{min}}\\) and \\(\sigma\_{\text{max}}\\) are the small #### Stiffness Analysis of the Stewart-Gough Platform {#stiffness-analysis-of-the-stewart-gough-platform} -In this section, we restrict our analysis to a 3-6 structure (Figure [fig:stewart36](#fig:stewart36)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\). +In this section, we restrict our analysis to a 3-6 structure (Figure [9](#org1aa505c)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\). - + {{< figure src="/ox-hugo/taghirad13_stewart36.png" caption="Figure 9: Schematic of a 3-6 Stewart-Gough platform" >}} @@ -1132,7 +1140,7 @@ The largest axis of the stiffness transformation hyper-ellipsoid is given by thi ## Dynamics {#dynamics} - + ### Introduction {#introduction} @@ -1181,9 +1189,10 @@ Deriving explicit dynamic equations for parallel manipulators is a very prohibit #### Acceleration of Rigid Bodies {#acceleration-of-rigid-bodies} -
    +
    +**Acceleration Analysis**: The acceleration analysis consists of studying the variations of linear velocity of a point and angular velocity of a rigid body with respect to time.
    @@ -1199,12 +1208,12 @@ Therefore, it is necessary to define the required arithmetics to transform the r To define angular acceleration of a rigid body, consider a moving frame \\(\\{\bm{B}\\}\\) attached to the rigid body, and the motion analyzed with respect to a fixed frame. Angular acceleration is an attribute of a rigid body and describes the variation of angular velocity of frame \\(\\{\bm{B}\\}\\) with respect to time. -
    +
    **Angular acceleration vector**, denoted by the symbol \\(\dot{\bm{\Omega}}\\), describes the instantaneous change of the angular velocity of frame \\(\\{\bm{B}\\}\\), denoted by \\(\bm{\Omega}\\), with respect to the fixed frame \\(\\{\bm{A}\\}\\): -\begin{equation} +\begin{equation} \label{eq:angular\_acceleration} \begin{aligned} \dot{\bm{\Omega}} = \frac{d \bm{\Omega}}{dt} &= \ddot{\theta} \hat{\bm{s}} + \dot{\theta} \dot{\hat{\bm{s}}} \\\\\\ &= \ddot{\theta} \hat{\bm{s}} + \dot{\theta} (\bm{\Omega} \times \hat{\bm{s}}) \\\\\\ @@ -1223,14 +1232,14 @@ As shown by \eqref{eq:angular_acceleration}, the angular acceleration of the rig Linear acceleration of a point \\(P\\) can be easily determined by time derivative of the velocity vector \\(\bm{v}\_P\\) of that point with respect to a fixed frame: -\begin{equation} +\begin{equation} \label{eq:linear\_acceleration} \bm{a}\_p = \dot{\bm{v}}\_p = \left( \frac{d\bm{v}\_p}{dt} \right)\_\text{fix} \end{equation} Note that this is correct only if the derivative is taken with respect to a **fixed** frame.
    Now consider the general motion of a rigid body, in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and the problem is to find the absolute acceleration of point \\(P\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\). -The rigid body performs a general motion, which is a combination of a translation, denoted by the velocity vector \\({}^A\bm{v}\_{O\_B}\\), and an instantaneous angular rotation denoted by \\(\bm{\Omega}\\) (see Figure [fig:general_motion](#fig:general_motion)). +The rigid body performs a general motion, which is a combination of a translation, denoted by the velocity vector \\({}^A\bm{v}\_{O\_B}\\), and an instantaneous angular rotation denoted by \\(\bm{\Omega}\\) (see Figure [7](#org48af385)). To determine acceleration of point \\(P\\), we start with the relation between absolute and relative velocities of point \\(P\\): \begin{equation} @@ -1263,7 +1272,7 @@ For the case where \\(P\\) is a point embedded in the rigid body, \\({}^B\bm{v}\ In this section, the properties of mass, namely **center of mass**, **moments of inertia** and its characteristics and the required transformations are described. - + {{< figure src="/ox-hugo/taghirad13_mass_property_rigid_body.png" caption="Figure 10: Mass properties of a rigid body" >}} @@ -1292,7 +1301,7 @@ Basically, for rotational motion, **the distribution of mass with respect to the Moments of inertia \\(\bm{I}\\) about \\(\bm{A}\\) is defined by the second moment of the mass with respect to a reference frame of rotation as: -\begin{equation} +\begin{equation} \label{eq:moment\_inertia} {}^A\bm{I} = \begin{bmatrix} I\_{XX} & I\_{XY} & I\_{XZ} \\\\\\ I\_{YX} & I\_{YY} & I\_{YZ} \\\\\\ @@ -1316,7 +1325,7 @@ in which As seen in equation \eqref{eq:moment_inertia}, the inertia matrix elements are a function of mass distribution of the rigid body with respect to the frame \\(\\{\bm{A}\\}\\). Hence, it is possible to find **orientations of frame** \\(\\{\bm{A}\\}\\) in which the product of inertia terms vanish and inertia matrix becomes **diagonal**: -\begin{equation} +\begin{equation} \label{eq:inertia\_matrix\_diagonal} {}^A\bm{I} = \begin{bmatrix} I\_{XX} & 0 & 0 \\\\\\ 0 & I\_{YY} & 0 \\\\\\ @@ -1355,7 +1364,7 @@ On the other hand, if the reference frame \\(\\{B\\}\\) has **pure rotation** wi ##### Linear Momentum {#linear-momentum} -Linear momentum of a material body, shown in Figure [fig:angular_momentum_rigid_body](#fig:angular_momentum_rigid_body), with respect to a reference frame \\(\\{\bm{A}\\}\\) is defined as +Linear momentum of a material body, shown in Figure [11](#orgd93c822), with respect to a reference frame \\(\\{\bm{A}\\}\\) is defined as \begin{equation} {}^A\bm{G} = \int\_V \frac{d\bm{p}}{dt} \rho dV @@ -1368,7 +1377,7 @@ And because \\(\int\_V r \rho dV = 0\\), we have by substitution \\[ {}^A\bm{G} = \frac{d\bm{p}\_c}{dt} \int\_V \rho dV \\] and thus -\begin{equation} +\begin{equation} \label{eq:linear\_momentum} \boxed{{}^A\bm{G} = m \cdot {}^A\bm{v}\_C} \end{equation} @@ -1377,14 +1386,14 @@ in which \\({}^A\bm{v}\_C\\) denotes the velocity of the center of mass with res This result implies that the **total linear momentum** of differential masses is equal to the linear momentum of a **point mass** \\(m\\) located at the **center of mass**. This highlights the important of the center of mass in dynamic formulation of rigid bodies. - + {{< figure src="/ox-hugo/taghirad13_angular_momentum_rigid_body.png" caption="Figure 11: The components of the angular momentum of a rigid body about \\(A\\)" >}} ##### Angular Momentum {#angular-momentum} -Consider the solid body represented in Figure [fig:angular_momentum_rigid_body](#fig:angular_momentum_rigid_body). +Consider the solid body represented in Figure [11](#orgd93c822). Angular momentum of the differential masses \\(\rho dV\\) about a reference point \\(A\\), expressed in the reference frame \\(\\{\bm{A}\\}\\) is defined as \\[ {}^A\bm{H} = \int\_V \left(\bm{p} \times \frac{d\bm{p}}{dt} \right) \rho dV \\] in which \\(d\bm{p}/dt\\) denotes the velocity of differential mass with respect to the reference frame \\(\\{\bm{A}\\}\\). @@ -1394,7 +1403,7 @@ By substituting \\(\bm{p} = \bm{p}\_c + \bm{r}\\) in the previous equations, be Therefore, angular momentum of the rigid body about point \\(A\\) is reduced to -\begin{equation} +\begin{equation} \label{eq:angular\_momentum} \boxed{{}^A\bm{H} = \bm{p}\_c \times \bm{G}\_c + {}^C\bm{H}} \end{equation} @@ -1441,10 +1450,10 @@ We only examine the case in which all rotations are represented about the center Consider a rigid body under general motion, that is, a combination of translation and rotation. -
    +
    -The Newton's law relates the change of linear momentum of the rigid body to the resulting external forces applied to it +The **Newton's law** relates the change of linear momentum of the rigid body to the resulting external forces applied to it \\[ \sum \bm{f}\_\text{ext} = \frac{d\bm{G}\_c}{dt} \\]
    @@ -1453,10 +1462,10 @@ For the case of a constant mass rigid body, this law is reduced to \\[ \sum \bm{f}\_\text{ext} = m \frac{d\bm{v}\_c}{dt} = m \bm{a}\_c \\] in which \\(\bm{a}\_c\\) is the linear acceleration of the center of mass.
    -
    +
    -The Euler's law relates the change of angular momentum of a rigid body about the center of mass, to the summation of all external moments applied to the rigid body about center of mass +The **Euler's law** relates the change of angular momentum of a rigid body about the center of mass, to the summation of all external moments applied to the rigid body about center of mass \\[ \sum {}^c\bm{n}\_\text{ext} = \frac{d}{dt}({}^c\bm{H}) \\]
    @@ -1514,7 +1523,7 @@ With \\(\bm{v}\_{b\_{i}}\\) an **intermediate variable** corresponding to the ve \bm{v}\_{b\_{i}} = \bm{v}\_{p} + \bm{\omega} \times \bm{b}\_{i} \end{equation} -As illustrated in Figure [fig:free_body_diagram_stewart](#fig:free_body_diagram_stewart), the piston-cylinder structure of the limbs is decomposed into two separate parts, the masses of which are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\). +As illustrated in Figure [12](#orgd839e6c), the piston-cylinder structure of the limbs is decomposed into two separate parts, the masses of which are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\). The position vector of these two center of masses can be determined by the following equations: \begin{align} @@ -1522,7 +1531,7 @@ The position vector of these two center of masses can be determined by the follo \bm{p}\_{i\_2} &= \bm{a}\_{i} + ( l\_i - c\_{i\_2}) \hat{\bm{s}}\_{i} \end{align} - + {{< figure src="/ox-hugo/taghirad13_free_body_diagram_stewart.png" caption="Figure 12: Free-body diagram of the limbs and the moving platform of a general Stewart-Gough manipulator" >}} @@ -1549,12 +1558,12 @@ We assume that each limb consists of two parts, the cylinder and the piston, whe We also assume that the centers of masses of the cylinder and the piston are located at a distance of \\(c\_{i\_1}\\) and \\(c\_{i\_2}\\) above their foot points, and their masses are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\). Moreover, consider that the pistons are symmetric about their axes, and their centers of masses lie at their midlengths. -The free-body diagrams of the limbs and the moving platforms is given in Figure [fig:free_body_diagram_stewart](#fig:free_body_diagram_stewart). +The free-body diagrams of the limbs and the moving platforms is given in Figure [12](#orgd839e6c). The reaction forces at fixed points \\(A\_i\\) are denoted by \\(\bm{f}\_{a\_i}\\), the internal force at moving points \\(B\_i\\) are dentoed by \\(\bm{f}\_{b\_i}\\), and the internal forces and moments between cylinders and pistons are denoted by \\(\bm{f}\_{c\_i}\\) and \\(\bm{M\_{c\_i}}\\) respectively. Assume that the only existing external disturbance wrench is applied on the moving platform and is denoted by \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\). -
    +
    \begin{equation} @@ -1577,7 +1586,7 @@ in which \\(m\_{c\_e}\\) is defined as ##### Dynamic Formulation of the Moving Platform {#dynamic-formulation-of-the-moving-platform} Assume that the **moving platform center of mass is located at the center point** \\(P\\) and it has a mass \\(m\\) and moment of inertia \\({}^A\bm{I}\_{P}\\). -Furthermore, consider that gravitational force and external disturbance wrench are applied on the moving platform, \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\) as depicted in Figure [fig:free_body_diagram_stewart](#fig:free_body_diagram_stewart). +Furthermore, consider that gravitational force and external disturbance wrench are applied on the moving platform, \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\) as depicted in Figure [12](#orgd839e6c). The Newton-Euler formulation of the moving platform is as follows: @@ -1595,9 +1604,11 @@ in which \\({}^A\bm{I}\_P\\) is considered in the fixed frame \\(\\{\bm{A}\\}\\) These equations can be rewritten in an implicit form as -
    +
    +**Dynamic Formulation - Stewart Platform**: + \begin{align} & m(\bm{a}\_p - \bm{g}) - \bm{F}\_d - \sum\_{i=1}^{6} \bm{f}\_{b\_i} = \bm{0} \label{eq:dyn\_form\_implicit\_trans}\\\\\\ & {}^A\bm{I}\_P \dot{\bm{\omega}} + \bm{\omega} \times {}^A\bm{I}\_P\bm{\omega} - \bm{n}\_d - \sum\_{i=1}^{6} \bm{b}\_{i} \times \bm{f}\_{b\_i} = \bm{0} \label{eq:dyn\_form\_implicit\_rot} @@ -1609,7 +1620,7 @@ These two equations are the governing dynamic formulation of the Stewart-Gough p They can be viewed in an implicit vector form of -\begin{equation} +\begin{equation} \label{eq:dynamic\_formulation\_implicit} \bm{f}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}}, \ddot{\bm{\mathcal{X}}}, \bm{\mathcal{F}}\_d, \bm{\tau}) = \bm{0} \end{equation} @@ -1625,7 +1636,7 @@ While dynamic formulation in the form of Equation \eqref{eq:dynamic_formulation_ To derive a closed-form dynamic formulation for the Stewart-Gough platform as -\begin{equation} +\begin{equation} \label{eq:closed\_form\_dynamic\_stewart\_wanted} \bm{M}(\bm{\mathcal{X}})\ddot{\bm{\mathcal{X}}} + \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}})\dot{\bm{\mathcal{X}}} + \bm{G}(\bm{\mathcal{X}}) = \bm{\mathcal{F}} \end{equation} @@ -1643,7 +1654,7 @@ After some manipulations, we obtain the following closed form equation: the corresponding mass matrix \\(\bm{M}\_i\\), the Coriolis matrix \\(\bm{C}\_i\\), and the gravity vector \\(\bm{G}\_i\\) can be simplified into the following form: -\begin{align} +\begin{align} \label{eq:closed\_form\_intermediate\_parameters} \bm{M}\_i &= m\_{i\_2}\hat{\bm{s}}\_i \hat{\bm{s}}\_i^T - \frac{1}{l\_i^2} I\_{xx\_i} \hat{\bm{s}}\_{i \times}^2 \\\\\\ \bm{C}\_i &= -\frac{2}{l\_i} m\_{c\_o}\dot{l}\_i \hat{\bm{s}}\_{i\times}^2 - \frac{1}{l\_i^2} m\_{i\_2} c\_{i\_2} \hat{\bm{s}}\_i \dot{\bm{x}}\_i^T \hat{\bm{s}}\_{i \times}^2 \\\\\\ \bm{G}\_i &= \big( m\_{g\_e} \hat{\bm{s}}\_{i\times}^2 - m\_{i\_2} \hat{\bm{s}}\_i \hat{\bm{s}}\_i^T \big) \bm{g} \\\\\\ @@ -1663,7 +1674,7 @@ in which In this section, the dynamic equations of the moving platform are transformed in the following closed-form formulation -\begin{equation} +\begin{equation} \label{eq:close\_form\_dynamics\_platform} \bm{M}\_{p}\ddot{\bm{\mathcal{X}}} + \bm{C}\_{p}\dot{\bm{\mathcal{X}}} + \bm{G}\_{p} = \bm{\mathcal{F}}\_{p} \end{equation} @@ -1678,7 +1689,7 @@ It is preferable to use the **screw coordinates** for representing the angular m Equations \eqref{eq:dyn_form_implicit_trans} and \eqref{eq:dyn_form_implicit_rot} can be simply converted into a closed form of Equation \eqref{eq:close_form_dynamics_platform} with the following terms: -\begin{equation} +\begin{equation} \label{eq:close\_form\_dynamics\_stewart\_terms} \begin{aligned} &\bm{M}\_p = \begin{bmatrix} m\bm{I}\_{3 \times 3} & \bm{O}\_{3\times 3} \\ \bm{O}\_{3\times 3} & {}^A \bm{I}\_p \end{bmatrix}\_{6\times 6}; \bm{C}\_p = \begin{bmatrix} \bm{O}\_{3\times 3} & \bm{O}\_{3\times 3} \\ \bm{O}\_{3\times 3} & \omega\_{\times} {}^A\bm{I}\_p \end{bmatrix}\_{6 \times 6} \\\\\\ &\bm{G}\_p = \begin{bmatrix}-m\bm{g} \\ \bm{O}\_{3\times 1}\end{bmatrix}\_{6 \times 1}; \bm{\mathcal{F}}\_p = \begin{bmatrix} \bm{F}\_d + \sum \bm{f}\_{b\_i} \\ \bm{n}\_d + \sum \bm{b}\_{i \times} \bm{f}\_{b\_i} \end{bmatrix}\_{6\times 1} @@ -1700,7 +1711,7 @@ To generate such a transformation define a Jacobian matrix \\(\bm{J}\_i\\) relat in which -\begin{equation} +\begin{equation} \label{eq:jacobian\_intermediate} \bm{J}\_i = \begin{bmatrix} \bm{I}\_{3 \times 3} & -\bm{b}\_{i \times} \end{bmatrix} \end{equation} @@ -1710,14 +1721,14 @@ in which in which -\begin{equation} +\begin{equation} \label{eq:closed\_form\_stewart\_manipulator} \begin{aligned} \bm{M}\_{li} = \bm{J}\_i^T \bm{M}\_i \bm{J}\_i; \quad & \bm{C}\_{li} = J\_i^T \bm{M}\_i \dot{\bm{J}}\_i + \bm{J}\_i^T \bm{C}\_i \bm{J}\_i \\\\\\ \bm{G}\_{li} = \bm{J}\_i^T G\_i; \quad & \bm{\mathcal{F}}\_{li} = \bm{J}\_i^T \bm{F}\_i \end{aligned} \end{equation} -
    +
    \begin{equation} @@ -1734,9 +1745,9 @@ in which ##### Forward Dynamics Simulations {#forward-dynamics-simulations} -As shown in Figure [fig:stewart_forward_dynamics](#fig:stewart_forward_dynamics), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**. +As shown in Figure [13](#org7b2216f), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**. - + {{< figure src="/ox-hugo/taghirad13_stewart_forward_dynamics.png" caption="Figure 13: Flowchart of forward dynamics implementation sequence" >}} @@ -1747,7 +1758,7 @@ The closed-form dynamic formulation of the Stewart-Gough platform corresponds to In inverse dynamics simulations, it is assumed that the **trajectory of the manipulator is given**, and the **actuator forces required to generate such trajectories are to be determined**. -As illustrated in Figure [fig:stewart_inverse_dynamics](#fig:stewart_inverse_dynamics), inverse dynamic formulation is implemented in the following sequence. +As illustrated in Figure [14](#org3acba0f), inverse dynamic formulation is implemented in the following sequence. The first step is trajectory generation for the manipulator moving platform. Many different algorithms are developed for a smooth trajectory generation. For such a trajectory, \\(\bm{\mathcal{X}}\_{d}(t)\\) and the time derivatives \\(\dot{\bm{\mathcal{X}}}\_{d}(t)\\), \\(\ddot{\bm{\mathcal{X}}}\_{d}(t)\\) are known. @@ -1769,7 +1780,7 @@ Therefore, actuator forces \\(\bm{\tau}\\) are computed in the simulation from \bm{\tau} = \bm{J}^{-T} \left( \bm{M}(\bm{\mathcal{X}})\ddot{\bm{\mathcal{X}}} + \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}})\dot{\bm{\mathcal{X}}} + \bm{G}(\bm{\mathcal{X}}) - \bm{\mathcal{F}}\_d \right) \end{equation} - + {{< figure src="/ox-hugo/taghirad13_stewart_inverse_dynamics.png" caption="Figure 14: Flowchart of inverse dynamics implementation sequence" >}} @@ -1779,22 +1790,22 @@ Therefore, actuator forces \\(\bm{\tau}\\) are computed in the simulation from ### Lagrange Formulation {#lagrange-formulation} -\begin{equation} +\begin{equation} \label{eq:kinetic\_energy} K(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}}) = \frac{1}{2} \dot{\bm{\mathcal{X}}}^T \bm{M}(\bm{\mathcal{X}}) \dot{\bm{\mathcal{X}}} \end{equation} -\begin{equation} +\begin{equation} \label{eq:gravity\_vectory} \bm{G}(\bm{\mathcal{X}}) = \frac{\partial P(\bm{\mathcal{X}})}{\partial \bm{\mathcal{X}}} \end{equation} -\begin{equation} +\begin{equation} \label{eq:coriolis\_matrix} \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}}) = \frac{1}{2} (\dot{\bm{M}} + \bm{U}^T - \bm{U}) \end{equation} ## Motion Control {#motion-control} - + ### Introduction {#introduction} @@ -1815,9 +1826,9 @@ However, using advanced techniques in nonlinear and MIMO control permits to over ### Controller Topology {#controller-topology} - + -
    +
    In motion control of parallel manipulator, it is assumed that the controller computes the **required actuator forces** or torques to cause the robot motion to follow a desired position and orientation trajectory. @@ -1828,7 +1839,7 @@ Let us use the motion variables as the generalized coordinate of the moving plat Consider the general closed-form dynamics formulation of a parallel robot -\begin{equation} +\begin{equation} \label{eq:closed\_form\_dynamic\_formulation} \boxed{\bm{M}(\bm{\mathcal{X}})\ddot{\bm{\mathcal{X}}} + \bm{C}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}})\dot{\bm{\mathcal{X}}} + \bm{G}(\bm{\mathcal{X}}) = \bm{\mathcal{F}}} \end{equation} @@ -1847,7 +1858,7 @@ with - \\(\bm{\tau}\\) are the actuator forces - \\(\bm{\mathcal{F}}\_d\\) are any external wrenches -
    +
    **Control topology** is referred to the **structure of the control system** used to compute the actuator forces/torques from the measurements, and the required pre and post processing. @@ -1860,11 +1871,11 @@ In general, the desired motion of the moving platform may be represented by the To perform such motion in closed loop, it is necessary to **measure the output motion** \\(\bm{\mathcal{X}}\\) of the manipulator by an instrumentation system. Such instrumentation usually consists of two subsystems: the first subsystem may use accurate accelerometers, or global positioning systems to calculate the position of a point on the moving platform; and a second subsystem may use inertial or laser gyros to determine orientation of the moving platform.
    -Figure [fig:general_topology_motion_feedback](#fig:general_topology_motion_feedback) shows the general topology of a motion controller using direct measurement of the motion variable \\(\bm{\mathcal{X}}\\), as feedback in the closed-loop system. +Figure [15](#org868a832) shows the general topology of a motion controller using direct measurement of the motion variable \\(\bm{\mathcal{X}}\\), as feedback in the closed-loop system. In such a structure, the measured position and orientation of the manipulator is compared to its desired value to generate the **motion error vector** \\(\bm{e}\_\mathcal{X}\\). The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.
    - + {{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback.png" caption="Figure 15: The general topology of motion feedback control: motion variable \\(\bm{\mathcal{X}}\\) is measured" >}} @@ -1872,9 +1883,9 @@ However, it is usually much **easier to measure the active joint variable** rath The relation between the **joint variable** \\(\bm{q}\\) and **motion variable** of the moving platform \\(\bm{\mathcal{X}}\\) is dealt with the **forward and inverse kinematics**. The relation between the **differential motion variables** \\(\dot{\bm{q}}\\) and \\(\dot{\bm{\mathcal{X}}}\\) is studied through the **Jacobian analysis**.
    -It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in Figure [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis) to implement such a controller. +It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in Figure [16](#org373a3c7) to implement such a controller. - + {{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_bis.png" caption="Figure 16: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured" >}} @@ -1883,26 +1894,26 @@ As described earlier, this is a **complex task** for parallel manipulators. It is even more complex when a solution has to be found in real time.
    However, as shown herein before, the inverse kinematic analysis of parallel manipulators is much easier to carry out. -To overcome the implementation problem of the control topology in Figure [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis), another control topology is usually implemented for parallel manipulators. +To overcome the implementation problem of the control topology in Figure [16](#org373a3c7), another control topology is usually implemented for parallel manipulators. -In this topology, depicted in Figure [fig:general_topology_motion_feedback_ter](#fig:general_topology_motion_feedback_ter), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\). +In this topology, depicted in Figure [17](#org1ae20e4), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\). Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\). - + {{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_ter.png" caption="Figure 17: The general topology of motion feedback control: the active joint variable \\(\bm{q}\\) is measured, and the inverse kinematic analysis is used" >}} Therefore, the **structure and characteristics** of the controller in this topology is totally **different** from that given in the first two topologies. -The **input and output** of the controller depicted in Figure [fig:general_topology_motion_feedback_ter](#fig:general_topology_motion_feedback_ter) are **both in the joint space**. +The **input and output** of the controller depicted in Figure [17](#org1ae20e4) are **both in the joint space**. However, this is not the case in the previous topologies where the input to the controller is the motion error in task space, while its output is in the joint space. -For the topology in Figure [fig:general_topology_motion_feedback_ter](#fig:general_topology_motion_feedback_ter), **independent controllers** for each joint may be suitable.
    +For the topology in Figure [17](#org1ae20e4), **independent controllers** for each joint may be suitable.
    -To generate a **direct input to output relation in the task space**, consider the topology depicted in Figure [fig:general_topology_motion_feedback_quater](#fig:general_topology_motion_feedback_quater). +To generate a **direct input to output relation in the task space**, consider the topology depicted in Figure [18](#org08e1864). A force distribution block is added which maps the generated wrench in the task space \\(\bm{\mathcal{F}}\\), to its corresponding actuator forces/torque \\(\bm{\tau}\\). - + {{< figure src="/ox-hugo/taghirad13_general_topology_motion_feedback_quater.png" caption="Figure 18: The general topology of motion feedback control in task space: the motion variable \\(\bm{\mathcal{X}}\\) is measured, and the controller output generates wrench in task space" >}} @@ -1912,16 +1923,16 @@ For a fully parallel manipulator such as the Stewart-Gough platform, this mappin ### Motion Control in Task Space {#motion-control-in-task-space} - + #### Decentralized PD Control {#decentralized-pd-control} -In the control structure in Figure [fig:decentralized_pd_control_task_space](#fig:decentralized_pd_control_task_space), a number of linear PD controllers are used in a feedback structure on each error component. +In the control structure in Figure [19](#org59c122f), a number of linear PD controllers are used in a feedback structure on each error component. The decentralized controller consists of **six disjoint linear controllers** acting on each error component \\(\bm{e}\_x = [e\_x,\ e\_y,\ e\_z,\ e\_{\theta\_x},\ e\_{\theta\_y},\ e\_{\theta\_z}]\\). The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), in which \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(6 \times 6\\) **diagonal matrices** denoting the derivative and proportional controller gains for each error term. - + {{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_task_space.png" caption="Figure 19: Decentralized PD controller implemented in task space" >}} @@ -1940,11 +1951,11 @@ The controller gains are generally tuned experimentally based on physical realiz #### Feed Forward Control {#feed-forward-control} -A feedforward wrench denoted by \\(\bm{\mathcal{F}}\_{ff}\\) may be added to the decentralized PD controller structure as depicted in Figure [fig:feedforward_control_task_space](#fig:feedforward_control_task_space). +A feedforward wrench denoted by \\(\bm{\mathcal{F}}\_{ff}\\) may be added to the decentralized PD controller structure as depicted in Figure [20](#org48b2525). This term is generated from the dynamic model of the manipulator in the task space, represented in a closed form by the following equation: \\[ \bm{\mathcal{F}}\_{ff} = \bm{\hat{M}}(\bm{\mathcal{X}}\_d)\ddot{\bm{\mathcal{X}}}\_d + \bm{\hat{C}}(\bm{\mathcal{X}}\_d, \dot{\bm{\mathcal{X}}}\_d)\dot{\bm{\mathcal{X}}}\_d + \bm{\hat{G}}(\bm{\mathcal{X}}\_d) \\] - + {{< figure src="/ox-hugo/taghirad13_feedforward_control_task_space.png" caption="Figure 20: Feed forward wrench added to the decentralized PD controller in task space" >}} @@ -1992,34 +2003,32 @@ To overcome these limitations, inverse dynamic approach is given in the followin #### Inverse Dynamics Control {#inverse-dynamics-control} -
    +
    -In inverse dynamics control (IDC), nonlinear dynamics of the model is used to add a **corrective term** to the decentralized PD controller. +In **inverse dynamics control** (IDC), nonlinear dynamics of the model is used to add a **corrective term** to the decentralized PD controller. By this means, **nonlinear and coupling behavior of the robotic manipulator is significantly attenuated**, and therefore, the performance of linear controller is greatly improved.
    -General structure of IDC applied to a parallel manipulator is depicted in Figure [fig:inverse_dynamics_control_task_space](#fig:inverse_dynamics_control_task_space). +General structure of IDC applied to a parallel manipulator is depicted in Figure [21](#org8872c95). A corrective wrench \\(\bm{\mathcal{F}}\_{fl}\\) is added in a **feedback structure** to the closed-loop system, which is calculated from the Coriolis and centrifugal matrix and gravity vector of the manipulator dynamic formulation. Furthermore, mass matrix is added in the forward path in addition to the desired trajectory acceleration \\(\ddot{\bm{\mathcal{X}}}\_d\\). As for the feedforward control, the **dynamics and kinematic parameters of the robot are needed**, and in practice estimates of these matrices are used.
    - + {{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_task_space.png" caption="Figure 21: General configuration of inverse dynamics control implemented in task space" >}} The controller output wrench applied to the manipulator may be derived as follows: -\begin{subequations} \begin{align} \bm{\mathcal{F}} &= \hat{\bm{M}}(\bm{\mathcal{X}}) \bm{a} + \bm{\mathcal{F}}\_{fl} \\\\\\ &= \hat{\bm{M}}(\bm{\mathcal{X}}) \bm{a} + \hat{\bm{C}}(\bm{\mathcal{X}}, \dot{\bm{\mathcal{X}}}) \dot{\bm{\mathcal{X}}} + \hat{\bm{G}}(\bm{\mathcal{X}}) \\\\\\ \bm{a} &= \ddot{\bm{\mathcal{X}}}\_d + \bm{K}\_d \dot{\bm{e}}\_x + \bm{K}\_p \bm{e}\_x \end{align} -\end{subequations} The closed-loop dynamic formulation for the manipulator becomes: @@ -2129,27 +2138,27 @@ in which \\[ \bm{\eta} = \bm{M}^{-1} \left( \tilde{\bm{M}} \bm{a}\_r + \tilde{\bm{C}} \dot{\bm{\mathcal{X}}} + \tilde{\bm{G}} \right) \\] is a measure of modeling uncertainty. - + {{< figure src="/ox-hugo/taghirad13_robust_inverse_dynamics_task_space.png" caption="Figure 22: General configuration of robust inverse dynamics control implemented in the task space" >}} #### Adaptive Inverse Dynamics Control {#adaptive-inverse-dynamics-control} - + {{< figure src="/ox-hugo/taghirad13_adaptative_inverse_control_task_space.png" caption="Figure 23: General configuration of adaptative inverse dynamics control implemented in task space" >}} ### Motion Control in Joint Space {#motion-control-in-joint-space} -Although the motion control schemes developed in section [sec:control_task_space](#sec:control_task_space) are very effective for tracking performance, they suffer from an implementation constraint that the motion variable \\(\bm{\mathcal{X}}\\) must be measured in practice.
    +Although the motion control schemes developed in section are very effective for tracking performance, they suffer from an implementation constraint that the motion variable \\(\bm{\mathcal{X}}\\) must be measured in practice.
    If this measurement is available without any doubt, such topologies are among the best routines to be implemented in practice. -However, as explained in Section [sec:control_topology](#sec:control_topology), in many practical situations measurement of the motion variable \\(\bm{\mathcal{X}}\\) is difficult or expensive, and usually just the active joint variables \\(\bm{q}\\) are measured. +However, as explained in Section , in many practical situations measurement of the motion variable \\(\bm{\mathcal{X}}\\) is difficult or expensive, and usually just the active joint variables \\(\bm{q}\\) are measured. In such cases, the controllers developed in the joint space may be recommended for practical implementation.
    -To generate a direct input to output relation in the joint space, consider the topology depicted in Figure [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis). +To generate a direct input to output relation in the joint space, consider the topology depicted in Figure [16](#org373a3c7). In this topology, the controller input is the joint variable error vector \\(\bm{e}\_q = \bm{q}\_d - \bm{q}\\), and the controller output is directly the actuator force vector \\(\bm{\tau}\\), and hence there exists a **one-to-one correspondence between the controller input to its output**.
    The general form of dynamic formulation of parallel robot is usually given in the task space. @@ -2180,27 +2189,27 @@ Substituting \\(\dot{\bm{\mathcal{X}}}\\) and \\(\ddot{\bm{\mathcal{X}}}\\) from \end{aligned} \end{equation\*} -
    +
    +**Dynamic Formulation in the Joint Space**: + \begin{equation} \bm{M}\_q \ddot{\bm{q}} + \bm{C}\_q \dot{\bm{q}} + \bm{G}\_q + \bm{\tau}\_d = \bm{\tau} \label{eq:dynamics\_joint\_space} \end{equation} with: -\begin{subequations} \begin{align} \bm{M}\_q =& \bm{J}^{-T} \bm{M} \bm{J}^{-1} \\\\\\ \bm{D}\_q =& \bm{J}^{-T} \left( \bm{C} - \bm{M} \bm{J}^{-1} \dot{\bm{J}} \right) \bm{J}^{-1} \\\\\\ \bm{G}\_q =& \bm{J}^{-T} \bm{G} \\\\\\ \bm{\tau}\_q =& \bm{J}^{-T} \bm{\mathcal{F}}\_d \end{align} -\end{subequations}
    -Equation [eq:dynamics_joint_space](#eq:dynamics_joint_space) represents the closed form dynamic formulation of a general parallel robot in the joint space.
    +Equation \eqref{eq:dynamics_joint_space} represents the closed form dynamic formulation of a general parallel robot in the joint space.
    Note that the dynamic matrices are **not** explicitly represented in terms of the joint variable vector \\(\bm{q}\\). In fact, to fully derive these matrices, the Jacobian matrices must be computed and are generally derived as a function of the motion variables \\(\bm{\mathcal{X}}\\). @@ -2208,7 +2217,7 @@ Furthermore, the main dynamic matrices are all functions of the motion variable Hence, in practice, to find the dynamic matrices represented in the joint space, **forward kinematics** should be solved to find the motion variable \\(\bm{\mathcal{X}}\\) for any given joint motion vector \\(\bm{q}\\).
    Since in parallel robots the forward kinematic analysis is computationally intensive, there exist inherent difficulties in finding the dynamic matrices in the joint space as an explicit function of \\(\bm{q}\\). -In this case it is possible to solve forward kinematics in an online manner, it is recommended to use the control topology depicted in [fig:general_topology_motion_feedback_bis](#fig:general_topology_motion_feedback_bis), and implement control law design in the task space.
    +In this case it is possible to solve forward kinematics in an online manner, it is recommended to use the control topology depicted in [16](#org373a3c7), and implement control law design in the task space.
    However, one implementable alternative to calculate the dynamic matrices represented in the joint space is to use the **desired motion trajectory** \\(\bm{\mathcal{X}}\_d\\) instead of the true value of motion vector \\(\bm{\mathcal{X}}\\) in the calculations. This approximation significantly reduces the computational cost, with the penalty of having mismatch between the estimated values of these matrices to their true values. @@ -2217,11 +2226,11 @@ This approximation significantly reduces the computational cost, with the penalt #### Decentralized PD Control {#decentralized-pd-control} The first control strategy introduced in the joint space consists of the simplest form of feedback control in such manipulators. -In this control structure, depicted in Figure [fig:decentralized_pd_control_joint_space](#fig:decentralized_pd_control_joint_space), a number of PD controllers are used in a feedback structure on each error component. +In this control structure, depicted in Figure [24](#orgecf2422), a number of PD controllers are used in a feedback structure on each error component. The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), where \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(n \times n\\) **diagonal** matrices denoting the derivative and proportional controller gains, respectively.
    - + {{< figure src="/ox-hugo/taghirad13_decentralized_pd_control_joint_space.png" caption="Figure 24: Decentralized PD controller implemented in joint space" >}} @@ -2241,9 +2250,9 @@ To remedy these shortcomings, some modifications have been proposed to this stru #### Feedforward Control {#feedforward-control} The tracking performance of the simple PD controller implemented in the joint space is usually not sufficient at different configurations. -To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in Figure [fig:feedforward_pd_control_joint_space](#fig:feedforward_pd_control_joint_space). +To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in Figure [25](#orgdbbacb2). - + {{< figure src="/ox-hugo/taghirad13_feedforward_pd_control_joint_space.png" caption="Figure 25: Feed forward actuator force added to the decentralized PD controller in joint space" >}} @@ -2276,34 +2285,32 @@ To compensate for such effects, a feedforward torque is added to the structure o However, the closed-loop performance still faces a number of limitations, which cannot be completely remedied because of the inherent conditions on feedforward structure of that proposed controller. To overcome these limitations, in this section, a control technique based on **inverse dynamic feedback** of the manipulator in the joint space is presented.
    -
    +
    -In the inverse dynamics control (IDC) strategy, the **nonlinear dynamics of the model is used to add a corrective term to the decentralized PD controller**. +In the **inverse dynamics control** (IDC) strategy, the **nonlinear dynamics of the model is used to add a corrective term to the decentralized PD controller**. By this means, the **nonlinear and coupling characteristics** of robotic manipulator is significantly **attenuated**, and therefore, the performance of linear controller is significantly improved.
    -The general structure of inverse dynamics control applied to a parallel manipulator in the joint space is depicted in Figure [fig:inverse_dynamics_control_joint_space](#fig:inverse_dynamics_control_joint_space). +The general structure of inverse dynamics control applied to a parallel manipulator in the joint space is depicted in Figure [26](#org4f32038). A corrective torque \\(\bm{\tau}\_{fl}\\) is added in a **feedback** structure to the closed-loop system, which is calculated from the Coriolis and Centrifugal matrix, and the gravity vector of the manipulator dynamic formulation in the joint space. Furthermore, the mass matrix is acting in the **forward path**, in addition to the desired trajectory acceleration \\(\ddot{\bm{q}}\_q\\). Note that to generate this term, the **dynamic formulation** of the robot, and its **kinematic and dynamic parameters are needed**. In practice, exact knowledge of dynamic matrices are not available, and there estimates are used.
    - + {{< figure src="/ox-hugo/taghirad13_inverse_dynamics_control_joint_space.png" caption="Figure 26: General configuration of inverse dynamics control implemented in joint space" >}} The controller output torque applied to the manipulator may be calculated by: -\begin{subequations} \begin{align} \bm{\tau} &= \hat{\bm{M}}\_q \bm{a}\_q + \bm{\tau}\_{fl} \\\\\\ \bm{\tau}\_{fl} &= \hat{\bm{C}}\_q \dot{\bm{q}} + \hat{\bm{G}}\_q \\\\\\ \bm{a}\_q &= \ddot{\bm{q}}\_d + \bm{K}\_d \dot{\bm{e}}\_q + \bm{K}\_p \bm{e}\_q \end{align} -\end{subequations} If the knowledge of dynamic matrices is complete, the closed-loop dynamic formulation is simplified to: \\[ \hat{\bm{M}}\_q \left( \ddot{\bm{e}}\_q + \bm{K}\_d \dot{\bm{e}}\_q + \bm{K}\_p \bm{e}\_q \right) + \bm{\tau}\_d = 0 \\] @@ -2321,7 +2328,7 @@ However, note that for a good performance, an **accurate model of the system is ### Summary of Motion Control Techniques {#summary-of-motion-control-techniques} In this section, a number of control techniques have been developed for parallel robots. -Based on the dynamic formulation given in Section [sec:dynamics](#sec:dynamics), many **model-based** control techniques have been developed for implementation in the task space as well as in the joint space. +Based on the dynamic formulation given in Section , many **model-based** control techniques have been developed for implementation in the task space as well as in the joint space. These control techniques are presented from the simplest form of decentralized PD control to more advanced robust and adaptive inverse dynamics control. A summary of these techniques is given below. @@ -2567,7 +2574,7 @@ Hence, it is recommended to design and implement controllers in the task space, ## Force Control {#force-control} - + ### Introduction {#introduction} @@ -2575,10 +2582,10 @@ Hence, it is recommended to design and implement controllers in the task space, In many applications, it may occur that the robot moving platform is in contact with a **stiff** environment and **specific interacting wrench is required**. In such applications, the contact wrench describes the state of interaction more effectively than the position and orientation of the moving platform. -
    +
    -The problem of force control can be described as to derive the actuator forces required to generate a prescribed desired wrench at the manipulator moving platform, when the manipulator is carrying out its desired motion. +The problem of **force control** can be described as to derive the actuator forces required to generate a prescribed desired wrench at the manipulator moving platform, when the manipulator is carrying out its desired motion.
    @@ -2613,17 +2620,17 @@ Therefore, it might be preferable in some applications to use direct actuator fo In a general force control scheme, the **prime objective** is tracking of the interacting wrench between the moving platform and the environment. However, note that the motion control of the robot when the robot is in interaction with the environment is also another **less-important objective** and when the contact of the robot moving platform is released, motion control becomes the prime objective. -
    +
    To follow **two objectives** with different properties in one control system, usually a **hierarchy** of two feedback loops is used in practice. This kind of control topology is called **cascade control**, which is used when there are **several measurements and one prime control variable**. -Cascade control is implemented by **nesting** the control loops, as shown in Figure [fig:cascade_control](#fig:cascade_control). +Cascade control is implemented by **nesting** the control loops, as shown in Figure [27](#org0896015). The output control loop is called the **primary loop**, while the inner loop is called the secondary loop and is used to fulfill a secondary objective in the closed-loop system.
    - + {{< figure src="/ox-hugo/taghirad13_cascade_control.png" caption="Figure 27: Block diagram of a closed-loop system with cascade control" >}} @@ -2635,10 +2642,10 @@ Although these differ in different topologies described in the following section A general idea in cascade control design is the **ideal case**, in which the inner loop is designed so tight that the secondary (inner) loop behaves as a **perfect servo**, and responds very quickly to the internal control command. This idea is effectively used in many applications, wherein a nearly-perfect actuator to respond to the requested commands is designed by using an inner control feedback. -
    +
    -The design criteria for the inner loop is to have a high control gain such that the time response of the secondary variable is at least 5 times more than that of the primary variable, and such that it can overcome the effect of **disturbances** and **unmodelled dynamics** in the **internal feedback structure**. +The **design criteria** for the inner loop is to have a high control gain such that the time response of the secondary variable is at least 5 times more than that of the primary variable, and such that it can overcome the effect of **disturbances** and **unmodelled dynamics** in the **internal feedback structure**.
    @@ -2651,32 +2658,32 @@ Consider the force control schemes, in which **force tracking is the prime objec In such a case, it is advised that the outer loop of cascade control structure is constructed by wrench feedback, while the inner loop is based on position feedback. Since different types of measurement units may be used in parallel robots, different control topologies may be constructed to implement such a cascade structure.
    -Consider first the cascade control topology shown in Figure [fig:taghira13_cascade_force_outer_loop](#fig:taghira13_cascade_force_outer_loop) in which the measured variables are both in the **task space**. +Consider first the cascade control topology shown in Figure [28](#orgae903ae) in which the measured variables are both in the **task space**. The inner loop is constructed by position feedback while the outer loop is based on force feedback. -As seen in Figure [fig:taghira13_cascade_force_outer_loop](#fig:taghira13_cascade_force_outer_loop), the force controller block is fed to the motion controller, and this might be seen as the **generated desired motion trajectory for the inner loop**. +As seen in Figure [28](#orgae903ae), the force controller block is fed to the motion controller, and this might be seen as the **generated desired motion trajectory for the inner loop**. The output of motion controller is also designed in the task space, and to convert it to implementable actuator force \\(\bm{\tau}\\), the force distribution block is considered in this topology.
    - + {{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop.png" caption="Figure 28: Cascade topology of force feedback control: position in inner loop and force in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}} Other alternatives for force control topology may be suggested based on the variations of position and force measurements. -If the force is measured in the joint space, the topology suggested in Figure [fig:taghira13_cascade_force_outer_loop_tau](#fig:taghira13_cascade_force_outer_loop_tau) can be used. +If the force is measured in the joint space, the topology suggested in Figure [29](#org499cb0c) can be used. In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped into its corresponding wrench in the task space by the Jacobian transpose mapping \\(\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}\\).
    - + {{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau.png" caption="Figure 29: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}} Consider the case where the force and motion variables are both measured in the **joint space**. -Figure [fig:taghira13_cascade_force_outer_loop_tau_q](#fig:taghira13_cascade_force_outer_loop_tau_q) suggests the force control topology in the joint space, in which the inner loop is based on measured motion variable in the joint space, and the outer loop uses the measured actuator force vector. +Figure [30](#org05be049) suggests the force control topology in the joint space, in which the inner loop is based on measured motion variable in the joint space, and the outer loop uses the measured actuator force vector. In this topology, it is advised that the force controller is designed in the **task** space, and the Jacobian transpose mapping is used to project the measured actuator force vector into its corresponding wrench in the task space. However, as the inner loop is constructed in the joint space, the desired motion variable \\(\bm{\mathcal{X}}\_d\\) is mapped into joint space using **inverse kinematic** solution. Therefore, the structure and characteristics of the position controller in this topology is totally different from that given in the first two topologies.
    - + {{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau_q.png" caption="Figure 30: Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}} @@ -2688,30 +2695,30 @@ In such a case, force tracking is not the primary objective, and it is advised t Since different type of measurement units may be used in parallel robots, different control topologies may be constructed to implement such cascade controllers.
    -Figure [fig:taghira13_cascade_force_inner_loop_F](#fig:taghira13_cascade_force_inner_loop_F) illustrates the cascade control topology for the system in which the measured variables are both in the task space (\\(\bm{\mathcal{F}}\\) and \\(\bm{\mathcal{X}}\\)). +Figure [31](#org9e05714) illustrates the cascade control topology for the system in which the measured variables are both in the task space (\\(\bm{\mathcal{F}}\\) and \\(\bm{\mathcal{X}}\\)). The inner loop is loop is constructed by force feedback while the outer loop is based on position feedback. By this means, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed through the primary controller. However, when there is interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure controls the force-motion relation. This configuration may be seen as if the **outer loop generates a desired force trajectory for the inner loop**.
    - + {{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_F.png" caption="Figure 31: Cascade topology of force feedback control: force in inner loop and position in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}} Other alternatives for control topology may be suggested based on the variations of position and force measurements. -If the force is measured in the joint space, control topology shown in Figure [fig:taghira13_cascade_force_inner_loop_tau](#fig:taghira13_cascade_force_inner_loop_tau) can be used. +If the force is measured in the joint space, control topology shown in Figure [32](#org62ccc96) can be used. In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.
    - + {{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau.png" caption="Figure 32: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}} -If the force and motion variables are both measured in the **joint** space, the control topology shown in Figure [fig:taghira13_cascade_force_inner_loop_tau_q](#fig:taghira13_cascade_force_inner_loop_tau_q) is suggested. +If the force and motion variables are both measured in the **joint** space, the control topology shown in Figure [33](#org389242f) is suggested. The inner loop is based on the measured actuator force vector in the joint space \\(\bm{\tau}\\), and the outer loop is based on the measured actuated joint position vector \\(\bm{q}\\). In this topology, the desired motion in the task space is mapped into the joint space using **inverse kinematic** solution, and **both the position and force feedback controllers are designed in the joint space**. Thus, independent controllers for each joint may be suitable for this topology. - + {{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau_q.png" caption="Figure 33: Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and joint motion variable \\(\bm{q}\\) are measured in the joint space" >}} @@ -2730,7 +2737,7 @@ Thus, independent controllers for each joint may be suitable for this topology. ### Direct Force Control {#direct-force-control} - + {{< figure src="/ox-hugo/taghira13_direct_force_control.png" caption="Figure 34: Direct force control scheme, force feedback in the outer loop and motion feedback in the inner loop" >}} @@ -2746,7 +2753,7 @@ In force control schemes, on the other hand, the force tracking is the prime obj The main reason that the motion and force variables are not being gable to be controlled independently is that for an n-degrees-of-freedom manipulator, only n-independent control inputs are available, and therefore, only n-independent variables can be controlled, while the force and motion quantities count to \\(2n\\) independent variables.
    -
    +
    The key idea behind **impedance control** schemes, is to **tune the dynamic relation between the force and the motion variables**, and not a hierarchy of tracking objectives in force and in position variables. @@ -2767,13 +2774,13 @@ To **generalize** the impedance definition to other disciplines, voltage is gene Impedance is a **complex** function defined as the ratio of the Laplace transform of the effort to the Laplace transform of the flow.
    -Impedance is usually denoted by \\(\bm{Z}(s)\\) and it may be represented by writing its magnitude and phase in the form of \\(\abs{\bm{Z}(s)}\\) and \\(\angle{\bm{Z}(s)}\\). -The magnitude of the complex impedance \\(\abs{\bm{Z}}\\) is the ratio of the effort amplitude to that of the flow, while the phase \\(\angle{\bm{Z}}\\) is the phase shift by which the flow is ahead of the effort. +Impedance is usually denoted by \\(\bm{Z}(s)\\) and it may be represented by writing its magnitude and phase in the form of \\(|\bm{Z}(s)|\\) and \\(\angle{\bm{Z}(s)}\\). +The magnitude of the complex impedance \\(|\bm{Z}|\\) is the ratio of the effort amplitude to that of the flow, while the phase \\(\angle{\bm{Z}}\\) is the phase shift by which the flow is ahead of the effort. -
    +
    -Mechanical Impedance is defined as the ratio of the Laplace transform of the mechanical effort to the Laplace transform of the mechanical flow: +**Mechanical Impedance** is defined as the ratio of the Laplace transform of the mechanical effort to the Laplace transform of the mechanical flow: \begin{equation} \bm{Z}(s) = \frac{\bm{F}(s)}{\bm{v}(s)} @@ -2789,10 +2796,10 @@ Furthermore, the impedance may be generalized to multiple-degrees-of-freedom sys Nevertheless, note that Laplace transform is only applicable for **linear time invariant** systems, and for a parallel manipulator the dynamic formulation of which is nonlinear, the concept of mechanical impedance may be extended to the differential equation relating the mechanical wrench \\(\bm{\mathcal{F}}\\) to motion twist \\(\dot{\bm{\mathcal{X}}}\\). -
    +
    -Consider an RLC circuit depicted in Figure [fig:taghirad13_impedance_control_rlc](#fig:taghirad13_impedance_control_rlc). +Consider an RLC circuit depicted in Figure [35](#orgd749458). The differential equation relating voltage \\(v\\) to the current \\(i\\) is given by \\[ v = L\frac{di}{dt} + Ri + \int\_0^t \frac{1}{C} i(\tau)d\tau \\] in which \\(L\\) denote the inductance, \\(R\\) the resistance and \\(C\\) the capacitance. @@ -2805,10 +2812,10 @@ The impedance of the system may be found from the Laplace transform of the above
    -
    +
    -Consider the mass-spring-damper system depicted in Figure [fig:taghirad13_impedance_control_rlc](#fig:taghirad13_impedance_control_rlc). +Consider the mass-spring-damper system depicted in Figure [35](#orgd749458). The governing dynamic formulation for this system is given by \\[ m \ddot{x} + c \dot{x} + k x = f \\] in which \\(m\\) denote the body mass, \\(c\\) the damper viscous coefficient and \\(k\\) the spring stiffness. @@ -2821,25 +2828,25 @@ The impedance of the system may be found from the Laplace transform of the above
    - + {{< figure src="/ox-hugo/taghirad13_impedance_control_rlc.png" caption="Figure 35: Analogy of electrical impedance in (a) an electrical RLC circuit to (b) a mechanical mass-spring-damper system" >}} As inferred from the above two examples, although the physical nature of the system may differ from each other, they may be represented by similar impedances. From this analogy, a terminology for impedance is introduced. -
    +
    An impedance \\(\bm{Z}(s)\\) is called -- **Inductive** if \\(\abs{\bm{Z}(0)} = 0\\) -- **Resistive** if \\(\abs{\bm{Z}(0)} = R\\) -- **Capacitive** if \\(\lim\_{s\to 0} \abs{\bm{K}(s)} = \infty\\) +- **Inductive** if \\(|\bm{Z}(0)| = 0\\) +- **Resistive** if \\(|\bm{Z}(0)| = R\\) +- **Capacitive** if \\(\lim\_{s\to 0} |\bm{K}(s)| = \infty\\)
    -Hence, for the mechanical system represented in Figure [fig:taghirad13_impedance_control_rlc](#fig:taghirad13_impedance_control_rlc): +Hence, for the mechanical system represented in Figure [35](#orgd749458): - mass represents inductive impedance - viscous friction represents resistive impedance @@ -2872,24 +2879,24 @@ In the impedance control scheme, **regulation of the motion-force dynamic relati Therefore, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed by a primary controller. However, when there is an interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure may be designed to control the force-motion dynamic relation.
    -As a possible impedance control scheme, consider the closed-loop system depicted in Figure [fig:taghira13_impedance_control](#fig:taghira13_impedance_control), in which the position feedback is considered in the outer loop, while force feedback is used in the inner loop. +As a possible impedance control scheme, consider the closed-loop system depicted in Figure [36](#org4dc07b4), in which the position feedback is considered in the outer loop, while force feedback is used in the inner loop. This structure is advised when a desired impedance relation between the force and motion variables is required that consists of desired inductive, resistive, and capacitive impedances. -As shown in Figure [fig:taghira13_impedance_control](#fig:taghira13_impedance_control), the motion-tracking error is directly determined from motion measurement by \\(\bm{e}\_x = \bm{\mathcal{X}}\_d - \bm{\mathcal{X}}\\) in the outer loop and the motion controller is designed to satisfy the required impedance. +As shown in Figure [36](#org4dc07b4), the motion-tracking error is directly determined from motion measurement by \\(\bm{e}\_x = \bm{\mathcal{X}}\_d - \bm{\mathcal{X}}\\) in the outer loop and the motion controller is designed to satisfy the required impedance. Moreover, direct force-tracking objective is not assigned in this control scheme, and therefore the desired force trajectory \\(\bm{\mathcal{F}}\_d\\) is absent in this scheme. However, an auxiliary force trajectory \\(\bm{\mathcal{F}}\_a\\) is generated from the motion control law and is used as the reference for the force tracking. By this means, no prescribed force trajectory is tracked, while the **motion control scheme would advise a force trajectory for the robot to ensure the desired impedance regulation**.
    - + {{< figure src="/ox-hugo/taghira13_impedance_control.png" caption="Figure 36: Impedance control scheme; motion feedback in the outer loop and force feedback in the inner loop" >}} The required wrench \\(\bm{\mathcal{F}}\\) in the impedance control scheme, is based on inverse dynamics control and consists of three main parts. In the inner loop, the force control scheme is based on a feedback linearization part in addition to a mass matrix adjustment, while in the outer loop usually a linear motion controller is considered based on the desired impedance requirements. -Although many different impedance structures may be considered as the basis of the control law, in Figure [fig:taghira13_impedance_control](#fig:taghira13_impedance_control), a linear impedance relation between the force and motion variables is generated that consists of desired inductive \\(\bm{M}\_d\\), resistive \\(\bm{C}\_d\\) and capacitive impedances \\(\bm{K}\_d\\).
    +Although many different impedance structures may be considered as the basis of the control law, in Figure [36](#org4dc07b4), a linear impedance relation between the force and motion variables is generated that consists of desired inductive \\(\bm{M}\_d\\), resistive \\(\bm{C}\_d\\) and capacitive impedances \\(\bm{K}\_d\\).
    -According to Figure [fig:taghira13_impedance_control](#fig:taghira13_impedance_control), the controller output wrench \\(\bm{\mathcal{F}}\\), applied to the manipulator may be formulated as +According to Figure [36](#org4dc07b4), the controller output wrench \\(\bm{\mathcal{F}}\\), applied to the manipulator may be formulated as \\[ \bm{\mathcal{F}} = \hat{\bm{M}} \bm{M}\_d^{-1} \bm{e}\_F + \bm{\mathcal{F}}\_{fl} \\] with: @@ -2918,4 +2925,4 @@ However, note that for a good performance, an accurate model of the system is re ## Bibliography {#bibliography} -Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press. +Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.