Ang programa para sa pagmamaneho sa paligid ng itim na linya EV3. Kilusan sa isang linya na may dalawang light sensors

Ang gawaing ito ay klasikong, ideologically simple, maaari itong malutas maraming beses, at sa bawat oras na matuklasan mo ang isang bagong bagay.

Mayroong maraming mga diskarte upang malutas ang tracking task. Ang pagpili ng isa sa kanila ay depende sa tiyak na disenyo ng robot, sa bilang ng mga sensor, ang kanilang lokasyon ay may kaugnayan sa mga gulong at bawat isa.

Sa aming halimbawa, ang tatlong halimbawa ng robot batay sa pangunahing tagapagturo ng modelo ng robot ng pagsasanay ay i-disassembled.

Upang magsimula, kinokolekta namin ang pangunahing modelo ng robot ng pagsasanay sa tagapagturo ng robot, para sa ito maaari mong gamitin ang mga tagubilin sa software ng Mindstorms EV3.

Gayundin, para sa mga halimbawa, kakailanganin namin, EV3 light light sensors. Ang mga light sensors na ito, tulad ng iba, ay pinakaangkop sa aming gawain, kapag nagtatrabaho sa kanila, hindi namin kailangang kalimutan ang tungkol sa intensity ng ambient light. Para sa sensor na ito, gagamitin namin ang masasalamin na liwanag na mode sa mga programa, kung saan ang halaga ng nakalarawan na liwanag ng pulang ilaw na ilaw ay tinatayang. Ang mga hangganan ng sensor patotoo ng 0 - 100 yunit, para sa "kakulangan ng pagmuni-muni" at "kumpletong pagmuni-muni", ayon sa pagkakabanggit.

Halimbawa, susuriin namin ang 3 halimbawa ng mga programang paggalaw ng mobile na trajectory sa makinis, ilaw na background:

· Isang sensor, na may regulator.

· Isang sensor, na may PK regulator.

· Dalawang sensors.

Halimbawa 1. Isang sensor, na may regulator.

Disenyo

Ang ilaw sensor ay naka-install sa sinag, na kung saan ay maginhawang matatagpuan sa modelo.


Algorithm.

Ang pagkilos ng algorithm ay batay sa ang katunayan na depende sa antas ng overlap, ang sinag ng pag-iilaw ng sensor ng itim na linya, na ibinalik ng sensor ng patotoo ay nag-iiba. Pinapanatili ng robot ang posisyon ng light sensor sa hangganan ng itim na linya. Pag-convert ng input mula sa light sensor, ang control system ay bumubuo ng rotation rate ng robot.


Dahil sa tunay na tilapon, ang sensor ay bumubuo ng mga halaga sa buong hanay ng operating (0-100), pagkatapos ay ang halaga kung saan ang robot ay pinili 50. Sa kasong ito, ang mga halaga ng mga function ng pag-ikot ng transmited ay nabuo Ang saklaw -50 - 50, ngunit ang mga halagang ito ay hindi sapat para sa matarik na pag-on ang tilapon. Samakatuwid, dapat itong mapalawak ng isang hanay ng isa at kalahating beses hanggang -75 - 75.

Bilang resulta, sa programa, ang function ng calculator ay isang simpleng proporsyonal na regulator. Ang function na kung saan ( (A-50) * 1.5. ) Ang operating range ng light sensor ay bumubuo ng mga halaga ng pag-ikot ayon sa iskedyul:

Isang halimbawa ng gawain ng algorithm

Halimbawa 2. Isang sensor, na may PK regulator.

Ang halimbawang ito ay batay sa parehong disenyo.

Marahil ay napansin mo na sa huling halimbawa, ang robot ay napansin na hindi siya nagbigay sa kanya ng sapat upang ikalat. Ngayon ay susubukan naming isang maliit na pagbutihin ang sitwasyong ito.

Sa aming proporsyonal na regulator, nagdaragdag kami ng isang simpleng cubic regulator, na magdaragdag ng baluktot sa function ng regulator. Bawasan nito ang tumba ng robot malapit sa nais na hangganan ng trajectory, pati na rin ang mas malakas na jerks sa isang malakas na distansya mula dito

Sa araling ito, patuloy naming pag-aralan ang paggamit ng isang sensor ng kulay. Ang materyal na ipinakita sa ibaba ay napakahalaga para sa karagdagang pag-aaral sa kurso ng robotics. Pagkatapos naming malaman na gamitin ang lahat ng mga sensor ng Lego Mindstorms EV3 designer sensors, kapag paglutas ng isang mayorya ng mga praktikal na gawain, umaasa kami sa kaalaman na nakuha sa araling ito.

