jueves, 20 de mayo de 2010

Navegación VFF - Cheste

Teoría navegación local


Esta práctica trata de poner en práctica lo aprendido en la teoría de navegación local, utilizando la técnica de campos de Potencial VFF.


La teoría en un principio se entiende bastante bien, los conceptos que hay que aplicar y como queremos transmitir al robot las ordenes de navegación son claros. Consiste en calcular la fuerza repulsiva que ejercen los obstáculos sobre nuestro robot, calcular la fuerza atractiva que ejerce el objetivo (destino) al robot, y haciendo la suma ponderada de estas dos fuerzas calcular la fuerza repulsiva.


Lo importante, lo complicado y lo que me ha llevado más tiempo del que en un principio estimé es traducir el vector fuerza resultante obtenido a órdenes para los motores basado en casos, es el hecho de intentar ir rápido sabiendo que la posibilidad de chocar crece.


A lo largo de la práctica me he encontrado con varios problemas, algunos provocados por el hecho de una mala planificación mía y otros simplemente por la dificultad inherente a la práctica. Si este blog es leído por alguien que tenga que hacer alguna práctica parecida o básicamente cualquier práctica hay una cosa que ha de tener en cuenta que le ahorrara mucho trabajo y horas perdidas en vano. ¡NO VALE LA PENA CAMBIAR VELOCIDADES Y VELOCIDADES ANGULARES DE FORMA INTUITIVA O EXPERIMENTAL! Así estuve mucho tiempo yo, cambiando v=1000 por v = 700, y situaciones similares...


Después de perder mucho tiempo, decidí replantear el problema, volver a pensarlo en vez de tirar lineas de código y casos que no llegaban a ninguna parte, calcular bien la fuerza repulsiva lo cual es más complicado de lo que parece a priori y conseguir un buen vector fuerza resultante se antoja determinante a la hora de ganar horas y conseguir unos resultados aceptables. Mi consejo es, quitando la velocidad al robot y utilizando la ayuda de poder arrastrar el robot por el circuito ir viendo como se pinta las fuerzas poco a poco.
Es decir:
1- Como se pintan los vectores si estoy lejos del objetivo y lejos de la pared
2- Como se pintan los vectores si estoy lejos del objetivo y cerca de la pared
3- Como se pintan los vectores si estoy cerca del objetivo y lejos de la pared
4- Como se pintan los vectores si estoy cerca del objetivo y cerca de la pared
5- Como se pintan los vectores si estoy de frente y muy muy cerca de la pared


Una vez comprobado que estos vectores se pintan como tu quieres, como a ti visualmente te parecen acertados, traducir estos a unas velocidades lineales y de giro apropiadas ya no es un factor tan experimental si no que se vuelve mucho más seguro y rápido de corregir.



Vídeo de los vectores.



Una vuelta sin obstáculos y otra con obstáculos.

No hay comentarios:

Publicar un comentario