La idea en este caso es que dadas n medidas tomadas por el radar veremos si hay obstáculo o no, en caso de que lo haya este generara una fuerza virtual que será un vector con origen el obstaculo y con la direccion de la recta que une el obstaculo con el robot. Su modulo se calcula como inversamente proporcional a la distancia entre el robot y el obstaculo.
Con esto tenemos un vector resultante "negativo" es decir que apunta hacia atras segun la perspectiva de nuestro robot, para evitar esto le sumamos un vector en direccion al destino que queremos alcanzar. Si seguimos este vector con el robot el comportamiento sera tal que vamos hacia nuestro destino evitando los obstaculos que nos encontramos en el camino.

En la figura se ven en rojo los obstáculos, en verde el vector que apunta al destino actual, el vector rojo es el resultante de sumar las fuerzas repulsivas de los obstáculos y el vector amarillo es el resultante de la suma de los últimos dos, el robot seguiría finalmente la dirección en la que apunta el vector amarillo.
Una consideración que hay que tener es que mientras que las mediciones que obtenemos con el radar los vectores resultantes se obtienen en cartesianas, una vez obtenidos nuestros vectores tenemos que darle a los motores angulo y desplazamiento, es decir coordenadas polares de nuevo.
Para pasar de cartesianas a polares utilizamos:

Esto nos devuelve angulos en el rango

, por lo que para convertirlos a ángulos de motor hay que restarle 90 grados.

El Código del Radar

El Código del Navegador