Sadržaj:

Procesor Raspberry PI Vision (SpartaCam): 8 koraka (sa slikama)
Procesor Raspberry PI Vision (SpartaCam): 8 koraka (sa slikama)

Video: Procesor Raspberry PI Vision (SpartaCam): 8 koraka (sa slikama)

Video: Procesor Raspberry PI Vision (SpartaCam): 8 koraka (sa slikama)
Video: Raspberry Pi 3: Камера (#1) – введение, подключение, базовые утилиты, TimeLapse, библиотека PiCamera 2024, Juli
Anonim
Raspberry PI Vision procesor (SpartaCam)
Raspberry PI Vision procesor (SpartaCam)
Raspberry PI Vision procesor (SpartaCam)
Raspberry PI Vision procesor (SpartaCam)

Raspberry PI sistem za obradu vida za vašeg prvog robota Competition Robotics Competition

O PRVOM

Sa Wikipedije, besplatne enciklopedije

FIRST Robotics Competition (FRC) je međunarodno srednjoškolsko takmičenje u robotici. Svake godine timovi srednjoškolaca, treneri i mentori rade tokom šestonedeljnog perioda na izradi robota za igru koji teže do 54 kilograma. Roboti izvršavaju zadatke kao što su zabijanje lopti u golove, letenje diskova u golove, unutrašnje cijevi na stalke, vješanje na šipke i balansiranje robota na gredama za balansiranje. Igra se, zajedno sa potrebnim skupom zadataka, mijenja godišnje. Iako timovi dobivaju standardni set dijelova, njima je također odobren budžet i potiče se na kupovinu ili izradu specijaliziranih dijelova.

Ovogodišnja igra (2020) INFINITE RECHARGE. Igra Beskonačno punjenje uključuje dva saveza od po tri tima, pri čemu svaki tim kontrolira robota i izvodi određene zadatke na terenu radi prikupljanja bodova. Igra se fokusira na futurističku gradsku temu koja uključuje dva saveza koja se sastoje od tri tima od kojih se svaki natječe za izvršavanje različitih zadataka, uključujući pucanje kuglica od pjene poznatih kao Power Cells u visoke i niske ciljeve za aktiviranje Generatora štita, manipuliranje kontrolnom pločom za aktiviranje ovog štita, i vraćanje u generator štita da se parkira ili popne na kraju utakmice. Cilj je energizirati i aktivirati štit prije završetka utakmice i asteroida udariti u FIRST City, futuristički grad po uzoru na Ratove zvijezda.

Šta radi Raspberry PI sistem procesora vida?

Kamera će moći skenirati igralište i ciljne lokacije na kojima se nalaze dijelovi igre ili ih je potrebno postaviti za bodovanje. Sklop ima 2 veze, napajanje i Ethernet.

Vidne mete na igralištu su ocrtane retroreflektujućom trakom i svetlost će se reflektovati nazad do objektiva kamere. Pi koji pokreće otvoreni izvorni kod iz Chameleon Visiona (https://chameleon-vision.readthedocs.io/en/latest/…) će obraditi prikaz, označiti ga, dodati slojeve slike i izlazni korak, zakrivljenost, konturu i položaj kao vrijednosti niza poredane po x i y u metrima i kut u stupnjevima zajedno s ostalim podacima putem mrežne tablice. Te će se informacije koristiti u softveru za upravljanje našim robotom u autonomnom načinu rada, kao i za ciljanje i ispaljivanje našeg strijelca s kupolom. Na Pi -u se mogu pokrenuti i druge softverske platforme. FRC vizija se može instalirati ako je vaš tim već uložio vrijeme softvera u tu platformu.

Naš budžet je ove godine bio mali, a kupovina kamere Limelight od 399,00 USD (https://www.wcproducts.com/wcp-015) nije bila na karticama. Nabavljajući sve zalihe iz Amazona i koristeći 3D štampač Team 3512 Spartatroniks, uspio sam pakirati prilagođeni sistem za vid po cijeni od 150,00 USD. Neke stavke su došle na veliko, a za izgradnju drugog procesora bili su potrebni samo drugi Raspberry Pi, PI kamera i ventilator. Uz CAD pomoć jednog od timova mentora (hvala Matt) PI kućište je stvoreno pomoću Fusion 360.

Zašto jednostavno ne upotrijebite Pi sa jeftinim kućištem, priključite USB kameru, dodate svjetlo za prstenje, instalirate Chameleon vision i gotovo, zar ne? Pa, želio sam više energije i manje kabela i faktor hlađenja prilagođenog sistema.

Pi 4 koristi 3 pojačala ako radi punim otvorom, to jest ako koristi većinu svojih portova, te WiFi i radi na ekranu. Mi to ne radimo na našim robotima, ali USB priključci na roboRIO https://www.ni.com/en-us/support/model.roborio.ht… ocijenjeni su na 900 ma, regulator napona je modelan (VRM) 5 volti napaja do 2 ampera, ograničenje od 1,5 ampera, ali to je zajednički konektor pa ako je drugi uređaj na magistrali od 5 volti postoji mogućnost ispadanja. VRM također napaja 12 volti pri 2 ampera, ali koristimo obje veze za napajanje radija pomoću POE kabela i bačve za redundanciju. Neki inspektori FRC -a neće dozvoliti da se tu priključi ništa osim onoga što je odštampano na VRM -u. Dakle, 12 volti iz PDP -a na prekidaču od 5 ampera je mjesto gdje se Pi mora napajati.

12 volti napaja se preko prekidača od 5 ampera na ploči za distribuciju napajanja (PDP), pretvara se u 5,15 volti pomoću LM2596 istosmjernog pretvarača u DC. Buck pretvarač napaja 5 volti pri 3 ampera i ostaje u regulaciji do 6,5 volti na ulazu. Ova sabirnica od 5 volti tada napaja 3 podsistema, niz LED prstena, ventilator, Raspberry Pi.

Supplies

  • 6-paketni LM2596 pretvarač istosmjernog u istosmjerni napon Buck 3.0-40V do 1.5-35V Modul za smanjenje napajanja (6 kom) 11,25 USD
  • Noctua NF-A4x10 5V, vrhunski tihi ventilator, 3-pinski, 5V verzija (40x10 mm, smeđa) 13,95 USD
  • SanDisk Ultra 32 GB microSDHC UHS-I kartica sa adapterom-98 MB/s U1 A1-SDSQUAR-032G-GN6MA 7,99 USD
  • Modul kamere Raspberry Pi V2-8 megapiksela, 1080p 428.20
  • Hladnjak GeeekPi Raspberry Pi 4, aluminijski rashladni elementi Raspberry Pi od 20 kom sa termički provodljivom ljepljivom trakom za Raspberry Pi 4 model B (Raspberry Pi ploča nije uključena) 7,99 USD
  • Raspberry Pi 4 Model B 2019 Četverojezgreni 64 -bitni WiFi Bluetooth (4 GB) 61,96 USD
  • (Pakovanje od 200 komada) 2N2222 tranzistor, 2N2222 do-92 tranzistor NPN 40V 600mA 300MHz 625mW kroz rupu 2N2222A 6,79 USD
  • EDGELEC 100 kom. 100 ohm otpornik 1/4w (0,25 W) ± 1% tolerancije Metalni film fiksni otpornik 5,69 USD https://smile.amazon.com/gp/product/B07QKDSCSM/re… Waycreat 100PCS 5 mm zelene LED diode za svjetla jasne emitirajuće LED diode za Svjetla žarulja visokog intenziteta, žarulje sa žaruljom, elektroničke komponente, komponente diode lampe $ 6,30
  • J-B Weld Plastic Bonder $ 5.77 $

Korak 1: Prototip 1

Prototip 1
Prototip 1

Prvi test u pakovanju:

Tim je imao Pi 3 iz prethodne godine koji je bio dostupan za testiranje. Dodana je pi kamera, DC-DC krug za pojačanje/pojačanje i Andymark prstenasto svjetlo. Https: //www.andymark.com/products/led-ring-green.

U to vrijeme nisam razmišljao o Pi 4 pa nisam bio zabrinut zbog potreba za energijom. Napajanje je dobiveno putem USB -a iz roboRIO -a. Kamera se uklopila u kućište bez izmjena. Prsten je vruće zalijepljen za poklopac kućišta i ožičen na ploču za pojačavanje. Ploča za pojačavanje je priključena na GPIO portove 2 i 6 za 5 volti, a izlaz je podešen do 12 volti za pokretanje prstena. Unutar kućišta nije bilo mjesta za ploču za pojačavanje pa je i vruće zalijepljena izvana. Softver je instaliran i testiran pomoću ciljeva iz 2019. godine igre. Softverski tim pokazao je palac gore pa smo naručili Pi 4, hladnjake i ventilator. I dok su oni na putu, kućište je dizajnirano i 3d štampano.

Korak 2: Prototip 2

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

Unutrašnje dimenzije kućišta bile su u redu, ali su lokacije portova pomaknute, a ne zatvarač.

Ovo je dovršeno neposredno nakon otkrivanja nove igre kako bi softver mogao testirati na novim ciljnim lokacijama.

Dobre i loše vijesti. Izlaz svjetla u prstenu nije bio adekvatan kada smo bili udaljeni više od 15 stopa od cilja, pa je vrijeme da razmislimo o osvjetljenju. Budući da su bile potrebne promjene, smatram ovu jedinicu prototipom 2.

Korak 3: Prototip 3

Prototip 3
Prototip 3
Prototip 3
Prototip 3

Prototip 2 je ostavljen zajedno kako bi softver mogao nastaviti poboljšavati njihov sistem. U međuvremenu je pronađen još jedan Pi 3, a ja sam sastavio još jedan testni krevet. Ovo je imalo Pi3, USB lifecam 3000 direktno lemljenu na ploču, pretvarač pojačanja i ručno lemljeni niz dioda.

Opet dobre vesti, loše vesti. Niz bi mogao osvijetliti metu udaljenu 50+stopa, ali bi izgubio cilj ako je ugao veći od 22 stepena. Pomoću ovih podataka mogao bi se napraviti konačni sistem.

Korak 4: Finalni proizvod

Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod

Prototip 3 imao je 6 dioda udaljenih približno 60 stepeni i okrenute direktno ispred.

Konačne promjene su bile dodavanje 8 dioda razmaknutih 45 stepeni oko objektiva sa 4 diode okrenute prema naprijed i 4 diode isturene za 10 stepeni dajući vidno polje od 44 stepena. Ovo takođe omogućava da se kućište montira vertikalno ili horizontalno na robota. Odštampano je novo kućište sa izmjenama za smještaj Pi 3 ili Pi 4. Lice kućišta je izmijenjeno za pojedinačne diode.

Testiranje nije pokazalo probleme s performansama između Pi 3 ili 4 pa su otvori kućišta napravljeni kako bi se omogućilo instaliranje bilo kojeg Pi. Uklonjene su zadnje točke montaže, kao i ispušni otvori na vrhu kupole. Korištenje Pi 3 dodatno će smanjiti troškove. Pi 3 radi hladnije i troši manje energije. Na kraju smo odlučili koristiti PI 3 za uštedu troškova, a softverski tim je htio koristiti neki kôd koji bi se izvodio na Pi 3, a koji nije ažuriran za Pi 4.

Uvezite STL u rezač 3D štampača i idete dalje. Ova datoteka je u inčima pa ako imate rezač poput Cure, vjerojatno ćete morati skalirati dio na %2540 da biste ga pretvorili u metriku. Ako imate Fusion 360,.f3d datoteka može se izmijeniti prema vašim potrebama. Htio sam uključiti.step datoteku, ali instrukcije neće dopustiti učitavanje datoteka.

Osnovni potrebni alati:

  • Strojevi za skidanje žice
  • Kliješta
  • Lemilica
  • Termoskupljajuće cijevi
  • Rezači žice
  • Lemljenje bez olova
  • Tok
  • Ruke za pomoć ili klešta
  • Toplinski pištolj

Korak 5: Ožičenje diodnog niza

Ožičenje Diodni niz
Ožičenje Diodni niz
Ožičenje Diodni niz
Ožičenje Diodni niz
Ožičenje Diodni niz
Ožičenje Diodni niz

Sigurnosna napomena:

Lemilica Nikada ne dodirujte element lemilice ….400 ° C! (750 ° F)

Držite žice za zagrijavanje pincetom ili stezaljkama.

Spužvu za čišćenje neka bude mokra tokom upotrebe.

Lemilicu uvek vratite na postolje kada je ne koristite.

Nikada ga ne odlažite na radni sto.

Isključite uređaj i izvucite utikač iz utičnice kada se ne koristi.

Lemljenje, fluks i sredstva za čišćenje

Nosite zaštitu za oči.

Lem može „pljunuti“.

Koristite lemilice bez kolofonija i olova gdje god je to moguće.

Otapala za čišćenje držite u bocama za doziranje.

Uvijek operite ruke vodom i sapunom nakon lemljenja.

Radite u dobro provetrenim prostorijama.

OK idemo na posao:

Lice kućišta je odštampano sa rupama za diode na 0, 90, 180, 270 tačaka isječenih pod uglom od 10 stepeni. Rupe na 45, 135, 225, 315 tačaka su ravne.

Postavite sve diode u prednju stranu kućišta kako biste provjerili veličinu rupe od 5 mm. Čvrsto prianjanje diode će držati diode usmjerene pod pravim kutom. Dugi vod na diodi je anoda, lemiti otpornik od 100 ohma na svaku diodu. Lemljeni vodiči diode i otpornika se zatvaraju i ostavljaju dugi provod na drugoj strani otpornika (pogledajte fotografije). Testirajte svaku kombinaciju prije nego nastavite. AA baterija i 2 ispitna vodiča prigušit će diodu i provjeriti imate li pravilan polaritet.

Kombinujuće diode/otpornike stavite natrag u kućište, a kabele postavite u cik-cak uzorku tako da svaki kabel otpornika dodiruje sljedeći otpornik kako bi stvorio prsten. Lemite sve elektrode. Ja bih pomiješao neki J-B zavareni plastični bonder (https://www.amazon.com/J-B-Weld-50133-Tan-1-Pack) i epoksidnu kombinaciju dioda/otpornik na mjestu. Razmišljao sam o super ljepilu, ali nisam bio siguran hoće li cijanoakrilat zamagliti diodnu leću. Učinio sam to na kraju svog lemljenja, ali volio bih da sam to učinio ovdje kako bih smanjio frustracije kada diode ne leže na mjestu tijekom lemljenja. Epoksid se veže za oko 15 minuta, pa je dobro mjesto za predah.

Sada se svi katodni vodiči mogu lemiti zajedno kako bi se stvorio - ili uzemljeni prsten. Dodajte crvene i crne žice kalibra 18 ka svom diodnom prstenu. Testirajte dovršeni niz pomoću napajanja od 5 volti, USB punjač radi dobro za to.

Korak 6: Buck/Boost ožičenje

Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje
Buck/Boost ožičenje

Prije ožičenja u Buck pretvaraču, morat ćemo postaviti izlazni napon. Budući da koristimo PDP za napajanje 12 volti koje sam ožičio izravno na PDP priključak, spojen na 5 ampera. Priključite voltmetar na izlaz ploče i počnite okretati potenciometar. Bit će potrebno dosta zavoja prije nego što vidite promjenu jer je ploča tvornički testirana na punu snagu, a zatim ostavljena na toj postavci. Postavite na 5,15 volti. Postavljamo nekoliko milivolti visoko kako bi odgovarali onome što Pi očekuje da vidi od USB punjača i bilo kakvog učitavanja linija od ventilatora i nizova dioda. (Tijekom početnog testiranja vidjeli smo neugodne poruke od Pi -a koje se žale na nizak napon sabirnice. Pretraživanjem interneta dobili smo informaciju da Pi očekuje više od 5,0 volti jer većina punjača daje malo više, a tipično napajanje za Pi je USB punjač.)

Zatim moramo pripremiti slučaj:

Pretvarač dolara i Pi se drže pomoću 4-40 strojnih vijaka. #43 Svrdlo je idealno za stvaranje preciznih rupa za lijepljenje 4-40 niti. Držite Pi i Buck pretvarač do razmaka, označite, a zatim bušite pomoću svrdla #43. Visina odstupanja omogućava dovoljnu dubinu kopanja bez potpunog prolaska kroz leđa. Lupajte rupe slijepim slavinama 4-40. Samorezni vijci koji se koriste u plastici ovdje bi dobro funkcionirali, ali imao sam na raspolaganju 4-40 vijaka, pa sam to i koristio. Vijci su potrebni za omogućavanje pristupa SD kartici (s ovim kućištem nema vanjskog pristupa kartici).

Sljedeća rupa za bušenje je za vaš kabel za napajanje. Odabrao sam točku u donjem kutu kako bi prošla uz bok Ethernet kabela izvana i sa strane, a zatim ispod Pi iznutra. Koristio sam oklopljeni 2 -žični kabel jer sam imao pri ruci, bilo koji par žice od 14 kabela će raditi. Ako koristite par žica bez omotača, stavite 1 do 2 sloja termoskupljanja na žicu gdje ulazi u vaše kućište radi zaštite i rasterećenja. Veličina rupe se određuje prema vašem izboru žice.

Sada možete lemiti žice na ulazne vodove na DC-DC pretvaraču. Priključci su označeni na ploči. Crvena žica do u+ Crna žica do unutra. Izlazeći iz ploče lemio sam 2 kratke gole žice koje su služile kao žičani stub za povezivanje ventilatora, Pi i tranzistora.

Korak 7: Završno ožičenje i epoksid

Završno ožičenje i epoksid
Završno ožičenje i epoksid
Završno ožičenje i epoksid
Završno ožičenje i epoksid
Završno ožičenje i epoksid
Završno ožičenje i epoksid

Na Pi su uspostavljene samo 4 veze. Uzemljenje, napajanje, LED kontrola i kabl sa interfejsom kamere.

Tri igle koje se koriste na Pi su 2, 6 i 12.

Odrežite crvenu, crno -bijelu žicu na 4 inča. Skinite izolaciju 3/8 inča sa oba kraja žica, limenih krajeva žica i limenih igala na Pi.

  • Lemljenje crvene žice na GPIO pin 2 klizanje 1/2 inča toplotne skupljajuće cevi primenjuje toplotu.
  • Lemiti crnu žicu na GPIO pin 6 klizanja 1/2 inča termoskupljajuće cevi primeniti toplotu.
  • Lemiti bijelu žicu na GPIO pin 12 klizanja 1/2 inča termoskupljajuće cijevi primijeniti toplinu.
  • Lemiti crvenu žicu za izbacivanje+
  • Lemiti crnu žicu za izbacivanje-
  • Dodajte termalno skupljanje od 1 inča na bijelu žicu i lemite na otpornik od 100 ohma i s otpornika na bazu tranzistora. Izolirajte termoskupljanjem.
  • Odašiljač tranzistora u Buck -
  • Tranzistorski kolektor na katodnu stranu diodnog niza
  • Anodni/otpornički diodni niz prema Buck +
  • Ventilator crvene žice za izbacivanje+
  • Ventilator crne žice za izbacivanje-

Posljednja veza:

Umetnite kabl interfejsa kamere. Za spajanje kabela koristi se zif konektor (nula sile umetanja). Crnu traku na vrhu konektora potrebno je podići prema gore, kabel staviti u utičnicu, a zatim konektor gurnuti prema dolje kako bi se zaključao. Pazite da ne presavite kabel jer se trag u izolaciji može slomiti. Također konektor mora biti umetnut ravno za poravnavanje vrpčnog kabela.

Provjerite svoj rad na lutajuće žice i mrlje lemljenja, odrežite svu višak duljine na stupovima za lemljenje.

Ako ste zadovoljni svojim radom, ventilator i kamera se mogu epoksidirati. Sve što vam treba je nekoliko kapi na uglovima.

Korak 8: Softver

Softver
Softver
Softver
Softver
Softver
Softver
Softver
Softver

Dok se epoksid stvrdnjava, ubacite softver na SD karticu. za priključivanje na računar potreban vam je adapter za SD karticu (https://www.amazon.com/Reader-Laptop-Windows-Chrom….

Idi:

www.raspberrypi.org/downloads/raspbian/ i preuzmite Raspbian Buster Lite. Za fleširanje SD kartice s raspbian -om potreban vam je još jedan softverski alat BalenaEtcher, a možete ga pronaći ovdje, Do sada je epoksid trebao biti dovoljno stvrdnut da možete instalirati SD karticu i zašrafiti ploču. Prije nego što pričvrstite poklopac, provjerite da žice ne ometaju poklopac i da kabel kamere ne dodiruje lopatice ventilatora. Nakon što je poklopac postavljen, duvam u ventilator i gledam kako se pomiče kako bih se uvjerio da nema smetnji od žica ili vrpčnog kabela.

Vrijeme za uključivanje:

Prilikom prvog uključivanja trebat će vam hdmi kabel, ako je Pi 4 mini hdmi kabel, USB tipkovnica i hdmi monitor zajedno s internetskom vezom. Priključite na napajanje od 12 volti, PDP sa prekidačem od 5 ampera.

Nakon prijave, prvo što trebate učiniti je pokrenuti alat za konfiguraciju. Ovdje se može postaviti SSH zajedno s omogućavanjem PI kamere. https://www.raspberrypi.org/documentation/configur… ima upute za pomoć.

Ponovo pokrenite sistem prije instaliranja programa Chameleon Vision

Prije korištenja njihovog softvera posjetite njihovu web lokaciju, oni imaju mnoštvo informacija. Jedna napomena, na njihovoj podržanoj hardverskoj stranici Pi cam je prikazan kao nepodržan, ali je s njihovim najnovijim izdanjem. Web stranicu je potrebno ažurirati.

Sa web stranice Chameleon vision:

Chameleon Vision može raditi na većini operativnih sistema dostupnih za Raspberry Pi. Međutim, preporučuje se da instalirate Rasbian Buster Lite, dostupan ovdje https://www.raspberrypi.org/downloads/raspbian/. Slijedite upute za instaliranje Raspbiana na SD karticu.

Uverite se da je Raspberry Pi povezan preko Interneta putem Ethernet -a. Prijavite se na Raspberry Pi (korisničko ime pi i lozinka malina) i pokrenite sljedeće naredbe u terminalu:

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

$ chmod +x install.sh

$ sudo./install.sh

$ sudo ponovo pokrenite sistem

Čestitamo! Vaš Raspberry Pi je sada postavljen za pokretanje Chameleon Vision! Nakon što se Raspberry Pi ponovno pokrene, Chameleon Vision se može pokrenuti sljedećom naredbom:

$ sudo java -jar chameleon -vision.jar

Kad se objavi nova verzija Chameleon Visiona, ažurirajte je pokretanjem sljedećih naredbi:

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

$ chmod +x update.sh

$ sudo./update.sh

Kontrola LED niza:

Vaš LED niz neće svijetliti bez softverske kontrole

Prva ovogodišnja robotika ima pravilo protiv jakih LED svjetala, ali će im omogućiti ako se po potrebi mogu isključiti i uključiti. Colin Gideon "SpookyWoogin", FRC 3223, napisao je Python skriptu za kontrolu LED -a, a to se može pronaći ovdje:

github.com/frc3223/RPi-GPIO-Flash

Ovaj sistem će također pokrenuti FRC viziju ako je vaš tim već uložio vrijeme softvera u tu platformu. Uz FRC vision kompletna SD kartica je snimljena tako da nema potrebe za preuzimanjem raspbian -a. Nabavite ga ovdje

Ovo će vam omogućiti vizuelni sistem u hladnoj formi. Sretno na takmičenjima!

Raspberry Pi takmičenje 2020
Raspberry Pi takmičenje 2020
Raspberry Pi takmičenje 2020
Raspberry Pi takmičenje 2020

Drugoplasirani na Raspberry Pi takmičenju 2020

Preporučuje se: