4.2 Nuclei detection and classification in liver tissue
4.2.3 Convolutional variational auto-encoder for nuclei classification
A!continuación!se!describen!las!dos!herramientas!necesarias!para!el!desarrollo!de! los!modos!de!marcha:!montaje!y!diseño!del!robot!y!el!entorno!de!trabajo.!
3.1!
ROBOT!HEXÁPODO!ERLELSPIDER!
!
Un! primer! paso! llevado! a! cabo! a! lo! largo! del! Trabajo! Fin! de! Grado! ha! sido! el! montaje!del!ErleXSpider,!explicado!detalladamente!en!el!manual!de!montaje!del!anexo! F.! No! obstante,! para! asegurar! una! adecuada! comprensión! por! parte! del! lector,! se! explican!a!continuación!aquellos!componentes!más!importantes.!
Las! partes! fundamentales! en! las! que! se! puede! subdividir! el! ErleXSpider,! y! que! facilitan!al!lector!una!adecuada!compresión,!son!las!indicadas!en!la!siguiente!figura:! ! ! Figura!3.1.!Imagen!de!las!partes!fundamentales!del!ErleLSpider.!Fuente:!Manual!de! montaje!ErleLSpider!y!elaboración!propia.! ! Observando!la!figura,!cada!pata!del!robot!se!compone!de!una!coxa,!un!fémur!y! una! tibia.! Cada! de! una! de! las! piezas! se! mueve! a! través! de! un! servomotor,! disponiendo!el!robot,!por!tanto,!de!18!servomotores.!!
Fémur
Coxa
3.1.1!Descripción!de!los!componentes!!
En!la!Figura!3.2,!se!observan!cada!uno!de!los!componentes!que!integran!el!robot! hexápodo!ErleX!Spider:! Figura!3.2.!Componentes!del!ErleLSpider.!Fuente:!Manual!de!montaje!ErleLSpider.!! A!continuación!se!realiza!!una!breve!explicación!del!ErleXBrain2:!parte!mecánica,! parte!electrónica,!!principales!conexiones!del!robot,!mando!PS3!Sixaxis,!puesta!en! marcha!y!calibración.!3.1.1.1! ErleLBrain2!
!
ErleXBrain!2!es!un!cerebro!robótico!artificial!basado!en!Linux!para!la!fabricación! de!robots!y!drones!con!soporte!oficial!para!ROS!(Robot!Operating!System).!Debido!a! la!importancia!de!este!componente,!se!le!dedica!el!apartado!3.2.1!con!el!fin!de!explicar! con!mayor!detalle!los!componentes!que!presenta!y!su!funcionamiento.!
3.1.1.2! Descripción!mecánica!
!
!
La! configuración! mecánica! que! lleva! el! robot! es! la! seguida! en! el! manual! de! montaje! (Anexo! F).! Sin! embargo,! respecto! a! los! pasos! que! se! observan! en! dicho! manual,! se! ha! realizado! un! rediseño! del! cableado! interior! al! agrupar! los! cables! con! clemas!y!una!mejora!estética!del!robot,!colocando!piel!de!serpiente!de!nylon!alrededor! de! los! cables! de! los! servos! más! exteriores.! Dichas! mejoras! permiten! un! mejor! movimiento!de!las!articulaciones!y!una!mayor!facilidad!a!la!hora!de!la!reparación!de! posibles!componentes!del!robot.!
3.1.1.3! Descripción!electrónica! !
! Figura!3.3.!Power!module,!UBEC!y!controlador!de!servomotores!.!Fuente:!Manual!de! montaje!ErleLSpider! La!parte!electrónica!está!basada!fundamentalmente!en!los!tres!componentes!que! se!observan!en!la!Figura!3.3:!•! El!power! module! permite! alimentar! el! ErleXBrain! (5,3! voltios),! además! de! informar!del!voltaje!de!la!batería!y!la!corriente.!
•! El!UBEC! alimenta! los! servomotores! (6X7,2! voltios)! limitando! el! voltaje! y! evitando!la!sobretensión.!!
•! La!controladora!se!encarga!de!la!electrónica!de!potencia!que!controla!los! actuadores.! !
Cabe! destacar! también! la!batería! eléctrica.! Esta! se! compone! de! varias! celdas! electroquímicas! que! convierten! la! energía! química! almacenada! en! electricidad.! El! robot! ErleXSpider! lleva! una! batería! LiPo! de! 11,1! voltios! con! una! capacidad! de! 2200! mAh.!
!
3.1.1.4! Principales!conexiones!
!
!
Como!conexiones!principales!caben!destacar,!en!primer!lugar,!la!conexión!entre!el! ErleXBrain! y! la! controladora.! Esta! conexión! es! la! que! transporta! la! información! a! la! controladora! por! lo! que! es! la! responsable! del! movimiento! de! los! servomotores.! Se! debe!prestar!especial!cuidado!en!la!conexión,!ya!que!un!fallo!en!esta!puede!generar! un!deterioro!tanto!del!ErleXBrain,!como!de!la!controladora!y!servomotores.!
En! segundo! lugar,! cabe! destacar! la! conexión! de! los! servomotores! a! la! controladora.! Aunque! las! conexiones! ya! parezcan! prefijadas,! como! se! observa! en! la! imagen,!estas!pueden!modificarse!siempre!que!se!respete!el!orden!de!los!colores!del! cable!y!se!modifique!consecuentemente!la!conexión!dentro!del!código!del!ErleXBrain.! Para!el!desarrollo!de!este!proyecto,!se!modificaron!las!conexiones!10,!11!y!12!por!las! conexiones!19,!20!y!21,!respectivamente.!
Por! último,! destacar! la! conexión! entre! el! power! module! y! el! ErleXBrain.! Esto! permite!suministrar!al!ErleXBrain!los!5,3!voltios!que!necesita!para!su!funcionamiento.!
Todas!las!conexiones!mencionadas!se!pueden!observar!en!la!siguiente!figura:! !
! ! ! ! ! ! ! ! ! ! ! !
Figura! 3.4.! Conexión! controladora! y! servomotores.! Fuente:! Manual! de! montaje!ErleLSpider! ! Figura!3.5.!Conexión!controladora!y!ErleL Brain.!Fuente:!Manual!de!montaje!ErleL Spider! ! ! !
Figura! 3.6.! Conexión! ErleLBrain! y! power! module.! Fuente:! Manual! de! montaje!ErleLSpider!
! ! ! !
3.1.1.5! PS3!Sixaxis!
!
!
El!mando!es!un!control!remoto!que!permite!al! usuario! comunicarse! con! ErleXSpider! y! ordenarle! los! movimientos! deseados.! El! mando! se! conecta! vía!Bluetooth.!! ! Figura!3.7.!Mando!PS3! Sixaxis.!Fuente:!Manual!de!montaje! ErleLSpider!
3.1.1.6! Puesta!en!marcha!y!calibración!
Por! último,! se! ha! llevado! a! cabo! la! calibración! de! los! servomotores.! Como! se! puede!observar!en!las!imágenes,!las!patas!se!colocarán!distribuidas!a!45º,!el!fémur!se! colocará!formando!90º!respecto!al!suelo!y!la!tibia!se!situará!de!tal!manera!que!esté!en! contacto!con!el!suelo.! ! ! Figura!3.8.!Calibración!del!ErleLSpider.!Fuente:!Manual!de!montaje!ErleLSpider! ! ! ! ! !
3.2!
SISTEMA!DE!TRABAJO!
3.2.1!ErleLBrain!y!ErleLBrain2!
Para! el! desarrollo! del! Trabajo! Fin! de! Grado,! se! han! utilizado! los! dos! tipos! de! controladores! que! la! empresa! ErleXRobotics! tiene! en! el! mercado! actualmente,! denominados!ErleXBrain!y!ErleXBrain2.!! !
Al!comienzo!del!trabajo,!el!modelo!del!ErleXBrain2!estaba!aún!en!desarrollo,!por!lo! que! se! optó! por! adquirir! el! modelo! ErleXBrain,! para! poder! así! indagar! en! el! conocimiento!de!la!arquitectura!del!dispositivo.!
Ambos! controladores! ErleXBrain! consisten! en! la! unión! de! un! BeagleBone! Black! (ordenador! de! hardware! abierto! y! de! bajo! coste! diseñado! por! desarrolladores! y! aficionados)! y! un! PixHawk! Fire! Cape! (Placa! hija! del! BeagleBone! Black! que! permite! crear!un!dron!Linux!con!completa!funcionalidad).!El!software!viene!con!una!memoria! SD!que!contiene!el!Snappy!Ubuntu!Core!y!el!ROS!preinstalado.!!
Ambos!controladores!presentan!características!en!común!como!pueden!ser!el!tipo! de!los!sensores!que!incluyen!(aunque!no!la!cantidad)!o!algunas!de!las!conexiones.!Sin! embargo,!el!ErleXBrain!2!está!mucho!más!orientado!a!conseguir!una!mayor!velocidad! a!la!hora!de!ejecutar!los!procesos,!disponiendo!para!ello!del!doble!de!memoria!RAM!(1! GB)! que! el! ErleXBrain.! Por! su! parte,! el! ErleXBrain! dispone! de! un! mayor! número! de! sensores.! Por! tanto,! podríamos! decir! que! el! ErleXBrain! 2! está! orientado! a! su! uso! en! robots!mientras!que!el!ErleXBrain!está!pensado!más!para!la!investigación!por!parte!de! desarrolladores!o!aficionados!a!la!robótica.!!!
Como! estructura! software! de! ambos! ErleXBrain,! cabe! destacar! la! virtualización! desarrollada!sobre!Snappy!Ubuntu!Core.!En!cuanto!a!la!virtualización,!es!destacable! que!todo!el!código!desarrollado!se!encuentra!encapsulado!y!si!se!produjese!cualquier! modificación! que! pudiese! dañar! al! ErleXBrain,! dañaría! únicamente! a! la! virtualización,! siendo! sencilla! una! futura! reparación! de! la! maquina! virtual.! Los! ErleXBrain! tienen! incorporado! el! Snappy! Ubuntu! Core,! una! nueva! versión! de! Ubuntu! que! permite! una! mayor!rapidez,!eficiencia!y!mayor!seguridad!de!las!aplicaciones!desarrolladas.!
En! la! Figura! 3.9! se! observan! ambos! controladores.! Como! ya! se! mencionó! anteriormente,!se!observa!como!la!estructura!externa!que!presentan!ambos!es!distinta! debido!a!los!diferentes!objetivos!que!persigue!cada!uno!de!ellos.! ! ! ! ! ! !
! ! ! ! ! ! ! ! ! Figura!3.9.!ErleLBrain!(izquierda)!y!ErleLBrain2!(derecha).!Fuente:!Empresa!ErleLRobotics!
3.2.2!ROS!
!
Como!ya!se!definió!anteriormente,!ROS!es!un!meta!sistema!operativo!de!código! abierto! que! dispone! de! servicios! propios! de! un! sistema! operativo,! incluyendo! abstracción!de!hardware,!control!de!dispositivos!de!bajo!nivel,!paso!de!mensajes!entre! procesos! y! la! gestión! de! paquetes.! También! proporciona! herramientas! y! bibliotecas! para! la! obtención,! la! construcción,! la! escritura! y! la! ejecución! de! código! en! varios! equipos.!Para!el!desarrollo!de!este!proyecto,!se!ha!utilizado!la!versión!ROS!Indigo.! ! ROS! nació! en! 2007! de! la! mano! de! del! Laboratorio! de! Inteligencia! Artificial! de! Stanford!para!dar!soporte!al!proyecto!del!Robot!con!Inteligencia!Artificial!de!Stanford.! Desde!2008,!el!desarrollo!continúa!primordialmente!en!Willow!Garage,!un!instituto!de! investigación! robótico! con! más! de! veinte! instituciones! colaborando! en! un! modelo! de!! desarrollo!federado.!Hoy! en! día,! es! el! soporte! software! más! importante! dentro! del! mundo! de! la! Robótica,! al! ser! integrado! en! muchos! de! los! robots! que! se! han! y! que! se! están! desarrollando.!Aunque!puede!ser!lanzado!desde!múltiples!sistemas!operativos,!donde! mejores!resultados!se!han!alcanzado!es!en!Ubuntu.!Es!por!ello!por!lo!que!en!los!ErleX Brain! vienen! instalados! el! Snappy! Ubuntu! Core! (nueva! versión! de! Ubuntu)! y! la! simulación!se!ha!realizado!también!sobre!dicho!sistema!operativo.!
!
3.2.3!Gazebo!&!RViz!
Como!ya!se!ha!mencionado!anteriormente,!Gazebo!&!RViz!son!herramientas!de! simulación! que! permiten! crear! aplicaciones! embebidas! sin! depender! del! robot! físico.! En! algunos! casos,! estas! aplicaciones! pueden! ser! trasladadas! al! robot! real! sin! modificaciones.!Para!este!proyecto!se!ha!utilizado!la!versión!2.2!de!Gazebo!debido!a! que!era!la!que!se!recomendaba!para!la!versión!ROS!Indigo.!
En!la!simulación!de!este!proyecto,!ambas!herramientas!se!lanzan!desde!el!mismo! archivo!debido!a!que!en!cada!una!de!ellas!observamos!parámetros!distintos.!Mientras! que!en!Gazebo!se!indica!donde!está!realmente!el!robot,!en!RViz!se!ve!donde!cree!el! robot!que!está!usando!la!información!sensorial.!
3.2.4!Conexión!ROS!L!Gazebo!!!
Uno!de!los!mayores!avances!de!la!robótica!ha!venido!de!la!mano!de!la!integración! de!ROS!y!Gazebo.!Lanzando!ambas!herramientas,!somos!capaces!de!procesar!cada! uno!de!los!nodos!y!observar!sus!resultados!en!un!robot!simulado!en!un!mundo!virtual.! Lo!único!que!hace!falta!es!desarrollar!un!plugin!que!nos!sirva!de!intermediario!entre! ambas! herramientas.! La! idea! que! se! ha! perseguido! a! lo! largo! de! este! proyecto! es! aislar! la! parte! de! simulación! posibilitando! una! mejor! comprensión! del! código! en! el! robot!real.!!3.2.5!Simulación!del!software!de!control!!!
El!objetivo!de!la!simulación!es!conseguir!observar!la!respuesta!de!distintos!modos! de!marcha,!tanto!los!ya!implantados!como!aquellos!que!se!vayan!a!desarrollar,!en!un! robot!simulado,!antes!de!llevarlos!a!cabo!en!el!robot!real.!!
Como! ya! se! ha! mencionado,! la! simulación! se! ha! llevado! a! cabo! en! Gazebo! y! RViz.!Para!conseguir!dicha!simulación,!se!han!realizado!los!planos!en!3D!de!cada!una! de!las!piezas!que!componen!el!robot!hexápodo:!tórax,!coxa,!fémur!y!coxa!de!las!patas! izquierdas!y!coxa,!fémur!y!tibia!de!las!patas!derechas.! Posteriormente,!se!ha!distribuido!el!código!como!se!observa!en!la!Figura!3.10:! Figura!3.10.!Distribución!carpetas!simulación.!Fuente:!Elaboración!propia! !
La! distribución! del! código! con! esta! estructura! no! es! aleatoria,! sino! que! persigue! una! fácil! compresión! por! parte! del! usuario.! A! continuación,! se! explica! brevemente!el! contenido!de!cada!carpeta:! "! spider_control:!En!esta!carpeta!se!definen!los!ficheros!que!permiten!crear!y! configurar!los!controles.! "! spider_description:!En!ella!se!encuentran!los!ficheros!que!lanzan!el!modelo! en!Gazebo,!destacando!el!.xacro!que!es!fichero!que!contiene!la!disposición!de! las!piezas,!los!linkers!y!los!colores!del!robot!simulado!en!Gazebo,!así!como!las! piezas!3D!que!lo!definen.! "! spider_erle:!Dispone!del!código!que!tiene!el!robot!real.! "! spider_gazebo:!Contiene!los!mundos!virtuales!y!los!.launch!que!se!encargan! de!lanzar!todos!los!nodos!y!el!mundo!virtual!al!mismo!tiempo.!! "! spider_plugins:!Aquí!se!encuentran!los!plugins!para!Gazebo.!Cabe!destacar! el!plugin!diffplugin_18servos!que!es!aquel!que!conecta!ROS!Y!Gazebo.!! En!el!Anexo!E!apartado!4,!se!explica!con!mayor!detalle!la!estructura!del!código!y! los!pasos!seguidos!para!el!desarrollo!en!Gazebo!del!robot!simulado.! ! !!!!!!!En!la!Figura!3.11!se!observa!la!estructura!llevaba!a!cabo!en!el!robot!simulado!y! en! las! Figuras! 3.12! y! 3.13! se! observan! los! resultados! obtenidos! en! RViz! y! Gazebo,! respectivamente.!
Figura!3.11.!Estructura!robot!simulado.!Fuente:!Biriuk!Ivan!en!Ros!Wiki!
Figura!3.12.!Robot!simulado!en!RViz.!Fuente:!Elaboración!propia!
!
Figura!3.13.!Robot!simulado!en!Gazebo.!Fuente:!Elaboración!propia!
3.2.6!Estructura!del!software!de!control!!!
Como!ya!se!ha!mencionado!anteriormente,!el!código!venía!implantado!en!el!ErleX Spider.!La!estructura!de!dicho!código!puede!verse!en!la!Figura!3.14.!En!dicha!figura,!y! según! la! notación! establecida! en! ROS,! los! círculos! representan! los! nodos! mientras! que!los!rectángulos!representan!los!tópicos.!!
Los!paquetes!que!componen!el!programa!de!robot!ErleXSpider!son:!
"! joy_node:! Paquete! que! permite! convertir! los! datos! de! entrada! del! archivo! del! dispositivo! estándar! de! Linux! (/dev/input/js0)! y! transmitirlos! a! ROS.! En! nuestro! proyecto,!este!paquete!se!encarga!de!recibir!los!comandos!del!mando!PS3!Sixaxis! y! publicarlos! al! tópico! /joy! para! que! el! nodo! crab_teleop_joy! pueda! interpretar! dicha!información.!!
!
"! crab_teleop_joy:! Unidad! que! procesa! los! datos! que! llegan! desde! el! mando!PS3! Sixaxis!y!los!convierte!en!órdenes!que!permitan!controlar!el!robot!hexápodo.!Estos! valores!se!utilizan,!por!tanto,!para!generar!el!modo!de!marcha.!Además,!la!lógica! se! construye! a! partir! de! ciertas! combinaciones! y! secuencias! de! pulsaciones! del! botón.!En!el!Anexo!E!se!puede!observar!con!mayor!detalle!los!comandos!recibidos! del!mando!y!la!funcionalidad!de!cada!uno!de!ellos.!
!
"! crab_leg_kinematics:!Su!propósito!es!el!cálculo,!a!partir!de!la!cinemática!inversa,! de! las! coordenadas! finales! y! del! ángulo! de! las! articulaciones.! Los! paquetes! crab_gait!y!crab_body_kinematics!son!clientes!de!este!paquete.!!
!
"! crab_body_kinematics:! Calcula! los! vectores! de! posición! de! todas! las! patas! según!se!describen!en!el!modelo!URDF.!
!
"! crab_imu:! Se! encarga! de! modificar! los! datos! en! función! del! movimiento! de! la! araña.!
!
"! crab_gait:!Nodo!que!genera!los!vectores!de!posición!de!todas!las!patas!para!cada! uno! de! los! modos! de! marcha.! Este! nodo! tiene! implementados! el! código! que! coordina! las! patas! en! cada! uno! de! los! modos! de! marcha,! accediendo! al! nodo! crab_leg_kinematics!para!el!movimiento!aislado!de!cada!una!de!dichas!patas.! !
"! crab_maestro_controller:!Se!encarga!de!recoger!los!ángulos!de!cada!una!de!las! articulaciones! y! de! mandárselos! a! la! controladora,! quién! se! los! transmite! a! los! servomotores.!Es!un!paquete!que!solo!se!utiliza!en!el!robot!real!y!no!en!el!robot! simulado.!
!
"! crab_msgs:! Es! un! paquete! que! contiene! todos! los! mensajes! y! servicios! que! utilizan!los!paquetes!para!comunicarse!entre!sí.!
! !
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Figura!3.14.!Gráfico!de!la!estructura!del!código!del!robot!real!(izquierda)!y!del!robot! simulado!(derecha).!Fuente:!Elaboración!propia! !
4.!ESTUDIO!DE!LOS!MODOS!DE!MARCHA!
4.1! Estado!del!arte!de!los!modos!de!marcha!!
4.1.1!Introducción!
Para!ser!usado!en!aplicaciones!reales,!un!robot!con!patas!debe!ser!controlado!de! manera! similar! a! como! es! controlado! un! robot! con! ruedas,! esto! es,! indicándole! la! velocidad! de! avance! y! el! rumbo! o! dirección.! Por! tanto,! un! robot! caminante,! aunque! sea!teleoperado,!tiene!que!presentar!un!comportamiento!autónomo!para!avanzar!a!lo! largo!de!la!trayectoria!dada.!
Nuestro! propósito! es! usar! a! los! robots! con! patas! en! áreas! exteriores! no! estructuradas,!que!son!los!tipos!de!terrenos!donde!las!patas!resultan!una!ventaja!con! respecto! a! las! ruedas.! Siguiendo! un! razonamiento! clásico,! el! modo! de! marcha! vendría! determinado,! por! ejemplo,! por!el! número! de! pasos! hasta! llegar! a! la! posición! deseada! [33,34],!la! estabilidad! que! se! requiere! [35,36],!la! trayectoria! deseada!y! la! velocidad! [37],!la! movilidad! de! las! patas! [38]!o! el! consumo! de! energía![39].!
La!evaluación!de!todas!las!secuencias!de!movimiento!de!las!patas!para!encontrar! el! óptimo! dentro! de! un! terreno! determinado! en! un! tiempo! limitado! es! complejo.! Los! controles! de! los! robots! con! patas! intentan! facilitar! este! proceso! determinando! los! modos! de! marcha! que! puedan! servir! en! el! terreno! requerido,! no! buscando! necesariamente! el! óptimo! [40,41].! Una! alternativa! es! solo! permitir! al! robot! operar! en! unos!terrenos!determinados![37],!reduciendo!en!un!gran!número!los!modos!de!marcha! posibles.! Finalmente,! otra! posible! aproximación! es! determinar! los! modos! de! marcha! en!función!del!tipo!de!obstáculos.!Estas!secuencias!determinan!una!especie!de!clase! que! se! selecciona! una! vez! que! los! elementos! que! constituyen! el! ambiente! son! identificados! [42].! El! mayor! inconveniente! de! esta! alternativa! es! que! el! robot! solo! se! puede!enfrentar!a!ambientes!cuyos!objetos!hayan!sido!previamente!identificados.! La!mayoría!de!las!alternativas!propuestas!anteriormente!consideran!que!un!mapa! del!terreno!puede!ser!disponible!o!construido!por!el!robot.!Sin!embargo,!los!ambientes! naturales!sufren!cambios!constantemente!y!el!coste!que!llevaría!mantener!y!actualizar! los!mapas!resultarían!muy!elevados.!La!alternativa!es!utilizar!un!control!reactivo![43].! En! este! control,! la! secuencia! de! las! patas! no! es! planeada! sino! generada! por! la! interacción!entre!el!robot!y!el!terreno.!Los!controles!reactivos!no!utilizan!ningún!tipo!de! mapa:!el!robot!percibe!el!perfil!del!terreno!por!el!contacto!directo!de!sus!patas!con!sus! irregularidades.!
A! lo! largo! del! siguiente! capítulo,! no! se! estudia! este! control! reactivo! sino! que! se! presentan!diferentes!modos!de!marcha!desarrollados!para!ser!utilizados!por!el!robot.! El! desarrollo! de! un! control! con! estos! modos! de! marcha! podría! permitir! al! robot! desenvolverse!en!una!gran!variedad!de!terrenos.!Aún!así,!a!través!del!control!remoto! se!puede!hacer!este!control!por!parte!del!usuario.!
4.1.2! Evolución!de!los!modos!de!marcha!en!robots!hexápodos!
El! estudio! de! la! locomoción! en! distintos! animales! siempre! ha! resultado! ser! de! gran!interés.!Ya!desde!la!década!de!1870,!Eadweard!Muybridge!documentó!la!manera! de!andar!en!más!de!40!mamíferos,!incluyendo!los!humanos,!siendo!una!de!sus!obras,!Animal&Locomotion,!una!de!las!referencias!básicas!actuales!sobre!movimiento!humano! y!animal![44].!
Una!de!las!primeras!personas!que!estudió!el!movimiento!para!robots!hexápodos! fue! Robert! McGhee! en! la! década! de! 1970.! Este! investigador,! utilizando! el! robot! hexápodo!OSU! (comentado! en! el! apartado! 2.2),! fue! capaz! de! desarrollar! distintos! distintos! modos! de! marcha,! giro! y! movimiento! lateral! permitiendo! correr! distancias! cortas!mientras!sorteaba!pequeños!obstáculos.!
!Otros!desarrollos!vinieron!de!la!mano!de!Marc!Raibert!en!los!años!de!1980.!Él!los! realizó! en! la! Universidad! CarnegieXMellon,! donde! desarrollos! de! movimiento! y! dinámica! se! habían! desarrollado! anteriormente! con! otros! robots,! como! el! robot! con! una!sola!pata!que!se!mantenía!en!su!sitio,!que!andaba!a!una!velocidad!determinada,! que!se!mantenía!estable!cuando!sufría!perturbaciones!y!que!saltaba!sobre!obstáculos.!!!
Desde! entonces,! el! desarrollo! de! los! robots! con! patas! empezó! a! crecer! y! esto! condujo! al! desarrollo! de! robots! comerciales,! como! el! robot! de! Honda! ASIMO! (robot! humanoide)!o!el!robot!de!Sony!AIBO.!Además,!contribuciones!en!el!campo!de!robots! con! patas! han! sido! desarrolladas! por! Boston! Dynamics! [45].! Esta! compañía! es! responsable!de!algunos!de!los!robots!con!patas!hasta!la!fecha,!como!el!robot!BigDog! o!el!robot!LittleDog.!!
Sin! embargo,! uno! de! las! mayores! innovaciones! en! los! últimos! años! vino! con! el! desarrollo!del!robot!RHex![46].!Este!robot!nació!del!consorcio!de!varias!universidades! en! torno! al! año! 2000,! fundado! por! DARPA! (parte! del! departamento! de! defensa! de! Estados! Unidos).! RHex! está! inspirado! en! la! morfología! de! los! insectos,! en! particular! en!la!cucaracha.!!Las!cucarachas,!como!cualquier!insecto,!tienen!seis!patas,!tres!en! cada! uno! de! los! laterales! de! su! cuerpo.! Mueven! sus! patas! de! una! manera! que! les! permite! sostenerse! formando! sus! patas! un! triángulo,! lo! que! les! dota! de! gran! estabilidad.!!
Actualmente,!debido!a!los!múltiples!estudios!y!publicaciones!que!se!han!realizado! sobre! los! robots! hexápodos,! existen! muchos! y! variados! modos! de! marcha! para! los! distintos!robots!existentes.!En!particular,!para!el!robot!hexápodo!ErleXSpider,!antes!del! desarrollo!de!este!Trabajo!Fin!de!Grado,!ya!se!habían!realizado!los!modos!de!marcha! que!mueven!las!patas!de!tres!en!tres!y!de!dos!en!dos,!permitiendo!avance,!orientación!