Taula de continguts:

Processador Raspberry PI Vision (SpartaCam): 8 passos (amb imatges)
Processador Raspberry PI Vision (SpartaCam): 8 passos (amb imatges)

Vídeo: Processador Raspberry PI Vision (SpartaCam): 8 passos (amb imatges)

Vídeo: Processador Raspberry PI Vision (SpartaCam): 8 passos (amb imatges)
Vídeo: Raspberry Pi High Quality Camera Getting Started Guide - First Pictures and Videos 2024, Juliol
Anonim
Processador Raspberry PI Vision (SpartaCam)
Processador Raspberry PI Vision (SpartaCam)
Processador Raspberry PI Vision (SpartaCam)
Processador Raspberry PI Vision (SpartaCam)

Un sistema de processador de visió Raspberry PI per al vostre robot FIRST Robotics Competition

Quant a FIRST

De Wikipedia, l’enciclopèdia lliure

El FIRST Robotics Competition (FRC) és un concurs internacional de robòtica de secundària. Cada any, equips d’estudiants de secundària, entrenadors i mentors treballen durant un període de sis setmanes per construir robots de joc que pesen fins a 54 kg. Els robots realitzen tasques com marcar pilotes a porteries, volar discs a porteries, tubs interiors a bastidors, penjar-se a barres i equilibrar robots a barres d’equilibri. El joc, juntament amb el conjunt de tasques requerides, canvia anualment. Tot i que els equips reben un conjunt estàndard de peces, també se’ls permet pressupostar i s’anima a comprar o fabricar peces especialitzades.

Aquest any joc (2020) INFINITE RECHARGE. El joc de recàrrega infinita consisteix en dues aliances de tres equips cadascun, amb cada equip controlant un robot i realitzant tasques específiques en un camp per obtenir punts. El joc se centra en un tema futurista de la ciutat que inclou dues aliances formades per tres equips que competeixen cadascun per realitzar diverses tasques, incloses les boles d’escuma conegudes com a Power Cells a objectius alts i baixos per activar un generador d’escuts, manipulant un tauler de control per activar aquest escut, i tornar al generador d’escuts per aparcar o pujar al final del partit. L’objectiu és dinamitzar i activar l’escut abans que acabi el partit i els asteroides ataquin FIRST City, una ciutat futurista modelada després de Star Wars.

Què fa el sistema de processador de visió Raspberry PI?

La càmera podrà escanejar el terreny de joc i ubicacions de destinació on es subministren peces de joc o s’han de col·locar per puntuar. El conjunt té 2 connexions, alimentació i Ethernet.

