Garat ndërkombëtare të robotëve - Rregullat - Shembuj robotësh - Roboti trajektore i bazuar në LEGO EV3. Lego EV3. Vozitja përgjatë vijës së zezë Vozitja përgjatë vijës me timon në ev3

15.01.2012, 18:51

Deri më tani, në artikujt rreth algoritmeve të përdorura gjatë lëvizjes përgjatë një linje, konsiderohej një metodë kur sensori i dritës dukej se monitoronte kufirin e tij të majtë ose të djathtë: sapo roboti u zhvendos në pjesën e bardhë të fushës, kontrolluesi e ktheu robotin. në kufi, sensori filloi të lëvizë më thellë në vijën e zezë - rregullatori e drejtoi atë përsëri.
Përkundër faktit se fotografia e mësipërme është treguar për një rregullator rele, parimi i përgjithshëm i lëvizjes së një proporcional (rregullatori P) do të jetë i njëjtë. Siç u tha tashmë, shpejtësi mesatare një lëvizje e tillë nuk është shumë e lartë dhe u bënë disa përpjekje për ta rritur atë duke e ndërlikuar pak algoritmin: në një rast u përdor frenimi "i butë", në një tjetër, përveç kthesave, u prezantua lëvizja përpara.
Për të lejuar robotin të ecë përpara në disa zona, një zonë e ngushtë u nda në gamën e vlerave të prodhuara nga sensori i dritës, i cili në mënyrë konvencionale mund të quhet "sensori është në kufirin e linjës".
Kjo qasje ka pengesë e vogël- nëse roboti "ndjek" kufirin e majtë të vijës, atëherë në kthesat e djathta nuk zbulon menjëherë lakimin e trajektores dhe, si rezultat, shpenzon më shumë kohë duke kërkuar vijën dhe duke u kthyer. Për më tepër, mund të themi me besim se sa më e mprehtë të jetë kthesa, aq më gjatë bëhet ky kërkim.
Figura e mëposhtme tregon se nëse sensori nuk do të ishte në anën e majtë të kufirit, por në të djathtë, atëherë ai do të kishte zbuluar tashmë lakimin e trajektores dhe do të fillonte të bënte manovra kthese.

Prandaj, është mirë të pajisni robotin me dy sensorë njëherësh, të cilët ndodhen përgjatë anët e ndryshme nga linja dhe, në përputhje me rrethanat, do të ndihmonte robotin të reagonte më shpejt ndaj ndryshimeve në drejtimin e lëvizjes.
Tani duhet të përcaktojmë se si ky ndryshim i dizajnit do të ndikojë në program. Për thjeshtësi, duhet të fillojmë përsëri me kontrolluesin më të thjeshtë të stafetës dhe për këtë arsye, para së gjithash, ne jemi të interesuar për pozicionet e mundshme të sensorëve në lidhje me linjën:

Në fakt, mund të identifikohet një kusht më i pranueshëm - në rrugë komplekse do të jetë kryqëzimi i një kryqëzimi ose një lloj trashjeje në shteg.
Pozicionet e tjera të sensorëve nuk do të merren parasysh, sepse ato janë ose derivate të atyre të treguara më sipër, ose këto janë pozicionet e robotit kur ai ka lënë linjën dhe nuk do të jetë më në gjendje të kthehet tek ai duke përdorur informacionin nga sensorët. . Si rezultat, të gjitha dispozitat e mësipërme mund të reduktohen në klasifikimin e mëposhtëm:
  • sensori i majtë, si ai i djathtë, është mbi një sipërfaqe të lehtë
  • sensori i majtë mbi një sipërfaqe të lehtë, sensori i djathtë mbi një të errët
  • Sensori i majtë mbi sipërfaqe të errët, sensori i djathtë mbi sipërfaqe të lehta
  • të dy sensorët janë të vendosur mbi një sipërfaqe të errët
