Bahay - pasilyo
Lego ev3 na gumagalaw sa linya. Magsimula sa agham. Color sensor - "Ambient light brightness" mode

Ganito nakikita ng isang tao ang linya:

Ito ay kung paano ito nakikita ng robot:


Gagamitin namin ang feature na ito kapag nagdidisenyo at nagprograma ng robot para sa kategorya ng kompetisyon na "Trajectory".

Mayroong maraming mga paraan upang turuan ang isang robot na makita ang isang linya at lumipat sa kahabaan nito. May mga kumplikadong programa at napakasimple.

Nais kong pag-usapan ang tungkol sa isang pamamaraan ng programming na kahit na ang mga bata sa grade 2-3 ay maaaring makabisado. Sa edad na ito, mas madali para sa kanila na mag-ipon ng mga istruktura ayon sa mga tagubilin, at ang pagprograma ng isang robot ay para sa kanila. mahirap na gawain. Ngunit ang pamamaraang ito ay magpapahintulot sa bata na i-program ang robot sa anumang ruta sa loob ng 15-30 minuto (isinasaalang-alang ang sunud-sunod na pagsubok at pagsasaayos ng ilang mga tampok ng tilapon).

Ang pamamaraang ito ay nasubok sa mga munisipal at rehiyonal na kumpetisyon sa robotics sa rehiyon ng Surgut at Khanty-Mansi Autonomous Okrug-Yugra at dinala ang aming paaralan sa mga unang puwesto. Doon ako naging kumbinsido na ang paksang ito ay napaka-kaugnay para sa maraming mga koponan.

Well, simulan na natin.

Kapag naghahanda para sa ganitong uri ng kumpetisyon, ang programming ay bahagi lamang ng solusyon sa problema. Kailangan mong magsimula sa pamamagitan ng pagdidisenyo ng isang robot para sa isang partikular na ruta. Sa susunod na artikulo sasabihin ko sa iyo kung paano ito gagawin. Well, dahil ang paggalaw sa isang linya ay madalas na nangyayari, magsisimula ako sa programming.

Isaalang-alang natin ang opsyon ng isang robot na may dalawang light sensor, dahil mas naiintindihan ito ng mga mag-aaral sa elementarya.

