Përmbajtje:

Programimi i drejtuar nga ngjarjet në FTC: 4 hapa
Programimi i drejtuar nga ngjarjet në FTC: 4 hapa

Video: Programimi i drejtuar nga ngjarjet në FTC: 4 hapa

Video: Programimi i drejtuar nga ngjarjet në FTC: 4 hapa
Video: Nusja harron dhendrin para Butrintit, çfarë po ndodh? 😮#shorts #viral #butrintimeri #butrint #trend 2024, Nëntor
Anonim
Programimi i drejtuar nga ngjarjet në FTC
Programimi i drejtuar nga ngjarjet në FTC

Këtë vit, ekipi ynë ka bërë një punë të madhe me zhvillimin e softuerit të drejtuar nga ngjarjet për robotin tonë. Këto programe i kanë lejuar ekipit të zhvillojë me saktësi programe autonome dhe madje edhe ngjarje të përsëritshme tele-op. Meqenëse puna softuerike që kërkon është e ndërlikuar, ne vendosëm të ndajmë njohuritë që kemi fituar për zhvillimin e kodit të drejtuar nga ngjarjet për robotët FTC.

Hapi 1: Çfarë është Programimi i Drejtuar nga Ngjarjet?

Në terma të përgjithshëm, programimi i drejtuar nga ngjarjet, sipas Techopedia, është zhvillimi i programeve që i përgjigjen inputit të përdoruesit. Në këtë kuptim, shumë programe konsiderohen të drejtuara nga ngjarjet, përfshirë programin tele-op të një ekipi, i cili mbështetet në të dhënat nga një kontrollues i drejtuar nga njerëzit për të kryer çdo veprim. Sidoqoftë, për sa i përket punës që ka bërë ekipi ynë, programimi i drejtuar nga ngjarjet ka të bëjë me krijimin e softuerit nga inputet e ndryshme; me fjalë të tjera, ne dokumentojmë ngjarjet bazuar në hyrjet e kontrolluesve dhe sensorëve, atëherë ne mund t'i vendosim në radhë këto ngjarje dhe të përdorim skedarin për të përsëritur ngjarjen e regjistruar.

Kjo metodë e zhvillimit të programeve për robotin tonë ka disa përparësi:

  • Na lejon të krijojmë programe autonome të sakta. Meqenëse ne po krijojmë softuerin në kohë reale gjatë zhvillimit të ngjarjes, vlerat e sensorit të mbledhura dhe të përdorura do të jenë shumë të sakta, pasi ato vijnë drejtpërdrejt nga ngjarja origjinale.
  • Na lejon të krijojmë programe autonome shpejt. Bërja e programeve autonome është aq e thjeshtë sa regjistrimi i një sërë ngjarjesh dhe rregullimi i ngjarjes sipas nevojës.
  • Na lejon të krijojmë procese automatike për tele-op. Për veprimet e përsëritura në tele-op, programimi i drejtuar nga ngjarjet na lejon të regjistrojmë këto veprime dhe ta caktojmë ngjarjen në një buton gjatë periudhave të ndeshjeve të kontrolluara nga shoferi. Këto ngjarje të automatizuara mund të ndikohen nga sensorët për të lejuar ekzekutimin e tyre të saktë.

Hapi 2: Rrjedha Logjike e Programimit të Drejtuar nga Ngjarjet

Rrjedha Logjike e Programimit të Drejtuar nga Ngjarjet
Rrjedha Logjike e Programimit të Drejtuar nga Ngjarjet

Më poshtë përshkruhet rrjedha logjike e një programi të drejtuar nga ngjarjet: e kuqja përshkruan krijimin e një ngjarjeje dhe bluja përshkruan thirrjen e ngjarjes. Për krijimin e një ngjarjeje, një sekuencë e inputeve merret përmes veprimit të robotit dhe regjistrohet si ngjarje; këto ngjarje shkruhen në një skedar. Për thirrjen e një ngjarjeje, ai skedar lexohet dhe hyrjet i dërgohen një përpunuesi të ngjarjeve për ta kthyer kodin e skedarit në veprim robotik.