Nëse në një moment të caktuar kohor programi në robot zbulon një nga këto pozicione, ai do të duhet të reagojë në përputhje me rrethanat:
    Nëse të dy sensorët janë mbi sipërfaqen e bardhë, atëherë kjo është një situatë normale në të cilën linja është midis sensorëve, kështu që roboti duhet të shkojë drejt nëse sensori i majtë është ende mbi sipërfaqen e dritës, dhe sensori i djathtë është tashmë sipër të errët, atëherë roboti ka drejtuar anën e tij të djathtë në vijë, që do të thotë se ai duhet të kthehet në të djathtë në mënyrë që linja të jetë përsëri midis sensorëve nëse sensori i majtë është mbi një sipërfaqe të errët, dhe ai i djathtë është i palëvizshëm mbi një dritë, atëherë për të rreshtuar roboti duhet të kthehet majtas nëse të dy sensorët janë mbi një sipërfaqe të errët, atëherë në përgjithësi, roboti përsëri vazhdon të lëvizë drejt.

Diagrami i mësipërm tregon menjëherë se si duhet të ndryshojë saktësisht sjellja e motorëve në program Tani, shkrimi i një programi nuk duhet të jetë i vështirë. Nuk ka shumë rëndësi, ndaj le të lihet. Është e nevojshme të përcaktohet nëse është mbi një sipërfaqe të lehtë apo të errët:
Ky veprim nuk ju lejon ende të thoni se në cilin drejtim duhet të shkojë roboti. Por ajo do t'i ndajë shtetet e listuara më sipër në dy grupe: (I, II) për degën e sipërme dhe (III, IV) për degën e poshtme. Secili grup tani ka dy gjendje, kështu që ju duhet të zgjidhni njërën prej tyre. Nëse shikoni nga afër dy gjendjet e para I dhe II, ato ndryshojnë në pozicionin e sensorit të duhur - në një rast është mbi një sipërfaqe të lehtë, në tjetrën - mbi një të errët. Kjo është ajo që do të përcaktojë zgjedhjen se çfarë veprimi duhet të ndërmerret:
Tani mund të futni blloqe që përcaktojnë sjelljen e motorëve sipas tabelave të mësipërme: dega e sipërme e gjendjes së mbivendosur përcakton kombinimin "të dy sensorët në dritë", sipër - "majtas në dritë, djathtas në errësirë":
Dega e poshtme e gjendjes kryesore është përgjegjëse për një grup tjetër kushtesh III dhe IV. Të dy gjendjet ndryshojnë gjithashtu nga njëra-tjetra në nivelin e dritës që zbulon sensori i duhur. Kjo do të thotë se do të përcaktojë zgjedhjen e secilit prej tyre:
Dy degët që rezultojnë janë të mbushura me blloqe lëvizëse. Dega e sipërme është përgjegjëse për gjendjen "majtas në errësirë, djathtas në dritë", dhe dega e poshtme është përgjegjëse për "të dy sensorët në errësirë".
Duhet të theksohet se ky dizajn përcakton vetëm se si të ndizni motorët në varësi të leximeve të sensorëve në një vend të caktuar në fushë, natyrisht, pas një momenti, programi duhet të kontrollojë nëse leximet kanë ndryshuar për të rregulluar; sjellja e motorëve në përputhje me rrethanat, dhe pas një momenti përsëri, përsëri, etj. d. Prandaj, duhet të vendoset në një lak që do të sigurojë këtë kontroll të përsëritur:

Një program i tillë mjaft i thjeshtë do të sigurojë një shpejtësi mjaft të lartë të lëvizjes së robotit përgjatë vijës pa fluturuar përtej kufijve të tij, nëse konfiguroni saktë shpejtësinë maksimale kur lëvizni në gjendjet I dhe IV, dhe gjithashtu vendosni mënyra më e mirë frenimi në gjendjet II dhe III - sa më të pjerrëta të jenë kthesat në autostradë, aq më "i fortë" duhet të jetë frenimi - shpejtësia duhet të ulet më shpejt dhe anasjelltas - me kthesa të qetë është mjaft e mundur të aplikoni frenim duke fikur fuqinë. apo edhe duke ulur fare shpejtësinë.