6.1. Kulay ng sensor - masasalamin ang liwanag na mode

Kaya, nagpapatuloy kami sa pag-aaral ng susunod na operating mode ng sensor ng kulay, na tinatawag "Masasalamin ang liwanag na liwanag". Sa mode na ito, ang color sensor ay nagtuturo sa stream ng pulang ilaw sa malapit na naka-lock na item o ibabaw at sinusukat ang halaga ng masasalamin na liwanag. Ang madilim na mga item ay sumipsip ng ilaw stream, kaya ang sensor ay magpapakita ng isang mas maliit na halaga kumpara sa mas magaan na ibabaw. Ang hanay ng mga halaga ng sensor ay sinusukat mula sa. 0 (masyadong madilim) sa. 100 (napakalinaw). Ang mode na ito ng operasyon ng sensor ng kulay ay ginagamit sa iba't ibang mga gawain ng robot, halimbawa, upang ayusin ang kilusan ng robot sa isang naibigay na ruta kasama ang isang itim na linya na inilapat sa puting patong. Kapag ginagamit ang mode na ito, inirerekomenda na ilagay ang sensor sa isang paraan na ang distansya mula dito sa ibabaw na pinag-aralan ay humigit-kumulang 1 cm (Larawan 1).

Larawan. One.

Ipaalam sa amin ang mga praktikal na klase: Ang sensor ng kulay ay naka-install na sa aming robot at nakadirekta sa ibabaw ng patong, na maglilipat ng aming robot. Ang distansya sa pagitan ng sensor at ang sahig ay tumutugma sa inirerekomenda. Ang sensor ng kulay ay konektado sa port. "2" Module EV3. I-upload natin ang kapaligiran ng programming, ikonekta ang robot sa kapaligiran at gamitin ang field na may kulay na guhit para sa mga sukat upang maisagawa ang mga gawain ng seksyon 5.4 Aralin No. 5. Itinakda namin ang robot, upang ang sensor ng kulay ay matatagpuan sa itaas ng puting ibabaw. "Pahina ng hardware" Ang mga kapaligiran ng programming ay lumipat sa mode "Tingnan ang mga port" (Larawan 2 pos. 1). Sa mode na ito, maaari naming obserbahan ang lahat ng mga koneksyon na isinagawa namin. Sa Larawan. 2. Pagpapakita ng koneksyon sa mga port "B" at "C" dalawang malaking engine, at sa Port. "2" - Sensor ng kulay.

Larawan. 2.

Upang piliin ang display ng mga pagbabasa ng sensor, dapat kang mag-click sa imahe ng sensor at piliin ang ninanais na mode (Larawan 3)

Larawan. 3.

Sa Larawan. 2 pos. 2. Nakita namin na ang halaga ng pagbabasa ng sensor ng kulay sa itaas ng puting ibabaw ay 84 . Sa iyong kaso, maaari itong maging isa pang halaga, dahil depende ito sa ibabaw ng ibabaw at ilaw sa loob ng bahay: bahagi ng pag-iilaw, na sumasalamin sa ibabaw, bumagsak sa sensor at nakakaapekto sa patotoo nito. Sa pamamagitan ng pag-install ng robot upang ang sensor ng kulay ay matatagpuan sa itaas ng itim na guhit, ayusin ito sa patotoo. (Larawan 4). Subukan ang pagsukat ng iyong sarili ang mga halaga ng nakalarawan ilaw sa itaas ng natitirang kulay na guhitan. Anong mga halaga ang nakuha mo? Sumulat ng sagot sa mga komento sa araling ito.

Larawan. apat

Lumago na ngayon ang mga praktikal na gawain.

Numero ng Task 11: Ito ay kinakailangan upang magsulat ng isang programa ng paggalaw ng robot, pagtigil kapag ang itim na linya ay naabot.

Desisyon:

Ipinakita sa amin ng eksperimento na kapag tumatawid sa itim na linya, ang halaga ng sensor ng kulay sa mode "Masasalamin ang liwanag na liwanag" katumbas 6 . Nangangahulugan ito na matupad Mga Gawain №11. Ang aming robot ay dapat lumipat nang diretso hanggang ang nais na halaga ng sensor ng kulay ay nagiging mas mababa 7 . Ginagamit namin ang bloke ng programa na pamilyar sa amin. "Inaasahan" Orange palette. Piliin ang kinakailangang kondisyon ng gawain ng bloke ng software. "Naghihintay" (Larawan 5).

