UNIVERSIDADE DO VALE DO ITAJA CENTRO DE CINCIAS TECNOLGICAS DA TERRA E DO MAR CURSO DE CINCIA DA COMPUTAO
ROBTICA ROB QUADRPEDE UTILIZANDO ARDUINO
rea de Robtica
por
Chrisnamurth Kretzschmar
Relatrio apresentado Banca Examinadora do Trabalho Tcnico-cientfico de Concluso do Curso de Cincia da Computao para anlise e aprovao. Orientador: Adhemar Maria do Valle Filho, Dr.
Itaja (SC), Novembro de 2012
RESUMO KRETZSCHMAR, Chrisnamurth, Robtica, Rob Quadrpede Utilizando Arduino. Itaja, 2012. 107 folhas. Trabalho Tcnico-cientfico de Concluso de Curso (Graduao em Cincia da Computao) Centro de Cincias Tecnolgicas da Terra e do Mar, Universidade do Vale do Itaja, Itaja, 2012. Atualmente, a sociedade vem se adaptando com os avanos tecnolgicos. J se tornou comum o uso de robs para tarefas diversas, sendo muitos para entretenimento. Para que tal cenrio pudesse se tornar realidade, no decorrer das ltimas dcadas, pesquisadores aprimoraram seus conhecimentos, tendo como escopo duas caractersticas principais: o custo e a simplicidade. Atualmente, alm de ser possvel comprar robs domsticos, tambm possvel cri-los com o uso de placas de prototipao. O projeto teve como objetivo a construo de um rob quadrpede de baixo custo, utilizando-se de tecnologias mais baratas e com materiais facilmente encontrados no mercado, que pudessem ser comandados pelo microcontrolador Arduino. Este rob aps construdo, efetuou uma locomoo programada para qualquer direo em ambientes controlados. O controle para a movimentao foi desenvolvido atravs de uma placa microcontroladora Arduino. Nela estavam ligados servo-motores, que executaram e controlaram os movimentos das quatro pernas. Para realizao deste trabalho, a utilizao dos conhecimentos adquiridos no decorrer da graduao em Cincia da Computao, como as noes bsicas de eletrnica, circuitos e programao, bem como o preparo para a execuo do projeto, foram indispensveis na hora da construo e programao do Rob. Com o trmino do projeto, foi possvel confirmar a estreita ligao entre Cincia da Computao e a Robtica. Deste modo, percebe-se que este rob funcional pode ser utilizado de forma educacional, contribuindo assim com a linha de pesquisa em robtica j existente dentro da Universidade, alm de despertar o interesse dos demais acadmicos em dar continuidade s pesquisas, relacionando ambas as reas e utilizando como base o presente estudo.
Palavras-chave: Eletrnica. Robtica. Arduino.
ABSTRACT Nowadays the society has been adapting with technological. It has become common to use robots for many tasks, and many for entertainment. For such a scenario could become reality, over the last decades, researchers have improved their knowledge, having scoped two main features: the cost and simplicity. Today besides being possible to buy robots domestic, it is also possible to create them with the use of prototyping boards. The project had as objective to building a low cost quadruped robot, using cheaper technologies and materials easily found in the market, which could be controlled by the Arduino microcontroller. This robot after built, made a programmed locomotion to any direction in controlled environments. The control for the movement was developed through an Arduino microcontroller board. In it were connected servo motors, who executed and controlled the movements of the four legs. To accomplish this work, the use of knowledge acquired during the course Computer Science, as the basics of electronic, circuits and programming, as well as preparation for the Implementation of the project, were indispensable at the time of construction and programming of the robot. With the end of the project, it was possible to confirm the close connection between Computer Science and Robotics. This way, one can see that this functional robot can be used in educational form, contributing with the existing line of robotics research inside the University, and arouse interest of others academics to continue the research, relating both areas and using as a base the present study.
Keywords: Electronic. Robotic. Arduino.
LISTA DE FIGURAS Figura 1. Servo-motor Tower Pro 9G.......................................................................................22 Figura 2. Rotao de um Servo-motor......................................................................................23 Figura 3 Modelo Protoboard.....................................................................................................25 Figura 4. GoGo Board ..............................................................................................................25 Figura 5 Arduino UNO.............................................................................................................26 Figura 6. Interface do Software Arduino..................................................................................32 Figura 7. Controle de Servo com Potencimetro......................................................................38 Figura 8. Circuito de Controle de Servo com Potencimetro...................................................38 Figura 9. Blender Software.......................................................................................................41 Figura 10. SketchUp Software..................................................................................................42 Figura 11. Fritzing Software.....................................................................................................43 Figura 12. Rob Tekken II........................................................................................................48 Figura 13. Rob Puppy.............................................................................................................48 Figura 14. AIBO ERS-7M3......................................................................................................49 Figura 15. RobuDOG................................................................................................................50 Figura 16. Modelagem Esquemtica do Prottipo....................................................................57 Figura 17. Modelagem do Prottipo 3D...................................................................................57 Figura 18. Modelagem da Perna Final......................................................................................59 Figura 19. Modelagem da Plataforma Final .............................................................................60 Figura 20. Modelagem da Plataforma Final com Servos..........................................................60 Figura 21. Modelagem do Prottipo Final (01) ........................................................................61 Figura 22. Modelagem do Prottipo Final (02) ........................................................................61 Figura 23. Modelagem do Circuito Fritzing.............................................................................62 Figura 24. Arduino UNO..........................................................................................................64 Figura 25. Protoboard 830 Pontos ............................................................................................65 Figura 26. Servo-motor CS-60 Standard Sport.........................................................................66 Figura 27. Bateria DuraTrax 1600 Micro-amperes ..................................................................67 Figura 28. Perna Acoplada........................................................................................................70 Figura 29. Perna Finalizada ......................................................................................................70 Figura 30. Plataforma sem os Servos .......................................................................................71 Figura 31. Plataforma com os Servos .......................................................................................72 Figura 32. Plataforma Finalizada..............................................................................................72 Figura 33. Circuito Finalizado..................................................................................................74 Figura 34. Prottipo Finalizado ................................................................................................75 Figura 35. Numerao dos Servos ............................................................................................78 Figura 36. Ajustes dos Servos na Funo Mover .....................................................................79 Figura 37. Rob Calibrado .......................................................................................................80 Figura 38. Funo Calibrar .......................................................................................................80 Figura 39. Ambiente Principal de Teste ...................................................................................88
LISTA DE TABELAS Tabela 1. Materiais Utilizados..................................................................................................63 Tabela 2. Insero dos Servos na Plataforma ...........................................................................71 Tabela 3. Ligao dos Servos na Protoboard............................................................................74 Tabela 4. Comparao Prottipo X Drago de Komodo..........................................................76 Tabela 5. Testes Principais .......................................................................................................89 Tabela 6. Testes Secundarios....................................................................................................90
LISTA DE QUADROS Quadro 1. Tipos de Bateria.......................................................................................................21 Quadro 2. Arquitetura Arduino Duemilanove ..........................................................................27 Quadro 3. Modelos Arduino.....................................................................................................30 Quadro 4. Modelos Shields Arduino ........................................................................................31 Quadro 5. Rob Quadrpede General Eletric 1968..................................................................44 Quadro 6. Lista de Rpteis........................................................................................................46 Quadro 7. Apresentao dos Modelos de Robs TITAN.........................................................47 Quadro 8. Caractersticas RobuDOG........................................................................................51 Quadro 9. BigDog em Ambientes Distintos .............................................................................54 Quadro 10. Comparativa dos Projetos Similares......................................................................55 Quadro 11. Modelagem Detalhada das Pernas .........................................................................59 Quadro 12. Materiais da Estrutura............................................................................................64 Quadro 13. Insero do Servo na Perna Superior.....................................................................68 Quadro 14. Insero do Brao do Servo na Perna Inferior.......................................................69 Quadro 15. Movimento Servos Internos...................................................................................77 Quadro 16. Movimento Servos Externos..................................................................................77 Quadro 17. Detalhamento do Movimento Andar para Frente/Trs ..........................................82 Quadro 18. Detalhamento do Movimento Andar para Esquerda/Direita .................................84 Quadro 19. Detalhamento do Movimento Girar.......................................................................85 Quadro 20. Detalhamento do Movimento de Rastejar .............................................................87 Quadro 21. Fonte do Projeto.....................................................................................................99
LISTA DE ABREVIATURAS E SIGLAS A/D Analgico/Digital AREF Analogue Reference ASCII American Standard Code for Information Interchange AVR Automatic Voltage Regulator CC Corrente Continua CITI Centro de Investigao Para Tecnologias Interactivas CMOS complementary metal-oxide semiconductor FTDI Future Technology Devices International GND Graduated Neutral Density Filter I/O Input/Output ICSP In-Circuit Serial Programming ISR Interrupt Service Routine LED Light-Emitting Diode PCB Printed Circuit Board Pr-IC Pr Inscrio Cientfica PWM Pulse Width Modulation RIA Robot Institute of America R.U.R. Rossum's Universal Robots RX Receive X SSD Solid-State Drive TTC Trabalho Tcnico-cientfico de Concluso de Curso TX Transmit X UNIVALI Universidade do Vale do Itaja USB Universal Serial Bus XPE Windows XP Embedded
SUMRIO !" #$%&'()*+'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" , !"! -&'./012%#32*+'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!4 "#"#" $%&'()*+,% -% .&%/)0'* ############################################################################################################################## "1 "#"#2 3%)(+,% .&%4%56*############################################################################################################################################### "1 !"5 '.60%#7' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!8 "#2#" 7/8069:% ;0&*) ##################################################################################################################################################### "< "#2#2 7/8069:%5 =540>?@9>%5####################################################################################################################################### "< !"4 10%'('/'9#2"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!8 !"8 0:%&)%)&2 (' %&2.2/<'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!= 5 >)$(210$%2*+' %0?&#@2"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !A 5"! 0/0%&B$#@2 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!A 2#"#" A%'4%B0B605 =)06&CB9>%5 ############################################################################################################################# "D 2#"#2 E*60&9*5 ################################################################################################################################################################# "F 2#"#1 A*4*>9-*-0 -* E*60&9* #################################################################################################################################### 2G 2#"#< H%6%&05 ################################################################################################################################################################# 2" 5"5 &'.?%#@2""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""58 2#2#" .)*6*@%&'*5 -0 .&%6%694*+,% ####################################################################################################################### 2< 5"4 2&()#$'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""5= 2#1#" I*&-J*&0 K&-(9B% ########################################################################################################################################### 2L 2#1#2 3%@6J*&0 K&-(9B%############################################################################################################################################## 1" 5"8 :'>%C2&0 (0 1'(0/2901"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""8D 2#<#" E)0B-0& ################################################################################################################################################################## <G 2#<#2 3M06>NO4############################################################################################################################################################### <" 2#<#1 $&96P9BQ ################################################################################################################################################################## <2 5"E -&'60%': :#1#/2&0: """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""84 2#R#" S%>%'%+,%########################################################################################################################################################### << 2#R#2 A%'4*&*69:%######################################################################################################################################################## RR 4 (0:0$7'/7#10$%'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" E= 4"! 1'(0/2901 (' -&'60%'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""E= 1#"#" H%-0)*Q0' E)0B-0&######################################################################################################################################### RT 1#"#2 H%-0)*Q0' 3M06>NO4###################################################################################################################################### RD 1#"#1 H%-0)*Q0' $&96P9BQ######################################################################################################################################### T2 4"5 @'$%&)*+' (' -&'%?%#-'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""=5 1#2#" H*60&9*95 O69)9P*-%5 ######################################################################################################################################### T1 1#2#2 K>%4)*'0B6% -*5 =56&(6(&*5######################################################################################################################## TL 4"4 -&'9&212*+' (' -&'%?%#-' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""AE 1#1#" H%:9'0B6*+,%#################################################################################################################################################### LT 1#1#2 H%:9'0B6%5 U0*)9P*-%5 ################################################################################################################################# LD 1#1#1 VW>B9>*5 O69)9P*-*5########################################################################################################################################### DL 4"8 %0:%0 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""FF 1#<#" V05605 $?59>%5###################################################################################################################################################### DD 1#<#2 V05605 SXQ9>%5 #################################################################################################################################################### DF 8 @'$@/):G0: """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ,! 8"! %HIJIKLMN >OPOHMN """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""",5 &0>0&Q$@#2:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ,8 9/'::R&#'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ,F 2-Q$(#@0 2" >'$%0 (' -&'60%'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ,, 9 1. INTRODUO Atualmente, a sociedade vem se adaptando com os avanos tecnolgicos, tornando-se frequente o uso de mquinas na substituio de pessoas em diversas reas de produo, e geralmente aptas a ter um maior desempenho. Hoje, a robtica no se restringe apenas utilizao em linhas de montagem industriais. Diversos modelos so construdos visando a rea mdica, o entretenimento, o servio domstico, a explorao de ambientes perigosos e at mesmo o resgate de vtimas em desastres ou catstrofes naturais (BEKEY, 2005). O conceito de Rob surgiu na antiguidade, quando alguns mitos faziam referncia a mecanismos que ganhavam vida. Com o passar do tempo, esse conceito passou a fazer referncia a mecanismos de automao para suprir necessidades humanas (GATES, 2007). As primeiras ideias visando a construo de um veculo com patas datam do final do sculo XV, quando Leonardo da Vinci (1452 1519) projetou e possivelmente construiu o primeiro veculo com patas articuladas, o qual era feito de madeira, couro, lato e bronze e assemelhava-se a uma armadura talo-germnica da poca. Os estudos de da Vinci tambm ajudaram na evoluo dos robs, sobretudo com seus estudos do domnio da anatomia (MACHADO, 2006). O rob de da Vinci fez com que se pudesse ter um crescimento no conhecimento para criao de articulaes mecnicas. Com esses estudos surgiram diversos exemplares de bonecos articulados que podiam fazer aes simples, como, por exemplo, tocar um instrumento (CITI, 2012). Em 1850, o matemtico russo Chebyshev props um modelo para sistemas de locomoo articulados e projetou uma mquina com quatro pernas. Apesar de engenhoso, o veculo de Chebyshev no era capaz de mudar de direo (MACHADO, 2006). Em 1893, Lewis A. Rygg patenteou a primeira mquina quadrpede. Contudo, no h evidncias de que ela realmente tenha sido construda. Uma outra patente de mquina quadrpede, cuja construo tambm no foi comprovada, atribuda ao baro de Bechtolsheim e data de 1913 (MACHADO, 2006). O primeiro rob quadrpede autnomo, controlado por computador e alimentado eletricamente, surgiu na dcada de 60 e foi batizado de Phony Pony. Sua estrutura no era 10
biologicamente inspirada, porm era capaz de imitar alguns padres de locomoo de animais quadrpedes em baixas velocidades. Ele foi construdo por Andrew Frank em 1968 na Universidade da Carolina do Sul, EUA, como parte de sua dissertao de doutorado, mas contou com a participao de Bob McGhee e Rajko Tomovic na elaborao dos modelos tericos (BEKEY, 2005). O termo rob foi utilizado pela primeira vez pelo dramaturgo tcheco Karel Capek (1890 - 1938), em uma de suas peas de teatro mais conceituadas - R.U.R. (Rossum's Universal Robots) - estreada em Janeiro de 1921, em Praga, na Repblica Tcheca, porm os robs usados na pea no eram mecanizados (CITI, 2012). No h ainda um consenso geral sobre a definio de rob. Devido sua forte presena no campo industrial, o Robot Institute of America (RIA) conceitua oficialmente o termo rob como um manipulador reprogramvel e multifuncional, projetado para manipular materiais, peas, ferramentas ou dispositivos especializados, atravs de movimentos variveis programados para o desempenho de uma variedade de tarefas (ALVES, 1988). A robtica se refere ao estudo e utilizao de robs, e foi pela primeira vez enunciado pelo cientista e escritor Isaac Asimov (1920-1992) em 1942, em um de seus pequenos contos chamado "Runaround". Asimov tambm publicou uma compilao de pequenas histrias e em 1950 criou uma de suas mais famosas obras intitulada "I Robot", que foi utilizada na inspirao do filme com Will Smith em 2004. Nesta obra, Asimov criou as famosas leis da robtica, intituladas como As Trs Leis da Robtica. Mais tarde, em 1985, em um de seus contos Robots and Empire, foi criada uma nova e ultima lei chamada de Lei Zero (ASIMOV, 1942/1950/1985). As quatro leis consistem em: 1. Lei Zero: um rob no pode causar mal a humanidade ou, por omisso, permitir que a humanidade sofra algum mal, nem permitir que ela prpria o faa; 2. Primeira Lei: um rob no pode ferir um ser humano ou, por omisso, permitir que um ser humano sofra algum mal; 11
3. Segunda Lei: um rob deve obedecer s ordens que lhe sejam dadas por seres humanos, exceto nos casos que em tais ordens contrariem a Primeira Lei; 4. Terceira Lei: um rob deve proteger sua prpria existncia, desde que tal proteo no entre em conflito com a Primeira e a Segunda Lei. Com o passar dos anos a robtica vem se destacando, e cada vez mais adeptos iniciam- se nessa linha de pesquisa. Com esse crescimento, cada vez mais componentes eletrnicos so desenvolvidos para o aprimoramento e facilitao de novas criaes. Entende-se por componente eletrnico todo aquele utilizado para criao de uma estrutura de um circuito, desde a placa lgica e os servo-motores at os componentes menores como LEDs (Light-Emitting Diode), resistores entre outros, no importando o seu tamanho ou complexibilidade (SOUZA, 2003). Um servo-motor um dispositivo eletromecnico com caractersticas especiais que possibilitam o posicionamento preciso de um eixo em qualquer ngulo entre 0 graus e 180 graus. Geralmente possui alto torque devido s redues por meio de engrenagens. usado nos mais variados ramos da mecnica e eletrnica, principalmente em indstrias, robs e acionamentos controlados por computador. Em brinquedos tambm possvel de ser encontrado, sendo modelos mais simples e menores, mas que possuem uma grande preciso e velocidade (BRITES; SANTOS, 2008). A plataforma utilizada constituiu-se da uma placa de prototipao Arduino. uma plataforma que possui suporte, frum de discusso e vrios experimentos na rea de eletrnica e robtica (ARDUINO TEAM, 2012a). A filosofia Arduino baseia-se em fazer desenhos ao invs de falar sobre eles. uma busca constante para se mover mais rpido e mais poderosas formas de construir prottipos melhores. Ns exploramos tcnicas de prototipagem e desenvolvendo muitas maneiras de pensar com as mos. (Traduzido de Getting Started With Arduino, (MASSIMO BANZI, 2009)).
O Arduino surgiu em 2005 e foi criado por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David A. Mellis. Consiste em uma plataforma de prototipagem eletrnica, projetada com um micro-controlador Atmel AVR (Automatic Voltage Regulator) de placa nica, com suporte a entrada/sada embutidos, com uma linguagem de programao padro (STUDIO CUP, 2012). 12
O Arduino foi projetado com o intuito de criar uma ferramenta mais acessvel e de baixo custo para artistas amadores que desejam fazer um primeiro contato com a robtica, mais no dispem de muito conhecimento na rea e pouco investimentos para gastar com placas mais complexas e sofisticadas (INFO, 2012). Pode ser usado para criar objetos interativos independentes. possvel, com a utilizao de diversas outras placas lgicas de expanso, os chamados Shields, criar mecanismos mais complexos, e a ampliao pode ser feita aos poucos, dependendo da necessidade do explorador (ARDUINO TEAM, 2012c). O Arduino pode ser conectado tambm a um hospedeiro, pois possui interface serial ou USB (Universal Serial Bus), assim quando ligada ao hospedeiro possvel passar comandos em tempo real. O Arduino no possui, por padro, interface de rede, mais comum combinar com um ou mais Arduinos, deste modo, utilizando extenses apropriadas (Shields) ((SILVEIRA, 2011 e ARDUINO TEAM, 2012c). Resumindo, o Arduino uma plataforma fsica de cdigo aberto e um ambiente de desenvolvimento para escrever cdigos para a placa. Ela um facilitador para quem est querendo iniciar-se na robtica. Sendo de instalao e operao simples com um poder de criao que depende unicamente da imaginao e criatividade do autor (ARDUINO TEAM, 2012a). A proposta do trabalho foi a criao de uma pequena plataforma apoiada em quatro pernas que produzam um movimento para frente. Com uma programao especfica foi possvel fazer o sincronismos dos servo-motores utilizados, criando ento essa movimentao. O resultado do projeto foi um prottipo fsico de um rob que executou esse movimento e deslocou-se em um ambiente plano.
13
1.1 PROBLEMATIZAO 1.1.1 Formulao do Problema O campo da robtica possui estreita ligao com a Cincia da Computao. Atualmente j possvel visualizar a robtica com um apelo domstico. Hoje j se encontram no mercado pequenos robs, que em sua maioria servem apenas para entretenimento. Tambm j possvel obter kits de prototipao para a criao de projetos pessoais. Pessoas interessadas na criao de robs, mesmo que no possuam muito conhecimento na rea, com o uso destes kits, podem vir a criar projetos complexos e bastante interessantes. O surgimento do Arduino um grande exemplo de kit de prototipao. Este veio para facilitar a vida dos interessados em robtica domstica. O Arduino resume-se em uma placa lgica de prototipao, e um Software onde possvel programar aes para que as mesmas sejam executadas pela placa (ARDUINO TEAM, 2012a). O grande desafio deste projeto foi a construo de um rob quadrpede de baixo custo, utilizando-se de tecnologias mais baratas e com materiais facilmente encontrados no mercado, que pudessem ser comandados pelo microcontrolador Arduino. Cabe salientar que este rob teve como principal objetivo efetuar a locomoo para qualquer direo em ambientes controlados. Deste modo, espera-se que este projeto possa contribuir com a linha de pesquisa em robtica dentro da Universidade, alm de despertar o interesse de demais acadmicos em dar continuidade pesquisa, relacionando ambas as reas e utilizando como base o presente estudo. 1.1.2 Soluo Proposta A soluo proposta neste projeto foi a criao de um rob quadrpede de baixo custo utilizando uma placa microcontroladora Arduino, capaz de se locomover em ambientes controlados utilizando servo-motores. O rob se utilizou da plataforma Arduino, para que quando ligada aos servo-motores e programada por linhas de cdigo, promovesse os movimentos uniformes e ajustados das pernas, para que estas, em conjunto, proporcionassem ao rob a locomoo em alguns ambientes. 14
1.2 OBJETIVO Nesta sesso sero apresentados os objetivos geral e especficos que o presente projeto visa alcanar. 1.2.1 Objetivo Geral Desenvolver um prottipo funcional de um rob quadrpede com o auxlio da plataforma Arduino, capaz de se locomover em ambientes controlados e fazer movimentos previamente programados por um computador. 1.2.2 Objetivos Especficos Pesquisar sobre eletrnica, robtica e Arduino; Analisar projetos similares; Criar a modelagem de prottipo; Procurar equipamentos necessrios para a criao; Iniciar a montagem do prottipo; Criar uma programao a ser executada; Efetuar testes para verificar o sincronismo do movimento; Documentar o trabalho desenvolvido atravs do relatrio final e artigo cientfico. 1.3 METODOLOGIA Este projeto est segmentado, para que fosse de fcil entendimento e criao dos determinados passos, afim de que ao trmino do mesmo, fosse possvel apresentar um trabalho sucinto e com resultados bem definidos. 1. Tema: nesta fase inicial, foi selecionado um tema com o auxilio do orientador do projeto, e em seguida a ideia foi aprovada por 2 integrantes do corpo docente no momento da pr-proposta. Estes professores fizeram parte da banca avaliadora da apresentao do TTC (Trabalho Tcnico-cientfico de Concluso de Curso) I e II; 15
2. Levantamento de Bibliografias: nesta fase, aps definido um tema, foi possvel levantar toda a bibliografia que seria utilizada, para realizao da fundamentao terica, e em seguida a possibilidade de criao o projeto; 3. Leitura de Documentao: nesta fase, foi filtrado todo o contedo pesquisado, separando os contedos de fontes confiveis, fazendo a leitura e compreenso dos materiais dos diferentes autores; 4. Anlise e Outros Projetos: nesta fase, foram analisados projetos que pudessem nortear o entendimento, e passar novas ideias de como um determinado movimento possa ser executado de diferentes formas; 5. Modelagem: nesta fase, foi efetuada uma modelagem do circuito, modelagem do prottipo, afim de servir de guia e documentao para o entendimento do projeto; 6. Levantamento dos Equipamentos: nesta fase foi feita a pesquisa das peas necessrias para a prototipao, a fim de se obter os equipamentos para a realizao do prottipo. 7. Criao do Prottipo: nesta etapa foi efetuada a criao do prottipo fsico, nela foram utilizados os conhecimentos obtidos durante as pesquisas do TTC I, e foi feita a montagem dos componentes. 8. Programao do Prottipo: nesta etapa foi efetuada a programao do prottipo fsico. Foi utilizado o Software Arduino para escrever o cdigo. 9. Testes e Ajustes do Prottipo: nesta fase foram efetuados todos os testes e ajustes para o bom funcionamento do prottipo. Foram avaliados a boa mobilidade e os resultados do plano de teste em diferentes ambientes. Tambm foram efetuados os ajustes de sincronizao dos servos via Software. 10. Documentao Final: nesta fase foi realizada a redao deste documento de TTC seguindo as regras da ABNT conforme estipulado pela instituio de ensino, e um artigo cientfico baseado no mesmo para, publicao em um evento de iniciao cientfica da rea.
16
1.4 ESTRUTURA DO TRABALHO Este documento foi estruturado em 4 captulos: O Capitulo 1 (Introduo), mostra uma apresentao sucinta do que se trata este trabalho, mostrando os conceitos dos principais temas, e com o conhecimento em eletrnica e programao, e fazendo uso de dispositivos de prototipao, possvel criar projetos na rea de robtica. Tambm apresenta os objetivos e a metodologia utilizados, que foram primordiais para a criao do projeto. O Capitulo 2 (Fundamentao Terica), mostra o estudo dos principais temas como Eletrnica e seus componentes, Robtica e Arduino e sua linguagem em uma viso voltada para o desenvolvimento deste projeto, e por fim uma pesquisa de outros projetos similares. O Capitulo 3 (Desenvolvimento), mostra as etapas de criao do projeto, como a construo do prottipo, programao e testes realizados para verificar o bom funcionamento. O Capitulo 4 (Concluso), mostra o apanhado de tcnicas para execuo do projeto, os resultados obtidos, e as dificuldades encontradas para realizao do projeto.
17 2 FUNDAMENTAO TERICA Dentre as diversas reas pesquisadas, destacaram-se cinco pontos cruciais, os quais auxiliaro a execuo deste projeto. So eles: a eletrnica, a robtica, as placas de prototipao Arduino, o software de modelagem do circuito do prottipo, e os projetos similares nos quais se ter apoio para a construo do modelo. Em seguida, sero apresentados os cinco pontos anteriormente destacados, cujo conhecimento ser imprescindvel para a realizao do projeto proposto. 2.1 ELETRNICA A Eletrnica a rea da cincia e da tecnologia que estuda e se utiliza da movimentao controlada de eltrons por intermdio de diferentes meios. A capacidade para controlar o fluxo de eltrons aplicada ao tratamento de informao ou de controle de dispositivos (TORRES, 2012). Segundo Peixoto (2002), existe uma grande variedade de materiais eltricos encontrados na natureza, os quais se dividem em quatro grupos: 1. Materiais Condutores: so os materiais que melhor conduzem a corrente eltrica. 2. Materiais Isolantes: so os materiais que praticamente no conduzem corrente eltrica. 3. Materiais Semicondutores: apresentam uma condutividade intermediria entre a dos condutores e isoladores. 4. Materiais Magnticos: embora tambm sejam bons condutores de corrente, geralmente so usados com outra finalidade, devido as suas propriedades magnticas. Para que os materiais possam ser divididos entre esses quatro grupos de materiais eltricos, necessrio que sejam analisados as caractersticas de cada um (PEIXOTO, 2002): 1. Resistncia: a maior ou menor dificuldade que um corpo apresenta passagem da corrente eltrica. 18
2. Condutncia: a maior ou menor facilidade que o material oferece passagem da corrente eltrica. 3. Resistividade: grandeza relacionada com a constituio do material. Define-se como sendo a resistncia eltrica de um material com 1 metro de comprimento, e 1 milmetro quadrado de seo. 4. Coeficiente de Temperatura: grandeza que permite determinar a variao da resistncia em funo da temperatura. 5. Rigidez Dieltrica: a tenso mxima por unidade de comprimento, que se pode aplicar aos isolantes sem danificar as suas caractersticas isolantes. Feito uma breve anlise acerca dos materiais eltricos e de suas propriedades, passa-se agora a tratar dos componentes eletrnicos e suas caractersticas. 2.1.1 Componentes Eletrnicos Componente eletrnico todo tipo de material que faz parte de um circuito eltrico (SOUZA, 2003). Ser apresentada uma lista dos principais componentes dos quais alguns faro parte do presente projeto. 1. Resistores: possuem como principal caracterstica oferecer resistncia em uma passagem de corrente eltrica. Geralmente usados para reduzir a corrente eltrica em algum ponto de um determinado circuito (HARDWARE, 2012). 2. Capacitores: possuem como caracterstica principal o armazenamento de cargas eltricas para uso posterior (HARDWARE, 2012). 3. Diodos: um componente eltrico caracterizado por permitir que uma carga eltrica siga apenas para uma direo, impedindo que a mesma retorne. Um dos diodos bastante conhecidos o LED, que, ao ser colocado sobre uma corrente eltrica emite uma luz (HARDWARE, 2012). 4. Transistores: de certa forma um diodo com a capacidade de controlar a passagem de corrente. Caso tenha corrente, o mesmo conduz energia do emissor para o coletor, e caso contrrio, ele no o faz. O transistor tambm tem como 19
caracterstica a amplificao de sinais e a regulagem de tenses (HARDWARE, 2012). 5. Sensores: so equipamentos que se utilizam de dados externos, e os transformam em dados eletrnicos para o controle de alguma tarefa especifica. Existe uma infinidade de sensores para diversas finalidades, como por exemplo os sensores de movimento, temperatura, velocidade, obstculo, presena, entre outros (KILIAN, 2000). 6. Fusveis: possuem uma funo vital para os equipamentos eletrnicos. Tem a funo de proteger equipamentos de uma sobrecarga eltrica, que sem o mesmo poderia danific-lo permanentemente (HARDWARE, 2012). 2.1.2 Baterias Pilhas e baterias so dispositivos que transformam energia qumica em energia eltrica. Suas diferenas so que as pilhas possuem dois eletrodos, enquanto a bateria um conjunto de pilhas agrupados em srie ou paralelo. A pilha tem trs partes: os eletrodos, o eletrlito e o recipiente (ELECTRONICA, 2012a). 1. Os eletrodos so os condutores de corrente da pilha. 2. O eletrlito a soluo que age sobre os eletrodos. 3. O recipiente guarda o eletrlito e suporta os eletrodos.
Existem dois tipos bsicos de pilhas. 1. Pilha Primria: uma pilha na qual a reao qumica acaba por destruir um dos eletrodos, normalmente o negativo. A pilha primria no pode ser recarregada. 2. Pilha secundria: uma pilha na qual as aes qumicas alteram os eletrodos e o eletrlito. Os eletrodos e o eletrlito podem ser restaurados sua condio original pela recarga da pilha. 3. Ao Eletroqumica: o processo de converso de energia qumica em energia eltrica: a. O nodo o eletrodo positivo de uma pilha; b. O ctodo o eletrodo negativo de uma pilha.
20
2.1.3 Capacidade da Bateria A capacidade de uma bateria define a sua a capacidade energtica, a qual expressa em ampere-hora (1 Ampere-hora = 3600 coulombs). Se uma bateria debita um ampere (1A) de corrente por uma hora, esta tem uma capacidade de 1 Ampere!hora. Se puder fornecer 1 Ampere por 10 horas, sua capacidade, ento, 10 Ampere-hora (ELECTRONICA, 2012b). 2.1.3.1 Tipos de Baterias Atualmente existem diversos tipos de baterias comercializveis. Indiferente do tipo de bateria, todos trabalham para a mesma finalidade: fornecer energia. O Quadro 1 apresenta os tipos de baterias que poderiam ter sido utilizados no projeto: vantagem Desvantagem Imagem Alcalina Baixo Custo, facilidade de ser encontrada e boa autonomia em relao peso e custo. Em sua maioria so descartveis e no podem ser recarregadas.
Chumbo Baixo Custo, resistncia a grandes variaes de temperatura e grande durabilidade. Pesada, demora a ser carregada, descarrega- se rapidamente.
Ltio Descarrega-se lentamente, so as mais leves, oferecem cerca do dobro da capacidade de uma bateria do tipo NiMH com o mesmo tamanho e tempo de recarga tambm o mais rpido entre os demais tipos. Custo Elevado
Nquel- cdmio (NiCd) Potencial energtico maior do que o da de chumbo-cido, o que faz com que seja de 20 a 50% mais leve, proporcionando um tempo de utilizao superior para o mesmo peso. No sofre queda de voltagem durante a utilizao. Custo mais alto do que o da de chumbo-cido, muito txica para o meio ambiente (devido ao cdmio). Este tipo de bateria sofre mais com extremos de temperatura, descarregando-se muito rapidamente em temperaturas muito baixas e no se carregando totalmente em temperaturas muito elevadas.
21
carregando totalmente em temperaturas muito elevadas. Nquel Hidreto Metlico (NiMH) Resiste a um nmero maior de cargas/descargas na sua vida til do que as de NiCad, possui um potencial energtico superior, tempo de recarga inferior e maior resistncia a variaes de temperatura. Tem praticamente o mesmo peso que as de NiCd. Ambientalmente mais amigvel do que a de NiCd. Custo superior ao das de nquel-cdmio.
Quadro 1. Tipos de Bateria Fonte: Electronica (2012c) 2.1.4 Motores Motores so equipamentos que convertem energia eltrica em energia mecnica. O motor constitudo de uma carcaa (estator), e este externo ao eixo girante (rotor) (DEL TORO, 1994). Dentre os inmeros tipos de motores, destacam-se dois modelos capazes de desempenhar as atividades que o projeto pretende executar, so eles o motor de passo e o servo-motor. 2.1.4.1 Motor de Passo Motores de passo so dispositivos eletromecnicos que convertem pulsos eltricos em movimentos mecnicos para gerarem movimentos angulares. O rotor ou eixo de um motor de passo rotacionado em pequenos incrementos, quando pulsos eltricos so aplicados em uma determinada sequncia nos terminais deste. A velocidade e o angulo em que o rotor gira determinada pela frequncia dos pulsos recebidos do circuito eltrico (BRITES; SANTOS, 2008). So utilizados sempre que os movimentos necessitam ser precisos. So usados tambm quando necessrio controlar velocidade, sincronismo e angulao. O ponto forte desse 22
motor no a fora e a velocidade, mas sim a preciso com que ele pode executar seus movimentos (BRITES; SANTOS, 2008). 2.1.4.2 Servo-motores Servo-motores so sistemas eltricos com propriedades de controle de posio, velocidade e fora por meio de tenso, corrente ou freqncia, e essas variantes dependem de sua estrutura. Funcionam tambm com estator e rotor (FERRAZ, 2008). A Figura 1 apresenta um modelo de servo da TowerPro:
Figura 1. Servo-motor Tower Pro 9G Fonte: Buildbot (2012) O eixo do servo (rotor), pode ser posicionado para posies angulares especficas, enviando ao servo um sinal eltrico. Enquanto o sinal se mantiver na sada, o eixo se manter na posio. medida que forem feitas as alteraes do sinal, a posio angular do eixo se altera (SEATTLE ROBOTICS SOCIETY, 2012). Os servos normalmente podem se movimentar entre 0 e 90 graus ou 0 e 180 graus. Para a alimentao desses tipos de atuadores mecnicos, utilizada uma tenso de 4,5 a 6,5 volts, e sua corrente varia de acordo com cada modelo (ESTG, 2011). Os servos possuem um fio de controle, que usado para comunicar o ngulo. O ngulo determinado pela durao de um pulso enviado. Isso chamado de modulao de pulso codificado. O servo espera ver um pulso a cada 20 milissegundos. O comprimento do pulso vai determinar at que ponto o motor gira. Um pulso de 1.5 milissegundos, por 23
exemplo, vai fazer o motor girar para a posio de 90 graus (tambm designada como posio neutra). Se o pulso menor do que 1,5 milissegundos, ento o motor vai levar o eixo para cerca de 0 graus. Se o pulso maior do que 1.5 milissegundos, o eixo gira mais perto dos 180 graus (SEATTLE ROBOTICS SOCIETY, 2012). A Figura 2 mostra o funcionamento da rotao de um servo. O tempo do pulso ilustrativo, pois depende do fabricante, porm os princpios so os mesmos:
Figura 2. Rotao de um Servo-motor Fonte: Seattle Robotics Society (2012) Servo-motores possuem muitas aplicabilidades, que se estendem desde o setor da robtica de pequeno porte, at as grandes indstrias e suas grandes mquinas. Cada servo possui aplicabilidades e particularidades especficas, que devem ser analisadas na hora da escolha para um projeto (CORRA, 2009). Para o seguinte projeto proposto, por se tratar de um rob pequeno, o uso de servo- motores tornaram-se indispensveis, pois em relao a outros motores, os servos so de fcil controle com o Arduino, e utilizando-se da preciso que ele oferece, com alguns ajustes puderam proporcionar suavidade aos movimentos efetuados. 24
2.2 ROBTICA A expresso robtica se refere ao estudo e a utilizao de robs. Este termo foi utilizado pela primeira vez pelo cientista e escritor norte-americano, Isaac Asimov. A grosso modo, pode-se afirmar que a robtica tem como escopo a automatizao de trabalhos e aes que poderiam ser executadas por seres humanos (CITI, 2012). A palavra robot, por sua vez, provm do idioma tcheco e significa trabalho forado. Este termo, com a atual interpretao, foi criado pelo escritor tcheco Karel Capek no ano de 1920. Basicamente, um rob se trata de uma mquina que, de forma independente, efetua uma determinada tarefa, prescindindo de observao contnua por parte de um indivduo humano, diferentemente de uma mquina comum comandada distncia e que precisa de algum que controle seus movimentos de forma contnua (CITI, 2012). O primeiro rob industrial criado foi o Unimates, desenvolvido por George Devol e Joe Engleberger, no final da dcada de 50. Devol obteve as primeiras patentes de robs comerciais, que eram designados a mover coisas de um local para o outro, j Engleberger, obteve pela construo do primeiro rob comercial, e foi apelidado de "pai da robtica" (CITI, 2012). 2.2.1 Plataformas de Prototipao Plataformas de prototipao so utilizadas para criao de circuitos eltricos experimentais, com o intuito de facilitar o uso de componentes na criao de um circuito (LUTCIA, 2002). Existem diversos tipos de plataformas de prototipao, podendo estas ser genricas (Protoboards) ou mais especificas, que o caso do Arduino (APRENDENDO ELETRONICA, 2012). 2.2.1.1 Protoboard A protoboard, tambm conhecida como matriz de contatos, uma plataforma genrica de prototipao. Consiste em uma estrutura plstica, contendo diversos orifcios separados por linhas e colunas, destinados a insero de terminais e componentes eletrnicos, que possibilitam a criao de circuitos (ELETRONICA DIDATICA, 2012). 25
A grande vantagem de se utilizar uma protoboard a possibilidade de se criar qualquer tipo de circuito de acordo com a sua necessidade, alm do fato de seus componentes poderem ser facilmente retirados e reutilizados, uma vez que no necessitam de soldagem. (ELETRONICA DIDATICA, 2012). Porm as protoboards possuem como limitaes a baixa capacidade de corrente (cerca de 1 a 3 ampre), capacidade e resistncia dos contatos internos considerveis, e so suscetveis captao de rudos e interferncias (ELETRONICA DIDATICA, 2012). A Figura 3 apresenta um modelo padro de protoboard:
Figura 3 Modelo Protoboard 2.2.1.2 GoGo Board O GoGo Board uma plataforma open-source de prototipao criada em 2001. Est atualmente na sua verso 4.0 com suporte a USB. A plataforma foi idealizada para o aprendizado, e pode ser utilizada para a criao de robs com motores e sensores, a qual d suporte (GOGO BOARD, 2012a). A Figura 4 apresenta a plataforma GoGo Board:
Figura 4. GoGo Board Fonte: Adaptado de Mundo da Robtica (2012)
26
A plataforma GOGO Board possui um ambiente grfico de monitoramento de todas as suas funes. A mesma tambm possui mdulos nos quais, assim como no Arduino, existem a possibilidade de se ampliar o poder de criao. A plataforma permite tambm ser programada em diversas linguagens de programao como, JAVA, C#, Visual Basic, entre outras (GOGO BOARD, 2012b). Entre as plataformas analisadas para utilizao no projeto, foi escolhido a plataforma Arduino, por ser de uso especifico e de fcil programao, mesmo existindo muitas outras plataformas com o mesmo intuito. Porm o uso do Arduino no inutilizou o uso da protoboard, pois a mesma foi utilizada para complementar a prototipao do projeto com circuitos auxiliares. 2.3 ARDUINO O Arduino uma plataforma fsica de prototipao open-source, que em conjunto com um Software criado para escrever programas para essa placa, possibilita a criao de objetos interativos. Possui uma variedade de sensores, LEDs, motores e outros diversos recursos fsicos disponveis (ARDUINO TEAM, 2012a). A Figura 5 apresenta um dos principais modelos do Arduino.
Figura 5 Arduino UNO Fonte: Arduino Team (2012a)
27
2.3.1 Hardware Arduino O Hardware Arduino consiste em uma plataforma fsica para prototipao. Seus diversos modelos possuem as mesmas diretrizes de prototipagem (ARDUINO TEAM, 2012a). O Quadro 2 apresenta a arquitetura do Arduino Duemilanove. Imagem
Legenda 1. Laranja: pino analgico de referncia. 2. Verde Claro: terra. 3. Verde Escuro: pinos digitais 2-13. 4. Verde Escuro: pinos digitais 0-1, entrada serial, sadas TX/RX (Transmit X/Receive X), esses pinos no podem ser usados como I/O (Input/Output)(digitalRead e digitalWrite), caso esteja usando comunicao Serial (comandos seriais no cdigo fonte, exemplo: serial.begin). 5. Azul Escuro: S1, Boto de Reset. 6. Azul Petrleo: ICSP (In-Circuit Serial Programming), Serial para programao do tipo In-Circuit (gravao direta na placa). 7. Azul Claro: pinos analgicos 0-5. 8. Laranja Escuro e Laranja Claro: 5V, GND (Graduated Neutral Density Filter) e 9V, Pinos de alimentao. 9. Rosa: X1, fonte externa de alimentao 9V a 12V. 10. Roxo: SV1, Alternador de alimentao externa e alimentao USB. 11. Amarelo: USB, usado para fazer upload da programao para a placa, comunicao entre placa e computador, e pode ser usado para alimentar a placa. Quadro 2. Arquitetura Arduino Duemilanove Fonte: Pictronics (2012)
28
2.3.1.1 Mapa de Entradas e Sadas Arduino No Quadro 2 apresentado anteriormente, possvel verificar a esquemtica do Arduino, bem como as partes que o compe. A seguir, sero especificadas as portas de entrada e sada da referida placa. 2.3.1.1.1 Pinos Digitais So constitudos de 14 pinos numerados de 0 a 13, da direita para a esquerda, divididos em dois grupos de 8 pinos denominada DIGITAL, os 2 ltimos pinos da direita para a esquerda (AREF (Analogue Reference) e GND), so destinados a corrente de tenso. So utilizados para transmitir ou detectar nveis lgicos digitais (Verdadeiro/Falso, 0/1 ou HIGH/LOW) (SILVEIRA, 2011). Segue uma definio das funcionalidades de cada conjunto de pinos: 1. Pinos 3, 5, 6, 9, 10 e 11 (PWM (Pulse Width Modulation)): seis dos 14 pinos digitais podem ser utilizados para gerar sinais analgicos, utilizada a tcnica de Modulao por Largura de Pulso (PWM). 2. Pinos 0 e 1: so os dois primeiros pinos digitais. So conectados a USART do microcontrolador do Arduino para comunicao serial com um computador. 3. Pinos 2 e 3: pinos que chamam uma ISR (Interrupt Service Routine) para tratar uma interrupo nos mesmos. 4. Pinos 4, 7, 8, 12 e 13: so os pinos de entrada e sada de uso geral. 2.3.1.1.2 Pinos Analgicos So seis pinos em uma nica barra denominada ANALOG IN. So numerados de 0 a 5, agora da esquerda para a direita. So usados para leitura de sinais analgicos dos sensores conectados ao Arduino. Esses pinos aceitam tenses entre 0 e 5 volts de CC (Corrente Continua) que vo at o conversor A/D (Analgico/Digital) de 10 bits no microcontrolador do Arduino. O pino AREF, em uma das barras de pinos digitais, a entrada de tenso de referncia para esse conversor (SILVEIRA, 2011). 2.3.1.1.3 Porta Serial Possui um conector USB fmea do tipo A. Por este, o Arduino se comunica atravs de um cabo a um computador ou a outros dispositivos que tenham tambm uma interface USB. 29
Este tambm envia 5 volts diretamente da fonte de alimentao do computador, para o Arduino (SILVEIRA, 2011). 2.3.1.1.4 Pinos de Alimentao Uma barra com 5 pinos, denominados POWER, e 2 pinos que acompanham a carreira dos pinos digitais (SILVEIRA, 2011). Esses pinos so utilizados para controlar a corrente eltrica de alimentao. Segue a funo que cada pino exerce sobre o Arduino: 1. AREF: pino responsvel pela entrada de tenso de referncia para o conversor A/D do Arduino. 2. 3V3: pino que disponibiliza essa tenso com uma corrente mxima de 50 micro ampres. 3. 5V: pino responsvel pela alimentao do circuito empregado. 4. GND: terra, comum a todos os outros pinos. 5. Vin: um pino que tambm pode servir para alimentar o Arduino se nele for aplicada uma tenso entre 9 e 15 volts. 2.3.1.2 Modelos Arduino Conforme a pgina oficial do Arduino (2012), existem diversos modelos de placas de prototipao Arduino j produzidas, cada uma com suas configuraes especificas e usos diversos. No Quadro 3 possvel visualizar alguns dos modelos oficiais do Arduino com uma breve descrio de suas capacidades: Nome Descrio Imagem do Modelo Arduino UNO Controlador atmega328; 32 kilobytes de memria; Suporte atmega8u2 e 16u2 para driver conversor serial-usb, ao invs do FTDI (Future Technology Devices International).
30
Arduino Duemilanove Controlador atmega168 ou atmega328; 16 ou 32 kilobytes de memria; Utiliza FTDI.
Arduino Mega 2560 Controlador atmega2560; 256 kilobytes de memria; Suporte atmega8u2 e 16u2 para driver conversor serial-usb, ao invs do FTDI.
Quadro 3. Modelos Arduino Fonte: Arduino Team (2012b) 2.3.1.3 Modelos Shields Shields so placas de extenses especificas para uma determinada tarefa, que quando acopladas a placa de prototipao Arduino, expandem a sua capacidade inicial de recursos e facilitam o desenvolvimento da determinada tarefa (ARDUINO TEAM, 2012c). Atualmente existem, em mdia, 300 Shields homologados por mais de 100 diferentes empresas, sendo somente cinco da franquia Arduino (OXER, 2011). O Quadro 4 mostra trs Shields homologados diretamente pelo Arduino. Nome Descrio Imagem do Modelo Arduino Wireless SD Shield 1. Possibilidade de se comunicar com o arduino sem uso de cabos; 2. Alcance de 100 metros com barreira, e 300 sem.
31
Arduino Motor Shield 3. Facilidade de trabalhar com servo- motores; 4. Aumento no numero de pinos na rea de prototipao;
Arduino Proto Shield 5. Possibilidade de criar projetos maiores, por possuir uma rea de prototipao maior.
Quadro 4. Modelos Shields Arduino Fonte: Arduino Team (2012c) 2.3.2 Software Arduino O Software Arduino uma aplicao multiplataforma utilizada para escrever programas para a placa Arduino, sem um grande conhecimento em desenvolvimento de Softwares. Seu editor est atualmente na verso 1.0.1. Como caractersticas, o mesmo possui diversos recursos tais como, realce de sintaxe, parnteses correspondentes e indentao automtica. Com ele possvel escrever e carregar programas na placa com um nico clique, sem a necessidade de utilizao de linhas de comando (ARDUINO TEAM, 2012d). Sua interface apresentada na Figura 6. 32
Figura 6. Interface do Software Arduino Fonte: Techne (2012) 2.3.2.1 Linguagem de Programao A Linguagem de programao do Arduino baseada na linguagem C/C++, e possui algumas semelhanas com o Java (ARDUINO TEAM, 2012f). Para comear a programar no Software Arduino preciso entender as duas estruturas iniciais: 1. void setup(): inserida no inicio do cdigo, na qual pode ser usada para inicializar a configurao; 2. void loop(): utilizada para repetir um bloco de comandos ou esperar at que seja desligada. No Arduino indispensvel para o funcionamento a utilizao da funo void setup(), que funciona para inicializao, e tudo que estiver escrito nela ir rodar apenas uma vez. J a funo void loop(), contm tudo o que o programa ir executar. Sem estas funes o Arduino no identificar a linguagem e no compilar o cdigo (GAIER, 2011). 33
Na linguagem do Arduino, assim como em C/C++, existem tipos de variveis para o armazenamento de informaes, para que as mesmas possam ser utilizadas no decorrer da execuo (GAIER, 2011). Segue uma breve descrio dos tipos de variveis (GAIER, 2011): 1. INT: esta varivel suporta nmeros inteiros. 2. FLOAT: esta varivel suporta nmeros com ponto flutuante. 3. DOUBLE: esta varivel amplifica o numero mximo de tamanho suportado. 4. BYTE: esta varivel utilizada para armazenar nmeros de 8-bits, de 0 a 255. 5. CHAR: esta varivel utilizada para armazenar o valor de um caractere. 6. STRING: esta varivel armazena um vetor de caracteres. 7. BOOLEAN: esta varivel armazena apenas 0 ou 1 (Verdadeiro ou Falso). 8. VOID: esta varivel utilizada na chamada de uma funo, e indica que a mesma no retornara valor algum. 2.3.2.1.1 Operadores Para ser possvel uma programao mais adequada, necessrio fazer uso de operadores, os quais podem ser do tipo aritmticos, booleano, comparao, incremento e decremento (GAIER, 2011). 1. Operadores Aritmticos: so os operadores matemticos, como por exemplo soma e subtrao. 2. Operadores Booleanos: verificam se uma estrutura verdadeira ou falsa. 3. Operadores de Comparao: executam as comparaes no cdigo. 4. Operadores de Incremento e Decremento: modificam diretamente a varivel em qual esto sendo empregados. 2.3.2.1.2 Estruturas de Controle Com o Software Arduino possvel utilizar-se de estruturas de controle. So, de certa forma, a parte mais importante da programao. Utilizando-as, possvel criar projetos mais dinmicos, pois toda a programao gira em torno delas (GAIER, 2011). Existem 6 principais estruturas de controle, so elas: 34
1. IF: testa se uma determinada condio foi alcanada ou no, caso o resultado for 1 (verdadeiro) a ao dentro da estrutura executada. 2. IF ... ELSE: testa se uma determinada condio foi alcanada ou no, caso o resultado for 1 (verdadeiro) a ao dentro da estrutura IF executada, e caso for 0 (Falso) a ao dentro da estrutura ELSE executada. 3. FOR: uma estrutura de repetio. Enquanto a condio retornar 1 (verdadeiro), a funo continuar executando. A inicializao o valor inicial que a condio comea (X = 0), apos declarado a condio (X <= 50), e por fim definido o incremento (X++). 4. SWITCH CASE: permite programar diferentes aes para cada condio, quando a determinada condio for verdadeira, a ao executada, e ao final, a execuo sai do desvio (break). Caso nenhum caso for utilizado ele possui uma sada padro (default). 5. WHILE: uma condio de repetio. Enquanto a condio permanecer verdadeira, o bloco de cdigo continuar executando. Quando a condio responder 0 (falso), o WHILE finaliza, e a execuo do cdigo continua normalmente. 6. DO WHILE: funciona da mesma forma que o WHILE, porm a sua condio testada no final do bloco executado. 2.3.2.1.3 Controle dos Pinos Entrada e Sada Existem estruturas de controle na linguagem do Arduino designadas para o controle de todas as entradas e sadas do Arduino (SILVEIRA, 2011).
2.3.2.1.3.1 Pinos Digitais Sero apresentadas as funes que efetuam o controle dos pinos digitais da plataforma Arduino. 1. PinMode (pino, modo): estabelece a direo do fluxo de informaes em qualquer um dos 14 pinos digitais. Dois parmetros so passados para a funo: a. o numero do pino (0 a 13); b. se o pino vai ser entrada ou sada dessas informaes (INPUT/OUTPUT). 35
2. DigitalRead (pino): depois de iniciado, l o valor do pino e o armazena em uma varivel. 3. DigitalWrite (pino, valor): envia um nvel lgico para qualquer pino digital do Arduino. Dois parmetros so requeridos: a. o nmero do pino (0 a 13); b. o estado lgico (HIGH/LOW) em que esse pino deve permanecer. 4. AnalogWrite (pino, valor): em seis dos 14 pinos digitais possvel gerar tenses analgicas. Modulao por Largura de Pulsos, ou PWM, uma tcnica usada para gerar tenses analgicas a partir de uma seqncia de pulsos digitais. Dois parmetros devem ser passados funo: a. o nmero do pino na qual ser gerada a tenso; b. a amplitude dessa tenso, que devem ter valores entre 0 (para 0 volts) e 255 (para 5 volts). 5. AttachInterrupt (pino, funo, modo): essa funo uma rotina de servio de interrupo, ou ISR. Toda vez que ocorrer uma interrupo por Hardware no pino digital 2 ou 3 do Arduino, uma outra funo criada pelo programador vai ser chamada. Trs parmetros so requeridos: a. o nmero do pino; b. a funo a ser executada; c. informar como a interrupo vai ser disparada: i. LOW: dispara a interrupo quando o pino est em 0; ii. CHANGE: dispara sempre que o pino muda de estado (de 0 para 1, ou vice-versa); iii. RISING: somente quando o pino muda de 0 para 1; iv. FALLING: somente quando o pino muda de 1 para 0. 6. PulseIn (pino, valor, espera): essa funo mede a largura em microssegundos de um pulso em qualquer pino digital. Trs parmetros so requeridos: a. o numero do pino; b. o parmetro valor diz funo, que tipo de pulso deve ser medido (HIGH/LOW); 36
c. o parmetro espera (time out) opcional, e se for passado funo, faz com que a medida do pulso s comece aps o tempo em microssegundos especificado ali. 2.3.2.1.3.2 Pinos Analgicos A seguir apresentada a funo que efetua o controle dos pinos analgicos da plataforma Arduino (SILVEIRA, 2011): 1. analogRead (pino): essa funo l o nvel analgico presente no pino, aps a converso para o seu equivalente em bits. O seu valor pode ser guardado em uma varivel determinada pelo programador. Os pinos analgicos so reconhecidos pela linguagem do Arduino tanto como de (A0 a A5), como (14 a 19), dando continuidade aos pinos digitais. Os mesmos pinos analgicos podem ser configurados tambm como pinos digitais com a funo pinMode( ), desse jeito possvel aumentar o nmero de pinos digitais para 20 (SILVEIRA, 2011). 2.3.2.1.3.3 Portas Seriais A seguir so apresentadas as funes que efetuam o controle das portas seriais da plataforma Arduino (SILVEIRA, 2011). 1. Serial.begin (taxa): essa funo habilita a porta serial, e fixa a taxa de transmisso e recepo em bits por segundo entre o computador e o Arduino. 2. Serial.end( ): desabilita a porta serial, para permitir o uso dos pinos digitais 0 e 1 para entrada ou sada. 3. Serial.available( ): funo responsvel por informar o nmero de bytes disponveis para leitura no buffer da porta serial. O valor 0 retornado quando no h nenhuma informao para ser resgatada na porta serial. 4. Serial.read( ): l o primeiro byte que est no buffer da porta serial. O valor -1 retornado quando no h nenhuma informao para ser resgatada na porta serial. 5. Serial.print (valor, formato): essa funo envia para a porta serial um caractere ASCII (American Standard Code for Information Interchange), que pode ser capturado por um terminal de comunicao: 37
a. o primeiro parmetro, valor, passa o dado que ser transmitido; b. o segundo parmetro, formato opcional, e especifica com quantas casas decimais ou com que base numrica vai ser transmitido o nmero: i. Serial.print (1.23456): transmite 1.23 (default); ii. Serial.print (1.23456, 3): transmite 1.234; iii. Serial.print (Al Mundo!): transmite a frase (string); iv. Serial.print (A): transmite o caractere A; v. Serial.print (A, BIN): transmite 01000001; vi. Serial.print (A, DEC): transmite o decimal 65. 6. Serial.println (valor, formato): essa funo tambm envia para a porta serial um caractere ASCII, que pode ser capturado por um terminal de comunicao. Porm acrescenta ao final da transmisso o caractere Carriage Return (retorno ao incio da linha) e o caractere New Line (mudana para a prxima linha). O Terminal Serial do Arduino mostrar inicialmente o retorno da funo available( ), que ser 0, e o da funo read( ), que ser -1. Isso ocorre porque nenhum dado est disponvel na porta serial do computador. 2.3.2.1.4 Controle de Servo-motores O comportamento de um servo simples. Ele possui 180 graus de movimento, sendo que para seu controle so utilizados valores variveis entre 0 e 179. O servo deve ser ligado a algum pino PWM, para que seja possvel fazer esse controle (SABER ELETRONICA, 2012). Para fazer o movimento de um servo no Arduino, necessrio seguir uma srie de procedimentos na programao. O Software Arduino traz consigo uma srie de exemplos j implementados (PINHEIROS, 2012).
38
A Figura 7 mostra o exemplo da programao do controle do Servo.
Figura 7. Controle de Servo com Potencimetro Fonte: Adaptado de Pinheiros (2012) A Figura 8 mostra o circuito utilizando o Software Fritzing de modelagem.
Figura 8. Circuito de Controle de Servo com Potencimetro Fonte: Pinheiros (2012) Como as definies esto dentro da funo loop( ), a cada volta dada na funo, ele pega o novo valor do potencimetro e escreve no pino de sada do servo, modificado assim a sua posio. 39
2.3.2.2 Bibliotecas Bibliotecas simplificam o cdigo e economizam memria do programa. Quando se obtm algum equipamento, como sensores ou servo-motores, geralmente o fabricante oferece uma biblioteca para facilitar a programao, eliminando assim muitas linhas de cdigo para fazer alguma determinada ao. Para utilizar uma biblioteca preciso adicionar o arquivo dentro da pasta de bibliotecas do Software Arduino e fazer uma chamada para dentro do cdigo, aps isso, possvel utilizar as funes prontas que as determinadas bibliotecas oferecem (GAIER, 2011). Existem diversas bibliotecas que facilitam na hora da programao, como o caso da biblioteca Servo.h que facilita o controle de servo-motores (ARDUINO TEAM, 2012e). 2.3.2.3 Servo.h A biblioteca servo.h est presente como biblioteca padro, junto com outras nove. Segundo o ARDUINO TEAM (2012g), com esta biblioteca a grande maioria dos Arduinos deixam de se limitar a apenas oito servos e passam a poder controlar at 12, e o Mega, at 48. 2.3.2.3.1 Mtodos Padres Os mtodos padres para controle dos servos (SILVEIRA, 2011). 1. Attach(int): torna o servo altivo. 2. Detach(): libera um servo do funcionamento. 3. Write(int): define o ngulo do servo em graus (0 a 180). 4. Read(): retorna o valor da ultima gravao. 5. Attached(): retorna 1 se o servo estiver em uso. 2.3.2.3.2 Mtodos Extras Existem mtodos extras para que seja mais fcil fazer o controle dos servos (SILVEIRA, 2011). 1. Refresh( ): deve ser chamada a cada 50 milissegundos para manter o servo atualizado, e pode ser chamada quantas vezes for necessrio. 40
2. SetMinimumPulse(uint16_t): define a durao do pulso em 0 grau, em microssegundos. (Valor mnimo padro 544 microssegundos). 3. SetMaximumPulse(uint16_t): define a durao do pulso de 180 graus, em microssegundos. (Valor padro mxima de 2400 microssegundos). O Arduino foi escolhido como plataforma, por possuir uma documentao bem definida, um Software de desenvolvimento prprio, e uma boa interao com o computador. Alem disso, tanto a plataforma quanto o Software facilitam o uso de servos (utilizando a biblioteca Servo.h) em projetos na rea de robtica. 2.4 SOFTWARE DE MODELAGEM Existem diversos softwares de modelagens, sejam eles fsicos ou de circuito. Dentre esse universo existe um software especializado na construo de circuitos utilizando o Arduino, esse proporciona toda uma vasta gama de componentes eletrnicos, Shields e modelos de Arduino. 2.4.1 Blender Originalmente desenvolvido pela empresa Not a Number (NaN), o Blender, fundando em 1998, atualmente um Software Livre. Consiste em uma ferramenta que permite a criao de modelos 3D. Oferece funcionalidades completas para modelagem, renderizao, animao, ps-produo, criao e visualizao de contedo 3D interativo (BLENDER TOTAL, 2012). Dirigido a profissionais e artistas desta rea, o Blender pode ser utilizado para criar visualizaes de espaos tridimensionais, imagens estticas, bem como vdeos de alta qualidade. Incorpora ainda um motor 3D em tempo real, que permite tambm a criao de contedo 3D interativo, para reproduo stand-alone (BLENDER TOTAL, 2012).
41
A Figura 9 apresenta a interface do software Blender:
Figura 9. Blender Software 2.4.2 SketchUp SketchUp um software proprietrio para a criao de modelos em 3D realistas. Foi originalmente desenvolvido pela At Last Software, uma empresa estadunidense, a qual foi adquirida pela Google, em 2006. A verso atual em portugus a 8.0. O SketchUp est disponvel em duas verses: a verso profissional, e a verso gratuita, sendo esta ltima para uso no comercial. No site do Google SketchUp, voc encontra para download a verso 8.0 em ingls do software (SKETCHUP BRASIL, 2012). 42
Figura 10. SketchUp Software 2.4.3 Fritzing O Software Fritzing uma iniciativa open-source criada em 2007, que tem como objetivo facilitar a modelagem de circuitos, principalmente utilizando Arduino. O Software no uma ferramenta de simulao e sim apenas de modelagem do circuito. Possui trs esquemticas de visualizao do circuito (FRITZING, 2012): 1. Grfica: apresenta a visualizao dos componentes como equipamentos fsicos; 2. Lgica: representao do circuito lgico, onde possvel visualizar o funcionamento de cada componente; 3. PCB (Printed Circuit Board): apresenta o circuito impresso. Ambos os modos de visualizao possibilitam a modelagem, e indiferente de qual for o modo de representao alterado, ele criar os outros automaticamente (NUNES, 2011). A Figura 11 apresenta a interface do Software e um exemplo de controle de um servo-motor: 43
Figura 11. Fritzing Software Fonte: Fritzing (2012) Este Software foi utilizado para a criao da modelagem do projeto para o TTC II, por ser tratar de um Software de fcil manuseio, e com suporte para utilizao do Arduino. O Software Fritzing foi escolhido para a modelagem do projeto, por possuir um apelo direto ao Arduino. No foi encontrado nenhum outro Software com o mesmo intuito. Vale ressaltar que o Fritzing um Software de modelagem do circuito e no simulao. 2.5 PROJETOS SIMILARES Vrios grupos de pesquisa trabalham em projetos na criao de robs baseando suas arquiteturas em prottipos biologicamente inspirados, sendo eles com pernas (bpedes, quadrpedes...), asas (utilizados na explorao de territrios) entre outros. H tambm robs com arquiteturas no biologicamente inspiradas, no caso dos robs com rodas, com hlices e com trilhos (esteiras), bastante usados na explorao planetria (BEKEY, 2005). Portanto, possvel observar que existem diversos modelos de robs que surgiram nas ltimas dcadas, e apresentam os mais variados modos de locomoo, permitindo que eles se desloquem nos meios aqutico, terrestre e areo. 44
2.5.1 Locomoo O estudo da locomoo de robs denominado robtica mvel. A locomoo envolve uma gama enorme de conhecimentos em diversas reas. Entre elas esto, a programao, o controle, a matemtica, a computao grfica, a cinemtica e a dinmica (SOUTO, 2007). 2.5.1.1 Quadrpedes O estudo cientfico de modelos de locomoo de quadrpedes comeou no final do sculo XIX com uma notvel srie de fotografias em seqncia tiradas por Eadweard Muybridge de mamferos, incluindo os seres humanos, locomovendo-se lentamente ou correndo (MUYBRIDGE, 1899). No incio da dcada de 50, a empresa General Eletric construiu uma grande mquina quadrpede hidrulica controlada por um operador humano. Uma nova verso foi desenvolvida por Ralph Mosher e construda em 1968. O veculo possua doze graus de liberdade, e seu controle era realizado por meio de alavancas e pedais. No entanto, sua operao era restrita a profissionais bem treinados. O Quadro 5 mostra a mquina construda pela General Eletric em 1968. Sem Obstculos Com Obstculos
Quadro 5. Rob Quadrpede General Eletric 1968 Fonte: Bekey (2005); Machado (2006) 45
2.5.1.2 Movimento de Perna Segundo Rafael Fontes Souto (2007), a locomoo de quadrpedes caracterizada por diversas seqncias peridicas de movimentos de suas pernas. Dentre os modos de locomoo, pode-se citar a caminhada, o trote, o galope, o meio-galope e a marcha. Essas diferentes formas de se locomover esto associadas quantidade de patas em contato com o cho a cada intervalo de tempo e velocidade de deslocamento do corpo, determinando dois tipos de estabilidade: esttica e dinmica. A estabilidade esttica, definida pela baixa velocidade, quando o rob levanta uma perna por vez, deixando seu centro gravitacional no solo, dentro do tringulo formado pelas outras trs pernas em contato com a superfcie (SOUTO, 2007). A estabilidade dinmica, definida pela alta velocidade, quando as pernas do rob so levantadas duas a duas ou at mesmo quando todas elas perdem simultaneamente o contato com o solo por curtos perodos de tempo, na qual foras inerciais ajudam no equilbrio (SOUTO, 2007). Sendo o movimento das pernas um dos pontos cruciais para a realizao do prottipo, foi definido como ponto de partida o estudo de locomoo da classe do reino animal Reptilia (rpteis), pois grande parte dos animais que a compe, possuem a arquitetura de perna semelhante ao do prottipo proposto. 2.5.1.2.1 Biolgicos Similares Os rpteis constituem uma classe de animais vertebrados tetrpodes (quadrpedes) e ectotrmicos (no possuem temperatura corporal constante). Os rpteis atuais so representados por quatro ordens (ECOLOGIA ONLINE, 2012): 1. Ordem Crocolilia (crocodilos): 32 espcies. 2. Ordem Rhynchocephalia (tatuaras da Nova Zelndia): 2 espcies. 3. Ordem Squamata (lagartos): 7.600 espcies aproximadamente. 4. Ordem Testudinata (tartarugas): 300 espcies aproximadamente. Seguindo essas classes foi feito um levantamento dos animais que mais se assemelham com o esqueleto do prottipo a ser criado. O Quadro 6 apresenta a lista de rpteis semelhantes. 46
Nome N o de Articulaes Imagem Lagarto Verde 2 articulaes por perna.
Drago de Komodo 2 articulaes por perna.
Tartaruga Gigante 2 articulaes por perna.
Jacar 2 articulaes por perna.
Quadro 6. Lista de Rpteis 2.5.1.2.2 Prottipos Similares Aps anlise dos Rpteis, faz-se necessrio fundamentar outros prottipos j criados, para visualizar o grau de complexibilidade e as tcnicas utilizadas para movimentao de uma perna articulada.
47
2.5.1.2.2.1 Srie TITAN A srie TITAN foi concebida em 1980 por pesquisadores do Laboratrio Hirose- Yoneda do Instituto de Tecnologia de Tquio. Estes robs possuam uma arquitetura biologicamente inspirada e j apresentavam diversas vantagens em relao aos construdos at ento. O TITAN VI, j possua sensores e era capaz de correr em terrenos planos por meio do trote e de subir degraus de escadas. O TITAN VII, possua patas extensveis para prover uma maior estabilidade e conseguia caminhar em terrenos inclinados. O ltimo da srie foi o TITAN IX, projetado para ajudar na identificao e remoo de minas terrestres (BEKEY, 2005). O Quadro 7 apresenta os trs ltimos modelos do rob TITAN. TITAN VII TITAN VIII TITAN IX
Quadro 7. Apresentao dos Modelos de Robs TITAN Fonte: Bekey (2005) 2.5.1.2.2.2 Srie Tekken Em 2003, pesquisadores da Universidade de Tquio desenvolveram o Tekken-II (nova verso do Tekken-I criado anteriormente), o qual j apresentava alguma habilidade de adaptao a terrenos irregulares, tanto caminhando quanto na corrida, e sua implementao inclua um modelo de sistema nervoso com um oscilador neural (BEKEY, 2005). A Figura 12 apresenta o rob Tekken II. 48
Figura 12. Rob Tekken II Fonte: Bekey (2005) 2.5.1.2.2.3 Puppy No Laboratrio de Inteligncia Artificial da Universidade de Zurique em 2004, surgiu o Puppy. Um rob baseado na anatomia de um cachorro com a inteno de explorar os princpios da robtica quadrpede que imitassem a natureza animal. Alm de possuir msculos artificiais que conectavam todo o corpo, o Puppy ainda contava com um sistema de viso composto por quatro servo-motores e duas micro-cmeras (BEKEY, 2005). A Figura 13 apresenta o rob Puppy.
Figura 13. Rob Puppy Fonte: Bekey (2005)
49
2.5.1.2.2.4 Sony AIBO Em 1999, a Sony lanou um modelo de rob semelhante a um cachorro chamado de AIBO. Em outubro de 2005 foi criado o AIBO ERS-7M3, o ltimo modelo de uma srie de robs AIBO. O rob possua cmera CMOS (complementary metal-oxide semiconductor) para visualizao do ambiente e reconhecimento do rosto de seus donos. O rob era capaz de reconhecer comandos verbais, compreendendo cerca de cem palavras e frases. Possua uma grande quantidade de sensores utilizados para que este possusse uma grande variedade de comportamentos, desde sentar-se sobre as patas traseiras e acenar com a dianteira, at deitar- se e levantar-se de forma autnoma (SONY, 2012; BEKEY, 2005). O AIBO possui uma memria denominada AIBOware. Este software permite que o AIBO viva um vida de cachorro, desde filhote at a idade adulta atravessando vrios estgios de desenvolvimento e aprendizado conforme o dono for interagindo. Sem o AIBOware os modelos so executados no chamado Modo Clnica, podendo apenas executar aes bsicas (SONY, 2012). A Figura 14 apresenta o AIBO ERS-7M3.
Figura 14. AIBO ERS-7M3 Fonte: Sony (2012) O AIBO ERS-7M3 est entre os mais interessantes e criativos robs j construdos, e sua introduo ao mercado despertou um interesse enorme na indstria de brinquedos. Cabe salientar que este modelo capaz de demonstrar emoes (zangado, deprimido e rude), alm de emitir sons digitais para ladrar, rosnar e choramingar (SONY, 2012). 50
2.5.1.2.2.5 RobuDOG A RobuDOG um rob de quadrpede criado pela Robosoft, empresa francesa que iniciou seus trabalho com robtica no ano de 1985. Foi apresentado ao mundo no Robocup em Atlanta no ano de 2007. Suas principais caractersticas so a preciso e velocidade na qual ele consegue chutar uma bola com as pernas da frente e sua trao (MICROSOFT, 2012). A Figura 15 apresenta o RobuDOG.
Figura 15. RobuDOG Fonte: Oliveira, 2008 O RobuDOG tem um computador acoplado com o Windows XP Embedded (XPE), Microsoft Robotics Studio e RobuBOX Robosoft. As quatro pernas possuem sensores de velocidade em contato com o piso, uma cmera colorida inteligente programvel, 17 servo- motores articulados, giroscpio 2D para fornecer choque e deteco de queda, conectividade WiFi e microfones embutidos estreo (MICROSOFT, 2012). Para alguns seria apenas um divertimento, no entanto este modelo uma forte ferramenta de ensino, tanto para professores, como para programadores e interessados em programar aes para o RobuDOG, j que ele possui essa finalidade (MICROSOFT, 2012). 51
Algumas das principais caractersticas da plataforma do RobuBOX e dos equipamentos utilizados no RobuDOG, podem ser observadas no Quadro 8. Dimenso 33 x 25 x 34 (centmetros) Peso 3 Kilogramas Plataforma 17 junes (4 por cada perna frontal, 3 por cada perna traseira e 3 para a cabea Geode LX800 @ 500 Megahertz 512 Megabytes + 2 Gigabytes SSD (solid-state drive) Wifi 802-11 b/g Ethernet RJ-45 RobuBOX 1 USB Giroscpio 2D 2 Sensores Infravermelhos CMUcam3 : Cmera inteligente e programvel Sensor de contato em cada perna Microfone Estreo Sensores e Equipamentos Conjunto de Baterias de Li-Po (4800 mili/Amper/hora (mAh)) Quadro 8. Caractersticas RobuDOG Fonte: Adaptado de Oliveira, 2008 2.5.1.2.2.6 BigDog Idealizado pela Boston Dynamics por Marc Raibert, Kevin Blankespoor, Gabriel Nelson, Rob Playter, o BigDog foi criado para andar sobre qualquer terreno igualmente a uma criatura viva, capturando os mesmos movimentos, autonomia e velocidade. O BigDog possui sensores de terreno, sistemas de computao e energia avanados, alem de outras diversas caractersticas que sero apresentadas (BIGDOG TEAM, 2008). Os autores do projeto comearam na rea da robtica h 29 anos, com foco em robs com pernas que se moviam dinamicamente e com sistema de equilbrio. Durante a dcada de 80, eles desenvolveram diversos robs, sendo eles bpedes e quadrpedes (BIGDOG TEAM). Segundo os criadores, eles poderiam controlar qualquer rob com uma abordagem de controle relativamente simples, segmentada em trs atividades principais: 52
1. Apoiar o corpo com um movimento de salto vertical; 2. Controlar a atitude do corpo por servo-viso atravs de torques no quadril durante cada fase de apoio da perna; 3. Colocar os ps em locais-chave em cada etapa usando os princpios de simetria, para manter o rob equilibrado. As duas grandes dificuldades na criao do BigDog foram: 1. Alimentao de energia prpria. 2. Controle de estabilidade em ambientes acidentados. O BigDog possui um sistema de bordo que fornece energia, atuao, sensoriamento, controle e comunicao. A Fonte de alimentao resfriada a gua, possui motor dois tempos de combusto interna, que proporciona cerda de 15 HorsePower. O motor aciona uma bomba hidrulica, que proporciona presso de leo atravs do sistema de filtros, dobras principais, acumuladores e encanamentos para outros atuadores da perna. O atuadores so cilindros de baixo atrito, reguladas por duas fases aeroespacial servo-valvuladas. Cada atuador possui sensores para posio conjunta e fora. Cada perna possui quatro atuadores hidrulicos responsveis pelo poder das articulaes, dando assim cinco graus de liberdade (BIGDOG TEAM, 2008). Possui um computador de bordo que controla o seu comportamento, admitindo os sensores e lidando com a comunicao entre ele e o operador humano. O computador de controle tambm pode registrar grande quantidade de dados de engenharia para anlise de desempenho, falhas e suporte operacional (BIGDOG TEAM, 2008). O rob possui cerca de 50 sensores. Sensores inerciais para medir a atitude e a acelerao do corpo, enquanto os sensores de movimentao conjunta oferecem as informaes para os atuadores de fora nas articulaes. O computador de bordo integra informaes desses sensores para fornecer estimativas de como BigDog est se movendo no espao. Outros sensores tambm so responsveis por monitorar o fluxo da presso hidrulica, temperatura e a velocidade do motor (BIGDOG TEAM, 2008). O computador de bordo executa ambas as funes de controle de baixo nvel e de alto nvel. Os servos de baixo nvel so responsveis pelo controle do sistema de posies e fora nas articulaes. J o sistema de controle de alto nvel coordena o comportamento das pernas 53
para regular a velocidade e altitude do corpo durante a locomoo. O sistema de controle regula tambm as foras de interao com o solo para manter a propulso, apoio e trao (BIGDOG TEAM, 2008). O BigDog tem uma variedade de comportamentos de locomoo. Ele pode se levantar, agachar, andar com uma marcha de rastreamento que levanta apenas uma perna de cada vez, andar com uma marcha trote que levanta as pernas diagonais em pares, trote com uma marcha de corrida que inclui uma fase de vo, e em especial a marcha galope (BIGDOG TEAM, 2008). As velocidades de deslocamento do BigDog so: 1. para a marcha rastreio de cerca de 0,2 metros por segundo; 2. para a marcha trote de cerca de 1,6 metros por segundo; 3. para a marcha de corrida de cerca de 2 metros por segundo. Pesa cerca de 109 kilogramas, e suas dimenses so cerca de 1 metro de altura, 1,1 metros de comprimento e 0,3 m de largura (BIGDOG TEAM, 2008). Pode andar na lama e na neve e em declives, e em uma infinidade de superfcies, incluindo esburacados, rochosos e cascalho. O BigDog tambm saltou cerca de 1,1 metros, e em terreno plano levou 154 kilogramas. A maior operao contnua do BigDog foi uma caminhada de 10 kilmetros, que durou cerca de duas horas e meia. O projeto do BigDog visa melhorias para operar por um perodo de 20 horas sem falhar (BIGDOG TEAM, 2008). O sistema de viso estreo foi desenvolvido pelo Jet Propulsion Laboratory. constitudo por um par de cmeras estreo, um computador e software de viso. O sistema de estreo pode ser usado para adquirir a forma do terreno 3D mesmo na frente do rob, e tambm para encontrar um caminho claro. O sistema est sendo usado para que o BigDog no necessite mais de um operador de controle e possa funcionar de forma mais autnoma. (BIGDOG TEAM, 2008).
54
O Quadro 9 mostra algumas imagens do BigDog em diferentes terrenos. Ambiente Imagem Aclive com Neve
Declive com Barro
Com Obstculos
Quadro 9. BigDog em Ambientes Distintos Fonte: BigDog Team (2008)
55
2.5.2 Comparativo Aps uma anlise dos projetos similares, foi criado um comparativo das caractersticas comuns dos projetos que pode ser observado no Quadro 10, a fim de exemplificar e verificar padres para a criao de um projeto funcional. Nome Nmero de Pernas Nmero de Servos Controle de Estabilidade Peso Capacidade Ultrapassar Obstculos Capacidade Locomoo Ambientes Irregulares TITAN 4 16 Sim No informado Sim Sim Tekken 4 17 Sim No informado Sim Sim Puppy 4 No informado Sim No informado Sim No informado AIBO 4 17 Sim No informado Sim No informado RobuDog 4 17 Sim 3 Kg Sim No informado BigDog 4 No informado Sim 109 Kg Sim Sim Quadro 10. Comparativa dos Projetos Similares 56 3 DESENVOLVIMENTO A soluo proposta nesse projeto foi a criao de um rob pequeno, com a capacidade de se locomover com o uso de quatro pernas servo-controladas em um ambiente plano e sem obstculos. Nos tpicos a seguir, sero apresentados detalhadamente os passos que foram necessrios para a realizao do projeto. Nestes sero especificados os materiais que foram utilizados, as mudanas que ocorreram durante a fase de criao, e os resultados obtidos ao final da construo. 3.1 MODELAGEM DO PROJETO Para que fosse possvel a construo do prottipo funcional, foi necessrio fazer um estudo e simul-lo via software. Esta fase do projeto consistiu em recriar todo o projeto fsico virtualmente, e para que isso fosse possvel, foram utilizados os seguintes softwares: 1. Blender: Utilizado na criao da modelagem 3D do projeto, de forma mais genrica, para verificar sua viabilidade; 2. SketchUp: Utilizado na criao da modelagem fiel em 3D, nas dimenses das peas a serem reproduzidas e para a construo das pernas e da base. 3. Fritzing: Utilizado para a modelagem dos circuitos e componentes do projeto; 3.1.1 Modelagem Blender A primeira modelagem efetuada para o auxilio foi a do Blender. Esta modelagem serviu como uma primeira base para criao dos esquemas do prottipo, verificando a sua viabilidade de construo, podendo, assim, dar origem s demais modelagens. A Figura 16 apresenta a modelagem 3D da esquemtica do prottipo completo. 57
Figura 16. Modelagem Esquemtica do Prottipo A Figura 17 apresenta o prottipo modelado de forma slida.
Figura 17. Modelagem do Prottipo 3D Tambm foram modelados no Blender o esquema de movimentao das pernas, que sero apresentados posteriormente em um tpico especial.
58
3.1.2 Modelagem SketchUp O Software SketchUp, foi utilizado para recriar as partes fsicas do projeto em exata escala 3D. Nesta ferramenta, foi possvel representar os tamanhos de todos os componentes e de como estes seriam organizados antes mesmo de comear a construo do projeto final. Os prximos tpicos apresentaro estas modelagens de forma mais detalhada e com suas dimenses, as quais foram utilizadas para criar o prottipo. 3.1.2.1 Modelagem das Pernas A primeira e mais importante modelagem foi a de como seriam reproduzidas as quatro pernas do rob. Nesta modelagem foi necessrio criar um conjunto de pernas funcionais e esteticamente agradveis, com o intuito de tornar possvel a construo com matrias disponveis e conhecimento limitado com relao marcenaria, haja vista o fato de ter utilizado a madeira como material para a estruturao do modelo. O Quadro 11 apresenta a modelagem detalhada da perna utilizada no projeto e suas reais dimenses. PARTE IMAGEM Parte Superior
59
Parte Inferior
Quadro 11. Modelagem Detalhada das Pernas Com esta modelagem, foi possvel verificar alguns fatores importantes para o projeto, como, por exemplo, o alinhamento dos mecanismos, assim como estes iriam funcionar, de forma que as estruturas das pernas no se chocassem ou se atrapalhassem na hora da movimentao. A Figura 18 apresenta a modelagem final da perna utilizada no projeto.
Figura 18. Modelagem da Perna Final O modelo utilizado no projeto foi escolhido por sua simetria, estabilidade e tamanho, pois possui a maior base de contato com o solo, e a melhor disponibilidade para fixao dos servos. 60
3.1.2.2 Modelagem da Plataforma A modelagem da plataforma, no menos importante para o projeto, foi necessria para que fosse possvel posicionar as pernas criadas e verificar a real disposio de todos os componentes. A Figura 19 apresenta a modelagem da plataforma utilizada no projeto e suas reais dimenses:
Figura 19. Modelagem da Plataforma Final Com esta modelagem foi possvel verificar alguns fatores cruciais para o projeto, como a disposio dos componentes, o posicionamento das pernas para que no se chocassem com o movimento e o equilbrio do prottipo em consonncia com suas dimenses. A Figura 20 apresenta a modelagem da plataforma final com os servos em suas determinadas posies:
Figura 20. Modelagem da Plataforma Final com Servos O modelo utilizado no projeto foi escolhido por seguir a linha de raciocnio lgico utilizado em outros projetos similares analisados. Este modelo de plataforma foi mais vivel 61
para construo por sua simetria e disposio para insero dos componentes, sem deixar de atender aos princpios do projeto. 3.1.2.3 Modelagem Final Depois da modelagem das pernas e da plataforma, foi possvel unificar as concluses acerca de tais estudos e observaes, para que se pudesse verificar como o prottipo ficaria ao final de sua construo. A Figura 21 e Figura 22 apresentam a modelagem final do prottipo:
Figura 21. Modelagem do Prottipo Final (01)
Figura 22. Modelagem do Prottipo Final (02) O tpico a seguir apresentar todos os materiais que foram utilizados para a criao do rob, bem como suas especificaes. 62
3.1.3 Modelagem Fritzing O Software Fritzing tornou possvel a criao da modelagem do circuito empregado no projeto final, o mesmo foi reproduzido apenas uma vez sem que houvesse erro algum. A Figura 23 apresenta o circuito utilizado no prottipo, a fim de saber como sero organizados os componentes sobre a base do rob.
Figura 23. Modelagem do Circuito Fritzing Na modelagem utilizando o Fritzing, foi possvel representar o circuito completo, informando o numero de servos utilizados, as portas que foram utilizadas do Arduino, e como todos componentes foram ligados protoboard. 3.2 CONTRUO DO PROTTIPO Aps a criao das modelagens, tornou-se possvel reproduzir o projeto proposto com uma pequena margem de erro, afinal, todas as especificaes do projeto j haviam sido elaboradas. Os seguintes tpicos iro apresentar a fase da construo do prottipo fsico e os materiais utilizados nesta criao.
63
3.2.1 Materiais Utilizados Para que se possibilitasse a realizao da construo do prottipo, tornou-se necessria a utilizao de uma srie de materiais. Os principais componentes utilizados na construo esto elencados na Tabela 1. Quantidade Descrio 1 Plataforma de madeira 4 Pernas de madeira 1 Placa Arduino UNO 1 Placa Protoboard 830 furos 8 Servo-motores Hobbico CS60 Standard Sport 1 Bateria 6 volts, DuraTrax 1600 micro-amperes de 5 clulas, 2/3 amperes de alta descarga. Tabela 1. Materiais Utilizados Foram tambm utilizados fios e parafusos, alm de outros materiais no contemplados na lista anterior. Os tpicos a seguir mostraro algumas das especificaes e utilizaes dos componentes referentes construo do prottipo. 3.2.1.1 Estrutura do Prottipo Aps criar a estrutura completa do Rob no Software SketchUp, foi necessria a escolha dos materiais que possibilitassem a construo fsica do modelo elaborado no projeto. O primeiro material cogitado foi a madeira balsa, muito utilizada na construo de aeromodelos, maquetes e materiais flutuantes como salva-vidas, por ser uma madeira leve e de fcil manuseio, todavia a mesma foi descartada pelo seu custo financeiro e pela dificuldade de ser encontrada. Deste modo, o material escolhido foi a madeira pinus, que um pouco mais pesada se comparada balsa, porm tambm de fcil manuseio, alm do baixo custo e sua fcil obteno. 64
No Quadro 12 so apresentados os matrias que compem a estrutura do prottipo: Material Dimenso em Milmetros Imagem Plataforma Pinus 250x250x3
Perna Pinus 155x60x489
Quadro 12. Materiais da Estrutura 3.2.1.2 Arduino O Arduino utilizado no projeto foi o UNO. Ele possui 14 portas digitais utilizadas para controlar os servos (ARDUINO TEAM, 2012h). A Figura 24 apresenta o Arduino UNO:
Figura 24. Arduino UNO Este modelo de placa Arduino pode ser alimentado pela conexo USB ou com uma fonte externa. A entrada de alimentao selecionada automaticamente. Sua alimentao 65
externa pode ser tanto de uma fonte eltrica comum, como de baterias (ARDUINO TEAM, 2012h). A placa pode operar com alimentao externa entre 6 e 20 volts. No entanto, se menos de 7 volts forem fornecidos, o pino de 5 volts pode fornecer menos do que esta voltagem, o que pode ocasionar a instabilidade da placa. Com mais de 12 volts o regulador de voltagem pode superaquecer e danificar o componente. Portanto, a faixa recomendvel de 7 a 12 volts (ARDUINO TEAM, 2012h). O UNO tem 32 kilobytes de memria flash para armazenamento de cdigo (dos quais 0,5 kilobytes so usados pelo bootloader), 2 kilobytes de SRAM e 1 kilobytes de EEPROM (ARDUINO TEAM, 2012h). As dimenses mximas de comprimento e largura da placa Mega so 68,58 milmetros por 53,34 milmetros, respectivamente, com o conector USB e a entrada de alimentao ultrapassando um pouco as dimenses da placa em si. Trs furos para montagem com parafusos permitem montar a placa numa superfcie (ARDUINO TEAM, 2012h). 3.2.1.3 Protoboard No projeto foi utilizada uma protoboard de 830 pontos com duas barras de distribuio de energia. Esta protoboard permite trabalhar com temperaturas entre -20 at 80 graus Celsius, com uma tenso mxima de 500 volts por minuto, e possui a dimenso de 165x57x10 milmetros. A Figura 25 apresenta a Protoboard utilizada para o projeto.
Figura 25. Protoboard 830 Pontos O motivo da utilizao desta protoboard foi a facilidade de elaborar os circuitos necessrios e a possibilidade de trocar componentes na fase de ajustes. Seu espao para 66
prototipagem foi o suficiente para manter o circuito organizado e a possibilidade de receber eventuais ajustes. 3.2.1.4 Servo-Motores Houve uma mudana nos servo-motores antes escolhidos, pois no suportariam o peso do rob final. Aps essa primeira dificuldade foi necessria a troca por servos mais fortes e potentes, chegando, ento, at os servos utilizados atualmente no projeto, os quais j especificados. A princpio, os servos a serem utilizados no prottipo eram os 9G Tower Pro SG90 (Figura 1), os mesmos que so utilizados na construo de veculos rdio controlados. Como esses servos no atendem necessidade do projeto por falta de capacidade ou fora, estes foram trocados por um modelo mais forte, que possui um poder de torque de 3,57 quilogramas fora. Os servos ento utilizados foram os CS-60 Standard Sport da marca Hobbico, estes servos trabalharam entre 4,8 e 6,0 volts, e proporcionam uma fora de 3,57 kilogramas por centmetro, com 0,15 segundos de velocidade de resposta em sua potencia mxima. Este servo possui o consumo de 5,3 micro-amperes em seu estado ocioso e 400 micro-amperes em seu estado ativo. Cada servo possui o peso de 44,9 gramas, ou seja, por mais que tenham sido usados oito no projeto, acrescentou apenas 359,2 gramas no peso final do prottipo (HOBBICO, 2012). A Figura 26 apresenta o modelo do servo utilizado atualmente no projeto.
Figura 26. Servo-motor CS-60 Standard Sport
67
3.2.1.5 Bateria Para que fosse possvel controlar oito servos com 6 volts cada, foi necessrio usar uma bateria de Nquel Hidreto Metlico (NiMH) DuraTrax de 1600 micro-amperes. 6.0 volts com cinco clulas. Esta bateria geralmente utilizada em carros, caminhes, caminhonetes e barcos radio-controlados, pois apresenta uma alta capacidade de carga (DURATRAX 2012). A Figura 27 apresenta a bateria utilizada no projeto.
Figura 27. Bateria DuraTrax 1600 Micro-amperes Esta bateria foi escolhida para o projeto por sua alta capacidade de carga, custo financeiro no to elevado e por ser diretamente 6 volts, descartando a necessidade do uso de reguladores de energia. A bateria utilizada conseguiu atender aos requisitos e alimentar os oito servos para movimentao do prottipo. 3.2.2 Acoplamento das Estruturas Aps a confeco das partes das pernas e da plataforma, bem como a seleo de todos os componentes, foi iniciada a montagem do prottipo, criao das pernas por completo e organizao dos componentes sobre a plataforma. Os tpicos a seguir iro apresentar detalhadamente a fase de construo das pernas, seu acoplamento na plataforma e a organizao dos componentes sobre esta, de modo que no alterasse o equilbrio do prottipo.
68
3.2.2.1 Construo das Pernas Nesta fase, aps a modelagem e corte da madeira pinus que ir formar o corpo do rob, comearam as colocaes dos servo-motores e as junes das duas partes que compunham cada perna do modelo. Cada perna composta de duas peas de madeiras cortadas nas suas devidas dimenses e um servo para controle. O servo colocado dando o movimento similar ao de um joelho. O Quadro 13 apresenta a fase de posicionamento do servo na parte superior da perna. Estado Imagem Perna Sem Servo
Perna Com Servo
Quadro 13. Insero do Servo na Perna Superior O servo posicionado na primeira pea sem o brao de controle. Seu brao posicionado na segunda pea em uma cavidade especialmente desenvolvido para ele, na qual o servo ser conectado, dando a movimentao para a perna.
69
O Quadro 14 apresenta a fase do posicionamento do brao do servo na parte inferior da perna. Estado Imagem Sem o Brao
Com o Brao
Quadro 14. Insero do Brao do Servo na Perna Inferior Aps o servo e o brao estarem posicionados em seus respectivos lugares, foi possvel juntar as duas partes apenas parafusando-as por intermdio de uma cavidade especifica, o que deu movimento perna. A Figura 28 apresenta a juno das duas partes da perna. 70
Figura 28. Perna Acoplada Com as duas partes acopladas e sua articulao funcionando, foi necessrio posicionar o segundo brao de controle, para que posteriormente fosse colocado o segundo servo. O segundo servo foi posicionado e parafusado nas extremidades da plataforma, sendo posteriormente posicionado na plataforma dando total controle para o prottipo. Finalizando a colocao deste brao, j temos a perna pronta para uso e fixao na plataforma. A Figura 29 apresenta a perna finalizada e pronta para posicionamento.
Figura 29. Perna Finalizada Estes foram os processos de construo que a perna teve que passar para se tornar funcional, tais procedimentos foram efetuados para a montagem de cada perna. 71
3.2.2.2 Construo da Plataforma Com as quatro pernas finalizadas, e a plataforma j preparada, iniciou-se a colocao dos servos na plataforma. A Figura 30 apresenta a plataforma preparada sem os servos.
Figura 30. Plataforma sem os Servos Em cada cavidade da plataforma foi inserido um servo, dando suporte para insero das pernas. A Tabela 2 apresenta as fases de colocao dos servos na plataforma. Tarefa Descrio Posicionamento das pernas Foram colocadas as perna em suas respectivas cavidades, permitindo a colocao dos parafusos de fixao. Colocao dos parafusos Foram inseridos quatro parafusos para cada perna. Fixao das porcas Foram inseridos quatro porcas por perna, dando firmeza para a juno entre a perna e a plataforma. Tabela 2. Insero dos Servos na Plataforma
72
O resultado da colocao dos servos apresentado na Figura 31.
Figura 31. Plataforma com os Servos Aps a insero dos servos, a plataforma recebeu as pernas anteriormente apresentadas, assim estando preparada para receber os componentes. A Figura 32 apresenta a plataforma finalizada.
Figura 32. Plataforma Finalizada
73
Depois da montagem das pernas na plataforma, o corpo do prottipo est pronto para receber os componentes restantes e as configuraes de programao que possibilitaram a movimentao do prottipo. 3.2.2.3 Organizao dos Componentes Esta fase consistiu em posicionar todos os componentes sobre a plataforma j montada, proporcionando o espao necessrio para montagem e organizao do circuito apresentado na Figura 23. O primeiro componente posicionado foi a Protoboard ao centro da plataforma. A mesma foi posicionada de tal forma que proporcionasse a colocao de todos os outros componentes e ligaes com o mnimo de ligaes e cruzamentos de fios, dando organizao, caso houvesse necessidade de efetuar alguma eventual manuteno no prottipo. A mesma foi fixada com fita dupla face sobre a plataforma. Aps o posicionamento do Protoboard foi inserido a placa de prototipao Arduino. Quatro parafusos foram inseridos fixos na plataforma, onde o Arduino foi encaixado e fixado, de tal forma que possibilite a retirada para facilitar a insero de novos programas. O prximo passo foi selecionar um local para fixao da bateria, o qual foi colocado ao lado da Protoboard, evitando, assim, que nenhum fio de energia cruzasse com as demais ligaes do circuito. A mesma tambm foi fixada na plataforma utilizando fita dupla face. Com todos os componentes organizados sobre a plataforma, foi necessria a montagem do circuito. O tpico a seguir apresenta como foi efetuada a ligao de todo o esquema eltrico. 3.2.2.4 Montagem do Circuito Seguindo a montagem do prottipo, aps o posicionamento de todos os componentes na plataforma, iniciou-se ento a reproduo do circuito modelado apresentado na Figura 23. O primeiro passo foi a ligao dos fios negativo e positivo da bateria, na barra de energia da protoboard. Cabe salientar que os mesmo ainda no estavam ligados diretamente bateria. Com as ligaes de energia j montadas, foi necessrio a montagem do circuito sobre a Protoboard, com as ligaes entre os servos X Protoboard e Protoboard X Arduino. A Tabela 3 apresenta a forma de ligao entre a Protoboard e os servos. 74
Ligao Descrio Ligao dos cabos de Energia Foram ligados os fios de energia dos Servos (preto e vermelho) na Protoboard. Ligao dos cabos de controle Foram ligados os fios de controle dos Servos (amarelo) na Protoboard. Tabela 3. Ligao dos Servos na Protoboard Depois das ligaes dos servos na Protoboard, foram feitas as ligaes dos fios de controle dos servos entre a Protoboard e o Arduino. A Figura 33 e Figura 34 apresenta o circuito finalizado e pronto para ser configurado.
Figura 33. Circuito Finalizado
75
Figura 34. Prottipo Finalizado O uso da Protoboard, neste caso, foi apenas para organizar os fios sobre a plataforma, todavia, os cabos poderiam ter sido conectados diretamente dos servo-motores na placa Arduino. 3.3 PROGRAMAO DO PROTTIPO Nesta etapa, aps toda a construo fsica do prottipo ser concluda, foi iniciada a fase de programao, para que os movimentos do rob pudessem ser executados de forma harmnica e com sincronia, de modo que o projeto atendesse a finalidade proposta inicialmente. Para alcanar este objetivo, foi necessrio programar o microcontrolador do Arduino. Esta codificao realizou o controle dos servo-motores, proporcionando, assim, uma caminhada uniforme com direcionamento para a frente. No tpico a seguir so apresentados os movimentos que foram realizados para a locomoo do modelo, bem como as dificuldades encontradas ao longo desta etapa, e as resolues inerentes a cada uma delas.
76
3.3.1 Movimentao Os movimentos das pernas foram baseados em outros prottipos e tambm em observaes da natureza. O movimento utilizado comparado ao dos lagartos e drages de Komodo. A Tabela 4 apresenta um comparativo entre Rob e Drago de Komodo, para que suas semelhanas possam ser resaltadas. Prototipo Drago de Komodo
Tabela 4. Comparao Prottipo X Drago de Komodo 77
Os movimentos analisados foram simulados nos dois ambientes (Blender e SketchUp) para validao da viabilidade. O Quadro 15 apresenta o movimento dos servo-motores internos de cada uma das pernas do prottipo, conforme os graus apresentados na Figura 2. Modelo 90 graus 135 graus 45 graus SketchUp
Real
Quadro 15. Movimento Servos Internos O Quadro 16 apresenta o movimento dos servo-motores externo de cada uma das pernas do prottipo, conforme os graus apresentados na Figura 2 Estes serviro de apoio para o rob se tornando seu p. Modelo 90 graus 45 graus 0 graus SketchUp
Real
Quadro 16. Movimento Servos Externos 78
3.3.2 Movimentos Realizados Para criao e programao dos movimentos, foram necessrios alguns ajustes primordiais. No incio, deu-se a necessidade de separar as pernas e servos enumerando-os, para um melhor entendimento durante a fase de programao. A Figura 35 apresenta a organizao dos servos por nmeros.
Figura 35. Numerao dos Servos Com essa organizao, pode-se ento dar inicio a programao de todos os movimentos, tendo como base os servos numerados para controle. Nos tpicos a seguir sero apresentados os movimentos de forma detalhada para a total compreenso de como foram realizados. 3.3.2.1 Ajuste Fino Para realizao dos primeiros movimentos, foi necessria a criao de um ajuste fino nos servos instalados. Este ajuste foi realizado para que fosse possvel fazer o alinhamento dos servos na posio desejada de inicio, deixando transparente os verdadeiros graus dos servos. Este ajuste tambm possibilitou a normatizao dos sinais dos graus (negativo e positivo), fazendo assim com que todos trabalhassem com mesma orientao, indiferente de onde se encontravam no prottipo. 79
A Figura 36 apresenta o trecho de cdigo responsvel por realizar essa normatizao.
Figura 36. Ajustes dos Servos na Funo Mover Observa-se que este ajuste s possuiu xito com o caso especifico do rob apresentado neste documento. Para cada novo projeto tem-se a necessidade de se alterar alguns valores, porm a linha de raciocnio continuar a mesma. 3.3.2.2 Calibrar O primeiro movimento realizado pelo Rob foi a calibrao. Este movimento serviu como base para que todos os outros movimentos fossem realizados a partir da posies iniciais.
80
A Figura 37, a seguir, apresenta o prottipo em seu ponto inicial.
Figura 37. Rob Calibrado Aps efetuar o ajuste fino, a funo calibrar posiciona todos os servos em 0 grau, deixando o rob pronto para iniciar qualquer outro movimento. A Figura 38 apresenta a programao da funo calibrar.
Figura 38. Funo Calibrar Depois dos servos j calibrados, o rob est pronto para inciar todos os movimentos na qual foi programado para executar.
81
3.3.2.3 Andar Frente/Trs Andar para frente e para trs foram os primeiros movimentos programados, por serem os de maior importncia para a locomoo do prottipo. O entendimento desses movimentos deve-se s observaes do drago de Komodo e outros projetos quadrpedes analisados. O Quadro 17 apresenta o detalhamento dos passos efetuados para realizar o movimento de caminhada para frente e para trs. Orientao Frente Trs Passo Perna Servo Grau Imagem Passo 1 2, 2, 90 3, 2, 90
Quadro 17. Detalhamento do Movimento Andar para Frente/Trs Para troca da direo, necessrio apenas efetuar a inverso dos graus dos passos 2 e 5, revertendo, assim, o curso do prottipo. 3.3.2.4 Andar Direita/Esquerda Apos a programao da caminhada para frente e para trs, foi ento iniciada a programao dos passos para criao de uma caminhada fazendo curvas. Esta caminhada possuiu o intuito de fazer o rob se movimentar para qualquer direo sem a necessidade de uma parada em seu trajeto.
83
O Quadro 18 apresenta o detalhamento dos passos efetuados para realizar o movimento de caminhada para direita e para esquerda. Orientao Direita Esquerda Passo Perna Servo Grau Imagem Passo 1 2, 2, 90 3, 2, 90
Quadro 18. Detalhamento do Movimento Andar para Esquerda/Direita Este movimento teve xito, porm em ambientes apertados o mesmo se torna difcil de ser executado. Para troca da direo necessrio apenas efetuar a inverso dos graus dos passos 2 e 5, revertendo, assim, o curso do prottipo. 3.3.2.5 Girar Direita/Esquerda Outro movimento tambm essencial para que o rob pudesse andar para qualquer direo foi o giro no prpio eixo. Este movimento permite que o rob ande para qualquer direo, dando total liberdade de movimentao. O Quadro 19 apresenta o detalhamento dos passos efetuados para realizar o movimento de giro para ambos os lados no prprio eixo. Orientao Direita Esquerda Passo Perna Servo Grau Imagem Passo 1 2, 2, 90 3, 2, 90
Quadro 19. Detalhamento do Movimento Girar Este movimento se tornou mais interessante para troca de direo, afinal, pode ser efetuado em ambientes onde o espao mais limitado se comparado com o movimento de andar para a direita e para a esquerda. Para troca da direo necessrio apenas efetuar a inverso dos graus dos passos 2 e 5, revertendo, assim, o curso do prottipo. 3.3.2.6 Rastejar Um dos movimentos tambm efetuado foi o rastejo do rob. Este movimento foi criado com o intuito de verificar se existia a possibilidade de locomoo caso duas das quatro pernas parassem de funcionar. Outra motivao para o isso foi a necessidade de saber se os 86
servos iriam aguentar o peso da plataforma caso algo assim acontecesse. O Quadro 20 apresenta o detalhamento dos passos efetuados para realizar o movimento de rastejar do prottipo. Orientao Passo Perna Servo Grau Imagem Passo 1 3, 1, -90 3, 2, 90 4, 1, -90 4, 2, 90
Passo 2 1, 1, 40 2, 1, -40
Passo 3 1, 2, 0 2, 2, 90
Passo 4 1, 1, -40 2, 1, 40
87
Passo 5 1, 2, 90 2, 2, 0
Quadro 20. Detalhamento do Movimento de Rastejar Este movimento foi realizado com sucesso, e pode-se constatar que possvel fazer a locomoo apenas com duas pernas, e que os servos possuem fora para isso. 3.3.2.7 Outros Movimentos Foram efetuados outros movimentos como, por exemplo, as flexes e alongamentos. Estes movimentos apenas foram criados para o entretenimento e no possuem finalidade til para o funcionamento do rob. Estes movimentos esto detalhados na sesso do APNDICE A, onde apresentado o Fonte do projeto. 3.3.3 Tcnicas Utilizadas Como o sistema do Arduino no Multi-Thread, cada servo teve que ser controlado individualmente. Porm, para realizar a movimentao era necessrio controlar um conjunto se servos de uma s vez, dando naturalidade aos movimentos e fazendo com que cada par de servos trabalhasse em conjunto para realizar a locomoo de uma perna. Logo, o ponto chave da programao foi conseguir controlar os servos individualmente, de forma que o rob se locomovesse de naturalmente, sem a percepo de que apenas um servo estava sendo controlado por vez. A soluo para este problema veio de uma forma natural, durante o desenvolvimento da programao. Como os servos possuem uma velocidade de resposta inferior velocidade de execuo do cdigo, o envio de comando para cada um dos servos em sequncia se tornou praticamente invisvel para a percepo humana, pois quando o primeiro servo comeava a se locomover, o ltimo servo tambem j havia recebido o comando, e por sua vez tambem estava atualizando sua posio. 88
Para criar blocos de comandos distintos a serem executados, foram utilizados delays. No final da execuo de cada bloco, foi inserida uma pausa at o inicio de um novo passo, dando tempo necessrio para que os servos chegassem at seus respectivos pontos antes de um novo bloco de comando ser executado. 3.4 TESTE Aps o termino do projeto fsico e lgico, foi necessrio dar incio a uma rotina de testes a fim de validar sob quais condies o prottipo iria funcionar, assim como verificar se este atenderia a todos os requisitos aos quais estava comprometido a executar no projeto inicialmente apresentado. 3.4.1 Testes Fsicos Durante toda a fase de construo do prottipo houveram testes para verificar como seria o funcionamento de cada pea individualmente. Todavia, somente com o prottipo totalmente concludo foi possvel testar todos os movimentos simultaneamente, verificando se todas as partes funcionariam quando submetidas ao trabalho em conjunto. O primeiro passo para a validao foi selecionar um ambiente que oferecesse as condies necessrias para anlise do funcionamento. Como cenrio padro, foi selecionado um ambiente plano sem obstculos. A Figura 39 apresenta o ambiente plano na qual o prottipo foi testado.
Figura 39. Ambiente Principal de Teste Neste ambiente o rob realizou sua funo com xito, a qual seria se locomover para frente em um ambiente plano e sem obstculos. 89
Outros testes foram realizados em diferentes ambientes para verificar se mesmo sem ser projetado para trabalhar em diferentes condies, ele pudesse completar outros trajetos. A Tabela 5 apresenta o resultado do cruzamento dos testes fsicos efetuados. Ao / Ambiente Caminhar Identificar Obstculos Ultrapassar Obstculos Desviar de Obstculos Plano REALIZOU NO REALIZOU VARIVEL NO REALIZOU Subida REALIZOU NO REALIZOU VARIVEL NO REALIZOU Descida REALIZOU NO REALIZOU VARIVEL NO REALIZOU Irregular VARIVEL NO REALIZOU VARIVEL NO REALIZOU Tabela 5. Testes Principais
Os valores apresentados como VARIVEL na Tabela 5, possuem o significado das aes cuja vericidade no pode ser comprovada, levando em conta que o rob no foi contemplado para identificar obstculos, e nem controlar as condies do ambiente no qual se encontra. 3.4.2 Testes Lgicos Os testes lgicos foram efetuados a fim de verificar quais seriam os melhores movimento para que o rob pudesse atender a funo para qual ele foi construdo. Os testes realizados foram a abertura das pernas, o controle dos movimentos, a disponibilidade de realizar giro no prprio eixo para poder mudar de direo, alm de realizar outros movimentos apenas para diverso.
90
A Tabela 6 apresenta quais movimentos o prottipo conseguiu realizar. Ao / Ambiente Caminar Fazer Curvas Girar Deitar Outros Movimentos Plano REALIZOU REALIZOU REALIZOU REALIZOU REALIZOU Subida REALIZOU REALIZOU REALIZOU REALIZOU REALIZOU Descida REALIZOU REALIZOU REALIZOU REALIZOU REALIZOU Irregular VARIVEL VARIVEL VARIVEL VARIVEL VARIVEL Tabela 6. Testes Secundarios
Os valores apresentados como VARIVEL na Tabela 6, possuem o significado das aes cuja vericidade no pode ser comprovada, levando em conta que o rob no foi contemplado para identificar obstculos, e nem controlar as condies do ambiente no qual se encontra. 91 4 CONCLUSES Com o trmino do projeto, foi possvel confirmar a estreita ligao entre Cincia da Computao e a Robtica. Deste modo, percebe-se que este projeto pode contribuir com a frgil linha de pesquisa em robtica j existente dentro da Universidade, alm de despertar o interesse dos demais acadmicos em dar continuidade pesquisa, relacionando ambas as reas e utilizando como base o presente estudo. Durante todo o desenvolvimento, apareceram problemas que tiveram de ser superados. Uma das grandes dificuldades encontradas na criao do projeto foi a falta de experincia do acadmico com relao modelagem do material utilizado (madeira de pinus), transformando a criao das partes fsicas do rob em um desafio a ser superado. Em virtude da necessidade de efetuar os cortes e detalhes para o encaixe dos servo-motores, ocorreu a quebra das primeiras peas de madeira confeccionadas. Grande parte da inspirao para a criao do arquitetura do prottipo veio das anlises de projetos similares, na forma de vdeos e documentos. Foram considerados apenas os projetos com cunho acadmico. A escolha de ser um rob quadrpede foi mensurada pelo fato de ser um projeto desafiador, e o mesmo encontra-se entre dois projetos mais complexos, um rob bpede, onde h a preocupao eminente com o equilbrio, e um com seis pernas, que tornaria a movimentao mais complicada de ser executada, por funcionar com no mnimo doze servos. O Arduino foi escolhido como plataforma de prototipao j no inicio da criao do projeto, por possuir uma boa relao custo-benefcio. Indiferente de tamanho ou segmento de um projeto, existem diversos tipos de Arduino e Shields que podem atender s necessidades iniciais dos projetistas. A escolha da bateria deu-se pelo fato de que os servos adquiridos para o projeto trabalhavam na mesma voltagem oferecida pela bateria (6 volts), no havendo a necessidade de efetuar um controle de voltagem. O autonomia da bateria varia muito com o estado de funcionamento dos servos. Por exemplo, com todos os oito servos ociosos, sua durao de aproximadamente 3 horas e 45 minutos; j com todos os servos em sua capacidade mxima, a durao de aproximadamente 30 minutos contnuos. 92
Os servos escolhidos atenderam com xito aos requisitos para movimentao do prottipo. Afinal, cada um destes exerce uma fora de 3,57 kilogramas, fazendo com que a plataforma seja fcil de movimentar, por ter seu peso abaixo disto (1,056 kilogramas). O uso de uma Protoboard deu-se apenas para organizao e entendimento do circuito empregado, pois o mesmo projeto poderia ser feito sem o auxlio desta, ligando todos os cabos diretamente aos seus respectivos lugares. Todo o conhecimento adquirido durante o curso, bem como o preparo para a execuo do projeto, foram indispensveis na hora da construo e programao do Rob. Graas a estes conhecimentos e preparo, foram evitados alguns acontecimentos inesperados, e mesmo as dificuldades que ocorreram no decorrer do projeto puderam ser solucionadas com mais facilidade, fazendo com que o rob realizasse suas funes naturalmente, obtendo-se, assim, o xito do projeto. 4.1 Trabalhos Futuros Com a execuo deste projeto, pode-se notar o interesse de outros acadmicos em dar continuidade no prottipo. Planos futuros j foram cogitados para aprimoramento do prottipo, tornando-se assim cada vez mais completo e podendo atender a demais necessidades. Alguns dos planos esto citados abaixo: Controle de Direo: Podero ser adicionados novos comandos para a mudana de direo do prottipo para que este possa andar para todas as direes sem restries; Controle de Estabilidade: Podero ser adicionados controles de estabilidade para verificar a orientao do prottipo, de modo que possa caminhar sobre terrenos irregulares sem o risco de sofrer acidentes (quedas, por exemplo); Sensores de Obstculos: Podero ser adicionados sensores de obstculos para que quando o rob caminhe em um modo automtico, desvie ou supere obstculos que possam vir a obstruir o seu caminho; Controle via Bluetooth/WI-FI/Radiofreqncia: Tem-se a idia de tornar o rob controlado em tempo real atravs de alguma rede sem fio, para que o este possa realizar trajetos mais dinmicos em ambientes hostis e locais de difcil acesso; 93
Mudanas na Arquitetura: Algumas mudanas na estrutura do rob podero vir a ocorrer durante os aprimoramentos futuros, como, por exemplo, a adio de uma cmera sem fio para o controle do prottipo distncia, alm da adio de mais pernas ou mais servos por perna, proporcionando mais graus de liberdade para a locomoo do rob. Adio de Novos Componentes: Podero ser adicionados novos componentes como sensores e cmeras, para que o rob possa atender a funes mais especficas e diferenciadas, de acordo com a necessidade. Criao de uma Biblioteca para Movimentao: Existe a idia da criao de uma biblioteca para facilitar a representao de movimentos biolgicos em outras inciativas da rea, utilizando como base a programao efetuada no seguinte projeto. 94 REFERNCIAS ALVES, Joo Bosco. M. Controle de rob. 1. ed. Campinas, Brasil, CARTGRAF, 1988. APRENDENDO ELETRONICA. Matriz de contato Protoboard. 2012. Disponvel em: <http://www.aprendereletronica.com.br/como-usar-protoboard.php>. Acesso em: 10 abr. 2012. ARDUINO TEAM. Arduino Hardware. 2012. Disponvel em: <http://arduino.cc/en/Main/Hardware>. Acesso em: 17 abr. 2012b. ARDUINO TEAM. Arduino Shields. 2012. Disponvel em: <http://arduino.cc/en/Main/ArduinoShields>. Acesso em: 17 abr. 2012c. ARDUINO TEAM. Arduino Software. 2012. Disponvel em: <http://arduino.cc/hu/Main/Software>. Acesso em: 8 maio 2012d. ARDUINO TEAM. Arduino. 2012. Disponvel em: <http://arduino.cc>. Acesso em: 17 abr. 2012a. ARDUINO TEAM. Bibliotecas Arduino. 2012. Disponvel em: <http://arduino.cc/en/Reference/Libraries>. Acesso em: 8 maio 2012e. ARDUINO TEAM. Linguagem Arduino. 2012. Disponvel em: <http://arduino.cc/en/Reference/HomePage>. Acesso em: 8 maio 2012f. ARDUINO TEAM. Servo.h. 2012. Disponvel em: <http://www.arduino.cc/playground/ComponentLib/Servo>. Acesso em: 8 maio 2012g. ARDUINO TEAM. Arduino Board UNO. 2012. Disponvel em: <http://www.arduino.cc/en/Main/arduinoBoardUno>. Acesso em: Set Ago 2012h. ASIMOV, Isaac. I, Robot. Robbinsdale, Minnesota, EUA, Greenwich, Conn., Fawcett Publications, 1950 / EUA, Spectra Books 1991; ASIMOV, Isaac. Robot and Empire. UK, Harper Trade, 1985; ASIMOV, Isaac. Runaround. UK, 1942; BANZI, Massimo. Getting Started With Arduino. EUA, OReilly Media Inc. 2009; BEKEY, George. A. Autonomous robots: from biological inspiration to implementation and control. 1. ed. EUA, MIT Press, 2005.
BIGDOG TEAM. BigDog, the rough-terrain quadruped robot. Seoul, Korea, Boston Dynamics, 2008. BLENDER. O Que Blender?. 2012. Disponvel em: <http://blendertotal.wordpress.com/o- que-e-blender/>. Acesso em: Ago 2012.
95
BRITES, Felipe Gonalves e SANTOS, Vinicius Puga de Almeida. Motor de passo. Rio de Janeiro, 2008. BUILDBOT. TowerPro MicroServo 9g SG90. 2012. Disponvel em: <http://www.buildbot.com.br/produto/towerpro-microservo-9g-sg90/>. Acesso em: 26 mar. 2012. CITI. Estudo sobre inteligncia artificial. 2012. Disponvel em: <http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/robotica.html>. Acesso em: 3 abr. 2012. CITI. Histria da robtica. 2012. Disponvel em: <http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/historia_da_robotica.htm >. Acesso em: 3 abr. 2012. CORRA, Marco Aurlio.Servoacionamentos e servosmotores. 2012. Disponvel em: <http://www.mecatronicaatual.com.br/secoes/leitura/494> Acesso em: 27 mar. 2012. DEL TORO, Vincent. Fundamentos de Mquinas Eltricas. Rio de Janeiro, LTC, 1994. DURATRAX. DXTM2000. 2012. Disponvel em: <http://www.duratrax.com/batteries/dtxm2000.html>. Acesso em: Ago 2012. ECOLOGIA ONLINE. Os Rpteis. 2012. Disponvel em: < Disponvel em: <http://www.eletronicadidatica.com.br/equipamentos/protoboard/protoboard.htm>. Acesso em: 10 abr. 2012.>. Acesso em: 23 jun. 2012. ELECTRONICA. Pilhas e Baterias. 2012. Disponvel em: <http://www.electronica- pt.com/index.php/content/view/40/39/>. Acesso em: Set 2012 a . ELECTRONICA. Pilhas e Baterias. 2012. Disponvel em: <http://www.electronica- pt.com/index.php/content/view/40/39/>. Acesso em: Set 2012b. ELECTRONICA. Pilhas e Baterias. 2012. Disponvel em: <http://www.electronica- pt.com/index.php/content/view/40/39/>. Acesso em: Set 2012c. ELETRONICA DIDATICA. Protoboard. 2012. Disponvel em: <http://www.eletronicadidatica.com.br/equipamentos/protoboard/protoboard.htm>. Acesso em: 10 abr. 2012. ESTG. Escola Superior de Tecnologia e Gesto de Portugal. Servo-motores. 2011; FERRAZ, Mariano. Servo Acionamento. So Paulo SP, SENAI, 2008. FRITZING. Fritzing. 2012. Disponvel em: <http://www.fritzing.org>. Acesso em: 29 maio 2012. GAIER, Micael Bronzatti. Aprendendo a Programar em Arduino, Instituto Federal de Educao Cincia e Tecnologia de Mato Grosso - Campus Cuiaba, Brasil, PET Auto Net 2011; GATES, Bill. A Robot in Every Home. EUA, Scientific American, 2007. 96
GOGO BOARD. Download e Hardware. 2012. Disponvel em: <http://www.gogoboard.org/downloads-hardware>. Acesso em: 10 abr. 2012a. GOGO BOARD. Getting Started. 2012. Disponvel em: < http://www.gogoboard.org/getting-started>. Acesso em: 10 abr. 2012b. HARDWARE. Componentes eletrnicos e unidades de medida. 2012. Disponvel em: <http://www.hardware.com.br/tutoriais/componentes-eletronicos-unidades-medida-conceitos- basicos/componentes-eletronicos.html>. Acesso em: 20 mar. 2012. HOBBICO. Hobbico Command Servos. 2012. Disponvel em: <http://www.hobbico.com/radioaccys/hcam1000.html>. Acesso em: Ago 2012. INFO. Componentes eletrnicos e unidades de medida. 2012. Disponvel em: < http://info.abril.com.br/professional/tendencias/hardware-livre-leve-e-solto.shtml>. Acesso em: 23 jun. 2012. KILIAN, Christopher T. Modern Control Technology: Components and Systems, 2.ed. edio, Delmar Thomson Learning, 2000. LUTCIA. Introduo a Eletrnica. Rio de Janeiro - RJ, Brasil, Editora Lutcia LTDA 2012; MACHADO, J. A. T.; SILVA, Manuel. F. An overview of legged robots. In: International Symposium on Mathematical Methods in Engineering. Ankara, Turquia, MME Press, 2006. MCROBERTS, Michael. Beginning Arduino. EUA, Apress, 2010; MICROSOFT. Robosoft RobuDOG: Embedded robotics devices. 2012. Disponvel em: <http://www.microsoft.com/windowsembedded/en-us/evaluate/robosoft-robudog-with- windows-xp-embedded.aspx>. Acesso em: 30 jun. 2012.
MUYBRIDGE, Eadweard. Animals in motion: An electro-photographic investigation of consecutive phases ofmuscular actions. 1. ed. Londres, Inglaterra, Chapman & Hall, 1899. MUNDO DA ROBOTICA. GoGo Board 4.0e. 2012. Disponvel em: <http://mundodarobotica.wordpress.com/2011/04/07/gogo-board/>. Acesso em: 10 abr. 2012. NUNES, Leoandro. Fritzing: a Ferramenta definitiva para seus projetos com Arduino. 2011. Disponvel em: <http://leandronunes.org/2011/11/29/fritzing-a-ferramenta-definitiva- para-seus-projetos-com-arduino/>. Acesso em: 29 maio 2012. OXER, Jonathan. Arduino shield list. 2011. Disponvel em: <http:// http://shieldlist.org>. Acesso em: 24 abr. 2012. PEIXOTO, Paulo. Curso de nivelamento em Electrnica e Comunicaes. ANFEI. PICTRONICS. Conhea o Hardware. 2012. Disponvel em: <http://www.pictronics.com.br/artigos-tecnicos/43-eletronica-e-automacao/98-curso-basico- de-arduino-2.html>. Acesso em: 24 abr. 2012. 97
PINHEIROS, Fernando. Arduino + Servo-motor Tower Pro SG-5010. Disponvel em: <http://ferpinheiro.wordpress.com/2011/05/25/arduino-servo-motor-tower-pro-sg-5010/>. Acesso em: 20 mar. 2012. SABER ELETRONICA. Introduo ao Arduino. 2012. Disponvel em: <http://www.sabereletronica.com.br/secoes/leitura/1307>. Acesso em: 24 abr. 2012. SANTOS, Nuno Pessanha. Arduino, Introduo e recursos avanados; 2009; Disponvel em <http://pt.scribd.com/doc/57058743/Tutorial-Arduino>; SEATTLE ROBOTICS SOCIETY. Whats a servo. 2012. Disponvel em: <http://www.seattlerobotics.org/guide/servos.html>. Acesso em: 27 mar. 2012. SILVEIRA, Joo Alexandre. ARDUINO - Cartilha para Programao em C - Edio 1.0. 2012 SJWALLER. Quadru-Pet 1. 2012. Disponvel em: <http://www.sjwaller.com/category/robotics/quadru-pet-1/> Acesso em: 1 maio 2012. SKETCHUP BRASIL. Google SketchUp: Por Onde Comear?. 2012. Disponvel em: <http://www.sketchupbrasil.com/modules/xforum/viewtopic.php?topic_id=7&forum=1>. Acesso em: Ago 2012. SONY AIBO. About AIBO. 2012. Disponvel em: <http://www.sonyaibo.net/aboutaibo.htm>. Acesso em: 30 jun. 2012.
SOUTO, Rafael Fontes. Modelagem Cinemtica de um robo quadrupede e gerao de movimentos usando filtragem estocstica. Universidade de Brasilia, 2007. SOUZA, Marco Antonio Marques. ELETRONICA Todos os Componentes. Brasil, Editora Hemus 2011; STUDIO CUP. BANZI/CUARTIELLES/IGOE/MARTINO/MELLIS. Disponvel em: <http://cup.servus.at/research/banzi-cuartielles-igoe-martino-mellis> Acesso em: 27 mar. 2012. TECHNE. Iniciando com Arduino. 2012. Disponvel em: <http://techne.cesar.org.br/iniciando-com-arduino/>. Acesso em: 24 abr. 2012. TORRES, Gabriel. Fundamentos de Eletrnica. Rio de Janeiro Axcel Books, 2002.
98
GLOSSRIO Rotor Rotor tudo que gira em torno de seu prprio eixo produzindo movimentos de rotao. Estator Estator a parte de um motor ou gerador eltrico que se mantm fixo carcaa e tem por funo conduzir energia eltrica nos motores para rotacionar.
99
APNDICE A. FONTE DO PROJETO Neste Apndice est toda a codificao utilizada para promover todos os movimentos do projeto. // Rob // by Chrisnamurth K.
void mover(int perna, int parte, int pos){ // pernas // 1 = esquerda frente // 2 = direita frente // 3 = esquerda tras // 4 = direita tras // partes // 1 coxa // 2 canela
if (parte == 1){ // coxa if (perna == 1){ // Esquerda da frente coxaEsquerdaFrente.write(104-pos); }else if(perna == 2){ // Direita da Frente coxaDireitaFrente.write(95+pos); }else if(perna == 3){ // Esquerda de Tras coxaEsquerdaTras.write(90-pos); }else if(perna == 4){ // Esquerda da Frente coxaDireitaTras.write(100+pos); } }else{ // canela if (perna == 1){ // Esquerda da Frente canelaEsquerdaFrente.write(86+pos); }else if(perna == 2) { // Direita da Frente canelaDireitaFrente.write(86-pos); }else if(perna == 3){ // Esquerda de Tras canelaEsquerdaTras.write(89+pos); }else if (perna == 4){ // Direita de Tras canelaDireitaTras.write(86-pos); } } }
100
int getVelocidade(int velocidade){ if (velocidade==1){ return 50; }else if (velocidade==2){ return 100; }else if (velocidade==3){ return 150; }else if (velocidade==4){ return 350; }else if (velocidade==5){ return 500; }else if (velocidade==6){ return 2000; }else{ return 100; } }