Mājas - Drywall
  Lego ev3 sekojot melnajai līnijai. Lego EV3. Kustība pa melno līniju. Krāsu sensors - apkārtējā apgaismojuma spilgtums


Lai robots varētu vienmērīgi pārvietoties pa melno līniju, jums tas jāpiespiež, lai aprēķinātu pašas kustības ātrumu.

Cilvēks redz melnu līniju un skaidru tās robežu. Gaismas sensors darbojas nedaudz savādāk.

Tieši šo gaismas sensora īpašību - nespēju skaidri atšķirt baltas un melnas robežu - mēs izmantosim, lai aprēķinātu kustības ātrumu.

Pirmkārt, mēs iepazīstinām ar ideālu “ideāls trajektorijas punkts”.

Gaismas sensora rādījumi ir no 20 līdz 80, visbiežāk baltā krāsā rādījumi ir aptuveni 65, melnā - aptuveni 40.

Ideālais punkts ir nosacīts punkts, kas atrodas apmēram baltas un melnas krāsas vidū, pēc kura robots pārvietojas pa melno līniju.

Šeit punkta atrašanās vieta ir principiāli - starp baltu un melnu. Tas precīzi iestatīts uz baltu vai melnu nedarbosies matemātisku iemeslu dēļ, kāpēc - tas būs skaidrs vēlāk.

Empīriski mēs aprēķinājām, ka ideālo punktu var aprēķināt, izmantojot šādu formulu:

Robotam stingri jāpārvietojas pa ideālu punktu. Ja ir novirzes abos virzienos, robotam ir jāatgriežas šajā punktā.

Uzpilda problēmas matemātiskais apraksts.

Avota dati.

Ideāls punkts.

Pašreizējie gaismas sensora rādījumi.

Rezultāts.

Motora griešanās jauda V.

Motora griešanās jauda C.

Risinājums.

Apsveriet divas situācijas. Pirmkārt: robots no melnās līnijas atkāpās uz balto.

Šajā gadījumā robotam jāpalielina motora B rotācijas jauda un jāsamazina motora C jauda.

Situācijā, kad robots nonāk melnajā līnijā, ir taisnība.

Jo spēcīgāk robots novirzās no ideālā punkta, jo ātrāk tam jāatgriežas.

Bet šāda regulatora izveide ir diezgan grūts uzdevums, un tas ne vienmēr tiek prasīts kopumā.

Tāpēc mēs nolēmām aprobežoties tikai ar P-regulatoru, kas atbilstoši reaģē uz novirzēm no melnās līnijas.

Matemātikas valodā to rakstīs šādi:

kur Hb un Hc ir attiecīgi B un C motoru kopējās jaudas,

Bāze - noteikta motoru pamata jauda, \u200b\u200bkas nosaka robota ātrumu. Tas tiek izvēlēts eksperimentāli, atkarībā no robota dizaina un pagriezienu asuma.

Itec - pašreizējie gaismas sensora rādījumi.

I id - aprēķinātais ideālais punkts.

k - proporcionalitātes koeficients, kas izvēlēts eksperimentāli.

Trešajā daļā mēs apskatīsim, kā to ieprogrammēt NXT-G vidē.

Šis uzdevums ir klasisks, ideoloģiski vienkāršs, to var atrisināt daudzas reizes, un katru reizi jūs atklāsit kaut ko jaunu.

Šīs problēmas risināšanai ir daudz pieeju. Viena no tām izvēle ir atkarīga no robota īpašās konstrukcijas, no sensoru skaita, to atrašanās vietas attiecībā pret riteņiem un viens no otra.

Mūsu piemērā tiks analizēti trīs robotu piemēri, pamatojoties uz Robot Educator pamata izglītības modeli.

Lai sāktu, mēs apkopojam apmācības robota Robot Educator pamatmodeli, šim nolūkam jūs varat izmantot MINDSTORMS EV3 programmatūras instrukcijas.