Hapi 3: Krijuesi i ngjarjes

Krijuesi i ngjarjes
Krijuesi i ngjarjes
Krijuesi i ngjarjes
Krijuesi i ngjarjes

Krijuesit e ngjarjeve përdoren për të dokumentuar veprimet ose "ngjarjet" bazuar në një sërë sensorë dhe butona. Ndërsa roboti bën veprime në terren, një klasë e krijuesve të ngjarjeve po krijon ngjarje për secilën nga ato veprime paralelisht, duke iu referuar ngjarjes së klasifikuar në një klasë ngjarjesh. Pasi të krijohet, ngjarja vihet në radhë të ngjarjeve në klasën e ngjarjeve: ngjarja e parë merr vendin e parë, pastaj ngjarja e dytë merr vendin e parë dhe shtyn poshtë çdo ngjarje nën të, dhe kjo vazhdon derisa programi të ndalet. Kur programi ndalet, ngjarjet dalin në një skedar të formatit të lexueshëm nga njerëzit, siç është një skedar JSON. Ky skedar mund të përdoret për të përmirësuar më mirë rutinat autonome.

Kodi shembullor i mësipërm vendos parametrat për ngjarjen, e cila në këtë rast është një kthesë duke përdorur një sensor IMU. Ne pastaj radhisim ngjarjen në radhën e ngjarjes. Së fundi, ne cungojmë ngjarjen, e cila në thelb është rivendosja e ngjarjes në mënyrë që ta përdorim atë për të rradhitur ngjarjet e ardhshme.

Hapi 4: Përpunuesi i ngjarjeve

Përpunuesi i ngjarjeve
Përpunuesi i ngjarjeve
Përpunuesi i ngjarjeve
Përpunuesi i ngjarjeve

Klasat e ngjarjeve marrin skedarin e lexueshëm nga njeriu të prodhuar në klasën e krijuesit të ngjarjeve dhe bën gjithçka që çdo ngjarje në radhë i thotë të bëjë duke thirrur metoda të përshkruara në një klasë të përpunuesit të ngjarjeve. Klasa e përpunuesit të ngjarjeve më pas i tregon robotit se çfarë ngjarjeje të rishikojë. Pavarësisht nëse bëhet fjalë për një ngjarje të thjeshtë "drejtimi përpara" ose një ngjarje komplekse plot distanca, kthesa dhe shtigje, procesori do të rishikojë çdo ngjarje që i është dhënë. Ky proces është shumë i dobishëm gjatë kohës autonome, pasi një ekip mund të regjistrojë sensorë dhe veprime Tele-Op para se të përputhen, pastaj thjesht t'i rishikojë ngjarjet në mënyrë autonome. Ky proces quhet Ripërsëritja e kujtesës. Kjo lejon që një program autonom të jetë 100% i konfigurueshëm përmes një skedari të vetëm. Pasi të krijohet krijuesi dhe përpunuesi i ngjarjes, një ekip thjesht mund të ndryshojë rutinat autonome përmes skedarit të lexueshëm nga njeriu.

Shembulli i mësipërm fillimisht fillon duke kontrolluar skedarin JSON për një ngjarje, dhe pastaj duke kontrolluar atë ngjarje duke përdorur një deklaratë rasti për të parë se çfarë lloj ngjarje është, në këtë rast një kthesë duke përdorur një sensor IMU. Pasi të mund të tregojë se është një kthesë duke përdorur ngjarjen IMU, atëherë merret me përpunimin e ngjarjes, e cila zakonisht përfshin ekzekutimin e kodit nga i cili ngjarja erdhi duke përdorur variablat nga ngjarja, të dhëna për të përsëritur ngjarjen që ishte bërë më parë.

Recommended: