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 →

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 →

Reconocer objetos con OpenCV

Uno de los aspectos más importantes de la visión artificial es sin duda el reconocimiento de objetos, de patrones, o identificación de figuras y formas. Este reconocimiento puede ir desde ejemplos muy simples (reconocer en una imagen el único objeto de color rojo), hasta posibilidades muy complejas y útiles que aún hoy son prácticamente imposibles (como cámaras de aeropuerto que detecten terroristas automáticamente reconociendo su cara). Este problema plantea un gran reto, pero son infinitas sus posibilidades y aplicaciones. En un futuro se plantea que los robots humanoides tengan un sistema avanzado de reconocimiento de objetos, siendo capaz como los humanos de reconocer a las personas por sus caras, y los demás objetos de su entorno. Seguir leyendo →

LEGO Mindstorms NXT-G Programming Guide

En breve podremos disponer de la segunda edición de LEGO MINDSTORMS NXT-G Programming Guide. Esta edición cubre tanto al NXT-G 1.0 como al 2.0 e incluye ejercicios y sugerencias en cada capítulo orientados a los educadores que quieren emplear el NXT-G como un vehículo para la enseñanza de robótica o de los principios de programación. Seguir leyendo →