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 →
Las posibilidades del DataLog, by Erling
Al hablar de robótica inmediatamente nos imaginamos máquinas capaces de andar, de moverse o de actuar de forma inteligente. Muchas de ellas solo están, aún, en nuestra imaginación, otras las vamos realizando a pequeña escala con nuestro NXT. En este artículo trabajamos algo menos conocido, pero necesario, las posibilidades del DataLog. Seguir leyendo →
Reconocimiento de piezas de distintos colores (I)
En el artículo anterior vimos como, teniendo un conjunto de colores, hallar la distancia mínima entre ellos, lo que nos sirve para calcular posteriormente un umbral aceptable que nos sirve para distinguir distintos colores por su RGB. En este artículo vamos a aplicar estos conocimientos a un programa que sea capaz de detectar varias piezas de diferentes colores, algunos de ellos muy parecidos. Si fueramos capaces de distinguir una pieza de determinado color entre piezas de más de diez colores distintos sería una gran hazaña, pues significaría que el programa tendría muchas aplicaciones. Seguir leyendo →
Distancias entre colores de LEGO
En artículos anteriores hemos visto cómo diferenciar colores en una imagen. Por ejemplo, cuando en una imagen teníamos una pelota azul y una roja las podíamos distinguir por sus valores RGB sin mucho problema; en este caso nos valía con que tuviera un valor de rojo o azul alto y bajos los demás para saber si era roja o azul. Sin embargo, cuando tenemos muchos más colores el problema se complica. Por ejemplo, si hay dos tonos de rojo, ¿cómo sabemos si el píxel que acabamos de detectar pertenece a uno o a otro?. El problema se agrava teniendo en cuenta que tenemos que dejar un margen en los valores RGB del color que buscamos, ya que las condiciones de iluminación o la calidad de la foto pueden variar bastante estos valores. Seguir leyendo →
Control del NXT desde iPod Touch iPhone
Una de las cosas más reclamadas por los usuarios de NXT es la posibilidad de manejarlo remotamente desde el ordenador o desde un dispositivo móvil. El control remoto desde el ordenador ya es algo usado por todos, de hecho el Mindstorms NXT 2.0 ya la incluye dentro de su interfaz. Pero los usuarios pedían más movilidad, por eso, LEGO sacó hace un tiempo un programa que permitía a algunos teléfonos móviles controlar su robot mediante una sencilla interfaz gráfica (puede descargarse desde la página oficial de LEGO Mindstorms). Control del NXT desde iPod Touch iPhone: nuevas posibilidades para nuestro robot. Seguir leyendo →
Rueda loca
La rueda loca (caster wheel en inglés) es una rueda sin tracción, simple o doble, que puede girar libremente y que generalmente está situada en la parte inferior de una estructura. Se utiliza en carros de la compra, sillas de oficina o vehículos… como nuestro tribot NXT. Vamos a detenernos un momento a revsar este elemento mecánico tan utilizado. Seguir leyendo →
RobotC para MINDSTORMS 2.16 Beta
Acaba de lanzarse la versión RobotC para MINDSTORMS 2.16 Beta. La principal característica es el soporte para el Sensor de Color y el sensor de Temperatura por I2C, ambos de LEGO Education. Seguir leyendo →
Programación de robots por comportamientos
A la hora de ponerse a programar un robot hay muchos métodos distintos de programación, más o menos efectivos dependiendo del robot que queramos implementar. El método de programación mediante comportamientos es un método modular en el cuál vamos creando y añadiendo distintos comportamientos (seguir una línea, esquivar un obstáculo…). Estos comportamientos son independientes unos de otros, y en un principio podríamos utilizar todos los que queramos, incluso comportamientos creados por otra gente. La programación por comportamientos se basa en que hay un árbitro que decide qué comportamiento ejecutar en cada momento, dependiendo de las mediciones que tomen los sensores, o de si ya ha terminado la ejecución de otro comportamiento. Seguir leyendo →
Vehículos de Braitenberg en NXT-G
Siguiendo con la serie de artículos sobre los vehículos de Braitenberg en NXT-G, que ya vimos en los artículos Braitenberg en LeJOS y Braitenberg en RobotC, hemos querido ir un poco más allá haciendo un sistema de robots que, a modo de tren autónomo, buscan la luz de su compañero de delante para seguir el recorrido. Seguir leyendo →
Manejo simultaneo de varios NXT en LabVIEW
En 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 →