Avtorobota Lógica de visión artificial para el control de la transmisión

A.Zhukovsky, S.Usilin, V.Postnikov h6> Hoy queremos hablar sobre el nuevo proyecto, que se inició hace poco más de un año en el departamento de "tecnologías cognitivas" MIPT.

Consiste en la creación de un sistema de visión artificial, el robot - el vehículo (. Fig 1 ), que es un flujo de vídeo en tiempo real debe procesar para reconocer la escena circundante para detectar objetos y generar la variable manipulada, dirigida a la solución del problema.




Figura. 1 h6> Aquí no estamos tratando de recrear las condiciones reales de la escena de carreteras, eliminando todo el encanto de un modelado de tamaño pequeño.

Para empezar, ejemplos simples, nos gustaría trabajar en los componentes básicos de la arquitectura del sistema (base que recibe el flujo de video y procesamiento distribuido en una combinación de mini-ordenadores y cámaras de vídeo, como el prototipo de sistema-en-un-chip (SoC)), potencialmente útiles para la solución de problemas más complejos.

LE enseñado el robot para moverse a lo largo del corredor y para detectar objetos simples, como un cono de tráfico de naranja. El reto era que podía conducir hasta el objeto y se detendrá. Y entonces decidió jugar con la pelota. En la versión actual, si la pelota está en el campo de la cámara de vista, el robot detecta la bola acelera y empuja su parachoques. Si el balón sale del campo de visión de la cámara, el robot comienza a buscarlo.


Video Rodado durante un informe sobre la conferencia de otoño de los jóvenes científicos MIPT,
justo en el pasillo del edificio principal h6> Ahora nos enseñan el robot a pasar "serpiente" en el momento. Este ejercicio permite evaluar el sistema de gestión de calidad y su evolución desde una versión a otra. Y comparar con la calidad del control manual con la persona.

Inicialmente, nuestro robot contenía sólo el control de la computadora, la cámara y, de hecho, el chasis. Este modelo es un vehículo utilitario deportivo Traxxas Slash en 2wd hecho en 1:10. ( Fig. 2 , Fig. 3 )



Figura. 2 Traxxas Slash en 2wd h6> chasis del controlador se realiza con base en la nano Arduino, pero en realidad sólo se utiliza un microcontrolador ATmega32.

Un poco más tarde, hemos añadido un sonar diagrama frontal para controlar la distancia hasta el obstáculo - en pocas palabras, el robot no ha peleado en las esquinas de los paragolpes y las paredes.




Figura. 3 Traxxas Slash en 2WD h6> Si la primera versión del robot para transmitir vídeo a través de HTTP atrás y señales de control de generación realizada en el escritorio, a continuación, en la versión actual 2.0 (que se muestra en el vídeo) de todo el ciclo se cierra a bordo, con la carga principal cayó en el procesamiento de vídeo en minicomputadora U2 ODROID. ( Fig. 4 -1 )

Además de equipo de cómputo en la versión 2.0 incluyen:

  • la unidad de control del robot (Figura 4, -2.);
  • Cámara de video de Logitech HD Pro C920 / Genius WideCam 1050 (se puede utilizar cámaras web en prácticamente arbitraria) (Fig 4, 3.); ASUS
  • Wi-Fi-adaptador USB-N10 (Figura 4, -4.);
  • USB-cubo (Fig. 4 -5)
  • sonar LV -MAXSONAR-EZ2 (Fig. 4 -6)



    Figura. 4 h6> para el dispositivo cuenta con un control de robot incluyen:

    1. equipo Team Manager Implementación
    2. la formación de Gobernadores de la señal PWM,
  • Gestión de la carga externa (7 canales);
señales de procesamiento de sensores < /:
sonares (8 canales), El sensor Hall, sensor de voltaje de la batería (ADC); robot protección parada de emergencia en el sonar frontal, señal de control de detención se pierde.


Figura. 5 Esquema del robot h6> Ahora recogemos la tercera versión. En su sistema de captura de vídeo incluirá dos cámaras profesionales ya IDS, la señal de vídeo desde la que (incluyendo la detección de objetos) serán objeto de tratamiento en minicomputadoras separadas, a su vez, conectado a una minicomputadora central de producción el reconocimiento escena final y el desarrollo de las acciones de control.

También está previsto poner varios sonares en el perímetro del robot para representar con más detalle el entorno para resolver los problemas de aparcamiento.