Ang mga light sensor ay konektado sa mga port 2 at 3. Mga motor sa port B at C.
Ang mga sensor ay inilalagay sa mga gilid ng linya (subukang mag-eksperimento sa paglalagay ng mga sensor sa iba't ibang distansya mula sa isa't isa at sa iba't ibang taas).
Mahalagang punto. Para sa mas magandang trabaho Para sa gayong pamamaraan, ipinapayong pumili ng isang pares ng mga sensor ayon sa mga parameter. Kung hindi, kakailanganing magpakilala ng bloke para sa pagsasaayos ng mga halaga ng sensor.
Pag-install ng mga sensor sa chassis ayon sa klasikong pamamaraan(tatsulok), humigit-kumulang tulad ng nasa larawan.

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


1. Dalawang light sensor unit;
2. Apat na bloke ng "Mathematics";
3. Dalawang bloke ng motor.

Dalawang motor ang ginagamit upang kontrolin ang robot. Ang kapangyarihan ng bawat isa ay 100 yunit. Para sa aming scheme, kukunin namin ang average na halaga ng kapangyarihan ng motor na katumbas ng 50. Iyon ay, ang average na bilis kapag gumagalaw sa isang tuwid na linya ay magiging katumbas ng 50 mga yunit. Kapag lumihis mula sa tuwid na linya ng paggalaw, ang kapangyarihan ng mga motor ay proporsyonal na tataas o bababa, depende sa anggulo ng paglihis.

Ngayon alamin natin kung paano ikonekta ang lahat ng mga bloke, i-configure ang programa at kung ano ang mangyayari dito.
Mag-set up tayo ng dalawang light sensor at magtalaga ng mga port 2 at 3 sa kanila.
Kunin ang math block at piliin ang "Pagbabawas."
Ikonekta natin ang mga light sensor mula sa "Intensity" na mga output sa pamamagitan ng mga bus patungo sa mathematics block sa mga input na "A" at "B".
Kung ang mga sensor ng robot ay naka-install nang simetriko mula sa gitna ng linya ng track, kung gayon ang mga halaga ng parehong mga sensor ay magiging pantay. Pagkatapos ng pagbabawas makuha namin ang halaga - 0.
Ang susunod na bloke ng matematika ay gagamitin bilang isang koepisyent at kailangan mong itakda ang "Pagpaparami" dito.
Upang kalkulahin ang koepisyent, kailangan mong sukatin ang mga antas ng "puti" at "itim" gamit ang NXT block.
Ipagpalagay natin: puti -70, itim -50.
Susunod, kinakalkula namin: 70-50 = 20 (ang pagkakaiba sa pagitan ng puti at itim), 50/20 = 2.5 (itinakda namin ang average na halaga ng kapangyarihan kapag gumagalaw sa isang tuwid na linya sa mga bloke ng matematika sa 50. Ang halagang ito kasama ang idinagdag na kapangyarihan kapag ang pagsasaayos ng paggalaw ay dapat na katumbas ng 100)
Subukang itakda ang value sa 2.5 sa input na "A", at pagkatapos ay piliin ito nang mas tumpak.
Sa input na "B" ng mathematics block na "Multiplication", ikonekta ang output na "Resulta" ng nakaraang mathematics block na "Subtraction".
Susunod ang isang pares - isang math block (Addition) at motor B.
Pagse-set up ng math block:
Ang input na "A" ay nakatakda sa 50 (kalahati ng lakas ng motor).
Ang output ng "Result" block ay konektado ng bus sa "Power" input ng motor B.
Ang susunod na pares ay isang math block (Pagbabawas) at motor C.
Pagse-set up ng math block:
Ang input na "A" ay nakatakda sa 50.
Ang input na "B" ay konektado ng bus sa "Resulta" na output ng "Multiplication" mathematics block.
Ang output ng "Result" block ay konektado ng bus sa "Power" input ng motor C.

Bilang resulta ng lahat ng mga pagkilos na ito, makukuha mo ang sumusunod na programa:

Dahil ang lahat ng ito ay gagana sa isang cycle, idagdag namin ang "Cycle", piliin ito at ilipat ang lahat sa "Cycle".

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


Habang ang robot ay gumagalaw sa isang tuwid na linya, ang mga halaga ng sensor ay nagtutugma, na nangangahulugan na ang output ng bloke na "Pagbabawas" ay magiging 0. Ang output ng bloke ng "Pagpaparami" ay nagbibigay din ng halaga na 0. Ang halagang ito ay ibinibigay. kahanay sa pares ng kontrol ng motor. Dahil ang mga bloke na ito ay nakatakda sa 50, ang pagdaragdag o pagbabawas ng 0 ay hindi makakaapekto sa kapangyarihan ng mga motor. Ang parehong mga motor ay gumagana sa parehong kapangyarihan ng 50, at ang robot ay gumulong sa isang tuwid na linya.

Ipagpalagay natin na ang track ay lumiliko o ang robot ay lumihis mula sa isang tuwid na linya. Ano ang mangyayari?

Ipinapakita ng figure na ang pag-iilaw ng sensor na konektado sa port 2 (simula dito ay tinutukoy bilang mga sensor 2 at 3) ay tumataas habang ito ay gumagalaw papunta sa puting field, at ang pag-iilaw ng sensor 3 ay bumababa. Ipagpalagay natin na ang mga halaga ng mga sensor na ito ay magiging: sensor 2 – 55 units, at sensor 3 – 45 units.
Ang bloke na "Pagbabawas" ay tutukuyin ang pagkakaiba sa pagitan ng mga halaga ng dalawang sensor (10) at ipakain ito sa bloke ng pagwawasto (multiply sa isang koepisyent (10*2.5=25)) at pagkatapos ay sa mga bloke ng kontrol
mga motor.
Sa mathematics block (Addition) ng motor control B sa average na halaga ng bilis na 50
25 ay idaragdag at isang power value na 75 ang ibibigay sa motor B.
Sa mathematics block (Pagbabawas) ng motor C control, ang 25 ay ibabawas mula sa average na halaga ng bilis na 50 at isang power value na 25 ang ibibigay sa motor C.
Sa ganitong paraan, itatama ang paglihis mula sa tuwid na linya.

Kung biglang lumiko ang track sa gilid, magiging puti ang sensor 2, at itim ang sensor 3. Ang mga halaga ng pag-iilaw ng mga sensor na ito ay nagiging: sensor 2 – 70 units, at sensor 3 – 50 units.
Ang bloke na "Pagbabawas" ay tutukuyin ang pagkakaiba sa pagitan ng mga halaga ng dalawang sensor (20) at ipakain ito sa bloke ng pagwawasto (20*2.5=50) at pagkatapos ay sa mga yunit ng kontrol ng motor.
Ngayon sa mathematics (Addition) block ng motor B control, isang power value na 50 +50 =100 ang ibibigay sa motor B.
Sa mathematics block (Subtraction) ng motor C control, isang power value na 50 – 50 = 0 ang ibibigay sa motor C.
At ang robot ay gagawa ng matalim na pagliko.

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

Ngayon, gumawa tayo ng bagong bloke at gamitin ito para ilipat ang robot sa anumang ruta.
Piliin ang cycle, pagkatapos ay sa menu na "I-edit" piliin ang command na "Gumawa ng aking bloke".

Sa dialog box na "Block Designer", bigyan ng pangalan ang aming block, halimbawa, "Go", pumili ng icon para sa block at i-click ang "DONE".

Ngayon mayroon kaming isang bloke na maaaring magamit sa mga kaso kung saan kailangan naming lumipat sa isang linya.

Ang isa sa mga pangunahing paggalaw sa magaan na konstruksyon ay ang pagsunod sa itim na linya.

Pangkalahatang teorya at tiyak na mga halimbawa Ang paglikha ng programa ay inilarawan sa website na wroboto.ru

Ilalarawan ko kung paano namin ito ipinapatupad sa kapaligiran ng EV3, dahil may mga pagkakaiba.

Ang unang bagay na kailangang malaman ng robot ay ang kahulugan ng "ideal point" na matatagpuan sa hangganan ng itim at puti.

Ang lokasyon ng pulang tuldok sa figure ay eksaktong tumutugma sa posisyong ito.

Ang perpektong opsyon sa pagkalkula ay sukatin ang itim at puti na mga halaga at kunin ang average na arithmetic.

Maaari mong gawin ito nang manu-mano. Ngunit ang mga kawalan ay agad na nakikita: sa loob ng kahit na isang maikling panahon, ang pag-iilaw ay maaaring magbago, at ang kinakalkula na halaga ay magiging mali.

Kaya, maaari kang makakuha ng isang robot upang gawin ito.

Sa panahon ng mga eksperimento, nalaman namin na hindi kinakailangang sukatin ang parehong itim at puti. Puti lang ang masusukat. At ang perpektong halaga ng punto ay kinakalkula bilang puting halaga na hinati sa 1.2 (1.15), depende sa lapad ng itim na linya at ang bilis ng robot.

Ang kinakalkula na halaga ay dapat na nakasulat sa isang variable upang ma-access ito sa ibang pagkakataon.

Pagkalkula ng "ideal na punto"

Ang susunod na parameter na kasangkot sa paggalaw ay ang koepisyent ng pag-ikot. Kung mas malaki ito, mas matalas ang reaksyon ng robot sa mga pagbabago sa pag-iilaw. Pero sobra malaking halaga ay magiging sanhi ng pag-urong ng robot. Ang halaga ay pinili nang eksperimento nang paisa-isa para sa bawat disenyo ng robot.

Ang huling parameter ay ang base power ng mga motors. Nakakaapekto ito sa bilis ng robot. Ang pagtaas ng bilis ng paggalaw ay humahantong sa pagtaas sa oras ng pagtugon ng robot sa mga pagbabago sa pag-iilaw, na maaaring humantong sa pag-alis mula sa tilapon. Ang halaga ay pinili din sa pang-eksperimentong paraan.

Para sa kaginhawahan, ang mga parameter na ito ay maaari ding isulat sa mga variable.

Turn Ratio at Base Power

Ang lohika ng paglipat kasama ang itim na linya ay ang mga sumusunod: ang paglihis mula sa perpektong punto ay sinusukat. Kung mas malaki ito, mas malakas ang robot na dapat magsikap na bumalik dito.

Upang gawin ito, kinakalkula namin ang dalawang numero - ang halaga ng kapangyarihan ng bawat isa sa mga motor B at C nang hiwalay.

Sa form ng formula, ganito ang hitsura:

Kung saan ang Isens ay ang halaga ng mga pagbabasa ng light sensor.

Panghuli, ang pagpapatupad sa EV3. Ito ay pinaka-maginhawa upang ayusin ito sa anyo ng isang hiwalay na bloke.

Pagpapatupad ng algorithm

Ito mismo ang algorithm na ipinatupad sa robot para sa gitnang kategorya ng WRO 2015



Upang gawing maayos ang paggalaw ng robot kasama ang itim na linya, kailangan mong pilitin itong kalkulahin ang bilis ng paggalaw mismo.

Nakikita ng isang tao ang isang itim na linya at ang malinaw na hangganan nito. Medyo naiiba ang paggana ng light sensor.

Ito ang pag-aari ng light sensor - ang kawalan ng kakayahang malinaw na makilala sa pagitan ng puti at itim - na gagamitin namin upang kalkulahin ang bilis ng paggalaw.

Una, ipakilala natin ang konsepto ng "Ideal na trajectory point."

Ang mga pagbabasa ng light sensor ay mula 20 hanggang 80, kadalasan sa puti ang mga pagbabasa ay humigit-kumulang 65, sa itim ay humigit-kumulang 40.

Ang perpektong punto ay isang maginoo na punto na humigit-kumulang sa gitna ng puti at itim na mga kulay, kasunod kung saan lilipat ang robot sa itim na linya.

Narito ang lokasyon ng punto ay pangunahing - sa pagitan ng puti at itim. Hindi posibleng itakda ito nang eksakto sa puti o itim para sa mga kadahilanang pangmatematika kung bakit magiging malinaw sa ibang pagkakataon.

Empirically, nakalkula namin na ang perpektong punto ay maaaring kalkulahin gamit ang sumusunod na formula:

Dapat na mahigpit na gumalaw ang robot sa perpektong punto. Kung mayroong isang paglihis sa anumang direksyon, ang robot ay dapat bumalik sa puntong iyon.

Mag-compose tayo matematikal na paglalarawan ng problema.

Paunang data.

Tamang punto.

Kasalukuyang pagbabasa ng light sensor.

Resulta.

Ang lakas ng pag-ikot ng motor V.

Lakas ng pag-ikot ng motor C.

Solusyon.

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

Sa kasong ito, dapat pataasin ng robot ang lakas ng pag-ikot ng motor B at bawasan ang lakas ng motor C.

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

Kung mas lumilihis ang robot mula sa perpektong punto, mas mabilis itong kailangang bumalik dito.

Ngunit ang paglikha ng naturang regulator ay isang mahirap na gawain, at hindi ito palaging kinakailangan sa kabuuan nito.

Samakatuwid, nagpasya kaming limitahan ang aming sarili sa P-regulator lamang, na sapat na tumutugon sa mga paglihis mula sa itim na linya.

Sa wikang matematika ito ay isusulat tulad nito:

kung saan ang Hb at Hc ay ang panghuling kapangyarihan ng mga motor B at C, ayon sa pagkakabanggit,

Base – isang tiyak na base power ng mga motor na tumutukoy sa bilis ng robot. Ito ay pinili sa eksperimento, depende sa disenyo ng robot at ang talas ng mga pagliko.

Itek – kasalukuyang pagbabasa ng light sensor.

Iid – kinakalkula na perpektong punto.

k – koepisyent ng proporsyonalidad, pinili sa eksperimentong paraan.

Sa ikatlong bahagi ay titingnan natin kung paano ito i-program sa kapaligiran ng NXT-G.

Algorithm para sa pagkontrol sa isang mobile LEGO robot. Ang paggalaw ng linya na may dalawang light sensor

Karagdagang guro sa edukasyon

Kazakova Lyubov Alexandrovna


Ang paggalaw sa linya

  • Dalawang light sensor
  • Proporsyonal na controller (P-controller)

Algorithm para sa paglipat kasama ang itim na linya nang walang proporsyonal na controller

  • Ang parehong mga motor ay umiikot na may parehong kapangyarihan
  • Kung ang kanang light sensor ay tumama sa itim na linya, ang kapangyarihan ng kaliwang motor (halimbawa B) ay bababa o huminto
  • Kung ang kaliwang light sensor ay tumama sa itim na linya, ang kapangyarihan ng isa pang motor (halimbawa C) ay bumababa (bumalik sa linya), bumaba o humihinto
  • Kung ang parehong mga sensor ay nasa puti o itim, pagkatapos ay nangyayari ang linear na paggalaw

Ang paggalaw ay inayos sa pamamagitan ng pagpapalit ng kapangyarihan ng isa sa mga motor


Halimbawa ng isang programa para sa pagmamaneho sa isang itim na linya na walang P-controller

Ang paggalaw ay isinaayos sa pamamagitan ng pagbabago ng anggulo ng pag-ikot


  • Ang isang proporsyonal na controller (P-controller) ay nagbibigay-daan sa iyo upang ayusin ang pag-uugali ng robot depende sa kung magkano ang pag-uugali nito ay naiiba mula sa ninanais.
  • Kung mas lumilihis ang robot mula sa layunin, mas maraming pagsisikap ang kailangan nitong ilagay upang makabalik dito.

  • Ang P-controller ay ginagamit upang panatilihin ang robot sa isang tiyak na estado:
  • Hinahawakan ang posisyon ng manipulator Paglipat sa isang linya (light sensor) Paglipat sa isang pader (distance sensor)
  • Hawak ang posisyon ng manipulator
  • Paggalaw ng linya (light sensor)
  • Paggalaw sa dingding (sensor ng distansya)

Ang paggalaw ng linya na may isang sensor

  • Ang layunin ay lumipat sa kahabaan ng "white-black" na hangganan
  • Ang isang tao ay maaaring makilala ang hangganan sa pagitan ng puti at itim. Hindi kaya ng robot.
  • Ang layunin para sa robot ay kulay abo

Pagmamaneho sa mga intersection

Kapag gumagamit ng dalawang light sensor, posible na ayusin ang paggalaw sa mas kumplikadong mga ruta



Algorithm para sa pagmamaneho sa kahabaan ng highway na may mga intersection

  • Ang parehong mga sensor ay puti - ang robot ay nagmamaneho nang diretso (ang parehong mga motor ay umiikot na may parehong kapangyarihan)
  • Kung ang kanang light sensor ay tumama sa itim na linya at ang kaliwa ay tumama sa puting linya, pagkatapos ay isang pakanan na pagliko ang magaganap
  • Kung ang kaliwang light sensor ay tumama sa itim na linya at ang kanan ay tumama sa puting linya, pagkatapos ay lumiko sa kaliwa
  • Kung ang parehong mga sensor ay itim, pagkatapos ay nangyayari ang linear na paggalaw. Maaari kang magbilang ng mga intersection o magsagawa ng anumang mga aksyon


Prinsipyo ng pagpapatakbo ng P-regulator

Posisyon ng sensor

O=O1-O2


Algorithm para sa paglipat kasama ang itim na linya na may proporsyonal na controller

HC = K*(C-T)

  • Ts - mga target na halaga (kumuha ng mga pagbabasa mula sa light sensor sa puti at itim, kalkulahin ang average)
  • T - kasalukuyang halaga - nakuha mula sa sensor
  • K - sensitivity coefficient. Kung mas marami, mas mataas ang sensitivity


15.01.2012, 18:51

Hanggang ngayon, sa mga artikulo tungkol sa mga algorithm na ginagamit kapag gumagalaw sa isang linya, ang isang paraan ay isinasaalang-alang kapag ang light sensor ay tila sinusubaybayan ang kaliwa o kanang hangganan nito: sa sandaling lumipat ang robot sa puting bahagi ng field, ibinalik ng controller ang robot. sa hangganan, ang sensor ay nagsimulang lumipat nang mas malalim sa itim na linya - itinuwid ito ng regulator.
Sa kabila ng katotohanan na ang larawan sa itaas ay ipinapakita para sa isang relay regulator, ang pangkalahatang prinsipyo ng paggalaw ng isang proporsyonal (P-regulator) ay magiging pareho. Tulad ng nabanggit na, ang average na bilis ng naturang paggalaw ay hindi masyadong mataas, at maraming mga pagtatangka ang ginawa upang madagdagan ito sa pamamagitan ng bahagyang kumplikadong algorithm: sa isang kaso, ginamit ang "malambot" na pagpepreno, sa isa pa, bilang karagdagan sa mga pagliko, pasulong na paggalaw ay ipinakilala.
Upang payagan ang robot na sumulong sa ilang mga lugar, isang makitid na lugar ang inilaan sa hanay ng mga halaga na ginawa ng light sensor, na maaaring karaniwang tinatawag na "ang sensor ay nasa hangganan ng linya."
Ang diskarte na ito ay may kaunting disbentaha - kung ang robot ay "sinusundan" sa kaliwang hangganan ng linya, pagkatapos ay sa kanan ay hindi nito agad na nakita ang kurbada ng tilapon at, bilang isang resulta, gumugugol ng mas maraming oras sa paghahanap para sa linya at pag-ikot. Bukod dito, maaari nating sabihin nang may kumpiyansa na ang mas matalas na pagliko, mas mahaba ang paghahanap na ito.
Ang sumusunod na figure ay nagpapakita na kung ang sensor ay wala sa kaliwang bahagi ng hangganan, ngunit sa kanan, kung gayon ay nakita na nito ang curvature ng trajectory at magsisimulang gumawa ng mga maniobra ng pagliko.

Samakatuwid, magandang ideya na bigyan ang robot ng dalawang sensor nang sabay-sabay, na matatagpuan sa magkabilang panig ng linya at, nang naaayon, ay makakatulong sa robot na mas mabilis na tumugon sa mga pagbabago sa direksyon ng paggalaw.
Ngayon ay kailangan nating matukoy kung paano makakaapekto ang pagbabago sa disenyo na ito sa programa. Para sa pagiging simple, dapat tayong magsimula muli sa pinakasimpleng relay controller at samakatuwid, una sa lahat, interesado tayo sa mga posibleng posisyon ng mga sensor na nauugnay sa linya:

Sa katunayan, ang isa pang katanggap-tanggap na kondisyon ay maaaring makilala - sa mga kumplikadong ruta ito ay ang intersection ng isang intersection o ilang uri ng pampalapot sa landas.
Ang iba pang mga posisyon ng mga sensor ay hindi isasaalang-alang, dahil ang mga ito ay alinman sa mga derivative ng mga ipinapakita sa itaas, o ito ang mga posisyon ng robot kapag ito ay umalis sa linya at hindi na maibabalik ang sarili dito gamit ang impormasyon mula sa mga sensor. . Bilang resulta, ang lahat ng mga probisyon sa itaas ay maaaring bawasan sa sumusunod na pag-uuri:
  • ang kaliwang sensor, tulad ng kanan, ay nasa itaas ng isang magaan na ibabaw
  • kaliwang sensor sa ibabaw ng maliwanag na ibabaw, kanang sensor sa ibabaw ng madilim
  • kaliwang sensor sa ibabaw ng madilim na ibabaw, kanang sensor sa ibabaw ng liwanag na ibabaw
  • ang parehong mga sensor ay matatagpuan sa itaas ng isang madilim na ibabaw
Kung sa isang tiyak na punto ng oras ay nakita ng program sa robot ang isa sa mga posisyong ito, kakailanganin itong tumugon nang naaayon:
    Kung ang parehong mga sensor ay nasa itaas ng puting ibabaw, ito ay isang normal na sitwasyon kung saan ang linya ay nasa pagitan ng mga sensor, kaya ang robot ay dapat na dumiretso Kung ang kaliwang sensor ay nasa itaas pa rin ng liwanag na ibabaw, at ang kanang sensor ay nasa itaas na ng madilim, pagkatapos ay hinihimok ng robot ang kanang bahagi nito papunta sa linya, na nangangahulugang kailangan niyang lumiko sa kanan upang muli ang linya sa pagitan ng mga sensor Kung ang kaliwang sensor ay nasa itaas ng isang madilim na ibabaw, at ang kanan ay hindi pa rin sa itaas ng isang ilaw, pagkatapos ay upang i-align ang robot ay kailangang lumiko sa kaliwa Kung ang parehong mga sensor ay nasa itaas ng isang madilim na ibabaw, pagkatapos pangkalahatang kaso, ang robot ay patuloy na muling gumagalaw nang diretso.

Ang diagram sa itaas ay agad na nagpapakita kung paano dapat magbago ang pag-uugali ng mga motor sa programa Ngayon, hindi dapat maging mahirap ang pagsusulat ng isang programa sa pamamagitan ng pagpili kung aling sensor ang unang susuriin. Hindi naman talaga mahalaga, kaya hayaan mo na lang. Ito ay kinakailangan upang matukoy kung ito ay nasa itaas ng liwanag o madilim na ibabaw:
Hindi ka pa pinapayagan ng pagkilos na ito na sabihin kung saang direksyon dapat pumunta ang robot. Ngunit hahatiin nito ang mga estadong nakalista sa itaas sa dalawang pangkat: (I, II) para sa itaas na sangay at (III, IV) para sa mas mababa. Ang bawat grupo ay mayroon na ngayong dalawang estado, kaya kailangan mong pumili ng isa sa kanila. Kung titingnan mong mabuti ang unang dalawang estado I at II, naiiba sila sa posisyon ng tamang sensor - sa isang kaso ito ay nasa itaas ng isang liwanag na ibabaw, sa kabilang banda - sa itaas ng isang madilim. Ito ang magpapasiya sa pagpili kung anong aksyon ang gagawin:
Ngayon ay maaari kang magpasok ng mga bloke na tumutukoy sa pag-uugali ng mga motor ayon sa mga talahanayan sa itaas: ang itaas na sangay ng nested na kondisyon ay tumutukoy sa kumbinasyon na "parehong mga sensor sa liwanag", sa itaas - "kaliwa sa liwanag, kanan sa madilim":
Ang mas mababang sangay ng pangunahing kondisyon ay responsable para sa isa pang pangkat ng mga kondisyon III at IV. Magkaiba rin ang dalawang estado sa bawat isa sa antas ng liwanag na nakikita ng tamang sensor. Nangangahulugan ito na matutukoy nito ang pagpili ng bawat isa sa kanila:
Ang nagresultang dalawang sanga ay puno ng mga bloke ng paggalaw. Ang itaas na sangay ay responsable para sa "kaliwa sa madilim, kanan sa liwanag" na estado, at ang mas mababang sangay ay responsable para sa "parehong mga sensor sa madilim."
Dapat pansinin na itong disenyo tinutukoy lamang nito kung paano i-on ang mga motor depende sa mga pagbabasa ng mga sensor sa isang tiyak na lugar sa field, pagkatapos ng ilang sandali, dapat suriin ng programa kung nagbago ang mga pagbabasa upang ayusin ang pag-uugali ng mga motor nang naaayon; at pagkatapos ng ilang sandali muli, muli, atbp. Samakatuwid, dapat itong ilagay sa isang loop na magbibigay ng paulit-ulit na tseke na ito:

Napakaganda simpleng programa ay magbibigay ng medyo mataas na bilis ng paggalaw ng robot sa linya nang hindi lumilipad nang lampas sa mga limitasyon nito, kung na-configure nang tama pinakamataas na bilis kapag lumilipat sa mga estado I at IV, at nakatakda din ang pinakamahusay na paraan pagpepreno sa mga estado II at III - ang mas matarik na pagliko sa highway, ang "mas mahirap" ang pagpepreno ay dapat - ang bilis ay dapat mabawasan nang mas mabilis, at kabaligtaran - na may makinis na pagliko posible na mag-apply ng pagpepreno sa pamamagitan ng pag-off ng kapangyarihan o kahit na sa pamamagitan ng pagbawas ng bilis sa kabuuan.

Ang ilang hiwalay na salita ay dapat ding sabihin tungkol sa paglalagay ng mga sensor sa robot. Malinaw, ang parehong mga rekomendasyon para sa lokasyon ng dalawang sensor na ito na nauugnay sa mga gulong ay ilalapat tulad ng para sa isang sensor, tanging ang vertex ng tatsulok ay kinuha bilang gitna ng segment na nagkokonekta sa dalawang sensor. Ang distansya sa pagitan ng mga sensor mismo ay dapat ding mapili mula sa mga katangian ng track: kung mas malapit ang mga sensor ay matatagpuan sa isa't isa, mas madalas na ang robot ay mag-level out (gumanap ng medyo mabagal na pagliko), ngunit kung ang mga sensor ay sapat na lapad. , pagkatapos ay may panganib na lumipad paalis sa track, kaya kailangan mong higit pang "mahirap" na pagliko at bawasan ang bilis sa mga tuwid na seksyon.



 


Basahin:



Paano makalkula ang metalikang kuwintas

Paano makalkula ang metalikang kuwintas

Sa pagsasaalang-alang sa mga paggalaw ng pagsasalin at pag-ikot, maaari tayong magtatag ng isang pagkakatulad sa pagitan nila. Sa kinematics ng translational motion, ang landas ay...

Mga paraan ng paglilinis ng sol: dialysis, electrodialysis, ultrafiltration

Mga paraan ng paglilinis ng sol: dialysis, electrodialysis, ultrafiltration

Karaniwang, 2 paraan ang ginagamit: Paraan ng pagpapakalat - gamit ang pagdurog ng isang solidong sangkap sa mga particle na may sukat na katumbas ng mga colloid....

"Purong Sining": F.I. Tyutchev. Mga tula ng "purong sining": mga tradisyon at pagbabago Mga kinatawan ng purong sining sa panitikang Ruso

Bilang isang manuskrito POETRY OF "PURE ART": disertations para sa degree ng Doctor of Philology Orel - 2008 Dissertation...

Paano magluto ng dila ng baka sa bahay

Paano magluto ng dila ng baka sa bahay

Ang industriya ng culinary ay nag-aalok ng isang malaking bilang ng mga delicacy na maaaring masiyahan ang mga gastronomic na pangangailangan ng sinumang tao. Kabilang sa kanila...

feed-image RSS