Bienvenido: Ingresar

Subir página de contenido

Puedes subir contenido para la página con el nombre abajo. Si cambias el nombre de la página, puedes subir contenido para otra página. Si el nombrede la página lo dejas en blanco, tomaremos el nombre del archivo

Archivo de contenido para la página
Nombre de la página
Comentario
En el juego de las bochas, como se llama la mas chiquita?

Versión 3 con fecha 2011-02-24 22:26:24

location: ProyPID2010RoMAA

Robot Móvil de Arquitectura Abierta RoMAA-II

Datos del proyecto

Borrador de proyecto PID UTN 2010 RoMAA

Objetivos

Presentarse a la convocatoria de proyectos UTN PID para el 2010. El proyecto debe ser tipo PID promocional para poder particiar las personas sin categoría del programa de Incentivos como Director o Co-director. Este proyecto será de 1 año con los objetivos de mejorar el sistema de control del robot !RoMAA, partiendo de la base mecánica ya construida del vehículo y de la versión anterior del sistema de control, ambos presentados en [1].

Las mejoras incluyen

Documentación a presentar

Puede descargarse de //uritorco/Ciencia y Tecnologia/FORMULARIOS PROYECTOS 2010

Información para llenar el Formulario PID 2010

1 - Denominación

(max. 150 caracteres incluyendo espacios)

2 - Denominación abreviada

(solo si la "Denominación" es mayor a 80 caracteres)

9 - Palabras claves

robótica móvil, robot, tracción diferencial, control vw, microcontrolador ARM, player, stage

12 - Duración prevista en meses

12 meses

13 - Fecha de inicio

01 enero 2010

14 - Fecha de finalización

31 diciembre 2010

15 - Personas afectadas

Incluir director, co-director/es, docentes-investigadores, becarios, pasantes, tesista y personal de apoyo

16 - Horas semanales dedicadas

18 - Funciones

21 - Resumen técnico

El presente proyecto se enmarca en el desarrollo de una plataforma robótica móvil de tracción diferencial para ambientes interiores aplicable al desarrollo, prueba y validación de algoritmos de control y navegación; con posibilidad de integrarse en la enseñanaza de temas relacionados al control y la robótica en los cursos de grado de las carreras de ingenierías y capaz de aportar una herramienta valiosa al área experimental de otras disciplinas como la visión por computador, la teledetección y la inteligencia artificial. Esta iniciativa comenzó en el año 2008, con el diseño, construcción y montaje de los dispositivos electromecánicos; como así también la electrónica de potencia, y la microcomputación del sistema de tracción. Estas tareas desembocaron en un prototipo denominado RoMAA descripto en [4] sobre el cual se pretende, a partir del presente proyecto, completar sus capacidades con un sistema de entorno de desarrollo para robots de licencia GPL denominado Player/Stage y con la optimización del software embebido.

La adaptación del sistema al entorno Player/Stage[1] supone la escritura de los drivers de comunicación pertinentes, la adaptación del protocolo de comunicación y la modificación de ciertos aspectos de la programación del sistema embebido de control de tracción. También supone la identificación del modelo del robot y su integración al método de simulación provisto por Stage. Los drivers de comunicación de Player permiten controlar mediantes interfaces abstractas diferentes dispositivos de robótica; en este caso, un vehículo de tracción diferencial. Esto se logra mediante funciones estándares que permiten por ejemplo la consulta de la odometría devolviendo la posición y orientación (o pose) del vehículo en su entorno. El simulador Stage se encuentra integrado junto al Player de manera tal que, obtenido el modelo matemático que describe el comportamiento del robot, es posible reemplazar la plataforma física real por la simulada de manera absolutamente transparente para el software bajo experimentación perteneciente a las capas de aplicación. Esto brinda enorme flexibilidad al momento de la puesta a punto de los algoritmos bajo desarrollo simulando el robot y sus sensores en un ambiente controlado.

