Obtenção Automática do Modelo Dinâmico de...

Preview:

Citation preview

Obtenção Automática do Modelo Dinâmico deManipuladores a partir do Projeto CAD

Douglas Aurélio MarquesMário Fernando Montenegro Campos

José de Siqueira

Departamento de Ciência da ComputaçãoUniversidade Federal de Minas Gerais - UFMG

Av. Antônio Carlos, 6627 31270-010 Belo Horizonte, MG - Brasildouglas@dcc.ufmg.brmario@dcc.ufmg.brze@dcc .ufmg.br

Abstract: Tools that were designed to automatically generate dynamic model for a robot need as inputdata physical and geometrical parameters that describe the robot's structure. This work describes thedesign of a system that automatically recovers and computes those parameters from AutoCAD robotdesigns . The output is then used by an automatic generator of dynamic model called GAMDRI, whichfinally produces the dynamic model of the robot.

Resumo: Ferramentas que geram o modelo dinâmico para robôs de forma automática precisam rece-ber como dados de entrada parâmetros físicos e geométricos que descrevem a estrutura do robô . Estetrabalho descreve o projeto e a implementação de um sistema que extrai e calcula esses parâmetros depr6jetos de manipuladores realizados em AutoCAD. A saída é utilizada pelo GAMDRI, que é um ge-rador automático de modelos dinâmicos de robôs , para produção final do modelo dinâmico.

1. IntroduçãoDe maneira geral, pode-se dizer que um sistema ro-bótico é constituído de quatro subsistemas [Craig(1989)]: o manipulador e seus sensores proprio-ceptivos, o órgão -terminal , sensores externos e ocontrolador.

O presente trabalho encontra-se no contexto doprojeto do sub-sistema do manipulador com auxílio deferramentas computacionais. Em particular, o objetivoé a obtenção automática dos parâmetros do modelodinâmico, e por conseguinte, do modelo cinemático.Esses modelos são fundamentais, pois todas as demaisetapas do projeto dependerão deles .

Uma das primeiras fases do projeto de um mani-pulador é o projeto mecânico, que é realizado atravésde ferramentas CAD. Neste ponto estão disponíveis amaior parte das informações que compõem os mode-los cinemático e dinâmico. Seria, portanto, de funda-mentaI importância extrairern-se esses parâmetrosautomaticamente do projeto CAD, e transferi-los di-retamente para a ferramenta que calcula os' modelos.Isso não apenas minimizaria erros , mas também viria

a permitir otimizações no propno projeto mecânicovisando otimizar tais modelos.

O presente trabalho apresenta o desenvolvimentoe a implementação de um sistema que automatica-mente produz os modelos cinemáticos e dinâmicosapós ter extraído diretamente do projeto mecânico, emAutoCAD, os parâmetros geométricos e físicos.

As equações cinemáticas e dinâmicas de um ma-nipulador são de grande complexidade e a obtençãomanual estaria sujeito a erros e imprecisões, daí agrande vantagem na utilização de ferramentas com-putacionais também para este fim. Neste trabalho uti-liza-se o GAMDRI - Gerador Automático de Mo-delos Dinâmicos de Robôs Industriais [Marques-Siqueira (1996)].

.2. O Modelo CinemáticoUma das etapas para o desenvolvimento do modelodinâmico é a obtenção do modelo cinemático, que de- .fine os relacionamento entre juntas. e elos do meca-nismo. Esse relacionamento é descrito por um con-junto de transformações homogêneas, cujos elementossão função de parâmetros do mecanismo denominados

483

D-H (Denavit-Hartenberg) [Craig (1989), Paul(1986)] (ai, ai, 8i e di na matriz abaixo):lco, e. - cos a; sen 8; sen a; sen 8; a. co, e.jHA = sen 8; cos a; cos 8; - sen a; cos 8; ai sen 8;, O sen ai cos a; d;

O O O 1

Esta s transformações servirao para representar rota-ções e translações relativas realizadas pelos elos ejuntas do manipulador. Portanto, no modelo dinâmico,os termos referentes a posição dos elos dependerão domodelo cinemático.

