{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "## Libreria de control\n", "try:\n", " from control.matlab import *\n", "except:\n", " !pip install control\n", " from control.matlab import *\n", " \n", "## Libreria para graphicar\n", "import matplotlib.pyplot as plt\n", "import numpy\n", "\n", "## Libreria para calculo simbolico\n", "import sympy\n", "\n", "## Libreria de control\n", "import control\n", "\n", "## Libreria para widgets\n", "import ipywidgets as widgets\n", "\n", "## Libreria para animaciones\n", "from matplotlib.animation import FuncAnimation\n", "plt.rcParams[\"animation.html\"] = \"html5\"#\"jshtml\"\n", "\n", "## Libreria para importar Iframe de Youtube\n", "from IPython.display import IFrame" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad de sistemas LTI\n", "_Entendamos como un sistema se comporta_" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Dinámica del sistema\n", "\n", "![](3-ecuacion.png)\n", "\n", "- Empecemos ignorando la entrada del sistema, el estado será $x$\n", "\n", "$$\\array{\\dot{x}=A\\, x &&& x(t_0)=x_0}$$\n", "\n", "¿Cuál es la respuesta temporal?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Resolviendo la ecuación diferencial ordinaria\n", "\n", "Si todo fuera escalar:\n", "\n", "$$\\array{\\dot{x}=a\\, x &,& x(t_0)=x_0 & \\to & x(t)=e^{a(t-t_0))}x_0 }$$\n", "\n", "Como sabemos esto? verificamos la posible solución:\n", "\n", "$$\\array{\n", "x(t_0)=e^{a(t_0-t_0))}x_0=e^{0}x_0=x_0 & \\text{condición inicial verificada}\\\\\n", "\\frac{d}{dt}x(t_0)=ae^{a(t-t_0))}x_0=ax & \\text{dinámica verificada}\n", "} $$\n", "\n", "Para sistemas de orden superior, tenemos una versión matricial de esto:\n", "\n", "$$\\array{\\dot{x}=A\\, x &,& x(t_0)=x_0 &\\to& x(t)=e^{A(t-t_0))}x_0}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Exponencial de una matriz\n", "\n", "La definición es similar a la definición de escalares: \n", "\n", "$$e^{at}=\\sum_{k=0}^\\infty\\frac{a^kt^k}{k!} \\qquad\\qquad e^{At}=\\sum_{k=0}^\\infty\\frac{A^kt^k}{k!}$$\n", "\n", "cuya derivada es:\n", "\n", "$$\\frac{d}{dt} \\sum_{k=0}^\\infty\\frac{A^kt^k}{k!} \n", "= 0 + \\sum_{k=0}^\\infty\\frac{kA^kt^{k-1}}{k!} \n", "= A\\sum_{k=0}^\\infty\\frac{kA^{k-1}t^{k-1}}{(k-1)!}\n", "= A\\sum_{k=0}^\\infty\\frac{A^kt^k}{k!} $$\n", "\n", "es decir que:\n", "\n", "$$\\frac{d}{dt}e^{At}=Ae^{At}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Resolviendo la ecuación del controlador\n", "\n", "La exponencial de una matriz tiene un papel fundamental y por eso tiene su propio nombre. \n", "\n", "**Matriz de transición de estado**\n", "\n", "$$e^{A(t-t_0))}=\\Phi(t,t_0)$$\n", "\n", "para una dinámica de estado $\\dot{x}= A x$ la solución será $x(t)=\\Phi(t,\\tau)x(\\tau)$, tiene las siguientes propiedades: \n", "\n", "$$\\cases{\\frac{d}{dt}\\Phi(t,t_0)=A\\Phi(t,t_0) \\\\ \\Phi(t,t)=I}$$\n", "\n", "Cuando tenemos un sistema controlado, tendremos:\n", "\n", "$$x(t)= \\Phi(t,t_0)x(t_0)+\\int_{t_0}^{t}\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Resolviendo la ecuación del controlador\n", "\n", "Verifiquemos que la ecuación cumple con la condición inicial:\n", "\n", "$$x(t_0)= \\Phi(t_0,t_0)x(t_0)+\\int_{t_0}^{t_0}\\Phi(t_0,\\tau)B\\,u(\\tau)d\\tau = I x(t_0) + 0 = x(t_0)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "$$x(t)= \\Phi(t,t_0)x(t_0)+\\int_{t_0}^{t}\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$\n", "\n", "y cumple para la derivada: \n", "\n", "$$\\frac{d}{dt}x(t)= A\\Phi(t,t_0)x(t_0)+\\frac{d}{dt}\\int_{t_0}^{t}\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$\n", "\n", "$$\\frac{d}{dt}\\int_{t_0}^{t}f(t,\\tau)d\\tau = f(t,t) +\\int_{t_0}^{t} \\frac{d}{dt}f(t,\\tau)d\\tau = \\Phi(t,t)B\\,u(t) + \\int_{t_0}^{t} A\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$\n", "\n", "$$\\frac{d}{dt}x(t)= A\\Phi(t,t_0)x(t_0)+B\\,u(t) + \\int_{t_0}^{t} A\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$\n", "\n", "$$\\frac{d}{dt}x = Ax + B u$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# En resumen\n", "\n", "tenemos que\n", "\n", "$$\\dot{x}=A\\,x+B\\,u \\qquad y \\qquad y=C\\,x$$\n", "\n", "luego,\n", "\n", "$$y(t) = C \\Phi(t,t_0)x(t_0) + C \\int_{t_0}^{t}\\Phi(t,\\tau)B\\,u(\\tau)d\\tau$$\n", "\n", "sabiendo que \n", "\n", "$$\\Phi(t,\\tau)= e^{A(t-\\tau)}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad\n", "\n", "Lo primero que debemos hacer es entender por que un sistema explota o no.\n", "\n", "Recordemos que los objetivos en control son: \n", " \n", "- Ser estable\n", "- Seguir el objetivo\n", "- Ser robusto\n", "- Entre otros" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en sistemas escalares\n", "\n", "- Es útil empezar con sistemas escalares para ganar intuición.\n", "\n", "$$\\dot{x}=a\\,x \\quad \\to\\quad x(t)= e^{at}x(0)$$\n", "\n", "con $a>0$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = numpy.linspace(0,5,num=100)\n", "y = numpy.exp(1*t)\n", "plt.plot(t,y);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en sistemas escalares\n", "\n", "- Es útil empezar con sistemas escalares para ganar intuición.\n", "\n", "$$\\dot{x}=a\\,x \\quad \\to\\quad x(t)= e^{at}x(0)$$\n", "\n", "con $a<0$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = numpy.linspace(0,5,num=100)\n", "y = numpy.exp(-1*t)\n", "plt.plot(t,y);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en sistemas escalares\n", "\n", "- Es útil empezar con sistemas escalares para ganar intuición.\n", "\n", "$$\\dot{x}=a\\,x \\quad \\to\\quad x(t)= e^{at}x(0)$$\n", "\n", "con $a=0$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = numpy.linspace(0,5,num=100)\n", "y = numpy.exp(0*t)\n", "plt.plot(t,y);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Tres casos\n", "\n", "- Asintóticamente estable: $x(t)\\to0, \\forall x(0)$\n", "- Inestable: $\\exists x(0) : ||{x(t)}||\\to\\infty$\n", "- Críticamente estable: en medio, no explota pero tampoco llega a cero\n", "\n", "**De**\n", "\n", "$$\\dot{x}=a\\,x \\quad \\to\\quad x(t)= e^{at}x(0)$$\n", "\n", "tenemos entonces:\n", "\n", "$$\\cases{\n", "a>0 \\quad: & \\text{inestable} \\\\\n", "a<0 \\quad: & \\text{asintóticamente estable}\\\\\n", "a=0 \\quad: & \\text{críticamente estable}\n", "}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en Matrices\n", "\n", "$$\\dot{x}=A\\,x \\quad \\to\\quad x(t)= e^{At}x(0)$$\n", "\n", "No podemos decir que $A>0$, pero podemos usar los valores propios.\n", "\n", "$$A\\,v = \\lambda\\,v$$\n", "\n", "donde $\\lambda \\in \\mathscr{C}$ son los valores propios y $v \\in \\mathscr{R}^n$ son los vectores propios. \n", "\n", "Los valores propios no diran como la matriz $A$ actua en cada dirección. \n", "\n", "**En MATLAB**\n", "\n", "``` matlab\n", ">> eig(A)\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Ejemplo\n", "\n", "Para la siguiente matriz \n", "\n", "$$A = \\left[\\array{1&0\\\\0&-1}\\right]$$\n", "\n", "encontrar los valores y vectores propios ⚠️" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$\\array{\\lambda_1=1 &,& \\lambda_2=-1 &,& v_1=\\left[\\array{1\\\\0}\\right] &,& v_1=\\left[\\array{0\\\\1}\\right]}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad de Matrices\n", "\n", "$$\\dot{x}=A\\,x \\quad \\to\\quad x(t)= e^{At}x(0)$$\n", "\n", "- Asintóticamente estable (si y solo si):\n", " $$Re(\\lambda)<0, \\forall\\lambda \\in \\texttt{eig}(A)$$\n", "- Inestable (si):\n", " $$\\exists\\lambda\\in\\texttt{eig}(A) : Re(\\lambda)>0$$\n", "- Críticamente estable (solo si):\n", " $$Re(\\lambda)\\le0, \\forall\\lambda \\in \\texttt{eig}(A)$$\n", "- Críticamente estable (si):\n", " Un valor propio es cero y el resto tienen parte real negativa **o** Dos valores propios son puramente imaginarios y el resto tienen parte real negativa." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# El cuento de dos pendulos\n", "\n", "Encontremos las matrices para un péndulo regular y un péndulo invertido. Sin fricción. ⚠️" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$A_{\\text{péndulo regular}} = \\left[\\array{0&1\\\\-1&0}\\right] \\qquad A_{\\text{péndulo invertido}} = \\left[\\array{0&1\\\\1&0}\\right]$$\n", "\n", "encontremos los valores propios ⚠️" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Para el péndulo regular tenemos:\n", " $$\\lambda_1 = j \\qquad \\lambda_2=-j$$\n", " \n", "- Para el péndulo invertido tenemos:\n", " $$\\lambda_1 = -1 \\qquad \\lambda_2=1$$\n", " \n", "¿Sistemas estables? " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Enjambre de robots\n", "\n", "Analicemos la estabilidad de un enjambre de robots para resolver el problema de _Rendezvous_\n", "\n", "- Tenemos una colección de robots que pueden medir su posición relativa a sus vecinos. \n", "- Problema: hacer que todos los robots se encuentren en el mismo lugar (no especificada). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Caso de dos robots simples\n", "\n", "Anteriormente revisamos el caso de dos robots en una linea. \n", "\n", "![](3-dos-robots.png)\n", "\n", "Si los robots se dirigen el uno hacia el otro tenemos:\n", "\n", "$$\\cases{u_1=x_2-x_1\\\\u_2=x_1-x_2}$$\n", "\n", "La matriz dinámica sera entonces:\n", "\n", "$$\\dot{x}=\\left[\\array{-1&1\\\\1&-1}\\right]x$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en el caso de dos robots simples\n", "\n", "$$A = \\left[\\array{-1&1\\\\1&-1}\\right] \\qquad \\lambda_1 = 0 \\qquad \\lambda_2=-2$$\n", "\n", "En este sistema tenemos un valor propio 0 y todos los demas tienen parte real negativa. Aqui el estado del sistema terminara en algo llamado el ***Espacio nulo (null-space)*** de $A$:\n", "\n", "$$null(A)=\\{x: Ax = 0\\}$$\n", "\n", "para el caso particular de esta $A$, el espacio nulo es:\n", "\n", "$$null(A)=\\{x: x = \\left[\\array{\\alpha\\\\\\alpha}\\right] , \\alpha \\in \\mathscr{R} \\}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Estabilidad en el caso de dos robots simples\n", "\n", "Si $x_1\\to\\alpha$ y $x_2\\to\\alpha$ entonces tenemos que $(x_1-x_2)\\to0$ por lo que el _Rendezvous_ se logró." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dosRobots = ss([[-1,1],[1,-1]],[[0],[0]],[[1,0],[0,1]],[[0],[0]])\n", "yout, T = step(dosRobots,X0=[-10,10])\n", "\n", "fig, ax = plt.subplots();\n", "\n", "ax.plot([-12,12],[0,0],color='gray')\n", "ax.axis('off')\n", "#ax.plot([0,0],[-1,1],color='r')\n", "plt.xlim(-12,12);\n", "l, = ax.plot([-10],[0],color='b',marker='.',markersize=30)\n", "r, = ax.plot([10],[0],color='r',marker='.',markersize=30)\n", "\n", "def animate(i):\n", " l.set_data([yout[i,0]], [0])\n", " r.set_data([yout[i,1]], [0])\n", "\n", "ani = FuncAnimation(fig, animate, frames=len(T), interval=1000/40);" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(ani)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Si hay más de dos robots, deberiamos pensar en llevarlos a todos al centroide de sus vecinos (o algo parecido)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "# El caso con multiples robots\n", "\n", "$$\\dot{x}_i = \\sum_{j\\in N_i}(x_j-x_i) \\qquad \\dot{x}=-Lx$$\n", "\n", "El grafo generado est..." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Realimentación del sistema en espacio de estados\n", "\n", "Sabemos que lo primero que debemos hacer para controlar un sistema es llevarlo a ser asintóticamente estable. Es decir que la parte real de todos sus valores propios sea negativa. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Una particula en una linea recta sin fricción\n", "\n", "Diseñemos un control proporcional para el sistema propuesto, utilizando el espacio de estados.\n", "\n", "$$m \\ddot{x} = F$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "La ecuación de estado quedaría asi (con $m=1$). \n", "\n", "$$\\dot{\\mathbf{x}}=\\left[\\begin{array}{}0&1\\\\0&0\\end{array}\\right]\\mathbf{x}+\\left[\\begin{array}{}0\\\\1\\end{array}\\right]\\mathbf{u}$$\n", "\n", "La ecuación de salida sería.\n", "\n", "$$\\mathbf{y}=\\left[\\begin{array}{}1&0\\end{array}\\right]\\mathbf{x}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Control de la particula\n", "\n", "Si queremos controlar el sistema con un lazo cerrado debemos conectar de alguna forma la salida $\\mathbf{y}$ con la entrada $\\mathbf{u}$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAD4CAYAAADy46FuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAW9klEQVR4nO3de5Cd9X3f8fenIMnDJbGwBFa4q1Zj43EHu+sN4ExKudiC6SDSODHudCxSGNmtaePaCZaHGTtDkilWZoDJhDTWADFubC4hda00ohgE1H9YgFZURlyCkYVbpMhIAZvYFdEFvv3jPEoOy+6zuzpn9+ya92vmzHme3+Wcr55d7Wefy9knVYUkSeP5R4MuQJI0uxkUkqRWBoUkqZVBIUlqZVBIklodOegCDseiRYvqtNNOG3QZkjSnbN68+W+qavFU583JoDjttNMYGRkZdBmSNKck+T+HM89DT5KkVgaFJKmVQSFJamVQSJJaGRSSpFZ9CYoktybZneSJcfqT5A+SbEvyeJL3dfWtTPJs81jZj3okSf3Trz2KLwPLW/ovApY1j1XAfwFIchzwBeAXgGHgC0kW9qkmSVIf9CUoqupbwEstQ1YAX6mOh4G3JlkCfAi4r6peqqofAvfRHjjS7PWpT3Ue0k+ZmfrA3YnA813rO5q28drfIMkqOnsjnHLKKdNTpdSLLVsGXYE0LebMyeyqWltVQ1U1tHjxlD+BLkk6TDMVFDuBk7vWT2raxmuXJM0SMxUU64CPNVc/nQW8XFW7gHuBDyZZ2JzE/mDTJkmaJfpyjiLJ7cC5wKIkO+hcyTQPoKr+GFgPXAxsA/YCv970vZTkd4BNzUtdW1VtJ8UlSTOsL0FRVR+doL+AT47Tdytwaz/qkCT135w5mS1JGgyDQpLUyqCQJLUyKCRJrQwKSVIrg0KS1MqgkCS1MigkSa0MCklSK4NCktTKoJAktTIoJEmtDApJUiuDQpLUyqCQJLUyKCRJrfoSFEmWJ3kmybYkq8fovyHJlubx3SQ/6up7tatvXT/qkST1T893uEtyBHATcCGwA9iUZF1VPXVoTFX9p67x/wF4b9dLvFJVZ/ZahyRpevRjj2IY2FZV26tqP3AHsKJl/EeB2/vwvpKkGdCPoDgReL5rfUfT9gZJTgVOBx7oan5LkpEkDye5dLw3SbKqGTeyZ8+ePpQtSZqMmT6ZfRlwd1W92tV2alUNAf8auDHJPx5rYlWtraqhqhpavHjxTNQqSaI/QbETOLlr/aSmbSyXMeqwU1XtbJ63Aw/x+vMXkqQB60dQbAKWJTk9yXw6YfCGq5eSvBNYCGzsaluYZEGzvAj4APDU6LmSpMHp+aqnqjqY5CrgXuAI4NaqejLJtcBIVR0KjcuAO6qquqa/C/hSktfohNZ13VdLSZIGr+egAKiq9cD6UW2fH7X+22PM+zbwnn7UIEmaHn4yW5LUyqCQJLUyKCRJrQwKSVIrg0KS1MqgkCS1MigkSa0MCklSK4NCktTKoJAktTIoJEmtDApJUiuDQpLUyqCQJLUyKCRJrQwKSVKrvgRFkuVJnkmyLcnqMfovT7InyZbmcWVX38okzzaPlf2oR5LUPz3f4S7JEcBNwIXADmBTknVj3NL0zqq6atTc44AvAENAAZubuT/stS5JUn/0Y49iGNhWVduraj9wB7BiknM/BNxXVS814XAfsLwPNUmS+qQfQXEi8HzX+o6mbbRfSfJ4kruTnDzFuSRZlWQkyciePXv6ULYkaTJm6mT2XwCnVdU/pbPXcNtUX6Cq1lbVUFUNLV68uO8FSpLG1o+g2Amc3LV+UtP296rqxara16zeDPyzyc6VJA1WP4JiE7AsyelJ5gOXAeu6ByRZ0rV6CfB0s3wv8MEkC5MsBD7YtEmSZomer3qqqoNJrqLzA/4I4NaqejLJtcBIVa0D/mOSS4CDwEvA5c3cl5L8Dp2wAbi2ql7qtSZJUv+kqgZdw5QNDQ3VyMjIoMuQXu/cczvPDz00yCqkcSXZXFVDU53nJ7MlSa0MCklSK4NCktTKoJAktTIoJEmtDApJUiuDQpLUyqCQJLUyKCRJrQwKSVIrg0KS1MqgkCS1MigkSa0MCklSK4NCktSqL0GRZHmSZ5JsS7J6jP5PJ3kqyeNJNiQ5tavv1SRbmse60XMlSYPV8x3ukhwB3ARcCOwANiVZV1VPdQ3738BQVe1N8u+ANcBHmr5XqurMXuuQJE2PfuxRDAPbqmp7Ve0H7gBWdA+oqgeram+z+jBwUh/eV5I0A/oRFCcCz3et72jaxnMFcE/X+luSjCR5OMml401KsqoZN7Jnz56eCpYkTV7Ph56mIsm/AYaAf97VfGpV7UyyFHggydaq+t7ouVW1FlgLnXtmz0jBkqS+7FHsBE7uWj+paXudJBcA1wCXVNW+Q+1VtbN53g48BLy3DzVJkvqkH0GxCViW5PQk84HLgNddvZTkvcCX6ITE7q72hUkWNMuLgA8A3SfBJUkD1vOhp6o6mOQq4F7gCODWqnoyybXASFWtA34fOAb4syQA/7eqLgHeBXwpyWt0Quu6UVdLSZIGrC/nKKpqPbB+VNvnu5YvGGfet4H39KMGSdL08JPZkqRWBoUkqZVBIUlqZVBIkloZFJKkVgaFJKmVQSFJamVQSJJaGRSSpFYGhSSplUEhSWo1o/ej0OxRVWzcuJFHH32UH//4xxx77LEMDw9z9tln0/zhRkkCDIo3nQMHDnDLLbewZs0adu/ezYEDBzhw4ADz5s1j3rx5HH/88Vx99dVcccUVzJs3b9DlSpoFDIo3kZ/85CdcdNFFPPbYY+zdu/d1ffv372f//v0899xzfOYzn+FrX/sa69ev55hjjhlQtZJmC89RvEkcOHCAiy66iE2bNr0hJEbbu3cvjz76KBdffDEHDhyYoQolzVYGxZvELbfcwmOPPca+ffsmHgzs27ePzZs3c+utt05zZZJmu74ERZLlSZ5Jsi3J6jH6FyS5s+l/JMlpXX2fa9qfSfKhftSj16sq1qxZM+GexGh79+5lzZo1VNU0VSZpLug5KJIcAdwEXAScAXw0yRmjhl0B/LCq3gHcAHyxmXsGnXtsvxtYDvxR83rqo40bN7J79+6JB47hhRdeYOPGjX2uSNJc0o+T2cPAtqraDpDkDmAF0H3v6xXAbzfLdwN/mM41mCuAO6pqH/Bckm3N67X+ZNq+5//xkS/5w2uyvrvhLl7Zt/+w5r6ybz+fvPEu/slWL5mdyOf/+m8BuNbvTf2U6cehpxOB57vWdzRtY46pqoPAy8DbJjkXgCSrkowkGfEE69Qc+Lu9vHbw4GHNfe3gQQ7um9ohK0k/XebM5bFVtRZYCzA0NFR3fvzsAVc0d9z4yiN89t557N8/9b2KBQvmc+V57+Y33N4Tu/1nAPB7U7PVXZ84vHn92KPYCZzctX5S0zbmmCRHAj8LvDjJuerR8PDwYX947sgjj+T9739/nyuSNJf0Iyg2AcuSnJ5kPp2T0+tGjVkHrGyWPww8UJ1LadYBlzVXRZ0OLAMe7UNN6nL22Wdz/PHHH9bcE044gbPP9jdk6c2s56BozjlcBdwLPA3cVVVPJrk2ySXNsFuAtzUnqz8NrG7mPgncRefE9/8EPllVr/Zak14vCVdffTVHHXXUlOYdddRRXH311f7tJ+lNLnPxGvmhoaEaGRkZdBlzyoEDBzjvvPPYtGnTpD50t2DBAoaHh9mwYYN/82myzj238/zQQ4OsQhpXks1VNTTVeX4y+01i3rx53HPPPQwPD0+4Z3HUUUcxPDzM+vXrDQlJBsWbyTHHHMOGDRu4/vrrWbp0KUcffTQLFiwgCQsWLODoo49m6dKlXH/99WzYsME/CCgJmEOXx6o/5s2bx8c//nFWrVrFxo0b2bRp0+vuR3HWWWd5TkLS6xgUb1JJOOecczjnnHMGXYqkWc5DT5KkVgaFJKmVQSFJamVQSJJaGRSSpFYGhSSplUEhSWplUEiSWhkUkqRWBoUkqZVBIUlqZVBIklr1FBRJjktyX5Jnm+eFY4w5M8nGJE8meTzJR7r6vpzkuSRbmseZvdQjSeq/XvcoVgMbqmoZsKFZH20v8LGqejewHLgxyVu7+n+rqs5sHlt6rEeS1Ge9BsUK4LZm+Tbg0tEDquq7VfVss/zXwG5gcY/vK0maIb0GxQlVtatZ/gFwQtvgJMPAfOB7Xc2/1xySuiHJgpa5q5KMJBnZs2dPj2VLkiZrwqBIcn+SJ8Z4rOgeV1UFVMvrLAH+K/DrVfVa0/w54J3A+4HjgM+ON7+q1lbVUFUNLV7sDokkzZQJ73BXVReM15fkhSRLqmpXEwS7xxn3M8BfAtdU1cNdr31ob2Rfkj8BfnNK1UuSpl2vh57WASub5ZXAN0YPSDIf+Drwlaq6e1TfkuY5dM5vPNFjPZKkPus1KK4DLkzyLHBBs06SoSQ3N2N+Dfgl4PIxLoP9apKtwFZgEfC7PdYjSeqzCQ89tamqF4Hzx2gfAa5slv8U+NNx5p/Xy/tLkqafn8yWJLUyKCRJrQwKSVIrg0KS1MqgkCS1MigkSa0MCklSK4NCktTKoJAktTIoJEmtDApJUiuDQpLUyqCQJLUyKCRJrQwKSVKrnoIiyXFJ7kvybPO8cJxxr3bdtGhdV/vpSR5Jsi3Jnc3d8CRJs0ivexSrgQ1VtQzY0KyP5ZWqOrN5XNLV/kXghqp6B/BD4Ioe65Ek9VmvQbECuK1Zvo3Ofa8npblP9nnAoftoT2m+JGlm9BoUJ1TVrmb5B8AJ44x7S5KRJA8nubRpexvwo6o62KzvAE4c742SrGpeY2TPnj09li1JmqwJ75md5H7g7WN0XdO9UlWVpMZ5mVOrameSpcADSbYCL0+l0KpaC6wFGBoaGu99JEl9NmFQVNUF4/UleSHJkqralWQJsHuc19jZPG9P8hDwXuDPgbcmObLZqzgJ2HkY/wZJ0jTq9dDTOmBls7wS+MboAUkWJlnQLC8CPgA8VVUFPAh8uG2+JGmweg2K64ALkzwLXNCsk2Qoyc3NmHcBI0m+QycYrquqp5q+zwKfTrKNzjmLW3qsR5LUZxMeempTVS8C54/RPgJc2Sx/G3jPOPO3A8O91CBJml5+MluS1MqgkCS1MigkSa0MCklSK4NCktTKoJAktTIoJEmtDApJUiuDQpLUyqCQJLUyKCRJrQwKSVIrg0KS1MqgkCS1MigkSa0MCklSq56CIslxSe5L8mzzvHCMMf8iyZaux98lubTp+3KS57r6zuylHklS//W6R7Ea2FBVy4ANzfrrVNWDVXVmVZ0JnAfsBb7ZNeS3DvVX1ZYe65Ek9VmvQbECuK1Zvg24dILxHwbuqaq9Pb6vJGmG9BoUJ1TVrmb5B8AJE4y/DLh9VNvvJXk8yQ1JFow3McmqJCNJRvbs2dNDyZKkqZgwKJLcn+SJMR4rusdVVQHV8jpLgPcA93Y1fw54J/B+4Djgs+PNr6q1VTVUVUOLFy+eqGxJUp8cOdGAqrpgvL4kLyRZUlW7miDY3fJSvwZ8vaoOdL32ob2RfUn+BPjNSdYtSZohvR56WgesbJZXAt9oGftRRh12asKFJKFzfuOJHuuRJPVZr0FxHXBhkmeBC5p1kgwlufnQoCSnAScD/2vU/K8m2QpsBRYBv9tjPZKkPpvw0FObqnoROH+M9hHgyq717wMnjjHuvF7eX5I0/fxktiSplUEhSWplUEiSWhkUkqRWBoUkqZVBIUlqZVBIkloZFJKkVgaFJKmVQSFJamVQSJJaGRSSpFYGhSSplUEhSWplUEiSWhkUkqRWPQVFkl9N8mSS15IMtYxbnuSZJNuSrO5qPz3JI037nUnm91KPJKn/et2jeAL4V8C3xhuQ5AjgJuAi4Azgo0nOaLq/CNxQVe8Afghc0WM9kqQ+6ykoqurpqnpmgmHDwLaq2l5V+4E7gBVJApwH3N2Muw24tJd6JEn919M9syfpROD5rvUdwC8AbwN+VFUHu9rfcF/tQ5KsAlYBnHLKKdNTqdSLM88cdAXStJgwKJLcD7x9jK5rquob/S9pbFW1FlgLMDQ0VDP1vtKk3XjjoCuQpsWEQVFVF/T4HjuBk7vWT2raXgTemuTIZq/iULskaRaZictjNwHLmiuc5gOXAeuqqoAHgQ8341YCM7aHIkmanF4vj/3lJDuAs4G/THJv0/5zSdYDNHsLVwH3Ak8Dd1XVk81LfBb4dJJtdM5Z3NJLPZKk/kvnF/u5ZWhoqEZGRgZdhiTNKUk2V9W4n3kbj5/MliS1MigkSa0MCklSK4NCktRqTp7MTvJjYKI/HTIbLAL+ZtBFTMJcqHMu1AjW2W/W2V8/X1XHTnXSTPwJj+nwzOGcuZ9pSUassz/mQo1gnf1mnf2V5LAuF/XQkySplUEhSWo1V4Ni7aALmCTr7J+5UCNYZ79ZZ38dVp1z8mS2JGnmzNU9CknSDDEoJEmt5kRQJPn9JH+V5PEkX0/y1nHGLU/yTJJtSVbPcJkk+dUkTyZ5Lcm4l8ol+X6SrUm2HO7lar2YQp0D255JjktyX5Jnm+eF44x7tdmOW5Ksm8H6WrdNkgVJ7mz6H0ly2kzVNqqOieq8PMmerm145QBqvDXJ7iRPjNOfJH/Q/BseT/K+ma6xqWOiOs9N8nLXtvz8AGo8OcmDSZ5q/o//xhhjpr49q2rWP4APAkc2y18EvjjGmCOA7wFLgfnAd4AzZrjOdwE/DzwEDLWM+z6waIDbc8I6B709gTXA6mZ59Vhf86bvJwPYfhNuG+DfA3/cLF8G3DlL67wc+MOZrm1UDb8EvA94Ypz+i4F7gABnAY/M0jrPBf7HgLflEuB9zfKxwHfH+JpPeXvOiT2Kqvpm/cO9tR+mcze80YaBbVW1var2A3cAK2aqRoCqerqqZv0nxidZ56C35wrgtmb5NuDSGXzviUxm23TXfzdwfpLMYI0w+K/hpFTVt4CXWoasAL5SHQ/TuTPmkpmp7h9Mos6Bq6pdVfVYs/xjOvcAOnHUsClvzzkRFKP8WzppONqJwPNd6zt44waaLQr4ZpLNSVYNuphxDHp7nlBVu5rlHwAnjDPuLUlGkjyc5NKZKW1S2+bvxzS/5LxM5+ZcM2myX8NfaQ5B3J3k5DH6B23Q34tTcXaS7yS5J8m7B1lIc7jzvcAjo7qmvD1nzZ/wSHI/8PYxuq6pqm80Y64BDgJfncnauk2mzkn4xarameR44L4kf9X8ttI3fapzWrXV2L1SVZVkvOu4T2225VLggSRbq+p7/a71p9hfALdX1b4kH6ezF3TegGuaqx6j8/34kyQXA/8dWDaIQpIcA/w58Kmq+tteX2/WBEVVXdDWn+Ry4F8C51dzoG2UnUD3b0MnNW19NVGdk3yNnc3z7iRfp3OIoK9B0Yc6p317ttWY5IUkS6pqV7NbvHuc1zi0LbcneYjOb1DTHRST2TaHxuxIciTws8CL01zXaBPWWVXdNd1M59zQbDMj/7d71f0DuarWJ/mjJIuqakb/WGCSeXRC4qtV9d/GGDLl7TknDj0lWQ5cDVxSVXvHGbYJWJbk9CTz6ZxAnLGrYCYrydFJjj20TOdE/ZhXUQzYoLfnOmBls7wSeMNeUJKFSRY0y4uADwBPzUBtk9k23fV/GHhgnF9wptOEdY46Nn0JnWPas8064GPN1TpnAS93HZacNZK8/dB5qCTDdH6+zugvB8373wI8XVXXjzNs6ttzkGfop3AmfxudY2pbmsehq0l+Dlg/6mz+d+n8RnnNAOr8ZTrH+/YBLwD3jq6TzhUo32keT87WOge9Pekcz98APAvcDxzXtA8BNzfL5wBbm225FbhiBut7w7YBrqXzywzAW4A/a753HwWWzvTXeZJ1/ufm+/A7wIPAOwdQ4+3ALuBA8315BfAJ4BNNf4Cbmn/DVlquKBxwnVd1bcuHgXMGUOMv0jkH+njXz8uLe92e/gkPSVKrOXHoSZI0OAaFJKmVQSFJamVQSJJaGRSSpFYGhSSplUEhSWr1/wEspVECWQcRIQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot([-2,2],[0,0])\n", "plt.plot([0,0],[-1,1],color='r')\n", "plt.plot([-1],[0],color='k',marker='.',markersize=30)\n", "plt.xlim(-2,2);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "El objetivo de control es que se mueva al origen. **¿Cómo lo logramos?**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$\\left.\\begin{array}{}u>0 \\text{ si } y<0 \\\\ u<0 \\text{ si } y>0\\end{array}\\right\\}\\qquad \\to \\qquad u=-y$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Modificación de la dinamica del sistema \n", "\n", "En general tenemos: \n", "\n", "$$\\mathbf{u}=-K\\mathbf{y} = -KC\\mathbf{x} $$\n", "\n", "entonces: \n", "\n", "$$\\dot{\\mathbf{x}}=A\\mathbf{x}+B\\mathbf{u}=A\\mathbf{x}-BKC\\mathbf{x} = \\left(A-BKC\\right)\\mathbf{x}$$\n", "\n", "tenemos aquí un nuevo sistema, el sistema en lazo cerrado.\n", "\n", "$$\\dot{\\mathbf{x}} = \\left(A-BKC\\right)\\mathbf{x}=\\hat{A}\\mathbf{x}$$\n", "\n", "nuestro trabajo ahora es seleccionar $K$ de tal forma que los valores propios de la matriz $\\hat{A}$ den por lo menos un sistema estable. \n", "\n", "$$Re(\\lambda)<0 \\forall\\lambda \\in \\texttt{eig}(A-BKC)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### La matriz de estado del sistema en lazo cerrado\n", "\n", "Remplazamos los valores de las matrices y de $K=1$:\n", "\n", "$$\\hat{A}=\\left(A-BKC\\right)=\\left(\\left[\\begin{array}{}0&1\\\\0&0\\end{array}\\right]-\\left[\\begin{array}{}0\\\\1\\end{array}\\right]1\\left[\\begin{array}{}1&0\\end{array}\\right]\\right)$$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}0 & 1\\\\-1 & 0\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[ 0, 1],\n", "[-1, 0]])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mA = sympy.Matrix([[0,1],[0,0]])-sympy.Matrix([0,1])*1*sympy.Matrix([[1,0]])\n", "display(mA)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Analizando los valores propios del sistema tenemos que: " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "{-I: 1, I: 1}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(mA.eigenvals())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "El sistema es criticamente estable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Respuesta de la particula al lazo cerrado\n", "\n", "Con el controlador propuesto, la particula se comporta como se muestra. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = numpy.linspace(0,2*numpy.pi,40)\n", "x = numpy.sin(t)\n", "\n", "fig, ax = plt.subplots();\n", "\n", "ax.plot([-2,2],[0,0])\n", "ax.plot([0,0],[-1,1],color='r')\n", "plt.xlim(-2,2);\n", "l, = ax.plot([0],[0],color='k',marker='.',markersize=30)\n", "\n", "animate = lambda i: l.set_data([x[i]], [0]);\n", "\n", "ani = FuncAnimation(fig, animate, frames=len(t), interval=1000/40);" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(ani)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "**¿Por qué no se queda en el origen si este es el objetivo?**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- No tenemos en cuenta la velocidad. \n", "- Necesitamos la información del estado (posición,velocidad) del sistema para estabilizarlo." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Estabilizando la particula \n", "\n", "Para estabilizar la particula necesitamos conocer la información de todos los estados del sistema. Salvo que en nuestro sistema solo tenemos un sensor de posición:\n", "\n", "$$\\mathbf{y}=\\left[\\begin{array}{}1&0\\end{array}\\right]\\mathbf{x}$$\n", "\n", "El estado desconocido es la velocidad, el cual puede ser estimado de la posición. Por ahora supongamos que podemos medir ambos estados. \n", "\n", "$$\\mathbf{y}_{supuesto}=\\left[\\begin{array}{}1&0\\\\0&1\\end{array}\\right]\\mathbf{x}$$\n", "\n", "con esta nueva matriz $C$, proponemos un controlador $K$:\n", "\n", "$$K = \\left[\\begin{array}{}k_1&k_2\\end{array}\\right]$$\n", "\n", "Encontremos la nueva matriz $\\hat{A}$ para el sistema en lazo cerrado." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Nueva matriz de estado del sistema en lazo cerrado\n", "\n", "Recordemos que aquí estamos suponiendo que podemos medir ambos estados del sistema (posición y velocidad). Remplazamos los valores de las matrices y de $K$:\n", "\n", "$$\\hat{A}=\\left(A-BKC\\right)=\\left(\\left[\\begin{array}{}0&1\\\\0&0\\end{array}\\right]-\\left[\\begin{array}{}0\\\\1\\end{array}\\right]\\left[\\begin{array}{}k_1&k_2\\end{array}\\right]\\left[\\begin{array}{}1&0\\\\0&1\\end{array}\\right]\\right)$$\n", "\n", "Luego $\\hat{A}=$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}0 & 1\\\\- k_{1} & - k_{2}\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[ 0, 1],\n", "[-k_1, -k_2]])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k1,k2 = sympy.symbols('k_1 k_2')\n", "mA3 = sympy.Matrix([[0,1],[0,0]])-sympy.Matrix([0,1])*sympy.Matrix([[k1,k2]])*sympy.Matrix([[1,0],[0,1]])\n", "display(mA3)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Los valores propios o polos del sistema son:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "{-k_2/2 - sqrt(-4*k_1 + k_2**2)/2: 1, -k_2/2 + sqrt(-4*k_1 + k_2**2)/2: 1}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "eigen = mA3.eigenvals()\n", "display(eigen)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "### Escogamos los valores del controlador" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "45a60866e3004a48b8ad32df0c2665ab", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatSlider(value=1.0, description='k1', max=10.0, orientation='vertical'), FloatSlider(value=2…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Parametros del modelo\n", "\n", "paramK1 = widgets.FloatSlider(value=1,min=0,max=10,step=0.1,description='k1', orientation=\"vertical\")\n", "paramK2 = widgets.FloatSlider(value=2,min=0,max=5,step=0.1,description='k2', orientation=\"vertical\")\n", "\n", "## Definicion de la simulacion\n", "\n", "def polos(K1,K2):\n", " P1 = -K2/2+sympy.sqrt(K2**2-4*K1)/2\n", " P2 = -K2/2-sympy.sqrt(K2**2-4*K1)/2\n", " plt.scatter([sympy.re(P1),sympy.re(P2)],[sympy.im(P1),sympy.im(P2)])\n", " plt.grid()\n", " plt.title('Polos de la Particula en lazo cerrado con sensores de posición y velocidad')\n", " plt.xlabel('Real')\n", " plt.ylabel('Imaginario')\n", " plt.ylim(-3,3)\n", " plt.xlim(-6,0)\n", "\n", "## Presentación de los resultados \n", " \n", "plot_exponencial = widgets.interactive_output(polos,{'K1':paramK1,'K2':paramK2}) \n", "widgets.HBox([paramK1,paramK2,plot_exponencial])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "polos(3,2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Verifiquemos el comportamiento de la particula\n", "\n", "- Tomemos los valores para el controlador $k_1=1$ y $k_2=1$\n", "- Tomemos los valores para el controlador $k_1=0.1$ y $k_2=1$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Verifiquemos el comportamiento de la particula\n", "\n", "Tomemos los valores para el controlador $k_1=1$ y $k_2=2$:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.rcParams[\"animation.html\"] = \"html5\"#\"jshtml\"\n", "\n", "particula = control.ss('0 1;-1 -2','1;0','1 0','0')\n", "t,x = control.impulse_response(particula)\n", "\n", "fig, ax = plt.subplots();\n", "\n", "ax.plot([-2,2],[0,0])\n", "ax.plot([0,0],[-1,1],color='r')\n", "plt.xlim(-2,2);\n", "l, = ax.plot([0],[0],color='k',marker='.',markersize=30)\n", "\n", "animate = lambda i: l.set_data([-x[i]], [0]);\n", "\n", "ani = FuncAnimation(fig, animate, frames=len(t), interval=1000/40);" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(ani)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Los valores propios importante\n", "\n", "- Es claro que algunos valores propios son mejores que otros. \n", " - Algunos causan oscilaciones\n", " - Algunos hacen que el sistema responda lentamente\n", " - etc.\n", "\n", "- Próximamente veremos como selecionar los valores propios. " ] } ], "metadata": { "celltoolbar": "Slideshow", "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.9.8" } }, "nbformat": 4, "nbformat_minor": 2 }