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

From wikiluntti
(Created page with "Kalibroitu anturi saa arvon (lähes) 100, kun se on valkoisella ja arvoja, jotka ovat lähellä nollaa (0), kun anturi on mustalla.")
 
(15 intermediate revisions by the same user not shown)
Line 32: Line 32:
Kalibroitu anturi saa arvon (lähes) 100, kun se on valkoisella ja arvoja, jotka ovat lähellä nollaa (0), kun anturi on mustalla.
Kalibroitu anturi saa arvon (lähes) 100, kun se on valkoisella ja arvoja, jotka ovat lähellä nollaa (0), kun anturi on mustalla.


==== Using the timer/ rotation angle ====
==== Ajatin / kiertokulma ====


By using the timer we can drive past the black line, and again look for the next black line. After finding the third one, we stop. This can be done in a loop, also. Usually, if you need to repeat the code, use a loop instead of copying the same script again.
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).




==== Using flip flop circuit ====
==== Flip-flop-algoritmi ====


The idea of the flip flop is that first we flip the state to black, and then after finding white we flop the state back to white. Note that the sensor continuously measures the reflectance.
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.




=== Example Code ===
=== Esimerkkikoodi ===


The example codes with two different algorithms are shown.
Esimerkkikoodi molemmista eri tavoista on alla.


==== Using the timer ====
==== Ajastimella ====


The timer based code is rather reliable and works perfectly even on difficult environments. The timer can be replaced by the rotation angle.
Ajastinkoodi on melko luotettava ja toimii hyvin myös vaikealla kentällä. Ajastin on helppo muuttaa myös kiertokulmaksi.


[[File:Stop3rline I.png|thumb|The timer code.]]
[[File:Stop3rline I.png|thumb|Ajastinkoodi.]]


==== Using the flip flop algorithm ====
==== 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