Robot hexápodo

download Robot hexápodo

of 48

Transcript of Robot hexápodo

ROBOT HEXAPODO 1 ROBOT HEXPODO MINIPROYECTO RESUMEN: AUTORES: NESTOR SORLI MARTINEZ DE ORAA PEDRO FERNNDEZGMEZTITULACIN: INGENIERA TCNICA EN ELECTRNICA INDUSTRIAL DIRECTOR: PERE PONSA ASENSIO DEPARTAMENTO: ESAII FECHA: 28 de Mayo del 2003 ROBOT HEXAPODO 2 En este trabajo se hace una clasiIicacion de los robots hexapodos, se muestran diIerentes tipos de estructuras, materiales y de patas segun la aplicacion del robot. Tambien se describenservomotores y diIerentes sensores con los que se pueden trabajar en la construcciondeunrobot.Asicomosuestructurainternaymicrocontrolador,enconcreto programacion mediante Basic Stamp. Se han estudiado las Iormas de locomocion de los robots hexapodos, incluyendo videos, y por ultimo se ha realizado un ejemplo muy detallado de la construccion de un robot hexapodo. Palabras clave HexapodoGrados de libertad Basic Stamp EncoderMolexServomotor MicrocontroladorAlgoritmoSensor ROBOT HEXAPODO 3 INDICE: 1.-Introduccion.....................................................................................................................................5 2.- ClasiIicacion de robots con patas ..................................................................................................5 2.1.1.- Segun numero de atas......................................................................................................7 2.1.2.- Segun el medio ................................................................................................................9 2.1.3.-Segun grados de libertad...................................................................................................9 2.1.4.- Estructuras hidraulicas ..................................................................................................10 3.- DiIerentes materiales empleados en las estructuras .....................................................................11 4.- Construccion de las patas y tipos segun aplicacion......................................................................11 5.- Servos ...........................................................................................................................................13 5.1.1.- Engranajes de los servomotores ..................................................................................13 6.- Como programar un hexapodo mediante Basic Stamp ................................................................15 6.1.1.-Esquema BasicStamp.....................................................................................................16 6.1.2.- Placa didactica ............................................................................................................. 16 7.- Sensores.........................................................................................................................................20 7.1.1 Sensores de proximidad y istancia..................................................................................20 7.1.1.1 InIrarrojos............................................................................................................20 7.1.1.2 ReIlectivos...........................................................................................................21 7.1.1.3 ReIlectivos GP2Dxx ...........................................................................................22 7.1.1.4 Ultrasonidos........................................................................................................24 7.1.2 Sensores de contancto ( Bumper)....................................................................................24 7.1.3 Sensores de velocidad .....................................................................................................24 7.1.3.1 Taco generador...................................................................................................25 7.1.3.2 LVT (Lineal Velocity Transductor)...................................................................25 ROBOT HEXAPODO 4 7.1.3.3 Sensores Doppler................................................................................................26 7.1.4Sensores de aceleracion..................................................................................................26 7.1.4.1 Servo-Acelerometro............................................................................................26 7.1.4.2 Sensor de aceleracion lineal................................................................................27 7.1.5Sensores de Posicion.......................................................................................................27 7.1.5.1 Encoder Incremental...........................................................................................27 7.1.5.2 Encoder Absoluto...............................................................................................28 7.1.5.3 Resolver y Sincroresolver...................................................................................28 7.1.5.4 Giroscopio...........................................................................................................29 7.1.6Sensor de luz....................................................................................................................30 7.1.6.1 LDR.....................................................................................................................30 8.- Comunicacion robot-usuario ........................................................................................................31 9.Locomocion.....................................................................................................................................32 9.1.1 Tipos de movimientos........................................................................................................3210.-Construccion de un hexapodo .....................................................................................................34 10.1.1 La estructura del hexapodo...........................................................................................35 10.1.2 Circuito de control........................................................................................................38 10.1.3 Como se utiliza el programa Bootloader......................................................................42 10.1.4 Como se realiza la carga en le Microcontrolador.........................................................43 10.1.5 Primer programa de ajuste con el hexapodo.................................................................44 ROBOT HEXAPODO 5 1.INTRODUCCIN: Desdelosaos80eldesarrolloderobotsapatashansurgidocomounaalternativaalosvehiculoscon ruedas,debidoalagranvariedaddeterrenosalosquepuedenacceder,estopuedeobservaseenla naturaleza, viendo como los animales han podido adaptarse a terrenos diIiciles o inestables. El sistema de locomocionhexapodo oIrece mayor versatilidad que los robots moviles a ruedas, el desarrollo de este tipo de sistema de locomocion se vio obstaculizado en un principio por la complejidad inherente a la coordinaciondelaspatas,yaseaparamantenerelequilibriodelaestructuracomoparadesplazarse,esta complejidad necesita una alta capacidad de calculo aplicando tecnicas de control clasico, sin embargo con el avance de la microelectronica se ha hecho posible el acceso a recursos computacionales que hacen viable la implementacion de este tipo de sistemas. Eneldesarrollodeunrobothexapododebetenerseencuentaaspectostalescomolarobustez, mantenimiento del equilibrio, coordinacion de los movimientos entre otros. Un sistema que ataque todos los aspectosyresuelvaestosproblemasresultadediIicilimplementacionyunestudiomuycomplejo (inteligenciaartiIicial:algoritmosgeneticos),porlocualelproyectosecentraenproblemaspuntuales:Construccion de chasis, patas, arquitectura de Hardware, locomocion, tipos de sensores... 2.Clasificacin de robots con patas CLASIFICACIONGENERAL Segunelnumerode patas: 1 pata2 patas 3 patas 4 patas 5 patas 6 patas 7 patas 8 patas Segun tipo demedio: Movimientoenel espacio Movimientobajoel agua Movimiento en el aire Seguneltipode actuador: Electrico Pneumatico Hidraulico Musculo ArtiIicial Seguneltipode control: Por programa Semiautomatico Inteligente Segungradosde libertad: 1 Grado 2 Grados 3 Grados Estructuras complejas ROBOT HEXAPODO 6 En la Iigurapuede observarse laproporcionde robots construidos, siendo el hexapodo el mas utilizado. ROBOT HEXAPODO 7 Capaces de caminar como los humanos Los robots de la serie BIPER, diseados en la Universidad de Tokyo, pueden caminar lateralmente, avanzaryretroceder,simulandomasomenosaproximadamenteel mododeandarhumano.Actualmenteseestandesarrollando androides. ALGUNOS EJEMPLOS: 2.1.1.Segn el nmero de patas: Robots de una sola pata: Robots bipedos: Robots de cuatro patas: EsteRobotdesarrolladoenelLaboratorioNacionalSandia(EEUU)da saltosdehasta7metrosdealtura.Eldispositivovaequipadodeun compasinternoquelepermiteorientarsecorrectamenteyunpiston accionadoporunpequeomotorseencargadeempujarIirmemente contra el suelo, consiguiendo un gran impulso. Segunsusdiseadores,puedeelevarsehasta4000vecesyrecorrerhasta 7Kmantesdeacabarsesucombustible,puedeserequipadoconmicro camaras y ser lanzado a terrenos diIiciles de explorar. EnelInstitutoTecnologicodeTokyoIueconstruidounvehiculode cuatro patas dotado de sensores tactiles y detector de posturas. Cada pata tiene3gradosdelibertad. Elcontrolserealizadesde unmicroordenador queaseguralaexistenciadeuntriangulodeapoyosobre3delaspatas continuamente, para no perder el equilibrio. ROBOT HEXAPODO 8 Robot de seis patas: Robots mas complejos: El hexapodo consta de seis patas dispuestas paralelamente en unaestructuraochasis,lascualessemuevendosados, gobernadas por un microcontrolador. Estos robots pueden ser masomenoscomplejosdependiendodelosgradosde movilidaddesuspatasydelosobstaculosquesequieran sortear,teniendoasiquedotaralrobotdesensoresycrear unaaplicacionsoItwarecomplejo.Haymuchosmodelos diIerentes,diIerenciandosesobretodoeneltipodepatas empleadas. Este robot cien-pies, se construyo con microcontroladores BasicStamps,esunejemplodeaplicaciondeestos microcontroladoresdondeseconsigueunaperIecta coordinacionentrelacomunicaciondelosmicrosyel movimiento de las patas. ROBOT HEXAPODO 9 Robot creado para investigacion espacial, dispone de seis patasdotadasderuedas,loqueleproporcionaunagran movilidadyestabilidad. Disponedesensoresde navegacioncomocamarasCCDestereoIonicas, untotal de tres: al Irente, en la parte de atras, y el mastil, se utiliza paratomarimagenesestereoIonicasdelpaisaje circundanteparaapoyarelIuncionamientodelequipoy paraIijarsustareas.AdemasdeSensordeposiciondel sol, 3 acelerometros y las ruedas con encoders opticos. El brazoseguardacontraunladodelchasisypuede excavar,descargar,agarrarpiedras,llevarunamuestra, contieneunespectrometroopticointegradoysublanco de la calibracion.2.1.2.Segn el medio Apodo en el espacio: 2.1.3.Segn grados de libertad: 1 Grado de libertad: La construccion de un hexapodo de un grado de libertad es la sencilla puesto que las patas seran totalmente rigidasyhabrasolountipodemovimientoqueproporcionaraelactuador.LaconIiguracionhabitualen hexapodos de un grado d libertad es hacer que las patas centrales tengan la capacidad de hacer subir o bajar el robot y que las patas extremas se ocupen de hacer avanzar o retroceder. ROBOT HEXAPODO 10 2 Grados de libertad: Los hexapodos con dos grados de libertad son muy utilizados en aplicaciones didacticas puesto que son mas complejos,aumentanelnumerodeservomotores,loqueconllevaunaprogramacionmasdiIicultosapara coordinarlos adecuadamente. Con este tipo de hexapodos podemos conseguir mas movimientos. Estructuras complejas: Eldiseodeestoshexapodosesmuycomplejodebidoa lasoIisticada estructuradelas patas,elcontrolde ellas se realiza mediante algoritmos muy complicados (algoritmos geneticos), estos tipos de hexapodos van dotadosdediIerentestiposdesensores,queseocupandedarinIormaciondeltipodeterrenoquepisan,posibles obstaculos, con el Iin de hacer que el robot camine sin diIicultad por terrenos muy abruptos. 2.1.4.Estructuras hidrulicas: Seutilizanactuadoreshidraulicos,estosejercenpresionesaplicandoelprincipiodelaprensahidraulicade Pascal, se controlan mediante servo valvulas que regulan el Ilujo de aceite que circula por el piston (lineal). El movimiento lineal puede pasarse a rotacional con una biela. ROBOT HEXAPODO 11 3.Diferentes materiales empleados en las estructuras: La estructura y el material empleado van en Iuncion de la aplicacion a la que se destine el robot. Elaluminioyelmetraquilatosondelosmasutilizados,tambienIibradecarbono,plastico,acero,cobre, madera... Paralaconstrucciondelaestructuraquesemuestrasehanempleadobasicamentedostiposdematerial; aluminioymetacrilato.ElMetacrilatoseutilizaenlaconstrucciondelchasisyotraspiezasdediIicil mecanizado, mientras que el aluminio se ha empleado para la construccion de las patas propiamente dichas. CadapataestaIormadaporunmecanismodeltipopantograIotridimensional,yestasituadadeIormade araa, es decir, sobresale transversalmente al lado del robot. Las patas estan situadas de tal manera que se da simetria respecto del eje central longitudinal del robot. 4.Construccin de las patas y tipos segn aplicacin. Laspatas sediseansegunlosterrenosen losquese vayaamoverelrobotytambiensegunlosgrados de libertad. Pudiendo crear una pata totalmente rigida o curva en un hexapodo con un grado de movilidad, y una pata extremadamente compleja si desea una movilidad variada. Paradisearunapatadedosomasgradosdelibertad,lomejoresvercomoseranlosmovimientosque realizara la pata con ayuda de un esquema. ROBOT HEXAPODO 12 pata con 3 grados de libertad pata con 2 grados de libertad Estas serian las patas a utilizar en un hexapodo conungradodemovilidad,sudiseoes especiIicoparaeltipodeterrenoenelcualse moveraelrobot.LaIiguramuestraunapata semicircular,muyutilizadaparasubir escalones. EstaesunapatamuysoIisticadaqueutilizael hexapodoLEMURcreadoporlaNASA,tienela particularidad de incorporar una pinza trilateral con unacamara,loquepermitedarinIormaciondel terreno a el algoritmo de control. ROBOT HEXAPODO 13 5.Servomotores ElservomotoressemuevenadiIerentesposiciones,secomponenbasicamentedeunmotordecorriente continua,engranajes,unsensordeposicionyelectronicaparacontrolarelmotor.Suelenestarlimitadosa 180 grados. Se controlan con una onda con una serie de pulsos modulados en anchura de pulsos. La anchura (longitud) marca la cantidad de giro el control de la anchura es critica en cambio a separacion de los pulsos no es importante. Elservopuedeincorporaracopladounreductordevelocidad,demaneraqueobtenemosunmotorconun par de giro bastante potente como para poder hacer mover las patas de nuestro hexapodo. El recorrido de salida es de 180, pero se puede modiIicar hasta obtener un giro de 360 para actuar como un motor convencional, dependiendo de nuestra aplicacion. SERVOMOTOR: Formado por: Engranajes de reduccionReductor 5.1.1.Engranajes de los servomotores: Lo que se gana en Iuerza se pierde en distancia Ventaja: #dientes - 1/#dientes - 2 ROBOT HEXAPODO 14 Tipos de engranajes: Ruedas dentadas: Cambio de Iuerza Cremalleras y piones: Cambio de rotacion a movimiento lineal Gusanos: reducen la velocidad enormemente Otros: Cigeales, poleas, levas, manivelas, etc. Ejemplo compuesto: El diIerencial (giro de los coches). La Iuerza tangencial a su circunIerencia en el vertice de un engranaje es igual al producto del radio y su par: F r * t .Combinando engranajes se puede modiIicar el par del motor. Si el motor1 tiene radio r1 con par t1 genera una Iuerza t1/r1 perpendicular su circunIerencia, si se mezcla con motor2, que genera t2/r2 se genera un par t2 t1* r2/r1. El par resultante es proporcional al par inicial y a la diIerencia de radios. Si r2 ~ r1 el par aumenta, si r1 ~ r2 disminuye. Si el engranaje de salida es mayor que el de entrada el par aumenta, si es menor disminuye. Lavelocidadylosengranajesigualqueelparlavelocidadcambiaalcombinarengranajes.CircunIerencia del engranaje 1 es C1 2yr1. Si C1 es el doble de C2, este tiene a girar al doble de velocidad. Los dientes deben estar bien diseados para evitar perdidas. Paraaplicarunareduccion3:1seconectaelmotoraunengranajede8dientesunode24.Sereducela velocidad por 3 y se aumenta la Iuerza tres veces. Se pueden Iormar cadenas, por ejemplo:2 cadenas 3: 1 consigue una reduccion 9: 1 si el engranaje de salida es mayor que el de entrada la velocidad disminuye, si es menor la velocidad disminuye. ROBOT HEXAPODO 15 6.COMO PROGRAMAR UN HEXAPODO MEDIANTE BASIC STAMPS: Las BASIC Stamps son pequeos computadores o microcontroladores cuyo lenguaje es Parallax BASIC (una variante del basic).No necesitan ser programadas en assembler como un PIC, bastaun editor, con este editor puede grabar la misma Basic Stamp millones de veces. Las Basic Stamps son totalmente programables. Los pines I/O pueden ser conectados directamente con aparatos TTL-level , tales como botones, LEDs, parlantes, potenciometros,etc.Ysoloconunospocoscomponentesmas,estospinesI/Osepuedenconectarcon componentesno-ttl,talescomosolenoides,relays,RS-232networks,uotrosperiIericosqueadministran mayores corrientes y voltajes.Las Basic Stamps estan disponibles en diversos tamaos y velocidades, todas las versiones poseen el mismo diseo logico, que consiste en un regulador de voltaje, osciladores, EEPROM , y PBASIC. El programa en PBASICesalmacenadoenlamemoriaEEPROM,elcualesleidoporelinterpreterchip.Esteinterpreter chip "saca" las instrucciones una a la vez y realiza la operacion adecuada en los pines I/O o en las estructuras internasdentrodelchipinterpreter.ComoelPBASICesalmacenadoenlaEEPROM,estepuedeser programado y reprogramado millones de veces, sin necesidad de borrar la memoria, como la mayoria de los PICs. Para programar una BASIC Stamp, Ud. solo debe conectarla a un IBM PC o compatible y hacer correr el soItware editor para editar y descargar sus programas. Controldel servomotor ROBOT HEXAPODO 16 LaBASICStampI(olaBasicStampIVer.D)posee8pinesI/O,almacenade80a100instruccionesy ejecuta un promedio de 2000 instrucciones/seg. La BASIC Stamp II posee 16 pines I/O y dos pines seriales de sincronizacion, almacena de 500 a 600 instrucciones y ejecuta un promedio de 4000 instrucciones/seg.6.1.1.Esquemas de las BASIC Stamp 6.1.2.PLACA DIDACTICA LaplacadidacticaposeeunzocalodondesealojalaBS2olaBS2-SX.Tieneunareaparaprototiposy experimentacion. Tambien, este tablero provee varios componentes utiles para la experimentacion.Estos son: Puerto Serial de conexion. DB9Led Boton de reseteo.Area de prototipo.Regulador de voltaje. (1 Amp)Zocalo para BS2/BS2-SX. ROBOT HEXAPODO 17 Multiples modos de alimentacion.(no se incluye interIace)* Existen algunas diIerencias entre las instrucciones con las que se programan los distintos modelos de Basic Stamps.EstasdiIerenciassepuedenapreciarenunatabladecomparacion.PeroestasdiIerenciasson minimas y con todas se pueden eIectuar muchos proyectos y aplicacionesindustriales. BS1-IC, BS1-OEM, o Basic Stamp Ver-D BS2-IC, BS2-OEM BS2-EBS2-SX MicrocontroladdorMicrochip PIC 16C56 Microchip PIC 16C57 Scenix SX28AC/SS Scenix SX28AC/SS Velocidad en la ejecucin de programas 2.000 instrucciones/seg 4.000 instrucciones/seg 4.000 instrucciones/seg 10.000 instrucciones/seg Velocidad del procesador 4 Mhz20 Mhz20 Mhz50 Mhz Tamao de la memoria de programa EEPROM 256 Bytes2k Bytes 8 x 2k Bytes c/u. (16k Bytes) 8 x 2k Bytes c/u. (16k Bytes) Tamao de la memoria RAM 32 Bytes (6 for I/Os y 26 para variables) 32 Bytes (6 for I/Os y 26 para variables) 32 Bytes (6 for I/Os y 26 para variables) 32 Bytes (6 for I/Os y 26 para variables) Scratch Pad RAMN/EN/EN/E63 Bytes Nmero de Entadas/Salidas 8161616 Intensidad a 5v 2mA modo Run y 20 uA modo Sleep 7mA modo Run y 50 uA modo Sleep 20mA modo Run y 100 uA modo Sleep 60mA modo Run y 200 uA modo Sleep Source / Sink Current por I/O 20 mA / 25 mA 20 mA / 25 mA 30 mA / 30 mA30 mA / 30 mA N pines del Socket conector 14 Pin Dip24 Pin Dip24 Pin Dip24 Pin Dip N de comandos PBASIC 32363639 Interface requerida para la programacin desde el PC Puerto Paralelo 300-2,4Kbaud Serial 300-50 Kbaud Serial 300-50 Kbaud Serial 305-115 Kbaud ROBOT HEXAPODO 18 Tipo de Software editor de texto usado en el PC STAMP.EXE (DOS) STAMP2.EXE (DOS) o STAMPW.EXE (Windows) STAMP2.EXE (DOS) o STAMPW.EXE (Windows) STAMP2SX.EXE (DOS) o STAMPW.EXE (Windows) Que necesitamos? ElsiguienteesunejemplotipicodecomousarunaBasicStampparamoverunmotor.Conesteejemplo podremosmover un motor a voluntad , el cual ejecutara los movimientos que diseemos.Antesdemostrarelejemplotipico,convieneenIatizarloIacilqueresultaconectarunaBasicStampy hacerla Iuncionar: 1-. Elementos "Hardware" necesarios para este ejemplo: 1.1-.InterIaceparalelaoserialdependiendodelmodelodeBasicStamp.(LasinterIacespermitenquelas Basic Stamps se conecten al PC )1.2-. Una Basic Stamp (Puede ser cualquier modelo, ya sea la Basic Stamp I , II ,IIe, o IISX ) 1.3-. Un motor (se pueden usar Leds, Parlantes, Sensores, etc.) 1.4-. Un poco de cable corriente (20 cm.) para experimentar. 2-. Elementos "SoItware" necesarios para mover el motor: 2.1-.ElsoItwarequedebe instalardependedelaBasicStampqueposee.CargueelsoItwareparalaBasic Stamp, la Basic StampII o la Basic Stamp II SX (elija stamp I por ahora) en este momento e instalelo en su PC. Antes de ejecutar stamp.exe Ud. debe "crear" o modiIicar un pequeo programa (puede utilizar uno de los programas de demostracion que se encuentran mas abajo**) . Ahora que posee el programa stamp.exe y el programa que Ud. edito, esta en condiciones de mover un s.motor. Si no posee una Basic Stamp conectada a su PC, aparecera en su monitor lo siguiente: "Error: Hardware not Iound"2.2-.EsahoracuandoUd.puedeexperimentar,modiIicandoelprogramaquemoveraelmotor.Como ejemplo, puede usar el programa que mostramos mas abajo. La clave radica en el comando "pulsout " . Para ROBOT HEXAPODO 19 lograr movimiento debe cambiar el numero 200 por otro entre 85 y 125 si se trata de la Basic Stamp I, y si se trata de la Basic Stamp II debe cambiar el 2000 por un numero entre 0 y 65535. 'servo pin 0start:Ior b21 to 70pulsout 0,150pause 10nextIor b21 to 70pulsout 0,200pause 10nextgoto start 'servo pin 0start:Ior b21 to 70pulsout 0,300pause 10nextIor b21 to 70pulsout 0,1300pause 10nextgoto start 'servo pin 0start:Ior b21 to 80pulsout 0,700pause 10nextIor b21 to 80pulsout 0,3200pause 10nextgoto start Programa Basic Stamp-I o Stamp-DPrograma Basic Stamp-IIPrograma Basic Stamp-II-SX ROBOT HEXAPODO 20 7.Sensores Un sensor , no es mas que un dispositivo diseado para recibir inIormacion de una magnitud del exterior y transIormarla en normalmente electrica, que seamos capaces de cuantiIicar y manipular. Normalmenteestosdispositivosseencuentranrealizadosmediantelautilizaciondecomponentespasivos( resistencias variables, PTC, NTC , LDR etc.. todos aquellos componentes que varian su magnitud en Iuncion de alguna variable ), y la utilizacion de componentes activos. La evolucion de la robotica esta sujeta al desarrollo de nuevoscapaces de medir magnitudes que, hasta ahora no somos capaces de cuantiIicar, y en la mejora de los sensores, siendo estos cada vezmas precisos en sus medidas.Porello,lainvestigacionenelcampodeldesarrollodesensores,esdevitalimportanciaenel mundo de la robotica.Paraconstruirunrobotqueactueanteelmedioenelqueseencuentra,esdecir,quesalveobstaculos,o realiceIuncionesespeciIicas,comorecogermuestras,etc...SehaceindispensableelusodesensoresEstosaportaran la inIormacion necesaria a la CPU y al algoritmo de control, para que el robot desarrolle su Iuncion correctamente, como pueden ser sensores de contacto, de vision, de proximidad o distancia... Ademas de conseguir inIormacion sobre el entorno, es interesante tener un buen control del robot, para ello se utilizan sensoresposicion,velocidad y aceleracion. 7.1.1.SENSORES DE PROXIMIDAD Y DISTANCIA 7.1.1.1.INFRARROJOS Descripcion: Sensor basado en el dispositivoSHARPIS471F inmune a interIerencias de luz normal. Este sensorincorporaunmodulador/demoduladorintegradoensucarcasayatravesdesupatilla4controlaun diodo LED de inIrarrojos externo, modulando la seal que este emitira, para ser captada por el IS471F que contiene el receptor. Cuando un objeto se situa enIrente del conjunto emisor / receptor parte de la luz emitida es reIlejada y demodulada para activar la salida en la patilla 2 que pasara a nivel bajo si la seal captada es suIicientemente Iuerte. ElusodeluzIRmoduladatieneporobjetohaceralsensorrelativamenteinmunealasinterIerencias causadas por la luz normal de una bombilla o la luz del sol. Funcionamiento:Comopuedeverseenelesquema,elsensorsealimentaporsuspatitas1y3yestas corresponden a Vcc y Gnd respectivamente, la patita 2 es la salida del detector y la patita 4 es la salida que modulaalledemisorexterno.MedianteelpotenciometroP1sevarialadistanciaalaqueesdetectadoel objeto. Contra mas baja sea la resistencia de este potenciometro, mas intensa sera la luz emitida por el diodo de IR y por lo tanto mayor la distancia a la que puede detectar el objeto. En el siguiente esquema vemos el simple circuito necesario para hacer Iuncionar al sensor. ROBOT HEXAPODO 21

