Soutěžní spojení: Bod obratu - Python
Schopnosti robotů
Hra Turning Point ze soutěže VEX Robotics Competition z let 2018–2019 vyžadovala od hráčů mimo jiné přepínání vlaječek. Celkem bylo devět vlajek: tři spodní, které mohl robot přepínat, a šest horních vlajek, které bylo možné přepínat pouze údery herními figurkami. Soutěžní týmy musely vymyslet způsob, jak zasáhnout vyšší vlajky pomocí vrhače míčů. Dovedete si představit, že programování robota tak, aby zasahoval vlajky pomocí figurek na hrací ploše měřením, nemusí být vždy přesné. Pokud robot během autonomního období udělá jednu špatnou odbočku, existuje možnost, že žádný z praporků nebude zasažen, protože výpočty budou chybné. Podobně i v případě výzvy Řidičské dovednosti může být pro týmy obtížné ručně zarovnat robota dostatečně do správné polohy, aby mohl správně odpálit míč. Zkušené týmy by tedy naprogramovaly robota pomocí vizuální senzoru k detekci vlaječek a následnému správnému zarovnání robota, aby mohl pořizovat přesné záběry.
Rozšiřte si své znalosti
Pro rozšíření této aktivity požádejte studenty, aby navrhli a načrtli projekt, v němž se robot bude pohybovat směrem k detekovaným žlutým objektům, které by mohli potenciálně použít v této soutěžní hře!
Požádejte studenty, aby udělali následující:
-
Otevřete vzorový projekt šablony Clawbot (pohon, 2 motory, bez gyroskopu).

- Při programování senzoru Vision použijte jako referenci ukázkový projekt Detekce objektů (Vision) Při programování senzoru Vision použijte jako referenci ukázkový projekt Detekce objektů (Vision) (Google Doc .v5python).
-
Přidejte vizuální senzor do konfigurace Clawbota (pohon, 2 motory, bez gyroskopu) a poté nakonfigurujte vizuální senzor pro detekci červených a modrých objektů. Další informace naleznete vKonfigurace kamerového senzoru.

- Naprogramujte Clawbota tak, aby se pohyboval směrem k detekovanému objektu. Clawbota lze dokonce naprogramovat tak, aby zvedl ruku, jako by přepínal vlajku!
- Stáhněte si a spusťte projekt a zjistěte, zda vizuální senzor dokáže detekovat žluté objekty, jako jsou žluté míčky ve hře VRC Turning Point. Pokud dokáže vizuální senzor detekovat objekty, pohybuje se robot na základě těchto detekovaných objektů? Pro pomoc se stahováním a spuštěním projektusi přečtěte tento článek.
- Pokud to čas dovolí, připravte herní pole podobné hřišti Turning Point. Procvičte si používání vizuální senzoru, aby se robot mohl pohybovat a získávat body!
Podívejte se na ukázkové řešení níže:
# Knihovna importuje
z vex import *
# Začátek kódu projektu
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(FORWARD, 300, DEGREES)
claw_motor.spin_for(FORWARD, 100, DEGREES)
drivetrain.drive_for(FORWARD, 12, INCHES)
arm_motor.spin_for(REVERSE, 300, DEGREES)
claw_motor.spin_for(REVERSE, 100, DEGREES)
else:
brain.screen.print("Žádný žlutý objekt")
# obslužné rutiny systémových událostí
check_yellow(check_yellow_callback)
# krátké zpoždění pro zajištění připravenosti obslužných rutin událostí k použití
wait(15, MSEC)
# neustále kontroluje nová data ze senzorů
while True:
check_blue.broadcast_and_wait()
wait(105, MSEC)