Arī piemēriem mums nepieciešami EV3 gaišas krāsas sensori. Šie gaismas sensori, tāpat kā neviens cits, ir vislabāk piemēroti mūsu uzdevumam, strādājot ar tiem mums nav jāuztraucas par apkārtējās gaismas intensitāti. Šim sensoram programmās mēs izmantosim atstarotās gaismas režīmu, kurā tiek aprēķināts sensora sarkanā fona apgaismojuma atstarotās gaismas daudzums. Sensora rādījumu robežas ir attiecīgi no 0 līdz 100 vienībām "bez atstarojuma" un "pilnīgai atstarošanai".

Kā piemēru mēs analizēsim 3 programmu paraugus pārvietošanai pa melnu trajektoriju, kas attēlota uz gluda, gaiša fona:

· Viens sensors ar P regulatoru.

· Viens sensors ar PK regulatoru.

· Divi sensori.

1. piemērs. Viens sensors ar P regulatoru.

Būvniecība

Gaismas sensors ir uzstādīts uz staru, kas ērti atrodas modelī.


Algoritms

Algoritma pamatā ir fakts, ka atkarībā no pārklāšanās pakāpes, sensora fona apgaismojuma ar melnu līniju, sensora atgrieztie rādījumi mainās pēc gradienta. Robots saglabā gaismas sensora stāvokli melnās līnijas malā. Pārveidojot ieejas datus no gaismas sensora, vadības sistēma ģenerē robota rotācijas ātruma vērtību.


Tā kā sensors ģenerē vērtības visā darbības diapazonā (0–100) pa reālo ceļu, vērtība, uz kuru robots tiecas, ir 50. Šajā gadījumā pārraidīto rotācijas funkciju vērtības tiek veidotas diapazonā no –50 līdz 50, taču ar šīm vērtībām nepietiek stāvam pagriežot trajektoriju. Tāpēc diapazons ir jāpaplašina pusotras reizes līdz -75 - 75.

Tā rezultātā programmā kalkulatora funkcija ir vienkāršs proporcionāls regulators. Kuru funkcija ( (a-50) * 1.5 ) gaismas sensora darba diapazonā ģenerē rotācijas vērtības saskaņā ar grafiku:

Algoritma darbības piemērs

2. piemērs. Viens sensors ar PK kontrolieri.

Šis piemērs ir sastādīts uz tā paša dizaina.

Jūs droši vien pamanījāt, ka iepriekšējā piemērā robots pārāk daudz šūpojās, kas neļāva tam pietiekami paātrināties. Tagad mēs mēģināsim nedaudz uzlabot šo situāciju.

Mūsu proporcionālajam regulatoram mēs pievienojam vienkāršu kubisko regulatoru, kas regulatora funkcijām pievienos līkumu. Tas samazinās robota šūpošanos pie vēlamās trajektorijas robežas, kā arī padarīs spēcīgākus grūdienus ar lielu attālumu no tā

Tātad cilvēks redz līniju:

Tātad robots to redz:


Mēs izmantosim šo funkciju, izstrādājot un programmējot robotu sacensību kategorijā “Trajektorija”.

Ir daudzi veidi, kā iemācīt robotam redzēt līniju un pārvietoties pa to. Ir sarežģītas un ļoti vienkāršas programmas.

Es gribu runāt par programmēšanas metodi, kuru iemācīsies pat 2.-3. Klases bērni. Šajā vecumā viņiem ir daudz vieglāk salikt struktūras atbilstoši instrukcijām, un robota programmēšana viņiem ir grūts uzdevums. Bet šī metode ļaus bērnam 15-30 minūtēs programmēt robotu uz jebkura trases maršruta (ņemot vērā pakāpenisku pārbaudi un dažu trajektorijas pazīmju pielāgošanu).

Šī metode tika pārbaudīta pašvaldību un reģionālajās robotikas sacensībās Surgutas reģionā un Hantimansijs autonomajā Okrug-Yugra, un tā mūsu skolai atnesa pirmās vietas. Tur es biju pārliecināts, ka šī tēma ir ļoti aktuāla daudzām komandām.

