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 →
Category Archives: robot
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 →
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 →
Sigue líneas en LabVIEW: Máquinas de estado
Continuamos 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 →
Deteccion y esquiva de obstáculos: RobotC
Deteccion y navegación esquivando objetos
En artículos anteriores como el artículo sobre reconocimiento básico de objetos con OpenCV y el artículo sobre segmentación básica en OpenCV hemos visto cómo realizar una deteccion de objetos de un determinado color en una imagen, e incluso calcular sus puntos medios y distancias entre ellos. En el artículo de hoy vamos a aplicar todos estos conocimientos para realizar un ejemplo práctico en el que gracias a dos imágenes tomadas por la cámara sabremos dónde se encuentran dos bolas rojas respecto al Robot, y lograremos esquivarlas con el robot mientras se mueve en línea recta. Seguir leyendo →
Manejo de Ficheros en robotC
Una de las funcionalidades más pobres, peor implementadas, y con menor documentación de robotC es el manejo de ficheros. El manejo de ficheros es una herramienta muy útil que nos puede servir para guardar información y usarla con otros programas, independientemente de su lenguaje de programación. Por tanto es la universalidad de los ficheros la que nos permitiría comunicar robotC con otro programa de cualquier lenguaje. Sin embargo los creadores de robotC no vieron está utilidad cómo algo importante, y por tanto no han implementado la funcionalidad necesaria para el correcto manejo de ficheros. Seguir leyendo →
NXT Sonar 3D en RobotC
El objetivo de este experimento es lograr una representación de la visión que obtiene el robot mediante un movimiento del NXT sonar 3D, en dos ejes. Para ello se ha situado al sensor ultrasónico en una plataforma capaz de moverse con dos grados de libertad y se han realizado lecturas medidas en varias posiciones. Seguir leyendo →
Vehículos de Braitenberg en LeJOS
Tal y como vimos en el artículo de RobotC Vehículos de Braitenberg en RobotC los vehículos de Braitenberg fueron concebidos por el investigador Italo-Autriaco Valentino Braitenberg para ilustrar de manera evolutiva las habilidades de agentes simples. En el artículo de hoy implementaré un par de comportamientos de vehículos de Braitenberg en LeJOS. Seguir leyendo →
Bump-Go en RobotC
En el artículo de hoy voy a explicar el Bump Go en RobotC. El Bump Go es un programa en el que el robot se mueve aleatóriamente por una habitación esquivando obstáculos cuando los detecta. Puesto que el movimiento es aleatorio llegará un momento en que se haya movido por toda la habitación. Este tipo de robot ya existe, y tiene uso comercial, como la aspiradora Roomba, que es capaz de aspirarte la casa automáticamente. Seguir leyendo →
Introducción a la Robótica
La historia de la robótica es corta pero intensa. A lo largo de los últimos añs no solo se han desarrollado técnicas de programación nuevas, sino que también ha evolucionado la forma física de los robots. Un robot se compone tanto de la parte física como de la programación, pero esta última esta altamente condicionada por la primera. Por tanto en esta introducción a la robótica introduciré el concepto físico de un robot. Seguir leyendo →