Para la programación del sistema embebido se plantea encapsular en librerías todas las funcionalidades de acceso a periféricos del hardware como así también otros módulos funcionales; por ejemplo, módulo de comunicación, módulo de cálculo de odometría, módulo de control de tracción diferencial vw con PID, etc. El aspecto del hardware de control de tracción será mejorado incluyendo reguladores de tensión conmutados para mejorar la eficiencia energética del sistema, el rediseño de los circuitos impresos para optimizar el aprovechamiento de los espacios físicos y mejorar el desempeño térmico del sistema.


El presente proyecto plantea como objetivos técnicos obtener el sistema de control de abordo (embebido) para una plataforma robótica móvil de tracción diferencial (!RoMAA - Robot Móvil de Arquitectura Abierta) desarrollado en base a un microcontrolador de arquitectura RISC ARM de 32bist de NXP modelo LPC2114. Se propone en consecuencia realizar mejoras a la electrónica de control, incluyendo el rediseño de la placa de desarrollo multipropósito del microcontrolador ARM desarrollada íntegramente en el Centro, y la construcción de una placa de soporte para el microcontrolador con fuente conmutada. Se propone también la construcción de las placas correspondientes a los drivers de potencia para el manejo de los motores del vehículo, que consisten en llaves en puente H para el control de velocidad.

Se realizará un re-diseño del software del microcontrolador para el control de velocidad de los motores, el cuál gestiona los comandos de alto nivel recibidos desde la PC de abordo del robot e implementa el control de tracción diferencial del vehículo calculando las velocidades adecuadas para cada rueda. El software será estructurado en módulos separados en diferentes archivos para mejorar la modularidad y reusabilidad de los algoritmos desarrollados, organizados en categorías que incluyen: control de los periféricos propios del microcontrolador, algoritmos de comunicación de alto nivel, control de tracción vw con cross-coupling, controladores digitales PI, PID, etc.

Acompañando al desarrollo del control de abordo del robot se plantea la programación de librerías necesarias (encapsuladas en clases de programación orientada a objetos en C++) a ser utilizada en los programas de control de la PC de abordo del robot. Utilizando estas librerías se plante también la programación de los drivers adecuados para el Entorno de Desarrollo de Robots Player [1], que permite controlar mediantes interfaces abstractas diferentes dispositivos de robótica como ser un vehículo de tracción diferencial, que se aplica al este caso en particular, mediante funciones estándares para este tipo de robots que permite por ejemplo la consulta de la odometría y devuelven la posición y orientación (o pose) del vehículo en su entorno. Junto con el driver para Player, otra herramienta de gran utilidad para la experimentación y la puesta a punto de algoritmos de navegación y control, es el simulador de dispositivos de robótica llamado Stage, perteneciente al mismo proyecto que Player. Para utilizar dicho simulador se desarrollaran los modelos adecuados para el robot !RoMAA, esto permite simular el robot y sus sensores en un ambiente controlado.

22 - Estado actual del conocimiento sobre el tema

En el Centro de Investigación en Informática para la Ingeniería (CIII), en el año 2008 se comenzó la construcción de una plataforma robótica móvil de tracción diferencial !RoMAA (Robot Móvil de Arquitectura Abierta) [4], lo que surge de la necesidad de disponder de una plataforma sobre la cual ensayar y validar las investigaciones llevadas a cabo en el Centro que se enmarcan en las áreas de visión por computadoras, control automático, robótica, etc., adecuado para ambientes interiores. Este robot fue construido íntegramente desde la mecánica, los controladores de tracción de bajo nivel y control de alto nivel. El CIII tiene además experiencia en la construcción y desarrollos de plataforma robótica para exteriores de mayor capacidad de carga y potencia adecuados para entornos fabriles [5].

El tipo de locomoción de !RoMAA es la tracción diferencial que consiste en una estructura de tres ruedas, con dos ruedas de tracción controladas individualmente y una rueda giratoria atrás; modelo ampliamante utilizado en ambientes de laboratorio. El computador de abordo ofrece flexibilidad al momento de su elección, el sistema fue concebido para ser operado desde microcontroladores diseñados ad-hoc, palms, computadoras portátiles hasta sistemas de cluster (High Performance Computing) de algunos pares de nodos. Además, disponde de una zona de carga util en la parte frontal, permite la colocación de sensores, como cámaras, scanners láser, sensores ultrasónicos; así como actuadores: plataformas pan and tilt y fundamentalmente brazos robóticos.

