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