Nu sāksim.

Gatavojoties šāda veida sacensībām, programmēšana ir tikai daļa no problēmas risinājuma. Jums jāsāk, izstrādājot robotu noteiktam maršrutam. Nākamajā rakstā es jums pateiksšu, kā to izdarīt. Tā kā kustība pa līniju ir ļoti izplatīta, sākšu ar programmēšanu.

Apsveriet iespēju izvēlēties robotu ar diviem gaismas sensoriem, jo \u200b\u200btas ir saprotamāks sākumskolas skolēniem.

Gaismas sensori ir savienoti ar 2. un 3. portu. Motori uz B un C pieslēgvietu
Sensori ir iestatīti līnijas malās (mēģiniet eksperimentēt, novietojot sensorus dažādos attālumos viens no otra un dažādos augstumos).
Svarīgs punkts. Lai šāda shēma darbotos vislabāk, vēlams izvēlēties parametru pāri sensoru. Pretējā gadījumā sensora vērtību pielāgošanai būs jāievada bloks.
Sensoru uzstādīšana uz šasijas pēc klasiskās shēmas (trīsstūris), aptuveni, kā parādīts attēlā.

Programma sastāv no neliela skaita bloku:


1. divi gaismas sensora bloki;
2. Četri matemātikas bloki;
3. Divi motora bloki.

Robota vadīšanai tiek izmantoti divi motori. Katru 100 vienību jauda. Mūsu shēmai motora jaudas vidējā vērtība ir vienāda ar 50. Tas ir, vidējais ātrums, pārvietojoties taisnā līnijā, būs 50 vienības. Atkāpjoties no taisnās kustības, motoru jauda proporcionāli palielināsies vai samazināsies atkarībā no novirzes leņķa.

Tagad mēs izdomāsim, kā savienot visus blokus, konfigurēt programmu un to, kas tajā notiks.
Iestatiet divus gaismas sensorus un piešķiriet tiem 2. un 3. portu.
Mēs uzņemam matemātikas bloku un atlasām “Subtraction”.
Gaismas sensorus no “Intensity” izvadiem ar riepām savienojam ar matemātikas vienību ar ieejām “A” un “B”.
Ja robota sensori tiek uzstādīti simetriski no sliežu ceļa centra, tad abu sensoru vērtības būs vienādas. Pēc atņemšanas mēs iegūstam vērtību - 0.
Nākamais matemātikas bloks tiks izmantots kā koeficients, un tajā jāiestata “Reizināšana”.
Lai aprēķinātu koeficientu, jums jāizmēra “baltais” un “melnais” līmenis, izmantojot NXT ierakstu.
Pieņemsim: balts -70, melns -50.
  Tālāk mēs uzskatām: 70-50 \u003d 20 (starpība starp balto un melno), 50/20 \u003d 2,5 (vidējai jaudas vērtībai, pārvietojoties taisnā līnijā matemātikas blokos, ir 50. Šai vērtībai plus pievienotajai jaudai, pielāgojot kustību, jābūt vienādai ar: 100)
Mēģiniet iestatīt vērtību 2.5 pie ieejas "A" un pēc tam paņemiet precīzāk.
Matemātikas bloka "Reizināšana" ievadei "B" pievienojiet iepriekšējā matemātikas bloka "Atņemšana" iznākumu "Rezultāts".
Nākamais ir pāris - matemātikas (papildinājums) un motora B bloks.
  Matemātikas bloka iestatīšana:
  Pie ieejas “A” tiek iestatīta vērtība 50 (puse no motora jaudas).
  Bloka “Rezultāts” izeja ar kopni ir savienota ar motora B ieeju “Barošana”.