Larawan. lima

Kailangan mo ring i-configure ang mga parameter ng bloke ng software. "Inaasahan". Parameter "Uri ng Paghahambing" (Larawan 6 Pos. 1) maaaring gawin ang mga sumusunod na halaga: "Pantay"=0, "Hindi pantay"=1, "Higit pa"=2, "Higit pa o pantay"=3, "Mas kaunti"=4, "Mas mababa o pantay"\u003d 5. Sa aming kaso, i-install "Uri ng paghahambing" Sa halaga "Mas kaunti". Parameter "Threshold" Magtatag ng pantay 7 (fig.6 pos. 2).

Larawan. 6.

Sa lalong madaling mas mababa ang halaga ng sensor ng kulay 7 Ano ang mangyayari kapag ang sensor ng kulay ay lumilitaw na matatagpuan sa itaas ng itim na linya, kakailanganin naming i-off ang mga motors, itigil ang robot. Lutasin ang gawain (Larawan 7).

Larawan. 7.

Upang magpatuloy sa trabaho, kakailanganin naming gumawa ng isang bagong field, na isang itim na bilog na may diameter na mga 1 metro na inilapat sa isang puting larangan. Ang kapal ng linya ng bilog ay 2 - 2.5 cm. Para sa field base, maaari kang kumuha ng isang papel na may laki ng A0 (841x1189 mm), kola magkasama dalawang sheet ng papel sa laki A1 (594x841 mm). Sa larangan na ito, ilagay ang bilog na linya at ipinta ito sa itim na tinta. Maaari mo ring i-download ang isang layout ng patlang na ginawa sa Adobe Illustrator format, at pagkatapos ay i-order ito sa pag-print sa banner tela sa pag-print ng bahay. Ang laki ng layout ay 1250x1250 mm. (Maaari mong tingnan ang nai-download sa ibaba ng layout sa pamamagitan ng pagbubukas nito sa programa ng Adobe Acrobat Reader)

Ang patlang na ito ay magiging kapaki-pakinabang sa amin upang malutas ang ilang mga klasikong gawain ng robotics kurso.

Numero ng Task 12: Ito ay kinakailangan upang magsulat ng isang programa para sa isang robot paglipat sa loob ng bilog, talim na may isang itim na bilog ayon sa mga sumusunod na tuntunin:

  • ang robot ay nagpapatuloy nang diretso;
  • pag-abot sa isang itim na linya, ang robot ay hihinto;
  • robot drive pabalik sa dalawang liko ng motors;
  • ang robot ay lumiliko sa kanan ng 90 degrees;
  • ang kilusan ng robot ay paulit-ulit.

Ang kaalaman na nakuha sa nakaraang mga aralin ay makakatulong sa iyo na malaya na lumikha ng isang programa na mapagpasyahan №12.

Solusyon ng problema bilang 12.

  1. Simulan ang tapat. (Larawan 8 pos. 1);
  2. Asahan ang isang itim na linya intersection na may isang sensor ng kulay (Larawan 8 pos. 2);
  3. Lumipat pabalik sa 2 liko (Larawan 8 pos. 3);
  4. I-rotate ang tama sa pamamagitan ng 90 degrees. (Larawan 8 pos. 4); Ang halaga ng anggulo ng pag-ikot ay kinakalkula para sa robot na binuo ng mga tagubilin ng maliit na robot-45544 (Larawan 8 pos. 5);
  5. Ulitin ang mga koponan 1 - 4 sa isang walang katapusang cycle (Larawan 8 pos. 6).

Larawan. walong

Sa operasyon ng sensor ng kulay sa mode "Masasalamin ang liwanag na liwanag" Kami ay paulit-ulit na babalik kapag isinasaalang-alang namin ang mga algorithm ng paggalaw sa kahabaan ng itim na linya. Sa pa rin susuriin namin ang ikatlong paraan ng pagpapatakbo ng sensor ng kulay.

6.2. Kulay ng sensor - panlabas na liwanag na liwanag mode

Mode ng Pagpapatakbo ng Sensor ng Kulay "Liwanag ng panlabas na ilaw" Tunay na katulad ng mode "Masasalamin ang liwanag na liwanag", Sa kasong ito ang sensor ay hindi naglalabas ng ilaw, at sumusukat sa likas na liwanag na ilaw ng kapaligiran. Biswal, ang mode na operasyon ng sensor ay maaaring matukoy ng isang mahina kumikinang na asul na LED. Iba-iba ang pagbabasa ng sensor 0 (kakulangan ng liwanag) sa. 100 (ang pinakamaliwanag na liwanag). Kapag nilulutas ang mga praktikal na gawain na nangangailangan ng pagsukat ng panlabas na ilaw, inirerekomenda na magkaroon ng sensor, upang ang sensor ay nananatiling bukas at hindi hinarangan ng iba pang mga detalye at istruktura.

Hayaan ang Pagkasyahin ang sensor ng kulay sa aming robot tulad ng aming fucked ang touch sensor sa aralin numero 4 (Larawan 9). Ikonekta ang sensor ng kulay sa pamamagitan ng cable sa port "2" Module EV3. Bumalik tayo sa paglutas ng mga praktikal na problema.

Larawan. Siyam.

Numero ng Task 13: Kinakailangan na magsulat ng isang programa na nagbabago sa bilis ng aming robot, depende sa intensity ng panlabas na ilaw.

Upang malutas ang gawaing ito, kailangan nating malaman kung paano makuha ang kasalukuyang halaga ng sensor. At tutulungan kami sa dilaw na paleta ng mga bloke ng software, na tinatawag "Sensors".

6.3. Yellow palette - "sensors"

Ang Yellow Lego Mindstorms EV3 programming palette ay naglalaman ng mga bloke ng software upang makuha ang kasalukuyang pagbabasa ng sensor para sa karagdagang pagproseso sa programa. Sa kaibahan, halimbawa, mula sa bloke ng software "Inaasahan" Ang Orange palette, ang mga bloke ng software ng dilaw na palette ay agad na nagpapadala ng kontrol sa mga sumusunod na bloke ng programa.

Ang bilang ng mga bloke ng software ng dilaw na palette ay naiiba sa home at pang-edukasyon na bersyon ng kapaligiran ng programming. Sa home version ng programming environment, walang mga bloke ng software para sa mga sensor na hindi kasama sa homemade na bersyon ng taga-disenyo. Ngunit kung kinakailangan, maaari silang konektado nang nakapag-iisa.

Ang pang-edukasyon na bersyon ng kapaligiran ng programming ay naglalaman ng mga bloke ng software para sa lahat ng mga sensor na maaaring magamit sa designer ng Lego Mindstorms EV3.

Bumalik sa desisyon Mga Gawain bilang 13. At tingnan natin kung paano mo matatanggap at iproseso ang mga pagbabasa ng sensor ng kulay. Tulad ng alam na namin: ang hanay ng mga halaga ng sensor ng kulay sa mode "Liwanag ng panlabas na ilaw" Matatagpuan mula sa. 0 bago 100 . Ang parehong hanay sa parameter na kinokontrol ang kapangyarihan ng mga motors. Subukan natin ang sensor ng kulay upang ayusin ang kapangyarihan ng mga motors sa bloke ng software "Pagpipiloto".

Desisyon:


Larawan. 10.

Magmaneho tayo ng nagresultang programa sa robot at simulan ito para sa pagpapatupad. Dahan-dahang nagdulot ng robot? I-on namin ang LED flashlight at subukan upang dalhin ito sa sensor ng kulay sa iba't ibang distansya. Ano ang mangyayari sa robot? Isara ang sensor ng kulay sa palad - ano ang nangyari sa kasong ito? Isulat ang mga sagot sa mga tanong na ito sa komento sa aralin.

Gawain - bonus.

Mag-load sa robot at simulan ang gawain na ipinapakita sa figure sa ibaba. Ulitin ang mga eksperimento na may LED flashlight. Ibahagi ang iyong mga impression sa mga komento sa aralin.

Upang pilitin ang robot upang ilipat nang maayos sa itim na linya, kailangan mong gawin sa kanya bilang ang bilis mismo.

Ang isang tao ay nakikita ang isang itim na linya at ang malinaw na hangganan nito. Ang liwanag sensor ay gumagana medyo naiiba.

Ito ang ari-arian ng isang light sensor - ang imposibilidad ng malinaw na makilala sa pagitan ng hangganan ng puti at itim - gagamitin namin upang kalkulahin ang bilis ng paggalaw.

Una, ipinakilala namin ang konsepto ng "perpektong punto ng tilapon."

