PROGRAMACIÓN DE ROBOTS LEGO MINDSTORMS

Pablo Iván Romero De La Rosa
Leodegario G. Aguilera Hernández
Orlando Meza Zaleta

¡MUÉVETE!


Comienza en LabVIEW seleccionando un VI en blanco dirigido a NXT desde la pantalla de inicio. Hace esto porque quiere crear un programa que se ejecute en el controlador NXT y que controla el robot LEGO MINDSTORMS.

Para crear un programa para el robot LEGO MINDSTORMS ha seleccionado un VI en blanco o si está en la instancia principal de la aplicación, puede hacer clic derecho en el rectángulo en la parte inferior izquierda del panel frontal o diagrama de bloques que dice instancia de aplicación principal.
Después de hacer clic derecho, debería ver un menú.
Puede hacer clic en NXT Target: Unspecified, para cambiar a la instancia que se dirige al controlador NXT y ahora puede empezar a programar específicamente el controlador NXT.
La diferencia entre la instancia principal de la aplicación y la instancia NXT es que son diferentes las funciones que están disponibles en la instancia NXT y por lo tanto las paletas son ligeramente diferentes. Algunas funciones disponibles en la instancia principal de la aplicación no son compatibles con el NXT por lo que no aparecen en la paleta en la instancia NXT.
Comenzará a explorar la instancia dirigida al controlador NXT. Hacer clic derecho en el diagrama de bloques para que aparezca la paleta de funciones y luego seleccione el menú I / O NXT y verá una sub-paleta  que se utiliza muy a menudo en la programación de los robots LEGO MINDSTORMS.

Explorará algunos de los elementos de la sub-paleta de I / O NXT. Si se posiciona sobre estos iconos, puede utilizar la ayuda contextual para que le ayude en la comprensión de ellos.
Si se posiciona sobre el icono de control de motores, puede ver que la ayuda contextual le muestra lo que los puertos de entrada y de salida de esa función hacen.

Verá que hay dos terminales en este bloque, ambos llamados NXT. Hay una entrada y una salida NXT. En las unidades siguientes, aprenderá qué es esto, pero en pocas palabras, se utiliza para la secuencia de elementos juntos. También verá que hay una terminal de alimentación y una para el puerto de salida. El puerto de salida es donde le dirá al programa en qué puerto se encuentra el motor. Cuenta con un puerto de alimentación que le dice al programa la velocidad a la que el motor debe girar.
Seleccione el icono de control de motores y colóquelo en el diagrama de bloques.
           
Cuando se selecciona, el control del motor por defecto aparece seleccionado la opción de moverse en la dirección de avance. Donde dice: Fwd, también hay un selector para abrir un menú desplegable. Si da clic en el menú desplegable, puede ver que hay dos opciones.
El menú del Control del Motor tiene las opciones para hacer que el motor vaya en la dirección hacia adelante o hacia atrás. Esto puede ser útil si quiere hacer que el robot se mueva en diferentes direcciones. También está el menú de paro del motor, donde puede elegir que el motor se apague por inercia hasta detenerse o puede optar por detener inmediatamente el motor mediante la selección de freno. Utilizará el menú de paro del motor ampliamente en las unidades posteriores.
La mayoría de las funciones que va a utilizar van a tener este tipo de menú desplegable. Se le llama Selector polimórficos. Esto es sólo una forma elegante de decir que esta función se puede trabajar de manera diferente en diferentes situaciones. También puede notar que a medida que se posiciona sobre las diferentes opciones en el menú polimórfico, el contexto de ayuda cambia las descripciones.
En este caso, sólo quiere que el robot se mueva hacia adelante, así que dejará  su estado predeterminado. Ahora configurará el motor para hacer que el robot se mueva hacia adelante. Va a empezar por la creación de una constante para especificar la velocidad del motor. Como ya ha aprendido, hacer clic derecho sobre el terminal, seleccionar Crear y hacer clic en Constante. Ahora tiene la posibilidad de introducir el número de la velocidad del motor, que va desde 0 hasta 100. Es importante tener en cuenta que la velocidad óptima es de 75, por lo que si decide no seleccionar una velocidad usted mismo, LabVIEW selecciona la velocidad de 75 automáticamente.

Lo siguiente que tiene que hacer es especificar el puerto donde está ubicado el motor. Para ello, hacer clic derecho en la terminal del puerto de salida, y una vez más, seleccionar Crear y hacer clic en Constante. Esto crea un menú desplegable conectado al puerto de salida con un cable.
El menú por defecto selecciona todos los puertos. Si quiere especificar exactamente en qué puerto se encuentra el motor, hacer clic para abrir el menú desplegable y seleccionar el puerto. Este puerto es el mismo puerto al que está conectado el motor en el controlador NXT.