Pēc pāra ir matemātikas (atņemšana) un motora bloks.
Matemātikas bloka iestatīšana:
  Ievade “A” ir iestatīta uz 50.
  Ieeja “B” ar kopni ir savienota ar matemātikas bloka “Reizināšana” izeju “Rezultāts”.
  Bloka “Rezultāts” izeja ar kopni ir savienota ar motora C ieeju “Barošana”.

Visu šo darbību rezultātā jūs saņemsit šādu programmu:

Tā kā tas viss darbosies ciklā, mēs pievienosim “Cycle”, atlasīsim un pārnesīsim to uz “Cycle”.

Tagad mēģināsim izdomāt, kā programma darbosies un kā to konfigurēt.


Kamēr robots ceļo taisnā līnijā, sensoru vērtības sakrīt, kas nozīmē, ka atņemšanas bloka izejā būs vērtība 0. Arī reizināšanas bloka izeja dod vērtību 0. Šī vērtība tiek padota paralēli motora vadības pārim. Tā kā šajos blokos ir iestatīta vērtība 50, 0 pievienošana vai atņemšana neietekmē motoru jaudu. Abi motori darbojas ar vienādu jaudu 50, un robots ripo taisnā līnijā.

Pieņemsim, ka trase veic pagriezienu vai robots novirzās no taisnas līnijas. Kas notiks?

Attēlā redzams, ka ar 2. pieslēgvietu savienotā sensora (turpmāk saukts par 2. un 3. sensoru) apgaismojums palielinās, jo tas pārvietojas uz balto lauku, un 3. sensora apgaismojums samazinās. Pieņemsim, ka šo sensoru vērtības kļūst: sensors 2 - 55 vienības un sensors 3 - 45 vienības.
Atņemšanas bloks noteiks atšķirību starp divu sensoru vērtībām (10) un iesniedz to korekcijas blokā (reizinājums ar koeficientu (10 * 2,5 \u003d 25)) un pēc tam vadības blokos
  motori.
B motora vadības matemātikas blokā (papildinājums) līdz vidējā ātruma 50 vērtībai
tiks pievienots 25, un motora B jaudas vērtība 75 tiks piegādāta.
Motora vadības matemātikas blokā (atņemšana) no vidējā ātruma 50 tiks atņemti 25, un motoram C tiks piemērota jaudas vērtība 25.
Tādējādi tiks labota novirze no taisnās līnijas.

Ja sliežu ceļš strauji pagriežas uz sānu un 2. sensors izrādās balts, bet 3. sensors - melns. Šo sensoru apgaismojuma vērtības kļūst: sensors 2 - 70 vienības un sensors 3 - 50 vienības.
Atņemšanas bloks noteiks atšķirību starp divu sensoru (20) vērtībām un ievadīs to korekcijas blokā (20 * 2,5 \u003d 50) un pēc tam motora vadības blokos.
Tagad B motora vadības matemātikas blokā (papildinājums) B motoram tiks piemērota jaudas vērtība 50 +50 \u003d 100.
Motora vadības matemātikas blokā (atņemšana) C motoram tiks piemērota jaudas vērtība 50 - 50 \u003d 0.
Un robots veiks strauju pagriezienu.

Baltā un melnā laukā robotam jābrauc taisnā līnijā. Ja tas nenotiek, mēģiniet paņemt sensorus ar vienādām vērtībām.

Tagad izveidojiet jaunu bloku un izmantojiet to, lai robotu pārvietotu pa jebkuru ceļu.
Atlasiet cilpu, pēc tam izvēlnē “Rediģēt” atlasiet komandu “Izveidot manu bloķēšanu”.

Dialoglodziņā “Block Designer” mēs piešķirsim savam blokam nosaukumu, piemēram, “Go”, atlasiet bloka ikonu un noklikšķiniet uz “DONE”.

Tagad mums ir bloks, ko var izmantot gadījumos, kad mums nepieciešama kustība pa līniju.

Darba teksts tiek ievietots bez attēliem un formulām.
   Darba pilna versija ir pieejama PDF cilnē "Darba faili"

Konstruktors Lego Mindstorms EV3

