Programování robotického ramene - C++
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.

- Ujistěte se, že máte stažený a připravený potřebný hardware, svůj technický notebook a VEXcode V5.
| 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ů?
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ě.
Proveďte následující kroky:
- Otevřete nabídku Soubor.
- VyberteOtevřítPříklady.
- 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ů.

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.
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.
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.
- 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.
- Připojte robota k počítači nebo tabletu. Ikona mozku v panelu nástrojůse po úspěšném navázání připojení rozsvítí zeleně.
- Klikněte na tlačítkoStáhnoutna panelu nástrojů pro stažení projektu Drive do robotického mozku.
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.

- Zkontrolujte, zda se projekt ArmControl stáhl do mozku ve vámi zvoleném slotu.
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ů.

- 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.
Ř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

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ňů.
Ř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().
- Ř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ňů);
}- Programovací rubrika (Dokumentace Google / .docx / .pdf)