SigueLínea V2

En esta nueva versión hemos mejorado bastante  el funcionamiento de nuestro robot con respecto a la primera. Concretamente, hemos creado un navegacion.c completamente nuevo…

Para construirlo, en esta ocasión (y a petición del profe 😉 ), no hemos utilizado estados finitos, sino que hemos programado un par de controladores PD para que controlen el valor de la velocidad (v) y el giro (w).

Dichos controladores van calculando el error que existe entre lo esperado y lo realizado y modificando los valores de v y w en consecuencia.

En concreto, el error que hemos considerado es la distancia (en píxeles) entre el centro de la línea roja y la mitad de la imagen (píxel 120), todo ello medido en la última línea de la imagen capturada por la cámara.

Dicho error modifica el compartamiento del robot, afectando tanto a la velocidad como al giro, de forma que si es muy grande, el giro aumente considerablemente y la velocidad disminuya, y si el error es pequeño (porque estamos muy cerca de la línea roja) giramos menos y avanzamos más rápido, controlando que según nos acercamos al objetivo se suavicen los movimientos.

Igualmente controlamos que si ha perdido de vista la línea (porque la curva es pronunciada) se pare y siga girando (mantenemos la w anterior).

Resultado: Tras ajustar las constantes de los controladores PD hemos conseguido avanzar más rápido y con movimientos más suaves (se acabaron los zig-zags!!). En el siguiente vídeo podéis comprobarlo:

Si os fijáis, en la parte inferior se muestran los valores que van tomando la v (velocidad) y la w (el giro). En las rectas va muy estable, alcanzando normalmente la velocidad máxima (v=1000)…

Ahh y da una vuelta completa en 110 segundos!!

NOTA: el vídeo va un poco lento por las características de mi equipo.

Anuncios

2 pensamientos en “SigueLínea V2

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s