Robot sparring de entrenamiento III
Este es el último artículo de la serie dedicada a la construcción del robot sparring de entrenamiento Octopussy para defensa personal y artes marciales. Aquí voy a explicar el uso del software de control que acompaña al aparato y que permite diseñar una gama de rutinas de entrenamiento prácticamente ilimitada, dentro de las posibilidades del robot. Aquí tenéis el primer artículo de esta serie, en el cual os podréis descargar el ejecutable del programa, además del código fuente, por si queréis hacer vuestras propias modificaciones.
Hay que instalar dos programas diferentes. Uno de ellos se debe cargar en la placa Arduino, y el otro es una aplicación Windows, que será la que usemos para programar el robot. Lo primero que tenéis que hacer, si no lo tenéis ya, es descargar desde este enlace el software para cargar programas en las placas Arduino. En este enlace tenéis un tutorial sobre el manejo de ese software, por si no os basta con las indicaciones que voy a daros.
Una vez instalado el software Arduino, conectad la placa Arduino con el ordenador usando un cable USB. Esperad a que se instalen automáticamente los drivers y abrid en el panel de control de Windows la opción Dispositivos e impresoras. Veréis un dispositivo llamado Arduino Mega, con el nombre del puerto USB al que está conectado (por ejemplo, COM4), anotad este nombre de puerto, pues lo necesitaréis para configurar la aplicación (si conectáis la placa en otra conexión USB, este valor puede cambiar).
A continuación, descomprimid el ejecutable de Octopussy y buscar el archivo octopussy.ino en el subdirectorio Arduino/octopussy. Abridlo con doble clic y os parecerá algo como esto:
Abrid el menú Herramientas y desplegad la opción Placa: para seleccionar Arduino Mega o Mega 2560. A continuación, desplegad la opción Puerto: y seleccionad el puerto USB en el que esté conectada la placa Arduino. Para terminar, pulsad el botón que os he marcado en la imagen con un recuadro rojo y el programa se cargará en la placa Arduino. Con esto, la placa Arduino quedará lista para usar; ya no hay que volver a cargar el programa, a no ser que hagáis alguna modificación en el código fuente.
El ejecutable de control del robot es Octopussy.exe. Este es el aspecto que tiene la aplicación:
Tendréis que cambiar el valor de la casilla Puerto para poner el que corresponda a vuestra instalación. En el recuadro de la derecha, tenéis los dos tipos de elementos con los que se construye la programación: Bloques y Golpes. Los bloques sirven para contener una lista de golpes y otros bloques, son de tres tipos:
- Bloque aleatorio: se ejecutará uno solo de los elementos que contiene, que se elegirá de manera aleatoria.
- Bloque desordenado: se ejecutará todo su contenido, pero en un orden aleatorio.
- Bloque secuencial: se ejecutará todo su contenido en orden, empezando por el primer elemento.
Para empezar a construir la programación, seleccionad un bloque pulsando sobre él con botón izquierdo del ratón y arrastradlo hasta el recuadro vacío de la izquierda:
Debajo del recuadro de los golpes podéis ver la configuración del elemento seleccionado, en este caso el bloque. Los parámetros son los siguientes: Continuo indicará si el bloque se debe ejecutar un número infinito de veces (valor True, podréis pararlo usando un botón de la barra de herramientas). En caso de que queráis que se ejecute un número determinado de veces, dejad el valor False y usad el parámetro Repeticiones para indicar este número. El parámetro Aleatorio, que no se ve en la imagen, indica que este número de repeticiones será aleatorio, entre una vez y el valor que indiquéis. El parámetro Probabilidad sirve para indicar la probabilidad de que se ejecute el bloque si está dentro de un bloque aleatorio. Es un valor entre 0 y 1, con decimales (por ejemplo, 0,5 indica una probabilidad del 50%). Aseguraos de que la suma de las probabilidades de todos los elementos que contenga un bloque aleatorio sea 1. Por último, podéis escribir un Nombre y una Descripción para el bloque.
Para añadir un golpe dentro de un bloque, seleccionad primero el bloque en el recuadro de la derecha pulsando sobre él con el ratón. A continuación, seleccionad el golpe en el recuadro de la izquierda pulsando sobre él con el ratón y, finalmente, arrastradlo con el ratón al recuadro de la izquierda:
Pulsando sobre el golpe, podréis ver también sus parámetros de configuración. El parámetro Probabilidad es como el de los bloques. Solo se tiene en cuenta cuando el bloque que contiene el golpe es un bloque aleatorio. El parámetro Ejecución indica el tiempo que se debe activar el motor para este golpe. Cada unidad representa 200 milisegundos, por lo que un valor de 5 indicará un segundo completo y, un valor entre 2 y 3, aproximadamente medio segundo. Normalmente estos serán los valores que uséis (el máximo es 15, que son 3 segundos). Los golpes son rápidos, un segundo será ya demasiado en la mayoría de las ocasiones.
Los parámetros Inicial y Final sirven para poder configurar un tiempo de retardo antes y/o después de golpear, de manera que los golpes no sean demasiado seguidos unos de otros. Para configurarlos hay que desplegarlos:
Con el parámetro Activo activamos el retardo. El parámetro Máximo indica el número de milisegundos de espera (un segundo tiene 1000 milisegundos). Si activamos el parámetro Aleatorio, se debe indicar un valor mínimo y un valor máximo, y el programa esperará un número aleatorio de milisegundos entre estos dos valores. El parámetro Unidades es para cambiar el número de milisegundos que vale cada unidad de los parámetros mínimo y máximo.
Para eliminar un elemento o moverlo de lugar, se debe seleccionar primero el elemento y, a continuación, pulsar sobre él con el botón derecho del ratón, para desplegar un menú de opciones:
Cuidado con la opción de eliminar, el programa no tiene opción para deshacer.
Los controles de la barra de herramientas tienen el siguiente uso, de izquierda a derecha:
- Crear una nueva programación: borrará todo para empezar desde cero.
- Guardar: permite guardar la programación en el disco.
- Abrir: permite cargar una programación previamente guardada.
- Ejecutar: ejecuta el elemento que esté seleccionado, de manera que se pueden probar golpes o bloques individuales sin tener que ejecutar toda la programación.
- Parar: detiene la ejecución.
- Puerto: indica el puerto USB en el que se conecta el Arduino.
- Cuenta atrás: indica el número de segundos de espera antes de la ejecución, para que os de tiempo a colocaros ante el aparato.
Esto es todo con respecto al montaje y programación del robot, espero que paséis un buen rato montándolo y entrenando, aquellos que os animéis a hacerlo. ¡Hasta la próxima, gracias por leer!