Sankakkei-Bot, Seguidor de línea, Fase V
Introducción:
En fase V de desarrollo del robot seguidor de línea
Sankakkei, ahora se especificaran los últimos cambios hechos en el robot, los
cuales incluyen modificaciones tanto en aspectos de software como en aspectos
de hardware. Todos estos cambios se apoyaran con medios visuales y además se
describirán los programas y algoritmos que se han implementado a la fecha,
mostrando sus respectivos diagramas de flujo. También se dará a conocer el
código final del robot con su diagrama de bloques y se describirán diferentes
criterios de prueba de código como la pista de prueba o comprobaciones de
código. Así mismo, al final del documento se presentaran las conclusiones de
esta entrega.
Cambios finales en el robot Sankakkei:
Primer cambio, sensores:
El cambio más importante en el Sankakkei fue la disposición de los sensores. En la entrega anterior el Sankakkei constaba de un total de seis sensores, dos en la parte delantera, dos en la parte central, y por último, dos en la parte trasera, sin embargo, esta acomodación fue cambiada, ya que con la asesoría del profesor Julio, se determinó que los dos sensores centrales eran innecesarios ya que generaban cierto margen de error y conflicto. Además, los sensores al estar separados en una disposición más o menos cuadrangular, generaban errores de ubicación en el robot, así, se reacomodaron de una manera óptima para su uso.
Segundo cambio, programación:
Las programaciones anteriores del robot Sankakkei
incluían bastantes líneas de código utilizando un número alto en condicionales,
sin embargo cuando el robot verificaba todas las condicionales era el momento
en el que se generaban los errores, por esto se decidió disminuir el número de
condicionales y comenzar a programar condicionales tipo exclusa, para así, cuando
un condicional se cumpla, se ejecute el código dentro de este y no se activen
otros condicionales sin sentido. Esto se hace con el fin de evitar que
diferentes valores se sobrescriban en los motores y los modifiquen, generando
errores.
Algoritmo anterior:
Link al código: https://drive.google.com/file/d/16QB0lbS77SRm63GtLePJb_T0EG0UWVEV/view?usp=sharing
Algoritmo nuevo:
https://drive.google.com/file/d/1Ktix7sjOThYkV22zqAIw_QBicbkXOs9i/view?usp=sharing
Tercer cambio, implementación en el cableado interno:
En el anterior cableado los cables eran largos y se
tenían que recoger, lo que generaba incomodidad visual y/o errores de diseño
visual en el robot Sankakkei, dando una perspectiva desordenada, lo que ahora
se ha arreglado a través del uso de Jumpers y de optimización de cables.
Anterior
diseño:
Nuevo diseño:
Criterios para la plataforma de
prueba:
Con el fin de comprobar el funcionamiento tanto de
hardware como de software del robot, se construyó una pista personalizada
siguiendo los parámetros dados en la IEE. Como la pista es solo de pruebas, se buscó
una manera sencilla y eficaz para emular curvas reales, así, se creó una pista
basada en las pistas de Nascar.
Imagen
tomada de: https://www.tripadvisor.co/ShowUserReviews-g54917-d1736248-r257119598-Bristol_Motor_Speedway-Bristol_Tennessee.html
El criterio de selección para este tipo de pista fue que esta presenta curvas marcadas y tramos rectos, lo que es una buena prueba para el robot en cualquiera de las dos situaciones, permitiendo conocer el equilibrio del robot en tramos rectos y la capacidad de este para dar vueltas. Las dimensiones dadas fueron de 30 cm por curva y un grosor de línea de 2.03 cm, teniendo la pista una forma semi ovalada.
Imagen
tomada de: https://www.istockphoto.com/es/vector/diseño-de-circuito-de-carretera-ovalado-pista-de-autos-diseño-vectorial-gm1182480676-332061658
Diagrama de bloques, robot Sankakkei:
Ya que el anterior diagrama de bloques quedo desactualizado con las modificaciones que se han hecho a travez del tiempo al robot, a continuación se muestra el nuevo diagrama de bloques:
Tres algoritmos implementados en
el robot Sankakkei:
Algoritmo uno:
Algoritmo dos:
El segundo algoritmo probado fue el primer prototipo en el robot Sankakkei, relacionando la programación anterior de encendido de LEDS con los sensores CNY70, todavia sin utilizar los motores, fue utilizado para que cuando el robot detectara la linea negra, se encendiera un LED desde el lado del sensor en el que se detecto, esto con el fin de probar los sensores.
Link al codigo:https://drive.google.com/file/d/1L9ArdMOT80LSdriFV3i7rqpvT9VoBa_b/view?usp=sharing
Algoritmo tres:
Primer prototipo de programación funcional en el robot Sankakkei, utilizando motores y relacionando el encendido de luces LED con la entrada en los sensores CNY70 para así tener una visión definida de las recepciones del robot, después el código fue mejorado para evitar errores o desfaces.
https://drive.google.com/file/d/1PVmS5xLh5F41NLbrupdGI0EQWGmPYpkI/view?usp=sharing
Conclusiones:
Esta entrega se reconoce como efectiva, ya que gracias a esta los estudiantes corrigieron diferentes errores que se presentaban al ejecutar el programa y poner en practica el robot, ademas se optimizaron diferentes aspectos que generaban conflicto en el robot Sankakkei. Se obtuvo experiencia acerca de como la acomodación de los sensores puede afectar el funcionamiento del robot Sankakkei, ademas de la programación de condicionales tipo exclusa, que fue utilizada para evitar que el robot verificara condicionales al mismo tiempo y sobrescribiera los motores, generando errores de acomodación, de curvas y entre otros. Por esto, una fase de rectificación y de optimizacion es necesaria, ya que ayuda a mejorar y finalizar el producto final.
Comentarios
Publicar un comentario