Hola,
hoy toca realizar la práctica 4. En esta práctica debemos conseguir que bracitos se mantenga de pie sobre dos ruedas. Para ello hemos tenido que cambiar el diseño de bracitos:
hoy toca realizar la práctica 4. En esta práctica debemos conseguir que bracitos se mantenga de pie sobre dos ruedas. Para ello hemos tenido que cambiar el diseño de bracitos:
Para conseguir que bracitos mantuviese el equilibrio, hemos implementando un controlador PID, el cual consiste en un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso.
El algoritmo de cálculo del control PID se da en tres parámetros distintos: el proporcional, el integral, y el derivativo.
Controlador P
La salida obtenida de este controlador, nos ofrece información del error actual. Con este controlador no conseguimos controlar el balanceo de bracitos. Con una Kp alta, bracitos oscila demasiado y cuando el error es muy grande no recupera la posición de equilibrio y siempre se cae.
Controlador D
El controlador D o derivativo determina la reacción del tiempo en el que el error se produce. Su fórmula es:
El calculo global para obtener una salida del controlador PID es:
Controlador P
El controlador P o proporcional determina la reacción del error actual. Su fórmula es:
La salida obtenida de este controlador, nos ofrece información del error actual. Con este controlador no conseguimos controlar el balanceo de bracitos. Con una Kp alta, bracitos oscila demasiado y cuando el error es muy grande no recupera la posición de equilibrio y siempre se cae.
Controlador I
El controlador I o integral tiene como propósito disminuir y eliminar el error en estado estacionario, provocado por el modo proporcional. El control integral actúa cuando hay una desviación entre la variable y el punto de consigna, integrando esta desviación en el tiempo y sumándola a la acción proporcional. Su fórmula es:
En conclusión, con este controlador, podemos comprobar si el error va aumentando o disminuyendo, por lo que la salida será mayor o menor en relación a la integral del error. Se reduce el oscilamiento del robot, por lo que Ki, debe tener un valor pequeño.
Controlador D
El controlador D o derivativo determina la reacción del tiempo en el que el error se produce. Su fórmula es:
La función del componente derivativo es mantener el error al mínimo corrigiéndolo proporcionalmente con la misma velocidad que se produce; de esta manera evita que el error se incremente. Por lo que Kd, tiene que tener un valor mayor en relación al valor de Kp.
El calculo global para obtener una salida del controlador PID es:
Calculo del valor de las constantes
Las constantes Kp, Ki y Kd son constantes experimentales, es decir, para conocer sus valores, no queda otra que hacer miles de pruebas.
Sin duda, esta ha sido la parte mas costosa, por las numerosas pruebas y tiempo que hemos empleado para dar con los valores correctos para que bracitos mantuviera el equilibrio, cosa que finalmente conseguimos con los siguientes valores:
*Kp = 15
*Ki = 1
*Kd = 30
*Ki = 1
*Kd = 30
A parte de estas tres constantes, para el correcto funcionamiento del controlador, debemos acotar el error a un valor máximo, al que nosotros hemos situado en 200.
Una vez claro cómo conseguir el controlador, detallamos los pasos seguidos para conseguir el objetivo:
- Obtener el valor de equilibrio. Para ello obtenemos la media de 10000 mediciones en posición vertical. Al obtener este valor, es muy importante tener en cuenta, que el robot tiene tendencia a caer hacia adelante, por lo que hay que considerar cierto error. Para compensarlo, al valor obtenido le restamos la constante ERRORPESO con valor 10.
- Entramos en un bucle infinito, en el que constantemente vamos a calcular el valor del controlador PID.
- Analizamos el resultado obtenido, si la salida sobrepasa el error máximo permitido, el error toma el valor de error máximo.
- Si el valor final es negativo, significa que bracitos se cae para alante, por lo que deberá girar hacia atrás a la velocidad que marque la salida del controlador. Si por el contrario es mayor que 0, bracitos se cae de espaldas, por lo que deberá avanzar. El valor del error a la hora de configurar la velocidad en cada caso es en valor absoluto.
Después de tanto rollo y teoría, podemos ver como hemos cumplido el objetivo y bracitos mantiene el equilibrio durante un buen rato:
Sin mas dilatación, así son las cosas y así se las hemos contado.
0 comentarios:
Publicar un comentario