Al momento de diseñar el entorno de programación junto con las librerias necesarias para el control de alto nivel del robot mediante aplicaciones que se ejecutan en la PC de abordo, se tuvo como objetivo reutilizar software del mundo del open source; para lo cual se estudiaron diferentes "Entornos de Desarrollos de Robots" (RDE, por sus siglas en inglés), del cual se selección uno en particular conocido como Player/Stage/Gazebo [1]; este entorno de programación para robots permite programar de forma flexible una gran cantidad de robots comerciales o creados a medida, junto con diferentes dispositivos robóticos como sonares, escáners láser, cámaras, unidades pan&tilt, etc [6]. Otro punto que se considero importante es la posibilidad de simular el robot con sus sensores, actuadores y entorno controlado para facilitar el desarrollo y validación teórica de algoritmos de navegación autónoma.

Player, Stage y Gazebo son tres piezas de software originalmente desarrollado en el laboratorio de investigación de robótica de la University of Southern alifornia (USC, Robotics Research Lab) por Brian P. Gerkey y Richard T. Vaughan. Ahora es un proyecto activo de SourceForge.net usado por un gran número de investigadores alrededor del mundo [7]. Player es un servidor de dispositivos utilizados en robótica basado en sockets que proporciona una interfaz simple a sensores y actuadores en redes TCP/IP, la abstracción de los sockets posibilita la independencia del lenguaje de programación y de la plataforma de trabajo.

posibilidades de control y sensado distribuido y colaborativo, además incluye varias herramientas de soporte como visualización de información de sensores de forma gráfica 1 . A diferencia de muchos entornos de desarrollos propietarios que vienen incluidos con kits de robots, Player no esta ligado a un sistema robótico en particular, y debido a su diseño modular los programadores pueden agregar soporte a nuevo hardware.

Stage es un simulador de múltiples robots del proyecto Player que simula una población de robots, sensores y objetos en un entorno bitmap 2D. Stage dispone de robots virtuales de modo que Player interactúe con el entorno simulado en lugar de los dispositivos físicos, dispone de varios modelos de sensores incluyendo sonares, sensores láser rangefinder, cámaras pan-tilt-zoom con detección de blobs de color y odometria. Stage es adecuado para investigaciones de sistemas autónomos multi-agente, puesto que proporciona un modelo simple de bajo requerimiento computacional de míltiples dispositivos en lugar de emular cada dispositivo con gran fidelidad.

Gazebo es un simulador de múltiples robots en entornos interiores y exteriores. Tal como Stage, es capaz de simular una población de robots, sensores y objetos pero en un entorno tridimensional. Gazebo genera realimentación realista de sensores e interacción física entre objetos, incluyendo simulación precisa de la física de cuerpos rígidos con su dinámica y detección de colisiones. Todos los objetos simulados tiene masa, velocidad, ficción, y otros atributos que les da un comportamiento realista al ser empujados, tirados, golpeados, etc.

23 - Grado de avance

El estado actual del proyecto, muestra que el diseño electromecácnico como así también el electrónico del robot móvil poseen la robutez, flexibilidad y autonomía esperada, para desempeñar pruebas de algoritmos en ambientes interiores.


El sistema de odometría y el sistema de control de tracción diferencial han alcanzado la puesta a punto óptima y el mecanismo de telecomando manual funciona satisfactoriamente.


Las pruebas iniciales de desempeño de los algoritmos de control de tracción diferencial y la odometria, llevadas a cabo con el desarrollo del hardware prototipo, cubren las espectativas iniciales planteadas al comenzar su construcción.


Para llevar a cabos los primeros experimentos de la plataforma robótica móvil se diseñó y construyó el sistema de control embebido prototipo con la electrónica necesaria para el control de tracción diferencial y la odometria, que permitió evaluar el desempeño del sistema completo, viendo cubiertas las espectativas inciales planteadas al comenzar su construcción. El estado actual del proyecto, muestra que el diseño electromecácnico como así también el electrónico del robot móvil poseen la robutez, flexibilidad y autonomía esperada, para desempeñar pruebas de algoritmos en ambientes interiores. Las mejoras generales planteadas en el presente proyecto permiten obtener una versión final adecuado para su utilización en entornos de investigación y educación.

