Kazalo:
- 1. korak: Kaj je programiranje na podlagi dogodkov?
- 2. korak: Logični tok programiranja, ki temelji na dogodkih
- 3. korak: Ustvarjalec dogodkov
- 4. korak: Procesor dogodkov
Video: Programiranje na podlagi dogodkov v FTC: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Letos je naša ekipa opravila veliko dela pri razvoju programske opreme za našega robota, ki temelji na dogodkih. Ti programi so skupini omogočili natančen razvoj avtonomnih programov in celo ponavljajočih se teleoperacijskih dogodkov. Ker je delo programske opreme, ki ga zahteva, zapleteno, smo se odločili deliti znanje, ki smo ga pridobili pri razvoju kode za robote FTC, ki temelji na dogodkih.
1. korak: Kaj je programiranje na podlagi dogodkov?
Na splošno je programiranje, ki temelji na dogodkih, po Techopediji razvoj programov, ki se odzivajo na vnos uporabnikov. V tem smislu mnogi programi veljajo za dogodke, vključno s teleoperativnim programom ekipe, ki za izvedbo kakršnih koli dejanj opira na vložke krmilnika, ki ga upravlja človek. Kar zadeva delo, ki ga opravlja naša ekipa, pri programiranju na podlagi dogodkov gre za ustvarjanje programske opreme iz različnih vhodnih podatkov; z drugimi besedami, dokumentiramo dogodke na podlagi vhodov krmilnikov in senzorjev, nato pa lahko te dogodke postavimo v čakalno vrsto in uporabimo datoteko za ponovni zagon posnetega dogodka.
Ta način razvoja programov za našega robota ima več prednosti:
- Omogoča nam ustvarjanje natančnih avtonomnih programov. Ker programsko opremo ustvarjamo v realnem času med dogajanjem, bodo zbrane in uporabljene vrednosti senzorjev zelo natančne, saj prihajajo neposredno iz prvotnega dogodka.
- Omogoča nam hitro ustvarjanje avtonomnih programov. Izdelava avtonomnih programov je tako preprosta, kot da posnamete vrsto dogodkov in po potrebi prilagodite dogodek.
- Omogoča nam ustvarjanje samodejnih procesov za tele-op. Za ponavljajoča se dejanja v teleoperaciji nam programiranje na podlagi dogodkov omogoča snemanje teh dejanj in dodelitev dogodka gumbu med obdobji tekem, ki jih nadzira voznik. Senzorji lahko vplivajo na te avtomatizirane dogodke, kar omogoča njihovo natančno izvedbo.
2. korak: Logični tok programiranja, ki temelji na dogodkih
V nadaljevanju je prikazan logični tok dogodkov usmerjenega programa: rdeča prikazuje ustvarjanje dogodka, modra pa klic dogodka. Za ustvarjanje dogodka se zaporedje vnosov vnese z robotovim dejanjem in zabeleži kot dogodke; ti dogodki so zapisani v datoteko. Za klic dogodka se ta datoteka prebere, vhodi pa se pošljejo v procesor dogodkov, da kodo datoteke spremenijo v dejanje robota.
3. korak: Ustvarjalec dogodkov
Ustvarjalci dogodkov se uporabljajo za dokumentiranje dejanj ali "dogodkov" na podlagi različnih senzorjev in gumbov. Ko robot izvaja dejanja na terenu, razred ustvarjalca dogodkov vzporedno ustvarja dogodke za vsako od teh dejanj in se sklicuje na dogodek, razvrščen v razred dogodkov. Po ustvarjanju je dogodek postavljen v čakalno vrsto dogodkov v razredu dogodkov: prvi dogodek zavzame najvišje mesto, nato drugi dogodek zavzame prvo mesto in potisne vse dogodke pod njim, kar se nadaljuje, dokler se program ne ustavi. Ko se program ustavi, se dogodki razširijo v datoteko, ki je berljiva, na primer datoteko JSON. To datoteko lahko uporabite za boljše izboljšanje avtonomnih rutin.
Zgornja primerna koda nastavi parametre za dogodek, ki je v tem primeru obrat s senzorjem IMU. Nato dogodek postavimo v čakalno vrsto dogodkov. Nazadnje skrajšamo dogodek, ki v bistvu ponastavi dogodek, tako da ga lahko uporabimo za postavitev prihodnjih dogodkov v čakalno vrsto.
4. korak: Procesor dogodkov
Razredni dogodki prevzamejo človeško berljivo datoteko, ustvarjeno v razredu ustvarjalca dogodkov, in storijo vse, kar ji naroči vsak dogodek v čakalni vrsti, tako da pokliče metode, opisane v razredu procesorja dogodkov. Razred procesorja dogodkov nato pove robotu, kateri dogodek naj predvaja. Ne glede na to, ali gre za preprost dogodek »vožnja naprej« ali za kompleksen dogodek, poln razdalj, ovinkov in potez, bo procesor predvajal vse dogodke, ki so mu dani. Ta postopek je zelo koristen med avtonomijo, saj lahko ekipa posname senzorje in dejanja Tele-Op, preden se ujemajo, nato pa preprosto predvaja dogodke v avtonomiji. Ta postopek se imenuje Memory Replay. To omogoča, da je avtonomni program 100% nastavljiv prek ene datoteke. Ko sta ustvarjalec in procesor dogodka ustanovljena, lahko ekipa preprosto spremeni avtonomne rutine prek datoteke, ki jo lahko bere človek.
Zgornji primer se najprej začne s preverjanjem dogodka v datoteki JSON, nato pa z uporabo stavka primera preveri, kateri dogodek je, v tem primeru obrat s senzorjem IMU. Ko lahko ugotovi, da gre za obrat z uporabo dogodka IMU, se nato ukvarja z obdelavo dogodka, ki običajno vključuje izvajanje kode, ki je prišla iz dogodka z uporabo spremenljivk iz dogodka, posredovanih za ponovitev dogodka, ki je bil opravljen že prej.
Priporočena:
Senzor/detektor svetlobe na podlagi LDR: 3 koraki
Svetlobni senzor/detektor na podlagi LDR: Svetlobni senzorji in detektorji so izjemno uporabni za mikrokrmilnike in vgrajene sisteme, prav tako pa je treba izvesti nadzor intenzivnosti. Eden najpreprostejših in najcenejših takšnih senzorjev so LDR. LDR ali svetlobno odvisni upori se lahko enostavno uporabljajo z
Odštevalni čas prihajajočih dogodkov: 5 korakov
Časovnik za odštevanje prihajajočih dogodkov: Pregled: ura odštevanja dogodkov je podobna komercialnim izdelkom, z nekaj preobrati: a) berljivo po celotnem zaslonu sobe. B) prilagodljiva slika dogodka.c) Ko se odšteva ciljni čas dogodka, se preostali dnevi spremenijo barva - zelena - > rumena
Robot za izbiro in namestitev na podlagi RFID: 4 koraki
Robot za izbiro in namestitev na podlagi RFID: Že vrsto let ljudje poskušajo nadomestiti človeško delo s stroji. Stroji, imenovani roboti, so hitrejši in učinkovitejši od ljudi. Izraz robotika je praktično opredeljen kot preučevanje, načrtovanje in uporaba robotskih sistemov za proizvodnjo. Roboti so g
Indikator dogodkov / barvna svetilka RPi-Zero IoT: 6 korakov (s slikami)
Indikator dogodkov / barvna svetilka RPi-Zero IoT: Brez dodatnega mikrokrmilnika & Dodatni modul HAT ni potreben. RPi-Zero naredi vse. Še bolje, uporabite RPi-Zero W! Vzorčna uporaba: Indikator stanja spletnih storitev (npr. Sledenje DowJonesIndex), Indikator stanja političnih ali športnih dogodkov, lučka razpoloženja
Svetilka za projektor dogodkov: 5 korakov (s slikami)
Svetilka za projektor dogodkov: Vsi imajo radi praznike! Včasih pa vaš dom morda nima dovolj prazničnih posnetkov. Je pa to enostavno popravljivo vprašanje. Če osvetlite ta stroj za povečanje prazničnega duha, lahko kateri koli zabavi, praznovanju ali prireditvi dodate nekaj prazničnih posnetkov