Duhet thënë edhe disa fjalë të veçanta në lidhje me vendosjen e sensorëve në robot. Natyrisht, të njëjtat rekomandime për vendndodhjen e këtyre dy sensorëve në lidhje me rrotat do të zbatohen si për një sensor, vetëm kulmi i trekëndëshit merret si mesi i segmentit që lidh dy sensorët. Distanca midis vetë sensorëve duhet të zgjidhet gjithashtu nga karakteristikat e pistës: sa më afër të jenë sensorët me njëri-tjetrin, aq më shpesh roboti do të nivelizohet (kryejë kthesa relativisht të ngadalta), por nëse sensorët janë të vendosur mjaft gjerë , atëherë ekziston rreziku i fluturimit jashtë pista, kështu që do t'ju duhet të ktheni më shumë "të vështira" dhe të zvogëloni shpejtësinë në seksionet e drejta.



Në mënyrë që roboti të lëvizë pa probleme përgjatë vijës së zezë, duhet ta bëni atë të llogarisë vetë shpejtësinë e lëvizjes.

Një person sheh një vijë të zezë dhe kufirin e saj të qartë. Sensori i dritës funksionon pak më ndryshe.

Është kjo veti e sensorit të dritës - pamundësia për të dalluar qartë të bardhën nga e zeza - që do të përdorim për të llogaritur shpejtësinë e lëvizjes.

Së pari, le të prezantojmë konceptin e "Pikës së trajektores ideale".

Leximet e sensorit të dritës variojnë nga 20 në 80, më shpesh në të bardhë leximet janë afërsisht 65, në të zezë rreth 40.

Pika ideale është një pikë konvencionale afërsisht në mes të ngjyrave të bardha dhe të zeza, pas së cilës roboti do të lëvizë përgjatë vijës së zezë.

Këtu vendndodhja e pikës është thelbësore - midis të bardhës dhe të zezës. Nuk do të jetë e mundur të vendoset saktësisht në të bardhë ose të zezë për arsye matematikore;

Në mënyrë empirike, ne kemi llogaritur se pika ideale mund të llogaritet duke përdorur formulën e mëposhtme:

Roboti duhet të lëvizë rreptësisht përgjatë pikës ideale. Nëse ka një devijim në ndonjë drejtim, roboti duhet të kthehet në atë pikë.

Le të kompozojmë përshkrimi matematikor i problemit.

Të dhënat fillestare.

Pika ideale.

Leximet aktuale të sensorit të dritës.

Rezultati.

Fuqia e rrotullimit të motorit V.

Fuqia e rrotullimit të motorit C.

Zgjidhje.

Le të shqyrtojmë dy situata. Së pari: roboti devijoi nga vija e zezë drejt vijës së bardhë.

Në këtë rast, roboti duhet të rrisë fuqinë e rrotullimit të motorit B dhe të zvogëlojë fuqinë e motorit C.

Në një situatë ku roboti hyn në vijën e zezë, e kundërta është e vërtetë.

Sa më shumë që roboti të devijojë nga pika ideale, aq më shpejt duhet të kthehet në të.

Por krijimi i një rregullatori të tillë është një detyrë mjaft e vështirë dhe nuk kërkohet gjithmonë në tërësi.

Prandaj, vendosëm të kufizohemi vetëm në rregullatorin P, i cili i përgjigjet në mënyrë adekuate devijimeve nga vija e zezë.

Në gjuhën matematikore do të shkruhet kështu:

ku Hb dhe Hc janë fuqitë përfundimtare të motorëve B dhe C, përkatësisht,

Baza - një fuqi e caktuar bazë e motorëve që përcakton shpejtësinë e robotit. Përzgjidhet eksperimentalisht, në varësi të modelit të robotit dhe mprehtësisë së kthesave.