O fato do projeto ser realizado em uma ferra-menta de CAD vem facilitar a obtenção destes parâ-metros, porém existem alguns pontos que devem serobservados e serão discutidos a seguir.

2.1. Obtenção Automática do Modelo CinemáticoPara se obterem os parâmetros físicos e geométricosde robôs através de modelos projetados em AutoCAD,foi desenvolvido um sistema em AutoLISP - dialetode LISP utilizado pelo AutoCAD. Através de intera-ção mínima com usuário e da análise da estrutura físi-ca do robô, esse sistema produz um arquivo que podeser utilizado pelo GAMDRI para posterior geração domodelo dinâmico do robô . A linguagem AutoLISPune a estrutura de programação LISP com as facilida-des embutidas no AutoCAD. Ela possui uma extensahiblioteca de funções para a análise estrutural de mo-delos em três dimensões.

Inicialmente deverá ser escolhido um sistema decoordenadas de referência. O usuário entrará com umaseqüência de retas representando os eixo s das juntasdo manipulador e o sentido positivo de rotação. Alémdisso, deve-se marcar o referencial da base do mani-pulador (O). Com base nessas informações, serão de-finidos os referenciais de cada junta e então calcula-dos os quatro parâmetros D-H.

2.2. Obtenção dos Parâmetros D-HDos quatro parâmetros, dois (ai, ai ), se referem à es-trutura do .elo e dois (8i e di ), ao relacionamento como próximo elo da cadeia cjnernática. Para se extrai-rem esses parâmetros, primeiramente, deve-se esta-belecer o eixo z do referencial O como se fosse maisum eixo de junta (junta O). Os parâmetros D-H sãocalculados para todas as juntas i para i > O. Calcula-se, ent ão, a normal comum a todas as juntas consecu-tivas . Feito isto, pode-se iniciar o cálculo de cada pa-râmetro individualmente. .

A solução analítica para se determinar a normalentre dois adjacentes é bastante complexa, re-sultando em um número muito grande de termos. Aexpressão correspondente é muito complicada para serescrita em Lisp , que disso possui a característica de

notação pré-fixada de operadores. Portanto, decidiu-se aplicar uma abordagem numérica à resolução doproblema da normal comum.

O algoritmo adotado baseia-se no fato de que ocomprimento do segmento da normal entre os pontosde interseção é igual à menor distância entre as duasretas . Esse procedimento é dividido em três partes: Aprimeira move P e Q simultaneamente em uma dire-ção tal que esses se aproximem utilizando-se o mesmoparâmetro de deslocamento. Deve-se notar que exige-se no mínimo um deslocamento de P e Q para quehaja alguma variação na distância se P e Q puderemse aproximar mais. Dessa forma, o algoritmo não sóconverge mais rapidamente, mas também garante quese o novo incremento for menor que a precisão espe-cificada, então uma solução suficientemente boa terá .sido encontrada. Isso também é utilizado nas outrasduas partes do algoritmo. A segunda parte tenta apro-ximar P de Q movendo-o ao longo de sua reta emuma direção que o aproxime de Q. A terceira partesegue o mesmo algoritmo da segunda, porém tentandoaproximar Q de P. A figura I mostra este processo.

m

f

Figura J - Determinação da normal comum.

Calculados os pontos que a normal interceptapara cada par de eixos consecutivos, ela est á comple-tamente determinada e poderá ser usada para o cálculodos parâmetros D-H, bem como para o assinalamentodos referenciais de coordenadas. Resta, agora, aplicar. o algoritmo descrito sucessivamente a cada par de ei-xos de juntas consecutivas do manipulador. O próxi-mo passo consiste em se determinar a origem do refe-rencial de cada junta. Como pode ser observado na fi-gura 2, P, estabelece a origem do i-ésimo referencial.

Estabelecida a origem do i-ésimo referencial , énecessário definir seus eixos x., )li e z, .0 eixo Zi tem adireção do eixo da i-ésima junta e seu sentido é dadopelo sentido de rotação da junta correspondente pelaregra da mão direita. O eixo x, tem a direção e o sen-tido do vetor dado pela diferença (Qi+/ - Pi) e o eixo)li é dado pelo produto vetorial Zi x x.. A figura 2

