Stop the robot after the third line/fi: Difference between revisions

From wikiluntti
(Created page with "==== Flip-flop-algoritmi ====")
 
(5 intermediate revisions by the same user not shown)
Line 54: Line 54:
==== Flip-flop-algoritmi ====
==== Flip-flop-algoritmi ====


The flip flop algorithm is simple and reliable, if the ground floor is easy enough.
FLip-flop-algoritmi on yksinkertainen ja luotettava, jos alusta on riittävän yksinkertainen.


[[File:Fliflop stop3rdLine.png|thumb|The flip flop algorithm is easy to implement.]]
[[File:Fliflop stop3rdLine.png|thumb|Flip-flop-algoritmi on helppo koodata.]]


=== Exercises ===
=== Harjoituksia ===


* How fast can you make the robot to pass exactly three lines? Measure the time, and the extra passage (slippage), which the root makes after passing the last line.
* Kuinka nopeasti saat robotin ylittämään tasan kolme viivaa? Ota aika ja mittaa viivan ylimenevä matka.
* Make the robot work with two sensors, and assign other sensor to follow a line, and the other to stop after to stop the robot after 3rd line. See the image.
* Tee robotti, jossa on kaksi valoanturia. Käytä toista anturia viivanseurantaan ja toisella lue viivaa kohtisuoraan olevia toisia viivoja, ja pysähdy kolmannelle.
* Use the line follower algorithm with other sensor, and the other sensor is used to stop after three perpendicular black lines.




This course is supported by [https://meet-and-code.org/ Meet and Code]. The course is made in collaboration with [http://www.fllsuomi.org/ Robotiikka- ja tiedekasvatus ry].
Kurssia tukee rahallisesti  [https://meet-and-code.org/ Meet and Code]. Kurssi on suunniteltu yhteistyössä [http://www.fllsuomi.org/ Robotiikka- ja tiedekasvatus ry]:n kanssa.
[[File:MeetAndcodeLogo.png|thumb]]
[[File:MeetAndcodeLogo.png|thumb]]


[[Meet and Code 2020 I: Ev3-G| Back to Meet and Code 2020 I: Ev3-G front page]]
[[Meet and Code 2020 I: Ev3-G| Takaisin Meet and Code 2020 I: Ev3-G -etusivulle]]

Latest revision as of 20:28, 15 September 2020

<languages/>

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.

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.

Takaisin Meet and Code 2020 I: Ev3-G -etusivulle