Diferencia entre revisiones de «Resolution basica lego 2016»

De Proyecto Butiá
Saltar a: navegación, buscar
(Resolución del problema)
(Ejecución del Robot en la pista)
 
(No se muestran 26 ediciones intermedias de 2 usuarios)
Línea 7: Línea 7:
 
El objetivo del práctico fue realizar un seguidor de líneas evadiendo obstáculos.
 
El objetivo del práctico fue realizar un seguidor de líneas evadiendo obstáculos.
  
== Sensores y Actuadores utilizados ==  
+
== Resolución del problema==
 +
 
 +
=== Sensores y Actuadores utilizados ===
  
 
*2 sensores de grises
 
*2 sensores de grises
Línea 15: Línea 17:
 
*2 ruedas fijas + 1 rueda loca
 
*2 ruedas fijas + 1 rueda loca
  
== Resolución del problema==
 
  
Se utilizaron dos motores, uno para cada rueda fija, y en la parte trasera se utilizo una rueda loca. Para implementar el seguidor de lÌneas se utilizaron dos sensores de grises, lo cu·les se ubicaron de forma tal que la línea negra a seguir quede entre ambos. Para evadir obst·culos se utilizaron dos sensores de distancia, uno ubicado delante del robot para ubicar los objetos en frente al mismo, y en un lado  para identificar al objeto mientras el robot lo esquiva. </br>
+
=== Descripción de la solución ===
El código implementado se hizo basado en comportamientos, en nuestro caso se tiene un comportamiento para las siguientes acciones: Moverse hacia adelante; Girar (ya sea en una curva o para enderezarse según la línea); Detectar Obstáculos (detectar el objeto delante y empezar a esquivar); Evadir Obstáculos (utilizado para girar sobre el obst·culo evadiéndolo).
+
[[Archivo:Butia2016-Pr1-Lego1.jpg |thumb |Robot utilizado para resolver el desafío]]
FORWARD
+
[[Archivo:Butia2016-Pr1-Lego2.jpg |thumb |Robot utilizado para resolver el desafío (Frente)]]
 +
[[Archivo:Butia2016-Pr1-Lego3.jpg |thumb |Robot utilizado para resolver el desafío (Costado)]]
 +
[[Archivo:Butia2016-Pr1-Lego4.jpg |thumb |Robot utilizado para resolver el desafío (Detrás)]]
 +
 
 +
Se utilizaron dos motores, uno para cada rueda fija, y en la parte trasera se utilizo una rueda loca. Para implementar el seguidor de líneas se utilizaron dos sensores de grises, lo cuáles se ubicaron de forma tal que la línea negra a seguir quede entre ambos. Para evadir obstáculos se utilizaron dos sensores de distancia, uno ubicado delante del robot para ubicar los objetos en frente al mismo, y en un lado  para identificar al objeto mientras el robot lo esquiva.
 +
 
 +
=== Código de la solución ===
 +
El código implementado se hizo basado en comportamientos, en nuestro caso se tiene un comportamiento para las siguientes acciones: Moverse hacia adelante; Girar (ya sea en una curva o para enderezarse según la línea); Detectar Obstáculos (detectar el objeto delante y empezar a esquivar); Evadir Obstáculos (utilizado para girar sobre el obstáculo evadiéndolo).
 +
 
 +
*FORWARD
 
Este es el comportamiento de menor prioridad y es el que hace avanzar al robot.
 
Este es el comportamiento de menor prioridad y es el que hace avanzar al robot.
TURN
+
*TURN
 
Cuando uno de los dos sensores de grises detecta la línea negra, el robot gira en la dirección del sensor que la detectó. El giro no se realiza sobre las ruedas, ya que se mueve un motor hacia adelante, y el otro hacia atrás al mismo tiempo para que el eje de giro sea m·s cercano al centro del robot.
 
Cuando uno de los dos sensores de grises detecta la línea negra, el robot gira en la dirección del sensor que la detectó. El giro no se realiza sobre las ruedas, ya que se mueve un motor hacia adelante, y el otro hacia atrás al mismo tiempo para que el eje de giro sea m·s cercano al centro del robot.
DETECT OBSTACLE
+
*DETECT OBSTACLE
Cuando el sensor de ultrasonido detecta un objeto delante del robot, Éste retrocede unos centímetros y comienza a girar hasta que el segundo sensor ultrasónico detecta el objeto obst·culo. Cuando realiza este giro se ignoran las líneas negras, ya que de no ser así el robot no podrÌa salir de la misma.
+
Cuando el sensor de ultrasonido detecta un objeto delante del robot, éste retrocede unos centímetros y comienza a girar hasta que el segundo sensor ultrasónico detecta el objeto obstáculo. Cuando realiza este giro se ignoran las líneas negras, ya que de no ser así el robot no podrÌa salir de la misma.
AVOID OBSTACLE
+
*AVOID OBSTACLE
 