484

mostra este assinalamento. Pas sa-se, então à extraçãodos parâmetros O-H.

Cálculo do Parâmetro aiO parâmetro (I; é o comprimento da normal comumaos eixos das juntas i e (i + /) . Pode-se verificar nafigura 2 que o valor de (l i é a distância entre os pontosPie Q ;+I.

Cálculo do Parâmetro a;Este parâmetro é o ângulo entre o eixo da i-ésimajunta e o ei xo da (i+l)-ésima juta. Pode ser obtidodiretamente utilizando a função ANGLE do AutoLISP,que calcula o ângulo entre dois vetores.

Cálculo do Parâmetro diO parâmetro d, é a distância, ao longo do eixo da juntai. entre as duas normais comuns aos respectivos eixosi. i-I e i .i«l . Esse pa râmetro será a variável de juntase a junta for prisrn ática. No caso de juntas de revo-lução, ele é definido como a distância entre os pontosQ; e r;

Cálculo do Parâmetro 8iEste parâmetro é o ângulo entre os eixos x, e Xi_I . Parajuntas de revolu ção , 8 i é a variável de junta. No casode junta prism ãtica, 8 i é constante, pois nesse caso oângulo entre x, e Xi_/ é fixo.

i- ésimo eixo

Q,

P,

vI

Figura 2 - Assinalamento de um referencial

2.3. Algoritmo para o cálculo dos parâmetros D-HO usuário deve selecionar os elos do modelo em se-qüência, incluindo o elo O(base). Para cada elo deve-se entrar com o eixo de rotação da junta correspon-dente, representado por um ponto e um vetor cuja di-reção dá o sentido positivo de rotação para a juntapel a regra da mão direita. O algoritmo que faz a cargadesses dados é o seguinte:

E : = lD : = lista v a z i a ;Enquanto houver mais elos

Seleciona elos;inclui em lD;Lê eixo; inclui em E;

Dados de entradaEm seguida, o usuário deve entrar com os nomes dasvari áveis do problema: Devem ser digitados três no-mes, um para a variável de junta (8 , juntas de revolu-ção) , um para sua derivada e uma para sua derivadasegunda. Deve-se notar que tais nomes de variáveisnão influenciam no cálculo dos parâmetros, mas sãoutilizados durante a escrita do arquivo de saída.

Os dados de entrada servem para construir duaslistas . A lista E contém todos os eixos das juntas dorobô, incluindo o eixo do referencial zero, em ordemcre scente do número da junta A lista 10 contém todosos identificadores dos elos selecionados, em ordemcrescente do número do elo , incluindo o elo O: É ge-rada uma lista E, partir da lista E sendo que o i-ésimoelemento de E, é o par constituído pelos i-ésimo e do(i- I)-é simo elementos de E.

E f- lista de eixos de j un t a s ;Ep f- vazio;Enquanto E possuir mais de 1 elemento

el f- primeiro elemento de E;e 2 f- s egundo elemento de E;colocar o elemento (el e 2) no fi-nal da lista Epretirar o primeiro elemento de E.

A normal comum aos eixos das juntas de número i ei+1 as corta nos pontos P, e Q i+1 respectivamente. Sãocalculados os pontos P, e Qi para cada junta. Paraisso, a lista E, é percorrida em duas etapas:

I) Para el, o primeiro elemento de E, (eixo z do refe-rencial zero e eixo z dajunta 1):

Zo f- primeiro elemento de el ;ZI f- segundo elemento de e l'Se Zo for paralelo a ZI' (dI f- O)

Po f- o r i g em do referencial O;QI f- proj eção ortogonal de Po

sobre o eixo Zl ;Senão , utilizar o algoritmo danormal comum para o cálculo dospontos Po e Ql .

Esta primeira etapa é uma preparação para seiniciar o cálculo dos parâmetros O-H. Isso porque osparâmetros D-H para um elo necessitam de dados doelo anterior. O referencial de coordenadas Oé utiliza-do como sistema global de referência .

A segunda etapa é a etapa mais geral e servepara o cálculo dos parâmetros para os elos de 1 até n -1, onde n é o número de graus de liberdade. A figura3 ilustra a relação entre o (i-1 )-ésimo e o i-ésimoeIXO.

485

Xi-1 f-

Yi-1 f-

°i-1 f-ai-l f-

2) Para e., o i-ésimo elemento de EI" i > i (eixo z dajunta i-i e eixo z da junta i)

Zi-1 f- o primeiro elemento de ei(eixg l Z da junta i-I);

Zi f- segundo elemento de eiZ da junta i);

Se z ; / / Zi-1 (d1 f- O)

Pi-1 f- .Qi -1;Qi f- proj eção ortogonal de Pi-1

sobre o eixo da i-ésimajunta (Zi)

Senão, calcular Pi-1 e Qi pelo algoritmoda normal comum entre os eixos Zi-1 e z ,

Cálculo dos parâmetros D-H e o referencial para o eloi-I :

Qi - Pi-1Zi-1 X Xi-1Qi-1distância ( Pi -1, Q;';

d i-1 f- distância( Pi- 1 , Qi-1};ai f- ângulo entre 2i-1 e Zi;

dem ser calculados a partir do desenho e de informa-ções contidas na base de dados de projeto. O GA-MDRI, em particular, o utiliza a formulação L-E-Lagrange-Euler que, embora não sendo computacio-nalmente a mais efici ente, permite obter o modelo di-nâmico de um manipulador de maneira sistemática erelativamente simples.

A formulação L-E baseia-se no Lagrangiano,que descreve a diferença entre a energia cinética e aenergia potencial de um sistema:

L=K-P

A energia cinética, K, e a energia potencial, P, podemser expressas no sistema de coordenadas que for maisconveniente. Normalmente, utiliza-se o sis tema decoordenadas da base do manipulador. O relaciona-mento entre uma força ou um torque ao Lagrangiano édescrito pela equação diferencial de Lagrange-Euler:

Figura 2 - Parâmetros D-H e referenciais,

Dados de SaídaO programa produz como saída um arquivo com oformato do arquivo de entrada para o GAMDRI.

(I)Ti =D(q(t»+h(q(t),q(t»)+c(q(t) )

onde Ti é o valor da força (ou torque) aplicado à juntai, q, são as coordenadas generalizadas do manipulador.Sem perda de generalidade, a discussão a seguir con -sidera manipuladores com juntas de revolução. Por-tanto Ti será o torque na i-ésima junta e qi correspon-derá a 8i - o ângulo da i-ésimajunta.Na forma matricial, a Formulação de Lagrange-Eulerpode ser expressa por:

onde D é uma matriz simétrica (n x n) de coeficientesinerciais relacionados com a aceleração, h é o vetor(n x I) de força centrífuga e de Coriolis e c é o vetorde força gravitacional (n x i) .

A descrição completa do modelo pode ser en-contrado em [Fu (1987)] .

z ,

Q

......

eixo ieixo i-I

-'

3. o 'Modelo DinâmicoA modelagem dinâmica para manipuladores robóticosé um problema que tem sido amplamente estudado epossui várias formulações, como a de Lagrange-Euler,Lagrange Recursiva, Newton-Euler e a do Princípiode D'Alembert Generalizado [Fu et. AI (1987)] . Des-tas, as mais utilizadas são as de Lagrange-Euler e deNewton-Euler.

Essas formulações envolvem diversos parâme-tro s físicos (e.g. massa) e geométricos (e.g. descriçõesdos elosr-A maioria desses parâmetros podem ser ob-.tidos diretamente de desenhos do projeto, outros,como a massa dos elos (incluindo sistemas de trans-missão , atuadores e fiação), coeficientes de atrito, po-

3.1. Parâmetros Físicos de um ManipuladorAlém do modelo cinemático, que aparece nos termosda equação (I) , é necessário obterem-se os parâmetrosfísicos do manipulador. Estes parâmetros são os mo-mentos de inércia (Ir" I)')" I,,), os produtos de inércia(Ix)', l w I)'J, e os primeiros momentos ( mx, m)', mz) .Esses parâmetros entram no modelo dinâmico atravésda matriz de tensores de inércia li'. Os parâmetros ffsico s-para cada elo, a saber a

d . ' \ ' dmassa, os momentos e mercia e o centro e massa.podem ser obtidos diretamente AutoCADda função AutoLISP ap_get_rnas'sprop.

. Utilizando tais facilidades, selecionar oselos e associá-los a seus referenciais para em seguida

486

se determinar suas propriedades físicas relevantespara a modelagem dinâmica.

4. Obtenção Automática do Modelo DinâmicoDe posse do modelo cinemático e dos parâme-

tros físicos do manipulador, pode-se calcular automa-ticamente o modelo dinâmico. Essa etapa será realiza-da pelo gerador de modelos dinâmicos.

O GAMORI [Marques-Siqueira (1996)] foi des-envolvido em SICS-tus Prolog. A estrutura de dadosbásica utilizada em Prolog é a lista e tanto vetorescomo matrizes são representados por listas . Para a ge-ração do modelo dinâmico para um robô é necessárioum grande número de operações sobre matrizes, comosoma, multiplicação e cálculo do traço. O Prolog, noentanto, não fornece uma maneira explícita de se ope-rar com os elementos de uma matriz, ou mais especi -ficamente , não possui mecanismos de indexação devetores ou matrizes. Isso não impede que se possaimplementar essas estruturas de dados, pois pode-seoperar seqüencialmente em uma lista, o que na maio-ria dos casos, elimina a necessidade de indexação.Esse é o caso da maioria das operações realizadas so-bre matrizes, em que os elementos são percorridos emuma determinada seqüência.

O gerador utiliza lógica de combinadores, o quesimplifica a implementação de algoritmos de caracte-rística funcional em Prolog [Siqueira et. aI. (1986)] .Combinadores são aplicados a conjuntos ou a seqü ên-cias de objetos. O result ado de sua aplicação emconjuntos resulta em sua combinação através de apli-cações de funções binárias ou unárias . No caso espe-cífico de Prolog, as seqüências de objetos citadas sãoas listas .

Dados de entradaO nome das variáveis de junta que aparecem na pri-meir a linha do arquivo devem se repetir na lista de pa-râmetros de O-H seguindo o seguinte critério. Se a i-ésima junta for de revolu ção, o parâmetro e da i-ésima lista de parâmetros O-H deve ser o nome da i-ésima variável. Se a i-ésim a junta for prismática, o. parâmetro d da i- ésima lista de parâmetros O-H deveser o nome da i-ésima variável.

Dados de saídaOs arqui vos de saída são gerados pelo programa emum formato legível pelo programa Mathematica"Foi escolhido esse formato para que o usuário tenha aflexibilidade de trabalhar os dados de saída, caso ne-cessário , dentro do ambiente fornecido por aquela fer-ramenta. Utilizando o Mathematicat v, o usuário podesimplificar os resultados e fazer operações com osmesmos.

5. ConclusãoEste trabalho descreveu o desenvolvimento de umaferramenta para a obtenção automática dos parâmetrosnecessários à obtenção do modelo dinâmico de mani-puladores robóticos a partir de modelos de robôs pro-jetados em AutoCAO. A interação do usuário com oprograma ocorre através do fornecimento dos dadosnecessários. A tarefa de se determinar o posiciona-mento dos eixos das juntas foi deixada para o usuário,ou seja , ele deve saber, a partir de seu projeto, qual oposicionamento de cada eixo.

Uma da restrições da implementação descritaaqui, relaciona-se com a geração de arquivos de en-trada para o GAMORI apenas para rnanipuladores quepossuem somente juntas de revolução. As modifica-ções necessárias para o sistema funcione tambémpara juntas prismáticas não é tárefa difícil. Essas alte-rações deverão ser realizadas oportunamente.

Um outro ponto que deve ser considerado refere-se ao tratamento dos erros nos cálculos dosparâmetro s. O AutoLISP disponibiliza as imprecisõesresultantes do projeto em AutoCAO em todas asfunções de análise estrutural que fornece . Entretanto,nesta implementação do sistema não é feita nenhumatentativa de se incluir tais erro s nos cálculos. Osvalores retornados vêm sempre em listas nos quais oprimeiro elemento é o valor calculado e o segundoelemento é a imprecisão no cálculo. Como exemplo,a função getmassprop retoma uma lista deparâmetros estruturais (massa, momentos de inércia,etc .), sendo que cada parâmetro é retornado com seurespectivo erro, em uma lista . A falta de tratamentona propagação de erros nos cálculos feitos peloprograma, embora restrinja a sua aplicabilidadeimediata, pode ser facilmente sanada escrevendo-se asrotinas específicas.

A convergência do algoritmo da normal comummostrou-se bem rápida. A complexidade do programaé determinada por este algoritmo, que deverá serusado uma vez para cada par de eixos de junta. Seria.interessante uma comparação entre o tempo que oAutoLISP leva para encontrar a normal a partir daexpressão que implementa a solução analítica e otempo de convergência do algoritmo.

Apêndice 1 - Exemplo.

O sistema desc rito foi utilizado para se determinar os.modelos cinemáticos e dinâmicos de um manipuladorsimples, com 3 graus de liberdade mostrado na figura3. Embora o sistema possa rodar totalmente em umamáquina tipo PC, na presente implementação foram 'utilizadas duas plataformas. Em uma plataforma tipoPC foi realizado o projeto mecânico em AutoCAO, eem uma estação de trabalho Sun, rodou-se o Mathe-matic a e GAMORI.

487

--

Figura 3 - Manipulador de 2 graus de liberdade.

As variáveis são 82 (t2) e 8 1 (t I), que são especifica-dos pelo usuário.

Sessão típica:

% Variáveis ·da s j u n t a s :[tl,t2] ,[v1,v2] t

[aI , a2],% Parâmetros para cada junta (alfa , a,d , teta) :[ [O, i . O, tl] t [O , r . O, t2] ]% Momentos de I n é r c i a :[Ixx , I xy , Ixz, Iyy , I y z , Izz]

O,O, ]

% Massa dai-ésima junta :[m1 !m2] ,% Centros de massa :[ . [- 1 /2, O, O] , [-1/2, O, O] i .% Vetor gravidade :[O, -g, O, 1] .

6. Referências

Autodesk, manuais do AutoCAD, Versão 12, 1993.

Boulos, Paulo e Camargo, Ivan , Geometria Analítica:um tratamento vetorial, 2". edição, McGraw HiiJ, SãoPaulo, 1987.

Craig, J. J., Introduction to Robotics: Mechanics andControl, 2nd• Edition, Addison Wesley, 1989 .

Fu, K.S., Gonzalez, R .C. e Lee, C.S .G., Robotics:Control, Sensing, Vision and Intelligence.McGraw-Hill, 1987.

Lcc, C. S . G., Robot Arm Dvnaniics, Departmen t ofElcctrica l and Computer Engineering, The Univcrs ityof Michigan, 1983 .

Marques, Douglas A. e Siqueira , José L. de, Gera-ç ão Simbólica e Simplificaçâo de Mode los Dinâmicosde Robôs Industriais, Rela tório Técnico, Departa-ment o de Ciência da Computação, UFMG, 1996 .

Maxwell, E. A , Coordinate Geometry with Vectors(///(1Tensors, Clare ndo n Press, Oxford, 1958 .

Paul, Richard P., Robot Manipu lators: Mathematics.Programming and Control, MIT Press , 1984.

Siqueira, 1. de, Costa P., A. E., da Mota A., J . B .,Svmboli c Coniputation Applied to Robot DynamicModeling, Proceedings of 16th International Sympo-sium on Industrial Robots, (Van Brusse l, H . ed .), IFS(Pub licatio ns) Ltd , UK, pp. 389--400, Bruxelles,1986.

Stcinbruch , AIfredo e Winterle, Paulo, GeometriaAnalítica, 2". ed ição, McGraw Hi ll, São Paulo, 1997.

Stein, Sherman K., Calculus and Analytic Geotnet ry,31<1 . edition, McGraw Hill, 1982 .

488

Recommended