Skip to main content

Programování robotického ramene - Python

Ikona sady nástrojů pro učitele Nástin aktivit učitele

  • Tato ukázka seznámí studenty se základním programováním motoru paže robota V5 Clawbot. 
  • Naučení se programovat motor paže umožňuje studentům správně ovládat pohyby paží robota V5 Clawbot. Více informací o instrukcích používaných v projektu Python naleznete v k VEXcode V5.

Ikona tipů pro učitele Tipy učitele Používání automatického doplňování

Automatické doplňování je funkce ve VEXcode V5, která předpovídá zbytek příkazu, který píšete. Během práce s VEXcode V5 je povzbuďte k používání funkce automatického doplňování, která jim pomůže se syntaxí Pythonu. Jakmile začnete psát instrukci, můžete si všimnout funkce automatického dokončování. Pomocí kláves „Nahoru“ a „Dolů“ vyberte požadovaný název a poté stiskněte klávesu „Tab“ nebo (Enter/Return) na klávesnici pro potvrzení výběru. Pro více informací o této funkci si přečtěte článek o Pythonu z Pracovní prostor VEXcode V5 v Pythonu se zadaným začátkem příkazu Drivetrain a otevřeným oknem automatického dokončování zobrazujícím možnosti pro zbytek příkazu.

Clawbot V5 je připraven k dosažení!

Tento průzkum vám poskytne nástroje, abyste mohli začít vytvářet skvělé projekty, které využívají paži V5 Clawbota.

  • Instrukce VEXcode V5 Python, které budou použity v tomto průzkumu:
    • arm_motor.spin_for(VPŘED, 90, STUPNĚ)
    • arm_motor.set_position(0, DEGREES)
    • čekat (2, SECONDS)
  • Chcete-li zjistit další informace o pokynu, vyberte ikonu otazníku vedle příkazu a zobrazí se další informace. 

    VEXcode V5 zobrazuje příkaz Drive for zadaný na pracovní ploše a nápovědu otevřenou vpravo pro tento příkaz. Nápověda definuje Drive for jako pohyb hnacího ústrojí na danou vzdálenost a vysvětluje, jak použít příkaz v projektu.

  • Ujistěte se, že máte stažený a připravený potřebný hardware, svůj technický notebook a VEXcode V5.
Požadované materiály:
Množství Potřebné materiály
1

VEX V5 Classroom Starter Kit (s aktuálním firmwarem)

1

VEXkód V5

1

Inženýrský zápisník

1

Příklad projektu s Clawbotem a Advanced TrainingBot (pohon 2 motory, bez gyroskopu)

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

Předveďte studentům každý krok řešení problémů.

Krok 2: Zahájení nového projektu

Před zahájením projektu vyberte správnou šablonu projektu. Ukázkový projekt Clawbota a Advanced TrainingBot (pohon 2 motory, bez gyroskopu) obsahuje konfiguraci motorů Clawbota. Pokud šablonu nepoužijete, váš robot nespustí projekt správně.

Panel nástrojů VEXcode V5 s otevřenou nabídkou Soubor a otevřenými příklady zvýrazněnými v červeném poli. Otevřít příklady je čtvrtá položka nabídky pod Projekty nových bloků, Nový textový projekt a Otevřít.

Proveďte následující kroky:

  • Otevřete nabídku Soubor.
  • VyberteOtevřítPříklady.

Ikona s nápisem Clawbot a Advanced Training Bot s šedým robotem nad textem.

  • Vyberte a otevřete ukázkový projekt Clawbot a Advanced TrainingBot (pohon se 2 motory, bez gyroskopu).
  • Protože budeme programovat pro ovládání ramene, přejmenujte svůj projektArmControl.
  • Uložtesvůj projekt.
  • Zkontrolujte, zda je název projektu ArmControl nyní v okně uprostřed panelu nástrojů.

