4 resultados para LEGO
em Universidad Politécnica de Madrid
Resumo:
The purpose of this guide is to introduce the robotics kit LEGO MINDSTORMS NXT to the Ada community. All the steps required to complete a working Ada application running under the LEGO MINDSTORMS NXT are covered..
Resumo:
A set of software development tools for building real-time control systems on a simple robotics platform is described in the paper. The tools are being used in a real-time systems course as a basis for student projects. The development platform is a low-cost PC running GNU/Linux, and the target system is LEGO MINDSTORMS NXT, thus keeping the cost of the laboratory low. Real-time control software is developed using a mixed paradigm. Functional code for control algorithms is automatically generated in C from Simulink models. This code is then integrated into a concurrent, real-time software architecture based on a set of components written in Ada. This approach enables the students to take advantage of the high-level, model-oriented features that Simulink oers for designing control algorithms, and the comprehensive support for concurrency and real-time constructs provided by Ada.
Resumo:
En este Proyecto Fin de Carrera, se presenta un sistema de reconocimiento de gestos para teleoperar robots basado en el sensor Kinect. El proyecto se divide en dos partes, la primera relativa al diseño y evaluación de un sistema de reconocimiento de gestos basado en el sensor Kinect; y la segunda, relativa a la teleoperación de robots usando el sistema de reconocimiento de gestos desarrollado. En la primera parte, se enumeran las características y limitaciones del sensor Kinect. Posteriormente, se analiza la detección de movimiento y se presenta la máquina de estados propuesta para detectar el movimiento de un gesto. A continuación, se explican los posibles preprocesados de un esqueleto en 3 dimensiones para mejorar la detección de gestos y el algoritmo utilizado para la detección de gestos, el algoritmo de Alineamiento Temporal Dinámico (DTW). Por último, se expone con detalle el software desarrollado de reconocimiento y evaluación de gestos, el Evaluador de Gestos, y se realiza un análisis de varias evaluaciones realizadas con distintos perfiles de configuración donde se extraen las conclusiones de acierto, fiabilidad y precisión de cada configuración. En la segunda parte, se expone el sistema de teleoperación del robots y su integración con el evaluador de gestos: este sistema controla el robot Lego Mindstorm mediante la detección de gestos o el reconocimiento de voz. Por último, se exponen las conclusiones finales del proyecto.
Resumo:
En el ámbito de la robótica de servicio, actualmente no existe una solución automatizada para la inspección ultrasónica de las partes de material compuesto de una aeronave durante las operaciones de mantenimiento que realiza la aerolínea. El desarrollo de las nuevas técnicas de acoplamiento acústico en seco en el método de inspección no destructiva por ultrasonidos, está conduciendo a posibilitar su uso con soluciones de menor coste respecto a las técnicas tradicionales, sin perder eficacia para detectar las deficiencias en las estructuras de material compuesto. Aunque existen aplicaciones de esta técnica con soluciones manuales, utilizadas en las fases de desarrollo y fabricación del material compuesto, o con soluciones por control remoto en sectores diferentes al aeronáutico para componentes metálicos, sin embargo, no existen con soluciones automatizadas para la inspección no destructiva por ultrasonidos de las zonas del avión fabricadas en material compuesto una vez la aeronave ha sido entregada a la aerolínea. El objetivo de este trabajo fin de master es evaluar el sistema de localización, basado en visión por ordenador, de una solución robotizada aplicada la inspección ultrasónica estructural de aeronaves en servicio por parte de las propias aerolíneas, utilizando las nuevas técnicas de acoplamiento acústico en seco, buscando la ventaja de reducir los tiempos y los costes en las operaciones de mantenimiento. Se propone como solución un robot móvil autónomo de pequeño tamaño, con control de posición global basado en técnicas de SLAM Visual Monocular, utilizando marcadores visuales externos para delimitar el área de inspección. Se ha supuesto la inspección de elementos de la aeronave cuya superficie se pueda considerar plana y horizontal, como son las superficies del estabilizador horizontal o del ala. Este supuesto es completamente aceptable en zonas acotadas de estos componentes, y de cara al objetivo del proyecto, no le resta generalidad. El robot móvil propuesto es un vehículo terrestre triciclo, de dos grados de libertad, con un sistema de visión monocular completo embarcado, incluyendo el hardware de procesamiento de visión y control de trayectoria. Las dos ruedas delanteras son motrices y la tercera rueda, loca, sirve únicamente de apoyo. La dirección, de tipo diferencial, permite al robot girar sin necesidad de desplazamiento, al conseguirse por diferencia de velocidad entre la rueda motriz derecha e izquierda. El sistema de inspección ultrasónica embarcado está compuesto por el hardware de procesamiento y registro de señal, y una rueda-sensor situada coaxialmente al eje de las ruedas motrices, y centrada entre estas, de modo que la medida de inspección se realiza en el centro de rotación del robot. El control visual propuesto se realiza mediante una estrategia “ver y mover” basada en posición, ejecutándose de forma secuencial la extracción de características visuales de la imagen, el cálculo de la localización global del robot mediante SLAM visual y el movimiento de éste mediante un algoritmo de control de posición-orientación respecto a referencias de paso de la trayectoria. La trayectoria se planifica a partir del mapa de marcas visuales que delimitan el área de inspección, proporcionado también por SLAM visual. Para validar la solución propuesta se ha optado por desarrollar un prototipo físico tanto del robot como de los marcadores visuales externos, a los que se someterán a una prueba de validación como alternativa a utilizar un entorno simulado por software, consistente en el reconocimiento del área de trabajo, planeamiento de la trayectoria y recorrido de la misma, de forma autónoma, registrando el posicionamiento real del robot móvil junto con el posicionamiento proporcionado por el sistema de localización SLAM. El motivo de optar por un prototipo es validar la solución ante efectos físicos que son muy complicados de modelar en un entorno de simulación, derivados de las limitaciones constructivas de los sistemas de visión, como distorsiones ópticas o saturación de los sensores, y de las limitaciones constructivas de la mecánica del robot móvil que afectan al modelo cinemático, como son el deslizamiento de las ruedas o la fluctuación de potencia de los motores eléctricos. El prototipo de marcador visual externo utilizado para la prueba de validación, ha sido un símbolo plano vertical, en blanco y negro, que consta de un borde negro rectangular dentro del cual se incluye una serie de marcas cuadradas de color negro, cuya disposición es diferente para cada marcador, lo que permite su identificación. El prototipo de robot móvil utilizado para la prueba de validación, ha sido denominado VINDUSTOR: “VIsual controlled Non-Destructive UltraSonic inspecTOR”. Su estructura mecánica ha sido desarrollada a partir de la plataforma comercial de robótica educacional LEGO© MINDSTORMS NXT 2.0, que incluye los dos servomotores utilizados para accionar las dos ruedas motrices, su controlador, las ruedas delanteras y la rueda loca trasera. La estructura mecánica ha sido especialmente diseñada con piezas LEGO© para embarcar un ordenador PC portátil de tamaño pequeño, utilizado para el procesamiento visual y el control de movimiento, y el sistema de captación visual compuesto por dos cámaras web de bajo coste, colocadas una en posición delantera y otra en posición trasera, con el fin de aumentar el ángulo de visión. El peso total del prototipo no alcanza los 2 Kg, siendo sus dimensiones máximas 20 cm de largo, 25 cm de ancho y 26 cm de alto. El prototipo de robot móvil dispone de un control de tipo visual. La estrategia de control es de tipo “ver y mover” dinámico, en la que se realiza un bucle externo, de forma secuencial, la extracción de características en la imagen, la estimación de la localización del robot y el cálculo del control, y en un bucle interno, el control de los servomotores. La estrategia de adquisición de imágenes está basada en un sistema monocular de cámaras embarcadas. La estrategia de interpretación de imágenes está basada en posición tridimensional, en la que los objetivos de control se definen en el espacio de trabajo y no en la imagen. La ley de control está basada en postura, relacionando la velocidad del robot con el error en la posición respecto a las referencias de paso de una trayectoria. La trayectoria es generada a partir del mapa de marcadores visuales externo. En todo momento, la localización del robot respecto a un sistema de referencia externo y el mapa de marcadores, es realizado mediante técnicas de SLAM visual. La auto-localización de un robot móvil dentro de un entorno desconocido a priori constituye uno de los desafíos más importantes en la robótica, habiéndose conseguido su solución en las últimas décadas, con una formulación como un problema numérico y con implementaciones en casos que van desde robots aéreos a robots en entornos cerrados, existiendo numerosos estudios y publicaciones al respecto. La primera técnica de localización y mapeo simultáneo SLAM fue desarrollada en 1989, más como un concepto que como un algoritmo único, ya que su objetivo es gestionar un mapa del entorno constituido por posiciones de puntos de interés, obtenidos únicamente a partir de los datos de localización recogidos por los sensores, y obtener la pose del robot respecto al entorno, en un proceso limitado por el ruido de los sensores, tanto en la detección del entorno como en la odometría del robot, empleándose técnicas probabilísticas aumentar la precisión en la estimación. Atendiendo al algoritmo probabilístico utilizado, las técnicas SLAM pueden clasificarse en las basadas en Filtros de Kalman, en Filtros de Partículas y en su combinación. Los Filtros de Kalman consideran distribuciones de probabilidad gaussiana tanto en las medidas de los sensores como en las medidas indirectas obtenidas a partir de ellos, de modo que utilizan un conjunto de ecuaciones para estimar el estado de un proceso, minimizando la media del error cuadrático, incluso cuando el modelo del sistema no se conoce con precisión, siendo el más utilizado el Filtro de Kalman Extendido a modelos nolineales. Los Filtros de Partículas consideran distribuciones de probabilidad en las medidas de los sensores sin modelo, representándose mediante un conjunto de muestras aleatorias o partículas, de modo que utilizan el método Montecarlo secuencial para estimar la pose del robot y el mapa a partir de ellas de forma iterativa, siendo el más utilizado el Rao-Backwell, que permite obtener un estimador optimizado mediante el criterio del error cuadrático medio. Entre las técnicas que combinan ambos tipos de filtros probabilísticos destaca el FastSLAM, un algoritmo que estima la localización del robot con un Filtro de Partículas y la posición de los puntos de interés mediante el Filtro de Kalman Extendido. Las técnicas SLAM puede utilizar cualquier tipo de sensor que proporcionen información de localización, como Laser, Sonar, Ultrasonidos o Visión. Los sensores basados en visión pueden obtener las medidas de distancia mediante técnicas de visión estereoscópica o mediante técnica de visión monocular. La utilización de sensores basados en visión tiene como ventajas, proporcionar información global a través de las imágenes, no sólo medida de distancia, sino también información adicional como texturas o patrones, y la asequibilidad del hardware frente a otros sensores. Sin embargo, su principal inconveniente es el alto coste computacional necesario para los complejos algoritmos de detección, descripción, correspondencia y reconstrucción tridimensional, requeridos para la obtención de la medida de distancia a los múltiples puntos de interés procesados. Los principales inconvenientes del SLAM son el alto coste computacional, cuando se utiliza un número elevado de características visuales, y su consistencia ante errores, derivados del ruido en los sensores, del modelado y del tratamiento de las distribuciones de probabilidad, que pueden producir el fallo del filtro. Dado que el SLAM basado en el Filtro de Kalman Extendido es una las técnicas más utilizadas, se ha seleccionado en primer lugar cómo solución para el sistema de localización del robot, realizando una implementación en la que las medidas de los sensores y el movimiento del robot son simulados por software, antes de materializarla en el prototipo. La simulación se ha realizado considerando una disposición de ocho marcadores visuales que en todo momento proporcionan ocho medidas de distancia con ruido aleatorio equivalente al error del sensor visual real, y un modelo cinemático del robot que considera deslizamiento de las ruedas mediante ruido aleatorio. Durante la simulación, los resultados han mostrado que la localización estimada por el algoritmo SLAM-EKF presenta tendencia a corregir la localización obtenida mediante la odometría, pero no en suficiente cuantía para dar un resultado aceptable, sin conseguir una convergencia a una solución suficientemente cercana a la localización simulada del robot y los marcadores. La conclusión obtenida tras la simulación ha sido que el algoritmo SLAMEKF proporciona inadecuada convergencia de precisión, debido a la alta incertidumbre en la odometría y a la alta incertidumbre en las medidas de posición de los marcadores proporcionadas por el sensor visual. Tras estos resultados, se ha buscado una solución alternativa. Partiendo de la idea subyacente en los Filtros de Partículas, se ha planteado sustituir las distribuciones de probabilidad gaussianas consideradas por el Filtro de Kalman Extendido, por distribuciones equi-probables que derivan en funciones binarias que representan intervalos de probabilidad no-nula. La aplicación de Filtro supone la superposición de todas las funciones de probabilidad no-nula disponibles, de modo que el resultado es el intervalo donde existe alguna probabilidad de la medida. Cómo la efectividad de este filtro aumenta con el número disponible de medidas, se ha propuesto obtener una medida de la localización del robot a partir de cada pareja de medidas disponibles de posición de los marcadores, haciendo uso de la Trilateración. SLAM mediante Trilateración Estadística (SLAM-ST) es como se ha denominado a esta solución propuesta en este trabajo fin de master. Al igual que con el algoritmo SLAM-EKF, ha sido realizada una implementación del algoritmo SLAM-ST en la que las medidas de los sensores y el movimiento del robot son simulados, antes de materializarla en el prototipo. La simulación se ha realizado en las mismas condiciones y con las mismas consideraciones, para comparar con los resultados obtenidos con el algoritmo SLAM-EKF. Durante la simulación, los resultados han mostrado que la localización estimada por el algoritmo SLAM-ST presenta mayor tendencia que el algoritmo SLAM-EKF a corregir la localización obtenida mediante la odometría, de modo que se alcanza una convergencia a una solución suficientemente cercana a la localización simulada del robot y los marcadores. Las conclusiones obtenidas tras la simulación han sido que, en condiciones de alta incertidumbre en la odometría y en la medida de posición de los marcadores respecto al robot, el algoritmo SLAM-ST proporciona mejores resultado que el algoritmo SLAM-EKF, y que la precisión conseguida sugiere la viabilidad de la implementación en el prototipo. La implementación del algoritmo SLAM-ST en el prototipo ha sido realizada en conjunción con la implementación del Sensor Visual Monocular, el Modelo de Odometría y el Control de Trayectoria. El Sensor Visual Monocular es el elemento del sistema SLAM encargado de proporcionar la posición con respecto al robot de los marcadores visuales externos, a partir de las imágenes obtenidas por las cámaras, mediante técnicas de procesamiento de imagen que permiten detectar e identificar los marcadores visuales que se hallen presentes en la imagen capturada, así como obtener las características visuales a partir de las cuales inferir la posición del marcador visual respecto a la cámara, mediante reconstrucción tridimensional monocular, basada en el conocimiento a-priori del tamaño real del mismo. Para tal fin, se ha utilizado el modelo matemático de cámara pin-hole, y se ha considerado las distorsiones de la cámara real mediante la calibración del sensor, en vez de utilizar la calibración de la imagen, tras comprobar el alto coste computacional que requiere la corrección de la imagen capturada, de modo que la corrección se realiza sobre las características visuales extraídas y no sobre la imagen completa. El Modelo de Odometría es el elemento del sistema SLAM encargado de proporcionar la estimación de movimiento incremental del robot en base a la información proporcionada por los sensores de odometría, típicamente los encoders de las ruedas. Por la tipología del robot utilizado en el prototipo, se ha utilizado un modelo cinemático de un robot tipo uniciclo y un modelo de odometría de un robot móvil de dos ruedas tipo diferencial, en el que la traslación y la rotación se determinan por la diferencia de velocidad de las ruedas motrices, considerando que no existe deslizamiento entre la rueda y el suelo. Sin embargo, el deslizamiento en las ruedas aparece como consecuencia de causas externas que se producen de manera inconstante durante el movimiento del robot que provocan insuficiente contacto de la rueda con el suelo por efectos dinámicos. Para mantener la validez del modelo de odometría en todas estas situaciones que producen deslizamiento, se ha considerado un modelo de incertidumbre basado en un ensayo representativo de las situaciones más habituales de deslizamiento. El Control de Trayectoria es el elemento encargado de proporcionar las órdenes de movimiento al robot móvil. El control implementado en el prototipo está basado en postura, utilizando como entrada la desviación en la posición y orientación respecto a una referencia de paso de la trayectoria. La localización del robot utilizada es siempre de la estimación proporcionada por el sistema SLAM y la trayectoria es planeada a partir del conocimiento del mapa de marcas visuales que limitan el espacio de trabajo, mapa proporcionado por el sistema SLAM. Las limitaciones del sensor visual embarcado en la velocidad de estabilización de la imagen capturada han conducido a que el control se haya implementado con la estrategia “mirar parado”, en la que la captación de imágenes se realiza en posición estática. Para evaluar el sistema de localización basado en visión del prototipo, se ha diseñado una prueba de validación que obtenga una medida cuantitativa de su comportamiento. La prueba consiste en la realización de forma completamente autónoma de la detección del espacio de trabajo, la planificación de una trayectoria de inspección que lo transite completamente, y la ejecución del recorrido de la misma, registrando simultáneamente la localización real del robot móvil junto con la localización proporcionada por el sistema SLAM Visual Monocular. Se han realizado varias ejecuciones de prueba de validación, siempre en las mismas condiciones iniciales de posición de marcadores visuales y localización del robot móvil, comprobando la repetitividad del ensayo. Los resultados presentados corresponden a la consideración de las medidas más pesimistas obtenidas tras el procesamiento del conjunto de medidas de todos los ensayos. Los resultados revelan que, considerando todo el espacio de trabajo, el error de posición, diferencia entre los valores de proporcionados por el sistema SLAM y los valores medidos de posición real, se encuentra en el entorno de la veintena de centímetros. Además, los valores de incertidumbre proporcionados por el sistema SLAM son, en todos los casos, superiores a este error. Estos resultados conducen a concluir que el sistema de localización basado en SLAM Visual, mediante un algoritmo de Trilateración Estadística, usando un sensor visual monocular y marcadores visuales externos, funciona, proporcionando la localización del robot móvil con respecto al sistema de referencia global inicial y un mapa de su situación de los marcadores visuales, con precisión limitada, pero con incertidumbre conservativa, al estar en todo momento el error real de localización por debajo del error estimado. Sin embargo, los resultados de precisión del sistema de localización no son suficientemente altos para cumplir con los requerimientos como solución robotizada aplicada a la inspección ultrasónica estructural de aeronaves en servicio. En este sentido, los resultados sugieren que la posible continuación de este trabajo en el futuro debe centrarse en la mejora de la precisión de localización del robot móvil, con líneas de trabajo encaminadas a mejorar el comportamiento dinámico del prototipo, en mejorar la precisión de las medidas de posición proporcionadas por el sensor visual y en optimizar el resultado del algoritmo SLAM. Algunas de estas líneas futuras podrían ser la utilización de plataformas robóticas de desarrollo alternativas, la exploración de técnicas de visión por computador complementarias, como la odometría visual, la visión omnidireccional, la visión estereoscópica o las técnicas de reconstrucción tridimensional densa a partir de captura monocular, y el análisis de algoritmos SLAM alternativos condicionado a disponer de una sustancial mejora de precisión en el modelo de odometría y en las medidas de posición de los marcadores.