From f8177c0f48dfe9f6a9344b00742f6343b49d303c Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Fri, 24 Apr 2020 11:53:11 +0200 Subject: [PATCH] Add some notes about feedback systems --- figs/classical_feedback_small.pdf | Bin 33457 -> 33457 bytes figs/h-infinity-2-blocs-constrains.pdf | Bin 49696 -> 49700 bytes figs/h-infinity-2-blocs-constrains.png | Bin 16793 -> 22682 bytes index.org | 134 +++++++++++++++++-------- 4 files changed, 90 insertions(+), 44 deletions(-) diff --git a/figs/classical_feedback_small.pdf b/figs/classical_feedback_small.pdf index 2cdf853c7f18b5f50f284bc7be5d3ae734139aed..99f988cafeb78bbef7fbcf6f9759cff3cc69bdc7 100644 GIT binary patch delta 107 zcmdnk%CxbSX+u^OyNRKJiGhL1gCdN)i29{1n ZE`}BcWGc*253)Y>HRHAV0x1)?@-C@Eq@ zNA=x*e|$3Q^feCycJVHmfyr5ya&hwheERuU*s{e@f;s0O|k%A^QgSgOq=EoH(1}jQMgmXngn6jw@y>PC8#)LFw2R0HR{wbtV8$y;irnVID>4t5l6$mnOV%OMKPfWVR9uSG6 zB}xJ=_Q(q|4Ia+HdB8)=uVWMAT9P1l89DR&WU817snv6IH%LsotYUv>Wns;S-*@Uf zh8S0c1|oxRIRZFSQvu6uPipLQ9WGdr*%5CUvp)NpFjM-L>>aR$P2)>p3zJy#3HQ6B z#tmc74ffG`a<~Zl)-`2z&_|pRwB0~KZjgo~sdQ%Hg<%Yfqb7-vWP{<9SvYYnHtgWsDhw8Zo^%VM6WM&<4T2WFnZ&ic=@6C$pjLR8}<`W7s$asJSVnsJo0+!KvCI#z*alZQ(^6k0X;V z1KwlNl>v-ITj!EaCo23_XDN#2(eQQT+D@w_G#3PyF;dGa5zBu$24@CT)o0Do%wLB2 z;k=@T956dHi{Shk(Axu+;C@YY@GN~D%1SY4vywh8dMG8My!04fX*~Yc$Wi7$CCCp|h;nGJX zmeu^ZZtTa82wNr}^}xCwN;~MIp_CKiiQ$%#;Y=99@l8WX2s!iV`cP`1w-2R_r|nRx z0o@u(Yb7elS=>EZ$%q@qmF~plO;AH}VBN^kOY}h*9VLHsGoo8%l#HJ1OBvC=gL_>a z9idP2RL2ze%h)gzWN%_>3N^F&4d1E_ZLo+o+Gcq$S2 zssV;|7;J3z%`3zl0{IG-xBvl%-~!GZk`WLQ8;O835R(xTlUQo1f~Q~VR*wcqLWH;~ zsnm!RD!5;RIC+!&bt6XKZU(3ZAeEZb12Y4kXMu+H#XASI1G8K280ZD&mfm^bBQTzN z7Z~5%BJ&5g#KOug1D`ie7SAzDsD&K`S$}J7q|oMj3IiH_`x6uHwq;sMNdWw5(u}| delta 1473 zcmV;y1wQ(ugae?21F&5Q0Wywb8x1VW((K3Kyyt_-IQ)=^$`T1hD z1~d%=Zt;@LKu)ZrT$H>&pMLxqvTR{WFz4S*1vSk1v-$Y$%fqMhFTm*v$2P(oHvyh1 zz^wqmhU6RIH>a+nL~M#P=F7vN@!by{RYaDBSGuTz(rsM;oPIjb&hOlU>yN9*)Zh+F zbRSK9Z4-q&net2KA4GOg8$y5PIEJ<)@Nys{k4h2A=BqhLMt~II=nC6u$o}kMq4j;o zK8n`4#2!grA+L&Q@KBxsiZ;ajx@sa6wqwLDBWAu|OchfhHGAS729Bv)RV0>|s`>D1 zC(omcag%5uGU_cy0O!(Fz;e6Owd#`tiY;f#Q3P0*bZL# z@jO=2wZpwC`iQp6DFM*_ej0E2jPZy0Es}JysMNQLb&)lXg0Ew(bw;hjaDj7KP?|W! zY$?YeWb)_S-qdy04oF$_S0kXWTSZJ8~Ev^k!uY(!~k{?cx=r>@w_j}fWUIg zF2cUPbWu?U$2I=a41er!7gom14)FLMePIdKqXpl>Ur>Kmvp*m(4fQexbM6e6XxWAD z%wY5;gW3DF8)knkz{ebBx0TTKQ62GS0o@m__YX5!az5$}>2@o1(6_cyPVgs&BPv7L zVGGAMZ6$VynNRn(QUkqxEA2Gxw^DWJXe({0C?~P#J-6Wz2f_{UMDr%lA-*Bq@zHDa zjWmi&7;4TPrI9m+t}kiC{0{QEJc`4hrYVmp_S4uf6Xbt?qonJ6Z?D|J9R$Dl;)KF*r0iD=;!AFfb=63NKA>WJF@BRQF`?iLRP7<6{bt~2AJr( zK5z0a@c(6U%ktFs1L@01hVm>g(vv&s%DvR(Ngm{p*~M=g>>b@Ezs_!pKc8-!o7C;d bE4M3fKgSj3ydheX{J|gyGYTaoMNdWw8VASK diff --git a/figs/h-infinity-2-blocs-constrains.png b/figs/h-infinity-2-blocs-constrains.png index c654ee9ab8608dedf06924c9ac5b5011c2d5085f..786cd7083985f0a83d14ba3d7f6d227b142577e6 100644 GIT binary patch literal 22682 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 literal 16793 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 + +In this section, we first introduce some basics of feedback systems (Section [[sec:feedback]]). +This should highlight the challenges in terms of combined performance and robustness. + + +In Section [[sec:noise_budget]] is introduced the *dynamic error budgeting* which is a powerful tool that allows to derive the total error in a dynamic system from multiple disturbance sources. +This tool will be widely used throughout this study to both predict the performances and identify the effects that do limit the performances. + +** Feedback System <> -** Simple Feedback System -We usually analyze dynamical systems in the frequency domain using the Laplace transform. +*** Introduction :ignore: + +From cite:schmidt14_desig_high_perfor_mechat_revis_edition: + +Feedback control has the following advantages: +- *Reduction of the effect of disturbances*: + Disturbances affecting the sample vibrations are observed by the sensor signal, and therefore the feedback controller can compensate for them +- *Handling of uncertainties*: + Feedback controlled systems can also be designed for /robustness/, which means that the stability and performance requirements are guaranteed even for parameter variation of the controller mechatronics system + +But it also has some pitfalls: +- *Limited reaction speed*: + A feedback controller reacts on the difference between the reference signal (wanted motion) and the measurement (actual motion), which means that the error has to occur first before the controller can correct for it. + The limited reaction speed means that the controller will be able to compensate the positioning errors only in some frequency band, called the *controller bandwidth* +- *Feedback of noise*: + By closing the loop, the sensor noise is also fed back and will introduce positioning errors +- *Can introduce instability*: + Feedback control can destabilize a stable plant. + Thus the /robustness/ properties of the feedback system must be carefully guaranteed + +*** Introduction to Feedback Control +Let's consider the block diagram shown in Figure [[fig:classical_feedback_small]] where the signals are: +- $y$ the relative position of the sample with respect to the granite (the quantity we wish to control) +- $d$ the disturbances affecting $y$ (ground motion, vibration of stages) +- $n$ the noise of the sensor measuring $y$ +- $r$ the reference signal, corresponding to the wanted $y$ +- $\epsilon = r - y$ the position error + +And the dynamical blocks are: +- $G$ representing the dynamics from forces/torques applied by the nano-hexapod to the relative position sample/granite $y$ +- $G_d$ representing the dynamics from the disturbances (e.g. ground motion) to the relative position sample/granite $y$ +- $K$ representing the controller to be designed #+begin_src latex :file classical_feedback_small.pdf \begin{tikzpicture} @@ -87,15 +127,12 @@ We usually analyze dynamical systems in the frequency domain using the Laplace t #+end_src #+name: fig:classical_feedback_small -#+caption: Figure caption +#+caption: Block Diagram of a simple feedback system #+RESULTS: [[file:figs/classical_feedback_small.png]] -- $y$ is the relative position of the sample with respect to the granite -- $d$ is the disturbances affecting $y$ (ground motion, vibration of stages) -- $n$ is the noise of the sensor measuring $y$ -- $r$ is the reference signal, corresponding to the wanted $y$ -- we note $\epsilon = r - y$ the position error +*** How does the feedback loop is modifying the system behavior? + \[ \epsilon = \frac{1}{1 + GK} r + \frac{GK}{1 + GK} n - \frac{G_d}{1 + GK} d \] @@ -106,6 +143,10 @@ We usually note: \end{align} $S$ is called the sensibility transfer function and $T$ the transmissibility transfer function. +We can easily see that +\[ S + T = 1 \] +and thus, we cannot have $S$ and $T$ small at the same time. + And we have: \[ \epsilon = S r + T n - G_d S d \] @@ -117,6 +158,7 @@ However, when $|S|$ is small, $|T| \approx 1$ and all the sensor noise is transm #+begin_src latex :file h-infinity-2-blocs-constrains.pdf \begin{tikzpicture} \begin{scope}[shift={(0, 0)}] + \draw[dashed, fill=white] (-0.5, -2.7) rectangle (5.5, 1.4); \draw[] (2.5, 1.0) node[]{$\left| S(j\omega) \right|$}; \draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5); \draw[] (0.6, -0.5) node[]{$\sim \left| GK \right|^{-1}$}; @@ -125,10 +167,10 @@ However, when $|S|$ is small, $|T| \approx 1$ and all the sensor noise is transm \draw[fill=red!20] (2.5, 0.15) circle (0.15); \draw[dashed] (-0.4, 0) -- (5.4, 0); \draw [] (0,-2) to[out=45,in=180+45] (2,0) to[out=45,in=180] (2.5,0.3) to[out=0,in=180] (3.5,0) to[out=0,in=180] (5, 0); - \draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4); \end{scope} \begin{scope}[shift={(6.4, 0)}] + \draw[dashed, fill=white] (-0.5, -2.7) rectangle (5.5, 1.4); \draw[] (2.5, 1.0) node[]{$\left| T(j\omega) \right|$}; \draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5); \draw[] (0.6, -0.5) node[]{$\sim 1$}; @@ -137,19 +179,47 @@ However, when $|S|$ is small, $|T| \approx 1$ and all the sensor noise is transm \draw[fill=red!20] (2.5, 0.15) circle (0.15); \draw[dashed] (-0.4, 0) -- (5.4, 0); \draw [] (0,0) to[out=0,in=180] (1.5,0) to[out=0,in=180] (2.5,0.3) to[out=0,in=-45] (3,0) to[out=-45,in=180-45] (5, -2); - \draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4); \end{scope} \end{tikzpicture} #+end_src #+name: fig:h-infinity-2-blocs-constrains -#+caption: Figure caption +#+caption: Typical shape and constrain of the Sensibility and Transmibility closed-loop transfer functions #+RESULTS: [[file:figs/h-infinity-2-blocs-constrains.png]] The nano-hexapod characteristics will change both $G$ and $G_d$. -** Noise Budgeting +*** Sensibility Transfer Function and Control Bandwidth +When applying feedback in a system, it is much more convenient to look at things in the frequency domain. + +We will generally decrease the effect of the disturbances + +The bandwidth is the consequence of the wanted disturbance rejection at some lower frequency + +*** Trade off Robustness / Performance +<> +If we want high level of performance, the experimental conditions should be carefully controlled. + +#+name: fig:oomen18_next_gen_loop_gain +#+caption: Envisaged developments in motion systems. In traditional motion systems, the control bandwidth takes place in the rigid-body region. In the next generation systemes, flexible dynamics are foreseen to occur within the control bandwidth. cite:oomen18_advan_motion_contr_precis_mechat +[[file:figs/oomen18_next_gen_loop_gain.png]] + +Limitation of feedback control: +- bandwidth is limited at a frequency where the behavior of the system is not known + +Predictible system. + +For instance, ASML, everything is calibrated (wafer, some size, mass, etc...) + +Here, the main difficulty is that we want a very high performance system that is robust to change of: +- Micro Station Configuration: position of the stages, change of on stage +- Payload mass and dynamics +- Spindle's rotation speed + +** Dynamic error budgeting +<> + *** Introduction :ignore: *** Power Spectral Density @@ -253,36 +323,6 @@ To estimate the PSD of the position error $\epsilon$ and thus the RMS residual m - $S_{dd}$ - The dynamics of the system $G$, $G_d$ and the controller $K$ (or alternatively $S$, $T$ and $G_d$) -** Trade off Robustness / Performance -If we want high level of performance, the experimental conditions should be carefully controlled. - -#+name: fig:oomen18_next_gen_loop_gain -#+caption: Envisaged developments in motion systems. In traditional motion systems, the control bandwidth takes place in the rigid-body region. In the next generation systemes, flexible dynamics are foreseen to occur within the control bandwidth. cite:oomen18_advan_motion_contr_precis_mechat -[[file:figs/oomen18_next_gen_loop_gain.png]] - -Limitation of feedback control: -- bandwidth is limited at a frequency where the behavior of the system is not known - -Predictible system. - -For instance, ASML, everything is calibrated (wafer, some size, mass, etc...) - -Here, the main difficulty is that we want a very high performance system that is robust to change of: -- Micro Station Configuration: position of the stages, change of on stage -- Payload mass and dynamics -- Spindle's rotation speed - -** Sensibility Transfer Function and Control Bandwidth - -When applying feedback in a system, it is much more convenient to look at things in the frequency domain. - - -- [ ] Add a - -we will generally decrease the effect of the disturbances - -- [ ] Find the citation where it is said that the bandwidth is the consequence of the wanted disturbance rejection at some lower frequency - * Identification of the Micro-Station Dynamics <> @@ -551,3 +591,9 @@ https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html - [ ] A zoom on at the nano-meter level to see how the wanted position is moving ** Conclusion +* Further notes +Soft granite + +nano-focusing lenses + +Detector