Si quiere que el robot se mueva hacia adelante, necesita controlar dos motores: uno para mover el motor unido a la rueda derecha, y otro para mover el motor unido a la rueda izquierda. Para ello, necesita tener dos funciones de control de motores, uno para cada motor.
Hay una forma rápida de duplicar una función en el diagrama de bloques: posicionarse sobre el objeto, pulsar Ctrl en el teclado, y hacer clic y arrastrar a donde quiera colocar el objeto.
Una vez que tiene las dos funciones de control de motores en el diagrama de bloques, tiene que asegurarse de que ha seleccionado los puertos adecuados para cada uno.
Una vez que ha conectado los motores a los mismos puertos que ha seleccionado en las terminales de control de motores, estará listo para ejecutar el programa y ver que el robot se mueva.
Ahora que tiene un programa funcional, debe trasladarlo a su controlador NXT y luego ejecutarlo. Ha examinado brevemente el controlador NXT al principio de esta unidad, así que va a aprovechar esta oportunidad para aprender sobre el controlador NXT en detalle.
El controlador NXT es el cerebro de los robots LEGO ® MINDSTORMS ®. Tiene un potente microprocesador de 32 bits y memoria Flash. Se muestra en la Figura 36.
El NXT puede obtener información de hasta cuatro sensores y tener el control de hasta tres servo motores, todo a través de sus 7 puertos. También tiene una pantalla LCD y cuatro botones. Los botones se utilizan para navegar por los menús del controlador NXT. El controlador NXT está alimentado por 6 baterías AA o una batería recargable.
Los dos botones de flecha gris se utilizan para navegar por los menús del controlador NXT. El botón de color naranja se utiliza para seleccionar objetos en el menú y el botón rectangular gris oscuro se utiliza para finalizar un programa o navegar en el menú principal del controlador NXT.
Puede transferir los programas del ordenador al controlador NXT mediante USB o Bluetooth. Comenzará por conectar al controlador NXT mediante un cable USB. Simplemente conecte un extremo del cable USB al controlador NXT y el otro al puerto USB de la PC. La primera vez que conecte un NXT en el PC, es importante ser paciente ya que el sistema operativo puede tomar hasta unos pocos minutos para instalar los controladores. Una vez que está conectado, necesita decirle a LabVIEW ™ dónde encontrar el controlador NXT. Hacer clic derecho sobre el cuadro de color naranja en la parte inferior izquierda de la ventana, y hacer clic en Buscar NXT.

Dado que el controlador NXT está conectado vía USB, puede ver que está en la lista. Hacer clic una vez para resaltarlo y hacer clic en Conectar para vincularlo con LabVIEW.
Verá entonces que la ventana se actualiza para mostrar el nombre, nivel de batería, y otra información sobre el controlador que está conectado.

Conectar el controlador NXT  al PC a través de Bluetooth es mucho más conveniente que la conexión mediante un cable USB, ya que elimina el uso de cables. Para conectarse al controlador NXT a través de Bluetooth, debe asegurarse que la PC tiene incorporado las capacidades de Bluetooth, o que tiene un adaptador Bluetooth USB instalado. A continuación, debe habilitar el Bluetooth de la PC o el adaptador Bluetooth.
Además, debe asegurarse de que el Bluetooth está activado en el controlador NXT. Para ello, tiene que seleccionar Bluetooth en el menú principal del controlador NXT.

Asegúrese de que Bluetooth está activado, seleccione el icono On / Off y seleccionar On. Una vez que Bluetooth está activado, el NXT lo llevará de vuelta al menú principal donde debe seleccionar Bluetooth. También debe asegurarse de que la visibilidad del NXT está habilitada para que su PC sea capaz de buscar. Para ello, entra en el menú Bluetooth de nuevo, seleccionar Visibilidad y seleccionar Visible.
Ahora que el Bluetooth está activo en el PC y en el controlador NXT, puede conectar con el controlador NXT a través de Bluetooth. Para conectar el controlador NXT, debe seguir un procedimiento similar a cuando se conecta a través de USB. Hacer clic derecho en el rectángulo naranja en la parte inferior izquierda de nuestra pantalla y hacer clic en Buscar NXT. Verá la misma ventana que vio anteriormente (Figura 34). Esta vez, hacer clic en Buscar para buscar dispositivos Bluetooth, y verá que LabVIEW realiza la búsqueda de dispositivos Bluetooth.
Hacer clic en el nombre del NXT para resaltarlo y, a continuación, hacer clic en Conectar. Si esta es la primera vez que el NXT se conecta al PC, el programa le pedirá que introduzca una clave de acceso antes de que el NXT pueda ser sincronizado con el PC.
Tiene que introducir "1234" como clave de acceso y seleccionar Aceptar. A continuación, se escucha un pitido y le pedirá que introduzca una clave en el controlador NXT. Una vez más, seleccionar "1234" mediante la navegación con los botones de flecha gris en el controlador y la selección con el botón naranja. Una vez que ha escrito "1234", se puede navegar hasta el icono de la marca de verificación y seleccionar con el botón naranja.
         