Además planeado un buen montón de mejoras, por ejemplo, queremos colgar en el equipo ligero robot, como un coche real, que de los detalles impreso en la impresora 3D. Es necesario para simular el movimiento del vehículo en frente para apoyar a una cierta distancia (en el caso del movimiento en el tráfico pesado o atasco de tráfico).

La primera digresión I> h6> Por cierto, si usted hace algo por el estilo, de inmediato advierte contra el uso de homólogos chinos -. La primera versión del controlador del motor se ha definido en ella, lo que resultó en unas semanas la búsqueda de las causas del comportamiento extraño del motor - resultó que el microcontrolador de la "analógica" cerrado el tiempo, algunas de las entradas a las salidas. Tal vez sea porque tuvimos suerte, pero se observaron con el Arduino original de este tipo de problemas.

La segunda digresión. I> h6> Antes de crear el chasis del controlador, parece que no se sabe cómo y qué gestionar. La falta de documentación oficial sobre las señales de control de los componentes del chasis dio ocasión para recordar en los laboratorios de física y jugar con el osciloscopio. Al final resultó que utiliza la modulación por ancho de pulso. En general, nada complicado.

Tercera digresión. I> h6> En algún lugar en el intervalo entre la detección del problema y recoger el nuevo controlador se decidió a abandonar la placa de circuito, que fue montado el primer controlador, y por lo tanto de la naftalina era tomado "del hierro-impresora" método de diseño de PCB. El resultado fue muy limpio y fresco.

Algoritmo para el comportamiento del robot persiguiendo una pelota representado esquemáticamente en la figura siguiente. Parece incomprensible nada en él. ¿Es necesario decir algunas palabras sobre el algoritmo de inversión. Esta prueba de la situación cuando el balón sale del campo de visión del robot. De hecho, existe sólo cuatro posible convertir: derecho adelante, izquierdo frontal, posterior derecho y lateral izquierdo. El robot recuerda donde vio la pelota por última vez y se convierte en esta dirección por analogía completa con el jugador, de un campo de visión que le falta la pelota. Él tiende a girar en la dirección donde la pelota voló.



Para inversión, aplicamos la "estrella" algoritmo: unidad, por ejemplo, primero hacia la derecha y hacia adelante, y luego de nuevo a la izquierda y la recepción de un arco convexo tal hacia el punto central común. Esta maniobra, recuerda a su vez en un espacio limitado, conocido por muchos por el examen de la policía de tráfico ( Fig. 6 ).




Figura. 6 h6> Si hay un punto muerto relacionado con el hecho de que el robot se ha quedado atascado, por ejemplo, atrapado en la pata de una silla, la gestión de programa identifica esta situación debido a las discrepancias velocidad del motor y el ángulo de rotación de las ruedas. En este caso, el robot intenta realizar una copia, para hacer una maniobra de "estrella" y continuar hacia la meta.



Cuarto digresión. I> h6> Cuando nos estábamos preparando para la conferencia de jóvenes científicos MIPT, luego de obtener la percepción del espectador se incrementó parámetro akkseleratsii. Como resultado, el robot se hizo más lindan los obstáculos, como el esquema de detección de casos de "jam" ha dejado de funcionar correctamente - deslizamiento de las ruedas de acero. Además, a alta velocidad el robot ser cada vez más sobreimpulso la bola (como se muestra en el primer video). Así que tuvimos que resolver el problema del equilibrio óptimo entre la velocidad de procesamiento de la secuencia de vídeo, el movimiento del robot y tomar una decisión. En términos de complejidad, se recordó el problema de la adicción al viejo coche de fabricación soviética con un manual, tipo "Moskvich" o "Lada" cada uno de los cuales estaba en - su embrague ajustado y el encendido. Quién experimentado esto, se da cuenta de que se necesita algo de tiempo para adaptarse a coger el equilibrio entre el embrague y el pedal del acelerador hasta el coche aceleró suavemente.




Figura. 7 Algoritmo para el comportamiento del robot persiguiendo una bola h6> La tercera versión del robot (que es casi completa), que pasó a usar la cámara "profesional" de vídeo y la lente.




Figura. 8 h6> En experimentos paralelos que llevan a cabo la instalación de cámaras en los carriles que están montados sobre rieles coche de tamaño completo ( Fig. 8 ). Esto reproducirá la geometría real y las condiciones de la escena carretera.

Obtenga más información sobre la nueva versión del robot, tenemos la intención de contar en el próximo artículo.



Fuente: habrahabr.ru/company/cognitive/blog/226417/