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

Documentos relacionados