¿Cómo hacer una "línea invisible que sigue al robot"?

10

Me gustaría construir un robot que siga una ruta virtual (no una ruta visible como una 'línea negra sobre una superficie blanca', etc.).

Estoy entusiasmado al ver algunos videos de ciencia ficción que muestran a los robots que transportan bienes y materiales en un lugar lleno de gente. Y realmente no siguen una línea física. Sienten obstáculos, profundidad, etc.

Me gustaría construir uno de esos robots que siga una ruta específica (virtual) desde el punto A hasta el B.

He intentado un par de cosas:

  1. Usando un sensor magnético de "efecto Hall" en el robot y corriente de transporte de alambre (debajo de la mesa). El problema aquí era que la proximidad del sensor de efecto hall es tan pequeña (<2 cm) que es muy difícil juzgar si el robot está en línea o no. Incluso usar series de imanes no podría resolver este problema, ya que mi mesa tiene 1 pulgada de grosor. Entonces esta idea fracasó: P

  2. Usando una pintura ultravioleta (en una línea) y usando leds UV en el robot como sensores. Esto dará más movimiento de Zig-Zag para el robot. Y debido a las amenazas potenciales de usar una fuente de luz UV, incluso esta idea fracasó: P

Finalmente pensé en tener una cámara encima y usar algoritmos de procesamiento de imágenes para ver si el robot está en la línea o divergiendo.

¿Hay alguna solución mejor que esta? Realmente buscando algunas soluciones creativas y simples. :)

Nitina
fuente
¿Está familiarizado con los sensores de sonda y SLAM y temas relacionados? A menudo, los robots no siguen una ruta predefinida y "detectan" los obstáculos mediante sensores como sonar, construyen un mapa y luego usan algoritmos de planificación de ruta para encontrar su camino.
Shahbaz
Gracias por la respuesta :) Sí, estoy familiarizado con los sensores ultrasónicos y sonares ... en realidad quiero un robot, mi robot se mueva del punto A al punto B en una ruta específica, y eso también en una mesa (3 pies por encima del a nivel del suelo) ... Y construir un mapa en este entorno es realmente algo complicado ... ¿Alguna sugerencia?
Nitin
44
Estaba a punto de responder esta pregunta, pero me di cuenta de que estás preguntando 2 cosas contradictorias. Por "línea invisible", se refiere a "una línea que no es visible a simple vista, por ejemplo, una línea definida por señales magnéticas o UV ", o se refiere a "una línea que existe virtualmente, dentro del robot, basada en a dónde quiere ir y los obstáculos que siente en el camino " Para decirlo de otra manera, ¿trazas la línea que debe seguir el robot o la dibuja el robot?
Ian
Hola, quiero un robot autónomo que navegue solo de un punto a otro. Para hacer eso necesita una línea o ruta de referencia. Un robot seguidor de línea es la solución más simple, pero estoy buscando una solución avanzada y robusta. Y eso podría ser algo así como una línea que no es visible a simple vista o una línea virtual creada por el robot. El robot no dibuja la línea, solo sigue. para decirlo de otra manera, la línea (virtual) está definida por mí. Por lo menos, el "procesamiento de imágenes" podría ser una solución si algo más no funciona. Pero estoy buscando algunas soluciones simples :)
Nitin
@nitin, tal vez debería evitar el uso de términos como "navegar por sí mismo", porque eso significa automáticamente que la ruta no está definida y se deja al robot para que la encuentre. Lo que quiere parece ser un robot que siga la línea y carezca de la capacidad de encontrar su propio camino si no recibe instrucciones.
Shahbaz

Respuestas:

3

Hay muchas formas posibles de abordar este problema, y ​​todas dependen del material disponible y de la experiencia del fabricante del robot.

En resumen, el criterio es que:

  1. El robot debe ir del punto A al B siguiendo una ruta predefinida.
  2. El camino tomado no debe seguir una línea visible para el ojo humano.

Dependiendo de la longitud del camino, usar codificadores podría ser suficiente. Sin embargo, debe tenerse en cuenta que debido a la inexactitud física, la deriva hace que la odometría (lo que llamamos usar codificadores para medir la distancia) no sea práctica para largas distancias. Sin embargo, esto es fácil para distancias cortas, y al menos debe considerarse.