Ang mga pagbabasa ng mga saklaw ng pag-iilaw ng sensor sa hanay mula 20 hanggang 80, kadalasan sa puting kulay ng pagbabasa ay humigit-kumulang 65, sa itim na order 40.

Ang perpektong punto ay ang kondisyon na punto ng tungkol sa gitna ng puti at itim na kulay, sumusunod na ang robot ay lilipat sa itim na linya.

Narito ang isang pangunahing lokasyon ng punto - sa pagitan ng puti at itim. Hilingin ito para sigurado sa puti o itim ay hindi gagana ayon sa matematikal na mga dahilan, kung bakit ito ay magiging malinaw mamaya.

Ang empirical path namin kinakalkula na ang perpektong punto ay maaaring tratuhin ayon sa mga sumusunod na formula:

Ang robot ay dapat ilipat mahigpit sa perpektong punto. Kung mayroong isang paglihis sa anumang panig, ang robot ay dapat bumalik sa puntong ito.

Magkasundo matematiko paglalarawan ng problema.

Unang data.

Perpektong punto.

Ang kasalukuyang pagbabasa ng sensor ng pag-iilaw.

Resulta.

Motor Rotation Power V.

Motor Rotation Power S.

Desisyon.

Isaalang-alang ang dalawang sitwasyon. Una: ang robot ay lumihis mula sa itim na linya patungo sa puti.

Sa kasong ito, dapat dagdagan ng robot ang lakas ng pag-ikot ng motor at bawasan ang kapangyarihan ng motor S.

Sa isang sitwasyon kung saan ang robot ay dumating sa isang itim na linya, ang kabaligtaran ay.

Ang mas malakas na robot ay lumihis mula sa perpektong punto, mas mabilis na kailangan niyang bumalik dito.

Ngunit ang paglikha ng naturang regulator ay isang medyo mahirap na gawain, at hindi laging kinakailangan sa pangkalahatan.

Samakatuwid, nagpasya kaming limitahan ang aming sarili sa tanging P-regulator, sapat na reacting sa paglihis mula sa itim na linya.

Sa wika ng matematika ito ay maitatala tulad nito:

kung saan ang hb at hc ay ang kabuuang kapangyarihan ng motors b at c, ayon sa pagkakabanggit,

HB - ilang pangunahing motor na kapangyarihan, tinutukoy ang bilis ng paggalaw ng robot. Ito ay napili nang eksperimento, depende sa disenyo ng robot at sharpness ng mga liko.

Item - kasalukuyang pagbabasa ng sensor ng pag-iilaw.

I ID - kinakalkula perpektong punto.

k ay ang proporsyonalidad koepisyent, ito ay napili eksperimento.

Sa ikatlong bahagi, isinasaalang-alang namin kung paano mag-program sa medium ng NXT-G.


