Home

Desenvolvimento de Ajudas Computacionais para a - LAR

image

Contents

1.
2. 100 l l i I 0 Pulso de corrente do 1 Microcontrolador 100 T T T T j T T A A Motor ortogonal ao pe Motor paralelo ao pe 50 Motor do Joelho E Se 2 nann e e
3. 100 Motor ortogonal ao pe i l Motor paralelo ao pe Motor do Joelho l 50 pe ea r Spee ee ee AAA pes ul LAA EA PA pre E ad a DAAR TI l l I 0 f 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Fig 47 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores da esquerda 1 e 3 Dado que agora a placa est localizada por baixo dos sensores laterais da esquerda maior in rcia se apresenta para o deslocamento das juntas do p e por isso maior for a ser sentida pelos mesmos sensores tal como se pode visualizar nos gr ficos individuais dos sensores e da m dia em que o impacto inicial facilmente detect vel para t gt 0 8s O momento do impacto total e da estabiliza o tamb m podem ser visualizados para t 1 3 e t 1 4s respectivamente De observar
4. 100 T T r Motor ortogonal ao pe l i Motor paralelo ao pe i l l Motor do Joelho 50 pps E E oe AAA PAS Ae eme Ae a De ee ee a oe mee de ee Mr ee en q ee 1 ae FA l l 0 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Fig 46 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores traseiros 3 e 4 Estudando o gr fico dos sensores individuais pode se visualizar uma not ria subida por parte do sensor 4 a partir de t 0 6s bem como um quase impercept vel acr scimo por parte do sensor 3 revelador do impacto inicial dos sensores traseiros Esta diferen a de varia es facilmente justific vel pela diferen a de sensibilidades por parte destes sensores o sensor 4 corresponde a um dos mais sens veis e o 3 ao menos sens vel de todos Finalmente o impacto total chega para t gt 0 9s em que o sensor 4 revela uma maior sensibilidade que o tradicional predominante 3 dado agora o peso estar a incidir sobretudo sobre o primeiro O gr fico da m dia revela os mesmos dados bem como o instante inicial de estabiliza o t gt 1 2s De notar a dificuldade de detectar o momento do impacto inicial tal como sugerido na situa o de objecto sobre os s
5. 100 i I I i i 0 0 2 0 4 0 6 1 6 1 8 2 T j T T T T T T BOOL 1 ROO qe anaes aan aaa a caine a A l 150 ere Pe ee oe et es te et PA f a e e bs eee oe oe A co eo A St St in Gato coesa ds da ma qu ST eee 100 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Pulso de corrente do 1 Microcontrolador 100 r Motor ortogonal ao pe l E Motor paralelo ao pe Motor do Joelho 50 nc e Woe eo ee PAE E u freon oe ST dq AAA BE En u Podia IT H 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Pulso de corrente do 2 Microcontrolador 100 1 1 Motor ortogonal ao pe i l l i i Motor paralelo ao pe i i Motor do Joelho 50 fey eh ees E a ze ie ir AAA EPR poe ee Rd ee ee ae ee E IT 0 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Fig 44 Dados experimentais obtidos durante a descida contra o solo Como agora os motores do p est o desligados ir acontecer um efeito inicialmente o p encontra se paralelo ao solo pelo que medida que a perna deflecte este paralelismo perde se fazendo com que a parte traseira do p impacte primeiramente com o solo e
6. 0 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Fig 45 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores dianteiros 1 e 2 Pela an lise aos sensores de for a individuais podemos detectar o impacto inicial sobre a parte dianteira do p para t gt 0 9s seguida do impacto total para t gt 1s A estabiliza o apenas se consegue para t gt 1 2s mas ainda com algumas flutua es O sinal da m dia aritm tica n o diz muito acerca do impacto inicial observando se apenas uma ligeira subida para t gt 0 9s Apenas a partir do impacto total a varia o da m dia se torna mais evidente Conv m notar que o impacto inicial ocorre na zona do p mais distante do seu centro pelo que a in rcia para o deslocamento das juntas muito pequena e por isso a reduzida varia o registada nos sensores dianteiros de esperar igualmente o mesmo efeito quando a placa met lica se encontra sobre os sensores traseiros 97 C Descida do P contra um Objecto cobrindo os Sensores Traseiros 3 e 4 Nesta experi ncia a placa met lica foi introduzida por baixo dos sensores traseiros sensores 3 e 4 Sensores de for a individuais I unbe destina casadas so 200 sensor 1 _______ ess As E do e A e 1 Dann swe ae 2 Tees sos anede sensor 2 i i Misi i o s POP hth tty AN POS sensor 3 i i ase g isa RES 0000 00000 040 150 sensor 4 i E A i a EE t
7. Envio da Mensagem para a unidade Master y Recep o da Mensagem de resposta Atribuir o conte do da Mensagem de resposta as N o vari veis de sa da Ocorreu erro Z Informar o utilizador da causa do erro Fig 8 Algoritmo b sico da fun o sendmessage constitu da pelo conjunto de passos 40 Valida o da mensagem de transmiss o Y Concatena o do Byte BCC Retransmiss6es gt Designar c digo de Erro 3 10 Sim Reset dos Buffers de comunica o Erro Enviar Mensagem de transmiss o sl Y Recepc o do byte SOF pertencente resposta Y Y ds as ll neos ee Recepc o da restante Preparar string de mensagem de resposta erro e el Validac o da mensagem de Reset dos Buffers de resposta comunica o Y Preparar mensagem de sa da da fun o Fig 9 Algoritmo detalhado da fun o sendmessage Um pormenor interessante que se pode extrair da Fig 9 a diferencia o dos passos de leitura do byte SOF e da restante mensagem de resposta Observa es experimentais indicam que por vezes a mensagem de resposta n o se sincroniza com o envio do comando come ando a ocorrer deslocamentos o primeiro byte recebido n o corresponde ao primeiro byte da mensagem de resposta mas sim a um byte interm dio da
8. erra 118 Fig 69 Traject ria rectil nea ao longo do eixo xx Per odo 2s e K550 essen 120 Fig 70 Traject ria rectil nea ao longo do eixo yy Per odo 2s K 50 nn 121 Fig 71 Traject ria rectil nea ao longo dos eixos xy Per odo 2s e K 50 en 123 Fig 72 Varia o do CoP ao longo do percurso el ptico componentes x azul e y verde em compara o com o real e 0 TESpectivo erto 3eu an italia deel dein ceed 123 Fig 73 Cinem tica directa do joelho e da anca vista 3D rrenan 124 Fig 74 Cinem tica directa do joelho e da anca vista 2D de cima conc nrnncrnn cra 124 Fig 75 Resposta a 10 voltas de uma traject ria rectangular para v rios par metros do controlador local 126 Fig 76 Resposta a 10 voltas de uma traject ria rectangular sem e com controlo local Kacobiano 50 127 Fig 77 Resposta a 10 voltas de uma traject ria rectangular para diferentes velocidades Ka Kop Kiscobiano OA SV SS 127 Fig 78 Duas experi ncias realizadas em diferentes momentos com iguais par metros de controlo 128 NDICE DE TABELAS Tabela 1 Caracter sticas do Hardware e Software na unidade principal 20 Tabela 2 Lista de device drivers da unidade principal eee ereeereeeneeeneeeraeeaada 23 Tabela 3 Valores poss veis do par metro param na fun o readjoint
9. ATL a lo E dd E e e ete Medido PP Pr P Y 37 gt PF 20 HEF e f GL ni RODE MD Ann 40 0 10 20 30 40 50 60 70 80 XX Joelho XX Previsto B oe O eer ae d e Medido Gesto 8 10 E OO RSS E BU BO EB Ban DR 20 0 10 20 30 40 50 60 70 80 t Erro do CoP 20 T T T T T T T 10 HA dh ali 1h 1 E Po Ande Hl EAN doem A Fig 69 Traject ria rectil nea ao longo do eixo xx Per odo 2s e K 50 B Traject ria ao longo do eixo yy Repetindo as mesmas experi ncias mas agora movendo o sistema apenas segundo o eixo yy entre as coordenadas CoP 0 60 10 a 0 40 10 podemos observar erros de tracking na ordem das 30 unidades 120 para a componente yy na qual est a ser aplicado o movimento J na componente ortogonal verificam se flutua es que podem atingir as 15 unidades Contudo em termos de cinem tica directa a perna apenas se desloca no m ximo 1 cm o que representa uma baixa interfer ncia que os movimentos segundo o eixo yy induzem no eixo xx 0 10 20 30 40 50 60 70 80 Erro do CoP T T Joelho CoP 0 10 20 30 40 50 60 70 80 i Erro do CoP 40 T T T T T T T 20 A DEO i TRA TEA TER 3 re AA Pee A A A AAA a gt 04 1 ATOR PP PR A cy EEE O Geer A BEE i OD OSa ERRE CN 20 SARRO TR E REA Pt A A A Bann
10. PA gt S gt gt t ptt TATI Potts Degen 2720 1 wate 1 1 1 oC HALT ARE ROO To 1 1 I 1 100 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Pulso de corrente do 1 Microcontrolador 100 Motor ortogonal ao pe Motor paralelo ao pe Motor do Joelho 100 Motor ortogonal ao pe i l i i l i Motor paralelo ao pe i i i l l Motor do Joelho i 50 fa es ee AA A A ESA AA eee La SSS 2757078779077 ES REDES A des ee ee Shee oS Sa no pos PS AS T
11. 3 5 Impacto do P com os seus Motores Desligados Nas experi ncias realizadas nesta sec o desligaram se os motores das juntas do p para permitir a sua acomoda o ao solo durante o impacto Apenas o percurso de descida foi realizado uma vez que a subida semelhante situa o de motores ligados estudado na sec o anterior Nesta sec o ser o realizadas experi ncias adicionais em que um objecto estranho se encontra entre o p e o solo para simular superf cies irregulares Este objecto possui as seguintes caracter sticas e Natureza do objecto Placa met lica rectangular e Dimens es do objecto 25cm comprimento x 8cm largura x 0 85cm altura Todas as experi ncias foram realizadas da seguinte forma 1 O p inicialmente encontra se em leve contacto no solo com as seguintes coordenadas iniciais x y z 0 0 0 4 cm 2 O p elevado at altura m xima de coordenadas x y z 0 0 2 cm mantendo a superficie do p horizontal ao solo 3 Os motores do p ortogonal e paralelo s o desligados de modo a permitir a sua acomoda o aquando chegada ao solo 4 Caso a experi ncia vise a simula o de planos irregulares adicionado a placa rectangular entre o p e o solo cobrindo apenas alguns dos sensores de for a 5 A perna descida at atingir a verticalidade m xima coordenadas x y z 0 0 0 Durante este procedimento os sensores de press o e corrente s o amostrados v
12. Deadline FinAll FinOne FinServo3 FinServo2 FinServol Conte do do vector Status retornado pela fun o readjoint ver Tabela 16 Tabela 4 Valores presentes no vector status retornado pela fun o readjoint Elemento Campo Descri o 1 PWM Activo se todos os motores possuem o PWM ligado 2 Calib Calibra o din mica da posi o dos servos activada 3 Deadline Ocorr ncia de um erro de viola o da largura de banda dispon vel 4 FinAll Todos as juntas terminaram a traject ria 5 FinOne Pelo menos uma das juntas terminou a traject ria 6 FinServo3 A junta 3 terminou a traject ria 7 FinServo2 A junta 2 terminou a traject ria 8 FinServol A junta 1 terminou a traject ria readspecial Leitura dos sensores especiais de um SCU special rx error errorstr readspecial H scu id Entradas H gt Handler das comunica es com o Master S curas culo Sa das special gt Valores dos sensores especiais 4 valores rx gt Mensagem de baixo n vel recebida error gt C digo d iO S xistent errorstr gt String descritiva do erro applyjoint Aplica o de uma ordem de actua o a cada componente de um SCU rx error errorstr applyjoint H scu id param servos Entradas H gt Handler para comunicar com o Master Sev iel gt Identificador do SCU alvo param gt Parametro a aplicar Tabela 5 servos gt Dados
13. Tempo para avalia o de Timeouts Fig 11 Recep o de byte por RS 232 e armazenamento no buffer de recep o IN CIO y Todos os bytes do Buffer TX enviados Transmitir byte Reset da contagem de tempo para avalia o de timeouts Transmiss o Completa Timeout na transmiss o de caracter Fig 12 Envio do buffer de transmiss o por RS 232 44 A fun o da tarefa processamento da mensagem apontada na Fig 10 a de ler a mensagem de solicita o presente no buffer de recep o e construir a mensagem de resposta de acordo com o protocolo enunciado na sec o II 2 2 armazenando a posteriormente no buffer de transmiss o O seu algoritmo apresentado na Fig 13 sendo capaz de validar a integridade da mensagem por verifica o do byte BCC e construir as mensagens de resposta correspondentes a um comando de solicita o actua o ou leitura sensorial ou de teste das comunica es IN CIO N o Construir mensagem do a Epis ECO conect tipo MESSAGE INVALID Mensagem de solicita o Construir mensagem de resposta solicita o Mensagem de Teste Construir mensagem de resposta ao teste Adicionar byte BCC mensagem de resposta Y FIM Fig 13 Processamento de uma mensagem na unidade Master No que respeita ao processamento das mensagens de solic
14. es angulares dos tr s servos ICOM CoM CoM 00 00 96 er M M M j oM 9CoM ICoM 9CoM gt 90 J xoCoM 96 98 98 98 0CoM COM dCoM a 00 Podemos associar a varia o angular a aplicar a cada um deles com base no erro do centro de massa em que K corresponde a um ganho a aplicar s varia es determinadas A R 1x 19 Por simplifica o em vez da inversa do Jacobiano e do erro do Centro de Massa podemos usar o Jacobiano transposto e o erro do Centro de Press o respectivamente dado o ltimo ser bastante pr ximo do centro de massa para baixas velocidades OR FTE _ 2 FT ref med A K J XE p KF x lec apra Expandindo os par metros vectoriais obt m se CoM 9CoM CoM AG K 06 06 06 CoP Cop CoM a x AO K ICM O y gCoM x CoP _ Cop A d 0 d 0 d 0 ae i med 61 111 acom acoM acom L Cor 00 00 98 As vari veis 0 e K est o indicadas no modelo da Fig 34 descritivo da perna e do p human ide Vista Lateral da Perna Vista Dianteira da Perna Vista Superior do P Fig 34 Modelo da perna human ide com a associa o das diversas vari veis de interesse Para c lculo da matriz Jacobiana seja s sin c c0s s sin8 c cos 8 s sin 9 0 cy cos 6 0 O Jacobiano est relacionado com o Centro de Massa que pela Fig
15. Reposi o da janela de endere amento para o seu valor original POr EAR AS ee bo Os procedimentos de configura o e de troca de mensagens est o definidos numa biblioteca denominada por candrivers para utiliza o por parte do programador 57 3 4 Unidade Master A Algoritmo de Troca de Mensagens As trocas de informa o Master Slave s o desencadeadas a partir da unidade Master estando os Slaves programados para responder imediatamente ap s a recep o das mensagens oriundas do Master A Fig 20 apresenta os algoritmos utilizados na unidade master para gerir a troca de informa o na Im usa 3 CAN Timer INT INT SO gt Enviar Mensagem de Receber Mensagem 2 en R Butero sensorial 1 500 us Pr ximo SCU 500 us Sim Timer RX Buffer1 Receber Mensagem INT sensorial 2 v Enviar Mensagem de N o actua o 2 RETURN Fig 20 Algoritmos de transmiss o recep o de mensagens CAN no Master As transmiss es de mensagens de actua o s o desencadeadas a partir de um timer programado para gerar interrup es de 500 em 500us Como duas mensagens tem de ser transmitidas a cada slave cada um servido durante 1 ms correspondendo a um tempo de turn around de 8 ms para 8 slaves Relativamente s recep es das mensagens sensoriais provenientes dos slaves s o processadas atrav s de interrup es CAN segundo a pol tica event triggered s
16. e Sistemas de controlo mais simples e Mais f cil detec o de anomalias e Actualiza o f cil de firmware 43 Main Control RS232 Master CAN a BUS Slaves Fig 3 Arquitectura distribu da da plataforma Na percep o destacam se os sensores proprioceptivos e alguns inerciais 1 Potenci metros de medi o da posi o das juntas 2 Sensores de for a para medi o das for as de reac o dos p s 3 Inclin metros e girosc pios para medi o da acelera o grav tica e da velocidade angular respectivamente ser o incorporados num futuro pr ximo Os sensores do tipo 2 e 3 ser o designados por sensores especiais dada a sua natureza espec fica e podem ser ligados um conjunto m ximo de quatro sensores a cada unidade de controlo local Tal compromisso deve se a quest es de organiza o da informa o trocada entre as diversas unidades de controlo 15 II ARQUITECTURA DAS COMUNICA ES Resumo Este cap tulo descreve a organiza o distribu da da plataforma human ide e como realizada a comunica o entre os diversos n s de modo a poder trocar informa o sensorial e de actua o sem o risco de colis es num barramento de natureza partilhada 17 1 ARQUITECTURA DO SISTEMA O sistema de controlo implementado baseado numa configura o master slave e constitu do por tr s tipos de unidades ligadas em rede e A unidade central de controlo respons vel pela gest o global
17. o initCan Inicializa o do perif rico CAN e das interrup es associadas sendCanMessage Envio de uma mensagem CAN com dados de sensoriais para a unidade master receiveCanMessage Recep o de uma mensagem CAN proveniente do master com os dados de actua o a aplicar checkCan Verifica o do bloqueio do CAN no caso do PIC se encontrar no modo bus off A fun o checkCan til para verificar se a unidade ainda possui a interface CAN activa e em funcionamento Cada n na rede pode comportar se de tr s formas diferentes durante o seu funcionamento e Modo error active mensagens normais e frames de erro na ocorr ncia de erros com bits dominantes s o trocadas com os outros n s para lhes indicar a ocorr ncia de anomalias e Modo error passive as frames de erro passam a ser constitu das por bits recessivos para evitar a interfer ncia destrutivas das mensagens provenientes de outros n s e Modo bus off o n bloqueado em termos de recep es e transmiss es Na ocorr ncia de erros um contador incrementado sendo tamb m decrementado na aus ncia deles Quando atinge um valor limite o modo de funcionamento vai alternando para o modo seguinte at atingir o modo bus off bloqueando as recep es e as transmiss es com os outros n s Esta fun o foi constru da devido ao facto de as unidades esporadicamente bloquearem as suas comunica es e ter assim um meio para verificar a causa M dulo GLOBAL M dulo com a d
18. o da cinem tica inversa temos de determinar as projec es dos elos sobre o plano yoz E 4 cos L Lz cos gt Es 5 cosa Al m disso ainda temos de adaptar as coordenadas x y z da anca de modo a transformarmos a perna num p ndulo duplo ay 1 Gye Lo O c lculo das constantes K1 K2 e K3 na equa o da cinem tica inversa para a ser feito do seguinte modo K 2 z L Ki Para 0 1K2 2 y Lz Para 03 K 2 L gt L 2 3 Ea Z 2 K y tz L5 L K y z Ly Ls Assim sendo os ngulos 6 e 83 s o determinados da seguinte forma 89 i a r K Kz Ka 8 atan2 K K2 atan2 Ao Ka bo al amp atan K Kz atan A express o para c lculo de 85 sem o factor de ajuste n 2 devolve o ngulo do elo L relativamente ao eixo yy Como pretendemos o ngulo relativamente ao eixo zz retira se 7 2 radianos Da este ajuste c C lculo do ngulo 04 O ngulo da anca 0 determinado de modo a que o p esteja paralelo ao solo Assim sendo resulta que 8 amp d Adapta o para as posi es dos servomotores Tendo que conta que a unidade de controlo da perna apenas controla as juntas 0 0 e 03 e que uma segunda unidade de controlo controla a junta da anca 04 podemos agrupar os ngulos em dois grupos destinados a cada unidade seul 84 8 03 Breuz 8 0 0 A adapta o passa por tr s fases 1 Convers o do sinal do ngu
19. 34 pode ser deduzido como CoM CoM 80 CoM MRs Ma Ly R3 3 54 M3 Ly Lofa R3023 5 aM TI 7 M M My _ MaR gt 5 Ms Lasa R3523 MoRo My Lo Rica Mallo Ly Racz e Mallo Ly Loco Racza c Ee CM laio Mo My M Mz Calculando as suas derivadas parciais em ordem a 0 0 e 83 obt m se CoM M Rycy Ma i la Rcz IC M5 i fy Lata R323 cy 38 M M M PC om M R2525 M3 L2s3 R 9523 54 a6 Mi Ma My 7 CoM M R352354 a6 M M M oa 5 CoM dCoM u MRa MylLac a R3C23 a am M My CoM MaRzcaz a M M CoM M Rys Malla R2 2 5 Mall Loco Racz3 s a6 My Mi Mo Ms ICoM M2Ras2G M3 L252 R3S23 e4 a6 Mo Ma Mz Mg ICOM _ M3R357301 26 M M M M De modo a simplificar estas express es consideremos que My M 0 e que L 0 M Ma _ MzR 252 Ma Los2 R3523 ns M M3 Si SR MgR3S23_ M M dCoM FF de _ MaRaca Ma Laco Ratos Mz M FT M M dCoM MaR s2 Mg L252 R3523 ae M M A C oM M R 3323 do Ma Ms Fazendo com que 81 M3R3523 _ MzR252 My L252 3523 Sa 5523 23 M Ms Mo My Ca M R3Co3 ce _ M Rztz Mz Lat Rato al 3 Mz My M M3 Ent o as na derivadas paras podem ser descritas de uma forma mais simples Desta forma a matriz Jacobiana dada por a CoM
20. ID da linha s rie Sa das error gt C digo de erro errorstr gt String descritiva do erro readcanstat Leitura do estado do barramento CAN array state rx error errorstr readcanstat H Entradas H gt Handler para comunicar com o Master Sa das array gt estado d rro ferros de transmiss o ferros de recep o state gt Bits de estado dos servos TX gt Mensagem de baixo n vel recebida error gt C digo d EOFS xistent errorstr gt String descritiva do erro readjoint Leitura de um par metro sensorial de um SCU sensors state rx error errorstr readjoint H scu_id param Entradas H gt Handler para comunicar com o Master scu_id gt Identificador do SCU alvo param gt Parametro a ler Tabela 3 Saidas sensors gt Parametros sensoriais relativos a cada servomotor state gt Bits de estado dos servos Tabela 4 rx gt nsagem de baixo n vel recebida error gt C digo d OS xistent errorstr gt String descritiva do erro Tabela 3 Valores poss veis do par metro param na func o readjoint Campo param Descric o Campo servos Unidades PARAM POSITION 0 Posi o angular de cada junta pos1 POS2 pos Graus PARAM_VELOCITY 1 e Utada ES ee Graus 100ms PARAM CURRENT 2 Corrente drenada por cada servo curr curr curr3 do T de PWM 24 Valor 1 2 3 4 5 6 7 Valor 8 PWM Calib
21. a 24 Tabela 4 Valores presentes no vector status retornado pela fun o readjoint ersersersnnesnnesnneennernneeneennnn 25 Tabela 5 Valores poss veis do par metro param na fun o applyjoint 25 Tabela 6 Valores poss veis do par metro param na fun o applycontrol 26 Tabela 7 Tipos de controladores de primeiro n vel a aplicar com o par metro PARAM CONTROLON na Tun o applycontrol cui li fe a seated deed CLS La ati ees a ees aed fadas 26 Tabela 8 Lista de device drivers da unidade principal 00 0 0 ceeceecceeeeeeneeeeeeseeeacecsaecaecsseceseceseeeseeeseeeneeeees 27 Tabela 9 Fun es para leitura sensorial sis erreia ree En a E EAE EE T EA E A 30 Tabela 10 Syntax da fun o readjoint na leitura dos diversos par metros sensoriais ooococccoccnoncnonnconncnanannss 30 Tabela 11 Controladores de primeiro n vel consultar Tabela 7 ccccessseceseceeseeceeneecceeeeeesaeceeaeeeeeeeenees 31 Tabela 12 Syntax da fun o applycontrol na defini o dos ganhos K e Kp do controlador local 32 Tabela 13 Syntax da fun o applyjoint na defini o posi o refer ncia e da velocidade 33 Tabela 14 Campos das mensagens PC Master via USART 2002200220022n0rsneesnnesnnesnnesnnesnnennennnnnnn 34 Tabela 15 Campos do pacote OpCode nas mensagens PC gt Master via USART uenne 35 Tabela 16 Tipo de controlo a se
22. o sobre o Centro de Press o refer ncia Figure 1 File Edit view Insert Tools Desktop Window Help 0438 522794058 al Altura da anca 20 Cancel Fig 55 Actua o sobre a altura desejada da anca Z Para executar estas duas rotinas necess rio primeiramente inicializar as comunica es A fun o cop realtime m apenas necess rio fornecer o handler da linha de comunica es lt H handler gt e o 106 endere o da unidade controladora do p de interesse lt scu id gt cop realtime lt H handler gt lt scu id gt J para a fun o copref_exe m necess rio adicionalmente o ganho de compensa o do controlador de equil brio lt controller gain gt Este valor nico e aplica se de igual forma a todas as tr s juntas da unidade seleccionada error errorstr copref exe lt H handler gt lt scu id gt lt controller gain gt Rotinas semelhantes a estas ser o teis adiante para a an lise do comportamento est tico dos sensores de for a quando o centro de press o refer ncia alterado 4 3 An lise Est tica do CoP Refer ncia A an lise est tica quando o CoP refer ncia alterado importante para verificar se o centro de press o medido corresponde ao actuado analisando assim se existe algum erro associado Tamb m pela compara o do CoP de refer ncia com a cinem tica directa das juntas do joelho e da anca poss vel obter uma rela o entre os valores actuados do CoP
23. 43 Consumo de corrente por parte dos servomotores durante a subida ooooonnccnnccnoconococonoconcconncanncannannos 95 Fig 44 Dados experimentais obtidos durante a descida contra O solo a 96 Fig 45 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores dianteiros 1 e 2 Bco Pude Mos DDD las ect Ui DEE det a ENE DO EDIT E fa Od E O DD cascade dO ee et DE 97 Fig 46 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores traseiros 3 e 4 98 Fig 47 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores da esquerda 1 e na ii it EEE SELADO O oat EEE eet cad nia catalogo flee ni sua cat teas aay 99 Fig 48 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores da direita 2 e 4 EEE tens alee bc SUE Ho pane Ca da A ana UR OR NS 100 Fig 49 Varia o da M dia na aus ncia de irregularidades oooocnncninccnocanocnnocnconononocononnn nono nocono cnn nonncrna cra 102 Fig 50 Varia o da M dia com irregularidade na sec o traseira renas 102 Fig 51 Varia o da M dia com irregularidade na sec o dianteira re 102 Fig 52 Varia o da M dia com irregularidade na sec o esquerda essen 102 Fig 53 Varia o da M dia com irregularidade na sec o direita erra 102 Fig 54 Actua o sobre o Centro de Press o refer ncia uessesse
24. Como se pode observar mesmo que a interrup o seja produzida a interrupt flag correspondente reposta a zero apagando quaisquer pistas acerca da sua origem e impedindo desta forma que interrup es futuras sejam processadas a flag RXFULL nunca mais reposta resultando num bloqueio de recep o de uma das mensagens Claro que mais tarde o mesmo acontecer ao segundo buffer de recep o incapacitando o processamento de quaisquer novas mensagens Embora isto apenas aconte a se a interrup o ocorrer neste ponto espec fico o que representa apenas uma probabilidade de 0 0025 de ocorr ncia para uma inst ncia do ponto de vista dos slaves considerando a recep o de duas mensagens com uma periodicidade de 8 ms para um determinado slave Ims 8 slaves existem 2 possibilidades em 80000 instru es executadas durante 8 ms para Finstr o Fc u 10 MHz tal valor n o pode ser desprezado Isto porque a probabilidade de n o bloqueio que de 99 9975 para uma inst ncia ao fim de cinco minutos desce para apenas 39 Pricesso 1 Prana 1 0 000025 Emin 0 8m 9 392 39 Para a unidade Master a recep o de mensagens de 8 vezes superior uma transac o a cada milisegundo o que ainda diminui mais esta probabilidade Ao efectuar a reposi o da interrupt flag para antes da disponibiliza o do buffer este problema imediatamente eliminado sem quaisquer efeitos colaterais pelo que neste mo
25. M 4RE 4FF 40 10 20 30 40 50 60 70 80 Joelho Fig 70 Traject ria rectil nea ao longo do eixo yy Per odo 2s e K 50 121 Como que resumindo os dados apontados pelos movimentos em cada um dos eixos mostram uma sensibilidade muito maior no eixo yy no que respeita s flutua es sensoriais Tal pode ser induzido pela introdu o dos offsets no c lculo do centro de press o a partir das sa das dos sensores de for a normalizados a 128 ver sec o III 1 5 Por um lado possuem a vantagem de assemelhar as sensibilidades de cada componente do centro de press o mas trazem consigo a desvantagem de introduzir maiores flutua es no sinal de erro de tracking Infelizmente estamos perante um dilema quanto maior for este offset maior a reactividade do controlador sob pena de maiores oscila es do sinal de erro e quanto menor for maior a oposi o ao ru do mas a resposta do controlador torna se lenta Uma solu o de compromisso torna se necess ria Percursos com ganho de compensa o de valor 50 e per odos de traject ria superiores a 2 segundos s o recomendados para minimiza o do sinal de erro C Traject ria ao longo dos eixos xy Executando uma traject ria rectil neo que abranja tanto o eixo xx como o yy CoP 30 60 10 at 30 40 10 revelam o superior atraso na componente yy 30 contra 20 unidades tal como foi observado nas figuras anteriores Uma solu o de
26. O A concep o de um robot Human ide constitui um dos maiores desafios na rea da rob tica construir um ser artificial antropom rfico semelhante ao homem um sonho inato do nosso engenho e n o para menos pois o ser humano a forma de vida mais complexa existente face da Terra O s culo XX encheu a nossa imagina o com livros e filmes que demonstram esse sonho do ser artificial capaz de al m de ajudar a desempenhar tarefas aprender coisas por si mesmo interagir connosco expressar emo es possuir uma consci ncia pr pria tudo caracter sticas que por enquanto ainda consideramos como puramente humanas Marcas como a Honda a Sony ou a Fujitsu j deram os primeiros passos no desenvolvimento de m quinas que imitam os comportamentos f sicos dos seres humanos caminhar dan ar ou pegar objectos Outros passos tamb m j foram dados no que respeita ao processamento de vis o de som com o objectivo de realizar tarefas ou simplesmente de interagir com o ser humano Fig 1 QRIO Sony Asimo Honda e KHR 3 Hubo Lab 2 ENQUADRAMENTO DO PROJECTO Muitos outros grupos de investiga o iniciaram a constru o de rob s de baixo custo no sentido de realizarem investiga o em reas t o diversas como o controlo a percep o a navega o o comportamento ou a coopera o Este foi tamb m o m bil principal que levou um grupo resultante da coopera o do D E M com o D E T I da Universidade de Aveiro a e
27. a aplicar Sa das pz gt Mensagem de baixo n vel recebida error gt C digo d wie xistent SEDES String descritiva do erro Tabela 5 Valores poss veis do par metro param na func o applyjoint Campo param Descri o Campo servos Unidades PARAM POSITION Posi o refer ncia a ser atingida refi ref ref Graus ou outro PARAM VELOCITY Dura o do movimento a efectuar vel vel vel Ciclos de 20ms PARAM SPECIAL Activa o desactiva o do PWM aplicado aos motores 0 1 0 0 Valor booleano 25 applycontrol Selec o do controlador de primeiro n vel e ajuste dos seus par metros bem como dos do controlador local rx error errorstr applycontrol H scu id param servos Entradas H gt Handler para comunicar com o Master scu id gt Identificador do SCU alvo param gt Parametro a modificar Tabela 6 servos gt Dados a aplicar Sa das IO gt Mensagem de baixo nivel recebida error gt C digo d TROS xistent errorstr gt String descritiva do erro Tabela 6 Valores poss veis do par metro param na fun o applycontrol Campo param Descri o Campo servos Ganho da componente integral Ki do PARAM_KI 0 controlador local Kiy Kin Kis Ganho da componente proporcional Kp do PARAM_KP 1 controlo local Kpi Kp2 Kp3 PARAM_K 2 Ganho K do controlador de primeiro n vel K Ko K3 Ti
28. a posi o refer ncia diz respeito ao centro de press o que a estrutura deve possuir no fim do movimento e Controlo de Inclina o a posi o refer ncia especifica a inclina o que a estrutura dever possuir e Controlo de Velocidade Angular an logo aos restantes De igual modo a velocidade indicada diz respeito ao controlador em causa implementado se desta forma traject rias polinomiais que tanto podem ser de posi o angular centro de press o inclina o ou velocidade angular Com base nestas posi es refer ncia o controlador de primeiro n vel determina as posi es angulares a aplicar a cada servomotor que posteriormente ser entregue a um controlador local do tipo PI Proporcional Integrador que se responsabilizar por garantir o alcance das posi es solicitadas O ajuste do controlador de primeiro n vel feito atrav s do ganho K enquanto que para o controlador local o ajuste feito atrav s dos ganhos K e Kp No que diz respeito aos dados sensoriais enviados unidade Master eles s o de natureza constante e independentes do controlador activo 21 2 COMUNICA O RS 232 2 1 Device Drivers de Comunica o na Unidade Principal A Device Drivers de Baixo N vel Para automatizar o processo de leitura escrita dos dados sensoriais actuadores device drivers foram escritos na forma de fun es em MatLab Elas s o Tabela 2 Lista de device drivers da unidade principal Fich
29. as comunica es e por isso n o ser o referidos neste cap tulo Slave E KH PIC2 y CAN Fig 23 Relac es de inclus o dos m dulos de software de cada Slave M dulo Slave M dulo com a fun o iniciadora main respons vel pela chamada das fun es de configura o presentes nos outros m dulos e por executar tarefas em background durante o funcionamento normal M dulo PIC2 M dulo com a implementa o da rotina de inicializa o do PIC e da rotina de servi o s interrup es uma das quais provenientes do CAN E neste m dulo que s o inicializados e implementados os mecanismos de comunica o com a unidade master sec o II 3 5 A Tabela 35 Rotinas do m dulo PIC2 respons veis por gerir as comunica es CAN Fun es Descri o initPic Inicializa o das comunica es CAN e de outros perif ricos destinados ao controlo local lowISR Rotina de Servi o Interrup o respons vel por gerir as interrup es provenientes do CAN outras tarefas para controlo local M dulo CAN M dulo com a implementa o das fun es de alto n vel para a recep o e o envio de mensagens CAN sec o II 3 5 B segundo o protocolo descrito na sec o II 3 2 mas no que respeita unidade slave 66 Tabela 36 Fun es de alto n vel para troca de mensagens via CAN Fun es Descri
30. bits N mero de stop bits 1 Bit de paridade desactivado yy yyy Controlo de comunica es por handshaking desactivado Utilizou se um computador Pentium com porta s rie RS 232 embutida com o sistema operativo Microsoft Windows XP como unidade principal para comunicar com a unidade master embora seja perfeitamente compat vel usar qualquer sistema desde que possua suporte a comunica es RS 232 O software utilizado foi o MatLab 7 0 atrav s da mini toolbox cport v1 3 que oferece device drivers para troca directa por RS 232 tanto de caracteres como de strings e valores num ricos inteiros Para inicializar as comunica es atrav s do cport necess rio seguir as seguintes instru es 1 Abrir as comunica es especificando a porta s rie a usar COM guardando o handler da linha aberta Porta utilizada COMI handler cportopen coml Se handler 0 a liga o falhou 2 Configurar a linha especificando as seguintes caracter sticas Tabela 19 Configura es gerais do cport Campo Valor Baudrate 115200 bps Tamanho do byte 8 bits Descarte dos bytes nulos desactivado Controlo de fluxo pela linha DTR desactivado Controlo de fluxo pela linha RTS desactivado T rmino das opera es de leitura escrita na ocorr ncia de um erro activado Caracter a usar no caso de um erro de paridade nenhum Tempo de timeout entre dois caracteres consecutivos 2 caracteres ms Tempo de time
31. bra o 3x2 2 no suporte da c mara cabe a 2x1 Z A estrutura constitu da essencialmente por alum nio e a o nos eixos e outros pequenos componentes pesando um total de 6 Kg com as baterias inclu das e medindo cerca de 60 cm de altura Estes valores foram estabelecidos de acordo com as regras impostas pelo RoboCup baseando se no pressuposto de que para valores superiores estes o uso de servomotores de baixo custo poderia tornar se invi vel dada a impossibilidade de conciliar bin rios de motores e pesos dos equipamentos e acess rios como as baterias Por raz es de est tica e de acomoda o de componentes foi adoptada uma estrutura em forma de exoesqueleto carapa a dotando assim o sistema de m dulos ocos onde s o alojados os motores sensores cablagens placas de controlo etc Fig 2 Fig 2 Modelo 3D do robot e implementa o actual Preocupa es com a autonomia energ tica do sistema exigiram a escolha de baterias de elevada capacidade de corrente pois ser necess rio alimentar 22 motores de bin rio apreci vel embora uns mais do que outros Tendo em conta esses aspectos utilizaram se duas baterias de 7 4V ligadas em paralelo com uma capacidade total m xima de 9600mAh No que respeita ao controlo foram assumidas desde logo as vantagens de uma arquitectura distribu da e modular baseada num barramento CAN respons vel por permitir a troca de informa o entre as diversas unidades de controlo a par
32. cria o de uma estrutura human ide de car cter pedag gico capaz de gerar v rias sequ ncias de locomo o semelhantes ao ser humano de uma forma aut noma e recorrendo unicamente a materiais e componentes de baixo custo 135 2 DOCUMENTA O ADICIONAL Toda a documenta o produzida pela equipa Human ide nos ltimos tempos est apontada a seguir Artigos e Milton R Silva Pedro M Ferreira Filipe M Silva V tor M Santos Local Level Control of a Humanoid Robot Prototype with Force Driven Balance submetido International Conference on Humanoid Robots 2007 e Milton Ruas Filipe M T Silva V tor M F Santos Parameter Measurement for Speed and Torque Control of RC Servomotors on a Small Size Humanoid Robot nas actas do Encontro Cient fico Rob tica2006 Guimar es 2006 e Milton Ruas Filipe M T Silva V tor M F Santos Techniques for Velocity and Torque Control of RC Servomotors for a Humanoid Robot aceite para publica o nos proceedings da 9th International Symposium on Climbing and Walking Robots and Associated Technologies 11 14 September 2006 e Milton Ruas Filipe M T Silva V tor M F Santos A Low Level Control Architecture for a Humanoid Robot submetido International Conference on Humanoid Robots 2006 e Vitor M F Santos Filipe M T Silva Engineering Solutions to Build an Inexpensive Humanoid Robot Based on a Distributed Control Architecture proceedings
33. do p fica paralela ao solo d Adapta o dos ngulos determinados para as posi es angulares a aplicar aos servomotores e Aplica o das posi es nos servomotores com uma determinada velocidade a C lculo das coordenadas da anca Considerando x y z ps a posi o cartesiana da base do p seleccionada pelo utilizador tendo em conta a conven o da Fig 34 ent o as coordenadas da anca x y 2 anca Mudando o referencial para o ponto CD MatLab Control Movimento Cartesiano 88 seleccionado corresponde ao seu sim trico x Y a BR x Y z re X Y Z anca 7 Xy Zanca 0 N Li L L Fig 37 Representa o da Perna ap s a mudan a de referencial b Cinem tica inversa para c lculo dos ngulos 04 6 e 03 Com a mudan a de referencial efectuado atr s podemos aplicar as equa es da cinem tica inversa do p ndulo duplo para determinar os ngulos 0 e 83 Ki Ko Ks 8 atan2 K K atan K Gor rset K 2 z L K 0 Para 0 4K2 2 yo Ly Para 64 4K2 2 Lz Ly Ky y 22 157 Ly Kg y 27 L3 Lg Contudo dado que a perna pode estar sujeita a alguma inclina o devido ao ngulo 01 as vari veis de entrada x y Li L e Ls v o estar sujeitas a transforma es O ngulo 0 facilmente obtido atrav s das coordenadas da anca 8 atan2 z Lyx Dado que a inclina o da perna ir alterar os valores L1 L2 e L3 a aplicar na equa
34. ds Se ees ss 2 eo Se i i i i 0 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 Pulso de corrente do 2 Microcontrolador 100 Motor ortogonal ao pe i i i i i Motor paralelo ao pe l 1 50 4 Motor do Joelho qa Pressen pe PAR ss FER pss 7 i i i i i i i 0 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 Fig 48 Dados experimentais obtidos no impacto contra um objecto cobrindo os sensores da direita 2 e 4 Como a placa met lica est agora por baixo do conjunto de sensores mais sens vel sobre a qual o eixo de rota o lateral do p est a incidir vamos obter dados bastante consistentes sobre os fen menos f sicos decorrentes Os sensores da direita 2 e 4 registam o impacto inicial a partir de t 0 8s atingindo a m xima deforma o sensivelmente a partir de t 1 1s Finalmente para t 1 4s os restantes sensores 1 e 3 registam o impacto total com estabiliza o dos sensores para t gt 1 5s O gr fico da m dia bastante demonstrativo dos efeitos verificados e regista um comportamento contr rio ao verificado quando a placa era colocada sobre os sensores traseiros ou dianteiros Nessas experi ncias passadas era mais f cil a detec o do impacto total dada a baixa in rcia para deslocamento das juntas mas agora muito mais not rio o momento do impacto inicial justificado
35. e as coordenadas reais das juntas permitindo assim controlar a posi o destas juntas em termos de coordenadas espaciais As experi ncias realizadas a seguir utilizam um c digo semelhante rotina copref exe fazendo a actua o do CoP para v rios pontos espec ficos A seguir realizada a leitura sensorial Actualiza o do CoP refer ncia Esperar que o controlador atinja o equil brio Esperar alguns segundos para assegurar a paragem dos servos Leitura dos dados sensoriais Voltar a 1 E Gy o Os dados sensoriais lidos s o os seguintes e Sensores de for a para c lculo do centro de press o actual e Angulos das diversas juntas da perna para c lculo da cinem tica directa As direc es dos eixos cartesianos aplicados seguem a conven o da Fig 34 A Varia o do CoP no eixo xx Efectuando 30 passos desde as coordenadas CoP 30 0 0 at CoP 30 0 0 obtiveram se os dados dos sensores de for a e da cinem tica directa do joelho e da anca apontados na Fig 56 e na Fig 57 Pela an lise Fig 56 coordenada x podemos concluir que o controlador de CoP est a funcionar regularmente cumprindo todos os pontos de refer ncia atribu dos J o CoP na componente y apresenta varia es desprez veis tal como esperado dado que o percurso do CoP refer ncia apenas feito no eixo xx No que respeita cinem tica directa as juntas do joelho e da anca apresentam percursos aproximadamente lineares perto da coor
36. ide podem faz lo de uma forma din mica pela varia o de um par metro refer ncia que se relaciona com a projec o do centro de massa do sistema sobre o solo Posteriormente tamb m se far um estudo sobre a utilidade destes sensores para a perna livre de modo a ser poss vel detectar o impacto do respectivo p sobre o solo ou a sua eleva o 71 1 INTRODU O 1 1 Os sensores de For a Para o sensing das for as aplicadas sobre os p s do robot human ide foram usados sensores de for a baseados em extens metros resistivos cuja resist ncia varia de acordo com a sua deforma o Fig 24 Extens metro resistivo 1 2 Estrutura do P Aproveitando esta propriedade el stica que relaciona proporcionalmente a deforma o com a for a aplicada podemos colocar v rios extens metros ao longo da rea de cada p e pela medi o da sua deforma o medir a for a aplicada sobre cada um deles Seleccionou se a utiliza o de quatro sensores um em cada canto de modo a permitir uma estimativa bidimensional do centro de press o aplicado sobre o p A montagem apresentada na Fig 25 e baseia se na colagem de cada extens metro a uma placa de acr lico com boas propriedades el sticas Fig 27 em que por sua vez s o colocados em v rias aberturas de uma plataforma que permitem a sua livre deforma o aquando da aplica o de uma for a sobre elas og Aplica o da for a Extens metro Extens m
37. na sec o traseira sec o dianteira Varia o da m dia dos sensores de for a Variagao da m dia dos sensores de for a 30 t 20 Te ty 10 Farmer IS ra e 0 IS E AE AO Da os Jana cacas DD Henne a RD nn ai 0 0 5 1 1 5 2 Fig 52 Varia o da M dia com irregularidade na Fig 53 Varia o da M dia com irregularidade na sec o esquerda sec o direita Como se pode observar na Fig 49 Fig 51 o impacto inicial dif cil de ser observado nas circunst ncias de irregularidade na sec o dianteira ou traseira do p n o se observando mesmo nas duas ltimas figuras impulso nenhum descrevendo este fen meno apenas se observa uma ligeira flutua o dos dados sensoriais 102 Apenas o impulso descritivo do impacto total claramente visualizado J no caso de irregularidade na sec o esquerda do p os dois impulsos indicativos do impacto inicial e total est o claramente pronunciados O impulso de impacto inicial favorecido pela elevada in rcia ao deslocamento das juntas do p e o segundo impulso de impacto total favorecido pela elevada sensibilidade dos sensores da direita Este cen rio claramente o melhor pois permite uma boa defini o dos dois momentos Relativamente ao cen rio de irregularidade na sec o direita do p tem se um claro impulso indicativo do impacto inicial favorecido tanto pela elevada in rcia como pela elevada sensibilidade dos s
38. o par metro servos ser composto por um vector linha de tr s elementos cujo primeiro elemento corresponder a um valor booleano indicando se o slave de endere o scu id dever ter os seus sinais de PWM activos ou n o rx error errorstr applyjoint H scu id param servos rx error errorstr applyjoint H scu_id 3 0 1 0 0 A t tulo de exemplo para activar os PWMs do slave de endere o 1 seria enviado o seguinte comando rx error errorstr applyjoint H 1 3 1 0 0 Para automatiza o do processo de activa o e desactiva o dos PWMs a uma s rie de SCUs podem ser utilizadas as fun es inituc e killuc Estas fun es permitem a atribui o de vectores de SCUs que automaticamente se encarrega de enviar o adequado applyjoint a cada um deles error errorstr inituc H scul scu2 scu3 error errorstr killuc H scul scu2 scu3 Leituras Sensoriais Para ler os diversos sensores os comandos readjoint e readspecial s o utilizados conforme se pretenda ler os sensores associados aos servomotores ou os sensores ligados via piggy back sobre a placa controladora respectivamente Tabela 9 Tabela 9 Fun es para leitura sensorial Tipo de sensores Fun o associada Sensores associados aos Ea sensors state rx error errorstr readjoint H scu_id param servomotores Sensores via piggy back special rx error errorstr readspecial H scu id Com a fun o readjoint par metro
39. of the IEEE International Conference on Humanoid Robots 2005 e V tor M F Santos Filipe M T Silva Development of a Low Cost Humanoid Robot Components and Technological Solutions proceedings of the CLAWAR 2005 Relat rios e Milton R Silva Desenvolvimento de Algoritmos de Controlo para Locomo o de um Robot Human ide Relat rio final de projecto 2005 06 e Milton R Silva Desenvolvimento de Algoritmos de Controlo para Locomo o de um Robot Human ide Manual do Programador Projecto 2005 06 e Milton R Silva Desenvolvimento de Algoritmos de Controlo para Locomo o de um Robot Human ide Manual do Utilizador Projecto 2005 06 e Lu s Gomes Mauro Silva Concep o e Desenvolvimento de Unidades de Percep o e Controlo para um Robot Human ide Relat rio final de projecto 2004 05 Departamento de Mec nica e Nuno Be a Angelo Cardoso Desenvolvimento e Integra o das Sub estruturas Inferior e Superior para a Locomo o de uma Plataforma Human ide Relat rio final de projecto 2004 05 Departamento de Mec nica 137 3 BIBLIOGRAFIA Recomendam se as seguintes fontes bibliogr ficas para prossecu o deste trabalho Artigos V tor M F Santos Rob tica Industrial Apontamentos te ricos exerc cios para aulas pr ticas e problemas de exame resolvidos Departamento de Engenharia Mec nica Universidade de Aveiro 2003 04 Youbin Peng
40. que ap s a estabiliza o os sensores 2 e 4 direita s o os que registam maior for a dada a sua superior sensibilidade relativamente aos sensores 1 e 3 esquerda 99 E Descida do P contra um Objecto cobrindo os Sensores da Direita 2 e 4 Sensores de for a individuais 200 e sensor je 22u RETENE PERS Le nn e Bere ee ee a at I I I I E sensor 2 l I ee l l l j e sensor3 Er oe DEERE I I R eo Pecgeecee I I I 150 sensor 4 E Ei us ue REA i Pro prin u zur ponto Denn E eee NN A eodoeseesesesee AAA I I IS Coed et 00 ce 0c ee togcccs goecees 0000000 Bh ocroo et cof N rio EG Sess oe es Lage j as l I l er 100 0 200 150 L 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8
41. segundo teria um extens metro espelho EXT MIRR localizado num ponto o mais pr ximo poss vel do primeiro de modo a que as varia es de temperatura os afectem de forma semelhante mas sem a possibilidade de aplica o de qualquer for a este em s rie com o potenci metro a ser usado para calibra o do ponto de equil brio POT CAL Como as varia es de resist ncia dos extens metros s o muito pequenas na ordem dos 4 do valor nominal 1200 e pretendia se uma calibra o muito fina utilizaram se potenci metros multi volta de 100 Q que em s rie com a resist ncia Rs e em paralelo com Rp provocam uma varia o efectiva na ordem dos 59 em torno do valor nominal Fig 30 Fig 30 Circuito de calibra o da ponte de Wheatstone Finalmente o amplificador instrumental o INA129P que pela configura o actual com R 1800 possibilita a amplifica o do sinal de entrada em 65V V Desta forma varia es de 60 98 mV sa da da ponte de Wheatstone transformam se num sinal com uma gama de 4V pass vel de ser utilizada pela ADC do microcontrolador com as tens es de refer ncia 0 5V Uma vis o global da perna assente sobre o p sens vel a for as com a respectiva electr nica de condicionamento pode ser visualizada na Fig 31 Fig 31 Perna completa sobre um p sens vel a for as 75 1 4 Processamento do Sinal pelo Microcontrolador Finalmente a tens o presente sa da do amplificador entreg
42. um valor num rico entre O e 255 Como podemos obter medi es acima e abaixo do ponto de equil brio postura vertical da perna mas sempre representando for as positivas as placas de acr lico deformam se sempre para um nico sentido para baixo convencionou se a representa o da for a sempre como um valor positivo mas em torno de um ponto interm dio Este ponto foi definido como o 128 de forma que e Uma medi o com o valor 128 corresponde postura de equil brio e Medi es acima de 128 129 255 correspondem ao deslocamento do centro de press o no sentido do sensor medido e Medi es abaixo de 128 0 127 correspondem ao afastamento do centro de press o relativamente ao sensor medido Note que o valor de 128 corresponde postura de equil brio pelo que ap s a calibra o por software deveremos obter este valor independentemente da tens o presente sa da do amplificador Desta forma o resultado da for a medida corresponde a efectuar o seguinte c lculo em que Sensoroupu corresponde sa da do sensor no momento e Sensorcaip tamb m sa da do mesmo mas no momento da calibra o For a Sensor uu Sensor up 128 utput Repare que ap s a calibra o Sensoroupu Sensorcaip SAO iguais resultando numa for a igual a 128 Para que obtenhamos uma for a compreendida entre O e 255 pass vel de ser armazenada numa vari vel de 8 bits ao valor proveniente da ADC ADC output removido o bit me
43. utilizado o controlador de CoP enquanto para a coordenada z utilizar amos um controlador de altura baseado na cinem tica directa Sendo assim a altura da anca dada por h Lo Ly Ls L323 i Utilizando igualmente uma matriz Jacobiana mas baseada na cinem tica directa podemos determinar a varia o angular a aplicar com base na altura h AG K JT x e BE Dado que a altura corresponde a uma das coordenadas cartesianas da anca podemos expandir estas matrizes de modo a concili la em termos de dimens o com as matrizes anteriores oh CEN h Keinen ref _ med a nref pmed dh 88 Eu o at 98 ao o x o 08 href med 0 dh l 003 Nesta forma facilmente se percebe que a matriz Jacobiana da cinem tica directa pode ser combinada com a da do centro de massa dCoM CoM ah 0 00 96 h de ol j 0 jt a ge A ah _ 0CoM CoM oh 06 06 20 CoM dCoM ah 08 00 a6 83 dCoM dCoM dh a jr 0CoM CoM dh a6 86 00 CoM CoM Bh 0 00 0 Calculando as derivadas parciais da altura a L Loto La023 5 za Losz Lya cy oh 28 by 533 E fazendo com que CE Li Lt Latas SS23 Lasa LySos S53 13523 Ent o ah i 98 CCay 51 Ah 20 5573 0 ah 51 a Assim sendo a definitiva matriz Jacobiana passa a ser P lh Joo Ja 5523 54 ES 55
44. z 0 0 0 com a estrutura ligeiramente suspensa acima do solo A m xima for a encontra se aplicada sobre os sensores de for a 2 O p elevado at altura m xima de coordenadas x y z 0 0 2 0 cm mantendo a superf cie do p horizontal ao solo Durante este procedimento os sensores de press o e corrente s o amostrados velocidade m xima permitida pelo MatLab e pelo sistema operativo Windows XP O par metro tempo tamb m ser amostrado para associa o aos dados de for a e corrente Os gr ficos demonstrativos da sa da dos sensores de for a individuais bem como da sua m dia aritm tica podem ser visualizados na Fig 41 e Fig 42 respectivamente Pela an lise individual dos sensores Fig 41 pode se observar o mesmo comportamento que durante a descida do p Os mesmos sensores 2 e 4 revelam a superior sensibilidade durante o in cio do percurso com todos os sensores a estacionar no valor 128 quando o p j se encontra suspenso acima do solo Tanto a an lise individual dos sensores Fig 41 como da m dia dos quatro Fig 42 s o capazes de nos fornecer a informa o de come o de inflex o da perna t 0 8s e in cio da eleva o do p acima do solo t 1 2s pelo que a an lise m dia aritm tica revela se bastante mais vantajosa em termos de simplicidade e independ ncia relativamente sensibilidade de cada sensor de for a 93 Force Sensors 220 Sensor 1 Sensor2 1 Sensor 3 Senso
45. 0 por possu rem diversos perif ricos e interfaces para redes de comunica es incluindo o CAN Fig 6 Fig 4 Exemplo de uma board Fig 5 Placa de controlo Fig 6 Rede completa de PC 104 Master Slave Microcontroladores At ao momento a rede implementada constitu da por uma placa master pelo qual designaremos por MCU Master Control Unit que efectua a interface entre a unidade principal e as unidades slave e oito placas slave designadas por SCU Slave Control Unit que efectuar o o controlo local at tr s actuadores atrav s da gera o de uma onda de pulso modulado em largura PWM e a aquisi o de at 16 sinais anal gicos usando um multiplexer Fig 5 A organiza o enunciada na tem como objectivo agrupar as juntas que est o directamente relacionadas como o caso das juntas do tornozelo e do joelho que possuem um controlador dedicado que por aquisi o dos sinais anal gicos dos sensores de for a instalados nos p s pode controlar o equil brio por compensa o em malha fechada Na presente data j poss vel fazer a adapta o a irregularidades do solo com as juntas a corrigir a sua posi o de forma reactiva para que a projec o do centro de massa do robot n o se situe fora da rea de apoio dos p s Obt m se assim um controlo localizado independente do resto do sistema sem que haja necessidade permanente de interagir com a unidade central de controlo Os sinais anal gicos adquiridos a
46. 73 43 Jz fa z Ca 533 41 11 hz ha CoPx az E NIE Ja A x 31 I 32 f 33 Com as seguintes express es para c lculo da varia o angular dos servos A i Ja z ES Es 0 CCoz sy 11 copx ha Ccopy Jaz Erd 2 Un Ecopr Jaz Ecopy Ja En Estas tr s equa es constituem assim a lei de controlo do centro de press o e da altura com base nos respectivos sinais de erro O erro do centro de press o calculado a partir dos sensores de for a pela compara o entre o CoP desejado CoP e o medido CoP cop CoP f Coprmes 84 J o erro de altura calculado pela compara o entre a altura desejada h e a estimada atrav s da cinem tica directa das juntas h med La Ly Latz L3C23 Es E pref pmed 2 4 Estudos Experimentais Estudos detalhados sobre os sensores de for a relativos sua resposta face a v rios cen rios bem sobre o controlador de Centro de Press o no que respeita ao controlo de equil brio na aplica o de for as externas sobre os respectivos sensores varia o de declive do plano de suporte e presen a de perturba es externas aplicadas estrutura foram intensivamente executados e encontram se descritos detalhadamente no relat rio final de projecto 2005 2006 Desenvolvimento de Algoritmos de Controlo para Locomo o de um Robot Human ide que se encontra dispon vel para livre acesso Este relat rio faz a prossecu o
47. 74 segundo a perspectiva 3D e usando o eixo zz como refer ncia respectivamente nb Ss een E A e e i i H S51 H H ca nr Hase are S H H i A 3 oe a Fo ie ee ase E E eo I E 6 ite t dog Base rer NN oO t Ra bese pg ee ee Fig 74 Cinematica directa do joelho e da anca vista 2D de cima De facto a traject ria real do centro de press o afasta se da elipse projectada no canto inferior direito Tal anomalia pode se dever a diversos factores sobretudo fisicos tais como e Baixa sensibilidade do sensor de for a podendo ser causada pelo pr prio sensor ou pela placa de acr lico subjacente com um n vel de rigidez superior ao normal e Saturac o da sa da sensorial provocada pelo circuito de acondicionamento de sinal Se for este o caso o potenci metro de ajuste do offset dever ser regulado 124 4 7 Execu o de Traject rias Rectangulares pela Perna de Suporte Experimentando o formato rectangular definiram se quatro pontos de refer ncia do centro de press o correspondentes aos quatro v rtices e aplicaram se sucessivamente em instantes de tempo peri dicos at completarem 10 voltas A Fig 75 apresenta a execu o de 10 trajectos rectangulares cujas arestas s o compostas por traject rias polinomiais de quinta ordem com um per odo de execu o de 4 segundos A visualiza o do tipo espacial podendo observar o trajecto do CoP esperado a preto o Co
48. CoP Cinematica directa do joelho 100 Cinematica directa da anca CoP y 40 60 Fig 76 Resposta a 10 voltas de uma traject ria rectangular sem e com controlo local K jacobiano 50 Per odo 4s Per odo 2s Trajectoria medida do CoP Trajectoria medida do CoP Trajectoria prevista do CoP T T Trajectoria prevista do CoP Cinematica directa do joelho E Cinematica directa do joelho 100 eis pies Cinematica directa da anca Ele TOR Cinematica directa da anca CoP y Fig 77 Resposta a 10 voltas de uma traject ria rectangular para diferentes velocidades Kr Kp K acobianoJ 5 40 30 Apesar dos resultados animadores observados nas figuras anteriores mostrando bons seguimentos de traject ria desde que os par metros de compensa o e a velocidade estejam devidamente ajustados mesmo assim os resultados est o excessivamente dependentes das condi es f sicas do sistema mais em concreto dos elementos adjacentes aos sensores de for a Diferen as na sensibilidade destes sensores rigidez desigual nas aplacas de acr lico ligadas a estes e a necessidade constante de ajuste dos potenci metros que controlam o n vel de tens o sa da dos sensores resultam em significativas diferen as no cumprimento das traject rias propostas al m que os valores solicitados ao controlador de equil brio respeitante a uma determinada lo
49. Damir Vrancic and Raymond Hanus Anti Windup Bumpless and conditioned Transfer Techniques for PID Controllers IEEE Control Systems 1996 The PID Algorithm http members aol com pidcontrol pid_algorithm html 2006 Tim Pike Gait Generation for a Humanoid Robot The School of Information Technology and Electrical Engineering The University of Queensland 2003 Michael Hardt and Oskar von Stryk The Role of Motion Dynamics in the Design Control and Stability of Bipedal and Quadrupedal Robots RoboCup 2002 International Symposium Fukuoka Japan June 24 25 2002 Dusko Kati C and Miomir Vukobratovi C Survey of Intelligent Control Techniques for Humanoid Robots Journal of Intelligent and Robotic Systems 37 117 141 2003 T Sugihara Y Nakamura Whole body Cooperative Balancing of Humanoid Robot using COG Jacobian Proceedings of the 2002 IEEE RSJ Intl Conference on Intelligent Robots and Systems EPFL Lausanne Switzerland 2002 Livros Karl Johan str m Control System Design 2002 K S Fu R C Gonzalez C S G Lee Robotics Control Sensing Vision and Intelligence MacGraw Hill 1987 139 4 AGRADECIMENTOS Agradece se toda a coopera o por parte do Departamento de Mec nica pela disponibilidade de recursos e toda a ajuda fornecida para a realiza o deste projecto Em igual medida tamb m agrade o aos meus orientadores Filipe Silva e V tor Santos po
50. Desenvolvimento de Ajudas Computacionais para a Opera o e Controlo de um Robot Human ide Relat rio Final da Bolsa B LI C Milton Ruas da Silva N 21824 Orienta o Prof Dr Filipe Silva DETI IEETA Prof Dr V tor Santos DEM TEMA Universidade de Aveiro Departamento de Electr nica Telecomunica es e Inform tica IEETA Julho de 2007 NDICE l PU ua Ia A N 1 Ill INTRODU O 9 INTRODU O 11 ENQUADRAMENTO DO PROJECTO 11 OBJECTIVOS E MOTIVA ES DO TRABALHO 12 DESCRI O DA PLATAFORMA HUMAN IDE 14 ARQUITECTURA DAS COMUNICA ES 17 ARQUITECTURA DO SISTEMA 19 1 1 Protocolos de Comunica o 20 COMUNICA O RS 232 23 2 1 Device Drivers de Comunica o na Unidade Principal 23 A Device Drivers de Baixo N vel 23 B Outros Device Drivers 27 C Utiliza o dos Device Drivers 29 2 2 Protocolo RS 232 34 2 3 Unidade Principal 38 A Configura o da Unidade Principal 38 B Algoritmos de Comunica o 39 2 4 Unidade Distribuidora MASTER 42 A Configura o da unidade Master 42 B Algoritmos de Comunica o 43 C Base de Dados Global do Sistema Human ide 46 COMUNICA O CAN 49 3 1 Introdu o 49 3 2 Protocolo CAN 51 3 3 Funcionamento do Barramento CAN 53 A Configura o CAN 53 B Troca de Mensagens CAN 57 3 4 Unidade Master 58 A Algoritmo de Troca de Mensagens 58 B Tr
51. Ea for a absoluta inicial difere de sensor para sensor A resolu o do problema da for a inicial por enquanto baseada em m todos emp ricos pela aplica o de um ganho sobre o controlador que utiliza estes valores Relativamente varia o de sensor para sensor ainda n o se tornou suficientemente importante quando usando apenas a perna pois o seu reduzido peso torna estas varia es desprez veis Contudo experi ncias subsequentes com cargas aplicadas sobre a perna tornaram este problema evidente requerendo a aplica o de ganhos de amplifica o independentes para cada sensor 1 5 C lculo do Centro de Press o CoP Com a for a estimada sobre cada sensor s nos falta determinar a projec o do centro de massa CoM da estrutura human ide sobre cada p Para velocidades relativamente reduzidas tal corresponde a determinar o centro de press o CoP com base nos quatro sensores de for a Este ponto est representado na Fig 32 e para a siitua o de equil brio perna vertical tal deve corresponder s coordenadas x y 0 0 ou seja o centro da base do p Medindo as coordenadas de cada sensor relativamente ao centro do p d x y dd A d x4 y4 Podemos determinar as coordenadas do centro de press o atrav s do peso da for a individual de cada sensor CoP Ye d Lar d ed PEDDA DE ee 77 y Fig 32 Projec o do Centro de Massa na situa o de equil brio C
52. Fun es do m dulo PIC Fun es Descri o initPic Inicializa o dos perif ricos associados s comunica es USART e CAN highISR Implementa o dos mecanismos de comunica o pela USART com a unidade principal lowISR Implementa o dos mecanismos de comunica o CAN com as unidades slave M dulo USART M dulo com os device drivers para inicializa o sec o II 2 4 e implementa o do protocolo USART descrito na sec o II 2 2 63 Tabela 29 Fun es para manipula o dos buffers da USART Fun es Descri o usartInit Inicializa o da USART no PIC usartStreamMode Esta fun o indica se o buffer de recep o est vazio ou n o Em caso negativo a USART est em modo de recep o de um stream de bytes true retornado usartStoreRx Armazenamento de um byte no buffer de recep o usartGetTx Obten o de um byte armazenado no buffer de transmiss o usartResetRxBuff Reinicializa o a zero de todo o buffer de recep o usartResetTxBuff Reinicializa o a zero de todo o buffer de transmiss o usartStore2extBuff Armazenamento de um byte no buffer externo A fun o usartStore2extBuff refere a exist ncia de um terceiro buffer denominado por buffer externo Tal destina se aos m dulos externos que pretendam enviar informa o adicional pela USART Tal o caso do m dulo CAN que disponibiliza unidade principal atrav s d
53. Handler para comunicar com o Master Seo gt Conjunto de SCUs alvo endere os Sa das stat gt Indicador de sucesso na opera o error gt C digo d SO xistent errorstr gt String descritiva do erro statmotionfin Leitura do estado de um conjunto de SCUs relativo execu o de traject rias finall finone fin pwm err errstr statmotionfin H scu list Entradas H gt Handler para comunicar com o Master SCULA gt Conjunto de SCUs alvo endere os Sa das finall gt Todos os SCUs indicados terminaram uma traject ria finon gt Pelo menos um SCU dos indicados terminaram uma traject ria i abro gt Vector indicando se a junta i de 3 de todos os SCUs terminaram pwm gt Todos os SCUs indicados possuem os seus sinais de PWM activos error gt C digo d SOS xistent errorstr gt String descritiva do erro motionstart Espera que todos os SCUs indicados na lista comecem a execug o de uma traject ria E necess rio que previamente tenha sido enviado um comando de actua o para in cio do movimento applyjoint stat error errorstr motionstart H scu list Entradas H gt Handler para comunicar com o Master SIETE gt Conjunto de SCUs alvo enderecos Sa das stat gt Indicador de sucesso na operac o error gt C digo d ie E xistent errorstr gt String descritiva do erro Efeitos colaterais caso a posi o das juntas indicado no comando de actua o corres
54. P medido pontos a azul e a cinem tica directa do joelho verde e da anca vermelho vista do eixo zz Os diferentes gr ficos da Fig 75 mostram o efeito do controlador local variando os seus par metros de controlo ganho de integra o KI e proporcional KP para um ganho fixo do controlador de equil brio K 30 Come ando pelo controlo em malha aberta sem controlo local podemos observar o seguimento do trajecto proposto com alguma exactid o mas ao n vel dos v rtices a dificuldade de seguimento aumenta conferindo ao trajecto medido um formato semelhante ao el ptico Ligando o controlo local e aumentando os seus par metros observa se um seguimento mais exacto mas ao mesmo uma densidade de pontos de CoP muito mais intensa em torno do trajecto aplicado Tal s pode evidenciar a presen a de oscila es resultante da instabilidade do controlador quanto maiores os par metros de controlo maior a instabilidade Efectuando os mesmos trajectos mas agora com um aumentado ganho no controlador de equil brio K 50 ver Fig 76 pode se observar as mesmas caracter sticas evidenciadas mas com o surgimento mais precoce das oscila es Tal consistente com o esperado pois o aumento do ganho do controlador de equil brio tende a aumentar a instabilidade A Fig 78 prop e variar a velocidade para um conjunto fixo de par metros de compensa o Para Ky Kp K jacobianol 5 40 30 observa se que quanto maior a velocidade m
55. SITION 0b00 Posi o actual de cada junta OP READ SENSORS 0b10 PARAM VELOCITY 0501 Velocidade estimada de cada junta Mensagem de leitura dos PARAM CURRENT 0b10 PESO Le Corrente drenada por cada servo PARAM SPECIAL 0b11 Sa da dos sensores especiais OP READ EXTBUFF 0b11 Leitura do buffer externo do Status do barramento CAN Master De notar que a posi o refer ncia e a velocidade m dia da traject ria OP APPLY JOINT depende do controlador de primeiro n vel activo seleccionado atrav s do par metro PARAM CONTROLON Os v rios tipos de controlador est o indicados na Tabela 16 Tabela 16 Tipo de controlo a seleccionar no campo PARAM CONTROLON Tipo de Controlo sobre as juntas Designa o PARAM CONTROLON Sem Controlo de primeiro nivel NO CONTROL 0b00 Controlo de Centro de Press o COP CONTROL 0601 Controlo de Inclina o INC CONTROL 0b10 Controlo de velocidade angular GIRO CONTROL 0b11 De notar que a actua o feita directamente s tr s juntas componentes numa nica mensagem mas com a desvantagem de apenas se poder actuar num par metro cada vez posi o final velocidade m dia ou um par metro do controlador Respostas aos comandos Master gt PC 35 Na resposta o Master responde com uma mensagem de 7 bytes cuja estrutura a seguinte e SOF possui o valor MESSAGE SUCESS OxFB no caso de uma resposta com sucesso e OpCo
56. XF4 t Acceptance Filter Acceptance Filter RXF1 RXF5 a lp Data and Data and identifier Identifier Identifier Message Assembly Buffer Fig 19 Registos associados mascara e filtragem 55 Para o nosso caso em concreto de acordo com a estrutura do identificador enunciado anteriormente a m scara a definir cobrir os bits do endere o destinat rio e do index do pacote ou seja possuir o seguinte padr o bit 10 9 amp 7 6 5 4 3 2 1 bit O Source address Destination address Index Operation 0 0 0 0 1 1 1 1 1 0 0 Mascara a aplicar ao identificador De seguida definir se o dois filtros de modo a aceitar unicamente as mensagens cujo endere o destino corresponda ao pr prio SCU e destes redireccionar os de index O primeira mensagem para o buffer de recep o 0 e os de index 1 segunda mensagem para o buffer de recep o 1 Tabela 25 Redirec o dos pacotes Registos a configurar Padr o RXFO 0000 a3 a a a0 00 Buffer 0 RXF1 00003 a a 9000 RXF2 0000 a3 a a a 100 RXF3 0000 a a a a 1 00 Buffer 1 RXF4 0000 a a a a 1 00 RXF5 0000 a a a a 100 Tabela 25 Configura o dos filtros para redireccionamento de pacotes para os dois buffers de recep o padr o a3 a2 al a0 endere o do SCU Desta forma redireccionando cada uma das duas mensagens para um buffer part
57. a CoM CoM e ol a Tan Com o Ja Faz Las 0 CC Cas gt dCoM dCoM aCoM dCoM i hz ja a SS Ss Eu a Ja Jaa Ca 13 Ss 4 Sat 00 dd 06 E a sua transposta por 0CoM dCoM dCoM T l G Gi ts Ja Ja 5a CC 3 5523 0 96 35 Cza Sas 1 x aCoM CoM CoM A Ja A s a N m a 13 23 J 33 Concluindo as varia es angulares a aplicar s o determinadas da seguinte forma F AG Ka Ca O CC Cof Cofres az Ka 55 CC23 S533 a x Cop Copmet Ky 53 1 C23 523 Co pref Copmed AG K Ja hz hs EcoPx pps K2l Va fa Ja x fcory K3 31 Jaz Jaz L copz Ag K Ua copx Jaz copy tha copz Ad K Us copx Ja2 copy Joa copz Ad Ka Usa Ecorx laz Ecopy Isa copz Dado que o erro do CoP na componente zz n o tem significado este par metro n o ser considerado pelo que AG Ky hi hz ha EcoPx AG K2 Vo foz Joa x i 0 Kal Wa Ja Ha 82 Pela an lise a estas express es a terceira coluna do Jacobiano transposto deixa de ser utilizada pelo que a matriz aa na forma u Ja CCaz Cy 0 0 lia Ja 5523 51 0 13 ba So3 54 E 0 2 3 Controlo de Altura No entanto al m do centro de press o torna se igualmente importante o controlo da altura da anca para efeitos de estabiliza o da cintura ao longo dos processos de locomo o Por isso para as coordenadas x e y seria
58. a manipula o dos buffers da USART rear 64 Tabela 30 Fun es de constru o da mensagem de resposta para uso da Rotina de Servi o Interrup o 64 Tabela 31 Fun es de alto n vel para troca de mensagens Via CAN eres 64 Tabela 32 Device drivers da comunica o CAN cee ceeceseceseceseceseeeseeeeneeeseeeseecsaecsaecsaecaeceaecsseeeseeeneeeneeeees 65 Tabela 33 Fun es presentes no m dulo GLOBAL eee ceecceeeceeeeeeeeeeseeeseecaeecsaecsaeceaeceaeesseeseeeseeeeneees 65 Tabela 34 Tipos de vari veis definidas no m dulo TYPES errar 65 Tabela 35 Rotinas do m dulo PIC2 respons veis por gerir as comunica es CAN 66 Tabela 36 Fun es de alto n vel para troca de mensagens via CAN rea 67 Tabela 37 Capacidade de detec o dos momentos de Impacto para v rios cen rios 101 I INTRODU O Resumo Neste trabalho pretende se continuar o desenvolvimento de estrat gias e algoritmos de controlo usando os sensores de for a presentes nos p s bem como uma revis o de toda a arquitectura de comunica es de modo a permitir a troca eficiente de informa o entre todos os n s Este robot compreende 22 graus de liberdade com o peso e as dimens es adequadas participa o no concurso RoboCup mundial modalidade human ide Espera se que os frutos deste trabalho contribuam para tal ambi o 1 INTRODU
59. ais inst vel o seguimento de traject ria Por observa o o per odo de 4 segundos aparenta ser o melhor para a execu o de traject rias rectangulares 125 CoP y K Kp Kjacobiano 0 0 30 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Cinematica directa da anca 100 mi RR e BO 40 20 0 20 CoP x K1 Kp K acobiano 7 40 30 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Cinematica directa da anca 100 aa nee a 80 80 100 T R E ge Se ee ee BO 40 20 0 20 40 60 CoP x CoP y Ky Kp Kjacobiano 5 40 30 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Cinematica directa da anca 40 60 60 40 20 0 20 CoP x K Kp Kjacobiano 10 40 30 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Cinematica directa da anca CoP y 60 40 20 0 20 40 60 CoP x Fig 75 Resposta a 10 voltas de uma traject ria rectangular para v rios par metros do controlador local Sem Controlo Local Ky Kp K jacobiano 0 0 50 Com Controlo Local Ky Kp K jacobiano 5 40 50 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Cinematica directa da anca Trajectoria medida do CoP Trajectoria prevista do
60. aliza o dependendo se se trata de uma opera o de consulta sensorial ou de actua o respectivamente A base de dados dividida em dois conjuntos de dados principais uma para a informa o sensorial e outra para a de actua o Esta base de dados que pode ser visualizada na p gina seguinte descreve o estado do sistema completo para todos os 8 slaves A sec o sensorial descreve o estado do sistema Tabela 17 as posi es velocidades estimadas e correntes drenadas fornecidas pelos potenci metros dos tr s servomotores bem como tamb m a sa da dos sensores que eventualmente possam estar conectados via piggy back a cada unidade slave J a base de dados de actua o representada por duas estruturas uma indicando o estado de aplica o dos sinais de PWM sobre os servomotores e os par metros de compensa o do controlador local e de primeiro n vel e a outra com os valores de refer ncia dos mesmos compensadores Houve necessidade de duas estruturas em vez de uma s por quest es de limita o de mem ria dos microprocessadores PIC que n o permitem que cada estrutura de dados fa a a transposi o de um banco de dados para o outro o PIC18F258 possui a mem ria segmentada em 16 bancos de 256 bytes cada um Como solu o definiram se duas estruturas colocando cada uma num banco diferente atrav s do pragma varlocacate no ficheiro header h indicando aos m dulos exteriores a localiza o dos dados e udata no fi
61. ansmiss o e Recep o de Mensagens 58 3 5 Unidades Slave 59 A Algoritmo de Troca de Mensagens 59 B Transmiss o e Recep o de Mensagens 60 C Base de Dados Local 60 SOFTWARE NAS UNIDADES MICROCONTROLADORAS 63 4 1 Unidade Master 63 4 2 Unidades Slave 66 PROBLEMAS REPORTADOS 69 CONCLUSOES 70 LOCOMO O BASEADA EM SENSORES DE FOR A 71 INTRODU O 73 1 1 Os sensores de For a 73 1 2 Estrutura do P 73 1 3 Condicionamento de Sinal 74 1 4 Processamento do Sinal pelo Microcontrolador 76 1 5 C lculo do Centro de Press o CoP 77 O CONTROLADOR DE EQUIL BRIO 79 2 1 Introdu o 79 5 IV Pr WI ie cm 2 2 2 3 2 4 Controlo do Centro de Press o 79 Controlo de Altura 83 Estudos Experimentais 85 ESTUDO DO IMPACTO DO PE SOBRE O SOLO 3 1 3 2 3 3 3 4 A 2 3 5 3 mon gt Introdu o 87 87 Setup Experimental 87 Controlo da Perna 88 Impacto do P com Todos os Motores Ligados 91 Descida do P 91 Subida do P 93 Impacto do P com os seus Motores Desligados 95 Descida do P numa Superf cie Regular 95 Descida do P contra um Objecto cobrindo os Sensores Dianteiros 1 e 2 97 Descida do P contra um Objecto cobrindo os Sensores Traseiros 3 e 4 98 Descida do P contra um Objecto cobrindo os Sensores da Esquerda 1 e 3 Descida do P contra um Objecto cobrindo os Sensores
62. bra o inicial dos sensores de for a como posicionada manualmente por interven o humana nunca se garante duas posturas exactamente iguais pelo que ocorrem sempre diferen as no centro de gravidade inicial Mesmo efectuando o posicionamento atrav s dos servomotores os esfor os envolvidos em cada experi ncia fazem com que a correia de transmiss o sofra fadiga ou o pr prio eixo do servo adquira desfasamentos pelo que este problema ocorrer sempre e Assimetria ao n vel da electr nica de instrumenta o note que para cada extens metro um circuito de acondicionamento utilizado pelo que se aplicarem componentes de baixa qualidade podem se registar varia es no seu comportamento medida que a temperatura vai aumentando Al m disso se existirem liga es n o suficientemente seguras no PCB o movimento da perna pode provocar oscila es nos sinais el ctricos e A baixa qualidade dos potenci metros multi volta usados na electr nica de instrumenta o para ajuste dos offsets na tens o de sa da requer o seu reajuste constante o que constitui um s rio problema tendo em vista a necessidade de autonomia do robot e Modifica o acidental da deforma o inicial das placas de acr lico motivado por alguns acidentes de trabalho que for am o deslocamento dos parafusos de fixa o 130 e poss vel tamb m que a rela o deforma o for a aplicada varie ao longo do tempo V rias observa es registaram
63. bra o por software Embora os motivos resultantes de desgaste e precis o possam ser resolvidos pela adop o de materiais e componentes de boa qualidade o problema agrava se no que respeita aos procedimentos de calibra o Como se sabe no momento da inicializa o do sistema os sensores de for a dos p s j possuem uma determinada for a aplicada sobre eles resultante da massa da estrutura superior do p da perna e do restante corpo se presente Estas condi es inicias s o desconhecidas e ao fixar este valor em 128 est se a pressupor que um acr scimo de 10 unidades na for a estimada corresponde a um acr scimo de 7 8 na for a absoluta o que pode n o ser verdadeiro Pelo contr rio se definirmos o valor refer ncia como 50 o mesmo acr scimo de 10 unidades j corresponde a um acr scimo de 20 na for a absoluta Tudo depende da sensibilidade das placas de acr lico e do peso aplicado inicialmente Embora a sensibilidade seja praticamente constante entre as v rias placas no que respeita ao peso inicial tal j n o verdade repare que com a postura vertical da perna mais peso aplicado no par de sensores traseiros dada a presen a de um servomotor nessa posi o O mesmo tamb m se verifica relativamente a um dos pares de sensores laterais devido assimetria do eixo de rota o lateral do p em rela o ao centro do mesmo Ou seja dois problemas surgem e O valor inicial da for a absoluta desconhecido e
64. caliza o f sica est o continuamente em mudan a A Fig 78 visualiza o problema descrito com duas experi ncias executadas em instantes de tempo diferentes mantendo iguais os ganhos de compensa o coordenadas refer ncia do CoP e per odo de execu o 30 05 2007 23h00 31 05 2007 9h30 Trajectoria medida do CoP Trajectoria prevista do CoP Cinematica directa do joelho Trajectoria medida do CoP 100 a f f 100 Trajectoria prevista do CoP MEA directa da me Cinematica directa do joelho 80F Cinematica directa da anca 80 60 60 40 40 20 20 So o 0 o 20 20 40 60 60 80 80 100 100 Fig 78 Duas experi ncias realizadas em diferentes momentos com iguais par metros de controlo Esta variabilidade de comportamento dificulta em grande parte a constru o de um algoritmo que permita fazer a correspond ncia da localiza o espacial do centro de gravidade com as coordenadas do centro de press o calculadas sec o II 1 5 Por estas raz es ainda n o poss vel indicar uma lei de correspond ncia entre estas duas grandezas o que possibilitaria um dia mais tarde indicar as coordenadas espaciais desejadas da anca e o firmware presente nos microcontroladores calcularia o centro de press o refer ncia a aplicar ao respectivo controlador 128 5 CONCLUS ES Neste cap tulo foram feitos v rios estudos no que concerne execu o de traject rias por par
65. ceiveMessagel Leitura de um pacote no buffer de recep o 1 M dulo GLOBAL M dulo com a defini o da base de dados com os dados de actua o e sensorial de todos os SCUs da arquitectura estruturas descritas na sec o II 2 4 C Tabela 33 Fun es presentes no m dulo GLOBAL Fun es Descri o initGlobal Inicializa o de toda a base de dados para os valores origem initSensors Inicializa o somente da base de dados sensorial initActuators Inicializa o somente da base de dados de actua o M dulo TYPES M dulo com a defini o de tipos de vari veis extra para uso nos restantes m dulos Eles s o Tabela 34 Tipos de vari veis definidas no m dulo TYPES Tipo de vari vel Descri o bool Tipo booleano true ou false tipo enumerado byte Tipo inteiro de 8 bits sem sinal unsigned char word Tipo inteiro de 16 bits sem sinal unsigned int dword Tipo inteiro de 32 bits sem sinal unsigned long M dulo P18F258 Biblioteca com a defini o de todos os registos e bits correspondentes do PIC 18F258 para o seu controlo ver datasheet da Microchip PIC18F258 65 4 2 Unidades Slave A Fig 23 apresenta as rela es de inclus o entre os v rios m dulos de software da unidade slave Os m dulos a verde s o iguais aos utilizados na unidade master pelo que dispensam apresenta es Quanto aos m dulos a vermelho n o est o relacionados com
66. cheiro c para aloc los efectivamente no banco desejado Como j foi referido cada comando de solicita o apenas consulta ou actualiza esta base de dados n o representando uma interven o directa sobre as v rias unidades slave Tal procedimento permite que a troca de mensagens s rie opere m xima velocidade dado que n o necess rio comunicar com mais nenhuma unidade Quanto entrega efectiva dos dados entre o master e os slaves da responsabilidade da comunica o CAN que garante que os par metros de actua o s o entregues s diversas unidades slave com um determinado ritmo peri dico bem como a actualiza o da base de dados com os dados sensoriais correctos para o instante Dado que o per odo de PWM aplicado aos servomotores de 20ms e que apenas tem interesse actualizar os par metros de actua o e sensoriais uma vez dentro deste per odo para garantir alguma seguran a na actualiza o dos mesmos definiu se um per odo de troca de informa o master slave de 1 ms fazendo com que para 8 slaves ao fim de 8 ms todas unidades locais possuam os seus par metros locais actualizados Desta forma garante se que para cada per odo de PWM a base de dados global no master e a local em cada slave sejam actualizados duas vezes de modo a incluir alguma redund ncia no caso de falha espor dica na entrega de mensagens Estrutura sensorial Estrutura descritiva dos sensores typedef struct byte sysStatus E
67. come a a ocorrer varia o da sa da destes sensores associando se obviamente ao momento inicial do impacto contra o solo Tendo em conta que medida que a perna se aproxima da postura vertical a estrutura sobe impondo uma for a crescente sobre o p o processo de deflex o termina para t 1 4s quando a estrutura fica em modo estacion rio A partir deste ponto a perna fica est tica com uma for a semelhante aplicada sobre cada sensor Contudo os sensores n o reflectem semelhan a nas for as aplicadas aos quatro sensores revelando uma maior for a sobre o sensor 2 direito dianteiro seguido do 4 direito traseiro e finalmente o 1 esquerdo dianteiro e o 3 esquerdo traseiro Esta informa o um tanto contradit ria uma vez que a perna se encontra na postura vertical sobre o p horizontal perfeitamente assente no solo Tal indica que a sensibilidade dos quatro sensores difere por alguma raz o Analisando a estrutura do p verifica se algumas assimetrias que podem estar relacionadas com este efeito e O servomotor de controlo da junta ortogonal encontra se sobre a parte traseira do p ao contr rio da parte dianteira que n o possui qualquer componente a parte traseira possui um maior peso associado e FE o eixo que permite o deslocamento de rota o lateral do p n o est centrado sobre a base do p mas ligeiramente para a direita conferindo uma maior for a aplicada sobre os sensores da direita Tendo em conta que a assi
68. compromisso derivado do dilema reactivade ru do necess rio para um bom equil brio i Previsto 20 PY is N t A k i dedo ae en ete ArT E ANY Medido XX a 10 20 30 40 50 60 70 80 t Coordenadas Cartesianas cm Joelho XX 122 Previsto Medido 100 10 20 30 40 50 60 70 80 t Erro do CoP 40 T T T T T T T E TRE E eee E ea ces See ee eee eee ee aoe FORNE AA JJ gt 0 F i or TOA TS 9 Ee bees A A AE a t 7 AR f 4 Fig 71 Traject ria rectil nea ao longo dos eixos xy Per odo 2s e K 50 4 6 Execu o de Traject rias El pticas pela Perna de Suporte Executando traject rias el pticas especificando v rios pontos de passagem segundo um formato el ptico e com uma dura o temporal entre cada par podemos visualizar a resposta do sistema na Fig 72 Pode se confirmar mais uma vez a superior sensibilidade ao ru do por parte da componente yy Force Error Fig 72 Varia o do CoP ao longo do percurso el ptico componentes x azul e y verde em compara o com o real e o respectivo erro 123 Um pormenor interessante a observar na Fig 72 o facto do erro na componente xx ser m ximo quando o CoP se encontra nas extremidades do p componente yy nos extremos Efectuando uma an lise espacial em vez de temporal podemos ver esta anomalia mais evidentemente na Fig 73 e na Fig
69. ctualmente podem ser de quatro origens diferentes 19 Potenci metros internos aos servomotores indicativos da sua posi o Extens metros presentes na base de cada p para medi o da for a aplicada para posterior c lculo do Centro de Press o exercido Aceler metros inclin metros que pela medi o da acelera o da gravidade em duas componentes ortogonais medem a inclina o do objecto onde se encontram localizadas Girosc pios para medi o da velocidade angular para compensa o das for as din micas exercidas sobre o robot Estes valores s o convertidos e registados localmente em cada unidade slave sendo depois enviados via CAN para o controlador Master Os Slaves est o preparados tamb m para receber mensagens via CAN Estas mensagens consistem basicamente nos dados de actua o a aplicar sobre cada unidade local Posi es finais que os actuadores t m de tomar Velocidade a que t m que se mover at atingir a posi o final Tipo de controlador em ac o sobre as tr s juntas Par metros de compensa o para os algoritmos de compensa o Flags booleanas de controlo ex PWM activados O controlador master tem a tarefa de receber a informa o enviada pelos slaves via CAN e regist la para que esteja dispon vel para ser enviada para a unidade central de controlo quando solicitada Este controlador mant m por isso uma representa o do estado actual das juntas actuadores e sensores que disponibi
70. da Direita 2 e 4 99 100 Conclus es 101 LOCOMO O ATRAV S DO CONTROLO DE COP 4 1 4 2 A B 4 3 A B C 4 4 A B C 4 5 A B C 4 6 4 7 Introdu o 105 105 Controlo do CoP Refer ncia 105 Fun es B sicas 105 Fun es Gr ficas 105 An lise Est tica do CoP Refer ncia 107 Varia o do CoP no eixo xx 107 Varia o do CoP no Eixo yy 109 Varia o do CoP no eixo xy 110 An lise Din mica do CoP Refer ncia 111 Varia o do CoP no Eixo xx 112 Varia o do CoP no Eixo yy 113 Varia o do CoP no Eixo xy 114 Execu o de Traject rias Rectil neas pela Perna de Suporte 119 Traject ria ao longo do eixo xx 119 Traject ria ao longo do eixo yy 120 Traject ria ao longo dos eixos xy 122 Execu o de Traject rias El pticas pela Perna de Suporte 123 Execu o de Traject rias Rectangulares pela Perna de Suporte 125 Conclus es NOTAS FINAIS CONCLUS ES FINAIS DOCUMENTA O ADICIONAL BIBLIOGRAFIA AGRADECIMENTOS 129 133 135 137 139 141 NDICE DE FIGURAS Fig 1 QRIO Sony Asimo Honda e KHR 3 Hubo Lab ee erereereerenreeaas 11 Fig 2 Modelo 3D do robot e implementa o actual oonoconnncconcnoccconnnonnnonnnonnnnnn ccoo nono nc nono nono conan nccnn nana ncnnnannss 14 Fig 3 Arquitectura distr
71. de atingir um determinado CoP refer ncia que tanto pode ser o centro do p se apenas pretendemos garantir a postura vertical ou ent o outros valores de modo a conferir alguma din mica ao sistema A Fig 33 apresenta um diagrama com a descri o dos controladores envolvidos Ap s a leitura dos sensores de for a o c lculo do Centro de Press o executado que por compara o com o Centro de Press o desejado CoP yet a varia o de posi o a aplicar a cada junta do p e da perna determinado Esta varia o v n adicionada posi o actual de cada junta obtendo assim o valor absoluto da posi o u n Finalmente o controlador local usado para assegurar a aplica o da posi o calculada p n Software Servos da Perna 3 Posi o dos Servos Sensores de For a 4 For as de reacg c Fig 33 Diagrama com os controladores aplicados para a compensa o de equil brio 2 2 Controlo do Centro de Press o De modo a permitir a utiliza o de todas as juntas da perna nomeadamente a ortogonal e a paralela ao p e a do joelho utilizou se a matriz Jacobiana para o efeito que al m dessa possibilidade tamb m permite um maior rigor no c lculo da varia o angular a aplicar transforma o das coordenadas cartesianas do CoP para coordenadas angulares dos servos Sabendo que a matriz Jacobiana corresponde derivada do centro de massa em fun o das posi
72. de opcode utilizado pela mensagem original PC Master e Data 1 4 dados sensoriais no caso de um pedido de consulta sensorial e BCC Valida o da mensagem byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 OpCode Formato geral de uma mensagem de resposta Master PC Esta estrutura geral e pode assumir v rias formas de acordo com a opera o envolvida gt No caso de uma opera o de actua o OP APPLY os bytes 2 5 possuem o mesmo valor que a mensagem original com o sexto byte nulo gt Numa leitura sensorial OP READ SENSORS o byte OpCode igual da mensagem original com os bytes Data 1 4 contendo a informa o sensorial pedida Se os dados sensoriais concernem aos servomotores tr s bytes s o utilizados para conter a informa o relativa a cada um deles e o ltimo utilizado para transmitir informa o de status do SCU em causa Se concernem aos sensores especiais s o utilizados todos os quatro bytes para conter a informa o de um dos conjuntos dos sensores sensores de for a de um p inclin metros ou girosc pios gt Se for solicitada a leitura do buffer externo do master OP READ EXTBUFF o estado do barramento CAN percepcionado pelo master devolvido O formato das mensagens de resposta descritos apresentam se de seguida significa que o byte o mesmo do da mensagem de solicita o byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 EEE e M Mensagem de actua o aplicada co
73. de calibra o da ponte de Wheatstone ooooconccnoccconcconnnonnnnnnnnnnnnnnncnnnc nn nono nono no cono cnnncnnnannnannss 15 Fig 31 Perna completa sobre um p sens vel a for as ir nono nn non nc cn nncnnncnnnannnannss 15 Fig 32 Projec o do Centro de Massa na situa o de equil brio 78 Fig 33 Diagrama com os controladores aplicados para a compensa o de equil brio 79 Fig 34 Modelo da perna human ide com a associa o das diversas vari veis de interesse 80 Fig 35 Setup experimental para movimenta o da perna com a anca fIKA eee esse cesecesecnteceeeeeseeeseeeeeeeees 87 Fig 36 Interface gr fica para selec o da posi o da base do p rea 88 Fig 37 Representa o da Perna ap s a mudan a de referencial errar 89 Fig 38 Medi o dos sensores de for a durante a descida do p contra o SOlO oooccnnconoccnococonoconaconncnananananns 91 Fig 39 M dia aritm tica dos sensores de for a durante a descida do p 92 Fig 40 Consumo de corrente por parte dos servomotores durante a descida do p 93 Fig 41 Medi o dos sensores de for a durante a subida do p a partir do solo u222020nesnneenneenennnnn 94 Fig 42 M dia aritm tica dos sensores de for a durante a subida do p uursuersneesnnesnnesnnesnnennneennnnnn 94 Fig
74. de modo a evitar ao m ximo as diferen as de comportamento entre as v rias placas 5 Na suposi o de que a din mica das quatro placas de acr lico diferirem entre si pode existir uma segunda causa para o efeito al m de supostas varia o na estrutura molecular Na aus ncia de qualquer for a sobre a perna s placas de acr lico atribu da uma deforma o inicial atrav s de parafusos de fixa o que interligam as plataformas inferior e superior do p Embora tenha j sido demonstrado que qualquer que seja a deforma o inicial a for a aplicada proporcional deforma o observada ainda n o se garantiu que a rela o entre estes dois par metros seja independente desta deforma o inicial Empiricamente parece fazer sentido que esta rela o n o seja independente pois quanto maior for a deforma o no momento da calibra o aparentemente menor ser o seu acr scimo na aplica o de uma determinada for a quando comparada a outros casos Como existem quatro parafusos de fixa o um para cada sensor e como estes parafusos s o ajustados manualmente o controlo no ajuste da deforma o inicial praticamente inexistente pelo que ser de esperar respostas um tanto desiguais por parte de cada sensor afectando obviamamente a resposta a resposta do controlador 6 Tamb m a forma como os parafusos de fixa o est o montados pode causar algumas anomalias Pode ser observado que um parafuso liga as duas platafo
75. denada nula postura vertical mas para pontos mais distantes perna com maior inclina o a curva arqueia assemelhando se fun o arco seno Tal comportamento deve se gravidade que atribui uma maior in rcia ao movimento nos pontos mais inclinados A componente y apresenta igualmente flutua es desprez veis tal como o esperado 107 CoP medida CoP medida o 20 40 CoP medido x YS CoP rel CoP refer ncia CoP medido x YS CoP rel y CoP refer ncia CoP medida CoP medida CoP medido y VS CoP rel CoP refer ncia CoP medido y VS CoP rel y 2 1 E EN AE A Al A att tm AAA ss ee eee A eee eee een ge ne ee eee een 3 aes E capas stot a lee 1 CoP refer ncia Fig 56 Rela o entre o CoP medido e o actuado para 30 passos ao longo do eixo xx Posi o cm Posi o cm Coordenada x WS CoP ref x CoP actuado Posi o cm Posi o cm CoP actuado Coordenada y VS CoP ref y Joelho Anca CoP actuado Fig 57 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo xx 108 B Varia o do CoP no Eixo yy Efectuando a mesma experi ncia mas agora realizando 32 passos ao longo do eixo yy CoP 0 30 0 0 34 0 obtiveram se os dados da Fig 58 e Fig 59 Como se pode comprovar o comportamento muito semelhante ao observado na experi ncia an
76. desses estudos agora examinando os seguintes fen menos e Impacto do p sobre o solo por parte da perna livre e Execu o de traject rias da perna de suporte por manipula o do Centro de Press o refer ncia 85 3 ESTUDO DO IMPACTO DO P SOBRE O SOLO 3 1 Introdu o Pretende se que a locomo o siga algoritmos o mais din micos poss veis que sejam adapt veis a irregularidades presentes no solo bem como a perturba es que possam ser aplicadas sobre a estrutura human ide Cada passo realizado pelas pernas envolvem o movimento da perna livre terminando com o impacto do seu p sobre o solo Como existe a possibilidade de o solo n o ser perfeitamente plano desconhece se com rigor o momento deste impacto podendo ocorrer antecipadamente ao momento previsto bem como tamb m posteriormente Devido a tal decidiu se prosseguir com o estudo de um m todo que permita a gera o de um evento por parte da unidade de controlo presente na perna livre que indique unidade central que o p atingiu o solo e que se encontra perfeitamente adaptado a ele permitindo desta forma sinalizar mesma unidade que pode prosseguir com o seguinte passo no processo de locomo o tornando a perna livre na de suporte e o inverso na outra perna Este cap tulo prop e a an lise do cen rio de impacto sobre o solo bem como a indica o de poss veis m todos permitam a autom tica detec o destes eventos e a sua sinaliza o unidade p
77. diferen as de comportamento por parte dos sensores ap s v rias horas de funcionamento mas no dia seguinte as condi es iniciais voltavam a ser repostas Note que isto acontecia quando movimentos intensivos sobre o p eram executados pelo que pode ocorrer alguma fadiga por parte da estrutura molecular do acr lico Infelizmente esta suposi o n o pode ser verificada uma vez que a realiza o de traject rias durante um per odo de amostragem suficientemente extenso implica a presen a constante de um observador dada a instabilidade inerente ao sistema Tendo em conta estes problemas apontados sugere se a reconstru o do prot tipo seguindo as seguintes recomenda es e Adop o de extens metros de alta qualidade com o m ximo de similaridade entre eles e Utiliza o de acr lico com caracter sticas bastante homog neas e resistente fadiga de modo a minimizar a varia o do seu comportamento ao longo do tempo e Utiliza o de montagens parafuso porca em todos os pontos de fixa o das plataformas do p para homogeneiza o da resposta sensorial e Adop o de potenci metros de alta qualidade no que respeita a folgas mec nicas e depend ncia com a temperatura para minimizar a necessidade de reajuste do offset das tens es de sa da da electr nica de acondicionamento sensorial e Uso de PCB s de qualidade com liga es bastante seguras para garantir a estabilidade dos sinais el ctricos bem como a montag
78. dom nio da recupera o de erros Na recep o de um pacote que passe a m scara e um dos dois filtros o seu conte do carregado no buffer associado ao seu index n Os procedimentos a seguir descritos devem se aplicar relativamente a esse buffer Verifica o da recep o de uma mensagem inv lida atrav s da flag PIR3bits IRXIF Confirma o da utiliza o do buffer n atrav s da flag RXFULL Reposi o do interrupt flag associado ao buffer n PIR3bits RXBnIF a zero Transfer ncia do buffer n para o Acess Bank Area de modo a se poder aceder a ele a partir de qualquer banco de mem ria Para tal deve se definir a janela de endere amento de acordo com o buffer em uso window address bits 5 Verifica o da ocorr ncia de overflow 6 Leitura do identificador do pacote 7 Valida o do comprimento de dados recebidos 8 9 1 SS Leitura dos dados Liberta o do buffer n pela recoloca o da flag RXFULL a zero 0 Reposi o da janela de endere amento para o seu valor original Transmiss o de um pacote usando o buffer n Verificar se o buffer n est pronto para transmiss o TXBnCONbits TXREQ deve ser zero Clear do interrupt flag associado ao buffer n IXBnIF Defini o da janela de endere amento para o buffer de transmiss o n Defini o do identificador Defini o do comprimento do pacote 8 bytes Defini o do conjunto de dados a enviar Activa o da transmiss o do buffer n TXREQ 1
79. dos luz das conclus es enunciadas A Tabela 37 descreve a capacidade de detec o do momento de impacto inicial e total para cada cen rio poss vel Localiza o da Impacto Inicial Impacto Total irregularidade N o existe me 7 Tom ie hl Pate ahi i F cil de detectar gra as elevada Traseira Dif cil de detectar devido baixa in rcia E a E E sensibilidade dos sensores da direita Dianteira Relativamente f cil de detectar gracas Esquerda F cil de detectar devido elevada in rcia elevada sensibilidade dos sensores da direita hn ih Facil de detectar devido a elevada in rcia e Dificil de detectar devido a baixa Direita ee pets elevada sensibilidade dos sensores envolvidos sensibilidade dos restantes sensores Tabela 37 Capacidade de detec o dos momentos de Impacto para varios cen rios A Fig 49 at Fig 53 exemplificam o que foi descrito na Tabela 37 Estes gr ficos s o baseados nas experi ncias discutidas na sec o III 3 5 e visualizam a varia o do sinal m dia mais precisamente a diferen a do sinal em cada instante com o de 0 2s atr s para cada cen rio 101 Varia o da m dia dos sensores de for a Fig 49 Varia o da M dia na aus ncia de irregularidades Variagao da m dia dos sensores de for a Varia o da m dia dos sensores de for a Fig 50 Varia o da M dia com irregularidade na Fig 51 Varia o da M dia com irregularidade
80. dos procedimentos efectuando o c lculo das configura es que as juntas tem de adoptar em fun o dos valores dos sensores e A unidade Master mestre tem como principal tarefa distribuir os comandos provenientes da unidade principal pelas diversas unidades locais slaves bem como direccionar os dados sensoriais provenientes dos slaves para a unidade principal e As unidades Slave escravo cujas principais fun es s o a gera o da onda de pulso modulado PWM de controlo dos servomotores e a aquisi o dos sinais dos diversos sensores da plataforma Entre os diversos n s s o utilizados como meios de comunica o e Linha s rie ponto a ponto baseada na norma RS 232 entre a unidade central e a unidade Master acesso ass ncrono byte a byte a um baudrate de 115200 bps e CAN Controller Area Network entre a unidade master e as unidades slave utilizada a vers o fullCAN 2 0A a uma taxa de transmiss o recepg o de 1Mbps A unidade central de controlo ainda n o est completamente definida permanecendo em aberto solu es baseadas em PDA placas de controlo gen ricas como as baseadas no padr o PC104 ou placas de controlo dedicadas Fig 4 Por enquanto utilizado um PC externo com recurso ao software MatLab para enviar e receber dados por uma linha s rie para o controlador master Para as unidades de controlo local master slave a escolha recaiu sobre os microcontroladores PIC da s rie 18F da Microchip PIC18F258
81. e evita se a perda de informa o caso ocorra overflow pois apenas o buffer cuja informa o equivalente nova mensagem index igual substitu do Transmiss o e Recep o de Mensagens Finalmente tamb m necess rio configurar a forma como as mensagens ser o transmitidas e recebidas Para a recep o necess rio definir a recep o de apenas pacotes v lidos cujo identificador segue o formato da vers o CAN 2 04 ou seja de 11 bits e deve se assegurar que o overflow do buffer O para o buffer 1 est desactivado dado que estamos a usar um buffer para cada ndice de mensagem Finalmente devemos colocar o bit RXFULL de cada buffer a zero para a sua abertura recep o de novas mensagens verificando tamb m se o interrupt flag associado est desligado Para a transmiss o os identificadores das mensagens dever o estar de acordo com o formato standard ou seja dever o possuir 11 bits de comprimento e necess rio definir prioridades para cada um dos tr s buffers para defini o da ordem de transmiss o no caso de v rios agendamentos simult neos Por quest es de similaridade de comportamento tamb m se reservar um buffer de transmiss o para cada tipo de mensagem fazendo apenas uso de dois buffers O buffer O utilizado para as mensagens de index O possuir a m xima prioridade e o buffer 1 possuir a prioridade m nima Tabela 26 Buffer Pacotes associados Prioridade Registos Buf
82. e a 1 para a velocidade rx error errorstr applyjoint H scu_id param servos Tabela 13 Syntax da fun o applyjoint na defini o posi o refer ncia e da velocidade Par metro a controlar Syntax da fun o Refer ncia rx error errorstr applyjoint H scu id 0 servos Velocidade rx error errorstr applyjoint H scu_id 1 servos A velocidade indicada atrav s da dura o da traject ria em ciclos de 20ms per odo de PWM pelo que se pretender uma dura o de 2s o valor 100 deve ser dado No que respeita posi o refer ncia este par metro depende do controlador de primeiro n vel em ac o A Tabela 11 refere a rela o entre o par metro de actua o dado nesta fun o e o controlador activo Por isso antes da defini o deste valor necess rio seleccionar previamente o controlador atrav s da fun o applycontrol e s depois modificar este par metro usando a fun o applyjoint O mesmo tamb m se aplica velocidade podendo definir se valores diferentes de posi o e velocidade para cada controlador a mudan a do controlador carrega automaticamente os valores utilizados na sua utiliza o anterior Para a defini o de uma traject ria de inclina o primeira junta do slave 1 at 40 segundo uma dura o de 2s deve se efectuar o seguinte conjunto de passos 1 Seleccionar o controlador de inclina o rx error errorstr applycontrol H 1 0 0 0 0 2 Verificar se
83. e ligadas Este barramento tamb m se interliga a uma unidade mestre master que por sua vez est conectada unidade principal neste caso um PC que respons vel por enviar os comandos de actua o e de leitura sensorial a cada unidade local Deste modo cada unidade tem uma fun o espec fica deslocalizando assim da unidade principal todas as tarefas de controlo dos servomotores e de distribui o das mensagens entre os diversos slaves Implementando os protocolos de comunica o tanto s rie entre o PC e o master como o CAN entre o master e os slaves seguindo a metodologia de funcionamento enunciada a fiabilidade das comunica es revelou se bastante boa com a troca de mensagens velocidade m xima poss vel e sem a detec o de corrup o de dados ou de atrasos excessivos na sua entrega Como interface utiliza se o software MatLab na unidade principal PC para fazer a interface uma vez que oferece uma linguagem de alto n vel e intuitiva para programa o das sequ ncias de comandos a aplicar nas juntas e tamb m para monitorar os sinais de sa da ver sec o II 2 1 70 III LOCOMO O BASEADA EM SENSORES DE FOR A Resumo Este cap tulo pretende explorar os sensores de for a presentes na base dos p s para a realiza o de traject rias espec ficas por parte da perna de suporte Deste modo abrange se a utilidade destes sensores que al m de poderem garantir o equil brio est tico da estrutura human
84. e os motores 59 CAN INT Sim Processamento da Enviar Mensagem p RX Buffer Mensagem de actua o O sensorial O Processamento da Mensagem de actua o 1 Enviar Mensagem sensorial 1 RETURN Fig 21 Algoritmo de troca de informa o pelo CAN no Slave B Transmiss o e Recep o de Mensagens Do ponto de vista de cada slave todas as mensagens a enviar s o de car cter sensorial e todas as recebidas s o de actua o pelo que no ltimo caso escusado o processamento do identificador excepto para o conhecimento do index da mensagem O endere o origem MCU endere o destino o pr prio e da opera o apenas s o verificados para efeitos de teste do correcto funcionamento da troca de mensagens Envio de uma mensagem de car cter sensorial 1 Constru o do identificador com base no index da mensagem endere o origem destino e opera o conhecidos 2 Construir o array de dados a enviar de acordo com o index da mensagem a partir dos dados sensoriais obtidos directamente 3 Enviar a mensagem identificador array de dados pelo buffer de transmiss o adequado ao index Recep o de um pacote de actua o 1 Obten o do identificador e do array de dados da mensagem recebida 2 Actualiza o dos actuadores de acordo com o index da mensagem No caso das unidades slave dispensa se o processamento de erros uma vez que se pretende reduzir a
85. ecu o de Traject rias Rectil neas pela Perna de Suporte Como complemento ao estudo din mico da resposta do sistema a um polin mio de quinta ordem foram executadas experi ncias similares mas com a repeti o da mesma traject ria v rias vezes para an lise do comportamento do sinal do erro ao longo do tempo Cada experi ncia seguiu o seguinte procedimento Inicializa o do CoP ef para a execu o de uma traject ria polinomial de 5 ordem Activa o do controlador de equil brio Defini o do per odo da traject ria e do ganho do controlador de equil brio Execu o da traject ria para um determinado CoP final Esperar que o sistema termine a traject ria Execu o uma traject ria para o CoP inicial Esperar que o sistema termine a traject ria Repetir os passos 4 a 7 mais nove vezes SOOO Cai ONE R O No final inicializar os ganhos de compensa o e desligar os controladores bem como os sinais de PWM Ao longo da execu o das traject rias os sensores de press o e as posi es angulares dos servomotores s o registados para um ficheiro para posterior an lise De modo a fazer uma compara o v lida com as traject rias previstas foram tamb m registados os instantes de tempo inicial e final de cada trajecto de modo a que aquando da compara o os polin mios de quinta ordem previstos sejam mapeados no tempo de forma correcta Finalmente os resultados foram dispostos de forma a analisar o C
86. efini o da base de dados com os dados de actua o e sensorial do pr prio SCU sec o II 3 5 67 5 PROBLEMAS REPORTADOS Implementando os algoritmos descritos em cada n observou se uma eficiente troca de mensagens sem corrup o de dados e sem atrasos aparentes No entanto verificava se esporadicamente que nalgumas unidades slave as comunica es CAN bloqueavam ao fim de v rios minutos de funcionamento Testes mais aprofundados revelaram que este problema acontecia de igual em qualquer unidade seja Master ou Slave o que levou a crer que a fonte do problema reportava se ao n vel dos device drivers CAN ficheiros CANdrivers Mais ainda observou se que na unidade Master levava muito menos tempo a acorrer bloqueios o que fazia crescer ainda mais esta suspeita dado que os device drivers no Master s o executados mais frequentemente que em cada slave 8 vezes mais para 8 slaves O bloqueio come ava a revelar se na unidade master pela aus ncia de actualiza o da base de dados sensorial por parte de alguns slaves aleat rios muito embora se assegurasse que as mensagens CAN de conte do sensorial estavam a ser transmitidas por parte deles Tal sugeria que o Master a determinado ponto deixava de processar as mensagens CAN provenientes de alguns slaves Do ponto de vista das unidades slave o bloqueio observava se pela incapacidade de recep o de mensagens num determinado buffer de recep o Mais tarde o segundo buff
87. eiro Fun o Descri o initcom m H error errorstr initcom gate rate Cria o de uma nova liga o killcom m error errorstr killcom H T rmino da liga o Pedido de envio de uma sequ ncia de testcom m error errorstr testcom H o seq teste Consulta do estado do barramento readcanstat m array readcanstat H CAN readjoint m servos readjoint H scu_id param Leitura das posi es das juntas de um SCU readspecial m special readspecial H scu_id Leitura dos sensores especiais applyjoint m applyjoint H scu_id param servos Actua o nas de determinado SCU juntas um applycontrol m applycontrol H scu_id param servos Actualiza o dos par metros PID de uma determinado SCU initcom Estabelecimento de uma nova liga o via RS 232 handler error errorstr initcom gate rate Entradas Gate Fato Sa das handler error ee gt gt A killcom PAZ a bits s Porta a utilizar baudrate a definir ID da linha de comunica es C digo de erro String descritiva do erro T rmino de uma liga o RS 232 existente error errorstr killcom handler Entradas handler gt Saidas error gt SETS ID da linha s rie C digo de erro String descritiva do erro 23 testcom Pedido de envio de uma sequencia de teste error errorstr testcom H Entradas handler gt
88. eitura dos sensores especiais note tamb m a limita o de quatro valores da a limita o imposta anteriormente de apenas usar quatro linhas anal gicas dedicadas a este g nero de sensores ou o conjunto dos sensores de for a ou inclin metros ou girosc pios No entanto podem ocorrer situa es an malas na recep o do comando por parte do Master podendo se discernir duas situa es poss veis gt Mensagem de pedido inv lido os par metros solicitados pelo PC n o fazem sentido ex SCU alvo n o existente Neste caso uma mensagem de SOF de c digo MESSAGE INVREQ OxFC invalid request com todos os restantes bytes iguais da mensagem original retornada ao PC gt Mensagem corrompida o c digo BCC n o est de acordo com a estrutura da mensagem Neste caso uma mensagem de SOF igual a MESSAGE INVALID OxFB retornado com os restantes bytes iguais da mensagem recebida byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 OR a A A A e Mensagem sinalizadora de um pedido inv lido byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 APA AA O O A A Mensagem sinalizadora de inconsist ncia no byte BCC Teste das comunica es USART entre PC e Master Para confirmag o da correcta comunicag o entre o PC e o Master pode ser enviada uma mensagem de teste igualmente de 6 bytes com o SOF como MESSAGE TEST OxFE byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 SOR ORE e ovo dos so sec Mensagem USART PC Maste
89. elocidade m xima permitida pelo MatLab e pelo sistema operativo Windows XP O par metro tempo tamb m ser amostrado para associa o aos dados de for a e corrente 6 No fim da amostragem a perna reposta na altura m xima x y z 0 0 2 cm A Descida do P numa Superf cie Regular Esta experi ncia semelhante executada na sec o O Descida do P em que o p desce e impacta contra o solo mas com a excep o de que os motores que controlam as juntas do p est o desactivados A Fig 44 apresenta os dados experimentais amostrados no que concerne s sa das individuais dos sensores de for a m dia dos quatro sensores de for a e corrente consumida pelas quatro juntas intervenientes 95 Sensores de for a individuais 200 sensor e 5 pesos ns ae ae ae pees ental eS a e sensor2 decorrem abet I I I I I l are a LAT A e sensor3 aeo j 150 sensor 4 _____ ees l i OE TO O crests e 1 1000000000 sub ooo 00 TT Poets RUTH l i I te os SS BSE o can cogeo ooo one net l I
90. em de componentes de boa qualidade que apresentem uma boa estabilidade no seu comportamento para uma boa gama de temperatura e Minimiza o das assimetrias na liga o p perna procurar que os eixos de liga o entre estas duas partes se aproximem do centro do p de modo a conferir ao centro de press o medido uma rela o bastante consistente com o centro de gravidade Uma ideia que surgiu mas que ainda precisa de alguma dedica o consiste na diminui o da electr nica de acondicionamento de sinal de quatro para apenas um circuito Em vez de usar um extens metro para cada ponte de Wheatstone Fig 29 utilizar se iam todos os quatro extens metros numa nica ponte requerendo deste modo apenas um amplificador de instrumenta o Contudo h o problema de este circuito apenas permitir a medi o do centro de press o numa nica dimens o dimens o dependente da localiza o das sa das na ponte de Wheatstone Um mecanismo de switching para alternar os pontos de medi o na ponte seria necess rio para possibilitar o c lculo do CoP nas duas dimens es Segundo esta estrat gia reduzir amos a utiliza o de quatro sistemas independentes com diferentes condi es iniciais o hardware pode apresentar diferen as de comportamento para apenas um permitindo um c lculo mais preciso do centro de press o 131 IV NOTAS FINAIS 1 CONCLUS ES FINAIS Este projecto permitiu aprofundar os conhecimentos pr ticos sobre barra
91. empre que uma nova mensagem chega uma interrup o CAN gerada e quando poss vel processada actualizando a base de dados sensorial Estas duas fontes de interrup es foram definidas como sendo de baixa prioridade relativamente s interrup es da linha s rie pelo que o servi o CAN s pode ser atendido quando n o h caracteres na porta s rie Desta forma garante se uma boa velocidade de resposta aos comandos enviados pelo PC sem comprometer significativamente a performance CAN para o per odo de transmiss o citado de 500 us B Transmiss o e Recep o de Mensagens Do ponto de vista do Master todas as mensagens a enviar s o de actua o e todas as recebidas s o de car cter sensorial pelo que no ltimo caso escusado o processamento do identificador excepto para o conhecimento do SCU fonte e do index do pacote No caso do endere o destino e da opera o apenas s o verificados para efeitos de teste do correcto funcionamento As mensagens de actua o a enviar v o buscar os valores a aplicar nos slaves base de dados global que o PC periodicamente actualiza J as mensagens de car cter sensorial que v o chegando dos slaves actualizam constantemente as vari veis da mesma base de dados este mecanismo que garante a peri dica actualiza o da base de dados sensorial e das unidades slave no que toca actua o Procedimento de envio de uma mensagem de actua o 1 Constru o do identificador com ba
92. ens vel de sensores esse momento mais facilmente detect vel do que no caso dos menos sens veis sendo este ltimo mais suscept vel a erros de detec o Finalmente tamb m o factor in rcia existente nas juntas do p prejudica a detec o do momento de impacto inicial em que pouca in rcia existe Isto acontece quando a irregularidade do solo se apresenta sobre a parte dianteira ou traseira do p por isso a grande dificuldade da detec o do impacto inicial J nos casos de irregularidades sobre as partes laterais do p maior in rcia est presente o que torna mais facilmente identific vel o momento do impacto inicial mas mais dif cil o do impacto total corresponde situa o inversa Resumindo podemos concluir o seguinte e A assimetria de sensibilidades levam a informa o contradit ria de quais os sensores envolvidos no impacto inicial e total Da a sugest o da utiliza o do sinal m dia e Esta assimetria faz com que as irregularidades aplicadas sobre os sensores da direita os mais sens veis sejam muito mais pronunciadas na informa o sensorial e A exist ncia de in rcia para o deslocamento dos servomotores do p exige uma maior for a no caso das irregularidades se localizarem nas sec es laterais Por este motivo o momento do impacto inicial muito mais pronunciado quando a irregularidade se localiza nas partes laterais do que nas restantes Analisando cada caso podemos prever os resulta
93. ensores envolvidos e em seguida o impulso de impacto total menos pronunciado motivado pela baixa sensibilidade dos restantes sensores importante notar que embora os efeitos de assimetria na sensa o de for a tornem uns sensores mais sens veis que outros na detec o de mudan as f sicas do sistema eles continuam a medir com rigor a for a aplicada n o se tratam de falsas medi es Contudo para o objectivo em causa que a detec o de impacto seria importante a aus ncia destas assimetrias para poder analisar com exactid o quais as partes do p envolvidas no impacto Dado que tal n o poss vel temos de recorrer a estratagemas para possibilitar pelo menos a detec o do impacto inicial e total que o que interessa para a unidade central de processamento para a execu o das sequ ncias de locomo o Por isso o algoritmo para detec o destes dois momentos basicamente dever obedecer aos seguintes crit rios 1 O primeiro pico positivo do sinal m dia corresponder ao momento do impacto inicial 2 O segundo pico positivo do sinal m dia diz respeita ao momento inicial do impacto total O algoritmo ser pois baseado na varia o do sinal m dia devendo ser suficientemente fi vel para ser capaz de detectar os menos pronunciados impulsos sem o risco de falsa detec o Para isso dever se definir um limiar para detec o de picos que n o seja demasiado baixo para n o correr o risco de falsas de
94. ensores dianteiros 98 D Descida do P contra um Objecto cobrindo os Sensores da Esquerda 1 e 3 A partir de agora a placa met lica ser colocada na parte lateral do p cuja dist ncia ao seu centro menor que nos casos de localiza o dianteira traseira Sensores de for a individuais 200 L sensor1 lL_______ REVER per AE a SS A PE ap s mi e sensor2 a e sensor3 is cet ot en obtt tona BoP cece he 150 sensor4 est PR ae E ay ae DORA IRA pere l l E eo TO DA T I Beco ss co soe po o oo ooo o teo og SB sis ss gs Es Ms gt EEE TER l l 100 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 M dia dos sensores de for a g00 4 re nan nto ond I ee ea een 4 I I I I I I leee sa os 0 coco ooo once soe de sonne cce oc obs 150L WER En N eat ae a ee a Pasar E LMM A A dl i 100 i i i ji 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Pulso de corrente do 1 Microcontrolador 100 Motor ortogonal ao pe Motor paralelo ao pe Motor do Joelho
95. ento CAN Est A o 1 o_ ofi 1 1 0 Ho 1 Est B ol1 o 0 1 1 1 0 o 0 1 ANO Est c Jomlo 7 tlooom Ii pet LA E Vee controler Controler Controler Controler Bus lo to 0 1 1 1tlo 00 1 N x N y N z N w Bit dominante no barramento Bit recessivo no barramento Fig 16 Arbitragem de mensagens segundo o sistema de colis es CSMA BA Para implementa o deste sistema um dos bits definido como dominante bit 0 e o outro como recessivo bit 1 de modo que quando dois bits colidem um com o outro vence o dominante Esta estrat gia implementada bit a bit ao n vel do identificador conferindo deste modo prioridades de acordo com o seu valor Assim quanto menor for o valor do identificador maior a prioridade da mensagem Fig 16 Segundo esta pol tica vantajoso atribuir um endere o de menor valor num rico unidade Master de modo 49 a conferir a m xima prioridade s mensagens de actua o Master Slave e s restantes unidades lhes atribu do endere os de valor crescente medida que a sua ordem de import ncia na rede diminui Desta forma atribuiu se o endere o 0b0000 ao Master e os endere os 0b0001 at 0b1000 para os oito Slaves dando maior prioridade s unidades respeitantes aos membros inferiores dado que requerem maior aten o ao n vel do controlo Unidade Controladora Sec o a que respeita Endere o na Rede Master Unidade me
96. ento da Mensagem I Limpar buffer de recep o y Enviar Buffer de Transmiss o y Limpar Buffer de Transmiss o m RETURN Fig 10 Algoritmo de gest o das comunica es RS 232 na unidade Master Z Pela Fig 10 podemos observar que o tratamento das mensagens executado byte a byte a partir de interrup es de recep o pela linha s rie com a utiliza o de buffers implementados em software para armazenar a mensagem recebida do PC buffer de recep o e a mensagem de resposta a enviar buffer de transmiss o A implementa o de cada um destes procedimentos est descrita na Fig 11 e Fig 12 correspondendo aos passos armazenamento no buffer de recep o e enviar buffer de transmiss o apontados na Fig 10 Como detalhes importantes para a robustez deste algoritmo a utiliza o de um timer para contagem de tempo com vista a impor um tempo de timeout m ximo para a conclus o de cada um dos procedimentos Deste modo evitam se bloqueios que poderiam comprometer o funcionamento do sistema 43 IN CIO v Ler Byte recebido Em modo de recepc o de Frame Timeout na recep o de Byte Limpar buffer de recep o Em modo de recep o de Frame Armazenar byte nc I Sim buffer de recepc o Y Byte SOF v lido Buffer de Recepc o cheio Iniciar contagem de FIM d
97. equ ncias traduzem se numa varia o demasiado elevada para o sistema acompanhar e por isso os tempos de estabelecimento e os erros m ximos pioram para valores incomport veis 2 Fig 67 Resposta ao polin mio aplicado de dura o 1s K 50 117 Se ao inv s aumentarmos o per odo da traject ria para o dobro 4 segundos Fig 68 as caracter sticas da resposta melhoram em muito o tempo de estabelecimento diminui para 4 segundos para as duas componentes corresponde ao instante final da traject ria e o erro diminui para 20 e 32 unidades para as componentes xx e yy respectivamente XX XX XX Previsto Medido Joelho yy 60 Previsto Medido Fig 68 Resposta ao polin mio aplicado de dura o 4s K 50 Como conclus o podemos dizer que a melhor estrat gia para melhorar ao m ximo a resposta do sistema de usar ganhos de compensa o do controlador de equil brio pr ximos do limite sem provocar instabilidade e aplicar velocidades as mais reduzidas poss veis Como se pretende que o robot se locomova a uma velocidade bastante reduzida numa fase inicial tais exig ncias n o dever o constituir um problema para a implementa o do controlador de equil brio 118 4 5 Ex
98. er ncia do CoP CoP no controlador de equil brio para cumprir este objectivo Fig 33 Neste cap tulo v rios estudos ser o feitos sobre os sensores de for a de modo a averiguar os seguintes aspectos e Rela o entre o Centro de Press o medido e o Centro de Gravidade em circunst ncias est ticas e Rela o entre o Centro de Press o medido e o Centro de Gravidade durante a realiza o de traject rias e Execu o de traject rias de v rios formatos e compara o dos trajectos efectuados com os previstos 4 2 Controlo do CoP Refer ncia A Fun es B sicas Como j foi discutido na sec o II 2 1 poss vel seleccionar um de quatro controladores poss veis sendo um deles o de equil brio Tabela 11 A fun o applycontrol com o par metro param igual 3 ver Tabela 6 destinada escolha deste controlador O par metro servos um vector de 3 elementos e selecciona o controlador a usar para cada junta de acordo com a Tabela 7 para activar o controlador de centro de press o para todas as juntas devemos atribuir o vector 1 1 1 rx error errorstr applycontrol H scu id 3 1 1 1 Para configurar o ganho de compensa o deste controlador de modo a ajustar a reactividade a varia es do sinal de erro na sua entrada a fun o applycontrol igualmente utilizada mas com o par metro param igual a 2 Tabela 6 O par metro servos assim usado para defini o do ganho de compensa o para cada
99. er seria igualmente afectado privando esta unidade a processar as duas mensagens de actua o provenientes do Master Como o atendimento s mensagens recebidas feita a partir das interrup es geradas pelo m dulo CAN quando uma nova mensagem armazenada num buffer a suspeita recaiu que esta interrup o deixava de ser produzida ou ent o que a flag indicativa deste evento interrupt flag deixava de ser actualizada Por an lise dos device drivers de recep o de mensagens verificou se que ap s processamento de uma nova mensagem recebida a interrup flag s era reposta a false depois de disponibilizar o buffer para uma nova recep o RXFULL a false Para mais pormenores queira ler a sec o II 3 3 B Tal procedimento podia gerar a seguinte situa o 1 Buffer era disponibilizado para uma nova recep o RXFULL a zero 2 Uma nova mensagem CAN chegava unidade sendo carregada na MAB Message Assembly Buffer e executados os procedimentos autom ticos de aceita o de mensagem atrav s da m scara e filtros definidos No caso de uma mensagem v lida e destinada unidade em causa ela carregada no respectivo buffer de recep o sinalizando a correspondente interrupt flag a 1 3 Reposi o da interrupt flag associada ao buffer em causa a O Note que o segundo passo um procedimento autom tico do PIC constituindo uma interrup o de baixo n vel durante a execu o da rotina de processamento de uma nova mensagem
100. ervomotores Tabela 7 e se os sinais de controlo dos motores PWM devem estar activos valores booleanos bit 7 6 5 4 3 2 1 bit O PWM Controller 3 Controller 2 Controller 1 Byte Control Flags da primeira mensagem Transac o Slave Master Por outro lado necess rio actualizar a base de dados na unidade master pelo envio de mensagens CAN com os dados sensoriais de cada slave para o master Tal executado logo ap s a recep o do pacote de actua o e com o retorno das seguintes informa es m Posi o angular dos servomotores m Velocidade estimada dos servos m Corrente consumida m Output dos sensores conectados via piggy back Source address Destination address Index Operation jan ipa OA ee ee ea ea ONE ee Identificador de uma mensagem de actualiza o sensorial Os pacotes de actualiza o sensorial devem possuir no campo destination address o endere o da unidade master 0b0000 dado que a mensagem se destina a ele e o campo operation a Ob00 indicativo de que a mensagem cont m dados sensoriais O source address cont m o endere o do slave respectivo Se 1 re re 3 ee 4 Tee ESA 6 ee 7 cerry 8 A do primeiro pacote de ee sensorial en Vcs byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 byte 8 Sensor Flags Sensor Flags Current Current Current3 Special 1_ Special Special 1 Special2 Special2 Special3 3 Special4 Dados do segundo pacote de act
101. essnensnersneesnnesnnesnnennnennnnnnnennnn ernennen 106 Fig 55 Actua o sobre a altura desejada da anca oooooonoccnococonoconcconnconananncnn ccoo nono ncco noc on non cnn nan n rra cra ernennen 106 Fig 56 Rela o entre o CoP medido e o actuado para 30 passos ao longo do eixo XX 108 Fig 57 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo xx 108 Fig 58 Rela o entre o CoP medido e o actuado para 32 passos ao longo do eixo yy 109 Fig 59 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo yy 109 Fig 60 Rela o entre o CoP medido e o actuado para 25 passos ao longo do eixo Ay 110 Fig 61 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo xy 110 Fig 62 Resposta ao polin mio aplicado no eixo xx com K 50 erre 112 Fig 63 Resposta ao polin mio aplicado no eixo yy com K 50 erra 113 Fig 64 Resposta ao polin mio aplicado nos eixos xy com K 50 rea 114 Fig 65 Resposta ao polin mio aplicado nos eixos xy com K 30 ra 115 Fig 66 Resposta ao polin mio aplicado nos eixos xy com K 70 erra 116 Fig 67 Resposta ao polin mio aplicado de dura o 1s K 50 erra 117 Fig 68 Resposta ao polin mio aplicado de dura o 4s K 50
102. esta diferen a possa ser insignificante face ao valor nominal n o nos podemos esquecer que a seguir o sinal amplificado 65 vezes pelo amplificador de instrumenta o pelo que qualquer erro ser ampliado 65 vezes Os potenci metros de ajuste presentes na electr nica de acondicionamento apenas ajustam os extremos de tens o offsets n o a din mica pelo que para as mesmas condi es de calibra o entre os quatro sensores a tens o de sa da da electr nica pode variar para uma determinada deforma o Desta forma a rela o tens o de sa da versus for a aplicada seria diferente entre os quatro sensores e um factor de ajuste seria necess rio para que o c lculo do centro de press o n o seja viciado 4 Na condi o da utiliza o de extens metros de elevada qualidade em que as diferen as na din mica sejam praticamente desprez veis mesmo ap s a amplifica o tamb m h a possibilidade da din mica das placas de acr lico sobre as quais os sensores est o colados diferirem entre si Esta diferen a se existente mais dif cil de controlar que no caso dos extens metros uma vez que a este pol mero antes da entrada no mercado n o s o aplicados crit rios rigorosos de controlo de 129 qualidade no que toca homogeneidade da estrutura Por isso recomenda se a aquisi o deste material a fornecedores que garantam alguma qualidade e a uma nica pe a criar as quatro placas usando uma m quina de precis o
103. esta fun o o estado de funcionamento do barramento CAN estado de erro Para o PC aceder a estes dados apenas tem de enviar um comando com o operation OP READ EXTBUFF O formato da mensagem de resposta est descrita na sec o II 2 2 A Tabela 30 apresenta um conjunto de fun es de mais alto n vel que fazem uso dos device drivers expl citos na Tabela 29 para processamento dos comandos provenientes do PC e constru o da mensagem de resposta a retornar Tabela 30 Fun es de constru o da mensagem de resposta para uso da Rotina de Servi o Interrup o Fun es Descri o usartSendTestMsg Rotina de envio de uma mensagem com o formato FA F9 F8 F7 F6 F5 hex Esta mensagem tem como prop sito testar o funcionamento da USART usartSendStatus No caso dos comandos de actua o dois tipos de mensagens podem ser retornados excluindo as mensagens com erros de recep o por parte do master Elas s o a confirma o da actua o com sucesso ou par metros inv lidos Em tais casos enviada uma mensagem com todos os bytes iguais ao do comando de actua o excep o do primeiro com a indica o do estado MESSAGE SUCESS 0xFB ou MESSAGE INVREQ 0xFC Esta fun o tem o objectivo de construir uma mensagem igual ltima recebida com o primeiro byte igual ao estado a retornar usartProcessMsg Rotina de processamento dos comandos enviados do PC para o master para constru o da mensagem de respos
104. etro Fig 25 Montagem dos extens metros na estrutura do p A aplica o da for a feita atrav s de uma segunda plataforma colocada superiormente com v rios parafusos que s o aplicados directamente sobre as placas de acr lico Uma vista completa do p pode ser visualizada na Fig 26 e mais em pormenor os pontos de contacto sobre os extens metros na Fig 28 Fig 26 Vis o completa da base do p 13 Fig 27 Pe a de acr lico contendo o extens metro para medi o da sua deforma o Fig 28 Pontos de contacto entre as 2 plataformas do p Sobre esta segunda plataforma est assente a estrutura da perna que pela varia o da projec o do seu centro de massa fazem com que uns sensores se deformem mais do que outros As rela es entre as sa das destes quatro sensores fornecem nos uma estimativa da aplica o do centro de press o que por sua vez ser utilizado para fazer compensa o em ordem a manter o equil brio da estrutura 1 3 Condicionamento de Sinal Como as varia es de for a se traduzem em varia es hmicas dos extens metros necess ria electr nica de condicionamento de modo a converter este sinal para uma tens o e a amplific la o suficiente para que seja til para o microcontrolador EXT MIRR gt INA129P Fig 29 Circuito de condicionamento do sinal proveniente de um extens metro EXT Este circuito aplicado sobre cada extens metro e pode ser dividido em d
105. etros de entrada fornecidos retornando em seguida os dados sensoriais contidos na mensagem de resposta caso seja o caso de um comando de leitura sensorial mais o correspondente estado de erro se ocorreu algum problema nas comunica es 39 ACTUA O LEITURA SENSORIAL Preparar mensagem de transmiss o de acordo com os par metros de entrada Enviar Mensagem de Transmiss o D f n S Receber Mensagem de 3 Z 98 resposta Y Preparar mensagem de transmiss o de acordo com os par metros de entrada Enviar Mensagem de Transmiss o Receber Mensagem de resposta Retirar parametros de interesse da mensagem de resposta Retornar Estado de Erro Retornar dados sensoriais Estado de erro Fig 7 Algoritmo b sico dos device drivers de actua o leitura sensorial Todos os device drivers apresentados utilizam uma fun o base que tem como responsabilidade a implementa o do protocolo descrito na sec o II 2 2 ou seja o envio de uma mensagem de 6 bytes unidade master solicitando determinado dado sensorial ou com uma ordem de actua o e depois o processamento da mensagem de resposta com a informa o solicitada ou confirma o da actua o respectivamente Esta fun o denominada por sendmessage e apresentado na Fig 8 e Fig 9 Constru o da Mensagem
106. existiria qualquer sinal de retorno indicando esta mudan a Usando os controladores de for a poss vel realizar uma manobra s com base em dois pontos de refer ncia que podem ser cartesianos como por exemplo as coordenadas interm dias e finais do p que executa o movimento que pela varia o do Centro de Press o refer ncia aplicado ao controlador a perna em quest o realizaria a manobra compensando atrav s dos sensores de for a quaisquer desvios manuten o do equil brio quer tenha havido mudan as estruturais na plataforma quer alguma perturba o externa tenha sido aplicada como por exemplo um toque ou um empurr o Adicionalmente usando igualmente os sensores de for a poss vel a detec o da chegada do p ao solo o que permitir a possibilidade de executar v rios passos de locomo o de uma forma din mica independentemente das caracter sticas do solo varia o de declive e irregularidades cada passo apenas terminaria dando in cio a outro ap s o p encontrar o solo e n o atrav s de par metros temporais est ticos Com estas funcionalidades poderemos ter um robot bastante adapt vel ao ambiente que o rodeia com capacidades de reac o e de compensa o da sua postura em resposta a est mulos externos quer sejam provenientes do solo como da ac o directa com um ser humano Com base nos objectivos tra ados organizou se este relat rio em quatro cap tulos e Cap tulo I Introdu o Ap
107. fer O Index 0 Maxima TXBOCON 0b11 Buffer 1 Index 1 M nima TXBICON 0b10 Buffer 2 TXB2CON 0b01 Tabela 26 Atribuic o de prioridades entre cada buffer de transmiss o 56 Modo de Opera o Normal Para colocar o CAN a funcionar s resta definir o modo de opera o normal no registo CANCON Resumindo Coloca o do PIC no modo de configura o Defini o da dura o de cada segmento de bit Defini o do bitrate para a velocidade pretendida Configura o da m scara de recep o Configura o dos dois filtros para cada um dos buffers de recep o Defini o do formato standard para os identificadores dos pacotes a transmitir Defini o de prioridades entre buffers de transmiss o Configura o da recep o para apenas pacotes v lidos com identificadores de 11 bits Overflow do buffer O para o buffer 1 desactivado 10 Clear dos interrupt flags de recep o 11 Abertura dos buffers para recep o 12 Coloca o do PIC no modo de opera o normal VIDAD Os passos 6 a 11 devem ser aplicados a cada um dos buffers de recepg o transmiss o B Troca de Mensagens CAN Esta sec o apresenta os procedimentos a efectuar nos PICs 18F258 para a troca de pacotes utilizando a rede CAN Estes microcontroladores oferecem uma gama diversificada de registos que permitem controlar diversos aspectos como por exemplo o comprimento do identificador ou o conjunto de dados e tamb m no
108. guintes etapas 1 Modifica es nos m dulos de comunica o RS 232 e CAN tendo em vista a adapta o do protocolo aos controladores de for a equil brio e a melhoria do desempenho e da robustez e Altera es na arquitectura de comunica es CAN para lidar com novas exig ncias do ponto de vista de mensagens de controlo e leituras sensoriais e Altera o do protocolo de comunica o CAN de modo a conferir lhe elevada robustez e maximiza o da largura de banda dispon vel 2 Estudo e implementa o de novos algoritmos de controlo baseados em realimenta o sensorial sensores de for a nos p s e estimativa da corrente consumida pelos actuadores e An lise dos sensores de for a para a detec o de impactos sobre o solo de forma a ser poss vel a percep o dos p s no toque ao solo e Utiliza o dos algoritmos de controlo baseados nos sensores de for a mais concretamente no baseado na matriz Jacobiano do Centro de Massa para a realiza o de traject rias pelas pernas por varia o do ponto de refer ncia do Centro de Press o sobre cada p 3 Avalia o do desempenho da arquitectura distribu da com destaque para a funcionalidade das comunica es CAN e as capacidades do controlo local Resumindo os principais objectivos a atingir aponta se o melhoramento do firmware presente nos microcontroladores tendo em vista a integra o dos diversos controladores e a elevada fiabilidade de funcionamento tal como a identif
109. ia RN EEE un int seat igs sgsseati ges oocte egy cogon ggteel dg EEE do o ooo pag sb sssa o gu aii i i i i 1 100 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 M dia dos sensores de for a nO pesei are A aid Ud el ee ae pens ee H DO ad a ESA e 150 33339352 js Ss Posa Ss Si idos F P Sere SSS aS Fee ek Ba de indi IF l A bd l l l I l A o ccc cn ent age good ee j I I i 100 i i 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Pulso de corrente do 1 Microcontrolador 100 Motor paralelo ao pe Motor do Joelho
110. iar comandos de actua o a duas unidades simultaneamente 3 3 Controlo da Perna Para simplificar o controlo de movimentos da perna foi desenvolvido um programa em MatLab mouse m que permite controlar as quatro juntas da perna juntas ortogonal e paralela ao p joelho e anca atrav s de uma interface gr fica oferecida ao utilizador que com um simples click do rato pode seleccionar a postura desejada da perna Fig 36 lt error gt lt error string gt mouse lt com handler gt lt Tspeed gt a Figure 1 SOB File Edit view Insert Tools Desktop Window Help Dsus x aa 3208 20 Fig 36 Interface gr fica para selec o da posi o da base do p Atrav s da interface gr fica da Fig 36 o utilizador apenas tem de seleccionar atrav s do rato a posi o desejada do p ponto central da base do p A Fig 36 representa um caso em que o ponto x y 9 21 seleccionado Em seguida s o efectuados os seguintes procedimentos para a determina o das posi es a solicitar aos servomotores a C lculo das coordenadas da anca mudando o referencial para o ponto central da base do p b C lculo dos ngulos das juntas ortogonal e paralela ao p e da junta do joelho 01 92 93 usando a conven o da Fig 34 pela cinem tica inversa das coordenadas cartesianas da anca calculadas no ponto 1 c C lculo do ngulo a aplicar junta da anca 0 de forma a assegurar que a base
111. ibu da da plataforma ir ncnnn cnn nc on nono nono nn cone c nn cnn ncnnnannes 15 F18 4 Exemplo de uma bo rd PC 10A 2 2 ae pego res tens ae Er 19 Fig S Placa d Controlo Master Sl ve nun A A A 19 Fig 6 Rede completa de Microcontroladores rr creeareeaeeae eae none cn nec nn cnncanncannss 19 Fig 7 Algoritmo b sico dos device drivers de actua o leitura sensorial uursuursnuessnersneesnnesnnesnnennn 40 Fig 8 Algoritmo b sico da fun o sendmessage ir erereraeeraa conan rana cena cena nenaneaaaeenaa eae rana cn neones 40 Fig 9 Algoritmo detalhado da fun o sendmessage rr crre nena nonn aerea cena conan conc corea nn cnn nannnanes 41 Fig 10 Algoritmo de gest o das comunica es RS 232 na unidade Master 43 Fig 11 Recep o de byte por RS 232 e armazenamento no buffer de recep o ur2uursnnesnneenneenneenennnn 44 Fig 12 Envio do buffer de transmiss o por RS 232 rr ncnn nono nono nn cnn cnn cnn nannnannss 44 Fig 13 Processamento de uma mensagem na unidade Master ri rereerreerereneaaaa 45 Fig 14 Processamento de uma mensagem de solicita o na unidade Master uursuerssersesnnesnneenneennnennn 45 Fig 15 Formato standard das mensagens CAN erre aeeeaeeaceacenaeanacaneannarananana 49 Fig 16 Arbitragem de mensagens segundo o sistema de colis es CSMA BA
112. ica o dos problemas envolvidos na utiliza o dos sensores de for a nos algoritmos de detec o de eventos e controlo de locomo o e respectivas solu es Estes dados ser o importantes para o desenvolvimento de um segundo prot tipo que se pretende mais robusto e fi vel 12 O cumprimento do primeiro objectivo possibilitar uma eficiente comunica o entre o computador central e as unidades de controlo local com a troca de todas vari veis necess rias para a correcta gest o dos movimentos a executar e dos conte dos a percepcionar pelos diversos sensores espalhados pela estrutura human ide Relativamente ao segundo objectivo controlo das juntas com base nos sensores de for a ser poss vel a realiza o de traject rias de locomo o pelas pernas seja a execu o de um passo a manobra de rota o ou a subida de um degrau atrav s de um algoritmo din mico que apenas precisa de um conjunto reduzido de pontos de refer ncia para executar a traject ria pretendida garantindo simultaneamente o equil brio da estrutura De outra forma sem a utiliza o destes controladores seria necess rio especificar uma traject ria para cada junta de uma forma est tica com base em c lculos anal ticos feitos priori para a plataforma em causa A grande desvantagem desta ltima estrat gia a grande incapacidade de adapta o a mudan as na geometria e peso do sistema o que poria em causa a sua estabilidade dado que n o
113. in 49 Farol 7ecodihica o NRZ tia at erode duras En cougar ech au ERR dede een E UR lo Sala a can DE E cate 53 Fig 18 Particionamento temporal de um bit ceseceseceseeeseeeeeeeseeeeseeeseecsaecsaecsaecnaeenseenseeseeeneeeneeeees 54 Fig 19 Registos associados m scara e filtragelW ooncnncnnononocononoconanonnnacnnan ccoo ccoo ncnnn non no rn nono noc nn cnn ncnncannnannss 55 Fig 20 Algoritmos de transmiss o recep o de mensagens CAN no Master ursnessseesnnesnnesnnennnennnnennn 58 Fig 21 Algoritmo de troca de informa o pelo CAN no Slave rear 60 Fig 22 Rela es de inclus o dos m dulos de software do Master eres 63 Fig 23 Rela es de inclus o dos m dulos de software de cada Slave a 66 Fig 24 Extens metro tesistiV n n 2 2 20 2 nrerin el iin ein Riss 13 Fig 25 Montagem dos extens metros na estrutura do P oo cee cee eeeceeeeeereeeseeeeeeseecsaecaeceseceaeenseeeteeeseeeneeeees 13 Fig 26 Vis o completa da base do p rieres ni 22222 aa aa hd dhe ns EI 13 Fig 27 Pe a de acr lico contendo o extens metro para medi o da sua deforma o erseesneesseenneenne 74 Fig 28 Pontos de contacto entre as 2 plataformas do P oooooccnncccocccocaconanonononnnono non nono n nono nono non nc cn nncnnncnnnannnannos 74 Fig 29 Circuito de condicionamento do sinal proveniente de um extens metro EXT 74 Fig 30 Circuito
114. itag o a resposta vem de acordo com o byte OpCode descrito na Tabela 15 Fig 14 IN CIO Operac o OP_APPLY_JOINT Opera o de Actua o no Sistema Opera o OP APPLY CONTROL Actualiza o dos par metros de compensa o Opera o OP READ SENSORS Leitura de Sensores Leitura do Estado do Barramento CAN Opera o OP READ EXTBUFF Fig 14 Processamento de uma mensagem de solicita o na unidade Master 45 Um melhoramento importante a conferir a estes algoritmos para evitar tempos mortos na largura de banda de CPU sugere se uma solu o baseada na transmiss o por interrup o que em vez da transmiss o dedicada a todos os bytes da mensagem de resposta o CPU s deve ser utilizado para a transmiss o de cada byte atrav s da notifica o por interrup o do envio do ltimo byte Desta forma o per odo de tempo entre a transmiss o de cada par de bytes pode ser utilizado para a execu o de outras tarefas como o caso do servi o s comunica es CAN C Base de Dados Global do Sistema Human ide O processamento da mensagem de solicita o proveniente da unidade principal baseado na an lise do byte opcode segundo a descri o na Tabela 15 Uma vez decifrado o conte do da mensagem uma base de dados global com a informa o sensorial e de actua o de cada uma das unidades slave acedido para consulta ou actu
115. itiva dos erros ocorridos volacils serzuee enum CAN_STATUS status Flags originais dos dev drivers sobre a causa de erro enum CAN_ERRORS flags Causas INVES Es COWIE 1 COW y N mero de ocorrencias canErrors false 0 0 Quando um comando USART de opera o OP READ EXTBUFF pedido pelo PC uma mensagem devolvida contendo a causa do erro e a quantidade de erros de transmiss o e de recep o Uma vez consultados estes valores s o reinicializados a zero 1 byte 2 _ 3 EE 4 E 5 byte 6 Mensagem leitura do a do ame CAN 3 5 Unidades Slave A Algoritmo de Troca de Mensagens Nas unidades slave a comunica o CAN efectuada segundo a pol tica event triggered dado que apenas accionada quando s o recebidas mensagens do master A Fig 19 evidencia o algoritmo presente em cada unidade slave Quando uma mensagem recebida no buffer O primeira mensagem de actua o uma interrup o gerada e na Rotina de Servi o Interrup o RSI os dados de actua o s o actualizados e uma mensagem com informa o sensorial enviada primeira mensagem de resposta Por sua vez se a interrup o corresponder chegada de uma mensagem no buffer de recep o 1 o processo equivalente mas respeitante segunda mensagem de cada transac o De notar ainda que as interrup es CAN s o de baixa prioridade para n o permitir interfer ncia com as tarefas essenciais de controlo de PWM sobr
116. junta rx error errorstr applycontrol H scu id 2 K K K3 S depois de activo o controlador adequado podem ser usadas as fun es de actua o applyjoint quer para a defini o do valor refer ncia CoP e quer para o per odo da traject ria Tabela 13 Note que a fun o applyjoint a nica cujo comportamento depende do controlador activo sendo assim poss vel definir um valor refer ncia e um per odo de traject ria para cada controlador com uma nica fun o B Fun es Gr ficas 105 Tal como existe uma aplica o gr fica para visualiza o do Centro de Press o aplicado sobre um dos p s cop realtime m obtido a partir das sa das dos sensores de for a utilizando o grafismo apresentado na Fig 32 tamb m foi criada a equivalente para actua o utilizando o rato como interface para introdu o das coordenadas do centro de press o de refer ncia do controlador CoPref_exe m A Fig 54 apresenta um exemplo de como as coordenadas bidimensionais do Centro de Press o desejado s o introduzidas a mira que se observa controlada pelo rato que selecciona o ponto espacial desejado Al m disso tamb m poss vel controlar a altura desejada da anca para tal utiliza se o bot o direito do rato que far aparecer uma caixa de di logo para introduzir numericamente a altura a atribuir anca Fig 55 Figure 1 File Edit View Insert Tools Desktop Window Help Dsus 2Qeo F 08 80 Fig 54 Actua
117. leccionar no campo PARAM CONTROLON 0 cee eee ceeceeeceseeeteeeeeeeees 35 Tabela 17 Significado dos bits presentes no byte de status nas mensagens de leitura sensorial das juntas 36 Tabela 18 Tipos de mensagens USART primeiro byte de cada frame 37 Tabela 19 Configura es gerais do cport ser nono cera nereneraaa anna cone cn nn nn nana nannnannss 38 Tabela 20 Configura es de um terminal RS 232 No caso do R E Smith usar COMI 115200 N 8 1 39 Tabela 21 Endere os atribu dos s diversas unidades de controlo ra 50 Tabela 22 Campos do identificador de um pacote CAN uenseessesssnessensnnsensnersnnnnnennnesnnesnnennnennsennnnnann 51 Tabela 23 Campos do byte Sensor Flag Sosirea eeen aaen o eee NE EE e EE EEEN Eea NEKE EEA 52 Tabela 24 Resultado da filtragem para cada bit ooooconnccnocacocaconcconnconnnonanono nono nono nonn nono nc no nono nono noc nncnnncnnnannnannss 35 Tabela 25 Configura o dos filtros para redireccionamento de pacotes para os dois buffers de recep o padr o 3 42 21 a0 endere o do SED LEER ie he eee died 56 Tabela 26 Atribui o de prioridades entre cada buffer de transmiss o 56 Tabela 27 Causas de erro na comunica o CAN 00 ce ceeceseceseceseceseeseneeeneeeseecseeesaecsaecnaecaecnaeesseesseeeneeeeneeees 59 Tabela 28 Fun es do m dulo PICs zeate een ee scence Her ge 63 Tabela 29 Fun es par
118. lizar ao controlo central sempre que este o pedir O processo bidireccional e o controlador master tamb m recebe as ordens da unidade central e despacha para o slave respectivo Tabela 1 Caracter sticas do Hardware e Software na unidade principal Unidade Central de Controlo Computador com porta s rie RS 232 e Software de suporte MatLab 7 xx e Device Drivers de comunica o s rie mini toolbox cport v1 3 Unidades de controlo local PIC18F258 da Microchip Master Slave e Mem ria de programa 2 MB e Mem ria de dados 4 KB e Velocidade de processamento 10 MIPS f 40MHz com a PLL activa e Instru es de 16 bits e datapath de 8 bits Defini o de dupla prioridade nas interrup es e Diversos perif ricos timers m dulos CCP interfaces para redes de comunica o ADC etc 1 1 Protocolos de Comunica o Desenvolveram se dois protocolos de comunica o nomeadamente para a linha s rie RS 232 entre o PC e a unidade Master e para o CAN entre a unidade Master e os Slaves de modo a poder trocar dados sensoriais e de actua o entre o PC e as unidades slave Entre os dados sensoriais podem se enumerar para um SCU Posi o dos tr s servomotores em graus Velocidade estimada de cada servomotor em graus s Corrente consumida por cada servomotor Valores dos sensores de for a de cada p quatro sensores por p Sa da dos girosc pios em graus s Sa da dos incli
119. lo dependendo se o sentido de deslocamento coincide com o da Fig 34 ou n o signal 1 2 Adaptar o ngulo atrav s da rela o de transmiss o da junta nrel 3 Adicionar a posi o do servomotor correspondente ao 0 offset Desta forma a equa o usada para adapta o a seguinte sendo aplicada a cada junta Pervo 8 signal nrel offset e Aplica o da posi o nos servomotores Finalmente a posi o calculada p 1 Q Q3 aplicada nos servomotores de cada unidade de controlo com a velocidade Tspeca atrav s da fun o applyjoint applyjoint lt com handler gt lt scu id gt 1 Tspeea Tspeea Tspeeal applyjoint lt com handler gt lt scu id gt 0 Q5 Outras duas fun es foram desenvolvidas que recorrem linha de comandos para manipular a perna human ide A rotina motioncartesian controla o movimento atrav s de coordenadas cartesianas executando os mesmos passos que a fun o mouse mas sem a interface gr fica Finalmente tamb m est dispon vel a rotina motion que controla tamb m a perna mas directamente atrav s das posi es angulares das suas juntas Apenas realiza os passos c d e e descritos atr s Esta rotina til para a realiza o de testes de amostragem sensorial theta error errorstr motioncartesian H xyz leg speed error errorstr motion H theta leg speed Para mais informa es sobre estas fun es consulte a documenta o fornecida direc
120. m cada mensagem poss vel efectuar trocas de informa o quer de actua o quer sensoriais recorrendo a apenas duas mensagens para cada instancia o 16 bytes O protocolo enunciado a seguir bit 10 9 8 7 6 5 4 3 2 1 bit O Source address Destination address Index Operation Identificador de um pacote CAN Campo Descric o Source Address Endere o do n emissor da mensagem Destination Address Endere o do n destinat rio da mensagem Index ndice do pacote dentro de uma mensagem gt 0 primeiro pacote gt 1 segundo pacote Operation Opera o associada mensagem gt 0b00 actualiza o sensorial gt 0b01 actualiza o de actuadores Tabela 22 Campos do identificador de um pacote CAN De notar que do ponto de vista das unidades Slave apenas o campo destination address til para a recep o de cada pacote pois ele quem define o destino do pacote J o campo source address est presente nos bits mais significativos com o prop sito de definir a prioridade do pacote de acordo com endere o do remetente Desta forma mensagens enviadas pelo master possuem a m xima prioridade e dentro dos slaves os dos membros inferiores possuem maior prioridade de envio ver Tabela 22 Como cada transac o constitu da por duas mensagens o campo index identifica a sua ordem e o campo operation refere a fun o dos dados transportados Transac o Maste
121. m sucesso byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 Soros om fois J Joint 3 Suas RCE Mensagem de leitura sensorial das juntas servomotores byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 SOF OxFD Mensagem de leitura dos sensores especiais byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 SOF OFD _ Emorcode 1Xeron Rxems o sc Mensagem de leitura do buffer externo do Master status do barramento CAN bit 7 6 5 4 3 2 1 bit O PWM Deadline FinAll FinOne FinServo3 FinServo2 FinServol Conte do do Byte de Status nas mensagens de leitura sensorial das juntas Tabela 17 Significado dos bits presentes no byte de status nas mensagens de leitura sensorial das juntas Bit Campo Descri o 7 PWM Activo se todos os motores possuem o PWM ligado 6 5 Deadline Ocorr ncia de um erro de viola o da largura de banda dispon vel 4 FinAll Todos as juntas terminaram a traject ria 3 FinOne Pelo menos uma das juntas terminou a traject ria 2 FinServo3 A junta 3 terminou a traject ria 1 FinServo2 A junta 2 terminou a traject ria O FinServol A junta 1 terminou a traject ria 3 nN Repare que na leitura sensorial das juntas na mesma mensagem transportado os valores dos tr s servos No entanto apenas um par metro pode ser lido posi o velocidade m dia ou corrente Quanto l
122. mais tarde a restante estrutura do p Tal como a Fig 44 reflecte para t 1s os sensores traseiros 3 e 4 revelam o impacto inicial nesta parte do p e mais tarde a partir de t 1 4s os restantes sensores informam o contacto total no solo Aqui tal como na sec o III 3 4 os sensores da direita 2 e 4 apresentam maior sensibilidade muito embora na pr tica todos os sensores possuam a mesma for a aplicada A m dia aritm tica dos quatro sensores revelam tamb m este fen meno mas de uma forma muito pouco pronunciada no que respeita ao contacto inicial dos sensores traseiros J para o contacto total mais evidente registando se primeiramente uma descida e novamente uma subida pronunciada para t gt 1 4s 96 B Descida do P contra um Objecto cobrindo os Sensores Dianteiros 1 e 2 A mesma experi ncia foi realizada agora colocando uma placa met lica sobre os sensores dianteiros do p sensores 1 e 2 A Fig 45 apresenta os dados registados Sensores de for a individuais 200 sensor 1 e sensor 2 sensor 3 150 e sensor 4 1 1 I LLY oo soco nos so ooo ns OSC UN CCC CO rT so AD hag Oh oco nt 00 sacas she I I 100 L L L L L L L L 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 M dia dos sensores de for a I I I I I Bi ae an a ae cc e poe l l l gore ent MOB id dd A da ee 150
123. mento o sistema se encontra a operar m xima efici ncia 69 Um fen meno que ainda no presente se observa na situa o em que o drive RS 232 removido sobre a unidade Master o que impossibilita a comunica o CAN de forma permanente Quando este drive removido acontece que o pino de recep o s rie do PIC RX fica em alta imped ncia fazendo com que sucessivos caracteres fantasma surjam nesta entrada ocupando toda a largura de banda de CPU Ora como a comunica o s rie de prioridade superior em rela o CAN os algoritmos de comunica o relativos ao CAN v em se sem possibilidade de execu o Para evitar este efeito sugere se a adi o de uma resist ncia suficientemente elevada entre este pino e a alimenta o conferindo o estado 1 na aus ncia de driver o estado idle corresponde ao estado 1 6 CONCLUS ES A arquitectura de comunica es adoptada para a estrutura human ide revelou se bastante simples de implementar seguindo uma l gica bastante intuitiva Esta arquitectura segue um formato distribu do com a associa o de cada trio de juntas normalmente associadas a um membro f sico a uma unidade de controlo local baseada num PIC que se responsabiliza em aplicar os sinais de controlo e ler a informa o sensorial Estas unidades de controlo interligam se umas s outras por meio de um nico barramento que partilha as mensagens em circula o a todas as unidades de controlo a el
124. mentos de comunica o mais concretamente a comunica o CAN muito usada em ambientes industriais tendo se desenvolvido v rios protocolos de forma a conferir a m xima robustez e maximiza o da largura de banda dispon vel Relativamente ao ltimo protocolo implementado os resultados observados s o bastante animadores sendo poss vel observar um funcionamento cont nuo sem quaisquer falhas aparentes nas comunica es Estas afirma es s o baseadas em testes exaustivos que foram realizados durante per odos de funcionamento cont nuos que nalguns casos atingiam dez horas pelo que poss vel confirmar a elevada robustez nas comunica es Apenas algumas correc es s o apontadas ao n vel do hardware para minimiza o dos efeitos colaterais na comunica o CAN quando o m dulo RS 232 da unidade Master removido Sugere se por isso a adi o de uma resist ncia na entrada s rie RX de forma a evitar a ocupa o total da largura de banda de CPU pelo m dulo de comunica o RS 232 que sendo de alta prioridade impediria o normal funcionamento do m dulo CAN Relativamente ao trabalho relativo aos algoritmos de controlo aconteceu a oportunidade de tomar conhecimento do mercado existente no que concerne aos sensores de for a que podem ser utilizados para conferir equil brio ao robot human ide durante a locomo o bem como tamb m v rias estrat gias para a sua aplica o No que respeita aos sensores de for a usados actualmen
125. mentos para o eixo ortogonal 112 B Varia o do CoP no Eixo yy Repetindo a mesma experi ncia mas agora aplicando um polin mio ao longo do eixo yy Fig 63 CoP 0 25 0 at 0 35 0 verifica se um comportamento muito semelhante elevado tempo de atraso e de estabelecimento na componente yy com um erro m ximo de 45 unidades e um tempo de estabelecimento de 4 segundos bem como tamb m algumas flutua es na componente xx muito embora mais reduzidas que no caso anterior 5 unidades As condi es da experi ncia ganho de controlo e per odo de traject ria mantiveram se CoP XX Erro do CoP Erro do CoP 50 Fig 63 Resposta ao polin mio aplicado no eixo yy com K 50 113 C Varia o do CoP no Eixo xy Aplicando a mesma traject ria polinomial na diagonal entre os eixos xx e yy desde as coordenadas CoP 25 25 0 at 25 45 0 Fig 64 obtiveram se praticamente os mesmos tempos de estabelecimento com 3 segundos para a componente xx e 4 segundos para a yy mas com algumas diferen as no que respeita ao erros de CoP comparativamente s circunst ncias em que cada eixo era utilizado de forma independente Como os sinais de erro obtidos para cada componente testada individualmente xx e yy apresentam sinais opostos a conjuga o das duas traject rias deveria resultar num sinal de erro mais reduzido pois estes sinais tenderiam a anular se Tal de facto
126. metria do eixo de rota o lateral imp e uma maior varia o de for a ao longo dos sensores dado esta varia o depender da for a imposta sobre a anca que para a estrutura considerada pode assumir v rios quilogramas ao contr rio da presen a do servomotor sobre a parte traseira do p que apenas possui algumas d cimas de quilograma podemos deduzir que os sensores com maior for a aplicada por ordem decrescente s o os seguintes Direito traseiro Direito dianteiro Esquerdo traseiro Esquerdo dianteiro Sta ae are Esta ordem indicada apenas difere da observada na Fig 38 no que respeita aos sensores dianteiro e traseiro mas como j foi indicado a influ ncia do servomotor na parte traseira desprez vel quando compar vel introduzida pelo eixo de rota o lateral pelo que poder amos tanto obter em primeiro os sensores dianteiros como os traseiros com semelhante probabilidade Como a an lise individual de cada sensor dif cil dada esta assimetria de sensibilidades efectuando uma m dia dos quatro sensores podemos obter a mesma informa o de impacto e estabiliza o s pela an lise de um nico sinal tal como se observa na Fig 39 Mean Force Sensing 200 Amplitude sm SO parterna tee a ws ree to O ger EEE EN ar ee eee Fae o Fig 39 M dia aritm tica dos sensores de for a durante a descida do p 92 Pela an lise Fig 39 podemos deduzir igualmente o m
127. mplo para ordenar o SCU X a coloca o das juntas nas posi es A Be C s o necess rios no m nimo quatro bytes tr s para as tr s posi es A B e C e um indicando a identifica o do SCU 1 bit Data 8 bits 1 bit Start bit Stop bit Estrutura de um pacote USART transmiss o recep o de um byte Comandos PC gt Master As mensagens no sentido PC master s o constitu das por seis bytes O primeiro byte sinalizar a mensagem como sendo um comando de solicita o unidade master MESSAGE REQ ver Tabela 18 o segundo byte conter um c digo opcode indicativo da opera o a realizar do SCU alvo e de par metros adicionais os tr s bytes seguintes conter o par metros a atribuir s tr s juntas no caso de um comando de actua o e finalmente o byte BCC indicar a validade da mensagem como n o tendo sofrido corrup o byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 SOF Oxf Opcode Mensagem USART PC Master de actua o byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 SOF OxFF OpCode 0 0 o0 B Mensagem USART PC Master de leitura sensorial Tabela 14 Campos das mensagens PC Master via USART Pacotes Fun o Valores poss veis SOF Start Of Frame Ver Tabela 18 Indica o tipo da mensagem OpCode C digo indicando o que Ver Tabela 15 solicitado e a quem se destina Joint 1 2 3 Dados de actua o cMensagem de actua o Dad
128. n metros em graus 20 Quanto aos dados de actua o e Posi o refer ncia a atingir para cada componente ngulos para os tr s servomotores ou as 3 componentes x y z do sistema de coordenadas cartesiana Velocidade m dia para a realiza o da traject ria at posi o final Tipo de controlador activo centro de press o inclina o ou velocidade angular Par metros de compensa o para o controlador activo K e para o controlo local Kp Ky Flags booleanas de des activa o ex PWMs Considera se que o controlo de actua o deve ser feito de forma isolada a cada uma das tr s juntas e por isso as diversas juntas podem realizar movimentos com diferentes velocidades e diferentes par metros de compensa o Tal til no ltimo caso pois cada junta pode estar sujeita a diferentes esfor os e por isso rent vel aplicar diferentes ganhos a cada uma Um dado importante a ter em conta a multiplicidade de significados que cada dado de actua o pode possuir dependendo do tipo de controlador activo Assim para cada tipo de controlador a posi o refer ncia diz respeito ao valor final que o respectivo controlador deve atingir Quatro tipos de controladores de primeiro n vel s o implementados e Sem controlador a posi o refer ncia diz respeito s tr s posi es angulares a aplicar a cada junta sendo directamente aplicadas sobre o controlador local ver abaixo e Controlo de Centro de Press o
129. na rede pelo que as op es tomadas devem ser implementadas em todas as unidades Como condi es base seguiram se as seguintes linhas v Escolha da vers o CAN mais universal fullCAN 2 04 v Configura o da velocidade na m xima poss vel lt 1 Mbps v Filtragem das mensagens apenas destinadas ao pr prio SCU apenas as mensagens com o endere o destino igual ao do pr prio s o aceites v Dadas as transac es serem constitu das por duas mensagens aproveitou se a presen a de dois buffers de recep o para redireccionar cada uma para um buffer parte dupla filtragem v Igualmente utilizou se dois buffers de transmiss o para transmitir cada uma das duas mensagens A seguir s o descritos as principais opera es na configura o deste recurso Modo de Configura o O PIC 18F258 possui seis modos de opera o dos quais apenas 3 nos s o teis gt Modo disable o PIC n o transmite nem recebe quaisquer mensagens gt Modo de configura o necess rio antes de activar as transmiss es recep es gt Modo de opera o normal recep o e transmiss o de mensagens v lidas via CAN Antes de colocar o PIC a processar mensagens via CAN necess rio antes colocar o PIC em modo de configura o e definir os seus par metros de configura o Apenas depois deste passo coloca se o PIC no modo de opera o normal Para definir o modo de funcionamento os bits REQOP do registo CANCON devem ser modificad
130. ncetar a tarefa de constru o de uma tal plataforma O estado actual de desenvolvimento perspectiva a abordagem de algoritmos eficientes ao n vel do controlo planeamento e percep o A motiva o para os projectos propostos na rea da rob tica human ide encontrada em diversas vertentes das quais se destacam as seguintes e A aposta nos rob s human ides como a via mais promissora para chegar a sistemas de elevada mobilidade versatilidade de opera o e facilidade de interac o com os humanos e A cria o de uma plataforma de investiga o de grande valor pedag gico face aos enormes desafios cient ficos e t cnicos diversidade de problemas ferramentas e n veis de integra o e A promo o do envolvimento de um grupo de estudantes da UA em competi es rob ticas internacionais Por exemplo o ROBOCUP e o FIRA s o duas organiza es internacionais que realizam anualmente competi es na classe dos human ides 11 3 OBJECTIVOS E MOTIVA ES DO TRABALHO Este trabalho est inserido numa bolsa de inicia o investiga o cient fica BIIC iniciada em Mar o e finalizada em Julho de 2007 com a finalidade de realiza o de trabalho de investiga o no mbito do Projecto Human ide da Universidade de Aveiro PhUA e visa a concep o e o desenvolvimento de ajudas computacionais para a opera o e o controlo de um robot human ide mais concretamente na parte da utiliza o dos sensores de for a presentes no
131. nos significativo modificando a sua gama de 8 bits para apenas 7 fazendo com que a diferen a Sensoroupu Sensorcaip se situe entre 127 e 127 resultando numa gama de 1 a 255 no resultado final da for a Sensor ADC gt gt 1 Right Shift output output Resumindo o processo de leitura da for a aplicado segue o seguinte processo 1 Com a aplica o de uma for a a placa de acr lico em conjunto com o extens metro colado deformam se 2 A resist ncia hmica do extens metro varia em torno do valor nominal 1200 3 A ponte de Wheatstone previamente calibrada pelo potenci metro regista a varia o pelo desequil brio de corrente que circula entre os dois ramos resultando numa varia o da tens o sa da O amplificador instrumental amplifica esta tens o A ADC do microcontrolador digitaliza esta tens o num valor de 8 bits 0 255 O valor estimado da for a aplicada determinado com base numa calibra o inicial por software presumindo a postura vertical da perna nessa circunst ncia NUR 76 Como se pode constatar a for a estimada n o corresponde ao seu valor absoluto dado que ele depende de in meros factores e Desgaste na deforma o do acr lico resultante das quebras nas liga es polim ricas e Precis o das extens metros e resist ncias envolvidas na ponte de Wheatstone pode variar para os diversos sensores Precis o da ADC e Calibra o f sica sobre o potenci metro Cali
132. num controlType Estrutura descritiva de um servo parte sensorial typedef struct signed char position Posi o signed char velocity Velocidade unsigned char current Corrente consumida struct servo Estrutura descritiva dos valores refer ncia a aplicar a um SCU typedef struct signed char position Posi o signed char velocity Velocidade struct paramControl Declara o das Estruturas de Dados no ficheiro c Vari veis globais descritivas do sistema pragma udata bank1 0x100 volatile struct_sensors sensors N_SCU Sensores pragma udata pragma udata bank2 0x200 volatile struct_actuators actuators N_SCU Actuadores pragma udata pragma udata bank3 0x300 volatile struct refControl refControl N_SCU pragma udata 47 3 COMUNICA O CAN 3 1 Introdu o A comunica o CAN implementada entre o Master e as diversas unidades Slave e tem como finalidade o redireccionamento dos dados de actua o provenientes da unidade principal para cada unidade Slave e no sentido oposto o envio dos dados sensoriais para a unidade Master de modo a que esta actualize a base de dados com a informa o sensorial de todas as unidades de forma a permitir unidade principal a sua consulta O CAN um sistema de comunica es s rie multi ponto que foi desenvolvido originalmente para a ind stria autom vel para possibilitar as comunica es entre di
133. o m nimo o consumo de largura de banda da rede O processamento de erros implicaria a transmiss o de mensagens para o master do estado da unidade o que poderia aumentar o risco de satura o da rede C Base de Dados Local Como as novas informa es de actua o nunca s o aplicadas imediatamente torna se necess rio armazenar estes valores numa base de dados local para posterior acesso pelas tarefas de controlo local O mesmo se passa com a informa o sensorial que quando gerada tem que ser armazenada para que a tarefa de comunica o CAN possa aced la mais tarde para o envio das mensagens de resposta Esta base de dados local muito semelhante base de dados apresentada na unidade master mas agora com a diferen a de ser de car cter local ou seja apenas armazena a informa o sensorial ou de actua o de um nico SCU o pr prio 60 Tipo enumerado do g nero de controlador implementado em cada junta typedef enum NO CONTROL 0b00 Funcionamento em malha aberta COP CONTROL 0b01 Controlo de equil brio no tronco INC CONTROL 0b10 Controlo das for as de reac o nos p s GIRO CONTROL 0b11 Controlo de posi o e velocidade enum controlType Estrutura descritiva do estado de um servo typedef struct signed char position Posi o refer ncia signed char velocity Velocidade unsigned char current Corrente consumida struct servo Base de dado
134. o ganho do controlador nulo rx error errorstr applycontrol H 1 2 0 0 0 ry 3 Definir a inclina o de refer ncia final rx error errorstr applyjoint H 1 0 40 0 0 4 Definir a dura o da traject ria rx error errorstr applyjoint H 1 1 100 0 0 5 Iniciar o movimento ao atribuir um ganho n o nulo ao controlador de inclina o rx error errorstr applycontrol H 1 2 30 0 0 E Note que antes de tudo feita a selec o do controlador de interesse pois desta forma a defini o do seu ganho e as instru es de actua o ser o agulhadas para o par metro de controlo associado Uma estrat gia usada neste exemplo para garantir que a traject ria n o iniciada durante a defini o da inclina o final e da velocidade a inicializa o pr via do ganho do controlador a zero para for lo ao estacionamento S ap s a atribui o de um ganho v lido ele retoma o seu funcionamento normal 33 2 2 Protocolo RS 232 A comunica o RS 232 entre o PC e a unidade Master efectuada assincronamente e orientada ao byte 1 start bit 8 bits de dados 1 stop bit ou seja transmitido um byte de dados em cada transmiss o recep o Pretende se que numa nica mensagem esteja contida toda a informa o relativa a um par metro a ler actuar nas tr s juntas de um SCU o que implica que cada mensagem seja constitu da por v rios bytes Como por exe
135. oP medido e a correspondente cinem tica directa do joelho e da anca ao longo do tempo comparando os valores esperados com os registados Todas as experi ncias executadas nesta sec o consideraram as seguintes condi es de funcionamento e Controlador de equil brio activado e com ganho de compensa o igual a 50 e Controlador local PID desactivado e Per odo das traject rias igual a 2 segundos A Traject ria ao longo do eixo xx Executando traject rias rectilineas ao longo do eixo xx desde as coordenadas CoPref 30 0 10 at 30 0 10 podemos observar na Fig 69 que o sinal de erro mant m se estabilizado na gama entre 20 e 20 unidades do centro de press o medido com 20 no sentido positivo da traject ria e 20 no sentido oposto A cinem tica directa tamb m se apresenta estabilizada sem a presen a de acumula o de erros contida entre 3cm para o joelho e 5cm para a anca segundo o eixo xx Analisando o eixo ortogonal yy que supostamente n o deveria apresentar varia es verifica se algumas flutua es tal como visto na sec o anterior mas contidas entre 15 unidades do centro de press o A cinem tica directa tamb m apresenta flutua es compreendidas entre 1 e 3cm para o joelho e entre 3 e 2cm para a anca Estas flutua es caracterizam se por uma forte depend ncia com o movimento no eixo ortogonal xx e n o podem de forma nenhuma ser ignorados 119 40 Previsto 20 f
136. observa se na componente xx que quando t nhamos erros de mais de 40 unidades agora foi reduzido para 35 Esta diferen a bate certo com os resultados experimentais da Fig 62 pois as flutua es introduzidas pelo movimento no eixo yy deveriam subtrair cerca de 5 unidades a este sinal que o que de facto se observa Contudo o erro na componente yy deixa de fazer sentido pois neste caso aumentou de 45 para 60 unidades Fig 64 quando deveria baixar 15 unidades para o valor 30 ver Fig 63 A raz o para este evento ainda n o muito clara e merece alguma reflex o pois do interesse em reduzir ao m ximo poss vel o erro de tracking da traject ria prevista CoP CoP Previsto Medido Anca Fig 64 Resposta ao polin mio aplicado nos eixos xy com K 50 114 Tendo em vista a redu o do sinal de erro modificaram se alguns par metros como o caso do ganho do controlador de equil brio e o per odo da traject ria Diminuindo o ganho do controlador de 50 para 30 Fig 65 evidencia se um aumento dos tempos de estabelecimento na componente xx aumentou de 3 para 3 5 segundos e em yy subiu al m dos 4 segundos bem como igualmente um aumento do erro para a resposta na componente xx 35 para 40 unidades O sinal de erro na componente yy manteve se constante CoP CoP Fig 65 Resposta ao polin mio aplicado nos eixos xy com K 30 115 Se em vez de diminui
137. ois andares O primeiro composto pela ponte de Wheatstone pretende converter as varia es hmicas do extens metro a deformar num sinal el ctrico tens o e finalmente o amplificador instrumental para amplificag o dos pequenos sinais presentes sa da da ponte A ponte composta por dois ramos inicialmente pensou se que possuiria num dos ramos o extens metro a ser medido EXT em s rie com uma resist ncia fixa e o segundo ramo teria duas resist ncias de valores iguais aos do primeiro mas uma delas vari vel para fazer a compensa o do ponto de equil brio quando nenhuma for a aplicada Neste ponto a tens o nos pontos interm dios de cada ramo deve ser igual resultando numa diferen a de tens o nula entrada do amplificador Contudo verificou se que possu a demasiadas assimetrias entre os dois ramos observando se varia es na sa da ao longo do tempo A verdade que cada componente apresentava uma rela o hmica com a temperatura diferente fazendo com a corrente que o atravessava variasse de forma n o constante entre eles e por isso a observa o das varia es na sa da 74 Para resolver este problema atribuiu se simetria ao circuito ou seja em ambos os ramos ter amos um extens metro e uma resist ncia vari vel de propriedades semelhantes no primeiro seria com o extens metro a ser medido EXT em s rie com um potenci metro que n o se pretende variar uma vez regulado inicialmente POT FIXED e o
138. omento do impacto t 1s e o instante inicial da estabiliza o t 1 4s usando os mesmos crit rios de an lise aplicados Fig 38 Se em vez dos sensores de for a analisarmos a corrente consumida pelos diversos servomotores envolvidos Fig 40 podemos observar v rias flutua es dos tr s servomotores inferiores da perna tanto antes do impacto como depois o que n o nos transmite muita informa o til sobre este fen meno Quanto ao servomotor da anca motor 1 do 2 microcontrolador ainda menos informa o se pode extrair sem qualquer consumo registado Al m disso v rias leituras revelaram se viciadas com alguns servomotores a imitaram o consumo de corrente feito por outros tendo a certeza de que estes nada consumiam Este efeito apenas se observou por entre os tr s servos da mesma unidade de controlo o que revela que algum isolamento nas linhas de alimenta o necess rio Por estes motivos n o se encontrou motivos para analisar estes sinais para o prop sito de impacto no solo Corrente do 10 microcontrolador Corrente do 20 microcontrolador Motor 1 Motor 1 Motor 2 Motor 3 Current pulse Current pulse Fig 40 Consumo de corrente por parte dos servomotores durante a descida do p B Subida do P A experi ncia de subida do p a partir do solo foi tamb m efectuada atrav s do seguinte procedimento 1 A perna inicialmente encontra se na postura vertical x y
139. onfin H scu list Espera que um SCU termine a execu o do movimento waitmotionfin m stat error errorstr waitmotionfin H scu list Espero que o processo de inicia o e t rmino do movimento seja executado waitpwmon m stat error errorstr waitpwmon H scu list Espera que o PWM seja activado nas tr s juntas de um SCU Ao contr rio das fun es de interface b sicas sec o II 2 1 A estas permitem a utiliza o de listas de endere os de SCUs para aplica o do procedimento Assim sempre que precisar de executar uma opera o para v rios SCUs introduza um vector com a refer ncia a todos eles no par metro scu list inituc Activa o dos PWMs de uma s rie de SCUs error errorstr inituc H scu list Entradas H Siw abel Sa das error Srrorstr gt killuc gt Handler para comunicar com o Master gt Conjunto de SCUs alvo endere os gt C digo d ECOS String descritiva do erro xistent Desactiva o dos PWMs de uma s rie de SCUs error errorstr killuc H scu list Entradas H scu id Sa das error erroari gt gt Handler para comunicar com o Master gt Conjunto de SCUs alvo gt C digo d endere os xistent CEO String descritiva do erro 27 sensor reset Recalibra o sensorial de um conjunto de SCUs stat error errorstr sensor reset H scu list Entradas H gt
140. ontudo como j foi referido anteriormente a for a inicial de cada sensor desconhecida o que se ignorada afectar tamb m o valor do centro de press o de uma forma n o sistem tica op dual 4 Sion ema Doe het rd E let di Cop ia U E e ae Tendo em conta que a estima o da for a j inclui a adi o de um offset 128 de forma a prever esta for a inicial basta a seguinte express o para estimar o CoP o Euler si Dr t Contudo dado o formato n o sim trico dos p s rectangular a medi o do CoP na componente xx possuir maior sensibilidade que na componente ortogonal yy Para compensar esta assimetria adicionou se um segundo offset subtractivo for a medida em cada sensor de modo que quanto maior for o seu valor maior ser a sensibilidade atribu da Este offset est expresso nas equa es seguintes possuindo um valor superior para a componente yy cop Zus offset Je x CO Side offser CoP 2 An offset y DE offset Por observa o experimental convencionou se offset 0 e offset 50 dado que a for a normalizada 128 os offsets devem ser inferiores a 128 de modo a evitar resultados negativos 78 2 O CONTROLADOR DE EQUIL BRIO 2 1 Introdu o Uma vez que j possu mos um meio de calcular o centro de press o em cada instante apenas nos falta apresentar o controlador de equil brio que tem como fun o o movimento das juntas com o objectivo
141. or Ligar as comunica es atrav s do terminal R E Smith seguindo as op es da Tabela 20 3 Verificar a conectividade atrav s de uma mensagem de teste e de seguida desligar as comunica es 4 Abrir o MatLab e ligar a porta s rie atrav s dos comandos do cport definindo apenas o baudrate 5 Anotar as configura es tomadas fazendo stat cportconfig handler 6 Redefinir as configura es do cport com estes dados actualizar Tabela 19 Sempre que um programa tenha utilizado a porta s rie antes as configura es a adoptar pelo cport ser o as mesmas que desse programa A partir daqui s configurar a porta s rie com estes dados sempre que uma liga o estabelecida Para simplifica o duas fun es foram criadas para automatizar o processo de conex o e desconex o com as configura es citadas anteriormente Tabela 2 Elas s o as seguintes Estabelecimento de uma nova liga o via RS 232 handler error errorstr initcom gate baudrate T rmino de uma liga o RS 232 existente error errorstr killcom handler B Algoritmos de Comunica o As rotinas de comunica o b sicas j apresentadas na sec o II 2 1 ver Tabela 2 e Tabela 8 constituem a forma de interface entre a unidade de controlo principal normalmente um computador e a unidade master O seu algoritmo b sico de funcionamento apresentado na Fig 7 e resume se ao envio de uma mensagem unidade master de acordo com os par m
142. or de Primeiro N vel Cada unidade slave possui dois controladores em cascata 1 Controlador de primeiro n vel respons vel por realizar traject rias de v rios par metros de actua o diferentes como por exemplo posi o angular ou centro de press o 2 Controlador local respons vel pela garantia da aplica o da posi o angular solicitada Quatro tipos de controladores de primeiro n vel est o implementados tal como se pode constatar atrav s da Tabela 11 Tabela 11 Controladores de primeiro n vel consultar Tabela 7 Tipo de controlador Par metro de actua o Sensores utilizados Sem controlador Posi o angular do servo Potenci metro do servomotor Controlo do Centro de Press o Centro de Press o 4 Extens metros Controlo de Inclina o Inclina o Aceler metros Inclin metros Controlo de Velocidade Angular Velocidade Angular Girosc pios 31 Se n o se seleccionar nenhum controlador as traject rias efectuadas ter o como base apenas posi es angulares refer ncia relativas aos pr prios servomotores Caso contr rio um dos conjuntos de sensores especiais ser o utilizados com o controlador a executar a tarefa de calcular a posi o angular a atribuir aos motores de modo a alcan ar o valor refer ncia A fun o applycontrol destinada escolha deste controlador com o seu par metro param igual 3 ver Tabela 6 e o par metro servos com a selec o do cont
143. ormente tenha sido enviado um comando de activa o de PWMs ex inituc ou applyjoint stat error errorstr waitpwmon H scu list Entradas H gt Handler para comunicar com o Master Seta gt Conjunto de SCUs alvo endere os Sa das stat gt Indicador de sucesso na opera o error gt C digo d AOS xistent errorstr gt String descritiva do erro C Utiliza o dos Device Drivers Estabelecimento T rmino de uma Linha de Comunica es Para criar uma linha de comunica es s rie utilizado o comando initcom Note que um handler nulo significa que n o foi poss vel abrir o canal apenas handlers n o nulos s o v lidos handler error errorstr initcom gate rate Como por exemplo para abrir um canal utilizando a porta COMI a um ritmo de transmiss o de 115k2 bps o seguinte comando deve ser enviado H error errorstr initcom 1 115200 Para verificar se as comunica es est o a decorrer sem problemas nenhuns pode se utilizar o comando testcom Se o valor O for retornado tudo est ok error errorstr testcom H Para fechar o mesmo canal deve se em contraposi o utilizar o comando killcom error errorstr killcom H 29 Activa o Desactiva o dos Sinais de PWM Para controlar a presen a ou n o dos sinais de PWM sobre os servomotores utilizado o comando de actua o applyjoint com o valor 3 no par metro param PARAM SPECIAL tal como descrito na Tabela 5 Por sua vez
144. os de actua o a atribuir a cada componente de um determinado SCU e Mensagem de leitura sensorial campos nulos BCC Block Check Code 5 Verifica o da integridade da BEC byte 256 mensagem j A Tabela 15 descreve a estrutura do byte OpCode bem como todos os seus valores poss veis Os tr s bytes de dados Joint 1 2 3 dizem respeito opera o indicada neste byte bit 7 6 5 4 3 2 1 bit O Operation SCU ID Parameter Byte OpCode Tabela 15 Campos do pacote OpCode nas mensagens PC Master via USART SCU id Operation Parameter PARAM POSITION 0b00 Posi o refer ncia a ser atingida OP APPLY JOINT 0b00 Mensagem de actua o sobre as PARAM VELOCTITY 0b01 tr s componentes do SCU alvo Velocidade m dia do movimento a efectuar SCU 1d componentes dependem do controlador activo PARAM SPECIAL 0b11 Des Activa o do PWM aplicado aos motores PARAM_KI 0b00 Ganho da componente integral do controlador local OP_APPLY_CONTROL 0b01 PARAM_KP 0b01 Ganho da componente proporcional do controlo local Mensagem de actua o sobre as SCU alvo relativo tr s juntas do SCU alvo com a PARAM_K 0b10 opera o defini o dos par metros dos Ganho do controlador de primeiro n vel u a 15 controladores PARAM CONTROLON 0b11 SCU s Ti e 3 ipo de controlo de primeiro nivel a aplicar na 0x0001 0x1111 junta PARAM PO
145. os para o modo de interesse e esperar a mudan a efectiva por polling dos bits OPMODE do registo CANSTAT Baudrate Todos os n s na rede CAN devem ter o mesmo bitrate nominal n mero de bits transmitidos por segundo sem no entanto ser necess rio que todos os n s tenham a mesma frequ ncia de oscila o No entanto necess rio o cuidado em programar o baudrate prescaler e o n mero de time quanta explicado adiante em cada segmento de bit de modo a manter o bitrate nominal O bitrate m ximo depende da qualidade do transmissor e do oscilador e da presen a de ressincroniza es mas poder atingir o valor m ximo de 1 Mbps numa situa o ideal Bit value 0 Bit value t io rt Fig 17 Codifica o NRZ 53 Dado que a transmiss o utiliza codifica o NRZ non return to zero Fig 17 e que os osciladores e transmissores podem variar de n para n necess rio introduzir bit stuffing para possibilitar a extrac o de rel gio para efeitos de sincroniza o Tal feito de modo a garantir uma altern ncia de bit pelo menos de 6 em 6 bits Uma unidade denominada por DPLL utilizada para a sincroniza o dos dados recebidos e para garantir o bitrate nominal nos dados transmitidos Fun es de bus timing executadas dentro de cada bit frame como a sincroniza o com o oscilador local compensa o do atraso introduzido pela rede e posicionamento de amostragem implicam a particionamento de cada bit em v rio
146. otenci metro sinal de erro calcula a compensa o a atribuir ao servo para que o sinal de erro se anule Para ajuste deste compensador s o usados os ganhos K e Kp para as componentes integradora e proporcional respectivamente Para a defini o destes ganhos usada igualmente a fun o applycontrol com o par metro param igual a O para o ajuste de K e 1 para o Kp Tabela 6 O par metro servos possuir o valor num rico do ganho a atribuir a cada junta vector triplo Tabela 12 Syntax da fun o applycontrol na defini o dos ganhos K e Kp do controlador local Ganho a controlar Syntax da fun o Ki rx error errorstr applycontrol H scu id 0 servos Kp rx error errorstr applycontrol H scu_id 1 servos Para a defini o de um Kj igual a 5 e um Kp igual a 20 s tr s juntas do SCU 1 usar se a sintaxe applycontrol H 1 0 5 5 5 applycontrol H 1 1 20 20 20 Caso se atribua K e Kp nulos o controlador local ser desactivado e as posi es angulares retornadas pelo controlador de primeiro n vel s o aplicadas directamente sobre os servomotores rx error errorstr applycontrol H scu id 0 0 0 0 rx error errorstr applycontrol H scu_id 1 0 0 0 32 Execu o de Traject rias Para a defini o dos setpoints para uma traject ria a fun o de actua o applyjoint utilizada com o par metro param a O para a atribui o da posi o refer ncia
147. out para a recep o transmiss o de uma mensagem 10 ms state cportconfig handler BaudRate 115200 ByteSize 8 fNull OFE EDEFCONELXO1 ORR ERESCentrol DEF fAbortOnError ON ErrorChar ReadIntervalTimeout 2 11 baudrate 1000 ReadTotal ReadTotal 1 1 imeoutMultiplier 1 imeoutConstant 10 WriteTotalTimeoutMultiplier 1 WriteTotalTimeoutConstant 10 Para efeitos de debugging til usar um terminal RS 232 Recomenda se a utiliza o do terminal R E Smith por permitir a troca de bytes de qualquer c digo ASCII caracter ou n o e a visualiza o das sa das entradas 38 em formato hexadecimal Em caso de uso de um terminal as seguintes op es s o suficientes Tabela 20 Configura es de um terminal RS 232 No caso do R E Smith usar COMI 115200 N 8 1 Campo Valor Porta COMI Baudrate 115200 Bits de dados 8 Paridade Nenhum Bits de paragem 1 Controlo de fluxo Nenhum No caso de haver algum problema durante o funcionamento necess rio reinicializar as comunica es Para isso basta fazer stat cportreset handler Para terminar as comunica es s usar o comando cportclose stat cportclose handler Caso haja algum problema na configura o do cport pode obter as defini es correctas atrav s do seguinte procedimento 1 Fechar todos os programas e reiniciar o computad
148. plo o endere o destino e filtros podem ser utilizados para fazer a selec o dos padr es e redireccionar para determinados buffers Desta forma apenas as mensagens cujos bits da sec o do identificador programado coincide com o padr o especificado s o aceites e carregados para os buffers de recep o gerando uma interrup o para o posterior processamento Mascara do bit n Filtro do bit n Valor do bit n Resultado 0 x x Rejeitado 1 0 0 Aceite 1 0 1 Rejeitado 1 1 0 Rejeitado 1 1 1 Aceite Tabela 24 Resultado da filtragem para cada bit Pela Tabela 24 podemos verificar que apenas os bits definidos a 1 pela m scara ser o considerados para filtragem Todos os outros ser o rejeitados a priori Dos que s o considerados para filtragem s o comparados com um determinado padr o sendo apenas aceites os que coincidem com esse padr o Apenas as mensagens em que todos os bits do filtro s o aceites s o consideradas para processamento por parte do programador Para o PIC 18F258 poss vel utilizar todos os bits do identificador na m scara e filtragem e definir at dois padr es de filtragem para armazenamento imediato no primeiro buffer de recep o e at 4 padr es para armazenamento no segundo buffer Fig 19 Accept Acceptance Mask RXM1 Acceptance Filter RXM2 Accept Acceptance Mask Acceptance Filter a RXMO RXF3 Acceptance Filter Acceptance Filter RXFO R
149. po de controlo de primeiro n vel Type a PARAME ONEROLON 4 aplicar em cada junta Tabela 7 Type Types Types Tabela 7 Tipos de controladores de primeiro n vel a aplicar com o par metro PARAM CONTROLON na fun o applycontrol Tipo de Controlo Type Descri o NO CONTROL O Sem Controlo de primeiro n vel COP CONTROL 1 Controlo de Centro de Press o INC CONTROL 2 Controlo de Inclina o GIRO CONTROL 3 Controlo de velocidade angular 26 B Outros Device Drivers Outras fun es est o tamb m dispon veis n o sendo nada mais que opera es de n vel interm dio que fazem uso dos device drivers apresentados na sec o anterior sec o II 2 1 A Tabela 8 Lista de device drivers da unidade principal Ficheiro Fun o Descri o no oa Activa o do PWM para inituc m error errorstr inituc H scu_list BR v rios SCUs killuc m error errorstr killuc H scu_list Desactiva o do PWM para v rios SCUs sensor_reset m stat error errorstr sensor reset H scu list Recalibra o dos sensores de um SCU statmotionfin m finall finone fin J statmotionfin H scu list Consulta do estado da execu o de traject rias por parte de um SCU motionstart m stat error errorstr motionstart H scu_list Espera que um SCU inicie a execuc o do movimento motionfin m stat error errorstr moti
150. ponda actual este comando ficar bloqueado Como solug o pode se adicionar um timer para impor um timeout motionfin Espera que todos os SCUs indicados na lista terminem a execu o de uma traject ria stat error errorstr motionfin H scu_list Entradas H gt Handler para comunicar com o Master SUBEN gt Conjunto de SCUs alvo enderecos Sa das stat gt Indicador de sucesso na operac o error gt C digo d AS xistent errorstr gt String descritiva do erro 28 waitmotionfin Espera que todos os SCUs indicados na lista comecem e terminem a execu o de uma traject ria Esta opera o a conjun o das opera es motionstart e motionfin E necess rio que previamente tenha sido enviado um comando de actua o para inicio de um movimento applyjoint stat error errorstr waitmotionfin H scu list Entradas H gt Handler para comunicar com o Master gep aiel gt Conjunto de SCUs alvo endere os Sa das stat gt Indicador de sucesso na opera o error gt C digo d iO xistent errorstr gt String descritiva do erro Efeitos colaterais caso a posi o das juntas indicado no comando de actua o corresponda actual este comando ficar bloqueado Como solu o pode se adicionar um timer para impor um timeout waitpwmon Espera que todos os SCUs indicados na lista possuam os seus sinais de PWM actua o sobre os motores activados E necess rio que anteri
151. precisamente pelo mesmo motivo da in rcia existente para o deslocamento agora necess ria uma for a maior sobre o p para deslocar as mesmas juntas do p e por isso os sensores registam uma maior varia o neste momento 100 3 6 Conclus es Pela an lise aos dados amostrados nas experi ncias realizadas podemos extrair duas causas principais para que a sa da dos sensores de for a se desviem do valor esperado da for a aplicada e Assimetria dos pontos de liga o do p com a restante perna servomotor localizado na traseira e o eixo de rota o lateral desviado para a direita e In rcia existente sobre as juntas do p depende do tipo da superf cie irregular Devido assimetria dos pontos de liga o do p com a perna nomeadamente a do eixo rotacional lateral do p que corresponde maior influ ncia tem se uma maior sensibilidade por parte dos sensores de for a da direita 2 e 4 o que leva a informa o contradit ria aquando da an lise de cada sensor na presen a de irregularidades sobre a parte lateral esquerda ou dianteira traseira Por este motivo de evitar a an lise da informa o sensorial individual de cada sensor mas sim da m dia ou da soma dos quatro sensores Pela an lise da m dia aritm tica pode se obter dados mais consistentes do momento do impacto inicial e total muito embora a sua notoriedade dependa da sensibilidade dos sensores envolvidos Se o impacto se aplicar ao conjunto mais s
152. r gt Slave As mensagens trocadas do master para slaves t m como fun o a actualiza o dos actuadores das juntas a que dizem respeito pelo que transportar as seguintes informa es para cada um dos tr s servomotores associados m Posi o refer ncia a aplicar ao controlador de primeiro n vel m Velocidade media do movimento m Flags de des activa o dos controladores locais ex PWM m Par metros de compensa o dos controladores local e de primeiro n vel Source address Destination address Index Operation AAA AA a Identificador de uma mensagem de actualizac o de actuadores O identificador destas mensagens possuem o endere o 0b0000 no source address indicativo de que o pacote proveniente da unidade master e o campo operation cont m o c digo 0b01 descrevendo que o pacote tem como inten o fazer uma actualiza o dos actuadores O campo destination address identifica o SCU alvo Tr 1 Pre EETA 3 re 4 ee EEN 6 Se Z gt 8 AS ee primeira mensagem de de actuadores e ago 1 lt 3 4 lt 6 lt 7 8 da mensagem de gt de actuadores FT 51 Cada transac o constitu da por duas mensagens em que tanto a posi o refer ncia final como a velocidade m dia e os par metros de compensa o para cada servomotor s o actualizadas de uma s vez O byte Control Flags tem como fun o indicar qual o tipo de controlador de primeiro n vel a estar activo em cada um dos s
153. r 4 180 uv T 160 E 140 120 100 Fig 41 Medi o dos sensores de for a durante a subida do p a partir do solo Mean Force Sensing 2 oro oo oo 190 2 oe oe ee ass as ae Be De on 180 foe Ba o a u un u u ae TAU een ae team eg a a ieee A dos ed Meta om tte gee a a q Ser or T 1 1 1 1 1 1 1 1 1 1 i i Rn i i i i 0 se Gr ae esse a oe ss std oz E E E 140 cd q a oe po RR os Aa i o rea I a en a Ber Pe er met O nen effect 110 H b desen deren Barmen Bann baren been d E A AAN Fig 42 M dia aritm tica dos sensores de forca durante a subida do p Os gr ficos demonstrativos do consumo de corrente indicados na Fig 43 confirmam mais uma vez a ideia transmitida na an lise dos dados durante a descida do p Embora agora apenas se registe consumo a partir do momento de eleva o do p acima do solo verificam se algumas contradi es como o caso de aus ncia de consumo quando a m xima for a se encontrava aplicada in cio do percurso e a presen a de consumo por parte do motor de rota o lateral do p motor 1 quando este nunca foi sujeito a nenhum deslocamento nem a nenhuma for a lateral 94 Corrente do 10 microcontrolador Corrente do 20 microcontrolador Motor 1 Motor 2 7 Motor 3 Motor 1 57773 Motor 2 Motor 3 Current pulse Current pulse Fig 43 Consumo de corrente por parte dos servomotores durante a subida
154. r de teste Os bytes 2 a 5 podem possuir qualquer valor desde que o byte BCC esteja de acordo com eles Por sua vez o master dever responder com uma mensagem de 7 bytes possuindo os mesmos valores que a primeira byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 soore x xs _x xs o rj Resposta Master PC a uma mensagem de teste A Tabela 18 apresenta sintetizados os diversos tipos de mensagens apresentados nas sec es anteriores com a descri o do byte SOF utilizado para cada caso Tabela 18 Tipos de mensagens USART primeiro byte de cada frame Tipo de Mensagem Designa o C digo Descri o Mensagem de solicita o MESSAGE REQ OxFF Solicita o de dados do PC para o Master Mensagem de teste MESSAGE TEST OxFE Envio l de uma mensagem de teste das comunica es Mensagem de sucesso Resposta a uma mensagem de solicita o MESSAGE SUCESS OxFD MESSAGE REQ indicando que o comando foi executado com sucesso Par metros inv lidos MESSAGE INVREQ OxFC Pedido com par metros inv lidos Mensagem inv lida MESSAGE INVALID OxEB Mensagem de estrutura inv lida BCC incorrecto 3 SI 2 3 Unidade Principal A Configura o da Unidade Principal Como configura es gerais optou se por efectuar as transac es velocidade m xima permitida sem a aplica o de controlo de comunica es Elas s o Baudrate 115200 bps Tamanho da palavra de dados 8
155. r todo o apoio e paci ncia que entregaram gratuitamente para que este trabalho desse os seus frutos At breve 141
156. ra se em leve contacto no solo com as seguintes coordenadas iniciais x y z 0 0 0 4 cm O p elevado at altura m xima de coordenadas x y z 0 0 2 0 cm mantendo a superf cie do p horizontal ao solo A perna descida at atingir a verticalidade m xima coordenadas x y z 0 0 0 Durante este procedimento os sensores de press o e corrente s o amostrados velocidade m xima permitida pelo MatLab e pelo sistema operativo Windows XP O par metro tempo tamb m ser amostrado para associa o aos dados de for a e corrente 4 No fim da amostragem a perna reposta na altura m xima x y z 0 0 2 0 cm Os dados dos sensores de for a obtidos durante a descida podem ser consultados na Fig 38 A numera o atribu da aos quatro sensores obedece aos indicados na Fig 26 Force Sensors 220 Sensor 1 200 1 Sensor 2 i Sensor 3 i Sensor 4 180 2 e 3 Pd i 160 p paranas MAS Laat gata pay ERRE i t e eos cores s EE ca i i ek ge i Di peida nee A os as ce mann an Se te eee et 1 te cfg o papos aa ain Bas Ba Hau nen u u u 100 N i N i 0 02 04 06 08 1 12 1 4 16 18 2 Fig 38 Medi o dos sensores de for a durante a descida do p contra o solo 91 No in cio da experi ncia quando o p ainda est suspenso podemos confirmar a correcta calibra o dos sensores atrav s do seu valor inicial 128 A partir de t 1s pode se constatar que
157. resenta o do enquadramento e objectivos do trabalho e Cap tulo II Arquitectura das Comunica es Descri o da arquitectura f sica e do protocolo aplicado nas redes de comunica o presentes no robot de forma a tirar partido de todas as suas capacidades e Capitulo II Locomo o baseada em sensores de for a Apresenta o das t cnicas de percep o e de controlo de forma a fazer uso dos sensores de for a para as tarefas de detec o de eventos e realiza o de movimentos de locomo o e Capitulo IV Notas finais Conclus es finais e outras informa es teis para a continua o deste trabalho O primeiro cap tulo far um breve resumo das caracter sticas da plataforma human ide tendo como objectivo essencial a familiariza o do leitor para com o sistema em estudo Os cap tulos com o desenvolvimento do trabalho nomeadamente o Il e o III apresentam inicialmente um breve resumo com os objectivos a atingir e no final uma sec o conclusiva com a an lise de resultados e conclus es tiradas O ltimo cap tulo descrever de uma forma mais global as conclus es obtidas nos cap tulos anteriores e aponta as novas oportunidades que este projecto abriu em prol do futuro 13 4 DESCRI O DA PLATAFORMA HUMAN IDE A plataforma human ide possui um conjunto de 22 graus de liberdade distribu dos da seguinte forma e 2emcada p 2x2 1 em cada joelho 1x2 3 em cada anca 3x2 2 no tronco 2x1 3 em cada
158. resposta interior Para evitar este tipo de problemas pesquisa se durante algum tempo pelo byte SOF de valor superior a MESSAGE INVALID OxFB e s depois de recebido l se a restante mensagem 41 2 4 Unidade Distribuidora MASTER A Configura o da unidade Master Para configurar a unidade microcontroladora a operar com a linha RS 232 necess rio efectuar um conjunto de passos que ser o descritos a seguir Primeiramente necess rio configurar os pinos RX recep o e TX transmiss o como entrada e sa da respectivamente TRISC TRISC 0x80 amp OxBF De seguida necess rio configurar o baudrate da comunica o atrav s do registo SPBRG Para a frequ ncia de CPU Fcpy 10MHz e para um baudrate desejado de 115200 bps segundo a f rmula modo BRGH activo high speed F SPBRG round LU 1 4 Baud O registo SPBRG deve assumir o valor de 21 Configurar o modo de funcionamento de transmiss o atrav s do registo TXSTA e de recep o pelo registo RCSTA R W 0 RAN O R W 0 R W 0 U 0 R W 0 R 1 RAN O CSRC TXEN SYNC BRGH TRMT TX9D bit 7 bit O Registo TXSTA Campo Par metro Valor Descri o CSRC Clock Source Select bit X EA TX9 9 bit Transmit Enable bit 0 Selects 8 bit transmission TXEN Transmit Enable bit 1 Transmit enabled SYNC USART Mode Select bit 0 Asynchronous mode BRGH High Baud Rate Select bit 1 High speed TRMT Transmit Shift Register S
159. rincipal 3 2 Setup Experimental Uma das pernas do robot human ide foi segura a estrutura de altura fixa de modo a simular o deslocamento da perna livre que sup e que a anca permane a de altura fixa Fig 35 A Suporte da Perna gt Vista Lateral da Perna Fig 35 Setup experimental para movimenta o da perna com a anca fixa A altura a que se encontra esta estrutura fixa possui uma altura ao solo sensivelmente inferior altura total da perna de modo a permitir que quando a perna atinge a postura vertical esta toque o ch o e levante a pr pria estrutura exercendo desta forma uma for a n o desprez vel sobre o p Os movimentos ser o realizados atrav s da actua o ao servo paralelo ao p e ao joelho 8 e 03 mais ainda um terceiro servo presente na anca que permite o movimento da perna superior relativamente estrutura de altura fixa 04 Relativamente ao servo ortogonal ao p que controla a sua rota o 01 este manter se constante de modo a que a base do p se mantenha sempre alinhada com o solo Desta forma as nicas vari veis independentes de controlo correspondem aos servos associados aos ngulos 02 e 83 com 8 dependente destes dois par metros de modo a manter o plano do p alinhado com o solo 87 a 0 8 64 Como os ngulos 01 0 e 03 fazem parte da unidade de controlo localizada na perna e 04 j pertence a uma segunda unidade de controlo teremos de env
160. rmas do p atrav s de uma porca sobre a plataforma superior mas os restantes tr s s o directamente inseridos sobre pe as met licas presentes no topo do p a base do parafuso est livre mas a outra extremidade est fixa plataforma superior Estes dois formatos introduzem diferen as significativas sobre a resposta de cada sensor A fixa o atrav s de porca permite a aproxima o sem limita es das duas plataformas mas impede o afastamento desta forma pode se definir a deforma o inicial sem comprometer o movimento das plataformas J a fixa o por inser o directa faz com que a liberdade de movimento dependa apenas da base do parafuso que se encontra livre da plataforma inferior o que por sua vez limita o movimento das plataformas pela dist ncia que esta extremidade tem ao solo a base do parafuso est ligeiramente inserida sobre a plataforma pelo que algum movimento ainda poss vel Contudo esta dist ncia escassa e impede a livre deforma o das placas de acr lico Como f cil de concluir quanto menor for a dist ncia livre entre a base do parafuso e o solo maior ser a limita o Al m destes problemas tamb m se observam respostas vari veis com o tempo causados com tend ncia a deteriorar se ao longo do tempo necessitando de reajustes no ganho do controlador bem como na deforma o inicial dos sensores As causas podem ser identificadas como as seguintes e Postura da perna no momento da cali
161. rmos o ganho aumentarmo lo para K 70 Fig 66 verifica se o oposto os tempos de estabelecimentos tendem a diminuir 3 segundos para a componente xx e 3 5 segundos para yy e o erro de tracking tamb m tende a ficar mais pequeno 30 unidades para xx e 58 unidades para yy CoP CoP 40 60 Previsto Medido AU 40 1 a nn PERE EA o esti pista mia ii dat do ball XX Previsto Medido Erro do CoP Erro do CoP 10 T r Coordenadas Cartesianas cm Fig 66 Resposta ao polin mio aplicado nos eixos xy com K 70 Conclui se assim que o aumento do ganho de compensa o do controlador de equil brio tende a melhorar o tempo de estabelecimento e o erro de tracking Contudo existe um limite para o qual o sistema come a a instabilizar observando se significativas vibra es Este fen meno come a a ser observado precisamente para o ltimo ganho testado K 70 pelo que poucas possibilidades h para melhorar o erro que em si ainda se apresenta um tanto longe para possuir valores satisfat rios 116 Se em vez de manipular o ganho de compensa o variar a velocidade da traject ria ou por outras palavras o seu per odo poss vel que o erro possa ser melhorado A Fig 67 e a Fig 68 exploram esta possibilidade A Fig 67 apresenta o caso em que o per odo da traject ria foi reduzido para apenas 1s duplicou se a velocidade As cons
162. rolador para cada junta vector de tr s elementos ver Tabela 7 rx error errorstr applycontrol H scu id 3 servos Como por exemplo para seleccionar o controlador de centro de press o para as tr s juntas do SCU 1 necess rio enviar o seguinte comando applycontrol H 1 3 1 1 1 Al m da selec o do controlador necess rio tamb m configurar o seu ganho para ajustar a sua reactividade a varia es do sinal de erro na sua entrada Este ganho control vel tamb m atrav s da fun o applycontrol mas com o par metro param igual a 2 Tabela 6 O par metro servos assim usado para defini o do ganho para cada junta Note que se definir diferentes controladores para as v rias juntas cada ganho ser aplicado ao seu correspondente controlador rx error errorstr applycontrol H scu id 2 servos Para a defini o de um ganho de 30 para as tr s juntas deve ser executado o seguinte applycontrol H scu id 2 30 30 30 Controlador Local O controlador local respons vel por garantir a aplica o da posi o angular solicitada pelo controlador de primeiro n vel com base na posi o medida atrav s do potenci metro interno ao servomotor Caso o controlador de primeiro n vel esteja desactivado a posi o de actua o enviada pela unidade central aplicada directamente neste controlador Esta componente apenas se trata de um compensador do tipo PI que a partir da posi o refer ncia e da medida pelo p
163. s p s para a detec o de eventos importantes e de realiza o de movimentos de locomo o De referir que tal constitui uma continua o do trabalho desenvolvido no ano lectivo 2005 06 que se centrou sobretudo no desenvolvimento de algoritmos de controlo para a locomo o usando servomotores como actuadores e os respectivos potenci metros medidores da sua posi o angular como sinal de retorno Na parte final desse trabalho iniciou se o estudo dos sensores de for a presentes na base dos p s utilizando os unicamente para o equil brio est tico da plataforma human ide Com este trabalho pretende se ir um passo mais al m e efectuar equil brio din mico ou seja realizando movimento usando desta vez os sensores de for a como sinal de retorno de forma a assegurar ao mesmo tempo o equil brio da estrutura Adicionalmente tamb m se pretende trabalhar sobre a arquitectura de comunica es entre as unidades de controlo de baixo n vel e a unidade principal de modo a adaptar o protocolo de comunica es s novas exig ncias requeridas pelo controlo baseado em sensores de for a bem como resolver alguns problemas deixados em aberto no ltimo ano lectivo relativos robustez e fiabilidade das comunica es Pretende se assim uma gest o eficiente da largura de banda da rede utilizada tal como um funcionamento robusto que permite a opera o continuada duranate per odos de tempo indefinidos O trabalho proposto pode ser dividido nas se
164. s segmentos definidos a partir de per odos de tempo m nimos chamados Time Quanta TQ Input Signal Sync Propagation Phase Phase Edi Segment Segment Segment 1 Segment 2 Intervals To Sample Point qd Nominal Bit Time Fig 18 Particionamento temporal de um bit Pela Fig 18 podemos identificar 4 tipos de segmento 1 Segmento de sincroniza o utilizado para sincronizar os v rios n s da rede dura o fixa de 1 To 2 Segmento de propaga o utilizado para compensar os atrasos introduzidos na rede dura o entre 1 e8 To 3 Segmento de fase 1 n mero de Tg antes da amostragem do bit dura o entre 1 e 8 Tg 4 Segmento de fase 2 fornece um atraso antes da mensagem seguinte dura o de 2 a 8 To A dura o dos segmentos de fase 1 e 2 n o s o par metros est ticos e podem sofrer varia es para efeitos de ressincroniza o O par metro SJW Synchronization Jump Width define a forma como se far o estas flutua es contendo o n mero m ximo de To que ser o adicionados ao segmento de 1 ou subtra dos ao segmento 2 Para defini o das dura es de cada segmento algumas regras dever o ser respeitadas Elas s o v 1 Seg de propaga o Seg de fase 1 Seg de fase 2 gt 8 v Seg de propaga o Seg de fase 1 gt Seg de fase 2 Y Seg de fase 2 gt SJW Para o nosso caso de forma a conseguir a m xima velocidade definimos definiram se os seguintes par me
165. s sensoriais dos servomotores poss vel ler a posi o angular a velocidade estimada e a corrente drenada que cada servo possui atrav s do par metro param ver Tabela 3 Um vector de tr s elementos sensors retornado com o resultado para cada um deles tal como um vector de 8 elementos descritivos do estado do SCU consultado a estrutura e o significado dos seus valores pode ser consultado na Tabela 4 Tabela 10 Syntax da fun o readjoint na leitura dos diversos par metros sensoriais Par metro a obter Syntax da fun o Posi o angular sensors state readjoint H scu_id 0 Velocidade angular estimada sensors state readjoint H scu_id 1 Corrente consumida sensors state readjoint H scu_id 2 Dado que o vector status retorna informa o sobre o cumprimento de traject ria por parte do master algumas fun es de m dio n vel foram desenvolvidas para automatizar o processo de espera na inicia o finaliza o de um percurso A Tabela 8 refere os como sendo statmotionfin motionstart motionfin waitmotionfin e waitpwmon Estas fun es de m dio n vel permitem tal como com o inituc e killuc a utiliza o de vectores de SCUs para simplifica o do procedimento 30 Atrav s da fun o readspecial poss vel obter os ditos dados sensoriais especiais ou seja as sa das provenientes dos sensores conectados via piggy back unidade slave Eles s o e 4 ex
166. s sensorial Estrutura descritiva dos sensores typedef struct Rice 4 bool pwm Motores ligados desligados bool calib Calibra o ligada desligada bool deadlineError Viola o de deadline bool motionFinAll Todos os motores terminaram o movimento bool motionFinOne Um dos motores terminaram o movimento bool motionFin N_SERVOS Movimento terminado sysStatus Estado sensorial do sistema struct_servo servo N_SERVOS Sensores dos servos unsigned char special N SPECIAL SENSORS Sensores especiais StEJLCE SEMSCIESA extern volatile struct_sensors sensors Sensores Base de dados de actuac o Estrutura descritiva dos actuadores typedef struct Estrutura de actualizac o de status para cada SCU erruer bool pwm PWM on off loe callos Dynamic calibration on off sysStatus Estado da actuac o do sistema struct I byte kpr kd Ganhos dos controladores byte type Tipo de Controlador de primeiro nivel control N SERVOS Controlador struct servo servo N SERVOS Informa o de actua o posi o velocidade e corrente struct _ectuetorsa extern volatile struct_actuators actuators Actuadores De forma a minimizar a interfer ncia temporal com as restantes tarefas da unidade as interrup es de recep o de mensagens provenientes do master Fig 21 foram definidas como sendo de baixa prioridade enquan
167. se no endere o destino e no index do pacote endere o origem e opera o conhecidos 2 Construir o array de dados a enviar a partir da base de dados de actua o de acordo com o index da mensagem 3 Enviar o pacote identificador array de dados pelo buffer de transmiss o adequado ao index 4 Actualiza o do estado de erro se ocorreu algum 58 Recep o de um pacote de car cter sensorial 1 Obten o do identificador e do array de dados do pacote recebido 2 Actualiza o da base de dados sensorial a partir do endere o origem e do index do pacote 3 Actualiza o do estado de erro se ocorreu algum Opera o I O Causa do Erro Label Padr o Recep o Transmiss o Erro geral CAN ERROR 0600000001 Mensagem invalida RX_INVALIDMSG_ERROR 0b00000010 Overflow RX OVERFLOW ERROR _ 0b00000100 Recep o Comprimento de dados inv lido RX INVALID LENGTH 0600001000 Identificador inv lido RX INVALID ID 0600010000 Dados inv lidos RX INVALID DATA 0600100000 Oe eee Erro de transmiss o TX NOTPOSSIBLE 0601000000 Transmiss o imposs vel TX ERROR 0b10000000 Tabela 27 Causas de erro na comunica o CAN Na ocorr ncia de erros uma estrutura est tica armazena a causa do erro na forma de um byte fazendo a opera o booleana or entre os diversas c digos segundo a Tabela 27 Duas outras vari veis fazem a contagem dos erros de transmiss o e de recep o Estrutura descr
168. stado do sistema struct servo servo N SERVOS Sensores dos servos unsigned char special N SPECIAL SENSORS Sensores de for a dos p s struct sensors pragma varlocate 1 sensors extern volatile struct_sensors sensors N_SCU Conjunto global dos sensores 46 Estrutura de actua o Estrutura descritiva dos actuadores typedef struct Estrutura de actua o de status para cada SCU SUSE 4 bool pwm PWM on off bool calib Cali on off sysStatus Estrutura de Controlo para cada junta SEUL q byte let lua kd enum controlType type Dc ondronINSSERVOSI struct_ectuators pragma varlocate 2 sensors extern volatile struct_actuators actuators N_SCU Conjunto global dos actuadores Estrutura descritiva dos valores refer ncia dos controladores typedef struct struct_paramControl servo N_SERVOS struct_paramControl cop N SERVOS struct paramControl inc N SERVOS SCCM _IOSICEUNC SINE ROIL Galiee INESERMO SIE struct _retControl pragma varlocate 3 sensors extern volatile struct_refControl refControl N_SCU Estruturas adicionais Tipo enumerado do g nero de controlador implementado em cada junta typedef enum NO CONTROL 0b00 Funcionamento em malha aberta COP CONTROL 0b01 Controlo do Centro de Press o INC CONTROL 0b10 Controlo de inclina o GIRO CONTROL 0b11 Controlo de girosc pios e
169. stre 0b0000 Slave 1 Perna direita 0b0001 Slave 2 Perna esquerda 0b0010 Slave 3 Anca direita 0b0011 Slave 4 Anca esquerda 0b0100 Slave 5 Tronco 0b0101 Slave 6 Bra o direito 0b0110 Slave 7 Bra o esquerdo 0b0111 Slave 8 Cabe a 0b1000 Tabela 21 Endere os atribu dos s diversas unidades de controlo Outro benef cio da comunica o baseada na mensagem o facto de se poderem adicionar outros n s rede sem haver necessidade de reprogramar todos os n s existentes O novo n adicionado receber igualmente as mensagens que circulam na rede decidindo por si s se deve ou n o processar a informa o contida Esta foi uma das principais raz es que motivaram a escolha do CAN permitindo desta forma que a rede possa ser modificada sem qualquer implica o ao n vel do controlo local No microcontrolador em causa utilizada a vers o fulICAN 2 0A cujas caracter sticas principais s o Mensagens com um identificador de 11 bits e um m ximo de 8 bytes de dados Filtragem completa do conte do do identificador todos os bits do identificador podem ser utilizados para configura o da filtragem Associa o do identificador a buffers de dados M ltiplos buffers de transmiss o recep o 3 buffers de transmiss o e 2 buffers de recep o Processamento e recupera o autom tica de erros 50 3 2 Protocolo CAN De acordo com os dados a trocar entre o Master e cada Slave e utilizando todos os 8 bytes de dados e
170. ta M dulo CAN M dulo com a implementa o das fun es de alto n vel para a recep o e o envio de mensagens CAN sec o II 3 4 segundo o protocolo descrito na sec o II 3 2 Tabela 31 Fun es de alto n vel para troca de mensagens via CAN Fun es Descri o canlnit Inicializa o do perif rico CAN e dos timers e interrup es associados canSendMsg Envio de uma mensagem CAN com dados de actua o a aplicar a um determinado SCU canReceiveMsg Recep o de uma mensagem CAN com os dados sensoriais de um determinado SCU canClearStatus Reinicializa o do estado de erro do barramento CAN 64 M dulo CANDRIVERS M dulo com os device drivers b sicos para inicializa o e transmiss o recep o de pacotes via CAN sec o Il 3 3 Tabela 32 Device drivers da comunica o CAN Fun es Descri o myCANInitialize Inicializa o do perif rico CAN myCANSendMessage Envio de um pacote atrav s do primeiro buffer de transmiss o vazio myCANSendMessage0 Envio de um pacote atrav s do buffer de transmiss o O myCANSendMessagel Envio de um pacote atrav s do buffer de transmiss o 1 myCANSendMessage2 Envio de um pacote atrav s do buffer de transmiss o 2 myCANReceiveMessage Leitura de um pacote no primeiro buffer de recep o cheio myCANReceiveMessage0 Leitura de um pacote no buffer de recep o 0 myCANRe
171. tamente por elas 90 3 4 Impacto do P com Todos os Motores Ligados Com todos os motores da perna activados em estado r gido analisaram se a sa da dos sensores de for a nas situa es de descida provocando impacto contra o solo e tamb m de subida at o p estar completamente suspenso As grandezas medidas foram os quatro sensores de for a presentes no p e a corrente consumida por todos os servomotores intervenientes juntas do p do joelho e da anca A configura o do setup experimental a seguinte Apenas utilizada uma perna da estrutura human ide que por sua vez est fixa a uma estrutura fixa atrav s da anca Considerando que as coordenadas introduzidas usam como referencial o ponto do solo imediatamente abaixo da perpendicular que passa pela anca as coordenadas x y z 0 0 0 correspondem postura vertical da perna poss vel descer o p at atingir o solo mas tal n o corresponde postura completamente vertical estando um tanto flectida As coordenadas associadas a este ponto s o x y Z 0 0 0 4 cm Quando a perna atinge a verticalidade m xima x y z 0 0 0 a estrutura fixa anca sobe massa de alguns Kg A Descida do P A primeira parte das experi ncias correspondem a descer o p a partir de um determinado ponto acima do solo fazendo o descer at efectuar impacto A experi ncia em detalhe est descrita a seguir 1 2 3 O p inicialmente encont
172. tatus bit Read only TX9D 9th bit of Transmit Data X Tabela 1 Configura o do registo TXSTA R W 0 R W 0 R W 0 R W 0 R W 0 R O R 0 R x SPEN RX9 SREN CREN ADDEN FERR OERR RX9D bit 7 bit O Registo RCSTA Campo Par metro Valor Descri o SPEN Serial Port Enable bit 1 Serial port enabled configures RX DT and TX CK pins as serial port pins RX9 9 bit Receive Enable bit 0 Selects 8 bit reception SREN Single Receive Enable bit X CREN Continuous Receive Enable bit 1 Enables continuous receive ADDEN Address Detect Enable bit X FERR Framing Error bit Read only OERR Overrun Error bit HER Read only RX9D 9th bit of Received Data Read only 42 Tabela 2 Configura o do registo RCSTA Finalmente necess rio activar desactivar as interrup es respectivas e defini las como alta prioridade n o esquecer de activar a funcionalidade de dupla prioridade IPRlbits RCIP 1 Interrup es de alta prioridade IPRlbits TXIP 1 PIElbits RCIE PIElbits TXIE Des Activa o das interrup es 1 0 B Algoritmos de Comunica o As Fig 12 e Fig 13 apresentam os algoritmos para troca de informa o entre o master e a unidade principal Y Erro na recep o do ea Limpar estado de Erro RETURN Armazenamento no Buffer de Recep o y Frame completa RETURN Processam
173. te extens metros foi poss vel utiliz los na detec o de impactos p s contra o solo e na realiza o de movimentos pela varia o do ponto de refer ncia do controlador de equil brio que utiliza estes sensores como realimenta o Contudo os resultados ainda n o s o ptimos observando se frequentes descalibra es por parte destes sensores bem como uma excessiva sensibilidade a interfer ncias externas V rias causas foram apontadas em detalhe bem como poss veis solu es para melhoria do funcionamento do controlador de equil brio pelo que se espera que uma vez seguidas melhorem o desempenho e a estabilidade dos algoritmos de controlo implementados Apesar de algumas dificuldades no que respeita ao equil brio todo o firmware desenvolvido para o controlo local j se encontra numa fase suficientemente madura que em conjunto com outros trabalhos realizados paralelamente nomeadamente a melhoria da parte mec nica e sensorial permitir a curto prazo a locomo o e a realiza o de outras tarefas pela unidade central de processamento de modo a podermos participar na competi o mundial de robots human ides RoboCup em 2008 A partir destas observa es considero que os principais objectivos propostos para esta bolsa de investiga o foram realizados com relativo sucesso tendo aberto as portas para novos caminhos que permitir o a maturidade deste projecto e a iminente concretiza o dos objectivos ltimos que s o a
174. te da perna pela manipula o do CoP refer ncia do controlador de equil brio Tr s estudos principais foram feitos e An lise est tica do controlador de equil brio e An lise din mica do controlador e Execu o de multi traject rias e an lise do desempenho A an lise est tica pode demonstrar o correcto funcionamento do controlador de equil brio com os cumprimentos das diversas posi es solicitadas A an lise din mica demonstrou a rela o entre os par metros de compensa o do controlador de equil brio e do per odo com a resposta no que respeita ao erro de seguimento de traject ria e tempo de estabelecimento Concluiu se assim que aumentando o ganho de compensa o o erro tende a diminuir bem como o tempo de estabelecimento mas desde que dentro de certos limites de modo a evitar instabilidade De igual forma o per odo da traject ria tamb m contribui para a diminui o do erro recomendando se por isso a aplica o de traject rias com um per odo superior ou igual a quatro segundos para a minimiza o do sinal de erro Em seguida realizaram se v rios tipos de traject ria multi volta nomeadamente rectil neas el pticas e rectangulares As traject rias rectil neas permitiram observar a interfer ncia que o movimento em cada eixo introduz no eixo perpendicular mais concretamente oscila es de car cter n o desprez vel e relacion veis com o movimento aplicado no primeiro eixo concluindo desta forma q
175. tec es nem demasiado elevado para evitar a n o detec o de picos 103 4 LOCOMO O ATRAV S DO CONTROLO DE COP 4 1 Introdu o Trabalhos anteriores ver relat rio 2006 07 mostraram que poss vel utilizar o controlador de equil brio para sustentar as pernas na postura vertical face inclina o do plano de suporte Dois poss veis controladores para esta tarefa foram desenvolvidos para alcan ar esse objectivo e Controlo proporcional de cada junta ortogonal do p nos eixos xx e yy e Controlo usando a matriz Jacobiana Dado que o controlador usando a matriz Jacobiana permite controlar todas as tr s juntas da perna e de uma forma pouca sens vel a imprecis es no c lculo desta matriz este foi o controlador adoptado obtendo se resultados bastante satisfat rios No passado o nico objectivo era o de equilibrar a perna face a varia es e irregularidades do solo Contudo tamb m poder ser utilizado para a realiza o de traject rias pela varia o do CoP desejado Se em vez de utilizarmos como refer ncia o CoP 0 0 correspondente postura vertical usarmos outros valores a perna desloca se para outras posturas efectuando movimento Ora do interesse que quando o robot se encontra sobre a perna de suporte durante a locomo o al m de fornecer o equil brio tamb m seja capaz de a mover ajudando a realizar as sequ ncias de locomo o Para tal e como j foi enunciado ir se actuar no valor ref
176. tens metros localizados em cada p que medem a for a exercida sensores de for a e Inclin metros que medem a inclina o do robot nas componentes x e y e Girosc pios para medi o da velocidade angular sobre as tr s componentes x y e z Qualquer deste conjunto de sensores pode ser ligado s entradas anal gicas no m ximo de quatro fornecidas na interface piggy back sendo devolvidas unidade central as suas quatro sa das digitalizadas em torno do valor 128 utilizando a gama de O a 255 O vector special devolvido por esta fun o cont m estes quatro valores special rx error errorstr readspecial H scu id Exemplos leitura sensorial da posi o angular e dos sensores especiais do SCU de endere o 1 sensors state readjoint H 1 0 sensors 1 0 69 state 1 0011111 sensors readspecial H 1 sensors 128 129 126 130 Caso por algum motivo os valores retornados sejam inconsistentes pode sempre ser feita a recalibra o dos sensores Para tal executado o seguinte procedimento 1 Desligar os PWMs rx error errorstr applyjoint H scuid 3 0 0 0 ou error errorstr killuc H scu list 2 Reactivar os PWMs rx error errorstr applyjoint H scuid 3 1 0 0 ou error errorstr inituc H scu list Para maior automatiza o pode ainda ser utilizada a fun o reset sensores que basicamente executa os passos enunciados stat error errorstr sensor reset H scu list Controlad
177. terior CoP medido x VS CoP rel x CoP medido y VS CoP rel x T T T au T T T 3 PER ee ya een 2 z E E T A a esse san mA E 3 3 o lo BD p ne ee Mensen ern 40 CoP refer ncia CoP medido x VS CoP rel y CoP medido CoP medido CoP refer ncia CoP refer ncia Coordenada y VS CoP 1 10 T T 5 Se eee A E E 2 g g a o Een nennen E a p a a A A DR CoP actuado CoP actuado Coordenada x YS CoP rel y Coordenada y VS CoP rel y Posi o cm Posi o erm CoP actuado CoP actuado Fig 59 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo yy 109 C Varia o do CoP no eixo xy Efectuando agora 25 passos ao longo da diagonal entre os eixos xx e yy CoP 25 25 0 gt 25 25 0 amostraram se os dados apresentados na Fig 60 e Fig 61 CoP medido x VS CoP ref x CoP medido yj VS CoP ref x 20 30 pin i E ee eee ER 3 s 0 a a E Ge o inda da Tao ie ido E 10 7 5 o H mm ATAN N NMM 20 30 20 CoP refer ncia CoP refer ncia CoP medido x VS CoP ref y CoP medido y VS CoP ref y 20 T T T 30 T T T T T o o 3 3 a a E E a a o a o o CoP refer ncia CoP refer ncia Fig 60 Rela o entre o CoP medido e o actuado para 25 passos ao longo do eixo x
178. tir de uma unidade mestre que faz a gest o da rede e que est directamente ligada a uma unidade prim ria de decis o que neste momento um computador comum Posteriormente substituir se o computador por uma embedded motherboard do tipo PC 104 ou nano ITX com as mesmas funcionalidades que um PC no que respeita s tarefas a executar mas com as vantagens de dimens es reduzidas e de baixo custo Neste momento a plataforma constitu da por 9 unidades de controlo 8 de controlo local dos actuadores e sensores e um de controlo de tr fego na rede CAN As unidades de controlo local est o distribu das de 14 forma a agrupar conjuntos de tr s actuadores relativos a um determinado membro como o caso das pernas ou dos bra os Fig 5 Com uma arquitectura deste g nero pretende se que o hardware que constitui estes m dulos seja id ntico com um software muito similar entre eles Implementando esta estrat gia consegue se um grau de fiabilidade superior uma vez que os m dulos s o independentes permitindo que as anomalias sejam mais facilmente detectadas e corrigidas Os m dulos podem ser trocados facilmente pois bastar programar o microprocessador com o firmware padr o que ele mesmo se adaptar tarefa necess ria tanto atrav s do endere o atribu do como pela gest o directa da unidade central de processamento Em resumo apresentam se as vantagens da arquitectura distribu da e Sistemas fi veis opera o independente
179. to as restantes s o de alta Desta forma a troca de mensagens em cada slave s feita em background ou seja nos tempos livres do processador 61 4 1 Unidade Master As rela es de inclus o entre os diversos m dulos est o esquematizadas na Fig 20 Cada m dulo representa um par de ficheiros h e c com o prot tipo das fun es externas e a sua implementa o respectivamente Apenas o m dulo Master apenas possui um ficheiro c dado que o que cont m a fun o main Master A lt nn PIC a vs I U USART CAN gt A D 00 CANdrivers lt Fig 22 Rela es de inclus o dos m dulos de software do Master M dulo Master Este m dulo o primeiro a ser executado fun o main e respons vel por fazer a chamada das fun es de configura o presentes no m dulo PIC Ap s os procedimentos de configura o fica preso numa dummy task em que o nico software em execu o proveniente da rotina de servi o interrup o definida no m dulo PIC M dulo PIC M dulo com a implementa o da rotina de inicializa o do PIC e das rotinas de servi o s interrup es provenientes da USART e do CAN E neste m dulo que s o inicializados e implementados os mecanismos de comunica o com a unidade principal sec o II 2 4 e as unidades slave sec o II 3 4 Tabela 28
180. traject ria guardar os resultados sensoriais e reposicionar a perna para o CoPyer inicial Inicializar ganhos de compensa o desligar os controladores e sinais de PWM das juntas 111 A Varia o do CoP no Eixo xx Come ando por executar uma traject ria polinomial desde as coordenadas 30 0 0 at posi o 30 0 0 no que respeita ao centro de press o apenas iremos efectuar um movimento ao longo do eixo xx O ganho escolhido para o controlador de equil brio de 50 e o per odo da traject ria de 2s Por quest es de an lise dos dados foi feita uma amostragem de 4 segundos tendo em vista o estudo da resposta em regime transiente e estacion rio A Fig 62 apresenta os resultados da experi ncia CoP Esse CA A XX Erro do CoP XX XX Previsto Medido yy CoP Fig 62 Resposta ao polin mio aplicado no eixo xx com K 50 Previsto Medido Como se pode observar na Fig 62 a resposta ao polin mio segundo o eixo xx apresenta um elevado atraso com um erro m ximo de 40 unidades para t 1 5s O tempo de estabelecimento tamb m apresenta um valor elevado apenas atingindo o valor final para t 4s Embora n o fosse de esperar varia es significativas na componente yy do CoP dado o movimento ser efectuado no eixo xx mesmo assim registaram se varia es com um erro m ximo de 16 unidades o que revela alguma propaga o destes movi
181. tros gt Segmento de sincroniza o 1 Tg n o configur vel Segmento de propaga o 3 To Segmento de fase 1 3 To Segmento de fase 2 3 To SJW 2 To VVVWV Com base nestes par metros e de modo a conseguir a m xima velocidade de F 1Mbps o baudrate a definir no registo BRP seria de 1 5 Como estes registos s o inteiros t m que se arredondar para o lado que diminua a velocidade ou seja para cima Neste caso BRP dever ser de 2 2 F BRP 1 com N Sync Propag Phase Phase Fyi N seg Re Re E 54 F 2 ee N O gt BRP D N 1 1 10 Para BRP 1 o bitrate nominal efectivo atingir o valor m ximo de 1Mbps M scaras e Filtros Os filtros s o utilizados para automatizar o processo de aceita o de mensagens No caso das mensagens de actua o apenas se destinam a um SCU particular n o possuindo qualquer interesse para os restantes Desta forma na perspectiva de cada SCU apenas algumas das muitas mensagens que passam pelo seu porto de entrada devem ser processadas pelo que se a verifica o do endere o destino fosse feita por software a largura de banda de CPU atribu da a este processo seria tanto mais pesada quanto maior fosse o n mero de unidades slave na rede De modo a automatizar o processo de aceita o uma m scara pode ser utilizada para indicar quais os bits do identificador que cont m o padr o de interesse para a unidade em quest o como por exem
182. ualiza o sensorial Index 1 Os valores de sa da dos sensores piggy back est o descritos nos campos Special apenas podendo fazer parte apenas de uma das seguintes classes m Sensores de for a de um dos p s 4 sensores m Inclin metros e ou Girosc pios 2 2 valores No entanto indiferente de onde prov m estes dados dado que a unidade principal PC conhece priori o g nero de sensores especiais conectados a cada unidade slave O byte sensor flags puramente redundante dado que a informa o que cont m tamb m transportado no identificador do pacote e poder ser usado no futuro para conter mais dados sensoriais bit 7 6 5 4 3 2 1 bit O Source Address Index 0 0 0 Byte Sensor Flags Campo Descri o Source Address Endere o do slave remetente Index ndice do pacote na mensagem de dados Tabela 23 Campos do byte Sensor Flags J o byte slave status cont m flags indicadoras do estado de funcionamento da unidade slave consultar Tabela 17 bit 7 6 5 4 3 2 1 bit O PWM Deadline FinAll FinOne FinServo3 FinServo2 FinServol Byte Slave Status da primeira mensagem 3 3 Funcionamento do Barramento CAN A Configura o CAN Inicializa es As defini es de funcionamento do CAN devem ser iguais entre a unidade Master e as unidades Slave de modo a permitir o correcto sincronismo entre todas as entidades envolvidas
183. ue ADC do microprocessador que uma vez digitalizada utilizada pelos algoritmos de compensa o de for a para ajuste de equil brio No entanto antes de tudo necess rio efectuar uma segunda calibra o de modo a sinalizar que a tens o presente na entrada da ADC corresponde a uma determinada postura refer ncia da perna J foi referido que considerando o uso das tens es refer ncia de 0 5V o sinal el ctrico sa da do amplificador apresenta uma gama inferior a 5V tendo em conta um amplificador non rail to rail por isso necess rio convencionar uma determinada tens o para a posi o vertical como por exemplo se definirmos esta tens o como 1V varia es abaixo deste valor reflectem que o centro de press o se deslocou para a direc o oposta ao sensor medido mas acima deste reflectem o seu deslocamento na sua direc o Para que este sistema seja independente deste valor escolhido efectua se inicialmente uma calibra o por software medindo a tens o presente sa da e convencionando se este valor como correspondendo postura vertical da perna Por isso importante que quando o sistema iniciado que a perna esteja na chamada posi o de equil brio para que os algoritmos de controlo funcionem como o desejado Finalmente podemos efectuar leituras da for a aplicada sobre cada sensor O valor presente sa da de cada amplificador digitalizado atrav s de uma ADC de 8 bits apresentando como resultado
184. ue as traject rias aplicadas em cada eixo n o s o independentes entre si Verificou se a susceptibilidade ao ru do que a componente yy apresenta devido ao atribu do aumento de sensibilidade no c lculo do centro de press o no mesmo eixo offset subtra do sa da dos sensores de for a Finalmente com as traject rias el pticas e rectangulares pudemos conhecer a limita o que os factores f sicos inerentes estrutura dos p s introduzem no cumprimento das traject rias solicitadas Verificou se que quando a traject ria aplicada passa sobre um dos sensores por vezes o controlador incapaz de garantir o cumprimento do CoP solicitado O motivo deste comportamento ainda n o est completamente esclarecido mas como suspeita considera se as seguintes causas 1 As assimetrias de conex es entre o p e a perna da estrutura human ide podem interferir de alguma forma ao fazer com que o centro de press o n o possa cobrir toda a rea do p Relembra se que os dois eixos que ligam estas duas partes n o est o centrados sobre o p pelo que a traject ria realizada pode apresentar anomalias medida que o centro de gravidade viaja ao longo do plano do p 2 Satura o na sa da de um dos sensores pouco prov vel dado que os potenci metros de ajuste dos extremos de tens o dos sensores sempre foram verificados 3 Diferente din mica por parte de cada extens metro varia o da resist ncia em fun o da deforma o embora
185. versos componentes em ambientes extremamente ruidosos Para tal o sinal que serve de suporte comunica o definido em corrente e n o em tens o um protocolo baseado na mensagem e n o no endere o o que significa que as mensagens s o transmitidas na forma de broadcasting para todos os n s existentes na rede cabendo a cada um a decis o de a aceitar ao n o As mensagens s o constitu das por um identificador que pode possuir 11 ou 29 bits de acordo com a vers o 2 0A ou 2 0B respectivamente e at 8 bytes de dados Fig 15 f Message Frame i I I Li I 1 I mt Be Idle 1 s a 1 1 E 1 1 1 Bus E y rbitration field mias Contol ia Data Field wine BE field ALE EOF Zur Es Shi Fig 15 Formato standard das mensagens CAN De modo a eliminar a hip tese de colis o destrutiva de pacotes no caso de envio simult neo de mensagens por diferentes n s como acontece nas redes Ethernet o CAN dotado de um sistema de colis o determin stico bit a bit CSMA BA Carrier Sense Multiple Access Bit wise Arbitration que no caso de uma colis o de pacotes apenas um prevalece o de maior prioridade enquanto os restantes s o destru dos No ltimo caso os n s associados a esses pacotes devem tentar retransmitir mais tarde Desta forma garante se que a largura de banda oferecida pela rede n o desperdi ada havendo sempre o transporte de mensagens desde que pelo menos um n transmita Barram
186. y Coordenada x VS CoP ref x Coordenada y V5 CoP ref x 8 H 7 T 15 T T 5 E 4 E E E amp 2 2 o o EA E 0 amp 2 4 E 20 20 CoP actuado CoP actuado Coordenada x YS CoP ref y Coordenada y VS CoP rel y 8 H H H 15 H H Joelho Anca E E 2 a o o e e e e de 73 o O a a CoP actuado Fig 61 Rela o entre o CoP medido e a cinem tica directa do joelho e da anca ao longo do eixo xy CoP actuado 110 4 4 An lise Din mica do CoP Refer ncia A an lise din mica entendida como a amostragem da resposta durante a aplica o de uma traject ria espec fica s diversas juntas do sistema Na situa o em concreto aplicar se uma traject ria polinomial de quinta ordem velocidade e acelera o inicial e final nulas ao centro de press o de refer ncia CoP f e a sa da dos sensores de for a bem como a posi o angular das v rias juntas ser o amostrados durante a execu o da traject ria mencionada O procedimento das experi ncias executadas est descrito a seguir 1 SD As AM Inicializa o do CoP para a execu o de uma traject ria polinomial de 5 ordem Activa o do controlador de equil brio Defini o do per odo da traject ria e do ganho do controlador de equil brio Execu o da traject ria para um determinado CoP final Ao longo da traject ria registar a sa da dos sensores de press o e de posi o dos servos No fim da

Download Pdf Manuals

image

Related Search

Related Contents

PME 200 Bedienungsanleitung  LG 50PX4D User's Manual  Philips BDP7100 User's Manual  JVC TK-T8101WPRU User's Manual  

Copyright © All rights reserved.
Failed to retrieve file