- Charmed Labs Pixy2 Robot Vision-beeldsensor
- Kleiner en sneller (60 frames per seconde) dan de vorige Pixy1
- Nieuwe modus "lijn volgen" met aangepaste algoritmen voor het detecteren en volgen van lijnen
- Verbeterde PixyMon-software (pc/Mac/Linux-toepassing)
De Charmed Labs Pixy 2.1 Robot Vision-beeldsensor is kleiner, sneller en beter in staat dan de originele Pixy.
Pixy 2 kan leren objecten te detecteren die je hem leert, gewoon door op een knop te drukken. Bovendien heeft het nieuwe algoritmen die lijnen detecteren en volgen voor gebruik met lijnvolgende robots. De nieuwe algoritmen kunnen ook kruispunten en "verkeersborden" detecteren. De verkeersborden kunnen uw robot vertellen wat hij moet doen, zoals linksaf, rechtsaf, vertragen, enz.
En Pixy2 doet dit allemaal met 60 frames per seconde, dus je robot kan ook snel zijn. Pixy2 wordt geleverd met een speciale kabel om rechtstreeks op een Arduino aan te sluiten en een USB-kabel om op een Raspberry Pi aan te sluiten, zodat je snel aan de slag kunt. Geen Arduino of Raspberry Pi? Geen probleem! Pixy2 heeft verschillende interfaces (SPI, I2C, UART en USB) en eenvoudige communicatie, zodat u de door u gekozen controller in korte tijd met Pixy2 kunt laten praten.
Breder gezichtsveld
De nieuwe versie 2.1 heeft een gezichtsveld van 80 graden en biedt een groter gezichtsveld. Er is wat sferische vervorming met de nieuwe lens, die wordt geleverd met het bredere gezichtsveld.
Vervangbare lens en instelbare focus
Met de M12-lensbevestiging kunt u een andere lens vervangen en heeft een instelbare focus waarmee u kunt scherpstellen op objecten op vrijwel elke afstand, zelfs tot op 0,25 inch.
Minder chromatische vervorming en minder pixelruis
De nieuwe lens heeft vrijwel geen chromatische vervorming aan de randen, terwijl de vorige Pixy-versie meetbare chromatische vervorming had.
Ook heeft de nieuwe lens een F-stop van 2,0 versus de vorige lens met een F-stop van meer dan 3,0. Dit betekent een beter vermogen om licht te verzamelen, meer signaal en minder ruis voor een bepaalde hoeveelheid omgevingslicht. Minder ruis betekent een betere detectienauwkeurigheid voor deze nieuwe Pixy-versie.
Als u wilt dat uw robot een taak uitvoert zoals het oppakken van een object, het achtervolgen van een bal, het lokaliseren van een laadstation, enz., en u wilt dat één enkele sensor al deze taken uitvoert, dan is zicht uw sensor. Vision (beeld)sensoren zijn handig omdat ze zo flexibel zijn. Met het juiste algoritme kan een beeldsensor praktisch alles waarnemen of detecteren.
Maar er zijn twee nadelen aan beeldsensoren: 1) ze voeren veel gegevens uit, tientallen megabytes per seconde, en 2) het verwerken van deze hoeveelheid gegevens kan veel processors overweldigen. En als de processor de gegevens kan bijhouden, zal veel van zijn verwerkingskracht niet beschikbaar zijn voor andere taken.
Pixy2 lost deze problemen op door een krachtige speciale processor te koppelen aan de beeldsensor. Pixy2 verwerkt beelden van de beeldsensor en stuurt alleen de nuttige informatie (bijv. paarse dinosaurus gedetecteerd op x=54, y=103) naar je microcontroller. En het doet dit op framerate (60 Hz). De informatie is beschikbaar via een van de verschillende interfaces: UART seriële, SPI, I2C, USB of digitale/analoge uitgang. Dus je Arduino of andere microcontrollers kunnen gemakkelijk praten met Pixy2 en hebben nog steeds voldoende CPU beschikbaar voor andere taken.
60 beelden per seconde
Wat betekent "60 frames per seconde"? Kortom, het betekent dat Pixy2 snel is. Pixy2 verwerkt elke 1/60e van een seconde (16,7 milliseconde) een volledig beeldframe. Dit betekent dat u elke 16,7 ms een volledige update krijgt van de posities van alle gedetecteerde objecten.
Met deze snelheid is het mogelijk om het pad van de vallende/stuiterende bal te volgen. (Een bal met een snelheid van 40 mph beweegt minder dan een voet in 16,7 ms.) Als uw robot lijnvolging uitvoert, zal uw robot doorgaans een kleine fractie van een inch tussen frames bewegen.
Paarse dinosaurussen (en andere dingen)
Pixy2 gebruikt een op kleuren gebaseerd filteralgoritme om objecten te detecteren, het zogenaamde Color Connected Components (CCC) -algoritme. Op kleuren gebaseerde filtermethoden zijn populair omdat ze snel, efficiënt en relatief robuust zijn. De meesten van ons zijn bekend met RGB (rood, groen en blauw) om kleuren weer te geven. Pixy2 berekent de kleur (tint) en verzadiging van elke RGB-pixel van de beeldsensor en gebruikt deze als de primaire filterparameters.
De tint van een object blijft grotendeels onveranderd met veranderingen in belichting en blootstelling. Veranderingen in belichting en blootstelling kunnen een frustrerend effect hebben op kleurfilteralgoritmen, waardoor ze kapot gaan. Het filteralgoritme van Pixy2 is robuust als het gaat om veranderingen in belichting en blootstelling.
Zeven kleursignaturen
Het CCC-algoritme van Pixy2 onthoudt tot 7 verschillende kleursignaturen, wat betekent dat als je 7 verschillende objecten met unieke kleuren hebt, het kleurfilteralgoritme van Pixy2 geen probleem zal hebben om ze te identificeren. Als je er meer dan zeven nodig hebt, kun je kleurcodes gebruiken.
Leer het de objecten waarin je geïnteresseerd bent
Pixy2 is uniek omdat je het fysiek kunt leren wat je wilt voelen. Paarse dinosaurus? Plaats de dinosaurus voor Pixy2 en druk op de knop. Oranje bal? Plaats de bal voor Pixy2 en druk op de knop. Het is gemakkelijk, en het is snel.
Meer specifiek leer je Pixy2 door het object voor de lens te houden terwijl je de knop bovenop ingedrukt houdt. Daarbij geeft de RGB-led onder de lens feedback over naar welk object hij direct kijkt. De LED wordt bijvoorbeeld oranje als er een oranje bal recht voor Pixy2 wordt geplaatst. Laat de knop los en Pixy2 genereert een statistisch model van de kleuren in het object en slaat deze op in flash. Het zal dan dit statistische model gebruiken om vanaf dat moment objecten met vergelijkbare kleursignaturen in zijn frame te vinden.
Pixy2 kan zeven kleursignaturen leren, genummerd 1-7. Kleur handtekening 1 is de standaard handtekening. Om Pixy2 de andere handtekeningen (2-7) te leren, is een eenvoudige druk op de knop vereist.
PixyMon laat je zien wat Pixy ziet
PixyMon is een applicatie die draait op Windows, macOS en Linux. Hiermee kun je zien wat Pixy ziet, als onbewerkte of verwerkte video. Hiermee kunt u ook uw Pixy configureren, de uitvoerpoort instellen en kleurhandtekeningen beheren. PixyMon communiceert met Pixy via een standaard mini-USB-kabel. PixyMon is geweldig voor het debuggen van uw toepassing.
Controller-ondersteuning
Pixy kan gemakkelijk verbinding maken met veel verschillende controllers omdat het verschillende interface-opties ondersteunt (UART-serieel, SPI, I2C, USB of digitale/analoge uitgang), maar Pixy begon zijn leven met Arduinos. Ondersteuning voor Arduino Due, Raspberry Pi en BeagleBone Black is toegevoegd.