El segundo proyecto del curso consiste en diseñar, construir y programar un robot que sea capaz de entrar en un ambiente desconocido y recorrerlo en busca de víctimas heridas para rescatarlas, es decir, llevarlas fuera de dicho ambiente.
Dicho ambiente tendrá la forma de un laberinto y las víctimas que se encuentran en él tendrán cerca una etiqueta de colores que indicará el grado de gravedad de su estado, donde verde significa que no necesita rescate pues se encuentra bien y puede escapar solo, amarillo indica que requiere rescate pero no está en situación crítica, rojo quiere decir que la persona necesita rescate inmediato para salvarse y negro significa que la persona o ya ha fallecido o no tiene posibilidades de sobrevivir. El robot debe ser capaz de reconocer esta información y en función de ella establecer prioridades de rescate. Lo lógico sería que primero busque a los pacientes rojos, luego a los amarillos y por último a los verdes.
Ésta fué una explicación del proyecto completo, pero para la primera entrega del pasado lunes 24 de Enero lo que debíamos conseguir es crear un prototipo de robot que fuera capaz de avanzar y evitar chocar contra obstáculos.
Img 1. En ésta imagen se puede observar como fijamos los motores al chasis del carro, lo cual no fué trivial debido a que los mismos no tienen conexiones tipo Lego y no queríamos que quedaran flojos sino bien firmes.
A continuación una explicación detallada de cómo solucionamos el problema de fijar los motores:
>>>Img 3. Piezas necesarias para la base del motor.
El video con el procedimiento:
Img 6. Observando la gráfica Distancia Vs Intensidad de la Señal de salida, notamos que para dos valores diferentes de distancia el valor de la señal analógica puede ser el mismo, por tanto al digitalizar la señal podría surgir una ambigüedad: el objeto se encuentra a 3 cm, o a 18? (ver gráfica). Por lo tanto decidimos eliminar la región menos a 5 cm asegurándonos que el sensor nunca capte nada a menos de dicha distancia; ésto lo logramos colocando el sensor 5 cm "dentro" del chasis.
La programación para esta primera entrega fué muy sencilla: avanza, y si captas mediante el sensor infrarojo un obstáculo a cierta distancia, rota 90 grados a la derecha y sigue avanzando. Los detalles interesantes que podemos mencionar son las pruebas de calibración. Estamos en un mundo no ideal y por tanto los motores no son idénticos. Así que fuimos haciendo pequeñas variaciones en las veocidades de cada motor para tratar de lograr que el robot se moviera en línea recta y que realmente las rotaciones dueran de 90 grados.
Aquí podemos observar una prueba de calibración de giro:
En este video veremos el resultado final de esta primera entrega:
No hay comentarios:
Publicar un comentario