V dialogovém okně s názvem projektu na panelu nástrojů VEXcode V5 je uvedeno Ovládání ramene a ukazuje, že je vybrán Slot 1.

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

  • Protože se jedná o úvodní aktivitu s programováním, měl by učitel nejprve namodelovat jednotlivé kroky a poté požádat studenty, aby provedli stejné akce. Učitel by pak měl sledovat, zda studenti správně dodržují kroky.
  • Ujistěte se, že studenti vybrali v nabídce Soubor možnost Otevřít příklady.
  • Ujistěte se, že si studenti vybrali vzorový projekt Clawbot a Advanced TrainingBot (pohon se 2 motory, bez gyroskopu).

          Můžete studentům upozornit, že na stránce Příklady je k dispozici několik možností, ze kterých si mohou vybrat. Při stavbě a používání jiných robotů budou mít možnost používat různé šablony.

  • Můžete studenty požádat, aby k názvu projektu přidali své iniciály nebo název své skupiny. To pomůže rozlišit projekty, pokud požádáte studenty, aby je odevzdali.

Ikona sady nástrojů pro učitele Nástroje pro učitele projektů

  • Zdůrazněte, že když poprvé otevřeli VEXcode V5, okno bylo označeno jako Projekt VEXcode. Projekt VEXcode je výchozí název projektu při prvním otevření VEXcode V5. Jakmile byl projekt přejmenován a uložen, zobrazení se aktualizovalo a zobrazovalo se nový název projektu. Pomocí tohoto okna v panelu nástrojů je snadné zkontrolovat, zda studenti používají správný projekt.
  • Řekněte studentům, že jsou nyní připraveni začít se svým prvním projektem. Vysvětlete studentům, že pouhým provedením několika jednoduchých kroků budou schopni vytvořit a spustit projekt, který bude zvedat a spouštět paži Clawbota.
  • Připomeňte studentům, aby si své projekty během práce ukládali. Články v sekci Python v knihovně VEX vysvětlují postupy ukládání ve VEXcode V5.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Zastavte a diskutujte

Toto je dobrý bod k zastavení a k tomu, aby si studentské skupiny zopakovaly kroky, které byly právě dokončeny při zahájení nového projektu ve VEXcode V5.

Krok 3: Zvedněte paži

Nyní začneme naprogramováním paže, aby se zvedla!

# Import knihovny
z importu vex *

# Zahájení kódu projektu
arm_motor.set_position(0, DEGREES)
  • Napište příkaz arm_motor.set_position(), jak je uvedeno výše, do programovací oblasti pro nastavení počáteční polohy ramene.
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
  • Přidejte příkaz arm_motor.spin_for()pod příkaz arm_motor.set_position() , jak je znázorněno výše, pro pohyb ramene nahoru.

Panel nástrojů VEXcode V5 s otevřeným výběrem slotu vedle názvu projektu. Slot 1 je vybrán a zvýrazněn červeným rámečkem a název projektu zní Arm Control.

  • Vyberte ikonu Slot. Svůj projekt si můžete stáhnout do jednoho z dostupných slotů v Robot Brain. Vyberte Slot 1.

Obrázek panelu nástrojů ve VEXcode V5 s červeným rámečkem kolem zelené ikony ramene

Panel nástrojů ve VEXcode V5 s červeným rámečkem kolem tlačítka stahování. Ikony zobrazené zleva doprava jsou Controller, Brain, Download, Run a Stop.

  • Klikněte na tlačítkoStáhnoutna panelu nástrojů pro stažení projektu ArmControl do robotického mozku.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele

Pokud studenti používají počítač, požádejte je, aby nyní odpojili USB kabel od robotického mozku. Pokud je robot během spouštění projektu připojen k počítači, může to způsobit, že bude tahat za připojovací kabel.

V5 Brain Home Screen zobrazuje projekt Arm Control ve slotu 1 v levém dolním rohu. V řádku výše jsou ikony Drive, Devices, Settings a VEX.

  • Zkontrolujte, zda se projekt ArmControl stáhl do mozku ve vámi zvoleném slotu.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Model

Předveďte spuštění projektu před třídou, než ho všichni studenti zkusí najednou. Shromážděte studenty na jednom místě a nechte dostatek prostoru, aby Clawbot mohl pohybovat svou paží. Ukažte, jak ukončit projekt a vrátit paži Clawbota do klidové polohy.

Řekněte studentům, že nyní je řada na nich, aby vypracovali své projekty. Ujistěte se, že mají dostatek prostoru pro bezpečné zvednutí paže Clawbota.
 

  • Spusťte projekt na Clawbotu tak, že se ujistíte, že je projekt vybrán, a poté stisknete tlačítko Spustit. Gratulujeme k vytvoření vašeho prvního projektu Claw Arm!

