ARM-SENSE PROTOCOLO DE INVESTIGACION
Autores
Jesús Antonio Martinez Hernandez Clara Guadalupe Rodríguez de la Cruz Rubén Borroel Álvarez Enrique el Car!en "onse#a Arias
PROTOCOLO DE INVESTIGACIÓN Contenido
$o!bre del pro%e#to& Ar!'sense((((((((((((((( Ar!'sense(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((() ((((((((((((((((((((((((((((((((() Resu!en((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((() *ntrodu##i+n((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((() Ante#edentes del proble!a((((((((((((((((( proble!a((((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((() ((((((((((((((((((((((((((((((() Aspe#tos generales de proble!a((((((((((((((( proble!a(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((() (((((((((((((((((((((((((((() ,lantea!iento del proble!a(((((((((((((((( proble!a(((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((- (((((((((((((((((((((((((((((((- Estado del proble!a(((((((((((((((( proble!a(((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((- (((((((((((((((((((((- Al#an#es((((((((((((((((( Al#an#es(((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((. ((((((((((((((((((((((((((((((((. /i!ita#iones(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((. 0b1etivos generales((((((((((((((((( generales(((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((. ((((((((((((. 0b1etivos espe#í2i#os&(((((((((((((((((( espe#í2i#os&((((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((. (((((((((((((((((((((((. "or!ula#i+n de la 3ip+tesis((((((((((((((((((( 3ip+tesis(((((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((4 (((((((((((4 Justi2i#a#i+n(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!portan#ia(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!pa#to so#ial((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!pa#to e#on+!i#o(((((((((((((((( e#on+!i#o((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((5 ((((((((((((((((((((((((5 *!pa#to a!biental(((((((((((((((( a!biental((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((5 ((((((((((((5 *!pa#to te#nol+gi#o((((((((((((((((( te#nol+gi#o((((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((5 ((((((((((((((5 6ialidad de la investiga#i+n(((((((((((((((((( investiga#i+n((((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((5 ((((((((((((((((((5 Aporte((((((((((((((((( Aporte(((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((5 ((5 Mar#o te+ri#o(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5 ,lata2or!a Android((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5 /ibertad(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((7 Arquite#tura((((((((((((((((( Arquite#tura(((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((((7 ((((((((((7 esarrollo e Apli#a#iones En Android((((((((((((((( Android((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((89 (((((((((((((((((89 ,lata2or!a Arduino((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((8) :o2t;are del Arduino(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((8. /engua1e e ,rogra!a#i+n((((((((((((((( ,rogra!a#i+n(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((85 (((((((((((((((((((((((((((85 "un#iones B ((((((((((9>
1:
PROTOCOLO DE INVESTIGACIÓN Contenido
$o!bre del pro%e#to& Ar!'sense((((((((((((((( Ar!'sense(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((() ((((((((((((((((((((((((((((((((() Resu!en((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((() *ntrodu##i+n((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((() Ante#edentes del proble!a((((((((((((((((( proble!a((((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((() ((((((((((((((((((((((((((((((() Aspe#tos generales de proble!a((((((((((((((( proble!a(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((() (((((((((((((((((((((((((((() ,lantea!iento del proble!a(((((((((((((((( proble!a(((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((- (((((((((((((((((((((((((((((((- Estado del proble!a(((((((((((((((( proble!a(((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((- (((((((((((((((((((((- Al#an#es((((((((((((((((( Al#an#es(((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((. ((((((((((((((((((((((((((((((((. /i!ita#iones(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((. 0b1etivos generales((((((((((((((((( generales(((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((. ((((((((((((. 0b1etivos espe#í2i#os&(((((((((((((((((( espe#í2i#os&((((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((. (((((((((((((((((((((((. "or!ula#i+n de la 3ip+tesis((((((((((((((((((( 3ip+tesis(((((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((4 (((((((((((4 Justi2i#a#i+n(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!portan#ia(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!pa#to so#ial((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4 *!pa#to e#on+!i#o(((((((((((((((( e#on+!i#o((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((((((((5 ((((((((((((((((((((((((5 *!pa#to a!biental(((((((((((((((( a!biental((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((5 ((((((((((((5 *!pa#to te#nol+gi#o((((((((((((((((( te#nol+gi#o((((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((5 ((((((((((((((5 6ialidad de la investiga#i+n(((((((((((((((((( investiga#i+n((((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((((((((((((5 ((((((((((((((((((5 Aporte((((((((((((((((( Aporte(((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((5 ((5 Mar#o te+ri#o(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5 ,lata2or!a Android((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((5 /ibertad(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((7 Arquite#tura((((((((((((((((( Arquite#tura(((((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((((7 ((((((((((7 esarrollo e Apli#a#iones En Android((((((((((((((( Android((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((89 (((((((((((((((((89 ,lata2or!a Arduino((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((8) :o2t;are del Arduino(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((8. /engua1e e ,rogra!a#i+n((((((((((((((( ,rogra!a#i+n(((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((85 (((((((((((((((((((((((((((85 "un#iones B ((((((((((9>
1:
PROTOCOLO DE INVESTIGACIÓN ?@ué Es(((((((((((((((((( Es(((((((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( ((((((((((((((((((((((((((((((((((((((9> (((((((((((((((((((((((((((((9> "un#iona!iento del :ervo!otor En un Arduino((((((((((((((( Arduino(((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( ((((((((((((9. (((9. Ali!enta#i+n(((((((((((((((( Ali!enta#i+n((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((9. (((((((((((((((((((((((((((((((((9. ,arorque((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((94 Control #on Arduino(((((((((((((( Arduino(((((((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((((((((((((((((((94 ((((((((((((((((((((((((94 Moto Redu#tor((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((95 C0$CE,0 E ,AR 0 0R@DE E$ D$ M00RREDC0R((((((((((((((((((((((((((97 Controlar Moto Redu#tor #on Arduino((((((((((((((( Arduino(((((((((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((((((((((((()9 ((((((((((((((((((()9 ,uente H' /97)(((((((((((((((((( /97)((((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((()9 (()9 iseo !etodol+gi#o((((((((((((((((( !etodol+gi#o(((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((((( (((((((((((((((((((((()- (((((((((((()- Estable#i!iento de espe#i2i#a#iones((((((((((((((((((( espe#i2i#a#iones(((((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((((((((((()4 ((((((((((((((((()4 iseo a nivel de siste!a((((((((((((((((((( siste!a(((((((((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((()4 (((((((((((((((((()4 RE:D/A0:(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((>8 iseo detallado(((((((((((((((((( detallado((((((((((((((((((((((((((( (((((((((((((((((( (((((((((((((((((( ((((((((((((((((( ((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((>8 (((((((((((((((((((((((((>8 :iste!a de #o!uni#a#i+n(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((>) :o2t;are((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((>- C0$C/D:*0$E:((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((>. *:CD:*F$(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((>4 RE"ERE$C*A: B*B/*0GRÁ"*CA:((((((((((((( B*B/*0GRÁ"*CA:(((((((((((((((((((((( (((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((>4 (>4
2:
PROTOCOLO DE INVESTIGACIÓN
3:
Nombre del proyecto: Arm-sense ítulo del pro%e#to& Movi!iento !e#
Resmen El presente protocolo de investigación se basa en la creación de una plataforma que pueda pueda funcio funcionar nar en distin distintos tos dispos dispositi itivos vos de control, control, como los brazos brazos mecáni mecánicos cos.. Describe de manera precisa los antecedentes que existe en este campo de la robótica y explica la innovación que se presenta al desarrollar este software. Se detalla de manera clara los pasos necesarios para programar, programar, disear y crear el software y aplicarlo aplicarlo a un sistema dinámico capaz de cumplir con los ob!etivos que planteamos.
Introdcc!"n "ue cerca de los aos #$ cuando la era de los robots y la automatización inicio, con los avances en las computadoras de nivel superior, sistemas operativos optimizados y lengua!es lengua!es de programación programación de alto nivel, permitieron permitieron al %ombre involucrarse involucrarse en el área de imitación robótica. robótica. Desde ese entonces entonces se %an logrado avances sorprendentes sorprendentes que tal tal vez pront pronto o se quede queden n limi limita tados dos.. &uest &uestro ro propó propósi sito to,, sin sin emba embargo rgo,, es meno menoss ambicioso pero totalmente funcional
Antecedentes del problem# Aspe#tos generales de proble!a En la actualidad, dentro de la automatización de procesos se %a %ec%o más com'n el reem reempl plaz azo o de usuar usuario ioss por progr program amas as o softw softwar are e capaz capaz de real realiz izar ar traba traba!o !oss que que representen cierto nivel de comple!idad, con una ocupación de tiempo bastante amplia para lograr llevar a cabo actividad de forma más rápida, eficiente, sin gastar recursos económicos ni arriesgar vidas %umanas en labores más peligrosas. (oy en d)a d)a exis existe ten n muc% muc%os os proye proyect ctos os en el camp campo o de contr control ol digi digita tall de brazos brazos robó robótitico cos, s, braz brazos os prog progra rama mado doss para para real realiz izar ar tare tareas as peri periód ódic icas as de exac exactititu tud d
PROTOCOLO DE INVESTIGACIÓN
4:
determinable, para llevar a cabo la misma acción con el mismo algoritmo *+ mil veces diarias, diarias, que de ninguna manera traba!adores traba!adores lo lograr)an lograr)an en # %oras de traba!o corrido debido al cansancio. Estos brazos programados son de gran ayuda y permiten %acer más rápido, eficiente y barato el proceso, aparte de que permite incluso terminar más producto en menos tiempo. Sin embrago una pregunta importante para la sociedad actual es -u sucede con los traba!os que son riesgosos para el personal %umano y que no ocupa instrucciones repetitivas, sino más bien, que ocupa de la capacidad de pensar y llevar a cabo el traba!o con el razonamiento %umano/ 0enemos, solo por poner un e!emplo real, el uso de gr'as de carga, retroexcavadoras ocupadas ocupadas en zonas donde su uso es riesgoso riesgoso por el tipo de suelo, o gr'as para mover escombros en lugares de desastres naturales. Estas situaciones más reales diarias tenemos la problemática de no ser predecibles y deben de e!ecutarse de la me!or manera posible. 1ara tales situaciones conviene la manipulación de brazos robóticos con un usuario %umano que este a una distancia considerable a la cual puede observar me!or la situación, ya sea mediante v)a inalámbrica o totalmente alámbrica. Dentro de esta categor)a, el mando a distancia de brazos robóticos, se sit'a en fase de pruebas, mediante sensores que pueden resultar con un precio alto y una adaptación rustica en aspectos de movimiento, consiguiendo brazos que se mueven a pasos, debido ya sea al uso de motores a pasos, o la forma como se leen y traducen los datos y que resultan complicados. 2laro está, que si necesitamos solo mover una gr'a no ocuparemos demasiados sensores y actuadores. En diversas universidades, se %an realizado proyectos de control para brazos robóticos con !oystic3s digitales basados en dispositivos móviles con 4ndroid como sistema operativo. 4un cuando esta propuesta es atrayente, %ace complicado el mane!o de forma fluida del brazo por lo que necesita de muc%as me!oras en las cuales %ay que redisear. Es aceptable aceptable por el el avance que que representa, representa, pero pero en aplicacio aplicaciones nes más directas directas fuera del del labor laborat ator orio io se move mover) r)a a un poco poco grot grotesc esco, o, debid debido o al movi movimi mient ento o que repre represe sent nta. a. 4vances más fruct)feros %an conseguido controlar los brazos robóticos con los sensores de un Smartp%one, consiguiendo más movilidad y ergonomicidad. Esto representa
PROTOCOLO DE INVESTIGACIÓN
5:
cierto avance más atrayente para la aplicación de manera directa. Estos, llamados brazos replicadores, los cuales logran imitar el movimiento de un brazo, quizás no de manera fluida. Sin embrago, a pesar de los muc%os proyectos que se %an basado en los sensores de 4ndroid, aun no se %a logrado llegar a una convergencia en cuanto alguna plataforma de control digital adecuada para todo tipo de brazos o sistemas posibles, en los cuales se necesite un operario %umano pero que este a distancia.
Pl#nte#m!ento del problem# 1osibilidad de movimiento fluido basado en sensores de proximidad y sensores de presión para imitar la dinámica de un brazo biológico.
Estado del proble!a 5a replicación de movimientos biológicos naturales de un brazo %umano es un asunto complicado desde el punto de vista mecánico. 6nvolucra variables de tres tipos7 mecánicas, sensorial, 2omo %emos notado en la sección anterior, en el control digital de brazos robóticos, no existe una plataforma estándar en la cual pueda llevarse a la acción y la aplicación directa en una empresa. Se nota, por lo tanto, la necesidad de un software que sirva como base para el control de un brazo robótico o algo parecido8 un programa estructurado de tal manera que permita mane!ar de manera funcional y operativa, tanto a un brazo, una gr'a, maquinaria pesada, automóviles, etc. de manera efectiva y fluida. 1ara esto, es necesario contar con sensores que permitan la lectura de datos, un computador que os pueda leer y traducir de forma rápida, precisa y fluida, y un procesador que los pueda e!ecutar mediante los actuadores %idráulicos, neumáticos o elctricos para dar como resultado un movimiento uniforme y armónico de forma más parecida al movimiento bilógico %umano. De esta forma se puede llegar a un estándar, o una plataforma básica, basada en instrumentos de precio accesible y con lengua!e de programación que sea fiable y conciso.
PROTOCOLO DE INVESTIGACIÓN
6:
4s), nuestro problema se basa en la necesidad de una multiplataforma estándar que pueda ser aplicada a diversos instrumentos mecánicos para controlarlos de forma inalámbrica mediante sensores, con un lengua!e de programación que permita ser compatible, independiente del tipo de maquinaria que se necesite mane!ar.
Al#an#es • • • •
5legar a un modelo estándar para el uso generalizado del software 5ograr que sea un dispositivo fácil de usar en las aplicaciones 1lataforma compatible en sistemas operativos móviles distintos Se llegue a un control de imitación robótico de un brazo %umano, no solo a un control remoto
/i!ita#iones • •
Solo será un software para el control de ciertos mecanismos Solo se limitara a un brazo robótico con movimientos en *#$9
Ob$et!%os &ener#les 2reación y aplicación de una plataforma interactiva con el usuario en un entorno espacial:mecánico basado en sensores ubicados en un brazo %umano que permiten la extracción de información para ser le)da y aplicada directamente en movimiento por servomotores y moto reductores que den como resultado un movimiento fluido en forma simtrica, idntica y fluida tal como el brazo biológico lo %ace con aplicaciones variadas (
0b1etivos espe#í2i#os: *. 4plicación de la plataforma interactiva 4ndroid, como son7 programación, entrada y salida de datos. +. ;odelamiento de brazo robótico basado en 4pptilización, configuración y programación de sensores ultrasónicos para e!ecución de órdenes en actuadores. ?. >tilización, configuración y programación de giroscopios para e!ecución de órdenes en actuadores. @. >tilización de sensores, servomotores y moto reductores, configurándolos para un movimiento armónico. A. 4plicación de cálculo para el diseo de un brazo robótico, para el modelamiento del mismo, y el algoritmo correcto de programación.
PROTOCOLO DE INVESTIGACIÓN
7:
'orml#c!"n de l# (!p"tes!s 5os dispositivos de control pueden gestionarse mediante un una plataforma interactiva general
)st!*!c#c!"n Existe la necesidad de avanzar y estandarizar ciertos procesos, para que se forme una convergencia en los sistemas de control, llegando a obtener una plataforma que nos permita continuar con más investigaciones sin recurrir de nuevo a buscar una aplicación optima de control. Se debe de establecer un sistema generalizado tal como el arduino %a sido un sistema que permite desarrollar distintas funciones, as) mismo buscamos desarrollar una plataforma que %aga más fácil el desarrollo en nuevos campos de control de brazos robóticos.
*!portan#ia (ace unos aos atrás, la automatización de brazos robóticos con movimientos periódicos era un sistema innovador en empresas a%orrando tiempo, dinero y esfuerzo, pero la problemática solo resuelve lo que las empresas necesitan, no lo que la gente requiere. 4 nivel individual, el contar con este dispositivo, facilitar)a los traba!os de una sola persona, logrando eficientarlo, acercando cada vez más el control total del ser %umano sobre las máquinas y computadoras. 5os antecedentes muestran que se %a podido controlar con dispositivos móviles, brazos robóticos, más aun no se %an adaptado el control de otros dispositivos por la falta de una plataforma estándar que permite brincar de un dispositivo a otro.
*!pa#to so#ial 2on este prototipo se podrá desarrollar pruebas para manipular dispositivos de manera más fluida, como si de un brazo normal se tratase, para %acer posible la realización de traba!os pesados y peligrosos a distancia sin perder la movilidad y la eficiencia.
PROTOCOLO DE INVESTIGACIÓN
8:
*!pa#to e#on+!i#o 4l ser una plataforma interactiva de m'ltiples usos, no se necesitara de otros componentes, solo bastara con conectar de manera correcta y as) tener un acceso directo al control remoto del brazo.
*!pa#to a!biental &o genera un impacto ambiental adverso al ser operado por la fuente que alimente al dispositivo que controlemos (
*!pa#to te#nol+gi#o 4l ser una plataforma relativamente nueva, se llevara a cabo más investigación y el me!oramiento de los brazos robóticos, para %acerlos lo más parecidos a los brazos %umanos.
6ialidad de la investiga#i+n El proyecto, y la investigación, son muy interesantes para continuar con la investigación y un estándar para el control de brazos constituir)a un negocio quizás más adelante que pueda desarrollarse a nivel comercial.
Aporte Se piensa que este proyecto aporta a la sociedad tecnológica, para poder %acer un modelo estándar que pueda servir para controlar cualquier tipo de dispositivo de manera más cómoda para el usuario, aportando de manera directa en el campo cient)fico y la investigación para modificarlo, o adaptarlo a lo que se necesite.
+#rco te"r!co ,lata2or!a Android ?@ué es Android 4ndroid es un sistema operativo inicialmente pensado para telfonos móviles, al igual que iBS, Symbian y Clac3Cerry BS.
PROTOCOLO DE INVESTIGACIÓN
9:
5o que lo %ace diferente es que está basado en 5inux, n n,cleo de s!stem#
oper#t!%o l!bre &r#t!to y mlt!pl#t#*orm# . El sistema permite programar aplicaciones en una variación de ava llamada Dalvi3 4%ora 4F0G. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del telfono como el H1S, Hiroscopio, Sensores, etc.G de una forma muy sencilla en un lengua!e de programación muy conocido como es ava. Esta sencillez, !unto a la existencia de %erramientas de programación gratuitas, %ace que una de las cosas más importantes de este sistema operativo sea l# c#nt!d#d de
#pl!c#c!ones d!spon!bles, que extienden casi sin l)mites la experiencia del usuario.
/ibertad >na de las me!ores caracter)sticas de este sistema operativo es que es completamente libre. Es decir, ni para programar en este sistema ni para incluirlo en un telfono %ay que pagar nada. I esto lo %ace muy popular entre fabricantes y desarrolladores, ya que los costes p#r# l#n.#r n tel/*ono o n# #pl!c#c!"n son my b#$os. 2ualquiera puede ba!arse el código fuente, inspeccionarlo, compilarlo e incluso cambiarlo. Esto da una seguridad a los usuarios, ya que algo que es abierto permite detectar fallos más rápidamente. I tambin a los fabricantes, pues pueden adaptar me!or el sistema operativo a los terminales.
Arquite#tura 5os componentes principales del sistema operativo de son7
•
Apl!c#c!ones7 las aplicaciones base incluyen un cliente de correo electrónico, programa de S;S, calendario, mapas, navegador, contactos y otros. 0odas las aplicaciones están escritas en lengua!e de programación ava.
•
+#rco de tr#b#$o de #pl!c#c!ones7 los desarrolladores tienen acceso completo a los mismos 416s del framewor3 usados por las aplicaciones base. 5a
PROTOCOLO DE INVESTIGACIÓN
10: arquitectura está diseada para simplificar la reutilización de componentes8 cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego %acer uso de esas capacidades su!eto a reglas de seguridad del framewor3G. Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
•
0!bl!otec#s7 4ndroid incluye un con!unto de bibliotecas de 2J2KK usadas por varios componentes del sistema. Estas caracter)sticas se exponen a los desarrolladores a travs del marco de traba!o de aplicaciones de 4ndroid8 algunas son7 System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.
•
Rnt!me de Andro!d7 4ndroid incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lengua!e ava. 2ada aplicación 4ndroid corre su propio proceso, con su propia instancia de la máquina virtual Dalvi3. Dalvi3 %a sido escrito de forma que un dispositivo puede correr m'ltiples máquinas virtuales de forma eficiente. Dalvi3 e!ecuta arc%ivos en el formato Dalvi3 Executable .dexG, el cual está optimizado para memoria m)nima. 5a ;áquina Lirtual está basada en registros y corre clases compiladas por el compilador de ava que %an sido transformadas al formato.dex por la %erramienta incluida MdxM.
•
N,cleo L!n17 4ndroid depende de 5inux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El n'cleo tambin act'a como una capa de abstracción entre el %ardware y el resto de la pila de software.
En siguiente grafico nos ayuda a poder visualizar como es la estructura interna de 4ndroid, y donde se localizan cada uno de sus componentes internos. 4lgo importante que debemos recalcar es que para nuestro proyecto es que desarrollaremos una
PROTOCOLO DE INVESTIGACIÓN
11: aplicación capaz de poder obtener la información generada por los sensores de movimiento de dic%o dispositivo móvil. En pocas palabras nuestra 4plicación se ayudara de Appli#ation "ra!e;or
/ibreries Android Runti!e Ialvi para poder obtener los datos generados por /inuK Lernel y el Hard;are del ispositivo y as) poder tener una posición exacta de donde está ubicado el dispositivo en el espacio.
PROTOCOLO DE INVESTIGACIÓN
12: esarrollo e Apli#a#iones En Android El Des#rrollo de Pro&r#m#s p#r# Andro!d se %ace %abitualmente con el lengua!e de programación similar a ava y el con!unto de %erramientas de desarrollo SDN SDN, Software Development NitG, pero %ay otras opciones disponibles. El :L I:o2t;are evelop!ent Lit de 4ndroid, incluye un con!unto de %erramientas de desarrollo. 2omprende un depurador de código, biblioteca, un simulador de telfono basado en @EMD , documentación, e!emplos de código y tutoriales. 5as plataformas de desarrollo soportadas incluyen /inuK 5ista de Distribuciones H&>J5inux cualquier distribución modernaG, Ma# 0: o posterior, y Nindo;s 4 o posterior. 0ambin puede utilizarse el propio sistema 4ndroid. (oy en d)a contamos con una versión nueva del SDN de Hoogle para el desarrollo de aplicaciones para 4ndroid. Android :tudio es el entorno de desarrollo integrado oficial y multiplataforma desarrollado espec)ficamente para desarrollar aplicaciones para 4ndroid, Casado en 6ntelli 6DE4 de etCrains, cuyo primer lanzamiento se %a realizado en el mes de mayo de +$*=.
PROTOCOLO DE INVESTIGACIÓN
13: ,lata2or!a Arduino Ardino es na plataforma de !ard"are de código abierto, basada en na sencilla placa con entradas y salidas, analógicas y digitales, en n entorno de desarrollo #e está basado en el lenga$e de programación %rocessing. &s n dispositi'o #e conecta el mndo fsico con el mndo 'irtal, o el mndo analógico con el digital (
5as placas 4rduino son pequeos ordenadores con los que puedes leer información de diferentes sensores, as) como controlar luces, motores y muc%as otras cosas. 5a gran mayor)a de los sistemas que nos rodean son ordenadores de diferentes tamaos. 5os ordenadores no necesitan tener teclado ni pantalla.
El %ardware consiste en una placa con un micro controlador 4tmel 4LF y puertos de entradaJsalida. 5os microcontroladores más usados son7
•
4tmega*A#
•
4tmega=+#
•
4tmega*+#$
•
4tmega#
1or su sencillez y ba!o coste que permiten el desarrollo de m'ltiples diseos. 1or otro lado el software consiste en un entorno de desarrollo que implementa el lengua!e de programación ,ro#essing Niring y el cargador de arranque que es e!ecutado en la placa.
PROTOCOLO DE INVESTIGACIÓN
14: 4rduino se puede utilizar para desarrollar ob!etos interactivos autónomos o puede ser conectado a software tal como 4dobe "las%, 1rocessing, ;axJ;S1, 1ure Data. 5as placas se pueden montar a mano o adquirirse. El integrado libre se puede descargar gratuitamente Equipo inicial de 4rduino7 •
David ;ellis
•
0om 6goe
•
Hianluca ;artino
•
David 2uartielles
•
;assimo Canzi
Hard;are del Arduino Bosque1o igital % ,artes e Dn Arduino = :us Co!ponentes
,artes Reales de un Arduino
PROTOCOLO DE INVESTIGACIÓN
15:
abla Co!parativa e Cara#terísti#as e /as ) Mi#ro#3ips M
Volt#$e oper#t!%o Volt#$e
ATmeê
ATmeȴ
ATme
@L
@L
@L
O:*+ L
O:*+ L
O:*+ L
A:+$ L
A:+$ L
A:+$ L
de
entr#d# recomend#do Volt#$e
de
entr#d# l8m!te Cont#ctos de entr#d#
y
s#l!d# d!&!t#l
*?
A *?
A @?
proporcionan 1P;G
proporcionan 1P;G
proporcionan 1P;G
A
A
*A
Cont#ctos de entr#d# #n#l"&!c#
*?
PROTOCOLO DE INVESTIGACIÓN
16: Intens!d#d de corr!ente +emor!# 'l#s(
?$ m4 *ANC
?$ m4 +NC =+NC
?$ m4 +NC *+#NC
reservados para el reservados para el reservados para el bootloaderG
bootloaderG
bootloaderG
SRA+
* NC
+ NC
# NC
EEPRO+
@*+ bytes
* NC
? NC
*A ;(z
*A ;(z
*A ;(z
'recenc!# de relo$
?NC
:o2t;are del Arduino 1uesto que 4rduino, a diferencia del ordenador que usas normalmente, no tiene pantalla ni teclado, se necesita un programa externo e!ecutado en otro ordenador para poder escribir programas para la placa 4rduino. Qste software es lo que llamamos Arduino *E . 6DE significa O*ntegrated
evelop!ent Environ!entP IEntorno de esarrollo *ntegrado, y es un trmino com'n para llamar a este tipo de desarrollo de software. Escribes tu programa en el 6DE, lo cargas en el 4rduino, y el programa se e!ecutará en la placa.
Inter*#. Gr9*!c# del IDE
PROTOCOLO DE INVESTIGACIÓN
17:
El 6DE de
4rduino es
muy sencillo y parecido a 1rocessing. (ay una sencilla barra de %erramientas que puedes utilizar para7
•
Lerificar si tu programa va a funcionar.
•
2argar el programa a la placa de 4rduino.
•
2rear un programa nuevo.
•
4brir un programa.
•
Huardar el programa en el disco duro del ordenador.
PROTOCOLO DE INVESTIGACIÓN
18: •
En la parte derec%a de la barra de %erramientas se encuentra el ;onitor SerialG abre una ventana de comunicación con la placa 4rduino.
5as placas 4rduino se conectan a tu ordenador utilizando un cable >SC, al igual que cualquier otro perifrico, como la impresora, el teclado o incluso, un mando de video!uegos. 4rduino necesita estar conectado al ordenador a travs del cable >SC para cargar un programa. El cable >SC sirve tambin para suministrar energ)a a la placa, pero tambin puedes alimentarla usando una fuente de energ)a externa, como una bater)a o un transformador apropiado.
/engua1e e ,rogra!a#i+n El microcontrolador en la placa 4rduino se programa mediante el lengua!e de programación 4rduino basado en Niring G y el entorno de desarrollo 4rduino basado en ,ro#essing G. 5os proyectos %ec%os con 4rduino pueden e!ecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de %acerlo y comunicar con diferentes tipos de software. 5a plataforma 4rduino se programa mediante el uso de un lengua!e propio basado en el popular lengua!e de programación de alto nivel ,ro#essing . Sin embargo, es posible utilizar otros lengua!es de programación y aplicaciones populares en 4rduino. 4lgunos e!emplos son7
•
ava
PROTOCOLO DE INVESTIGACIÓN
19: •
"las% mediante 4ctionScriptG
•
1rocessing
•
1yt%on
•
2J2KK
•
Etc.
Esto es posible debido a que 4rduino se comunica mediante la transmisión de datos en formato serie que es algo que la mayor)a de los lengua!es anteriormente citados soportan. 1ara los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensa!es enviados por ambas partes para permitir una comunicación fluida. Es bastante interesante tener la posibilidad de interactuar 4rduino mediante esta gran variedad de sistemas y lengua!es puesto que dependiendo de cuales sean las necesidades del problema que vamos a resolver podremos aprovec%arnos de la gran compatibilidad de comunicación que ofrece.
"un#iones B
Delimitadores78, R
•
2omentarios7 JJ, JT TJ
•
2abeceras7 Udefine, Uinclude
•
Bperadores aritmticos7 K, :, T, J, V
•
4signación7 W
PROTOCOLO DE INVESTIGACIÓN
20: •
Bperadores de comparación7 WW XW, Y, Z, YW, ZW
•
Bperadores Cooleanos7 [[, \\, X
•
Bperadores de acceso a punteros7 T, [
•
Bperadores de bits7 [, \, ], ^, YY, ZZ
•
Bperadores compuestos7
6ncremento y decremento de variables7 KK, :: 4signación y operación7 KW, :W, TW, JW, [W, \W
Estru#turas e Control •
2ondicionales7 if, if...else, switc% case
•
Cucles7 for, w%ile, do... w%ile
•
Cifurcaciones y saltos7 brea3, continue, return, goto
6ariables En cuanto al tratamiento de las variables tambin comparte un gran parecido con el lengua!e 2.
Constantes •
H*GH/0N& representan los niveles alto y ba!o de las seales de entrada y salida. 5os niveles altos son aquellos de = voltios o más.
•
•
*$,D0D,D 7 entrada o salida. *#lse *#lso;: Seal que representa al cero lógico. 4 diferencia de las seales (6H(J5BP, su nombre se escribe en letra min'scula.
PROTOCOLO DE INVESTIGACIÓN
21: •
true Iverdadero& Seal cuya definición es más amplia que la de false. 2ualquier n'mero entero diferente de cero es MverdaderoM, seg'n el álgebra de Coole, como en el caso de :+$$, :* o *. Si es cero, es MfalsoM.
ipos e atos •
void, boolean, c%ar, unsigned c%ar, byte, int, unsigned int, word, long, unsigned long, float, double, string, array.
E: digital •
pin;odepin, modoG
•
digitalPritepin, valorG
•
int digitalFeadpinG
E: anal+gi#a •
analogFeferencetipoG
•
int analogFeadpinG
•
analogPritepin, valorG
Mate!
minx, yG, maxx, yG, absxG, constrainx, a, bG, mapvalor, from5ow, from(ig%, to5ow, to(ig%G, powbase, exponenteG, sqrtxG
rigono!etría •
sinradG, cosradG, tanradG
$ú!eros aleatorios •
randomSeedsemillaG, long randommáxG, long randomm)n, máxG
PROTOCOLO DE INVESTIGACIÓN
22: Co!uni#a#i+n por puerto serie 5as funciones de mane!o del puerto serie deben ir precedidas de la palabra MSerialM aunque no necesitan ninguna declaración en la cabecera del programa. 1or esto se consideran funciones base del lengua!e. Estas son las funciones para transmisión serial7
•
beginG, availableG, readG, flus%G, printG, printlnG, writeG
E1e!plo sen#illo de progra!a#i+n en Arduino El primer paso antes de comprobar que la instalación es correcta y empezar a traba!ar con 4rduino, es usar e!emplos prácticos que vienen disponibles con el dispositivo. Se recomienda abrir el e!emplo _led`blin3 el cual crea una intermitencia por segundo en un led conectado en el pin *=. El código necesario es el siguiente7
Q de2ine /E,*$ 8) void setup I S A#tivado del #onta#to 8) para salida digital pinMode I/E,*$T 0D,DU V Bu#le in2inito void loop I S En#endido del diodo /E enviando una seal alta digitalNrite I/E,*$T H*GHU ie!po de espera de 8 segundo I8WWW !s
PROTOCOLO DE INVESTIGACIÓN
23: dela% I8WWWU Apagado del diodo /E enviando una seal ba1a( digitalNrite I/E,*$T /0NU ie!po de espera de 8 segundo dela% I8WWWU V
Bibliote#as o /ibrerías en Arduino
:erial 5ectura y escritura por el puerto serie.
EE,R0M 5ectura y escritura en el almacenamiento permanente.
•
readG, writeG
"irmata Es una biblioteca de comunicación con aplicaciones informáticas utilizando el protocolo estándar del puerto serie.
/iquidCr%stal 2ontrol de 52Ds con c%ipset (itac%i (D??O#$ o compatibles. 5a biblioteca soporta los modos de ? y # bits.
:ervo
PROTOCOLO DE INVESTIGACIÓN
24: Ciblioteca para el control de servo motores. 4 partir de la versión $$*O de 4rduino la biblioteca soporta %asta *+ motores en la mayor)a de las placas 4rduino y ?# en la 4rduino ;ega. Estos son los comandos usados7
•
attac%G, writeG, write;icrosecondsG, readG, attac%edG, detac%G
:o2t;are:erial 2omunicación serie en contactos digitales. 1or defecto 4rduino incluye comunicación sólo en los contactos $ y * pero gracias a esta biblioteca puede realizarse esta comunicación con los restantes.
:tepper 2ontrol de motores pasó a pasos unipolares o bipolares.
•
Steppersteps, pin*, pin+G, Steppersteps, pin*, pin+, pin=, pin?G, setSpeedrpmG, stepstepsG.
Nire Env)o y recepción de datos sobre una red de dispositivos o sensores mediante 0wo Pire 6nterface 0P6J6+2G. 5as bibliotecas atri* y Sprite de Piring son totalmente compatibles con 4rduino y sirven para mane!o de matrices de diodos 5ED. 0ambin se ofrece información sobre diversas bibliotecas desarrolladas por diversos colaboradores que permiten realizar muc%as tareas.
PROTOCOLO DE INVESTIGACIÓN
25: Act#dores ?@ué Es >n :ervo!otor tambin llamado Ser%oG es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dic%a posición. >n servomotor es un motor elctrico que puede ser controlado tanto en velocidad como en posición. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y ba!a inercia que caracteriza a estos dispositivos.
Cara#terísti#as >n Ser%omotor es un motor especial al que se %a aadido un sistema de control tar!eta electrónicaG, un potenciómetro y un con!unto de engrana!es. 2on anterioridad los servomotores no permit)an que el motor girara =A$ grados, solo aproximadamente *#$8 sin embargo, %oy en d)a existen servomotores en los que puede ser controlada su posición y velocidad en los =A$ grados. 5os servomotores son com'nmente usados en modelismo como aviones, barcos, %elicópteros y trenes para controlar de manera eficaz los sistemas motores y los de dirección.
6ista *nterior 6ista EKterior En la siguiente i!agen pode!os observar las di2erentes partes que #on2or!an un servo!otor( En ellas pode!os en#ontrar las piezas !
PROTOCOLO DE INVESTIGACIÓN
26:
2< ;otor de 2orriente Directa. 6< uegoJSistema de Engrana!es. 5< "lec%a o E!e. =< Fesistencia Lariable En algunos casos EncoderG. >< 0ar!eta 2ontroladora 6ndica el giro del E!eG.
"un#iona!iento del :ervo!otor En un Arduino El
servomotor
tiene
=
cables,
4limentación,
;asaJ0ierra
5os colores son los siguientes7
•
Ro$o : 4limentación &ormalmente @ L aunque pueden ser masG.
•
Ne&ro o +#rr"n 0ierra.
y
la
seal.
PROTOCOLO DE INVESTIGACIÓN
27: •
0l#nco o N#r#n$# : Seal de 2ontrol pulso enviado al servomotorG
1ara controlar el servomotor se le env)a pulsos cada +$ ms es decir @$(z. 5a anc%ura del pulso es lo que codifica el ángulo de giro, es decir lo que se conoce como 1P; 2odificación por 4nc%o de 1ulsoG. Esta anc%ura var)a seg'n el Servomotor pero normalmente va entre $.@ y +.@ ms aunque pueden variar.
Ali!enta#i+n Dependiendo del tamao del servo y su consumo es posible que no puedas alimentarlo desde tu placa 4rduino, en ese caso es necesario una fuente de @L independiente para poder moverlo.
,arorque Sobre el peso que pueden levantar se puede deducir con el 1arJ0orque del servo. &ormalmente los servos indican el 1arJ0orque que pueden realizar para un servo estándar suele ser @3gJcm es decir puede mover @3g a * cm de distancia. En caso de querer mover lo a @ cm el servo solo podrá mover *3g.
Control #on Arduino 4 continuación vamos a ver cómo controlar en 4rduino un servomotor. 1ara ello iniciamos la aplicación de 4rduino y pulsamos en S?etc(:ZImport L!br#ry :ZSer%o 2on esto incorporamos la librer)a, aunque tambin podemos escribir el texto directamente. >na vez %ec%o esto ya podemos usar la librer)a Servo.
PROTOCOLO DE INVESTIGACIÓN
28: 4%ora vamos a definir nuestro ob!eto Servo, esto es como definir una variable de tipo int o float, pero un poco más completa con funciones y campos que le pertenecen. 6nicializarlo,
para
ello
usaremos
la función attac%pin,min,maxG los parámetros de esta función son el pin.
•
2asi cualquier pin del 4rduino puede controlar un Servomotor y no es necesario que sea uno de los 1P;.
•
5os dos siguientes parámetros son opcionales e indican cual es el anc%o de pulso en microsegundos para $9 y para *#$9 por defecto @?? y +?$$.
Not#: En las placas que no son la ;ega la utilización de la librer)a Servo in%abilita el 1P; en los pines y *$, se usen estos pines o no como servo. E!emplo7 >saremos el pin . El siguiente paso consiste en enviarle el anc%o de pulso al servo con el ángulo que queremos. En esta primera parte le enviaremos un ángulo constante por e!emplo $9. I lo visualizaremos el anc%o de pulso en el osciloscopio. Donde en la parte inferior se puede ver el anc%o de pulso y como el periodo es de +$ ms aproximadamente.
PROTOCOLO DE INVESTIGACIÓN
29:
Moto Redu#tor 5os +otor Redctores mecánicos de velocidad se pueden contar entre los inventos más antiguos de la %umanidad y a'n en estos tiempos del siglo 6 se siguen utilizando prácticamente en cada máquina que tengamos a la vista, desde el más pequeo +oto
Redctor capaz de cambiar y combinar velocidades de giro en un relo! de pulsera, cambiar velocidades en un automóvil, %asta enormes +otor Redctores capaces de dar tracción en buques de carga, molinos de cemento, grandes máquinas cavadoras de t'neles o bien en molinos de caa para la fabricación de az'car. 4 continuación se dan los principios básicos de un +oto Redctor de velocidad7
•
Supongamos que la rueda _4 de la fig.+ tiene un diámetro de @ cm. Su per)metro será entonces de @ x =.*?*A W *@.O* cm.
•
El per)metro es la longitud total del envolvente de la rueda.
•
>na rueda _C de *@ cm de diámetro y ?O.*= cm de per)metro *@ x =.*?*AG está %aciendo contacto con el per)metro de la rueda _4 fig. +.
PROTOCOLO DE INVESTIGACIÓN
30: En la fig =, cuando gira la rueda _4 %ará que a su vez gire la rueda _C pero sucederá que por cada tres vueltas que d _4, la rueda _C solamente dará una vuelta, esto es, el diámetro de _C dividido por el diámetro de _4 *@J@ W =G. Este n'mero = será la relación de reducción de este ;oto Feductor elemental y se indica como =7*. 2on esta simple combinación se %a logrado disminuir la velocidad de rotación de la rueda _C a la tercera parte de la velocidad de la rueda _4. Si a la combinación de ruedas antes descrito encadenamos otras ruedas adicionales entonces cada vez lograremos una velocidad cada vez menor %asta donde sea necesario para la aplicación y puede ser A7*, =$7*, *$$7* o a'n mayor para lograr velocidades muy pequeas que se pudieran necesitar y que, por e!emplo, la rueda _4 tuviera que girar cientos de veces para que la 'ltima rueda girara una sola vez.
CONCEPTO DE PAR O TOR@E EN N +OTORREDCTOR El _torque o _par es una fuerza de giro8 1or e!emplo la fuerza de giro de la flec%a de salida del +oto Redctor 8 es tambin la fuerza de giro en la flec%a de un motor. &o es simplemente una fuerza expresada en 3ilogramos8 tampoco es una potencia en (1. Es una fuerza de giro cuyas unidades son Lilogra!os Metro( Este torque o par mezclado con un tiempo de realización, aplicación o e!ecución es7
PROTOCOLO DE INVESTIGACIÓN
31:
>n motor elctrico tiene una determinada potencia en (1 y tiene una cierta velocidad de operación a la cual gira la flec%a de salida, por e!emplo *#$$ Fevoluciones por ;inuto F1;G. Estas dos caracter)sticas7 6elo#idad y ,oten#ia llevan apare!ado un cierto _torque o _par que puede liberar el motor. Es precisamente el _par lo que permitirá que podamos o no girar una determinada carga, cuanto más alto el _par más grande será la carga que podamos girar. El que tan rápido podamos %acerlo dependerá de la potencia del +oto Redctor . 5as dos caracter)sticas están interrelacionadas y dependen una de la otra. Esta combinación de potencia, par y velocidad en un motor o motor reductor está regida por la siguiente fórmula7
PROTOCOLO DE INVESTIGACIÓN
32:
2omo podrá verse en la fórmula, para una potencia dada, cuanto más ba!a sea la velocidad final de giro de la flec%a del motor reductor, más alto será el par aunque la potencia siga siendo la misma. 6nversamente7 2uanta más alta sea la velocidad final del reductor o motor reductor, tanto más ba!o será el par aun cuando la potencia sea la misma.
•
Calclemos el par de salida #e pede proporcionar n otor edctor de - %, con relación de redcción de -/0+. &l motor es de 1 polos con na 'elocidad nominal de +2- %.
Si el motor es de *O@$ F1; de salida y el Feductor es relación de reducción @7* quiere decir que la velocidad de salida será de7 Lelocidad a la salida del reductor W *O@$ J @ W +.AA F1; : Entonces el par disponible será de7
Controlar Moto Redu#tor #on Arduino
PROTOCOLO DE INVESTIGACIÓN
33: El ;oto Feductor tiene en su interior un motor de corriente continua D2G, este es un dispositivo sencillo con dos cables conectados a los cepillos contactosG que controlan el campo magntico de las bobinas que impulsa un n'cleo metálico inducidoG. 5a dirección de rotación puede ser invertida por la inversión de la polaridad de la tensión en los contactos. En este e!emplo veremos el control de un motor usando un transistor o un circuito de control externo llamado 1uente (. >sando 4rduino y un puente (:5+=D podemos implementar la conexión. El integrado L6B5D incluye cuatro circuitos para mane!ar cargas de potencia media, en especial pequeos motores y cargas inductivas, con la capacidad de controlar corriente %asta A$$ m4 en cada circuito y una tensión entre ?,@ L a =A L. El integrado permite formar, entonces, dos pentes completos, con los que se puede realizar el mane!o de dos motores.
,uente H' /97) Conectemos a Ardino y el oto edctor a tra'4s del integrado L5/3D de esta forma0
PROTOCOLO DE INVESTIGACIÓN
34: >n punto a tomar en cuenta es el 1P; plse6"idt! modlation G es una tcnica en la que se modifica el ciclo de traba!o de una seal periódica una senoidal o una cuadradaG, para controlar la cantidad de energ)a que se env)a a una carga, la mayor)a de los controladores sólo atacan el a!uste de velocidad y no consideran el torque el cual puede permitir el acelerarJdesacelerar a mayor precisión.
&ormalmente entre más grande yJo pesado sea un motor posee mayor torque. >na vez implementado y entendido la parte f)sica podemos abordar la parte lógica o software.
C+digo "uente % es#rip#i+n de Cada Bloque del ,rogra!a( JT
PROTOCOLO DE INVESTIGACIÓN
35: T Crus%ed`(`Cridge s3etc% Tcomandos desde puero serie para control de direccion y velocidad T$ a para la velocidad tomando a $ apagado, maxima velocidad T K y para asignar la direccion TJ const int en1in W @8 JJ P+ se conect# #l p!n 2 del pente- const int in*1in W O8 JJ Entr#d# 6 del pente- const int in+1in W ?8 JJ Entr#d# del pente- void setupG JJ In!c!#l!.# y prep#r# los %#lores R Serial.beginA$$G8 JJAbre el perto ser!e # B377 bps pin;odein*1in, B>01>0G8 JJCon*!&r# !n2P!n como s#l!d# pin;odein+1in, B>01>0G8 JJCon*!&r# !n6P!n como s#l!d# Serial.println_Speed $:G or K to set directionG8 JJ Impr!me en l# consol# perto serie void loopG JJL# *nc!on loop se e$ect# consect!%#mente R JJperm!t!endole #l pro&r#m# %#r!#r y responder if Serial.availableGG R JJ S! el perto ser!e est# d!spon!bleF c%ar c% W Serial.readG8 JJ%#r!#ble t!po c(#r desde perto ser!#l ifc% ZW $ [[ c% YW G JJ S! c( es n nmeroF R int speed W mapc%, $, , $, +@@G8 JJ Re-m#pe# n nmero desde n r#n&o # otro analogPriteen1in, speedG8 JJ$ a $ a +@@ Serial.printlnspeedG8 JJEscr!be el %#lor #n#lo&!co P+ enP!n else if c% WW KG JJ S! el c#r#cter es H R JJel motor #%#n.# Cloc?J!se Serial.println_2PG8 digitalPritein*1in,5BPG8 digitalPritein+1in,(6H(G8
PROTOCOLO DE INVESTIGACIÓN
36: else if c% WW :G JJ S! el c#r#cter es K R JJel motor #%#n.# ConterCloc?J!se Serial.println_22PG8 digitalPritein*1in,(6H(G8 digitalPritein+1in,5BPG8 else JJC#l!er otro c#r#cter es om!t!do R Serial.print_>nexpected c%aracter _G8 Serial.printlnc%G8
&l &$emplo Anterior pede ser tili7ado como 8ase para poder Controlar otores CC o oto edctores con n Ardino
D!seMo metodol"&!co 5a metodolog)a de diseo se apega a la descrita por el enfoque mecatronico national 6nstrumens corporation, +$*=G, que se resume en el siguiente grafico
PROTOCOLO DE INVESTIGACIÓN
37:
Diseo concurrente de los diversos sistemas de un dispositivo mecatrónico
5a idea básica es un proceso de diseo concurrente y sinrgico de los sistemas electrónico, mecánico, de cómputo y de control soportado generalmente por %erramientas 24D y prototipos virtuales. 5os pasos a seguir dentro de este diseo concurrente son los indicados en la figura + Colton +$$AG. 5a etapa * %a quedado descrita con la !ustificación y los ob!etivos, las etapas + y = se detallan en los apartados ?.* y ?.+, respectivamente, las etapas ? y @ se describen en la sección de resultados, ya que los diseos en s), son los productos de este traba!o.
1. Detección de necesidades
2. Estableciien t! de es"eci#caci!n es
Etapas del pro#eso de diseo
$. Dise%! a ni&el de sistea
'. Dise%! detallad!
(. P)!t!ti"! "a)a e&al*ación del sistea
PROTOCOLO DE INVESTIGACIÓN
38: Estable#i!iento de espe#i2i#a#iones 5a orientación didáctica pretendida para el diseo robot, dicta la preferencia de incluir sensores, actuadores, sistemas de comunicación y de control de diversa naturaleza, más que perseguir un diseo adecuado para alg'n otro fin espec)fico. 2on esta premisa, el robot es un móvil con configuración diferencial, que soporta un brazo manipulador Scara y que se controla desde un dispositivo móvil usando un sistema de procesamiento como el arduino8 este 'ltimo puede funcionar como un puente para delegar el control solo a unos cuantos sensores y poder llevar la creación de este brazo más allá de lo que ya existe.
iseo a nivel de siste!a
5a figura = muestra un bosque!o del sistema7 un brazo
manipulador montado sobre un robot móvil, que se comunica mediante F"
radiofrecuenciaG o Cluetoot% a un computador anfitrión, el cuál puede comunicarse a su vez con otros elementos de cómputo. El presente reporte no abarca la programación y comunicación de estos 'ltimos elementos. 5a parte móvil del robot adopta una configuración diferencial, la cual contempla sólo dos ruedas para controlar su desplazamiento y rotación8 esta configuración presenta como venta!a la facilidad de asimilación de su modelo cinemático, como se observa en la figura ?
PROTOCOLO DE INVESTIGACIÓN
39:
Sobre la parte móvil se ubica un brazo manipulador, para el cual se %a seleccionado la configuración Scara figura @G, que se compone
por
tres
articulaciones.
5as
primeras dos articulaciones %ombro y codoG son rotativas, y proporcionan libertad sobre el plano x, yG, la tercera articulación muecaG es de desplazamiento para manipular la coordenada z. En el extremo del tercer eslabón se localizan a manera de efector unas pinzas para las tareas de manipulación.
2on esta base cinemática, la figura A muestra el diagrama a bloques para el sistema electrónico, que tiene como elementos de control un par de tar!etas 4rduino >no figura G. El diseo contempla la utilización de motores a pasos bipolares, motores a pasos unipolares y servomotores, entradas para ** sensores digitales y para ? sensores analógicos, as) como módulos para la comunicación con el computador anfitrión.
PROTOCOLO DE INVESTIGACIÓN
40: El
software de control del sistema electrónico, adoptará la arquitectura mostrada en la figura O. Se observa que lo componen dos partes principales, el código que corre en el computador anfitrión y el código que corre en las tar!etas 4rduino del robot firmwareG. 5a comunicación entre el robot y el computador anfitrión será por radiofrecuencia o por Cluetoot%, ambas con base serial. Se %a diseado un protocolo conformado por bloques de ? bytes desde el computador anfitrión %acia el robot, y respuestas por parte del robot de + bytes. 5a tabla +, muestra la organización de estos bloques. 1ara cerrar esta sección, la figura # muestra los diferentes protocolos de comunicación pretendidos a travs del sistema.
PROTOCOLO DE INVESTIGACIÓN
41:
RESLTADOS iseo detallado :iste!a ele#tr+ni#o
PROTOCOLO DE INVESTIGACIÓN
42: 5a asignación de terminales para las tar!etas 4rduino >no figura G, en modo esclavo y amo se muestran en las tablas = y ?. Si bien, pudo emplearse en el diseo sólo una tar!eta con mayor n'mero de terminales, se optó por un par de tar!etas >no para mostrar el protocolo de comunicación 6+2.
PROTOCOLO DE INVESTIGACIÓN
43:
5a tabla @ muestra los tipos de sensores seleccionados para el prototipo, y la figura *$ muestra el aspecto de algunos de ellos. 4lgunos como el sensor de distancia y el magntico no requieren tar!etas electrónicas, los demás muestran su conexión t)pica en la %o!a de datos.
PROTOCOLO DE INVESTIGACIÓN
44: 5os motores seleccionados se muestran en la figura **. 5as tar!etas para el control de los motores a pasos están basadas en los integrados 5+O y 5+#, este 'ltimo para el caso de motores bipolares. El integrado 5+O comprende la circuiter)a para implementar la lógica de control de motores a pasos unipolares o bipolares. El integrado 5+# contiene dos puentes (, con l es posible controlar motores a pasos bipolares de %asta + 4mperios. 1ara la etapa de potencia de las tar!etas para unipolares, se emplean arreglos de transistores 6F"h??&. 5os detalles del diseo de estas tar!etas se pueden obtener de la %o!a de datos del integrado 5+O.
:iste!a de #o!uni#a#i+n( 5as tar!etas 4rduino, se comunican entre s) empleando el protocolo 6+2, el cual viene incluido en la biblioteca Pire. Este protocolo se emplea com'nmente para comunicar microcontroladores y sus perifricos en sistemas embebidos, y emplea + l)neas de comunicación, SD4 data line implementada en el pin 4?G y S25 cloc3 line, implementada en el pin 4@G. >na de las tar!etas traba!a en modo amo y la otra en modo esclavo. 1or otra parte, con respecto a la comunicación entre el robot y el computador, se %an seleccionado tar!etas de F" y de Cluetoot%. 5os módulos de comunicación F" figura *+G, tienen como elemento medular los circuitos integrados 0F;:?==:50 y SD;:>SC: -S*:S ambos de 56&8 el primero de ellos implementa propiamente la comunicación
PROTOCOLO DE INVESTIGACIÓN
45: F" y el segundo es un módulo >SC. En el caso de la comunicación Cluetoot%, se emplea el módulo (2:$A de la firma Pavesen, el cual sólo puede asumir el rol de esclavo figura *=G.
A#tuador
:ervo!otor
Class
Class
Ca!pos
A#tuador Ca!pos
• • •
Estado Grupo *
,ropiedades
:o2t;are
• • •
5as figuras *? detalle del
el
software.
describe
las
Estado Grupo *
Métodos • • • •
A#tuador B%te alto B%te ba1o Get b%te W
• •
Angulo 6elo#idad
,ropiedades • •
Angulo velo#idad
Métodos
y *@ muestran con
•
apli#a#i+n
diagrama de clases En la figura *@ se
•
#on2i servo!otor
clases Sensor y sus
PROTOCOLO DE INVESTIGACIÓN
46: clases derivadas SensorDigital y Sensor 4nalógico, as) como la clase base 4ctuador y sus clases derivadas ;otor141 y Servo;otor. En la figura *@ se muestra la clase 2omunicación y la clase Fobot. Esta 'ltima está compuesta por todas las anteriores. 0ambin se muestran las enumeraciones que fungen como propiedades de sensores y actuadores
Motor ,a, Class A#tuador Ca!pos • • • • • •
ura#i+n "re# pulsos ,ulsos :entidos a!ao ,aso
"igura 8>( etalle de las #lases :ensorT A#tuador % #lases derivadas(
,ropiedades • • • •
ura#i+n "re# pulsos :entido a!ao paso
Métodos • • •
Apli#a#i+n Con2igura#i+n Gel b%te
"igura *@. Detalle de las clases 2omunicación, Fobot y enumeraciones empleadas
PROTOCOLO DE INVESTIGACIÓN
47: CONCLSIONES Se %a presentado el diseo y desarrollo de un robot con una arquitectura orientada %acia actividades didácticas para estudiantes de ingenier)a. Se %a propuesto un diseo que involucra diversos sensores, actuadores y sistemas de comunicación. Se %an implementado diseos de tar!etas controladoras para motores a pasos. Se %a organizado el software de control en bibliotecas para el robot y para el computador anfitrión, y se %a probado el diseo con la implementación de un prototipo. -ueda como traba!o futuro la implementación del control del robot desde dispositivos móviles, empleando al computador anfitrión como un puente. Este traba!o contribuye al desarrollo de la robótica didáctica aplicada en la ingenier)a
DISCSIÓN El lector que se %a visto involucrado en el proceso de diseo y construcción de cualquier mecanismo automatizado reconoce la comple!idad involucrada, ya que deben confluir diversos conocimientos y %abilidades para lograr tal fin. Estos conocimientos y %abilidades son demandados fuertemente al ingeniero por su entorno laboral, y son tambin desarrollados de gran manera al realizar el proyecto planteado. En 5yle D. "eisel, "eisel, [ 1eterson, +$$+G se plantean *= ob!etivos fundamentales de los laboratorios instruccionales de ingenier)a, los cuáles a !uicio personal el proyecto planteado involucra el desarrollo de todos ellos. 1or otra parte, el traba!o presentado puede servir como punto de partida para traba!os similares. "inalmente, existe una diferencia fundamental entre que el estudiante compre su robot o lo construya, en el primer caso, consume tecnolog)a, en el segundo la genera.
PROTOCOLO DE INVESTIGACIÓN
48: RE'ERENCIAS 0I0LIOGR'ICAS 5ego. *$ de Septiembre de +$*+G. Fecuperado el *@ de 4gosto de +$*+, de O. %ttp7JJmindstorms.lego.com 4liane, &., [ Cemposta, S. +$$#G. >na experiencia de aprendiza!e basado en proyectos en una asignatura de robótica. 6EEE:F604, O*:OA. 4limisis, D. +$$G. = years of !oint wor3 in educational robotics7 t%e 0EFE2o1 pro!ect. 5essons 5earnt "rom 0%e 0erecop 1ro!ect and &ew 1at%ways 6nto Educational Fobotics págs. *:?G. 4t%ens7 4S1E0E. 4limisis, D., ;oro, ;., 4rlegui, ., 1ina, 4., "rangou, S., [ 1apani3olau, N. +$$OG. Fobotics [ 2onstructivism in Education7 t%e 0EFE2o1 proyect. Eurologo +$$O. Cratislava. 4ngulo >sategui, . ;., Fomero Iesa, S., [ 4ngulo ;art)nez, 6. +$$+G. ;icrobótica, Colton, P. +$$AG. ;ecatrónica7 Sistemas de control electrónico en la ingenier)a mecánica y elctrica. ;xico7 4lfaomega. Nelly, F., [ Santibaez, L. +$$=G. 2ontrol de movimiento de robots manipuladores. ;adrid7 1earson Education. Bllero Caturone, 4. +$$OG. Fobótica7 ;anipuladores y Fobots ;óviles. ;xico7 4lfaomega. Fussell, S. . +$$?G. 6nteligencia 4rtificial, >n enfoque moderno. Espaa7 1rentice (all. &ational 6nstruments 2orporation. $= de 4bril de +$*=G. 6ntroducción a mecatrónica. ;xico, D."., ;xico, ;xico. Craude, E. . +$$@G. 6ngenier)a de software. >na perspectiva orientada a ob!etos. ;xico7 4lfaomega. 4rduino. ** de "ebrero de +$*=G. 4rduino. Fecuperado el *@ de unio de *=, de 4rduino7 %ttp7JJwww.arduino.ccJ