Upang makita ang isang pagtatanghal na may mga larawan, disenyo at mga slide, i-download ang file nito at buksan sa PowerPoint sa iyong kompyuter.
Pagtatanghal ng nilalaman ng nilalaman ng teksto:
"Ang algorithm ng kilusan para sa isang itim na linya na may isang color sensor" bilog sa "robotics" guro sa yezidov Ahmed Eliyevichpri MBU sa "Silkovo CTT" upang pag-aralan ang algorithm ng paggalaw sa itim na linya, ay gagamitin ng Lego Mindstorms EV3 robot na may isa Kulay sensor, kulay distributor sensor ay nakikilala ang 7 mga kulay at maaaring matukoy ang kawalan ng kulay. Tulad ng sa NXT, maaari itong gumana bilang isang light sensor. Mabilis para sa robot robot kumpetisyon ang ipinanukalang polygon na may isang highway sa anyo ng titik na "S" ay magbibigay-daan sa iyo upang gumawa ng isa pang kawili-wiling pagsubok ng mga nilikha robot para sa bilis at reaksyon. Isaalang-alang ang pinakasimpleng algorithm ng kilusan sa itim na linya sa isang sensor ng kulay sa EV3. Ang algorithm ay ang pinakamabagal, ngunit ang pinaka matatag. Ang paggamit ay hindi mahigpit sa kaliwa, ngunit sa hangganan nito, lumiko sa kaliwa, Pagkatapos ay sa kanan at unti-unting gumagalaw ang frontal carbon: kung ang sensor ay nakikita ang itim, ang robot ay nagiging isang paraan, kung puti ay nasa isa pa. Movement sa linya sa liwanag na mode ng masasalamin na mga ilaw. Ang dalawang sensor tungkol sa sensor ng kulay ay hindi sapat na epektibo upang makilala ang mga itim at puting kulay. Ang solusyon sa problemang ito ay ang paggamit ng sensor hindi sa mode ng kahulugan ng kulay, ngunit sa mode ng pagtukoy ng liwanag ng masasalamin na liwanag. Sa mode na ito, alam namin ang mga halaga ng sensor sa isang madilim at liwanag na ibabaw, maaari nang malaya sabihin na ito ay itinuturing na puti, at kung ano ang itim. Ngayon tinutukoy namin ang mga halaga ng liwanag sa puti at itim na ibabaw. Upang gawin ito, sa EV3 block menu, nakita namin ang tab na "Mga Application sa Module" ngayon ikaw ay nasa port view window at maaari mong makita ang mga pagbabasa ng lahat ng sensors sa sandaling ito. Ang aming mga sensor ay dapat na naka-highlight sa pula, na nangangahulugan na gumagana ang mga ito sa mode ng pagtukoy ng liwanag ng nakalarawan ilaw. Kung sila ay sumisikat sa asul - sa window ng panonood ng port sa nais na port, pindutin ang pindutan ng center at piliin ang mode ng col-reflect. Inilalagay namin ang robot mode upang ang parehong sensors ay matatagpuan sa itaas ng puting ibabaw. Tinitingnan namin ang mga numero sa mga port 1 at 4. Sa aming kaso, ang mga halaga 66 at 71, ayon sa pagkakabanggit. Ito ay magiging puting sensors. Ngayon inilagay namin ang robot upang ang mga sensors ay matatagpuan sa itaas ng ferrous surface. Muli, tingnan natin ang mga halaga ng mga port 1 at 4. Mayroon akong 5 at 6, ayon sa pagkakabanggit. Ang mga ito ay mga itim na halaga. Dagdag pa, babaguhin namin ang nakaraang programa. Namely, baguhin ang mga setting ng mga switch. Habang mayroon silang isang kulay sensor -\u003e Pagsukat -\u003e kulay. Kailangan din nating magtatag ng sensor ng kulay -\u003e paghahambing -\u003e liwanag ng nakalarawan na liwanag. Dapat nating itakda ang "uri ng paghahambing" at "halaga ng threshold". Ang halaga ng threshold ay ang halaga ng ilang "kulay-abo", ang halaga kung saan isasaalang-alang namin ang itim, at higit pa - puti. Para sa unang approximation, ito ay maginhawa upang gamitin ang average na halaga sa pagitan ng puti at itim ng bawat sensor. Kaya, ang halaga ng threshold ng unang sensor (port number 1) ay magiging (66 + 5) /2\u003d35.5. Bilugan sa 35.Pong halaga ng ikalawang sensor (port number 4): (71 + 6) / 2 \u003d 38.5. Bilugan sa 38. Ngayon ay nagpapakita ng mga halagang ito sa bawat switch, ayon sa pagkakabanggit. Lahat ng bagay at lahat, ang mga bloke na may mga paggalaw ay nananatili sa kanilang mga lugar nang walang pagbabago, na kung ilagay namin ang "uri ng paghahambing" na sign "<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Kaya nakikita ang isang line man:

Kaya nakikita ang kanyang robot:


Ang tampok na ito ay gagamitin namin kapag nagdidisenyo at programming isang robot para sa kategoryang "Trajectory" na kategorya ng kumpetisyon.

Mayroong maraming mga paraan upang turuan ang robot upang makita ang linya at ilipat ito. May mga kumplikadong programa at medyo simple.

Gusto kong makipag-usap tungkol sa isang paraan ng programming na kahit na mga bata 2-3 klase. Sa edad na ito mas madali silang bumuo ng mga istraktura sa mga tagubilin, at ang programming ang robot ay isang mahirap na gawain para sa kanila. Ngunit ang pamamaraang ito ay magpapahintulot sa bata na programa ang robot sa anumang ruta ng track para sa 15-30 minuto (isinasaalang-alang ang phased check at magkasya ang ilang mga tampok ng tilapon).

Ang pamamaraan na ito ay sinubukan sa munisipal at panrehiyong mga robotics competitions sa distrito ng surgut at KMA-UGRR at dinala ang aming unang upuan. Tinitiyak ko rin na ang paksang ito ay may kaugnayan sa maraming mga koponan.

Well, magpatuloy.

