Controlo da locomo cão de um rob^o de seis pernas1
Transcrição
Controlo da locomo cão de um rob^o de seis pernas1
Controlo da locomoca~o de um rob^o de seis pernas1 Departamento de Engenharia Electrotecnica Faculdade de Ci^encias e Tecnologia Universidade de Coimbra Jo~ao Pedro de Almeida Barreto Antonio Rui Trigo Ribeiro 29 de Setembro de 1997 1 Este trabalho foi realizado no laboratorio de robotica movel, no Instituto de Sistemas e Robotica. Indice 1 Captulo 1 Introduc~ao Ao longo dos ultimos anos os rob^os com pernas t^em ganho uma import^ancia crescente dentro da robotica movel. Assim, o Instituto de Sistemas e Robotica de Coimbra decidiu alargar a sua area de trabalho a este campo, planeando para breve a aquisica~o de um prototipo. O presente documento pretende ser um estudo introdutorio a robotica com pernas. Nele, entre outras coisas, s~ao analisadas as vantagens e desvantagens destas maquinas face aos rob^os tradicionais, e e feito o ponto da situac~ao da investigac~ao na area. Para alem disso e desenvolvido um modelo cinematico e din^amico dum hexapodal que permitiu a elaboraca~o de um simulador com o qual zemos testes para a validac~ao dos resultados obtidos ao longo do projecto. 1.1 Roda versus Perna A maior invenc~ao do homem, a roda, tornou-se numa das suas maiores depend^encias. No dia a dia, ao nos deslocarmos, utilizamos veculos baseados neste invento. Desde a bicicleta ao comboio, quase todos os meios de transporte t^em por base a roda. Apesar do conforto que os veculos com rodas nos trouxeram, s~ao prejudiciais ao meio ambiente. Este ultimo foi e e alterado constantemente, dado que ha necessidade de construir caminhos proprios, como sejam as estradas ou carris, por onde se possam deslocar. Quando n~ao existe esta necessidade, como no caso dos tanques, existe o factor destruic~ao, pois os veculos que usam lagartas geralmente deixam marcas pelos locais por onde passam. A roda nas suas mais variadas formas so nos permite chegar, segundo o exercito norte americano, a 50% dos locais terrestres, enquanto que os animais que n~ao usam a roda como o seu meio de locomoc~ao conseguem 2 alcancar quase toda a superfcie terrestre. Existira alguma alternativa viavel a esta nossa depend^encia? Uma das alternativas e a utilizac~ao de veculos que utilizem a locomoc~ao com pernas. Esta alternativa n~ao e nova, mas so ha pouco tempo e que se apresentou como uma alternativa viavel. Isto porque um veculo deste tipo exige uma grande coordenac~ao ao contrario dos que possuem rodas. Este problema da coordenac~ao so comecou a ser resolvido duma forma eciente a partir anos oitenta quando surgiram os primeiros micro processadores. A partir de ent~ao foi possvel pensar em veculos com pernas, o que nos leva a pensar que, mais tarde ou mais cedo, iremos ter um meio de transporte similar a nos mesmos. 1.1.1 Na robotica O estudo da mobilidade na robotica tem sido alvo de uma investigaca~o muito intensa nestes ultimos anos. T~ao intensa que levou a separaca~o da robotica em dois ramos, o da robotica xa e o da robotica movel. Primeiro utilizaramse rob^os com rodas, que ja eram familiares dada a quantidade existente de veculos deste tipo. A mobilidade destes e bastante reduzida, pois estes so se conseguem deslocar sobre planos e em duas direcc~oes. Em oposic~ao a estes surgem os rob^os com pernas mais adaptados a terrenos irregulares, o que e o caso mais comum. Alem disso podem-se mover em qualquer direcc~ao, tal como os animais. Um rob^o com rodas tem de estar constantemente em contacto com o plano que esta a percorrer. O mesmo n~ao se passa com os rob^os com pernas pois estes podem seleccionar o local onde ir~ao colocar o pe. Um bom exemplo disto e o avanco ao longo de um escadote. Enquanto que o rob^o com pernas vai colocando os pes nos degraus o rob^o com rodas ca entalado nos espacos entre os degraus. Por este exemplo se v^e a maior facilidade (ou a incapacidade do rob^o com rodas), que o rob^o com pernas tem de andar em terrenos irregulares e/ou com obstaculos. A suspens~ao convencional de que os rob^os com rodas est~ao dotados, n~ao lhes permite isolar o corpo das irregularidades do terreno. Em contra partida os rob^os com pernas conseguem diferenciar o caminho percorrido pelas pernas do percorrido pelo corpo, isolando este bastante bem. Esta estabilidade faz deste tipo de rob^os optimos laboratorios moveis em oposic~ao aos rob^os com rodas, que, por melhores mecanismos de suspens~ao que possuam, podem sempre abanar ao apanhar uma irregularidade mais forte do terreno. 3 Figura 1.1: Articulac~ao de Chebyshev 1.2 Os primeiros passos da locomoc~ao com pernas Em 1870 surgiu o primeiro modelo de uma estrutura com pernas. Este usava um sistema articulado, desenvolvido uns anos antes por Chebyshev, para fazer andar o corpo ao longo de uma linha recta. Movia os pes para cima e para baixo, trocando entre eles o ponto de contacto com o ch~ao. Ate ao incio dos anos 60 a investigaca~o levada a cabo em torno deste assunto resumiu-se ao desenvolvimento de diferentes articulac~oes, que permitissem este tipo de movimento. No m dos anos 50 chegou-se a conclus~ao que os veculos com pernas baseados em articulac~oes n~ao se apresentavam, por si so, como uma alternativa aos veculos com rodas. A sua adaptabilidade a terrenos irregulares era nula, pelo que n~ao trazia nada de novo em relac~ao aos veculos com rodas. Para ultrapassar este problema surgiu a ideia de que os veculos com pernas teriam de ser controlados. Ao serem controlados iriam ganhar mobilidade e adaptabilidade, pois n~ao teriam necessidade de se seguirem pelos padr~oes de movimento criados por essas articulac~oes. Numa primeira abordagem utilizou-se o ser humano para controlar este tipo de veculos com pernas. Ralph Moster, da General Electric, baseou-se nesta abordagem para a construc~ao de um cami~ao com quatro pernas. Este veculo media 3,4m de altura, pesava 1360kg e estava equipado com um motor hidraulico. Aos bracos e as pernas do condutor estavam associadas alavancas e pedais que lhe permitiam controlar as quatro pernas do veculo. Cada vez que este encontrava um obstaculo o condutor sentia uma forca nas alavancas ou pedais que lhe permitia sentir o obstaculo, tal como do seu braco ou perna se tratasse. Ao m de algum tempo Mosher conseguia dominar o veculo com uma certa destreza. No m dos anos sessenta chegavam os computadores 4 Figura 1.2: Cami~ao da General Electric digitais e trouxeram consigo o poder de calculo necessario ao controle de veculos deste tipo. Seria o m do ser humano enquanto agente controlador "in loco". A incapacidade humana e notoria pelo facto de so termos quatro membros. Como conseguira o ser humano controlar seis pernas ao mesmo tempo por exemplo? 1.2.1 E apareciam os primeiros rob^os Surge ent~ao o primeiro veculo com pernas completamente controlado por computador, um quadrupede chamado \Phoney Poney". Este veculo inspirado no cami~ao da General Electric e foi construdo por McGhee e Frank na Universidade do Sul da California. Cada perna tinha dois graus de liberdade e era constituda por dois segmentos e por duas juntas. As juntas eram actuadas por motores electricos e a sua coordenaca~o era feita por computador. Uns anos mais tarde na Russia aparecia o primeiro rob^o de seis pernas, construdo por Okhotsimski. Seis pernas foi considerado como sendo o numero de pernas que apresentava o melhor compromisso entre estabilidade 5 Figura 1.3: OSU Hexapod e complexidade. Foi o primeiro rob^o a aplicar conceitos de intelig^encia articial na locomoc~ao com pernas. Similar a um insecto, possuia 18 graus de liberdade e a decis~ao de andar era baseada num dicionario de acc~oes. Nesse mesmo ano McGhee construa o \OSU Hexapod" similar ao russo; tal como o russo, era alimentado externamente e era controlado por um computador, neste caso o PDP-11/70. O papel do computador era o tratamento das equaco~es de cinematica, que permitiam controlar os dezoito motores electricos que faziam andar o rob^o. Uma outra abordagem foi a realizada por Hirose, que aliou o desenho de articulac~oes com o poder de calculo do computador. Utilizou a sua experi^encia adquirida no desenho de articulac~oes, no desenho de uma perna especial, que simplicava o controlo da locomoc~ao, tendo melhorado muito a sua eci^encia. Cada um dos actuadores da perna era directamente traduzido em valores de coordenadas (x,y,z). Esta caracterstica facilitou bastante o controlo do rob^o, pois ao se mexer num actuador, sabia-se automaticamente o resultado desta acc~ao em termos das coordenadas (x,y,z). Esta tecnica foi usada para projectar um rob^o com quatro pernas, cujo movimento era controlado por algoritmos simples, que usavam os sensores para controlar a acc~ao exercida no pe. Por exemplo, se o sensor de forca sentisse um obstaculo quando o pe estava a ser deslocado para a frente, este recuava, subia um pouco e voltava a deslocar-se para a frente. Isto sucessivamente ate superar o obstaculo. Em 1983 Raibert e Sutherland construram o primeiro hexapodal com um microcomputador a bordo e com um motor a gasolina. Foi o primeiro veculo completamente independente, podendo levar a bordo um humano. 6 Um outro tipo de rob^os que n~ao ir~ao ser alvo do nosso estudo mas que convem referir s~ao os monopodais, bipodais e tetrapodais baseados em \gaits" de din^amicos. Estes de rob^os est~ao sempre aos pulos por forma a se equilibrarem e progredirem no terreno. 1.2.2 Alguns exemplos actuais Figura 1.4: Fotograa do rob^o Plustech. Plustech As orestas s~ao um ambiente fragil, motivo pelo qual devem ser tratadas com cuidado. Quando utilizamos tractores, ou outro tipo de maquinas baseadas na roda, destrumos a oresta a medida que nos vamos movendo. No caso dos veculos com pernas, como e o caso do Plustech, o mesmo n~ao acontece pois estes veculos so precisam de pisar a oresta para colocar os pes. Como e facil de ver a area que estes pisam e muito menor que a dos veculos com rodas. O Plustech possui seis pernas, foi produzido pela empresa do mesmo nome e encontra-se, tal como se pode ver na gura acima, operacional. Trata-se de um veculo com 3.5m de comprimento, 2.0m de largura e 2.0 de altura. Tem 18 graus de liberdade, pesando cerca de 3500 kilogramas e com uma velocidade maxima de 1m/s. Para obter mais informaco~es, contactar a Plustech no seguinte endereco: http://www.plusttech. 7 Figura 1.5: Fotograa do ROBOT III. ROBOT III A seguir ao ROBOT I e II surge o ROBOT III, um dos novos brinquedos da \Case Western Reserve University". Como ja foi referido anteriormente, a robotica com pernas mexe com varias areas da ci^encia, estando muito interligada com a biologia. Este rob^o e um desses casos tendo sido construdo em parceria com o departamento de biologia da mesma Universidade. A ideia subjacente foi a de criar um rob^o que conseguisse imitar o movimento de uma barata. Este ROBOT III e um hexapodal cujos estudos cinematicos foram baseados na barata Blaberus discoidalis. Tem um total de 24 graus de liberdade distribudos da seguinte forma: as pernas dianteiras possuem cinco graus de liberdade, as do meio possuem quatro graus de liberdade e as de tras tr^es graus de liberdade. E actuado pneumaticamente utlizando cilindros e valvulas pneumaticas. Para obter mais informaco~es, contactar a CWRU no seguinte endereco: http://biorobots.cwru.edu 8 Figura 1.6: Fotograa do MECANT. MECANT O MECANT (\MECanical ANT" - aranha mec^anica) foi desenvolvido na Universidade de Helsnkia, Finl^andia. O objectivo deste projecto foi o de estudar as tecnologias e metedologias necessarias para a construc~ao de um rob^o com seis pernas. Esta maquina deveria ser capaz de se deslocar e de transportar consigo manipuladores para operar na oresta. Construu-se ent~ao o MECANT para estudar a adptac~ao ao terreno, o equilbrio do andar, os sensores necessarios e sua pilotagem. Os objectivos deste estudo passaram pela resoluc~ao de problemas de relaccionados com o desenho deste, com o estudo de \gaits" e controlo do movimento, com o estudo do controlo dos actuadores e do interface homem-maquina. Este veculo pesa cerca de 1100 kilogramas sendo propulsionado por um motor de um ultra-ligeiro de dois cilindros de 38 kW arrefecido a ar. O mecanismo das pernas e um pantografo com um eixo de rotac~ao vertical tendo cada uma 3 graus de liberdade. O operador controla o veculo remotamente, via radio, atraves de joystics. http://www.automation.hut./research/robotics/walking/ 9 Figura 1.7: Fotograa do biped da WSU ROBOTICS. Biped Este projecto encontra-se ainda na sua fase inicial, motivo pelo qual a fotograa n~ao e a do actual rob^o, mas sim do futuro rob^o a ser construdo. Para ultrapassar os problemas de estabilidade inerentes a rob^os com duas pernas, a \WSU Robotics" decidiu construir um rob^o com uns pes grandes que permitam ao rob^o car em pe apoiado num so pe. Um outro problema que se p~oe e o da distribuic~ao do peso pelas pernas quando este se desloca. Pois ao contrario dos rob^os com mais pernas, onde o peso e suportado pelas pernas que n~ao se est~ao a mover, no caso do rob^o com duas pernas o peso do rob^o vai sendo tranferido de uma perna para outra. Por forma a ultrapassar este problema, o peso de todos os componentes esta a ser reduzido ao mnimo, para que a transfer^encia do peso de perna para perna cause a mnima interfer^encia possvel. Para obter mais informaco~es, contactar a WSU no seguinte endereco: http://www.eecs.wsu.edu/ wsurobot/projects/ 10 Figura 1.8: Fotograa de um insecto rastejante. 1.3 O estudo da locomoc~ao com pernas Para p^or um rob^o com pernas a andar e preciso primeiro denir o modo como ele deve andar. Varios estudos sobre a forma como os animais se deslocam t^em sido feitos com o objectivo de entender como e que estes coordenam e controlam o movimento das suas pernas. Estes estudos levaram ao desenvolvimento de modelos matematicos, aplicaveis na robotica. 1.3.1 O que e que imitamos A natureza fornece-nos diversos exemplos de locomoc~ao com pernas que se podem dividir em duas categorias. A primeira e a exibida pelos insectos cujas pernas t^em sempre de suportar o corpo durante o movimento, para alem de lhe dar impulso. O centro de massa do corpo situa-se dentro do polgono de suporte, formado pelos pontos de contacto das pernas com o ch~ao. Tem de haver pelo menos tr^es pernas em constante contacto com o ch~ao para garantir a estabilidade estatica que caracteriza este tipo de locomoca~o, denominada de \crawling" (rastejante). A outra pode ser observada nos humanos, cavalos e cangurus que t^em uma estrutura muito mais exvel. Ao contrario dos anteriores n~ao requerem equilbrio estatico utilizando o conceito de balanco din^amico. Pode haver perodos em que nenhum dos pes esta em contacto com o ch~ao, tal como no caso de cavalos a trote, de humanos a correr e, claro, de cangurus a saltar. 11 Figura 1.9: Movimento balanceado de um cavalo a galope. 1.3.2 Da descric~ao do movimento a criac~ao de modelos matematicos Tudo comecou em 1899 quando Leland Stanford, governador da California, encarregou Eadweard Muybridge de vericar se um cavalo a trote levantava ou n~ao as quatro pernas ao mesmo tempo. Depois de mostrar, atraves de fotograas, que o cavalo realmente levantava as pernas ao mesmo tempo ele documentou o movimento de aproximadamente quarenta mamferos, incluindo o ser humano. Em 1961 Tomovic e Karplus da Jugoslavia foram os primeiros a quanticar matematicamente a locomoca~o com pernas. Deniram-na como possuindo dois estados. Um quando a perna estava no ch~ao e outro quando a perna estava no ar. Ao descrever os \gaits"1 simetricos usados pelos cavalos Hildebrand, em 1 Movimento cooperativo das pernas. 12 1965, desenvolve o conceito de \gait formula" 2 e o de \gait diagrama"3. Deniu ainda o conceito de passo como sendo a dist^ancia percorrida num ciclo de locomoc~ao. Deniu ainda duas raz~oes, uma do tempo que o pe ca no ch~ao sobre o tempo do passo, a que deu o nome de \duty factor", e outra do tempo que o pe dianteiro ca atras do pe traseiro sobre o perodo do passo. McGhee, em 1968, extende o trabalho de Hildebrand dotando-o de uma forte base matematica. Pegou no conceito de Tomovic e deniu a perna como sendo uma maquina sequencial de dois estados. O estado 1 que representa a fase de suporte, ou seja quando a perna esta em contacto com o ch~ao, e o estado 0 que traduz a fase de transfer^encia, quando a perna esta no ar. Uma das preocupaco~es era a relac~ao entre os padr~oes de movimento e a estabilidade estatica produzida pelo \gait". McGhee e Frank criaram o conceito de margem de estabilidade estatica, que permitia medir a estabilidade estatica de um \gait". Propuseram ainda um outro conceito para o mesmo efeito, o da estabilidade estatica longitudinal mais adaptado para a implementac~ao computacional. Usaram este para estudar \gaits" de estabilidade estatica para um quadrupede, tendo provado que existe um unico \gait" optimo que maximiza a estabilidade estatica longitudinal do quadrupede. A margem de estabilidade estatica do \gait" e , 43 onde e o \duty factor". Bessonov e Umnov em 1973 demonstraram que um \gait" regular e simetrico para um hexapodal, com a relaca~o abaixo escrita, maximizava a estabilidade estatica longitudinal de todos \gaits" periodicos. A relac~ao e: 3 = ; 5 = 2 , 1; 0:5 onde i4 e a fase da perna n e o \duty factor". A fase e medida com o tempo que a perna n ca atras da perna 1 sobre o perodo do passo. Sun baseado nos trabalhos de McGhee e Jain chegou tambem ao mesmo resultado um ano mais tarde. O \free gait" foi um dos primeiros \gaits" n~ao periodicos, proposto por Kugushev e Jaroshevskij em 1975, para resolver o problema da escolha automatica do local onde colocar o pe, numa situac~ao real. Foi modicado em 1979 por McGhee e Iswandhi para aplicac~ao no \OSU Hexapod". Este algoritmo foi tambem implementado no \ASV - Adaptative Suspension Vehicle". Maximizava a estabilidade estatica bem como a exist^encia de mais pernas livres para a locomoca~o, atraves da especicaca~o quer no espaco quer Uma formula que descreva um \gait". Utilizaca~o de diagramas para descrever \gaits". Fracc~ao de tempo que o contacto da perna com o ch~ao ca atras do contacto da perna 1 com o ch~ao. 2 3 4 i 13 no tempo, do local onde o pe deveria ser colocado. A utilizac~ao deste \gait" requeria que o terreno estivesse discretizado em celulas. So se podia colocar o pe em celulas assinaladas como validas. Tinha a desvantagem de ser pesado computacionalmente e de n~ao resolver o problema da locomoc~ao em terrenos irregulares. Outro \gait" implementado foi o \follow-the-leader", no \OSU Hexapod". Aqui as pernas da frente eram colocadas em locais pre-denidos, que eram marcados com um feixe de raios laser pelo operador humano. As pernas do meio colocavam-se no local das da frente e as traseiras no local das do meio e assim sucessivamente. Desta forma o rob^o conseguia progredir bastante bem apesar da exist^encia do operador humano que lhe removia a independ^encia. Apos estes trabalhos, onde a investigac~ao esteve centrada na optimizaca~o de \gaits" para terrenos lisos, entrou-se numa nova fase. A criac~ao de \gaits" que permitissem a locomoc~ao em terrenos irregulares comecou a ser a grande preocupaca~o. Um dos metodos era possuir uma descric~ao detalhada do terreno a atravessar, permitindo assim a criac~ao de uma sequ^encia pre-denida de passos. Um exemplo deste modelo criado por Qui e Song em 1988, foi criado por Song e Waldron em 1988 denominado \large obstacle gait". Isto funciona bem para uma situac~ao optima mas n~ao para o caso real. Neste e necessario um sistema de intelig^encia que permita denir constantemente o terreno que temos ha frente para atravessar. 1.4 Os objectivos No incio do projecto, o nosso objectivo era o estudo da locomoc~ao de um rob^o hexapodal, o HEG. Dada a n~ao exist^encia deste rob^o, tivemos que prosseguir com o nosso trabalho. Assim sendo avancamos com a criac~ao de um simulador, semelhante ao HEG, que nos permitisse desenvolver o trabalho a que nos tnhamos proposto. O nosso simulador foi dividido em duas partes distintas. Uma para simular os diferentes problemas de cinematica e outra para simular problemas din^amicos. 1.4.1 Cinematica Aqui iremos desenvolver o nosso estudo sobre \gaits". Para desenvolver este tipo de estudo iremos implementar, dois algoritmos diferentes, para resolver os problemas de cinematica directa e inversa. 14 Cinematica directa Este ira permitir controlar a posica~o das diferentes partes do rob^o, como sejam, a posica~o do seu centro de massa, os a^ngulos de rotac~ao do centro de massa e os ^angulos de rotac~ao das seis pernas do rob^o, que permitem posicionar o pe do rob^o. Cinematica inversa O objectivo deste e o de descobrir os diferentes ^angulos de rotac~ao, em func~ao da posic~ao pe do rob^o. Este algoritmo e de grande import^ancia pois se quisermos que o rob^o se desloque para uma determinada posic~ao, n~ao lhe damos os a^ngulos de rotac~ao, mas sim a posic~ao, em func~ao das coordenadas (x,y,z), para onde queremos que ele va. Desenvolvimento de \Gaits" Nos iremos trabalhar com um rob^o de seis pernas, o \HEG". Como ja foi demonstrado ha uns anos atras e o numero ideal de pernas para o desenvolvimento de \gaits" de estabilidade estatica. Isto porque um quadrupede por exemplo so pode deslocar uma perna de cada vez para garantir a estabilidade estatica enquanto que o com seis pernas pode mover tr^es, o que o torna bastante mais rapido que o anterior. Por outro lado um de oito pernas que consegue ser com certeza mais rapido que o de seis, tem um grau complexidade muito mais elevado que compromete n~ao so a velocidade deste como a aplicabilidade de conceitos ja desenvolvidos para casos mais simples. O trabalho a ser desenvolvido nesta area sera o de estudar aquilo que ja esta feito e avancar com a implementac~ao de \gaits" no simulador. S~ao objectivos do nosso trabalho por o rob^o a andar em todas as direcc~oes. 1.4.2 Din^amica Aqui iremos comecar por desenvolver um modelo 2D. No modelo 2D iremos simular diversas situac~oes que ser~ao explicadas futuramente, nas secco~es dedicadas ao estudo da din^amica do HEG. Os resultados obtidos com o modelo 2D poder~ao, futuramente, ser expandidos para o modelo real 3D. 15 Captulo 2 Cinematica do rob^o 2.1 Introduc~ao A cinematica e o ramo da mec^anica que faz o estudo analtico da geometria do movimento em relac~ao a um dado referencial, usualmente um sistema de eixos cartesianos ortonormados. Esta analise e feita em func~ao do tempo, sem levar em atenc~ao as forcas e momentos que causam a variac~ao da posic~ao. No nosso caso pretendemos obter um modelo matematico do rob^o que nos permita descrever o seu movimento. N~ao so nos interessa a analise do todo (trajectoria do centro de massa em relac~ao a um referencial absoluto), mas tambem das suas partes constituintes (segmentos das pernas, corpo central, etc), nomeadamente os deslocamentos e rotac~oes relativas. Numa primeira aproximac~ao vamos considerar o corpo central do rob^o xo e concentrarmo-nos sobre a quest~ao do movimento das pernas. Como ja anteriormente referimos, cada perna do HEG tem tr^es graus de liberdade. Sera portanto natural considerarmos como variaveis independentes os ^angulos associados a cada um desses graus, bem como ^angulos de rotac~ao e a posic~ao do centro de massa do corpo . Numa fase posterior poderemos denir estas variaveis como func~ao do tempo ou de qualquer outro par^ametro, sem que a validade deste estudo se perca. O problema da cinematica pode dividir-se em dois subproblemas. Por um lado, dados os ^angulos das juntas e a descric~ao geometrica dos segmentos de ligac~ao, qual a posic~ao do ponto de apoio da perna em relac~ao a um referencial base? Esta e a quest~ao que se p~oe a chamada cinematica directa. Por outro lado, dado um ponto onde queiramos colocar a ponta da perna, quais as rotac~oes que devemos fazer? Este e o problema analisado na cinematica inversa, que se prolonga no estudo das trajectorias a ser visto em captulos subsequentes. 16 Logo a partida vimo-nos confrontados com a escassez de literatura sobre robotica com pernas. Em contrapartida, a informac~ao acerca de manipuladores, com muitos mais anos de exist^encia e estudo, era abundante e variada. Considerando que uma perna com tr^es graus de liberdade podera ser analisada como um braco simplicado, decidimos adaptar muitos dos conceitos e formalismos dos manipuladores classicos ao nosso trabalho. Servimonos, entre outras coisas, da aproximac~ao de Denavit-Hartenberg (D-H), que utiliza algebra de matrizes para descrever as relaco~es espaciais dos segmentos dum manipulador, e que se mostrou muito util na resoluc~ao da cinematica directa. 2.2 Cinematica directa 2.2.1 Introduc~ao De forma a resolver o problema da cinematica directa, comecamos por modelizar a perna a semelhanca dum manipulador com tr^es graus de liberdade. Para isso utilizamos o metodo de D-H explanado na subsecc~ao seguinte. Feito o modelo de uma perna passamos a integrac~ao dos seis membros com o corpo de forma a termos uma analise completa da cinematica directa do rob^o. A subsecc~ao ?? descreve esta fase. 2.2.2 Modelizac~ao duma perna Generalidades sobre matrizes de transformac~ao Ao longo deste projecto vamos ser forcados a trabalhar com varios referenciais ortonormados em simult^aneo. Neste contexto e extremamente importante dispor de mecanismos que possibilitem a determinac~ao das coordenadas dum dado ponto em relaca~o aos diferentes sistemas. Por isso vamos utilizar coordenadas homogeneas de forma a podermos relacionar dois quaisquer referencias - sistemai, sistemaj - atraves duma matriz de transformac~ao iAj . Deste modo, sendo xj um ponto expresso em relac~ao ao sistemaj, a sua representac~ao xi no sistemai sera ... xi =i Aj xj No caso de querermos obter as coordenadas de xj no sistemak, e conhecermos k Ai e i Aj verica-se que ... xk =k Ai i Aj xj 17 O que e o mesmo que dizer que ... k Aj =k Ai i Aj A matriz iAj e uma matriz 4x4 podendo subdividir-se em quatro submatrizes ... " # iA = R T j 0 1 R e a componente de rotac~ao da transformac~ao, sendo uma matriz 3x3 em que cada coluna corresponde as coordenadas dos versores do sistemaj denidas em relac~ao ao sistemai. T e um vector 3x1 e dene a componente de translac~ao indicando a posica~o da origem do sistemaj em funca~o do sistemai. i Aj (4; 4) permite manipular o factor de escala da transformac~ao. Ao longo deste trabalho consideraremos esse factor sempre unitario. Antes de terminar estas breves considerac~oes note-se que a invers~ao destas matrizes de transformaca~o e t~ao util como simples. Assim, se pretendermos a matriz j Ai, que transforma as coordenadas do sistemai nas do sistemaj, basta modicar i Aj da seguinte forma: jA i = " t R 0 Metodo de Denavit-Hartenberg ,T # 1 Um manipulador consiste numa sequ^encia de segmentos ligados atraves de juntas. Para efeitos do nosso problema vamos so considerar juntas de revoluc~ao, embora tambem sejam comuns as juntas prismaticas. Cada par juntasegmento constitui um grau de liberdade, logo um manipulador de ordem n t^em n pares junta-segmento. Tem ainda um segmento0, que n~ao faz parte do rob^o, servindo de suporte, e onde geralmente se estabelece o referencial inercial para o manipulador. As juntas e os segmentos s~ao numerados, em ordem crescente, a partir do referencial inercial ate ao extremo do manipulador. Uma juntai liga o segmentoi,1 ao segmentoi e, dado ser de revoluc~ao, tera um dado eixo de rotac~ao. Relativamente a este eixo podemos considerar duas normais associadas a cada um dos segmentos unidos pela junta. A posic~ao relativa dos segmentos em cada instante pode ser denida por dois par^ametros da junta: di , que e a dist^ancia, medida ao longo do eixo de rotac~ao, dos pontos de intersecca~o deste com as normais; e o ^angulo i entre as normais, medido num plano perpendicular ao eixo da junta. Podemos ent~ao designar di e i como sendo, respectivamente, a dist^ancia e o a^ngulo 18 Junta i+1 θ i+1 Junta i θi Seg i-1 Seg i Seg i+1 αi zi ai xi di z i-1 θi x i-1 Figura 2.1: Sistema de coordenadas e seus par^ametros entre dois segmentos adjacentes. No nosso caso, e dado as juntas serem de revoluc~ao, o i varia enquanto di se mantem constante. A juntai e ainda caracterizada por outros dois valores importantes: ai, que e a dist^ancia mais curta entre os eixos de rotac~ao da juntai e da juntai+1, medida ao longo da normal comum; i, que e o ^angulo entre os eixos das duas juntas consecutivas, medido num plano perpendicular a ai. Logo ai e i podem ser designados como o comprimento e o ^angulo de viragem do segmentoi. Temos ent~ao os par^ametros relativos aos segmentos (ai,i), que denem a sua estrutura, e os referentes as juntas (di,i), que determinam a posic~ao relativa de segmentos adjacentes. A aproximac~ao de D-H, para descrever a rotac~ao dum determinado segmentoi em torno da juntai respectiva, dene um referencial cartesiano ortonormado - sistemai - na extremidade do braco. O referencial encontra-se unido ao segmento, rodando com ele (so teriamos de considerar translac~ao no caso de 19 termos juntas prismaticas). Desta forma, para cada juntai temos a sucess~ao junta-segmento-sistema, em que o sistemai e espacialmente coincidente com a juntai+1 (no caso de esta existir). Desta forma o referencial base de um manipulador sera o sistema0 situado sobre a junta1. A fase seguinte do metodo consiste na determinaca~o das matrizes de transformac~ao homogenea (4x4), que mapeiam as coordenadas do sistemai no sistemai,1. Esta matriz sera func~ao do ^angulo de rotaca~o i em torno da juntai. Cada sistema de coordenadas e estabelecido segundo as seguintes regras: 1. O eixo zi,1 situa-se ao longo do eixo de movimento da juntai. 2. O eixo xi e normal ao eixo zi,1 e aponta para fora deste. 3. O eixo yi completa o sistema de coordenadas (utilizando a regra da m~ao direita). Como foi referido podemos, com a representac~ao D-H, desenvolver uma matriz de transformac~ao que relaciona o sistemai com o sistemai,1. Um ponto expresso no sistemai pode ser referenciado no sistemai,1 utilizando as seguintes transformaco~es: 1. Rodamos em torno de zi,1 o eixo xi,1 de um ^angulo i para o alinharmos com o eixo xi. 2. Translacionamos ao longo do eixo zi,1 a dist^ancia di para tornarmos os eixos xi,1 e xi coincidentes. 3. Translacionamos ao longo do eixo xi uma dist^ancia ai para fazer coincidir as duas origens bem como o eixo xi. 4. Rodamos um ^angulo i em torno do eixo xi para fazermos coincidir os dois sistemas de coordenadas. Isto em operac~oes com matrizes traduz-se em: i,1 A i = Tz;d Tz;tTx;aTx; = 2 1 0 0 0 3 2 cos(i) 6 76 i ) = 664 00 10 01 d0 775 664 , sin( 0 i 0 0 0 1 0 20 , sin(i) 0 0 3 cos(i) 0 0 0 1 0 0 0 1 77 75 2 1 0 0 ai 3 2 1 0 6 76 i ) 664 00 10 01 00 775 664 00 cos( sin(i) 0 03 , sin(i) 0 777 = cos(i) 0 5 0 0 0 1 0 0 0 1 2 cos(i) , cos(i) sin(i) sin(i) sin(i) ai cos(i) 3 6 i) cos(i) , sin(i) cos(i) ai sin(i) 777 = 664 sin(0i) cos(sin( i) cos(i) di 5 0 0 0 1 onde i, ai, di s~ao constantes, enquanto que i e o ^angulo de rotac~ao da junta. Aplicac~ao do metodo de Denavit-Hartenberg na modelizac~ao dum membro do rob^o β2 β3 Anca C a n e l a β1 Figura 2.2: Perna do Rob^o Como se pode ver na gura um membro do rob^o comp~oe-se de dois segmentos que designaremos por anca e canela em analogia com a perna humana. As juntas s~ao de revoluc~ao sendo os graus de liberdade tr^es. A anca pode rodar no seu encaixe em duas direcc~oes: na horizontal descrevendo o a^ngulo 1 e na vertical segundo o ^angulo 2. A canela pode girar na vertical de forma a descrever o ^angulo 3 em torno da junta de uni~ao com a anca. Os sentidos indicados pelas setas s~ao os convencionados positivos. Note-se que, para se poder aplicar os formalismos de D-H, cada segmento so podera rodar em torno de um unico eixo portanto numa unica direcc~ao. 21 No entanto a anca movimenta-se quer na vertical quer na horizontal. Sera que podemos utilizar o metodo? A resposta a quest~ao do paragrafo anterior e armativa. Para isso teremos de considerar ao nvel do encaixe da anca duas juntas. A junta1 com um eixo de rotaca~o vertical em torno do qual a anca descreve 1, e a junta2, perpendicular a anterior, a que esta associado o ^angulo 2. A particularidade nestas duas juntas e que o comprimento do segmento1 que as une e nulo. S0 S1 Seg1=0 J1 S2 Seg2 J3 J2 S - sistema J - junta Seg -segmento Seg3 S3 Figura 2.3: Sistemas de eixos coordenados graco-1 Conforme se pode observar na gura a junta1 coincide espacialmente com o sistema0 que, para ja, vamos considerar xo. O sistema3 localiza-se no ponto de apoio do membro. Estamos agora em condic~oes de avancar com a aproximaca~o de D-H. De acordo com as suas regras denimos os referenciais ortonormados. Assim temos quatro sistemas de coordenadas. O referencial base pode ser colocado em qualquer lugar, desde que o eixo z0 se situe ao longo do eixo de movimento da junta1. Em relac~ao ao segundo sistema de coordenadas o eixo x1 tem de ser normal ao eixo z0. z1 e posicionado de forma a car no enamento do eixo de rotaca~o da junta1. Fazendo, sucessivamente, estes raciocnios chegamos ao quarto sistema de coordenadas cujo versor x3 tem de ser normal a coordenada z2. Os par^ametros das juntas s~ao a seguir tabelados. Par^ametros da perna: juntai i i ai 1 0 90 0 2 0 0 anca 3 270 0 canela 22 di 0 0 0 y1 x1 z1 x2 y2 z2 z0 x0 y3 y0 z3 x3 Figura 2.4: Sistemas de eixos coordenados graco-2 Denidos os sistemas de eixos e determinados os par^ametros das juntas facilmente, com o visto na subsecc~ao anterior, chegamos as matrizes de transformaca~o, func~ao dos ^angulos de rotac~ao i. 2 cos(1) 0 sin(1) 0 3 7 6 0 A1 = 66 sin(1) 0 , cos(1) 0 77 4 0 1 0 05 0 0 0 1 2 cos(2) 6 1A2 = 66 sin(2 ) 4 0 , sin(2) 0 ,anca cos(2) 3 cos(2) 0 ,anca sin(2) 777 5 0 1 0 0 0 0 1 2 cos(3) , sin(3) 0 canela cos(3) 3 6 7 2 A3 = 66 sin(3) cos(3 ) 0 canela sin(3 ) 77 4 0 5 0 1 0 0 0 0 1 Para terminar note-se que, uma coisa s~ao os a^ngulos i formados pelo segmentoi e segmentoi,1 e em func~ao dos quais se denem as matrizes de transformaca~o entre sistemas de eixos. Outra coisa s~ao os ^angulos i da gura ?? que permitem raciocinar duma forma mais facil e intuitiva sem nos termos de preocupar com os referenciais das juntas. Naturalmente que para cada valor de i existe um i correspondente. Os esquemas seguintes ( ??) ilustram essa relac~ao. 23 Junta 1 - Vista de cima - θ1=0 x0 z0 + β 1=0 θ1 = β1 - + y 0 Junta 2 - Vista lateral + y1 - z1 θ2 =0 x1 - θ2 = β2 β 2 =0 + Junta 3 - Vista lateral y 2 θ3=0 θ 3 = β 3 + 270 z2 x2 Nota: O versor de X3 está desfazado de 270 graus de X2 na posição inicial. - + β 3=0 Figura 2.5: A^ ngulos e de cada junta 2.2.3 Integrac~ao do conjunto. Modelo cinematico do rob^o. Na subsecc~ao anterior utilizamos a aproximac~ao de Denavit-Hartenberg de forma a obter um modelo matematico da perna que permitisse resolver o problema da cinematica directa. Para isso denimos quatro sistemas de eixos aos quais correspondem tr^es matrizes de transformaca~o, func~ao de cada um dos graus de liberdade possveis. Consideramos o sistema0 xo e que a matriz i,1Ai(com i=1,2,3) mapeava as coordenadas cartesianas, denidas no sistemai, nos valores correspondentes do sistemai,1. Desta forma, para cada trio de a^ngulos de rotac~ao podemos conhecer a posic~ao de qualquer ponto da perna em relac~ao ao sistema0, em particular a extremidade de apoio. No entanto o problema n~ao ca por aqui. O HEG e constitudo n~ao por 24 uma mas por seis pernas mais um corpo central. O corpo central pode-se descrever como um prisma hexagonal com duas pir^amides, tambem hexagonais, assentes sobre os topos do prisma. Para ns de analise vamos considerar uma geometria perfeitamente simetrica. Servindo-nos dos estudos ja feitos vamos tentar integrar todos estes elementos. O primeiro problema consiste em, estudadas que est~ao as pernas, como denir a sua posic~ao relativa. Por outras palavras, onde colocar a origem do sistema0 de cada membro. Para isso e de toda a conveni^encia comecar por denir um referencial central do rob^o posicionado no centro do corpo. O facto de considerarmos um sistema de eixos central n~ao so facilita a colocac~ao relativa dos membros, como tambem simplica a descrica~o do movimento do rob^o, como um todo, em relac~ao a um referencial inercial (trajectorias, etc). Assim, convencionamos o sistema de eixos da gura. A disposic~ao dos eixos n~ao segue nenhuma regra particular, utilizamos aquela que nos pareceu facilitar mais as coisas. y z x Figura 2.6: Eixo central do HEG Para cada perna temos que ter uma matriz que transforme as coordenadas do seu sistema0 nos valores equivalentes do sistemacentral. Por outras 25 palavras, que especique a posic~ao dos versores do sistema0 segundo as coordenadas do sistemacentral. Facamos um corte transversal no corpo do rob^o. Obtemos um hexagono que pode ser contido numa circunfer^encia de raio R. perna1 perna2 Eixo central do corpo Eixo da perna 4 y z centro ycentro perna3 xcentro 0 xcentro perna4 z centro x0 y 0 z centro perna6 perna5 Visto de frente Corte transversal visto de cima Figura 2.7: Montagem corpo-perna4 Repare-se no sistema de eixos da base da perna 4. Ele encontra-se rodado, em relac~ao ao sistema central, de 90 graus segundo X e 180 graus segundo Y0. Ja o sistema base da perna 2 sofre uma rotac~ao adicional de 4 em torno de Z0. Em resumo, dado uma pernai, o seu referencial base sofre 1. Uma rotac~ao de 90 graus em torno do eixo X 2. Uma rotac~ao de 180 graus a volta do eixo Y0 . 3. Uma rotaca~o adicional de i em torno de Z0. A seguir temos um diagrama com os valores de i para cada perna. perna2 perna1 γ =60 2 γ =120 1 perna3 ycentro γ =180 3 γ 4 =0 xcentro perna4 z centro γ =300 6 γ =240 5 perna6 perna5 Figura 2.8: Local e valor do ^angulo em que cada perna e inserida. 26 A matriz de transformaca~o (sem componente translacional) das coordenadas no sistema0 da pernai e dado por: 2 1 0 0 0 3 2 ,1 0 0 0 3 2 cos(i ) , sin(i) 0 0 3 6 0 0 ,1 0 77 66 0 1 0 0 77 66 sin(i ) cos(i ) 0 0 77 central A = 6 0i 64 0 1 0 0 75 64 0 0 ,1 0 75 64 0 0 1 0 75 = 0 0 0 1 0 0 0 1 0 0 0 1 2 , cos(i) sin(i) 0 0 3 6 7 = 664 sin(0 ) cos(0 ) 10 00 775 i i 0 0 0 1 Note-se que ainda falta considerar a componente translacional. Qualquer que seja a perna que estejamos a considerar, as coordenadas do vector de translac~ao denidas no sistema central h~ao-de ter y=0. Precisamos ent~ao de calcular x e z. Seja (xi,yi,zi) o vector de posic~ao do referencial base da pernai. Ent~ao temos: xi = dist cos(i) yi = 0 zi = ,dist sin(i) Atenc~ao que dist e diferente de R. Se repararmos ... R 30 dist dist=R*cos(30) Figura 2.9: Raio real (dist) de encaixe da perna no corpo. A matriz nal de transformac~ao, com o apurado anteriormente, ha-de ser: 2 1 0 0 dist cos(i ) 3 2 , cos(i) sin(i) 0 0 3 6 0 0 ,1 77 66 0 0 0 1 0 77 central A = 6 0i 64 0 1 0 ,dist sin( ) 75 64 sin( ) cos( ) 0 0 75 = i i i 0 0 0 1 0 0 0 1 27 2 , cos(i) sin(i ) 0 dist cos(i ) 66 = 64 sin(0 ) cos(0 ) 10 ,dist 0 sin( ) i i i 3 77 75 0 0 0 1 Para o estudo da cinematica directa car concludo resta determinar a relac~ao entre o sistemainercial e o sistemacentral. Note-se que corpo do rob^o tem todos os graus de liberdade podendo ter movimento de translac~ao e rotaca~o ao longo e em torno, respectivamente, dos tr^es eixos inerciais. Assim, se (Rx, Ry , Rz ) for a posic~ao do centro de massa do corpo em cada instante e (x, y , z ) os a^ngulos de rotac~ao a volta de cada um dos eixos, a matriz de transformac~ao inerciaAcentral tera de ser func~ao daqueles par^ametros. Considerando a ordem de rotac~ao X, Z, Y vem a seguinte matriz onde C e S signicam cos e sin respectivamente. 2 6 = 664 . inercial A central = C (y )C (z ) S (y )S (x) , C (y )S (z )C (x) S (z ) C (z )C (x) ,C (y)S (z ) S (y )S (z )C (x) + C (y )S (x) 0 0 C (y )S (z )S (x) + S (y )C (x) Rx 3 ,C (z )S (x) Ry 777 C (y )C (x) , S (y )S (z )S (x) Rz 5 0 1 2.3 Cinematica inversa 2.3.1 Introduc~ao Como ja foi descrito, o problema da cinematica inversa e o de achar os ^angulos de rotac~ao de forma a que, dado um ponto generico p(px; py ; pz ) denido no sistema0, a perna, caso seja possvel, a posicione o sua extremidade de apoio. Este problema e de grande import^ancia para a locomoca~o do rob^o, permitindo delinear tecnicas baseadas, n~ao no fornecimento de trios sucessivos de ^angulos, mas na denic~ao de pontos de apoio para cada membro. Desta forma a aplicaca~o da cinematica inversa, associada a um estudo de trajectoria de rotac~ao do membro, cria a sequ^encia de trios de a^ngulos automaticamente. Para a resoluc~ao deste problema existem diversos metodos complexos, como sejam o da transformada inversa [2], screw algebra[3], dual matrices[4], 28 dual quaternian [5], iterativo[6] e aproximac~ao geometrica[7]. Estas tecnicas s~ao normalmente aplicadas a manipuladores como o PUMA com seis ou mais graus de liberdade. Verica-se que nestas situac~oes o problema e indeterminado, existindo mais que uma combinac~ao de a^ngulos que posiciona correctamente a extremidade do braco. Assim, os metodos normalmente descritos na literatura sobre manipuladores, fornecem mais que uma soluc~ao, sendo muitas vezes complicado escolher a mais adequada. Ao contrario do que zemos para o caso da cinematica directa, decidimos n~ao nos basear nas tecnicas utilizadas nos manipuladores. Isto porque,dado a perna so ter tr^es graus de liberdade, o problema torna-se bastante mais simples e a soluc~ao deixa de ser indeterminada para passar a ser unica. Em seguida explicamos o algoritmo que concebemos para a resoluca~o do problema. 2.3.2 Algoritmo utilizado Consideremos um ponto p(px ; py ; pz ) cujas coordenadas est~ao especicadas em func~ao do referencial base da perna sistema0 p(px,py,pz) py perna x0 px θ1 y0 Figura 2.10: Vista de cima da perna. Dado os membros so terem um grau de liberdade na horizontal, a perna, vista de cima, pode-se analisar como um segmento de recta que roda em torno da origem (junta1).Dada esta particularidade do problema, que o simplica bastante, verica-se que, de forma a podermos posicionar o ponto de apoio em p(px ; py ; pz ), o ^angulo de rotac~ao na horizontal (1) e unico e igual a arctg(,py ; ,px)=arctg(py ; px ). Naturalmente que se 1 estiver fora dos limites de rotac~ao sicamente possveis o problema n~ao tem soluca~o. 29 8 1 = arctan ppxy > > < sin( 1) = , ppp2xy+p2y > > : cos(1) = , ppp2x+p2 x y De seguida calculemos as coordenadas do ponto objectivo em relac~ao ao sistema1. Para obter p(px1 ; py1; pz1 ) basta multiplicar p(px ; py ; pz ) pela inversa da matriz 0A1, func~ao de 1. Naturalmente que pz1 ha-de ser nulo. 2 66 64 px1 py 1 pz 1 1 2 6 <=> 664 3 2 cos(1) 77 66 0 75 = 64 sin( ) 1 px1 py 1 pz1 1 3 2 77 666 75 = 66 4 0 sin(1) 0 , cos(1) 0 0 1 0 0 0 32 0 777 666 0 54 1 px py pz 1 3 77 75 <=> p,p p+p p,p p+p 0 0 3 2 px 3 x 2 x 2 y 2 x y 7 2 y 1 0 777 666 py 777 <=> p,p2p+y p2 ppp2x+p2 0 0 75 4 pz 5 x y x y 1 0 0 0 1 2 q 3 2 px1 3 6 , p2x + p2y 7 6 7 6 77 pz <=> 664 ppy1 775 = 66 75 z1 0 4 1 1 0 0 y1 a α1 x1 b α2 c α4 d e α3 Figura 2.11: A perna em relac~ao ao referencial1 30 Observando a gura anterior constatamos que os dois segmentos da perna (anca e canela), juntamente com o vector de posic~ao do ponto, formam um tri^angulo. Vamos utilizar alguns conceitos elementares de geometria e trigonometria para determinar os a^ngulos internos desse tri^angulo. Um dos recursos e o conhecido teorema de Pitagoras. 8 2 2 2 8 2 > > < a =d +b < b = a2 , d2 2 2 2 c = e + b , > c2 = e2 + a2 , d2 > : p =d+e : p=d+e ( 2 2 2 2 c =e +a ,d ( 2 2 2 2 , c =e +a ,d ( 2 2 2 2 , c = (p , d) + a , d , p=d+e e=p,d ( ( ( 2 2 p2 +a2 ,c2 2 + a2 , c2 2 2 pd = p c = p , 2 pd + a d = 2p , , , , 8 < d = p2 +2ap2 ,c2 , : e = p2,a2 +c2 2p Determinados 'd' e 'e' vamos calcular os ^angulos internos do tri^angulo tendo em atenc~ao que os seu valores variam entre 0 e . q Assim, sendo 'a' e 'c' os comprimentos da anca e da canela e p=d+e= p2x + p2y + p2z , vem que 8 c2 +p2x +p2y +p2z d ) = arccos( a2 ,p > > = arccos( 1 a > 2a p2x +p2y +p2z ) < 2 = , 1 , 3 2 2 2 2 2 > > : 3 = arccos( ec ) = arccos( ,a2c+pc p+2 p+xp+2 +pyp+2 pz ) x y z Se considerarmos um ^angulo 4 a variar entre , 2 e 2 tal que 4 = arctan( ppy1x1 ) = arctan(, ppp2xz+p2y ) Conclumos que 8 a2 ,c2 +p2 +p2 +p2 > > < 2 = ,(1 , 4 ) = ,(arccos( 2app2x +x p2y +y p2z z ) , arctan(, ppp2xz+p2y )) a2 ,c2 +p2 +p2 +p2 ,a2 +c2 +p2 +p2 +p2 > : 3 = 2 , 2 = + arccos( 2app2x +x p2y +y p2z z ) + arccos( 2cpp2x +xp2y +yp2z z ) Em resumo, da mesma forma que a cada trio de a^ngulos (1,2,3) corresponde um e um so ponto de posicionamento da extremidade, tambem a cada ponto (px,py ,pz ) corresponde um e um so trio de ^angulos (considerando a concavidade da perna sempre virada para baixo o que e um pressuposto mais do que razoavel). O facto desta func~ao ser injectiva vai-se mostrar muito conveniente em aplicac~oes futuras. 31 2.3.3 Relac~ao entre as grandezas cinematicas lineares e angulares No decurso do desenvolvimento e trabalho com rob^os com pernas vai ser frequente querermos que a extremidade da perna se mova numa dada direcc~ao com um certa velocidade. No entanto, n~ao nos podemos esquecer que a actuac~ao e feita atraves dos motores das juntas. Neste contexto temos que forcosamente trabalhar com grandezas cinematicas angulares. Torna-se assim vital conseguir determinar, para uma dada velocidade vectorial da ponta da perna, as respectivas velocidades angulares das juntas. Consideremos as coordenadas denidas em relac~ao ao referencial base da perna - sistema0. Naturalmente que, no caso das grandezas serem fornecidas noutro referencial, facilmente conseguiremos fazer a convers~ao utilizando as matrizes de transformac~ao adequadas. Quando analisamos a quest~ao da cinematica directa conclumos que, dado um trio de ^angulos (1; 2; 3), podamos fazer-lhe corresponder a posica~o da extremidade da perna (px ; py ; pz ). Denimos assim uma func~ao vectorial F - cujo domnio s~ao os ^angulos das juntas e o contradomnio as respectivas posic~oes da extremidade. Ao resolver o problema da cinematica inversa chegamos a conclus~ao de que F era uma func~ao injectiva e, consequentemente, podiamos denir uma func~ao inversa - F ,1 - que a cada ponto zesse corresponder um trio de ^angulos. 8 (px; py ; pz ) = F (1; 2; 3) > > < px = Fx(1 ; 2; 3) > p = F ( ; ; ) > : py = Fy( 1; 2; 3) z z 1 2 3 8 > > < > > : (1; 2; 3) = F ,1(px ; py ; pz ) 1 = F,1 1(px; py ; pz ) 2 = F,2 1(px; py ; pz ) 3 = F,3 1(px; py ; pz ) Trabalhando agora a ultima func~ao, e assumindo que a posic~ao da extremidade da perna varia com o tempo, vericamos que, de acordo com as regras de derivac~ao compostas: ,1 ,1 ,1 ,1 d1 dt = dF1 (px(t)dt;py(t);pz(t)) = @F@px1 d2 dt = dF2 (px(t)dt;py(t);pz(t)) = @F@px2 32 dpx dt + @F@py1 ,1 dpy dt + @F@pz1 ,1 dpx dt + @F@py2 ,1 dpy dt + @F@pz2 ,1 dpz dt dpz dt d3 dt ,1 ,1 = dF3 (px(t)dt;py(t);pz(t)) = @F@px3 dpx dt ,1 + @F@py3 dpy dt ,1 + @F@pz3 dpz dt Denindo o vector velocidade linear como - V (vx; vy ; vz ) = ( dpdtx ; dpdty ; dpdtz e o trio de velocidades angulares como - (!1; !2; !3) = ( ddt1 ; ddt2 ; ddt3 ) - temos a relaca~o pretendida. Usando a noca~o de Jacobiano de uma func~ao vectorial rescrevemos as relac~oes anteriores como: = JF ,1 (px ; py ; pz ) V O calculo da matriz Jacobiana permite ainda estabelecer uma relac~ao similar entre as acelerac~oes linear e angulares. 33 Captulo 3 Din^amica 3.1 Introduc~ao As vantagens da locomoc~ao com pernas foram exaustivamente descritas no captulo 1 deste documento. Muito do trabalho realizado ate agora na area debrucou-se sobre a navegac~ao em superfcies suaves, tendo sido criados alguns prototipos e tiradas muitas conclus~oes (\gait" optima, relac~oes entre par^ametros cinematicos, estabilidade, etc). Os grandes desaos da actualidade p~oem-se com os pisos irregulares, agrestes e desconhecidos onde se ambiciona vir a operar com este tipo de maquinas. Caminhar em terreno natural levanta um conjunto de problemas variados e complexos, como sejam a altern^ancia de carga nos pontos de apoio, xac~ao e escorregamento das extremidades, colocac~ao dos pes em superfcies com declives e obstaculos, estabilidade do veiculo, etc. Assuntos estes que t^eem de ser tidos em conta, n~ao so na construc~ao e desenvolvimento das estruturas mec^anicas, como tambem na elaborac~ao de sistemas de controlo e pilotagem. Dicilmente estas quest~oes vir~ao a ser convenientemente ultrapassadas sem uma modelizac~ao fsica e matematica das situaco~es. A elaborac~ao de modelos, com maior ou menor aproximac~ao, permitira n~ao so estudos de simulaca~o e elaborac~ao de algoritmos de controlo, como tambem a aquisica~o de um certo conhecimento e sensibilidade sobre os sistemas, que e sempre util no desenvolvimento e tomadas de decis~ao. Este tipo de abordagem e difcil exigindo, entre outras coisas, uma grande multidisciplinariedade. Os conhecimentos de fsica e matematica necessarios para este trabalho saiem muitas vezes da formac~ao geral dada em engenharia electrotecnica. Da que, embora tenhamos desenvolvido todos os esforcos para tentar dominar estas areas, consultando inclusive alguns especialistas, o nosso formalismo possa parecer algo primario e ingenuo. 34 Antes de iniciarmos este projecto zemos, como e de toda a conveni^encia, uma pesquisa em relac~ao aos trabalhos de desenvolvimento na area. Esta investigac~ao teve como intuito, entre outras coisas, encontrar ideias que nos auxiliassem. No entanto, da informac~ao que recolhemos, pouca ou nenhuma ajuda conseguimos sobre a quest~ao da modelizac~ao din^amica. Ficamos com a sensac~ao de que muitas vezes se foge ao problema, tentando esquemas de controlo baseados em informac~ao recolhida atraves de sensores. E certo que esta abordagem tem uma serie de vantagens, mais n~ao seja a economia de esforco na modelizac~ao que, como veremos, n~ao e um factor de somenos import^ancia. Porem, quer por pretendermos construir um simulador, quer por, de acordo com o que dissemos acima, acreditarmos que a modelizac~ao, embora sendo um caminho mais difcil, permitira melhores resultados, optamos por comecar por fazer uma analise da din^amica do HEG. 3.2 Estrategia e formulac~ao din^amica O estudo iniciado neste captulo, e desenvolvido nos captulos subsequentes, tem como objectivo a obtenc~ao de um modelo din^amico (o cinematico ja foi abordado) para a locomoc~ao com pernas em terreno natural. Dada a complexidade do problema vamos partir duma situac~ao simplicada, conrmar a veracidade das ideias e resultados, e so depois evoluir para situac~oes mais complexas. Assim, comecaremos por trabalhar num modelo planar (2D), considerando um rob^o so com duas pernas. A superfcie sobre a qual se realiza o movimento tera congurac~ao plana. A interacc~ao com o solo sera modelizada atraves de reacc~oes normais e forcas de atrito que, ao serem incorporadas, conduzir~ao a um sistema n~ao conservativo. O atrito nas juntas sera considerado desprezavel. Analisaremos so a estrutura mec^anica n~ao nos preocupando com actuaca~o dos motores, ou seja, estes estar~ao desligados e destravados. Naturalmente que todas as formulac~oes feitas durante esta fase ser~ao elaboradas de forma a poderem vir a ser expandidas para o caso subsequente mais complexo - a situaca~o real a 3D com seis pernas. Resta-nos falar sobre o metodo utilizado para a derivac~ao das equac~oes din^amicas. Em robotica utilizam-se basicamente dois tipos de formulac~ao: Lagrange e Newton-Euler. Alguma literatura tambem refere abordagens baseadas no Principio d'Alembert e da Din^amica de Kane de que n~ao falaremos neste documento. A abordagem de Langrage baseia-se nos princpios de energia dos corpos. Tem a vantagem de trabalhar sobre grandezas escalares e, ao ser aplicada a estruturas complexas, tratar implicitamente as forcas de ligac~ao entre os 35 elementos constituintes dessa estrutura. Computacionalmente, e envolvendo matrizes homogeneas 4x4, torna-se dispendiosa em termos de somas e multiplicac~oes a executar, sendo ineciente para a resoluc~ao de problemas de din^amica inversa e aplicac~oes de controlo em tempo real (embora existam algoritmos recursivos para minorar esta deci^encia). Em contrapartida tem um nvel de abstracca~o tal que permite a aplicac~ao a varias congurac~oes atraves da variac~ao dos diferentes par^ametros geometricos, caracterstica muito util aquando da concepca~o das estruturas mec^anicas. O metodo de Lagrange e provavelmente a tecnica mais frequentemente usada na resoluc~ao de problemas din^amicos de robotica. Alternativamente, existe a formulac~ao de Newton-Euler, que aplica directamente as equac~oes vectoriais da din^amica a cada segmento da estrutura. O sistema de equaco~es, em relaca~o a um determinado referencial, e obtido juntando as equac~oes locais dos segmentos. A aproximac~ao de Newton-Euler, dado trabalhar com grandezas vectoriais e tratar explicitamente as forcas de ligaca~o, bem como forcas inerciais e de Coriolis, torna-se mais difcil de aplicar a estruturas complexas. Tem a vantagem de, utilizando tecnicas recursivas, ser bem mais economica computacionalmente, quer no problema directo quer inverso, sendo por isso muitas vezes usada para ns de controlo em tempo real. A metodologia explanada no captulo seguintes n~ao se pode enquadrar rigidamente em nenhuma destas tecnicas, indo buscar inspirac~ao a ambas (em particular a de Newton-Euler). Pode-se descrever como uma aplicac~ao das leis fundamentais da din^amica de translac~ao e rotac~ao do corpo rgido ao caso particular da estrutura do HEG. Longe de obtermos uma formulaca~o geral e exvel, pretendemos uma particularizac~ao que se adapte bem ao nosso rob^o e ao estudo cinematico ja feito. Embora n~ao t~ao sosticada como as abordagens referidas, julgamos ter a vantagem de ser muito mais intuitiva e facil de compreender, permitindo um melhor entendimento do sistema a trabalhar, o que constitui um dos nosso objectivos. Subsequentemente aplicaremos a metodologia de Lagrange. Com isto pretendemos ter uma outra perspectiva do problema tentando obter as equac~oes de estado do sistema, bem como realcar eventuais forcas e fraquezas da metodologia inicial. 36 Captulo 4 Modelizac~ao din^amica do caso simplicado 2D usando Diagrama de Corpo Livre 4.1 Introduc~ao Como ja referimos no captulo anterior vamos tentar aplicar uma abordagem um pouco diferente dos trabalhos realizados de que temos conhecimento. Comecaremos pela analise dum caso simplicado a duas dimens~oes (2D). Numa primeira fase consideraremos os motores desactivados preocupado-nos somente com as equaco~es da estrutura bem como a sua interacc~ao com um solo rgido e plano. 4.2 Modelo cinematico para o caso 2D Vamos comecar por adaptar as matrizes de transformaca~o 3D deduzidas anteriormente para a situaca~o 2D. Note-se que neste modelo simplicado so temos as pernas 3 e 4. A translac~ao so e possvel sobre o plano XOY e as rotaco~es s~ao exclusivamente feitas em torno de Z. 2 3 cos(z ) , sin(z ) Rx 6 7 inercial A central (Rx ; Ry ; z ) = 4 sin(z ) cos(z ) Ry 5 0 0 1 Trabalhando a 2D perdemos um grau de liberdade na mobilidade das pernas. Qualquer que seja a perna temos que 1 = 0. Deste modo sabemos que a matriz de transformac~ao entre o sistemabase e o sistema1 e con37 stante dado o objecto ou argumento da func~ao n~ao variar. Assim, temos que central A1(i ) =central Abase base A1(0) para cada pernai (i=3,4). 2 3 , cos(i) 0 dist cos(i ) 75 central A ( ) = 6 0 1 0 1 i 4 0 0 1 ( 3 = 180 4 = 0 Calculemos agora as duas matrizes de transformac~ao que faltam 2 3 cos(2i) , sin(2i) ,anca cos(2i) 1 A2(2i ) = 64 sin(2i ) cos(2i ) ,anca sin(2i) 75 0 0 1 2 cos(3i) 2A3 (3i) = 64 sin(3i) 0 + , sin(3i) canela cos(3i) 37 cos(3i) canela sin(3i) 5 0 φz 1 - (Rx, Ry) + Y + θ 23 θ 24 θ33 X - + θ 34 + + Perna3 γ 3 = 180 - Perna4 γ 4 =0 Figura 4.1: Cinematica - variaveis independentes. 4.3 Algumas considerac~oes iniciais A primeira quest~ao que se p~oe e a seguinte: Com tantos referenciais, em relac~ao a qual vamos deduzir as equac~oes? Como forma de fugir a transformac~oes complexas entre sistemas, muitas vezes envolvendo forcas inerciais, 38 decidimos optar por deduzir tudo em relac~ao a um referencial inercial fora do rob^o. Naturalmente que esta escolha tem uma serie de inconvenientes, nomeadamente a necessidade de uma aproximac~ao menos sistematica e mais heurstica. Mas como ja referimos, a generalidade da formulac~ao n~ao e uma coisa que nos preocupe nesta fase. Vamos trabalhar com os conceitos da din^amica do corpo rgido. Numa situac~ao 2D, a posica~o dum solido e univocamente fornecida pelas coordenadas do seu centro de massa e por uma ^angulo de rotac~ao em torno de Z. Vamos considerar os componentes da estrutura do HEG como solidos geometricos simetricos e de densidade constante, de forma a facilitar o calculo dos centros de massa e momentos de inercia em torno de um eixo. Para cada corpo constituinte a translac~ao do centro de massa e regida pelo teorema do movimento do centro de inercia. A inercia do corpo e expressa atraves da sua massa M. Denindo as forcas exteriores como (Fxext; Fyext) e a acelerac~ao do centro de massa como (ax; ay ) vem: ( P ext P Fxext = M ax Fy = M a y A rotac~ao em torno do centro de massa e descrita com base no teorema da variac~ao do momento angular. ( M~ z = Pi r~i F~iext Mz = ICM Onde Mz , ICM e s~ao respectivamente o momento das forcas, o momento de inercia e a aceleraca~o angular computados para o eixo dos Z a passar pelo centro de massa (CM). Uma relac~ao que pode ser util, no caso de ser mais facil calcular os momentos de forca em relac~ao a outro ponto que n~ao o CM, e a dos momentos de inercia. Dado um momento de inercia ICM , para a rotac~ao em torno de um eixo que passe pelo CM, o momento de inercia IP denido para um eixo paralelo ao primeiro mas a passar por um ponto P e dado por: IP = ICM + M:d2 (d - distancia entre os eixos paralelos) 4.4 Obtenc~ao do sistema de equaco~es 4.4.1 Pontos a considerar no rob^o O esquema seguinte indica os pontos na estrutura mec^anica onde s~ao aplicadas forcas. As coordenadas s~ao expressas em relac~ao ao referencial inercial 39 assinalado. Para a determinac~ao dos bracos para a computac~ao dos momentos de forcas basta-nos, como iremos ver, fazer subtrac~oes entre os vectores indicados. Em resumo, estes s~ao os unicos pontos cujas coordenadas s~ao relevantes para a resoluca~o do problema. (Rjx3, Rjy3) (Rax3, Ray3) (Rx, Ry) (Rbx3, Rby3) (Rax4, Ray4) (Rjx4, Rjy4) (Rbx4, Rby4) (Rcx4, Rcy4) (Rcx3,Rcy3 ) Y (Rpx3, Rpy3) X (Rpx4, Rpy4) Perna3 Perna4 Figura 4.2: Pontos no Rob^o. Coordenadas do rob^o Coordenadas Descric~ao (Rx; Ry ) Centro de massa do corpo (Raxi; Rayi ) Centro de massa da anca (pernai) (Rcxi; Rcyi ) Centro de massa da canela (pernai) (Rbxi; Rbyi ) Junc~ao com o corpo(pernai ) (Rjxi; Rjyi ) Junc~ao da anca com a canela (pernai) (Rpxi; Rpyi ) Extremidade de apoio (pernai) 4.4.2 Diagramas de corpo livre e forcas aplicadas O diagrama de corpo livre e um formalismo utilizado na engenharia mec^anica em geral e na din^amica do corpo rgido em particular. Dada uma estrutura mais ou menos complexa, comecamos por a dividir nos seus componentes principais - no nosso caso um corpo central, duas ancas e duas canelas. Feito isto indicamos, para cada elemento, as forcas exteriores aplicadas. Naturalmente que nos pontos de ligac~ao com outros componentes estaremos a indicar forcas interiores ao sistema total. Na nossa situac~ao, e dado n~ao considerarmos atrito nas juntas, as forcas de tens~ao est~ao nesta situac~ao. Para terminar determinamos as equac~oes de translac~ao e de rotac~ao. O conjunto das express~oes obtidas sera o sistema de equac~oes din^amicas da estrutura. A seguir enunciamos o diagrama de corpos livres. 40 Tjy3 -Tx3 -Tjy3 Ty3 Tx3 Ty4 Fg -Ty3 Tjx3 -Tjx3 Tjy4 Tx4 -Tx4 Tjx4 -Ty4 -Tjx4 Fga4 Fga3 -Tjy4 Fgc3 Fgc4 Y N4 N3 Fa3 Fa4 X Figura 4.3: Diagrama de Corpos Livres. Legenda do diagrama de corpos livres Forcas Descric~ao (Fg ) Forca gravtica sobre o corpo (Fgai) Forca gravtica sobre a anca(pernai) (Fgci) Forca gravtica sobre a canela (pernai) (Ni) Reacc~ao normal do solo na extremidade de apoio(pernai ) (Fai) Forca de atrito(pernai) (Txi; Tyi) Tens~ao na junc~ao anca-corpo(pernai ) (Tbxi; Tbyi) Tens~ao na junta anca-canela(pernai ) Considerando outra vez o conjunto e eliminando as forcas interiores. Fg Fga3 Y Fga4 Fgc4 Fgc3 N3 N4 Fa3 X Fa4 Perna3 Perna4 Figura 4.4: Forcas exteriores. Antes de passarmos a deduca~o das equac~oes note-se que nem sempre o eixo de rotac~ao coincide com o eixo dos Z do referencial inercial. Nomeadamente, 41 no caso da perna 4, o sentido de rotaca~o, de acordo com o modelo cinematico, e inverso ao normal. De forma a criar um norma vamos calcular os momentos de forca sempre em relaca~o ao eixos do referencial inercial. Resolvemos o problema da n~ao coincid^encia do eixo de rotac~ao com o sistema de refer^encia determinando as coordenadas do versor do primeiro em func~ao do segundo. O valor do momento necessario a determinac~ao da acelerac~ao angular e obtido fazendo a projecc~ao do vector sobre o versor usando o produto interno. No nosso caso concreto determinamos os momentos sempre em torno de Z e utilizamos os seguintes versores. ( vers ~ 3 = u~z vers ~ 4 = ,u~z Como neste caso simplicado so estamos a considerar rotac~ao em torno de Z podemos abandonar a notac~ao de vector e fazer simplesmente ... ( vers3 = 1 vers4 = ,1 Esta metodologia vai facilitar a expans~ao da tecnica para problemas maiores, nomeadamente a estrutura tridimensional. 4.4.3 Primeira tentativa para estabelecer as equac~oes Corpo principal Comecemos pelo corpo principal. De acordo com a gura 3 as coordenadas do seu centro de massa s~ao dadas por (Rx; Ry ). Sendo assim, se considerarmos uma massa inercial \mcp" e a acelerac~ao gravtica \g", as equac~oes de translac~ao ser~ao ( mcp ddt22 R2x = Tx3 + Tx4 mcp ddtR2y = Ty3 + Ty4 , mcpg O movimento de rotac~ao e feito em torno do eixo dos Z. Considerando o momento de inercia \Icp" e a posic~ao angular \z " calculamos o momento de forcas (ver produto externo ou vectorial) em relaca~o ao CM e estabelecemos a relac~ao com a aceleraca~o. ( Mcp2= P4i=3 [(Rbxi , Rx)Tyi + (Rbyi , Ry )Txi] Icp ddt2z = Mcp 42 Anca da pernai Mais uma vez, e olhando para a gura 3, a deduc~ao das equac~oes de din^amica e absolutamente trivial. Sendo \ma" a massa inercial, igual para ambas as pernas vem ( d2 Raxi ma 2dt2 = Tjxi , Txi ma d dtR2ayi = Tjyi , Tyi , mag As equac~oes de rotac~ao complicam-se um pouco. Comecamos por, a semelhanca do que zemos para o corpo principal, calcular os momentos de forca para a rotac~ao em torno de um eixo paralelo ao eixo Z passando pelo CM. Para estabelecer a relac~ao com a acelerac~ao angular teremos que ter alguns cuidados. Primeiro temos que projectar o momento de forcas no eixo de rotac~ao adequado. Para isso basta fazer versi M . Como iremos ver mais a frente, de forma a reduzir o numero de incognitas no sistema, teremos toda a conveni^encia em relacionar os momentos de forca com os ^angulos denidos na modelizaca~o cinematica. Deste modo em vez de falarmos da posic~ao angular do elemento trabalharemos com a diferenca angular entre dois constituintes estruturais contguos, neste caso a anca e o corpo. Assim ... 8 > Mai = [(Rbxi , Raxi )(,Tyi ) + (Rbyi , Rayi )(,Txi)]+ > < +[(Rjxi , Raxi )Tjyi + (Rjyi , Rayi )Tjxi ] > > > : ddt2 22i = versIi Mai , versI i Mcp a cp Canela da pernai Observando a gura 3 e tendo em conta as consideraco~es e convenc~oes feitas para os casos anteriores facilmente deduzimos as equaco~es. Assim, se mc for a massa inercial da canela e (Rcx ; Rcy ) forem as coordenadas do CM vem que ( d2 Rcxi mc 2dt2 = Fai , Tjxi mc d dtR2cyi = Ni , Tjyi , mcg As equac~oes de rotac~ao s~ao deduzidas de forma similar ao caso da anca. Agora consideraremos a diferenca angular entre a anca e a canela cujo valor inicial e 270. 8 > Mci = [(Rjxi , Rcxi )(,Tjyi) + (Rjyi , Rcyi )(,Tjxi)]+ > > < +[(Rpxi , Rcxi )Ni + (Rpyi , Rcyi )Fai] > > > : d2 23i = versi Mci dt Ic , versI M i ai a 43 Resumindo ... Juntemos as equac~oes e contemos as incognitas ... 8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : mcp ddt22R2x = Tx3 + Tx4 mcp d2dtR2y = Ty3 + Ty4 , mcpg = Tjx3 , Tx3 ma d2dtRax3 2 d R ay3 ma 2dt2 = Tjy3 , Ty3 , mag ma d2dtRax4 = Tjx4 , Tx4 2 d R ay4 ma 2 dt2 = Tjy4 , Ty4 , mag = Fa3 , Tjx3 mc d2dtRcx3 2 d R cy3 mc 2dt2 = N3 , Tjy3 , mcg mc d2dtRcx4 = Fa4 , Tjx4 2 d R cy4 mc dt2 P= N4 , Tjy4 , mcg Mcp2= 4i=3[(Rbxi , Rx)Tyi + (Rbyi , Ry )Txi] Icp ddt2z = Mcp Ma3 = [(Rbx3 , Rax3)(,Ty3) + (Rby3 , Ray3)(,Tx3)]+ +[( Rjx3 , Rax3)Tjy3 + (Rjy3 , Ray3)Tjx3] d2 23 = vers3 Ma3 , vers3 Mcp dt2 Ia Icp Ma4 = [(Rbx4 , Rax4)(,Ty4) + (Rby4 , Ray4)(,Tx4)]+ +[( Rjx4 , Rax4)Tjy4 + (Rjy4 , Ray4)Tjx4] d2 24 = vers4 Ma4 , vers4 Mcp dt2 Ia Icp Mc3 = [(Rjx3 , Rcx3)(,Tjy3) + (Rjy3 , Rcy3 )(,Tjx3)]+ +[( Rpx3 , Rcx3)N3 + (Rpy3 , Rcy3 )Fa3] d2 33 = vers3 Mc3 , vers3 Ma3 dt2 Ic Ia Mc4 = [(Rjx4 , Rcx4)(,Tjy4) + (Rjy4 , Rcy4 )(,Tjx4)]+ +[( Rpx4 , Rcx4)N4 + (Rpy4 , Rcy4 )Fa4] d2 34 = vers4 Mc4 , vers4 Ma4 dt2 Ic Ia Como se pode ver obtivemos 20 equac~oes linearmente independentes. No entanto, contando as incognitas temos: 5 ^angulos (z ; 23; 24; 33; 34); 11 pontos (Rc; Ra3; Ra4; Rc3; Rc4; Rb3; Rb4; Rj3; Rj4; Rp3; Rp4) o que faz 22 incognitas; 4 forcas de tens~ao (T3; T4; Tj3; Tj4) ou seja 8 incognitas; 2 forcas de atrito (Fa3; Fa4); 2 reacc~oes normais (N3; N4); e 5 momentos de forca (Mcp ; Ma3; Ma4; Mc3; Mc4). Somando isto tudo vericamos ter 44 incognitas. Parece que estamos com problemas! 44 4.4.4 Em busca dum sistema n~ao singular Depend^encias entre as incognitas de posic~ao Note-se que devido a termos formulado as incognitas com base nos diagramas de corpo livre consideramos que, embora os elementos da estrutura interagissem uns sobre os outros atraves das forcas de tens~ao, o seu movimento seria independente. Isto na pratica n~ao se verica. Dados os elementos constituintes estarem ligados, a posic~ao do corpo num dado instante restringe, por exemplo, o movimento da anca. Da suspeitarmos que nos faltam equac~oes, nomeadamente equac~oes que nos fornecam a informac~ao de estrutura ligada com um numero restrito de graus de liberdade dos seus componentes. Das 44 incognitas que obtivemos na formulac~ao anterior vericamos que 27 delas (5 ^angulos e 11 pontos) referiam-se a variaveis de posic~ao do rob^o. Se nos reportarmos ao modelo cinematico no inicio do capitulo constatamos que, na sua totalidade, as matrizes de transformac~ao s~ao func~ao de 7 variaveis diferentes. A saber um ponto (o CM do corpo) e os 5 ^angulos (da o nosso cuidado de usar diferencas em vez de posic~oes angulares). O valor destas variaveis dene, em cada instante, a posic~ao da estrutura, de forma unvoca. Deste modo, 10 dos pontos desconhecidos no sistema da secc~ao anterior podem ser determinados em func~ao destas 7 variaveis. Temos assim mais 20 equac~oes. Usando a notac~ao matricial para uma pernai (i=3, 4) vem ... 2 3 2 anca 3 Raxi 2 7 64 R 75 =inercial A central A ( ) 1 A ( ) 6 ayi central (Rx ; Ry ; z ) 1 i 2 2i 4 0 5 1 1 2 3 2 Rcxi 64 Rcyi 75 =inercial Acentral (Rx ; Ry ; z )central A1(i )1A2(2i )2A3 (3i)64 1 3 , canela 75 0 2 1 2 2 3 3 Rbxi 0 64 Rbyi 75 =inercial A 6 central A1(i) 4 0 75 central (Rx ; Ry ; z ) 1 1 2 3 2 3 Rjxi 0 64 R 75 =inercial A 7 central A ( ) 1 A ( ) 6 ( R ; R ; ) jyi central x y z 1 i 2 2i 4 0 5 1 1 2 3 2 3 R 0 pxi 64 R 75 =inercial A 6 central 1 2 A1(i) A2(2i) A3(3i) 4 0 75 pyi central (Rx ; Ry ; z ) 1 1 45 As interacc~oes com o solo A modelizac~ao matematica das interacc~oes com o piso e um assunto complexo e ainda n~ao consensual na area da locomoc~ao com pernas. Comecemos por considerar um piso em que duas das seguintes situac~oes se vericam no caso da perna estar em contacto com o solo: a ponta desliza sobre a superfcie de apoio (escorregamento) ou encontra-se xa (n~ao escorregamento). Nesta ultima situac~ao a forca de atrito tem de ser menor que o produto do modulo da reacc~ao normal por um coeciente. Este coeciente designa-se por coeciente de atrito estatico - E - e e caracterstico do piso. No caso de haver deslizamento sobre o solo o movimento e desacelerado por acc~ao do atrito de escorregamento, proporcional a reacc~ao normal. A constante de proporcionalidade designa-se por coeciente de atrito din^amico - D - sendo tambem propriedade do solo. Fazendo novamente o ponto da situac~ao temos 44 incognitas para 40 equac~oes. Houve uma melhoria substancial da situac~ao, no entanto ainda temos um sistema indeterminado. Repare-se que, se nenhuma das pernas estiver em apoio, sabemos que as forcas de atrito e as reacc~oes normais s~ao nulas. Temos assim as 4 equac~oes que nos faltam, e um sistema perfeitamente determinado. Esta observac~ao faz-nos concluir que, se uma pernai n~ao estiver em contacto com o solo, devemos acrescentar ao sistema as equac~oes ... ( Ni = 0 Fai = 0 E se estiver em apoio? Nesta situac~ao comecemos por pressupor que n~ao ha escorregamento. Sendo assim desconhecemos quer a reacca~o normal quer o atrito. No entanto sabemos que os valores de (Rpxi; Rpyi) s~ao os do ponto de apoio (a, b) conhecido. Assim, as duas equac~oes que acrescentamos s~ao ... ( Rpxi = a Rpyi = b Note-se que, se estivermos a considerar a situac~ao simplicada de solo plano, b e nulo. Imaginemos agora que resolvemos os sistema impondo estas duas ultimas restric~oes. Comecemos por olhar para o valor da reacc~ao normal. Se ele for negativo porque o piso esta a \agarrar" a perna. Talvez isso aconteca num solo lamacento ou numa estrada de alcatr~ao em pleno Agosto, mas num ch~ao de 46 azulejo isto sera provavelmente um contrasenso. O que acontece e que nos, ao impormos as restric~oes acima, estamos a xar o apoio da perna. E se o rob^o estiver a levantar a perna e o contacto com o piso for supercial? Pois e, aqui as imposic~oes n~ao est~ao correctas. No entanto, nesta situac~ao de levantamento da perna o atrito e a reacc~ao podem ser considerados nulos e camos na primeira situaca~o. Assim, se o Ni obtido for 0 devemos recalcular o sistema considerando desta vez o caso de n~ao contacto com o solo. E se a reacca~o normal for positiva mas a forca de atrito for menor que E Ni? Aqui teramos uma situaca~o de escorregamento. Se y = %(x) for a equac~ao da superfcie de apoio, as duas equac~oes que faltam relativamente a perna em contacto seriam ( Fai = D Ni Rpyi = %(Rpxi) No caso particular da superfcie ser plana a equaca~o sera y = 0 e os sistema sera acrescentado de ( Fai = D Ni Rpyi = 0 4.5 Resoluc~ao do sistema por computador 4.5.1 O sistema Sumariando os resultados da secc~ao anterior, conclumos que para cada instante uma perna encontra-se num de tr^es estados: sem estar em contacto com o solo (estado0), em contacto sem escorregamento (estado1) e em contacto com escorregamento (estado2). Em qualquer uma das situac~oes temos para resolver um sistema de 44 equac~oes e 44 incognitas composto da seguinte forma 1. As equac~oes de Newton de rotac~ao e translac~ao originam 15 equac~oes diferenciais ordinarias de segunda ordem. 2. 5 equac~oes algebricas n~ao lineares para os momentos de forca de cada elemento constituinte da estrutura. 3. 20 restric~oes holonomicas que denem os pontos auxiliares em func~ao dos valores das variaveis generalizadas escolhidas (os sete graus de liberdade independentes da estrutura). 4. 4 equac~oes cuja forma depende dos estado de cada perna e da superfcie considerada. 47 4.5.2 Algoritmos de resoluc~ao de equaco~es diferenciais ordinarias De acordo com a descric~ao feita na secc~ao anterior pretendemos resolver computacionalmente um sistema que envolve equac~oes diferenciais. As aplicac~oes de calculo cientico (no nosso caso o Scilab-2.2), utilizam algoritmos especcos para resoluc~ao de sistemas diferenciais. Estes algoritmos, designados genericamente por \ode" (ordinary dierential equations), permitem resolver um conjunto variado de problemas, desde sistemas com condico~es de fronteira ate aos sistemas STIFF passando pelos sistemas implcitos. No entanto, estes algoritmos so funcionam para sistemas que, de uma maneira ou outra, se possam escrever na forma ddt22x = F (t; x), podendo F ser linear ou n~ao. Infelizmente, por mais manipulac~oes matematicas que facamos sobre o nosso sistema, nunca o conseguiremos colocar na forma pretendida. Voltaremos a abordar este assunto. Teoria das variaveis de estado Para ns de controlo e costume dividir os sistemas em SISO (single input, single output) e MIMO (multiple input, multiple output), havendo ainda as classicaco~es intermedias SIMO e MISO. Como as designac~oes em ingl^es indicam, um sistema SISO caracteriza-se por uma entrada e uma sada, enquanto os MIMO s~ao sistemas multivariaveis dispondo de varias entradas e sadas. Ha luz destas considerac~oes facilmente conclumos que o sistema que nos propomos a estudar pode ser visto como um MIMO onde as entradas ser~ao as actuac~oes sobre os diferentes motores, ainda n~ao considerados, e as sadas ser~ao os valores dos diferentes graus de liberdade que denem a posic~ao em cada instante. As tecnicas de controlo classicas baseiam-se na determinac~ao de func~oes de transfer^encia e na utilizaca~o de lugares de razes, diagramas de Bode, curvas de Nyquist, etc. Estes procedimentos s~ao particularmente bem sucedidos para sistemas SISO. Num sistema MIMO a interacc~ao entre as entradas e sadas ( a entrada uj normalmente inuencia todas as sadas ) diculta muito esta analise. A extens~ao e normalmente feita implementando controladores que anulem a interacc~ao de modo a que, em malha fechada, cada entrada so inuencie uma sada. Alternativamente a isto, e de forma mais frequente, recorre-se a representac~ao por equac~oes de estado. O estado e uma estrutura matematica constituda por um conjunto de n variaveis x(t) = [x1(t); x2(t); :::; xn(t)]t de tal forma que, se tivermos o estado inicial x(t0) e os valores das entradas aplicadas u(t) durante um intervalo de tempo T = [t0; tf ], conseguimos deter48 minar univocamente os valores das sadas y(t) ao longo desse perodo. Estas variaveis de estado nem sempre s~ao quantidades sicamente mensuraveis, podem ser grandezas puramente matematicas sem qualquer signicado. Se o sistema for linear e x(t), x(t0), u(t), y(t) forem, respectivamente, o vector de estado, o estado inicial, as entradas e as sadas, temos a express~ao abaixo. A, B, C e D s~ao matrizes cuja dimens~ao depende do numero de variaveis de estado, de entradas e de sadas. x_ (t) = A(t)x(t) + B (t)u(t) y(t) = C (t)x(t) + D(t)u(t) No caso do sistema n~ao ser linear as relac~oes acima podem ser descritas por ... x_ (t) = F (x; x0; u; t) y(t) = H(x; u; t) A colocaca~o do nosso sistema nesta ultima forma teria uma dupla vantagem. Por um lado permitiria a aplicac~ao e explorac~ao directa duma serie de tecnicas de controlo ja estudadas para sistemas MIMO. Por outro, e se repararmos nas consideraco~es que zemos na apresentac~ao dos algoritmos \ode", facilmente os poderamos usar para computar os resultados. Infelizmente, por mais voltas que demos ao sistema n~ao o conseguimos colocar na forma desejada. No capitulo seguinte vamos regressar a este assunto, tentando aplicar a metodologia de Lagrange para deduzir as equaco~es de estado. Especularemos ainda sobre a diculdade em colocar o problema na forma descrita. 4.5.3 Resoluc~ao aplicando discretizac~ao Como vimos a utilizaca~o da rotina \ode" n~ao nos resolve o problema. Um caminho alternativo consiste em tentar discretizar as derivadas utilizando, por exemplo, uma aproximac~ao centrada. Desta forma, considerando uma intervalo de discretizaca~o de t, a derivada de segunda ordem no instante t=i*t e dada pela express~ao abaixo, onde se considera que x(i)=x(i*t). d2 x dt = x(i+1),2xt(2i)+x(i,1) 49 Naturalmente que esta aproximac~ao sera tanto melhor quanto menor for o intervalo. No seguimento do referido na secc~ao anterior, em cada instante i, conhecendo a posic~ao do rob^o, pretendemos determinar as forcas internas e externas nesse instante e a posic~ao para o qual o sistema ira evoluir em i+1. A grande vantagem desta tecnica e que as 20 equac~oes restritivas, relacionadas com a estrutura, deixam de ter de ser resolvidas juntamente com as outras 24. Isto porque, se conhecermos, no instante i, os valores das 7 variaveis independentes de posica~o - Rx; Ry ; z ; 23; 33; 24; 34 - e se substituirmos esses valores naquelas 20 equac~oes obtemos as coordenadas dos 10 pontos auxiliares. Se por sua vez substituirmos, nas restantes 24 equac~oes, as coordenadas dos pontos auxiliares pelos valores computados obtemos um sistema que nos permitira calcular os valores dos 7 graus de liberdade para i+1 e as forcas internas e externas para o instante i. Conhecendo a posica~o do rob^o em i+1 repetimos o procedimento para i+2 e assim sucessivamente Em resumo, a discretizaca~o tem pelo menos a vantagem de reduzir o nosso numero de equac~oes em quase 50%. O sistema a resolver pode ser observado no anexo B. Como se pode ver trata-se de um sistema de equac~oes n~ao lineares. Estes sistemas podem ser numericamente resolvidos por aplicac~ao do metodo de Newton . Dado uma funca~o vectorial F (x), onde x e o vector das incognitas, o metodo de Newton calcula a soluc~ao de F (x) = 0 de forma iterativa. Para isso, se x0 for uma estimativa inicial de x, usando a formula de Taylor truncada temos ... F (x) = F (x0) + JF (x0) x; x = x , x0 JF (x0) e o jacobiano de F . Como F (x) = 0 temos a seguinte express~ao. x = ,JF,1(x0) F (x0) Esta express~ao permite obter aproximac~oes sucessivas x0new = x0old + x ate x = 0, o que ocorre quando x0 = x, ou seja quando chegarmos a soluc~ao. Naturalmente que a converg^encia sera tanto mais rapida quanto melhor for a aproximac~ao inicial. No nosso caso usamos sempre como valor inicial para o calculo no instante i+1, a soluca~o obtida no instante anterior. Duas coisas podem correr mal neste metodo. Por um lado o jacobiano pode n~ao ser invertvel. Isto pode ser resolvido atraves da soma de uma perturbac~ao durante a decomposic~ao LU (ver tecnicas de invers~ao de matrizes). Por outro o metodo pode convergir para um mnimo local que n~ao a soluc~ao pretendida. Isto e particularmente frequente quando a aproximac~ao 50 inicial e muito ma. Infelizmente e impossvel assegurar a converg^encia correcta para toda e qualquer situac~ao. A rotina de \fsolve" do Scilab-2.2 que vamos utilizar, disp~oe de uma serie de mecanismos para tentar minorar estes inconvenientes. No entanto o utilizador pode ser confrontado a qualquer momento com estes problemas. Nesta situac~ao devera manipular a aproximac~ao inicial e afrouxar as toler^ancias (menor exactid~ao) com vista a conseguir a converg^encia adequada. 4.6 Resultados obtidos Como forma de validar a nossa aproximac~ao zemos um conjunto de cinco simulac~oes utilizando o Scilab-2.2 do INRIA. Nesta secc~ao vamos analisar cada uma dessas simulac~oes e vericar ate que ponto o nosso modelo tem um comportamento verosimil. Comecamos por indicar na tabela abaixo, os valores iniciais de cada um dos sete graus de liberdade que traduzem a posic~ao da estrutura no principio da simulac~ao. Note-se que, dado estarmos a considerar os actuadores desligados, a computaca~o reproduz o comportamento de queda do rob^o largado de repente numa determinada posic~ao. As posturas iniciais escolhidas tentam ser abrangentes de forma a por a prova o modelo assegurando a sua generalidade. Valores iniciais das variaveis de posic~ao Sim1 Sim2 Sim3 Sim4 Sim5 Rx 0 0 Ry 0.4047 0.4047 z 0 0 23 0 0 33 0 0 24 250 250 34 250 200 0 0.6 0 0 0 250 250 0 0.6 0 0 0 245 255 0 0.6 0 0 0 279 279 A tabela seguinte resume o intervalo de discretizac~ao utilizado, a durac~ao em tempo real da simulac~ao, a margem toler^ancia do algoritmo de resoluc~ao do sistema de equaco~es e os coecientes de atrito din^amico e estatico. Por enquanto estaremos a considerar sempre superfcies planas. 51 Tabela resumo dos par^ametros de simulac~ao Sim1 Sim2 Sim3 Sim4 Intervalo de Discretizac~ao 0.01 0.01 0.01 0.01 Durac~ao da Simulaca~o 0.28 0.26 0.26 0.26 Margem de Toler^ancia 1e-10 1e-6 1e-6 1e-6 Atrito Estatico 0.4 0.4 0.4 0.4 Atrito Din^amico 0.3 0.3 0.3 0.3 Sim5 0.01 0.25 1e-6 0.4 0.3 Ao longo desta secc~ao vamos apresentar os resultados das diferentes simulac~oes sempre da mesma forma. Comecamos por mostrar gracamente a evoluc~ao dos par^ametros cinematicos. Os cinco gracos associados referemse, sucessivamente, as coordenadas do centro de massa do corpo principal, aos centros de massa dos segmentos superiores de ambas as pernas, aos centros de massa dos segmentos inferiores, aos par^ametros angulares (z ; 23; 33; 24e34) e as coordenadas de posic~ao de ambas as pontas de apoio. Na parte seguinte mostramos a progress~ao dos valores das grandezas din^amicas, nomeadamente, as forcas de tens~ao exercidas sobre o corpo principal, as tens~oes nas juntas e as forcas aplicadas nos apoios. Mais uma vez cada graco refere-se simultaneamente a ambas as pernas. Desta forma evidenciamos de forma mais clara eventuais simetrias ou paralelismos. 4.6.1 Simulac~ao 1 De acordo com a tabela, e considerando os par^ametros caractersticos do rob^o, vericamos que a estrutura e largada da posic~ao indicada abaixo. A gura permite visualizar a evoluc~ao correcta da estrutura com o tempo. Como podemos constatar nos gracos em anexo, os resultados da simulaca~o apontam exactamente para este movimento. Perna3 Perna4 Perna4 Perna3 POSICAO INICIAL POSICAO FINAL Figura 4.5: Evoluc~ao de posic~ao (simulaca~o 1) Relativamente a evoluc~ao das grandezas cinematicas vericamos que a estrutura ca de forma simetrica (nem havia raz~ao para ser de outra forma). 52 Legs - High segment coordinates Body Coordinates 0.750 0.750 0.600 0.600 0.450 0.450 0.300 0.300 0.150 0.150 0.000 0.000 -0.150 -0.150 -0.300 -0.300 -0.450 -0.450 -0.600 -0.600 -0.750 -0.750 0.000 0.028 0.056 0.084 0.112 0.140 0.168 0.196 0.224 0.252 0.280 0.000 Rx Ry 0.028 0.056 0.084 0.112 0.140 Rax3 Ray3 Rax4 0.168 0.196 0.224 0.252 0.280 0.196 0.224 0.252 0.280 Ray4 Angular Evolution of all structural components Legs - Low segment coordinates 0.750 360 0.600 288 0.450 216 0.300 144 0.150 72 0.000 0 -0.150 -72 -0.300 -144 -0.450 -216 -0.600 -288 -0.750 -360 0.000 0.028 0.056 0.084 0.112 0.140 Rcx3 Rcy3 Rcx4 0.168 0.196 0.224 0.252 0.280 Rcy4 0.000 0.028 phiz th23 th33 0.056 0.084 0.112 0.140 0.168 th24 th34 Tips of both legs 0.750 0.600 0.450 0.300 0.150 0.000 -0.150 -0.300 -0.450 -0.600 -0.750 0.000 0.028 Rpx3 Rpy3 Rpx4 0.056 0.084 0.112 0.140 0.168 0.196 0.224 0.252 0.280 Rpy4 Figura 4.6: Resultados da simulac~ao 1 - Par^ametros cinematicos 53 Forces on the joints Forces on the body 4.0 4.0 3.2 3.2 2.4 2.4 1.6 1.6 0.8 0.8 0.0 0.0 -0.8 -0.8 -1.6 -1.6 -2.4 -2.4 -3.2 -3.2 -4.0 -4.0 0.000 0.028 0.056 0.084 0.112 0.140 Tx3 Ty3 Tx4 0.168 0.196 0.224 0.252 0.280 0.000 0.028 0.056 0.084 0.112 0.140 0.168 Tjx3 Tjy3 Tjx4 Ty4 Forces on the tips 10 8 6 4 2 0 -2 -4 -6 -8 -10 0.000 0.028 N3 Fa3 N4 0.056 0.084 0.112 0.140 0.168 0.196 0.224 0.252 0.280 Fa4 Figura 4.7: Resultados da simulac~ao 1 - Par^ametros din^amicos 54 Tjy4 0.196 0.224 0.252 0.280 A inclinaca~o e a coordenada em X do centro de massa do corpo principal mant^em-se nulas. Note-se que, dado o coeciente de atrito estatico ser relativamente elevado, os apoios n~ao escorregam logo. No ultimo graco, que monitoriza a posica~o das pontas, observamos que estas so se movem passados 0.16 segundos. A partir da e que se assiste ao deslocamento para os lados. Dinamicamente o comportamento e inteiramente concordante sendo bem visvel a mudanca de estado por volta desse instante. Apos a confus~ao inicial, o modelo responde com reacc~oes normais que decrescem lentamente. Simultaneamente, as forcas de atrito exigidas para contrariar o movimento divergente das pontas crescem em modulo. Aos 0.16 segundos e vencida a resist^encia do piso e inicia-se o escorregamento. Curioso e tambem o facto das pernas comecarem por puxar o corpo central para baixo (Ty < 0) e, a partir de certa altura, inverterem a sua inu^encia, dada a mudanca de congurac~ao da estrutura. O corpo principal passa a estar abaixo dos pontos de inserc~ao dos membros (2 < 0), sendo o seu movimento de queda desacelerado pelo efeito suspensivo das pernas. 4.6.2 Simulac~ao 2 Dentro da org^anica seguida para a simulac~ao 1 comecamos por mostrar esquematicamente a evoluc~ao da estrutura ao longo desta simulac~ao. Perna3 Perna4 Perna4 Perna3 POSICAO INICIAL POSICAO FINAL Figura 4.8: Evoluc~ao de posic~ao (simulaca~o 2) Como se pode ver os resultados s~ao perfeitamente verosimeis. Os par^ametros cinematicos descrevem completamente o movimento ao longo daqueles 0.26 segundos. Note-se que a perna 4 entra em contacto com o solo no instante 0.24 comecando logo a escorregar. A semelhanca do que aconteceu no exemplo anterior a perna 3 mantem a sua ponta de apoio xa durante cerca de 0.22 segundos. Este efeito deve-se ao atrito estatico elevado. De realcar que agora, como seria de esperar e ao contrario do que aconteceu na primeira simulac~ao, a progress~ao numerica das diferentes grandezas referentes as pernas n~ao e simetrica. 55 Do ponto de vista din^amico pouco ha a acrescentar aos gracos. As mudancas de estado n~ao-contacto/contacto e n~ao-escorregamento/escorregamento reectem-se de forma bem visvel nas forcas internas e externas do sistema. 4.6.3 Simulac~ao 3 Se ate aqui largavamos o rob^o duma posic~ao em contacto com o solo, a partir daqui vamos deixa-lo cair dum nvel acima do ch~ao. Isto porque as mudancas de estado com o contacto e o escorregamento s~ao sempre criticas permitindo avaliar, pelas respostas, a qualidade do modelo. Comecemos por esquematizar a evoluc~ao da estrutura. Julgamos que o esquema e os gracos s~ao perfeitamente elucidativos. Rera-se so que os diferentes par^ametros t^em um comportamento simetrico para cada perna, o que e compreensvel. O contacto com o solo e feito no instante 0.20 e o escorregamento inicia-se em 0.23. 4.6.4 Simulac~ao 4 Nesta simulac~ao voltamos a deixar cair a estrutura do ar. Agora as pernas no instante inicial partem de posic~oes diferentes. Como se pode observar a simetria patente nos gracos do exemplo anterior deixa de existir. A perna 4 entra em contacto com o solo 0.02 segundos antes que a perna 3. A primeira chega ao solo no instante 0.20 enquanto a segunda so chega no instante 0.22. Ambas comecam a escorregar por volta dos 0.24 segundos. 4.6.5 Simulac~ao 5 A gura abaixo permite acompanhar o movimento agora simulado. Os resultados parecer~ao um pouco estranhos a primeira vista. Lancando a estrutura com as pernas metidas para dentro, a forma mais natural dele aterrar seria certamente sobre as pernas. N~ao nos podemos no entanto esquecer que os membros so est~ao muito ligeiramente para dentro no instante inicial. Por outro lado a massa do corpo principal e muito superior a das pernas. A luz disto talvez o resultado da simulac~ao ilustre efectivamente a queda real. 56 Legs - High segment coordinates Body Coordinates 1.0 1.0 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0.0 0.0 -0.2 -0.2 -0.4 -0.4 -0.6 -0.6 -0.8 -0.8 -1.0 -1.0 0.00 0.03 0.06 0.09 0.12 0.15 0.18 0.21 0.24 0.27 0.30 0.00 Rx Ry 0.03 0.06 0.09 0.12 0.15 0.18 Rax3 Ray3 Rax4 0.21 0.24 0.27 0.30 0.21 0.24 0.27 0.30 Ray4 Angular Evolution of all structural components Legs - Low segment coordinates 1.0 360 0.8 288 0.6 216 0.4 144 0.2 72 0.0 0 -0.2 -72 -0.4 -144 -0.6 -216 -0.8 -288 -1.0 -360 0.00 0.03 0.06 0.09 0.12 0.15 Rcx3 Rcy3 Rcx4 0.18 0.21 0.24 0.27 0.30 Rcy4 0.00 0.03 0.06 0.09 0.12 0.15 0.18 phiz th23 th33 Tips of both legs 1.0 0.8 0.6 0.4 0.2 0.0 -0.2 -0.4 -0.6 -0.8 -1.0 0.00 0.03 Rpx3 Rpy3 Rpx4 0.06 0.09 0.12 0.15 0.18 0.21 0.24 0.27 0.30 Rpy4 Figura 4.9: Resultados da simulac~ao 2- Par^ametros cinematicos 57 th24 th34 Forces on the joints Forces on the body 4.0 4.0 3.2 3.2 2.4 2.4 1.6 1.6 0.8 0.8 0.0 0.0 -0.8 -0.8 -1.6 -1.6 -2.4 -2.4 -3.2 -3.2 -4.0 -4.0 0.00 0.03 0.06 0.09 0.12 0.15 Tx3 Ty3 Tx4 0.18 0.21 0.24 0.27 0.30 0.00 0.03 0.06 0.09 0.12 0.15 0.18 Tjx3 Tjy3 Tjx4 Ty4 Forces on the tips 8.0 6.4 4.8 3.2 1.6 0.0 -1.6 -3.2 -4.8 -6.4 -8.0 0.00 0.03 N3 Fa3 N4 0.06 0.09 0.12 0.15 0.18 0.21 0.24 0.27 0.30 Fa4 Figura 4.10: Resultados da simulac~ao 2 - Par^ametros din^amicos 58 Tjy4 0.21 0.24 0.27 0.30 Perna3 Perna4 Perna3 Perna4 POSICAO INICIAL POSICAO FINAL Figura 4.11: Evoluc~ao de posic~ao (simulac~ao 3) 59 Legs - High segment coordinates Body Coordinates 0.750 0.750 0.600 0.600 0.450 0.450 0.300 0.300 0.150 0.150 0.000 0.000 -0.150 -0.150 -0.300 -0.300 -0.450 -0.450 -0.600 -0.600 -0.750 -0.750 0.000 0.028 0.056 0.084 0.112 0.140 0.168 0.196 0.224 0.252 0.280 0.000 Rx Ry 0.028 0.056 0.084 0.112 0.140 Rax3 Ray3 Rax4 0.168 0.196 0.224 0.252 0.280 0.196 0.224 0.252 0.280 Ray4 Angular Evolution of all structural components Legs - Low segment coordinates 0.750 360 0.600 288 0.450 216 0.300 144 0.150 72 0.000 0 -0.150 -72 -0.300 -144 -0.450 -216 -0.600 -288 -0.750 -360 0.000 0.028 0.056 0.084 0.112 0.140 Rcx3 Rcy3 Rcx4 0.168 0.196 0.224 0.252 0.280 Rcy4 0.000 0.028 phiz th23 th33 0.056 0.084 0.112 0.140 0.168 th24 th34 Tips of both legs 0.750 0.600 0.450 0.300 0.150 0.000 -0.150 -0.300 -0.450 -0.600 -0.750 0.000 0.028 Rpx3 Rpy3 Rpx4 0.056 0.084 0.112 0.140 0.168 0.196 0.224 0.252 0.280 Rpy4 Figura 4.12: Resultados da simulac~ao 3- Par^ametros cinematicos 60 Forces on the joints Forces on the body 14.0 14.0 11.2 11.2 8.4 8.4 5.6 5.6 2.8 2.8 0.0 0.0 -2.8 -2.8 -5.6 -5.6 -8.4 -8.4 -11.2 -11.2 -14.0 -14.0 0.000 0.028 0.056 0.084 0.112 0.140 Tx3 Ty3 Tx4 0.168 0.196 0.224 0.252 0.280 0.000 Ty4 0.028 0.056 0.084 0.112 0.140 0.168 Tjx3 Tjy3 Tjx4 Tjy4 Forces on the tips 45 36 27 18 9 0 -9 -18 -27 -36 -45 0.000 0.028 0.056 0.084 0.112 0.140 N3 Fa3 N4 0.168 0.196 0.224 0.252 0.280 Fa4 Figura 4.13: Resultados da simulac~ao 3 - Par^ametros din^amicos Perna3 Perna4 Perna3 Perna4 POSICAO INICIAL POSICAO FINAL Figura 4.14: Evoluc~ao de posic~ao (simulac~ao 4) 61 0.196 0.224 0.252 0.280 Legs - High segment coordinates Body Coordinates 0.750 0.750 0.600 0.600 0.450 0.450 0.300 0.300 0.150 0.150 0.000 0.000 -0.150 -0.150 -0.300 -0.300 -0.450 -0.450 -0.600 -0.600 -0.750 -0.750 0.000 0.034 0.068 0.102 0.136 0.170 0.204 0.238 0.272 0.306 0.340 0.000 Rx Ry 0.034 0.068 0.102 0.136 0.170 Rax3 Ray3 Rax4 0.204 0.238 0.272 0.306 0.340 0.238 0.272 0.306 0.340 Ray4 Angular Evolution of all structural components Legs - Low segment coordinates 0.750 360 0.600 288 0.450 216 0.300 144 0.150 72 0.000 0 -0.150 -72 -0.300 -144 -0.450 -216 -0.600 -288 -0.750 -360 0.000 0.034 0.068 0.102 0.136 0.170 Rcx3 Rcy3 Rcx4 0.204 0.238 0.272 0.306 0.340 Rcy4 0.000 0.034 phiz th23 th33 0.068 0.102 0.136 0.170 0.204 th24 th34 Tips of both legs 0.750 0.600 0.450 0.300 0.150 0.000 -0.150 -0.300 -0.450 -0.600 -0.750 0.000 0.034 Rpx3 Rpy3 Rpx4 0.068 0.102 0.136 0.170 0.204 0.238 0.272 0.306 0.340 Rpy4 Figura 4.15: Resultados da simulac~ao 4- Par^ametros cinematicos 62 Forces on the joints Forces on the body 14.0 14.0 11.2 11.2 8.4 8.4 5.6 5.6 2.8 2.8 0.0 0.0 -2.8 -2.8 -5.6 -5.6 -8.4 -8.4 -11.2 -11.2 -14.0 -14.0 0.000 0.034 0.068 0.102 0.136 0.170 Tx3 Ty3 Tx4 0.204 0.238 0.272 0.306 0.340 Ty4 0.000 0.034 0.068 0.102 0.136 0.170 0.204 Tjx3 Tjy3 Tjx4 Forces on the tips 45 36 27 18 9 0 -9 -18 -27 -36 -45 0.000 0.034 N3 Fa3 N4 0.068 0.102 0.136 0.170 0.204 0.238 0.272 0.306 0.340 Fa4 Figura 4.16: Resultados da simulac~ao 4 - Par^ametros din^amicos 63 Tjy4 0.238 0.272 0.306 0.340 Perna3 Perna4 POSICAO INTERMEDIA I POSICAO INICIAL Perna3 Perna4 Perna3 Perna3 Perna4 Perna4 POSICAO FINAL POSICAO INTERMEDIA II Figura 4.17: Evoluc~ao de posic~ao (simulac~ao 5) 64 Legs - High segment coordinates Body Coordinates 0.70 0.70 0.56 0.56 0.42 0.42 0.28 0.28 0.14 0.14 0.00 0.00 -0.14 -0.14 -0.28 -0.28 -0.42 -0.42 -0.56 -0.56 -0.70 -0.70 0.000 0.032 0.064 0.096 0.128 0.160 0.192 0.224 0.256 0.288 0.320 0.000 Rx Ry 0.032 0.064 0.096 0.128 0.160 Rax3 Ray3 Rax4 0.192 0.224 0.256 0.288 0.320 0.224 0.256 0.288 0.320 Ray4 Angular Evolution of all structural components Legs - Low segment coordinates 0.70 360 0.56 288 0.42 216 0.28 144 0.14 72 0.00 0 -0.14 -72 -0.28 -144 -0.42 -216 -0.56 -288 -0.70 -360 0.000 0.032 0.064 0.096 0.128 0.160 Rcx3 Rcy3 Rcx4 0.192 0.224 0.256 0.288 0.320 Rcy4 0.000 0.032 phiz th23 th33 0.064 0.096 0.128 0.160 0.192 th24 th34 Tips of both legs 0.70 0.56 0.42 0.28 0.14 0.00 -0.14 -0.28 -0.42 -0.56 -0.70 0.000 0.032 Rpx3 Rpy3 Rpx4 0.064 0.096 0.128 0.160 0.192 0.224 0.256 0.288 0.320 Rpy4 Figura 4.18: Resultados da simulac~ao 5- Par^ametros cinematicos 65 Forces on the joints Forces on the body 12.0 12.0 9.6 9.6 7.2 7.2 4.8 4.8 2.4 2.4 0.0 0.0 -2.4 -2.4 -4.8 -4.8 -7.2 -7.2 -9.6 -9.6 -12.0 -12.0 0.000 0.032 0.064 0.096 0.128 0.160 Tx3 Ty3 Tx4 0.192 0.224 0.256 0.288 0.320 Ty4 0.000 0.032 0.064 0.096 0.128 0.160 0.192 Tjx3 Tjy3 Tjx4 Forces on the tips 40 32 24 16 8 0 -8 -16 -24 -32 -40 0.000 0.032 N3 Fa3 N4 0.064 0.096 0.128 0.160 0.192 0.224 0.256 0.288 0.320 Fa4 Figura 4.19: Resultados da simulac~ao 5 - Par^ametros din^amicos 66 Tjy4 0.224 0.256 0.288 0.320 Captulo 5 Modelizac~ao din^amica do caso simplicado 2D usando o metodo de Lagrange-Euler 5.1 Introduc~ao Neste captulo vamos explorar as possibilidades de aplicac~ao do formalismo de Lagrange na modelizaca~o do caso simplicado 2D. Como vimos o metodo aplicado no capitulo 4 n~ao permitiu a obtenc~ao de equac~oes de estado explicitas. Tal resultado possibilitaria uma diferente perspectiva do problema, como foi alias referido em 4.5.2. Um dos objectivos da analise feita nesta secc~ao e conseguir uma descric~ao do sistema sob a forma de equac~oes e variaveis de estado. Antes de passarmos a resoluc~ao do problema comecaremos por introduzir alguns conceitos de apoio de forma a permitir uma melhor compreens~ao das tecnicas usadas. Embora muitos livros apresentem metodos sistematicos de modelizac~ao, que evitam um estudo aprofundado dos conceitos fsicos subjacentes, est~ao sobretudo voltados para os manipuladores. Assim, o que iremos fazer sera a adaptac~ao das tecnicas a situac~ao do rob^o, a semelhanca do que zemos aquando a modelizac~ao cinematica. Para isso teremos que, inevitavelmente, ter alguns conhecimentos suplementares sobre a din^amica de Lagrange. 67 5.2 Conceitos subjacentes ao formalismo de Lagrange 5.2.1 Conceitos gerais Coordenadas generalizadas, graus de liberdade e restric~oes Ao longo do nosso trabalho temos utilizado diferentes sistemas de coordenadas para indicar um mesmo ponto da estrutura. E certo que ate ao momento todos os referenciais eram cartesianos, no entanto, nada nos impediria de fazer uso de coordenadas esfericas, cilndricas ou qualquer outro conjunto de coordenadas (q1; q2; :::; qn) que permitissem localizar, de forma univoca, um dado ponto. Em resumo, podemos servir-nos de um conjunto variado de coordenadas, conforme a conveni^encia do problema. Essa coordenadas poder~ao ser de natureza diversa envolvendo tipicamente ^angulos e deslocamentos. S~ao em geral referenciadas pela letra q sendo designadas por coordenadas generalizadas. Quando trabalhamos com diferentes sistemas de coordenadas e usual necessitarmos das equac~oes de transformac~ao que permitam passar de um sistema para outro. Assim, considerando uma coordenada cartesiana xi, teremos (5.1). Note-se que a transformaca~o, para alem de ser func~ao das coordenadas generalizadas, podera se-lo tambem do tempo. Isto acontece sempre que houver movimento relativo entre os referenciais. xi = xi(q1; q2; :::; qn; t)(5:1) Consideremos agora um sistema de p partculas em movimento num espaco tridimensional. Numa primeira aproximac~ao temos que, de forma a conhecermos em cada instante a posic~ao de todos os elementos do sistema, necessitaramos de 3p coordenadas generalizadas (tr^es variaveis por partcula). Tal seria efectivamente preciso se cada elemento se pudesse deslocar de forma completamente livre e independente. No entanto, e frequente o movimento nos sistemas ser limitado por restric~oes que, muitas vezes, traduzem as interacc~oes entre os seus diferentes componentes. Imaginemos uma esfera a rodar sobre uma dada superfcie. Neste caso a trajectoria daquela sera forcosamente descrita sobre os contornos desta, deixando o movimento de ser completamente livre. Do ponto de vista matematico, se associarmos a esfera um conjunto adequado de coordenadas generalizadas (q1; q2; q3) e tivermos a equac~ao da superfcie, conseguiremos obter uma delas (por exemplo q3) em func~ao das outras duas (5.2). Dizemos que temos uma restric~ao holonomica (uma das coordenadas e explicitamente denida pelas outras) que podera ou n~ao depender do tempo (movel ou n~ao). 68 q3 = i(q1; q2; t)(5:2) Isto abre caminho para um novo conceito, o de graus de liberdade. O numero de graus de liberdade de um sistema n~ao e mais do que o numero de coordenadas generalizadas independentes (excluindo o tempo), necessarias para especicar de forma completa e inequvoca a posica~o de todos os componentes desse sistema. Isto perssupoem a exclus~ao das coordenadas superfulas, calculaveis usando as equac~oes das restric~oes. Assim, se um sistema de p partculas tiver n graus de liberdade, tera de ter associado 3p-n restrico~es. Trabalho e energia Se aplicarmos uma forca F (Fx; Fy ; Fz ) a uma partcula o trabalho realizado no deslocamento dum ponto A para um ponto B sera dado por (5.3). WAF,>B = RB A Fxdx + Fy dy + Fz dz(5:3) Se considerarmos a resultante das forcas aplicadas, a massa da partcula m e aplicarmos a segunda lei da din^amica chegamos a (5.4). Conclumos assim que o trabalho da resultante e igual a variac~ao da energia cinetica do sistema. WAF,>B = RAB FxRdx + Fy dy + Fz dz = m RAB xdx + ydy + zdz = = m AB xd _ x_ + yd _ y_ + zd _ z_ = m2 (vB2 , vA2 ) WAF,>B = T (5:4) Imaginemos agora que temos um corpo rgido, animado de movimento de translac~ao e de movimento rotac~ao em torno de um eixo denido em relac~ao a um referencial X'Y'Z', cuja origem O' coincide com o centro de massa. Se tivermos ainda um referencial inercial XYZ, as coordenadas duma partcula de massa dm neste sistema ser~ao: x = x + x0; y = y + y0 e z = z + z0. Em que (x; y; z) s~ao as coordenadas do centro de massa em XYZ e (x0; y0; z0) s~ao as coordenadas do ponto em X'Y'Z'. Determinemos a energia cinetica T do corpo. T = 21 R (x_ 2 + y_ 2 + z_ 2)dm = 21 R [(x_ + x_ 0)2 + (y_ + y_ 0)2 + (z_ + z_ 0)2]dm Note-se que, dado X'Y'Z' estar situado no centro de massa temos que R 0 x_ dm = R y_ 0dm = R z_ 0dm = 0(5:5) Assim vem que 69 2 + 1 R v 02 dm T = M2 (x_ 2 + y_ 2 + z_ 2) + 21 R (x_02 + y_02 + z_02)dm = M2 vCM 2 Como o corpo roda em torno dum eixo com velocidade angular !, se r for a dist^ancia do eixo ao ponto vem v02 = r2!2. Assim, e atendendoR a que o momento de inercia do corpo em relac~ao ao eixo de rotac~ao e I = r2dm, chegamos a (5.6). 2 + 1 R r2 ! 2 dm = M v 2 + I ! 2 (5:6) T = M2 vCM 2 2 CM 2 Em resumo, a express~ao deduzida para a energia cinetica e composta por um elemento de translac~ao e outro de rotac~ao. E importante frisar que a formula so e valida no caso do referencial X'Y'Z', que acompanha o corpo, ter a origem coincidente com o centro de massa. Se tal n~ao se vericar (5.6) tera um componente adicional devido a n~ao anulac~ao de (5.5). Deslocamento e trabalho virtual Voltemos ao exemplo da esfera e da superfcie. Temos uma esfera de massa m, sobre a qual esta aplicada uma forca F que a faz descrever uma dada trajectoria sobre a superfcie considerada (restric~ao). Durante um dado intervalo de tempo dt, m sofre um deslocamento innitesimal ds(dx,dy,dz) medido em relac~ao a um referencial. Como o movimento obedece as restric~oes dizemos que ds e um deslocamento real. Consideremos agora um deslocamento innitesimal arbitrario s(x; y; z), n~ao necessariamente sobre a superfcie. Devido ao facto do movimento poder violar as restric~oes impostas dizemos que estamos a falar dum deslocamento virtual. O trabalho realizado, nesta situac~ao, pela forca F designa-se por trabalho virtual (5.7). W = Fxx + Fy y + Fz z(5:7) Estes conceitos, parecendo para ja um pouco bizarros, v~ao-se mostrar extremamente uteis. E importante entretanto classicar os deslocamentos em tr^es tipos diferentes. Para isso imaginemos um sistema de p partculas. 1. Fazendo uso de xi = xi(q1; q2; :::; q3p; t),etc, (em que maximo P3p ha@xum i de 3p coordenadas generalizadas) temos que xi = j=1 @qj qj + @x@ti t. Note-se que o deslocamento viola as restric~oes. Nesta situac~ao as forcas de ligac~ao interiores do sistema (no exemplo a reacca~o normal sobre a esfera) realizam trabalho. 70 2. Consideremos agora que utilizamos as restrico~es holonomicas e passamos a so ter as n coordenadas generalizadas correspondentes aos i q + @xi t. Este deslograus de liberdade. Assim vem xi = Pnj=1 @x @qj j @t camento n~ao viola as restric~oes. No entanto, no intervalo de tempo t, os referenciais e/ou as restric~oes mudam ligeiramente de posica~o. Isto faz com que as forcas de ligac~ao possam ainda realizar trabalho. p @xi q . Nesta 3. Facamos agora o tempo xo (t = 0). Temos xi = P3j=1 @qj j situac~ao as forcas de ligac~ao n~ao realizam trabalho podendo ser eliminadas de (5.7). E devido a este facto que, utilizando o formalismo de Lagrange, podemos evitar o calculo das tens~oes nas juntas do rob^o. 5.2.2 Formalismo de Lagrange Deduc~ao Consideremos uma partcula de massa m em movimento, cujas coordenadas em relaca~o a um referencial inercial s~ao (x,y,z). Se F for a forca resultante aplicada e considerarmos o resultado de (5.7) chegamos a (5.8), express~ao conhecida por equac~ao d'Alembert. m(xx + yy + zz) = Fxx + Fy y + Fz z(5:8) Partindo do principio que o sistema tem n graus de liberdade (n n~ao superior a 3 para o caso de uma partcula), que escolhemos um conjunto (q1; q2; :::; qn) de coordenadas generalizadas adequadas e que conhecemos as express~oes de transformac~ao para o referencial cartesiano inicial, chegamos a express~ao (5.9) manipulando matematicamente (5.8). Pn d @T @T Pn @y @x @z r=1 ( dt @ q_r , @qr )qr = r=1 (Fx @qr + Fy @qr + Fz @qr )qr (5:9) Note-se que estamos a considerar deslocamentos virtuais de tal forma que o trabalho das forcas de ligac~ao seja nulo (terceira situac~ao da secc~ao anterior). Agora se considerarmos que qr e nulo para todo o r com excepc~ao de r=i temos (5.10). @y @T @x @z d @T dt ( @ q_i ) , @qi = Fx @qi + Fy @qi + Fz @qi (5:10) Estas n relac~oes (i=1...n) s~ao as equac~oes de movimento de Lagrange. Obtivemos um sistema de equac~oes diferenciais de segunda ordem em que, conhecendo as forcas aplicadas, calculamos os valores das coordenadas e assim o movimento. Este n~ao e mais que o problema da din^amica directa. aliviado de eventuais preocupac~oes com as forcas de ligac~ao. O mesmo sistema permitira resolver a quest~ao de din^amica inversa, ou seja, calcular as forcas aplicadas conhecendo o movimento. 71 Forcas generalizadas Vamos agora introduzir o conceito de forca generalizada Fqr . Considerando o segundo membro de (5.10) denimos forca generalizada relativa a coordenada qr da seguinte forma. Fqr = Fx @q@xr + Fy @q@yr + Fz @q@zr (5:11) Fisicamente a forca generalizada e uma grandeza de modo a, se considerarmos um deslocamento virtual s = qr, o trabalho realizado no movimento sera dado por W = Fqr qr. Note-se que nem sempre Fqr e uma forca no sentido usual. Se, por exemplo, qr for um a^ngulo, a forca generalizada correspondente sera um momento. Existem diferentes tecnicas para a obtenc~ao das forcas generalizadas, sendo o melhor metodo func~ao das caractersticas particulares do problema real. No entanto, uma boa maneira, com um largo espectro de situaco~es aplicaveis, consiste em considerar um deslocamento, exclusivamente ao longo de qr , e subsequentemente determinar a express~ao do trabalho da resultante das forcas aplicadas. A express~ao deduzida sera Fqr . Notas adicionais Uma das grandes vantagens da utilizac~ao do formalismo de Lagrange consiste em n~ao termos de envolver as forcas de ligac~ao. No entanto, como vimos nos captulos 3 e 4, podera ter interesse calcula-las. Como proceder para obter esses resultados? Uma forma consiste, num sistema com n graus de liberdade, em considerar mais do que n equaco~es do tipo (5.10). Tem que se ter o cuidado de, na deduc~ao das equac~oes referentes as coordenadas generalizadas superfulas (qr talquer > n), entrar com as forcas de ligaca~o no calculo das forcas generalizadas correspondentes. E se, considerando somente as n coordenadas generalizadas independentes, tivermos equac~oes de transformac~ao func~ao do tempo, motivadas por referenciais ou restric~oes moveis? Neste caso poderemos deduzir uma equac~ao adicional, referente a t, onde se volta a entrar com as forcas de ligac~ao da forma referida no paragrafo anterior. Normalmente esta equac~ao n~ao e includa no sistema nal dado ser redundante. 5.2.3 Forcas conservativas Uma forca diz-se conservativa se o trabalho por ela realizado, num deslocamento de um ponto A para um ponto B, for exclusivamente func~ao da posic~ao inicial e nal do corpo e independente da trajectoria. Uma forca 72 conservativa F tem sempre associada uma grandeza escalar, designada por potencial U(x,y,z), de tal forma que ... R WAF,>B = U (A) , U (B ) = AB Fxdx + Fy dy + Fz dz 8 @U > < Fx = , @U @x F = , y @y > : F = , @U z @z Considerando agora as n variaveis generalizadas poderemos denir U em func~ao de (q1; q2; :::; qn). Se F provocar um deslocamento qr calculamos o trabalho realizado. Wqr = Fqr qr = , @q@Ur qr(5:12) Concluindo, se aplicarmos uma forca conservativa ao sistema e se conhecermos a express~ao do potencial em func~ao das coordenadas generalizadas, o calculo das forcas generalizadas torna-se trivial. Fqr = , @q@Ur (5:13) Estes resultados s~ao muito uteis quando trabalhamos com sistemas onde tenhamos que entrar, por exemplo, com a forca gravtica. Nestas situac~oes e usual denirmos o lagrangiano L. L = T , U (5:14) Se a unica forca externa aplicada for conservativa a equac~ao (5.10) podera ser reescrita na forma (5.15). @L d @L dt ( @ q_r ) , @qr = 0(5:15) 5.3 Aplicac~ao do formalismo de Lagrange na modelizac~ao din^amica de manipuladores Nesta secca~o vamos explanar um metodo, baseado no formalismo de Lagrange, que permite modelizar o comportamento din^amico dum manipulador. Este processo permitira, por um lado, reunir os conhecimentos necessarios a eventual aplicaca~o do formalismo ao nosso rob^o com pernas, e por outro, antever as principais vantagens e diculdades que esta abordagem podera apresentar. Em 2.2.2 zemos a modelizac~ao cinematica da perna por analogia com um manipulador tendo sido descritas as coordenadas homogeneas, as matrizes de transformaca~o e o metodo de D-H. Nesta secc~ao vamos considerar um modelo cinematico elaborado sobre os conceitos a descritos. 73 5.3.1 Energia cinetica Deduc~ao da express~ao geral Seja rii um ponto do segmento i, referenciado em relac~ao ao sistemai xo no segmento. De acordo com o que vimos em 2.2.2 as coordenadas do ponto em relac~ao ao sistema0 podem ser calculadas usando a matriz de transformac~ao A0i . ri0 = A0i rii Se considerarmos o sistema0 como sendo inercial e pretendermos calcular a sua velocidade basta-nos fazer a derivac~ao da express~ao anterior. vi0 = drdti = dAdti rii + A0i drdti Dado rii ser constante e aplicando a derivada da composta temos o seguinte. 0 0 i i i vi0 = Pij=1 @A @qj q_j ri Denindo agora as matrizes Uij podemos reescrever a express~ao anterior. 0 8 < Uij = @A0i <= j < ijjj = i @qj : Uij = 0 <= j > i 0 Pi i vi = j=1 Uij q_j ri (5:16) Aplicando a formula para o calculo da energia cinetica, T = 21 mv2, considerando que a massa do ponto e dm, e sendo Tr o traco duma matriz quadrada chegamos a (5.17) que nos permite calcular a energia innitesimal associada a massa pontual. dT = 12 vi0vi0t dm = 12 Pij=1 Pik=1 [Tr(Uij riiriit Uikt )q_j q_k ]dm(5:17) Se agora integrarmos de forma a obtermos a energia Ti de todo o segmento temos (5.18). R R Ti = dT = 21 Pij=1 Pik=1 Tr[Uij ( riiriit dm)Uikt ]q_j q_k (5:18) R Note-se que rii riit dm resulta numa matriz quadrada Ji designada por matriz de inercia do segmento i. Esta matriz e func~ao da distribuic~ao de massa do corpo sendo independente da sua posic~ao e movimento (rii e constante ao longo do tempo). Assim, so e necessario calcula-la uma vez de forma a avaliar a energia cinetica do segmento. Regressaremos ainda a esta quest~ao. 74 Ji = R riiriit dm(5:19) Se o manipulador tiver n juntas e segmentos distintos teremos que a energia cinetica total sera dada por (5.20). T = Pni=1 Ti = 21 Pni=1 Pij=1 Pik=1 Tr[Uij JiUikt ]q_j q_k(5:20) A matriz de inercia A aplicaca~o de (5.20) para o calculo da energia cinetica de um manipulador implica a determinac~ao da matriz de inercia Ji de cada um dos n segmentos constituintes (5.19). Esta matriz introduz a informac~ao de resist^encia ao movimento sendo, naturalmente, func~ao da forma e distribuic~ao de massa do corpo. Desenvolvendo (5.19) chegamos a (5.21). R R R 2 R 2 x dm x y dm x z dm xidm 3 i i i i i R R R R Z 6 7 2 R yi dm Ryi z2 i dm R yi dm 77 Ji = riiriit dm = 664 R xxiyzidm R i i dm Ryi zi dm R zi dm Rzidm 5 xidm yidm zidm dm Se considerarmos que (Ixx; Iyy ; Izz ) s~ao os momentos de inercia de rotac~ao em torno dos eixos XYZ do sistemai, que as coordenadas do centro de massa do segmento s~ao dadas por (x; yR; z) e denirmos R Ros produtos de inercia cruzados (Ixy ; Ixz ; Iyz ) como sendo ( xydm; xzdm; yzdm), podemos reescrever a equaca~o anterior na seguinte forma. 3 2 ,Ixx +Iyy +Izz I I m x xy xz 2 77 66 Z Ixx ,Iyy +Izz t I m y I yz xy i i 6 2 Ji = ri ri dm = 6 Ixx +Iyy ,Izz mz 7 75 Ixz Iyz 4 2 mx my mz m 5.3.2 Energia potencial Seja Ui a energia potencial gravtica do segmentoi. Sendo g(0; ,9:8; 0; 1) a acelerac~ao gravtica expressa em coordenadas homogeneas em relac~ao a um referencial inercial adequado e ri0 o centro de massa do corpo em relac~ao ao mesmo referencial, a energia pode ser calculada por (5.23). Ui = ,migri0 = mig(A0i rii )(5:23) Somando a energia potencial dos n segmentos temos a energia potencial total(5.24). U = Pni=1 Ui = Pni=1 ,migri0 = Pni=1 ,mig(A0i rii)(5:24) 75 5.3.3 As forcas generalizadas Num manipulador temos a considerar tr^es tipos de forcas externas aplicadas: as forcas gravticas sobre os segmentos, as forcas de actuac~ao exercidas pelos motores da diferentes juntas, e as forcas de carga na extremidade. Ao entrarmos com a energia potencial gravtica no Lagrangiano, automaticamente inclumos os efeitos do primeiro tipo de forcas nas equaco~es de movimento. Resta-nos so analisar os ultimos dois tipos. Como vimos em 5.2, dada uma variac~ao innitesimal da variavel qr, a forca generalizada respectiva ha-de ser uma quantidade tal que, multiplicada pelo deslocamento qr , da o trabalho realizado no movimento. Considerando as forcas de actuac~ao, estas so realizam trabalho se a junta a que est~ao associadas sofrer um deslocamento. Esse trabalho sera igual ao produto desse deslocamento angular pelo momento aplicado pelo motor. Assim, no calculo de Fqr , teremos sempre uma parcela correspondente ao momento de forca debitado pelo motork . No caso de termos uma ou mais forcas de carga, os seus contributos para Fqr ser~ao dados pelos momentos calculados em func~ao do eixo de rotaca~o da junta r. Fqr = ,motorr + Ppi=1 ,fcargap (5:25) 5.3.4 As equac~oes de movimento Substituindo em (5.14) T e U pelo deduzido em (5.20) e (5.24) obtemos a express~ao para o Lagrangiano do manipulador (5.26). L = T , U = 21 Pni=1 Pij=1 Pik=1 Tr[Uij JiUikt ]q_j q_k + Pni=1 mig(A0i rii)(5:26) Considerando a variavel generalizada qr(r = 1; :::; n), a partir do concludo em (5.10) e (5.25) e fazendo as derivac~oes adequadas, tiramos a equac~ao de movimento respectiva (5.27) . Fqr = dtd ( @@Lq_r ) , @q@Lr = = Pni=r Pij=1 Tr(Uij JiUirt )qj + Pni=r Pij=1 Pik=1 Tr(Uijk JiUirt )q_j q_k , Pni=r migUir rii Note-se que, dada um junta r, so e relevante para a equac~ao de movimento correspondente as inercias dos segmentos situadas acima dessa junta. Dai os envolver um i maior ou igual a r. Aparece-nos ainda uma notac~ao nova Uijk . Uijk = @q@Aj @qi r 0 76 Facamos as seguintes manipulac~oes matematicas. d ( @L ) = Pn Pi Tr(U J U t ) q = dt Pn @ q_rPn i=r j =1 t ij i Pirn j = j=1 [ i=r;j Tr(Uij JiUir )]qj = j=1 Drj qj = Pnj=1 @T = Pn Pi Pi Tr(U J U t )q_ q_ = , ijk i ir j k @q P P i=r j =1 k=1 P P r n [ i t k=1 i=j;k;r Tr(Uijk Ji Uir )]q_j q_k @U @qr = = Pni=r migUir rii = cr n j =1 n h q_ q_ k=1 rjk j k Podemos agora reescrever (5.27) na forma (5.28). 8 > Fqr = Pnj=1 Drj qj + Pnj=1 Pnk=1 hrjk q_j q_k + cr > > > < Pn t > Drj = Pin=max(r;j ) Tr(Uij Ji Uir ) t hrjk = > (j;k;r) Tr(Uijk Ji Uir ) > : cr = Pn i=mmax i gUir ri i=r i Drj esta relacionado com as acelerac~oes angulares das juntas. Do ponto de visa fsico podemos considera-lo como um par^ametro de ponderaca~o para o calculo do momento induzido pela acelerac~ao da junta j no eixo da junta r. Quanto maior seu valor, mais signicativa sera a interacc~ao entre as acelerac~oes das duas juntas. Matematicamente vericamos que Drj = Djr , o que e perfeitamente coerente com a interpretac~ao dada. Os coecientes hrjk permitem avaliar o momento induzido na junta r pela interacca~o din^amica da velocidades das juntas j e k. No caso de j=k, o coeciente esta relacionado com a forca centrifuga gerada pelo movimento da junta j e sentida na junta r. No caso de j 6= k o coeciente relaciona-se com a forca de Coriolis gerada pelas velocidades da duas juntas e sentida em r. cr representa a carga gravtica exercida sobre a junta r. Naturalmente que so ser~ao relevantes para o seu calculo os segmentos acima de r (i r). 5.3.5 O sistema de equac~oes Com o visto ate ao momento podemos, juntando as n equaco~es de movimento (r=1,...,n), obter um sistema que permita o calculo das variaveis de posic~ao do manipulador ao longo do tempo. Note-se que para isto partimos do pressuposto que a express~ao (5.25), para o calculo das forcas generalizadas, e quando muito func~ao das variaveis generalizadas (q1; q2; :::; qn). Por outras palavras, n~ao e introduzida nenhuma incognita adicional ao sistema 77 que obrigue a deduc~ao de equac~oes adicionais. Tal pode ter de acontecer no caso de, por exemplo, lidarmos com forcas de carga desconhecidas que compliquem ainda mais o problema. Fqr = Pnj=1 Drj qj + Pnj=1 Pnk=1 hrjk q_j q_k + cr ; r + 1; :::; n Ou, em forma matricial ... Fq(q) = D(q)q + h(q; q_) + c(q)(5:29) Em que ... 2 66 D(q) = 6666 4 Hr 2 66 6 (q) = 66 64 D11 : : : Dn1 hr11 : : : hrn1 2 66 h(q; q_) = 6666 4 : : : : : 3 : : : : : : : : : : : D1n 7 : : 77 : : 77 : : 75 : Dnn 3 : : : : : : h1rn 7 : : 77 : : 77 : : 75 : hrnn q_tH1 q_ 37 : : : q_ tHn q_ 2 66 c(q) = 6666 4 77 77 75 3 c1 7 : 77 : 77 : 75 cn No caso de matriz quadrada D ser invertvel a partir de (5.29) podemos chegar a (5.30). q = D,1 (q)(Fq(q) , h(q; q_) , c(q))(5:30) Conseguimos assim obter um modelo do comportamento din^amico do manipulador sob a forma de variaveis de estado. 78 5.4 Modelizac~ao da estrutura simplicada 2D De forma a simplicar a escrita das express~oes e garantir um facil alargamento a situaca~o 3D com seis pernas, vamos usar um conjunto de notaco~es e convenc~oes diferentes das usadas ate ao momento. Assim, consideraremos (q1; q2; q3) como correspondentes aos tr^es graus de liberdade do corpo (x; y; z). Os dois ^angulos de cada perna ser~ao referenciados por (qn4; qn5) em que n e o numero da perna (no nosso caso n=3,4). Podera, nomeadamente nos argumentos de alguns somatorios, aparecer a indicac~ao qnj com j n~ao superior a 3. Neste caso o numero da perna sera irrelevante, estando a ser referenciado, de forma incondicional, uma das variaveis do corpo. n indenido 3 4 q1,qn1 x x x q2,qn2 y y y q3,qn3 z z z qn4 23 24 qn5 33 34 Com isto assente as restantes adaptac~oes de notac~ao, algumas vezes implcitas, ser~ao facilmente compreendidas. 5.4.1 Energia cinetica Deduc~ao da express~ao geral Com o visto na secc~ao anterior temos que considerar cinco corpos ou segmentos: o corpo central, dois segmentos superiores (ancas) e dois segmentos inferiores (canelas). As matrizes de inercia associadas ser~ao: J3 para o corpo central, J4 para as ancas e J5 para as canelas. Note-se que, ao contrario do que acontece para os manipuladores em que a cada variavel qi corresponde uma segmento de matriz Ji, temos tr^es graus de liberdade (q1; q2; q3) associados a um mesmo corpo de matriz J3. A partir de (5.20) e somando as energias cineticas referentes aos cinco segmentos chegamos a (5.31). 1 P3 P3 Tr[U3j Ji U t ]q_j q_k + T = j =1 k=1 3k 2 1 P4 P5 Pi Pi Tr[Uij Ji U t ]q_nj q_nk (5:31) ik 2 n=3 i=4 j =1 k=1 Temos um termo, func~ao exclusiva de (q1; q2; q3), que representa a energia cinetica do corpo central. Os restantes dois traduzem a energia de cada uma das pernas. Note-se que a sua estrutura e semelhante a de um manipulador de dois segmentos, com a inu^encia acrescida de uma \base de suporte" movel (o corpo principal). 79 As matrizes U As diferentes matrizes Uij necessarias, bem como as Uijk resultantes da derivac~ao, n~ao ser~ao aqui expostas dado o seu elevado numero e pequeno interesse. Para o seu calculo usamos as matrizes de A.3 de forma a obter as seguintes cinco express~oes. 8 0 > < A3(q1 ; q2; q3) =inercial Acentral (Rx ; Ry ; z ) 3 central A1(n ) 1 A2(2n ); n = 3; 4 > A44(qn4 ) =2 : A5(qn5) = A3(2n); n = 3; 4 3 @A3 @A3 @A4 @A5 Se considerarmos as derivadas - @A @q1 ; @q2 ; @q3 ; @qn4 ; @qn5 - juntamente com as matrizes anteriores, estaremos em condic~oes de calcular de forma sistematica as diferentes matrizes Uij por diferentes combinaco~es de multiplicaca~o. 0 0 0 3 4 As matrizes de inercia De forma a simplicar a computaca~o destas matrizes vamos aproximar a forma do corpo central a uma esfera e dos segmentos a cilindros. Considerando uma distribuica~o de massa homogenea determinamos, resolvendo os integrais de (5.22), os momentos e produtos cruzados de inercia. E aconselhavel usar coordenadas esfericas para o corpo central, e coordenadas cilndricas para os segmentos. As matrizes obtidas, considerando os corpos tridimensionais, foram as seguintes. 2 resf 3 2 era 0 0 0 66 5 77 2 resf era 6 77 0 0 0 5 Jesfera = mesfera 66 2 resf era 4 0 0 0 75 5 0 0 0 1 2 l2 cilindro 0 0 lcilindro 2 66 3 2 rcilindro 0 0 0 6 2 Jcilindro = mcilindro 66 2 0 rcilindro 0 4 0 2 lcilindro 3 77 77 75 0 0 1 Note-se que Jcilindro foi calculada considerando o sistema de referencia posicionado num dos topos, com o eixo dos X a atravessar longitudinalmente o corpo. Para obter as matrizes (3x3) do modelo planar basta suprimir as terceiras linhas e colunas. 2 80 5.4.2 Energia potencial De (5.24) tiramos a express~ao da energia potencial do rob^o. U = ,m3g(A03r33) , P4n=3 Pi=4 mig(A0i rii )(5:32) 5.4.3 As forcas generalizadas No capitulo anterior consideramos o piso rugido e indeformavel, podendo o ponto de apoio, no caso de contacto da perna com o ch~ao, ser xo (n~ao escorregamento) ou movel (escorregamento). Dissemos ainda que este era um modelo de entre muitos. E, se os resultados com ele obtidos, no caso dum piso rgido, eram satisfatorios e verosimeis, tal ja n~ao aconteceria num solo n~ao compacto passvel de sofrer deformac~oes plasticas. Em resumo, a interacc~ao solo-apoio pode ser modelizada de diferentes formas devendo o criterio de escolha do modelo assentar nas caractersticas da situaca~o a estudar. Em 5.3.5 focamos a necessidade de expressar as forcas generalizadas em func~ao das variaveis generalizadas de forma a n~ao introduzir incognitas adicionais no sistema. Tal facto obrigaria a deduc~ao e inclus~ao de mais condic~oes, o que comprometeria a obtenc~ao das equac~oes de estado (5.30). O modelo utilizado no capitulo anterior conduziria a esta situac~ao sendo necessario procurar alternativas que, por um lado, descrevam o comportamento real do solo, e, por outro, apresentem o formato matematico mais favoravel. As hipoteses s~ao muitas, tendo cada uma as suas vantagens e desvantagens. Dado n~ao estarmos a trabalhar com nenhum piso em particular vamos considerar o modelo que, satisfazendo os nosso requisitos formais, seja matematicamente mais simples. E intuitivo que, se considerarmos um piso passvel de sofrer deformaco~es, quanto maior for o afundamento vertical do apoio no solo, maior sera a press~ao exercida por este e maior sera a reacc~ao normal de resposta. Assim, a express~ao (5.33) pode ser usada para estimar a componente vertical da forca aplicada, em que v e o afundamento vertical e k,n e F0 par^ametros do solo (maior ou menor compactes, etc). N = F0 + kvn(5:33) Naturalmente que podemos complicar a express~ao se comecarmos a diferenciar a resposta elastica da plastica, levarmos em considerac~ao pontos de ruptura, etc. Uma modelizac~ao rigorosa passara sempre por um estudo experimental das superfcies concretas a descrever. A equac~ao (5.34) permite estimar as forcas de atrito laterais. Entra com um valor maximo Fmax e um coeciente k dependentes do solo. A forca varia 81 exponencialmente na gama [0; Fmax] em func~ao do deslocamento horizontal h do apoio. Fa = Fmax(1 , e ,kh )(5:34) 5.4.4 As equac~oes do movimento A semelhanca do que zemos na secc~ao anterior vamos determinar as equac~oes de movimento do rob^o relativas a uma variavel generica qr. Note-se que, ao fazer as derivaco~es necessarias da express~ao de Lagrange (5.10), no caso de r ser maior que 3 a primeira parcela de (5.31) e de (5.32) e irrelevante. Dai que tenhamos que dividir as equac~oes de movimento em dois tipos: equac~oes do corpo com parcelas adicionais, para r menor ou igual a 3; equac~oes das pernas, para qnr com n=3,4 e r=4,5, similares a (5.28) em que as parcelas adicionais desaparecem na derivac~ao. Assim temos as equac~oes do corpo (5.35) e as equac~oes das pernas (5.36). Fqr = P3j=1 (DrjP)bqj +PP4n=3PP5j=1 (Drj )lqnj + P3j=1 P3k=1 (hrjk )bqj + 4 5 5 n=3 j =1 k=1 (hrjk )l qnj + cr (5:35) Fqnr = P4n=3 P5j=1 (Drj )lqnj + P4n=3 P5j=1 P5k=1 (hrjk )lqnj + cr (5:36) 8 > > > > < > > > > > : (Drj )b = P Tr(U3j J3U3tr ) (Drj )l = 5i=max(4;r;j) Tr(Uij JiUirt ); n = 3; 4 (hrjk )b = P Tr(U3jk J3U3tr ) (hrjk )l = 5i=max(4P;j;k;r) Tr(Uijk JiUirt ); n = 3; 4 cr = , 3gU3r , 5i=4 mi gUir rii ; r = 1; :::; 3 Pm cr = 5i=r ,migUir rii ; r = 4; 5; n = 3; 4 5.4.5 O sistema de equac~oes Pretendemos colocar o nosso sistema de 7 equac~oes e 7 incognitas na forma de (5.29) em que o vector das incognitas e dado por (5.37). q(q1; q2; q3; q34; q35; q44; q45)t(5:37) Atenc~ao que, do ponto de vista matricial, a linha ou coluna associada a uma variavel generalizada qnr , passa a ser r, se r for n~ao superior a 3, e (2 (n , 3) + r), se r for maior que 3. Por exemplo, q45 esta associado a posic~ao sete. 82 De forma a simplicar a computac~ao podemos considerar D como a soma de tr^es matrizes: Db ; Dl3eDl4. Db e uma matriz 7x7 tal que Db (r; j ) e igual a (Drj )b para r e j compreendidos entre 1 e 3 e nulo nos restantes casos. Dl3 e outra matriz da mesma dimens~ao em que a perna 3 e vista como um manipulador assente numa base movel. Os elementos das duas ultimas linhas e colunas ser~ao nulos. Dl4 e similar a Dl3 mas, desta vez, com as linhas e colunas 4 e 5 nulas. D = Dl3 + Dl4 + Db(5:38) De forma similar podemos considerar matrizes Hrln para r=1,...,7 e n=3,4 e Hrb para r=1,...,3. Denindo Hr em (5.39). ( Hr = Hrl3 + Hrl4 + Hrb ; r = 1; :::; 3 Hr = Hrl3 + Hrl4 ; r = 4; :::; 7 Estamos agora em condic~oes de denir a func~ao h(q; q_), a semelhanca do que zemos para os manipuladores. A obtenc~ao do vector com os componentes de energia potencial n~ao oferece diculdades de maior. 5.5 Resultados obtidos Na introduc~ao dissemos que um dos principais objectivos da aplicac~ao do formalismo de Lagrange seria a obtenc~ao dum modelo em equac~oes de estado. Para isso, e de acordo com (5.30), seria essencial, depois de calcularmos D, inverter a matriz. Note-se que pretendemos obter D,1 como func~ao das variaveis generalizadas, sendo conveniente manipular a matriz simbolicamente. Para computar D utilizamos o MAPLE, um programa especico que permite trabalhar com matematica simbolica. Dada a complexidade do resultado decidimos n~ao o transcrever para este documento. No entanto, os cheiros com o codigo fonte ser~ao fornecidos em anexo de forma a matriz obtida poder ser consultada. Feito isto passamos ao calculo da inversa. Para isso comecamos por usar a funca~o \inverse" do MAPLE. Esta func~ao aplica a eliminac~ao de Gauss-Jordan sobre uma matriz quadrada, com elementos numericos e/ou simbolicos, com o objectivo de obter a sua inversa. No caso desta n~ao existir devolve um codigo de erro. Apos algumas tentativas vericamos que o programa, depois de algum tempo de execuca~o, rebentava por falta de memoria da maquina. Naturalmente que nos interrogamos sobre esta enorme necessidade de memoria 83 na manipulaca~o de uma matriz relativamente pequena (7x7). De forma a podermos dar uma resposta a esta quest~ao n~ao nos podemos esquecer de duas coisas. Primeiro, que estamos a trabalhar com express~oes que envolvem func~oes transcendentes trigonometricas, que s~ao as mais difceis de manipular e simplicar por computador. Segundo, que a eliminaca~o baseia-se na subtracca~o, a uma determinada linha da matriz, do produto de outra linha pelo quociente entre a express~ao pivot e a express~ao a cancelar, ambas trigonometricas. A primeira circunst^ancia conjugada com a segunda permite antever um factor multiplicador extremamente complexo logo ao m de poucas iterac~oes. Isto explica as faltas de memoria com que nos deparamos. Procuramos minimizar o numero de smbolos, aumentar a memoria RAM expandindo a area de disco para varrimento, optimizar a simplicac~ao das express~oes, etc. Tudo se revelou infrutfero. Em resumo, a invers~ao simbolica de D mostrou ser, sen~ao impossvel, pelo menos muito difcil. Para alem disso existe um outro problema. Vamos imaginar que D era invertvel e que ate conseguiramos, apos um esforco tremendo, computar a sua inversa. N~ao nos podemos esquecer que, apos tantas manipulac~oes, seriam cometidos uma serie de erros, como truncatura de coecientes e consequentes cancelamentos imperfeitos. Tais factos, de acordo com as experi^encias da algebra numerica, conduziriam, muito provavelmente, a um sistema extremamente instavel. Independentemente do bom ou mau condicionamento do problema, este metodo, ao ser aplicado, levaria a resultados instaveis. Concluindo, estamos perante uma metodologia, sen~ao impossvel, extremamente difcil de aplicar que conduz a resultados de pouca ou nenhuma utilidade pratica. Temos argumentos de sobra para armar que, no caso concreto do rob^o com pernas, a modelizac~ao do sistema em variaveis de estado e impraticavel, pelo menos atraves do formalismo de Lagrange. No entanto continua a ser possvel a descric~ao do sistema na forma (5.29). Obtidas as equac~oes poderamos aproximar numericamente as derivadas de primeira e segunda ordem das incognitas e, a semelhanca do que zemos no capitulo anterior, obter os seus valores no instante i +1 em func~ao dos valores nos instantes i e i , 1. 5.6 Analise comparativa de duas abordagens Constatamos que, nem o metodo baseado nos diagramas de corpos livres (DCL), nem o baseado no formalismo de Lagrange (FL), permitia a modelizac~ao em variaveis de estado. Ambos conduzem a um sistema que, ao ser discretizado, leva a um conjunto de equaco~es n~ao-lineares resoluveis, por exemplo, pelo metodo de Newton. 84 Em 4.5 falamos dos problemas de converg^encia e de invers~ao do jacobiano do metodo de Newton e que afectam, de igual forma, o DCL e o FL. No entanto, a resoluc~ao de um sistema obtido pelo FL leva a complicac~oes adicionais. N~ao nos podemos esquecer que, para cada iterac~ao, computamos a matriz D(q(i)) e invertemo-la, o que, fora a computac~ao adicional, pode ser difcil ou impossvel no caso de singularidade. O DCL e ainda muito mais intuitivo e perceptvel que o FL, levando a uma melhor compreens~ao e conhecimento mais profundo do sistema a estudar. Para alem das incognitas de posic~ao podemos, com o DCL, acompanhar a evoluc~ao e comportamento das forcas interiores e momentos. Isto e pago por um numero muito superior de equac~oes. Podemos dizer que o FL conduz a uma representac~ao matematica mais condensado apesar de mais difcil de deduzir. Em resumo, confrontando o DCL com o FL, a metodologia por nos concebida tem um conjunto de vantagens em relac~ao as tecnicas tradicionais. As deci^encias, nomeadamente a representac~ao menos condensada, s~ao pouco relevantes para a maior parte das aplicac~oes. Assim, a modelizac~ao baseada no diagrama de corpo livre e, no nosso entender, a tecnica mais aconselhada para a elaborac~ao dum modelo tridimensional do rob^o com pernas. Tabela comparativa Formalismo de Lagrange (FL) Diagrama de Corpo Livre(DCL) Representaca~o condensada Deduc~ao mais simples das equac~oes Melhor compreens~ao do sistema Determinac~ao dos momentos e forcas internas Maior exibilidade na modelizac~ao da interacca~o apoio-solo Resoluc~ao numerica do sistema simplicada 85 Captulo 6 \Gaits" - Tipos de Passo 6.1 Introduc~ao Uma roda, durante o movimento, esta em permanente contacto com o ch~ao, ao contrario da perna que, se tem de levantar e voltar a pousar. Este tipo de movimento traz consigo um problema de fases, ou seja, como e em que altura e que as pernas devem ser levantadas e pousadas, a m de evitar choques e de optimizar o movimento da maquina com pernas. Este problema e descrito pelo termo \gait" e que se pode denir como sendo a escolha do tempo e do local para colocaca~o e levantamento de cada pe, coordenado com o movimento do corpo do rob^o, por forma a levar este de um lado para o outro. A palavra \gait" n~ao se aplica aos rob^os com rodas, dado que estas n~ao necessitam de uma descric~ao do movimento que executam, pois este n~ao varia. Neste captulo ir-nos-emos referir aos rob^os com pernas simplesmente como rob^os. Podemos ent~ao utilizar a noc~ao de \gait" para descrever o movimento de diferentes animais e rob^os. Inversamente, um \gait" bem denido pode descrever com precis~ao o movimento de um rob^o ou animal com pernas. A escolha de um \gait" para um determinado rob^o depende n~ao so do numero de pernas, como da geometria destas e performance desejado. Por outro lado, um arquitecto de rob^os tem de ter um bom conhecimento do conceito de \gait", antes de construir o rob^o. 6.1.1 Import^ancia do estudo dos \gaits" Os cavalo possui tr^es \gaits" diferentes: andar, trote e o galope. Desta forma ele optimiza a sua forma de andar conforme as suas necessidades. Tal como o cavalo outros animais possuem diferentes \gaits", dependendo do tipo de movimento que querem efectuar. Quando animais da mesma 86 especie se encontram sob as mesmas condic~oes, de velocidade por exemplo, tendem a adoptar \gaits" id^enticos. Os le~oes, tigres, c~aes e muitos outros animais utilizam \gaits" muito similares quando andam devagar. Podemos por isso pensar que sob determinadas condic~oes existem \gaits" optimos, que as diferentes especies acabam por adoptar espontaneamente. Torna-se por isso importante determinar quais os gaits optimos e o porqu^e de serem otpimos. As raz~oes pelas quais eles tendem a adoptar estes \gaits" optimos, podem estar relaccionadas com a estabilidade do animal, estrutura da perna, etc. A parte mais crucial no desenho de um rob^o e o desenho da perna e a coordenac~ao deste. Este trabalho deve ser feito com base na analise de \gaits". 6.2 Metodos utilizados na analise de \gaits" Na analise de \gaits" utlizam-se dois metodos: o analtico e o graco. A aplicac~ao ou n~ao de cada um depende da natureza do problema. De um modo geral o metodo analtico e a principal ferramenta, sendo um metodo muito ecaz. O metodo graco e utilizado para se ter uma ideia da geometria do movimento. Em muitos casos a utilizac~ao dos dois metodos torna-se necessaria para resolver o problema. A maior parte destes conceitos v^em da lngua inglesa, pelo que se torna por vezes complicado arranjar termos portugueses sucientemente claros para traduzir o signicado dos termos ingleses. Um exemplo disso e a palavra \gait", que embora tenha traduc~ao, n~ao encontramos nenhuma palavra que tivesse o mesmo signicado. 6.2.1 Conceitos gerais Aqui apresentam-se algumas denic~oes, necessarias para compreender este captulo sobre \gaits". Fase de transfer^encia : Perodo em que o pe n~ao esta em contacto com o ch~ao. A esta fase e atribudo o estado 1. Fase de suporte : Perodo em que o pe esta em contacto com o ch~ao, a que se atribui o estado 0. Ciclo de movimento : Ciclo de movimento de uma perna, constitudo pela fase de transfer^encia seguido da fase de suporte. Perodo T : Tempo de um ciclo completo de movimento de uma perna, para um \gait" periodico. 87 Factor de apoio i: Raz~ao entre o tempo que a pernai esta na fase de suporte e o tempo total do ciclo de movimento da perna, ou seja, da fase de suporte da pernai i = tempo detempo um ciclo completo de movimento da pernai . Fase da perna, i : Fracc~ao de um ciclo de movimento da perna no qual a pernai, em contacto com o ch~ao, ca atras do contacto da perna1 com o ch~ao. O passo da perna : Dist^ancia que o centro de gravidade do rob^o se desloca durante um ciclo de locomoc~ao. Impulso da perna R : Dist^ancia que o pe percorre relativamente ao corpo durante a fase de suporte. O passo do impulso, P : Dist^ancia entre os centros de impulso de duas pernas adjacentes, do mesmo lado do rob^o. Matriz do \gait" : E uma matriz com n-colunas cujas sucessivas linhas s~ao numeros binarios (zeros e uns) que correspondem ao sucessivo estado das n-pernas para um gait de um animal ou rob^o, onde o numero total das linhas corresponde ao numero de estados que as pernas podem tomar durante um ciclo de locomoc~ao. Formula do \gait" : E uma formula g que dene um \gait", para um sistema de locomoc~ao com n-pernas, da seguinte forma: g = (1; 2; : : :; n; 2; 3; : : :; n) Posic~ao de contacto com o ch~ao, P (Xi ; Yi ): Par de coordenadas que especca o ponto de contacto da perna-i com o ch~ao. O sistema de coordenadas que geralmente se escolhe tem por origem o centro de massa do rob^o. O eixo X esta alinhado com a direcc~ao do movimento, o Y e normal a X, estando alinhado a direita de X. O eixo Z e normal a estes dois, estando direccionado para baixo. Posic~ao inicial do pe-i, (i ; i): E o valor inicial de contacto da perna-i com o ch~ao antes do incio de um novo ciclo de locomoc~ao. Formula cinematica do gait : E denida, para um rob^o com n-pernas como sendo, K = (1; 2; : : :; n; 1; 2; : : :; n ; 1; 2; : : : ; n; 2; 3; : : :; n) Um acontecimento, ou evento, de um \gait" : E o poisar ou levantar de um pe durante a locomoc~ao. A cada evento e associado um numero. Para um sistema de locomoc~ao con n-pernas, os eventos i e i+n s~ao atribudos ao poisar e levantar da perna-i respectivamente. 88 d2 d1 C.M. d3 Sm= mínimo de d1, d2 e d3 Polígono de suporte Movimento do robô d2 C.M. d1 Sl = mínimo de d1 e d2 Figura 6.1: Representac~ao dos pes assentes no ch~ao \Gait" singular : Um gait diz-se regular, quando dois ou mais eventos ocorrem durante um ciclo de locomoc~ao. \Gait" regular : Trata-se de um \gait" com o mesmo factor de apoio para todas as pernas. \Gait" simetrico : Estamos perante um \gait" simetrico, quando o movimento de um par de pernas oposto (esquerda-direita) se encontra desfasado de meio ciclo. Polgono de suporte : E o polgono formado pela uni~ao, atraves de segmentos de recta, das projecco~es de todos os pes que se encontram na fase de suporte. 89 \Gait" periodico : Um \gait" diz-se periodico, se os sucessivos impulsos de uma perna originam os mesmos estados nesta e ocorrem no mesmo intervalo de tempo para todas as pernas, sendo esse intervalo de tempo o perodo T. Caso contrario estamos perante um \gait" n~ao periodico. Margem de estabilidade, Sm : E a dist^ancia mais curta do centro de gravidade a uma das fronteiras do polgono de suporte. Margem de estabilidade dianteira : E a dist^ancia do centro de gravidade a fronteira dianteira do polgono de suporte na direcca~o do movimento. Margem de estabilidade traseira : O mesmo que a anterior, em relac~ao a fronteira traseira do polgono de suporte na direcc~ao do movimento. Margem de estabilidade longitudional, Sl : E a menor das duas anteriores. Margem de estabilidade longitudional de um \gait", S : Para um \gait" periodico e o minmo de Sl, durante um ciclo de locomoc~ao. Um \gait" diz-se estaticamente estavel se S 0. Caso contrario e instavel. Margem de estabilidade longitudional normalizada em relac~ao ao passo, S : Para um gait periodico G, com a equac~ao cinematica k, S (K ) = S (K )=. Margem de estabilidade longitudional normalizada em relac~ao ao passo do impulso, Sp : Denida como sendo, para o mesmo \gait" da denic~ao anterior, Sp(K ) = S (K )=P . Margem de estabilidade longitudional normalizada em relac~ao ao impulso da perna, Sr : Denida como sendo, para o mesmo \gait" da denic~ao anterior Sr (K ) = S (K )=R McGhee e Frank (1968) provaram matematicamente que existe um \gait" optimo que maximiza a estabilidade estatica de uma animal com quatro patas. S = , 3=4 para R P e 3=4 < < 1 Mais tarde, atraves de experimentac~ao numerica, Bessonov e Umnov descobriram que para um rob^o ou animal de seis pernas, a margem de estabilidade de um \gait" e maximizada por um \gait" regular e simetrico denido pela seguinte equac~ao: 3 = ; 5 = 2 , 1; para 1=2 < < 1 90 3 3 3 3 5 1 5 1 5 1 5 1 6 2 6 2 6 2 6 2 4 4 4 4 3 3 3 3 5 1 5 1 5 1 5 1 6 2 6 2 6 2 6 2 4 4 4 4 3 3 3 3 5 1 5 1 5 1 5 1 6 2 6 2 6 2 6 2 4 4 4 4 Figura 6.2: Representac~ao dos pes assentes no ch~ao Um facto interessante e o de que na natureza, muitos animais de quatro e seis patas utilizam este tipo de gaits optimos na sua locomoc~ao. Existe ainda uma semelhanca entre estes dois \gaits" que e a de que a colocac~ao do pe faz-se de tras para a frente e que as pernas est~ao desfasadas de 180 graus, ou seja, estamos perante um \gait" simetrico. Este tipo de \gait", que tambem e regular denomina-se por \wave gait" que em portugu^es podemos traduzir como \gait" de onda. Sun descobriu, tambem por experimentac~ao numerica, que a margem de estabilidade de um \gait" simetrico e regular, de um animal com 2n-pernas, era maximizada por um \gait" de onda. A equacao geral de um \gait" de onda e a seguinte: 91 1 Perna n o 3 5 2 4 6 0 0.5 1 Tempo Figura 6.3: Diagrama de um \gait". 2m+1 = F (m ); m = 1; 2; : : : ; n , 1; 3=(2n) < 1 , onde F (X ) e a parte decimal do numero real X , ou seja Xmod1, e m representa as pernas do lado esquerdo numeradas da frente para tras. 6.2.2 Metodos gracos Existem muitos metodos uteis para a analise de \gaits", muitos dos quais ser~ao aqui apresentados. Alguns dos metodos so permitem a analise parcial do \gait", outros conseguem representar totalmente o \gait" em quest~ao, outros podem ser utilizados para estudar a margem de estabilidade de um \gait" periodico, outros para o estudo de ultrapassagem de obstaculos, etc. Uma caracterstica comum a todos os metodos gracos, e a de que estes permitem uma melhor percepc~ao do \gait" que os metodos analticos. Por este motivo eles s~ao muito importantes no estudo dos \gaits", pois por melhor que seja o metodo analtico ou algoritmo computacional, nenhum destes dois consegue transmitir de forma intuitiva o \gait" em causa. Um dos metodos mais utilizados, e o da representac~ao dos pes assentes no ch~ao. O animal ou rob^o e visto de cima a medida que se vai deslocando. Na gura ?? representamos o nosso rob^o a deslocar-se da esquerda para a direita, onde os crculos a negro indicam os pes assentes no ch~ao e a seta a direcca~o do movimento. Outro metodo utilizado e o do diagrama do \gait". Como se pode ver na gura ??, a cada linha horizontal e atribuda uma perna, e cada linha a preto indica o perodo da fase de suporte de cada perna. O princpio e m de cada linha preta corresponde respectivamente ao poisar e levantar do 92 1 12 10 6 3 7 8 5 4 9 11 2 Figura 6.4: Sequ^encia de eventos de um \gait". pe correspondente a linha preta. Este metodo n~ao so regista qual as pernas que se est~ao a poisar e levantar, bem como a durac~ao da fase de de suporte. Permite por isso a extracca~o de equac~oes matematicas do movimento. Uma sequ^encia de eventos, e outra forma de representar um \gait". Para um \gait" periodico e conveniente representar esta sequ^encia de eventos numa circunfer^encia pois a sequ^encia repete-se sucessivamente. A circunfer^encia representa o tempo, geralmente normalizado para 1. Podemos ent~ao ver na gura ?? o mesmo \gait" que o representado pelo diagrama do \gait". Os eventos 1, 2, 3, 4, 5, 6 representam os eventos de colocac~ao dos pes e os eventos 7, 8, 9, 10, 11, 12 os de levantamento dos mesmos. A sequ^encia deve ser lida seguindo os ponteiros do relogio. Outro metodo e a representac~ao sucessiva do polgono de suporte do \gait". Este e semelhante ao metodo dos pes assentes no ch~ao, pois basta unir os pontos que est~ao assentes no ch~ao para obter o polgono de suporte. Temos outro metodo que consiste na representac~ao estatica do polgono de suporte, que e desenhada tendo como base o diagrama do \gait" em quest~ao. A representac~ao lateral do movimento e mais um metodo, muito util para estudar a transposic~ao de obstaculos. Existem muitos outros metodos como sejam os criados com a ajuda de computadores, para simular o movimento do rob^o, etc. 93 6.3 \Gaits" diferentes para situaco~es diferentes O problema da selecc~ao de gaits depende factores diversos, os quais nos enumeramos de seguida: { { { { { { { Condica~o do terreno Estabilidade requerida Facilidade de controlo Suavidade do movimento Velocidade desejada Mobilidade desejada Consumo desejado O nosso estudo de selecc~ao de \gaits" ira debrucar-se sobre um dos factores acima enumerados, o da condic~ao do terreno, que e sem duvida o factor que mais condiciona a escolha do \gait" apropriado. Um terreno pode ser dividido em pequenas celulas do tamanho do pe do rob^o. Temos ent~ao celulas de dois tipos: o tipo probida, em que o rob^o n~ao pode colocar o pe; e o tipo n~ao probida, em que o rob^o pode colocar o pe. Temos ent~ao tr^es tipos de terrenos: Perfeito : Aqui n~ao existem celulas probidas. Normal : Existem algumas celulas probidas, embora a maioria seja do tipo n~ao probida. Duro : Neste tipo de terrenos existe uma grande quantidade de celulas probidas no caminho do rob^o. Dado ja n~ao haver muito tempo, nos vamos efectuar o estudo de selecc~ao de \gaits" para o caso do terreno perfeito e plano, ou seja sem inclinac~ao. O estudo de \gaits" sobre os outros tipos de terrenos recebera aqui uma pequena refer^encia, cando para outros a tarefa de os implementar e testar no nosso simulador do rob^o. Se o terreno em quest~ao for perfeito, \gaits" periodicos devem ser utilizados, pois s~ao mais faceis de implementar computacionalmente. Dentro deste 94 tipo de \gaits" temos os de onda que como ja foi visto optimizam a margem de estabilidade do \gait". Os \gaits" de fase igual conseguem distribuir a colocac~ao e levantamento dos pes de uma forma equilibrada, motivo pelo qual n~ao so consomem menos energia como d~ao mais suavidade ao movimento do rob^o. Tanto num como no outro a colocac~ao dos pes faz-se de tras para a frente, sendo este tipo de \gaits" denominados de \gaits" periodicos tras para a frente. Se a sequ^encia de colocac~ao das pernas for a inversa da-se o nome de \gaits" periodicos frente para tras. Estes ultimos s~ao geralmente utilizados nos \gaits" do tipo sigam o chefe, onde as pernas de tras s~ao colocadas no stio onde estavam as da frente. Em terrenos duros a utilizac~ao de \gaits" periodicos n~ao e uma boa ideia, pois n~ao t^em a agilidade e liberdade suciente para colocarem os pes nos locais desejados, que n~ao s~ao muitos. Temos pois que utilizar \gaits" n~ao periodicos, como sejam o de ultrapassagem de obstaculos, de siga o chefe descontnuo, etc. Por ultimo temos os terrenos normais, onde se utilizam \gaits" que s~ao uma mistura dos utilizados nos terrenos duros e perfeitos. Um dos que se costuma utilizar e o siga o chefe periodico (ou contnuo), onde as celulas inicias s~ao escolhidas e as pernas traseiras s~ao colocadas no local das dianteiras, utilizando a mistura um \gait" frente para tras. Outro que e utilizado \gait" habil, onde o rob^o negoceia com o terreno o local onde ira colocar o pe. Ele comeca por colocar o pe numa celula, se lhe for permitido por o pe tem o caso resolvido se n~ao volta a levantar e coloca o pe noutro local ate encontrar uma celula onde possa colocar o pe. Outra opc~ao e o \gait" livre. Na tabela seguinte podemos ver um resumo dos diferentes \gaits", apresentados no livro \Machines That Walk" que nos seviu de base para este captulo. 95 \Gaits" P E R I O D I C O S NR AI OO D PI EC -O S estabilidade do gait bom bom razoavel tipo terreno perfeito perfeito perfeito onda fase igual onda frente para tras fase igual razoavel perfeito frente para tras habil bom/razoavel normal siga o chefe razoavel normal/ contnuo duro siga o chefe muito boa duro descontnuo grandes razoavel com obstaculos obstaculos colocaca~o do muito boa duro com pe com obstaculos precis~ao livre boa duro 96 implementac~ao suavidade do computacional movimento facil boa facil boa facil boa facil boa normal normal boa boa difcil ma normal ma muito difcil ma difcil razoavel Ap^endice A Sumario da modelizac~ao cinematica A.1 Matrizes de transformac~ao A.1.1 Relac~ao entre o sistema inercial e o sistema central do corpo do rob^o inercial A central (Rx ; Ry ; Rz ; x ; y ; z ) = 2 C (y )C (z ) S (y )S (x) , C (y )S (z )C (x) C (y )S (z )S (x) + S (y )C (x) Rx 3 6 7 y 7 = 664 ,C (S()zS)( ) S ( )S ( C)C((z)C) (+xC)( )S ( ) C ( )C (,C) ,(Sz )(S()Sx)( )S ( ) R 7 y z y z x y x y x y z x Rz 5 0 0 0 A.1.2 Matrizes de transformac~ao associadas a cada perna 2 , cos( ) sin( ) 0 dist cos( ) 6 central A ( ) = 6 64 sin(0 ) cos(0 ) 10 ,dist 0 sin( ) base 0 0 2 cos(1) 0 6 sin(1) 0 base A ( ) = 6 1 1 64 0 1 0 sin(1) , cos(1) 0 0 0 0 97 1 0 0 0 1 3 77 75 3 77 75 1 2 cos(2) , sin(2) 0 6 1 A2(2 ) = 66 sin(2) cos(2 ) 0 4 0 0 1 0 0 ,anca cos(2) 3 ,anca sin(2) 777 0 1 0 2 cos(3) , sin(3) 0 canela cos(3) 6 2A3 (3) = 66 sin(3) cos(3 ) 0 canela sin(3 ) 4 0 0 1 0 0 0 0 1 5 3 77 75 NOTA: A partir daqui chamaremos ao sistema0 referencial base. A.2 Cinematica inversa A.2.1 Func~ao Inversa (1; 2; 3) = F ,1(px ; py ; pz ) 8 > > > < > > > : F,1 1(px; py ; pz ) = arctan ppyy 2 c2 +p2 +p2 +p2 x y z p pz F,2 1(px; py ; pz ) = ,(arccos( a 2,ap p2x +p2y +p2z ) , arctan(, p2x +p2y )) 2 c2 +p2 +p2 +p2 ,a2 +pc2 +p2x +p2y +p2z x y z ) + arccos( F,3 1(px; py ; pz ) = + arccos( a 2,ap 2 2 2 px +py +pz 2c p2x +p2y +p2z ) A.2.2 Relac~ao entre grandezas angulares e lineares = JF ,1 (px ; py ; pz ) V (velocidades) , = JF ,1 (px; py ; pz ) A (acelerac~oes) A.3 Matrizes de transformac~ao do modelo simplicado 2D 2 cos(z ) 6 inercial A central (Rx ; Ry ; z ) = 4 sin(z ) 0 98 , sin(z ) Rx 37 cos(z ) Ry 5 0 1 2 central A ( ) = 6 1 i 4 , cos(i) 0 dist cos(i ) 37 0 0 ( 1 0 0 1 5 3 = 180 4 = 0 2 cos(2i) 1 A2(2i ) = 64 sin(2i ) , sin(2i) ,anca cos(2i) 37 cos(2i) ,anca sin(2i) 5 2 cos(3i) 2A3 (3i) = 64 sin(3i) , sin(3i) canela cos(3i) 37 cos(3i) canela sin(3i) 5 0 0 0 0 99 1 1 Ap^endice B Modelizac~ao a 2D com os motores desactivados (Cap. 4) B.1 Equac~oes descriptoras do sistema B.1.1 Equac~oes de Newton de translacc~ao e de rotac~ao Corpo 8 d2 Rx > > < mcp ddt2 R2 = Tx3 + Tx4 mcp 2 dt2y = Ty3 + Ty4 , mcpg > : d z Icp dt2 = Mcp Perna 3 8 > > > > > > < > > > > > : ma d22dtRax3 = Tjx3 , Tx3 2 d R ay3 m2 a dt2 = Tjy3 , Ty3 , mag d 23 = vers3 Ma3 , vers3 Mcp dt2 Ia Icp mc d22dtR2cx3 = Fa3 , Tjx3 m2 c d dtRcy3 = N3 , Tjy3 , mcg 2 d 33 = vers3 Mc3 , vers3 Ma3 dt2 Ic Ia 100 Perna 4 8 > > > > > > < > > > > > > : ma d22dtRax4 = Tjx4 , Tx4 2 d R ay4 m2 a dt2 = Tjy4 , Ty4 , mag d 24 = vers4 Ma4 , vers4 Mcp dt2 2 Ia Icp d R cx4 mc 2dt2 = Fa4 , Tjx4 = N4 , Tjy4 , mcg m2 c d dtRcy4 2 d 34 = vers4 Mc4 , vers4 Ma4 dt2 Ic Ia B.1.2 Equac~oes dos momentos de forca 8 > > > > > > > > > > > > > > < > > > > > > > > > > > > > > : Mcp = P4i=3[(Rbxi , Rx)Tyi + (Rbyi , Ry )Txi] Ma3 = [(Rbx3 , Rax3)(,Ty3) + (Rby3 , Ray3)(,Tx3)]+ +[(Rjx3 , Rax3)Tjy3 + (Rjy3 , Ray3)Tjx3] Mc3 = [(Rjx3 , Rcx3)(,Tjy3) + (Rjy3 , Rcy3 )(,Tjx3)]+ +[(Rpx3 , Rcx3)N3 + (Rpy3 , Rcy3 )Fa3] Ma4 = [(Rbx4 , Rax4)(,Ty4) + (Rby4 , Ray4)(,Tx4)]+ +[(Rjx4 , Rax4)Tjy4 + (Rjy4 , Ray4)Tjx4] Mc4 = [(Rjx4 , Rcx4)(,Tjy4) + (Rjy4 , Rcy4 )(,Tjx4)]+ +[(Rpx4 , Rcx4)N4 + (Rpy4 , Rcy4 )Fa4] 101 B.1.3 Restric~oes da estrutura Perna 3 8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : Rax3 = cos(z) cos(32)anca cos(23 ) + sin(z )anca2 sin(23 ) + cos(z )dist cos(3 ) + Rx Ray3 = sin(z )cos(32)anca cos(23 ) , cos(z )anca2 sin(23 ) + sin(z )dist cos(3 ) + Ry Rcx3 = , canela cos(33 )cos(2z ) cos(3 )cos(23 ) , canela cos(33 )2sin(z ) sin(23 ) + + canela sin(33 ) cos(2z ) cos(3 ) sin(23 ) , canela sin(33 )2sin(z ) cos(23 ) + + cos(z ) cos(3 )anca cos(23 ) + sin(z )anca sin(23 ) + cos(z )dist cos(3 ) + Rx z ) sin(23 ) + Rcy3 = , canela cos(33 ) sin(2z ) cos(3 ) cos(23 ) + canela cos(33 )cos( 2 z ) cos(23 ) + + canela sin(33 ) sin(2z ) cos(3 ) sin(23 ) + canela sin(33 )cos( 2 + sin(z ) cos(3 )anca cos(23 ) , cos(z )anca sin(23 ) + sin(z )dist cos(3 ) + Ry Rbx3 = cos(z )dist cos(3 ) + Rx Rby3 = sin(z )dist cos(3 ) + Ry Rjx3 = cos(z ) cos(3 )anca cos(23 ) + sin(z )anca sin(23 ) + cos(z )dist cos(3 ) + Rx Rjy3 = sin(z ) cos(3 )anca cos(23 ) , cos(z )anca sin(23 ) + sin(z )dist cos(3 ) + Ry Rpx3 = ,canela cos(33 ) cos(z ) cos(3 ) cos(23 ) , canela cos(33 ) sin(z ) sin(23 )+ +canela sin(33 ) cos(z ) cos(3 ) sin(23 ) , canela sin(33 ) sin(z ) cos(23 )+ + cos(z ) cos(3 )anca cos(23 ) + sin(z )anca sin(23 ) + cos(z )dist cos(3 ) + Rx Rpy3 = ,canela cos(33 ) sin(z ) cos(3 ) cos(23 ) + canela cos(33 ) cos(z ) sin(23 )+ +canela sin(33 ) sin(z ) cos(3 ) sin(23 ) + canela 2 (33 ) cos(z ) cos(23 )+ + sin(z ) cos(3 )anca cos(23 ) , cos(z )anca sin(23 ) + sin(z )dist cos(3 ) + Ry 102 Perna 4 8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : Rax4 = cos(z )cos(42)anca cos(24 ) + sin(z )anca2 sin(24 ) + cos(z )dist cos(4 ) + Rx Ray4 = sin(z )cos(42)anca cos(24 ) , cos(z )anca2 sin(24 ) + sin(z )dist cos(4 ) + Ry Rcx4 = , canela cos(34 )cos(2z ) cos(4 )cos(24 ) , canela cos(34 )2sin(z ) sin(24 ) + + canela sin(34 ) cos(2z ) cos(4 ) sin(24 ) , canela sin(34 )2sin(z ) cos(24 ) + + cos(z ) cos(4 )anca cos(24 ) + sin(z )anca sin(24 ) + cos(z )dist cos(4 ) + Rx z ) sin(24 ) + Rcy4 = , canela cos(34 ) sin(2z ) cos(4 ) cos(24 ) + canela cos(34 )cos( 2 z ) cos(24 ) + + canela sin(34 ) sin(2z ) cos(4 ) sin(24 ) + canela sin(34 )cos( 2 + sin(z ) cos(4 )anca cos(24 ) , cos(z )anca sin(24 ) + sin(z )dist cos(4 ) + Ry Rbx4 = cos(z )dist cos(4 ) + Rx Rby4 = sin(z )dist cos(4 ) + Ry Rjx4 = cos(z ) cos(4 )anca cos(24 ) + sin(z )anca sin(24 ) + cos(z )dist cos(4 ) + Rx Rjy4 = sin(z ) cos(4 )anca cos(24 ) , cos(z )anca sin(24 ) + sin(z )dist cos(4 ) + Ry Rpx4 = ,canela cos(34 ) cos(z ) cos(4 ) cos(24 ) , canela cos(34 ) sin(z ) sin(24 )+ +canela sin(34 ) cos(z ) cos(4 ) sin(24 ) , canela sin(34 ) sin(z ) cos(24 )+ + cos(z ) cos(4 )anca cos(24 ) + sin(z )anca sin(24 ) + cos(z )dist cos(4 ) + Rx Rpy4 = ,canela cos(34 ) sin(z ) cos(4 ) cos(24 ) + canela cos(34 ) cos(z ) sin(24 )+ +canela sin(34 ) sin(z ) cos(4 ) sin(24 ) + canela 2 (34 ) cos(z ) cos(24 )+ + sin(z ) cos(4 )anca cos(24 ) , cos(z )anca sin(24 ) + sin(z )dist cos(4 ) + Ry B.1.4 Restric~oes devidas ao contacto com o solo O estado de cada perna e descrito por um e so um dos subsistemas indicados. A supercie de apoio e matematicamente descrita por y = %(x) 103 N~ao existe contacto com o solo ( N3 = 0 Fa3 = 0 ( N4 = 0 Fa4 = 0 Contacto sem escorregamento no ponto (a,b) em que b = %(a) ( ( Rpx3 = a Rpy3 = b Rpx4 = a Rpy4 = b Contacto com escorregamento ( Fa3 = D N3 Rpy3 = %(Rpx3) ( Fa4 = D N4 Rpy4 = %(Rpx4) B.2 Sistema discretizado para resoluc~ao computacional B.2.1 Equac~oes de Newton de rotac~ao e translacc~ao Corpo 8 > > < > > : t2 mcp2 (Tx3[i] + Tx4[i]) , Rx [i , 1] + 2Rx [i] + Rx [i + 1] = 0 t mcp2 (Ty3 [i] + Ty4 [i] , mcp g ) , Ry [i , 1] + 2Ry [i] + Ry [i + 1] = 0 t Mcp [i] , z [i , 1] + 2z [i] + z [i + 1] = 0 Icp 104 Perna 3 8 > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > : t2 (Tjx3[i] , Tx3[i]) , Rax3 [i , 1] + 2Rax3 [i] + 1 anca cos(z [i + 1] + 23[i + 1])+ ma 2 +dist cos(z [i + 1]) , Rx[i + 1] = 0 t2 (Tjy3 [i] , Ty3 [i] , mag ) , Rax3 [i , 1] + 2Rax3 [i] + 1 anca sin(z [i + 1] + 23[i + 1])+ ma 2 +dist sin(z [i + 1]) , Ry [i + 1] = 0 t2( versI3aMa3 , versI3cpMcp ) , 23[i , 1] + 223[i] + 23[i + 1] = 0 t2 (Fa3[i] , Tjx3 [i]) , Rcx3 [i , 1] + 2Rcx3 [i] , 1 canela(cos(z [i + 1]) cos(23[i + 1]+ mc 2 +33[i + 1]) , sin(z [i + 1]) sin(23[i + 1] + 33[i + 1])) + anca cos(z [i + 1] + 23[i + 1])+ +dist cos(z [i + 1]) , Rx[i + 1] = 0 t2 (N3[i] , Tjy3 [i] , mc g ) , Rcx3 [i , 1] + 2Rcx3 [i] , 1 canela(sin(z [i + 1]) cos(23[i + 1]+ mc 2 +33[i + 1]) + cos(z [i + 1]) sin(23[i + 1] + 33[i + 1])) + anca sin(z [i + 1] + 23[i + 1])+ +dist sin(z [i + 1]) , Ry [i + 1] = 0 t2( versI3cMc3 , versI3aMa3 ) , 33[i , 1] + 233[i] + 33[i + 1] = 0 Perna 4 8 > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > : t2 (Tjx4[i] , Tx4[i]) , Rax4 [i , 1] + 2Rax4 [i] , 1 anca cos(z [i + 1] , 24[i + 1]), ma 2 ,dist cos(z [i + 1]) , Rx[i + 1] = 0 t2 (Tjy4 [i] , T43[i] , mag ) , Rax4 [i , 1] + 2Rax4 [i] , 1 anca sin(z [i + 1] , 24[i + 1]), ma 2 ,dist sin(z [i + 1]) , Ry [i + 1] = 0 t2( versI4aMa4 , versI4cpMcp ) , 24[i , 1] + 224[i] + 24[i + 1] = 0 t2 (Fa4[i] , Tjx4 [i]) , Rcx4 [i , 1] + 2Rcx4 [i] + 1 canela(cos(z [i + 1]) cos(24 [i + 1], mc 2 +34[i + 1]) + sin(z [i + 1]) sin(24[i + 1] + 34[i + 1])) , anca cos(z [i + 1] , 24[i + 1])+ ,dist cos(z [i + 1]) , Rx[i + 1] = 0 t2 (N4[i] , Tjy4 [i] , mc g ) , Rcx4 [i , 1] + 2Rcx4 [i] + 1 canela(sin(z [i + 1]) cos(24[i + 1]+ mc 2 +34[i + 1]) , cos(z [i + 1]) sin(24[i + 1] + 34[i + 1])) , anca sin(z [i + 1] , 24[i + 1]), ,dist sin(z [i + 1]) , Ry [i + 1] = 0 t2( versI4cMc4 , versI4aMa4 ) , 34[i , 1] + 234[i] + 34[i + 1] = 0 105 B.2.2 Equac~oes dos momentos de forca 8 > > > > > > > > > > > > > > < > > > > > > > > > > > > > > : Mcp[i] , P4j=3 [(Rbxj [i] , Rx[i])Tyj [i] + (Rbyj [i] , Ry [i])Txj[i]] = 0 Ma3[i] , [(Rbx3[i] , Rax3[i])(,Ty3[i]) + (Rby3 [i] , Ray3[i])(,Tx3[i])], ,[(Rjx3[i] , Rax3[i])Tjy3[i] + (Rjy3[i] , Ray3[i])Tjx3[i]] = 0 Mc3[i] , [(Rjx3[i] , Rcx3[i])(,Tjy3[i]) + (Rjy3[i] , Rcy3 [i])(,Tjx3[i])], ,[(Rpx3[i] , Rcx3[i])N3[i] + (Rpy3[i] , Rcy3 [i])Fa3[i]] = 0 Ma4[i] , [(Rbx4[i] , Rax4[i])(,Ty4[i]) + (Rby4 [i] , Ray4[i])(,Tx4[i])], ,[(Rjx4[i] , Rax4[i])Tjy4[i] + (Rjy4[i] , Ray4[i])Tjx4[i]] = 0 Mc4[i] , [(Rjx4[i] , Rcx4[i])(,Tjy4[i]) + (Rjy4[i] , Rcy4 [i])(,Tjx4[i])], ,[(Rpx4[i] , Rcx4[i])N4[i] + (Rpy4[i] , Rcy4 [i])Fa4[i]] = 0 B.2.3 Restric~oes devidas ao contacto com o solo O estado de cada perna e descrito por um e so um dos subsistemas indicados. A supercie de apoio e matematicamente descrita por y = %(x) N~ao existe contacto com o solo ( ( N3[i] = 0 Fa3[i] = 0 N4[i] = 0 Fa4[i] = 0 Contacto sem escorregamento no ponto (a,b) em que b = %(a) 8 > ,canela(cos(z [i + 1]) cos(33[i + 1] + 23[i + 1]) + sin(z [i + 1]) sin(33[i + 1] + 23[i + 1]))+ > > > < +anca cos(z [i + 1] , 23[i + 1]) + dist cos(z [i + 1]) + Rx [i + 1] , a = 0 > > ,canela(sin(z [i + 1]) cos(33[i + 1] + 23[i + 1]) , cos(z [i + 1]) sin(33[i + 1] + 23[i + 1]))+ > : +anca sin(z [i + 1] , 23[i + 1]) + dist sin(z [i + 1]) + Ry [i + 1] , b = 0 106 8 > ,canela(cos(z [i + 1]) cos(34[i + 1] + 24[i + 1]) + sin(z [i + 1]) sin(34[i + 1] + 24[i + 1]))+ > > < +anca cos(z [i + 1] , 24[i + 1]) + dist cos(z [i + 1]) + Rx [i + 1] , a = 0 > > ,canela(sin(z [i + 1]) cos(34[i + 1] + 24[i + 1]) , cos(z [i + 1]) sin(34[i + 1] + 24[i + 1]))+ > > : +anca sin(z [i + 1] , 24[i + 1]) + dist sin(z [i + 1]) + Ry [i + 1] , b = 0 Contacto com escorregamento 8 > > > > > > < > > > > > > > : Fa3[i] , D N3[i] = 0 8 > > > > > > < > > > > > > : Fa4[i] , D N4[i] = 0 ,canela(sin(z [i + 1]) cos(33[i + 1] + 23[i + 1]) , cos(z [i + 1]) sin(33[i + 1] + 23[i + 1]))+ +anca sin(z [i + 1] , 23[i + 1]) + dist sin(z [i + 1]) + Ry [i + 1], ,%(,canela(cos(z [i + 1]) cos(33[i + 1] + 23[i + 1])+ + sin(z [i + 1]) sin(33[i + 1] + 23[i + 1]))+ +anca cos(z [i + 1] , 23[i + 1]) + dist cos(z [i + 1]) + Rx[i + 1]) = 0 ,canela(sin(z [i + 1]) cos(34[i + 1] + 24[i + 1]) , cos(z [i + 1]) sin(34[i + 1] + 24[i + 1]))+ +anca sin(z [i + 1] , 24[i + 1]) + dist sin(z [i + 1]) + Ry [i + 1], ,%(,canela(cos(z [i + 1]) cos(34[i + 1] + 24[i + 1])+ + sin(z [i + 1]) sin(34[i + 1] + 24[i + 1]))+ +anca cos(z [i + 1] , 24[i + 1]) + dist cos(z [i + 1]) + Rx[i + 1]) = 0 107 Bibliograa 108 [1] K. S. FU, ROBOTICS: Control, Sensing, Vision, and Intelligence. McGraw-Hill Book Company [2] Davis J Manko, A General Model of Legged Locomotion on Natural Terrain. Kluwer Academic Publishers [3] Said M Megahed, Principles of Robot Modelling and Simulation. Wiley Publishers [4] Shin-Min Song, Kenneth J Waldron, Machines That Walk. The MIT Press [5] Yangsheng Xu, Takeo Kanade, Space Robotics: Dynamics and Control. Kluwer Academic Publishers [6] Marc H. Raibert, Robotics Science (Cap 16). MIT Press, Cambridge, Massachusetts [7] Vijay R. Kumar e Kenneth J. Waldron, Robotics Review 1, pages 243266. MIT Press, Cambridge, Massachusetts [8] Alban Pobla, Mechanics of Articulated Legs: Force and Position Control. [9] Alban Pobla, Mecanique de la Locomotion Terrestre. [10] U. Schmucker, A. Schneider e T. Ihme, Six-Legged Robot for Service Operations. Fraunhofer Institute for Factory Operation and Automation, Magdeburg, Germany [11] U. Schmucker, A. Schneider,T. Ihme, E. Dejvanin, K. Savitsky Force Control in Locomotion of Legged Vehicle and Body Movement for Mounting Operations. Fraunhofer Institute for Factory Operation and Automation, Magdeburg, Germany [12] Paul Alexandre, Thomas Parvais, Andre Preumont, Active Suspension of a Walking Machine. Universite Libre de Bruxelles [13] Paul Alexandre, Andre Preumont, On the Gait Control of a Six-Legged Walking Machine. Universite Libre de Bruxelles [14] Qiu Xiding, Gao Yimin, Zhuang Jide, Analysis of the Dynamics of SixLegged Vehicle. the International Journal of Robotics Research, Vol. 14, No.1, February 1995, pp.1-8 [15] Alonso e Finn, Fsica um curso universitario (Vol I). Editora Edgard Blucher Ltda. 109 [16] Herbert Goldstein, Classical Mechanics (Chapter 1). Addison-Wesley Publishing Company [17] Dare A. Wells, Theory and Problems of Lagrangian Dynamics. McGrawHill Book Company [18] D J van Wyk, J Spoelstra, J H de Klerk, Mathematical Modelling of the Interaction Between a Tracked Vehicle and the Terrain. Appl. Math. Modelling 1996, Vol. 20, November [19] Kevin M Lynch, Matthew T Mason, Pulling by Pushing, Slip With Innite Friction, and Perfectly Rough Surfaces. the International Journal of Robotics Research, Vol. 14, No.2, April 1995, pp.174-183 [20] David C Kay, Tensor Calculus. McGraw-Hill Book Company 110