Krok 4: Vyzkoušejte toto: Naprogramujte paži dolů

Nyní, když jste naprogramovali rameno, aby se pohybovalo nahoru, budete nyní naprogramovat rameno pro spouštění nebo pohyb dolů.

Boční pohled na Clawbota V5 s paží dolů

Obrázek VEX V5 Clawbot s paží dolů

  • Přidejte do projektu ArmControl druhý příkaz arm_motor.spin_for(), aby se rameno zvedlo o 90 stupňů, počkalo 2 sekundy a poté se spustilo zpět.
    • Nápověda:Budete muset změnit směr v rámci příkazu.
  • Všimněte si, že rameno drží svou pozici, zatímco je spuštěn příkazwait. Motor čerpá energii z baterie, aby držel rameno proti gravitační síle. Je to proto, že výchozí nastavení pro zastavení motoru je nastaveníhold. Pro zastavení existují dvě další nastavení -brzdaavolný doběh. O těch se dozvíte v jiné laboratoři.

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

Řešení problému je uvedeno níže. studenti mohli rameno spustit dolů, museli v příkazu arm_motor.spin_for) změnit parametr „VPŘED“ na „ZADÁNÍ.

# Začátek projektu kód
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
wait(2, SECONDS)
arm_motor.spin_for(REVERSE, 90, DEGREES)

Krok 5: Dokončete výzvu řídícího letového provozu

Boční pohled na Clawbota V5 s paží zvednutou nahoru a šipkami pod ní ukazujícími pohyb nahoru a dolů.

Obrázek Clawbota V5 se zdviženou paží s červenými šipkami směřujícími nahoru a dolů, které ukazují, jak může Clawbot zvednout a spustit paži Ve výzvě Flight Traffic Controller Challenge musí Clawbot pohnout paží nahoru a dolů jednou o 90 stupňů, počkat 3 sekundy, pohnout paží dvakrát nahoru a dolů o 45 stupňů, počkat 5 sekund a poté posunout paži nahoru a dolů o tři sekundy. krát pro 90 stupňů.

Zde je seznam chování Clawbota:

  • Pohybujte paží nahoru a poté dolů o 90 stupňů.
  • Počkejte 3 sekundy.
  • Pohybujte paží nahoru a poté dolů o 45 stupňů.
  • Pohybujte paží nahoru a poté dolů o 45 stupňů.
  • Počkejte 5 sekund.
  • Pohybujte paží nahoru a poté dolů o 90 stupňů.
  • Pohybujte paží nahoru a poté dolů o 90 stupňů.
  • Pohybujte paží nahoru a poté dolů o 90 stupňů.

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

Většina příkazů v této výzvě je arm_motor.spin_for(). Po přidání příkazu pro pohyb ramene nahoru a jednoho pro pohyb ramene dolů můžete oba příkazy označit, kliknout pravým tlačítkem myši a poté je zkopírovat a vložit tolikrát, kolikrát je potřeba. Pak lze parametry změnit tak, aby splňovaly daný požadavek, a mezi ně lze přidat příkazy wait.Projekt VEXcode V5 v Pythonu v pracovní ploše se dvěma zvýrazněnými otočnými tlačítky pro bloky a otevřenou kontextovou nabídkou vpravo. V kontextové nabídce je zvýrazněna možnost Kopírovat. Kopírovat se zobrazí mezi Vyjmout a Vložit.

  • Prohlédněte si příklad řešení úkolu pro řídícího letového provozu zde: 
# Začátek projektu
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(ZPĚT, 90, STUPŇŮ)
arm_motor.spin_for(VPŘED, 90, STUPŇŮ)
arm_motor.spin_for(ZPĚT, 90, STUPŇŮ)

Pokročilejší studenti mohou pro zjednodušení řešení použít smyčky.

# Začátek projektu
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
for repeat_count in range(2): 
    arm_motor.spin_for(FORWARD, 45, DEGREES)
    arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
for repeat_count in range(3):
    arm_motor.spin_for(FORWARD, 90, DEGREES)
    arm_motor.spin_for(REVERSE, 90, DEGREES)