Usos: Estos se usan para deteccion de obstaculos por reIlexion. Ideasymejoras:EnelcircuitoanteriorloquevemosesundetectordedistanciaIijaajustableporun potenciometro,peroseriaposiblehacerlodevariasdistanciasoinclusoundetectorgradualdedistancias. Paravariasdistanciasse podriaconmutar variasresistenciasyasicalcular ladistancia del objeto haciendo pruebasantes,ycreandounatabladeequivalencias.Paraeldetectorgradualtambienseriaposible controlandolacorrientequelellegaaldiodoemisormedianteunconversorD/Ayuncircuitodepotencia basado el algun transistor, todo esto controlado por un Controlador. 7.1.1.2.REFLECTIJOS Descripcin: Es un pequeo dispositivo con Iorma de cubo y cuatro patitas que aloja en su interior un diodo emisordeinIrarrojosquetrabajaaunalongituddeondade950nm.yunIototransistor(recetor)estando ambos dispuestos en paralelo y apuntando ambos en la misma direccion, la distancia entre emisor y receptor es de 2.8 mm. y estan separados del Irontal del encapsulado por 1 mm.El la siguiente Iigura vemos la disposicion interna del CNY70 mirando el encapsulado desde arriba, asi pues tenemos el diodo emisor de inIrarrojos a la izquierda y el Iototransistor a la derecha. Funcionamiento: El Iototransistor conducira mas, contra mas luz reIlejada del emisor capte por su base. La salidadeestedispositivoesanalogicayvienedeterminadaporlacantidaddeluzreIlejada,asipuespara tener una salida digital se podria poner un disparador Trigger Schmitt y asi obtener la salida digital pero esto tieneunproblema,yesquenoesajustablelasensibilidaddeldispositivoylospuntosdeactivacionde histerisis distan algunos milivoltios uno del otro (ver explicacion en el esquema de la LDR ). Para solventar esteproblemamuestroelsiguientecircuitobasadoenunampliIicadoroperacionalconIiguradoenmodo comparador,enlasalidadelcircuitoobtendremosunasealcuadradalistaparasuinterconexionconla entrada de cualquier Controlador. ROBOT HEXAPODO 22 Lasensibilidaddelcircuitoesajustablemediantelaresistenciavariablede10k(aconsejoponeruna resistencia multivuelta). Para comprobar y visualizar la seal de salida es posible montar un diodo led en la salida con su resistencia de polarizacion a masa, si asi lo hacemos veremos que cuando el sensor detecta una superIicieblancaoreIlectanteelledseiluminayaquelasalidadelLM358pasaanivelaltoyporlotanto alimenta al led que tiene su anodo conectado directamente.La salida del LM358 varia de 0V para nivel logico 0 a unos 3,3V para nivel logico 1, con lo que puede ser llevada directamente a un disparador trigger schmitt (p.ej. 74LS14) para conIormar pulsos de niveles TTL de 0 a 5V si Iuese necesario.Usos: Comunmente utilizado en los robots rastreadores (SniIIers) para deteccion de lineas pintadas sobre el suelo, debido principalmente a su baja distancia de deteccion.Ideasymejoras:Quitandolaresistenciadepolarizacionde10kquetieneconectadaelIototransistorasu emisor hacemos que el circuito se vuelva mucho mas sensible (e inestable tambien. Con un buen ajuste de la resistencia variable e conseguido detectar superIicies reIlectantes a una distancia de unos 5 cm. Tambien al pasar la mano por enIrente del sensor se activaba la salida.7.1.1.3.REFLECTIJO GP2Dxx Descripcin:ElsensorGP2DXXdesharpesundispositivode reIlexionporinIrarrojosconmedidorde distanciaproporcionalalanguloderecepciondelhazdeluzqueincideenunsensorlinealintegrado, dependiendo del modelo utilizado, la salida puede ser analogica, digital o booleana Funcionamiento: El dispositivo emite luz inIrarroja por medio de un led emisor de IR, esta luz pasa a traves deunalentequeconcentralosrayosdeluzIormandoununicorayolomasconcentradoposibleparaasi mejorar la directividad del sensor, la luz va recta hacia delante y cuando encuentra un obstaculo reIlectante rebotayretornaconciertoangulodeinclinaciondependiendodeladistancia,laluzqueretornaes concentrada por otra lente y asi todos los rayos de luz inciden en un unico punto del sensor de luz inIrarroja ROBOT HEXAPODO 23 que contiene en la parte receptora del dispositivo. Este sensor es un CCD lineal y dependiendo delangulo de recepcion de la luz incidira esta en un punto u otro del sensor pudiendo de esta manera obtener un valor lineal y proporcional al angulo de recepcion del haz de luz. Dependiendo del modelo elegido leeremos de una manera u otra la salida de este con lo cual tendremos que remitirnos al datasheet del modelo elegido para ver su Iuncionamiento interno.En los modelos analogicos la salida es un voltaje proporcional a la distancia medida.En los modelos digitales la lectura sera de 8 bits serie con reloj externo.En los modelos Booleanos la salida sera de 1 bit y este marcara el paso por la zona de histeresis del sensor con lo cual solo tendremos una medicion de una distancia Iija. DatasheetsRango de medida Tipo de salidaGP2D-02 10 a 80 cm. Digital 8 bitsGP2D-05 10 a 80 cm.(adj, micro pot.) Logica 1 bitGP2D-12 10 a 80 cm Analogica (0-3V)GP2D-15 adj. a 24cm de Iabrica Logica 1 bitGP2D-120 4 a 30 cm. Analogica (0-3V)Usos:Debidoasugranrangodemedidaestesensoresadecuadoparadetectarobstculosreflectantes como paredes, usado en robots de exploradores para los de laberintos entre otros.Ideas y mejoras: Debido a su gran directividad se puede montar un sensor GP2Den un servo y as tener un radar de IR cubriendo de esta manera un radio de 180 aprox. ROBOT HEXAPODO 24 7.1.1.4.ULTRASONIDOS Descripcin:Losultrasonidossonvibracionesdelairedelamismanaturalezaqueelsonidoaudiblepero deunafrecuenciamaselevadaquepartede20000Hzhasta5.108Hz. noaudiblesestosporelodo humano. Se alcanzan longitudes de onda que se aproximan a la luz visible. Funcionamiento:Paraproducirlosseutilizanlaspropiedadespiezoelctricasdelcuarzo.Escapazde detectar objetos y calcular la distancia a la que se encuentran, enviando un pulso de frecuencia y midiendo la anchura del pulso de retorno. Usos:Seutilizanenlaobtencindeemulsionesfotogrficasdegranomuyfino,ensondeosacsticos (deteccin de fisuras, mediciones, etc.. ), como bactericidas y como limpiadores de superficies entre otros. 7.1.2.SENSORES DE CONTACTO 7.1.2.1.MECANICOS (bumper) Descripcin: El bumper es un conmutador de 2 posiciones con muelle de retorno a la posicion de reposo y con una palanca de accionamiento mas o menos larga segun el modelo elegido. Funcionamiento: En estado de reposo la patita comun (C) y la de reposo (R) estan en contacto permanente hastaquelapresionaplicadaalapalancadelbumperhacesaltarlapequeapletinaaceradainteriory entonces elcontacto pasa de la posicion de reposo a la de activo (A), se puede escuchar cuando el bumper cambia de estado, porque se oye un pequeo clic, esto sucede casi al Iinal del recorrido de la palanca. Usos:Seusanparadetecciondeobstaculosporcontactodirecto.Nosonadecuadospararobotsdealta velocidad ya que cuando detectan el obstaculo ya estan encima y no da tiempo a Irenar el robot. Ideas y mejoras: Pocas mejoras pueden tener un dispositivo tan simple pero una buena idea seria utilizar un multiplexor para poner mas bumpers de control en nuestro robot y usar el minimo de lineas de control. 7.1.3.SENSORES DE VELOCIDAD: Estossensorespuedendetectarlavelocidaddeunobjetotantosealinealcomoangular,perolaaplicacion mas conocida de este tipo de sensores es la medicion de la velocidad angular de los motores que mueven las distintas partes del robot. La Iorma mas popular de conocer la velocidad del giro de un motor, es utilizar para ellounadinamotacometricaacopladaalejedelquequeremossabersuvelocidadangular,yaqueeste dispositivo nos genera un nivel determinado de tension continua en Iuncion de la velocidad de giro de su eje, ROBOT HEXAPODO 25 puessiconocemosaquevalordetensioncorrespondeunadeterminadavelocidad,podremosaveriguarde Iorma muy Iiable a que velocidad gira un motor. De todas maneras, este tipo de sensores al ser mecanicos se deterioran, y pueden generar errores en las medidas. Existen tambien otros tipos de sensores para controlar la velocidad, basados en el corte de un haz luminoso a traves de un disco perIorado sujetado al eje del motor, dependiendo de la Irecuencia con la que el disco corte el haz luminoso indicara la velocidad del motor. 7.1.3.1.TACOGENERADOR Esundispositivoparamedirlavelocidadangular.SuIuncionamientoessencillo:convertirlaenergia rotacionaldelejeencuestionenenergiaelectrica,proporcionalalarotacionalyquepuedeserIacilmente medida. Una posible conIiguracion podria ser la que se ve en la Iigura. Para generar la corriente a partir del giro se acopla al motor o eje que se va a medir, una espira situada dentro de un campo magnetico Iijo ( creado por los dos imanes). Al girar el motor, la espira girara en el interior del campo magnetico, lo que provocara una corriente electrica. Estosdispositivospuedenllegaratenerunaprecisiondel0,5,porloquepuedenresultarunasolucion aceptable a la hora demedir la velocidad angular. 7.1.3.2.LJT (Linear Jelocitv Transducer) Estetipodesensoressebasanenunprincipioelectromagneticosimilaralqueveiamosenlossensoresde posicionLVDT.LossensoresLVTconstandeunnucleomagneticopermanenteenIormadevarilla;Este nucleoeselqueesconectadoaldispositivocuyavelocidadvamosamedir.Arribayabajodelavarillase disponendosespiralesconductoras.PorlaleydeFaraday,enlasespirassedesarrollaunadiIerenciade potencial proporcional al cambio en el campo magnetico al que estan sometidas. Puesto que el nucleo es un imanpermanente,elcambioenelcamposolopuedeestarprovocadoporelmovimientodedichonucleo. Asi,simedimosladiIerenciadepotencialenlasespiraspodremosdeducirlavelocidadalaqueseha movido el nucleo y, por consiguiente, el elemento de interes. ROBOT HEXAPODO 26 7.1.3.3.SENSORES DOPPLER Los sensores basados en el eIecto Doppler miden la velocidad lineal de un objeto movil apoyandose en otra superIicie.SebasanenlaobservaciondeldesplazamientoenIrecuenciadeunaradiacionemitidaporel sensoryreIlejadaenunasuperIiciequeseestamoviendoconrespectoalrobot. Este sistema es usado amenudo en sistemas maritimos, donde se emplean ondas acusticas que se reIlejan en la superIicie oceanica. Como se puede apreciar en el dibujo, una vez conocida la velocidad de vuelta de la seal al sensor, se puede calcularmedianteunarelaciontrigonometricasimplelavelocidaddelasuperIicie(apartirdelacuale calcularialavelocidaddelmovil).Esparacalcularlavelocidaddevueltadelasealalsensorcuandose realiza una comprobacion del desIase de Irecuencias. 7.1.4.SENSORES DE ACELERACION Estetipodesensoresesmuyimportante,yaquelainIormaciondelaaceleracionsuIridaporunobjetoo parte de un robot es de vital importancia, ya que si se produce una aceleracion en un objeto, este experimenta una Iuerza que tiende ha hacer poner el objeto en movimiento. Supongamoselcasoenqueunbrazorobotindustrialsujetaconunadeterminadapresionunobjetoensu organo terminal, si al producirse un giro del mismo sobre su base a una determinada velocidad, se provoca unaaceleracionentodoelbrazo,yenespecialsobresuorganoterminal,siestaaceleracionprovocauna IuerzaendeterminadosentidosobreelobjetoquesujetaelrobotyestaIuerzanosevecontrarrestadapor otra,secorreelriesgodequeelobjetosalgadespedidodelorganoaprehensorconunatrayectoria determinada,porloqueelcontrolencadamomentodelasaceleracionesaqueseencuentransometidas determinadas partes del robot son muy importantes. 7.1.4.1.SERJO-ACELEROMETRO Este mide la aceleracion angular. Se basa en conectar el eje del objeto del que se quiere medir la aceleracion aunpendulo,girandoestosjuntos.Unsensordeposicioncaptaelmovimientodelpendulomedianteun circuito electronico se compara la seal del sensor de posicion con la seal de reIerencia. El motor aplica una Iuerza al pendulo al iniciar el movimiento, esta Iuerza sede termina por un circuito electronico. La posicion enlaquesedetieneelpendulodespuesdeunmovimientoderotaciondeunmotor,esproporcionalala aceleracion inicial aplicada. ROBOT HEXAPODO 27 7.1.4.2.SENSOR DE ACELERACIN LINEAL SensordeaceleracionIormadoporunacapsulahermeticaquecontieneuncontactonormalmenteabiertoy quesecierracuandoseproduceunaaceleracionoimpactosuperiora5G-1,5G.Cuandoennivelde aceleracion decrece por debajo del umbral de disparo, el contacto se habre de nuevo. Este sensor resulta util paradetectarimpactosyagresionesenlosrobots.Dadolabrevedaddelcontactoencasodeimpacto,es recomendable utilizarlo junto con alguna entrada de interrupcion, o con algun circuito de tipo biestable con memoria que permita reconocer el evento ocurrido. Caracteristicas Tension Max: 24Vac, Corriente Max: 250 mA, Resistencia Max: 10 ohmio, Temperatura Trabajo: -20 a 85C. Dimensiones 7 x 5 mm. 7.1.5.SENSORES DE POSIN 7.1.5.1.ENCODERS INCREMENTALES Descripcin: Son sensores que se basan en la medida de los angulos. Constan de un disco transparente con una serie de marcas opacas colocadas radialmente y equidistantes entre si, que se coloca en el eje. Tambien constan de un diodo emisor de luz y un elemento Iotosensible que actua como receptor. Funcionamiento:Amedidaqueelejevagirando,laluzemitidaporelporeldiodoemisorpasaporlas marcasquehayeneldisco,estoprovoca una seriedepulsosde luz,que llegan alosreceptores.Para cada angulo el encoder lleva una codiIicacion que indica la posicion en la que se encuentra y otra para el paso por cero. Este tipo de sensores tiene el problema de la deteccion del sentido de giro. ROBOT HEXAPODO 28 7.1.5.2.ENCODER ABSOLUTO Este se diIerencia, con el anterior, ya que da la posicion exacta. Esto es debido en la codiIicacion del disco, enestecasosedivideensectores(potenciade2),ysecodiIicacadaunoconuncodigobinariounico, normalmenteseutilizaelcodigoGray.Noesnecesarianingunamarcaparadetectarelsentidodegiro porque la codiIicacion de los diIerentes senctores es absoluta. 7.1.5.3.RESOLJERS Y SINCORESOLJERS Descripcin: Constan de tres o dos bobinas una de ellas moviles conectada al eje de giro, y las otras Iijas. Funcionamiento: Al excitar la bobina movil con una seal senosoidal de 400Hz, las bobinas Iijas se inducen tensiones que dependen de angulo girado. son de gran robustez mecanica y se consigue una gran resolucion. Resolver consta de dos bobinas Iijas desIasadas 90 :V1 Vsen(wt)senqV2 Vsen(wt)cosq Sincroresolver consta de tres bobinas Iijas desIasadas 120 (estrella): V13 3Vcos(wt)senqV32 3Vcos(wtsen(q120))V213Vcos((wtsen(q240)) ROBOT HEXAPODO 29 7.1.5.4.GIROSCOPIO Los giroscopios son dispositivo que nos ayudan a medir el angulo de giro de un objeto. Hay muchos tipos de giroscopioconestructurasmuydiversasycomplejas,perotodossebasanenelmismoprincipio,enlas propiedades inerciales. Todoshemosrealizado algunavezelexperimentodecogeruna ruedaporsuejede giroconlasdosmanosyhacerlagirar.Cuandolaruedagiraensusentidonaturalnotamosquetambien intenta girar con relacion a otro eje, un eje vertical que iria de nuestros pies a nuestra cabeza. Basandose en este principio, los giroscopios son capaces de medir el angulo de giro de un objeto. ROBOT HEXAPODO 30 7.1.6.SENSORES DE LUZ Se usan para detectar niveles de luz ambiente o seguimiento de luces o linternas, as pues podemos crear un seguidor de luz con varias LDR dispuestas alrededor del robot y hacer que este siga una luz directa que le enfoque, tambin pueden usarse para encender los focos o luces de balizamiento del robot en ausencia de luz. 7.1.6.1.LDR Descripcin:LaLDR(LightDependentResistor)oresistenciadependientedelaluz,comosupropio nombreindicaesunaresistenciaquevariasuvalorenfuncindelaluzqueincidesobresusuperficie. Contra mas sea la intensidad de luz que incida en la superficie de la LDR menor ser su resistencia y contra menosluzincidamayorserlaresistencia.Laformaexternapuedevariardelamostradaenestafotoya que este modelo en concreto no es muy comn pero la funcin es la misma. Funcionamiento:Parahacernosunmedidordeluzambientalounafotoclulaqueenciendaun determinadoprocesoenausenciaopresenciadeluzpodremoshacerlodedosmaneras,usandoun amplificador operacional para detectar y ajustar la sensibilidad y punto en que se dispara la salida como en el caso del CNY70 mostrado mas arriba o bien hacerlo como se muestra en el siguiente circuito, que es en baseaundisparadortriggerschmittTTLqueconformaraunasealtotalmentecompatibleTTLparaser aplicada a un microcontrolador o puerta lgica compatible. ElcircuitoconstadeundivisordetensinformadoporlaLDR,unaresistenciayundisparadortrigger schmittinversormodelo74LS14.ComolaLDRvariaenfuncindelaluz,lasealdesalidadeldivisor tambin lo har y cuando pase el umbral de disparo del trigger schmitt este cambiara el estado de su salida segn corresponda. ROBOT HEXAPODO 31 Los umbrales de disparo para el 74LS14 son de 0,9 y 1,7 voltios, esto quiere decir que cuando la seal en la entradadeldisparadorsuperelos1,7voltiossetomaracomoun1lgicoenlaentradaylasalidaalser inversatomaraelnivellgicobajoo0voltios,sielvoltajedeentradabajapordebajode0,9voltiosse tomara como un 0 lgico en la entrada con lo que la salida tomara un nivel lgico 1. El problema que se comentaba en la explicacin del CNY70 radica en la distancia en voltios entre el umbral dedisparoaltoybajo,queesde0,8voltiosentoncesimaginemosquesilaluzrecibidaenelsensorva incrementandohastallegaralos1,7voltiosyrebosarlosesteserelpuntodeactivacinperonose desactivara al volver a pasar por este punto, ya que la salida del circuito no se desactivara hasta que no se bajepordebajodelumbralde0,9voltios,estohayquetenerlomuyencuentayaqueparaalgunoscasos donde los niveles a detectar sean muy distantes como por ejemplo detectar niveles de todo o nada o luzy oscuridad puede dar igual pero si lo que se quiere es activar algn circuito en un determinado nivel de luz y desactivarlojustocuandoesenivelyanoexista,entonceselcircuitoyanoesvalidoysermejorusarel circuito basado en amplificador operacional en modo comparador de tensiones. Nota: El circuito integrado 74LS14 dispone en su interior de 6 puertas inversoras trigger schmitt, as que hay quetenerespecialcuidadoennodejarningunaentradanousadaalaire,estoessinconexinalgunaya quela puertaempezara aoscilary podra causarladestruccinde dichapuerta, paraqueesto no suceda hay que conectar todas las entradas a un nivel lgico estable, normalmente a GND. Las salidas se dejaran como es lgico al aire ya que tendrn el nivel lgico inverso que en su entrada. Usos: Las LDR se usan para detectar niveles de luz ambiente o seguimiento de luces o linternas, as pues podemos crear un seguidor de luz con varias LDR dispuestas alrededor del robot y hacer que este siga una luzdirectaqueleenfoque,tambinpuedenusarseparaencenderlosfocosolucesdebalizamientodel robot en ausencia de luz. Ideasy mejoras: Una mejora es sustituirla resistencia fija del divisor de tensin por unavariable de valor adecuado, para poder ajustar el umbral de disparo. Podemos construir hexpodo que siga la luz. 8.COMUNICACIN ROBOT-USUARIO Serial LCD Modules(2-lineas x 16-caracters.) EstaspantallasdecristalliquidoserialesLCDsonespecialmenteutilesparaproyectosquenecesitan interactuarconlaspersonas.AmbosmodulosrequierensolounalineaI/O,5voltsDCytierra,yson controlados con una simple instruccion SEROUT desde la BASIC Stamp. Por ejemplo, para imprimir "hello" en la pantalla LCD, su programa BASIC Stamp I debe ejecutar la siguiente instruccion: SEROUT 0,N2400,("hello") LaspantallasdecristalliquidoquesemuestransonespecialesparaoperarconlasBasicStamps.(nose debe conectar una pantalla de cristal liquido corriente a una Basic Stamp)(2-lineas x 16-caracters.) -- #27910 (4-lineas x 20-caracters.) -- #27919 ROBOT HEXAPODO 32 9.LOCOMOCIN Lalocomocion con patas es un grabe problema parala robotica ya que el robot tiene que ser estable estatica y dinamicamente. El grado de diIicultad para conseguirque un robot hexapodo camine, depende de la clase derobotqueseconstruya.Sitenemosunrobotdeunoodosgradosdelibertad,podemoscontrolarsu movimientoconunalgoritmodecontrol'relativamenteIacil,estosepuedecomplicarmuchisimosi aumentamos la movilidad de sus patas, y lo mas importante si queremos que nuestro robot camine de manera autonoma por terrenos abruptos encontrandose obstaculos que pueden desequilibrarlo, para ello se adaptan al robotdiIerentestiposdesensoresyseutilizanlosdenominadosalgoritmosgeneticoscomplejos,ellos calculanyeligenelmejormovimientodelaspatasantemuchasposiblessolucionesysoncapacesde regenerar el codigo del algoritmo para aIrontar distintas situaciones. Los robots basados en estos sistemas de controlconsiguengeneralosmovimientoscomoresultadodemuchosprocesosIuncionandoalavez,de Iormaquecadaunoaportealgoalsistema,buscando unainteraccionmutuaentreellos,porelloparacrear estos robots hace Ialta un buen equipo hardware y un complicado SoItware. 9.1 Movimiento de las patas. Los tipos de movimientos basicos de los robots hexapodos son dos: Movimiento CuadrupedoyMovimiento Tripode. Ciclo de Movimiento Cuadrpedo. Lacaracteristicaprincipaldeestemovimientoesqueelrobotsiempremantienecuatropatasenelsuelo, consiguiendo un grado elevado de equilibrio, siendo las dos restantes las que levantan la estructura del robot. ROBOT HEXAPODO 33 Ciclo de Movimiento Trpode. Enestetipodemovimientos,elrobotmantienesiempretrespatasenelsuelo,estassemuevenhaciaatras para impulsan el robot hacia adelante, mientras que las que estan al aire buscan la posicion adecuadahacia adelante para despues poder impulsar al robot. Correccin de error en una pata. Si tenemos un robot lo suIicientemente equipado podemos utilizar esta tecnica, para mantener la estabilidad del robot. Si nuestro robot utiliza un movimiento tripode y lo equipamos con sensores en las patas podemos detectar cuando una de ellas no llega a tocar al suelo, pasando entonces a modo cuadrupode. Ejemplo de un hexapodo construido para subir escaleras. Elrobot empiezaconlostresparesdepatasenlatierra.Laspiernasposterioresymediasinclinanelcuerpo adelante, y hay un barridode las patas delanteraspara coger el primer paso. Fase1:Elpardelanteroylaspatasposterioresizquierdasestanllevandoacabolaposicion,lapierna posterior derecha esta haciendo pivotar alrededor a la escalera siguiente, y las piernas medias estan acabando su barrido posterior. ROBOT HEXAPODO 34 Fase2:Elpardelanteroyelmedio,ylaspatasposterioresderechasestanllevandoacabolaposicion, despueslapataposteriorizquierdahacepivotaralaescalerasiguiente.Elescalonamientodeoscilacion posterior de la pierna asegura la buena ayuda. Fase 3: Las patas delanteras y posteriores levantan el cuerpo durante la escalera siguiente, las piernas medias acaban contrapesando sobre la escalera siguiente. Fase 4: Las piernas delanteras acaban esta Iase hacia arriba en el aire, a medio camino con la recirculacion, el empujemediodelaspatastraserashacecaerenlaescalerasiguiente,ylaspatasposteriorescontinuansu barrido posterior. Fase5:Laspatasdelanterassecontrapesansobrelaescalerasiguiente,laposiciondeasentamientodelas patas centrales, y las patas posteriores acaban su barrido posterior. Fase 6: Posicion de asentamiento de las patas delantera y posterior mientras que las patas medias continuan su barrido posterior. 10.Construccin de un robot hexpodo. Construiremosunmicrorobothexapodoquedispondradetresservomotorespararealizarsusmovimientos, deloscualesdosdeellosseencargarandelmovimientohaciadelanteyelotrodebalancearelcuerpoa derecha e izquierda para sincronizar los movimientos. Relacion del material: plancha de PVC de 3 mm de espesor y 210x297 mm(tamao A4) 4 tornillos de metrica 3 de 20mm 2 tornillos metrica 3 de 15mm 8 clemas de circuito impreso 16 tornillos de metrica 3 autoblocantes 28 arandelas para los tornillos de metrica 3 1m de arilla de hierro de 1,4 mm2 pletinas de aluminio de 60x18 mm (aprox.) ROBOT HEXAPODO 35 10.1.1.La estructura delhexpodo Para crear la estructura o exoesqueleto, utilizaremos PVC de 3mm, que tiene la propiedad de ser un material blando para trabajar, economico y Iacil de localizar, ademas de encontrarse en un variado surtido de colores permitiendoconseguirdistintoseIectos.Tambienpuederealizarseconmasduros,queledaranrobustez, comopuedeserIibradevidrio,maderadecontrachapado,aluminioetc.Unavezelegidoelmaterial cortamos las piezas como indica la Iigura. Yacortadaslaspiezas,sepuedepasaralensamblajedelasmismas,paraello,esrecomendableverla secuencia de Iotos de la construccion del robot. Una vez que hemos pegado las patas con un pegamento de cianocrilato, seguidamente tomamos las varillas dehierroqueutilizaremoscomotendonesylascortaremosaunadistanciaconvenienteparaIijarlasalas patas. Figura1.plantilladela estructuradelhexapodo reducido al 50. ROBOT HEXAPODO 36 Foto2.EnestaIotosepuede observarlaparteinIeriory comosehanIijadolos servomotores de radiocontrol. Conayudadeuntornillodebancosedoblanlasvarillasenelangulorectoaunos10o20mmdelos extremosyseIijanenlosoriIiciosqueteniamostaladradospreviamenteenlaspatas,talcomosepuede apreciarenlasIotos4y5quelasvarillasnosesalganconlosmovimientosdelasestructuras,sepuede utilizaruntonilloyunIijador,perocomoesposiblequeestaspiezasnoseencuentrenIacilmente,enla construcciondeesterobotsehautilizadounaclemadecircuitoimpreso,alaqueselehadesprovistodel plastico aislante. Los separadores se han montado en la Ioto 5, son de 20mm para permitir que el porta pilas se quede entre la placa de circuito impreso, se han previsto en la estructura unas piezas que pueden pegarse en la plancha de PVC para que las pilas no se muevan cuando lo hace el hexapodo. Foto3.Puedenverselosservomotoresporla partesuperiordelaestructuraycomosehan Iijadolosseparadoresenlosquesesujetaran las patas sin traccion propia. Estas patas deben tener un movimiento libre, por lo que no deben apretarselostornillosobiencomosepuede observarenlasIotossiguientes,semetela cabezadeltornilloporlaparteinIeriory utilizamosunatuercaantibloqueanteparaIijar lapata,estotienelaventajadequeeltornillo no se desenroscara. ROBOT HEXAPODO 37 Foto4.Fijaciondelaspatascentrales al servomotor, hay que procurar que el motoresteenelcentrodelrecorridoy quelasdospatasenestaposicion apoyen en el suelo Foto 5. Se puede apreciar como se han Iijado las pastas motoras a las patas sin servomotor con la varilla de hierro. ROBOT HEXAPODO 38 10.1.2.Circuito de control Una vez montada la estructura pasamos a describir el circuito de control, se muestra en la Foto 6. ElcircuitoestaIormadoporunmicrocontroladorPIC16F876alquepreviamenteselecargaelprograma bootloader, utilizando para ello un programador para los microcontroladores PIC. Al PIC16F876 se le conecta un cristal de cuarzo de 5Mhz y los condensadores de 27pF para el oscilador y un pulsador que cuando se activa pone un nivel bajo en la entrada MCLR para provocar un RESET del sistema. AdemasparapoderconectarlaUSARTdelmicrocontroladoralordenador,sehautilizadouncircuito adaptador de niveles MAX232, tal como indica el Iabricante en sus notas de aplicacion, y por ultimo se le ha dotado de un conector RJ-11 hembra para poder conectar el circuito al puerto serie del ordenador, utilizando las lineas RC6 y RC7 del microcontrolador. ElcabledelcontroladordebeserunMODEMnulo,esdecir,uncablequesolonecesitalalineademasa conectada al terminal 5 (GND) del conectivo DB9 al 4 (GND) delRJ-11 y se cruzan las lineas 2 (RXD) del DB9 con la 2 (RXD) del RJ-11. Ver el diagrama de conexion de la Figura 3 y la tabla 1. Figura3.Pinesdeloscontroles RJ-11 y DB9 Tabla1.Conexionesdelospinesdel conector R-11 con DB ROBOT HEXAPODO 39

Figura 2. Esquema electrico de la placa de control del robot hexapodo ROBOT HEXAPODO 40 Ademas se ha dotado al circuito de los conectores de tres terminales poste macho para circuito impreso (tipo Moles)J4,J5yJ6paraconectarlosservomotoresdeladerecha,izquierdaycentralrespectivamentealas lineas RB1, RB2 y RB. Asi mismo se han previsto los conectores tipo Molex de tres terminales J7, J8 ,J9 y J10paraconectarlossensoresdelhexapodoalaslineasRB3,RB4,RB5yRB6.Enlosconectorestipo MolesdetresterminalesJ11,J12seencuentralaslineasRA0yRA1,quepuedenutilizarsecomoentras analogicas o digitales y los conectores tipo Moles de dos terminales J16 y J17estan conectados a RA2 y RA3 respectivamenteatravesdeunaresistenciade330ohmiosparapoderconectarlosLEDquesimularanlos ojos parpadeantes del hexapodo. Por ultimo el conector J3 tiene acceso a la linea RB0 por la que se puede generar una interrupcion por Ilanco ascendente o descendente, segun las necesidades del programador. En la Iigura 4 se pueden ver las caras de las pistas, y la cara de montaje de la placa base a tamao natural. Pistasdelacara superior de la placa. Pistasdelacara posterior de la placa. ROBOT HEXAPODO 41 Diagramade montaje. ROBOT HEXAPODO 42 10.1.3.Como se utiliza el programa BOOTLOADER 1.Enprimerlugardebemosobtenerelprogramaenalgunasdelassiguientesweb`s http://www.ehl.cz/pic/pice.htmohttp://www.micropic.com/dondetambiensepuedeobtenerel PIC donwloader CD2.exe y el Iichero Pb876-04.hex 2.ProgramarelmicrocontroladorconelarchivoPb876-04.hexprogramadorponiendolosbitsde conIiguracion para que el controlador trabaje en la aplicacion. 3.ElprogramaPb876-04.hexesunprogramabootloaderqueusalos256bytesdelapartealtadela memoriadeprograma(0x1F04-0x1FFF).Nuestrosprogramaspodranocupardesdelaposicion 0x0004dememoriahastala0x1EFFyladirecciondeiniciodelprogramadeberaindicarsejunto conelbancodememoriaenelqueseencuentrajuntoconlasposicionesdememoria0x1I00a 0x1I04. 4.El mapa de memoria del PIC 16F876/877 con el bootloader es el que se muestra en la Iig.5 Fig.5 Mapa de memoria del bootloader.(8Kbytes) ROBOT HEXAPODO 43 10.1.4.COMO REALIZAR LA CARGA EN EL MICROCONTROLADOR. 1.EnprimerlugarseconectalaplacadedesarrolloalPCmedianteuncabledeMODEMnulo,taly como se comento anterior mente. 2.Pararealizarlacargadelprogramadeusuario,utilizamosunprogramade'cargaIreware,setrata delPICdownloaddelCD2yqueconseguiremoselawebhttp://www.microchipc.com/unavez instalado, al ejecutarlo aparece una pantalla como la que se muestra en la Iigura 6. 3.Seleccionamoslavelocidaddetransmisionenbaudios,ennuestrocaso19200,elpuertoseriede comunicacion, en el ejemplo hemos seleccionado el COM2 y buscamos el nombre del programa encodigohexadecimalquequeremoscargar en elmicro,porejemploLCD1.hex. Esteprogramatiene denovedosoIrenteaprogramasanteriores,elquesepuedeverelcodigodelprogramaacargar pulsandoelbotondeCode,Figura7.Unavezseleccionadoelprogramaacargarsepulsaelboton Start. 4.SeguidamentesepulsaelbotondeRESETyelprogramasecargaenelmicrocontroladorPIC. Segun se va realizando la carga, aparece un indicador de carga (linea azul) y Iinaliza con un pitido. 5.Si volvemos a ejecutar a actuar sobre el pulsador de RESET, se ejecutara el programa del usuario. Figura 6. Figura 7 ROBOT HEXAPODO 44 10.1.5.PRIMER PROGRAMA DE A1USTE CON EL HEXAPODO El primer programa que se realizara es el movimiento continuo de una pata del hexapodo, comenzando en la posicion delantera, se desplaza a la posicion central y seguidamente al extremo Iinal para pasar de nuevo a la posiciondeinicio.Estatareaesnecesariaparaajustarlosmovimientosdelosservomotoresentresus extremos sin Iorzar la estructura, hay que tener en cuenta que puede haber variaciones segun el servo que se utilice. La idea es generar por la linea RB1 las seales que se muestran en la Iigura 8. ParaconseguirloseutilizalainterrupcionpordesbordamientoTMR0cada0,5ms,demaneraqueparala primeraseal,lasalidadeberaestaranivelaltoduranteeltiempoquetardaengenerarsedosvecesla interrupcion y 18 veces el tiempo que tarde en generarse la interrupcion a nivel bajo. Para realizarse los tres movimientos, tendremos que cumplir lascondiciones de la tabla 2. Si queremos conseguir un movimiento mas lento la seal RB1 debe mantenerse a nivel bajo mas tiempo unos 20ms ( 40 en el registro), este sera el tiempo que se utiliza en el ejemplo que veremos a continuacion. El organigrama del programa se muestra en la Iigura 9. ROBOT HEXAPODO 45 Unavezcargadoelprogramaenelmicrocontrolador,podremosconectarelservomotordelaspatasdela derechaycomprobarsieIectivamenterealizanlaIuncionesperada.Sieldesplazamientodelosservoses mayorquelaqueesperabamosyIuerzalaestructuramecanica,debemosajustareltiempoalque mantenemos el nivel bajo TMR0 (200 en el registro de ejemplo). ROBOT HEXAPODO 46

ROBOT HEXAPODO 47 ROBOT HEXAPODO 48