Difference between revisions of "Seguidor de línies virtual"

From Edutec Wiki
Jump to: navigation, search
Line 1: Line 1:
  
Un '''seguidor de línies''' és un rastrejador que té com a objectiu, com el mateix nom indica, seguir una línia dibuixada, per exemple, d’un color més fosc situada sobre un fons d’un color més clar. El rastrejador funciona mitjançant els sensors. En funció de la complexitat del recorregut, són necessaris més o menys sensors.
+
[[File:Seguidor1.png|border|left|400px]]Un '''seguidor de línies''' és un rastrejador que té com a objectiu, com el mateix nom indica, seguir una línia dibuixada, per exemple, d’un color més fosc situada sobre un fons d’un color més clar. El rastrejador funciona mitjançant '''sensors'''. En funció de la complexitat del recorregut, són necessaris més o menys sensors.
  
Distingim entre seguidors de línies virtuals i reals. En l’exemple que durem a terme treballem un seguidor de línies virtual. Aquest exercici permet introduir alguns conceptes bàsics de robòtica, com són els sensors, la presa de decisions amb un mecanisme de control o la resposta per modificar el comportament del sistema.
+
Existeixen seguidors de línies virtuals i reals. Aquesta pràctica construeix un seguidor de línies '''virtual '''per a introduir alguns '''conceptes bàsics de robòtica''', com són els sensors, la presa de decisions amb un mecanisme de control o la resposta per modificar el comportament del sistema.
  