Si la distancia es demasiado larga solo para la odometría, uno debería considerar usar algún sensor para medir giros (por ejemplo, un giroscopio o una brújula ). Los giros tienden a introducir la mayor cantidad de errores en odometría (medir a lo largo de una línea recta no tiene demasiado error), por lo que usar un sensor para giros a veces puede hacer que la odometría sea una solución viable.

Si la odometría u odometría + giro detectado no funciona, entonces podemos ser creativos. Si desea que el robot siga una ruta compuesta principalmente por segmentos rectos, puede colocar LED IR en "puntos de referencia" dados en la tabla y hacer que el robot detecte esos LED y conduzca hacia cada punto de referencia en serie.

Sin embargo, eso todavía deja algunas marcas visuales en la mesa (aunque podría disfrazarse hasta cierto punto), y sería genial poder hacerlo sin eso. Otro enfoque sería utilizar punteros láser que brillen paralelos a la superficie de la mesa, pero a unas pocas pulgadas por encima de la mesa. El robot podría usar un fotorresistor para detectar cuándo cruza un láser, y esto podría hacerle saber cuándo girar.

En general, creo que la odometría aumentada con un sensor de ángulo es probablemente la mejor opción para su robot, al menos con la forma en que lo ha descrito. Puedo pensar en más opciones, pero eso es todo lo que veo en este momento.

Solo curiosidad: ¿por qué quieres que la línea sea invisible? Saber por qué podría abrir algunas posibilidades más.

Apnorton
fuente
Muchas gracias @anorton :) :) "Odometría" + "sensores como giroscopio o brújula": - Ojo de buey;) Estoy seguro, esto definitivamente va a entrenar. Y en comparación con las técnicas de procesamiento de imágenes, esto parece bastante fácil. Sí, tengo la solución, gracias :) Lo actualizaré con el progreso del proyecto y otros desafíos que enfrenta.
Nitin
Por cierto, el objetivo de hacer invisible la línea era: "Una línea negra en la superficie y un robot siguiendo la línea" ahora es solo un tema básico de enseñanza de robótica. Y descubrí que a nivel industrial, no se aprecia. Las personas necesitan un robot altamente sofisticado e inteligente para hacer su trabajo. Así que estaba trabajando en este proyecto para construir un robot con mayor estabilidad y robustez. Un robot que no es fácilmente pirateable. Para decirlo de otra manera, una persona común no debería conocer la tecnología detrás del robot :)
Nitin
2

Anki usa sensores ópticos en sus autos de juguete para implementar seguidores de línea. Los sensores ópticos son sensibles en el rango IR. El hecho de que las líneas no se pueden ver se explica fácilmente: las líneas están recubiertas con un color negro que es transparente en el rango IR. Paliogen black L 86 o Paliogen black S 84 de BASF son estos colores. Si coloca códigos de barras a lo largo de las líneas, incluso puede obtener información de posicionamiento absoluto de los sensores ópticos.

usuario1225999
fuente
0

Tengo una respuesta corta para tu pregunta. Esto es solo para un robot habilitado para ROS. Hay muchas formas de hacer esto, pero así es como lo he hecho. Usé ROS y Kuka Youbot. Podría ser cualquier robot que use ROS. Es muy útil conocer ROS si planea estar en robótica.

Use ROS Luego use GMapping para mapear su entorno. Ejemplo de habitación o pasillo y guardar el mapa. Luego, usando RVIZ, indique la posición del objetivo en el mapa.

Yathartha Tuladhar
fuente
0

Bueno, no necesitas ninguna línea para el caso. Lo único que probablemente necesitará son coordenadas globales. Si puede colocar su robot en un campo definido por coordenadas globales y aplicar reglas simples de física newtoniana, el robot puede ir de un punto a otro. Según su ubicación actual, descubrirá el ángulo de dirección actual, el ángulo de dirección deseado y las coordenadas de la meta (también conocido como "pose"). Una vez que proporcione velocidad al robot, comenzará a moverse hacia las coordenadas del objetivo. En cada iteración, volverá a calcular su pose y hará ajustes cuando sea necesario.

Lenin Mishra
fuente