Ev3 judėjimas išilgai linijos. Tarptautinės robotų varžybos – Taisyklės – Robotų pavyzdžiai – Trajektorijos robotas LEGO EV3 pagrindu. Algoritmo veikimo pavyzdys

Pasvarstykime paprasčiausias algoritmas judėjimas palei juodą liniją ant vieno EV3 spalvų jutiklio.

Šis algoritmas yra lėčiausias, bet stabiliausias.

Robotas judės ne griežtai palei juodą liniją, o palei jos kraštą, sukdamas į kairę ir į dešinę ir palaipsniui judės į priekį.

Algoritmas labai paprastas: jei jutiklis mato juodą, tai robotas sukasi į vieną pusę, jei baltas – į kitą.

Diegimas Lego Mindstorms EV3 aplinkoje

Abiejuose judesio blokuose pasirinkite „įjungti“ režimą. Mes nustatėme jungiklį į spalvų jutiklį - matavimas - spalva. Apačioje nepamirškite pakeisti „be spalvos“ į baltą. Be to, turite teisingai nurodyti visus prievadus.

Nepamirškite pridėti ciklo, be jo robotas niekur nedings.

Patikrinkite tai. Norint pasiekti geriausias rezultatas pabandykite pakeisti vairo ir galios reikšmes.

Judėjimas su dviem jutikliais:

Jau žinote roboto judėjimo juoda linija naudojant vieną jutiklį algoritmą. Šiandien mes apžvelgsime judėjimą išilgai linijos naudojant du spalvų jutiklius.
Jutikliai turi būti sumontuoti taip, kad tarp jų eitų juoda linija.


Algoritmas bus toks:
Jei abu jutikliai mato baltą spalvą, judame į priekį;
Jei vienas iš jutiklių mato baltą, o kitą juodą, pasukite juodos spalvos link;
Jei abu jutikliai mato juodą spalvą, esame sankryžoje (pavyzdžiui, sustosime).

Norėdami įgyvendinti algoritmą, turėsime stebėti abiejų jutiklių rodmenis ir tik po to nustatyti robotą judėti. Norėdami tai padaryti, naudosime kitame jungiklyje įdėtus jungiklius. Taigi pirmiausia apklaussime pirmąjį jutiklį, o tada, neatsižvelgdami į pirmojo jutiklio rodmenis, apklaussime antrąjį jutiklį, po kurio nustatysime veiksmą.
Kairįjį jutiklį prijunkite prie prievado Nr.1, dešinįjį prie prievado Nr.4.

Programa su komentarais:

Nepamirškite, kad variklius paleidžiame režimu „Įjungta“, kad jie veiktų tiek, kiek reikia, atsižvelgiant į jutiklio rodmenis. Taip pat žmonės dažnai pamiršta apie kilpos poreikį – be jos programa tuoj pat baigsis.

http://studrobots.ru/

Ta pati programa skirta NXT modeliui:

Išstudijuokite judėjimo programą. Užprogramuokite robotą. Siųsti vaizdo įrašą apie modelio testavimą

Mobiliojo LEGO roboto valdymo algoritmai. Linijos judėjimas su dviem šviesos jutikliais

Papildomo ugdymo mokytoja

Kazakova Lyubov Aleksandrovna


Judėjimas palei liniją


Judėjimo juoda linija algoritmas be proporcinio valdiklio

  • Abu varikliai sukasi ta pačia galia
  • Jei dešinysis šviesos jutiklis patenka į juodą liniją, kairiojo variklio (pavyzdžiui, B) galia sumažėja arba sustoja
  • Jei kairysis šviesos jutiklis patenka į juodą liniją, kito variklio (pavyzdžiui, C) galia sumažėja (grįžta į liniją), sumažėja arba sustoja.
  • Jei abu jutikliai yra balti arba juodi, atsiranda linijinis judėjimas

Judėjimas organizuojamas keičiant vieno iš variklių galią


Programos, skirtos važiuoti juoda linija be P valdiklio, pavyzdys

