Diferencia entre revisiones de «Resolution basica lego 2016»
(→Resolución del problema) |
(→Ejecución del Robot en la pista) |
||
(No se muestran 5 ediciones intermedias de 2 usuarios) | |||
Línea 24: | Línea 24: | ||
[[Archivo:Butia2016-Pr1-Lego4.jpg |thumb |Robot utilizado para resolver el desafío (Detrás)]] | [[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 | + | 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 === | === Código de la solución === | ||
Línea 41: | Línea 40: | ||
'''Para ver el código implementado visitar el siguiente repositorio: https://github.com/avasi/robedu2016-lego''' | '''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> | <youtube>47XWeFVnzwE</youtube> |
Revisión actual del 01:00 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.