Descripción general de los algoritmos de aprendizaje automático profundo para robots

La revisión será útil para aquellos que participan en robots físicos y para quienes el arduino no es suficiente, así como para las personas que deseen implementar cualquiera de las funciones de percibir el mundo exterior en sus robots o dispositivos.
Misty Robot de Misty Robotics en CES
Misty Robot de Misty Robotics en CES

Dependiendo del propósito del robot, necesita resolver varios problemas. Sucede que un controlador y, por ejemplo, los sensores más simples son suficientes para resolverlos. Sin embargo, a veces es necesario que el robot pueda realizar tareas no de acuerdo con las coordenadas codificadas, sino dependiendo del estado del espacio circundante o del área de trabajo. Luego se hace necesario usar sensores más complejos, como cámaras o lidares, y usar algoritmos especiales para procesar la información entrante.

Visión y comprensión


Ver y comprender lo que se ve es la primera función que puede venir a la mente.

Detección de objetos


Le permite encontrar objetos de tipos específicos en el campo de visión.

Ejemplo de algoritmo

Ejemplo de trabajo

Video


Seguimiento de objetos


Le permite seguir el movimiento de un objeto u objetos en el campo de visión.

Ejemplo de algoritmo

Ejemplo de trabajo

Video


Segmentación


Le permite determinar píxel por píxel el contenido del campo de visión.

Ejemplo de algoritmo

Ejemplo de trabajo

Video


Evaluación de profundidad


Le permite identificar obstáculos en el camino y la distancia a ellos utilizando la visión por computadora.

Ejemplo de operación de algoritmo

Ejemplo de trabajo

Un algoritmo de ejemplo para una cámara convencional.
Algoritmo de ejemplo para una cámara estéreo

Si las condiciones de trabajo de su robot le permiten usar cámaras de profundidad con iluminación IR activa, por ejemplo, como Intel Realsense, puede usar el SDK patentado .

Animación


Movimiento y toma de decisiones.


La mayoría de los robots físicos, ya sea un manipulador, un robot móvil o cualquier otra cosa, necesitan moverse de alguna manera en el espacio. Y a veces, en el proceso de estos movimientos, especialmente si las condiciones o el entorno de funcionamiento pueden cambiar significativamente, el robot necesita cambiar la trayectoria y la velocidad del movimiento.

Orientación espacial


Le permite determinar las coordenadas de la ubicación del robot en el espacio, incluidos los edificios interiores.

Ejemplo de algoritmo

Ejemplo de trabajo

Video


Tomar decisiones al mudarse


Permite al robot móvil tomar decisiones sobre las maniobras necesarias para optimizar la trayectoria del movimiento en un entorno dinámico. El algoritmo usa aprendizaje de refuerzo .

Ejemplo de algoritmo

Animación


Captura y manipula objetos


Permite que el brazo robótico tome decisiones sobre las acciones necesarias necesarias para capturar objetos de varias formas. El algoritmo también utiliza el aprendizaje por refuerzo.

Ejemplo de algoritmo

Ejemplo de trabajo

Video


Características de implementación para robots


Rendimiento


Los algoritmos descritos en este artículo son computacionalmente voraces y la mayoría de las veces requieren una GPU. Por lo tanto, dependiendo de los requisitos para las condiciones de funcionamiento del robot, el desarrollador debe elegir una opción de diseño y optimizar el código.

Posibles opciones:

  • computación en una PC personal dedicada
  • computación en la nube
  • cálculos a bordo

La elección realizada determinará sus requisitos tanto para la optimización del equipo como del algoritmo.

Interacción


Un algoritmo para resolver un problema a menudo no es suficiente. Por lo tanto, al usar algoritmos en robots, los desarrolladores tendrán que enfrentar la tarea de integración, es decir Es necesario asegurar la interacción con otros algoritmos y software.

En lugar de salida


Al trabajar en una empresa que desarrolla software para robots, a menudo hay que lidiar con varios robots y algoritmos, así como encontrar nuevos enfoques para resolver problemas complejos. Noté que recientemente ha habido un aumento en el interés en las funciones relacionadas con la seguridad y la posibilidad de operación autónoma de los mecanismos, especialmente en las inmediaciones de las personas.

La revisión presentada contiene una lista lejos de exhaustiva de tareas y algoritmos. Como ejemplos, el autor selecciona un algoritmo. También tenga en cuenta que cualquiera de las tareas presentadas se puede resolver de muchas otras maneras y / o utilizando otros algoritmos. Si tienes a mano otros ejemplos de tareas con algoritmos, déjalo en los comentarios.

PD: Para el postre: un hermoso video del "debajo del cielo" con un robot con ruedas y un sistema de toma de decisiones a bordo

Video

Source: https://habr.com/ru/post/es435968/


All Articles