Judėjimas organizuojamas keičiant sukimosi kampą


  • Proporcinis valdiklis (P-valdiklis) leidžia reguliuoti roboto elgesį priklausomai nuo to, kiek jo elgesys skiriasi nuo pageidaujamo.
  • Kuo labiau robotas nukrypsta nuo tikslo, tuo daugiau pastangų reikia įdėti, kad į jį sugrįžtų.

  • P valdiklis naudojamas tam, kad robotas būtų tam tikroje būsenoje:
  • Manipuliatoriaus padėties laikymas Judėjimas linija (šviesos jutiklis) Judėjimas siena (atstumo jutiklis)
  • Manipuliatoriaus padėties laikymas
  • Linijos judėjimas (šviesos jutiklis)
  • Judėjimas palei sieną (atstumo jutiklis)

Linijos judėjimas su vienu jutikliu

  • Tikslas yra judėti „balta-juoda“ riba
  • Žmogus gali atskirti ribą tarp baltos ir juodos. Robotas negali.
  • Roboto tikslas pilkas

Važiavimas per sankryžas

Naudojant du šviesos jutiklius, galima organizuoti judėjimą sudėtingesniais maršrutais



Algoritmas važiavimui greitkeliu su sankryžomis

  • Abu jutikliai yra balti – robotas važiuoja tiesiai (abu varikliai sukasi vienoda galia)
  • Jei dešinysis šviesos jutiklis patenka į juodą liniją, o kairysis - į baltą liniją, tada įvyksta posūkis į dešinę
  • Jei kairysis šviesos jutiklis patenka į juodą liniją, o dešinysis - į baltą liniją, tada jis sukasi į kairę
  • Jei abu jutikliai yra juodi, atsiranda linijinis judėjimas. Galite skaičiuoti sankryžas arba atlikti bet kokius veiksmus


P reguliatoriaus veikimo principas

Jutiklio padėtis

O=O1-O2


Judėjimo palei juodą liniją su proporcingu valdikliu algoritmas

HC = K*(C-T)

  • Ts - tikslinės vertės (paimkite baltos ir juodos šviesos jutiklio rodmenis, apskaičiuokite vidurkį)
  • T - srovės vertė - gaunama iš jutiklio
  • K – jautrumo koeficientas. Kuo daugiau, tuo didesnis jautrumas



Norėdami peržiūrėti pristatymą su paveikslėliais, dizainu ir skaidrėmis, atsisiųskite failą ir atidarykite jį „PowerPoint“. kompiuteryje.
Pristatymo skaidrių tekstinis turinys:
„Judėjimo palei juodą liniją algoritmas su vienu spalvos jutikliu“ „Robotikos“ klubas Mokytojas prieš Jezidovą Akhmedą Elievichą MBU DO „Shelkovskaya TsTT“ Norėdami ištirti judėjimo palei juodą liniją algoritmą, jis bus naudojamas. Lego robotas Mindstorms EV3 su vienu spalvų jutikliu Spalvų jutiklis Spalvų jutiklis skiria 7 spalvas ir gali aptikti spalvų nebuvimą. Kaip ir NXT, jis gali veikti kaip šviesos jutiklis, skirtas robotų varžyboms „Line S“ Siūloma treniruočių aikštelė su „S“ raidės formos trasa leis atlikti dar vieną įdomų sukurtų robotų greičio testą. ir reakcija. Apsvarstykime paprasčiausią judėjimo palei juodą liniją ant vieno EV3 algoritmo. Šis algoritmas yra lėčiausias, bet stabiliausias pamažu juda į priekį Algoritmas labai paprastas : jei jutiklis mato juodą, tai robotas sukasi į vieną pusę, jei baltas, į kitą. Linijos sekėjas atspindėtos šviesos ryškumo režimu su dviem jutikliais Kartais spalvų jutiklis nėra pakankamai efektyvus, kad atskirtų juodą nuo baltos spalvos. Šios problemos sprendimas – jutiklį naudoti ne spalvų aptikimo, o atspindėtos šviesos ryškumo režimu. Šiuo režimu, žinodami jutiklio reikšmes ant tamsaus ir šviesaus paviršiaus, galime savarankiškai pasakyti, kas bus laikoma balta, o kas juoda. Dabar nustatykime ryškumo vertes ant baltų ir juodų paviršių. Norėdami tai padaryti, EV3 bloko meniu randame skirtuką „Modulio programos“ Dabar esate prievado peržiūros lange ir matote visų jutiklių rodmenis šiuo metu. mūsų jutikliai turėtų šviesti raudonai, o tai reiškia, kad jie veikia atspindėtos šviesos ryškumo aptikimo režimu. Jei jie šviečia mėlynai, norimo prievado prievado peržiūros lange paspauskite centrinį mygtuką ir pasirinkite COL-REFLECT režimą. Dabar pastatykime robotą taip, kad abu jutikliai būtų virš balto paviršiaus. Mes žiūrime į skaičius 1 ir 4 prievaduose. Mūsų atveju reikšmės yra atitinkamai 66 ir 71. Tai bus baltos jutiklių reikšmės. Dabar pastatykime robotą taip, kad jutikliai būtų virš juodo paviršiaus. Dar kartą pažvelkime į 1 ir 4 prievadų reikšmes. Turime atitinkamai 5 ir 6. Tai yra juodos spalvos reikšmės. Toliau pakeisime ankstesnę programą. Būtent, pakeisime jungiklių nustatymus. Kol kas juose įdiegtas spalvų jutiklis -> matavimas -> spalva. Turime nustatyti spalvų jutiklį -> Palyginimas -> Atsispindėjusios šviesos ryškumas. Dabar turime nustatyti „palyginimo tipą“ ir „slenkstį“. Slenkstinė reikšmė yra tam tikros „pilkos“ reikšmės, mažesnės už kurias laikysime juodą, o daugiau – baltą. Pirmą kartą apytiksliai patogu naudoti kiekvieno jutiklio baltos ir juodos spalvos vidutinę vertę. Taigi pirmojo jutiklio (prievado Nr. 1) slenkstinė reikšmė bus (66+5)/2=35,5. Suapvalinkime iki 35. Antrojo jutiklio (prievado Nr. 4) slenkstinė reikšmė: (71+6)/2 = 38,5. Suapvalinkime iki 38. Dabar atitinkamai nustatome šias reikšmes kiekviename jungiklyje, blokai su judesiais lieka savo vietose be pakeitimų, nes jei dedame ženklą „lyginimo tipas“.<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Kad robotas sklandžiai judėtų palei juodą liniją, reikia priversti jį apskaičiuoti patį judėjimo greitį.

