{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Modelizado Experimental\n", "\n", "***Encontrar modelos de sistemas a partir de datos experimentales y probar controladores en dichos sistemas.***" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "# Importamos librerias que utilizaremos en el notebook\n", "\n", "%matplotlib inline\n", "\n", "import control\n", "import matplotlib.pyplot as plt\n", "import numpy\n", "import sympy\n", "import ipywidgets as widgets\n", "import serial # pip install pyserial\n", "import scipy" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Modelizado experimental de un sistema de iluminación \n", "\n", "Para entender el modelizado experimental usaremos una maqueta (planta) para el control de iluminación. \n", "\n", "La planta es un sistema de iluminación con un LED *Light Emitter Diode* de potencia (actuador) y un LDR *Light Dependent Resistor* (sensor). Este sistema es controlado a través de un **Arduino X**.\n", "\n", "\n", "\n", "Encontrar el modelo de forma analitica para este sistema puede ser dificil dado que no todos tenemos conocimientos en óptica. Por lo que para encontrar el modelo matemático de este, usaremos datos experimentales. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "### 1. Subir el Código **Arduino**\n", "\n", "Abramos el archivo [`iluminacion.ino)`](http://cpm.davinsony.com/arduino/iluminacion/iluminacion.ino) en el **Arduino IDE** (IDE *Integrated Development Environment*). Este código nos permitira actuar el LED y obtener los datos del sensor. Para interactuar con el arduino usaremos el puerto serial y python.\n", "\n", "Para ubicar el puerto de comunicación serial vamos al menú `Herramientas` `>` `Puerto`. Seleccionamos el puerto donde se encuentre el **Arduino X**.\n", "\n", "![selección del puerto](https://cpm.davinsony.com/media/image/iluminacion/verificacion_puerto.png \"Verificación del puerto utilizando el Arduino IDE\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Verificamos en la maqueta donde se tiene conectada la entrada y la salida. Y corregimos los pines en el código.\n", "\n", "``` c\n", "#define OUT 2\n", "#define IN A0\n", "```\n", "\n", "Luego, subimos el código al **Arduino X**.\n", "\n", "![boton subir en el Arduino IDE](https://cpm.davinsony.com/media/image/iluminacion/arduino_subir.png \"Botón subir del Arduino IDE\")\n", "\n", "Este código básicamente lee la información del sensor y la envía por puerto serial al computador, esta información esta codificada en código `ASCII`. Adicionalmente si uno envía un valor (`0-255`) por el puerto serial al **Arduino**, este cambiará la intensidad del LED proporcionalmente a este valor. \n", "\n", "> Una vez subido el código al **Arduino** se puede verificar vía el Monitor Serie la recepción de caracteres `ASCII`, enviando cualquier carácter, el carácter recibido debería cambiar." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Si se se niega el acceso al puerto serial en linux se pueden cambiar los permisos del puerto, de la siguiente forma: \n", "\n", "``` bash\n", "sudo chmod 777 /dev/ttyACM0\n", "```" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "..........................................................................................................................................................................................................................................................................................................\n", "\n", "> Completo" ] } ], "source": [ "serialPort = '/dev/ttyACM0'\n", "\n", "##############\n", "\n", "ser = serial.Serial(serialPort, 115200, timeout=5)\n", "ser.flushInput()\n", "ser.flushOutput()\n", "\n", "T = []\n", "X = []\n", "Y = []\n", "\n", "i = 0\n", "while i < 300 :\n", "\n", " # Enviar datos al actuador\n", " if i < 100 :\n", " ser.write(bytes.fromhex('00'))\n", " else :\n", " ser.write(bytes.fromhex('FF'))\n", "\n", " # Recibir el mensaje del Arduino\n", " mensaje = ser.readline()\n", " ser.flushInput()\n", "\n", " # Mostrar señal \n", " if len(mensaje) > 0 :\n", " data = mensaje.decode().strip('\\n').strip('\\r').split(\",\")\n", " if len(data) == 3:\n", " print(\".\", end = \"\")\n", " T.append(float(data[0])/1000)\n", " X.append(data[1])\n", " Y.append(data[2])\n", "\n", " # Incrementar contador\n", " i += 1\n", "\n", "print('\\n\\n> Completo',end = \"\") \n", "ser.write(bytes.fromhex('00'))\n", "ser.close()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 2. Análisis de la toma de datos\n", "\n", "Despues de ejecutar el código de python que genera cambios en el actuador, tenemos la siguiente respuesta. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2deZxcVZn3v093p7uz9AIkhEASAsqOECAgiizKjCIquI3DOK8KDsPrOK4j44Az44sj+r4zKowO7qAfF1xGVAYXQBQdhREwgbAkAWQJ2RdIuqsTuju9nPePc2/Xubequivpqr5V1b/v51OfunXuuec+59yq333qufc+x5xzCCGEaCyasjZACCFE5ZG4CyFEAyJxF0KIBkTiLoQQDYjEXQghGpCWrA0AmDt3rluyZEnWZgghRF2xYsWKZ51z84qtqwlxX7JkCcuXL8/aDCGEqCvM7JlS6xSWEUKIBkTiLoQQDYjEXQghGhCJuxBCNCASdyGEaEDKEncz6zazm8zsUTNbY2YvMbNPRZ8fMrMfm1l3apvFZrbLzC6vjulCCCFKUa7n/lngNufc0cCJwBrgDuB459wJwOPAlaltrgFurZShQgghymdCcTezLuAs4AYA59we51yPc+4XzrnhqNo9wMJgm9cDTwOrKm+yEDXE0AA8cCModbaoMcrx3A8DtgNfN7MHzOx6M5udqvNOIi/dzOYA/wB8bLxGzewyM1tuZsu3b9++D6YLUQM88Uv4r3fDVvkxorYoR9xbgJOBLzrnTgJ2A1fEK83sH4Fh4Mao6CrgWufcrvEadc59xTm3zDm3bN68ok/PClH7DD2ffBeiRign/cAGYINz7t7o801E4m5mFwOvBc51+SmdXgy82cz+DegGRs1swDl3XUUtF6IWGB5IvgtRI0wo7s65LWa23syOcs49BpwLrDaz84APA2c7554P6p8ZL5vZVcAuCbtoWIYHk+9C1AjlJg57L3CjmbUCTwGXAH8A2oA7zAzgHufcu6pipRC1ijx3UaOUJe7OuZXAslTxC8vY7qp9sEmI+mFM3OW5i9pCT6gKMRnGwjLy3EVtIXEXYjIoLCNqFIm7EJNBF1RFjSJxF2IyyHMXNYrEXYjJIM9d1CgSdyEmg+6WETWKxF2IySDPXdQoEnchJoNi7qJGqfhkHWZ2mpmtjF4PmtkbqtsFITJEnruoUaoxWccjwDLn3FLgPODLZlZumgMhKsPoiM+1nigbhaH+8nKvDw34ukP9vq1STJXn7lxky+jebTe8J9+PoX4YGcqvGxny60NGhoufqOKxS3+OX9XKZ1/MxskQj2M4lsXGNT7+I8OFbQzvSY5jwt4i4xd+F4t9L6tExSfrcM49H5S3A5rFQOwbWx6BT70Q+rYky3c/B58+CjasSH7euCJf54tnwCfmw++/AN96I9x1LXz3IvjEQXD7R3ydn10Ot7zXL9/5Cfj+//LLd/273/YTB/nXdcu8KDx2K3x2qf/xrrsHPnMM7Nrmt4l/0L0bvM3bHoX+nfCZo2Hdvf4H/dkT4bHbCvv59dfAPV/Mf/7BJfDLq5J1brvS2/K9v8iX3ftl+Np5qc+vhj/eAf9+Ajx+e74P8ev/LoQdT3k7r54PV8+DJ34F1xzrc9N/+gi4+kBYdbNv80tnwgPfhq++3G//u2t8+ffemmz3v97jy3/5MfjBxX757s/BNy/M2/fg9+ALL4U1P4HPnVwokE/eCde+CPbs9p971nlbrp6XP9bxWH/uJHj058ntb3gV3PdVv/ydi+A3/wo3/RXc8dF8nZ9fnrf5u38O//0pv3zDnybtjI//tccmj/eTd3p7rj7Q2xce7+d3+PG9+sDou3Kit/GzJ/r27v8WfPlsv3z35+DGt8BvP0W1KMejDifrOBFYAbzfObc7qPNO4PvxBzN7MfA14FDgbYHYE9S5DLgMYPHixfvcAdHAbF0Fu7fDc09Cx0H58p1rYdcW2PoILDwFeqLPWx6BQ07x3tP2Nfk2NiyHtg7Y8nBU9oh/37giLzCb7odtwTYz94cz3gdr74Yn7vCe+eaHYOfTsPtZ31bfprxNsef+7OPe5m2rfVnfZtj6MHQu8HZveRiOCgTZOdhwH3QHv4GNy6F/R2osIpu3PJIv27QSNvzBt2EGmx/0bW1+EHqegaf+G9wInH0FzGiH3o3wh696cW9u8+vAC1ZuIzxxZ36/29bAkefBlof8fjavzI9NbM/BJ8GxF8LK7+bt23S/bx9g0wNJUd78IGxbBc/8HnY86cWwY35+/ZZHoHedP5kf8ALfjhvNj+vCU/zy7mf9ui0Pw9HnJ8fxgCjl1Yb7/JhsWw27tyX3sf/h0N7t+zJjVt62cKybZvi2V/9X8ng/8atof6N5+8LjPRz9u3n6d/54r70Letfn290afwdX+WPXPINqUY3JOnDO3eucOw44FbjSzNrTjWqyDjEhA73J97HyntT6nH/v3+nfB3PJuoM5XzcuD9sttdy9CF72QTjq1SXq9iRtij33CdtObzcAI3tSNveW7nO63uhwfqKQ+HMuOun0rvPvZ13u+3LqpcXb73kmWT+uE+9r15Zkefy+6HTf7oITSvd7T18+tBGXx/tJ93EwdRzD9cWWw7I9u7zQDvR4oe/v8d+LdF8HemH+cbD4Jcl1o0PJYzhrfzjuDUGfepJjVayv4X7iPoZjmttYuG16DCpIOeJebLKOkyExWcdfBpN1jOGcWwPsAo6viLVielFS3FPlg33+fUwUAgHtXQ84eP45LwDp7RNCtMsL0UAvtHf58vh9vB8y5D33ck4cxfoSC9voaF6UStWLrwGUGodYgHrWwYzZee+wWF/ieuF7uk66fHTE2xGOUaKvuagfqb6l2ysQ9/g49hSun0jcw7LBPv+vZKCnuLi3d/nXnl3+ezG2LldYZ6KxKPWdKDam4XLfpsjGDMXdObcFWG9mR0VF6ck6Lggn6zCzw+ILqGZ2KHA0sLbShotpQNpDHytPi1qudP34BxX/NY7XO+e3G8zlBTVuKyFc3fltBlMCFpL23ON2IBLrlMAV9CVav6cPcKXrJfpbYhx2rs33Pe4HBGKVm1iIBnPFBS3sVyjugzk/pgO93v49u0rbWUrc0//AJhT3nsKywVx++9zGyJtPi3t33vb092KsTlrcc4VjER7XcFzCeqXEvdQYVJBy75aJJ+t4CFgKfBK4DujAT9ax0sy+FNV9GfCgma0Efgy82zn3bIXtFtOBwVzyPV1e0nOP1ncuzJfF750L/XZD/T4cgksKWezt7bPnnhu/frovY+LQl9o+l78DJT75dC5MbdNbvI1YOPp3JsV9xkwfSw7t6Ti49BjF4llQ3pscm/YuHw7as3v8Psefx8JnJcIyYyfpHGDQsSBZt9hYJsY9ZXc8liPDMLQ7Kdz9O4NxDcazvSt5Yg9t71jg7Sp1jEt974otV1HcKz5Zh3PuW8C3JmmXEBOHMgrEPeW5dy+G3IbktnFZLrgYunt7/kJY/CONf9hli3u5MfdS4Za+5OfRIX8Cap2V9+Zj29NtpdsYCW4dDMXdLB9CaW6Ftk4fWw4vDMdjFJ/k0uWbVxYXd/AXQkeD+HopO9N9jyk4SfdCeyfM3K+E516iLN4+xo34E088LqG4x/3KbUj+89v/sNJhrJn7+escA735C75jdQy6Fpb+3qWX43+OTZV/nlRPqIrapdjf70R56j3tDXUXuQsrLgsvjIV/l+PYfIHn3pPcX0nPfW/FPXWhdDwRi20f6E2GktKhnZBQxOLPYyewrsL14MWpWB+7F3tR27092Xb8Ho7prq3FxySkQNzjsEwgsrGNkxH3uDwe62Linm6jvcuf/Ma2DfYV2pQ+xm3RyShN+F0Ml91o/lpQhZG4i9plbz33dMx9XHEvFQuNYrDxD7u9yA887dVa0+Q99+EB/3BMueIee/OxPSND+X8fIbH94efxxD325kuJO+THKG47HqtwHNOx7NHRIiGpcjz3YuI+zgVXN+rvPU8T9qetMzku4bjG1w3au6Cl1d8qmT7e44l70ROmQdchhfsrNQ4VQuIuapdJhWUMOg8ubLN7kX+f6EJX/ANtafchjP5xPPe2zr3z3MMby8J29uyaQNwXFd//QG9+DNJM5Lm3pcU/KhvIFXrA6bFLX3QuNaYDvflbFUNKiXso3u3dkT0lxiUey3D9zuAfRLhNXKfAcw/Gdajfh8TSdwKlj3d79zjinhrTtDfftXD8cagQEndRu5Qt7sGF17FbGUv8Pe6KfsihZ1lsOf5xx3Hqvs1F4qvk644MBneLUOSHHwlWeF96um/FRDt87xpP3IuEZMJ+hJ8Hev0FymJe5liZS16XaGmH2Qf65fQYFbvzpNQtgyEFx7XI3TLjhWXCkEYYuovvFkrvq5S4dywAay6sE7/vTVhm3DEFWufArAPGH4cKIXEXtUlaKEPiz0O7fTgi9Fon/HsceU3leu7xclhn11bv3YXrwYdmion7yGA+TUG6P+HyYN8kxH0fPffxhCjsc7HysdBVkfp7K+5hWKlUzL2Yl17sO9JThufe2gFY9Lm7UKxDcS92vPdV3IutL3ViniQSd1GbDD2fvPMiJPHjziWFrX/nOD+ywJufjLiHy2Hd4YHgxBNceExvU7a4p2LLs/bPhyiyFve2TmhqjtYVibnvrbinj2G8Pt5vwkufQNx3roWWmYX7CoW7qSlvdzGxDsW42PFO14+P976Iuzx3Ma0YE7S5Sa8tXjdrbrQcPWae+NxL4kGVeF0YY+7b7POrtHb45bhevJwW97h89rzkclh3zy7/byIu37U1WN6SX06LU1N0R3J8v/1YX1LC1dZZKCqz50Wfc8m+pm0L+zLcXyjuYf24rG9zcuzC8rDdljYvpsXGMT5+ob1hecxgYP9Ajw+v7elL7jccj/RYhmUje2C/Q5PjEdtgTT40Eo5NUXEPboUtdrzbu7x96eM90ZgWW5+luO9lPvc/NbMVZvZw9P6KqlguGpv4C9+9OOm1De/xXlJ4h8NgX/5zwnPvzrcBJO6AiD/HP7SmlujhFPLrii0Xu6Ut3k8ceil121v6lrt4Ob7wO9jnhW3OgT7GHQpX6xxobikUoe7FSc893kfY55DY1nT/w/rF+psuL3bSAG/3nAOT26ftDctjQvuHB/LJvkqJe7HbF8OxjkNYs+cm73hp68zfUz6uuKeuJ5QzRul1xeqHy12ph6cqTDXyuT8LvM459yLgHeiBJrEvpMUg/hx7eGPlUWKwMXEPnjCN/3bPme+99PSDSekf3cxofejdhfXD/YbL8fp9FfdYiGLPPRSbuE5oZyhC8T3p6XEpKe4pgd4bcW+d7S88jtdu4oQ5w2fz3Ftxh/wdL2lxj6/FFBP3eBzBi3r8Tycdihqzudt/L2a0B3WCe+HT/ZyUuAffvbZOwPy/ihmzqybuEz6hGuRzvxh8PndgD/CLoNo9wJuj9Q8E5auAmWbW5pzTVDXCs20N3P/N8Sd4iO+8iH8gv/q4j5enReD3n2fs6U2A+7+Rj302z/A/nvgHF//o2jrzoYXm1nxZvL51TvKJwXLF/b4vl64TLj/wLdh4v1/ObfJpigEevsmnNz7kZN/mM3fDrVfAut8nxWb9fT4k0Nrh77zo2+y3hfxtfel/FcX6Uo64dy0EojuGzHzq5IGe0uIejmNbh99/z12w6kdRe4F9wwPw8w/7k2kc147tv+uaQnv+5zp45Ef+idOxsfy2T0nctwVeeK4X65FBxsJy8euZ//Hblep/e5fPRROPY/picXqMwjueyhH3sL2mptSJJ/WQXoWoSj73gDcB9xcTduVzn8Ys/7oXwrau8et1HwrHvA4e/oGf/CBmznw4+jXw6E9h/R+8wL3gFfDUb3zO9RkzYWGULeOo82DJy3xI46ATfNlhZ3oxWXKGF/fNK33ZvKN9bvPDz07asfBUL6T7H+b3s+Ibfp/HXAhP/hpe+Cew4us+d3nHwXD067xIDA/CUef7ySn6d/ptn7wTNj3oX+DtOvxsn99862pftvglPlTz8A9h5Xd82Yl/nl+39m7YsdbbvOjFXvC2roJDlsELzvV2HPlqn0s8fa//vKNhzkGAgwOP9XHfg07wfVl7t+9rexcsWOpPNItO83nLDz3Db3/4OfDHX3g7Qpac4XOeL3mZH6enf+v7tfh0eOxnfjKLQ8+AJWf6PO+HnwMrb/QTYySO9wV+7Nbd68Nk8472F5L3W+L7A37sD395/nhvfsjH/Ree5nPWr/2dt3tk0Odu37kWHvpB9H04P7+/w87On/wWnw5rbvGOx6IXe28efM769u7geN/p25zZ7b+HkDzeBx3vvwOHLIMjXuXnElh0mj/OR7wqP25HvgoOfSk890TVpjOyIpl6kxXMluE98zOcc/ea2WeBnHPun6P1/4jPO/PGMO2vmR0H3AK80jn35Hj7WLZsmVu+fPnkeiLqhx9d5me2+cBDWVsiRF1jZiucc+m8X0CV8rmb2UJ8Rsi3TyTsYhqSjn0KISpONfK5dwM/A65wzt1dBZtFvSNxF6LqlJXyl3w+91bgKeAS4A9AGz6fO8A9zrl3Ae/BpwP+qJnFM9O+0jm3rbBZMS0Z6PVxSyFE1ahGPvergasnaZdoZOKHjIQQVUNPqIqpR2EZIaqOxF1MLSPDyckwhBBVQeIuppb05MpCiKogcRdTS/rxbiFEVZC4i6klnZhJCFEVJO5iapG4CzElSNzF1CJxF2JKkLiLqUXiLsSUUI3JOg4ws1+b2S4zu6665ou6Q+IuxJRQjck6BoB/Bi6vsK2innHOT2aR21w4GYYQouJUY7KO3cBdZlY0PYGYpvzqY3DXtX551tzkZBhCiIpT7ck6SqLJOqYZz/7RT2Jw1of8JBFCiKpSjvvUgs/f/kXn3EnAbuCKeGU0WccwcOPe7Ng59xXn3DLn3LJ58+btzaaiHhno9bPpnHqpn4FGCFFVqjJZhxAFFJt3UwhRNSo+WYcQRVEmSCGmlGpM1oGZrQU6gVYzez1+so7VFbZd1BMDOYm7EFNIxSfriOovmYRNotEYHfXZICXuQkwZuh9NVJ89u8CNStyFmEIk7qL66KlUIaYcibuoPhJ3IaYcibuoPhJ3IaYcibuoPhJ3IaYcibuoPhJ3IaYcibuoPhJ3Iaaciudzj+pfaWZPmNljZvaq6pkv6oJY3Ns6s7VDiGlExfO5m9mxwEXAccB5wBfMrLnShos6YqAXWjugudwHooUQk2VCcQ/yud8APp+7c67HOfcL59xwVO0eYGG0fCHwPefcoHPuaeAJ4LTKmy7qgqd+A/d8Hto6srZEiGlFOZ57mM/9ATO73sxmp+q8E7g1Wj4EWB+s2xCVJTCzy8xsuZkt3759+z6YLuqC33/Bvx91XrZ2CDHNUD53UV0GeuGws+C112ZtiRDTimrkc98ILAq2XxiViemIUv0KkQnVyOd+C3CRmbWZ2WHAEcB9FbZb1AsSdyEyoeL53J1zq8zsP4HV+HDN3zrnRipvuqgLBnqhvXviekKIilKtfO6fAD4xCbtEIzAyBEO75bkLkQF6QlVUj4Gcf5e4CzHlSNxF9Rjo8e8SdyGmHIm7qB6D8tyFyAqJu6geShgmRGZI3EX1kLgLkRkSd1E9JO5CZIbEXVQPibsQmTGZfO5/ZmarzGzUzJYFdWeY2TfM7OGo7pXVM1/UNAO9YE3QOidrS4SYdpT7hGqcz/3N0VOqs4Ae4I3Al1N1/wxoc869yMxm4VMVfNc5t7ZSRos6IU494J9gFkJMIROKe5DP/WLw+dyBPXhxxwp/uA6YbWYtwMyobq5iFov6QXllhMiMSuVzD7kJnxZ4M7AO+LRzbsfkTRV1x0CvptYTIiMmnc+9CKcBI8DB+BPDh8zs8HQlTdYxDZDnLkRmTCqfewneio/PDznntgF3U5h0TJN1TAck7kJkxj7ncx9nk3XAKwCi8M3pwKOTtFPUI0r3K0RmlHufe5zP/SFgKfBJM3uDmW0AXgL8zMxuj+p+HphjZqvwOd+/7px7qNKGizpgICfPXYiMmEw+9x9Hr3TdXfjbIcV0ZmQY9vRJ3IXICD2hKqqDMkIKkSkSd1EdlHpAiEyRuIvqIHEXIlMk7qI6SNyFyBSJu6gOEnchMkXiLqqDxF2ITJG4i+ogcRciUyTuojool7sQmVLxyTqCbRab2S4zu7zyZouaZ6AX2jqgSf6DEFlQjck6Yq4Bbp28iaIuUdIwITKlGpN1YGavB57GpwcW0xGJuxCZUvHJOsxsDvAPwMfGa1T53BucwZwyQgqRIdWYrOMq4NoogVhJlM+9wZHnLkSmlBNzLzZZx3ji/mLgzWb2b0A3MGpmA8656yZnqqgrJO5CZMqE4u6c22Jm683sKOfcY0wwWYdz7sx42cyuAnZJ2KchEnchMqUak3WI6c7oSBRzl7gLkRUVn6wjtd1V+2aWqGuUy12IzNETJqLyKPWAEJkjcReVR+IuROZI3EXlkbgLkTkSd1F5JO5CZI7EXVQeibsQmSNxF5VH4i5E5kjcReUZyAEGrR1ZWyLEtKXcfO5rzexhM1tpZsujsqVmdk9cZmanReX7mdmPzewhM7vPzI6vZgdEDTLQC22dyuUuRIbsza/v5c65pc65+GGmfwM+5pxbCnw0+gzwEWClc+4E4O34XPBiOqHUA0JkzmRcKwd0RstdwKZo+VjgTgDn3KPAEjObP4n9iHpD4i5E5pQr7g74hZmtMLPLorIPAJ8ys/XAp4Ero/IH8TM0EYVqDgUWVs5kUfMM5qC9c+J6QoiqUa64v8w5dzLwauBvzews4G+ADzrnFgEfBG6I6v4/oNvMVuITjj0AjKQb1GQdDczwIDS3Zm2FENOassTdObcxet+GTxZ2GvAO4EdRlR9EZTjncs65S6JY/NuBecBTRdrUZB2NyugQNM/I2gohpjUTiruZzTazjngZeCXwCD7GfnZU7RXAH6M63dEk2gCXAr91zuUqbbioYUaG5LkLkTHlpPydD/w4mgi7BfiOc+42M9sFfNbMWoABII7FHwN8w8wcsAr4q8qbLWqakSFoKiubtBCiSpQzE9NTwIlFyu8CTilS/nvgyIpYJ+oThWWEyBw9ZSIqj8IyQmSOxF1UHoVlhMgcibuoPArLCJE5EndReUaGoEniLkSWSNxF5RmR5y5E1kjcReVRWEaIzJG4i8riHIwOKywjRMZI3EVlGRny7/LchciUssXdzJrN7AEz+2n0+QYzezCalOMmM5uTqv8mM3Nmtqx4i6IhGZW4C1EL7I3n/n5gTfD5g865E6NJOdYB74lXRLlo3g/cWxErRf0wsse/KywjRKaUO83eQuA1wPVxWZwMzHzSmZn4nO8xHwf+FZ9zZuoYHYGffxh2rq3ufjY/CL/8mI8viyQjw/5dnrsQmVKu5/7vwIeB0bDQzL4ObAGOBv4jKjsZWOSc+9l4DVYln3tuI9z3ZXj8F5VprxSP/gzuugaGnq/ufuoRhWWEqAnKSfn7WmCbc25Fep1z7hLgYHy45s/NrAm4BvjQRO1WJZ/78KB/H+itTHsl9zMwNfupR+ILqgrLCJEp5XjuZwAXmNla4HvAK8zs2/FK59xIVP4moAM4HvhNVP904JYpu6g6Jro9Vd7PFJ1E6hHdLSNETTChuDvnrnTOLXTOLQEuwk9+/TYzeyGMxdwvAB51zvU65+Y655ZE9e8BLnDOLa9aD0LkuWePwjJC1AT7mrrP8BNydEbLD+LnVM2WWHQHqzzx09hJRBNMFaCwjBA1wV6Ju3PuN8Bvoo9nlFH/nL22aDJMlUctz700CssIURM01hOqUxaWifdT5dh+PaKwjBA1QYOJuzz3zFFYRoiaoMHEfao9d4l7AfETqvLchciUBhP3wKOu5tOj8txLM6onVIWoBRpM3COPenS4uk+PynMvjcIyQtQEDSbuQSqbagqvPPfSKCwjRE3QYOI+mF+uqrjLcy/JWFimNVs7hJjmVDyfu5ldbGbbzWxl9Lq0WsYXIM89e8bCMvv6fJwQohJUJZ878H3n3NLodT1TRcJzr+LTo/LcS6OwjBA1QVnuVZDP/RPA38GE+dynlh1Pw35Lkp7747fBC17uRWbHU9C7sfi2C06A4T2w/dFk+dwjoWM+DO7yF2db5/i0Bh0HJdMcOAdm/vPoKGxcAS1tcNCLYNP9vvzgk32O+f2W+LpbV/ttD1kGu7bAnPnQsw5ym/z6g0+G1lne5h1P+TYOehHM7Ibdz8G21XkbW6LwR3Ort7Vjfr4Pw3tg43KYNRfmHent613n7YhxDjY9ADi/37gvANse9Q9qHXIK7HwG+jbn15nBwSdBf0/eRoDnn/XvuqAqRKaU+985zufeERZG+dzPB1aTTPP7JjM7C3gc7+GvTzdoZpcBlwEsXrx47y2P2fEUfO5kePvN3qNu6/TCufwGOOh4OOUS+PLZpfPNnPhWL6zP3JUsX3gaXHoH/PqT8OSv4JgLYOV34AMPe++0pd2L/PAAzJjpt/nj7fDdi/zy678IN0fpdt7wFfjxZfCOn8C8Y+CLL/Hlr70Wbv8neOXH4Y6Pwp5dvvzMy+Hcf4ZvvzF/0nnRW+BNX4Wb3wV/jPLVLzodZu0PbtQL/WM/h/cGmZmX3wC3XeFDJFesgyfvhB9cDH+3BuYc6OtsvB+uf4VfvuQ2ODSy7fkd8IUX++XXfAZu/8fkyRPgjPfDY7fCs48Xjqs8dyEypaL53KPinwBLonDNHcA3irVbsXzuuU2Ag94NXnzmHAjvvsev69sCe3Z7YV/2TnjHT5Ovecd4b7RvMxx2dr78hX/itwXv6fZugN71fjKQ4X5fHotjGJoJPdtND+SXN0ZJMXs3wK6t+fKtq2FoN2xb44X91L+G2fPy++7b7E8q84/Pt9232Yv6C17hl3vXQ896/967ITk28Tajw9C/09cbHc63n7Y5XN61Lb+87VE/tqf/bX6MOhb4dvq2wLEX+rKDTshvI3EXIlMqnc8d59xzzrk4+H09cEpFLU4Ti+tAr/fcW9rhwGOgvcuXxesXnAiHnZl8dR2Sr3PAC/LlB7ww2e6eXfD8c4CD3dGsUbOLiHu43LOucDm0JyyP3xec6MV9oMeHUAZyMO9o6FqYtGe/JRZoc2YAAA5SSURBVHkbB/u8cA/0egEeKnFROdx3KZsn6svBJ+XHaPY8790P5vxJ8rAzoTv4B6awjBCZUtF87tHnBcHmF5C8CFt5EuI+4OPdAG0pcW/vKty2vcsL6UBvcn17lxet0dH89j1RZCn2aOfMT+4/vbwv4t7elT8p7ekDXLIsbiMuG8xFbfbk14fhp0qLe3qM4n8KcXm4Xp67EJlSjXzu7zOzC4BhYAdw8WSNHJdinjsUeu6lxL1vq89kmBYuXF48IS9wcVilWFhmoNfHt0eH/QVIzLez85n8+nLEPbcpaXfcl9ibb++C9k4fa+/fGdm1Pb+P0DZrBjcysbhbU/HyppbS4r7x/mR5/N7UkrwwK4SYciqez905dyVw5aSs2hvSnntbdM23XHEf2l24Pl4Ot4/rTeS5dy30d8YM7YaZ+3kBDm2MlzsOhr5NybZjId+2plDcB3Mw2Evem+9M9iW3obg93Yth59Pji3tbp7/bJlEepTPuXpy/GyYxRt2FYxe/W2M9GydEPVL/v8KCsEwpz727cNtigh4uh+GOmDFxPzBfJ7Rl1gHQGpxgwnZDe7oWFren2EmpvcufJHKbircLfn0xe+I4+Hjing79hHW6FiXtG285fo/vdRdCZEaDiftgPuZeruc+3nJuU140Y8bCMiU891B4S4l76xzv1RezJ/bS43BL2EY6fFOMAs99UXLf49mcLm9pz/cz3u94y6VsEkJMOQ0m7uN47m2dhdumwwzp8vCiaEzsubd3QXNbGeIetBtevG1LPDKQt3E8Lz2+qFuOuDsX/ZOYCzNm75u4h/tpmpG/nz8co3BZ4i5EzdBA4p4r9Nzj2wRnzMo/yRkykSdaTNx3R+Le0l5cEGOBjttJeO45L/DFYuatHdDcMr6X3rsXnvvwgA+PjAl3TxSzp4SId5Yuj/cZXiSVuAtR09R/dqfQGzWSnjvOP9xTSnSKeevhclHPPQrLtLRFopm69TDtuYeThsTeczHPPS2Q8b7Dk0VZYZlc8j2u298TrAtEfLAX2o/3ty4mynOFfSlmL5b/VyRxF6JmaBxxH8x5gQo9d/CCWFLcg/IwbBMvjxeWSXvuQ1EqgoQgdidj9oM5L7Jdh5Qn7uN588XCTFAYeont6d3AWPqfYh56WtwHev11gYnEva0TmpqK1xFCZEaDhGWi+8njnC+wd+Le0g4z2vPlTc1etMbE3fLvcX6VMc899fBQyQuqFsXSN0biHItjSjyL2R3/wwi9+eYWf2E2bV+BuHf7dsK+xOsS9813+dQKYcbLcjz3UqEtIUSm1Le4j456Ue08OF+W9tz7d5QWndj7LeYFt3X6bSHffmI/7ck4dVpMYxvi5Xjb2J7Yc98vulWxPWVL/46gLKr7/HNe0JtbknVD+0p57mFf4nWJp2CjE0gYukmIe2qMxmLxQXlrkYvEQohMqPhkHdG6t5jZajNbZWbfqYbhgM/54kaTOU3GPPdAdEqJ+4x2f8dLsfVhWXyvd2I/Kc89IaaBUMcCHG7b1hmI+5Lk/opdB2ie4e94SdsV37ET33PfvTiwJ7rfvb0zORbdiwtTK4Rx/YHe/J026YvDxcYnLG+qb19BiEai4pN1mNkR+CdUz3DOHQd8oFLGFhCLU1p0ofxwQamLk3HZjFkwe65fDh88Ssfcx8S0RFgm/TBQLLgF4l7ipFQqDNLW4WPjza1e5Et57jFdiyhIrRDWiW8pHbvTprtwvxB56aZQjBA1SjUm6/hr4PPOuZ1RvW0FDVaKYk9RNldY3Ns68hcwZ+4f7KfVl48MwlfPLS3u8QXV8AQUhmW6D03ur3mG78PIYKoPnT5dQbpf7Z35UFB7l081cH2Qsjjdv9iOb17gJ/OI68QnxZv/Jn8/+3gx96amaN8SdyFqkWpM1nFktO5uoBm4yjl3W7rBikzW0TwDXnCuz7++c63P3b7kZX5dezcs+yt/IfHo15Ru46Xv9RNepFn6Vi+wh53lZ0yadxQsPBV2POnT8DY1wZHnwbp7o8RjnX4mo/0P9x70KRf7FLk4v3zqpV54h/rh8LN9PvRl7/T52vs2+5zoMS/7AGxY7ifoiDn1Uj8ZR1h2ysV+JqfuQ71t84+LZpxy/uRx9Gv8P4wjXglr7/apEU76Sz+TU3xheN6RcPBSn2DsuDfkT5hHvhoOP8dv89L3wdGvKxyjs/4+mcMd4PVfSl6cFkJkgjk3/ux40WQd5zvn3m1m5wCXO+deG6xvBv4D+INz7utRTH4IeAuwEPgt8CLnXE9h655ly5a55cuXT7ozQggxnTCzFc65ZcXWVXyyDmADcItzbsg59zR+qr0jJmG/EEKIvaTik3UANwPnROvm4sM0TyGEEGLKqMZkHbcDrzSz1cAI8PfOuecmbakQQoiyqcZkHQ5/R83fTcYwIYQQ+46eOhFCiAZE4i6EEA2IxF0IIRoQibsQQjQgEnchhGhAJO5CCNGASNyFEKIBmVDczWyRmf06yM/+/qj8KjPbaGYro9f5UfkSM+sPyr9U7U4IIYRIUs5DTMPAh5xz95tZB7DCzO6I1l3rnPt0kW2edM4trZiVQggh9ooJxd05txnYHC33mdka4JBqGybqk409/azelMvaDCHqhvmdbZywsHviinvJXqUfMLMlwEnAvfj0A+8xs7cDy/He/c6o6mFm9gCQA/7JOfe7Im1NPp+7qDk++P2V3Pf0jqzNEKJueO0JC7jurSdXvN2yxT2aI/WHwAecczkz+yLwcfwMTB8HPgO8E+/lL3bOPWdmpwA3m9lx8cxNMc65rwBfAZ/PvSK9EZnzbN8gZx05jw+/6qisTRGiLuiaOaMq7ZY7zd4MvLDf6Jz7EYBzbmuw/qvAT6PyQWAwWl5hZk/i0/5qNo5pQG5giIX7zeT4QzT9nhBZUs7dMgbcAKxxzl0TlC8Iqr0BeCQqnxfNzoSZHY6fqEP53KcBzjly/cN0tlfHExFClE85nvsZwNuAh81sZVT2EeAvzGwpPiyzFvjf0bqzgH8xsyFgFHiXc05B2GnA4PAoe0ZG6Zy5r9MECCEqRTl3y9yFn5Ajzc9L1P8hPoQjphm5/iEAee5C1AB6QlVUjNxAJO5VukAkhCgfibuoGL39wwB0tissI0TWSNxFxeiT5y5EzSBxFxUjNxB77hJ3IbJG4i4qxtgFVd0tI0TmSNxFxRi7oCrPXYjMkbiLipHrH6a1uYm2Fn2thMga/QpFxcgNDNE5swX/ULMQIkuqJu5mdp6ZPWZmT5jZFdXaj6gdcv1DCskIUSNURdyj3DKfB14NHItPVXBsNfYlaofcwDAdug1SiJqgWrc1nAY84Zx7CsDMvgdcCKyu5E4e3ZLjvd95oJJNikmwfufznLpk/6zNEEJQPXE/BFgffN4AvDisUInJOtpbmjli/px9NFFUmiPmz+H1SzVJlxC1QGY3JFdiso4lc2fzhb88paJ2CSFEI1CtC6obgUXB54VRmRBCiCmgWuL+B+AIMzvMzFqBi4BbqrQvIYQQKaoSlnHODZvZe4DbgWbga865VdXYlxBCiEKqFnN3zv2cEhN6CCGEqC56QlUIIRoQibsQQjQgEnchhGhAJO5CCNGAmHP79PxQZY0w2w48s4+bzwWeraA5WaK+1CaN1BdorP5M974c6pybV2xFTYj7ZDCz5c65ZVnbUQnUl9qkkfoCjdUf9aU0CssIIUQDInEXQogGpBHE/StZG1BB1JfapJH6Ao3VH/WlBHUfcxdCCFFII3juQgghUkjchRCiAakLcZ9osm0zazOz70fr7zWzJVNvZfmU0Z+LzWy7ma2MXpdmYedEmNnXzGybmT1SYr2Z2eeifj5kZidPtY3lUkZfzjGz3uCYfHSqbSwXM1tkZr82s9VmtsrM3l+kTj0dm3L6UxfHx8zazew+M3sw6svHitSpjJ4552r6hU8Z/CRwONAKPAgcm6rzbuBL0fJFwPeztnuS/bkYuC5rW8voy1nAycAjJdafD9wKGHA6cG/WNk+iL+cAP83azjL7sgA4OVruAB4v8h2rp2NTTn/q4vhE4z0nWp4B3AucnqpTET2rB899bLJt59weIJ5sO+RC4BvR8k3AuWZmU2jj3lBOf+oC59xvgR3jVLkQ+Kbz3AN0m9mCqbFu7yijL3WDc26zc+7+aLkPWIOf1zikno5NOf2pC6Lx3hV9nBG90ne1VETP6kHci022nT6wY3Wcc8NAL3DAlFi395TTH4A3RX+XbzKzRUXW1wPl9rVeeEn0d/pWMzsua2PKIfpLfxLeQwypy2MzTn+gTo6PmTWb2UpgG3CHc67ksZmMntWDuE9HfgIscc6dANxB/iwusuN+fB6PE4H/AG7O2J4JMbM5wA+BDzjnclnbM1km6E/dHB/n3Ihzbil+bunTzOz4auynHsS9nMm2x+qYWQvQBTw3JdbtPRP2xzn3nHNuMPp4PXDKFNlWaRpmonTnXC7+O+38LGMzzGxuxmaVxMxm4IXwRufcj4pUqatjM1F/6u34ADjneoBfA+elVlVEz+pB3MuZbPsW4B3R8puBO110NaIGmbA/qdjnBfgYYz1yC/D26M6M04Fe59zmrI3aF8zsoDjuaWan4X87NelARHbeAKxxzl1TolrdHJty+lMvx8fM5plZd7Q8E/hT4NFUtYroWdXmUK0UrsRk22b2L8By59wt+AP/LTN7An9R7KLsLB6fMvvzPjO7ABjG9+fizAweBzP7Lv4uhblmtgH4P/gLRDjnvoSfQ/d84AngeeCSbCydmDL68mbgb8xsGOgHLqphB+IM4G3Aw1FsF+AjwGKov2NDef2pl+OzAPiGmTXjT0D/6Zz7aTX0TOkHhBCiAamHsIwQQoi9ROIuhBANiMRdCCEaEIm7EEI0IBJ3IYRoQCTuQgjRgEjchRCiAfn/1YdoL5dCTy8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(T,X)\n", "plt.plot(T,Y)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Vamos a filtrar la respuesta con un promedio (*average*). " ] }, { "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.array(T)\n", "x = numpy.array(X)\n", "y = numpy.array(Y)\n", "\n", "x = x.astype(float)\n", "y = y.astype(float)\n", "\n", "y = y - numpy.average(y[0:50])\n", "\n", "plt.plot(t,x)\n", "plt.plot(t,y)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Hagamos zoom en donde se genera el escalón:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(t[90:110],x[90:110])\n", "plt.plot(t[90:110],y[90:110])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Respodamos las siguientes preguntas:\n", " \n", "- ¿El sistema es de primer o segundo orden?\n", "- ¿Cuál es su ganancia $\\gamma$? \n", "- ¿Cuál es su frecuencia angular natural $\\omega_n$?\n", "- ¿Cuál es su coefficiente de amortiguamiento $\\xi$?\n", "- ¿Cuál es su constante de tiempo?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 3. Indentificación paramétrica\n", "\n", "Para encontrar los paramétros del sistema.\n", "\n", "$$\\frac{\\gamma}{\\tau\\, s + 1}\\, e^{-\\theta\\,s}$$\n", "\n", "debemos referirnos a la curva experimental. \n", "\n", "- La ganancia puede ser calculada como:\n", " $$\\gamma = \\frac{y_\\infty - y_0}{u_\\infty - u_0}$$\n", "- El retardo $\\theta$ es el tiempo que se demora la salida en responder ante un cambio de la entrada en el sistema. \n", "- El tiempo de establecimieto $\\tau$ es el tiempo que se demora la respuesta en alcazar un $63.2\\%$ del su valor final. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0a80c456ddb44d35b3775e8c70793166", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(VBox(children=(FloatSlider(value=0.76, description='gamma', max=2.0, step=0.01), FloatSlider(va…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Parametros del modelo\n", "\n", "p_gamma = widgets.FloatSlider(value=0.76,min=0,max=2,step=0.01,description='gamma')\n", "p_tau = widgets.FloatSlider(value=0.005,min=0,max=0.01,step=0.001,description='tau')\n", "p_theta = widgets.FloatSlider(value=0.01,min=0,max=0.1,step=0.01,description='theta')\n", "\n", "## Definicion de la simulacion\n", "\n", "def identificacion(gamma,tau,theta):\n", " fo = control.tf([gamma],[tau,1])\n", "\n", " dt_num,dt_den = control.pade(theta,1)\n", " delay = control.tf(dt_num,dt_den)\n", "\n", " fodt = fo*delay\n", "\n", " tin = numpy.linspace(0.01, 3, len(t))\n", "\n", " tsim, ysim, xsim = control.forced_response(fodt, tin, x, X0= 0.0)\n", "\n", " for i in range(0,len(ysim)):\n", " ysim[i] = max(ysim[i],0)\n", "\n", " ax = plt.subplot(111)\n", " ax.plot(t,x, label=\"actuador\")\n", " ax.plot(t,y, label=\"respuesta experiemental\")\n", " ax.plot(tsim, ysim, label=\"respuesta simulada\")\n", " ax.legend() \n", " plt.title('Comparación modelo con respuesta experimental')\n", " plt.xlabel('tiempo (t)')\n", " plt.ylabel('respuesta')\n", "\n", "## Presentación de los resultados \n", " \n", "plot_identificacion = widgets.interactive_output(identificacion,{'gamma':p_gamma,'tau':p_tau,'theta':p_theta}) \n", "widgets.HBox([widgets.VBox([p_gamma,p_tau,p_theta]),plot_identificacion])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Con los parámetros obtenidos podemos simular el sistema y verificar que tan cerca esta del comportamiento real. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "identificacion(0.76,0.003,0.005)\n", "plt.xlim(0.95,1.05);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 4. Optimización paramétrica\n", "\n", "Por otro lado los parametros que encontramos manualmente, se puede buscar utilizando optimizadores que ya estan disponibles en python, en la libreria **Scipy**. \n", "\n", "Optimizando los paramátros del nuestro sistema experimental tenemos: " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " - gamma = 0.7332\n", " - tau = 0.0010\n", " - theta = 0.0113\n" ] } ], "source": [ "def simulador(x,gamma,theta,tau):\n", "\n", " fo = control.tf([gamma],[tau,1])\n", "\n", " dt_num,dt_den = control.pade(theta,1)\n", " delay = control.tf(dt_num,dt_den)\n", "\n", " fodt = fo*delay\n", "\n", " tin = numpy.linspace(0.01, 3, len(t))\n", "\n", " tsim, ysim, xsim = control.forced_response(fodt, tin, x, X0= 0.0)\n", "\n", " for i in range(0,len(ysim)):\n", " ysim[i] = max(ysim[i],0)\n", " \n", " return ysim\n", "\n", "popt, pcov = scipy.optimize.curve_fit(simulador, x, y, bounds=([0.001,0.001,0.001], [3., 1., 0.5]))\n", "\n", "gamma = popt[0]\n", "theta = popt[1]\n", "tau = popt[2]\n", "\n", "print(\" - gamma = %2.4f\\n - tau = %2.4f\\n - theta = %2.4f\" %(gamma,tau,theta))\n", "\n", "ysim = simulador(x,gamma,theta,tau)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f1d1ff4b0bd042b59c36ecd9242577f5", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(VBox(children=(FloatSlider(value=0.0, description='xmin', max=3.0), FloatSlider(value=2.0, desc…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Parametros\n", "p_xmin = widgets.FloatSlider(value=0,min=0,max=3,step=0.1,description='xmin')\n", "p_xmax = widgets.FloatSlider(value=2,min=0,max=3,step=0.1,description='xmax')\n", "\n", "## Grafico interactivo\n", "def resultado_optimizacion(xmin,xmax):\n", " ax = plt.subplot(111)\n", " ax.plot(t,x, label=\"actuador\")\n", " ax.plot(t,y, label=\"respuesta experiemental\")\n", " ax.plot(t, ysim, label=\"respuesta simulada\")\n", " ax.legend()\n", " plt.title('Comparación modelo con respuesta experimental')\n", " plt.xlabel('tiempo (t)')\n", " plt.ylabel('respuesta')\n", " plt.xlim(xmin,xmax);\n", "\n", "## Presentación de los resultados \n", " \n", "plot_resultado_optimizacion = widgets.interactive_output(resultado_optimizacion,{'xmin':p_xmin,'xmax':p_xmax}) \n", "widgets.HBox([widgets.VBox([p_xmin,p_xmax]),plot_resultado_optimizacion]) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Dando como resultado:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "resultado_optimizacion(0.95,1.05)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 5. Análisis de estabilidad del resultado \n", "\n", "Habiendo identificado el sistema, podemos analizar su estabilidad. Para esto podemos hacer uso del *root_locus*." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fo = control.tf([gamma],[tau,1])\n", "\n", "dt_num,dt_den = control.pade(theta,1)\n", "delay = control.tf(dt_num,dt_den)\n", "\n", "fodt = fo*delay\n", "\n", "control.root_locus(fodt);\n", "plt.axvspan(0, 2000, facecolor='r', alpha=0.5)\n", "plt.xlim(-2000,2000);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como nos muestra la gráfica, existen valores de $K$ para los cuales el sistema es inestable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 6. Propuesta de controlador\n", "\n", "Como controlador podemos usar un control **PID** o podemos realizar diseñar un controlador por posicionamiento de polos. \n", "\n", "Empecemos con un control **PID**, para este vamos a encontrar la ganancia ultima del sistema $K_u$ y el periodo ultimo $T_u$" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "La ganancia ultima para el sistema experimental es Ku = 1.6057 y el periodo último es Tu = 0.0101\n" ] } ], "source": [ "import math\n", "pi = math.pi\n", "\n", "Ku,_,Fu,_ = control.margin(fodt)\n", "Tu = 2*pi/Fu\n", "\n", "print(\"La ganancia ultima para el sistema experimental es Ku = %2.4f y el periodo último es Tu = %2.4f\"%(Ku,Tu))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Con estos valores podemos usar la tabla de sintonia de *Ziegler-Nichols*. Para un controlador **PI** tenemos:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\frac{0.00609 s + 0.7226}{0.008429 s}$$" ], "text/plain": [ "\n", "0.00609 s + 0.7226\n", "------------------\n", " 0.008429 s" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s = control.tf([1,0],1)\n", "\n", "kp = 0.45*Ku\n", "ti = Tu/1.2\n", "td = 0\n", "\n", "K = kp * (1 + 1/(ti*s)+td*s)\n", "display(K)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Podemos verificar la estabilidad del sistema con este controlador, para esto encontremos los polos del sistema en lazo cerrado. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Los polos del sistema son: \n", "\n", "(-291.01365693028106+292.4067849378002j)\n", "(-291.01365693028106-292.4067849378002j)\n", "(-65.45673473497337+0j)\n" ] } ], "source": [ "G = K * fodt\n", "\n", "closed_loop = control.feedback(G,1)\n", "polos = control.pole(closed_loop)\n", "print(\"Los polos del sistema son: \\n\\n%s\" % ('\\n'.join(map(str, polos))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como se puede observar todos tiene la parte real negativa, por lo tanto es sistema es estable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 7. Implementación del controlador\n", "\n", "Para implementar el **PID** en un sistema de tiempo discreto como lo es un **Arduino** u otro microcontrolador. Debemos discretizar el controlador. Esto se hace con la [transformada $z$](https://en.wikipedia.org/wiki/Bilinear_transform), remplazando: \n", "\n", "$$s \\to \\frac{2}{T}\\frac{z-1}{z+1}$$\n", "\n", "donde $T$ es el tiempo de muestreo. \n", "\n", "En python este trabajo lo logramos con *sample_system*:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/latex": [ "$$\\frac{0.7226 z + 0.1347}{z - 1}\\quad dt = 0.01$$" ], "text/plain": [ "\n", "0.7226 z + 0.1347\n", "-----------------\n", " z - 1\n", "\n", "dt = 0.01" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Kdiscreto = control.sample_system(K,0.01)\n", "display(Kdiscreto)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "De esta función de transferencia discreta debemos sacar el código que usaremos en el **Arduino**. Para esto debemos construir una ecuación que tenga todos los terminos con $z^n$, con $n$ negativo o zero, de ahí, despejamos el valor del actuador que esta acompañado por $z^0$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle U_{k} = 0.722578180449687 E + \\frac{0.13470672809478 E}{z} + \\frac{1.0 U}{z}$" ], "text/plain": [ "Eq(U_k, 0.722578180449687*E + 0.13470672809478*E/z + 1.0*U/z)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z,U,UF,E = sympy.symbols('z U U_k E')\n", "\n", "numer = Kdiscreto.num[0][0]\n", "denom = Kdiscreto.den[0][0]\n", "\n", "rhs = 0\n", "for i,d in enumerate(denom):\n", " if i == 0:\n", " rhs += UF*d*z**(len(denom)-i-1)\n", " else:\n", " rhs += U*d*z**(len(denom)-i-1)\n", "lhs = 0\n", "for i,n in enumerate(numer):\n", " lhs += E*n*z**(len(numer)-i-1)\n", "\n", "tfd = sympy.Eq(sympy.expand(rhs/z**(len(numer)-1)),sympy.expand(lhs/z**(len(numer)-1)))\n", "codigo = sympy.Eq(UF,sympy.expand(sympy.solve(tfd,UF)[0]))\n", "display(codigo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La anterior expresión es la expresión que se programa para el controlador. \n", "\n", "``` C\n", "// CONTROLADOR\n", "\n", "E0 = setpoint - float(sensor) // Calculo del Error\n", "\n", "U0 = 0.72*E0 + 0.13*E1 + 1*U1 // Calculo de la expresion para el actuador\n", "\n", "E1 = E0 // Guardo el error actual en la variable de error anterior\n", "U1 = U0 // Hago lo mismo para el actuador\n", "```" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ".......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................\n", "\n", "> Completo" ] } ], "source": [ "serialPort = '/dev/ttyACM0'\n", "ser = serial.Serial(serialPort, 115200, timeout=5)\n", "ser.flushInput()\n", "ser.flushOutput()\n", "\n", "TC = []\n", "XC = []\n", "YC = []\n", "SC = []\n", "\n", "i = 0\n", "\n", "E0 = 0\n", "E1 = 0\n", "U1 = 0\n", "U0 = 0\n", "setpoint = 525.0\n", "sensor = 0\n", "\n", "while i < 1000 :\n", "\n", " # Controlador\n", " E0 = setpoint - float(sensor)\n", " \n", " U0 = 0.72*E0 + 0.13*E1 + 1*U1\n", " \n", " E1 = E0\n", " U1 = U0\n", " \n", " # Enviar datos al actuador\n", " actuador = max(min(int(U0),255),0)\n", " ser.write(bytes([actuador]))\n", " \n", " # Recibir el mensaje del Arduino\n", " mensaje = ser.readline()\n", " ser.flushInput()\n", "\n", " # Mostrar señal \n", " if len(mensaje) > 0 :\n", " data = mensaje.decode().strip('\\n').strip('\\r').split(\",\")\n", " if len(data) == 3:\n", " print(\".\", end = \"\")\n", " TC.append(float(data[0])/1000)\n", " XC.append(float(data[1]))\n", " YC.append(float(data[2]))\n", " SC.append(setpoint)\n", " sensor = data[2]\n", " \n", " # Incrementar contador\n", " i += 1\n", "\n", "print('\\n\\n> Completo',end = \"\") \n", "ser.write(bytes.fromhex('00'))\n", "ser.close()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### 8. Verificacion del controlador\n", "\n", "Respuesta del sistema al controlador propuesto" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def show_results():\n", " t = numpy.array(TC)\n", " x = numpy.array(XC)\n", " y = numpy.array(YC)\n", " s = numpy.array(SC)\n", "\n", " x = x.astype(float)\n", " y = y.astype(float)\n", " s = s.astype(float)\n", "\n", " ax = plt.subplot(111)\n", " ax.plot(t[1:],s[1:], label=\"respuesta\")\n", " ax.plot(t[1:],y[1:], label=\"referencia\")\n", " #ax.plot(t[1:],x[1:], label=\"actuador\")\n", " ax.legend()\n", " plt.title('Respuesta del sistema en lazo cerrado')\n", " plt.xlabel('tiempo (t)')\n", " plt.ylabel('respuesta')\n", "\n", "show_results()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Otro ejemplo de respuesta" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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GF4lIvHdIk8CFojI6bhdB89W1bJ4eL89bqZ398TtwLk0XfIZhnF4YQqh7jmYMk33ewrfBR7ye88vBa4APsB9M/UVL/B7fqXR8cCvRWQvbu/6q1V1c1ql270N3p8CWgn9zoBOw9KanGEYxuFOWpWCqs7D2Q3C9K4h7JPAk+mUZx9e/Cl89IhzL30Dvv7i/sMbhmE0AM888wx9+/Zl4MCBaU8r2nsfrZkbuNfNazg5DMM4rFBVYrFY7QHriWeeeYYFCxbUS1rRVQp7d0PJYjjm++4Xq6j9GsMwjlqWL19Ov379uOyyyxg8eDAPPPAA48ePZ+TIkVxwwQWUlpYCcN111zFw4ECGDh3Kj370IwAmT57M1VdfTWFhIX379uX5592XO++77z6uvfbaRBqTJk1ixowZAEybNi2l+N955x2ee+45fvzjHzN8+HCKioq46667GD16NMOGDePLX/4yZWVl1BVH9N5Hh8SW5aAx6DAYiheaUjCMw4Rf/edTFqytcSX6QTGwc0tuOmtQreEWL17M/fffT+/evTnvvPOYPn06zZo143e/+x233nor11xzDU8//TQLFy5ERNi6dWvi2uXLlzNr1iyKioo44YQTWLJkSY3pbNq0iZtvvjml+HNzczn77LOZNGkS559/PgC5ubl885vfBOCGG27g7rvv5rvf/e4hlpIj2koBoE0PN2LQGKiCrYAwjMjSrVs3xo0bx/PPP8+CBQs45phjACgvL2f8+PG0atWKnJwcrrzySiZNmsSkSZMS11544YVkZGTQp08fevbsycKFC2tM57333jvg+MPMnz+fG264ga1bt1JaWsppp51WZ2UQXaVQVuL+m7WDDF8MsUrIjG6RGMbhQCo9+nTRrFkzwNkUTjnlFB555JF9wsyaNYtXX32VJ554gr///e+89tprwL7LP0WErKysKraJ+DsDBxN/mMmTJ/PMM88wbNgw7rvvvsSUVF0QXZvCLr/atUlrEF8MWtlw8hiGcdgwbtw43n777cQU0M6dO1m0aBGlpaVs27aNiRMn8uc//5mPPvoocc2///1vYrEYRUVFLF26lH79+tG9e3fmzZtHLBZj1apVzJo166Dib9GiBTt27EiktWPHDjp16sTevXt56KGH6jTv0e0Wl212I4TGLUMjhQrcKxSGYUSZvLw87rvvPi6++GL27NkDwM0330yLFi04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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "show_results()" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "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.6.9" } }, "nbformat": 4, "nbformat_minor": 2 }