Itek - leximet aktuale të sensorit të dritës.

Iid - pika ideale e llogaritur.

k – koeficienti i proporcionalitetit, i zgjedhur në mënyrë eksperimentale.

Në pjesën e tretë do të shikojmë se si ta programojmë këtë në mjedisin NXT-G.

Një nga lëvizjet themelore në ndërtimin e lehtë është ndjekja e vijës së zezë.

Teoria e përgjithshme dhe shembuj specifikë Krijimi i programit përshkruhet në faqen e internetit wraboto.ru

Unë do të përshkruaj se si ne e zbatojmë këtë në mjedisin EV3, pasi ka dallime.

Gjëja e parë që roboti duhet të dijë është kuptimi i "pikës ideale" që ndodhet në kufirin e bardhë e zi.

Vendndodhja e pikës së kuqe në figurë korrespondon saktësisht me këtë pozicion.

Opsioni ideal i llogaritjes është matja e vlerave bardh e zi dhe marrja e mesatares aritmetike.

Ju mund ta bëni këtë me dorë. Por disavantazhet janë menjëherë të dukshme: edhe për një periudhë të shkurtër kohore, ndriçimi mund të ndryshojë dhe vlera e llogaritur do të jetë e pasaktë.

Pra, ju mund të merrni një robot për ta bërë atë.

Gjatë eksperimenteve, ne zbuluam se nuk është e nevojshme të matim të zezën dhe të bardhën. Mund të matet vetëm e bardha. Dhe vlera ideale e pikës llogaritet si vlera e bardhë e ndarë me 1.2 (1.15), në varësi të gjerësisë së vijës së zezë dhe shpejtësisë së robotit.

Vlera e llogaritur duhet të shkruhet në një variabël në mënyrë që të aksesohet më vonë.

Llogaritja e "pikës ideale"

Parametri tjetër i përfshirë në lëvizje është koeficienti i rrotullimit. Sa më i madh të jetë, aq më ashpër roboti reagon ndaj ndryshimeve në ndriçim. Por shumë vlerë të madhe do të bëjë që roboti të lëkundet. Vlera zgjidhet eksperimentalisht individualisht për çdo dizajn robot.

Parametri i fundit është fuqia bazë e motorëve. Kjo ndikon në shpejtësinë e robotit. Rritja e shpejtësisë së lëvizjes çon në një rritje të kohës së reagimit të robotit ndaj ndryshimeve në ndriçim, gjë që mund të çojë në largimin nga trajektorja. Vlera zgjidhet gjithashtu eksperimentalisht.

Për lehtësi, këto parametra mund të shkruhen edhe në variabla.

Raporti i kthesës dhe fuqia bazë

Logjika e lëvizjes përgjatë vijës së zezë është si më poshtë: matet devijimi nga pika ideale. Sa më i madh të jetë, aq më i fortë roboti duhet të përpiqet të kthehet tek ai.

Për ta bërë këtë, ne llogarisim dy numra - vlerën e fuqisë së secilit prej motorëve B dhe C veç e veç.

Në formën e formulës duket kështu:

Ku Isens është vlera e leximeve të sensorit të dritës.

Së fundi, zbatimi në EV3. Është më e përshtatshme për ta rregulluar atë në formën e një blloku të veçantë.

Zbatimi i algoritmit

Ky është pikërisht algoritmi që u zbatua në robot për kategoria e mesme ZRRUM 2015


