Sisällysluettelo:
- Vaihe 1: Mikä on tapahtumapohjainen ohjelmointi?
- Vaihe 2: Tapahtumapohjaisen ohjelmoinnin logiikka
- Vaihe 3: Tapahtuman luoja
- Vaihe 4: Tapahtumaprosessori
Video: Tapahtumapohjainen ohjelmointi FTC: ssä: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tänä vuonna tiimimme on tehnyt paljon työtä tapahtumapohjaisen ohjelmistokehityksen kanssa robotillemme. Nämä ohjelmat ovat antaneet tiimille mahdollisuuden kehittää tarkasti itsenäisiä ohjelmia ja jopa toistettavia teletapahtumia. Koska sen vaatima ohjelmistotyö on monimutkaista, päätimme jakaa tietämyksemme, jonka olemme saaneet tapahtumapohjaisen koodin kehittämisestä FTC-roboteille.
Vaihe 1: Mikä on tapahtumapohjainen ohjelmointi?
Yleisesti ottaen tapahtumapohjainen ohjelmointi on Techopedian mukaan käyttäjien syötteisiin vastaavien ohjelmien kehittämistä. Tässä mielessä monia ohjelmia pidetään tapahtumapohjaisina, mukaan lukien tiimin tele-ohjelma, joka perustuu ihmisen ohjaaman ohjaimen panokseen minkä tahansa toiminnon suorittamiseen. Tiimimme tekemän työn kannalta tapahtumapohjainen ohjelmointi on kuitenkin ohjelmiston luomista eri panoksista; Toisin sanoen, me dokumentoimme tapahtumia ohjainten ja antureiden tulojen perusteella, sitten voimme asettaa nämä tapahtumat jonoon ja käyttää tiedostoa tallennetun tapahtuman suorittamiseen uudelleen.
Tällä menetelmällä ohjelmien kehittämiseksi robotillemme on useita etuja:
- Sen avulla voimme luoda tarkkoja itsenäisiä ohjelmia. Koska luomme ohjelmiston reaaliajassa tapahtuman aikana, kerätyt ja käytetyt anturiarvot ovat erittäin tarkkoja, koska ne tulevat suoraan alkuperäisestä tapahtumasta.
- Sen avulla voimme luoda itsenäisiä ohjelmia nopeasti. Itsenäisten ohjelmien tekeminen on yhtä helppoa kuin tapahtumasarjan tallentaminen ja tapahtuman säätäminen tarpeen mukaan.
- Sen avulla voimme luoda automaattisia prosesseja teleoperaatioon. Toistuvissa toiminnoissa teleopissa tapahtumapohjaisen ohjelmoinnin avulla voimme tallentaa nämä toiminnot ja määrittää tapahtuman painikkeelle kuljettajan ohjaamien otteluiden aikana. Anturit voivat vaikuttaa näihin automaattisiin tapahtumiin niiden tarkan suorittamisen mahdollistamiseksi.
Vaihe 2: Tapahtumapohjaisen ohjelmoinnin logiikka
Seuraava kuvaa tapahtumapohjaisen ohjelman loogista kulkua: punainen kuvaa tapahtuman luomista ja sininen kuvaa tapahtuman kutsumista. Tapahtuman luomiseksi syötesarja otetaan robottitoiminnalla ja tallennetaan tapahtumiksi; nämä tapahtumat kirjoitetaan tiedostoon. Tapahtuman kutsumista varten kyseinen tiedosto luetaan ja syötteet lähetetään tapahtumaprosessorille, jotta tiedoston koodi muutetaan robotin toimintaksi.
Vaihe 3: Tapahtuman luoja
Tapahtumien luojat dokumentoivat toimintoja tai tapahtumia erilaisten antureiden ja painikkeiden perusteella. Kun robotti suorittaa toimia kentällä, tapahtumien luojaluokka luo tapahtumia kullekin toiminnolle rinnakkain viitaten tapahtumaluokkaan luokiteltuun tapahtumaan. Luomisen jälkeen tapahtuma asetetaan tapahtumaluokan tapahtumajonoon: ensimmäinen tapahtuma ottaa kärkipaikan, sitten toinen tapahtuma ykköspisteen ja työntää alas kaikki tapahtumat, ja tämä jatkuu, kunnes ohjelma pysähtyy. Kun ohjelma pysäytetään, tapahtumat siirtyvät ihmisen luettavaan muotoon, kuten JSON-tiedostoon. Tätä tiedostoa voidaan käyttää parantamaan itsenäisiä rutiineja paremmin.
Yllä olevassa esimerkkikoodissa asetetaan parametrit tapahtumalle, joka tässä tapauksessa on kierros käyttäen IMU -anturia. Järjestämme tapahtuman sitten tapahtumajonoon. Lopuksi lyhennämme tapahtuman, joka nollaa tapahtuman, jotta voimme käyttää sitä tulevien tapahtumien jonottamiseen.
Vaihe 4: Tapahtumaprosessori
Tapahtumaluokat ottavat tapahtumien luojaluokassa tuotetun ihmisen luettavan tiedoston ja tekevät mitä tahansa jokainen jonossa oleva tapahtuma määrää sen kutsumalla tapahtumaprosessoriluokassa kuvattuja menetelmiä. Tapahtumaprosessoriluokka kertoo robotille, mikä tapahtuma toistetaan. Olipa kyseessä yksinkertainen "ajaa eteenpäin" -tapahtuma tai monimutkainen tapahtuma, joka on täynnä etäisyyksiä, käännöksiä ja hihnoja, prosessori toistaa kaikki sille annetut tapahtumat. Tämä prosessi on erittäin hyödyllinen autonomisen aikana, koska joukkue voi tallentaa antureita ja Tele-Op-toimintoja ennen ottelua, ja sitten yksinkertaisesti toistaa tapahtumat itsenäisesti. Tätä prosessia kutsutaan muistin toistamiseksi. Tämä mahdollistaa itsenäisen ohjelman 100 -prosenttisesti konfiguroitavan yhden tiedoston kautta. Kun tapahtuman luoja ja prosessori on muodostettu, tiimi voi yksinkertaisesti muuttaa itsenäisiä rutiineja ihmisen luettavan tiedoston kautta.
Yllä oleva esimerkki alkaa ensin tarkistamalla JSON -tiedosto tapahtuman varalta ja sitten tarkistamalla tapahtuma tapauslausuman avulla nähdäksesi, millainen tapahtuma on kyseessä, tässä tapauksessa kierros IMU -anturia käyttäen. Kun se voi kertoa, että se on vuoropuhelu IMU -tapahtuman avulla, se käsittelee sitten tapahtuman käsittelyä, joka yleensä sisältää koodin suorittamisen, jonka tapahtuma on peräisin käyttämällä tapahtuman muuttujia, jotka on syötetty toistamaan aiemmin tehty tapahtuma.
Suositeltava:
Z80-MBC2 Atmega32a: n ohjelmointi: 6 vaihetta
Z80-MBC2 Atmega32a: n ohjelmointi: Ennen kuin voit käyttää z80-MBC2: ta, sinun on ohjelmoitava Atmeg32. Nämä ohjeet osoittavat, kuinka halpaa arduino miniä käytetään ohjelmoijana koodin lataamiseen
ATmega328: n ohjelmointi Arduino IDE: llä 8 MHz: n kristallilla: 4 vaihetta
ATmega328: n ohjelmointi Arduino IDE: llä 8 MHz: n kristallin avulla: Tässä Instuctable -ohjelmassa käsitellään vaiheittaista opastusta ATmega328P IC: n (sama mikrokontrolleri Arudino UNO: ssa) ohjelmoinnista käyttämällä Arduino IDE: tä ja Arduino UNO -ohjelmoijaa tehdäksesi itsestäsi mukautettu Arduino, jotta voit tehdä projekteja
Attiny85 samanaikainen ohjelmointi tai kurpitsa monivärisillä silmillä: 7 vaihetta
Attiny85 samanaikainen ohjelmointi tai kurpitsa, jossa on moniväriset silmät: Tämä projekti näyttää, kuinka ohjataan kahta 10 mm: n kolmiväristä yhteistä anodi-LEDiä (Pumpkin Halloween Glitterin moniväriset silmät) Attiny85-sirulla. Hankkeen tavoitteena on esitellä lukija samanaikaisen ohjelmoinnin taiteeseen ja Adam D
ESP8266 AT -laiteohjelmiston flash -ohjelmointi tai ohjelmointi ESP8266 -välähdys- ja ohjelmointilaitteella, IOT Wifi -moduuli: 6 vaihetta
ESP8266 AT -laiteohjelmiston flash-ohjelmointi tai ohjelmointi ESP8266-salama- ja ohjelmoijaohjelmistolla, IOT Wifi -moduuli: Kuvaus: Tämä moduuli on USB-sovitin /ohjelmoija ESP-0166- tai ESP-01S-tyyppisille ESP8266-moduuleille. Se on kätevästi varustettu 2x4P 2,54 mm: n naarasliittimellä ESP01: n liittämiseksi. Lisäksi se katkaisee kaikki ESP-01: n nastat 2x4P 2,54 mm uroksen kautta
Ohjelmointi VB6: ssa: Vinkkejä ja temppuja: 3 vaihetta
Ohjelmointi VB6: ssa: Vinkkejä ja temppuja: Ohjelmoin vapaa -ajallani ja olen melko taitava ohjelmoija VB6: n avulla. Se on helppoa, enkä ole vielä löytänyt mitään tarvitsemaani saavuttaakseni sitä, mitä se ei voi, vaikka joskus voi olla hienoa saavuttaa tehtäväsi. Matkan varrella löysin paljon