DISEÑO E IMPLEMENTACIÓN DE UN BRAZO ROBÓTICO DE 6GDL Luis Antonio Avila Lozano, Luis Gerardo Carrión Robles, William Figueroa Mejía, Joan Jiménez Melo s!uela "ro#esional de $ngeniería Me!atróni!a Fa!ultad de $ngeniería Me!%ni!a &niversidad 'a!ional de $ngeniería
El presente presente proyecto proyecto trata trata acerca del diseño, diseño, implementación y programación de un prototipo de un brazo robotico de seis grados libertad para diversas aplicaciones.
indust industria riall en el cual cual va a traba& traba&ar ar.. 0os tipos m#s comunes de brazos robóticos industriales son/
El presente paper presenta el proceso de diseño usando el software Soliworks 2!", posteriormente la construcción y mecanismos mecanismos del brazo con la descripción descripción detallada detallada de cada una de sus elementos mec#nicos y elementos de unión, posteriormente trata acerca de la programación del brazo robó robóti tico co usan usando do el soft softwa ware re $atl $atlab ab 2 2!% !% y la tar& tar&et etaa electrónica 'rduino con su interfaz ()E.
Robot Robot cartes cartesiao iao!! 1sado para traba&os de pic pick and pla place3 ce3 4tom 4tomar ar y coloc olocar ar5, 5, aplicación de impermea meabilizantes, operaciones de ensamblado, manipulación de m#uinas 6erramientas y soldadura por arco. Es un robot cuy uyoo brazo tiene tres articulaci articulaciones ones prism#tica prism#ticas, s, cuyos e&es son coincidentes con los e&es cartesianos.
Resumen –
*ambi+n el presente paper incluye el desarrollo del código para poder mover los servomotores un #ngulo determinado por el usuario. El prototipo fsico del brazo es de % grados de libertad el cual es muy -til para cualuier movimiento ue se uiera realizar o cualuier tarea ue se le uiera asignar.
Palabras Claves/
brazo robótico, servomotor, software,
prototipo.
I. INTRODUCCION INTRODUCCION
0os robots industriales son utilizados en una variedad de aplicaciones en los procesos de manufactura para realiz realizar ar traba& traba&os os como como pintad pintado, o, paleti paletizad zado, o, abrir abrir puertas, empacar ca&as y una variedad m#s de aplicaciones ue se pueden realizar con los robots industriales. )entro de la amplia gama de robots industriales ue se pue pueden den implem implement entar ar los m#s vers#t vers#tile iless son los brazos robóticos. 0os brazos robóticos pueden ser implementados con diversas cantidades de grados de libertad dependiendo de la aplicación para el cual va destinado o el sector
Robot ci"#$rico/ 1sado para operaciones de ensa ensamb mbla la&e &e,, mani manipu pula laci ción ón de m#u m#uin inas as 6err 6erram amie ient ntas as,, sold soldad adur uraa po porr pu punt nto, o, y manipu manipulac lación ión en m#uin m#uinas as de fundic fundición ión a presión. Es un robot cuyos e&es forman un sistema de coordenadas cilndricas. Robot es%&rico ' Robot (o"ar, tal como el robot 1nimate usado en la manipulación en m#uinas 6erramientas, soldadura por punto, fundición a presión, m#uinas de desbarbado, soldadura por gas y por arco. Es un robot cuyos e&es forman un sistema polar de coordenadas. 1sadoo para para trab traba& a&os os de Robot Robot SCARA SCARA/ 1sad pic pick and pla place3 ce3 4tom 4tomar ar y coloc olocar ar5, 5, aplicación de impermea meabilizantes, operaciones de ensamblado y manipulación de m#uinas 6erramientas. Es un robot ue tiene dos articulaciones rotatorias paralelas para proporcionar elasticidad en un plano.
Robot artic)"a$o/ 1sado para operaciones de ensambla&e, fundición a presión, m#uinas de desbarbad desbarbado, o, soldadura soldadura a gas, soldadura soldadura por arco, y pintado en spray. Es un robot cuy uyoo braz razo tie tiene como mnimo tre tres articulaciones rotatorias. Robot (ara"e"o/ 1no de los usos es la plataforma móvil ue manipula las cabinas de los simuladores de vuelo. Es un robot cuyos brazos tienen articulaciones prism#ticas o rotatorias concurrentes. concurrentes. Robot Atro(o*+r%ico/ $uy -til en las aplicaciones biom+dicas, los cuales pueden servir de prótesis en auellas personas ue 6an perdido una e7tremidad. '8*E9E)E8*ES )E0 :;<=E9*< El proyecto de implementación de un brazo robótico surg surgee un trab traba& a&oo en el cual cual se va a prob probar ar los los conocimientos aduiridos a lo largo del curso, y a comprobar las ecuaciones de la cinem#tica y din#mica de un sistema multicuerpo.
0os brazos robóticos en la actualidad son muy -tiles para una gran variedad de aplicaciones ya se a nivel industrial o en aplicaciones biom+dicas. ' trav+s de prototipos diseñados con el software 9') Solidworks Solidworks 2!" 2!" se implement implementaa el brazo robótic robóticoo utilizando utilizando como material material para el prototipo prototipo fsico una madera tipo trupan $)? de A milmetros ya ue debido al costo ue demanda una impresión en B) se opta por un material m#s económico. 0a impl implem emen enta taci ción ón se real realiz izóó toma tomand ndoo como como refe refere renc ncia ia los los braz brazos os robo robots ts util utiliz izad ados os a esca escala la industrial.
C';)D';E = S*D' S* D';E ;E El softwa software re utiliz utilizado ado para para el diseño diseño del protot prototipo ipo fsico es el Solidwork 2!", para la programación del código código ue controla los servomotore servomotoress $atlab 2!% y como 6ardware se usó la tar&eta electrónica 'rduino 18<. !, $'*0'
)ES9;(:9(<8 )E0 :;<=E9*< $'* $'*0' 4abrev 4abreviat iatura ura de $'* $'*ri7 ri7 0'ora 0'oratory tory,, *eniendo los valores de las posiciones y velocidades Flabora Flaborator torio io de matric matricesF esF55 es una 6erram 6erramien ienta ta de fina finale less del del e7tr e7trem emoo fina finall de un brazo brazo robóti robótico co soft softwa ware re mate matem# m#ti tico co u uee ofre ofrece ce un ento entorn rnoo de calcular los valores de velocidad ue se le deben deben dar desa desarr rrol ollo lo inte integr grad adoo 4()E 4()E55 con con un leng lengua ua&e &e de a las articulaciones aplicando las ecuaciones de la programación propio 4lengua&e $5. Est# disponible cinem#tica inversa. para las plataformas 1ni7, Dindows, Dindows, $ac
OB,ETI-OS DEL DISEÑO CONSTRUCCIÓN DEL SISTEMA
•
•
•
•
>1S*(?(9'9(<8 )E0 )(SE@<
Entr Entree sus pre presta stacion ciones es b#s b#sica icas se 6all 6allaan/ la manipulación de matrices, la representación de datos y funcio funciones nes,, la implem implement entaci ación ón de algorit algoritmos mos,, la crea creaci ción ón de inte interf rfac aces es de usua usuari rioo 4H1( 4H1(55 y la comunicación con programas en otros lengua&es y con otros dispositiv dispositivos os 6ardware. 6ardware. El pauete pauete $'*0 $'*0' ' disp dispon onee de do doss 6err 6erram amie ient ntas as adic adicio iona nale less u uee e7pa e7pand nden en sus sus pres presta taci cion ones es,, a sabe saber, r, Simu Simuli link nk 4plataforma de simulación multidominio5 y H1()E 4editor de interfaces de usuario J H1(5. 'dem#s, se pueden ampliar las capacidades de $'*0' $'*0' con las ca&as de 6erramientas 4toolbo7es5K y las de Simulink con los pauetes de bloues 4blocksets5.
Fig. 1 software:Matlab software:Matlab
2. :0'*'?<;$' )E ';)1(8< 'rduino es una plataforma de 6ardware libre, basada en una placa con un microcontrolador y un entorno de desa desarr rrol ollo lo,, dise diseña ñada da para para faci facili lita tarr el uso uso de la electr electróni ónica ca en proyect proyectos os muy variad variados os en muc6as muc6as aplicaciones. El 6ardware consiste en una placa con un micr microc ocon ontro trola lado dorr 'tmel tmel 'L; y pu puer erto toss de entradaIsalida.A. 'rduino se puede utilizar para desarrollar proyectos inte intera ract ctiv ivos os autó autóno nomo moss o pu pued edee ser ser cone conect ctad adoo a soft softwa ware re tal tal como como 'do dobe be ?las ?las6, 6, :roc :roces essi sing ng,, $a7I$S:, :ure )ata. 0as placas se pueden montar a mano o comprarse. El entorno de desarrollo integrado ()E libre libre se pue puede de descar descargar gar gratui gratuitam tament entee de la p#gina de arduino. 'rduino puede tomar información del entorno a trav+s de sus entradas analógicas y digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la placa 'rduino se programa medi median ante te el leng lengua ua&e &e de prog progra rama maci ción ón 'rdui rduino no 4basado en Diring5 y el entorno de desarrollo 'rduino 4basado 4basado en :rocessing :rocessing5. 5. 0os proyectos 6ec6os con 'rduino pueden e&ecutarse sin necesidad de conectar a un ordenador.
Fig. 2: Placa arduino UNO
B. S<0()D<;MS SolidDorks es un software 9') 4diseño asistido por comp comput utad adora ora55 para para mode modela lado do mec# mec#ni nico co en B), B), desarrollado en la actualidad por SolidDorks 9orp., un unaa fili filial al de )ass )assau ault lt Syst Systme mess S.'. S.'. 4Sur 4Sures esne nes, s, ?ran ?ranci cia5 a5,, para para el sist sistem emaa op oper erat ativ ivoo $icr $icros osof oftt Dindows. Su primera versión fue lanzada al mercado en !NN% con el propósito de 6acer la tecnologa 9') m#s m#s acce accesi sibl blee para para todo todoss los los u uee trab traba& a&an an en ingeniera. El programa permite modelar piezas y con&untos y e7traer de ellos tanto planos t+cnicos como otro tipo de información necesaria para la producción. Es un programa ue funciona con base en las nuevas t+cnicas de modelado con sistemas 9'). El proceso consiste en trasvasar la idea mental del diseñador al sistema 9'), Fconstruyendo virtualmenteF la pieza o con&un con &unto. to. :oster :osterior iormen mente te todas todas las e7trac e7traccio ciones nes 4plano 4planoss y fic6er fic6eros os de interc intercamb ambio5 io5 se realiz realizan an de manera bastante automatizada.
*ambi+n cuenta con su propio software ue se puede descar descargar gar de su p#g p#gina ina oficial oficial ue ya incluy incluyee los drivers de todas las tar&etas disponibles lo ue 6ace m#s f#cil la carga de códigos desde el computador.
Fig. 3: Interfaz de Solidwors 2!1"
%. SE;L<$<*<; 1n serv servom omot otor or 4tam 4tambi bi+n +n llam llamad adoo serv servo5 o5 es un dispositivo similar a un motor de corriente continua u uee tiene tiene la capa capaci cida dadd de ub ubic icar arse se en cual cualu uie ier r posición dentro de su rango de operación, y mantenerse estable en dic6a posición.! 1n servomotor es un motor el+ctrico ue puede ser controlado tanto en velocidad como en posición. Es posible modificar un servomotor para obtener un motor de corriente continua ue, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y ba&a inercia ue caracteriza a estos dispositivos.
del del sóli sólido do del del robo robott y sus sus respe respect ctiv ivos os grad grados os de liberad. Esa librera se obtuvo de la paina oficial de $at6works. )espu+s de 6aber importado el sólido y 6aber 6ec6o el diagrama de bloues, se puede controlar el robot utilizando un controlador :() 4:roporcional, integral, derivativo5 ue usa una realimentación unitaria frente a una entrada escalón. :ara poder apreciar el control al ue est# sometido nuestro brazo robot simulado se utiliza el scope, en el cual se puede visualizar si la planta controlada est# logrando la estabilidad con el controlador :(). En la figura % se muestra el respectivo seguimiento de la curva de salida a la curva de entrada de la &una !.
Est# Est# con onfo form rmaado por un moto motorr, una ca&a ca&a redu reduct ctor oraa y un circ circui uito to de cont contro rol. l. *ambi+ mbi+nn potencia proporcional para cargas mec#nicas. 1n servo, servo, por con consig siguie uiente nte,, tiene tiene un con consum sumoo de energa reducido
Fig. (: )ontrol del brazo rob*tico rob*tico en Si%ulin
!. )(SE )(SE@< @< E8 E8 S<0( S<0()D )D<; <;M M 2!" 2!"
Fig. #: Ser$o%otor M&''( de 12 g
II.
DESARROLLO /UNCIONAMIENTO DEL PROECTO
!. S($1 S($10 0'9(O8 9<8 9<8*;<0')< )<; ; :() :ara el propósito de simular y controlar nuestro brazo robot conforme a la aplicación para la ue se planeó utilizarlo, usamos la interfaz de simulink, importando un dise diseño ño de nu nues estr troo braz brazoo robo robott 6ec6 6ec6oo con con el SolidDorks para poder verlo en $atlab, eso se 6izo gracias a la librera simmec6anics la cual nos permite importar un sólido, en nuestro caso desde Solidworks 2!" 6acia $atlab y mediante un comando poder conseguir el diagrama de bloues de la composición
El robo robott fue fue dise diseña ñado do usan usando do el soft softwa ware re 9') 9') SolidDorks 2!", la forma de diseñarlo fue primero cada una de sus piezas para posteriormente en un solo arc6iv arc6ivoo 9') poder ensamb ensamblar lar todas todas sus piezas piezas y obtener el brazo robótico ya ya finalizado. El diseño de cada pieza fue de acuerdo a las medidas tomadas y tomando en consideración el espesor de la madera ue se compró. 0as longitudes de las piezas determinadas de acuerdo a la densidad de la madera y los pesos y torues de los servomotores para poder garantizar ue el brazo robótico se iba a poder mover adecua adecuadam dament entee ya ue al tener tener una longit longitud ud m#s grande se genera un mayor torue, lo cual puede ocasionar ue el brazo robótico se vuelue.
Fig. 0: saciadores usados en la base
En esta parte se fi&ara toda las dem#s partes 4piezas de la base5 y la parte electrónica de nuestro proyecto. 0a segunda es el disco sin movimiento, el cual est# deba&o de la base principal y es donde se fi&a el servo de la base de capacidad !2 kg de torue. Fig. ": Perfil del +razo , Solidwors
!.! 9omposición del brazo robótico El brazo se compone de cuatro tro partes muy importantes/ la base, el brazo, el antebrazo y la pinza. *oda *odass las las piez piezas as del del braz brazoo son son de made madera ra $)? $)? cortado a la medida en una m#uina cortadora a l#ser. Esta madera por su espesor y por su densidad fue elegida por ue permite ue el brazo robótico sea lige ligero ro y u uee los los serv servom omot otor ores es usad usados os no sean sean necesariamente de una gran capacidad.
Fig. ': Perfil de la +ase , Solidwors
En la base principal se ubica el disco giratorio ue se ubica conectado a la estrella del servo. Este es el ue permite ue el brazo pueda pueda girar de acuerdo acuerdo a la programación. En la parte superior de la base se encuentran unas ranuras por donde se va a colocar los soportes de los servomotores ue 6ar#n girar los brazos del robot. 0os soportes fueron fi&ados a la base con un pegamento especial, a su vez son fi&ados entre ellos con un perno de 2 pulgadas de longitud. Fig. -: Planca de Madera M/F
!.!.! ase 0a base del brazo robótico se compone de tres partes. 0a primera es la pieza m#s grande ue ira empernada a la planc6a de presentación del brazo.
Fig. 12: Perfil del +razo , Solidwors Fig. 1!: Soorte de los ser$os del brazo
!.!.2 razo El brazo es la parte ue se encuentra en la parte superior superior de la base principa principall y esta acoplada acoplada a dos servomotores de !2 Mg de capacidad, los cuales a su vez est#n acoplados a los soportes fi&ados en la base principal. 0os brazos tambi+n est#n unidos entre ellos con A pernos de !IP de di#metro y 2 pulgadas de longitud, con la finalidad de darle una mayor estabilidad al movimiento y garantizar ue los brazos robóticos se muevan &untos .
0uego a los servos ue van a formar la parte inicial del brazo, est#n acoplados dos placas paralelas ue permiten la transmisión del movimiento para luego unirse en lo ue sera sera el codo. !.!.B 'ntebrazo El antebrazo es la pieza ue se encuentra del codo a la muñeca, y se construyó con la unión de 2 servos en los e7tremos de dos placas paralelas sin movimiento.
Fig.13: Perfil del 4ntebrazo , Solidwors
!.!.A $uñeca Fig. 11: 11: /iseo del brazo
0as dimens dimension iones es fueron fueron diseña diseñadas das calcul calculand andoo el torue ue ocasiona el servo en la parte superior del antebrazo y el gripper.
Esta parte del proyecto consta de dos servos ue le dan un movimiento de rotación y traslación respecto al punto final del antebrazo.
de madera con una alta densidad para de esa manera garantizar ue esa base de madera sea pesada.
Fig.1#: Perfil de la Mueca , Solidwors
!.!.A Hripper 0a pieza final de nuestro brazo robótico y uiz#s la m#s importante cuando lleva a cabo una determinada función es la pinza, est# ubicada en la parte final del brazo y va unido al antebrazo mediante un servo ue le permite el movimiento de abrir y cerrar para ue pueda cumplir su función de coger alg-n ob&eto. ob&eto.
Fig. 1": +razo 5 +ase
:osteriormente, despu+s de armar la base se coloca el primer brazo con su respectivo servomotor, este servomotor funcionar# emulando a la articulación de un 6ombro d#ndole d#ndole movimiento movimiento de rotación rotación al brazo robó robóti tico co,, el e&e e&e o flec flec6a 6a de este este serv servom omoto otorr va montado sobre la base móvil.
Fig.1(: Perfil de la Pinza , Solidwors
:ara su construcción primero se 6izo los engrana&es, ue son los ue permiten el abrir y cerrar de la pinza. 1na de las partes del engrana&e va unido al servo para ue de esta manera pueda realizar su función, los engrana&es van unido a una placa tal como se muestra en la figura, y es la placa la ue realmente va unida al antebrazo
0. IMPL MPLEMEN EMENT TACION ION
Fig. 1-: Perforando la base del brazo robot
:roced :rocedien iendo do con la impleme implementa ntació ciónn sobre sobre la base base móvil antes mencionada se fi&an los dos servos ue :ara proceder con la implementación se tiene ue permitir# el movimiento del brazo, para ir con las dos realizar mediante tornillos y pernos de variedad de placas paralelas ue conforman el brazo, estas est#n tamaños, tamaños, as como un poco de silicona silicona para asegurar asegurar formadas por un &uego de pernos colocados de manera ciertas zonas, estrat+gica para amortiguar el peso superior. 0o primero ue se 6izo fue cortar la planc6a de madera $)? $)? mediante rayos laser con las especificaciones de cada pieza 4dimensiones5. :ara iniciar con la implementación fsica como en todo traba&o se comienza por la base, construyendo una base sólida, en nuestro caso se optó por una pieza
Fig. 10: 4r%ando el brazo 5 el antebrazo
Fig. 2!: &rier
)esp )espu+ u+ss se prue prueba ba en cada cada un unaa de las las part partes es su func funcio iona nami mien ento to,, po por rue ue suce sucede de u uee en algu alguna nass ocasiones se traban los servomotores o la placa de arduino de&a de funcionar correctamente por falta de alimentación, para lo cual se necesitara utilizar una fuente de alimentación e7terna para el arduino aparte de los %L dados dados por el puerto 1S. 1S. =a casi casi finali finalizan zando do la implem implement entaci ación ón del brazo brazo robótico se procede con la unión del antebrazo al brazo3, mediante el servo ue presenta el primero, uedando fi&o con unos tornillos peueños.
Fig. 1': +razo 5 antebrazo
El antebrazo se implementa similar a la forma anterior ya ue en este caso las placas paralelas tienen dos orificios para su&etar los dos servos en los e7tremos. 0a muñeca formada por un servo m#s peueño de !.P kg de torue, vendra a ser el gripper y estar# su&etada medi median ante te pres presió iónn po porr do doss plan planc6 c6as as de made madera ra peueñas.
Fig. 21: Progra%ando con la interfaz arduino arduino
9omo -ltimo procedimiento se prueba todo el brazo robótico con el código comprobando los movimientos del antebrazo, y la pinza pudiendo observar en la siguiente imagen el producto final de la implementación.
Fig. 23: Siste%as de coordenadas
Fig. 22: +razo rob*tico
1. MODE MODELA LAMI MIEN ENTO TO MAT MATEMA EMATICO ICO :ara poder realizar el modelamiento matem#tico de nuestro brazo robótico usaremos las ecuaciones de la cinem#tica y la din#mica de un sistema multicuerpo aprendido en clase, los cuales son/ 0os par#metros de )enavit )enavit JCartenberg JCartenberg 4tambi+n 4tambi+n llamados llamados par#metros par#metros )C 5 ue son los cuatro par#metros asociados con un convenio en particular para la fi&ación de marcos de refere referencia ncia a los eslabo eslabones nes de una espaci espacial al cadena cadena cinem#tica , o manipulador de robot. 9on la ayuda de este m+todo se puede analizar la cinem#tica directa y la cinem#tica inversa. B.! 1bicación de los e&es de coordenadas
B.2 :ar#metros de )C )e la teora se sabe la forma de trazar los e&es coordenados para las condiciones de )enavitJ Cartenverg
Fig. 2#: )ondiciones /6
)espu+s de ubicar los e&es coordenados, se 6alla los par#metros de )C, seg-n las reglas reglas aprendidas en clases con la finalidad de despu+s de 6allar los par#metros se pase con la matrices matrices de )C
0o primero primero ue se debe 6acer 6acer para poder poder analizar analizar nuestro brazo robótico seg-n los par#metro de )C es el colocar los e&es coordenados en las articulación de este, as podremos ver el punto inicial y final del movimiento del brazo
*abla *abla !/ 9uadro de par#metros B.B 9inem#tica )irecta/ Se utiliza las matrices de )enavit J Cartenverg para poder 6allar el punto final de la garra seg-n los #ngulos n En esta convención, coordinar marcos est#n asociadas a las uniones entre dos enlaces de manera ue una transformación se asocia con la articulación,, y el segundo est# asociado con el enlace. 0as transformaciones de coordenadas a lo largo l argo de un
robot de serie ue consta de n enlaces forman las ecuaciones cinem#ticas del robot
Callamos las matrices de )C. 9on la finalidad de 6allar el punto final de la pinza del brazo seg-n los grados de las articulación y las longitudes del brazo. 'plic 'plican ando do la teor teora a apren aprendi dida da en clas clasee para para la e7presión de una matriz de transformación
Fig. 2(: Matriz 7
9on las con condic dicion iones es dad dadas as se proced procedee a 6allar 6allar la matriz de transformación de cada una de las &untas del brazo robot.
robots, si se consideran sólo los tres primeros grados de libertad, se tiene una estructura planar. Este Este 6ec6 6ec6oo faci facili lita ta la reso resolu luci ción ón del del prob proble lema ma.. 'simismo los -ltimos tres grados de libertad suelen usarse para la orientación de la 6erramienta, lo cual permite una resolución geom+trica desacoplada de la posición de la muñeca del robot y de la orientación de la 6erramienta.
Fig. 2": )ine%8tica in$ersa
)e la figura, se observa ue 'dem#s, se tiene ue la distancia radial especfica de la base QdR se relaciona con 7 y por/
9on esto podremos 6allar la posición final poniendo como e&e inicial la base de nuestro robot
Fig. 2-: )ine%8tica in$ersa
)e esta vista, 6allamos la relación entre los #ngulos de unión T 2, TB, TA y U, 9omo sigue/ φ = θ2 + θ 3 + θ4 )ado un U, podemos calcular la distancia radial y la altura de la unión de la muñeca/ r 4 =r d −a5 cos ( φ ) z 4= z d −a5 s ∈ ( φ ) B.A 9inem# 9inem#tic ticaa (nver (nversa sa 0a cinem#tica inversa consiste en 6allar los l os valores de las coordenadas articulares del robot
9onocida la posición y orientación del e7tremo del robot. Se pueden encontrar diversos m+todos gen+ricos para la resolución de la cinem#tica inversa ue pueden ser implementados en computadora, suele ser 6abitual la resolución por medio de m+todos geom+tricos. 0a mayor parte de los robots suelen tener cadenas cinem#ticas relativamente sencillas, ue facilitan la utilización de los m+todos geom+tricos. :ara muc6os
< sino, r 4 =a3 cos ( θ 2) + a4 cos ( θ2 + θ 3)
z 4= a3 sin ( θ 2 ) + a4 sin ( θ 2+ θ 3 ) + d 1 '6ora determinemos T 2 y TB. :ara ello primero 6allamos V,W y s de la figura JJJJ, empleando la ley de cosenos/ α =a . tan tan 2 ( z 4 −d 1 , r 4) 2
2
2
β =a . tan tan 2 ( s + a 3−a 4 , 2 a3 s) s = √ ( z 4) + r 4 9on estos valores intermediarios, a6ora podemos 6allar el resto de los valores de los #ngulos. 2
2
θ2= α − β 2
2
2
θ3= α . tan tan 2 ( s − a3− a 4 , 2 a 3 a 4 ) θ 4 =φ −θ 2 −θ 3 :roblema de orientación/ 9#lculo de las tres -ltimas articulaciones 9onocidos los tres primeros #ngulos T !, T2 y TB se resuelve la cinem#tica directa para los tres primeros eslabones, eslabones, obteni+ndose obteni+ndose la matriz 'B necesaria para la resolución de las -ltimas tres t res articulaciones. Siguiendo la referencia X!Y, para resolver el problema de la orientación se 6an de conseguir ue las tres -ltimas articulaciones cumplan los criterios siguientes !. Establecer la articulación A de forma tal ue una rotación respecto de la rotación % alinear# el e&e de movimi movimient entoo de la articu articulac lación ión " con el vector vector de apro7imación dado 4a5. 2. 0a articulación % alinear# el e&e de movimiento de la articulación " con el vector de apro7imación.
'rticulación A :ara conocer el signo de la ecuación/
Se dete determ rmin inaa cono conocie ciend ndoo la orie orient ntac ació iónn Z y la configuración de $1@E9'K Z se calcula seg-n su definición, y $1@E9' es un par#metro del robot. Se parte de la suposición de ue el signo es positivo, y esta 6ipótesis se corrige con el par#metro $ ue se calcula como combinación de la configuración de la muñeca y la orientación reueridas. 1tilizando los par#metros Z y $1@E9' se construye la siguiente tabla
B. ?i&ar la articulación " para alinear el vector de orientación dado 4s5 4o el de deslizamiento 4n55 y el vector normal. $atem#ticamente, estos criterios significan/
•
'rticulación %
•
'rticulación "
'mba 'mbass orie orient ntac acion iones es de la muñe muñeca ca 4';; 4';;( (' ' y ''><5 ''><5 se define definenn observ observand andoo la orient orientaci ación ón del sistema de coordenadas de la mano con respecto al sistema de coordenadas 47 %, y%, z%5. :ara :ara anal analiz izar ar las las conf config igur urac acio ione ness de $1@E $1@E9' 9' ';;( ';;( ' y $1@ $1@E9' E9' ''><, '><, se util utiliz izaa un par#metro de orientación ue 6ace referencia a la orientación del vector unitario n 4o s5 con respecto al vector unitario 7 % 4o y%5 y ue viene definido en la referencia como
B.%. )in#mica de 0agrange del brazo robótico C.
1icker 1icker en !N" !N"%% utiliz utilizóó la repres represent entaci ación ón de )JC basada en las matrices de transformación 6omog+nea para formular el modelo din#mico de un robot mediante la ecuación de 0agrange. Este planteamiento utiliza, por tanto, las matrices iJ!'i ue relaciona el sistema de coordenadas de referencia del elemento i con el elemento 4iJ!5. 'lgoritmo computacional para el modelado din#mico de 0agrangeJEuler. '. 'sign ignar a cada eslabón un sistema tema de referencia de acuerdo a las normas de )JC. .
hi =
∑= ∑= h
´qk ´q m
ikm
k
(.
n
1
m
1
i [ !,2,..,n g / es el vector de gravedad e7presado en el sistema sistema de la base ]S ^ y viene e7presado por 4g7,gy,gz,5 r & / es el vector de coordenadas 6omog+nea del centro de masas del elemento & e7presado en el sistema de referencia del elemento i. >. 0a ecuaci ecuación ón din#mi din#mica ca del sistem sistemaa ser# ser#//
E. i para cada elemento, ue vienen definidas por/ )onde * es el vector de fuerzas y pares moto motore ress efec efecti tivo voss apli aplica cado doss sobr sobree cada cada coordenada i.
)ond )ondee las las iner inerci cias as est# est#nn e7te e7tend ndid idas as al elemento i considerado, y47 i,yi,zi5 son son las las coorde coo rdenad nadas as del difere diferenci ncial al de masa masa dm resp respec ecto to al sist sistem emaa de coor coorde dena nada dass del del elemento. ?.
9on/ i,&[!,2,\,n libertad
8<*'S/ 8<*'S/ 0a derivada de la matriz de )JC 'i respecto de la coordenada & puede obtenerse f#cilmente de manera computacional, mediante la e7presión/
9on/
n/8-meros de grados de
H.
_ue permite obtener la matriz $ como par#metro para calcular la rotación TA en cualuiera de las configuraciones posibles.
4Si la rotación i es de traslación5
'n#logamente,
Fig. 2": Progra%ando con Matlab
0as matrices > i y ) son sim+tricas y definidas positivas.
2.
2.3.CÓDIGO EN MATLAB!
El t+rmino 6ikm representa el efecto, en cuanto a fuerza par, generado sobre el eslabón i como consecuencia del movimiento relativo entre los eslabones k y m. se cumple ue 6ikm[6imk y y ue 6iii[.
clc;clear all %1. CONFIGURACION DEL PUERTO SERIAL s1=serial('COM' s1=serial( 'COM'!; !;
En la obtención de las matrices de pseudoinercia >i, las integrales est#n e7tendidas al elemento i, de modo ue est# se eval-a para cada punto del elemento de masa dm y coordenadas 47 i,yi,zi5 referidas al sistema do coordenadas del elemento.
i"# $$ $$; ; &e"(s1!; &l1=); &l*=1+1; &l,=,-**; &l=,; &l=/*; &l-=0);
PROGRAMACION A.!. :rueba de de los servomotor servomotores es
'ntes de comenzar con la programación en $atlab y 'rdu 'rduin ino, o, se real realiz izóó la prue prueba ba del del movi movimi mien ento to mec#nico de cada servo, con la finalidad de calibrar los movimientos, determinar la posición del cero y comprobar ue pueda mover la carga demandada por el brazo robot. Esto Esto se llev llevóó a cabo cabo con con un peu peueñ eñoo circ circui uito to electrónico ue se armó usando &umpers, protoboard, arduino y el servomotor para las cone7iones y un código en arduino implementado con un grado de libertad el cual cual permita la transmisión transmisión de los pulsos para llevar a cabo el movimiento.
ri#e(s12&l12'3c4ar'!; ri#e(s12&l12'3c4ar' !; ri#e(s12&l*2'3c4ar' ri#e(s12&l*2 '3c4ar'!; !; ri#e(s12&l,2'3c4ar' ri#e(s12&l,2 '3c4ar'!; !; ri#e(s12&l2'3c4ar' ri#e(s12&l2 '3c4ar'!; !; ri#e(s12&l2'3c4ar' ri#e(s12&l2 '3c4ar'!; !; ri#e(s12&l-2'3c4ar' ri#e(s12&l-2 '3c4ar'!; !; %*. c&i$& ri"cial 4ile(1! 4ile (1! %*.1 leer el a#& e"5iar $$=i"3#('I"$rese $$=i"3#('I"$rese ser5& a 6&5er7'!; 6&5er7' !; i($$8i ($$8- 99 $$:1! is(' is(' Ser5& "& 5ali& '! ' ! c&"#i"3e e" "361=i"3#('I"$rese "361=i"3#('I"$rese a"$3l&7'!; a"$3l&7'!;
i("361==<*! i ("361==<*! is('Fi"alia&' is('Fi"alia&'! ! >rea? e" i("36181+) i ("36181+) 99 "361:)! is(' is(' A"$3l& 3era e ra"$& '! '! c&"#i"3e e" i($$==1! i ($$==1! e="361; a"$3l&s=li"sace(&l12e2a>s(e< &l1!@1!; &l1="361; e" i($$==*! i ($$==*! e="361@1+1; a"$3l&s=li"sace(&l*2e2a>s(e< &l*!@1!; &l*=e; e" i($$==,! i ($$==,! e="361@,-*; a"$3l&s=li"sace(&l,2e2a>s(e< &l,!@1!; &l,=e; e" i($$==! i ($$==! e="361@,; a"$3l&s=li"sace(&l2e2a>s(e< &l!@1!; &l=e; e" i($$==! i ($$==! e="361@/*; a"$3l&s=li"sace(&l2e2a>s(e< &l!@1!; &l=e; e" i($$==-! i ($$==-! e="361@0); a"$3l&s=li"sace(&l-2e2a>s(e< &l-!@1!; &l-=e; e" &r ""= &r ""= 17le"$#4(a"$3l&s! =a"$3l&s(""!; %*.* e"5ia6&s el a#& al ar3i"& ri#e(s122'3c4ar' ri#e(s122'3c4ar'! ! a3se().)1! e" %*.* e"5ia6&s el a#& al ar3i"& % &l1="361; % &l*="361; % &l,="361; % &l="361; % &l="361; % &l-="361;
% e" %Al i"al cerra6&s el 3er#& serial cl&se(s1!;
:ara poder realizar los movimientos de los servos tambi+n se reuiere ue se 6aga un código en arduino
2.0.CÓDIGO EN ARDUINO! #include int angle; Servo s1,s2,s3,s4,s5,s6; s1,s2,s3,s4,s5,s6; int ps1,ps2,ps3,ps4,ps5 ps1,ps2,ps3,ps4,ps5,ps6,pps2; ,ps6,pps2; Void setup !" s1.attach !; s2.attach $!; s3.attach 1%!; s4.attach 11!; s5.attach12!; s6.attach 13!; s1.&rite %!; s2.&rite %!; s3.&rite %!; s4.&rite %!; s5.&rite %!; s6.&rite %!; 'ela(1%%%!; ))*ctiva el puerto serial Serial.+egin$6%%!; void loop! " )) put put (our (our -ain -ain code code her here, to run run repeatedl( i/Serial.availa0le!>%! "))*. ee-os el 0(te enviado angleSerial.read!; angleSerial.read!; )) Se Se lee el valor i/angle>% angle<11! " ps1angle; s1.&riteps1!; dela(2%!; i/angle>11 angle<362! " ps2angle11; ps2angle11; pps21%ps2; s2.&ritepps2!; dela( 2%!; i/angle>362 angle<543! " ps3angle362; ps3angle362; s3.&riteps3!; dela(2%!; i/angle>543 angle<24! " ps4angle543; ps4angle543;
i/angle>24 angle<$%5! " ps5angle24; ps5angle24; s5.&riteps5!; dela(2%!;
movimiento para as poder corregir el diseño en caso de enco encont ntra rarr un unaa ines inesta tabi bili lida dad, d, po porr lo ante anteri rior or e7puesto el uso del software es económico y practico, tambi+n nos permite visualizar los movimientos y nos da por adelan adelantad tadoo los resulta resultados dos ue desea deseamos mos y permite ver si nuestro diseño est# bien o no de acuerdo a nuestro ob&etivo.
i/angle>$%5 angle<1%6! " ps6angle$%5; ps6angle$%5; s1.&riteps6!; dela(2%!;
:ara finalizar utilizando utilizando el ()E de de 'rduino 'rduino pudimos real realiz izar ar la cone cone7ió 7iónn de dato datoss entre entre 'rdu 'rduin inoo y el softwa software re $'*0 $'*0', ', con esto esto se pud pudoo termin terminar ar la programación de cada uno de los servos del brazo robótico y poder generar su movimiento.
s4.&riteps4!; dela(2%!;
^ 2. ;E9<$ E9<$E8 E8)' )'9( 9(<8 <8ES ES
-. CONCLUSIONES RECOMENDACIONES !. 9<8901S(< S(<8ES Se 6a podido mostrar la construcción e implementación de un prototipo de un brazo robot industrial para dar a conocer a los estudiantes de inge ingeni nier era a la facti factibi bili lida dadd de llev llevar ar a cabo cabo la implementación de proyectos como este, ue se puede llevar a cabo con costo relativamente ba&o y ue la compra de los materiales est#n al al alcance alcance o en todo caso caso tambi+n tambi+n es posible posible pod poder er implemen implementar tar con materiales m#s baratos con el triplay o con retazos de maderas, pero siempre calcular las medidas para una estructura estable y ue pueda darnos precisión en el movimiento. Se pudo comprobar e7perimentalmente toda la teora de cinem#tica directa e inversa as como tambi+n la din#mi din#mica ca de lagran lagrange ge ue fue e7p e7plic licada ada en clase. clase. 9omo este proyecto fue construido e implementado con fine finess aca acad+mi d+mico coss su fin fin culmi ulmina na con la programación , sin embargo este proyecto podra ser util utiliz izad adoo como como prot protot otip ipoo para para la fabr fabric icac ació iónn de muc6os muc6os brazos robots robots a escala industrialK industrialK incluso incluso se puede construir uno de mayor tamaño con materiales m#s m#s resi resist sten ente tess como como el acer aceroo para para tene tenerr un uso uso industrial porue los c#lculos est#n 6ec6o utilizando muc6o cuidado en precisión y la teora esta aplicada de la mane manera ra m#s m#s did# did#ct ctic icaa y para para un unaa f#c f#cil comprensión, lo ue permite ver con con facilidad facilidad alg-n error error o si se uiere uiere lograr lograr mayor mayor precisi precisión ón en los movimientos.
Se debe calcular calcular el costo costo de los materiale materialess ue se van a emplear emplear en la implementac implementación ión del brazo robótico, esto nos permite buscar los los mate materi rial ales es adec adecua uado doss para para logr lograr ar precisión y euilibrio. Es vital vital tener tener en cuenta cuenta la capacid capacidad ad de carga de los servos, porue van a mover un brazo robot ue puede cargar un peso en las pinzas, usar un servo de gran capacidad de torue nos garantiza un buen movimiento. Esto permite darle mayores aplicaciones a nuestr nue stroo brazo brazo porue porue mienta mientass aument aumentee el torue del servo nuestro brazo robot tendr# una mayor capaci capacidad dad de carga carga.. :ara :ara ello ello tamb tambi+ i+nn se debe debe tene tenerr en cuent uentaa los los materia materiales les,, si se uiere uiere utiliz utilizar ar servos servos de menor capacidad se debe utilizar materiales m#s ligeros como el acrlico. Es necesar necesario io evitar evitar los vacos vacos o espacios espacios sueltos en la unión de los servomotores con la estruc estructur turaa de madera madera.. Si e7iste e7istenn estos estos espa espaci cios os entr entree la estre estrell llaa del del serv servoo y la estru struct ctur uraa se perd perder er## prec precis isió iónn en el movi movimi mien ento to.. *ambi+ mbi+nn al mome moment ntoo de entornillar entornillar la estructura estructura tener cuidado en las partes donde solo se usa un servo. servo. Es importante calibrar los servos antes de ser armado el brazo ya ue una vez armado la calibración se vuelve imposible.
El diseño 6a sido f#cil y pr#ctico gracias al uso del software 9') Solidworks 2!", lo ue nos permite tener un modelo e7acto sin p+rdida de material ni tiempo.
-I. BIBLIOGRA/4A
0a utilización del software en el diseño y simulación es un unaa vent venta& a&aa adem adem#s #s de no tene tenerr p+rd p+rdid idas as de mate materi rial al ni tiem tiempo po ya u uee perm permit itee simu simula larr el
X!Y arrientos 'ntonio, :eñin 0uis ?elipe, alaguer 9arlos 9arlos,, 'raci 'racill ;afael ;afael,3 ,3 ?undam ?undament entos os de robóti robótica3 ca3 1niversidad :olit+cnica de $adrid
X2Y M.S. ?u,;.9. Honzales, 9. S. H. 0ee, 0ee,3; 3;ob obot otic ics/ s/Se Sens nsin ing, g,9o 9ont ntro rol, l, Lisión sión,, and and (ntellengence3 $c Hraw Cill XBY$ark D. Spong, Set Cutc6inson, $. Lidsayagar,3;obot Lidsayagar,3;obot $odeling and control3 L. '8EG
'plicacion indusrial a la cual se dirie ue el razo rooico realizado en el presene paper se muesre como un prooipo. Fig. 2-: 9azo F4NU) F4NU) encarado del aleizado de auees.