Pysähdy kolmannen viivan jälkeen

From cod3v
This page is a translated version of the page Stop the robot after the third line and the translation is 100% complete.
Other languages:
English • ‎suomi

Johdanto

Miten saat robotin pysähtymään sen ylitettyä kolmannen viivan, tai n:nnen viivan? Tämä ongelma pitää ratkaista usein FIRST LEGO Leaguessa (FLL) tai Rescue (Pelastus) -kisoissa. Ongelma liittyy siihen, että anturi lukee kenttää koko ajan, jolloin yksinkertaisimmat ratkaisut eivät toimi.

StopAt3rdLine.png

Tässä ohjeessa on kaksi erilaista ratkaisua: (i) käyttäen ajastinta tai moottorin kiertokulmaa viivojen ylittämiseen, ja (ii) käyttäen flip-flip-algoritmia viivojen laskemiseen. Flip-flop-algoritmi toimii hyvin myös eripaksuisilla viivoilla.


Robotti

Lähes kaikki robotit toimivat. Esimerkeissä on Asimov 2/ Verne -robotti.

Anturit

Yksi värianturi riittää.

Esimerkkivideot

Video on vain flip-flop-algoritmista.

Teoriaa

Alla on kerrottu kaksi erilaista menetelmää. Koska valoanturi lukee kentän valoisuutta koko ajan, ja anturin virkistystaajuus on suuri, niin anturin ylittäessä mustaa viivaa anturi saa paljon lähes nolla-arvoja, eli mustaa. Katso kuva.

Anturin lukemat, kun robotti ylittää mustia viivoja.

Kalibroitu anturi saa arvon (lähes) 100, kun se on valkoisella ja arvoja, jotka ovat lähellä nollaa (0), kun anturi on mustalla.

Ajatin / kiertokulma

Ajastimella robotti saadaan kulkemaan mustan viivan yli, jonka jälkeen etsitään seuraavaa mustaa viivaa. Kolmannen viivan jälkeen pysähdytään. Se kannattaa laittaa silmukkaan, eli jos sinun tarvitsee käyttää samaa koodinpätkää uudestaan, laita se silmukkaan (tai tee siitä funktio).


Flip-flop-algoritmi

Flip-flop-algoritmin idea on, että ensin robotin tila flipataan mustaksi ja sitten kun se löytää valkoista, tila flopataan takaisin valkoiseksi. Muista, että anturi lukee heijastuneen valon intensiteettiä koko ajan.


Esimerkkikoodi

Esimerkkikoodi molemmista eri tavoista on alla.

Ajastimella

Ajastinkoodi on melko luotettava ja toimii hyvin myös vaikealla kentällä. Ajastin on helppo muuttaa myös kiertokulmaksi.

Ajastinkoodi.

Flip-flop-algoritmi

FLip-flop-algoritmi on yksinkertainen ja luotettava, jos alusta on riittävän yksinkertainen.

Flip-flop-algoritmi on helppo koodata.

Harjoituksia

  • Kuinka nopeasti saat robotin ylittämään tasan kolme viivaa? Ota aika ja mittaa viivan ylimenevä matka.
  • Tee robotti, jossa on kaksi valoanturia. Käytä toista anturia viivanseurantaan ja toisella lue viivaa kohtisuoraan olevia toisia viivoja, ja pysähdy kolmannelle.


Kurssia tukee rahallisesti Meet and Code. Kurssi on suunniteltu yhteistyössä Robotiikka- ja tiedekasvatus ry:n kanssa.

MeetAndcodeLogo.png
Takaisin Meet and Code 2020 I: Ev3-G -etusivulle