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 →

Construcción de puentes de asalto

Existen varias alternativas para la construcción de puentes de asalto. El objetivo de los mismos es el de poder sortear brechas de cierta longitud en las que no existe un puente construido previamente. Dado que la misión principal suele ser apoyar un ataque, el puente debe ser construido a gran velocidad y, a ser posible, con el menos uso posible de recursos humanos. Su uso los limita normalmente a aplicaciones militares en tiempos de guerra. 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 →

NXT Blade Runner

bladerunnerYo he visto robots que vosotros no creeríais.
Atacar Mindstorms en llamas más allá de electricBricks.
He visto sensores de luz brillar en la oscuridad cerca de la puerta de la tienda.
Todos esos momentos se perderán en el tiempo, como un datalog mal guardado.
Es hora de apagarse.

Deteccion y esquiva de obstáculos: RobotC

DistanciaDeteccion 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 →

NXT Sonar 3D en RobotC con coordenadas esféricas

Coord_sysEl objetivo de este experimento es lograr una representación de la visión que obtiene el robot mediante un movimiento del sonar 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. NXT Sonar 3D en RobotC con coordenadas esféricas: haremos una representación transformando los datos obtenidos anteriormente a coordenadas esféricas. Seguir leyendo →

Manejo de Ficheros en robotC

ficheros en robotc - electricbricksUna 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 →