Tu primer robot MARK
Objetivo
Componentes
Necesitarás las siguientes piezas para ensamblar el robot:
- 1 x Cerebro
- 3 x Módulo 4 patrones
- 1 x Módulo 90° Extendido
- 2 x Actuadores Motores
- 1 x Rueda Omnidireccional
- 1 x Sensor de Distancia
- 3 x Cables RJ25
- 8 x Tornillos M4 x 16 mm
- 1 x Tuerca M4
Secuencia de ensamblado
Esquivador de objetos
Separa todas las piezas para ensamblar el robot
paso 01
Esquivador de objetos
Imagen: Motores
- En el encapsulado de los motores encontrarás 3 patrones para conectar módulos de construcción. Para esta configuración usaremos el que se encuentra debajo de la rueda.
- Presenta uno de los módulos de 4 patrones con el lado cónico (donde va el tornillo) mirando haca la rueda. En esta configuración lo usaremos girado 45° en sentido antihorario respecto al motor.
Ahora deberás usar 1 tornillo para asegurar el módulo de construcción. Luego ajústalo para que quede fijo. - Deberás repetir el proceso con el segundo motor y colocar ambos motor al cerebro como se muestra en la imagen 3 usando tornillos M4 de 16 mm.
paso 02
Esquivador de objetos
Imagen: Rueda omnidireccional
- Comienza ajustando un módulo de 90° extendido a la rueda omnidireccional.
Cuentas con 4 niveles de ajuste, pero en esta configuración usaremos el más cercano a la rueda.
Coloca una tuerca M4 en el módulo omnidireciconal y atornilla el módulo 90° extendido con un tornillo M4 x 16 mm. Puedes sostener la tuerca con tu dedo, el tornillo quedará justo a su altura. - Luego coloca el cerebro con las ruedas hacia arriba y utiliza 1 tornillo M4 x 16 mm para ajustar el ensamble anterior.
paso 03
Esquivador de objetos
Imagen: Sensor de distancia
- Ajusta un módulo 4 patrones al sensor de distancia como se muestra en la imágen 1. Utiliza 1 tornillo M4 x 16 mm.
- Luego ajusta el ensamble anterior al cerebro en su parte superior media. Utiliza 1 tornillo M4 x 16 mm.
paso 04
Esquivador de objetos
Imagen: Cables
- Conecta los motores en los puertos MA y MB (los motores van cruzados).
- Luego el sensor de distancia en el puerto A0.
(Encontrarás todos los puertos nombrados en el cerebro).
paso 05
Esquivador de objetos
Imagen: Robot completo
Felicitaciones, has ensamblado el esquivador.
Pasemos a definir la programación…
Software de Programación
Programación
Si aún no lo has instalado puedes ver el siguiente video:
Está todo pronto
Para programar, debemos pensar como dar órdenes para el robot y debemos pensar en como se debe comportar en distintas situaciones.
Objetivo:
Entonces podemos deducir que se trata de una acción que se va a repetir infinitamente, midiendo todo el tiempo distancias menores a 20 cm frente al sensor. El robot estará en constante movimiento usando 2 motores y si el valor del sensor es inferior a 20 cm entonces girará para evitar el obstáculo.
Esto ya nos da una buena idea de como armar el código:
paso 01
Lo puedes encontrar en la etiqueta.
Robots – MARK Extension – MARK
paso 02
Para ello usaremos el bloque “por siempre” de la paleta “Control” (la puedes encontrar en la parte izquierda del mBlock).
Control – Por siempre
paso 03
Lo encontrarás en la etiqueta
Control – “Si – Entonces – Si no”
paso 04
Podrás encontrarlas en la sección de “operadores”con bloques que tienen la misma forma.
En nuestro caso necesitamos que una medida del sensor sea menor que una distancia fija, por lo tanto nuestro bloque será el siguiente:
Operadores – Menor que
paso 05
A la izquierda del “menor que” necesitamos la medida del sensor de distancia, para ello usaremos el bloque “distancia” y puedes colocarlo en el espacio del operador “menor que”.
Robots – MARK Extension – Distancia
Los bloques se unen desde la izquierda, no de donde se hizo click, en caso que te sea difícil poder colocar el bloque en su contened.
paso 06
Si no hay nada a menos de 20 cm, entonces el robot debería de avanzar.
Para esto usaremos el bloque “mover hacia”.
Robots – MARK Extension – Mover hacia
El bloque mueve los motores hacia atrás o hacia adelante, usando la velocidad que le ingresemos.
La velocidad es un valor de 0 a 100 %.
Comenzaremos diciendo que el robot se mueva hacia adelante, a una velocidad de 80%.
Entonces primero le diremos que gire, para eso usaremos el bloque “girar”.
Robots – MARK Extension – Girar
El bloque hace que las ruedas se muevan en sincronía para poder hacer un giro, podemos definir hacia donde será: izquierda“ o “derecha”. Por último debemos decirle a que velocidad queremos que gire, para comenzar usemos 80%.
paso 07
Deberás conectar a MARK usando el puerto USB.
Ahora en el software debemos decirle al programa que placa y puerto de comunicación estamos usando en la computadora.
En el menú placas / selecciona Arduino UNO (ésta es parte del cerebro junto al shield de MARK).
–
(Usualmente verás solo 1, si es el único dispositivo que tienes conectado a la computadora).
Su nombres COM + ”número de puerto”
–
paso 08
Que puedes ver?
Analiza como está funcionado?
paso 09
El robot no retoma la marcha siempre igual y es que, siempre estamos midiendo una distancia < 20 cm. Al girar, esa distancia frente a un objeto va a cambiar, por lo que el robot pasa a marchar nuevamente. Por eso necesitamos que siga girando hasta que la distancia sea un poco mayor y asegurarnos que no volveremos a una situación de < 20 cm enseguida.
También podríamos hacer que una vez que se detecte al objeto, antes de girar, el robot retroceda un poco para evitar chocar contra el objeto (en el diseño de los robots te darás cuenta que dependiendo de como los armes, los comportamientos serán distintos)
paso 10
Haremos los cambios basados en las observaciones del paso 09.
Usaremos “mover hacia” para decirle al robot que se mueva hacia “atrás” a 80% de velocidad.
Luego usaremos lo que aprendimos y le daremos a la acción un tiempo de espera de 0.2 segundos, así nos aseguraremos que recorrerá algo de distancia.
Encontrarás el bloque “Esperar” en la etiqueta:
Control – “Esperar”
paso 11
Control – “Esperar hasta que”
Operadores – Mayor que
paso 12
Deberás conectar a MARK usando el puerto USB y presionar el botón de “subir a Arduino” nuevamente.
Felicitaciones !!
Tu primer MARK !!!
En este ejemplo utilizamos varias herramientas para hacer que el robot se adapte a nuestras necesidades y fuimos probando hasta conseguir el resultado que esperábamos.
Hemos utilizado conceptos básicos de lógica y matemática y los hemos puesto en práctica.