Kapag naghahanda para sa ganitong uri ng kumpetisyon, ang programming ay bahagi lamang ng paglutas ng gawain. Kailangan mong magsimula sa disenyo ng robot para sa isang partikular na ruta. Sa susunod na artikulo, sasabihin ko sa iyo kung paano ito gagawin. Well, at dahil ang kilusan sa kahabaan ng linya ay madalas na natagpuan, magsisimula ako sa programming.

Isaalang-alang ang bersyon ng robot na may dalawang light sensors, dahil ito ay mas maliwanag sa mga mag-aaral ng mga junior class.

Ang mga sensor ng liwanag ay konektado sa 2 at 3 port. Motors sa mga port sa at C.
Ang mga sensor ay ipinakita sa mga gilid ng linya (subukan ang pag-eksperimento, paglalagay ng mga sensor sa iba't ibang distansya mula sa bawat isa at sa iba't ibang taas).
Mahalagang sandali. Para sa mas mahusay na operasyon ng naturang scheme, ang isang pares ng mga sensor ay kanais-nais na pumili ng mga parameter. Kung hindi, ito ay kinakailangan upang ipasok ang yunit para sa pagsasaayos ng mga halaga ng sensor.
Pag-install ng mga sensor sa tsasis ayon sa klasikong pamamaraan (tatsulok), humigit-kumulang sa figure.

Ang programa ay binubuo ng isang maliit na bilang ng mga bloke:


1. Dalawang pag-iilaw sensor block;
2. Apat na bloke ng "matematika";
3. Dalawang bloke ng motors.

Dalawang motors ang ginagamit upang kontrolin ang robot. Ang kapangyarihan ng bawat 100 yunit. Para sa aming pamamaraan, kinukuha namin ang average na halaga ng motor na halaga ng 50. Iyon ay, ang average na bilis kapag lumipat sa isang tuwid na linya ay katumbas ng 50 yunit. Kapag lumihis ang kilusang rectilinear, ang kapangyarihan ng mga motors ay tataas o bumaba, depende sa anggulo ng paglihis.

Ngayon namin malaman ito kung paano ikonekta ang lahat ng mga bloke, i-set up ang programa at kung ano ang mangyayari sa ito.
Ipakita natin ang dalawang light sensors at italaga ang mga ito port 2 at 3.
Kumuha kami ng isang bloke ng matematika at piliin ang "pagbabawas".
Ikinonekta namin ang mga sensor ng pag-iilaw mula sa "intensity" na mga output ng mga gulong sa yunit ng matematika sa mga input na "A" at "B".
Kung ang mga sensor ng robot ay nakatakda sa simetriko mula sa sentro ng linya ng ruta, ang mga halaga ng parehong mga sensor ay pantay. Pagkatapos ng pagbawas, nakakakuha kami ng isang halaga - 0.
Ang susunod na yunit ng matematika ay gagamitin bilang isang koepisyent at kailangan mong magtakda ng multiplikasyon dito.
Upang kalkulahin ang koepisyent, kailangan mong sukatin ang antas ng "puti" at "itim" gamit ang NXT block.
Ipagpalagay: White -70, Black -50.
Susunod, isinasaalang-alang namin: 70-50 \u003d 20 (ang pagkakaiba sa pagitan ng puti at itim), 50/20 \u003d 2.5 (ang average na halaga ng kuryente kapag lumipat sa isang tuwid na linya sa mga bloke ng matematika na inilalagay namin sa 50. Ang halaga na ito kasama ang idinagdag na kapangyarihan Kapag ang pagsasaayos ng paggalaw ay dapat na katumbas ng 100)
Subukan upang itakda ang halaga ng 2.5 sa "isang" input, at pagkatapos ay piliin ang mas tumpak.
Sa input "sa" matematika block "multiplikasyon" Ikonekta ang output "resulta" ng nakaraang bloke ng matematika "pagbabawas".
Susunod, may isang pares - isang bloke ng matematika (karagdagan) at motor V.
Pagtatakda ng bloke ng matematika:
Sa input na "isang" set sa 50 (kalahati ng kapangyarihan ng motor).
Ang output ng "resulta" na bloke ay konektado sa "kapangyarihan" na input ng motor
Kasunod ng pares - isang bloke ng matematika (pagbabawas) at isang motor S.
Pagtatakda ng bloke ng matematika:
Ang input na "A" ay naka-set sa 50.
Ang input na "B" ay konektado sa gulong na may output ng "resulta" ng bloke ng matematika na "multiplikasyon".
Ang output ng "resulta" na bloke ay konektado sa input ng "kapangyarihan" ng S. Motor

