CR7. EL ROBOT EQUILIBRISTA
Hoy comenzamos con la práctica del robot equilibrista. Consiste en mantener erguido a CR7 sobre dos ruedas, usando la teoría de estabilización PID dada en clase de teoría aplicada a una situación práctica.
Un PID (Proporcional Integral Derivativo) es 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. El valor Proporcional determina la reacción del error actual.
La Integral genera una corrección proporcional a la integral del error, esto nos asegura que aplicando un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El Derivativo determina la reacción del tiempo en el que el error se produce. La suma de estas tres acciones es usada para ajustar al proceso vía un elemento de control
P = Controlador Proporcional.
I = controlador integral
D = Controlador de la derivada
La salida de estos tres términos, el proporcional, el integral, y el derivativo son sumados para calcular la salida del controlador PID. Definiendo u (t) como la salida del controlador, la forma final del algoritmo del PID es:
-
-
u(t)=(-kp*error) + ki * (integralError) + kd * (ErrorIntegral)))
-
Aplicando esta teoría a la practica conseguiremos que CR7 se mantenga estable unos minutos.
Comenzamos con el montaje de Cr7, ponemos el sensor de luz próximo al suelo en el centro del robot par que tome bien las medidas.
Ponemos los dos motores a ambos extremos del ladrillo del robot y le ponemos las ruedas hacia adentro del robot para que tenga mas estabilidad.
Para terminar le ponemos una hoja de papel encima del sensor para evitar que la luz del aula modifique los valores del sensor de luz lo menos posible.
Una vez terminado el montaje, nuestro robot tiene este aspecto:
Primero calibramos el sensor de luz tomando datos de 3 posiciones antes de iniciar el controlador PID. Calibramos al caerse para hacia adelante y hacia atrás y por último calibramos en el punto de equilibrio.
Observamos que cada vez que calibramos da un valor distinto pero que no influye en en comportamiento del robot, funcionando a veces con valores muy dispares y cayéndose con valores iguales.
Después de programar el código y corregir bastantes errores, y de probar muchas muchas veces conseguimos dar un valor bastante aproximado al ideal de las constantes kp, kd,ki que quedaron con los valores: kp=15, kd=30, ki=1,1.
Con estos valores y una vez cogido el "truco" a las posiciones de calibración, conseguimos que el 60% de las veces funcione con unos resultados mas que aceptables.
Aquí vemos a CR7 en plana acción.
Después de mucho tiempo tenemos terminada la práctica. Nos ha costado lo suyo encontrar el valor de las variables así como los ángulos de calibración pero ya tenemos a CR7 listo para saltar a los terrenos de juego.