Tras mejorar el
VFF e incorporar el algoritmo al de la practica del circuito de
cheste. El robot ya es capaz
por si solo de completar una vuelta al circuito de
cheste, pero la pega es que tarda mucho, en su mejor vuelta el robot hizo un tiempo de
4 minutos 56 segundos.Estos tiempos dejaban bastante que desear, así que, tras meditar el problema llegué a la conclusión de que el algoritmo del
VFF es bastante apropiado cuando se quiere superar un obstáculo pero para navegar
fluidamente por el circuito habrá que desarrollar un algoritmo distinto al del
VFF.
- El primer algoritmo que se me ocurrió fue que el robot siguiera la pared de su izquierda en el sentido que le indicara la fuerza de atracción, y cuando se encontrara con algún obstáculo lo solventará mediante VFF para mas tarde volver a seguir la pared de la izquierda.
También el VFF se activará cuando el robot pierda la referencia de la pared izquierda, cosa que suele pasar cuando el robot se encuentra con curvas hacia la izquierda.
El resultado de este algoritmo fue todo un éxito, el robot acababa el circuito en 2 minutos y pocos segundos. Aunque aún los tiempos eran un poco malos.
Estos tiempos "altos" se debían a que cuando el robot perdía su referencia con la pared izquierda (generalmente en las curvas hacia la izquierda) se activaba el VFF por lo que se perdía tiempo.
- Tras meditar el nuevo problema, le di una vuelta mas de tuerca a la idea de seguir la pared y modifique el algoritmo anterior de forma que cuando perdiera la referencia de la pared de la izquierda siguiera la pared de la derecha hasta volver a encontrar la pared izquierda. De esta forma el VFF solo se activaría cuando tuviera que solventar un obstáculo.
El resultado de esta nueva idea fue que, como era de esperar, el VFF no se activaba tantas veces por lo que los tiempos bajaron a1 minuto 40 y pocos segundos.
Tras conseguir estos tiempo me centré en intentar mejorar el
VFF ya que solventaba obstáculos, pero lo hacía de una forma poco eficiente (a veces tenía un hueco muy grande a la derecha y decidía ir hacia la izquierda).
Así que pensé en otro nuevo algoritmo para solventar obstáculos de manera más eficiente y, si en última instancia, el robot se encuentra muy cerca de un obstáculo se activará el
VFF.
Por lo que la idea que tuve fue que cuando el robot se encontrará con un obstáculo buscará cual es el hueco mas grande que hay para seguir con su camino y avanzar hacia él.
Tras implementar mi nueva idea me di cuenta que cuanto más funcionalidades se le dan al robot mas difícil es hacer un gestor de estas funcionalidades. Había veces que ante un obstáculo se activaba el
VFF y otras no, o saltaban funcionalidades del robot que no quería que saltarán en ese momento.
Tras este inconveniente, decidí que lo mejor era hacer dos funcionalidades una para hacer la navegación fluida y otra para solventar obstáculos.
Por casualidad se me ocurrió probar mi nueva idea de buscar el hueco mas grande y avanzar hacia él como funcionalidad para hacer la navegación mas fluida. Cual fue mi sorpresa cuando vi que los tiempos habían bajado a
1 minuto y 18 , 19 segundos, y además el algoritmo
consumía mucho menos capacidad de procesamiento.
Por ultimo tras realizar algunas modificaciones en el
VFF para que fuera más seguro (
había veces que se chocaba con las esquinas) el robot completaba el circuito en
1 minuto y 23, 24 segundos de forma totalmente segura.
A continuación se muestran fotos y videos con el robot recorriendo el circuito.
Foto 1: Robot recorriendo el circuito sin obstaculos.
video 1: Robot recorriendo el circuito sin obstaculos
Para ver el video con mejor calidad pulsa aquiFoto 2: Robot recorriendo el circuito con obstaculos.
video 2: Robot recorriendo el circuito con obstaculos
Para ver el video con mejor calidad pulsa aqui