RR.O.P. - RaspRobot OpenCV projekt (10 / 14 steg)
Steg 10: Vertikal rörelse med hjälp av CVS-systemet
För denna rörelse användes en annan motor, som var en 9g servomotor kopplad till en tilt ett personligt stöd och också nära kameran. (se bilder på steget).
Slutligen har vi utvecklat en mekanism för att få information från Y-axeln och använda dem på ett sätt som sker utöver de horisontella rörelserna och närma sig den vertikala kamerarörelser. För det användes av kameran, kan en pan-tilt stöd, vilket gjorde den vertikala rörelsen av konstgjorda receptorn för att följa utvecklingen av objekt (grön färg) på Y-axeln och dess montering gjordes framför datorn, så att kameran "se" objektet innan den kolliderar med chassit.
Detta stöd (pan-tilt) har en microservo, som är ansvarig för vertikal förflyttning av fästet tillsammans med kameran motorn. Det aktiveras via en bredd för synkpuls modulering (PWM) controller för dess användning var nödvändigt att installera en kärna som är tillgängliga för den här resursen.
Kärnan valt var Occidentalis v0. 2 av Adafruit (Klicka här för att ladda ner), vilket inkluderar normer för deklaration av tjänare. Dessa standarder är skrivna koder i en fil under skriptkörning och görs av en funktion. Denna aktiverade kärna aktivera en PWM controller på 18 GPIO (pin 12) att aktivera servomotor rotation vinkel i grader från 0 grader till 180 grader.
För att korrekt utföra vertikal justering med hjälp av pan-tilt stöd har utvecklat en teknik som liknar reglaget, där logiken är att använda den center ram och Y-axeln från en övre och undre gräns utföra den lodräta justeringen av en konstgjord receptor. Det är acceptabelt att Y-värde för objektet kvar på 60% tillåtna liknar den horisontella justeringen, att göra det vertikala stöd som inte rör sig, om det överstiger 30% upptill, är en justering av gränsen för servomotor (180 grader) vid behov. Om Y-värde för objektet överskrider 30% längst ned i förhållande till mitten av Y-axeln skatten, görs en justering att begränsa servomotor (klass 0) vid behov.
Se denna video (Hej röd objektet används endast för test!):
"MOVIMENTO_VERTICAL.py" refererar algoritm kommer denna rörelse. Nu Ja! Roboten är rörliga i alla vinklar och rörelser och redo att implementera funktioner för datorseende att lära sig rörelserna!
Det har nästan gjort våra mördarmaskin! :-)