Tartalomjegyzék:
- 1. lépés: Mi az eseményvezérelt programozás?
- 2. lépés: Az eseményvezérelt programozás logikai folyamata
- 3. lépés: Eseménykészítő
- 4. lépés: Eseményfeldolgozó
Videó: Eseményvezérelt programozás az FTC-ben: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ebben az évben csapatunk nagy munkát végzett az eseményvezérelt szoftverfejlesztéssel robotunk számára. Ezek a programok lehetővé tették a csapat számára, hogy pontosan fejlesszék az autonóm programokat, és akár megismételhető távközlési eseményeket is. Mivel az általa megkövetelt szoftveres munka összetett, úgy döntöttünk, hogy megosztjuk az FTC robotok eseményvezérelt kódjának fejlesztésével kapcsolatos ismereteinket.
1. lépés: Mi az eseményvezérelt programozás?
Általánosságban elmondható, hogy az eseményvezérelt programozás a Techopedia szerint olyan programok kifejlesztése, amelyek reagálnak a felhasználói adatokra. Ebben az értelemben sok program eseményvezéreltnek tekinthető, köztük egy csapat távműveleti programja is, amely egy emberi irányítású vezérlő adataira támaszkodva hajt végre bármilyen műveletet. A csapatunk által végzett munka szempontjából azonban az eseményvezérelt programozás a különböző inputokból származó szoftverek létrehozásáról szól; Más szóval, a vezérlők és az érzékelők bemenetei alapján dokumentáljuk az eseményeket, majd sorba állíthatjuk ezeket az eseményeket, és a fájl segítségével újra futtathatjuk a rögzített eseményt.
Ez a módszer a robotjaink programjainak fejlesztésére számos előnnyel jár:
- Lehetővé teszi számunkra, hogy pontos autonóm programokat készítsünk. Mivel a szoftvert valós időben készítjük az esemény alatt, az összegyűjtött és használt érzékelőértékek nagyon pontosak lesznek, mivel közvetlenül az eredeti eseményből származnak.
- Lehetővé teszi, hogy gyorsan autonóm programokat hozzunk létre. Az autonóm programok készítése olyan egyszerű, mint eseménysorozat rögzítése és az esemény szükség szerinti beállítása.
- Lehetővé teszi számunkra, hogy automatikus folyamatokat hozzunk létre a tele-opcióhoz. A tele-op ismételt műveletei esetén az eseményvezérelt programozás lehetővé teszi számunkra, hogy rögzítsük ezeket a műveleteket, és hozzárendeljük az eseményt egy gombhoz a vezető által ellenőrzött mérkőzések alatt. Ezeket az automatizált eseményeket érzékelők befolyásolhatják, hogy lehetővé tegyék azok pontos végrehajtását.
2. lépés: Az eseményvezérelt programozás logikai folyamata
Az alábbiakban egy eseményvezérelt program logikai folyamatát mutatjuk be: a piros egy esemény létrehozását, a kék pedig az esemény meghívását. Egy esemény létrehozásához egy bemeneti sorozatot vesz fel a robot akciója, és eseményként rögzíti; ezeket az eseményeket fájlba írják. Eseményhíváshoz ezt a fájlt olvassák, és a bemeneteket elküldik egy eseményfeldolgozónak, hogy a fájlkódot robotműveletre változtassa.
3. lépés: Eseménykészítő
Az eseményalkotókat különféle érzékelők és gombok alapján dokumentálják a műveletek vagy események dokumentálására. Miközben a robot műveleteket végez a terepen, egy eseményalkotó osztály mindegyik művelethez párhuzamosan eseményeket hoz létre, hivatkozva az eseményosztályba sorolt eseményekre. Létrehozása után az esemény az eseményosztály eseménysorába kerül: az első esemény az első helyet foglalja el, majd a második esemény az első helyet, és lenyomja az alatta lévő eseményeket, és ez addig folytatódik, amíg a program le nem áll. A program leállításakor az események ember által olvasható formátumú fájlba mennek, például JSON fájlba. Ez a fájl használható az autonóm rutinok javítására.
A fenti példakód az esemény paramétereit állítja be, amely ebben az esetben az IMU -érzékelőt használó fordulat. Ezután sorba állítjuk az eseményt az eseménysorba. Végül csonkoljuk az eseményt, ami lényegében visszaállítja az eseményt, hogy felhasználhassuk a jövőbeli események sorba állításához.
4. lépés: Eseményfeldolgozó
Az eseményosztályok az eseményalkotó osztályban előállított, ember által olvasható fájlt veszik fel, és az eseményfeldolgozó osztályban felvázolt metódusok meghívásával mindent megtesznek, amit az egyes sorba állított események kérnek. Az eseményfeldolgozó osztály ezután megmondja a robotnak, hogy milyen eseményt kell lejátszani. Legyen szó egyszerű "előrehajtás" eseményről, vagy összetett eseményről, tele távolságokkal, fordulatokkal és pántokkal, a processzor minden adott eseményt visszajátsz. Ez a folyamat nagyon hasznos az autonóm működés során, mivel egy csapat rögzítheti az érzékelőket és a Tele-Op műveleteket, mielőtt összeegyeztetné őket, majd egyszerűen újra lejátszhatja az eseményeket autonóm módon. Ezt a folyamatot Memory Replay -nek hívják. Ez lehetővé teszi, hogy egy autonóm program 100% -ban konfigurálható legyen egyetlen fájlon keresztül. Az esemény létrehozójának és feldolgozójának létrehozása után a csapat egyszerűen megváltoztathatja az autonóm rutinokat az ember által olvasható fájlon keresztül.
A fenti példa először azzal kezdődik, hogy ellenőrzi a JSON -fájlt egy eseményre, majd egy eset -utasítás segítségével ellenőrzi az eseményt, hogy megtudja, milyen eseményről van szó, ebben az esetben az IMU -érzékelő segítségével. Miután meg tudja állapítani, hogy ez egy fordulat az IMU -esemény használatával, akkor az esemény feldolgozásával foglalkozik, amely általában magában foglalja a kód futtatását, amelyből az esemény az esemény változóinak felhasználásával származik, és amelyet azelőtt megismételt.
Ajánlott:
Készíts EASY Infinity Mirror kockát - NEM 3D nyomtatás és NEM programozás: 15 lépés (képekkel)
Készíts EASY Infinity Mirror kockát | NINCS 3D nyomtatás és NEM programozás: Mindenki szereti a jó végtelen kockát, de úgy néz ki, mintha nehéz lenne elkészíteni. Ennek az utasításnak a célja az, hogy lépésről lépésre megmutassam, hogyan kell elkészíteni. Nem csak ezt, de az utasításokkal, amelyeket adok neked, elkészíthetsz egyet
Attiny85 párhuzamos programozás vagy tök sokszínű szemekkel: 7 lépés
Attiny85 párhuzamos programozás vagy tök többszínű szemekkel: Ez a projekt bemutatja, hogyan vezérelhető két 10 mm-es, három színű közös anód LED (a Pumpkin Halloween Glitter sokszínű szeme) az Attiny85 chip segítségével. A projekt célja, hogy megismertesse az olvasót az egyidejű programozás művészetével és Adam D használatával
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: 4 lépés (képekkel)
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: Hogyan készítsük el a viselhető tevékenységkövető órát? Ez egy hordható eszköz, amelyet rezgésre terveztek, amikor stagnálást észlel. A legtöbb időt a számítógépen tölti, mint én? Órákig ül, anélkül, hogy észrevenné? Akkor ez a készülék f
Objektum -orientált programozás: Tárgyak létrehozása Tanulás/Tanítási módszer/technika Shape Puncher segítségével: 5 lépés
Objektumorientált programozás: Objektumok létrehozása Tanulás/tanítási módszer/technika Shape Puncher használatával: Tanulási/tanítási módszer az objektum-orientált programozásban újonnan tanulóknak. Ez lehetővé teszi számukra, hogy vizualizálják és lássák az objektumok osztályokból történő létrehozásának folyamatát. EkTools 2 hüvelykes nagy lyukasztó; a szilárd formák a legjobbak.2. Egy darab papír vagy c
Cirkádiánbarát LED asztali lámpa (programozás nem szükséges!): 7 lépés (képekkel)
Cirkadiánbarát LED asztali lámpa (nem igényel programozást!): Ezt a lámpát cirkadián ritmusbarátnak terveztem. Éjszaka könnyebb az alvás, mert csak a meleg színű LED -ek kapcsolhatnak be. Napközben ébren tarthat, mert a hideg-fehér és a meleg színű LED-ek is bekapcsolhatnak a