Els objectius de la visió sobre el terreny de joc es perfilen amb cinta reflectora i la llum es reflectirà cap a l’objectiu de la càmera. El Pi que executa el codi font obert de Chameleon Vision (https://chameleon-vision.readthedocs.io/en/latest/…) processarà la vista, la ressaltarà, afegirà superposicions d’imatges i el to de sortida, desviació, contorn i posició com valors de matriu ordenats per x i y en metres i angle en graus juntament amb altres dades mitjançant una taula de xarxa. Aquesta informació s'utilitzarà al programari per controlar el nostre robot en mode autònom, així com per apuntar i disparar el nostre tirador de torretes. Al Pi es poden executar altres plataformes de programari. La visió FRC es pot instal·lar si el vostre equip ja ha invertit el temps de programari en aquesta plataforma.

El nostre pressupost va ser reduït aquest any i la compra d’una càmera Limelight de 399,00 $ (https://www.wcproducts.com/wcp-015) no estava a les targetes. Proveint tots els subministraments d’Amazon i utilitzant la impressora 3D Team 3512 Spartatroniks, vaig poder empaquetar un sistema de visió personalitzat per 150,00 dòlars. Alguns articles van arribar de manera massiva, per construir un segon coprocessador només caldria un altre Raspberry Pi, una càmera PI i un ventilador. Amb l'ajuda de CAD d'un dels equips Mentors (gràcies Matt), el recinte PI es va crear mitjançant Fusion 360.

Per què no només utilitzeu un Pi amb armari econòmic, connecteu una càmera USB, afegiu un llum d'anell, instal·leu Chameleon vision i el vostre fet, oi? Bé, volia més potència i menys cables i el factor de frescor d’un sistema personalitzat.

Un Pi 4 utilitza 3 amperes si funciona de sonda completa, és si utilitza la majoria dels seus ports, wifi i executa una pantalla. No ho estem fent als nostres robots, però els ports USB del roboRIO https://www.ni.com/en-us/support/model.roborio.ht… estan classificats en 900 ma, el regulador de voltatge modual (VRM)) Subministra 5 volts fins a un màxim de 2 amperes, un límit d’1,5 amperis, però és un connector compartit, de manera que si hi ha un altre dispositiu al bus de 5 volts, hi ha la possibilitat d’un apagat. El VRM també subministra 12 volts a 2 amperes, però utilitzem les dues connexions per alimentar la ràdio mitjançant un cable POE i una connexió barril per redundància. Alguns inspectors de FRC no permetran connectar-hi res més que el que s’imprimeix al VRM. Per tant, a 12 volts del PDP en un Breaker de 5 amperis és on cal alimentar el Pi.

Es subministra 12 volts mitjançant un interruptor de 5 A al tauler de distribució d’energia (PDP), es converteix a 5,15 volts mitjançant un convertidor LM2596 de CC a CC. El convertidor Buck subministra 5 volts a 3 amperes i es manté regulat fins a 6,5 volts d’entrada. Aquest bus de 5 volts proporciona alimentació a 3 subsistemes, matriu d’anells LED, ventilador, Raspberry Pi.

Subministraments

  • Paquet de 6 LM2596 convertidor de corrent continu a corrent de 3,0-40 V a 1,5-35 V mòdul de descens de la font d'alimentació (paquet de 6) 11,25 dòlars
  • Noctua NF-A4x10 5V, ventilador silenciós premium, versió de 3 pins, 5V (40x10mm, marró) 13,95 $
  • SanDisk Ultra 32GB microSDHC UHS-I targeta amb adaptador - 98MB / s U1 A1 - SDSQUAR-032G-GN6MA 7,99 dòlars
  • Mòdul de càmera Raspberry Pi V2-8 megapíxels, 1080p 428.20
  • Dissipador de calor GeeekPi Raspberry Pi 4, dissipadors d’alumini Raspberry Pi de 20 unitats amb cinta adhesiva tèrmica per a Raspberry Pi 4 Model B (la placa Raspberry Pi no està inclosa) 7,99 $
  • Raspberry Pi 4 Model B 2019 Quad Core de 64 bits WiFi Bluetooth (4 GB) 61,96 $
  • (Paquet de 200 peces) Transistor 2N2222, Transistor 2N2222 a-92 NPN 40V 600mA 300MHz 625mW Forat passant 2N2222A 6,79 $
  • EDGELEC 100pcs Resistència de 100 ohms 1 / 4w (0,25 watts) ± 1% Tolerància Resistència fixa de pel·lícula metàl·lica 5,69 $ Bombetes d'il·luminació d'alta intensitat d'alta intensitat Llums Components electrònics Diodes de làmpada 6,30 dòlars
  • J-B Weld Plastic Bonder 5,77 dòlars

Pas 1: prototip 1

Prototip 1
Prototip 1

Primera prova d’envasos:

L’equip tenia un Pi 3 d’un any anterior que estava disponible per a proves. Es va afegir una càmera pi, un circuit DC-DC buck / boost i un llum anell Andymark.https://www.andymark.com/products/led-ring-green.

En aquest moment no havia considerat el Pi 4, de manera que no em preocupava les necessitats d'energia. L’alimentació es va subministrar mitjançant USB des del roboRIO. La càmera s'adapta a la funda sense modificacions. La llum de l'anell estava enganxada a la coberta de la caixa i es va connectar a la placa de reforç. La placa de connexió es va connectar als ports GPIO 2 i 6 durant 5 volts i la sortida es va ajustar fins a 12 volts per executar l'anell. No hi havia espai dins de la caixa per al tauler de reforç, de manera que també estava enganxat en calent a l'exterior. El programari es va instal·lar i provar amb objectius de l'any de joc del 2019. L’equip del programari va donar un cop de polze cap amunt, de manera que vam demanar un Pi 4, dissipadors de calor i un ventilador. I mentre ens dirigim cap allà, es va dissenyar el recinte i es va imprimir en 3D.

Pas 2: prototip 2

Prototip 2
Prototip 2
Prototip 2
Prototip 2
Prototip 2
Prototip 2

Les dimensions internes del recinte eren correctes, però les ubicacions del port es van compensar, no un tap de mostra.

Això es va completar just després de la revelació del nou joc perquè el programari pogués provar contra les noves ubicacions objectiu.

Bones notícies i males notícies. La sortida de llum de l’anell no era adequada quan ens trobàvem a més de 15 peus de l’objectiu, de manera que s’havia de replantejar la il·luminació. Com que calien canvis, considero aquesta unitat com a prototip 2.

Pas 3: prototip 3

Prototip 3
Prototip 3
Prototip 3
Prototip 3

El prototip 2 es va deixar junt perquè el programari pogués continuar perfeccionant el seu sistema. Mentrestant, es va trobar un altre Pi 3 i vaig empedrar un altre banc de proves. Tenia un Pi3, una càmera de vida USB 3000 soldada directa a la placa, un convertidor d’impulsió i una matriu de díodes soldats a mà.

De nou bones notícies, males notícies. La matriu podria il·luminar un objectiu a 50 + peus de distància, però perdria l'objectiu si es trobés fora d'un angle superior a 22 graus. Amb aquesta informació es podria fer el sistema final.

Pas 4: producte final

Producte final
Producte final
Producte final
Producte final
Producte final
Producte final

El prototip 3 tenia 6 díodes aproximadament separats a 60 graus i orientats directament cap endavant.

Els canvis finals van ser afegir 8 díodes separats a 45 graus al voltant de la lent amb 4 díodes orientats cap endavant i 4 díodes inclinats a 10 graus donant un camp de visió de 44 graus. Això també permet muntar el recinte vertical o horitzontalment al robot. Es va imprimir un nou recinte amb canvis per adaptar-lo a un Pi 3 o Pi 4. La cara del recinte es va modificar per a cada díode.

Les proves no van mostrar cap problema de rendiment entre el Pi 3 o el 4, de manera que les obertures del recinte es van fer per permetre la instal·lació del Pi. Es van retirar els punts de muntatge posteriors i les obertures d’escapament a la part superior de la cúpula. L’ús d’un Pi 3 reduirà encara més el cost. El Pi 3 funciona més fresc i consumeix menys energia. Al final, vam decidir utilitzar PI 3 per a l'estalvi de costos i l'equip de programari va voler utilitzar algun codi que s'executés al Pi 3 que no s'havia actualitzat per al Pi 4.

Importeu el STL a les vostres impressores de tall d’impressió 3D i ja no hi podreu. Aquest fitxer és en polzades, de manera que si teniu un tallador com Cura, probablement haureu d’escalar la peça a% 2540 per convertir-la a mètrica. Si teniu Fusion 360, el fitxer.f3d es pot modificar segons les vostres necessitats. Volia incloure un fitxer.step, però les instruccions no permetran penjar-los.

Eines bàsiques necessàries:

  • Decapants de filferro
  • Alicates
  • Soldador
  • Tubs termorretractables
  • Talladors de filferro
  • Soldadura sense plom
  • Flux
  • Ajuda de mans o pinces
  • Pistola de calor

Pas 5: matriu de díodes de cablejat

Matriu de díodes de cablejat
Matriu de díodes de cablejat
Matriu de díodes de cablejat
Matriu de díodes de cablejat
Matriu de díodes de cablejat
Matriu de díodes de cablejat

Avís de seguretat:

Soldador: No toqueu mai l’element del soldador….400 ° C (750 ° F)

Mantingueu els cables per escalfar-los amb pinces o pinces.

Mantingueu l’esponja de neteja mullada durant l’ús.

Torneu sempre el soldador al seu suport quan no l’utilitzeu.

No el deixeu mai a la taula de treball.

Apagueu la unitat i desconnecteu-la quan no la feu servir.

Soldador, flux i netejadors

Utilitzeu protecció per als ulls.

Soldar pot "escopir".

Utilitzeu soldadures sense colofònia i sense plom sempre que sigui possible.

Mantingueu els dissolvents de neteja en ampolles dispensadores.

Renteu-vos sempre les mans amb aigua i sabó després de soldar.

Treballar en zones ben ventilades.

D'acord, comença a treballar:

La cara del recinte es va imprimir amb forats de díode a 0, 90, 180, 270 punts es desvien a 10 graus. Els forats de 45, 135, 225, 315 punts són rectes.

Col·loqueu tots els díodes a la cara del recinte per verificar la mida del forat de 5 mm. Un ajust ajustat mantindrà els díodes apuntant en l’angle correcte. El cable llarg d’un díode és l’ànode, que solda una resistència de 100 ohms a cada díode. Els cables de soldadura del díode i la resistència es tanquen i deixen un cable llarg a l'altre costat de la resistència (veure fotos). Proveu cada combinació abans de continuar. La bateria AA i els 2 cables de prova il·luminaran poc el díode i verificaran que teniu la polaritat correcta.

Col·loqueu el combinat de díodes / resistències al recinte i posicioneu els cables en un patró en zig-zag perquè cada cable de resistència toqui la següent resistència per crear un anell. Soldar tots els cables. Mesclaria una mica de plàstic Bonder de soldadura J-B (https://www.amazon.com/J-B-Weld-50133-Tan-1-Pack) i un epoxi del diode / resistència combinat al seu lloc. Vaig considerar una súper cola, però no estava segur de si el cianoacrilat enfosquiria la lent del díode. Ho vaig fer al final de tota la meva soldadura, però m'agradaria que ho hagués fet aquí per reduir la frustració quan els díodes no es mantindrien al seu lloc durant la soldadura. L’epoxi s’instal·la en uns 15 minuts, de manera que és un bon lloc per fer un descans.

Ara tots els cables del càtode es poden soldar junts per crear l'anell de terra o. Afegiu cables vermells i negres de calibre 18 al vostre anell de díode. Proveu el conjunt complet amb una font d'alimentació de 5 volts, el carregador USB funciona bé per a això.

Pas 6: Cablatge Buck / Boost

Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost
Cablatge Buck / Boost

Abans de connectar-lo al convertidor Buck, haurem d’establir el voltatge de sortida. Com que estem utilitzant el PDP per subministrar els 12 volts que he connectat directament a un port PDP, fusionat a 5 amperes. Retalleu un voltímetre a la sortida de la placa i comenceu a girar el potenciòmetre. Es necessitaran bastants girs abans de veure un canvi, ja que la placa es provarà de fàbrica a la producció completa i es deixarà en aquest paràmetre. Estableix a 5,15 volts. Estem establint uns quants milivolts d’alt per coincidir amb el que el Pi espera veure des d’un carregador USB i qualsevol càrrega de línia des del ventall i la matriu de díodes. (Durant les proves inicials vam veure missatges molestos del Pi queixant-se de la baixa tensió del bus. Una cerca a Internet ens va donar la informació que el Pi esperava més de 5,0 volts, ja que la majoria dels carregadors apagaven una mica més i la font d’alimentació típica d’un Pi és un carregador USB.)

A continuació, hem de preparar el cas:

El convertidor de buck i Pi es mantenen mitjançant 4-40 cargols de màquina. La broca # 43 és ideal per crear forats precisos per gravar entre 4 i 40 fils. Mantingueu el convertidor Pi i Buck als separadors, marqueu-lo i foradeu-lo amb la broca # 43. L'alçada de les distàncies permet una profunditat suficient per anetar sense passar completament per l'esquena. Toqueu els forats amb un toc cec de 4 a 40. Els cargols de cinta adhesiva utilitzats en plàstic funcionarien bé aquí, però tenia els cargols de 4 a 40 disponibles, de manera que era el que feia servir. Es necessiten cargols per permetre l'accés a la targeta SD (no es proporciona accés extern a la targeta amb aquest recinte).

El següent forat per perforar és el cable d'alimentació. Vaig escollir un punt a l'extrem inferior perquè funcionés al costat del cable Ethernet cap a l'exterior i cap al costat i després sota el Pi internament. He utilitzat un cable blindat de 2 cables, ja que tenia el que tenia a mà, qualsevol parell de cables de calibre 14 funcionarà. Si utilitzeu un parell de filferro sense camisa, poseu entre 1 i 2 capes de calor contra el cable on entra al vostre recinte per protegir-lo i alleujar-lo. La mida del forat la determinarà la vostra elecció de filferro.

Ara podeu soldar els cables a les línies d’entrada del convertidor DC-DC. Les connexions estan etiquetades al tauler. Fil vermell a dins + Fil negre a in-. En sortir del tauler vaig soldar 2 cables nus curts per fer de pal de filferro per lligar el ventilador, el Pi i el transistor.

Pas 7: cablejat final i epoxi

Cablatge final i epoxi
Cablatge final i epoxi
Cablatge final i epoxi
Cablatge final i epoxi
Cablatge final i epoxi
Cablatge final i epoxi

Només es fan 4 connexions amb el Pi. Cable de cinta de terra, alimentació, control de led i interfície de càmera.

Els 3 pins utilitzats al Pi són 2, 6 i 12.

Tallar un cable vermell, blanc i negre a 4 polzades. Retireu l'aïllament de 3/8 polzades als dos extrems dels cables, els extrems de llauna dels cables i els passadors de llauna al Pi.

  • Soldeu el filferro vermell al pin GPIO 2 lliscant 1/2 polzada de tubs termorretractables apliqueu calor.
  • Soldeu el filferro negre al pin GPIO 6 lliscant 1/2 polzada de tubs termorretractables aplicant calor.
  • Soldeu el filferro blanc al pin GPIO 12 lliscant 1/2 polzada de tubs termorretractables aplicant calor.
  • Filferro vermell per soldar +
  • Filferro negre per soldar
  • Afegiu una reducció de calor de 1 polzada al fil blanc i soldeu a una resistència de 100 ohms i des de la resistència a la base del transistor. Aïllar amb encongiment.
  • Emissor de transistors a Buck -
  • Col·lector de transistors al costat del càtode de la matriu de díodes
  • Matriu de díodes Ànode / resistència a Buck +
  • Ventilador de filferro vermell per arrencar +
  • Ventilador de filferro negre

Darrera connexió:

Introduïu el cable d'interfície de la càmera. La connexió per cable utilitza un connector zif (força d’inserció zero). Cal aixecar la tira negra de la part superior del connector, el cable col·locat al sòcol i el connector es torna a empènyer cap avall per bloquejar-lo al seu lloc. Tingueu cura de no encunyar el cable, ja que es pot trencar el rastre de l'aïllament. També cal inserir el connector recte perquè el cable de cinta alinea l'alineació.

Comproveu el vostre treball per si hi ha fils de filferro perduts i taques de soldadura, retireu l'excés de longitud als pals de soldadura de buck.

Si esteu satisfet amb el vostre treball, el ventilador i la càmera es poden depurar al seu lloc. Unes gotes a les cantonades és tot el que necessiteu.

Pas 8: programari

Programari
Programari
Programari
Programari
Programari
Programari
Programari
Programari

Mentre l’epoxy es cura, permet introduir programari a la targeta SD. necessitareu un adaptador de targeta SD per connectar-lo a l'ordinador (https://www.amazon.com/Reader-Laptop-Windows-Chrom….

Anar a:

www.raspberrypi.org/downloads/raspbian/ i descarregueu Raspbian Buster Lite. Per fer flaixar la targeta SD amb raspbian necessitareu una altra eina de programari BalenaEtcher i es pot trobar aquí, L'epoxi ja hauria d'haver-se curat prou com per poder instal·lar la targeta SD i cargolar la targeta Buck / Boost. Abans d’encendre la tapa, comproveu que no hi hagi cables que interfereixin amb la tapa i que el cable de la càmera no toqui les pales del ventilador. Després que la tapa estigui al seu lloc, bufo al ventilador i veig com es mou com per assegurar-me que no hi hagi interferències dels cables ni del cable de cinta.

Temps per encendre:

La primera vegada que engegueu necessitareu un cable HDMI, si el Pi 4 és un mini cable HDMI, un teclat USB i un monitor HDMI juntament amb una connexió a Internet. Cable a una font d'alimentació de 12 volts, PDP amb un interruptor de 5 amperes.

Després d'iniciar la sessió, el primer que heu de fer és executar l'eina de configuració. Aquí és on es pot configurar SSH i habilitar la càmera PI. https://www.raspberrypi.org/documentation/configur… té instruccions per ajudar-vos.

Reinicieu abans d'instal·lar Chameleon Vision

Si us plau, visiteu el seu lloc abans d’utilitzar el seu programari, ja que tenen molta informació. Una nota: a la pàgina de maquinari compatible, la càmera Pi es mostra com a no compatible, però sí amb la seva versió més recent. Cal actualitzar la pàgina web.

Des de la pàgina web de Chameleon vision:

Chameleon Vision pot funcionar a la majoria de sistemes operatius disponibles per a Raspberry Pi. Tot i això, es recomana instal·lar Rasbian Buster Lite, disponible aquí https://www.raspberrypi.org/downloads/raspbian/. Seguiu les instruccions per instal·lar Raspbian a una targeta SD.

Assegureu-vos que el Raspberry Pi estigui connectat via Internet a Internet. Inicieu sessió al Raspberry Pi (nom d’usuari pi i contrasenya raspberry) i executeu les ordres següents al terminal:

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

$ chmod + x install.sh

$ sudo./install.sh

$ sudo reinicia ara

Enhorabona! El vostre Raspberry Pi ja està configurat per executar Chameleon Vision. Un cop Raspberry Pi s'hagi reiniciat, Chameleon Vision es pot iniciar amb l'ordre següent:

$ sudo java -jar chameleon-vision.jar

Quan es publiqui una nova versió de Chameleon Vision, actualitzeu-la executant les ordres següents:

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

$ chmod + x update.sh

$ sudo./update.sh

Control de matriu LED:

La vostra matriu de LED no s’encendrà sense control de programari

La primera robòtica d’aquest any té una norma contra els llums led brillants, però els permetrà si es poden apagar i encendre segons sigui necessari. Colin Gideon "SpookyWoogin", FRC 3223, va escriure un script Python per controlar els LED's que es pot trobar aquí:

github.com/frc3223/RPi-GPIO-Flash

Aquest sistema també executarà la visió FRC si el vostre equip ja ha invertit el temps de programari en aquesta plataforma. Amb la visió FRC es visualitza la targeta SD completa, de manera que no cal descarregar raspbian. Obteniu-lo aquí

Això us proporcionarà un sistema de visió amb un factor de forma genial. Bona sort a les competicions!

Concurs de gerds Pi 2020
Concurs de gerds Pi 2020
Concurs de gerds Pi 2020
Concurs de gerds Pi 2020

Accèssit al concurs Raspberry Pi 2020

Recomanat: