Está en la página 1de 27

Gua de manejo y uso del robot vex

Este tutorial permitir conocer el manejo del robot vex como manejarlo a travs del
joystick y/o de forma autnoma tambin como se ha manejado la forma inalmbrica y los
problemas que surgieron.
Primeramente veremos o describiremos fsicamente (hardware) al prototipo armado que
tenemos, sealando como van conectados los motores los switch etc.
Ms tarde veremos el uso del software easyC para crear programas para nuestro robot y
como cargarlos en l, y como estn creados los programas ya probados e instalados.

Hardware:
El cuerpo o chasis del robot est compuesto por barras de metal .
Presenta 4 motores que sostienen a las 4 ruedas, los motores son conectados al controlador
VEX mediante controladores de motor (motor controller).

El controlador central (cortex)


se sita al centro del vex sobre una placa metlica, en este controlador
se conectan los motores y switch que desees agregar, tambin dispone
de pines disponibles para seales digitales y anlogas, se puede
considerar la parte ms importante del robot, ya que aparte de conectar
los dems elementos del vex es donde implementas o cargas el programa.

En la parte superior cuenta con un puerto usb


para conectarlo al computador y poder cargar
los nuevos programas.

Bumper switch (interruptor de parachoques)


Es un pulsador que cuando presiona puede hacer que el robot para responder a lo
programado. Lo hace mediante el mantenimiento de una seal de alto en su puerto del
sensor, lo que significa que el interruptor de parachoques se apaga cuando no se presiona.

Limit Switch (final de carrera)


Se utiliza para determinar la proximidad de los equipos (la seccin Aplicaciones ilustra
algunos ejemplos). El final de carrera puede emitir slo dos seales: ON y OFF. Las fuerzas
externas, tales como colisiones, producen una seal digital ON, que permanece encendido
hasta que se suelta el brazo de palanca.

El mando joystick
Tiene dos joysticks analgicos de 2 ejes, 4 botones de disparo en la parte trasera y dos pads
direccionales de 4 botones en la parte superior. Tambin tiene un acelermetro que
proporciona valores de inclinacin XY. Que de momento nos sirve para manejar al de
forma almbrica o inalmbrica mediante las key vexnet 2.0.

El mando presenta una serie leds que nos muestran


el estado del joystick y marcas (nmeros) que
representan los grupos de botones.

Etiquetas de leds:
JOYSTICK: si esta roja significa que las bateras estn descargadas.
ROBOT: si esta rojo se detecto la batera del robot baja
o el
microcontrolador es incompatible
VEXnet: color rojo indica que no se ha detectado key vexnet.
GAME: se enciende de color verde al manejar el robot, el color rojo
indica un reinicio (se encienden todos los dems led en rojo)

CONFIG: es un botn de reinicio del joystick, sirve para calibrarlo nuevamente.


El joystick analgico izquierdo, tiene los ejes 3 y 4.
El joystick analgico derecho, tiene los ejes 1 y 2.

Los botones de la parte


trasera tienen 5 y 6.

Y los de la parte superior 7 y 8.

La key

VEXnet 2.0

Proporciona comunicacin inalmbrica entre controlador Cortex y VEXnet joysticks. Esta


clave utiliza el nuevo protocolo de comunicacin VEXnet 2.0 sobre un radio personalizada
2,4 GHz.

Manejo de software y programacin de vex.


Para programar el controlador vex tenemos la posibilidad de usar 2 software: RobotC y
easy C (instalador diponible versin 4218), ambos piden una licencia, pero easy C brinda
una licencia gratuita por una semana as que usaremos este software.
Tambien se necesita actualizar el firmware del controlador, el joystick y la key Vexnet
usando
VEXnet-Key-2.0-Update-Utility-Version-3.0-withInst y
VEXnetUpgradeV4.1.5.withInst

para no tener problemas de compatibilidad con el programa al compilar o al intentar usar el


wireless del joystick.
NOTA: actualmente estn actualizados y compatibles.
Cada uno de estos archivos tiene un manual de instrucciones propio.

Usando Easy C:

Al empezar a programar se debe escoger que tipo de programa ser implementado, joystick
Project nos sirve si queremos manejar el robot con el joystick vex o autonomous only
Project que nos permite generar una especie de rutina para el robot y este se mueva de
manera independiente.

Caractersticas principales de easy C


Cabe destacar que easy C es un software que permite la programacin por bloques haciendo
que sea ms fcil crear un programa, ya que puedes arrastrar las instrucciones definidas y
cambiar los parmetros usados.
Al iniciar un nuevo proyecto o programa, en pantalla por defecto aparecen las siguientes
estructuras.
Globals: aqu se puede declarar las variables globales que tendr el programa, ej: definir el
algn motor conectado con un nombre especfico.
BEGIN: sealiza el inicio de la ejecucin del programa (main).
Variables: se declaran las variables locales a usar.

Al

sector izquierdo existe una lista de comandos que se pueden utilizar, estos estn separados
por secciones algunas de las ms usadas son:

ProgramFlow: se encuentran las sentencias ms comunes de la programacin como los son


los if,whiles, wait, etc

Inputs: para los dispositivos que envan seales de entrada ej: limitswitch,
bumper swicth, line follower etc.

Outputs: para los dispositivos que necesitan seales de entrada, ej los motores

Joystick: (solo aparece en joystick project(wifi)) instrucciones para el manejo del robot a
travs del uso del joystick

Cdigos usados
Como primera prueba se busca darle movimiento autnomo al vex usando easy C para ello
de la lista de comandos a la izquierda en la seccin program Flow se arrastra la opcin
while, para crear un while infinito while(1), esto es para que las instrucciones dentro
del while se realizan constantemente al ejecutar el programa.

Luego se setean los motores para el movimiento arrastrando desde la seccin outputs la
opcin motor module donde se define el puerto donde este insertado el motor y la
potencia que tendrn que puede ser entre el intervalo de -127 y 127 en este caso se usa los
valores de 50 y -50.

Los nmeros de los puertos los


encontramos al borde de donde estn conectados los motores.
Puertos

Se puede ir cambiando los valores de la potencia de los motores para crear variacin en los
movimientos.

Al terminar el programa se debe compilar y descargar al controlador vex.


NOTA: se pueden crear funciones a partir de los movimientos que se van creando para
usarlo en otros programas ej: las direcciones derecha, izquierda, adelante, atrs y stop.
NOTA: al no poder modificar la velocidad de rotacin se cambia la potencia de los motores
en este caso entre el rango de -127 a 127.
El signo diferente har que los motores giren a la inversa esto sirve ya que al montar el
robot, 2 motores quedan opuestos a los otros 2.

Compilando y descargando nuestro programa al robot


Luego de terminar el primer programa de prueba se debe probar si funciona de manera
correcta en el robot para ello se debe compilar y descargar al controlador.

Con un cable USB se debe conectar el controlador (apagado


o sin la batera) al PC como se muestra en la imagen.

Luego en el easy C en el men de barra la parte superior se busca la opcin build and
download para descargar el programa al controlador.

Luego de
la
correcta
compilacin aparece el sgte aviso para descargar el programa al controlador.

Al sealar la respuesta SI aparece la siguiente ventana con la barra que muestra la


descarga, la forma de conexin y el master code del controlador .

Al finalizar la descarga aparece el sgte aviso que muestra que el programa se ha descargado
con xito.

NOTA: en caso de falla al descargar el programa puede suceder debido a la


incompatibilidad del master code, si esto sucede se debe actualizar el firmware
nuevamente.

Despus de compilar y descargar el programa, se enciende el robot (no olvidar conectar la


batera), puede darse el caso de que las ruedas giren en sentido contrario, esto se soluciona
cambiando los valores de la potencia de los motores en el programa, compilando y
descargando nuevamente.

Programa autnomo
Para crear el programa autnomo se agregaron 2 limit switch y 2 bumper switch a vex los
cuales fueron conectados al sector de seales digitales ya que estos sensores presentan 2
estados (1 y 0).

El programa autnomo funcionara de la sgte forma:


Bumpers
Si se toca el bumper izq el robot girara a la derecha
si te toca el bumper der el robot girara a la izq
si se toca ambos bumper el robot retroceder y luego se detendr un tiempo
Limit switch
Si se toca el limit izquierdo o derecho la velocidad aumentara
Si se toca ambos limit el robot se girara a la derecha y luego se detendra

Primero de la lista de comandos a la izquierda en la seccin program Flow se arrastra la


opcin while, para crear un while infinito while(1), esto es para que las instrucciones
dentro del while se realizan constantemente al ejecutar el programa.

Luego en
la
seccin variables se crean las variables locales limit_der, limit_izq, bumper_der y
bumper_izq que correspondern a los sensores agregados estos son creados como unsigned
int

NOTA: Tambin estn los tipos de dato int, char, unsigned char.
En la columna Name se agrega el nombre de la variable.
En la columna Value se desinga un valor por defecto.
En la columna Comment se agregan los comentarios para especificar la
variable.

Se toma desde la seccin inputs (lista de comandos a la izq) los limit y bumper switch
donde se abre una ventana nueva la que se define el puerto en el que estn insertados cada
sensor y la variable a la que ser asignada y se agrega dentro del while.

Luego se crean varios if para cumplir las condiciones descritas ms arriba.

Dentro de cada if se debe cambiar nuevamente las condiciones de los motores para que
cada caso produzca el movimiento deseado, en este caso se usan funciones creadas, y
tambin es agregada la funcin wait, la cual detiene el avance del cdigo un tiempo
medido en milisegundos (ej 2000ms = 2 segundos), para que detenga la ejecucin del
programa durante el tiempo deseado.

Tambin se puede setear los motores para el movimiento arrastrando desde la seccin
outputs motor module donde se desplega una una ventana en la cual se asigna el puerto
donde se inserto el motor y la potencia que tendr.

NOTA: como el robot tiene las ruedas fijas (sin eje) no puede girar, por lo tanto, para darle
movimiento al robot y que logre moverse a los lados hacemos que las ruedas de un sector
vayan ms lento disminuyendo la potencia de los motores.

Para cumplir con las condiciones indicadas para los limit switch, se debe modificar dentro
del if que usa los limit switch la potencia de los motores a 127 y -127 (estos son los
mximos valores permitidos) para aumentar la velocidad del robot.

Luego al terminar el programa se debe y descargar como fue explicado anteriormente.

Cualquier cambio que se desee realizar se debe corregir el cdigo, luego compilar y cargar
nuevamente en el controlador.

Uso del joystick y manejo del wireless


Para este caso se debe empezar un proyecto nuevo con la opcin joystick Project (wifi)
Al iniciar un programa en esta opcin aparece un nuevo bloque de comandos en la lista a la
izquierda llamado joystick.

Se muestran los posibles comandos para utilizar el


joystick

Actualmente el firmware del joystick, del controlador y de las key vexnet, estn
actualizadas, por lo tanto, ahora son compatibles y operativas.

Para empezar un nuevo programa se inicia nuevamente con un while infinito.

Al arrastrar el bloque JoysticktoMotor se abre una ventana donde se ingresa el puerto al


cual estn conectados los motores y si debe ser invertida o no la seal (recordar que hay 2
motores opuestos y estos si deben invertirse), se designa el nmero del mando que se
utilizara, como solo existe un mando o control en este caso es el nmero 1, luego se asigna
una funcin a cada joystick, referenciando cada eje a los motores (los ejes estn marcados
en el joystick con su nmero respectivo)

En este caso se
usaran los ejes 2 y
3 que
corresponden a
los ejes
verticales de
los joystick
analgicos
izquierdo y
derecho del
joystick vex.

Luego si se
desea probar se
va a la parte
superior build
and download
y se compila y
descarga.

Usando el joystick
El joystick se puede conectar al controlador mediante un cable USB para manejarlo de
manera almbrica.
Si se desea usar el wireless debemos conectar las key vexnet una al joystick y otra al
controlador.
Luego encender ambos y esperar de 5 a 10 segundos para que se sincronicen

NOTA: si el led etiquetado como joystick esta en rojo, significa que se debe cargar las
bateras y por lo tanto la funcin wireless se deshabilita. Si es necesario se puede conectar
con un cable usb el MANDO y el VEX, para continuar controlando el robot.

También podría gustarte