Žmogus mato juodą liniją ir aiškią jos ribą. Šviesos jutiklis veikia šiek tiek kitaip.

Būtent šią šviesos jutiklio savybę – nesugebėjimą aiškiai atskirti baltos ir juodos spalvos – naudosime skaičiuodami judėjimo greitį.

Pirmiausia pristatykime „idealios trajektorijos taško“ sąvoką.

Šviesos jutiklio rodmenys svyruoja nuo 20 iki 80, dažniausiai baltos spalvos rodmenys yra apie 65, ant juodos - apie 40.

Idealus taškas yra įprastas taškas, esantis maždaug baltos ir juodos spalvų viduryje, po kurio robotas judės palei juodą liniją.

Čia taško vieta yra esminė – tarp baltos ir juodos. Tiksliai baltos ar juodos spalvos nustatyti nepavyks dėl matematinių priežasčių, paaiškės vėliau.

Empiriškai apskaičiavome, kad idealų tašką galima apskaičiuoti naudojant šią formulę:

Robotas turi judėti griežtai išilgai idealaus taško. Jei yra nukrypimas bet kuria kryptimi, robotas turi grįžti į tą tašką.

Kurkime matematinis problemos aprašymas.

Pradiniai duomenys.

Idealus taškas.

Dabartiniai šviesos jutiklio rodmenys.

Rezultatas.

Variklio sukimosi galia V.

Variklio sukimosi galia C.

Sprendimas.

Panagrinėkime dvi situacijas. Pirma: robotas nukrypo nuo juodos linijos link baltos linijos.

Tokiu atveju robotas turi padidinti variklio B sukimosi galią ir sumažinti variklio C galią.

Situacijoje, kai robotas patenka į juodą liniją, yra atvirkščiai.

Kuo labiau robotas nukrypsta nuo idealaus taško, tuo greičiau jam reikia į jį grįžti.

Tačiau sukurti tokį reguliatorių yra gana sudėtinga užduotis ir to ne visada reikia visiškai.

Todėl nusprendėme apsiriboti tik P reguliatoriumi, kuris tinkamai reaguoja į nukrypimus nuo juodos linijos.

Matematine kalba tai bus parašyta taip:

