Tabla de contenido:

Procesador Raspberry PI Vision (SpartaCam): 8 pasos (con imágenes)
Procesador Raspberry PI Vision (SpartaCam): 8 pasos (con imágenes)

Video: Procesador Raspberry PI Vision (SpartaCam): 8 pasos (con imágenes)

Video: Procesador Raspberry PI Vision (SpartaCam): 8 pasos (con imágenes)
Video: ADMINISTRACION DE REDES - INSTALACIÓN DE LINUX _ DISTRIBUCIÓN DE UBUNTU 2024, Mes de julio
Anonim
Procesador Raspberry PI Vision (SpartaCam)
Procesador Raspberry PI Vision (SpartaCam)
Procesador Raspberry PI Vision (SpartaCam)
Procesador Raspberry PI Vision (SpartaCam)

Un sistema de procesador de visión Raspberry PI para su robot FIRST Robotics Competition

Acerca de FIRST

De Wikipedia, la enciclopedia libre

La FIRST Robotics Competition (FRC) es una competencia internacional de robótica de escuelas secundarias. Cada año, equipos de estudiantes de secundaria, entrenadores y mentores trabajan durante un período de seis semanas para construir robots de juegos que pesan hasta 120 libras (54 kg). Los robots completan tareas como anotar pelotas en porterías, hacer volar discos en porterías, cámaras de aire en bastidores, colgar en barras y equilibrar robots en vigas de equilibrio. El juego, junto con el conjunto de tareas requerido, cambia anualmente. Si bien los equipos reciben un conjunto estándar de piezas, también se les permite un presupuesto y se les anima a comprar o fabricar piezas especializadas.

El juego de este año (2020) INFINITE RECHARGE. El juego Infinite Recharge involucra dos alianzas de tres equipos cada una, con cada equipo controlando un robot y realizando tareas específicas en un campo para ganar puntos. El juego se centra en un tema de ciudad futurista que involucra dos alianzas que constan de tres equipos, cada uno compitiendo para realizar varias tareas, incluido disparar bolas de espuma conocidas como Power Cells en objetivos altos y bajos para activar un generador de escudos, manipular un panel de control para activar este escudo, y volver al generador de escudos para aparcar o trepar al final del partido. El objetivo es energizar y activar el escudo antes de que termine el partido y los asteroides golpeen FIRST City, una ciudad futurista inspirada en Star Wars.

¿Qué hace el sistema de procesador de visión Raspberry PI?

La cámara podrá escanear el campo de juego y las ubicaciones de destino donde se suministran las piezas del juego o se deben colocar para puntuar. El conjunto tiene 2 conexiones, alimentación y Ethernet.

