Manejo de imágenes con LabVIEW

Cono_HSVEn artículos anteriores de Visión Artificial hemos visto cómo manejar y procesar imágenes con OpenCV. También hemos visto la dificultad de pasar de los cálculos en OpenCV a acciones del robot, ya que teníamos que guardar los datos en un fichero, descargarlos al NXT, y procesarlos con RobotC u otro entorno. Sin embargo es posible procesar imágenes con LabVIEW, lo que es de gran utilidad ya que desde LabVIEW podemos además manejar al NXT directamente. Esto nos puede servir para procesar las imágenes que tome una cámara en tiempo real, lo que tiene muchas aplicaciones prácticas. Seguir leyendo →

Marble Run en LabVIEW

Ya hemos visto en un artículo anterior una implementación de máquina de estados que nos permitía hacer un sigue líneas. Ahora vamos a utilizar el Template de máquina de estados que viene con LabVIEW para un poner en marcha nuestra marble run en LabVIEW. Este diseño se basa en el trabajo de Erling (Posibilidades del Datalog), aunque en este caso hemos utilizado un sensor de luminosidad para detectar la presencia de la bola y diferenciar el valor. Seguir leyendo →

Manejo simultaneo de varios NXT en LabVIEW

MiniNXTEn el artículo de hoy vamos a ver cómo conectarnos y realizar el manejo simultaneo de varios NXT en LabVIEW. Es un proceso algo complicado, y debido a las limitaciones propias del Bluetooth, poco fiable. Por tanto la mejor manera de que todo funcione bien es que el PC sea quién realice las conexiones y los cálculos, por lo que trabajaremos en LabVIEW orientado a PC y no a NXT (revisad el artículo LabVIEW orientado a PC o NXT. SubVIs). También explicaré al final cómo renombrar los NXT y descargar el firmware con LabVIEW. Seguir leyendo →

Crear bloques para NXT-G con LabVIEW

En alguna ocasión nos hemos preguntado por la posibilidad de crear un nuevo icono gráfico para aquella funcionalidad que nos gustaría ver implementada. En su momento explicamos cómo implementar funciones trigonométricas en NXT-G en dos artículos, dado que estas funciones no han sido implementadas. Existen una forma distinta de resolver el problema, y consiste en crear un icono nuevo de NXT-G que ejecute dicha función. Esto es posible mediante el uso de LabVIEW. Vemos, pues, hoy, cómo crear bloques para NXT-G con LabVIEW. Seguir leyendo →

Sigue líneas en LabVIEW: Máquinas de estado

maquina_de_estado_finitoContinuamos con la serie de artículos de LabView, esta vez con un programa un poco más complicado: Sigue líneas en LabVIEW: Máquinas de estado. Como sabréis, una máquina de estados finita o autómata finito es un sistema que dependiendo de unas entrada de datos, opera con ella y devuelve una salida. Hay muchas máquinas de estados que nos podemos encontrar en el día a día; por ejemplo las máquinas expendedoras son máquinas de estados, los semáforos son máquinas de estados, hasta los interruptores de luz de nuestra casa son una máquina de estados. Seguir leyendo →

Control de un gráfico en el PC con LabVIEW

El objetivo de este pequeño proyecto es crear en el ordenador una gráfica en dos dimensiones en la que presentaremos un punto cuyas coordenadas estarán controladas dinámicamente por los sensores de rotación de dos servomotores del NXT. Vamos a ver que es posible realizar el control de un gráfico en el PC con LabVIEW. Para ello introduciremos varios conceptos nuevos, que serán necesarios para entender el funcionamiento del programa. Aunque este nuevo programa no tiene ninguna finalidad en sí mismo, nos abrirá las puertas para la creación de proyectos más complejos. Seguir leyendo →

LabVIEW para usuarios del NXT (I)

LabVIEWLos programas escritos en LabVIEW se llaman Instrumentos Virtuales o VIs y se guardan con la extensión Vi. Al iniciar LabVIEW nos encontramos con la ventana de introducción. Si ya disponemos del LabVIEW, el primer paso para poder trabajar con LabVIEW sobre Mindstorms NXT es descargar el toolkit gratuito de National Instruments que lo permite. Esta expansión permite crear y descargar nuevos VIs que nos harán posible controlar el sistema NXT de LEGO. Seguir leyendo →

Robótica con LabVIEW, LEGO Mindstorms NXT y Tetrix

labVIEW y LEGO MINDSTORMS NXTLa investigación en el mundo de la robótica implica trabajar con aplicaciones complejas que permitan probar nuevas teorías o algoritmos. En este contexto son típicas las aplicaciones que deben capturar los datos procedentes de los sensores y procesarlos para, dependiendo de la aplicación, poder descubrir su ubicación en el entorno que rodea al robot y poder navegar en el mismo, controlando los motores, y evitando colisionar con los objetos que le rodean. Seguir leyendo →

GPS con NXT y LabVIEW

El GPS (Global Positioning System) es un sistema que permite determinar en todo el mundo la posición del receptor que recibe dichas señales. Dicho receptor puede formar parte del sistema de navegación de un coche, un avión, un ciclista, o un excursionista, y lo hace con una precisión habitual de varios metros, por lo que tiene tanto aplicaciones civiles como militares. Es posible incrementar la precisión del sistema mediante el uso del denominado GPS diferencial, aunque dicha posibilidad es normalmente empleada de forma exclusiva por sistemas militares. Veamos cómo trabajar el GPS con NXT. Seguir leyendo →