24 - Objetivos de la investigación


Este trabajo tiene como objetivos obtener una versión del sistema completo de control de una plataforma robótica móvil, junto con las librerías necesarias para su programación mediante la PC de abordo, adecuada para el ámbito de la investigación; que mediante los desarrollos del presente proyecto se logrará una arquitectura (o framework) de desarrollo en robótica móvil de mejores características que la actual, permitiendo generar simulaciones y experimentos en el robot real de manera mas amena y sencilla, con un mayor nivel de flexibilidad y productividad. Esto permite obtener una versión final del robot mas acorde a las necesidades de un Centro de investigación en robótica y comparable con los modelos de robots comerciales, como ser los robot Pioneer de la compañia MobileRobots [2] ampliamente utilizados por laboratorios alrededor del mundo, junto con sus librerías de programación de nombre ARIA (Advanced Robotics Interface for Applications) [3]. El lograr los objetivos aquí planteados permite disponer de un producto con mayor facilidad de adquisición y mantenimiento en el ámbito local de nuestro país.

25 - Metodología

A partir de los objetivos formulados se definen el conjunto de tareas a realizar, se las agrupa por categorías y se asigna un equipo de personas a su ejecución. Estos grupos concertan las condiciones de las interfaces entre los bloques que desarrollan cada uno como así también los tiempos para alcanzar objetivos intermedios y finales coordinados. En todos los casos las problemáticas de cada tarea se encaran empezando por la búsqueda bibliográfica y el estudio teórico, para luego proponer una hipótesis de trabajo y un diseño experimental apropiado y concertado con los miembros del proyecto. Durante todo el proceso se utiliza para la coordinación, el trabajo colaborativo y la documentación; la plataforma TWiki del Centro de Investigaciones C.I.I.I. En términos concretos, el objetivo general del proyecto supone obtener una versión mejorada del robot actual, un modelo de simulación del mismo y una interfaz de programación del control que permita de manera directa y transparente actuar sobre el robot real o el modelo de simulación. Estos tres aspecto representan los bloques en que se agrupan las categorías de tareas a realizar. A su vez dentro de cada grupo se reconocen aspectos particulares a abordar como se describe a continuación:

Por el lado de la PC se escribirá un driver que permita al software PLAYER acceder al control del robot por medio de comandos de velocidad lineal y angular, y recibir las lecturas de odometría.

26 - Contribución al avance del conocimiento científico y/o tecnológico y/o transferencia al medio

El presente proyecto pretende obtener una plataforma robótica móvil de tracción diferencial para ambientes interiores, adecuada para la investigación y la educación, de construcción local con componentes de fácil adquisición en el ámbito nacional y con buen soporte de software de características de código abierto. Este desarrollo permite lograr un robot con funcionales similares a los robots móviles comerciales de amplia utilización en los laboratorios de investigación del mundo, como por ejemplos robots Pioneers de ActivMedia. Las característica de bajo coste facilita la replicación y transferencia a diferentes entidades de investigación y educación regionales, además el software de código abierto permite que los usuarios puedan realizar mejoras o modificaciones que al ser integradas al producto produzcan el beneficio colectivo de todos los usuarios de la plataforma. La disponibilidad de un robot móvil de las características antes mencionadas permite impulsar los estudios tanto de grado como de posgrado en el campo de la robótica; y también, ser utilizado como plataforma prototipo para desarrollo de aplicaciones de robótica móvil industriales y de otras áreas que permitan a porteriori transferencias genuinas de tecnología a las mencionadas áreas.


Se facilita así la transferencia del desarrollo a diferentes universidades del país o paises vecinos, cuyos recursos limitados no les permite adquirir robots comerciales de costo superior al descripto en el presente proyecto.

27 - Contribución a la formación de recursos humanos

32 - Equipamiento disponible

El equipamiento a emplear, disponible en el CIII, se detalla a continuación:

33 - Equipamiento solicitado

34 - Bibliografía

(adquicisión de libros, revistas, mapas, películas y otros elementos destinados a uso en el proyecto)

Cronograma de actividades

Referencias