La Cenicienta de LEGO: la máquina Raspberry Pi con inteligencia artificial clasifica las piezas por ti



El constructor LEGO se usa a menudo para crear la caja de algún mecanismo con un motor en "frambuesas". Muy a menudo, este tándem se utiliza en varios robots, drones y vehículos todo terreno. El entusiasta Daniel West tomó el camino inverso y creó una máquina con Raspberry Pi y LEGO para clasificar automáticamente las partes de este conjunto. Basado naturalmente en la inteligencia artificial. Sin IA, es probable que las planchas no funcionen pronto.



Debajo del corte: una descripción del mecanismo del clasificador, así como algunos proyectos más interesantes basados ​​en "frambuesas".



Curiosamente, ¡la máquina clasificadora en sí está hecha de 10,000 bloques LEGO! Tomó ... dos años crearlo.





Este coche es una verdadera Cenicienta de LEGO. Es capaz de clasificar cualquier parte del constructor en uno de los 18 contenedores a una velocidad de "un cubo en dos segundos". Además, el clasificador puede reconocer todos los ladrillos LEGO que se hayan creado, incluidos los que aún no ha encontrado. Esta versatilidad distingue al sistema de las máquinas creadas anteriormente para un propósito similar.



Que hay debajo del capó





La máquina funciona con el siguiente hardware:



  • Raspberry Pi 3 Modelo B +
  • Módulo de cámara Raspberry Pi V2;
  • 9 motores (controlados a través de un servo multiplexor que se comunica con la Raspberry Pi a través de I 2C );
  • 6 motores LEGO (motores eléctricos L298N controlados por controlador que utilizan puertos de E / S digitales en la Raspberry Pi).


Como ya se mencionó, el clasificador se basa en algoritmos de inteligencia artificial. En general, una red neuronal convolucional bastante clásica que se utiliza para clasificar imágenes. Ya hemos descrito en el blog de Habré cómo esto ayuda a los científicos en su trabajo.



Entrenamiento de redes neuronales



Daniel West entrenó su red neuronal utilizando imágenes de modelos 3D de ladrillos LEGO. Al mismo tiempo, el desarrollador enfrentó el problema de la falta de datos para entrenar la red neuronal. Las imágenes de calidad real no eran suficientes y las imágenes sintéticas no daban resultados correctos. Al final, solo una combinación de imágenes sintéticas y reales ayudó a lograr el éxito. La red neuronal pudo reconocer los ladrillos LEGO con alta precisión, incluso si no había interactuado previamente con ellos.



Por cierto, para recopilar datos, el entusiasta dejó el automóvil para pasar las piezas por el escáner durante varios días. Como resultado, reuní un conjunto de datos de aproximadamente 300.000 imágenes LEGO sin marcar para el procesamiento de IA. Daniel habló con más detalle sobre el trabajo de la IA y su entrenamiento en un video muy visual separado. y describió el proceso en el texto .



Solo una fracción de las 300.000 imágenes que recibió el desarrollador.



Como software, el entusiasta utilizó Blender, un software de código abierto para crear gráficos por computadora en 3D, y Tensor Flow, una biblioteca de software de aprendizaje automático de código abierto de Google. También fue ayudado en su trabajo por la comunidad de creadores del constructor LEGO - Rebrickable.



Corre, detalle, corre



El desarrollo es una verdadera máquina transportadora en miniatura. La masa de las piezas se alimenta a través del transportador de orugas al denominado "cubo de entrada". Aquí las piezas van una tras otra, de modo que estrictamente se envía un bloque LEGO para "identificación".





El orden se logra mediante una plataforma vibratoria que funciona con un motor LEGO. Al vibrar, la plataforma distribuye las piezas, asegurándose de que no se superponen y van a escanear una a una.



El módulo de cámara Raspberry Pi captura video de cada bloque, que procesa la Raspberry Pi 3 Modelo B + y lo envía de forma inalámbrica a una computadora más potente, donde opera una red neuronal, clasificando las partes. Los datos procesados ​​por la red neuronal se envían de vuelta a la máquina de clasificación para que pueda empujar la pieza a uno de los 18 contenedores utilizando una serie de puertas de enlace autónomas.



Hasta ahora, el proyecto es más adecuado bajo el título "No intentes esto en casa", porque el autor ha hecho un gran trabajo.para el entrenamiento de IA. Pero, ves, la cosa es interesante.



Raspberry Pi en acción



Y aquí hay algunos proyectos interesantes más recientes con la participación de "Malinka".



Escáner de película RoboScan





Trabajar con películas es cada vez más difícil debido a la brecha cada vez mayor entre las tecnologías. Un proyecto llamado RocoScan utiliza una Raspberry Pi con una cámara SLR digital. El dispositivo no solo escanea la imagen de la película antigua, sino que también automatiza el proceso de grabación de imágenes en una carpeta separada.



Caja de servidor estilo Minecraft





¡Este brillante y familiar bloque de mineral de Minecraft es en realidad un servidor de Minecraft! En el interior hay una Raspberry Pi 4 junto con un SSD de 128 GB que ejecuta Paper MC SMP. ¡La belleza!



Cortador de corteza





¡El dispositivo que nos merecemos! Si eres fanático de los sándwiches perfectos, sabes que no hay lugar para costras tostadas y crujientes. Esta máquina sobre "malinka" excluirá de su vida la rutina de deshacerse de las imperfecciones de los emparedados.



Gallinero automatizado





Obviamente, esto puede usarse no solo para gallineros. Pero un entusiasta ha automatizado la apertura y el cierre de las puertas del gallinero para proteger su granja por la noche. Se basa en una Raspberry Pi y varios temporizadores que inician la apertura y cierre de puertas por la mañana y por la noche. ¿Tu gallinero funciona con pitón?



¿Tienes un proyecto favorito sobre Malinka? ¡Comparte en los comentarios!






All Articles