Për të parë prezantimin me foto, dizajn dhe sllajde, shkarkoni skedarin e tij dhe hapeni në PowerPoint në kompjuterin tuaj.
Përmbajtja e tekstit të sllajdeve të prezantimit:
"Algoritmi për lëvizjen përgjatë vijës së zezë me një sensor me një ngjyrë" Klubi "Robotikë" Mësues para Yezidov Akhmed ElievichAt MBU DO "Shelkovskaya TsTT" Për të studiuar algoritmin për lëvizjen përgjatë vijës së zezë, një robot Lego Mindstorms EV3 me një sensor ngjyrë Sensori i ngjyrave dallon 7 ngjyra dhe mund të dallojë mungesën e ngjyrës. Ashtu si në NXT, ai mund të funksionojë si një sensor drite për garat e robotëve "Line S" Territori i propozuar me një pistë në formën e shkronjës "S" do t'ju lejojë të kryeni një tjetër provë interesante të robotëve të krijuar për shpejtësi. dhe reagimi. Le të shqyrtojmë algoritmi më i thjeshtë Lëvizja përgjatë vijës së zezë në një sensor me një ngjyrë në EV3. Ky algoritëm është më i ngadalshëm, por më i qëndrueshëm është shumë e thjeshtë: nëse sensori sheh të zezë, atëherë roboti kthehet në një drejtim, nëse i bardhë - në tjetrin. Ndjekësi i linjës në modalitetin e ndriçimit të dritës së reflektuar me dy sensorë Ndonjëherë sensori i ngjyrave nuk është mjaftueshëm efektiv për të dalluar të zezën dhe ngjyrat e bardha. Zgjidhja për këtë problem është përdorimi i sensorit jo në modalitetin e zbulimit të ngjyrave, por në modalitetin e ndriçimit të dritës së reflektuar. Në këtë mënyrë, duke ditur vlerat e sensorit në një sipërfaqe të errët dhe të lehtë, mund të themi në mënyrë të pavarur se çfarë do të konsiderohet e bardhë dhe çfarë e zezë. Tani le të përcaktojmë vlerat e shkëlqimit në sipërfaqet e bardha dhe të zeza. Për ta bërë këtë, në menynë e bllokut EV3 gjejmë skedën "Aplikimet e modulit" Tani jeni në dritaren e shikimit të portit dhe mund të shihni leximet e të gjithë sensorëve në momentin aktual. sensorët tanë duhet të ndizen me ngjyrë të kuqe, që do të thotë se ata funksionojnë në modalitetin e zbulimit të ndriçimit të dritës së reflektuar. Nëse shkëlqejnë blu, në dritaren e shikimit të portit në portën e dëshiruar, shtypni butonin qendror dhe zgjidhni modalitetin COL-REFLECT Tani, le ta vendosim robotin në mënyrë që të dy sensorët të jenë të vendosur mbi sipërfaqen e bardhë. Ne shikojmë numrat në portat 1 dhe 4. Në rastin tonë, vlerat janë përkatësisht 66 dhe 71. Këto do të jenë vlerat e bardha të sensorëve. Tani le ta pozicionojmë robotin në mënyrë që sensorët të vendosen mbi sipërfaqen e zezë. Le të shohim përsëri vlerat e portave 1 dhe 4 Ne kemi përkatësisht 5 dhe 6. Këto janë kuptimet e së zezës. Më pas, ne do të ndryshojmë programin e mëparshëm. Domethënë, ne do të ndryshojmë cilësimet e çelsave. Tani për tani ata kanë të instaluar sensorin e ngjyrave -> matjen -> ngjyrën. Ne gjithashtu duhet të vendosim Sensorin e ngjyrave -> Krahasimin -> Shkëlqimin e dritës së reflektuar Tani duhet të vendosim "llojin e krahasimit" dhe "vlerën e pragut". Vlera e pragut është vlera e disa "gri", vlera më pak se të cilat do të konsiderojmë të zeza, dhe më shumë - të bardha. Për një përafrim të parë, është e përshtatshme të përdoret vlera mesatare midis të bardhës dhe të zezës së secilit sensor. Kështu, vlera e pragut të sensorit të parë (porti nr. 1) do të jetë (66+5)/2=35.5. Le ta rrumbullakojmë deri në 35. Vlera e pragut të sensorit të dytë (porti nr. 4): (71+6)/2 = 38.5. Le t'i rrumbullakojmë deri në 38. Tani i vendosim këto vlera në secilin ndërprerës në përputhje me rrethanat, blloqet me lëvizje mbeten në vendet e tyre pa ndryshime, pasi nëse vendosim shenjën "lloji i krahasimit".<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Algoritme për kontrollin e një roboti celular LEGO. Lëvizja e linjës me dy sensorë drite

