lunes, 4 de abril de 2016

Empezando a construir el controlador PID

Después de tomar la decisión de optar por la base del controlador en calcular varios centroides de la imagen, nada más que hay que ponerse manos a la obra.

Se han calculado 4 centroides de 4 zonas de la imagen adyacentes unas con las otras:

Desde el principio de la imagen hasta el 60% del alto de la imagen. Desde el 60% hasta el 70% de la imagen, del 70% al 80% de la imagen y del 80% de la imagen al final de ésta.

Hay que decir, que únicamente se calculan los centroides de la carretera principal que se sigue, es decir, la de mayor área, que cuando el robot la está siguiendo es la que tiene a sus pies.

A partir de los centroides, nos quedamos con su posición en el ancho de la imagen, y se realiza una media ponderada con pesos, donde se premia la posición más cercana al robot; y se penaliza la más lejana, la parte de la carretera que está más cerca del horizonte.

A partir del centroide general, se calcula el error, que es la referencia menos el centroide genral. La referencia se ha puesto como mitad de la imagen, es decir 320 ya que el ancho de la imagen es de 640.

Únicamente se ha calculado la parte proporcional del controlador, que está en función del giro máximo que se quiere dar y de la referencia y de un factor que es el que se va a modificar. Todo esto se multiplica del error obtenido.

En el siguiente video se puede ver el recorrido del robot con una velocidad constante de 0.3, dónde únicamente está el giro en función del controlador P. Es la primera prueba realizada dónde el robot da la vuelta completa por primera vez.



Como se puede ver en el vídeo. hay un momento dónde el robot se pierde aunque se recupera instantáneamente. Por lo demás se puede ver que en general el robot no oscila mucho salvo después de alguna curva.

El tiempo de recorrido del robot es de 8 minutos aproximado, es un tiempo muy (pero que muy) alto, que se ajustará con un controlador en un futuro. Hay que tener en cuenta que el robot a recorrido el circuito a menos de un tercio de su velocidad, por lo que construyendo el controlador de velocidad se espera disminuir en gran cantidad esa velocidad sin afectar al giro.

También, como siguiente paso se realizará la componente D (derivativa) del controlador para el giro y evitar las oscilaciones que en ocasiones se producen y mejorar el controlador del robot.

Seguimos trabajando.


No hay comentarios:

Publicar un comentario