Sagatavošanas posms

Programmas izveidošana un kalibrēšana

Secinājums

Literatūra

1. Ievads.

Robotika ir viena no vissvarīgākajām zinātnes un tehnoloģijas attīstības jomām, kurā mehānikas un jauno tehnoloģiju problēmas ir saskarē ar mākslīgā intelekta problēmām.

Pēdējos gados sasniegumi robotikā un automatizētās sistēmās ir mainījuši personīgās un biznesa jomas mūsu dzīvē. Roboti tiek plaši izmantoti transportā, Zemes un kosmosa izpētē, ķirurģijā, militārajā rūpniecībā, laboratorijas pētījumos, drošības jomā, rūpniecības preču un patēriņa preču masveida ražošanā. Daudzas ierīces, kas pieņem lēmumus, pamatojoties uz datiem, kas saņemti no sensoriem, arī var uzskatīt par robotiem - piemēram, lifti, bez kuriem mūsu dzīve jau nav iedomājama.

Mindstorms EV3 konstruktors aicina mūs ienākt aizraujošajā robotu pasaulē, ienirt sarežģītā informācijas tehnoloģiju vidē.

Mērķis: iemācieties ieprogrammēt robota kustību taisnā līnijā.

    Viņš iepazīsies ar Mindstorms EV3 konstruktoru un tā programmēšanas vidi.

    Uzrakstiet programmu robota pārvietošanai taisnā līnijā 30 cm, 1 m 30 cm un 2 m 17 cm attālumā.

    Mindstorms EV3 konstruktors.

Sīkāka informācija par dizaineri - 601 gab., Servodzinējs - 3 gab., Krāsu sensors, skāriena kustības sensors, infrasarkanais sensors un skārienjūtīgais sensors. Mikroprocesoru bloks EV3 ir LEGO Mindstorms dizainera smadzenes.

Par robota kustību ir atbildīgs liels servomotors, kurš savienojas ar EV3 mikrodatoru un liek robotam kustēties: ejiet uz priekšu un atpakaļ, pagriezieties un brauciet pa doto ceļu. Šim servodzinējam ir iebūvēts rotācijas sensors, kas ļauj ļoti precīzi kontrolēt robota kustību un tā ātrumu.

Jūs varat piespiest robotu veikt darbību, izmantojot datorprogrammu EV3. Programma sastāv no dažādām vadības vienībām. Mēs strādāsim ar kustību bloku.

Kustības bloks kontrolē robota motorus, ieslēdz, izslēdz un liek darboties atbilstoši uzstādītajiem uzdevumiem. Varat ieprogrammēt kustību noteiktam apgriezienu skaitam vai grādiem.

    Sagatavošanas posms.

    Tehniskā lauka izveidošana.

Robota darba laukā mēs zīmēsim marķējumus, izmantojot lenti un lineālu, un izveidosim trīs līnijas 30 cm garumā - zaļu līniju, 1 m 15 cm - sarkanu līniju un 2 m 17 cm - melnu līniju.

    Nepieciešamie aprēķini:

Robota riteņa diametrs ir 5 cm 7 mm \u003d 5,7 cm.

Viens robota riteņa apgrieziens ir vienāds ar apkārtmēru ar 5,7 cm diametru. Apkārtni mēs atrodam pēc formulas

Kur r ir riteņa rādiuss, d ir diametrs, π \u003d 3.14

l \u003d5,7 * 3,14 = 17,898 = 17,9.

T. i. par vienu riteņa apgriezienu robots šķērso 17,9 cm.

Mēs aprēķinām vajadzīgo apgriezienu skaitu, lai vadītu:

N \u003d 30: 17,9 \u003d 1,68.

    1 m 30 cm \u003d 130 cm

N \u003d 130: 17,9 \u003d 7,26.

    2 m 17 cm \u003d 217 cm.

N \u003d 217: 17,9 \u003d 12,12.

    Programmas izveidošana un kalibrēšana.

