Sadržaj:
- Korak 1: Što je programiranje na temelju događaja?
- Korak 2: Logički tijek programiranja na temelju događaja
- Korak 3: Stvoritelj događaja
- Korak 4: Procesor događaja
Video: Programiranje na temelju događaja u FTC-u: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ove godine naš je tim obavio veliki posao s razvojem softvera za našeg robota upravljanog događajima. Ti su programi omogućili timu da precizno razvije autonomne programe, pa čak i ponavljajuće tele-op događaje. Budući da je rad na softveru koji zahtijeva složen, odlučili smo podijeliti znanje koje smo stekli o razvoju koda na temelju događaja za FTC robote.
Korak 1: Što je programiranje na temelju događaja?
Općenito govoreći, programiranje na temelju događaja, prema Techopedia, razvoj je programa koji reagiraju na unos korisnika. U tom smislu, mnogi se programi smatraju upravljanima događajima, uključujući i teleoperacijski program tima, koji se oslanja na unose upravljačkog sklopa za provođenje bilo koje radnje. Međutim, u smislu posla koji je radio naš tim, programiranje zasnovano na događajima odnosi se na stvaranje softvera iz različitih ulaza; drugim riječima, dokumentiramo događaje na temelju ulaza kontrolera i senzora, a zatim te događaje možemo staviti u red i upotrijebiti datoteku za ponavljanje snimljenog događaja.
Ova metoda razvoja programa za našeg robota ima nekoliko prednosti:
- Omogućuje nam stvaranje točnih autonomnih programa. Budući da stvaramo softver u stvarnom vremenu tijekom trajanja događaja, prikupljene i korištene vrijednosti senzora bit će vrlo točne jer dolaze izravno iz izvornog događaja.
- Omogućuje nam brzo stvaranje autonomnih programa. Izrada autonomnih programa jednostavno je kao snimanje niza događaja i prilagođavanje događaja prema potrebi.
- Omogućuje nam stvaranje automatskih procesa za tele-op. Za ponovljene radnje u teleoperaciji, programiranje na temelju događaja omogućuje nam snimanje ovih radnji i dodjeljivanje događaja gumbu tijekom razdoblja utakmica koje kontrolira vozač. Senzori mogu utjecati na ove automatizirane događaje kako bi se omogućilo njihovo točno izvršavanje.
Korak 2: Logički tijek programiranja na temelju događaja
Slijedi prikaz logičkog tijeka programa vođenog događajem: crvena prikazuje stvaranje događaja, a plava prikazuje poziv događaja. Za stvaranje događaja, niz unosa se uzima kroz radnju robota i bilježi kao događaji; ti se događaji zapisuju u datoteku. Za pozivanje događaja ta se datoteka čita, a ulazi se šalju u procesor događaja kako bi kod datoteke pretvorili u radnju robota.
Korak 3: Stvoritelj događaja
Kreatori događaja koriste se za dokumentiranje radnji ili "događaja" na temelju različitih senzora i gumba. Dok robot izvršava radnje na terenu, klasa kreatora događaja paralelno stvara događaje za svaku od tih radnji, pozivajući se na događaj razvrstan u klasu događaja. Nakon stvaranja, događaj se stavlja u red događaja u klasi događaja: prvi događaj zauzima prvo mjesto, zatim drugi događaj zauzima prvo mjesto i gura sve događaje ispod njega, a to se nastavlja sve dok se program ne zaustavi. Kad se program zaustavi, događaji izlaze u datoteku formata čitljivu za čovjeka, poput JSON datoteke. Ova se datoteka može koristiti za bolje poboljšanje autonomnih rutina.
Gornji primjer koda postavlja parametre za događaj, koji je u ovom slučaju zavoj pomoću IMU osjetnika. Zatim stavljamo događaj u red događaja u red događaja. Konačno, skraćujemo događaj, što u biti poništava događaj tako da ga možemo koristiti za stavljanje budućih događaja u red.
Korak 4: Procesor događaja
Klase događaja uzimaju datoteku čitljivu za čovjeka proizvedenu u klasi kreatora događaja i čine sve što joj svaki događaj u redu kaže da učini pozivajući metode navedene u klasi procesora događaja. Klasa procesora događaja tada govori robotu koji događaj treba ponoviti. Bilo da se radi o jednostavnom događaju "vozi naprijed" ili o složenom događaju punom udaljenosti, zavoja i poteškoća, procesor će ponoviti svaki događaj koji mu je dan. Ovaj je postupak vrlo koristan tijekom autonomnog procesa, jer tim može snimiti senzore i akcije Tele-Op-a prije nego što se podudaraju, a zatim jednostavno ponoviti događaje u autonomnom. Taj se proces naziva Memory Replay. To omogućuje da se autonomni program 100% konfigurira kroz jednu datoteku. Nakon što se uspostavi kreator i procesor događaja, tim jednostavno može promijeniti autonomne rutine kroz datoteku čitljivu za ljude.
Gornji primjer prvo započinje provjerom JSON datoteke za događaj, a zatim provjerom tog događaja pomoću izraza slučaja da se vidi o kakvom se događaju radi, u ovom slučaju o zavoju pomoću IMU osjetnika. Nakon što može reći da je riječ o zaokretu pomoću IMU događaja, tada se bavi obradom događaja, što obično uključuje pokretanje koda iz kojeg je događaj došao korištenjem varijabli iz događaja, proslijeđenog za replikaciju događaja koji je već učinjen.
Preporučeni:
Web? Na temelju Arduino simulatora iz Wokwi-2020?: 5 koraka
Web? Arduino Simulator na bazi Wokwi-2020?: Wokwi Arduino Simulator radi na platformi AVR8js. To je Arduino Simulator na webu. Arduino Simulator radi na web pregledniku. dakle, ovo zaslužuje veću pozornost i iskreno, ovo ima mnogo pozitivnih točaka u usporedbi s drugim simulatorima koji su dostupni
Biometrijski glasački stroj na temelju otisaka prstiju koji koristi Arduino: 4 koraka (sa slikama)
Biometrijski glasački stroj temeljen na otiscima prstiju koji koristi Arduino: Svi smo svjesni postojećeg elektroničkog glasačkog stroja u kojem korisnik mora pritisnuti gumb za glasovanje. No ti su strojevi od početka kritizirani zbog kaljenja. Stoga vlada planira uvesti sustav otisaka prstiju
Odbrojavanje nadolazećih događaja: 5 koraka
Mjerač vremena za nadolazeće događaje: Pregled: Sat za odbrojavanje događaja sličan je komercijalnim proizvodima, s nekoliko zaokreta: a) Čitljivo sa cijelog zaslona prostorije. B) Prilagodljiva slika događaja.c) Kako se vrijeme događaja odbrojava, preostali dani se mijenjaju boja - zelena - > žuto
RPi-Zero IoT indikator događaja / lampa u boji: 6 koraka (sa slikama)
RPi-Zero IoT indikator događaja / lampica u boji: Nema dodatnog mikrokontrolera & Nije potreban dodatni modul HAT. RPi-Zero radi sve. Još bolje, upotrijebite RPi-Zero W! Primjer upotrebe: Pokazatelj stanja web-usluge (npr. Praćenje DowJonesIndex), Pokazivač statusa političkih ili sportskih događaja, svjetlo raspoloženja
Svjetiljka za projektor događaja: 5 koraka (sa slikama)
Svjetiljka za projektore događaja: Svi vole blagdane! No ponekad vaš dom možda nema dovoljno svečanih slika. No, to je pitanje koje se lako može promijeniti. Osvijetlivši ovaj stroj za povećanje blagdanskog duha, možete dodati neke svečane slike bilo kojoj zabavi, proslavi ili prigodnom prigodu