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 →
Category Archives: robot
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 →
Sonar mejorado en RobotC
En el artículo anterior vimos como implementar el sonar básico. En este artículo voy a trabajar un sonar mejorado en RobotC para que tenga una mayor funcionalidad, y se puedan observar mejor los objetos por pantalla. Para ello usaremos nuevas funciones del LCD del NXT, y seguiremos utilizando la trigonometría para mostrar de forma precisa objetos por pantalla. Seguir leyendo →
Sonar básico en RobotC
El sonar (del inglés SONAR, acrónimo de Sound Navigation And Ranging, ‘navegación y alcance por sonido’) es una técnica que usa la propagación del sonido bajo el agua (principalmente) para navegar, comunicarse o detectar otros buques. Veremos en este tutorial el sonar básico en RobotC.
Seguir leyendo →
Robot seguidor básico con ultrasonidos
Actualmente es posible crear robots avanzados que sean capaces de seguir a una persona guiándose por determinados patrones: como por el color de la ropa, su altura, … Aunque estos robots no tienen gran utilidad en la actualidad, es una funcionalidad que podría ser útil para complementar otras en un futuro. Con los LEGO Mindstorms NXT no es posible ser tan preciso, pero se puede conseguir un comportamiento parecido. Construiremos un Robot seguidor básico con ultrasonidos. Seguir leyendo →