Mēs izveidosim programmu pēc šāda algoritma:

Algoritms:

    Izvēlieties kustības bloku Mindstorms EV3 programmā.

    Ieslēdziet abus motorus iestatītajā virzienā.

    Gaidiet izmaiņas viena no motoriem rotācijas sensora rādījumos uz iepriekš noteiktu vērtību.

    Izslēdziet motorus.

Pabeigtā programma tiek ielādēta robota vadības blokā. Mēs novietojam robotu uz lauka un nospiediet starta pogu. EV3 pārvietojas pa lauku un apstājas dotās līnijas beigās. Bet, lai sasniegtu precīzu apdari, ir jāveic kalibrēšana, jo kustību ietekmē ārēji faktori.

    Lauks ir uzstādīts uz studentu galdiem, tāpēc ir iespējama neliela virsmas novirze.

    Lauka virsma ir gluda, tāpēc nav izslēgta slikta robota riteņu saķere ar lauku.

    Aprēķinot apgriezienu skaitu, mums vajadzēja noapaļot skaitļus, un tāpēc, mainot revolūcijas simtdaļas, mēs sasniedzām vēlamo rezultātu.

5. Secinājums.

Spēja programmēt robota kustību taisnā līnijā ir noderīga, lai izveidotu sarežģītākas programmas. Robotikas sacensību tehniskās specifikācijas parasti norāda visus pārvietošanās lielumus. Tie ir nepieciešami, lai programma netiktu atkārtoti ielādēta ar loģiskiem nosacījumiem, cikliem un citām sarežģītām vadības vienībām.

Nākamajā iepazīšanās posmā ar robotu Lego Mindstorms EV3 jums būs jāiemācās programmēt pagriezienus noteiktā leņķī, aplī, spirālē.

Darbs ar dizaineru ir ļoti interesants. Uzzinot vairāk par tā iespējām, jūs varat atrisināt jebkuru tehnisku problēmu. Un nākotnē ir iespējams izveidot savus interesantos Lego Mindstorms EV3 robotu modeļus.

Literatūra

    Koposovs D. G. "Pirmais solis robotikā 5.-6.klasei." - M .: Binom. Zināšanu laboratorija, 2012. - 286 lpp.

    Filippovs S. A. “Robotika bērniem un vecākiem” - “Zinātne” 2010

    Interneta resursi

    http: // lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http: // www. lego. com / izglītība /

15.01.2012, 18:51

Līdz šim raksti par algoritmiem, kurus izmantoja pārvietošanai pa līniju, uzskatīja par metodi, kurā gaismas sensors šķita sekojoš tā kreisajai vai labajai malai: tiklīdz robots pārvietojas uz lauka balto daļu, regulators atdod robotu uz robežas un sāk virzīties dziļi melnā krāsā. līnijas - regulators to iztaisnoja atpakaļ.
  Neskatoties uz to, ka iepriekš redzamais attēls ir paredzēts releja regulatoram, vispārējais proporcionālās kustības (P-kontroliera) princips būs vienāds. Kā jau minēts, šādas kustības vidējais ātrums nav ļoti augsts, un ir bijuši vairāki mēģinājumi to palielināt algoritma nelielas komplikācijas dēļ: vienā gadījumā tika izmantota “maiga” bremzēšana, otrā - papildus pagriezieniem, tika ieviesta kustība uz priekšu.
  Lai ļautu robotam virzīties uz priekšu dažos apgabalos, gaismas sensora izdalīto vērtību diapazonā tika izdalīts šaurs apgabals, ko nosacīti varētu saukt par "sensoru atrodas uz līnijas robežas".
  Šai pieejai ir neliels trūkums - ja robots “vēro” līnijas kreiso robežu, tad labajā pagriezienā tas uzreiz nekonstatē trajektorijas izliekumu un rezultātā vairāk laika pavada līnijas meklējumos un pagriezienos. Turklāt var droši teikt, ka jo stāvāks ir pagrieziens, jo ilgāk šī meklēšana notiek.
