Abstract: Los Lego Mindstorm son unos robots fabricados por Lego, que pese a lo que pueda parecer, no son un mero juguete, debido a las capacidades y posibilidades que ofrecen. Cuentan con una CPU en un sistema embebido al cual se pueden conectar servomotores, una gran cantidad de sensores, y que tiene conexión USB y Bluetooth para comunicaciones. Ademas, el hecho de utilizar piezas estandard de lego da mucha flexibilidad al tipo de modelos que se pueden construir. Estos robots ya se utilizan mucho en actividades didácticas a todos los niveles, desde actividades con niños en colegios, prácticas en asignaturas de universidad o incluso como base para experimentos de proyectos de investigación sobre robótica. El objetivo de este proyecto es analizar las posibilidades de estos robots para el aprendizaje y/o investigación práctica sobre robots móviles autónomos. Además, se quiere diseñar un entorno modular y extensible que permita realizar tareas básicas de robótica móvil de manera sencilla y monitorizarlas, como una herramienta base para futuros trabajos. En primer lugar, se realizó la elección y familiarización del entorno de programación para los Mindstorms de entre la gran cantidad de posibilidades. En nuestro caso elegimos leJOS, un firmware que instala una máquina virtual Java en el robot, permite programar en Java, y además ofrece una completa API tanto para el robot como para el ordenador. Este trabajo incluye un estudio de las técnicas y algoritmos necesarios para conseguir las funcionalidades principales que se quieren desarrollar sobre los Mindstorms, además de su implementación. Se pueden agrupar en: Generación de movimientos: Utilizando la información de la odometría y los distintos sensores, el robot es capaz de estimar su posición y moverse hacia un objetivo siguiendo un sistema de bucle cerrado. Navegación reactiva y planicada: Utilizando un mapa del entorno, el robot puede encontrar una ruta óptima y navegar por ella, teniendo la posibilidad de detectar obstáculos, modificar el mapa y calcular una ruta alternativa en función de ellos. Utilización los sensores disponibles para realización de tareas típicas en robótica, como construcción de un modelo del entorno con el sonar o seguimiento de objetos con la cámara. También se ha diseñado un módulo para monitorización y control de dichas actividades, que se comunique de manera remota con el robot y que permita darle ordenes, así como hacer un seguimiento de las lecturas de sus sensores y de su posición. Para la implementación y prueba de todos estos módulos, se han diseñado y construido dos robots, uno con una cinemática basada en traccion diferencial, y otro con cinemática tipo coche, para poder comparar estos dos tipos habituales de robot móvil. Esta memoria incluye detalles de ambos modelos y de cómo se han implementado y evaluado en ellos todas las funcionalidades requeridas, utilizando distintos tipos de sensores y analizando la precisión y el tipo de tareas que se pueden resolver con cada uno. Se debe tener en cuenta a la hora de analizar los resultados que la precisión de estos sensores no va a ser excesivamente alta, por el precio mucho más bajo en comparación con los componentes de robots más "reales". Pese a ello, se consiguen resultados bastante satisfactorios y los robots dise~nados pueden realizar de manera autónoma tareas como navegar en espacios no muy amplios, y el sistema de monitorización permite que el trabajo para desarrollar nuevas funcionalidades sea mucho más cómodo.