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 →

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 →

Vehículos de Braitenberg en LeJOS

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

Control de un gráfico en el PC con LabVIEW

El objetivo de este pequeño proyecto es crear en el ordenador una gráfica en dos dimensiones en la que presentaremos un punto cuyas coordenadas estarán controladas dinámicamente por los sensores de rotación de dos servomotores del NXT. Vamos a ver que es posible realizar el control de un gráfico en el PC con LabVIEW. Para ello introduciremos varios conceptos nuevos, que serán necesarios para entender el funcionamiento del programa. Aunque este nuevo programa no tiene ninguna finalidad en sí mismo, nos abrirá las puertas para la creación de proyectos más complejos. Seguir leyendo →

Vehículos de Braitenberg en RobotC

FrontalLos vehículos de Braitenberg fueron concebidos por el investigador Italo-Autriaco Valentino Braitenberg para ilustrar de manera evolutiva las habilidades de agentes simples. Los vehículos representan la forma más simple de inteligencia artificial basada en comportamientos o conocimiento corporal, por ejemplo el comportamiento inteligente que surje de la interacción sensor-motor entre el agente y su entorno, sin necesidad de una memoria interna, representación del entorno, o inferencia. Hoy probamos los vehículos de Braitenberg en RobotC. Seguir leyendo →

Bump-Go en RobotC

Bump&Go2En 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 →

Sonar mejorado en RobotC

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