(práctica 3 - Radar)
Página de la documentación de la práctica de Introducción a la robótica
Enlaces InicioConfiguración entorno de Trabajo Práctica 0 (Hello World) Práctica 1 (Bump & Go!) | ENUNCIADO En esta práctica, se deberá de modificar el diseño del robot para que el sensor de ultrasonidos pueda abarcar un rango de 180º para ir haciendo barridos, así simular el mecanismo de un radar y detectar los posibles objetos que hay en su entorno. Una vez tengamos la información del radar, el robot deberá navegar sin chocar con ningún objeto, huyendo de los obstáculos. SOLUCIÓN La navegación que va a seguir el robot, es la navegación reactiva, utilizando vectores de fuerza. Esta navegación está compuesto por 4 pasos:
Para poder implementar todo esto, hemos creado un objeto que se llama Vector que contiene el módulo y el ángulo. Otro objeto que es Radar que realiza las funciones del Radar y mueve al robot según un vector. Como primera fase, tuvimos que implementar el método "newScan()" que iba haciendo barridos y mostrando por pantalla lo detectado: Según se ve en el vídeo, la fase se ha conseguido con éxito, recogiendo bien los valores de las distancias y metiendolos en el array La segunda fase, fue hacer los calculos de los vectores y mover al robot. Al realizar esta fase, cambiamos todo el diseño del robot para que el radar sea más estable. Para calcular la fueza repulsiva, hemos implementado el metodo "radar.calculaVFF" que devuelve la fuerza repulsiva y para mover el robot "radar.mueveRobot()". Hemos comprobado, que los calculos de la fuerza repulsiva y la fuerza atractiva son correctos, también los valores que se dan para mover las ruedas, pero tenemos un fallo de diseño en el robot, los problemas que nos encontramos son estos:
CÓDIGO FUENTE |