Nākamais attēls parāda, ka, ja sensors neatrodas robežas kreisajā pusē, bet gan labajā pusē, tad tas jau bija atklājis trajektorijas izliekumu un, pagriežoties, sāks veikt manevrus.

  Tāpēc ir laba ideja aprīkot robotu ar diviem sensoriem uzreiz, kas atradās līnijas pretējās pusēs un attiecīgi palīdzētu robotam ātrāk reaģēt uz kustības virziena izmaiņām.
  Tagad jums jānosaka, kā šādas dizaina izmaiņas ietekmēs programmu. Vienkāršības labad atkal jāsāk ar vienkāršāko releja kontrolieri, un, pirmkārt, viņus interesē iespējamās sensoru pozīcijas attiecībā pret līniju:

  Faktiski var atšķirt vēl vienu pieļaujamo stāvokli - sarežģītos maršrutos tas būs krustojuma krustojums vai kaut kāds sabiezējums ceļā.
  Citas sensoru pozīcijas netiks ņemtas vērā, jo vai nu tie ir iepriekš parādīto atvasinājumi, vai arī šīs ir robota pozīcijas, kad tas izkāpa no līnijas un vairs nevar atgriezties pie tā, izmantojot sensoru informāciju. Tā rezultātā visus iepriekš minētos noteikumus var reducēt uz šādu klasifikāciju:
  • kreisais sensors, kā arī labais, atrodas virs spilgtas virsmas
  • kreisais sensors virs gaismas virsmas, labais sensors virs tumsas
  • kreisais sensors virs tumšas virsmas, labais sensors virs gaismas
  • abi sensori atrodas virs tumšas virsmas
  Ja noteiktā brīdī robota programma atrod kādu no šīm pozīcijām, tai būs attiecīgi jāreaģē:
    Ja abi sensori atrodas virs baltas virsmas, tad tā ir normāla situācija, kad līnija atrodas starp sensoriem, tāpēc robotam jāiet taisni.Ja kreisais sensors joprojām atrodas virs gaismas virsmas un labais sensors atrodas jau virs tumsas, tad robots nobrauca savu labo pusi uz līnijas, tas nozīmē, ka viņam jāgriežas pa labi, lai līnija atkal atrastos starp sensoriem.Ja kreisais sensors atrodas virs tumšas virsmas, bet labais joprojām ir viegls, tad, lai izlīdzinātu robotu, jāpagriežas pa kreisi.Ja abi sensori atrodas virs tumšas virsmas, tad kopumā gaismas, robots turpina virzīties taisni atpakaļ.

  Iepriekš redzamā diagramma uzreiz parāda, kā tieši motoru uzvedībai vajadzētu mainīties programmā. Tagad programmas rakstīšanai nevajadzētu būt ļoti sarežģītai. Jums jāsāk ar izvēli, kurš sensors vispirms tiks pratināts. Tam nav īsti nozīmes, tāpēc ļaujiet to atstāt. Ir jānosaka, vai tas atrodas virs gaišās vai tumšās virsmas:
