Manejo de tareas en LeJOS: clase Arbitrator

arbitroEn el los artículos Control de tareas en RobotC y Control de prioridades de tareas en RobotC vimos como manejar tareas en RobotC. En este artículo vamos a ver el manejo de tareas en LeJOS: clase Arbitrator. La mejor forma de manejar las tareas y sus prioridades en LeJOS es mediante la clase Arbitrator. Este método consiste en crear unas tareas denominadas comportamientos, no muy complejas, que en su conjunto crearán el programa que deseemos implementar. Seguir leyendo →

Sigue líneas con visión, usando cámara iPhone

iphone3gTras una buena cantidad de artículos sobre visión artificial llega por fin el esperado sigue líneas con visión. Las dificultades que implica el manejo de imágenes en tiempo real son muchas, sobre todo el retardo entre que la cámara capta la imagen y nosotros la procesamos y enviamos los datos por bluetooth. Estamos utilizando la cámara de un iPhone 3G conectada mediante wifi al ordenador, enviado imágenes gracias al programa Pocket Cam. Capturamos imágenes periódicamente gracias al programa Yawcam, y las procesamos con LabVIEW, que finalmente enviará las ordenes necesarias al NXT mediante Bluetooth. Seguir leyendo →

Lamborghini murciélago

1murcielagoEl Lamborghini Murciélago es un automóvil deportivo producido por el fabricante italiano Lamborghini y diseñado por Luc Donckerwolke. El Murciélago es un dos plazas disponible con carrocerías cupé y descapotable de dos puertas; las puertas de este deportivo son del tipo gaviota. Además está en la lista de los coches más exclusivos y deseados, con permiso del Bugatti Veyron. Seguir leyendo →

Containment

En algún lugar de un planeta desolado, una instalación de procesamiento biosférico un hombre solitario deambula cerca de los límites de una tierra alienígena desértica… Un límite entre dos mundos pero, ¿cuál de ellos es el protegido? Containment es la respuesta. Un diorama espectacular que vieron los afortunados en Brickworld 2010. Seguir leyendo →

Control de prioridad de tareas en RobotC

Round RobinEn el artículo anterior de RobotC vimos cómo manejar varias tareas, gestionando el uso de recursos compartidos como los motores. En este artículo ampliaré la información sobre el control de prioridad de tareas en RobotC, viendo cómo poner mayor o menor prioridad a una tarea, y el efecto que tiene sobre la ejecución del programa. También veremos en qué consiste la planificación de tareas Round Robin y al final pondré un par de programas de prueba con vídeos incluidos. Seguir leyendo →

Control de tareas en RobotC

El objetivo principal del procesador es ejecutar la secuencia de instrucciones de los programas de entre un posible conjunto de programas. Cuando es uno sólo el programa a ejecutar, podemos intuir fácilmente cuál es la secuencia de operaciones que se está ejecutando sin más que seguir la traza del proceso en curso. La ayuda de los entornos de programación puede ser de valor incalculable cuando nuestra aplicación se complica y son varios los procesos que deben ser procesados. Seguir leyendo →

MOCs minimalistas (II)

En vista del éxito que ha tenido el artículo anterior sobre las construcciones en miniatura, tanto por su originalidad, técnicas de construcción o fidelidad o capacidad de recrear la escena que representan, lanzamos esta segunda colección de MOCs minimalistas. De nuevo el mundo de aficcionados al LEGO sigue sorprendiendo con su creatividad, imaginación y técnica. Seguir leyendo →

Robot Multiproceso en NXT-G

IMG_2556Hoy queremos presentar un pequeño experimento realizado por nuestros alumnos en uno de nuestros talleres de robótica. Se trata de un robot que utiliza dos ladrillos NXT que se comunican entre sí mediante bluetooth. Este experimento nos permitirá explorar aún más las posibilidades de interacción bluetooth entre ladrillos, es decir, un robot Multiproceso en NXT-G, fundamental para controles remotos (como ya hemos visto en varios artículos). Pero también para robots que tengan más de un NXT. Seguir leyendo →