{"id":590,"date":"2019-05-25T06:10:49","date_gmt":"2019-05-25T14:10:49","guid":{"rendered":"https:\/\/linearcontrol.info\/fundamentals\/?p=590"},"modified":"2019-06-03T07:17:49","modified_gmt":"2019-06-03T15:17:49","slug":"asymptotic-tracking-a-constant-reference-without-a-pole-at-zero","status":"publish","type":"post","link":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/2019\/05\/25\/asymptotic-tracking-a-constant-reference-without-a-pole-at-zero\/","title":{"rendered":"Asymptotic tracking a constant reference without a pole at zero?"},"content":{"rendered":"\n<p>On a <a href=\"https:\/\/linearcontrol.info\/fundamentals\/index.php\/2019\/05\/22\/let-your-inputs-go\/\">previous post<\/a> we have discussed how by invoking stability one can solve problems without having to worry about particular inputs. The contrast between a solution that holds for a particular input versus a solution that holds for a class of inputs is highlighted in the present post by revisiting the problem of asymptotic tracking for a simple example.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"60\" src=\"https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?resize=300%2C60&#038;ssl=1\" alt=\"\" class=\"wp-image-532\" srcset=\"https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?resize=300%2C60&amp;ssl=1 300w, https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?resize=768%2C154&amp;ssl=1 768w, https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?resize=1024%2C205&amp;ssl=1 1024w, https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?resize=1200%2C240&amp;ssl=1 1200w, https:\/\/i0.wp.com\/linearcontrol.info\/fundamentals\/wp-content\/uploads\/2019\/05\/6f1f7393077c14b369d0d9b8319169eedf809ab8.jpg?w=1583&amp;ssl=1 1583w\" sizes=\"(max-width: 300px) 85vw, 300px\" data-recalc-dims=\"1\" \/><figcaption>Fig. 4.2: Standard feedback diagram<\/figcaption><\/figure><\/div>\n\n\n\n<p>Say one would like to design a controller $K$ in the standard feedback diagram of Fig. 4.2 to asymptotically track a <em>particular<\/em> constant input $\\bar{y}(t) = \\bar{y}$, $t \\geq 0$. By particular I mean that there is only one possible value for $\\bar{y}$ that one is interested in tracking. For example, let $G$ be the linear model represented by the ordinary differential equation<\/p>\n\n\n\n<p>$$\\dot{y}(t) = a y(t) + u(t)$$<\/p>\n\n\n\n<p>and consider the problem of asymptotically tracking the particular given constant $\\bar{y}$, that is the problem of designing a controller $K$ such that<\/p>\n\n\n\n<p>$$\\lim_{t \\rightarrow \\infty} y(t) = \\bar{y}.$$<\/p>\n\n\n\n<p> Let $a > 0$ to make the open-loop unstable and make things more interesting.<\/p>\n\n\n\n<p>If one follows the discussion in Chapter 4, a solution to this problem must be in the form of a dynamic controller that has a pole at zero. In the present case, because $a > 0$ is such that the open-loop tranfer-function<\/p>\n\n\n\n<p>$$G=\\frac{1}{s-a}$$<\/p>\n\n\n\n<p>is unstable, one will also also need a zero. That is, the simplest possible controller is the PI controller<\/p>\n\n\n\n<p>$$K(s)=\\frac{K_p s + K_i}{s}.$$<\/p>\n\n\n\n<p>According to Lemma 4.1, all that needs to happen is for $K_p$ and $K_i$ to be picked so that the transfer-function<\/p>\n\n\n\n<p>$$S=\\frac{1}{1 + K G} = \\frac{1}{1 + \\frac{K_p s + K_i}{s} \\frac{1}{s -a}}= \\frac{s (s &#8211; a)}{s^2 +(K_p &#8211; a) s + K_i}$$ <\/p>\n\n\n\n<p>is asymptotically stable. From Section 6.1, any choice so that<\/p>\n\n\n\n<p>$$K_p > a, \\quad K_i > 0$$<\/p>\n\n\n\n<p>is stabilizing. Note how $a > 0$ means that it is essential for the controller to have a zero, that is that $K_p > 0$. The above solution not only guarantees asymptotic tracking for the particular $\\bar{y}$ in question but for all possible non-zero $\\bar{y}$!<\/p>\n\n\n\n<p>Now go back to the original question. If one particular input is all that one cares for, how about the following solution to this problem? Define<\/p>\n\n\n\n<p>$$u(t) = \\tilde{u}(t) &#8211;  \\bar{u}$$<\/p>\n\n\n\n<p>and use the fact that <\/p>\n\n\n\n<p>$$e(t) = \\bar{y} &#8211; y(t) \\quad \\implies \\quad y(t) = \\bar{y} &#8211; e(t)$$ <\/p>\n\n\n\n<p>to write<\/p>\n\n\n\n<p>$$\\dot{e}(t) = -\\dot{y}(t) = -a y(t) &#8211; u(t) = a e(t) &#8211; \\tilde{u}(t)  &#8211; a \\bar{y} + \\bar{u} .$$<\/p>\n\n\n\n<p>Therefore the feedback controller<\/p>\n\n\n\n<p>$$u(t) = \\tilde{u}(t) &#8211; \\bar{u}, \\quad \\tilde{u}(t) = K e(t), \\quad \\bar{u} = a \\bar{y}$$<\/p>\n\n\n\n<p>with $K > a$ is such that <\/p>\n\n\n\n<p>$$\\dot{e}(t) = a e(t) &#8211; \\tilde{u}(t), \\quad \\tilde{u}(t)=K e(t),$$<\/p>\n\n\n\n<p>and<\/p>\n\n\n\n<p> $$\\dot{e}(t) = (a &#8211; K) e(t)$$<\/p>\n\n\n\n<p>is asymptotically stable. In other words,<\/p>\n\n\n\n<p>$$\\lim_{t\\rightarrow \\infty}e(t) = 0 \\quad \\implies \\quad \\lim_{t \\rightarrow \\infty} y(t) = \\bar{y}.$$<\/p>\n\n\n\n<p>This means asymptotic tracking even though neither the system nor the controller have a pole at zero!<\/p>\n\n\n\n<p>So where&#8217;s the catch? The latter tracking property holds only if the controller is built with $\\bar{u}$ that matches $a \\bar{y}$ exactly. A small change in the value of the reference input or in the system parameter $a$ and gone is asymptotic tracking. In that way, this solution is akin to an open-loop solution, even though in this present case feedback was necessary to stabilize the closed-loop system. See Section 8.6 for a related discussion in the context of feedforward control.<\/p>\n\n\n\n<p>By contrast, the former solution guarantees tracking for any possible $\\bar{y} \\neq 0$, thanks to the virtues of <a href=\"https:\/\/linearcontrol.info\/fundamentals\/index.php\/2019\/05\/22\/let-your-inputs-go\/\">invoking asymptotic stability to handle a class of inputs<\/a> rather than worrying about a particular input. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>On a previous post we have discussed how by invoking stability one can solve problems without having to worry about particular inputs. The contrast between a solution that holds for a particular input versus a solution that holds for a class of inputs is highlighted in the present post by revisiting the problem of asymptotic &hellip; <a href=\"https:\/\/linearcontrol.info\/fundamentals\/index.php\/2019\/05\/25\/asymptotic-tracking-a-constant-reference-without-a-pole-at-zero\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Asymptotic tracking a constant reference without a pole at zero?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false},"categories":[7],"tags":[32,48,3],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/posts\/590"}],"collection":[{"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/comments?post=590"}],"version-history":[{"count":22,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/posts\/590\/revisions"}],"predecessor-version":[{"id":696,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/posts\/590\/revisions\/696"}],"wp:attachment":[{"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/media?parent=590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/categories?post=590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linearcontrol.info\/fundamentals\/index.php\/wp-json\/wp\/v2\/tags?post=590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}