scieee Open visual document viewer

Modelado y simulación de robots terrestres para la inspección del alcantarillado

Martínez Rozas, Simón Ernesto

Abstract

La constante incorporación de la tecnología robótica en diferentes actividades del día a día y los beneficios que en ella otorga, ha permitido que el campo de la robótica tenga un gran auge y rápida evolución en los últimos años. Por esta razón son cada vez más las oportunidades para el uso de la robótica en diversas aplicaciones, especialmente aquellas que involucran un riego para los trabajadores u operarios. Bajo esta idea el proyecto SIAR (Sewer Inpection Autonomous Robot) ha desarrollado un robot terrestre para realizar tareas de inspección de alcantarillado, ambiente el cual presenta una serie de riesgos para los humanos debido a la generación de gases tóxicos, ambiente poco higiénico y especio reducido con difícil acceso en caso de emergencia. El inconveniente para el grupo a cargo del proyecto, es que el robot debe ser movilizado desde Sevilla a la ciudad de Barcelona, y una vez en esta movilizar el robot a través de camión y llevarlo hasta dentro del alcantarillado a través de una grúa. Por esta razón, y como complemento al proyecto, nace la idea de realizar un simulador, que considera el modelo del robot SIAR con las mismas características mecánica y dinámicas de la plataforma real, y las condiciones hostiles del alcantarillado, como angostamiento secciones, canal, zonas curvas, etc. De esta manera se obtiene una representación del entorno real con el modelo que es manipulado a través de un control de lazo abierto teleoperado. Para desarrollar el simulador, se considera la utilización de software de código abierto, que tengan un soporte y comunidad activa, que además incorpore motores físicos que otorguen realidad a la simulación y que permitan utilizar la misma programación de la plataforma real sobre la simulación. Así es como surge el simulador Gazebo como opción para realizar la simulación, el cual puede integrarse con ROS, para así generar una herramienta poderosa de simulación con potentes motores físicos y en la cual se pueden implementar los mismos códigos que la plataforma real. Además, ambos softwares son de código abierto, y, son soportados por la ORDF y nutridos constantemente por una comunidad muy activa. Cabe destacar que estos softwares son compatibles con otros softwares de código abierto como por ejemplo Meshlab, el cual permite editar figura 3D, lo cual genera un set de softwares que se complementan y permiten tener una simulación con buenos resultados. Gazebo, al igual que ROS, cuanta con una gran librería y además API que permite generar un gran control sobre los elementos de la simulación. De esta manera, a partir del uso de estos elementos se desarrollarón plugins que manipulan de forma teleoperada los elementos de la simulación, como el movimiento de las ruedas o los brazos del modelo del robot SIAR, y que además comunican Gazebo con ROS para entregar mensajes con información de los elementos de la simulación. Además, se utilizan plugin que generan simulación de sensores como cámaras para visualizar el alcantarillado, y así contar con percepción del entorno.

Full text