== Seguidor de línies virtual amb ''Snap!'' ==
+
L’exemple es pot  trobar en [https://snap.berkeley.edu/snapsource/snap.html#present:Username=edutec&ProjectName=Seguidor%20línies aquest enllaç].
  
L’exemple que seguirem serà el Seguidor de línies que es pot  trobar en [https://snap.berkeley.edu/snapsource/snap.html#present:Username=edutec&ProjectName=Seguidor%20línies aquest enllaç]
+
 
  
  [[File:Seguidor1.png|RTENOTITLE]]
+
 
<p style="text-align: justify">El&nbsp; robot incorporats una sèrie de sensors, que van a sobre d'ell i que són els que saben detectar els paràmetres físics, en aquest cas un canvi de color o un canvi de contrast.</p> <p style="text-align: justify">L'aproximació a la realització del seguidor de línies amb <span class="hiddenSpellError">Snap</span>! és més semblant a un robot físic que la mateixa versió amb <span class="hiddenSpellError">Scratch</span>. Per fer-ho s'aprofiten dues característiques úniques <span class="hiddenGrammarError">d'</span><span class="hiddenSpellError">Snap</span>!, com són la possibilitat de vincular objectes i la comunicació entre ells.<br/> Si observem amb deteniment el projecte es compon del robot "Robot" i dos sensors "Sensor Dret" i "Sensor Esquerra" vinculats al robot. Per veure com es vinculem consulteu la introducció a ''Snap!''.</p> <p style="text-align: justify">Ara que tenim els dos sensors, hem de veure com aquest enviem la seva informació al nostre robot. Per això fem servir altra característica de l'<span class="hiddenSpellError">Snap</span><span class="hiddenGrammarError">! què</span> és la possibilitat de preguntar a un altre objecte. És fàcil saber si un objecte toca un altre fent servir el bloc "tocant ...", si ho fem amb el sensor dret per exemple, obtenim el següent resultat:</p> <p style="text-align: justify">[[File:Seguidor4.png|RTENOTITLE]][[File:Seguidor5.png|RTENOTITLE]]</p> <p style="text-align: justify">&nbsp;</p> <p style="text-align: justify">La clau està es que el robot pugui preguntar als sensor si estan tocatn el camí. Per fer-ho es fa servir el bloc "pregunta ... per ..." que es pot trobar a control i que demana&nbsp;un sprite (objecte) i una expressió lambda (una funció a la qual poden cridar).'''&nbsp; '''La icona de ''Snap! ''ve d'aquesta característica i fent una mica de recerca sobre expressió lambda a Internet es pot esbrinar perquè el personatge de l'''Scratch'' es diu Alonzo.</p> <p style="text-align: justify">[[File:Seguidor3.png|RTENOTITLE]]</p> <p style="text-align: justify">El bloc&nbsp; "tocant ..." dels sensor retorna si aquests toquem o no un&nbsp; altre objete.&nbsp; En el nostre cas es necessari sber si el sensor tocan el camí per tal de fer un moviment per ajustar la trajectoria. Si ho fem amb el sesor dret tindioem el següent codi:</p> <p style="text-align: justify">[[File:Seguidor6.png|RTENOTITLE]][[File:Seguidor5.png|RTENOTITLE]]</p> <p style="text-align: justify">&nbsp;</p> <p style="text-align: justify">Ara només resta fer servir un parell de blocs d'esdeveniment del tipus "Quan..." i respondre a la detecció del camí amb un lleuger gir del robot (com si s'activessin els motors) en el sentit adequat:</p> <p style="text-align: justify">'''&nbsp;[[File:Seguidor2.png|RTENOTITLE]]'''</p> <p style="text-align: justify">El robot es mou, que és el que sap fer, i va preguntant als sensors si està&nbsp;tocant la linea, que és el que saben fer. Quan el sensor esquerra la toca, el robot &nbsp;gira una mica en aquesta direcció, quan toca el dret fa el contrari.</p>  
+
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
== &nbsp; ==
 +
 
 +
== Seguidor de línies virtual amb '''Snap!''' ==
 +
 
 +
Un robot pot tenir&nbsp;incorporats uns sensors que van a sobre d'ell i que són els que saben detectar els paràmetres físics, en aquest cas un canvi de color o un canvi de contrast.
 +
<p style="text-align: justify">L'aproximació a la realització del seguidor de línies amb '''<span class="hiddenSpellError">Snap</span>!'''&nbsp;té semblances amb un de real.&nbsp;Per fer-ho s'aprofiten dues característiques úniques <span class="hiddenGrammarError">de&nbsp;</span>[[Introducció_a_Snap!|<span class="hiddenSpellError">Snap</span>!]], com són la possibilitat de vincular objectes i la comunicació entre ells.</p> <p style="text-align: justify"><br/> El projecte es compon del robot "Robot" i dos sensors "Sensor Dret" i "Sensor Esquerra" vinculats al robot.</p> <p style="text-align: justify">Ara que tenim els dos sensors, hem de veure com aquest enviem la seva informació al nostre robot. Per això fem servir altra característica de l'<span class="hiddenSpellError">Snap</span><span class="hiddenGrammarError">! què</span> és la possibilitat de preguntar a un altre objecte. És fàcil saber si un objecte toca un altre fent servir el bloc "tocant ...", si ho fem amb el sensor dret per exemple, obtenim el següent resultat:</p> <p style="text-align: justify">[[File:Seguidor4.png|RTENOTITLE]][[File:Seguidor5.png|RTENOTITLE]]</p> <p style="text-align: justify">&nbsp;</p> <p style="text-align: justify">La clau està es que el robot pugui preguntar als sensor si estan tocatn el camí. Per fer-ho es fa servir el bloc "pregunta ... per ..." que es pot trobar a control i que demana&nbsp;un sprite (objecte) i una expressió lambda (una funció a la qual poden cridar).'''&nbsp; '''La icona de ''Snap! ''ve d'aquesta característica i fent una mica de recerca sobre expressió lambda a Internet es pot esbrinar perquè el personatge de l'''Scratch'' es diu Alonzo.</p> <p style="text-align: justify">[[File:Seguidor3.png|RTENOTITLE]]</p> <p style="text-align: justify">El bloc&nbsp; "tocant ..." dels sensor retorna si aquests toquem o no un&nbsp; altre objete.&nbsp; En el nostre cas es necessari sber si el sensor tocan el camí per tal de fer un moviment per ajustar la trajectoria. Si ho fem amb el sesor dret tindioem el següent codi:</p> <p style="text-align: justify">[[File:Seguidor6.png|RTENOTITLE]][[File:Seguidor5.png|RTENOTITLE]]</p> <p style="text-align: justify">&nbsp;</p> <p style="text-align: justify">Ara només resta fer servir un parell de blocs d'esdeveniment del tipus "Quan..." i respondre a la detecció del camí amb un lleuger gir del robot (com si s'activessin els motors) en el sentit adequat:</p> <p style="text-align: justify">'''&nbsp;[[File:Seguidor2.png|RTENOTITLE]]'''</p> <p style="text-align: justify">El robot es mou, que és el que sap fer, i va preguntant als sensors si està&nbsp;tocant la linea, que és el que saben fer. Quan el sensor esquerra la toca, el robot &nbsp;gira una mica en aquesta direcció, quan toca el dret fa el contrari.</p>  
 
