Diferencia entre revisiones de «Resolution basica lego 2016»
(→Ejecución del Robot en la pista) |
(→Ejecución del Robot en la pista) |
||
Línea 46: | Línea 46: | ||
=== Ejecución del Robot en la pista === | === Ejecución del Robot en la pista === | ||
− | El siguiente video muestra al robot evadiendo un obstáculo mientras sigue la línea negra. | + | El siguiente video muestra al robot evadiendo un obstáculo mientras sigue la línea negra. <br/> |
<youtube>47XWeFVnzwE</youtube> | <youtube>47XWeFVnzwE</youtube> |
Revisión del 00:58 12 sep 2016
Contenido
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
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.