Obsah:
- Krok 1: Co je programování řízené událostmi?
- Krok 2: Logický tok programování řízeného událostmi
- Krok 3: Tvůrce událostí
- Krok 4: Procesor událostí
Video: Programování řízené událostmi ve FTC: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Tento rok náš tým odvedl velký kus práce s vývojem softwaru řízeného událostmi pro našeho robota. Tyto programy umožnily týmu přesně vyvíjet autonomní programy a dokonce i opakovatelné tele-op události. Protože je softwarová práce, kterou vyžaduje, složitá, rozhodli jsme se sdílet znalosti, které jsme získali při vývoji kódu řízeného událostmi pro FTC roboty.
Krok 1: Co je programování řízené událostmi?
Obecně řečeno, programování řízené událostmi je podle Techopedia vývoj programů, které reagují na vstupy uživatelů. V tomto smyslu je mnoho programů považováno za událostmi řízené, včetně týmového tele-op programu, který při provádění jakékoli akce spoléhá na vstupy z ovladače řízeného lidmi. Pokud jde o práci, kterou náš tým vykonával, programování založené na událostech je o vytváření softwaru z různých vstupů; jinými slovy, dokumentujeme události na základě vstupů řadičů a senzorů, poté můžeme tyto události zařadit do fronty a pomocí souboru znovu spustit zaznamenanou událost.
Tato metoda vývoje programů pro našeho robota má několik výhod:
- Umožňuje nám vytvářet přesné autonomní programy. Vzhledem k tomu, že vytváříme software v reálném čase a procházíme událostmi, shromážděné a použité hodnoty senzorů budou velmi přesné, protože pocházejí přímo z původní události.
- Umožňuje nám rychle vytvářet autonomní programy. Vytváření autonomních programů je stejně jednoduché jako zaznamenávání série událostí a jejich přizpůsobování podle potřeby.
- Umožňuje nám vytvářet automatické procesy pro tele-op. U opakovaných akcí v tele-op nám programování řízené událostmi umožňuje zaznamenat tyto akce a přiřadit událost tlačítku během zápasů ovládaných řidičem. Tyto automatizované události mohou být ovlivněny senzory, aby bylo umožněno jejich přesné provedení.
Krok 2: Logický tok programování řízeného událostmi
Následující text zobrazuje logický tok programu řízeného událostmi: červená zobrazuje vytvoření události a modrá znázorňuje volání události. Pro vytvoření události je sekvence vstupů převzata prostřednictvím akce robota a zaznamenána jako události; tyto události jsou zapsány do souboru. Při volání události se tento soubor načte a vstupy se odešlou do procesoru událostí, aby se kód souboru proměnil v akci robota.
Krok 3: Tvůrce událostí
Tvůrci událostí se používají k dokumentaci akcí nebo „událostí“na základě řady senzorů a tlačítek. Když robot provádí akce na poli, třída tvůrce událostí vytváří události pro každou z těchto akcí souběžně a odkazuje na událost zařazenou do třídy událostí. Po vytvoření je událost zařazena do fronty událostí ve třídě událostí: první událost zaujímá první místo, poté druhá událost zaujímá první místo a tlačí dolů všechny události pod ním, a to pokračuje, dokud se program nezastaví. Když je program zastaven, události přejdou do souboru formátu čitelného pro člověka, například do souboru JSON. Tento soubor lze použít k lepšímu zlepšení autonomních rutin.
Výše uvedený kód kódu nastavuje parametry pro událost, což je v tomto případě obrat pomocí senzoru IMU. Událost pak zařadíme do fronty událostí. Nakonec událost zkrátíme, což v podstatě resetuje událost, abychom ji mohli použít k zařazení do budoucích událostí.
Krok 4: Procesor událostí
Třídy událostí přebírají soubor čitelný pro člověka vytvořený ve třídě tvůrců událostí a dělají vše, co jim každá událost ve frontě řekne, aby volaly metody popsané ve třídě procesorů událostí. Třída procesoru událostí pak sděluje robotovi, jakou událost má přehrát. Ať už se jedná o jednoduchou událost „drive forward“nebo složitou událost plnou vzdáleností, zatáček a úskoků, procesor přehraje jakoukoli událost, která mu byla zadána. Tento proces je velmi užitečný během autonomního řízení, protože tým může zaznamenávat senzory a akce Tele-Op, než se shodují, a pak jednoduše přehrávat události autonomně. Tento proces se nazývá opakování paměti. To umožňuje, aby byl autonomní program 100% konfigurovatelný prostřednictvím jednoho souboru. Jakmile je vytvořen tvůrce událostí a procesor, tým může jednoduše změnit autonomní rutiny prostřednictvím souboru čitelného člověkem.
Výše uvedený příklad nejprve začíná kontrolou souboru JSON pro událost a poté kontrolou této události pomocí příkazu case, aby se zjistilo, o jaký typ události se jedná, v tomto případě odbočení pomocí snímače IMU. Jakmile je možné zjistit, že je na řadě událost IMU, pak se zabývá zpracováním události, která obvykle zahrnuje spuštění kódu, ze kterého událost pochází, pomocí proměnných z události předaných k replikaci události, která byla provedena dříve.
Doporučuje:
WiFi řízené LED pásky s maticovým displejem s hodinami: 3 kroky (s obrázky)
WiFi řízené LED páskové maticové zobrazení hodinového světla: Programovatelné LED pásy, např. založené na WS2812, jsou fascinující. Aplikace jsou rozmanité a rychle můžete dosáhnout působivých výsledků. A nějak se zdá, že budování hodin je další doména, o které hodně přemýšlím. Počínaje nějakou zkušeností v
Bluetooth řízené RGB světlo: 3 kroky
Bluetooth řízené RGB světlo: Byly chvíle, kdy byste chtěli změnit barvu a jas vašeho domácího světla pouhými několika dotyky na vašem telefonu? Dobrou zprávou je-to lze snadno provést pomocí mikrokontroléru s podporou Bluetooth, jako je Ameba RTL8722 od společnosti Realtek. Tady jsem
Zajímavé pokyny pro programování programování pro návrháře-ovládání barev: 10 kroků
Zajímavé pokyny pro programování programování pro návrháře-ovládání barev: V předchozích kapitolách jsme si řekli více o tom, jak použít kód k tvarování namísto bodů znalostí o barvě. V této kapitole prozkoumáme tento aspekt znalostí hlouběji
Světlo řízené nálady WIFI: 4 kroky (s obrázky)
Světlo s řízenou náladou WIFI: Toto je náladové světlo ovládané WIFI, které jsem navrhl a vyrobil! Průměr je 10 cm a výška je 19 cm. Navrhl jsem jej pro výzvu „LED STRIP speed challenge“. Toto náladové světlo lze ovládat přes internet na jakémkoli zařízení ve vaší místní síti! I
Programování vedení FTC: 4 kroky
Programování a přenos z FTC: Nejoblíbenější, nejoblíbenější a nejzásadnější software pro všechny roboty. Programy, které jsou k dispozici, nabízejí všechny základní a přesné programy pro autónomos a další tele-OP rep