Una vez hecho esto, el sistema operativo se toma unos minutos para formar una conexión con el controlador NXT a través de Bluetooth. Luego tendrá la capacidad para compilar sus programas en el controlador NXT de forma inalámbrica.
Podrá explorar otras opciones del controlador NXT con LabVIEW mediante la selección de las herramientas del menú desplegable, seleccionar Herramientas NXT, y hacer clic en la Terminal del NXT.
Si hay múltiples NXT’s conectados, podrá seleccionar el controlador que necesite utilizando el menú desplegable. Esta ventana muestra el nivel de batería del NXT, la cantidad de espacio libre en su memoria, y su versión del firmware. La primera vez que ejecute un controlador NXT con LabVIEW, hay que actualizar el firmware, hacer clic en Actualización de firmware. Esto sólo debe hacerse cuando se conecta a través de USB. En la parte inferior o en la ventana, verá las operaciones de archivo. Aquí podrá ver todos los archivos existentes en el NXT. Es una buena idea para eliminar los programas anteriores de los controladores que ya no utiliza. Todos los archivos de software se encuentran en    formato”. RXE". Puede hacer clic en el archivo una vez para resaltarlo y luego haga clic en la eliminación de archivo (s) para eliminarlo. Además, puede hacer clic en el botón Desfragmentar para borrar parte de la memoria.
Ahora puede ejecutar programas en el NXT. Si se fija en la barra de herramientas de LabVIEW, verá que hay tres botones para ejecutar un programa, cada uno de los cuales  ejecuta el programa de forma ligeramente diferente. Estos tres botones son Ejecutar, Implementar y Depurar.
El botón Ejecutar compila el programa en el controlador NXT e inmediatamente se ejecuta. Si hace esto con el código que ha creado para hacer que el robot se mueva hacia adelante, verá que LabVIEW compila el software en el controlador NXT y el robot se moverá hacia adelante.
El botón Implementar compila y descarga el programa en el controlador NXT, pero no funciona hasta que se opte por ejecutarlo con los botones del controlador NXT. Esto es muy útil si quiere compilar el programa a través de USB y no hacer que se ejecute de inmediato, porque si el programa implica el movimiento del robot, el botón de ejecución  compila y ejecuta el programa, haciendo que el robot  empiece a moverse con el cable USB todavía conectado.
El tercer método para ejecutar un programa es la opción de Depuración. Se a hablará más sobre esto en los últimos capítulos, pero en esencia, la opción de Depuración mantiene el vínculo entre el programa LabVIEW en nuestro PC y el controlador NXT. Podrá usar esto para depurar el programa e interrogar para asegurarse de que funciona correctamente.
Seleccionando el botón Ejecutar o el botón de Implementa, podrá ejecutar el programa y ver que ha hecho que el robot se mueva hacia adelante. Ha creado con éxito su primer programa para el robot LEGO MIDSTORMS.
Taller: Hacer que el robot LEGO MINDSTORMS se mueva hacia atrás.

Volver al índice

Enciclopedia Virtual
Tienda
Libros Recomendados


1647 - Investigaciones socioambientales, educativas y humanísticas para el medio rural
Por: Miguel Ángel Sámano Rentería y Ramón Rivera Espinosa. (Coordinadores)

Este libro es producto del trabajo desarrollado por un grupo interdisciplinario de investigadores integrantes del Instituto de Investigaciones Socioambientales, Educativas y Humanísticas para el Medio Rural (IISEHMER).
Libro gratis
Congresos

17 al 31 de enero
I Congreso Virtual Internacional sobre

Economía Social y Desarrollo Local Sostenible

15 al 28 de febrero
III Congreso Virtual Internacional sobre

Desafíos de las empresas del siglo XXI

Enlaces Rápidos

Fundación Inca Garcilaso
Enciclopedia y Biblioteca virtual sobre economía
Universidad de Málaga