== Variant amb ''Scratch'' ==
 
== Variant amb ''Scratch'' ==
  

Revision as of 00:26, 18 June 2019

Seguidor1.png
Un seguidor de línies és un rastrejador que té com a objectiu, com el mateix nom indica, seguir una línia dibuixada, per exemple, d’un color més fosc situada sobre un fons d’un color més clar. El rastrejador funciona mitjançant sensors. En funció de la complexitat del recorregut, són necessaris més o menys sensors.

Existeixen seguidors de línies virtuals i reals. Aquesta pràctica construeix un seguidor de línies virtual per a introduir alguns conceptes bàsics de robòtica, com són els sensors, la presa de decisions amb un mecanisme de control o la resposta per modificar el comportament del sistema.

L’exemple es pot  trobar en aquest enllaç.

 

 

 

 

 

 

Seguidor de línies virtual amb Snap!

Un robot pot tenir incorporats uns sensors que van a sobre d'ell i que són els que saben detectar els paràmetres físics, en aquest cas un canvi de color o un canvi de contrast.

L'aproximació a la realització del seguidor de línies amb Snap! té semblances amb un de real. Per fer-ho s'aprofiten dues característiques úniques de Snap!, com són la possibilitat de vincular objectes i la comunicació entre ells.


El projecte es compon del robot "Robot" i dos sensors "Sensor Dret" i "Sensor Esquerra" vinculats al robot.

Ara que tenim els dos sensors, hem de veure com aquest enviem la seva informació al nostre robot. Per això fem servir altra característica de l'Snap! què és la possibilitat de preguntar a un altre objecte. És fàcil saber si un objecte toca un altre fent servir el bloc "tocant ...", si ho fem amb el sensor dret per exemple, obtenim el següent resultat:

RTENOTITLERTENOTITLE

 

La clau està es que el robot pugui preguntar als sensor si estan tocatn el camí. Per fer-ho es fa servir el bloc "pregunta ... per ..." que es pot trobar a control i que demana un sprite (objecte) i una expressió lambda (una funció a la qual poden cridar).  La icona de Snap! ve d'aquesta característica i fent una mica de recerca sobre expressió lambda a Internet es pot esbrinar perquè el personatge de l'Scratch es diu Alonzo.

RTENOTITLE

El bloc  "tocant ..." dels sensor retorna si aquests toquem o no un  altre objete.  En el nostre cas es necessari sber si el sensor tocan el camí per tal de fer un moviment per ajustar la trajectoria. Si ho fem amb el sesor dret tindioem el següent codi:

RTENOTITLERTENOTITLE

 

Ara només resta fer servir un parell de blocs d'esdeveniment del tipus "Quan..." i respondre a la detecció del camí amb un lleuger gir del robot (com si s'activessin els motors) en el sentit adequat:

 RTENOTITLE

El robot es mou, que és el que sap fer, i va preguntant als sensors si està tocant la linea, que és el que saben fer. Quan el sensor esquerra la toca, el robot  gira una mica en aquesta direcció, quan toca el dret fa el contrari.

Variant amb Scratch

El present exercici es presenta mitjançant la programació amb Snap!. El mateix exercici es pot seguir amb Scratch a Seguidor de línies virtual amb Scratch. També tenim l'opció d’importar el projecte creat amb Scratch a l’Snap! i aconseguir així exactament el mateix programa traduït amb el software d’Snap! a través del següent enllaç.