{ "cells": [ { "attachments": { "TP1_SDSystem.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe4AAAFMCAYAAAANw1+zAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD+mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAxLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPmE5ZmE0MWJlLTYyZmItNDhlMC05MWY0LTE2OWQ0OGU3YzQ2MTwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5JbnRyb2R1Y3Rpb24gdG8gQ29udHJvbCBUaGVvcnkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+Cgog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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "## EX 1: Mass-spring damper system\n", "\n", "Let us consider mass-spring damper system\n", "![TP1_SDSystem.png](attachment:TP1_SDSystem.png)\n", "\n", "with the following system parameters:\n", "\n", " mass m = 1.0 kg\n", "\n", " spring constant k = 5.0 N/m\n", "\n", " damping constant $\\rho$ = 2 Ns/m\n", "\n", "\n", "Let us suppose that measured output of the system is a position of the mass and its velocity. Then the state space model of the system is the following:\n", "\n", "$$\\dot x = Ax + Bu$$\n", "$$ y = Cx$$\n", "\n", "where\n", "state vector $x = (p,v)$ (p - position, v - velocity), and state and control matrices are the following:\n", "$$ A = \\begin{pmatrix} 0&1\\\\ -\\frac{k}{m}&-\\frac{\\rho}{m}\\end{pmatrix},\\ B = \\begin{pmatrix} 0\\\\ \\frac{1}{m} \n", "\\end{pmatrix}$$\n", "\n", "Let us design a full-state feedback controller which ensure that position of closed loop system tracks the constant reference $y_{ref}(t) = 1.$ \n", "\n", "According to the Lecture 4, such controller can be found in the form $u = -Kx + k_z\\int_0^t(y_{ref}(\\tau) - p(\\tau))\\,d\\tau.$ \n", "\n", "To implement an integral term let us introduce a new variable $z = \\int_0^t(y_{ref}(\\tau) - p(\\tau))\\,d\\tau.$ Then $\\dot{z} = y_{ref}(t) - p = y_{ref}(t) - Cx,$ where $C = (1,0).$\n", "\n", "We now have an augmented system \n", "$$\\dot x = Ax + B(-Kx - k_zz)$$\n", "$$\\dot z = y_{ref}(t) - Cx$$\n", "\n", "or in matrix form\n", "$$\\begin{pmatrix} \\dot x\\\\ \\dot z \\end{pmatrix} = \\begin{pmatrix}A & 0 \\\\ -C & 0\\end{pmatrix}\\begin{pmatrix} x\\\\ z\n", "\\end{pmatrix} + \\begin{pmatrix} B \\\\ 0 \\end{pmatrix} \\begin{pmatrix}-K & -k_z\\end{pmatrix}\\begin{pmatrix} x\\\\ z\n", "\\end{pmatrix} + \\begin{pmatrix}0\\\\ y_{ref}(t)\\end{pmatrix} = (A_a - B_aK_a)\\begin{pmatrix} x\\\\ z\n", "\\end{pmatrix} + \\begin{pmatrix}0\\\\ y_{ref}(t)\\end{pmatrix} $$ \n", "where\n", "$$\n", "A_a = \\begin{pmatrix}A & 0 \\\\ -C & 0\\end{pmatrix},\\ B_a = \\begin{pmatrix} B \\\\ 0 \\end{pmatrix}, K_a = \\begin{pmatrix}K & k_z\\end{pmatrix}\n", "$$\n", "\n", "Hence, the state feedback design with integral action can be done as a normal state feedback design for the augment plant. If $K_a$ is designed such that the closed-loop augmented matrix (A_a - B_aK_a) is Hurwitz, then necessarly in steady - state\n", "$\n", "\\lim_{t->+\\infty} \\dot z(t) = 0 \\Rightarrow \\lim_{t->+\\infty} y(t) = r\n", "$, achieving tracking.\n", "\n", "## TODO \n", "\n", "1. Play with code bellow to ensure that closed-loop trajectory additionally meet the following time domain specifications\n", "\n", " Rise time < 10 s\n", " \n", " Overshoot < 10%\n", " \n", " Steady-state error < 2% " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "overshut 0.4109266042323345\n", "ss_error 4.7979398232200765e-11\n" ] }, { "data": { "text/plain": [ "Text(0.5, 0, 'Time ')" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAA8D0lEQVR4nO2dfZxVVdn3vxczgIAwOCBIvIjOqImWKMOEpUaazUgQ3r7cOmM0mT2kQQnVXVqCBWF3PhV4C2rdZY7VYJqWDtmQWmpPaiMiKkrioCgIiji8vyPX88c+58yZ4cx54+yz1+Zc389nf85+WWft3561zlz7Wi/XElXFMAzDMDrSJWgBhmEYhpuYgTAMwzASYgbCMAzDSIgZCMMwDCMhZiAMwzCMhBQHLSBTevfurSeddFLQMg6itbWV0tLSoGUchOnKjOeee26jqh4dxL2tbmeG6cqMbOp26AzE8OHDWbJkSdAyDqKlpYXy8vKgZRyE6coMEXkzqHtb3c4M05UZ2dRta2IyDMMwEhI6A7FmzZqgJSRk+vTpQUtIiOkKD1a3M8N0+U/oDIRhGIaRH8xAGIZhGAkJnYFwcXQAQE1NTdASEmK6woPV7cwwXf4jYQvWV1FRoS6O9DAOD0TkOVWtCOLeVrcNP8mmbofOg1i9enXQEhJSV1cXtISEmK7wYHU7M0yX//hmIETkThHZICLLU6QbLSIfiMgl6eS7f//+toO1a6G2Fp5++tDE5oDW1tagJSTEdIWH/fv3w9SpcMstQUtph6tlZbr8x08P4i6gOlkCESkCfgwszuoO06bBwoXw5S9n9XXDcIkj9u+HBQu8eh2ypl/j8MQ3A6GqTwKpTOnXgPuBDenm271797aDl17yPl95JVN5OaesrCxoCQkxXeGhW9eubQc7dwYnpAOulpXp8h9fO6lFZDiwSFVPTXBtMNAAnAv8KpLuD53kMxmYDNC/f/9RY8aMAWD+E09w7LZtAEwYPz6WvqamhtraWurq6mLuXllZGfPmzWP+/PksXtzmsNTX19PS0sLs2bNj56ZMmUJ1dTUTJkyInRs9ejQzZ85k1qxZPPvss7HzjY2NNDU1sWDBgti5GTNmUF5e3q4tsqqqiqlTpzJt2jRWrVoFeKNW6uvraWhoYOHChbG0c+fOBdpPuLFnys8zLVq0KGVHnogMBe4GjgEOAL9Q1Vs6pBHgFmAcsBP4oqouTZZvRXm5Lon8HVm7FgYPTpbcMDIiqwEYqurbBgwHlndy7T5gTGT/LuCSdPIcOnSoxhg1StVzxlU/+ECD5NZbbw30/p1hujIDWKKp6/Ug4IzIfm9gJTCiQ5pxwF8AAcYA/0qV7wn9+rXV55aW/D54ElwtK9OVGenU7Y5bkKOYKoB7RGQ1cAlwm4hcmOpLW7dubTvYvbttf9OmHMvLjPi3XZcwXblHVddrxBtQ1W3ACqDj6/5E4O7Ib/MZoK+IDEqW7+74ZqX4uh0wrpaV6fKfwKK5qupx0X0RuQuvielPGWWyfXv7/X79ciPOMNIk0ox6OvCvDpcGA/HBldZGzq3vLK8u8c29DhkIo3DxzUCIyEJgLNBfRNYCNwJdAVT1jpzcpKOBMIw8IiJH4g2ymKaqWzteTvCVgzr84vvXhnRpc+i//fWvM7m+Hgi+36a5uTmW3qW+qKgu1/rXmpubaWhocK5/LRtCN5N65MiRumzZMu+ge3fYu9fb/9e/oLIyMF2uLhJiujIj3Y48EekKLAIWq+rPElz/OfC4qi6MHL8KjFXVTj2IMwYO1KUbIgP6Hn0Uzjsvu4fIMa6WlenKjIKYSb1nzx5vZ+/eNuMAgXsQLS0tgd6/M0xX7omMUPoVsCKRcYjwEPAF8RgDbElmHAA+iJ8EumtXjtQeOq6Wlenyn9AZiPXrI7+xHTvaX+h4nGfi3UOXMF2+8AlgEnCuiCyLbONE5GoRuTqS5mHgdaAF+F/gq6ky3RH/kuNQH4SrZWW6/Cd0S47GiMx/iGF9EEaeUNX/R+I+hvg0CkzJJN92GTpkIIzCJXQeRIyOM00D9iAM41CR+P5Ah5qYjMIldAZiwIAB3k58/wME7kFMmZLRy2LeMF3hoccRR7Qd7NsXnJAOuFpWpst/Qmcg+vTp4+1EO6ujBOxBVFcnjUsYGKYrPHSNj8XkkIFwtaxMl/+EzkDERgg45kHEj1d2CdMVHrbH96s5ZCBcLSvT5T+hMxAxOhoI69QzQk67Poj4Ia+GERBmIAzDRRzyIIzCJXQGolevXt5Oxz6IgA3E6NGjA71/Z5iu8FBcVNR24JAH4WpZmS7/CV2ojdjC7n/4A1x6aduFyy/3VpczjEMgq5j5OaKid29dEu1Lu/56uOmmIGQYhykFEWojNpM62sQUXWEuYA9i1qxZgd6/M0xXeNgb32zqUBOTq2VluvwndAZiR3Q4a7SJqaTE+wzYQMRHV3QJ0xUeDnzwQduBQ01MrpaV6fKf0BmIGNG3rei8COukNkJOu1FMDnkQRuESfgMR9SAsNIFxOOGQB2EULqEzEOXl5d6OYx5EY2NjoPfvDNMVHrp369Z24JAH4WpZmS7/CZ2BiK1JHe2DcMRANDU1BXr/zjBd4aFdH4RDBsLVsjJd/hM6A7EhuuKWYx5E/HJ/LmG6wsMHjnZSu1pWpst/QmcgYnTsg7BOauNwwiEPwihcfDMQInKniGwQkeWdXL9CRF6MbE+JyGkZ3cCxJibDOGRsFJPhGH56EHcByeLevgF8UlU/CswGfpFOpoMGDfJ2HPMgZsyYEej9O8N0hQdXQ224Wlamy398W3JUVZ8UkeFJrj8Vd/gMMCSdfLtHZ05HDUTv3t7nnj3eG5gkXQnSN2KjqxzDdIWHdjXXIQ/C1bIyXf7jyprUVwF/6eyiiEwGJoO3qMqECRP4+gsvcD7w7ubNHN2tG1327uWiz36WfUVF1NTUUFtbS11dHa2trQCUlZUxb9485s+fz+LFi2N519fX09LS0m6h8SlTplBdXd0urvvo0aOZOXMms2bNajdTsrGxkaamJurq6qisrAS8N4jy8nLq6upi6aqqqpg6dSrTpk1j1apVAJSWllJfX09DQwML4+JIzZ07F4Dp06fHzmX7TM3NzVRWVmb1TPGdbbl+pubmZubOnZv3ckr1TEHiaid1XV2dk0M3TVceUFXfNmA4sDxFmk8BK4B+6eRZUlKiqqo6aZIqqNbXq5aUePutrRoU48ePD+zeyTBdmQEsUR9/E8m2kSJePQbVs8/Ox+OmhatlZboyI5u6HegoJhH5KPBLYKKqvp/Rl6NvWMXFEF3L1zqqjcMFh5qYjMIlMAMhIsOAB4BJqroy3e/F1qR2zEBUVVUFdu9kmK7w0O7H6FATk6tlZbr8x7f1IERkITAW6A+8C9wIdAVQ1TtE5JfAxcCbka/s1zRilcfWg7joIvjjH+H+++G734VXX4VXXoGTT/bleYzCIND1IIqKdMmBA97BaafBsmVByDAOU5xaD0JVa1R1kKp2VdUhqvorVb1DVe+IXP+yqh6lqiMjW1rC16xZ4+045kFMmzYtsHsnw3SFB40aB3DKg3C1rEyX/4RuJvWe6AQ5xwxEdBSPa5iu3JPGJNCxIrJFRJZFtpkZ38ShPghXy8p0+Y8rw1wzJ95A9Ojh7VsntZEf7gLmA3cnSfMPVR2f9R0cMhBG4RI6D6K4OGLTHPMgSktLA7t3MkxX7lHVJ4HWXOfbbqJc/JyIgHG1rEyX/4TOgxg+fLi345iBqK+vD+zeyTBdgXGmiLwArAO+paovJ0oUPwl0VNz5jRs2sLmlBcjNhMko2UwubG1tjaV3aRIowIQJE5ybBArQ0NBweEwCzXTiRNDbcccd5836OPNMb0LRP/+pevnl3v7vfpfh1JHc8bsA750M05UZpDmZiCSTQIE+wJGR/XHAa+nkOSo6SQ5UBw7M30OnwNWyMl2ZkW7djt9C18QUtcaueRDxbxQuYbryj6puVdXtkf2Hga4i0j+jTBxqYnK1rEyX/4TOQMRwzEAYRhQROUbEixopIpV4v7PMIgU4ZCCMwiV0fRAxEhmIXbuC02MUDPGTQEVkLR0mgQKXANeIyH5gF3B5xMVPH4fmQRiFS+gMxNChQ70dx4a5RjuqXMN05R5VrUlxfT7eMNjMEfF6IRzyIFwtK9PlP4dHE1PUQJgHYYSdbt28T4cMhFG4hM5AxEJtRCcSJTMQjY0wdCj8Iq3F6g6J+CFuLmG6QkbUQDjUxORqWZku/wmdgYiRjgdx3XWwdi185SttK9AZhsuYB2E4xOFrIDZvhhUr2o7jJpYYhrMUF7ctmxsfvM8wAiB0BiI2jT2VgXjhBa+zL8o//uGrrpqapP2WgWG6QkaXLlBU5O070szkalmZLv8Jv4Ho2jWxgXjrrfZfXJ4w8GbOqK2t9TX/bDFdIaOoqM1AONLM5GpZmS7/CZ2BWL16tbeTyIPYubMtYdRAnHOO9+mzgXBl4fuOmK6QUVTk1WlwxkC4Wlamy39CZyD2Rw1DqiamqIG44ALvc8UKX132WAgQxzBdIcPBJiZXy8p0+U/oDESMdA3EKafA8OHeKKbXXsurRMPIGAebmIzCJXQzqXfuHMrYsQr7H/FOnF/Mf541mK8CO3co48ZGEj47C/gO/KCCL5ZcyxeZzsZ/vsol18StWa0Ku3dxzde7cdkVxaxZA5MmHXzPb34TJkzwlr3+ylcOvn7DDV4o32XLINFqgzfdBB//ODz1lLd8dkfmzYORI+HRR+GHPzz4+s9/Died5E3r+OlPD77+m9940z1+/3u4/fb211pa5rJxI/TvD3fd5W0defhh6NkTbrsN7r334OuPP+59/uQnsGhR+2s9esBf/uLtz54Njz3W/nq/ft6y4QDXXw9PP92ma+xYGDIEfvtb79y0aQcvw3ziiW3TWCZPhpUr218fOdL7+wF8/vPeqOZ4zjwTfvQjb//ii+H9DhGRzjsPZszw9qPOZqDENzE54kGUlZUFLSEhpst/fPMg0liWUUTkf0SkRUReFJEz0sm3e/fu0C6qjXgd1dDeg9gXmffQrav3XwjaD3vdvx+WPgfNzfCNb7S/lgXzov+lHKO8vDxoCQlxVVfgOOhBuFq3TZf/SKYxxNLOWOQcYDtwt6qemuD6OOBrePHyPwbcoqofS5XvsGHD9K3XXvMC9HXrBnv2wLp1MHgwDBwI77zjeQZdu3o/sD17vFfY2lq48EL44x+9jGbNghtvbMt4wADvVfnkiIexaRPccw+88YZ37dRTvWulpZ5x2bEDtm/3tt27+cMDD3DJZZe1vQF26cT2+vT37oyFCxc6OezOVV0ycuRzqloRxL0rRHTJqad6c3jWrvWaSaOxxwJk/vz5TJ06NWgZB2G6MkNEMq/bmS4gkclG8kVVfg7UxB2/CgxKlWdJSYnq9u3eoio9e3orYbS2esd9+njHmzZ5x717e8cvveQdl5V5x7t3ewuygOqiRarnn+/tH3OM6m23qX7hC6pHHNG2eIttBbORxaIqudpGgeppp6kee6yn5/XXD1r0JQjGjx8ftISEmK7MyKZuB9kHMRhYE3e8NnJufceE8csydu3alcsuvpjfAzv27mV9SwuyZw9lwL5t27howgT+z7nn8jngPVW+NGECRQcO8IcuXSh+/XV+/tOfsvM3v2H6u+/yRu/elIwZw+u9e9N16VJOe+cd+OpXY/d9vn9/XurXj9LduzlVhOG7drF30yb2HjjA7uJidhcVMeSkk9i0ezerVq6kT69edAEGDRhA9+Ji1sQ1iPfu3Zv+/fqxbt069kTCfhQVFzNs6FA2bd7M5k2bYmk/NHgwAOvefjt2ru9RR3FU3768tWYNH0Taprt1787gD32IjRs3sm3btljaocOGsXfPHt5991127tpFzx496Ne/P3169+aNN96IpevRsyfHDBzIO+++y664IcLHHXccW7dt4/2NG2PnBg4cSLfu3VkTN7+kd+/e9O/fn7fXrWPvnj0ZPdPOXbv40Ic+lNUzRfHjmYi7ZyA42MRkFDCZWpRMNpJ7EH8Gzoo7fgwYlSrPkpIS1Y0bvTes0lLPNB44oCrindu/X/WZZ7z9ioo283nGGd65v/7Ve0sD1V//uu36zp2qN9+setllqj/4geqqVRlZZ1ffGkxXZhC0B1FRoXriiV79/Pe/8/HIKXG1rExXZmRTt4P0INYC8Q2sQ/AWeE/K/v1ljJ3QG/g7bOsKY+E//1P46hFHsHMX3iimzeXe9VWlMBa++EX44nnnsXHpm1xycSlsm+f1Udx5JtwF11wDl13WgzWX/xeT/gy8A/yt7Z7pjGKqr693chTT/v0PODmKaf/+B2wUUyLiPQhHRjHV19cHLSEhpst/gpwH8RDwhchopjHAFlU9qHmpI6oHvNZiaAtqBm1zIQ58APsjocCjo5sAPvMZ7zPahDB4cOcdyVnQ0tKSs7xyyS5H18hwVVfgONjE5GrdNl15IFOXI90NWIjXn7APz1u4CrgauDpyXYAFwCrgJaAinXxLSkpUV6/2XPBhw9r8p8GDvXNvvqn60596+9de23b9gw9UTz/dOz9okOrmzTlw2tpw1a00XZlB0E1MZ52lOnKkV0+XLs3HI6fE1bIyXZmRTd32rYlJUy/LqMCUrDKPn0UdJX42dbQdoX//tutdunhtKQ8/7LUrlJRkdWvD8BUHm5iMwiV0M6mB9qvJRYk3ENGRKv36tf/eMcfAl77kvz7DyBYHm5iMwiV0sZgGDBiQnQfhM1OmZOcM+Y3pChkORnN1taxMl/+EzkD06dMntYHozIPwkerq6rzdKxNMV8hwMJqrq2VluvwndAaipaUlfQ8ijwZiwoQJebtXJpiukOFgE5OrZWW6/Cd0BgJov5pclIANhGHkBAejuRqFS7gNRLwH0bOn97lzpxkIw1f8ilQMtG9icsSDMAqX0BmIXr16JTYQffp4n+vXe4sD9ejR5lXkgdGjR+ftXplgunzhLiBZQ/MFwAmRbTJwe5K07XGwk9rVsjJd/hM6AzFo0KDkBiIauC3P3sPMmTPzer90MV25R1WfBJKtKzkRL8y9quozQF8RGZRW5g7Og3C1rEyX/4RuHsT69eudNBCzZs1ysmKYrkDIKlLxKODJf/6T4gMH+Diwfu1adrS0MH369Fj6mpoaamtrqauri619XFZWxrx585g/fz6LFy+Opa2vr6elpYXZs2fHzk2ZMoXq6up2HamjR49m5syZzJo1i2effTZ2vrGxkaamJq699lpOPPFEAGbMmEF5eTl1dXWxdFVVVUydOpVp06axatUqAEpLS6mvr6ehoYGFCxfG0s6dOxcgJ8+0cuVKTjzxxKyeacGCBbFzuX6mlStXcuONN+a9nFI9U1ZkOvU66K2kpES1sdELRfDZz7bNI58/3ztXXu59nntutjPSs8LV6fWmKzNIMxwBPkQqHgWqtbWql17q1eHf/z5/D54EV8vKdGVGunU7fgudBwEk9yBef937tA5qIziyilQMeM1LBw54+440MRmFS+j6IIDkBiL64zIDYQRHVpGKASfnQRiFS+g8iPLy8uQGIkqeDURjY2Ne75cupiv3iMhCYCzQX0TWAjcCXQFU9Q7gYby11luAncCVaWfepYtzo5hcLSvT5T+h8yC2bt3aZiCib1pwcHTWQekNGskVTU1Neb1fupiu3KOqNao6SFW7quoQVf2Vqt4RMQ5EmnynqGqZqn5EVZeknbmDo5hcLSvT5T+hMxAbNmxI7EEMHNg+YWQN5HwRP4LAJUxXyHCwicnVsjJd/hO6JiagcwPRpUtbH0SeDYRh5IQuXdpWSnTEgzAKl9B5EEDbm1V8E1NxsbfeQxQzEEYYcdCDMAqX0HkQnc6kBujWrW2/Y5OTz8yYMSOv90sX0xUyiora1lx3xEC4Wlamy39C50F07949sQcBcPbZ3ueQIQdf85ny8vK83i9dTFfIiB/F5EgTk6tlZbr8Jy0DISIXichrIrJFRLaKyDYR2ZrG96pF5NVIVMvrElwvEZFGEXlBRF4WkZTDAVevXt1mIDp6EDfdBDU1cP/96TxWTjnkKe0+Uci6KioqWLBgAZs2bfL9XjnDwSamQq5D2eCqrmxI14O4Gficqpaoah9V7a2qfZJ9QUSKgAV4kS1HADUiMqJDsinAK6p6Gt648p+KSDdSkWiYK3ieQ0MDVFam8UjG4c4999zDunXrGD16NJdffjmLFy+Ohr5wFwejuRqFS7oG4l1VXZFh3pVAi6q+rqp7gXvwolzGo0BvERHgSLwIman96s48CMOIo7y8nDlz5rBy5Upqa2v50pe+xLBhw7jxxhtjAdScw8F5EEbhku5/2CUi8nvgT8Ce6ElVfSDJdxJFtPxYhzTz8cISrAN6A5ep6oGOGcVHvOzVqxe/uesuJgH33n8/Z3z5y0BuokNGySaS4urVq2PpXYp4GdXlWsTL1atX09DQ4Hs5bd26lTVr1tC1a1cqKip4//33ue+++5g3bx6PPPJIbiJe5hIHFwyqqqoKWkJCTJf/SDout4j8OsFpVdUvJfnOpUCVqn45cjwJqFTVr8WluQT4BPANoAx4BDhNVTvt36ioqNAlEybA978PM2fCD36QUr9RmIwaNYq+ffty1VVXcfHFF3sDHCJcdNFFPPDAwe83IvKcqlbkU2eUChFd8v3ve57xDTfAd78Lc+YEIcU4DMmmbqfVxKSqVybYOjUOEdKJaHkl8EAkNEEL8Abw4WSZrlmzpvM+iACZNm1a0BISUsi67rvvPh577DFqa2tjxuGNyHohiYyDEzjYxFTIdSgbXNWVDemOYhoiIn+MrMP7rojcLyJDUnztWeAEETku0vF8OV5zUjxvAedF7jEQOAl4PVmme/bscbIPItrE4hqFrOuSSy5J65xTONjEVMh1KBtc1ZUN6f6H/TXQAFwaOf585Nz5nX1BVfeLyFRgMVAE3KmqL4vI1ZHrdwCzgbtE5CVAgO+o6saUahz0IAx3+Pe//83LL7/Mli1b2nkKW7duZffu3QEqSwMbxWQ4RLoG4mhVje+HuEtEpqX6kqo+jBf6OP7cHXH764DPpKkBgOLiYic9iNLS0qAlJKQQdb366qssWrSIzZs3twu93Lt3b/73f//Xt/vmBAebmAqxDh0KrurKhnT/w24Ukc8D0WEpNcD7/khKzvDhw530IOrr64OWkJBC1DVx4kQmTpzI008/zZlnnunbfXzBwSamQqxDh4KrurIh3XkQXwL+E3gHb+H1SyLn8k5ra6uTHkRDQ0PQEhJSiLpuvvnm2D2+/vWvH7Q5TXwTkyMeRCHWoUPBVV3ZkO4oprdU9XOqerSqDlDVC1X1Tb/FJaK1tdVJDyJ+zL9LFKKuk08+GfBCbYwaNeqgzWkcDLVRiHXoUHBVVzYkfQUXkW+r6s0iciverOd2qGowr2OdBeszDIhNnHNqAly6OLjkqFG4pPIgouE1lgDPJdiCobNw34YRx/nnn8/mzZtjx5s2bXJ/lquDndRG4ZL0P6yqRoeA7FTV++KvRWZK552hQ4c66UFEQ0m4RiHreu+99+jbt2/s+KijjvKWrHUZB5uYCrkOZYOrurIh3U7q69M8lx/MgzDSoKioiLfeeit2/OabbyLR5TxdxeZBGA6R1ECIyAWR/ofBIvI/cdtdpBN11QfWrFnjpAcRH1jPJQpZ15w5czjrrLOYNGkSkyZN4pxzzuFHP/qR7/c9JOKHuTrSxFTIdSgbXNWVDalewdfh9T98jvZ9DtuA4P4KDg5zNdyjurqapUuX8swzzwCe69+/f/+AVaXAwSYmo3BJ1QfxAvCCiPxOVd14nQEnh7kabvLUU0/x5JNPxo7Hjx8foJo0sCYmwyFSNTHdG9l9XkRejNteEpEX86DvIEpLS530IGpqaoKWkJBC1nXddddxyy23MGLECEaMGMEtt9zC9dcfetdZGkvpjo0sz7ssss1MO3MHm5gKuQ5lg6u6siHpehAiMkhV14vIsYmuBzFZrqKiQpccfTQ0NcGf/wzjxuVbghESPvrRj7Js2TK6dPHegz744ANOP/10Xnyx83ebVDHzI0vprsQLVLkWL2pxjaq+EpdmLPAtVc3IXakQ0SX33Qd9+kBVFXz60/DII5lkYRidkvP1IFR1fWR3I7AmYhC6A6dx8NoOeWH16tVOehCuTsoqdF3x8yC2bNmSiyzTWUo3exxsYir0OpQprurKhnT/wz4JnC0iRwGP4XVcXwZc4Zewzti/f7+TfRCurnFcyLquv/56Tj/9dD71qU+hqjz55JO5GMWUzlK6AGeKyAt4L1LfUtWXE2UWv5zuKOCHN93Ejq5d+RGwa9s23m5pCXw53aamJieX021ubnZyOd3m5ua8LKeb6TNlhaqm3IClkc+vAd+O7D+fzndzvZWUlKiec44qqD7+uLrC+PHjg5aQkELXtW7dOn3wwQf1T3/6k65fvz5lemCJJv8tXAr8Mu54EnBrhzR9gCMj++OA15LlGd1GgWpjo+o//uHV749/PKd/i2wp9DqUKa7qSlW3E23pehAiImfieQxXRc4F0r7TvXt3Jz2IsrKyoCUkpBB1LV26tN3xkCHe4ofr1q1j3bp1nHHGGYeSfcqldDVuTXVVfVhEbhOR/prOYlgORnMtxDp0KLiqKxuSdlLHEol8Evgm8E9V/bGIHA9M0wCC9VVUVOiS4mL417/g6adhzJh8SzAc51Of+lSn10SEv/3tb8mup+qkLsbrpD4PeBuvk7pW45qQROQY4F1VVRGpBP4AHKspfmwVIrqkqQlKS6GyEkaNgiVLkn3FMNImm07qjNwNoDcR1zmobejQoaqjRnkueHPzoflcOeTWW28NWkJCTFdmkIYbjtdstBJYBXwvcu5q4OrI/lTgZeAF4Bng46ny1GgT0yOPqC5d6tXvkSPz/PSJcbWsTFdmpFO3O25pxWISkY+IyPPAcuAVEXlORE7JyBLliK1btzo5iim+08klClnXzp07+eEPf8jkyZMBeO2111i0aNEh56uqD6vqiapapqpzIufu0Mhyuqo6X1VPUdXTVHWMqj6VdubFxc7NgyjkOpQNrurKhnSD9f0c+IaqHquqw/Cam1Iu7ptqQlEkzdjIZKKXReSJtNQ42AdhuMeVV15Jt27deOop7//zkCFDuOGGGwJWlYJUoTbuvhueSO9nYhiHSrqv4L1U9e/RA1V9XER6JftCZELRAuImFInIQ9p+QlFf4DagWlXfEpEBaalxMFif4R6rVq3i97//fWxIYo8ePaJNRO6SbB7EP/4B0WGLu3dD9+751WYUHOl6EK+LyAwRGR7ZbgDeSPGddCYU1QIPqOpbAKqaMlj/8OHDnQz37epC5YWsq1u3buzatSsW4nvVqlXeKDiXSbZg0D/+0bb/csJpFb5QyHUoG1zVlQ3p/of9EvAD4IHI8ZPAlSm+k86EohOBriLyOF4H+C2qenfHjOInE5WUlLB+3z4GAZOvuYZv/+IXQG4m3kTJZpLKnDlzYovTuDSZaPPmzfTt29e5yUSbN2/mmmuu8aWcNmzYwO7duzlw4ABDhgxh+/btXHHFFTz66KMcf/zxSSd9BU6yJqa3327bX7ECDm24btq0tLRQWVmZl3tlgunKA8l6sIEjgGnAfOArQNd0e79Jb0LRfLxRHr2A/sBrwInJ8i0pKVEdNswb5fHGG4fWrZ9DXJ0cU4i65s2bp2PGjNFjjz1Wr7zySp09e7YuWrRI33vvvZTfJYuRHrnaRoE3gumtt7z6PWRIe3Gf+5x3HlRvvjnrv0+mFGIdOhRc1ZVN3U7VxFQPVAAvARcA/zcD25NyQlEkTZOq7lBvEtGTeHGekmN9EEYSrr32Wp5++mmeeOIJTjrpJO6//36+9a1vcfvtt7Ny5cqg5SUnWRNTvAexfj2G4TepDMQIVf28qv4cuAQ4J4O8nwVOEJHjRKQbcDnwUIc0D+LFeCoWkZ54TVArUubs4DBXwz2OPfZYvvOd7/D888/T0NDAAw88wMknnxy0rOQka2J65522/XWBxMo0CoxUBmJfdEczXDAokn4qsBjvn/69qvqyiFwtIldH0qwAmoAXgWa8JqnlyfIdMGCAk8Ncp0yZErSEhBSyrn379tHY2MgVV1zBBRdcwIknnsj999/v+30PiWShNrZubdvPo4Eo5DqUDa7qyoZU60F8AOyIHgI9gJ2RfVXVPr4r7EBFRYUuef112LQJ3n/fC0tgGHE88sgjLFy4kD//+c9UVlZy+eWXc+GFF9KrV9KR2UCW4QhyRIWILlm5EgYMgL59vXUhoiHKVT3jEf29nnwyvPJKp3kZRkf8WA+iSFX7RLbeqloct5934wDeCAEXPYj4kTQuUYi6brrpJs4880xWrFgR8yDSMQ5OUFyc2IPYsaPNOADkMYx7IdahQ8FVXdkQzkZ864MwkvD3v/89dSJX6ayJads277OkxPMqWls9gxGZ42EYfpDuRDm3cNCDMIyckMpA9O8PPXvCvn2eV2EYPhI6A9GrVy8nPYjRo0cHLSEhpitkFBVBZA1tDhzwNmgzEL17t/W7vf9+XiS5Wlamy3/SWg/CJSoqKnTJc895BwcOmItt5JTAO6k3bICjj4auXT0PYu9eb/+JJ2DsWDj7bK+J6cUXYelSOP30IKQaISTnndQusj46vK9LF6eMw6xZs4KWkBDTFTKizaYdm5kSeRB56qh2taxMl/+400aTJjuj7a6O9T/ExzJyCdMVMqL1uuNs6ngD0aOHt58nA+FqWZku/wmdgYjhUP+DYeSMdDyIqOecx6GuRmESuv+ysUYlxzwIw8gJ6RiIbt28/Tx1UhuFS+j6II4//nhvxzEPorGxMWgJCTFdIaOjgYiO2Nu+3fs88si890G4Wlamy39CZyC2RUMPOOZBNDU1BS0hIaYrZEQNQ0cPYtcu77Nnz7wbCFfLynT5T+gMxMaNG70dxwxE/OI6LmG6QkZ0DkRnBuKII/I+D8LVsjJd/hM6AxHrg3CsickwckpHA7F7t/fZo4c3mxoONhC7dsH8+fBQx6j6hpEd4f0v65gHYRiHSrspq8k8iKiBiHrTUb79bc9AADQ1QVWVX1KNAiF0HsTAAQO8Hcc8iBkzZgQtISGmKzxIl7ifYzoeRLyB2LULfvnLtuMbb8yZLlfLynT5T+gMRLeuXb0dxzyI8vLyoCUkxHTlHhGpFpFXRaRFRK5LcF1E5H8i118UkTPSyjiZgUjUB9Ha2jbK6amnPCNy0klw1FHwr3/BkiVZPV9HXC0r0+U/oTMQb69d6+045kHU1dUFLSEhpiu3iEgRsABvjfYRQI2IjOiQ7ALghMg2Gbg9nbz3xy8xmsyDKC72jICqt3AWQDTE+fjxcOWV3v7tHW7797/DV78KN9yQ0WJDrpaV6fIft/7LZoJjHoRRMFQCLar6OoCI3ANMBOL/404E7lYvEuYzItJXRAap6vpkGR+Ijy2WzIMAr5lp0yavmal/f1i2zDv/sY/ByJHws59BQwP85CeeMamv9wxHNDjnnDnwmc/AJZfAzp3w73/D8uXw1ltecMAjj/TWnigp4TvPPeeli0aXPXDAyyfRcR6Z9cILcP75eb1nOsxatsxJXdkQOgNho5iMgBkMrIk7Xgt8LI00g4GDDISITMbzMhghEluN7McrVzICWLt6NdfMmcPPli/nBKDpiSeoPvtsXtu8mROA71x1FXtGj2beyy8DcM1tt7H2yCP5wdFHc8Z77/HmrFnc9/jjfGPZMroAb44fz7GDBrHnV7+i+1//Cn/9a8oHPgvAwbW8Twd49NGgZRyEq7qywdf/siJSDdwCFAG/VNX/7iTdaOAZ4DJV/UOyPI/s1cubVeqYB1Hl6IgR05VzEoUQ7hgzP5003knVXwC/ACgbOFBjs3DHjoUnnmDIMcd4M3NPOQW2bKH6wgsBOGHMGGhs5Mf/9V/w6U/DLbdAt27c/sgj3svTgw/ChRdy7C238K3ozX74Q4793vcA6P7f/w2//rUXNrxXLzjhBPjIR+D44z2vZft2L6z4li0sfvBBqsaN8/pIOm4i7ffzFWFZlQcffJCJEyfm534Z4KouPvOZjL/im4GIa6s9H+8N6lkReUhVX0mQ7sfA4nTyPeqoo+Ddd53zIKZOnRq0hISYrpyzFhgadzwEWJdFmoM4amjcVzrrg4hvYgKviSnan/DhD7d9b/x47x9C1EOYMwe++922/EtL4ZvfTCUJgKqIUXKNiY4247iqKxv87KSOtdWq6l4g2lbbka8B9wMb0sl0w7vvejuOeRDTpk0LWkJCTFfOeRY4QUSOE5FuwOVAx5lpDwFfiIxmGgNsSdX/ALBmTVyrVGd9ENFQ3/EGYvlyb/+UU9q+X1QEixZ58yFefLG9ccgQV8vKdPmPn6/hKdtqRWQw8B/AuUCn6/TFt9P2jfxwlr/6KtdPmMDcuXMBmD59eix9TU0NtbW11NXV0RqJV1NWVsa8efOYP38+ixe3OSv19fW0tLQwe/bs2LkpU6ZQXV0daw8GbxnBmTNnMmvWrHbx3hsbG2lqamLhwoWsWrUK8MZBl5eXtxvNUFVVxdSpU5k2bVosXWlpKfX19TQ0NLBw4cJY2lw+U3NzM6tWrcrqmeJDBuT6mZqbm6msrMx7OaV6plSo6n4RmYrn8RYBd6rqyyJydeT6HcDDwDigBdgJXJlO3nv27Gk7yMSDeO89bz/eQIDX2ZyDprxo2bqG6coDqurLBlyK1+8QPZ4E3NohzX3AmMj+XcAlqfI9plcvVVAdO1ZdYvz48UFLSIjpygxgifr0m0i1lZSUtAn53Oe8ev7HP3rHRxzhHe/Y4R3fead3/PnPq1ZVtU+bY1wtK9OVGdnUbT89iHTaYSuAe8Tr2OoPjBOR/ar6p84yLeoYzMwRSqOTlxzDdIWH4vg6He9BqB7sQQwb5n2++Sa88Ya339GDyBGulpXp8h9RTTi44tAzFikGVgLnAW/jtd3WqurLnaS/C1ikKUYxVZxwgi5pafFc58MorK7hBtks7J4rKioqdEl09vNll8G998LChfAf/+EZhm7dINoM1dLijTzq2xc2b4bu3WHHDuf65gx3yKZu+9ZJrar7gWhb7QrgXo201Ubba7NhW3RlLcc8iIaGhqAlJMR0hYfW+PUd4hcM6jhJDmDoUG9I6ebN3vGHP+ybcXC1rEyX//gaakNVH1bVE1W1TFXnRM7doV5HXse0X0zlPQBsjxoIx96U4jtkXcJ0hYeEBmL//vZhNqJ07w7Dh7cdV/jn9LhaVqbLf0IXi8nWpDYKgngDkciDAPjEJ9r2zz47P7qMgiJ0BiKGY01MhpFTUnkQANHZur17exPjDCPHhO6/bL/SUi+4mGMeRHScv2uYrvAwtLOZ1J15EBdfDI2N3oimfv180+VqWZku/wmdgYhFozQPwjicSeRBdDQQIuY5GL4SuiamWEeeYx5E/KxnlzBd4aHTUBudeRB5wtWyMl3+EzoDYeG+jYIgnT4Iw/CZ0BmIGI55EIaRU+INRHRyXEAehFG4hM5A9OrZ09txzIOoqakJWkJCTFd4aBeiIZ0+iDzhalmZLv8Jr4FwzIOora0NWkJCTFd4SGkgunfPvyjcLSvT5T+hMxCt77/v7XTtGqyQDri6ULnpCg+rV69uO3DIg3C1rEyX/4TOQGh0YXTHDES7MAkOYbrCw/7o2g/gVB+Eq2VluvwndAZCbB6EUQg45EEYhUvoDERxtO/BMQ+irKwsaAkJMV3hoXt8H0O0njtgIFwtK9PlP6EzEH369PF2HDMQ8+bNC1pCQkxXeOg01EbAndSulpXp8p/QGYidO3Z4O441Mc2fPz9oCQkxXeFhw4YNbQcONTG5Wlamy39CZyD2RjvsHPMgFi9eHLSEhJiu8LB169a2g/gFgwLupHa1rEyX/7j1Gp4GsVAbjhkIw8gp8R5EdOSedVIbeSa8BsKxJibDyClmIAwHCF0TU+8jj/R2HPMg6uvrg5aQENMVHobHLyHqUCe1q2VluvzHVwMhItUi8qqItIjIdQmuXyEiL0a2p0TktFR5fhCdTOSYgWhpaQlaQkJMV3jYE+1rAKcmyrlaVqbLf3wzECJSBCwALgBGADUiMqJDsjeAT6rqR4HZwC9S5bsrGhvfsSam2bNnBy0hIaYrt4hIqYg8IiKvRT6P6iTdahF5SUSWiciSdPJev35920H0BWjv3sBHMblaVqbLf/z0ICqBFlV9XVX3AvcAE+MTqOpTqropcvgMMCRVprGZ1I55EEbBcB3wmKqeADwWOe6MT6nqSFWtyPgu3bp5n/v2BW4gjMLFz9fwwUDcElmsBT6WJP1VwF8SXRCRycBkgBPE66aec/PNPHP33bH1X+NXcaqpqaG2tpa6urpYXJSysjLmzZvH/Pnz2w1Dq6+vp6WlpZ3VnzJlCtXV1UyYMCF2bvTo0cycOZNZs2bx7LPPxs43NjbS1NREc3NzLP2MGTMoLy9vF7SrqqqKqVOnMm3aNFatWgV40Tvr6+tpaGhg4cKFsbS5fKaormyeacGCBbFzuX6m5uZmGhoa8l5OqZ4pDSYCY6OygMeB72SSQVpEDcSePWYgjMAQjb6R5zpjkUuBKlX9cuR4ElCpql9LkPZTwG3AWar6frJ8R/bqpct27vQWa3doPd6mpiaqq6uDlnEQpiszROS5ZG/8IrJZVfvGHW9S1YOamUTkDWAToMDPVTVh82n8y0+fPn1GnXPOOQCc3NrKzU89xa7TT2fja68xdPt2vvrJT3LW5Ml5N6o33ngjAwYMANx6+dmwYQMDBgxw7uVnw4YNXHvttc69/CxatChp3U6EnwbiTOD7qloVOb4eQFV/1CHdR4E/Aheo6spU+Vb06aNLtm2DpiaoqvJBuVHIiMhzwGbgmASXvwfUp2kgPqSq60RkAPAI8DVVfTLZvSsqKnTJkkh3xbPPQmUljBoFra3wxhuwahUcf3y2j2YUOKlefhLhZx/Es8AJInKciHQDLgceik8gIsOAB4BJ6RgHgF07d3o7jvVBxFt6lzBdmaOqn1bVUxNsDwLvisgggMjnhk7yWBf53ID3AlSZ6r7tRr9Eh7Q60EntalmZLv/xzUCo6n5gKrAYWAHcq6ovi8jVInJ1JNlMoB9wWyajPQDnRjEZBcNDQNRvrwMe7JhARHqJSO/oPvAZYHlGd4n2QThgIIzCxdf/sqr6MPBwh3N3xO1/GfhyJnlaqA0jYP4buFdErgLeAi4Fr0kJ+KWqjgMGAn8Ub0BFMdCgqk0Z3cUMhOEAoXsNL+rSxQtg5piBGD16dNASEmK6cktkEMV5Cc6vA8ZF9l8HUk767EivXr3aDuJHMUUnygU0k9rVsjJd/uNbJ7VfVPTsqUt27YLnn4eRI4OWYxxmZNORlyvadVJv2AADB0JJCWzZ4jWp7tsXhCzjMMG1Tmpf2B/9kTjmQcyaNStoCQkxXeGh3UzqqAcRDQEeYPOSq2VluvwndAZCo5EtHTMQ8eOSXcJ0hYcd0cWwoK05KerhB2ggXC0r0+U/oTMQWKgNoxCIehBRrIPaCIDQGQhbD8IoCIqKoEvczzOgDmqjsAlfJ3VxsS754AOvE+/oo4OWYxxmONNJDdCjR9sQ11NOgeWZTaUwjHgKopM61gfh2BtVU1Nmw9zzhekKD+3WpIb2zUw9e+ZXTByulpXp8p/QGQgXOu0SER8oyyVMV3jYsKFD1I54AxE/RyLPuFpWpst/QmcgbCa1UTDEe8kBGgijcAmdgQC8H45I6nSGEWYc8SCMwiWcBsKx5iXw4q+7iOkKD4MGDWp/Ir6eB2ggXC0r0+U/4TQQjnVQA5SXlwctISGmKzx071iv4zumAzQQrpaV6fKfcBoIBz2IDJetzBumKzysXr26/Yl4oxCggXC1rEyX/4TTQDjoQRhGznHEgzAKFzMQhuEqjngQRuESTgNx5JFBKziIKkfXxzZd4aFPnz7tTzhiIFwtK9PlP+ELtSGiS6qq4DCarWi4g1OhNq65Bu6ILMD429/CFVcEIcs4TCiIUBsA9O0btIKDmDZtWtASEmK6wsOaNWvan4j3lPv3z6+YOFwtK9PlP74aCBGpFpFXRaRFRK5LcF1E5H8i118UkTPSyrikJOdaD5VVq1YFLSEhpis87IkuLRplwIC2/QANhKtlZbr8xzcDISJFwALgAmAEUCMiIzokuwA4IbJNBm5PK3MHPQjDyDnHHNO2H6CBMAoXPz2ISqBFVV9X1b3APcDEDmkmAnerxzNAXxEZ1DGjgxgyJOdiD5XS0tKgJSTEdIWH4o5rnMR7EAMH5ldMHK6WlenyHz9X3RkMxDeqrgU+lkaawcD6+EQiMhnPw+C0Ll2Y1NjI5r/+FYC5c+cCMH369Fj6mpoaamtrqauro7W1FYCysjLmzZvH/PnzWbx4cSxtfX09LS0tzJ49O3ZuypQpVFdXM2HChNi50aNHM3PmTGbNmtVuScHGxkaamppobW2NpZ8xYwbl5eXtJsxUVVUxdepUpk2bFnNBS0tLqa+vp6GhgYULF8bS5vqZJkyYkNUzxUel9OOZGhoa8l5OqZ4pSIYPH97+xDnnwKc/7a0FEeDk0Pr6+sDunQzTlQdU1ZcNuBT4ZdzxJODWDmn+DJwVd/wYMCpZvscPG6Yu8rvf/S5oCQkxXZkBLFGffhOptuOOOy4fj5gxrpaV6cqMbOq2n01Ma4GhccdDgHVZpGnH+1u25ERcrol/W3YJ0xUeol6Ua7haVqbLf/w0EM8CJ4jIcSLSDbgceKhDmoeAL0RGM40Btqjq+o4ZGYYriMilIvKyiBwQkU7HlKcawWcYYcC3PghV3S8iU4HFQBFwp6q+LCJXR67fATwMjANagJ3AlX7pMYwcsRy4CPh5ZwniRvCdj+clPysiD6nqK/mRaBi5IXQzqT/ykY/oSy+9FLSMg2hpaXEyzK/pyox0Z5uKyOPAt1R1SYJrZwLfV9WqyPH1AKr6o2R5Wt3ODNOVGYUzk9ow3Kaz0XmGESr8HObqCweFI3CE6dOn09jYGLSMgzBdmSMijwLHJLj0PVV9MJ0sEpxL6KrHD+Hu2rVruyG7rgzhrquro7KyEnBrCHdzczOVlZXODeFubm5m7ty5h8cQ7kyHPQW9lZSUHNJQL78YP3580BISYroygzSHAgKPAxWdXDsTWBx3fD1wfao8rW5nhunKjHTrdvxmTUyGkXvSGcFnGM4Tuk5qEdkGvBq0jgT0BzYGLSIBpiszTlLV3p1dFJH/AG4FjgY2A8tUtUpEPoQ3MXRcJN04YB5tI/jmpLqx1e2MMV2ZkbRuJyKMBmKJBhSvPxmmKzNMl1v3TobpyozDSZc1MRmGYRgJMQNhGIZhJCSMBuIXQQvoBNOVGabLrXsnw3RlxmGjK3R9EIZhGEZ+CKMHYRiGYeQBMxCGYRhGQkJlIFwJoSwid4rIBhFZHneuVEQeEZHXIp9HBaBrqIj8XURWREJSX+uCNhE5QkSaReSFiK4fuKAroqFIRJ4XkUVBaXKlXke0OFe3rV5nre+Q63ZoDERcCOULgBFAjYiMCEjOXUB1h3PXAY+p6gl4K+MF8UPfD3xTVU8GxgBTIn+joLXtAc5V1dOAkUB1ZP2PoHUBXAusiDvOqybH6jW4WbetXmfHodftTGNzBLWRZXwbH/UMB5bHHb8KDIrsDwJedeBv9iDemgTOaAN6Akvx1icPVBfeCoaPAecCi4IoR9fqdUSD03Xb6nVaenJSt0PjQeB+COWBGlkNL/I5IEgxIjIcOB34Fw5oi7i7y4ANwCOq6oKuecC3gQNx5/KtyfV6DcGXUwyr12kzjxzU7TAZiLRDKBc6InIkcD8wTVW3Bq0HQFU/UNWReG82lSJyapB6RGQ8sEFVnwtSB1av08bqdXrksm6HyUCsBYbGHQ8B1gWkJRHvisgggMjnhiBEiEhXvB/R71T1AZe0AajqZrxQ2dUB6/oE8DkRWQ3cA5wrIr8NQJPr9RocqD9WrzMiZ3U7TAbC9RDKDwHR1Tnq8NpJ84qICPArYIWq/swVbSJytIj0jez3AD4N/DtIXap6vaoOUdXheHXpb6r6+QA0uV6vIfj6Y/U6A3Jat4Pq1Mmy42UcsBJYhbe6V1A6FgLrgX14b4BXAf3wOoVei3yWBqDrLLzmiReBZZFtXNDagI8Cz0d0LQdmRs4H/jeL6BhLW0de3jW5Uq8jWpyr21avD0njIdVtC7VhGIZhJCRMTUyGYRhGHjEDYRiGYSTEDIRhGIaREDMQhmEYRkLMQBiGYRgJMQMREkSkn4gsi2zviMjbkf3tInJb0PoMI1usbruLDXMNISLyfWC7qv4kaC2GkUusbruFeRAhR0TGxsV7/76I1IvIX0VktYhcJCI3i8hLItIUCVeAiIwSkSdE5DkRWRydfm8YLmF1O3jMQBx+lAGfBSYCvwX+rqofAXYBn438kG4FLlHVUcCdwJygxBpGBljdzjPFQQswcs5fVHWfiLwEFAFNkfMv4cX5Pwk4FXjEC3FDEV5oBcNwHavbecYMxOHHHgBVPSAi+7Stk+kAXnkL8LKqnhmUQMPIEqvbecaamAqPV4GjReRM8MIoi8gpAWsyjFxgdTvHmIEoMFR1L3AJ8GMReQEvMubHAxVlGDnA6nbusWGuhmEYRkLMgzAMwzASYgbCMAzDSIgZCMMwDCMhZiAMwzCMhJiBMAzDMBJiBsIwDMNIiBkIwzAMIyH/H6ta7VC5lPTMAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy.integrate import odeint\n", "from matplotlib.pyplot import *\n", "import control as ctr\n", "from scipy import signal\n", "\n", "def Tracking(x, t, Aa, Ba, Ka, r):\n", " return np.dot(Aa - np.dot(Ba,Ka),x) + np.array([0,0,r])\n", "\n", "m = 1\n", "k = 5\n", "rho = 2\n", "g = 9.8\n", "\n", "y_ref = 1\n", "\n", "\n", "A = np.array([[0, 1],\n", " [-k/m, -rho/m]])\n", "\n", "n = A.shape[0]\n", "\n", "B = np.array([0,\n", " 1/m]).reshape(n,1)\n", "\n", "C = np.array([[1],[0]]).reshape(1,n)\n", "\n", "Aa = np.concatenate((np.concatenate((A,-C),axis = 0), np.array([[0],[0],[0]])), axis = 1)\n", "Ba = np.concatenate((B, np.array([[0]])),axis = 0)\n", "\n", "x0 = np.array([0,\n", " 0,\n", " 0])\n", "\n", "t0 = 0 # Initial time \n", "tf = 40 # Final time\n", "t = np.linspace(t0, tf, 1000) \n", "\n", "# 1. You can choose arbitary poles lam = [lam_1, lam_2, lam_3], place them in the system \n", "# and see how dufferent choice of eigenvalues affects the closed - system behavior. \n", "# lam = np.array([-10,-0.8 - 3j,-0.8 + 3j]) # <- change this to achieve different perfomance\n", "# Ka = signal.place_poles(Aa, Ba, lam).gain_matrix\n", "\n", "# 2. Alternatively you may design a closed loop LQR controller and tune the parameters Q, R to meet the requirements\n", "# Q = np.eye(n+1) # <- change this to achive different perfomance\n", "# R = np.array([[1]]) # <- change this to achive different perfomance\n", "# Ka, S, E = ctr.lqr(Aa, Ba, Q, R)\n", "\n", "solution = odeint(Tracking, x0 , t, args=(Aa, Ba, Ka, y_ref))\n", "y = solution[:,0]\n", "\n", "subplot(1, 2, 1)\n", "plot(t, solution[:,0], linewidth=2.0, color = 'red')\n", "grid(color = 'black', linestyle='--', linewidth=1.0, alpha = 0.7)\n", "grid(True)\n", "xlim([t0, tf])\n", "ylabel(r'Position')\n", "xlabel(r'Time ')\n", "\n", "plot(t, 0.98*y_ref*np.ones(len(t)), linestyle='--', color = 'blue')\n", "plot(t, 1.02*y_ref*np.ones(len(t)), linestyle='--', color = 'blue')\n", "\n", "overshut = max(abs(y))/y_ref - 1\n", "ss_error = y[len(t)-1]-y_ref\n", "print('overshut', overshut)\n", "print('ss_error', ss_error)\n", "\n", "subplot(1, 2, 2)\n", "plot(t, solution[:,1], linewidth=2.0, color = 'red')\n", "grid(color = 'black', linestyle='--', linewidth=1.0, alpha = 0.7)\n", "grid(True)\n", "xlim([t0, tf])\n", "ylabel(r'Velocity')\n", "xlabel(r'Time ')\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## EX 2: Inverted Pendulum\n", "\n", "The system in this example consists of an inverted pendulum mounted to a motorized cart. The inverted pendulum system is an example commonly found in control system textbooks and research literature. Its popularity derives in part from the fact that it is unstable without control, that is, the pendulum will simply fall over if the cart isn't moved to balance it. Additionally, the dynamics of the system are nonlinear. The objective of the control system is to balance the inverted pendulum by applying a force to the cart that the pendulum is attached to. A real-world example that relates directly to this inverted pendulum system is the attitude control of a booster rocket at takeoff.\n", "The system in this example consists of an inverted pendulum mounted to a motorized cart. The inverted pendulum system is an example commonly found in control system textbooks and research literature. Its popularity derives in part from the fact that it is unstable without control, that is, the pendulum will simply fall over if the cart isn't moved to balance it. Additionally, the dynamics of the system are nonlinear. The objective of the control system is to balance the inverted pendulum by applying a force to the cart that the pendulum is attached to. A real-world example that relates directly to this inverted pendulum system is the attitude control of a booster rocket at takeoff.\n", "\n", "![2024-01-23_13-32-20.png](attachment:2024-01-23_13-32-20.png)\n", "\n", "Let us consider the system with the following system parameters\n", " \n", " (M) mass of the cart 0.5 kg\n", " \n", " (m) mass of the pendulum 0.2 kg\n", " \n", " (l) length to pendulum center of mass 0.3 m\n", " \n", " (b) coefficient of friction for cart 0.1 N/m/sec\n", " \n", " (I) mass moment of inertia of the pendulum 0.006 kg.m^2\n", " \n", " (F) force applied to the cart\n", " \n", " (y) cart position coordinate\n", " \n", " (theta) angle between the pendulum and the vertical axis\n", "\n", "## TODO\n", "\n", "Inverted pendulum on the cart can be modeled as follows\n", "\n", "$$(M+m)\\ddot{y} + b\\dot{y} + ml\\ddot{\\theta}\\cos\\theta -ml\\dot\\theta^2\\sin(\\theta) = F$$\n", "\n", "$$ml\\cos(\\theta)\\ddot{y} + (I+ml^2)\\ddot{\\theta} - mgl\\sin\\theta = 0$$ \n", "\n", "Let $y_1 = \\dot{y}$ and $\\theta_1 = \\dot{\\theta}$\n", "\n", "\n", "Let us consider the system with the following system parameters\n", " \n", " (M) mass of the cart 0.5 kg\n", " \n", " (m) mass of the pendulum 0.2 kg\n", " \n", " (l) length to pendulum center of mass 0.3 m\n", " \n", " (b) coefficient of friction for cart 0.1 N/m/sec\n", " \n", " (I) mass moment of inertia of the pendulum 0.006 kg.m^2\n", " \n", " (F) force applied to the cart\n", " \n", " (y) cart position coordinate\n", " \n", " (theta) angle between the pendulum and the vertical axis\n", "\n", "Inverted pendulum on the cart can be modeled as follows\n", "\n", "$$(M+m)\\ddot{y} + b\\dot{y} + ml\\ddot{\\theta}\\cos\\theta -ml\\dot\\theta^2\\sin(\\theta) = F$$\n", "\n", "$$ml\\cos(\\theta)\\ddot{y} + (I+ml^2)\\ddot{\\theta} - mgl\\sin\\theta = 0$$ \n", "\n", "Let $y_1 = \\dot{y}$ and $\\theta_1 = \\dot{\\theta}$\n", "\n", "Then linearalised model have the following form\n", "\n", "$$\\dot x = Ax + Bu$$\n", "\n", "where state vector $x = (y,y_1,\\theta,\\theta_1)'$, control vector $u=F$. \n", "\n", "$$\\left[\\begin{array}{c}\\dot{y} \\\\ \\dot{y1} \\\\ \\dot{\\theta} \\\\ \\dot{\\theta_1}\\end{array}\\right]=\n", "\\left[\\begin{array}{cccc}0 & 1 & 0 & 0 \\\\\n", "0 & \\frac{-\\left(I+m l^2\\right) b}{I(M+m)+M m l^2}& \\frac{-g m^2 l^2}{I(M+m)+M m l^2} & 0 \\\\\n", "0 & 0 & 0 & 1 \\\\\n", "0 & \\frac{m l b}{I(M+m)+M m l^2} & \\frac{m g l(M+m)}{I(M+m)+M m l^2} & 0\\end{array}\\right]\n", "\\left[\\begin{array}{c}y \\\\ y_1\\\\ \\theta \\\\ \\theta_1\\end{array}\\right]+\n", "\\left[\\begin{array}{c}0 \\\\ \\frac{I+m l^2}{I(M+m)+M m l^2} \\\\ 0\\\\ \\frac{-m l}{I(M+m)+M m l^2}\\end{array}\\right] u$$\n", "\n", "## TODO\n", "\n", "Last time you have designed a full-state feedback controller $u=-Kx, $ which stabilize the system in steady state\n", "$x = (0,0,0,0).$\n", "\n", "0. If you haven't done this - do it today! And don't hesitate to ask questions if it is unclear.\n", "\n", "This time let us assume that we only measure the position and the angular velocity, while their derivatives are not availabe. I.e. $y_{output} = (y, \\theta)' = Cx,$ where \n", "$$C = \\begin{pmatrix} 1 & 0 & 0 &0 \\\\ 0 & 0 & 1 &0 \\end{pmatrix}$$\n", "\n", "1. Is pair of matrices (A,C) observable? Why is it important? \n", "\n", "2. For an atonomus system\n", "$$\n", "\\dot x = Ax, \\ y = Cx\n", "$$\n", "\n", "design an observer $$\\dot{\\hat{x}} = (A - LC)\\hat{x} + Ly,$$ such that the estimation of the state $\\hat{x}$ converges to real state $x$. To do that we need to find a matrice $L$ such that the matrice $A-LC$ is Hurwits (i.e. all it eiginevalues have negative real part). \n", "\n", "Remark: to place arbitary eigenvalues $\\lambda_1,\\ldots \\lambda_n$ in matrice (A - LC) with matrice L, it is the same as to place $\\lambda_1,\\ldots \\lambda_n$ in matrice $(A^T - C^TL^T)$ with matrice $L^T$. \n", "\n", "Plot a real trajectory $x$ strarting from the point $x_0 = (2,0,1,0)$ and its estimation $\\hat{x}$ strating from the point $\\hat{x}_0 = (3,-1,2,0.5)$ to show convergence.\n", "\n", "3. Design an optimal estimator (LQE) and optimal estimated state feedback controller (LQR) which stabilize the system in (0,0,0,0).\n", "\n", "Remark: See slide \"observer and controller\" in the lecture.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 4 }