Estudo das Singularidades de Robôs Manipuladores

Propaganda
1
Estudo das Singularidades de Robôs Manipuladores
usando Base de Groebner
Giovana T. S. Oliveira
Sezimária F. P. Saramago
Antônio C. Nogueira
Universidade Federal de Uberlândia Av. João Naves de Ávila, 2160 Campus Santa Mônica,
CEP 38400-902, Uberlândia, MG, e-mail: [email protected]
Resumo: Nas aplicações industriais algumas vezes os manipuladores precisam passar por
singularidades no espaço de juntas. Um manipulador com 3 juntas rotacionais (3R) pode executar a
mudança de uma postura não-singular se, e somente se, existe pelo menos um ponto em seu espaço de
trabalho que tem exatamente três soluções coincidentes do modelo cinemático inverso. Como é muito
difícil expressar esta condição diretamente do modelo cinemático, propõe-se eliminar duas variáveis de
junta do sistema, a fim de obter uma condição que dependa apenas da última variável. Para isto, uma
poderosa ferramenta algébrica é usado: a base Groebner. Neste trabalho, será apresentado o processo
de obtenção de uma superfície de separação usando esta metodologia.
1. Introdução
O estudo da robótica necessita de conhecimentos interdisciplinares, envolvendo várias áreas do
conhecimento. O conhecimento das curvas de singularidades é importante para o comando dos robôs no
espaço de trabalho. Por outro lado, existe uma relação estreita entre as propriedades cinemáticas globais
de um manipulador e a topologia dos lugares das singularidades. A geometria e a topologia das
singularidades representam um meio pertinente para a análise e a classificação das propriedades
cinemáticas dos manipuladores. Singularidades são definidas como os lugares onde o determinante da
matriz jacobiana do modelo geométrico direto (MGD) se anula, originando as equações das superfícies
que dividem o espaço de trabalho em várias regiões onde os manipuladores possuem as mesmas
propriedades. Para o estudo da topologia dos manipuladores, é necessário conhecer as equações de
separação dos vários tipos de manipuladores. Assim, este trabalho é dedicado à obtenção de uma destas
equações, através da solução de um polinômio de grau 4, em função de apenas uma das variáveis de
juntas, utilizando para tanto uma ferramenta algébrica conhecida como base de Groebner.
4
3
2 posições
2
Pontos
cúspides
Z
1
4 posições
0
-1
-2
-3
-4
0
1
2
3
4
5
ρ
Figura 2. Manipulador planar com dois
Figura 1. Manipulador com quatro ramos
segmentos.
de singularidades.
As curvas de singularidades dividem o espaço de juntas em diferentes zonas desprovidas de
singularidades denominadas aspectos. Estes resultados foram melhor esclarecidos com a descoberta em
1988 de manipuladores cuspidais (Wenger e El Omri, 1996), que podem ter mais de uma solução do MGI
no mesmo aspecto, conforme Figura 1. O espaço de trabalho é também dividido em diferentes regiões
cujo grau de acessibilidade é variável, que correspondem ao número de posições necessárias para atingir
o mesmo ponto numa região. Por exemplo, a Figura 2 mostra um manipulador planar com dois segmentos
e duas das possíveis soluções correspondentes a uma dada posição (uma ao se considerar o cotovelo para
cima e outra ao se considerar o cotovelo para baixo). Quando o determinante da matriz jacobiana pode ser
fatorado, cada fator que se anula define uma singularidade. No caso em que o determinante não se fatora,
a única singularidade será dada quando o determinante se anula. Para um manipulador com três juntas
rotacionais (3R), esta singularidade é composta por vários ramos. Burdick (1988) mostra que um
manipulador 3R cujo determinante não se fatora pode ter até quatro ramos de singularidades.
130
2
No caso dos manipuladores 3R, as singularidades no espaço de juntas podem ser obtidas
calculando-se os pontos onde o determinante da matriz jacobiana se anula. Mas, é muito difícil expressar
esta condição diretamente do modelo cinemático, assim, propõe-se eliminar duas variáveis de junta do
sistema, a fim de obter uma condição que dependa apenas da última variável. Para obter-se tal condição é
que utiliza-se as bases de Groebner que passamos a estudar.
2. Um estudo sobre as Bases de Groebner
Para permitir a utilização da base de Grobner algumas definições serão apresentadas a seguir. No
que segue k[x1, ..., xn] denota o anel de poliômios nas variáveis x1, ..., xn sobre o corpo k.
n
Definição 1: Uma ordem monomial em k[x1, ..., xn] é uma relação > em Z ≥0, ou equivalentemente,
n
uma relação no conjunto de monômios xα, α ∈ Z ≥0 , satisfazendo:
n
i) > é uma ordem total em Z ≥0.
n
ii) Se α > β e γ ∈ Z ≥0, então α + γ > β + γ.
n
n
iii) > é uma boa ordem em Z ≥0. Isto significa que todo subconjunto não vazio de Z ≥0 tem um mínimo
segundo a ordem >.
Dada uma ordem monomial > em k[x1, ..., xn] escreve-se xα > xβ se α > β.
Alguns exemplos de ordem monomial são a ordem lexicográfica (assim chamada por ser análoga
à ordem das palavras em um dicionário), que indica-se por >lex, e a ordem lexicográfica graduada,
n
indicada por >grlex, que são definidas da seguinte maneira. Dados α=(α1,...,αn) e β=(β1,...,βn) ∈ Z ≥0 temse:
i) α >lex β se, no vetor diferença α − β ∈ Z n , o termo não nulo mais à esquerda é positivo.
ii) α >grlex β se |α |=∑αi > |β |= ∑β i (i=1,..,n) ou |α | =|β | e α >lex β.
De acordo com as definições acima tem-se: (1, 2, 0) >lex (0, 3, 4), ou equivalentemente xy2 >lex y3z4, pois
α − β = (1, -1, -4). Por outro lado, (1, 2, 3) >grlex (3, 2, 0), pois |(1, 2, 3)| = 6 > |(3, 2, 0)| = 5 e (1, 2, 4)
>grlex (1, 1, 5), pois |(1, 2, 4)| = |(1, 1, 5)| = 7 e (1, 2, 4) >lex (1, 1, 5), pois α − β = (0, 1, -1).
Para outros exemplos de ordem monomial ver Cox et al (1996). Uma questão importante é como
uma ordem monomial pode ser aplicada aos polinômios. Se f=∑α (aαxα) é um polinômio em k[x1, ..., xn] e
> é uma ordem monomial então pode-se ordenar os monômios de f com respeito a >. Por exemplo, se
f=4xy2z+ 4z2-5x3+7x2z2 ∈ k[x, y, z] e a ordem lex é considerada, pode-se ordenar os termos de f em ordem
decrescente de modo que f=-5x3+7x2z2+4xy2z+ 4z2. Com relação à ordem grlex, tem-se: f=7x2z2+4xy2z 5x3+ 4z2.
Definição 2: Seja f=∑α (aαxα) um polinômio não nulo em k[x1, ..., xn] e > uma ordem monomial.
n
i) O multigrau de f é: multideg(f ) = max (α ∈ ℜ ≥0 : aα ≠ 0) (o máximo é tomado com relação a >).
ii) O coeficiente dominante de f é: LC(f ) = amultideg(f) ∈ k.
iii) O monômio dominante de f é: LM(f) = xmultideg(f) (coeficiente igual a 1).
iv) O termo dominante de f é: LT(f ) = LC(f ). LM(f ).
Considerando-se f=4xy2z+ 4z2-5x3+7x2z2 ∈ k[x, y, z] com a ordem lex, tem-se: multideg(f ) = (3, 0,
0); LC(f ) = amultideg(f) = -5; LM(f ) = xmultideg(f) =x3; LT(f ) = LC(f )LM(f ) = -5x3.
Uma ferramenta central neste estudo é o chamado algoritmo da divisão: como se faz para
polinômios de uma variável dados os polinômios f, f1, ..., fs ∈ k[x1, ..., xn], pode-se encontrar polinômios
a1, a2, ..., as, r ∈ k[x1, ..., xn] tais que f=a1f1+ ...+as fs +r.
n
Teorema 1: Algoritmo da Divisão em k[x1, ..., xn]: Fixe uma ordem monomial > em Z ≥0 e faça
F = (f1, ... , fs) ser uma s-upla ordenada de polinômios em k[x1, ..., xn]. Então, todo f ∈ k[x1, ..., xn] pode
ser escrito como: f=a1f1+ a2f2+ ...+as fs +r, onde ai , r ∈ k[x1, ..., xn], onde r = 0 ou r é uma combinação
linear, com coeficientes em k, de monômios, nenhum dos quais é divisível por algum dos LT(f1), ... ,
LT(fs). Denomina-se r de um resto de f na divisão por F. Além disso, se ai fi ≠0, então temos que multideg
(f ) ≥ multideg(ai fi).
Uma propriedade importante do algoritmo da divisão em k[x] é que o resto é unicamente
determinado, o que não ocorre em k[x1, ..., xn].
Exemplo 1: Sejam f1 = xy +1 e f2 = y2-1 ∈ k[x,y], com a ordem lex x > y. Dividir f =xy2- x por
F=(f1 , f2) e depois por F=(f2 , f1). O que ocorre? Dividindo f por f1, tem-se a1 = y e o resto r = - x - y, e
como LT(f1) e LT(f2) não dividem (- x - y), o resto final é r = - x – y. Assim, f pode ser reescrito como:
xy2-x = y(xy+1) + (0)(y2-1) +(-x-y). Agora, dividindo f por f2, tem-se a1 = x e o resto r = 0. Assim, f pode
ser reescrito como: xy2-x = x(y2-1) + (0)(xy+1) +0.
131
3
A segunda estratégia de cálculo do Exemplo 1mostra que f ∈ ⟨f1, f2 ⟩. Então, o primeiro cálculo
mostra que mesmo se f ∈ ⟨f1, f2 ⟩, ainda é possível obter um resto não nulo na divisão por F=(f1 , f2).
Assim, concluí-se que o algoritmo da divisão dado no Teorema 1 é uma generalização imperfeita de seu
equivalente em uma variável. Para remediar esta situação, ao se resolver um problema com uma coleção
de polinômios f1, ..., fs ∈ k[x1, ..., xn], é frequentemente desejável passar para o ideal I que eles geram. Isto
permite passar de f1, ..., fs a um conjunto gerador diferente para I. Pode-se ainda perguntar se existe um
conjunto gerador “bom” para I. Para tal conjunto, deseja-se que o resto r na divisão de um polinômio f
pelos geradores “bons” seja unicamente determinado e a condição r = 0 deve ser equivalente a que f
pertença ao ideal. Posteriormente será visto que as Bases de Groebner possuem estas “boas”
propriedades.
Considere o problema de descrição de Ideal: Todo ideal I ⊂ k[x1, ..., xn] possui um conjunto de
geradores finito? Em outras palavras, pode-se escrever I = ⟨f1,..., fs ⟩ para algum fi ∈ k[x1, ..., xn]?
Considere este problema para o caso de ideais monomiais. Isto exigirá um estudo cuidadoso das
propriedades destes ideais. Os resultados terão também uma aplicação para ordens monomiais. Para
começar, define-se ideais monomiais em k[x1, ..., xn].
n
Definição 3: Tem-se que I ⊂ k[x1, ..., xn] é um ideal monomial se existe um subconjunto A ⊂ Z ≥0
(possivelmente infinito) tal que I consiste de todos os polinômios que são somas finitas da forma
∑α∈Α(hαxα), onde hα ∈ k[x1, ..., xn]. Neste caso, escreve-se: I = ⟨xα :α ∈ A⟩.
Um exemplo de ideal monomial é dado por I=⟨x4y2, x3y4, x2y5⟩ ⊂ k[x,y].
Teorema 2: (Lema de Dickson) Um ideal monomial I =⟨xα :α ∈ A⟩ ⊂ k[x1, ..., xn] pode ser escrito
na forma: I=⟨xα(1),..., xα(s)⟩, onde α(1),..., α(s) ∈ A. Em particular, I tem uma base finita.
A seguir será dada uma solução do problema de descrição do ideal. Este estudo também
conduzirá as bases ideais com “boas” propriedades relativas ao algoritmo da divisão introduzido
anteriormente. A idéia chave a ser usada é, uma vez escolhida uma ordem monomial, cada f ∈k[x1, ..., xn]
tem um único termo dominante LT(f ). Então, para algum ideal I, podemos definir seu ideal de termos
dominantes como segue:
Definição 4: Seja I ⊂ k[x1, ..., xn] um ideal monomial exceto {0}.
i) Denota-se por LT(I) o conjunto dos termos dominantes dos elementos de I. Assim, LT(I )={cxα :
existe f ∈ I com LT(f)= cxα}.
ii) Denota-se por ⟨LT(I)⟩, o ideal gerado pelos elementos de LT(I ).
Tem-se visto que os termos dominantes têm uma importante regra no algoritmo da divisão. Isto traz
um ponto sutil, porém importante, relativo a ⟨LT(I)⟩: dado um conjunto gerador finito para I, por
exemplo, I= ⟨f1,..., fs⟩, então ⟨LT(f1) ,..., LT(fs)⟩ e ⟨LT(I)⟩ podem ser ideais diferentes. É verdade que
LT(fi) ∈ LT(I) ⊂ ⟨LT(I)⟩, por definição, e isto implica que ⟨LT(f1) ,..., LT(fs)⟩ ⊂ ⟨LT(I)⟩. No entanto,
⟨LT(I)⟩ pode ser estritamente maior.
Agora será mostrado que ⟨LT(I)⟩ é um ideal monomial, isto permitirá a aplicação dos resultados
anteriores. Em particular, seguirá que ⟨LT(I)⟩ é gerado por muitos termos dominantes.
Proposição 1: Seja I⊂ k[x1, ..., xn] um ideal.
(i) ⟨LT(I)⟩ é um ideal monomial.
(ii) Existem g1,..., gt ∈ I tal que ⟨LT(I) ⟩ =⟨LT(g1) ,..., LT(gt)⟩.
A Proposição 1 e o Algoritmo da Divisão são utilizados para provar a existência de um conjunto
finito de geradores para cada ideal polinomial, e assim, dar uma resposta afirmativa para o problema de
descrição do ideal. Este é o conteúdo do teorema seguinte.
Teorema 3: (Teorema da Base de Hilbert) Todo ideal I ⊂ k[x1, ..., xn] tem um conjunto gerador
finito, isto é I =⟨g1 ,..., gt⟩ para alguns g1 ,..., gt ∈ I.
A demonstração deste teorema pode ser encontrada em Cox et al (1996).
Definição 5: Fixe uma ordem monomial. Um subconjunto finito G={g1 ,..., gt } de um ideal I é dito
Base de Groebner (ou base padrão) se ⟨LT(g1) ,..., LT(gt)⟩ =⟨LT(I) ⟩.
Equivalentemente, porém mais informalmente, um conjunto G={g1 ,..., gt} ⊂ I é uma base de
Groebner se, e somente se, o termo dominante de qualquer elemento de I é divisível por um dos LT(gi).
A prova do Teorema 3 também estabelece o seguinte resultado:
Corolário 1: Fixe uma ordem monomial. Então todo ideal I ⊂ k[x1, ..., xn], exceto {0}, tem uma
base de Groebner. Além disso, qualquer base de Groebner para um ideal I é uma base de I.
132
4
Como exemplo, considere o ideal J =⟨g1 ,..., gt⟩=⟨x+y , y-z⟩. Afirma-se que g1 e g2 formam uma
base de Groebner usando a ordem lex em k[x, y ,z]. Assim, deve-se mostrar que a forma inicial de cada
elemento não nulo de J está no ideal ⟨LT(g1) , LT(g2)⟩ = ⟨x, y⟩. Isto é equivalente a mostrar que o termo
dominante de qualquer elemento não nulo de J é divisível por x ou y. Para provar isto, considere algum
f=Ag1+ Bg2 ∈ J. Supondo o contrário, ou seja, que f é não nulo e LT(f) não é divisível por x e nem y.
Então, pela definição de ordem lex, f deve ser um polinômio em z (apenas). No entanto, f desaparece no
3
subespaço linear L = V (x +z, y- z) ⊂ ℜ , já que f ∈ J. É fácil verificar que (x, y, z)= (-t, t, t) ∈ L, para
qualquer t ∈ ℜ. O único polinômio em z que desaparece em todos estes pontos é o polinômio zero, que é
uma contradição. Segue que ⟨g1, g2⟩ é uma base de Groebner para J.
Uma observação é que para ideais gerados por polinômios lineares, uma base de Groebner com
ordem lex é determinada pela forma escalonada da matriz dos coeficientes dos geradores. As bases de
Groebner para ideais em anéis polinomiais foram introduzidas em 1965 por B. Buchberger que utilizou
esta denominação em homenagem a Gröebner (1899 – 1980).
2.1. Propriedades das Bases de Groebner
Como estudado na seção anterior, todo ideal não nulo I ⊂ k[x1, ..., xn] possui uma base de Groebner.
Nesta seção, serão estudadas as propriedades das bases de Groebner e ensinado como detectar quando
uma base dada é base de Groebner. Inicialmente será mostrado que o comportamento indesejável do
algoritmo da divisão em k[x1, ..., xn], visto anteriormente, não ocorre quando a divisão é feita por
elementos de uma base de Groebner. Será provado, primeiramente, que o resto é unicamente determinado
quando se divide por uma base de Groebner:
Proposição 2: Seja G={g1, ...,gt}uma base de Groebner para um ideal I ⊂ k[x1, ..., xn] e seja f ∈
k[x1, ..., xn]. Então existe um único r ∈ k[x1, ..., xn] com as seguintes propriedades:
i) Nenhum termo de r é divisível por qualquer um dos termos LT(g1),..., LT(gt).
ii) Existe g ∈ I tal que f= g + r.
Em particular, r é o resto da divisão de f por G, não importando como os elementos de G estão
listados quando usado o algoritmo da divisão. O resto r é algumas vezes, chamado de forma normal de f.
Na verdade, as bases de Groebner podem ser caracterizadas pela unicidade do resto. Embora o resto seja
único, mesmo para uma base de Groebner, os quocientes ai produzidos pelo algoritmo de divisão, f =a1f1+
a2f2+ ...+as fs +r, podem mudar se forem listados os geradores em uma ordem diferente. A seguir, é dado
um critério para saber quando um polinômio está em um ideal.
Corolário 2: Seja G={g1, ...,gt}uma base de Groebner para um ideal I ⊂ k[x1, ..., xn] e seja f ∈ k[x1,
..., xn]. Então f ∈ I se, e somente se, o resto da divisão de f por G for zero.
A propriedade dada no corolário 2 é algumas vezes tida como a definição da base de Groebner, já
que ela é verdadeira se, e somente se, ⟨LT(g1) ,..., LT(gt)⟩=⟨LT(I)⟩. Usando o corolário 2, obtém-se um
algoritmo para resolver o “problema de membro ideal”, desde que seja conhecida uma base de Groebner
G para o ideal em questão, necessita-se apenas calcular o resto com respeito a G para determinar se f ∈ I.
Será usada a seguinte notação para o resto:
Definição 6: Escreve-se f F para o resto da divisão de f pela s-upla ordenada F = ( f1, ...,fs). Se F é
uma base de Groebner para ⟨f1,..., fs⟩, então pode-se considerar F como um conjunto (sem qualquer
ordem particular) pela proposição 2.
F
Por exemplo, com F =(x2y –y2, x4y2 –y2) ⊂ k[x,xy], usando a ordem lex, tem-se: x5 y = xy 3 (resto
da divisão de f =x5y pela base F). Já com o algoritmo da divisão, tem-se: f = x5y =( x3 +xy)( x2y - y2) + 0 (
x4y2 - y2) + xy3.
A seguir, será discutido como determinar se um dado conjunto de gerador de um ideal é uma base
de Groebner. Como já foi mencionado, para que {f1, ...,fs} seja uma base de Groebner é possível ocorrer
que combinações polinomiais de fi cujos termos dominantes não estão no ideal gerado pelos LT(fi ). Uma
forma disto ocorrer é se os termos dominantes em uma combinação adequada axαfi – bxβfj se cancelam,
deixando apenas os termos menores. Por outro lado, axαfi – bxβfj ∈I, então seu termo dominante está em
⟨LT(I)⟩. Para estudar este fenômeno de cancelamento, introduzem-se as seguintes combinações especiais.
Definição 7: Sejam f, g ∈ k[x1, ..., xn] polinômios não nulos.
(i) Se multideg(f )=α e multideg(g) =β, então seja γ =(γ1, ...,γn), onde γi =max( αi, ...,βj), para cada i.
Chamaremos xγ de mínimo múltiplo comum de LM(f ) e LM(g ), e escrevemos xγ = LCM((f ), LM(g)).
(i) O polinômio de f e g é a combinação: S(f, g)=(xγ f )/ LT(f ) – (xγ g)/ LT(g ).
133
5
3 2
2 3
4
2
Para exemplificar, considere f =x y – x y +x e g =3x y + y em k[x, y ,z], com a ordem grlex. Então,
γ =max(3, 4 ; 2, 1) → γ =(4 , 2) → xγ =x4y2 e
S(f, g)=( x4y2)( x3y2 – x2y3 +x) /( x3y2) – ( x4y2)( 3x4y + y2) /( 3x4y). Simplificando, tem-se:
S(f, g) =- x3y3 + x2 - ⅓ y3.
Um S-polinômio S(f, g) é “designado” para produzir cancelamento de termos dominantes. Na
verdade, o lema seguinte mostra que todo cancelamento de termos dominantes entre polinômios de
mesmo multigrau resulta deste tipo de cancelamento.
n
Lema 1: Suponha que temos a soma ∑(ci fi ) i=1,s, onde ci ∈ k e multideg(fi ) = δ ∈ ℜ ≥0, para todo
i. Se multideg (∑(ci fi ) i=1,s) < δ, então ∑(ci fi ) i=1,s é uma combinação linear, com coeficientes em k, dos
S-polinômios S(f, g), para 1≤ j, k≤ s . Além disso, cada S(fi, fk) tem multigrau < δ. Quando f1,..., fs satisfaz
as hipóteses deste lema, chega-se a uma equação da forma: ∑(cifi )i=1,s = ∑ [cjk S(fi, fk) ]j,k=1,s.
Considere o local onde o cancelamento ocorre. Na soma da esquerda, cada ci fi tem multigrau δ,
então o cancelamento ocorre apenas depois de somá-los. No entanto, na soma da direita, cada cjk S(fj, fk)
tem multigrau < δ, e aí o cancelamento já ocorreu. Intuitivamente, isto significa que todo cancelamento
pode ser explicado pelos S-polinômios. Usando S-polinômios e o Lema 1, pode-se provar o seguinte
critério de Buchberger para verificar quando uma base de um ideal é base de Groebner.
Teorema 4: (critério S-par de Buchberger) Seja I um ideal polinomial. Então a base G={g1,
...,gt} para I é uma base de Groebner para I, se, e somente se, para todos os pares i≠ j, o resto da divisão
de S(gi, gj) por G (listada nesta ordem) for zero.
Este teorema é um dos resultados chave sobre as bases de Groebner. Foi visto que as bases de
Groebner têm muitas propriedades boas, porém, até agora, tem sido difícil determinar se uma base de um
ideal é base de Groebner (os exemplos anteriores foram triviais). Usando o critério S-par, no entanto, é
fácil mostrar se uma dada base é base de Groebner.
Para exemplificar como usar o teorema anterior, considere o ideal I=⟨y – x2, z - x3⟩ da curva
3
tridimensional em ℜ . Afirma-se que G={y – x2, z - x3} é uma base de Groebner para a ordem lex com y
> z > x. Para provar isto, considere o S-polinômio: S(y – x2, z – x3) = yz( y – x2)/y – yz( z – x3)/z ⇒
S(y – x2, z - x3) = -z x2 +y x3. Usando o algoritmo da divisão e dividindo S(y – x2, z - x3) por f =y – x2,
tem-se a1= x3 e o resto r = -z x2 + x5, e como LT(resto) divide g= z - x3, tem-se a2=- x2 e o resto é zero.
Assim, S(f, g) = -z x2 +y x3 pode ser reescrito como: -z x2 +y x3 = x3 (y – x2) + (-x2) (z - x3)+ 0. Logo,
G
S ( y − x 2 , z − x3 ) = 0 . Desta forma, pelo Teorema 4, G é uma base de Groebner para I. Observe que para a
ordem lex com x > y > z, G não é base de Groebner.
3. Aplicação da Base de Groebner a um Manipulador 3R
Neste trabalho, serão considerados os manipuladores com três juntas rotacionais com eixos
ortogonais, ou seja, α2 = -90º e α3 = 90º, e sem defasagem sobre o último eixo (r3 = 0). O estudo deste tipo
de manipulador se baseia na topologia das superfícies de singularidades do espaço de trabalho e é feito
em função dos parâmetros de Denavit-Hartenberg (DH) restantes, d2, d3, d4 e r2. As três variáveis de junta
consideradas são: θ1, θ2 e θ3. A Fig. 3 representa a arquitetura cinemática de um manipulador da família
estudada na configuração zero. Para a obtenção das superfícies de singularidades que separam o espaço
dos parâmetros destes manipuladores, deseja-se normalizar e reduzir o número dos parâmetros, assim,
sem perda de generalidade, será adotado d2 = 1. Portanto, os parâmetros a serem considerados no restante
desta etapa do trabalho serão apenas d3, d4 e r2. Deste modo, cada superfície de separação é dada como
uma expressão explícita dos parâmetros de Denavit-Hartenberg.
x = ⎡⎣1 + ( d3 + d 4 c3 ) c2 ⎤⎦ c1 − ( r2 + d 4 s3 ) s1
y = ⎡⎣1 + ( d3 + d 4 c3 ) c2 ⎤⎦ s1 + ( r2 + d 4 s3 ) c1
z = − ( d3 + d 4 c3 ) s2
(1)
Figura 3. Manipulador Ortogonal 3R
A existência de pelo menos um ponto de singularidade no espaço de trabalho com exatamente três
134
6
soluções no MGI coincidentes é difícil de ser mostrada diretamente do MGD. A idéia é eliminar as
variáveis de junta, θ1 e θ2, do sistema, a fim de obter uma condição sobre a última variável, θ3. Para isto,
serão adicionadas as relações algébricas ci2+ si2 =1, i=1, 2, 3, às Eqs. (1) do MGD, resultando num
sistema algébrico de 6 equações:
f1 =x – [1+(d3 +d4 c3 ) c2 ]c1 + (r2 + d4 s3) s1 ; f2 =y – [1+(d3 +d4 c3 ) c2 ]s1 – (r2 + d4 s3) c1 ;
f3 =z + (d3 +d4 c3 ) s2; f4=c12+ s12 – 1; f5=c22+ s22 – 1; f6=c32+ s32 – 1
(2)
Para resolver estas equações, calcula-se uma base de Groebner. Assim, para eliminar θ1 e θ2
calcula-se esta base para o ideal gerado pelos polinômios f1, f2, f3 f4, f5 e f6. Neste trabalho, esta base foi
calculada utilizando o comando gbasis do Maple9:
G := gbasis([f1,f2,f3,f4,f5,f6],lexdeg([c1,s1,c2,s2],[c3,s3,r2,d3,d4,x,y,z]));
Assim, a Base de Groebner reduzida para um manipulador 3R é composta pelos polinômios:
p1(θ3) = c32+ s32 – 1 e p2(θ3) = m5c32 + m4s32 + m3c3s3 + m2c3 + m1s3 + m0
m0 = – x2 – y2 + r22 + (R + 1– L)2/ 4; m1 = 2 r2d4 + (L – R–1)r2d4; m2 = (L – R–1)d3d4;
m3 = 2 r2 d3 d42 ; m4= d42 (r22 + 1); m5= d42d32; R = x2 + y2 + z2; L = d42 + d32 + r22;
(3)
Considerando a mudança de variáveis em t=tg(θ3/2); as relações cos(θ3)=(1– t2)/(1 + t2) e
sen(θ3)= 2t/(1 + t2) e substituindo nas equações acima, o polinômio p2(θ3) torna-se:
p2 (t ) =
m5 (1 − 2t 2 + t 4 )
(1 + t )
2 2
+
( m − m t ) 2t + ( m − m t ) + 2m t + m
+
(1 + t ) (1 + t )
)
(1 + t )
4m4t 2
(1 + t
2
3
2 2
3
2 2
2
2
2
2
1
2
0
(4)
Simplificando e igualando a zero, tem-se:
p (t)=(m5 – m2 + m0)t4 + (– 2m3 + 2m1)t3 + (– 2m5 +4m4 + 2m0)t2 + (2m3 + 2m1)t + (m5 + m2 + m0)=0
(5)
fazendo, a=(m5 – m2 + m0); b=(– 2m3 + 2m1); c=(– 2m5 +4m4 + 2m0); d=(2m3 + 2m1); e=(m5 + m2 + m0)
obtém-se o polinômio:
P(t)=at4 + bt3 + ct2 + dt + e
(6)
Um manipulador é cuspidal ou não se o polinômio P(t) de grau 4 com coeficientes em função de x,
y, z, d4, d3 e r2 admitir raiz real tripla. Isto equivale a resolver o seguinte sistema:
P(t, Z, R, d4, d3, r2)=0; ∂P(t, Z, R, d4, d3, r2)/∂t =0; ∂2P(t, Z, R, d4, d3, r2)/∂t2 =0.
(7)
No sistema polinomial acima, as variáveis do problema são t, R e Z, enquanto os parâmetros
estritamente positivos do problema são d3, d4 e r2 (o anulamento de um destes parâmetros resulta em um
manipulador não cuspidal). Para escrever uma condição dependendo apenas dos parâmetros DH, é
necessário eliminar as variáveis t, R e Z do sistema (7). Esta eliminação pode ser feita utilizando as
ferramentas algébricas desenvolvidas em Buchberger (1982). Tais ferramentas estão disponíveis em
qualquer software de cálculo simbólico. A resolução do sistema S consiste em dividir o primeiro
quadrante do espaço dos parâmetros (d3, d4 e r2) em várias regiões onde o número de soluções do
problema seja constante. Em cada região, obtém-se o número de soluções do problema e um conjunto de
parâmetros do manipulador representando a região em questão (Corvez, 2002). Sob as hipóteses Z =z2 >0,
R-Z > 0 e, sendo R = x2 +y2 +z2, é possível a eliminação das variáveis t, Z e R. Após várias mudanças de
variáveis e usando as bases de Groebner obtém-se um sistema triangular. O estudo e análise deste novo
sistema, permite escrever os 5 polinômios abaixo:
g1 : r22 +d32 – d42=0;
g2 : d42 [ (1+ r22 +d32)2 – 4d42] (r22 +d32 – d42) –r22d32 =0;
g3 : r22 d4 – d3 + d4 =0; g4 : (d3 – 1)2 (d32 – d42) + r22d32 =0;
g5 : (d3 + 1)2 (d32 – d42) + r22d32 =0;
(8)
135
7
3.2. Uma superfície de separação para o manipulador 3R
A superfície separando os manipuladores binários dos quaternários deve necessariamente estar
entre as superfícies pelas Eqs. (8). Observa-se que a equação de g2 é de grau 2 em d42 e que sua resolução
em d4 permite escrever a equação de separação:
⎛
1⎜ 2 2
C1 : d 4 >
d3 + r2 −
2⎜
⎝
(d
+ r22 ) − d32 + r22
⎞
⎟
2
2
( d3 + 1) + r22 . ( d3 − 1) + r22 ⎟⎠
2
3
2
(9)
Figura 4. Seção plana da superfície C1
A Eq. (9) representa a separação entre os manipuladores binários e os manipuladores quaternários,
a Fig. 4 mostra a seção plana desta superfície considerando r2=1,0. Observe que esta equação não
depende de r3. Isto prova que caso r3 ≠ 0 esta condição permanece apropriada.
Um manipulador pertencente ao domínio 1, representado pela Fig. 5 (a), caracteriza o primeiro tipo
de manipulador. Ele é um manipulador binário, não tem pontos de cúspide e contem uma cavidade
toroidal em seu espaço de trabalho. A Fig. 5 (b) corresponde a um manipulador do domínio 2, quaternário
e cuspidal. Em seu espaço de trabalho, o manipulador tem 4 pontos de cúspide, uma cavidade toroidal,
duas regiões com 4 soluções e uma região com 2 soluções no MGI.
Figura 5. a) Manipulador do tipo 1 (binário);
b) Manipulador do tipo 2 (quaternário)
4. Conclusões
Neste trabalho, usando base de Groebner, obteve-se a equação das superfície que dividem o espaço
de trabalho em duas regiões, separando os manipuladores do domínio 1 (binário, não tem pontos de
cúspide e contem uma cavidade toroidal) e domínio 2 (quaternário e cuspidal).
5. Agradecimento
Os autores agradecem a Fundação de Amparo a Pesquisa do Estado de Minas Gerais (FAPEMIG)
pelo suporte financeiro a esta pesquisa.
6. Bibliografia
Buchberger, B., Collins G. E., Loog R.,, 1982, “Computer Algebra: Symbolic & Algebraic Computation”,
Springer-Verlag, Wien, pp. 115-138.
Cox D., Little J., O’Shea D., 1996 “Ideals, Varieties and Algorithms- An Introduction to Computational
Algebraic Geometry and Commutative Algebra”, 2a. ed., Springer-Verlag, New York.
Corvez, S., Rouillier, F., 2002, “Using computer algebra tools to classify serial manipulators”, Proceeding
Fourth International Workshop on Automated Deduction in Geometry, Lins.
Wenger, P., El Omri, J. 1996, “Changing posture for cuspidal robot manipulators”, IEEE, pp. 3173-3178.
136
Download