kur Hb ir Hc yra atitinkamai galutinės variklių B ir C galios,

Bazė – tam tikra bazinė variklių galia, kuri lemia roboto greitį. Jis parenkamas eksperimentiniu būdu, priklausomai nuo roboto konstrukcijos ir posūkių aštrumo.

Itek – esami šviesos jutiklio rodmenys.

Iid – apskaičiuotas idealus taškas.

k – proporcingumo koeficientas, parinktas eksperimentiniu būdu.

Trečioje dalyje apžvelgsime, kaip tai užprogramuoti NXT-G aplinkoje.

Ši problema yra klasikinė, idėjiškai paprasta, ją galima išspręsti daugybę kartų, ir kiekvieną kartą atrasite kažką naujo sau.

Yra daug būdų, kaip išspręsti šią problemą. Vieno iš jų pasirinkimas priklauso nuo konkrečios roboto konstrukcijos, nuo jutiklių skaičiaus, jų padėties ratų ir vienas kito atžvilgiu.

Mūsų pavyzdyje bus analizuojami trys roboto pavyzdžiai, remiantis pagrindiniu Robot Educator ugdymo modeliu.

Pirmiausia surenkame pagrindinį mokomojo roboto Robot Educator modelį, tam galite naudoti MINDSTORMS EV3 programinės įrangos instrukcijas.

Taip pat, pavyzdžiui, mums reikės EV3 šviesios spalvos jutiklių. Šie šviesos jutikliai, kaip niekas kitas, geriausiai tinka mūsų užduočiai dirbant su jais, nereikia jaudintis dėl supančios šviesos intensyvumo. Šiam jutikliui programose naudosime atspindėtos šviesos režimą, kuriame įvertinamas iš raudono jutiklio foninio apšvietimo atspindimos šviesos kiekis. Jutiklio rodmenų ribos yra 0–100 vienetų, atitinkamai „be atspindžio“ ir „visiško atspindžio“.

Kaip pavyzdį analizuosime 3 programų, skirtų judėti juoda trajektorija, pavaizduota lygiame šviesiame fone, pavyzdžius:

· Vienas jutiklis su P reguliatoriumi.

· Vienas jutiklis, su PC reguliatoriumi.

· Du jutikliai.

1 pavyzdys. Vienas jutiklis su P reguliatoriumi.

Dizainas

Šviesos jutiklis sumontuotas ant modelio patogiai išdėstyto pluošto.


Algoritmas

Algoritmo veikimas pagrįstas tuo, kad, priklausomai nuo jutiklio apšvietimo pluošto persidengimo su juoda linija laipsnio, jutiklio grąžinami rodmenys skiriasi gradientu. Robotas išlaiko šviesos jutiklio padėtį ant juodos linijos ribos. Konvertuodama įvesties duomenis iš šviesos jutiklio, valdymo sistema sukuria roboto sukimosi greičio vertę.


Kadangi tikroje trajektorijoje jutiklis generuoja reikšmes visame savo veikimo diapazone (0-100), 50 pasirenkama kaip reikšmė, kurios robotas siekia. Tokiu atveju generuojamos reikšmės, perduodamos sukimosi funkcijoms diapazonas -50 - 50, tačiau šių verčių neužtenka staigiam posūkiui trajektorija. Todėl diapazonas turėtų būti padidintas pusantro karto iki -75 - 75.

Dėl to programoje skaičiuotuvo funkcija yra paprastas proporcingas valdiklis. kurios funkcija ( (a-50)*1,5 ) šviesos jutiklio veikimo diapazone generuoja sukimosi vertes pagal grafiką:

Algoritmo veikimo pavyzdys

2 pavyzdys. Vienas jutiklis su PK reguliatoriumi.

Šis pavyzdys pagrįstas ta pačia konstrukcija.

Tikriausiai pastebėjote, kad ankstesniame pavyzdyje robotas per daug siūbavo, o tai neleido jam pakankamai įsibėgėti. Dabar bandysime šiek tiek pagerinti šią situaciją.

Prie mūsų proporcinio valdiklio taip pat pridedame paprastą kubo valdiklį, kuris šiek tiek sulenks valdiklio funkciją. Tai sumažins roboto siūbavimą netoli norimos trajektorijos ribos, taip pat padarys stipresnius trūktelėjimus, kai bus toli nuo jo.