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].