#pragma section-numbers 2 #acl BecariosGrupo:read,write,revert All:read ## page was renamed from Robotica/RoMAARobotTemp = Robot Móvil de Arquitectura Abierta, RoMAA-II = {{attachment:romaaii800.jpg||width=800}} <> == Introducción == El diseño y desarrollo del Robot Móvil de Arquitectura Abierta surge ante la necesidad de disponer un vehículo adecuado para el ámbito de la investigación, capaz de adaptarse a distintos experimentos en las áreas de robótica móvil y visión por computadoras. Desde un punto de vista general en el diseño del robot, este debía ser de dimensiones reducidas para ser utilizado en entornos interiores como oficinas, hogares, laboratorios, etc. Por otro lado, su tamaño debía también permitir montar sobre el robot diferentes tipos de sensores como sonares o escáner láser, actuadores como unidades pan&tilt o manipuladores robóticos, etc. Además, se tenía como prioridad la utilización de componentes de fácil acceso en el mercado local, con bajo costo de maquinado y de mínimo mantenimiento posible. Dados estos requerimientos de diseño se optó por utilizar la arquitectura de tracción diferencial, lo que permite gran maniobravilidad en ambientes reducidos, con la mínima cantidad de partes mecánicas móviles lo que reduce el mantenimiento. La tracción diferencial tiene como ventaja adicional la facilidad en el control y la generación de trayectorias del robot. Desde un punto de vista funcional, la autonomía del robot debería permitir ser utilizado en jornadas completas de trabajo sin interrupción para recarga o cambio de las baterías. Por otro lado, en relación al sistema de control de alto nivel se diseñó de modo de estar basado en una laptop, la cual resulta de dimensaiones reducidas, con su propia fuente de alimentación de energía, lo que ayuda a la autonomía del sistema completo. La potencia de cálculo de las laptos actuales son adecuadas para el procesamiento online de algoritmos de navegación y/o percepción; además de contar también con flexibilidad en la conectividad tanto para una red de comunicaciones como a dispositivos de abordo como sensores o actuadores. {{attachment:romaainnovar2_800.jpg||width=300,align="right"}} Un requerimiento fundamental del diseño del sistema completo, incluyendo hardware, firmware y software de la PC de abordo, es de permanecer abierto, de forma de permitir al investigador que utilice la plataforma acceder a cualquier etapa del sistema. En mayor detalles esto implica tener acceso completo al hardware (circuito esquemático y placas de circuito impreso), firmware del controlador embebido que se encarga del control de bajo nivel; además de disponer del conjunto de código fuente incluyendo las librerías de comunicación y capas de software de más alto nivel de la PC de abordo. Esta arquitectura abierta permite poder adecuar la plataforma de experimentación a prácticamente cualquier caso particular necesario para el investigador. Otro aspecto que se consideró importante fue la utilización de componentes de fácil adquisición en el mercado local para la construcción de la plataforma. El diseño y desarrollo completo del robot permite generar un ''know how'' importante para futuros desarrollos en robótica; esperando también al finalizar el desarrollo poder contar con un robot de caracterísitcas comparables a robots comerciales similares. Además, de contar con el conocimiento de la arquitectura completa del robot pudiendo realizar sobre el mismo mejoras de forma continua, o agregar alguna característica párticular de funcionamiento de surgir alguna necesidad no considerada en el diseño original. == Descripción general == La arquitectura del robot es la tracción diferencial tipo uniciclo de tres ruedas, dos de las cuales son de tracción controladas individualmente y una rueda castor en la parte trasera del robot que sirve de apoyo. Dicha arquitectura resulta apropiada para ambientes interiores, dado que controlando adecuadamante ambas ruedas de tracción puede hacer que el robot gire sobre su centro odométrico, permitiendo gran maniobrabilidad. Desde el punto de vista mecánico se consideró importante poder acceder de forma fácil y rápida a los distintos componentes del sistema, como las baterías/cargador, los motorreductores, encoders, y drivers de potencia para el control de tracción del vehículo. Esto permite reemplazar componentes en forma ágil ya sea por avería, falla y para realizar algún experimento particular que requiere ajustar ciertos componentes de la plataforma. La estructura mecánica consta de dos placas de aluminio de idénticas dimensiones, la placa inferior da soporte a los componentes fundamentales para la operación del vehículo: baterías, motorreductores, ruedas y drivers de potencia. El área posterior está destinada a la batería y el cargador; disponer los componentes de mayor peso en esta sección, junto al reducido despeje de la plataforma respecto al piso, le confieren al robot una gran estabilidad. El área delantera alberga la electrónica para manejo de los motores de tracción. La placa superior esta dividida en dos partes para poder acceder de forma separada a la sección posterior o anterior del vehículo. La sección posterior de la placa superior está destinada al computador de abordo de control de alto nivel. Las placas superior e inferior se unen entre sí mediante soportes de aluminio lo que brindan excelentes características de rigidez y resistencia mecánica. La parte de la placa delantera está destinada al transporte de sensores y actuadores. Sobre esta placa se encuentran maquinados una serie de orificios que permiten el montaje de los sensores y actuadores. Las versiones actuales del robot cuenta con barra con perforaciones regularmente espaciadas a 25 mm y rosca estándar M6 particularmente concebida para montar plataformas pan\&tilt y videocámaras. === Características técnicas === Componentes: * Motores Remsi 551202 (60W, 2000rpm). * Encoders Autonics E40HB10-1000 (1000 pulsos). * Batería Probattery BSLA-12260-CPM (12V, 26Ah). Dimensiones: * Ancho: 520mm, Largo: 570mm, Alto: 200mm. * Diámetro de ruedas: 45mm. * Distancia entre ruedas: 455mm. * Radio de giro mínimo: 0mm. * Espacio mínimo necesario para el giro: 410mm. Peso aproximado: 30 Kg. == Robot móvil RoMAA-II == === Controlador embebido === La electrónica de abordo para el control del robot incluye 2 drivers de potencia en configuración llave H para la excitación de cada motor, y un controlador para realizar el cálculo del cierre de lazo a partir de lectura de los encoders ópticos basado en un microcontrolador con núcleo ARM7TDMI (de 32bits y 60MHz de frecuencia de clock), y generar las señanes de modulación de ancho de pulso (PWM, Pulse Width Modulation) para comandar las llaves H. El sistema embebido a bordo implementa los lazos de control en velocidad para los motores de tracción, cálculo de odometría del robot a partir de las lecturas de los encoders ópticos incrementales, y la comunicación con la PC de control de alto nivel a bordo del vehículo. El lazo de control implementado permite controlar al robot mediantes comandos de velocidad lineal y angular. Además, el controlador permite el acceso a variables internas del lazo como las lecturas de los encoders, ya sea en forma de cantidad de pulsos, velocidad angular, desplazamiento lineal recorrido; ajustar los valores de las constantes de los controladores, etc. === Software de la PC de abordo === El desarrollo del software de control de la PC de abordo, que permita al robot desarrollar una tarea específica se puede programar de dos maneras diferentes: * Utilizando directamente una librería de comunicación desarrollada, que permite enviar y recibir datos al controlador embebido mediante comandos de alto nivel. * Utilizando el entorno de desarrollo de robótica de código abierto [[http://playerstage.sourceforge.net/ | Player/Stage]]. La utilización de Player permite controlar el robot a travéz de una intefaz estándar, haciendo uso de un driver desarrollado específicamente para el robot RoMAA; además de diferentes sensores y actuadores a los que Player brinda soporte. == Financiación == * [[ProyPID2010RoMAA | "Robot Móvil de Arquitectura Abierta RoMAA-II" ]], U.T.N. PID 1151 . Homologado por disposición SCyT-UTN Nº34/10. Director: Ing. Gastón Araguás. == Transferencias, exposiciones y premios == * [[http://www.innovar.gob.ar/concurso/ganadores|Premio]] en la categoría robótica de la ''Octava Edición del Concurso Nacional de Innovaciones'' INNOVAR 2012. * Participación en el workshopt de las ''VII Jornadas Argentinas de Robótica'' [[http://www.fio.unicen.edu.ar/investigacion/viijornadas/|JAR2012]], en la ciudad de Olavaría, Buenos Aires, Argentina. * Participación en la exposición ''UNC Innova'' organizada por la Universidad Nacional de Córdoba, en el ''Parque Científico Tecnológico''. * Participación en la competencia [[http://galeria.innovar.gob.ar/13106|Innovar 2012]] y demostración del robot en la exposición de ciencia y tecnología ''"Tecnópolis 2012"''. * Presentación del robot RoMAA en la ''"Exposición de la Industria, Electrónica e Informática de Córdoba, Expotrónica 2012"''. * Transferencia de un robot RoMAA-II a la Facultad Regional Resistencia (FRRe) de la Universidad Tecnológica Nacional. Por resolución de Rectorado: 1.282/09. Capacitación de investigadores de la FRRe. == Participantes del desarrollo == En el diseño y desarrollo tanto del prototipo como de la versión final (RoMAA-II) participaron en general personal permanente del CIII, como también diferentes becarios (rentados y ad-honorem) tanto de grado como graduados. Ellos son:<
> * R. Gastón Araguás, Gonzalo F. Perez Paina, David A. Gaydou, Guillermo M. Steiner, Javier E. Salomone, Diego Gonzalez Dondo, Claudio J. Paz, Santiago Perez, Ariel Delfino, Martin Baudino, Lucas Martini, Daniel Marcheti, Estefanía Pereyra, Mauro Pereira, Guillermo Bustos, Nicolás Rey, Ignacio Bevacqua, Nestór Palomeque, Jeremias de la Cruz, Mario Trangoni. == Archivos == === Construcción === * [[attachment:romaa_planos_mecanicos.tar.gz | Diseño mecánico]] * Diseño electrónico del controlador diferencial, llaves H y panel de control. * [[attachment:romaa_firmware.tar.gz | Firmware del sistema embebido]] * [[attachment:romaa_player.tar.gz | Librería de comunicación y driver de Player]] * [[attachment:romaa_stage.tar.gz | Modelo de simulación para Stage]] === Otros === * [[attachment:romaa_triptico.pdf | Tríptico]]. * [[attachment:poster_romaaii.svg | Poster .svg]] ([[attachment:poster_romaaii_100dpi.pdf | pdf 100dpi]]). * [[attachment:poster_romaaii.pdf | Poster RoMAA-II]]. * [[attachment:reporte_desarrollo_romaa.pdf | Reporte sobre el desarrollo del RoMAA ]] == Publicaciones == * [1] ''"Plataforma móvil de arquitectura abierta"'', Gaydou D., Perez Paina G., Salomone J., Steiner G. V Jornadas Argentinas de Robótica (JAR'08), Bahía Blanca, 12-14 de Noviembre, 2008. ([[http://lcr.uns.edu.ar/jar08/papers/paper_34.pdf | pdf]]). * [2] ''"Programación y simulación en robótica móvil utilizando Player/Stage"'', Perez Paina G., Gaydou D. VI Jornadas Argentinas de Robótica, JAR2010. Buenos Aires, Argentina. ([[attachment:JAR2010_PerezPaina.pdf|pdf]]) * [3] ''"Librerías embebidas para microcontroladores LPC2000 de aplicación en robótica"'', Perez Paina G.', Gaydou D., Palomeque N., Martini L. Congreso Argentino de Sistemas Embebidos, CASE2011. UTN-FRBA, Buenos Aires, Argentina. ([[http://www.sase.com.ar/2011/files/2011/02/case2011_submission_42.pdf|pdf]]) * [4] ''"Design and implementation of a multi-sensor module for mobile robotics applications"'', Gonzalo F. Perez Paina, Fernando E. Elizondo, David A. Suarez, Luis R. Canali. Congreso Argentino de Sistemas Embebidos, CASE2012. UTN-FRBA, Buenos Aires, Argentina. ([[attachment:CASE2012_PerezPaina.pdf|pdf]])