Stap 10: Verticale beweging met behulp van de CVS
Voor deze beweging werd een andere motor, zoalsgespecificeerd was een 9g servomotor gekoppeld aan een tilt pan ondersteuning en ook in de buurt van de camera. (zie foto's van de stap).
Ten slotte, ontwikkelden we een mechanisme om de informatie van de Y-as krijgen en ze gebruiken op een manier die doet zich naast de horizontale bewegingen en aanpak van de verticale camerabewegingen. Voor het werd gebruikt door de camera, kan een pan-tilt-support, waarbij de verticale beweging van de kunstmatige receptor ingeschakeld om de verplaatsing van het object (groene kleur) op de Y-as die haar vergadering werd gedaan vóór het systeem, waardoor de camera volgen 'zien' het object voordat het botst met het chassis.
Deze steun (pan-tilt) heeft een microservo, dat de motor die verantwoordelijk is voor de verticale beweging van de beugel samen met de camera is. Het wordt geactiveerd via een puls breedte modulatie (PWM) controller voor het gebruik ervan was noodzakelijk om een Kernel beschikbaar voor deze bron te installeren.
De kernel die gekozen was Occidentalis v0. 2 van Adafruit (Klik hier om te downloaden), waarin normen voor de verklaring van de knecht. Deze normen zijn geschreven codes in een bestand tijdens de uitvoering van het script en worden gemaakt door een functie. Deze ingeschakelde Kernel activeren een PWM controller op de 18 GPIO (pin 12) waardoor de servomotor draaihoek onder een hoek in graden van 0 graden tot 180 graden.
Voor het goed uitvoeren van verticale aanpassing met behulp van de pan-tilt-steun heeft ontwikkeld een techniek vergelijkbaar met de schuifregelaar, waar de logica is het gebruik van het centrum-frame en de Y-as van een bovenste en onderste grenswaarden uit te voeren de verticale aanpassing van een kunstmatige receptor. Het is aanvaardbaar voor de Y-waarde van het object in de toegestane vergelijkbaar met de horizontale aanpassing, waardoor de verticale steun die niet overgaat, als het groter is dan 30% aan de top, is een aanpassing van de limiet van de servomotor (180 graden) indien nodig van 60% te blijven. Als de Y-waarde van het object groter is dan 30% ten opzichte van het middelpunt van de Y-as belasting onderaan, is een correctie te beperken van de servomotor (rang 0) indien nodig.
Kijken deze video (hey het rode object werd alleen gebruikt voor test!):
De "MOVIMENTO_VERTICAL.py" verwijst algoritme zal deze beweging. Nu ja!!! De robot is bewegen op alle hoeken en bewegingen en klaar om uit te voeren van de functies van computervisie om te leren de bewegingen!
Het heeft onze moordmachine bijna klaar! :-)