Mësues i arsimit shtesë

Kazakova Lyubov Alexandrovna


Lëvizja përgjatë vijës

  • Dy sensorë drite
  • Kontrollues proporcional (P-kontrollues)

Algoritmi për lëvizjen përgjatë vijës së zezë pa një kontrollues proporcional

  • Të dy motorët rrotullohen me të njëjtën fuqi
  • Nëse sensori i djathtë i dritës godet vijën e zezë, atëherë fuqia e motorit të majtë (për shembull B) zvogëlohet ose ndalet
  • Nëse sensori i dritës së majtë godet vijën e zezë, atëherë fuqia e një motori tjetër (për shembull C) zvogëlohet (kthehet në linjë), zvogëlohet ose ndalon.
  • Nëse të dy sensorët janë në të bardhë ose të zi, atëherë ndodh lëvizja lineare

Lëvizja organizohet duke ndryshuar fuqinë e njërit prej motorëve


Shembull i një programi për ngasje përgjatë një linje të zezë pa një kontrollues P

Lëvizja organizohet duke ndryshuar këndin e rrotullimit


  • Një kontrollues proporcional (P-kontrollues) ju lejon të rregulloni sjelljen e robotit në varësi të asaj se sa ndryshon sjellja e tij nga ajo e dëshiruar.
  • Sa më shumë që roboti të devijojë nga qëllimi, aq më shumë përpjekje duhet të bëjë për t'u kthyer tek ai.

  • Kontrolluesi P përdoret për të mbajtur robotin në një gjendje të caktuar:
  • Mbajtja e pozicionit të manipuluesit Lëvizja përgjatë një linje (sensori i dritës) Lëvizja përgjatë një muri (sensori i distancës)
  • Mbajtja e pozicionit të manipuluesit
  • Lëvizja e linjës (sensori i dritës)
  • Lëvizja përgjatë murit (sensori i distancës)

Lëvizja e linjës me një sensor

  • Qëllimi është të lëvizim përgjatë kufirit "bardh e zi".
  • Një person mund të dallojë kufirin midis të bardhës dhe të zezës. Një robot nuk mundet.
  • Objektivi për robotin është në gri

Vozitja nëpër kryqëzime

Kur përdorni dy sensorë drite, është e mundur të organizoni lëvizje përgjatë rrugëve më komplekse



Algoritmi për ngasjen përgjatë një autostrade me kryqëzime

  • Të dy sensorët janë në të bardhë - roboti po lëviz drejt (të dy motorët rrotullohen me të njëjtën fuqi)
  • Nëse sensori i djathtë i dritës godet vijën e zezë dhe i majti godet vijën e bardhë, atëherë ndodh një kthesë djathtas
  • Nëse sensori i dritës së majtë godet vijën e zezë dhe i djathti godet vijën e bardhë, atëherë ndodh një kthesë në të majtë
  • Nëse të dy sensorët janë të zinj, atëherë ndodh lëvizja lineare. Ju mund të numëroni kryqëzimet ose të kryeni ndonjë veprim


Parimi i funksionimit të rregullatorit P

Pozicioni i sensorit

O=O1-O2


Algoritmi për lëvizjen përgjatë vijës së zezë me një kontrollues proporcional

HC = K*(C-T)

  • Ts - vlerat e synuara (merrni lexime nga sensori i dritës në të bardhë dhe të zi, llogaritni mesataren)
  • T - vlera aktuale - e marrë nga sensori
  • K - koeficienti i ndjeshmërisë. Sa më shumë, aq më e lartë është ndjeshmëria