Home
manual do usuário
Contents
1. 5 be A aly Lae Esme HHH Bm A yl 72 Anexos vel para o Modelo de Subsumption Rob 17 5 Anexo V Esquema El trico Servos e Motores y ep p eulbed 6661 9p OIQUISAON SP LL pg SeJOJOW OBS SOP aJoJUOg 083119580 uondunsqns ap ojapoyy O esed sI8AOW soqoy om O13810 HOLOW A LN O0H3NDS3 HOLOW aw SIN omas PU ogu ajuawjeysodosd E vHHvO OAHIS tw OHNNd OAWAS A EN 11 OSS WUIW 071340109 OAYIS Ny ZN iil Em F VIN xv UIQ OHBNO OAHIS 083 ONBNO OAHIS ow E asva OA83S pe Pug LuBs uma gpug gubs gmd spug subs Smd pus pubs tmd epug cubs emd zpu9 aubs zm 1pup tubs umd opug 0ubS DMA Od x4 9d XL on xu on xL 291601 pup 201601 99A omas pup omas 90 gt vin oss xu on XL oss x4 on xa oss pup oss 299 ns pug nis 99 ast e ng e sl 73 Rob M vel para o Modelo de Subsumption Anexos 17 6 Anexo VI Exemplo de programa em linguagem SOUL conforme apontado no item 6 1 1 process Andar step 5
2. No terceiro bloco que comp e a pin a Figura 18 n o h outro sevo mecanismo O movimento de abrir e fechar da pin a transmitido por um cabo O servo fica colado pr ximo plataforma A transmiss o da for a feita por um cabo do tipo dos de freio de bicicleta com a nica diferen a de que ele age nos dois sentidos tanto o de puxar como o de empurrar A pin a n o possui muita for a tendo um pouco de dificuldade em agarrar objetos mais pesados Figura 18 A pin a do bra o articulado Cr ditos Lynxmotion98a 30 Rob M vel para o Modelo de Subsumption Descri o do Hardware Por um lado o fato de n o poder carregar objetos pesados uma desvantagem mas por outro como existe certa flexibilidade na pin a por isso a pequena for a n o h o perigo de danos caso o fechamento da pin a seja maior que o necess rio para agarrar o objeto desejado Visto que este um rob para demonstra o e n o um utilit rio consideramos estas caracter sticas favor veis 5 2 Esquema El trico Os esquemas el tricos do projeto encontram se em anexos S o cinco esquemas Microcontrolador Mem rias e Canal Serial Anexo I Conectores Anexo IT Sensores Anexo IIT Circuito de Pot ncia Anexo IV Servos e Motores Anexo V 5 3 Lista de Componentes Tabela 2 Lista de Componentes Componente P80C552 Philips kit de braco rob tico m vel Lynxmotion cristal de 16 MHz kit detetor de trilhas Lynxmotion 74HCT3
3. else if iGripServoTarget gt iGripServo iGripServo MOTOR STEP iGripServoChanged 1 else if iGripServoTa iGripServo MOTOR S rget lt iGripServo _ STEP iGripServoChanged 1 if iGripServoChanged 1 sendToSSC GRIP MOTOR iGripServo iGripServoChanged O return Anexo VIII 91 Rob M vel para o Modelo de Subsumption void update P4 BITS B6 P4 BITS B6 processa IRs updateIRPD processa trackers processTrackerInputs processa mic LDRs e baterias ADPollConverter processa chaves de contato BumperPoll gerencia a saida do Buzzer outputBuzzer manda sa da para motores computeMotorDelta Anexo VIII Follow counter Follow counter gt 0 Follow counter 1 0 Avoid counter Avoid counter gt 0 Avoid counter 1 0 Escape counter Escape counter gt 0 Escape counter 1 0 return Comentar para reduzir tamanho do programa printAllInFormattedWay printf nin printf IRPD Sd FA Sd Sd Sd Sd d Sd Jin ilrpdNWLeft ilrpdNWRight ilrpdNELeft ilrpdNERight ilrpdSWLeft ilrpdSWRight ilrpdSELeft ilrpdSERight printf Trackers bd d d An iLineTrackerLeft iLineTrackerCenter iLineTrackerRight printf AD x x Sx Sx x Sx Sx x n iLDRFrontLeft iLDRFrontCenter iLDRFrontRight iLDRArm iMicrophoneLef
4. generates a 800Hz wave at the PWM output define PWM FREQUENCY 54 and at 50 duty cicle define PWM DUTY CYCLE 85 ES b zz CFE as define BUZZER TIME 5 motors addresses define LEFT MOTOR 6 define RIGHT MOTOR 7 define BASE MOTOR 0 define SHOULDER MOTOR 1 define ELBOW MOTOR 2 define WRIST MOTOR 3 define GRIP_MOTOR 4 step value for motors define MOTOR STEP E U H timer counters for processes unsigned char Follow counter unsigned char Avoid counter unsigned char Escape counter the i before the vars below are from internal IRPD global variables unsigned char ilrpdNWLeft unsigned char ilrpdNWRight unsigned char ilrpdNELeft unsigned char ilrpdNERight unsigned char ilrpdSWLeft unsigned char ilrpdSWRight unsigned char ilrpdSELeft unsigned char ilrpdSERight line tracker variables unsigned char iLineTrackerLeft unsigned char iLineTrackerCenter unsigned char iLineTrackerRight LDR variables unsigned char iLDRFrontLeft unsigned char iLDRFrontCenter unsigned char iLDRFrontRight unsigned char iLDRRear unsigned char iLDRArm bumper switches variables unsigned char iBumperFrontLeft unsigned char iBumperFrontRight unsigned char iBumperLeft unsigned char iBumperRight unsigned char iBumperRear microphone average
5. iBumperRight 1 else iBumperRight O Anexo VIII Inicia a conversao A D ADCH Espera a conversao terminar Salva o resultado da conversao ar Limpa o indicador de final de conversao A D ADCON Oxf8 Inicia a conversao A D Espera a conversao terminar Salva o resultado da conversao BA 1 0 89 Anexo VIII Rob M vel para o Modelo de Subsumption if Pl BITS B4 1 iBumperRear 1 else iBumperRear O return void sendToSSC unsigned char motor unsigned char Comando 4 0 1 2 3 Comando Comando Comando Comando printf s return Oxff motor value NON Comando void computeMotorDelta right motor routines if iRightMotorChanged 1 sendToSSC RIGHT MOTOR iRightMotorChanged 0 left motor routines if iLeftMotorChanged 1 unsigned char value iRightMotor sendToSSC LEFT MOTOR iLeftMotor iLeftMotorChanged O base servo routines if iBaseServoTarget iBaseServo iBaseServoChanged O else if iBaseServo iBaseServo MOTOR STEP iBaseServoChanged 1 else if iBaseServoTa iBaseServo MOTOR STE iBaseServoChanged 1 P if iBaseServoChanged 1 sendToSSC BASE MOTOR iBaseServo iBaseServoChanged 0 shoulder servo routines if iShoulderServol iShoulderServoChanged 0
6. outputs MotorDir MotorEsq MotorDir MotorEsq 177 177 return process EvitarObstaculo step 2 inputs IRPDO IRPD1 IRPD2 IRPD3 outputs MotorDir MotorEsq locals Counter Direcao statelnicial if IRPDO IRPD1 Direcao 0 next stateVoltar if IRPD2 IRPD3 Direcao 1 next stateVoltar stateVoltar MotorDir 27 MotorEsq 27 Counter 10 next stateEsperaVoltar stateEsperaVoltar MotorDir 27 MotorEsq 27 if Counter 0 next stateVirar stateVirar if Direcao otorDir 77 otorEsq 177 else otorDir 177 otorEsg 77 Counter 10 next stateEsperaVirar 74 Rob M vel para o Modelo de Subsumption Anexos stateEsperaVirar if Direcao MotorDir 77 MotorEsq 177 else MotorDir 177 MotorEsqg 77 if Counter O next stateInicial process SegueLuz step 1 inputs LDRO LDR1 outputs MotorDir MotorEsq locals Desvio Trigger Vezes before Desvio LDRO LDR1 Trigger LDRO gt 30 LDR1 gt 30 amp amp Desvio gt 20 Desvio lt 20 statelnicial if Trigger Vezes Desvio 5 next stateCorrigeDir stateCorrigeDir if Desvio lt 0 MotorDir 150 MotorEsq 127 else MotorDir 127 MotorEsq 150 if Vezes 0 next statelnicial connect Andar MotorDir to Fred MotorRight prior
7. o algoritmo gera uma fun o com o nome do processo A gera o das vari veis globais e da fun o papel do ESCompiler byte processo InfravermelhoEsg byte processo InfravermelhoDir byte processo MotorEsg byte processo MotorDir byte processo Step void processo if processo_InfravermelhoEsq 1 processo_MotorEsq FAST processo_MotorDir SLOW No exemplo acima processo_InfraVermelhoDir e processo_InfraVermelhoEsq representam as entradas do processo enquanto processo_MotorEsq e processo_MotorDir representam as sa das do processo O exemplo de processo desvia de alguma coisa ao perceber obst culos sendo detetados pelo sensor infravermelho esquerdo faz isso virando para a esquerda ao girar a roda esquerda mais que a direita Assim como este processo exemplo cada processo gerado pelo ESCompiler tem entrada e sa das precedidas pelo pr prio nome Fica a cargo de um processo do sistema alimentar estas vari veis com as entrada dos sensores e enviar o comando do processo mais priorit rio que esteja rodando para as sa das As entradas dos sensores ficam guardadas em vari veis globais tamb m mas sem nenhum nome de processo precedendo as assim a verdadeira entrada dos infravermelhos fica guardada numa vari vel chamada InfravermelhoDir ou InfravermelhoEsq definida ainda uma vari vel chamada processo_Step que determina de quanto em quanto tempo rodado o processo em quest o Cada proc
8. Fred BumperLeft getBumperLeft Fred BumperRight getBumperRight Fred BumperRear getBumperRear Fred MicrophoneLeft getMicrophoneLeft sets talk to flag Fred To 1 return void Cruise void if SHOWMSG printf Cruise c char Cruise next 48 code before Cruise LeftMotor 110 Cruise RightMotor 110 sets talk to flag Cruise To 1 return Anexo VIII 93 Rob M vel para o Modelo de Subsumption Anexo VIII void Follow void if SHOWMSG printf Follow c char Follow next 48 code before at least one has a minimum light Follow_trigger Follow_LDRFrontLeft gt 150 Follow_LDRFrontCenter gt 150 Follow_LDRFrontRight gt 150 calculates the balance Follow_deltaLeft Follow_LDRFrontLeft Follow LDRFrontCenter Follow_deltaRight Follow_LDRFrontRight Follow_LDRFrontCenter if the light is outside the center position Follow trigger Follow trigger amp amp Follow deltaLeft gt 0 Follow_deltaRight gt 0 sets talk to flag Follow To O next state logic switch Follow next Case 1 if Follow trigger Follow counter 5 Follow next 2 break case 2 turn to the left if Follow deltaLeft gt Follow deltaRight make an arc Follow_RightMotor 80 Follow_LeftMotor 100
9. M vel para o Modelo de Subsumption El Now polls the right side P1_BITS B5 O P3_BITS B3 1 delay IR DELAY if P3 BITS B5 1 ilrpdNWLeft 0 else iIrpdNWLeft 1 if P4_BITS BO 1 iIrpdNERight O else iIrpdNERight 1 if P4 BITS Bl 1 ilrpdSWLeft O else ilrpdSWLeft 1 if P4 BITS B2 1 ilrpdSELeft 0 else iIrpdSELeft 1 P1_BITS B5 0 P3_BITS B3 0 return line tracker variable updates void processTrackerInputs sae LE e EE e The following mapping is assumed P4 3 Left Rx P4 4 Right Rx P4 5 Center Rx P4_BITS B3 1 iLineTrackerRight 1 lse iLineTrackerRight 0 P4_BITS B5 1 iLineTrackerLeft 1 lse iLineTrackerLeft 0 Anexo VIII 86 Rob M vel para o Modelo de Subsumption Anexo VIII if P4_BITS B4 1 iLineTrackerCenter 1 else iLineTrackerCenter 0 return A D converter ports inputs void ADPollConverter faz o poll do pino O ADCI 0 limpa o indicador de final de conversao A D ADCON ADCON amp Oxf8 Pino 0 ADCON_BITS B2 0 ADCON_BITS B1 O ADCON_BITS BO 0 ADCS 1 inicia a conversao A D asm nop asm nop while ADCI 1 espera a conversao terminar iLDRFrontLeft ADC
10. else if iShoulderServoTarget iShoulderServo MOTOR_STEP iShoulderServoChanged 1 else if iShoulderServoTa iShoulderServo MOTOR S iShoulderServoChanged 1 rget P Target gt iBaseServo rget lt iBaseServo Target iShoulderServo gt iShoulderServo lt iShoulderServo 90 Rob M vel para o Modelo de Subsumption if iShoulderServoChanged 1 sendToSSC SHOULDER_MOTOR iShoulderServo iShoulderServoChanged O elbow servo routines if iElbowServoTarget iElbowServo iElbowServoChanged 0 else if iElbowServoTarget gt iElbowServo iElbowServo MOTOR STEP iElbowServoChanged 1 else if iElbowServoTarget lt iElbowServo iElbowServo MOTOR STEP iElbowServoChanged 1 if iElbowServoChanged 1 sendToSSC ELBOW MOTOR iElbowServo iElbowServoChanged 0 wrist servo routines if iWristServoTarget iWristServo iWristServoChanged 0 else if iWristServoTarget gt iWristServo iWristServo MOTOR STEP iWristServoChanged 1 else if iWristServoTarget lt iWristServo iWristServo MOTOR S _ STEP iWristServoChanged 1 if iWristServoChanged 1 sendToSSC WRIST MOTOR iWristServo iWristServoChanged 0 grip servo routines if iGripServoTarget iGripServo iGripServoChanged 0
11. 618 we EZSNIS 818 ME La aA ENO Hx z sorsisayoros SN E 1234407 ENOO Hx z Jojsseyorog t wal er ENO elx z 101515900104 t 181001307 er Noo EX z sojsiseojos SN t 18 ua9 u0 4407 Fj or Noo Hx z 101515910104 t y quo dyaT er ZA AA 77 ZA an9 L dw ao 39A zn ENO9 seem 2 S u 7 Es 69 auogn SA uje9 ueg wee 40001 91 Jozzngozald gil I oWMd Tasas ni lt E ouni lt H ou H lt inmd v Rob M vel para o Modelo de Subsumption Anexos 17 4 Anexo IV Esquema El trico Circuitos de Pot ncia w o 8 o E e LU 3 LU 3 E s o 5 o e g 2 E 5 g 2 3 2 2 o 8 2 2 3 A o 3 o 2 2 2 A 5 3 e 8 8 osa pug J o E Ed o 3 o g z S 2 o a 5 5 a 5 El E E E pa E 3 5 o 3 u A 3 2 2 amp o A 2 2 z 3 5 E El g E e s o 5 2 ES a Elo osa pug 0 1uF 29A pug Gnd cpu 10uF 10V cn 2 L7805CV cia I 100nF D1 1N4002 a E OUTPUT Vee srv Gnd srv
12. Chave de contato 2 Chave de contato 3 Chave de contato 4 Chave de contato 5 Disparo de sonar Foto resistor 1 Foto resistor 2 Foto resistor 3 Foto resistor 4 Foto resistor 5 Microfone Medidor de n vel da bateria Coment rios PO usada para comunica o entre 80C51 e mem rias Uma mesma porta comanda os 4 LEDs dos infravermelhos Sim trico ao anterior A recep o de cada detetor tratada separadamente Detetor dianteiro esquerdo Detetor dianteiro direito Detetor traseiro esquerdo Detetor traseiro direito Pode ser usado para tarefas sens veis a atraso como espera pelo pulso de retorno de um sonar Chave dianteira esquerda Chave dianteira direita Chave lateral esquerda Chave lateral direita Chave traseira Caso se conecte um sonar do tipo Polaroid 6500 este pio pode ser usado para disparar o sonar Posi o sugerida dianteira esquerda Posi o sugerida dianteira central Posi o sugerida dianteira esquerda Posi o sugerida em cima do bra o rob tico Posi o sugerida traseira Indica quando a bateira abaixa de 6 5 Volts Rob M vel para o Modelo de Subsumption Manual do Usu rio 12 1 3 Operac o Um ciclo normal de opera o do rob tem os seguintes est gios Desenvolvimento do comportamento no PC Conex o do rob ao PC via cabo serial Download do comportamento para o rob Desconex o do rob do PC Opera o normal do rob 12 1 3 1 Desenvolvimento do
13. Espa amento entre OS PINOS usas ai ieee eae ea Ade 52 Figura 3 PoSIGAO dos SENSOTES o DIAS AA da o de Ml da 52 Figura 38 Envio de programa ao TODO ile 56 Figura 39 O programa WinTalk para envio de programas pela serial oooncnnnnnnnnnininnnnnnnnn 57 Figura 40 Esquema da placa principal de controle aia ao oo ea aa aa nea acea nan ee acea acen Dono 58 Rob M vel para o Modelo de Subsumption Lista de Tabelas Tabela 1 Pacote de comunica o com o Mini SSC IT eeeeeesneceneeeseeeeaeeenaeeneensees 21 Tabela 2 Lista de Componentes 42 25 oeii Da E EE ERRE DR IG 31 Tabela 3 Endere os das Interrup es viciosa Gee a a nd A da ti 40 Tabela A Cr nosraMma A lis A A id EE a 46 Tabela 5 Conex o dos sensores na placa principal errar 53 Tabela 6 Alimenta o dos circuitos patito i 53 Tabela 7 Mapeamento dos sensores por porta ooooocconcccnonccccononononcnonnncnonnnnncnnnnnconnnncnnnnnnonnncnnns 55 Rob M vel para o Modelo de Subsumption O Equipe A equipe deste trabalho de formatura foi composta pelos alunos Daniel Carlos Landi NUSP 499362 email daniel landifpoli usp br F bio Roberto de Miranda NUSP 947841 email fmiranda lsi usp br Rodrigo Stephan de Souza Telles NUSP 1811052 email r telles usa net E o orientador do grupo foi Prof Dr Marco T lio de Carvalho de Andrade email mtulio pcs usp br 1 T tulo O t tulo escolhido foi Rob M
14. Um processo pode suprimir o resultado de outros proces sos menos priorit rios quando necess rio As principais caracter sticas s o modularidade escalabilidade e robustez 68 Anexos gap eulbed 6661 9P OIQUISAON SP LL meg seoj o sejiod siewap a jeas ogdeojunwoo seuouau gO ep saoxeuos ap ewesbeig oeduoseq uondunsang ap Japo O Bd SIBAQW SOGOB on oore na HOLINaS po osn yl z 204 Y i o X Ns A a E i k 21gl2 En oss E a AVLX zumos Joqeotpur BUTE IH gt 6 puas 09 1891 SII gt 8 Juna pues 07 qsenbey SLY a usa JO Wa Islote Canal Serial orias e z trolador Memi icroconi M z trico Rob M vel para o Modelo de Subsumption 17 Anexos 17 1 Anexo I Esquema El noas s sively Apesy TeuTwxel e7ed VIO lt y tout eyed ITUSUPIL aX eyed anaya gt z be E BR Bogd 299908 108390 105x180 qo gt 1 SLJ d VRR Z ES XX ZZ 28332 oyoew 680 zezsH epres a PE E 7 ee ees SSSES oh 323
15. chamado Fred hex que enviado pelo WinTalk para o rob O diagrama abaixo mostra como se distribuem os programas na mem ria ROM RAM 0000h Monitor 7FFFh Subsumption FFFFh 42 Rob M vel para o Modelo de Subsumption Outros Softwares 8 Outros Softwares 8 1 Necessidade Com a conclus o da montagem do braco mec nico e da base do rob foi poss vel testar o funcionamento deles antes da implementa o da placa de controle com o microcontrador da fam lia 80C51 Para nos familiarizarmos com o modo de comunica o com o bra o mec nico utilizamos o pr prio computador da bancada atrav s da porta serial COM2 Assim evita se problemas de hardware durante essa fase inicial que envolve apenas comandos l gicos O software para testes que acompanha o brago mec nico utiliza um compilador BASIC STAMP ainda em MS DOS para efetuar testes com o bra o Cientes de que necessitar amos maior controle decidimos desenvolver um programa dedicado a isso Al m disso era objetivo controlar os servos atrav s do mouse possibilitando ajustes finos e emp ricos ao contr rio do c lculo de posi es al m de uma an lise da resposta a varia es movimentos naturais Um programa foi desenvolvido em Borland C Builder 3 0 Calvert97 Miano97 Reisdorph98 possibilitando ao usu rio controlar por mouse e por posi o absoluta cada servo al m de possibilitar uma programa o rudimentar 8 2 Configura o Inic
16. m a precis o aumentada Identifica o 0 7 ou 8 15 No caso de se estar trabalhando com mais de oito servos e dois SSCs Taxa de transmiss o 2400 ou 9600 baud Figura 13 A placa Mini SSC II e suas configura es por jumpers Cr ditos Lynxmotion98a Scott 5 1 5 Locomo o A locomo o baseada em duas rodas com tra o independente H ainda uma terceira roda de apoio para equilibrar o conjunto As rodas s o de espuma sint tica e semi r gida que proporciona uma boa ader ncia em superf cies limpas J em superf cies muito empoeiradas ou midas a ader ncia fica prejudicada A roda traseira bem pequena e de baixa qualidade verifica se muito atrito por isso o rob fica de certa forma restrito a terrenos mais regulares O fato de as duas rodas de tra o n o possu rem eixo comum d uma grande liberdade ao rob Suas manobras ficam muito simples podendo ele at mesmo girar sobre seu pr prio eixo Isto facilita os problemas de desvio de obst culo e aumenta sua performance em locais com muitos obst culos 27 Rob M vel para o Modelo de Subsumption Descric o do Hardware Forward Reverse Motion tion Left Servo Left Servo 2mS 1mS Right Servo Right Servo 2mS ims Right Turn Left Turn R on a dime on a dime H Left Servo Left Servo 2mS imS Right Servo Right Serva imS 2mS Right Tum 8 Left Turn gradual gfh gradual Left Servo Left Servo 2mS 1 55mS R
17. meros quebrados preferimos manter as posi es inteiras Al m disso o intervalo entre cada atualiza o n o significa que cada posi o atualizada a cada n milissegundos apenas diz o intervalo entre elas Cada atualiza o envia o comando pela serial espera o fim da transmiss o e ent o termina V rios valores de passo e intervalo foram testados Achamos por m que passos muito grandes levam o bra o a vibra es indesejadas Estamos preparando um estudo mais detalhado sobre isso por m dentro do escopo de nossos objetivos Tamb m existe o cuidado de n o realizar movimentos em muitos eixos entre uma posi o gravada e outra pois diminui a taxa de atualiza o em cada eixo em separado e levando a oscila es Controle e Estado dos Servos Mover 0 1 2 HO R 45 HE A Sevo fa e el e od e a e c E PARAS Bookmarks Posi o Inicial Baixar Bra o El Ajuste para o Alvo Abrir Garra 7 Modo Cont nuo Veloci Passo fi Intervalo 150 ms E lol la la las Let les Let Ls a 181 58 111 206 61 0 ia so Posi o Inicial Sar Figura 25 Opera o do Programa Cr ditos Fr amp d 44 Rob M vel para o Modelo de Subsumption Avaliac o e Testes do Projeto 9 Avaliac o e Testes do Projeto At a data de redac o deste documento n o hav amos ainda testado o rob em pleno funcionamento Apenas alguns testes ini
18. nada mais natural do que utilizar o idioma universal da Internet Cremos que seria dif cil a manuten o e sincroniza o de dois aplicativos De qualquer modo esperamos modificar o compilador para basear toda as suas mensagens de interface num arquito texto que pode ser modificado e traduzido para qualquer idioma Por fim um ponto relativamente bvio mas que vale a justificativa Todo o software do computador foi feito para a plataforma Microsoft Windows Apesar da grande popularidade do Linux e de nossa simpatia e prefer ncia por ele decidimos criar aplicativos que atendessem a maior parcela poss vel de usu rios Futuramente esperamos portar o programa para v rias plataformas certamente utilizando Java 6 1 1 Alinguagem SOUL O nome SOUL vem das iniciais de Subsumption Oriented Uniform Language que caracteriza a linguagem como sendo orientada ao modelo de subsumption Trata se basicamente de uma varia o da linguagem de descri o de comportamentos subsumption apresentada informalmente em Jones amp Flynn93 Descreve os diagramas de processos subsumption de forma textual detalhando todo o comportamento e suas conex es internas Apresenta uma organiza o e estrutura de dados pr prias para permitir que o usu rio crie comportamentos completo sem a necessidade de artif cios que poderiam complicar o entendimento ou comprometer a estabilidade l gica do rob Mantivemos a estrutura b sica de Jones amp Flynn93 introduzind
19. pare imediatamente o movimento que est executando para entrar no procedimento de desvio A implementa o destes sensores foi feita atrav s de interruptores de press o como na Figura 7 O interruptor al m do bot o de press o possui uma alavanca met lica cerca de 6 5cm que pressiona o bot o Isto faz com que o interruptor se torne um pouco mais sens vel permitindo que mesmo antes de haver a colis o efetivamente o bot o j tenha sido pressionado Cinco sensores foram utilizados dois frente um de cada lado e um atr s P ra choques cobrindo todo o per metro do rob garantem que ao menos uma chave seja acionada em caso de qualquer contato Os Figura 7 Chaves de contato para dete o de colis o Cr ditos Fr amp d 23 Rob M vel para o Modelo de Subsumption Descric o do Hardware 5 1 2 2 Sensores de Luminosidade Os sensores de luminosidade foram implementados atrav s de LDRs resistores sens veis luz A escolha do LDR para sensor luminoso se deve principalmente a sua extrema facilidade de utiliza o O n vel de luminosidade convertido em tens o atrav s de um simples divisor de tens o entre o LDR e um resistor fixo Este n vel de tens o lido diretamente numa porta de convers o A D do processador Foram utilizados 5 LDRs A id ia que eles fiquem distribu dos no corpo do rob de modo que a detec o das fontes de luz n o dependa da orienta o da base do rob 5 1 2 3 Sensores de P
20. return ilrpdSWRight Anexo VIII 80 Rob M vel para o Modelo de Subsumption Anexo VIII unsigned char getIrpdSELeft return ilrpdSELeft unsigned char getlIrpdSERight return ilrpdSERight line tracker functions unsigned char getLineTrackerLeft return iLineTrackerLeft unsigned char getLineTrackerCenter return iLineTrackerCenter unsigned char getLineTrackerRight return iLineTrackerRight LDR functions unsigned char getLDRFrontLeft return iLDRFrontLeft unsigned char getLDRFrontCenter return iLDRFrontCenter unsigned char getLDRFrontRight return iLDRFrontRight unsigned char getLDRArm return iLDRArm unsigned char getLDRRear return iLDRRear bumper switches functions unsigned char getBumperFrontLeft return iBumperFrontLeft unsigned char getBumperFrontRight return iBumperFrontRight unsigned char getBumperLeft return iBumperLeft unsigned char getBumperRight return iBumperRight 81 Rob M vel para o Modelo de Subsumption unsigned char getBumperRear return iBumperRear microphone average input level variable unsigned char getMicrophoneLeft return iMicrophoneLeft unsigned char getMicrophoneRight return iMicrophoneRight iBattery level sensing unsigned char getBattery return iBattery setting buzzer time void setBuzzer iBuzzerTime BUZZ
21. ssssssi seis oco ae ce on dos 29 Figura 17 O bra o suas articula es o oe acta a AG Gee eee 30 Figura 18 A pin a do bra o articulado 1 0 3 SS 30 Figura 19 Motores que devem estar em total sincronia e alinhamento 33 Figura 20 Alinhamento de parafusos servos ese ereeeerneananes 33 Figura 21 Vis o parcial frontal do rob alguns sensores e a base do bra o suspensa 34 Figura 22 Placa principal feita em wire wrap nono nennnnnonancnn ccoo nnnnnnnrnnno 35 Figura 23 Interface do compilador subsumption ESCompiler ooconnccnoconoccconacinancnancnonccnnnos 38 Figura 24 Configura o do Programa veleta a poda 43 Figura 25 Opera o do Programa ui bd 44 Figura 26 Rob ao lado de teclado co nociones 48 Figura 2 Base robotica iii eed aap en Aan Beda dans 48 Figura 28 Placa principal veria 49 Figura 29 O Mini SSC corresponde aos circuitos na base do bra o oooconoccnoccconncnonanannnnnnno 49 Figura 30 Deseo do Mini SSC see hey A od ja 49 Figura 31 Ilustra o do sensor de dete o infravermelho ocio acae e oe ea acae oen 50 Figura 32 Aspecto do circuito seguidor de trilhas en 50 Figura 33 Detalhe do conector Mole a aa dass DEDO DD ED DEA DE qead edie lie 50 Figura 34 o AA a ada Rll eta e Sua 51 Figura 35 Placa principal de controle cassa papas hentai a De Aladin d 51 Figura 36
22. stateChecking Avoid_To 1 break Case stateHardLeft Avoid_RightMotor 50 Avoid LeftMotor 80 if Avoid timer lt 0 Avoid_next stateChecking Avoid_To 1 break Anexo VIII 95 Rob M vel para o Modelo de Subsumption return case stateSoftLeft Avoid_RightMotor 80 Avoid_LeftMotor 100 if Avoid timer lt 0 Avoid_next stateChecking Avoid_To 1 break case stateHardRight Avoid_RightMotor 80 Avoid_LeftMotor 50 if Avoid_timer lt O Avoid_next stateChecking Avoid_To 1 break case stateSoftRight Avoid_RightMotor 100 Avoid_LeftMotor 80 if Avoid_timer lt 0 Avoid_next stateChecking Avoid_To 1 break void Escape void states numbers enum stateChecking EE 00 00000 SHOWMSG printf Escape statePanic tatePanicSolved tateFrontLeft tateFrontRight tateRight tateleft tateRear tateTryAgain ao c char Escape next clear flag Escape To O 48 Anexo VIII 96 Rob M vel para Anexo VIII o Modelo de Subsumption next switch case brea case brea case state logic Escape next stateChecking Escape timer 10 if either in the front if Escape BumperFrontLeft if Escape BumperFront Escape timer 20 Escape next statePanic el
23. vel para o Modelo de Subsumption Sum rio R En a TO 1 T tul 10 T tulo ET N T NT TE T T 2 I du 11 UMPLPOMUCAD ccccccccccscrcrcrcccecececeeeceesesesesessscssssssssssssssssssssssssssesesessssssessesesescscscssses cesses SUA MOV 1 CA O AO 11 2 2 INICIOS idolo ada Il 2 3 Sobre este Documento viicrccccccccccccccsssssscscccccccccsssssesccsccsccusssssssescececcesssusssescesecceseusssesees 13 3 Especifica o Funcional do Projeto ocmoooooooncoonocoonocinconaccnonacocncccncnoccconncnoncccanonaaccnanoso 14 FE SCA PRI O DDR ERROU A AA A AAA DR RD ERR 14 32 TAA WOU ia E R a a A E R RR R 15 DD Microcontrolador A EE E a 15 NAO 15 3 2 3 LOCOMO O metia aia atten ies 16 32A IMOLOR tb i 17 329 Alimenta o ii dit nadas 17 3 20 Estrutura Mec nica cninn ese a a e Ta aE a E SEE E E eS 18 3 3 Software do Computador ssena iee ieste aE a E da a 18 DOUBLE do RODO AA r ELES RO RO an eae 19 4 Diagramas em Blocos do Projeto ooomomomsmos 20 ZO A e fa TEA ET 20 ES EWI A A 20 4 3 SEMA i E EE E T E EA A E N und aa 20 5 1 Descri o Funcional e Arquitetura iii elasticas 21 SL Mierocontrolador iia 21 DZ SENSOTES A CETA a NR aE aa 23 5 1 2 1 Sensores de Colis o ssa asim AA riiete eE n ENNES EAVES ESNE EEE E RD 23 SAL Sensores de EUMINOSIdA dE ooooocncnonuocnnconnannnononononanononononononononon nana e rie odede 24 5 1 2 3 Sensores de Proximidade ooooooconnnnniounonccononnnnnnononanonnn
24. 1 QUAD B do detetor de proximidade infravermelho 1 Pino P1 2 entrada 2 QUAD A do detetor de proximidade infravermelho 1 22 Rob M vel para o Modelo de Subsumption Descric o do Hardware Pino P1 3 controle do detetor de proximidade infravermelho 2 Pino P1 4 entrada 1 QUAD_B do detetor de proximidade infravermelho 2 Pino P1 5 entrada 2 QUAD A do detetor de proximidade infravermelho 2 Pino P1 6 controle do detetor de proximidade infravermelho 3 Pino P1 7 entrada 1 QUAD_B do detetor de proximidade infravermelho 3 Pino P4 0 entrada 2 QUAD A do detetor de proximidade infravermelho 3 Pino P4 1 sinal 2 do kit seguidor de trilha Pino P4 2 sinal 1 do kit seguidor de trilha Pino P4 3 sinal O do kit seguidor de trilha Pino P4 4 chave de contato 1 Pino P4 5 chave de contato 2 Pino P4 6 chave de contato 3 Pino P4 7 sonar Porta PWM piezobuzzer 5 1 2 Sensores 5 1 2 1 Sensores de Colis o Os sensores de colis o s o utilizados para que no caso de o rob se chocar com algum objeto ele possa tomar a atitude adequada para desviar do mesmo Normalmente estes sensores ser o usados apenas em ltimo caso pois o rob conta com sensores de proximidade que permitem detetar um objeto antes de colidir com o mesmo Por m caso o sistema de sensores infravermelho falhe ou a reag o do rob respons vel por desviar do obst culo n o tenha sido corretamente planejada e haja a colis o os sensores de colis o permitem que o rob
25. 47 1991 139 159 MIT Press Cambridge MA 1991 Mostra como o uso de subsumption evita a necessidade de se modelar todo o ambiente em que o rob ou agente se encontra Mostra como camadas de instintos conseguem ter uma rea o aos est mulos exteriores com melhor desempenho do que os m todos atuais utilizados pela intelig ncia artificial 62 Rob M vel para o Modelo de Subsumption Refer ncias Brooks91c BROOKS Rodney A New Approaches to Robotics MIT Press Cambridge MA 1991 Comparativo entre os v rios meios de construc o de sistemas inteligentes apresentando v rios exemplos e analisando suas vantagens e desvantagens Calvert97 CALVERT C Borland C Builder 3 Unleashed Sams Publishing amp Borland Press 1998 Uma enciclop dia de informa es para aplica es s rias utilizando o C Builder 3 0 Enfoque principal em banco de dados cobrindo tamb m componentes para Internet computa o gr fica e arquiteturas de comunica o entre objetos Connell89 CONNELL Jonathan H A Colony Architecture for an Artificial Creature MIT Ph D Thesis in Electrical Engineering and Computer Science MIT AI Lab Tech Report 1151 June 1989 Apresenta uma interessante proposta de utilizar grupos de rob s baseados em subsumption para explorarem e colonizarem ambientes Connell90 CONNELL Jonathan H Minimalist mobile robotics a colony style architecture for an artificial creature Academic Press Inc 1990 M
26. 6 2 Estrutura de Dados Utilizadas lt A A 38 6 2 L Diagrama de Objetos Ainda TA e Godot ies eats Meee Set ees 38 6 3 Recursos de Desenvolvimento tica 39 7 Descri o do Software do Rob sssccisscsissevesscssesssseesovsnssscsscosdsceusvnnssossevensovenssensssonseonnsenass 40 7 1 Programa monitor modificado A da 40 7 2 Escalanador processos de usu rio e drivers a ada 4 ha Descricaio Funcional ES td Aoi 4 7 4 Estruturas de Dados Utilizadas 1 A Ie dd 41 7 5 Recursos de Desenvolvimento Vies 42 7 6 Mapa de Gera o de C digo Execut vel Grava o de Mem ria 42 Rob M vel para o Modelo de Subsumption 9 Outros SOR Ware ii ES S T Necessidade AN O a C A 43 8 2 CONTI EURO A te e aaa 43 OF SOPCTA CIO AA RE 43 9 Avalia o e Testes do Projets sissccescissdsstsdsccdscessscavs sdecssetcsustsctvdscacecesscissiadssecesssvidostsiontace AS 9 1 Recursos de Apoio Utilizados lt ALS AAA AS TEA A RAI A AAA AE 45 9 2 Testes Efet ado lt A A AS A A a Riis 45 9 2 1 Opera o do bra o articulado ooooncnnnnnnnnnnnnonnconnconncnn nono DE DE nono concconconnnona conan conc cnnccnnncnnos 45 9 2 2 S nsores de proximidade 5 25 22 sacks soc ip EEN A n RES 45 10 Cronograma de Desenvolvimento Efetivamente Cumprido ooocooooccoonoccronoccronccroso 46 TL Empacotamento acena tancia asas ia oiiceaiia a ade pica ado niiai idad nic AT 12 Manualdo USU ATIOS cocidas drenado nidad caricia AO A a A DEA 48 12 1 1 C
27. MV A A A be Gia eyes easel ates 73 76 Anexo VE A A ds 74 DT TF ANEXO A a E 77 VES Anexo MA boa Naa dos 78 Rob M vel para o Modelo de Subsumption Lista de Figuras Figura 1 Diagramas em blocos do sistema sijelo 14 Figura 2 Sistema de locomo o utilizando rodas neo Deo aa Deo Deo acer ae nea Dono 16 Figura 3 Diagrama do software do computador errar 19 Figura 4 Diagrama do Dar WI A A A a 20 Figura 5 Diagrama do software suecia 20 Figura 6 Diagrama do sistema completo aii ds 20 Figura 7 Chaves de contato para dete o de colis o oooonnococnnoccooacccooncnononcnonnnccnnnnccnnnncnnnnos 23 Figura 8 Emissores e receptor do IRPD para cobrir quadrantes diferentes 24 Figura 9 Seguidor de trilha com inversores Schmitt trigger para simplificar o circuito 25 Figura 10 Posig o do servo varia entre O e 180 graus dependendo do per odo do PWM 26 Figura 11 Resposta ao sinal PWM do servo modificado para locomo o 26 Figura 12 Controle dos servos utilizando o Mini SSC II 26 Figura 13 A placa Mini SSC II e suas configura es por jumpers o occccoocccconcccnoncnonancninnnnnnnns 27 Figura 14 Movimentos poss veis devido configura o das rodas oooonoccnoncnoccconancnoncnonccnnnos 28 Figura 15 Alimenta o do sistem ssa asa asa as AEE ee Dna Ri 29 Figura 16 Placa da PVC fornecida pelo kit com pe as pr cortadas
28. Subsumption Especifica o Funcional do Projeto Detetores de Dist ncia Informam qual a dist ncia at algum obst culo em determinada dire o S o usados principalmente para mapeamento de ambientes e para controle sobre a velocidade em rob s de alta performance Exemplos sonares ultras nicos e detetores de infravermelho Detetores de Som S o simplesmente microfones com alguma amplifica o e opcionalmente filtrados Permite que o rob escute por determinados sons ou padr es de sons como palmas tons de discagem bipes e sons emitidos por outros rob s Exemplos microfones comuns ou de eletreto Sensores de Contato S o utilizados para detetar se houve alguma colis o ou se algum membro do rob est encostando em algum material Alguns sensores conseguem medir at mesmo a press o do contato Exemplos chaves bot es sensores de tor o fitas piezoresistivas Outros sensores S o aqueles menos utilizados mas podem ser de grande utilidade em algumas aplica es Por exemplo sensores piroel tricos que detetam fontes de calor especialmente aquelas emitidas por mam feros aceler metros que indicam a acelera o podendo fornecer a dist ncia com algumas integra es b ssolas eletr nicas que indicam em que dire o o rob est apontando desde que esteja em ambientes livres de interfer ncias magn ticas mini c meras para serem utilizadas em aplica es de tele presen a Todos esses sensore
29. Walks Emergent Behavior Form a Carefully Evolved Network Neural Computation 1 2 Summer 1989 253 262 Melhor estruturac o do modelo de subsumption apresentando praticamente todas as caracter sticas que hoje comp em o modelo Vital para o entendimento do conceito de subsumption e interessante modelamento de comportamento animal pelo modelo Brooks90a BROOKS Rodney The Behavior Language User s Guide A I Memo 1227 MIT Press Cambridge MA 1990 Normatizac o de uma linguagem de programac o baseada em LISP para modelamento de comportamentos utilizando subsumption Defini o de termos representando algumas das estruturas discutidas em outros artigos como os hormones Brooks90b BROOKS Rodney A Elephants Don t Play Chess in Designing Autonomous Agents Theory and Pratice from Biology to Engineering and Back Ed Patie Maes MIT Press MA 1990 p3 15 1990 Apresenta o modelo de subsumption como uma ramo da intelig ncia artificial que difere daquilo que j foi pesquisado nos ltimos trinta anos Mostra as linhas de pesquisa em andamento e os projetos futuros Brooks91a BROOKS Rodney A 7 Intelligence Without Reason AI Memo No 1293 for Computer and Thoughts IJCAI 91 MIT Press Cambridge MA 1991 Mostra como o modelamento de sistemas com subsumption se aproximam dos sistemas biol gicos melhor do que os m todos convencionais Brooks91b BROOKS Rodney A Intelligence Without Representation Artifical Intelligence
30. comportamento no PC Este procedimento melhor detalhado na parte que versa sobre software neste manual Ap s o comportamento estar desenvolvido o usu rio deve ter uma arquivo com a extens o HEX que deve ser enviado ao rob 12 1 3 2 Conex o do rob ao PC via cabo serial Conectar uma das pontas do cabo serial no PC Conectar a outra ponta necessariamente DB9 f mea no rob Seguir a lista de procedimentos Certificar se que a chave de sele o da placa est na posi o PC Chave de reset Chave de sele o ov TV O P10 P11 P 9 5 Serial Figura 38 Envio de programa ao rob Cr ditos Fr amp d Rodar o programa WinTalk no PC 56 Rob M vel para o Modelo de Subsumption Manual do Usu rio Figura 39 O programa WinTalk para envio de programas pela serial Cr ditos Fr amp d Ligar o rob na chave que fica no local indicado na figura abaixo Apertar a chave de reset do rob que fica no local indicado na figura abaixo Deve aparecer na tela a mensagem PCS 599 Laborat rio de Microprocessadores Esta mensagem vem do programa monitor modificado que utilizado para envio do programa ao rob Esta mensagem vem de um programa que roda no rob e n o gerada no PC O usu rio deve clicar no bot o Escolher Nome Arq e selecionar o arquivo HEX gerado durante a edi o do comportamento Clicar no console onde aparecem as mensagens
31. duas rodas ester veis na frente e duas no mesmo eixo atr s E ES A ic ELG Kea Gm te ta Figura 2 Sistemas de locomo o utilizando rodas Cr ditos Jones amp Flynn93 16 Rob M vel para o Modelo de Subsumption Especificac o Funcional do Projeto Optamos por especificar rodas diferenciais differential steering para este projeto pois elas oferecem uma boa rela o entre agilidade e facilidade de projeto e implementa o Mesmo utilizando apenas esse modo de locomo o ainda h certa liberdade de implementa o 3 2 4 Motor O motor a ser especificado precisava se adequar bem a restri es de peso e consumo Consideramos duas alternativas Jones amp Flynn93 a princ pio Motores de passo Sua principal vantagem o controle simplificado dado que podemos controlar sua posi o com precis o Quando recebe uma entrada o motor de passo procura se estabilizar numa posi o fixa Como maior desvantagem podemos citar o baixo torque em rela o ao seu peso um motor bastante adequado para mecanismos pequenos e leves floppy drives winchesters pequenos bra os mec nicos Motores DC cont nuos Suas grandes vantagens s o o elevado torque e alta durabilidade Enquanto sua fonte de alimenta o estiver ligada um motor cont nuo estar se movendo Para inverter sua dire o basta inverter o sentido de sua alimenta o Optamos por especificar um motor DC cont n
32. muito conhecido mas que se mostra bastante adequado constru o de pequenos rob s m veis s o as chapas de PVC especial Este material dur vel e resistente al m de leve e f cil de ser cortado de acordo com moldes N o cremos ser necess ria especificar o material ficando a escolha de acordo com a disponibilidade do material e de ferramentas 3 3 Software do Computador O comportamento de rob ser todo determinado pelo software criado no computador Diversos algoritmos foram contemplados Brooks91a procedural redes neurais l gica fuzzy evolutivo subsumption Destes foram escolhidos o modelo procedural e o modelo subsumption Brooks86 Brooks89 Connell89 O modelo subsumption apesar de atualmente n o ser revolucion rio um t pico ainda novo e de interesse dos membros do grupo Trata se de um algoritmo robusto s falhas dos componentes s altera es no ambiente e problemas de l gica nos processos Connell89 Uma caracter stica tamb m importante a escalabilidade isto a possibilidade de incluirmos novos algoritmos sobre os existentes de maneira consistente No modelo de subsumption o comportamento do rob controlado por uma rede de processos que s o executados em paralelo Cada processo possui sua finalidade e tem acesso s entradas sensores e s sa das motores do rob comunica o entre os processos tamb m pode ser feita utilizando tais entradas e sa das mas observando se cert
33. reconhecimento de imagens ou vis o rob tica tarefas que necessitam de grande processamento computacional O controle remoto do rob pelo computador atrav s de comunica o sem fio tamb m foi desnecess rio por causa da independ ncia entre eles Dentro dos objetivos mais amplos de nosso projeto conforme discutimos em 2 2 Objetivos a programa o deve ser feita de forma independente da implementa o do hardware do rob Logo uma interface uniforme ser criada para atender a todos os casos Dependendo da filosofia de programa o uma linguagem pr pria dever at mesmo ser desenvolvida 3 1 Sistema Dividimos o sistema em tr s partes o rob propriamente dito hardware as ferramentas que ser o utilizadas para a cria o e compila o de comportamentos para o rob software do computador e o c digo resultante que ser executado no microcontrolador do rob software do rob No diagrama da Figura 1 temos os macro blocos que comp em o sistema agrupados nas tr s partes citadas Software do Computador Sensores Atuadores Compilador i j 1 1 i 1 1 Microcontrolador e Expans es icac Editor de Comportamentos HANNA Software do Rob Figura 1 Diagrama em blocos do sistema Cr ditos Fr amp d Uma t pica programa o de comportamentos teria in cio no Software do Computador a partir do m dulo Editor de Comportamentos onde o usu rio cria as rotinas respons veis por executar determinad
34. stateLeft Escape RightMotor 127 Escape LeftMotor 140 if Escape timer lt 0 Escape timer 10 Escape next stateTryAgain Escape_To 1 break case st teRear brea case brea return Escape_RightMotor 100 Escape LeftMotor 120 if Escape timer lt O Escape timer 10 Escape next stateTryAgain Escape_To 1 k stateTryAgain Escape RightMotor 117 Escape LeftMotor 117 if Escape_timer lt O Escape_next stateChecking Escape_To 1 Ki 98 Rob M vel para o Modelo de Subsumption Anexo VIII void Connections void priority 0 if Cruise_To Fred_LeftMotor Cruise_LeftMotor Fred_RightMotor Cruise_RightMotor priority 1 if Fred_To Follow_LDRFrontLeft Fred_LDRFrontLeft Follow_LDRFrontCenter Fred_LDRFrontCenter Follow LDRFrontRight Fred LDRFrontRight if Follow To Fred LeftMotor Follow_LeftMotor Fred_RightMotor Follow RightMotor priority 2 if Fred To Avoid_IrpdNWLeft Fred IrpdNWLeft Avoid IrpdNWRight Fred IrpdNWRight Avoid IrpdNELeft Fred IrpdNELeft Avoid IrpdNERight Fred IrpdNERight if Avoid To Fred LeftMotor Avoid_LeftMotor Fred RightMotor Avoid RightMotor priority 3 if Fred To Escape BumperFrontLeft Fred BumperFrontLeft Escape BumperFrontRight Fred BumperRight Escape BumperLeft Fre
35. 0 5922 Rua Sta Efig nia 280 519 556 Dual Comp 11 224 8133 Rua Aurora 146 Entre diversos outros locais Para pedir um excelente cat logo Farnell do Brasil 11 4066 9400 http www farnell com 5 4 Detalhes de Implementac o Procuramos descrever aqui fatos e detalhes relevantes que surgiram durante a implementa o do hardware do rob N o se trata de manual de montagem completo mas dicas para ajudar aqueles que queiram repetir os mesmos passos 5 4 1 Modifica o dos servomecanismos Para transformar o servomecanismo com ngulo de opera o limitado em um com giro livre s o necess rias modifica es el tricas e mec nicas Existe um manual Lynxmotion98c da Lynxmotion dedicado exclusivamente a este procedimento de modifica o Seguindo se as indica es do manual n o restam muitas d vidas Apenas alguns probleminhas foram encontrados Retirar o fim de curso do pot nci metro uma tarefa um pouco complicada porque exige for a e precis o ao mesmo tempo O fim de curso um pedacicho da carca a de lata entortado para dentro Ele deve ser entortado para fora liberando o movimento Utilizamos uma morsa para prender o potenci metro e uma chave de fenda com um pequeno martelo para bater na pe a de dentro para fora Ao final deste procedimento a carca a do potenci metro estava entortada e teve de ser remodelada com o uso de dois alicates Durante a remontagem do conjunto dentro da caixinha e
36. 332 s5588 23 83 l ZEZXVN ca ed 2 5 IOLNI 2 Ed OXL L Ed r L axu o ed E ELELOHPL o TF ar ONO B30 E HR am 67 29 o E go a BE E lt 9 E qn em ravirod gg ant ant E eo Fe BOWIE 08 E zavie Od isu an ES Te ES 19 so 15 99 T as SUSWO S bd 7 j gs PUSWO t hd gt 09 Pd eusnoeva anot ov108 Sd 89 rola vo 227 222 ss RAR SE 99A 22 bas 2 vu 550 gt gt 55 2 s se 3 88 nos 5 O EE p 999 a do B28 g a s S28 as 94 t 05 01 W su Sansecce 25 22222222 aa za E ys ve Vv y yaannr Sat EN 22 69 K Anexos vel para o Modelo de Subsumption Rob 17 2 Anexo Il Esquema El trico Conectores ep e eulbed 6661 9p OIQUISAON SP LL pg 810 098U09 SO ZGG908 O a Jua sagxauoo ap ewelberg 083119580 uondwnsans ap 0 8poyy O esed sI8MOW Soqgou olny SNO9 3 20 EISNaS zIsNas HISNIS ENOI vir Noo Noo E E 12SN3S z lt gt ozsnas 2 c gt Esnas E t t EIT am y 29h 20h Noo t E SISNaS z oul E A SNO9 SNO9 s s v 90SN3S SOSN3S z 0LSN3IS z E E Fr Er Y Y ENOI HT or NA V 39A 29 NOO ENOI e e lt lt gt isnas 2 SS elsnas L L T EN Bu EN SNOO SNOO s 90
37. 73 controlador de servomotores Lynxmotion Mini SSC II RAM 62C256 placa de wire wrap com espacamento pequeno para o soquete PLCC ROM 27C512 seletor de 2 fios barras multi LED conjuntos de conectores Molex de 5 pinos chaves de contato de haste longa conjunto de conectores Molex de 4 pinos regulador de tens o fixa L78S05CV conjuntos de conectores Molex de 3 pinos transmissor receptor CMOS RS232 foto resistores LDR soquete PLCC de 68 pinos capacitores de 33pF soquetes wire wrap de 28 pinos capacitore de 1nF soquetes de wire wrap de 16 pinos capacitores de 0 1uF barras de wire wrap de 50 pinos capacitor de 10uF soquete de wire wrap de 20 pinos capacitores eletrol ticos de 1mF servomotores do tipo Hitec HS300 capacitores eletrol ticos de 1uF kits detetor infravermelho Lynxmotion capacitor eletrol tico de 10uF capacitor eletrol tico de 47uF conector DB9 74HCTOO 31 Rob M vel para o Modelo de Subsumption Descri o do Hardware 5 3 1 Endere os Visamos com este t pico facilitar ao leitor a compra de componentes eletr nicos dos tipos utilizados neste projeto N o pretendemos favorecer nenhuma empresa e a sele o abaixo decorre apenas na nossa familiriaza o com os locais tradicionais em S o Paulo a regi o da Santa Efig nia Compdisk 11 222 8644 Rua dos Timbiras 270 Gold News 11 224 9500 Rua Aurora 82 Zamir 11 220 3377 Rua Sta Efig nia 432 Trancham 11 22
38. Cada cabo tem um identifica o de onde deve ser ligado ro 8 25 TIT e Figura 33 Detalhe de conector Molex Cr ditos Fr amp d 50 Rob M vel para o Modelo de Subsumption Manual do Usu rio Figura 34 Foto resistor Cr ditos Fr amp d 12 1 2 Configurac o e montagem 12 1 2 1 Liga o de conectores e sensores A placa principal tem 9 portas com conectores Molex macho servem para conectar os diversos tipos de sensores O 9V TY P10 P11 e Reset On al DL dE Chave Pt Pp 1 HED cer re Cd E O Figura 35 Placa principal de controle Cr ditos Fr amp d As portas identificadas com os n meros 1 e 2 no desenho servem para conex o dos foto resistores e do microfone Os cabos dos foto resistores devem ter o pr prio foto resistor numa das pontas e um conector Molex f mea de tr s pinos numa outra ponta Os conectores Molex dos foto resistores devem ser colocados nas portas 1 e 2 de acordo com a numera o do desenho importante observar o espa amento de 1 pino entre conectores vide desenho abaixo As portas 1 e 2 est o conectadas aos conversores A D do microcontrolador do rob 51 Rob M vel para o Modelo de Subsumption Manual do Usu rio conectores de sensores Conector da placa principal espacamento Figura 36 Espacamento entre os pinos Cr ditos Fr amp d Os quatro sensores de dete o infravermelhos devem ser conectados pelos cabos que t m u
39. DANIEL CARLOS LANDI F BIO ROBERTO DE MIRANDA RODRIGO STEPHAN DE SOUZA TELLES Trabalho de Formatura Rob M vel para o Modelo de Subsumption Faculdade de Engenharia El trica da Escola Polit cnica da Universidade de S o Paulo Departamento de Engenharia de Computac o e Sistemas Digitais 2 Semestre de 1999 Rob M vel para o Modelo de Subsumption PCS 0588 Laborat rio de Projeto de Formatura Trabalho de Formatura do Curso de Engenharia El trica nfase Computa o Alunos F bio Roberto de Miranda Rodrigo Stephan de Souza Telles Daniel Carlos Landi Faculdade de Engenharia El trica da Escola Polit cnica da Universidade de S o Paulo Departamento de Engenharia de Computa o e Sistemas Digitais 2 Semestre de 1999 Orientador Prof Dr Marco T lio Carvalho de Andrade F bio Roberto de Miranda Aluno Rodrigo Stephan de Souza Telles Aluno Daniel Carlos Landi Aluno Prof Dr Marco T lio Carvalho de Andrade Orientador Rob M vel para o Modelo de Subsumption Agradecimentos Mais do que um agradecimento pessoal este um reconhecimento a todos que contribu ram para a efetivac o de nosso projeto Ao professor Carlos Eduardo Cugnasca pelo incentivo na escolha do tema por tirar nossas d vidas t cnicas ao longo da defini o e implementa o do projeto e pela disposi o em ajudar a todos os grupos Ao nosso orientador professor Marco T lio Carvalho de An
40. E TURN SHORT 2000 short turn duration the orientation is said in the constantes already define ESCAPE FORWARD RIGHT 110 right motor forward define ESCAPE FORWARD LEFT 116 left motor forward define ESCAPE FORWARD 4000 forward duration and so on note that the backward is actually a back turn define AVOID TURNR LEF 110 turn right for left motor define AVOID TURNR RIGHT 116 turn right for right motor define AVOID TURNR 2000 turn right duration define AVOID TURNL LEE 116 turn left for left motor define AVOID TURNL RIGHT 110 turn left for right motor define AVOID TURNL 2000 turn left duration define AVOID_BACK_LEFT 140 backward for left motor define AVOID_BACK_RIGHT 147 backward for right motor define AVOID_BACK 4000 backward duration hard spin define SPIN_RIGHT 147 spin for right motor define SPIN_LEFT 107 spin for left motor define SPIN_TIME 10000 spin duration finally define STOP 127 stop for both motor define STOP_TIME 10000 stop duration T TH1 register reload for 9600baud serial comm 11 0592MHz define TH1 RELOAD Oxfd delay between writing and reading IRPD define IR DELAY 25 78 Rob M vel para o Modelo de Subsumption aux defs on A D conv regs define ADCS ADCON BITS B3 define ADCI ADCON BITS B4 define ADEX ADCON_BITS B5 SFR var pointed to ADCON reg static SFR_BITS ADCON_BITS 0xC5
41. ER_TIME servomechanisms control wheel motors void setLeftMotor unsigned char value LeftMotor value LeftMotorChanged 1 H H void setRightMotor unsigned char value iRightMotor value iRightMotorChanged 1 arm motors void setBaseServo unsigned char value iBaseServoTarget value void setShoulderServo unsigned char value iShoulderServoTarget value void setElbowServo unsigned char value ElbowServoTarget value H void setWristServo unsigned char value iWristServoTarget value void setGripServo unsigned char value iGripServoTarget value Anexo VIII 82 Rob M vel para o Modelo de Subsumption Anexo VIII INITIALIZATION METHODS funcao generica para delay SA void delay unsigned long int i unsigned long int j 0 j i while j gt O return void serialConfigNonInterrupted unsigned char reload Valores teis de reload byte Clock MHz 11 0592 16 000 Rate baud 2400 OxF4 238 64 precisa arredondar 9600 0xFD 251 65 A f rmula e reload 256 cristal baud 32 12 SCON 0x52 SCON mode 1 8 bit UART enable rcvr TMOD 0x20 TMOD timer 1 mode 2 8 bit reload TH1 reload TH1 reload value for 9600 baud 11 0592MHz TR1 1 TR1 timer 1 run TI Les JETIS set TI to send first char of UART Making b
42. Finais 14 Considera es Finais 14 1 Avalia o Finalmente a Escola Polit cnica nos oferece em nosso ltimo ano a chance de conduzir um projeto inteiro desde os esbo os iniciais at a sua entrega em funcionamento passando por especifica o projeto e implementa o A forma como foi proposto aos alunos permite empregar boa parte dos conceitos te ricos aprendidos no curso de Engenharia al m de proporcionar uma bem acolhida viv ncia pr tica Passamos por todas as fases de um projeto de Engenharia adquirindo conhecimento e experi ncia preciosos sobre como conduzir um projeto Desde a euforia inicial at a afoba o quando se aproxima o prazo de entrega aprendemos li es valiosas de organiza o metodologia de trabalho coopera o trabalho em equipe criatividade e for a de vontade Sobre o nosso projeto tivemos que ter bastante versatilidade para analisar alternativas novas que apareciam e contornar dificuldades ou erros de avalia o quanto a complexidade de propostas feitas na especifica o medida que faz amos o desenvolvimento nosso conhecimento de dom nio aumentava e pod amos ver falhas ou incoer ncias no projeto aperfei oando o Nossa equipe se manteve bastante unida durante todo o processo o que atenuou os momentos de tens o e nos educou no trabalho em equipe Pretendemos divulgar o m ximo de informa es produzidas e ou coletadas por n s durante este projeto na Internet para que futuros cri
43. H salva o resultado da conversao Faz o poll do pino 1 ADCI 0 limpa o indicador de final de conversao A D ADCON ADCON amp Oxf8 Pino 1 ADCON_BITS B2 0 ADCON_BITS B1 0 ADCON BITS BO m ADCS 1 Inicia a conversao A D asm nop asm nop while ADCI 0 Espera a conversao terminar iLDRFrontCenter ADCH Salva o resultado da conversao Faz o poll do pino 2 ADCI 0 Limpa o indicador de final de conversao A D ADCON ADCON 0xf8 Pino 2 ADCON_BITS B2 0 ADCON_BITS B1 1 ADCON_BITS BO o ADCS 1 Inicia a conversao A D asm nop asm nop while ADCI 0 Espera a conversao terminar iLDRFrontRight ADCH Salva o resultado da conversao 87 Rob M vel para o Modelo de Subsumption Anexo VIII Faz o poll do pino 3 ADCI 0 Limpa o indicador de final de conversao A D ADCON ADCON 0xf8 Pino 3 ADCON BITS B2 O ADCON_BITS B1 1 ADCON BITS BO 1 ADCS 1 Inicia a conversao A D asm nop asm nop while ADCI 0 Espera a conversao terminar iLDRArm ADCH Salva o resultado da conversao Faz o poll do pino 4 ADCI 0 Limpa o indicador de final de conversao A D ADCON ADCON amp Oxf8 Pino 4 ADCON_BITS B2 1 ADCON_BITS B1 O ADCON_BITS BO 0 ADC
44. LYNXMOTION Tracker Line Tracking Kit Assembly Manual TMRA 0 3 Ver 2 0 Lynxmotion Inc Pekin IL EUA 1998 Manual de montagem do kit rastreador Possui circuito interno exemplos de programas e modo de montagem e acoplamento ao rob Matai98 MATAI Shigueharu Recomenda es para a Elabora o do Relat rio de Est gio Apostila da disciplina PCS 600 Est gio Supervisionado PCS USP 1998 Foi nosso primeiro contato com uma maneira mais acad mica de redigir relat rios Apesar de possuir apenas nove p ginas cont m dicas interessantes A complementa o desse modo de reda o foi feita pelos professores do Laborat rio de Projeto de Formatura Martin91 MARTIN Fred The MIT Sensor Robot User s Guide and Technical Reference MIT Press Cambridge MA 1991 Manual sobre uma implementa o de rob m vel feita no MIT utilizando diversos sensores Martin93 MARTIN Fred Electronic Brick Technical Notes Learning and Epistemology Group The Media Laboratory MIT Cambridge MA 1993 Descri o da estrutura interna dos blocos funcionais utilizados pelo Lego MindStorms McComb87 McCOMB Gordon The Robot Builder s Bonanza 99 Inexpensive Robotics Projects TAB Books a McGraw Hill division 1987 Apesar de um pouco antigo possui diversos projetos principalmente mec nicos teis para qualquer projeto de rob tica 64 Rob M vel para o Modelo de Subsumption Refer ncias Miano97 MIANO J CABANSKI T H
45. Motor 127 iRightMotor 127 arm motors iBaseServo 127 iShoulderServo 127 iElbowServo 127 iWristServo 127 iGripServo 127 iBaseServoTarget 127 iShoulderServoTarget 127 iElbowServoTarget 127 iWristServoTarget 127 iGripServoTarget 127 motors delta values iLeftMotorChanged 0 iLeftMotorChanged 0 iBaseServoChanged 0 iShoulderServoChanged O ELOAD Anexo VIII 84 Rob M vel para o Modelo de Subsumption Anexo VIII iElbowServoChanged O iWristServoChanged 0 iGripServoChanged 0 r countdown P4_BITS B6 O printf O delay DEFAULT DELAY PA BITS B6 1 printf delay DEFAULT DELAY P4 BITS B6 O UPDATING METHODS void updateIRPD For this function the following mapping is assumed E Pias Left IR emitter P1 6 Right IR emitter P1 7 IR receiver P4 0 IR receiver P4 1 IR receiver P4 2 IR receiver Polls the Left side El P1_BITS B5 1 P3_BITS B3 0 delay IR DELAY lags a while before reading the port if P3_BITS B5 1 iIrpdNWRight 0 else iIrpdNWRight 1 if P4_BITS BO 1 iIrpdNELeft 0 else iIrpdNELeft 1 if P4 BITS Bl 1 ilrpdSWRight O else iIrpdSWRight 1 if P4 BITS B2 1 iIrpdSERight 0 else iIrpdSERight 1 85 Rob
46. OWE H Borland C Builder How To Waite Group Press 1997 Interessante lista de truques interessantes e indispens veis para qualquer programa em C Builder Apesar de ter sido escrito para a vers o 1 0 ainda til at mesmo para vers o 4 0 Philips98 PHILIPS SEMICONDUCTORS 87C552 Data Sheet Order number 9397 750 05367 Philips Eletronics North America USA 1998 Dentre os diversos datasheets que utilizamos este fundamental para o entendimento do microcontrolador utilizado Philips94 PHILIPS SEMICONDUCTORS Using the analog to digital converter of the 8XC552 microcontroller Application Note EIE AN93017 Philips Electronics North America USA 1994 Um dos poucos complementos necess rios ao datasheet do microcontrolador Indica com exemplos o algoritmo para se realizar as convers es Aten o para os NOPs necess rios e delays Raymond98a RAYMOND E The Cathedral and the Bazaar August 1998 Uma revolu o no modo de se programar aproveitando se os recursos que a Internet oferece Raymond98b RAYMOND E Homesteading the Noosphere April 1998 O estranho comportamento de hackers que utilizam o m todo Bazaar de programa o Reisdorph98 REISDORPH K Borland C Builder 3 in 21 Day Sams Publishing amp Borland Press 1998 Excelente livro para quem deseja iniciar seus estudos em C Builder ou tirar aquelas pequenas d vidas sobre algum t pico Scott SCOTT EDWARDS ELECTRONICS Using the Mini SSC II Serial
47. S 1 Inicia a conversao A D asm nop asm nop while ADCI 0 Espera a conversao terminar iLDRRear ADCH Salva o resultado da conversao Faz o poll do pino 5 ADCI 0 Limpa o indicador de final de conversao A D ADCON ADCON amp Oxf8 Pino 5 ADCON_BITS B2 1 ADCON_BITS B1 O ADCON_BITS BO 1 ADCS 1 Inicia a conversao A D asm nop asm nop while ADCI 0 Espera a conversao terminar iMicrophoneLeft ADCH Salva o resultado da conversao Faz o poll do pino 6 ADCI 0 Limpa o indicador de final de conversao A D ADCON ADCON amp Oxf8 88 Rob M vel para o Modelo de Subsumption Pino 6 ADCON_BITS B2 ADCON_BITS B1 1 ADCON BITS BO o ADCS 1 asm nop asm nop while ADCI 0 iMicrophoneRight Faz o poll do pino 7 ADCI 0 ADCON Pino 7 ADCON_BITS B2 ADCON_BITS B1 1 ADCON_BITS BO m ADCS 1 asm nop asm nop ADCI 0 while iBattery ADCH ADCI 0 return Bumper switches polling void BumperPoll if P1_BITS BO 1 iBumperFrontLeft else iBumperFrontLeft if Pl BITS Bl 1 iBumperFrontRight else iBumperFrontRight if Pl BITS B2 1 iBumperLeft 1 else iBumperLeft O if P1_BITS B3 1
48. SNIS 90SN3S v SOSNAS SOSNAS 60SN3S 80SN3S z L Tr NA NA 22 2 z lt gt 8lsN3S z lt gt uisnas z gt 91snas 1 ENOI lt gt alsnas 90SN3S SOSNAS ZOSNAS 70 Anexos vel para o Modelo de Subsumption Rob 17 3 Anexo lll Esquema El trico Sensores 71 erraqeq ep TOAFN Sep z eulbeg 6661 9P OIQUISAON SP LL eq sajuapuodsa1109 seo1bo seyod a seoej aju sejosues sop eweibeiq 083119580 uondunsqns ap ojapoy O esed siaAgw SogoH om Noo Noo Ex ebx Z Sua e bh L H o o E La e Pag oyo ss q osauo ss Noo Noo EX EX 2 fera 2 festa Pas 2 la o a gareyo ps a gareyo ps Noo Noo elx elx z SUB 4 ELLE ls o bey o mg Sg EN vero ES El vonyo Es NOO ENoo EX ex 2 jers ires 1 Hi o o L Ky o o SNOO EN vor 9S a vaneyg 9s g HaNovEL Y br Li zis 2 Some IS lt 6 z feug 088 8 SA am SNO9 E MNPUL e vavio lt 3 cha mo A E FIA tf z n SNO9 E spout y sd gavno 2 Esos vavno lt 5 z bous edo g E An oin r SNOO agpd Y bsos A A gano 2 vavno lt 6 z wo 8 R n or SNO9 A anda y a E 8 avno 2 Eus vavno lt 6 z psu 14198 E oon T A AL
49. Servo Controller Scott Edwards Electronics Inc Sierra Vista AZ EUA Manual do usu rio do Mini SSC II contendo instru es para conex o com microcontroladores e PCs al m de exemplos de programas TSS97 TECHNICAL SERVICE amp SOLUTIONS Build and Using the IRPD Technical Service amp Solutions Lynxmotion Inc Pekin IL EUA 1997 Manual do kit IRPD doado pela Anacom Possui instru es de montagem circuito do kit e exemplos de programas para acess lo Wickelgren96 WICKELGREN Ingrid Ramblin Robots Building a Breed of Mechanical Beasts Ed Watts 1996 Interessante compila o de rob s alternativos utilizando as mais estranhas t cnicas Um excelente ndice de id ias para quem deseja inovar e se aventurar em projetos ousados 65 Rob M vel para o Modelo de Subsumption Refer ncias 15 2 Sites na Internet AUVS Association for Unmanned Vehicle Systems AUVS International Robotics Competition http avdil gtri gatech edu AUVS IARCLaunchPoint html Nosso sonho ainda participar desta competi o DPRG DPRG Dallas Personal Robotics Group http www dprg org Um dos v rios grupos de rob tica amadora que nos inspiraram a criar o nosso pr prio HVW HVW Technologies All About Servos http www hvwtech com about_servos htm Pequeno tutorial sobre servos e modos de transformar servomecanismos em servomotores Para modelos Futaba FP S148 e TS 53 Johuco Johuco Ltd http www pcrealm net johu
50. X Editor Version 6 20b da empresa americana IDM Computer Solutions Trata se de um excelente editor de c digos que distribu do na forma de shareware na Internet a um preco de US 30 00 Ele aceita textos em ASCII ou EBCDIC ANSI ou OEM e DOS ou UNIX ou MAC Permite que o usu rio defina uma descri o da linguagem que ir editar definindo v rios n veis de palavras chaves keyword formas de coment rios formato de fun es para uma lista delas em tempo de edi o al m de v rias convers es no formato do texto macros e itens de menu customizados para certas a es como executar outro aplicativo Para integrar algum aplicativo ao UltraEdit 32 basta criar um novo item de menu definir que a a o executar um programa e preencher com c comp compiler F onde compiler o nome do compilador e F substitu do pelo caminho completo da janela sendo editada A descri o da linguagem SOUL para tal programa est no Anexo VII 6 1 3 Compila o Procedural A compila o de comportamentos procedurais a compila o de um programa em C Trata se de um n vel razo vel entre poder de programa o com o uso de estruturas de dados acesso aos recursos do microcontrolador versus o que se faz com Assembly e familiariade do usu rio O ambiente Keil PK51 2K que recebemos como doa o da Anacom Software foi bastante utilizado para a cria o de v rias rotinas de acesso aos sensores Suas ferramentas de debuga o e
51. a o de comportamentos do rob Propomos o projeto de um rob movido por duas rodas diferenciais e dotado de um microcontrolador dedicado da fam lia 80C51 N o h qualquer comu nica o com o computador logo todo o algoritmo de controle e de decis o estar armazenado na mem ria interna Uma ilustra o simples do rob pode ser vista na p gina em anexo O 80C51 escolhido possui sa das PWM e conversores A D al m de outras facilidades que tornar o o circui to compacto Os sensores previstos s o de v rios tipos fotoc lula detetor digital e anal gico de infravermelho microfone sonar ultras nico sensor piroel trico e sensor de contato Os atuadores se restringem a motor DC cont nuo LED e alto falante V rios desses componentes s o intercambi veis permitindo que o rob seja configurado para diversas aplica es A programa o do rob dever focar diversos tipos de usu rios Implementamos uma linguagem baseada em subsumption para a programa o dos comportamentos O item mais importante na programa o ser o uso do modelo de subsumption Trata se do m todo de programa o de rob s voltados para pesquisa que mais ganha for a revolucionando a rea h alguns anos atr s O comportamento do rob controlado por uma rede de processos que s o executados em paralelo Cada processo possui sua finalidade e tem acesso s entradas sensores e s sa das atuadores do rob Eles tamb m possuem diferentes prioridades
52. a rompido ou ligado invertido Caso isto n o tenha ocorrido o problema deve estar na alimenta o do Mini SSC IT bateria de 9V O cabo P10 pode estar solto invertido ou rompido ou ainda a bateria pode estar descarregada E recomend vel utilizar se baterias alcalinas importante tomar o cuidado de n o ligar a bateria invertida nem mesmo por poucos instantes pois isto pode queimar o Mini SSC II programa n o estiver sendo transferido para o rob Em primeiro lugar deve se verificar se o a chave de sele o da placa Chave est na posi o PC Em seguida o cabo serial que liga o PC no rob Serial deve ser verificado Os conectores devem estar bem encaixados O problema pode ainda ser na parte de software Fecha se o programa de comunica o com o rob iniciando o novamente algum sensor n o est funcionando O cabo do sensor pode estar solto com mau contato rompido ou ainda invertido 0 LDR sensor de luminosidade funciona mas n o est respondendo adequadamente Provavelmente os potenci metros de regulagem do conversor A D n o est o corretamente calibrados Com uma peque chave de fenda deve se ir girando os at obter a regulagem adequada O potenci metro Pot 1 determina o limite inferior da convers o e o Pot 2 determina o limite superior Deve se alterar as regulagens e ao mesmo tempo submeter a sensor a testes no escuro e claro extremos 59 Rob M vel para o Modelo de Subsumption Considerac es
53. a de mais f cil controle O m dulo de controle por m faz com que ele se comporte como um motor de passo isto basta um sinal de refer ncia para que o servo encontre sozinho a posi o desejada Esse sinal na verdade na forma de PWM que integrado e filtrado criando a tens o de refer ncia A posi o do servo aqui mencionada o ngulo na sa da da caixa de engrenagens e n o no motor pois o potenci metro de refer ncia est justamente ali Ali s o pr prio eixo mec nico do potenci metro utilizado de eixo para a engrenagem da sa da da caixa de redu o A diferen a entre a leitura do potenci metro e a tens o de refer ncia externa determina para que lado o servo deve girar 3 2 5 Alimenta o Para que o rob seja m vel e independente especificamos basicamente a necessidade de pilhas ou baterias como fontes de alimenta o Mesmo com essa especifica o alguns pontos importantes devem ser levantados Dentre os tipos de pilhas e baterias dois s o mais adequados alcalinas e NiCad A primeira possui alta dura o 5 vezes mais que a segunda e menor custo J as NiCads s o recarreg veis at 1000 vezes permitindo at mesmo que sejam recarregadas no pr prio rob Dependendo da toler ncia da tens o de entrada pode se at aceitar ambos os tipos 17 Rob M vel para o Modelo de Subsumption Especificac o Funcional do Projeto A tens o das pilhas baterias contudo pode variar de acordo com o n m
54. a de sensibilidade pode ainda se compensada por meio do potenci metro 35 Rob M vel para o Modelo de Subsumption Descric o do Software do Computador 6 Descri o do Software do Computador O software utilizado no computador para criar os comportamentos do rob mant m a estrutura especificada Temos toda a operac o centrada num editor de comportamentos respons vel fornecer recursos de aux lio edig o do c digo A partir do editor o usu rio poder ainda compilar o comportamento escrito em linguagem procedural ou em subsumption Por fim ainda poss vel enviar o comportamento diretamente ao rob 6 1 Descri o Funcional e Estrutura Como veremos adiante decidimos utilizar dois aplicativos j existentes comercialmente ao inv s de desenvolv los Assim optamos para focalizar nossos esfor os no verdadeiro escopo do projeto que a apresenta o de uma arquitetura para rob e a sua programa o atrav s de subsumption Assim caso haja o interesse de algu m montar o laborat rio de subsumption por n s proposto ele ter que adquirir ambos os softwares ou adaptar equivalentes Outro ponto que pode causar pol mica que no compilador de subsumption que criamos toda a interface e os coment rios no c digo est o em ingl s Nossa motiva o principal foi o intuito de disponibiliz lo na Internet para que v rios programadores e usu rios contribuam com sugest es Como esperamos atingir grupos fora do pa s
55. adores de rob s possam encontrar menos pedras pelo seu caminho Gostar amos tamb m que nosso projeto fosse continuado e melhorado nos pr ximos anos por outras equipes de projeto de formatura que se interessem por rob tica m vel e modelos de comportamento Um bom caminho para come ar seria a lista de sugest es que damos no tem abaixo 60 Rob M vel para o Modelo de Subsumption Considerac es Finais 14 2 Alternativas Aoinv s de servomecanismos o custo poderia ser barateado se us ssemos um motor DC e fiz ssemos o controle utilizando o contador de pulsos do 80C552 e um shaft encoder O motor seria controlado pelas portas PWM do microcontrolador como vemos em Jones zFlynn93 O esquema atual emprega um loop localmente realimentado o que n o nos d um controle de alto n vel sobre os resultados das atua es Um microcontrolador mais adequado seria o 80C562 do ponto de vista de redu o de custos Suas diferen as em rela o ao que foi usado s o conversores A D de 8 bits ao inv s de 10 bits e aus ncia de suporte ao protocolo PC Ele 30 mais barato que o 80C552 Um sistema de multitarefas preemptivo pode garantir que o rob continue a operar mesmo se um dos processos eventualmente entrar em la o infinito Ouso de bateria recarreg veis proporcionaria uma maior economia para os usu rios ao longo do tempo Para viabilizar seu uso seria necess rio reduzir bastante o consumo m dio de corrente do rob S
56. ados caso necess rio e disponibilizar as chamadas necess rias para o segundo m dulo Esse segundo m dulo ser respons vel por executar toda a l gica de controle e execu o do comportamento No caso de ter sido feito por linguagem procedural n o h nenhuma estrutura b sica a ser respeitada Garantimos assim grande liberdade de express o nesses programas No caso de um comportamento baseado em subsumption surge um requisito os diversos processos do comportamento subsumption devem ser executados em paralelo Obviamente no caso de apenas um microcontrolador como o hardware especificado isso significa pseudo paralelismo O software dever poder executar partes de cada processo alternadamente compartilhando a cada momento os recursos do sistema Dois modos podem ser utilizados O primeiro o modo cooperativo onde todos os processos s o chamados sequencialmente e cada um deles respons vel por executador um peda o retornando o controle para a rotina principal Apesar de ser mais f cil de implementar dependente da boa f e da estabilidade dos processos para que um deles n o aloque o processamento por tempo indeterminado O outro o modo preemptivo onde existe um r stico sistema operacional que fornece a cada processo determinadas quantidades de tempo para alocarem os recursos do microcontrolador Apesar de ser mais dif cil de implementar mais robusto confi vel e requer menos complexidades dos proces
57. ais discuss o sobre o uso de pequenos rob s e em grande n mero para coloniza o Doty96a DOTY Keith L IGLESIA Erik de la Sharp IR Sensor Hack for Analog Distance Measurement EEL 5934 Dept Electrical Engineering University of Florida EUA 1996 Altera o nos sensores Sharp GPIUS8X ou GPIUS8Y para desabitar o Schmitt trigger e possibilitar a dete o de dist ncias atrav s do n vel de tens o na sa da do receptor infravermelho Doty96b DOTY Keith L JANTZ Scott Talrik II Users Manual Mekatronix Gainesville FL 1996 Manual completo de opera o do rob Talrik II da Mekatronix apresentando todos os circuitos e modos de opera o Doty97a DOTY Keith L Servo Hack Mekatronix MS410 and MS455 Mekatronix paper Gainesville Florida EUA 1997 Apesar de ser espec fico para um modelo de servo possui uma ilustrac o muito interessante de um servo desmontado e com seus componentes Facilita a identificac o do potenci metro durante a alterac o Doty97b DOTY Keith L Talrkik II Assembly Manual Mekatronix Gainesville FL 1997 Manual completo de montagem do rob Talrik II da Mekatronix inclusive com dicas de soldagem e corte de materiais para a estrutura mec nica Iovine98 IOVINE John Robots Androids and Animatrons 12 Incredible Projects You Can Build McGraw Hill 1998 Interessante livro com v rios projetos prontos e detalhados para serem implementados V rios circuitos foram pesquisados e alguns
58. as restri es Eles tamb m possuem diferentes prioridades podendo suprimir o resultado de outros processos menos priorit rios quando necess rio Brooks86 Brooks89 Como exemplo Brooks86 suporemos um comportamento composto dos seguintes processos em ordem crescente de prioridade planejar atua o sobre o mundo identificar objetos monitorar mudan as construir mapas explorar vagar e evitar objetos Assim se ele estiver construindo um mapa e for necess rio explorar o ambiente o processo mais priorit rio tomar conta e o rob come a a se movimentar para descobrir reas desconhecidas Da mesma forma ao se deparar com um obst culo o rob passa a evit lo incodicionalmente Recomenda se o estudo do subsumption nas refer ncias indicadas nos par grafos anteriores Uma estrutura b sica para essa especifica o est diagramada na Figura 3 O Editor de Comportamento o centro de todas as a es necessitando de comunica o com os compiladores que ser o descritos e com funcionalidades para armazenamento no disco r gido do computador 18 Rob M vel para o Modelo de Subsumption Especificac o Funcional do Projeto Compilador Compilador Subsumption Procedural C digo Comportamento Obieto em Subsumotion Disco R gido Comportamento em linguagem procedural q Rob Editor de Comportamentos Arquivos Figura 3 Diagrama do Software do Computador Cr ditos Fr amp d Toda a pr
59. as a es Esse comportamento em linguagem de alto n vel passado para o Compilador que devolve c digo objeto do microntrolador compondo assim o Software do Rob O comportamento enviado para a placa de l gica Microcontrolador e Expans es atrav s de um Meio de Comunica o de prefer ncia serial como RS 232 RS 485 USB PC etc Por fim o Hardware executa o comportamento recolhendo dados do ambiente atrav s dos Sensores e executando a es tipicamente movimentos atrav s dos Atuadores 14 Rob M vel para o Modelo de Subsumption Especificac o Funcional do Projeto 3 2 Hardware Em rela o ao hardware detalharemos aqui uma especifica o que cremos ser adaptada aos nossos objetivos Dentre as diversas alternativas poss veis de arquitetura de hardware escolhemos uma que alia baixo custo componentes relativamente populares e facilidade de implementa o 3 2 1 Microcontrolador Uma das caracter sticas principais do rob o fato de ele ser microcontrolado Cremos ser a melhor solu o para o projeto de um rob com alguma intelig ncia mantendo o custo e a complexidade baixos Al m disso com os recursos hoje dispon veis pode se praticamente criar placas de controles de rob s com apenas um CI robot on a chip Pelo custo e popularidade existem duas alternativas os derivados do Intel SOC51 e os baseados no Motorola 68HC11 Ambos s o microcontroladores de 8 bits e possuem vasta literatura e fe
60. b M vel para o Modelo de Subsumption Descric o do Hardware mais pr ximo de 7V que se consegue utilizando se pilhas de 1 5V Por m devido diminuic o gradual da tens o nas pilhas com o uso adicionamos uma pilha totalizando 9V e garantindo tens o mesmo com os picos de corrente O pr ximo passo foi isolar o circuito do motor do circuito l gico muito importante fazer esta isola o porque um motor bastante indutivo se comportando como um curto circuito quando faz a transi o entre parado e movimentando Isto poderia causar spikes que afetariam o circuito l gico se n o devidamente isolado Jones amp Flynn93 Para filtrar os picos e evitar que este ru do se infiltre no circuito utilizou se capacitores de ImF na alimenta o de v rios Cls Para evitar que interfer ncias do motor causem preju zos opera o da parte l gica colocamos tamb m um diodo isolando o motor evitando que a tens o da parte l gica caia durante a partida do motor quando este se torna um curto 5 1 7 Estrutura Mec nica A maioria das pe as estruturais do rob tanto da base quando do bra o s o constitu das de um tipo de PVC flex vel e de cor amarela um material que proporciona grande facilidade de trabalho N o duro por isso f cil de cort lo com um estilete por exemplo e ao mesmo tempo tem uma grande resist ncia mec nica A base do rob feita de uma chapa de 5mm enquanto que todas as outras pe as s o de uma
61. chapa de cerca de 3mm Caso haja a necessidade de fura o extra uma furadeira manual suficiente Com rela o integra o com os parafuso este material ideal Ele afunda levemente quando submetido ao aperto mantendo o parafuso sob press o longitudinal e isso impede que ele se afrouxe Por m devido sua baixa dureza todos os parafusos necessitam de porca n o podendo ser afixados diretamente no material ED ES O P1 B at o E eu A P8 B o O hr en cr o oo o P6 Po LA lo P5 amp God P2 P2 3 E Pa A LA o o o o o Oo Figura 16 Placa de PVC fornecida pelo kit com pe as pr cortadas Cr ditos Lynxmotion98a Al m deste PVC amarelo existem ainda os espa adores de um pl stico um pouco mais duro cinza S o tubinhos quadrados finos Neles poss vel utilizar se parafusos do tipo para madeira que se afixam diretamente na superf cie interna do tubo Eles s o usados para se fixar duas chapas paralelas com um certo espa amento entre elas 5 1 8 Bra o Articulado O bra o articulado faz parte do kit que grupo recebeu como doa o Apesar de n o estar previsto na especifica o funcional decidimos implement lo e utiliz lo por ser um item de grande apelo atrativo Al m criou se a chance dos membros do grupo se familiarizarem com tal tipo de dispositivo O bra o do rob possui tr s segmentos e uma pin a como podemos ob
62. ciais com componentes isolados foram feitos 9 1 Recursos de Apoio Utilizados Utilizamos apenas programac o em C Builder no computador e um cabo serial 9 2 Testes Efetuados 9 2 1 Opera o do bra o articulado Como descrevemos no item 8 Outros Softwares realizamos testes com o bra o articulado enviando pacotes de comando atrav s do computador Mesmo quando envi vamos sucessivos pacotes o controlador Mini SSC II se comportou como esperado Esses testes foram importantes para avaliarmos a resposta do bra o e sua precis o de movimentos 9 2 2 Sensores de proximidade Com a placa principal de controle do rob em opera o criamos um programa para testar o estado dos sensores de proximidade e enviar comandos pela serial para o computador Pudemos observar dinamicamente qual a resposta dos sensores para diferentes tipos de objetos e diferentes dist ncias 45 Rob M vel para o Modelo de Subsumption Cronograma de Desenvolvimento Efetivamente Cumprido 10 Cronograma de Desenvolvimento Efetivamente Cumprido Tabela 4 Cronograma SUL 1 a 47 JULA a 31 AGO 1 a 14 AGO 15 a 31 SET 1 a 18 SET 19 a 30 OUT 1 a 16 OUT 17 a H NOV 1a 13 NOV 14a 30 DEZA a 10 DEZ 11 a 16 Compilador Subsumption integra o do Software Montage dos Componentes 46 Rob M vel para o Modelo de Subsumption Empacotamento 11 Empacotamento Decidimos por deixar o circuito sem nenhuma caixa Ou algo pare
63. cido A placa do circuito principal fica afixada diretamente base do rob A largura da placa exatamente a mesma do rob de modo que ela fica protegida pelo corpo do rob Entendemos que a placa com os componentes aparentes tamb m exerce func o est tica bem como as placas dos sensores Por isso a id ia foi deixar tudo mostra 47 Rob M vel para o Modelo de Subsumption Manual do Usu rio 12 Manual do Usu rio 12 1 Projeto Fr amp d 12 1 1 Componentes do Hardware O rob montado tem o aspecto da Figura 26 Figura 26 Rob ao lado de teclado Cr ditos Fr amp d A lista abaixo descreve as partes constituintes do hardware do rob Base rob tica Constitu da do suporte pl stico dos servomecanismos e das rodas Serve de base para os sensores e a placa principal Figura 27 Base rob tica Cr ditos Fr amp d 48 Rob M vel para o Modelo de Subsumption Manual do Usu rio Placa principal Realiza todo o processamento do rob Vai montada em cima da placa principal nela que feita a ponte entre sensores e motores Figura 28 Placa principal Cr ditos Fr amp d MINI SSCII Mini Serial Servo Controller Um produto da Lynxmotion Lynxmotion que faz parte do rob utilizado para controlar os oito servomecanismos existentes no rob Figura 29 O Mini SSC corresponde aos circuitos na base do bra o Cr ditos Fr amp d Figura 30 Desenho do Mini SSC Cr dito
64. co Kits de rob tica simples para hobistas de v rios n veis Lego Lego MindStorms http www legomindstorms com O mais flex vel e popular kit de rob tica hoje em dia Muito bem acabado utilizando pecas de alta qualidade e o apelo tradicional dos blocos de v rios tipos que a Lego possui Lynxmotion Lynxmotion Robot Kits http www lynxmotion com O kit que utilizamos em nosso rob Excelente plataforma mec nica para ser integrada em qualquer microcontrolador e tipos de sensores Possui alguns opcionais interessantes para a cria o rob s muito mais geis e com controle mais preciso Mekatronix Mekatronix http www mekatronix com Outro fabricante interessante de kits de rob tica utilizando uma plataforma de madeira Possui v rios sensores e parece ser customiz vel Newton Newton Research Labs http www newstonlabs com Rob s para aplica es cient ficas de alta performance e de alto custo Possui o estado de arte em sensores e constru o mec nica Novasoft NovaSoft http www mrrobot com Kits para iniciantes em robotica Open OpenSource Foundation http www opensource org A filosofia de distribui o de software que nos baseamos nosso futuro site sobre rob tica Outra revolu o em software que est cada vez mais evidente ser necess ria no mundo capitalista 66 Rob M vel para o Modelo de Subsumption Refer ncias Pioneer Pioneer Mobile Robots http www activmedia com robots Mais
65. culo Left only 7 Figura 8 Emissores e receptor do IRPD para cobrir quadrantes diferentes Cr ditos TSS97 Como se pode observar na Figura 8 se o objeto estiver na esquerda por exemplo somente ser detetado durante o per odo em que o LED da esquerda estiver aceso Por m se o objeto for detetado durante os dois per odos direita e esquerda conclui se que ele est no centro 5 1 2 4 Seguidor de Trilha O seguidor de trilha tamb m um kit da Lynxmotion o Tracker Kit Seu funcionamento baseado em tr s pares de emissor receptor de luz vermelha Os emissores s o LEDs comuns e os receptores s o fototransistores No passado esses seguidores de trilha eram baseados em luz infravermelha Por m n o apresentavam um desempenho constante para esse tipo de aplica o Por isso opta se atualmente por luz vis vel 24 Rob M vel para o Modelo de Subsumption Descri o do Hardware Os emissores e receptores encontram se dois a dois juntos de forma que o receptor possa captar o reflexo no solo da luz do seu respectivo emissor Existem duas posi es poss veis para se colocar os receptores que cercam a fita As posi es est o indicadas na Figura 9 Usar estes tr s para fita crepe comum ou fita isolante Os outros dois s o para fita mais fina 9v battery Left sensor output Right sensor output Center sensor output 5v in out gt Ground Low Line Detect O E
66. d BumperLeft Escape BumperRight Fred BumperRight Escape BumperRear Fred BumperRear priority 4 if Escape To Fred RightMotor Escape RightMotor Fred LeftMotor Escape LeftMotor return 99 Rob M vel para o Modelo de Subsumption Anexo VIII void main void processes counter int counter initialize vars counter 0 Fred_next 1 Cruise_next 1 Follow_next 1 Avoid_next 1 Escape_next 1 Fred_LeftMotor 123 Fred_RightMotor 123 r initialize driver init program loop forever do counter if counter 1 0 Fred Connections if counter 5 0 Cruise Connections if counter 4 0 Follow Connections if counter 2 0 Avoid Connections if counter 1 0 Escape Connections while 1 return 100 Patrocinadores Departamento de Engenharia de Computa o e Sistemas Digitais Universidade de S o Paulo Escola Polit cnica ANACOM SOFTWARE
67. disto Existem muitas maneiras de se lan ar um produto comercialmente vi vel e que esteja totalmente detalhado para que qualquer possa implement lo caso queira venda de material componentes eletr nicos e servi os diagrama o e confec o de circuitos impressos pr montagem testes suporte cursos etc Todo o material aqui apresentado inclusive c digos fonte est dispon vel na forma digital para os interessados Caso O nosso site n o esteja no ar favor contatar diretamente os integrantes do grupo ou o Laborat rio de Projeto de Formatura do PCS USP Este documento incluindo diagramas e tabelas foi originalmente redigido no Microsoft Word 97 Os t tulos de cada cap tulo est o em fonte Arial poderia ser outra sem serifa neutra tamanho 14 e em negrito O corpo do texto utiliza Times New Roman poderia ser outra com serifa e leg vel tamanho 10 e normal O c digo de programa o est em Courier New poderia ser qualquer monoespa ada tamanho 9 o correto seria 85 do corpo de texto e normal Para uma melhor diagrama o e inser o dos circuitos no formato EPS Encapsuled PostScript o documento foi importado no Adobe PageMaker 6 5 Como era de se esperar a formata o foi alterada significantemente Tentamos deixar o resultado o mais parecido poss vel A convers o para o formato PDF foi realizada pelo Adobe Acrobat Distiller 3 0 As imagens do rob foram modeladas no Kinetix 3D Studio Max v3 0 e editadas no Ad
68. drade pelo apoio desde o come o do ano pela indispens vel ajuda no envio dos pedidos de doa es e por nos ter finalmente ensinado a redigir relat rios professora Edith Ranzini por ter sido uma das primeiras e mais fervorosas entusiastas do projeto e pelo seu importante apoio Ao senhor Carlos Le o da Anacom Software por acreditar em nossa capacidade por ter compartilhado a nossa vis o sobre a import ncia da integra o entre empresas e universidades e pela doa o que permitiu que o projeto tomasse forma Ao professor Andr Riyuti Hirakawa pelas dicas sobre t picos da rob tica Ao senhor Jos Dias da Polaroid do Brasil pela aten o imediata e pela doa o do t o procurado sonar Ao t cnico S rgio e ao engenheiro Ricardo pela mobiliza o e organiza o que permitiram aos alunos frequentarem o laborat rio nos fins de semana As pizzarias do Butant por nos terem salvado no laborat rio durante v rios s bados noite Aos nossos chefes e orientadores de est gio por nos terem liberado durante o final do curso A todos os demais colegas da turma Comput95 pelo ambiente produtivo e pelo bom humor mesmo nos momentos mais estressantes do curso Finalmente s nossas fam lias e namoradas pela compreens o que permitiu que nos dedic ssemos ao projeto Estaremos mais organizados para as teses de mestrado esperamos Aquele que tem inspirado e dado for as esteja Ele na forma que cada um queira Rob M
69. e alinhamento Cr ditos Lynxmotion98a Caso isto n o ocorra eles v o estar trabalhando em contraposic o e gastando muito mais energia do que o necess rio O alinhamento feito ligando se os motores mesma sa da do SSC ainda sem os parafusos apertados e colocar a peca de acoplamento de maneira que os dois lados do braco estejam bem paralelos Em alguns casos deve se at tentar v rias combina es de servos at achar dois irm os Outra dificuldade encontrada foi com rela o ao alinhamento entre o eixo de um servo mecanismo e um parafuso Isto acontece nos dois servos que ficam suspensos no bra o Como nesses casos existe s um motor para o movimento deve se complementar o eixo do outro lado com um parafuso O alinhamento deste parafuso tamb m deve ser muito cuidadoso Caso eles fiquem fora do mesmo eixo o servo ficar sobrecarregado Estes servos s o alinhados com parafuso Figura 20 Alinhamento de parafusos e servos Cr ditos Lynxmotion98a O alinhamento foi feito manualmente pois n o encontramos nenhuma t cnica melhor O que ajuda um pouco atarrachar um outro parafuso no eixo do servo e olhar o conjunto por muitos ngulos diferentes antes de afixar Depois de afixado testa se e se for necess rio desmonta se e monta se novamente assim por diante utilizando o m todo da tentativa e erro 33 Rob M vel para o Modelo de Subsumption Descric o do Hardware 5 4 3 Modifica es na montagem
70. e digitar L aten o precisa ser um L mai sculo Aparecer na tela a mensagem Leitura HEX Deve se ent o escolher a op o Enviar Arq e o comportamento ser enviado ao rob 12 1 3 3 Desconexao do rob do PC Antes de desconectar o usu rio deve mudar a posi o da chave mencionada no item acima Para que o robo execute o comportamento ela deve ser tirada da posi o PC Depois de seguir os passos do item acima preciso desconectar o cabo serial da ponta que fica no rob e aguardar 10 segundos para que o rob comece a executar Se precisar fazer o reset do circuito por algum motivo o usu rio deve clicar na chave de reset e refazer o download do comportamento para o rob 57 Rob M vel para o Modelo de Subsumption Manual de Manuten o 13 Manual de Manuten o P10 P11 Mg Reset Pott Pp 1 me gt LC O Figura 40 Esquema da placa principal de controle Cr ditos Fr amp d O que fazer se AS fitas adesivas se soltarem Toda a estrutura do bra o afixada com fitas adesivas de dupla face No caso de a fita se soltar ela deve ser substitu da Ela pode ser encontrada em papelarias grandes ou em casas especializadas em material de modelismo S o vendidas em rolos pequenos alguns metros A fita al m de possuir as duas faces adesivas deve possuir uma fina camada de espuma entre elas Esta camada serve para dar uma certa flexibilidade de movime
71. e o recarregador pudesse ser embarcado o rob poderia operar sem ser desligado por grandes per odos de tempo A chave de sele o de canal serial entre PC e Mini SSC poderia comutar automaticamente sem necessidade de interven o do usu rio para o in cio da execu o Poderia ser usado um microcontrolador com razo vel quantidade de mem ria interna RAM e xROM para diminuir a rea da placa principal Isto facilitaria a confec o de rob s menores e aumentaria o n mero de portas dispon veis Um ambiente gr fico mais f cil de usar poderia ser empregado permitindo que usu rios mais leigos criem comportamentos como em Lego Um sistema auxiliar de alimenta o com pequenas baterias com as de rel gio poderia permitir que a CPU e a mem ria RAM n o fossem reiniciados sempre que o circuito fosse desligado A API de acesso aos servi os do rob pode ser implementada em outras plataformas assim o sistema poderia ser portado por exemplo para rob s caminhantes que usam patas O uso de r dio adicionaria uma s rie de funcionalidades ao projeto como comunica o entre rob s permitindo o estudo de comportamentos coletivos Poderia permitir ainda a interven o do usu rio controlando parcialmente o rob A instala o de micro c meras e emissores de baixa pot ncia poderia permitir aplica es de telepresen a A placa de controle do rob poderia ser substitu da em parte por um handheld device pa
72. enharia el trica e mecatr nica existe grande preocupa o em incentivar o aluno com aplica es pr ticas das teorias lecionadas Al m de laborat rios j equipados existe nessas faculdades pessoal t cnico com capacidade para inovar e levar adiantes projetos diferentes Sentindo que o momento favor vel e a receptividade de escolas e faculdades para projetos nessa rea alta e ainda inspirados pelas solu es criativas j existentes decidimos criar um projeto que possa ser facilmente adotado por escolas e at integrado ao curr culo de jovens engenheiros e t cnicos em eletr nica 2 2 Objetivos Pretendemos projetar uma arquitetura de rob e ambiente de programa o que possa ser utilizada de forma semelhante ao Lego MindStorms por m mais aberta customiz vel e tecnicamente complexa Trata se de uma tentativa de uniformizar um pouco projetos de rob tica amadora permitindo maior divulga o portabilidade e interc mbio de projetos entre diferentes grupos de trabalho Para o hardware visamos criar circuitos e pe as mec nicas cujos componentes podem ser encontrados comercialmente em lojas especializadas e que sejam simples o suficiente para serem entendidos por hobistas engenheirandos t cnicos e estudantes do ensino m dio Acreditamos que isso fundamental para a populariza o do projeto N o esperamos que a arquitetura de harware que proporemos seja a nica V rias outras solu es devem ser esperadas por is
73. ero de horas em uso lovine98 estado de carga temperatura e hist rico de cargas e descargas McComb87 H ent o a necessidade de termos alguma regulac o o que pode ser feito com o uso de um simples diodo zener ou com dispositivos mais complexos como os reguladores de tens o linear e n o linear esse ltimo com baixas perdas A escolha depender dos requisitos do circuito a ser alimentado da pot ncia consumida das perdas m ximas aceit veis do custo e das caracter sticas el tricas da sa da 3 2 6 Estrutura Mec nica Os materiais mais comumente utilizados s o madeira barsa acr lico PVC e alum nio O uso da madeira ajuda bastante durante a prototiza o e resulta em um rob leve e r pido O problema est na rigidez mec nica baixa e na progressiva deteriora o O uso de acr lico confere um bom balanceamento de leveza rigidez mec nica e facildade de manipula o Por ser transl cido facilita a checagem interior e permite que alguns sensores sejam protegidos O uso de chapas de alum nio resulta em um acabamento profissional extremamente duradouro e com timas rela es peso rigidez V rias montagens de precis o s o viabilizadas principalmente as conex es mec nicas de diversos dispositivos O problema reside principalmente no custo do material e na dificuldade de se moldar as chapas E necess ria dispor de uma laborat rio metal rgico equipado com tornos prensas serras etc Um material que n o
74. esso tem uma vari vel Step associado Maiores informa es sobre gera o de processos na descri o do ESCompiler neste mesmo documento 41 Rob M vel para o Modelo de Subsumption Descric o do Software do Rob 7 5 Recursos de Desenvolvimento Para o desenvolvimento dos drivers de acesso aos sensores e dos programas do rob foram utilizados dois compiladores de linguagem C para o 80C51 Keil PK 51 e Avocet AvCase51 As ferramentas da Keil s o extremamente poderosas e contam com recursos para debuga o ideias para profissionais da rea Elas foram de grande import ncia para que o grupo criasse a arquitetura de software no rob Por m como se trata de uma ferramenta comercial resolvemos por n o utiliz la na implementa o final simplesmente porque iria contrariar nosso intuito de tornar a projeto o mais acess vel poss vel Assim por se tratar da ferramenta adotada pelo Laborat rio adotamos o AvCase 51 Os comportamentos subsumption criados pelo usu rio foram todos compilados nele Destacamos a facilidade com que ele pode ser chamado da linha de comando e a grande possibilidade de customiza o e controle sobre a compila o 7 6 Mapa de Gera o de C digo Execut vel Grava o de Mem ria O programa que executa o modelo de subsumption gerado a partir do arquivo Fred c que por sua vez gerado pelo ESCompiler O AvCase chamado automaticamente para compilar o Fred c e o produto final um arquivo
75. ialmente o programa apresenta uma tela de configura o como pode ser visto na Figura 24 Nessa tela poss vel configurar o nome de cada servo e as posi es limites de cada um Isso muito importante para evitar que o usu rio force alguma estrutura que tem percurso limitado devido constru o Em nosso rob o caso mais cr tico a garra Al m disso pode se configurar qual a porta de comunica o utilizada e qual a taxa de comunica o 2400 ou 9600 baud Todos os dados s o armazenados em arquivo e automaticamente lidos e gravados Servos Servo Nome M nimo M ximo E A Obo Mo coa Ea Cotoveio o i ae CI o Gaa O Wo OO e E 6 MotorDieto fiz 127 7 Motor Esquerdo fiz 127 Comunica o Porta COM2 Taxa 2400 baud sa Figura 24 Configura o do Programa Cr ditos Fr amp d 8 3 Opera o A tela de opera o do bra o pode ser vista na Figura 25 Existem oito barras de rolagem para cada um dos canais do controlador do rob No caso s o 5 para o controle do bra o dois para os motores de locomo o e 1 livre Essas barras podem ser movidas com o mouse sendo que o bra o responde imediatamente Na verdade apenas a sa da PWM do controlador do rob sincronizada e em tempo real com o programa A posi o do bra o depende da 43 Rob M vel para o Modelo de Subsumption Outros Softwares resposta do servo mecanismo mas particamente instant nea do
76. ideal porque o computador de desenvolvimento no laborat rio n o suportaria ambientes como o Borland JBuilder e Borland Delphi porque nem todos no grupo estavam familiarizados com Object Pascal 39 Rob M vel para o Modelo de Subsumption Descri o do Software do Rob 7 Descri o do Software do Rob O software do rob tem como finalidade ltima executar o comportamento que o usu rio desenvolveu Como a proposta um sistema onde pode se testar v rios comportamentos recomendado utilizar algum esquema onde se possa mudar o c digo com facilidade diversas vezes Este objetivo pode ser satisfeito de diversas maneiras por exemplo EEPROM e mem rias flash O esquema adotado no nosso projeto foi igual ao utilizado nos kits da disciplina PCS598 Laborat rio de Microprocessadores onde poss vel colocar c digo numa rea de RAM que mapeada para o microcontrolador como se fosse mem ria RAM Este esquema mais simples e barato pois dispensa gravadores especiais e permite usar microcontroladores de custo um pouco mais baixo Um dos requisitos para se utilizar tal esquema um programa que consiga estabelecer comunica o com o PC copiar o c digo execut vel de 8 0C51 e transferir o controle para a posi o de mem ria onde este c digo ser copiado No prot tipo foi utilizado o Programa Monitor desenvolvido pelos docentes da disciplina PCS598 Foram necess rias modifica es no programa monitor para se adequar a um c
77. ight Servo Right Servo 1 55mS 2mS Figura 14 Movimentos poss veis devido configura o das rodas Cr ditos Lynxmotion98b 5 1 6 Circuitos de Pot ncia O rob consta de tr s m dulos principais a serem alimentados a placa principal com o processador P80C552 5V os motores 4 8 a 8 0V e o Mini SSC II 7 a 15V sendo que este ltimo necessita de bateria separada pois o ru do dos motores interfere no seu funcionamento placa principal Figura 15 Alimenta o do sistema Cr ditos Fr amp d Foram utilizadas duas fontes de energia Uma bateria alcalina comum de 9V para o Mini SSC II e um conjunto de seis pilhas m dias alcalinas 9V que alimenta diretamente os motores e a placa principal atrav s de um regulador de tens o 5V A escolha de pilhas alcalinas em detrimento de pilhas recarreg veis de NiCad por exemplo foi feita com base na alta corrente drenada pelos motores A pilha recarreg vel apesar da vantagem econ mica possui menor carga descarregando se muito rapidamente Nos momentos de maior atividade dos motores a corrente chega a ser maior que 1A O regulador linear de tens o da placa principal baseado no componente LM7805CV Ele tem a propriedade de receber uma tens o maior que 7V na sua entrada e gerar 5V constantes na sa da com precis o de 5 Tudo o que excede os 5V consumido nele e transformado em calor Inicialmente escolheu se 7 5V como alimenta o j que o 28 Ro
78. inclu dos em nosso rob 63 Rob M vel para o Modelo de Subsumption Refer ncias Jones amp Flynn93 JONES Joseph L FLYNN Anita M Mobile Robots Inspiration to Implementation Editora A K Peters 1993 Simplesmente o melhor livro que conseguimos sobre rob tica Apresenta todos os conceitos importantes sobre rob s m veis com extensa discuss o sobre as diferentes tecnologias e dois projetos completos com circuito e software de rob s m veis E o ponto inicial e muitas vezes suficiente para entusiastas de rob tica de todos os n veis Lynxmotion98a LYNXMOTION 5 Axis Robot Arm Kit Rev 2 Assembly Manual SAA 0 7 Ver 6 0 Lynxmotion Inc Pekin IL EUA 1998 Manual de montagem do braco mec nico de 5 eixos Possui todos os passos explicados e bem ilustrados Importante seguir os passos na ordem indicada assim como observar a orienta o das pe as atrav s das pinagens Lynxmotion98b LYNXMOTION Mobile Arm Robot Kit Assembly Manual MRA 0 3 Ver 3 0 Lynxmotion Inc Pekin IL EUA 1998 Manual de montagem da plataforma m vel do rob e a sua integra o com o bra o mec nico Lynxmotion98c LYNXMOTION Servo Information and Modification Users Manual SERVO 0 3 Ver 2 0 Lynxmotion Inc Pekin IL EUA 1998 Manual de opera o e modifica o dos servos Hitec inclu dos no kit Al m de esquemas teis para a conex o ao SSC possui as modifica es necess rias para a transforma o em servomotor Lynxmotion98d
79. input level variable unsigned char iMicrophoneLeft unsigned char iMicrophoneRight Anexo VIII 79 Rob M vel para o Modelo de Subsumption battery level sensing unsigned char iBattery buzzer time to sound unsigned long iBuzzerTime servomechanisms control wheel motors unsigned char iLeftMotor unsigned char iRightMotor unsi unsi unsi unsigned unsi unsi unsi unsi unsi unsigned bit bit bit bit bit bit bit P Je I unsi unsi unsi unsi unsi unsi arm motors gned char iBaseServo gned char iShoulderServo gned char iElbowServo har iWristServo har iGripServo c E G gned c arm motors auxiliary variables gned char iBaseServoTarget gned char iShoulderServoTarget gned char iElbowServoTarget gned char iWristServoTarget har iGripServoTarget e e e e motors delta values iLeftMotorChanged iRightMotorChanged iBaseServoChanged iShoulderServoChanged iElbowServoChanged iWristServoChanged iGripServoChanged ERIPHERAL DATA ACCESSOR FUNCTIONS RPD methods gned char getlrpdNWLeft return ilrpdNWLeft gned char getIrpdNWRight return ilrpdNWRight gned char getIrpdNELeft return ilrpdNELeft gned char getIrpdNERight return ilrpdNERight gned char getIrpdSwLeft return ilrpdSWLeft gned char getIrpdSWRight
80. ity 0 Andar MotorEsq to Fred MotorLeft priority O Fred photoCel101 to SegueLuz LDRO Fred photoCell02 to SegueLuz LDR1 SegueLuz MotorDir to Fred MotorRight priority 1 SegueLuz MotorEsq to Fred MotorLeft priority 1 Fred IRlRight to EvitarObstaculo IRPDO Fred IRlLeft to EvitarObstaculo IRPD1 Fred IR2Right to EvitarObstaculo IRPD2 Fred IR2Left to EvitarObstaculo IRPD3 EvitarObstaculo MotorDir to Fred MotorRight priority 2 EvitarObstaculo MotorEsq to Fred MotorLeft priority 2 E 75 Rob M vel para o Modelo de Subsumption Anexos No c digo anterior vemos a estrutura de descrig o de um comportamento e de uma conex o entre processos A palavra chave process define o nome do processo Ap s temos a declarac o das entradas input s sa das outputs e vari veis locais Locals Duas palavras chaves definem c digos que s o sempre executados antes before e depois after dos estados Entre eles existem os estados que s o executados de acordo com uma vari vel de estado corrente e que cont m as a es a serem executadas em C e a l gica de pr ximo estado A conex o entre estados feita pela palavra chave connect que define qual sa da de qual processo deve ser ligada a qual entrada de qual processp A hierarquia de prioridades aqui definida pela ordem em que as conex es aparecem e pela palavra chave priority Essa prioridade substitui o uso das estruturas supress em Brook
81. lmtops A interface com os sensores e atuadores continuaria sendo feita por circuito dedicado por m a programa o e interface com o usu rio seriam feitas pelo aparelho Geralmente tais aparelhos possuem um visor LCD sens vel a toque e um canal serial para comunica o com o computador e a interface dos sensores e atuadores 61 Rob M vel para o Modelo de Subsumption Refer ncias 15 Refer ncias 15 1 Bibliograf a Comentada BorensteinA BORENSTEIN J EVERETT H R FENG L WEHE D Mobile Robot Positioning Sensors and Techniques Journal of Robotic Systems Special Issue on Mobile Robots Vol 14 No 4 p 231 249 BorensteinB BORENSTEIN Johann KOREN Yoram Motion Control Analysis of a Mobile Robot Journal of Dynamics Measurement and Control Vol 109 No 2 p 73 79 Os autores de ambos os artigos s o reconhecidos pelas pesquisas na rea de posicionamento e navegac o rob tica Utilizamos para criar parte dos algoritmos de navegac o do rob Brooks86 BROOKS Rodney A A Robust Layered Control System for a Mobile Robot IEEE Journal of Robotics and Automation RA 2 p 14 23 April 1986 14 23 Os primeiros fundamentos do modelo de subsumption ainda sem tal denomina o s o apresentados Rodney Brooks baseava sua estrutura de programa o em camadas independentes e com finalidade distintas Descreve uma implementac o usando uma rede microprocessadores de 8 bits Brooks89 BROOKS Rodney A A Robot that
82. lock de 16MHz e s interrup es especiais presentes no microcontrolador utilizado no rob o 80C552 da Philips Al m do Programa Monitor tamb m roda no microcontrolador um programa que permite que o rob execute os comportamentos criados pelo usu rio Este programa o software do rob 7 1 Programa monitor modificado Para que pud ssemos utilizar um clock de 16MHz tivemos que alterar o valor carregado no registrador TH pelo programa monitor O registrador TH faz parte de um timer cujo overflow determina a baud rate do canal serial do microcontrolador Como a taxa de contagem do timer varia com a fregii ncia de rel gio do microcontrolador a taxa de transmiss o tamb m varia A primeira modifica o foi ent o substituir o valor de inicializa o de THI O valor anterior FDh que gera uma baud rate de 9600 bps a 11 0592MHz foi substitu do por EFh que gera uma taxa de 2400bps a 16 000MHz A outra modifica o foi a inclus o de suporte s interrup es especiais da fam lia XC552 A Tabela 3 apresenta tal modifica o Tabela 3 Endere os das Interrup es Endere o original Com jump para Interrup o da bus I2C Interrup o O de capture do timer 2 Interrup o 1 de capture do timer 2 Interrup o 2 de capture do timer 2 Interrup o 3 de capture do timer 2 Interrup o de final de convers o A D Interrup o O de compare do timer Interrup o 1 de compare do timer Interrup o 2 de compare d
83. m conector Molex f mea de 5 pinos numa ponta e um de 10 pinos na outra ponta o mesmo da foto do item sensores Os sensores infravermelhos estao distribu dos no rob conforme o desenho abaixo O Infravermelho foto resistores Chaves Figura 37 Posi o dos sensores Cr ditos Lynxmotion98b e Fr amp d Os sensores infravermelhos devem ser conectados s portas 4 5 6 e 8 da placa principal O seguidor de trilha deve ser conectado porta 7 Al m dos sensores j mencionados tamb m podem ser ligadas as chaves de contato que s o 5 usadas no rob As chaves de contato ligam se atrav s de conectores Molex e s o ligadas na porta 3 A disposi o das chaves de contato 2 na frente suporte do p ra choque uma em cada lateral e 1 atr s do rob 52 Rob M vel para o Modelo de Subsumption Manual do Usu rio A Tabela 5 abaixo mostra as conex es que podem ser alteradas pelo usu rio relativas a sensoreamento Tabela 5 Conex o dos sensores na placa principal sensor conector Posi onorob Tipo Dianteira esquerda Entrada n vel TTL Dianteira direita Entrada n vel TTL Traseira esquerda Entrada n vel TTL Traseira direita Entrada n vel TTL Dianteira esquerda Entrada n vel TTL Dianteira direita Entrada n vel TTL Lateral esquerda Entrada n vel TTL Lateral direita Entrada n vel TTL Traseira Entrada n vel TTL Inferior embaixo da base Entrada n vel TTL Dianteira esquerda Conversor AD Diantei
84. m e ir de ss Dos 7 Tracker c San tio O Figura 9 Seguidor de trilha com inversores Schmitt trigger para simplificar o circuito Cr ditos Lynxmotion98d O que o software deve fazer acionar alternadamente cada um dos tr s emissores e ao mesmo tempo monitorar cada um dos receptores Desta forma ele sabe sempre em que posi o a fita est Se ela houver sa do do centro ela aparecer ent o em um dos lados O software deve tomar as provid ncias para que a direg o seja corrigida Pode se ter tanto fita preta em fundo branco como fita branca em fundo preto 5 1 2 5 Microfone O microfone um sensor muito importante para a intera o com seres humanos Pode ser usado por exemplo para detetar uma batida de palma ou um assobio Utilizamos um microfone de eletreto devido sua simplicidade e custo baixo Antes do sinal ir para o processador ele passa por um amplificador operacional e amplificado cerca de 200 vezes Al m disso passamos o sinal por um integrador que nos fornece um m dia da entrada do microfone nos ltimos segundos Uma palma por exemplo gera um alto n vel de tens o por alguns segundos tempo suficiente para ser detetado pelo microcontrolador 5 1 3 Motor Toda parte de movimenta o do rob foi implementada com base em servo mecanismos do tipo utilizado em modelismo os Hitec HS300 S o bastante populares entre os f s de rob tica devido ao seu alto desempenho Tais servos estavam inclu do
85. n ESCompiler Cr ditos Fr amp d 6 2 Estruturas de Dados Utilizadas 6 2 1 Diagrama de Objetos Foram criados diversos objetos na codifica o do ESCompiler para tratar de cada uma das a es Apenas os listamos as classes que o definem a seguir TIDE a tela de interface com o usu rio Chama os objetos que realizam a compila o passando para eles as informa es entradas pelo usu rio TBrain Coordena toda a compila o criando os objetos que executam as sub opera es e chamando os de acordo com a l gica da compila o TFilelO Respons vel por toda a interface com os arquivos Possui chamadas para carreg los em objetos de mem ria do compilador e disponibilizam m todos para que os outros objetos escrevam mais facilmente nos arquivos de registro e sa da TCodeReader L o c digo fonte separando o texto em palavras e tokens significativos e enviando os para um aut mato determin stico Esse aut mato tamb m foi inteiramente codificado ao inv s de utilizarmos ferramentas 38 Rob M vel para o Modelo de Subsumption Descric o do Software do Computador dispon veis como o Bison Miano97 para permitir maior integrac o com o resto do software al m de ser outro t pico de interesse que o grupo decidiu explorar O aut mato possui todas as rotinas sem nticas para criar uma estrutura de objetos que representa o c digo fonte num formato mais acess vel para o resto dos objetos de transforma o TValida
86. ncontramos dificuldades em encaixar tudo novamente pois alguns fios tiveram suas posi es alteradas devido s mudan as el tricas A solu o foi alargar o orif cio de passagem dos fios com o aux lio de um estilete Constatamos que esta altera o necess ria pois na primeira vez em que tentamos for ar o fechamento da caixinha com uma certa press o ocorreu o rompimento de soldas na plaquinha do circuito de controle 32 Rob M vel para o Modelo de Subsumption Descric o do Hardware 5 4 2 Braco Articulado O manual de montagem do braco do Kit da Linxmotiom Lynxmotion98a muito completo e bem ilustrado restando poucas d vidas sobre a montagem do braco O primeiro ponto em que encontramos alguma inseguranca foi com relac o ao tipo de colagem utilizada em toda a estrutura Utiliza se uma fita adesiva de dupla face com um material esponjoso entre as duas faces No in cio levantamos a suspeita de que estas fitas n o aguentariam o esfor o mas depois de alguns testes verificamos que ela possui boa resist ncia Um ponto muito importante o alinhamento perfeito entre os dois servo motores que movimentam o brago em relac o base Figura 19 Devido ao peso do braco necess rio o uso de dois motores trabalhando juntos para garantir o movimento Por isso os dois devem ser alinhados antes de serem afixados 3 Motores devem estar alinhados Dia EM Figura 19 Motores que devem estar em total sincronia
87. ntos e amortecer impactos Caso a fita adquirida tenha uma das faces menos colante que a outra pode se usar duas camadas de modo que as duas faces menos colantes fiquem grudadas entre si e as duas mais colantes fiquem para fora 0S parafusos da garrinha se soltarem Estes parafusos n o devem ser muito apertados pois podem travar o movimento da garra A porca deve ser atarrachada de modo a n o exercer press o nas articula es Para que ela n o se solte interessante pingar uma gota de cola branca fixando a porca no parafuso Deve se tomar o cuidado de n o deixar a cola escorrer para a articula o N o recomend vel utilizar se Super Bonder ou outras colas definitivas pois al m de ela ser muito l quida pode impedir uma futura desmontagem bra o se movimenta muito lentamente ou s treme E muito prov vel que a pilha esteja gasta E recomend vel utilizar pilhas alcalinas na substitui o pois o conjunto de motores drena uma corrente alta demais para pilhas comuns ou recarreg veis Circuito reseta reinicia sozinho Provavelmente as pilhas est o fracas e a corrente exigida pelos motores faz a alimenta o do circuito n o ser suficiente E recomend vel utilizar pilhas alcalinas na substitui o 58 Rob M vel para o Modelo de Subsumption Manual de Manutenc o parte mec nica est inoperante Deve se em primeiro lugar verificar se o cabo que interliga a parte mec nica ao circuito principal P9 n o est
88. o c digos em C internamente a cada estado dos processos do comportamento do rob A vantagem que podemos ter c digos mais poderosos associados a cada estado Por m como desvantagem temos a depend ncia em rela o ao C e uma menor portabilidade entre microcontroladores Outra altera o foi na nomenclatura Chamamos de process processo onde eles chamam de behavior e behavior comportamento onde aparece behavior network Apesar de possuir o mesmo objetivo a linguagem SOUL bastante diferente da Behavior Language apresentada por Rodney Brooks em Brooks90a Lembrando que Brooks foi quem criou o modelo de subsumption Brooks90b Brooks86 Brooks89 A Behavior Language utiliza uma estrutura bastante detalhada e poderosa para descrever comportamentos subsumption assim como o conceito de hormones respons veis por mudar as prioridades dos comportamentos sob certas condi es Uma listagem exemplo de um comportamento em SOUL pode ser visto no Anexo VI 36 Rob M vel para o Modelo de Subsumption Descric o do Software do Computador 6 1 2 Interface O editor de c digo de comportamento n o tem restri es Pode ser qualquer editor que suporte texto ASCII Os compiladores podem ser ativados manualmente mas alguns editores possuem recursos para integrac o com outros aplicativos facilitando bastante o processo edi o compila o Por m nossa escolha para esse projeto e recomenda o pelo UltraEdit 32 Professional Text HE
89. o entre um custo maior e a vantagem de se poder utilizar mais 16 sensores 3 2 2 Sensores Os sensores comp em a interface entre o microcontrolador e o ambiente atrav s deles que o rob se orienta e se baseia para determinar as pr ximas a es Os tipos de sensores dependem do que se deseja perceber no ambiente A quantidade de sensores avaliada a partir da resolu o e abrang ncia dos dados necess rios Para garantir medidas teis escolhe se sensores com determinadas garantias de precis o n vel de distor o rela o sinal ru do linearidade e sensibilidade Deixamos em aberto a especifica o do sensores apenas listaremos as funcionalidades necess rias seguidas de alguns exemplos Jones amp Flynn93 Iovine98 Sensor de Luminosidade Informa ao rob a intensidade de luz em determinada dire o Com v rios sensores dispostos de forma a cada um varrer um setor ao redor do rob pode se por exemplo implementar comportamentos para seguir fontes luminosas ou de se enconder em cantos escuros Exemplos foto resistores fototransistores fotodiodos Detetores de Proximidade Emitem um sinal digital quando um obst culo se encontra a determinada dist ncia permitindo que o rob desvie dele Geralmente possuem uma sensibilidade ajust vel para determinar qual a dist ncia que ir disparar o sinal Exemplo detetores infravermelhos sintonizados e com Schmitt triggers 15 Rob M vel para o Modelo de
90. o timer Interrup o 3 de compare do timer Os endere os originais de jump para a rea de c digo mapeada em RAM do programa monitor permanecem inalteradas 40 Rob M vel para o Modelo de Subsumption Descric o do Software do Rob 7 2 Escalonador processos de usu rio e drivers Toda vez que o usu rio desejar fazer o download de comportamentos para o microcontrolador este ser inserido num c digo fonte e compilado Este c digo fonte cont m a especificag o do comportamento rec m criado pelo usu rio e tamb m drivers para acesso a sensores e atuadores e um esquema de escalonamento para rod los de maneira conveniente Maior detalhamento na se o abaixo 7 3 Descri o Funcional e Estrutura O software organizada na forma de um loop infinito que executa as seguintes tarefas Checa a entrada de todos os sensores Roda os processos de subsumption computando as sa das de cada um Baseado na prioridade destes processos envia as sa das dos processos aos atuadoes rodas bra o e buzzer Cria se assim um esquema de multitarefa cooperativo onde dependemos de cada processo retornar o controle para que o pr ximo assuma e a execu o continue normalmente 7 4 Estruturas de Dados Utilizadas Cada processo subsumption de usu rio acaba sendo compilado como um conjunto de vari veis globais representando suas entradas e sa das que s o a interface com o resto do programa O processo propriamente dito isto
91. oa o tornou se a base de nosso projeto Foi a partir dela que constru mos o resto do rob V rios kits que recebemos permitiram que utiliz ssemos funcionalidades que antes ach vamos invi veis implementar Uma lista do que foi doado Lynxmotion Mobile Robot Arm Kit base m vel com bra o articulado de 5 eixos completo com chapa pr cortada de PVC 8 servos e Mini SSC ID Lynxmotion Tracker Sensor Kit rastreador de trilha Lynxmotion Infrared Proximity Sensor detetor de proximidade infravermelho 4 unidades Equinox EvaluSr board placa de desenvolvimento com Atmel AT89S8252 Equinox Activ8r programmer placa para programa o serial do Evalu8r Keil PK51 2K ambiente de programa o debuga o e simula o em C para 8051 5 1 Descri o Funcional e Arquitetura Atendendo especifica o projetamos um rob que utiliza a base m vel da Lynxmotion como meio de lomoca o Nessa base conseguimos colocar a placa principal com o 8051 canal serial e circuitos de pot ncia todos os sensores e ainda o bra o articulado Na base do pr prio bra o existem ainda uma placa o Mini SSC II que controla todos os servos do rob atrav s de comandos seriais do microcontrolador Decidimos optar pelo uso de mem ria externa pois previmos a necessidade de reprograma o constante do comportamento Afinal o rob tamb m foi projetado como um laborat rio de comportamentos onde o usu rio pode criar divers
92. obe Photoshop 5 0 As fotos foram escaneadas a partir do original ou tiradas com m quinas digitais Os circuitos el tricos foram diagramados no OrCAD Capture v6 10 13 Rob M vel para o Modelo de Subsumption Especificac o Funcional do Projeto 3 Especifica o Funcional do Projeto O projeto consiste de um rob m vel e program vel com processamento alimenta o locomo o e sensoreamento pr prios Al m disso o projeto prev m todos pr prios de programa o do comportamento do rob e ferramentas para tal fim Assim carregando o com o programa que determina o seu comportamento o rob se torna totalmente independente de um computador ou do usu rio Dentre as v rias alternativas de arquiteturas de rob s escolhemos os m veis pelo maior interesse que eles geralmente despertam entre os iniciantes em rob tica Uma analogia entre rob s m veis e pequenos animais natural A liberdade de locomo o e a possibilidade de explora o de ambientes extremamente atrativa para a cria o de comportamentos A escolha por um rob independente do computador objetivou uma explora o mais completa da programa o de microcontroladores uma implementa o simples de sistemas embarcados e maior facilidade para a posterior cria o de sistemas colaborativos utilizando diversos rob s Todos esses t picos s o de interesse dos integrantes do grupo Ainda por causa de tal escolha n o implementamos nenhuma forma de
93. ograma o dever ser feita a partir de um computador pessoal No caso de uma programa o procedural determinamos o uso de linguagem C devido a sua popularidade e facilidade de se achar compiladores para os microcontroladores 8051 Com isso elimina se qualquer barreira quanto ao que se pode ou n o fazer com o rob Para uma programa o baseada em subsumption uma linguagem pr pria dever ser desenvolvida Os conceitos b sicos e funcionalidades do modelo de subsumption dever o ser inclu dos atrav s de estruturas e constru es sem nticas nessa linguagem Um compilador para essa linguagem tamb m faz parte desta especifica o Para que os comportamentos sejam port veis haver a necessidade de criarmos uma biblioteca de acesso aos sensors e motores Idealmente ao portar o c digo para outro rob baseado no por exemplo 68HC 11 apenas esse driver ser reescrito Alguma ferramenta para envio de comportamentos para o rob pelo canal de comunica o escolhido tamb m necess ria 3 4 Software do Rob Aqui tratamos de especificar o software que ir ser carregado para o rob e executado pelo microcontrolador Ele dever ser gerado pelo Software do Computador e enviado pelo canal serial de comunica o escolhido e gravado na mem ria do rob Dever o existir ao menos dois m dulos O primeiro a biblioteca de acesso aos sensores e motores Ela deve realizar toda a interface com esses dispositivos transformar os d
94. omponentes do Hard Water cti DAS Dada 48 12 12 Contiguracio e INONASCIN vitais sivos dali sesadbases 51 12 1 2 1 Liga o de conectores e Sensores oooonnccnnnconnonncnncnnncnnnnnn coronan nan nnn ran conc nacen no nn conc c one rn non nenas 51 12 1 2 2 Mapeamento dos sensores nas portas do microcontrolador sses 54 125133 OACI os AA ALA AAA A REA 56 12 1 3 1 Desenvolvimento do comportamento no PC ooionicincnicnnonnonnnnnnanann noma non nonn con aa ea acera neon ncnnos 56 12 1 3 2 Conex o do rob ao PC via cabo serial ooooninnncncnononannonnnonnnnnnnonnnonononononaconanananananononnns 56 12 1 3 3 Desconex o do rob do PC wicccccccccscccccccccccccccccccescecesssesesscscscccecsessecsssssssecessescecesesesessenenees 57 13 Manual de Manuten o s 2 ccscicsvosscsnsesoccstsdesccanestoicesaneoucaneasica cans saneedsatsocsdopecseceeasonastasocnces DO 14 Considera es Finais viii ia cr OU E A O 60 PARLAMEITNO VOS aaa oa E ER duda tot PRO ER rados 61 15 1 Bibliografia Comentada Si ad gi aa aa IEE ci A Se aks RR Ra a 62 LD SUS na teres AA qua Pu bis ou CE oa Ad DOE DEN TES SUE Ra DO a ngm TS Sd aa 66 16 Resumo do Projeto cssiasivescccsitesscacdacececeivedectdintecionicvsnccsavoncgeosncsvsune sore cossvenseasascocssesessecste OS Rob M vel para o Modelo de Subsumption 17 ANEXOS AAA PO 69 A A E ua ca a O e DO aC 69 e Re AR quiri a a o SR A es E DO Dt ca RS 70 VEAN UT A O TR O ara AR a a 71 VERANO A tidad 72 LD ARCO
95. onononn nono nononan nro nonnnnn nana r o non nora a De DD DD DD DD 24 DAZ Seguidor de dll a add 24 ZO Microfone a taa 25 Rob M vel para o Modelo de Subsumption DL MI tii eet ds 25 5 1 4 Mini SSC II Serial Servo Controller ooocononcoccnonocnconooccnononnnncnonnnnnonnncnnoconnnncnnnncncnnnos 26 FLS A ATADA E AA A IE RD E eda da prado ani st rap DD a 27 5 6 Circuitos de Pot ncia ui di 28 MS Estrutura MEC ld 29 31 87 Braco Articulado noite diri lio 29 3 2 Esquema EOI isca ee o SA 31 3 3 Lista de Componente S isse A Sa E Enei tones 31 A RO 32 5 4 Detalhes de Implementa o id diari sab 32 5 4 1 Modifica o dos servomecanismos ce ceecesceseeeseeeeceeeseeeseecsaecsaecaecsseceseeeseeeseeceseeees 32 9 42 Braco Articulado este testa A AA E EA ED stash Da AA toes ea AA cotar edades 33 5 4 3 Modifica es na montagem original da base eres 34 3 44 Circuito Principal ii iena OA Eau cu id aii 34 DAS SENSORES isis ios 35 6 Descri o do Software do Computador eessessoesocssessossoossessossocesessossoossossoesoossosssessossoe 36 6 1 Descri o Funcional e Estrutura cabana GRASS E 36 6 1 1 A linguagem SOUL ie a de 36 ds sd O RN 37 6 1 3 Compila o Procedural israel ip din 37 6 1 4 Compila o Subsumption cooocccnnccnonocinonaninncnnnnncnnnnononcnnnnnannnncnnnn conan nro EE ei Dead AA ee dedica 37 QUAD Exemplo A ta iii 37 OD 4 2 Inter a tact EUR ASIA DAL AD CEA cani 38
96. or Procedural descrito 6 1 4 1 Exemplo Dado o comportamento em SOUL listado em 6 1 1 A linguagem SOUL adicionamos o driver correspondente para o P80C552 e o resultado da compila o pode ser checado Anexo VIII Observa o estamos ciente que listagens 37 Rob M vel para o Modelo de Subsumption Descric o do Software do Computador longas de programas n o s o adequadas para tal tipo de documenta o principalmente quando existe a disponibilidade dos meios digitais pedimos toler ncia 6 1 4 2 Interface A interface simples Possui campos para os arquivos de entrada em SOUL source sa da em C target registro de atividades e mensagens log e o driver do microcontrolador driver As op es que foram implementadas s o inser o de coment rios do compilador criar ou n o um arquivo de registro log e fechar o programa ao terminar a compila o Os arquivos podem ser abertos por bot es espec ficos com com drag and drop utilizando o mouse e por passagem de par metros ao executar o compilador ESCompiler BEE Files Source G ESC Comportamentobeh III M Target GAESC Compotamentoc gu Log GNESC Compotamertolg NA AY Diver forest ad Options I Insert compiler comments IV Enable compiler log IM Exit after done Status Parsing and creating objects Validating structure Wiitting compiled code f Figura 23 Interface do compilador subsumptio
97. ores de captura das entradas e tr s registradores de compara o das entradas Mem ria interna de 384 bytes Conversor A D de 10 bits multiplexado por oito pinos Duas sa das PWM Cinco portas de entrada sa da digitais e uma porta para convers o A D UART compat vel com a do 80C51 Clock de 16MHz 54 Rob M vel para o Modelo de Subsumption Manual do Usu rio A Tabela 7 mostra como as portas do 80C51 est o mapeadas nos perif ricos n o confudir as portas do microcontrolador com as portas do tem 12 1 2 1 Liga o de conectores e sensores que s o apenas conectores de onde partem os cabos As 5 portas comuns do microcontrolador s o identificadas como PO P1 P2 P3 e P4 A porta com convers o A D chamada de P5 Dentro de uma mesma porta os pinos que s o oito s o identificadas como Pn 0 Pn 1 Pn 2 Pn 3 Pn 4 e Pn 5 O ndice n indica o n mero da porta Pino 80C552 Tabela 7 Mapeamento dos sensores por porta Perif rico Interface com mem ria via de dados endere o LED emissor direito dos detetores infravermelhos Led emissor esquerdo do detetores infravermelhos Receptor do detetor infravermelho 1 Receptor do detetor infravermelho 2 Receptor do detetor infravermelho 3 Receptor do detetor infravermelho 4 Interfaceamento com mem ria via de enderecos Pino de recepc o para comunicac o serial Pino de transmiss o para comunicac o serial Pino para interrup o externa Chave de contato 1
98. original da base Quanto acomodac o dos circuitos placa principal e placas dos sensores na base do rob verificamos que haveria falta de espa o O movimento girat rio do bra o impede que as placas possam ser colocadas pr ximas dele Descartamos a id ia de fazer extens es na base aumentando o tamanho original pois poderia comprometer os movimentos do rob A solu o fui suspender o bra o do rob cerca de 5cm Para isto foram usados parafusos longos 7cm e espa adores feitos com o corpo de caneta Bic Cortamos quatro segmentos da caneta no comprimento exato em que o bra o deveria ser suspenso Retiramos os pequenos parafusos que uniam a base do rob base do bra o No lugar deles colocamos os parafusos compridos atravessando os espa adores de modo que a base do bra o ficasse distanciada da base do rob Com isso foi liberado espa o na base suficiente para a coloca o das placas O circuito principal foi colocado na parte posterior do rob e os sensores na parte frontal embaixo da base do bra o agora suspensa Uma vis o parcial do rob pode ser vista na Figura 21 base do bra o suspensa espa adores novos sensor de sensor de infravermelho sanar infravermelho Figura 21 Vis o parcial frontal do rob alguns sensores e a base do bra o suspensa Cr ditos Fr amp d 5 4 4 Circuito Principal A t cnica escolhida para a implementa o do circuito principal do projeto foi a t cnica do Wire Wra
99. os comportamentos e test los facilmente Por isso como poderemos ver com mais detalhes adiante utilizamos a estrutura de mem ria mista onde podemos executar programas na RAM Para otimizar o acesso aos sensores n o mapeamos nenhum deles no espa o de mem ria est o todos diretamente conectados s portas digitais e anal gicas de E S do microcontrolador 5 1 1 Microcontrolador e Expans es Para minimizar o n mero de componentes na placa de rob foi escolhido um microcontrolador da fam lia 80C51 que j apresente diversas expans es de funcionalidade O modelo Philips 80C552 compat vel com a fam lia 80C51 e possui as seguintes caracter sticas Philips dois temporizadores contadores padr es da fam lia 80C51 e um outro adicional com funcionalidades de compara o de valores 256 bytes de RAM expans veis para at 64Kbytes dois timers padr o de 16 bits um conversor A D de 10 bits e multiplexado para 8 canais duas sa das PWM pulse width modulation de 8 bits cinco portas de E S e uma adicional apenas de entrada 21 Rob M vel para o Modelo de Subsumption Descri o do Hardware barramento de comunica o serial UART full duplex e PC temporizador watchdog interno velocidade de 16MHz modos de redu o de pot ncia Ser necess rio ligar uma mem ria EPROM ao 80C51 onde vai ficar o software mais b sico encarregado de fazer o download do programa comportamento a ser executado pelo rob Para
100. p Ela permite r pida prototipiza o boa compacta o do circuito e garante bons contatos nas liga es A preocupa o com o tamanho e o fato de estarmos utilizando um processador com pinagem PLCC nos levou a buscar uma placa de wire wrap menor que a do laborat rio e com o dobro da densidade de furos Por coincid ncia suas dimens es ajustavam se exatamente largura do rob n o implicando em necessidade de corte A possibilidade de serem feitas soldagens na placa facilitou muito a fixa o de alguns componentes como interruptor conectores Molex e chave seletora 34 Rob M vel para o Modelo de Subsumption Descric o do Hardware Os conectores Molex foram escolhidos por algumas vantagens em rela o a outros tipos de conectores A principal delas a dimens o reduzida que importante visto a grande quantidade de conectores necess rios na placa Outras caracter sticas favor veis s o bom contato el trico facilidade de encaixe macho f mea e facilidade de montagem Procuramos dispor os componentes na placa de forma que os fios ficassem o mais curto poss vel evitando criarmos antenas para ru dos e o m nimo de cruzamentos Evitamos tamb m os closed loops nos barramentos de alimenta o A placa pode ser vista na Figura 22 Figura 22 Placa principal feita em wire wrap Cr ditos Fr amp d 5 4 5 Sensores Para maximizar o efeito dos sensores de colis o implementamos uma esp cie de p ra choque frontal A f
101. pode ser encontrada no artigo Raymond98a Interessante tamb m observar comportamento real dos participantes desse mundo alternativo em Raymond98b e em que eles se baseiam Open Mas estamos cientes de nossa limita es N o temos ambi es desmedidas e n o queremos que o projeto transmita uma imagem de prepot ncia ou que se torne uma das muitas pseudo revolu es t cnicas que populam a Internet hoje em dia Nosso objetivo principal reunir pessoas interessadas nessa ramo da rob tica amadora que independentemente desta ou demais disciplinas sempre foi apreciada pelos integrantes deste grupo de trabalho de formatura Para tornar nosso projeto mais acess vel faremos uso de dois recursos que n o s o tradicionalmente encontrados em trabalhos de formatura O primeiro o uso de nomes menos t cnicos e mais parecidos com marcas de fantasias o caso do nome do rob Fr amp d do compilador ESCompiler e da linguagem de programa o SOUL todos descritos ao longo do documento O outro recurso tamb m prop cio a encontrar resist ncias foi o emprego da l ngua inglesa no software Como visamos coloc lo na Internet em breve o uso do ingl s na interface e nos coment rios nos pareceu mais correto Uma vers o em portugu s ser feita quando prestarmos contas com nossos patrocinadores Tamb m esperamos expandir e reformatar este projeto para que fique mais parecido com um tutorial ou livro did tico Possivelmente ainda t
102. ponto de vista do usu rio Tamb m a possibilidade de se alterar numericamente cada um dos servos indicando qual servo e qual a posi o O espa o denominado Bookmarks onde v rias posi es do bra o podems ser armazenadas criando assim um atalho para cada uma e at mesmo uma programa o Basta acertar nas barras de rolagem uma posi o e adicion la nos Bookmarks atrav s do bot o direito do mouse A nova posi o pode ser adicionada ao final da lista ou inserida em qualquer posi o Esses atalhos podems ser ainda um a um apagados ou a lista inteira limpada Para que o bra o v a uma posi o gravada basta clicar no nome correspondente O bra o se move de acordo com as configura es que veremos abaixo interpolando de forma linear as duas posi es Existe ainda a op o de colocar em Autom tico com o bot o direito do mouse onde temos as v rias posi es sucessivas sendo chamadas e aplicadas ao bra o Roda se ent o um script composto pelas v rias posi es por m sem nenhum teste la o ou espera entre os movimentos Por fim o Modo Cont nuo coloca o uma repeti o cont nua do modo Autom tico Por ltimo poss vel configurar qual o intervalo em milissegundos entre cada atualiza o do servo assim como quantos passos s o incrementados por vez Algumas observa es Existem 255 passos ou posi es para cada servo O valor 255 pode ser configurado para valer 90 ou 180 Para evitarmos confus es ou n
103. que o rob consiga executar o c digo que acabou de ser carregado t nhamos duas op es usar mem ria flash na rea de programa do 80C51 ou ent o usar mem ria de programa mapeada em RAM Pela maior facilidade t cnica envolvida e pela necessidade constante de reprograma o dos comportamentos decidimos usar a segunda alternativa A mem ria RAM ser expandida com um 62C512 de 64Kbytes Como o seu conte do ter que ser executado utilizaremos a configura o onde o PSEN eo RD s o conectados numa porta NAND Assim todo o espa o de programa e dados ser o mesclados num s endere amento Tal expans o consumir duas portas E S das seis dispon veis Porta O endere o low e dados da mem ria externa Porta 1 sensores digitais Porta 2 endere o high da mem ria externa Porta 3 canal serial interrup es contadores Porta 4 sensores digitais Porta 5 sensores anal gicos As entradas anal gicas para os conversores A D consomem a porta 5 de entrada adicional do microcontrolador e ser o respons veis por monitorar os seguintes sensores Pino 5 0 foto resistor 1 Pino 5 1 foto resistor 2 Pino 5 2 foto resistor 3 Pino 5 3 foto resistor 4 Pino 5 4 foto resistor 5 Pino 5 5 microfone Pino5 6 livre Pino 5 7 n vel da bateria As duas portas E S restantes s o atribu das aos seguintes dispositivos Pino P1 0 controle do detetor de proximidade infravermelho 1 Pino P1 1 entrada
104. ra central Conversor AD Dianteira direita Conversor AD Braco mec nico Conversor AD Traseira Conversor AD Superior Conversor AD Sensor de detec o infravermelho 01 Sensor de detec o infravermelho 02 Sensor de detec o infravermelho 03 Sensor de detec o infravermelho 04 Chave de contato 1 Chave de contato 2 Chave de contato 3 Chave de contato 4 Chave de contato 5 Sensor seguidor de trilha Foto resistor 1 Foto resistor 2 Foto resistor 3 Foto resistor 4 Foto resistor 5 Microfone NN SE SO O O O O O UI EO Ambas as alimenta es para placa sensores motores e para Mini SSC devem ser conectadas em conectores Molex da placa principal A alimentac o vinda das pilhas do tipo C principal deve ser conectada na porta 11 e a alimentag o para o Mini SSC deve ser conectada na porta 10 Tabela 6 Alimentac o dos circuitos Alimentac o 5 pilhas do tipo C 7V a 8V 8000mAh 9V Mini SSC Por ltimo necess rio conectar a base rob tica placa principal Para isso deve se conectar o cabo que vem da base rob tica no conector 9 da placa principal 53 Rob M vel para o Modelo de Subsumption Manual do Usu rio 12 1 2 2 Mapeamento dos sensores nas portas do microcontrolador O microcontrolador utilizado como j foi mencionado um 80C552 Este microcontrolador da mesma fam lia que o 80C51 da Intel e compat vel com este Ele tem as seguintes caracter sticas Tr s timers contadores Quatro registrad
105. raduz lo para ingl s e certamente coloc lo na Internet Estaremos entrando em contato com empresas ou institui es educacionais que se predisponham a nos conceder espa o em seus sites 12 Rob M vel para o Modelo de Subsumption Introdu o Este trabalho de formatura o embri o de nosso projeto que esperamos poder concluir no seu devido tempo e independentemente dos rumos profissionais de cada um O sucesso desse projeto depender inicialmente de nossa dedica o e do apoio que obtivermos de empresas em reas relacionadas e das institui es de ensino Qui em algum tempo ele tome vida pr pria na rede e possa incentivar cada vez mais crian as em seus hobbies 2 3 Sobre este Documento Este documento visa descrever nossas primeiras experi ncias em rob tica e apresentar uma proposta inicial de arquitetura que pode ser copiada e experimentada por qualquer conhecedor de eletr nica digital N o discutiremos nenhum outro t pico relacionado ao nosso projeto mais amplo de divulga o da rob tica Cremos que o item anterior suficiente para conhecer nossos anseios Todas as informa es aqui mostradas s o de uso livre para quaisquer fins N o h necessidade de se obter autoriza o de nenhuma das partes respons veis desde que os devidos cr ditos sejam mantidos e citados No caso de produtos comerciais baseados neste documento deve se disponibilizar todas as informa es de forma gratuita e informar o consumidor
106. rente do rob conta com dois desses interruptores de colis o um do lado esquerdo e outro do lado direito Cada uma das extremidades do p ra choque afixada em um dos interruptores Se o objeto com o qual o rob colidiu estiver no centro os dois interruptores ser o acionados Caso o objeto esteja em um dos lados somente um dos interruptores ser pressionado indicando o lado da colis o Com rela o aos sensores de luminosidade LDR decidimos por deix los sozinhos isto conectados ao circuito apenas por um cabo com conector molex deixando os trim pots que fazem parte do divisor de tens o LDR resistor afixados na placa principal Isto proporciona maior mobilidade aos LDRs que podem ter sua posi o e dire o alteradas dependendo do comportamento desejado no rob Os valores dos trimpots 10Kohm foram especificados com base nos valores de resist ncia dos LDRs 40Kohm para escuro e praticamente zero para sol forte A montagem dos sensores de dist ncia IRPD e do Tracker s o muito simples bastando soldar os componentes na placa Por m h a necessidade de ajustes para o funcionamento Percorre se o potenci metro de sensibilidade at que esta esteja de acordo com o desejado Um recurso que descrito no manual e que pode melhorar o desempenho do detetor de infravermelho colar v rias camadas de fita adesiva transparente Durex na frente Isto reduz um pouco a sensibilidade do detetor mas melhora seu comportamento A perd
107. rob s profissinais com diversos opcionais de tima desempenho SKC Science Kit Center http www sciencekits com robots htm Kits para crian as que come am a demonstrar interesse por rob tica Wars Robot Wars Official Site http www robotwars com Rob s controlados por humanos que tentam destruir um ao outro Interessante Entre dezenas de outros sites que pode se achar na Internet buscando por robotics ou mobile robots Em especial destacamos os sites de laborat rios de pesquisas acad micos e governamentais como o AI Labs do MIT e diversos dentro da pr pria NASA 67 Rob M vel para o Modelo de Subsumption Anexos 16 Resumo do Projeto ROB S M VEIS PARA O MODELO DE SUBSUMPTION Professor Marco T lio Carvalho de Andrade mtulio pcs usp br Equipe Daniel Carlos Landi daniel landi poli usp br Fabio Roberto de Miranda fmiranda Isi usp br Rodrigo Stephan de Souza Telles r telles O usa net RESUMO Visamos com nosso trabalho de formatura projetar e implementar uma arquitetura de rob s m veis que possa ser utilizada para fins did ticos ou como introdug o rob tica para interessados na rea Visando a populariza o manteremos o projeto flex vel e bastante diversificado permi tindo que diferentes componentes possam ser testados e utilizados Para diferenciar nosso projeto dos demais kits comerciais concentraremos grande esfor o na elabora o de ferramentas para program
108. roximidade Os sensores de dist ncia s o placas kits da Lynxmotion baseados em raios infravermelho o IRPD Infrared Proximity Detector Kit Os raios s o emitidos por IR LEDs e sua reflex o detetada por um receptor infravermelho do modelo Sharp GP1U52X Dependendo da dist ncia do objeto o receptor acusa ou n o a reflex o N o portanto um medidor de dist ncia ele apenas indica presen a Para evitar que o sensor capte radia o infravermelho do ambiente tanto os LEDs como o receptor est o sincronizados para operarem a 40KHz Os LEDs emitem infravermelho em sequ ncia de pulsos de 40KHz enquanto o detetor possui um filtro passa banda sintonizado nessa frequ ncia O n vel de luminosidade que dispara a sa da do sensor configur vel atrav s de um potenci metro que integra um Schmitt trigger Atrav s do sinal diretamente extra do da sa da do receptor ter amos um sensor de proximidade ao inv s de dist ncia Doty96a H por m um inconveniente a reflex o do infravermelho se d em muito menor quantidade em objetos escuros Assim um objeto branco ou refletivo por exemplo detetado antes que um objeto preto Um aspecto muito interessante deste kit quanto a sua direcionalidade Ele possui dois emissores independentes um de cada lado da placa sendo que o receptor fica no meio Fazendo com que a emiss o se d intercaladamente entre o LED da esquerda e o LED da direita pode se determinar de que lado est o obst
109. rramentas Optamos por um da fam lia 8051 devido sua maior popularidade no Brasil versus o 68HC11 nos EUA e disponibilidade de ferramentas adequadas no laborat rio da faculdade A especifica o pode se limitar a simplesmente esse n vel de detalhe pois grande a compatibilidade de softwares mais simples entre os v rios derivados Como recomenda o apontamos diretamente os microcontroladores 80C51 baseados em CMOS devido ao baixo consumo e desempenho O modelo de 80C51 depende da complexidade do rob e da quantidade de sensores que ser o utilizados Para rob s mais simples os modelos mais simples de microcontroladores com at quatro portas digitais de E S s o suficientes Onde houver restri o de espa o os modelos 83Cxxx e 87Cxxx com mem ria interna economizam rea e portas dispon veis Alguns modelos ainda possuem recursos que auxiliam o projeto do rob sa das PWM at tr s canais seriais watchdog interno portas digitais E S adicionais portas anal gicas com conversor A D embutido timers adicionais dois registradores DPTR portas de captura e compara o de dados ciclos de instru o otimizados 4 ao inv s de 12 entre outros O uso ou n o de mem ria externa depender do tamanho do programa de comportamento e da exist ncia de mem ria interna no microcontrolador Apontamos a necessidade de avaliar a real necessidade de se alocar duas portas apenas para mem ria externa isto cabe o questionament
110. s Lynxmotion98a 49 Rob M vel para o Modelo de Subsumption Manual do Usu rio Baterias A sugest o de uso de 5 pilhas do tipo C m dia e de uma bateria de 9V para o Mini SSC As 5 pilhas do tipo C servem para alimentar os servomecanismos a placa principal e os sensores a bateria de OV serve para alimentar o Mini SSC que segundo o fabricante n o funciona se ligado mesma fonte que os servomecanismos Quanto a requisitos de corrente tens o para alimentar a placa principal motores e sensores s o necess rios 800mAh e uma tens o de 7V a 8V Para alimentar o mini SSC necess ria uma tens o de 7 a 15V e uma corrente da ordem de 150mAh Sensores Os sensores que acompanham o rob encontram se na forma de placas adicionais infravermelhos e seguidor de trilha ou ent o na forma de pequenos dispositivos na ponta de cabos como o caso do microfone e dos foto resistores Figura 32 Aspecto do circuito seguidor de trilhas Cr ditos Lynxmotion98d Cabo serial Para conectar o PC ao rob e fazer o download de comportamentos O cabo usado do mesmo tipo com que se faz comunica o serial entre dois computadores pessoais ou entre um computador pessoal e um switch ou roteador Numa das pontas preciso ter um conector DB9 f mea porque a placa principal se co7necta atrav s de um DB9 macho Conectores para bateria e sensores S o usados para ligar sensores e bateria ao rob conectores do tipo Molex
111. s citados possuem custos compat veis com o projeto que propomos Outros sensores extremamente eficazes s o ainda muito caros Por exemplo detetores de dist ncia laser com alt ssima precis o 0 001 e GPS Global Position System para determina o de coordenadas geogr ficas com precis o de algumas dezenas de metros 3 2 3 Locomo o Descartamos a princ pio um rob que se utilize de pernas articuladas para se locomover O custo e a complexidade n o seriam compat veis com a id ia de um projeto para iniciantes Assim optamos por usar um sistema baseado em rodas Temos v rias alternativas Iovine98 nesta classe de locomo o como pode se observar na Figura 2 extra da de Jones amp Flynn93 Rodas diferenciais differential steering a Trata se do m todo mais f cil de ser implementado e programado S o duas rodas principais motorizadas encontradas em posi es diametralmente opostas e algumas pequenas rodas para apoio Configura o s ncrona synchro drive b Utiliza tr s rodas equidistantes com locomo o e tra o independentes Possui grande flexibilidade de movimentos ao custo de uma maior complexidade mec nica por exemplo o rob n o precisa virar para mudar de dire o Configura o triciclo c Como um triciclo tr s rodas sendo uma ester vel na frente e duas no mesmo eixo atr s Configura o carro Ackerman steering d Similar configura o triciclo mas com
112. s j s o tradicionais AUVS Wars Atualmente o kit mais popular e bem sucedido o Lego MindStorms Lego Seguindo a tradig o em kits de rob tica vers teis e apoiados por parcerias importantes como NASA e National Instruments a Lego desenvolveu o MindStorms durante anos em conjunto com o AI Labs do MIT O pacote cont m um bloco central encapsulando um microcontrolador visor LCD canal serial e portas E S Diversos outros blocos est o dispon veis como motores caixas de engrenagem polias eixos detetores de proximidade detetores de luz microfones alto falantes sensores de calor blocos funcionais l gicos entre outros Um ambiente gr fico permite que se programe o rob atrav s de blocos funcionais de forma f cil e interativa O programa ent o transmitido ao rob e este executa as a es de forma independente Al m do excelente material a Lego promove competi es incentivando a criatividade e divulgando os melhores trabalhos In meras crian as dos 8 aos 80 anos t m se dedicado a essa nova filosof a de rob tica No Brasil laborat rios com kits de iniciag o eletr nica s o hoje encontrados em diversas escolas de ensino m dio principalmente nas particulares onde o poder aquisitivo dos alunos permite o financiamento de tais projetos pedag gicos Nessas escolas estar par de inova es tecnol gicas um fator competitivo para atrair alunos e criar uma imagem de modernidade Em faculdades de eng
113. s no kit doado pela Anacom Nesse modelo o sinal de PWM pode ter pulsos entre 0 5ms e 2 5ms variando a posi o do servo entre o m ximo esquerda e o m ximo direita conforme observa se na Figura 10 Adiantamos aqui uma observa o quanto ao valor que passado para que o software defina uma posi o s o n meros entre O e 255 8 bits 1 byte que est o indicados entre par nteses na mesma figura 25 Rob M vel para o Modelo de Subsumption Descric o do Hardware Ext Range 5mS 2 5mS Full Left Centered Full Right mid position Figura 10 Posi o do servo varia entre 0 e 180 dependendo do per odo do PWM Cr ditos Lynxmotion98b Os servos de posi o s o utilizados para a movimenta o do bra o do rob Por m para a locomo o isto para os servos acoplados s rodas existe a necessidade de se fazer uma modifica o no servo Como ele deve girar livremente deve se tirar o fim de curso do servo e substituir o potenci metro girat rio por um divisor resistivo fixo Os detalhes desta opera o est o descritos no manual Lynxmotion98c Com esta modifica o o controle n o mais da posi o do servo e sim da sua velocidade Isto o n vel de refer ncia determina com que velocidade o eixo estar girando pode girar para os dois sentidos como se pode ver na Figura 11 Fast Speed 1mS 2mS Y J ES EA a 1mS 2mS 0 254 Fast Left Stop Fast Right Figura 11 Re
114. s sobre tal estrutura podem ser encontradas na Ajuda Help do editor 77 Rob M vel para o Modelo de Subsumption Anexo VIII 17 8 Anexo VIII Com as desculpas consider veis segue a longa listagem de um processo compilado Driver c antigo MegaDrive c Rotinas para acesso ao microcontrolador oferecendo ao programa de comportamento uma interface de controle apenas logica include lt 80C552 h gt include lt stdio h gt define DEFAULT_DELAY 9000 constant values for moving real value x 127 gt O forward many approaches lt 0 backward motor speed oriented define FOLLOW_RIGHT_HARD 110 fast right motor define FOLLOW RIGHT SOFT 116 slow right motor define FOLLOW_LEFT_HARD 110 fast left motor define FOLLOW LEFT SOF 116 slow left motor define FOLLOW TURN LEF 2000 left turn duration define FOLLOW_TURN_RIGHT 2000 right turn duration turn direction oriented define ESCAPE_TURNR_RIGHT 140 right turn for right motor define ESCAPE_TURNR_LEF 147 right turn for left motor define ESCAPE_TURNL_RIGHT 147 left turn for right motor define ESCAPE_TURNL_LEF 140 right turn for left motor define ESCAPE TURN LONG 4000 long turn duration define ESCAP
115. s90a Jones amp Flynn93 V rios grupos de process s podem ser repetidos at descreverem todos os processos do rob Ao final a se o de connect estabelece as rela es entre os processos configurando o comportamento do rob 76 Rob M vel para o Modelo de Subsumption Anexos 17 7 Anexo VII Conforme indicado no item 6 1 2 para editarmos os comportamentos em SOUL foi adicionada a seguinte descri o de linguagem ao arquivo Wordfile txt do UltraEdit 32 L6 SOUL Line Comment Line Comment Alt Block Comment On Block Comment Off Escape Char String Chars File Extensions BEH Delimiters amp lt gt Function String process a zA Z_ Indent Strings Unindent Strings C1 C Keywords auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while __asm __fastcall self _ segment _ based __segname __fortran cdecl huge far saveregs export _ pascal _ near __loadds __interrupt _ inline define terror include elif if line else ifdef pragma endif ifndef undef C4 Operators C5 SOUL Keywords after before connect input inputs locals next priority process output outputs step to state C6 Fred API Fred Maiores informa e
116. se if Escape BumperFrontLeft Escape next stateFrontLeft else Escape next stateFrontRight else if Escape BumperRight Escape next stateRight else if Escape BumperLeft Escape next stateLeft else if Escape BumperRear Escape next stateRear k statePanic first just go back for a while Escape_RightMotor 140 Escape LeftMotor 140 if Escape timer lt 0 Escape timer 15 Escape next statePanicSolved Escape_To 1 Ki statePanicSolved Escape_RightMotor 147 Escape LeftMotor 107 if Escape timer lt 0 Escape timer 10 Escape next stateTryAgain Escape_To 1 break Case stateFrontLeft brea case Escape_RightMotor 140 Escape LeftMotor 160 if Escape timer lt O Escape timer 10 Escape next stateTryAgain Escape_To 1 k stateFrontRight Escape RightMotor 160 Escape LeftMotor 140 if Escape_timer lt O brea Escape_timer 10 Escape_next stateTryAgain Escape_To 1 k Escape_BumperFrontRight Left amp amp Escape_BumperFrontRight 97 Anexo VIII Rob M vel para o Modelo de Subsumption case stateRight Escape RightMotor 140 Escape LeftMotor 127 if Escape timer lt O Escape_timer 10 Escape_next stateTryAgain Escape_To 1 break case
117. servar na Figura 17 Ao todo s o cinco articula es S o tr s com eixo horizontal do tipo cotovelo uma com eixo vertical que permite que o bra o gire e a pin a 29 Rob M vel para o Modelo de Subsumption Descric o do Hardware O servo que determina a rota o do bra o fica na parte de baixo da plataforma do rob Seu eixo atravessa esta plataforma e acoplado base do brago Como o peso do brago sempre tende para um dos lados existem tr s rodinhas cerca de 3mm entre a plataforma do rob e a base do bra o que sustentam este peso e que permitem que o bra o gire sem muito atrito Figura 17 O bra o e suas articula es Cr ditos Lynxmotion98a Logo em seguida em cima da base ficam os servo mecanismos que determinam a posi o do primeiro segmento do bra o S o dois servos para apenas um movimento Isto ocorre porque este o eixo de maior esfor o Assim os dois servos trabalham em paralelo isto recebem o mesmo sinal de entrada Por isso importante que eles fiquem muito bem alinhados e que suas posi es iniciais sejam id nticas Caso contr rio eles estariam trabalhando em contraposi o e haveria perda de energia constante No segundo segmento s o embutidos dois servos Um serve para garantir seu pr prio movimento em rela o ao primeiro segmento e o outro referente ao movimento do terceiro segmento da pin a Estes servos s o presos por meio de press o al m da fita adesiva
118. simula o s o poderosas o suficiente para que a maioria dos problemas fosse resolvida acompanhando se os estados dos registradores e valores de mem ria Por m n o utilizamos tal ambiente no projeto final um motivo o limite de programas de 2Kbytes Apesar de a empresa ter se disponibilizado em compilar programas acima desse valor caso fosse necess rio dispunhamos de um outro compilador sem essa limita o Alguns de nossos comportamentos de testes j estavam ultrapassando tal limite e precis vamos de maior agilidade Al m disso caso o projeto seja utilizado mais tarde por outros grupos no Laborat rio de Projeto de Formatura ou de Microprocessadores nos anos seguintes precis vamos de plataforma mais acess vel Nossa op o foi pelo AvCase51 da empresa Avocet Apesar de n o ter os recursos dispon veis nos ambientes da Keil o grupo j tinha familiariade devido a disciplina em semestres anteriores Como se trata de um software comercial o usu rio que desejar utiliz lo e que n o seja aluno dos laborat rios citados deve adquir lo ou adaptar para uma solu o similar 6 1 4 Compila o Subsumption Um compilador de comportamentos em SOUL para linguagem C foi desenvolvido O nome dado foi ESCompiler ou apenas ESC que significa as iniciais de ESC is a Subsumption Compiler Ele toma um comportamento feito pelo usu rio e um driver para o microcontrolador alvo e fornece um c digo em C que pode ser enviado para o Compilad
119. so uma necessidade de desvincularmos o software do hardware 11 Rob M vel para o Modelo de Subsumption Introdu o Dentro deste nosso novo conceito qualquer programa funcionaria em qualquer rob desde que um driver adequado seja desenvolvido e as APIs Application Programming Interface sejam implementadas Para um arquitetura software nos moldes que propomos os desafios s o outros J existem diversos compiladores de diferentes linguagens e para v rios microcontroladores Primeiro ser necess rio criar drivers para acessar os recursos computacionais de cada arquitetura de hardware em cada uma dessas combina es de linguagem e microcontrolador Segundo e mais dif cil ser garantir que exista pelo menos um compilador totalmente gr tis para cada uma dessas possibilidades Com isso abrimos a discuss o de uma outra caracter stica b sica de nosso projeto ele totalmente aberto sem direitos autorais apenas cr ditos e com m nimas restri es de uso Entre essas restri es podemos citar a necessidade de se manter as mesmas condi es para quaisquer produtos ou solu es criadas a partir dessa arquitetura e a obedi ncia ao consenso de um grupo quanto a quaisquer altera es nas especifica es Esse grupo que dever ainda ser formado e que estar liderando a normatiza o do projeto absolutamente livre e aberto a participa o de qualquer pessoa N o haver nenhuma forma de remunera o promo o indi
120. sos que rodar o sobre ele Uma alternativa o uso de sistemas em tempo real j existentes para essa finalidade 19 Rob M vel para o Modelo de Subsumption Diagramas em Blocos do Projeto 4 Diagrama em Blocos do Projeto 4 1 Hardware Rob Cabo serial SSC Mot H otores PC GA placa pa Principal Sensores Figura 4 Diagrama do hardware Cr ditos Fr amp d 4 2 Software Software do Software do PC Microcontrolador Software do Rob ESCompiler gt UltraEdit 32 i Drv sensores A x Escalonamento AVCase 4 y Processo de usu rio Comportamento WinTalk Monitor arquivo mai pa Figura 5 Diagrama do software Cr ditos Fr amp d 4 3 Sistema Software do PC Software do microcontrolador Drv sensores Escalonamento Proc usuario ESCompiler aA Viltraraito Comportamento farmiin WinTalk Sensores Figura 6 Diagrama do sistema completo Cr ditos Fr amp d 20 Rob M vel para o Modelo de Subsumption Descric o do Hardware 5 Descric o do Hardware A determina o de quais equipamentos utilizar amos foi consolidada ao recebermos o apoio da empresa Anacom Software Foi a partir do kit que recebemos como doa o que finalmente pudemos definir a estrutura de hardware necess ria Tal d
121. sposta ao sinal PWM do servo modificado para locomoc o Cr ditos Lynxmotion98b 5 1 4 Mini SSC II Serial Servo Controller Os oito servo mecanismos utilizados no projeto s o controlados por um processador PIC 16C621 dedicado que faz parte do kit Mini SSC II Serial Servo Controller Scott Este circuito auxilia muito o processador principal no controle dos motores pois ele gera os pulsos de refer ncia necess rios para os servos Figura 12 potenci metro P80C552 Circuito de controle Figura 12 Controle dos servos utilizando o Mini SSC II Cr ditos Fr amp d 26 Rob M vel para o Modelo de Subsumption Descri o do Hardware O protocolo de comunica o entre o processador principal e o PIC muito simples Para determinar uma nova posi o para um dos servos o processador principal envia uma seqii ncia de tr s bytes ao SSC Como na Tabela 1 o primeiro byte de sicronismo o segundo byte indica o n mero do servo referenciado e por ltimo o terceiro byte que indica a nova posi o do servo O SSC recebe estas informa es e gera na sa da correspondente s o oito ao todo o pulso que representa a nova posi o Tabela 1 Pacote de comunica o com o Mini SSC II Sincronismo 255 N servo 0 7 Posi o 0 255 O circuito pode tamb m ter algumas configura es alteradas por jumpers Figura 13 Abertura 90 ou 180 Escolhendo se 90 os servos t m seu ngulo de trabalho diminu do por
122. t iMicrophoneRight iBattery printf Bumper d d Sd Sd Sd n iBumperFrontLeft iLDRRear iBumperFrontRight iBumperLeft iBumperRight iBumperRear printf Trying base motor sendToSSC BASE_MOTOR 140 return Jo EL void main void utilizada apenas em caso de debuga o init setBuzzer while 1 update printAllInFormattedWay 92 Rob M vel para o Modelo de Subsumption EJ delay DEFAULT DELAY define SHOWMSG 1 The compiled behavior A the processes void Fred void if SHOWMSG printf Fred c char Fred next 48 code before set values from inputs setLeftMotor Fred_LeftMotor setRightMotor Fred_RightMotor if Fred_Buzzer setBuzzer the most important call in this process update copy values to outputs Fred_IrpdNwWLeft getIrpdNWLeft Fred_IrpdNWRight getIrpdNWRight Fred_IrpdNELeft getIrpdNELeft Fred_IrpdNERight getIrpdNERight Fred_LineTrackerLeft getLineTrackerLeft Fred LineTrackerCenter getLineTrackerCenter Fred LineTrackerRight getLineTrackerRight Fred LDRFrontLeft getLDRFrontLeft Fred LDRFrontCenter getLDRFrontCenter Fred LDRFrontRight getLDRFrontRight Fred LDRArm getLDRArm Fred BumperFrontLeft getBumperFrontLeft Fred BumperFrontRight getBumperFrontRight
123. tor Realiza uma checagem e valida o da estrutura de objetos Avalia sobre a exist ncia de nomes de processos e entradas repetidos atribui o de valores a entradas de processos e refer ncia a estados n o existentes TCodeWriter Transforma a estrutura de objetos em linguagem C criando a toda a comunica o entre processos o c digo main e a inser o do driver para que o resultado seja um nico c digo em linguagem em C que possa ser compilado pelo AvCase TProcess Comporta um processo completo com objetos internos para armazenar suas caracter sticas c digos em C antes e depois dos estados e cada um dos estados TESCParser Separa as linhas do c digo em palavras e tokens informando ainda se uma palavra uma palavra chave keyword TESConnection Representa uma conex o entre processos ESCeption Uma exce o especial para tratar de erros do compilador 6 3 Recursos de Desenvolvimento Para a cria o do compilador subsumption ESCompiler 6 1 4 Compila o Subsumption e o programa de testes do bra o articulado 8 Outros Softwares utilizamos o ambiente Borland C Builder 3 0 Tal escolha foi basicamente pelo fato de ser a nica linguagem de programa o dispon vel no laborat rio Foi uma escolha com o aval do grupo inteiro pois as outras op es que poderiam ter sido utilizadas tinham alguns problemas Microsoft Visual Basic por sua lentid o falta de recursos e propens o a bugs Java o
124. turn to the right else if Follow deltaLeft gt Follow_deltaRight make an arc Follow_RightMotor 100 Follow_LeftMotor 80 if Follow counter 0 Follow_next 1 Follow_To 1 break return void Avoid void states numbers enum stateChecking statePanic stateHardLeft stateSoftLeft stateHardRight stateSoftRight 94 Rob M vel para o Modelo de Subsumption if SHOWMSG printf Avoid c char clear flag Avoid_To 0 next state logic switch Avoid next Case stateChecking Avoid_timer 20 if there is something Avoid_next 48 if Avoid IrpdNERight Avoid IrpdNELeft Avoid IrpdNWRight Avoid_IrpdNWLeft if it s both sides turn away if Avoid IrpdNERight Avoid IrpdNELeft Avoid IrpdNWRight Avoid_IrpdNWLeft Avoid_next statePanic else if it s only in the if Avoid_IrpdNERight NE Avoid_IrpdNELeft if it needs a hard turn if Avoid_IrpdNELef Avoid_next st t else Avoid_next st ateHardLeft ateSoftleft if it s only in the NW else if it needs a hard turn if Avoid_IrpdNWRight Avoid_next stateHardRight else Avoid next stateSoftRight spins to the left break Case statePanic Avoid_RightMotor 77 Avoid LeftMotor 177 if Avoid timer lt 0 Avoid_next
125. uo Suas caracter sticas de robustez e torque versus peso o fazem a escolha da maioria dos projetistas de rob s m veis com rodas Controlabilidade similar que se obt m com motores de passo pode ser obtida com o uso de mecanismos adequados como os shaft encoders Um shaft encoder um dispositivo que consiste de um LED em geral infravermelho um dispositivo sens vel luz deste LED e um disco com v rios setores comumente mais que 30 pintados alternadamente de preto e branco Seu funcionamento se baseia no fato de os setores pretos absorverem luz e os setores brancos a refletirem A luz refletida captada pelo dispositivo sens vel luz que emite um pulso Desta maneira na sa da do shaft encoder encontramos um trem de pulsos Existem tamb m motores chamados de DC gearhead motors que j t m num mesmo empacotamento um motor DC um shaft encoder e uma caixa de redu o em geral motores el tricos t m torque baixo e taxa de rota o alta a caixa de redu o abaixa a rota o para aumentar o torque Por fim decidimos especificar dentro da classe de motores cont nuos os servo mecanismos Cada servo mecanismo composto basicamente por um motor DC um m dulo de controle um potenci metro indicador de posi o e uma caixa de redu o Tudo isto embutido no mesmo pacote fazendo com que o conjunto seja muito compacto O motor DC garante boa velocidade e for a muito mais do que um motor de passo que a princ pio seri
126. uzzer to sound void outputBuzzer if iBuzzerTime BUZZER_TIME Atencao a constante PWM FREQUENCY denota o valor a ser carregado no registrador PWMP e nao a frequencia que e dada pela formula Fpwm Fxtal 2 1 PWM FREQUENCY 255 A PWMP PWM FREQUENCY PWMO PWM DUTY CYCLE PWM1 PWM DUTY CYCLE if iBuzzerTime 0 PWMO 0 silencia o buzzer PWM1 O silencia o buzzer else return 83 Rob M vel para o Modelo de Subsumption void init serialConfigNonInterrupted TH1 RI IRPD global variables ilrpdNWLeft 0 iIrpdNWRight 0 iIrpdNELeft 0 iIrpdNERight 0 ilrpdSWLeft O iIrpdSWRight 0 iIrpdSELeft 0 iIrpdSERight O line tracker variables iLineTrackerLeft 0 iLineTrackerCenter 0 iLineTrackerRight 0 LDR variables LDRFrontLeft 0 LDRFrontCenter 0 LDRFrontRight O LDRArm 0 LDRRear 0 H H H H H N bumper switches variables iBumperFrontLeft 0 iBumperFrontRight 0 iBumperLeft 0 iBumperRight 0 iBumperRear 0 microphone average input level variable iMicrophoneLeft 0 iMicrophoneRight 0 iBattery level sensing iBattery 0 buzzer time to sound iBuzzerTime 0 servomechanisms control wheel motors iLeft
127. vel para o Modelo de Subsumption Complementando o t tulo oficial acima e pelos motivos que ser o descritos no item 2 2 Objetivos tamb m o chamamos de Projeto Fr amp d l se fred Trata se de um nome mais popular e adequado para a divulga o do projeto sendo composto pelas iniciais dos nomes dos integrantes do grupo F bio Rodrigo amp Daniel 10 Rob M vel para o Modelo de Subsumption Introdu o 2 Introdu o 2 1 Motiva o A d cada de 90 foi marcada pelo incr vel barateamento de diversos componentes eletr nicos principalmente os microprocessadores as mem rias e alguns sensores Com a decorrente populariza o dessas tecnologias ao ponto de se tornarem hobbies para pessoas de v rias reas hoje podemos contar com vasta literatura t cnica uma diversidade de microcontroladores de baixo custo kits para iniciantes exemplos de circuitos para diversas finalidades e ferramentas suficientes para se montar em casa um laborat rio completo a pre os razo veis Aproveitando se dessa pequena revolu o a rob tica se tornou um t pico bastante popular Existem hoje produtos voltados para todas as idades desde carro rob s com simples l gica de controle SKC Novasoft at kits microcontrolados customiz veis e program veis Mekatronix Lynxmotion Johuco Grupos de rob tica amadora s o comuns nos Estados Unidos como por exemplo o Dallas Personal Robotic Group DPRG e competi es de todos os n vei
128. vidual ou direitos sobre os trabalhos contribu dos Essa filosofia basicamente a observada pela OpenSource Foundation Open Esse conceito pode parecer radical primeira vista mas j bastante discutido e comprovadamente eficaz O caso exemplo que sempre citamos o Linux Ele foi iniciado e coordenado por Linus Torvalds mas a quase totalidade da programa o foi feita por milhares de pessoas espalhadas pelo mundo trabalhando por espont nea vontade e sem qualquer retribui o a n o ser a satisfa o de ter seu nome inclu do na lista de contribuidores do projeto Qualquer pessoa que tenha ajudado ou n o na elabora o do Linux tem acesso ao c digo fonte completo de um sistema operacional que foi testado e rechecado por brilhantes programadores que tomavam cada bug descoberto como uma cruzada pessoal de dedica o para erradic lo O resultado foi um produto bastante est vel e atendendo s mais diferentes necessidades que foram surgindo Nenhuma empresa capitalista da atualidade conseguiria mobilizar tantos programadores motivados ou realizar pesquisas t o completas com seus consumidores quanto um grupo como este Qual empresa conseguiria lan ar um produto na rede observar milhares de pessoas obtendo o no mesmo instante receber uma lista de centenas de pequenos defeitos em poucas horas e logo ap s milhares de solu es em quest o de minutos Uma boa discuss o sobre essa nova filosofia de desenvolvimento de projetos
Download Pdf Manuals
Related Search
Related Contents
Samsung ES30 راهنمای محصول Fujitsu P42HCA11 User's Manual Samsung 400UX Manuel de l'utilisateur Operating Manual Philips SDW5004W Digital satellite diplexer Documentation - Leonardo Multimedia Vytec - Blue Ring Octopus Hama 00135261 mobile phone case User's Manual Copyright © All rights reserved.
Failed to retrieve file