El objetivo principal de este post es compartir con nuestos lectores los pasos para el diseño de un vehículo que sea capaz de evitar colisiones contra objetos, como preámbulo a los posts sobre diseño de robots basados en el kit de legos de Fischertechnik. Para explicar este ejemplo hemos utilizado un vehículo basado en el Robo Explorer, el cual es uno de los kits que distribuye fischertechnik.
Algunos de los kits de fischertechnik traen el manual de instrucciones sobre cómo armar este modelo. Hay kits que no lo traen. En esta entrada compartiré con ustedes la guía en PDF sobre cómo armar el Robo Explorer.
Estos documentos servirán de guía para cualquiera que desee armar el Robo Explorer tal como el que se muestra en la imagen de arriba. Nosotros decidimos construir el Robo Explorer, pero mientras lo armábamos nos dimos cuenta que al Kit que tenemos (el cual es prestado. Mil gracias, SENACYT) le hacía falta un pedacito de la cadena que se utiliza con las orugas laterales del vehículo. Debido a esto tuvimos que modificar la estructura del vehículo de tal forma que pueda utilizar una cadena más corta. Cuando consigamos el pedazo de cadena que nos hace falta esperamos publicar un post completo sobre el armado del Robo TX Explorer. Por lo pronto, este es el vehículo en el cual basaremos este post. Se parece un poco al Robo Explorer, pero definitivamente no es el Robo Explorer. Lo único que necesitamos para explicar lo que queremos es un vehículo con 2 motores que se pueda mover. Lo único que haremos será que el vehículo evite colisiones con objetos como paredes u obstáculos. En base a esto, presentamos el «pinout» que utilizamos para este proyecto: Ahora podemos empezar con la programación. Primero abrimos el RoboPro y agregamos un elemento de inicio de flujo. Antes debemos tomar en cuenta que el software debe estar en la interfaz Nivel 5: Objetos y el entorno debe estar configurado como Robo TX/TXT Controller. Dicho esto, tenemos la siguiente ventana. Ahora necesitamos agregar los elementos que le darán funcionamiento a este vehículo. Necesitamos agregar un elemento que nos permita obtener datos desde el sensor ultrasónico. Podemos agregar un elemento de visualización que nos permita visualizar las lecturas del sensor ultrasónico en la pantalla LCD. Para el sensor de temperatura, localizaremos una Entrada Universal, la cual configuraremos como sensor ultrasónico asociado al pin 8. Asociamos esta entrada universal a un elemento de visualización.
Ahora colocaremos una bifurcación, el cual es un elemento de decisión que permite tomar decisiones en base a datos. Lo que haremos será agregar una condición en la cual, si la distancia medida por el sensor es mayor a 10 centímetros, encenderá la lámpara con el color verde. Si la distancia medida es menor a 10 centímetros, entonces se encenderá la lámpara roja. El diagrama es el siguiente:
Básicamente utilizamos un elemento de decisión que tiene como entrada el valor leído por el sensor. Si este valor supera 10 cm, se ejecuta la línea de la izquierda (S). Cuando la distancia leída sea menor a 10 cm, se ejecuta la rama de la derecha (N). Cada rama hace exactamente lo mismo, pero de forma invertida. La rama de la derecha apaga la lámpara roja y enciende la verde. La rama de la izquierda apaga la verde y enciende la roja. El elemento de 0,1 segundos es un pequeño retraso designado para evitar que el controlador ejecute demasiadas acciones en poco tiempo. Es. básicamente, un «slow down» para evitar la saturación del Robo TX Controller. Si probamos el circuito tal como está, veremos que cuando la distancia medida por el sensor es menor a 10, enciende la lámpara roja. De lo contrario, enciende la lámpara verde. Veamos un video.
Ahora lo único que debemos hacer para completar la programación de nuestro circuito es agregar los elementos de control de motores. Con este esquema, el vehículo funcionará hasta el momento en el cual se encuentre con un obstáculo. En dicho caso, el vehículo se detendrá a 10 cm antes de llegar al obstáculo. Debemos tomar en cuenta que debido a la posición de los motores, uno debe girar en sentido horario y el otro en sentido antihorario para lograr que el vehículo avance.
Todo el proceso de la programación y la prueba de funcionamiento de este vehículo anti colisiones lo hemos documentado en el siguiente video:
Esperamos que la información suministrada sea de utilidad para todos y todas. Cualquier duda o comentario, por favor exprésalo en la seccion de comentarios.