Skip to main content

Programování robotického ramene - C++

Ikona sady nástrojů pro učitele Osnova aktivity pro 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. Další informace o instrukcích používaných v textovém programu naleznete v

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.

  • Pokyny VEXcode V5, které budou použity v tomto průzkumu:
    • ArmMotor.spinFor(dopředu, 90,stupňů);
    • ArmMotor.setPosition(0, stupně);
    • čekat(2, sekundy);
  • Chcete-li zjistit více informací o pokynu, vyberte Nápověda a poté vyberte ikonu otazníku vedle příkazu, abyste viděli 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

Startovací sada VEX V5 pro učebnu (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)

Krok 1: Příprava na průzkum

Než začnete s aktivitou, máte každou z těchto položek připravenou? Zkontrolujte každou z následujících možností:

  • Jsou motory zapojeny do správných portů?

  • Jsou inteligentní kabelyzcela zasunutydo všech motorů?

  • Je mozek zapnutý na?

  • Je baterie

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ápisy Clawbot a Advanced TrainingBot s šedým robotem nad textem.

  • Vyberte a otevřete ukázkový projekt Clawbot a Advanced TrainingBot (pohon 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 studenti vybrali vzorový projekt s šablonou Clawbot (pohon se 2 motory, bez gyroskopu).

    Můžete studentům upozornit, že na stráncePříkladyje 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 MyProject1. MyProject1 je výchozí název projektu při prvním otevření VEXcode V5. Jakmile byl projekt přejmenován na Drive a uložen, zobrazení se aktualizovalo a zobrazovalo 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ánekze znalostní báze VEX Robotics vysvětluje 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!

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  ArmMotor.setPosition(0, stupně);

}
  • Napište ArmMotor.setPosition(); instrukce, jak je uvedeno výše v programovací oblasti, pro nastavení výchozí pozice pro rameno.
  ArmMotor.setPosition(0, stupně);
  ArmMotor.spinFor(vpřed, 90, stupňů);
  • Přidejte ArmMotor.spinFor(); instrukce pod příkazem ArmMotor.setPosition(), jak je znázorněno výše, posuňte paži nahoru. Ujistěte se, že Spin For je odsazen tak, aby odpovídal příkazu Set Position , a že všechny příkazy jsou ve složených závorkách.

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.

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

Panel nástrojů ve VEXcode V5 s červeným rámečkem kolem zelené ikony mozku. Ikona Mozek je napravo od ikony Controller a nalevo od tlačítka Stáhnout.

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 Drive do robotického mozku.

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

  • 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ů modelovat jako první

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ťteprojekt 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ů.

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

  • Přidejte druhý ArmMotor.spinFor(); pokyn k vašemu projektu ArmControl tak, aby se paže zvedla o 90 stupňů, počkala 2 sekundy a pak se vrátila dolů.
    • Nápověda:Budete muset změnit směr v rámci instrukce.
  • 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í výzvy je uvedeno níže. Aby studenti mohli rameno spustit dolů, museli v přidané instrukci ArmMotor.spinFor(); změnit parametr „vpřed“ na „vzad“.

// Začátek projektu kód
int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  ArmMotor.setPosition(0, stupňů);
  ArmMotor.spinFor(vpřed, 90, stupňů);
  wait(2, sekundy);
  ArmMotor.spinFor(vzad, 90, stupňů);
  
}

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

Obrázek Clawbota VEXcode V5 se zdviženou paží a červenými šipkami směřujícími nahoru a dolů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 instrukcí v této výzvě je ArmMotor.spinFor();. Po přidání instrukce pro pohyb ramene nahoru a jedné pro pohyb ramene dolů můžete tyto dvě instrukce zvýraznit, 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 instrukce lze přidat wait().

Projekt VEXcode V5 C++ v pracovním prostoru se zvýrazněným příkazem Arm Motor set position a otevřenou kontextovou nabídkou. Kurzor se v kontextové nabídce nachází nad příkazem Kopírovat, což je jedenáctý příkaz v seznamu, hned po příkazu Vyjmout.

  • Řešení výzvy pro řídícího letového provozu: 
// Začátek projektu kód
int main() {

  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  ArmMotor.setPosition(0, stupňů);
  ArmMotor.spinFor(vpřed, 90, stupňů);
  ArmMotor.spinFor(vzad, 90, stupňů);
  wait(3, sekundy)
  ArmMotor.spinFor(vpřed, 45, stupňů);
  ArmMotor.spinFor(vzad, 45, stupňů);
  ArmMotor.spinFor(vpřed, 45, stupňů);
  ArmMotor.spinFor(vzad, 45, stupňů);
  wait(5, sekundy)
  ArmMotor.spinFor(vpřed, 90, stupňů);
  ArmMotor.spinFor(vzad, 90, stupňů);
  ArmMotor.spinFor(vpřed, 90, stupňů);
  ArmMotor.spinFor(vzad, 90, stupňů);
  ArmMotor.spinFor(vpřed, 90, stupňů);
  ArmMotor.spinFor(otáčení, 90, stupňů);
  
}