Equa ion Chap e 1 Sec ion 1 P oyec o Fin de Más e Más e Ingenie ía Elec ónica, Robó ica y Au omá ica Modelado y simulación de obo s e es es pa a la inspección del alcan a illado Au o : Simón E nes o Ma ínez Rozas Tu o : Jesús I án Maza Alcañiz Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2018 ii iii P oyec o Fin de Mas e Más e Ingenie ía Elec ónica, Robó ica y Au omá ica Modelado y simulación de obo s e es es pa a la inspección del alcan a illado Au o : Simón E nes o Ma ínez Rozas Tu o : Jesús I án Maza Alcañiz P o eso i ula Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2018 i P oyec o Fin de Mas e : Modelado y simulación de obo s e es es pa a la inspección del alcan a illado Au o : Simón E nes o Ma ínez Rozas Tu o : Jesús I án Maza Alcañiz El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os: P esiden e: Vocales: Sec e a io: Acue dan o o ga le la cali icación de: Se illa, 2018 i El Sec e a io del T ibunal ii A mi amilia A mi no ia Ma ia y su samilia A mis amigos A mis maes os A Uni e sidad de An o agas a A Uni e sidad de Se illa A la ida … iii ix AGRADECIMIENTOS Quisie a ag adece a odas las pe sonas que me han acompañado en es e p oceso, que me han ayudado du an e odo es e iempo de o ma incondicional y que han hecho de es e log o algo an suyo como mío. A Ma ía, po acompaña me y b inda me su amo lleno de ene gía día a día. Has hecho de es e p oceso un e dade o egalo. A mi amilia, en especial a Luis, Rosa, Onel Na aly po c ee en mí, apoya me y siemp e iaja a mi lado. A mis amigos, que a la dis ancia me han llenado de su buena ene gía mo i ándome a segui adelan e. A la Uni e sidad de An o agas a po c ee en mi y b inda me la opo unidad de segui es udiando. A los p o eso es que me die on la opo unidad de abaja con ellos en es e p oyec o. A la ida, po cada día b inda nue as y lindas opo unidades. x i 5.5.2. Pa e II: Conside aciones del Plugin pa a manipula b azos 48 5.6. Inco po ación de cáma as 49 5.6.1. Visualización de da os de las cáma as 52 5.7. Inco po ación de Mapa 53 5.8. Inco po ación de Joys ick 55 5.9. Inco po ación de 56 5.10. Inco po ación del simulado a eposi o io del P oyec o SIAR en Gi hub 58 6. Resul ados ob enidos – Simulaciones 60 6.1. In oducción 60 6.2. P ime as Simulaciones: Compo amien o del obo SIAR. 60 6.3. Segundas Simulaciones: In e acción de simulación SIAR con en o no 66 7. Conclusiones y u u as mejo as 84 7.1. Conclusiones 84 7.2. Fu u as mejo as 87 8. Bibliog a ía 89 x ii ÍNDICE DE TABLAS Tabla 2. 1 Ca ac e ís icas más impo an es de un simulado 11 Tabla 2. 2 C i e ios más impo an es pa a la elección de un simulado 11 Tabla 2. 3 Conocimien o y uso pasado/p esen e de simulado es 12 Tabla 2. 4 Cali icaciones pa a el ni el de sa is acción del usua io de las he amien as más di undidas 13 Tabla 2. 5 In o mación sob e la aplicación de los so wa es más dis ibuidos, y los obo s simulados 13 Tabla 2. 6 He amien as más di undidas po á eas de in es igación 14 Tabla 3. 1 Je a quia de Ca pe as pa a gene a packages ROS 22 Tabla 3. 2 Dis ibuciones de ROS lanzadas los úl imos años 28 Tabla 5. 1 Es uc u a del a chi o “sia _model.launch” desa ollado pa a lanza el modelo a Gazebo 44 Tabla 5. 2 Je a quia de ca pe a con wo kspace /sia _ws y package /sia _gazebo desa ollada pa a almacena documen os del p oyec o de simulación 44 Tabla 5. 3 Desc ipción en o ma o SDF del “plugin_sia _wheels_pis on.cpp” den o del modelo del obo simulado. 45 Tabla 5. 4 Je a quia de ca pe a con wo kspace /sia _ws y packages /sia _gazebo y /sia _plugins desa ollada pa a almacena documen os del p oyec o de simulación 46 Tabla 5. 5 Desc ipción en o ma o SDF del plugin de cama as den o del a chi o sia .sd 52 Tabla 5. 6 Je a quia de ca pe a con wo kspace /sia _ws y packages /sia _gazebo y /sia _plugins desa ollada pa a almacena documen os del p oyec o de simulación y lanza simulación con mapa y modelo. 55 Tabla 6. 1 Mediciónes ealies de la pla a o ma SIAR 64 x iii xix ÍNDICE DE FIGURAS Figu a 2. 1 Clasi icación de he amien as de simulación 6 Figu a 2. 2 Las he amien as de simulación ac ualmen e en uso en e los pa icipan es de la encues a. El eje e ical in o ma el núme o de usua ios que indica que la he amien a es la p incipal en uso. 12 Figu a 3. 1 Relación p o ocolo TCPROS en e nodos a a és de opics. 24 Figu a 4. 1 Diseño 3D de la pla a o ma SIAR 30 Figu a 4. 2 Desc ipción del mecanismo de ajus o de la pla a o ma SIAR 31 Figu a 4. 3 Filoso ía de con ol de lazo abie o de pla a o ma SIAR 32 Figu a 4. 4 Rep esen ación obo -en o no de la pla a o ma SIAR con alcan a illado a conside a pa a ealiza el simulado 33 Figu a 5. 1 Ca ac e is icas p incipales de la pla a o ma SIAR ha se simuladas. 34 Figu a 5. 2 Es uc u a gene al o ma o SDF pa a la desc ipción de modelos. 35 Figu a 5. 3 A qui ec u a gene al de la es uc u a del p ime modelo desa ollado en Gazebo 35 Figu a 5. 4 Vis a del p ime modelo gene ado en Gazebo 36 Figu a 5. 5 Visualización de p uebas compo amien o de ine cia (a), mo imien o de b azos (b) y y desplazamien o (c), ealizadas al p ime modelo 37 Figu a 5. 6 Fo ma o de desc ipción SDF de p opiedades de oce y icción pa a el modelo de Gazebo. 38 Figu a 5. 7 A qui ec u a gene al de la es uc u a, dis ibución de join s y links, del segundo modelo desa ollado a simula en Gazebo 38 Figu a 5. 8 Vis a del p ime modelo gene ado en Gazebo 39 Figu a 5. 9 Visualización de p uebas de compo amien o de ine cia (a), desplazamien o (b) y mo imien o de b azos (c) ealizadas al segundo modelo 39 Figu a 5. 10 Imagen del a chi o 3D (a) y eal (b) de la pla a o ma SIAR a conside a pa a la ealización del e ce modelo con simili ud al eal. 40 Figu a 5. 11 A qui ec u a gene al de la es uc u a, dis ibución de join s y links, del ul imo modelo desa ollado a simula en Gazebo 41 Figu a 5. 12 Modelo inal desa ollado en o ma o SDF pa a implemen a en Gazebo que ep esen a de mane a es uc u almen e semejan e a la pla a o ma SIAR. 42 Figu a 5. 13 Visualización de p uebas de compo amien o de ine cia (a), desplazamien o (b) y mo imien o de xx b azos (c) ealizadas al segundo modelo 42 Figu a 5. 14 Relación es ablecida en e Gazebo y ROS po medio del nodo /Gazebo gene ado po el plugin _sia _wheels_pis on.cpp 45 Figu a 5. 15 Filoso ia de uncionamien o del plugin pa a manipula las uedas del obo simulado en Gazebo 47 Figu a 5. 16 Filoso ia de uncionamien o del plugin pa a manipula b azos del obo simulado en Gazebo 49 Figu a 5. 17 Rep esen ación del posicionamien o de las cama as ASUS X ion en la pla a o ma SIAR 49 Figu a 5. 18 Modelo de cama as ASUS X ion disponible en Gazebo(a) y en eposi o io Gi Hub(b) 50 Figu a 5. 19 P ueba de ine cia de cáma a ASUS X ion o ecida po simulado Gazebo 50 Figu a 5. 20 P ueba de ine cia de cáma a ASUS X ion o ecida desca gada de eposi o io Gi Hub 51 Figu a 5. 21 P ueba de sie e cama as Asus X ion sob e modelo simulado con esul ado es ables. 51 Figu a 5. 22 Relación de los plugin de las cama as y plugin_sia _wheels_pis on.cpp con nodo ROS “/Gazebo” 52 Figu a 5. 23 Visualización de da os gb y dep h ob enidos de cama a en so wa e R iz 53 Figu a 5. 24 Visualización de modi icación de mapa de alcan a illado ealizado a a és del so wa e Meshlab 54 Figu a 5. 25 En o no gene ado a pa i de la modi icación del mapa del alcan a illado e inco po ándolo al a chi o sia _model.launch” de simulación del modelo en Gazebo 54 Figu a 5. 26 Relación de nodos de ROS pa a la ejecución de la simulación con olado manualmen e po joys ick 55 Figu a 5. 27. Dis ibuciones de ejes y bo ones u ilizados en el joys ick nacon con olle GC-100XF pa a con ola manualmen e la simulación del modelo en Gazebo. 56 Figu a 5. 28 Disposición del en modelo SIAR gene ado en Gazebo y comunicado con R iz a a es de paque e gazebo2 iz 57 Figu a 5. 29 Selección de links pa a la isualización de en R iz 58 Figu a 5. 30 Sección del a bol gene ado pa a isualiza la elación de los en el modelo 58 Figu a 5. 31 Imagen del eposi o io en Gi Hub de obo ics-upo donde se isualiza los packages de la simulación. 59 Figu a 6. 1 Desc ición en consola de los packages y elemen os del wo kspace sia _ws 60 Figu a 6. 2 P esen ación de la in e az Gazebo al se lanzado 60 Figu a 6. 3 Visualización en Gazebo del obo SIAR simulado al lanza sia _model.launch 61 Figu a 6. 4 Relación de nodos al lanza sia _model.launch 61 Figu a 6. 5 Modelo obo SIAR simulado en Gazebo sin p esiona bo ones gene ando un es ado de eposo 62 Figu a 6. 6 Modelo obo SIAR simulado en Gazebo al p esiona bo on 4 (LB) y eje 1 (hacia a iba) gene ando mo imien o lineal 62 Figu a 6. 7 Modelo obo SIAR simulado en Gazebo al p esiona bo on 4 (LB), eje 1 y eje 0 gene ando mo imien o o acional. 62 Figu a 6. 8 Modelo obo SIAR simulado en Gazebo luego de gi a al p esiona bo on 4 (LB) y eje 1 (hacia a iba) gene ando mo imien o lineal 62 Figu a 6. 9 Dis ibucion de los join s en el modelo del obo SIAR simulado Gazebo 63 Figu a 6. 10 Dis ibucion de los ine cias en el modelo del obo SIAR 63 xxi Figu a 6. 11 Dis ibucion de cen os de masas en el modelo del obo SIAR 63 Figu a 6. 12 Ine cia del modelo is a desde lejos en Gazebo 63 Figu a 6. 13 Ine cia o al del modelo simulado is a desde ce ca en Gazebo 63 Figu a 6. 14 Visualización de opics del modelo en consola al lanza sia _model.launch 64 Figu a 6. 15 Es ado del obo SIAR simulado en Gazebo en ancho maximo 65 Figu a 6. 16 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia adelan e 65 Figu a 6. 17 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia adelan e al ancho minimo. 65 Figu a 6. 18 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia a ás 66 Figu a 6. 19 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia a as al ancho minimo. 66 Figu a 6. 20 Pla a o ma SIAR en a eas de inspección den o de alcan a illa 66 Figu a 6. 21 Pla a o ma SIAR p e ia inspección a alcan a illa 66 Figu a 6. 22 Visualización de opics del modelo en consola al lanza sia _Joy_model.launch 67 Figu a 6. 23 Visualización ce cana del en o no de simulacion desa ollado conla in eg ación de mapa de alcan a illado y modelo obo SIAR. 67 Figu a 6. 24 Visualización comple a del en o no de simulacion desa ollado conla in eg ación de mapa de alcan a illado y modelo obo SIAR. 67 Figu a 6. 25 Desplazamien o del obo SIAR simulado sob e pla a o ma de ing eso al unel 68 Figu a 6. 26 Desplazamien o del obo SIAR simulado con elemen o suspendidos en el ai e y o os sob e pla a o ma de ing eso al unel 68 Figu a 6. 27 Visualizacion del obo SIAR simulado con espues a es able al some e se a mo imien os b uscos de caida. 68 Figu a 6. 28 Visualización del obo SIAR simulado con espues a es able an e mo imien os b uscos 69 Figu a 6. 29 Visualización obo SIAR simulado posicionado en as al o con espues a es able despues de caida desde ampa. 69 Figu a 6. 30 Visualización obo SIAR simulado desplazandose sob e as al o con espues a es able a acele ación y acción. 69 Figu a 6. 33 Visualización obo SIAR simulado desplazandose sob e as al o con espues a es able de acele acion y accion luego de mo imien os o acionales 70 Figu a 6. 31 Visualización de obo SIAR simulado con espues a es able al in e ac ua con elemen os del en o no (mesa y consola) 70 Figu a 6. 32 isualización de obo SIAR simulado con espues a es able al in e ac ua con elemen os del en o no (ope ado ) 70 Figu a 6. 34 Visualización de obo SIAR simulado al eco e comple amen a ampa 71 Figu a 6. 35 Visualización de obo SIAR simulado al posiciona se en inicio de ampa 71 Figu a 6. 36 Visualización de obo SIAR simulado al eco e ampa 71 Figu a 6. 37 Visualizacion del obo SIAR simulado luego de eco e la ampa y posiciona se en e al alcan a illado 71 Figu a 6. 38 Visualización del obo SIAR simulado al alcan a illado con espues a es able a la i egula idad de ni el de la en ada 72 Figu a 6. 39 Desplazamien o del obo SIAR al in e io de alcan a illado 72 Figu a 6. 40 Ing eso de obo SIAR al alcan a illado 72 Figu a 6. 41 Ace camien o al obo SIAR simulado al in e io del alcan a illado 72 xxii Figu a 6. 42 Desplazamien o del obo SIAR al in e io del alcan a illado con lige o deslizamien o 72 Figu a 6. 43 Topics publicados po sia _Joy_model.launch elacionados a las cama as 73 Figu a 6. 44 Selección de Topics Cama as on ales en R iz 74 Figu a 6. 45 Visión gb cama as on ales 74 Figu a 6. 46 Visión dep h cama as on ales 74 Figu a 6. 47 Posición de obo SIAR simulado al momen o de ealiza la cap u a de imágenes con cáma as on ales 75 Figu a 6. 48 Posición del obo SIAR simulado al momen o de ealiza la cap u a de imágenes con cáma as on ales 75 Figu a 6. 49 Selección de Topics Cama as ase as en R iz 76 Figu a 6. 50 Visión dep h cama as ase as 76 Figu a 6. 51 Visión gb cama as ase as 76 Figu a 6. 53 Robo SIAR simulado en el in e io del canal del alcan a illado 77 Figu a 6. 52 Desplazamien o obo SIAR simulado an e io a caída en el canal 77 Figu a 6. 54 Desplazamien o del obo SIAR po el canal del alcan a illado con espues a es able an e el desni el de supe icies 77 Figu a 6. 55 Robo SIAR posicionado nue amen e en alcan a illado ue a del canal g acias a la u ilización de las he amien as del GUI de Gazebo 78 Figu a 6. 56 Desplazamien o de obo SIAR simulado po zona hos il del escena io 78 Figu a 6. 57 Mo imien o de b azos del obo SIAR simulado pa a modi ica cen o de masa 78 Figu a 6. 58 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado pa a desplaza cen o de masa (a), asi gene a mejo acción en uedas ase as (b) que pe mi a el desplazamien o en zona hos il (c) an es de en en a cu a (d) 79 Figu a 6. 59 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado desplazando el cen o de masa hacia adelan e (a) lo cual pe mi e ob ene mejo es abilidad y acción en la supe icie hos il an es de ing esa a la cu a (b) , luga donde alcanza el ancho minimo (c) que pe mi e so ea el angos amien o y asi con inua a anzando po el alcan a illado (d) 80 Figu a 6. 60 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado desplazando el cen o de masa hacia el cen o (a) lo cual pe mi e ob ene mejo es abilidad y no cae al canal (b) pa a luego a anza po la zona ec a del alcan a illado (c) has a ace ca se a la salida (d) 81 Figu a 6. 61 Secuencia de imágenes que mues a el ace camien o a la salida del alcan a illado (a) y como el obo SIAR no pie de es abilidad al sal a el desni el (b) pa a segui deslizandose en la supe ci ie (c) 81 Figu a 6. 62 Visualización de que ep esen an modelo y en o no simulado 82 Figu a 6. 63 Visualización del desplazamien o de del modelo espec o al en el en o no 82 Figu a 6. 64 Ace camien o a los del modelo SIAR simulado 83 xxiii xxi 1 1.INTRODUCCIÓN 1.1. An eceden es En nues os o denado es, elé onos mó iles e incluso en labo es dia ias, se encuen a a menudo un sis ema in eligen e que p ocesa in o mación de mane a ápida y e icaz, en egando así, g andes bene icios en iempo y es ue zo a las pe sonas. Es e es uno de los p incipios básicos de la obó ica, es deci , usa ecnología pa a ob ene bene icios, azón po la cual se obse a hoy en día que es a es una de las á eas del conocimien o con mayo auge, lo que conlle a consigo la apa ición disposi i os y pla a o mas obó icas des inadas a ealiza dis in as a eas, especialmen e elacionadas a aquellas ac i idades con al o po encial de iesgo, en las cuales un ope ado puede expone su in eg idad con consecuencia i e e sibles. La inspección de alcan a illado es una a ea de iesgo a la in eg idad de las pe sonas, especialmen e po el ipo de gases que se gene an en es e ambien e, condiciones higiénicas, sin menciona la posibilidad de acciden es es uc u ales que puede ocu i en es e en o no ce ado con muy pocas ías de accesos expedi as. Bajo es a idea nace el p oyec o SIAR (Sewe Inspec ion Au onomous Robo ) el cual consis e en desa olla un obo e es e comple amen e au ónomo capaz de na ega e inspecciona el sis ema de alcan a illado de o ma au ónoma con una in e ención humana mínima, y con la posibilidad de con ola manualmen e el ehículo. El Conso cio a ca go de la elabo ación de es e p oyec o es á compues o po una PYME po uguesa llamada IDMind (IDM) y dos Uni e sidades, Uni e sidad de Se illa (USE) y Uni e sidad Pablo de Ola ide (UPO). De es a mane a el p oyec o SIAR en ega los bene icios que se espe an de un p oyec o obó ico, pe o, aun así, a pesa de su g an po encialidad, como odo p oyec o ecnológico, es a pla a o ma obó ica ambién puede ecibi bene icios que hagan del p oceso de desa ollo y p ueba, e apas con esul ados mas e icien e, menos in e sión de iempo, ecu sos y ambién con mayo segu idad a los ope a ios. Uno de los p incipales ecu sos que a o ece los p oyec os obó icos y que en pa icula iene un g an impac o, es el uso de simulado es. Los simulado es pe mi en i ualiza el obo y el ambien e donde se desa ollan las a eas pa a p oba compo amien o del obo , uncionamien o es uc u al y de algo i mos obó icos, iloso ías de con ol, po encialidad de senso es, en e o os. Pa a es o un simulado debe cumpli con cie as ca ac e ís icas isuales, de p ocesamien o de da os y de in e p e ación de la ísica que pe mi an gene a un en o no con condiciones muy simila es a las que en ealidad se ealizan las a eas, y ambién un modelo con cualidades y ca ac e ís icas muy semejan es a la de la pla a o ma eal. De es a mane a, el p esen e abajo desc ibe el p oceso ealizado pa a la modelación y simulación de la pla a o ma obó ica SIAR enca gada de ealiza abajos de inspección en alcan a illado, pa a lo cual se conside a in o mación u ilizada den o del p oyec o, especialmen e la elacionada con la es uc u a de la pla a o ma, iloso ía de con ol a lazo abie o y los da os ob enidos de los p ocesos de mapping lle ados a cabo po el equipo del p oyec o. Cabe des aca que ambién se ecogen po pa de los ope a ios de la pla a o ma, la expe iencia pa a conoce como es el compo amien o de es a, de al mane a de inco po a la den o del compo amien o que debe ene la simulación. Pa a lle a a cabo es e p oyec o se e alúa una g an can idad de simulado es exis en es y los cuales poseen di e sas ca ac e ís icas, es o con el in de sa is ace las necesidades del simulado con el p oyec o, las cuales conside an p incipalmen e una buena in e p e ación de las leyes ísicas, buen sopo e, pueda implemen a se códigos obó icos de la pla a o ma eal y en que sea de código lib e, concep o que es endencia el úl imo iempo en al obó ica, ya que uni ica los desa ollos cien í icos y que pe mi e, a anza de mane a ágil en la ealización de p oyec o. 8 ácilmen e con nue as unciones. Fue diseñado idealmen e pa a abaja con múl iples obo s en en o nos al ai e lib e. Es sopo ado po la Open-Sou ce Robo ics Funda ion (OSRF) y cuen a con un g an sopo e pa a conec a con ROS. Es la he amien a de so wa e o icial pa a DARPA Robo ics Challenge5. • ARGoS [20] es un simulado de obo mul i- ísica. Puede simula enjamb es de obo s he e ogéneos en g an escala de mane a e icien e. Se puede pe sonaliza ácilmen e ag egando nue os complemen os. Tiene un en oque p o undamen e modula , es o implica que odos los aspec os ele an es de una simulación pueden se anulados, pa a una lexibilidad máxima. Los módulos se implemen an como complemen os ca gados en iempo de ejecución. Con espec o a los simulado es exis en es, ARGoS pe mi e ag ega uncionalidad en o ma de nue os senso es, ac uado es, componen es de obo , isualizaciones e incluso nue os mo o es de ísica y nue os “medios” de comunicación. Un medio, es un complemen o que implemen a algo i mos adecuados pa a simula medios de comunicación del obo (po ejemplo, alcance y sopo e, WiFi, s igme gy a a és de RFID, e c.). ARGoS se ejecu a pa a ealiza simulaciones de alladas. Los con olado es de obo usan una API especí ica del obo llamada in e az de con ol. La misma API se implemen a en el obo , lo que pe mi e una ansición luida del código de la simulación a la ealidad. Respec o a los mo o es ísicos, el usua io puede elegi pa a usa en una simulación. Además, el espacio ísico se puede di idi en a ias egiones, cada una con olada po un mo o de ísica especí ico. En o as palab as, ARGoS pe mi e simulaciones mul imo o . Es e simulado se ejecu a en Linux, Mac OSX y ecien emen e en Windows. Se publica bajo los é minos de la licencia de MIT. • V-Rep [21] es un simulado de obo s con en o no de desa ollo in eg ado, el cual se basa en una a qui ec u a de con ol dis ibuido, es deci , cada obje o y/o modelo puede con ola se indi idualmen e a a és de un sc ip inc us ado, un complemen o, un nodo ROS o BlueZe o, un clien e API emo o o un sis ema pe sonalizado solución. Es o hace que V-REP sea muy e sá il e ideal pa a aplicaciones mul i- obo . Los con olado es se pueden esc ibi en C / C ++, Py hon, Ja a, Lua, Ma lab u Oc a e. Se u iliza pa a el desa ollo de algo i mos ápidos, simulaciones de au oma ización de áb icas, c eación ápida de p o o ipos y e i icación, educación elacionada con la obó ica, moni o eo emo o, doble e i icación de segu idad, e c. Es un so wa e p oducido po Coppelia Robo ics. Al igual que Gazebo, es compa ible con múl iples mo o es de ísica (ODE, Bulle , Vo ex). • Webo sTM [22]es un so wa e de simulación de obó ica mó il que le p opo ciona un en o no de p o o ipado ápido pa a modela , p og ama y simula obo s mó iles. Biblio ecas de obo s p opo cionadas pe mi en ans e i sus p og amas de con ol a a ios obo s mó iles eales disponibles come cialmen e. Pe mi e de ini y modi ica una con igu ación comple a de obó ica mó il, incluso a ios obo s di e en es que compa en el mismo en o no. Pa a cada obje o, puede de ini a ias p opiedades, como la o ma, el colo , la ex u a, la masa, la icción, e c. Puede equipa a cada obo con una g an can idad de senso es y ac uado es disponibles. Puede p og ama es os obo s u ilizando su en o no de desa ollo a o i o, simula los y, opcionalmen e, ans e i los p og amas esul an es a sus obo s eales. Webo sTM ha sido desa ollado en colabo ación con el 5 DARPA Robo ics Challenge (DRC) ue un concu so de p emios inanciado po la Agencia de P oyec os de In es igación A anzada de De ensa de los Es ados Unidos. Realizado de 2012 a 2015, u o como obje i o desa olla obo s e es es semiau ónomos que pudie an ealiza " a eas complejas en en o nos pelig osos, deg adados y de ingenie ía humana”. También buscó hace más accesible el desa ollo de so wa e y sis emas obó icos más allá del inal del p og ama. 9 Ins i u o Fede al Suizo de Tecnología en Lausana, p obado exhaus i amen e, bien documen ado y man enido con inuamen e du an e más de 7 años. Aho a es el p incipal p oduc o come cial disponible de Cybe bo ics L d. • OpenRa e [23]p opo ciona un en o no pa a p oba , desa olla y desplega algo i mos de plani icación de mo imien o en aplicaciones de obó ica en el mundo eal. El oco p incipal es á en la simulación y análisis de in o mación cinemá ica y geomé ica elacionada con la plani icación del mo imien o. Su na u aleza independien e pe mi e que se in eg e ácilmen e en los sis emas de obó ica exis en es. P opo ciona muchas he amien as de línea de comandos pa a abaja con obo s y plani icado es, y el núcleo en iempo de ejecución es lo su icien emen e pequeño como pa a se u ilizado den o de con olado es y ma cos más g andes. Una aplicación obje i o impo an e es la au oma ización de la obó ica indus ial. • Robo an [24] es un so wa e que gene a modelos simbólicos de sis emas de múl iples cue pos (MBS), que se pueden analiza y simula en Ma lab y Simulink. Es desa ollado po el g upo de in es igación Mul icue po del Cen o de In es igación en Meca ónica (CEREM) que o ma pa e del ins i u o del Ins i u o de Ingenie ía Mecánica, de Ma e iales e Ingenie ía Ci il (iMMC) de la Uni e sidad Ca ólica de Lo aina (UCL). • Vo ex S udio [25] es una pla a o ma de simulación en iempo eal uni icada que le pe mi e espalda la in es igación de sis emas obó icos y meca ónicos, y enseña concep os de simulación y p o o ipos i uales basados en modelos a es udian es que u ilizan he amien as de ni el p o esional. Le pe mi e ans o ma modelos CAD es á icos en mecanismos i uales in e ac i os, lo que le pe mi e p oba sis emas in eligen es y diseño de equipos obó icos en en o nos 3D en ol en es. • OpenSim [26]es un conjun o de he amien as pa a el modelado musculoesquelé ico y la simulación dinámica del mo imien o, desa ollado en la Uni e sidad de S an o d y espaldado po los NIH de EE. UU. Y po DARPA. Es á disponible de o ma g a ui a, de código abie o y ex ensible a a és de complemen os de usua io. El mo o de ísica de es e p oyec o es SimBody [27] una API C ++ de código abie o que implemen a los algo i mos de Fea he s one pa a la mecánica co po al ígida, con sopo e de di e en es modelos de con ac o. • Adams [28] Es de inido p opiamen e como el so wa e de dinámica de mul icue pos (MBD) más amoso y ampliamen e u ilizado en el mundo. Mejo a la e iciencia de la ingenie ía y educe los cos os de desa ollo de p oduc os al pe mi i la alidación emp ana del diseño a ni el del sis ema. Los ingenie os pueden e alua y ges iona las complejas in e acciones en e disciplinas, incluidos el mo imien o, las es uc u as, la ac uación y los con oles pa a op imiza mejo los diseños de p oduc os en cuan o a endimien o, segu idad y comodidad. Jun o con amplias capacidades de análisis, Adams es á op imizado pa a p oblemas a g an escala, ap o echando los en o nos in o má icos de al o endimien o. U ilizando la ecnología de solución de dinámica mul icue po, ejecu a dinámicas no lineales en una acción del iempo eque ido po las soluciones FEA6. Las ca gas y ue zas calculadas po las simulaciones de Adams mejo an la 6 El análisis po elemen os ini os (FEA, siglas en inglés de Fini e Elemen Analysis) es una écnica de simulación po compu ado usada en ingenie ía. Usa una écnica numé ica llamada mé odo de los elemen os ini os (FEM). Comúnmen e se usa FEA en de e mina los es ue zos y desplazamien os en sis emas mecánicos. 10 p ecisión de FEA al p opo ciona una mejo e aluación de cómo a ían a lo la go de una gama comple a de en o nos ope a i os y de mo imien o. • MORSE [29] es un simulado gené ico pa a la obó ica académica. Se cen a en la simulación 3D ealis a de en o nos pequeños a g andes, en in e io es o al ai e lib e, con una a décima pa e de obo s au ónomos. Puede con ola se comple amen e desde la línea de comandos. Las escenas de simulación se gene an a pa i de sc ip s de Py hon simples. Viene con un conjun o de senso es es ánda (cáma as, escáne láse , GPS, odome ía, e c), ac uado es (con olado es de elocidad, con olado es de pun os de u a de al o ni el, con olado es conjun os gené icos) y bases obó icas (quad o o s, ATRV, Pionee 3DX, gené icos 4 ehículo de uedas, PR2, en e o os). Los nue os se pueden ag ega ácilmen e. La ep esen ación MORSE se basa en el Blende Game Engine. El Game Engine basado en OpenGL admi e shade s, p opo ciona opciones a anzadas de iluminación, admi e ex u as múl iples y u iliza la biblio eca Bulle de úl ima gene ación pa a la simulación ísica. • MuJoCo [30] es un mo o dinámico desa ollado p incipalmen e po E. Todo o y aho a p opiedad de Robo i LLC. Es uno de los mo o es de ísica más ecien es, concebido pa a simula obó ica y sis emas biomecánicos. Es compa ible con cálculos pa alelos, p opo ciona dinámica in e sa con con ac os y es icciones de igualdad, implemen a a ias dinámicas de con ac o. Es adecuado pa a la op imización del con ol y se puede usa en iempo eal den o de un lazo de con ol. • XDE [31] es un mo o de choque de ealidad i ual que simula las ope aciones de mon aje, desmon aje y ensamblaje pa a el diseño de unidades mecánicas / enes de po encia. A pa i de los da os CAD (Compu e Assis ed Design) que se impo an au omá icamen e, se ocupa á de piezas mecánicas ígidas, lexibles (cables) y de o mables, pe o ambién de golpes, e ocesos, deslizamien os, enómenos de de o maciones elás icas, e c. Es os códigos se pueden in eg a en un en o no i ual e in e ac i o pa a simula el ges o del ope ado . Es desa ollado po CEA LIST. U ilizado pa a aplicaciones de ealidad i ual en con ex os indus iales. • OpenHRP3 [32] OpenHRP3 (Open A chi ec u e Human-cen e ed Robo ics Pla o m e sión 3) es una pla a o ma de so wa e in eg ada pa a simulaciones de obo s y desa ollos de so wa e. Es a e sión sé dis ibuye como un so wa e de código abie o. Pe mi e a los usua ios inspecciona un modelo de obo o iginal y un p og ama de con ol median e simulación de dinámica. P opo ciona a ios componen es de so wa e y biblio ecas de cálculo que se pueden u iliza pa a desa ollos de so wa e elacionados con la obó ica. El mo o de cálculo de dinámica es á casi desa ollado po "Nakamu a Lab, Dep o. De Mechano In o ma ics, Uni e sidad de Tokio" y la in e az g á ica es á a ca go de "Gene al Robo ix, Inc". Las o as pa es se desa ollan como un abajo coope a i o de "Humanoid Resa ch G oup" y "Task-In elligence Resea ch G oup" en "In elligen Sys ems Resea ch Ins i u e", "Ins i u o Nacional de Ciencia y Tecnología Ind us ial A anzada (AIST)". 2.6. P e e encia de simulado es en los usua ios Basándose en los esul ados de la encues a ealizada en [2], y conside ando es a como una de las pocas ins ancias pa a de ec a la p e e encia de los usua ios, se ob ienen una idea de los simulado es obó icos más usados en Uni e sidades, Cen o de In es igación, Ins i uciones y Emp esas. Es o esul ado además es án elacionado con una endencia en el uso p incipalmen e 11 de sis ema GNU/Linux, código C++, he amien a de simulación p e e iblemen e de código abie o y uso de middlewa e obó ico. En dicha encues a, p ime amen e, los pa icipan es e alua on según su expe iencia, las ca ac e ís icas más impo an es pa a una buena simulación, en la cual se des aca con mayo impo ancia la es abilidad de simulación. Los esul ados se obse an en la Tabla 1.1. Tabla 2. 1 Ca ac e ís icas más impo an es de un simulado # Ca ac e ís icas Cali icación media 1 Es abilidad de Simulación 5(4.50 ±0.58) 2 Rapidez 4(4.05±0.75) 3 P ecisión de simulación 4(4.02±0.71) 4 P ecisión de esolución de con ac o 4(3.91±0.92) 5 Misma in e az en e el sis ema eal y el simulado 4(3.67±1.26) 6 Ca ga compu acional (CPU) 3(3.53±0.85) 7 Ca ga compu acional (memo ia) 3(3.22±0.90) 8 Rep esen ación isual 3(3.02±1.02) Además, los pa icipan es indica on los c i e ios más impo an es pa a elegi un simulado , lo cual se esumen en la Tabla 1.2. Los esul ados a oja on como lo más impo an es una simulación ealis a (ce cana a la ealidad) y licencia de código abie o del so wa e, es deci , buenos mo o es de ísica y he amien as compa idas po pa e de la comunidad. En un segundo ni el, se indicó simulaciones ápidas e in e aces sin isu as pa a esc ibi el mismo código pa a un obo simulado y eal. Con es o se in ie e que los simulado es se u ilizan pa a p o o ipa y op imiza los con olado es, es deci , la elocidad es impo an e, así como el hecho de no ene que eesc ibi el código cuando se cambia de un sis ema a o o. Tabla 2. 2 C i e ios más impo an es pa a la elección de un simulado # Mas impo an es c i e ios Usua ios 1 Simulación muy ce cana a la ealidad 32% 2 So wa e lib e 24% 3 Mismo código pa a el obo eal y simulado 19% 4 Rápido y lige o 11% 5 Pe sonalización 6% 6 No solapamien o de cue pos 3% Po o a pa e, pa a ene una idea de los simulado es exis en es, se pidió a los pa icipan es que indica an su amilia idad con algunas he amien as de simulación conocida y/o u ilizada, siendo el simulado Gazebo el que se lle a el p ime luga en es a pa e. Un esumen del po cen aje de espues as pa a las he amien as más ele an es se mues a en la Tabla 1.3. 12 Tabla 2. 3 Conocimien o y uso pasado/p esen e de simulado es He amien a Ac ualmen e usado y es la p incipal he amien a Ac ualmen e usado, pe o no es la p incipal he amien a Ac ualmen e usado solo pa a p oba lo Usado una ez solo pa a p oba Usado y luego abandonado Conoce, pe o nunca uso Nunca oyó Gazebo 13% 7% 3% 18% 10% 34% 15% ODE 11% 15% 5% 18% 22% 22% 10% Bulle 5% 13% 7% 12% 10% 29% 24% V-Rep 5% 3% 3% 18% 3% 29% 39% Webo s 4% 7% 1% 16% 13% 32% 27% OpenRa e 5% 3% 2% 7% 5% 29% 49% Robo an 4% 0% 1% 4% 2% 13% 76% XDE 5% 3% 0% 3% 1% 14% 74% Blende 5% 17% 7% 22% 6% 28% 15% MujoCo 2% 0% 0% 4% 2% 21% 71% N idia 1% 1% 4% 12% 7% 43% 32% OpenSIM 3% 4% 3% 8% 1% 41% 40% Vo ex 3% 2% 0% 5% 5% 17% 68% RoboRobo 3% 1% 0% 0% 1% 4% 91% También se solici ó que indica an la he amien a de simulación ac ual que es án u ilizando, lo cual nue amen e iene en p ime luga al simulado Gazebo. Los esul ados se mues an en la Figu a 1.2. Pa a conoce el g ado de sa is acción de los pa icipan es, se solici ó e alua los simulado es usados, así e i a elecciones inap opiadas de so wa e y b inda suge encias ú iles a la comunidad. Los esul ados de la abla 1.4, ubican al simulado Gazebo como el mejo e aluado. Figu a 2. 2 Las he amien as de simulación ac ualmen e en uso en e los pa icipan es de la encues a. El eje e ical in o ma el núme o de usua ios que indica que la he amien a es la p incipal en uso. 13 Tabla 2. 4 Cali icaciones pa a el ni el de sa is acción del usua io de las he amien as más di undidas He amien a Documen ación Sopo e Ins alación Tu o iales P oyec os ac i os y comunicas API Global Gazebo 3.47±0.99 4.00±1.07 3.93±1.03 3.53±1.12 3.80±0.45 3.67±0.82 3.88±0.91 ARGos 3.40±0.70 3.90±0.99 4.70±0.48 4.20±0.63 4.60±0.74 4.30±0.67 4.17±0.70 ODE 3.80±0.63 3.40±1.07 4.10±1.28 3.20±1.13 3.90±1.25 3.40±1.26 3.59±1.15 Bulle 3.37±1.06 3.62±0.91 4.75±0.46 4.00±0.76 3.75±0.74 3.87±0.83 3.96±0.78 V-Rep 4.28±0.76 4.43±0.79 4.71±0.76 4.14±0.90 4.28±0.53 4.41±1.07 4.25±0.80 Webo s 3.86±1.07 3.57±1.13 4.43±0.79 3.43±1.51 4.42±0.69 4.57±0.53 4.20±0.96 OpenRa e 3.50±0.55 4.67±0.52 4.17±0.75 3.50±1.22 4.33±0.52 4.33±0.52 4.12±0.70 Robo an 3.60±0.55 3.80±0.45 3.80±0.45 3.20±0.84 4.20±0.84 3.80±0.45 3.66±0.63 Vo ex 3.33±1.15 3.67±1.53 5.00±0.00 2.67±0.58 3.67±1.15 3.33±0.58 3.48±0.80 OpenSIM 4.33±0.58 4.67±0.58 3.67±0.58 3.00±1.00 4.00±0.58 3.67±0.58 4.00±0.55 MujoCo 2.33±1.15 1.97±0.58 4.33±1.15 3.33±1.15 4.67±0.00 5.00±0.00 3.62±0.66 XDE 1.40±0.55 2.80±1.09 3.60±1.09 2.80±1.09 3.40±0.84 3.00±1.00 2.83±1.07 Conside ando que cada á ea de in es igación en obó ica iene necesidades especí icas, los pa icipan es menciona on las p incipales aplicaciones y obo s simulados en las he amien as más di undidas. Los esul ados se ap ecian en la Tabla 1.5 Tabla 2. 5 In o mación sob e la aplicación de los so wa es más dis ibuidos, y los obo s simulados He amien a P incipales Aplicaciones P incipales Robo s Simulados Gazebo 33% obo s mó iles Robo s de se icios, obo s humanoides 40% obo a las, 33% pla a o ma pe sonalizada Vehículos con uedas, quad o o , u lebo , PR2 ARGos 46% obo s mó iles, 36% obó ica de enjamb e Robo s olado es 64% pla a o mas khepe a/epuck ma Xbo / oo bo , quad o o ODE 50% obo s humanoides Robo s mul i pie nas, simulación numé ica de sis emas ísicos 40% obo s mul i pie nas Iclub Bulle 25% obo s humanoides, simulación numé ica de sis emas ísicos Manipulado es indus iales, análisis de mo imien o humano, obo s mó iles, obo s mul i pie nas 25% obo s mul i pie nas V-Rep 29% obo s mó iles Manipulado es indus iales, obo s humanoides, diseño mecánico, a qui ec u a cogni i a, o ica de se icio 29% Nao, quad o o , eiculos con uedad, Bioloid, khepe a/ epuck/ hymio Webo s 43% obó ica mó il, obó ica mul i pie nas Robó ica humanoide 29% UKA, LWR, Lego Minds o m, ehiculo con uedas OpenRa e 50% obo s humanoides, obó ica de se icio 50% PR2 Robo an 60% obó ica humanoides Análisis de mo imien o humano, obo s olado es 60% Coman Vo ex 66% obó ica mó il Robó ica humanoide 66% ehículos con uedas B azo Ba e OpenSIM 33% obó ica de asis encia, simulación numé ica de sis emas ísicos, obó ica de humanoides 33% khepe a/ e- puck/ hymio MujoCo 33% diseño mecánico, obó ica humanoide, simulación numé ica de sis emas ísicos 66% A las, Nao, Shadow hand, Ba e A m, HRP2 XDE 40% obó ica humanoide 20% manipulado es indus iales, simulación numé ica de sis emas ísicos, análisis de mo imien o humano 40% obo s indus iales, KUKA LWR 20% ehículos con uedas 14 Pa a complemen a la in o mación an e io , ambién se ex ajo una idea de las he amien as más u ilizadas pa a una selección de á eas de in es igación. Los esul ados se mues an en la Tabla 1.6. Tabla 2. 6 He amien as más di undidas po á eas de in es igación A ea de In es igación Usua ios So wa es mas usados O os so wa es usados Robo ica humanoide 32% ODE, Gazebo, Robo an, OpenRa e, A bo is-Py hon, XDE, iCub_Sim D ake, MapleSim, MuJoCo, OpenSIM, Robo - icsLab, SL, Vo ex, V-Rep, Webo s, own code Robo ica Mo il 25% Gazebo, ARGoS, Webo s, VRep, Vo ex ADAMS, Au odesk In en o , Bulle , ODE, Mo se, obo obo, Sim, own code Robo ica mul i pie nas 13% Webo s, ODE Gazebo, ADAMS, Au ole , Bulle , Moby, Robo icsLab, SIMPACK, VoxCad Robo ica de se icio 12% Gazebo, OpenRa e OpenSIM, V-Rep, Mo se, RCIS, SL Simulación nume ica de sis emas isicos 8% Bulle MuJoCo, ODE, OpenSIM, Simulink, ep, XDE Robo s olado es 6% ARGoS Robo an, c csim, Gazebo, Simulink/Ma lab Robo ica de enjamb e 5% ARGoS obo obo Manipulado es Indus iales 5% Bulle s, Dymola, Ma lab, V-Rep, XDE Diseño Mecanico 4% Moby, MuJoCo, V-Rep, own code Analisis de Mo imien o Humano 3% Robo an, Bulle , XDE Robo s se pien es 3% ODE Ma lab 2.7. Tendencias de so wa e en Robó ica Dada las di icul ades que p esen a el desa ollo de un obo , ya que es os es un sis ema complejo que equie en una expe iencia en muchos campos, la comunidad obó ica se ha olcado desde comienzos de milenio a omen a nue as he amien as so wa e que po encien los esul ados en in es igación y aplicaciones. A consecuencia de es o, los desa ollos que se han lle ado a cabo ienen p incipalmen e un ca ác e colabo a i o, abie o al público en gene al y con una gama de posibilidades muy po en es. Es a idea o ece una solución a la ecu en e y conocida p oblemá ica de “ ein en a la ueda”. Es o se e ie e, po ejemplo, si en un caso se cuen a con un plazo de e minado pa a desa olla un obo p og amando, segu amen e la mayo can idad de iempo se á in e ido en c ea un sis ema básico de comunicación y/o p og amación, lo que, en consecuencia, al inal del p oyec o, a iba á en esul ados simila es a los que o os desa ollado es es án ealizando. En espues a a lo an e io , el p incipal so wa e desa ollado bajo es e concep o es ROS (Robo ic Ope a ing Sys em), el cual p opo ciona al usua io un conjun o de he amien as y a ajos pa a inicia una aplicación desde un ni el supe io , y lo inco po a en un mundo de colabo ación con desa ollado es. Es deci , ROS pe mi e con a con es uc u as ya diseñadas y p og amadas que luego se pueden modi ica y compa i , e i ando, de es a mane a, comenza desde ce o con cada diseño y supe ando la in e sión de iempo inhe en e a la cons ucción de algo i mos, piezas comunes como b azos y uedas, he amien as de plani icación de mo imien o, econocimien o de obje os, na egación 2D, en e o as cosas. De es a mane a, se e i a hace lo que han hecho o os desa ollado es an es en sus p oyec os. La adminis ación de ROS es lle ada po la Open Sou ce Robo ics Founda ion (OSRF), (Fundación pa a la p og amación obó ica de Código Abie o), ubicada en la ciudad de San F ancisco, Es ados Unidos. La misión p incipal de es a ins i ución es: “apoya el desa ollo, la dis ibución y la adopción de so wa e de código abie o pa a su uso en la in es igación de la obó ica, la educación y el desa ollo de p oduc os”. Bajo es a idea la OSRF busca uni e saliza el emp endimien o y la in es igación de la p og amación en el ámbi o obó ico mundial. [33] Los dos p incipales p oyec os supe isados po la OSRF son ROS y el p eci ado simulado 15 Gazebo. Aunque ambos u ie on un o igen di e en e y ue on he amien as cons uidas de o ma independien e po desa ollado es di e en es, con el iempo esul a on se complemen a ias y adminis adas, inalmen e, po la OSRF. 2.7.1. O igen de ROS como so wa e lib e A pa i del año 2000, el S an o d A i icial In elligence Labo a o y (SAIL) (Labo a o io de In eligencia A i icial de S an o d) de la Uni e sidad de S an o d donde “S an o d Ai obo ” (S ai ) y obo s P og am (P ), ealizó g andes es ue zos po desa olla sis emas obó icos accesibles y sin es icciones, es deci , de código abie o, con el in de o ece modelos al alcance de la comunidad, y así, omen a la gene ación de conocimien o de o ma colabo a i a en el campo de la obó ica. Tales abajos u ie on u os el año 2007, año en el que ROS hace apa ición. El año 2008 el labo a o io de in es igación obó ica Willow Ga age ubicado en Menlo Pa k, Cali o nia, en los Es ados Unidos, oma es e in e esan e p oyec o decide espalda lo. Willow Ga age es una e dade a incubado a de emp esas en es e ema y, de o ma isiona ia, puso su a ención en el camino ya adelan ado po los p og amas académicos de la Uni e sidad de S an o d, y aún más, en sus desa ollos. En el año 2013, la adminis ación de ROS cambia y es ans e ida a la Open Sou ce obo ics Funda ion (OSRF), la cual se man iene igen e en la ac ualidad. En los úl imos años, la comunidad de usua ios de ROS ha c ecido al ededo de odo el mundo, ma cando p esencia en los di e sos con inen es. Además, his ó icamen e la mayo ía de los usua ios de ROS es aban en labo a o ios de in es igación, pe o aho a se obse a cada ez más la inco po ación de es e al sec o come cial, pa icula men e en la obó ica indus ial y de se icios. La comunidad ROS es muy ac i a. Según mediciones ealizadas po la o ganización, la comunidad ROS iene más de 1.500 pa icipan es en la lis a de usua ios “ os-usua ios”, más de 3.300 usua ios en la wiki de documen ación colabo a i a y unos 5.700 usua ios en el si io web ROS Answe s Q & A. La wiki iene más de 22,000 páginas wiki y más de 30 ediciones de páginas wiki po día. El si io web de p egun as y espues as iene 13,000 p egun as o muladas has a la echa, con una asa de espues a del 70% po cien o. La licencia es á libe ada bajo los é minos de la licencia BSD (Be keley So wa e Dis ibu ion), de inido como un so wa e de código abie o, g a ui o pa a el uso come cial y de in es igación. [34] 2.7.2. O igen de Gazebo como so wa e lib e El desa ollo de Gazebo comenzó en el o oño de 2002 en la Uni e sidad del Su de Cali o nia. Los c eado es o iginales ue on el D . And ew Howa d y su alumno Na e Koenig. El concep o de un simulado de al a idelidad su gió de la necesidad de simula obo s en en o nos al ai e lib e bajo di e sas condiciones. Como simulado complemen a io de S age, se eligió el nomb e Gazebo como la es uc u a más ce cana a un escena io al ai e lib e. El nomb e se ha es ancado a pesa del hecho de que la mayo ía de los usua ios de Gazebo simulan ambien es in e io es. Con los años, Na e con inuó desa ollando Gazebo mien as comple aba su doc o ado. En 2009, John Hsu, un ingenie o de in es igación sénio en Willow, in eg ó ROS y PR2 en Gazebo, que desde en onces se ha con e ido en una de las p incipales he amien as u ilizadas en la comunidad de ROS. Unos años más a de, en la p ima e a de 2011, Willow Ga age comenzó a b inda apoyo inancie o pa a el desa ollo de Gazebo. En 2012, Open Sou ce Robo ics Founda ion (OSRF) se sepa ó de Willow Ga age y se con i ió en el adminis ado del p oyec o Gazebo. Luego de un impo an e es ue zo de desa ollo po pa e de un equipo de indi iduos alen osos, OSRF usó Gazebo pa a ejecu a el Vi ual Robo ics Challenge, un componen e del DARPA Robo ics Challenge, en julio de 2013. 16 OSRF con inúa desa ollando Gazebo con el apoyo de una comunidad di e sa y ac i a, los cuales in i an a es a a en os al desa ollo de emocionan es simulado es elacionados con obo s. [18] 2.8. Colabo ación ROS-Gazebo EL desa ollo de obó ica ha lle ado apa ejada his ó icamen e una se ie de di icul ades. Es o se ha is o la gamen e e lejado en desa ollado es al ededo del mundo, los cuales es u ie on emp endiendo es ue zos aislados po da sol encia y es abilidad a es a in e esan e ama del conocimien o, dando pasos ca en es de conexión en e sí y apelando a me odologías di e sas. Es a di e sidad de me odologías ha lle ado a que los desa ollado es in ie an g andes can idades de iempo y de es ue zo en la o mulación de pla a o mas y sis emas de base que pe mi an la ope abilidad de los di e sos aspec os de un obo (como, po ejemplo, algo i mos obó icos). Como espues a, los es ue zo que ealiza ac ualmen e la OSRF a a és de so wa e de código abie o ha log ado da solución a es a p oblemá ica, es ableciendo una base pa a la comunidad obó ica. Una mues a de es o, es el uso de es os so wa es en el DARPA Robo ic Challenge (DRC), compe encia obó ica que ma có un p eceden e en la o ma de aplica conocimien o en el desa ollo de di e sos ipos de Robo , y la cual eunió a equipos de odo el mundo, con g an expe iencia y je a quía en es a disciplina. La OSRF es u o elacionada con el DRC desde el comienzo en junio de 2012 has a su inalización el año 2015, donde la undación pudo co obo a in si u, que el uso de ROS y Gazebo du an e la compe encia ue gene alizado. Es o se e leja en que, de los 23 equipos de inales de la DRC, 18 equipos usaban ROS y 14 equipos usaban Gazebo, mo i ado p incipalmen e a que es e como simulado y g acias y sus ca ac e ís icas pe mi ió a los desa ollado es p oba concep os en en o nos i uales obus os sin a iesga sus ha dwa e aliosos. Es o ma co un hi o de g an aleg ía e impo ancia pa a la undación, especialmen e al e el impac o que enía el uso de so wa e de código abie o pa a obo s en al compe ición. [35] Es o signi ico a la ez, ealiza un exhaus i o abajo de es años en pa alelo con la compe encia, con el in de ac ualiza y mejo a el desempeño de Gazebo pa a cumpli con las necesidades de simulación su gen es en los equipos du an e la compe encia, incluido el hos ing del Vi ual Robo ics Challenge (VRC) en junio de 2013. A a és de con e saciones con equipos que u iliza on Gazebo en su desa ollo de so wa e y p uebas, incluidos equipos que u ilizan obo s dis in os al A las que modelamos pa a el VRC. De ellos, an o el p ime equipo Team KAIST como el e ce luga Ta an Rescue discu ie on el uso de Gazebo, en pa icula pa a desa olla soluciones pa a la ecupe ación de caídas y la salida de un ehículo. Es o dado como ealimen ación pa a que Gazebo b inde a los in oluc ados en la obó ica las he amien as que necesi an pa a desa olla de o ma segu a so wa e de obo s pa a maneja si uaciones insegu as, sin iesgo pa a las pe sonas o el ha dwa e. En la ac ualidad Gazebo dispone de la he amien a “gazebo_ os_pkgs” el cual es un conjun o de paque es ROS que p opo cionan las in e aces necesa ias pa a simula un obo en el simulado de cue po ígido 3D Gazebo pa a obo s. Se in eg a con ROS u ilizando mensajes ROS, se icios y econ igu ación dinámica. De es a mane a se log a con ola y manipula el obo simulado en Gazebo a a és de la iloso ía en nodos de ROS. [36] 17 3.DESCRIPCIÓN DE SOFTWARE UTILIZADOS 3.1. In oducción En el p esen e capí ulo se desc ibe los so wa es u ilizados pa a el desa ollo del p oyec o. Pa a es o, se conside a la in o mación ecogida en el capí ulo an e io , donde des aca on los so wa es dis ibuidos po la OSRF, es deci Gazebo y ROS como medios pa a lle a a cabo p oyec os en el ámbi o de la obó ica. El p ime o pa a diseña la pla a o ma obó ica en un en o no y p oba el uncionamien o del código obó ico y el segundo pe mi iendo desa olla el código a implemen a en el obo . O as azones es que son códigos abie os, la comunidad y el sopo e es a ac i o, con o man una in e az sin isu as pa a esc ibi el mismo código en un obo simulado y eal, y, especí icamen e en el caso de Gazebo, u iliza mo o es ísicos y he amien as de g a icas 3D pa a simula obo s en un en o no con condiciones eales Gazebo. 3.2. ¿Qué es Gazebo? Gazebo es un simulado mul i- obo 3D con dinámica. O ece la capacidad de simula de mane a p ecisa y e icien e poblaciones de obo s, obje os y senso es en en o nos in e io es y ex e io es complejos. Gazebo gene a ealimen ación ealis a po pa e de senso es, in e acciones ísicamen e e osímiles en e los obje os y una simulación p ecisa de la ísica de cue pos ígidos. Cuen a con un mo o obus o de ísica, g á icos de al a calidad e in e aces p og amá icas y g á icas con enien es. Es g a ui o y cuen a con el espaldo de una comunidad ib an e. Puede se desca gado di ec amen e desde página o icial pa a Ubun u, Debian, Fedo a, Mac y Windows. 3.2.1. Ca ac e ís icas de Gazebo Algunas de las p incipales ca ac e ís icas de Gazebo son [18]: • Simulación Dinámica: Usa múl iples mo o es de ísica de al o endimien o. • A anzadas G a icas 3D: P opo ciona ealis a ep esen ación de en o no. • Senso es y uido: Pe mi e gene a da os de senso , opcionalmen e con uido. • Plugins: Desa ollo de plugin pe sonalizados pa a con ol de obo s, senso es y en o no. B indan acceso di ec o a la API de Gazebo. • Modelos de Robo s: P opo ciona muchos modelos de obo s y es posible c ea el p opio usando o ma o SDF7 [37]. • T anspo e TCP/IP: puede ejecu a la simulación en se ido es emo os e in e ac ua con Gazebo a a és de mensajes basados en socke u ilizando Google P o obu s. • CloudSim: es posible ejecu a Gazebo en Amazon AWS y GzWeb pa a in e ac ua con la simulación a a és de un na egado . • He amien as en línea de comandos: Ex ensas he amien as de línea de comando que acili an la in ospección y el con ol de la simulación. 7 SDF, simula ion desc ipción o ma ( o ma o de desc ipción de simulación), es un o ma o XML que desc ibe obje os y en o nos pa a simulado es, isualización y con ol de obo s. O iginalmen e desa ollado como pa e del simulado de obo Gazebo. Con los años, SDF se ha con e ido en un o ma o es able, obus o y ex ensible capaz de desc ibi odos los aspec os de los obo s, los obje os es á icos y dinámicos, la iluminación, el e eno e incluso la ísica. En la ac ualidad es sopo ado po la OSRF. 24 Ni el de g á icos de compu ación ROS – ROS Compu a ion G aph Le el Es la ed de los p ocesos de da os ROS. Los concep os básicos que p opo cionan da os de di e en es mane as son: • Nodes: (Nodos) P ocesos que ealizan cálculos. Un sis ema de con ol de obo gene almen e comp ende muchos “nodes” pa a las di e en es a eas que debe ealiza . Se esc ibe con biblio eca clien e ROS, como oscpp o ospy. • Mas e : P opo ciona egis o de nomb e y búsqueda pa a el es o del g á ico de compu ación. Sin el “mas e ”, los “nodes” no pod ían encon a se, in e cambia “messages” o in oca “se ices”. • Pa ame e Se e : (Se ido de pa áme os) Pe mi e que los da os se almacenen po cla e en una ubicación cen al. Es pa e del Mas e . • Messages: (Mensajes) Los nodos se comunican en e sí po messages. Un mensaje es simplemen e una es uc u a de da os, que comp ende campos ipados. Los ipos p imi i os es ánda (en e o, pun o lo an e, booleano, e c.), y las ma ices de ipos p imi i os son compa ibles. • Topics: (Temas) es un nomb e que se usa pa a iden i ica el con enido del “message”. Un “node” puede en ia un mensaje publicando un “ opic” de e minado, o bien, si es á in e esado en cie os da os se susc ibi á al “ opic” ap opiado. Los “messages” se en ían a a és de un sis ema de anspo e con semán ica publica /susc ibi (publish/subsc ibe). • Se ices: (Se icio) el modelo de publica /susc ibi es un pa adigma de comunicación muy lexible, pe o su anspo e unidi eccional de muchos a muchos no es ap opiado pa a las in e acciones de solici ud / espues a ( eques / eply), que a menudo se equie en en un sis ema dis ibuido. Pa a es o se u ilizan los se ices, que de ine es uc u as de mensaje pa a “ eques ” y “ eply”. Un “node” p o eedo o ece un “se ice” con un nomb e y un clien e u iliza el “se ice” en iando el mensaje de “ eques ” y espe ando “ eply”. • Bags: Es un o ma o pa a gua da y ep oduci da os de “message” ROS. Es un mecanismo impo an e pa a almacena da os, como de senso es, que pueden se di íciles de ecopila pe o que son necesa ios pa a desa olla y p oba algo i mos. El ROS “mas e ” ac úa como un se icio de nomb es en el G á ico de Compu ación ROS. Almacena in o mación de egis o de “ opics” y “se ices” pa a “nodes”. Los “nodes” se comunican con “mas e ” pa a epo a su in o mación de egis o. Como es os “nodes” se comunican con el “mas e ”, pueden ecibi in o mación sob e o os “nodes” egis ados y ealiza las conexiones, según co esponda. El “mas e ” ambién ealiza á de oluciones de llamada a es os “nodes” cuando cambie es a in o mación de egis o, lo que pe mi e a los “nodes” c ea conexiones dinámicamen e a medida que se ejecu an nue os “nodes”. Los “nodes” se conec an a o os nodos di ec amen e; el “mas e ” solo p opo ciona in o mación de búsqueda. Los “nodes” que susc iben a un “ opic” solici an conexión de los “nodes” que publican ese “ opic”, y es ablece án conexión median e un p o ocolo de conexión aco dado. El p o ocolo más u ilizado en ROS es TCPROS, Figu a 2.1, que usa conec o es es ánda TCP / IP. Publica Susc ibi Node Node Topic In ocación de Se icio Figu a 3. 1 Relación p o ocolo TCPROS en e nodos a a és de opics. 25 Ni el de la comunidad ROS – ROS Communi y Le el Son ecu sos que pe mi en in e cambia so wa e y conocimien o. Es os ecu sos incluyen: • Dis ibu ions: (dis ibuciones) Son colecciones de “s acks”17 e sionadas que se puede ins ala . Juegan un papel simila a las dis ibuciones de Linux: acili an la ins alación de so wa e y ambién man ienen e siones consis en es en un conjun o de es os. • Reposi o ies: (Reposi o ios) ROS depende de una ed ede ada de eposi o ios de códigos, donde di e en es ins i uciones pueden desa olla y lanza sus p opios componen es de so wa e de obo s. • ROS Wiki: Fo o pa a documen a in o mación sob e ROS. Cualquie pe sona puede egis a se y con ibui documen ación, co ecciones o ac ualizaciones, u o iales y más. • Bug icke Sys em: Sis ema de seguimien o de p oblemas. • Mailing Lis : (Lis a de Co eos) P incipal canal de comunicación sob e ac ualizaciones de ROS, así como o o pa a hace p egun as sob e el so wa e ROS. • ROS Answe s: un si io de p egun as y espues as elacionadas con ROS. • Blog: El blog os.o g p opo ciona ac ualizaciones pe iódicas, que incluyen o os y ideos. Nomb es - Name 3.3.1.4.1 Nomb es de ecu sos g á icos – G aph Resou ce Name P opo cionan una es uc u a je á quica de nomb es que se u iliza pa a odos los ecu sos en un g á ico de compu ación ROS, como “nodes”, “pa ame e s”, “ opics” y “se ices”. Es os nomb es son muy pode osos en ROS y son undamen ales pa a la o ma en que se componen los sis emas más g andes y complicados en ROS, po lo que es undamen al comp ende cómo uncionan es os nomb es y cómo puede manipula los. Son un mecanismo impo an e en ROS pa a p opo ciona encapsulación. Cada ecu so se de ine den o de un “namespaces”, que puede compa i con muchos o os ecu sos. En gene al, los ecu sos pueden c ea ecu sos den o de su “namespaces” y pueden accede a ecu sos den o o sob e su p opio “namespaces”. Se pueden es ablece conexiones en e ecu sos en “namespaces” dis in os, pe o es o gene almen e se hace median e el código de in eg ación que se encuen a sob e ambos “namespaces”. Es a encapsulación aísla di e en es pa es del sis ema en caso de acciden almen e aga a el ecu so inco ec o con nomb e o nomb es de secues o global. Los nomb es se esuel en ela i amen e, po lo que los ecu sos no necesi an sabe en qué espacio de nomb es se encuen an. Es o simpli ica la p og amación ya que los nodos que uncionan jun os se pueden esc ibi como si es u ie an odos en el espacio de nomb es de ni el supe io . Cuando es os Nodos se in eg an en un sis ema más g ande, se pueden inse a en un espacio de nomb es que de ine su colección de códigos. 3.3.1.4.2 Nomb es de ecu sos del paque e – Package Resou ce Names Se u ilizan en ROS con concep os de ni el de sis ema de a chi os pa a simpli ica el p oceso de e e encia a a chi os y ipos de da os en el disco. Los nomb es de ecu sos de paque es son muy simples: son solo el nomb e del “package” en el que se encuen a el ecu so más el nomb e del ecu so. Po ejemplo, el nomb e "s d_msgs / S ing" hace e e encia al ipo de mensaje "S ing" en el “package” "s d_msgs". 17 S acks (pilas) simpli ican el p oceso de in e cambio de códigos. Los packages es an o ganizados en pilas. Las pilas son el mecanismo p incipal en ROS pa a dis ibui so wa e, ienen una e sión asociada y puede decla a dependencias en o as pilas. Las dependencias decla an un núme o de e sión, que p opo ciona una mayo es abilidad en el desa ollo. 26 Algunos de los a chi os elacionados con ROS a los que se puede hace e e encia u ilizando nomb es de ecu sos de paque e incluyen: • Tipos de mensajes (msg) • Tipos de se icio (s ) • Tipos de nodo Los nomb es de ecu sos de paque es son muy simila es a las u as de a chi os, excep o que son mucho más co os. Es o se debe a la capacidad de ROS pa a localiza “package” en el disco y hace suposiciones adicionales sob e sus con enidos. 3.3.2. Concep os de ni el supe io La pla a o ma cen al de ROS in en a se an independien e de la a qui ec u a como sea posible. P opo ciona a ios modos di e en es de comunicación de da os ( opics, se ices, pa ame e se ice), pe o no es ablece cómo se usan ni cómo se nomb an. Es e en oque pe mi e que ROS se in eg e ácilmen e con una a iedad de a qui ec u as, pe o los concep os de ni el supe io son necesa ios pa a cons ui sis emas más g andes sob e ROS. Más in o mación en [50] Ma cos coo dinados/ ans mo maciones - Coo dina e F ames/ ans o ms El package p opo ciona un ma co dis ibuido basado en ROS pa a calcula las posiciones de múl iples coo denadas a lo la go del iempo. Es a es una he amien a muy ú il y necesa ia pa a desa olla una simulación e icien e en la que se deseen p oba algo i mos obó icos. Acciones / Ta eas – Ac ions/Tasks El “package” ac ionlib de ine in e az común basada en “ opics” pa a a eas p io i a ias en ROS. On ología del mensaje – Message On ology Base pa a sis emas obó icos. De ine a ias clases de mensajes, que incluyen: • ac ionlib_msgs: mensajes pa a ep esen a acciones. • diagnos ic_msgs: mensajes pa a en ia da os de diagnós ico. • geome y_msgs: mensajes pa a ep esen a p imi i as geomé icas comunes. • na _msgs: mensajes pa a na egación. • senso _msgs: mensajes pa a ep esen a da os del senso . Plugins pluginlib p opo ciona una biblio eca pa a ca ga dinámicamen e biblio ecas en código C ++. Fil os - Fil e s El paque e de il os p opo ciona una biblio eca C ++ pa a p ocesa da os usando una secuencia de il os. 27 Modelo de Robo El u d package de ine un o ma o XML pa a ep esen a un modelo de obo y p opo ciona un analizado de C ++. 3.3.3. Lib e ias de Clien es – Clien Lib a ies Una biblio eca clien e ROS es una colección de código que acili a el abajo del p og amado ROS. Toma muchos de los concep os ROS y los hace accesibles a a és de código. En gene al, es as biblio ecas le pe mi en esc ibi nodos ROS, publica y susc ibi se a emas, esc ibi y llama a se icios, y usa el Se ido de pa áme os. Dicha biblio eca puede implemen a se en cualquie lenguaje de p og amación, aunque el en oque ac ual es á en b inda sopo e obus o en C ++ y Py hon. Más in o mación en [51]. Biblio ecas p incipales del clien e • oscpp: oscpp es una biblio eca clien e C ++ pa a ROS. Es la biblio eca clien e ROS más u ilizada y es á diseñada pa a se la biblio eca de al o endimien o pa a ROS. • ospy: ospy es la biblio eca de clien e de Py hon pu a pa a ROS y es á diseñada pa a p opo ciona las en ajas de un lenguaje de sc ip s o ien ado a obje os a ROS. El diseño de ospy a o ece la elocidad de implemen ación (es deci , el iempo del desa ollado ) sob e el endimien o del iempo de ejecución, de modo que los algo i mos pueden se ápidamen e p o o ipados y p obados den o de ROS. También es ideal pa a código de u a no c í ica, como código de con igu ación e inicialización. Muchas de las he amien as de ROS es án esc i as en ospy pa a ap o echa las capacidades de ipo de in ospección. Las he amien as ROS Mas e , oslaunch y o as he amien as os se desa ollan en ospy, po lo que Py hon es una dependencia cen al de ROS. • oslisp: es una biblio eca clien e pa a LISP y ac ualmen e se es á u ilizando pa a el desa ollo de biblio ecas de plani icación. Admi e la c eación de nodos independien es y el uso in e ac i o en un sis ema ROS en ejecución. Biblio ecas de clien es expe imen ales • oscs es una biblio eca clien e pa a Mono / .NET. Puede se u ilizado po cualquie lenguaje Mono / .NET, incluyendo C#, I on Py hon, I on Ruby, e c. El sis ema de compilación ROS c ea á a chi os .DLL y .so pa a cada paque e esc i o en oscs. • oseus: es una biblio eca clien e pa a el lenguaje EusLisp. • osgo: implemen ación pu a en Go • oshask es la biblio eca clien e de Haskell. • osja a: es una implemen ación de ROS en Ja a pu o con sopo e And oid. • osnodejs: es una biblio eca clien e ROS Ja asc ip na i a pa a Node.js que p opo ciona un medio di ec o de comunicación con un ROS Mas e en ed. • Robo OS.jl es un paque e na i o de Julia que se en uel e en osa. • oslua: Biblio eca clien e pa a Lua. lenguaje de sc ip ing li iano pe o po en e e in eg able. La biblio eca del clien e se encuen a en e apa de desa ollo expe imen al y ac i a. • PhaROS es una biblio eca clien e bajo licencia MIT pa a el lenguaje Pha o ee Small alk. • osR: es una ex ensión de lenguaje ROS pa a el lenguaje de p og amación es adís ica R. • os uby: sopo e pa a uby • Un eal-Ros-Plugin: un complemen o i eal usa osb idge pa a ecibi / en ia opics os 28 3.4. Dis ibuciones de ROS Una dis ibución ROS es un conjun o e sionado de paque es ROS. Es os son simila es a las dis ibuciones de Linux (po ejemplo, Ubun u). El p opósi o de las dis ibuciones de ROS es pe mi i que los desa ollado es abajen en una base de código ela i amen e es able has a que es én lis os pa a él lanzamien o. Po lo an o, una ez que se lanza una dis ibución, La lis a de dis ibución es la ga y puede ap ecia se en [52], como ambién pa a di e en es sis emas ope a i os [53]. A con inuación, se p esen an Tabla 2.2 con las dis ibuciones lanzadas en los úl imos años: Tabla 3. 2 Dis ibuciones de ROS lanzadas los úl imos años Dis ibución Fecha de ealización Fecha e mino de ida ROS Melodic Mo enia Mayo, 2018 Mayo, 2023 Ros Luna Logge head Mayo, 23, 2017 Mayo, 2019 ROS Kine ic Kame (Recomendada) Mayo, 23, 2016 Ab il, 2021 ROS Jade Tu le Mayo, 23, 2015 Mayo, 2017 ROS Indigo Igloo Julio, 22, 2014 Ab il, 2019 29 4.DESCRIPCIÓN DE LA PLATAFORMA SIAR 4.1. In oducción El p oyec o SIAR desa olla un obo de e es e comple amen e au ónomo capaz de na ega e inspecciona el sis ema de alcan a illado con una mínima in e ención humana, y con la posibilidad de con ola manualmen e los mo imien os del ehículo. EL obo SIAR es una pla a o ma de seis uedas con la capacidad de cambia el ancho en e sus uedas pa a abo da las di e en es secciones y desa íos de la ed de alcan a illado. El Conso cio enca gado en desa olla es e p oyec o es á compues o po una PYME IDMind (IDM) de o igen po ugués [54], Uni e sidad de Se illa (USE) y Uni e sidad Pablo de Ola ide (UPO). La e sión de la pla a o ma conside ada pa a desa olla la simulación co esponde a la V3, y es a ue inalizada a ines de agos o del año 2017. La in o mación u ilizada pa a desa olla es e capí ulo se ob iene del “Deli e able SIAR_D28.6” [55], documen o o icial del p oyec o. 4.2. Ca ac e ís icas p incipales de la pla a o ma Las p incipales ca ac e ís icas de la pla a o ma a ene en conside ación pa a el desa ollo del simulado son: • 6 uedas con 6 mo o es de locomoción independien es • 1 mo o lineal pa a con ola el ancho • Peso: 58 Kg • Dimensiones con ancho máximo (Al o x Ancho Max. x La go): 44 x 70 x 84 cm • Dimensiones con ancho mínimo (Al o x Ancho Min. x La go): 44 x 50 x 98 cm • Velocidad máxima 0.75 m/s • Cáma as RGBD • Cáma as de p o undidad 4.3. Diseño mecánico de la pla a o ma A con inuación, se ealiza una desc ipción del diseño mecánico de la pla a o ma SIAR. Pa a es o se p esen a la Figu a 3.1 como e e encia, la cual pe mi e dimensiona y ene una idea de las ca ac e ís icas de la es uc u a. 30 1. El sis ema de acción de las uedas es de ipo di e encial y es á compues o po 6 mo o es independien es con caja de cambios de 90º y uedas a odo e eno. Cada uno de es os se conec a a un pa b azo de suspensión independien e que une al ma co cen al del obo . 2. El obo SIAR posee un mecanismo de ajus e de ancho. Es e aumen a la adap abilidad del obo a la con igu ación del alcan a illado. Es accionado po un mo o lineal que gene a el mo imien o de los b azos. 3. El ma co es uc u al cen al conec a el sis ema de acción de la ueda mo o izada, el mecanismo de ajus e del ancho y pa a anspo a el equipo de ca ga y la elec ónica. 4. En el ma co cen al se encuen an sie e cáma as, las que se mon an en sopo es enlazados al ma co, es os man ienen las cáma as a la al u a e inclinaciones deseado en el p oyec o. 5. Cuen a con una caja de ib a de id io pa a p o ege los componen es elec ónicos de las aguas sucias y los desechos 4.3.1. Mecanismo de ajus e de ancho El mecanismo de ajus e de ancho, como se mencionó, mejo a la adap abilidad del obo a di e en es cambios es uc u ales en el en o no de abajo. Es e pe mi e a ia el ancho del obo median e un cambio en la posición de las uedas, lo cual se acciona median e el uso de un mo o lineal. El mo o lineal es á inculado a la pa e in e io del ma co y al mismo iempo a una guía lineal Figu a 3.2 – i. El mo o hace que un pis ón se mue a a lo la go de la guía, Figu a 3.2 - ii. Ba as me álicas, Figu a 3. 2 – iii, ansmi en el mo imien o del mo o a los b azos conec ados al ma co. Una pa eja de b azos es á conec ada a cada una de las seis uedas del obo . El mo imien o, o ación, de los b azos gene a la a iación del ancho del obo . La conexión de los b azos al ma co y a las uedas gene a un pa alelog amo. El pa alelog amo asegu a que las uedas siemp e se man ienen pa alelas al obo . Finalmen e, dos de las ba as, me álicas ansmi en el mo imien o del pis ón a los b azos cen ales del obo (uno a cada lado). Luego, a cada lado del obo , los b azos se conec an en e sí median e a illas me álicas, lo que impone un mo imien o sinc ónico de las seis uedas del obo . De es a o ma, las con igu aciones del ancho obo puede a ia de 500 mm (mínimo) a 700 mm (máximo). La a iación de ancho implica una a iación de longi ud de la pla a o ma. Pa a un ancho mínimo de 500 mm, el obo iene una longi ud máxima de 980 mm. Pa a un ancho máximo de 700 mm, el obo iene una longi ud mínima de 845 mm. La al u a del obo es independien e del ancho del obo . 4 1 2 3 5 Figu a 4. 1 Diseño 3D de la pla a o ma SIAR 31 4.4. Senso es a bo do del SIAR Den o de la pla a o ma SIAR, encon amos di e en es senso es que es án dedicados a sa is ace la ealización de dis in as a eas. Ellos los podemos di idi en dos g upos: • Senso es de na egación: o Codi icado es mo o es: pa a con ola la elocidad de los de acción o Codi icado pla a o ma: pa a con ola la elocidad del ac uado de ancho. o Po encióme o pla a o ma: pa a con ola la posición del ac uado de ancho. o Senso de ine cia: pa a es ima o ien ación del obo . o Cáma as de p o undidad: pa a es ima dis ancias de obs áculos y/o pa edes al obo . También pa a e ina las es imaciones de odome ía. • Senso es de pe cepción: o Cáma as RGBD: pa a analiza el en o no del alcan a illado y de ec a cualquie si uación ano mal. 4.4.1. Ubicación de los senso es A con inuación, se desc ibe la posición de cada uno de los senso es mencionados an e io men e, con el in de se conside ados pa a la simulación. • Senso es de na egación: o Codi icado es mo o es: ubicado cada uno ins alado en cada mo o o Codi icado es y po encióme o pla a o ma: ins alados en mo o lineal. o Senso de ine cia: ubicado en el cen o de o ación. o 4 cáma as de p o undidad: ubicadas dos cáma as una al lado de la o a en la pa e on al inclinada 45º hacia abajo y dos cáma as una al lado de la o a en una inclinación de 45º hacia abajo. o 2 cáma as de p o undidad: ubicadas en la pa e delan e a inclinada 5-10º hacia a iba y una en la pa e pos e io inclinada 5-10º hacia a iba. • Senso es de pe cepción i ii iii Figu a 4. 2 Desc ipción del mecanismo de ajus o de la pla a o ma SIAR 32 o 4 cáma as de p o undidad: ubicadas dos cáma as una al lado de la o a en la pa e delan e a inclinada 45º hacia abajo y dos cáma as una al lado de la o a en una inclinación de 45º hacia abajo. o 2 cáma as de p o undidad: ubicadas en la pa e delan e a inclinada 5-10º hacia a iba y una en la pa e pos e io inclinada 5-10º hacia a iba. o Cáma as de p o undidad: Ubicada en la pa e supe io del obo apun ando hacia a iba. 4.5. Ac uado es a bo do del SIAR El obo es á equipado con ac uado es pa a la locomoción, y pa a acciona el mecanismo de ajus e del ancho. • Ac uado es de Locomoción o 6 mo o es en las uedas o Mo o lineal pa a cambia el ancho del obo . o 2 p oyec o es LED (uno en la pa e delan e a y ase a del obo ). 4.6. Filoso ía de con ol manual del SIAR Den o de odas las ca ac e ís icas que iene la pla a o ma SIAR, se des aca en es e apa ado la del con ol manual, ya que es es a a ea la conside ada a simula inicialmen e pa a homologa y co obo a el compo amien o del obo eal en Gazebo. La iloso ía de con ol manual u ilizada, a angos gene ales, po la pla a o ma SIAR es de lazo abie o y se explica median e el esquema de la Figu a 3.3. De es a o ma, se puede ap ecia que la idea gene al de la iloso ía de con ol consis e en gene a , con el mando, in o mación que es en iada a la es ación de con ol, la cuales en ían pos e io men e al compu ado abo do del SIAR, una o den que se ejecu a en los ac uado es. Es e es un con ol a lazo abie o a pesa de que el compu ado eciba in o mación desde los senso es. 4.7. Conside aciones pa a la simulación Como se ha mencionado an e io men e, la pla a o ma SIAR ue desa ollada pa a inspecciona alcan a illados, azón po la cual se debe conside a en la simulación la inco po ación de un únel con ca ac e ís icas eales a las que iene el en o no en el que desen uel e la pla a o ma. Pa a es o se conside a los da os ob enidos de la econs ucción del mapa de alcan a illado Mando Es ación de Con ol GUI Compu ado a bo do Senso es Ac uado es SIAR Figu a 4. 3 Filoso ía de con ol de lazo abie o de pla a o ma SIAR 33 desa ollado en e apas an e io es del p oyec o, donde se ob u o como esul ado el modelado digi al del en o no con g an sa is acción. De es a mane a, el simulado debe desa olla se eniendo en conside ación que debe ían ob ene se una ep esen ación obo -en o no simila a la p esen ada en la Figu a 3.4 Figu a 4. 4 Rep esen ación obo -en o no de la pla a o ma SIAR con alcan a illado a conside a pa a ealiza el simulado 40 (a) (b) En consecuencia, a lo ealizado en la sección 5.2.2 se le ag ego las siguien es ca ac e ís icas: • Chasis In e io con las mismas dimensiones del modelo an e io , pe o con masa o al 5 kg. • Chasis supe io , como base de la caja de la elec ónica: con las mismas ca ac e ís icas de dimensión y masa que chasis in e io . • Caja de elec ónica: con dimensiones y peso ap oximados al eal: cue po in e io 26x19x7 cm y cue po supe io de 26x26x7 cm y masa o al 14 kg. • Sopo es pa a cáma as on al y pos e io : con dimensiones y peso ap oximados al eal: 1.65 kg • Colo de las dis in as pa es del modelo según pla a o ma eal. El a chi o, llamado “sia .sd ”, con la desc ipción comple a del modelo se encuen a en [57]. La idea gene al pa a la cons ucción del modelo se basa en el siguien e diag ama de la Figu a 5.11. El esul ado ob enido de la simulación se ap ecia en la Figu a 5.12. Se ealiza on p uebas del compo amien o del modelo u ilizando las mismas he amien as de la GUI de Gazebo de los apa ados an e io es. Los esul ados ue on los siguien es: 1. En cuan o a las ine cias, el modelo se desempeña de mane a casi es able, el único alcance es que, al es a en eposo, po acción de los mo o es ísicos los b azos del modelo se desplazan en una di ección como si no exis ie a coe icien e de icción, Figu a 5. 13.a. A pesa de que se a ió el coe icien e de oce de las uedas, y de icción de los “join s” el compo amien o se man u o. Se supuso que es o es a causa de la in e acción del modelo con los mo o es ísicos, los cuales gene an sob e los momen os ine ciales del modelo una o ación en “z”. 2. Al aplica una ue za sob e los b azos, el modelo modi ica la posición sin incon enien es, es e se mues a es able y con una dinámica adecuada, Figu a 5.13.b 3. Modi icando alo es de oce de las uedas casi al máximo (a 0.98 de 1 según o ece el o ma o SDF en Gazebo), el modelo iene un mejo compo amien o de enado (más inmedia o). Al desplaza el modelo, los b azos aún se mue en, a iando el ancho del obo , lo cual es un compo amien o no deseado, pe o es e mo imien o es más o zado y menos sua e que en modelo del pun o an e io . En consecuencia, se asume que la ue za de oce el mayo que la de icción en los “join s” de inidos en cada b azo, po eso aún se mue en. Figu a 5.13.c. Figu a 5. 10 Imagen del a chi o 3D (a) y eal (b) de la pla a o ma SIAR a conside a pa a la ealización del e ce modelo con simili ud al eal. 41 Coupling igh 1 Axis igh 1 Wheel igh 1 Coupling igh 2 Axis igh 2 Wheel igh 2 Coupling igh 3 Axis igh 3 Wheel igh 3 Coupling le 1 Axis le 1 Wheel le 1 Coupling le 2 Axis le 2 Wheel le 2 Coupling le 3 Axis le 3 Wheel le 3 Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Join : “ e olu e” axis Y Join : “ e olu e” axis Y Join : “ e olu e” axis Y Join : “ e olu e” axis Y Join : “ e olu e” axis Y Join : “ e olu e” axis Y Join : “ ixed” Join : “ ixed” Join : “ ixed” Join : “ ixed” Join : “ ixed” Join : “ ixed” Chasis In e io Link: A m Righ 1_1 Link: A m Righ 1_2 Link: A m Righ 2_1 Link: A m Righ 2_2 Link: A m Righ 3_1 Link: A m Righ 3_2 Link: A m Le 1_1 Link: A m Le 1_2 Link: A m Le 2_1 Link: A m Le 2_2 Link: A m Le 3_1 Link: A m Le 3_2 Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Pa Join : “ e olu e” axis Z Chasis Supe io Box elec onic Handle Cama a on Handle Cama a back Join : “ ixed” Join : “ ixed” Join : “ ixed” Join : “ ixed” Figu a 5. 11 A qui ec u a gene al de la es uc u a, dis ibución de join s y links, del ul imo modelo desa ollado a simula en Gazebo 42 (a) (b) (c) (d) (e) ( ) (a) (b) (c) 5.4. Usando ROS pa a comenza Gazebo Según lo e isado, exis en muchas mane as de inicia Gazebo, ab i modelos de mundos (wo lds) y gene a modelos de obo s en el en o no simulado. Teniendo en cuen a lo analizado en los capí ulos II y III, se desea u iliza ROS pa a implemen a los algo i mos obó icos po que pe mi e en ia mensajes y se icios (message y se ices) sob e el Gazebo pa a manipula la simulación, ambién, pe mi e implemen a el código de manipulación del obo simulado sin isu as pa a se aspasados a la pla a o ma eal, además, es posible adqui i da os del en o no que in e p e an los senso es simulados, en e o as ca ac e ís icas. El modo con el cual se u ilizó ROS como in e az pa a in e ac ua con Gazebo ue a a és del uso de he amien as “ os un” y “ oslaunch”. Figu a 5. 12 Modelo inal desa ollado en o ma o SDF pa a implemen a en Gazebo que ep esen a de mane a es uc u almen e semejan e a la pla a o ma SIAR. Figu a 5. 13 Visualización de p uebas de compo amien o de ine cia (a), desplazamien o (b) y mo imien o de b azos (c) ealizadas al segundo modelo 43 En es a sección cabe des aca dos hechos impo an es que di ie en de los ins uc i os o ecidos po la websi e de Gazebo en la e apa de in eg ación ROS- Gazebo. Es os se desc iben a con inuación: • El p ime o es á elacionado con la ins alación del “package” “gazebo_ os_pkgs” que se menciona en capi ulo III, sección 3.2.5. En es a sección apa ece que es e paque e pe mi e la in eg ación en e es os dos so wa es a a és de in e cambio de mensajes y o as ca ac e ís icas. Pe o según lo ealizado, es e “package” es necesa io y u ilizado en su pleni ud con URDF como o ma o de desc ipción del modelo simulado. Es o se isualizó una ez inalizado el modelo en Gazebo, momen o en el que se deseaba u iliza las he amien as “ os_con ol” que o ece es e “package” pa a manipula el mo imien o de los b azos y de las uedas a a és de un achi o.yaml (el cual desc ibe con oles sob e los “join s”) pe o es o no u o e ec o, siendo incompa ibles pa a el o ma o SDF u ilizado. La solución de es e p oblema se desc ibe en la sección 5.5. • El segundo hecho co esponde a la no u ilización de la je a quía que solici a ROS según lo mencionado en la sección 3.2.6. Es o se debió p incipalmen e a que el o ma o SDF o ece una mayo lexibilidad y e sa ilidad del uso desc ipciones del modelo, es deci , es e o ma o pe mi e inco po a en un solo a chi o la desc ipción del modelo comple o (links, join s, ma e ial, senso es, plugins, e c.) sin la necesidad de c ea nue os a chi os que sean llamado desde el a chi o p incipal del modelo según las ca ac e ís icas XML del o ma o URDF. 5.4.1. “ oslaunch” pa a ab i modelo desde paque es Como consecuencia de lo mencionado an e io men e, al no se necesa io la inco po ación del “package” “gazebo_ os_pkgs”, pa a in eg a ROS con Gazebo, la he amien a u ilizada pa a ejecu a los a chi os del modelo Gazebo en ROS ue “ oslaunch”. Es e es el mé odo es ánda pa a inicia nodos ROS y lanza obo s en ROS. Pa a lanza un a chi o lunch, es necesa io c ea un a chi o lunch con di e en es a gumen os en o ma o XML de ROS que llame al obo simulado en Gazebo, simplemen e ejecu ando: oslaunch nomb e_paque e_ os nomb e_a chi o_launch.launch Además, con el in de que el modelo de Gazebo en comunicación con ROS se ejecu e co ec amen e, se siguie on los siguien es pasos: • C ea un espacio de abajo ROS (wo kspace) [61], lo cual pe mi e cons ui paque es ROS. Pa a es o se pueden u iliza los comandos: o mkdi -p ~/nomb e_del_paque e_ws/s c o cd ~/nomb e_paque e_ws/ o ca kin_make • C ea “packages” ROS [62]con las espec i as dependencias de lib e ías necesa ias pa a desc ibi el modelo. Pa a es o se pueden u iliza los comandos: o cd ~/nomb e_del_paque e_ws/s c/ o ca kin_c ea e_pkg nomb e_paque e dependencia_1 dependencia_2 … o cd ~/nomb e_del_paque e_ws/ o ca kin_make Es o pe mi i á con a con los a chi os “CMakelis s. x ” y “package.xml” que desc iben las ca ac e ís icas del “package” y además con las ca pe as “build” (que con igu a y cons uye el “package”) y “de el” (donde se almacenan las lib e ías y ejecu ables del “package”). • Ag ega el “wo kspace” gene ado en el en o no de ROS es necesa io ob ene el a chi o de con igu ación gene ado [62]. Pa a es o se pueden u iliza los comandos: o . ~/nomb e_del_paque e_ws/de el/se up.bash 44 A gumen os a chi os “ oslaunch” Los a gumen os que cambian el compo amien o de inicio en Gazebo son: • paused: Pa a inicia Gazebo en es ado pausado. • use_sim_ ime: Dice a nodos ROS que pidan iempo pa a ob ene ” el iempo de simulación publicado po Gazebo”, publicado sob e ROS opic/clock • GUI: Inicia la en ana de in e az de usua io de Gazebo • eco ding: Habili a g abación de egis o de es ado de Gazebo • debug: Inicia gzse e en modo de depu ación usando gdb. El esul ado del a chi o launch desa ollado pa a lanza el modelo en Gazebo se mues a a con inuación en la Tabla 5.1. Tabla 5. 1 Es uc u a del a chi o “sia _model.launch” desa ollado pa a lanza el modelo a Gazebo <?xml e sion="1.0" encoding="UTF-8"?> <launch> <a g name="wo ld" de aul ="emp y"/> <a g name="paused" de aul =" alse"/> <a g name="use_sim_ ime" de aul =" ue"/> <a g name="gui" de aul =" ue"/> <a g name="headless" de aul =" alse"/> <a g name="debug" de aul =" alse"/> <en name="GAZEBO_MODEL_PATH" alue="$( ind sia _gazebo)/models:$(op en GAZEBO_MODEL_PATH)"/> <!-- We esume he logic in emp y_wo ld.launch, changing only he name o he wo ld o be launched --> <include ile="$( ind gazebo_ os)/launch/emp y_wo ld.launch"> <!-- a g name="wo ld_name" alue="$(a g wo ld)"/> --> <a g name="paused" alue="$(a g paused)"/> <a g name="use_sim_ ime" alue="$(a g use_sim_ ime)"/> <a g name="gui" alue="$(a g gui)"/> <a g name="headless" alue="$(a g headless)"/> <a g name="debug" alue="$(a g debug)"/> </include> <!-- Spawn he obo in o Gazebo --> <node name="spawn_u d " pkg="gazebo_ os" ype="spawn_model" a gs="- ile $( ind sia _gazebo)/models/sia .sd -sd -model sia " ou pu ="sc een"/> </launch> Po o a pa e, la je a quía de la ca pe a desa ollada has a es a e apa, quedo como mues a la Tabla 5.2. Tabla 5. 2 Je a quia de ca pe a con wo kspace /sia _ws y package /sia _gazebo desa ollada pa a almacena documen os del p oyec o de simulación …/sia _ws/ build de el s c /sia _gazebo package.xml CMakeLis . x /launch sia _model.launch /models model.con ig sia .sd 45 5.5. Desa ollo de plugin pa a mo e uedas y b azos. Una ez ob enido el modelo de la sección 5.3 y comunicado con ROS, con el in de da uncionabilidad, con ola y manipula el modelo, y además incula mensajes y se icios de ROS con senso es o ac uado es simulados en Gazebo, se desa olló un “plugin” basado en el lenguaje es ánda “C++” llamado “plugin_sia _wheels_pis on.cpp” el cual manipula las uedas y los b azos del modelo siguiendo la idea de la pla a o ma eal. La idea p incipal ecae en, a pa i de un único plugin, ealiza dos acciones, una sob e las uedas y o a sob e los b azos de o ma independien e, es deci que no se a ec en una acción con la o a. U ilizando las he amien as que o ecen ROS y Gazebo se desa olló un plugin que gene a un nodo ROS llamado “/Gazebo” que incula el en o no de Gazebo con ROS a a és de subsc ipción y publicación de mensajes y se icios sob e a iables seleccionadas (en es e caso sob e los “join s” de los ejes de las uedas y de las a iculaciones de los b azos). La explicado se ap ecia en la Figu a.5.14. El código comple o puede se e isado en [57]. El plugin desa ollado se inco po ó en el a chi o SDF desa ollado (sia .sd ) den o de la desc ipción del modelo, luga donde se de inen pa áme os necesa ios pa a que el plugin asocie la uncionalidad a las pa es del modelo, como se mues a en la Tabla 5.3. De es a mane a al ealiza el “launch” del modelo, ambién se ejecu a el plugin como elemen o pe enecien e a es e. Tabla 5. 3 Desc ipción en o ma o SDF del “plugin_sia _wheels_pis on.cpp” den o del modelo del obo simulado. <plugin name="plugin_sia _wheel_pis on" ilename="libplugin_sia _wheels_pis on.so"> <alwaysOn> ue</alwaysOn> <upda eRa e>25.0</upda eRa e> <le Join s>mo e_axis_wheel_le _1 mo e_axis_wheel_le _2 mo e_axis_wheel_le _3</le Join s> < igh Join s>mo e_axis_wheel_ igh _1 mo e_axis_wheel_ igh _2 mo e_axis_wheel_ igh _3</ igh Join s> <ini WheelSepa a ion>0.602</ini WheelSepa a ion> <wheelDiame e >0.25</wheelDiame e > < o que>15</ o que> <in e ace:posi ion name="posi ion_i ace_2"/> < obo Namespace>/sia _model</ obo Namespace> < obo BaseF ame>pis on_1</ obo BaseF ame> <commandTopic>cmd_ el</commandTopic> <publishOdome yT >0</publishOdome yT > <publishOdome yMsg>1</publishOdome yMsg> <odome yF ame>chassis_3</odome yF ame> <odome yTopic>sia _model/odomTopic</odome yTopic> </plugin> Nodo ROS “/Gazebo” Gazebo ROS plugin_sia _wheel s_pis on.cpp - Modelo -Mundo -Publica -Subsc ibe Figu a 5. 14 Relación es ablecida en e Gazebo y ROS po medio del nodo /Gazebo gene ado po el plugin _sia _wheels_pis on.cpp 46 Pa a ealiza una in eg ación de odos los elemen os desa ollados, como se mencionó an e io men e, es necesa io con a con una es uc u a de packages, de al o ma que ROS pueda elaciona los. Po es a azón, se c ea el package /sia _plugin, el cual almacena el “plugin_sia _wheels_pis on.cpp” al como mues a la Tabla 5.4 Tabla 5. 4 Je a quia de ca pe a con wo kspace /sia _ws y packages /sia _gazebo y /sia _plugins desa ollada pa a almacena documen os del p oyec o de simulación …/sia _ws/ build de el s c /sia _gazebo package.xml CMakeLis . x /launch sia _model.launch /models model.con ig sia .sd /sia _plugins package.xml CMakeLis . x /include /sia _plugins plugin_sia _wheel_pis on.h /s c plugin_sia _wheels_pis on.cpp 5.5.1. Pa e I: Conside aciones del Plugin pa a manipula uedas Pa a consegui un compo amien o di e encial, se conside ó una manipulación de cada lado independien e de las uedas del modelo. Además, se conside ó una elocidad limi e según lo mencionado en “Deli e able SIAR_D28.6”. Pa a consegui lo mencionado an e io men e, se omó como e e encia algunos plugins exis en es, el p ime o desde la lib e ía de Gazebo llamado “libgazebo_ os_di _d i e.so” pa a un obo mó il di e encial de dos uedas [63], y el segundo desde los eposi o ios de Gi Hub “ u-da ms ad - os- pkg/hec o _gazebo” [64] pa a obo s mó iles mul i- ueda. El segundo de es os, oma en conside ación la es uc u a del p ime o, po lo cual se u ilizó como código base pa a esc ibi el plugin deseado. Pa a manipula los “join s” de las uedas de o ma deseada, se u ilizó algunas APIs de Gazebo y lib e ías C++ de ROS. Las cabece as u ilizadas po pa e de Gazebo y ROS ue on: • <gazebo/physics/physics.hh> • <gazebo/ma h/gzma h.hh> • <sd /sd .hh>. • < os/ os.h> • <geome y_msgs/Twis .h> • <geome y_msgs/Vec o 3.h> Lo ealizado se menciona a con inuación: 1. A a és de una API de Gazebo que conside a la clase pa a SDF, se u ilizó “Ge Elemen ” que gene a un pun e o inculado con los “join s” de gi o del eje de las uedas del modelo SDF de Gazebo (de inidos en <le Join s> y < igh Join s> de la abla 5.3). 2. Median e lib e ías de ROS, se gene a un “Subsc ip o ” que lee la in o mación en iada po ROS pa a es ablece la elocidad lineal y angula del modelo. 3. Usando nue amen e APIs de Gazebo que conside an e e encias de clases pa a modelo, link y join . De es a mane a, se pasa in o mación del es ado de los “join s” a una a iable 47 a a és de la e e encia de clase “Ge Join ”. Luego se ob iene el alo del ancho del modelo conside ando la posición de las uedas en el mundo u ilizando la e e encia de clase de modelo “Ge Link” y la e e encia de clase de link “Ge Wo ldCoGPose”. Pos e io men e, con la in o mación del ancho del modelo y la in o mación a la que se subsc ibe el nodo se p ocede a es ablece la elocidad de gi o del modelo con la e e encia de clase de join “Se Veloci y”. Pa a es ablece la elocidad de cada ueda en el simulado se conside ó las ecuaciones de modelo cinemá ico de un obo mó il di e encial, en las cuales, la elocidad lineal ( ) es el p omedio de las elocidades de las uedas de cada lado (ecuación 5.4) y la elocidad angula (w) depende de la sepa ación de las uedas (d) como mues a la ecuación (ecuación 5.5). El alo de la elocidad lineal y angula son alo es a los que se subsc ibe el nodo ROS. En consecuencia, despejando se ob ienen los alo es de la elocidad en uedas izquie das “ l” (ecuación 5.6) y de echas “ ” (ecuación 5.7), que se en ían a los join s de los ejes de las uedas. 𝑣𝑣=𝑣𝑣𝑟𝑟+𝑣𝑣𝑙𝑙 2 𝑣𝑣𝑙𝑙=𝑣𝑣 − 𝑤𝑤 ∗ 𝑑𝑑 2 𝑤𝑤=𝑣𝑣𝑟𝑟−𝑣𝑣𝑙𝑙 𝑑𝑑 𝑣𝑣𝑟𝑟=𝑣𝑣+𝑤𝑤 ∗ 𝑑𝑑 2 Lo explicado an e io men e se puede ap ecia en la Figu a 5.15. _sd -> Ge Elemen () Desde el a chi o del modelo SDF se ecoge el nomb e del Join deseado en un pun e o. Subsc ibe, <geome y_msgs::Twis > Nodo se subsc ibe a ROS pa a ecibi es e ipo de da o que indica elocidad deseada pa a el modelo. pa en -> Ge Join () Se incula la in o mación del es ado de los Join de gi o de las uedas a una a iable. Ge Wo ldCoGPose().pos Coge la posición del link de las uedas pa a calcula ancho modelo. pa en -> Ge Link () Se incula la in o mación del es ado de los Link de las uedas a una a iable. Se Veloci y() U iliza la in o mación del ancho y a la que se subsc ibe el nodo pa a es ablece la elocidad de gi o del Join de las uedas (5.4) (5.5) (5.6) (5.7) Figu a 5. 15 Filoso ia de uncionamien o del plugin pa a manipula las uedas del obo simulado en Gazebo 48 5.5.2. Pa e II: Conside aciones del Plugin pa a manipula b azos Pa a ealiza la con igu ación del mo imien o de los b azos se conside ó un u iliza un con ol PID que manipula a la posición de es os a a és del mo imien o de sus join s y así simula la acción del mo o lineal que iene la pla a o ma. Pa a es o se omó en conside ación el mecanismo de ajus e de ancho que se menciona en el “Deli e able SIAR_D28.6”. Pa a manipula los “join s” de o ma deseada, se u ilizó algunas APIs de Gazebo y lib e ías C++ de ROS. Las cabece as u ilizadas po pa e de Gazebo y ROS ue on: • <gazebo/physics/physics.hh> • <gazebo/common/common.hh> • <gazebo/ma h/gzma h.hh> • < os/ os.h> • <geome y_msgs/Twis .h> • <geome y_msgs/Vec o 3.h> • <s d_msgs/Bool.h> • <s d_msgs/Floa 32.h> La lógica de los ealizado se menciona a con inuación: 1. A a és de las APIs de Gazebo, e e encia de clase “Ge Join ”, se asocia a un pun e o cada una de “join s” manipulados (únicamen e los “join s” de los b azos cen ales a ambos lados). 2. Se u iliza la e e encia de clase de link “Ge Wo ldCoGPose” pa a ob ene la posición de las uedas y la caja cen al de la elec ónica, así a a és de cálculo ec o ial conoce si los b azos se mue en hacia delan e o hacia a ás, el alo es almacenado en la a iable i ual “dis_box_cen alaxis” 3. Median e lib e ías de ROS, se gene a un “Subsc ip o ” que lee la in o mación en iada po ROS. Es a in o mación es almacenada en la a iable i ual “mo e_Pis on_cmd_” y se u iliza pa a o dena si los b azos se mue en hacia delan e o a ás. 4. U ilizando la e e encia de clase PID a a és de “common::PID” se es ablecen los alo es p opo cionales, in eg ales y de i ables pa a c ea e inicializa el con olado . Es os an a es a some idos a cons an es cambios en la e apa de sin onización. 5. A a és de los alo es sin onizados de PID y la e e encia de clase base de “physics” de Gazebo “Ge ScopeName” que incula el nomb e de una en idad con alcance al mundo del modelo, se es ablece los alo es PID de la posición pa a un join usando “Se Posi ionPID” de la e e encia de clase Join Con olle . 6. A a és de la e e encia de clase base de “physics” de Gazebo “Ge ScopeName” que de uel e el nomb e de una en idad con alcance al mundo del modelo y el alo de la a iable “elec_pos_cmd_”, que se nu e de “mo e_Pis on_cmd_”, se calcula la posición obje i o de un con olado PID usando Se Posi ionTa ge ” de la e e encia de clase Join Con olle . Finalmen e el iloso ía de con ol ecae en si ua los join de los b azos cen ales en cie a posición, el cual inicialmen e es 0, lo cual signi ica que el modelo se encuen a en su ancho máximo, y a ia la posición de es os hacia delan e o hacia a ás, según sea necesa io, a iando el alo de la a iable “elec_pos_cmd_” en e 1.2 y -1.2 lo que signi ica un mo imien o de la elec ónica hacia adelan e o a ás con la educción del ancho del obo . Lo comen ado an e io men e se explica en la Figu a 5.16. 49 Cabe des aca que la consecuencia de habe implemen ado es e plugin es muy a o able, especialmen e la pa e elacionada con el con ol de los, ya que de es a mane a se log ó ija la ape u a de los b azos a una posición ija sin a iación en el caso que el modelo se desplace. Es o debido únicamen e a que el mo imien o de los se encuen a suje o al alo que eciba la a iable i ual “elec_pos_cmd_” po lo cual, si no se ca ga alo , no exis e mo imien o de es os. 5.6. Inco po ación de cáma as Según lo expues o en el “Deli e able SIAR_D28.6” la pla a o ma SIAR cuen a con 7 cáma as, las cuales son capaces de iden i ica p o undidad y colo . El modelo de cáma a u ilizado en la pla a o ma SIAR co esponden a “ASUS XTion”, el cual es posible encon a den o la lib e ía de Gazebo, pe o con algunas di e encias es uc u ales compa ada con la u ilizada. Figu a 5. 17 Rep esen ación del posicionamien o de las cama as ASUS X ion en la pla a o ma SIAR mo e_Pis on_cmd_: Gua da comando y, compu a en a iable elec_pos_cmd_ posición a mo e los join s. pa en -> Ge Join () Vincula la in o mación del es ado de los Join de los b azos a una a iable. Subsc ibe, <geome y_msgs::Twis > Nodo ecibe comando pa a mo e posición de b azos Ge ScopedName () Vincula el nomb e de una en idad (en es e caso join ) con el modelo en el mundo Se Posi ionPID () Es ablece los alo es PID pa a la posición del join . Common::PID(kp,ki,kd) Se incula la in o mación del es ado de los Link de las uedas a una a iable. Se Posi ionTa ge () Es ablece posición de los join s según alo de a iable elec_pos_cmd_. Figu a 5. 16 Filoso ia de uncionamien o del plugin pa a manipula b azos del obo simulado en Gazebo 56 • Nodo 3: o Con igu a y incula el Joys ick conec ado al o denado con ROS o Publica es ado del Joys ick (palanca y bo ones) al nodo 2. • Nodo 2: o Subsc ibe a messages con la in o mación publicada po nodo 3. o Codi ica messages ecibidos de nodo 3 ha messages en endibles po Gazebo, en e ellos:  Velocidad lineal: el.angula .x = a_scale_*joy->axes[1];  Velocidad angula : el.angula .z = a_scale_*joy->axes[0];  Mo imien o de b azos: elec_pos_cmd.da a = joy->axes[4];  Desbloqueo Joys ick: deadman_p essed_ = joy->bu ons[4]; o Publica messages a nodo 1. • Nodo 1: o Subsc ibe un messages con la in o mación publicada po nodo 2. o Codi ica messages y los con ie e en acciones sob e el modelo simulado en Gazebo. o Publica es ado de “links” del modelo e in o mación de adqui ida po cáma as. El joys ick u ilizado co esponde a un “nacon con olle GC-100XF” en el cual ue on con igu ado los bo ones y ejes como se mues a en la Figu a 5.27. Cabe menciona que cada joys ick debe se e isado y con igu ado una ez conec ado al conec ado al o denado . Es o se ealizó median los pasos mencionados en [69]. 5.9. Inco po ación de En las secciones an e io es se puede conoce como inalmen e la pla a o ma ue simulada con un al o g ado de éxi o, ob eniendo un compo amien o muy simila al que iene la pla a o ma en la ealidad. Sin emba go, pa a que el simulado enga el impac o deseado y cumpla los obje i os que debe sa is ace un simulado , es necesa io inco po a un nue o elemen o el cual pe mi a ealiza un con ol au ónomo del simulado . Bo ón [4] = LB: Desbloqueo Joys ick Eje[1]: Velocidad lineal Eje[0]: Velocidad angula Eje[4]: Mo imien o de b azos Figu a 5. 27. Dis ibuciones de ejes y bo ones u ilizados en el joys ick nacon con olle GC-100XF pa a con ola manualmen e la simulación del modelo en Gazebo. 57 Es e elemen o es llamado 18, el cual es un “package” de ROS el cual pe mi e ealiza seguimien o de coo denadas de elemen os, en el iempo. De es a mane a, es posible inco po a pa a que el obo simulado pueda iden i ica cada una de sus pa es den o de un ame como el mundo, y, po ejemplo, en caso de iden i ica con las cáma as un obs áculo como una pa ed, se es ima a la dis ancia pa a ejecu a una acción co ec i a. El “package” como co esponde a una he amien a de ROS, ue desa ollado inicialmen e pa a el o ma o URDF en el so wa e R iz19 [70] y [71], po lo cual, no es di ec amen e aplicable a un o ma o SDF, po es a azón, se buscó “packages” al e na i os que pe mi ie an inco po a es a opción al modelo SDF simulado. De es a mane a en el eposi o io de Gi Hub, es posible encon a “Gazebo2R iz” [70] y [71], “package” que pe mi e impo a odas las en idades simuladas en Gazebo a R iz y se ep esen adas en . En adición, es necesa io ag ega o o “package” llamado “pysd ” [72] y [73],el cual pe mi e con e i a los ojos de R iz el modelo en o ma o SDF a o ma o URDF. De es a mane a, una ez ins alados es os dos paque es, es necesa io segui el p ocedimien o de [74] pa a isualiza los del modelo SDF en R iz: • launch modelo en Gazebo lanza R iz • add y Ma ke en R iz • lanza nodos Gazebo2R iz: oslaunch gazebo2 iz gazebo2 iz.launch Pa a comp oba el uncionamien o se selecciona on los de las uedas, Figu a 5,29, eniendo como ame ijo (Fixed F ame) la caja de la elec ónica del modelo simulado, se iene los isualizado en la Figu a 5.28. Figu a 5. 28 Disposición del en modelo SIAR gene ado en Gazebo y comunicado con R iz a a es de paque e gazebo2 iz 18 es un paque e que le pe mi e al usua io ealiza un seguimien o de múl iples “ ames” de coo denadas a lo la go del iempo. man iene la elación en e las amas de coo denadas en una es uc u a de á bol almacenada en el iempo, y pe mi e al usua io ans o ma pun os, ec o es, e c. en e dos o og amas de coo denadas en cualquie pun o del iempo deseado. Un sis ema obó ico gene almen e iene muchos ma cos de coo denadas 3D que cambian con el iempo, como un ame mundial, ame base, ame de aga e, ame de cabeza, e c. ealiza un seguimien o de odos es os ame o la go del iempo y pe mi e sabe , po ejemplo, dónde es á el ma co de la cabeza en elación con el ame del mundo, la pos u a del obje o en una pinza en elación con la base, la pose ac ual del ame base en el ame del mapa. puede ope a en un sis ema dis ibuido. Es o signi ica que oda la in o mación sob e los ma cos de coo denadas de un obo es á disponible pa a odos los componen es de ROS en cualquie compu ado a del sis ema. No hay un se ido cen al de in o mación de ans o mación. 19 iz ( isualización ROS) es un isualizado 3D pa a mos a da os de senso es e in o mación de es ado de ROS. Usando iz, puede isualiza la con igu ación ac ual de un modelo i ual del obo . También puede isualiza ep esen aciones en i o de los alo es de los senso es que apa ecen en ROS Topics, incluidos los da os de la cáma a, las mediciones de dis ancia po in a ojos, los da os del sona y más. 58 Además, ejecu ando el comando “e ince ames.pd ” es posible ob ene un documen o PDF con la elación en o ma de á bol de odas las pa es del modelo. Una pequeña pa e de es e á bol se cómo se ap ecia en la Figu a 5.28: Figu a 5. 30 Sección del a bol gene ado pa a isualiza la elación de los en el modelo 5.10. Inco po ación del simulado a eposi o io del P oyec o SIAR en Gi hub Como se mencionó en los p ime os capí ulos, una de las azones po las cuales se eligió Gazebo como simulado , es que es e es de código abie o y pe mi e compa i los desa ollos con la comunidad de OSRF, es po eso, que se decidió inco po a el desa ollo del simulado a los eposi o ios de Gi Hub [57]. Pa a es o se pe mi ió el acceso como miemb o del eposi o io del p oyec o. Es o se lle ó a cabo po el Ingenie o a ca go adminis a el eposi o io, Da id Alejo Teissiè e. La inco po ación del simulado en el eposi o io se obse a en la Figu a 5.29 Figu a 5. 29 Selección de links pa a la isualización de en R iz 59 Figu a 5. 31 Imagen del eposi o io en Gi Hub de obo ics-upo donde se isualiza los packages de la simulación. 60 6.RESULTADOS OBTENIDOS – SIMULACIONES 6.1. In oducción En el p esen e capí ulo se mues an los esul ados ob enidos de la simulación de la pla a o ma SIAR en Gazebo. Los esul ados se dan a conoce a a és de imágenes en di e en es si uaciones de simulación, eco dando que el modelo es con olado de o ma manual a a és de un mando. 6.2. P ime as Simulaciones: Compo amien o del obo SIAR. An es que odo, como mues a la Figu a 6.1, se debe ing esa a la ca pe a donde se encuen an los paque es desa ollado según lo mencionado en la sección 5.4 y ajus a las a iables del en o no, lo cual nos da acceso a lanza di e en es a chi os desa ollado pa a es e abajo. En pa icula se mues a en el p esen e “sia _model.launch” y “sia _Joy_model.launch” los cuales son los a chi os o iciales pa a p oba el simulado sin en o no y con en o no, ya que el es o son a chi os de p uebas. Una ez seleccionado el a chi o “launch” se ejecu a y Gazebo comienza a ejecu a se, Figu a 6.2. Figu a 6. 1 Desc ición en consola de los packages y elemen os del wo kspace sia _ws Figu a 6. 2 P esen ación de la in e az Gazebo al se lanzado Así, enemos acceso al p ime a chi o “launch” ealizado pa a mos a el uncionamien o del simulado . “sia _model.launch” solo mues a la simulación de la pla a o ma SIAR en un en o no acío, Figu a 6.3, pe o donde puede isualiza sin incon enien es las ca ac e ís icas de desplazamien o y de ajus e de posición de los b azos, lo cual como se mencionó en la secciono en la sección 5.8 es con olado manualmen e po un joys ick a a és de la in e conexión de es nodos ROS, Figu a 6.4. El nodo “/joy”, se ob iene como consecuencia de habe ins alado el “package” os_kine ic_joy y es ablece la comunicación en e el joys ick y ROS. El nodo “/sia _model” se ob iene como esul ado de implemen a el plugin “sia _joy_node”, es deci , aquel que ealiza la codi icación de los mensajes en iados po el joys ick a mensajes en endibles 61 po Gazebo. El e ce nodo “Gazebo” es el esul ado de implemen a el plugin “plugin_sia _wheels_pis on.cpp”, el cual se enca ga que en ia mensajes pa a ejecu a el desplazamien o del obo o el mo imien o de los b azos en el en o no Gazebo. Figu a 6. 3 Visualización en Gazebo del obo SIAR simulado al lanza sia _model.launch Figu a 6. 4 Relación de nodos al lanza sia _model.launch A con inuación, se mues a el compo amien o del desplazamien o del obo con olado a a és de joys ick, el cual posee una g an es abilidad pa a mo imien os lineales, Figu a 6.5 y 6.6, al hace gi os, Figu a 6.7 y 6.8, además al momen o de ena , Figu a 6.8, de mane a muy simila a la pla a o ma eal. Reco da , según lo mencionado en sección 5.8 que pa a que ac i a el con ol manual es necesa io p esiona el bo ón “LB” del joys ick, luego ealiza mo e el análogo 1 en di ección del eje 1, es deci a iba o abajo, pa a gene a un mo imien o hacia adelan e o a ás espec i amen e. 62 Figu a 6. 5 Modelo obo SIAR simulado en Gazebo sin p esiona bo ones gene ando un es ado de eposo Figu a 6. 6 Modelo obo SIAR simulado en Gazebo al p esiona bo on 4 (LB) y eje 1 (hacia a iba) gene ando mo imien o lineal Figu a 6. 7 Modelo obo SIAR simulado en Gazebo al p esiona bo on 4 (LB), eje 1 y eje 0 gene ando mo imien o o acional. Figu a 6. 8 Modelo obo SIAR simulado en Gazebo luego de gi a al p esiona bo on 4 (LB) y eje 1 (hacia a iba) gene ando mo imien o lineal LB LB LB 63 También se e aluó en el modelo, el es ado de los cen os de masas, join s e ine cias, pa a conoce la ubicación geomé ica de cada una de es as pa es que pe mi en ob ene una mejo es abilidad del modelo simulado. La Figu a 6.10 mues a la ubicación de los cen os de masas en el modelo, los cuales, y po la geome ía del obo , se encuen as dis ibuidos simé icamen e espec o al cen o del obo , lo cual gene a una buena es abilidad, ya que no hay que compensa masas pa a que el obo se man enga en equilib io. Po o a pa e, se e isa el es ado de los join s, Figu a 6.9, los cuales ambién se encuen as simé icamen e dis ibuidos espec o al cen o del obo , es o ambién a o ece a la es abilidad ya que los pun os de gi o son simé icos po lo an o es más simple ob ene un balance de las masas de los cue pos. También de e aluó el es ado inal de las ine cias, Figu as 6.11, 6.12 y 6.13, el cual como se mencionó en las secciones an e io es 5.3 y 5.6 iene una ep esen ación cohe en e po pa e de los links del obo y po pa e de las cáma as es eno me, aun así, la es abilidad se man iene sin gene a e ec os ad e sos a la simulación, más bien, es abiliza mucho más la simulación. Figu a 6. 9 Dis ibucion de los join s en el modelo del obo SIAR simulado Gazebo Figu a 6. 10 Dis ibucion de los ine cias en el modelo del obo SIAR Figu a 6. 11 Dis ibucion de cen os de masas en el modelo del obo SIAR Figu a 6. 12 Ine cia del modelo is a desde lejos en Gazebo Figu a 6. 13 Ine cia o al del modelo simulado is a desde ce ca en Gazebo 64 Pa a conoce cuáles son los mensajes (messages) que se en ían a a és de los dis in os nodos de ROS y que o ecen in o mación sob e la simulación, se ejecu a el comando “ os opic lis ” el cual mues a una lis a de los opics al como se isualiza en la Figu a 6.14. Se puede ap ecia cómo según la sección 3.3.1.2, se publica in o mación del modelo, lo cual pe mi e conoce su es ado o ejecu a acción sob e él. En pa icula se analiza los opics “/sia _model/wid h” y “/sia _model/dis_box_cen alaxis” los cuales pe mi en conoce espec i amen e, el ancho del modelo en cada ins an e y la dis ancia que exis e en e el cen o del modelo y el cen o de la caja de la elec ónica (con su sen ido hacia adelan e o a ás, es deci , alo posi i o y nega i o espec i amen e). Compa ando los alo es medidos en la pla a o ma eal del SIAR, Tabla 6.1, con los medidos en el simulado , Figu as 6.15, 6.16, 6.17, 6.18 y 6.19, se ap ecia que la geome ía inal ob enida en el simulado ep esen a muy bien al obo eal, ya que las lec u as ealizadas en los opics mues an alo es de dimensiones muy simila es. Tabla 6. 1 Mediciónes ealies de la pla a o ma SIAR Dis ancia cen o a caja elec ónica (m) Ancho (m) Medida del senso 0.14 0.51 0 0.12 0.58 10 0.09 0.64 20 0.06 0.68 30 0.04 0.7 40 0.02 0.71 50 0 0.71 60 -0.01 0.71 70 -0.03 0.7 80 -0.05 0.69 90 -0.07 0.68 100 -0.08 0.66 110 -0.1 0.64 120 -0.11 0.61 130 -0.12 0.58 140 -0.14 0.51 150 Figu a 6. 14 Visualización de opics del modelo en consola al lanza sia _model.launch 65 Figu a 6. 15 Es ado del obo SIAR simulado en Gazebo en ancho maximo Figu a 6. 16 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia adelan e Figu a 6. 17 Es ado del obo SIAR simulado en Gazebo con elec onica desplazada hacia adelan e al ancho minimo. 72 Figu a 6. 38 Visualización del obo SIAR simulado al alcan a illado con espues a es able a la i egula idad de ni el de la en ada En la Figu a 6.41 y 6.42 se obse a como el modelo a anza sin mayo incon enien e po el in e io del alcan a illado a pesa del deslizamien o que apa ece espon áneamen e. Cabe des aca que has a es e pun o la mayo complejidad ocu e al inicio del ayec o, es deci en el desni el, momen o en el cual hay que se p eca ido pa a no cae en canal, ya que una ez den o no es posible saca con el con ol manual al obo , si no hay que in e eni la simulación. Po o a pa e, cabe menciona que el compo amien o de los b azos es muy es ablece g acias al con ol que PID de posicionamien o que posee. Pa a conoce más sob e el uncionamien o del simulado , se p ocede a e alua el compo amien o de las cáma as Asus X ion. Pa a es o se ejecu a en consola “ os opics lis ” en donde se pod á encon a una se ie una se ie de opics co espondien e a las sie e cáma as, Figu a 6.43 (las es delan e as, es ase as, y en el medio). Cabe des aca en e odas las al e na i as la elacionadas con “dep h” y “ gb”, ya que es as pe mi en ob ene una cla a in o mación sob e el en o no y así p ocesa la in o mación pa a posibles acciones. Figu a 6. 41 Ace camien o al obo SIAR simulado al in e io del alcan a illado Figu a 6. 42 Desplazamien o del obo SIAR al in e io del alcan a illado con lige o deslizamien o Figu a 6. 40 Ing eso de obo SIAR al alcan a illado Figu a 6. 39 Desplazamien o del obo SIAR al in e io de alcan a illado 73 Figu a 6. 43 Topics publicados po sia _Joy_model.launch elacionados a las cama as 74 Pa a comp oba como las cáma as cap an la in o mación se ejecu a el simulado de ROS llamado R iz en consola, luego se inco po an (add) imágenes y se asocian al opics de la cáma a deseada, Figu a 6.44. En la Figu a 6.45 se ap ecia las imágenes “ gb” de las cáma as on ales en o den medio, izquie da y de echa, las cuales o ecen cla a in o mación del in e io del alcan a illado. En la Figu a 6.45, se ap ecia las imágenes “dep h" de las medias, izquie da y de echa, las cuales en egan cla a in o mación de p o undidad del alcan a illado. Figu a 6. 44 Selección de Topics Cama as on ales en R iz Figu a 6. 46 Visión dep h cama as on ales Figu a 6. 45 Visión gb cama as on ales 75 La Figu a 6.47 mues a la posición en la que se encon aba el obo en el momen o en el que ue on cap u adas las imágenes “ gb” y “dep h" con las cáma as on ales. Figu a 6. 47 Posición de obo SIAR simulado al momen o de ealiza la cap u a de imágenes con cáma as on ales Del mismo modo, en la Figu a 6.48 se mues a la posición en la que se encon aba el obo en el momen o en el que ue on cap u adas las imágenes “ gb” y “dep h" con las cáma as ase as. Figu a 6. 48 Posición del obo SIAR simulado al momen o de ealiza la cap u a de imágenes con cáma as on ales Luego se p ocedió a ealiza la inco po ación (add) de las imágenes asociados a los dis in os opics de las cáma as ase as, Figu a 6.49. En la Figu a 6.50 se ap ecia las imágenes “ gb” de las cáma as ase as en o den medio, izquie da y de echa, las cuales o ecen cla a in o mación del in e io del alcan a illado. En la Figu a 6.51, se ap ecia las imágenes “dep h" de las ca amas medias, izquie da y de echa, las cuales en egan cla a in o mación de p o undidad del alcan a illado. 76 Con inuando con las p uebas que mues an el desempeño del obo en el en o no, se p ocedió a conduci el obo aún más al in e io del alcan a illado, Figu a 6.52, y gene a una caída de es e al in e io del canal del alcan a illado, Figu a 6.53, con el obje i o de conoce cómo se compo a mecánicamen e y si se p esen e alguna anomalía o e ec o ex año de ue zas que le qui en es abilidad al modelo. Como consecuencia, se puede ap ecia en la igu a 6.54 como el obo se man u o es able y sin compo amien o anómalo al cae al canal, aun así, se condujo un pa de Figu a 6. 49 Selección de Topics Cama as ase as en R iz Figu a 6. 51 Visión gb cama as ase as Figu a 6. 50 Visión dep h cama as ase as 77 me os den o del alcan a illado pa a in en a saca al obo del canal, pe o debido a que es e es de g an al u a y las dimensiones no pe mi en ealiza maniob as de gi o pa a acomoda el modelo, se u iliza on he amien as de la GUI de Gazebo pa a posiciona nue amen e ue a del canal como mues a la Figu a 6.55. Figu a 6. 54 Desplazamien o del obo SIAR po el canal del alcan a illado con espues a es able an e el desni el de supe icies Figu a 6. 52 Robo SIAR simulado en el in e io del canal del alcan a illado Figu a 6. 53 Desplazamien o obo SIAR simulado an e io a caída en el canal 78 Figu a 6. 55 Robo SIAR posicionado nue amen e en alcan a illado ue a del canal g acias a la u ilización de las he amien as del GUI de Gazebo Una ez eubicado el obo en el alcan a illado se con inuó a anzando po zonas más hos iles p esen es en el escena io, Figu a 6.56, las cuales, pa a a on a las equie en que el obo desplace el cen o de masa del obo , hacia adelan e o hacia a ás según sea el caso, a pa i del ecogimien o de los b azos y así gene a mayo acción en las uedas delan e as o ase as. En la Figu a 6.57 se obse a como el obo comienza a mo e el cen o de masa hacia a ás pa a consegui un mayo oce en las uedas ase as, y así con inua a anzando como mues an la secuencia de imágenes de la Figu a 6.58. Figu a 6. 56 Desplazamien o de obo SIAR simulado po zona hos il del escena io Figu a 6. 57 Mo imien o de b azos del obo SIAR simulado pa a modi ica cen o de masa 79 Luego de so ea es a e apa de e eno i egula g acias al desplazamien o del cen o de masa, el obo se en en a a una zona con cu a y pos e io angos amien o como mues a la Figu a 6.59. Pa a a on a es a e en ualidad, el obo nue amen e cambia su cen o de masa, es a ez hacia adelan e, e ayendo comple amen e los b azos has a alcanza el ancho mínimo, y así, con a con mayo oce en las uedas delan e as. La Figu a 6.59 mues a una secuencia de imágenes con lo mencionado an e io men e, comenzando con el cambio del cen o de masa desde a ás hacia delan e y con inuando con es e p ocedimien o has a oma la cu a, ins an e en el que alcanza el ancho mínimo y pasa po la angos u a del alcan a illado sin incon enien es pa a con inua a anzando po es e. Figu a 6. 58 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado pa a desplaza cen o de masa (a), asi gene a mejo acción en uedas ase as (b) que pe mi a el desplazamien o en zona hos il (c) an es de en en a cu a (d) (a) (b) (c) (d) 80 Pos e io men e, como se mues a en la secuencia de imágenes de la Figu a 6.60 como el obo comienza a a a esa la úl ima zona del alcan a illado, la cual es una zona ec a con un canal ancho en el medio, azón po la cual el obo comienza a mo e nue amen e su cen o de masa y eplega se comple amen e has a alcanza su ancho máximo y así e i a que caiga al canal. Pos e io a eso el con ol manual solo necesi a di igi hacia adelan e al obo . (c) (d) (a) (b) Figu a 6. 59 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado desplazando el cen o de masa hacia adelan e (a) lo cual pe mi e ob ene mejo es abilidad y acción en la supe icie hos il an es de ing esa a la cu a (b) , luga donde alcanza el ancho minimo (c) que pe mi e so ea el angos amien o y asi con inua a anzando po el alcan a illado (d) 81 (a) (b) (c) (d) Figu a 6. 60 Secuencia de imágenes que mues a la maniob a ealizada po obo SIAR simulado desplazando el cen o de masa hacia el cen o (a) lo cual pe mi e ob ene mejo es abilidad y no cae al canal (b) pa a luego a anza po la zona ec a del alcan a illado (c) has a ace ca se a la salida (d) Figu a 6. 61 Secuencia de imágenes que mues a el ace camien o a la salida del alcan a illado (a) y como el obo SIAR no pie de es abilidad al sal a el desni el (b) pa a segui deslizandose en la supe ci ie (c) (c) (b) (a) 88 • Po úl imo, y pa a se que el simulado sea una copia iel de la pla a o ma SIAR eal, se á necesa io cambia el chasis del modelo, ya que la úl ima e sión de la pla a o ma es di e en e a la mos ada en es e abajo. Es o no signi ica mayo es incon enien es, ya que la mecánica de los b azos y uedas se man iene y solo se ía necesa io implemen a un “mesh” con una cubie a supe io . 89 8.BIBLIOGRAFÍA [1] D. B a o y C. F. Rengi o, «Simulado es en Robó ica: Qué alida , La Cinemá ica o la Dinámica? Caso de es udio: Simulación de Pos u a de un Robo Bípedo,» XVII COMRob2015/ID-1548, No 2015. [2] S. I aldi, J. Pe e s, V. Padois y F. No i, «Tools o simula ing humanoid obo dynamics: A su ey based on use eedback,” in Humanoid Robo s (Humanoids),» 2014 14 h IEEE- RAS In e na ional Con e ence on, pp. 842-849, No 2014. [3] M. Vukob a o ic, «Ze o-momen poin . hi y i e yea so i s li e,» In e na ional Jou nal o Humanoid Robo ics, ol. 01, nº 01, p. 157–173, 2004. [4] «Open Dynamics Engine TM,» [En línea]. A ailable: h p://www.ode.o g/. [Úl imo acceso: Ma 2018]. [5] «Bulle Real-Time Physics Simula ion,» [En línea]. A ailable: h ps://pybulle .o g. [Úl imo acceso: Ma 2018]. [6] A. Jain, Robo and Mul ibody dynamics: analysis and algo i hms., 2011. [7] E. Todo o , «Analy ically- in e ible dynamics wi h con ac s and cons ain s: heo y and implemen a ion in mujoco,» de ICRA, Hong Kong, 2014. [8] E. D umw igh y . D. Shell, «An e alua ion o me hods o modeling,» de ICRA, 2011. [9] E. D umw igh y D . Shell. , «Ex ensi e analysis o linea complemen a i y p oblem (lcp) sol e pe o mance on andomly gene a ed igid body con ac p oblems,» de IROS , Vilamou a, Po ugal, 2012. [10] E. Todo o , . T. E ez y Y. Tassa., «Mujoco: A physics engine o model- based con ol.,» de IROS, 2012. [11] E. Todo o , «A con ex, smoo h and in e ible con ac model o ajec o y op imiza ion,» de ICRA, 2011. [12] B. B oglia o, A. en Dam, . L. Paoli, F. Géno y M. Abadie, «Nume ical simula ion o ini e dimensional mul ibody nonsmoo h ,» 2002. [13] Y.-B. Jia, «Th ee-dimensional impac : ene gy- based modeling o angen ial compliance,» The In e na ional Jou nal o Robo ic Resea ch, ol. 32, nº 1, pp. 56-83, 2013. [14] C. Du iez, F. Dubois, A. Khedda y C. And io , «Realis ic hap ic ende ing o in e ac ing de o mable objec s in i ual en i onmen s,» IEEE T ansac ion on isualiza ion and compu e g aphics, ol. 12, nº 1, pp. 36-47, 2006. 90 [15] C. Du iez, «Con ol o Elas ic So Robo s based on Real- Time Fini e Elemen Me hod,» ICRA, ol. 12, nº 1, pp. 56-83, 2013. [16] B. Siciliano y O. Kha ib, Handbook o Robo ics, Sp inge , 2008. [17] «DART,» Dynamic Anima ion and Robo ics Toolki , [En línea]. A ailable: h p://da sim.gi hub.io/index.h ml. [Úl imo acceso: Ma 2018]. [18] «Gazebo,» Open Sou ce Robo ics Funda ion, 2012. [En línea]. A ailable: h p://gazebosim.o g/. [Úl imo acceso: Ma 2018]. [19] «Og e3D,» OGRE, [En línea]. A ailable: h ps://www.og e3d.o g/. [Úl imo acceso: Ma 2018]. [20] «ARGoS,» Swa manoid , 2011. [En línea]. A ailable: h p://www.a gos- sim.in o/index.php. [Úl imo acceso: Ma 2018]. [21] «V- REP (Vi ual Robo Expe imen a ion Pla o m),» Copellia Robo ics, 2010. [En línea]. A ailable: h p://www.coppelia obo ics.com/. [Úl imo acceso: Ma 2018]. [22] O. Michel, «Webo s: P o essional mobile obo simula ion,» In e na ional Jou nal o Ad anced Robo ic Sys ems, ol. 1, nº 1, pp. 39-42, 2004. [23] «Open Ra e,» TeamCi y, 2006. [En línea]. A ailable: h p://open a e.o g/. [Úl imo acceso: Ma 2018]. [24] «Robo an,» CEREM, [En línea]. A ailable: h p://www. obo an.be/. [Úl imo acceso: Ma 2018]. [25] «Vox ex S udio,» cmlabs, [En línea]. A ailable: h ps://www.cm-labs.com/simula ion - solu ions/mecha onic-enginee ing/. [Úl imo acceso: Ma 2018]. [26] «OpenSim,» Na ional Cen e o Simula ion in Rehabili a ion Resea ch, 2010. [En línea]. A ailable: h p://opensim.s an o d.edu/. [Úl imo acceso: Ma 2018]. [27] «SimTK,» Na ional Ins i u es o Heal h, [En línea]. A ailable: h ps://sim k.o g/p ojec s/simbody/. [28] «Adams,» MSC So wa e, [En línea]. A ailable: h p://www.mscso wa e.com/p oduc /adams. [Úl imo acceso: Ma 2018]. [29] «MORSE,» LAAS CRNS, 2011. [En línea]. A ailable: h ps://www.open obo s.o g/mo se/doc/la es /wha _is_mo se.h ml. [Úl imo acceso: Ma 2018]. [30] «MuJoCo,» Robo i LLC, [En línea]. A ailable: h p://www.mujoco.o g/. [Úl imo acceso: Ma 2018]. [31] «XDE,» lis cea ech, [En línea]. A ailable: h p://www-lis .cea. /en/inno a ing- o - indus y/ou -asse s- o -indus y/p oduc s. [Úl imo acceso: Ma 2018]. 91 [32] «OpenHRP3,» Open A chi ec u e Human-cen e ed Robo ics Pla o m, 2010. [En línea]. A ailable: h p:// kanehi o.gi hub.io/openh p3- doc/en/index.h ml. [Úl imo acceso: Ma 2018]. [33] «OSRF,» Open Sou ce Robo ic Funda ion, [En línea]. A ailable: h ps://www.os ounda ion.o g/. [Úl imo acceso: Ma 2018]. [34] «ROS,» Open Sou ce Robo ics Funda ion, 2012. [En línea]. A ailable: h p://www. os.o g/is- os- o -me/. [Úl imo acceso: Ma 2018]. [35] «ORDF,» Open Soue ce Robo ics Funda ion, 2015. [En línea]. A ailable: h ps://www.os ounda ion.o g/ os-gazebo-a - he-d c- inals/. [Úl imo acceso: Ma 2018]. [36] «ROS,» Open Sou ce Robo ics Funda ion, 2012. [En línea]. A ailable: h p://wiki. os.o g/gazebo_ os_pkgs. [Úl imo acceso: Ma 2018]. [37] «sd o ma ,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/. [Úl imo acceso: Ma 2018]. [38] «Gazebo Componen s,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u =componen s&ca =ge _s a ed. [Úl imo acceso: Ma 2018]. [39] «sd o ma Wo ld,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/spec? e =1.6&elem=wo ld. [Úl imo acceso: Ma 2018]. [40] «sd o ma Speci ica ion,» Open Soue ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/spec. [Úl imo acceso: Ma 2018]. [41] «Gazebo Make a Model,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u =build_model&ca =build_ obo . [Úl imo acceso: Ma 2018]. [42] «Gazebo Plugin,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u =plugins_hello_wo ld&ca =w i e_plugin. [Úl imo acceso: Ma 2018]. [43] «Gazebo Model S uc u e,» Open Sou ce Robo ics Funda ion, 2014. [ En línea]. A ailable: h p://gazebosim.o g/ u o ials? u =model_s uc u e&ca =build_ obo . [Úl imo acceso: Ma 2018]. [44] «Gazebo ROS,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u = os_o e iew&ca =conne c _ os. [Úl imo acceso: Ma 2018]. [45] «ROS Ca kin,» Open Sou ce Robo ics Funda ion, 2017. [En línea]. A ailable: h p://wiki. os.o g/ca kin/concep ual_o e iew. [Úl imo acceso: Ma 2018]. [46] «Gazebo URDF,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials/? u = os_u d . [Úl imo acceso: Ma 2018]. 92 [47] «ROS URDF,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://wiki. os.o g/u d . [Úl imo acceso: Ma 2018]. [48] «ROS In oduc ion,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://wiki. os.o g/ROS/In oduc ion. [Úl imo acceso: Ma 2018]. [49] «ROS Concep s,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://wiki. os.o g/ROS/Concep s. [Úl imo acceso: Ma 2018]. [50] «ROS Highe Le el,» Open Sou ce Robo ics Funda ions, 2014. [En línea]. A ailable: h p://wiki. os.o g/ROS/Highe -Le el%20Concep s. [Úl imo acceso: Ma 2018]. [51] «ROS Clien Lib a y,» Open Sou ce Robo ics Funda ion, 2014. [En línea]. A ailable: h p://wiki. os.o g/Clien %20Lib a ies. [Úl imo acceso: Ma 2018]. [52] «ROS Dis ibu ions,» Open Sou ce Robo ics Funda ion, 2017. [En línea]. A ailable: h p://wiki. os.o g/Dis ibu ions. [Úl imo acceso: Ma 2018]. [53] «ROS REP-3,» Open Sou ce Robo ics Funda ions, 2017. [En línea]. A ailable: h p://www. os.o g/ eps/ ep-0003.h ml. [Úl imo acceso: Ab 2018]. [54] «IdMind,» IdMind Li ing Robo ics, 2015. [En línea]. A ailable: h p://www.idmind.p /. [Úl imo acceso: May 2018]. [55] S. Conso ium, «Deli e able SIAR_D28.6,» SIAR Conso ium, 2017. [56] «sd o ma Model,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/spec? e =1.6&elem=model. [Úl imo acceso: Ab i 2018]. [57] «Gi Hub Robo ics UPO,» Se ice Robo ics Lab, [En línea]. A ailable: h ps://gi hub.com/ obo ics-upo/sia _simula o . [Úl imo acceso: Ab 2018]. [58] «Gazebo Tu o ial Ine ia,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u =ine ia&ca =build_ obo . [Úl imo acceso: Ab 2018]. [59] «sd o ma Collision,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/spec? e =1.6&elem=collision. [Úl imo acceso: Ab 2018]. [60] «sd o ma Join ,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://sd o ma .o g/spec? e =1.6&elem=join . [Úl imo acceso: Ab 2018]. [61] «ROS Wo kspace,» Open Sou ce Robo ic Funda ion, 2018. [En línea]. A ailable: h p://wiki. os.o g/ROS/Tu o ials/Ins allingandCon igu ingROSEn i on men . [Úl imo acceso: Ab 2014]. [62] «ROS Package,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://wiki. os.o g/ROS/Tu o ials/C ea ingPackage. [Úl imo acceso: Ab 2018]. [63] «Gazebo Plugin wi h ROS,» Open Sou ce Robo ic Funda ion, 2014. [En línea]. A ailable: h p://gazebosim.o g/ u o ials? u = os_gzplugins&ca =connec _ os. [Úl imo acceso: Ab 2018]. 93 [64] «Gi Hub Plugin Mul iWheels,» Technische Uni e si ä Da ms ad , 2017. [ En línea]. A ailable: h ps://gi hub.com/ u-da ms ad - os-pkg/hec o _gazebo/ ee/indigo - de el/hec o _gazebo_plugins. [Úl imo acceso: Ab 2018]. [65] «Gi Hub Asus X ion Package,» Jimmy da Sil a, 1 Sep 2015. [En línea]. A ailable: h ps://gi hub.com/kuka-isi /gazebo_kinec _sim. [Úl imo acceso: Ab 2018]. [66] F. J. Pe ez-G au, F. R. Fab esse, F. Caballe o y A. Olle o, «Long- e m ae ial obo localiza ion based on isual odome y and adio-based anging,» In e na ional Con e ence onUnmanned Ai c a Sys ems (ICUAS),, p. 608–614, June 2016. [67] «Gi Hub Tu o ial Mesh Gazebo,» Ma ija Popo ic, 2015. [En línea]. A ailable: h ps://gi hub.com/e hz-asl/ o o s_simula o /wiki/Wo king-Wi h-Meshes-in-Gazebo. [Úl imo acceso: Ab 2018]. [68] «ROS Joy Package,» Aus in Hend ix, 17 07 2016. [En línea]. A ailable: h p://wiki. os.o g/joy. [Úl imo acceso: Ab 2018]. [69] «ROS Tu o ial Joy,» Melonee Wise, 09 Dic 2009. [En línea]. A ailable: h p://wiki. os.o g/joy/Tu o ials/Con igu ingALinuxJoys ick. [Úl imo acceso: Ab 2018]. [70] «ROS gazebo2 iz Package,» And eas Bihlmaie , 18 Feb 2016. [En línea]. A ailable: h p://wiki. os.o g/gazebo2 iz . [Úl imo acceso: Ab 2018]. [71] «Gi Hub gazebo2 iz package,» And eas Bihlmaie , 10 Ab 2017. [En línea]. A ailable: h ps://gi hub.com/and easBihlmaie /gazebo2 iz. [Úl imo acceso: Ab 2018]. [72] «ROS pysd Package,» And eas Bihlmaie , 18 Jun 2014. [En línea]. A ailable: h p://wiki. os.o g/pysd . [Úl imo acceso: Ab 2018]. [73] «Gi Hub pysd Package,» And eas Bihlmaie , 12 No 2016. [En línea]. A ailable: h ps://gi hub.com/and easBihlmaie /pysd . [Úl imo acceso: 2018]. [74] «Gi Hub Tu o ial gazebo2 iz,» And eas Bihlmaie , [En línea]. A ailable: h p://and easbihlmaie .gi hub.io/2014/02/19/gazebo2 iz.h ml . [Úl imo acceso: Ab 2018].