Šī darbība joprojām neļauj pateikt, kurā virzienā robotam jāiet. Bet tas sadalīs iepriekš uzskaitītos stāvokļus divās grupās: (I, II) augšējai filiālei un (III, IV) apakšējai. Tagad katrai grupai ir divi stāvokļi, tāpēc jums jāizvēlas viens no tiem. Ja uzmanīgi aplūkojat divus pirmos stāvokļus I un II, tie atšķiras labā labā sensora pozīcijā - vienā gadījumā tas atrodas virs gaišas virsmas, otrā - virs tumša. Tas ir tas, kas noteiks izvēli, kādu darbību veikt:
  Tagad jūs varat ievietot blokus, kas nosaka motoru uzvedību saskaņā ar iepriekšējām tabulām: ligzdotā stāvokļa augšējā filiāle nosaka kombināciju “abi sensori ir gaismā”, augšējā ir “kreisā gaismā, labā tumšajā”:
  Galvenā stāvokļa apakšējā filiāle ir atbildīga par citu III un IV valstu grupu. Šie divi stāvokļi arī atšķiras viens no otra ar apgaismojuma līmeni, ko uzņem labais sensors. Tātad, viņš noteiks katra no viņiem izvēli:
  Iegūtās divas filiāles ir piepildītas ar kustību blokiem. Augšējā filiāle ir atbildīga par stāvokli “pa kreisi uz tumšu, pa labi uz gaismu”, un apakšējā filiāle ir par “abiem sensoriem tumsā”.
  Jāatzīmē, ka šī konstrukcija nosaka tikai to, kā ieslēgt motorus atkarībā no sensoru rādījumiem noteiktā lauka vietā, dabiski, pēc brīža programmai jāpārbauda, \u200b\u200bvai rādījumi nav mainījušies, lai pareizi koriģētu motoru izturēšanos, un pēc sekundes atkal .d. Tāpēc tas jāievieto ciklā, kas nodrošinās šādu atkārtotu pārbaudi:

  Šāda diezgan vienkārša programma nodrošinās diezgan lielu robota kustības ātrumu pa līniju, neatkāpjoties no tās robežām, ja maksimālais ātrums ir pareizi iestatīts, pārvietojoties I un IV stāvoklī, kā arī iestatīs optimālo bremzēšanas metodi II un III stāvoklī - jo stāvāki pagriezieni trasē. , "stingrākai" bremzēšanai vajadzētu būt - ātrumam jābūt ātrāk atiestatītam, un otrādi - vienmērīgiem pagriezieniem ir pilnīgi iespējams bremzēt, izslēdzot enerģiju vai pat parasti nedaudz samazinot ātrumu.

Par sensoru novietošanu uz robota jāsaka arī daži atsevišķi vārdi. Acīmredzot, ņemot vērā šo divu sensoru atrašanās vietu attiecībā pret riteņiem, tiks piemēroti tie paši ieteikumi kā vienam sensoram, tikai trīsstūra augšdaļa aizņem segmenta vidusdaļu, kas savieno divus sensorus. Attālums starp sensoriem jāizvēlas arī no maršruta parametriem: jo tuvāk sensori atrodas viens otram, jo \u200b\u200bbiežāk robots izlīdzināsies (veic salīdzinoši lēnus pagriezienus), bet, ja sensori ir izkliedēti pietiekami plaši, tas ir, pastāv risks, ka varētu iziet no maršruta, tāpēc jums tas jāveic vairāk “saspringti” pagriezieni un samazināts kustības ātrums taisnās sekcijās.



 


Lasīt:



Pašdarināts mājas gaisa attīrītājs

Pašdarināts mājas gaisa attīrītājs

Droši vien gandrīz visiem būs tā sauktie “putekļu savācēji” - piekariņi, kas tikai pievelk putekļus sev, un ir žēl tos izmest. Bet ...

Gaisa attīrīšana dzīvoklī un mājā

Gaisa attīrīšana dzīvoklī un mājā

Atkritumu izvešana, pārstrāde un iznīcināšana no 1. līdz 5. bīstamības klasei Mēs sadarbojamies ar visiem Krievijas reģioniem. Derīga licence. Pilns komplekts ...

Zemeņu un ābolu sautēta ābele

Zemeņu un ābolu sautēta ābele

Iedomājieties: karstas vasaras, apdeguma saule, termometra dzīvsudraba stabu ārpusskalas rādītāji. Jūs esat izsmelts no karstuma. Kas būs labākais ...

Tomātu maize Maizes mēslojuma noslēpums un priekšrocības

Tomātu maize Maizes mēslojuma noslēpums un priekšrocības

Izrādās, ka tomātiem "ļoti patīk" brūnā maize. Dārzeņi, kurus audzē mājās, neizmantojot ķīmiskas vielas, nevis iepērk ...

padeves attēls RSS barotne