Bilang resulta ng lahat ng mga pagkilos na ito, makakatanggap ka ng gayong programa:

Dahil lahat ng ito ay magtrabaho sa isang cycle, nagdaragdag kami ng isang "cycle", inilalaan namin at ilipat ang lahat ng ito sa "cycle".

Ngayon subukan nating malaman kung paano gagana ang programa at kung paano i-configure ito.


Habang ang robot napupunta sa isang tuwid na linya ng mga halaga ng sensor ay tumutugma, nangangahulugan ito na sa output ng pagbabawas block ay 0. Ang output ng multiplikasyon yunit ay nagbibigay din ng isang halaga ng 0. Ang halaga na ito ay inilapat sa parallel sa ang pares ng control ng motor. Dahil sa mga bloke na ito ay nakatakda sa 50, ang karagdagan o pagbabawas ng 0 ay hindi nakakaapekto sa kapangyarihan ng mga motors. Ang parehong mga motors ay gumagana sa parehong kapangyarihan 50, at ang robot roll sa isang tuwid na linya.

Ipagpalagay na ang track ay gumagawa ng isang pagliko o robot lumihis mula sa linya. Ano ang mangyayari?

Ipinakikita ng figure na ang pag-iilaw ng sensor na nakakonekta sa Port 2 (simula dito ay tinutukoy bilang tagapagtanggol 2 at 3) na nagdaragdag, dahil gumagalaw ito sa isang puting larangan, at ang pag-iilaw ng sensor 3 ay bumababa. Ipagpalagay na ang mga halaga ng mga sensor na ito ay naging: isang sensor 2 - 55 yunit, at isang sensor 3 - 45 na yunit.
Ang bloke ng "pagbabawas" ay tutukoy sa pagkakaiba sa pagitan ng mga halaga ng dalawang sensors (10) at ibibigay ito sa yunit ng pagwawasto (pagpaparami ng koepisyent (10 * 2.5 \u003d 25)) at pagkatapos ay sa mga bloke ng kontrol
Motors.
Sa Math Unit (karagdagan) ng kontrol ng motor sa halaga ng average na bilis 50
magdagdag ng 25 at ang halaga ng Power 75 ay isusumite sa Motor V.
Sa yunit ng matematika (pagbabawas) ng kontrol ng motor C mula sa halaga ng average na bilis 50, 25 ay ibawas at ang halaga ng kapangyarihan 25 ay fed sa motor S.
Kaya, ang paglihis mula sa isang tuwid na linya ay iakma.

Kung ang track ay lumiliko nang masakit patungo at sensor 2, ito ay lumiliko sa puti, at ang sensor 3 sa itim. Ang mga halaga ng pag-iilaw ng mga sensor na ito ay naging: isang sensor 2 - 70 yunit, at isang sensor 3 - 50 yunit.
Ang bloke ng "pagbabawas" ay tutukoy sa pagkakaiba sa pagitan ng mga halaga ng dalawang sensors (20) at ibigay ito sa yunit ng pagwawasto (20 * 2.5 \u003d 50) at pagkatapos ay sa mga bloke ng kontrol ng motor.
Ngayon sa yunit ng matematika (karagdagan) ng kontrol ng motor sa halaga ng kapangyarihan 50 +50 \u003d 100 ay isusumite sa Motor V.
Sa yunit ng matematika (pagbabawas) ng kontrol ng motor na may halaga ng kapangyarihan 50 - 50 \u003d 0 ay fed sa motor S.
At ang robot ay magsagawa ng matarik na pagliko.

Sa puti at itim na mga patlang, ang robot ay dapat sumakay sa isang tuwid na linya. Kung hindi ito mangyayari, subukan ang pagpili ng mga sensor na may parehong mga halaga.

Ngayon ay lumikha ng isang bagong bloke at gagamitin ito upang ilipat ang robot sa anumang track.
Pinipili namin ang cycle, pagkatapos ay sa menu na "I-edit", piliin ang command na "Lumikha ng aking bloke".

Sa block designer dialog box, ibibigay namin ang pangalan sa aming bloke, halimbawa, "Go", piliin ang icon para sa bloke at i-click ang "Tapos na".

Ngayon ay mayroon kaming isang bloke na maaaring magamit sa mga kaso kung saan kailangan naming ilipat sa kahabaan ng linya.