Para todo aquél que haya hecho un proyecto sobre robótica, en el que se requiera un mínimo de estabilidad en el proceso, linealidad y el mínimo error posible, sabrá que no es una tarea fácil.
Como ya se ha hablado incontables veces en el blog, un PID es una solución evidente ante este problema, pero presenta un complejo de ajuste e implementación en nuestros códigos, que por suerte se suple con las numerosas librerías ya preparadas para estas tareas en nuestros entornos favoritos (Arduino, MBED, Maple...).
Recientemente he estado trabajando en un robot seguidor de lineas, en el cual he llegado a implementar el PID, todo para mi proyecto de final de curso y el resultado(sobre el cual hablaremos en otra ocasión), ha sido excelente, una mezcla explosiva entre eficiencia y velocidad.
En esta ocasión os mostraremos varios recursos para intentar comprender, ajustar y optimizar este excelente algoritmo!
En primer lugar, nos interesa saber que es un PID o proporcional integral derivativo, según wikipedia:
"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 problema, es que con una simple definición no alcanzamos la extensión y complejidad del asunto, por lo cual es recomendable ver un ejemplo (y no uno, si no varios!):
-Control de marcha usando un PID
-Librería + ejemplos de PID con MBED (mi favorito)
-Librería + ejemplos de PID con Arduino
-Control de velocidad de un motor (inglés PDF)
-Teoría del PID con ejemplos muy gráficos
Y además os dejo una página dedicada 100% al control PID, tuning, filtros, aplicaciones... Que sin lugar a duda ha sido mi recurso mas completo:
-Control Guru (El PID está en el capítulo II)
Un vídeo en castellano demostrando el control de la posición de un motor con un PID:
Y por último, mi consejo, puesto que lo he aprendido desde 0 y sin conocimientos previos de control, la mejor idea es experimentar si tenéis un Arduino o un MBED (disponibles en nuestra tienda), probar el proceso con y sin PID, notaréis que la cosa cambia mucho. Probad también diferentes tipos de ajustes de las 3 constantes, usando alguno de los métodos que explican en Controlguru.
Recuerda visitar también nuestra tienda, donde puedes encontrar los elementos mencionados, que serán, una excelente forma de trabajar con PID, entenderlo y aplicarlo perfectamente a cualquier proyecto.
Un saludo a todos los Geeks de la comunidad, después de un tiempo muerto por mi parte!
En la tienda: