Skip to main content

Automatizovaná výzva - Python

Půdorys Automed Challenge včetně vymezení plochy následovně: Lékárna, Místnost 1, Místnost 2, Místnost 3, Start a Výtah. Pokoj 2 a pokoj 3 jsou ve druhém patře, všechny ostatní pokoje jsou v prvním patře. Měření jsou označena, přičemž celý půdorys se vejde do obdélníku o rozměrech 2 x 1,8 metru.
Automed Challenge rozvržení nemocnice s rozměry

Automatická výzva

V této výzvě musíte naprogramovat svého robota, aby navigoval v nemocnici, protože dodává léky pacientům v několika různých místnostech.

Ikona tipů pro učitele Tipy pro učitele

Zvyšte zapojení tím, že vytvoříte příběh o nemocnici! O jaký typ nemocnice se jedná a jakým typům pacientů nemocnice slouží?

Pravidla výzvy

  • Robot musí začínat a končit v počáteční zóně.

  • Celý robot musí být uvnitř lékárny, výtahu a pacientských pokojů a čekat na následující časy, aby mohl dokončit akce:

    • Lékárna: Na vyzvednutí léků počkejte alespoň 5 sekund.

    • Výtah: Počkejte alespoň 5 sekund, než se dostanete na další patro.

    • Pacientský pokoj: Vyčkejte alespoň 3 sekundy, než odešlete léky.

  • Robot nesmí přijít do styku s žádnými stěnami ani přes ně nesmí přejít.

  • Robot musí nejprve navštívit lékárnu, aby vyzvedl léky pro pacientské pokoje.

  • Robot musí navštívit každou z pacientských místností (v žádném konkrétním pořadí), aby mohl odevzdat léky.

  • Bavte se!

Ikona sady nástrojů pro učitele Řešení – pro učitele – sada nástrojů

Programovací rubriku pro hodnocení studentů naleznete zde (Google / .docx / .pdf).

Podívejte se níže na ukázkové řešení VEXcode V5 v Pythonu: 

# Knihovna importuje
z vex import *

# Začátek kódu projektu

# Přejít do místnosti lékárny
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1350, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)

# Přejít do místnosti 1
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6 SECONDS)

# Jdi k výtahu
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6 SECONDS)

# Jdi do místnosti 2
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1000, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)

# Jdi do místnosti 3
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)

# Jdi k výtahu
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 750, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(VPŘED, 750, MM)
wait(6 SEKUND)

# Návrat do počáteční zóny
drivetrain.drive_for(ZADEK, 1500, MM)