Concurrentieverbinding: keerpunt - Python
Robotmogelijkheden
In de VEX Robotics Competition van 2018-2019, het spel Turning Point, moesten spelers onder andere vlaggen omwisselen. In totaal waren er negen vlaggen: drie onderste vlaggen die door de robot konden worden verplaatst, en de zes hoge vlaggen die alleen konden worden verplaatst door er met wedstrijdbalstukken op te slaan. Wedstrijdteams moesten een manier bedenken om de hogere vlaggen te raken met behulp van een balwerper. Stel je voor dat het programmeren van de robot om de vlaggen te slaan met behulp van balspelstukken door middel van meting niet altijd nauwkeurig is. Als de robot tijdens de autonome periode één verkeerde afslag maakt, bestaat de kans dat geen van de vlaggen wordt geraakt, omdat de berekeningen niet kloppen. Ook bij de Driving Skills-uitdaging kan het lastig zijn voor teams om de robot handmatig goed uit te lijnen om de bal goed te kunnen lanceren. Zo zouden deskundige teams de robot programmeren met behulp van de Vision Sensor om vlaggen te detecteren en vervolgens de robot correct uit te lijnen om nauwkeurige schoten te kunnen lossen.
Breid uw leerproces uit
Om deze activiteit uit te breiden, kunt u uw leerlingen vragen een project te ontwerpen en te schetsen waarin de robot naar gedetecteerde gele objecten beweegt die ze mogelijk kunnen gebruiken voor dit wedstrijdspel!
Vraag uw leerlingen het volgende te doen:
-
Open het voorbeeldprojectsjabloon Clawbot (aandrijflijn, 2 motoren, geen gyro).

- Gebruik het voorbeeldproject Detecting Objects (Vision) als referentie bij het programmeren van de Vision Sensor.Gebruik het voorbeeldproject Detecting Objects (Vision) als referentie bij het programmeren van de Vision Sensor (Google Doc / .v5python).
-
Voeg de Vision Sensor toe aan de Clawbot-configuratie (aandrijflijn, 2 motoren, geen gyro) en configureer de Vision Sensor vervolgens om rode en blauwe objecten te detecteren. Raadpleeg artikel Configuratie van de Vision Sensore voor meer informatie.

- Programmeer de Clawbot om naar het gedetecteerde object toe te bewegen. De Clawbot kan zelfs zo geprogrammeerd worden dat hij zijn arm optilt, alsof hij een vlag omdraait!
- Download en voer het project uit om te zien of de Vision Sensor gele objecten kan detecteren, zoals de gele ballen in het VRC Turning Point-spel. Als de Vision Sensor objecten kan detecteren, beweegt de robot dan op basis van de gedetecteerde objecten? Voor hulp bij het downloaden en uitvoeren van een project,bekijk dit artikel.
- Als de tijd het toelaat, richt dan een speelveld in dat lijkt op het Turning Point-veld. Oefen met het gebruik van de Vision Sensor, zodat de robot punten kan scoren!
Bekijk hieronder de voorbeeldoplossing:
# Bibliotheek importeert
van vex import *
# Begin projectcode
check_yellow = Event()
def check_yellow_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)
if (vision_5_objects):
arm_motor.spin_for(VOORUIT, 300, GRADEN)
claw_motor.spin_for(VOORUIT, 100, GRADEN)
drivetrain.drive_for(VOORUIT, 12, INCHES)
arm_motor.spin_for(ACHTERUIT, 300, GRADEN)
claw_motor.spin_for(ACHTERUIT, 100, GRADEN)
anders:
brain.screen.print("Geen geel object")
# systeemgebeurtenis-handlers
check_yellow(check_yellow_callback)
# kleine vertraging om te garanderen dat de gebeurtenis-handlers klaar zijn voor gebruik
wait(15, MSEC)
# wordt constant uitgevoerd om te controleren op nieuwe sensorgegevens
while True:
check_blue.broadcast_and_wait()
wait(105, MSEC)