Práctica 2: Obstacle Avoidance

Descripción

  • Lo que queremos conseguir con esta práctica es hacer que un coche sea capaz de completar una vuelta al circuito esquivando todos los obstáculos.

Sistema

  • Para realizar esta practica solo haremos usa del mapa y el láser.
  • El funcionamiento principal del coche es: Avanzo hasta el target, lo elimino y fijo mi siguiente target. Por el camino voy esquivando obstáculos.

Hardware

  • Como actuadores tendremos las ruedas del coche las cuales podrán moverse de forma lineal y angular.
  • Como sensores disponemos de dos: Un láser LIDAR 180º para saber la distancia con todas las paredes y obstáculos del circuito.

Software

Como ya he nombrado anteriormente, disponemos del mapa donde tendremos que seguir los siguientes pasos:

Fuerza atractiva

  • En nuestro mapa tendremos diferentes target por los cuales iremos pasando uno a uno. Para empezar lo que haremos es que la orientación del coche sea dirija hacia el target por lo que usaremos la posición del robot y del target para calcular la mínima distancia hacia ella que será una linea recta. Con esto conseguiremos la fuerza atractiva hacia el primer target.

Fuerza de repulsión

  • La fuerza de repulsión es la que se produce al detectar el láser un obstáculo cercano y esta se dirigirá en dirección contraria al obstáculo.
  • Esta fuerza lo que hará es modificar nuestra dirección para indicarnos que nos estamos acercando a un obstáculo. Cuanto mas cerca estemos mayor sera esta fuerza.

Fuerza resultante

  • Es tan simple como realizar una media entre la fuerza atractiva y la fuerza de repulsión. Con ello lo que conseguiremos es que nuestro coche este pendiente de las dos e intente corregir ambas para así poder llegar a su destino sin chocarse con nada.

Conclusiones

  • Este algoritmo es bastante útil para el tema de navegación sin fijar una ruta. El coche simplemente va avanzando siguiendo la distancia mínima (linea recta) y adaptándose a las circunstancias que en este caso serian las paredes y diferentes obstáculos.
  • Uno de los detalles que tuve que tener en cuenta es que el siguiente goal puede estar muy lejano y en una dirección muy mala y al equilibrar fuerzas el coche se acababa chocando con un obstáculo. Limitando cuanto puede hacer que gire el coche en función de su fuerza de atracción me ayudo a solucionarlo.

Referencias

--

--

Juan Carlos Manzanares Serrano
PRÁCTICAS ROBÓTICA MÓVIL

Estudiante de Ingeniería de Robótica Software en la Universidad Rey Juan Carlos.