Los objetivos de visión en el campo de juego están delineados con cinta retrorreflectante y la luz se reflejará en la lente de la cámara. El Pi que ejecuta código fuente abierto de Chameleon Vision (https://chameleon-vision.readthedocs.io/en/latest/…) procesará la vista, la resaltará, agregará superposiciones de imágenes y generará el tono, la guiñada, el contorno y la posición como valores de matriz ordenados por xey en metros y ángulo en grados junto con otros datos a través de una tabla de red. Esa información se utilizará en software para controlar nuestro robot en modo autónomo, así como para apuntar y disparar nuestro tirador con torreta. Se pueden ejecutar otras plataformas de software en la Pi. Se puede instalar FRC vision si su equipo ya ha invertido el tiempo del software en esa plataforma.

Nuestro presupuesto fue ajustado este año y la compra de una cámara Limelight de $ 399.00 (https://www.wcproducts.com/wcp-015) no estaba en las cartas. Obteniendo todos los suministros de Amazon y usando la impresora 3D Team 3512 Spartatroniks, pude empaquetar un sistema de visión personalizado por $ 150.00. Algunos artículos venían a granel, la construcción de un segundo coprocesador solo requeriría otra Raspberry Pi, una cámara PI y un ventilador. Con la ayuda de CAD de uno de los mentores de los equipos (gracias Matt), el recinto PI se creó utilizando Fusion 360.

¿Por qué no usar un Pi con carcasa barata, conectar una cámara USB, agregar un anillo de luz, instalar la visión Chameleon y listo, verdad? Bueno, quería más potencia y menos cables y el factor de frialdad de un sistema personalizado.

Un Pi 4 usa 3 amperios si funciona a pleno rendimiento, es decir, si usa la mayoría de sus puertos, wifi y ejecuta una pantalla. No estamos haciendo eso en nuestros robots, pero los puertos USB en el roboRIO https://www.ni.com/en-us/support/model.roborio.ht… tienen una capacidad nominal de 900 ma, el regulador de voltaje modual (VRM) 5 voltios suministra hasta 2 amperios pico, límite de 1,5 amperios, pero es un conector compartido, por lo que si hay otro dispositivo en el bus de 5 voltios, existe la posibilidad de un apagón. El VRM también suministra 12 voltios a 2 amperios, pero usamos ambas conexiones para alimentar nuestra radio usando un cable POE y una conexión de barril para redundancia. Algunos inspectores de FRC no permitirán que se conecte allí nada más que lo que está impreso en el VRM. Entonces, 12 voltios del PDP en un disyuntor de 5 amperios es donde el Pi necesita ser alimentado.

Se suministran 12 voltios a través de un disyuntor de 5 amperios en el panel de distribución de energía (PDP), se convierte a 5,15 voltios utilizando un convertidor reductor de CC a CC LM2596. El convertidor Buck suministra 5 voltios a 3 amperios y permanece en regulación hasta la entrada de 6,5 voltios. Este bus de 5 voltios luego proporciona energía a 3 subsistemas, matriz de anillo LED, ventilador, Raspberry Pi.

Suministros

  • Paquete de 6 LM2596 DC a DC Buck Converter 3.0-40V a 1.5-35V Módulo reductor de fuente de alimentación (paquete de 6) $ 11.25
  • Noctua NF-A4x10 5V, ventilador silencioso premium, 3 pines, versión 5V (40x10 mm, marrón) $ 13.95
  • Tarjeta SanDisk Ultra 32GB microSDHC UHS-I con adaptador - 98MB / s U1 A1 - SDSQUAR-032G-GN6MA $ 7.99
  • Módulo de cámara Raspberry Pi V2-8 megapíxeles, 1080p 428.20
  • Disipador de calor GeeekPi Raspberry Pi 4, 20 disipadores de calor de aluminio Raspberry Pi con cinta adhesiva conductora térmica para Raspberry Pi 4 Modelo B (la placa Raspberry Pi no está incluida) $ 7.99
  • Raspberry Pi 4 Modelo B 2019 Quad Core 64 Bit WiFi Bluetooth (4GB) $ 61.96
  • (Paquete de 200 piezas) 2N2222 Transistor, 2N2222 to-92 Transistor NPN 40V 600mA 300MHz 625mW Agujero pasante 2N2222A $ 6.79
  • EDGELEC 100 piezas de resistencia de 100 ohmios 1/4 w (0,25 vatios) ± 1% de tolerancia de película metálica resistencia fija Lámparas de bombilla de iluminación súper brillante de alta intensidad Componentes electrónicos Diodos de lámpara $ 6.30
  • Adhesivo de plástico para soldadura J-B $ 5.77

Paso 1: Prototipo 1

Prototipo 1
Prototipo 1

Primera prueba en embalaje:

El equipo tenía un Pi 3 de un año anterior que estaba disponible para probar. Se agregó una cámara pi, un circuito reductor / elevador DC-DC y un anillo de luz Andymark.

En este momento no había considerado el Pi 4, por lo que no estaba preocupado por las necesidades de energía. La energía se suministró a través de USB desde roboRIO. La cámara encaja en el estuche sin modificaciones. La luz anular se pegó en caliente a la cubierta de la caja y se conectó a la placa de refuerzo. La placa de refuerzo se conectó a los puertos GPIO 2 y 6 para 5 voltios y la salida se ajustó hasta 12 voltios para ejecutar el anillo. No había espacio dentro de la caja para la placa de refuerzo, por lo que también estaba pegada en caliente al exterior. El software se instaló y probó utilizando objetivos del año de juego 2019. El equipo de software dio el visto bueno, así que pedimos un Pi 4, disipadores de calor y un ventilador. Y mientras seguimos el camino, se diseñó e imprimió en 3D el recinto.

Paso 2: Prototipo 2

Prototipo 2
Prototipo 2
Prototipo 2
Prototipo 2
Prototipo 2
Prototipo 2

Las dimensiones internas del recinto estaban bien, pero las ubicaciones de los puertos estaban desplazadas, no un obstáculo.

Esto se completó justo después de la revelación del nuevo juego para que el software pudiera probarse en las nuevas ubicaciones de destino.

Buenas y malas noticias. La salida de luz del anillo no era adecuada cuando estábamos a más de 15 pies del objetivo, por lo que era hora de repensar la iluminación. Dado que se necesitaban cambios, considero esta unidad como prototipo 2.

Paso 3: Prototipo 3

Prototipo 3
Prototipo 3
Prototipo 3
Prototipo 3

El prototipo 2 se dejó junto para que el software pudiera seguir perfeccionando su sistema. Mientras tanto, se encontró otro Pi 3 y improvisé otro banco de pruebas. Este tenía un Pi3, una cámara de vida USB 3000 soldada directamente a la placa, un convertidor elevador y una matriz de diodos soldados a mano.

De nuevo buenas noticias, malas noticias. La matriz podría iluminar un objetivo a más de 50 pies de distancia, pero perdería el objetivo si fuera de un ángulo superior a 22 grados. Con este dato se pudo realizar el sistema final.

Paso 4: Producto final

Producto final
Producto final
Producto final
Producto final
Producto final
Producto final

El prototipo 3 tenía 6 diodos aproximadamente a 60 grados de distancia y mirando directamente hacia adelante.

Los cambios finales fueron agregar 8 diodos espaciados a 45 grados alrededor de la lente con 4 diodos mirando hacia adelante y 4 diodos inclinados 10 grados dando un campo de visión de 44 grados. Esto también permite que el gabinete se monte vertical u horizontalmente en el robot. Se imprimió un nuevo gabinete con cambios para acomodar un Pi 3 o Pi 4. La cara del gabinete se modificó para los diodos individuales.

Las pruebas no mostraron ningún problema de rendimiento entre Pi 3 o 4, por lo que las aberturas del gabinete se hicieron para permitir la instalación de cualquiera de las Pi. Se quitaron los puntos de montaje traseros, así como las aberturas de escape en la parte superior de la cúpula. Usar un Pi 3 reducirá aún más el costo. Pi 3 funciona más fresco y usa menos energía. Al final, decidimos usar PI 3 para ahorrar costos y el equipo de software quería usar algún código que se ejecutara en el Pi 3 que no se había actualizado para el Pi 4.

Importe el STL a su cortadora de impresoras 3D y listo. Este archivo está en pulgadas, por lo que si tiene una cortadora como Cura, probablemente tendrá que escalar la pieza a% 2540 para convertirla en métrica. Si tiene Fusion 360, el archivo.f3d se puede modificar según sus propias necesidades. Quería incluir un archivo.step pero los instructables no permitirán que se carguen los archivos.

Herramientas básicas necesarias:

  • Pelacables
  • Alicates
  • Soldador
  • Tubo termoretráctil
  • Cortadores de alambre
  • Soldadura libre de plomo
  • Flujo
  • Ayudar a las manos o fórceps
  • Pistola de calor

Paso 5: Matriz de diodos de cableado

Matriz de diodos de cableado
Matriz de diodos de cableado
Matriz de diodos de cableado
Matriz de diodos de cableado
Matriz de diodos de cableado
Matriz de diodos de cableado

Aviso de seguridad:

Soldador Nunca toque el elemento del soldador….400 ° C! (750 ° F)

Sostenga los cables a calentar con pinzas o abrazaderas.

Mantenga la esponja de limpieza húmeda durante su uso.

Siempre devuelva el soldador a su soporte cuando no esté en uso.

Nunca lo deje sobre el banco de trabajo.

Apague la unidad y desenchúfela cuando no esté en uso.

Soldaduras, fundentes y limpiadores

Use protección para los ojos.

La soldadura puede “escupir”.

Utilice soldaduras sin colofonia y sin plomo siempre que sea posible.

Mantenga los disolventes de limpieza en las botellas dispensadoras.

Lávese siempre las manos con agua y jabón después de soldar.

Trabaje en áreas bien ventiladas.

OK, manos a la obra:

La cara de la caja se imprimió con orificios de diodo a 0, 90, 180, 270 puntos inclinados a 10 grados hacia afuera. Los agujeros en 45, 135, 225, 315 puntos son rectos.

Coloque todos los diodos en la cara de la caja para verificar el tamaño del orificio de 5 mm. Un ajuste apretado mantendrá los diodos apuntando en el ángulo correcto. El cable largo de un diodo es el ánodo, suelde una resistencia de 100 ohmios a cada diodo. Los cables de soldadura del diodo y la resistencia se cierran y dejan un cable largo en el otro lado de la resistencia (ver fotos). Prueba cada combo antes de continuar. La batería AA y 2 cables de prueba iluminarán tenuemente el diodo y verificarán que tenga la polaridad correcta.

Coloque la parte posterior de la combinación de diodo / resistencia en la caja y coloque los cables en un patrón de zig-zag de modo que cada cable de la resistencia toque la siguiente resistencia para crear un anillo. Suelde todos los cables. Mezclaría un poco de adhesivo de plástico de soldadura J-B (https://www.amazon.com/J-B-Weld-50133-Tan-1-Pack) y epoxi en el combo de diodo / resistencia en su lugar. Consideré el súper pegamento, pero no estaba seguro de si el cianoacrilato empañaría la lente del diodo. Hice esto al final de toda mi soldadura, pero desearía haberlo hecho aquí para reducir la frustración cuando los diodos no se mantenían en su lugar durante la soldadura. El epoxi se fija en unos 15 minutos, por lo que es un buen lugar para tomar un descanso.

Ahora todos los cables del cátodo se pueden soldar juntos para crear el - o anillo de tierra. Agregue cables rojos y negros de calibre 18 a su anillo de diodos. Pruebe la matriz completa con una fuente de alimentación de 5 voltios, el cargador USB funciona bien para esto.

Paso 6: cableado reductor / impulsor

Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost
Cableado Buck / Boost

Antes de conectar el convertidor Buck, necesitaremos configurar el voltaje de salida. Dado que estamos usando el PDP para suministrar los 12 voltios, conecté directamente a un puerto PDP, fusionado a 5 amperios. Enganche un voltímetro a la salida de la placa y comience a girar el potenciómetro. Tomará bastantes vueltas antes de que vea un cambio, ya que la placa se prueba en la fábrica a la salida completa y luego se deja en esa configuración. Ajústelo a 5,15 voltios. Estamos estableciendo unos pocos milivoltios para que coincida con lo que Pi espera ver desde un cargador USB y cualquier carga de línea desde el ventilador y la matriz de diodos. (Durante las pruebas iniciales, vimos mensajes molestos del Pi quejándose de un voltaje de bus bajo. Una búsqueda en Internet nos dio la información de que el Pi esperaba más de 5,0 voltios, ya que la mayoría de los cargadores emiten un poco más y la fuente de alimentación típica para un Pi es un cargador USB.)

A continuación, necesitamos preparar el caso:

El convertidor reductor y Pi se sujetan con 4-40 tornillos para metales. La broca n. ° 43 es ideal para crear orificios precisos para encintar de 4 a 40 roscas. Sujete el convertidor Pi y buck a los separadores, marque y luego taladre con la broca n. ° 43. La altura de los separadores permite suficiente profundidad para eneldo sin pasar completamente por la parte posterior. Toque los agujeros con un toque ciego 4-40. Los tornillos autoadhesivos usados en plástico funcionarían bien aquí, pero tenía los tornillos 4-40 disponibles, así que eso fue lo que usé. Se necesitan tornillos para permitir el acceso a la tarjeta SD (no se proporciona acceso externo a la tarjeta con este gabinete).

El siguiente orificio que debe perforar es para el cable de alimentación. Elegí un punto en la esquina inferior para que se extendiera a lo largo del cable Ethernet externamente y al lado y luego debajo del Pi internamente. Usé un cable blindado de 2 hilos, ya que es lo que tenía a mano, cualquier par de hilos de calibre 14 funcionará. Si utiliza un par de cables sin revestimiento, coloque de 1 a 2 capas de termorretráctil en el cable donde ingresa a su caja para protección y alivio de tensión. El tamaño del orificio lo determinará su elección de cable.

Ahora puede soldar los cables a las líneas de entrada del convertidor CC-CC. Las conexiones están etiquetadas en la placa. Cable rojo a entrada + Cable negro a entrada. Al salir de la placa, soldé 2 cables desnudos cortos para que actuaran como poste de cable para atar el ventilador, el Pi y el transistor.

Paso 7: cableado final y epoxi

Cableado final y epoxi
Cableado final y epoxi
Cableado final y epoxi
Cableado final y epoxi
Cableado final y epoxi
Cableado final y epoxi

Solo se realizan 4 conexiones al Pi. Cable plano de tierra, alimentación, control LED e interfaz de cámara.

Los 3 pines utilizados en el Pi son 2, 6 y 12.

Corta un cable rojo, negro y blanco a 4 pulgadas. Pele 3/8 de pulgada del aislamiento en ambos extremos de los cables, los extremos de estaño de los cables y las clavijas de estaño en el Pi.

  • Suelde el cable rojo al pin GPIO 2, deslice 1/2 pulgada de tubo termorretráctil y aplique calor.
  • Suelde el cable negro al pin 6 de GPIO, deslice 1/2 pulgada de tubo termorretráctil y aplique calor.
  • Suelde el alambre blanco al pin GPIO 12 deslice 1/2 pulgada de tubo termorretráctil y aplique calor.
  • Suelde el cable rojo para romperlo +
  • Suelde el cable negro para soldar
  • Agregue 1 pulgada termorretráctil al cable blanco y suelde a una resistencia de 100 ohmios y de la resistencia a la base del transistor. Aísle con termorretráctil.
  • Emisor de transistor a Buck -
  • Colector de transistores al lado del cátodo de la matriz de diodos
  • Matriz de diodos Ánodo / Resistencia a Buck +
  • Ventilador de alambre rojo para disparar +
  • Ventilador de alambre negro para sacar

Última conexión:

Empuje el cable de interfaz de la cámara. La conexión del cable utiliza un conector zif (fuerza de inserción cero). La tira negra en la parte superior del conector debe levantarse, el cable se coloca en el enchufe y luego el conector se empuja hacia abajo para bloquearlo en su lugar. Tenga cuidado de no doblar el cable ya que la traza en el aislamiento puede romperse. Además, el conector debe insertarse recto para alinear el cable plano con la clavija.

Revise su trabajo en busca de hebras de alambre sueltas y manchas de soldadura, recorte el exceso de longitud en los postes de soldadura buck.

Si está satisfecho con su trabajo, el ventilador y la cámara se pueden pegar en su lugar. Unas gotas en las esquinas es todo lo que necesitas.

Paso 8: software

Software
Software
Software
Software
Software
Software
Software
Software

Mientras el epoxi se cura, introduzca el software en la tarjeta SD. necesitará un adaptador de tarjeta SD para conectarlo a su computadora (https://www.amazon.com/Reader-Laptop-Windows-Chrom….

Ir a:

www.raspberrypi.org/downloads/raspbian/ y descarga Raspbian Buster Lite. Para actualizar la tarjeta SD con raspbian, necesitará otra herramienta de software BalenaEtcher y se puede encontrar aquí, El epoxi ya debería haberse curado lo suficiente como para que pueda instalar la tarjeta SD y atornillar la placa buck / boost. Antes de colocar la cubierta a presión, verifique que ningún cable interfiera con la cubierta y que el cable de la cámara no toque las aspas del ventilador. Una vez que la cubierta está en su lugar, soplo el ventilador y observo cómo se mueve para asegurarme de que no haya interferencia de los cables o del cable plano.

Hora de encender:

La primera vez que encienda, necesitará un cable hdmi, si es un Pi 4, un cable mini hdmi, un teclado usb y un monitor hdmi junto con una conexión a Internet. Conecte a una fuente de alimentación de 12 voltios, PDP con un disyuntor de 5 amperios.

Después de iniciar sesión, lo primero que debe hacer es ejecutar la herramienta de configuración. Aquí es donde SSH se puede configurar junto con la habilitación de la cámara PI. https://www.raspberrypi.org/documentation/configur… tiene instrucciones para ayudar.

Reinicie antes de instalar Chameleon Vision

Visite su sitio antes de usar su software, tienen una gran cantidad de información. Una nota, en su página de hardware compatible, la cámara Pi se muestra como no compatible, pero es con su versión más reciente. Es necesario actualizar la página web.

Desde la página web de Chameleon Vision:

Chameleon Vision puede ejecutarse en la mayoría de los sistemas operativos disponibles para Raspberry Pi. Sin embargo, se recomienda que instale Rasbian Buster Lite, disponible aquí https://www.raspberrypi.org/downloads/raspbian/. Siga las instrucciones para instalar Raspbian en una tarjeta SD.

Asegúrese de que la Raspberry Pi esté conectada a Internet a través de Ethernet. Inicie sesión en Raspberry Pi (nombre de usuario pi y contraseña raspberry) y ejecute los siguientes comandos en la terminal:

$ wget https://git.io/JeDUk -O install.sh

$ chmod + x install.sh

$ sudo./install.sh

$ sudo reiniciar ahora

¡Felicidades! ¡Tu Raspberry Pi ahora está configurada para ejecutar Chameleon Vision! Una vez que la Raspberry Pi se haya reiniciado, Chameleon Vision se puede iniciar con el siguiente comando:

$ sudo java -jar chameleon-vision.jar

Cuando se lanza una nueva versión de Chameleon Vision, actualícela ejecutando los siguientes comandos:

$ wget https://git.io/JeDUL -O update.sh

$ chmod + x update.sh

$ sudo./update.sh

Control de matriz de LED:

Su matriz de LED no se encenderá sin el control del software

La primera robótica de este año tiene una regla contra las luces LED brillantes, pero las permitirá si se pueden apagar y encender según sea necesario. Colin Gideon "SpookyWoogin", FRC 3223, escribió un script de Python para controlar los LED y que se puede encontrar aquí:

github.com/frc3223/RPi-GPIO-Flash

Este sistema también ejecutará FRC Vision si su equipo ya ha invertido el tiempo del software en esa plataforma. Con FRC vision se crea una imagen de la tarjeta SD completa, por lo que no es necesario descargar raspbian. Consíguelo aquí

Esto le dará un sistema de visión en un factor de forma genial. ¡Buena suerte en las competiciones!

Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020

Finalista en el Concurso Raspberry Pi 2020

Recomendado: