Turinys:
- 1 žingsnis: kas yra įvykiu pagrįstas programavimas?
- 2 žingsnis: Įvykiais pagrįsto programavimo loginis srautas
- 3 žingsnis: įvykių kūrėjas
- 4 žingsnis: įvykių procesorius
Video: Įvykiais pagrįstas programavimas FTC: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Šiais metais mūsų komanda nuveikė daug darbo kurdama įvykius pagrįstą mūsų roboto programinę įrangą. Šios programos leido komandai tiksliai sukurti autonomines programas ir net pakartotinius tele-op renginius. Kadangi programinės įrangos darbas, kurio reikia, yra sudėtingas, nusprendėme pasidalyti žiniomis, kurias įgijome kurdami įvykiu pagrįstą kodą FTC robotams.
1 žingsnis: kas yra įvykiu pagrįstas programavimas?
Apskritai, įvykiu pagrįstas programavimas, anot „Techopedia“, yra programų, kurios reaguoja į vartotojo įvestį, kūrimas. Šia prasme daugelis programų yra laikomos įvykiu, įskaitant komandos tele-op programą, kuri, remdamasi žmogaus valdytojo įnašais, atlieka bet kokį veiksmą. Tačiau kalbant apie darbą, kurį atliko mūsų komanda, į renginius orientuotas programavimas yra programinės įrangos kūrimas iš įvairių įėjimų; Kitaip tariant, mes dokumentuojame įvykius, remdamiesi valdiklių ir jutiklių įvestimis, tada galime sudaryti eilę prie šių įvykių ir naudoti failą pakartotinai įrašytam įvykiui paleisti.
Šis mūsų robotui skirtų programų kūrimo metodas turi keletą privalumų:
- Tai leidžia mums sukurti tikslias autonomines programas. Kadangi mes rengiame programinę įrangą realiuoju laiku, kai vyksta įvykis, surinktos ir naudojamos jutiklių vertės bus labai tikslios, nes jos gaunamos tiesiogiai iš pradinio įvykio.
- Tai leidžia greitai sukurti autonomines programas. Sukurti autonomines programas yra taip paprasta, kaip įrašyti įvykių seriją ir prireikus koreguoti įvykį.
- Tai leidžia mums sukurti automatinius tele-op procesus. Dėl pakartotinių veiksmų nuotolinio valdymo sistemoje, įvykiais pagrįstas programavimas leidžia mums įrašyti šiuos veiksmus ir priskirti įvykį mygtukui vairuotojo kontroliuojamų rungtynių metu. Šiuos automatizuotus įvykius gali paveikti jutikliai, kad būtų galima juos tiksliai įvykdyti.
2 žingsnis: Įvykiais pagrįsto programavimo loginis srautas
Toliau pavaizduota logiška įvykio pagrindu vykdomos programos eiga: raudona-įvykio sukūrimas, o mėlyna-įvykio iškvietimas. Kuriant įvykį, roboto veiksmuose įvedama įvesties seka ir įrašoma kaip įvykiai; šie įvykiai įrašomi į failą. Skambinant įvykiui tas failas nuskaitomas ir įvestys siunčiamos įvykių procesoriui, kad failo kodas taptų roboto veiksmu.
3 žingsnis: įvykių kūrėjas
Įvykių kūrėjai naudojami dokumentuoti veiksmus ar „įvykius“, remiantis įvairiais jutikliais ir mygtukais. Kai robotas atlieka veiksmus lauke, įvykių kūrėjų klasė kiekvienam iš šių veiksmų lygiagrečiai sukuria įvykius, remdamasi įvykių klasei priskirtu įvykiu. Sukūrus įvykį, jis įtraukiamas į įvykių eilę įvykių klasėje: pirmasis įvykis užima aukščiausią vietą, tada antrasis įvykis užima aukščiausią vietą ir nuspaudžia visus po juo vykstančius įvykius, ir tai tęsiasi tol, kol programa sustoja. Kai programa sustabdoma, įvykiai pereina į žmogaus skaitomo formato failą, pvz., JSON failą. Šis failas gali būti naudojamas siekiant pagerinti autonomines procedūras.
Aukščiau pateiktas pavyzdinis kodas nustato įvykio parametrus, kurie šiuo atveju yra posūkis naudojant IMU jutiklį. Tada mes įterpiame įvykį į įvykių eilę. Galiausiai sutrumpiname įvykį, kuris iš esmės iš naujo nustato įvykį, kad galėtume jį naudoti eilėje būsimiems įvykiams.
4 žingsnis: įvykių procesorius
Įvykių klasės ima žmonių skaitomą failą, sukurtą įvykių kūrėjo klasėje, ir daro viską, ką liepia kiekvienas eilėje esantis įvykis, iškviesdamas metodus, aprašytus įvykių procesoriaus klasėje. Tada įvykių procesoriaus klasė nurodo robotui, kokį įvykį pakartoti. Nesvarbu, ar tai būtų paprastas „vairavimo į priekį“įvykis, ar sudėtingas įvykis, kupinas atstumų, posūkių ir juostų, procesorius pakartos bet kokį jam suteiktą įvykį. Šis procesas yra labai naudingas autonominio režimo metu, nes komanda gali įrašyti jutiklius ir „Tele-Op“veiksmus prieš suderindama, tada tiesiog pakartoti įvykius autonomiškai. Šis procesas vadinamas atminties atkūrimu. Tai leidžia 100% konfigūruoti autonominę programą per vieną failą. Nustačius įvykių kūrėją ir procesorių, komanda gali tiesiog pakeisti savarankišką tvarką per žmogaus skaitomą failą.
Anksčiau pateiktas pavyzdys pirmiausia pradedamas tikrinant įvykio JSON failą, o paskui tikrinant tą įvykį naudojant atvejo teiginį, kad pamatytumėte, koks tai įvykis, šiuo atveju - posūkis naudojant IMU jutiklį. Kai jis gali pasakyti, kad tai posūkis naudojant IMU įvykį, tada jis nagrinėja įvykio apdorojimą, kuris paprastai apima kodo, kurio įvykis kilo iš įvykio, paleidimą naudojant įvykio kintamuosius, perduotus pakartoti įvykį, kuris buvo padarytas anksčiau.
Rekomenduojamas:
Z80-MBC2 „Atmega32a“programavimas: 6 žingsniai
Z80-MBC2 „Atmega32a“programavimas: Prieš naudodami z80-MBC2, sukūrę jį, turite užprogramuoti „Atmeg32“. Ši instrukcija parodo, kaip naudoti pigų „arduino mini“kaip programuotoją įkelti kodą
ATmega328 programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: 4 žingsniai
„ATmega328“programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: šioje Instrukcinėje medžiagoje aprašysiu žingsnis po žingsnio programavimo ATmega328P IC (tas pats mikrovaldiklis, esantis „Arudino UNO“) programavimą, naudojant „Arduino IDE“ir „Arduino UNO“kaip programuotoją, kad padarytumėte save pasirinktinis „Arduino“, kad galėtumėte kurti savo projektus
„Attiny85“vienu metu programavimas arba moliūgas su įvairiaspalvėmis akimis: 7 žingsniai
„Attiny85“programavimas vienu metu arba moliūgas su įvairiaspalvėmis akimis: Šis projektas parodo, kaip valdyti du 10 mm trijų spalvų bendrus anodo šviesos diodus (įvairiaspalves moliūgų Helovino blizgučių akis) su „Attiny85“mikroschema. Projekto tikslas - supažindinti skaitytoją su vienu metu veikiančio programavimo menu ir Adomo D
„ATtiny85“nešiojamas vibruojančios veiklos stebėjimo laikrodis ir programavimas „ATtiny85“su „Arduino Uno“: 4 žingsniai (su nuotraukomis)
„ATtiny85“nešiojamas vibruojančios veiklos stebėjimo laikrodis ir programavimas ATtiny85 su „Arduino Uno“: kaip padaryti nešiojamą veiklos stebėjimo laikrodį? Tai nešiojama programėlė, sukurta vibruoti aptikus sąstingį. Ar daug laiko praleidžiate prie kompiuterio kaip aš? Ar tu sėdi valandas to nesuvokdamas? Tada šis įrenginys yra
„ATtiny“programavimas naudojant „Arduino“: 7 žingsniai (su paveikslėliais)
Programuokite „ATtiny“naudodami „Arduino“: Toliau pateikiamos ATtiny mikrovaldiklių programavimo instrukcijos naudojant „Arduino IDE“. Paprasta anglų kalba taip užprogramuoti 8 kontaktų „Atmel“lustus, kaip paprastai „Arduino“. Tai šaunu, nes „ATtiny“yra mažas, ir tai leidžia