Utilizando el segundo sensor de distancia ubicado a un lado del robot, mientras el sensor lee un objeto el robot avanza en línea recta, una vez que deja de detectar el obstáculo, el robot gira sobre su eje en la dirección del sensor hasta detectar el objeto nuevamente. Éste comportamiento permite que el robot se mueva en torno al obstáculo, lo cual permite que no dependa del tamaño del obstáculo. Cuando el robot detecta la línea negra con ambos sensores, se alinea y se continua con el comportamiento habitual.
 
Utilizando el segundo sensor de distancia ubicado a un lado del robot, mientras el sensor lee un objeto el robot avanza en línea recta, una vez que deja de detectar el obstáculo, el robot gira sobre su eje en la dirección del sensor hasta detectar el objeto nuevamente. Éste comportamiento permite que el robot se mueva en torno al obstáculo, lo cual permite que no dependa del tamaño del obstáculo. Cuando el robot detecta la línea negra con ambos sensores, se alinea y se continua con el comportamiento habitual.
 +
 +
 +
'''Para ver el código implementado visitar el siguiente repositorio: https://github.com/avasi/robedu2016-lego'''
 +
 +
 +
 +
=== Ejecución del Robot en la pista ===
 +
 +
El siguiente video muestra al robot evadiendo un obstáculo mientras sigue la línea negra. <br/><br/>
 +
 +
 +
<youtube>47XWeFVnzwE</youtube>

Revisión actual del 01:00 12 sep 2016

Integrantes

  • Andrés Vasilev
  • Maximiliano Kotvinsky

Objetivos

El objetivo del práctico fue realizar un seguidor de líneas evadiendo obstáculos.

Resolución del problema

Sensores y Actuadores utilizados

  • 2 sensores de grises
  • 2 sensores de distancia
  • 2 motores
  • 1 brick
  • 2 ruedas fijas + 1 rueda loca


Descripción de la solución

Robot utilizado para resolver el desafío
Robot utilizado para resolver el desafío (Frente)
Robot utilizado para resolver el desafío (Costado)
Robot utilizado para resolver el desafío (Detrás)

Se utilizaron dos motores, uno para cada rueda fija, y en la parte trasera se utilizo una rueda loca. Para implementar el seguidor de líneas se utilizaron dos sensores de grises, lo cuáles se ubicaron de forma tal que la línea negra a seguir quede entre ambos. Para evadir obstáculos se utilizaron dos sensores de distancia, uno ubicado delante del robot para ubicar los objetos en frente al mismo, y en un lado para identificar al objeto mientras el robot lo esquiva.

Código de la solución

El código implementado se hizo basado en comportamientos, en nuestro caso se tiene un comportamiento para las siguientes acciones: Moverse hacia adelante; Girar (ya sea en una curva o para enderezarse según la línea); Detectar Obstáculos (detectar el objeto delante y empezar a esquivar); Evadir Obstáculos (utilizado para girar sobre el obstáculo evadiéndolo).

  • FORWARD

Este es el comportamiento de menor prioridad y es el que hace avanzar al robot.

  • TURN

Cuando uno de los dos sensores de grises detecta la línea negra, el robot gira en la dirección del sensor que la detectó. El giro no se realiza sobre las ruedas, ya que se mueve un motor hacia adelante, y el otro hacia atrás al mismo tiempo para que el eje de giro sea m·s cercano al centro del robot.

  • DETECT OBSTACLE

Cuando el sensor de ultrasonido detecta un objeto delante del robot, éste retrocede unos centímetros y comienza a girar hasta que el segundo sensor ultrasónico detecta el objeto obstáculo. Cuando realiza este giro se ignoran las líneas negras, ya que de no ser así el robot no podrÌa salir de la misma.

  • AVOID OBSTACLE

Utilizando el segundo sensor de distancia ubicado a un lado del robot, mientras el sensor lee un objeto el robot avanza en línea recta, una vez que deja de detectar el obstáculo, el robot gira sobre su eje en la dirección del sensor hasta detectar el objeto nuevamente. Éste comportamiento permite que el robot se mueva en torno al obstáculo, lo cual permite que no dependa del tamaño del obstáculo. Cuando el robot detecta la línea negra con ambos sensores, se alinea y se continua con el comportamiento habitual.


Para ver el código implementado visitar el siguiente repositorio: https://github.com/avasi/robedu2016-lego


Ejecución del Robot en la pista

El siguiente video muestra al robot evadiendo un obstáculo mientras sigue la línea negra.